pax_global_header00006660000000000000000000000064143606251210014512gustar00rootroot0000000000000052 comment=ad459eabd7694bd57a7cf117d1b68b8908a17d42 BRiAl-1.2.12/000077500000000000000000000000001436062512100125265ustar00rootroot00000000000000BRiAl-1.2.12/.gitignore000066400000000000000000000005071436062512100145200ustar00rootroot00000000000000.* *~ !/.gitignore *.o *.lo *.la *.pyc config.h config.h.in Makefile Makefile.in autoconf.h* test-driver /aclocal.m4 /ar-lib /autom4te.cache/ /config.* /configure /depcomp /html /install-sh /libtool /ltmain.sh /m4/lt*.m4 /m4/libtool.m4 /missing stamp-* /compile /py-compile test-suite.log unittests unittests.log unittests.trs BRiAl-1.2.12/.travis.yml000066400000000000000000000037351436062512100146470ustar00rootroot00000000000000language: cpp sudo: required dist: jammy #compiler: #- gcc #- clang addons_shortcuts: addons_gcc11: &gcc11 apt: sources: ['ubuntu-toolchain-r-test'] packages: [ 'g++-11', 'autoconf-archive', 'libgmp-dev' ] install: - export CXX="$COMPILER" - $CXX --version - autoconf --version - wget https://github.com/malb/m4ri/archive/release-20200125.tar.gz - tar -xzf release-20200125.tar.gz - pushd m4ri-release-20200125/ && autoreconf --install && ./configure --disable-openmp && make && sudo make install && popd - export BOOST_VERSION=${BOOST_MAJOR_VERSION}.${BOOST_MINOR_VERSION}.${BOOST_MAINTENANCE_VERSION} - export BOOST_DIR=boost_${BOOST_MAJOR_VERSION}_${BOOST_MINOR_VERSION}_${BOOST_MAINTENANCE_VERSION} - wget -O ${BOOST_DIR}.tar.bz2 https://sourceforge.net/projects/boost/files/boost/${BOOST_VERSION}/${BOOST_DIR}.tar.bz2/download - tar -xjf ${BOOST_DIR}.tar.bz2 - pushd ${BOOST_DIR} && ./bootstrap.sh && sudo ./b2 --with-test --prefix=/usr/local install > /dev/null 2>&1 && popd - export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib - export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:/usr/local/lib script: - autoreconf --install - ./configure - make - make check matrix: include: - os: linux compiler: "gcc-11" env: - COMPILER=g++-11 - BOOST_MAJOR_VERSION=1 - BOOST_MINOR_VERSION=80 - BOOST_MAINTENANCE_VERSION=0 addons: *gcc11 - os: osx osx_image: xcode11.3 env: - COMPILER=clang++ - BOOST_MAJOR_VERSION=1 - BOOST_MINOR_VERSION=80 - BOOST_MAINTENANCE_VERSION=0 - os: linux compiler: "gcc-11" env: - COMPILER=g++-11 - BOOST_MAJOR_VERSION=1 - BOOST_MINOR_VERSION=81 - BOOST_MAINTENANCE_VERSION=0 addons: *gcc11 - os: osx osx_image: xcode11.3 env: - COMPILER=clang++ - BOOST_MAJOR_VERSION=1 - BOOST_MINOR_VERSION=81 - BOOST_MAINTENANCE_VERSION=0 BRiAl-1.2.12/LICENSE000066400000000000000000000433361436062512100135440ustar00rootroot00000000000000BRiAL is released under the terms of the GNU General Public License (GPL), version 2 or later. GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. {description} Copyright (C) {year} {fullname} This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. Also add information on how to contact you by electronic and paper mail. If the program is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. {signature of Ty Coon}, 1 April 1989 Ty Coon, President of Vice This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. BRiAl-1.2.12/Makefile.am000066400000000000000000000006741436062512100145710ustar00rootroot00000000000000ACLOCAL_AMFLAGS = -I m4 SUBDIRS = cudd libbrial . groebner tests lib_LTLIBRARIES = libbrial.la libbrial_la_SOURCES = libbrial_la_LIBADD = \ cudd/libcudd.la \ libbrial/src/libbrial_base.la libbrial_la_LDFLAGS = -no-undefined $(AM_LDFLAGS) -version-info @LT_CURRENT@:@LT_REVISION@:@LT_AGE@ EXTRA_DIST = \ cudd/LICENSE \ LICENSE \ README \ sage-brial # Dummy C++ source to cause C++ linking. nodist_EXTRA_libbrial_la_SOURCES = dummy.cc BRiAl-1.2.12/README000077700000000000000000000000001436062512100146602README.mdustar00rootroot00000000000000BRiAl-1.2.12/README.md000066400000000000000000000010721436062512100140050ustar00rootroot00000000000000[![Build Status](https://travis-ci.com/BRiAl/BRiAl.svg?branch=master)](https://travis-ci.com/BRiAl/BRiAl) BRiAl is the legacy version of PolyBoRi maintained by sagemath developers. libBRiAl is the C/C++ library part of BRiAl. The building requisite for libBRiAl are * A modern C compiler supporting the C99 standard * A modern C++ compiler supporting C++11 * A recent Boost release (1.58.0 or over) * The m4ri library Also included but to be installed separately is sage-brial. sage-brial offers a python interface to libbrial through the sage bindings to libbrial. BRiAl-1.2.12/bootstrap.sh000077500000000000000000000001431436062512100151000ustar00rootroot00000000000000#!/usr/bin/env bash set -e aclocal -I m4 libtoolize autoreconf --install automake --add-missing BRiAl-1.2.12/common.mk000066400000000000000000000002751436062512100143530ustar00rootroot00000000000000AM_CPPFLAGS = \ -I$(top_srcdir)/groebner/include \ -I$(top_builddir)/libbrial/include \ -I$(top_srcdir)/libbrial/include AM_CXXFLAGS = -ftemplate-depth-100 AM_DEFAULT_SOURCE_EXT = .cc BRiAl-1.2.12/configure.ac000066400000000000000000000056521436062512100150240ustar00rootroot00000000000000AC_INIT([BRiAl],[1.2.12]) AC_CONFIG_MACRO_DIRS([m4]) AM_INIT_AUTOMAKE([foreign -Wall -Werror tar-ustar]) AM_PROG_AR LT_INIT LT_CURRENT=3 LT_REVISION=7 LT_AGE=0 AC_SUBST(LT_CURRENT) AC_SUBST(LT_REVISION) AC_SUBST(LT_AGE) AC_PROG_CC AC_PROG_CXX AC_PROG_INSTALL LT_INIT dnl C++11 is now the default AX_CXX_COMPILE_STDCXX(11,,mandatory) AC_LANG([C++]) AC_CHECK_TYPE([long long], [AC_DEFINE([PBORI_HAVE_LONG_LONG],[],[has long long])]) AC_CHECK_SIZEOF(void *) AC_CHECK_SIZEOF(int) AC_CHECK_SIZEOF(long) dnl Check that boost is available AX_BOOST_BASE([1.58.0],[], [AC_MSG_ERROR("No suitable version of boost was found (1.58.0 or higher)")]) dnl Check that the boost unit test framework is present for running the testsuite AX_BOOST_UNIT_TEST_FRAMEWORK PKG_CHECK_MODULES([M4RI], m4ri, [AC_DEFINE([PBORI_HAVE_M4RI],[],[has m4ri])]) AC_EGREP_CPP([pbori_have_m4ri_png], [#include #if defined(__M4RI_HAVE_LIBPNG) #if __M4RI_HAVE_LIBPNG pbori_have_m4ri_png #endif #endif ], [m4ri_png="yes"], [m4ri_png="no"]) dnl Find out M4RI SIMMD flags AX_M4RI_CFLAGS() SIMMD_CFLAGS=$ax_cv_m4ri_cflags AC_SUBST(SIMMD_CFLAGS) if test "x$m4ri_png" = "xyes"; then PKG_CHECK_MODULES([PNG], [libpng], [have_libpng="yes"; LIBPNG_LIBADD="$PNG_LIBS"], [AC_CHECK_LIB([png], [png_create_write_struct], [have_libpng="yes"; LIBPNG_LIBADD="-lpng"], [AC_CHECK_LIB([png14], [png_create_write_struct], [have_libpng="yes"; LIBPNG_LIBADD="-lpng14"], [AC_CHECK_LIB([png12], [png_create_write_struct], [have_libpng="yes"; LIBPNG_LIBADD="-lpng12"], [AC_CHECK_LIB([png10], [png_create_write_struct], [have_libpng="yes"; LIBPNG_LIBADD="-lpng10"], [have_libpng="no"]) ]) ]) ]) ]) fi if test "x$have_libpng" = "xyes"; then AC_SUBST(LIBPNG_LIBADD) AC_DEFINE([PBORI_HAVE_M4RI_PNG],[],[has m4ri png support]) else LIBPNG_LIBADD="" PKG_CHECK_MODULES([GD], [gdlib], [AC_CHECK_LIB([gd], [gdImagePng], [have_gd="yes"], [have_gd="no"]) ],[have_gd="no"]) if test "x$have_gd" = "xyes" ; then AC_SUBST(GD_LIBS) AC_DEFINE([PBORI_HAVE_GD],[],[has gd png support]) fi fi AC_CONFIG_HEADERS([config_dummy.h libbrial/include/polybori/config.h]) AC_CONFIG_FILES([ Makefile cudd/Makefile groebner/Makefile groebner/include/Makefile groebner/src/Makefile libbrial/Makefile libbrial/include/Makefile libbrial/src/Makefile tests/Makefile ]) AC_OUTPUT BRiAl-1.2.12/cudd/000077500000000000000000000000001436062512100134455ustar00rootroot00000000000000BRiAl-1.2.12/cudd/LICENSE000066400000000000000000000027461436062512100144630ustar00rootroot00000000000000Copyright (c) 1995-2004, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. BRiAl-1.2.12/cudd/Makefile.am000066400000000000000000000005111436062512100154760ustar00rootroot00000000000000include $(top_srcdir)/common.mk noinst_LTLIBRARIES = libcudd.la libcudd_la_SOURCES = \ cuddAPI.c \ cuddCache.c \ cuddInit.c \ cuddLCache.c \ cuddRef.c \ cuddTable.c \ cuddZddFuncs.c \ cuddZddSetop.c cuddincludedir = $(includedir)/polybori/cudd cuddinclude_HEADERS = \ cudd.h \ cuddInt.h noinst_HEADERS = \ util.h BRiAl-1.2.12/cudd/README000066400000000000000000000142341436062512100143310ustar00rootroot00000000000000$Id$ This directory contains a set of packages that allow you to build a toy application based on the CUDD package. The CUDD package is a package written in C for the manipulation of decision diagrams. It supports binary decision diagrams (BDDs), algebraic decision diagrams (ADDs), and Zero-Suppressed BDDs (ZDDs). The toy application provided in this kit is called nanotrav and is a simple-minded FSM traversal program. (See the README file and the man page nanotrav.1 in the nanotrav directory for the details.) It is included so that you can run a sanity check on your installation. INSTALLATION Before you build the libraries and programs, you need to check the Makefile in the top directory. Go through the definitions contained in the configuration section, and select the desired compiler and compilation flags. Instructions are provided in the comments of the Makefile. You can always specify the options on the command line. For instance, on some machines you can build a "fast" version of the program by typing: make DDDEBUG= MTRDEBUG= ICFLAGS=-O2 The Makefile supports several targets: make: Creates a "plain" version of the program. make testdddmp: Builds a test program (testdddmp) for BDD loading from and storing to disk. See file README.test in the dddmp directory for how to run the program. make testobj: Builds a test program for the C++ interface. Requires a C++ compiler. To run the program, run obj/testobj. make testcudd: Builds a test program for CUDD. To run the program, go to the cudd directory and type "./testcudd -p 2 r7x8.1.mat". The result can be compared to r7x7.1.out. make testmtr: Builds a test program for the mtr package. To run the program, go to the mtr directory and type "./testmtr -p 1 test.groups". make clean: Cleans directories, but leaves libraries and programs. make distclean: Cleans thoroughly, returning the directories to their pristine state. The following targets are more or less obsolete and may disappear or change in the future. make check_leaks: Creates a version of the program with the mnemosyne library linked to it. It also builds the mnemalyse program, which helps in finding memory leaks. This target does not work on the IBM RS6000. The makefile also supports purify. To use purify, set the PURE variable in the Makefile, and use the standard target. make optimize_dec: Builds a version of the program using the u-code compiler available on DEC machines (DECstations and Alphas). The newer native compiler on the Alphas does not use u-code, though. Therefore the standard target should be used with it. make lint: Runs lint on all subdirectories except mnemosyne. Creates lint libraries for all object libraries. make tags: Builds ctags-style tag files for all subdirectories except mnemosyne. make all: Makes all of the above, except check_leaks, which is incompatible with a plain "make." All targets, except clean and distclean, will create the include directory if it does not already exist. The Makefile does not compile the SIS interface (cuddBddPort.c and cuddPwPt.c found in subdirectory sis). To compile the interface, you also need array.h and var_set.h, which are not part of this distribution, but come with SIS. Detailed instructions on how to integrate the CUDD package in SIS can be found in the documentation (cudd/doc). PLATFORMS This kit has been successfully built on the following configurations: PC (ia32 and ia64) running Ubuntu with gcc PC (ia32 and ia64) running Ubuntu with g++ PC (ia32 and ia64) running Linux RedHat with gcc PC (ia32 and ia64) running Linux RedHat with g++ PC (ia64) running Cygwin on Windows 7 and Vista with gcc PC (ia64) running Cygwin on Windows 7 and Vista with g++ Platforms to which I have no longer access and therefore are no longer supported. PC (ia32) running Linux RedHat with icc PC (ia32) running Linux RedHat with icpc PC (ia64) running Linux RedHat with ecc PC (ia64) running Linux RedHat with ecpc SUN running Solaris 2.8 with cc SUN running Solaris 2.8 with CC SUN running Solaris 2.8 with gcc SUN running Solaris 2.8 with g++ DECstation running Ultrix with cc DECstation running Ultrix with gcc IBM RS6000 running AIX 3.2.4 with cc (**) IBM RS6000 running AIX 3.2.4 with gcc IBM RS6000 running AIX 3.2.4 with g++ SUN running SunOS with gcc DEC Alpha running Digital Unix with cc DEC Alpha running Digital Unix with cxx DEC Alpha running Digital Unix with gcc HP 9000/770 running HP-UX with c89 HP 9000/770 running HP-UX with CC HP 9000/770 running HP-UX with gcc HP 9000/770 running HP-UX with g++ (*) SUN running Solaris 2.8 with /usr/ucb/cc PC running Solaris 2.8 with /usr/bin/cc PC running Solaris 2.8 with /usr/ucb/cc PC running Solaris 2.8 with CC PC running Solaris 2.8 with gcc PC running Solaris 2.8 with g++ NOTES (*) C programs were compiled with g++, but linked with gcc. (**) Some old versions of the AIX cc compiler have buggy optimizers: Try compiling with -O2 instead of -O3 if the program crashes. Running lint and compiling with gcc -Wall still produces warnings. Running `purify' under Solaris 2.8 generates no messages. SANITY CHECK The directory `nanotrav' contains a very simple application based on the CUDD package. The `nanotrav' directory contains a man page that describes the options nanotrav supports. The files *.blif are sample input files for nanotrav. If you have built the mnemosyne library (make check_leaks), you can do cd mnemosyne make runmtest This does not work on machines running SunOS, but the version of nanotrav that uses mnemosyne may work. DOCUMENTATION Directory cudd-2.5.0/cudd/doc contains HTML documentation for the CUDD package. The recommended starting point is cuddIntro.html. Documentation in both postscript(tm) format and plain text format is also provided. Documentation for the auxiliary libraries (except for the util library) is in the doc subdirectories. FEEDBACK: Send feedback to: Fabio Somenzi University of Colorado at Boulder ECE Dept. Boulder, CO 80309-0425 Fabio@Colorado.EDU http://vlsi.colorado.edu/~fabio BRiAl-1.2.12/cudd/README-BRiAl000066400000000000000000000004001436062512100152460ustar00rootroot00000000000000This directory contains a subset of the Cudd 2.5.0 package with its original license and release notes. This is not the complete sources of this release of Cudd. Cudd's complete sources and documentation can be obtained at http://vlsi.colorado.edu/~fabio BRiAl-1.2.12/cudd/RELEASE.NOTES000066400000000000000000000110641436062512100153410ustar00rootroot00000000000000Release 2.5.0 of Cudd introduces the ability to set timeouts. The function that is interrupted returns NULL (which the application must be prepared to handle,) but the BDDs are uncorrupted and the invoking program can continue to use the manager. In addition, reordering is now aware of timeouts, so that it gives up when a timeout is approaching to give the invoking program a chance to obtain some results. The response time to the timeout is not immediate, though most of the time it is well below one second. Checking for timeouts has a small overhead. In experiments, less than 1% has been observed on average. Creation of BDD managers with many variables (e.g., tens or hundreds of thousands) is now much more efficient. Computing small supports of BDDs when there are many variables is also much more efficient, but this has been at the cost of separating the function for BDDs and ADDs (Cudd_Support) from that for ZDDs (Cudd_zddSupport). The C++ interface has undergone a major upgrade. The handling of variable gruops in reordering has been much improved. (Thanks to Arie Gurfinkel for a very detailed bug report!) A handful of other bugs have been fixed as well. New Functions: unsigned long Cudd_ReadStartTime(DdManager *unique); unsigned long Cudd_ReadElapsedTime(DdManager *unique); void Cudd_SetStartTime(DdManager *unique, unsigned long st); void Cudd_ResetStartTime(DdManager *unique); unsigned long Cudd_ReadTimeLimit(DdManager *unique); void Cudd_SetTimeLimit(DdManager *unique, unsigned long tl); void Cudd_UpdateTimeLimit(DdManager * unique); void Cudd_IncreaseTimeLimit(DdManager * unique, unsigned long increase); void Cudd_UnsetTimeLimit(DdManager *unique); int Cudd_TimeLimited(DdManager *unique); unsigned int Cudd_ReadMaxReorderings (DdManager *dd); void Cudd_SetMaxReorderings (DdManager *dd, unsigned int mr); unsigned int Cudd_ReadOrderRandomization(DdManager * dd); void Cudd_SetOrderRandomization(DdManager * dd, unsigned int factor); int Cudd_PrintGroupedOrder(DdManager * dd, const char *str, void *data); int Cudd_EnableOrderingMonitoring(DdManager *dd); int Cudd_DisableOrderingMonitoring(DdManager *dd); int Cudd_OrderingMonitoring(DdManager *dd); DdNode * Cudd_bddExistAbstractLimit(DdManager * manager, DdNode * f, DdNode * cube, unsigned int limit); DdNode * Cudd_bddIteLimit (DdManager *dd, DdNode *f, DdNode *g, DdNode *h, unsigned int limit); DdNode * Cudd_bddOrLimit (DdManager *dd, DdNode *f, DdNode *g, unsigned int limit); DdNode * Cudd_bddXnorLimit (DdManager *dd, DdNode *f, DdNode *g, unsigned int limit); int Cudd_CheckCube (DdManager *dd, DdNode *g); DdNode * Cudd_bddMaximallyExpand(DdManager *dd, DdNode *lb, DdNode *ub, DdNode *f); DdNode * Cudd_bddLargestPrimeUnate(DdManager *dd , DdNode *f, DdNode *phaseBdd); int Cudd_Reserve(DdManager *manager, int amount); int Cudd_SupportIndices(DdManager * dd, DdNode * f, int **indices); int Cudd_VectorSupportIndices(DdManager * dd, DdNode ** F, int n, int **indices); DdNode * Cudd_zddSupport(DdManager * dd, DdNode * f); Changed prototypes: unsigned int Cudd_ReadReorderings (DdManager *dd); ---------------------------------------------------------------------- Release 2.4.2 of Cudd features several bug fixes. The most important are those that prevented Cudd from making full use of up to 4 GB of memory when using 32-bit pointers. A handful of bugs were discovered by Coverity. (Thanks to Christian Stangier!) This release can be compiled with either 64-bit pointers or 32-bit pointers on x86_64 platforms if sizeof(long) = sizeof(void *) = 8 and sizeof(int) = 4. This is known as the LP64 model. For 32-bit pointers, one usually needs supplementary libraries. On Ubuntu and Debian Linux, one needs g++-multilib, which can be installed with "apt-get install g++-multilib." Added functions DdNode *Cudd_Inequality (DdManager * dd, int N, int c, DdNode ** x, DdNode ** y); DdNode * Cudd_Disequality (DdManager * dd, int N, int c, DdNode ** x, DdNode ** y); DdNode * Cudd_bddInterval (DdManager * dd, int N, DdNode ** x, unsigned int lowerB, unsigned int upperB); Changed prototypes: int Cudd_DumpBlif (DdManager *dd, int n, DdNode **f, char **inames, char **onames, char *mname, FILE *fp, int mv); int Cudd_DumpBlifBody (DdManager *dd, int n, DdNode **f, char **inames, char **onames, FILE *fp, int mv); The additional parameter allows the caller to choose between plain blif and blif-MV. ---------------------------------------------------------------------- Release 2.4.1 of Cudd features one major change with respect to previous releases. The licensing terms are now explicitly stated. BRiAl-1.2.12/cudd/cudd.h000066400000000000000000001666361436062512100145570ustar00rootroot00000000000000/**CHeaderFile***************************************************************** FileName [cudd.h] PackageName [cudd] Synopsis [The University of Colorado decision diagram package.] Description [External functions and data strucures of the CUDD package. Modified by Abelardo Pardo to interface it to VIS. ] SeeAlso [] Author [Fabio Somenzi] Copyright [Copyright (c) 1995-2012, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.] Revision [$Id: cudd.h,v 1.180 2012/02/05 01:07:18 fabio Exp $] ******************************************************************************/ #ifndef _CUDD #define _CUDD /*---------------------------------------------------------------------------*/ /* Nested includes */ /*---------------------------------------------------------------------------*/ #ifdef PBORI_FORCE_ORIGINAL_CUDD #include "mtr.h" #include "epd.h" #ifndef CUDD_ASSERT #define CUDD_ASSERT assert #define PBORI_PREFIX(name) name #endif #else #include #include #ifndef CUDD_ASSERT #if defined(PBORI_NDEBUG) #define CUDD_ASSERT(arg) ((void)(0)) #else #define CUDD_ASSERT(arg) assert(arg) #endif #endif #endif #ifdef __cplusplus #include #else #include #endif #ifdef __cplusplus extern "C" { #endif /*---------------------------------------------------------------------------*/ /* Constant declarations */ /*---------------------------------------------------------------------------*/ #define CUDD_VERSION "2.5.0" #ifndef SIZEOF_VOID_P #define SIZEOF_VOID_P 4 #endif #ifndef SIZEOF_INT #define SIZEOF_INT 4 #endif #ifndef SIZEOF_LONG #define SIZEOF_LONG 4 #endif #define CUDD_TRUE 1 #define CUDD_FALSE 0 #define CUDD_VALUE_TYPE double #define CUDD_OUT_OF_MEM -1 /* The sizes of the subtables and the cache must be powers of two. */ #define CUDD_UNIQUE_SLOTS 256 /* initial size of subtables */ #define CUDD_CACHE_SLOTS 262144 /* default size of the cache */ /* Constants for residue functions. */ #define CUDD_RESIDUE_DEFAULT 0 #define CUDD_RESIDUE_MSB 1 #define CUDD_RESIDUE_TC 2 /* CUDD_MAXINDEX is defined in such a way that on 32-bit and 64-bit ** machines one can cast an index to (int) without generating a negative ** number. */ #if SIZEOF_VOID_P == 8 && SIZEOF_INT == 4 #define CUDD_MAXINDEX (((DdHalfWord) ~0) >> 1) #else #define CUDD_MAXINDEX ((DdHalfWord) ~0) #endif /* CUDD_CONST_INDEX is the index of constant nodes. Currently this ** is a synonim for CUDD_MAXINDEX. */ #define CUDD_CONST_INDEX CUDD_MAXINDEX /* These constants define the digits used in the representation of ** arbitrary precision integers. The configurations tested use 8, 16, ** and 32 bits for each digit. The typedefs should be in agreement ** with these definitions. */ #if SIZEOF_LONG == 8 #define DD_APA_BITS 32 #define DD_APA_BASE (1L << DD_APA_BITS) #define DD_APA_HEXPRINT "%08x" #else #define DD_APA_BITS 16 #define DD_APA_BASE (1 << DD_APA_BITS) #define DD_APA_HEXPRINT "%04x" #endif #define DD_APA_MASK (DD_APA_BASE - 1) /*---------------------------------------------------------------------------*/ /* Stucture declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Type declarations */ /*---------------------------------------------------------------------------*/ /**Enum************************************************************************ Synopsis [Type of reordering algorithm.] Description [Type of reordering algorithm.] ******************************************************************************/ typedef enum { CUDD_REORDER_SAME, CUDD_REORDER_NONE, CUDD_REORDER_RANDOM, CUDD_REORDER_RANDOM_PIVOT, CUDD_REORDER_SIFT, CUDD_REORDER_SIFT_CONVERGE, CUDD_REORDER_SYMM_SIFT, CUDD_REORDER_SYMM_SIFT_CONV, CUDD_REORDER_WINDOW2, CUDD_REORDER_WINDOW3, CUDD_REORDER_WINDOW4, CUDD_REORDER_WINDOW2_CONV, CUDD_REORDER_WINDOW3_CONV, CUDD_REORDER_WINDOW4_CONV, CUDD_REORDER_GROUP_SIFT, CUDD_REORDER_GROUP_SIFT_CONV, CUDD_REORDER_ANNEALING, CUDD_REORDER_GENETIC, CUDD_REORDER_LINEAR, CUDD_REORDER_LINEAR_CONVERGE, CUDD_REORDER_LAZY_SIFT, CUDD_REORDER_EXACT } Cudd_ReorderingType; /**Enum************************************************************************ Synopsis [Type of aggregation methods.] Description [Type of aggregation methods.] ******************************************************************************/ typedef enum { CUDD_NO_CHECK, CUDD_GROUP_CHECK, CUDD_GROUP_CHECK2, CUDD_GROUP_CHECK3, CUDD_GROUP_CHECK4, CUDD_GROUP_CHECK5, CUDD_GROUP_CHECK6, CUDD_GROUP_CHECK7, CUDD_GROUP_CHECK8, CUDD_GROUP_CHECK9 } Cudd_AggregationType; /**Enum************************************************************************ Synopsis [Type of hooks.] Description [Type of hooks.] ******************************************************************************/ typedef enum { CUDD_PRE_GC_HOOK, CUDD_POST_GC_HOOK, CUDD_PRE_REORDERING_HOOK, CUDD_POST_REORDERING_HOOK } Cudd_HookType; /**Enum************************************************************************ Synopsis [Type of error codes.] Description [Type of error codes.] ******************************************************************************/ typedef enum { CUDD_NO_ERROR, CUDD_MEMORY_OUT, CUDD_TOO_MANY_NODES, CUDD_MAX_MEM_EXCEEDED, CUDD_TIMEOUT_EXPIRED, CUDD_INVALID_ARG, CUDD_INTERNAL_ERROR } Cudd_ErrorType; /**Enum************************************************************************ Synopsis [Group type for lazy sifting.] Description [Group type for lazy sifting.] ******************************************************************************/ typedef enum { CUDD_LAZY_NONE, CUDD_LAZY_SOFT_GROUP, CUDD_LAZY_HARD_GROUP, CUDD_LAZY_UNGROUP } Cudd_LazyGroupType; /**Enum************************************************************************ Synopsis [Variable type.] Description [Variable type. Currently used only in lazy sifting.] ******************************************************************************/ typedef enum { CUDD_VAR_PRIMARY_INPUT, CUDD_VAR_PRESENT_STATE, CUDD_VAR_NEXT_STATE } Cudd_VariableType; #if SIZEOF_VOID_P == 8 && SIZEOF_INT == 4 typedef unsigned int DdHalfWord; #else typedef unsigned short DdHalfWord; #endif typedef struct DdNode DdNode; typedef struct DdChildren { struct DdNode *T; struct DdNode *E; } DdChildren; /* The DdNode structure is the only one exported out of the package */ struct DdNode { DdHalfWord index; DdHalfWord ref; /* reference count */ DdNode *next; /* next pointer for unique table */ union { CUDD_VALUE_TYPE value; /* for constant nodes */ DdChildren kids; /* for internal nodes */ } type; }; typedef struct PBORI_PREFIX(DdManager) PBORI_PREFIX(DdManager); typedef struct DdGen DdGen; /* These typedefs for arbitrary precision arithmetic should agree with ** the corresponding constant definitions above. */ #if SIZEOF_LONG == 8 typedef unsigned int DdApaDigit; typedef unsigned long int DdApaDoubleDigit; #else typedef unsigned short int DdApaDigit; typedef unsigned int DdApaDoubleDigit; #endif typedef DdApaDigit * DdApaNumber; /* Return type for function computing two-literal clauses. */ typedef struct DdTlcInfo DdTlcInfo; /* Type of hook function. */ typedef int (*DD_HFP)(PBORI_PREFIX(DdManager) *, const char *, void *); /* Type of priority function */ typedef DdNode * (*DD_PRFP)(PBORI_PREFIX(DdManager) * , int, DdNode **, DdNode **, DdNode **); /* Type of apply operator. */ typedef DdNode * (*DD_AOP)(PBORI_PREFIX(DdManager) *, DdNode **, DdNode **); /* Type of monadic apply operator. */ typedef DdNode * (*DD_MAOP)(PBORI_PREFIX(DdManager) *, DdNode *); /* Types of cache tag functions. */ typedef DdNode * (*DD_CTFP)(PBORI_PREFIX(DdManager) *, DdNode *, DdNode *); typedef DdNode * (*DD_CTFP1)(PBORI_PREFIX(DdManager) *, DdNode *); /* Type of memory-out function. */ typedef void (*DD_OOMFP)(long); /* Type of comparison function for qsort. */ typedef int (*DD_QSFP)(const void *, const void *); /*---------------------------------------------------------------------------*/ /* Variable declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Macro declarations */ /*---------------------------------------------------------------------------*/ /**Macro*********************************************************************** Synopsis [Returns 1 if the node is a constant node.] Description [Returns 1 if the node is a constant node (rather than an internal node). All constant nodes have the same index (CUDD_CONST_INDEX). The pointer passed to Cudd_IsConstant may be either regular or complemented.] SideEffects [none] SeeAlso [] ******************************************************************************/ #define Cudd_IsConstant(node) ((Cudd_Regular(node))->index == CUDD_CONST_INDEX) /**Macro*********************************************************************** Synopsis [Complements a DD.] Description [Complements a DD by flipping the complement attribute of the pointer (the least significant bit).] SideEffects [none] SeeAlso [Cudd_NotCond] ******************************************************************************/ #define Cudd_Not(node) ((DdNode *)((long)(node) ^ 01)) /**Macro*********************************************************************** Synopsis [Complements a DD if a condition is true.] Description [Complements a DD if condition c is true; c should be either 0 or 1, because it is used directly (for efficiency). If in doubt on the values c may take, use "(c) ? Cudd_Not(node) : node".] SideEffects [none] SeeAlso [Cudd_Not] ******************************************************************************/ #define Cudd_NotCond(node,c) ((DdNode *)((long)(node) ^ (c))) /**Macro*********************************************************************** Synopsis [Returns the regular version of a pointer.] Description [] SideEffects [none] SeeAlso [Cudd_Complement Cudd_IsComplement] ******************************************************************************/ #define Cudd_Regular(node) ((DdNode *)((unsigned long)(node) & ~01)) /**Macro*********************************************************************** Synopsis [Returns the complemented version of a pointer.] Description [] SideEffects [none] SeeAlso [Cudd_Regular Cudd_IsComplement] ******************************************************************************/ #define Cudd_Complement(node) ((DdNode *)((unsigned long)(node) | 01)) /**Macro*********************************************************************** Synopsis [Returns 1 if a pointer is complemented.] Description [] SideEffects [none] SeeAlso [Cudd_Regular Cudd_Complement] ******************************************************************************/ #define Cudd_IsComplement(node) ((int) ((long) (node) & 01)) /**Macro*********************************************************************** Synopsis [Returns the then child of an internal node.] Description [Returns the then child of an internal node. If node is a constant node, the result is unpredictable.] SideEffects [none] SeeAlso [Cudd_E Cudd_V] ******************************************************************************/ #define Cudd_T(node) ((Cudd_Regular(node))->type.kids.T) /**Macro*********************************************************************** Synopsis [Returns the else child of an internal node.] Description [Returns the else child of an internal node. If node is a constant node, the result is unpredictable.] SideEffects [none] SeeAlso [Cudd_T Cudd_V] ******************************************************************************/ #define Cudd_E(node) ((Cudd_Regular(node))->type.kids.E) /**Macro*********************************************************************** Synopsis [Returns the value of a constant node.] Description [Returns the value of a constant node. If node is an internal node, the result is unpredictable.] SideEffects [none] SeeAlso [Cudd_T Cudd_E] ******************************************************************************/ #define Cudd_V(node) ((Cudd_Regular(node))->type.value) /**Macro*********************************************************************** Synopsis [Returns the current position in the order of variable index.] Description [Returns the current position in the order of variable index. This macro is obsolete and is kept for compatibility. New applications should use Cudd_ReadPerm instead.] SideEffects [none] SeeAlso [Cudd_ReadPerm] ******************************************************************************/ #define Cudd_ReadIndex(dd,index) (Cudd_ReadPerm(dd,index)) /**Macro*********************************************************************** Synopsis [Iterates over the cubes of a decision diagram.] Description [Iterates over the cubes of a decision diagram f.
  • PBORI_PREFIX(DdManager) *manager;
  • DdNode *f;
  • DdGen *gen;
  • int *cube;
  • CUDD_VALUE_TYPE value;
Cudd_ForeachCube allocates and frees the generator. Therefore the application should not try to do that. Also, the cube is freed at the end of Cudd_ForeachCube and hence is not available outside of the loop.

CAUTION: It is assumed that dynamic reordering will not occur while there are open generators. It is the user's responsibility to make sure that dynamic reordering does not occur. As long as new nodes are not created during generation, and dynamic reordering is not called explicitly, dynamic reordering will not occur. Alternatively, it is sufficient to disable dynamic reordering. It is a mistake to dispose of a diagram on which generation is ongoing.] SideEffects [none] SeeAlso [Cudd_ForeachNode Cudd_FirstCube Cudd_NextCube Cudd_GenFree Cudd_IsGenEmpty Cudd_AutodynDisable] ******************************************************************************/ #define Cudd_ForeachCube(manager, f, gen, cube, value)\ for((gen) = Cudd_FirstCube(manager, f, &cube, &value);\ Cudd_IsGenEmpty(gen) ? Cudd_GenFree(gen) : CUDD_TRUE;\ (void) Cudd_NextCube(gen, &cube, &value)) /**Macro*********************************************************************** Synopsis [Iterates over the primes of a Boolean function.] Description [Iterates over the primes of a Boolean function producing a prime and irredundant cover.

  • PBORI_PREFIX(DdManager) *manager;
  • DdNode *l;
  • DdNode *u;
  • DdGen *gen;
  • int *cube;
The Boolean function is described by an upper bound and a lower bound. If the function is completely specified, the two bounds coincide. Cudd_ForeachPrime allocates and frees the generator. Therefore the application should not try to do that. Also, the cube is freed at the end of Cudd_ForeachPrime and hence is not available outside of the loop.

CAUTION: It is a mistake to change a diagram on which generation is ongoing.] SideEffects [none] SeeAlso [Cudd_ForeachCube Cudd_FirstPrime Cudd_NextPrime Cudd_GenFree Cudd_IsGenEmpty] ******************************************************************************/ #define Cudd_ForeachPrime(manager, l, u, gen, cube)\ for((gen) = Cudd_FirstPrime(manager, l, u, &cube);\ Cudd_IsGenEmpty(gen) ? Cudd_GenFree(gen) : CUDD_TRUE;\ (void) Cudd_NextPrime(gen, &cube)) /**Macro*********************************************************************** Synopsis [Iterates over the nodes of a decision diagram.] Description [Iterates over the nodes of a decision diagram f.

  • PBORI_PREFIX(DdManager) *manager;
  • DdNode *f;
  • DdGen *gen;
  • DdNode *node;
The nodes are returned in a seemingly random order. Cudd_ForeachNode allocates and frees the generator. Therefore the application should not try to do that.

CAUTION: It is assumed that dynamic reordering will not occur while there are open generators. It is the user's responsibility to make sure that dynamic reordering does not occur. As long as new nodes are not created during generation, and dynamic reordering is not called explicitly, dynamic reordering will not occur. Alternatively, it is sufficient to disable dynamic reordering. It is a mistake to dispose of a diagram on which generation is ongoing.] SideEffects [none] SeeAlso [Cudd_ForeachCube Cudd_FirstNode Cudd_NextNode Cudd_GenFree Cudd_IsGenEmpty Cudd_AutodynDisable] ******************************************************************************/ #define Cudd_ForeachNode(manager, f, gen, node)\ for((gen) = Cudd_FirstNode(manager, f, &node);\ Cudd_IsGenEmpty(gen) ? Cudd_GenFree(gen) : CUDD_TRUE;\ (void) Cudd_NextNode(gen, &node)) /**Macro*********************************************************************** Synopsis [Iterates over the paths of a ZDD.] Description [Iterates over the paths of a ZDD f.

  • PBORI_PREFIX(DdManager) *manager;
  • DdNode *f;
  • DdGen *gen;
  • int *path;
Cudd_zddForeachPath allocates and frees the generator. Therefore the application should not try to do that. Also, the path is freed at the end of Cudd_zddForeachPath and hence is not available outside of the loop.

CAUTION: It is assumed that dynamic reordering will not occur while there are open generators. It is the user's responsibility to make sure that dynamic reordering does not occur. As long as new nodes are not created during generation, and dynamic reordering is not called explicitly, dynamic reordering will not occur. Alternatively, it is sufficient to disable dynamic reordering. It is a mistake to dispose of a diagram on which generation is ongoing.] SideEffects [none] SeeAlso [Cudd_zddFirstPath Cudd_zddNextPath Cudd_GenFree Cudd_IsGenEmpty Cudd_AutodynDisable] ******************************************************************************/ #define Cudd_zddForeachPath(manager, f, gen, path)\ for((gen) = Cudd_zddFirstPath(manager, f, &path);\ Cudd_IsGenEmpty(gen) ? Cudd_GenFree(gen) : CUDD_TRUE;\ (void) Cudd_zddNextPath(gen, &path)) /**AutomaticStart*************************************************************/ /*---------------------------------------------------------------------------*/ /* Function prototypes */ /*---------------------------------------------------------------------------*/ #ifndef PBORI_FORCE_ORIGINAL_CUDD extern DdNode * Cudd_addNewVar (PBORI_PREFIX(DdManager) *dd); extern DdNode * Cudd_addNewVarAtLevel (PBORI_PREFIX(DdManager) *dd, int level); extern DdNode * Cudd_bddNewVar (PBORI_PREFIX(DdManager) *dd); extern DdNode * Cudd_bddNewVarAtLevel (PBORI_PREFIX(DdManager) *dd, int level); extern DdNode * Cudd_addIthVar (PBORI_PREFIX(DdManager) *dd, int i); extern DdNode * Cudd_bddIthVar (PBORI_PREFIX(DdManager) *dd, int i); extern DdNode * PBORI_PREFIX(Cudd_zddIthVar) (PBORI_PREFIX(DdManager) *dd, int i); extern int Cudd_zddVarsFromBddVars (PBORI_PREFIX(DdManager) *dd, int multiplicity); extern DdNode * Cudd_addConst (PBORI_PREFIX(DdManager) *dd, CUDD_VALUE_TYPE c); extern int Cudd_IsNonConstant (DdNode *f); extern unsigned long Cudd_ReadStartTime(PBORI_PREFIX(DdManager) *unique); extern unsigned long Cudd_ReadElapsedTime(PBORI_PREFIX(DdManager) *unique); extern void Cudd_SetStartTime(PBORI_PREFIX(DdManager) *unique, unsigned long st); extern void Cudd_ResetStartTime(PBORI_PREFIX(DdManager) *unique); extern unsigned long Cudd_ReadTimeLimit(PBORI_PREFIX(DdManager) *unique); extern void Cudd_SetTimeLimit(PBORI_PREFIX(DdManager) *unique, unsigned long tl); extern void Cudd_UpdateTimeLimit(PBORI_PREFIX(DdManager) * unique); extern void Cudd_IncreaseTimeLimit(PBORI_PREFIX(DdManager) * unique, unsigned long increase); extern void Cudd_UnsetTimeLimit(PBORI_PREFIX(DdManager) *unique); extern int Cudd_TimeLimited(PBORI_PREFIX(DdManager) *unique); extern void Cudd_AutodynEnable (PBORI_PREFIX(DdManager) *unique, Cudd_ReorderingType method); extern void Cudd_AutodynDisable (PBORI_PREFIX(DdManager) *unique); extern int Cudd_ReorderingStatus (PBORI_PREFIX(DdManager) *unique, Cudd_ReorderingType *method); extern void Cudd_AutodynEnableZdd (PBORI_PREFIX(DdManager) *unique, Cudd_ReorderingType method); extern void Cudd_AutodynDisableZdd (PBORI_PREFIX(DdManager) *unique); extern int Cudd_ReorderingStatusZdd (PBORI_PREFIX(DdManager) *unique, Cudd_ReorderingType *method); extern int Cudd_zddRealignmentEnabled (PBORI_PREFIX(DdManager) *unique); extern void Cudd_zddRealignEnable (PBORI_PREFIX(DdManager) *unique); extern void Cudd_zddRealignDisable (PBORI_PREFIX(DdManager) *unique); extern int Cudd_bddRealignmentEnabled (PBORI_PREFIX(DdManager) *unique); extern void Cudd_bddRealignEnable (PBORI_PREFIX(DdManager) *unique); extern void Cudd_bddRealignDisable (PBORI_PREFIX(DdManager) *unique); extern DdNode * Cudd_ReadOne (PBORI_PREFIX(DdManager) *dd); extern DdNode * PBORI_PREFIX(Cudd_ReadZddOne) (PBORI_PREFIX(DdManager) *dd, int i); extern DdNode * PBORI_PREFIX(Cudd_ReadZero) (PBORI_PREFIX(DdManager) *dd); extern DdNode * Cudd_ReadLogicZero (PBORI_PREFIX(DdManager) *dd); extern DdNode * Cudd_ReadPlusInfinity (PBORI_PREFIX(DdManager) *dd); extern DdNode * Cudd_ReadMinusInfinity (PBORI_PREFIX(DdManager) *dd); extern DdNode * Cudd_ReadBackground (PBORI_PREFIX(DdManager) *dd); extern void Cudd_SetBackground (PBORI_PREFIX(DdManager) *dd, DdNode *bck); extern unsigned int Cudd_ReadCacheSlots (PBORI_PREFIX(DdManager) *dd); extern double Cudd_ReadCacheUsedSlots (PBORI_PREFIX(DdManager) * dd); extern double Cudd_ReadCacheLookUps (PBORI_PREFIX(DdManager) *dd); extern double Cudd_ReadCacheHits (PBORI_PREFIX(DdManager) *dd); extern double Cudd_ReadRecursiveCalls (PBORI_PREFIX(DdManager) * dd); extern unsigned int Cudd_ReadMinHit (PBORI_PREFIX(DdManager) *dd); extern void PBORI_PREFIX(Cudd_SetMinHit) (PBORI_PREFIX(DdManager) *dd, unsigned int hr); extern unsigned int Cudd_ReadLooseUpTo (PBORI_PREFIX(DdManager) *dd); extern void Cudd_SetLooseUpTo (PBORI_PREFIX(DdManager) *dd, unsigned int lut); extern unsigned int Cudd_ReadMaxCache (PBORI_PREFIX(DdManager) *dd); extern unsigned int Cudd_ReadMaxCacheHard (PBORI_PREFIX(DdManager) *dd); extern void Cudd_SetMaxCacheHard (PBORI_PREFIX(DdManager) *dd, unsigned int mc); extern int Cudd_ReadSize (PBORI_PREFIX(DdManager) *dd); extern int PBORI_PREFIX(Cudd_ReadZddSize) (PBORI_PREFIX(DdManager) *dd); extern unsigned int Cudd_ReadSlots (PBORI_PREFIX(DdManager) *dd); extern double Cudd_ReadUsedSlots (PBORI_PREFIX(DdManager) * dd); extern double Cudd_ExpectedUsedSlots (PBORI_PREFIX(DdManager) * dd); extern unsigned int Cudd_ReadKeys (PBORI_PREFIX(DdManager) *dd); extern unsigned int Cudd_ReadDead (PBORI_PREFIX(DdManager) *dd); extern unsigned int Cudd_ReadMinDead (PBORI_PREFIX(DdManager) *dd); extern unsigned int Cudd_ReadReorderings (PBORI_PREFIX(DdManager) *dd); extern unsigned int Cudd_ReadMaxReorderings (PBORI_PREFIX(DdManager) *dd); extern void Cudd_SetMaxReorderings (PBORI_PREFIX(DdManager) *dd, unsigned int mr); extern long Cudd_ReadReorderingTime (PBORI_PREFIX(DdManager) * dd); extern int Cudd_ReadGarbageCollections (PBORI_PREFIX(DdManager) * dd); extern long Cudd_ReadGarbageCollectionTime (PBORI_PREFIX(DdManager) * dd); extern double Cudd_ReadNodesFreed (PBORI_PREFIX(DdManager) * dd); extern double Cudd_ReadNodesDropped (PBORI_PREFIX(DdManager) * dd); extern double Cudd_ReadUniqueLookUps (PBORI_PREFIX(DdManager) * dd); extern double Cudd_ReadUniqueLinks (PBORI_PREFIX(DdManager) * dd); extern int Cudd_ReadSiftMaxVar (PBORI_PREFIX(DdManager) *dd); extern void Cudd_SetSiftMaxVar (PBORI_PREFIX(DdManager) *dd, int smv); extern int Cudd_ReadSiftMaxSwap (PBORI_PREFIX(DdManager) *dd); extern void Cudd_SetSiftMaxSwap (PBORI_PREFIX(DdManager) *dd, int sms); extern double Cudd_ReadMaxGrowth (PBORI_PREFIX(DdManager) *dd); extern void Cudd_SetMaxGrowth (PBORI_PREFIX(DdManager) *dd, double mg); extern double Cudd_ReadMaxGrowthAlternate (PBORI_PREFIX(DdManager) * dd); extern void Cudd_SetMaxGrowthAlternate (PBORI_PREFIX(DdManager) * dd, double mg); extern int Cudd_ReadReorderingCycle (PBORI_PREFIX(DdManager) * dd); extern void Cudd_SetReorderingCycle (PBORI_PREFIX(DdManager) * dd, int cycle); #ifdef PBORI_FORCE_ORIGINAL_CUDD extern MtrNode * Cudd_ReadTree (PBORI_PREFIX(DdManager) *dd); extern void Cudd_SetTree (PBORI_PREFIX(DdManager) *dd, MtrNode *tree); extern void Cudd_FreeTree (PBORI_PREFIX(DdManager) *dd); extern MtrNode * Cudd_ReadZddTree (PBORI_PREFIX(DdManager) *dd); extern void Cudd_SetZddTree (PBORI_PREFIX(DdManager) *dd, MtrNode *tree); extern void Cudd_FreeZddTree (PBORI_PREFIX(DdManager) *dd); #endif extern unsigned int PBORI_PREFIX(Cudd_NodeReadIndex) (DdNode *node); extern int Cudd_ReadPerm (PBORI_PREFIX(DdManager) *dd, int i); extern int Cudd_ReadPermZdd (PBORI_PREFIX(DdManager) *dd, int i); extern int Cudd_ReadInvPerm (PBORI_PREFIX(DdManager) *dd, int i); extern int Cudd_ReadInvPermZdd (PBORI_PREFIX(DdManager) *dd, int i); extern DdNode * Cudd_ReadVars (PBORI_PREFIX(DdManager) *dd, int i); extern CUDD_VALUE_TYPE Cudd_ReadEpsilon (PBORI_PREFIX(DdManager) *dd); extern void Cudd_SetEpsilon (PBORI_PREFIX(DdManager) *dd, CUDD_VALUE_TYPE ep); extern Cudd_AggregationType Cudd_ReadGroupcheck (PBORI_PREFIX(DdManager) *dd); extern void Cudd_SetGroupcheck (PBORI_PREFIX(DdManager) *dd, Cudd_AggregationType gc); extern int Cudd_GarbageCollectionEnabled (PBORI_PREFIX(DdManager) *dd); extern void Cudd_EnableGarbageCollection (PBORI_PREFIX(DdManager) *dd); extern void Cudd_DisableGarbageCollection (PBORI_PREFIX(DdManager) *dd); extern int Cudd_DeadAreCounted (PBORI_PREFIX(DdManager) *dd); extern void Cudd_TurnOnCountDead (PBORI_PREFIX(DdManager) *dd); extern void Cudd_TurnOffCountDead (PBORI_PREFIX(DdManager) *dd); extern int Cudd_ReadRecomb (PBORI_PREFIX(DdManager) *dd); extern void Cudd_SetRecomb (PBORI_PREFIX(DdManager) *dd, int recomb); extern int Cudd_ReadSymmviolation (PBORI_PREFIX(DdManager) *dd); extern void Cudd_SetSymmviolation (PBORI_PREFIX(DdManager) *dd, int symmviolation); extern int Cudd_ReadArcviolation (PBORI_PREFIX(DdManager) *dd); extern void Cudd_SetArcviolation (PBORI_PREFIX(DdManager) *dd, int arcviolation); extern int Cudd_ReadPopulationSize (PBORI_PREFIX(DdManager) *dd); extern void Cudd_SetPopulationSize (PBORI_PREFIX(DdManager) *dd, int populationSize); extern int Cudd_ReadNumberXovers (PBORI_PREFIX(DdManager) *dd); extern void Cudd_SetNumberXovers (PBORI_PREFIX(DdManager) *dd, int numberXovers); extern unsigned int Cudd_ReadOrderRandomization(PBORI_PREFIX(DdManager) * dd); extern void Cudd_SetOrderRandomization(PBORI_PREFIX(DdManager) * dd, unsigned int factor); extern unsigned long Cudd_ReadMemoryInUse (PBORI_PREFIX(DdManager) *dd); extern int PBORI_PREFIX(Cudd_PrintInfo) (PBORI_PREFIX(DdManager) *dd, FILE *fp); extern long PBORI_PREFIX(Cudd_ReadPeakNodeCount) (PBORI_PREFIX(DdManager) *dd); extern int PBORI_PREFIX(Cudd_ReadPeakLiveNodeCount) (PBORI_PREFIX(DdManager) * dd); extern long Cudd_ReadNodeCount (PBORI_PREFIX(DdManager) *dd); extern long PBORI_PREFIX(Cudd_zddReadNodeCount) (PBORI_PREFIX(DdManager) *dd); extern int PBORI_PREFIX(Cudd_AddHook) (PBORI_PREFIX(DdManager) *dd, DD_HFP f, Cudd_HookType where); extern int PBORI_PREFIX(Cudd_RemoveHook) (PBORI_PREFIX(DdManager) *dd, DD_HFP f, Cudd_HookType where); extern int Cudd_IsInHook (PBORI_PREFIX(DdManager) * dd, DD_HFP f, Cudd_HookType where); extern int Cudd_StdPreReordHook (PBORI_PREFIX(DdManager) *dd, const char *str, void *data); extern int Cudd_StdPostReordHook (PBORI_PREFIX(DdManager) *dd, const char *str, void *data); extern int Cudd_EnableReorderingReporting (PBORI_PREFIX(DdManager) *dd); extern int Cudd_DisableReorderingReporting (PBORI_PREFIX(DdManager) *dd); extern int Cudd_ReorderingReporting (PBORI_PREFIX(DdManager) *dd); extern int Cudd_PrintGroupedOrder(PBORI_PREFIX(DdManager) * dd, const char *str, void *data); extern int Cudd_EnableOrderingMonitoring(PBORI_PREFIX(DdManager) *dd); extern int Cudd_DisableOrderingMonitoring(PBORI_PREFIX(DdManager) *dd); extern int Cudd_OrderingMonitoring(PBORI_PREFIX(DdManager) *dd); extern Cudd_ErrorType PBORI_PREFIX(Cudd_ReadErrorCode) (PBORI_PREFIX(DdManager) *dd); extern void Cudd_ClearErrorCode (PBORI_PREFIX(DdManager) *dd); extern FILE * Cudd_ReadStdout (PBORI_PREFIX(DdManager) *dd); extern void Cudd_SetStdout (PBORI_PREFIX(DdManager) *dd, FILE *fp); extern FILE * Cudd_ReadStderr (PBORI_PREFIX(DdManager) *dd); extern void Cudd_SetStderr (PBORI_PREFIX(DdManager) *dd, FILE *fp); extern unsigned int PBORI_PREFIX(Cudd_ReadNextReordering) (PBORI_PREFIX(DdManager) *dd); extern void Cudd_SetNextReordering (PBORI_PREFIX(DdManager) *dd, unsigned int next); extern double Cudd_ReadSwapSteps (PBORI_PREFIX(DdManager) *dd); extern unsigned int Cudd_ReadMaxLive (PBORI_PREFIX(DdManager) *dd); extern void Cudd_SetMaxLive (PBORI_PREFIX(DdManager) *dd, unsigned int maxLive); extern unsigned long Cudd_ReadMaxMemory (PBORI_PREFIX(DdManager) *dd); extern void Cudd_SetMaxMemory (PBORI_PREFIX(DdManager) *dd, unsigned long maxMemory); extern int Cudd_bddBindVar (PBORI_PREFIX(DdManager) *dd, int index); extern int Cudd_bddUnbindVar (PBORI_PREFIX(DdManager) *dd, int index); extern int Cudd_bddVarIsBound (PBORI_PREFIX(DdManager) *dd, int index); extern DdNode * Cudd_addExistAbstract (PBORI_PREFIX(DdManager) *manager, DdNode *f, DdNode *cube); extern DdNode * Cudd_addUnivAbstract (PBORI_PREFIX(DdManager) *manager, DdNode *f, DdNode *cube); extern DdNode * Cudd_addOrAbstract (PBORI_PREFIX(DdManager) *manager, DdNode *f, DdNode *cube); extern DdNode * Cudd_addApply (PBORI_PREFIX(DdManager) *dd, DdNode * (*)(PBORI_PREFIX(DdManager) *, DdNode **, DdNode **), DdNode *f, DdNode *g); extern DdNode * Cudd_addPlus (PBORI_PREFIX(DdManager) *dd, DdNode **f, DdNode **g); extern DdNode * Cudd_addTimes (PBORI_PREFIX(DdManager) *dd, DdNode **f, DdNode **g); extern DdNode * Cudd_addThreshold (PBORI_PREFIX(DdManager) *dd, DdNode **f, DdNode **g); extern DdNode * Cudd_addSetNZ (PBORI_PREFIX(DdManager) *dd, DdNode **f, DdNode **g); extern DdNode * Cudd_addDivide (PBORI_PREFIX(DdManager) *dd, DdNode **f, DdNode **g); extern DdNode * Cudd_addMinus (PBORI_PREFIX(DdManager) *dd, DdNode **f, DdNode **g); extern DdNode * Cudd_addMinimum (PBORI_PREFIX(DdManager) *dd, DdNode **f, DdNode **g); extern DdNode * Cudd_addMaximum (PBORI_PREFIX(DdManager) *dd, DdNode **f, DdNode **g); extern DdNode * Cudd_addOneZeroMaximum (PBORI_PREFIX(DdManager) *dd, DdNode **f, DdNode **g); extern DdNode * Cudd_addDiff (PBORI_PREFIX(DdManager) *dd, DdNode **f, DdNode **g); extern DdNode * Cudd_addAgreement (PBORI_PREFIX(DdManager) *dd, DdNode **f, DdNode **g); extern DdNode * Cudd_addOr (PBORI_PREFIX(DdManager) *dd, DdNode **f, DdNode **g); extern DdNode * Cudd_addNand (PBORI_PREFIX(DdManager) *dd, DdNode **f, DdNode **g); extern DdNode * Cudd_addNor (PBORI_PREFIX(DdManager) *dd, DdNode **f, DdNode **g); extern DdNode * Cudd_addXor (PBORI_PREFIX(DdManager) *dd, DdNode **f, DdNode **g); extern DdNode * Cudd_addXnor (PBORI_PREFIX(DdManager) *dd, DdNode **f, DdNode **g); extern DdNode * Cudd_addMonadicApply (PBORI_PREFIX(DdManager) * dd, DdNode * (*op)(PBORI_PREFIX(DdManager) *, DdNode *), DdNode * f); extern DdNode * Cudd_addLog (PBORI_PREFIX(DdManager) * dd, DdNode * f); extern DdNode * Cudd_addFindMax (PBORI_PREFIX(DdManager) *dd, DdNode *f); extern DdNode * Cudd_addFindMin (PBORI_PREFIX(DdManager) *dd, DdNode *f); extern DdNode * Cudd_addIthBit (PBORI_PREFIX(DdManager) *dd, DdNode *f, int bit); extern DdNode * Cudd_addScalarInverse (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *epsilon); extern DdNode * Cudd_addIte (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *g, DdNode *h); extern DdNode * Cudd_addIteConstant (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *g, DdNode *h); extern DdNode * Cudd_addEvalConst (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *g); extern int Cudd_addLeq (PBORI_PREFIX(DdManager) * dd, DdNode * f, DdNode * g); extern DdNode * Cudd_addCmpl (PBORI_PREFIX(DdManager) *dd, DdNode *f); extern DdNode * Cudd_addNegate (PBORI_PREFIX(DdManager) *dd, DdNode *f); extern DdNode * Cudd_addRoundOff (PBORI_PREFIX(DdManager) *dd, DdNode *f, int N); extern DdNode * Cudd_addWalsh (PBORI_PREFIX(DdManager) *dd, DdNode **x, DdNode **y, int n); extern DdNode * Cudd_addResidue (PBORI_PREFIX(DdManager) *dd, int n, int m, int options, int top); extern DdNode * Cudd_bddAndAbstract (PBORI_PREFIX(DdManager) *manager, DdNode *f, DdNode *g, DdNode *cube); extern DdNode * Cudd_bddAndAbstractLimit (PBORI_PREFIX(DdManager) *manager, DdNode *f, DdNode *g, DdNode *cube, unsigned int limit); extern int Cudd_ApaNumberOfDigits (int binaryDigits); extern DdApaNumber Cudd_NewApaNumber (int digits); extern void Cudd_ApaCopy (int digits, DdApaNumber source, DdApaNumber dest); extern DdApaDigit Cudd_ApaAdd (int digits, DdApaNumber a, DdApaNumber b, DdApaNumber sum); extern DdApaDigit Cudd_ApaSubtract (int digits, DdApaNumber a, DdApaNumber b, DdApaNumber diff); extern DdApaDigit Cudd_ApaShortDivision (int digits, DdApaNumber dividend, DdApaDigit divisor, DdApaNumber quotient); extern unsigned int Cudd_ApaIntDivision (int digits, DdApaNumber dividend, unsigned int divisor, DdApaNumber quotient); extern void Cudd_ApaShiftRight (int digits, DdApaDigit in, DdApaNumber a, DdApaNumber b); extern void Cudd_ApaSetToLiteral (int digits, DdApaNumber number, DdApaDigit literal); extern void Cudd_ApaPowerOfTwo (int digits, DdApaNumber number, int power); extern int Cudd_ApaCompare (int digitsFirst, DdApaNumber first, int digitsSecond, DdApaNumber second); extern int Cudd_ApaCompareRatios (int digitsFirst, DdApaNumber firstNum, unsigned int firstDen, int digitsSecond, DdApaNumber secondNum, unsigned int secondDen); extern int Cudd_ApaPrintHex (FILE *fp, int digits, DdApaNumber number); extern int Cudd_ApaPrintDecimal (FILE *fp, int digits, DdApaNumber number); extern int Cudd_ApaPrintExponential (FILE * fp, int digits, DdApaNumber number, int precision); extern DdApaNumber Cudd_ApaCountMinterm (PBORI_PREFIX(DdManager) *manager, DdNode *node, int nvars, int *digits); extern int Cudd_ApaPrintMinterm (FILE *fp, PBORI_PREFIX(DdManager) *dd, DdNode *node, int nvars); extern int Cudd_ApaPrintMintermExp (FILE * fp, PBORI_PREFIX(DdManager) * dd, DdNode * node, int nvars, int precision); extern int Cudd_ApaPrintDensity (FILE * fp, PBORI_PREFIX(DdManager) * dd, DdNode * node, int nvars); extern DdNode * Cudd_UnderApprox (PBORI_PREFIX(DdManager) *dd, DdNode *f, int numVars, int threshold, int safe, double quality); extern DdNode * Cudd_OverApprox (PBORI_PREFIX(DdManager) *dd, DdNode *f, int numVars, int threshold, int safe, double quality); extern DdNode * Cudd_RemapUnderApprox (PBORI_PREFIX(DdManager) *dd, DdNode *f, int numVars, int threshold, double quality); extern DdNode * Cudd_RemapOverApprox (PBORI_PREFIX(DdManager) *dd, DdNode *f, int numVars, int threshold, double quality); extern DdNode * Cudd_BiasedUnderApprox (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *b, int numVars, int threshold, double quality1, double quality0); extern DdNode * Cudd_BiasedOverApprox (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *b, int numVars, int threshold, double quality1, double quality0); extern DdNode * Cudd_bddExistAbstract (PBORI_PREFIX(DdManager) *manager, DdNode *f, DdNode *cube); extern DdNode * Cudd_bddExistAbstractLimit(PBORI_PREFIX(DdManager) * manager, DdNode * f, DdNode * cube, unsigned int limit); extern DdNode * Cudd_bddXorExistAbstract (PBORI_PREFIX(DdManager) *manager, DdNode *f, DdNode *g, DdNode *cube); extern DdNode * Cudd_bddUnivAbstract (PBORI_PREFIX(DdManager) *manager, DdNode *f, DdNode *cube); extern DdNode * Cudd_bddBooleanDiff (PBORI_PREFIX(DdManager) *manager, DdNode *f, int x); extern int Cudd_bddVarIsDependent (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *var); extern double Cudd_bddCorrelation (PBORI_PREFIX(DdManager) *manager, DdNode *f, DdNode *g); extern double Cudd_bddCorrelationWeights (PBORI_PREFIX(DdManager) *manager, DdNode *f, DdNode *g, double *prob); extern DdNode * Cudd_bddIte (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *g, DdNode *h); extern DdNode * Cudd_bddIteLimit (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *g, DdNode *h, unsigned int limit); extern DdNode * Cudd_bddIteConstant (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *g, DdNode *h); extern DdNode * Cudd_bddIntersect (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *g); extern DdNode * Cudd_bddAnd (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *g); extern DdNode * Cudd_bddAndLimit (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *g, unsigned int limit); extern DdNode * Cudd_bddOr (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *g); extern DdNode * Cudd_bddOrLimit (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *g, unsigned int limit); extern DdNode * Cudd_bddNand (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *g); extern DdNode * Cudd_bddNor (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *g); extern DdNode * Cudd_bddXor (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *g); extern DdNode * Cudd_bddXnor (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *g); extern DdNode * Cudd_bddXnorLimit (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *g, unsigned int limit); extern int Cudd_bddLeq (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *g); extern DdNode * Cudd_addBddThreshold (PBORI_PREFIX(DdManager) *dd, DdNode *f, CUDD_VALUE_TYPE value); extern DdNode * Cudd_addBddStrictThreshold (PBORI_PREFIX(DdManager) *dd, DdNode *f, CUDD_VALUE_TYPE value); extern DdNode * Cudd_addBddInterval (PBORI_PREFIX(DdManager) *dd, DdNode *f, CUDD_VALUE_TYPE lower, CUDD_VALUE_TYPE upper); extern DdNode * Cudd_addBddIthBit (PBORI_PREFIX(DdManager) *dd, DdNode *f, int bit); extern DdNode * Cudd_BddToAdd (PBORI_PREFIX(DdManager) *dd, DdNode *B); extern DdNode * Cudd_addBddPattern (PBORI_PREFIX(DdManager) *dd, DdNode *f); extern DdNode * Cudd_bddTransfer (PBORI_PREFIX(DdManager) *ddSource, PBORI_PREFIX(DdManager) *ddDestination, DdNode *f); extern int Cudd_DebugCheck (PBORI_PREFIX(DdManager) *table); extern int Cudd_CheckKeys (PBORI_PREFIX(DdManager) *table); extern DdNode * Cudd_bddClippingAnd (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *g, int maxDepth, int direction); extern DdNode * Cudd_bddClippingAndAbstract (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *g, DdNode *cube, int maxDepth, int direction); extern DdNode * Cudd_Cofactor (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *g); extern int Cudd_CheckCube (PBORI_PREFIX(DdManager) *dd, DdNode *g); extern DdNode * Cudd_bddCompose (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *g, int v); extern DdNode * Cudd_addCompose (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *g, int v); extern DdNode * Cudd_addPermute (PBORI_PREFIX(DdManager) *manager, DdNode *node, int *permut); extern DdNode * Cudd_addSwapVariables (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode **x, DdNode **y, int n); extern DdNode * Cudd_bddPermute (PBORI_PREFIX(DdManager) *manager, DdNode *node, int *permut); extern DdNode * Cudd_bddVarMap (PBORI_PREFIX(DdManager) *manager, DdNode *f); extern int Cudd_SetVarMap (PBORI_PREFIX(DdManager) *manager, DdNode **x, DdNode **y, int n); extern DdNode * Cudd_bddSwapVariables (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode **x, DdNode **y, int n); extern DdNode * Cudd_bddAdjPermuteX (PBORI_PREFIX(DdManager) *dd, DdNode *B, DdNode **x, int n); extern DdNode * Cudd_addVectorCompose (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode **vector); extern DdNode * Cudd_addGeneralVectorCompose (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode **vectorOn, DdNode **vectorOff); extern DdNode * Cudd_addNonSimCompose (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode **vector); extern DdNode * Cudd_bddVectorCompose (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode **vector); extern int Cudd_bddApproxConjDecomp (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode ***conjuncts); extern int Cudd_bddApproxDisjDecomp (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode ***disjuncts); extern int Cudd_bddIterConjDecomp (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode ***conjuncts); extern int Cudd_bddIterDisjDecomp (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode ***disjuncts); extern int Cudd_bddGenConjDecomp (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode ***conjuncts); extern int Cudd_bddGenDisjDecomp (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode ***disjuncts); extern int Cudd_bddVarConjDecomp (PBORI_PREFIX(DdManager) *dd, DdNode * f, DdNode ***conjuncts); extern int Cudd_bddVarDisjDecomp (PBORI_PREFIX(DdManager) *dd, DdNode * f, DdNode ***disjuncts); extern DdNode * Cudd_FindEssential (PBORI_PREFIX(DdManager) *dd, DdNode *f); extern int Cudd_bddIsVarEssential (PBORI_PREFIX(DdManager) *manager, DdNode *f, int id, int phase); extern DdTlcInfo * Cudd_FindTwoLiteralClauses (PBORI_PREFIX(DdManager) * dd, DdNode * f); extern int Cudd_PrintTwoLiteralClauses (PBORI_PREFIX(DdManager) * dd, DdNode * f, char **names, FILE *fp); extern int Cudd_ReadIthClause (DdTlcInfo * tlc, int i, DdHalfWord *var1, DdHalfWord *var2, int *phase1, int *phase2); extern void Cudd_tlcInfoFree (DdTlcInfo * t); extern int Cudd_DumpBlif (PBORI_PREFIX(DdManager) *dd, int n, DdNode **f, char **inames, char **onames, char *mname, FILE *fp, int mv); extern int Cudd_DumpBlifBody (PBORI_PREFIX(DdManager) *dd, int n, DdNode **f, char **inames, char **onames, FILE *fp, int mv); extern int Cudd_DumpDot (PBORI_PREFIX(DdManager) *dd, int n, DdNode **f, char **inames, char **onames, FILE *fp); extern int Cudd_DumpDaVinci (PBORI_PREFIX(DdManager) *dd, int n, DdNode **f, char **inames, char **onames, FILE *fp); extern int Cudd_DumpDDcal (PBORI_PREFIX(DdManager) *dd, int n, DdNode **f, char **inames, char **onames, FILE *fp); extern int Cudd_DumpFactoredForm (PBORI_PREFIX(DdManager) *dd, int n, DdNode **f, char **inames, char **onames, FILE *fp); extern DdNode * Cudd_bddConstrain (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *c); extern DdNode * Cudd_bddRestrict (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *c); extern DdNode * Cudd_bddNPAnd (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *c); extern DdNode * Cudd_addConstrain (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *c); extern DdNode ** Cudd_bddConstrainDecomp (PBORI_PREFIX(DdManager) *dd, DdNode *f); extern DdNode * Cudd_addRestrict (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *c); extern DdNode ** Cudd_bddCharToVect (PBORI_PREFIX(DdManager) *dd, DdNode *f); extern DdNode * Cudd_bddLICompaction (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *c); extern DdNode * Cudd_bddSqueeze (PBORI_PREFIX(DdManager) *dd, DdNode *l, DdNode *u); extern DdNode * Cudd_bddMinimize (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *c); extern DdNode * Cudd_SubsetCompress (PBORI_PREFIX(DdManager) *dd, DdNode *f, int nvars, int threshold); extern DdNode * Cudd_SupersetCompress (PBORI_PREFIX(DdManager) *dd, DdNode *f, int nvars, int threshold); #ifdef PBORI_FORCE_ORIGINAL_CUDD extern MtrNode * Cudd_MakeTreeNode (PBORI_PREFIX(DdManager) *dd, unsigned int low, unsigned int size, unsigned int type); #endif extern int Cudd_addHarwell (FILE *fp, PBORI_PREFIX(DdManager) *dd, DdNode **E, DdNode ***x, DdNode ***y, DdNode ***xn, DdNode ***yn_, int *nx, int *ny, int *m, int *n, int bx, int sx, int by, int sy, int pr); extern PBORI_PREFIX(DdManager) * PBORI_PREFIX(Cudd_Init) (unsigned int numVars, unsigned int numVarsZ, unsigned int numSlots, unsigned int cacheSize, unsigned long maxMemory); extern void PBORI_PREFIX(Cudd_Quit) (PBORI_PREFIX(DdManager) *unique); extern int Cudd_PrintLinear (PBORI_PREFIX(DdManager) *table); extern int Cudd_ReadLinear (PBORI_PREFIX(DdManager) *table, int x, int y); extern DdNode * Cudd_bddLiteralSetIntersection (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *g); extern DdNode * Cudd_addMatrixMultiply (PBORI_PREFIX(DdManager) *dd, DdNode *A, DdNode *B, DdNode **z, int nz); extern DdNode * Cudd_addTimesPlus (PBORI_PREFIX(DdManager) *dd, DdNode *A, DdNode *B, DdNode **z, int nz); extern DdNode * Cudd_addTriangle (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *g, DdNode **z, int nz); extern DdNode * Cudd_addOuterSum (PBORI_PREFIX(DdManager) *dd, DdNode *M, DdNode *r, DdNode *c); extern DdNode * Cudd_PrioritySelect (PBORI_PREFIX(DdManager) *dd, DdNode *R, DdNode **x, DdNode **y, DdNode **z, DdNode *Pi, int n, DdNode * (*)(PBORI_PREFIX(DdManager) *, int, DdNode **, DdNode **, DdNode **)); extern DdNode * Cudd_Xgty (PBORI_PREFIX(DdManager) *dd, int N, DdNode **z, DdNode **x, DdNode **y); extern DdNode * Cudd_Xeqy (PBORI_PREFIX(DdManager) *dd, int N, DdNode **x, DdNode **y); extern DdNode * Cudd_addXeqy (PBORI_PREFIX(DdManager) *dd, int N, DdNode **x, DdNode **y); extern DdNode * Cudd_Dxygtdxz (PBORI_PREFIX(DdManager) *dd, int N, DdNode **x, DdNode **y, DdNode **z); extern DdNode * Cudd_Dxygtdyz (PBORI_PREFIX(DdManager) *dd, int N, DdNode **x, DdNode **y, DdNode **z); extern DdNode * Cudd_Inequality (PBORI_PREFIX(DdManager) * dd, int N, int c, DdNode ** x, DdNode ** y); extern DdNode * Cudd_Disequality (PBORI_PREFIX(DdManager) * dd, int N, int c, DdNode ** x, DdNode ** y); extern DdNode * Cudd_bddInterval (PBORI_PREFIX(DdManager) * dd, int N, DdNode ** x, unsigned int lowerB, unsigned int upperB); extern DdNode * Cudd_CProjection (PBORI_PREFIX(DdManager) *dd, DdNode *R, DdNode *Y); extern DdNode * Cudd_addHamming (PBORI_PREFIX(DdManager) *dd, DdNode **xVars, DdNode **yVars, int nVars); extern int Cudd_MinHammingDist (PBORI_PREFIX(DdManager) *dd, DdNode *f, int *minterm, int upperBound); extern DdNode * Cudd_bddClosestCube (PBORI_PREFIX(DdManager) *dd, DdNode * f, DdNode *g, int *distance); extern int Cudd_addRead (FILE *fp, PBORI_PREFIX(DdManager) *dd, DdNode **E, DdNode ***x, DdNode ***y, DdNode ***xn, DdNode ***yn_, int *nx, int *ny, int *m, int *n, int bx, int sx, int by, int sy); extern int Cudd_bddRead (FILE *fp, PBORI_PREFIX(DdManager) *dd, DdNode **E, DdNode ***x, DdNode ***y, int *nx, int *ny, int *m, int *n, int bx, int sx, int by, int sy); extern void PBORI_PREFIX(Cudd_Ref) (DdNode *n); extern void PBORI_PREFIX(Cudd_RecursiveDeref) (PBORI_PREFIX(DdManager) *table, DdNode *n); extern void Cudd_IterDerefBdd (PBORI_PREFIX(DdManager) *table, DdNode *n); extern void Cudd_DelayedDerefBdd (PBORI_PREFIX(DdManager) * table, DdNode * n); extern void PBORI_PREFIX(Cudd_RecursiveDerefZdd) (PBORI_PREFIX(DdManager) *table, DdNode *n); extern void PBORI_PREFIX(Cudd_Deref (DdNode *node)); extern int PBORI_PREFIX(Cudd_CheckZeroRef) (PBORI_PREFIX(DdManager) *manager); extern int Cudd_ReduceHeap (PBORI_PREFIX(DdManager) *table, Cudd_ReorderingType heuristic, int minsize); extern int Cudd_ShuffleHeap (PBORI_PREFIX(DdManager) *table, int *permutation); extern DdNode * Cudd_Eval (PBORI_PREFIX(DdManager) *dd, DdNode *f, int *inputs); extern DdNode * Cudd_ShortestPath (PBORI_PREFIX(DdManager) *manager, DdNode *f, int *weight, int *support, int *length); extern DdNode * Cudd_LargestCube (PBORI_PREFIX(DdManager) *manager, DdNode *f, int *length); extern int Cudd_ShortestLength (PBORI_PREFIX(DdManager) *manager, DdNode *f, int *weight); extern DdNode * Cudd_Decreasing (PBORI_PREFIX(DdManager) *dd, DdNode *f, int i); extern DdNode * Cudd_Increasing (PBORI_PREFIX(DdManager) *dd, DdNode *f, int i); extern int Cudd_EquivDC (PBORI_PREFIX(DdManager) *dd, DdNode *F, DdNode *G, DdNode *D); extern int Cudd_bddLeqUnless (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *g, DdNode *D); extern int Cudd_EqualSupNorm (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *g, CUDD_VALUE_TYPE tolerance, int pr); extern DdNode * Cudd_bddMakePrime (PBORI_PREFIX(DdManager) *dd, DdNode *cube, DdNode *f); extern DdNode * Cudd_bddMaximallyExpand(PBORI_PREFIX(DdManager) *dd, DdNode *lb, DdNode *ub, DdNode *f); extern DdNode * Cudd_bddLargestPrimeUnate(PBORI_PREFIX(DdManager) *dd , DdNode *f, DdNode *phaseBdd); extern double * Cudd_CofMinterm (PBORI_PREFIX(DdManager) *dd, DdNode *node); extern DdNode * Cudd_SolveEqn (PBORI_PREFIX(DdManager) * bdd, DdNode *F, DdNode *Y, DdNode **G, int **yIndex, int n); extern DdNode * Cudd_VerifySol (PBORI_PREFIX(DdManager) * bdd, DdNode *F, DdNode **G, int *yIndex, int n); extern DdNode * Cudd_SplitSet (PBORI_PREFIX(DdManager) *manager, DdNode *S, DdNode **xVars, int n, double m); extern DdNode * Cudd_SubsetHeavyBranch (PBORI_PREFIX(DdManager) *dd, DdNode *f, int numVars, int threshold); extern DdNode * Cudd_SupersetHeavyBranch (PBORI_PREFIX(DdManager) *dd, DdNode *f, int numVars, int threshold); extern DdNode * Cudd_SubsetShortPaths (PBORI_PREFIX(DdManager) *dd, DdNode *f, int numVars, int threshold, int hardlimit); extern DdNode * Cudd_SupersetShortPaths (PBORI_PREFIX(DdManager) *dd, DdNode *f, int numVars, int threshold, int hardlimit); extern void Cudd_SymmProfile (PBORI_PREFIX(DdManager) *table, int lower, int upper); extern unsigned int Cudd_Prime (unsigned int p); extern int Cudd_Reserve(PBORI_PREFIX(DdManager) *manager, int amount); extern int Cudd_PrintMinterm (PBORI_PREFIX(DdManager) *manager, DdNode *node); extern int Cudd_bddPrintCover (PBORI_PREFIX(DdManager) *dd, DdNode *l, DdNode *u); extern int Cudd_PrintDebug (PBORI_PREFIX(DdManager) *dd, DdNode *f, int n, int pr); extern int Cudd_DagSize (DdNode *node); extern int Cudd_EstimateCofactor (PBORI_PREFIX(DdManager) *dd, DdNode * node, int i, int phase); extern int Cudd_EstimateCofactorSimple (DdNode * node, int i); extern int Cudd_SharingSize (DdNode **nodeArray, int n); #ifdef PBORI_FORCE_ORIGINAL_CUDD extern double Cudd_CountMinterm (PBORI_PREFIX(DdManager) *manager, DdNode *node, int nvars); extern int Cudd_EpdCountMinterm (PBORI_PREFIX(DdManager) *manager, DdNode *node, int nvars, EpDouble *epd); #endif extern double Cudd_CountPath (DdNode *node); extern double Cudd_CountPathsToNonZero (DdNode *node); extern int Cudd_SupportIndices(PBORI_PREFIX(DdManager) * dd, DdNode * f, int **indices); extern DdNode * Cudd_Support (PBORI_PREFIX(DdManager) *dd, DdNode *f); extern int * Cudd_SupportIndex (PBORI_PREFIX(DdManager) *dd, DdNode *f); extern int PBORI_PREFIX(Cudd_SupportSize) (PBORI_PREFIX(DdManager) *dd, DdNode *f); extern int Cudd_VectorSupportIndices(PBORI_PREFIX(DdManager) * dd, DdNode ** F, int n, int **indices); extern DdNode * Cudd_VectorSupport (PBORI_PREFIX(DdManager) *dd, DdNode **F, int n); extern int * Cudd_VectorSupportIndex (PBORI_PREFIX(DdManager) *dd, DdNode **F, int n); extern int Cudd_VectorSupportSize (PBORI_PREFIX(DdManager) *dd, DdNode **F, int n); extern int Cudd_ClassifySupport (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *g, DdNode **common, DdNode **onlyF, DdNode **onlyG); extern int Cudd_CountLeaves (DdNode *node); extern int Cudd_bddPickOneCube (PBORI_PREFIX(DdManager) *ddm, DdNode *node, char *string); extern DdNode * Cudd_bddPickOneMinterm (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode **vars, int n); extern DdNode ** Cudd_bddPickArbitraryMinterms (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode **vars, int n, int k); extern DdNode * Cudd_SubsetWithMaskVars (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode **vars, int nvars, DdNode **maskVars, int mvars); extern DdGen * Cudd_FirstCube (PBORI_PREFIX(DdManager) *dd, DdNode *f, int **cube, CUDD_VALUE_TYPE *value); extern int Cudd_NextCube (DdGen *gen, int **cube, CUDD_VALUE_TYPE *value); extern DdGen * Cudd_FirstPrime(PBORI_PREFIX(DdManager) *dd, DdNode *l, DdNode *u, int **cube); extern int Cudd_NextPrime(DdGen *gen, int **cube); extern DdNode * Cudd_bddComputeCube (PBORI_PREFIX(DdManager) *dd, DdNode **vars, int *phase, int n); extern DdNode * Cudd_addComputeCube (PBORI_PREFIX(DdManager) *dd, DdNode **vars, int *phase, int n); extern DdNode * Cudd_CubeArrayToBdd (PBORI_PREFIX(DdManager) *dd, int *array); extern int Cudd_BddToCubeArray (PBORI_PREFIX(DdManager) *dd, DdNode *cube, int *array); extern DdGen * Cudd_FirstNode (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode **node); extern int Cudd_NextNode (DdGen *gen, DdNode **node); extern int Cudd_GenFree (DdGen *gen); extern int Cudd_IsGenEmpty (DdGen *gen); extern DdNode * Cudd_IndicesToCube (PBORI_PREFIX(DdManager) *dd, int *array, int n); extern void Cudd_PrintVersion (FILE *fp); extern double Cudd_AverageDistance (PBORI_PREFIX(DdManager) *dd); extern long Cudd_Random (void); extern void Cudd_Srandom (long seed); extern double Cudd_Density (PBORI_PREFIX(DdManager) *dd, DdNode *f, int nvars); #endif /* PBORI_FORCE_ORIGINAL_CUDD*/ extern void PBORI_PREFIX(Cudd_OutOfMem) (long size); extern int PBORI_PREFIX(Cudd_zddCount) (PBORI_PREFIX(DdManager) *zdd, DdNode *P); extern double PBORI_PREFIX(Cudd_zddCountDouble) (PBORI_PREFIX(DdManager) *zdd, DdNode *P); extern DdNode * PBORI_PREFIX(Cudd_zddProduct) (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *g); extern DdNode * PBORI_PREFIX(Cudd_zddUnateProduct) (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *g); extern DdNode * PBORI_PREFIX(Cudd_zddWeakDiv) (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *g); extern DdNode * PBORI_PREFIX(Cudd_zddDivide) (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *g); extern DdNode * PBORI_PREFIX(Cudd_zddWeakDivF) (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *g); extern DdNode * PBORI_PREFIX(Cudd_zddDivideF) (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *g); extern DdNode * PBORI_PREFIX(Cudd_zddComplement) (PBORI_PREFIX(DdManager) *dd, DdNode *node); #ifdef PBORI_FORCE_ORIGINAL_CUDD extern MtrNode * Cudd_MakeZddTreeNode (PBORI_PREFIX(DdManager) *dd, unsigned int low, unsigned int size, unsigned int type); #endif extern DdNode * PBORI_PREFIX(Cudd_zddIsop) (PBORI_PREFIX(DdManager) *dd, DdNode *L, DdNode *U, DdNode **zdd_I); extern DdNode * PBORI_PREFIX(Cudd_bddIsop) (PBORI_PREFIX(DdManager) *dd, DdNode *L, DdNode *U); extern DdNode * PBORI_PREFIX(Cudd_MakeBddFromZddCover) (PBORI_PREFIX(DdManager) *dd, DdNode *node); extern int PBORI_PREFIX(Cudd_zddDagSize) (DdNode *p_node); extern double PBORI_PREFIX(Cudd_zddCountMinterm) (PBORI_PREFIX(DdManager) *zdd, DdNode *node, int path); extern void PBORI_PREFIX(Cudd_zddPrintSubtable) (PBORI_PREFIX(DdManager) *table); extern DdNode * PBORI_PREFIX(Cudd_zddPortFromBdd) (PBORI_PREFIX(DdManager) *dd, DdNode *B); extern DdNode * PBORI_PREFIX(Cudd_zddPortToBdd) (PBORI_PREFIX(DdManager) *dd, DdNode *f); extern int PBORI_PREFIX(Cudd_zddReduceHeap) (PBORI_PREFIX(DdManager) *table, Cudd_ReorderingType heuristic, int minsize); extern int PBORI_PREFIX(Cudd_zddShuffleHeap) (PBORI_PREFIX(DdManager) *table, int *permutation); extern DdNode * PBORI_PREFIX(Cudd_zddIte) (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *g, DdNode *h); extern DdNode * PBORI_PREFIX(Cudd_zddUnion) (PBORI_PREFIX(DdManager) *dd, DdNode *P, DdNode *Q); extern DdNode * PBORI_PREFIX(Cudd_zddIntersect) (PBORI_PREFIX(DdManager) *dd, DdNode *P, DdNode *Q); extern DdNode * PBORI_PREFIX(Cudd_zddDiff) (PBORI_PREFIX(DdManager) *dd, DdNode *P, DdNode *Q); extern DdNode * PBORI_PREFIX(Cudd_zddDiffConst) (PBORI_PREFIX(DdManager) *zdd, DdNode *P, DdNode *Q); extern DdNode * PBORI_PREFIX(Cudd_zddSubset1) (PBORI_PREFIX(DdManager) *dd, DdNode *P, int var); extern DdNode * PBORI_PREFIX(Cudd_zddSubset0) (PBORI_PREFIX(DdManager) *dd, DdNode *P, int var); extern DdNode * PBORI_PREFIX(Cudd_zddChange) (PBORI_PREFIX(DdManager) *dd, DdNode *P, int var); extern void PBORI_PREFIX(Cudd_zddSymmProfile) (PBORI_PREFIX(DdManager) *table, int lower, int upper); extern int PBORI_PREFIX(Cudd_zddPrintMinterm) (PBORI_PREFIX(DdManager) *zdd, DdNode *node); extern int PBORI_PREFIX(Cudd_zddPrintCover) (PBORI_PREFIX(DdManager) *zdd, DdNode *node); extern int PBORI_PREFIX(Cudd_zddPrintDebug) (PBORI_PREFIX(DdManager) *zdd, DdNode *f, int n, int pr); extern DdGen * PBORI_PREFIX(Cudd_zddFirstPath) (PBORI_PREFIX(DdManager) *zdd, DdNode *f, int **path); extern int PBORI_PREFIX(Cudd_zddNextPath) (DdGen *gen, int **path); extern char * PBORI_PREFIX(Cudd_zddCoverPathToString) (PBORI_PREFIX(DdManager) *zdd, int *path, char *str); extern DdNode * PBORI_PREFIX(Cudd_zddSupport) (PBORI_PREFIX(DdManager) * dd, DdNode * f); extern int PBORI_PREFIX(Cudd_zddDumpDot) (PBORI_PREFIX(DdManager) *dd, int n, DdNode **f, char **inames, char **onames, FILE *fp); #ifndef PBORI_FORCE_ORIGINAL_CUDD extern int Cudd_bddSetPiVar (PBORI_PREFIX(DdManager) *dd, int index); extern int Cudd_bddSetPsVar (PBORI_PREFIX(DdManager) *dd, int index); extern int Cudd_bddSetNsVar (PBORI_PREFIX(DdManager) *dd, int index); extern int Cudd_bddIsPiVar (PBORI_PREFIX(DdManager) *dd, int index); extern int Cudd_bddIsPsVar (PBORI_PREFIX(DdManager) *dd, int index); extern int Cudd_bddIsNsVar (PBORI_PREFIX(DdManager) *dd, int index); extern int Cudd_bddSetPairIndex (PBORI_PREFIX(DdManager) *dd, int index, int pairIndex); extern int Cudd_bddReadPairIndex (PBORI_PREFIX(DdManager) *dd, int index); extern int Cudd_bddSetVarToBeGrouped (PBORI_PREFIX(DdManager) *dd, int index); extern int Cudd_bddSetVarHardGroup (PBORI_PREFIX(DdManager) *dd, int index); extern int Cudd_bddResetVarToBeGrouped (PBORI_PREFIX(DdManager) *dd, int index); extern int Cudd_bddIsVarToBeGrouped (PBORI_PREFIX(DdManager) *dd, int index); extern int Cudd_bddSetVarToBeUngrouped (PBORI_PREFIX(DdManager) *dd, int index); extern int Cudd_bddIsVarToBeUngrouped (PBORI_PREFIX(DdManager) *dd, int index); extern int Cudd_bddIsVarHardGroup (PBORI_PREFIX(DdManager) *dd, int index); #endif /**AutomaticEnd***************************************************************/ #ifdef __cplusplus } /* end of extern "C" */ #endif /* For consistence: introduce prefixed macros */ #ifndef PBORI_FORCE_ORIGINAL_CUDD #define pbori_Cudd_IsConstant Cudd_IsConstant #define pbori_Cudd_Not Cudd_Not #define pbori_Cudd_NotCond Cudd_NotCond #define pbori_Cudd_Regular Cudd_Regular #define pbori_Cudd_Complement Cudd_Complement #define pbori_Cudd_IsComplement Cudd_IsComplement #define pbori_Cudd_T Cudd_T #define pbori_Cudd_E Cudd_E #define pbori_Cudd_V Cudd_V #define pbori_Cudd_ReadIndex Cudd_ReadIndex #define pbori_Cudd_ForeachCube Cudd_ForeachCube #define pbori_Cudd_ForeachPrime Cudd_ForeachPrime #define pbori_Cudd_ForeachNode Cudd_ForeachNode #define pbori_Cudd_zddForeachPath Cudd_zddForeachPath #endif #endif /* _CUDD */ BRiAl-1.2.12/cudd/cuddAPI.c000066400000000000000000004177401436062512100150770ustar00rootroot00000000000000/**CFile*********************************************************************** FileName [cuddAPI.c] PackageName [cudd] Synopsis [Application interface functions.] Description [External procedures included in this module:

  • Cudd_addNewVar()
  • Cudd_addNewVarAtLevel()
  • Cudd_bddNewVar()
  • Cudd_bddNewVarAtLevel()
  • Cudd_addIthVar()
  • Cudd_bddIthVar()
  • Cudd_zddIthVar()
  • Cudd_zddVarsFromBddVars()
  • Cudd_addConst()
  • Cudd_IsNonConstant()
  • Cudd_ReadStartTime()
  • Cudd_ReadElapsedTime()
  • Cudd_SetStartTime()
  • Cudd_ResetStartTime()
  • Cudd_ReadTimeLimit()
  • Cudd_SetTimeLimit()
  • Cudd_UpdateTimeLimit()
  • Cudd_IncreaseTimeLimit()
  • Cudd_UnsetTimeLimit()
  • Cudd_TimeLimited()
  • Cudd_AutodynEnable()
  • Cudd_AutodynDisable()
  • Cudd_ReorderingStatus()
  • Cudd_AutodynEnableZdd()
  • Cudd_AutodynDisableZdd()
  • Cudd_ReorderingStatusZdd()
  • Cudd_zddRealignmentEnabled()
  • Cudd_zddRealignEnable()
  • Cudd_zddRealignDisable()
  • Cudd_bddRealignmentEnabled()
  • Cudd_bddRealignEnable()
  • Cudd_bddRealignDisable()
  • Cudd_ReadOne()
  • Cudd_ReadZddOne()
  • Cudd_ReadZero()
  • Cudd_ReadLogicZero()
  • Cudd_ReadPlusInfinity()
  • Cudd_ReadMinusInfinity()
  • Cudd_ReadBackground()
  • Cudd_SetBackground()
  • Cudd_ReadCacheSlots()
  • Cudd_ReadCacheUsedSlots()
  • Cudd_ReadCacheLookUps()
  • Cudd_ReadCacheHits()
  • Cudd_ReadMinHit()
  • Cudd_SetMinHit()
  • Cudd_ReadLooseUpTo()
  • Cudd_SetLooseUpTo()
  • Cudd_ReadMaxCache()
  • Cudd_ReadMaxCacheHard()
  • Cudd_SetMaxCacheHard()
  • Cudd_ReadSize()
  • Cudd_ReadSlots()
  • Cudd_ReadUsedSlots()
  • Cudd_ExpectedUsedSlots()
  • Cudd_ReadKeys()
  • Cudd_ReadDead()
  • Cudd_ReadMinDead()
  • Cudd_ReadReorderings()
  • Cudd_ReadMaxReorderings()
  • Cudd_SetMaxReorderings()
  • Cudd_ReadReorderingTime()
  • Cudd_ReadGarbageCollections()
  • Cudd_ReadGarbageCollectionTime()
  • Cudd_ReadNodesFreed()
  • Cudd_ReadNodesDropped()
  • Cudd_ReadUniqueLookUps()
  • Cudd_ReadUniqueLinks()
  • Cudd_ReadSiftMaxVar()
  • Cudd_SetSiftMaxVar()
  • Cudd_ReadMaxGrowth()
  • Cudd_SetMaxGrowth()
  • Cudd_ReadMaxGrowthAlternate()
  • Cudd_SetMaxGrowthAlternate()
  • Cudd_ReadReorderingCycle()
  • Cudd_SetReorderingCycle()
  • Cudd_ReadTree()
  • Cudd_SetTree()
  • Cudd_FreeTree()
  • Cudd_ReadZddTree()
  • Cudd_SetZddTree()
  • Cudd_FreeZddTree()
  • Cudd_NodeReadIndex()
  • Cudd_ReadPerm()
  • Cudd_ReadInvPerm()
  • Cudd_ReadVars()
  • Cudd_ReadEpsilon()
  • Cudd_SetEpsilon()
  • Cudd_ReadGroupCheck()
  • Cudd_SetGroupcheck()
  • Cudd_GarbageCollectionEnabled()
  • Cudd_EnableGarbageCollection()
  • Cudd_DisableGarbageCollection()
  • Cudd_DeadAreCounted()
  • Cudd_TurnOnCountDead()
  • Cudd_TurnOffCountDead()
  • Cudd_ReadRecomb()
  • Cudd_SetRecomb()
  • Cudd_ReadSymmviolation()
  • Cudd_SetSymmviolation()
  • Cudd_ReadArcviolation()
  • Cudd_SetArcviolation()
  • Cudd_ReadPopulationSize()
  • Cudd_SetPopulationSize()
  • Cudd_ReadNumberXovers()
  • Cudd_SetNumberXovers()
  • Cudd_ReadOrderRandomization()
  • Cudd_SetOrderRandomization()
  • Cudd_ReadMemoryInUse()
  • Cudd_PrintInfo()
  • Cudd_ReadPeakNodeCount()
  • Cudd_ReadPeakLiveNodeCount()
  • Cudd_ReadNodeCount()
  • Cudd_zddReadNodeCount()
  • Cudd_AddHook()
  • Cudd_RemoveHook()
  • Cudd_IsInHook()
  • Cudd_StdPreReordHook()
  • Cudd_StdPostReordHook()
  • Cudd_EnableReorderingReporting()
  • Cudd_DisableReorderingReporting()
  • Cudd_ReorderingReporting()
  • Cudd_PrintGroupedOrder()
  • Cudd_EnableOrderingMonitoring()
  • Cudd_DisableOrderingMonitoring()
  • Cudd_OrderingMonitoring()
  • Cudd_ReadErrorCode()
  • Cudd_ClearErrorCode()
  • Cudd_ReadStdout()
  • Cudd_SetStdout()
  • Cudd_ReadStderr()
  • Cudd_SetStderr()
  • Cudd_ReadNextReordering()
  • Cudd_SetNextReordering()
  • Cudd_ReadSwapSteps()
  • Cudd_ReadMaxLive()
  • Cudd_SetMaxLive()
  • Cudd_ReadMaxMemory()
  • Cudd_SetMaxMemory()
  • Cudd_bddBindVar()
  • Cudd_bddUnbindVar()
  • Cudd_bddVarIsBound()
  • Cudd_bddSetPiVar()
  • Cudd_bddSetPsVar()
  • Cudd_bddSetNsVar()
  • Cudd_bddIsPiVar()
  • Cudd_bddIsPsVar()
  • Cudd_bddIsNsVar()
  • Cudd_bddSetPairIndex()
  • Cudd_bddReadPairIndex()
  • Cudd_bddSetVarToBeGrouped()
  • Cudd_bddSetVarHardGroup()
  • Cudd_bddResetVarToBeGrouped()
  • Cudd_bddIsVarToBeGrouped()
  • Cudd_bddSetVarToBeUngrouped()
  • Cudd_bddIsVarToBeUngrouped()
  • Cudd_bddIsVarHardGroup()
Static procedures included in this module:
  • fixVarTree()
] SeeAlso [] Author [Fabio Somenzi] Copyright [Copyright (c) 1995-2012, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.] ******************************************************************************/ #include "util.h" #include "cuddInt.h" #ifndef PBORI_FORCE_ORIGINAL_CUDD #include #endif /*---------------------------------------------------------------------------*/ /* Constant declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Stucture declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Type declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Variable declarations */ /*---------------------------------------------------------------------------*/ #ifndef lint static char rcsid[] DD_UNUSED = "$Id: cuddAPI.c,v 1.64 2012/02/05 01:07:18 fabio Exp $"; #endif /*---------------------------------------------------------------------------*/ /* Macro declarations */ /*---------------------------------------------------------------------------*/ /**AutomaticStart*************************************************************/ /*---------------------------------------------------------------------------*/ /* Static function prototypes */ /*---------------------------------------------------------------------------*/ #ifdef PBORI_FORCE_ORIGINAL_CUDD static void fixVarTree (MtrNode *treenode, int *perm, int size); static int addMultiplicityGroups (DdManager *dd, MtrNode *treenode, int multiplicity, char *vmask, char *lmask); #endif /**AutomaticEnd***************************************************************/ /*---------------------------------------------------------------------------*/ /* Definition of exported functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Returns a new ADD variable.] Description [Creates a new ADD variable. The new variable has an index equal to the largest previous index plus 1. Returns a pointer to the new variable if successful; NULL otherwise. An ADD variable differs from a BDD variable because it points to the arithmetic zero, instead of having a complement pointer to 1. ] SideEffects [None] SeeAlso [Cudd_bddNewVar Cudd_addIthVar Cudd_addConst Cudd_addNewVarAtLevel] ******************************************************************************/ #ifdef PBORI_FORCE_ORIGINAL_CUDD DdNode * Cudd_addNewVar( DdManager * dd) { DdNode *res; if ((unsigned int) dd->size >= CUDD_MAXINDEX - 1) return(NULL); do { dd->reordered = 0; res = cuddUniqueInter(dd,dd->size,DD_ONE(dd),DD_ZERO(dd)); } while (dd->reordered == 1); return(res); } /* end of Cudd_addNewVar */ /**Function******************************************************************** Synopsis [Returns a new ADD variable at a specified level.] Description [Creates a new ADD variable. The new variable has an index equal to the largest previous index plus 1 and is positioned at the specified level in the order. Returns a pointer to the new variable if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_addNewVar Cudd_addIthVar Cudd_bddNewVarAtLevel] ******************************************************************************/ DdNode * Cudd_addNewVarAtLevel( DdManager * dd, int level) { DdNode *res; if ((unsigned int) dd->size >= CUDD_MAXINDEX - 1) return(NULL); if (level >= dd->size) return(Cudd_addIthVar(dd,level)); if (!cuddInsertSubtables(dd,1,level)) return(NULL); do { dd->reordered = 0; res = cuddUniqueInter(dd,dd->size - 1,DD_ONE(dd),DD_ZERO(dd)); } while (dd->reordered == 1); return(res); } /* end of Cudd_addNewVarAtLevel */ /**Function******************************************************************** Synopsis [Returns a new BDD variable.] Description [Creates a new BDD variable. The new variable has an index equal to the largest previous index plus 1. Returns a pointer to the new variable if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_addNewVar Cudd_bddIthVar Cudd_bddNewVarAtLevel] ******************************************************************************/ DdNode * Cudd_bddNewVar( DdManager * dd) { DdNode *res; if ((unsigned int) dd->size >= CUDD_MAXINDEX - 1) return(NULL); res = cuddUniqueInter(dd,dd->size,dd->one,Cudd_Not(dd->one)); return(res); } /* end of Cudd_bddNewVar */ /**Function******************************************************************** Synopsis [Returns a new BDD variable at a specified level.] Description [Creates a new BDD variable. The new variable has an index equal to the largest previous index plus 1 and is positioned at the specified level in the order. Returns a pointer to the new variable if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_bddNewVar Cudd_bddIthVar Cudd_addNewVarAtLevel] ******************************************************************************/ DdNode * Cudd_bddNewVarAtLevel( DdManager * dd, int level) { DdNode *res; if ((unsigned int) dd->size >= CUDD_MAXINDEX - 1) return(NULL); if (level >= dd->size) return(Cudd_bddIthVar(dd,level)); if (!cuddInsertSubtables(dd,1,level)) return(NULL); res = dd->vars[dd->size - 1]; return(res); } /* end of Cudd_bddNewVarAtLevel */ /**Function******************************************************************** Synopsis [Returns the ADD variable with index i.] Description [Retrieves the ADD variable with index i if it already exists, or creates a new ADD variable. Returns a pointer to the variable if successful; NULL otherwise. An ADD variable differs from a BDD variable because it points to the arithmetic zero, instead of having a complement pointer to 1. ] SideEffects [None] SeeAlso [Cudd_addNewVar Cudd_bddIthVar Cudd_addConst Cudd_addNewVarAtLevel] ******************************************************************************/ DdNode * Cudd_addIthVar( DdManager * dd, int i) { DdNode *res; if ((unsigned int) i >= CUDD_MAXINDEX - 1) return(NULL); do { dd->reordered = 0; res = cuddUniqueInter(dd,i,DD_ONE(dd),DD_ZERO(dd)); } while (dd->reordered == 1); return(res); } /* end of Cudd_addIthVar */ /**Function******************************************************************** Synopsis [Returns the BDD variable with index i.] Description [Retrieves the BDD variable with index i if it already exists, or creates a new BDD variable. Returns a pointer to the variable if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_bddNewVar Cudd_addIthVar Cudd_bddNewVarAtLevel Cudd_ReadVars] ******************************************************************************/ DdNode * Cudd_bddIthVar( DdManager * dd, int i) { DdNode *res; if ((unsigned int) i >= CUDD_MAXINDEX - 1) return(NULL); if (i < dd->size) { res = dd->vars[i]; } else { res = cuddUniqueInter(dd,i,dd->one,Cudd_Not(dd->one)); } return(res); } /* end of Cudd_bddIthVar */ #endif /**Function******************************************************************** Synopsis [Returns the ZDD variable with index i.] Description [Retrieves the ZDD variable with index i if it already exists, or creates a new ZDD variable. Returns a pointer to the variable if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_bddIthVar Cudd_addIthVar] ******************************************************************************/ DdNode * Cudd_zddIthVar( DdManager * dd, int i) { DdNode *res; DdNode *zvar; DdNode *lower; int j; if ((unsigned int) i >= CUDD_MAXINDEX - 1) return(NULL); /* The i-th variable function has the following structure: ** at the level corresponding to index i there is a node whose "then" ** child points to the universe, and whose "else" child points to zero. ** Above that level there are nodes with identical children. */ /* First we build the node at the level of index i. */ lower = (i < dd->sizeZ - 1) ? dd->univ[dd->permZ[i]+1] : DD_ONE(dd); do { dd->reordered = 0; zvar = cuddUniqueInterZdd(dd, i, lower, DD_ZERO(dd)); } while (dd->reordered == 1); if (zvar == NULL) return(NULL); cuddRef(zvar); /* Now we add the "filler" nodes above the level of index i. */ for (j = dd->permZ[i] - 1; j >= 0; j--) { do { dd->reordered = 0; res = cuddUniqueInterZdd(dd, dd->invpermZ[j], zvar, zvar); } while (dd->reordered == 1); if (res == NULL) { Cudd_RecursiveDerefZdd(dd,zvar); return(NULL); } cuddRef(res); Cudd_RecursiveDerefZdd(dd,zvar); zvar = res; } cuddDeref(zvar); return(zvar); } /* end of Cudd_zddIthVar */ /**Function******************************************************************** Synopsis [Creates one or more ZDD variables for each BDD variable.] Description [Creates one or more ZDD variables for each BDD variable. If some ZDD variables already exist, only the missing variables are created. Parameter multiplicity allows the caller to control how many variables are created for each BDD variable in existence. For instance, if ZDDs are used to represent covers, two ZDD variables are required for each BDD variable. The order of the BDD variables is transferred to the ZDD variables. If a variable group tree exists for the BDD variables, a corresponding ZDD variable group tree is created by expanding the BDD variable tree. In any case, the ZDD variables derived from the same BDD variable are merged in a ZDD variable group. If a ZDD variable group tree exists, it is freed. Returns 1 if successful; 0 otherwise.] SideEffects [None] SeeAlso [Cudd_bddNewVar Cudd_bddIthVar Cudd_bddNewVarAtLevel] ******************************************************************************/ #ifdef PBORI_FORCE_ORIGINAL_CUDD int Cudd_zddVarsFromBddVars( DdManager * dd /* DD manager */, int multiplicity /* how many ZDD variables are created for each BDD variable */) { int res; int i, j; int allnew; int *permutation; if (multiplicity < 1) return(0); allnew = dd->sizeZ == 0; if (dd->size * multiplicity > dd->sizeZ) { res = cuddResizeTableZdd(dd,dd->size * multiplicity - 1); if (res == 0) return(0); } /* Impose the order of the BDD variables to the ZDD variables. */ if (allnew) { for (i = 0; i < dd->size; i++) { for (j = 0; j < multiplicity; j++) { dd->permZ[i * multiplicity + j] = dd->perm[i] * multiplicity + j; dd->invpermZ[dd->permZ[i * multiplicity + j]] = i * multiplicity + j; } } for (i = 0; i < dd->sizeZ; i++) { dd->univ[i]->index = dd->invpermZ[i]; } } else { permutation = ALLOC(int,dd->sizeZ); if (permutation == NULL) { dd->errorCode = CUDD_MEMORY_OUT; return(0); } for (i = 0; i < dd->size; i++) { for (j = 0; j < multiplicity; j++) { permutation[i * multiplicity + j] = dd->invperm[i] * multiplicity + j; } } for (i = dd->size * multiplicity; i < dd->sizeZ; i++) { permutation[i] = i; } res = Cudd_zddShuffleHeap(dd, permutation); FREE(permutation); if (res == 0) return(0); } /* Copy and expand the variable group tree if it exists. */ if (dd->treeZ != NULL) { Cudd_FreeZddTree(dd); } if (dd->tree != NULL) { dd->treeZ = Mtr_CopyTree(dd->tree, multiplicity); if (dd->treeZ == NULL) return(0); } else if (multiplicity > 1) { dd->treeZ = Mtr_InitGroupTree(0, dd->sizeZ); if (dd->treeZ == NULL) return(0); dd->treeZ->index = dd->invpermZ[0]; } /* Create groups for the ZDD variables derived from the same BDD variable. */ if (multiplicity > 1) { char *vmask, *lmask; vmask = ALLOC(char, dd->size); if (vmask == NULL) { dd->errorCode = CUDD_MEMORY_OUT; return(0); } lmask = ALLOC(char, dd->size); if (lmask == NULL) { dd->errorCode = CUDD_MEMORY_OUT; return(0); } for (i = 0; i < dd->size; i++) { vmask[i] = lmask[i] = 0; } res = addMultiplicityGroups(dd,dd->treeZ,multiplicity,vmask,lmask); FREE(vmask); FREE(lmask); if (res == 0) return(0); } return(1); } /* end of Cudd_zddVarsFromBddVars */ #endif /**Function******************************************************************** Synopsis [Returns the ADD for constant c.] Description [Retrieves the ADD for constant c if it already exists, or creates a new ADD. Returns a pointer to the ADD if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_addNewVar Cudd_addIthVar] ******************************************************************************/ DdNode * Cudd_addConst( DdManager * dd, CUDD_VALUE_TYPE c) { return(cuddUniqueConst(dd,c)); } /* end of Cudd_addConst */ /**Function******************************************************************** Synopsis [Returns 1 if a DD node is not constant.] Description [Returns 1 if a DD node is not constant. This function is useful to test the results of Cudd_bddIteConstant, Cudd_addIteConstant, Cudd_addEvalConst. These results may be a special value signifying non-constant. In the other cases the macro Cudd_IsConstant can be used.] SideEffects [None] SeeAlso [Cudd_IsConstant Cudd_bddIteConstant Cudd_addIteConstant Cudd_addEvalConst] ******************************************************************************/ int Cudd_IsNonConstant( DdNode *f) { return(f == DD_NON_CONSTANT || !Cudd_IsConstant(f)); } /* end of Cudd_IsNonConstant */ /**Function******************************************************************** Synopsis [Returns the start time of the manager.] Description [Returns the start time of the manager. This is initially set to the number of milliseconds since the program started, but may be reset by the application.] SideEffects [None] SeeAlso [Cudd_SetStartTime Cudd_ResetStartTime Cudd_ReadTimeLimit] ******************************************************************************/ unsigned long Cudd_ReadStartTime( DdManager * unique) { return unique->startTime; } /* end of Cudd_ReadStartTime */ /**Function******************************************************************** Synopsis [Returns the time elapsed since the start time of the manager.] Description [Returns the time elapsed since the start time of the manager.] SideEffects [None] SeeAlso [Cudd_ReadStartTime Cudd_SetStartTime] ******************************************************************************/ unsigned long Cudd_ReadElapsedTime( DdManager * unique) { return util_cpu_time() - unique->startTime; } /* end of Cudd_ReadElapsedTime */ /**Function******************************************************************** Synopsis [Sets the start time of the manager.] Description [Sets the start time of the manager.] SideEffects [None] SeeAlso [Cudd_ReadStartTime Cudd_ResetStartTime Cudd_ReadElapsedTime Cudd_SetTimeLimit] ******************************************************************************/ void Cudd_SetStartTime( DdManager * unique, unsigned long st) { unique->startTime = st; } /* end of Cudd_SetStartTime */ /**Function******************************************************************** Synopsis [Resets the start time of the manager.] Description [Resets the start time of the manager.] SideEffects [None] SeeAlso [Cudd_ReadStartTime Cudd_SetStartTime Cudd_SetTimeLimit] ******************************************************************************/ void Cudd_ResetStartTime( DdManager * unique) { unique->startTime = util_cpu_time(); } /* end of Cudd_ResetStartTime */ /**Function******************************************************************** Synopsis [Returns the time limit for the manager.] Description [Returns the time limit for the manager. This is initially set to a very large number, but may be reset by the application.] SideEffects [None] SeeAlso [Cudd_SetTimeLimit Cudd_UpdateTimeLimit Cudd_UnsetTimeLimit Cudd_IncreaseTimeLimit Cudd_TimeLimited Cudd_ReadStartTime] ******************************************************************************/ unsigned long Cudd_ReadTimeLimit( DdManager * unique) { return unique->timeLimit; } /* end of Cudd_ReadTimeLimit */ /**Function******************************************************************** Synopsis [Sets the time limit for the manager.] Description [Sets the time limit for the manager.] SideEffects [None] SeeAlso [Cudd_ReadTimeLimit Cudd_UnsetTimeLimit Cudd_UpdateTimeLimit Cudd_IncreaseTimeLimit Cudd_TimeLimited Cudd_SetStartTime] ******************************************************************************/ void Cudd_SetTimeLimit( DdManager * unique, unsigned long tl) { unique->timeLimit = tl; } /* end of Cudd_SetTimeLimit */ /**Function******************************************************************** Synopsis [Updates the time limit for the manager.] Description [Updates the time limit for the manager by subtracting the elapsed time from it.] SideEffects [None] SeeAlso [Cudd_ReadTimeLimit Cudd_SetTimeLimit Cudd_UnsetTimeLimit Cudd_IncreaseTimeLimit Cudd_TimeLimited Cudd_SetStartTime] ******************************************************************************/ void Cudd_UpdateTimeLimit( DdManager * unique) { unsigned long elapsed; if (unique->timeLimit == ~0UL) return; elapsed = util_cpu_time() - unique->startTime; if (unique->timeLimit >= elapsed) { unique->timeLimit -= elapsed; } else { unique->timeLimit = 0; } } /* end of Cudd_UpdateTimeLimit */ /**Function******************************************************************** Synopsis [Increases the time limit for the manager.] Description [Increases the time limit for the manager.] SideEffects [None] SeeAlso [Cudd_ReadTimeLimit Cudd_SetTimeLimit Cudd_UnsetTimeLimit Cudd_UpdateTimeLimit Cudd_TimeLimited Cudd_SetStartTime] ******************************************************************************/ void Cudd_IncreaseTimeLimit( DdManager * unique, unsigned long increase) { if (unique->timeLimit == ~0UL) unique->timeLimit = increase; else unique->timeLimit += increase; } /* end of Cudd_IncreaseTimeLimit */ /**Function******************************************************************** Synopsis [Unsets the time limit for the manager.] Description [Unsets the time limit for the manager. Actually, sets it to a very large value.] SideEffects [None] SeeAlso [Cudd_ReadTimeLimit Cudd_SetTimeLimit Cudd_UpdateTimeLimit Cudd_IncreaseTimeLimit Cudd_TimeLimited Cudd_SetStartTime] ******************************************************************************/ void Cudd_UnsetTimeLimit( DdManager * unique) { unique->timeLimit = ~0UL; } /* end of Cudd_UnsetTimeLimit */ /**Function******************************************************************** Synopsis [Returns true if the time limit for the manager is set.] Description [Returns true if the time limit for the manager is set.] SideEffects [None] SeeAlso [Cudd_ReadTimeLimit Cudd_SetTimeLimit Cudd_UpdateTimeLimit Cudd_UnsetTimeLimit Cudd_IncreaseTimeLimit] ******************************************************************************/ int Cudd_TimeLimited( DdManager * unique) { return unique->timeLimit != ~0UL; } /* end of Cudd_TimeLimited */ /**Function******************************************************************** Synopsis [Enables automatic dynamic reordering of BDDs and ADDs.] Description [Enables automatic dynamic reordering of BDDs and ADDs. Parameter method is used to determine the method used for reordering. If CUDD_REORDER_SAME is passed, the method is unchanged.] SideEffects [None] SeeAlso [Cudd_AutodynDisable Cudd_ReorderingStatus Cudd_AutodynEnableZdd] ******************************************************************************/ void Cudd_AutodynEnable( DdManager * unique, Cudd_ReorderingType method) { unique->autoDyn = 1; if (method != CUDD_REORDER_SAME) { unique->autoMethod = method; } #ifndef DD_NO_DEATH_ROW /* If reordering is enabled, using the death row causes too many ** invocations. Hence, we shrink the death row to just one entry. */ cuddClearDeathRow(unique); unique->deathRowDepth = 1; unique->deadMask = unique->deathRowDepth - 1; if ((unsigned) unique->nextDead > unique->deadMask) { unique->nextDead = 0; } unique->deathRow = REALLOC(DdNodePtr, unique->deathRow, unique->deathRowDepth); #endif return; } /* end of Cudd_AutodynEnable */ /**Function******************************************************************** Synopsis [Disables automatic dynamic reordering.] Description [] SideEffects [None] SeeAlso [Cudd_AutodynEnable Cudd_ReorderingStatus Cudd_AutodynDisableZdd] ******************************************************************************/ void Cudd_AutodynDisable( DdManager * unique) { unique->autoDyn = 0; return; } /* end of Cudd_AutodynDisable */ /**Function******************************************************************** Synopsis [Reports the status of automatic dynamic reordering of BDDs and ADDs.] Description [Reports the status of automatic dynamic reordering of BDDs and ADDs. Parameter method is set to the reordering method currently selected. Returns 1 if automatic reordering is enabled; 0 otherwise.] SideEffects [Parameter method is set to the reordering method currently selected.] SeeAlso [Cudd_AutodynEnable Cudd_AutodynDisable Cudd_ReorderingStatusZdd] ******************************************************************************/ int Cudd_ReorderingStatus( DdManager * unique, Cudd_ReorderingType * method) { *method = unique->autoMethod; return(unique->autoDyn); } /* end of Cudd_ReorderingStatus */ /**Function******************************************************************** Synopsis [Enables automatic dynamic reordering of ZDDs.] Description [Enables automatic dynamic reordering of ZDDs. Parameter method is used to determine the method used for reordering ZDDs. If CUDD_REORDER_SAME is passed, the method is unchanged.] SideEffects [None] SeeAlso [Cudd_AutodynDisableZdd Cudd_ReorderingStatusZdd Cudd_AutodynEnable] ******************************************************************************/ void Cudd_AutodynEnableZdd( DdManager * unique, Cudd_ReorderingType method) { unique->autoDynZ = 1; if (method != CUDD_REORDER_SAME) { unique->autoMethodZ = method; } return; } /* end of Cudd_AutodynEnableZdd */ /**Function******************************************************************** Synopsis [Disables automatic dynamic reordering of ZDDs.] Description [] SideEffects [None] SeeAlso [Cudd_AutodynEnableZdd Cudd_ReorderingStatusZdd Cudd_AutodynDisable] ******************************************************************************/ void Cudd_AutodynDisableZdd( DdManager * unique) { unique->autoDynZ = 0; return; } /* end of Cudd_AutodynDisableZdd */ /**Function******************************************************************** Synopsis [Reports the status of automatic dynamic reordering of ZDDs.] Description [Reports the status of automatic dynamic reordering of ZDDs. Parameter method is set to the ZDD reordering method currently selected. Returns 1 if automatic reordering is enabled; 0 otherwise.] SideEffects [Parameter method is set to the ZDD reordering method currently selected.] SeeAlso [Cudd_AutodynEnableZdd Cudd_AutodynDisableZdd Cudd_ReorderingStatus] ******************************************************************************/ int Cudd_ReorderingStatusZdd( DdManager * unique, Cudd_ReorderingType * method) { *method = unique->autoMethodZ; return(unique->autoDynZ); } /* end of Cudd_ReorderingStatusZdd */ /**Function******************************************************************** Synopsis [Tells whether the realignment of ZDD order to BDD order is enabled.] Description [Returns 1 if the realignment of ZDD order to BDD order is enabled; 0 otherwise.] SideEffects [None] SeeAlso [Cudd_zddRealignEnable Cudd_zddRealignDisable Cudd_bddRealignEnable Cudd_bddRealignDisable] ******************************************************************************/ int Cudd_zddRealignmentEnabled( DdManager * unique) { return(unique->realign); } /* end of Cudd_zddRealignmentEnabled */ /**Function******************************************************************** Synopsis [Enables realignment of ZDD order to BDD order.] Description [Enables realignment of the ZDD variable order to the BDD variable order after the BDDs and ADDs have been reordered. The number of ZDD variables must be a multiple of the number of BDD variables for realignment to make sense. If this condition is not met, Cudd_ReduceHeap will return 0. Let M be the ratio of the two numbers. For the purpose of realignment, the ZDD variables from M*i to (M+1)*i-1 are reagarded as corresponding to BDD variable i. Realignment is initially disabled.] SideEffects [None] SeeAlso [Cudd_ReduceHeap Cudd_zddRealignDisable Cudd_zddRealignmentEnabled Cudd_bddRealignDisable Cudd_bddRealignmentEnabled] ******************************************************************************/ void Cudd_zddRealignEnable( DdManager * unique) { unique->realign = 1; return; } /* end of Cudd_zddRealignEnable */ /**Function******************************************************************** Synopsis [Disables realignment of ZDD order to BDD order.] Description [] SideEffects [None] SeeAlso [Cudd_zddRealignEnable Cudd_zddRealignmentEnabled Cudd_bddRealignEnable Cudd_bddRealignmentEnabled] ******************************************************************************/ void Cudd_zddRealignDisable( DdManager * unique) { unique->realign = 0; return; } /* end of Cudd_zddRealignDisable */ /**Function******************************************************************** Synopsis [Tells whether the realignment of BDD order to ZDD order is enabled.] Description [Returns 1 if the realignment of BDD order to ZDD order is enabled; 0 otherwise.] SideEffects [None] SeeAlso [Cudd_bddRealignEnable Cudd_bddRealignDisable Cudd_zddRealignEnable Cudd_zddRealignDisable] ******************************************************************************/ int Cudd_bddRealignmentEnabled( DdManager * unique) { return(unique->realignZ); } /* end of Cudd_bddRealignmentEnabled */ /**Function******************************************************************** Synopsis [Enables realignment of BDD order to ZDD order.] Description [Enables realignment of the BDD variable order to the ZDD variable order after the ZDDs have been reordered. The number of ZDD variables must be a multiple of the number of BDD variables for realignment to make sense. If this condition is not met, Cudd_zddReduceHeap will return 0. Let M be the ratio of the two numbers. For the purpose of realignment, the ZDD variables from M*i to (M+1)*i-1 are reagarded as corresponding to BDD variable i. Realignment is initially disabled.] SideEffects [None] SeeAlso [Cudd_zddReduceHeap Cudd_bddRealignDisable Cudd_bddRealignmentEnabled Cudd_zddRealignDisable Cudd_zddRealignmentEnabled] ******************************************************************************/ void Cudd_bddRealignEnable( DdManager * unique) { unique->realignZ = 1; return; } /* end of Cudd_bddRealignEnable */ /**Function******************************************************************** Synopsis [Disables realignment of ZDD order to BDD order.] Description [] SideEffects [None] SeeAlso [Cudd_bddRealignEnable Cudd_bddRealignmentEnabled Cudd_zddRealignEnable Cudd_zddRealignmentEnabled] ******************************************************************************/ void Cudd_bddRealignDisable( DdManager * unique) { unique->realignZ = 0; return; } /* end of Cudd_bddRealignDisable */ /**Function******************************************************************** Synopsis [Returns the one constant of the manager.] Description [Returns the one constant of the manager. The one constant is common to ADDs and BDDs.] SideEffects [None] SeeAlso [Cudd_ReadZero Cudd_ReadLogicZero Cudd_ReadZddOne] ******************************************************************************/ DdNode * Cudd_ReadOne( DdManager * dd) { return(dd->one); } /* end of Cudd_ReadOne */ /**Function******************************************************************** Synopsis [Returns the ZDD for the constant 1 function.] Description [Returns the ZDD for the constant 1 function. The representation of the constant 1 function as a ZDD depends on how many variables it (nominally) depends on. The index of the topmost variable in the support is given as argument i.] SideEffects [None] SeeAlso [Cudd_ReadOne] ******************************************************************************/ DdNode * Cudd_ReadZddOne( DdManager * dd, int i) { if (i < 0) return(NULL); return(i < dd->sizeZ ? dd->univ[i] : DD_ONE(dd)); } /* end of Cudd_ReadZddOne */ /**Function******************************************************************** Synopsis [Returns the zero constant of the manager.] Description [Returns the zero constant of the manager. The zero constant is the arithmetic zero, rather than the logic zero. The latter is the complement of the one constant.] SideEffects [None] SeeAlso [Cudd_ReadOne Cudd_ReadLogicZero] ******************************************************************************/ DdNode * Cudd_ReadZero( DdManager * dd) { return(DD_ZERO(dd)); } /* end of Cudd_ReadZero */ /**Function******************************************************************** Synopsis [Returns the logic zero constant of the manager.] Description [Returns the zero constant of the manager. The logic zero constant is the complement of the one constant, and is distinct from the arithmetic zero.] SideEffects [None] SeeAlso [Cudd_ReadOne Cudd_ReadZero] ******************************************************************************/ DdNode * Cudd_ReadLogicZero( DdManager * dd) { return(Cudd_Not(DD_ONE(dd))); } /* end of Cudd_ReadLogicZero */ /**Function******************************************************************** Synopsis [Reads the plus-infinity constant from the manager.] Description [] SideEffects [None] ******************************************************************************/ DdNode * Cudd_ReadPlusInfinity( DdManager * dd) { return(dd->plusinfinity); } /* end of Cudd_ReadPlusInfinity */ /**Function******************************************************************** Synopsis [Reads the minus-infinity constant from the manager.] Description [] SideEffects [None] ******************************************************************************/ DdNode * Cudd_ReadMinusInfinity( DdManager * dd) { return(dd->minusinfinity); } /* end of Cudd_ReadMinusInfinity */ /**Function******************************************************************** Synopsis [Reads the background constant of the manager.] Description [] SideEffects [None] ******************************************************************************/ DdNode * Cudd_ReadBackground( DdManager * dd) { return(dd->background); } /* end of Cudd_ReadBackground */ /**Function******************************************************************** Synopsis [Sets the background constant of the manager.] Description [Sets the background constant of the manager. It assumes that the DdNode pointer bck is already referenced.] SideEffects [None] ******************************************************************************/ void Cudd_SetBackground( DdManager * dd, DdNode * bck) { dd->background = bck; } /* end of Cudd_SetBackground */ /**Function******************************************************************** Synopsis [Reads the number of slots in the cache.] Description [] SideEffects [None] SeeAlso [Cudd_ReadCacheUsedSlots] ******************************************************************************/ unsigned int Cudd_ReadCacheSlots( DdManager * dd) { return(dd->cacheSlots); } /* end of Cudd_ReadCacheSlots */ /**Function******************************************************************** Synopsis [Reads the fraction of used slots in the cache.] Description [Reads the fraction of used slots in the cache. The unused slots are those in which no valid data is stored. Garbage collection, variable reordering, and cache resizing may cause used slots to become unused.] SideEffects [None] SeeAlso [Cudd_ReadCacheSlots] ******************************************************************************/ double Cudd_ReadCacheUsedSlots( DdManager * dd) { unsigned long used = 0; int slots = dd->cacheSlots; DdCache *cache = dd->cache; int i; for (i = 0; i < slots; i++) { used += cache[i].h != 0; } return((double)used / (double) dd->cacheSlots); } /* end of Cudd_ReadCacheUsedSlots */ /**Function******************************************************************** Synopsis [Returns the number of cache look-ups.] Description [Returns the number of cache look-ups.] SideEffects [None] SeeAlso [Cudd_ReadCacheHits] ******************************************************************************/ double Cudd_ReadCacheLookUps( DdManager * dd) { return(dd->cacheHits + dd->cacheMisses + dd->totCachehits + dd->totCacheMisses); } /* end of Cudd_ReadCacheLookUps */ /**Function******************************************************************** Synopsis [Returns the number of cache hits.] Description [] SideEffects [None] SeeAlso [Cudd_ReadCacheLookUps] ******************************************************************************/ double Cudd_ReadCacheHits( DdManager * dd) { return(dd->cacheHits + dd->totCachehits); } /* end of Cudd_ReadCacheHits */ /**Function******************************************************************** Synopsis [Returns the number of recursive calls.] Description [Returns the number of recursive calls if the package is compiled with DD_COUNT defined.] SideEffects [None] SeeAlso [] ******************************************************************************/ double Cudd_ReadRecursiveCalls( DdManager * dd) { #ifdef DD_COUNT return(dd->recursiveCalls); #else return(-1.0); #endif } /* end of Cudd_ReadRecursiveCalls */ /**Function******************************************************************** Synopsis [Reads the hit rate that causes resizinig of the computed table.] Description [] SideEffects [None] SeeAlso [Cudd_SetMinHit] ******************************************************************************/ unsigned int Cudd_ReadMinHit( DdManager * dd) { /* Internally, the package manipulates the ratio of hits to ** misses instead of the ratio of hits to accesses. */ return((unsigned int) (0.5 + 100 * dd->minHit / (1 + dd->minHit))); } /* end of Cudd_ReadMinHit */ /**Function******************************************************************** Synopsis [Sets the hit rate that causes resizinig of the computed table.] Description [Sets the minHit parameter of the manager. This parameter controls the resizing of the computed table. If the hit rate is larger than the specified value, and the cache is not already too large, then its size is doubled.] SideEffects [None] SeeAlso [Cudd_ReadMinHit] ******************************************************************************/ void Cudd_SetMinHit( DdManager * dd, unsigned int hr) { /* Internally, the package manipulates the ratio of hits to ** misses instead of the ratio of hits to accesses. */ dd->minHit = (double) hr / (100.0 - (double) hr); } /* end of Cudd_SetMinHit */ /**Function******************************************************************** Synopsis [Reads the looseUpTo parameter of the manager.] Description [] SideEffects [None] SeeAlso [Cudd_SetLooseUpTo Cudd_ReadMinHit Cudd_ReadMinDead] ******************************************************************************/ unsigned int Cudd_ReadLooseUpTo( DdManager * dd) { return(dd->looseUpTo); } /* end of Cudd_ReadLooseUpTo */ /**Function******************************************************************** Synopsis [Sets the looseUpTo parameter of the manager.] Description [Sets the looseUpTo parameter of the manager. This parameter of the manager controls the threshold beyond which no fast growth of the unique table is allowed. The threshold is given as a number of slots. If the value passed to this function is 0, the function determines a suitable value based on the available memory.] SideEffects [None] SeeAlso [Cudd_ReadLooseUpTo Cudd_SetMinHit] ******************************************************************************/ void Cudd_SetLooseUpTo( DdManager * dd, unsigned int lut) { if (lut == 0) { unsigned long datalimit = getSoftDataLimit(); lut = (unsigned int) (datalimit / (sizeof(DdNode) * DD_MAX_LOOSE_FRACTION)); } dd->looseUpTo = lut; } /* end of Cudd_SetLooseUpTo */ /**Function******************************************************************** Synopsis [Returns the soft limit for the cache size.] Description [Returns the soft limit for the cache size.] SideEffects [None] SeeAlso [Cudd_ReadMaxCacheHard] ******************************************************************************/ unsigned int Cudd_ReadMaxCache( DdManager * dd) { return(2 * dd->cacheSlots + dd->cacheSlack); } /* end of Cudd_ReadMaxCache */ /**Function******************************************************************** Synopsis [Reads the maxCacheHard parameter of the manager.] Description [] SideEffects [None] SeeAlso [Cudd_SetMaxCacheHard Cudd_ReadMaxCache] ******************************************************************************/ unsigned int Cudd_ReadMaxCacheHard( DdManager * dd) { return(dd->maxCacheHard); } /* end of Cudd_ReadMaxCache */ /**Function******************************************************************** Synopsis [Sets the maxCacheHard parameter of the manager.] Description [Sets the maxCacheHard parameter of the manager. The cache cannot grow larger than maxCacheHard entries. This parameter allows an application to control the trade-off of memory versus speed. If the value passed to this function is 0, the function determines a suitable maximum cache size based on the available memory.] SideEffects [None] SeeAlso [Cudd_ReadMaxCacheHard Cudd_SetMaxCache] ******************************************************************************/ void Cudd_SetMaxCacheHard( DdManager * dd, unsigned int mc) { if (mc == 0) { unsigned long datalimit = getSoftDataLimit(); mc = (unsigned int) (datalimit / (sizeof(DdCache) * DD_MAX_CACHE_FRACTION)); } dd->maxCacheHard = mc; } /* end of Cudd_SetMaxCacheHard */ /**Function******************************************************************** Synopsis [Returns the number of BDD variables in existance.] Description [] SideEffects [None] SeeAlso [Cudd_ReadZddSize] ******************************************************************************/ int Cudd_ReadSize( DdManager * dd) { return(dd->size); } /* end of Cudd_ReadSize */ /**Function******************************************************************** Synopsis [Returns the number of ZDD variables in existance.] Description [] SideEffects [None] SeeAlso [Cudd_ReadSize] ******************************************************************************/ int Cudd_ReadZddSize( DdManager * dd) { return(dd->sizeZ); } /* end of Cudd_ReadZddSize */ /**Function******************************************************************** Synopsis [Returns the total number of slots of the unique table.] Description [Returns the total number of slots of the unique table. This number ismainly for diagnostic purposes.] SideEffects [None] ******************************************************************************/ unsigned int Cudd_ReadSlots( DdManager * dd) { return(dd->slots); } /* end of Cudd_ReadSlots */ /**Function******************************************************************** Synopsis [Reads the fraction of used slots in the unique table.] Description [Reads the fraction of used slots in the unique table. The unused slots are those in which no valid data is stored. Garbage collection, variable reordering, and subtable resizing may cause used slots to become unused.] SideEffects [None] SeeAlso [Cudd_ReadSlots] ******************************************************************************/ double Cudd_ReadUsedSlots( DdManager * dd) { unsigned long used = 0; int i, j; int size = dd->size; DdNodePtr *nodelist; DdSubtable *subtable; DdNode *node; DdNode *sentinel = &(dd->sentinel); /* Scan each BDD/ADD subtable. */ for (i = 0; i < size; i++) { subtable = &(dd->subtables[i]); nodelist = subtable->nodelist; for (j = 0; (unsigned) j < subtable->slots; j++) { node = nodelist[j]; if (node != sentinel) { used++; } } } /* Scan the ZDD subtables. */ size = dd->sizeZ; for (i = 0; i < size; i++) { subtable = &(dd->subtableZ[i]); nodelist = subtable->nodelist; for (j = 0; (unsigned) j < subtable->slots; j++) { node = nodelist[j]; if (node != NULL) { used++; } } } /* Constant table. */ subtable = &(dd->constants); nodelist = subtable->nodelist; for (j = 0; (unsigned) j < subtable->slots; j++) { node = nodelist[j]; if (node != NULL) { used++; } } return((double)used / (double) dd->slots); } /* end of Cudd_ReadUsedSlots */ /**Function******************************************************************** Synopsis [Computes the expected fraction of used slots in the unique table.] Description [Computes the fraction of slots in the unique table that should be in use. This expected value is based on the assumption that the hash function distributes the keys randomly; it can be compared with the result of Cudd_ReadUsedSlots to monitor the performance of the unique table hash function.] SideEffects [None] SeeAlso [Cudd_ReadSlots Cudd_ReadUsedSlots] ******************************************************************************/ double Cudd_ExpectedUsedSlots( DdManager * dd) { int i; int size = dd->size; DdSubtable *subtable; double empty = 0.0; /* To each subtable we apply the corollary to Theorem 8.5 (occupancy ** distribution) from Sedgewick and Flajolet's Analysis of Algorithms. ** The corollary says that for a table with M buckets and a load ratio ** of r, the expected number of empty buckets is asymptotically given ** by M * exp(-r). */ /* Scan each BDD/ADD subtable. */ for (i = 0; i < size; i++) { subtable = &(dd->subtables[i]); empty += (double) subtable->slots * exp(-(double) subtable->keys / (double) subtable->slots); } /* Scan the ZDD subtables. */ size = dd->sizeZ; for (i = 0; i < size; i++) { subtable = &(dd->subtableZ[i]); empty += (double) subtable->slots * exp(-(double) subtable->keys / (double) subtable->slots); } /* Constant table. */ subtable = &(dd->constants); empty += (double) subtable->slots * exp(-(double) subtable->keys / (double) subtable->slots); return(1.0 - empty / (double) dd->slots); } /* end of Cudd_ExpectedUsedSlots */ /**Function******************************************************************** Synopsis [Returns the number of nodes in the unique table.] Description [Returns the total number of nodes currently in the unique table, including the dead nodes.] SideEffects [None] SeeAlso [Cudd_ReadDead] ******************************************************************************/ unsigned int Cudd_ReadKeys( DdManager * dd) { return(dd->keys); } /* end of Cudd_ReadKeys */ /**Function******************************************************************** Synopsis [Returns the number of dead nodes in the unique table.] Description [] SideEffects [None] SeeAlso [Cudd_ReadKeys] ******************************************************************************/ unsigned int Cudd_ReadDead( DdManager * dd) { return(dd->dead); } /* end of Cudd_ReadDead */ /**Function******************************************************************** Synopsis [Reads the minDead parameter of the manager.] Description [Reads the minDead parameter of the manager. The minDead parameter is used by the package to decide whether to collect garbage or resize a subtable of the unique table when the subtable becomes too full. The application can indirectly control the value of minDead by setting the looseUpTo parameter.] SideEffects [None] SeeAlso [Cudd_ReadDead Cudd_ReadLooseUpTo Cudd_SetLooseUpTo] ******************************************************************************/ unsigned int Cudd_ReadMinDead( DdManager * dd) { return(dd->minDead); } /* end of Cudd_ReadMinDead */ /**Function******************************************************************** Synopsis [Returns the number of times reordering has occurred.] Description [Returns the number of times reordering has occurred in the manager. The number includes both the calls to Cudd_ReduceHeap from the application program and those automatically performed by the package. However, calls that do not even initiate reordering are not counted. A call may not initiate reordering if there are fewer than minsize live nodes in the manager, or if CUDD_REORDER_NONE is specified as reordering method. The calls to Cudd_ShuffleHeap are not counted.] SideEffects [None] SeeAlso [Cudd_ReduceHeap Cudd_ReadReorderingTime] ******************************************************************************/ unsigned int Cudd_ReadReorderings( DdManager * dd) { return(dd->reorderings); } /* end of Cudd_ReadReorderings */ /**Function******************************************************************** Synopsis [Returns the maximum number of times reordering may be invoked.] Description [Returns the maximum number of times reordering may be invoked in this manager.] SideEffects [None] SeeAlso [Cudd_ReadReorderings Cudd_SetMaxReorderings Cudd_ReduceHeap] ******************************************************************************/ unsigned int Cudd_ReadMaxReorderings( DdManager * dd) { return(dd->maxReorderings); } /* end of Cudd_ReadMaxReorderings */ /**Function******************************************************************** Synopsis [Sets the maximum number of times reordering may be invoked.] Description [Sets the maximum number of times reordering may be invoked in this manager. The default value is (practically) infinite.] SideEffects [None] SeeAlso [Cudd_ReadReorderings Cudd_ReadMaxReorderings Cudd_ReduceHeap] ******************************************************************************/ void Cudd_SetMaxReorderings( DdManager * dd, unsigned int mr) { dd->maxReorderings = mr; } /* end of Cudd_SetMaxReorderings */ /**Function******************************************************************** Synopsis [Returns the time spent in reordering.] Description [Returns the number of milliseconds spent reordering variables since the manager was initialized. The time spent in collecting garbage before reordering is included.] SideEffects [None] SeeAlso [Cudd_ReadReorderings] ******************************************************************************/ long Cudd_ReadReorderingTime( DdManager * dd) { return(dd->reordTime); } /* end of Cudd_ReadReorderingTime */ /**Function******************************************************************** Synopsis [Returns the number of times garbage collection has occurred.] Description [Returns the number of times garbage collection has occurred in the manager. The number includes both the calls from reordering procedures and those caused by requests to create new nodes.] SideEffects [None] SeeAlso [Cudd_ReadGarbageCollectionTime] ******************************************************************************/ int Cudd_ReadGarbageCollections( DdManager * dd) { return(dd->garbageCollections); } /* end of Cudd_ReadGarbageCollections */ /**Function******************************************************************** Synopsis [Returns the time spent in garbage collection.] Description [Returns the number of milliseconds spent doing garbage collection since the manager was initialized.] SideEffects [None] SeeAlso [Cudd_ReadGarbageCollections] ******************************************************************************/ long Cudd_ReadGarbageCollectionTime( DdManager * dd) { return(dd->GCTime); } /* end of Cudd_ReadGarbageCollectionTime */ /**Function******************************************************************** Synopsis [Returns the number of nodes freed.] Description [Returns the number of nodes returned to the free list if the keeping of this statistic is enabled; -1 otherwise. This statistic is enabled only if the package is compiled with DD_STATS defined.] SideEffects [None] SeeAlso [Cudd_ReadNodesDropped] ******************************************************************************/ double Cudd_ReadNodesFreed( DdManager * dd) { #ifdef DD_STATS return(dd->nodesFreed); #else return(-1.0); #endif } /* end of Cudd_ReadNodesFreed */ /**Function******************************************************************** Synopsis [Returns the number of nodes dropped.] Description [Returns the number of nodes killed by dereferencing if the keeping of this statistic is enabled; -1 otherwise. This statistic is enabled only if the package is compiled with DD_STATS defined.] SideEffects [None] SeeAlso [Cudd_ReadNodesFreed] ******************************************************************************/ double Cudd_ReadNodesDropped( DdManager * dd) { #ifdef DD_STATS return(dd->nodesDropped); #else return(-1.0); #endif } /* end of Cudd_ReadNodesDropped */ /**Function******************************************************************** Synopsis [Returns the number of look-ups in the unique table.] Description [Returns the number of look-ups in the unique table if the keeping of this statistic is enabled; -1 otherwise. This statistic is enabled only if the package is compiled with DD_UNIQUE_PROFILE defined.] SideEffects [None] SeeAlso [Cudd_ReadUniqueLinks] ******************************************************************************/ double Cudd_ReadUniqueLookUps( DdManager * dd) { #ifdef DD_UNIQUE_PROFILE return(dd->uniqueLookUps); #else return(-1.0); #endif } /* end of Cudd_ReadUniqueLookUps */ /**Function******************************************************************** Synopsis [Returns the number of links followed in the unique table.] Description [Returns the number of links followed during look-ups in the unique table if the keeping of this statistic is enabled; -1 otherwise. If an item is found in the first position of its collision list, the number of links followed is taken to be 0. If it is in second position, the number of links is 1, and so on. This statistic is enabled only if the package is compiled with DD_UNIQUE_PROFILE defined.] SideEffects [None] SeeAlso [Cudd_ReadUniqueLookUps] ******************************************************************************/ double Cudd_ReadUniqueLinks( DdManager * dd) { #ifdef DD_UNIQUE_PROFILE return(dd->uniqueLinks); #else return(-1.0); #endif } /* end of Cudd_ReadUniqueLinks */ /**Function******************************************************************** Synopsis [Reads the siftMaxVar parameter of the manager.] Description [Reads the siftMaxVar parameter of the manager. This parameter gives the maximum number of variables that will be sifted for each invocation of sifting.] SideEffects [None] SeeAlso [Cudd_ReadSiftMaxSwap Cudd_SetSiftMaxVar] ******************************************************************************/ int Cudd_ReadSiftMaxVar( DdManager * dd) { return(dd->siftMaxVar); } /* end of Cudd_ReadSiftMaxVar */ /**Function******************************************************************** Synopsis [Sets the siftMaxVar parameter of the manager.] Description [Sets the siftMaxVar parameter of the manager. This parameter gives the maximum number of variables that will be sifted for each invocation of sifting.] SideEffects [None] SeeAlso [Cudd_SetSiftMaxSwap Cudd_ReadSiftMaxVar] ******************************************************************************/ void Cudd_SetSiftMaxVar( DdManager * dd, int smv) { dd->siftMaxVar = smv; } /* end of Cudd_SetSiftMaxVar */ /**Function******************************************************************** Synopsis [Reads the siftMaxSwap parameter of the manager.] Description [Reads the siftMaxSwap parameter of the manager. This parameter gives the maximum number of swaps that will be attempted for each invocation of sifting. The real number of swaps may exceed the set limit because the package will always complete the sifting of the variable that causes the limit to be reached.] SideEffects [None] SeeAlso [Cudd_ReadSiftMaxVar Cudd_SetSiftMaxSwap] ******************************************************************************/ int Cudd_ReadSiftMaxSwap( DdManager * dd) { return(dd->siftMaxSwap); } /* end of Cudd_ReadSiftMaxSwap */ /**Function******************************************************************** Synopsis [Sets the siftMaxSwap parameter of the manager.] Description [Sets the siftMaxSwap parameter of the manager. This parameter gives the maximum number of swaps that will be attempted for each invocation of sifting. The real number of swaps may exceed the set limit because the package will always complete the sifting of the variable that causes the limit to be reached.] SideEffects [None] SeeAlso [Cudd_SetSiftMaxVar Cudd_ReadSiftMaxSwap] ******************************************************************************/ void Cudd_SetSiftMaxSwap( DdManager * dd, int sms) { dd->siftMaxSwap = sms; } /* end of Cudd_SetSiftMaxSwap */ /**Function******************************************************************** Synopsis [Reads the maxGrowth parameter of the manager.] Description [Reads the maxGrowth parameter of the manager. This parameter determines how much the number of nodes can grow during sifting of a variable. Overall, sifting never increases the size of the decision diagrams. This parameter only refers to intermediate results. A lower value will speed up sifting, possibly at the expense of quality.] SideEffects [None] SeeAlso [Cudd_SetMaxGrowth Cudd_ReadMaxGrowthAlternate] ******************************************************************************/ double Cudd_ReadMaxGrowth( DdManager * dd) { return(dd->maxGrowth); } /* end of Cudd_ReadMaxGrowth */ /**Function******************************************************************** Synopsis [Sets the maxGrowth parameter of the manager.] Description [Sets the maxGrowth parameter of the manager. This parameter determines how much the number of nodes can grow during sifting of a variable. Overall, sifting never increases the size of the decision diagrams. This parameter only refers to intermediate results. A lower value will speed up sifting, possibly at the expense of quality.] SideEffects [None] SeeAlso [Cudd_ReadMaxGrowth Cudd_SetMaxGrowthAlternate] ******************************************************************************/ void Cudd_SetMaxGrowth( DdManager * dd, double mg) { dd->maxGrowth = mg; } /* end of Cudd_SetMaxGrowth */ /**Function******************************************************************** Synopsis [Reads the maxGrowthAlt parameter of the manager.] Description [Reads the maxGrowthAlt parameter of the manager. This parameter is analogous to the maxGrowth paramter, and is used every given number of reorderings instead of maxGrowth. The number of reorderings is set with Cudd_SetReorderingCycle. If the number of reorderings is 0 (default) maxGrowthAlt is never used.] SideEffects [None] SeeAlso [Cudd_ReadMaxGrowth Cudd_SetMaxGrowthAlternate Cudd_SetReorderingCycle Cudd_ReadReorderingCycle] ******************************************************************************/ double Cudd_ReadMaxGrowthAlternate( DdManager * dd) { return(dd->maxGrowthAlt); } /* end of Cudd_ReadMaxGrowthAlternate */ /**Function******************************************************************** Synopsis [Sets the maxGrowthAlt parameter of the manager.] Description [Sets the maxGrowthAlt parameter of the manager. This parameter is analogous to the maxGrowth paramter, and is used every given number of reorderings instead of maxGrowth. The number of reorderings is set with Cudd_SetReorderingCycle. If the number of reorderings is 0 (default) maxGrowthAlt is never used.] SideEffects [None] SeeAlso [Cudd_ReadMaxGrowthAlternate Cudd_SetMaxGrowth Cudd_SetReorderingCycle Cudd_ReadReorderingCycle] ******************************************************************************/ void Cudd_SetMaxGrowthAlternate( DdManager * dd, double mg) { dd->maxGrowthAlt = mg; } /* end of Cudd_SetMaxGrowthAlternate */ /**Function******************************************************************** Synopsis [Reads the reordCycle parameter of the manager.] Description [Reads the reordCycle parameter of the manager. This parameter determines how often the alternate threshold on maximum growth is used in reordering.] SideEffects [None] SeeAlso [Cudd_ReadMaxGrowthAlternate Cudd_SetMaxGrowthAlternate Cudd_SetReorderingCycle] ******************************************************************************/ int Cudd_ReadReorderingCycle( DdManager * dd) { return(dd->reordCycle); } /* end of Cudd_ReadReorderingCycle */ /**Function******************************************************************** Synopsis [Sets the reordCycle parameter of the manager.] Description [Sets the reordCycle parameter of the manager. This parameter determines how often the alternate threshold on maximum growth is used in reordering.] SideEffects [None] SeeAlso [Cudd_ReadMaxGrowthAlternate Cudd_SetMaxGrowthAlternate Cudd_ReadReorderingCycle] ******************************************************************************/ void Cudd_SetReorderingCycle( DdManager * dd, int cycle) { dd->reordCycle = cycle; } /* end of Cudd_SetReorderingCycle */ /**Function******************************************************************** Synopsis [Returns the variable group tree of the manager.] Description [] SideEffects [None] SeeAlso [Cudd_SetTree Cudd_FreeTree Cudd_ReadZddTree] ******************************************************************************/ #ifdef PBORI_FORCE_ORIGINAL_CUDD MtrNode * Cudd_ReadTree( DdManager * dd) { return(dd->tree); } /* end of Cudd_ReadTree */ /**Function******************************************************************** Synopsis [Sets the variable group tree of the manager.] Description [] SideEffects [None] SeeAlso [Cudd_FreeTree Cudd_ReadTree Cudd_SetZddTree] ******************************************************************************/ void Cudd_SetTree( DdManager * dd, MtrNode * tree) { if (dd->tree != NULL) { Mtr_FreeTree(dd->tree); } dd->tree = tree; if (tree == NULL) return; fixVarTree(tree, dd->perm, dd->size); return; } /* end of Cudd_SetTree */ /**Function******************************************************************** Synopsis [Frees the variable group tree of the manager.] Description [] SideEffects [None] SeeAlso [Cudd_SetTree Cudd_ReadTree Cudd_FreeZddTree] ******************************************************************************/ void Cudd_FreeTree( DdManager * dd) { if (dd->tree != NULL) { Mtr_FreeTree(dd->tree); dd->tree = NULL; } return; } /* end of Cudd_FreeTree */ /**Function******************************************************************** Synopsis [Returns the variable group tree of the manager.] Description [] SideEffects [None] SeeAlso [Cudd_SetZddTree Cudd_FreeZddTree Cudd_ReadTree] ******************************************************************************/ MtrNode * Cudd_ReadZddTree( DdManager * dd) { return(dd->treeZ); } /* end of Cudd_ReadZddTree */ /**Function******************************************************************** Synopsis [Sets the ZDD variable group tree of the manager.] Description [] SideEffects [None] SeeAlso [Cudd_FreeZddTree Cudd_ReadZddTree Cudd_SetTree] ******************************************************************************/ void Cudd_SetZddTree( DdManager * dd, MtrNode * tree) { if (dd->treeZ != NULL) { Mtr_FreeTree(dd->treeZ); } dd->treeZ = tree; if (tree == NULL) return; fixVarTree(tree, dd->permZ, dd->sizeZ); return; } /* end of Cudd_SetZddTree */ /**Function******************************************************************** Synopsis [Frees the variable group tree of the manager.] Description [] SideEffects [None] SeeAlso [Cudd_SetZddTree Cudd_ReadZddTree Cudd_FreeTree] ******************************************************************************/ void Cudd_FreeZddTree( DdManager * dd) { if (dd->treeZ != NULL) { Mtr_FreeTree(dd->treeZ); dd->treeZ = NULL; } return; } /* end of Cudd_FreeZddTree */ #endif /**Function******************************************************************** Synopsis [Returns the index of the node.] Description [Returns the index of the node. The node pointer can be either regular or complemented.] SideEffects [None] SeeAlso [Cudd_ReadIndex] ******************************************************************************/ unsigned int Cudd_NodeReadIndex( DdNode * node) { return((unsigned int) Cudd_Regular(node)->index); } /* end of Cudd_NodeReadIndex */ /**Function******************************************************************** Synopsis [Returns the current position of the i-th variable in the order.] Description [Returns the current position of the i-th variable in the order. If the index is CUDD_CONST_INDEX, returns CUDD_CONST_INDEX; otherwise, if the index is out of bounds returns -1.] SideEffects [None] SeeAlso [Cudd_ReadInvPerm Cudd_ReadPermZdd] ******************************************************************************/ int Cudd_ReadPerm( DdManager * dd, int i) { if (i == CUDD_CONST_INDEX) return(CUDD_CONST_INDEX); if (i < 0 || i >= dd->size) return(-1); return(dd->perm[i]); } /* end of Cudd_ReadPerm */ /**Function******************************************************************** Synopsis [Returns the current position of the i-th ZDD variable in the order.] Description [Returns the current position of the i-th ZDD variable in the order. If the index is CUDD_CONST_INDEX, returns CUDD_CONST_INDEX; otherwise, if the index is out of bounds returns -1.] SideEffects [None] SeeAlso [Cudd_ReadInvPermZdd Cudd_ReadPerm] ******************************************************************************/ int Cudd_ReadPermZdd( DdManager * dd, int i) { if (i == CUDD_CONST_INDEX) return(CUDD_CONST_INDEX); if (i < 0 || i >= dd->sizeZ) return(-1); return(dd->permZ[i]); } /* end of Cudd_ReadPermZdd */ /**Function******************************************************************** Synopsis [Returns the index of the variable currently in the i-th position of the order.] Description [Returns the index of the variable currently in the i-th position of the order. If the index is CUDD_CONST_INDEX, returns CUDD_CONST_INDEX; otherwise, if the index is out of bounds returns -1.] SideEffects [None] SeeAlso [Cudd_ReadPerm Cudd_ReadInvPermZdd] ******************************************************************************/ int Cudd_ReadInvPerm( DdManager * dd, int i) { if (i == CUDD_CONST_INDEX) return(CUDD_CONST_INDEX); if (i < 0 || i >= dd->size) return(-1); return(dd->invperm[i]); } /* end of Cudd_ReadInvPerm */ /**Function******************************************************************** Synopsis [Returns the index of the ZDD variable currently in the i-th position of the order.] Description [Returns the index of the ZDD variable currently in the i-th position of the order. If the index is CUDD_CONST_INDEX, returns CUDD_CONST_INDEX; otherwise, if the index is out of bounds returns -1.] SideEffects [None] SeeAlso [Cudd_ReadPerm Cudd_ReadInvPermZdd] ******************************************************************************/ int Cudd_ReadInvPermZdd( DdManager * dd, int i) { if (i == CUDD_CONST_INDEX) return(CUDD_CONST_INDEX); if (i < 0 || i >= dd->sizeZ) return(-1); return(dd->invpermZ[i]); } /* end of Cudd_ReadInvPermZdd */ /**Function******************************************************************** Synopsis [Returns the i-th element of the vars array.] Description [Returns the i-th element of the vars array if it falls within the array bounds; NULL otherwise. If i is the index of an existing variable, this function produces the same result as Cudd_bddIthVar. However, if the i-th var does not exist yet, Cudd_bddIthVar will create it, whereas Cudd_ReadVars will not.] SideEffects [None] SeeAlso [Cudd_bddIthVar] ******************************************************************************/ DdNode * Cudd_ReadVars( DdManager * dd, int i) { if (i < 0 || i > dd->size) return(NULL); return(dd->vars[i]); } /* end of Cudd_ReadVars */ /**Function******************************************************************** Synopsis [Reads the epsilon parameter of the manager.] Description [Reads the epsilon parameter of the manager. The epsilon parameter control the comparison between floating point numbers.] SideEffects [None] SeeAlso [Cudd_SetEpsilon] ******************************************************************************/ CUDD_VALUE_TYPE Cudd_ReadEpsilon( DdManager * dd) { return(dd->epsilon); } /* end of Cudd_ReadEpsilon */ /**Function******************************************************************** Synopsis [Sets the epsilon parameter of the manager to ep.] Description [Sets the epsilon parameter of the manager to ep. The epsilon parameter control the comparison between floating point numbers.] SideEffects [None] SeeAlso [Cudd_ReadEpsilon] ******************************************************************************/ void Cudd_SetEpsilon( DdManager * dd, CUDD_VALUE_TYPE ep) { dd->epsilon = ep; } /* end of Cudd_SetEpsilon */ /**Function******************************************************************** Synopsis [Reads the groupcheck parameter of the manager.] Description [Reads the groupcheck parameter of the manager. The groupcheck parameter determines the aggregation criterion in group sifting.] SideEffects [None] SeeAlso [Cudd_SetGroupcheck] ******************************************************************************/ Cudd_AggregationType Cudd_ReadGroupcheck( DdManager * dd) { return(dd->groupcheck); } /* end of Cudd_ReadGroupCheck */ /**Function******************************************************************** Synopsis [Sets the parameter groupcheck of the manager to gc.] Description [Sets the parameter groupcheck of the manager to gc. The groupcheck parameter determines the aggregation criterion in group sifting.] SideEffects [None] SeeAlso [Cudd_ReadGroupCheck] ******************************************************************************/ void Cudd_SetGroupcheck( DdManager * dd, Cudd_AggregationType gc) { dd->groupcheck = gc; } /* end of Cudd_SetGroupcheck */ /**Function******************************************************************** Synopsis [Tells whether garbage collection is enabled.] Description [Returns 1 if garbage collection is enabled; 0 otherwise.] SideEffects [None] SeeAlso [Cudd_EnableGarbageCollection Cudd_DisableGarbageCollection] ******************************************************************************/ int Cudd_GarbageCollectionEnabled( DdManager * dd) { return(dd->gcEnabled); } /* end of Cudd_GarbageCollectionEnabled */ /**Function******************************************************************** Synopsis [Enables garbage collection.] Description [Enables garbage collection. Garbage collection is initially enabled. Therefore it is necessary to call this function only if garbage collection has been explicitly disabled.] SideEffects [None] SeeAlso [Cudd_DisableGarbageCollection Cudd_GarbageCollectionEnabled] ******************************************************************************/ void Cudd_EnableGarbageCollection( DdManager * dd) { dd->gcEnabled = 1; } /* end of Cudd_EnableGarbageCollection */ /**Function******************************************************************** Synopsis [Disables garbage collection.] Description [Disables garbage collection. Garbage collection is initially enabled. This function may be called to disable it. However, garbage collection will still occur when a new node must be created and no memory is left, or when garbage collection is required for correctness. (E.g., before reordering.)] SideEffects [None] SeeAlso [Cudd_EnableGarbageCollection Cudd_GarbageCollectionEnabled] ******************************************************************************/ void Cudd_DisableGarbageCollection( DdManager * dd) { dd->gcEnabled = 0; } /* end of Cudd_DisableGarbageCollection */ /**Function******************************************************************** Synopsis [Tells whether dead nodes are counted towards triggering reordering.] Description [Tells whether dead nodes are counted towards triggering reordering. Returns 1 if dead nodes are counted; 0 otherwise.] SideEffects [None] SeeAlso [Cudd_TurnOnCountDead Cudd_TurnOffCountDead] ******************************************************************************/ int Cudd_DeadAreCounted( DdManager * dd) { return(dd->countDead == 0 ? 1 : 0); } /* end of Cudd_DeadAreCounted */ /**Function******************************************************************** Synopsis [Causes the dead nodes to be counted towards triggering reordering.] Description [Causes the dead nodes to be counted towards triggering reordering. This causes more frequent reorderings. By default dead nodes are not counted.] SideEffects [Changes the manager.] SeeAlso [Cudd_TurnOffCountDead Cudd_DeadAreCounted] ******************************************************************************/ void Cudd_TurnOnCountDead( DdManager * dd) { dd->countDead = 0; } /* end of Cudd_TurnOnCountDead */ /**Function******************************************************************** Synopsis [Causes the dead nodes not to be counted towards triggering reordering.] Description [Causes the dead nodes not to be counted towards triggering reordering. This causes less frequent reorderings. By default dead nodes are not counted. Therefore there is no need to call this function unless Cudd_TurnOnCountDead has been previously called.] SideEffects [Changes the manager.] SeeAlso [Cudd_TurnOnCountDead Cudd_DeadAreCounted] ******************************************************************************/ void Cudd_TurnOffCountDead( DdManager * dd) { dd->countDead = ~0; } /* end of Cudd_TurnOffCountDead */ /**Function******************************************************************** Synopsis [Returns the current value of the recombination parameter used in group sifting.] Description [Returns the current value of the recombination parameter used in group sifting. A larger (positive) value makes the aggregation of variables due to the second difference criterion more likely. A smaller (negative) value makes aggregation less likely.] SideEffects [None] SeeAlso [Cudd_SetRecomb] ******************************************************************************/ int Cudd_ReadRecomb( DdManager * dd) { return(dd->recomb); } /* end of Cudd_ReadRecomb */ /**Function******************************************************************** Synopsis [Sets the value of the recombination parameter used in group sifting.] Description [Sets the value of the recombination parameter used in group sifting. A larger (positive) value makes the aggregation of variables due to the second difference criterion more likely. A smaller (negative) value makes aggregation less likely. The default value is 0.] SideEffects [Changes the manager.] SeeAlso [Cudd_ReadRecomb] ******************************************************************************/ void Cudd_SetRecomb( DdManager * dd, int recomb) { dd->recomb = recomb; } /* end of Cudd_SetRecomb */ /**Function******************************************************************** Synopsis [Returns the current value of the symmviolation parameter used in group sifting.] Description [Returns the current value of the symmviolation parameter. This parameter is used in group sifting to decide how many violations to the symmetry conditions f10 = f01 or f11 = f00 are tolerable when checking for aggregation due to extended symmetry. The value should be between 0 and 100. A small value causes fewer variables to be aggregated. The default value is 0.] SideEffects [None] SeeAlso [Cudd_SetSymmviolation] ******************************************************************************/ int Cudd_ReadSymmviolation( DdManager * dd) { return(dd->symmviolation); } /* end of Cudd_ReadSymmviolation */ /**Function******************************************************************** Synopsis [Sets the value of the symmviolation parameter used in group sifting.] Description [Sets the value of the symmviolation parameter. This parameter is used in group sifting to decide how many violations to the symmetry conditions f10 = f01 or f11 = f00 are tolerable when checking for aggregation due to extended symmetry. The value should be between 0 and 100. A small value causes fewer variables to be aggregated. The default value is 0.] SideEffects [Changes the manager.] SeeAlso [Cudd_ReadSymmviolation] ******************************************************************************/ void Cudd_SetSymmviolation( DdManager * dd, int symmviolation) { dd->symmviolation = symmviolation; } /* end of Cudd_SetSymmviolation */ /**Function******************************************************************** Synopsis [Returns the current value of the arcviolation parameter used in group sifting.] Description [Returns the current value of the arcviolation parameter. This parameter is used in group sifting to decide how many arcs into y not coming from x are tolerable when checking for aggregation due to extended symmetry. The value should be between 0 and 100. A small value causes fewer variables to be aggregated. The default value is 0.] SideEffects [None] SeeAlso [Cudd_SetArcviolation] ******************************************************************************/ int Cudd_ReadArcviolation( DdManager * dd) { return(dd->arcviolation); } /* end of Cudd_ReadArcviolation */ /**Function******************************************************************** Synopsis [Sets the value of the arcviolation parameter used in group sifting.] Description [Sets the value of the arcviolation parameter. This parameter is used in group sifting to decide how many arcs into y not coming from x are tolerable when checking for aggregation due to extended symmetry. The value should be between 0 and 100. A small value causes fewer variables to be aggregated. The default value is 0.] SideEffects [None] SeeAlso [Cudd_ReadArcviolation] ******************************************************************************/ void Cudd_SetArcviolation( DdManager * dd, int arcviolation) { dd->arcviolation = arcviolation; } /* end of Cudd_SetArcviolation */ /**Function******************************************************************** Synopsis [Reads the current size of the population used by the genetic algorithm for reordering.] Description [Reads the current size of the population used by the genetic algorithm for variable reordering. A larger population size will cause the genetic algorithm to take more time, but will generally produce better results. The default value is 0, in which case the package uses three times the number of variables as population size, with a maximum of 120.] SideEffects [None] SeeAlso [Cudd_SetPopulationSize] ******************************************************************************/ int Cudd_ReadPopulationSize( DdManager * dd) { return(dd->populationSize); } /* end of Cudd_ReadPopulationSize */ /**Function******************************************************************** Synopsis [Sets the size of the population used by the genetic algorithm for reordering.] Description [Sets the size of the population used by the genetic algorithm for variable reordering. A larger population size will cause the genetic algorithm to take more time, but will generally produce better results. The default value is 0, in which case the package uses three times the number of variables as population size, with a maximum of 120.] SideEffects [Changes the manager.] SeeAlso [Cudd_ReadPopulationSize] ******************************************************************************/ void Cudd_SetPopulationSize( DdManager * dd, int populationSize) { dd->populationSize = populationSize; } /* end of Cudd_SetPopulationSize */ /**Function******************************************************************** Synopsis [Reads the current number of crossovers used by the genetic algorithm for reordering.] Description [Reads the current number of crossovers used by the genetic algorithm for variable reordering. A larger number of crossovers will cause the genetic algorithm to take more time, but will generally produce better results. The default value is 0, in which case the package uses three times the number of variables as number of crossovers, with a maximum of 60.] SideEffects [None] SeeAlso [Cudd_SetNumberXovers] ******************************************************************************/ int Cudd_ReadNumberXovers( DdManager * dd) { return(dd->numberXovers); } /* end of Cudd_ReadNumberXovers */ /**Function******************************************************************** Synopsis [Sets the number of crossovers used by the genetic algorithm for reordering.] Description [Sets the number of crossovers used by the genetic algorithm for variable reordering. A larger number of crossovers will cause the genetic algorithm to take more time, but will generally produce better results. The default value is 0, in which case the package uses three times the number of variables as number of crossovers, with a maximum of 60.] SideEffects [None] SeeAlso [Cudd_ReadNumberXovers] ******************************************************************************/ void Cudd_SetNumberXovers( DdManager * dd, int numberXovers) { dd->numberXovers = numberXovers; } /* end of Cudd_SetNumberXovers */ /**Function******************************************************************** Synopsis [Returns the order randomization factor.] Description [Returns the order randomization factor. If non-zero this factor is used to determine a perturbation of the next reordering threshold. Larger factors cause larger perturbations.] SideEffects [None] SeeAlso [Cudd_SetOrderRandomization] ******************************************************************************/ unsigned int Cudd_ReadOrderRandomization( DdManager * dd) { return(dd->randomizeOrder); } /* end of Cudd_ReadOrderRandomization */ /**Function******************************************************************** Synopsis [Sets the order randomization factor.] Description [] SideEffects [None] SeeAlso [Cudd_ReadOrderRandomization] ******************************************************************************/ void Cudd_SetOrderRandomization( DdManager * dd, unsigned int factor) { dd->randomizeOrder = factor; } /* end of Cudd_SetOrderRandomization */ /**Function******************************************************************** Synopsis [Returns the memory in use by the manager measured in bytes.] Description [] SideEffects [None] SeeAlso [] ******************************************************************************/ unsigned long Cudd_ReadMemoryInUse( DdManager * dd) { return(dd->memused); } /* end of Cudd_ReadMemoryInUse */ /**Function******************************************************************** Synopsis [Prints out statistics and settings for a CUDD manager.] Description [Prints out statistics and settings for a CUDD manager. Returns 1 if successful; 0 otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ int Cudd_PrintInfo( DdManager * dd, FILE * fp) { int retval; Cudd_ReorderingType autoMethod, autoMethodZ; /* Modifiable parameters. */ retval = fprintf(fp,"**** CUDD modifiable parameters ****\n"); if (retval == EOF) return(0); retval = fprintf(fp,"Hard limit for cache size: %u\n", Cudd_ReadMaxCacheHard(dd)); if (retval == EOF) return(0); retval = fprintf(fp,"Cache hit threshold for resizing: %u%%\n", Cudd_ReadMinHit(dd)); if (retval == EOF) return(0); retval = fprintf(fp,"Garbage collection enabled: %s\n", Cudd_GarbageCollectionEnabled(dd) ? "yes" : "no"); if (retval == EOF) return(0); retval = fprintf(fp,"Limit for fast unique table growth: %u\n", Cudd_ReadLooseUpTo(dd)); if (retval == EOF) return(0); retval = fprintf(fp, "Maximum number of variables sifted per reordering: %d\n", Cudd_ReadSiftMaxVar(dd)); if (retval == EOF) return(0); retval = fprintf(fp, "Maximum number of variable swaps per reordering: %d\n", Cudd_ReadSiftMaxSwap(dd)); if (retval == EOF) return(0); retval = fprintf(fp,"Maximum growth while sifting a variable: %g\n", Cudd_ReadMaxGrowth(dd)); if (retval == EOF) return(0); retval = fprintf(fp,"Dynamic reordering of BDDs enabled: %s\n", Cudd_ReorderingStatus(dd,&autoMethod) ? "yes" : "no"); if (retval == EOF) return(0); retval = fprintf(fp,"Default BDD reordering method: %d\n", (int) autoMethod); if (retval == EOF) return(0); retval = fprintf(fp,"Dynamic reordering of ZDDs enabled: %s\n", Cudd_ReorderingStatusZdd(dd,&autoMethodZ) ? "yes" : "no"); if (retval == EOF) return(0); retval = fprintf(fp,"Default ZDD reordering method: %d\n", (int) autoMethodZ); if (retval == EOF) return(0); retval = fprintf(fp,"Realignment of ZDDs to BDDs enabled: %s\n", Cudd_zddRealignmentEnabled(dd) ? "yes" : "no"); if (retval == EOF) return(0); retval = fprintf(fp,"Realignment of BDDs to ZDDs enabled: %s\n", Cudd_bddRealignmentEnabled(dd) ? "yes" : "no"); if (retval == EOF) return(0); retval = fprintf(fp,"Dead nodes counted in triggering reordering: %s\n", Cudd_DeadAreCounted(dd) ? "yes" : "no"); if (retval == EOF) return(0); retval = fprintf(fp,"Group checking criterion: %d\n", (int) Cudd_ReadGroupcheck(dd)); if (retval == EOF) return(0); retval = fprintf(fp,"Recombination threshold: %d\n", Cudd_ReadRecomb(dd)); if (retval == EOF) return(0); retval = fprintf(fp,"Symmetry violation threshold: %d\n", Cudd_ReadSymmviolation(dd)); if (retval == EOF) return(0); retval = fprintf(fp,"Arc violation threshold: %d\n", Cudd_ReadArcviolation(dd)); if (retval == EOF) return(0); retval = fprintf(fp,"GA population size: %d\n", Cudd_ReadPopulationSize(dd)); if (retval == EOF) return(0); retval = fprintf(fp,"Number of crossovers for GA: %d\n", Cudd_ReadNumberXovers(dd)); if (retval == EOF) return(0); retval = fprintf(fp,"Next reordering threshold: %u\n", Cudd_ReadNextReordering(dd)); if (retval == EOF) return(0); /* Non-modifiable parameters. */ retval = fprintf(fp,"**** CUDD non-modifiable parameters ****\n"); if (retval == EOF) return(0); retval = fprintf(fp,"Memory in use: %lu\n", Cudd_ReadMemoryInUse(dd)); if (retval == EOF) return(0); retval = fprintf(fp,"Peak number of nodes: %ld\n", Cudd_ReadPeakNodeCount(dd)); if (retval == EOF) return(0); retval = fprintf(fp,"Peak number of live nodes: %d\n", Cudd_ReadPeakLiveNodeCount(dd)); if (retval == EOF) return(0); retval = fprintf(fp,"Number of BDD variables: %d\n", dd->size); if (retval == EOF) return(0); retval = fprintf(fp,"Number of ZDD variables: %d\n", dd->sizeZ); if (retval == EOF) return(0); retval = fprintf(fp,"Number of cache entries: %u\n", dd->cacheSlots); if (retval == EOF) return(0); retval = fprintf(fp,"Number of cache look-ups: %.0f\n", Cudd_ReadCacheLookUps(dd)); if (retval == EOF) return(0); retval = fprintf(fp,"Number of cache hits: %.0f\n", Cudd_ReadCacheHits(dd)); if (retval == EOF) return(0); retval = fprintf(fp,"Number of cache insertions: %.0f\n", dd->cacheinserts); if (retval == EOF) return(0); retval = fprintf(fp,"Number of cache collisions: %.0f\n", dd->cachecollisions); if (retval == EOF) return(0); retval = fprintf(fp,"Number of cache deletions: %.0f\n", dd->cachedeletions); if (retval == EOF) return(0); retval = cuddCacheProfile(dd,fp); if (retval == 0) return(0); retval = fprintf(fp,"Soft limit for cache size: %u\n", Cudd_ReadMaxCache(dd)); if (retval == EOF) return(0); retval = fprintf(fp,"Number of buckets in unique table: %u\n", dd->slots); if (retval == EOF) return(0); retval = fprintf(fp,"Used buckets in unique table: %.2f%% (expected %.2f%%)\n", 100.0 * Cudd_ReadUsedSlots(dd), 100.0 * Cudd_ExpectedUsedSlots(dd)); if (retval == EOF) return(0); #ifdef DD_UNIQUE_PROFILE retval = fprintf(fp,"Unique lookups: %.0f\n", dd->uniqueLookUps); if (retval == EOF) return(0); retval = fprintf(fp,"Unique links: %.0f (%g per lookup)\n", dd->uniqueLinks, dd->uniqueLinks / dd->uniqueLookUps); if (retval == EOF) return(0); #endif retval = fprintf(fp,"Number of BDD and ADD nodes: %u\n", dd->keys); if (retval == EOF) return(0); retval = fprintf(fp,"Number of ZDD nodes: %u\n", dd->keysZ); if (retval == EOF) return(0); retval = fprintf(fp,"Number of dead BDD and ADD nodes: %u\n", dd->dead); if (retval == EOF) return(0); retval = fprintf(fp,"Number of dead ZDD nodes: %u\n", dd->deadZ); if (retval == EOF) return(0); retval = fprintf(fp,"Total number of nodes allocated: %.0f\n", dd->allocated); if (retval == EOF) return(0); retval = fprintf(fp,"Total number of nodes reclaimed: %.0f\n", dd->reclaimed); if (retval == EOF) return(0); #ifdef DD_STATS retval = fprintf(fp,"Nodes freed: %.0f\n", dd->nodesFreed); if (retval == EOF) return(0); retval = fprintf(fp,"Nodes dropped: %.0f\n", dd->nodesDropped); if (retval == EOF) return(0); #endif #ifdef DD_COUNT retval = fprintf(fp,"Number of recursive calls: %.0f\n", Cudd_ReadRecursiveCalls(dd)); if (retval == EOF) return(0); #endif retval = fprintf(fp,"Garbage collections so far: %d\n", Cudd_ReadGarbageCollections(dd)); if (retval == EOF) return(0); retval = fprintf(fp,"Time for garbage collection: %.2f sec\n", ((double)Cudd_ReadGarbageCollectionTime(dd)/1000.0)); if (retval == EOF) return(0); retval = fprintf(fp,"Reorderings so far: %d\n", dd->reorderings); if (retval == EOF) return(0); retval = fprintf(fp,"Time for reordering: %.2f sec\n", ((double)Cudd_ReadReorderingTime(dd)/1000.0)); if (retval == EOF) return(0); #ifdef DD_COUNT retval = fprintf(fp,"Node swaps in reordering: %.0f\n", Cudd_ReadSwapSteps(dd)); if (retval == EOF) return(0); #endif return(1); } /* end of Cudd_PrintInfo */ /**Function******************************************************************** Synopsis [Reports the peak number of nodes.] Description [Reports the peak number of nodes. This number includes node on the free list. At the peak, the number of nodes on the free list is guaranteed to be less than DD_MEM_CHUNK.] SideEffects [None] SeeAlso [Cudd_ReadNodeCount Cudd_PrintInfo] ******************************************************************************/ long Cudd_ReadPeakNodeCount( DdManager * dd) { long count = 0; DdNodePtr *scan = dd->memoryList; while (scan != NULL) { count += DD_MEM_CHUNK; scan = (DdNodePtr *) *scan; } return(count); } /* end of Cudd_ReadPeakNodeCount */ /**Function******************************************************************** Synopsis [Reports the peak number of live nodes.] Description [Reports the peak number of live nodes.] SideEffects [None] SeeAlso [Cudd_ReadNodeCount Cudd_PrintInfo Cudd_ReadPeakNodeCount] ******************************************************************************/ int Cudd_ReadPeakLiveNodeCount( DdManager * dd) { unsigned int live = dd->keys - dd->dead; if (live > dd->peakLiveNodes) { dd->peakLiveNodes = live; } return((int)dd->peakLiveNodes); } /* end of Cudd_ReadPeakLiveNodeCount */ /**Function******************************************************************** Synopsis [Reports the number of nodes in BDDs and ADDs.] Description [Reports the number of live nodes in BDDs and ADDs. This number does not include the isolated projection functions and the unused constants. These nodes that are not counted are not part of the DDs manipulated by the application.] SideEffects [None] SeeAlso [Cudd_ReadPeakNodeCount Cudd_zddReadNodeCount] ******************************************************************************/ long Cudd_ReadNodeCount( DdManager * dd) { long count; int i; #ifndef DD_NO_DEATH_ROW cuddClearDeathRow(dd); #endif count = (long) (dd->keys - dd->dead); /* Count isolated projection functions. Their number is subtracted ** from the node count because they are not part of the BDDs. */ for (i=0; i < dd->size; i++) { if (dd->vars[i]->ref == 1) count--; } /* Subtract from the count the unused constants. */ if (DD_ZERO(dd)->ref == 1) count--; if (DD_PLUS_INFINITY(dd)->ref == 1) count--; if (DD_MINUS_INFINITY(dd)->ref == 1) count--; return(count); } /* end of Cudd_ReadNodeCount */ /**Function******************************************************************** Synopsis [Reports the number of nodes in ZDDs.] Description [Reports the number of nodes in ZDDs. This number always includes the two constants 1 and 0.] SideEffects [None] SeeAlso [Cudd_ReadPeakNodeCount Cudd_ReadNodeCount] ******************************************************************************/ long Cudd_zddReadNodeCount( DdManager * dd) { return((long)(dd->keysZ - dd->deadZ + 2)); } /* end of Cudd_zddReadNodeCount */ /**Function******************************************************************** Synopsis [Adds a function to a hook.] Description [Adds a function to a hook. A hook is a list of application-provided functions called on certain occasions by the package. Returns 1 if the function is successfully added; 2 if the function was already in the list; 0 otherwise.] SideEffects [None] SeeAlso [Cudd_RemoveHook] ******************************************************************************/ int Cudd_AddHook( DdManager * dd, DD_HFP f, Cudd_HookType where) { DdHook **hook, *nextHook, *newHook; switch (where) { case CUDD_PRE_GC_HOOK: hook = &(dd->preGCHook); break; case CUDD_POST_GC_HOOK: hook = &(dd->postGCHook); break; case CUDD_PRE_REORDERING_HOOK: hook = &(dd->preReorderingHook); break; case CUDD_POST_REORDERING_HOOK: hook = &(dd->postReorderingHook); break; default: return(0); } /* Scan the list and find whether the function is already there. ** If so, just return. */ nextHook = *hook; while (nextHook != NULL) { if (nextHook->f == f) { return(2); } hook = &(nextHook->next); nextHook = nextHook->next; } /* The function was not in the list. Create a new item and append it ** to the end of the list. */ newHook = ALLOC(DdHook,1); if (newHook == NULL) { dd->errorCode = CUDD_MEMORY_OUT; return(0); } newHook->next = NULL; newHook->f = f; *hook = newHook; return(1); } /* end of Cudd_AddHook */ /**Function******************************************************************** Synopsis [Removes a function from a hook.] Description [Removes a function from a hook. A hook is a list of application-provided functions called on certain occasions by the package. Returns 1 if successful; 0 the function was not in the list.] SideEffects [None] SeeAlso [Cudd_AddHook] ******************************************************************************/ int Cudd_RemoveHook( DdManager * dd, DD_HFP f, Cudd_HookType where) { DdHook **hook, *nextHook; switch (where) { case CUDD_PRE_GC_HOOK: hook = &(dd->preGCHook); break; case CUDD_POST_GC_HOOK: hook = &(dd->postGCHook); break; case CUDD_PRE_REORDERING_HOOK: hook = &(dd->preReorderingHook); break; case CUDD_POST_REORDERING_HOOK: hook = &(dd->postReorderingHook); break; default: return(0); } nextHook = *hook; while (nextHook != NULL) { if (nextHook->f == f) { *hook = nextHook->next; FREE(nextHook); return(1); } hook = &(nextHook->next); nextHook = nextHook->next; } return(0); } /* end of Cudd_RemoveHook */ /**Function******************************************************************** Synopsis [Checks whether a function is in a hook.] Description [Checks whether a function is in a hook. A hook is a list of application-provided functions called on certain occasions by the package. Returns 1 if the function is found; 0 otherwise.] SideEffects [None] SeeAlso [Cudd_AddHook Cudd_RemoveHook] ******************************************************************************/ int Cudd_IsInHook( DdManager * dd, DD_HFP f, Cudd_HookType where) { DdHook *hook; switch (where) { case CUDD_PRE_GC_HOOK: hook = dd->preGCHook; break; case CUDD_POST_GC_HOOK: hook = dd->postGCHook; break; case CUDD_PRE_REORDERING_HOOK: hook = dd->preReorderingHook; break; case CUDD_POST_REORDERING_HOOK: hook = dd->postReorderingHook; break; default: return(0); } /* Scan the list and find whether the function is already there. */ while (hook != NULL) { if (hook->f == f) { return(1); } hook = hook->next; } return(0); } /* end of Cudd_IsInHook */ /**Function******************************************************************** Synopsis [Sample hook function to call before reordering.] Description [Sample hook function to call before reordering. Prints on the manager's stdout reordering method and initial size. Returns 1 if successful; 0 otherwise.] SideEffects [None] SeeAlso [Cudd_StdPostReordHook] ******************************************************************************/ int Cudd_StdPreReordHook( DdManager *dd, const char *str, void *data) { Cudd_ReorderingType method = (Cudd_ReorderingType) (ptruint) data; int retval; retval = fprintf(dd->out,"%s reordering with ", str); if (retval == EOF) return(0); switch (method) { case CUDD_REORDER_SIFT_CONVERGE: case CUDD_REORDER_SYMM_SIFT_CONV: case CUDD_REORDER_GROUP_SIFT_CONV: case CUDD_REORDER_WINDOW2_CONV: case CUDD_REORDER_WINDOW3_CONV: case CUDD_REORDER_WINDOW4_CONV: case CUDD_REORDER_LINEAR_CONVERGE: retval = fprintf(dd->out,"converging "); if (retval == EOF) return(0); break; default: break; } switch (method) { case CUDD_REORDER_RANDOM: case CUDD_REORDER_RANDOM_PIVOT: retval = fprintf(dd->out,"random"); break; case CUDD_REORDER_SIFT: case CUDD_REORDER_SIFT_CONVERGE: retval = fprintf(dd->out,"sifting"); break; case CUDD_REORDER_SYMM_SIFT: case CUDD_REORDER_SYMM_SIFT_CONV: retval = fprintf(dd->out,"symmetric sifting"); break; case CUDD_REORDER_LAZY_SIFT: retval = fprintf(dd->out,"lazy sifting"); break; case CUDD_REORDER_GROUP_SIFT: case CUDD_REORDER_GROUP_SIFT_CONV: retval = fprintf(dd->out,"group sifting"); break; case CUDD_REORDER_WINDOW2: case CUDD_REORDER_WINDOW3: case CUDD_REORDER_WINDOW4: case CUDD_REORDER_WINDOW2_CONV: case CUDD_REORDER_WINDOW3_CONV: case CUDD_REORDER_WINDOW4_CONV: retval = fprintf(dd->out,"window"); break; case CUDD_REORDER_ANNEALING: retval = fprintf(dd->out,"annealing"); break; case CUDD_REORDER_GENETIC: retval = fprintf(dd->out,"genetic"); break; case CUDD_REORDER_LINEAR: case CUDD_REORDER_LINEAR_CONVERGE: retval = fprintf(dd->out,"linear sifting"); break; case CUDD_REORDER_EXACT: retval = fprintf(dd->out,"exact"); break; default: return(0); } if (retval == EOF) return(0); retval = fprintf(dd->out,": from %ld to ... ", strcmp(str, "BDD") == 0 ? Cudd_ReadNodeCount(dd) : Cudd_zddReadNodeCount(dd)); if (retval == EOF) return(0); fflush(dd->out); return(1); } /* end of Cudd_StdPreReordHook */ /**Function******************************************************************** Synopsis [Sample hook function to call after reordering.] Description [Sample hook function to call after reordering. Prints on the manager's stdout final size and reordering time. Returns 1 if successful; 0 otherwise.] SideEffects [None] SeeAlso [Cudd_StdPreReordHook] ******************************************************************************/ int Cudd_StdPostReordHook( DdManager *dd, const char *str, void *data) { unsigned long initialTime = (long) data; int retval; unsigned long finalTime = util_cpu_time(); double totalTimeSec = (double)(finalTime - initialTime) / 1000.0; retval = fprintf(dd->out,"%ld nodes in %g sec\n", strcmp(str, "BDD") == 0 ? Cudd_ReadNodeCount(dd) : Cudd_zddReadNodeCount(dd), totalTimeSec); if (retval == EOF) return(0); retval = fflush(dd->out); if (retval == EOF) return(0); return(1); } /* end of Cudd_StdPostReordHook */ /**Function******************************************************************** Synopsis [Enables reporting of reordering stats.] Description [Enables reporting of reordering stats. Returns 1 if successful; 0 otherwise.] SideEffects [Installs functions in the pre-reordering and post-reordering hooks.] SeeAlso [Cudd_DisableReorderingReporting Cudd_ReorderingReporting] ******************************************************************************/ int Cudd_EnableReorderingReporting( DdManager *dd) { if (!Cudd_AddHook(dd, Cudd_StdPreReordHook, CUDD_PRE_REORDERING_HOOK)) { return(0); } if (!Cudd_AddHook(dd, Cudd_StdPostReordHook, CUDD_POST_REORDERING_HOOK)) { return(0); } return(1); } /* end of Cudd_EnableReorderingReporting */ /**Function******************************************************************** Synopsis [Disables reporting of reordering stats.] Description [Disables reporting of reordering stats. Returns 1 if successful; 0 otherwise.] SideEffects [Removes functions from the pre-reordering and post-reordering hooks.] SeeAlso [Cudd_EnableReorderingReporting Cudd_ReorderingReporting] ******************************************************************************/ int Cudd_DisableReorderingReporting( DdManager *dd) { if (!Cudd_RemoveHook(dd, Cudd_StdPreReordHook, CUDD_PRE_REORDERING_HOOK)) { return(0); } if (!Cudd_RemoveHook(dd, Cudd_StdPostReordHook, CUDD_POST_REORDERING_HOOK)) { return(0); } return(1); } /* end of Cudd_DisableReorderingReporting */ /**Function******************************************************************** Synopsis [Returns 1 if reporting of reordering stats is enabled.] Description [Returns 1 if reporting of reordering stats is enabled; 0 otherwise.] SideEffects [none] SeeAlso [Cudd_EnableReorderingReporting Cudd_DisableReorderingReporting] ******************************************************************************/ int Cudd_ReorderingReporting( DdManager *dd) { return(Cudd_IsInHook(dd, Cudd_StdPreReordHook, CUDD_PRE_REORDERING_HOOK)); } /* end of Cudd_ReorderingReporting */ /**Function******************************************************************** Synopsis [Hook function to print the current variable order.] Description [Hook function to print the current variable order. It may be called before or after reordering. Prints on the manager's stdout a parenthesized list that describes the variable groups. Returns 1 if successful; 0 otherwise.] SideEffects [None] SeeAlso [Cudd_StdPreReordHook] ******************************************************************************/ #ifdef PBORI_FORCE_ORIGINAL_CUDD int Cudd_PrintGroupedOrder( DdManager * dd, const char *str, void *data) { int isBdd = strcmp(str, "ZDD"); MtrNode *tree = isBdd ? dd->tree : dd->treeZ; int *invperm = isBdd ? dd->invperm : dd->invpermZ; int size = isBdd ? dd->size : dd->sizeZ; if (tree == NULL) { int i, retval; for (i=0; i < size; i++) { retval = fprintf(dd->out, "%c%d", i==0 ? '(' : ',', invperm[i]); if (retval == EOF) return(0); } retval = fprintf(dd->out,")\n"); return (retval != EOF); } else { return Mtr_PrintGroupedOrder(tree,invperm,dd->out); } } /* end of Cudd_PrintGroupedOrder */ #endif /**Function******************************************************************** Synopsis [Enables monitoring of ordering.] Description [Enables monitoring of ordering. Returns 1 if successful; 0 otherwise.] SideEffects [Installs functions in the pre-reordering and post-reordering hooks.] SeeAlso [Cudd_EnableReorderingReporting] ******************************************************************************/ #ifdef PBORI_FORCE_ORIGINAL_CUDD int Cudd_EnableOrderingMonitoring( DdManager *dd) { if (!Cudd_AddHook(dd, Cudd_PrintGroupedOrder, CUDD_PRE_REORDERING_HOOK)) { return(0); } if (!Cudd_AddHook(dd, Cudd_StdPreReordHook, CUDD_PRE_REORDERING_HOOK)) { return(0); } if (!Cudd_AddHook(dd, Cudd_StdPostReordHook, CUDD_POST_REORDERING_HOOK)) { return(0); } if (!Cudd_AddHook(dd, Cudd_PrintGroupedOrder, CUDD_POST_REORDERING_HOOK)) { return(0); } return(1); } /* end of Cudd_EnableOrderingMonitoring */ /**Function******************************************************************** Synopsis [Disables monitoring of ordering.] Description [Disables monitoring of ordering. Returns 1 if successful; 0 otherwise.] SideEffects [Removes functions from the pre-reordering and post-reordering hooks.] SeeAlso [Cudd_EnableOrderingMonitoring] ******************************************************************************/ int Cudd_DisableOrderingMonitoring( DdManager *dd) { if (!Cudd_RemoveHook(dd, Cudd_StdPreReordHook, CUDD_PRE_REORDERING_HOOK)) { return(0); } if (!Cudd_RemoveHook(dd, Cudd_PrintGroupedOrder, CUDD_PRE_REORDERING_HOOK)) { return(0); } if (!Cudd_RemoveHook(dd, Cudd_PrintGroupedOrder, CUDD_POST_REORDERING_HOOK)) { return(0); } if (!Cudd_RemoveHook(dd, Cudd_StdPostReordHook, CUDD_POST_REORDERING_HOOK)) { return(0); } return(1); } /* end of Cudd_DisableOrderingMonitoring */ /**Function******************************************************************** Synopsis [Returns 1 if monitoring of ordering is enabled.] Description [Returns 1 if monitoring of ordering is enabled; 0 otherwise.] SideEffects [none] SeeAlso [Cudd_EnableOrderingMonitoring Cudd_DisableOrderingMonitoring] ******************************************************************************/ int Cudd_OrderingMonitoring( DdManager *dd) { return(Cudd_IsInHook(dd, Cudd_PrintGroupedOrder, CUDD_PRE_REORDERING_HOOK)); } /* end of Cudd_OrderingMonitoring */ #endif /**Function******************************************************************** Synopsis [Returns the code of the last error.] Description [Returns the code of the last error. The error codes are defined in cudd.h.] SideEffects [None] SeeAlso [Cudd_ClearErrorCode] ******************************************************************************/ Cudd_ErrorType Cudd_ReadErrorCode( DdManager *dd) { return(dd->errorCode); } /* end of Cudd_ReadErrorCode */ /**Function******************************************************************** Synopsis [Clear the error code of a manager.] Description [] SideEffects [None] SeeAlso [Cudd_ReadErrorCode] ******************************************************************************/ void Cudd_ClearErrorCode( DdManager *dd) { dd->errorCode = CUDD_NO_ERROR; } /* end of Cudd_ClearErrorCode */ /**Function******************************************************************** Synopsis [Reads the stdout of a manager.] Description [Reads the stdout of a manager. This is the file pointer to which messages normally going to stdout are written. It is initialized to stdout. Cudd_SetStdout allows the application to redirect it.] SideEffects [None] SeeAlso [Cudd_SetStdout Cudd_ReadStderr] ******************************************************************************/ FILE * Cudd_ReadStdout( DdManager *dd) { return(dd->out); } /* end of Cudd_ReadStdout */ /**Function******************************************************************** Synopsis [Sets the stdout of a manager.] Description [] SideEffects [None] SeeAlso [Cudd_ReadStdout Cudd_SetStderr] ******************************************************************************/ void Cudd_SetStdout( DdManager *dd, FILE *fp) { dd->out = fp; } /* end of Cudd_SetStdout */ /**Function******************************************************************** Synopsis [Reads the stderr of a manager.] Description [Reads the stderr of a manager. This is the file pointer to which messages normally going to stderr are written. It is initialized to stderr. Cudd_SetStderr allows the application to redirect it.] SideEffects [None] SeeAlso [Cudd_SetStderr Cudd_ReadStdout] ******************************************************************************/ FILE * Cudd_ReadStderr( DdManager *dd) { return(dd->err); } /* end of Cudd_ReadStderr */ /**Function******************************************************************** Synopsis [Sets the stderr of a manager.] Description [] SideEffects [None] SeeAlso [Cudd_ReadStderr Cudd_SetStdout] ******************************************************************************/ void Cudd_SetStderr( DdManager *dd, FILE *fp) { dd->err = fp; } /* end of Cudd_SetStderr */ /**Function******************************************************************** Synopsis [Returns the threshold for the next dynamic reordering.] Description [Returns the threshold for the next dynamic reordering. The threshold is in terms of number of nodes and is in effect only if reordering is enabled. The count does not include the dead nodes, unless the countDead parameter of the manager has been changed from its default setting.] SideEffects [None] SeeAlso [Cudd_SetNextReordering] ******************************************************************************/ unsigned int Cudd_ReadNextReordering( DdManager *dd) { return(dd->nextDyn); } /* end of Cudd_ReadNextReordering */ /**Function******************************************************************** Synopsis [Sets the threshold for the next dynamic reordering.] Description [Sets the threshold for the next dynamic reordering. The threshold is in terms of number of nodes and is in effect only if reordering is enabled. The count does not include the dead nodes, unless the countDead parameter of the manager has been changed from its default setting.] SideEffects [None] SeeAlso [Cudd_ReadNextReordering] ******************************************************************************/ void Cudd_SetNextReordering( DdManager *dd, unsigned int next) { dd->nextDyn = next; } /* end of Cudd_SetNextReordering */ /**Function******************************************************************** Synopsis [Reads the number of elementary reordering steps.] Description [] SideEffects [none] SeeAlso [] ******************************************************************************/ double Cudd_ReadSwapSteps( DdManager *dd) { #ifdef DD_COUNT return(dd->swapSteps); #else return(-1); #endif } /* end of Cudd_ReadSwapSteps */ /**Function******************************************************************** Synopsis [Reads the maximum allowed number of live nodes.] Description [Reads the maximum allowed number of live nodes. When this number is exceeded, the package returns NULL.] SideEffects [none] SeeAlso [Cudd_SetMaxLive] ******************************************************************************/ unsigned int Cudd_ReadMaxLive( DdManager *dd) { return(dd->maxLive); } /* end of Cudd_ReadMaxLive */ /**Function******************************************************************** Synopsis [Sets the maximum allowed number of live nodes.] Description [Sets the maximum allowed number of live nodes. When this number is exceeded, the package returns NULL.] SideEffects [none] SeeAlso [Cudd_ReadMaxLive] ******************************************************************************/ void Cudd_SetMaxLive( DdManager *dd, unsigned int maxLive) { dd->maxLive = maxLive; } /* end of Cudd_SetMaxLive */ /**Function******************************************************************** Synopsis [Reads the maximum allowed memory.] Description [Reads the maximum allowed memory. When this number is exceeded, the package returns NULL.] SideEffects [none] SeeAlso [Cudd_SetMaxMemory] ******************************************************************************/ unsigned long Cudd_ReadMaxMemory( DdManager *dd) { return(dd->maxmemhard); } /* end of Cudd_ReadMaxMemory */ /**Function******************************************************************** Synopsis [Sets the maximum allowed memory.] Description [Sets the maximum allowed memory. When this number is exceeded, the package returns NULL.] SideEffects [none] SeeAlso [Cudd_ReadMaxMemory] ******************************************************************************/ void Cudd_SetMaxMemory( DdManager *dd, unsigned long maxMemory) { dd->maxmemhard = maxMemory; } /* end of Cudd_SetMaxMemory */ /**Function******************************************************************** Synopsis [Prevents sifting of a variable.] Description [This function sets a flag to prevent sifting of a variable. Returns 1 if successful; 0 otherwise (i.e., invalid variable index).] SideEffects [Changes the "bindVar" flag in DdSubtable.] SeeAlso [Cudd_bddUnbindVar] ******************************************************************************/ #ifdef PBORI_FORCE_ORIGINAL_CUDD int Cudd_bddBindVar( DdManager *dd /* manager */, int index /* variable index */) { if (index >= dd->size || index < 0) return(0); dd->subtables[dd->perm[index]].bindVar = 1; return(1); } /* end of Cudd_bddBindVar */ /**Function******************************************************************** Synopsis [Allows the sifting of a variable.] Description [This function resets the flag that prevents the sifting of a variable. In successive variable reorderings, the variable will NOT be skipped, that is, sifted. Initially all variables can be sifted. It is necessary to call this function only to re-enable sifting after a call to Cudd_bddBindVar. Returns 1 if successful; 0 otherwise (i.e., invalid variable index).] SideEffects [Changes the "bindVar" flag in DdSubtable.] SeeAlso [Cudd_bddBindVar] ******************************************************************************/ int Cudd_bddUnbindVar( DdManager *dd /* manager */, int index /* variable index */) { if (index >= dd->size || index < 0) return(0); dd->subtables[dd->perm[index]].bindVar = 0; return(1); } /* end of Cudd_bddUnbindVar */ /**Function******************************************************************** Synopsis [Tells whether a variable can be sifted.] Description [This function returns 1 if a variable is enabled for sifting. Initially all variables can be sifted. This function returns 0 only if there has been a previous call to Cudd_bddBindVar for that variable not followed by a call to Cudd_bddUnbindVar. The function returns 0 also in the case in which the index of the variable is out of bounds.] SideEffects [none] SeeAlso [Cudd_bddBindVar Cudd_bddUnbindVar] ******************************************************************************/ int Cudd_bddVarIsBound( DdManager *dd /* manager */, int index /* variable index */) { if (index >= dd->size || index < 0) return(0); return(dd->subtables[dd->perm[index]].bindVar); } /* end of Cudd_bddVarIsBound */ /**Function******************************************************************** Synopsis [Sets a variable type to primary input.] Description [Sets a variable type to primary input. The variable type is used by lazy sifting. Returns 1 if successful; 0 otherwise.] SideEffects [modifies the manager] SeeAlso [Cudd_bddSetPsVar Cudd_bddSetNsVar Cudd_bddIsPiVar] ******************************************************************************/ int Cudd_bddSetPiVar( DdManager *dd /* manager */, int index /* variable index */) { if (index >= dd->size || index < 0) return (0); dd->subtables[dd->perm[index]].varType = CUDD_VAR_PRIMARY_INPUT; return(1); } /* end of Cudd_bddSetPiVar */ /**Function******************************************************************** Synopsis [Sets a variable type to present state.] Description [Sets a variable type to present state. The variable type is used by lazy sifting. Returns 1 if successful; 0 otherwise.] SideEffects [modifies the manager] SeeAlso [Cudd_bddSetPiVar Cudd_bddSetNsVar Cudd_bddIsPsVar] ******************************************************************************/ int Cudd_bddSetPsVar( DdManager *dd /* manager */, int index /* variable index */) { if (index >= dd->size || index < 0) return (0); dd->subtables[dd->perm[index]].varType = CUDD_VAR_PRESENT_STATE; return(1); } /* end of Cudd_bddSetPsVar */ /**Function******************************************************************** Synopsis [Sets a variable type to next state.] Description [Sets a variable type to next state. The variable type is used by lazy sifting. Returns 1 if successful; 0 otherwise.] SideEffects [modifies the manager] SeeAlso [Cudd_bddSetPiVar Cudd_bddSetPsVar Cudd_bddIsNsVar] ******************************************************************************/ int Cudd_bddSetNsVar( DdManager *dd /* manager */, int index /* variable index */) { if (index >= dd->size || index < 0) return (0); dd->subtables[dd->perm[index]].varType = CUDD_VAR_NEXT_STATE; return(1); } /* end of Cudd_bddSetNsVar */ /**Function******************************************************************** Synopsis [Checks whether a variable is primary input.] Description [Checks whether a variable is primary input. Returns 1 if the variable's type is primary input; 0 if the variable exists but is not a primary input; -1 if the variable does not exist.] SideEffects [none] SeeAlso [Cudd_bddSetPiVar Cudd_bddIsPsVar Cudd_bddIsNsVar] ******************************************************************************/ int Cudd_bddIsPiVar( DdManager *dd /* manager */, int index /* variable index */) { if (index >= dd->size || index < 0) return -1; return (dd->subtables[dd->perm[index]].varType == CUDD_VAR_PRIMARY_INPUT); } /* end of Cudd_bddIsPiVar */ /**Function******************************************************************** Synopsis [Checks whether a variable is present state.] Description [Checks whether a variable is present state. Returns 1 if the variable's type is present state; 0 if the variable exists but is not a present state; -1 if the variable does not exist.] SideEffects [none] SeeAlso [Cudd_bddSetPsVar Cudd_bddIsPiVar Cudd_bddIsNsVar] ******************************************************************************/ int Cudd_bddIsPsVar( DdManager *dd, int index) { if (index >= dd->size || index < 0) return -1; return (dd->subtables[dd->perm[index]].varType == CUDD_VAR_PRESENT_STATE); } /* end of Cudd_bddIsPsVar */ /**Function******************************************************************** Synopsis [Checks whether a variable is next state.] Description [Checks whether a variable is next state. Returns 1 if the variable's type is present state; 0 if the variable exists but is not a present state; -1 if the variable does not exist.] SideEffects [none] SeeAlso [Cudd_bddSetNsVar Cudd_bddIsPiVar Cudd_bddIsPsVar] ******************************************************************************/ int Cudd_bddIsNsVar( DdManager *dd, int index) { if (index >= dd->size || index < 0) return -1; return (dd->subtables[dd->perm[index]].varType == CUDD_VAR_NEXT_STATE); } /* end of Cudd_bddIsNsVar */ /**Function******************************************************************** Synopsis [Sets a corresponding pair index for a given index.] Description [Sets a corresponding pair index for a given index. These pair indices are present and next state variable. Returns 1 if successful; 0 otherwise.] SideEffects [modifies the manager] SeeAlso [Cudd_bddReadPairIndex] ******************************************************************************/ int Cudd_bddSetPairIndex( DdManager *dd /* manager */, int index /* variable index */, int pairIndex /* corresponding variable index */) { if (index >= dd->size || index < 0) return(0); dd->subtables[dd->perm[index]].pairIndex = pairIndex; return(1); } /* end of Cudd_bddSetPairIndex */ /**Function******************************************************************** Synopsis [Reads a corresponding pair index for a given index.] Description [Reads a corresponding pair index for a given index. These pair indices are present and next state variable. Returns the corresponding variable index if the variable exists; -1 otherwise.] SideEffects [modifies the manager] SeeAlso [Cudd_bddSetPairIndex] ******************************************************************************/ int Cudd_bddReadPairIndex( DdManager *dd, int index) { if (index >= dd->size || index < 0) return -1; return dd->subtables[dd->perm[index]].pairIndex; } /* end of Cudd_bddReadPairIndex */ /**Function******************************************************************** Synopsis [Sets a variable to be grouped.] Description [Sets a variable to be grouped. This function is used for lazy sifting. Returns 1 if successful; 0 otherwise.] SideEffects [modifies the manager] SeeAlso [Cudd_bddSetVarHardGroup Cudd_bddResetVarToBeGrouped] ******************************************************************************/ int Cudd_bddSetVarToBeGrouped( DdManager *dd, int index) { if (index >= dd->size || index < 0) return(0); if (dd->subtables[dd->perm[index]].varToBeGrouped <= CUDD_LAZY_SOFT_GROUP) { dd->subtables[dd->perm[index]].varToBeGrouped = CUDD_LAZY_SOFT_GROUP; } return(1); } /* end of Cudd_bddSetVarToBeGrouped */ /**Function******************************************************************** Synopsis [Sets a variable to be a hard group.] Description [Sets a variable to be a hard group. This function is used for lazy sifting. Returns 1 if successful; 0 otherwise.] SideEffects [modifies the manager] SeeAlso [Cudd_bddSetVarToBeGrouped Cudd_bddResetVarToBeGrouped Cudd_bddIsVarHardGroup] ******************************************************************************/ int Cudd_bddSetVarHardGroup( DdManager *dd, int index) { if (index >= dd->size || index < 0) return(0); dd->subtables[dd->perm[index]].varToBeGrouped = CUDD_LAZY_HARD_GROUP; return(1); } /* end of Cudd_bddSetVarHardGrouped */ /**Function******************************************************************** Synopsis [Resets a variable not to be grouped.] Description [Resets a variable not to be grouped. This function is used for lazy sifting. Returns 1 if successful; 0 otherwise.] SideEffects [modifies the manager] SeeAlso [Cudd_bddSetVarToBeGrouped Cudd_bddSetVarHardGroup] ******************************************************************************/ int Cudd_bddResetVarToBeGrouped( DdManager *dd, int index) { if (index >= dd->size || index < 0) return(0); if (dd->subtables[dd->perm[index]].varToBeGrouped <= CUDD_LAZY_SOFT_GROUP) { dd->subtables[dd->perm[index]].varToBeGrouped = CUDD_LAZY_NONE; } return(1); } /* end of Cudd_bddResetVarToBeGrouped */ /**Function******************************************************************** Synopsis [Checks whether a variable is set to be grouped.] Description [Checks whether a variable is set to be grouped. This function is used for lazy sifting.] SideEffects [none] SeeAlso [] ******************************************************************************/ int Cudd_bddIsVarToBeGrouped( DdManager *dd, int index) { if (index >= dd->size || index < 0) return(-1); if (dd->subtables[dd->perm[index]].varToBeGrouped == CUDD_LAZY_UNGROUP) return(0); else return(dd->subtables[dd->perm[index]].varToBeGrouped); } /* end of Cudd_bddIsVarToBeGrouped */ /**Function******************************************************************** Synopsis [Sets a variable to be ungrouped.] Description [Sets a variable to be ungrouped. This function is used for lazy sifting. Returns 1 if successful; 0 otherwise.] SideEffects [modifies the manager] SeeAlso [Cudd_bddIsVarToBeUngrouped] ******************************************************************************/ int Cudd_bddSetVarToBeUngrouped( DdManager *dd, int index) { if (index >= dd->size || index < 0) return(0); dd->subtables[dd->perm[index]].varToBeGrouped = CUDD_LAZY_UNGROUP; return(1); } /* end of Cudd_bddSetVarToBeGrouped */ /**Function******************************************************************** Synopsis [Checks whether a variable is set to be ungrouped.] Description [Checks whether a variable is set to be ungrouped. This function is used for lazy sifting. Returns 1 if the variable is marked to be ungrouped; 0 if the variable exists, but it is not marked to be ungrouped; -1 if the variable does not exist.] SideEffects [none] SeeAlso [Cudd_bddSetVarToBeUngrouped] ******************************************************************************/ int Cudd_bddIsVarToBeUngrouped( DdManager *dd, int index) { if (index >= dd->size || index < 0) return(-1); return dd->subtables[dd->perm[index]].varToBeGrouped == CUDD_LAZY_UNGROUP; } /* end of Cudd_bddIsVarToBeGrouped */ /**Function******************************************************************** Synopsis [Checks whether a variable is set to be in a hard group.] Description [Checks whether a variable is set to be in a hard group. This function is used for lazy sifting. Returns 1 if the variable is marked to be in a hard group; 0 if the variable exists, but it is not marked to be in a hard group; -1 if the variable does not exist.] SideEffects [none] SeeAlso [Cudd_bddSetVarHardGroup] ******************************************************************************/ int Cudd_bddIsVarHardGroup( DdManager *dd, int index) { if (index >= dd->size || index < 0) return(-1); if (dd->subtables[dd->perm[index]].varToBeGrouped == CUDD_LAZY_HARD_GROUP) return(1); return(0); } /* end of Cudd_bddIsVarToBeGrouped */ /*---------------------------------------------------------------------------*/ /* Definition of internal functions */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Definition of static functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Fixes a variable group tree.] Description [] SideEffects [Changes the variable group tree.] SeeAlso [] ******************************************************************************/ static void fixVarTree( MtrNode * treenode, int * perm, int size) { treenode->index = treenode->low; treenode->low = ((int) treenode->index < size) ? perm[treenode->index] : treenode->index; if (treenode->child != NULL) fixVarTree(treenode->child, perm, size); if (treenode->younger != NULL) fixVarTree(treenode->younger, perm, size); return; } /* end of fixVarTree */ /**Function******************************************************************** Synopsis [Adds multiplicity groups to a ZDD variable group tree.] Description [Adds multiplicity groups to a ZDD variable group tree. Returns 1 if successful; 0 otherwise. This function creates the groups for set of ZDD variables (whose cardinality is given by parameter multiplicity) that are created for each BDD variable in Cudd_zddVarsFromBddVars. The crux of the matter is to determine the index each new group. (The index of the first variable in the group.) We first build all the groups for the children of a node, and then deal with the ZDD variables that are directly attached to the node. The problem for these is that the tree itself does not provide information on their position inside the group. While we deal with the children of the node, therefore, we keep track of all the positions they occupy. The remaining positions in the tree can be freely used. Also, we keep track of all the variables placed in the children. All the remaining variables are directly attached to the group. We can then place any pair of variables not yet grouped in any pair of available positions in the node.] SideEffects [Changes the variable group tree.] SeeAlso [Cudd_zddVarsFromBddVars] ******************************************************************************/ static int addMultiplicityGroups( DdManager *dd /* manager */, MtrNode *treenode /* current tree node */, int multiplicity /* how many ZDD vars per BDD var */, char *vmask /* variable pairs for which a group has been already built */, char *lmask /* levels for which a group has already been built*/) { int startV, stopV, startL; int i, j; MtrNode *auxnode = treenode; while (auxnode != NULL) { if (auxnode->child != NULL) { addMultiplicityGroups(dd,auxnode->child,multiplicity,vmask,lmask); } /* Build remaining groups. */ startV = dd->permZ[auxnode->index] / multiplicity; startL = auxnode->low / multiplicity; stopV = startV + auxnode->size / multiplicity; /* Walk down vmask starting at startV and build missing groups. */ for (i = startV, j = startL; i < stopV; i++) { if (vmask[i] == 0) { MtrNode *node; while (lmask[j] == 1) j++; node = Mtr_MakeGroup(auxnode, j * multiplicity, multiplicity, MTR_FIXED); if (node == NULL) { return(0); } node->index = dd->invpermZ[i * multiplicity]; vmask[i] = 1; lmask[j] = 1; } } auxnode = auxnode->younger; } return(1); } /* end of addMultiplicityGroups */ #endif BRiAl-1.2.12/cudd/cuddAddAbs.c000066400000000000000000000422401436062512100155710ustar00rootroot00000000000000/**CFile*********************************************************************** FileName [cuddAddAbs.c] PackageName [cudd] Synopsis [Quantification functions for ADDs.] Description [External procedures included in this module:
  • Cudd_addExistAbstract()
  • Cudd_addUnivAbstract()
  • Cudd_addOrAbstract()
Internal procedures included in this module:
  • cuddAddExistAbstractRecur()
  • cuddAddUnivAbstractRecur()
  • cuddAddOrAbstractRecur()
Static procedures included in this module:
  • addCheckPositiveCube()
] Author [Fabio Somenzi] Copyright [Copyright (c) 1995-2012, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.] ******************************************************************************/ #include "util.h" #include "cuddInt.h" /*---------------------------------------------------------------------------*/ /* Constant declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Stucture declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Type declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Variable declarations */ /*---------------------------------------------------------------------------*/ #ifndef lint static char rcsid[] DD_UNUSED = "$Id: cuddAddAbs.c,v 1.16 2012/02/05 01:07:18 fabio Exp $"; #endif static DdNode *two; /*---------------------------------------------------------------------------*/ /* Macro declarations */ /*---------------------------------------------------------------------------*/ /**AutomaticStart*************************************************************/ /*---------------------------------------------------------------------------*/ /* Static function prototypes */ /*---------------------------------------------------------------------------*/ static int addCheckPositiveCube (DdManager *manager, DdNode *cube); /**AutomaticEnd***************************************************************/ /*---------------------------------------------------------------------------*/ /* Definition of exported functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Existentially Abstracts all the variables in cube from f.] Description [Abstracts all the variables in cube from f by summing over all possible values taken by the variables. Returns the abstracted ADD.] SideEffects [None] SeeAlso [Cudd_addUnivAbstract Cudd_bddExistAbstract Cudd_addOrAbstract] ******************************************************************************/ DdNode * Cudd_addExistAbstract( DdManager * manager, DdNode * f, DdNode * cube) { DdNode *res; two = cuddUniqueConst(manager,(CUDD_VALUE_TYPE) 2); if (two == NULL) return(NULL); cuddRef(two); if (addCheckPositiveCube(manager, cube) == 0) { (void) fprintf(manager->err,"Error: Can only abstract cubes"); return(NULL); } do { manager->reordered = 0; res = cuddAddExistAbstractRecur(manager, f, cube); } while (manager->reordered == 1); if (res == NULL) { Cudd_RecursiveDeref(manager,two); return(NULL); } cuddRef(res); Cudd_RecursiveDeref(manager,two); cuddDeref(res); return(res); } /* end of Cudd_addExistAbstract */ /**Function******************************************************************** Synopsis [Universally Abstracts all the variables in cube from f.] Description [Abstracts all the variables in cube from f by taking the product over all possible values taken by the variable. Returns the abstracted ADD if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_addExistAbstract Cudd_bddUnivAbstract Cudd_addOrAbstract] ******************************************************************************/ DdNode * Cudd_addUnivAbstract( DdManager * manager, DdNode * f, DdNode * cube) { DdNode *res; if (addCheckPositiveCube(manager, cube) == 0) { (void) fprintf(manager->err,"Error: Can only abstract cubes"); return(NULL); } do { manager->reordered = 0; res = cuddAddUnivAbstractRecur(manager, f, cube); } while (manager->reordered == 1); return(res); } /* end of Cudd_addUnivAbstract */ /**Function******************************************************************** Synopsis [Disjunctively abstracts all the variables in cube from the 0-1 ADD f.] Description [Abstracts all the variables in cube from the 0-1 ADD f by taking the disjunction over all possible values taken by the variables. Returns the abstracted ADD if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_addUnivAbstract Cudd_addExistAbstract] ******************************************************************************/ DdNode * Cudd_addOrAbstract( DdManager * manager, DdNode * f, DdNode * cube) { DdNode *res; if (addCheckPositiveCube(manager, cube) == 0) { (void) fprintf(manager->err,"Error: Can only abstract cubes"); return(NULL); } do { manager->reordered = 0; res = cuddAddOrAbstractRecur(manager, f, cube); } while (manager->reordered == 1); return(res); } /* end of Cudd_addOrAbstract */ /*---------------------------------------------------------------------------*/ /* Definition of internal functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_addExistAbstract.] Description [Performs the recursive step of Cudd_addExistAbstract. Returns the ADD obtained by abstracting the variables of cube from f, if successful; NULL otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ DdNode * cuddAddExistAbstractRecur( DdManager * manager, DdNode * f, DdNode * cube) { DdNode *T, *E, *res, *res1, *res2, *zero; statLine(manager); zero = DD_ZERO(manager); /* Cube is guaranteed to be a cube at this point. */ if (f == zero || cuddIsConstant(cube)) { return(f); } /* Abstract a variable that does not appear in f => multiply by 2. */ if (cuddI(manager,f->index) > cuddI(manager,cube->index)) { res1 = cuddAddExistAbstractRecur(manager, f, cuddT(cube)); if (res1 == NULL) return(NULL); cuddRef(res1); /* Use the "internal" procedure to be alerted in case of ** dynamic reordering. If dynamic reordering occurs, we ** have to abort the entire abstraction. */ res = cuddAddApplyRecur(manager,Cudd_addTimes,res1,two); if (res == NULL) { Cudd_RecursiveDeref(manager,res1); return(NULL); } cuddRef(res); Cudd_RecursiveDeref(manager,res1); cuddDeref(res); return(res); } if ((res = cuddCacheLookup2(manager, Cudd_addExistAbstract, f, cube)) != NULL) { return(res); } T = cuddT(f); E = cuddE(f); /* If the two indices are the same, so are their levels. */ if (f->index == cube->index) { res1 = cuddAddExistAbstractRecur(manager, T, cuddT(cube)); if (res1 == NULL) return(NULL); cuddRef(res1); res2 = cuddAddExistAbstractRecur(manager, E, cuddT(cube)); if (res2 == NULL) { Cudd_RecursiveDeref(manager,res1); return(NULL); } cuddRef(res2); res = cuddAddApplyRecur(manager, Cudd_addPlus, res1, res2); if (res == NULL) { Cudd_RecursiveDeref(manager,res1); Cudd_RecursiveDeref(manager,res2); return(NULL); } cuddRef(res); Cudd_RecursiveDeref(manager,res1); Cudd_RecursiveDeref(manager,res2); cuddCacheInsert2(manager, Cudd_addExistAbstract, f, cube, res); cuddDeref(res); return(res); } else { /* if (cuddI(manager,f->index) < cuddI(manager,cube->index)) */ res1 = cuddAddExistAbstractRecur(manager, T, cube); if (res1 == NULL) return(NULL); cuddRef(res1); res2 = cuddAddExistAbstractRecur(manager, E, cube); if (res2 == NULL) { Cudd_RecursiveDeref(manager,res1); return(NULL); } cuddRef(res2); res = (res1 == res2) ? res1 : cuddUniqueInter(manager, (int) f->index, res1, res2); if (res == NULL) { Cudd_RecursiveDeref(manager,res1); Cudd_RecursiveDeref(manager,res2); return(NULL); } cuddDeref(res1); cuddDeref(res2); cuddCacheInsert2(manager, Cudd_addExistAbstract, f, cube, res); return(res); } } /* end of cuddAddExistAbstractRecur */ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_addUnivAbstract.] Description [Performs the recursive step of Cudd_addUnivAbstract. Returns the ADD obtained by abstracting the variables of cube from f, if successful; NULL otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ DdNode * cuddAddUnivAbstractRecur( DdManager * manager, DdNode * f, DdNode * cube) { DdNode *T, *E, *res, *res1, *res2, *one, *zero; statLine(manager); one = DD_ONE(manager); zero = DD_ZERO(manager); /* Cube is guaranteed to be a cube at this point. ** zero and one are the only constatnts c such that c*c=c. */ if (f == zero || f == one || cube == one) { return(f); } /* Abstract a variable that does not appear in f. */ if (cuddI(manager,f->index) > cuddI(manager,cube->index)) { res1 = cuddAddUnivAbstractRecur(manager, f, cuddT(cube)); if (res1 == NULL) return(NULL); cuddRef(res1); /* Use the "internal" procedure to be alerted in case of ** dynamic reordering. If dynamic reordering occurs, we ** have to abort the entire abstraction. */ res = cuddAddApplyRecur(manager, Cudd_addTimes, res1, res1); if (res == NULL) { Cudd_RecursiveDeref(manager,res1); return(NULL); } cuddRef(res); Cudd_RecursiveDeref(manager,res1); cuddDeref(res); return(res); } if ((res = cuddCacheLookup2(manager, Cudd_addUnivAbstract, f, cube)) != NULL) { return(res); } T = cuddT(f); E = cuddE(f); /* If the two indices are the same, so are their levels. */ if (f->index == cube->index) { res1 = cuddAddUnivAbstractRecur(manager, T, cuddT(cube)); if (res1 == NULL) return(NULL); cuddRef(res1); res2 = cuddAddUnivAbstractRecur(manager, E, cuddT(cube)); if (res2 == NULL) { Cudd_RecursiveDeref(manager,res1); return(NULL); } cuddRef(res2); res = cuddAddApplyRecur(manager, Cudd_addTimes, res1, res2); if (res == NULL) { Cudd_RecursiveDeref(manager,res1); Cudd_RecursiveDeref(manager,res2); return(NULL); } cuddRef(res); Cudd_RecursiveDeref(manager,res1); Cudd_RecursiveDeref(manager,res2); cuddCacheInsert2(manager, Cudd_addUnivAbstract, f, cube, res); cuddDeref(res); return(res); } else { /* if (cuddI(manager,f->index) < cuddI(manager,cube->index)) */ res1 = cuddAddUnivAbstractRecur(manager, T, cube); if (res1 == NULL) return(NULL); cuddRef(res1); res2 = cuddAddUnivAbstractRecur(manager, E, cube); if (res2 == NULL) { Cudd_RecursiveDeref(manager,res1); return(NULL); } cuddRef(res2); res = (res1 == res2) ? res1 : cuddUniqueInter(manager, (int) f->index, res1, res2); if (res == NULL) { Cudd_RecursiveDeref(manager,res1); Cudd_RecursiveDeref(manager,res2); return(NULL); } cuddDeref(res1); cuddDeref(res2); cuddCacheInsert2(manager, Cudd_addUnivAbstract, f, cube, res); return(res); } } /* end of cuddAddUnivAbstractRecur */ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_addOrAbstract.] Description [Performs the recursive step of Cudd_addOrAbstract. Returns the ADD obtained by abstracting the variables of cube from f, if successful; NULL otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ DdNode * cuddAddOrAbstractRecur( DdManager * manager, DdNode * f, DdNode * cube) { DdNode *T, *E, *res, *res1, *res2, *one; statLine(manager); one = DD_ONE(manager); /* Cube is guaranteed to be a cube at this point. */ if (cuddIsConstant(f) || cube == one) { return(f); } /* Abstract a variable that does not appear in f. */ if (cuddI(manager,f->index) > cuddI(manager,cube->index)) { res = cuddAddOrAbstractRecur(manager, f, cuddT(cube)); return(res); } if ((res = cuddCacheLookup2(manager, Cudd_addOrAbstract, f, cube)) != NULL) { return(res); } T = cuddT(f); E = cuddE(f); /* If the two indices are the same, so are their levels. */ if (f->index == cube->index) { res1 = cuddAddOrAbstractRecur(manager, T, cuddT(cube)); if (res1 == NULL) return(NULL); cuddRef(res1); if (res1 != one) { res2 = cuddAddOrAbstractRecur(manager, E, cuddT(cube)); if (res2 == NULL) { Cudd_RecursiveDeref(manager,res1); return(NULL); } cuddRef(res2); res = cuddAddApplyRecur(manager, Cudd_addOr, res1, res2); if (res == NULL) { Cudd_RecursiveDeref(manager,res1); Cudd_RecursiveDeref(manager,res2); return(NULL); } cuddRef(res); Cudd_RecursiveDeref(manager,res1); Cudd_RecursiveDeref(manager,res2); } else { res = res1; } cuddCacheInsert2(manager, Cudd_addOrAbstract, f, cube, res); cuddDeref(res); return(res); } else { /* if (cuddI(manager,f->index) < cuddI(manager,cube->index)) */ res1 = cuddAddOrAbstractRecur(manager, T, cube); if (res1 == NULL) return(NULL); cuddRef(res1); res2 = cuddAddOrAbstractRecur(manager, E, cube); if (res2 == NULL) { Cudd_RecursiveDeref(manager,res1); return(NULL); } cuddRef(res2); res = (res1 == res2) ? res1 : cuddUniqueInter(manager, (int) f->index, res1, res2); if (res == NULL) { Cudd_RecursiveDeref(manager,res1); Cudd_RecursiveDeref(manager,res2); return(NULL); } cuddDeref(res1); cuddDeref(res2); cuddCacheInsert2(manager, Cudd_addOrAbstract, f, cube, res); return(res); } } /* end of cuddAddOrAbstractRecur */ /*---------------------------------------------------------------------------*/ /* Definition of static functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Checks whether cube is an ADD representing the product of positive literals.] Description [Checks whether cube is an ADD representing the product of positive literals. Returns 1 in case of success; 0 otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ static int addCheckPositiveCube( DdManager * manager, DdNode * cube) { if (Cudd_IsComplement(cube)) return(0); if (cube == DD_ONE(manager)) return(1); if (cuddIsConstant(cube)) return(0); if (cuddE(cube) == DD_ZERO(manager)) { return(addCheckPositiveCube(manager, cuddT(cube))); } return(0); } /* end of addCheckPositiveCube */ BRiAl-1.2.12/cudd/cuddAddApply.c000066400000000000000000000563771436062512100161710ustar00rootroot00000000000000/**CFile*********************************************************************** FileName [cuddAddApply.c] PackageName [cudd] Synopsis [Apply functions for ADDs and their operators.] Description [External procedures included in this module:
  • Cudd_addApply()
  • Cudd_addMonadicApply()
  • Cudd_addPlus()
  • Cudd_addTimes()
  • Cudd_addThreshold()
  • Cudd_addSetNZ()
  • Cudd_addDivide()
  • Cudd_addMinus()
  • Cudd_addMinimum()
  • Cudd_addMaximum()
  • Cudd_addOneZeroMaximum()
  • Cudd_addDiff()
  • Cudd_addAgreement()
  • Cudd_addOr()
  • Cudd_addNand()
  • Cudd_addNor()
  • Cudd_addXor()
  • Cudd_addXnor()
Internal procedures included in this module:
  • cuddAddApplyRecur()
  • cuddAddMonadicApplyRecur()
] Author [Fabio Somenzi] Copyright [Copyright (c) 1995-2012, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.] ******************************************************************************/ #include "util.h" #include "cuddInt.h" /*---------------------------------------------------------------------------*/ /* Constant declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Stucture declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Type declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Variable declarations */ /*---------------------------------------------------------------------------*/ #ifndef lint static char rcsid[] DD_UNUSED = "$Id: cuddAddApply.c,v 1.19 2012/02/05 01:07:18 fabio Exp $"; #endif /*---------------------------------------------------------------------------*/ /* Macro declarations */ /*---------------------------------------------------------------------------*/ /**AutomaticStart*************************************************************/ /*---------------------------------------------------------------------------*/ /* Static function prototypes */ /*---------------------------------------------------------------------------*/ /**AutomaticEnd***************************************************************/ /*---------------------------------------------------------------------------*/ /* Definition of exported functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Applies op to the corresponding discriminants of f and g.] Description [Applies op to the corresponding discriminants of f and g. Returns a pointer to the result if succssful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_addMonadicApply Cudd_addPlus Cudd_addTimes Cudd_addThreshold Cudd_addSetNZ Cudd_addDivide Cudd_addMinus Cudd_addMinimum Cudd_addMaximum Cudd_addOneZeroMaximum Cudd_addDiff Cudd_addAgreement Cudd_addOr Cudd_addNand Cudd_addNor Cudd_addXor Cudd_addXnor] ******************************************************************************/ DdNode * Cudd_addApply( DdManager * dd, DD_AOP op, DdNode * f, DdNode * g) { DdNode *res; do { dd->reordered = 0; res = cuddAddApplyRecur(dd,op,f,g); } while (dd->reordered == 1); return(res); } /* end of Cudd_addApply */ /**Function******************************************************************** Synopsis [Integer and floating point addition.] Description [Integer and floating point addition. Returns NULL if not a terminal case; f+g otherwise.] SideEffects [None] SeeAlso [Cudd_addApply] ******************************************************************************/ DdNode * Cudd_addPlus( DdManager * dd, DdNode ** f, DdNode ** g) { DdNode *res; DdNode *F, *G; CUDD_VALUE_TYPE value; F = *f; G = *g; if (F == DD_ZERO(dd)) return(G); if (G == DD_ZERO(dd)) return(F); if (cuddIsConstant(F) && cuddIsConstant(G)) { value = cuddV(F)+cuddV(G); res = cuddUniqueConst(dd,value); return(res); } if (F > G) { /* swap f and g */ *f = G; *g = F; } return(NULL); } /* end of Cudd_addPlus */ /**Function******************************************************************** Synopsis [Integer and floating point multiplication.] Description [Integer and floating point multiplication. Returns NULL if not a terminal case; f * g otherwise. This function can be used also to take the AND of two 0-1 ADDs.] SideEffects [None] SeeAlso [Cudd_addApply] ******************************************************************************/ DdNode * Cudd_addTimes( DdManager * dd, DdNode ** f, DdNode ** g) { DdNode *res; DdNode *F, *G; CUDD_VALUE_TYPE value; F = *f; G = *g; if (F == DD_ZERO(dd) || G == DD_ZERO(dd)) return(DD_ZERO(dd)); if (F == DD_ONE(dd)) return(G); if (G == DD_ONE(dd)) return(F); if (cuddIsConstant(F) && cuddIsConstant(G)) { value = cuddV(F)*cuddV(G); res = cuddUniqueConst(dd,value); return(res); } if (F > G) { /* swap f and g */ *f = G; *g = F; } return(NULL); } /* end of Cudd_addTimes */ /**Function******************************************************************** Synopsis [f if f>=g; 0 if f<g.] Description [Threshold operator for Apply (f if f >=g; 0 if f<g). Returns NULL if not a terminal case; f op g otherwise.] SideEffects [None] SeeAlso [Cudd_addApply] ******************************************************************************/ DdNode * Cudd_addThreshold( DdManager * dd, DdNode ** f, DdNode ** g) { DdNode *F, *G; F = *f; G = *g; if (F == G || F == DD_PLUS_INFINITY(dd)) return(F); if (cuddIsConstant(F) && cuddIsConstant(G)) { if (cuddV(F) >= cuddV(G)) { return(F); } else { return(DD_ZERO(dd)); } } return(NULL); } /* end of Cudd_addThreshold */ /**Function******************************************************************** Synopsis [This operator sets f to the value of g wherever g != 0.] Description [This operator sets f to the value of g wherever g != 0. Returns NULL if not a terminal case; f op g otherwise.] SideEffects [None] SeeAlso [Cudd_addApply] ******************************************************************************/ DdNode * Cudd_addSetNZ( DdManager * dd, DdNode ** f, DdNode ** g) { DdNode *F, *G; F = *f; G = *g; if (F == G) return(F); if (F == DD_ZERO(dd)) return(G); if (G == DD_ZERO(dd)) return(F); if (cuddIsConstant(G)) return(G); return(NULL); } /* end of Cudd_addSetNZ */ /**Function******************************************************************** Synopsis [Integer and floating point division.] Description [Integer and floating point division. Returns NULL if not a terminal case; f / g otherwise.] SideEffects [None] SeeAlso [Cudd_addApply] ******************************************************************************/ DdNode * Cudd_addDivide( DdManager * dd, DdNode ** f, DdNode ** g) { DdNode *res; DdNode *F, *G; CUDD_VALUE_TYPE value; F = *f; G = *g; /* We would like to use F == G -> F/G == 1, but F and G may ** contain zeroes. */ if (F == DD_ZERO(dd)) return(DD_ZERO(dd)); if (G == DD_ONE(dd)) return(F); if (cuddIsConstant(F) && cuddIsConstant(G)) { value = cuddV(F)/cuddV(G); res = cuddUniqueConst(dd,value); return(res); } return(NULL); } /* end of Cudd_addDivide */ /**Function******************************************************************** Synopsis [Integer and floating point subtraction.] Description [Integer and floating point subtraction. Returns NULL if not a terminal case; f - g otherwise.] SideEffects [None] SeeAlso [Cudd_addApply] ******************************************************************************/ DdNode * Cudd_addMinus( DdManager * dd, DdNode ** f, DdNode ** g) { DdNode *res; DdNode *F, *G; CUDD_VALUE_TYPE value; F = *f; G = *g; if (F == G) return(DD_ZERO(dd)); if (F == DD_ZERO(dd)) return(cuddAddNegateRecur(dd,G)); if (G == DD_ZERO(dd)) return(F); if (cuddIsConstant(F) && cuddIsConstant(G)) { value = cuddV(F)-cuddV(G); res = cuddUniqueConst(dd,value); return(res); } return(NULL); } /* end of Cudd_addMinus */ /**Function******************************************************************** Synopsis [Integer and floating point min.] Description [Integer and floating point min for Cudd_addApply. Returns NULL if not a terminal case; min(f,g) otherwise.] SideEffects [None] SeeAlso [Cudd_addApply] ******************************************************************************/ DdNode * Cudd_addMinimum( DdManager * dd, DdNode ** f, DdNode ** g) { DdNode *F, *G; F = *f; G = *g; if (F == DD_PLUS_INFINITY(dd)) return(G); if (G == DD_PLUS_INFINITY(dd)) return(F); if (F == G) return(F); #if 0 /* These special cases probably do not pay off. */ if (F == DD_MINUS_INFINITY(dd)) return(F); if (G == DD_MINUS_INFINITY(dd)) return(G); #endif if (cuddIsConstant(F) && cuddIsConstant(G)) { if (cuddV(F) <= cuddV(G)) { return(F); } else { return(G); } } if (F > G) { /* swap f and g */ *f = G; *g = F; } return(NULL); } /* end of Cudd_addMinimum */ /**Function******************************************************************** Synopsis [Integer and floating point max.] Description [Integer and floating point max for Cudd_addApply. Returns NULL if not a terminal case; max(f,g) otherwise.] SideEffects [None] SeeAlso [Cudd_addApply] ******************************************************************************/ DdNode * Cudd_addMaximum( DdManager * dd, DdNode ** f, DdNode ** g) { DdNode *F, *G; F = *f; G = *g; if (F == G) return(F); if (F == DD_MINUS_INFINITY(dd)) return(G); if (G == DD_MINUS_INFINITY(dd)) return(F); #if 0 /* These special cases probably do not pay off. */ if (F == DD_PLUS_INFINITY(dd)) return(F); if (G == DD_PLUS_INFINITY(dd)) return(G); #endif if (cuddIsConstant(F) && cuddIsConstant(G)) { if (cuddV(F) >= cuddV(G)) { return(F); } else { return(G); } } if (F > G) { /* swap f and g */ *f = G; *g = F; } return(NULL); } /* end of Cudd_addMaximum */ /**Function******************************************************************** Synopsis [Returns 1 if f > g and 0 otherwise.] Description [Returns 1 if f > g and 0 otherwise. Used in conjunction with Cudd_addApply. Returns NULL if not a terminal case.] SideEffects [None] SeeAlso [Cudd_addApply] ******************************************************************************/ DdNode * Cudd_addOneZeroMaximum( DdManager * dd, DdNode ** f, DdNode ** g) { if (*f == *g) return(DD_ZERO(dd)); if (*g == DD_PLUS_INFINITY(dd)) return DD_ZERO(dd); if (cuddIsConstant(*f) && cuddIsConstant(*g)) { if (cuddV(*f) > cuddV(*g)) { return(DD_ONE(dd)); } else { return(DD_ZERO(dd)); } } return(NULL); } /* end of Cudd_addOneZeroMaximum */ /**Function******************************************************************** Synopsis [Returns plusinfinity if f=g; returns min(f,g) if f!=g.] Description [Returns NULL if not a terminal case; f op g otherwise, where f op g is plusinfinity if f=g; min(f,g) if f!=g.] SideEffects [None] SeeAlso [Cudd_addApply] ******************************************************************************/ DdNode * Cudd_addDiff( DdManager * dd, DdNode ** f, DdNode ** g) { DdNode *F, *G; F = *f; G = *g; if (F == G) return(DD_PLUS_INFINITY(dd)); if (F == DD_PLUS_INFINITY(dd)) return(G); if (G == DD_PLUS_INFINITY(dd)) return(F); if (cuddIsConstant(F) && cuddIsConstant(G)) { if (cuddV(F) != cuddV(G)) { if (cuddV(F) < cuddV(G)) { return(F); } else { return(G); } } else { return(DD_PLUS_INFINITY(dd)); } } return(NULL); } /* end of Cudd_addDiff */ /**Function******************************************************************** Synopsis [f if f==g; background if f!=g.] Description [Returns NULL if not a terminal case; f op g otherwise, where f op g is f if f==g; background if f!=g.] SideEffects [None] SeeAlso [Cudd_addApply] ******************************************************************************/ DdNode * Cudd_addAgreement( DdManager * dd, DdNode ** f, DdNode ** g) { DdNode *F, *G; F = *f; G = *g; if (F == G) return(F); if (F == dd->background) return(F); if (G == dd->background) return(G); if (cuddIsConstant(F) && cuddIsConstant(G)) return(dd->background); return(NULL); } /* end of Cudd_addAgreement */ /**Function******************************************************************** Synopsis [Disjunction of two 0-1 ADDs.] Description [Disjunction of two 0-1 ADDs. Returns NULL if not a terminal case; f OR g otherwise.] SideEffects [None] SeeAlso [Cudd_addApply] ******************************************************************************/ DdNode * Cudd_addOr( DdManager * dd, DdNode ** f, DdNode ** g) { DdNode *F, *G; F = *f; G = *g; if (F == DD_ONE(dd) || G == DD_ONE(dd)) return(DD_ONE(dd)); if (cuddIsConstant(F)) return(G); if (cuddIsConstant(G)) return(F); if (F == G) return(F); if (F > G) { /* swap f and g */ *f = G; *g = F; } return(NULL); } /* end of Cudd_addOr */ /**Function******************************************************************** Synopsis [NAND of two 0-1 ADDs.] Description [NAND of two 0-1 ADDs. Returns NULL if not a terminal case; f NAND g otherwise.] SideEffects [None] SeeAlso [Cudd_addApply] ******************************************************************************/ DdNode * Cudd_addNand( DdManager * dd, DdNode ** f, DdNode ** g) { DdNode *F, *G; F = *f; G = *g; if (F == DD_ZERO(dd) || G == DD_ZERO(dd)) return(DD_ONE(dd)); if (cuddIsConstant(F) && cuddIsConstant(G)) return(DD_ZERO(dd)); if (F > G) { /* swap f and g */ *f = G; *g = F; } return(NULL); } /* end of Cudd_addNand */ /**Function******************************************************************** Synopsis [NOR of two 0-1 ADDs.] Description [NOR of two 0-1 ADDs. Returns NULL if not a terminal case; f NOR g otherwise.] SideEffects [None] SeeAlso [Cudd_addApply] ******************************************************************************/ DdNode * Cudd_addNor( DdManager * dd, DdNode ** f, DdNode ** g) { DdNode *F, *G; F = *f; G = *g; if (F == DD_ONE(dd) || G == DD_ONE(dd)) return(DD_ZERO(dd)); if (cuddIsConstant(F) && cuddIsConstant(G)) return(DD_ONE(dd)); if (F > G) { /* swap f and g */ *f = G; *g = F; } return(NULL); } /* end of Cudd_addNor */ /**Function******************************************************************** Synopsis [XOR of two 0-1 ADDs.] Description [XOR of two 0-1 ADDs. Returns NULL if not a terminal case; f XOR g otherwise.] SideEffects [None] SeeAlso [Cudd_addApply] ******************************************************************************/ DdNode * Cudd_addXor( DdManager * dd, DdNode ** f, DdNode ** g) { DdNode *F, *G; F = *f; G = *g; if (F == G) return(DD_ZERO(dd)); if (F == DD_ONE(dd) && G == DD_ZERO(dd)) return(DD_ONE(dd)); if (G == DD_ONE(dd) && F == DD_ZERO(dd)) return(DD_ONE(dd)); if (cuddIsConstant(F) && cuddIsConstant(G)) return(DD_ZERO(dd)); if (F > G) { /* swap f and g */ *f = G; *g = F; } return(NULL); } /* end of Cudd_addXor */ /**Function******************************************************************** Synopsis [XNOR of two 0-1 ADDs.] Description [XNOR of two 0-1 ADDs. Returns NULL if not a terminal case; f XNOR g otherwise.] SideEffects [None] SeeAlso [Cudd_addApply] ******************************************************************************/ DdNode * Cudd_addXnor( DdManager * dd, DdNode ** f, DdNode ** g) { DdNode *F, *G; F = *f; G = *g; if (F == G) return(DD_ONE(dd)); if (F == DD_ONE(dd) && G == DD_ONE(dd)) return(DD_ONE(dd)); if (G == DD_ZERO(dd) && F == DD_ZERO(dd)) return(DD_ONE(dd)); if (cuddIsConstant(F) && cuddIsConstant(G)) return(DD_ZERO(dd)); if (F > G) { /* swap f and g */ *f = G; *g = F; } return(NULL); } /* end of Cudd_addXnor */ /**Function******************************************************************** Synopsis [Applies op to the discriminants of f.] Description [Applies op to the discriminants of f. Returns a pointer to the result if succssful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_addApply Cudd_addLog] ******************************************************************************/ DdNode * Cudd_addMonadicApply( DdManager * dd, DD_MAOP op, DdNode * f) { DdNode *res; do { dd->reordered = 0; res = cuddAddMonadicApplyRecur(dd,op,f); } while (dd->reordered == 1); return(res); } /* end of Cudd_addMonadicApply */ /**Function******************************************************************** Synopsis [Natural logarithm of an ADD.] Description [Natural logarithm of an ADDs. Returns NULL if not a terminal case; log(f) otherwise. The discriminants of f must be positive double's.] SideEffects [None] SeeAlso [Cudd_addMonadicApply] ******************************************************************************/ DdNode * Cudd_addLog( DdManager * dd, DdNode * f) { if (cuddIsConstant(f)) { CUDD_VALUE_TYPE value = log(cuddV(f)); DdNode *res = cuddUniqueConst(dd,value); return(res); } return(NULL); } /* end of Cudd_addLog */ /*---------------------------------------------------------------------------*/ /* Definition of internal functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_addApply.] Description [Performs the recursive step of Cudd_addApply. Returns a pointer to the result if successful; NULL otherwise.] SideEffects [None] SeeAlso [cuddAddMonadicApplyRecur] ******************************************************************************/ DdNode * cuddAddApplyRecur( DdManager * dd, DD_AOP op, DdNode * f, DdNode * g) { DdNode *res, *fv, *fvn, *gv, *gvn, *T, *E; unsigned int ford, gord; unsigned int index; DD_CTFP cacheOp; /* Check terminal cases. Op may swap f and g to increase the * cache hit rate. */ statLine(dd); res = (*op)(dd,&f,&g); if (res != NULL) return(res); /* Check cache. */ cacheOp = (DD_CTFP) op; res = cuddCacheLookup2(dd,cacheOp,f,g); if (res != NULL) return(res); /* Recursive step. */ ford = cuddI(dd,f->index); gord = cuddI(dd,g->index); if (ford <= gord) { index = f->index; fv = cuddT(f); fvn = cuddE(f); } else { index = g->index; fv = fvn = f; } if (gord <= ford) { gv = cuddT(g); gvn = cuddE(g); } else { gv = gvn = g; } T = cuddAddApplyRecur(dd,op,fv,gv); if (T == NULL) return(NULL); cuddRef(T); E = cuddAddApplyRecur(dd,op,fvn,gvn); if (E == NULL) { Cudd_RecursiveDeref(dd,T); return(NULL); } cuddRef(E); res = (T == E) ? T : cuddUniqueInter(dd,(int)index,T,E); if (res == NULL) { Cudd_RecursiveDeref(dd, T); Cudd_RecursiveDeref(dd, E); return(NULL); } cuddDeref(T); cuddDeref(E); /* Store result. */ cuddCacheInsert2(dd,cacheOp,f,g,res); return(res); } /* end of cuddAddApplyRecur */ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_addMonadicApply.] Description [Performs the recursive step of Cudd_addMonadicApply. Returns a pointer to the result if successful; NULL otherwise.] SideEffects [None] SeeAlso [cuddAddApplyRecur] ******************************************************************************/ DdNode * cuddAddMonadicApplyRecur( DdManager * dd, DD_MAOP op, DdNode * f) { DdNode *res, *ft, *fe, *T, *E; unsigned int index; /* Check terminal cases. */ statLine(dd); res = (*op)(dd,f); if (res != NULL) return(res); /* Check cache. */ res = cuddCacheLookup1(dd,op,f); if (res != NULL) return(res); /* Recursive step. */ index = f->index; ft = cuddT(f); fe = cuddE(f); T = cuddAddMonadicApplyRecur(dd,op,ft); if (T == NULL) return(NULL); cuddRef(T); E = cuddAddMonadicApplyRecur(dd,op,fe); if (E == NULL) { Cudd_RecursiveDeref(dd,T); return(NULL); } cuddRef(E); res = (T == E) ? T : cuddUniqueInter(dd,(int)index,T,E); if (res == NULL) { Cudd_RecursiveDeref(dd, T); Cudd_RecursiveDeref(dd, E); return(NULL); } cuddDeref(T); cuddDeref(E); /* Store result. */ cuddCacheInsert1(dd,op,f,res); return(res); } /* end of cuddAddMonadicApplyRecur */ /*---------------------------------------------------------------------------*/ /* Definition of static functions */ /*---------------------------------------------------------------------------*/ BRiAl-1.2.12/cudd/cuddAddFind.c000066400000000000000000000220471436062512100157470ustar00rootroot00000000000000/**CFile*********************************************************************** FileName [cuddAddFind.c] PackageName [cudd] Synopsis [Functions to find maximum and minimum in an ADD and to extract the i-th bit.] Description [External procedures included in this module:
  • Cudd_addFindMax()
  • Cudd_addFindMin()
  • Cudd_addIthBit()
Static functions included in this module:
  • addDoIthBit()
] Author [Fabio Somenzi] Copyright [Copyright (c) 1995-2012, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.] ******************************************************************************/ #include "util.h" #include "cuddInt.h" /*---------------------------------------------------------------------------*/ /* Constant declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Stucture declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Type declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Variable declarations */ /*---------------------------------------------------------------------------*/ #ifndef lint static char rcsid[] DD_UNUSED = "$Id: cuddAddFind.c,v 1.9 2012/02/05 01:07:18 fabio Exp $"; #endif /*---------------------------------------------------------------------------*/ /* Macro declarations */ /*---------------------------------------------------------------------------*/ #ifdef __cplusplus extern "C" { #endif /**AutomaticStart*************************************************************/ /*---------------------------------------------------------------------------*/ /* Static function prototypes */ /*---------------------------------------------------------------------------*/ static DdNode * addDoIthBit (DdManager *dd, DdNode *f, DdNode *index); /**AutomaticEnd***************************************************************/ #ifdef __cplusplus } #endif /*---------------------------------------------------------------------------*/ /* Definition of exported functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Finds the maximum discriminant of f.] Description [Returns a pointer to a constant ADD.] SideEffects [None] ******************************************************************************/ DdNode * Cudd_addFindMax( DdManager * dd, DdNode * f) { DdNode *t, *e, *res; statLine(dd); if (cuddIsConstant(f)) { return(f); } res = cuddCacheLookup1(dd,Cudd_addFindMax,f); if (res != NULL) { return(res); } t = Cudd_addFindMax(dd,cuddT(f)); if (t == DD_PLUS_INFINITY(dd)) return(t); e = Cudd_addFindMax(dd,cuddE(f)); res = (cuddV(t) >= cuddV(e)) ? t : e; cuddCacheInsert1(dd,Cudd_addFindMax,f,res); return(res); } /* end of Cudd_addFindMax */ /**Function******************************************************************** Synopsis [Finds the minimum discriminant of f.] Description [Returns a pointer to a constant ADD.] SideEffects [None] ******************************************************************************/ DdNode * Cudd_addFindMin( DdManager * dd, DdNode * f) { DdNode *t, *e, *res; statLine(dd); if (cuddIsConstant(f)) { return(f); } res = cuddCacheLookup1(dd,Cudd_addFindMin,f); if (res != NULL) { return(res); } t = Cudd_addFindMin(dd,cuddT(f)); if (t == DD_MINUS_INFINITY(dd)) return(t); e = Cudd_addFindMin(dd,cuddE(f)); res = (cuddV(t) <= cuddV(e)) ? t : e; cuddCacheInsert1(dd,Cudd_addFindMin,f,res); return(res); } /* end of Cudd_addFindMin */ /**Function******************************************************************** Synopsis [Extracts the i-th bit from an ADD.] Description [Produces an ADD from another ADD by replacing all discriminants whose i-th bit is equal to 1 with 1, and all other discriminants with 0. The i-th bit refers to the integer representation of the leaf value. If the value is has a fractional part, it is ignored. Repeated calls to this procedure allow one to transform an integer-valued ADD into an array of ADDs, one for each bit of the leaf values. Returns a pointer to the resulting ADD if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_addBddIthBit] ******************************************************************************/ DdNode * Cudd_addIthBit( DdManager * dd, DdNode * f, int bit) { DdNode *res; DdNode *index; /* Use a constant node to remember the bit, so that we can use the ** global cache. */ index = cuddUniqueConst(dd,(CUDD_VALUE_TYPE) bit); if (index == NULL) return(NULL); cuddRef(index); do { dd->reordered = 0; res = addDoIthBit(dd, f, index); } while (dd->reordered == 1); if (res == NULL) { Cudd_RecursiveDeref(dd, index); return(NULL); } cuddRef(res); Cudd_RecursiveDeref(dd, index); cuddDeref(res); return(res); } /* end of Cudd_addIthBit */ /*---------------------------------------------------------------------------*/ /* Definition of internal functions */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Definition of static functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Performs the recursive step for Cudd_addIthBit.] Description [Performs the recursive step for Cudd_addIthBit. Returns a pointer to the BDD if successful; NULL otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ static DdNode * addDoIthBit( DdManager * dd, DdNode * f, DdNode * index) { DdNode *res, *T, *E; DdNode *fv, *fvn; int mask, value; int v; statLine(dd); /* Check terminal case. */ if (cuddIsConstant(f)) { mask = 1 << ((int) cuddV(index)); value = (int) cuddV(f); return((value & mask) == 0 ? DD_ZERO(dd) : DD_ONE(dd)); } /* Check cache. */ res = cuddCacheLookup2(dd,addDoIthBit,f,index); if (res != NULL) return(res); /* Recursive step. */ v = f->index; fv = cuddT(f); fvn = cuddE(f); T = addDoIthBit(dd,fv,index); if (T == NULL) return(NULL); cuddRef(T); E = addDoIthBit(dd,fvn,index); if (E == NULL) { Cudd_RecursiveDeref(dd, T); return(NULL); } cuddRef(E); res = (T == E) ? T : cuddUniqueInter(dd,v,T,E); if (res == NULL) { Cudd_RecursiveDeref(dd, T); Cudd_RecursiveDeref(dd, E); return(NULL); } cuddDeref(T); cuddDeref(E); /* Store result. */ cuddCacheInsert2(dd,addDoIthBit,f,index,res); return(res); } /* end of addDoIthBit */ BRiAl-1.2.12/cudd/cuddAddInv.c000066400000000000000000000153521436062512100156240ustar00rootroot00000000000000/**CFile*********************************************************************** FileName [cuddAddInv.c] PackageName [cudd] Synopsis [Function to compute the scalar inverse of an ADD.] Description [External procedures included in this module:
  • Cudd_addScalarInverse()
Internal procedures included in this module:
  • cuddAddScalarInverseRecur()
] Author [Fabio Somenzi] Copyright [Copyright (c) 1995-2012, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.] ******************************************************************************/ #include "util.h" #include "cuddInt.h" /*---------------------------------------------------------------------------*/ /* Constant declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Stucture declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Type declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Variable declarations */ /*---------------------------------------------------------------------------*/ #ifndef lint static char rcsid[] DD_UNUSED = "$Id: cuddAddInv.c,v 1.10 2012/02/05 01:07:18 fabio Exp $"; #endif /*---------------------------------------------------------------------------*/ /* Macro declarations */ /*---------------------------------------------------------------------------*/ /**AutomaticStart*************************************************************/ /*---------------------------------------------------------------------------*/ /* Static function prototypes */ /*---------------------------------------------------------------------------*/ /**AutomaticEnd***************************************************************/ /*---------------------------------------------------------------------------*/ /* Definition of exported functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Computes the scalar inverse of an ADD.] Description [Computes an n ADD where the discriminants are the multiplicative inverses of the corresponding discriminants of the argument ADD. Returns a pointer to the resulting ADD in case of success. Returns NULL if any discriminants smaller than epsilon is encountered.] SideEffects [None] ******************************************************************************/ DdNode * Cudd_addScalarInverse( DdManager * dd, DdNode * f, DdNode * epsilon) { DdNode *res; if (!cuddIsConstant(epsilon)) { (void) fprintf(dd->err,"Invalid epsilon\n"); return(NULL); } do { dd->reordered = 0; res = cuddAddScalarInverseRecur(dd,f,epsilon); } while (dd->reordered == 1); return(res); } /* end of Cudd_addScalarInverse */ /*---------------------------------------------------------------------------*/ /* Definition of internal functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Performs the recursive step of addScalarInverse.] Description [Returns a pointer to the resulting ADD in case of success. Returns NULL if any discriminants smaller than epsilon is encountered.] SideEffects [None] ******************************************************************************/ DdNode * cuddAddScalarInverseRecur( DdManager * dd, DdNode * f, DdNode * epsilon) { DdNode *t, *e, *res; CUDD_VALUE_TYPE value; statLine(dd); if (cuddIsConstant(f)) { if (ddAbs(cuddV(f)) < cuddV(epsilon)) return(NULL); value = 1.0 / cuddV(f); res = cuddUniqueConst(dd,value); return(res); } res = cuddCacheLookup2(dd,Cudd_addScalarInverse,f,epsilon); if (res != NULL) return(res); t = cuddAddScalarInverseRecur(dd,cuddT(f),epsilon); if (t == NULL) return(NULL); cuddRef(t); e = cuddAddScalarInverseRecur(dd,cuddE(f),epsilon); if (e == NULL) { Cudd_RecursiveDeref(dd, t); return(NULL); } cuddRef(e); res = (t == e) ? t : cuddUniqueInter(dd,(int)f->index,t,e); if (res == NULL) { Cudd_RecursiveDeref(dd, t); Cudd_RecursiveDeref(dd, e); return(NULL); } cuddDeref(t); cuddDeref(e); cuddCacheInsert2(dd,Cudd_addScalarInverse,f,epsilon,res); return(res); } /* end of cuddAddScalarInverseRecur */ /*---------------------------------------------------------------------------*/ /* Definition of static functions */ /*---------------------------------------------------------------------------*/ BRiAl-1.2.12/cudd/cuddAddIte.c000066400000000000000000000423601436062512100156100ustar00rootroot00000000000000/**CFile*********************************************************************** FileName [cuddAddIte.c] PackageName [cudd] Synopsis [ADD ITE function and satellites.] Description [External procedures included in this module:
  • Cudd_addIte()
  • Cudd_addIteConstant()
  • Cudd_addEvalConst()
  • Cudd_addCmpl()
  • Cudd_addLeq()
Internal procedures included in this module:
  • cuddAddIteRecur()
  • cuddAddCmplRecur()
Static procedures included in this module:
  • addVarToConst()
] Author [Fabio Somenzi] Copyright [Copyright (c) 1995-2012, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.] ******************************************************************************/ #include "util.h" #include "cuddInt.h" /*---------------------------------------------------------------------------*/ /* Constant declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Stucture declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Type declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Variable declarations */ /*---------------------------------------------------------------------------*/ #ifndef lint static char rcsid[] DD_UNUSED = "$Id: cuddAddIte.c,v 1.16 2012/02/05 01:07:18 fabio Exp $"; #endif /*---------------------------------------------------------------------------*/ /* Macro declarations */ /*---------------------------------------------------------------------------*/ /**AutomaticStart*************************************************************/ /*---------------------------------------------------------------------------*/ /* Static function prototypes */ /*---------------------------------------------------------------------------*/ static void addVarToConst (DdNode *f, DdNode **gp, DdNode **hp, DdNode *one, DdNode *zero); /**AutomaticEnd***************************************************************/ /*---------------------------------------------------------------------------*/ /* Definition of exported functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Implements ITE(f,g,h).] Description [Implements ITE(f,g,h). This procedure assumes that f is a 0-1 ADD. Returns a pointer to the resulting ADD if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_bddIte Cudd_addIteConstant Cudd_addApply] ******************************************************************************/ DdNode * Cudd_addIte( DdManager * dd, DdNode * f, DdNode * g, DdNode * h) { DdNode *res; do { dd->reordered = 0; res = cuddAddIteRecur(dd,f,g,h); } while (dd->reordered == 1); return(res); } /* end of Cudd_addIte */ /**Function******************************************************************** Synopsis [Implements ITEconstant for ADDs.] Description [Implements ITEconstant for ADDs. f must be a 0-1 ADD. Returns a pointer to the resulting ADD (which may or may not be constant) or DD_NON_CONSTANT. No new nodes are created. This function can be used, for instance, to check that g has a constant value (specified by h) whenever f is 1. If the constant value is unknown, then one should use Cudd_addEvalConst.] SideEffects [None] SeeAlso [Cudd_addIte Cudd_addEvalConst Cudd_bddIteConstant] ******************************************************************************/ DdNode * Cudd_addIteConstant( DdManager * dd, DdNode * f, DdNode * g, DdNode * h) { DdNode *one,*zero; DdNode *Fv,*Fnv,*Gv,*Gnv,*Hv,*Hnv,*r,*t,*e; unsigned int topf,topg,toph,v; statLine(dd); /* Trivial cases. */ if (f == (one = DD_ONE(dd))) { /* ITE(1,G,H) = G */ return(g); } if (f == (zero = DD_ZERO(dd))) { /* ITE(0,G,H) = H */ return(h); } /* From now on, f is known not to be a constant. */ addVarToConst(f,&g,&h,one,zero); /* Check remaining one variable cases. */ if (g == h) { /* ITE(F,G,G) = G */ return(g); } if (cuddIsConstant(g) && cuddIsConstant(h)) { return(DD_NON_CONSTANT); } topf = cuddI(dd,f->index); topg = cuddI(dd,g->index); toph = cuddI(dd,h->index); v = ddMin(topg,toph); /* ITE(F,G,H) = (x,G,H) (non constant) if F = (x,1,0), x < top(G,H). */ if (topf < v && cuddIsConstant(cuddT(f)) && cuddIsConstant(cuddE(f))) { return(DD_NON_CONSTANT); } /* Check cache. */ r = cuddConstantLookup(dd,DD_ADD_ITE_CONSTANT_TAG,f,g,h); if (r != NULL) { return(r); } /* Compute cofactors. */ if (topf <= v) { v = ddMin(topf,v); /* v = top_var(F,G,H) */ Fv = cuddT(f); Fnv = cuddE(f); } else { Fv = Fnv = f; } if (topg == v) { Gv = cuddT(g); Gnv = cuddE(g); } else { Gv = Gnv = g; } if (toph == v) { Hv = cuddT(h); Hnv = cuddE(h); } else { Hv = Hnv = h; } /* Recursive step. */ t = Cudd_addIteConstant(dd,Fv,Gv,Hv); if (t == DD_NON_CONSTANT || !cuddIsConstant(t)) { cuddCacheInsert(dd, DD_ADD_ITE_CONSTANT_TAG, f, g, h, DD_NON_CONSTANT); return(DD_NON_CONSTANT); } e = Cudd_addIteConstant(dd,Fnv,Gnv,Hnv); if (e == DD_NON_CONSTANT || !cuddIsConstant(e) || t != e) { cuddCacheInsert(dd, DD_ADD_ITE_CONSTANT_TAG, f, g, h, DD_NON_CONSTANT); return(DD_NON_CONSTANT); } cuddCacheInsert(dd, DD_ADD_ITE_CONSTANT_TAG, f, g, h, t); return(t); } /* end of Cudd_addIteConstant */ /**Function******************************************************************** Synopsis [Checks whether ADD g is constant whenever ADD f is 1.] Description [Checks whether ADD g is constant whenever ADD f is 1. f must be a 0-1 ADD. Returns a pointer to the resulting ADD (which may or may not be constant) or DD_NON_CONSTANT. If f is identically 0, the check is assumed to be successful, and the background value is returned. No new nodes are created.] SideEffects [None] SeeAlso [Cudd_addIteConstant Cudd_addLeq] ******************************************************************************/ DdNode * Cudd_addEvalConst( DdManager * dd, DdNode * f, DdNode * g) { DdNode *zero; DdNode *Fv,*Fnv,*Gv,*Gnv,*r,*t,*e; unsigned int topf,topg; #ifdef DD_DEBUG assert(!Cudd_IsComplement(f)); #endif statLine(dd); /* Terminal cases. */ if (f == DD_ONE(dd) || cuddIsConstant(g)) { return(g); } if (f == (zero = DD_ZERO(dd))) { return(dd->background); } #ifdef DD_DEBUG assert(!cuddIsConstant(f)); #endif /* From now on, f and g are known not to be constants. */ topf = cuddI(dd,f->index); topg = cuddI(dd,g->index); /* Check cache. */ r = cuddConstantLookup(dd,DD_ADD_EVAL_CONST_TAG,f,g,g); if (r != NULL) { return(r); } /* Compute cofactors. */ if (topf <= topg) { Fv = cuddT(f); Fnv = cuddE(f); } else { Fv = Fnv = f; } if (topg <= topf) { Gv = cuddT(g); Gnv = cuddE(g); } else { Gv = Gnv = g; } /* Recursive step. */ if (Fv != zero) { t = Cudd_addEvalConst(dd,Fv,Gv); if (t == DD_NON_CONSTANT || !cuddIsConstant(t)) { cuddCacheInsert2(dd, Cudd_addEvalConst, f, g, DD_NON_CONSTANT); return(DD_NON_CONSTANT); } if (Fnv != zero) { e = Cudd_addEvalConst(dd,Fnv,Gnv); if (e == DD_NON_CONSTANT || !cuddIsConstant(e) || t != e) { cuddCacheInsert2(dd, Cudd_addEvalConst, f, g, DD_NON_CONSTANT); return(DD_NON_CONSTANT); } } cuddCacheInsert2(dd,Cudd_addEvalConst,f,g,t); return(t); } else { /* Fnv must be != zero */ e = Cudd_addEvalConst(dd,Fnv,Gnv); cuddCacheInsert2(dd, Cudd_addEvalConst, f, g, e); return(e); } } /* end of Cudd_addEvalConst */ /**Function******************************************************************** Synopsis [Computes the complement of an ADD a la C language.] Description [Computes the complement of an ADD a la C language: The complement of 0 is 1 and the complement of everything else is 0. Returns a pointer to the resulting ADD if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_addNegate] ******************************************************************************/ DdNode * Cudd_addCmpl( DdManager * dd, DdNode * f) { DdNode *res; do { dd->reordered = 0; res = cuddAddCmplRecur(dd,f); } while (dd->reordered == 1); return(res); } /* end of Cudd_addCmpl */ /**Function******************************************************************** Synopsis [Determines whether f is less than or equal to g.] Description [Returns 1 if f is less than or equal to g; 0 otherwise. No new nodes are created. This procedure works for arbitrary ADDs. For 0-1 ADDs Cudd_addEvalConst is more efficient.] SideEffects [None] SeeAlso [Cudd_addIteConstant Cudd_addEvalConst Cudd_bddLeq] ******************************************************************************/ int Cudd_addLeq( DdManager * dd, DdNode * f, DdNode * g) { DdNode *tmp, *fv, *fvn, *gv, *gvn; unsigned int topf, topg, res; /* Terminal cases. */ if (f == g) return(1); statLine(dd); if (cuddIsConstant(f)) { if (cuddIsConstant(g)) return(cuddV(f) <= cuddV(g)); if (f == DD_MINUS_INFINITY(dd)) return(1); if (f == DD_PLUS_INFINITY(dd)) return(0); /* since f != g */ } if (g == DD_PLUS_INFINITY(dd)) return(1); if (g == DD_MINUS_INFINITY(dd)) return(0); /* since f != g */ /* Check cache. */ tmp = cuddCacheLookup2(dd,(DD_CTFP)Cudd_addLeq,f,g); if (tmp != NULL) { return(tmp == DD_ONE(dd)); } /* Compute cofactors. One of f and g is not constant. */ topf = cuddI(dd,f->index); topg = cuddI(dd,g->index); if (topf <= topg) { fv = cuddT(f); fvn = cuddE(f); } else { fv = fvn = f; } if (topg <= topf) { gv = cuddT(g); gvn = cuddE(g); } else { gv = gvn = g; } res = Cudd_addLeq(dd,fvn,gvn) && Cudd_addLeq(dd,fv,gv); /* Store result in cache and return. */ cuddCacheInsert2(dd,(DD_CTFP) Cudd_addLeq,f,g, Cudd_NotCond(DD_ONE(dd),res==0)); return(res); } /* end of Cudd_addLeq */ /*---------------------------------------------------------------------------*/ /* Definition of internal functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Implements the recursive step of Cudd_addIte(f,g,h).] Description [Implements the recursive step of Cudd_addIte(f,g,h). Returns a pointer to the resulting ADD if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_addIte] ******************************************************************************/ DdNode * cuddAddIteRecur( DdManager * dd, DdNode * f, DdNode * g, DdNode * h) { DdNode *one,*zero; DdNode *r,*Fv,*Fnv,*Gv,*Gnv,*Hv,*Hnv,*t,*e; unsigned int topf,topg,toph,v; int index; statLine(dd); /* Trivial cases. */ /* One variable cases. */ if (f == (one = DD_ONE(dd))) { /* ITE(1,G,H) = G */ return(g); } if (f == (zero = DD_ZERO(dd))) { /* ITE(0,G,H) = H */ return(h); } /* From now on, f is known to not be a constant. */ addVarToConst(f,&g,&h,one,zero); /* Check remaining one variable cases. */ if (g == h) { /* ITE(F,G,G) = G */ return(g); } if (g == one) { /* ITE(F,1,0) = F */ if (h == zero) return(f); } topf = cuddI(dd,f->index); topg = cuddI(dd,g->index); toph = cuddI(dd,h->index); v = ddMin(topg,toph); /* A shortcut: ITE(F,G,H) = (x,G,H) if F=(x,1,0), x < top(G,H). */ if (topf < v && cuddT(f) == one && cuddE(f) == zero) { r = cuddUniqueInter(dd,(int)f->index,g,h); return(r); } if (topf < v && cuddT(f) == zero && cuddE(f) == one) { r = cuddUniqueInter(dd,(int)f->index,h,g); return(r); } /* Check cache. */ r = cuddCacheLookup(dd,DD_ADD_ITE_TAG,f,g,h); if (r != NULL) { return(r); } /* Compute cofactors. */ if (topf <= v) { v = ddMin(topf,v); /* v = top_var(F,G,H) */ index = f->index; Fv = cuddT(f); Fnv = cuddE(f); } else { Fv = Fnv = f; } if (topg == v) { index = g->index; Gv = cuddT(g); Gnv = cuddE(g); } else { Gv = Gnv = g; } if (toph == v) { index = h->index; Hv = cuddT(h); Hnv = cuddE(h); } else { Hv = Hnv = h; } /* Recursive step. */ t = cuddAddIteRecur(dd,Fv,Gv,Hv); if (t == NULL) return(NULL); cuddRef(t); e = cuddAddIteRecur(dd,Fnv,Gnv,Hnv); if (e == NULL) { Cudd_RecursiveDeref(dd,t); return(NULL); } cuddRef(e); r = (t == e) ? t : cuddUniqueInter(dd,index,t,e); if (r == NULL) { Cudd_RecursiveDeref(dd,t); Cudd_RecursiveDeref(dd,e); return(NULL); } cuddDeref(t); cuddDeref(e); cuddCacheInsert(dd,DD_ADD_ITE_TAG,f,g,h,r); return(r); } /* end of cuddAddIteRecur */ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_addCmpl.] Description [Performs the recursive step of Cudd_addCmpl. Returns a pointer to the resulting ADD if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_addCmpl] ******************************************************************************/ DdNode * cuddAddCmplRecur( DdManager * dd, DdNode * f) { DdNode *one,*zero; DdNode *r,*Fv,*Fnv,*t,*e; statLine(dd); one = DD_ONE(dd); zero = DD_ZERO(dd); if (cuddIsConstant(f)) { if (f == zero) { return(one); } else { return(zero); } } r = cuddCacheLookup1(dd,Cudd_addCmpl,f); if (r != NULL) { return(r); } Fv = cuddT(f); Fnv = cuddE(f); t = cuddAddCmplRecur(dd,Fv); if (t == NULL) return(NULL); cuddRef(t); e = cuddAddCmplRecur(dd,Fnv); if (e == NULL) { Cudd_RecursiveDeref(dd,t); return(NULL); } cuddRef(e); r = (t == e) ? t : cuddUniqueInter(dd,(int)f->index,t,e); if (r == NULL) { Cudd_RecursiveDeref(dd, t); Cudd_RecursiveDeref(dd, e); return(NULL); } cuddDeref(t); cuddDeref(e); cuddCacheInsert1(dd,Cudd_addCmpl,f,r); return(r); } /* end of cuddAddCmplRecur */ /*---------------------------------------------------------------------------*/ /* Definition of static functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Replaces variables with constants if possible (part of canonical form).] Description [] SideEffects [None] ******************************************************************************/ static void addVarToConst( DdNode * f, DdNode ** gp, DdNode ** hp, DdNode * one, DdNode * zero) { DdNode *g = *gp; DdNode *h = *hp; if (f == g) { /* ITE(F,F,H) = ITE(F,1,H) = F + H */ *gp = one; } if (f == h) { /* ITE(F,G,F) = ITE(F,G,0) = F * G */ *hp = zero; } } /* end of addVarToConst */ BRiAl-1.2.12/cudd/cuddAddNeg.c000066400000000000000000000207611436062512100156010ustar00rootroot00000000000000/**CFile*********************************************************************** FileName [cuddAddNeg.c] PackageName [cudd] Synopsis [Function to compute the negation of an ADD.] Description [External procedures included in this module:
  • Cudd_addNegate()
  • Cudd_addRoundOff()
Internal procedures included in this module:
  • cuddAddNegateRecur()
  • cuddAddRoundOffRecur()
] Author [Fabio Somenzi, Balakrishna Kumthekar] Copyright [Copyright (c) 1995-2012, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.] ******************************************************************************/ #include "util.h" #include "cuddInt.h" /*---------------------------------------------------------------------------*/ /* Constant declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Stucture declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Type declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Variable declarations */ /*---------------------------------------------------------------------------*/ #ifndef lint static char rcsid[] DD_UNUSED = "$Id: cuddAddNeg.c,v 1.14 2012/02/05 01:07:18 fabio Exp $"; #endif /*---------------------------------------------------------------------------*/ /* Macro declarations */ /*---------------------------------------------------------------------------*/ /**AutomaticStart*************************************************************/ /*---------------------------------------------------------------------------*/ /* Static function prototypes */ /*---------------------------------------------------------------------------*/ /**AutomaticEnd***************************************************************/ /*---------------------------------------------------------------------------*/ /* Definition of exported functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Computes the additive inverse of an ADD.] Description [Computes the additive inverse of an ADD. Returns a pointer to the result if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_addCmpl] ******************************************************************************/ DdNode * Cudd_addNegate( DdManager * dd, DdNode * f) { DdNode *res; do { dd->reordered = 0; res = cuddAddNegateRecur(dd,f); } while (dd->reordered == 1); return(res); } /* end of Cudd_addNegate */ /**Function******************************************************************** Synopsis [Rounds off the discriminants of an ADD.] Description [Rounds off the discriminants of an ADD. The discriminants are rounded off to N digits after the decimal. Returns a pointer to the result ADD if successful; NULL otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ DdNode * Cudd_addRoundOff( DdManager * dd, DdNode * f, int N) { DdNode *res; double trunc = pow(10.0,(double)N); do { dd->reordered = 0; res = cuddAddRoundOffRecur(dd,f,trunc); } while (dd->reordered == 1); return(res); } /* end of Cudd_addRoundOff */ /*---------------------------------------------------------------------------*/ /* Definition of internal functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Implements the recursive step of Cudd_addNegate.] Description [Implements the recursive step of Cudd_addNegate. Returns a pointer to the result.] SideEffects [None] ******************************************************************************/ DdNode * cuddAddNegateRecur( DdManager * dd, DdNode * f) { DdNode *res, *fv, *fvn, *T, *E; statLine(dd); /* Check terminal cases. */ if (cuddIsConstant(f)) { res = cuddUniqueConst(dd,-cuddV(f)); return(res); } /* Check cache */ res = cuddCacheLookup1(dd,Cudd_addNegate,f); if (res != NULL) return(res); /* Recursive Step */ fv = cuddT(f); fvn = cuddE(f); T = cuddAddNegateRecur(dd,fv); if (T == NULL) return(NULL); cuddRef(T); E = cuddAddNegateRecur(dd,fvn); if (E == NULL) { Cudd_RecursiveDeref(dd,T); return(NULL); } cuddRef(E); res = (T == E) ? T : cuddUniqueInter(dd,(int)f->index,T,E); if (res == NULL) { Cudd_RecursiveDeref(dd, T); Cudd_RecursiveDeref(dd, E); return(NULL); } cuddDeref(T); cuddDeref(E); /* Store result. */ cuddCacheInsert1(dd,Cudd_addNegate,f,res); return(res); } /* end of cuddAddNegateRecur */ /**Function******************************************************************** Synopsis [Implements the recursive step of Cudd_addRoundOff.] Description [Implements the recursive step of Cudd_addRoundOff. Returns a pointer to the result.] SideEffects [None] ******************************************************************************/ DdNode * cuddAddRoundOffRecur( DdManager * dd, DdNode * f, double trunc) { DdNode *res, *fv, *fvn, *T, *E; double n; DD_CTFP1 cacheOp; statLine(dd); if (cuddIsConstant(f)) { n = ceil(cuddV(f)*trunc)/trunc; res = cuddUniqueConst(dd,n); return(res); } cacheOp = (DD_CTFP1) Cudd_addRoundOff; res = cuddCacheLookup1(dd,cacheOp,f); if (res != NULL) { return(res); } /* Recursive Step */ fv = cuddT(f); fvn = cuddE(f); T = cuddAddRoundOffRecur(dd,fv,trunc); if (T == NULL) { return(NULL); } cuddRef(T); E = cuddAddRoundOffRecur(dd,fvn,trunc); if (E == NULL) { Cudd_RecursiveDeref(dd,T); return(NULL); } cuddRef(E); res = (T == E) ? T : cuddUniqueInter(dd,(int)f->index,T,E); if (res == NULL) { Cudd_RecursiveDeref(dd,T); Cudd_RecursiveDeref(dd,E); return(NULL); } cuddDeref(T); cuddDeref(E); /* Store result. */ cuddCacheInsert1(dd,cacheOp,f,res); return(res); } /* end of cuddAddRoundOffRecur */ /*---------------------------------------------------------------------------*/ /* Definition of static functions */ /*---------------------------------------------------------------------------*/ BRiAl-1.2.12/cudd/cuddAddWalsh.c000066400000000000000000000271011436062512100161410ustar00rootroot00000000000000/**CFile*********************************************************************** FileName [cuddAddWalsh.c] PackageName [cudd] Synopsis [Functions that generate Walsh matrices and residue functions in ADD form.] Description [External procedures included in this module:
  • Cudd_addWalsh()
  • Cudd_addResidue()
Static procedures included in this module:
  • addWalshInt()
] Author [Fabio Somenzi] Copyright [Copyright (c) 1995-2012, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.] ******************************************************************************/ #include "util.h" #include "cuddInt.h" /*---------------------------------------------------------------------------*/ /* Constant declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Stucture declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Type declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Variable declarations */ /*---------------------------------------------------------------------------*/ #ifndef lint static char rcsid[] DD_UNUSED = "$Id: cuddAddWalsh.c,v 1.11 2012/02/05 01:07:18 fabio Exp $"; #endif /*---------------------------------------------------------------------------*/ /* Macro declarations */ /*---------------------------------------------------------------------------*/ /**AutomaticStart*************************************************************/ /*---------------------------------------------------------------------------*/ /* Static function prototypes */ /*---------------------------------------------------------------------------*/ static DdNode * addWalshInt (DdManager *dd, DdNode **x, DdNode **y, int n); /**AutomaticEnd***************************************************************/ /*---------------------------------------------------------------------------*/ /* Definition of exported functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Generates a Walsh matrix in ADD form.] Description [Generates a Walsh matrix in ADD form. Returns a pointer to the matrixi if successful; NULL otherwise.] SideEffects [None] ******************************************************************************/ DdNode * Cudd_addWalsh( DdManager * dd, DdNode ** x, DdNode ** y, int n) { DdNode *res; do { dd->reordered = 0; res = addWalshInt(dd, x, y, n); } while (dd->reordered == 1); return(res); } /* end of Cudd_addWalsh */ /**Function******************************************************************** Synopsis [Builds an ADD for the residue modulo m of an n-bit number.] Description [Builds an ADD for the residue modulo m of an n-bit number. The modulus must be at least 2, and the number of bits at least 1. Parameter options specifies whether the MSB should be on top or the LSB; and whther the number whose residue is computed is in two's complement notation or not. The macro CUDD_RESIDUE_DEFAULT specifies LSB on top and unsigned number. The macro CUDD_RESIDUE_MSB specifies MSB on top, and the macro CUDD_RESIDUE_TC specifies two's complement residue. To request MSB on top and two's complement residue simultaneously, one can OR the two macros: CUDD_RESIDUE_MSB | CUDD_RESIDUE_TC. Cudd_addResidue returns a pointer to the resulting ADD if successful; NULL otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ DdNode * Cudd_addResidue( DdManager * dd /* manager */, int n /* number of bits */, int m /* modulus */, int options /* options */, int top /* index of top variable */) { int msbLsb; /* MSB on top (1) or LSB on top (0) */ int tc; /* two's complement (1) or unsigned (0) */ int i, j, k, t, residue, thisOne, previous, index; DdNode **array[2], *var, *tmp, *res; /* Sanity check. */ if (n < 1 && m < 2) return(NULL); msbLsb = options & CUDD_RESIDUE_MSB; tc = options & CUDD_RESIDUE_TC; /* Allocate and initialize working arrays. */ array[0] = ALLOC(DdNode *,m); if (array[0] == NULL) { dd->errorCode = CUDD_MEMORY_OUT; return(NULL); } array[1] = ALLOC(DdNode *,m); if (array[1] == NULL) { FREE(array[0]); dd->errorCode = CUDD_MEMORY_OUT; return(NULL); } for (i = 0; i < m; i++) { array[0][i] = array[1][i] = NULL; } /* Initialize residues. */ for (i = 0; i < m; i++) { tmp = cuddUniqueConst(dd,(CUDD_VALUE_TYPE) i); if (tmp == NULL) { for (j = 0; j < i; j++) { Cudd_RecursiveDeref(dd,array[1][j]); } FREE(array[0]); FREE(array[1]); return(NULL); } cuddRef(tmp); array[1][i] = tmp; } /* Main iteration. */ residue = 1; /* residue of 2**0 */ for (k = 0; k < n; k++) { /* Choose current and previous arrays. */ thisOne = k & 1; previous = thisOne ^ 1; /* Build an ADD projection function. */ if (msbLsb) { index = top+n-k-1; } else { index = top+k; } var = cuddUniqueInter(dd,index,DD_ONE(dd),DD_ZERO(dd)); if (var == NULL) { for (j = 0; j < m; j++) { Cudd_RecursiveDeref(dd,array[previous][j]); } FREE(array[0]); FREE(array[1]); return(NULL); } cuddRef(var); for (i = 0; i < m; i ++) { t = (i + residue) % m; tmp = Cudd_addIte(dd,var,array[previous][t],array[previous][i]); if (tmp == NULL) { for (j = 0; j < i; j++) { Cudd_RecursiveDeref(dd,array[thisOne][j]); } for (j = 0; j < m; j++) { Cudd_RecursiveDeref(dd,array[previous][j]); } FREE(array[0]); FREE(array[1]); return(NULL); } cuddRef(tmp); array[thisOne][i] = tmp; } /* One layer completed. Free the other array for the next iteration. */ for (i = 0; i < m; i++) { Cudd_RecursiveDeref(dd,array[previous][i]); } Cudd_RecursiveDeref(dd,var); /* Update residue of 2**k. */ residue = (2 * residue) % m; /* Adjust residue for MSB, if this is a two's complement number. */ if (tc && (k == n - 1)) { residue = (m - residue) % m; } } /* We are only interested in the 0-residue node of the top layer. */ for (i = 1; i < m; i++) { Cudd_RecursiveDeref(dd,array[(n - 1) & 1][i]); } res = array[(n - 1) & 1][0]; FREE(array[0]); FREE(array[1]); cuddDeref(res); return(res); } /* end of Cudd_addResidue */ /*---------------------------------------------------------------------------*/ /* Definition of internal functions */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Definition of static functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Implements the recursive step of Cudd_addWalsh.] Description [Generates a Walsh matrix in ADD form. Returns a pointer to the matrixi if successful; NULL otherwise.] SideEffects [None] ******************************************************************************/ static DdNode * addWalshInt( DdManager * dd, DdNode ** x, DdNode ** y, int n) { DdNode *one, *minusone; DdNode *t, *u, *t1, *u1, *v, *w; int i; one = DD_ONE(dd); if (n == 0) return(one); /* Build bottom part of ADD outside loop */ minusone = cuddUniqueConst(dd,(CUDD_VALUE_TYPE) -1); if (minusone == NULL) return(NULL); cuddRef(minusone); v = Cudd_addIte(dd, y[n-1], minusone, one); if (v == NULL) { Cudd_RecursiveDeref(dd, minusone); return(NULL); } cuddRef(v); u = Cudd_addIte(dd, x[n-1], v, one); if (u == NULL) { Cudd_RecursiveDeref(dd, minusone); Cudd_RecursiveDeref(dd, v); return(NULL); } cuddRef(u); Cudd_RecursiveDeref(dd, v); if (n>1) { w = Cudd_addIte(dd, y[n-1], one, minusone); if (w == NULL) { Cudd_RecursiveDeref(dd, minusone); Cudd_RecursiveDeref(dd, u); return(NULL); } cuddRef(w); t = Cudd_addIte(dd, x[n-1], w, minusone); if (t == NULL) { Cudd_RecursiveDeref(dd, minusone); Cudd_RecursiveDeref(dd, u); Cudd_RecursiveDeref(dd, w); return(NULL); } cuddRef(t); Cudd_RecursiveDeref(dd, w); } cuddDeref(minusone); /* minusone is in the result; it won't die */ /* Loop to build the rest of the ADD */ for (i=n-2; i>=0; i--) { t1 = t; u1 = u; v = Cudd_addIte(dd, y[i], t1, u1); if (v == NULL) { Cudd_RecursiveDeref(dd, u1); Cudd_RecursiveDeref(dd, t1); return(NULL); } cuddRef(v); u = Cudd_addIte(dd, x[i], v, u1); if (u == NULL) { Cudd_RecursiveDeref(dd, u1); Cudd_RecursiveDeref(dd, t1); Cudd_RecursiveDeref(dd, v); return(NULL); } cuddRef(u); Cudd_RecursiveDeref(dd, v); if (i>0) { w = Cudd_addIte(dd, y[i], u1, t1); if (w == NULL) { Cudd_RecursiveDeref(dd, u1); Cudd_RecursiveDeref(dd, t1); Cudd_RecursiveDeref(dd, u); return(NULL); } cuddRef(w); t = Cudd_addIte(dd, x[i], w, t1); if (u == NULL) { Cudd_RecursiveDeref(dd, u1); Cudd_RecursiveDeref(dd, t1); Cudd_RecursiveDeref(dd, u); Cudd_RecursiveDeref(dd, w); return(NULL); } cuddRef(t); Cudd_RecursiveDeref(dd, w); } Cudd_RecursiveDeref(dd, u1); Cudd_RecursiveDeref(dd, t1); } cuddDeref(u); return(u); } /* end of addWalshInt */ BRiAl-1.2.12/cudd/cuddAndAbs.c000066400000000000000000000262761436062512100156160ustar00rootroot00000000000000/**CFile*********************************************************************** FileName [cuddAndAbs.c] PackageName [cudd] Synopsis [Combined AND and existential abstraction for BDDs] Description [External procedures included in this module:
  • Cudd_bddAndAbstract()
  • Cudd_bddAndAbstractLimit()
Internal procedures included in this module:
  • cuddBddAndAbstractRecur()
] Author [Fabio Somenzi] Copyright [Copyright (c) 1995-2012, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.] ******************************************************************************/ #include "util.h" #include "cuddInt.h" /*---------------------------------------------------------------------------*/ /* Constant declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Stucture declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Type declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Variable declarations */ /*---------------------------------------------------------------------------*/ #ifndef lint static char rcsid[] DD_UNUSED = "$Id: cuddAndAbs.c,v 1.20 2012/02/05 01:07:18 fabio Exp $"; #endif /*---------------------------------------------------------------------------*/ /* Macro declarations */ /*---------------------------------------------------------------------------*/ /**AutomaticStart*************************************************************/ /*---------------------------------------------------------------------------*/ /* Static function prototypes */ /*---------------------------------------------------------------------------*/ /**AutomaticEnd***************************************************************/ /*---------------------------------------------------------------------------*/ /* Definition of exported functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Takes the AND of two BDDs and simultaneously abstracts the variables in cube.] Description [Takes the AND of two BDDs and simultaneously abstracts the variables in cube. The variables are existentially abstracted. Returns a pointer to the result is successful; NULL otherwise. Cudd_bddAndAbstract implements the semiring matrix multiplication algorithm for the boolean semiring.] SideEffects [None] SeeAlso [Cudd_addMatrixMultiply Cudd_addTriangle Cudd_bddAnd] ******************************************************************************/ DdNode * Cudd_bddAndAbstract( DdManager * manager, DdNode * f, DdNode * g, DdNode * cube) { DdNode *res; do { manager->reordered = 0; res = cuddBddAndAbstractRecur(manager, f, g, cube); } while (manager->reordered == 1); return(res); } /* end of Cudd_bddAndAbstract */ /**Function******************************************************************** Synopsis [Takes the AND of two BDDs and simultaneously abstracts the variables in cube. Returns NULL if too many nodes are required.] Description [Takes the AND of two BDDs and simultaneously abstracts the variables in cube. The variables are existentially abstracted. Returns a pointer to the result is successful; NULL otherwise. In particular, if the number of new nodes created exceeds limit, this function returns NULL.] SideEffects [None] SeeAlso [Cudd_bddAndAbstract] ******************************************************************************/ DdNode * Cudd_bddAndAbstractLimit( DdManager * manager, DdNode * f, DdNode * g, DdNode * cube, unsigned int limit) { DdNode *res; unsigned int saveLimit = manager->maxLive; manager->maxLive = (manager->keys - manager->dead) + (manager->keysZ - manager->deadZ) + limit; do { manager->reordered = 0; res = cuddBddAndAbstractRecur(manager, f, g, cube); } while (manager->reordered == 1); manager->maxLive = saveLimit; return(res); } /* end of Cudd_bddAndAbstractLimit */ /*---------------------------------------------------------------------------*/ /* Definition of internal functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Takes the AND of two BDDs and simultaneously abstracts the variables in cube.] Description [Takes the AND of two BDDs and simultaneously abstracts the variables in cube. The variables are existentially abstracted. Returns a pointer to the result is successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_bddAndAbstract] ******************************************************************************/ DdNode * cuddBddAndAbstractRecur( DdManager * manager, DdNode * f, DdNode * g, DdNode * cube) { DdNode *F, *ft, *fe, *G, *gt, *ge; DdNode *one, *zero, *r, *t, *e; unsigned int topf, topg, topcube, top, index; statLine(manager); one = DD_ONE(manager); zero = Cudd_Not(one); /* Terminal cases. */ if (f == zero || g == zero || f == Cudd_Not(g)) return(zero); if (f == one && g == one) return(one); if (cube == one) { return(cuddBddAndRecur(manager, f, g)); } if (f == one || f == g) { return(cuddBddExistAbstractRecur(manager, g, cube)); } if (g == one) { return(cuddBddExistAbstractRecur(manager, f, cube)); } /* At this point f, g, and cube are not constant. */ if (f > g) { /* Try to increase cache efficiency. */ DdNode *tmp = f; f = g; g = tmp; } /* Here we can skip the use of cuddI, because the operands are known ** to be non-constant. */ F = Cudd_Regular(f); G = Cudd_Regular(g); topf = manager->perm[F->index]; topg = manager->perm[G->index]; top = ddMin(topf, topg); topcube = manager->perm[cube->index]; while (topcube < top) { cube = cuddT(cube); if (cube == one) { return(cuddBddAndRecur(manager, f, g)); } topcube = manager->perm[cube->index]; } /* Now, topcube >= top. */ /* Check cache. */ if (F->ref != 1 || G->ref != 1) { r = cuddCacheLookup(manager, DD_BDD_AND_ABSTRACT_TAG, f, g, cube); if (r != NULL) { return(r); } } if (topf == top) { index = F->index; ft = cuddT(F); fe = cuddE(F); if (Cudd_IsComplement(f)) { ft = Cudd_Not(ft); fe = Cudd_Not(fe); } } else { index = G->index; ft = fe = f; } if (topg == top) { gt = cuddT(G); ge = cuddE(G); if (Cudd_IsComplement(g)) { gt = Cudd_Not(gt); ge = Cudd_Not(ge); } } else { gt = ge = g; } if (topcube == top) { /* quantify */ DdNode *Cube = cuddT(cube); t = cuddBddAndAbstractRecur(manager, ft, gt, Cube); if (t == NULL) return(NULL); /* Special case: 1 OR anything = 1. Hence, no need to compute ** the else branch if t is 1. Likewise t + t * anything == t. ** Notice that t == fe implies that fe does not depend on the ** variables in Cube. Likewise for t == ge. */ if (t == one || t == fe || t == ge) { if (F->ref != 1 || G->ref != 1) cuddCacheInsert(manager, DD_BDD_AND_ABSTRACT_TAG, f, g, cube, t); return(t); } cuddRef(t); /* Special case: t + !t * anything == t + anything. */ if (t == Cudd_Not(fe)) { e = cuddBddExistAbstractRecur(manager, ge, Cube); } else if (t == Cudd_Not(ge)) { e = cuddBddExistAbstractRecur(manager, fe, Cube); } else { e = cuddBddAndAbstractRecur(manager, fe, ge, Cube); } if (e == NULL) { Cudd_IterDerefBdd(manager, t); return(NULL); } if (t == e) { r = t; cuddDeref(t); } else { cuddRef(e); r = cuddBddAndRecur(manager, Cudd_Not(t), Cudd_Not(e)); if (r == NULL) { Cudd_IterDerefBdd(manager, t); Cudd_IterDerefBdd(manager, e); return(NULL); } r = Cudd_Not(r); cuddRef(r); Cudd_DelayedDerefBdd(manager, t); Cudd_DelayedDerefBdd(manager, e); cuddDeref(r); } } else { t = cuddBddAndAbstractRecur(manager, ft, gt, cube); if (t == NULL) return(NULL); cuddRef(t); e = cuddBddAndAbstractRecur(manager, fe, ge, cube); if (e == NULL) { Cudd_IterDerefBdd(manager, t); return(NULL); } if (t == e) { r = t; cuddDeref(t); } else { cuddRef(e); if (Cudd_IsComplement(t)) { r = cuddUniqueInter(manager, (int) index, Cudd_Not(t), Cudd_Not(e)); if (r == NULL) { Cudd_IterDerefBdd(manager, t); Cudd_IterDerefBdd(manager, e); return(NULL); } r = Cudd_Not(r); } else { r = cuddUniqueInter(manager,(int)index,t,e); if (r == NULL) { Cudd_IterDerefBdd(manager, t); Cudd_IterDerefBdd(manager, e); return(NULL); } } cuddDeref(e); cuddDeref(t); } } if (F->ref != 1 || G->ref != 1) cuddCacheInsert(manager, DD_BDD_AND_ABSTRACT_TAG, f, g, cube, r); return (r); } /* end of cuddBddAndAbstractRecur */ /*---------------------------------------------------------------------------*/ /* Definition of static functions */ /*---------------------------------------------------------------------------*/ BRiAl-1.2.12/cudd/cuddAnneal.c000066400000000000000000000537101436062512100156550ustar00rootroot00000000000000/**CFile*********************************************************************** FileName [cuddAnneal.c] PackageName [cudd] Synopsis [Reordering of DDs based on simulated annealing] Description [Internal procedures included in this file:
  • cuddAnnealing()
Static procedures included in this file:
  • stopping_criterion()
  • random_generator()
  • ddExchange()
  • ddJumpingAux()
  • ddJumpingUp()
  • ddJumpingDown()
  • siftBackwardProb()
  • copyOrder()
  • restoreOrder()
] SeeAlso [] Author [Jae-Young Jang, Jorgen Sivesind] Copyright [Copyright (c) 1995-2012, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.] ******************************************************************************/ #include "util.h" #include "cuddInt.h" /*---------------------------------------------------------------------------*/ /* Constant declarations */ /*---------------------------------------------------------------------------*/ /* Annealing parameters */ #define BETA 0.6 #define ALPHA 0.90 #define EXC_PROB 0.4 #define JUMP_UP_PROB 0.36 #define MAXGEN_RATIO 15.0 #define STOP_TEMP 1.0 /*---------------------------------------------------------------------------*/ /* Stucture declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Type declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Variable declarations */ /*---------------------------------------------------------------------------*/ #ifndef lint static char rcsid[] DD_UNUSED = "$Id: cuddAnneal.c,v 1.15 2012/02/05 01:07:18 fabio Exp $"; #endif #ifdef DD_STATS extern int ddTotalNumberSwapping; extern int ddTotalNISwaps; static int tosses; static int acceptances; #endif /*---------------------------------------------------------------------------*/ /* Macro declarations */ /*---------------------------------------------------------------------------*/ /**AutomaticStart*************************************************************/ /*---------------------------------------------------------------------------*/ /* Static function prototypes */ /*---------------------------------------------------------------------------*/ static int stopping_criterion (int c1, int c2, int c3, int c4, double temp); static double random_generator (void); static int ddExchange (DdManager *table, int x, int y, double temp); static int ddJumpingAux (DdManager *table, int x, int x_low, int x_high, double temp); static Move * ddJumpingUp (DdManager *table, int x, int x_low, int initial_size); static Move * ddJumpingDown (DdManager *table, int x, int x_high, int initial_size); static int siftBackwardProb (DdManager *table, Move *moves, int size, double temp); static void copyOrder (DdManager *table, int *array, int lower, int upper); static int restoreOrder (DdManager *table, int *array, int lower, int upper); /**AutomaticEnd***************************************************************/ /*---------------------------------------------------------------------------*/ /* Definition of exported functions */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Definition of internal functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Get new variable-order by simulated annealing algorithm.] Description [Get x, y by random selection. Choose either exchange or jump randomly. In case of jump, choose between jump_up and jump_down randomly. Do exchange or jump and get optimal case. Loop until there is no improvement or temperature reaches minimum. Returns 1 in case of success; 0 otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ int cuddAnnealing( DdManager * table, int lower, int upper) { int nvars; int size; int x,y; int result; int c1, c2, c3, c4; int BestCost; int *BestOrder; double NewTemp, temp; double rand1; int innerloop, maxGen; int ecount, ucount, dcount; nvars = upper - lower + 1; result = cuddSifting(table,lower,upper); #ifdef DD_STATS (void) fprintf(table->out,"\n"); #endif if (result == 0) return(0); size = table->keys - table->isolated; /* Keep track of the best order. */ BestCost = size; BestOrder = ALLOC(int,nvars); if (BestOrder == NULL) { table->errorCode = CUDD_MEMORY_OUT; return(0); } copyOrder(table,BestOrder,lower,upper); temp = BETA * size; maxGen = (int) (MAXGEN_RATIO * nvars); c1 = size + 10; c2 = c1 + 10; c3 = size; c4 = c2 + 10; ecount = ucount = dcount = 0; while (!stopping_criterion(c1, c2, c3, c4, temp)) { #ifdef DD_STATS (void) fprintf(table->out,"temp=%f\tsize=%d\tgen=%d\t", temp,size,maxGen); tosses = acceptances = 0; #endif for (innerloop = 0; innerloop < maxGen; innerloop++) { /* Choose x, y randomly. */ x = (int) Cudd_Random() % nvars; do { y = (int) Cudd_Random() % nvars; } while (x == y); x += lower; y += lower; if (x > y) { int tmp = x; x = y; y = tmp; } /* Choose move with roulette wheel. */ rand1 = random_generator(); if (rand1 < EXC_PROB) { result = ddExchange(table,x,y,temp); /* exchange */ ecount++; #if 0 (void) fprintf(table->out, "Exchange of %d and %d: size = %d\n", x,y,table->keys - table->isolated); #endif } else if (rand1 < EXC_PROB + JUMP_UP_PROB) { result = ddJumpingAux(table,y,x,y,temp); /* jumping_up */ ucount++; #if 0 (void) fprintf(table->out, "Jump up of %d to %d: size = %d\n", y,x,table->keys - table->isolated); #endif } else { result = ddJumpingAux(table,x,x,y,temp); /* jumping_down */ dcount++; #if 0 (void) fprintf(table->out, "Jump down of %d to %d: size = %d\n", x,y,table->keys - table->isolated); #endif } if (!result) { FREE(BestOrder); return(0); } size = table->keys - table->isolated; /* keep current size */ if (size < BestCost) { /* update best order */ BestCost = size; copyOrder(table,BestOrder,lower,upper); } } c1 = c2; c2 = c3; c3 = c4; c4 = size; NewTemp = ALPHA * temp; if (NewTemp >= 1.0) { maxGen = (int)(log(NewTemp) / log(temp) * maxGen); } temp = NewTemp; /* control variable */ #ifdef DD_STATS (void) fprintf(table->out,"uphill = %d\taccepted = %d\n", tosses,acceptances); fflush(table->out); #endif } result = restoreOrder(table,BestOrder,lower,upper); FREE(BestOrder); if (!result) return(0); #ifdef DD_STATS fprintf(table->out,"#:N_EXCHANGE %8d : total exchanges\n",ecount); fprintf(table->out,"#:N_JUMPUP %8d : total jumps up\n",ucount); fprintf(table->out,"#:N_JUMPDOWN %8d : total jumps down",dcount); #endif return(1); } /* end of cuddAnnealing */ /*---------------------------------------------------------------------------*/ /* Definition of static functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Checks termination condition.] Description [If temperature is STOP_TEMP or there is no improvement then terminates. Returns 1 if the termination criterion is met; 0 otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ static int stopping_criterion( int c1, int c2, int c3, int c4, double temp) { if (STOP_TEMP < temp) { return(0); } else if ((c1 == c2) && (c1 == c3) && (c1 == c4)) { return(1); } else { return(0); } } /* end of stopping_criterion */ /**Function******************************************************************** Synopsis [Random number generator.] Description [Returns a double precision value between 0.0 and 1.0.] SideEffects [None] SeeAlso [] ******************************************************************************/ static double random_generator(void) { return((double)(Cudd_Random() / 2147483561.0)); } /* end of random_generator */ /**Function******************************************************************** Synopsis [This function is for exchanging two variables, x and y.] Description [This is the same funcion as ddSwapping except for comparison expression. Use probability function, exp(-size_change/temp).] SideEffects [None] SeeAlso [] ******************************************************************************/ static int ddExchange( DdManager * table, int x, int y, double temp) { Move *move,*moves; int tmp; int x_ref,y_ref; int x_next,y_next; int size, result; int initial_size, limit_size; x_ref = x; y_ref = y; x_next = cuddNextHigh(table,x); y_next = cuddNextLow(table,y); moves = NULL; initial_size = limit_size = table->keys - table->isolated; for (;;) { if (x_next == y_next) { size = cuddSwapInPlace(table,x,x_next); if (size == 0) goto ddExchangeOutOfMem; move = (Move *)cuddDynamicAllocNode(table); if (move == NULL) goto ddExchangeOutOfMem; move->x = x; move->y = x_next; move->size = size; move->next = moves; moves = move; size = cuddSwapInPlace(table,y_next,y); if (size == 0) goto ddExchangeOutOfMem; move = (Move *)cuddDynamicAllocNode(table); if (move == NULL) goto ddExchangeOutOfMem; move->x = y_next; move->y = y; move->size = size; move->next = moves; moves = move; size = cuddSwapInPlace(table,x,x_next); if (size == 0) goto ddExchangeOutOfMem; move = (Move *)cuddDynamicAllocNode(table); if (move == NULL) goto ddExchangeOutOfMem; move->x = x; move->y = x_next; move->size = size; move->next = moves; moves = move; tmp = x; x = y; y = tmp; } else if (x == y_next) { size = cuddSwapInPlace(table,x,x_next); if (size == 0) goto ddExchangeOutOfMem; move = (Move *)cuddDynamicAllocNode(table); if (move == NULL) goto ddExchangeOutOfMem; move->x = x; move->y = x_next; move->size = size; move->next = moves; moves = move; tmp = x; x = y; y = tmp; } else { size = cuddSwapInPlace(table,x,x_next); if (size == 0) goto ddExchangeOutOfMem; move = (Move *)cuddDynamicAllocNode(table); if (move == NULL) goto ddExchangeOutOfMem; move->x = x; move->y = x_next; move->size = size; move->next = moves; moves = move; size = cuddSwapInPlace(table,y_next,y); if (size == 0) goto ddExchangeOutOfMem; move = (Move *)cuddDynamicAllocNode(table); if (move == NULL) goto ddExchangeOutOfMem; move->x = y_next; move->y = y; move->size = size; move->next = moves; moves = move; x = x_next; y = y_next; } x_next = cuddNextHigh(table,x); y_next = cuddNextLow(table,y); if (x_next > y_ref) break; if ((double) size > DD_MAX_REORDER_GROWTH * (double) limit_size) { break; } else if (size < limit_size) { limit_size = size; } } if (y_next>=x_ref) { size = cuddSwapInPlace(table,y_next,y); if (size == 0) goto ddExchangeOutOfMem; move = (Move *)cuddDynamicAllocNode(table); if (move == NULL) goto ddExchangeOutOfMem; move->x = y_next; move->y = y; move->size = size; move->next = moves; moves = move; } /* move backward and stop at best position or accept uphill move */ result = siftBackwardProb(table,moves,initial_size,temp); if (!result) goto ddExchangeOutOfMem; while (moves != NULL) { move = moves->next; cuddDeallocMove(table, moves); moves = move; } return(1); ddExchangeOutOfMem: while (moves != NULL) { move = moves->next; cuddDeallocMove(table, moves); moves = move; } return(0); } /* end of ddExchange */ /**Function******************************************************************** Synopsis [Moves a variable to a specified position.] Description [If x==x_low, it executes jumping_down. If x==x_high, it executes jumping_up. This funcion is similar to ddSiftingAux. Returns 1 in case of success; 0 otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ static int ddJumpingAux( DdManager * table, int x, int x_low, int x_high, double temp) { Move *move; Move *moves; /* list of moves */ int initial_size; int result; initial_size = table->keys - table->isolated; #ifdef DD_DEBUG assert(table->subtables[x].keys > 0); #endif moves = NULL; if (cuddNextLow(table,x) < x_low) { if (cuddNextHigh(table,x) > x_high) return(1); moves = ddJumpingDown(table,x,x_high,initial_size); /* after that point x --> x_high unless early termination */ if (moves == NULL) goto ddJumpingAuxOutOfMem; /* move backward and stop at best position or accept uphill move */ result = siftBackwardProb(table,moves,initial_size,temp); if (!result) goto ddJumpingAuxOutOfMem; } else if (cuddNextHigh(table,x) > x_high) { moves = ddJumpingUp(table,x,x_low,initial_size); /* after that point x --> x_low unless early termination */ if (moves == NULL) goto ddJumpingAuxOutOfMem; /* move backward and stop at best position or accept uphill move */ result = siftBackwardProb(table,moves,initial_size,temp); if (!result) goto ddJumpingAuxOutOfMem; } else { (void) fprintf(table->err,"Unexpected condition in ddJumping\n"); goto ddJumpingAuxOutOfMem; } while (moves != NULL) { move = moves->next; cuddDeallocMove(table, moves); moves = move; } return(1); ddJumpingAuxOutOfMem: while (moves != NULL) { move = moves->next; cuddDeallocMove(table, moves); moves = move; } return(0); } /* end of ddJumpingAux */ /**Function******************************************************************** Synopsis [This function is for jumping up.] Description [This is a simplified version of ddSiftingUp. It does not use lower bounding. Returns the set of moves in case of success; NULL if memory is full.] SideEffects [None] SeeAlso [] ******************************************************************************/ static Move * ddJumpingUp( DdManager * table, int x, int x_low, int initial_size) { Move *moves; Move *move; int y; int size; int limit_size = initial_size; moves = NULL; y = cuddNextLow(table,x); while (y >= x_low) { size = cuddSwapInPlace(table,y,x); if (size == 0) goto ddJumpingUpOutOfMem; move = (Move *)cuddDynamicAllocNode(table); if (move == NULL) goto ddJumpingUpOutOfMem; move->x = y; move->y = x; move->size = size; move->next = moves; moves = move; if ((double) size > table->maxGrowth * (double) limit_size) { break; } else if (size < limit_size) { limit_size = size; } x = y; y = cuddNextLow(table,x); } return(moves); ddJumpingUpOutOfMem: while (moves != NULL) { move = moves->next; cuddDeallocMove(table, moves); moves = move; } return(NULL); } /* end of ddJumpingUp */ /**Function******************************************************************** Synopsis [This function is for jumping down.] Description [This is a simplified version of ddSiftingDown. It does not use lower bounding. Returns the set of moves in case of success; NULL if memory is full.] SideEffects [None] SeeAlso [] ******************************************************************************/ static Move * ddJumpingDown( DdManager * table, int x, int x_high, int initial_size) { Move *moves; Move *move; int y; int size; int limit_size = initial_size; moves = NULL; y = cuddNextHigh(table,x); while (y <= x_high) { size = cuddSwapInPlace(table,x,y); if (size == 0) goto ddJumpingDownOutOfMem; move = (Move *)cuddDynamicAllocNode(table); if (move == NULL) goto ddJumpingDownOutOfMem; move->x = x; move->y = y; move->size = size; move->next = moves; moves = move; if ((double) size > table->maxGrowth * (double) limit_size) { break; } else if (size < limit_size) { limit_size = size; } x = y; y = cuddNextHigh(table,x); } return(moves); ddJumpingDownOutOfMem: while (moves != NULL) { move = moves->next; cuddDeallocMove(table, moves); moves = move; } return(NULL); } /* end of ddJumpingDown */ /**Function******************************************************************** Synopsis [Returns the DD to the best position encountered during sifting if there was improvement.] Description [Otherwise, "tosses a coin" to decide whether to keep the current configuration or return the DD to the original one. Returns 1 in case of success; 0 otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ static int siftBackwardProb( DdManager * table, Move * moves, int size, double temp) { Move *move; int res; int best_size = size; double coin, threshold; /* Look for best size during the last sifting */ for (move = moves; move != NULL; move = move->next) { if (move->size < best_size) { best_size = move->size; } } /* If best_size equals size, the last sifting did not produce any ** improvement. We now toss a coin to decide whether to retain ** this change or not. */ if (best_size == size) { coin = random_generator(); #ifdef DD_STATS tosses++; #endif threshold = exp(-((double)(table->keys - table->isolated - size))/temp); if (coin < threshold) { #ifdef DD_STATS acceptances++; #endif return(1); } } /* Either there was improvement, or we have decided not to ** accept the uphill move. Go to best position. */ res = table->keys - table->isolated; for (move = moves; move != NULL; move = move->next) { if (res == best_size) return(1); res = cuddSwapInPlace(table,(int)move->x,(int)move->y); if (!res) return(0); } return(1); } /* end of sift_backward_prob */ /**Function******************************************************************** Synopsis [Copies the current variable order to array.] Description [Copies the current variable order to array. At the same time inverts the permutation.] SideEffects [None] SeeAlso [] ******************************************************************************/ static void copyOrder( DdManager * table, int * array, int lower, int upper) { int i; int nvars; nvars = upper - lower + 1; for (i = 0; i < nvars; i++) { array[i] = table->invperm[i+lower]; } } /* end of copyOrder */ /**Function******************************************************************** Synopsis [Restores the variable order in array by a series of sifts up.] Description [Restores the variable order in array by a series of sifts up. Returns 1 in case of success; 0 otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ static int restoreOrder( DdManager * table, int * array, int lower, int upper) { int i, x, y, size; int nvars = upper - lower + 1; for (i = 0; i < nvars; i++) { x = table->perm[array[i]]; #ifdef DD_DEBUG assert(x >= lower && x <= upper); #endif y = cuddNextLow(table,x); while (y >= i + lower) { size = cuddSwapInPlace(table,y,x); if (size == 0) return(0); x = y; y = cuddNextLow(table,x); } } return(1); } /* end of restoreOrder */ BRiAl-1.2.12/cudd/cuddApa.c000066400000000000000000000665161436062512100151700ustar00rootroot00000000000000/**CFile*********************************************************************** FileName [cuddApa.c] PackageName [cudd] Synopsis [Arbitrary precision arithmetic functions.] Description [External procedures included in this module:
  • Cudd_ApaNumberOfDigits()
  • Cudd_NewApaNumber()
  • Cudd_ApaCopy()
  • Cudd_ApaAdd()
  • Cudd_ApaSubtract()
  • Cudd_ApaShortDivision()
  • Cudd_ApaIntDivision()
  • Cudd_ApaShiftRight()
  • Cudd_ApaSetToLiteral()
  • Cudd_ApaPowerOfTwo()
  • Cudd_ApaCompare()
  • Cudd_ApaCompareRatios()
  • Cudd_ApaPrintHex()
  • Cudd_ApaPrintDecimal()
  • Cudd_ApaPrintExponential()
  • Cudd_ApaCountMinterm()
  • Cudd_ApaPrintMinterm()
  • Cudd_ApaPrintMintermExp()
  • Cudd_ApaPrintDensity()
Static procedures included in this module:
  • cuddApaCountMintermAux()
  • cuddApaStCountfree()
] Author [Fabio Somenzi] Copyright [Copyright (c) 1995-2012, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.] ******************************************************************************/ #include "util.h" #include "cuddInt.h" /*---------------------------------------------------------------------------*/ /* Constant declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Stucture declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Type declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Variable declarations */ /*---------------------------------------------------------------------------*/ #ifndef lint static char rcsid[] DD_UNUSED = "$Id: cuddApa.c,v 1.20 2012/02/05 01:07:18 fabio Exp $"; #endif static DdNode *background, *zero; /*---------------------------------------------------------------------------*/ /* Macro declarations */ /*---------------------------------------------------------------------------*/ #ifdef __cplusplus extern "C" { #endif /**AutomaticStart*************************************************************/ /*---------------------------------------------------------------------------*/ /* Static function prototypes */ /*---------------------------------------------------------------------------*/ static DdApaNumber cuddApaCountMintermAux (DdNode * node, int digits, DdApaNumber max, DdApaNumber min, st_table * table); static enum st_retval cuddApaStCountfree (char * key, char * value, char * arg); /**AutomaticEnd***************************************************************/ #ifdef __cplusplus } /* end of extern "C" */ #endif /*---------------------------------------------------------------------------*/ /* Definition of exported functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Finds the number of digits for an arbitrary precision integer.] Description [Finds the number of digits for an arbitrary precision integer given the maximum number of binary digits. The number of binary digits should be positive. Returns the number of digits if successful; 0 otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ int Cudd_ApaNumberOfDigits( int binaryDigits) { int digits; digits = binaryDigits / DD_APA_BITS; if ((digits * DD_APA_BITS) != binaryDigits) digits++; return(digits); } /* end of Cudd_ApaNumberOfDigits */ /**Function******************************************************************** Synopsis [Allocates memory for an arbitrary precision integer.] Description [Allocates memory for an arbitrary precision integer. Returns a pointer to the allocated memory if successful; NULL otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ DdApaNumber Cudd_NewApaNumber( int digits) { return(ALLOC(DdApaDigit, digits)); } /* end of Cudd_NewApaNumber */ /**Function******************************************************************** Synopsis [Makes a copy of an arbitrary precision integer.] Description [Makes a copy of an arbitrary precision integer.] SideEffects [Changes parameter dest.] SeeAlso [] ******************************************************************************/ void Cudd_ApaCopy( int digits, DdApaNumber source, DdApaNumber dest) { int i; for (i = 0; i < digits; i++) { dest[i] = source[i]; } } /* end of Cudd_ApaCopy */ /**Function******************************************************************** Synopsis [Adds two arbitrary precision integers.] Description [Adds two arbitrary precision integers. Returns the carry out of the most significant digit.] SideEffects [The result of the sum is stored in parameter sum.] SeeAlso [] ******************************************************************************/ DdApaDigit Cudd_ApaAdd( int digits, DdApaNumber a, DdApaNumber b, DdApaNumber sum) { int i; DdApaDoubleDigit partial = 0; for (i = digits - 1; i >= 0; i--) { partial = a[i] + b[i] + DD_MSDIGIT(partial); sum[i] = (DdApaDigit) DD_LSDIGIT(partial); } return((DdApaDigit) DD_MSDIGIT(partial)); } /* end of Cudd_ApaAdd */ /**Function******************************************************************** Synopsis [Subtracts two arbitrary precision integers.] Description [Subtracts two arbitrary precision integers. Returns the borrow out of the most significant digit.] SideEffects [The result of the subtraction is stored in parameter diff.] SeeAlso [] ******************************************************************************/ DdApaDigit Cudd_ApaSubtract( int digits, DdApaNumber a, DdApaNumber b, DdApaNumber diff) { int i; DdApaDoubleDigit partial = DD_APA_BASE; for (i = digits - 1; i >= 0; i--) { partial = DD_MSDIGIT(partial) + DD_APA_MASK + a[i] - b[i]; diff[i] = (DdApaDigit) DD_LSDIGIT(partial); } return((DdApaDigit) DD_MSDIGIT(partial) - 1); } /* end of Cudd_ApaSubtract */ /**Function******************************************************************** Synopsis [Divides an arbitrary precision integer by a digit.] Description [Divides an arbitrary precision integer by a digit.] SideEffects [The quotient is returned in parameter quotient.] SeeAlso [] ******************************************************************************/ DdApaDigit Cudd_ApaShortDivision( int digits, DdApaNumber dividend, DdApaDigit divisor, DdApaNumber quotient) { int i; DdApaDigit remainder; DdApaDoubleDigit partial; remainder = 0; for (i = 0; i < digits; i++) { partial = remainder * DD_APA_BASE + dividend[i]; quotient[i] = (DdApaDigit) (partial/(DdApaDoubleDigit)divisor); remainder = (DdApaDigit) (partial % divisor); } return(remainder); } /* end of Cudd_ApaShortDivision */ /**Function******************************************************************** Synopsis [Divides an arbitrary precision integer by an integer.] Description [Divides an arbitrary precision integer by a 32-bit unsigned integer. Returns the remainder of the division. This procedure relies on the assumption that the number of bits of a DdApaDigit plus the number of bits of an unsigned int is less the number of bits of the mantissa of a double. This guarantees that the product of a DdApaDigit and an unsigned int can be represented without loss of precision by a double. On machines where this assumption is not satisfied, this procedure will malfunction.] SideEffects [The quotient is returned in parameter quotient.] SeeAlso [Cudd_ApaShortDivision] ******************************************************************************/ unsigned int Cudd_ApaIntDivision( int digits, DdApaNumber dividend, unsigned int divisor, DdApaNumber quotient) { int i; double partial; unsigned int remainder = 0; double ddiv = (double) divisor; for (i = 0; i < digits; i++) { partial = (double) remainder * DD_APA_BASE + dividend[i]; quotient[i] = (DdApaDigit) (partial / ddiv); remainder = (unsigned int) (partial - ((double)quotient[i] * ddiv)); } return(remainder); } /* end of Cudd_ApaIntDivision */ /**Function******************************************************************** Synopsis [Shifts right an arbitrary precision integer by one binary place.] Description [Shifts right an arbitrary precision integer by one binary place. The most significant binary digit of the result is taken from parameter in.] SideEffects [The result is returned in parameter b.] SeeAlso [] ******************************************************************************/ void Cudd_ApaShiftRight( int digits, DdApaDigit in, DdApaNumber a, DdApaNumber b) { int i; for (i = digits - 1; i > 0; i--) { b[i] = (a[i] >> 1) | ((a[i-1] & 1) << (DD_APA_BITS - 1)); } b[0] = (a[0] >> 1) | (in << (DD_APA_BITS - 1)); } /* end of Cudd_ApaShiftRight */ /**Function******************************************************************** Synopsis [Sets an arbitrary precision integer to a one-digit literal.] Description [Sets an arbitrary precision integer to a one-digit literal.] SideEffects [The result is returned in parameter number.] SeeAlso [] ******************************************************************************/ void Cudd_ApaSetToLiteral( int digits, DdApaNumber number, DdApaDigit literal) { int i; for (i = 0; i < digits - 1; i++) number[i] = 0; number[digits - 1] = literal; } /* end of Cudd_ApaSetToLiteral */ /**Function******************************************************************** Synopsis [Sets an arbitrary precision integer to a power of two.] Description [Sets an arbitrary precision integer to a power of two. If the power of two is too large to be represented, the number is set to 0.] SideEffects [The result is returned in parameter number.] SeeAlso [] ******************************************************************************/ void Cudd_ApaPowerOfTwo( int digits, DdApaNumber number, int power) { int i; int index; for (i = 0; i < digits; i++) number[i] = 0; i = digits - 1 - power / DD_APA_BITS; if (i < 0) return; index = power & (DD_APA_BITS - 1); number[i] = 1 << index; } /* end of Cudd_ApaPowerOfTwo */ /**Function******************************************************************** Synopsis [Compares two arbitrary precision integers.] Description [Compares two arbitrary precision integers. Returns 1 if the first number is larger; 0 if they are equal; -1 if the second number is larger.] SideEffects [None] SeeAlso [] ******************************************************************************/ int Cudd_ApaCompare( int digitsFirst, DdApaNumber first, int digitsSecond, DdApaNumber second) { int i; int firstNZ, secondNZ; /* Find first non-zero in both numbers. */ for (firstNZ = 0; firstNZ < digitsFirst; firstNZ++) if (first[firstNZ] != 0) break; for (secondNZ = 0; secondNZ < digitsSecond; secondNZ++) if (second[secondNZ] != 0) break; if (digitsFirst - firstNZ > digitsSecond - secondNZ) return(1); else if (digitsFirst - firstNZ < digitsSecond - secondNZ) return(-1); for (i = 0; i < digitsFirst - firstNZ; i++) { if (first[firstNZ + i] > second[secondNZ + i]) return(1); else if (first[firstNZ + i] < second[secondNZ + i]) return(-1); } return(0); } /* end of Cudd_ApaCompare */ /**Function******************************************************************** Synopsis [Compares the ratios of two arbitrary precision integers to two unsigned ints.] Description [Compares the ratios of two arbitrary precision integers to two unsigned ints. Returns 1 if the first number is larger; 0 if they are equal; -1 if the second number is larger.] SideEffects [None] SeeAlso [] ******************************************************************************/ int Cudd_ApaCompareRatios( int digitsFirst, DdApaNumber firstNum, unsigned int firstDen, int digitsSecond, DdApaNumber secondNum, unsigned int secondDen) { int result; DdApaNumber first, second; unsigned int firstRem, secondRem; first = Cudd_NewApaNumber(digitsFirst); firstRem = Cudd_ApaIntDivision(digitsFirst,firstNum,firstDen,first); second = Cudd_NewApaNumber(digitsSecond); secondRem = Cudd_ApaIntDivision(digitsSecond,secondNum,secondDen,second); result = Cudd_ApaCompare(digitsFirst,first,digitsSecond,second); FREE(first); FREE(second); if (result == 0) { if ((double)firstRem/firstDen > (double)secondRem/secondDen) return(1); else if ((double)firstRem/firstDen < (double)secondRem/secondDen) return(-1); } return(result); } /* end of Cudd_ApaCompareRatios */ /**Function******************************************************************** Synopsis [Prints an arbitrary precision integer in hexadecimal format.] Description [Prints an arbitrary precision integer in hexadecimal format. Returns 1 if successful; 0 otherwise.] SideEffects [None] SeeAlso [Cudd_ApaPrintDecimal Cudd_ApaPrintExponential] ******************************************************************************/ int Cudd_ApaPrintHex( FILE * fp, int digits, DdApaNumber number) { int i, result; for (i = 0; i < digits; i++) { result = fprintf(fp,DD_APA_HEXPRINT,number[i]); if (result == EOF) return(0); } return(1); } /* end of Cudd_ApaPrintHex */ /**Function******************************************************************** Synopsis [Prints an arbitrary precision integer in decimal format.] Description [Prints an arbitrary precision integer in decimal format. Returns 1 if successful; 0 otherwise.] SideEffects [None] SeeAlso [Cudd_ApaPrintHex Cudd_ApaPrintExponential] ******************************************************************************/ int Cudd_ApaPrintDecimal( FILE * fp, int digits, DdApaNumber number) { int i, result; DdApaDigit remainder; DdApaNumber work; unsigned char *decimal; int leadingzero; int decimalDigits = (int) (digits * log10((double) DD_APA_BASE)) + 1; work = Cudd_NewApaNumber(digits); if (work == NULL) return(0); decimal = ALLOC(unsigned char, decimalDigits); if (decimal == NULL) { FREE(work); return(0); } Cudd_ApaCopy(digits,number,work); for (i = decimalDigits - 1; i >= 0; i--) { remainder = Cudd_ApaShortDivision(digits,work,(DdApaDigit) 10,work); decimal[i] = (unsigned char) remainder; } FREE(work); leadingzero = 1; for (i = 0; i < decimalDigits; i++) { leadingzero = leadingzero && (decimal[i] == 0); if ((!leadingzero) || (i == (decimalDigits - 1))) { result = fprintf(fp,"%1d",decimal[i]); if (result == EOF) { FREE(decimal); return(0); } } } FREE(decimal); return(1); } /* end of Cudd_ApaPrintDecimal */ /**Function******************************************************************** Synopsis [Prints an arbitrary precision integer in exponential format.] Description [Prints an arbitrary precision integer in exponential format. Returns 1 if successful; 0 otherwise.] SideEffects [None] SeeAlso [Cudd_ApaPrintHex Cudd_ApaPrintDecimal] ******************************************************************************/ int Cudd_ApaPrintExponential( FILE * fp, int digits, DdApaNumber number, int precision) { int i, first, last, result; DdApaDigit remainder; DdApaNumber work; unsigned char *decimal; int decimalDigits = (int) (digits * log10((double) DD_APA_BASE)) + 1; work = Cudd_NewApaNumber(digits); if (work == NULL) return(0); decimal = ALLOC(unsigned char, decimalDigits); if (decimal == NULL) { FREE(work); return(0); } Cudd_ApaCopy(digits,number,work); first = decimalDigits - 1; for (i = decimalDigits - 1; i >= 0; i--) { remainder = Cudd_ApaShortDivision(digits,work,(DdApaDigit) 10,work); decimal[i] = (unsigned char) remainder; if (remainder != 0) first = i; /* keep track of MS non-zero */ } FREE(work); last = ddMin(first + precision, decimalDigits); for (i = first; i < last; i++) { result = fprintf(fp,"%s%1d",i == first+1 ? "." : "", decimal[i]); if (result == EOF) { FREE(decimal); return(0); } } FREE(decimal); result = fprintf(fp,"e+%d",decimalDigits - first - 1); if (result == EOF) { return(0); } return(1); } /* end of Cudd_ApaPrintExponential */ /**Function******************************************************************** Synopsis [Counts the number of minterms of a DD.] Description [Counts the number of minterms of a DD. The function is assumed to depend on nvars variables. The minterm count is represented as an arbitrary precision unsigned integer, to allow for any number of variables CUDD supports. Returns a pointer to the array representing the number of minterms of the function rooted at node if successful; NULL otherwise.] SideEffects [The number of digits of the result is returned in parameter digits.] SeeAlso [Cudd_CountMinterm] ******************************************************************************/ DdApaNumber Cudd_ApaCountMinterm( DdManager * manager, DdNode * node, int nvars, int * digits) { DdApaNumber max, min; st_table *table; DdApaNumber i,count; background = manager->background; zero = Cudd_Not(manager->one); *digits = Cudd_ApaNumberOfDigits(nvars+1); max = Cudd_NewApaNumber(*digits); if (max == NULL) { return(NULL); } Cudd_ApaPowerOfTwo(*digits,max,nvars); min = Cudd_NewApaNumber(*digits); if (min == NULL) { FREE(max); return(NULL); } Cudd_ApaSetToLiteral(*digits,min,0); table = st_init_table(st_ptrcmp,st_ptrhash); if (table == NULL) { FREE(max); FREE(min); return(NULL); } i = cuddApaCountMintermAux(Cudd_Regular(node),*digits,max,min,table); if (i == NULL) { FREE(max); FREE(min); st_foreach(table, cuddApaStCountfree, NULL); st_free_table(table); return(NULL); } count = Cudd_NewApaNumber(*digits); if (count == NULL) { FREE(max); FREE(min); st_foreach(table, cuddApaStCountfree, NULL); st_free_table(table); if (Cudd_Regular(node)->ref == 1) FREE(i); return(NULL); } if (Cudd_IsComplement(node)) { (void) Cudd_ApaSubtract(*digits,max,i,count); } else { Cudd_ApaCopy(*digits,i,count); } FREE(max); FREE(min); st_foreach(table, cuddApaStCountfree, NULL); st_free_table(table); if (Cudd_Regular(node)->ref == 1) FREE(i); return(count); } /* end of Cudd_ApaCountMinterm */ /**Function******************************************************************** Synopsis [Prints the number of minterms of a BDD or ADD using arbitrary precision arithmetic.] Description [Prints the number of minterms of a BDD or ADD using arbitrary precision arithmetic. Returns 1 if successful; 0 otherwise.] SideEffects [None] SeeAlso [Cudd_ApaPrintMintermExp] ******************************************************************************/ int Cudd_ApaPrintMinterm( FILE * fp, DdManager * dd, DdNode * node, int nvars) { int digits; int result; DdApaNumber count; count = Cudd_ApaCountMinterm(dd,node,nvars,&digits); if (count == NULL) return(0); result = Cudd_ApaPrintDecimal(fp,digits,count); FREE(count); if (fprintf(fp,"\n") == EOF) { return(0); } return(result); } /* end of Cudd_ApaPrintMinterm */ /**Function******************************************************************** Synopsis [Prints the number of minterms of a BDD or ADD in exponential format using arbitrary precision arithmetic.] Description [Prints the number of minterms of a BDD or ADD in exponential format using arbitrary precision arithmetic. Parameter precision controls the number of signficant digits printed. Returns 1 if successful; 0 otherwise.] SideEffects [None] SeeAlso [Cudd_ApaPrintMinterm] ******************************************************************************/ int Cudd_ApaPrintMintermExp( FILE * fp, DdManager * dd, DdNode * node, int nvars, int precision) { int digits; int result; DdApaNumber count; count = Cudd_ApaCountMinterm(dd,node,nvars,&digits); if (count == NULL) return(0); result = Cudd_ApaPrintExponential(fp,digits,count,precision); FREE(count); if (fprintf(fp,"\n") == EOF) { return(0); } return(result); } /* end of Cudd_ApaPrintMintermExp */ /**Function******************************************************************** Synopsis [Prints the density of a BDD or ADD using arbitrary precision arithmetic.] Description [Prints the density of a BDD or ADD using arbitrary precision arithmetic. Returns 1 if successful; 0 otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ int Cudd_ApaPrintDensity( FILE * fp, DdManager * dd, DdNode * node, int nvars) { int digits; int result; DdApaNumber count,density; unsigned int size, remainder, fractional; count = Cudd_ApaCountMinterm(dd,node,nvars,&digits); if (count == NULL) return(0); size = Cudd_DagSize(node); density = Cudd_NewApaNumber(digits); remainder = Cudd_ApaIntDivision(digits,count,size,density); result = Cudd_ApaPrintDecimal(fp,digits,density); FREE(count); FREE(density); fractional = (unsigned int)((double)remainder / size * 1000000); if (fprintf(fp,".%u\n", fractional) == EOF) { return(0); } return(result); } /* end of Cudd_ApaPrintDensity */ /*---------------------------------------------------------------------------*/ /* Definition of internal functions */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Definition of static functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_ApaCountMinterm.] Description [Performs the recursive step of Cudd_ApaCountMinterm. It is based on the following identity. Let |f| be the number of minterms of f. Then: |f| = (|f0|+|f1|)/2 where f0 and f1 are the two cofactors of f. Uses the identity |f'| = max - |f|. The procedure expects the argument "node" to be a regular pointer, and guarantees this condition is met in the recursive calls. For efficiency, the result of a call is cached only if the node has a reference count greater than 1. Returns the number of minterms of the function rooted at node.] SideEffects [None] ******************************************************************************/ static DdApaNumber cuddApaCountMintermAux( DdNode * node, int digits, DdApaNumber max, DdApaNumber min, st_table * table) { DdNode *Nt, *Ne; DdApaNumber mint, mint1, mint2; DdApaDigit carryout; if (cuddIsConstant(node)) { if (node == background || node == zero) { return(min); } else { return(max); } } if (node->ref > 1 && st_lookup(table, node, &mint)) { return(mint); } Nt = cuddT(node); Ne = cuddE(node); mint1 = cuddApaCountMintermAux(Nt, digits, max, min, table); if (mint1 == NULL) return(NULL); mint2 = cuddApaCountMintermAux(Cudd_Regular(Ne), digits, max, min, table); if (mint2 == NULL) { if (Nt->ref == 1) FREE(mint1); return(NULL); } mint = Cudd_NewApaNumber(digits); if (mint == NULL) { if (Nt->ref == 1) FREE(mint1); if (Cudd_Regular(Ne)->ref == 1) FREE(mint2); return(NULL); } if (Cudd_IsComplement(Ne)) { (void) Cudd_ApaSubtract(digits,max,mint2,mint); carryout = Cudd_ApaAdd(digits,mint1,mint,mint); } else { carryout = Cudd_ApaAdd(digits,mint1,mint2,mint); } Cudd_ApaShiftRight(digits,carryout,mint,mint); /* If the refernce count of a child is 1, its minterm count ** hasn't been stored in table. Therefore, it must be explicitly ** freed here. */ if (Nt->ref == 1) FREE(mint1); if (Cudd_Regular(Ne)->ref == 1) FREE(mint2); if (node->ref > 1) { if (st_insert(table, (char *)node, (char *)mint) == ST_OUT_OF_MEM) { FREE(mint); return(NULL); } } return(mint); } /* end of cuddApaCountMintermAux */ /**Function******************************************************************** Synopsis [Frees the memory used to store the minterm counts recorded in the visited table.] Description [Frees the memory used to store the minterm counts recorded in the visited table. Returns ST_CONTINUE.] SideEffects [None] ******************************************************************************/ static enum st_retval cuddApaStCountfree( char * key, char * value, char * arg) { DdApaNumber d; d = (DdApaNumber) value; FREE(d); return(ST_CONTINUE); } /* end of cuddApaStCountfree */ BRiAl-1.2.12/cudd/cuddApprox.c000066400000000000000000002074331436062512100157330ustar00rootroot00000000000000/**CFile*********************************************************************** FileName [cuddApprox.c] PackageName [cudd] Synopsis [Procedures to approximate a given BDD.] Description [External procedures provided by this module:
  • Cudd_UnderApprox()
  • Cudd_OverApprox()
  • Cudd_RemapUnderApprox()
  • Cudd_RemapOverApprox()
  • Cudd_BiasedUnderApprox()
  • Cudd_BiasedOverApprox()
Internal procedures included in this module:
  • cuddUnderApprox()
  • cuddRemapUnderApprox()
  • cuddBiasedUnderApprox()
Static procedures included in this module:
  • updateParity()
  • gatherInfoAux()
  • gatherInfo()
  • computeSavings()
  • updateRefs()
  • UAmarkNodes()
  • UAbuildSubset()
  • RAmarkNodes()
  • BAmarkNodes()
  • RAbuildSubset()
  • BAapplyBias()
] SeeAlso [cuddSubsetHB.c cuddSubsetSP.c cuddGenCof.c] Author [Fabio Somenzi] Copyright [Copyright (c) 1995-2012, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.] ******************************************************************************/ #ifdef __STDC__ #include #else #define DBL_MAX_EXP 1024 #endif #include "util.h" #include "cuddInt.h" /*---------------------------------------------------------------------------*/ /* Constant declarations */ /*---------------------------------------------------------------------------*/ #define NOTHING 0 #define REPLACE_T 1 #define REPLACE_E 2 #define REPLACE_N 3 #define REPLACE_TT 4 #define REPLACE_TE 5 #define DONT_CARE 0 #define CARE 1 #define TOTAL_CARE 2 #define CARE_ERROR 3 /*---------------------------------------------------------------------------*/ /* Stucture declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Type declarations */ /*---------------------------------------------------------------------------*/ /* Data structure to store the information on each node. It keeps the ** number of minterms of the function rooted at this node in terms of ** the number of variables specified by the user; the number of ** minterms of the complement; the impact of the number of minterms of ** this function on the number of minterms of the root function; the ** reference count of the node from within the root function; the ** flag that says whether the node intersects the care set; the flag ** that says whether the node should be replaced and how; the results ** of subsetting in both phases. */ typedef struct NodeData { double mintermsP; /* minterms for the regular node */ double mintermsN; /* minterms for the complemented node */ int functionRef; /* references from within this function */ char care; /* node intersects care set */ char replace; /* replacement decision */ short int parity; /* 1: even; 2: odd; 3: both */ DdNode *resultP; /* result for even parity */ DdNode *resultN; /* result for odd parity */ } NodeData; typedef struct ApproxInfo { DdNode *one; /* one constant */ DdNode *zero; /* BDD zero constant */ NodeData *page; /* per-node information */ DdHashTable *table; /* hash table to access the per-node info */ int index; /* index of the current node */ double max; /* max number of minterms */ int size; /* how many nodes are left */ double minterms; /* how many minterms are left */ } ApproxInfo; /* Item of the queue used in the levelized traversal of the BDD. */ typedef struct GlobalQueueItem { struct GlobalQueueItem *next; struct GlobalQueueItem *cnext; DdNode *node; double impactP; double impactN; } GlobalQueueItem; typedef struct LocalQueueItem { struct LocalQueueItem *next; struct LocalQueueItem *cnext; DdNode *node; int localRef; } LocalQueueItem; /*---------------------------------------------------------------------------*/ /* Variable declarations */ /*---------------------------------------------------------------------------*/ #ifndef lint static char rcsid[] DD_UNUSED = "$Id: cuddApprox.c,v 1.31 2012/02/05 04:38:07 fabio Exp $"; #endif /*---------------------------------------------------------------------------*/ /* Macro declarations */ /*---------------------------------------------------------------------------*/ /**AutomaticStart*************************************************************/ /*---------------------------------------------------------------------------*/ /* Static function prototypes */ /*---------------------------------------------------------------------------*/ static void updateParity (DdNode *node, ApproxInfo *info, int newparity); static NodeData * gatherInfoAux (DdNode *node, ApproxInfo *info, int parity); static ApproxInfo * gatherInfo (DdManager *dd, DdNode *node, int numVars, int parity); static int computeSavings (DdManager *dd, DdNode *f, DdNode *skip, ApproxInfo *info, DdLevelQueue *queue); static int updateRefs (DdManager *dd, DdNode *f, DdNode *skip, ApproxInfo *info, DdLevelQueue *queue); static int UAmarkNodes (DdManager *dd, DdNode *f, ApproxInfo *info, int threshold, int safe, double quality); static DdNode * UAbuildSubset (DdManager *dd, DdNode *node, ApproxInfo *info); static int RAmarkNodes (DdManager *dd, DdNode *f, ApproxInfo *info, int threshold, double quality); static int BAmarkNodes (DdManager *dd, DdNode *f, ApproxInfo *info, int threshold, double quality1, double quality0); static DdNode * RAbuildSubset (DdManager *dd, DdNode *node, ApproxInfo *info); static int BAapplyBias (DdManager *dd, DdNode *f, DdNode *b, ApproxInfo *info, DdHashTable *cache); /**AutomaticEnd***************************************************************/ /*---------------------------------------------------------------------------*/ /* Definition of exported functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Extracts a dense subset from a BDD with Shiple's underapproximation method.] Description [Extracts a dense subset from a BDD. This procedure uses a variant of Tom Shiple's underapproximation method. The main difference from the original method is that density is used as cost function. Returns a pointer to the BDD of the subset if successful. NULL if the procedure runs out of memory. The parameter numVars is the maximum number of variables to be used in minterm calculation. The optimal number should be as close as possible to the size of the support of f. However, it is safe to pass the value returned by Cudd_ReadSize for numVars when the number of variables is under 1023. If numVars is larger than 1023, it will cause overflow. If a 0 parameter is passed then the procedure will compute a value which will avoid overflow but will cause underflow with 2046 variables or more.] SideEffects [None] SeeAlso [Cudd_SubsetShortPaths Cudd_SubsetHeavyBranch Cudd_ReadSize] ******************************************************************************/ DdNode * Cudd_UnderApprox( DdManager * dd /* manager */, DdNode * f /* function to be subset */, int numVars /* number of variables in the support of f */, int threshold /* when to stop approximation */, int safe /* enforce safe approximation */, double quality /* minimum improvement for accepted changes */) { DdNode *subset; do { dd->reordered = 0; subset = cuddUnderApprox(dd, f, numVars, threshold, safe, quality); } while (dd->reordered == 1); return(subset); } /* end of Cudd_UnderApprox */ /**Function******************************************************************** Synopsis [Extracts a dense superset from a BDD with Shiple's underapproximation method.] Description [Extracts a dense superset from a BDD. The procedure is identical to the underapproximation procedure except for the fact that it works on the complement of the given function. Extracting the subset of the complement function is equivalent to extracting the superset of the function. Returns a pointer to the BDD of the superset if successful. NULL if intermediate result causes the procedure to run out of memory. The parameter numVars is the maximum number of variables to be used in minterm calculation. The optimal number should be as close as possible to the size of the support of f. However, it is safe to pass the value returned by Cudd_ReadSize for numVars when the number of variables is under 1023. If numVars is larger than 1023, it will overflow. If a 0 parameter is passed then the procedure will compute a value which will avoid overflow but will cause underflow with 2046 variables or more.] SideEffects [None] SeeAlso [Cudd_SupersetHeavyBranch Cudd_SupersetShortPaths Cudd_ReadSize] ******************************************************************************/ DdNode * Cudd_OverApprox( DdManager * dd /* manager */, DdNode * f /* function to be superset */, int numVars /* number of variables in the support of f */, int threshold /* when to stop approximation */, int safe /* enforce safe approximation */, double quality /* minimum improvement for accepted changes */) { DdNode *subset, *g; g = Cudd_Not(f); do { dd->reordered = 0; subset = cuddUnderApprox(dd, g, numVars, threshold, safe, quality); } while (dd->reordered == 1); return(Cudd_NotCond(subset, (subset != NULL))); } /* end of Cudd_OverApprox */ /**Function******************************************************************** Synopsis [Extracts a dense subset from a BDD with the remapping underapproximation method.] Description [Extracts a dense subset from a BDD. This procedure uses a remapping technique and density as the cost function. Returns a pointer to the BDD of the subset if successful. NULL if the procedure runs out of memory. The parameter numVars is the maximum number of variables to be used in minterm calculation. The optimal number should be as close as possible to the size of the support of f. However, it is safe to pass the value returned by Cudd_ReadSize for numVars when the number of variables is under 1023. If numVars is larger than 1023, it will cause overflow. If a 0 parameter is passed then the procedure will compute a value which will avoid overflow but will cause underflow with 2046 variables or more.] SideEffects [None] SeeAlso [Cudd_SubsetShortPaths Cudd_SubsetHeavyBranch Cudd_UnderApprox Cudd_ReadSize] ******************************************************************************/ DdNode * Cudd_RemapUnderApprox( DdManager * dd /* manager */, DdNode * f /* function to be subset */, int numVars /* number of variables in the support of f */, int threshold /* when to stop approximation */, double quality /* minimum improvement for accepted changes */) { DdNode *subset; do { dd->reordered = 0; subset = cuddRemapUnderApprox(dd, f, numVars, threshold, quality); } while (dd->reordered == 1); return(subset); } /* end of Cudd_RemapUnderApprox */ /**Function******************************************************************** Synopsis [Extracts a dense superset from a BDD with the remapping underapproximation method.] Description [Extracts a dense superset from a BDD. The procedure is identical to the underapproximation procedure except for the fact that it works on the complement of the given function. Extracting the subset of the complement function is equivalent to extracting the superset of the function. Returns a pointer to the BDD of the superset if successful. NULL if intermediate result causes the procedure to run out of memory. The parameter numVars is the maximum number of variables to be used in minterm calculation. The optimal number should be as close as possible to the size of the support of f. However, it is safe to pass the value returned by Cudd_ReadSize for numVars when the number of variables is under 1023. If numVars is larger than 1023, it will overflow. If a 0 parameter is passed then the procedure will compute a value which will avoid overflow but will cause underflow with 2046 variables or more.] SideEffects [None] SeeAlso [Cudd_SupersetHeavyBranch Cudd_SupersetShortPaths Cudd_ReadSize] ******************************************************************************/ DdNode * Cudd_RemapOverApprox( DdManager * dd /* manager */, DdNode * f /* function to be superset */, int numVars /* number of variables in the support of f */, int threshold /* when to stop approximation */, double quality /* minimum improvement for accepted changes */) { DdNode *subset, *g; g = Cudd_Not(f); do { dd->reordered = 0; subset = cuddRemapUnderApprox(dd, g, numVars, threshold, quality); } while (dd->reordered == 1); return(Cudd_NotCond(subset, (subset != NULL))); } /* end of Cudd_RemapOverApprox */ /**Function******************************************************************** Synopsis [Extracts a dense subset from a BDD with the biased underapproximation method.] Description [Extracts a dense subset from a BDD. This procedure uses a biased remapping technique and density as the cost function. The bias is a function. This procedure tries to approximate where the bias is 0 and preserve the given function where the bias is 1. Returns a pointer to the BDD of the subset if successful. NULL if the procedure runs out of memory. The parameter numVars is the maximum number of variables to be used in minterm calculation. The optimal number should be as close as possible to the size of the support of f. However, it is safe to pass the value returned by Cudd_ReadSize for numVars when the number of variables is under 1023. If numVars is larger than 1023, it will cause overflow. If a 0 parameter is passed then the procedure will compute a value which will avoid overflow but will cause underflow with 2046 variables or more.] SideEffects [None] SeeAlso [Cudd_SubsetShortPaths Cudd_SubsetHeavyBranch Cudd_UnderApprox Cudd_RemapUnderApprox Cudd_ReadSize] ******************************************************************************/ DdNode * Cudd_BiasedUnderApprox( DdManager *dd /* manager */, DdNode *f /* function to be subset */, DdNode *b /* bias function */, int numVars /* number of variables in the support of f */, int threshold /* when to stop approximation */, double quality1 /* minimum improvement for accepted changes when b=1 */, double quality0 /* minimum improvement for accepted changes when b=0 */) { DdNode *subset; do { dd->reordered = 0; subset = cuddBiasedUnderApprox(dd, f, b, numVars, threshold, quality1, quality0); } while (dd->reordered == 1); return(subset); } /* end of Cudd_BiasedUnderApprox */ /**Function******************************************************************** Synopsis [Extracts a dense superset from a BDD with the biased underapproximation method.] Description [Extracts a dense superset from a BDD. The procedure is identical to the underapproximation procedure except for the fact that it works on the complement of the given function. Extracting the subset of the complement function is equivalent to extracting the superset of the function. Returns a pointer to the BDD of the superset if successful. NULL if intermediate result causes the procedure to run out of memory. The parameter numVars is the maximum number of variables to be used in minterm calculation. The optimal number should be as close as possible to the size of the support of f. However, it is safe to pass the value returned by Cudd_ReadSize for numVars when the number of variables is under 1023. If numVars is larger than 1023, it will overflow. If a 0 parameter is passed then the procedure will compute a value which will avoid overflow but will cause underflow with 2046 variables or more.] SideEffects [None] SeeAlso [Cudd_SupersetHeavyBranch Cudd_SupersetShortPaths Cudd_RemapOverApprox Cudd_BiasedUnderApprox Cudd_ReadSize] ******************************************************************************/ DdNode * Cudd_BiasedOverApprox( DdManager *dd /* manager */, DdNode *f /* function to be superset */, DdNode *b /* bias function */, int numVars /* number of variables in the support of f */, int threshold /* when to stop approximation */, double quality1 /* minimum improvement for accepted changes when b=1*/, double quality0 /* minimum improvement for accepted changes when b=0 */) { DdNode *subset, *g; g = Cudd_Not(f); do { dd->reordered = 0; subset = cuddBiasedUnderApprox(dd, g, b, numVars, threshold, quality1, quality0); } while (dd->reordered == 1); return(Cudd_NotCond(subset, (subset != NULL))); } /* end of Cudd_BiasedOverApprox */ /*---------------------------------------------------------------------------*/ /* Definition of internal functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Applies Tom Shiple's underappoximation algorithm.] Description [Applies Tom Shiple's underappoximation algorithm. Proceeds in three phases:
  • collect information on each node in the BDD; this is done via DFS.
  • traverse the BDD in top-down fashion and compute for each node whether its elimination increases density.
  • traverse the BDD via DFS and actually perform the elimination.
Returns the approximated BDD if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_UnderApprox] ******************************************************************************/ DdNode * cuddUnderApprox( DdManager * dd /* DD manager */, DdNode * f /* current DD */, int numVars /* maximum number of variables */, int threshold /* threshold under which approximation stops */, int safe /* enforce safe approximation */, double quality /* minimum improvement for accepted changes */) { ApproxInfo *info; DdNode *subset; int result; if (f == NULL) { fprintf(dd->err, "Cannot subset, nil object\n"); return(NULL); } if (Cudd_IsConstant(f)) { return(f); } /* Create table where node data are accessible via a hash table. */ info = gatherInfo(dd, f, numVars, safe); if (info == NULL) { (void) fprintf(dd->err, "Out-of-memory; Cannot subset\n"); dd->errorCode = CUDD_MEMORY_OUT; return(NULL); } /* Mark nodes that should be replaced by zero. */ result = UAmarkNodes(dd, f, info, threshold, safe, quality); if (result == 0) { (void) fprintf(dd->err, "Out-of-memory; Cannot subset\n"); FREE(info->page); cuddHashTableGenericQuit(info->table); FREE(info); dd->errorCode = CUDD_MEMORY_OUT; return(NULL); } /* Build the result. */ subset = UAbuildSubset(dd, f, info); #if 1 if (subset && info->size < Cudd_DagSize(subset)) (void) fprintf(dd->err, "Wrong prediction: %d versus actual %d\n", info->size, Cudd_DagSize(subset)); #endif FREE(info->page); cuddHashTableGenericQuit(info->table); FREE(info); #ifdef DD_DEBUG if (subset != NULL) { cuddRef(subset); #if 0 (void) Cudd_DebugCheck(dd); (void) Cudd_CheckKeys(dd); #endif if (!Cudd_bddLeq(dd, subset, f)) { (void) fprintf(dd->err, "Wrong subset\n"); dd->errorCode = CUDD_INTERNAL_ERROR; } cuddDeref(subset); } #endif return(subset); } /* end of cuddUnderApprox */ /**Function******************************************************************** Synopsis [Applies the remapping underappoximation algorithm.] Description [Applies the remapping underappoximation algorithm. Proceeds in three phases:
  • collect information on each node in the BDD; this is done via DFS.
  • traverse the BDD in top-down fashion and compute for each node whether remapping increases density.
  • traverse the BDD via DFS and actually perform the elimination.
Returns the approximated BDD if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_RemapUnderApprox] ******************************************************************************/ DdNode * cuddRemapUnderApprox( DdManager * dd /* DD manager */, DdNode * f /* current DD */, int numVars /* maximum number of variables */, int threshold /* threshold under which approximation stops */, double quality /* minimum improvement for accepted changes */) { ApproxInfo *info; DdNode *subset; int result; if (f == NULL) { fprintf(dd->err, "Cannot subset, nil object\n"); dd->errorCode = CUDD_INVALID_ARG; return(NULL); } if (Cudd_IsConstant(f)) { return(f); } /* Create table where node data are accessible via a hash table. */ info = gatherInfo(dd, f, numVars, CUDD_TRUE); if (info == NULL) { (void) fprintf(dd->err, "Out-of-memory; Cannot subset\n"); dd->errorCode = CUDD_MEMORY_OUT; return(NULL); } /* Mark nodes that should be replaced by zero. */ result = RAmarkNodes(dd, f, info, threshold, quality); if (result == 0) { (void) fprintf(dd->err, "Out-of-memory; Cannot subset\n"); FREE(info->page); cuddHashTableGenericQuit(info->table); FREE(info); dd->errorCode = CUDD_MEMORY_OUT; return(NULL); } /* Build the result. */ subset = RAbuildSubset(dd, f, info); #if 1 if (subset && info->size < Cudd_DagSize(subset)) (void) fprintf(dd->err, "Wrong prediction: %d versus actual %d\n", info->size, Cudd_DagSize(subset)); #endif FREE(info->page); cuddHashTableGenericQuit(info->table); FREE(info); #ifdef DD_DEBUG if (subset != NULL) { cuddRef(subset); #if 0 (void) Cudd_DebugCheck(dd); (void) Cudd_CheckKeys(dd); #endif if (!Cudd_bddLeq(dd, subset, f)) { (void) fprintf(dd->err, "Wrong subset\n"); } cuddDeref(subset); dd->errorCode = CUDD_INTERNAL_ERROR; } #endif return(subset); } /* end of cuddRemapUnderApprox */ /**Function******************************************************************** Synopsis [Applies the biased remapping underappoximation algorithm.] Description [Applies the biased remapping underappoximation algorithm. Proceeds in three phases:
  • collect information on each node in the BDD; this is done via DFS.
  • traverse the BDD in top-down fashion and compute for each node whether remapping increases density.
  • traverse the BDD via DFS and actually perform the elimination.
Returns the approximated BDD if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_BiasedUnderApprox] ******************************************************************************/ DdNode * cuddBiasedUnderApprox( DdManager *dd /* DD manager */, DdNode *f /* current DD */, DdNode *b /* bias function */, int numVars /* maximum number of variables */, int threshold /* threshold under which approximation stops */, double quality1 /* minimum improvement for accepted changes when b=1 */, double quality0 /* minimum improvement for accepted changes when b=0 */) { ApproxInfo *info; DdNode *subset; int result; DdHashTable *cache; if (f == NULL) { fprintf(dd->err, "Cannot subset, nil object\n"); dd->errorCode = CUDD_INVALID_ARG; return(NULL); } if (Cudd_IsConstant(f)) { return(f); } /* Create table where node data are accessible via a hash table. */ info = gatherInfo(dd, f, numVars, CUDD_TRUE); if (info == NULL) { (void) fprintf(dd->err, "Out-of-memory; Cannot subset\n"); dd->errorCode = CUDD_MEMORY_OUT; return(NULL); } cache = cuddHashTableInit(dd,2,2); result = BAapplyBias(dd, Cudd_Regular(f), b, info, cache); if (result == CARE_ERROR) { (void) fprintf(dd->err, "Out-of-memory; Cannot subset\n"); cuddHashTableQuit(cache); FREE(info->page); cuddHashTableGenericQuit(info->table); FREE(info); dd->errorCode = CUDD_MEMORY_OUT; return(NULL); } cuddHashTableQuit(cache); /* Mark nodes that should be replaced by zero. */ result = BAmarkNodes(dd, f, info, threshold, quality1, quality0); if (result == 0) { (void) fprintf(dd->err, "Out-of-memory; Cannot subset\n"); FREE(info->page); cuddHashTableGenericQuit(info->table); FREE(info); dd->errorCode = CUDD_MEMORY_OUT; return(NULL); } /* Build the result. */ subset = RAbuildSubset(dd, f, info); #if 1 if (subset && info->size < Cudd_DagSize(subset)) (void) fprintf(dd->err, "Wrong prediction: %d versus actual %d\n", info->size, Cudd_DagSize(subset)); #endif FREE(info->page); cuddHashTableGenericQuit(info->table); FREE(info); #ifdef DD_DEBUG if (subset != NULL) { cuddRef(subset); #if 0 (void) Cudd_DebugCheck(dd); (void) Cudd_CheckKeys(dd); #endif if (!Cudd_bddLeq(dd, subset, f)) { (void) fprintf(dd->err, "Wrong subset\n"); } cuddDeref(subset); dd->errorCode = CUDD_INTERNAL_ERROR; } #endif return(subset); } /* end of cuddBiasedUnderApprox */ /*---------------------------------------------------------------------------*/ /* Definition of static functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Recursively update the parity of the paths reaching a node.] Description [Recursively update the parity of the paths reaching a node. Assumes that node is regular and propagates the invariant.] SideEffects [None] SeeAlso [gatherInfoAux] ******************************************************************************/ static void updateParity( DdNode * node /* function to analyze */, ApproxInfo * info /* info on BDD */, int newparity /* new parity for node */) { NodeData *infoN; DdNode *E; if ((infoN = (NodeData *) cuddHashTableGenericLookup(info->table, node)) == NULL) return; if ((infoN->parity & newparity) != 0) return; infoN->parity |= (short) newparity; if (Cudd_IsConstant(node)) return; updateParity(cuddT(node),info,newparity); E = cuddE(node); if (Cudd_IsComplement(E)) { updateParity(Cudd_Not(E),info,3-newparity); } else { updateParity(E,info,newparity); } return; } /* end of updateParity */ /**Function******************************************************************** Synopsis [Recursively counts minterms and computes reference counts of each node in the BDD.] Description [Recursively counts minterms and computes reference counts of each node in the BDD. Similar to the cuddCountMintermAux which recursively counts the number of minterms for the dag rooted at each node in terms of the total number of variables (max). It assumes that the node pointer passed to it is regular and it maintains the invariant.] SideEffects [None] SeeAlso [gatherInfo] ******************************************************************************/ static NodeData * gatherInfoAux( DdNode * node /* function to analyze */, ApproxInfo * info /* info on BDD */, int parity /* gather parity information */) { DdNode *N, *Nt, *Ne; NodeData *infoN, *infoT, *infoE; N = Cudd_Regular(node); /* Check whether entry for this node exists. */ if ((infoN = (NodeData *) cuddHashTableGenericLookup(info->table, N)) != NULL) { if (parity) { /* Update parity and propagate. */ updateParity(N, info, 1 + (int) Cudd_IsComplement(node)); } return(infoN); } /* Compute the cofactors. */ Nt = Cudd_NotCond(cuddT(N), N != node); Ne = Cudd_NotCond(cuddE(N), N != node); infoT = gatherInfoAux(Nt, info, parity); if (infoT == NULL) return(NULL); infoE = gatherInfoAux(Ne, info, parity); if (infoE == NULL) return(NULL); infoT->functionRef++; infoE->functionRef++; /* Point to the correct location in the page. */ infoN = &(info->page[info->index++]); infoN->parity |= (short) (1 + Cudd_IsComplement(node)); infoN->mintermsP = infoT->mintermsP/2; infoN->mintermsN = infoT->mintermsN/2; if (Cudd_IsComplement(Ne) ^ Cudd_IsComplement(node)) { infoN->mintermsP += infoE->mintermsN/2; infoN->mintermsN += infoE->mintermsP/2; } else { infoN->mintermsP += infoE->mintermsP/2; infoN->mintermsN += infoE->mintermsN/2; } /* Insert entry for the node in the table. */ if (cuddHashTableGenericInsert(info->table, N, infoN) == 0) { return(NULL); } return(infoN); } /* end of gatherInfoAux */ /**Function******************************************************************** Synopsis [Gathers information about each node.] Description [Counts minterms and computes reference counts of each node in the BDD. The minterm count is separately computed for the node and its complement. This is to avoid cancellation errors. Returns a pointer to the data structure holding the information gathered if successful; NULL otherwise.] SideEffects [None] SeeAlso [cuddUnderApprox gatherInfoAux] ******************************************************************************/ static ApproxInfo * gatherInfo( DdManager * dd /* manager */, DdNode * node /* function to be analyzed */, int numVars /* number of variables node depends on */, int parity /* gather parity information */) { ApproxInfo * info; NodeData * infoTop; /* If user did not give numVars value, set it to the maximum ** exponent that the pow function can take. The -1 is due to the ** discrepancy in the value that pow takes and the value that ** log gives. */ if (numVars == 0) { numVars = DBL_MAX_EXP - 1; } info = ALLOC(ApproxInfo,1); if (info == NULL) { dd->errorCode = CUDD_MEMORY_OUT; return(NULL); } info->max = pow(2.0,(double) numVars); info->one = DD_ONE(dd); info->zero = Cudd_Not(info->one); info->size = Cudd_DagSize(node); /* All the information gathered will be stored in a contiguous ** piece of memory, which is allocated here. This can be done ** efficiently because we have counted the number of nodes of the ** BDD. info->index points to the next available entry in the array ** that stores the per-node information. */ info->page = ALLOC(NodeData,info->size); if (info->page == NULL) { dd->errorCode = CUDD_MEMORY_OUT; FREE(info); return(NULL); } memset(info->page, 0, info->size * sizeof(NodeData)); /* clear all page */ info->table = cuddHashTableInit(dd,1,info->size); if (info->table == NULL) { FREE(info->page); FREE(info); return(NULL); } /* We visit the DAG in post-order DFS. Hence, the constant node is ** in first position, and the root of the DAG is in last position. */ /* Info for the constant node: Initialize only fields different from 0. */ if (cuddHashTableGenericInsert(info->table, info->one, info->page) == 0) { FREE(info->page); FREE(info); cuddHashTableGenericQuit(info->table); return(NULL); } info->page[0].mintermsP = info->max; info->index = 1; infoTop = gatherInfoAux(node,info,parity); if (infoTop == NULL) { FREE(info->page); cuddHashTableGenericQuit(info->table); FREE(info); return(NULL); } if (Cudd_IsComplement(node)) { info->minterms = infoTop->mintermsN; } else { info->minterms = infoTop->mintermsP; } infoTop->functionRef = 1; return(info); } /* end of gatherInfo */ /**Function******************************************************************** Synopsis [Counts the nodes that would be eliminated if a given node were replaced by zero.] Description [Counts the nodes that would be eliminated if a given node were replaced by zero. This procedure uses a queue passed by the caller for efficiency: since the queue is left empty at the endof the search, it can be reused as is by the next search. Returns the count (always striclty positive) if successful; 0 otherwise.] SideEffects [None] SeeAlso [UAmarkNodes RAmarkNodes BAmarkNodes] ******************************************************************************/ static int computeSavings( DdManager * dd, DdNode * f, DdNode * skip, ApproxInfo * info, DdLevelQueue * queue) { NodeData *infoN; LocalQueueItem *item; DdNode *node; int savings = 0; node = Cudd_Regular(f); skip = Cudd_Regular(skip); /* Insert the given node in the level queue. Its local reference ** count is set equal to the function reference count so that the ** search will continue from it when it is retrieved. */ item = (LocalQueueItem *) cuddLevelQueueFirst(queue,node,cuddI(dd,node->index)); if (item == NULL) return(0); infoN = (NodeData *) cuddHashTableGenericLookup(info->table, node); item->localRef = infoN->functionRef; /* Process the queue. */ while ((item = (LocalQueueItem *) queue->first) != NULL) { node = item->node; if (node != skip) { infoN = (NodeData *) cuddHashTableGenericLookup(info->table,node); if (item->localRef == infoN->functionRef) { /* This node is not shared. */ DdNode *nodeT, *nodeE; savings++; nodeT = cuddT(node); if (!cuddIsConstant(nodeT)) { item = (LocalQueueItem *) cuddLevelQueueEnqueue(queue,nodeT,cuddI(dd,nodeT->index)); if (item == NULL) return(0); item->localRef++; } nodeE = Cudd_Regular(cuddE(node)); if (!cuddIsConstant(nodeE)) { item = (LocalQueueItem *) cuddLevelQueueEnqueue(queue,nodeE,cuddI(dd,nodeE->index)); if (item == NULL) return(0); item->localRef++; } } } cuddLevelQueueDequeue(queue,cuddI(dd,node->index)); } #ifdef DD_DEBUG /* At the end of a local search the queue should be empty. */ assert(queue->size == 0); #endif return(savings); } /* end of computeSavings */ /**Function******************************************************************** Synopsis [Update function reference counts.] Description [Update function reference counts to account for replacement. Returns the number of nodes saved if successful; 0 otherwise.] SideEffects [None] SeeAlso [UAmarkNodes RAmarkNodes BAmarkNodes] ******************************************************************************/ static int updateRefs( DdManager * dd, DdNode * f, DdNode * skip, ApproxInfo * info, DdLevelQueue * queue) { NodeData *infoN; LocalQueueItem *item; DdNode *node; int savings = 0; node = Cudd_Regular(f); /* Insert the given node in the level queue. Its function reference ** count is set equal to 0 so that the search will continue from it ** when it is retrieved. */ item = (LocalQueueItem *) cuddLevelQueueFirst(queue,node,cuddI(dd,node->index)); if (item == NULL) return(0); infoN = (NodeData *) cuddHashTableGenericLookup(info->table, node); infoN->functionRef = 0; if (skip != NULL) { /* Increase the function reference count of the node to be skipped ** by 1 to account for the node pointing to it that will be created. */ skip = Cudd_Regular(skip); infoN = (NodeData *) cuddHashTableGenericLookup(info->table, skip); infoN->functionRef++; } /* Process the queue. */ while ((item = (LocalQueueItem *) queue->first) != NULL) { node = item->node; infoN = (NodeData *) cuddHashTableGenericLookup(info->table,node); if (infoN->functionRef == 0) { /* This node is not shared or to be be skipped. */ DdNode *nodeT, *nodeE; savings++; nodeT = cuddT(node); if (!cuddIsConstant(nodeT)) { item = (LocalQueueItem *) cuddLevelQueueEnqueue(queue,nodeT,cuddI(dd,nodeT->index)); if (item == NULL) return(0); infoN = (NodeData *) cuddHashTableGenericLookup(info->table,nodeT); infoN->functionRef--; } nodeE = Cudd_Regular(cuddE(node)); if (!cuddIsConstant(nodeE)) { item = (LocalQueueItem *) cuddLevelQueueEnqueue(queue,nodeE,cuddI(dd,nodeE->index)); if (item == NULL) return(0); infoN = (NodeData *) cuddHashTableGenericLookup(info->table,nodeE); infoN->functionRef--; } } cuddLevelQueueDequeue(queue,cuddI(dd,node->index)); } #ifdef DD_DEBUG /* At the end of a local search the queue should be empty. */ assert(queue->size == 0); #endif return(savings); } /* end of updateRefs */ /**Function******************************************************************** Synopsis [Marks nodes for replacement by zero.] Description [Marks nodes for replacement by zero. Returns 1 if successful; 0 otherwise.] SideEffects [None] SeeAlso [cuddUnderApprox] ******************************************************************************/ static int UAmarkNodes( DdManager * dd /* manager */, DdNode * f /* function to be analyzed */, ApproxInfo * info /* info on BDD */, int threshold /* when to stop approximating */, int safe /* enforce safe approximation */, double quality /* minimum improvement for accepted changes */) { DdLevelQueue *queue; DdLevelQueue *localQueue; NodeData *infoN; GlobalQueueItem *item; DdNode *node; double numOnset; double impactP, impactN; int savings; #if 0 (void) printf("initial size = %d initial minterms = %g\n", info->size, info->minterms); #endif queue = cuddLevelQueueInit(dd->size,sizeof(GlobalQueueItem),info->size); if (queue == NULL) { return(0); } localQueue = cuddLevelQueueInit(dd->size,sizeof(LocalQueueItem), dd->initSlots); if (localQueue == NULL) { cuddLevelQueueQuit(queue); return(0); } node = Cudd_Regular(f); item = (GlobalQueueItem *) cuddLevelQueueEnqueue(queue,node,cuddI(dd,node->index)); if (item == NULL) { cuddLevelQueueQuit(queue); cuddLevelQueueQuit(localQueue); return(0); } if (Cudd_IsComplement(f)) { item->impactP = 0.0; item->impactN = 1.0; } else { item->impactP = 1.0; item->impactN = 0.0; } while (queue->first != NULL) { /* If the size of the subset is below the threshold, quit. */ if (info->size <= threshold) break; item = (GlobalQueueItem *) queue->first; node = item->node; node = Cudd_Regular(node); infoN = (NodeData *) cuddHashTableGenericLookup(info->table, node); if (safe && infoN->parity == 3) { cuddLevelQueueDequeue(queue,cuddI(dd,node->index)); continue; } impactP = item->impactP; impactN = item->impactN; numOnset = infoN->mintermsP * impactP + infoN->mintermsN * impactN; savings = computeSavings(dd,node,NULL,info,localQueue); if (savings == 0) { cuddLevelQueueQuit(queue); cuddLevelQueueQuit(localQueue); return(0); } cuddLevelQueueDequeue(queue,cuddI(dd,node->index)); #if 0 (void) printf("node %p: impact = %g/%g numOnset = %g savings %d\n", node, impactP, impactN, numOnset, savings); #endif if ((1 - numOnset / info->minterms) > quality * (1 - (double) savings / info->size)) { infoN->replace = CUDD_TRUE; info->size -= savings; info->minterms -=numOnset; #if 0 (void) printf("replace: new size = %d new minterms = %g\n", info->size, info->minterms); #endif savings -= updateRefs(dd,node,NULL,info,localQueue); assert(savings == 0); continue; } if (!cuddIsConstant(cuddT(node))) { item = (GlobalQueueItem *) cuddLevelQueueEnqueue(queue,cuddT(node), cuddI(dd,cuddT(node)->index)); item->impactP += impactP/2.0; item->impactN += impactN/2.0; } if (!Cudd_IsConstant(cuddE(node))) { item = (GlobalQueueItem *) cuddLevelQueueEnqueue(queue,Cudd_Regular(cuddE(node)), cuddI(dd,Cudd_Regular(cuddE(node))->index)); if (Cudd_IsComplement(cuddE(node))) { item->impactP += impactN/2.0; item->impactN += impactP/2.0; } else { item->impactP += impactP/2.0; item->impactN += impactN/2.0; } } } cuddLevelQueueQuit(queue); cuddLevelQueueQuit(localQueue); return(1); } /* end of UAmarkNodes */ /**Function******************************************************************** Synopsis [Builds the subset BDD.] Description [Builds the subset BDD. Based on the info table, replaces selected nodes by zero. Returns a pointer to the result if successful; NULL otherwise.] SideEffects [None] SeeAlso [cuddUnderApprox] ******************************************************************************/ static DdNode * UAbuildSubset( DdManager * dd /* DD manager */, DdNode * node /* current node */, ApproxInfo * info /* node info */) { DdNode *Nt, *Ne, *N, *t, *e, *r; NodeData *infoN; if (Cudd_IsConstant(node)) return(node); N = Cudd_Regular(node); if ((infoN = (NodeData *) cuddHashTableGenericLookup(info->table, N)) != NULL) { if (infoN->replace == CUDD_TRUE) { return(info->zero); } if (N == node ) { if (infoN->resultP != NULL) { return(infoN->resultP); } } else { if (infoN->resultN != NULL) { return(infoN->resultN); } } } else { (void) fprintf(dd->err, "Something is wrong, ought to be in info table\n"); dd->errorCode = CUDD_INTERNAL_ERROR; return(NULL); } Nt = Cudd_NotCond(cuddT(N), Cudd_IsComplement(node)); Ne = Cudd_NotCond(cuddE(N), Cudd_IsComplement(node)); t = UAbuildSubset(dd, Nt, info); if (t == NULL) { return(NULL); } cuddRef(t); e = UAbuildSubset(dd, Ne, info); if (e == NULL) { Cudd_RecursiveDeref(dd,t); return(NULL); } cuddRef(e); if (Cudd_IsComplement(t)) { t = Cudd_Not(t); e = Cudd_Not(e); r = (t == e) ? t : cuddUniqueInter(dd, N->index, t, e); if (r == NULL) { Cudd_RecursiveDeref(dd, e); Cudd_RecursiveDeref(dd, t); return(NULL); } r = Cudd_Not(r); } else { r = (t == e) ? t : cuddUniqueInter(dd, N->index, t, e); if (r == NULL) { Cudd_RecursiveDeref(dd, e); Cudd_RecursiveDeref(dd, t); return(NULL); } } cuddDeref(t); cuddDeref(e); if (N == node) { infoN->resultP = r; } else { infoN->resultN = r; } return(r); } /* end of UAbuildSubset */ /**Function******************************************************************** Synopsis [Marks nodes for remapping.] Description [Marks nodes for remapping. Returns 1 if successful; 0 otherwise.] SideEffects [None] SeeAlso [cuddRemapUnderApprox] ******************************************************************************/ static int RAmarkNodes( DdManager * dd /* manager */, DdNode * f /* function to be analyzed */, ApproxInfo * info /* info on BDD */, int threshold /* when to stop approximating */, double quality /* minimum improvement for accepted changes */) { DdLevelQueue *queue; DdLevelQueue *localQueue; NodeData *infoN, *infoT, *infoE; GlobalQueueItem *item; DdNode *node, *T, *E; DdNode *shared; /* grandchild shared by the two children of node */ double numOnset; double impact, impactP, impactN; double minterms; int savings; int replace; #if 0 (void) fprintf(dd->out,"initial size = %d initial minterms = %g\n", info->size, info->minterms); #endif queue = cuddLevelQueueInit(dd->size,sizeof(GlobalQueueItem),info->size); if (queue == NULL) { return(0); } localQueue = cuddLevelQueueInit(dd->size,sizeof(LocalQueueItem), dd->initSlots); if (localQueue == NULL) { cuddLevelQueueQuit(queue); return(0); } /* Enqueue regular pointer to root and initialize impact. */ node = Cudd_Regular(f); item = (GlobalQueueItem *) cuddLevelQueueEnqueue(queue,node,cuddI(dd,node->index)); if (item == NULL) { cuddLevelQueueQuit(queue); cuddLevelQueueQuit(localQueue); return(0); } if (Cudd_IsComplement(f)) { item->impactP = 0.0; item->impactN = 1.0; } else { item->impactP = 1.0; item->impactN = 0.0; } /* The nodes retrieved here are guaranteed to be non-terminal. ** The initial node is not terminal because constant nodes are ** dealt with in the calling procedure. Subsequent nodes are inserted ** only if they are not terminal. */ while ((item = (GlobalQueueItem *) queue->first) != NULL) { /* If the size of the subset is below the threshold, quit. */ if (info->size <= threshold) break; node = item->node; #ifdef DD_DEBUG assert(item->impactP >= 0 && item->impactP <= 1.0); assert(item->impactN >= 0 && item->impactN <= 1.0); assert(!Cudd_IsComplement(node)); assert(!Cudd_IsConstant(node)); #endif if ((infoN = (NodeData *) cuddHashTableGenericLookup(info->table, node)) == NULL) { cuddLevelQueueQuit(queue); cuddLevelQueueQuit(localQueue); return(0); } #ifdef DD_DEBUG assert(infoN->parity >= 1 && infoN->parity <= 3); #endif if (infoN->parity == 3) { /* This node can be reached through paths of different parity. ** It is not safe to replace it, because remapping will give ** an incorrect result, while replacement by 0 may cause node ** splitting. */ cuddLevelQueueDequeue(queue,cuddI(dd,node->index)); continue; } T = cuddT(node); E = cuddE(node); shared = NULL; impactP = item->impactP; impactN = item->impactN; if (Cudd_bddLeq(dd,T,E)) { /* Here we know that E is regular. */ #ifdef DD_DEBUG assert(!Cudd_IsComplement(E)); #endif infoT = (NodeData *) cuddHashTableGenericLookup(info->table, T); infoE = (NodeData *) cuddHashTableGenericLookup(info->table, E); if (infoN->parity == 1) { impact = impactP; minterms = infoE->mintermsP/2.0 - infoT->mintermsP/2.0; if (infoE->functionRef == 1 && !cuddIsConstant(E)) { savings = 1 + computeSavings(dd,E,NULL,info,localQueue); if (savings == 1) { cuddLevelQueueQuit(queue); cuddLevelQueueQuit(localQueue); return(0); } } else { savings = 1; } replace = REPLACE_E; } else { #ifdef DD_DEBUG assert(infoN->parity == 2); #endif impact = impactN; minterms = infoT->mintermsN/2.0 - infoE->mintermsN/2.0; if (infoT->functionRef == 1 && !cuddIsConstant(T)) { savings = 1 + computeSavings(dd,T,NULL,info,localQueue); if (savings == 1) { cuddLevelQueueQuit(queue); cuddLevelQueueQuit(localQueue); return(0); } } else { savings = 1; } replace = REPLACE_T; } numOnset = impact * minterms; } else if (Cudd_bddLeq(dd,E,T)) { /* Here E may be complemented. */ DdNode *Ereg = Cudd_Regular(E); infoT = (NodeData *) cuddHashTableGenericLookup(info->table, T); infoE = (NodeData *) cuddHashTableGenericLookup(info->table, Ereg); if (infoN->parity == 1) { impact = impactP; minterms = infoT->mintermsP/2.0 - ((E == Ereg) ? infoE->mintermsP : infoE->mintermsN)/2.0; if (infoT->functionRef == 1 && !cuddIsConstant(T)) { savings = 1 + computeSavings(dd,T,NULL,info,localQueue); if (savings == 1) { cuddLevelQueueQuit(queue); cuddLevelQueueQuit(localQueue); return(0); } } else { savings = 1; } replace = REPLACE_T; } else { #ifdef DD_DEBUG assert(infoN->parity == 2); #endif impact = impactN; minterms = ((E == Ereg) ? infoE->mintermsN : infoE->mintermsP)/2.0 - infoT->mintermsN/2.0; if (infoE->functionRef == 1 && !cuddIsConstant(Ereg)) { savings = 1 + computeSavings(dd,E,NULL,info,localQueue); if (savings == 1) { cuddLevelQueueQuit(queue); cuddLevelQueueQuit(localQueue); return(0); } } else { savings = 1; } replace = REPLACE_E; } numOnset = impact * minterms; } else { DdNode *Ereg = Cudd_Regular(E); DdNode *TT = cuddT(T); DdNode *ET = Cudd_NotCond(cuddT(Ereg), Cudd_IsComplement(E)); if (T->index == Ereg->index && TT == ET) { shared = TT; replace = REPLACE_TT; } else { DdNode *TE = cuddE(T); DdNode *EE = Cudd_NotCond(cuddE(Ereg), Cudd_IsComplement(E)); if (T->index == Ereg->index && TE == EE) { shared = TE; replace = REPLACE_TE; } else { replace = REPLACE_N; } } numOnset = infoN->mintermsP * impactP + infoN->mintermsN * impactN; savings = computeSavings(dd,node,shared,info,localQueue); if (shared != NULL) { NodeData *infoS; infoS = (NodeData *) cuddHashTableGenericLookup(info->table, Cudd_Regular(shared)); if (Cudd_IsComplement(shared)) { numOnset -= (infoS->mintermsN * impactP + infoS->mintermsP * impactN)/2.0; } else { numOnset -= (infoS->mintermsP * impactP + infoS->mintermsN * impactN)/2.0; } savings--; } } cuddLevelQueueDequeue(queue,cuddI(dd,node->index)); #if 0 if (replace == REPLACE_T || replace == REPLACE_E) (void) printf("node %p: impact = %g numOnset = %g savings %d\n", node, impact, numOnset, savings); else (void) printf("node %p: impact = %g/%g numOnset = %g savings %d\n", node, impactP, impactN, numOnset, savings); #endif if ((1 - numOnset / info->minterms) > quality * (1 - (double) savings / info->size)) { infoN->replace = (char) replace; info->size -= savings; info->minterms -=numOnset; #if 0 (void) printf("remap(%d): new size = %d new minterms = %g\n", replace, info->size, info->minterms); #endif if (replace == REPLACE_N) { savings -= updateRefs(dd,node,NULL,info,localQueue); } else if (replace == REPLACE_T) { savings -= updateRefs(dd,node,E,info,localQueue); } else if (replace == REPLACE_E) { savings -= updateRefs(dd,node,T,info,localQueue); } else { #ifdef DD_DEBUG assert(replace == REPLACE_TT || replace == REPLACE_TE); #endif savings -= updateRefs(dd,node,shared,info,localQueue) - 1; } assert(savings == 0); } else { replace = NOTHING; } if (replace == REPLACE_N) continue; if ((replace == REPLACE_E || replace == NOTHING) && !cuddIsConstant(cuddT(node))) { item = (GlobalQueueItem *) cuddLevelQueueEnqueue(queue,cuddT(node), cuddI(dd,cuddT(node)->index)); if (replace == REPLACE_E) { item->impactP += impactP; item->impactN += impactN; } else { item->impactP += impactP/2.0; item->impactN += impactN/2.0; } } if ((replace == REPLACE_T || replace == NOTHING) && !Cudd_IsConstant(cuddE(node))) { item = (GlobalQueueItem *) cuddLevelQueueEnqueue(queue,Cudd_Regular(cuddE(node)), cuddI(dd,Cudd_Regular(cuddE(node))->index)); if (Cudd_IsComplement(cuddE(node))) { if (replace == REPLACE_T) { item->impactP += impactN; item->impactN += impactP; } else { item->impactP += impactN/2.0; item->impactN += impactP/2.0; } } else { if (replace == REPLACE_T) { item->impactP += impactP; item->impactN += impactN; } else { item->impactP += impactP/2.0; item->impactN += impactN/2.0; } } } if ((replace == REPLACE_TT || replace == REPLACE_TE) && !Cudd_IsConstant(shared)) { item = (GlobalQueueItem *) cuddLevelQueueEnqueue(queue,Cudd_Regular(shared), cuddI(dd,Cudd_Regular(shared)->index)); if (Cudd_IsComplement(shared)) { item->impactP += impactN; item->impactN += impactP; } else { item->impactP += impactP; item->impactN += impactN; } } } cuddLevelQueueQuit(queue); cuddLevelQueueQuit(localQueue); return(1); } /* end of RAmarkNodes */ /**Function******************************************************************** Synopsis [Marks nodes for remapping.] Description [Marks nodes for remapping. Returns 1 if successful; 0 otherwise.] SideEffects [None] SeeAlso [cuddBiasedUnderApprox] ******************************************************************************/ static int BAmarkNodes( DdManager *dd /* manager */, DdNode *f /* function to be analyzed */, ApproxInfo *info /* info on BDD */, int threshold /* when to stop approximating */, double quality1 /* minimum improvement for accepted changes when b=1 */, double quality0 /* minimum improvement for accepted changes when b=0 */) { DdLevelQueue *queue; DdLevelQueue *localQueue; NodeData *infoN, *infoT, *infoE; GlobalQueueItem *item; DdNode *node, *T, *E; DdNode *shared; /* grandchild shared by the two children of node */ double numOnset; double impact, impactP, impactN; double minterms; double quality; int savings; int replace; #if 0 (void) fprintf(dd->out,"initial size = %d initial minterms = %g\n", info->size, info->minterms); #endif queue = cuddLevelQueueInit(dd->size,sizeof(GlobalQueueItem),info->size); if (queue == NULL) { return(0); } localQueue = cuddLevelQueueInit(dd->size,sizeof(LocalQueueItem), dd->initSlots); if (localQueue == NULL) { cuddLevelQueueQuit(queue); return(0); } /* Enqueue regular pointer to root and initialize impact. */ node = Cudd_Regular(f); item = (GlobalQueueItem *) cuddLevelQueueEnqueue(queue,node,cuddI(dd,node->index)); if (item == NULL) { cuddLevelQueueQuit(queue); cuddLevelQueueQuit(localQueue); return(0); } if (Cudd_IsComplement(f)) { item->impactP = 0.0; item->impactN = 1.0; } else { item->impactP = 1.0; item->impactN = 0.0; } /* The nodes retrieved here are guaranteed to be non-terminal. ** The initial node is not terminal because constant nodes are ** dealt with in the calling procedure. Subsequent nodes are inserted ** only if they are not terminal. */ while (queue->first != NULL) { /* If the size of the subset is below the threshold, quit. */ if (info->size <= threshold) break; item = (GlobalQueueItem *) queue->first; node = item->node; #ifdef DD_DEBUG assert(item->impactP >= 0 && item->impactP <= 1.0); assert(item->impactN >= 0 && item->impactN <= 1.0); assert(!Cudd_IsComplement(node)); assert(!Cudd_IsConstant(node)); #endif if ((infoN = (NodeData *) cuddHashTableGenericLookup(info->table, node)) == NULL) { cuddLevelQueueQuit(queue); cuddLevelQueueQuit(localQueue); return(0); } quality = infoN->care ? quality1 : quality0; #ifdef DD_DEBUG assert(infoN->parity >= 1 && infoN->parity <= 3); #endif if (infoN->parity == 3) { /* This node can be reached through paths of different parity. ** It is not safe to replace it, because remapping will give ** an incorrect result, while replacement by 0 may cause node ** splitting. */ cuddLevelQueueDequeue(queue,cuddI(dd,node->index)); continue; } T = cuddT(node); E = cuddE(node); shared = NULL; impactP = item->impactP; impactN = item->impactN; if (Cudd_bddLeq(dd,T,E)) { /* Here we know that E is regular. */ #ifdef DD_DEBUG assert(!Cudd_IsComplement(E)); #endif infoT = (NodeData *) cuddHashTableGenericLookup(info->table, T); infoE = (NodeData *) cuddHashTableGenericLookup(info->table, E); if (infoN->parity == 1) { impact = impactP; minterms = infoE->mintermsP/2.0 - infoT->mintermsP/2.0; if (infoE->functionRef == 1 && !Cudd_IsConstant(E)) { savings = 1 + computeSavings(dd,E,NULL,info,localQueue); if (savings == 1) { cuddLevelQueueQuit(queue); cuddLevelQueueQuit(localQueue); return(0); } } else { savings = 1; } replace = REPLACE_E; } else { #ifdef DD_DEBUG assert(infoN->parity == 2); #endif impact = impactN; minterms = infoT->mintermsN/2.0 - infoE->mintermsN/2.0; if (infoT->functionRef == 1 && !Cudd_IsConstant(T)) { savings = 1 + computeSavings(dd,T,NULL,info,localQueue); if (savings == 1) { cuddLevelQueueQuit(queue); cuddLevelQueueQuit(localQueue); return(0); } } else { savings = 1; } replace = REPLACE_T; } numOnset = impact * minterms; } else if (Cudd_bddLeq(dd,E,T)) { /* Here E may be complemented. */ DdNode *Ereg = Cudd_Regular(E); infoT = (NodeData *) cuddHashTableGenericLookup(info->table, T); infoE = (NodeData *) cuddHashTableGenericLookup(info->table, Ereg); if (infoN->parity == 1) { impact = impactP; minterms = infoT->mintermsP/2.0 - ((E == Ereg) ? infoE->mintermsP : infoE->mintermsN)/2.0; if (infoT->functionRef == 1 && !Cudd_IsConstant(T)) { savings = 1 + computeSavings(dd,T,NULL,info,localQueue); if (savings == 1) { cuddLevelQueueQuit(queue); cuddLevelQueueQuit(localQueue); return(0); } } else { savings = 1; } replace = REPLACE_T; } else { #ifdef DD_DEBUG assert(infoN->parity == 2); #endif impact = impactN; minterms = ((E == Ereg) ? infoE->mintermsN : infoE->mintermsP)/2.0 - infoT->mintermsN/2.0; if (infoE->functionRef == 1 && !Cudd_IsConstant(E)) { savings = 1 + computeSavings(dd,E,NULL,info,localQueue); if (savings == 1) { cuddLevelQueueQuit(queue); cuddLevelQueueQuit(localQueue); return(0); } } else { savings = 1; } replace = REPLACE_E; } numOnset = impact * minterms; } else { DdNode *Ereg = Cudd_Regular(E); DdNode *TT = cuddT(T); DdNode *ET = Cudd_NotCond(cuddT(Ereg), Cudd_IsComplement(E)); if (T->index == Ereg->index && TT == ET) { shared = TT; replace = REPLACE_TT; } else { DdNode *TE = cuddE(T); DdNode *EE = Cudd_NotCond(cuddE(Ereg), Cudd_IsComplement(E)); if (T->index == Ereg->index && TE == EE) { shared = TE; replace = REPLACE_TE; } else { replace = REPLACE_N; } } numOnset = infoN->mintermsP * impactP + infoN->mintermsN * impactN; savings = computeSavings(dd,node,shared,info,localQueue); if (shared != NULL) { NodeData *infoS; infoS = (NodeData *) cuddHashTableGenericLookup(info->table, Cudd_Regular(shared)); if (Cudd_IsComplement(shared)) { numOnset -= (infoS->mintermsN * impactP + infoS->mintermsP * impactN)/2.0; } else { numOnset -= (infoS->mintermsP * impactP + infoS->mintermsN * impactN)/2.0; } savings--; } } cuddLevelQueueDequeue(queue,cuddI(dd,node->index)); #if 0 if (replace == REPLACE_T || replace == REPLACE_E) (void) printf("node %p: impact = %g numOnset = %g savings %d\n", node, impact, numOnset, savings); else (void) printf("node %p: impact = %g/%g numOnset = %g savings %d\n", node, impactP, impactN, numOnset, savings); #endif if ((1 - numOnset / info->minterms) > quality * (1 - (double) savings / info->size)) { infoN->replace = (char) replace; info->size -= savings; info->minterms -=numOnset; #if 0 (void) printf("remap(%d): new size = %d new minterms = %g\n", replace, info->size, info->minterms); #endif if (replace == REPLACE_N) { savings -= updateRefs(dd,node,NULL,info,localQueue); } else if (replace == REPLACE_T) { savings -= updateRefs(dd,node,E,info,localQueue); } else if (replace == REPLACE_E) { savings -= updateRefs(dd,node,T,info,localQueue); } else { #ifdef DD_DEBUG assert(replace == REPLACE_TT || replace == REPLACE_TE); #endif savings -= updateRefs(dd,node,shared,info,localQueue) - 1; } assert(savings == 0); } else { replace = NOTHING; } if (replace == REPLACE_N) continue; if ((replace == REPLACE_E || replace == NOTHING) && !cuddIsConstant(cuddT(node))) { item = (GlobalQueueItem *) cuddLevelQueueEnqueue(queue,cuddT(node), cuddI(dd,cuddT(node)->index)); if (replace == REPLACE_E) { item->impactP += impactP; item->impactN += impactN; } else { item->impactP += impactP/2.0; item->impactN += impactN/2.0; } } if ((replace == REPLACE_T || replace == NOTHING) && !Cudd_IsConstant(cuddE(node))) { item = (GlobalQueueItem *) cuddLevelQueueEnqueue(queue,Cudd_Regular(cuddE(node)), cuddI(dd,Cudd_Regular(cuddE(node))->index)); if (Cudd_IsComplement(cuddE(node))) { if (replace == REPLACE_T) { item->impactP += impactN; item->impactN += impactP; } else { item->impactP += impactN/2.0; item->impactN += impactP/2.0; } } else { if (replace == REPLACE_T) { item->impactP += impactP; item->impactN += impactN; } else { item->impactP += impactP/2.0; item->impactN += impactN/2.0; } } } if ((replace == REPLACE_TT || replace == REPLACE_TE) && !Cudd_IsConstant(shared)) { item = (GlobalQueueItem *) cuddLevelQueueEnqueue(queue,Cudd_Regular(shared), cuddI(dd,Cudd_Regular(shared)->index)); if (Cudd_IsComplement(shared)) { if (replace == REPLACE_T) { item->impactP += impactN; item->impactN += impactP; } else { item->impactP += impactN/2.0; item->impactN += impactP/2.0; } } else { if (replace == REPLACE_T) { item->impactP += impactP; item->impactN += impactN; } else { item->impactP += impactP/2.0; item->impactN += impactN/2.0; } } } } cuddLevelQueueQuit(queue); cuddLevelQueueQuit(localQueue); return(1); } /* end of BAmarkNodes */ /**Function******************************************************************** Synopsis [Builds the subset BDD for cuddRemapUnderApprox.] Description [Builds the subset BDDfor cuddRemapUnderApprox. Based on the info table, performs remapping or replacement at selected nodes. Returns a pointer to the result if successful; NULL otherwise.] SideEffects [None] SeeAlso [cuddRemapUnderApprox] ******************************************************************************/ static DdNode * RAbuildSubset( DdManager * dd /* DD manager */, DdNode * node /* current node */, ApproxInfo * info /* node info */) { DdNode *Nt, *Ne, *N, *t, *e, *r; NodeData *infoN; if (Cudd_IsConstant(node)) return(node); N = Cudd_Regular(node); Nt = Cudd_NotCond(cuddT(N), Cudd_IsComplement(node)); Ne = Cudd_NotCond(cuddE(N), Cudd_IsComplement(node)); if ((infoN = (NodeData *) cuddHashTableGenericLookup(info->table, N)) != NULL) { if (N == node ) { if (infoN->resultP != NULL) { return(infoN->resultP); } } else { if (infoN->resultN != NULL) { return(infoN->resultN); } } if (infoN->replace == REPLACE_T) { r = RAbuildSubset(dd, Ne, info); return(r); } else if (infoN->replace == REPLACE_E) { r = RAbuildSubset(dd, Nt, info); return(r); } else if (infoN->replace == REPLACE_N) { return(info->zero); } else if (infoN->replace == REPLACE_TT) { DdNode *Ntt = Cudd_NotCond(cuddT(cuddT(N)), Cudd_IsComplement(node)); int index = cuddT(N)->index; e = info->zero; t = RAbuildSubset(dd, Ntt, info); if (t == NULL) { return(NULL); } cuddRef(t); if (Cudd_IsComplement(t)) { t = Cudd_Not(t); e = Cudd_Not(e); r = (t == e) ? t : cuddUniqueInter(dd, index, t, e); if (r == NULL) { Cudd_RecursiveDeref(dd, t); return(NULL); } r = Cudd_Not(r); } else { r = (t == e) ? t : cuddUniqueInter(dd, index, t, e); if (r == NULL) { Cudd_RecursiveDeref(dd, t); return(NULL); } } cuddDeref(t); return(r); } else if (infoN->replace == REPLACE_TE) { DdNode *Nte = Cudd_NotCond(cuddE(cuddT(N)), Cudd_IsComplement(node)); int index = cuddT(N)->index; t = info->one; e = RAbuildSubset(dd, Nte, info); if (e == NULL) { return(NULL); } cuddRef(e); e = Cudd_Not(e); r = (t == e) ? t : cuddUniqueInter(dd, index, t, e); if (r == NULL) { Cudd_RecursiveDeref(dd, e); return(NULL); } r =Cudd_Not(r); cuddDeref(e); return(r); } } else { (void) fprintf(dd->err, "Something is wrong, ought to be in info table\n"); dd->errorCode = CUDD_INTERNAL_ERROR; return(NULL); } t = RAbuildSubset(dd, Nt, info); if (t == NULL) { return(NULL); } cuddRef(t); e = RAbuildSubset(dd, Ne, info); if (e == NULL) { Cudd_RecursiveDeref(dd,t); return(NULL); } cuddRef(e); if (Cudd_IsComplement(t)) { t = Cudd_Not(t); e = Cudd_Not(e); r = (t == e) ? t : cuddUniqueInter(dd, N->index, t, e); if (r == NULL) { Cudd_RecursiveDeref(dd, e); Cudd_RecursiveDeref(dd, t); return(NULL); } r = Cudd_Not(r); } else { r = (t == e) ? t : cuddUniqueInter(dd, N->index, t, e); if (r == NULL) { Cudd_RecursiveDeref(dd, e); Cudd_RecursiveDeref(dd, t); return(NULL); } } cuddDeref(t); cuddDeref(e); if (N == node) { infoN->resultP = r; } else { infoN->resultN = r; } return(r); } /* end of RAbuildSubset */ /**Function******************************************************************** Synopsis [Finds don't care nodes.] Description [Finds don't care nodes by traversing f and b in parallel. Returns the care status of the visited f node if successful; CARE_ERROR otherwise.] SideEffects [None] SeeAlso [cuddBiasedUnderApprox] ******************************************************************************/ static int BAapplyBias( DdManager *dd, DdNode *f, DdNode *b, ApproxInfo *info, DdHashTable *cache) { DdNode *one, *zero, *res; DdNode *Ft, *Fe, *B, *Bt, *Be; unsigned int topf, topb; NodeData *infoF; int careT, careE; one = DD_ONE(dd); zero = Cudd_Not(one); if ((infoF = (NodeData *) cuddHashTableGenericLookup(info->table, f)) == NULL) return(CARE_ERROR); if (f == one) return(TOTAL_CARE); if (b == zero) return(infoF->care); if (infoF->care == TOTAL_CARE) return(TOTAL_CARE); if ((f->ref != 1 || Cudd_Regular(b)->ref != 1) && (res = cuddHashTableLookup2(cache,f,b)) != NULL) { if (res->ref == 0) { cache->manager->dead++; cache->manager->constants.dead++; } return(infoF->care); } topf = dd->perm[f->index]; B = Cudd_Regular(b); topb = cuddI(dd,B->index); if (topf <= topb) { Ft = cuddT(f); Fe = cuddE(f); } else { Ft = Fe = f; } if (topb <= topf) { /* We know that b is not constant because f is not. */ Bt = cuddT(B); Be = cuddE(B); if (Cudd_IsComplement(b)) { Bt = Cudd_Not(Bt); Be = Cudd_Not(Be); } } else { Bt = Be = b; } careT = BAapplyBias(dd, Ft, Bt, info, cache); if (careT == CARE_ERROR) return(CARE_ERROR); careE = BAapplyBias(dd, Cudd_Regular(Fe), Be, info, cache); if (careE == CARE_ERROR) return(CARE_ERROR); if (careT == TOTAL_CARE && careE == TOTAL_CARE) { infoF->care = TOTAL_CARE; } else { infoF->care = CARE; } if (f->ref != 1 || Cudd_Regular(b)->ref != 1) { ptrint fanout = (ptrint) f->ref * Cudd_Regular(b)->ref; cuddSatDec(fanout); if (!cuddHashTableInsert2(cache,f,b,one,fanout)) { return(CARE_ERROR); } } return(infoF->care); } /* end of BAapplyBias */ BRiAl-1.2.12/cudd/cuddBddAbs.c000066400000000000000000000525301436062512100155750ustar00rootroot00000000000000/**CFile*********************************************************************** FileName [cuddBddAbs.c] PackageName [cudd] Synopsis [Quantification functions for BDDs.] Description [External procedures included in this module:
  • Cudd_bddExistAbstract()
  • Cudd_bddExistAbstractLimit()
  • Cudd_bddXorExistAbstract()
  • Cudd_bddUnivAbstract()
  • Cudd_bddBooleanDiff()
  • Cudd_bddVarIsDependent()
Internal procedures included in this module:
  • cuddBddExistAbstractRecur()
  • cuddBddXorExistAbstractRecur()
  • cuddBddBooleanDiffRecur()
Static procedures included in this module:
  • bddCheckPositiveCube()
] Author [Fabio Somenzi] Copyright [Copyright (c) 1995-2012, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.] ******************************************************************************/ #include "util.h" #include "cuddInt.h" /*---------------------------------------------------------------------------*/ /* Constant declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Stucture declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Type declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Variable declarations */ /*---------------------------------------------------------------------------*/ #ifndef lint static char rcsid[] DD_UNUSED = "$Id: cuddBddAbs.c,v 1.28 2012/02/05 01:07:18 fabio Exp $"; #endif /*---------------------------------------------------------------------------*/ /* Macro declarations */ /*---------------------------------------------------------------------------*/ /**AutomaticStart*************************************************************/ /*---------------------------------------------------------------------------*/ /* Static function prototypes */ /*---------------------------------------------------------------------------*/ static int bddCheckPositiveCube (DdManager *manager, DdNode *cube); /**AutomaticEnd***************************************************************/ /*---------------------------------------------------------------------------*/ /* Definition of exported functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Existentially abstracts all the variables in cube from f.] Description [Existentially abstracts all the variables in cube from f. Returns the abstracted BDD if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_bddUnivAbstract Cudd_addExistAbstract] ******************************************************************************/ DdNode * Cudd_bddExistAbstract( DdManager * manager, DdNode * f, DdNode * cube) { DdNode *res; if (bddCheckPositiveCube(manager, cube) == 0) { (void) fprintf(manager->err, "Error: Can only abstract positive cubes\n"); manager->errorCode = CUDD_INVALID_ARG; return(NULL); } do { manager->reordered = 0; res = cuddBddExistAbstractRecur(manager, f, cube); } while (manager->reordered == 1); return(res); } /* end of Cudd_bddExistAbstract */ /**Function******************************************************************** Synopsis [Existentially abstracts all the variables in cube from f.] Description [Existentially abstracts all the variables in cube from f. Returns the abstracted BDD if successful; NULL if the intermediate result blows up or more new nodes than limit are required.] SideEffects [None] SeeAlso [Cudd_bddExistAbstract] ******************************************************************************/ DdNode * Cudd_bddExistAbstractLimit( DdManager * manager, DdNode * f, DdNode * cube, unsigned int limit) { DdNode *res; unsigned int saveLimit = manager->maxLive; if (bddCheckPositiveCube(manager, cube) == 0) { (void) fprintf(manager->err, "Error: Can only abstract positive cubes\n"); manager->errorCode = CUDD_INVALID_ARG; return(NULL); } manager->maxLive = (manager->keys - manager->dead) + (manager->keysZ - manager->deadZ) + limit; do { manager->reordered = 0; res = cuddBddExistAbstractRecur(manager, f, cube); } while (manager->reordered == 1); manager->maxLive = saveLimit; return(res); } /* end of Cudd_bddExistAbstractLimit */ /**Function******************************************************************** Synopsis [Takes the exclusive OR of two BDDs and simultaneously abstracts the variables in cube.] Description [Takes the exclusive OR of two BDDs and simultaneously abstracts the variables in cube. The variables are existentially abstracted. Returns a pointer to the result is successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_bddUnivAbstract Cudd_bddExistAbstract Cudd_bddAndAbstract] ******************************************************************************/ DdNode * Cudd_bddXorExistAbstract( DdManager * manager, DdNode * f, DdNode * g, DdNode * cube) { DdNode *res; if (bddCheckPositiveCube(manager, cube) == 0) { (void) fprintf(manager->err, "Error: Can only abstract positive cubes\n"); manager->errorCode = CUDD_INVALID_ARG; return(NULL); } do { manager->reordered = 0; res = cuddBddXorExistAbstractRecur(manager, f, g, cube); } while (manager->reordered == 1); return(res); } /* end of Cudd_bddXorExistAbstract */ /**Function******************************************************************** Synopsis [Universally abstracts all the variables in cube from f.] Description [Universally abstracts all the variables in cube from f. Returns the abstracted BDD if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_bddExistAbstract Cudd_addUnivAbstract] ******************************************************************************/ DdNode * Cudd_bddUnivAbstract( DdManager * manager, DdNode * f, DdNode * cube) { DdNode *res; if (bddCheckPositiveCube(manager, cube) == 0) { (void) fprintf(manager->err, "Error: Can only abstract positive cubes\n"); manager->errorCode = CUDD_INVALID_ARG; return(NULL); } do { manager->reordered = 0; res = cuddBddExistAbstractRecur(manager, Cudd_Not(f), cube); } while (manager->reordered == 1); if (res != NULL) res = Cudd_Not(res); return(res); } /* end of Cudd_bddUnivAbstract */ /**Function******************************************************************** Synopsis [Computes the boolean difference of f with respect to x.] Description [Computes the boolean difference of f with respect to the variable with index x. Returns the BDD of the boolean difference if successful; NULL otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ DdNode * Cudd_bddBooleanDiff( DdManager * manager, DdNode * f, int x) { DdNode *res, *var; /* If the variable is not currently in the manager, f cannot ** depend on it. */ if (x >= manager->size) return(Cudd_Not(DD_ONE(manager))); var = manager->vars[x]; do { manager->reordered = 0; res = cuddBddBooleanDiffRecur(manager, Cudd_Regular(f), var); } while (manager->reordered == 1); return(res); } /* end of Cudd_bddBooleanDiff */ /**Function******************************************************************** Synopsis [Checks whether a variable is dependent on others in a function.] Description [Checks whether a variable is dependent on others in a function. Returns 1 if the variable is dependent; 0 otherwise. No new nodes are created.] SideEffects [None] SeeAlso [] ******************************************************************************/ int Cudd_bddVarIsDependent( DdManager *dd, /* manager */ DdNode *f, /* function */ DdNode *var /* variable */) { DdNode *F, *res, *zero, *ft, *fe; unsigned topf, level; DD_CTFP cacheOp; int retval; zero = Cudd_Not(DD_ONE(dd)); if (Cudd_IsConstant(f)) return(f == zero); /* From now on f is not constant. */ F = Cudd_Regular(f); topf = (unsigned) dd->perm[F->index]; level = (unsigned) dd->perm[var->index]; /* Check terminal case. If topf > index of var, f does not depend on var. ** Therefore, var is not dependent in f. */ if (topf > level) { return(0); } cacheOp = (DD_CTFP) Cudd_bddVarIsDependent; res = cuddCacheLookup2(dd,cacheOp,f,var); if (res != NULL) { return(res != zero); } /* Compute cofactors. */ ft = Cudd_NotCond(cuddT(F), f != F); fe = Cudd_NotCond(cuddE(F), f != F); if (topf == level) { retval = Cudd_bddLeq(dd,ft,Cudd_Not(fe)); } else { retval = Cudd_bddVarIsDependent(dd,ft,var) && Cudd_bddVarIsDependent(dd,fe,var); } cuddCacheInsert2(dd,cacheOp,f,var,Cudd_NotCond(zero,retval)); return(retval); } /* Cudd_bddVarIsDependent */ /*---------------------------------------------------------------------------*/ /* Definition of internal functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Performs the recursive steps of Cudd_bddExistAbstract.] Description [Performs the recursive steps of Cudd_bddExistAbstract. Returns the BDD obtained by abstracting the variables of cube from f if successful; NULL otherwise. It is also used by Cudd_bddUnivAbstract.] SideEffects [None] SeeAlso [Cudd_bddExistAbstract Cudd_bddUnivAbstract] ******************************************************************************/ DdNode * cuddBddExistAbstractRecur( DdManager * manager, DdNode * f, DdNode * cube) { DdNode *F, *T, *E, *res, *res1, *res2, *one; statLine(manager); one = DD_ONE(manager); F = Cudd_Regular(f); /* Cube is guaranteed to be a cube at this point. */ if (cube == one || F == one) { return(f); } /* From now on, f and cube are non-constant. */ /* Abstract a variable that does not appear in f. */ while (manager->perm[F->index] > manager->perm[cube->index]) { cube = cuddT(cube); if (cube == one) return(f); } /* Check the cache. */ if (F->ref != 1 && (res = cuddCacheLookup2(manager, Cudd_bddExistAbstract, f, cube)) != NULL) { return(res); } /* Compute the cofactors of f. */ T = cuddT(F); E = cuddE(F); if (f != F) { T = Cudd_Not(T); E = Cudd_Not(E); } /* If the two indices are the same, so are their levels. */ if (F->index == cube->index) { if (T == one || E == one || T == Cudd_Not(E)) { return(one); } res1 = cuddBddExistAbstractRecur(manager, T, cuddT(cube)); if (res1 == NULL) return(NULL); if (res1 == one) { if (F->ref != 1) cuddCacheInsert2(manager, Cudd_bddExistAbstract, f, cube, one); return(one); } cuddRef(res1); res2 = cuddBddExistAbstractRecur(manager, E, cuddT(cube)); if (res2 == NULL) { Cudd_IterDerefBdd(manager,res1); return(NULL); } cuddRef(res2); res = cuddBddAndRecur(manager, Cudd_Not(res1), Cudd_Not(res2)); if (res == NULL) { Cudd_IterDerefBdd(manager, res1); Cudd_IterDerefBdd(manager, res2); return(NULL); } res = Cudd_Not(res); cuddRef(res); Cudd_IterDerefBdd(manager, res1); Cudd_IterDerefBdd(manager, res2); if (F->ref != 1) cuddCacheInsert2(manager, Cudd_bddExistAbstract, f, cube, res); cuddDeref(res); return(res); } else { /* if (cuddI(manager,F->index) < cuddI(manager,cube->index)) */ res1 = cuddBddExistAbstractRecur(manager, T, cube); if (res1 == NULL) return(NULL); cuddRef(res1); res2 = cuddBddExistAbstractRecur(manager, E, cube); if (res2 == NULL) { Cudd_IterDerefBdd(manager, res1); return(NULL); } cuddRef(res2); /* ITE takes care of possible complementation of res1 and of the ** case in which res1 == res2. */ res = cuddBddIteRecur(manager, manager->vars[F->index], res1, res2); if (res == NULL) { Cudd_IterDerefBdd(manager, res1); Cudd_IterDerefBdd(manager, res2); return(NULL); } cuddDeref(res1); cuddDeref(res2); if (F->ref != 1) cuddCacheInsert2(manager, Cudd_bddExistAbstract, f, cube, res); return(res); } } /* end of cuddBddExistAbstractRecur */ /**Function******************************************************************** Synopsis [Takes the exclusive OR of two BDDs and simultaneously abstracts the variables in cube.] Description [Takes the exclusive OR of two BDDs and simultaneously abstracts the variables in cube. The variables are existentially abstracted. Returns a pointer to the result is successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_bddAndAbstract] ******************************************************************************/ DdNode * cuddBddXorExistAbstractRecur( DdManager * manager, DdNode * f, DdNode * g, DdNode * cube) { DdNode *F, *fv, *fnv, *G, *gv, *gnv; DdNode *one, *zero, *r, *t, *e, *Cube; unsigned int topf, topg, topcube, top, index; statLine(manager); one = DD_ONE(manager); zero = Cudd_Not(one); /* Terminal cases. */ if (f == g) { return(zero); } if (f == Cudd_Not(g)) { return(one); } if (cube == one) { return(cuddBddXorRecur(manager, f, g)); } if (f == one) { return(cuddBddExistAbstractRecur(manager, Cudd_Not(g), cube)); } if (g == one) { return(cuddBddExistAbstractRecur(manager, Cudd_Not(f), cube)); } if (f == zero) { return(cuddBddExistAbstractRecur(manager, g, cube)); } if (g == zero) { return(cuddBddExistAbstractRecur(manager, f, cube)); } /* At this point f, g, and cube are not constant. */ if (f > g) { /* Try to increase cache efficiency. */ DdNode *tmp = f; f = g; g = tmp; } /* Check cache. */ r = cuddCacheLookup(manager, DD_BDD_XOR_EXIST_ABSTRACT_TAG, f, g, cube); if (r != NULL) { return(r); } /* Here we can skip the use of cuddI, because the operands are known ** to be non-constant. */ F = Cudd_Regular(f); topf = manager->perm[F->index]; G = Cudd_Regular(g); topg = manager->perm[G->index]; top = ddMin(topf, topg); topcube = manager->perm[cube->index]; if (topcube < top) { return(cuddBddXorExistAbstractRecur(manager, f, g, cuddT(cube))); } /* Now, topcube >= top. */ if (topf == top) { index = F->index; fv = cuddT(F); fnv = cuddE(F); if (Cudd_IsComplement(f)) { fv = Cudd_Not(fv); fnv = Cudd_Not(fnv); } } else { index = G->index; fv = fnv = f; } if (topg == top) { gv = cuddT(G); gnv = cuddE(G); if (Cudd_IsComplement(g)) { gv = Cudd_Not(gv); gnv = Cudd_Not(gnv); } } else { gv = gnv = g; } if (topcube == top) { Cube = cuddT(cube); } else { Cube = cube; } t = cuddBddXorExistAbstractRecur(manager, fv, gv, Cube); if (t == NULL) return(NULL); /* Special case: 1 OR anything = 1. Hence, no need to compute ** the else branch if t is 1. */ if (t == one && topcube == top) { cuddCacheInsert(manager, DD_BDD_XOR_EXIST_ABSTRACT_TAG, f, g, cube, one); return(one); } cuddRef(t); e = cuddBddXorExistAbstractRecur(manager, fnv, gnv, Cube); if (e == NULL) { Cudd_IterDerefBdd(manager, t); return(NULL); } cuddRef(e); if (topcube == top) { /* abstract */ r = cuddBddAndRecur(manager, Cudd_Not(t), Cudd_Not(e)); if (r == NULL) { Cudd_IterDerefBdd(manager, t); Cudd_IterDerefBdd(manager, e); return(NULL); } r = Cudd_Not(r); cuddRef(r); Cudd_IterDerefBdd(manager, t); Cudd_IterDerefBdd(manager, e); cuddDeref(r); } else if (t == e) { r = t; cuddDeref(t); cuddDeref(e); } else { if (Cudd_IsComplement(t)) { r = cuddUniqueInter(manager,(int)index,Cudd_Not(t),Cudd_Not(e)); if (r == NULL) { Cudd_IterDerefBdd(manager, t); Cudd_IterDerefBdd(manager, e); return(NULL); } r = Cudd_Not(r); } else { r = cuddUniqueInter(manager,(int)index,t,e); if (r == NULL) { Cudd_IterDerefBdd(manager, t); Cudd_IterDerefBdd(manager, e); return(NULL); } } cuddDeref(e); cuddDeref(t); } cuddCacheInsert(manager, DD_BDD_XOR_EXIST_ABSTRACT_TAG, f, g, cube, r); return (r); } /* end of cuddBddXorExistAbstractRecur */ /**Function******************************************************************** Synopsis [Performs the recursive steps of Cudd_bddBoleanDiff.] Description [Performs the recursive steps of Cudd_bddBoleanDiff. Returns the BDD obtained by XORing the cofactors of f with respect to var if successful; NULL otherwise. Exploits the fact that dF/dx = dF'/dx.] SideEffects [None] SeeAlso [] ******************************************************************************/ DdNode * cuddBddBooleanDiffRecur( DdManager * manager, DdNode * f, DdNode * var) { DdNode *T, *E, *res, *res1, *res2; statLine(manager); if (cuddI(manager,f->index) > manager->perm[var->index]) { /* f does not depend on var. */ return(Cudd_Not(DD_ONE(manager))); } /* From now on, f is non-constant. */ /* If the two indices are the same, so are their levels. */ if (f->index == var->index) { res = cuddBddXorRecur(manager, cuddT(f), cuddE(f)); return(res); } /* From now on, cuddI(manager,f->index) < cuddI(manager,cube->index). */ /* Check the cache. */ res = cuddCacheLookup2(manager, cuddBddBooleanDiffRecur, f, var); if (res != NULL) { return(res); } /* Compute the cofactors of f. */ T = cuddT(f); E = cuddE(f); res1 = cuddBddBooleanDiffRecur(manager, T, var); if (res1 == NULL) return(NULL); cuddRef(res1); res2 = cuddBddBooleanDiffRecur(manager, Cudd_Regular(E), var); if (res2 == NULL) { Cudd_IterDerefBdd(manager, res1); return(NULL); } cuddRef(res2); /* ITE takes care of possible complementation of res1 and of the ** case in which res1 == res2. */ res = cuddBddIteRecur(manager, manager->vars[f->index], res1, res2); if (res == NULL) { Cudd_IterDerefBdd(manager, res1); Cudd_IterDerefBdd(manager, res2); return(NULL); } cuddDeref(res1); cuddDeref(res2); cuddCacheInsert2(manager, cuddBddBooleanDiffRecur, f, var, res); return(res); } /* end of cuddBddBooleanDiffRecur */ /*---------------------------------------------------------------------------*/ /* Definition of static functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Checks whether cube is an BDD representing the product of positive literals.] Description [Returns 1 in case of success; 0 otherwise.] SideEffects [None] ******************************************************************************/ static int bddCheckPositiveCube( DdManager * manager, DdNode * cube) { if (Cudd_IsComplement(cube)) return(0); if (cube == DD_ONE(manager)) return(1); if (cuddIsConstant(cube)) return(0); if (cuddE(cube) == Cudd_Not(DD_ONE(manager))) { return(bddCheckPositiveCube(manager, cuddT(cube))); } return(0); } /* end of bddCheckPositiveCube */ BRiAl-1.2.12/cudd/cuddBddCorr.c000066400000000000000000000343401436062512100157740ustar00rootroot00000000000000/**CFile*********************************************************************** FileName [cuddBddCorr.c] PackageName [cudd] Synopsis [Correlation between BDDs.] Description [External procedures included in this module:
  • Cudd_bddCorrelation()
  • Cudd_bddCorrelationWeights()
Static procedures included in this module:
  • bddCorrelationAux()
  • bddCorrelationWeightsAux()
  • CorrelCompare()
  • CorrelHash()
  • CorrelCleanUp()
] Author [Fabio Somenzi] Copyright [Copyright (c) 1995-2012, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.] ******************************************************************************/ #include "util.h" #include "cuddInt.h" /*---------------------------------------------------------------------------*/ /* Constant declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Stucture declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Type declarations */ /*---------------------------------------------------------------------------*/ typedef struct hashEntry { DdNode *f; DdNode *g; } HashEntry; /*---------------------------------------------------------------------------*/ /* Variable declarations */ /*---------------------------------------------------------------------------*/ #ifndef lint static char rcsid[] DD_UNUSED = "$Id: cuddBddCorr.c,v 1.15 2012/02/05 01:07:18 fabio Exp $"; #endif #ifdef CORREL_STATS static int num_calls; #endif /*---------------------------------------------------------------------------*/ /* Macro declarations */ /*---------------------------------------------------------------------------*/ #ifdef __cplusplus extern "C" { #endif /**AutomaticStart*************************************************************/ /*---------------------------------------------------------------------------*/ /* Static function prototypes */ /*---------------------------------------------------------------------------*/ static double bddCorrelationAux (DdManager *dd, DdNode *f, DdNode *g, st_table *table); static double bddCorrelationWeightsAux (DdManager *dd, DdNode *f, DdNode *g, double *prob, st_table *table); static int CorrelCompare (const char *key1, const char *key2); static int CorrelHash (char *key, int modulus); static enum st_retval CorrelCleanUp (char *key, char *value, char *arg); /**AutomaticEnd***************************************************************/ #ifdef __cplusplus } #endif /*---------------------------------------------------------------------------*/ /* Definition of exported functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Computes the correlation of f and g.] Description [Computes the correlation of f and g. If f == g, their correlation is 1. If f == g', their correlation is 0. Returns the fraction of minterms in the ON-set of the EXNOR of f and g. If it runs out of memory, returns (double)CUDD_OUT_OF_MEM.] SideEffects [None] SeeAlso [Cudd_bddCorrelationWeights] ******************************************************************************/ double Cudd_bddCorrelation( DdManager * manager, DdNode * f, DdNode * g) { st_table *table; double correlation; #ifdef CORREL_STATS num_calls = 0; #endif table = st_init_table(CorrelCompare,CorrelHash); if (table == NULL) return((double)CUDD_OUT_OF_MEM); correlation = bddCorrelationAux(manager,f,g,table); st_foreach(table, CorrelCleanUp, NIL(char)); st_free_table(table); return(correlation); } /* end of Cudd_bddCorrelation */ /**Function******************************************************************** Synopsis [Computes the correlation of f and g for given input probabilities.] Description [Computes the correlation of f and g for given input probabilities. On input, prob\[i\] is supposed to contain the probability of the i-th input variable to be 1. If f == g, their correlation is 1. If f == g', their correlation is 0. Returns the probability that f and g have the same value. If it runs out of memory, returns (double)CUDD_OUT_OF_MEM. The correlation of f and the constant one gives the probability of f.] SideEffects [None] SeeAlso [Cudd_bddCorrelation] ******************************************************************************/ double Cudd_bddCorrelationWeights( DdManager * manager, DdNode * f, DdNode * g, double * prob) { st_table *table; double correlation; #ifdef CORREL_STATS num_calls = 0; #endif table = st_init_table(CorrelCompare,CorrelHash); if (table == NULL) return((double)CUDD_OUT_OF_MEM); correlation = bddCorrelationWeightsAux(manager,f,g,prob,table); st_foreach(table, CorrelCleanUp, NIL(char)); st_free_table(table); return(correlation); } /* end of Cudd_bddCorrelationWeights */ /*---------------------------------------------------------------------------*/ /* Definition of internal functions */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Definition of static functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_bddCorrelation.] Description [Performs the recursive step of Cudd_bddCorrelation. Returns the fraction of minterms in the ON-set of the EXNOR of f and g.] SideEffects [None] SeeAlso [bddCorrelationWeightsAux] ******************************************************************************/ static double bddCorrelationAux( DdManager * dd, DdNode * f, DdNode * g, st_table * table) { DdNode *Fv, *Fnv, *G, *Gv, *Gnv; double min, *pmin, min1, min2, *dummy; HashEntry *entry; unsigned int topF, topG; statLine(dd); #ifdef CORREL_STATS num_calls++; #endif /* Terminal cases: only work for BDDs. */ if (f == g) return(1.0); if (f == Cudd_Not(g)) return(0.0); /* Standardize call using the following properties: ** (f EXNOR g) = (g EXNOR f) ** (f' EXNOR g') = (f EXNOR g). */ if (f > g) { DdNode *tmp = f; f = g; g = tmp; } if (Cudd_IsComplement(f)) { f = Cudd_Not(f); g = Cudd_Not(g); } /* From now on, f is regular. */ entry = ALLOC(HashEntry,1); if (entry == NULL) { dd->errorCode = CUDD_MEMORY_OUT; return(CUDD_OUT_OF_MEM); } entry->f = f; entry->g = g; /* We do not use the fact that ** correlation(f,g') = 1 - correlation(f,g) ** to minimize the risk of cancellation. */ if (st_lookup(table, entry, &dummy)) { min = *dummy; FREE(entry); return(min); } G = Cudd_Regular(g); topF = cuddI(dd,f->index); topG = cuddI(dd,G->index); if (topF <= topG) { Fv = cuddT(f); Fnv = cuddE(f); } else { Fv = Fnv = f; } if (topG <= topF) { Gv = cuddT(G); Gnv = cuddE(G); } else { Gv = Gnv = G; } if (g != G) { Gv = Cudd_Not(Gv); Gnv = Cudd_Not(Gnv); } min1 = bddCorrelationAux(dd, Fv, Gv, table) / 2.0; if (min1 == (double)CUDD_OUT_OF_MEM) { FREE(entry); return(CUDD_OUT_OF_MEM); } min2 = bddCorrelationAux(dd, Fnv, Gnv, table) / 2.0; if (min2 == (double)CUDD_OUT_OF_MEM) { FREE(entry); return(CUDD_OUT_OF_MEM); } min = (min1+min2); pmin = ALLOC(double,1); if (pmin == NULL) { dd->errorCode = CUDD_MEMORY_OUT; return((double)CUDD_OUT_OF_MEM); } *pmin = min; if (st_insert(table,(char *)entry, (char *)pmin) == ST_OUT_OF_MEM) { FREE(entry); FREE(pmin); return((double)CUDD_OUT_OF_MEM); } return(min); } /* end of bddCorrelationAux */ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_bddCorrelationWeigths.] Description [] SideEffects [None] SeeAlso [bddCorrelationAux] ******************************************************************************/ static double bddCorrelationWeightsAux( DdManager * dd, DdNode * f, DdNode * g, double * prob, st_table * table) { DdNode *Fv, *Fnv, *G, *Gv, *Gnv; double min, *pmin, min1, min2, *dummy; HashEntry *entry; int topF, topG, index; statLine(dd); #ifdef CORREL_STATS num_calls++; #endif /* Terminal cases: only work for BDDs. */ if (f == g) return(1.0); if (f == Cudd_Not(g)) return(0.0); /* Standardize call using the following properties: ** (f EXNOR g) = (g EXNOR f) ** (f' EXNOR g') = (f EXNOR g). */ if (f > g) { DdNode *tmp = f; f = g; g = tmp; } if (Cudd_IsComplement(f)) { f = Cudd_Not(f); g = Cudd_Not(g); } /* From now on, f is regular. */ entry = ALLOC(HashEntry,1); if (entry == NULL) { dd->errorCode = CUDD_MEMORY_OUT; return((double)CUDD_OUT_OF_MEM); } entry->f = f; entry->g = g; /* We do not use the fact that ** correlation(f,g') = 1 - correlation(f,g) ** to minimize the risk of cancellation. */ if (st_lookup(table, entry, &dummy)) { min = *dummy; FREE(entry); return(min); } G = Cudd_Regular(g); topF = cuddI(dd,f->index); topG = cuddI(dd,G->index); if (topF <= topG) { Fv = cuddT(f); Fnv = cuddE(f); index = f->index; } else { Fv = Fnv = f; index = G->index; } if (topG <= topF) { Gv = cuddT(G); Gnv = cuddE(G); } else { Gv = Gnv = G; } if (g != G) { Gv = Cudd_Not(Gv); Gnv = Cudd_Not(Gnv); } min1 = bddCorrelationWeightsAux(dd, Fv, Gv, prob, table) * prob[index]; if (min1 == (double)CUDD_OUT_OF_MEM) { FREE(entry); return((double)CUDD_OUT_OF_MEM); } min2 = bddCorrelationWeightsAux(dd, Fnv, Gnv, prob, table) * (1.0 - prob[index]); if (min2 == (double)CUDD_OUT_OF_MEM) { FREE(entry); return((double)CUDD_OUT_OF_MEM); } min = (min1+min2); pmin = ALLOC(double,1); if (pmin == NULL) { dd->errorCode = CUDD_MEMORY_OUT; return((double)CUDD_OUT_OF_MEM); } *pmin = min; if (st_insert(table,(char *)entry, (char *)pmin) == ST_OUT_OF_MEM) { FREE(entry); FREE(pmin); return((double)CUDD_OUT_OF_MEM); } return(min); } /* end of bddCorrelationWeightsAux */ /**Function******************************************************************** Synopsis [Compares two hash table entries.] Description [Compares two hash table entries. Returns 0 if they are identical; 1 otherwise.] SideEffects [None] ******************************************************************************/ static int CorrelCompare( const char * key1, const char * key2) { HashEntry *entry1; HashEntry *entry2; entry1 = (HashEntry *) key1; entry2 = (HashEntry *) key2; if (entry1->f != entry2->f || entry1->g != entry2->g) return(1); return(0); } /* end of CorrelCompare */ /**Function******************************************************************** Synopsis [Hashes a hash table entry.] Description [Hashes a hash table entry. It is patterned after st_strhash. Returns a value between 0 and modulus.] SideEffects [None] ******************************************************************************/ static int CorrelHash( char * key, int modulus) { HashEntry *entry; int val = 0; entry = (HashEntry *) key; #if SIZEOF_VOID_P == 8 && SIZEOF_INT == 4 val = ((int) ((long)entry->f))*997 + ((int) ((long)entry->g)); #else val = ((int) entry->f)*997 + ((int) entry->g); #endif return ((val < 0) ? -val : val) % modulus; } /* end of CorrelHash */ /**Function******************************************************************** Synopsis [Frees memory associated with hash table.] Description [Frees memory associated with hash table. Returns ST_CONTINUE.] SideEffects [None] ******************************************************************************/ static enum st_retval CorrelCleanUp( char * key, char * value, char * arg) { double *d; HashEntry *entry; entry = (HashEntry *) key; FREE(entry); d = (double *)value; FREE(d); return ST_CONTINUE; } /* end of CorrelCleanUp */ BRiAl-1.2.12/cudd/cuddBddIte.c000066400000000000000000001106051436062512100156070ustar00rootroot00000000000000/**CFile*********************************************************************** FileName [cuddBddIte.c] PackageName [cudd] Synopsis [BDD ITE function and satellites.] Description [External procedures included in this module:
  • Cudd_bddIte()
  • Cudd_bddIteLimit()
  • Cudd_bddIteConstant()
  • Cudd_bddIntersect()
  • Cudd_bddAnd()
  • Cudd_bddAndLimit()
  • Cudd_bddOr()
  • Cudd_bddOrLimit()
  • Cudd_bddNand()
  • Cudd_bddNor()
  • Cudd_bddXor()
  • Cudd_bddXnor()
  • Cudd_bddXnorLimit()
  • Cudd_bddLeq()
Internal procedures included in this module:
  • cuddBddIteRecur()
  • cuddBddIntersectRecur()
  • cuddBddAndRecur()
  • cuddBddXorRecur()
Static procedures included in this module:
  • bddVarToConst()
  • bddVarToCanonical()
  • bddVarToCanonicalSimple()
] SeeAlso [] Author [Fabio Somenzi] Copyright [Copyright (c) 1995-2012, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.] ******************************************************************************/ #include "util.h" #include "cuddInt.h" /*---------------------------------------------------------------------------*/ /* Constant declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Stucture declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Type declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Variable declarations */ /*---------------------------------------------------------------------------*/ #ifndef lint static char rcsid[] DD_UNUSED = "$Id: cuddBddIte.c,v 1.26 2012/02/05 01:07:18 fabio Exp $"; #endif /*---------------------------------------------------------------------------*/ /* Macro declarations */ /*---------------------------------------------------------------------------*/ /**AutomaticStart*************************************************************/ /*---------------------------------------------------------------------------*/ /* Static function prototypes */ /*---------------------------------------------------------------------------*/ static void bddVarToConst (DdNode *f, DdNode **gp, DdNode **hp, DdNode *one); static int bddVarToCanonical (DdManager *dd, DdNode **fp, DdNode **gp, DdNode **hp, unsigned int *topfp, unsigned int *topgp, unsigned int *tophp); static int bddVarToCanonicalSimple (DdManager *dd, DdNode **fp, DdNode **gp, DdNode **hp, unsigned int *topfp, unsigned int *topgp, unsigned int *tophp); /**AutomaticEnd***************************************************************/ /*---------------------------------------------------------------------------*/ /* Definition of exported functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Implements ITE(f,g,h).] Description [Implements ITE(f,g,h). Returns a pointer to the resulting BDD if successful; NULL if the intermediate result blows up.] SideEffects [None] SeeAlso [Cudd_addIte Cudd_bddIteConstant Cudd_bddIntersect] ******************************************************************************/ DdNode * Cudd_bddIte( DdManager * dd, DdNode * f, DdNode * g, DdNode * h) { DdNode *res; do { dd->reordered = 0; res = cuddBddIteRecur(dd,f,g,h); } while (dd->reordered == 1); return(res); } /* end of Cudd_bddIte */ /**Function******************************************************************** Synopsis [Implements ITE(f,g,h). Returns NULL if too many nodes are required.] Description [Implements ITE(f,g,h). Returns a pointer to the resulting BDD if successful; NULL if the intermediate result blows up or more new nodes than limit are required.] SideEffects [None] SeeAlso [Cudd_bddIte] ******************************************************************************/ DdNode * Cudd_bddIteLimit( DdManager * dd, DdNode * f, DdNode * g, DdNode * h, unsigned int limit) { DdNode *res; unsigned int saveLimit = dd->maxLive; dd->maxLive = (dd->keys - dd->dead) + (dd->keysZ - dd->deadZ) + limit; do { dd->reordered = 0; res = cuddBddIteRecur(dd,f,g,h); } while (dd->reordered == 1); dd->maxLive = saveLimit; return(res); } /* end of Cudd_bddIteLimit */ /**Function******************************************************************** Synopsis [Implements ITEconstant(f,g,h).] Description [Implements ITEconstant(f,g,h). Returns a pointer to the resulting BDD (which may or may not be constant) or DD_NON_CONSTANT. No new nodes are created.] SideEffects [None] SeeAlso [Cudd_bddIte Cudd_bddIntersect Cudd_bddLeq Cudd_addIteConstant] ******************************************************************************/ DdNode * Cudd_bddIteConstant( DdManager * dd, DdNode * f, DdNode * g, DdNode * h) { DdNode *r, *Fv, *Fnv, *Gv, *Gnv, *H, *Hv, *Hnv, *t, *e; DdNode *one = DD_ONE(dd); DdNode *zero = Cudd_Not(one); int comple; unsigned int topf, topg, toph, v; statLine(dd); /* Trivial cases. */ if (f == one) /* ITE(1,G,H) => G */ return(g); if (f == zero) /* ITE(0,G,H) => H */ return(h); /* f now not a constant. */ bddVarToConst(f, &g, &h, one); /* possibly convert g or h */ /* to constants */ if (g == h) /* ITE(F,G,G) => G */ return(g); if (Cudd_IsConstant(g) && Cudd_IsConstant(h)) return(DD_NON_CONSTANT); /* ITE(F,1,0) or ITE(F,0,1) */ /* => DD_NON_CONSTANT */ if (g == Cudd_Not(h)) return(DD_NON_CONSTANT); /* ITE(F,G,G') => DD_NON_CONSTANT */ /* if F != G and F != G' */ comple = bddVarToCanonical(dd, &f, &g, &h, &topf, &topg, &toph); /* Cache lookup. */ r = cuddConstantLookup(dd, DD_BDD_ITE_CONSTANT_TAG, f, g, h); if (r != NULL) { return(Cudd_NotCond(r,comple && r != DD_NON_CONSTANT)); } v = ddMin(topg, toph); /* ITE(F,G,H) = (v,G,H) (non constant) if F = (v,1,0), v < top(G,H). */ if (topf < v && cuddT(f) == one && cuddE(f) == zero) { return(DD_NON_CONSTANT); } /* Compute cofactors. */ if (topf <= v) { v = ddMin(topf, v); /* v = top_var(F,G,H) */ Fv = cuddT(f); Fnv = cuddE(f); } else { Fv = Fnv = f; } if (topg == v) { Gv = cuddT(g); Gnv = cuddE(g); } else { Gv = Gnv = g; } if (toph == v) { H = Cudd_Regular(h); Hv = cuddT(H); Hnv = cuddE(H); if (Cudd_IsComplement(h)) { Hv = Cudd_Not(Hv); Hnv = Cudd_Not(Hnv); } } else { Hv = Hnv = h; } /* Recursion. */ t = Cudd_bddIteConstant(dd, Fv, Gv, Hv); if (t == DD_NON_CONSTANT || !Cudd_IsConstant(t)) { cuddCacheInsert(dd, DD_BDD_ITE_CONSTANT_TAG, f, g, h, DD_NON_CONSTANT); return(DD_NON_CONSTANT); } e = Cudd_bddIteConstant(dd, Fnv, Gnv, Hnv); if (e == DD_NON_CONSTANT || !Cudd_IsConstant(e) || t != e) { cuddCacheInsert(dd, DD_BDD_ITE_CONSTANT_TAG, f, g, h, DD_NON_CONSTANT); return(DD_NON_CONSTANT); } cuddCacheInsert(dd, DD_BDD_ITE_CONSTANT_TAG, f, g, h, t); return(Cudd_NotCond(t,comple)); } /* end of Cudd_bddIteConstant */ /**Function******************************************************************** Synopsis [Returns a function included in the intersection of f and g.] Description [Computes a function included in the intersection of f and g. (That is, a witness that the intersection is not empty.) Cudd_bddIntersect tries to build as few new nodes as possible. If the only result of interest is whether f and g intersect, Cudd_bddLeq should be used instead.] SideEffects [None] SeeAlso [Cudd_bddLeq Cudd_bddIteConstant] ******************************************************************************/ DdNode * Cudd_bddIntersect( DdManager * dd /* manager */, DdNode * f /* first operand */, DdNode * g /* second operand */) { DdNode *res; do { dd->reordered = 0; res = cuddBddIntersectRecur(dd,f,g); } while (dd->reordered == 1); return(res); } /* end of Cudd_bddIntersect */ /**Function******************************************************************** Synopsis [Computes the conjunction of two BDDs f and g.] Description [Computes the conjunction of two BDDs f and g. Returns a pointer to the resulting BDD if successful; NULL if the intermediate result blows up.] SideEffects [None] SeeAlso [Cudd_bddIte Cudd_addApply Cudd_bddAndAbstract Cudd_bddIntersect Cudd_bddOr Cudd_bddNand Cudd_bddNor Cudd_bddXor Cudd_bddXnor] ******************************************************************************/ DdNode * Cudd_bddAnd( DdManager * dd, DdNode * f, DdNode * g) { DdNode *res; do { dd->reordered = 0; res = cuddBddAndRecur(dd,f,g); } while (dd->reordered == 1); return(res); } /* end of Cudd_bddAnd */ /**Function******************************************************************** Synopsis [Computes the conjunction of two BDDs f and g. Returns NULL if too many nodes are required.] Description [Computes the conjunction of two BDDs f and g. Returns a pointer to the resulting BDD if successful; NULL if the intermediate result blows up or more new nodes than limit are required.] SideEffects [None] SeeAlso [Cudd_bddAnd] ******************************************************************************/ DdNode * Cudd_bddAndLimit( DdManager * dd, DdNode * f, DdNode * g, unsigned int limit) { DdNode *res; unsigned int saveLimit = dd->maxLive; dd->maxLive = (dd->keys - dd->dead) + (dd->keysZ - dd->deadZ) + limit; do { dd->reordered = 0; res = cuddBddAndRecur(dd,f,g); } while (dd->reordered == 1); dd->maxLive = saveLimit; return(res); } /* end of Cudd_bddAndLimit */ /**Function******************************************************************** Synopsis [Computes the disjunction of two BDDs f and g.] Description [Computes the disjunction of two BDDs f and g. Returns a pointer to the resulting BDD if successful; NULL if the intermediate result blows up.] SideEffects [None] SeeAlso [Cudd_bddIte Cudd_addApply Cudd_bddAnd Cudd_bddNand Cudd_bddNor Cudd_bddXor Cudd_bddXnor] ******************************************************************************/ DdNode * Cudd_bddOr( DdManager * dd, DdNode * f, DdNode * g) { DdNode *res; do { dd->reordered = 0; res = cuddBddAndRecur(dd,Cudd_Not(f),Cudd_Not(g)); } while (dd->reordered == 1); res = Cudd_NotCond(res,res != NULL); return(res); } /* end of Cudd_bddOr */ /**Function******************************************************************** Synopsis [Computes the disjunction of two BDDs f and g. Returns NULL if too many nodes are required.] Description [Computes the disjunction of two BDDs f and g. Returns a pointer to the resulting BDD if successful; NULL if the intermediate result blows up or more new nodes than limit are required.] SideEffects [None] SeeAlso [Cudd_bddOr] ******************************************************************************/ DdNode * Cudd_bddOrLimit( DdManager * dd, DdNode * f, DdNode * g, unsigned int limit) { DdNode *res; unsigned int saveLimit = dd->maxLive; dd->maxLive = (dd->keys - dd->dead) + (dd->keysZ - dd->deadZ) + limit; do { dd->reordered = 0; res = cuddBddAndRecur(dd,Cudd_Not(f),Cudd_Not(g)); } while (dd->reordered == 1); dd->maxLive = saveLimit; res = Cudd_NotCond(res,res != NULL); return(res); } /* end of Cudd_bddOrLimit */ /**Function******************************************************************** Synopsis [Computes the NAND of two BDDs f and g.] Description [Computes the NAND of two BDDs f and g. Returns a pointer to the resulting BDD if successful; NULL if the intermediate result blows up.] SideEffects [None] SeeAlso [Cudd_bddIte Cudd_addApply Cudd_bddAnd Cudd_bddOr Cudd_bddNor Cudd_bddXor Cudd_bddXnor] ******************************************************************************/ DdNode * Cudd_bddNand( DdManager * dd, DdNode * f, DdNode * g) { DdNode *res; do { dd->reordered = 0; res = cuddBddAndRecur(dd,f,g); } while (dd->reordered == 1); res = Cudd_NotCond(res,res != NULL); return(res); } /* end of Cudd_bddNand */ /**Function******************************************************************** Synopsis [Computes the NOR of two BDDs f and g.] Description [Computes the NOR of two BDDs f and g. Returns a pointer to the resulting BDD if successful; NULL if the intermediate result blows up.] SideEffects [None] SeeAlso [Cudd_bddIte Cudd_addApply Cudd_bddAnd Cudd_bddOr Cudd_bddNand Cudd_bddXor Cudd_bddXnor] ******************************************************************************/ DdNode * Cudd_bddNor( DdManager * dd, DdNode * f, DdNode * g) { DdNode *res; do { dd->reordered = 0; res = cuddBddAndRecur(dd,Cudd_Not(f),Cudd_Not(g)); } while (dd->reordered == 1); return(res); } /* end of Cudd_bddNor */ /**Function******************************************************************** Synopsis [Computes the exclusive OR of two BDDs f and g.] Description [Computes the exclusive OR of two BDDs f and g. Returns a pointer to the resulting BDD if successful; NULL if the intermediate result blows up.] SideEffects [None] SeeAlso [Cudd_bddIte Cudd_addApply Cudd_bddAnd Cudd_bddOr Cudd_bddNand Cudd_bddNor Cudd_bddXnor] ******************************************************************************/ DdNode * Cudd_bddXor( DdManager * dd, DdNode * f, DdNode * g) { DdNode *res; do { dd->reordered = 0; res = cuddBddXorRecur(dd,f,g); } while (dd->reordered == 1); return(res); } /* end of Cudd_bddXor */ /**Function******************************************************************** Synopsis [Computes the exclusive NOR of two BDDs f and g.] Description [Computes the exclusive NOR of two BDDs f and g. Returns a pointer to the resulting BDD if successful; NULL if the intermediate result blows up.] SideEffects [None] SeeAlso [Cudd_bddIte Cudd_addApply Cudd_bddAnd Cudd_bddOr Cudd_bddNand Cudd_bddNor Cudd_bddXor] ******************************************************************************/ DdNode * Cudd_bddXnor( DdManager * dd, DdNode * f, DdNode * g) { DdNode *res; do { dd->reordered = 0; res = cuddBddXorRecur(dd,f,Cudd_Not(g)); } while (dd->reordered == 1); return(res); } /* end of Cudd_bddXnor */ /**Function******************************************************************** Synopsis [Computes the exclusive NOR of two BDDs f and g. Returns NULL if too many nodes are required.] Description [Computes the exclusive NOR of two BDDs f and g. Returns a pointer to the resulting BDD if successful; NULL if the intermediate result blows up or more new nodes than limit are required.] SideEffects [None] SeeAlso [Cudd_bddXnor] ******************************************************************************/ DdNode * Cudd_bddXnorLimit( DdManager * dd, DdNode * f, DdNode * g, unsigned int limit) { DdNode *res; unsigned int saveLimit = dd->maxLive; dd->maxLive = (dd->keys - dd->dead) + (dd->keysZ - dd->deadZ) + limit; do { dd->reordered = 0; res = cuddBddXorRecur(dd,f,Cudd_Not(g)); } while (dd->reordered == 1); dd->maxLive = saveLimit; return(res); } /* end of Cudd_bddXnorLimit */ /**Function******************************************************************** Synopsis [Determines whether f is less than or equal to g.] Description [Returns 1 if f is less than or equal to g; 0 otherwise. No new nodes are created.] SideEffects [None] SeeAlso [Cudd_bddIteConstant Cudd_addEvalConst] ******************************************************************************/ int Cudd_bddLeq( DdManager * dd, DdNode * f, DdNode * g) { DdNode *one, *zero, *tmp, *F, *fv, *fvn, *gv, *gvn; unsigned int topf, topg, res; statLine(dd); /* Terminal cases and normalization. */ if (f == g) return(1); if (Cudd_IsComplement(g)) { /* Special case: if f is regular and g is complemented, ** f(1,...,1) = 1 > 0 = g(1,...,1). */ if (!Cudd_IsComplement(f)) return(0); /* Both are complemented: Swap and complement because ** f <= g <=> g' <= f' and we want the second argument to be regular. */ tmp = g; g = Cudd_Not(f); f = Cudd_Not(tmp); } else if (Cudd_IsComplement(f) && g < f) { tmp = g; g = Cudd_Not(f); f = Cudd_Not(tmp); } /* Now g is regular and, if f is not regular, f < g. */ one = DD_ONE(dd); if (g == one) return(1); /* no need to test against zero */ if (f == one) return(0); /* since at this point g != one */ if (Cudd_Not(f) == g) return(0); /* because neither is constant */ zero = Cudd_Not(one); if (f == zero) return(1); /* Here neither f nor g is constant. */ /* Check cache. */ tmp = cuddCacheLookup2(dd,(DD_CTFP)Cudd_bddLeq,f,g); if (tmp != NULL) { return(tmp == one); } /* Compute cofactors. */ F = Cudd_Regular(f); topf = dd->perm[F->index]; topg = dd->perm[g->index]; if (topf <= topg) { fv = cuddT(F); fvn = cuddE(F); if (f != F) { fv = Cudd_Not(fv); fvn = Cudd_Not(fvn); } } else { fv = fvn = f; } if (topg <= topf) { gv = cuddT(g); gvn = cuddE(g); } else { gv = gvn = g; } /* Recursive calls. Since we want to maximize the probability of ** the special case f(1,...,1) > g(1,...,1), we consider the negative ** cofactors first. Indeed, the complementation parity of the positive ** cofactors is the same as the one of the parent functions. */ res = Cudd_bddLeq(dd,fvn,gvn) && Cudd_bddLeq(dd,fv,gv); /* Store result in cache and return. */ cuddCacheInsert2(dd,(DD_CTFP)Cudd_bddLeq,f,g,(res ? one : zero)); return(res); } /* end of Cudd_bddLeq */ /*---------------------------------------------------------------------------*/ /* Definition of internal functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Implements the recursive step of Cudd_bddIte.] Description [Implements the recursive step of Cudd_bddIte. Returns a pointer to the resulting BDD. NULL if the intermediate result blows up or if reordering occurs.] SideEffects [None] SeeAlso [] ******************************************************************************/ DdNode * cuddBddIteRecur( DdManager * dd, DdNode * f, DdNode * g, DdNode * h) { DdNode *one, *zero, *res; DdNode *r, *Fv, *Fnv, *Gv, *Gnv, *H, *Hv, *Hnv, *t, *e; unsigned int topf, topg, toph, v; int index; int comple; statLine(dd); /* Terminal cases. */ /* One variable cases. */ if (f == (one = DD_ONE(dd))) /* ITE(1,G,H) = G */ return(g); if (f == (zero = Cudd_Not(one))) /* ITE(0,G,H) = H */ return(h); /* From now on, f is known not to be a constant. */ if (g == one || f == g) { /* ITE(F,F,H) = ITE(F,1,H) = F + H */ if (h == zero) { /* ITE(F,1,0) = F */ return(f); } else { res = cuddBddAndRecur(dd,Cudd_Not(f),Cudd_Not(h)); return(Cudd_NotCond(res,res != NULL)); } } else if (g == zero || f == Cudd_Not(g)) { /* ITE(F,!F,H) = ITE(F,0,H) = !F * H */ if (h == one) { /* ITE(F,0,1) = !F */ return(Cudd_Not(f)); } else { res = cuddBddAndRecur(dd,Cudd_Not(f),h); return(res); } } if (h == zero || f == h) { /* ITE(F,G,F) = ITE(F,G,0) = F * G */ res = cuddBddAndRecur(dd,f,g); return(res); } else if (h == one || f == Cudd_Not(h)) { /* ITE(F,G,!F) = ITE(F,G,1) = !F + G */ res = cuddBddAndRecur(dd,f,Cudd_Not(g)); return(Cudd_NotCond(res,res != NULL)); } /* Check remaining one variable case. */ if (g == h) { /* ITE(F,G,G) = G */ return(g); } else if (g == Cudd_Not(h)) { /* ITE(F,G,!G) = F <-> G */ res = cuddBddXorRecur(dd,f,h); return(res); } /* From here, there are no constants. */ comple = bddVarToCanonicalSimple(dd, &f, &g, &h, &topf, &topg, &toph); /* f & g are now regular pointers */ v = ddMin(topg, toph); /* A shortcut: ITE(F,G,H) = (v,G,H) if F = (v,1,0), v < top(G,H). */ if (topf < v && cuddT(f) == one && cuddE(f) == zero) { r = cuddUniqueInter(dd, (int) f->index, g, h); return(Cudd_NotCond(r,comple && r != NULL)); } /* Check cache. */ r = cuddCacheLookup(dd, DD_BDD_ITE_TAG, f, g, h); if (r != NULL) { return(Cudd_NotCond(r,comple)); } /* Compute cofactors. */ if (topf <= v) { v = ddMin(topf, v); /* v = top_var(F,G,H) */ index = f->index; Fv = cuddT(f); Fnv = cuddE(f); } else { Fv = Fnv = f; } if (topg == v) { index = g->index; Gv = cuddT(g); Gnv = cuddE(g); } else { Gv = Gnv = g; } if (toph == v) { H = Cudd_Regular(h); index = H->index; Hv = cuddT(H); Hnv = cuddE(H); if (Cudd_IsComplement(h)) { Hv = Cudd_Not(Hv); Hnv = Cudd_Not(Hnv); } } else { Hv = Hnv = h; } /* Recursive step. */ t = cuddBddIteRecur(dd,Fv,Gv,Hv); if (t == NULL) return(NULL); cuddRef(t); e = cuddBddIteRecur(dd,Fnv,Gnv,Hnv); if (e == NULL) { Cudd_IterDerefBdd(dd,t); return(NULL); } cuddRef(e); r = (t == e) ? t : cuddUniqueInter(dd,index,t,e); if (r == NULL) { Cudd_IterDerefBdd(dd,t); Cudd_IterDerefBdd(dd,e); return(NULL); } cuddDeref(t); cuddDeref(e); cuddCacheInsert(dd, DD_BDD_ITE_TAG, f, g, h, r); return(Cudd_NotCond(r,comple)); } /* end of cuddBddIteRecur */ /**Function******************************************************************** Synopsis [Implements the recursive step of Cudd_bddIntersect.] Description [] SideEffects [None] SeeAlso [Cudd_bddIntersect] ******************************************************************************/ DdNode * cuddBddIntersectRecur( DdManager * dd, DdNode * f, DdNode * g) { DdNode *res; DdNode *F, *G, *t, *e; DdNode *fv, *fnv, *gv, *gnv; DdNode *one, *zero; unsigned int index, topf, topg; statLine(dd); one = DD_ONE(dd); zero = Cudd_Not(one); /* Terminal cases. */ if (f == zero || g == zero || f == Cudd_Not(g)) return(zero); if (f == g || g == one) return(f); if (f == one) return(g); /* At this point f and g are not constant. */ if (f > g) { DdNode *tmp = f; f = g; g = tmp; } res = cuddCacheLookup2(dd,Cudd_bddIntersect,f,g); if (res != NULL) return(res); /* Find splitting variable. Here we can skip the use of cuddI, ** because the operands are known to be non-constant. */ F = Cudd_Regular(f); topf = dd->perm[F->index]; G = Cudd_Regular(g); topg = dd->perm[G->index]; /* Compute cofactors. */ if (topf <= topg) { index = F->index; fv = cuddT(F); fnv = cuddE(F); if (Cudd_IsComplement(f)) { fv = Cudd_Not(fv); fnv = Cudd_Not(fnv); } } else { index = G->index; fv = fnv = f; } if (topg <= topf) { gv = cuddT(G); gnv = cuddE(G); if (Cudd_IsComplement(g)) { gv = Cudd_Not(gv); gnv = Cudd_Not(gnv); } } else { gv = gnv = g; } /* Compute partial results. */ t = cuddBddIntersectRecur(dd,fv,gv); if (t == NULL) return(NULL); cuddRef(t); if (t != zero) { e = zero; } else { e = cuddBddIntersectRecur(dd,fnv,gnv); if (e == NULL) { Cudd_IterDerefBdd(dd, t); return(NULL); } } cuddRef(e); if (t == e) { /* both equal zero */ res = t; } else if (Cudd_IsComplement(t)) { res = cuddUniqueInter(dd,(int)index,Cudd_Not(t),Cudd_Not(e)); if (res == NULL) { Cudd_IterDerefBdd(dd, t); Cudd_IterDerefBdd(dd, e); return(NULL); } res = Cudd_Not(res); } else { res = cuddUniqueInter(dd,(int)index,t,e); if (res == NULL) { Cudd_IterDerefBdd(dd, t); Cudd_IterDerefBdd(dd, e); return(NULL); } } cuddDeref(e); cuddDeref(t); cuddCacheInsert2(dd,Cudd_bddIntersect,f,g,res); return(res); } /* end of cuddBddIntersectRecur */ /**Function******************************************************************** Synopsis [Implements the recursive step of Cudd_bddAnd.] Description [Implements the recursive step of Cudd_bddAnd by taking the conjunction of two BDDs. Returns a pointer to the result is successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_bddAnd] ******************************************************************************/ DdNode * cuddBddAndRecur( DdManager * manager, DdNode * f, DdNode * g) { DdNode *F, *fv, *fnv, *G, *gv, *gnv; DdNode *one, *r, *t, *e; unsigned int topf, topg, index; statLine(manager); one = DD_ONE(manager); /* Terminal cases. */ F = Cudd_Regular(f); G = Cudd_Regular(g); if (F == G) { if (f == g) return(f); else return(Cudd_Not(one)); } if (F == one) { if (f == one) return(g); else return(f); } if (G == one) { if (g == one) return(f); else return(g); } /* At this point f and g are not constant. */ if (f > g) { /* Try to increase cache efficiency. */ DdNode *tmp = f; f = g; g = tmp; F = Cudd_Regular(f); G = Cudd_Regular(g); } /* Check cache. */ if (F->ref != 1 || G->ref != 1) { r = cuddCacheLookup2(manager, Cudd_bddAnd, f, g); if (r != NULL) return(r); } /* Here we can skip the use of cuddI, because the operands are known ** to be non-constant. */ topf = manager->perm[F->index]; topg = manager->perm[G->index]; /* Compute cofactors. */ if (topf <= topg) { index = F->index; fv = cuddT(F); fnv = cuddE(F); if (Cudd_IsComplement(f)) { fv = Cudd_Not(fv); fnv = Cudd_Not(fnv); } } else { index = G->index; fv = fnv = f; } if (topg <= topf) { gv = cuddT(G); gnv = cuddE(G); if (Cudd_IsComplement(g)) { gv = Cudd_Not(gv); gnv = Cudd_Not(gnv); } } else { gv = gnv = g; } t = cuddBddAndRecur(manager, fv, gv); if (t == NULL) return(NULL); cuddRef(t); e = cuddBddAndRecur(manager, fnv, gnv); if (e == NULL) { Cudd_IterDerefBdd(manager, t); return(NULL); } cuddRef(e); if (t == e) { r = t; } else { if (Cudd_IsComplement(t)) { r = cuddUniqueInter(manager,(int)index,Cudd_Not(t),Cudd_Not(e)); if (r == NULL) { Cudd_IterDerefBdd(manager, t); Cudd_IterDerefBdd(manager, e); return(NULL); } r = Cudd_Not(r); } else { r = cuddUniqueInter(manager,(int)index,t,e); if (r == NULL) { Cudd_IterDerefBdd(manager, t); Cudd_IterDerefBdd(manager, e); return(NULL); } } } cuddDeref(e); cuddDeref(t); if (F->ref != 1 || G->ref != 1) cuddCacheInsert2(manager, Cudd_bddAnd, f, g, r); return(r); } /* end of cuddBddAndRecur */ /**Function******************************************************************** Synopsis [Implements the recursive step of Cudd_bddXor.] Description [Implements the recursive step of Cudd_bddXor by taking the exclusive OR of two BDDs. Returns a pointer to the result is successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_bddXor] ******************************************************************************/ DdNode * cuddBddXorRecur( DdManager * manager, DdNode * f, DdNode * g) { DdNode *fv, *fnv, *G, *gv, *gnv; DdNode *one, *zero, *r, *t, *e; unsigned int topf, topg, index; statLine(manager); one = DD_ONE(manager); zero = Cudd_Not(one); /* Terminal cases. */ if (f == g) return(zero); if (f == Cudd_Not(g)) return(one); if (f > g) { /* Try to increase cache efficiency and simplify tests. */ DdNode *tmp = f; f = g; g = tmp; } if (g == zero) return(f); if (g == one) return(Cudd_Not(f)); if (Cudd_IsComplement(f)) { f = Cudd_Not(f); g = Cudd_Not(g); } /* Now the first argument is regular. */ if (f == one) return(Cudd_Not(g)); /* At this point f and g are not constant. */ /* Check cache. */ r = cuddCacheLookup2(manager, Cudd_bddXor, f, g); if (r != NULL) return(r); /* Here we can skip the use of cuddI, because the operands are known ** to be non-constant. */ topf = manager->perm[f->index]; G = Cudd_Regular(g); topg = manager->perm[G->index]; /* Compute cofactors. */ if (topf <= topg) { index = f->index; fv = cuddT(f); fnv = cuddE(f); } else { index = G->index; fv = fnv = f; } if (topg <= topf) { gv = cuddT(G); gnv = cuddE(G); if (Cudd_IsComplement(g)) { gv = Cudd_Not(gv); gnv = Cudd_Not(gnv); } } else { gv = gnv = g; } t = cuddBddXorRecur(manager, fv, gv); if (t == NULL) return(NULL); cuddRef(t); e = cuddBddXorRecur(manager, fnv, gnv); if (e == NULL) { Cudd_IterDerefBdd(manager, t); return(NULL); } cuddRef(e); if (t == e) { r = t; } else { if (Cudd_IsComplement(t)) { r = cuddUniqueInter(manager,(int)index,Cudd_Not(t),Cudd_Not(e)); if (r == NULL) { Cudd_IterDerefBdd(manager, t); Cudd_IterDerefBdd(manager, e); return(NULL); } r = Cudd_Not(r); } else { r = cuddUniqueInter(manager,(int)index,t,e); if (r == NULL) { Cudd_IterDerefBdd(manager, t); Cudd_IterDerefBdd(manager, e); return(NULL); } } } cuddDeref(e); cuddDeref(t); cuddCacheInsert2(manager, Cudd_bddXor, f, g, r); return(r); } /* end of cuddBddXorRecur */ /*---------------------------------------------------------------------------*/ /* Definition of static functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Replaces variables with constants if possible.] Description [This function performs part of the transformation to standard form by replacing variables with constants if possible.] SideEffects [None] SeeAlso [bddVarToCanonical bddVarToCanonicalSimple] ******************************************************************************/ static void bddVarToConst( DdNode * f, DdNode ** gp, DdNode ** hp, DdNode * one) { DdNode *g = *gp; DdNode *h = *hp; if (f == g) { /* ITE(F,F,H) = ITE(F,1,H) = F + H */ *gp = one; } else if (f == Cudd_Not(g)) { /* ITE(F,!F,H) = ITE(F,0,H) = !F * H */ *gp = Cudd_Not(one); } if (f == h) { /* ITE(F,G,F) = ITE(F,G,0) = F * G */ *hp = Cudd_Not(one); } else if (f == Cudd_Not(h)) { /* ITE(F,G,!F) = ITE(F,G,1) = !F + G */ *hp = one; } } /* end of bddVarToConst */ /**Function******************************************************************** Synopsis [Picks unique member from equiv expressions.] Description [Reduces 2 variable expressions to canonical form.] SideEffects [None] SeeAlso [bddVarToConst bddVarToCanonicalSimple] ******************************************************************************/ static int bddVarToCanonical( DdManager * dd, DdNode ** fp, DdNode ** gp, DdNode ** hp, unsigned int * topfp, unsigned int * topgp, unsigned int * tophp) { register DdNode *F, *G, *H, *r, *f, *g, *h; register unsigned int topf, topg, toph; DdNode *one = dd->one; int comple, change; f = *fp; g = *gp; h = *hp; F = Cudd_Regular(f); G = Cudd_Regular(g); H = Cudd_Regular(h); topf = cuddI(dd,F->index); topg = cuddI(dd,G->index); toph = cuddI(dd,H->index); change = 0; if (G == one) { /* ITE(F,c,H) */ if ((topf > toph) || (topf == toph && f > h)) { r = h; h = f; f = r; /* ITE(F,1,H) = ITE(H,1,F) */ if (g != one) { /* g == zero */ f = Cudd_Not(f); /* ITE(F,0,H) = ITE(!H,0,!F) */ h = Cudd_Not(h); } change = 1; } } else if (H == one) { /* ITE(F,G,c) */ if ((topf > topg) || (topf == topg && f > g)) { r = g; g = f; f = r; /* ITE(F,G,0) = ITE(G,F,0) */ if (h == one) { f = Cudd_Not(f); /* ITE(F,G,1) = ITE(!G,!F,1) */ g = Cudd_Not(g); } change = 1; } } else if (g == Cudd_Not(h)) { /* ITE(F,G,!G) = ITE(G,F,!F) */ if ((topf > topg) || (topf == topg && f > g)) { r = f; f = g; g = r; h = Cudd_Not(r); change = 1; } } /* adjust pointers so that the first 2 arguments to ITE are regular */ if (Cudd_IsComplement(f) != 0) { /* ITE(!F,G,H) = ITE(F,H,G) */ f = Cudd_Not(f); r = g; g = h; h = r; change = 1; } comple = 0; if (Cudd_IsComplement(g) != 0) { /* ITE(F,!G,H) = !ITE(F,G,!H) */ g = Cudd_Not(g); h = Cudd_Not(h); change = 1; comple = 1; } if (change != 0) { *fp = f; *gp = g; *hp = h; } *topfp = cuddI(dd,f->index); *topgp = cuddI(dd,g->index); *tophp = cuddI(dd,Cudd_Regular(h)->index); return(comple); } /* end of bddVarToCanonical */ /**Function******************************************************************** Synopsis [Picks unique member from equiv expressions.] Description [Makes sure the first two pointers are regular. This mat require the complementation of the result, which is signaled by returning 1 instead of 0. This function is simpler than the general case because it assumes that no two arguments are the same or complementary, and no argument is constant.] SideEffects [None] SeeAlso [bddVarToConst bddVarToCanonical] ******************************************************************************/ static int bddVarToCanonicalSimple( DdManager * dd, DdNode ** fp, DdNode ** gp, DdNode ** hp, unsigned int * topfp, unsigned int * topgp, unsigned int * tophp) { register DdNode *r, *f, *g, *h; int comple, change; f = *fp; g = *gp; h = *hp; change = 0; /* adjust pointers so that the first 2 arguments to ITE are regular */ if (Cudd_IsComplement(f)) { /* ITE(!F,G,H) = ITE(F,H,G) */ f = Cudd_Not(f); r = g; g = h; h = r; change = 1; } comple = 0; if (Cudd_IsComplement(g)) { /* ITE(F,!G,H) = !ITE(F,G,!H) */ g = Cudd_Not(g); h = Cudd_Not(h); change = 1; comple = 1; } if (change) { *fp = f; *gp = g; *hp = h; } /* Here we can skip the use of cuddI, because the operands are known ** to be non-constant. */ *topfp = dd->perm[f->index]; *topgp = dd->perm[g->index]; *tophp = dd->perm[Cudd_Regular(h)->index]; return(comple); } /* end of bddVarToCanonicalSimple */ BRiAl-1.2.12/cudd/cuddBridge.c000066400000000000000000000640701436062512100156540ustar00rootroot00000000000000/**CFile*********************************************************************** FileName [cuddBridge.c] PackageName [cudd] Synopsis [Translation from BDD to ADD and vice versa and transfer between different managers.] Description [External procedures included in this file:
  • Cudd_addBddThreshold()
  • Cudd_addBddStrictThreshold()
  • Cudd_addBddInterval()
  • Cudd_addBddIthBit()
  • Cudd_BddToAdd()
  • Cudd_addBddPattern()
  • Cudd_bddTransfer()
Internal procedures included in this file:
  • cuddBddTransfer()
  • cuddAddBddDoPattern()
Static procedures included in this file:
  • addBddDoThreshold()
  • addBddDoStrictThreshold()
  • addBddDoInterval()
  • addBddDoIthBit()
  • ddBddToAddRecur()
  • cuddBddTransferRecur()
] SeeAlso [] Author [Fabio Somenzi] Copyright [Copyright (c) 1995-2012, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.] ******************************************************************************/ #include "util.h" #include "cuddInt.h" /*---------------------------------------------------------------------------*/ /* Constant declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Stucture declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Type declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Variable declarations */ /*---------------------------------------------------------------------------*/ #ifndef lint static char rcsid[] DD_UNUSED = "$Id: cuddBridge.c,v 1.20 2012/02/05 01:07:18 fabio Exp $"; #endif /*---------------------------------------------------------------------------*/ /* Macro declarations */ /*---------------------------------------------------------------------------*/ #ifdef __cplusplus extern "C" { #endif /**AutomaticStart*************************************************************/ /*---------------------------------------------------------------------------*/ /* Static function prototypes */ /*---------------------------------------------------------------------------*/ static DdNode * addBddDoThreshold (DdManager *dd, DdNode *f, DdNode *val); static DdNode * addBddDoStrictThreshold (DdManager *dd, DdNode *f, DdNode *val); static DdNode * addBddDoInterval (DdManager *dd, DdNode *f, DdNode *l, DdNode *u); static DdNode * addBddDoIthBit (DdManager *dd, DdNode *f, DdNode *index); static DdNode * ddBddToAddRecur (DdManager *dd, DdNode *B); static DdNode * cuddBddTransferRecur (DdManager *ddS, DdManager *ddD, DdNode *f, st_table *table); /**AutomaticEnd***************************************************************/ #ifdef __cplusplus } #endif /*---------------------------------------------------------------------------*/ /* Definition of exported functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Converts an ADD to a BDD.] Description [Converts an ADD to a BDD by replacing all discriminants greater than or equal to value with 1, and all other discriminants with 0. Returns a pointer to the resulting BDD if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_addBddInterval Cudd_addBddPattern Cudd_BddToAdd Cudd_addBddStrictThreshold] ******************************************************************************/ DdNode * Cudd_addBddThreshold( DdManager * dd, DdNode * f, CUDD_VALUE_TYPE value) { DdNode *res; DdNode *val; val = cuddUniqueConst(dd,value); if (val == NULL) return(NULL); cuddRef(val); do { dd->reordered = 0; res = addBddDoThreshold(dd, f, val); } while (dd->reordered == 1); if (res == NULL) { Cudd_RecursiveDeref(dd, val); return(NULL); } cuddRef(res); Cudd_RecursiveDeref(dd, val); cuddDeref(res); return(res); } /* end of Cudd_addBddThreshold */ /**Function******************************************************************** Synopsis [Converts an ADD to a BDD.] Description [Converts an ADD to a BDD by replacing all discriminants STRICTLY greater than value with 1, and all other discriminants with 0. Returns a pointer to the resulting BDD if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_addBddInterval Cudd_addBddPattern Cudd_BddToAdd Cudd_addBddThreshold] ******************************************************************************/ DdNode * Cudd_addBddStrictThreshold( DdManager * dd, DdNode * f, CUDD_VALUE_TYPE value) { DdNode *res; DdNode *val; val = cuddUniqueConst(dd,value); if (val == NULL) return(NULL); cuddRef(val); do { dd->reordered = 0; res = addBddDoStrictThreshold(dd, f, val); } while (dd->reordered == 1); if (res == NULL) { Cudd_RecursiveDeref(dd, val); return(NULL); } cuddRef(res); Cudd_RecursiveDeref(dd, val); cuddDeref(res); return(res); } /* end of Cudd_addBddStrictThreshold */ /**Function******************************************************************** Synopsis [Converts an ADD to a BDD.] Description [Converts an ADD to a BDD by replacing all discriminants greater than or equal to lower and less than or equal to upper with 1, and all other discriminants with 0. Returns a pointer to the resulting BDD if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_addBddThreshold Cudd_addBddStrictThreshold Cudd_addBddPattern Cudd_BddToAdd] ******************************************************************************/ DdNode * Cudd_addBddInterval( DdManager * dd, DdNode * f, CUDD_VALUE_TYPE lower, CUDD_VALUE_TYPE upper) { DdNode *res; DdNode *l; DdNode *u; /* Create constant nodes for the interval bounds, so that we can use ** the global cache. */ l = cuddUniqueConst(dd,lower); if (l == NULL) return(NULL); cuddRef(l); u = cuddUniqueConst(dd,upper); if (u == NULL) { Cudd_RecursiveDeref(dd,l); return(NULL); } cuddRef(u); do { dd->reordered = 0; res = addBddDoInterval(dd, f, l, u); } while (dd->reordered == 1); if (res == NULL) { Cudd_RecursiveDeref(dd, l); Cudd_RecursiveDeref(dd, u); return(NULL); } cuddRef(res); Cudd_RecursiveDeref(dd, l); Cudd_RecursiveDeref(dd, u); cuddDeref(res); return(res); } /* end of Cudd_addBddInterval */ /**Function******************************************************************** Synopsis [Converts an ADD to a BDD by extracting the i-th bit from the leaves.] Description [Converts an ADD to a BDD by replacing all discriminants whose i-th bit is equal to 1 with 1, and all other discriminants with 0. The i-th bit refers to the integer representation of the leaf value. If the value is has a fractional part, it is ignored. Repeated calls to this procedure allow one to transform an integer-valued ADD into an array of BDDs, one for each bit of the leaf values. Returns a pointer to the resulting BDD if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_addBddInterval Cudd_addBddPattern Cudd_BddToAdd] ******************************************************************************/ DdNode * Cudd_addBddIthBit( DdManager * dd, DdNode * f, int bit) { DdNode *res; DdNode *index; index = cuddUniqueConst(dd,(CUDD_VALUE_TYPE) bit); if (index == NULL) return(NULL); cuddRef(index); do { dd->reordered = 0; res = addBddDoIthBit(dd, f, index); } while (dd->reordered == 1); if (res == NULL) { Cudd_RecursiveDeref(dd, index); return(NULL); } cuddRef(res); Cudd_RecursiveDeref(dd, index); cuddDeref(res); return(res); } /* end of Cudd_addBddIthBit */ /**Function******************************************************************** Synopsis [Converts a BDD to a 0-1 ADD.] Description [Converts a BDD to a 0-1 ADD. Returns a pointer to the resulting ADD if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_addBddPattern Cudd_addBddThreshold Cudd_addBddInterval Cudd_addBddStrictThreshold] ******************************************************************************/ DdNode * Cudd_BddToAdd( DdManager * dd, DdNode * B) { DdNode *res; do { dd->reordered = 0; res = ddBddToAddRecur(dd, B); } while (dd->reordered ==1); return(res); } /* end of Cudd_BddToAdd */ /**Function******************************************************************** Synopsis [Converts an ADD to a BDD.] Description [Converts an ADD to a BDD by replacing all discriminants different from 0 with 1. Returns a pointer to the resulting BDD if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_BddToAdd Cudd_addBddThreshold Cudd_addBddInterval Cudd_addBddStrictThreshold] ******************************************************************************/ DdNode * Cudd_addBddPattern( DdManager * dd, DdNode * f) { DdNode *res; do { dd->reordered = 0; res = cuddAddBddDoPattern(dd, f); } while (dd->reordered == 1); return(res); } /* end of Cudd_addBddPattern */ /**Function******************************************************************** Synopsis [Convert a BDD from a manager to another one.] Description [Convert a BDD from a manager to another one. The orders of the variables in the two managers may be different. Returns a pointer to the BDD in the destination manager if successful; NULL otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ DdNode * Cudd_bddTransfer( DdManager * ddSource, DdManager * ddDestination, DdNode * f) { DdNode *res; do { ddDestination->reordered = 0; res = cuddBddTransfer(ddSource, ddDestination, f); } while (ddDestination->reordered == 1); return(res); } /* end of Cudd_bddTransfer */ /*---------------------------------------------------------------------------*/ /* Definition of internal functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Convert a BDD from a manager to another one.] Description [Convert a BDD from a manager to another one. Returns a pointer to the BDD in the destination manager if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_bddTransfer] ******************************************************************************/ DdNode * cuddBddTransfer( DdManager * ddS, DdManager * ddD, DdNode * f) { DdNode *res; st_table *table = NULL; st_generator *gen = NULL; DdNode *key, *value; table = st_init_table(st_ptrcmp,st_ptrhash); if (table == NULL) goto failure; res = cuddBddTransferRecur(ddS, ddD, f, table); if (res != NULL) cuddRef(res); /* Dereference all elements in the table and dispose of the table. ** This must be done also if res is NULL to avoid leaks in case of ** reordering. */ gen = st_init_gen(table); if (gen == NULL) goto failure; while (st_gen(gen, &key, &value)) { Cudd_RecursiveDeref(ddD, value); } st_free_gen(gen); gen = NULL; st_free_table(table); table = NULL; if (res != NULL) cuddDeref(res); return(res); failure: /* No need to free gen because it is always NULL here. */ if (table != NULL) st_free_table(table); return(NULL); } /* end of cuddBddTransfer */ /**Function******************************************************************** Synopsis [Performs the recursive step for Cudd_addBddPattern.] Description [Performs the recursive step for Cudd_addBddPattern. Returns a pointer to the resulting BDD if successful; NULL otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ DdNode * cuddAddBddDoPattern( DdManager * dd, DdNode * f) { DdNode *res, *T, *E; DdNode *fv, *fvn; int v; statLine(dd); /* Check terminal case. */ if (cuddIsConstant(f)) { return(Cudd_NotCond(DD_ONE(dd),f == DD_ZERO(dd))); } /* Check cache. */ res = cuddCacheLookup1(dd,Cudd_addBddPattern,f); if (res != NULL) return(res); /* Recursive step. */ v = f->index; fv = cuddT(f); fvn = cuddE(f); T = cuddAddBddDoPattern(dd,fv); if (T == NULL) return(NULL); cuddRef(T); E = cuddAddBddDoPattern(dd,fvn); if (E == NULL) { Cudd_RecursiveDeref(dd, T); return(NULL); } cuddRef(E); if (Cudd_IsComplement(T)) { res = (T == E) ? Cudd_Not(T) : cuddUniqueInter(dd,v,Cudd_Not(T),Cudd_Not(E)); if (res == NULL) { Cudd_RecursiveDeref(dd, T); Cudd_RecursiveDeref(dd, E); return(NULL); } res = Cudd_Not(res); } else { res = (T == E) ? T : cuddUniqueInter(dd,v,T,E); if (res == NULL) { Cudd_RecursiveDeref(dd, T); Cudd_RecursiveDeref(dd, E); return(NULL); } } cuddDeref(T); cuddDeref(E); /* Store result. */ cuddCacheInsert1(dd,Cudd_addBddPattern,f,res); return(res); } /* end of cuddAddBddDoPattern */ /*---------------------------------------------------------------------------*/ /* Definition of static functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Performs the recursive step for Cudd_addBddThreshold.] Description [Performs the recursive step for Cudd_addBddThreshold. Returns a pointer to the BDD if successful; NULL otherwise.] SideEffects [None] SeeAlso [addBddDoStrictThreshold] ******************************************************************************/ static DdNode * addBddDoThreshold( DdManager * dd, DdNode * f, DdNode * val) { DdNode *res, *T, *E; DdNode *fv, *fvn; int v; statLine(dd); /* Check terminal case. */ if (cuddIsConstant(f)) { return(Cudd_NotCond(DD_ONE(dd),cuddV(f) < cuddV(val))); } /* Check cache. */ res = cuddCacheLookup2(dd,addBddDoThreshold,f,val); if (res != NULL) return(res); /* Recursive step. */ v = f->index; fv = cuddT(f); fvn = cuddE(f); T = addBddDoThreshold(dd,fv,val); if (T == NULL) return(NULL); cuddRef(T); E = addBddDoThreshold(dd,fvn,val); if (E == NULL) { Cudd_RecursiveDeref(dd, T); return(NULL); } cuddRef(E); if (Cudd_IsComplement(T)) { res = (T == E) ? Cudd_Not(T) : cuddUniqueInter(dd,v,Cudd_Not(T),Cudd_Not(E)); if (res == NULL) { Cudd_RecursiveDeref(dd, T); Cudd_RecursiveDeref(dd, E); return(NULL); } res = Cudd_Not(res); } else { res = (T == E) ? T : cuddUniqueInter(dd,v,T,E); if (res == NULL) { Cudd_RecursiveDeref(dd, T); Cudd_RecursiveDeref(dd, E); return(NULL); } } cuddDeref(T); cuddDeref(E); /* Store result. */ cuddCacheInsert2(dd,addBddDoThreshold,f,val,res); return(res); } /* end of addBddDoThreshold */ /**Function******************************************************************** Synopsis [Performs the recursive step for Cudd_addBddStrictThreshold.] Description [Performs the recursive step for Cudd_addBddStrictThreshold. Returns a pointer to the BDD if successful; NULL otherwise.] SideEffects [None] SeeAlso [addBddDoThreshold] ******************************************************************************/ static DdNode * addBddDoStrictThreshold( DdManager * dd, DdNode * f, DdNode * val) { DdNode *res, *T, *E; DdNode *fv, *fvn; int v; statLine(dd); /* Check terminal case. */ if (cuddIsConstant(f)) { return(Cudd_NotCond(DD_ONE(dd),cuddV(f) <= cuddV(val))); } /* Check cache. */ res = cuddCacheLookup2(dd,addBddDoStrictThreshold,f,val); if (res != NULL) return(res); /* Recursive step. */ v = f->index; fv = cuddT(f); fvn = cuddE(f); T = addBddDoStrictThreshold(dd,fv,val); if (T == NULL) return(NULL); cuddRef(T); E = addBddDoStrictThreshold(dd,fvn,val); if (E == NULL) { Cudd_RecursiveDeref(dd, T); return(NULL); } cuddRef(E); if (Cudd_IsComplement(T)) { res = (T == E) ? Cudd_Not(T) : cuddUniqueInter(dd,v,Cudd_Not(T),Cudd_Not(E)); if (res == NULL) { Cudd_RecursiveDeref(dd, T); Cudd_RecursiveDeref(dd, E); return(NULL); } res = Cudd_Not(res); } else { res = (T == E) ? T : cuddUniqueInter(dd,v,T,E); if (res == NULL) { Cudd_RecursiveDeref(dd, T); Cudd_RecursiveDeref(dd, E); return(NULL); } } cuddDeref(T); cuddDeref(E); /* Store result. */ cuddCacheInsert2(dd,addBddDoStrictThreshold,f,val,res); return(res); } /* end of addBddDoStrictThreshold */ /**Function******************************************************************** Synopsis [Performs the recursive step for Cudd_addBddInterval.] Description [Performs the recursive step for Cudd_addBddInterval. Returns a pointer to the BDD if successful; NULL otherwise.] SideEffects [None] SeeAlso [addBddDoThreshold addBddDoStrictThreshold] ******************************************************************************/ static DdNode * addBddDoInterval( DdManager * dd, DdNode * f, DdNode * l, DdNode * u) { DdNode *res, *T, *E; DdNode *fv, *fvn; int v; statLine(dd); /* Check terminal case. */ if (cuddIsConstant(f)) { return(Cudd_NotCond(DD_ONE(dd),cuddV(f) < cuddV(l) || cuddV(f) > cuddV(u))); } /* Check cache. */ res = cuddCacheLookup(dd,DD_ADD_BDD_DO_INTERVAL_TAG,f,l,u); if (res != NULL) return(res); /* Recursive step. */ v = f->index; fv = cuddT(f); fvn = cuddE(f); T = addBddDoInterval(dd,fv,l,u); if (T == NULL) return(NULL); cuddRef(T); E = addBddDoInterval(dd,fvn,l,u); if (E == NULL) { Cudd_RecursiveDeref(dd, T); return(NULL); } cuddRef(E); if (Cudd_IsComplement(T)) { res = (T == E) ? Cudd_Not(T) : cuddUniqueInter(dd,v,Cudd_Not(T),Cudd_Not(E)); if (res == NULL) { Cudd_RecursiveDeref(dd, T); Cudd_RecursiveDeref(dd, E); return(NULL); } res = Cudd_Not(res); } else { res = (T == E) ? T : cuddUniqueInter(dd,v,T,E); if (res == NULL) { Cudd_RecursiveDeref(dd, T); Cudd_RecursiveDeref(dd, E); return(NULL); } } cuddDeref(T); cuddDeref(E); /* Store result. */ cuddCacheInsert(dd,DD_ADD_BDD_DO_INTERVAL_TAG,f,l,u,res); return(res); } /* end of addBddDoInterval */ /**Function******************************************************************** Synopsis [Performs the recursive step for Cudd_addBddIthBit.] Description [Performs the recursive step for Cudd_addBddIthBit. Returns a pointer to the BDD if successful; NULL otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ static DdNode * addBddDoIthBit( DdManager * dd, DdNode * f, DdNode * index) { DdNode *res, *T, *E; DdNode *fv, *fvn; int mask, value; int v; statLine(dd); /* Check terminal case. */ if (cuddIsConstant(f)) { mask = 1 << ((int) cuddV(index)); value = (int) cuddV(f); return(Cudd_NotCond(DD_ONE(dd),(value & mask) == 0)); } /* Check cache. */ res = cuddCacheLookup2(dd,addBddDoIthBit,f,index); if (res != NULL) return(res); /* Recursive step. */ v = f->index; fv = cuddT(f); fvn = cuddE(f); T = addBddDoIthBit(dd,fv,index); if (T == NULL) return(NULL); cuddRef(T); E = addBddDoIthBit(dd,fvn,index); if (E == NULL) { Cudd_RecursiveDeref(dd, T); return(NULL); } cuddRef(E); if (Cudd_IsComplement(T)) { res = (T == E) ? Cudd_Not(T) : cuddUniqueInter(dd,v,Cudd_Not(T),Cudd_Not(E)); if (res == NULL) { Cudd_RecursiveDeref(dd, T); Cudd_RecursiveDeref(dd, E); return(NULL); } res = Cudd_Not(res); } else { res = (T == E) ? T : cuddUniqueInter(dd,v,T,E); if (res == NULL) { Cudd_RecursiveDeref(dd, T); Cudd_RecursiveDeref(dd, E); return(NULL); } } cuddDeref(T); cuddDeref(E); /* Store result. */ cuddCacheInsert2(dd,addBddDoIthBit,f,index,res); return(res); } /* end of addBddDoIthBit */ /**Function******************************************************************** Synopsis [Performs the recursive step for Cudd_BddToAdd.] Description [Performs the recursive step for Cudd_BddToAdd. Returns a pointer to the resulting ADD if successful; NULL otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ static DdNode * ddBddToAddRecur( DdManager * dd, DdNode * B) { DdNode *one; DdNode *res, *res1, *T, *E, *Bt, *Be; int complement = 0; statLine(dd); one = DD_ONE(dd); if (Cudd_IsConstant(B)) { if (B == one) { res = one; } else { res = DD_ZERO(dd); } return(res); } /* Check visited table */ res = cuddCacheLookup1(dd,ddBddToAddRecur,B); if (res != NULL) return(res); if (Cudd_IsComplement(B)) { complement = 1; Bt = cuddT(Cudd_Regular(B)); Be = cuddE(Cudd_Regular(B)); } else { Bt = cuddT(B); Be = cuddE(B); } T = ddBddToAddRecur(dd, Bt); if (T == NULL) return(NULL); cuddRef(T); E = ddBddToAddRecur(dd, Be); if (E == NULL) { Cudd_RecursiveDeref(dd, T); return(NULL); } cuddRef(E); /* No need to check for T == E, because it is guaranteed not to happen. */ res = cuddUniqueInter(dd, (int) Cudd_Regular(B)->index, T, E); if (res == NULL) { Cudd_RecursiveDeref(dd ,T); Cudd_RecursiveDeref(dd ,E); return(NULL); } cuddDeref(T); cuddDeref(E); if (complement) { cuddRef(res); res1 = cuddAddCmplRecur(dd, res); if (res1 == NULL) { Cudd_RecursiveDeref(dd, res); return(NULL); } cuddRef(res1); Cudd_RecursiveDeref(dd, res); res = res1; cuddDeref(res); } /* Store result. */ cuddCacheInsert1(dd,ddBddToAddRecur,B,res); return(res); } /* end of ddBddToAddRecur */ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_bddTransfer.] Description [Performs the recursive step of Cudd_bddTransfer. Returns a pointer to the result if successful; NULL otherwise.] SideEffects [None] SeeAlso [cuddBddTransfer] ******************************************************************************/ static DdNode * cuddBddTransferRecur( DdManager * ddS, DdManager * ddD, DdNode * f, st_table * table) { DdNode *ft, *fe, *t, *e, *var, *res; DdNode *one, *zero; int index; int comple = 0; statLine(ddD); one = DD_ONE(ddD); comple = Cudd_IsComplement(f); /* Trivial cases. */ if (Cudd_IsConstant(f)) return(Cudd_NotCond(one, comple)); /* Make canonical to increase the utilization of the cache. */ f = Cudd_NotCond(f,comple); /* Now f is a regular pointer to a non-constant node. */ /* Check the cache. */ if (st_lookup(table, f, &res)) return(Cudd_NotCond(res,comple)); /* Recursive step. */ index = f->index; ft = cuddT(f); fe = cuddE(f); t = cuddBddTransferRecur(ddS, ddD, ft, table); if (t == NULL) { return(NULL); } cuddRef(t); e = cuddBddTransferRecur(ddS, ddD, fe, table); if (e == NULL) { Cudd_RecursiveDeref(ddD, t); return(NULL); } cuddRef(e); zero = Cudd_Not(one); var = cuddUniqueInter(ddD,index,one,zero); if (var == NULL) { Cudd_RecursiveDeref(ddD, t); Cudd_RecursiveDeref(ddD, e); return(NULL); } res = cuddBddIteRecur(ddD,var,t,e); if (res == NULL) { Cudd_RecursiveDeref(ddD, t); Cudd_RecursiveDeref(ddD, e); return(NULL); } cuddRef(res); Cudd_RecursiveDeref(ddD, t); Cudd_RecursiveDeref(ddD, e); if (st_add_direct(table, (char *) f, (char *) res) == ST_OUT_OF_MEM) { Cudd_RecursiveDeref(ddD, res); return(NULL); } return(Cudd_NotCond(res,comple)); } /* end of cuddBddTransferRecur */ BRiAl-1.2.12/cudd/cuddCache.c000066400000000000000000000665741436062512100154760ustar00rootroot00000000000000/**CFile*********************************************************************** FileName [cuddCache.c] PackageName [cudd] Synopsis [Functions for cache insertion and lookup.] Description [Internal procedures included in this module:
  • cuddInitCache()
  • cuddCacheInsert()
  • cuddCacheInsert2()
  • cuddCacheLookup()
  • cuddCacheLookupZdd()
  • cuddCacheLookup2()
  • cuddCacheLookup2Zdd()
  • cuddConstantLookup()
  • cuddCacheProfile()
  • cuddCacheResize()
  • cuddCacheFlush()
  • cuddComputeFloorLog2()
Static procedures included in this module:
] SeeAlso [] Author [Fabio Somenzi] Copyright [Copyright (c) 1995-2012, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.] ******************************************************************************/ #include "util.h" #include "cuddInt.h" #ifndef PBORI_FORCE_ORIGINAL_CUDD #include #endif /*---------------------------------------------------------------------------*/ /* Constant declarations */ /*---------------------------------------------------------------------------*/ #ifdef DD_CACHE_PROFILE #define DD_HYSTO_BINS 8 #endif /*---------------------------------------------------------------------------*/ /* Stucture declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Type declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Variable declarations */ /*---------------------------------------------------------------------------*/ #ifndef lint static char rcsid[] DD_UNUSED = "$Id: cuddCache.c,v 1.36 2012/02/05 01:07:18 fabio Exp $"; #endif /*---------------------------------------------------------------------------*/ /* Macro declarations */ /*---------------------------------------------------------------------------*/ /**AutomaticStart*************************************************************/ /*---------------------------------------------------------------------------*/ /* Static function prototypes */ /*---------------------------------------------------------------------------*/ /**AutomaticEnd***************************************************************/ /*---------------------------------------------------------------------------*/ /* Definition of exported functions */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Definition of internal functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Initializes the computed table.] Description [Initializes the computed table. It is called by Cudd_Init. Returns 1 in case of success; 0 otherwise.] SideEffects [None] SeeAlso [Cudd_Init] ******************************************************************************/ int cuddInitCache( DdManager * unique /* unique table */, unsigned int cacheSize /* initial size of the cache */, unsigned int maxCacheSize /* cache size beyond which no resizing occurs */) { int i; unsigned int logSize; #ifndef DD_CACHE_PROFILE DdNodePtr *mem; ptruint offset; #endif /* Round cacheSize to largest power of 2 not greater than the requested ** initial cache size. */ logSize = cuddComputeFloorLog2(ddMax(cacheSize,unique->slots/2)); cacheSize = 1 << logSize; unique->acache = ALLOC(DdCache,cacheSize+1); if (unique->acache == NULL) { unique->errorCode = CUDD_MEMORY_OUT; return(0); } /* If the size of the cache entry is a power of 2, we want to ** enforce alignment to that power of two. This happens when ** DD_CACHE_PROFILE is not defined. */ #ifdef DD_CACHE_PROFILE unique->cache = unique->acache; unique->memused += (cacheSize) * sizeof(DdCache); #else mem = (DdNodePtr *) unique->acache; offset = (ptruint) mem & (sizeof(DdCache) - 1); mem += (sizeof(DdCache) - offset) / sizeof(DdNodePtr); unique->cache = (DdCache *) mem; CUDD_ASSERT(((ptruint) unique->cache & (sizeof(DdCache) - 1)) == 0); unique->memused += (cacheSize+1) * sizeof(DdCache); #endif unique->cacheSlots = cacheSize; unique->cacheShift = sizeof(int) * 8 - logSize; unique->maxCacheHard = maxCacheSize; /* If cacheSlack is non-negative, we can resize. */ unique->cacheSlack = (int) ddMin(maxCacheSize, DD_MAX_CACHE_TO_SLOTS_RATIO*unique->slots) - 2 * (int) cacheSize; Cudd_SetMinHit(unique,DD_MIN_HIT); /* Initialize to avoid division by 0 and immediate resizing. */ unique->cacheMisses = (double) (int) (cacheSize * unique->minHit + 1); unique->cacheHits = 0; unique->totCachehits = 0; /* The sum of cacheMisses and totCacheMisses is always correct, ** even though cacheMisses is larger than it should for the reasons ** explained above. */ unique->totCacheMisses = -unique->cacheMisses; unique->cachecollisions = 0; unique->cacheinserts = 0; unique->cacheLastInserts = 0; unique->cachedeletions = 0; /* Initialize the cache */ for (i = 0; (unsigned) i < cacheSize; i++) { unique->cache[i].h = 0; /* unused slots */ unique->cache[i].data = NULL; /* invalid entry */ #ifdef DD_CACHE_PROFILE unique->cache[i].count = 0; #endif } return(1); } /* end of cuddInitCache */ /**Function******************************************************************** Synopsis [Inserts a result in the cache for a function with three operands.] Description [Inserts a result in the cache for a function with three operands. The operator tag (see cuddInt.h for details) is split and stored into unused bits of the first two pointers.] SideEffects [None] SeeAlso [cuddCacheInsert2 cuddCacheInsert1] ******************************************************************************/ void cuddCacheInsert( DdManager * table, ptruint op, DdNode * f, DdNode * g, DdNode * h, DdNode * data) { int posn; register DdCache *entry; ptruint uf, ug, uh; uf = (ptruint) f | (op & 0xe); ug = (ptruint) g | (op >> 4); uh = (ptruint) h; posn = ddCHash2(uh,uf,ug,table->cacheShift); entry = &table->cache[posn]; table->cachecollisions += entry->data != NULL; table->cacheinserts++; entry->f = (DdNode *) uf; entry->g = (DdNode *) ug; entry->h = uh; entry->data = data; #ifdef DD_CACHE_PROFILE entry->count++; #endif } /* end of cuddCacheInsert */ /**Function******************************************************************** Synopsis [Inserts a result in the cache for a function with two operands.] Description [] SideEffects [None] SeeAlso [cuddCacheInsert cuddCacheInsert1] ******************************************************************************/ void cuddCacheInsert2( DdManager * table, DD_CTFP op, DdNode * f, DdNode * g, DdNode * data) { int posn; register DdCache *entry; posn = ddCHash2(op,f,g,table->cacheShift); entry = &table->cache[posn]; if (entry->data != NULL) { table->cachecollisions++; } table->cacheinserts++; entry->f = f; entry->g = g; entry->h = (ptruint) op; entry->data = data; #ifdef DD_CACHE_PROFILE entry->count++; #endif } /* end of cuddCacheInsert2 */ /**Function******************************************************************** Synopsis [Inserts a result in the cache for a function with two operands.] Description [] SideEffects [None] SeeAlso [cuddCacheInsert cuddCacheInsert2] ******************************************************************************/ void cuddCacheInsert1( DdManager * table, DD_CTFP1 op, DdNode * f, DdNode * data) { int posn; register DdCache *entry; posn = ddCHash2(op,f,f,table->cacheShift); entry = &table->cache[posn]; if (entry->data != NULL) { table->cachecollisions++; } table->cacheinserts++; entry->f = f; entry->g = f; entry->h = (ptruint) op; entry->data = data; #ifdef DD_CACHE_PROFILE entry->count++; #endif } /* end of cuddCacheInsert1 */ /**Function******************************************************************** Synopsis [Looks up in the cache for the result of op applied to f, g, and h.] Description [Returns the result if found; it returns NULL if no result is found.] SideEffects [None] SeeAlso [cuddCacheLookup2 cuddCacheLookup1] ******************************************************************************/ DdNode * cuddCacheLookup( DdManager * table, ptruint op, DdNode * f, DdNode * g, DdNode * h) { int posn; DdCache *en,*cache; DdNode *data; ptruint uf, ug, uh; uf = (ptruint) f | (op & 0xe); ug = (ptruint) g | (op >> 4); uh = (ptruint) h; cache = table->cache; #ifdef DD_DEBUG if (cache == NULL) { return(NULL); } #endif posn = ddCHash2(uh,uf,ug,table->cacheShift); en = &cache[posn]; if (en->data != NULL && en->f==(DdNodePtr)uf && en->g==(DdNodePtr)ug && en->h==uh) { data = Cudd_Regular(en->data); table->cacheHits++; if (data->ref == 0) { cuddReclaim(table,data); } return(en->data); } /* Cache miss: decide whether to resize. */ table->cacheMisses++; if (table->cacheSlack >= 0 && table->cacheHits > table->cacheMisses * table->minHit) { cuddCacheResize(table); } return(NULL); } /* end of cuddCacheLookup */ /**Function******************************************************************** Synopsis [Looks up in the cache for the result of op applied to f, g, and h.] Description [Returns the result if found; it returns NULL if no result is found.] SideEffects [None] SeeAlso [cuddCacheLookup2Zdd cuddCacheLookup1Zdd] ******************************************************************************/ DdNode * cuddCacheLookupZdd( DdManager * table, ptruint op, DdNode * f, DdNode * g, DdNode * h) { int posn; DdCache *en,*cache; DdNode *data; ptruint uf, ug, uh; uf = (ptruint) f | (op & 0xe); ug = (ptruint) g | (op >> 4); uh = (ptruint) h; cache = table->cache; #ifdef DD_DEBUG if (cache == NULL) { return(NULL); } #endif posn = ddCHash2(uh,uf,ug,table->cacheShift); en = &cache[posn]; if (en->data != NULL && en->f==(DdNodePtr)uf && en->g==(DdNodePtr)ug && en->h==uh) { data = Cudd_Regular(en->data); table->cacheHits++; if (data->ref == 0) { cuddReclaimZdd(table,data); } return(en->data); } /* Cache miss: decide whether to resize. */ table->cacheMisses++; if (table->cacheSlack >= 0 && table->cacheHits > table->cacheMisses * table->minHit) { cuddCacheResize(table); } return(NULL); } /* end of cuddCacheLookupZdd */ /**Function******************************************************************** Synopsis [Looks up in the cache for the result of op applied to f and g.] Description [Returns the result if found; it returns NULL if no result is found.] SideEffects [None] SeeAlso [cuddCacheLookup cuddCacheLookup1] ******************************************************************************/ DdNode * cuddCacheLookup2( DdManager * table, DD_CTFP op, DdNode * f, DdNode * g) { int posn; DdCache *en,*cache; DdNode *data; cache = table->cache; #ifdef DD_DEBUG if (cache == NULL) { return(NULL); } #endif posn = ddCHash2(op,f,g,table->cacheShift); en = &cache[posn]; if (en->data != NULL && en->f==f && en->g==g && en->h==(ptruint)op) { data = Cudd_Regular(en->data); table->cacheHits++; if (data->ref == 0) { cuddReclaim(table,data); } return(en->data); } /* Cache miss: decide whether to resize. */ table->cacheMisses++; if (table->cacheSlack >= 0 && table->cacheHits > table->cacheMisses * table->minHit) { cuddCacheResize(table); } return(NULL); } /* end of cuddCacheLookup2 */ /**Function******************************************************************** Synopsis [Looks up in the cache for the result of op applied to f.] Description [Returns the result if found; it returns NULL if no result is found.] SideEffects [None] SeeAlso [cuddCacheLookup cuddCacheLookup2] ******************************************************************************/ DdNode * cuddCacheLookup1( DdManager * table, DD_CTFP1 op, DdNode * f) { int posn; DdCache *en,*cache; DdNode *data; cache = table->cache; #ifdef DD_DEBUG if (cache == NULL) { return(NULL); } #endif posn = ddCHash2(op,f,f,table->cacheShift); en = &cache[posn]; if (en->data != NULL && en->f==f && en->h==(ptruint)op) { data = Cudd_Regular(en->data); table->cacheHits++; if (data->ref == 0) { cuddReclaim(table,data); } return(en->data); } /* Cache miss: decide whether to resize. */ table->cacheMisses++; if (table->cacheSlack >= 0 && table->cacheHits > table->cacheMisses * table->minHit) { cuddCacheResize(table); } return(NULL); } /* end of cuddCacheLookup1 */ /**Function******************************************************************** Synopsis [Looks up in the cache for the result of op applied to f and g.] Description [Returns the result if found; it returns NULL if no result is found.] SideEffects [None] SeeAlso [cuddCacheLookupZdd cuddCacheLookup1Zdd] ******************************************************************************/ DdNode * cuddCacheLookup2Zdd( DdManager * table, DD_CTFP op, DdNode * f, DdNode * g) { int posn; DdCache *en,*cache; DdNode *data; cache = table->cache; #ifdef DD_DEBUG if (cache == NULL) { return(NULL); } #endif posn = ddCHash2(op,f,g,table->cacheShift); en = &cache[posn]; if (en->data != NULL && en->f==f && en->g==g && en->h==(ptruint)op) { data = Cudd_Regular(en->data); table->cacheHits++; if ((en->data != DD_NON_CONSTANT) && (data->ref == 0)) { cuddReclaimZdd(table,data); } return(en->data); } /* Cache miss: decide whether to resize. */ table->cacheMisses++; if (table->cacheSlack >= 0 && table->cacheHits > table->cacheMisses * table->minHit) { cuddCacheResize(table); } return(NULL); } /* end of cuddCacheLookup2Zdd */ /**Function******************************************************************** Synopsis [Looks up in the cache for the result of op applied to f.] Description [Returns the result if found; it returns NULL if no result is found.] SideEffects [None] SeeAlso [cuddCacheLookupZdd cuddCacheLookup2Zdd] ******************************************************************************/ DdNode * cuddCacheLookup1Zdd( DdManager * table, DD_CTFP1 op, DdNode * f) { int posn; DdCache *en,*cache; DdNode *data; cache = table->cache; #ifdef DD_DEBUG if (cache == NULL) { return(NULL); } #endif posn = ddCHash2(op,f,f,table->cacheShift); en = &cache[posn]; if (en->data != NULL && en->f==f && en->h==(ptruint)op) { data = Cudd_Regular(en->data); table->cacheHits++; if (data->ref == 0) { cuddReclaimZdd(table,data); } return(en->data); } /* Cache miss: decide whether to resize. */ table->cacheMisses++; if (table->cacheSlack >= 0 && table->cacheHits > table->cacheMisses * table->minHit) { cuddCacheResize(table); } return(NULL); } /* end of cuddCacheLookup1Zdd */ /**Function******************************************************************** Synopsis [Looks up in the cache for the result of op applied to f, g, and h.] Description [Looks up in the cache for the result of op applied to f, g, and h. Assumes that the calling procedure (e.g., Cudd_bddIteConstant) is only interested in whether the result is constant or not. Returns the result if found (possibly DD_NON_CONSTANT); otherwise it returns NULL.] SideEffects [None] SeeAlso [cuddCacheLookup] ******************************************************************************/ DdNode * cuddConstantLookup( DdManager * table, ptruint op, DdNode * f, DdNode * g, DdNode * h) { int posn; DdCache *en,*cache; ptruint uf, ug, uh; uf = (ptruint) f | (op & 0xe); ug = (ptruint) g | (op >> 4); uh = (ptruint) h; cache = table->cache; #ifdef DD_DEBUG if (cache == NULL) { return(NULL); } #endif posn = ddCHash2(uh,uf,ug,table->cacheShift); en = &cache[posn]; /* We do not reclaim here because the result should not be * referenced, but only tested for being a constant. */ if (en->data != NULL && en->f == (DdNodePtr)uf && en->g == (DdNodePtr)ug && en->h == uh) { table->cacheHits++; return(en->data); } /* Cache miss: decide whether to resize. */ table->cacheMisses++; if (table->cacheSlack >= 0 && table->cacheHits > table->cacheMisses * table->minHit) { cuddCacheResize(table); } return(NULL); } /* end of cuddConstantLookup */ /**Function******************************************************************** Synopsis [Computes and prints a profile of the cache usage.] Description [Computes and prints a profile of the cache usage. Returns 1 if successful; 0 otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ int cuddCacheProfile( DdManager * table, FILE * fp) { DdCache *cache = table->cache; int slots = table->cacheSlots; int nzeroes = 0; int i, retval; double exUsed; #ifdef DD_CACHE_PROFILE double count, mean, meansq, stddev, expected; long max, min; int imax, imin; double *hystogramQ, *hystogramR; /* histograms by quotient and remainder */ int nbins = DD_HYSTO_BINS; int bin; long thiscount; double totalcount, exStddev; meansq = mean = expected = 0.0; max = min = (long) cache[0].count; imax = imin = 0; totalcount = 0.0; hystogramQ = ALLOC(double, nbins); if (hystogramQ == NULL) { table->errorCode = CUDD_MEMORY_OUT; return(0); } hystogramR = ALLOC(double, nbins); if (hystogramR == NULL) { FREE(hystogramQ); table->errorCode = CUDD_MEMORY_OUT; return(0); } for (i = 0; i < nbins; i++) { hystogramQ[i] = 0; hystogramR[i] = 0; } for (i = 0; i < slots; i++) { thiscount = (long) cache[i].count; if (thiscount > max) { max = thiscount; imax = i; } if (thiscount < min) { min = thiscount; imin = i; } if (thiscount == 0) { nzeroes++; } count = (double) thiscount; mean += count; meansq += count * count; totalcount += count; expected += count * (double) i; bin = (i * nbins) / slots; hystogramQ[bin] += (double) thiscount; bin = i % nbins; hystogramR[bin] += (double) thiscount; } mean /= (double) slots; meansq /= (double) slots; /* Compute the standard deviation from both the data and the ** theoretical model for a random distribution. */ stddev = sqrt(meansq - mean*mean); exStddev = sqrt((1 - 1/(double) slots) * totalcount / (double) slots); retval = fprintf(fp,"Cache average accesses = %g\n", mean); if (retval == EOF) return(0); retval = fprintf(fp,"Cache access standard deviation = %g ", stddev); if (retval == EOF) return(0); retval = fprintf(fp,"(expected = %g)\n", exStddev); if (retval == EOF) return(0); retval = fprintf(fp,"Cache max accesses = %ld for slot %d\n", max, imax); if (retval == EOF) return(0); retval = fprintf(fp,"Cache min accesses = %ld for slot %d\n", min, imin); if (retval == EOF) return(0); exUsed = 100.0 * (1.0 - exp(-totalcount / (double) slots)); retval = fprintf(fp,"Cache used slots = %.2f%% (expected %.2f%%)\n", 100.0 - (double) nzeroes * 100.0 / (double) slots, exUsed); if (retval == EOF) return(0); if (totalcount > 0) { expected /= totalcount; retval = fprintf(fp,"Cache access hystogram for %d bins", nbins); if (retval == EOF) return(0); retval = fprintf(fp," (expected bin value = %g)\nBy quotient:", expected); if (retval == EOF) return(0); for (i = nbins - 1; i>=0; i--) { retval = fprintf(fp," %.0f", hystogramQ[i]); if (retval == EOF) return(0); } retval = fprintf(fp,"\nBy residue: "); if (retval == EOF) return(0); for (i = nbins - 1; i>=0; i--) { retval = fprintf(fp," %.0f", hystogramR[i]); if (retval == EOF) return(0); } retval = fprintf(fp,"\n"); if (retval == EOF) return(0); } FREE(hystogramQ); FREE(hystogramR); #else for (i = 0; i < slots; i++) { nzeroes += cache[i].h == 0; } exUsed = 100.0 * (1.0 - exp(-(table->cacheinserts - table->cacheLastInserts) / (double) slots)); retval = fprintf(fp,"Cache used slots = %.2f%% (expected %.2f%%)\n", 100.0 - (double) nzeroes * 100.0 / (double) slots, exUsed); if (retval == EOF) return(0); #endif return(1); } /* end of cuddCacheProfile */ /**Function******************************************************************** Synopsis [Resizes the cache.] Description [] SideEffects [None] SeeAlso [] ******************************************************************************/ void cuddCacheResize( DdManager * table) { DdCache *cache, *oldcache, *oldacache, *entry, *old; int i; int posn, shift; unsigned int slots, oldslots; double offset; int moved = 0; extern DD_OOMFP MMoutOfMemory; DD_OOMFP saveHandler; #ifndef DD_CACHE_PROFILE ptruint misalignment; DdNodePtr *mem; #endif oldcache = table->cache; oldacache = table->acache; oldslots = table->cacheSlots; slots = table->cacheSlots = oldslots << 1; #ifdef DD_VERBOSE (void) fprintf(table->err,"Resizing the cache from %d to %d entries\n", oldslots, slots); (void) fprintf(table->err, "\thits = %g\tmisses = %g\thit ratio = %5.3f\n", table->cacheHits, table->cacheMisses, table->cacheHits / (table->cacheHits + table->cacheMisses)); #endif saveHandler = MMoutOfMemory; MMoutOfMemory = Cudd_OutOfMem; table->acache = cache = ALLOC(DdCache,slots+1); MMoutOfMemory = saveHandler; /* If we fail to allocate the new table we just give up. */ if (cache == NULL) { #ifdef DD_VERBOSE (void) fprintf(table->err,"Resizing failed. Giving up.\n"); #endif table->cacheSlots = oldslots; table->acache = oldacache; /* Do not try to resize again. */ table->maxCacheHard = oldslots - 1; table->cacheSlack = - (int) (oldslots + 1); return; } /* If the size of the cache entry is a power of 2, we want to ** enforce alignment to that power of two. This happens when ** DD_CACHE_PROFILE is not defined. */ #ifdef DD_CACHE_PROFILE table->cache = cache; #else mem = (DdNodePtr *) cache; misalignment = (ptruint) mem & (sizeof(DdCache) - 1); mem += (sizeof(DdCache) - misalignment) / sizeof(DdNodePtr); table->cache = cache = (DdCache *) mem; CUDD_ASSERT(((ptruint) table->cache & (sizeof(DdCache) - 1)) == 0); #endif shift = --(table->cacheShift); table->memused += (slots - oldslots) * sizeof(DdCache); table->cacheSlack -= slots; /* need these many slots to double again */ /* Clear new cache. */ for (i = 0; (unsigned) i < slots; i++) { cache[i].data = NULL; cache[i].h = 0; #ifdef DD_CACHE_PROFILE cache[i].count = 0; #endif } /* Copy from old cache to new one. */ for (i = 0; (unsigned) i < oldslots; i++) { old = &oldcache[i]; if (old->data != NULL) { posn = ddCHash2(old->h,old->f,old->g,shift); entry = &cache[posn]; entry->f = old->f; entry->g = old->g; entry->h = old->h; entry->data = old->data; #ifdef DD_CACHE_PROFILE entry->count = 1; #endif moved++; } } FREE(oldacache); /* Reinitialize measurements so as to avoid division by 0 and ** immediate resizing. */ offset = (double) (int) (slots * table->minHit + 1); table->totCacheMisses += table->cacheMisses - offset; table->cacheMisses = offset; table->totCachehits += table->cacheHits; table->cacheHits = 0; table->cacheLastInserts = table->cacheinserts - (double) moved; } /* end of cuddCacheResize */ /**Function******************************************************************** Synopsis [Flushes the cache.] Description [] SideEffects [None] SeeAlso [] ******************************************************************************/ void cuddCacheFlush( DdManager * table) { int i, slots; DdCache *cache; slots = table->cacheSlots; cache = table->cache; for (i = 0; i < slots; i++) { table->cachedeletions += cache[i].data != NULL; cache[i].data = NULL; } table->cacheLastInserts = table->cacheinserts; return; } /* end of cuddCacheFlush */ /**Function******************************************************************** Synopsis [Returns the floor of the logarithm to the base 2.] Description [Returns the floor of the logarithm to the base 2. The input value is assumed to be greater than 0.] SideEffects [None] SeeAlso [] ******************************************************************************/ int cuddComputeFloorLog2( unsigned int value) { int floorLog = 0; #ifdef DD_DEBUG CUDD_ASSERT(value > 0); #endif while (value > 1) { floorLog++; value >>= 1; } return(floorLog); } /* end of cuddComputeFloorLog2 */ /*---------------------------------------------------------------------------*/ /* Definition of static functions */ /*---------------------------------------------------------------------------*/ BRiAl-1.2.12/cudd/cuddCheck.c000066400000000000000000000645531436062512100155030ustar00rootroot00000000000000/**CFile*********************************************************************** FileName [cuddCheck.c] PackageName [cudd] Synopsis [Functions to check consistency of data structures.] Description [External procedures included in this module:
  • Cudd_DebugCheck()
  • Cudd_CheckKeys()
Internal procedures included in this module:
  • cuddHeapProfile()
  • cuddPrintNode()
  • cuddPrintVarGroups()
Static procedures included in this module:
  • debugFindParent()
] SeeAlso [] Author [Fabio Somenzi] Copyright [Copyright (c) 1995-2012, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.] ******************************************************************************/ #include "util.h" #include "cuddInt.h" /*---------------------------------------------------------------------------*/ /* Constant declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Stucture declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Type declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Variable declarations */ /*---------------------------------------------------------------------------*/ #ifndef lint static char rcsid[] DD_UNUSED = "$Id: cuddCheck.c,v 1.37 2012/02/05 01:07:18 fabio Exp $"; #endif /*---------------------------------------------------------------------------*/ /* Macro declarations */ /*---------------------------------------------------------------------------*/ /**AutomaticStart*************************************************************/ /*---------------------------------------------------------------------------*/ /* Static function prototypes */ /*---------------------------------------------------------------------------*/ static void debugFindParent (DdManager *table, DdNode *node); #if 0 static void debugCheckParent (DdManager *table, DdNode *node); #endif /**AutomaticEnd***************************************************************/ /*---------------------------------------------------------------------------*/ /* Definition of exported functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Checks for inconsistencies in the DD heap.] Description [Checks for inconsistencies in the DD heap:
  • node has illegal index
  • live node has dead children
  • node has illegal Then or Else pointers
  • BDD/ADD node has identical children
  • ZDD node has zero then child
  • wrong number of total nodes
  • wrong number of dead nodes
  • ref count error at node
Returns 0 if no inconsistencies are found; DD_OUT_OF_MEM if there is not enough memory; 1 otherwise.] SideEffects [None] SeeAlso [Cudd_CheckKeys] ******************************************************************************/ int Cudd_DebugCheck( DdManager * table) { unsigned int i; int j,count; int slots; DdNodePtr *nodelist; DdNode *f; DdNode *sentinel = &(table->sentinel); st_table *edgeTable; /* stores internal ref count for each node */ st_generator *gen; int flag = 0; int totalNode; int deadNode; int index; int shift; edgeTable = st_init_table(st_ptrcmp,st_ptrhash); if (edgeTable == NULL) return(CUDD_OUT_OF_MEM); /* Check the BDD/ADD subtables. */ for (i = 0; i < (unsigned) table->size; i++) { index = table->invperm[i]; if (i != (unsigned) table->perm[index]) { (void) fprintf(table->err, "Permutation corrupted: invperm[%u] = %d\t perm[%d] = %d\n", i, index, index, table->perm[index]); } nodelist = table->subtables[i].nodelist; slots = table->subtables[i].slots; shift = table->subtables[i].shift; totalNode = 0; deadNode = 0; for (j = 0; j < slots; j++) { /* for each subtable slot */ f = nodelist[j]; while (f != sentinel) { totalNode++; if (cuddT(f) != NULL && cuddE(f) != NULL && f->ref != 0) { if ((int) f->index != index) { (void) fprintf(table->err, "Error: node has illegal index\n"); cuddPrintNode(f,table->err); flag = 1; } if ((unsigned) cuddI(table,cuddT(f)->index) <= i || (unsigned) cuddI(table,Cudd_Regular(cuddE(f))->index) <= i) { (void) fprintf(table->err, "Error: node has illegal children\n"); cuddPrintNode(f,table->err); flag = 1; } if (Cudd_Regular(cuddT(f)) != cuddT(f)) { (void) fprintf(table->err, "Error: node has illegal form\n"); cuddPrintNode(f,table->err); flag = 1; } if (cuddT(f) == cuddE(f)) { (void) fprintf(table->err, "Error: node has identical children\n"); cuddPrintNode(f,table->err); flag = 1; } if (cuddT(f)->ref == 0 || Cudd_Regular(cuddE(f))->ref == 0) { (void) fprintf(table->err, "Error: live node has dead children\n"); cuddPrintNode(f,table->err); flag =1; } if (ddHash(cuddT(f),cuddE(f),shift) != j) { (void) fprintf(table->err, "Error: misplaced node\n"); cuddPrintNode(f,table->err); flag =1; } /* Increment the internal reference count for the ** then child of the current node. */ if (st_lookup_int(edgeTable,(char *)cuddT(f),&count)) { count++; } else { count = 1; } if (st_insert(edgeTable,(char *)cuddT(f), (char *)(long)count) == ST_OUT_OF_MEM) { st_free_table(edgeTable); return(CUDD_OUT_OF_MEM); } /* Increment the internal reference count for the ** else child of the current node. */ if (st_lookup_int(edgeTable,(char *)Cudd_Regular(cuddE(f)), &count)) { count++; } else { count = 1; } if (st_insert(edgeTable,(char *)Cudd_Regular(cuddE(f)), (char *)(long)count) == ST_OUT_OF_MEM) { st_free_table(edgeTable); return(CUDD_OUT_OF_MEM); } } else if (cuddT(f) != NULL && cuddE(f) != NULL && f->ref == 0) { deadNode++; #if 0 debugCheckParent(table,f); #endif } else { fprintf(table->err, "Error: node has illegal Then or Else pointers\n"); cuddPrintNode(f,table->err); flag = 1; } f = f->next; } /* for each element of the collision list */ } /* for each subtable slot */ if ((unsigned) totalNode != table->subtables[i].keys) { fprintf(table->err,"Error: wrong number of total nodes\n"); flag = 1; } if ((unsigned) deadNode != table->subtables[i].dead) { fprintf(table->err,"Error: wrong number of dead nodes\n"); flag = 1; } } /* for each BDD/ADD subtable */ /* Check the ZDD subtables. */ for (i = 0; i < (unsigned) table->sizeZ; i++) { index = table->invpermZ[i]; if (i != (unsigned) table->permZ[index]) { (void) fprintf(table->err, "Permutation corrupted: invpermZ[%u] = %d\t permZ[%d] = %d in ZDD\n", i, index, index, table->permZ[index]); } nodelist = table->subtableZ[i].nodelist; slots = table->subtableZ[i].slots; totalNode = 0; deadNode = 0; for (j = 0; j < slots; j++) { /* for each subtable slot */ f = nodelist[j]; while (f != NULL) { totalNode++; if (cuddT(f) != NULL && cuddE(f) != NULL && f->ref != 0) { if ((int) f->index != index) { (void) fprintf(table->err, "Error: ZDD node has illegal index\n"); cuddPrintNode(f,table->err); flag = 1; } if (Cudd_IsComplement(cuddT(f)) || Cudd_IsComplement(cuddE(f))) { (void) fprintf(table->err, "Error: ZDD node has complemented children\n"); cuddPrintNode(f,table->err); flag = 1; } if ((unsigned) cuddIZ(table,cuddT(f)->index) <= i || (unsigned) cuddIZ(table,cuddE(f)->index) <= i) { (void) fprintf(table->err, "Error: ZDD node has illegal children\n"); cuddPrintNode(f,table->err); cuddPrintNode(cuddT(f),table->err); cuddPrintNode(cuddE(f),table->err); flag = 1; } if (cuddT(f) == DD_ZERO(table)) { (void) fprintf(table->err, "Error: ZDD node has zero then child\n"); cuddPrintNode(f,table->err); flag = 1; } if (cuddT(f)->ref == 0 || cuddE(f)->ref == 0) { (void) fprintf(table->err, "Error: ZDD live node has dead children\n"); cuddPrintNode(f,table->err); flag =1; } /* Increment the internal reference count for the ** then child of the current node. */ if (st_lookup_int(edgeTable,(char *)cuddT(f),&count)) { count++; } else { count = 1; } if (st_insert(edgeTable,(char *)cuddT(f), (char *)(long)count) == ST_OUT_OF_MEM) { st_free_table(edgeTable); return(CUDD_OUT_OF_MEM); } /* Increment the internal reference count for the ** else child of the current node. */ if (st_lookup_int(edgeTable,(char *)cuddE(f),&count)) { count++; } else { count = 1; } if (st_insert(edgeTable,(char *)cuddE(f), (char *)(long)count) == ST_OUT_OF_MEM) { st_free_table(edgeTable); table->errorCode = CUDD_MEMORY_OUT; return(CUDD_OUT_OF_MEM); } } else if (cuddT(f) != NULL && cuddE(f) != NULL && f->ref == 0) { deadNode++; #if 0 debugCheckParent(table,f); #endif } else { fprintf(table->err, "Error: ZDD node has illegal Then or Else pointers\n"); cuddPrintNode(f,table->err); flag = 1; } f = f->next; } /* for each element of the collision list */ } /* for each subtable slot */ if ((unsigned) totalNode != table->subtableZ[i].keys) { fprintf(table->err, "Error: wrong number of total nodes in ZDD\n"); flag = 1; } if ((unsigned) deadNode != table->subtableZ[i].dead) { fprintf(table->err, "Error: wrong number of dead nodes in ZDD\n"); flag = 1; } } /* for each ZDD subtable */ /* Check the constant table. */ nodelist = table->constants.nodelist; slots = table->constants.slots; totalNode = 0; deadNode = 0; for (j = 0; j < slots; j++) { f = nodelist[j]; while (f != NULL) { totalNode++; if (f->ref != 0) { if (f->index != CUDD_CONST_INDEX) { fprintf(table->err,"Error: node has illegal index\n"); #if SIZEOF_VOID_P == 8 fprintf(table->err, " node 0x%lx, id = %u, ref = %u, value = %g\n", (ptruint)f,f->index,f->ref,cuddV(f)); #else fprintf(table->err, " node 0x%x, id = %hu, ref = %hu, value = %g\n", (ptruint)f,f->index,f->ref,cuddV(f)); #endif flag = 1; } } else { deadNode++; } f = f->next; } } if ((unsigned) totalNode != table->constants.keys) { (void) fprintf(table->err, "Error: wrong number of total nodes in constants\n"); flag = 1; } if ((unsigned) deadNode != table->constants.dead) { (void) fprintf(table->err, "Error: wrong number of dead nodes in constants\n"); flag = 1; } gen = st_init_gen(edgeTable); while (st_gen(gen, &f, &count)) { if (count > (int)(f->ref) && f->ref != DD_MAXREF) { #if SIZEOF_VOID_P == 8 fprintf(table->err,"ref count error at node 0x%lx, count = %d, id = %u, ref = %u, then = 0x%lx, else = 0x%lx\n",(ptruint)f,count,f->index,f->ref,(ptruint)cuddT(f),(ptruint)cuddE(f)); #else fprintf(table->err,"ref count error at node 0x%x, count = %d, id = %hu, ref = %hu, then = 0x%x, else = 0x%x\n",(ptruint)f,count,f->index,f->ref,(ptruint)cuddT(f),(ptruint)cuddE(f)); #endif debugFindParent(table,f); flag = 1; } } st_free_gen(gen); st_free_table(edgeTable); return (flag); } /* end of Cudd_DebugCheck */ /**Function******************************************************************** Synopsis [Checks for several conditions that should not occur.] Description [Checks for the following conditions:
  • Wrong sizes of subtables.
  • Wrong number of keys found in unique subtable.
  • Wrong number of dead found in unique subtable.
  • Wrong number of keys found in the constant table
  • Wrong number of dead found in the constant table
  • Wrong number of total slots found
  • Wrong number of maximum keys found
  • Wrong number of total dead found
Reports the average length of non-empty lists. Returns the number of subtables for which the number of keys is wrong.] SideEffects [None] SeeAlso [Cudd_DebugCheck] ******************************************************************************/ int Cudd_CheckKeys( DdManager * table) { int size; int i,j; DdNodePtr *nodelist; DdNode *node; DdNode *sentinel = &(table->sentinel); DdSubtable *subtable; int keys; int dead; int count = 0; int totalKeys = 0; int totalSlots = 0; int totalDead = 0; int nonEmpty = 0; unsigned int slots; int logSlots; int shift; size = table->size; for (i = 0; i < size; i++) { subtable = &(table->subtables[i]); nodelist = subtable->nodelist; keys = subtable->keys; dead = subtable->dead; totalKeys += keys; slots = subtable->slots; shift = subtable->shift; logSlots = sizeof(int) * 8 - shift; if (((slots >> logSlots) << logSlots) != slots) { (void) fprintf(table->err, "Unique table %d is not the right power of 2\n", i); (void) fprintf(table->err, " slots = %u shift = %d\n", slots, shift); } totalSlots += slots; totalDead += dead; for (j = 0; (unsigned) j < slots; j++) { node = nodelist[j]; if (node != sentinel) { nonEmpty++; } while (node != sentinel) { keys--; if (node->ref == 0) { dead--; } node = node->next; } } if (keys != 0) { (void) fprintf(table->err, "Wrong number of keys found \ in unique table %d (difference=%d)\n", i, keys); count++; } if (dead != 0) { (void) fprintf(table->err, "Wrong number of dead found \ in unique table no. %d (difference=%d)\n", i, dead); } } /* for each BDD/ADD subtable */ /* Check the ZDD subtables. */ size = table->sizeZ; for (i = 0; i < size; i++) { subtable = &(table->subtableZ[i]); nodelist = subtable->nodelist; keys = subtable->keys; dead = subtable->dead; totalKeys += keys; totalSlots += subtable->slots; totalDead += dead; for (j = 0; (unsigned) j < subtable->slots; j++) { node = nodelist[j]; if (node != NULL) { nonEmpty++; } while (node != NULL) { keys--; if (node->ref == 0) { dead--; } node = node->next; } } if (keys != 0) { (void) fprintf(table->err, "Wrong number of keys found \ in ZDD unique table no. %d (difference=%d)\n", i, keys); count++; } if (dead != 0) { (void) fprintf(table->err, "Wrong number of dead found \ in ZDD unique table no. %d (difference=%d)\n", i, dead); } } /* for each ZDD subtable */ /* Check the constant table. */ subtable = &(table->constants); nodelist = subtable->nodelist; keys = subtable->keys; dead = subtable->dead; totalKeys += keys; totalSlots += subtable->slots; totalDead += dead; for (j = 0; (unsigned) j < subtable->slots; j++) { node = nodelist[j]; if (node != NULL) { nonEmpty++; } while (node != NULL) { keys--; if (node->ref == 0) { dead--; } node = node->next; } } if (keys != 0) { (void) fprintf(table->err, "Wrong number of keys found \ in the constant table (difference=%d)\n", keys); count++; } if (dead != 0) { (void) fprintf(table->err, "Wrong number of dead found \ in the constant table (difference=%d)\n", dead); } if ((unsigned) totalKeys != table->keys + table->keysZ) { (void) fprintf(table->err, "Wrong number of total keys found \ (difference=%d)\n", (int) (totalKeys-table->keys)); } if ((unsigned) totalSlots != table->slots) { (void) fprintf(table->err, "Wrong number of total slots found \ (difference=%d)\n", (int) (totalSlots-table->slots)); } if (table->minDead != (unsigned) (table->gcFrac * table->slots)) { (void) fprintf(table->err, "Wrong number of minimum dead found \ (%u vs. %u)\n", table->minDead, (unsigned) (table->gcFrac * (double) table->slots)); } if ((unsigned) totalDead != table->dead + table->deadZ) { (void) fprintf(table->err, "Wrong number of total dead found \ (difference=%d)\n", (int) (totalDead-table->dead)); } (void) fprintf(table->out,"Average length of non-empty lists = %g\n", (double) table->keys / (double) nonEmpty); return(count); } /* end of Cudd_CheckKeys */ /*---------------------------------------------------------------------------*/ /* Definition of internal functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Prints information about the heap.] Description [Prints to the manager's stdout the number of live nodes for each level of the DD heap that contains at least one live node. It also prints a summary containing:
  • total number of tables;
  • number of tables with live nodes;
  • table with the largest number of live nodes;
  • number of nodes in that table.
If more than one table contains the maximum number of live nodes, only the one of lowest index is reported. Returns 1 in case of success and 0 otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ int cuddHeapProfile( DdManager * dd) { int ntables = dd->size; DdSubtable *subtables = dd->subtables; int i, /* loop index */ nodes, /* live nodes in i-th layer */ retval, /* return value of fprintf */ largest = -1, /* index of the table with most live nodes */ maxnodes = -1, /* maximum number of live nodes in a table */ nonempty = 0; /* number of tables with live nodes */ /* Print header. */ #if SIZEOF_VOID_P == 8 retval = fprintf(dd->out,"*** DD heap profile for 0x%lx ***\n", (ptruint) dd); #else retval = fprintf(dd->out,"*** DD heap profile for 0x%x ***\n", (ptruint) dd); #endif if (retval == EOF) return 0; /* Print number of live nodes for each nonempty table. */ for (i=0; iout,"%5d: %5d nodes\n", i, nodes); if (retval == EOF) return 0; if (nodes > maxnodes) { maxnodes = nodes; largest = i; } } } nodes = dd->constants.keys - dd->constants.dead; if (nodes) { nonempty++; retval = fprintf(dd->out,"const: %5d nodes\n", nodes); if (retval == EOF) return 0; if (nodes > maxnodes) { maxnodes = nodes; largest = CUDD_CONST_INDEX; } } /* Print summary. */ retval = fprintf(dd->out,"Summary: %d tables, %d non-empty, largest: %d ", ntables+1, nonempty, largest); if (retval == EOF) return 0; retval = fprintf(dd->out,"(with %d nodes)\n", maxnodes); if (retval == EOF) return 0; return(1); } /* end of cuddHeapProfile */ /**Function******************************************************************** Synopsis [Prints out information on a node.] Description [Prints out information on a node.] SideEffects [None] SeeAlso [] ******************************************************************************/ void cuddPrintNode( DdNode * f, FILE *fp) { f = Cudd_Regular(f); #if SIZEOF_VOID_P == 8 (void) fprintf(fp," node 0x%lx, id = %u, ref = %u, then = 0x%lx, else = 0x%lx\n",(ptruint)f,f->index,f->ref,(ptruint)cuddT(f),(ptruint)cuddE(f)); #else (void) fprintf(fp," node 0x%x, id = %hu, ref = %hu, then = 0x%x, else = 0x%x\n",(ptruint)f,f->index,f->ref,(ptruint)cuddT(f),(ptruint)cuddE(f)); #endif } /* end of cuddPrintNode */ /**Function******************************************************************** Synopsis [Prints the variable groups as a parenthesized list.] Description [Prints the variable groups as a parenthesized list. For each group the level range that it represents is printed. After each group, the group's flags are printed, preceded by a `|'. For each flag (except MTR_TERMINAL) a character is printed.
  • F: MTR_FIXED
  • N: MTR_NEWNODE
  • S: MTR_SOFT
The second argument, silent, if different from 0, causes Cudd_PrintVarGroups to only check the syntax of the group tree.] SideEffects [None] SeeAlso [] ******************************************************************************/ void cuddPrintVarGroups( DdManager * dd /* manager */, MtrNode * root /* root of the group tree */, int zdd /* 0: BDD; 1: ZDD */, int silent /* flag to check tree syntax only */) { MtrNode *node; int level; assert(root != NULL); assert(root->younger == NULL || root->younger->elder == root); assert(root->elder == NULL || root->elder->younger == root); if (zdd) { level = dd->permZ[root->index]; } else { level = dd->perm[root->index]; } if (!silent) (void) printf("(%d",level); if (MTR_TEST(root,MTR_TERMINAL) || root->child == NULL) { if (!silent) (void) printf(","); } else { node = root->child; while (node != NULL) { assert(node->low >= root->low && (int) (node->low + node->size) <= (int) (root->low + root->size)); assert(node->parent == root); cuddPrintVarGroups(dd,node,zdd,silent); node = node->younger; } } if (!silent) { (void) printf("%d", (int) (level + root->size - 1)); if (root->flags != MTR_DEFAULT) { (void) printf("|"); if (MTR_TEST(root,MTR_FIXED)) (void) printf("F"); if (MTR_TEST(root,MTR_NEWNODE)) (void) printf("N"); if (MTR_TEST(root,MTR_SOFT)) (void) printf("S"); } (void) printf(")"); if (root->parent == NULL) (void) printf("\n"); } assert((root->flags &~(MTR_TERMINAL | MTR_SOFT | MTR_FIXED | MTR_NEWNODE)) == 0); return; } /* end of cuddPrintVarGroups */ /*---------------------------------------------------------------------------*/ /* Definition of static functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Searches the subtables above node for its parents.] Description [] SideEffects [None] SeeAlso [] ******************************************************************************/ static void debugFindParent( DdManager * table, DdNode * node) { int i,j; int slots; DdNodePtr *nodelist; DdNode *f; for (i = 0; i < cuddI(table,node->index); i++) { nodelist = table->subtables[i].nodelist; slots = table->subtables[i].slots; for (j=0;jout,"parent is at 0x%lx, id = %u, ref = %u, then = 0x%lx, else = 0x%lx\n", (ptruint)f,f->index,f->ref,(ptruint)cuddT(f),(ptruint)cuddE(f)); #else (void) fprintf(table->out,"parent is at 0x%x, id = %hu, ref = %hu, then = 0x%x, else = 0x%x\n", (ptruint)f,f->index,f->ref,(ptruint)cuddT(f),(ptruint)cuddE(f)); #endif } f = f->next; } } } } /* end of debugFindParent */ #if 0 /**Function******************************************************************** Synopsis [Reports an error if a (dead) node has a non-dead parent.] Description [Searches all the subtables above node. Very expensive. The same check is now implemented more efficiently in ddDebugCheck.] SideEffects [None] SeeAlso [debugFindParent] ******************************************************************************/ static void debugCheckParent( DdManager * table, DdNode * node) { int i,j; int slots; DdNode **nodelist,*f; for (i = 0; i < cuddI(table,node->index); i++) { nodelist = table->subtables[i].nodelist; slots = table->subtables[i].slots; for (j=0;jref != 0) { (void) fprintf(table->err, "error with zero ref count\n"); (void) fprintf(table->err,"parent is 0x%x, id = %u, ref = %u, then = 0x%x, else = 0x%x\n",f,f->index,f->ref,cuddT(f),cuddE(f)); (void) fprintf(table->err,"child is 0x%x, id = %u, ref = %u, then = 0x%x, else = 0x%x\n",node,node->index,node->ref,cuddT(node),cuddE(node)); } f = f->next; } } } } #endif BRiAl-1.2.12/cudd/cuddClip.c000066400000000000000000000402341436062512100153430ustar00rootroot00000000000000/**CFile*********************************************************************** FileName [cuddClip.c] PackageName [cudd] Synopsis [Clipping functions.] Description [External procedures included in this module:
  • Cudd_bddClippingAnd()
  • Cudd_bddClippingAndAbstract()
Internal procedures included in this module:
  • cuddBddClippingAnd()
  • cuddBddClippingAndAbstract()
Static procedures included in this module:
  • cuddBddClippingAndRecur()
  • cuddBddClipAndAbsRecur()
SeeAlso [] Author [Fabio Somenzi] Copyright [Copyright (c) 1995-2012, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.] ******************************************************************************/ #include "util.h" #include "cuddInt.h" /*---------------------------------------------------------------------------*/ /* Constant declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Stucture declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Type declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Variable declarations */ /*---------------------------------------------------------------------------*/ #ifndef lint static char rcsid[] DD_UNUSED = "$Id: cuddClip.c,v 1.9 2012/02/05 01:07:18 fabio Exp $"; #endif /*---------------------------------------------------------------------------*/ /* Macro declarations */ /*---------------------------------------------------------------------------*/ /**AutomaticStart*************************************************************/ /*---------------------------------------------------------------------------*/ /* Static function prototypes */ /*---------------------------------------------------------------------------*/ static DdNode * cuddBddClippingAndRecur (DdManager *manager, DdNode *f, DdNode *g, int distance, int direction); static DdNode * cuddBddClipAndAbsRecur (DdManager *manager, DdNode *f, DdNode *g, DdNode *cube, int distance, int direction); /**AutomaticEnd***************************************************************/ /*---------------------------------------------------------------------------*/ /* Definition of exported functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Approximates the conjunction of two BDDs f and g.] Description [Approximates the conjunction of two BDDs f and g. Returns a pointer to the resulting BDD if successful; NULL if the intermediate result blows up.] SideEffects [None] SeeAlso [Cudd_bddAnd] ******************************************************************************/ DdNode * Cudd_bddClippingAnd( DdManager * dd /* manager */, DdNode * f /* first conjunct */, DdNode * g /* second conjunct */, int maxDepth /* maximum recursion depth */, int direction /* under (0) or over (1) approximation */) { DdNode *res; do { dd->reordered = 0; res = cuddBddClippingAnd(dd,f,g,maxDepth,direction); } while (dd->reordered == 1); return(res); } /* end of Cudd_bddClippingAnd */ /**Function******************************************************************** Synopsis [Approximates the conjunction of two BDDs f and g and simultaneously abstracts the variables in cube.] Description [Approximates the conjunction of two BDDs f and g and simultaneously abstracts the variables in cube. The variables are existentially abstracted. Returns a pointer to the resulting BDD if successful; NULL if the intermediate result blows up.] SideEffects [None] SeeAlso [Cudd_bddAndAbstract Cudd_bddClippingAnd] ******************************************************************************/ DdNode * Cudd_bddClippingAndAbstract( DdManager * dd /* manager */, DdNode * f /* first conjunct */, DdNode * g /* second conjunct */, DdNode * cube /* cube of variables to be abstracted */, int maxDepth /* maximum recursion depth */, int direction /* under (0) or over (1) approximation */) { DdNode *res; do { dd->reordered = 0; res = cuddBddClippingAndAbstract(dd,f,g,cube,maxDepth,direction); } while (dd->reordered == 1); return(res); } /* end of Cudd_bddClippingAndAbstract */ /*---------------------------------------------------------------------------*/ /* Definition of internal functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Approximates the conjunction of two BDDs f and g.] Description [Approximates the conjunction of two BDDs f and g. Returns a pointer to the resulting BDD if successful; NULL if the intermediate result blows up.] SideEffects [None] SeeAlso [Cudd_bddClippingAnd] ******************************************************************************/ DdNode * cuddBddClippingAnd( DdManager * dd /* manager */, DdNode * f /* first conjunct */, DdNode * g /* second conjunct */, int maxDepth /* maximum recursion depth */, int direction /* under (0) or over (1) approximation */) { DdNode *res; res = cuddBddClippingAndRecur(dd,f,g,maxDepth,direction); return(res); } /* end of cuddBddClippingAnd */ /**Function******************************************************************** Synopsis [Approximates the conjunction of two BDDs f and g and simultaneously abstracts the variables in cube.] Description [Approximates the conjunction of two BDDs f and g and simultaneously abstracts the variables in cube. Returns a pointer to the resulting BDD if successful; NULL if the intermediate result blows up.] SideEffects [None] SeeAlso [Cudd_bddClippingAndAbstract] ******************************************************************************/ DdNode * cuddBddClippingAndAbstract( DdManager * dd /* manager */, DdNode * f /* first conjunct */, DdNode * g /* second conjunct */, DdNode * cube /* cube of variables to be abstracted */, int maxDepth /* maximum recursion depth */, int direction /* under (0) or over (1) approximation */) { DdNode *res; res = cuddBddClipAndAbsRecur(dd,f,g,cube,maxDepth,direction); return(res); } /* end of cuddBddClippingAndAbstract */ /*---------------------------------------------------------------------------*/ /* Definition of static functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Implements the recursive step of Cudd_bddClippingAnd.] Description [Implements the recursive step of Cudd_bddClippingAnd by taking the conjunction of two BDDs. Returns a pointer to the result is successful; NULL otherwise.] SideEffects [None] SeeAlso [cuddBddClippingAnd] ******************************************************************************/ static DdNode * cuddBddClippingAndRecur( DdManager * manager, DdNode * f, DdNode * g, int distance, int direction) { DdNode *F, *ft, *fe, *G, *gt, *ge; DdNode *one, *zero, *r, *t, *e; unsigned int topf, topg, index; DD_CTFP cacheOp; statLine(manager); one = DD_ONE(manager); zero = Cudd_Not(one); /* Terminal cases. */ if (f == zero || g == zero || f == Cudd_Not(g)) return(zero); if (f == g || g == one) return(f); if (f == one) return(g); if (distance == 0) { /* One last attempt at returning the right result. We sort of ** cheat by calling Cudd_bddLeq. */ if (Cudd_bddLeq(manager,f,g)) return(f); if (Cudd_bddLeq(manager,g,f)) return(g); if (direction == 1) { if (Cudd_bddLeq(manager,f,Cudd_Not(g)) || Cudd_bddLeq(manager,g,Cudd_Not(f))) return(zero); } return(Cudd_NotCond(one,(direction == 0))); } /* At this point f and g are not constant. */ distance--; /* Check cache. Try to increase cache efficiency by sorting the ** pointers. */ if (f > g) { DdNode *tmp = f; f = g; g = tmp; } F = Cudd_Regular(f); G = Cudd_Regular(g); cacheOp = (DD_CTFP) (direction ? Cudd_bddClippingAnd : cuddBddClippingAnd); if (F->ref != 1 || G->ref != 1) { r = cuddCacheLookup2(manager, cacheOp, f, g); if (r != NULL) return(r); } /* Here we can skip the use of cuddI, because the operands are known ** to be non-constant. */ topf = manager->perm[F->index]; topg = manager->perm[G->index]; /* Compute cofactors. */ if (topf <= topg) { index = F->index; ft = cuddT(F); fe = cuddE(F); if (Cudd_IsComplement(f)) { ft = Cudd_Not(ft); fe = Cudd_Not(fe); } } else { index = G->index; ft = fe = f; } if (topg <= topf) { gt = cuddT(G); ge = cuddE(G); if (Cudd_IsComplement(g)) { gt = Cudd_Not(gt); ge = Cudd_Not(ge); } } else { gt = ge = g; } t = cuddBddClippingAndRecur(manager, ft, gt, distance, direction); if (t == NULL) return(NULL); cuddRef(t); e = cuddBddClippingAndRecur(manager, fe, ge, distance, direction); if (e == NULL) { Cudd_RecursiveDeref(manager, t); return(NULL); } cuddRef(e); if (t == e) { r = t; } else { if (Cudd_IsComplement(t)) { r = cuddUniqueInter(manager,(int)index,Cudd_Not(t),Cudd_Not(e)); if (r == NULL) { Cudd_RecursiveDeref(manager, t); Cudd_RecursiveDeref(manager, e); return(NULL); } r = Cudd_Not(r); } else { r = cuddUniqueInter(manager,(int)index,t,e); if (r == NULL) { Cudd_RecursiveDeref(manager, t); Cudd_RecursiveDeref(manager, e); return(NULL); } } } cuddDeref(e); cuddDeref(t); if (F->ref != 1 || G->ref != 1) cuddCacheInsert2(manager, cacheOp, f, g, r); return(r); } /* end of cuddBddClippingAndRecur */ /**Function******************************************************************** Synopsis [Approximates the AND of two BDDs and simultaneously abstracts the variables in cube.] Description [Approximates the AND of two BDDs and simultaneously abstracts the variables in cube. The variables are existentially abstracted. Returns a pointer to the result is successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_bddClippingAndAbstract] ******************************************************************************/ static DdNode * cuddBddClipAndAbsRecur( DdManager * manager, DdNode * f, DdNode * g, DdNode * cube, int distance, int direction) { DdNode *F, *ft, *fe, *G, *gt, *ge; DdNode *one, *zero, *r, *t, *e, *Cube; unsigned int topf, topg, topcube, top, index; ptruint cacheTag; statLine(manager); one = DD_ONE(manager); zero = Cudd_Not(one); /* Terminal cases. */ if (f == zero || g == zero || f == Cudd_Not(g)) return(zero); if (f == one && g == one) return(one); if (cube == one) { return(cuddBddClippingAndRecur(manager, f, g, distance, direction)); } if (f == one || f == g) { return (cuddBddExistAbstractRecur(manager, g, cube)); } if (g == one) { return (cuddBddExistAbstractRecur(manager, f, cube)); } if (distance == 0) return(Cudd_NotCond(one,(direction == 0))); /* At this point f, g, and cube are not constant. */ distance--; /* Check cache. */ if (f > g) { /* Try to increase cache efficiency. */ DdNode *tmp = f; f = g; g = tmp; } F = Cudd_Regular(f); G = Cudd_Regular(g); cacheTag = direction ? DD_BDD_CLIPPING_AND_ABSTRACT_UP_TAG : DD_BDD_CLIPPING_AND_ABSTRACT_DOWN_TAG; if (F->ref != 1 || G->ref != 1) { r = cuddCacheLookup(manager, cacheTag, f, g, cube); if (r != NULL) { return(r); } } /* Here we can skip the use of cuddI, because the operands are known ** to be non-constant. */ topf = manager->perm[F->index]; topg = manager->perm[G->index]; top = ddMin(topf, topg); topcube = manager->perm[cube->index]; if (topcube < top) { return(cuddBddClipAndAbsRecur(manager, f, g, cuddT(cube), distance, direction)); } /* Now, topcube >= top. */ if (topf == top) { index = F->index; ft = cuddT(F); fe = cuddE(F); if (Cudd_IsComplement(f)) { ft = Cudd_Not(ft); fe = Cudd_Not(fe); } } else { index = G->index; ft = fe = f; } if (topg == top) { gt = cuddT(G); ge = cuddE(G); if (Cudd_IsComplement(g)) { gt = Cudd_Not(gt); ge = Cudd_Not(ge); } } else { gt = ge = g; } if (topcube == top) { Cube = cuddT(cube); } else { Cube = cube; } t = cuddBddClipAndAbsRecur(manager, ft, gt, Cube, distance, direction); if (t == NULL) return(NULL); /* Special case: 1 OR anything = 1. Hence, no need to compute ** the else branch if t is 1. */ if (t == one && topcube == top) { if (F->ref != 1 || G->ref != 1) cuddCacheInsert(manager, cacheTag, f, g, cube, one); return(one); } cuddRef(t); e = cuddBddClipAndAbsRecur(manager, fe, ge, Cube, distance, direction); if (e == NULL) { Cudd_RecursiveDeref(manager, t); return(NULL); } cuddRef(e); if (topcube == top) { /* abstract */ r = cuddBddClippingAndRecur(manager, Cudd_Not(t), Cudd_Not(e), distance, (direction == 0)); if (r == NULL) { Cudd_RecursiveDeref(manager, t); Cudd_RecursiveDeref(manager, e); return(NULL); } r = Cudd_Not(r); cuddRef(r); Cudd_RecursiveDeref(manager, t); Cudd_RecursiveDeref(manager, e); cuddDeref(r); } else if (t == e) { r = t; cuddDeref(t); cuddDeref(e); } else { if (Cudd_IsComplement(t)) { r = cuddUniqueInter(manager,(int)index,Cudd_Not(t),Cudd_Not(e)); if (r == NULL) { Cudd_RecursiveDeref(manager, t); Cudd_RecursiveDeref(manager, e); return(NULL); } r = Cudd_Not(r); } else { r = cuddUniqueInter(manager,(int)index,t,e); if (r == NULL) { Cudd_RecursiveDeref(manager, t); Cudd_RecursiveDeref(manager, e); return(NULL); } } cuddDeref(e); cuddDeref(t); } if (F->ref != 1 || G->ref != 1) cuddCacheInsert(manager, cacheTag, f, g, cube, r); return (r); } /* end of cuddBddClipAndAbsRecur */ BRiAl-1.2.12/cudd/cuddCof.c000066400000000000000000000230541436062512100151640ustar00rootroot00000000000000/**CFile*********************************************************************** FileName [cuddCof.c] PackageName [cudd] Synopsis [Cofactoring functions.] Description [External procedures included in this module:
  • Cudd_Cofactor()
  • Cudd_CheckCube()
Internal procedures included in this module:
  • cuddGetBranches()
  • cuddCofactorRecur()
] SeeAlso [] Author [Fabio Somenzi] Copyright [Copyright (c) 1995-2012, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.] ******************************************************************************/ #include "util.h" #include "cuddInt.h" /*---------------------------------------------------------------------------*/ /* Constant declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Stucture declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Type declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Variable declarations */ /*---------------------------------------------------------------------------*/ #ifndef lint static char rcsid[] DD_UNUSED = "$Id: cuddCof.c,v 1.11 2012/02/05 01:07:18 fabio Exp $"; #endif /*---------------------------------------------------------------------------*/ /* Macro declarations */ /*---------------------------------------------------------------------------*/ /**AutomaticStart*************************************************************/ /*---------------------------------------------------------------------------*/ /* Static function prototypes */ /*---------------------------------------------------------------------------*/ /**AutomaticEnd***************************************************************/ /*---------------------------------------------------------------------------*/ /* Definition of exported functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Computes the cofactor of f with respect to g.] Description [Computes the cofactor of f with respect to g; g must be the BDD or the ADD of a cube. Returns a pointer to the cofactor if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_bddConstrain Cudd_bddRestrict] ******************************************************************************/ DdNode * Cudd_Cofactor( DdManager * dd, DdNode * f, DdNode * g) { DdNode *res,*zero; zero = Cudd_Not(DD_ONE(dd)); if (g == zero || g == DD_ZERO(dd)) { (void) fprintf(dd->err,"Cudd_Cofactor: Invalid restriction 1\n"); dd->errorCode = CUDD_INVALID_ARG; return(NULL); } do { dd->reordered = 0; res = cuddCofactorRecur(dd,f,g); } while (dd->reordered == 1); return(res); } /* end of Cudd_Cofactor */ /**Function******************************************************************** Synopsis [Checks whether g is the BDD of a cube.] Description [Checks whether g is the BDD of a cube. Returns 1 in case of success; 0 otherwise. The constant 1 is a valid cube, but all other constant functions cause cuddCheckCube to return 0.] SideEffects [None] SeeAlso [] ******************************************************************************/ int Cudd_CheckCube( DdManager * dd, DdNode * g) { DdNode *g1,*g0,*one,*zero; one = DD_ONE(dd); if (g == one) return(1); if (Cudd_IsConstant(g)) return(0); zero = Cudd_Not(one); cuddGetBranches(g,&g1,&g0); if (g0 == zero) { return(Cudd_CheckCube(dd, g1)); } if (g1 == zero) { return(Cudd_CheckCube(dd, g0)); } return(0); } /* end of Cudd_CheckCube */ /*---------------------------------------------------------------------------*/ /* Definition of internal functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Computes the children of g.] Description [] SideEffects [None] SeeAlso [] ******************************************************************************/ void cuddGetBranches( DdNode * g, DdNode ** g1, DdNode ** g0) { DdNode *G = Cudd_Regular(g); *g1 = cuddT(G); *g0 = cuddE(G); if (Cudd_IsComplement(g)) { *g1 = Cudd_Not(*g1); *g0 = Cudd_Not(*g0); } } /* end of cuddGetBranches */ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_Cofactor.] Description [Performs the recursive step of Cudd_Cofactor. Returns a pointer to the cofactor if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_Cofactor] ******************************************************************************/ DdNode * cuddCofactorRecur( DdManager * dd, DdNode * f, DdNode * g) { DdNode *one,*zero,*F,*G,*g1,*g0,*f1,*f0,*t,*e,*r; unsigned int topf,topg; int comple; statLine(dd); F = Cudd_Regular(f); if (cuddIsConstant(F)) return(f); one = DD_ONE(dd); /* The invariant g != 0 is true on entry to this procedure and is ** recursively maintained by it. Therefore it suffices to test g ** against one to make sure it is not constant. */ if (g == one) return(f); /* From now on, f and g are known not to be constants. */ comple = f != F; r = cuddCacheLookup2(dd,Cudd_Cofactor,F,g); if (r != NULL) { return(Cudd_NotCond(r,comple)); } topf = dd->perm[F->index]; G = Cudd_Regular(g); topg = dd->perm[G->index]; /* We take the cofactors of F because we are going to rely on ** the fact that the cofactors of the complement are the complements ** of the cofactors to better utilize the cache. Variable comple ** remembers whether we have to complement the result or not. */ if (topf <= topg) { f1 = cuddT(F); f0 = cuddE(F); } else { f1 = f0 = F; } if (topg <= topf) { g1 = cuddT(G); g0 = cuddE(G); if (g != G) { g1 = Cudd_Not(g1); g0 = Cudd_Not(g0); } } else { g1 = g0 = g; } zero = Cudd_Not(one); if (topf >= topg) { if (g0 == zero || g0 == DD_ZERO(dd)) { r = cuddCofactorRecur(dd, f1, g1); } else if (g1 == zero || g1 == DD_ZERO(dd)) { r = cuddCofactorRecur(dd, f0, g0); } else { (void) fprintf(dd->out, "Cudd_Cofactor: Invalid restriction 2\n"); dd->errorCode = CUDD_INVALID_ARG; return(NULL); } if (r == NULL) return(NULL); } else /* if (topf < topg) */ { t = cuddCofactorRecur(dd, f1, g); if (t == NULL) return(NULL); cuddRef(t); e = cuddCofactorRecur(dd, f0, g); if (e == NULL) { Cudd_RecursiveDeref(dd, t); return(NULL); } cuddRef(e); if (t == e) { r = t; } else if (Cudd_IsComplement(t)) { r = cuddUniqueInter(dd,(int)F->index,Cudd_Not(t),Cudd_Not(e)); if (r != NULL) r = Cudd_Not(r); } else { r = cuddUniqueInter(dd,(int)F->index,t,e); } if (r == NULL) { Cudd_RecursiveDeref(dd ,e); Cudd_RecursiveDeref(dd ,t); return(NULL); } cuddDeref(t); cuddDeref(e); } cuddCacheInsert2(dd,Cudd_Cofactor,F,g,r); return(Cudd_NotCond(r,comple)); } /* end of cuddCofactorRecur */ /*---------------------------------------------------------------------------*/ /* Definition of static functions */ /*---------------------------------------------------------------------------*/ BRiAl-1.2.12/cudd/cuddCompose.c000066400000000000000000001414271436062512100160670ustar00rootroot00000000000000/**CFile*********************************************************************** FileName [cuddCompose.c] PackageName [cudd] Synopsis [Functional composition and variable permutation of DDs.] Description [External procedures included in this module:
  • Cudd_bddCompose()
  • Cudd_addCompose()
  • Cudd_addPermute()
  • Cudd_addSwapVariables()
  • Cudd_bddPermute()
  • Cudd_bddVarMap()
  • Cudd_SetVarMap()
  • Cudd_bddSwapVariables()
  • Cudd_bddAdjPermuteX()
  • Cudd_addVectorCompose()
  • Cudd_addGeneralVectorCompose()
  • Cudd_addNonSimCompose()
  • Cudd_bddVectorCompose()
Internal procedures included in this module:
  • cuddBddComposeRecur()
  • cuddAddComposeRecur()
Static procedures included in this module:
  • cuddAddPermuteRecur()
  • cuddBddPermuteRecur()
  • cuddBddVarMapRecur()
  • cuddAddVectorComposeRecur()
  • cuddAddGeneralVectorComposeRecur()
  • cuddAddNonSimComposeRecur()
  • cuddBddVectorComposeRecur()
  • ddIsIthAddVar()
  • ddIsIthAddVarPair()
The permutation functions use a local cache because the results to be remembered depend on the permutation being applied. Since the permutation is just an array, it cannot be stored in the global cache. There are different procedured for BDDs and ADDs. This is because bddPermuteRecur uses cuddBddIteRecur. If this were changed, the procedures could be merged.] Author [Fabio Somenzi and Kavita Ravi] Copyright [Copyright (c) 1995-2012, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.] ******************************************************************************/ #include "util.h" #include "cuddInt.h" /*---------------------------------------------------------------------------*/ /* Constant declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Stucture declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Type declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Variable declarations */ /*---------------------------------------------------------------------------*/ #ifndef lint static char rcsid[] DD_UNUSED = "$Id: cuddCompose.c,v 1.46 2012/02/05 01:07:18 fabio Exp $"; #endif #ifdef DD_DEBUG static int addPermuteRecurHits; static int bddPermuteRecurHits; static int bddVectorComposeHits; static int addVectorComposeHits; static int addGeneralVectorComposeHits; #endif /*---------------------------------------------------------------------------*/ /* Macro declarations */ /*---------------------------------------------------------------------------*/ /**AutomaticStart*************************************************************/ /*---------------------------------------------------------------------------*/ /* Static function prototypes */ /*---------------------------------------------------------------------------*/ static DdNode * cuddAddPermuteRecur (DdManager *manager, DdHashTable *table, DdNode *node, int *permut); static DdNode * cuddBddPermuteRecur (DdManager *manager, DdHashTable *table, DdNode *node, int *permut); static DdNode * cuddBddVarMapRecur (DdManager *manager, DdNode *f); static DdNode * cuddAddVectorComposeRecur (DdManager *dd, DdHashTable *table, DdNode *f, DdNode **vector, int deepest); static DdNode * cuddAddNonSimComposeRecur (DdManager *dd, DdNode *f, DdNode **vector, DdNode *key, DdNode *cube, int lastsub); static DdNode * cuddBddVectorComposeRecur (DdManager *dd, DdHashTable *table, DdNode *f, DdNode **vector, int deepest); DD_INLINE static int ddIsIthAddVar (DdManager *dd, DdNode *f, unsigned int i); static DdNode * cuddAddGeneralVectorComposeRecur (DdManager *dd, DdHashTable *table, DdNode *f, DdNode **vectorOn, DdNode **vectorOff, int deepest); DD_INLINE static int ddIsIthAddVarPair (DdManager *dd, DdNode *f, DdNode *g, unsigned int i); /**AutomaticEnd***************************************************************/ /*---------------------------------------------------------------------------*/ /* Definition of exported functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Substitutes g for x_v in the BDD for f.] Description [Substitutes g for x_v in the BDD for f. v is the index of the variable to be substituted. Cudd_bddCompose passes the corresponding projection function to the recursive procedure, so that the cache may be used. Returns the composed BDD if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_addCompose] ******************************************************************************/ DdNode * Cudd_bddCompose( DdManager * dd, DdNode * f, DdNode * g, int v) { DdNode *proj, *res; /* Sanity check. */ if (v < 0 || v >= dd->size) return(NULL); proj = dd->vars[v]; do { dd->reordered = 0; res = cuddBddComposeRecur(dd,f,g,proj); } while (dd->reordered == 1); return(res); } /* end of Cudd_bddCompose */ /**Function******************************************************************** Synopsis [Substitutes g for x_v in the ADD for f.] Description [Substitutes g for x_v in the ADD for f. v is the index of the variable to be substituted. g must be a 0-1 ADD. Cudd_bddCompose passes the corresponding projection function to the recursive procedure, so that the cache may be used. Returns the composed ADD if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_bddCompose] ******************************************************************************/ DdNode * Cudd_addCompose( DdManager * dd, DdNode * f, DdNode * g, int v) { DdNode *proj, *res; /* Sanity check. */ if (v < 0 || v >= dd->size) return(NULL); proj = dd->vars[v]; do { dd->reordered = 0; res = cuddAddComposeRecur(dd,f,g,proj); } while (dd->reordered == 1); return(res); } /* end of Cudd_addCompose */ /**Function******************************************************************** Synopsis [Permutes the variables of an ADD.] Description [Given a permutation in array permut, creates a new ADD with permuted variables. There should be an entry in array permut for each variable in the manager. The i-th entry of permut holds the index of the variable that is to substitute the i-th variable. Returns a pointer to the resulting ADD if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_bddPermute Cudd_addSwapVariables] ******************************************************************************/ DdNode * Cudd_addPermute( DdManager * manager, DdNode * node, int * permut) { DdHashTable *table; DdNode *res; do { manager->reordered = 0; table = cuddHashTableInit(manager,1,2); if (table == NULL) return(NULL); /* Recursively solve the problem. */ res = cuddAddPermuteRecur(manager,table,node,permut); if (res != NULL) cuddRef(res); /* Dispose of local cache. */ cuddHashTableQuit(table); } while (manager->reordered == 1); if (res != NULL) cuddDeref(res); return(res); } /* end of Cudd_addPermute */ /**Function******************************************************************** Synopsis [Swaps two sets of variables of the same size (x and y) in the ADD f.] Description [Swaps two sets of variables of the same size (x and y) in the ADD f. The size is given by n. The two sets of variables are assumed to be disjoint. Returns a pointer to the resulting ADD if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_addPermute Cudd_bddSwapVariables] ******************************************************************************/ DdNode * Cudd_addSwapVariables( DdManager * dd, DdNode * f, DdNode ** x, DdNode ** y, int n) { DdNode *swapped; int i, j, k; int *permut; permut = ALLOC(int,dd->size); if (permut == NULL) { dd->errorCode = CUDD_MEMORY_OUT; return(NULL); } for (i = 0; i < dd->size; i++) permut[i] = i; for (i = 0; i < n; i++) { j = x[i]->index; k = y[i]->index; permut[j] = k; permut[k] = j; } swapped = Cudd_addPermute(dd,f,permut); FREE(permut); return(swapped); } /* end of Cudd_addSwapVariables */ /**Function******************************************************************** Synopsis [Permutes the variables of a BDD.] Description [Given a permutation in array permut, creates a new BDD with permuted variables. There should be an entry in array permut for each variable in the manager. The i-th entry of permut holds the index of the variable that is to substitute the i-th variable. Returns a pointer to the resulting BDD if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_addPermute Cudd_bddSwapVariables] ******************************************************************************/ DdNode * Cudd_bddPermute( DdManager * manager, DdNode * node, int * permut) { DdHashTable *table; DdNode *res; do { manager->reordered = 0; table = cuddHashTableInit(manager,1,2); if (table == NULL) return(NULL); res = cuddBddPermuteRecur(manager,table,node,permut); if (res != NULL) cuddRef(res); /* Dispose of local cache. */ cuddHashTableQuit(table); } while (manager->reordered == 1); if (res != NULL) cuddDeref(res); return(res); } /* end of Cudd_bddPermute */ /**Function******************************************************************** Synopsis [Remaps the variables of a BDD using the default variable map.] Description [Remaps the variables of a BDD using the default variable map. A typical use of this function is to swap two sets of variables. The variable map must be registered with Cudd_SetVarMap. Returns a pointer to the resulting BDD if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_bddPermute Cudd_bddSwapVariables Cudd_SetVarMap] ******************************************************************************/ DdNode * Cudd_bddVarMap( DdManager * manager /* DD manager */, DdNode * f /* function in which to remap variables */) { DdNode *res; if (manager->map == NULL) return(NULL); do { manager->reordered = 0; res = cuddBddVarMapRecur(manager, f); } while (manager->reordered == 1); return(res); } /* end of Cudd_bddVarMap */ /**Function******************************************************************** Synopsis [Registers a variable mapping with the manager.] Description [Registers with the manager a variable mapping described by two sets of variables. This variable mapping is then used by functions like Cudd_bddVarMap. This function is convenient for those applications that perform the same mapping several times. However, if several different permutations are used, it may be more efficient not to rely on the registered mapping, because changing mapping causes the cache to be cleared. (The initial setting, however, does not clear the cache.) The two sets of variables (x and y) must have the same size (x and y). The size is given by n. The two sets of variables are normally disjoint, but this restriction is not imposeded by the function. When new variables are created, the map is automatically extended (each new variable maps to itself). The typical use, however, is to wait until all variables are created, and then create the map. Returns 1 if the mapping is successfully registered with the manager; 0 otherwise.] SideEffects [Modifies the manager. May clear the cache.] SeeAlso [Cudd_bddVarMap Cudd_bddPermute Cudd_bddSwapVariables] ******************************************************************************/ int Cudd_SetVarMap ( DdManager *manager /* DD manager */, DdNode **x /* first array of variables */, DdNode **y /* second array of variables */, int n /* length of both arrays */) { int i; if (manager->map != NULL) { cuddCacheFlush(manager); } else { manager->map = ALLOC(int,manager->maxSize); if (manager->map == NULL) { manager->errorCode = CUDD_MEMORY_OUT; return(0); } manager->memused += sizeof(int) * manager->maxSize; } /* Initialize the map to the identity. */ for (i = 0; i < manager->size; i++) { manager->map[i] = i; } /* Create the map. */ for (i = 0; i < n; i++) { manager->map[x[i]->index] = y[i]->index; manager->map[y[i]->index] = x[i]->index; } return(1); } /* end of Cudd_SetVarMap */ /**Function******************************************************************** Synopsis [Swaps two sets of variables of the same size (x and y) in the BDD f.] Description [Swaps two sets of variables of the same size (x and y) in the BDD f. The size is given by n. The two sets of variables are assumed to be disjoint. Returns a pointer to the resulting BDD if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_bddPermute Cudd_addSwapVariables] ******************************************************************************/ DdNode * Cudd_bddSwapVariables( DdManager * dd, DdNode * f, DdNode ** x, DdNode ** y, int n) { DdNode *swapped; int i, j, k; int *permut; permut = ALLOC(int,dd->size); if (permut == NULL) { dd->errorCode = CUDD_MEMORY_OUT; return(NULL); } for (i = 0; i < dd->size; i++) permut[i] = i; for (i = 0; i < n; i++) { j = x[i]->index; k = y[i]->index; permut[j] = k; permut[k] = j; } swapped = Cudd_bddPermute(dd,f,permut); FREE(permut); return(swapped); } /* end of Cudd_bddSwapVariables */ /**Function******************************************************************** Synopsis [Rearranges a set of variables in the BDD B.] Description [Rearranges a set of variables in the BDD B. The size of the set is given by n. This procedure is intended for the `randomization' of the priority functions. Returns a pointer to the BDD if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_bddPermute Cudd_bddSwapVariables Cudd_Dxygtdxz Cudd_Dxygtdyz Cudd_PrioritySelect] ******************************************************************************/ DdNode * Cudd_bddAdjPermuteX( DdManager * dd, DdNode * B, DdNode ** x, int n) { DdNode *swapped; int i, j, k; int *permut; permut = ALLOC(int,dd->size); if (permut == NULL) { dd->errorCode = CUDD_MEMORY_OUT; return(NULL); } for (i = 0; i < dd->size; i++) permut[i] = i; for (i = 0; i < n-2; i += 3) { j = x[i]->index; k = x[i+1]->index; permut[j] = k; permut[k] = j; } swapped = Cudd_bddPermute(dd,B,permut); FREE(permut); return(swapped); } /* end of Cudd_bddAdjPermuteX */ /**Function******************************************************************** Synopsis [Composes an ADD with a vector of 0-1 ADDs.] Description [Given a vector of 0-1 ADDs, creates a new ADD by substituting the 0-1 ADDs for the variables of the ADD f. There should be an entry in vector for each variable in the manager. If no substitution is sought for a given variable, the corresponding projection function should be specified in the vector. This function implements simultaneous composition. Returns a pointer to the resulting ADD if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_addNonSimCompose Cudd_addPermute Cudd_addCompose Cudd_bddVectorCompose] ******************************************************************************/ DdNode * Cudd_addVectorCompose( DdManager * dd, DdNode * f, DdNode ** vector) { DdHashTable *table; DdNode *res; int deepest; int i; do { dd->reordered = 0; /* Initialize local cache. */ table = cuddHashTableInit(dd,1,2); if (table == NULL) return(NULL); /* Find deepest real substitution. */ for (deepest = dd->size - 1; deepest >= 0; deepest--) { i = dd->invperm[deepest]; if (!ddIsIthAddVar(dd,vector[i],i)) { break; } } /* Recursively solve the problem. */ res = cuddAddVectorComposeRecur(dd,table,f,vector,deepest); if (res != NULL) cuddRef(res); /* Dispose of local cache. */ cuddHashTableQuit(table); } while (dd->reordered == 1); if (res != NULL) cuddDeref(res); return(res); } /* end of Cudd_addVectorCompose */ /**Function******************************************************************** Synopsis [Composes an ADD with a vector of ADDs.] Description [Given a vector of ADDs, creates a new ADD by substituting the ADDs for the variables of the ADD f. vectorOn contains ADDs to be substituted for the x_v and vectorOff the ADDs to be substituted for x_v'. There should be an entry in vector for each variable in the manager. If no substitution is sought for a given variable, the corresponding projection function should be specified in the vector. This function implements simultaneous composition. Returns a pointer to the resulting ADD if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_addVectorCompose Cudd_addNonSimCompose Cudd_addPermute Cudd_addCompose Cudd_bddVectorCompose] ******************************************************************************/ DdNode * Cudd_addGeneralVectorCompose( DdManager * dd, DdNode * f, DdNode ** vectorOn, DdNode ** vectorOff) { DdHashTable *table; DdNode *res; int deepest; int i; do { dd->reordered = 0; /* Initialize local cache. */ table = cuddHashTableInit(dd,1,2); if (table == NULL) return(NULL); /* Find deepest real substitution. */ for (deepest = dd->size - 1; deepest >= 0; deepest--) { i = dd->invperm[deepest]; if (!ddIsIthAddVarPair(dd,vectorOn[i],vectorOff[i],i)) { break; } } /* Recursively solve the problem. */ res = cuddAddGeneralVectorComposeRecur(dd,table,f,vectorOn, vectorOff,deepest); if (res != NULL) cuddRef(res); /* Dispose of local cache. */ cuddHashTableQuit(table); } while (dd->reordered == 1); if (res != NULL) cuddDeref(res); return(res); } /* end of Cudd_addGeneralVectorCompose */ /**Function******************************************************************** Synopsis [Composes an ADD with a vector of 0-1 ADDs.] Description [Given a vector of 0-1 ADDs, creates a new ADD by substituting the 0-1 ADDs for the variables of the ADD f. There should be an entry in vector for each variable in the manager. This function implements non-simultaneous composition. If any of the functions being composed depends on any of the variables being substituted, then the result depends on the order of composition, which in turn depends on the variable order: The variables farther from the roots in the order are substituted first. Returns a pointer to the resulting ADD if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_addVectorCompose Cudd_addPermute Cudd_addCompose] ******************************************************************************/ DdNode * Cudd_addNonSimCompose( DdManager * dd, DdNode * f, DdNode ** vector) { DdNode *cube, *key, *var, *tmp, *piece; DdNode *res; int i, lastsub; /* The cache entry for this function is composed of three parts: ** f itself, the replacement relation, and the cube of the ** variables being substituted. ** The replacement relation is the product of the terms (yi EXNOR gi). ** This apporach allows us to use the global cache for this function, ** with great savings in memory with respect to using arrays for the ** cache entries. ** First we build replacement relation and cube of substituted ** variables from the vector specifying the desired composition. */ key = DD_ONE(dd); cuddRef(key); cube = DD_ONE(dd); cuddRef(cube); for (i = (int) dd->size - 1; i >= 0; i--) { if (ddIsIthAddVar(dd,vector[i],(unsigned int)i)) { continue; } var = Cudd_addIthVar(dd,i); if (var == NULL) { Cudd_RecursiveDeref(dd,key); Cudd_RecursiveDeref(dd,cube); return(NULL); } cuddRef(var); /* Update cube. */ tmp = Cudd_addApply(dd,Cudd_addTimes,var,cube); if (tmp == NULL) { Cudd_RecursiveDeref(dd,key); Cudd_RecursiveDeref(dd,cube); Cudd_RecursiveDeref(dd,var); return(NULL); } cuddRef(tmp); Cudd_RecursiveDeref(dd,cube); cube = tmp; /* Update replacement relation. */ piece = Cudd_addApply(dd,Cudd_addXnor,var,vector[i]); if (piece == NULL) { Cudd_RecursiveDeref(dd,key); Cudd_RecursiveDeref(dd,var); return(NULL); } cuddRef(piece); Cudd_RecursiveDeref(dd,var); tmp = Cudd_addApply(dd,Cudd_addTimes,key,piece); if (tmp == NULL) { Cudd_RecursiveDeref(dd,key); Cudd_RecursiveDeref(dd,piece); return(NULL); } cuddRef(tmp); Cudd_RecursiveDeref(dd,key); Cudd_RecursiveDeref(dd,piece); key = tmp; } /* Now try composition, until no reordering occurs. */ do { /* Find real substitution with largest index. */ for (lastsub = dd->size - 1; lastsub >= 0; lastsub--) { if (!ddIsIthAddVar(dd,vector[lastsub],(unsigned int)lastsub)) { break; } } /* Recursively solve the problem. */ dd->reordered = 0; res = cuddAddNonSimComposeRecur(dd,f,vector,key,cube,lastsub+1); if (res != NULL) cuddRef(res); } while (dd->reordered == 1); Cudd_RecursiveDeref(dd,key); Cudd_RecursiveDeref(dd,cube); if (res != NULL) cuddDeref(res); return(res); } /* end of Cudd_addNonSimCompose */ /**Function******************************************************************** Synopsis [Composes a BDD with a vector of BDDs.] Description [Given a vector of BDDs, creates a new BDD by substituting the BDDs for the variables of the BDD f. There should be an entry in vector for each variable in the manager. If no substitution is sought for a given variable, the corresponding projection function should be specified in the vector. This function implements simultaneous composition. Returns a pointer to the resulting BDD if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_bddPermute Cudd_bddCompose Cudd_addVectorCompose] ******************************************************************************/ DdNode * Cudd_bddVectorCompose( DdManager * dd, DdNode * f, DdNode ** vector) { DdHashTable *table; DdNode *res; int deepest; int i; do { dd->reordered = 0; /* Initialize local cache. */ table = cuddHashTableInit(dd,1,2); if (table == NULL) return(NULL); /* Find deepest real substitution. */ for (deepest = dd->size - 1; deepest >= 0; deepest--) { i = dd->invperm[deepest]; if (vector[i] != dd->vars[i]) { break; } } /* Recursively solve the problem. */ res = cuddBddVectorComposeRecur(dd,table,f,vector, deepest); if (res != NULL) cuddRef(res); /* Dispose of local cache. */ cuddHashTableQuit(table); } while (dd->reordered == 1); if (res != NULL) cuddDeref(res); return(res); } /* end of Cudd_bddVectorCompose */ /*---------------------------------------------------------------------------*/ /* Definition of internal functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_bddCompose.] Description [Performs the recursive step of Cudd_bddCompose. Exploits the fact that the composition of f' with g produces the complement of the composition of f with g to better utilize the cache. Returns the composed BDD if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_bddCompose] ******************************************************************************/ DdNode * cuddBddComposeRecur( DdManager * dd, DdNode * f, DdNode * g, DdNode * proj) { DdNode *F, *G, *f1, *f0, *g1, *g0, *r, *t, *e; unsigned int v, topf, topg, topindex; int comple; statLine(dd); v = dd->perm[proj->index]; F = Cudd_Regular(f); topf = cuddI(dd,F->index); /* Terminal case. Subsumes the test for constant f. */ if (topf > v) return(f); /* We solve the problem for a regular pointer, and then complement ** the result if the pointer was originally complemented. */ comple = Cudd_IsComplement(f); /* Check cache. */ r = cuddCacheLookup(dd,DD_BDD_COMPOSE_RECUR_TAG,F,g,proj); if (r != NULL) { return(Cudd_NotCond(r,comple)); } if (topf == v) { /* Compose. */ f1 = cuddT(F); f0 = cuddE(F); r = cuddBddIteRecur(dd, g, f1, f0); if (r == NULL) return(NULL); } else { /* Compute cofactors of f and g. Remember the index of the top ** variable. */ G = Cudd_Regular(g); topg = cuddI(dd,G->index); if (topf > topg) { topindex = G->index; f1 = f0 = F; } else { topindex = F->index; f1 = cuddT(F); f0 = cuddE(F); } if (topg > topf) { g1 = g0 = g; } else { g1 = cuddT(G); g0 = cuddE(G); if (g != G) { g1 = Cudd_Not(g1); g0 = Cudd_Not(g0); } } /* Recursive step. */ t = cuddBddComposeRecur(dd, f1, g1, proj); if (t == NULL) return(NULL); cuddRef(t); e = cuddBddComposeRecur(dd, f0, g0, proj); if (e == NULL) { Cudd_IterDerefBdd(dd, t); return(NULL); } cuddRef(e); r = cuddBddIteRecur(dd, dd->vars[topindex], t, e); if (r == NULL) { Cudd_IterDerefBdd(dd, t); Cudd_IterDerefBdd(dd, e); return(NULL); } cuddRef(r); Cudd_IterDerefBdd(dd, t); /* t & e not necessarily part of r */ Cudd_IterDerefBdd(dd, e); cuddDeref(r); } cuddCacheInsert(dd,DD_BDD_COMPOSE_RECUR_TAG,F,g,proj,r); return(Cudd_NotCond(r,comple)); } /* end of cuddBddComposeRecur */ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_addCompose.] Description [Performs the recursive step of Cudd_addCompose. Returns the composed BDD if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_addCompose] ******************************************************************************/ DdNode * cuddAddComposeRecur( DdManager * dd, DdNode * f, DdNode * g, DdNode * proj) { DdNode *f1, *f0, *g1, *g0, *r, *t, *e; unsigned int v, topf, topg, topindex; statLine(dd); v = dd->perm[proj->index]; topf = cuddI(dd,f->index); /* Terminal case. Subsumes the test for constant f. */ if (topf > v) return(f); /* Check cache. */ r = cuddCacheLookup(dd,DD_ADD_COMPOSE_RECUR_TAG,f,g,proj); if (r != NULL) { return(r); } if (topf == v) { /* Compose. */ f1 = cuddT(f); f0 = cuddE(f); r = cuddAddIteRecur(dd, g, f1, f0); if (r == NULL) return(NULL); } else { /* Compute cofactors of f and g. Remember the index of the top ** variable. */ topg = cuddI(dd,g->index); if (topf > topg) { topindex = g->index; f1 = f0 = f; } else { topindex = f->index; f1 = cuddT(f); f0 = cuddE(f); } if (topg > topf) { g1 = g0 = g; } else { g1 = cuddT(g); g0 = cuddE(g); } /* Recursive step. */ t = cuddAddComposeRecur(dd, f1, g1, proj); if (t == NULL) return(NULL); cuddRef(t); e = cuddAddComposeRecur(dd, f0, g0, proj); if (e == NULL) { Cudd_RecursiveDeref(dd, t); return(NULL); } cuddRef(e); if (t == e) { r = t; } else { r = cuddUniqueInter(dd, (int) topindex, t, e); if (r == NULL) { Cudd_RecursiveDeref(dd, t); Cudd_RecursiveDeref(dd, e); return(NULL); } } cuddDeref(t); cuddDeref(e); } cuddCacheInsert(dd,DD_ADD_COMPOSE_RECUR_TAG,f,g,proj,r); return(r); } /* end of cuddAddComposeRecur */ /*---------------------------------------------------------------------------*/ /* Definition of static functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Implements the recursive step of Cudd_addPermute.] Description [ Recursively puts the ADD in the order given in the array permut. Checks for trivial cases to terminate recursion, then splits on the children of this node. Once the solutions for the children are obtained, it puts into the current position the node from the rest of the ADD that should be here. Then returns this ADD. The key here is that the node being visited is NOT put in its proper place by this instance, but rather is switched when its proper position is reached in the recursion tree.

The DdNode * that is returned is the same ADD as passed in as node, but in the new order.] SideEffects [None] SeeAlso [Cudd_addPermute cuddBddPermuteRecur] ******************************************************************************/ static DdNode * cuddAddPermuteRecur( DdManager * manager /* DD manager */, DdHashTable * table /* computed table */, DdNode * node /* ADD to be reordered */, int * permut /* permutation array */) { DdNode *T,*E; DdNode *res,*var; int index; statLine(manager); /* Check for terminal case of constant node. */ if (cuddIsConstant(node)) { return(node); } /* If problem already solved, look up answer and return. */ if (node->ref != 1 && (res = cuddHashTableLookup1(table,node)) != NULL) { #ifdef DD_DEBUG addPermuteRecurHits++; #endif return(res); } /* Split and recur on children of this node. */ T = cuddAddPermuteRecur(manager,table,cuddT(node),permut); if (T == NULL) return(NULL); cuddRef(T); E = cuddAddPermuteRecur(manager,table,cuddE(node),permut); if (E == NULL) { Cudd_RecursiveDeref(manager, T); return(NULL); } cuddRef(E); /* Move variable that should be in this position to this position ** by creating a single var ADD for that variable, and calling ** cuddAddIteRecur with the T and E we just created. */ index = permut[node->index]; var = cuddUniqueInter(manager,index,DD_ONE(manager),DD_ZERO(manager)); if (var == NULL) return(NULL); cuddRef(var); res = cuddAddIteRecur(manager,var,T,E); if (res == NULL) { Cudd_RecursiveDeref(manager,var); Cudd_RecursiveDeref(manager, T); Cudd_RecursiveDeref(manager, E); return(NULL); } cuddRef(res); Cudd_RecursiveDeref(manager,var); Cudd_RecursiveDeref(manager, T); Cudd_RecursiveDeref(manager, E); /* Do not keep the result if the reference count is only 1, since ** it will not be visited again. */ if (node->ref != 1) { ptrint fanout = (ptrint) node->ref; cuddSatDec(fanout); if (!cuddHashTableInsert1(table,node,res,fanout)) { Cudd_RecursiveDeref(manager, res); return(NULL); } } cuddDeref(res); return(res); } /* end of cuddAddPermuteRecur */ /**Function******************************************************************** Synopsis [Implements the recursive step of Cudd_bddPermute.] Description [ Recursively puts the BDD in the order given in the array permut. Checks for trivial cases to terminate recursion, then splits on the children of this node. Once the solutions for the children are obtained, it puts into the current position the node from the rest of the BDD that should be here. Then returns this BDD. The key here is that the node being visited is NOT put in its proper place by this instance, but rather is switched when its proper position is reached in the recursion tree.

The DdNode * that is returned is the same BDD as passed in as node, but in the new order.] SideEffects [None] SeeAlso [Cudd_bddPermute cuddAddPermuteRecur] ******************************************************************************/ static DdNode * cuddBddPermuteRecur( DdManager * manager /* DD manager */, DdHashTable * table /* computed table */, DdNode * node /* BDD to be reordered */, int * permut /* permutation array */) { DdNode *N,*T,*E; DdNode *res; int index; statLine(manager); N = Cudd_Regular(node); /* Check for terminal case of constant node. */ if (cuddIsConstant(N)) { return(node); } /* If problem already solved, look up answer and return. */ if (N->ref != 1 && (res = cuddHashTableLookup1(table,N)) != NULL) { #ifdef DD_DEBUG bddPermuteRecurHits++; #endif return(Cudd_NotCond(res,N != node)); } /* Split and recur on children of this node. */ T = cuddBddPermuteRecur(manager,table,cuddT(N),permut); if (T == NULL) return(NULL); cuddRef(T); E = cuddBddPermuteRecur(manager,table,cuddE(N),permut); if (E == NULL) { Cudd_IterDerefBdd(manager, T); return(NULL); } cuddRef(E); /* Move variable that should be in this position to this position ** by retrieving the single var BDD for that variable, and calling ** cuddBddIteRecur with the T and E we just created. */ index = permut[N->index]; res = cuddBddIteRecur(manager,manager->vars[index],T,E); if (res == NULL) { Cudd_IterDerefBdd(manager, T); Cudd_IterDerefBdd(manager, E); return(NULL); } cuddRef(res); Cudd_IterDerefBdd(manager, T); Cudd_IterDerefBdd(manager, E); /* Do not keep the result if the reference count is only 1, since ** it will not be visited again. */ if (N->ref != 1) { ptrint fanout = (ptrint) N->ref; cuddSatDec(fanout); if (!cuddHashTableInsert1(table,N,res,fanout)) { Cudd_IterDerefBdd(manager, res); return(NULL); } } cuddDeref(res); return(Cudd_NotCond(res,N != node)); } /* end of cuddBddPermuteRecur */ /**Function******************************************************************** Synopsis [Implements the recursive step of Cudd_bddVarMap.] Description [Implements the recursive step of Cudd_bddVarMap. Returns a pointer to the result if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_bddVarMap] ******************************************************************************/ static DdNode * cuddBddVarMapRecur( DdManager *manager /* DD manager */, DdNode *f /* BDD to be remapped */) { DdNode *F, *T, *E; DdNode *res; int index; statLine(manager); F = Cudd_Regular(f); /* Check for terminal case of constant node. */ if (cuddIsConstant(F)) { return(f); } /* If problem already solved, look up answer and return. */ if (F->ref != 1 && (res = cuddCacheLookup1(manager,Cudd_bddVarMap,F)) != NULL) { return(Cudd_NotCond(res,F != f)); } /* Split and recur on children of this node. */ T = cuddBddVarMapRecur(manager,cuddT(F)); if (T == NULL) return(NULL); cuddRef(T); E = cuddBddVarMapRecur(manager,cuddE(F)); if (E == NULL) { Cudd_IterDerefBdd(manager, T); return(NULL); } cuddRef(E); /* Move variable that should be in this position to this position ** by retrieving the single var BDD for that variable, and calling ** cuddBddIteRecur with the T and E we just created. */ index = manager->map[F->index]; res = cuddBddIteRecur(manager,manager->vars[index],T,E); if (res == NULL) { Cudd_IterDerefBdd(manager, T); Cudd_IterDerefBdd(manager, E); return(NULL); } cuddRef(res); Cudd_IterDerefBdd(manager, T); Cudd_IterDerefBdd(manager, E); /* Do not keep the result if the reference count is only 1, since ** it will not be visited again. */ if (F->ref != 1) { cuddCacheInsert1(manager,Cudd_bddVarMap,F,res); } cuddDeref(res); return(Cudd_NotCond(res,F != f)); } /* end of cuddBddVarMapRecur */ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_addVectorCompose.] Description [] SideEffects [None] SeeAlso [] ******************************************************************************/ static DdNode * cuddAddVectorComposeRecur( DdManager * dd /* DD manager */, DdHashTable * table /* computed table */, DdNode * f /* ADD in which to compose */, DdNode ** vector /* functions to substitute */, int deepest /* depth of deepest substitution */) { DdNode *T,*E; DdNode *res; statLine(dd); /* If we are past the deepest substitution, return f. */ if (cuddI(dd,f->index) > deepest) { return(f); } if ((res = cuddHashTableLookup1(table,f)) != NULL) { #ifdef DD_DEBUG addVectorComposeHits++; #endif return(res); } /* Split and recur on children of this node. */ T = cuddAddVectorComposeRecur(dd,table,cuddT(f),vector,deepest); if (T == NULL) return(NULL); cuddRef(T); E = cuddAddVectorComposeRecur(dd,table,cuddE(f),vector,deepest); if (E == NULL) { Cudd_RecursiveDeref(dd, T); return(NULL); } cuddRef(E); /* Retrieve the 0-1 ADD for the current top variable and call ** cuddAddIteRecur with the T and E we just created. */ res = cuddAddIteRecur(dd,vector[f->index],T,E); if (res == NULL) { Cudd_RecursiveDeref(dd, T); Cudd_RecursiveDeref(dd, E); return(NULL); } cuddRef(res); Cudd_RecursiveDeref(dd, T); Cudd_RecursiveDeref(dd, E); /* Do not keep the result if the reference count is only 1, since ** it will not be visited again */ if (f->ref != 1) { ptrint fanout = (ptrint) f->ref; cuddSatDec(fanout); if (!cuddHashTableInsert1(table,f,res,fanout)) { Cudd_RecursiveDeref(dd, res); return(NULL); } } cuddDeref(res); return(res); } /* end of cuddAddVectorComposeRecur */ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_addGeneralVectorCompose.] Description [] SideEffects [None] SeeAlso [] ******************************************************************************/ static DdNode * cuddAddGeneralVectorComposeRecur( DdManager * dd /* DD manager */, DdHashTable * table /* computed table */, DdNode * f /* ADD in which to compose */, DdNode ** vectorOn /* functions to substitute for x_i */, DdNode ** vectorOff /* functions to substitute for x_i' */, int deepest /* depth of deepest substitution */) { DdNode *T,*E,*t,*e; DdNode *res; /* If we are past the deepest substitution, return f. */ if (cuddI(dd,f->index) > deepest) { return(f); } if ((res = cuddHashTableLookup1(table,f)) != NULL) { #ifdef DD_DEBUG addGeneralVectorComposeHits++; #endif return(res); } /* Split and recur on children of this node. */ T = cuddAddGeneralVectorComposeRecur(dd,table,cuddT(f), vectorOn,vectorOff,deepest); if (T == NULL) return(NULL); cuddRef(T); E = cuddAddGeneralVectorComposeRecur(dd,table,cuddE(f), vectorOn,vectorOff,deepest); if (E == NULL) { Cudd_RecursiveDeref(dd, T); return(NULL); } cuddRef(E); /* Retrieve the compose ADDs for the current top variable and call ** cuddAddApplyRecur with the T and E we just created. */ t = cuddAddApplyRecur(dd,Cudd_addTimes,vectorOn[f->index],T); if (t == NULL) { Cudd_RecursiveDeref(dd,T); Cudd_RecursiveDeref(dd,E); return(NULL); } cuddRef(t); e = cuddAddApplyRecur(dd,Cudd_addTimes,vectorOff[f->index],E); if (e == NULL) { Cudd_RecursiveDeref(dd,T); Cudd_RecursiveDeref(dd,E); Cudd_RecursiveDeref(dd,t); return(NULL); } cuddRef(e); res = cuddAddApplyRecur(dd,Cudd_addPlus,t,e); if (res == NULL) { Cudd_RecursiveDeref(dd,T); Cudd_RecursiveDeref(dd,E); Cudd_RecursiveDeref(dd,t); Cudd_RecursiveDeref(dd,e); return(NULL); } cuddRef(res); Cudd_RecursiveDeref(dd,T); Cudd_RecursiveDeref(dd,E); Cudd_RecursiveDeref(dd,t); Cudd_RecursiveDeref(dd,e); /* Do not keep the result if the reference count is only 1, since ** it will not be visited again */ if (f->ref != 1) { ptrint fanout = (ptrint) f->ref; cuddSatDec(fanout); if (!cuddHashTableInsert1(table,f,res,fanout)) { Cudd_RecursiveDeref(dd, res); return(NULL); } } cuddDeref(res); return(res); } /* end of cuddAddGeneralVectorComposeRecur */ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_addNonSimCompose.] Description [] SideEffects [None] SeeAlso [] ******************************************************************************/ static DdNode * cuddAddNonSimComposeRecur( DdManager * dd, DdNode * f, DdNode ** vector, DdNode * key, DdNode * cube, int lastsub) { DdNode *f1, *f0, *key1, *key0, *cube1, *var; DdNode *T,*E; DdNode *r; unsigned int top, topf, topk, topc; unsigned int index; int i; DdNode **vect1; DdNode **vect0; statLine(dd); /* If we are past the deepest substitution, return f. */ if (cube == DD_ONE(dd) || cuddIsConstant(f)) { return(f); } /* If problem already solved, look up answer and return. */ r = cuddCacheLookup(dd,DD_ADD_NON_SIM_COMPOSE_TAG,f,key,cube); if (r != NULL) { return(r); } /* Find top variable. we just need to look at f, key, and cube, ** because all the varibles in the gi are in key. */ topf = cuddI(dd,f->index); topk = cuddI(dd,key->index); top = ddMin(topf,topk); topc = cuddI(dd,cube->index); top = ddMin(top,topc); index = dd->invperm[top]; /* Compute the cofactors. */ if (topf == top) { f1 = cuddT(f); f0 = cuddE(f); } else { f1 = f0 = f; } if (topc == top) { cube1 = cuddT(cube); /* We want to eliminate vector[index] from key. Otherwise ** cache performance is severely affected. Hence we ** existentially quantify the variable with index "index" from key. */ var = Cudd_addIthVar(dd, (int) index); if (var == NULL) { return(NULL); } cuddRef(var); key1 = cuddAddExistAbstractRecur(dd, key, var); if (key1 == NULL) { Cudd_RecursiveDeref(dd,var); return(NULL); } cuddRef(key1); Cudd_RecursiveDeref(dd,var); key0 = key1; } else { cube1 = cube; if (topk == top) { key1 = cuddT(key); key0 = cuddE(key); } else { key1 = key0 = key; } cuddRef(key1); } /* Allocate two new vectors for the cofactors of vector. */ vect1 = ALLOC(DdNode *,lastsub); if (vect1 == NULL) { dd->errorCode = CUDD_MEMORY_OUT; Cudd_RecursiveDeref(dd,key1); return(NULL); } vect0 = ALLOC(DdNode *,lastsub); if (vect0 == NULL) { dd->errorCode = CUDD_MEMORY_OUT; Cudd_RecursiveDeref(dd,key1); FREE(vect1); return(NULL); } /* Cofactor the gi. Eliminate vect1[index] and vect0[index], because ** we do not need them. */ for (i = 0; i < lastsub; i++) { DdNode *gi = vector[i]; if (gi == NULL) { vect1[i] = vect0[i] = NULL; } else if (gi->index == index) { vect1[i] = cuddT(gi); vect0[i] = cuddE(gi); } else { vect1[i] = vect0[i] = gi; } } vect1[index] = vect0[index] = NULL; /* Recur on children. */ T = cuddAddNonSimComposeRecur(dd,f1,vect1,key1,cube1,lastsub); FREE(vect1); if (T == NULL) { Cudd_RecursiveDeref(dd,key1); FREE(vect0); return(NULL); } cuddRef(T); E = cuddAddNonSimComposeRecur(dd,f0,vect0,key0,cube1,lastsub); FREE(vect0); if (E == NULL) { Cudd_RecursiveDeref(dd,key1); Cudd_RecursiveDeref(dd,T); return(NULL); } cuddRef(E); Cudd_RecursiveDeref(dd,key1); /* Retrieve the 0-1 ADD for the current top variable from vector, ** and call cuddAddIteRecur with the T and E we just created. */ r = cuddAddIteRecur(dd,vector[index],T,E); if (r == NULL) { Cudd_RecursiveDeref(dd,T); Cudd_RecursiveDeref(dd,E); return(NULL); } cuddRef(r); Cudd_RecursiveDeref(dd,T); Cudd_RecursiveDeref(dd,E); cuddDeref(r); /* Store answer to trim recursion. */ cuddCacheInsert(dd,DD_ADD_NON_SIM_COMPOSE_TAG,f,key,cube,r); return(r); } /* end of cuddAddNonSimComposeRecur */ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_bddVectorCompose.] Description [] SideEffects [None] SeeAlso [] ******************************************************************************/ static DdNode * cuddBddVectorComposeRecur( DdManager * dd /* DD manager */, DdHashTable * table /* computed table */, DdNode * f /* BDD in which to compose */, DdNode ** vector /* functions to be composed */, int deepest /* depth of the deepest substitution */) { DdNode *F,*T,*E; DdNode *res; statLine(dd); F = Cudd_Regular(f); /* If we are past the deepest substitution, return f. */ if (cuddI(dd,F->index) > deepest) { return(f); } /* If problem already solved, look up answer and return. */ if ((res = cuddHashTableLookup1(table,F)) != NULL) { #ifdef DD_DEBUG bddVectorComposeHits++; #endif return(Cudd_NotCond(res,F != f)); } /* Split and recur on children of this node. */ T = cuddBddVectorComposeRecur(dd,table,cuddT(F),vector, deepest); if (T == NULL) return(NULL); cuddRef(T); E = cuddBddVectorComposeRecur(dd,table,cuddE(F),vector, deepest); if (E == NULL) { Cudd_IterDerefBdd(dd, T); return(NULL); } cuddRef(E); /* Call cuddBddIteRecur with the BDD that replaces the current top ** variable and the T and E we just created. */ res = cuddBddIteRecur(dd,vector[F->index],T,E); if (res == NULL) { Cudd_IterDerefBdd(dd, T); Cudd_IterDerefBdd(dd, E); return(NULL); } cuddRef(res); Cudd_IterDerefBdd(dd, T); Cudd_IterDerefBdd(dd, E); /* Do not keep the result if the reference count is only 1, since ** it will not be visited again. */ if (F->ref != 1) { ptrint fanout = (ptrint) F->ref; cuddSatDec(fanout); if (!cuddHashTableInsert1(table,F,res,fanout)) { Cudd_IterDerefBdd(dd, res); return(NULL); } } cuddDeref(res); return(Cudd_NotCond(res,F != f)); } /* end of cuddBddVectorComposeRecur */ /**Function******************************************************************** Synopsis [Comparison of a function to the i-th ADD variable.] Description [Comparison of a function to the i-th ADD variable. Returns 1 if the function is the i-th ADD variable; 0 otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ DD_INLINE static int ddIsIthAddVar( DdManager * dd, DdNode * f, unsigned int i) { return(f->index == i && cuddT(f) == DD_ONE(dd) && cuddE(f) == DD_ZERO(dd)); } /* end of ddIsIthAddVar */ /**Function******************************************************************** Synopsis [Comparison of a pair of functions to the i-th ADD variable.] Description [Comparison of a pair of functions to the i-th ADD variable. Returns 1 if the functions are the i-th ADD variable and its complement; 0 otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ DD_INLINE static int ddIsIthAddVarPair( DdManager * dd, DdNode * f, DdNode * g, unsigned int i) { return(f->index == i && g->index == i && cuddT(f) == DD_ONE(dd) && cuddE(f) == DD_ZERO(dd) && cuddT(g) == DD_ZERO(dd) && cuddE(g) == DD_ONE(dd)); } /* end of ddIsIthAddVarPair */ BRiAl-1.2.12/cudd/cuddDecomp.c000066400000000000000000001747211436062512100156740ustar00rootroot00000000000000/**CFile*********************************************************************** FileName [cuddDecomp.c] PackageName [cudd] Synopsis [Functions for BDD decomposition.] Description [External procedures included in this file:

  • Cudd_bddApproxConjDecomp()
  • Cudd_bddApproxDisjDecomp()
  • Cudd_bddIterConjDecomp()
  • Cudd_bddIterDisjDecomp()
  • Cudd_bddGenConjDecomp()
  • Cudd_bddGenDisjDecomp()
  • Cudd_bddVarConjDecomp()
  • Cudd_bddVarDisjDecomp()
Static procedures included in this module:
  • cuddConjunctsAux()
  • CreateBotDist()
  • BuildConjuncts()
  • ConjunctsFree()
] Author [Kavita Ravi, Fabio Somenzi] Copyright [Copyright (c) 1995-2012, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.] ******************************************************************************/ #include "util.h" #include "cuddInt.h" /*---------------------------------------------------------------------------*/ /* Constant declarations */ /*---------------------------------------------------------------------------*/ #define DEPTH 5 #define THRESHOLD 10 #define NONE 0 #define PAIR_ST 1 #define PAIR_CR 2 #define G_ST 3 #define G_CR 4 #define H_ST 5 #define H_CR 6 #define BOTH_G 7 #define BOTH_H 8 /*---------------------------------------------------------------------------*/ /* Stucture declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Type declarations */ /*---------------------------------------------------------------------------*/ typedef struct Conjuncts { DdNode *g; DdNode *h; } Conjuncts; typedef struct NodeStat { int distance; int localRef; } NodeStat; /*---------------------------------------------------------------------------*/ /* Variable declarations */ /*---------------------------------------------------------------------------*/ #ifndef lint static char rcsid[] DD_UNUSED = "$Id: cuddDecomp.c,v 1.45 2012/02/05 01:07:18 fabio Exp $"; #endif static DdNode *one, *zero; long lastTimeG; /*---------------------------------------------------------------------------*/ /* Macro declarations */ /*---------------------------------------------------------------------------*/ #define FactorsNotStored(factors) ((int)((long)(factors) & 01)) #define FactorsComplement(factors) ((Conjuncts *)((long)(factors) | 01)) #define FactorsUncomplement(factors) ((Conjuncts *)((long)(factors) ^ 01)) /**AutomaticStart*************************************************************/ /*---------------------------------------------------------------------------*/ /* Static function prototypes */ /*---------------------------------------------------------------------------*/ static NodeStat * CreateBotDist (DdNode * node, st_table * distanceTable); static double CountMinterms (DdNode * node, double max, st_table * mintermTable, FILE *fp); static void ConjunctsFree (DdManager * dd, Conjuncts * factors); static int PairInTables (DdNode * g, DdNode * h, st_table * ghTable); static Conjuncts * CheckTablesCacheAndReturn (DdNode * node, DdNode * g, DdNode * h, st_table * ghTable, st_table * cacheTable); static Conjuncts * PickOnePair (DdNode * node, DdNode * g1, DdNode * h1, DdNode * g2, DdNode * h2, st_table * ghTable, st_table * cacheTable); static Conjuncts * CheckInTables (DdNode * node, DdNode * g1, DdNode * h1, DdNode * g2, DdNode * h2, st_table * ghTable, st_table * cacheTable, int * outOfMem); static Conjuncts * ZeroCase (DdManager * dd, DdNode * node, Conjuncts * factorsNv, st_table * ghTable, st_table * cacheTable, int switched); static Conjuncts * BuildConjuncts (DdManager * dd, DdNode * node, st_table * distanceTable, st_table * cacheTable, int approxDistance, int maxLocalRef, st_table * ghTable, st_table * mintermTable); static int cuddConjunctsAux (DdManager * dd, DdNode * f, DdNode ** c1, DdNode ** c2); /**AutomaticEnd***************************************************************/ /*---------------------------------------------------------------------------*/ /* Definition of exported functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Performs two-way conjunctive decomposition of a BDD.] Description [Performs two-way conjunctive decomposition of a BDD. This procedure owes its name to the use of supersetting to obtain an initial factor of the given function. Returns the number of conjuncts produced, that is, 2 if successful; 1 if no meaningful decomposition was found; 0 otherwise. The conjuncts produced by this procedure tend to be imbalanced.] SideEffects [The factors are returned in an array as side effects. The array is allocated by this function. It is the caller's responsibility to free it. On successful completion, the conjuncts are already referenced. If the function returns 0, the array for the conjuncts is not allocated. If the function returns 1, the only factor equals the function to be decomposed.] SeeAlso [Cudd_bddApproxDisjDecomp Cudd_bddIterConjDecomp Cudd_bddGenConjDecomp Cudd_bddVarConjDecomp Cudd_RemapOverApprox Cudd_bddSqueeze Cudd_bddLICompaction] ******************************************************************************/ int Cudd_bddApproxConjDecomp( DdManager * dd /* manager */, DdNode * f /* function to be decomposed */, DdNode *** conjuncts /* address of the first factor */) { DdNode *superset1, *superset2, *glocal, *hlocal; int nvars = Cudd_SupportSize(dd,f); /* Find a tentative first factor by overapproximation and minimization. */ superset1 = Cudd_RemapOverApprox(dd,f,nvars,0,1.0); if (superset1 == NULL) return(0); cuddRef(superset1); superset2 = Cudd_bddSqueeze(dd,f,superset1); if (superset2 == NULL) { Cudd_RecursiveDeref(dd,superset1); return(0); } cuddRef(superset2); Cudd_RecursiveDeref(dd,superset1); /* Compute the second factor by minimization. */ hlocal = Cudd_bddLICompaction(dd,f,superset2); if (hlocal == NULL) { Cudd_RecursiveDeref(dd,superset2); return(0); } cuddRef(hlocal); /* Refine the first factor by minimization. If h turns out to be f, this ** step guarantees that g will be 1. */ glocal = Cudd_bddLICompaction(dd,superset2,hlocal); if (glocal == NULL) { Cudd_RecursiveDeref(dd,superset2); Cudd_RecursiveDeref(dd,hlocal); return(0); } cuddRef(glocal); Cudd_RecursiveDeref(dd,superset2); if (glocal != DD_ONE(dd)) { if (hlocal != DD_ONE(dd)) { *conjuncts = ALLOC(DdNode *,2); if (*conjuncts == NULL) { Cudd_RecursiveDeref(dd,glocal); Cudd_RecursiveDeref(dd,hlocal); dd->errorCode = CUDD_MEMORY_OUT; return(0); } (*conjuncts)[0] = glocal; (*conjuncts)[1] = hlocal; return(2); } else { Cudd_RecursiveDeref(dd,hlocal); *conjuncts = ALLOC(DdNode *,1); if (*conjuncts == NULL) { Cudd_RecursiveDeref(dd,glocal); dd->errorCode = CUDD_MEMORY_OUT; return(0); } (*conjuncts)[0] = glocal; return(1); } } else { Cudd_RecursiveDeref(dd,glocal); *conjuncts = ALLOC(DdNode *,1); if (*conjuncts == NULL) { Cudd_RecursiveDeref(dd,hlocal); dd->errorCode = CUDD_MEMORY_OUT; return(0); } (*conjuncts)[0] = hlocal; return(1); } } /* end of Cudd_bddApproxConjDecomp */ /**Function******************************************************************** Synopsis [Performs two-way disjunctive decomposition of a BDD.] Description [Performs two-way disjunctive decomposition of a BDD. Returns the number of disjuncts produced, that is, 2 if successful; 1 if no meaningful decomposition was found; 0 otherwise. The disjuncts produced by this procedure tend to be imbalanced.] SideEffects [The two disjuncts are returned in an array as side effects. The array is allocated by this function. It is the caller's responsibility to free it. On successful completion, the disjuncts are already referenced. If the function returns 0, the array for the disjuncts is not allocated. If the function returns 1, the only factor equals the function to be decomposed.] SeeAlso [Cudd_bddApproxConjDecomp Cudd_bddIterDisjDecomp Cudd_bddGenDisjDecomp Cudd_bddVarDisjDecomp] ******************************************************************************/ int Cudd_bddApproxDisjDecomp( DdManager * dd /* manager */, DdNode * f /* function to be decomposed */, DdNode *** disjuncts /* address of the array of the disjuncts */) { int result, i; result = Cudd_bddApproxConjDecomp(dd,Cudd_Not(f),disjuncts); for (i = 0; i < result; i++) { (*disjuncts)[i] = Cudd_Not((*disjuncts)[i]); } return(result); } /* end of Cudd_bddApproxDisjDecomp */ /**Function******************************************************************** Synopsis [Performs two-way conjunctive decomposition of a BDD.] Description [Performs two-way conjunctive decomposition of a BDD. This procedure owes its name to the iterated use of supersetting to obtain a factor of the given function. Returns the number of conjuncts produced, that is, 2 if successful; 1 if no meaningful decomposition was found; 0 otherwise. The conjuncts produced by this procedure tend to be imbalanced.] SideEffects [The factors are returned in an array as side effects. The array is allocated by this function. It is the caller's responsibility to free it. On successful completion, the conjuncts are already referenced. If the function returns 0, the array for the conjuncts is not allocated. If the function returns 1, the only factor equals the function to be decomposed.] SeeAlso [Cudd_bddIterDisjDecomp Cudd_bddApproxConjDecomp Cudd_bddGenConjDecomp Cudd_bddVarConjDecomp Cudd_RemapOverApprox Cudd_bddSqueeze Cudd_bddLICompaction] ******************************************************************************/ int Cudd_bddIterConjDecomp( DdManager * dd /* manager */, DdNode * f /* function to be decomposed */, DdNode *** conjuncts /* address of the array of conjuncts */) { DdNode *superset1, *superset2, *old[2], *res[2]; int sizeOld, sizeNew; int nvars = Cudd_SupportSize(dd,f); old[0] = DD_ONE(dd); cuddRef(old[0]); old[1] = f; cuddRef(old[1]); sizeOld = Cudd_SharingSize(old,2); do { /* Find a tentative first factor by overapproximation and ** minimization. */ superset1 = Cudd_RemapOverApprox(dd,old[1],nvars,0,1.0); if (superset1 == NULL) { Cudd_RecursiveDeref(dd,old[0]); Cudd_RecursiveDeref(dd,old[1]); return(0); } cuddRef(superset1); superset2 = Cudd_bddSqueeze(dd,old[1],superset1); if (superset2 == NULL) { Cudd_RecursiveDeref(dd,old[0]); Cudd_RecursiveDeref(dd,old[1]); Cudd_RecursiveDeref(dd,superset1); return(0); } cuddRef(superset2); Cudd_RecursiveDeref(dd,superset1); res[0] = Cudd_bddAnd(dd,old[0],superset2); if (res[0] == NULL) { Cudd_RecursiveDeref(dd,superset2); Cudd_RecursiveDeref(dd,old[0]); Cudd_RecursiveDeref(dd,old[1]); return(0); } cuddRef(res[0]); Cudd_RecursiveDeref(dd,superset2); if (res[0] == old[0]) { Cudd_RecursiveDeref(dd,res[0]); break; /* avoid infinite loop */ } /* Compute the second factor by minimization. */ res[1] = Cudd_bddLICompaction(dd,old[1],res[0]); if (res[1] == NULL) { Cudd_RecursiveDeref(dd,old[0]); Cudd_RecursiveDeref(dd,old[1]); return(0); } cuddRef(res[1]); sizeNew = Cudd_SharingSize(res,2); if (sizeNew <= sizeOld) { Cudd_RecursiveDeref(dd,old[0]); old[0] = res[0]; Cudd_RecursiveDeref(dd,old[1]); old[1] = res[1]; sizeOld = sizeNew; } else { Cudd_RecursiveDeref(dd,res[0]); Cudd_RecursiveDeref(dd,res[1]); break; } } while (1); /* Refine the first factor by minimization. If h turns out to ** be f, this step guarantees that g will be 1. */ superset1 = Cudd_bddLICompaction(dd,old[0],old[1]); if (superset1 == NULL) { Cudd_RecursiveDeref(dd,old[0]); Cudd_RecursiveDeref(dd,old[1]); return(0); } cuddRef(superset1); Cudd_RecursiveDeref(dd,old[0]); old[0] = superset1; if (old[0] != DD_ONE(dd)) { if (old[1] != DD_ONE(dd)) { *conjuncts = ALLOC(DdNode *,2); if (*conjuncts == NULL) { Cudd_RecursiveDeref(dd,old[0]); Cudd_RecursiveDeref(dd,old[1]); dd->errorCode = CUDD_MEMORY_OUT; return(0); } (*conjuncts)[0] = old[0]; (*conjuncts)[1] = old[1]; return(2); } else { Cudd_RecursiveDeref(dd,old[1]); *conjuncts = ALLOC(DdNode *,1); if (*conjuncts == NULL) { Cudd_RecursiveDeref(dd,old[0]); dd->errorCode = CUDD_MEMORY_OUT; return(0); } (*conjuncts)[0] = old[0]; return(1); } } else { Cudd_RecursiveDeref(dd,old[0]); *conjuncts = ALLOC(DdNode *,1); if (*conjuncts == NULL) { Cudd_RecursiveDeref(dd,old[1]); dd->errorCode = CUDD_MEMORY_OUT; return(0); } (*conjuncts)[0] = old[1]; return(1); } } /* end of Cudd_bddIterConjDecomp */ /**Function******************************************************************** Synopsis [Performs two-way disjunctive decomposition of a BDD.] Description [Performs two-way disjunctive decomposition of a BDD. Returns the number of disjuncts produced, that is, 2 if successful; 1 if no meaningful decomposition was found; 0 otherwise. The disjuncts produced by this procedure tend to be imbalanced.] SideEffects [The two disjuncts are returned in an array as side effects. The array is allocated by this function. It is the caller's responsibility to free it. On successful completion, the disjuncts are already referenced. If the function returns 0, the array for the disjuncts is not allocated. If the function returns 1, the only factor equals the function to be decomposed.] SeeAlso [Cudd_bddIterConjDecomp Cudd_bddApproxDisjDecomp Cudd_bddGenDisjDecomp Cudd_bddVarDisjDecomp] ******************************************************************************/ int Cudd_bddIterDisjDecomp( DdManager * dd /* manager */, DdNode * f /* function to be decomposed */, DdNode *** disjuncts /* address of the array of the disjuncts */) { int result, i; result = Cudd_bddIterConjDecomp(dd,Cudd_Not(f),disjuncts); for (i = 0; i < result; i++) { (*disjuncts)[i] = Cudd_Not((*disjuncts)[i]); } return(result); } /* end of Cudd_bddIterDisjDecomp */ /**Function******************************************************************** Synopsis [Performs two-way conjunctive decomposition of a BDD.] Description [Performs two-way conjunctive decomposition of a BDD. This procedure owes its name to the fact tht it generalizes the decomposition based on the cofactors with respect to one variable. Returns the number of conjuncts produced, that is, 2 if successful; 1 if no meaningful decomposition was found; 0 otherwise. The conjuncts produced by this procedure tend to be balanced.] SideEffects [The two factors are returned in an array as side effects. The array is allocated by this function. It is the caller's responsibility to free it. On successful completion, the conjuncts are already referenced. If the function returns 0, the array for the conjuncts is not allocated. If the function returns 1, the only factor equals the function to be decomposed.] SeeAlso [Cudd_bddGenDisjDecomp Cudd_bddApproxConjDecomp Cudd_bddIterConjDecomp Cudd_bddVarConjDecomp] ******************************************************************************/ int Cudd_bddGenConjDecomp( DdManager * dd /* manager */, DdNode * f /* function to be decomposed */, DdNode *** conjuncts /* address of the array of conjuncts */) { int result; DdNode *glocal, *hlocal; one = DD_ONE(dd); zero = Cudd_Not(one); do { dd->reordered = 0; result = cuddConjunctsAux(dd, f, &glocal, &hlocal); } while (dd->reordered == 1); if (result == 0) { return(0); } if (glocal != one) { if (hlocal != one) { *conjuncts = ALLOC(DdNode *,2); if (*conjuncts == NULL) { Cudd_RecursiveDeref(dd,glocal); Cudd_RecursiveDeref(dd,hlocal); dd->errorCode = CUDD_MEMORY_OUT; return(0); } (*conjuncts)[0] = glocal; (*conjuncts)[1] = hlocal; return(2); } else { Cudd_RecursiveDeref(dd,hlocal); *conjuncts = ALLOC(DdNode *,1); if (*conjuncts == NULL) { Cudd_RecursiveDeref(dd,glocal); dd->errorCode = CUDD_MEMORY_OUT; return(0); } (*conjuncts)[0] = glocal; return(1); } } else { Cudd_RecursiveDeref(dd,glocal); *conjuncts = ALLOC(DdNode *,1); if (*conjuncts == NULL) { Cudd_RecursiveDeref(dd,hlocal); dd->errorCode = CUDD_MEMORY_OUT; return(0); } (*conjuncts)[0] = hlocal; return(1); } } /* end of Cudd_bddGenConjDecomp */ /**Function******************************************************************** Synopsis [Performs two-way disjunctive decomposition of a BDD.] Description [Performs two-way disjunctive decomposition of a BDD. Returns the number of disjuncts produced, that is, 2 if successful; 1 if no meaningful decomposition was found; 0 otherwise. The disjuncts produced by this procedure tend to be balanced.] SideEffects [The two disjuncts are returned in an array as side effects. The array is allocated by this function. It is the caller's responsibility to free it. On successful completion, the disjuncts are already referenced. If the function returns 0, the array for the disjuncts is not allocated. If the function returns 1, the only factor equals the function to be decomposed.] SeeAlso [Cudd_bddGenConjDecomp Cudd_bddApproxDisjDecomp Cudd_bddIterDisjDecomp Cudd_bddVarDisjDecomp] ******************************************************************************/ int Cudd_bddGenDisjDecomp( DdManager * dd /* manager */, DdNode * f /* function to be decomposed */, DdNode *** disjuncts /* address of the array of the disjuncts */) { int result, i; result = Cudd_bddGenConjDecomp(dd,Cudd_Not(f),disjuncts); for (i = 0; i < result; i++) { (*disjuncts)[i] = Cudd_Not((*disjuncts)[i]); } return(result); } /* end of Cudd_bddGenDisjDecomp */ /**Function******************************************************************** Synopsis [Performs two-way conjunctive decomposition of a BDD.] Description [Conjunctively decomposes one BDD according to a variable. If f is the function of the BDD and x is the variable, the decomposition is (f+x)(f+x'). The variable is chosen so as to balance the sizes of the two conjuncts and to keep them small. Returns the number of conjuncts produced, that is, 2 if successful; 1 if no meaningful decomposition was found; 0 otherwise.] SideEffects [The two factors are returned in an array as side effects. The array is allocated by this function. It is the caller's responsibility to free it. On successful completion, the conjuncts are already referenced. If the function returns 0, the array for the conjuncts is not allocated. If the function returns 1, the only factor equals the function to be decomposed.] SeeAlso [Cudd_bddVarDisjDecomp Cudd_bddGenConjDecomp Cudd_bddApproxConjDecomp Cudd_bddIterConjDecomp] *****************************************************************************/ int Cudd_bddVarConjDecomp( DdManager * dd /* manager */, DdNode * f /* function to be decomposed */, DdNode *** conjuncts /* address of the array of conjuncts */) { int best; int min; DdNode *support, *scan, *var, *glocal, *hlocal; /* Find best cofactoring variable. */ support = Cudd_Support(dd,f); if (support == NULL) return(0); if (Cudd_IsConstant(support)) { *conjuncts = ALLOC(DdNode *,1); if (*conjuncts == NULL) { dd->errorCode = CUDD_MEMORY_OUT; return(0); } (*conjuncts)[0] = f; cuddRef((*conjuncts)[0]); return(1); } cuddRef(support); min = 1000000000; best = -1; scan = support; while (!Cudd_IsConstant(scan)) { int i = scan->index; int est1 = Cudd_EstimateCofactor(dd,f,i,1); int est0 = Cudd_EstimateCofactor(dd,f,i,0); /* Minimize the size of the larger of the two cofactors. */ int est = (est1 > est0) ? est1 : est0; if (est < min) { min = est; best = i; } scan = cuddT(scan); } #ifdef DD_DEBUG assert(best >= 0 && best < dd->size); #endif Cudd_RecursiveDeref(dd,support); var = Cudd_bddIthVar(dd,best); glocal = Cudd_bddOr(dd,f,var); if (glocal == NULL) { return(0); } cuddRef(glocal); hlocal = Cudd_bddOr(dd,f,Cudd_Not(var)); if (hlocal == NULL) { Cudd_RecursiveDeref(dd,glocal); return(0); } cuddRef(hlocal); if (glocal != DD_ONE(dd)) { if (hlocal != DD_ONE(dd)) { *conjuncts = ALLOC(DdNode *,2); if (*conjuncts == NULL) { Cudd_RecursiveDeref(dd,glocal); Cudd_RecursiveDeref(dd,hlocal); dd->errorCode = CUDD_MEMORY_OUT; return(0); } (*conjuncts)[0] = glocal; (*conjuncts)[1] = hlocal; return(2); } else { Cudd_RecursiveDeref(dd,hlocal); *conjuncts = ALLOC(DdNode *,1); if (*conjuncts == NULL) { Cudd_RecursiveDeref(dd,glocal); dd->errorCode = CUDD_MEMORY_OUT; return(0); } (*conjuncts)[0] = glocal; return(1); } } else { Cudd_RecursiveDeref(dd,glocal); *conjuncts = ALLOC(DdNode *,1); if (*conjuncts == NULL) { Cudd_RecursiveDeref(dd,hlocal); dd->errorCode = CUDD_MEMORY_OUT; return(0); } (*conjuncts)[0] = hlocal; return(1); } } /* end of Cudd_bddVarConjDecomp */ /**Function******************************************************************** Synopsis [Performs two-way disjunctive decomposition of a BDD.] Description [Performs two-way disjunctive decomposition of a BDD according to a variable. If f is the function of the BDD and x is the variable, the decomposition is f*x + f*x'. The variable is chosen so as to balance the sizes of the two disjuncts and to keep them small. Returns the number of disjuncts produced, that is, 2 if successful; 1 if no meaningful decomposition was found; 0 otherwise.] SideEffects [The two disjuncts are returned in an array as side effects. The array is allocated by this function. It is the caller's responsibility to free it. On successful completion, the disjuncts are already referenced. If the function returns 0, the array for the disjuncts is not allocated. If the function returns 1, the only factor equals the function to be decomposed.] SeeAlso [Cudd_bddVarConjDecomp Cudd_bddApproxDisjDecomp Cudd_bddIterDisjDecomp Cudd_bddGenDisjDecomp] ******************************************************************************/ int Cudd_bddVarDisjDecomp( DdManager * dd /* manager */, DdNode * f /* function to be decomposed */, DdNode *** disjuncts /* address of the array of the disjuncts */) { int result, i; result = Cudd_bddVarConjDecomp(dd,Cudd_Not(f),disjuncts); for (i = 0; i < result; i++) { (*disjuncts)[i] = Cudd_Not((*disjuncts)[i]); } return(result); } /* end of Cudd_bddVarDisjDecomp */ /*---------------------------------------------------------------------------*/ /* Definition of internal functions */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Definition of static functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Get longest distance of node from constant.] Description [Get longest distance of node from constant. Returns the distance of the root from the constant if successful; CUDD_OUT_OF_MEM otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ static NodeStat * CreateBotDist( DdNode * node, st_table * distanceTable) { DdNode *N, *Nv, *Nnv; int distance, distanceNv, distanceNnv; NodeStat *nodeStat, *nodeStatNv, *nodeStatNnv; #if 0 if (Cudd_IsConstant(node)) { return(0); } #endif /* Return the entry in the table if found. */ N = Cudd_Regular(node); if (st_lookup(distanceTable, N, &nodeStat)) { nodeStat->localRef++; return(nodeStat); } Nv = cuddT(N); Nnv = cuddE(N); Nv = Cudd_NotCond(Nv, Cudd_IsComplement(node)); Nnv = Cudd_NotCond(Nnv, Cudd_IsComplement(node)); /* Recur on the children. */ nodeStatNv = CreateBotDist(Nv, distanceTable); if (nodeStatNv == NULL) return(NULL); distanceNv = nodeStatNv->distance; nodeStatNnv = CreateBotDist(Nnv, distanceTable); if (nodeStatNnv == NULL) return(NULL); distanceNnv = nodeStatNnv->distance; /* Store max distance from constant; note sometimes this distance ** may be to 0. */ distance = (distanceNv > distanceNnv) ? (distanceNv+1) : (distanceNnv + 1); nodeStat = ALLOC(NodeStat, 1); if (nodeStat == NULL) { return(0); } nodeStat->distance = distance; nodeStat->localRef = 1; if (st_insert(distanceTable, (char *)N, (char *)nodeStat) == ST_OUT_OF_MEM) { return(0); } return(nodeStat); } /* end of CreateBotDist */ /**Function******************************************************************** Synopsis [Count the number of minterms of each node ina a BDD and store it in a hash table.] Description [] SideEffects [None] SeeAlso [] ******************************************************************************/ static double CountMinterms( DdNode * node, double max, st_table * mintermTable, FILE *fp) { DdNode *N, *Nv, *Nnv; double min, minNv, minNnv; double *dummy; N = Cudd_Regular(node); if (cuddIsConstant(N)) { if (node == zero) { return(0); } else { return(max); } } /* Return the entry in the table if found. */ if (st_lookup(mintermTable, node, &dummy)) { min = *dummy; return(min); } Nv = cuddT(N); Nnv = cuddE(N); Nv = Cudd_NotCond(Nv, Cudd_IsComplement(node)); Nnv = Cudd_NotCond(Nnv, Cudd_IsComplement(node)); /* Recur on the children. */ minNv = CountMinterms(Nv, max, mintermTable, fp); if (minNv == -1.0) return(-1.0); minNnv = CountMinterms(Nnv, max, mintermTable, fp); if (minNnv == -1.0) return(-1.0); min = minNv / 2.0 + minNnv / 2.0; /* store */ dummy = ALLOC(double, 1); if (dummy == NULL) return(-1.0); *dummy = min; if (st_insert(mintermTable, (char *)node, (char *)dummy) == ST_OUT_OF_MEM) { (void) fprintf(fp, "st table insert failed\n"); } return(min); } /* end of CountMinterms */ /**Function******************************************************************** Synopsis [Free factors structure] Description [] SideEffects [None] SeeAlso [] ******************************************************************************/ static void ConjunctsFree( DdManager * dd, Conjuncts * factors) { Cudd_RecursiveDeref(dd, factors->g); Cudd_RecursiveDeref(dd, factors->h); FREE(factors); return; } /* end of ConjunctsFree */ /**Function******************************************************************** Synopsis [Check whether the given pair is in the tables.] Description [.Check whether the given pair is in the tables. gTable and hTable are combined. absence in both is indicated by 0, presence in gTable is indicated by 1, presence in hTable by 2 and presence in both by 3. The values returned by this function are PAIR_ST, PAIR_CR, G_ST, G_CR, H_ST, H_CR, BOTH_G, BOTH_H, NONE. PAIR_ST implies g in gTable and h in hTable PAIR_CR implies g in hTable and h in gTable G_ST implies g in gTable and h not in any table G_CR implies g in hTable and h not in any table H_ST implies h in hTable and g not in any table H_CR implies h in gTable and g not in any table BOTH_G implies both in gTable BOTH_H implies both in hTable NONE implies none in table; ] SideEffects [] SeeAlso [CheckTablesCacheAndReturn CheckInTables] ******************************************************************************/ static int PairInTables( DdNode * g, DdNode * h, st_table * ghTable) { int valueG, valueH, gPresent, hPresent; valueG = valueH = gPresent = hPresent = 0; gPresent = st_lookup_int(ghTable, (char *)Cudd_Regular(g), &valueG); hPresent = st_lookup_int(ghTable, (char *)Cudd_Regular(h), &valueH); if (!gPresent && !hPresent) return(NONE); if (!hPresent) { if (valueG & 1) return(G_ST); if (valueG & 2) return(G_CR); } if (!gPresent) { if (valueH & 1) return(H_CR); if (valueH & 2) return(H_ST); } /* both in tables */ if ((valueG & 1) && (valueH & 2)) return(PAIR_ST); if ((valueG & 2) && (valueH & 1)) return(PAIR_CR); if (valueG & 1) { return(BOTH_G); } else { return(BOTH_H); } } /* end of PairInTables */ /**Function******************************************************************** Synopsis [Check the tables for the existence of pair and return one combination, cache the result.] Description [Check the tables for the existence of pair and return one combination, cache the result. The assumption is that one of the conjuncts is already in the tables.] SideEffects [g and h referenced for the cache] SeeAlso [ZeroCase] ******************************************************************************/ static Conjuncts * CheckTablesCacheAndReturn( DdNode * node, DdNode * g, DdNode * h, st_table * ghTable, st_table * cacheTable) { int pairValue; int value; Conjuncts *factors; value = 0; /* check tables */ pairValue = PairInTables(g, h, ghTable); assert(pairValue != NONE); /* if both dont exist in table, we know one exists(either g or h). * Therefore store the other and proceed */ factors = ALLOC(Conjuncts, 1); if (factors == NULL) return(NULL); if ((pairValue == BOTH_H) || (pairValue == H_ST)) { if (g != one) { value = 0; if (st_lookup_int(ghTable, (char *)Cudd_Regular(g), &value)) { value |= 1; } else { value = 1; } if (st_insert(ghTable, (char *)Cudd_Regular(g), (char *)(long)value) == ST_OUT_OF_MEM) { return(NULL); } } factors->g = g; factors->h = h; } else if ((pairValue == BOTH_G) || (pairValue == G_ST)) { if (h != one) { value = 0; if (st_lookup_int(ghTable, (char *)Cudd_Regular(h), &value)) { value |= 2; } else { value = 2; } if (st_insert(ghTable, (char *)Cudd_Regular(h), (char *)(long)value) == ST_OUT_OF_MEM) { return(NULL); } } factors->g = g; factors->h = h; } else if (pairValue == H_CR) { if (g != one) { value = 2; if (st_insert(ghTable, (char *)Cudd_Regular(g), (char *)(long)value) == ST_OUT_OF_MEM) { return(NULL); } } factors->g = h; factors->h = g; } else if (pairValue == G_CR) { if (h != one) { value = 1; if (st_insert(ghTable, (char *)Cudd_Regular(h), (char *)(long)value) == ST_OUT_OF_MEM) { return(NULL); } } factors->g = h; factors->h = g; } else if (pairValue == PAIR_CR) { /* pair exists in table */ factors->g = h; factors->h = g; } else if (pairValue == PAIR_ST) { factors->g = g; factors->h = h; } /* cache the result for this node */ if (st_insert(cacheTable, (char *)node, (char *)factors) == ST_OUT_OF_MEM) { FREE(factors); return(NULL); } return(factors); } /* end of CheckTablesCacheAndReturn */ /**Function******************************************************************** Synopsis [Check the tables for the existence of pair and return one combination, store in cache.] Description [Check the tables for the existence of pair and return one combination, store in cache. The pair that has more pointers to it is picked. An approximation of the number of local pointers is made by taking the reference count of the pairs sent. ] SideEffects [] SeeAlso [ZeroCase BuildConjuncts] ******************************************************************************/ static Conjuncts * PickOnePair( DdNode * node, DdNode * g1, DdNode * h1, DdNode * g2, DdNode * h2, st_table * ghTable, st_table * cacheTable) { int value; Conjuncts *factors; int oneRef, twoRef; factors = ALLOC(Conjuncts, 1); if (factors == NULL) return(NULL); /* count the number of pointers to pair 2 */ if (h2 == one) { twoRef = (Cudd_Regular(g2))->ref; } else if (g2 == one) { twoRef = (Cudd_Regular(h2))->ref; } else { twoRef = ((Cudd_Regular(g2))->ref + (Cudd_Regular(h2))->ref)/2; } /* count the number of pointers to pair 1 */ if (h1 == one) { oneRef = (Cudd_Regular(g1))->ref; } else if (g1 == one) { oneRef = (Cudd_Regular(h1))->ref; } else { oneRef = ((Cudd_Regular(g1))->ref + (Cudd_Regular(h1))->ref)/2; } /* pick the pair with higher reference count */ if (oneRef >= twoRef) { factors->g = g1; factors->h = h1; } else { factors->g = g2; factors->h = h2; } /* * Store computed factors in respective tables to encourage * recombination. */ if (factors->g != one) { /* insert g in htable */ value = 0; if (st_lookup_int(ghTable, (char *)Cudd_Regular(factors->g), &value)) { if (value == 2) { value |= 1; if (st_insert(ghTable, (char *)Cudd_Regular(factors->g), (char *)(long)value) == ST_OUT_OF_MEM) { FREE(factors); return(NULL); } } } else { value = 1; if (st_insert(ghTable, (char *)Cudd_Regular(factors->g), (char *)(long)value) == ST_OUT_OF_MEM) { FREE(factors); return(NULL); } } } if (factors->h != one) { /* insert h in htable */ value = 0; if (st_lookup_int(ghTable, (char *)Cudd_Regular(factors->h), &value)) { if (value == 1) { value |= 2; if (st_insert(ghTable, (char *)Cudd_Regular(factors->h), (char *)(long)value) == ST_OUT_OF_MEM) { FREE(factors); return(NULL); } } } else { value = 2; if (st_insert(ghTable, (char *)Cudd_Regular(factors->h), (char *)(long)value) == ST_OUT_OF_MEM) { FREE(factors); return(NULL); } } } /* Store factors in cache table for later use. */ if (st_insert(cacheTable, (char *)node, (char *)factors) == ST_OUT_OF_MEM) { FREE(factors); return(NULL); } return(factors); } /* end of PickOnePair */ /**Function******************************************************************** Synopsis [Check if the two pairs exist in the table, If any of the conjuncts do exist, store in the cache and return the corresponding pair.] Description [Check if the two pairs exist in the table. If any of the conjuncts do exist, store in the cache and return the corresponding pair.] SideEffects [] SeeAlso [ZeroCase BuildConjuncts] ******************************************************************************/ static Conjuncts * CheckInTables( DdNode * node, DdNode * g1, DdNode * h1, DdNode * g2, DdNode * h2, st_table * ghTable, st_table * cacheTable, int * outOfMem) { int pairValue1, pairValue2; Conjuncts *factors; int value; *outOfMem = 0; /* check existence of pair in table */ pairValue1 = PairInTables(g1, h1, ghTable); pairValue2 = PairInTables(g2, h2, ghTable); /* if none of the 4 exist in the gh tables, return NULL */ if ((pairValue1 == NONE) && (pairValue2 == NONE)) { return NULL; } factors = ALLOC(Conjuncts, 1); if (factors == NULL) { *outOfMem = 1; return NULL; } /* pairs that already exist in the table get preference. */ if (pairValue1 == PAIR_ST) { factors->g = g1; factors->h = h1; } else if (pairValue2 == PAIR_ST) { factors->g = g2; factors->h = h2; } else if (pairValue1 == PAIR_CR) { factors->g = h1; factors->h = g1; } else if (pairValue2 == PAIR_CR) { factors->g = h2; factors->h = g2; } else if (pairValue1 == G_ST) { /* g exists in the table, h is not found in either table */ factors->g = g1; factors->h = h1; if (h1 != one) { value = 2; if (st_insert(ghTable, (char *)Cudd_Regular(h1), (char *)(long)value) == ST_OUT_OF_MEM) { *outOfMem = 1; FREE(factors); return(NULL); } } } else if (pairValue1 == BOTH_G) { /* g and h are found in the g table */ factors->g = g1; factors->h = h1; if (h1 != one) { value = 3; if (st_insert(ghTable, (char *)Cudd_Regular(h1), (char *)(long)value) == ST_OUT_OF_MEM) { *outOfMem = 1; FREE(factors); return(NULL); } } } else if (pairValue1 == H_ST) { /* h exists in the table, g is not found in either table */ factors->g = g1; factors->h = h1; if (g1 != one) { value = 1; if (st_insert(ghTable, (char *)Cudd_Regular(g1), (char *)(long)value) == ST_OUT_OF_MEM) { *outOfMem = 1; FREE(factors); return(NULL); } } } else if (pairValue1 == BOTH_H) { /* g and h are found in the h table */ factors->g = g1; factors->h = h1; if (g1 != one) { value = 3; if (st_insert(ghTable, (char *)Cudd_Regular(g1), (char *)(long)value) == ST_OUT_OF_MEM) { *outOfMem = 1; FREE(factors); return(NULL); } } } else if (pairValue2 == G_ST) { /* g exists in the table, h is not found in either table */ factors->g = g2; factors->h = h2; if (h2 != one) { value = 2; if (st_insert(ghTable, (char *)Cudd_Regular(h2), (char *)(long)value) == ST_OUT_OF_MEM) { *outOfMem = 1; FREE(factors); return(NULL); } } } else if (pairValue2 == BOTH_G) { /* g and h are found in the g table */ factors->g = g2; factors->h = h2; if (h2 != one) { value = 3; if (st_insert(ghTable, (char *)Cudd_Regular(h2), (char *)(long)value) == ST_OUT_OF_MEM) { *outOfMem = 1; FREE(factors); return(NULL); } } } else if (pairValue2 == H_ST) { /* h exists in the table, g is not found in either table */ factors->g = g2; factors->h = h2; if (g2 != one) { value = 1; if (st_insert(ghTable, (char *)Cudd_Regular(g2), (char *)(long)value) == ST_OUT_OF_MEM) { *outOfMem = 1; FREE(factors); return(NULL); } } } else if (pairValue2 == BOTH_H) { /* g and h are found in the h table */ factors->g = g2; factors->h = h2; if (g2 != one) { value = 3; if (st_insert(ghTable, (char *)Cudd_Regular(g2), (char *)(long)value) == ST_OUT_OF_MEM) { *outOfMem = 1; FREE(factors); return(NULL); } } } else if (pairValue1 == G_CR) { /* g found in h table and h in none */ factors->g = h1; factors->h = g1; if (h1 != one) { value = 1; if (st_insert(ghTable, (char *)Cudd_Regular(h1), (char *)(long)value) == ST_OUT_OF_MEM) { *outOfMem = 1; FREE(factors); return(NULL); } } } else if (pairValue1 == H_CR) { /* h found in g table and g in none */ factors->g = h1; factors->h = g1; if (g1 != one) { value = 2; if (st_insert(ghTable, (char *)Cudd_Regular(g1), (char *)(long)value) == ST_OUT_OF_MEM) { *outOfMem = 1; FREE(factors); return(NULL); } } } else if (pairValue2 == G_CR) { /* g found in h table and h in none */ factors->g = h2; factors->h = g2; if (h2 != one) { value = 1; if (st_insert(ghTable, (char *)Cudd_Regular(h2), (char *)(long)value) == ST_OUT_OF_MEM) { *outOfMem = 1; FREE(factors); return(NULL); } } } else if (pairValue2 == H_CR) { /* h found in g table and g in none */ factors->g = h2; factors->h = g2; if (g2 != one) { value = 2; if (st_insert(ghTable, (char *)Cudd_Regular(g2), (char *)(long)value) == ST_OUT_OF_MEM) { *outOfMem = 1; FREE(factors); return(NULL); } } } /* Store factors in cache table for later use. */ if (st_insert(cacheTable, (char *)node, (char *)factors) == ST_OUT_OF_MEM) { *outOfMem = 1; FREE(factors); return(NULL); } return factors; } /* end of CheckInTables */ /**Function******************************************************************** Synopsis [If one child is zero, do explicitly what Restrict does or better] Description [If one child is zero, do explicitly what Restrict does or better. First separate a variable and its child in the base case. In case of a cube times a function, separate the cube and function. As a last resort, look in tables.] SideEffects [Frees the BDDs in factorsNv. factorsNv itself is not freed because it is freed above.] SeeAlso [BuildConjuncts] ******************************************************************************/ static Conjuncts * ZeroCase( DdManager * dd, DdNode * node, Conjuncts * factorsNv, st_table * ghTable, st_table * cacheTable, int switched) { int topid; DdNode *g, *h, *g1, *g2, *h1, *h2, *x, *N, *G, *H, *Gv, *Gnv; DdNode *Hv, *Hnv; int value; int outOfMem; Conjuncts *factors; /* get var at this node */ N = Cudd_Regular(node); topid = N->index; x = dd->vars[topid]; x = (switched) ? Cudd_Not(x): x; cuddRef(x); /* Seprate variable and child */ if (factorsNv->g == one) { Cudd_RecursiveDeref(dd, factorsNv->g); factors = ALLOC(Conjuncts, 1); if (factors == NULL) { dd->errorCode = CUDD_MEMORY_OUT; Cudd_RecursiveDeref(dd, factorsNv->h); Cudd_RecursiveDeref(dd, x); return(NULL); } factors->g = x; factors->h = factorsNv->h; /* cache the result*/ if (st_insert(cacheTable, (char *)node, (char *)factors) == ST_OUT_OF_MEM) { dd->errorCode = CUDD_MEMORY_OUT; Cudd_RecursiveDeref(dd, factorsNv->h); Cudd_RecursiveDeref(dd, x); FREE(factors); return NULL; } /* store x in g table, the other node is already in the table */ if (st_lookup_int(ghTable, (char *)Cudd_Regular(x), &value)) { value |= 1; } else { value = 1; } if (st_insert(ghTable, (char *)Cudd_Regular(x), (char *)(long)value) == ST_OUT_OF_MEM) { dd->errorCode = CUDD_MEMORY_OUT; return NULL; } return(factors); } /* Seprate variable and child */ if (factorsNv->h == one) { Cudd_RecursiveDeref(dd, factorsNv->h); factors = ALLOC(Conjuncts, 1); if (factors == NULL) { dd->errorCode = CUDD_MEMORY_OUT; Cudd_RecursiveDeref(dd, factorsNv->g); Cudd_RecursiveDeref(dd, x); return(NULL); } factors->g = factorsNv->g; factors->h = x; /* cache the result. */ if (st_insert(cacheTable, (char *)node, (char *)factors) == ST_OUT_OF_MEM) { dd->errorCode = CUDD_MEMORY_OUT; Cudd_RecursiveDeref(dd, factorsNv->g); Cudd_RecursiveDeref(dd, x); FREE(factors); return(NULL); } /* store x in h table, the other node is already in the table */ if (st_lookup_int(ghTable, (char *)Cudd_Regular(x), &value)) { value |= 2; } else { value = 2; } if (st_insert(ghTable, (char *)Cudd_Regular(x), (char *)(long)value) == ST_OUT_OF_MEM) { dd->errorCode = CUDD_MEMORY_OUT; return NULL; } return(factors); } G = Cudd_Regular(factorsNv->g); Gv = cuddT(G); Gnv = cuddE(G); Gv = Cudd_NotCond(Gv, Cudd_IsComplement(node)); Gnv = Cudd_NotCond(Gnv, Cudd_IsComplement(node)); /* if the child below is a variable */ if ((Gv == zero) || (Gnv == zero)) { h = factorsNv->h; g = cuddBddAndRecur(dd, x, factorsNv->g); if (g != NULL) cuddRef(g); Cudd_RecursiveDeref(dd, factorsNv->g); Cudd_RecursiveDeref(dd, x); if (g == NULL) { Cudd_RecursiveDeref(dd, factorsNv->h); return NULL; } /* CheckTablesCacheAndReturn responsible for allocating * factors structure., g,h referenced for cache store the */ factors = CheckTablesCacheAndReturn(node, g, h, ghTable, cacheTable); if (factors == NULL) { dd->errorCode = CUDD_MEMORY_OUT; Cudd_RecursiveDeref(dd, g); Cudd_RecursiveDeref(dd, h); } return(factors); } H = Cudd_Regular(factorsNv->h); Hv = cuddT(H); Hnv = cuddE(H); Hv = Cudd_NotCond(Hv, Cudd_IsComplement(node)); Hnv = Cudd_NotCond(Hnv, Cudd_IsComplement(node)); /* if the child below is a variable */ if ((Hv == zero) || (Hnv == zero)) { g = factorsNv->g; h = cuddBddAndRecur(dd, x, factorsNv->h); if (h!= NULL) cuddRef(h); Cudd_RecursiveDeref(dd, factorsNv->h); Cudd_RecursiveDeref(dd, x); if (h == NULL) { Cudd_RecursiveDeref(dd, factorsNv->g); return NULL; } /* CheckTablesCacheAndReturn responsible for allocating * factors structure.g,h referenced for table store */ factors = CheckTablesCacheAndReturn(node, g, h, ghTable, cacheTable); if (factors == NULL) { dd->errorCode = CUDD_MEMORY_OUT; Cudd_RecursiveDeref(dd, g); Cudd_RecursiveDeref(dd, h); } return(factors); } /* build g1 = x*g; h1 = h */ /* build g2 = g; h2 = x*h */ Cudd_RecursiveDeref(dd, x); h1 = factorsNv->h; g1 = cuddBddAndRecur(dd, x, factorsNv->g); if (g1 != NULL) cuddRef(g1); if (g1 == NULL) { Cudd_RecursiveDeref(dd, factorsNv->g); Cudd_RecursiveDeref(dd, factorsNv->h); return NULL; } g2 = factorsNv->g; h2 = cuddBddAndRecur(dd, x, factorsNv->h); if (h2 != NULL) cuddRef(h2); if (h2 == NULL) { Cudd_RecursiveDeref(dd, factorsNv->h); Cudd_RecursiveDeref(dd, factorsNv->g); return NULL; } /* check whether any pair is in tables */ factors = CheckInTables(node, g1, h1, g2, h2, ghTable, cacheTable, &outOfMem); if (outOfMem) { dd->errorCode = CUDD_MEMORY_OUT; Cudd_RecursiveDeref(dd, g1); Cudd_RecursiveDeref(dd, h1); Cudd_RecursiveDeref(dd, g2); Cudd_RecursiveDeref(dd, h2); return NULL; } if (factors != NULL) { if ((factors->g == g1) || (factors->g == h1)) { Cudd_RecursiveDeref(dd, g2); Cudd_RecursiveDeref(dd, h2); } else { Cudd_RecursiveDeref(dd, g1); Cudd_RecursiveDeref(dd, h1); } return factors; } /* check for each pair in tables and choose one */ factors = PickOnePair(node,g1, h1, g2, h2, ghTable, cacheTable); if (factors == NULL) { dd->errorCode = CUDD_MEMORY_OUT; Cudd_RecursiveDeref(dd, g1); Cudd_RecursiveDeref(dd, h1); Cudd_RecursiveDeref(dd, g2); Cudd_RecursiveDeref(dd, h2); } else { /* now free what was created and not used */ if ((factors->g == g1) || (factors->g == h1)) { Cudd_RecursiveDeref(dd, g2); Cudd_RecursiveDeref(dd, h2); } else { Cudd_RecursiveDeref(dd, g1); Cudd_RecursiveDeref(dd, h1); } } return(factors); } /* end of ZeroCase */ /**Function******************************************************************** Synopsis [Builds the conjuncts recursively, bottom up.] Description [Builds the conjuncts recursively, bottom up. Constants are returned as (f, f). The cache is checked for previously computed result. The decomposition points are determined by the local reference count of this node and the longest distance from the constant. At the decomposition point, the factors returned are (f, 1). Recur on the two children. The order is determined by the heavier branch. Combine the factors of the two children and pick the one that already occurs in the gh table. Occurence in g is indicated by value 1, occurence in h by 2, occurence in both 3.] SideEffects [] SeeAlso [cuddConjunctsAux] ******************************************************************************/ static Conjuncts * BuildConjuncts( DdManager * dd, DdNode * node, st_table * distanceTable, st_table * cacheTable, int approxDistance, int maxLocalRef, st_table * ghTable, st_table * mintermTable) { int topid, distance; Conjuncts *factorsNv, *factorsNnv, *factors; Conjuncts *dummy; DdNode *N, *Nv, *Nnv, *temp, *g1, *g2, *h1, *h2, *topv; double minNv = 0.0, minNnv = 0.0; double *doubleDummy; int switched =0; int outOfMem; int freeNv = 0, freeNnv = 0, freeTemp; NodeStat *nodeStat; int value; /* if f is constant, return (f,f) */ if (Cudd_IsConstant(node)) { factors = ALLOC(Conjuncts, 1); if (factors == NULL) { dd->errorCode = CUDD_MEMORY_OUT; return(NULL); } factors->g = node; factors->h = node; return(FactorsComplement(factors)); } /* If result (a pair of conjuncts) in cache, return the factors. */ if (st_lookup(cacheTable, node, &dummy)) { factors = dummy; return(factors); } /* check distance and local reference count of this node */ N = Cudd_Regular(node); if (!st_lookup(distanceTable, N, &nodeStat)) { (void) fprintf(dd->err, "Not in table, Something wrong\n"); dd->errorCode = CUDD_INTERNAL_ERROR; return(NULL); } distance = nodeStat->distance; /* at or below decomposition point, return (f, 1) */ if (((nodeStat->localRef > maxLocalRef*2/3) && (distance < approxDistance*2/3)) || (distance <= approxDistance/4)) { factors = ALLOC(Conjuncts, 1); if (factors == NULL) { dd->errorCode = CUDD_MEMORY_OUT; return(NULL); } /* alternate assigning (f,1) */ value = 0; if (st_lookup_int(ghTable, (char *)Cudd_Regular(node), &value)) { if (value == 3) { if (!lastTimeG) { factors->g = node; factors->h = one; lastTimeG = 1; } else { factors->g = one; factors->h = node; lastTimeG = 0; } } else if (value == 1) { factors->g = node; factors->h = one; } else { factors->g = one; factors->h = node; } } else if (!lastTimeG) { factors->g = node; factors->h = one; lastTimeG = 1; value = 1; if (st_insert(ghTable, (char *)Cudd_Regular(node), (char *)(long)value) == ST_OUT_OF_MEM) { dd->errorCode = CUDD_MEMORY_OUT; FREE(factors); return NULL; } } else { factors->g = one; factors->h = node; lastTimeG = 0; value = 2; if (st_insert(ghTable, (char *)Cudd_Regular(node), (char *)(long)value) == ST_OUT_OF_MEM) { dd->errorCode = CUDD_MEMORY_OUT; FREE(factors); return NULL; } } return(FactorsComplement(factors)); } /* get the children and recur */ Nv = cuddT(N); Nnv = cuddE(N); Nv = Cudd_NotCond(Nv, Cudd_IsComplement(node)); Nnv = Cudd_NotCond(Nnv, Cudd_IsComplement(node)); /* Choose which subproblem to solve first based on the number of * minterms. We go first where there are more minterms. */ if (!Cudd_IsConstant(Nv)) { if (!st_lookup(mintermTable, Nv, &doubleDummy)) { (void) fprintf(dd->err, "Not in table: Something wrong\n"); dd->errorCode = CUDD_INTERNAL_ERROR; return(NULL); } minNv = *doubleDummy; } if (!Cudd_IsConstant(Nnv)) { if (!st_lookup(mintermTable, Nnv, &doubleDummy)) { (void) fprintf(dd->err, "Not in table: Something wrong\n"); dd->errorCode = CUDD_INTERNAL_ERROR; return(NULL); } minNnv = *doubleDummy; } if (minNv < minNnv) { temp = Nv; Nv = Nnv; Nnv = temp; switched = 1; } /* build gt, ht recursively */ if (Nv != zero) { factorsNv = BuildConjuncts(dd, Nv, distanceTable, cacheTable, approxDistance, maxLocalRef, ghTable, mintermTable); if (factorsNv == NULL) return(NULL); freeNv = FactorsNotStored(factorsNv); factorsNv = (freeNv) ? FactorsUncomplement(factorsNv) : factorsNv; cuddRef(factorsNv->g); cuddRef(factorsNv->h); /* Deal with the zero case */ if (Nnv == zero) { /* is responsible for freeing factorsNv */ factors = ZeroCase(dd, node, factorsNv, ghTable, cacheTable, switched); if (freeNv) FREE(factorsNv); return(factors); } } /* build ge, he recursively */ if (Nnv != zero) { factorsNnv = BuildConjuncts(dd, Nnv, distanceTable, cacheTable, approxDistance, maxLocalRef, ghTable, mintermTable); if (factorsNnv == NULL) { Cudd_RecursiveDeref(dd, factorsNv->g); Cudd_RecursiveDeref(dd, factorsNv->h); if (freeNv) FREE(factorsNv); return(NULL); } freeNnv = FactorsNotStored(factorsNnv); factorsNnv = (freeNnv) ? FactorsUncomplement(factorsNnv) : factorsNnv; cuddRef(factorsNnv->g); cuddRef(factorsNnv->h); /* Deal with the zero case */ if (Nv == zero) { /* is responsible for freeing factorsNv */ factors = ZeroCase(dd, node, factorsNnv, ghTable, cacheTable, switched); if (freeNnv) FREE(factorsNnv); return(factors); } } /* construct the 2 pairs */ /* g1 = x*gt + x'*ge; h1 = x*ht + x'*he; */ /* g2 = x*gt + x'*he; h2 = x*ht + x'*ge */ if (switched) { factors = factorsNnv; factorsNnv = factorsNv; factorsNv = factors; freeTemp = freeNv; freeNv = freeNnv; freeNnv = freeTemp; } /* Build the factors for this node. */ topid = N->index; topv = dd->vars[topid]; g1 = cuddBddIteRecur(dd, topv, factorsNv->g, factorsNnv->g); if (g1 == NULL) { Cudd_RecursiveDeref(dd, factorsNv->g); Cudd_RecursiveDeref(dd, factorsNv->h); Cudd_RecursiveDeref(dd, factorsNnv->g); Cudd_RecursiveDeref(dd, factorsNnv->h); if (freeNv) FREE(factorsNv); if (freeNnv) FREE(factorsNnv); return(NULL); } cuddRef(g1); h1 = cuddBddIteRecur(dd, topv, factorsNv->h, factorsNnv->h); if (h1 == NULL) { Cudd_RecursiveDeref(dd, factorsNv->g); Cudd_RecursiveDeref(dd, factorsNv->h); Cudd_RecursiveDeref(dd, factorsNnv->g); Cudd_RecursiveDeref(dd, factorsNnv->h); Cudd_RecursiveDeref(dd, g1); if (freeNv) FREE(factorsNv); if (freeNnv) FREE(factorsNnv); return(NULL); } cuddRef(h1); g2 = cuddBddIteRecur(dd, topv, factorsNv->g, factorsNnv->h); if (g2 == NULL) { Cudd_RecursiveDeref(dd, factorsNv->h); Cudd_RecursiveDeref(dd, factorsNv->g); Cudd_RecursiveDeref(dd, factorsNnv->g); Cudd_RecursiveDeref(dd, factorsNnv->h); Cudd_RecursiveDeref(dd, g1); Cudd_RecursiveDeref(dd, h1); if (freeNv) FREE(factorsNv); if (freeNnv) FREE(factorsNnv); return(NULL); } cuddRef(g2); Cudd_RecursiveDeref(dd, factorsNv->g); Cudd_RecursiveDeref(dd, factorsNnv->h); h2 = cuddBddIteRecur(dd, topv, factorsNv->h, factorsNnv->g); if (h2 == NULL) { Cudd_RecursiveDeref(dd, factorsNv->g); Cudd_RecursiveDeref(dd, factorsNv->h); Cudd_RecursiveDeref(dd, factorsNnv->g); Cudd_RecursiveDeref(dd, factorsNnv->h); Cudd_RecursiveDeref(dd, g1); Cudd_RecursiveDeref(dd, h1); Cudd_RecursiveDeref(dd, g2); if (freeNv) FREE(factorsNv); if (freeNnv) FREE(factorsNnv); return(NULL); } cuddRef(h2); Cudd_RecursiveDeref(dd, factorsNv->h); Cudd_RecursiveDeref(dd, factorsNnv->g); if (freeNv) FREE(factorsNv); if (freeNnv) FREE(factorsNnv); /* check for each pair in tables and choose one */ factors = CheckInTables(node, g1, h1, g2, h2, ghTable, cacheTable, &outOfMem); if (outOfMem) { dd->errorCode = CUDD_MEMORY_OUT; Cudd_RecursiveDeref(dd, g1); Cudd_RecursiveDeref(dd, h1); Cudd_RecursiveDeref(dd, g2); Cudd_RecursiveDeref(dd, h2); return(NULL); } if (factors != NULL) { if ((factors->g == g1) || (factors->g == h1)) { Cudd_RecursiveDeref(dd, g2); Cudd_RecursiveDeref(dd, h2); } else { Cudd_RecursiveDeref(dd, g1); Cudd_RecursiveDeref(dd, h1); } return(factors); } /* if not in tables, pick one pair */ factors = PickOnePair(node,g1, h1, g2, h2, ghTable, cacheTable); if (factors == NULL) { dd->errorCode = CUDD_MEMORY_OUT; Cudd_RecursiveDeref(dd, g1); Cudd_RecursiveDeref(dd, h1); Cudd_RecursiveDeref(dd, g2); Cudd_RecursiveDeref(dd, h2); } else { /* now free what was created and not used */ if ((factors->g == g1) || (factors->g == h1)) { Cudd_RecursiveDeref(dd, g2); Cudd_RecursiveDeref(dd, h2); } else { Cudd_RecursiveDeref(dd, g1); Cudd_RecursiveDeref(dd, h1); } } return(factors); } /* end of BuildConjuncts */ /**Function******************************************************************** Synopsis [Procedure to compute two conjunctive factors of f and place in *c1 and *c2.] Description [Procedure to compute two conjunctive factors of f and place in *c1 and *c2. Sets up the required data - table of distances from the constant and local reference count. Also minterm table. ] SideEffects [] SeeAlso [] ******************************************************************************/ static int cuddConjunctsAux( DdManager * dd, DdNode * f, DdNode ** c1, DdNode ** c2) { st_table *distanceTable = NULL; st_table *cacheTable = NULL; st_table *mintermTable = NULL; st_table *ghTable = NULL; st_generator *stGen; char *key, *value; Conjuncts *factors; int distance, approxDistance; double max, minterms; int freeFactors; NodeStat *nodeStat; int maxLocalRef; /* initialize */ *c1 = NULL; *c2 = NULL; /* initialize distances table */ distanceTable = st_init_table(st_ptrcmp,st_ptrhash); if (distanceTable == NULL) goto outOfMem; /* make the entry for the constant */ nodeStat = ALLOC(NodeStat, 1); if (nodeStat == NULL) goto outOfMem; nodeStat->distance = 0; nodeStat->localRef = 1; if (st_insert(distanceTable, (char *)one, (char *)nodeStat) == ST_OUT_OF_MEM) { goto outOfMem; } /* Count node distances from constant. */ nodeStat = CreateBotDist(f, distanceTable); if (nodeStat == NULL) goto outOfMem; /* set the distance for the decomposition points */ approxDistance = (DEPTH < nodeStat->distance) ? nodeStat->distance : DEPTH; distance = nodeStat->distance; if (distance < approxDistance) { /* Too small to bother. */ *c1 = f; *c2 = DD_ONE(dd); cuddRef(*c1); cuddRef(*c2); stGen = st_init_gen(distanceTable); if (stGen == NULL) goto outOfMem; while(st_gen(stGen, (char **)&key, (char **)&value)) { FREE(value); } st_free_gen(stGen); stGen = NULL; st_free_table(distanceTable); return(1); } /* record the maximum local reference count */ maxLocalRef = 0; stGen = st_init_gen(distanceTable); if (stGen == NULL) goto outOfMem; while(st_gen(stGen, (char **)&key, (char **)&value)) { nodeStat = (NodeStat *)value; maxLocalRef = (nodeStat->localRef > maxLocalRef) ? nodeStat->localRef : maxLocalRef; } st_free_gen(stGen); stGen = NULL; /* Count minterms for each node. */ max = pow(2.0, (double)Cudd_SupportSize(dd,f)); /* potential overflow */ mintermTable = st_init_table(st_ptrcmp,st_ptrhash); if (mintermTable == NULL) goto outOfMem; minterms = CountMinterms(f, max, mintermTable, dd->err); if (minterms == -1.0) goto outOfMem; lastTimeG = Cudd_Random() & 1; cacheTable = st_init_table(st_ptrcmp, st_ptrhash); if (cacheTable == NULL) goto outOfMem; ghTable = st_init_table(st_ptrcmp, st_ptrhash); if (ghTable == NULL) goto outOfMem; /* Build conjuncts. */ factors = BuildConjuncts(dd, f, distanceTable, cacheTable, approxDistance, maxLocalRef, ghTable, mintermTable); if (factors == NULL) goto outOfMem; /* free up tables */ stGen = st_init_gen(distanceTable); if (stGen == NULL) goto outOfMem; while(st_gen(stGen, (char **)&key, (char **)&value)) { FREE(value); } st_free_gen(stGen); stGen = NULL; st_free_table(distanceTable); distanceTable = NULL; st_free_table(ghTable); ghTable = NULL; stGen = st_init_gen(mintermTable); if (stGen == NULL) goto outOfMem; while(st_gen(stGen, (char **)&key, (char **)&value)) { FREE(value); } st_free_gen(stGen); stGen = NULL; st_free_table(mintermTable); mintermTable = NULL; freeFactors = FactorsNotStored(factors); factors = (freeFactors) ? FactorsUncomplement(factors) : factors; if (factors != NULL) { *c1 = factors->g; *c2 = factors->h; cuddRef(*c1); cuddRef(*c2); if (freeFactors) FREE(factors); #if 0 if ((*c1 == f) && (!Cudd_IsConstant(f))) { assert(*c2 == one); } if ((*c2 == f) && (!Cudd_IsConstant(f))) { assert(*c1 == one); } if ((*c1 != one) && (!Cudd_IsConstant(f))) { assert(!Cudd_bddLeq(dd, *c2, *c1)); } if ((*c2 != one) && (!Cudd_IsConstant(f))) { assert(!Cudd_bddLeq(dd, *c1, *c2)); } #endif } stGen = st_init_gen(cacheTable); if (stGen == NULL) goto outOfMem; while(st_gen(stGen, (char **)&key, (char **)&value)) { ConjunctsFree(dd, (Conjuncts *)value); } st_free_gen(stGen); stGen = NULL; st_free_table(cacheTable); cacheTable = NULL; return(1); outOfMem: if (distanceTable != NULL) { stGen = st_init_gen(distanceTable); if (stGen == NULL) goto outOfMem; while(st_gen(stGen, (char **)&key, (char **)&value)) { FREE(value); } st_free_gen(stGen); stGen = NULL; st_free_table(distanceTable); distanceTable = NULL; } if (mintermTable != NULL) { stGen = st_init_gen(mintermTable); if (stGen == NULL) goto outOfMem; while(st_gen(stGen, (char **)&key, (char **)&value)) { FREE(value); } st_free_gen(stGen); stGen = NULL; st_free_table(mintermTable); mintermTable = NULL; } if (ghTable != NULL) st_free_table(ghTable); if (cacheTable != NULL) { stGen = st_init_gen(cacheTable); if (stGen == NULL) goto outOfMem; while(st_gen(stGen, (char **)&key, (char **)&value)) { ConjunctsFree(dd, (Conjuncts *)value); } st_free_gen(stGen); stGen = NULL; st_free_table(cacheTable); cacheTable = NULL; } dd->errorCode = CUDD_MEMORY_OUT; return(0); } /* end of cuddConjunctsAux */ BRiAl-1.2.12/cudd/cuddEssent.c000066400000000000000000001272311436062512100157200ustar00rootroot00000000000000/**CFile*********************************************************************** FileName [cuddEssent.c] PackageName [cudd] Synopsis [Functions for the detection of essential variables.] Description [External procedures included in this file:
  • Cudd_FindEssential()
  • Cudd_bddIsVarEssential()
  • Cudd_FindTwoLiteralClauses()
  • Cudd_ReadIthClause()
  • Cudd_PrintTwoLiteralClauses()
  • Cudd_tlcInfoFree()
Static procedures included in this module:
  • ddFindEssentialRecur()
  • ddFindTwoLiteralClausesRecur()
  • computeClauses()
  • computeClausesWithUniverse()
  • emptyClauseSet()
  • sentinelp()
  • equalp()
  • beforep()
  • oneliteralp()
  • impliedp()
  • bitVectorAlloc()
  • bitVectorClear()
  • bitVectorFree()
  • bitVectorRead()
  • bitVectorSet()
  • tlcInfoAlloc()
] Author [Fabio Somenzi] Copyright [Copyright (c) 1995-2012, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.] ******************************************************************************/ #include "util.h" #include "cuddInt.h" /*---------------------------------------------------------------------------*/ /* Constant declarations */ /*---------------------------------------------------------------------------*/ /* These definitions are for the bit vectors. */ #if SIZEOF_LONG == 8 #define BPL 64 #define LOGBPL 6 #else #define BPL 32 #define LOGBPL 5 #endif /*---------------------------------------------------------------------------*/ /* Stucture declarations */ /*---------------------------------------------------------------------------*/ /* This structure holds the set of clauses for a node. Each clause consists ** of two literals. For one-literal clauses, the second lietral is FALSE. ** Each literal is composed of a variable and a phase. A variable is a node ** index, and requires sizeof(DdHalfWord) bytes. The constant literals use ** CUDD_MAXINDEX as variable indicator. Each phase is a bit: 0 for positive ** phase, and 1 for negative phase. ** Variables and phases are stored separately for the sake of compactness. ** The variables are stored in an array of DdHalfWord's terminated by a ** sentinel (a pair of zeroes). The phases are stored in a bit vector. ** The cnt field holds, at the end, the number of clauses. ** The clauses of the set are kept sorted. For each clause, the first literal ** is the one of least index. So, the clause with literals +2 and -4 is stored ** as (+2,-4). A one-literal clause with literal +3 is stored as ** (+3,-CUDD_MAXINDEX). Clauses are sorted in decreasing order as follows: ** (+5,-7) ** (+5,+6) ** (-5,+7) ** (-4,FALSE) ** (-4,+8) ** ... ** That is, one first looks at the variable of the first literal, then at the ** phase of the first litral, then at the variable of the second literal, ** and finally at the phase of the second literal. */ struct DdTlcInfo { DdHalfWord *vars; long *phases; DdHalfWord cnt; }; /* This structure is for temporary representation of sets of clauses. It is ** meant to be used in link lists, when the number of clauses is not yet ** known. The encoding of a clause is the same as in DdTlcInfo, though ** the phase information is not stored in a bit array. */ struct TlClause { DdHalfWord v1, v2; short p1, p2; struct TlClause *next; }; /*---------------------------------------------------------------------------*/ /* Type declarations */ /*---------------------------------------------------------------------------*/ typedef long BitVector; typedef struct TlClause TlClause; /*---------------------------------------------------------------------------*/ /* Variable declarations */ /*---------------------------------------------------------------------------*/ #ifndef lint static char rcsid[] DD_UNUSED = "$Id: cuddEssent.c,v 1.25 2012/02/05 01:07:18 fabio Exp $"; #endif static BitVector *Tolv; static BitVector *Tolp; static BitVector *Eolv; static BitVector *Eolp; /*---------------------------------------------------------------------------*/ /* Macro declarations */ /*---------------------------------------------------------------------------*/ /**AutomaticStart*************************************************************/ /*---------------------------------------------------------------------------*/ /* Static function prototypes */ /*---------------------------------------------------------------------------*/ static DdNode * ddFindEssentialRecur (DdManager *dd, DdNode *f); static DdTlcInfo * ddFindTwoLiteralClausesRecur (DdManager * dd, DdNode * f, st_table *table); static DdTlcInfo * computeClauses (DdTlcInfo *Tres, DdTlcInfo *Eres, DdHalfWord label, int size); static DdTlcInfo * computeClausesWithUniverse (DdTlcInfo *Cres, DdHalfWord label, short phase); static DdTlcInfo * emptyClauseSet (void); static int sentinelp (DdHalfWord var1, DdHalfWord var2); static int equalp (DdHalfWord var1a, short phase1a, DdHalfWord var1b, short phase1b, DdHalfWord var2a, short phase2a, DdHalfWord var2b, short phase2b); static int beforep (DdHalfWord var1a, short phase1a, DdHalfWord var1b, short phase1b, DdHalfWord var2a, short phase2a, DdHalfWord var2b, short phase2b); static int oneliteralp (DdHalfWord var); static int impliedp (DdHalfWord var1, short phase1, DdHalfWord var2, short phase2, BitVector *olv, BitVector *olp); static BitVector * bitVectorAlloc (int size); DD_INLINE static void bitVectorClear (BitVector *vector, int size); static void bitVectorFree (BitVector *vector); DD_INLINE static short bitVectorRead (BitVector *vector, int i); DD_INLINE static void bitVectorSet (BitVector * vector, int i, short val); static DdTlcInfo * tlcInfoAlloc (void); /**AutomaticEnd***************************************************************/ /*---------------------------------------------------------------------------*/ /* Definition of exported functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Finds the essential variables of a DD.] Description [Returns the cube of the essential variables. A positive literal means that the variable must be set to 1 for the function to be 1. A negative literal means that the variable must be set to 0 for the function to be 1. Returns a pointer to the cube BDD if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_bddIsVarEssential] ******************************************************************************/ DdNode * Cudd_FindEssential( DdManager * dd, DdNode * f) { DdNode *res; do { dd->reordered = 0; res = ddFindEssentialRecur(dd,f); } while (dd->reordered == 1); return(res); } /* end of Cudd_FindEssential */ /**Function******************************************************************** Synopsis [Determines whether a given variable is essential with a given phase in a BDD.] Description [Determines whether a given variable is essential with a given phase in a BDD. Uses Cudd_bddIteConstant. Returns 1 if phase == 1 and f-->x_id, or if phase == 0 and f-->x_id'.] SideEffects [None] SeeAlso [Cudd_FindEssential] ******************************************************************************/ int Cudd_bddIsVarEssential( DdManager * manager, DdNode * f, int id, int phase) { DdNode *var; int res; var = Cudd_bddIthVar(manager, id); var = Cudd_NotCond(var,phase == 0); res = Cudd_bddLeq(manager, f, var); return(res); } /* end of Cudd_bddIsVarEssential */ /**Function******************************************************************** Synopsis [Finds the two literal clauses of a DD.] Description [Returns the one- and two-literal clauses of a DD. Returns a pointer to the structure holding the clauses if successful; NULL otherwise. For a constant DD, the empty set of clauses is returned. This is obviously correct for a non-zero constant. For the constant zero, it is based on the assumption that only those clauses containing variables in the support of the function are considered. Since the support of a constant function is empty, no clauses are returned.] SideEffects [None] SeeAlso [Cudd_FindEssential] ******************************************************************************/ DdTlcInfo * Cudd_FindTwoLiteralClauses( DdManager * dd, DdNode * f) { DdTlcInfo *res; st_table *table; st_generator *gen; DdTlcInfo *tlc; DdNode *node; int size = dd->size; if (Cudd_IsConstant(f)) { res = emptyClauseSet(); return(res); } table = st_init_table(st_ptrcmp,st_ptrhash); if (table == NULL) return(NULL); Tolv = bitVectorAlloc(size); if (Tolv == NULL) { st_free_table(table); return(NULL); } Tolp = bitVectorAlloc(size); if (Tolp == NULL) { st_free_table(table); bitVectorFree(Tolv); return(NULL); } Eolv = bitVectorAlloc(size); if (Eolv == NULL) { st_free_table(table); bitVectorFree(Tolv); bitVectorFree(Tolp); return(NULL); } Eolp = bitVectorAlloc(size); if (Eolp == NULL) { st_free_table(table); bitVectorFree(Tolv); bitVectorFree(Tolp); bitVectorFree(Eolv); return(NULL); } res = ddFindTwoLiteralClausesRecur(dd,f,table); /* Dispose of table contents and free table. */ st_foreach_item(table, gen, &node, &tlc) { if (node != f) { Cudd_tlcInfoFree(tlc); } } st_free_table(table); bitVectorFree(Tolv); bitVectorFree(Tolp); bitVectorFree(Eolv); bitVectorFree(Eolp); if (res != NULL) { int i; for (i = 0; !sentinelp(res->vars[i], res->vars[i+1]); i += 2); res->cnt = i >> 1; } return(res); } /* end of Cudd_FindTwoLiteralClauses */ /**Function******************************************************************** Synopsis [Accesses the i-th clause of a DD.] Description [Accesses the i-th clause of a DD given the clause set which must be already computed. Returns 1 if successful; 0 if i is out of range, or in case of error.] SideEffects [the four components of a clause are returned as side effects.] SeeAlso [Cudd_FindTwoLiteralClauses] ******************************************************************************/ int Cudd_ReadIthClause( DdTlcInfo * tlc, int i, DdHalfWord *var1, DdHalfWord *var2, int *phase1, int *phase2) { if (tlc == NULL) return(0); if (tlc->vars == NULL || tlc->phases == NULL) return(0); if (i < 0 || (unsigned) i >= tlc->cnt) return(0); *var1 = tlc->vars[2*i]; *var2 = tlc->vars[2*i+1]; *phase1 = (int) bitVectorRead(tlc->phases, 2*i); *phase2 = (int) bitVectorRead(tlc->phases, 2*i+1); return(1); } /* end of Cudd_ReadIthClause */ /**Function******************************************************************** Synopsis [Prints the two literal clauses of a DD.] Description [Prints the one- and two-literal clauses. Returns 1 if successful; 0 otherwise. The argument "names" can be NULL, in which case the variable indices are printed.] SideEffects [None] SeeAlso [Cudd_FindTwoLiteralClauses] ******************************************************************************/ int Cudd_PrintTwoLiteralClauses( DdManager * dd, DdNode * f, char **names, FILE *fp) { DdHalfWord *vars; BitVector *phases; int i; DdTlcInfo *res = Cudd_FindTwoLiteralClauses(dd, f); FILE *ifp = fp == NULL ? dd->out : fp; if (res == NULL) return(0); vars = res->vars; phases = res->phases; for (i = 0; !sentinelp(vars[i], vars[i+1]); i += 2) { if (names != NULL) { if (vars[i+1] == CUDD_MAXINDEX) { (void) fprintf(ifp, "%s%s\n", bitVectorRead(phases, i) ? "~" : " ", names[vars[i]]); } else { (void) fprintf(ifp, "%s%s | %s%s\n", bitVectorRead(phases, i) ? "~" : " ", names[vars[i]], bitVectorRead(phases, i+1) ? "~" : " ", names[vars[i+1]]); } } else { if (vars[i+1] == CUDD_MAXINDEX) { (void) fprintf(ifp, "%s%d\n", bitVectorRead(phases, i) ? "~" : " ", (int) vars[i]); } else { (void) fprintf(ifp, "%s%d | %s%d\n", bitVectorRead(phases, i) ? "~" : " ", (int) vars[i], bitVectorRead(phases, i+1) ? "~" : " ", (int) vars[i+1]); } } } Cudd_tlcInfoFree(res); return(1); } /* end of Cudd_PrintTwoLiteralClauses */ /**Function******************************************************************** Synopsis [Frees a DdTlcInfo Structure.] Description [Frees a DdTlcInfo Structure as well as the memory pointed by it.] SideEffects [None] SeeAlso [] ******************************************************************************/ void Cudd_tlcInfoFree( DdTlcInfo * t) { if (t->vars != NULL) FREE(t->vars); if (t->phases != NULL) FREE(t->phases); FREE(t); } /* end of Cudd_tlcInfoFree */ /*---------------------------------------------------------------------------*/ /* Definition of internal functions */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Definition of static functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Implements the recursive step of Cudd_FindEssential.] Description [Implements the recursive step of Cudd_FindEssential. Returns a pointer to the cube BDD if successful; NULL otherwise.] SideEffects [None] ******************************************************************************/ static DdNode * ddFindEssentialRecur( DdManager * dd, DdNode * f) { DdNode *T, *E, *F; DdNode *essT, *essE, *res; int index; DdNode *one, *lzero, *azero; one = DD_ONE(dd); F = Cudd_Regular(f); /* If f is constant the set of essential variables is empty. */ if (cuddIsConstant(F)) return(one); res = cuddCacheLookup1(dd,Cudd_FindEssential,f); if (res != NULL) { return(res); } lzero = Cudd_Not(one); azero = DD_ZERO(dd); /* Find cofactors: here f is non-constant. */ T = cuddT(F); E = cuddE(F); if (Cudd_IsComplement(f)) { T = Cudd_Not(T); E = Cudd_Not(E); } index = F->index; if (Cudd_IsConstant(T) && T != lzero && T != azero) { /* if E is zero, index is essential, otherwise there are no ** essentials, because index is not essential and no other variable ** can be, since setting index = 1 makes the function constant and ** different from 0. */ if (E == lzero || E == azero) { res = dd->vars[index]; } else { res = one; } } else if (T == lzero || T == azero) { if (Cudd_IsConstant(E)) { /* E cannot be zero here */ res = Cudd_Not(dd->vars[index]); } else { /* E == non-constant */ /* find essentials in the else branch */ essE = ddFindEssentialRecur(dd,E); if (essE == NULL) { return(NULL); } cuddRef(essE); /* add index to the set with negative phase */ res = cuddUniqueInter(dd,index,one,Cudd_Not(essE)); if (res == NULL) { Cudd_RecursiveDeref(dd,essE); return(NULL); } res = Cudd_Not(res); cuddDeref(essE); } } else { /* T == non-const */ if (E == lzero || E == azero) { /* find essentials in the then branch */ essT = ddFindEssentialRecur(dd,T); if (essT == NULL) { return(NULL); } cuddRef(essT); /* add index to the set with positive phase */ /* use And because essT may be complemented */ res = cuddBddAndRecur(dd,dd->vars[index],essT); if (res == NULL) { Cudd_RecursiveDeref(dd,essT); return(NULL); } cuddDeref(essT); } else if (!Cudd_IsConstant(E)) { /* if E is a non-zero constant there are no essentials ** because T is non-constant. */ essT = ddFindEssentialRecur(dd,T); if (essT == NULL) { return(NULL); } if (essT == one) { res = one; } else { cuddRef(essT); essE = ddFindEssentialRecur(dd,E); if (essE == NULL) { Cudd_RecursiveDeref(dd,essT); return(NULL); } cuddRef(essE); /* res = intersection(essT, essE) */ res = cuddBddLiteralSetIntersectionRecur(dd,essT,essE); if (res == NULL) { Cudd_RecursiveDeref(dd,essT); Cudd_RecursiveDeref(dd,essE); return(NULL); } cuddRef(res); Cudd_RecursiveDeref(dd,essT); Cudd_RecursiveDeref(dd,essE); cuddDeref(res); } } else { /* E is a non-zero constant */ res = one; } } cuddCacheInsert1(dd,Cudd_FindEssential, f, res); return(res); } /* end of ddFindEssentialRecur */ /**Function******************************************************************** Synopsis [Implements the recursive step of Cudd_FindTwoLiteralClauses.] Description [Implements the recursive step of Cudd_FindTwoLiteralClauses. The DD node is assumed to be not constant. Returns a pointer to a set of clauses if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_FindTwoLiteralClauses] ******************************************************************************/ static DdTlcInfo * ddFindTwoLiteralClausesRecur( DdManager * dd, DdNode * f, st_table *table) { DdNode *T, *E, *F; DdNode *one, *lzero, *azero; DdTlcInfo *res, *Tres, *Eres; DdHalfWord index; F = Cudd_Regular(f); assert(!cuddIsConstant(F)); /* Check computed table. Separate entries are necessary for ** a node and its complement. We should update the counter here. */ if (st_lookup(table, f, &res)) { return(res); } /* Easy access to the constants for BDDs and ADDs. */ one = DD_ONE(dd); lzero = Cudd_Not(one); azero = DD_ZERO(dd); /* Find cofactors and variable labeling the top node. */ T = cuddT(F); E = cuddE(F); if (Cudd_IsComplement(f)) { T = Cudd_Not(T); E = Cudd_Not(E); } index = F->index; if (Cudd_IsConstant(T) && T != lzero && T != azero) { /* T is a non-zero constant. If E is zero, then this node's index ** is a one-literal clause. Otherwise, if E is a non-zero ** constant, there are no clauses for this node. Finally, ** if E is not constant, we recursively compute its clauses, and then ** merge using the empty set for T. */ if (E == lzero || E == azero) { /* Create the clause (index + 0). */ res = tlcInfoAlloc(); if (res == NULL) return(NULL); res->vars = ALLOC(DdHalfWord,4); if (res->vars == NULL) { FREE(res); return(NULL); } res->phases = bitVectorAlloc(2); if (res->phases == NULL) { FREE(res->vars); FREE(res); return(NULL); } res->vars[0] = index; res->vars[1] = CUDD_MAXINDEX; res->vars[2] = 0; res->vars[3] = 0; bitVectorSet(res->phases, 0, 0); /* positive phase */ bitVectorSet(res->phases, 1, 1); /* negative phase */ } else if (Cudd_IsConstant(E)) { /* If E is a non-zero constant, no clauses. */ res = emptyClauseSet(); } else { /* E is non-constant */ Tres = emptyClauseSet(); if (Tres == NULL) return(NULL); Eres = ddFindTwoLiteralClausesRecur(dd, E, table); if (Eres == NULL) { Cudd_tlcInfoFree(Tres); return(NULL); } res = computeClauses(Tres, Eres, index, dd->size); Cudd_tlcInfoFree(Tres); } } else if (T == lzero || T == azero) { /* T is zero. If E is a non-zero constant, then the ** complement of this node's index is a one-literal clause. ** Otherwise, if E is not constant, we recursively compute its ** clauses, and then merge using the universal set for T. */ if (Cudd_IsConstant(E)) { /* E cannot be zero here */ /* Create the clause (!index + 0). */ res = tlcInfoAlloc(); if (res == NULL) return(NULL); res->vars = ALLOC(DdHalfWord,4); if (res->vars == NULL) { FREE(res); return(NULL); } res->phases = bitVectorAlloc(2); if (res->phases == NULL) { FREE(res->vars); FREE(res); return(NULL); } res->vars[0] = index; res->vars[1] = CUDD_MAXINDEX; res->vars[2] = 0; res->vars[3] = 0; bitVectorSet(res->phases, 0, 1); /* negative phase */ bitVectorSet(res->phases, 1, 1); /* negative phase */ } else { /* E == non-constant */ Eres = ddFindTwoLiteralClausesRecur(dd, E, table); if (Eres == NULL) return(NULL); res = computeClausesWithUniverse(Eres, index, 1); } } else { /* T == non-const */ Tres = ddFindTwoLiteralClausesRecur(dd, T, table); if (Tres == NULL) return(NULL); if (Cudd_IsConstant(E)) { if (E == lzero || E == azero) { res = computeClausesWithUniverse(Tres, index, 0); } else { Eres = emptyClauseSet(); if (Eres == NULL) return(NULL); res = computeClauses(Tres, Eres, index, dd->size); Cudd_tlcInfoFree(Eres); } } else { Eres = ddFindTwoLiteralClausesRecur(dd, E, table); if (Eres == NULL) return(NULL); res = computeClauses(Tres, Eres, index, dd->size); } } /* Cache results. */ if (st_add_direct(table, (char *)f, (char *)res) == ST_OUT_OF_MEM) { FREE(res); return(NULL); } return(res); } /* end of ddFindTwoLiteralClausesRecur */ /**Function******************************************************************** Synopsis [Computes the two-literal clauses for a node.] Description [Computes the two-literal clauses for a node given the clauses for its children and the label of the node. Returns a pointer to a TclInfo structure if successful; NULL otherwise.] SideEffects [None] SeeAlso [computeClausesWithUniverse] ******************************************************************************/ static DdTlcInfo * computeClauses( DdTlcInfo *Tres /* list of clauses for T child */, DdTlcInfo *Eres /* list of clauses for E child */, DdHalfWord label /* variable labeling the current node */, int size /* number of variables in the manager */) { DdHalfWord *Tcv = Tres->vars; /* variables of clauses for the T child */ BitVector *Tcp = Tres->phases; /* phases of clauses for the T child */ DdHalfWord *Ecv = Eres->vars; /* variables of clauses for the E child */ BitVector *Ecp = Eres->phases; /* phases of clauses for the E child */ DdHalfWord *Vcv = NULL; /* pointer to variables of the clauses for v */ BitVector *Vcp = NULL; /* pointer to phases of the clauses for v */ DdTlcInfo *res = NULL; /* the set of clauses to be returned */ int pt = 0; /* index in the list of clauses of T */ int pe = 0; /* index in the list of clauses of E */ int cv = 0; /* counter of the clauses for this node */ TlClause *iclauses = NULL; /* list of inherited clauses */ TlClause *tclauses = NULL; /* list of 1-literal clauses of T */ TlClause *eclauses = NULL; /* list of 1-literal clauses of E */ TlClause *nclauses = NULL; /* list of new (non-inherited) clauses */ TlClause *lnclause = NULL; /* pointer to last new clause */ TlClause *newclause; /* temporary pointer to new clauses */ /* Initialize sets of one-literal clauses. The one-literal clauses ** are stored redundantly. These sets allow constant-time lookup, which ** we need when we check for implication of a two-literal clause by a ** one-literal clause. The linked lists allow fast sequential ** processing. */ bitVectorClear(Tolv, size); bitVectorClear(Tolp, size); bitVectorClear(Eolv, size); bitVectorClear(Eolp, size); /* Initialize result structure. */ res = tlcInfoAlloc(); if (res == NULL) goto cleanup; /* Scan the two input list. Extract inherited two-literal clauses ** and set aside one-literal clauses from each list. The incoming lists ** are sorted in the order defined by beforep. The three linked list ** produced by this loop are sorted in the reverse order because we ** always append to the front of the lists. ** The inherited clauses are those clauses (both one- and two-literal) ** that are common to both children; and the two-literal clauses of ** one child that are implied by a one-literal clause of the other ** child. */ while (!sentinelp(Tcv[pt], Tcv[pt+1]) || !sentinelp(Ecv[pe], Ecv[pe+1])) { if (equalp(Tcv[pt], bitVectorRead(Tcp, pt), Tcv[pt+1], bitVectorRead(Tcp, pt+1), Ecv[pe], bitVectorRead(Ecp, pe), Ecv[pe+1], bitVectorRead(Ecp, pe+1))) { /* Add clause to inherited list. */ newclause = ALLOC(TlClause,1); if (newclause == NULL) goto cleanup; newclause->v1 = Tcv[pt]; newclause->v2 = Tcv[pt+1]; newclause->p1 = bitVectorRead(Tcp, pt); newclause->p2 = bitVectorRead(Tcp, pt+1); newclause->next = iclauses; iclauses = newclause; pt += 2; pe += 2; cv++; } else if (beforep(Tcv[pt], bitVectorRead(Tcp, pt), Tcv[pt+1], bitVectorRead(Tcp, pt+1), Ecv[pe], bitVectorRead(Ecp, pe), Ecv[pe+1], bitVectorRead(Ecp, pe+1))) { if (oneliteralp(Tcv[pt+1])) { /* Add this one-literal clause to the T set. */ newclause = ALLOC(TlClause,1); if (newclause == NULL) goto cleanup; newclause->v1 = Tcv[pt]; newclause->v2 = CUDD_MAXINDEX; newclause->p1 = bitVectorRead(Tcp, pt); newclause->p2 = 1; newclause->next = tclauses; tclauses = newclause; bitVectorSet(Tolv, Tcv[pt], 1); bitVectorSet(Tolp, Tcv[pt], bitVectorRead(Tcp, pt)); } else { if (impliedp(Tcv[pt], bitVectorRead(Tcp, pt), Tcv[pt+1], bitVectorRead(Tcp, pt+1), Eolv, Eolp)) { /* Add clause to inherited list. */ newclause = ALLOC(TlClause,1); if (newclause == NULL) goto cleanup; newclause->v1 = Tcv[pt]; newclause->v2 = Tcv[pt+1]; newclause->p1 = bitVectorRead(Tcp, pt); newclause->p2 = bitVectorRead(Tcp, pt+1); newclause->next = iclauses; iclauses = newclause; cv++; } } pt += 2; } else { /* !beforep() */ if (oneliteralp(Ecv[pe+1])) { /* Add this one-literal clause to the E set. */ newclause = ALLOC(TlClause,1); if (newclause == NULL) goto cleanup; newclause->v1 = Ecv[pe]; newclause->v2 = CUDD_MAXINDEX; newclause->p1 = bitVectorRead(Ecp, pe); newclause->p2 = 1; newclause->next = eclauses; eclauses = newclause; bitVectorSet(Eolv, Ecv[pe], 1); bitVectorSet(Eolp, Ecv[pe], bitVectorRead(Ecp, pe)); } else { if (impliedp(Ecv[pe], bitVectorRead(Ecp, pe), Ecv[pe+1], bitVectorRead(Ecp, pe+1), Tolv, Tolp)) { /* Add clause to inherited list. */ newclause = ALLOC(TlClause,1); if (newclause == NULL) goto cleanup; newclause->v1 = Ecv[pe]; newclause->v2 = Ecv[pe+1]; newclause->p1 = bitVectorRead(Ecp, pe); newclause->p2 = bitVectorRead(Ecp, pe+1); newclause->next = iclauses; iclauses = newclause; cv++; } } pe += 2; } } /* Add one-literal clauses for the label variable to the front of ** the two lists. */ newclause = ALLOC(TlClause,1); if (newclause == NULL) goto cleanup; newclause->v1 = label; newclause->v2 = CUDD_MAXINDEX; newclause->p1 = 0; newclause->p2 = 1; newclause->next = tclauses; tclauses = newclause; newclause = ALLOC(TlClause,1); if (newclause == NULL) goto cleanup; newclause->v1 = label; newclause->v2 = CUDD_MAXINDEX; newclause->p1 = 1; newclause->p2 = 1; newclause->next = eclauses; eclauses = newclause; /* Produce the non-inherited clauses. We preserve the "reverse" ** order of the two input lists by appending to the end of the ** list. In this way, iclauses and nclauses are consistent. */ while (tclauses != NULL && eclauses != NULL) { if (beforep(eclauses->v1, eclauses->p1, eclauses->v2, eclauses->p2, tclauses->v1, tclauses->p1, tclauses->v2, tclauses->p2)) { TlClause *nextclause = tclauses->next; TlClause *otherclauses = eclauses; while (otherclauses != NULL) { if (tclauses->v1 != otherclauses->v1) { newclause = ALLOC(TlClause,1); if (newclause == NULL) goto cleanup; newclause->v1 = tclauses->v1; newclause->v2 = otherclauses->v1; newclause->p1 = tclauses->p1; newclause->p2 = otherclauses->p1; newclause->next = NULL; if (nclauses == NULL) { nclauses = newclause; lnclause = newclause; } else { lnclause->next = newclause; lnclause = newclause; } cv++; } otherclauses = otherclauses->next; } FREE(tclauses); tclauses = nextclause; } else { TlClause *nextclause = eclauses->next; TlClause *otherclauses = tclauses; while (otherclauses != NULL) { if (eclauses->v1 != otherclauses->v1) { newclause = ALLOC(TlClause,1); if (newclause == NULL) goto cleanup; newclause->v1 = eclauses->v1; newclause->v2 = otherclauses->v1; newclause->p1 = eclauses->p1; newclause->p2 = otherclauses->p1; newclause->next = NULL; if (nclauses == NULL) { nclauses = newclause; lnclause = newclause; } else { lnclause->next = newclause; lnclause = newclause; } cv++; } otherclauses = otherclauses->next; } FREE(eclauses); eclauses = nextclause; } } while (tclauses != NULL) { TlClause *nextclause = tclauses->next; FREE(tclauses); tclauses = nextclause; } while (eclauses != NULL) { TlClause *nextclause = eclauses->next; FREE(eclauses); eclauses = nextclause; } /* Merge inherited and non-inherited clauses. Now that we know the ** total number, we allocate the arrays, and we fill them bottom-up ** to restore the proper ordering. */ Vcv = ALLOC(DdHalfWord, 2*(cv+1)); if (Vcv == NULL) goto cleanup; if (cv > 0) { Vcp = bitVectorAlloc(2*cv); if (Vcp == NULL) goto cleanup; } else { Vcp = NULL; } res->vars = Vcv; res->phases = Vcp; /* Add sentinel. */ Vcv[2*cv] = 0; Vcv[2*cv+1] = 0; while (iclauses != NULL || nclauses != NULL) { TlClause *nextclause; cv--; if (nclauses == NULL || (iclauses != NULL && beforep(nclauses->v1, nclauses->p1, nclauses->v2, nclauses->p2, iclauses->v1, iclauses->p1, iclauses->v2, iclauses->p2))) { Vcv[2*cv] = iclauses->v1; Vcv[2*cv+1] = iclauses->v2; bitVectorSet(Vcp, 2*cv, iclauses->p1); bitVectorSet(Vcp, 2*cv+1, iclauses->p2); nextclause = iclauses->next; FREE(iclauses); iclauses = nextclause; } else { Vcv[2*cv] = nclauses->v1; Vcv[2*cv+1] = nclauses->v2; bitVectorSet(Vcp, 2*cv, nclauses->p1); bitVectorSet(Vcp, 2*cv+1, nclauses->p2); nextclause = nclauses->next; FREE(nclauses); nclauses = nextclause; } } assert(cv == 0); return(res); cleanup: if (res != NULL) Cudd_tlcInfoFree(res); while (iclauses != NULL) { TlClause *nextclause = iclauses->next; FREE(iclauses); iclauses = nextclause; } while (nclauses != NULL) { TlClause *nextclause = nclauses->next; FREE(nclauses); nclauses = nextclause; } while (tclauses != NULL) { TlClause *nextclause = tclauses->next; FREE(tclauses); tclauses = nextclause; } while (eclauses != NULL) { TlClause *nextclause = eclauses->next; FREE(eclauses); eclauses = nextclause; } return(NULL); } /* end of computeClauses */ /**Function******************************************************************** Synopsis [Computes the two-literal clauses for a node.] Description [Computes the two-literal clauses for a node with a zero child, given the clauses for its other child and the label of the node. Returns a pointer to a TclInfo structure if successful; NULL otherwise.] SideEffects [None] SeeAlso [computeClauses] ******************************************************************************/ static DdTlcInfo * computeClausesWithUniverse( DdTlcInfo *Cres /* list of clauses for child */, DdHalfWord label /* variable labeling the current node */, short phase /* 0 if E child is zero; 1 if T child is zero */) { DdHalfWord *Ccv = Cres->vars; /* variables of clauses for child */ BitVector *Ccp = Cres->phases; /* phases of clauses for child */ DdHalfWord *Vcv = NULL; /* pointer to the variables of the clauses for v */ BitVector *Vcp = NULL; /* pointer to the phases of the clauses for v */ DdTlcInfo *res = NULL; /* the set of clauses to be returned */ int i; /* Initialize result. */ res = tlcInfoAlloc(); if (res == NULL) goto cleanup; /* Count entries for new list and allocate accordingly. */ for (i = 0; !sentinelp(Ccv[i], Ccv[i+1]); i += 2); /* At this point, i is twice the number of clauses in the child's ** list. We need four more entries for this node: 2 for the one-literal ** clause for the label, and 2 for the sentinel. */ Vcv = ALLOC(DdHalfWord,i+4); if (Vcv == NULL) goto cleanup; Vcp = bitVectorAlloc(i+4); if (Vcp == NULL) goto cleanup; res->vars = Vcv; res->phases = Vcp; /* Copy old list into new. */ for (i = 0; !sentinelp(Ccv[i], Ccv[i+1]); i += 2) { Vcv[i] = Ccv[i]; Vcv[i+1] = Ccv[i+1]; bitVectorSet(Vcp, i, bitVectorRead(Ccp, i)); bitVectorSet(Vcp, i+1, bitVectorRead(Ccp, i+1)); } /* Add clause corresponding to label. */ Vcv[i] = label; bitVectorSet(Vcp, i, phase); i++; Vcv[i] = CUDD_MAXINDEX; bitVectorSet(Vcp, i, 1); i++; /* Add sentinel. */ Vcv[i] = 0; Vcv[i+1] = 0; bitVectorSet(Vcp, i, 0); bitVectorSet(Vcp, i+1, 0); return(res); cleanup: /* Vcp is guaranteed to be NULL here. Hence, we do not try to free it. */ if (Vcv != NULL) FREE(Vcv); if (res != NULL) Cudd_tlcInfoFree(res); return(NULL); } /* end of computeClausesWithUniverse */ /**Function******************************************************************** Synopsis [Returns an enpty set of clauses.] Description [Returns a pointer to an empty set of clauses if successful; NULL otherwise. No bit vector for the phases is allocated.] SideEffects [None] SeeAlso [] ******************************************************************************/ static DdTlcInfo * emptyClauseSet(void) { DdTlcInfo *eset; eset = ALLOC(DdTlcInfo,1); if (eset == NULL) return(NULL); eset->vars = ALLOC(DdHalfWord,2); if (eset->vars == NULL) { FREE(eset); return(NULL); } /* Sentinel */ eset->vars[0] = 0; eset->vars[1] = 0; eset->phases = NULL; /* does not matter */ eset->cnt = 0; return(eset); } /* end of emptyClauseSet */ /**Function******************************************************************** Synopsis [Returns true iff the argument is the sentinel clause.] Description [Returns true iff the argument is the sentinel clause. A sentinel clause has both variables equal to 0.] SideEffects [None] SeeAlso [] ******************************************************************************/ static int sentinelp( DdHalfWord var1, DdHalfWord var2) { return(var1 == 0 && var2 == 0); } /* end of sentinelp */ /**Function******************************************************************** Synopsis [Returns true iff the two arguments are identical clauses.] Description [Returns true iff the two arguments are identical clauses. Since literals are sorted, we only need to compare literals in the same position.] SideEffects [None] SeeAlso [beforep] ******************************************************************************/ static int equalp( DdHalfWord var1a, short phase1a, DdHalfWord var1b, short phase1b, DdHalfWord var2a, short phase2a, DdHalfWord var2b, short phase2b) { return(var1a == var2a && phase1a == phase2a && var1b == var2b && phase1b == phase2b); } /* end of equalp */ /**Function******************************************************************** Synopsis [Returns true iff the first argument precedes the second in the clause order.] Description [Returns true iff the first argument precedes the second in the clause order. A clause precedes another if its first lieral precedes the first literal of the other, or if the first literals are the same, and its second literal precedes the second literal of the other clause. A literal precedes another if it has a higher index, of if it has the same index, but it has lower phase. Phase 0 is the positive phase, and it is lower than Phase 1 (negative phase).] SideEffects [None] SeeAlso [equalp] ******************************************************************************/ static int beforep( DdHalfWord var1a, short phase1a, DdHalfWord var1b, short phase1b, DdHalfWord var2a, short phase2a, DdHalfWord var2b, short phase2b) { return(var1a > var2a || (var1a == var2a && (phase1a < phase2a || (phase1a == phase2a && (var1b > var2b || (var1b == var2b && phase1b < phase2b)))))); } /* end of beforep */ /**Function******************************************************************** Synopsis [Returns true iff the argument is a one-literal clause.] Description [Returns true iff the argument is a one-literal clause. A one-litaral clause has the constant FALSE as second literal. Since the constant TRUE is never used, it is sufficient to test for a constant.] SideEffects [None] SeeAlso [] ******************************************************************************/ static int oneliteralp( DdHalfWord var) { return(var == CUDD_MAXINDEX); } /* end of oneliteralp */ /**Function******************************************************************** Synopsis [Returns true iff either literal of a clause is in a set of literals.] Description [Returns true iff either literal of a clause is in a set of literals. The first four arguments specify the clause. The remaining two arguments specify the literal set.] SideEffects [None] SeeAlso [] ******************************************************************************/ static int impliedp( DdHalfWord var1, short phase1, DdHalfWord var2, short phase2, BitVector *olv, BitVector *olp) { return((bitVectorRead(olv, var1) && bitVectorRead(olp, var1) == phase1) || (bitVectorRead(olv, var2) && bitVectorRead(olp, var2) == phase2)); } /* end of impliedp */ /**Function******************************************************************** Synopsis [Allocates a bit vector.] Description [Allocates a bit vector. The parameter size gives the number of bits. This procedure allocates enough long's to hold the specified number of bits. Returns a pointer to the allocated vector if successful; NULL otherwise.] SideEffects [None] SeeAlso [bitVectorClear bitVectorFree] ******************************************************************************/ static BitVector * bitVectorAlloc( int size) { int allocSize; BitVector *vector; /* Find out how many long's we need. ** There are sizeof(long) * 8 bits in a long. ** The ceiling of the ratio of two integers m and n is given ** by ((n-1)/m)+1. Putting all this together, we get... */ allocSize = ((size - 1) / (sizeof(BitVector) * 8)) + 1; vector = ALLOC(BitVector, allocSize); if (vector == NULL) return(NULL); /* Clear the whole array. */ (void) memset(vector, 0, allocSize * sizeof(BitVector)); return(vector); } /* end of bitVectorAlloc */ /**Function******************************************************************** Synopsis [Clears a bit vector.] Description [Clears a bit vector. The parameter size gives the number of bits.] SideEffects [None] SeeAlso [bitVectorAlloc] ******************************************************************************/ DD_INLINE static void bitVectorClear( BitVector *vector, int size) { int allocSize; /* Find out how many long's we need. ** There are sizeof(long) * 8 bits in a long. ** The ceiling of the ratio of two integers m and n is given ** by ((n-1)/m)+1. Putting all this together, we get... */ allocSize = ((size - 1) / (sizeof(BitVector) * 8)) + 1; /* Clear the whole array. */ (void) memset(vector, 0, allocSize * sizeof(BitVector)); return; } /* end of bitVectorClear */ /**Function******************************************************************** Synopsis [Frees a bit vector.] Description [Frees a bit vector.] SideEffects [None] SeeAlso [bitVectorAlloc] ******************************************************************************/ static void bitVectorFree( BitVector *vector) { FREE(vector); } /* end of bitVectorFree */ /**Function******************************************************************** Synopsis [Returns the i-th entry of a bit vector.] Description [Returns the i-th entry of a bit vector.] SideEffects [None] SeeAlso [bitVectorSet] ******************************************************************************/ DD_INLINE static short bitVectorRead( BitVector *vector, int i) { int word, bit; short result; if (vector == NULL) return((short) 0); word = i >> LOGBPL; bit = i & (BPL - 1); result = (short) ((vector[word] >> bit) & 1L); return(result); } /* end of bitVectorRead */ /**Function******************************************************************** Synopsis [Sets the i-th entry of a bit vector to a value.] Description [Sets the i-th entry of a bit vector to a value.] SideEffects [None] SeeAlso [bitVectorRead] ******************************************************************************/ DD_INLINE static void bitVectorSet( BitVector * vector, int i, short val) { int word, bit; word = i >> LOGBPL; bit = i & (BPL - 1); vector[word] &= ~(1L << bit); vector[word] |= (((long) val) << bit); } /* end of bitVectorSet */ /**Function******************************************************************** Synopsis [Allocates a DdTlcInfo Structure.] Description [Returns a pointer to a DdTlcInfo Structure if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_tlcInfoFree] ******************************************************************************/ static DdTlcInfo * tlcInfoAlloc(void) { DdTlcInfo *res = ALLOC(DdTlcInfo,1); if (res == NULL) return(NULL); res->vars = NULL; res->phases = NULL; res->cnt = 0; return(res); } /* end of tlcInfoAlloc */ BRiAl-1.2.12/cudd/cuddExact.c000066400000000000000000000707171436062512100155310ustar00rootroot00000000000000/**CFile*********************************************************************** FileName [cuddExact.c] PackageName [cudd] Synopsis [Functions for exact variable reordering.] Description [External procedures included in this file:
Internal procedures included in this module:
  • cuddExact()
Static procedures included in this module:
  • getMaxBinomial()
  • gcd()
  • getMatrix()
  • freeMatrix()
  • getLevelKeys()
  • ddShuffle()
  • ddSiftUp()
  • updateUB()
  • ddCountRoots()
  • ddClearGlobal()
  • computeLB()
  • updateEntry()
  • pushDown()
  • initSymmInfo()
] Author [Cheng Hua, Fabio Somenzi] Copyright [Copyright (c) 1995-2012, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.] ******************************************************************************/ #include "util.h" #include "cuddInt.h" /*---------------------------------------------------------------------------*/ /* Constant declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Stucture declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Type declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Variable declarations */ /*---------------------------------------------------------------------------*/ #ifndef lint static char rcsid[] DD_UNUSED = "$Id: cuddExact.c,v 1.30 2012/02/05 01:07:18 fabio Exp $"; #endif #ifdef DD_STATS static int ddTotalShuffles; #endif /*---------------------------------------------------------------------------*/ /* Macro declarations */ /*---------------------------------------------------------------------------*/ /**AutomaticStart*************************************************************/ /*---------------------------------------------------------------------------*/ /* Static function prototypes */ /*---------------------------------------------------------------------------*/ static int getMaxBinomial (int n); static DdHalfWord ** getMatrix (int rows, int cols); static void freeMatrix (DdHalfWord **matrix); static int getLevelKeys (DdManager *table, int l); static int ddShuffle (DdManager *table, DdHalfWord *permutation, int lower, int upper); static int ddSiftUp (DdManager *table, int x, int xLow); static int updateUB (DdManager *table, int oldBound, DdHalfWord *bestOrder, int lower, int upper); static int ddCountRoots (DdManager *table, int lower, int upper); static void ddClearGlobal (DdManager *table, int lower, int maxlevel); static int computeLB (DdManager *table, DdHalfWord *order, int roots, int cost, int lower, int upper, int level); static int updateEntry (DdManager *table, DdHalfWord *order, int level, int cost, DdHalfWord **orders, int *costs, int subsets, char *mask, int lower, int upper); static void pushDown (DdHalfWord *order, int j, int level); static DdHalfWord * initSymmInfo (DdManager *table, int lower, int upper); static int checkSymmInfo (DdManager *table, DdHalfWord *symmInfo, int index, int level); /**AutomaticEnd***************************************************************/ /*---------------------------------------------------------------------------*/ /* Definition of exported functions */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Definition of internal functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Exact variable ordering algorithm.] Description [Exact variable ordering algorithm. Finds an optimum order for the variables between lower and upper. Returns 1 if successful; 0 otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ int cuddExact( DdManager * table, int lower, int upper) { int k, i, j; int maxBinomial, oldSubsets, newSubsets; int subsetCost; int size; /* number of variables to be reordered */ int unused, nvars, level, result; int upperBound, lowerBound, cost; int roots; char *mask = NULL; DdHalfWord *symmInfo = NULL; DdHalfWord **newOrder = NULL; DdHalfWord **oldOrder = NULL; int *newCost = NULL; int *oldCost = NULL; DdHalfWord **tmpOrder; int *tmpCost; DdHalfWord *bestOrder = NULL; DdHalfWord *order; #ifdef DD_STATS int ddTotalSubsets; #endif /* Restrict the range to be reordered by excluding unused variables ** at the two ends. */ while (table->subtables[lower].keys == 1 && table->vars[table->invperm[lower]]->ref == 1 && lower < upper) lower++; while (table->subtables[upper].keys == 1 && table->vars[table->invperm[upper]]->ref == 1 && lower < upper) upper--; if (lower == upper) return(1); /* trivial problem */ /* Apply symmetric sifting to get a good upper bound and to extract ** symmetry information. */ result = cuddSymmSiftingConv(table,lower,upper); if (result == 0) goto cuddExactOutOfMem; #ifdef DD_STATS (void) fprintf(table->out,"\n"); ddTotalShuffles = 0; ddTotalSubsets = 0; #endif /* Initialization. */ nvars = table->size; size = upper - lower + 1; /* Count unused variable among those to be reordered. This is only ** used to compute maxBinomial. */ unused = 0; for (i = lower + 1; i < upper; i++) { if (table->subtables[i].keys == 1 && table->vars[table->invperm[i]]->ref == 1) unused++; } /* Find the maximum number of subsets we may have to store. */ maxBinomial = getMaxBinomial(size - unused); if (maxBinomial == -1) goto cuddExactOutOfMem; newOrder = getMatrix(maxBinomial, size); if (newOrder == NULL) goto cuddExactOutOfMem; newCost = ALLOC(int, maxBinomial); if (newCost == NULL) goto cuddExactOutOfMem; oldOrder = getMatrix(maxBinomial, size); if (oldOrder == NULL) goto cuddExactOutOfMem; oldCost = ALLOC(int, maxBinomial); if (oldCost == NULL) goto cuddExactOutOfMem; bestOrder = ALLOC(DdHalfWord, size); if (bestOrder == NULL) goto cuddExactOutOfMem; mask = ALLOC(char, nvars); if (mask == NULL) goto cuddExactOutOfMem; symmInfo = initSymmInfo(table, lower, upper); if (symmInfo == NULL) goto cuddExactOutOfMem; roots = ddCountRoots(table, lower, upper); /* Initialize the old order matrix for the empty subset and the best ** order to the current order. The cost for the empty subset includes ** the cost of the levels between upper and the constants. These levels ** are not going to change. Hence, we count them only once. */ oldSubsets = 1; for (i = 0; i < size; i++) { oldOrder[0][i] = bestOrder[i] = (DdHalfWord) table->invperm[i+lower]; } subsetCost = table->constants.keys; for (i = upper + 1; i < nvars; i++) subsetCost += getLevelKeys(table,i); oldCost[0] = subsetCost; /* The upper bound is initialized to the current size of the BDDs. */ upperBound = table->keys - table->isolated; /* Now consider subsets of increasing size. */ for (k = 1; k <= size; k++) { #ifdef DD_STATS (void) fprintf(table->out,"Processing subsets of size %d\n", k); fflush(table->out); #endif newSubsets = 0; level = size - k; /* offset of first bottom variable */ for (i = 0; i < oldSubsets; i++) { /* for each subset of size k-1 */ order = oldOrder[i]; cost = oldCost[i]; lowerBound = computeLB(table, order, roots, cost, lower, upper, level); if (lowerBound >= upperBound) continue; /* Impose new order. */ result = ddShuffle(table, order, lower, upper); if (result == 0) goto cuddExactOutOfMem; upperBound = updateUB(table,upperBound,bestOrder,lower,upper); /* For each top bottom variable. */ for (j = level; j >= 0; j--) { /* Skip unused variables. */ if (table->subtables[j+lower-1].keys == 1 && table->vars[table->invperm[j+lower-1]]->ref == 1) continue; /* Find cost under this order. */ subsetCost = cost + getLevelKeys(table, lower + level); newSubsets = updateEntry(table, order, level, subsetCost, newOrder, newCost, newSubsets, mask, lower, upper); if (j == 0) break; if (checkSymmInfo(table, symmInfo, order[j-1], level) == 0) continue; pushDown(order,j-1,level); /* Impose new order. */ result = ddShuffle(table, order, lower, upper); if (result == 0) goto cuddExactOutOfMem; upperBound = updateUB(table,upperBound,bestOrder,lower,upper); } /* for each bottom variable */ } /* for each subset of size k */ /* New orders become old orders in preparation for next iteration. */ tmpOrder = oldOrder; tmpCost = oldCost; oldOrder = newOrder; oldCost = newCost; newOrder = tmpOrder; newCost = tmpCost; #ifdef DD_STATS ddTotalSubsets += newSubsets; #endif oldSubsets = newSubsets; } result = ddShuffle(table, bestOrder, lower, upper); if (result == 0) goto cuddExactOutOfMem; #ifdef DD_STATS #ifdef DD_VERBOSE (void) fprintf(table->out,"\n"); #endif (void) fprintf(table->out,"#:S_EXACT %8d: total subsets\n", ddTotalSubsets); (void) fprintf(table->out,"#:H_EXACT %8d: total shuffles", ddTotalShuffles); #endif freeMatrix(newOrder); freeMatrix(oldOrder); FREE(bestOrder); FREE(oldCost); FREE(newCost); FREE(symmInfo); FREE(mask); return(1); cuddExactOutOfMem: if (newOrder != NULL) freeMatrix(newOrder); if (oldOrder != NULL) freeMatrix(oldOrder); if (bestOrder != NULL) FREE(bestOrder); if (oldCost != NULL) FREE(oldCost); if (newCost != NULL) FREE(newCost); if (symmInfo != NULL) FREE(symmInfo); if (mask != NULL) FREE(mask); table->errorCode = CUDD_MEMORY_OUT; return(0); } /* end of cuddExact */ /**Function******************************************************************** Synopsis [Returns the maximum value of (n choose k) for a given n.] Description [Computes the maximum value of (n choose k) for a given n. The maximum value occurs for k = n/2 when n is even, or k = (n-1)/2 when n is odd. The algorithm used in this procedure avoids intermediate overflow problems. It is based on the identity
    binomial(n,k) = n/k * binomial(n-1,k-1).
  
Returns the computed value if successful; -1 if out of range.] SideEffects [None] SeeAlso [] ******************************************************************************/ static int getMaxBinomial( int n) { double i, j, result; if (n < 0 || n > 33) return(-1); /* error */ if (n < 2) return(1); for (result = (double)((n+3)/2), i = result+1, j=2; i <= n; i++, j++) { result *= i; result /= j; } return((int)result); } /* end of getMaxBinomial */ #if 0 /**Function******************************************************************** Synopsis [Returns the gcd of two integers.] Description [Returns the gcd of two integers. Uses the binary GCD algorithm described in Cormen, Leiserson, and Rivest.] SideEffects [None] SeeAlso [] ******************************************************************************/ static int gcd( int x, int y) { int a; int b; int lsbMask; /* GCD(n,0) = n. */ if (x == 0) return(y); if (y == 0) return(x); a = x; b = y; lsbMask = 1; /* Here both a and b are != 0. The iteration maintains this invariant. ** Hence, we only need to check for when they become equal. */ while (a != b) { if (a & lsbMask) { if (b & lsbMask) { /* both odd */ if (a < b) { b = (b - a) >> 1; } else { a = (a - b) >> 1; } } else { /* a odd, b even */ b >>= 1; } } else { if (b & lsbMask) { /* a even, b odd */ a >>= 1; } else { /* both even */ lsbMask <<= 1; } } } return(a); } /* end of gcd */ #endif /**Function******************************************************************** Synopsis [Allocates a two-dimensional matrix of ints.] Description [Allocates a two-dimensional matrix of ints. Returns the pointer to the matrix if successful; NULL otherwise.] SideEffects [None] SeeAlso [freeMatrix] ******************************************************************************/ static DdHalfWord ** getMatrix( int rows /* number of rows */, int cols /* number of columns */) { DdHalfWord **matrix; int i; if (cols*rows == 0) return(NULL); matrix = ALLOC(DdHalfWord *, rows); if (matrix == NULL) return(NULL); matrix[0] = ALLOC(DdHalfWord, cols*rows); if (matrix[0] == NULL) { FREE(matrix); return(NULL); } for (i = 1; i < rows; i++) { matrix[i] = matrix[i-1] + cols; } return(matrix); } /* end of getMatrix */ /**Function******************************************************************** Synopsis [Frees a two-dimensional matrix allocated by getMatrix.] Description [] SideEffects [None] SeeAlso [getMatrix] ******************************************************************************/ static void freeMatrix( DdHalfWord ** matrix) { FREE(matrix[0]); FREE(matrix); return; } /* end of freeMatrix */ /**Function******************************************************************** Synopsis [Returns the number of nodes at one level of a unique table.] Description [Returns the number of nodes at one level of a unique table. The projection function, if isolated, is not counted.] SideEffects [None] SeeAlso [] ******************************************************************************/ static int getLevelKeys( DdManager * table, int l) { int isolated; int x; /* x is an index */ x = table->invperm[l]; isolated = table->vars[x]->ref == 1; return(table->subtables[l].keys - isolated); } /* end of getLevelKeys */ /**Function******************************************************************** Synopsis [Reorders variables according to a given permutation.] Description [Reorders variables according to a given permutation. The i-th permutation array contains the index of the variable that should be brought to the i-th level. ddShuffle assumes that no dead nodes are present and that the interaction matrix is properly initialized. The reordering is achieved by a series of upward sifts. Returns 1 if successful; 0 otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ static int ddShuffle( DdManager * table, DdHalfWord * permutation, int lower, int upper) { DdHalfWord index; int level; int position; #if 0 int numvars; #endif int result; #ifdef DD_STATS unsigned long localTime; int initialSize; #ifdef DD_VERBOSE int finalSize; #endif int previousSize; #endif #ifdef DD_STATS localTime = util_cpu_time(); initialSize = table->keys - table->isolated; #endif #if 0 numvars = table->size; (void) fprintf(table->out,"%d:", ddTotalShuffles); for (level = 0; level < numvars; level++) { (void) fprintf(table->out," %d", table->invperm[level]); } (void) fprintf(table->out,"\n"); #endif for (level = 0; level <= upper - lower; level++) { index = permutation[level]; position = table->perm[index]; #ifdef DD_STATS previousSize = table->keys - table->isolated; #endif result = ddSiftUp(table,position,level+lower); if (!result) return(0); } #ifdef DD_STATS ddTotalShuffles++; #ifdef DD_VERBOSE finalSize = table->keys - table->isolated; if (finalSize < initialSize) { (void) fprintf(table->out,"-"); } else if (finalSize > initialSize) { (void) fprintf(table->out,"+"); } else { (void) fprintf(table->out,"="); } if ((ddTotalShuffles & 63) == 0) (void) fprintf(table->out,"\n"); fflush(table->out); #endif #endif return(1); } /* end of ddShuffle */ /**Function******************************************************************** Synopsis [Moves one variable up.] Description [Takes a variable from position x and sifts it up to position xLow; xLow should be less than or equal to x. Returns 1 if successful; 0 otherwise] SideEffects [None] SeeAlso [] ******************************************************************************/ static int ddSiftUp( DdManager * table, int x, int xLow) { int y; int size; y = cuddNextLow(table,x); while (y >= xLow) { size = cuddSwapInPlace(table,y,x); if (size == 0) { return(0); } x = y; y = cuddNextLow(table,x); } return(1); } /* end of ddSiftUp */ /**Function******************************************************************** Synopsis [Updates the upper bound and saves the best order seen so far.] Description [Updates the upper bound and saves the best order seen so far. Returns the current value of the upper bound.] SideEffects [None] SeeAlso [] ******************************************************************************/ static int updateUB( DdManager * table, int oldBound, DdHalfWord * bestOrder, int lower, int upper) { int i; int newBound = table->keys - table->isolated; if (newBound < oldBound) { #ifdef DD_STATS (void) fprintf(table->out,"New upper bound = %d\n", newBound); fflush(table->out); #endif for (i = lower; i <= upper; i++) bestOrder[i-lower] = (DdHalfWord) table->invperm[i]; return(newBound); } else { return(oldBound); } } /* end of updateUB */ /**Function******************************************************************** Synopsis [Counts the number of roots.] Description [Counts the number of roots at the levels between lower and upper. The computation is based on breadth-first search. A node is a root if it is not reachable from any previously visited node. (All the nodes at level lower are therefore considered roots.) The visited flag uses the LSB of the next pointer. Returns the root count. The roots that are constant nodes are always ignored.] SideEffects [None] SeeAlso [ddClearGlobal] ******************************************************************************/ static int ddCountRoots( DdManager * table, int lower, int upper) { int i,j; DdNode *f; DdNodePtr *nodelist; DdNode *sentinel = &(table->sentinel); int slots; int roots = 0; int maxlevel = lower; for (i = lower; i <= upper; i++) { nodelist = table->subtables[i].nodelist; slots = table->subtables[i].slots; for (j = 0; j < slots; j++) { f = nodelist[j]; while (f != sentinel) { /* A node is a root of the DAG if it cannot be ** reached by nodes above it. If a node was never ** reached during the previous depth-first searches, ** then it is a root, and we start a new depth-first ** search from it. */ if (!Cudd_IsComplement(f->next)) { if (f != table->vars[f->index]) { roots++; } } if (!Cudd_IsConstant(cuddT(f))) { cuddT(f)->next = Cudd_Complement(cuddT(f)->next); if (table->perm[cuddT(f)->index] > maxlevel) maxlevel = table->perm[cuddT(f)->index]; } if (!Cudd_IsConstant(cuddE(f))) { Cudd_Regular(cuddE(f))->next = Cudd_Complement(Cudd_Regular(cuddE(f))->next); if (table->perm[Cudd_Regular(cuddE(f))->index] > maxlevel) maxlevel = table->perm[Cudd_Regular(cuddE(f))->index]; } f = Cudd_Regular(f->next); } } } ddClearGlobal(table, lower, maxlevel); return(roots); } /* end of ddCountRoots */ /**Function******************************************************************** Synopsis [Scans the DD and clears the LSB of the next pointers.] Description [Scans the DD and clears the LSB of the next pointers. The LSB of the next pointers are used as markers to tell whether a node was reached. Once the roots are counted, these flags are reset.] SideEffects [None] SeeAlso [ddCountRoots] ******************************************************************************/ static void ddClearGlobal( DdManager * table, int lower, int maxlevel) { int i,j; DdNode *f; DdNodePtr *nodelist; DdNode *sentinel = &(table->sentinel); int slots; for (i = lower; i <= maxlevel; i++) { nodelist = table->subtables[i].nodelist; slots = table->subtables[i].slots; for (j = 0; j < slots; j++) { f = nodelist[j]; while (f != sentinel) { f->next = Cudd_Regular(f->next); f = f->next; } } } } /* end of ddClearGlobal */ /**Function******************************************************************** Synopsis [Computes a lower bound on the size of a BDD.] Description [Computes a lower bound on the size of a BDD from the following factors:
  • size of the lower part of it;
  • size of the part of the upper part not subjected to reordering;
  • number of roots in the part of the BDD subjected to reordering;
  • variable in the support of the roots in the upper part of the BDD subjected to reordering.
      ] SideEffects [None] SeeAlso [] ******************************************************************************/ static int computeLB( DdManager * table /* manager */, DdHalfWord * order /* optimal order for the subset */, int roots /* roots between lower and upper */, int cost /* minimum cost for the subset */, int lower /* lower level to be reordered */, int upper /* upper level to be reordered */, int level /* offset for the current top bottom var */ ) { int i; int lb = cost; int lb1 = 0; int lb2; int support; DdHalfWord ref; /* The levels not involved in reordering are not going to change. ** Add their sizes to the lower bound. */ for (i = 0; i < lower; i++) { lb += getLevelKeys(table,i); } /* If a variable is in the support, then there is going ** to be at least one node labeled by that variable. */ for (i = lower; i <= lower+level; i++) { support = table->subtables[i].keys > 1 || table->vars[order[i-lower]]->ref > 1; lb1 += support; } /* Estimate the number of nodes required to connect the roots to ** the nodes in the bottom part. */ if (lower+level+1 < table->size) { if (lower+level < upper) ref = table->vars[order[level+1]]->ref; else ref = table->vars[table->invperm[upper+1]]->ref; lb2 = table->subtables[lower+level+1].keys - (ref > (DdHalfWord) 1) - roots; } else { lb2 = 0; } lb += lb1 > lb2 ? lb1 : lb2; return(lb); } /* end of computeLB */ /**Function******************************************************************** Synopsis [Updates entry for a subset.] Description [Updates entry for a subset. Finds the subset, if it exists. If the new order for the subset has lower cost, or if the subset did not exist, it stores the new order and cost. Returns the number of subsets currently in the table.] SideEffects [None] SeeAlso [] ******************************************************************************/ static int updateEntry( DdManager * table, DdHalfWord * order, int level, int cost, DdHalfWord ** orders, int * costs, int subsets, char * mask, int lower, int upper) { int i, j; int size = upper - lower + 1; /* Build a mask that says what variables are in this subset. */ for (i = lower; i <= upper; i++) mask[table->invperm[i]] = 0; for (i = level; i < size; i++) mask[order[i]] = 1; /* Check each subset until a match is found or all subsets are examined. */ for (i = 0; i < subsets; i++) { DdHalfWord *subset = orders[i]; for (j = level; j < size; j++) { if (mask[subset[j]] == 0) break; } if (j == size) /* no mismatches: success */ break; } if (i == subsets || cost < costs[i]) { /* add or replace */ for (j = 0; j < size; j++) orders[i][j] = order[j]; costs[i] = cost; subsets += (i == subsets); } return(subsets); } /* end of updateEntry */ /**Function******************************************************************** Synopsis [Pushes a variable in the order down to position "level."] Description [] SideEffects [None] SeeAlso [] ******************************************************************************/ static void pushDown( DdHalfWord * order, int j, int level) { int i; DdHalfWord tmp; tmp = order[j]; for (i = j; i < level; i++) { order[i] = order[i+1]; } order[level] = tmp; return; } /* end of pushDown */ /**Function******************************************************************** Synopsis [Gathers symmetry information.] Description [Translates the symmetry information stored in the next field of each subtable from level to indices. This procedure is called immediately after symmetric sifting, so that the next fields are correct. By translating this informaton in terms of indices, we make it independent of subsequent reorderings. The format used is that of the next fields: a circular list where each variable points to the next variable in the same symmetry group. Only the entries between lower and upper are considered. The procedure returns a pointer to an array holding the symmetry information if successful; NULL otherwise.] SideEffects [None] SeeAlso [checkSymmInfo] ******************************************************************************/ static DdHalfWord * initSymmInfo( DdManager * table, int lower, int upper) { int level, index, next, nextindex; DdHalfWord *symmInfo; symmInfo = ALLOC(DdHalfWord, table->size); if (symmInfo == NULL) return(NULL); for (level = lower; level <= upper; level++) { index = table->invperm[level]; next = table->subtables[level].next; nextindex = table->invperm[next]; symmInfo[index] = nextindex; } return(symmInfo); } /* end of initSymmInfo */ /**Function******************************************************************** Synopsis [Check symmetry condition.] Description [Returns 1 if a variable is the one with the highest index among those belonging to a symmetry group that are in the top part of the BDD. The top part is given by level.] SideEffects [None] SeeAlso [initSymmInfo] ******************************************************************************/ static int checkSymmInfo( DdManager * table, DdHalfWord * symmInfo, int index, int level) { int i; i = symmInfo[index]; while (i != index) { if (index < i && table->perm[i] <= level) return(0); i = symmInfo[i]; } return(1); } /* end of checkSymmInfo */ BRiAl-1.2.12/cudd/cuddExport.c000066400000000000000000001254231436062512100157410ustar00rootroot00000000000000/**CFile*********************************************************************** FileName [cuddExport.c] PackageName [cudd] Synopsis [Export functions.] Description [External procedures included in this module:
      • Cudd_DumpBlif()
      • Cudd_DumpBlifBody()
      • Cudd_DumpDot()
      • Cudd_DumpDaVinci()
      • Cudd_DumpDDcal()
      • Cudd_DumpFactoredForm()
      Internal procedures included in this module:
      Static procedures included in this module:
      • ddDoDumpBlif()
      • ddDoDumpDaVinci()
      • ddDoDumpDDcal()
      • ddDoDumpFactoredForm()
      ] Author [Fabio Somenzi] Copyright [Copyright (c) 1995-2012, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.] ******************************************************************************/ #include "util.h" #include "cuddInt.h" /*---------------------------------------------------------------------------*/ /* Constant declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Stucture declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Type declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Variable declarations */ /*---------------------------------------------------------------------------*/ #ifndef lint static char rcsid[] DD_UNUSED = "$Id: cuddExport.c,v 1.23 2012/02/05 01:07:18 fabio Exp $"; #endif /*---------------------------------------------------------------------------*/ /* Macro declarations */ /*---------------------------------------------------------------------------*/ /**AutomaticStart*************************************************************/ /*---------------------------------------------------------------------------*/ /* Static function prototypes */ /*---------------------------------------------------------------------------*/ static int ddDoDumpBlif (DdManager *dd, DdNode *f, FILE *fp, st_table *visited, char **names, int mv); static int ddDoDumpDaVinci (DdManager *dd, DdNode *f, FILE *fp, st_table *visited, char **names, ptruint mask); static int ddDoDumpDDcal (DdManager *dd, DdNode *f, FILE *fp, st_table *visited, char **names, ptruint mask); static int ddDoDumpFactoredForm (DdManager *dd, DdNode *f, FILE *fp, char **names); /**AutomaticEnd***************************************************************/ /*---------------------------------------------------------------------------*/ /* Definition of exported functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Writes a blif file representing the argument BDDs.] Description [Writes a blif file representing the argument BDDs as a network of multiplexers. One multiplexer is written for each BDD node. It returns 1 in case of success; 0 otherwise (e.g., out-of-memory, file system full, or an ADD with constants different from 0 and 1). Cudd_DumpBlif does not close the file: This is the caller responsibility. Cudd_DumpBlif uses a minimal unique subset of the hexadecimal address of a node as name for it. If the argument inames is non-null, it is assumed to hold the pointers to the names of the inputs. Similarly for onames.] SideEffects [None] SeeAlso [Cudd_DumpBlifBody Cudd_DumpDot Cudd_PrintDebug Cudd_DumpDDcal Cudd_DumpDaVinci Cudd_DumpFactoredForm] ******************************************************************************/ int Cudd_DumpBlif( DdManager * dd /* manager */, int n /* number of output nodes to be dumped */, DdNode ** f /* array of output nodes to be dumped */, char ** inames /* array of input names (or NULL) */, char ** onames /* array of output names (or NULL) */, char * mname /* model name (or NULL) */, FILE * fp /* pointer to the dump file */, int mv /* 0: blif, 1: blif-MV */) { DdNode *support = NULL; DdNode *scan; int *sorted = NULL; int nvars = dd->size; int retval; int i; /* Build a bit array with the support of f. */ sorted = ALLOC(int,nvars); if (sorted == NULL) { dd->errorCode = CUDD_MEMORY_OUT; goto failure; } for (i = 0; i < nvars; i++) sorted[i] = 0; /* Take the union of the supports of each output function. */ support = Cudd_VectorSupport(dd,f,n); if (support == NULL) goto failure; cuddRef(support); scan = support; while (!cuddIsConstant(scan)) { sorted[scan->index] = 1; scan = cuddT(scan); } Cudd_RecursiveDeref(dd,support); support = NULL; /* so that we do not try to free it in case of failure */ /* Write the header (.model .inputs .outputs). */ if (mname == NULL) { retval = fprintf(fp,".model DD\n.inputs"); } else { retval = fprintf(fp,".model %s\n.inputs",mname); } if (retval == EOF) { FREE(sorted); return(0); } /* Write the input list by scanning the support array. */ for (i = 0; i < nvars; i++) { if (sorted[i]) { if (inames == NULL) { retval = fprintf(fp," %d", i); } else { retval = fprintf(fp," %s", inames[i]); } if (retval == EOF) goto failure; } } FREE(sorted); sorted = NULL; /* Write the .output line. */ retval = fprintf(fp,"\n.outputs"); if (retval == EOF) goto failure; for (i = 0; i < n; i++) { if (onames == NULL) { retval = fprintf(fp," f%d", i); } else { retval = fprintf(fp," %s", onames[i]); } if (retval == EOF) goto failure; } retval = fprintf(fp,"\n"); if (retval == EOF) goto failure; retval = Cudd_DumpBlifBody(dd, n, f, inames, onames, fp, mv); if (retval == 0) goto failure; /* Write trailer and return. */ retval = fprintf(fp,".end\n"); if (retval == EOF) goto failure; return(1); failure: if (sorted != NULL) FREE(sorted); if (support != NULL) Cudd_RecursiveDeref(dd,support); return(0); } /* end of Cudd_DumpBlif */ /**Function******************************************************************** Synopsis [Writes a blif body representing the argument BDDs.] Description [Writes a blif body representing the argument BDDs as a network of multiplexers. No header (.model, .inputs, and .outputs) and footer (.end) are produced by this function. One multiplexer is written for each BDD node. It returns 1 in case of success; 0 otherwise (e.g., out-of-memory, file system full, or an ADD with constants different from 0 and 1). Cudd_DumpBlifBody does not close the file: This is the caller responsibility. Cudd_DumpBlifBody uses a minimal unique subset of the hexadecimal address of a node as name for it. If the argument inames is non-null, it is assumed to hold the pointers to the names of the inputs. Similarly for onames. This function prints out only .names part.] SideEffects [None] SeeAlso [Cudd_DumpBlif Cudd_DumpDot Cudd_PrintDebug Cudd_DumpDDcal Cudd_DumpDaVinci Cudd_DumpFactoredForm] ******************************************************************************/ int Cudd_DumpBlifBody( DdManager * dd /* manager */, int n /* number of output nodes to be dumped */, DdNode ** f /* array of output nodes to be dumped */, char ** inames /* array of input names (or NULL) */, char ** onames /* array of output names (or NULL) */, FILE * fp /* pointer to the dump file */, int mv /* 0: blif, 1: blif-MV */) { st_table *visited = NULL; int retval; int i; /* Initialize symbol table for visited nodes. */ visited = st_init_table(st_ptrcmp, st_ptrhash); if (visited == NULL) goto failure; /* Call the function that really gets the job done. */ for (i = 0; i < n; i++) { retval = ddDoDumpBlif(dd,Cudd_Regular(f[i]),fp,visited,inames,mv); if (retval == 0) goto failure; } /* To account for the possible complement on the root, ** we put either a buffer or an inverter at the output of ** the multiplexer representing the top node. */ for (i = 0; i < n; i++) { if (onames == NULL) { retval = fprintf(fp, #if SIZEOF_VOID_P == 8 ".names %lx f%d\n", (ptruint) f[i] / (ptruint) sizeof(DdNode), i); #else ".names %x f%d\n", (ptruint) f[i] / (ptruint) sizeof(DdNode), i); #endif } else { retval = fprintf(fp, #if SIZEOF_VOID_P == 8 ".names %lx %s\n", (ptruint) f[i] / (ptruint) sizeof(DdNode), onames[i]); #else ".names %x %s\n", (ptruint) f[i] / (ptruint) sizeof(DdNode), onames[i]); #endif } if (retval == EOF) goto failure; if (Cudd_IsComplement(f[i])) { retval = fprintf(fp,"%s0 1\n", mv ? ".def 0\n" : ""); } else { retval = fprintf(fp,"%s1 1\n", mv ? ".def 0\n" : ""); } if (retval == EOF) goto failure; } st_free_table(visited); return(1); failure: if (visited != NULL) st_free_table(visited); return(0); } /* end of Cudd_DumpBlifBody */ /**Function******************************************************************** Synopsis [Writes a dot file representing the argument DDs.] Description [Writes a file representing the argument DDs in a format suitable for the graph drawing program dot. It returns 1 in case of success; 0 otherwise (e.g., out-of-memory, file system full). Cudd_DumpDot does not close the file: This is the caller responsibility. Cudd_DumpDot uses a minimal unique subset of the hexadecimal address of a node as name for it. If the argument inames is non-null, it is assumed to hold the pointers to the names of the inputs. Similarly for onames. Cudd_DumpDot uses the following convention to draw arcs:
      • solid line: THEN arcs;
      • dotted line: complement arcs;
      • dashed line: regular ELSE arcs.
      The dot options are chosen so that the drawing fits on a letter-size sheet. ] SideEffects [None] SeeAlso [Cudd_DumpBlif Cudd_PrintDebug Cudd_DumpDDcal Cudd_DumpDaVinci Cudd_DumpFactoredForm] ******************************************************************************/ int Cudd_DumpDot( DdManager * dd /* manager */, int n /* number of output nodes to be dumped */, DdNode ** f /* array of output nodes to be dumped */, char ** inames /* array of input names (or NULL) */, char ** onames /* array of output names (or NULL) */, FILE * fp /* pointer to the dump file */) { DdNode *support = NULL; DdNode *scan; int *sorted = NULL; int nvars = dd->size; st_table *visited = NULL; st_generator *gen = NULL; int retval; int i, j; int slots; DdNodePtr *nodelist; long refAddr, diff, mask; /* Build a bit array with the support of f. */ sorted = ALLOC(int,nvars); if (sorted == NULL) { dd->errorCode = CUDD_MEMORY_OUT; goto failure; } for (i = 0; i < nvars; i++) sorted[i] = 0; /* Take the union of the supports of each output function. */ support = Cudd_VectorSupport(dd,f,n); if (support == NULL) goto failure; cuddRef(support); scan = support; while (!cuddIsConstant(scan)) { sorted[scan->index] = 1; scan = cuddT(scan); } Cudd_RecursiveDeref(dd,support); support = NULL; /* so that we do not try to free it in case of failure */ /* Initialize symbol table for visited nodes. */ visited = st_init_table(st_ptrcmp, st_ptrhash); if (visited == NULL) goto failure; /* Collect all the nodes of this DD in the symbol table. */ for (i = 0; i < n; i++) { retval = cuddCollectNodes(Cudd_Regular(f[i]),visited); if (retval == 0) goto failure; } /* Find how many most significant hex digits are identical ** in the addresses of all the nodes. Build a mask based ** on this knowledge, so that digits that carry no information ** will not be printed. This is done in two steps. ** 1. We scan the symbol table to find the bits that differ ** in at least 2 addresses. ** 2. We choose one of the possible masks. There are 8 possible ** masks for 32-bit integer, and 16 possible masks for 64-bit ** integers. */ /* Find the bits that are different. */ refAddr = (long) Cudd_Regular(f[0]); diff = 0; gen = st_init_gen(visited); if (gen == NULL) goto failure; while (st_gen(gen, &scan, NULL)) { diff |= refAddr ^ (long) scan; } st_free_gen(gen); gen = NULL; /* Choose the mask. */ for (i = 0; (unsigned) i < 8 * sizeof(long); i += 4) { mask = (1 << i) - 1; if (diff <= mask) break; } /* Write the header and the global attributes. */ retval = fprintf(fp,"digraph \"DD\" {\n"); if (retval == EOF) return(0); retval = fprintf(fp, "size = \"7.5,10\"\ncenter = true;\nedge [dir = none];\n"); if (retval == EOF) return(0); /* Write the input name subgraph by scanning the support array. */ retval = fprintf(fp,"{ node [shape = plaintext];\n"); if (retval == EOF) goto failure; retval = fprintf(fp," edge [style = invis];\n"); if (retval == EOF) goto failure; /* We use a name ("CONST NODES") with an embedded blank, because ** it is unlikely to appear as an input name. */ retval = fprintf(fp," \"CONST NODES\" [style = invis];\n"); if (retval == EOF) goto failure; for (i = 0; i < nvars; i++) { if (sorted[dd->invperm[i]]) { if (inames == NULL || inames[dd->invperm[i]] == NULL) { retval = fprintf(fp,"\" %d \" -> ", dd->invperm[i]); } else { retval = fprintf(fp,"\" %s \" -> ", inames[dd->invperm[i]]); } if (retval == EOF) goto failure; } } retval = fprintf(fp,"\"CONST NODES\"; \n}\n"); if (retval == EOF) goto failure; /* Write the output node subgraph. */ retval = fprintf(fp,"{ rank = same; node [shape = box]; edge [style = invis];\n"); if (retval == EOF) goto failure; for (i = 0; i < n; i++) { if (onames == NULL) { retval = fprintf(fp,"\"F%d\"", i); } else { retval = fprintf(fp,"\" %s \"", onames[i]); } if (retval == EOF) goto failure; if (i == n - 1) { retval = fprintf(fp,"; }\n"); } else { retval = fprintf(fp," -> "); } if (retval == EOF) goto failure; } /* Write rank info: All nodes with the same index have the same rank. */ for (i = 0; i < nvars; i++) { if (sorted[dd->invperm[i]]) { retval = fprintf(fp,"{ rank = same; "); if (retval == EOF) goto failure; if (inames == NULL || inames[dd->invperm[i]] == NULL) { retval = fprintf(fp,"\" %d \";\n", dd->invperm[i]); } else { retval = fprintf(fp,"\" %s \";\n", inames[dd->invperm[i]]); } if (retval == EOF) goto failure; nodelist = dd->subtables[i].nodelist; slots = dd->subtables[i].slots; for (j = 0; j < slots; j++) { scan = nodelist[j]; while (scan != NULL) { if (st_is_member(visited,(char *) scan)) { retval = fprintf(fp,"\"%p\";\n", (void *) ((mask & (ptrint) scan) / sizeof(DdNode))); if (retval == EOF) goto failure; } scan = scan->next; } } retval = fprintf(fp,"}\n"); if (retval == EOF) goto failure; } } /* All constants have the same rank. */ retval = fprintf(fp, "{ rank = same; \"CONST NODES\";\n{ node [shape = box]; "); if (retval == EOF) goto failure; nodelist = dd->constants.nodelist; slots = dd->constants.slots; for (j = 0; j < slots; j++) { scan = nodelist[j]; while (scan != NULL) { if (st_is_member(visited,(char *) scan)) { retval = fprintf(fp,"\"%p\";\n", (void *) ((mask & (ptrint) scan) / sizeof(DdNode))); if (retval == EOF) goto failure; } scan = scan->next; } } retval = fprintf(fp,"}\n}\n"); if (retval == EOF) goto failure; /* Write edge info. */ /* Edges from the output nodes. */ for (i = 0; i < n; i++) { if (onames == NULL) { retval = fprintf(fp,"\"F%d\"", i); } else { retval = fprintf(fp,"\" %s \"", onames[i]); } if (retval == EOF) goto failure; /* Account for the possible complement on the root. */ if (Cudd_IsComplement(f[i])) { retval = fprintf(fp," -> \"%p\" [style = dotted];\n", (void *) ((mask & (ptrint) f[i]) / sizeof(DdNode))); } else { retval = fprintf(fp," -> \"%p\" [style = solid];\n", (void *) ((mask & (ptrint) f[i]) / sizeof(DdNode))); } if (retval == EOF) goto failure; } /* Edges from internal nodes. */ for (i = 0; i < nvars; i++) { if (sorted[dd->invperm[i]]) { nodelist = dd->subtables[i].nodelist; slots = dd->subtables[i].slots; for (j = 0; j < slots; j++) { scan = nodelist[j]; while (scan != NULL) { if (st_is_member(visited,(char *) scan)) { retval = fprintf(fp, "\"%p\" -> \"%p\";\n", (void *) ((mask & (ptrint) scan) / sizeof(DdNode)), (void *) ((mask & (ptrint) cuddT(scan)) / sizeof(DdNode))); if (retval == EOF) goto failure; if (Cudd_IsComplement(cuddE(scan))) { retval = fprintf(fp, "\"%p\" -> \"%p\" [style = dotted];\n", (void *) ((mask & (ptrint) scan) / sizeof(DdNode)), (void *) ((mask & (ptrint) cuddE(scan)) / sizeof(DdNode))); } else { retval = fprintf(fp, "\"%p\" -> \"%p\" [style = dashed];\n", (void *) ((mask & (ptrint) scan) / sizeof(DdNode)), (void *) ((mask & (ptrint) cuddE(scan)) / sizeof(DdNode))); } if (retval == EOF) goto failure; } scan = scan->next; } } } } /* Write constant labels. */ nodelist = dd->constants.nodelist; slots = dd->constants.slots; for (j = 0; j < slots; j++) { scan = nodelist[j]; while (scan != NULL) { if (st_is_member(visited,(char *) scan)) { retval = fprintf(fp,"\"%p\" [label = \"%g\"];\n", (void *) ((mask & (ptrint) scan) / sizeof(DdNode)), cuddV(scan)); if (retval == EOF) goto failure; } scan = scan->next; } } /* Write trailer and return. */ retval = fprintf(fp,"}\n"); if (retval == EOF) goto failure; st_free_table(visited); FREE(sorted); return(1); failure: if (sorted != NULL) FREE(sorted); if (support != NULL) Cudd_RecursiveDeref(dd,support); if (visited != NULL) st_free_table(visited); return(0); } /* end of Cudd_DumpDot */ /**Function******************************************************************** Synopsis [Writes a daVinci file representing the argument BDDs.] Description [Writes a daVinci file representing the argument BDDs. It returns 1 in case of success; 0 otherwise (e.g., out-of-memory or file system full). Cudd_DumpDaVinci does not close the file: This is the caller responsibility. Cudd_DumpDaVinci uses a minimal unique subset of the hexadecimal address of a node as name for it. If the argument inames is non-null, it is assumed to hold the pointers to the names of the inputs. Similarly for onames.] SideEffects [None] SeeAlso [Cudd_DumpDot Cudd_PrintDebug Cudd_DumpBlif Cudd_DumpDDcal Cudd_DumpFactoredForm] ******************************************************************************/ int Cudd_DumpDaVinci( DdManager * dd /* manager */, int n /* number of output nodes to be dumped */, DdNode ** f /* array of output nodes to be dumped */, char ** inames /* array of input names (or NULL) */, char ** onames /* array of output names (or NULL) */, FILE * fp /* pointer to the dump file */) { DdNode *support = NULL; DdNode *scan; st_table *visited = NULL; int retval; int i; st_generator *gen; ptruint refAddr, diff, mask; /* Initialize symbol table for visited nodes. */ visited = st_init_table(st_ptrcmp, st_ptrhash); if (visited == NULL) goto failure; /* Collect all the nodes of this DD in the symbol table. */ for (i = 0; i < n; i++) { retval = cuddCollectNodes(Cudd_Regular(f[i]),visited); if (retval == 0) goto failure; } /* Find how many most significant hex digits are identical ** in the addresses of all the nodes. Build a mask based ** on this knowledge, so that digits that carry no information ** will not be printed. This is done in two steps. ** 1. We scan the symbol table to find the bits that differ ** in at least 2 addresses. ** 2. We choose one of the possible masks. There are 8 possible ** masks for 32-bit integer, and 16 possible masks for 64-bit ** integers. */ /* Find the bits that are different. */ refAddr = (ptruint) Cudd_Regular(f[0]); diff = 0; gen = st_init_gen(visited); while (st_gen(gen, &scan, NULL)) { diff |= refAddr ^ (ptruint) scan; } st_free_gen(gen); /* Choose the mask. */ for (i = 0; (unsigned) i < 8 * sizeof(ptruint); i += 4) { mask = (1 << i) - 1; if (diff <= mask) break; } st_free_table(visited); /* Initialize symbol table for visited nodes. */ visited = st_init_table(st_ptrcmp, st_ptrhash); if (visited == NULL) goto failure; retval = fprintf(fp, "["); if (retval == EOF) goto failure; /* Call the function that really gets the job done. */ for (i = 0; i < n; i++) { if (onames == NULL) { retval = fprintf(fp, "l(\"f%d\",n(\"root\",[a(\"OBJECT\",\"f%d\")],", i,i); } else { retval = fprintf(fp, "l(\"%s\",n(\"root\",[a(\"OBJECT\",\"%s\")],", onames[i], onames[i]); } if (retval == EOF) goto failure; retval = fprintf(fp, "[e(\"edge\",[a(\"EDGECOLOR\",\"%s\"),a(\"_DIR\",\"none\")],", Cudd_IsComplement(f[i]) ? "red" : "blue"); if (retval == EOF) goto failure; retval = ddDoDumpDaVinci(dd,Cudd_Regular(f[i]),fp,visited,inames,mask); if (retval == 0) goto failure; retval = fprintf(fp, ")]))%s", i == n-1 ? "" : ","); if (retval == EOF) goto failure; } /* Write trailer and return. */ retval = fprintf(fp, "]\n"); if (retval == EOF) goto failure; st_free_table(visited); return(1); failure: if (support != NULL) Cudd_RecursiveDeref(dd,support); if (visited != NULL) st_free_table(visited); return(0); } /* end of Cudd_DumpDaVinci */ /**Function******************************************************************** Synopsis [Writes a DDcal file representing the argument BDDs.] Description [Writes a DDcal file representing the argument BDDs. It returns 1 in case of success; 0 otherwise (e.g., out-of-memory or file system full). Cudd_DumpDDcal does not close the file: This is the caller responsibility. Cudd_DumpDDcal uses a minimal unique subset of the hexadecimal address of a node as name for it. If the argument inames is non-null, it is assumed to hold the pointers to the names of the inputs. Similarly for onames.] SideEffects [None] SeeAlso [Cudd_DumpDot Cudd_PrintDebug Cudd_DumpBlif Cudd_DumpDaVinci Cudd_DumpFactoredForm] ******************************************************************************/ int Cudd_DumpDDcal( DdManager * dd /* manager */, int n /* number of output nodes to be dumped */, DdNode ** f /* array of output nodes to be dumped */, char ** inames /* array of input names (or NULL) */, char ** onames /* array of output names (or NULL) */, FILE * fp /* pointer to the dump file */) { DdNode *support = NULL; DdNode *scan; int *sorted = NULL; int nvars = dd->size; st_table *visited = NULL; int retval; int i; st_generator *gen; ptruint refAddr, diff, mask; /* Initialize symbol table for visited nodes. */ visited = st_init_table(st_ptrcmp, st_ptrhash); if (visited == NULL) goto failure; /* Collect all the nodes of this DD in the symbol table. */ for (i = 0; i < n; i++) { retval = cuddCollectNodes(Cudd_Regular(f[i]),visited); if (retval == 0) goto failure; } /* Find how many most significant hex digits are identical ** in the addresses of all the nodes. Build a mask based ** on this knowledge, so that digits that carry no information ** will not be printed. This is done in two steps. ** 1. We scan the symbol table to find the bits that differ ** in at least 2 addresses. ** 2. We choose one of the possible masks. There are 8 possible ** masks for 32-bit integer, and 16 possible masks for 64-bit ** integers. */ /* Find the bits that are different. */ refAddr = (ptruint) Cudd_Regular(f[0]); diff = 0; gen = st_init_gen(visited); while (st_gen(gen, &scan, NULL)) { diff |= refAddr ^ (ptruint) scan; } st_free_gen(gen); /* Choose the mask. */ for (i = 0; (unsigned) i < 8 * sizeof(ptruint); i += 4) { mask = (1 << i) - 1; if (diff <= mask) break; } st_free_table(visited); /* Build a bit array with the support of f. */ sorted = ALLOC(int,nvars); if (sorted == NULL) { dd->errorCode = CUDD_MEMORY_OUT; goto failure; } for (i = 0; i < nvars; i++) sorted[i] = 0; /* Take the union of the supports of each output function. */ support = Cudd_VectorSupport(dd,f,n); if (support == NULL) goto failure; cuddRef(support); scan = support; while (!cuddIsConstant(scan)) { sorted[scan->index] = 1; scan = cuddT(scan); } Cudd_RecursiveDeref(dd,support); support = NULL; /* so that we do not try to free it in case of failure */ for (i = 0; i < nvars; i++) { if (sorted[dd->invperm[i]]) { if (inames == NULL || inames[dd->invperm[i]] == NULL) { retval = fprintf(fp,"v%d", dd->invperm[i]); } else { retval = fprintf(fp,"%s", inames[dd->invperm[i]]); } if (retval == EOF) goto failure; } retval = fprintf(fp,"%s", i == nvars - 1 ? "\n" : " * "); if (retval == EOF) goto failure; } FREE(sorted); sorted = NULL; /* Initialize symbol table for visited nodes. */ visited = st_init_table(st_ptrcmp, st_ptrhash); if (visited == NULL) goto failure; /* Call the function that really gets the job done. */ for (i = 0; i < n; i++) { retval = ddDoDumpDDcal(dd,Cudd_Regular(f[i]),fp,visited,inames,mask); if (retval == 0) goto failure; if (onames == NULL) { retval = fprintf(fp, "f%d = ", i); } else { retval = fprintf(fp, "%s = ", onames[i]); } if (retval == EOF) goto failure; retval = fprintf(fp, "n%p%s\n", (void *) (((ptruint) f[i] & mask) / (ptruint) sizeof(DdNode)), Cudd_IsComplement(f[i]) ? "'" : ""); if (retval == EOF) goto failure; } /* Write trailer and return. */ retval = fprintf(fp, "["); if (retval == EOF) goto failure; for (i = 0; i < n; i++) { if (onames == NULL) { retval = fprintf(fp, "f%d", i); } else { retval = fprintf(fp, "%s", onames[i]); } retval = fprintf(fp, "%s", i == n-1 ? "" : " "); if (retval == EOF) goto failure; } retval = fprintf(fp, "]\n"); if (retval == EOF) goto failure; st_free_table(visited); return(1); failure: if (sorted != NULL) FREE(sorted); if (support != NULL) Cudd_RecursiveDeref(dd,support); if (visited != NULL) st_free_table(visited); return(0); } /* end of Cudd_DumpDDcal */ /**Function******************************************************************** Synopsis [Writes factored forms representing the argument BDDs.] Description [Writes factored forms representing the argument BDDs. The format of the factored form is the one used in the genlib files for technology mapping in sis. It returns 1 in case of success; 0 otherwise (e.g., file system full). Cudd_DumpFactoredForm does not close the file: This is the caller responsibility. Caution must be exercised because a factored form may be exponentially larger than the argument BDD. If the argument inames is non-null, it is assumed to hold the pointers to the names of the inputs. Similarly for onames.] SideEffects [None] SeeAlso [Cudd_DumpDot Cudd_PrintDebug Cudd_DumpBlif Cudd_DumpDaVinci Cudd_DumpDDcal] ******************************************************************************/ int Cudd_DumpFactoredForm( DdManager * dd /* manager */, int n /* number of output nodes to be dumped */, DdNode ** f /* array of output nodes to be dumped */, char ** inames /* array of input names (or NULL) */, char ** onames /* array of output names (or NULL) */, FILE * fp /* pointer to the dump file */) { int retval; int i; /* Call the function that really gets the job done. */ for (i = 0; i < n; i++) { if (onames == NULL) { retval = fprintf(fp, "f%d = ", i); } else { retval = fprintf(fp, "%s = ", onames[i]); } if (retval == EOF) return(0); if (f[i] == DD_ONE(dd)) { retval = fprintf(fp, "CONST1"); if (retval == EOF) return(0); } else if (f[i] == Cudd_Not(DD_ONE(dd)) || f[i] == DD_ZERO(dd)) { retval = fprintf(fp, "CONST0"); if (retval == EOF) return(0); } else { retval = fprintf(fp, "%s", Cudd_IsComplement(f[i]) ? "!(" : ""); if (retval == EOF) return(0); retval = ddDoDumpFactoredForm(dd,Cudd_Regular(f[i]),fp,inames); if (retval == 0) return(0); retval = fprintf(fp, "%s", Cudd_IsComplement(f[i]) ? ")" : ""); if (retval == EOF) return(0); } retval = fprintf(fp, "%s", i == n-1 ? "" : "\n"); if (retval == EOF) return(0); } return(1); } /* end of Cudd_DumpFactoredForm */ /*---------------------------------------------------------------------------*/ /* Definition of internal functions */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Definition of static functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_DumpBlif.] Description [Performs the recursive step of Cudd_DumpBlif. Traverses the BDD f and writes a multiplexer-network description to the file pointed by fp in blif format. f is assumed to be a regular pointer and ddDoDumpBlif guarantees this assumption in the recursive calls.] SideEffects [None] SeeAlso [] ******************************************************************************/ static int ddDoDumpBlif( DdManager * dd, DdNode * f, FILE * fp, st_table * visited, char ** names, int mv) { DdNode *T, *E; int retval; #ifdef DD_DEBUG assert(!Cudd_IsComplement(f)); #endif /* If already visited, nothing to do. */ if (st_is_member(visited, (char *) f) == 1) return(1); /* Check for abnormal condition that should never happen. */ if (f == NULL) return(0); /* Mark node as visited. */ if (st_insert(visited, (char *) f, NULL) == ST_OUT_OF_MEM) return(0); /* Check for special case: If constant node, generate constant 1. */ if (f == DD_ONE(dd)) { #if SIZEOF_VOID_P == 8 retval = fprintf(fp, ".names %lx\n1\n",(ptruint) f / (ptruint) sizeof(DdNode)); #else retval = fprintf(fp, ".names %x\n1\n",(ptruint) f / (ptruint) sizeof(DdNode)); #endif if (retval == EOF) { return(0); } else { return(1); } } /* Check whether this is an ADD. We deal with 0-1 ADDs, but not ** with the general case. */ if (f == DD_ZERO(dd)) { #if SIZEOF_VOID_P == 8 retval = fprintf(fp, ".names %lx\n%s", (ptruint) f / (ptruint) sizeof(DdNode), mv ? "0\n" : ""); #else retval = fprintf(fp, ".names %x\n%s", (ptruint) f / (ptruint) sizeof(DdNode), mv ? "0\n" : ""); #endif if (retval == EOF) { return(0); } else { return(1); } } if (cuddIsConstant(f)) return(0); /* Recursive calls. */ T = cuddT(f); retval = ddDoDumpBlif(dd,T,fp,visited,names,mv); if (retval != 1) return(retval); E = Cudd_Regular(cuddE(f)); retval = ddDoDumpBlif(dd,E,fp,visited,names,mv); if (retval != 1) return(retval); /* Write multiplexer taking complement arc into account. */ if (names != NULL) { retval = fprintf(fp,".names %s", names[f->index]); } else { #if SIZEOF_VOID_P == 8 && SIZEOF_INT == 4 retval = fprintf(fp,".names %u", f->index); #else retval = fprintf(fp,".names %hu", f->index); #endif } if (retval == EOF) return(0); #if SIZEOF_VOID_P == 8 if (mv) { if (Cudd_IsComplement(cuddE(f))) { retval = fprintf(fp," %lx %lx %lx\n.def 0\n1 1 - 1\n0 - 0 1\n", (ptruint) T / (ptruint) sizeof(DdNode), (ptruint) E / (ptruint) sizeof(DdNode), (ptruint) f / (ptruint) sizeof(DdNode)); } else { retval = fprintf(fp," %lx %lx %lx\n.def 0\n1 1 - 1\n0 - 1 1\n", (ptruint) T / (ptruint) sizeof(DdNode), (ptruint) E / (ptruint) sizeof(DdNode), (ptruint) f / (ptruint) sizeof(DdNode)); } } else { if (Cudd_IsComplement(cuddE(f))) { retval = fprintf(fp," %lx %lx %lx\n11- 1\n0-0 1\n", (ptruint) T / (ptruint) sizeof(DdNode), (ptruint) E / (ptruint) sizeof(DdNode), (ptruint) f / (ptruint) sizeof(DdNode)); } else { retval = fprintf(fp," %lx %lx %lx\n11- 1\n0-1 1\n", (ptruint) T / (ptruint) sizeof(DdNode), (ptruint) E / (ptruint) sizeof(DdNode), (ptruint) f / (ptruint) sizeof(DdNode)); } } #else if (mv) { if (Cudd_IsComplement(cuddE(f))) { retval = fprintf(fp," %x %x %x\n.def 0\n1 1 - 1\n0 - 0 1\n", (ptruint) T / (ptruint) sizeof(DdNode), (ptruint) E / (ptruint) sizeof(DdNode), (ptruint) f / (ptruint) sizeof(DdNode)); } else { retval = fprintf(fp," %x %x %x\n.def 0\n1 1 - 1\n0 - 1 1\n", (ptruint) T / (ptruint) sizeof(DdNode), (ptruint) E / (ptruint) sizeof(DdNode), (ptruint) f / (ptruint) sizeof(DdNode)); } } else { if (Cudd_IsComplement(cuddE(f))) { retval = fprintf(fp," %x %x %x\n11- 1\n0-0 1\n", (ptruint) T / (ptruint) sizeof(DdNode), (ptruint) E / (ptruint) sizeof(DdNode), (ptruint) f / (ptruint) sizeof(DdNode)); } else { retval = fprintf(fp," %x %x %x\n11- 1\n0-1 1\n", (ptruint) T / (ptruint) sizeof(DdNode), (ptruint) E / (ptruint) sizeof(DdNode), (ptruint) f / (ptruint) sizeof(DdNode)); } } #endif if (retval == EOF) { return(0); } else { return(1); } } /* end of ddDoDumpBlif */ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_DumpDaVinci.] Description [Performs the recursive step of Cudd_DumpDaVinci. Traverses the BDD f and writes a term expression to the file pointed by fp in daVinci format. f is assumed to be a regular pointer and ddDoDumpDaVinci guarantees this assumption in the recursive calls.] SideEffects [None] SeeAlso [] ******************************************************************************/ static int ddDoDumpDaVinci( DdManager * dd, DdNode * f, FILE * fp, st_table * visited, char ** names, ptruint mask) { DdNode *T, *E; int retval; ptruint id; #ifdef DD_DEBUG assert(!Cudd_IsComplement(f)); #endif id = ((ptruint) f & mask) / sizeof(DdNode); /* If already visited, insert a reference. */ if (st_is_member(visited, (char *) f) == 1) { retval = fprintf(fp,"r(\"%p\")", (void *) id); if (retval == EOF) { return(0); } else { return(1); } } /* Check for abnormal condition that should never happen. */ if (f == NULL) return(0); /* Mark node as visited. */ if (st_insert(visited, (char *) f, NULL) == ST_OUT_OF_MEM) return(0); /* Check for special case: If constant node, generate constant 1. */ if (Cudd_IsConstant(f)) { retval = fprintf(fp, "l(\"%p\",n(\"constant\",[a(\"OBJECT\",\"%g\")],[]))", (void *) id, cuddV(f)); if (retval == EOF) { return(0); } else { return(1); } } /* Recursive calls. */ if (names != NULL) { retval = fprintf(fp, "l(\"%p\",n(\"internal\",[a(\"OBJECT\",\"%s\"),", (void *) id, names[f->index]); } else { retval = fprintf(fp, #if SIZEOF_VOID_P == 8 "l(\"%p\",n(\"internal\",[a(\"OBJECT\",\"%u\"),", #else "l(\"%p\",n(\"internal\",[a(\"OBJECT\",\"%hu\"),", #endif (void *) id, f->index); } retval = fprintf(fp, "a(\"_GO\",\"ellipse\")],[e(\"then\",[a(\"EDGECOLOR\",\"blue\"),a(\"_DIR\",\"none\")],"); if (retval == EOF) return(0); T = cuddT(f); retval = ddDoDumpDaVinci(dd,T,fp,visited,names,mask); if (retval != 1) return(retval); retval = fprintf(fp, "),e(\"else\",[a(\"EDGECOLOR\",\"%s\"),a(\"_DIR\",\"none\")],", Cudd_IsComplement(cuddE(f)) ? "red" : "green"); if (retval == EOF) return(0); E = Cudd_Regular(cuddE(f)); retval = ddDoDumpDaVinci(dd,E,fp,visited,names,mask); if (retval != 1) return(retval); retval = fprintf(fp,")]))"); if (retval == EOF) { return(0); } else { return(1); } } /* end of ddDoDumpDaVinci */ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_DumpDDcal.] Description [Performs the recursive step of Cudd_DumpDDcal. Traverses the BDD f and writes a line for each node to the file pointed by fp in DDcal format. f is assumed to be a regular pointer and ddDoDumpDDcal guarantees this assumption in the recursive calls.] SideEffects [None] SeeAlso [] ******************************************************************************/ static int ddDoDumpDDcal( DdManager * dd, DdNode * f, FILE * fp, st_table * visited, char ** names, ptruint mask) { DdNode *T, *E; int retval; ptruint id, idT, idE; #ifdef DD_DEBUG assert(!Cudd_IsComplement(f)); #endif id = ((ptruint) f & mask) / sizeof(DdNode); /* If already visited, do nothing. */ if (st_is_member(visited, (char *) f) == 1) { return(1); } /* Check for abnormal condition that should never happen. */ if (f == NULL) return(0); /* Mark node as visited. */ if (st_insert(visited, (char *) f, NULL) == ST_OUT_OF_MEM) return(0); /* Check for special case: If constant node, assign constant. */ if (Cudd_IsConstant(f)) { if (f != DD_ONE(dd) && f != DD_ZERO(dd)) return(0); retval = fprintf(fp, "n%p = %g\n", (void *) id, cuddV(f)); if (retval == EOF) { return(0); } else { return(1); } } /* Recursive calls. */ T = cuddT(f); retval = ddDoDumpDDcal(dd,T,fp,visited,names,mask); if (retval != 1) return(retval); E = Cudd_Regular(cuddE(f)); retval = ddDoDumpDDcal(dd,E,fp,visited,names,mask); if (retval != 1) return(retval); idT = ((ptruint) T & mask) / sizeof(DdNode); idE = ((ptruint) E & mask) / sizeof(DdNode); if (names != NULL) { retval = fprintf(fp, "n%p = %s * n%p + %s' * n%p%s\n", (void *) id, names[f->index], (void *) idT, names[f->index], (void *) idE, Cudd_IsComplement(cuddE(f)) ? "'" : ""); } else { #if SIZEOF_VOID_P == 8 retval = fprintf(fp, "n%p = v%u * n%p + v%u' * n%p%s\n", #else retval = fprintf(fp, "n%p = v%hu * n%p + v%hu' * n%p%s\n", #endif (void *) id, f->index, (void *) idT, f->index, (void *) idE, Cudd_IsComplement(cuddE(f)) ? "'" : ""); } if (retval == EOF) { return(0); } else { return(1); } } /* end of ddDoDumpDDcal */ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_DumpFactoredForm.] Description [Performs the recursive step of Cudd_DumpFactoredForm. Traverses the BDD f and writes a factored form for each node to the file pointed by fp in terms of the factored forms of the children. Constants are propagated, and absorption is applied. f is assumed to be a regular pointer and ddDoDumpFActoredForm guarantees this assumption in the recursive calls.] SideEffects [None] SeeAlso [Cudd_DumpFactoredForm] ******************************************************************************/ static int ddDoDumpFactoredForm( DdManager * dd, DdNode * f, FILE * fp, char ** names) { DdNode *T, *E; int retval; #ifdef DD_DEBUG assert(!Cudd_IsComplement(f)); assert(!Cudd_IsConstant(f)); #endif /* Check for abnormal condition that should never happen. */ if (f == NULL) return(0); /* Recursive calls. */ T = cuddT(f); E = cuddE(f); if (T != DD_ZERO(dd)) { if (E != DD_ONE(dd)) { if (names != NULL) { retval = fprintf(fp, "%s", names[f->index]); } else { #if SIZEOF_VOID_P == 8 && SIZEOF_INT == 4 retval = fprintf(fp, "x%u", f->index); #else retval = fprintf(fp, "x%hu", f->index); #endif } if (retval == EOF) return(0); } if (T != DD_ONE(dd)) { retval = fprintf(fp, "%s(", E != DD_ONE(dd) ? " * " : ""); if (retval == EOF) return(0); retval = ddDoDumpFactoredForm(dd,T,fp,names); if (retval != 1) return(retval); retval = fprintf(fp, ")"); if (retval == EOF) return(0); } if (E == Cudd_Not(DD_ONE(dd)) || E == DD_ZERO(dd)) return(1); retval = fprintf(fp, " + "); if (retval == EOF) return(0); } E = Cudd_Regular(E); if (T != DD_ONE(dd)) { if (names != NULL) { retval = fprintf(fp, "!%s", names[f->index]); } else { #if SIZEOF_VOID_P == 8 && SIZEOF_INT == 4 retval = fprintf(fp, "!x%u", f->index); #else retval = fprintf(fp, "!x%hu", f->index); #endif } if (retval == EOF) return(0); } if (E != DD_ONE(dd)) { retval = fprintf(fp, "%s%s(", T != DD_ONE(dd) ? " * " : "", E != cuddE(f) ? "!" : ""); if (retval == EOF) return(0); retval = ddDoDumpFactoredForm(dd,E,fp,names); if (retval != 1) return(retval); retval = fprintf(fp, ")"); if (retval == EOF) return(0); } return(1); } /* end of ddDoDumpFactoredForm */ BRiAl-1.2.12/cudd/cuddGenCof.c000066400000000000000000001614321436062512100156210ustar00rootroot00000000000000/**CFile*********************************************************************** FileName [cuddGenCof.c] PackageName [cudd] Synopsis [Generalized cofactors for BDDs and ADDs.] Description [External procedures included in this module:
      • Cudd_bddConstrain()
      • Cudd_bddRestrict()
      • Cudd_bddNPAnd()
      • Cudd_addConstrain()
      • Cudd_bddConstrainDecomp()
      • Cudd_addRestrict()
      • Cudd_bddCharToVect()
      • Cudd_bddLICompaction()
      • Cudd_bddSqueeze()
      • Cudd_bddMinimize()
      • Cudd_SubsetCompress()
      • Cudd_SupersetCompress()
      Internal procedures included in this module:
      • cuddBddConstrainRecur()
      • cuddBddRestrictRecur()
      • cuddBddNPAndRecur()
      • cuddAddConstrainRecur()
      • cuddAddRestrictRecur()
      • cuddBddLICompaction()
      Static procedures included in this module:
      • cuddBddConstrainDecomp()
      • cuddBddCharToVect()
      • cuddBddLICMarkEdges()
      • cuddBddLICBuildResult()
      • MarkCacheHash()
      • MarkCacheCompare()
      • MarkCacheCleanUp()
      • cuddBddSqueeze()
      ] Author [Fabio Somenzi] Copyright [Copyright (c) 1995-2012, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.] ******************************************************************************/ #include "util.h" #include "cuddInt.h" /*---------------------------------------------------------------------------*/ /* Constant declarations */ /*---------------------------------------------------------------------------*/ /* Codes for edge markings in Cudd_bddLICompaction. The codes are defined ** so that they can be bitwise ORed to implement the code priority scheme. */ #define DD_LIC_DC 0 #define DD_LIC_1 1 #define DD_LIC_0 2 #define DD_LIC_NL 3 /*---------------------------------------------------------------------------*/ /* Stucture declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Type declarations */ /*---------------------------------------------------------------------------*/ /* Key for the cache used in the edge marking phase. */ typedef struct MarkCacheKey { DdNode *f; DdNode *c; } MarkCacheKey; /*---------------------------------------------------------------------------*/ /* Variable declarations */ /*---------------------------------------------------------------------------*/ #ifndef lint static char rcsid[] DD_UNUSED = "$Id: cuddGenCof.c,v 1.40 2012/02/05 01:07:18 fabio Exp $"; #endif /*---------------------------------------------------------------------------*/ /* Macro declarations */ /*---------------------------------------------------------------------------*/ #ifdef __cplusplus extern "C" { #endif /**AutomaticStart*************************************************************/ /*---------------------------------------------------------------------------*/ /* Static function prototypes */ /*---------------------------------------------------------------------------*/ static int cuddBddConstrainDecomp (DdManager *dd, DdNode *f, DdNode **decomp); static DdNode * cuddBddCharToVect (DdManager *dd, DdNode *f, DdNode *x); static int cuddBddLICMarkEdges (DdManager *dd, DdNode *f, DdNode *c, st_table *table, st_table *cache); static DdNode * cuddBddLICBuildResult (DdManager *dd, DdNode *f, st_table *cache, st_table *table); static int MarkCacheHash (char *ptr, int modulus); static int MarkCacheCompare (const char *ptr1, const char *ptr2); static enum st_retval MarkCacheCleanUp (char *key, char *value, char *arg); static DdNode * cuddBddSqueeze (DdManager *dd, DdNode *l, DdNode *u); /**AutomaticEnd***************************************************************/ #ifdef __cplusplus } #endif /*---------------------------------------------------------------------------*/ /* Definition of exported functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Computes f constrain c.] Description [Computes f constrain c (f @ c). Uses a canonical form: (f' @ c) = (f @ c)'. (Note: this is not true for c.) List of special cases:
      • f @ 0 = 0
      • f @ 1 = f
      • 0 @ c = 0
      • 1 @ c = 1
      • f @ f = 1
      • f @ f'= 0
      Returns a pointer to the result if successful; NULL otherwise. Note that if F=(f1,...,fn) and reordering takes place while computing F @ c, then the image restriction property (Img(F,c) = Img(F @ c)) is lost.] SideEffects [None] SeeAlso [Cudd_bddRestrict Cudd_addConstrain] ******************************************************************************/ DdNode * Cudd_bddConstrain( DdManager * dd, DdNode * f, DdNode * c) { DdNode *res; do { dd->reordered = 0; res = cuddBddConstrainRecur(dd,f,c); } while (dd->reordered == 1); return(res); } /* end of Cudd_bddConstrain */ /**Function******************************************************************** Synopsis [BDD restrict according to Coudert and Madre's algorithm (ICCAD90).] Description [BDD restrict according to Coudert and Madre's algorithm (ICCAD90). Returns the restricted BDD if successful; otherwise NULL. If application of restrict results in a BDD larger than the input BDD, the input BDD is returned.] SideEffects [None] SeeAlso [Cudd_bddConstrain Cudd_addRestrict] ******************************************************************************/ DdNode * Cudd_bddRestrict( DdManager * dd, DdNode * f, DdNode * c) { DdNode *suppF, *suppC, *commonSupport; DdNode *cplus, *res; int retval; int sizeF, sizeRes; /* Check terminal cases here to avoid computing supports in trivial cases. ** This also allows us notto check later for the case c == 0, in which ** there is no common support. */ if (c == Cudd_Not(DD_ONE(dd))) return(Cudd_Not(DD_ONE(dd))); if (Cudd_IsConstant(f)) return(f); if (f == c) return(DD_ONE(dd)); if (f == Cudd_Not(c)) return(Cudd_Not(DD_ONE(dd))); /* Check if supports intersect. */ retval = Cudd_ClassifySupport(dd,f,c,&commonSupport,&suppF,&suppC); if (retval == 0) { return(NULL); } cuddRef(commonSupport); cuddRef(suppF); cuddRef(suppC); Cudd_IterDerefBdd(dd,suppF); if (commonSupport == DD_ONE(dd)) { Cudd_IterDerefBdd(dd,commonSupport); Cudd_IterDerefBdd(dd,suppC); return(f); } Cudd_IterDerefBdd(dd,commonSupport); /* Abstract from c the variables that do not appear in f. */ cplus = Cudd_bddExistAbstract(dd, c, suppC); if (cplus == NULL) { Cudd_IterDerefBdd(dd,suppC); return(NULL); } cuddRef(cplus); Cudd_IterDerefBdd(dd,suppC); do { dd->reordered = 0; res = cuddBddRestrictRecur(dd, f, cplus); } while (dd->reordered == 1); if (res == NULL) { Cudd_IterDerefBdd(dd,cplus); return(NULL); } cuddRef(res); Cudd_IterDerefBdd(dd,cplus); /* Make restric safe by returning the smaller of the input and the ** result. */ sizeF = Cudd_DagSize(f); sizeRes = Cudd_DagSize(res); if (sizeF <= sizeRes) { Cudd_IterDerefBdd(dd, res); return(f); } else { cuddDeref(res); return(res); } } /* end of Cudd_bddRestrict */ /**Function******************************************************************** Synopsis [Computes f non-polluting-and g.] Description [Computes f non-polluting-and g. The non-polluting AND of f and g is a hybrid of AND and Restrict. From Restrict, this operation takes the idea of existentially quantifying the top variable of the second operand if it does not appear in the first. Therefore, the variables that appear in the result also appear in f. For the rest, the function behaves like AND. Since the two operands play different roles, non-polluting AND is not commutative. Returns a pointer to the result if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_bddConstrain Cudd_bddRestrict] ******************************************************************************/ DdNode * Cudd_bddNPAnd( DdManager * dd, DdNode * f, DdNode * g) { DdNode *res; do { dd->reordered = 0; res = cuddBddNPAndRecur(dd,f,g); } while (dd->reordered == 1); return(res); } /* end of Cudd_bddNPAnd */ /**Function******************************************************************** Synopsis [Computes f constrain c for ADDs.] Description [Computes f constrain c (f @ c), for f an ADD and c a 0-1 ADD. List of special cases:
      • F @ 0 = 0
      • F @ 1 = F
      • 0 @ c = 0
      • 1 @ c = 1
      • F @ F = 1
      Returns a pointer to the result if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_bddConstrain] ******************************************************************************/ DdNode * Cudd_addConstrain( DdManager * dd, DdNode * f, DdNode * c) { DdNode *res; do { dd->reordered = 0; res = cuddAddConstrainRecur(dd,f,c); } while (dd->reordered == 1); return(res); } /* end of Cudd_addConstrain */ /**Function******************************************************************** Synopsis [BDD conjunctive decomposition as in McMillan's CAV96 paper.] Description [BDD conjunctive decomposition as in McMillan's CAV96 paper. The decomposition is canonical only for a given variable order. If canonicity is required, variable ordering must be disabled after the decomposition has been computed. Returns an array with one entry for each BDD variable in the manager if successful; otherwise NULL. The components of the solution have their reference counts already incremented (unlike the results of most other functions in the package).] SideEffects [None] SeeAlso [Cudd_bddConstrain Cudd_bddExistAbstract] ******************************************************************************/ DdNode ** Cudd_bddConstrainDecomp( DdManager * dd, DdNode * f) { DdNode **decomp; int res; int i; /* Create an initialize decomposition array. */ decomp = ALLOC(DdNode *,dd->size); if (decomp == NULL) { dd->errorCode = CUDD_MEMORY_OUT; return(NULL); } for (i = 0; i < dd->size; i++) { decomp[i] = NULL; } do { dd->reordered = 0; /* Clean up the decomposition array in case reordering took place. */ for (i = 0; i < dd->size; i++) { if (decomp[i] != NULL) { Cudd_IterDerefBdd(dd, decomp[i]); decomp[i] = NULL; } } res = cuddBddConstrainDecomp(dd,f,decomp); } while (dd->reordered == 1); if (res == 0) { FREE(decomp); return(NULL); } /* Missing components are constant ones. */ for (i = 0; i < dd->size; i++) { if (decomp[i] == NULL) { decomp[i] = DD_ONE(dd); cuddRef(decomp[i]); } } return(decomp); } /* end of Cudd_bddConstrainDecomp */ /**Function******************************************************************** Synopsis [ADD restrict according to Coudert and Madre's algorithm (ICCAD90).] Description [ADD restrict according to Coudert and Madre's algorithm (ICCAD90). Returns the restricted ADD if successful; otherwise NULL. If application of restrict results in an ADD larger than the input ADD, the input ADD is returned.] SideEffects [None] SeeAlso [Cudd_addConstrain Cudd_bddRestrict] ******************************************************************************/ DdNode * Cudd_addRestrict( DdManager * dd, DdNode * f, DdNode * c) { DdNode *supp_f, *supp_c; DdNode *res, *commonSupport; int intersection; int sizeF, sizeRes; /* Check if supports intersect. */ supp_f = Cudd_Support(dd, f); if (supp_f == NULL) { return(NULL); } cuddRef(supp_f); supp_c = Cudd_Support(dd, c); if (supp_c == NULL) { Cudd_RecursiveDeref(dd,supp_f); return(NULL); } cuddRef(supp_c); commonSupport = Cudd_bddLiteralSetIntersection(dd, supp_f, supp_c); if (commonSupport == NULL) { Cudd_RecursiveDeref(dd,supp_f); Cudd_RecursiveDeref(dd,supp_c); return(NULL); } cuddRef(commonSupport); Cudd_RecursiveDeref(dd,supp_f); Cudd_RecursiveDeref(dd,supp_c); intersection = commonSupport != DD_ONE(dd); Cudd_RecursiveDeref(dd,commonSupport); if (intersection) { do { dd->reordered = 0; res = cuddAddRestrictRecur(dd, f, c); } while (dd->reordered == 1); sizeF = Cudd_DagSize(f); sizeRes = Cudd_DagSize(res); if (sizeF <= sizeRes) { cuddRef(res); Cudd_RecursiveDeref(dd, res); return(f); } else { return(res); } } else { return(f); } } /* end of Cudd_addRestrict */ /**Function******************************************************************** Synopsis [Computes a vector whose image equals a non-zero function.] Description [Computes a vector of BDDs whose image equals a non-zero function. The result depends on the variable order. The i-th component of the vector depends only on the first i variables in the order. Each BDD in the vector is not larger than the BDD of the given characteristic function. This function is based on the description of char-to-vect in "Verification of Sequential Machines Using Boolean Functional Vectors" by O. Coudert, C. Berthet and J. C. Madre. Returns a pointer to an array containing the result if successful; NULL otherwise. The size of the array equals the number of variables in the manager. The components of the solution have their reference counts already incremented (unlike the results of most other functions in the package).] SideEffects [None] SeeAlso [Cudd_bddConstrain] ******************************************************************************/ DdNode ** Cudd_bddCharToVect( DdManager * dd, DdNode * f) { int i, j; DdNode **vect; DdNode *res = NULL; if (f == Cudd_Not(DD_ONE(dd))) return(NULL); vect = ALLOC(DdNode *, dd->size); if (vect == NULL) { dd->errorCode = CUDD_MEMORY_OUT; return(NULL); } do { dd->reordered = 0; for (i = 0; i < dd->size; i++) { res = cuddBddCharToVect(dd,f,dd->vars[dd->invperm[i]]); if (res == NULL) { /* Clean up the vector array in case reordering took place. */ for (j = 0; j < i; j++) { Cudd_IterDerefBdd(dd, vect[dd->invperm[j]]); } break; } cuddRef(res); vect[dd->invperm[i]] = res; } } while (dd->reordered == 1); if (res == NULL) { FREE(vect); return(NULL); } return(vect); } /* end of Cudd_bddCharToVect */ /**Function******************************************************************** Synopsis [Performs safe minimization of a BDD.] Description [Performs safe minimization of a BDD. Given the BDD f of a function to be minimized and a BDD c representing the care set, Cudd_bddLICompaction produces the BDD of a function that agrees with f wherever c is 1. Safe minimization means that the size of the result is guaranteed not to exceed the size of f. This function is based on the DAC97 paper by Hong et al.. Returns a pointer to the result if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_bddRestrict] ******************************************************************************/ DdNode * Cudd_bddLICompaction( DdManager * dd /* manager */, DdNode * f /* function to be minimized */, DdNode * c /* constraint (care set) */) { DdNode *res; do { dd->reordered = 0; res = cuddBddLICompaction(dd,f,c); } while (dd->reordered == 1); return(res); } /* end of Cudd_bddLICompaction */ /**Function******************************************************************** Synopsis [Finds a small BDD in a function interval.] Description [Finds a small BDD in a function interval. Given BDDs l and u, representing the lower bound and upper bound of a function interval, Cudd_bddSqueeze produces the BDD of a function within the interval with a small BDD. Returns a pointer to the result if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_bddRestrict Cudd_bddLICompaction] ******************************************************************************/ DdNode * Cudd_bddSqueeze( DdManager * dd /* manager */, DdNode * l /* lower bound */, DdNode * u /* upper bound */) { DdNode *res; int sizeRes, sizeL, sizeU; do { dd->reordered = 0; res = cuddBddSqueeze(dd,l,u); } while (dd->reordered == 1); if (res == NULL) return(NULL); /* We now compare the result with the bounds and return the smallest. ** We first compare to u, so that in case l == 0 and u == 1, we return ** 0 as in other minimization algorithms. */ sizeRes = Cudd_DagSize(res); sizeU = Cudd_DagSize(u); if (sizeU <= sizeRes) { cuddRef(res); Cudd_IterDerefBdd(dd,res); res = u; sizeRes = sizeU; } sizeL = Cudd_DagSize(l); if (sizeL <= sizeRes) { cuddRef(res); Cudd_IterDerefBdd(dd,res); res = l; sizeRes = sizeL; } return(res); } /* end of Cudd_bddSqueeze */ /**Function******************************************************************** Synopsis [Finds a small BDD that agrees with f over c.] Description [Finds a small BDD that agrees with f over c. Returns a pointer to the result if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_bddRestrict Cudd_bddLICompaction Cudd_bddSqueeze] ******************************************************************************/ DdNode * Cudd_bddMinimize( DdManager * dd, DdNode * f, DdNode * c) { DdNode *cplus, *res; if (c == Cudd_Not(DD_ONE(dd))) return(c); if (Cudd_IsConstant(f)) return(f); if (f == c) return(DD_ONE(dd)); if (f == Cudd_Not(c)) return(Cudd_Not(DD_ONE(dd))); cplus = Cudd_RemapOverApprox(dd,c,0,0,1.0); if (cplus == NULL) return(NULL); cuddRef(cplus); res = Cudd_bddLICompaction(dd,f,cplus); if (res == NULL) { Cudd_IterDerefBdd(dd,cplus); return(NULL); } cuddRef(res); Cudd_IterDerefBdd(dd,cplus); cuddDeref(res); return(res); } /* end of Cudd_bddMinimize */ /**Function******************************************************************** Synopsis [Find a dense subset of BDD f.] Description [Finds a dense subset of BDD f. Density is the ratio of number of minterms to number of nodes. Uses several techniques in series. It is more expensive than other subsetting procedures, but often produces better results. See Cudd_SubsetShortPaths for a description of the threshold and nvars parameters. Returns a pointer to the result if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_RemapUnderApprox Cudd_SubsetShortPaths Cudd_SubsetHeavyBranch Cudd_bddSqueeze] ******************************************************************************/ DdNode * Cudd_SubsetCompress( DdManager * dd /* manager */, DdNode * f /* BDD whose subset is sought */, int nvars /* number of variables in the support of f */, int threshold /* maximum number of nodes in the subset */) { DdNode *res, *tmp1, *tmp2; tmp1 = Cudd_SubsetShortPaths(dd, f, nvars, threshold, 0); if (tmp1 == NULL) return(NULL); cuddRef(tmp1); tmp2 = Cudd_RemapUnderApprox(dd,tmp1,nvars,0,0.95); if (tmp2 == NULL) { Cudd_IterDerefBdd(dd,tmp1); return(NULL); } cuddRef(tmp2); Cudd_IterDerefBdd(dd,tmp1); res = Cudd_bddSqueeze(dd,tmp2,f); if (res == NULL) { Cudd_IterDerefBdd(dd,tmp2); return(NULL); } cuddRef(res); Cudd_IterDerefBdd(dd,tmp2); cuddDeref(res); return(res); } /* end of Cudd_SubsetCompress */ /**Function******************************************************************** Synopsis [Find a dense superset of BDD f.] Description [Finds a dense superset of BDD f. Density is the ratio of number of minterms to number of nodes. Uses several techniques in series. It is more expensive than other supersetting procedures, but often produces better results. See Cudd_SupersetShortPaths for a description of the threshold and nvars parameters. Returns a pointer to the result if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_SubsetCompress Cudd_SupersetRemap Cudd_SupersetShortPaths Cudd_SupersetHeavyBranch Cudd_bddSqueeze] ******************************************************************************/ DdNode * Cudd_SupersetCompress( DdManager * dd /* manager */, DdNode * f /* BDD whose superset is sought */, int nvars /* number of variables in the support of f */, int threshold /* maximum number of nodes in the superset */) { DdNode *subset; subset = Cudd_SubsetCompress(dd, Cudd_Not(f),nvars,threshold); return(Cudd_NotCond(subset, (subset != NULL))); } /* end of Cudd_SupersetCompress */ /*---------------------------------------------------------------------------*/ /* Definition of internal functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_bddConstrain.] Description [Performs the recursive step of Cudd_bddConstrain. Returns a pointer to the result if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_bddConstrain] ******************************************************************************/ DdNode * cuddBddConstrainRecur( DdManager * dd, DdNode * f, DdNode * c) { DdNode *Fv, *Fnv, *Cv, *Cnv, *t, *e, *r; DdNode *one, *zero; unsigned int topf, topc; int index; int comple = 0; statLine(dd); one = DD_ONE(dd); zero = Cudd_Not(one); /* Trivial cases. */ if (c == one) return(f); if (c == zero) return(zero); if (Cudd_IsConstant(f)) return(f); if (f == c) return(one); if (f == Cudd_Not(c)) return(zero); /* Make canonical to increase the utilization of the cache. */ if (Cudd_IsComplement(f)) { f = Cudd_Not(f); comple = 1; } /* Now f is a regular pointer to a non-constant node; c is also ** non-constant, but may be complemented. */ /* Check the cache. */ r = cuddCacheLookup2(dd, Cudd_bddConstrain, f, c); if (r != NULL) { return(Cudd_NotCond(r,comple)); } /* Recursive step. */ topf = dd->perm[f->index]; topc = dd->perm[Cudd_Regular(c)->index]; if (topf <= topc) { index = f->index; Fv = cuddT(f); Fnv = cuddE(f); } else { index = Cudd_Regular(c)->index; Fv = Fnv = f; } if (topc <= topf) { Cv = cuddT(Cudd_Regular(c)); Cnv = cuddE(Cudd_Regular(c)); if (Cudd_IsComplement(c)) { Cv = Cudd_Not(Cv); Cnv = Cudd_Not(Cnv); } } else { Cv = Cnv = c; } if (!Cudd_IsConstant(Cv)) { t = cuddBddConstrainRecur(dd, Fv, Cv); if (t == NULL) return(NULL); } else if (Cv == one) { t = Fv; } else { /* Cv == zero: return Fnv @ Cnv */ if (Cnv == one) { r = Fnv; } else { r = cuddBddConstrainRecur(dd, Fnv, Cnv); if (r == NULL) return(NULL); } return(Cudd_NotCond(r,comple)); } cuddRef(t); if (!Cudd_IsConstant(Cnv)) { e = cuddBddConstrainRecur(dd, Fnv, Cnv); if (e == NULL) { Cudd_IterDerefBdd(dd, t); return(NULL); } } else if (Cnv == one) { e = Fnv; } else { /* Cnv == zero: return Fv @ Cv previously computed */ cuddDeref(t); return(Cudd_NotCond(t,comple)); } cuddRef(e); if (Cudd_IsComplement(t)) { t = Cudd_Not(t); e = Cudd_Not(e); r = (t == e) ? t : cuddUniqueInter(dd, index, t, e); if (r == NULL) { Cudd_IterDerefBdd(dd, e); Cudd_IterDerefBdd(dd, t); return(NULL); } r = Cudd_Not(r); } else { r = (t == e) ? t : cuddUniqueInter(dd, index, t, e); if (r == NULL) { Cudd_IterDerefBdd(dd, e); Cudd_IterDerefBdd(dd, t); return(NULL); } } cuddDeref(t); cuddDeref(e); cuddCacheInsert2(dd, Cudd_bddConstrain, f, c, r); return(Cudd_NotCond(r,comple)); } /* end of cuddBddConstrainRecur */ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_bddRestrict.] Description [Performs the recursive step of Cudd_bddRestrict. Returns the restricted BDD if successful; otherwise NULL.] SideEffects [None] SeeAlso [Cudd_bddRestrict] ******************************************************************************/ DdNode * cuddBddRestrictRecur( DdManager * dd, DdNode * f, DdNode * c) { DdNode *Fv, *Fnv, *Cv, *Cnv, *t, *e, *r, *one, *zero; unsigned int topf, topc; int index; int comple = 0; statLine(dd); one = DD_ONE(dd); zero = Cudd_Not(one); /* Trivial cases */ if (c == one) return(f); if (c == zero) return(zero); if (Cudd_IsConstant(f)) return(f); if (f == c) return(one); if (f == Cudd_Not(c)) return(zero); /* Make canonical to increase the utilization of the cache. */ if (Cudd_IsComplement(f)) { f = Cudd_Not(f); comple = 1; } /* Now f is a regular pointer to a non-constant node; c is also ** non-constant, but may be complemented. */ /* Check the cache. */ r = cuddCacheLookup2(dd, Cudd_bddRestrict, f, c); if (r != NULL) { return(Cudd_NotCond(r,comple)); } topf = dd->perm[f->index]; topc = dd->perm[Cudd_Regular(c)->index]; if (topc < topf) { /* abstract top variable from c */ DdNode *d, *s1, *s2; /* Find complements of cofactors of c. */ if (Cudd_IsComplement(c)) { s1 = cuddT(Cudd_Regular(c)); s2 = cuddE(Cudd_Regular(c)); } else { s1 = Cudd_Not(cuddT(c)); s2 = Cudd_Not(cuddE(c)); } /* Take the OR by applying DeMorgan. */ d = cuddBddAndRecur(dd, s1, s2); if (d == NULL) return(NULL); d = Cudd_Not(d); cuddRef(d); r = cuddBddRestrictRecur(dd, f, d); if (r == NULL) { Cudd_IterDerefBdd(dd, d); return(NULL); } cuddRef(r); Cudd_IterDerefBdd(dd, d); cuddCacheInsert2(dd, Cudd_bddRestrict, f, c, r); cuddDeref(r); return(Cudd_NotCond(r,comple)); } /* Recursive step. Here topf <= topc. */ index = f->index; Fv = cuddT(f); Fnv = cuddE(f); if (topc == topf) { Cv = cuddT(Cudd_Regular(c)); Cnv = cuddE(Cudd_Regular(c)); if (Cudd_IsComplement(c)) { Cv = Cudd_Not(Cv); Cnv = Cudd_Not(Cnv); } } else { Cv = Cnv = c; } if (!Cudd_IsConstant(Cv)) { t = cuddBddRestrictRecur(dd, Fv, Cv); if (t == NULL) return(NULL); } else if (Cv == one) { t = Fv; } else { /* Cv == zero: return(Fnv @ Cnv) */ if (Cnv == one) { r = Fnv; } else { r = cuddBddRestrictRecur(dd, Fnv, Cnv); if (r == NULL) return(NULL); } return(Cudd_NotCond(r,comple)); } cuddRef(t); if (!Cudd_IsConstant(Cnv)) { e = cuddBddRestrictRecur(dd, Fnv, Cnv); if (e == NULL) { Cudd_IterDerefBdd(dd, t); return(NULL); } } else if (Cnv == one) { e = Fnv; } else { /* Cnv == zero: return (Fv @ Cv) previously computed */ cuddDeref(t); return(Cudd_NotCond(t,comple)); } cuddRef(e); if (Cudd_IsComplement(t)) { t = Cudd_Not(t); e = Cudd_Not(e); r = (t == e) ? t : cuddUniqueInter(dd, index, t, e); if (r == NULL) { Cudd_IterDerefBdd(dd, e); Cudd_IterDerefBdd(dd, t); return(NULL); } r = Cudd_Not(r); } else { r = (t == e) ? t : cuddUniqueInter(dd, index, t, e); if (r == NULL) { Cudd_IterDerefBdd(dd, e); Cudd_IterDerefBdd(dd, t); return(NULL); } } cuddDeref(t); cuddDeref(e); cuddCacheInsert2(dd, Cudd_bddRestrict, f, c, r); return(Cudd_NotCond(r,comple)); } /* end of cuddBddRestrictRecur */ /**Function******************************************************************** Synopsis [Implements the recursive step of Cudd_bddAnd.] Description [Implements the recursive step of Cudd_bddNPAnd. Returns a pointer to the result is successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_bddNPAnd] ******************************************************************************/ DdNode * cuddBddNPAndRecur( DdManager * manager, DdNode * f, DdNode * g) { DdNode *F, *ft, *fe, *G, *gt, *ge; DdNode *one, *r, *t, *e; unsigned int topf, topg, index; statLine(manager); one = DD_ONE(manager); /* Terminal cases. */ F = Cudd_Regular(f); G = Cudd_Regular(g); if (F == G) { if (f == g) return(one); else return(Cudd_Not(one)); } if (G == one) { if (g == one) return(f); else return(g); } if (F == one) { return(f); } /* At this point f and g are not constant. */ /* Check cache. */ if (F->ref != 1 || G->ref != 1) { r = cuddCacheLookup2(manager, Cudd_bddNPAnd, f, g); if (r != NULL) return(r); } /* Here we can skip the use of cuddI, because the operands are known ** to be non-constant. */ topf = manager->perm[F->index]; topg = manager->perm[G->index]; if (topg < topf) { /* abstract top variable from g */ DdNode *d; /* Find complements of cofactors of g. */ if (Cudd_IsComplement(g)) { gt = cuddT(G); ge = cuddE(G); } else { gt = Cudd_Not(cuddT(g)); ge = Cudd_Not(cuddE(g)); } /* Take the OR by applying DeMorgan. */ d = cuddBddAndRecur(manager, gt, ge); if (d == NULL) return(NULL); d = Cudd_Not(d); cuddRef(d); r = cuddBddNPAndRecur(manager, f, d); if (r == NULL) { Cudd_IterDerefBdd(manager, d); return(NULL); } cuddRef(r); Cudd_IterDerefBdd(manager, d); cuddCacheInsert2(manager, Cudd_bddNPAnd, f, g, r); cuddDeref(r); return(r); } /* Compute cofactors. */ index = F->index; ft = cuddT(F); fe = cuddE(F); if (Cudd_IsComplement(f)) { ft = Cudd_Not(ft); fe = Cudd_Not(fe); } if (topg == topf) { gt = cuddT(G); ge = cuddE(G); if (Cudd_IsComplement(g)) { gt = Cudd_Not(gt); ge = Cudd_Not(ge); } } else { gt = ge = g; } t = cuddBddAndRecur(manager, ft, gt); if (t == NULL) return(NULL); cuddRef(t); e = cuddBddAndRecur(manager, fe, ge); if (e == NULL) { Cudd_IterDerefBdd(manager, t); return(NULL); } cuddRef(e); if (t == e) { r = t; } else { if (Cudd_IsComplement(t)) { r = cuddUniqueInter(manager,(int)index,Cudd_Not(t),Cudd_Not(e)); if (r == NULL) { Cudd_IterDerefBdd(manager, t); Cudd_IterDerefBdd(manager, e); return(NULL); } r = Cudd_Not(r); } else { r = cuddUniqueInter(manager,(int)index,t,e); if (r == NULL) { Cudd_IterDerefBdd(manager, t); Cudd_IterDerefBdd(manager, e); return(NULL); } } } cuddDeref(e); cuddDeref(t); if (F->ref != 1 || G->ref != 1) cuddCacheInsert2(manager, Cudd_bddNPAnd, f, g, r); return(r); } /* end of cuddBddNPAndRecur */ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_addConstrain.] Description [Performs the recursive step of Cudd_addConstrain. Returns a pointer to the result if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_addConstrain] ******************************************************************************/ DdNode * cuddAddConstrainRecur( DdManager * dd, DdNode * f, DdNode * c) { DdNode *Fv, *Fnv, *Cv, *Cnv, *t, *e, *r; DdNode *one, *zero; unsigned int topf, topc; int index; statLine(dd); one = DD_ONE(dd); zero = DD_ZERO(dd); /* Trivial cases. */ if (c == one) return(f); if (c == zero) return(zero); if (Cudd_IsConstant(f)) return(f); if (f == c) return(one); /* Now f and c are non-constant. */ /* Check the cache. */ r = cuddCacheLookup2(dd, Cudd_addConstrain, f, c); if (r != NULL) { return(r); } /* Recursive step. */ topf = dd->perm[f->index]; topc = dd->perm[c->index]; if (topf <= topc) { index = f->index; Fv = cuddT(f); Fnv = cuddE(f); } else { index = c->index; Fv = Fnv = f; } if (topc <= topf) { Cv = cuddT(c); Cnv = cuddE(c); } else { Cv = Cnv = c; } if (!Cudd_IsConstant(Cv)) { t = cuddAddConstrainRecur(dd, Fv, Cv); if (t == NULL) return(NULL); } else if (Cv == one) { t = Fv; } else { /* Cv == zero: return Fnv @ Cnv */ if (Cnv == one) { r = Fnv; } else { r = cuddAddConstrainRecur(dd, Fnv, Cnv); if (r == NULL) return(NULL); } return(r); } cuddRef(t); if (!Cudd_IsConstant(Cnv)) { e = cuddAddConstrainRecur(dd, Fnv, Cnv); if (e == NULL) { Cudd_RecursiveDeref(dd, t); return(NULL); } } else if (Cnv == one) { e = Fnv; } else { /* Cnv == zero: return Fv @ Cv previously computed */ cuddDeref(t); return(t); } cuddRef(e); r = (t == e) ? t : cuddUniqueInter(dd, index, t, e); if (r == NULL) { Cudd_RecursiveDeref(dd, e); Cudd_RecursiveDeref(dd, t); return(NULL); } cuddDeref(t); cuddDeref(e); cuddCacheInsert2(dd, Cudd_addConstrain, f, c, r); return(r); } /* end of cuddAddConstrainRecur */ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_addRestrict.] Description [Performs the recursive step of Cudd_addRestrict. Returns the restricted ADD if successful; otherwise NULL.] SideEffects [None] SeeAlso [Cudd_addRestrict] ******************************************************************************/ DdNode * cuddAddRestrictRecur( DdManager * dd, DdNode * f, DdNode * c) { DdNode *Fv, *Fnv, *Cv, *Cnv, *t, *e, *r, *one, *zero; unsigned int topf, topc; int index; statLine(dd); one = DD_ONE(dd); zero = DD_ZERO(dd); /* Trivial cases */ if (c == one) return(f); if (c == zero) return(zero); if (Cudd_IsConstant(f)) return(f); if (f == c) return(one); /* Now f and c are non-constant. */ /* Check the cache. */ r = cuddCacheLookup2(dd, Cudd_addRestrict, f, c); if (r != NULL) { return(r); } topf = dd->perm[f->index]; topc = dd->perm[c->index]; if (topc < topf) { /* abstract top variable from c */ DdNode *d, *s1, *s2; /* Find cofactors of c. */ s1 = cuddT(c); s2 = cuddE(c); /* Take the OR by applying DeMorgan. */ d = cuddAddApplyRecur(dd, Cudd_addOr, s1, s2); if (d == NULL) return(NULL); cuddRef(d); r = cuddAddRestrictRecur(dd, f, d); if (r == NULL) { Cudd_RecursiveDeref(dd, d); return(NULL); } cuddRef(r); Cudd_RecursiveDeref(dd, d); cuddCacheInsert2(dd, Cudd_addRestrict, f, c, r); cuddDeref(r); return(r); } /* Recursive step. Here topf <= topc. */ index = f->index; Fv = cuddT(f); Fnv = cuddE(f); if (topc == topf) { Cv = cuddT(c); Cnv = cuddE(c); } else { Cv = Cnv = c; } if (!Cudd_IsConstant(Cv)) { t = cuddAddRestrictRecur(dd, Fv, Cv); if (t == NULL) return(NULL); } else if (Cv == one) { t = Fv; } else { /* Cv == zero: return(Fnv @ Cnv) */ if (Cnv == one) { r = Fnv; } else { r = cuddAddRestrictRecur(dd, Fnv, Cnv); if (r == NULL) return(NULL); } return(r); } cuddRef(t); if (!Cudd_IsConstant(Cnv)) { e = cuddAddRestrictRecur(dd, Fnv, Cnv); if (e == NULL) { Cudd_RecursiveDeref(dd, t); return(NULL); } } else if (Cnv == one) { e = Fnv; } else { /* Cnv == zero: return (Fv @ Cv) previously computed */ cuddDeref(t); return(t); } cuddRef(e); r = (t == e) ? t : cuddUniqueInter(dd, index, t, e); if (r == NULL) { Cudd_RecursiveDeref(dd, e); Cudd_RecursiveDeref(dd, t); return(NULL); } cuddDeref(t); cuddDeref(e); cuddCacheInsert2(dd, Cudd_addRestrict, f, c, r); return(r); } /* end of cuddAddRestrictRecur */ /**Function******************************************************************** Synopsis [Performs safe minimization of a BDD.] Description [Performs safe minimization of a BDD. Given the BDD f of a function to be minimized and a BDD c representing the care set, Cudd_bddLICompaction produces the BDD of a function that agrees with f wherever c is 1. Safe minimization means that the size of the result is guaranteed not to exceed the size of f. This function is based on the DAC97 paper by Hong et al.. Returns a pointer to the result if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_bddLICompaction] ******************************************************************************/ DdNode * cuddBddLICompaction( DdManager * dd /* manager */, DdNode * f /* function to be minimized */, DdNode * c /* constraint (care set) */) { st_table *marktable, *markcache, *buildcache; DdNode *res, *zero; zero = Cudd_Not(DD_ONE(dd)); if (c == zero) return(zero); /* We need to use local caches for both steps of this operation. ** The results of the edge marking step are only valid as long as the ** edge markings themselves are available. However, the edge markings ** are lost at the end of one invocation of Cudd_bddLICompaction. ** Hence, the cache entries for the edge marking step must be ** invalidated at the end of this function. ** For the result of the building step we argue as follows. The result ** for a node and a given constrain depends on the BDD in which the node ** appears. Hence, the same node and constrain may give different results ** in successive invocations. */ marktable = st_init_table(st_ptrcmp,st_ptrhash); if (marktable == NULL) { return(NULL); } markcache = st_init_table(MarkCacheCompare,MarkCacheHash); if (markcache == NULL) { st_free_table(marktable); return(NULL); } if (cuddBddLICMarkEdges(dd,f,c,marktable,markcache) == CUDD_OUT_OF_MEM) { st_foreach(markcache, MarkCacheCleanUp, NULL); st_free_table(marktable); st_free_table(markcache); return(NULL); } st_foreach(markcache, MarkCacheCleanUp, NULL); st_free_table(markcache); buildcache = st_init_table(st_ptrcmp,st_ptrhash); if (buildcache == NULL) { st_free_table(marktable); return(NULL); } res = cuddBddLICBuildResult(dd,f,buildcache,marktable); st_free_table(buildcache); st_free_table(marktable); return(res); } /* end of cuddBddLICompaction */ /*---------------------------------------------------------------------------*/ /* Definition of static functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_bddConstrainDecomp.] Description [Performs the recursive step of Cudd_bddConstrainDecomp. Returns f super (i) if successful; otherwise NULL.] SideEffects [None] SeeAlso [Cudd_bddConstrainDecomp] ******************************************************************************/ static int cuddBddConstrainDecomp( DdManager * dd, DdNode * f, DdNode ** decomp) { DdNode *F, *fv, *fvn; DdNode *fAbs; DdNode *result; int ok; if (Cudd_IsConstant(f)) return(1); /* Compute complements of cofactors. */ F = Cudd_Regular(f); fv = cuddT(F); fvn = cuddE(F); if (F == f) { fv = Cudd_Not(fv); fvn = Cudd_Not(fvn); } /* Compute abstraction of top variable. */ fAbs = cuddBddAndRecur(dd, fv, fvn); if (fAbs == NULL) { return(0); } cuddRef(fAbs); fAbs = Cudd_Not(fAbs); /* Recursively find the next abstraction and the components of the ** decomposition. */ ok = cuddBddConstrainDecomp(dd, fAbs, decomp); if (ok == 0) { Cudd_IterDerefBdd(dd,fAbs); return(0); } /* Compute the component of the decomposition corresponding to the ** top variable and store it in the decomposition array. */ result = cuddBddConstrainRecur(dd, f, fAbs); if (result == NULL) { Cudd_IterDerefBdd(dd,fAbs); return(0); } cuddRef(result); decomp[F->index] = result; Cudd_IterDerefBdd(dd, fAbs); return(1); } /* end of cuddBddConstrainDecomp */ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_bddCharToVect.] Description [Performs the recursive step of Cudd_bddCharToVect. This function maintains the invariant that f is non-zero. Returns the i-th component of the vector if successful; otherwise NULL.] SideEffects [None] SeeAlso [Cudd_bddCharToVect] ******************************************************************************/ static DdNode * cuddBddCharToVect( DdManager * dd, DdNode * f, DdNode * x) { unsigned int topf; unsigned int level; int comple; DdNode *one, *zero, *res, *F, *fT, *fE, *T, *E; statLine(dd); /* Check the cache. */ res = cuddCacheLookup2(dd, cuddBddCharToVect, f, x); if (res != NULL) { return(res); } F = Cudd_Regular(f); topf = cuddI(dd,F->index); level = dd->perm[x->index]; if (topf > level) return(x); one = DD_ONE(dd); zero = Cudd_Not(one); comple = F != f; fT = Cudd_NotCond(cuddT(F),comple); fE = Cudd_NotCond(cuddE(F),comple); if (topf == level) { if (fT == zero) return(zero); if (fE == zero) return(one); return(x); } /* Here topf < level. */ if (fT == zero) return(cuddBddCharToVect(dd, fE, x)); if (fE == zero) return(cuddBddCharToVect(dd, fT, x)); T = cuddBddCharToVect(dd, fT, x); if (T == NULL) { return(NULL); } cuddRef(T); E = cuddBddCharToVect(dd, fE, x); if (E == NULL) { Cudd_IterDerefBdd(dd,T); return(NULL); } cuddRef(E); res = cuddBddIteRecur(dd, dd->vars[F->index], T, E); if (res == NULL) { Cudd_IterDerefBdd(dd,T); Cudd_IterDerefBdd(dd,E); return(NULL); } cuddDeref(T); cuddDeref(E); cuddCacheInsert2(dd, cuddBddCharToVect, f, x, res); return(res); } /* end of cuddBddCharToVect */ /**Function******************************************************************** Synopsis [Performs the edge marking step of Cudd_bddLICompaction.] Description [Performs the edge marking step of Cudd_bddLICompaction. Returns the LUB of the markings of the two outgoing edges of f if successful; otherwise CUDD_OUT_OF_MEM.] SideEffects [None] SeeAlso [Cudd_bddLICompaction cuddBddLICBuildResult] ******************************************************************************/ static int cuddBddLICMarkEdges( DdManager * dd, DdNode * f, DdNode * c, st_table * table, st_table * cache) { DdNode *Fv, *Fnv, *Cv, *Cnv; DdNode *one, *zero; unsigned int topf, topc; int comple; int resT, resE, res, retval; char **slot; MarkCacheKey *key; one = DD_ONE(dd); zero = Cudd_Not(one); /* Terminal cases. */ if (c == zero) return(DD_LIC_DC); if (f == one) return(DD_LIC_1); if (f == zero) return(DD_LIC_0); /* Make canonical to increase the utilization of the cache. */ comple = Cudd_IsComplement(f); f = Cudd_Regular(f); /* Now f is a regular pointer to a non-constant node; c may be ** constant, or it may be complemented. */ /* Check the cache. */ key = ALLOC(MarkCacheKey, 1); if (key == NULL) { dd->errorCode = CUDD_MEMORY_OUT; return(CUDD_OUT_OF_MEM); } key->f = f; key->c = c; if (st_lookup_int(cache, (char *)key, &res)) { FREE(key); if (comple) { if (res == DD_LIC_0) res = DD_LIC_1; else if (res == DD_LIC_1) res = DD_LIC_0; } return(res); } /* Recursive step. */ topf = dd->perm[f->index]; topc = cuddI(dd,Cudd_Regular(c)->index); if (topf <= topc) { Fv = cuddT(f); Fnv = cuddE(f); } else { Fv = Fnv = f; } if (topc <= topf) { /* We know that c is not constant because f is not. */ Cv = cuddT(Cudd_Regular(c)); Cnv = cuddE(Cudd_Regular(c)); if (Cudd_IsComplement(c)) { Cv = Cudd_Not(Cv); Cnv = Cudd_Not(Cnv); } } else { Cv = Cnv = c; } resT = cuddBddLICMarkEdges(dd, Fv, Cv, table, cache); if (resT == CUDD_OUT_OF_MEM) { FREE(key); return(CUDD_OUT_OF_MEM); } resE = cuddBddLICMarkEdges(dd, Fnv, Cnv, table, cache); if (resE == CUDD_OUT_OF_MEM) { FREE(key); return(CUDD_OUT_OF_MEM); } /* Update edge markings. */ if (topf <= topc) { retval = st_find_or_add(table, (char *)f, (char ***)&slot); if (retval == 0) { *slot = (char *) (ptrint)((resT << 2) | resE); } else if (retval == 1) { *slot = (char *) (ptrint)((int)((ptrint) *slot) | (resT << 2) | resE); } else { FREE(key); return(CUDD_OUT_OF_MEM); } } /* Cache result. */ res = resT | resE; if (st_insert(cache, (char *)key, (char *)(ptrint)res) == ST_OUT_OF_MEM) { FREE(key); return(CUDD_OUT_OF_MEM); } /* Take into account possible complementation. */ if (comple) { if (res == DD_LIC_0) res = DD_LIC_1; else if (res == DD_LIC_1) res = DD_LIC_0; } return(res); } /* end of cuddBddLICMarkEdges */ /**Function******************************************************************** Synopsis [Builds the result of Cudd_bddLICompaction.] Description [Builds the results of Cudd_bddLICompaction. Returns a pointer to the minimized BDD if successful; otherwise NULL.] SideEffects [None] SeeAlso [Cudd_bddLICompaction cuddBddLICMarkEdges] ******************************************************************************/ static DdNode * cuddBddLICBuildResult( DdManager * dd, DdNode * f, st_table * cache, st_table * table) { DdNode *Fv, *Fnv, *r, *t, *e; DdNode *one, *zero; int index; int comple; int markT, markE, markings; one = DD_ONE(dd); zero = Cudd_Not(one); if (Cudd_IsConstant(f)) return(f); /* Make canonical to increase the utilization of the cache. */ comple = Cudd_IsComplement(f); f = Cudd_Regular(f); /* Check the cache. */ if (st_lookup(cache, f, &r)) { return(Cudd_NotCond(r,comple)); } /* Retrieve the edge markings. */ if (st_lookup_int(table, (char *)f, &markings) == 0) return(NULL); markT = markings >> 2; markE = markings & 3; index = f->index; Fv = cuddT(f); Fnv = cuddE(f); if (markT == DD_LIC_NL) { t = cuddBddLICBuildResult(dd,Fv,cache,table); if (t == NULL) { return(NULL); } } else if (markT == DD_LIC_1) { t = one; } else { t = zero; } cuddRef(t); if (markE == DD_LIC_NL) { e = cuddBddLICBuildResult(dd,Fnv,cache,table); if (e == NULL) { Cudd_IterDerefBdd(dd,t); return(NULL); } } else if (markE == DD_LIC_1) { e = one; } else { e = zero; } cuddRef(e); if (markT == DD_LIC_DC && markE != DD_LIC_DC) { r = e; } else if (markT != DD_LIC_DC && markE == DD_LIC_DC) { r = t; } else { if (Cudd_IsComplement(t)) { t = Cudd_Not(t); e = Cudd_Not(e); r = (t == e) ? t : cuddUniqueInter(dd, index, t, e); if (r == NULL) { Cudd_IterDerefBdd(dd, e); Cudd_IterDerefBdd(dd, t); return(NULL); } r = Cudd_Not(r); } else { r = (t == e) ? t : cuddUniqueInter(dd, index, t, e); if (r == NULL) { Cudd_IterDerefBdd(dd, e); Cudd_IterDerefBdd(dd, t); return(NULL); } } } cuddDeref(t); cuddDeref(e); if (st_insert(cache, (char *)f, (char *)r) == ST_OUT_OF_MEM) { cuddRef(r); Cudd_IterDerefBdd(dd,r); return(NULL); } return(Cudd_NotCond(r,comple)); } /* end of cuddBddLICBuildResult */ /**Function******************************************************************** Synopsis [Hash function for the computed table of cuddBddLICMarkEdges.] Description [Hash function for the computed table of cuddBddLICMarkEdges. Returns the bucket number.] SideEffects [None] SeeAlso [Cudd_bddLICompaction] ******************************************************************************/ static int MarkCacheHash( char * ptr, int modulus) { int val = 0; MarkCacheKey *entry; entry = (MarkCacheKey *) ptr; val = (int) (ptrint) entry->f; val = val * 997 + (int) (ptrint) entry->c; return ((val < 0) ? -val : val) % modulus; } /* end of MarkCacheHash */ /**Function******************************************************************** Synopsis [Comparison function for the computed table of cuddBddLICMarkEdges.] Description [Comparison function for the computed table of cuddBddLICMarkEdges. Returns 0 if the two nodes of the key are equal; 1 otherwise.] SideEffects [None] SeeAlso [Cudd_bddLICompaction] ******************************************************************************/ static int MarkCacheCompare( const char * ptr1, const char * ptr2) { MarkCacheKey *entry1, *entry2; entry1 = (MarkCacheKey *) ptr1; entry2 = (MarkCacheKey *) ptr2; return((entry1->f != entry2->f) || (entry1->c != entry2->c)); } /* end of MarkCacheCompare */ /**Function******************************************************************** Synopsis [Frees memory associated with computed table of cuddBddLICMarkEdges.] Description [Frees memory associated with computed table of cuddBddLICMarkEdges. Returns ST_CONTINUE.] SideEffects [None] SeeAlso [Cudd_bddLICompaction] ******************************************************************************/ static enum st_retval MarkCacheCleanUp( char * key, char * value, char * arg) { MarkCacheKey *entry; entry = (MarkCacheKey *) key; FREE(entry); return ST_CONTINUE; } /* end of MarkCacheCleanUp */ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_bddSqueeze.] Description [Performs the recursive step of Cudd_bddSqueeze. This procedure exploits the fact that if we complement and swap the bounds of the interval we obtain a valid solution by taking the complement of the solution to the original problem. Therefore, we can enforce the condition that the upper bound is always regular. Returns a pointer to the result if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_bddSqueeze] ******************************************************************************/ static DdNode * cuddBddSqueeze( DdManager * dd, DdNode * l, DdNode * u) { DdNode *one, *zero, *r, *lt, *le, *ut, *ue, *t, *e; #if 0 DdNode *ar; #endif int comple = 0; unsigned int topu, topl; int index; statLine(dd); if (l == u) { return(l); } one = DD_ONE(dd); zero = Cudd_Not(one); /* The only case when l == zero && u == one is at the top level, ** where returning either one or zero is OK. In all other cases ** the procedure will detect such a case and will perform ** remapping. Therefore the order in which we test l and u at this ** point is immaterial. */ if (l == zero) return(l); if (u == one) return(u); /* Make canonical to increase the utilization of the cache. */ if (Cudd_IsComplement(u)) { DdNode *temp; temp = Cudd_Not(l); l = Cudd_Not(u); u = temp; comple = 1; } /* At this point u is regular and non-constant; l is non-constant, but ** may be complemented. */ /* Here we could check the relative sizes. */ /* Check the cache. */ r = cuddCacheLookup2(dd, Cudd_bddSqueeze, l, u); if (r != NULL) { return(Cudd_NotCond(r,comple)); } /* Recursive step. */ topu = dd->perm[u->index]; topl = dd->perm[Cudd_Regular(l)->index]; if (topu <= topl) { index = u->index; ut = cuddT(u); ue = cuddE(u); } else { index = Cudd_Regular(l)->index; ut = ue = u; } if (topl <= topu) { lt = cuddT(Cudd_Regular(l)); le = cuddE(Cudd_Regular(l)); if (Cudd_IsComplement(l)) { lt = Cudd_Not(lt); le = Cudd_Not(le); } } else { lt = le = l; } /* If one interval is contained in the other, use the smaller ** interval. This corresponds to one-sided matching. */ if ((lt == zero || Cudd_bddLeq(dd,lt,le)) && (ut == one || Cudd_bddLeq(dd,ue,ut))) { /* remap */ r = cuddBddSqueeze(dd, le, ue); if (r == NULL) return(NULL); return(Cudd_NotCond(r,comple)); } else if ((le == zero || Cudd_bddLeq(dd,le,lt)) && (ue == one || Cudd_bddLeq(dd,ut,ue))) { /* remap */ r = cuddBddSqueeze(dd, lt, ut); if (r == NULL) return(NULL); return(Cudd_NotCond(r,comple)); } else if ((le == zero || Cudd_bddLeq(dd,le,Cudd_Not(ut))) && (ue == one || Cudd_bddLeq(dd,Cudd_Not(lt),ue))) { /* c-remap */ t = cuddBddSqueeze(dd, lt, ut); cuddRef(t); if (Cudd_IsComplement(t)) { r = cuddUniqueInter(dd, index, Cudd_Not(t), t); if (r == NULL) { Cudd_IterDerefBdd(dd, t); return(NULL); } r = Cudd_Not(r); } else { r = cuddUniqueInter(dd, index, t, Cudd_Not(t)); if (r == NULL) { Cudd_IterDerefBdd(dd, t); return(NULL); } } cuddDeref(t); if (r == NULL) return(NULL); cuddCacheInsert2(dd, Cudd_bddSqueeze, l, u, r); return(Cudd_NotCond(r,comple)); } else if ((lt == zero || Cudd_bddLeq(dd,lt,Cudd_Not(ue))) && (ut == one || Cudd_bddLeq(dd,Cudd_Not(le),ut))) { /* c-remap */ e = cuddBddSqueeze(dd, le, ue); cuddRef(e); if (Cudd_IsComplement(e)) { r = cuddUniqueInter(dd, index, Cudd_Not(e), e); if (r == NULL) { Cudd_IterDerefBdd(dd, e); return(NULL); } } else { r = cuddUniqueInter(dd, index, e, Cudd_Not(e)); if (r == NULL) { Cudd_IterDerefBdd(dd, e); return(NULL); } r = Cudd_Not(r); } cuddDeref(e); if (r == NULL) return(NULL); cuddCacheInsert2(dd, Cudd_bddSqueeze, l, u, r); return(Cudd_NotCond(r,comple)); } #if 0 /* If the two intervals intersect, take a solution from ** the intersection of the intervals. This guarantees that the ** splitting variable will not appear in the result. ** This approach corresponds to two-sided matching, and is very ** expensive. */ if (Cudd_bddLeq(dd,lt,ue) && Cudd_bddLeq(dd,le,ut)) { DdNode *au, *al; au = cuddBddAndRecur(dd,ut,ue); if (au == NULL) return(NULL); cuddRef(au); al = cuddBddAndRecur(dd,Cudd_Not(lt),Cudd_Not(le)); if (al == NULL) { Cudd_IterDerefBdd(dd,au); return(NULL); } cuddRef(al); al = Cudd_Not(al); ar = cuddBddSqueeze(dd, al, au); if (ar == NULL) { Cudd_IterDerefBdd(dd,au); Cudd_IterDerefBdd(dd,al); return(NULL); } cuddRef(ar); Cudd_IterDerefBdd(dd,au); Cudd_IterDerefBdd(dd,al); } else { ar = NULL; } #endif t = cuddBddSqueeze(dd, lt, ut); if (t == NULL) { return(NULL); } cuddRef(t); e = cuddBddSqueeze(dd, le, ue); if (e == NULL) { Cudd_IterDerefBdd(dd,t); return(NULL); } cuddRef(e); if (Cudd_IsComplement(t)) { t = Cudd_Not(t); e = Cudd_Not(e); r = (t == e) ? t : cuddUniqueInter(dd, index, t, e); if (r == NULL) { Cudd_IterDerefBdd(dd, e); Cudd_IterDerefBdd(dd, t); return(NULL); } r = Cudd_Not(r); } else { r = (t == e) ? t : cuddUniqueInter(dd, index, t, e); if (r == NULL) { Cudd_IterDerefBdd(dd, e); Cudd_IterDerefBdd(dd, t); return(NULL); } } cuddDeref(t); cuddDeref(e); #if 0 /* Check whether there is a result obtained by abstraction and whether ** it is better than the one obtained by recursion. */ cuddRef(r); if (ar != NULL) { if (Cudd_DagSize(ar) <= Cudd_DagSize(r)) { Cudd_IterDerefBdd(dd, r); r = ar; } else { Cudd_IterDerefBdd(dd, ar); } } cuddDeref(r); #endif cuddCacheInsert2(dd, Cudd_bddSqueeze, l, u, r); return(Cudd_NotCond(r,comple)); } /* end of cuddBddSqueeze */ BRiAl-1.2.12/cudd/cuddGenetic.c000066400000000000000000000666061436062512100160450ustar00rootroot00000000000000/**CFile*********************************************************************** FileName [cuddGenetic.c] PackageName [cudd] Synopsis [Genetic algorithm for variable reordering.] Description [Internal procedures included in this file:
      • cuddGa()
      Static procedures included in this module:
      • make_random()
      • sift_up()
      • build_dd()
      • largest()
      • rand_int()
      • array_hash()
      • array_compare()
      • find_best()
      • find_average_fitness()
      • PMX()
      • roulette()
      The genetic algorithm implemented here is as follows. We start with the current DD order. We sift this order and use this as the reference DD. We only keep 1 DD around for the entire process and simply rearrange the order of this DD, storing the various orders and their corresponding DD sizes. We generate more random orders to build an initial population. This initial population is 3 times the number of variables, with a maximum of 120. Each random order is built (from the reference DD) and its size stored. Each random order is also sifted to keep the DD sizes fairly small. Then a crossover is performed between two orders (picked randomly) and the two resulting DDs are built and sifted. For each new order, if its size is smaller than any DD in the population, it is inserted into the population and the DD with the largest number of nodes is thrown out. The crossover process happens up to 50 times, and at this point the DD in the population with the smallest size is chosen as the result. This DD must then be built from the reference DD.] SeeAlso [] Author [Curt Musfeldt, Alan Shuler, Fabio Somenzi] Copyright [Copyright (c) 1995-2012, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.] ******************************************************************************/ #include "util.h" #include "cuddInt.h" /*---------------------------------------------------------------------------*/ /* Constant declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Stucture declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Type declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Variable declarations */ /*---------------------------------------------------------------------------*/ #ifndef lint static char rcsid[] DD_UNUSED = "$Id: cuddGenetic.c,v 1.30 2012/02/05 01:07:18 fabio Exp $"; #endif static int popsize; /* the size of the population */ static int numvars; /* the number of input variables in the ckt. */ /* storedd stores the population orders and sizes. This table has two ** extra rows and one extras column. The two extra rows are used for the ** offspring produced by a crossover. Each row stores one order and its ** size. The order is stored by storing the indices of variables in the ** order in which they appear in the order. The table is in reality a ** one-dimensional array which is accessed via a macro to give the illusion ** it is a two-dimensional structure. */ static int *storedd; static st_table *computed; /* hash table to identify existing orders */ static int *repeat; /* how many times an order is present */ static int large; /* stores the index of the population with ** the largest number of nodes in the DD */ static int result; static int cross; /* the number of crossovers to perform */ /*---------------------------------------------------------------------------*/ /* Macro declarations */ /*---------------------------------------------------------------------------*/ /* macro used to access the population table as if it were a ** two-dimensional structure. */ #define STOREDD(i,j) storedd[(i)*(numvars+1)+(j)] #ifdef __cplusplus extern "C" { #endif /**AutomaticStart*************************************************************/ /*---------------------------------------------------------------------------*/ /* Static function prototypes */ /*---------------------------------------------------------------------------*/ static int make_random (DdManager *table, int lower); static int sift_up (DdManager *table, int x, int x_low); static int build_dd (DdManager *table, int num, int lower, int upper); static int largest (void); static int rand_int (int a); static int array_hash (char *array, int modulus); static int array_compare (const char *array1, const char *array2); static int find_best (void); #ifdef DD_STATS static double find_average_fitness (void); #endif static int PMX (int maxvar); static int roulette (int *p1, int *p2); /**AutomaticEnd***************************************************************/ #ifdef __cplusplus } #endif /*---------------------------------------------------------------------------*/ /* Definition of exported functions */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Definition of internal functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Genetic algorithm for DD reordering.] Description [Genetic algorithm for DD reordering. The two children of a crossover will be stored in storedd[popsize] and storedd[popsize+1] --- the last two slots in the storedd array. (This will make comparisons and replacement easy.) Returns 1 in case of success; 0 otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ int cuddGa( DdManager * table /* manager */, int lower /* lowest level to be reordered */, int upper /* highest level to be reorderded */) { int i,n,m; /* dummy/loop vars */ int index; #ifdef DD_STATS double average_fitness; #endif int small; /* index of smallest DD in population */ /* Do an initial sifting to produce at least one reasonable individual. */ if (!cuddSifting(table,lower,upper)) return(0); /* Get the initial values. */ numvars = upper - lower + 1; /* number of variables to be reordered */ if (table->populationSize == 0) { popsize = 3 * numvars; /* population size is 3 times # of vars */ if (popsize > 120) { popsize = 120; /* Maximum population size is 120 */ } } else { popsize = table->populationSize; /* user specified value */ } if (popsize < 4) popsize = 4; /* enforce minimum population size */ /* Allocate population table. */ storedd = ALLOC(int,(popsize+2)*(numvars+1)); if (storedd == NULL) { table->errorCode = CUDD_MEMORY_OUT; return(0); } /* Initialize the computed table. This table is made up of two data ** structures: A hash table with the key given by the order, which says ** if a given order is present in the population; and the repeat ** vector, which says how many copies of a given order are stored in ** the population table. If there are multiple copies of an order, only ** one has a repeat count greater than 1. This copy is the one pointed ** by the computed table. */ repeat = ALLOC(int,popsize); if (repeat == NULL) { table->errorCode = CUDD_MEMORY_OUT; FREE(storedd); return(0); } for (i = 0; i < popsize; i++) { repeat[i] = 0; } computed = st_init_table(array_compare,array_hash); if (computed == NULL) { table->errorCode = CUDD_MEMORY_OUT; FREE(storedd); FREE(repeat); return(0); } /* Copy the current DD and its size to the population table. */ for (i = 0; i < numvars; i++) { STOREDD(0,i) = table->invperm[i+lower]; /* order of initial DD */ } STOREDD(0,numvars) = table->keys - table->isolated; /* size of initial DD */ /* Store the initial order in the computed table. */ if (st_insert(computed,(char *)storedd,(char *) 0) == ST_OUT_OF_MEM) { FREE(storedd); FREE(repeat); st_free_table(computed); return(0); } repeat[0]++; /* Insert the reverse order as second element of the population. */ for (i = 0; i < numvars; i++) { STOREDD(1,numvars-1-i) = table->invperm[i+lower]; /* reverse order */ } /* Now create the random orders. make_random fills the population ** table with random permutations. The successive loop builds and sifts ** the DDs for the reverse order and each random permutation, and stores ** the results in the computed table. */ if (!make_random(table,lower)) { table->errorCode = CUDD_MEMORY_OUT; FREE(storedd); FREE(repeat); st_free_table(computed); return(0); } for (i = 1; i < popsize; i++) { result = build_dd(table,i,lower,upper); /* build and sift order */ if (!result) { FREE(storedd); FREE(repeat); st_free_table(computed); return(0); } if (st_lookup_int(computed,(char *)&STOREDD(i,0),&index)) { repeat[index]++; } else { if (st_insert(computed,(char *)&STOREDD(i,0),(char *)(long)i) == ST_OUT_OF_MEM) { FREE(storedd); FREE(repeat); st_free_table(computed); return(0); } repeat[i]++; } } #if 0 #ifdef DD_STATS /* Print the initial population. */ (void) fprintf(table->out,"Initial population after sifting\n"); for (m = 0; m < popsize; m++) { for (i = 0; i < numvars; i++) { (void) fprintf(table->out," %2d",STOREDD(m,i)); } (void) fprintf(table->out," : %3d (%d)\n", STOREDD(m,numvars),repeat[m]); } #endif #endif small = find_best(); #ifdef DD_STATS average_fitness = find_average_fitness(); (void) fprintf(table->out,"\nInitial population: best fitness = %d, average fitness %8.3f",STOREDD(small,numvars),average_fitness); #endif /* Decide how many crossovers should be tried. */ if (table->numberXovers == 0) { cross = 3*numvars; if (cross > 60) { /* do a maximum of 50 crossovers */ cross = 60; } } else { cross = table->numberXovers; /* use user specified value */ } if (cross >= popsize) { cross = popsize; } /* Perform the crossovers to get the best order. */ for (m = 0; m < cross; m++) { if (!PMX(table->size)) { /* perform one crossover */ table->errorCode = CUDD_MEMORY_OUT; FREE(storedd); FREE(repeat); st_free_table(computed); return(0); } /* The offsprings are left in the last two entries of the ** population table. These are now considered in turn. */ for (i = popsize; i <= popsize+1; i++) { result = build_dd(table,i,lower,upper); /* build and sift child */ if (!result) { FREE(storedd); FREE(repeat); st_free_table(computed); return(0); } large = largest(); /* find the largest DD in population */ /* If the new child is smaller than the largest DD in the current ** population, enter it into the population in place of the ** largest DD. */ if (STOREDD(i,numvars) < STOREDD(large,numvars)) { /* Look up the largest DD in the computed table. ** Decrease its repetition count. If the repetition count ** goes to 0, remove the largest DD from the computed table. */ result = st_lookup_int(computed,(char *)&STOREDD(large,0), &index); if (!result) { FREE(storedd); FREE(repeat); st_free_table(computed); return(0); } repeat[index]--; if (repeat[index] == 0) { int *pointer = &STOREDD(index,0); result = st_delete(computed, &pointer, NULL); if (!result) { FREE(storedd); FREE(repeat); st_free_table(computed); return(0); } } /* Copy the new individual to the entry of the ** population table just made available and update the ** computed table. */ for (n = 0; n <= numvars; n++) { STOREDD(large,n) = STOREDD(i,n); } if (st_lookup_int(computed,(char *)&STOREDD(large,0), &index)) { repeat[index]++; } else { if (st_insert(computed,(char *)&STOREDD(large,0), (char *)(long)large) == ST_OUT_OF_MEM) { FREE(storedd); FREE(repeat); st_free_table(computed); return(0); } repeat[large]++; } } } } /* Find the smallest DD in the population and build it; ** that will be the result. */ small = find_best(); /* Print stats on the final population. */ #ifdef DD_STATS average_fitness = find_average_fitness(); (void) fprintf(table->out,"\nFinal population: best fitness = %d, average fitness %8.3f",STOREDD(small,numvars),average_fitness); #endif /* Clean up, build the result DD, and return. */ st_free_table(computed); computed = NULL; result = build_dd(table,small,lower,upper); FREE(storedd); FREE(repeat); return(result); } /* end of cuddGa */ /*---------------------------------------------------------------------------*/ /* Definition of static functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Generates the random sequences for the initial population.] Description [Generates the random sequences for the initial population. The sequences are permutations of the indices between lower and upper in the current order.] SideEffects [None] SeeAlso [] ******************************************************************************/ static int make_random( DdManager * table, int lower) { int i,j; /* loop variables */ int *used; /* is a number already in a permutation */ int next; /* next random number without repetitions */ used = ALLOC(int,numvars); if (used == NULL) { table->errorCode = CUDD_MEMORY_OUT; return(0); } #if 0 #ifdef DD_STATS (void) fprintf(table->out,"Initial population before sifting\n"); for (i = 0; i < 2; i++) { for (j = 0; j < numvars; j++) { (void) fprintf(table->out," %2d",STOREDD(i,j)); } (void) fprintf(table->out,"\n"); } #endif #endif for (i = 2; i < popsize; i++) { for (j = 0; j < numvars; j++) { used[j] = 0; } /* Generate a permutation of {0...numvars-1} and use it to ** permute the variables in the layesr from lower to upper. */ for (j = 0; j < numvars; j++) { do { next = rand_int(numvars-1); } while (used[next] != 0); used[next] = 1; STOREDD(i,j) = table->invperm[next+lower]; } #if 0 #ifdef DD_STATS /* Print the order just generated. */ for (j = 0; j < numvars; j++) { (void) fprintf(table->out," %2d",STOREDD(i,j)); } (void) fprintf(table->out,"\n"); #endif #endif } FREE(used); return(1); } /* end of make_random */ /**Function******************************************************************** Synopsis [Moves one variable up.] Description [Takes a variable from position x and sifts it up to position x_low; x_low should be less than x. Returns 1 if successful; 0 otherwise] SideEffects [None] SeeAlso [] ******************************************************************************/ static int sift_up( DdManager * table, int x, int x_low) { int y; int size; y = cuddNextLow(table,x); while (y >= x_low) { size = cuddSwapInPlace(table,y,x); if (size == 0) { return(0); } x = y; y = cuddNextLow(table,x); } return(1); } /* end of sift_up */ /**Function******************************************************************** Synopsis [Builds a DD from a given order.] Description [Builds a DD from a given order. This procedure also sifts the final order and inserts into the array the size in nodes of the result. Returns 1 if successful; 0 otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ static int build_dd( DdManager * table, int num /* the index of the individual to be built */, int lower, int upper) { int i,j; /* loop vars */ int position; int index; int limit; /* how large the DD for this order can grow */ int size; /* Check the computed table. If the order already exists, it ** suffices to copy the size from the existing entry. */ if (computed && st_lookup_int(computed,(char *)&STOREDD(num,0),&index)) { STOREDD(num,numvars) = STOREDD(index,numvars); #ifdef DD_STATS (void) fprintf(table->out,"\nCache hit for index %d", index); #endif return(1); } /* Stop if the DD grows 20 times larges than the reference size. */ limit = 20 * STOREDD(0,numvars); /* Sift up the variables so as to build the desired permutation. ** First the variable that has to be on top is sifted to the top. ** Then the variable that has to occupy the secon position is sifted ** up to the second position, and so on. */ for (j = 0; j < numvars; j++) { i = STOREDD(num,j); position = table->perm[i]; result = sift_up(table,position,j+lower); if (!result) return(0); size = table->keys - table->isolated; if (size > limit) break; } /* Sift the DD just built. */ #ifdef DD_STATS (void) fprintf(table->out,"\n"); #endif result = cuddSifting(table,lower,upper); if (!result) return(0); /* Copy order and size to table. */ for (j = 0; j < numvars; j++) { STOREDD(num,j) = table->invperm[lower+j]; } STOREDD(num,numvars) = table->keys - table->isolated; /* size of new DD */ return(1); } /* end of build_dd */ /**Function******************************************************************** Synopsis [Finds the largest DD in the population.] Description [Finds the largest DD in the population. If an order is repeated, it avoids choosing the copy that is in the computed table (it has repeat[i] > 1).] SideEffects [None] SeeAlso [] ******************************************************************************/ static int largest(void) { int i; /* loop var */ int big; /* temporary holder to return result */ big = 0; while (repeat[big] > 1) big++; for (i = big + 1; i < popsize; i++) { if (STOREDD(i,numvars) >= STOREDD(big,numvars) && repeat[i] <= 1) { big = i; } } return(big); } /* end of largest */ /**Function******************************************************************** Synopsis [Generates a random number between 0 and the integer a.] Description [] SideEffects [None] SeeAlso [] ******************************************************************************/ static int rand_int( int a) { return(Cudd_Random() % (a+1)); } /* end of rand_int */ /**Function******************************************************************** Synopsis [Hash function for the computed table.] Description [Hash function for the computed table. Returns the bucket number.] SideEffects [None] SeeAlso [] ******************************************************************************/ static int array_hash( char * array, int modulus) { int val = 0; int i; int *intarray; intarray = (int *) array; for (i = 0; i < numvars; i++) { val = val * 997 + intarray[i]; } return ((val < 0) ? -val : val) % modulus; } /* end of array_hash */ /**Function******************************************************************** Synopsis [Comparison function for the computed table.] Description [Comparison function for the computed table. Returns 0 if the two arrays are equal; 1 otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ static int array_compare( const char * array1, const char * array2) { int i; int *intarray1, *intarray2; intarray1 = (int *) array1; intarray2 = (int *) array2; for (i = 0; i < numvars; i++) { if (intarray1[i] != intarray2[i]) return(1); } return(0); } /* end of array_compare */ /**Function******************************************************************** Synopsis [Returns the index of the fittest individual.] Description [] SideEffects [None] SeeAlso [] ******************************************************************************/ static int find_best(void) { int i,small; small = 0; for (i = 1; i < popsize; i++) { if (STOREDD(i,numvars) < STOREDD(small,numvars)) { small = i; } } return(small); } /* end of find_best */ /**Function******************************************************************** Synopsis [Returns the average fitness of the population.] Description [] SideEffects [None] SeeAlso [] ******************************************************************************/ #ifdef DD_STATS static double find_average_fitness(void) { int i; int total_fitness = 0; double average_fitness; for (i = 0; i < popsize; i++) { total_fitness += STOREDD(i,numvars); } average_fitness = (double) total_fitness / (double) popsize; return(average_fitness); } /* end of find_average_fitness */ #endif /**Function******************************************************************** Synopsis [Performs the crossover between two parents.] Description [Performs the crossover between two randomly chosen parents, and creates two children, x1 and x2. Uses the Partially Matched Crossover operator.] SideEffects [None] SeeAlso [] ******************************************************************************/ static int PMX( int maxvar) { int cut1,cut2; /* the two cut positions (random) */ int mom,dad; /* the two randomly chosen parents */ int *inv1; /* inverse permutations for repair algo */ int *inv2; int i; /* loop vars */ int u,v; /* aux vars */ inv1 = ALLOC(int,maxvar); if (inv1 == NULL) { return(0); } inv2 = ALLOC(int,maxvar); if (inv2 == NULL) { FREE(inv1); return(0); } /* Choose two orders from the population using roulette wheel. */ if (!roulette(&mom,&dad)) { FREE(inv1); FREE(inv2); return(0); } /* Choose two random cut positions. A cut in position i means that ** the cut immediately precedes position i. If cut1 < cut2, we ** exchange the middle of the two orderings; otherwise, we ** exchange the beginnings and the ends. */ cut1 = rand_int(numvars-1); do { cut2 = rand_int(numvars-1); } while (cut1 == cut2); #if 0 /* Print out the parents. */ (void) fprintf(table->out, "Crossover of %d (mom) and %d (dad) between %d and %d\n", mom,dad,cut1,cut2); for (i = 0; i < numvars; i++) { if (i == cut1 || i == cut2) (void) fprintf(table->out,"|"); (void) fprintf(table->out,"%2d ",STOREDD(mom,i)); } (void) fprintf(table->out,"\n"); for (i = 0; i < numvars; i++) { if (i == cut1 || i == cut2) (void) fprintf(table->out,"|"); (void) fprintf(table->out,"%2d ",STOREDD(dad,i)); } (void) fprintf(table->out,"\n"); #endif /* Initialize the inverse permutations: -1 means yet undetermined. */ for (i = 0; i < maxvar; i++) { inv1[i] = -1; inv2[i] = -1; } /* Copy the portions whithin the cuts. */ for (i = cut1; i != cut2; i = (i == numvars-1) ? 0 : i+1) { STOREDD(popsize,i) = STOREDD(dad,i); inv1[STOREDD(popsize,i)] = i; STOREDD(popsize+1,i) = STOREDD(mom,i); inv2[STOREDD(popsize+1,i)] = i; } /* Now apply the repair algorithm outside the cuts. */ for (i = cut2; i != cut1; i = (i == numvars-1 ) ? 0 : i+1) { v = i; do { u = STOREDD(mom,v); v = inv1[u]; } while (v != -1); STOREDD(popsize,i) = u; inv1[u] = i; v = i; do { u = STOREDD(dad,v); v = inv2[u]; } while (v != -1); STOREDD(popsize+1,i) = u; inv2[u] = i; } #if 0 /* Print the results of crossover. */ for (i = 0; i < numvars; i++) { if (i == cut1 || i == cut2) (void) fprintf(table->out,"|"); (void) fprintf(table->out,"%2d ",STOREDD(popsize,i)); } (void) fprintf(table->out,"\n"); for (i = 0; i < numvars; i++) { if (i == cut1 || i == cut2) (void) fprintf(table->out,"|"); (void) fprintf(table->out,"%2d ",STOREDD(popsize+1,i)); } (void) fprintf(table->out,"\n"); #endif FREE(inv1); FREE(inv2); return(1); } /* end of PMX */ /**Function******************************************************************** Synopsis [Selects two parents with the roulette wheel method.] Description [Selects two distinct parents with the roulette wheel method.] SideEffects [The indices of the selected parents are returned as side effects.] SeeAlso [] ******************************************************************************/ static int roulette( int * p1, int * p2) { double *wheel; double spin; int i; wheel = ALLOC(double,popsize); if (wheel == NULL) { return(0); } /* The fitness of an individual is the reciprocal of its size. */ wheel[0] = 1.0 / (double) STOREDD(0,numvars); for (i = 1; i < popsize; i++) { wheel[i] = wheel[i-1] + 1.0 / (double) STOREDD(i,numvars); } /* Get a random number between 0 and wheel[popsize-1] (that is, ** the sum of all fitness values. 2147483561 is the largest number ** returned by Cudd_Random. */ spin = wheel[numvars-1] * (double) Cudd_Random() / 2147483561.0; /* Find the lucky element by scanning the wheel. */ for (i = 0; i < popsize; i++) { if (spin <= wheel[i]) break; } *p1 = i; /* Repeat the process for the second parent, making sure it is ** distinct from the first. */ do { spin = wheel[popsize-1] * (double) Cudd_Random() / 2147483561.0; for (i = 0; i < popsize; i++) { if (spin <= wheel[i]) break; } } while (i == *p1); *p2 = i; FREE(wheel); return(1); } /* end of roulette */ BRiAl-1.2.12/cudd/cuddGroup.c000066400000000000000000001732441436062512100155600ustar00rootroot00000000000000/**CFile*********************************************************************** FileName [cuddGroup.c] PackageName [cudd] Synopsis [Functions for group sifting.] Description [External procedures included in this file:
      • Cudd_MakeTreeNode()
      Internal procedures included in this file:
      • cuddTreeSifting()
      Static procedures included in this module:
      • ddTreeSiftingAux()
      • ddCountInternalMtrNodes()
      • ddReorderChildren()
      • ddFindNodeHiLo()
      • ddUniqueCompareGroup()
      • ddGroupSifting()
      • ddCreateGroup()
      • ddGroupSiftingAux()
      • ddGroupSiftingUp()
      • ddGroupSiftingDown()
      • ddGroupMove()
      • ddGroupMoveBackward()
      • ddGroupSiftingBackward()
      • ddMergeGroups()
      • ddDissolveGroup()
      • ddNoCheck()
      • ddSecDiffCheck()
      • ddExtSymmCheck()
      • ddVarGroupCheck()
      • ddSetVarHandled()
      • ddResetVarHandled()
      • ddIsVarHandled()
      • ddFixTree()
      ] Author [Shipra Panda, Fabio Somenzi] Copyright [Copyright (c) 1995-2012, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.] ******************************************************************************/ #include "util.h" #include "cuddInt.h" /*---------------------------------------------------------------------------*/ /* Constant declarations */ /*---------------------------------------------------------------------------*/ /* Constants for lazy sifting */ #define DD_NORMAL_SIFT 0 #define DD_LAZY_SIFT 1 /* Constants for sifting up and down */ #define DD_SIFT_DOWN 0 #define DD_SIFT_UP 1 /*---------------------------------------------------------------------------*/ /* Stucture declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Type declarations */ /*---------------------------------------------------------------------------*/ #ifdef __cplusplus extern "C" { #endif typedef int (*DD_CHKFP)(DdManager *, int, int); #ifdef __cplusplus } #endif /*---------------------------------------------------------------------------*/ /* Variable declarations */ /*---------------------------------------------------------------------------*/ #ifndef lint static char rcsid[] DD_UNUSED = "$Id: cuddGroup.c,v 1.49 2012/02/05 01:07:18 fabio Exp $"; #endif static int *entry; extern int ddTotalNumberSwapping; #ifdef DD_STATS extern int ddTotalNISwaps; static int extsymmcalls; static int extsymm; static int secdiffcalls; static int secdiff; static int secdiffmisfire; #endif #ifdef DD_DEBUG static int pr = 0; /* flag to enable printing while debugging */ /* by depositing a 1 into it */ #endif static unsigned int originalSize; /*---------------------------------------------------------------------------*/ /* Macro declarations */ /*---------------------------------------------------------------------------*/ #ifdef __cplusplus extern "C" { #endif /**AutomaticStart*************************************************************/ /*---------------------------------------------------------------------------*/ /* Static function prototypes */ /*---------------------------------------------------------------------------*/ static int ddTreeSiftingAux (DdManager *table, MtrNode *treenode, Cudd_ReorderingType method); #ifdef DD_STATS static int ddCountInternalMtrNodes (DdManager *table, MtrNode *treenode); #endif static int ddReorderChildren (DdManager *table, MtrNode *treenode, Cudd_ReorderingType method); static void ddFindNodeHiLo (DdManager *table, MtrNode *treenode, int *lower, int *upper); static int ddUniqueCompareGroup (int *ptrX, int *ptrY); static int ddGroupSifting (DdManager *table, int lower, int upper, DD_CHKFP checkFunction, int lazyFlag); static void ddCreateGroup (DdManager *table, int x, int y); static int ddGroupSiftingAux (DdManager *table, int x, int xLow, int xHigh, DD_CHKFP checkFunction, int lazyFlag); static int ddGroupSiftingUp (DdManager *table, int y, int xLow, DD_CHKFP checkFunction, Move **moves); static int ddGroupSiftingDown (DdManager *table, int x, int xHigh, DD_CHKFP checkFunction, Move **moves); static int ddGroupMove (DdManager *table, int x, int y, Move **moves); static int ddGroupMoveBackward (DdManager *table, int x, int y); static int ddGroupSiftingBackward (DdManager *table, Move *moves, int size, int upFlag, int lazyFlag); static void ddMergeGroups (DdManager *table, MtrNode *treenode, int low, int high); static void ddDissolveGroup (DdManager *table, int x, int y); static int ddNoCheck (DdManager *table, int x, int y); static int ddSecDiffCheck (DdManager *table, int x, int y); static int ddExtSymmCheck (DdManager *table, int x, int y); static int ddVarGroupCheck (DdManager * table, int x, int y); static int ddSetVarHandled (DdManager *dd, int index); static int ddResetVarHandled (DdManager *dd, int index); static int ddIsVarHandled (DdManager *dd, int index); /**AutomaticEnd***************************************************************/ #ifdef __cplusplus } #endif /*---------------------------------------------------------------------------*/ /* Definition of exported functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Creates a new variable group.] Description [Creates a new variable group. The group starts at variable low and contains size variables. The parameter low is the index of the first variable. If the variable already exists, its current position in the order is known to the manager. If the variable does not exist yet, the position is assumed to be the same as the index. The group tree is created if it does not exist yet. Returns a pointer to the group if successful; NULL otherwise.] SideEffects [The variable tree is changed.] SeeAlso [Cudd_MakeZddTreeNode] ******************************************************************************/ MtrNode * Cudd_MakeTreeNode( DdManager * dd /* manager */, unsigned int low /* index of the first group variable */, unsigned int size /* number of variables in the group */, unsigned int type /* MTR_DEFAULT or MTR_FIXED */) { MtrNode *group; MtrNode *tree; unsigned int level; /* If the variable does not exist yet, the position is assumed to be ** the same as the index. Therefore, applications that rely on ** Cudd_bddNewVarAtLevel or Cudd_addNewVarAtLevel to create new ** variables have to create the variables before they group them. */ level = (low < (unsigned int) dd->size) ? dd->perm[low] : low; if (level + size - 1> (int) MTR_MAXHIGH) return(NULL); /* If the tree does not exist yet, create it. */ tree = dd->tree; if (tree == NULL) { dd->tree = tree = Mtr_InitGroupTree(0, dd->size); if (tree == NULL) return(NULL); tree->index = dd->size == 0 ? 0 : dd->invperm[0]; } /* Extend the upper bound of the tree if necessary. This allows the ** application to create groups even before the variables are created. */ tree->size = ddMax(tree->size, ddMax(level + size, (unsigned) dd->size)); /* Create the group. */ group = Mtr_MakeGroup(tree, level, size, type); if (group == NULL) return(NULL); /* Initialize the index field to the index of the variable currently ** in position low. This field will be updated by the reordering ** procedure to provide a handle to the group once it has been moved. */ group->index = (MtrHalfWord) low; return(group); } /* end of Cudd_MakeTreeNode */ /*---------------------------------------------------------------------------*/ /* Definition of internal functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Tree sifting algorithm.] Description [Tree sifting algorithm. Assumes that a tree representing a group hierarchy is passed as a parameter. It then reorders each group in postorder fashion by calling ddTreeSiftingAux. Assumes that no dead nodes are present. Returns 1 if successful; 0 otherwise.] SideEffects [None] ******************************************************************************/ int cuddTreeSifting( DdManager * table /* DD table */, Cudd_ReorderingType method /* reordering method for the groups of leaves */) { int i; int nvars; int result; int tempTree; /* If no tree is provided we create a temporary one in which all ** variables are in a single group. After reordering this tree is ** destroyed. */ tempTree = table->tree == NULL; if (tempTree) { table->tree = Mtr_InitGroupTree(0,table->size); table->tree->index = table->invperm[0]; } nvars = table->size; #ifdef DD_DEBUG if (pr > 0 && !tempTree) (void) fprintf(table->out,"cuddTreeSifting:"); Mtr_PrintGroups(table->tree,pr <= 0); #endif #ifdef DD_STATS extsymmcalls = 0; extsymm = 0; secdiffcalls = 0; secdiff = 0; secdiffmisfire = 0; (void) fprintf(table->out,"\n"); if (!tempTree) (void) fprintf(table->out,"#:IM_NODES %8d: group tree nodes\n", ddCountInternalMtrNodes(table,table->tree)); #endif /* Initialize the group of each subtable to itself. Initially ** there are no groups. Groups are created according to the tree ** structure in postorder fashion. */ for (i = 0; i < nvars; i++) table->subtables[i].next = i; /* Reorder. */ result = ddTreeSiftingAux(table, table->tree, method); #ifdef DD_STATS /* print stats */ if (!tempTree && method == CUDD_REORDER_GROUP_SIFT && (table->groupcheck == CUDD_GROUP_CHECK7 || table->groupcheck == CUDD_GROUP_CHECK5)) { (void) fprintf(table->out,"\nextsymmcalls = %d\n",extsymmcalls); (void) fprintf(table->out,"extsymm = %d",extsymm); } if (!tempTree && method == CUDD_REORDER_GROUP_SIFT && table->groupcheck == CUDD_GROUP_CHECK7) { (void) fprintf(table->out,"\nsecdiffcalls = %d\n",secdiffcalls); (void) fprintf(table->out,"secdiff = %d\n",secdiff); (void) fprintf(table->out,"secdiffmisfire = %d",secdiffmisfire); } #endif if (tempTree) Cudd_FreeTree(table); else Mtr_ReorderGroups(table->tree, table->perm); return(result); } /* end of cuddTreeSifting */ /*---------------------------------------------------------------------------*/ /* Definition of static functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Visits the group tree and reorders each group.] Description [Recursively visits the group tree and reorders each group in postorder fashion. Returns 1 if successful; 0 otherwise.] SideEffects [None] ******************************************************************************/ static int ddTreeSiftingAux( DdManager * table, MtrNode * treenode, Cudd_ReorderingType method) { MtrNode *auxnode; int res; Cudd_AggregationType saveCheck; #ifdef DD_DEBUG Mtr_PrintGroups(treenode,1); #endif auxnode = treenode; while (auxnode != NULL) { if (auxnode->child != NULL) { if (!ddTreeSiftingAux(table, auxnode->child, method)) return(0); saveCheck = table->groupcheck; table->groupcheck = CUDD_NO_CHECK; if (method != CUDD_REORDER_LAZY_SIFT) res = ddReorderChildren(table, auxnode, CUDD_REORDER_GROUP_SIFT); else res = ddReorderChildren(table, auxnode, CUDD_REORDER_LAZY_SIFT); table->groupcheck = saveCheck; if (res == 0) return(0); } else if (auxnode->size > 1) { if (!ddReorderChildren(table, auxnode, method)) return(0); } auxnode = auxnode->younger; } return(1); } /* end of ddTreeSiftingAux */ #ifdef DD_STATS /**Function******************************************************************** Synopsis [Counts the number of internal nodes of the group tree.] Description [Counts the number of internal nodes of the group tree. Returns the count.] SideEffects [None] ******************************************************************************/ static int ddCountInternalMtrNodes( DdManager * table, MtrNode * treenode) { MtrNode *auxnode; int count,nodeCount; nodeCount = 0; auxnode = treenode; while (auxnode != NULL) { if (!(MTR_TEST(auxnode,MTR_TERMINAL))) { nodeCount++; count = ddCountInternalMtrNodes(table,auxnode->child); nodeCount += count; } auxnode = auxnode->younger; } return(nodeCount); } /* end of ddCountInternalMtrNodes */ #endif /**Function******************************************************************** Synopsis [Reorders the children of a group tree node according to the options.] Description [Reorders the children of a group tree node according to the options. After reordering puts all the variables in the group and/or its descendents in a single group. This allows hierarchical reordering. If the variables in the group do not exist yet, simply does nothing. Returns 1 if successful; 0 otherwise.] SideEffects [None] ******************************************************************************/ static int ddReorderChildren( DdManager * table, MtrNode * treenode, Cudd_ReorderingType method) { int lower; int upper; int result; unsigned int initialSize; ddFindNodeHiLo(table,treenode,&lower,&upper); /* If upper == -1 these variables do not exist yet. */ if (upper == -1) return(1); if (treenode->flags == MTR_FIXED) { result = 1; } else { #ifdef DD_STATS (void) fprintf(table->out," "); #endif switch (method) { case CUDD_REORDER_RANDOM: case CUDD_REORDER_RANDOM_PIVOT: result = cuddSwapping(table,lower,upper,method); break; case CUDD_REORDER_SIFT: result = cuddSifting(table,lower,upper); break; case CUDD_REORDER_SIFT_CONVERGE: do { initialSize = table->keys - table->isolated; result = cuddSifting(table,lower,upper); if (initialSize <= table->keys - table->isolated) break; #ifdef DD_STATS else (void) fprintf(table->out,"\n"); #endif } while (result != 0); break; case CUDD_REORDER_SYMM_SIFT: result = cuddSymmSifting(table,lower,upper); break; case CUDD_REORDER_SYMM_SIFT_CONV: result = cuddSymmSiftingConv(table,lower,upper); break; case CUDD_REORDER_GROUP_SIFT: if (table->groupcheck == CUDD_NO_CHECK) { result = ddGroupSifting(table,lower,upper,ddNoCheck, DD_NORMAL_SIFT); } else if (table->groupcheck == CUDD_GROUP_CHECK5) { result = ddGroupSifting(table,lower,upper,ddExtSymmCheck, DD_NORMAL_SIFT); } else if (table->groupcheck == CUDD_GROUP_CHECK7) { result = ddGroupSifting(table,lower,upper,ddExtSymmCheck, DD_NORMAL_SIFT); } else { (void) fprintf(table->err, "Unknown group ckecking method\n"); result = 0; } break; case CUDD_REORDER_GROUP_SIFT_CONV: do { initialSize = table->keys - table->isolated; if (table->groupcheck == CUDD_NO_CHECK) { result = ddGroupSifting(table,lower,upper,ddNoCheck, DD_NORMAL_SIFT); } else if (table->groupcheck == CUDD_GROUP_CHECK5) { result = ddGroupSifting(table,lower,upper,ddExtSymmCheck, DD_NORMAL_SIFT); } else if (table->groupcheck == CUDD_GROUP_CHECK7) { result = ddGroupSifting(table,lower,upper,ddExtSymmCheck, DD_NORMAL_SIFT); } else { (void) fprintf(table->err, "Unknown group ckecking method\n"); result = 0; } #ifdef DD_STATS (void) fprintf(table->out,"\n"); #endif result = cuddWindowReorder(table,lower,upper, CUDD_REORDER_WINDOW4); if (initialSize <= table->keys - table->isolated) break; #ifdef DD_STATS else (void) fprintf(table->out,"\n"); #endif } while (result != 0); break; case CUDD_REORDER_WINDOW2: case CUDD_REORDER_WINDOW3: case CUDD_REORDER_WINDOW4: case CUDD_REORDER_WINDOW2_CONV: case CUDD_REORDER_WINDOW3_CONV: case CUDD_REORDER_WINDOW4_CONV: result = cuddWindowReorder(table,lower,upper,method); break; case CUDD_REORDER_ANNEALING: result = cuddAnnealing(table,lower,upper); break; case CUDD_REORDER_GENETIC: result = cuddGa(table,lower,upper); break; case CUDD_REORDER_LINEAR: result = cuddLinearAndSifting(table,lower,upper); break; case CUDD_REORDER_LINEAR_CONVERGE: do { initialSize = table->keys - table->isolated; result = cuddLinearAndSifting(table,lower,upper); if (initialSize <= table->keys - table->isolated) break; #ifdef DD_STATS else (void) fprintf(table->out,"\n"); #endif } while (result != 0); break; case CUDD_REORDER_EXACT: result = cuddExact(table,lower,upper); break; case CUDD_REORDER_LAZY_SIFT: result = ddGroupSifting(table,lower,upper,ddVarGroupCheck, DD_LAZY_SIFT); break; default: return(0); } } /* Create a single group for all the variables that were sifted, ** so that they will be treated as a single block by successive ** invocations of ddGroupSifting. */ ddMergeGroups(table,treenode,lower,upper); #ifdef DD_DEBUG if (pr > 0) (void) fprintf(table->out,"ddReorderChildren:"); #endif return(result); } /* end of ddReorderChildren */ /**Function******************************************************************** Synopsis [Finds the lower and upper bounds of the group represented by treenode.] Description [Finds the lower and upper bounds of the group represented by treenode. From the index and size fields we need to derive the current positions, and find maximum and minimum.] SideEffects [The bounds are returned as side effects.] SeeAlso [] ******************************************************************************/ static void ddFindNodeHiLo( DdManager * table, MtrNode * treenode, int * lower, int * upper) { int low; int high; /* Check whether no variables in this group already exist. ** If so, return immediately. The calling procedure will know from ** the values of upper that no reordering is needed. */ if ((int) treenode->low >= table->size) { *lower = table->size; *upper = -1; return; } *lower = low = (unsigned int) table->perm[treenode->index]; high = (int) (low + treenode->size - 1); if (high >= table->size) { /* This is the case of a partially existing group. The aim is to ** reorder as many variables as safely possible. If the tree ** node is terminal, we just reorder the subset of the group ** that is currently in existence. If the group has ** subgroups, then we only reorder those subgroups that are ** fully instantiated. This way we avoid breaking up a group. */ MtrNode *auxnode = treenode->child; if (auxnode == NULL) { *upper = (unsigned int) table->size - 1; } else { /* Search the subgroup that strands the table->size line. ** If the first group starts at 0 and goes past table->size ** upper will get -1, thus correctly signaling that no reordering ** should take place. */ while (auxnode != NULL) { int thisLower = table->perm[auxnode->low]; int thisUpper = thisLower + auxnode->size - 1; if (thisUpper >= table->size && thisLower < table->size) *upper = (unsigned int) thisLower - 1; auxnode = auxnode->younger; } } } else { /* Normal case: All the variables of the group exist. */ *upper = (unsigned int) high; } #ifdef DD_DEBUG /* Make sure that all variables in group are contiguous. */ assert(treenode->size >= *upper - *lower + 1); #endif return; } /* end of ddFindNodeHiLo */ /**Function******************************************************************** Synopsis [Comparison function used by qsort.] Description [Comparison function used by qsort to order the variables according to the number of keys in the subtables. Returns the difference in number of keys between the two variables being compared.] SideEffects [None] ******************************************************************************/ static int ddUniqueCompareGroup( int * ptrX, int * ptrY) { #if 0 if (entry[*ptrY] == entry[*ptrX]) { return((*ptrX) - (*ptrY)); } #endif return(entry[*ptrY] - entry[*ptrX]); } /* end of ddUniqueCompareGroup */ /**Function******************************************************************** Synopsis [Sifts from treenode->low to treenode->high.] Description [Sifts from treenode->low to treenode->high. If croupcheck == CUDD_GROUP_CHECK7, it checks for group creation at the end of the initial sifting. If a group is created, it is then sifted again. After sifting one variable, the group that contains it is dissolved. Returns 1 in case of success; 0 otherwise.] SideEffects [None] ******************************************************************************/ static int ddGroupSifting( DdManager * table, int lower, int upper, DD_CHKFP checkFunction, int lazyFlag) { int *var; int i,j,x,xInit; int nvars; int classes; int result; int *sifted; int merged; int dissolve; #ifdef DD_STATS unsigned previousSize; #endif int xindex; nvars = table->size; /* Order variables to sift. */ entry = NULL; sifted = NULL; var = ALLOC(int,nvars); if (var == NULL) { table->errorCode = CUDD_MEMORY_OUT; goto ddGroupSiftingOutOfMem; } entry = ALLOC(int,nvars); if (entry == NULL) { table->errorCode = CUDD_MEMORY_OUT; goto ddGroupSiftingOutOfMem; } sifted = ALLOC(int,nvars); if (sifted == NULL) { table->errorCode = CUDD_MEMORY_OUT; goto ddGroupSiftingOutOfMem; } /* Here we consider only one representative for each group. */ for (i = 0, classes = 0; i < nvars; i++) { sifted[i] = 0; x = table->perm[i]; if ((unsigned) x >= table->subtables[x].next) { entry[i] = table->subtables[x].keys; var[classes] = i; classes++; } } qsort((void *)var,classes,sizeof(int), (DD_QSFP) ddUniqueCompareGroup); if (lazyFlag) { for (i = 0; i < nvars; i ++) { ddResetVarHandled(table, i); } } /* Now sift. */ for (i = 0; i < ddMin(table->siftMaxVar,classes); i++) { if (ddTotalNumberSwapping >= table->siftMaxSwap) break; if (util_cpu_time() - table->startTime + table->reordTime > table->timeLimit) { table->autoDyn = 0; /* prevent further reordering */ break; } xindex = var[i]; if (sifted[xindex] == 1) /* variable already sifted as part of group */ continue; x = table->perm[xindex]; /* find current level of this variable */ if (x < lower || x > upper || table->subtables[x].bindVar == 1) continue; #ifdef DD_STATS previousSize = table->keys - table->isolated; #endif #ifdef DD_DEBUG /* x is bottom of group */ assert((unsigned) x >= table->subtables[x].next); #endif if ((unsigned) x == table->subtables[x].next) { dissolve = 1; result = ddGroupSiftingAux(table,x,lower,upper,checkFunction, lazyFlag); } else { dissolve = 0; result = ddGroupSiftingAux(table,x,lower,upper,ddNoCheck,lazyFlag); } if (!result) goto ddGroupSiftingOutOfMem; /* check for aggregation */ merged = 0; if (lazyFlag == 0 && table->groupcheck == CUDD_GROUP_CHECK7) { x = table->perm[xindex]; /* find current level */ if ((unsigned) x == table->subtables[x].next) { /* not part of a group */ if (x != upper && sifted[table->invperm[x+1]] == 0 && (unsigned) x+1 == table->subtables[x+1].next) { if (ddSecDiffCheck(table,x,x+1)) { merged =1; ddCreateGroup(table,x,x+1); } } if (x != lower && sifted[table->invperm[x-1]] == 0 && (unsigned) x-1 == table->subtables[x-1].next) { if (ddSecDiffCheck(table,x-1,x)) { merged =1; ddCreateGroup(table,x-1,x); } } } } if (merged) { /* a group was created */ /* move x to bottom of group */ while ((unsigned) x < table->subtables[x].next) x = table->subtables[x].next; /* sift */ result = ddGroupSiftingAux(table,x,lower,upper,ddNoCheck,lazyFlag); if (!result) goto ddGroupSiftingOutOfMem; #ifdef DD_STATS if (table->keys < previousSize + table->isolated) { (void) fprintf(table->out,"_"); } else if (table->keys > previousSize + table->isolated) { (void) fprintf(table->out,"^"); } else { (void) fprintf(table->out,"*"); } fflush(table->out); } else { if (table->keys < previousSize + table->isolated) { (void) fprintf(table->out,"-"); } else if (table->keys > previousSize + table->isolated) { (void) fprintf(table->out,"+"); } else { (void) fprintf(table->out,"="); } fflush(table->out); #endif } /* Mark variables in the group just sifted. */ x = table->perm[xindex]; if ((unsigned) x != table->subtables[x].next) { xInit = x; do { j = table->invperm[x]; sifted[j] = 1; x = table->subtables[x].next; } while (x != xInit); /* Dissolve the group if it was created. */ if (lazyFlag == 0 && dissolve) { do { j = table->subtables[x].next; table->subtables[x].next = x; x = j; } while (x != xInit); } } #ifdef DD_DEBUG if (pr > 0) (void) fprintf(table->out,"ddGroupSifting:"); #endif if (lazyFlag) ddSetVarHandled(table, xindex); } /* for */ FREE(sifted); FREE(var); FREE(entry); return(1); ddGroupSiftingOutOfMem: if (entry != NULL) FREE(entry); if (var != NULL) FREE(var); if (sifted != NULL) FREE(sifted); return(0); } /* end of ddGroupSifting */ /**Function******************************************************************** Synopsis [Creates a group encompassing variables from x to y in the DD table.] Description [Creates a group encompassing variables from x to y in the DD table. In the current implementation it must be y == x+1. Returns 1 in case of success; 0 otherwise.] SideEffects [None] ******************************************************************************/ static void ddCreateGroup( DdManager * table, int x, int y) { int gybot; #ifdef DD_DEBUG assert(y == x+1); #endif /* Find bottom of second group. */ gybot = y; while ((unsigned) gybot < table->subtables[gybot].next) gybot = table->subtables[gybot].next; /* Link groups. */ table->subtables[x].next = y; table->subtables[gybot].next = x; return; } /* ddCreateGroup */ /**Function******************************************************************** Synopsis [Sifts one variable up and down until it has taken all positions. Checks for aggregation.] Description [Sifts one variable up and down until it has taken all positions. Checks for aggregation. There may be at most two sweeps, even if the group grows. Assumes that x is either an isolated variable, or it is the bottom of a group. All groups may not have been found. The variable being moved is returned to the best position seen during sifting. Returns 1 in case of success; 0 otherwise.] SideEffects [None] ******************************************************************************/ static int ddGroupSiftingAux( DdManager * table, int x, int xLow, int xHigh, DD_CHKFP checkFunction, int lazyFlag) { Move *move; Move *moves; /* list of moves */ int initialSize; int result; int y; int topbot; #ifdef DD_DEBUG if (pr > 0) (void) fprintf(table->out, "ddGroupSiftingAux from %d to %d\n",xLow,xHigh); assert((unsigned) x >= table->subtables[x].next); /* x is bottom of group */ #endif initialSize = table->keys - table->isolated; moves = NULL; originalSize = initialSize; /* for lazy sifting */ /* If we have a singleton, we check for aggregation in both ** directions before we sift. */ if ((unsigned) x == table->subtables[x].next) { /* Will go down first, unless x == xHigh: ** Look for aggregation above x. */ for (y = x; y > xLow; y--) { if (!checkFunction(table,y-1,y)) break; topbot = table->subtables[y-1].next; /* find top of y-1's group */ table->subtables[y-1].next = y; table->subtables[x].next = topbot; /* x is bottom of group so its */ /* next is top of y-1's group */ y = topbot + 1; /* add 1 for y--; new y is top of group */ } /* Will go up first unless x == xlow: ** Look for aggregation below x. */ for (y = x; y < xHigh; y++) { if (!checkFunction(table,y,y+1)) break; /* find bottom of y+1's group */ topbot = y + 1; while ((unsigned) topbot < table->subtables[topbot].next) { topbot = table->subtables[topbot].next; } table->subtables[topbot].next = table->subtables[y].next; table->subtables[y].next = y + 1; y = topbot - 1; /* subtract 1 for y++; new y is bottom of group */ } } /* Now x may be in the middle of a group. ** Find bottom of x's group. */ while ((unsigned) x < table->subtables[x].next) x = table->subtables[x].next; if (x == xLow) { /* Sift down */ #ifdef DD_DEBUG /* x must be a singleton */ assert((unsigned) x == table->subtables[x].next); #endif if (x == xHigh) return(1); /* just one variable */ if (!ddGroupSiftingDown(table,x,xHigh,checkFunction,&moves)) goto ddGroupSiftingAuxOutOfMem; /* at this point x == xHigh, unless early term */ /* move backward and stop at best position */ result = ddGroupSiftingBackward(table,moves,initialSize, DD_SIFT_DOWN,lazyFlag); #ifdef DD_DEBUG assert(table->keys - table->isolated <= (unsigned) initialSize); #endif if (!result) goto ddGroupSiftingAuxOutOfMem; } else if (cuddNextHigh(table,x) > xHigh) { /* Sift up */ #ifdef DD_DEBUG /* x is bottom of group */ assert((unsigned) x >= table->subtables[x].next); #endif /* Find top of x's group */ x = table->subtables[x].next; if (!ddGroupSiftingUp(table,x,xLow,checkFunction,&moves)) goto ddGroupSiftingAuxOutOfMem; /* at this point x == xLow, unless early term */ /* move backward and stop at best position */ result = ddGroupSiftingBackward(table,moves,initialSize, DD_SIFT_UP,lazyFlag); #ifdef DD_DEBUG assert(table->keys - table->isolated <= (unsigned) initialSize); #endif if (!result) goto ddGroupSiftingAuxOutOfMem; } else if (x - xLow > xHigh - x) { /* must go down first: shorter */ if (!ddGroupSiftingDown(table,x,xHigh,checkFunction,&moves)) goto ddGroupSiftingAuxOutOfMem; /* at this point x == xHigh, unless early term */ /* Find top of group */ if (moves) { x = moves->y; } while ((unsigned) x < table->subtables[x].next) x = table->subtables[x].next; x = table->subtables[x].next; #ifdef DD_DEBUG /* x should be the top of a group */ assert((unsigned) x <= table->subtables[x].next); #endif if (!ddGroupSiftingUp(table,x,xLow,checkFunction,&moves)) goto ddGroupSiftingAuxOutOfMem; /* move backward and stop at best position */ result = ddGroupSiftingBackward(table,moves,initialSize, DD_SIFT_UP,lazyFlag); #ifdef DD_DEBUG assert(table->keys - table->isolated <= (unsigned) initialSize); #endif if (!result) goto ddGroupSiftingAuxOutOfMem; } else { /* moving up first: shorter */ /* Find top of x's group */ x = table->subtables[x].next; if (!ddGroupSiftingUp(table,x,xLow,checkFunction,&moves)) goto ddGroupSiftingAuxOutOfMem; /* at this point x == xHigh, unless early term */ if (moves) { x = moves->x; } while ((unsigned) x < table->subtables[x].next) x = table->subtables[x].next; #ifdef DD_DEBUG /* x is bottom of a group */ assert((unsigned) x >= table->subtables[x].next); #endif if (!ddGroupSiftingDown(table,x,xHigh,checkFunction,&moves)) goto ddGroupSiftingAuxOutOfMem; /* move backward and stop at best position */ result = ddGroupSiftingBackward(table,moves,initialSize, DD_SIFT_DOWN,lazyFlag); #ifdef DD_DEBUG assert(table->keys - table->isolated <= (unsigned) initialSize); #endif if (!result) goto ddGroupSiftingAuxOutOfMem; } while (moves != NULL) { move = moves->next; cuddDeallocMove(table, moves); moves = move; } return(1); ddGroupSiftingAuxOutOfMem: while (moves != NULL) { move = moves->next; cuddDeallocMove(table, moves); moves = move; } return(0); } /* end of ddGroupSiftingAux */ /**Function******************************************************************** Synopsis [Sifts up a variable until either it reaches position xLow or the size of the DD heap increases too much.] Description [Sifts up a variable until either it reaches position xLow or the size of the DD heap increases too much. Assumes that y is the top of a group (or a singleton). Checks y for aggregation to the adjacent variables. Records all the moves that are appended to the list of moves received as input and returned as a side effect. Returns 1 in case of success; 0 otherwise.] SideEffects [None] ******************************************************************************/ static int ddGroupSiftingUp( DdManager * table, int y, int xLow, DD_CHKFP checkFunction, Move ** moves) { Move *move; int x; int size; int i; int gxtop,gybot; int limitSize; int xindex, yindex; int zindex; int z; int isolated; int L; /* lower bound on DD size */ #ifdef DD_DEBUG int checkL; #endif yindex = table->invperm[y]; /* Initialize the lower bound. ** The part of the DD below the bottom of y's group will not change. ** The part of the DD above y that does not interact with any ** variable of y's group will not change. ** The rest may vanish in the best case, except for ** the nodes at level xLow, which will not vanish, regardless. ** What we use here is not really a lower bound, because we ignore ** the interactions with all variables except y. */ limitSize = L = table->keys - table->isolated; gybot = y; while ((unsigned) gybot < table->subtables[gybot].next) gybot = table->subtables[gybot].next; for (z = xLow + 1; z <= gybot; z++) { zindex = table->invperm[z]; if (zindex == yindex || cuddTestInteract(table,zindex,yindex)) { isolated = table->vars[zindex]->ref == 1; L -= table->subtables[z].keys - isolated; } } x = cuddNextLow(table,y); while (x >= xLow && L <= limitSize) { #ifdef DD_DEBUG gybot = y; while ((unsigned) gybot < table->subtables[gybot].next) gybot = table->subtables[gybot].next; checkL = table->keys - table->isolated; for (z = xLow + 1; z <= gybot; z++) { zindex = table->invperm[z]; if (zindex == yindex || cuddTestInteract(table,zindex,yindex)) { isolated = table->vars[zindex]->ref == 1; checkL -= table->subtables[z].keys - isolated; } } if (pr > 0 && L != checkL) { (void) fprintf(table->out, "Inaccurate lower bound: L = %d checkL = %d\n", L, checkL); } #endif gxtop = table->subtables[x].next; if (checkFunction(table,x,y)) { /* Group found, attach groups */ table->subtables[x].next = y; i = table->subtables[y].next; while (table->subtables[i].next != (unsigned) y) i = table->subtables[i].next; table->subtables[i].next = gxtop; move = (Move *)cuddDynamicAllocNode(table); if (move == NULL) goto ddGroupSiftingUpOutOfMem; move->x = x; move->y = y; move->flags = MTR_NEWNODE; move->size = table->keys - table->isolated; move->next = *moves; *moves = move; } else if (table->subtables[x].next == (unsigned) x && table->subtables[y].next == (unsigned) y) { /* x and y are self groups */ xindex = table->invperm[x]; size = cuddSwapInPlace(table,x,y); #ifdef DD_DEBUG assert(table->subtables[x].next == (unsigned) x); assert(table->subtables[y].next == (unsigned) y); #endif if (size == 0) goto ddGroupSiftingUpOutOfMem; /* Update the lower bound. */ if (cuddTestInteract(table,xindex,yindex)) { isolated = table->vars[xindex]->ref == 1; L += table->subtables[y].keys - isolated; } move = (Move *)cuddDynamicAllocNode(table); if (move == NULL) goto ddGroupSiftingUpOutOfMem; move->x = x; move->y = y; move->flags = MTR_DEFAULT; move->size = size; move->next = *moves; *moves = move; #ifdef DD_DEBUG if (pr > 0) (void) fprintf(table->out, "ddGroupSiftingUp (2 single groups):\n"); #endif if ((double) size > (double) limitSize * table->maxGrowth) return(1); if (size < limitSize) limitSize = size; } else { /* Group move */ size = ddGroupMove(table,x,y,moves); if (size == 0) goto ddGroupSiftingUpOutOfMem; /* Update the lower bound. */ z = (*moves)->y; do { zindex = table->invperm[z]; if (cuddTestInteract(table,zindex,yindex)) { isolated = table->vars[zindex]->ref == 1; L += table->subtables[z].keys - isolated; } z = table->subtables[z].next; } while (z != (int) (*moves)->y); if ((double) size > (double) limitSize * table->maxGrowth) return(1); if (size < limitSize) limitSize = size; } y = gxtop; x = cuddNextLow(table,y); } return(1); ddGroupSiftingUpOutOfMem: while (*moves != NULL) { move = (*moves)->next; cuddDeallocMove(table, *moves); *moves = move; } return(0); } /* end of ddGroupSiftingUp */ /**Function******************************************************************** Synopsis [Sifts down a variable until it reaches position xHigh.] Description [Sifts down a variable until it reaches position xHigh. Assumes that x is the bottom of a group (or a singleton). Records all the moves. Returns 1 in case of success; 0 otherwise.] SideEffects [None] ******************************************************************************/ static int ddGroupSiftingDown( DdManager * table, int x, int xHigh, DD_CHKFP checkFunction, Move ** moves) { Move *move; int y; int size; int limitSize; int gxtop,gybot; int R; /* upper bound on node decrease */ int xindex, yindex; int isolated, allVars; int z; int zindex; #ifdef DD_DEBUG int checkR; #endif /* If the group consists of simple variables, there is no point in ** sifting it down. This check is redundant if the projection functions ** do not have external references, because the computation of the ** lower bound takes care of the problem. It is necessary otherwise to ** prevent the sifting down of simple variables. */ y = x; allVars = 1; do { if (table->subtables[y].keys != 1) { allVars = 0; break; } y = table->subtables[y].next; } while (table->subtables[y].next != (unsigned) x); if (allVars) return(1); /* Initialize R. */ xindex = table->invperm[x]; gxtop = table->subtables[x].next; limitSize = size = table->keys - table->isolated; R = 0; for (z = xHigh; z > gxtop; z--) { zindex = table->invperm[z]; if (zindex == xindex || cuddTestInteract(table,xindex,zindex)) { isolated = table->vars[zindex]->ref == 1; R += table->subtables[z].keys - isolated; } } y = cuddNextHigh(table,x); while (y <= xHigh && size - R < limitSize) { #ifdef DD_DEBUG gxtop = table->subtables[x].next; checkR = 0; for (z = xHigh; z > gxtop; z--) { zindex = table->invperm[z]; if (zindex == xindex || cuddTestInteract(table,xindex,zindex)) { isolated = table->vars[zindex]->ref == 1; checkR += table->subtables[z].keys - isolated; } } assert(R >= checkR); #endif /* Find bottom of y group. */ gybot = table->subtables[y].next; while (table->subtables[gybot].next != (unsigned) y) gybot = table->subtables[gybot].next; if (checkFunction(table,x,y)) { /* Group found: attach groups and record move. */ gxtop = table->subtables[x].next; table->subtables[x].next = y; table->subtables[gybot].next = gxtop; move = (Move *)cuddDynamicAllocNode(table); if (move == NULL) goto ddGroupSiftingDownOutOfMem; move->x = x; move->y = y; move->flags = MTR_NEWNODE; move->size = table->keys - table->isolated; move->next = *moves; *moves = move; } else if (table->subtables[x].next == (unsigned) x && table->subtables[y].next == (unsigned) y) { /* x and y are self groups */ /* Update upper bound on node decrease. */ yindex = table->invperm[y]; if (cuddTestInteract(table,xindex,yindex)) { isolated = table->vars[yindex]->ref == 1; R -= table->subtables[y].keys - isolated; } size = cuddSwapInPlace(table,x,y); #ifdef DD_DEBUG assert(table->subtables[x].next == (unsigned) x); assert(table->subtables[y].next == (unsigned) y); #endif if (size == 0) goto ddGroupSiftingDownOutOfMem; /* Record move. */ move = (Move *) cuddDynamicAllocNode(table); if (move == NULL) goto ddGroupSiftingDownOutOfMem; move->x = x; move->y = y; move->flags = MTR_DEFAULT; move->size = size; move->next = *moves; *moves = move; #ifdef DD_DEBUG if (pr > 0) (void) fprintf(table->out, "ddGroupSiftingDown (2 single groups):\n"); #endif if ((double) size > (double) limitSize * table->maxGrowth) return(1); if (size < limitSize) limitSize = size; x = y; y = cuddNextHigh(table,x); } else { /* Group move */ /* Update upper bound on node decrease: first phase. */ gxtop = table->subtables[x].next; z = gxtop + 1; do { zindex = table->invperm[z]; if (zindex == xindex || cuddTestInteract(table,xindex,zindex)) { isolated = table->vars[zindex]->ref == 1; R -= table->subtables[z].keys - isolated; } z++; } while (z <= gybot); size = ddGroupMove(table,x,y,moves); if (size == 0) goto ddGroupSiftingDownOutOfMem; if ((double) size > (double) limitSize * table->maxGrowth) return(1); if (size < limitSize) limitSize = size; /* Update upper bound on node decrease: second phase. */ gxtop = table->subtables[gybot].next; for (z = gxtop + 1; z <= gybot; z++) { zindex = table->invperm[z]; if (zindex == xindex || cuddTestInteract(table,xindex,zindex)) { isolated = table->vars[zindex]->ref == 1; R += table->subtables[z].keys - isolated; } } } x = gybot; y = cuddNextHigh(table,x); } return(1); ddGroupSiftingDownOutOfMem: while (*moves != NULL) { move = (*moves)->next; cuddDeallocMove(table, *moves); *moves = move; } return(0); } /* end of ddGroupSiftingDown */ /**Function******************************************************************** Synopsis [Swaps two groups and records the move.] Description [Swaps two groups and records the move. Returns the number of keys in the DD table in case of success; 0 otherwise.] SideEffects [None] ******************************************************************************/ static int ddGroupMove( DdManager * table, int x, int y, Move ** moves) { Move *move; int size; int i,j,xtop,xbot,xsize,ytop,ybot,ysize,newxtop; int swapx,swapy; #if defined(DD_DEBUG) && defined(DD_VERBOSE) int initialSize,bestSize; #endif #ifdef DD_DEBUG /* We assume that x < y */ assert(x < y); #endif /* Find top, bottom, and size for the two groups. */ xbot = x; xtop = table->subtables[x].next; xsize = xbot - xtop + 1; ybot = y; while ((unsigned) ybot < table->subtables[ybot].next) ybot = table->subtables[ybot].next; ytop = y; ysize = ybot - ytop + 1; #if defined(DD_DEBUG) && defined(DD_VERBOSE) initialSize = bestSize = table->keys - table->isolated; #endif /* Sift the variables of the second group up through the first group */ for (i = 1; i <= ysize; i++) { for (j = 1; j <= xsize; j++) { size = cuddSwapInPlace(table,x,y); if (size == 0) goto ddGroupMoveOutOfMem; #if defined(DD_DEBUG) && defined(DD_VERBOSE) if (size < bestSize) bestSize = size; #endif swapx = x; swapy = y; y = x; x = cuddNextLow(table,y); } y = ytop + i; x = cuddNextLow(table,y); } #if defined(DD_DEBUG) && defined(DD_VERBOSE) if ((bestSize < initialSize) && (bestSize < size)) (void) fprintf(table->out,"Missed local minimum: initialSize:%d bestSize:%d finalSize:%d\n",initialSize,bestSize,size); #endif /* fix groups */ y = xtop; /* ytop is now where xtop used to be */ for (i = 0; i < ysize - 1; i++) { table->subtables[y].next = cuddNextHigh(table,y); y = cuddNextHigh(table,y); } table->subtables[y].next = xtop; /* y is bottom of its group, join */ /* it to top of its group */ x = cuddNextHigh(table,y); newxtop = x; for (i = 0; i < xsize - 1; i++) { table->subtables[x].next = cuddNextHigh(table,x); x = cuddNextHigh(table,x); } table->subtables[x].next = newxtop; /* x is bottom of its group, join */ /* it to top of its group */ #ifdef DD_DEBUG if (pr > 0) (void) fprintf(table->out,"ddGroupMove:\n"); #endif /* Store group move */ move = (Move *) cuddDynamicAllocNode(table); if (move == NULL) goto ddGroupMoveOutOfMem; move->x = swapx; move->y = swapy; move->flags = MTR_DEFAULT; move->size = table->keys - table->isolated; move->next = *moves; *moves = move; return(table->keys - table->isolated); ddGroupMoveOutOfMem: while (*moves != NULL) { move = (*moves)->next; cuddDeallocMove(table, *moves); *moves = move; } return(0); } /* end of ddGroupMove */ /**Function******************************************************************** Synopsis [Undoes the swap two groups.] Description [Undoes the swap two groups. Returns 1 in case of success; 0 otherwise.] SideEffects [None] ******************************************************************************/ static int ddGroupMoveBackward( DdManager * table, int x, int y) { int size; int i,j,xtop,xbot,xsize,ytop,ybot,ysize,newxtop; #ifdef DD_DEBUG /* We assume that x < y */ assert(x < y); #endif /* Find top, bottom, and size for the two groups. */ xbot = x; xtop = table->subtables[x].next; xsize = xbot - xtop + 1; ybot = y; while ((unsigned) ybot < table->subtables[ybot].next) ybot = table->subtables[ybot].next; ytop = y; ysize = ybot - ytop + 1; /* Sift the variables of the second group up through the first group */ for (i = 1; i <= ysize; i++) { for (j = 1; j <= xsize; j++) { size = cuddSwapInPlace(table,x,y); if (size == 0) return(0); y = x; x = cuddNextLow(table,y); } y = ytop + i; x = cuddNextLow(table,y); } /* fix groups */ y = xtop; for (i = 0; i < ysize - 1; i++) { table->subtables[y].next = cuddNextHigh(table,y); y = cuddNextHigh(table,y); } table->subtables[y].next = xtop; /* y is bottom of its group, join */ /* to its top */ x = cuddNextHigh(table,y); newxtop = x; for (i = 0; i < xsize - 1; i++) { table->subtables[x].next = cuddNextHigh(table,x); x = cuddNextHigh(table,x); } table->subtables[x].next = newxtop; /* x is bottom of its group, join */ /* to its top */ #ifdef DD_DEBUG if (pr > 0) (void) fprintf(table->out,"ddGroupMoveBackward:\n"); #endif return(1); } /* end of ddGroupMoveBackward */ /**Function******************************************************************** Synopsis [Determines the best position for a variables and returns it there.] Description [Determines the best position for a variables and returns it there. Returns 1 in case of success; 0 otherwise.] SideEffects [None] ******************************************************************************/ static int ddGroupSiftingBackward( DdManager * table, Move * moves, int size, int upFlag, int lazyFlag) { Move *move; int res; Move *end_move; int diff, tmp_diff; int index; unsigned int pairlev; if (lazyFlag) { end_move = NULL; /* Find the minimum size, and the earliest position at which it ** was achieved. */ for (move = moves; move != NULL; move = move->next) { if (move->size < size) { size = move->size; end_move = move; } else if (move->size == size) { if (end_move == NULL) end_move = move; } } /* Find among the moves that give minimum size the one that ** minimizes the distance from the corresponding variable. */ if (moves != NULL) { diff = Cudd_ReadSize(table) + 1; index = (upFlag == 1) ? table->invperm[moves->x] : table->invperm[moves->y]; pairlev = (unsigned) table->perm[Cudd_bddReadPairIndex(table, index)]; for (move = moves; move != NULL; move = move->next) { if (move->size == size) { if (upFlag == 1) { tmp_diff = (move->x > pairlev) ? move->x - pairlev : pairlev - move->x; } else { tmp_diff = (move->y > pairlev) ? move->y - pairlev : pairlev - move->y; } if (tmp_diff < diff) { diff = tmp_diff; end_move = move; } } } } } else { /* Find the minimum size. */ for (move = moves; move != NULL; move = move->next) { if (move->size < size) { size = move->size; } } } /* In case of lazy sifting, end_move identifies the position at ** which we want to stop. Otherwise, we stop as soon as we meet ** the minimum size. */ for (move = moves; move != NULL; move = move->next) { if (lazyFlag) { if (move == end_move) return(1); } else { if (move->size == size) return(1); } if ((table->subtables[move->x].next == move->x) && (table->subtables[move->y].next == move->y)) { res = cuddSwapInPlace(table,(int)move->x,(int)move->y); if (!res) return(0); #ifdef DD_DEBUG if (pr > 0) (void) fprintf(table->out,"ddGroupSiftingBackward:\n"); assert(table->subtables[move->x].next == move->x); assert(table->subtables[move->y].next == move->y); #endif } else { /* Group move necessary */ if (move->flags == MTR_NEWNODE) { ddDissolveGroup(table,(int)move->x,(int)move->y); } else { res = ddGroupMoveBackward(table,(int)move->x,(int)move->y); if (!res) return(0); } } } return(1); } /* end of ddGroupSiftingBackward */ /**Function******************************************************************** Synopsis [Merges groups in the DD table.] Description [Creates a single group from low to high and adjusts the index field of the tree node.] SideEffects [None] ******************************************************************************/ static void ddMergeGroups( DdManager * table, MtrNode * treenode, int low, int high) { int i; MtrNode *auxnode; int saveindex; int newindex; /* Merge all variables from low to high in one group, unless ** this is the topmost group. In such a case we do not merge lest ** we lose the symmetry information. */ if (treenode != table->tree) { for (i = low; i < high; i++) table->subtables[i].next = i+1; table->subtables[high].next = low; } /* Adjust the index fields of the tree nodes. If a node is the ** first child of its parent, then the parent may also need adjustment. */ saveindex = treenode->index; newindex = table->invperm[low]; auxnode = treenode; do { auxnode->index = newindex; if (auxnode->parent == NULL || (int) auxnode->parent->index != saveindex) break; auxnode = auxnode->parent; } while (1); return; } /* end of ddMergeGroups */ /**Function******************************************************************** Synopsis [Dissolves a group in the DD table.] Description [x and y are variables in a group to be cut in two. The cut is to pass between x and y.] SideEffects [None] ******************************************************************************/ static void ddDissolveGroup( DdManager * table, int x, int y) { int topx; int boty; /* find top and bottom of the two groups */ boty = y; while ((unsigned) boty < table->subtables[boty].next) boty = table->subtables[boty].next; topx = table->subtables[boty].next; table->subtables[boty].next = y; table->subtables[x].next = topx; return; } /* end of ddDissolveGroup */ /**Function******************************************************************** Synopsis [Pretends to check two variables for aggregation.] Description [Pretends to check two variables for aggregation. Always returns 0.] SideEffects [None] ******************************************************************************/ static int ddNoCheck( DdManager * table, int x, int y) { return(0); } /* end of ddNoCheck */ /**Function******************************************************************** Synopsis [Checks two variables for aggregation.] Description [Checks two variables for aggregation. The check is based on the second difference of the number of nodes as a function of the layer. If the second difference is lower than a given threshold (typically negative) then the two variables should be aggregated. Returns 1 if the two variables pass the test; 0 otherwise.] SideEffects [None] ******************************************************************************/ static int ddSecDiffCheck( DdManager * table, int x, int y) { double Nx,Nx_1; double Sx; double threshold; int xindex,yindex; if (x==0) return(0); #ifdef DD_STATS secdiffcalls++; #endif Nx = (double) table->subtables[x].keys; Nx_1 = (double) table->subtables[x-1].keys; Sx = (table->subtables[y].keys/Nx) - (Nx/Nx_1); threshold = table->recomb / 100.0; if (Sx < threshold) { xindex = table->invperm[x]; yindex = table->invperm[y]; if (cuddTestInteract(table,xindex,yindex)) { #if defined(DD_DEBUG) && defined(DD_VERBOSE) (void) fprintf(table->out, "Second difference for %d = %g Pos(%d)\n", table->invperm[x],Sx,x); #endif #ifdef DD_STATS secdiff++; #endif return(1); } else { #ifdef DD_STATS secdiffmisfire++; #endif return(0); } } return(0); } /* end of ddSecDiffCheck */ /**Function******************************************************************** Synopsis [Checks for extended symmetry of x and y.] Description [Checks for extended symmetry of x and y. Returns 1 in case of extended symmetry; 0 otherwise.] SideEffects [None] ******************************************************************************/ static int ddExtSymmCheck( DdManager * table, int x, int y) { DdNode *f,*f0,*f1,*f01,*f00,*f11,*f10; DdNode *one; unsigned comple; /* f0 is complemented */ int notproj; /* f is not a projection function */ int arccount; /* number of arcs from layer x to layer y */ int TotalRefCount; /* total reference count of layer y minus 1 */ int counter; /* number of nodes of layer x that are allowed */ /* to violate extended symmetry conditions */ int arccounter; /* number of arcs into layer y that are allowed */ /* to come from layers other than x */ int i; int xindex; int yindex; int res; int slots; DdNodePtr *list; DdNode *sentinel = &(table->sentinel); xindex = table->invperm[x]; yindex = table->invperm[y]; /* If the two variables do not interact, we do not want to merge them. */ if (!cuddTestInteract(table,xindex,yindex)) return(0); #ifdef DD_DEBUG /* Checks that x and y do not contain just the projection functions. ** With the test on interaction, these test become redundant, ** because an isolated projection function does not interact with ** any other variable. */ if (table->subtables[x].keys == 1) { assert(table->vars[xindex]->ref != 1); } if (table->subtables[y].keys == 1) { assert(table->vars[yindex]->ref != 1); } #endif #ifdef DD_STATS extsymmcalls++; #endif arccount = 0; counter = (int) (table->subtables[x].keys * (table->symmviolation/100.0) + 0.5); one = DD_ONE(table); slots = table->subtables[x].slots; list = table->subtables[x].nodelist; for (i = 0; i < slots; i++) { f = list[i]; while (f != sentinel) { /* Find f1, f0, f11, f10, f01, f00. */ f1 = cuddT(f); f0 = Cudd_Regular(cuddE(f)); comple = Cudd_IsComplement(cuddE(f)); notproj = f1 != one || f0 != one || f->ref != (DdHalfWord) 1; if (f1->index == (unsigned) yindex) { arccount++; f11 = cuddT(f1); f10 = cuddE(f1); } else { if ((int) f0->index != yindex) { /* If f is an isolated projection function it is ** allowed to bypass layer y. */ if (notproj) { if (counter == 0) return(0); counter--; /* f bypasses layer y */ } } f11 = f10 = f1; } if ((int) f0->index == yindex) { arccount++; f01 = cuddT(f0); f00 = cuddE(f0); } else { f01 = f00 = f0; } if (comple) { f01 = Cudd_Not(f01); f00 = Cudd_Not(f00); } /* Unless we are looking at a projection function ** without external references except the one from the ** table, we insist that f01 == f10 or f11 == f00 */ if (notproj) { if (f01 != f10 && f11 != f00) { if (counter == 0) return(0); counter--; } } f = f->next; } /* while */ } /* for */ /* Calculate the total reference counts of y */ TotalRefCount = -1; /* -1 for projection function */ slots = table->subtables[y].slots; list = table->subtables[y].nodelist; for (i = 0; i < slots; i++) { f = list[i]; while (f != sentinel) { TotalRefCount += f->ref; f = f->next; } } arccounter = (int) (table->subtables[y].keys * (table->arcviolation/100.0) + 0.5); res = arccount >= TotalRefCount - arccounter; #if defined(DD_DEBUG) && defined(DD_VERBOSE) if (res) { (void) fprintf(table->out, "Found extended symmetry! x = %d\ty = %d\tPos(%d,%d)\n", xindex,yindex,x,y); } #endif #ifdef DD_STATS if (res) extsymm++; #endif return(res); } /* end ddExtSymmCheck */ /**Function******************************************************************** Synopsis [Checks for grouping of x and y.] Description [Checks for grouping of x and y. Returns 1 in case of grouping; 0 otherwise. This function is used for lazy sifting.] SideEffects [None] ******************************************************************************/ static int ddVarGroupCheck( DdManager * table, int x, int y) { int xindex = table->invperm[x]; int yindex = table->invperm[y]; if (Cudd_bddIsVarToBeUngrouped(table, xindex)) return(0); if (Cudd_bddReadPairIndex(table, xindex) == yindex) { if (ddIsVarHandled(table, xindex) || ddIsVarHandled(table, yindex)) { if (Cudd_bddIsVarToBeGrouped(table, xindex) || Cudd_bddIsVarToBeGrouped(table, yindex) ) { if (table->keys - table->isolated <= originalSize) { return(1); } } } } return(0); } /* end of ddVarGroupCheck */ /**Function******************************************************************** Synopsis [Sets a variable to already handled.] Description [Sets a variable to already handled. This function is used for lazy sifting.] SideEffects [none] SeeAlso [] ******************************************************************************/ static int ddSetVarHandled( DdManager *dd, int index) { if (index >= dd->size || index < 0) return(0); dd->subtables[dd->perm[index]].varHandled = 1; return(1); } /* end of ddSetVarHandled */ /**Function******************************************************************** Synopsis [Resets a variable to be processed.] Description [Resets a variable to be processed. This function is used for lazy sifting.] SideEffects [none] SeeAlso [] ******************************************************************************/ static int ddResetVarHandled( DdManager *dd, int index) { if (index >= dd->size || index < 0) return(0); dd->subtables[dd->perm[index]].varHandled = 0; return(1); } /* end of ddResetVarHandled */ /**Function******************************************************************** Synopsis [Checks whether a variables is already handled.] Description [Checks whether a variables is already handled. This function is used for lazy sifting.] SideEffects [none] SeeAlso [] ******************************************************************************/ static int ddIsVarHandled( DdManager *dd, int index) { if (index >= dd->size || index < 0) return(-1); return dd->subtables[dd->perm[index]].varHandled; } /* end of ddIsVarHandled */ BRiAl-1.2.12/cudd/cuddHarwell.c000066400000000000000000000365651436062512100160660ustar00rootroot00000000000000/**CFile*********************************************************************** FileName [cuddHarwell.c] PackageName [cudd] Synopsis [Function to read a matrix in Harwell format.] Description [External procedures included in this module:
      • Cudd_addHarwell()
      ] Author [Fabio Somenzi] Copyright [Copyright (c) 1995-2012, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.] ******************************************************************************/ #include "util.h" #include "cuddInt.h" /*---------------------------------------------------------------------------*/ /* Constant declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Stucture declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Type declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Variable declarations */ /*---------------------------------------------------------------------------*/ #ifndef lint static char rcsid[] DD_UNUSED = "$Id: cuddHarwell.c,v 1.10 2012/02/05 01:07:19 fabio Exp $"; #endif /*---------------------------------------------------------------------------*/ /* Macro declarations */ /*---------------------------------------------------------------------------*/ /**AutomaticStart*************************************************************/ /*---------------------------------------------------------------------------*/ /* Static function prototypes */ /*---------------------------------------------------------------------------*/ /**AutomaticEnd***************************************************************/ /*---------------------------------------------------------------------------*/ /* Definition of exported functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Reads in a matrix in the format of the Harwell-Boeing benchmark suite.] Description [Reads in a matrix in the format of the Harwell-Boeing benchmark suite. The variables are ordered as follows:
      x\[0\] y\[0\] x\[1\] y\[1\] ...
      0 is the most significant bit. On input, nx and ny hold the numbers of row and column variables already in existence. On output, they hold the numbers of row and column variables actually used by the matrix. m and n are set to the numbers of rows and columns of the matrix. Their values on input are immaterial. Returns 1 on success; 0 otherwise. The ADD for the sparse matrix is returned in E, and its reference count is > 0.] SideEffects [None] SeeAlso [Cudd_addRead Cudd_bddRead] ******************************************************************************/ int Cudd_addHarwell( FILE * fp /* pointer to the input file */, DdManager * dd /* DD manager */, DdNode ** E /* characteristic function of the graph */, DdNode *** x /* array of row variables */, DdNode *** y /* array of column variables */, DdNode *** xn /* array of complemented row variables */, DdNode *** yn_ /* array of complemented column variables */, int * nx /* number or row variables */, int * ny /* number or column variables */, int * m /* number of rows */, int * n /* number of columns */, int bx /* first index of row variables */, int sx /* step of row variables */, int by /* first index of column variables */, int sy /* step of column variables */, int pr /* verbosity level */) { DdNode *one, *zero; DdNode *w; DdNode *cubex, *cubey, *minterm1; int u, v, err, i, j, nv; double val; DdNode **lx, **ly, **lxn, **lyn; /* local copies of x, y, xn, yn_ */ int lnx, lny; /* local copies of nx and ny */ char title[73], key[9], mxtype[4], rhstyp[4]; int totcrd, ptrcrd, indcrd, valcrd, rhscrd, nrow, ncol, nnzero, neltvl, nrhs, nrhsix; int *colptr, *rowind; #if 0 int nguess, nexact; int *rhsptr, *rhsind; #endif if (*nx < 0 || *ny < 0) return(0); one = DD_ONE(dd); zero = DD_ZERO(dd); /* Read the header */ err = fscanf(fp, "%72c %8c", title, key); if (err == EOF) { return(0); } else if (err != 2) { return(0); } title[72] = (char) 0; key[8] = (char) 0; err = fscanf(fp, "%d %d %d %d %d", &totcrd, &ptrcrd, &indcrd, &valcrd, &rhscrd); if (err == EOF) { return(0); } else if (err != 5) { return(0); } err = fscanf(fp, "%3s %d %d %d %d", mxtype, &nrow, &ncol, &nnzero, &neltvl); if (err == EOF) { return(0); } else if (err != 5) { return(0); } /* Skip FORTRAN formats */ if (rhscrd == 0) { err = fscanf(fp, "%*s %*s %*s \n"); } else { err = fscanf(fp, "%*s %*s %*s %*s \n"); } if (err == EOF) { return(0); } else if (err != 0) { return(0); } /* Print out some stuff if requested to be verbose */ if (pr>0) { (void) fprintf(dd->out,"%s: type %s, %d rows, %d columns, %d entries\n", key, mxtype, nrow, ncol, nnzero); if (pr>1) (void) fprintf(dd->out,"%s\n", title); } /* Check matrix type */ if (mxtype[0] != 'R' || mxtype[1] != 'U' || mxtype[2] != 'A') { (void) fprintf(dd->err,"%s: Illegal matrix type: %s\n", key, mxtype); return(0); } if (neltvl != 0) return(0); /* Read optional 5-th line */ if (rhscrd != 0) { err = fscanf(fp, "%3c %d %d", rhstyp, &nrhs, &nrhsix); if (err == EOF) { return(0); } else if (err != 3) { return(0); } rhstyp[3] = (char) 0; if (rhstyp[0] != 'F') { (void) fprintf(dd->err, "%s: Sparse right-hand side not yet supported\n", key); return(0); } if (pr>0) (void) fprintf(dd->out,"%d right-hand side(s)\n", nrhs); } else { nrhs = 0; } /* Compute the number of variables */ /* row and column numbers start from 0 */ u = nrow - 1; for (i=0; u > 0; i++) { u >>= 1; } lnx = i; if (nrhs == 0) { v = ncol - 1; } else { v = 2* (ddMax(ncol, nrhs) - 1); } for (i=0; v > 0; i++) { v >>= 1; } lny = i; /* Allocate or reallocate arrays for variables as needed */ if (*nx == 0) { if (lnx > 0) { *x = lx = ALLOC(DdNode *,lnx); if (lx == NULL) { dd->errorCode = CUDD_MEMORY_OUT; return(0); } *xn = lxn = ALLOC(DdNode *,lnx); if (lxn == NULL) { dd->errorCode = CUDD_MEMORY_OUT; return(0); } } else { *x = *xn = NULL; } } else if (lnx > *nx) { *x = lx = REALLOC(DdNode *, *x, lnx); if (lx == NULL) { dd->errorCode = CUDD_MEMORY_OUT; return(0); } *xn = lxn = REALLOC(DdNode *, *xn, lnx); if (lxn == NULL) { dd->errorCode = CUDD_MEMORY_OUT; return(0); } } else { lx = *x; lxn = *xn; } if (*ny == 0) { if (lny >0) { *y = ly = ALLOC(DdNode *,lny); if (ly == NULL) { dd->errorCode = CUDD_MEMORY_OUT; return(0); } *yn_ = lyn = ALLOC(DdNode *,lny); if (lyn == NULL) { dd->errorCode = CUDD_MEMORY_OUT; return(0); } } else { *y = *yn_ = NULL; } } else if (lny > *ny) { *y = ly = REALLOC(DdNode *, *y, lny); if (ly == NULL) { dd->errorCode = CUDD_MEMORY_OUT; return(0); } *yn_ = lyn = REALLOC(DdNode *, *yn_, lny); if (lyn == NULL) { dd->errorCode = CUDD_MEMORY_OUT; return(0); } } else { ly = *y; lyn = *yn_; } /* Create new variables as needed */ for (i= *nx,nv=bx+(*nx)*sx; i < lnx; i++,nv+=sx) { do { dd->reordered = 0; lx[i] = cuddUniqueInter(dd, nv, one, zero); } while (dd->reordered == 1); if (lx[i] == NULL) return(0); cuddRef(lx[i]); do { dd->reordered = 0; lxn[i] = cuddUniqueInter(dd, nv, zero, one); } while (dd->reordered == 1); if (lxn[i] == NULL) return(0); cuddRef(lxn[i]); } for (i= *ny,nv=by+(*ny)*sy; i < lny; i++,nv+=sy) { do { dd->reordered = 0; ly[i] = cuddUniqueInter(dd, nv, one, zero); } while (dd->reordered == 1); if (ly[i] == NULL) return(0); cuddRef(ly[i]); do { dd->reordered = 0; lyn[i] = cuddUniqueInter(dd, nv, zero, one); } while (dd->reordered == 1); if (lyn[i] == NULL) return(0); cuddRef(lyn[i]); } /* Update matrix parameters */ *nx = lnx; *ny = lny; *m = nrow; if (nrhs == 0) { *n = ncol; } else { *n = (1 << (lny - 1)) + nrhs; } /* Read structure data */ colptr = ALLOC(int, ncol+1); if (colptr == NULL) { dd->errorCode = CUDD_MEMORY_OUT; return(0); } rowind = ALLOC(int, nnzero); if (rowind == NULL) { dd->errorCode = CUDD_MEMORY_OUT; return(0); } for (i=0; ierr,"%s: Unexpected colptr[0] (%d)\n", key,colptr[0]); FREE(colptr); FREE(rowind); return(0); } for (i=0; i=0; nv--) { if (v & 1) { w = Cudd_addApply(dd, Cudd_addTimes, cubey, ly[nv]); } else { w = Cudd_addApply(dd, Cudd_addTimes, cubey, lyn[nv]); } if (w == NULL) { Cudd_RecursiveDeref(dd, cubey); FREE(colptr); FREE(rowind); return(0); } cuddRef(w); Cudd_RecursiveDeref(dd, cubey); cubey = w; v >>= 1; } for (i=colptr[j]; i=0; nv--) { if (u & 1) { w = Cudd_addApply(dd, Cudd_addTimes, cubex, lx[nv]); } else { w = Cudd_addApply(dd, Cudd_addTimes, cubex, lxn[nv]); } if (w == NULL) { Cudd_RecursiveDeref(dd, cubey); Cudd_RecursiveDeref(dd, cubex); FREE(colptr); FREE(rowind); return(0); } cuddRef(w); Cudd_RecursiveDeref(dd, cubex); cubex = w; u >>= 1; } minterm1 = Cudd_addApply(dd, Cudd_addTimes, cubey, cubex); if (minterm1 == NULL) { Cudd_RecursiveDeref(dd, cubey); Cudd_RecursiveDeref(dd, cubex); FREE(colptr); FREE(rowind); return(0); } cuddRef(minterm1); Cudd_RecursiveDeref(dd, cubex); w = Cudd_addApply(dd, Cudd_addPlus, *E, minterm1); if (w == NULL) { Cudd_RecursiveDeref(dd, cubey); FREE(colptr); FREE(rowind); return(0); } cuddRef(w); Cudd_RecursiveDeref(dd, minterm1); Cudd_RecursiveDeref(dd, *E); *E = w; } Cudd_RecursiveDeref(dd, cubey); } FREE(colptr); FREE(rowind); /* Read right-hand sides */ for (j=0; j=0; nv--) { if (v & 1) { w = Cudd_addApply(dd, Cudd_addTimes, cubey, ly[nv]); } else { w = Cudd_addApply(dd, Cudd_addTimes, cubey, lyn[nv]); } if (w == NULL) { Cudd_RecursiveDeref(dd, cubey); return(0); } cuddRef(w); Cudd_RecursiveDeref(dd, cubey); cubey = w; v >>= 1; } for (i=0; i=0; nv--) { if (u & 1) { w = Cudd_addApply(dd, Cudd_addTimes, cubex, lx[nv]); } else { w = Cudd_addApply(dd, Cudd_addTimes, cubex, lxn[nv]); } if (w == NULL) { Cudd_RecursiveDeref(dd, cubey); Cudd_RecursiveDeref(dd, cubex); return(0); } cuddRef(w); Cudd_RecursiveDeref(dd, cubex); cubex = w; u >>= 1; } minterm1 = Cudd_addApply(dd, Cudd_addTimes, cubey, cubex); if (minterm1 == NULL) { Cudd_RecursiveDeref(dd, cubey); Cudd_RecursiveDeref(dd, cubex); return(0); } cuddRef(minterm1); Cudd_RecursiveDeref(dd, cubex); w = Cudd_addApply(dd, Cudd_addPlus, *E, minterm1); if (w == NULL) { Cudd_RecursiveDeref(dd, cubey); return(0); } cuddRef(w); Cudd_RecursiveDeref(dd, minterm1); Cudd_RecursiveDeref(dd, *E); *E = w; } Cudd_RecursiveDeref(dd, cubey); } return(1); } /* end of Cudd_addHarwell */ /*---------------------------------------------------------------------------*/ /* Definition of internal functions */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Definition of static functions */ /*---------------------------------------------------------------------------*/ BRiAl-1.2.12/cudd/cuddInit.c000066400000000000000000000243171436062512100153630ustar00rootroot00000000000000/**CFile*********************************************************************** FileName [cuddInit.c] PackageName [cudd] Synopsis [Functions to initialize and shut down the DD manager.] Description [External procedures included in this module:
      • Cudd_Init()
      • Cudd_Quit()
      Internal procedures included in this module:
      • cuddZddInitUniv()
      • cuddZddFreeUniv()
      ] SeeAlso [] Author [Fabio Somenzi] Copyright [Copyright (c) 1995-2012, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.] ******************************************************************************/ #include "util.h" #include "cuddInt.h" #ifndef PBORI_FORCE_ORIGINAL_CUDD #include #endif /*---------------------------------------------------------------------------*/ /* Constant declarations */ /*---------------------------------------------------------------------------*/ #ifndef PBORI_FORCE_ORIGINAL_CUDD void (*MMoutOfMemory)(long) = MMout_of_memory; /* MMout_of_memory -- out of memory for lazy people, flush and exit */ #endif /*---------------------------------------------------------------------------*/ /* Stucture declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Type declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Variable declarations */ /*---------------------------------------------------------------------------*/ #ifndef lint static char rcsid[] DD_UNUSED = "$Id: cuddInit.c,v 1.34 2012/02/05 01:07:19 fabio Exp $"; #endif /*---------------------------------------------------------------------------*/ /* Macro declarations */ /*---------------------------------------------------------------------------*/ /**AutomaticStart*************************************************************/ /*---------------------------------------------------------------------------*/ /* Static function prototypes */ /*---------------------------------------------------------------------------*/ /**AutomaticEnd***************************************************************/ /*---------------------------------------------------------------------------*/ /* Definition of exported functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Creates a new DD manager.] Description [Creates a new DD manager, initializes the table, the basic constants and the projection functions. If maxMemory is 0, Cudd_Init decides suitable values for the maximum size of the cache and for the limit for fast unique table growth based on the available memory. Returns a pointer to the manager if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_Quit] ******************************************************************************/ DdManager * Cudd_Init( unsigned int numVars /* initial number of BDD variables (i.e., subtables) */, unsigned int numVarsZ /* initial number of ZDD variables (i.e., subtables) */, unsigned int numSlots /* initial size of the unique tables */, unsigned int cacheSize /* initial size of the cache */, unsigned long maxMemory /* target maximum memory occupation */) { DdManager *unique; int i,result; DdNode *one, *zero; unsigned int maxCacheSize; unsigned int looseUpTo; extern DD_OOMFP MMoutOfMemory; DD_OOMFP saveHandler; if (maxMemory == 0) { maxMemory = getSoftDataLimit(); } looseUpTo = (unsigned int) ((maxMemory / sizeof(DdNode)) / DD_MAX_LOOSE_FRACTION); unique = cuddInitTable(numVars,numVarsZ,numSlots,looseUpTo); if (unique == NULL) return(NULL); unique->maxmem = (unsigned long) maxMemory / 10 * 9; maxCacheSize = (unsigned int) ((maxMemory / sizeof(DdCache)) / DD_MAX_CACHE_FRACTION); result = cuddInitCache(unique,cacheSize,maxCacheSize); if (result == 0) return(NULL); saveHandler = MMoutOfMemory; MMoutOfMemory = Cudd_OutOfMem; unique->stash = ALLOC(char,(maxMemory / DD_STASH_FRACTION) + 4); MMoutOfMemory = saveHandler; if (unique->stash == NULL) { (void) fprintf(unique->err,"Unable to set aside memory\n"); return (NULL); } /* Initialize constants. */ unique->one = cuddUniqueConst(unique,1.0); if (unique->one == NULL) return(0); cuddRef(unique->one); unique->zero = cuddUniqueConst(unique,0.0); if (unique->zero == NULL) return(0); cuddRef(unique->zero); #ifdef HAVE_IEEE_754 if (DD_PLUS_INF_VAL != DD_PLUS_INF_VAL * 3 || DD_PLUS_INF_VAL != DD_PLUS_INF_VAL / 3) { (void) fprintf(unique->err,"Warning: Crippled infinite values\n"); (void) fprintf(unique->err,"Recompile without -DHAVE_IEEE_754\n"); } #endif unique->plusinfinity = cuddUniqueConst(unique,DD_PLUS_INF_VAL); if (unique->plusinfinity == NULL) return(0); cuddRef(unique->plusinfinity); unique->minusinfinity = cuddUniqueConst(unique,DD_MINUS_INF_VAL); if (unique->minusinfinity == NULL) return(0); cuddRef(unique->minusinfinity); unique->background = unique->zero; /* The logical zero is different from the CUDD_VALUE_TYPE zero! */ one = unique->one; zero = Cudd_Not(one); /* Create the projection functions. */ unique->vars = ALLOC(DdNodePtr,unique->maxSize); if (unique->vars == NULL) { unique->errorCode = CUDD_MEMORY_OUT; return(NULL); } for (i = 0; i < unique->size; i++) { unique->vars[i] = cuddUniqueInter(unique,i,one,zero); if (unique->vars[i] == NULL) return(0); cuddRef(unique->vars[i]); } if (unique->sizeZ) cuddZddInitUniv(unique); unique->memused += sizeof(DdNode *) * unique->maxSize; return(unique); } /* end of Cudd_Init */ /**Function******************************************************************** Synopsis [Deletes resources associated with a DD manager.] Description [Deletes resources associated with a DD manager and resets the global statistical counters. (Otherwise, another manaqger subsequently created would inherit the stats of this one.)] SideEffects [None] SeeAlso [Cudd_Init] ******************************************************************************/ void Cudd_Quit( DdManager * unique) { if (unique->stash != NULL) FREE(unique->stash); cuddFreeTable(unique); } /* end of Cudd_Quit */ /*---------------------------------------------------------------------------*/ /* Definition of internal functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Initializes the ZDD universe.] Description [Initializes the ZDD universe. Returns 1 if successful; 0 otherwise.] SideEffects [None] SeeAlso [cuddZddFreeUniv] ******************************************************************************/ int cuddZddInitUniv( DdManager * zdd) { DdNode *p, *res; int i; zdd->univ = ALLOC(DdNodePtr, zdd->sizeZ); if (zdd->univ == NULL) { zdd->errorCode = CUDD_MEMORY_OUT; return(0); } res = DD_ONE(zdd); cuddRef(res); for (i = zdd->sizeZ - 1; i >= 0; i--) { unsigned int index = zdd->invpermZ[i]; p = res; res = cuddUniqueInterZdd(zdd, index, p, p); if (res == NULL) { Cudd_RecursiveDerefZdd(zdd,p); FREE(zdd->univ); return(0); } cuddRef(res); cuddDeref(p); zdd->univ[i] = res; } #ifdef DD_VERBOSE cuddZddP(zdd, zdd->univ[0]); #endif return(1); } /* end of cuddZddInitUniv */ /**Function******************************************************************** Synopsis [Frees the ZDD universe.] Description [Frees the ZDD universe.] SideEffects [None] SeeAlso [cuddZddInitUniv] ******************************************************************************/ void cuddZddFreeUniv( DdManager * zdd) { if (zdd->univ) { Cudd_RecursiveDerefZdd(zdd, zdd->univ[0]); FREE(zdd->univ); } } /* end of cuddZddFreeUniv */ /*---------------------------------------------------------------------------*/ /* Definition of static functions */ /*---------------------------------------------------------------------------*/ BRiAl-1.2.12/cudd/cuddInt.h000066400000000000000000001452441436062512100152220ustar00rootroot00000000000000/**CHeaderFile***************************************************************** FileName [cuddInt.h] PackageName [cudd] Synopsis [Internal data structures of the CUDD package.] Description [] SeeAlso [] Author [Fabio Somenzi] Copyright [Copyright (c) 1995-2012, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.] Revision [$Id: cuddInt.h,v 1.142 2012/02/05 01:07:19 fabio Exp $] ******************************************************************************/ #ifndef _CUDDINT #define _CUDDINT /// For optimizing if-branches #ifdef __GNUC__ #ifndef LIKELY #define LIKELY(expression) (__builtin_expect(!!(expression), 1)) #endif #ifndef UNLIKELY #define UNLIKELY(expression) (__builtin_expect(!!(expression), 0)) #endif #else #ifndef LIKELY #define LIKELY(expression) (expression) #endif #ifndef UNLIKELY #define UNLIKELY(expression) (expression) #endif #endif /*---------------------------------------------------------------------------*/ /* Nested includes */ /*---------------------------------------------------------------------------*/ #ifdef DD_MIS #include "array.h" #include "list.h" #include "st.h" #include "espresso.h" #include "node.h" #ifdef SIS #include "graph.h" #include "astg.h" #endif #include "network.h" #endif #include #include "cudd.h" #ifdef PBORI_FORCE_ORIGINAL_CUDD #include "st.h" #else #include #endif #ifdef __cplusplus extern "C" { #endif #if defined(__GNUC__) # define DD_INLINE __inline__ # if (__GNUC__ >2 || __GNUC_MINOR__ >=7) # define DD_UNUSED __attribute__ ((__unused__)) # else # define DD_UNUSED # endif #else # if defined(__cplusplus) # define DD_INLINE inline # else # define DD_INLINE # endif # define DD_UNUSED #endif /*---------------------------------------------------------------------------*/ /* Constant declarations */ /*---------------------------------------------------------------------------*/ #define DD_MAXREF ((DdHalfWord) ~0) #define DD_DEFAULT_RESIZE 10 /* how many extra variables */ /* should be added when resizing */ #define DD_MEM_CHUNK 1022 /* These definitions work for CUDD_VALUE_TYPE == double */ #define DD_ONE_VAL (1.0) #define DD_ZERO_VAL (0.0) #define DD_EPSILON (1.0e-12) /* The definitions of +/- infinity in terms of HUGE_VAL work on ** the DECstations and on many other combinations of OS/compiler. */ #ifdef HAVE_IEEE_754 # define DD_PLUS_INF_VAL (HUGE_VAL) #else # define DD_PLUS_INF_VAL (10e301) # define DD_CRI_HI_MARK (10e150) # define DD_CRI_LO_MARK (-(DD_CRI_HI_MARK)) #endif #define DD_MINUS_INF_VAL (-(DD_PLUS_INF_VAL)) #define DD_NON_CONSTANT ((DdNode *) 1) /* for Cudd_bddIteConstant */ /* Unique table and cache management constants. */ #define DD_MAX_SUBTABLE_DENSITY 4 /* tells when to resize a subtable */ /* gc when this percent are dead (measured w.r.t. slots, not keys) ** The first limit (LO) applies normally. The second limit applies when ** the package believes more space for the unique table (i.e., more dead ** nodes) would improve performance, and the unique table is not already ** too large. The third limit applies when memory is low. */ #define DD_GC_FRAC_LO DD_MAX_SUBTABLE_DENSITY * 0.25 #define DD_GC_FRAC_HI DD_MAX_SUBTABLE_DENSITY * 1.0 #define DD_GC_FRAC_MIN 0.2 #define DD_MIN_HIT 30 /* resize cache when hit ratio above this percentage (default) */ #define DD_MAX_LOOSE_FRACTION 5 /* 1 / (max fraction of memory used for unique table in fast growth mode) */ #define DD_MAX_CACHE_FRACTION 3 /* 1 / (max fraction of memory used for computed table if resizing enabled) */ #define DD_STASH_FRACTION 64 /* 1 / (fraction of memory set aside for emergencies) */ #define DD_MAX_CACHE_TO_SLOTS_RATIO 4 /* used to limit the cache size */ /* Variable ordering default parameter values. */ #define DD_SIFT_MAX_VAR 1000 #define DD_SIFT_MAX_SWAPS 2000000 #define DD_DEFAULT_RECOMB 0 #define DD_MAX_REORDER_GROWTH 1.2 #define DD_FIRST_REORDER 4004 /* 4 for the constants */ #define DD_DYN_RATIO 2 /* when to dynamically reorder */ /* Primes for cache hash functions. */ #define DD_P1 12582917 #define DD_P2 4256249 #define DD_P3 741457 #define DD_P4 1618033999 /* Cache tags for 3-operand operators. These tags are stored in the ** least significant bits of the cache operand pointers according to ** the following scheme. The tag consists of two hex digits. Both digits ** must be even, so that they do not interfere with complementation bits. ** The least significant one is stored in Bits 3:1 of the f operand in the ** cache entry. Bit 1 is always 1, so that we can differentiate ** three-operand operations from one- and two-operand operations. ** Therefore, the least significant digit is one of {2,6,a,e}. The most ** significant digit occupies Bits 3:1 of the g operand in the cache ** entry. It can by any even digit between 0 and e. This gives a total ** of 5 bits for the tag proper, which means a maximum of 32 three-operand ** operations. */ #define DD_ADD_ITE_TAG 0x02 #define DD_BDD_AND_ABSTRACT_TAG 0x06 #define DD_BDD_XOR_EXIST_ABSTRACT_TAG 0x0a #define DD_BDD_ITE_TAG 0x0e #define DD_ADD_BDD_DO_INTERVAL_TAG 0x22 #define DD_BDD_CLIPPING_AND_ABSTRACT_UP_TAG 0x26 #define DD_BDD_CLIPPING_AND_ABSTRACT_DOWN_TAG 0x2a #define DD_BDD_COMPOSE_RECUR_TAG 0x2e #define DD_ADD_COMPOSE_RECUR_TAG 0x42 #define DD_ADD_NON_SIM_COMPOSE_TAG 0x46 #define DD_EQUIV_DC_TAG 0x4a #define DD_ZDD_ITE_TAG 0x4e #define DD_ADD_ITE_CONSTANT_TAG 0x62 #define DD_ADD_EVAL_CONST_TAG 0x66 #define DD_BDD_ITE_CONSTANT_TAG 0x6a #define DD_ADD_OUT_SUM_TAG 0x6e #define DD_BDD_LEQ_UNLESS_TAG 0x82 #define DD_ADD_TRIANGLE_TAG 0x86 #define DD_BDD_MAX_EXP_TAG 0x8a /* Generator constants. */ #define CUDD_GEN_CUBES 0 #define CUDD_GEN_PRIMES 1 #define CUDD_GEN_NODES 2 #define CUDD_GEN_ZDD_PATHS 3 #define CUDD_GEN_EMPTY 0 #define CUDD_GEN_NONEMPTY 1 /*---------------------------------------------------------------------------*/ /* Stucture declarations */ /*---------------------------------------------------------------------------*/ struct DdGen { PBORI_PREFIX(DdManager) *manager; int type; int status; union { struct { int *cube; CUDD_VALUE_TYPE value; } cubes; struct { int *cube; DdNode *ub; } primes; struct { int size; } nodes; } gen; struct { int sp; DdNode **stack; } stack; DdNode *node; }; /*---------------------------------------------------------------------------*/ /* Type declarations */ /*---------------------------------------------------------------------------*/ /* Hooks in CUDD are functions that the application registers with the ** manager so that they are called at appropriate times. The functions ** are passed the manager as argument; they should return 1 if ** successful and 0 otherwise. */ typedef struct DdHook { /* hook list element */ DD_HFP f; /* function to be called */ struct DdHook *next; /* next element in the list */ } DdHook; #if SIZEOF_VOID_P == 8 && SIZEOF_INT == 4 typedef long ptrint; typedef unsigned long ptruint; #else typedef int ptrint; typedef unsigned int ptruint; #endif typedef DdNode *DdNodePtr; /* Generic local cache item. */ typedef struct DdLocalCacheItem { DdNode *value; #ifdef DD_CACHE_PROFILE ptrint count; #endif DdNode *key[1]; } DdLocalCacheItem; /* Local cache. */ typedef struct DdLocalCache { DdLocalCacheItem *item; unsigned int itemsize; unsigned int keysize; unsigned int slots; int shift; double lookUps; double minHit; double hits; unsigned int maxslots; PBORI_PREFIX(DdManager) *manager; struct DdLocalCache *next; } DdLocalCache; /* Generic hash item. */ typedef struct DdHashItem { struct DdHashItem *next; ptrint count; DdNode *value; DdNode *key[1]; } DdHashItem; /* Local hash table */ typedef struct DdHashTable { unsigned int keysize; unsigned int itemsize; DdHashItem **bucket; DdHashItem *nextFree; DdHashItem **memoryList; unsigned int numBuckets; int shift; unsigned int size; unsigned int maxsize; PBORI_PREFIX(DdManager) *manager; } DdHashTable; typedef struct DdCache { DdNode *f,*g; /* DDs */ ptruint h; /* either operator or DD */ DdNode *data; /* already constructed DD */ #ifdef DD_CACHE_PROFILE ptrint count; #endif } DdCache; typedef struct DdSubtable { /* subtable for one index */ DdNode **nodelist; /* hash table */ int shift; /* shift for hash function */ unsigned int slots; /* size of the hash table */ unsigned int keys; /* number of nodes stored in this table */ unsigned int maxKeys; /* slots * DD_MAX_SUBTABLE_DENSITY */ unsigned int dead; /* number of dead nodes in this table */ unsigned int next; /* index of next variable in group */ int bindVar; /* flag to bind this variable to its level */ /* Fields for lazy sifting. */ Cudd_VariableType varType; /* variable type (ps, ns, pi) */ int pairIndex; /* corresponding variable index (ps <-> ns) */ int varHandled; /* flag: 1 means variable is already handled */ Cudd_LazyGroupType varToBeGrouped; /* tells what grouping to apply */ } DdSubtable; struct PBORI_PREFIX(DdManager) { /* specialized DD symbol table */ /* Constants */ DdNode sentinel; /* for collision lists */ DdNode *one; /* constant 1 */ DdNode *zero; /* constant 0 */ DdNode *plusinfinity; /* plus infinity */ DdNode *minusinfinity; /* minus infinity */ DdNode *background; /* background value */ /* Computed Table */ DdCache *acache; /* address of allocated memory for cache */ DdCache *cache; /* the cache-based computed table */ unsigned int cacheSlots; /* total number of cache entries */ int cacheShift; /* shift value for cache hash function */ double cacheMisses; /* number of cache misses (since resizing) */ double cacheHits; /* number of cache hits (since resizing) */ double minHit; /* hit percentage above which to resize */ int cacheSlack; /* slots still available for resizing */ unsigned int maxCacheHard; /* hard limit for cache size */ /* Unique Table */ int size; /* number of unique subtables */ int sizeZ; /* for ZDD */ int maxSize; /* max number of subtables before resizing */ int maxSizeZ; /* for ZDD */ DdSubtable *subtables; /* array of unique subtables */ DdSubtable *subtableZ; /* for ZDD */ DdSubtable constants; /* unique subtable for the constants */ unsigned int slots; /* total number of hash buckets */ unsigned int keys; /* total number of BDD and ADD nodes */ unsigned int keysZ; /* total number of ZDD nodes */ unsigned int dead; /* total number of dead BDD and ADD nodes */ unsigned int deadZ; /* total number of dead ZDD nodes */ unsigned int maxLive; /* maximum number of live nodes */ unsigned int minDead; /* do not GC if fewer than these dead */ double gcFrac; /* gc when this fraction is dead */ int gcEnabled; /* gc is enabled */ unsigned int looseUpTo; /* slow growth beyond this limit */ /* (measured w.r.t. slots, not keys) */ unsigned int initSlots; /* initial size of a subtable */ DdNode **stack; /* stack for iterative procedures */ double allocated; /* number of nodes allocated */ /* (not during reordering) */ double reclaimed; /* number of nodes brought back from the dead */ int isolated; /* isolated projection functions */ int *perm; /* current variable perm. (index to level) */ int *permZ; /* for ZDD */ int *invperm; /* current inv. var. perm. (level to index) */ int *invpermZ; /* for ZDD */ DdNode **vars; /* projection functions */ int *map; /* variable map for fast swap */ DdNode **univ; /* ZDD 1 for each variable */ int linearSize; /* number of rows and columns of linear */ long *interact; /* interacting variable matrix */ long *linear; /* linear transform matrix */ /* Memory Management */ DdNode **memoryList; /* memory manager for symbol table */ DdNode *nextFree; /* list of free nodes */ char *stash; /* memory reserve */ #ifndef DD_NO_DEATH_ROW DdNode **deathRow; /* queue for dereferencing */ int deathRowDepth; /* number of slots in the queue */ int nextDead; /* index in the queue */ unsigned deadMask; /* mask for circular index update */ #endif /* General Parameters */ CUDD_VALUE_TYPE epsilon; /* tolerance on comparisons */ /* Dynamic Reordering Parameters */ int reordered; /* flag set at the end of reordering */ unsigned int reorderings; /* number of calls to Cudd_ReduceHeap */ unsigned int maxReorderings;/* maximum number of calls to Cudd_ReduceHeap */ int siftMaxVar; /* maximum number of vars sifted */ int siftMaxSwap; /* maximum number of swaps per sifting */ double maxGrowth; /* maximum growth during reordering */ double maxGrowthAlt; /* alternate maximum growth for reordering */ int reordCycle; /* how often to apply alternate threshold */ int autoDyn; /* automatic dynamic reordering flag (BDD) */ int autoDynZ; /* automatic dynamic reordering flag (ZDD) */ Cudd_ReorderingType autoMethod; /* default reordering method */ Cudd_ReorderingType autoMethodZ; /* default reordering method (ZDD) */ int realign; /* realign ZDD order after BDD reordering */ int realignZ; /* realign BDD order after ZDD reordering */ unsigned int nextDyn; /* reorder if this size is reached */ unsigned int countDead; /* if 0, count deads to trigger reordering */ #ifdef PBORI_FORCE_ORIGINAL_CUDD MtrNode *tree; /* variable group tree (BDD) */ MtrNode *treeZ; /* variable group tree (ZDD) */ #endif Cudd_AggregationType groupcheck; /* used during group sifting */ int recomb; /* used during group sifting */ int symmviolation; /* used during group sifting */ int arcviolation; /* used during group sifting */ int populationSize; /* population size for GA */ int numberXovers; /* number of crossovers for GA */ unsigned int randomizeOrder; /* perturb the next reordering threshold */ DdLocalCache *localCaches; /* local caches currently in existence */ char *hooks; /* application-specific field (used by vis) */ DdHook *preGCHook; /* hooks to be called before GC */ DdHook *postGCHook; /* hooks to be called after GC */ DdHook *preReorderingHook; /* hooks to be called before reordering */ DdHook *postReorderingHook; /* hooks to be called after reordering */ FILE *out; /* stdout for this manager */ FILE *err; /* stderr for this manager */ Cudd_ErrorType errorCode; /* info on last error */ unsigned long startTime; /* start time in milliseconds */ unsigned long timeLimit; /* CPU time limit */ /* Statistical counters. */ unsigned long memused; /* total memory allocated for the manager */ unsigned long maxmem; /* target maximum memory */ unsigned long maxmemhard; /* hard limit for maximum memory */ int garbageCollections; /* number of garbage collections */ unsigned long GCTime; /* total time spent in garbage collection */ unsigned long reordTime; /* total time spent in reordering */ double totCachehits; /* total number of cache hits */ double totCacheMisses; /* total number of cache misses */ double cachecollisions; /* number of cache collisions */ double cacheinserts; /* number of cache insertions */ double cacheLastInserts; /* insertions at the last cache resizing */ double cachedeletions; /* number of deletions during garbage coll. */ #ifdef DD_STATS double nodesFreed; /* number of nodes returned to the free list */ double nodesDropped; /* number of nodes killed by dereferencing */ #endif unsigned int peakLiveNodes; /* maximum number of live nodes */ #ifdef DD_UNIQUE_PROFILE double uniqueLookUps; /* number of unique table lookups */ double uniqueLinks; /* total distance traveled in coll. chains */ #endif #ifdef DD_COUNT double recursiveCalls; /* number of recursive calls */ #ifdef DD_STATS double nextSample; /* when to write next line of stats */ #endif double swapSteps; /* number of elementary reordering steps */ #endif #ifdef DD_MIS /* mis/verif compatibility fields */ array_t *iton; /* maps ids in ddNode to node_t */ array_t *order; /* copy of order_list */ lsHandle handle; /* where it is in network BDD list */ network_t *network; st_table *local_order; /* for local BDDs */ int nvars; /* variables used so far */ int threshold; /* for pseudo var threshold value*/ #endif }; typedef struct Move { DdHalfWord x; DdHalfWord y; unsigned int flags; int size; struct Move *next; } Move; /* Generic level queue item. */ typedef struct DdQueueItem { struct DdQueueItem *next; struct DdQueueItem *cnext; void *key; } DdQueueItem; /* Level queue. */ typedef struct DdLevelQueue { void *first; DdQueueItem **last; DdQueueItem *freelist; DdQueueItem **buckets; int levels; int itemsize; int size; int maxsize; int numBuckets; int shift; } DdLevelQueue; /*---------------------------------------------------------------------------*/ /* Variable declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Macro declarations */ /*---------------------------------------------------------------------------*/ /**Macro*********************************************************************** Synopsis [Adds node to the head of the free list.] Description [Adds node to the head of the free list. Does not deallocate memory chunks that become free. This function is also used by the dynamic reordering functions.] SideEffects [None] SeeAlso [cuddAllocNode cuddDynamicAllocNode cuddDeallocMove] ******************************************************************************/ #define cuddDeallocNode(unique,node) \ (node)->next = (unique)->nextFree; \ (unique)->nextFree = node; /**Macro*********************************************************************** Synopsis [Adds node to the head of the free list.] Description [Adds node to the head of the free list. Does not deallocate memory chunks that become free. This function is also used by the dynamic reordering functions.] SideEffects [None] SeeAlso [cuddDeallocNode cuddDynamicAllocNode] ******************************************************************************/ #define cuddDeallocMove(unique,node) \ ((DdNode *)(node))->ref = 0; \ ((DdNode *)(node))->next = (unique)->nextFree; \ (unique)->nextFree = (DdNode *)(node); /**Macro*********************************************************************** Synopsis [Increases the reference count of a node, if it is not saturated.] Description [Increases the reference count of a node, if it is not saturated. This being a macro, it is faster than Cudd_Ref, but it cannot be used in constructs like cuddRef(a = b()).] SideEffects [none] SeeAlso [Cudd_Ref] ******************************************************************************/ #define cuddRef(n) cuddSatInc(Cudd_Regular(n)->ref) /**Macro*********************************************************************** Synopsis [Decreases the reference count of a node, if it is not saturated.] Description [Decreases the reference count of node. It is primarily used in recursive procedures to decrease the ref count of a result node before returning it. This accomplishes the goal of removing the protection applied by a previous cuddRef. This being a macro, it is faster than Cudd_Deref, but it cannot be used in constructs like cuddDeref(a = b()).] SideEffects [none] SeeAlso [Cudd_Deref] ******************************************************************************/ #define cuddDeref(n) cuddSatDec(Cudd_Regular(n)->ref) /**Macro*********************************************************************** Synopsis [Returns 1 if the node is a constant node.] Description [Returns 1 if the node is a constant node (rather than an internal node). All constant nodes have the same index (CUDD_CONST_INDEX). The pointer passed to cuddIsConstant must be regular.] SideEffects [none] SeeAlso [Cudd_IsConstant] ******************************************************************************/ #define cuddIsConstant(node) ((node)->index == CUDD_CONST_INDEX) /**Macro*********************************************************************** Synopsis [Returns the then child of an internal node.] Description [Returns the then child of an internal node. If node is a constant node, the result is unpredictable. The pointer passed to cuddT must be regular.] SideEffects [none] SeeAlso [Cudd_T] ******************************************************************************/ #define cuddT(node) ((node)->type.kids.T) /**Macro*********************************************************************** Synopsis [Returns the else child of an internal node.] Description [Returns the else child of an internal node. If node is a constant node, the result is unpredictable. The pointer passed to cuddE must be regular.] SideEffects [none] SeeAlso [Cudd_E] ******************************************************************************/ #define cuddE(node) ((node)->type.kids.E) /**Macro*********************************************************************** Synopsis [Returns the value of a constant node.] Description [Returns the value of a constant node. If node is an internal node, the result is unpredictable. The pointer passed to cuddV must be regular.] SideEffects [none] SeeAlso [Cudd_V] ******************************************************************************/ #define cuddV(node) ((node)->type.value) /**Macro*********************************************************************** Synopsis [Finds the current position of variable index in the order.] Description [Finds the current position of variable index in the order. This macro duplicates the functionality of Cudd_ReadPerm, but it does not check for out-of-bounds indices and it is more efficient.] SideEffects [none] SeeAlso [Cudd_ReadPerm] ******************************************************************************/ #define cuddI(dd,index) (((index)==CUDD_CONST_INDEX)?(int)(index):(dd)->perm[(index)]) /**Macro*********************************************************************** Synopsis [Finds the current position of ZDD variable index in the order.] Description [Finds the current position of ZDD variable index in the order. This macro duplicates the functionality of Cudd_ReadPermZdd, but it does not check for out-of-bounds indices and it is more efficient.] SideEffects [none] SeeAlso [Cudd_ReadPermZdd] ******************************************************************************/ #define cuddIZ(dd,index) (((index)==CUDD_CONST_INDEX)?(int)(index):(dd)->permZ[(index)]) /**Macro*********************************************************************** Synopsis [Hash function for the unique table.] Description [] SideEffects [none] SeeAlso [ddCHash ddCHash2] ******************************************************************************/ #if SIZEOF_VOID_P == 8 && SIZEOF_INT == 4 #define ddHash(f,g,s) \ ((((unsigned)(ptruint)(f) * DD_P1 + \ (unsigned)(ptruint)(g)) * DD_P2) >> (s)) #else #define ddHash(f,g,s) \ ((((unsigned)(f) * DD_P1 + (unsigned)(g)) * DD_P2) >> (s)) #endif /**Macro*********************************************************************** Synopsis [Hash function for the cache.] Description [] SideEffects [none] SeeAlso [ddHash ddCHash2] ******************************************************************************/ #if SIZEOF_VOID_P == 8 && SIZEOF_INT == 4 #define ddCHash(o,f,g,h,s) \ ((((((unsigned)(ptruint)(f) + (unsigned)(ptruint)(o)) * DD_P1 + \ (unsigned)(ptruint)(g)) * DD_P2 + \ (unsigned)(ptruint)(h)) * DD_P3) >> (s)) #else #define ddCHash(o,f,g,h,s) \ ((((((unsigned)(f) + (unsigned)(o)) * DD_P1 + (unsigned)(g)) * DD_P2 + \ (unsigned)(h)) * DD_P3) >> (s)) #endif /**Macro*********************************************************************** Synopsis [Hash function for the cache for functions with two operands.] Description [] SideEffects [none] SeeAlso [ddHash ddCHash] ******************************************************************************/ #if SIZEOF_VOID_P == 8 && SIZEOF_INT == 4 #define ddCHash2(o,f,g,s) \ (((((unsigned)(ptruint)(f) + (unsigned)(ptruint)(o)) * DD_P1 + \ (unsigned)(ptruint)(g)) * DD_P2) >> (s)) #else #define ddCHash2(o,f,g,s) \ (((((unsigned)(f) + (unsigned)(o)) * DD_P1 + (unsigned)(g)) * DD_P2) >> (s)) #endif /**Macro*********************************************************************** Synopsis [Clears the 4 least significant bits of a pointer.] Description [] SideEffects [none] SeeAlso [] ******************************************************************************/ #define cuddClean(p) ((DdNode *)((ptruint)(p) & ~0xf)) /**Macro*********************************************************************** Synopsis [Computes the minimum of two numbers.] Description [] SideEffects [none] SeeAlso [ddMax] ******************************************************************************/ #define ddMin(x,y) (((y) < (x)) ? (y) : (x)) /**Macro*********************************************************************** Synopsis [Computes the maximum of two numbers.] Description [] SideEffects [none] SeeAlso [ddMin] ******************************************************************************/ #define ddMax(x,y) (((y) > (x)) ? (y) : (x)) /**Macro*********************************************************************** Synopsis [Computes the absolute value of a number.] Description [] SideEffects [none] SeeAlso [] ******************************************************************************/ #define ddAbs(x) (((x)<0) ? -(x) : (x)) /**Macro*********************************************************************** Synopsis [Returns 1 if the absolute value of the difference of the two arguments x and y is less than e.] Description [] SideEffects [none] SeeAlso [] ******************************************************************************/ #define ddEqualVal(x,y,e) (ddAbs((x)-(y))<(e)) /**Macro*********************************************************************** Synopsis [Saturating increment operator.] Description [] SideEffects [none] SeeAlso [cuddSatDec] ******************************************************************************/ #if SIZEOF_VOID_P == 8 && SIZEOF_INT == 4 #define cuddSatInc(x) ((x)++) #else #define cuddSatInc(x) ((x) += (x) != (DdHalfWord)DD_MAXREF) #endif /**Macro*********************************************************************** Synopsis [Saturating decrement operator.] Description [] SideEffects [none] SeeAlso [cuddSatInc] ******************************************************************************/ #if SIZEOF_VOID_P == 8 && SIZEOF_INT == 4 #define cuddSatDec(x) ((x)--) #else #define cuddSatDec(x) ((x) -= (x) != (DdHalfWord)DD_MAXREF) #endif /**Macro*********************************************************************** Synopsis [Returns the constant 1 node.] Description [] SideEffects [none] SeeAlso [DD_ZERO DD_PLUS_INFINITY DD_MINUS_INFINITY] ******************************************************************************/ #define DD_ONE(dd) ((dd)->one) /**Macro*********************************************************************** Synopsis [Returns the arithmetic 0 constant node.] Description [Returns the arithmetic 0 constant node. This is different from the logical zero. The latter is obtained by Cudd_Not(DD_ONE(dd)).] SideEffects [none] SeeAlso [DD_ONE Cudd_Not DD_PLUS_INFINITY DD_MINUS_INFINITY] ******************************************************************************/ #define DD_ZERO(dd) ((dd)->zero) /**Macro*********************************************************************** Synopsis [Returns the plus infinity constant node.] Description [] SideEffects [none] SeeAlso [DD_ONE DD_ZERO DD_MINUS_INFINITY] ******************************************************************************/ #define DD_PLUS_INFINITY(dd) ((dd)->plusinfinity) /**Macro*********************************************************************** Synopsis [Returns the minus infinity constant node.] Description [] SideEffects [none] SeeAlso [DD_ONE DD_ZERO DD_PLUS_INFINITY] ******************************************************************************/ #define DD_MINUS_INFINITY(dd) ((dd)->minusinfinity) /**Macro*********************************************************************** Synopsis [Enforces DD_MINUS_INF_VAL <= x <= DD_PLUS_INF_VAL.] Description [Enforces DD_MINUS_INF_VAL <= x <= DD_PLUS_INF_VAL. Furthermore, if x <= DD_MINUS_INF_VAL/2, x is set to DD_MINUS_INF_VAL. Similarly, if DD_PLUS_INF_VAL/2 <= x, x is set to DD_PLUS_INF_VAL. Normally this macro is a NOOP. However, if HAVE_IEEE_754 is not defined, it makes sure that a value does not get larger than infinity in absolute value, and once it gets to infinity, stays there. If the value overflows before this macro is applied, no recovery is possible.] SideEffects [none] SeeAlso [] ******************************************************************************/ #ifdef HAVE_IEEE_754 #define cuddAdjust(x) #else #define cuddAdjust(x) ((x) = ((x) >= DD_CRI_HI_MARK) ? DD_PLUS_INF_VAL : (((x) <= DD_CRI_LO_MARK) ? DD_MINUS_INF_VAL : (x))) #endif /**Macro*********************************************************************** Synopsis [Extract the least significant digit of a double digit.] Description [Extract the least significant digit of a double digit. Used in the manipulation of arbitrary precision integers.] SideEffects [None] SeeAlso [DD_MSDIGIT] ******************************************************************************/ #define DD_LSDIGIT(x) ((x) & DD_APA_MASK) /**Macro*********************************************************************** Synopsis [Extract the most significant digit of a double digit.] Description [Extract the most significant digit of a double digit. Used in the manipulation of arbitrary precision integers.] SideEffects [None] SeeAlso [DD_LSDIGIT] ******************************************************************************/ #define DD_MSDIGIT(x) ((x) >> DD_APA_BITS) /**Macro*********************************************************************** Synopsis [Outputs a line of stats.] Description [Outputs a line of stats if DD_COUNT and DD_STATS are defined. Increments the number of recursive calls if DD_COUNT is defined.] SideEffects [None] SeeAlso [] ******************************************************************************/ #ifdef DD_COUNT #ifdef DD_STATS #define statLine(dd) dd->recursiveCalls++; \ if (dd->recursiveCalls == dd->nextSample) {(void) fprintf(dd->err, \ "@%.0f: %u nodes %u live %.0f dropped %.0f reclaimed\n", dd->recursiveCalls, \ dd->keys, dd->keys - dd->dead, dd->nodesDropped, dd->reclaimed); \ dd->nextSample += 250000;} #else #define statLine(dd) dd->recursiveCalls++; #endif #else #define statLine(dd) #endif /**AutomaticStart*************************************************************/ /*---------------------------------------------------------------------------*/ /* Function prototypes */ /*---------------------------------------------------------------------------*/ extern DdNode * cuddAddExistAbstractRecur (PBORI_PREFIX(DdManager) *manager, DdNode *f, DdNode *cube); extern DdNode * cuddAddUnivAbstractRecur (PBORI_PREFIX(DdManager) *manager, DdNode *f, DdNode *cube); extern DdNode * cuddAddOrAbstractRecur (PBORI_PREFIX(DdManager) *manager, DdNode *f, DdNode *cube); extern DdNode * cuddAddApplyRecur (PBORI_PREFIX(DdManager) *dd, DdNode * (*)(PBORI_PREFIX(DdManager) *, DdNode **, DdNode **), DdNode *f, DdNode *g); extern DdNode * cuddAddMonadicApplyRecur (PBORI_PREFIX(DdManager) * dd, DdNode * (*op)(PBORI_PREFIX(DdManager) *, DdNode *), DdNode * f); extern DdNode * cuddAddScalarInverseRecur (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *epsilon); extern DdNode * cuddAddIteRecur (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *g, DdNode *h); extern DdNode * cuddAddCmplRecur (PBORI_PREFIX(DdManager) *dd, DdNode *f); extern DdNode * cuddAddNegateRecur (PBORI_PREFIX(DdManager) *dd, DdNode *f); extern DdNode * cuddAddRoundOffRecur (PBORI_PREFIX(DdManager) *dd, DdNode *f, double trunc); extern DdNode * cuddUnderApprox (PBORI_PREFIX(DdManager) *dd, DdNode *f, int numVars, int threshold, int safe, double quality); extern DdNode * cuddRemapUnderApprox (PBORI_PREFIX(DdManager) *dd, DdNode *f, int numVars, int threshold, double quality); extern DdNode * cuddBiasedUnderApprox (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *b, int numVars, int threshold, double quality1, double quality0); extern DdNode * cuddBddAndAbstractRecur (PBORI_PREFIX(DdManager) *manager, DdNode *f, DdNode *g, DdNode *cube); extern int cuddAnnealing (PBORI_PREFIX(DdManager) *table, int lower, int upper); extern DdNode * cuddBddExistAbstractRecur (PBORI_PREFIX(DdManager) *manager, DdNode *f, DdNode *cube); extern DdNode * cuddBddXorExistAbstractRecur (PBORI_PREFIX(DdManager) *manager, DdNode *f, DdNode *g, DdNode *cube); extern DdNode * cuddBddBooleanDiffRecur (PBORI_PREFIX(DdManager) *manager, DdNode *f, DdNode *var); extern DdNode * cuddBddIteRecur (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *g, DdNode *h); extern DdNode * cuddBddIntersectRecur (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *g); extern DdNode * cuddBddAndRecur (PBORI_PREFIX(DdManager) *manager, DdNode *f, DdNode *g); extern DdNode * cuddBddXorRecur (PBORI_PREFIX(DdManager) *manager, DdNode *f, DdNode *g); extern DdNode * cuddBddTransfer (PBORI_PREFIX(DdManager) *ddS, PBORI_PREFIX(DdManager) *ddD, DdNode *f); extern DdNode * cuddAddBddDoPattern (PBORI_PREFIX(DdManager) *dd, DdNode *f); extern int PBORI_PREFIX(cuddInitCache) (PBORI_PREFIX(DdManager) *unique, unsigned int cacheSize, unsigned int maxCacheSize); extern void PBORI_PREFIX(cuddCacheInsert) (PBORI_PREFIX(DdManager) *table, ptruint op, DdNode *f, DdNode *g, DdNode *h, DdNode *data); extern void PBORI_PREFIX(cuddCacheInsert2) (PBORI_PREFIX(DdManager) *table, DdNode * (*)(PBORI_PREFIX(DdManager) *, DdNode *, DdNode *), DdNode *f, DdNode *g, DdNode *data); extern void PBORI_PREFIX(cuddCacheInsert1) (PBORI_PREFIX(DdManager) *table, DdNode * (*)(PBORI_PREFIX(DdManager) *, DdNode *), DdNode *f, DdNode *data); extern DdNode * PBORI_PREFIX(cuddCacheLookup) (PBORI_PREFIX(DdManager) *table, ptruint op, DdNode *f, DdNode *g, DdNode *h); extern DdNode * PBORI_PREFIX(cuddCacheLookupZdd) (PBORI_PREFIX(DdManager) *table, ptruint op, DdNode *f, DdNode *g, DdNode *h); extern DdNode * PBORI_PREFIX(cuddCacheLookup2) (PBORI_PREFIX(DdManager) *table, DdNode * (*)(PBORI_PREFIX(DdManager) *, DdNode *, DdNode *), DdNode *f, DdNode *g); extern DdNode * PBORI_PREFIX(cuddCacheLookup1) (PBORI_PREFIX(DdManager) *table, DdNode * (*)(PBORI_PREFIX(DdManager) *, DdNode *), DdNode *f); extern DdNode * PBORI_PREFIX(cuddCacheLookup2Zdd) (PBORI_PREFIX(DdManager) *table, DdNode * (*)(PBORI_PREFIX(DdManager) *, DdNode *, DdNode *), DdNode *f, DdNode *g); extern DdNode * PBORI_PREFIX(cuddCacheLookup1Zdd) (PBORI_PREFIX(DdManager) *table, DdNode * (*)(PBORI_PREFIX(DdManager) *, DdNode *), DdNode *f); extern DdNode * PBORI_PREFIX(cuddConstantLookup) (PBORI_PREFIX(DdManager) *table, ptruint op, DdNode *f, DdNode *g, DdNode *h); extern int PBORI_PREFIX(cuddCacheProfile) (PBORI_PREFIX(DdManager) *table, FILE *fp); extern void PBORI_PREFIX(cuddCacheResize) (PBORI_PREFIX(DdManager) *table); extern void PBORI_PREFIX(cuddCacheFlush) (PBORI_PREFIX(DdManager) *table); extern int PBORI_PREFIX(cuddComputeFloorLog2) (unsigned int value); extern int cuddHeapProfile (PBORI_PREFIX(DdManager) *dd); extern void cuddPrintNode (DdNode *f, FILE *fp); #ifdef PBORI_FORCE_ORIGINAL_CUDD extern void cuddPrintVarGroups (PBORI_PREFIX(DdManager) * dd, MtrNode * root, int zdd, int silent); #endif extern DdNode * cuddBddClippingAnd (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *g, int maxDepth, int direction); extern DdNode * cuddBddClippingAndAbstract (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *g, DdNode *cube, int maxDepth, int direction); extern void cuddGetBranches (DdNode *g, DdNode **g1, DdNode **g0); extern DdNode * cuddCofactorRecur (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *g); extern DdNode * cuddBddComposeRecur (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *g, DdNode *proj); extern DdNode * cuddAddComposeRecur (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *g, DdNode *proj); extern int cuddExact (PBORI_PREFIX(DdManager) *table, int lower, int upper); extern DdNode * cuddBddConstrainRecur (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *c); extern DdNode * cuddBddRestrictRecur (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *c); extern DdNode * cuddBddNPAndRecur (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *c); extern DdNode * cuddAddConstrainRecur (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *c); extern DdNode * cuddAddRestrictRecur (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *c); extern DdNode * cuddBddLICompaction (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *c); extern int cuddGa (PBORI_PREFIX(DdManager) *table, int lower, int upper); extern int cuddTreeSifting (PBORI_PREFIX(DdManager) *table, Cudd_ReorderingType method); extern int PBORI_PREFIX(cuddZddInitUniv) (PBORI_PREFIX(DdManager) *zdd); extern void PBORI_PREFIX(cuddZddFreeUniv) (PBORI_PREFIX(DdManager) *zdd); extern void cuddSetInteract (PBORI_PREFIX(DdManager) *table, int x, int y); extern int cuddTestInteract (PBORI_PREFIX(DdManager) *table, int x, int y); extern int cuddInitInteract (PBORI_PREFIX(DdManager) *table); extern DdLocalCache * PBORI_PREFIX(cuddLocalCacheInit) (PBORI_PREFIX(DdManager) *manager, unsigned int keySize, unsigned int cacheSize, unsigned int maxCacheSize); extern void PBORI_PREFIX(cuddLocalCacheQuit) (DdLocalCache *cache); extern void PBORI_PREFIX(cuddLocalCacheInsert) (DdLocalCache *cache, DdNodePtr *key, DdNode *value); extern DdNode * PBORI_PREFIX(cuddLocalCacheLookup) (DdLocalCache *cache, DdNodePtr *key); extern void PBORI_PREFIX(cuddLocalCacheClearDead) (PBORI_PREFIX(DdManager) *manager); extern int PBORI_PREFIX(cuddIsInDeathRow) (PBORI_PREFIX(DdManager) *dd, DdNode *f); extern int PBORI_PREFIX(cuddTimesInDeathRow) (PBORI_PREFIX(DdManager) *dd, DdNode *f); extern void PBORI_PREFIX(cuddLocalCacheClearAll) (PBORI_PREFIX(DdManager) *manager); #ifdef DD_CACHE_PROFILE extern int cuddLocalCacheProfile (DdLocalCache *cache); #endif extern DdHashTable * PBORI_PREFIX(cuddHashTableInit) (PBORI_PREFIX(DdManager) *manager, unsigned int keySize, unsigned int initSize); extern void PBORI_PREFIX(cuddHashTableQuit) (DdHashTable *hash); extern void PBORI_PREFIX(cuddHashTableGenericQuit) (DdHashTable *hash); extern int PBORI_PREFIX(cuddHashTableInsert) (DdHashTable *hash, DdNodePtr *key, DdNode *value, ptrint count); extern DdNode * PBORI_PREFIX(cuddHashTableLookup) (DdHashTable *hash, DdNodePtr *key); extern int PBORI_PREFIX(cuddHashTableInsert1) (DdHashTable *hash, DdNode *f, DdNode *value, ptrint count); extern DdNode * PBORI_PREFIX(cuddHashTableLookup1) (DdHashTable *hash, DdNode *f); extern int PBORI_PREFIX(cuddHashTableInsert2) (DdHashTable *hash, DdNode *f, DdNode *g, DdNode *value, ptrint count); extern DdNode * PBORI_PREFIX(cuddHashTableLookup2) (DdHashTable *hash, DdNode *f, DdNode *g); extern int PBORI_PREFIX(cuddHashTableInsert3) (DdHashTable *hash, DdNode *f, DdNode *g, DdNode *h, DdNode *value, ptrint count); extern DdNode * PBORI_PREFIX(cuddHashTableLookup3) (DdHashTable *hash, DdNode *f, DdNode *g, DdNode *h); extern int PBORI_PREFIX(cuddHashTableGenericInsert)(DdHashTable * hash, DdNode * f, void * value); extern void * PBORI_PREFIX(cuddHashTableGenericLookup)(DdHashTable * hash, DdNode * f); extern DdLevelQueue * cuddLevelQueueInit (int levels, int itemSize, int numBuckets); extern void cuddLevelQueueQuit (DdLevelQueue *queue); extern void * cuddLevelQueueFirst(DdLevelQueue * queue, void * key, int level); extern void * cuddLevelQueueEnqueue (DdLevelQueue *queue, void *key, int level); extern void cuddLevelQueueDequeue (DdLevelQueue *queue, int level); extern int cuddLinearAndSifting (PBORI_PREFIX(DdManager) *table, int lower, int upper); extern int cuddLinearInPlace (PBORI_PREFIX(DdManager) * table, int x, int y); extern void cuddUpdateInteractionMatrix (PBORI_PREFIX(DdManager) * table, int xindex, int yindex); extern int cuddInitLinear (PBORI_PREFIX(DdManager) *table); extern int cuddResizeLinear (PBORI_PREFIX(DdManager) *table); extern DdNode * cuddBddLiteralSetIntersectionRecur (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *g); extern DdNode * cuddCProjectionRecur (PBORI_PREFIX(DdManager) *dd, DdNode *R, DdNode *Y, DdNode *Ysupp); extern DdNode * cuddBddClosestCube (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *g, CUDD_VALUE_TYPE bound); extern void PBORI_PREFIX(cuddReclaim) (PBORI_PREFIX(DdManager) *table, DdNode *n); extern void PBORI_PREFIX(cuddReclaimZdd) (PBORI_PREFIX(DdManager) *table, DdNode *n); extern void PBORI_PREFIX(cuddClearDeathRow) (PBORI_PREFIX(DdManager) *table); extern void PBORI_PREFIX(cuddShrinkDeathRow) (PBORI_PREFIX(DdManager) *table); extern DdNode * cuddDynamicAllocNode (PBORI_PREFIX(DdManager) *table); extern int cuddSifting (PBORI_PREFIX(DdManager) *table, int lower, int upper); extern int cuddSwapping (PBORI_PREFIX(DdManager) *table, int lower, int upper, Cudd_ReorderingType heuristic); #ifdef PBORI_FORCE_ORIGINAL_CUDD extern int cuddNextHigh (PBORI_PREFIX(DdManager) *table, int x); extern int cuddNextLow (PBORI_PREFIX(DdManager) *table, int x); #endif extern int cuddSwapInPlace (PBORI_PREFIX(DdManager) *table, int x, int y); extern int cuddBddAlignToZdd (PBORI_PREFIX(DdManager) *table); extern DdNode * cuddBddMakePrime (PBORI_PREFIX(DdManager) *dd, DdNode *cube, DdNode *f); extern DdNode * cuddSolveEqnRecur (PBORI_PREFIX(DdManager) *bdd, DdNode *F, DdNode *Y, DdNode **G, int n, int *yIndex, int i); extern DdNode * cuddVerifySol (PBORI_PREFIX(DdManager) *bdd, DdNode *F, DdNode **G, int *yIndex, int n); #ifdef ST_INCLUDED extern DdNode* cuddSplitSetRecur (PBORI_PREFIX(DdManager) *manager, st_table *mtable, int *varSeen, DdNode *p, double n, double max, int index); #endif extern DdNode * cuddSubsetHeavyBranch (PBORI_PREFIX(DdManager) *dd, DdNode *f, int numVars, int threshold); extern DdNode * cuddSubsetShortPaths (PBORI_PREFIX(DdManager) *dd, DdNode *f, int numVars, int threshold, int hardlimit); extern int cuddSymmCheck (PBORI_PREFIX(DdManager) *table, int x, int y); extern int cuddSymmSifting (PBORI_PREFIX(DdManager) *table, int lower, int upper); extern int cuddSymmSiftingConv (PBORI_PREFIX(DdManager) *table, int lower, int upper); extern DdNode * PBORI_PREFIX(cuddAllocNode) (PBORI_PREFIX(DdManager) *unique); extern PBORI_PREFIX(DdManager) * PBORI_PREFIX(cuddInitTable) (unsigned int numVars, unsigned int numVarsZ, unsigned int numSlots, unsigned int looseUpTo); extern void PBORI_PREFIX(cuddFreeTable) (PBORI_PREFIX(DdManager) *unique); extern int PBORI_PREFIX(cuddGarbageCollect) (PBORI_PREFIX(DdManager) *unique, int clearCache); extern DdNode * PBORI_PREFIX(cuddUniqueInter) (PBORI_PREFIX(DdManager) *unique, int index, DdNode *T, DdNode *E); extern DdNode * PBORI_PREFIX(cuddUniqueInterIVO) (PBORI_PREFIX(DdManager) *unique, int index, DdNode *T, DdNode *E); extern DdNode * PBORI_PREFIX(cuddUniqueInterZdd) (PBORI_PREFIX(DdManager) *unique, int index, DdNode *T, DdNode *E); extern DdNode * PBORI_PREFIX(cuddUniqueConst) (PBORI_PREFIX(DdManager) *unique, CUDD_VALUE_TYPE value); #ifdef PBORI_FORCE_ORIGINAL_CUDD extern DdNode * cuddZddGetNode (PBORI_PREFIX(DdManager) *zdd, int id, DdNode *T, DdNode *E); #else static inline DdNode * PBORI_PREFIX(cuddZddGetNode) ( PBORI_PREFIX(DdManager) * zdd, int id, DdNode * T, DdNode * E) { DdNode *node; if (T == DD_ZERO(zdd)) return(E); node = PBORI_PREFIX(cuddUniqueInterZdd)(zdd, id, T, E); return(node); } #endif extern DdNode * cuddZddGetNodeIVO (PBORI_PREFIX(DdManager) *dd, int index, DdNode *g, DdNode *h); extern void PBORI_PREFIX(cuddRehash) (PBORI_PREFIX(DdManager) *unique, int i); extern void cuddShrinkSubtable (PBORI_PREFIX(DdManager) *unique, int i); extern int cuddInsertSubtables (PBORI_PREFIX(DdManager) *unique, int n, int level); extern int cuddDestroySubtables (PBORI_PREFIX(DdManager) *unique, int n); extern int PBORI_PREFIX(cuddResizeTableZdd) (PBORI_PREFIX(DdManager) *unique, int index); extern void PBORI_PREFIX(cuddSlowTableGrowth) (PBORI_PREFIX(DdManager) *unique); extern int cuddP (PBORI_PREFIX(DdManager) *dd, DdNode *f); #ifdef ST_INCLUDED extern enum st_retval cuddStCountfree (char *key, char *value, char *arg); extern int cuddCollectNodes (DdNode *f, st_table *visited); #endif extern DdNodePtr * cuddNodeArray (DdNode *f, int *n); extern int cuddWindowReorder (PBORI_PREFIX(DdManager) *table, int low, int high, Cudd_ReorderingType submethod); extern DdNode * PBORI_PREFIX(cuddZddProduct) (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *g); extern DdNode * PBORI_PREFIX(cuddZddUnateProduct) (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *g); extern DdNode * PBORI_PREFIX(cuddZddWeakDiv) (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *g); extern DdNode * PBORI_PREFIX(cuddZddWeakDivF) (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *g); extern DdNode * PBORI_PREFIX(cuddZddDivide) (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *g); extern DdNode * PBORI_PREFIX(cuddZddDivideF) (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *g); extern int PBORI_PREFIX(cuddZddGetCofactors3) (PBORI_PREFIX(DdManager) *dd, DdNode *f, int v, DdNode **f1, DdNode **f0, DdNode **fd); extern int PBORI_PREFIX(cuddZddGetCofactors2) (PBORI_PREFIX(DdManager) *dd, DdNode *f, int v, DdNode **f1, DdNode **f0); extern DdNode * cuddZddComplement (PBORI_PREFIX(DdManager) *dd, DdNode *node); extern int PBORI_PREFIX(cuddZddGetPosVarIndex)(PBORI_PREFIX(DdManager) * dd, int index); extern int PBORI_PREFIX(cuddZddGetNegVarIndex)(PBORI_PREFIX(DdManager) * dd, int index); extern int PBORI_PREFIX(cuddZddGetPosVarLevel)(PBORI_PREFIX(DdManager) * dd, int index); extern int PBORI_PREFIX(cuddZddGetNegVarLevel)(PBORI_PREFIX(DdManager) * dd, int index); extern int cuddZddTreeSifting (PBORI_PREFIX(DdManager) *table, Cudd_ReorderingType method); extern DdNode * cuddZddIsop (PBORI_PREFIX(DdManager) *dd, DdNode *L, DdNode *U, DdNode **zdd_I); extern DdNode * cuddBddIsop (PBORI_PREFIX(DdManager) *dd, DdNode *L, DdNode *U); extern DdNode * cuddMakeBddFromZddCover (PBORI_PREFIX(DdManager) *dd, DdNode *node); extern int cuddZddLinearSifting (PBORI_PREFIX(DdManager) *table, int lower, int upper); extern int cuddZddAlignToBdd (PBORI_PREFIX(DdManager) *table); #ifdef PBORI_FORCE_ORIGINAL_CUDD extern int cuddZddNextHigh (PBORI_PREFIX(DdManager) *table, int x); extern int cuddZddNextLow (PBORI_PREFIX(DdManager) *table, int x); #endif extern int cuddZddUniqueCompare (int *ptr_x, int *ptr_y); extern int cuddZddSwapInPlace (PBORI_PREFIX(DdManager) *table, int x, int y); extern int cuddZddSwapping (PBORI_PREFIX(DdManager) *table, int lower, int upper, Cudd_ReorderingType heuristic); extern int cuddZddSifting (PBORI_PREFIX(DdManager) *table, int lower, int upper); extern DdNode * PBORI_PREFIX(cuddZddIte) (PBORI_PREFIX(DdManager) *dd, DdNode *f, DdNode *g, DdNode *h); extern DdNode * PBORI_PREFIX(cuddZddUnion) (PBORI_PREFIX(DdManager) *zdd, DdNode *P, DdNode *Q); extern DdNode * PBORI_PREFIX(cuddZddIntersect) (PBORI_PREFIX(DdManager) *zdd, DdNode *P, DdNode *Q); extern DdNode * PBORI_PREFIX(cuddZddDiff) (PBORI_PREFIX(DdManager) *zdd, DdNode *P, DdNode *Q); extern DdNode * PBORI_PREFIX(cuddZddChangeAux) (PBORI_PREFIX(DdManager) *zdd, DdNode *P, DdNode *zvar); extern DdNode * PBORI_PREFIX(cuddZddSubset1) (PBORI_PREFIX(DdManager) *dd, DdNode *P, int var); extern DdNode * PBORI_PREFIX(cuddZddSubset0) (PBORI_PREFIX(DdManager) *dd, DdNode *P, int var); extern DdNode * PBORI_PREFIX(cuddZddChange) (PBORI_PREFIX(DdManager) *dd, DdNode *P, int var); extern int cuddZddSymmCheck (PBORI_PREFIX(DdManager) *table, int x, int y); extern int cuddZddSymmSifting (PBORI_PREFIX(DdManager) *table, int lower, int upper); extern int cuddZddSymmSiftingConv (PBORI_PREFIX(DdManager) *table, int lower, int upper); extern int cuddZddP (PBORI_PREFIX(DdManager) *zdd, DdNode *f); /**AutomaticEnd***************************************************************/ #ifdef __cplusplus } /* end of extern "C" */ #endif #ifndef PBORI_FORCE_ORIGINAL_CUDD #define Cudd_OutOfMem MMout_of_memory #endif /* For consistence: introduce prefixed macros */ #ifndef PBORI_FORCE_ORIGINAL_CUDD #define pbori_cuddIsConstant cuddIsConstant #define pbori_cuddNot cuddNot #define pbori_cuddNotCond cuddNotCond #define pbori_cuddRegular cuddRegular #define pbori_cuddT cuddT #define pbori_cuddE cuddE #define pbori_cuddV cuddV #endif #endif /* _CUDDINT */ BRiAl-1.2.12/cudd/cuddInteract.c000066400000000000000000000313061436062512100162250ustar00rootroot00000000000000/**CFile*********************************************************************** FileName [cuddInteract.c] PackageName [cudd] Synopsis [Functions to manipulate the variable interaction matrix.] Description [Internal procedures included in this file:
      • cuddSetInteract()
      • cuddTestInteract()
      • cuddInitInteract()
      Static procedures included in this file:
      • ddSuppInteract()
      • ddClearLocal()
      • ddUpdateInteract()
      • ddClearGlobal()
      The interaction matrix tells whether two variables are both in the support of some function of the DD. The main use of the interaction matrix is in the in-place swapping. Indeed, if two variables do not interact, there is no arc connecting the two layers; therefore, the swap can be performed in constant time, without scanning the subtables. Another use of the interaction matrix is in the computation of the lower bounds for sifting. Finally, the interaction matrix can be used to speed up aggregation checks in symmetric and group sifting.

      The computation of the interaction matrix is done with a series of depth-first searches. The searches start from those nodes that have only external references. The matrix is stored as a packed array of bits; since it is symmetric, only the upper triangle is kept in memory. As a final remark, we note that there may be variables that do interact, but that for a given variable order have no arc connecting their layers when they are adjacent. For instance, in ite(a,b,c) with the order asize, sets the corresponding bit of the interaction matrix to 1.] SideEffects [None] SeeAlso [] ******************************************************************************/ void cuddSetInteract( DdManager * table, int x, int y) { int posn, word, bit; #ifdef DD_DEBUG assert(x < y); assert(y < table->size); assert(x >= 0); #endif posn = ((((table->size << 1) - x - 3) * x) >> 1) + y - 1; word = posn >> LOGBPL; bit = posn & (BPL-1); table->interact[word] |= 1L << bit; } /* end of cuddSetInteract */ /**Function******************************************************************** Synopsis [Test interaction matrix entries.] Description [Given a pair of variables 0 <= x < y < table->size, tests whether the corresponding bit of the interaction matrix is 1. Returns the value of the bit.] SideEffects [None] SeeAlso [] ******************************************************************************/ int cuddTestInteract( DdManager * table, int x, int y) { int posn, word, bit, result; if (x > y) { int tmp = x; x = y; y = tmp; } #ifdef DD_DEBUG assert(x < y); assert(y < table->size); assert(x >= 0); #endif posn = ((((table->size << 1) - x - 3) * x) >> 1) + y - 1; word = posn >> LOGBPL; bit = posn & (BPL-1); result = (table->interact[word] >> bit) & 1L; return(result); } /* end of cuddTestInteract */ /**Function******************************************************************** Synopsis [Initializes the interaction matrix.] Description [Initializes the interaction matrix. The interaction matrix is implemented as a bit vector storing the upper triangle of the symmetric interaction matrix. The bit vector is kept in an array of long integers. The computation is based on a series of depth-first searches, one for each root of the DAG. Two flags are needed: The local visited flag uses the LSB of the then pointer. The global visited flag uses the LSB of the next pointer. Returns 1 if successful; 0 otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ int cuddInitInteract( DdManager * table) { int i,j; unsigned long words; long *interact; char *support; DdNode *f; DdNode *sentinel = &(table->sentinel); DdNodePtr *nodelist; int slots; unsigned long n = (unsigned long) table->size; words = ((n * (n-1)) >> (1 + LOGBPL)) + 1; table->interact = interact = ALLOC(long,words); if (interact == NULL) { table->errorCode = CUDD_MEMORY_OUT; return(0); } for (i = 0; i < words; i++) { interact[i] = 0; } support = ALLOC(char,n); if (support == NULL) { table->errorCode = CUDD_MEMORY_OUT; FREE(interact); return(0); } for (i = 0; i < n; i++) { support[i] = 0; } for (i = 0; i < n; i++) { nodelist = table->subtables[i].nodelist; slots = table->subtables[i].slots; for (j = 0; j < slots; j++) { f = nodelist[j]; while (f != sentinel) { /* A node is a root of the DAG if it cannot be ** reached by nodes above it. If a node was never ** reached during the previous depth-first searches, ** then it is a root, and we start a new depth-first ** search from it. */ if (!Cudd_IsComplement(f->next)) { ddSuppInteract(f,support); ddClearLocal(f); ddUpdateInteract(table,support); } f = Cudd_Regular(f->next); } } } ddClearGlobal(table); FREE(support); return(1); } /* end of cuddInitInteract */ /*---------------------------------------------------------------------------*/ /* Definition of static functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Find the support of f.] Description [Performs a DFS from f. Uses the LSB of the then pointer as visited flag.] SideEffects [Accumulates in support the variables on which f depends.] SeeAlso [] ******************************************************************************/ static void ddSuppInteract( DdNode * f, char * support) { if (cuddIsConstant(f) || Cudd_IsComplement(cuddT(f))) { return; } support[f->index] = 1; ddSuppInteract(cuddT(f),support); ddSuppInteract(Cudd_Regular(cuddE(f)),support); /* mark as visited */ cuddT(f) = Cudd_Complement(cuddT(f)); f->next = Cudd_Complement(f->next); return; } /* end of ddSuppInteract */ /**Function******************************************************************** Synopsis [Performs a DFS from f, clearing the LSB of the then pointers.] Description [] SideEffects [None] SeeAlso [] ******************************************************************************/ static void ddClearLocal( DdNode * f) { if (cuddIsConstant(f) || !Cudd_IsComplement(cuddT(f))) { return; } /* clear visited flag */ cuddT(f) = Cudd_Regular(cuddT(f)); ddClearLocal(cuddT(f)); ddClearLocal(Cudd_Regular(cuddE(f))); return; } /* end of ddClearLocal */ /**Function******************************************************************** Synopsis [Marks as interacting all pairs of variables that appear in support.] Description [If support[i] == support[j] == 1, sets the (i,j) entry of the interaction matrix to 1.] SideEffects [Clears support.] SeeAlso [] ******************************************************************************/ static void ddUpdateInteract( DdManager * table, char * support) { int i,j; int n = table->size; for (i = 0; i < n-1; i++) { if (support[i] == 1) { support[i] = 0; for (j = i+1; j < n; j++) { if (support[j] == 1) { cuddSetInteract(table,i,j); } } } } support[n-1] = 0; } /* end of ddUpdateInteract */ /**Function******************************************************************** Synopsis [Scans the DD and clears the LSB of the next pointers.] Description [The LSB of the next pointers are used as markers to tell whether a node was reached by at least one DFS. Once the interaction matrix is built, these flags are reset.] SideEffects [None] SeeAlso [] ******************************************************************************/ static void ddClearGlobal( DdManager * table) { int i,j; DdNode *f; DdNode *sentinel = &(table->sentinel); DdNodePtr *nodelist; int slots; for (i = 0; i < table->size; i++) { nodelist = table->subtables[i].nodelist; slots = table->subtables[i].slots; for (j = 0; j < slots; j++) { f = nodelist[j]; while (f != sentinel) { f->next = Cudd_Regular(f->next); f = f->next; } } } } /* end of ddClearGlobal */ BRiAl-1.2.12/cudd/cuddLCache.c000066400000000000000000001210251436062512100155710ustar00rootroot00000000000000/**CFile*********************************************************************** FileName [cuddLCache.c] PackageName [cudd] Synopsis [Functions for local caches.] Description [Internal procedures included in this module:

      • cuddLocalCacheInit()
      • cuddLocalCacheQuit()
      • cuddLocalCacheInsert()
      • cuddLocalCacheLookup()
      • cuddLocalCacheClearDead()
      • cuddLocalCacheClearAll()
      • cuddLocalCacheProfile()
      • cuddHashTableInit()
      • cuddHashTableQuit()
      • cuddHashTableGenericQuit()
      • cuddHashTableInsert()
      • cuddHashTableLookup()
      • cuddHashTableGenericInsert()
      • cuddHashTableGenericLookup()
      • cuddHashTableInsert2()
      • cuddHashTableLookup2()
      • cuddHashTableInsert3()
      • cuddHashTableLookup3()
      Static procedures included in this module:
      • cuddLocalCacheResize()
      • ddLCHash()
      • cuddLocalCacheAddToList()
      • cuddLocalCacheRemoveFromList()
      • cuddHashTableResize()
      • cuddHashTableAlloc()
      ] SeeAlso [] Author [Fabio Somenzi] Copyright [Copyright (c) 1995-2012, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.] ******************************************************************************/ #include "util.h" #include "cuddInt.h" #ifndef PBORI_FORCE_ORIGINAL_CUDD #include #endif /*---------------------------------------------------------------------------*/ /* Constant declarations */ /*---------------------------------------------------------------------------*/ #define DD_MAX_HASHTABLE_DENSITY 2 /* tells when to resize a table */ /*---------------------------------------------------------------------------*/ /* Stucture declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Type declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Variable declarations */ /*---------------------------------------------------------------------------*/ #ifndef lint static char rcsid[] DD_UNUSED = "$Id: cuddLCache.c,v 1.27 2012/02/05 01:07:19 fabio Exp $"; #endif /*---------------------------------------------------------------------------*/ /* Macro declarations */ /*---------------------------------------------------------------------------*/ /**Macro*********************************************************************** Synopsis [Computes hash function for keys of one operand.] Description [] SideEffects [None] SeeAlso [ddLCHash3 ddLCHash] ******************************************************************************/ #if SIZEOF_VOID_P == 8 && SIZEOF_INT == 4 #define ddLCHash1(f,shift) \ (((unsigned)(ptruint)(f) * DD_P1) >> (shift)) #else #define ddLCHash1(f,shift) \ (((unsigned)(f) * DD_P1) >> (shift)) #endif /**Macro*********************************************************************** Synopsis [Computes hash function for keys of two operands.] Description [] SideEffects [None] SeeAlso [ddLCHash3 ddLCHash] ******************************************************************************/ #if SIZEOF_VOID_P == 8 && SIZEOF_INT == 4 #define ddLCHash2(f,g,shift) \ ((((unsigned)(ptruint)(f) * DD_P1 + \ (unsigned)(ptruint)(g)) * DD_P2) >> (shift)) #else #define ddLCHash2(f,g,shift) \ ((((unsigned)(f) * DD_P1 + (unsigned)(g)) * DD_P2) >> (shift)) #endif /**Macro*********************************************************************** Synopsis [Computes hash function for keys of three operands.] Description [] SideEffects [None] SeeAlso [ddLCHash2 ddLCHash] ******************************************************************************/ #define ddLCHash3(f,g,h,shift) ddCHash2(f,g,h,shift) /**AutomaticStart*************************************************************/ /*---------------------------------------------------------------------------*/ /* Static function prototypes */ /*---------------------------------------------------------------------------*/ static void cuddLocalCacheResize (DdLocalCache *cache); DD_INLINE static unsigned int ddLCHash (DdNodePtr *key, unsigned int keysize, int shift); static void cuddLocalCacheAddToList (DdLocalCache *cache); static void cuddLocalCacheRemoveFromList (DdLocalCache *cache); static int cuddHashTableResize (DdHashTable *hash); DD_INLINE static DdHashItem * cuddHashTableAlloc (DdHashTable *hash); /**AutomaticEnd***************************************************************/ /*---------------------------------------------------------------------------*/ /* Definition of exported functions */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Definition of internal functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Initializes a local computed table.] Description [Initializes a computed table. Returns a pointer the the new local cache in case of success; NULL otherwise.] SideEffects [None] SeeAlso [cuddInitCache] ******************************************************************************/ DdLocalCache * cuddLocalCacheInit( DdManager * manager /* manager */, unsigned int keySize /* size of the key (number of operands) */, unsigned int cacheSize /* Initial size of the cache */, unsigned int maxCacheSize /* Size of the cache beyond which no resizing occurs */) { DdLocalCache *cache; int logSize; cache = ALLOC(DdLocalCache,1); if (cache == NULL) { manager->errorCode = CUDD_MEMORY_OUT; return(NULL); } cache->manager = manager; cache->keysize = keySize; cache->itemsize = (keySize + 1) * sizeof(DdNode *); #ifdef DD_CACHE_PROFILE cache->itemsize += sizeof(ptrint); #endif logSize = cuddComputeFloorLog2(ddMax(cacheSize,manager->slots/2)); cacheSize = 1 << logSize; cache->item = (DdLocalCacheItem *) ALLOC(char, cacheSize * cache->itemsize); if (cache->item == NULL) { manager->errorCode = CUDD_MEMORY_OUT; FREE(cache); return(NULL); } cache->slots = cacheSize; cache->shift = sizeof(int) * 8 - logSize; cache->maxslots = ddMin(maxCacheSize,manager->slots); cache->minHit = manager->minHit; /* Initialize to avoid division by 0 and immediate resizing. */ cache->lookUps = (double) (int) (cacheSize * cache->minHit + 1); cache->hits = 0; manager->memused += cacheSize * cache->itemsize + sizeof(DdLocalCache); /* Initialize the cache. */ memset(cache->item, 0, cacheSize * cache->itemsize); /* Add to manager's list of local caches for GC. */ cuddLocalCacheAddToList(cache); return(cache); } /* end of cuddLocalCacheInit */ /**Function******************************************************************** Synopsis [Shuts down a local computed table.] Description [Initializes the computed table. It is called by Cudd_Init. Returns a pointer the the new local cache in case of success; NULL otherwise.] SideEffects [None] SeeAlso [cuddLocalCacheInit] ******************************************************************************/ void cuddLocalCacheQuit( DdLocalCache * cache /* cache to be shut down */) { cache->manager->memused -= cache->slots * cache->itemsize + sizeof(DdLocalCache); cuddLocalCacheRemoveFromList(cache); FREE(cache->item); FREE(cache); return; } /* end of cuddLocalCacheQuit */ /**Function******************************************************************** Synopsis [Inserts a result in a local cache.] Description [] SideEffects [None] SeeAlso [] ******************************************************************************/ void cuddLocalCacheInsert( DdLocalCache * cache, DdNodePtr * key, DdNode * value) { unsigned int posn; DdLocalCacheItem *entry; posn = ddLCHash(key,cache->keysize,cache->shift); entry = (DdLocalCacheItem *) ((char *) cache->item + posn * cache->itemsize); memcpy(entry->key,key,cache->keysize * sizeof(DdNode *)); entry->value = value; #ifdef DD_CACHE_PROFILE entry->count++; #endif } /* end of cuddLocalCacheInsert */ /**Function******************************************************************** Synopsis [Looks up in a local cache.] Description [Looks up in a local cache. Returns the result if found; it returns NULL if no result is found.] SideEffects [None] SeeAlso [] ******************************************************************************/ DdNode * cuddLocalCacheLookup( DdLocalCache * cache, DdNodePtr * key) { unsigned int posn; DdLocalCacheItem *entry; DdNode *value; cache->lookUps++; posn = ddLCHash(key,cache->keysize,cache->shift); entry = (DdLocalCacheItem *) ((char *) cache->item + posn * cache->itemsize); if (entry->value != NULL && memcmp(key,entry->key,cache->keysize*sizeof(DdNode *)) == 0) { cache->hits++; value = Cudd_Regular(entry->value); if (value->ref == 0) { cuddReclaim(cache->manager,value); } return(entry->value); } /* Cache miss: decide whether to resize */ if (cache->slots < cache->maxslots && cache->hits > cache->lookUps * cache->minHit) { cuddLocalCacheResize(cache); } return(NULL); } /* end of cuddLocalCacheLookup */ /**Function******************************************************************** Synopsis [Clears the dead entries of the local caches of a manager.] Description [Clears the dead entries of the local caches of a manager. Used during garbage collection.] SideEffects [None] SeeAlso [] ******************************************************************************/ void cuddLocalCacheClearDead( DdManager * manager) { DdLocalCache *cache = manager->localCaches; unsigned int keysize; unsigned int itemsize; unsigned int slots; DdLocalCacheItem *item; DdNodePtr *key; unsigned int i, j; while (cache != NULL) { keysize = cache->keysize; itemsize = cache->itemsize; slots = cache->slots; item = cache->item; for (i = 0; i < slots; i++) { if (item->value != NULL) { if (Cudd_Regular(item->value)->ref == 0) { item->value = NULL; } else { key = item->key; for (j = 0; j < keysize; j++) { if (Cudd_Regular(key[j])->ref == 0) { item->value = NULL; break; } } } } item = (DdLocalCacheItem *) ((char *) item + itemsize); } cache = cache->next; } return; } /* end of cuddLocalCacheClearDead */ /**Function******************************************************************** Synopsis [Clears the local caches of a manager.] Description [Clears the local caches of a manager. Used before reordering.] SideEffects [None] SeeAlso [] ******************************************************************************/ void cuddLocalCacheClearAll( DdManager * manager) { DdLocalCache *cache = manager->localCaches; while (cache != NULL) { memset(cache->item, 0, cache->slots * cache->itemsize); cache = cache->next; } return; } /* end of cuddLocalCacheClearAll */ #ifdef DD_CACHE_PROFILE #define DD_HYSTO_BINS 8 /**Function******************************************************************** Synopsis [Computes and prints a profile of a local cache usage.] Description [Computes and prints a profile of a local cache usage. Returns 1 if successful; 0 otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ int cuddLocalCacheProfile( DdLocalCache * cache) { double count, mean, meansq, stddev, expected; long max, min; int imax, imin; int i, retval, slots; long *hystogram; int nbins = DD_HYSTO_BINS; int bin; long thiscount; double totalcount; int nzeroes; DdLocalCacheItem *entry; FILE *fp = cache->manager->out; slots = cache->slots; meansq = mean = expected = 0.0; max = min = (long) cache->item[0].count; imax = imin = nzeroes = 0; totalcount = 0.0; hystogram = ALLOC(long, nbins); if (hystogram == NULL) { return(0); } for (i = 0; i < nbins; i++) { hystogram[i] = 0; } for (i = 0; i < slots; i++) { entry = (DdLocalCacheItem *) ((char *) cache->item + i * cache->itemsize); thiscount = (long) entry->count; if (thiscount > max) { max = thiscount; imax = i; } if (thiscount < min) { min = thiscount; imin = i; } if (thiscount == 0) { nzeroes++; } count = (double) thiscount; mean += count; meansq += count * count; totalcount += count; expected += count * (double) i; bin = (i * nbins) / slots; hystogram[bin] += thiscount; } mean /= (double) slots; meansq /= (double) slots; stddev = sqrt(meansq - mean*mean); retval = fprintf(fp,"Cache stats: slots = %d average = %g ", slots, mean); if (retval == EOF) return(0); retval = fprintf(fp,"standard deviation = %g\n", stddev); if (retval == EOF) return(0); retval = fprintf(fp,"Cache max accesses = %ld for slot %d\n", max, imax); if (retval == EOF) return(0); retval = fprintf(fp,"Cache min accesses = %ld for slot %d\n", min, imin); if (retval == EOF) return(0); retval = fprintf(fp,"Cache unused slots = %d\n", nzeroes); if (retval == EOF) return(0); if (totalcount) { expected /= totalcount; retval = fprintf(fp,"Cache access hystogram for %d bins", nbins); if (retval == EOF) return(0); retval = fprintf(fp," (expected bin value = %g)\n# ", expected); if (retval == EOF) return(0); for (i = nbins - 1; i>=0; i--) { retval = fprintf(fp,"%ld ", hystogram[i]); if (retval == EOF) return(0); } retval = fprintf(fp,"\n"); if (retval == EOF) return(0); } FREE(hystogram); return(1); } /* end of cuddLocalCacheProfile */ #endif /**Function******************************************************************** Synopsis [Initializes a hash table.] Description [Initializes a hash table. Returns a pointer to the new table if successful; NULL otherwise.] SideEffects [None] SeeAlso [cuddHashTableQuit] ******************************************************************************/ DdHashTable * cuddHashTableInit( DdManager * manager, unsigned int keySize, unsigned int initSize) { DdHashTable *hash; int logSize; hash = ALLOC(DdHashTable, 1); if (hash == NULL) { manager->errorCode = CUDD_MEMORY_OUT; return(NULL); } hash->keysize = keySize; hash->manager = manager; hash->memoryList = NULL; hash->nextFree = NULL; hash->itemsize = (keySize + 1) * sizeof(DdNode *) + sizeof(ptrint) + sizeof(DdHashItem *); /* We have to guarantee that the shift be < 32. */ if (initSize < 2) initSize = 2; logSize = cuddComputeFloorLog2(initSize); hash->numBuckets = 1 << logSize; hash->shift = sizeof(int) * 8 - logSize; hash->bucket = ALLOC(DdHashItem *, hash->numBuckets); if (hash->bucket == NULL) { manager->errorCode = CUDD_MEMORY_OUT; FREE(hash); return(NULL); } memset(hash->bucket, 0, hash->numBuckets * sizeof(DdHashItem *)); hash->size = 0; hash->maxsize = hash->numBuckets * DD_MAX_HASHTABLE_DENSITY; return(hash); } /* end of cuddHashTableInit */ /**Function******************************************************************** Synopsis [Shuts down a hash table.] Description [Shuts down a hash table, dereferencing all the values.] SideEffects [None] SeeAlso [cuddHashTableInit] ******************************************************************************/ void cuddHashTableQuit( DdHashTable * hash) { unsigned int i; DdManager *dd = hash->manager; DdHashItem *bucket; DdHashItem **memlist, **nextmem; unsigned int numBuckets = hash->numBuckets; for (i = 0; i < numBuckets; i++) { bucket = hash->bucket[i]; while (bucket != NULL) { Cudd_RecursiveDeref(dd, bucket->value); bucket = bucket->next; } } memlist = hash->memoryList; while (memlist != NULL) { nextmem = (DdHashItem **) memlist[0]; FREE(memlist); memlist = nextmem; } FREE(hash->bucket); FREE(hash); return; } /* end of cuddHashTableQuit */ /**Function******************************************************************** Synopsis [Shuts down a hash table.] Description [Shuts down a hash table, when the values are not DdNode pointers.] SideEffects [None] SeeAlso [cuddHashTableInit] ******************************************************************************/ void cuddHashTableGenericQuit( DdHashTable * hash) { #ifdef __osf__ #pragma pointer_size save #pragma pointer_size short #endif DdHashItem **memlist, **nextmem; memlist = hash->memoryList; while (memlist != NULL) { nextmem = (DdHashItem **) memlist[0]; FREE(memlist); memlist = nextmem; } FREE(hash->bucket); FREE(hash); #ifdef __osf__ #pragma pointer_size restore #endif return; } /* end of cuddHashTableGenericQuit */ /**Function******************************************************************** Synopsis [Inserts an item in a hash table.] Description [Inserts an item in a hash table when the key has more than three pointers. Returns 1 if successful; 0 otherwise.] SideEffects [None] SeeAlso [[cuddHashTableInsert1 cuddHashTableInsert2 cuddHashTableInsert3 cuddHashTableLookup] ******************************************************************************/ int cuddHashTableInsert( DdHashTable * hash, DdNodePtr * key, DdNode * value, ptrint count) { int result; unsigned int posn; DdHashItem *item; unsigned int i; #ifdef DD_DEBUG CUDD_ASSERT(hash->keysize > 3); #endif if (hash->size > hash->maxsize) { result = cuddHashTableResize(hash); if (result == 0) return(0); } item = cuddHashTableAlloc(hash); if (item == NULL) return(0); hash->size++; item->value = value; cuddRef(value); item->count = count; for (i = 0; i < hash->keysize; i++) { item->key[i] = key[i]; } posn = ddLCHash(key,hash->keysize,hash->shift); item->next = hash->bucket[posn]; hash->bucket[posn] = item; return(1); } /* end of cuddHashTableInsert */ /**Function******************************************************************** Synopsis [Looks up a key in a hash table.] Description [Looks up a key consisting of more than three pointers in a hash table. Returns the value associated to the key if there is an entry for the given key in the table; NULL otherwise. If the entry is present, its reference counter is decremented if not saturated. If the counter reaches 0, the value of the entry is dereferenced, and the entry is returned to the free list.] SideEffects [None] SeeAlso [cuddHashTableLookup1 cuddHashTableLookup2 cuddHashTableLookup3 cuddHashTableInsert] ******************************************************************************/ DdNode * cuddHashTableLookup( DdHashTable * hash, DdNodePtr * key) { unsigned int posn; DdHashItem *item, *prev; unsigned int i, keysize; #ifdef DD_DEBUG CUDD_ASSERT(hash->keysize > 3); #endif posn = ddLCHash(key,hash->keysize,hash->shift); item = hash->bucket[posn]; prev = NULL; keysize = hash->keysize; while (item != NULL) { DdNodePtr *key2 = item->key; int equal = 1; for (i = 0; i < keysize; i++) { if (key[i] != key2[i]) { equal = 0; break; } } if (equal) { DdNode *value = item->value; cuddSatDec(item->count); if (item->count == 0) { cuddDeref(value); if (prev == NULL) { hash->bucket[posn] = item->next; } else { prev->next = item->next; } item->next = hash->nextFree; hash->nextFree = item; hash->size--; } return(value); } prev = item; item = item->next; } return(NULL); } /* end of cuddHashTableLookup */ /**Function******************************************************************** Synopsis [Inserts an item in a hash table.] Description [Inserts an item in a hash table when the key is one pointer. Returns 1 if successful; 0 otherwise.] SideEffects [None] SeeAlso [cuddHashTableInsert cuddHashTableInsert2 cuddHashTableInsert3 cuddHashTableLookup1] ******************************************************************************/ int cuddHashTableInsert1( DdHashTable * hash, DdNode * f, DdNode * value, ptrint count) { int result; unsigned int posn; DdHashItem *item; #ifdef DD_DEBUG CUDD_ASSERT(hash->keysize == 1); #endif if (hash->size > hash->maxsize) { result = cuddHashTableResize(hash); if (result == 0) return(0); } item = cuddHashTableAlloc(hash); if (item == NULL) return(0); hash->size++; item->value = value; cuddRef(value); item->count = count; item->key[0] = f; posn = ddLCHash1(f,hash->shift); item->next = hash->bucket[posn]; hash->bucket[posn] = item; return(1); } /* end of cuddHashTableInsert1 */ /**Function******************************************************************** Synopsis [Looks up a key consisting of one pointer in a hash table.] Description [Looks up a key consisting of one pointer in a hash table. Returns the value associated to the key if there is an entry for the given key in the table; NULL otherwise. If the entry is present, its reference counter is decremented if not saturated. If the counter reaches 0, the value of the entry is dereferenced, and the entry is returned to the free list.] SideEffects [None] SeeAlso [cuddHashTableLookup cuddHashTableLookup2 cuddHashTableLookup3 cuddHashTableInsert1] ******************************************************************************/ DdNode * cuddHashTableLookup1( DdHashTable * hash, DdNode * f) { unsigned int posn; DdHashItem *item, *prev; #ifdef DD_DEBUG CUDD_ASSERT(hash->keysize == 1); #endif posn = ddLCHash1(f,hash->shift); item = hash->bucket[posn]; prev = NULL; while (item != NULL) { DdNodePtr *key = item->key; if (f == key[0]) { DdNode *value = item->value; cuddSatDec(item->count); if (item->count == 0) { cuddDeref(value); if (prev == NULL) { hash->bucket[posn] = item->next; } else { prev->next = item->next; } item->next = hash->nextFree; hash->nextFree = item; hash->size--; } return(value); } prev = item; item = item->next; } return(NULL); } /* end of cuddHashTableLookup1 */ /**Function******************************************************************** Synopsis [Inserts an item in a hash table.] Description [Inserts an item in a hash table when the key is one pointer and the value is not a DdNode pointer. Returns 1 if successful; 0 otherwise.] SideEffects [None] SeeAlso [cuddHashTableInsert1 cuddHashTableGenericLookup] ******************************************************************************/ int cuddHashTableGenericInsert( DdHashTable * hash, DdNode * f, void * value) { int result; unsigned int posn; DdHashItem *item; #ifdef DD_DEBUG assert(hash->keysize == 1); #endif if (hash->size > hash->maxsize) { result = cuddHashTableResize(hash); if (result == 0) return(0); } item = cuddHashTableAlloc(hash); if (item == NULL) return(0); hash->size++; item->value = (DdNode *) value; item->count = 0; item->key[0] = f; posn = ddLCHash1(f,hash->shift); item->next = hash->bucket[posn]; hash->bucket[posn] = item; return(1); } /* end of cuddHashTableGenericInsert */ /**Function******************************************************************** Synopsis [Looks up a key consisting of one pointer in a hash table.] Description [Looks up a key consisting of one pointer in a hash table when the value is not a DdNode pointer. Returns the value associated to the key if there is an entry for the given key in the table; NULL otherwise.] SideEffects [None] SeeAlso [cuddHashTableLookup1 cuddHashTableGenericInsert] ******************************************************************************/ void * cuddHashTableGenericLookup( DdHashTable * hash, DdNode * f) { unsigned int posn; DdHashItem *item; #ifdef DD_DEBUG assert(hash->keysize == 1); #endif posn = ddLCHash1(f,hash->shift); item = hash->bucket[posn]; while (item != NULL) { if (f == item->key[0]) { return ((void *) item->value); } item = item->next; } return(NULL); } /* end of cuddHashTableGenericLookup */ /**Function******************************************************************** Synopsis [Inserts an item in a hash table.] Description [Inserts an item in a hash table when the key is composed of two pointers. Returns 1 if successful; 0 otherwise.] SideEffects [None] SeeAlso [cuddHashTableInsert cuddHashTableInsert1 cuddHashTableInsert3 cuddHashTableLookup2] ******************************************************************************/ int cuddHashTableInsert2( DdHashTable * hash, DdNode * f, DdNode * g, DdNode * value, ptrint count) { int result; unsigned int posn; DdHashItem *item; #ifdef DD_DEBUG CUDD_ASSERT(hash->keysize == 2); #endif if (hash->size > hash->maxsize) { result = cuddHashTableResize(hash); if (result == 0) return(0); } item = cuddHashTableAlloc(hash); if (item == NULL) return(0); hash->size++; item->value = value; cuddRef(value); item->count = count; item->key[0] = f; item->key[1] = g; posn = ddLCHash2(f,g,hash->shift); item->next = hash->bucket[posn]; hash->bucket[posn] = item; return(1); } /* end of cuddHashTableInsert2 */ /**Function******************************************************************** Synopsis [Looks up a key consisting of two pointers in a hash table.] Description [Looks up a key consisting of two pointer in a hash table. Returns the value associated to the key if there is an entry for the given key in the table; NULL otherwise. If the entry is present, its reference counter is decremented if not saturated. If the counter reaches 0, the value of the entry is dereferenced, and the entry is returned to the free list.] SideEffects [None] SeeAlso [cuddHashTableLookup cuddHashTableLookup1 cuddHashTableLookup3 cuddHashTableInsert2] ******************************************************************************/ DdNode * cuddHashTableLookup2( DdHashTable * hash, DdNode * f, DdNode * g) { unsigned int posn; DdHashItem *item, *prev; #ifdef DD_DEBUG CUDD_ASSERT(hash->keysize == 2); #endif posn = ddLCHash2(f,g,hash->shift); item = hash->bucket[posn]; prev = NULL; while (item != NULL) { DdNodePtr *key = item->key; if ((f == key[0]) && (g == key[1])) { DdNode *value = item->value; cuddSatDec(item->count); if (item->count == 0) { cuddDeref(value); if (prev == NULL) { hash->bucket[posn] = item->next; } else { prev->next = item->next; } item->next = hash->nextFree; hash->nextFree = item; hash->size--; } return(value); } prev = item; item = item->next; } return(NULL); } /* end of cuddHashTableLookup2 */ /**Function******************************************************************** Synopsis [Inserts an item in a hash table.] Description [Inserts an item in a hash table when the key is composed of three pointers. Returns 1 if successful; 0 otherwise.] SideEffects [None] SeeAlso [cuddHashTableInsert cuddHashTableInsert1 cuddHashTableInsert2 cuddHashTableLookup3] ******************************************************************************/ int cuddHashTableInsert3( DdHashTable * hash, DdNode * f, DdNode * g, DdNode * h, DdNode * value, ptrint count) { int result; unsigned int posn; DdHashItem *item; #ifdef DD_DEBUG CUDD_ASSERT(hash->keysize == 3); #endif if (hash->size > hash->maxsize) { result = cuddHashTableResize(hash); if (result == 0) return(0); } item = cuddHashTableAlloc(hash); if (item == NULL) return(0); hash->size++; item->value = value; cuddRef(value); item->count = count; item->key[0] = f; item->key[1] = g; item->key[2] = h; posn = ddLCHash3(f,g,h,hash->shift); item->next = hash->bucket[posn]; hash->bucket[posn] = item; return(1); } /* end of cuddHashTableInsert3 */ /**Function******************************************************************** Synopsis [Looks up a key consisting of three pointers in a hash table.] Description [Looks up a key consisting of three pointers in a hash table. Returns the value associated to the key if there is an entry for the given key in the table; NULL otherwise. If the entry is present, its reference counter is decremented if not saturated. If the counter reaches 0, the value of the entry is dereferenced, and the entry is returned to the free list.] SideEffects [None] SeeAlso [cuddHashTableLookup cuddHashTableLookup1 cuddHashTableLookup2 cuddHashTableInsert3] ******************************************************************************/ DdNode * cuddHashTableLookup3( DdHashTable * hash, DdNode * f, DdNode * g, DdNode * h) { unsigned int posn; DdHashItem *item, *prev; #ifdef DD_DEBUG CUDD_ASSERT(hash->keysize == 3); #endif posn = ddLCHash3(f,g,h,hash->shift); item = hash->bucket[posn]; prev = NULL; while (item != NULL) { DdNodePtr *key = item->key; if ((f == key[0]) && (g == key[1]) && (h == key[2])) { DdNode *value = item->value; cuddSatDec(item->count); if (item->count == 0) { cuddDeref(value); if (prev == NULL) { hash->bucket[posn] = item->next; } else { prev->next = item->next; } item->next = hash->nextFree; hash->nextFree = item; hash->size--; } return(value); } prev = item; item = item->next; } return(NULL); } /* end of cuddHashTableLookup3 */ /*---------------------------------------------------------------------------*/ /* Definition of static functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Resizes a local cache.] Description [] SideEffects [None] SeeAlso [] ******************************************************************************/ static void cuddLocalCacheResize( DdLocalCache * cache) { DdLocalCacheItem *item, *olditem, *entry, *old; int i, shift; unsigned int posn; unsigned int slots, oldslots; extern DD_OOMFP MMoutOfMemory; DD_OOMFP saveHandler; olditem = cache->item; oldslots = cache->slots; slots = cache->slots = oldslots << 1; #ifdef DD_VERBOSE (void) fprintf(cache->manager->err, "Resizing local cache from %d to %d entries\n", oldslots, slots); (void) fprintf(cache->manager->err, "\thits = %.0f\tlookups = %.0f\thit ratio = %5.3f\n", cache->hits, cache->lookUps, cache->hits / cache->lookUps); #endif saveHandler = MMoutOfMemory; MMoutOfMemory = Cudd_OutOfMem; cache->item = item = (DdLocalCacheItem *) ALLOC(char, slots * cache->itemsize); MMoutOfMemory = saveHandler; /* If we fail to allocate the new table we just give up. */ if (item == NULL) { #ifdef DD_VERBOSE (void) fprintf(cache->manager->err,"Resizing failed. Giving up.\n"); #endif cache->slots = oldslots; cache->item = olditem; /* Do not try to resize again. */ cache->maxslots = oldslots - 1; return; } shift = --(cache->shift); cache->manager->memused += (slots - oldslots) * cache->itemsize; /* Clear new cache. */ memset(item, 0, slots * cache->itemsize); /* Copy from old cache to new one. */ for (i = 0; (unsigned) i < oldslots; i++) { old = (DdLocalCacheItem *) ((char *) olditem + i * cache->itemsize); if (old->value != NULL) { posn = ddLCHash(old->key,cache->keysize,shift); entry = (DdLocalCacheItem *) ((char *) item + posn * cache->itemsize); memcpy(entry->key,old->key,cache->keysize*sizeof(DdNode *)); entry->value = old->value; } } FREE(olditem); /* Reinitialize measurements so as to avoid division by 0 and ** immediate resizing. */ cache->lookUps = (double) (int) (slots * cache->minHit + 1); cache->hits = 0; } /* end of cuddLocalCacheResize */ /**Function******************************************************************** Synopsis [Computes the hash value for a local cache.] Description [Computes the hash value for a local cache. Returns the bucket index.] SideEffects [None] SeeAlso [] ******************************************************************************/ DD_INLINE static unsigned int ddLCHash( DdNodePtr * key, unsigned int keysize, int shift) { unsigned int val = (unsigned int) (ptrint) key[0] * DD_P2; unsigned int i; for (i = 1; i < keysize; i++) { val = val * DD_P1 + (int) (ptrint) key[i]; } return(val >> shift); } /* end of ddLCHash */ /**Function******************************************************************** Synopsis [Inserts a local cache in the manager list.] Description [] SideEffects [None] SeeAlso [] ******************************************************************************/ static void cuddLocalCacheAddToList( DdLocalCache * cache) { DdManager *manager = cache->manager; cache->next = manager->localCaches; manager->localCaches = cache; return; } /* end of cuddLocalCacheAddToList */ /**Function******************************************************************** Synopsis [Removes a local cache from the manager list.] Description [] SideEffects [None] SeeAlso [] ******************************************************************************/ static void cuddLocalCacheRemoveFromList( DdLocalCache * cache) { DdManager *manager = cache->manager; DdLocalCache **prevCache, *nextCache; prevCache = &(manager->localCaches); nextCache = manager->localCaches; while (nextCache != NULL) { if (nextCache == cache) { *prevCache = nextCache->next; return; } prevCache = &(nextCache->next); nextCache = nextCache->next; } return; /* should never get here */ } /* end of cuddLocalCacheRemoveFromList */ /**Function******************************************************************** Synopsis [Resizes a hash table.] Description [Resizes a hash table. Returns 1 if successful; 0 otherwise.] SideEffects [None] SeeAlso [cuddHashTableInsert] ******************************************************************************/ static int cuddHashTableResize( DdHashTable * hash) { int j; unsigned int posn; DdHashItem *item; DdHashItem *next; DdNode **key; int numBuckets; DdHashItem **buckets; DdHashItem **oldBuckets = hash->bucket; int shift; int oldNumBuckets = hash->numBuckets; extern DD_OOMFP MMoutOfMemory; DD_OOMFP saveHandler; /* Compute the new size of the table. */ numBuckets = oldNumBuckets << 1; saveHandler = MMoutOfMemory; MMoutOfMemory = Cudd_OutOfMem; buckets = ALLOC(DdHashItem *, numBuckets); MMoutOfMemory = saveHandler; if (buckets == NULL) { hash->maxsize <<= 1; return(1); } hash->bucket = buckets; hash->numBuckets = numBuckets; shift = --(hash->shift); hash->maxsize <<= 1; memset(buckets, 0, numBuckets * sizeof(DdHashItem *)); if (hash->keysize == 1) { for (j = 0; j < oldNumBuckets; j++) { item = oldBuckets[j]; while (item != NULL) { next = item->next; key = item->key; posn = ddLCHash2(key[0], key[0], shift); item->next = buckets[posn]; buckets[posn] = item; item = next; } } } else if (hash->keysize == 2) { for (j = 0; j < oldNumBuckets; j++) { item = oldBuckets[j]; while (item != NULL) { next = item->next; key = item->key; posn = ddLCHash2(key[0], key[1], shift); item->next = buckets[posn]; buckets[posn] = item; item = next; } } } else if (hash->keysize == 3) { for (j = 0; j < oldNumBuckets; j++) { item = oldBuckets[j]; while (item != NULL) { next = item->next; key = item->key; posn = ddLCHash3(key[0], key[1], key[2], shift); item->next = buckets[posn]; buckets[posn] = item; item = next; } } } else { for (j = 0; j < oldNumBuckets; j++) { item = oldBuckets[j]; while (item != NULL) { next = item->next; posn = ddLCHash(item->key, hash->keysize, shift); item->next = buckets[posn]; buckets[posn] = item; item = next; } } } FREE(oldBuckets); return(1); } /* end of cuddHashTableResize */ /**Function******************************************************************** Synopsis [Fast storage allocation for items in a hash table.] Description [Fast storage allocation for items in a hash table. The first 4 bytes of a chunk contain a pointer to the next block; the rest contains DD_MEM_CHUNK spaces for hash items. Returns a pointer to a new item if successful; NULL is memory is full.] SideEffects [None] SeeAlso [cuddAllocNode cuddDynamicAllocNode] ******************************************************************************/ DD_INLINE static DdHashItem * cuddHashTableAlloc( DdHashTable * hash) { int i; unsigned int itemsize = hash->itemsize; extern DD_OOMFP MMoutOfMemory; DD_OOMFP saveHandler; DdHashItem **mem, *thisOne, *next, *item; if (hash->nextFree == NULL) { saveHandler = MMoutOfMemory; MMoutOfMemory = Cudd_OutOfMem; mem = (DdHashItem **) ALLOC(char,(DD_MEM_CHUNK+1) * itemsize); MMoutOfMemory = saveHandler; if (mem == NULL) { if (hash->manager->stash != NULL) { FREE(hash->manager->stash); hash->manager->stash = NULL; /* Inhibit resizing of tables. */ hash->manager->maxCacheHard = hash->manager->cacheSlots - 1; hash->manager->cacheSlack = - (int) (hash->manager->cacheSlots + 1); for (i = 0; i < hash->manager->size; i++) { hash->manager->subtables[i].maxKeys <<= 2; } hash->manager->gcFrac = 0.2; hash->manager->minDead = (unsigned) (0.2 * (double) hash->manager->slots); mem = (DdHashItem **) ALLOC(char,(DD_MEM_CHUNK+1) * itemsize); } if (mem == NULL) { (*MMoutOfMemory)((long)((DD_MEM_CHUNK + 1) * itemsize)); hash->manager->errorCode = CUDD_MEMORY_OUT; return(NULL); } } mem[0] = (DdHashItem *) hash->memoryList; hash->memoryList = mem; thisOne = (DdHashItem *) ((char *) mem + itemsize); hash->nextFree = thisOne; for (i = 1; i < DD_MEM_CHUNK; i++) { next = (DdHashItem *) ((char *) thisOne + itemsize); thisOne->next = next; thisOne = next; } thisOne->next = NULL; } item = hash->nextFree; hash->nextFree = item->next; return(item); } /* end of cuddHashTableAlloc */ BRiAl-1.2.12/cudd/cuddLevelQ.c000066400000000000000000000422251436062512100156460ustar00rootroot00000000000000/**CFile*********************************************************************** FileName [cuddLevelQ.c] PackageName [cudd] Synopsis [Procedure to manage level queues.] Description [The functions in this file allow an application to easily manipulate a queue where nodes are prioritized by level. The emphasis is on efficiency. Therefore, the queue items can have variable size. If the application does not need to attach information to the nodes, it can declare the queue items to be of type DdQueueItem. Otherwise, it can declare them to be of a structure type such that the first three fields are data pointers. The third pointer points to the node. The first two pointers are used by the level queue functions. The remaining fields are initialized to 0 when a new item is created, and are then left to the exclusive use of the application. On the DEC Alphas the three pointers must be 32-bit pointers when CUDD is compiled with 32-bit pointers. The level queue functions make sure that each node appears at most once in the queue. They do so by keeping a hash table where the node is used as key. Queue items are recycled via a free list for efficiency. Internal procedures provided by this module:
      • cuddLevelQueueInit()
      • cuddLevelQueueQuit()
      • cuddLevelQueueEnqueue()
      • cuddLevelQueueDequeue()
      Static procedures included in this module:
      • hashLookup()
      • hashInsert()
      • hashDelete()
      • hashResize()
      ] SeeAlso [] Author [Fabio Somenzi] Copyright [Copyright (c) 1995-2012, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.] ******************************************************************************/ #include "util.h" #include "cuddInt.h" /*---------------------------------------------------------------------------*/ /* Constant declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Stucture declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Type declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Variable declarations */ /*---------------------------------------------------------------------------*/ #ifndef lint static char rcsid[] DD_UNUSED = "$Id: cuddLevelQ.c,v 1.16 2012/02/05 01:07:19 fabio Exp $"; #endif /*---------------------------------------------------------------------------*/ /* Macro declarations */ /*---------------------------------------------------------------------------*/ /**Macro*********************************************************************** Synopsis [Hash function for the table of a level queue.] Description [Hash function for the table of a level queue.] SideEffects [None] SeeAlso [hashInsert hashLookup hashDelete] ******************************************************************************/ #if SIZEOF_VOID_P == 8 && SIZEOF_INT == 4 #define lqHash(key,shift) \ (((unsigned)(ptruint)(key) * DD_P1) >> (shift)) #else #define lqHash(key,shift) \ (((unsigned)(key) * DD_P1) >> (shift)) #endif /**AutomaticStart*************************************************************/ /*---------------------------------------------------------------------------*/ /* Static function prototypes */ /*---------------------------------------------------------------------------*/ static DdQueueItem * hashLookup(DdLevelQueue *queue, void *key); static int hashInsert(DdLevelQueue *queue, DdQueueItem *item); static void hashDelete(DdLevelQueue *queue, DdQueueItem *item); static int hashResize(DdLevelQueue *queue); /**AutomaticEnd***************************************************************/ /*---------------------------------------------------------------------------*/ /* Definition of internal functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Initializes a level queue.] Description [Initializes a level queue. A level queue is a queue where inserts are based on the levels of the nodes. Within each level the policy is FIFO. Level queues are useful in traversing a BDD top-down. Queue items are kept in a free list when dequeued for efficiency. Returns a pointer to the new queue if successful; NULL otherwise.] SideEffects [None] SeeAlso [cuddLevelQueueQuit cuddLevelQueueEnqueue cuddLevelQueueDequeue] ******************************************************************************/ DdLevelQueue * cuddLevelQueueInit( int levels /* number of levels */, int itemSize /* size of the item */, int numBuckets /* initial number of hash buckets */) { DdLevelQueue *queue; int logSize; queue = ALLOC(DdLevelQueue,1); if (queue == NULL) return(NULL); /* Keep pointers to the insertion points for all levels. */ queue->last = ALLOC(DdQueueItem *, levels); if (queue->last == NULL) { FREE(queue); return(NULL); } /* Use a hash table to test for uniqueness. */ if (numBuckets < 2) numBuckets = 2; logSize = cuddComputeFloorLog2(numBuckets); queue->numBuckets = 1 << logSize; queue->shift = sizeof(int) * 8 - logSize; queue->buckets = ALLOC(DdQueueItem *, queue->numBuckets); if (queue->buckets == NULL) { FREE(queue->last); FREE(queue); return(NULL); } memset(queue->last, 0, levels * sizeof(DdQueueItem *)); memset(queue->buckets, 0, queue->numBuckets * sizeof(DdQueueItem *)); queue->first = NULL; queue->freelist = NULL; queue->levels = levels; queue->itemsize = itemSize; queue->size = 0; queue->maxsize = queue->numBuckets * DD_MAX_SUBTABLE_DENSITY; return(queue); } /* end of cuddLevelQueueInit */ /**Function******************************************************************** Synopsis [Shuts down a level queue.] Description [Shuts down a level queue and releases all the associated memory.] SideEffects [None] SeeAlso [cuddLevelQueueInit] ******************************************************************************/ void cuddLevelQueueQuit( DdLevelQueue * queue) { DdQueueItem *item; while (queue->freelist != NULL) { item = queue->freelist; queue->freelist = item->next; FREE(item); } while (queue->first != NULL) { item = (DdQueueItem *) queue->first; queue->first = item->next; FREE(item); } FREE(queue->buckets); FREE(queue->last); FREE(queue); return; } /* end of cuddLevelQueueQuit */ /**Function******************************************************************** Synopsis [Inserts a new key in a level queue.] Description [Inserts a new key in a level queue. A new entry is created in the queue only if the node is not already enqueued. Returns a pointer to the queue item if successful; NULL otherwise.] SideEffects [None] SeeAlso [cuddLevelQueueInit cuddLevelQueueDequeue] ******************************************************************************/ void * cuddLevelQueueEnqueue( DdLevelQueue * queue /* level queue */, void * key /* key to be enqueued */, int level /* level at which to insert */) { DdQueueItem *item; #ifdef DD_DEBUG assert(level < queue->levels); #endif /* Check whether entry for this node exists. */ item = hashLookup(queue,key); if (item != NULL) return(item); /* Get a free item from either the free list or the memory manager. */ if (queue->freelist == NULL) { item = (DdQueueItem *) ALLOC(char, queue->itemsize); if (item == NULL) return(NULL); } else { item = queue->freelist; queue->freelist = item->next; } /* Initialize. */ memset(item, 0, queue->itemsize); item->key = key; /* Update stats. */ queue->size++; if (queue->last[level]) { /* There are already items for this level in the queue. */ item->next = queue->last[level]->next; queue->last[level]->next = item; } else { /* There are no items at the current level. Look for the first ** non-empty level preceeding this one. */ int plevel = level; while (plevel != 0 && queue->last[plevel] == NULL) plevel--; if (queue->last[plevel] == NULL) { /* No element precedes this one in the queue. */ item->next = (DdQueueItem *) queue->first; queue->first = item; } else { item->next = queue->last[plevel]->next; queue->last[plevel]->next = item; } } queue->last[level] = item; /* Insert entry for the key in the hash table. */ if (hashInsert(queue,item) == 0) { return(NULL); } return(item); } /* end of cuddLevelQueueEnqueue */ /**Function******************************************************************** Synopsis [Inserts the first key in a level queue.] Description [Inserts the first key in a level queue. Returns a pointer to the queue item if successful; NULL otherwise.] SideEffects [None] SeeAlso [cuddLevelQueueEnqueue] ******************************************************************************/ void * cuddLevelQueueFirst( DdLevelQueue * queue /* level queue */, void * key /* key to be enqueued */, int level /* level at which to insert */) { DdQueueItem *item; #ifdef DD_DEBUG assert(level < queue->levels); /* Check whether entry for this node exists. */ item = hashLookup(queue,key); assert(item == NULL); #endif /* Get a free item from either the free list or the memory manager. */ if (queue->freelist == NULL) { item = (DdQueueItem *) ALLOC(char, queue->itemsize); if (item == NULL) return(NULL); } else { item = queue->freelist; queue->freelist = item->next; } /* Initialize. */ memset(item, 0, queue->itemsize); item->key = key; /* Update stats. */ queue->size = 1; /* No element precedes this one in the queue. */ queue->first = item; queue->last[level] = item; /* Insert entry for the key in the hash table. */ if (hashInsert(queue,item) == 0) { return(NULL); } return(item); } /* end of cuddLevelQueueFirst */ /**Function******************************************************************** Synopsis [Remove an item from the front of a level queue.] Description [Remove an item from the front of a level queue.] SideEffects [None] SeeAlso [cuddLevelQueueEnqueue] ******************************************************************************/ void cuddLevelQueueDequeue( DdLevelQueue * queue, int level) { DdQueueItem *item = (DdQueueItem *) queue->first; /* Delete from the hash table. */ hashDelete(queue,item); /* Since we delete from the front, if this is the last item for ** its level, there are no other items for the same level. */ if (queue->last[level] == item) { queue->last[level] = NULL; } queue->first = item->next; /* Put item on the free list. */ item->next = queue->freelist; queue->freelist = item; /* Update stats. */ queue->size--; return; } /* end of cuddLevelQueueDequeue */ /*---------------------------------------------------------------------------*/ /* Definition of static functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Looks up a key in the hash table of a level queue.] Description [Looks up a key in the hash table of a level queue. Returns a pointer to the item with the given key if the key is found; NULL otherwise.] SideEffects [None] SeeAlso [cuddLevelQueueEnqueue hashInsert] ******************************************************************************/ static DdQueueItem * hashLookup( DdLevelQueue * queue, void * key) { int posn; DdQueueItem *item; posn = lqHash(key,queue->shift); item = queue->buckets[posn]; while (item != NULL) { if (item->key == key) { return(item); } item = item->cnext; } return(NULL); } /* end of hashLookup */ /**Function******************************************************************** Synopsis [Inserts an item in the hash table of a level queue.] Description [Inserts an item in the hash table of a level queue. Returns 1 if successful; 0 otherwise. No check is performed to see if an item with the same key is already in the hash table.] SideEffects [None] SeeAlso [cuddLevelQueueEnqueue] ******************************************************************************/ static int hashInsert( DdLevelQueue * queue, DdQueueItem * item) { int result; int posn; if (queue->size > queue->maxsize) { result = hashResize(queue); if (result == 0) return(0); } posn = lqHash(item->key,queue->shift); item->cnext = queue->buckets[posn]; queue->buckets[posn] = item; return(1); } /* end of hashInsert */ /**Function******************************************************************** Synopsis [Removes an item from the hash table of a level queue.] Description [Removes an item from the hash table of a level queue. Nothing is done if the item is not in the table.] SideEffects [None] SeeAlso [cuddLevelQueueDequeue hashInsert] ******************************************************************************/ static void hashDelete( DdLevelQueue * queue, DdQueueItem * item) { int posn; DdQueueItem *prevItem; posn = lqHash(item->key,queue->shift); prevItem = queue->buckets[posn]; if (prevItem == NULL) return; if (prevItem == item) { queue->buckets[posn] = prevItem->cnext; return; } while (prevItem->cnext != NULL) { if (prevItem->cnext == item) { prevItem->cnext = item->cnext; return; } prevItem = prevItem->cnext; } return; } /* end of hashDelete */ /**Function******************************************************************** Synopsis [Resizes the hash table of a level queue.] Description [Resizes the hash table of a level queue. Returns 1 if successful; 0 otherwise.] SideEffects [None] SeeAlso [hashInsert] ******************************************************************************/ static int hashResize( DdLevelQueue * queue) { int j; int posn; DdQueueItem *item; DdQueueItem *next; int numBuckets; DdQueueItem **buckets; DdQueueItem **oldBuckets = queue->buckets; int shift; int oldNumBuckets = queue->numBuckets; extern DD_OOMFP MMoutOfMemory; DD_OOMFP saveHandler; /* Compute the new size of the subtable. */ numBuckets = oldNumBuckets << 1; saveHandler = MMoutOfMemory; MMoutOfMemory = Cudd_OutOfMem; buckets = queue->buckets = ALLOC(DdQueueItem *, numBuckets); MMoutOfMemory = saveHandler; if (buckets == NULL) { queue->maxsize <<= 1; return(1); } queue->numBuckets = numBuckets; shift = --(queue->shift); queue->maxsize <<= 1; memset(buckets, 0, numBuckets * sizeof(DdQueueItem *)); for (j = 0; j < oldNumBuckets; j++) { item = oldBuckets[j]; while (item != NULL) { next = item->cnext; posn = lqHash(item->key, shift); item->cnext = buckets[posn]; buckets[posn] = item; item = next; } } FREE(oldBuckets); return(1); } /* end of hashResize */ BRiAl-1.2.12/cudd/cuddLinear.c000066400000000000000000001144031436062512100156660ustar00rootroot00000000000000/**CFile*********************************************************************** FileName [cuddLinear.c] PackageName [cudd] Synopsis [Functions for DD reduction by linear transformations.] Description [ Internal procedures included in this module:
      • cuddLinearAndSifting()
      • cuddLinearInPlace()
      • cuddUpdateInteractionMatrix()
      • cuddInitLinear()
      • cuddResizeLinear()
      Static procedures included in this module:
      • ddLinearUniqueCompare()
      • ddLinearAndSiftingAux()
      • ddLinearAndSiftingUp()
      • ddLinearAndSiftingDown()
      • ddLinearAndSiftingBackward()
      • ddUndoMoves()
      • cuddXorLinear()
      ] Author [Fabio Somenzi] Copyright [Copyright (c) 1995-2012, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.] ******************************************************************************/ #include "util.h" #include "cuddInt.h" /*---------------------------------------------------------------------------*/ /* Constant declarations */ /*---------------------------------------------------------------------------*/ #define CUDD_SWAP_MOVE 0 #define CUDD_LINEAR_TRANSFORM_MOVE 1 #define CUDD_INVERSE_TRANSFORM_MOVE 2 #if SIZEOF_LONG == 8 #define BPL 64 #define LOGBPL 6 #else #define BPL 32 #define LOGBPL 5 #endif /*---------------------------------------------------------------------------*/ /* Stucture declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Type declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Variable declarations */ /*---------------------------------------------------------------------------*/ #ifndef lint static char rcsid[] DD_UNUSED = "$Id: cuddLinear.c,v 1.29 2012/02/05 01:07:19 fabio Exp $"; #endif static int *entry; #ifdef DD_STATS extern int ddTotalNumberSwapping; extern int ddTotalNISwaps; static int ddTotalNumberLinearTr; #endif #ifdef DD_DEBUG static int zero = 0; #endif /*---------------------------------------------------------------------------*/ /* Macro declarations */ /*---------------------------------------------------------------------------*/ /**AutomaticStart*************************************************************/ /*---------------------------------------------------------------------------*/ /* Static function prototypes */ /*---------------------------------------------------------------------------*/ static int ddLinearUniqueCompare (int *ptrX, int *ptrY); static int ddLinearAndSiftingAux (DdManager *table, int x, int xLow, int xHigh); static Move * ddLinearAndSiftingUp (DdManager *table, int y, int xLow, Move *prevMoves); static Move * ddLinearAndSiftingDown (DdManager *table, int x, int xHigh, Move *prevMoves); static int ddLinearAndSiftingBackward (DdManager *table, int size, Move *moves); static Move* ddUndoMoves (DdManager *table, Move *moves); static void cuddXorLinear (DdManager *table, int x, int y); /**AutomaticEnd***************************************************************/ /*---------------------------------------------------------------------------*/ /* Definition of exported functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Prints the linear transform matrix.] Description [Prints the linear transform matrix. Returns 1 in case of success; 0 otherwise.] SideEffects [none] SeeAlso [] ******************************************************************************/ int Cudd_PrintLinear( DdManager * table) { int i,j,k; int retval; int nvars = table->linearSize; int wordsPerRow = ((nvars - 1) >> LOGBPL) + 1; long word; for (i = 0; i < nvars; i++) { for (j = 0; j < wordsPerRow; j++) { word = table->linear[i*wordsPerRow + j]; for (k = 0; k < BPL; k++) { retval = fprintf(table->out,"%ld",word & 1); if (retval == 0) return(0); word >>= 1; } } retval = fprintf(table->out,"\n"); if (retval == 0) return(0); } return(1); } /* end of Cudd_PrintLinear */ /**Function******************************************************************** Synopsis [Reads an entry of the linear transform matrix.] Description [Reads an entry of the linear transform matrix.] SideEffects [none] SeeAlso [] ******************************************************************************/ int Cudd_ReadLinear( DdManager * table /* CUDD manager */, int x /* row index */, int y /* column index */) { int nvars = table->size; int wordsPerRow = ((nvars - 1) >> LOGBPL) + 1; long word; int bit; int result; assert(table->size == table->linearSize); word = wordsPerRow * x + (y >> LOGBPL); bit = y & (BPL-1); result = (int) ((table->linear[word] >> bit) & 1); return(result); } /* end of Cudd_ReadLinear */ /*---------------------------------------------------------------------------*/ /* Definition of internal functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [BDD reduction based on combination of sifting and linear transformations.] Description [BDD reduction based on combination of sifting and linear transformations. Assumes that no dead nodes are present.
      1. Order all the variables according to the number of entries in each unique table.
      2. Sift the variable up and down, remembering each time the total size of the DD heap. At each position, linear transformation of the two adjacent variables is tried and is accepted if it reduces the size of the DD.
      3. Select the best permutation.
      4. Repeat 3 and 4 for all variables.
      Returns 1 if successful; 0 otherwise.] SideEffects [None] ******************************************************************************/ int cuddLinearAndSifting( DdManager * table, int lower, int upper) { int i; int *var; int size; int x; int result; #ifdef DD_STATS int previousSize; #endif #ifdef DD_STATS ddTotalNumberLinearTr = 0; #endif size = table->size; var = NULL; entry = NULL; if (table->linear == NULL) { result = cuddInitLinear(table); if (result == 0) goto cuddLinearAndSiftingOutOfMem; #if 0 (void) fprintf(table->out,"\n"); result = Cudd_PrintLinear(table); if (result == 0) goto cuddLinearAndSiftingOutOfMem; #endif } else if (table->size != table->linearSize) { result = cuddResizeLinear(table); if (result == 0) goto cuddLinearAndSiftingOutOfMem; #if 0 (void) fprintf(table->out,"\n"); result = Cudd_PrintLinear(table); if (result == 0) goto cuddLinearAndSiftingOutOfMem; #endif } /* Find order in which to sift variables. */ entry = ALLOC(int,size); if (entry == NULL) { table->errorCode = CUDD_MEMORY_OUT; goto cuddLinearAndSiftingOutOfMem; } var = ALLOC(int,size); if (var == NULL) { table->errorCode = CUDD_MEMORY_OUT; goto cuddLinearAndSiftingOutOfMem; } for (i = 0; i < size; i++) { x = table->perm[i]; entry[i] = table->subtables[x].keys; var[i] = i; } qsort((void *)var,size,sizeof(int),(DD_QSFP)ddLinearUniqueCompare); /* Now sift. */ for (i = 0; i < ddMin(table->siftMaxVar,size); i++) { x = table->perm[var[i]]; if (x < lower || x > upper) continue; #ifdef DD_STATS previousSize = table->keys - table->isolated; #endif result = ddLinearAndSiftingAux(table,x,lower,upper); if (!result) goto cuddLinearAndSiftingOutOfMem; #ifdef DD_STATS if (table->keys < (unsigned) previousSize + table->isolated) { (void) fprintf(table->out,"-"); } else if (table->keys > (unsigned) previousSize + table->isolated) { (void) fprintf(table->out,"+"); /* should never happen */ (void) fprintf(table->out,"\nSize increased from %d to %d while sifting variable %d\n", previousSize, table->keys - table->isolated, var[i]); } else { (void) fprintf(table->out,"="); } fflush(table->out); #endif #ifdef DD_DEBUG (void) Cudd_DebugCheck(table); #endif } FREE(var); FREE(entry); #ifdef DD_STATS (void) fprintf(table->out,"\n#:L_LINSIFT %8d: linear trans.", ddTotalNumberLinearTr); #endif return(1); cuddLinearAndSiftingOutOfMem: if (entry != NULL) FREE(entry); if (var != NULL) FREE(var); return(0); } /* end of cuddLinearAndSifting */ /**Function******************************************************************** Synopsis [Linearly combines two adjacent variables.] Description [Linearly combines two adjacent variables. Specifically, replaces the top variable with the exclusive nor of the two variables. It assumes that no dead nodes are present on entry to this procedure. The procedure then guarantees that no dead nodes will be present when it terminates. cuddLinearInPlace assumes that x < y. Returns the number of keys in the table if successful; 0 otherwise.] SideEffects [The two subtables corrresponding to variables x and y are modified. The global counters of the unique table are also affected.] SeeAlso [cuddSwapInPlace] ******************************************************************************/ int cuddLinearInPlace( DdManager * table, int x, int y) { DdNodePtr *xlist, *ylist; int xindex, yindex; int xslots, yslots; int xshift, yshift; int oldxkeys, oldykeys; int newxkeys, newykeys; int comple, newcomplement; int i; int posn; int isolated; DdNode *f,*f0,*f1,*f01,*f00,*f11,*f10,*newf1,*newf0; DdNode *g,*next,*last; DdNodePtr *previousP; DdNode *tmp; DdNode *sentinel = &(table->sentinel); #ifdef DD_DEBUG int count, idcheck; #endif #ifdef DD_DEBUG assert(x < y); assert(cuddNextHigh(table,x) == y); assert(table->subtables[x].keys != 0); assert(table->subtables[y].keys != 0); assert(table->subtables[x].dead == 0); assert(table->subtables[y].dead == 0); #endif xindex = table->invperm[x]; yindex = table->invperm[y]; if (cuddTestInteract(table,xindex,yindex)) { #ifdef DD_STATS ddTotalNumberLinearTr++; #endif /* Get parameters of x subtable. */ xlist = table->subtables[x].nodelist; oldxkeys = table->subtables[x].keys; xslots = table->subtables[x].slots; xshift = table->subtables[x].shift; /* Get parameters of y subtable. */ ylist = table->subtables[y].nodelist; oldykeys = table->subtables[y].keys; yslots = table->subtables[y].slots; yshift = table->subtables[y].shift; newxkeys = 0; newykeys = oldykeys; /* Check whether the two projection functions involved in this ** swap are isolated. At the end, we'll be able to tell how many ** isolated projection functions are there by checking only these ** two functions again. This is done to eliminate the isolated ** projection functions from the node count. */ isolated = - ((table->vars[xindex]->ref == 1) + (table->vars[yindex]->ref == 1)); /* The nodes in the x layer are put in a chain. ** The chain is handled as a FIFO; g points to the beginning and ** last points to the end. */ g = NULL; #ifdef DD_DEBUG last = NULL; #endif for (i = 0; i < xslots; i++) { f = xlist[i]; if (f == sentinel) continue; xlist[i] = sentinel; if (g == NULL) { g = f; } else { last->next = f; } while ((next = f->next) != sentinel) { f = next; } /* while there are elements in the collision chain */ last = f; } /* for each slot of the x subtable */ #ifdef DD_DEBUG /* last is always assigned in the for loop because there is at ** least one key */ assert(last != NULL); #endif last->next = NULL; #ifdef DD_COUNT table->swapSteps += oldxkeys; #endif /* Take care of the x nodes that must be re-expressed. ** They form a linked list pointed by g. */ f = g; while (f != NULL) { next = f->next; /* Find f1, f0, f11, f10, f01, f00. */ f1 = cuddT(f); #ifdef DD_DEBUG assert(!(Cudd_IsComplement(f1))); #endif if ((int) f1->index == yindex) { f11 = cuddT(f1); f10 = cuddE(f1); } else { f11 = f10 = f1; } #ifdef DD_DEBUG assert(!(Cudd_IsComplement(f11))); #endif f0 = cuddE(f); comple = Cudd_IsComplement(f0); f0 = Cudd_Regular(f0); if ((int) f0->index == yindex) { f01 = cuddT(f0); f00 = cuddE(f0); } else { f01 = f00 = f0; } if (comple) { f01 = Cudd_Not(f01); f00 = Cudd_Not(f00); } /* Decrease ref count of f1. */ cuddSatDec(f1->ref); /* Create the new T child. */ if (f11 == f00) { newf1 = f11; cuddSatInc(newf1->ref); } else { /* Check ylist for triple (yindex,f11,f00). */ posn = ddHash(f11, f00, yshift); /* For each element newf1 in collision list ylist[posn]. */ previousP = &(ylist[posn]); newf1 = *previousP; while (f11 < cuddT(newf1)) { previousP = &(newf1->next); newf1 = *previousP; } while (f11 == cuddT(newf1) && f00 < cuddE(newf1)) { previousP = &(newf1->next); newf1 = *previousP; } if (cuddT(newf1) == f11 && cuddE(newf1) == f00) { cuddSatInc(newf1->ref); } else { /* no match */ newf1 = cuddDynamicAllocNode(table); if (newf1 == NULL) goto cuddLinearOutOfMem; newf1->index = yindex; newf1->ref = 1; cuddT(newf1) = f11; cuddE(newf1) = f00; /* Insert newf1 in the collision list ylist[posn]; ** increase the ref counts of f11 and f00. */ newykeys++; newf1->next = *previousP; *previousP = newf1; cuddSatInc(f11->ref); tmp = Cudd_Regular(f00); cuddSatInc(tmp->ref); } } cuddT(f) = newf1; #ifdef DD_DEBUG assert(!(Cudd_IsComplement(newf1))); #endif /* Do the same for f0, keeping complement dots into account. */ /* decrease ref count of f0 */ tmp = Cudd_Regular(f0); cuddSatDec(tmp->ref); /* create the new E child */ if (f01 == f10) { newf0 = f01; tmp = Cudd_Regular(newf0); cuddSatInc(tmp->ref); } else { /* make sure f01 is regular */ newcomplement = Cudd_IsComplement(f01); if (newcomplement) { f01 = Cudd_Not(f01); f10 = Cudd_Not(f10); } /* Check ylist for triple (yindex,f01,f10). */ posn = ddHash(f01, f10, yshift); /* For each element newf0 in collision list ylist[posn]. */ previousP = &(ylist[posn]); newf0 = *previousP; while (f01 < cuddT(newf0)) { previousP = &(newf0->next); newf0 = *previousP; } while (f01 == cuddT(newf0) && f10 < cuddE(newf0)) { previousP = &(newf0->next); newf0 = *previousP; } if (cuddT(newf0) == f01 && cuddE(newf0) == f10) { cuddSatInc(newf0->ref); } else { /* no match */ newf0 = cuddDynamicAllocNode(table); if (newf0 == NULL) goto cuddLinearOutOfMem; newf0->index = yindex; newf0->ref = 1; cuddT(newf0) = f01; cuddE(newf0) = f10; /* Insert newf0 in the collision list ylist[posn]; ** increase the ref counts of f01 and f10. */ newykeys++; newf0->next = *previousP; *previousP = newf0; cuddSatInc(f01->ref); tmp = Cudd_Regular(f10); cuddSatInc(tmp->ref); } if (newcomplement) { newf0 = Cudd_Not(newf0); } } cuddE(f) = newf0; /* Re-insert the modified f in xlist. ** The modified f does not already exists in xlist. ** (Because of the uniqueness of the cofactors.) */ posn = ddHash(newf1, newf0, xshift); newxkeys++; previousP = &(xlist[posn]); tmp = *previousP; while (newf1 < cuddT(tmp)) { previousP = &(tmp->next); tmp = *previousP; } while (newf1 == cuddT(tmp) && newf0 < cuddE(tmp)) { previousP = &(tmp->next); tmp = *previousP; } f->next = *previousP; *previousP = f; f = next; } /* while f != NULL */ /* GC the y layer. */ /* For each node f in ylist. */ for (i = 0; i < yslots; i++) { previousP = &(ylist[i]); f = *previousP; while (f != sentinel) { next = f->next; if (f->ref == 0) { tmp = cuddT(f); cuddSatDec(tmp->ref); tmp = Cudd_Regular(cuddE(f)); cuddSatDec(tmp->ref); cuddDeallocNode(table,f); newykeys--; } else { *previousP = f; previousP = &(f->next); } f = next; } /* while f */ *previousP = sentinel; } /* for every collision list */ #ifdef DD_DEBUG #if 0 (void) fprintf(table->out,"Linearly combining %d and %d\n",x,y); #endif count = 0; idcheck = 0; for (i = 0; i < yslots; i++) { f = ylist[i]; while (f != sentinel) { count++; if (f->index != (DdHalfWord) yindex) idcheck++; f = f->next; } } if (count != newykeys) { fprintf(table->err,"Error in finding newykeys\toldykeys = %d\tnewykeys = %d\tactual = %d\n",oldykeys,newykeys,count); } if (idcheck != 0) fprintf(table->err,"Error in id's of ylist\twrong id's = %d\n",idcheck); count = 0; idcheck = 0; for (i = 0; i < xslots; i++) { f = xlist[i]; while (f != sentinel) { count++; if (f->index != (DdHalfWord) xindex) idcheck++; f = f->next; } } if (count != newxkeys || newxkeys != oldxkeys) { fprintf(table->err,"Error in finding newxkeys\toldxkeys = %d \tnewxkeys = %d \tactual = %d\n",oldxkeys,newxkeys,count); } if (idcheck != 0) fprintf(table->err,"Error in id's of xlist\twrong id's = %d\n",idcheck); #endif isolated += (table->vars[xindex]->ref == 1) + (table->vars[yindex]->ref == 1); table->isolated += isolated; /* Set the appropriate fields in table. */ table->subtables[y].keys = newykeys; /* Here we should update the linear combination table ** to record that x <- x EXNOR y. This is done by complementing ** the (x,y) entry of the table. */ table->keys += newykeys - oldykeys; cuddXorLinear(table,xindex,yindex); } #ifdef DD_DEBUG if (zero) { (void) Cudd_DebugCheck(table); } #endif return(table->keys - table->isolated); cuddLinearOutOfMem: (void) fprintf(table->err,"Error: cuddLinearInPlace out of memory\n"); return (0); } /* end of cuddLinearInPlace */ /**Function******************************************************************** Synopsis [Updates the interaction matrix.] Description [] SideEffects [none] SeeAlso [] ******************************************************************************/ void cuddUpdateInteractionMatrix( DdManager * table, int xindex, int yindex) { int i; for (i = 0; i < yindex; i++) { if (i != xindex && cuddTestInteract(table,i,yindex)) { if (i < xindex) { cuddSetInteract(table,i,xindex); } else { cuddSetInteract(table,xindex,i); } } } for (i = yindex+1; i < table->size; i++) { if (i != xindex && cuddTestInteract(table,yindex,i)) { if (i < xindex) { cuddSetInteract(table,i,xindex); } else { cuddSetInteract(table,xindex,i); } } } } /* end of cuddUpdateInteractionMatrix */ /**Function******************************************************************** Synopsis [Initializes the linear transform matrix.] Description [Initializes the linear transform matrix. Returns 1 if successful; 0 otherwise.] SideEffects [none] SeeAlso [] ******************************************************************************/ int cuddInitLinear( DdManager * table) { int words; int wordsPerRow; int nvars; int word; int bit; int i; long *linear; nvars = table->size; wordsPerRow = ((nvars - 1) >> LOGBPL) + 1; words = wordsPerRow * nvars; table->linear = linear = ALLOC(long,words); if (linear == NULL) { table->errorCode = CUDD_MEMORY_OUT; return(0); } table->memused += words * sizeof(long); table->linearSize = nvars; for (i = 0; i < words; i++) linear[i] = 0; for (i = 0; i < nvars; i++) { word = wordsPerRow * i + (i >> LOGBPL); bit = i & (BPL-1); linear[word] = 1 << bit; } return(1); } /* end of cuddInitLinear */ /**Function******************************************************************** Synopsis [Resizes the linear transform matrix.] Description [Resizes the linear transform matrix. Returns 1 if successful; 0 otherwise.] SideEffects [none] SeeAlso [] ******************************************************************************/ int cuddResizeLinear( DdManager * table) { int words,oldWords; int wordsPerRow,oldWordsPerRow; int nvars,oldNvars; int word,oldWord; int bit; int i,j; long *linear,*oldLinear; oldNvars = table->linearSize; oldWordsPerRow = ((oldNvars - 1) >> LOGBPL) + 1; oldWords = oldWordsPerRow * oldNvars; oldLinear = table->linear; nvars = table->size; wordsPerRow = ((nvars - 1) >> LOGBPL) + 1; words = wordsPerRow * nvars; table->linear = linear = ALLOC(long,words); if (linear == NULL) { table->errorCode = CUDD_MEMORY_OUT; return(0); } table->memused += (words - oldWords) * sizeof(long); for (i = 0; i < words; i++) linear[i] = 0; /* Copy old matrix. */ for (i = 0; i < oldNvars; i++) { for (j = 0; j < oldWordsPerRow; j++) { oldWord = oldWordsPerRow * i + j; word = wordsPerRow * i + j; linear[word] = oldLinear[oldWord]; } } FREE(oldLinear); /* Add elements to the diagonal. */ for (i = oldNvars; i < nvars; i++) { word = wordsPerRow * i + (i >> LOGBPL); bit = i & (BPL-1); linear[word] = 1 << bit; } table->linearSize = nvars; return(1); } /* end of cuddResizeLinear */ /*---------------------------------------------------------------------------*/ /* Definition of static functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Comparison function used by qsort.] Description [Comparison function used by qsort to order the variables according to the number of keys in the subtables. Returns the difference in number of keys between the two variables being compared.] SideEffects [None] ******************************************************************************/ static int ddLinearUniqueCompare( int * ptrX, int * ptrY) { #if 0 if (entry[*ptrY] == entry[*ptrX]) { return((*ptrX) - (*ptrY)); } #endif return(entry[*ptrY] - entry[*ptrX]); } /* end of ddLinearUniqueCompare */ /**Function******************************************************************** Synopsis [Given xLow <= x <= xHigh moves x up and down between the boundaries.] Description [Given xLow <= x <= xHigh moves x up and down between the boundaries. At each step a linear transformation is tried, and, if it decreases the size of the DD, it is accepted. Finds the best position and does the required changes. Returns 1 if successful; 0 otherwise.] SideEffects [None] ******************************************************************************/ static int ddLinearAndSiftingAux( DdManager * table, int x, int xLow, int xHigh) { Move *move; Move *moveUp; /* list of up moves */ Move *moveDown; /* list of down moves */ int initialSize; int result; initialSize = table->keys - table->isolated; moveDown = NULL; moveUp = NULL; if (x == xLow) { moveDown = ddLinearAndSiftingDown(table,x,xHigh,NULL); /* At this point x --> xHigh unless bounding occurred. */ if (moveDown == (Move *) CUDD_OUT_OF_MEM) goto ddLinearAndSiftingAuxOutOfMem; /* Move backward and stop at best position. */ result = ddLinearAndSiftingBackward(table,initialSize,moveDown); if (!result) goto ddLinearAndSiftingAuxOutOfMem; } else if (x == xHigh) { moveUp = ddLinearAndSiftingUp(table,x,xLow,NULL); /* At this point x --> xLow unless bounding occurred. */ if (moveUp == (Move *) CUDD_OUT_OF_MEM) goto ddLinearAndSiftingAuxOutOfMem; /* Move backward and stop at best position. */ result = ddLinearAndSiftingBackward(table,initialSize,moveUp); if (!result) goto ddLinearAndSiftingAuxOutOfMem; } else if ((x - xLow) > (xHigh - x)) { /* must go down first: shorter */ moveDown = ddLinearAndSiftingDown(table,x,xHigh,NULL); /* At this point x --> xHigh unless bounding occurred. */ if (moveDown == (Move *) CUDD_OUT_OF_MEM) goto ddLinearAndSiftingAuxOutOfMem; moveUp = ddUndoMoves(table,moveDown); #ifdef DD_DEBUG assert(moveUp == NULL || moveUp->x == x); #endif moveUp = ddLinearAndSiftingUp(table,x,xLow,moveUp); if (moveUp == (Move *) CUDD_OUT_OF_MEM) goto ddLinearAndSiftingAuxOutOfMem; /* Move backward and stop at best position. */ result = ddLinearAndSiftingBackward(table,initialSize,moveUp); if (!result) goto ddLinearAndSiftingAuxOutOfMem; } else { /* must go up first: shorter */ moveUp = ddLinearAndSiftingUp(table,x,xLow,NULL); /* At this point x --> xLow unless bounding occurred. */ if (moveUp == (Move *) CUDD_OUT_OF_MEM) goto ddLinearAndSiftingAuxOutOfMem; moveDown = ddUndoMoves(table,moveUp); #ifdef DD_DEBUG assert(moveDown == NULL || moveDown->y == x); #endif moveDown = ddLinearAndSiftingDown(table,x,xHigh,moveDown); if (moveDown == (Move *) CUDD_OUT_OF_MEM) goto ddLinearAndSiftingAuxOutOfMem; /* Move backward and stop at best position. */ result = ddLinearAndSiftingBackward(table,initialSize,moveDown); if (!result) goto ddLinearAndSiftingAuxOutOfMem; } while (moveDown != NULL) { move = moveDown->next; cuddDeallocMove(table, moveDown); moveDown = move; } while (moveUp != NULL) { move = moveUp->next; cuddDeallocMove(table, moveUp); moveUp = move; } return(1); ddLinearAndSiftingAuxOutOfMem: while (moveDown != NULL) { move = moveDown->next; cuddDeallocMove(table, moveDown); moveDown = move; } while (moveUp != NULL) { move = moveUp->next; cuddDeallocMove(table, moveUp); moveUp = move; } return(0); } /* end of ddLinearAndSiftingAux */ /**Function******************************************************************** Synopsis [Sifts a variable up and applies linear transformations.] Description [Sifts a variable up and applies linear transformations. Moves y up until either it reaches the bound (xLow) or the size of the DD heap increases too much. Returns the set of moves in case of success; NULL if memory is full.] SideEffects [None] ******************************************************************************/ static Move * ddLinearAndSiftingUp( DdManager * table, int y, int xLow, Move * prevMoves) { Move *moves; Move *move; int x; int size, newsize; int limitSize; int xindex, yindex; int isolated; int L; /* lower bound on DD size */ #ifdef DD_DEBUG int checkL; int z; int zindex; #endif moves = prevMoves; yindex = table->invperm[y]; /* Initialize the lower bound. ** The part of the DD below y will not change. ** The part of the DD above y that does not interact with y will not ** change. The rest may vanish in the best case, except for ** the nodes at level xLow, which will not vanish, regardless. */ limitSize = L = table->keys - table->isolated; for (x = xLow + 1; x < y; x++) { xindex = table->invperm[x]; if (cuddTestInteract(table,xindex,yindex)) { isolated = table->vars[xindex]->ref == 1; L -= table->subtables[x].keys - isolated; } } isolated = table->vars[yindex]->ref == 1; L -= table->subtables[y].keys - isolated; x = cuddNextLow(table,y); while (x >= xLow && L <= limitSize) { xindex = table->invperm[x]; #ifdef DD_DEBUG checkL = table->keys - table->isolated; for (z = xLow + 1; z < y; z++) { zindex = table->invperm[z]; if (cuddTestInteract(table,zindex,yindex)) { isolated = table->vars[zindex]->ref == 1; checkL -= table->subtables[z].keys - isolated; } } isolated = table->vars[yindex]->ref == 1; checkL -= table->subtables[y].keys - isolated; if (L != checkL) { (void) fprintf(table->out, "checkL(%d) != L(%d)\n",checkL,L); } #endif size = cuddSwapInPlace(table,x,y); if (size == 0) goto ddLinearAndSiftingUpOutOfMem; newsize = cuddLinearInPlace(table,x,y); if (newsize == 0) goto ddLinearAndSiftingUpOutOfMem; move = (Move *) cuddDynamicAllocNode(table); if (move == NULL) goto ddLinearAndSiftingUpOutOfMem; move->x = x; move->y = y; move->next = moves; moves = move; move->flags = CUDD_SWAP_MOVE; if (newsize >= size) { /* Undo transformation. The transformation we apply is ** its own inverse. Hence, we just apply the transformation ** again. */ newsize = cuddLinearInPlace(table,x,y); if (newsize == 0) goto ddLinearAndSiftingUpOutOfMem; #ifdef DD_DEBUG if (newsize != size) { (void) fprintf(table->out,"Change in size after identity transformation! From %d to %d\n",size,newsize); } #endif } else if (cuddTestInteract(table,xindex,yindex)) { size = newsize; move->flags = CUDD_LINEAR_TRANSFORM_MOVE; cuddUpdateInteractionMatrix(table,xindex,yindex); } move->size = size; /* Update the lower bound. */ if (cuddTestInteract(table,xindex,yindex)) { isolated = table->vars[xindex]->ref == 1; L += table->subtables[y].keys - isolated; } if ((double) size > (double) limitSize * table->maxGrowth) break; if (size < limitSize) limitSize = size; y = x; x = cuddNextLow(table,y); } return(moves); ddLinearAndSiftingUpOutOfMem: while (moves != NULL) { move = moves->next; cuddDeallocMove(table, moves); moves = move; } return((Move *) CUDD_OUT_OF_MEM); } /* end of ddLinearAndSiftingUp */ /**Function******************************************************************** Synopsis [Sifts a variable down and applies linear transformations.] Description [Sifts a variable down and applies linear transformations. Moves x down until either it reaches the bound (xHigh) or the size of the DD heap increases too much. Returns the set of moves in case of success; NULL if memory is full.] SideEffects [None] ******************************************************************************/ static Move * ddLinearAndSiftingDown( DdManager * table, int x, int xHigh, Move * prevMoves) { Move *moves; Move *move; int y; int size, newsize; int R; /* upper bound on node decrease */ int limitSize; int xindex, yindex; int isolated; #ifdef DD_DEBUG int checkR; int z; int zindex; #endif moves = prevMoves; /* Initialize R */ xindex = table->invperm[x]; limitSize = size = table->keys - table->isolated; R = 0; for (y = xHigh; y > x; y--) { yindex = table->invperm[y]; if (cuddTestInteract(table,xindex,yindex)) { isolated = table->vars[yindex]->ref == 1; R += table->subtables[y].keys - isolated; } } y = cuddNextHigh(table,x); while (y <= xHigh && size - R < limitSize) { #ifdef DD_DEBUG checkR = 0; for (z = xHigh; z > x; z--) { zindex = table->invperm[z]; if (cuddTestInteract(table,xindex,zindex)) { isolated = table->vars[zindex]->ref == 1; checkR += table->subtables[z].keys - isolated; } } if (R != checkR) { (void) fprintf(table->out, "checkR(%d) != R(%d)\n",checkR,R); } #endif /* Update upper bound on node decrease. */ yindex = table->invperm[y]; if (cuddTestInteract(table,xindex,yindex)) { isolated = table->vars[yindex]->ref == 1; R -= table->subtables[y].keys - isolated; } size = cuddSwapInPlace(table,x,y); if (size == 0) goto ddLinearAndSiftingDownOutOfMem; newsize = cuddLinearInPlace(table,x,y); if (newsize == 0) goto ddLinearAndSiftingDownOutOfMem; move = (Move *) cuddDynamicAllocNode(table); if (move == NULL) goto ddLinearAndSiftingDownOutOfMem; move->x = x; move->y = y; move->next = moves; moves = move; move->flags = CUDD_SWAP_MOVE; if (newsize >= size) { /* Undo transformation. The transformation we apply is ** its own inverse. Hence, we just apply the transformation ** again. */ newsize = cuddLinearInPlace(table,x,y); if (newsize == 0) goto ddLinearAndSiftingDownOutOfMem; if (newsize != size) { (void) fprintf(table->out,"Change in size after identity transformation! From %d to %d\n",size,newsize); } } else if (cuddTestInteract(table,xindex,yindex)) { size = newsize; move->flags = CUDD_LINEAR_TRANSFORM_MOVE; cuddUpdateInteractionMatrix(table,xindex,yindex); } move->size = size; if ((double) size > (double) limitSize * table->maxGrowth) break; if (size < limitSize) limitSize = size; x = y; y = cuddNextHigh(table,x); } return(moves); ddLinearAndSiftingDownOutOfMem: while (moves != NULL) { move = moves->next; cuddDeallocMove(table, moves); moves = move; } return((Move *) CUDD_OUT_OF_MEM); } /* end of ddLinearAndSiftingDown */ /**Function******************************************************************** Synopsis [Given a set of moves, returns the DD heap to the order giving the minimum size.] Description [Given a set of moves, returns the DD heap to the position giving the minimum size. In case of ties, returns to the closest position giving the minimum size. Returns 1 in case of success; 0 otherwise.] SideEffects [None] ******************************************************************************/ static int ddLinearAndSiftingBackward( DdManager * table, int size, Move * moves) { Move *move; int res; for (move = moves; move != NULL; move = move->next) { if (move->size < size) { size = move->size; } } for (move = moves; move != NULL; move = move->next) { if (move->size == size) return(1); if (move->flags == CUDD_LINEAR_TRANSFORM_MOVE) { res = cuddLinearInPlace(table,(int)move->x,(int)move->y); if (!res) return(0); } res = cuddSwapInPlace(table,(int)move->x,(int)move->y); if (!res) return(0); if (move->flags == CUDD_INVERSE_TRANSFORM_MOVE) { res = cuddLinearInPlace(table,(int)move->x,(int)move->y); if (!res) return(0); } } return(1); } /* end of ddLinearAndSiftingBackward */ /**Function******************************************************************** Synopsis [Given a set of moves, returns the DD heap to the order in effect before the moves.] Description [Given a set of moves, returns the DD heap to the order in effect before the moves. Returns 1 in case of success; 0 otherwise.] SideEffects [None] ******************************************************************************/ static Move* ddUndoMoves( DdManager * table, Move * moves) { Move *invmoves = NULL; Move *move; Move *invmove; int size; for (move = moves; move != NULL; move = move->next) { invmove = (Move *) cuddDynamicAllocNode(table); if (invmove == NULL) goto ddUndoMovesOutOfMem; invmove->x = move->x; invmove->y = move->y; invmove->next = invmoves; invmoves = invmove; if (move->flags == CUDD_SWAP_MOVE) { invmove->flags = CUDD_SWAP_MOVE; size = cuddSwapInPlace(table,(int)move->x,(int)move->y); if (!size) goto ddUndoMovesOutOfMem; } else if (move->flags == CUDD_LINEAR_TRANSFORM_MOVE) { invmove->flags = CUDD_INVERSE_TRANSFORM_MOVE; size = cuddLinearInPlace(table,(int)move->x,(int)move->y); if (!size) goto ddUndoMovesOutOfMem; size = cuddSwapInPlace(table,(int)move->x,(int)move->y); if (!size) goto ddUndoMovesOutOfMem; } else { /* must be CUDD_INVERSE_TRANSFORM_MOVE */ #ifdef DD_DEBUG (void) fprintf(table->err,"Unforseen event in ddUndoMoves!\n"); #endif invmove->flags = CUDD_LINEAR_TRANSFORM_MOVE; size = cuddSwapInPlace(table,(int)move->x,(int)move->y); if (!size) goto ddUndoMovesOutOfMem; size = cuddLinearInPlace(table,(int)move->x,(int)move->y); if (!size) goto ddUndoMovesOutOfMem; } invmove->size = size; } return(invmoves); ddUndoMovesOutOfMem: while (invmoves != NULL) { move = invmoves->next; cuddDeallocMove(table, invmoves); invmoves = move; } return((Move *) CUDD_OUT_OF_MEM); } /* end of ddUndoMoves */ /**Function******************************************************************** Synopsis [XORs two rows of the linear transform matrix.] Description [XORs two rows of the linear transform matrix and replaces the first row with the result.] SideEffects [none] SeeAlso [] ******************************************************************************/ static void cuddXorLinear( DdManager * table, int x, int y) { int i; int nvars = table->size; int wordsPerRow = ((nvars - 1) >> LOGBPL) + 1; int xstart = wordsPerRow * x; int ystart = wordsPerRow * y; long *linear = table->linear; for (i = 0; i < wordsPerRow; i++) { linear[xstart+i] ^= linear[ystart+i]; } } /* end of cuddXorLinear */ BRiAl-1.2.12/cudd/cuddLiteral.c000066400000000000000000000207421436062512100160520ustar00rootroot00000000000000/**CFile*********************************************************************** FileName [cuddLiteral.c] PackageName [cudd] Synopsis [Functions for manipulation of literal sets represented by BDDs.] Description [External procedures included in this file:
      • Cudd_bddLiteralSetIntersection()
      Internal procedures included in this file:
      • cuddBddLiteralSetIntersectionRecur()
      ] Author [Fabio Somenzi] Copyright [Copyright (c) 1995-2012, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.] ******************************************************************************/ #include "util.h" #include "cuddInt.h" /*---------------------------------------------------------------------------*/ /* Constant declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Stucture declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Type declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Variable declarations */ /*---------------------------------------------------------------------------*/ #ifndef lint static char rcsid[] DD_UNUSED = "$Id: cuddLiteral.c,v 1.9 2012/02/05 01:07:19 fabio Exp $"; #endif /*---------------------------------------------------------------------------*/ /* Macro declarations */ /*---------------------------------------------------------------------------*/ /**AutomaticStart*************************************************************/ /*---------------------------------------------------------------------------*/ /* Static function prototypes */ /*---------------------------------------------------------------------------*/ /**AutomaticEnd***************************************************************/ /*---------------------------------------------------------------------------*/ /* Definition of exported functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Computes the intesection of two sets of literals represented as BDDs.] Description [Computes the intesection of two sets of literals represented as BDDs. Each set is represented as a cube of the literals in the set. The empty set is represented by the constant 1. No variable can be simultaneously present in both phases in a set. Returns a pointer to the BDD representing the intersected sets, if successful; NULL otherwise.] SideEffects [None] ******************************************************************************/ DdNode * Cudd_bddLiteralSetIntersection( DdManager * dd, DdNode * f, DdNode * g) { DdNode *res; do { dd->reordered = 0; res = cuddBddLiteralSetIntersectionRecur(dd,f,g); } while (dd->reordered == 1); return(res); } /* end of Cudd_bddLiteralSetIntersection */ /*---------------------------------------------------------------------------*/ /* Definition of internal functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_bddLiteralSetIntersection.] Description [Performs the recursive step of Cudd_bddLiteralSetIntersection. Scans the cubes for common variables, and checks whether they agree in phase. Returns a pointer to the resulting cube if successful; NULL otherwise.] SideEffects [None] ******************************************************************************/ DdNode * cuddBddLiteralSetIntersectionRecur( DdManager * dd, DdNode * f, DdNode * g) { DdNode *res, *tmp; DdNode *F, *G; DdNode *fc, *gc; DdNode *one; DdNode *zero; unsigned int topf, topg, comple; int phasef, phaseg; statLine(dd); if (f == g) return(f); F = Cudd_Regular(f); G = Cudd_Regular(g); one = DD_ONE(dd); /* Here f != g. If F == G, then f and g are complementary. ** Since they are two cubes, this case only occurs when f == v, ** g == v', and v is a variable or its complement. */ if (F == G) return(one); zero = Cudd_Not(one); topf = cuddI(dd,F->index); topg = cuddI(dd,G->index); /* Look for a variable common to both cubes. If there are none, this ** loop will stop when the constant node is reached in both cubes. */ while (topf != topg) { if (topf < topg) { /* move down on f */ comple = f != F; f = cuddT(F); if (comple) f = Cudd_Not(f); if (f == zero) { f = cuddE(F); if (comple) f = Cudd_Not(f); } F = Cudd_Regular(f); topf = cuddI(dd,F->index); } else if (topg < topf) { comple = g != G; g = cuddT(G); if (comple) g = Cudd_Not(g); if (g == zero) { g = cuddE(G); if (comple) g = Cudd_Not(g); } G = Cudd_Regular(g); topg = cuddI(dd,G->index); } } /* At this point, f == one <=> g == 1. It suffices to test one of them. */ if (f == one) return(one); res = cuddCacheLookup2(dd,Cudd_bddLiteralSetIntersection,f,g); if (res != NULL) { return(res); } /* Here f and g are both non constant and have the same top variable. */ comple = f != F; fc = cuddT(F); phasef = 1; if (comple) fc = Cudd_Not(fc); if (fc == zero) { fc = cuddE(F); phasef = 0; if (comple) fc = Cudd_Not(fc); } comple = g != G; gc = cuddT(G); phaseg = 1; if (comple) gc = Cudd_Not(gc); if (gc == zero) { gc = cuddE(G); phaseg = 0; if (comple) gc = Cudd_Not(gc); } tmp = cuddBddLiteralSetIntersectionRecur(dd,fc,gc); if (tmp == NULL) { return(NULL); } if (phasef != phaseg) { res = tmp; } else { cuddRef(tmp); if (phasef == 0) { res = cuddBddAndRecur(dd,Cudd_Not(dd->vars[F->index]),tmp); } else { res = cuddBddAndRecur(dd,dd->vars[F->index],tmp); } if (res == NULL) { Cudd_RecursiveDeref(dd,tmp); return(NULL); } cuddDeref(tmp); /* Just cuddDeref, because it is included in result */ } cuddCacheInsert2(dd,Cudd_bddLiteralSetIntersection,f,g,res); return(res); } /* end of cuddBddLiteralSetIntersectionRecur */ /*---------------------------------------------------------------------------*/ /* Definition of static functions */ /*---------------------------------------------------------------------------*/ BRiAl-1.2.12/cudd/cuddMatMult.c000066400000000000000000000500031436062512100160320ustar00rootroot00000000000000/**CFile*********************************************************************** FileName [cuddMatMult.c] PackageName [cudd] Synopsis [Matrix multiplication functions.] Description [External procedures included in this module:
      • Cudd_addMatrixMultiply()
      • Cudd_addTimesPlus()
      • Cudd_addTriangle()
      • Cudd_addOuterSum()
      Static procedures included in this module:
      • addMMRecur()
      • addTriangleRecur()
      • cuddAddOuterSumRecur()
      ] Author [Fabio Somenzi] Copyright [Copyright (c) 1995-2012, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.] ******************************************************************************/ #include "util.h" #include "cuddInt.h" /*---------------------------------------------------------------------------*/ /* Constant declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Stucture declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Type declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Variable declarations */ /*---------------------------------------------------------------------------*/ #ifndef lint static char rcsid[] DD_UNUSED = "$Id: cuddMatMult.c,v 1.18 2012/02/05 01:07:19 fabio Exp $"; #endif /*---------------------------------------------------------------------------*/ /* Macro declarations */ /*---------------------------------------------------------------------------*/ /**AutomaticStart*************************************************************/ /*---------------------------------------------------------------------------*/ /* Static function prototypes */ /*---------------------------------------------------------------------------*/ static DdNode * addMMRecur (DdManager *dd, DdNode *A, DdNode *B, int topP, int *vars); static DdNode * addTriangleRecur (DdManager *dd, DdNode *f, DdNode *g, int *vars, DdNode *cube); static DdNode * cuddAddOuterSumRecur (DdManager *dd, DdNode *M, DdNode *r, DdNode *c); /**AutomaticEnd***************************************************************/ /*---------------------------------------------------------------------------*/ /* Definition of exported functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Calculates the product of two matrices represented as ADDs.] Description [Calculates the product of two matrices, A and B, represented as ADDs. This procedure implements the quasiring multiplication algorithm. A is assumed to depend on variables x (rows) and z (columns). B is assumed to depend on variables z (rows) and y (columns). The product of A and B then depends on x (rows) and y (columns). Only the z variables have to be explicitly identified; they are the "summation" variables. Returns a pointer to the result if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_addTimesPlus Cudd_addTriangle Cudd_bddAndAbstract] ******************************************************************************/ DdNode * Cudd_addMatrixMultiply( DdManager * dd, DdNode * A, DdNode * B, DdNode ** z, int nz) { int i, nvars, *vars; DdNode *res; /* Array vars says what variables are "summation" variables. */ nvars = dd->size; vars = ALLOC(int,nvars); if (vars == NULL) { dd->errorCode = CUDD_MEMORY_OUT; return(NULL); } for (i = 0; i < nvars; i++) { vars[i] = 0; } for (i = 0; i < nz; i++) { vars[z[i]->index] = 1; } do { dd->reordered = 0; res = addMMRecur(dd,A,B,-1,vars); } while (dd->reordered == 1); FREE(vars); return(res); } /* end of Cudd_addMatrixMultiply */ /**Function******************************************************************** Synopsis [Calculates the product of two matrices represented as ADDs.] Description [Calculates the product of two matrices, A and B, represented as ADDs, using the CMU matrix by matrix multiplication procedure by Clarke et al.. Matrix A has x's as row variables and z's as column variables, while matrix B has z's as row variables and y's as column variables. Returns the pointer to the result if successful; NULL otherwise. The resulting matrix has x's as row variables and y's as column variables.] SideEffects [None] SeeAlso [Cudd_addMatrixMultiply] ******************************************************************************/ DdNode * Cudd_addTimesPlus( DdManager * dd, DdNode * A, DdNode * B, DdNode ** z, int nz) { DdNode *w, *cube, *tmp, *res; int i; tmp = Cudd_addApply(dd,Cudd_addTimes,A,B); if (tmp == NULL) return(NULL); Cudd_Ref(tmp); Cudd_Ref(cube = DD_ONE(dd)); for (i = nz-1; i >= 0; i--) { w = Cudd_addIte(dd,z[i],cube,DD_ZERO(dd)); if (w == NULL) { Cudd_RecursiveDeref(dd,tmp); return(NULL); } Cudd_Ref(w); Cudd_RecursiveDeref(dd,cube); cube = w; } res = Cudd_addExistAbstract(dd,tmp,cube); if (res == NULL) { Cudd_RecursiveDeref(dd,tmp); Cudd_RecursiveDeref(dd,cube); return(NULL); } Cudd_Ref(res); Cudd_RecursiveDeref(dd,cube); Cudd_RecursiveDeref(dd,tmp); Cudd_Deref(res); return(res); } /* end of Cudd_addTimesPlus */ /**Function******************************************************************** Synopsis [Performs the triangulation step for the shortest path computation.] Description [Implements the semiring multiplication algorithm used in the triangulation step for the shortest path computation. f is assumed to depend on variables x (rows) and z (columns). g is assumed to depend on variables z (rows) and y (columns). The product of f and g then depends on x (rows) and y (columns). Only the z variables have to be explicitly identified; they are the "abstraction" variables. Returns a pointer to the result if successful; NULL otherwise. ] SideEffects [None] SeeAlso [Cudd_addMatrixMultiply Cudd_bddAndAbstract] ******************************************************************************/ DdNode * Cudd_addTriangle( DdManager * dd, DdNode * f, DdNode * g, DdNode ** z, int nz) { int i, nvars, *vars; DdNode *res, *cube; nvars = dd->size; vars = ALLOC(int, nvars); if (vars == NULL) { dd->errorCode = CUDD_MEMORY_OUT; return(NULL); } for (i = 0; i < nvars; i++) vars[i] = -1; for (i = 0; i < nz; i++) vars[z[i]->index] = i; cube = Cudd_addComputeCube(dd, z, NULL, nz); if (cube == NULL) { FREE(vars); return(NULL); } cuddRef(cube); do { dd->reordered = 0; res = addTriangleRecur(dd, f, g, vars, cube); } while (dd->reordered == 1); if (res != NULL) cuddRef(res); Cudd_RecursiveDeref(dd,cube); if (res != NULL) cuddDeref(res); FREE(vars); return(res); } /* end of Cudd_addTriangle */ /**Function******************************************************************** Synopsis [Takes the minimum of a matrix and the outer sum of two vectors.] Description [Takes the pointwise minimum of a matrix and the outer sum of two vectors. This procedure is used in the Floyd-Warshall all-pair shortest path algorithm. Returns a pointer to the result if successful; NULL otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ DdNode * Cudd_addOuterSum( DdManager *dd, DdNode *M, DdNode *r, DdNode *c) { DdNode *res; do { dd->reordered = 0; res = cuddAddOuterSumRecur(dd, M, r, c); } while (dd->reordered == 1); return(res); } /* end of Cudd_addOuterSum */ /*---------------------------------------------------------------------------*/ /* Definition of internal functions */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Definition of static functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_addMatrixMultiply.] Description [Performs the recursive step of Cudd_addMatrixMultiply. Returns a pointer to the result if successful; NULL otherwise.] SideEffects [None] ******************************************************************************/ static DdNode * addMMRecur( DdManager * dd, DdNode * A, DdNode * B, int topP, int * vars) { DdNode *zero, *At, /* positive cofactor of first operand */ *Ae, /* negative cofactor of first operand */ *Bt, /* positive cofactor of second operand */ *Be, /* negative cofactor of second operand */ *t, /* positive cofactor of result */ *e, /* negative cofactor of result */ *scaled, /* scaled result */ *add_scale, /* ADD representing the scaling factor */ *res; int i; /* loop index */ double scale; /* scaling factor */ int index; /* index of the top variable */ CUDD_VALUE_TYPE value; unsigned int topA, topB, topV; DD_CTFP cacheOp; statLine(dd); zero = DD_ZERO(dd); if (A == zero || B == zero) { return(zero); } if (cuddIsConstant(A) && cuddIsConstant(B)) { /* Compute the scaling factor. It is 2^k, where k is the ** number of summation variables below the current variable. ** Indeed, these constants represent blocks of 2^k identical ** constant values in both A and B. */ value = cuddV(A) * cuddV(B); for (i = 0; i < dd->size; i++) { if (vars[i]) { if (dd->perm[i] > topP) { value *= (CUDD_VALUE_TYPE) 2; } } } res = cuddUniqueConst(dd, value); return(res); } /* Standardize to increase cache efficiency. Clearly, A*B != B*A ** in matrix multiplication. However, which matrix is which is ** determined by the variables appearing in the ADDs and not by ** which one is passed as first argument. */ if (A > B) { DdNode *tmp = A; A = B; B = tmp; } topA = cuddI(dd,A->index); topB = cuddI(dd,B->index); topV = ddMin(topA,topB); cacheOp = (DD_CTFP) addMMRecur; res = cuddCacheLookup2(dd,cacheOp,A,B); if (res != NULL) { /* If the result is 0, there is no need to normalize. ** Otherwise we count the number of z variables between ** the current depth and the top of the ADDs. These are ** the missing variables that determine the size of the ** constant blocks. */ if (res == zero) return(res); scale = 1.0; for (i = 0; i < dd->size; i++) { if (vars[i]) { if (dd->perm[i] > topP && (unsigned) dd->perm[i] < topV) { scale *= 2; } } } if (scale > 1.0) { cuddRef(res); add_scale = cuddUniqueConst(dd,(CUDD_VALUE_TYPE)scale); if (add_scale == NULL) { Cudd_RecursiveDeref(dd, res); return(NULL); } cuddRef(add_scale); scaled = cuddAddApplyRecur(dd,Cudd_addTimes,res,add_scale); if (scaled == NULL) { Cudd_RecursiveDeref(dd, add_scale); Cudd_RecursiveDeref(dd, res); return(NULL); } cuddRef(scaled); Cudd_RecursiveDeref(dd, add_scale); Cudd_RecursiveDeref(dd, res); res = scaled; cuddDeref(res); } return(res); } /* compute the cofactors */ if (topV == topA) { At = cuddT(A); Ae = cuddE(A); } else { At = Ae = A; } if (topV == topB) { Bt = cuddT(B); Be = cuddE(B); } else { Bt = Be = B; } t = addMMRecur(dd, At, Bt, (int)topV, vars); if (t == NULL) return(NULL); cuddRef(t); e = addMMRecur(dd, Ae, Be, (int)topV, vars); if (e == NULL) { Cudd_RecursiveDeref(dd, t); return(NULL); } cuddRef(e); index = dd->invperm[topV]; if (vars[index] == 0) { /* We have split on either the rows of A or the columns ** of B. We just need to connect the two subresults, ** which correspond to two submatrices of the result. */ res = (t == e) ? t : cuddUniqueInter(dd,index,t,e); if (res == NULL) { Cudd_RecursiveDeref(dd, t); Cudd_RecursiveDeref(dd, e); return(NULL); } cuddRef(res); cuddDeref(t); cuddDeref(e); } else { /* we have simultaneously split on the columns of A and ** the rows of B. The two subresults must be added. */ res = cuddAddApplyRecur(dd,Cudd_addPlus,t,e); if (res == NULL) { Cudd_RecursiveDeref(dd, t); Cudd_RecursiveDeref(dd, e); return(NULL); } cuddRef(res); Cudd_RecursiveDeref(dd, t); Cudd_RecursiveDeref(dd, e); } cuddCacheInsert2(dd,cacheOp,A,B,res); /* We have computed (and stored in the computed table) a minimal ** result; that is, a result that assumes no summation variables ** between the current depth of the recursion and its top ** variable. We now take into account the z variables by properly ** scaling the result. */ if (res != zero) { scale = 1.0; for (i = 0; i < dd->size; i++) { if (vars[i]) { if (dd->perm[i] > topP && (unsigned) dd->perm[i] < topV) { scale *= 2; } } } if (scale > 1.0) { add_scale = cuddUniqueConst(dd,(CUDD_VALUE_TYPE)scale); if (add_scale == NULL) { Cudd_RecursiveDeref(dd, res); return(NULL); } cuddRef(add_scale); scaled = cuddAddApplyRecur(dd,Cudd_addTimes,res,add_scale); if (scaled == NULL) { Cudd_RecursiveDeref(dd, res); Cudd_RecursiveDeref(dd, add_scale); return(NULL); } cuddRef(scaled); Cudd_RecursiveDeref(dd, add_scale); Cudd_RecursiveDeref(dd, res); res = scaled; } } cuddDeref(res); return(res); } /* end of addMMRecur */ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_addTriangle.] Description [Performs the recursive step of Cudd_addTriangle. Returns a pointer to the result if successful; NULL otherwise.] SideEffects [None] ******************************************************************************/ static DdNode * addTriangleRecur( DdManager * dd, DdNode * f, DdNode * g, int * vars, DdNode *cube) { DdNode *fv, *fvn, *gv, *gvn, *t, *e, *res; CUDD_VALUE_TYPE value; int top, topf, topg, index; statLine(dd); if (f == DD_PLUS_INFINITY(dd) || g == DD_PLUS_INFINITY(dd)) { return(DD_PLUS_INFINITY(dd)); } if (cuddIsConstant(f) && cuddIsConstant(g)) { value = cuddV(f) + cuddV(g); res = cuddUniqueConst(dd, value); return(res); } if (f < g) { DdNode *tmp = f; f = g; g = tmp; } if (f->ref != 1 || g->ref != 1) { res = cuddCacheLookup(dd, DD_ADD_TRIANGLE_TAG, f, g, cube); if (res != NULL) { return(res); } } topf = cuddI(dd,f->index); topg = cuddI(dd,g->index); top = ddMin(topf,topg); if (top == topf) {fv = cuddT(f); fvn = cuddE(f);} else {fv = fvn = f;} if (top == topg) {gv = cuddT(g); gvn = cuddE(g);} else {gv = gvn = g;} t = addTriangleRecur(dd, fv, gv, vars, cube); if (t == NULL) return(NULL); cuddRef(t); e = addTriangleRecur(dd, fvn, gvn, vars, cube); if (e == NULL) { Cudd_RecursiveDeref(dd, t); return(NULL); } cuddRef(e); index = dd->invperm[top]; if (vars[index] < 0) { res = (t == e) ? t : cuddUniqueInter(dd,index,t,e); if (res == NULL) { Cudd_RecursiveDeref(dd, t); Cudd_RecursiveDeref(dd, e); return(NULL); } cuddDeref(t); cuddDeref(e); } else { res = cuddAddApplyRecur(dd,Cudd_addMinimum,t,e); if (res == NULL) { Cudd_RecursiveDeref(dd, t); Cudd_RecursiveDeref(dd, e); return(NULL); } cuddRef(res); Cudd_RecursiveDeref(dd, t); Cudd_RecursiveDeref(dd, e); cuddDeref(res); } if (f->ref != 1 || g->ref != 1) { cuddCacheInsert(dd, DD_ADD_TRIANGLE_TAG, f, g, cube, res); } return(res); } /* end of addTriangleRecur */ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_addOuterSum.] Description [Performs the recursive step of Cudd_addOuterSum. Returns a pointer to the result if successful; NULL otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ static DdNode * cuddAddOuterSumRecur( DdManager *dd, DdNode *M, DdNode *r, DdNode *c) { DdNode *P, *R, *Mt, *Me, *rt, *re, *ct, *ce, *Rt, *Re; int topM, topc, topr; int v, index; statLine(dd); /* Check special cases. */ if (r == DD_PLUS_INFINITY(dd) || c == DD_PLUS_INFINITY(dd)) return(M); if (cuddIsConstant(c) && cuddIsConstant(r)) { R = cuddUniqueConst(dd,Cudd_V(c)+Cudd_V(r)); cuddRef(R); if (cuddIsConstant(M)) { if (cuddV(R) <= cuddV(M)) { cuddDeref(R); return(R); } else { Cudd_RecursiveDeref(dd,R); return(M); } } else { P = Cudd_addApply(dd,Cudd_addMinimum,R,M); cuddRef(P); Cudd_RecursiveDeref(dd,R); cuddDeref(P); return(P); } } /* Check the cache. */ R = cuddCacheLookup(dd,DD_ADD_OUT_SUM_TAG,M,r,c); if (R != NULL) return(R); topM = cuddI(dd,M->index); topr = cuddI(dd,r->index); topc = cuddI(dd,c->index); v = ddMin(topM,ddMin(topr,topc)); /* Compute cofactors. */ if (topM == v) { Mt = cuddT(M); Me = cuddE(M); } else { Mt = Me = M; } if (topr == v) { rt = cuddT(r); re = cuddE(r); } else { rt = re = r; } if (topc == v) { ct = cuddT(c); ce = cuddE(c); } else { ct = ce = c; } /* Recursively solve. */ Rt = cuddAddOuterSumRecur(dd,Mt,rt,ct); if (Rt == NULL) return(NULL); cuddRef(Rt); Re = cuddAddOuterSumRecur(dd,Me,re,ce); if (Re == NULL) { Cudd_RecursiveDeref(dd, Rt); return(NULL); } cuddRef(Re); index = dd->invperm[v]; R = (Rt == Re) ? Rt : cuddUniqueInter(dd,index,Rt,Re); if (R == NULL) { Cudd_RecursiveDeref(dd, Rt); Cudd_RecursiveDeref(dd, Re); return(NULL); } cuddDeref(Rt); cuddDeref(Re); /* Store the result in the cache. */ cuddCacheInsert(dd,DD_ADD_OUT_SUM_TAG,M,r,c,R); return(R); } /* end of cuddAddOuterSumRecur */ BRiAl-1.2.12/cudd/cuddPriority.c000066400000000000000000001630251436062512100163010ustar00rootroot00000000000000/**CFile*********************************************************************** FileName [cuddPriority.c] PackageName [cudd] Synopsis [Priority functions.] Description [External procedures included in this file:
      • Cudd_PrioritySelect()
      • Cudd_Xgty()
      • Cudd_Xeqy()
      • Cudd_addXeqy()
      • Cudd_Dxygtdxz()
      • Cudd_Dxygtdyz()
      • Cudd_Inequality()
      • Cudd_Disequality()
      • Cudd_bddInterval()
      • Cudd_CProjection()
      • Cudd_addHamming()
      • Cudd_MinHammingDist()
      • Cudd_bddClosestCube()
      Internal procedures included in this module:
      • cuddCProjectionRecur()
      • cuddBddClosestCube()
      Static procedures included in this module:
      • cuddMinHammingDistRecur()
      • separateCube()
      • createResult()
      ] SeeAlso [] Author [Fabio Somenzi] Copyright [Copyright (c) 1995-2012, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.] ******************************************************************************/ #include "util.h" #include "cuddInt.h" /*---------------------------------------------------------------------------*/ /* Constant declarations */ /*---------------------------------------------------------------------------*/ #define DD_DEBUG 1 /*---------------------------------------------------------------------------*/ /* Stucture declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Type declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Variable declarations */ /*---------------------------------------------------------------------------*/ #ifndef lint static char rcsid[] DD_UNUSED = "$Id: cuddPriority.c,v 1.36 2012/02/05 01:07:19 fabio Exp $"; #endif /*---------------------------------------------------------------------------*/ /* Macro declarations */ /*---------------------------------------------------------------------------*/ /**AutomaticStart*************************************************************/ /*---------------------------------------------------------------------------*/ /* Static function prototypes */ /*---------------------------------------------------------------------------*/ static int cuddMinHammingDistRecur (DdNode * f, int *minterm, DdHashTable * table, int upperBound); static DdNode * separateCube (DdManager *dd, DdNode *f, CUDD_VALUE_TYPE *distance); static DdNode * createResult (DdManager *dd, unsigned int index, unsigned int phase, DdNode *cube, CUDD_VALUE_TYPE distance); /**AutomaticEnd***************************************************************/ /*---------------------------------------------------------------------------*/ /* Definition of exported functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Selects pairs from R using a priority function.] Description [Selects pairs from a relation R(x,y) (given as a BDD) in such a way that a given x appears in one pair only. Uses a priority function to determine which y should be paired to a given x. Cudd_PrioritySelect returns a pointer to the selected function if successful; NULL otherwise. Three of the arguments--x, y, and z--are vectors of BDD variables. The first two are the variables on which R depends. The third vector is a vector of auxiliary variables, used during the computation. This vector is optional. If a NULL value is passed instead, Cudd_PrioritySelect will create the working variables on the fly. The sizes of x and y (and z if it is not NULL) should equal n. The priority function Pi can be passed as a BDD, or can be built by Cudd_PrioritySelect. If NULL is passed instead of a DdNode *, parameter Pifunc is used by Cudd_PrioritySelect to build a BDD for the priority function. (Pifunc is a pointer to a C function.) If Pi is not NULL, then Pifunc is ignored. Pifunc should have the same interface as the standard priority functions (e.g., Cudd_Dxygtdxz). Cudd_PrioritySelect and Cudd_CProjection can sometimes be used interchangeably. Specifically, calling Cudd_PrioritySelect with Cudd_Xgty as Pifunc produces the same result as calling Cudd_CProjection with the all-zero minterm as reference minterm. However, depending on the application, one or the other may be preferable:
      • When extracting representatives from an equivalence relation, Cudd_CProjection has the advantage of nor requiring the auxiliary variables.
      • When computing matchings in general bipartite graphs, Cudd_PrioritySelect normally obtains better results because it can use more powerful matching schemes (e.g., Cudd_Dxygtdxz).
      ] SideEffects [If called with z == NULL, will create new variables in the manager.] SeeAlso [Cudd_Dxygtdxz Cudd_Dxygtdyz Cudd_Xgty Cudd_bddAdjPermuteX Cudd_CProjection] ******************************************************************************/ DdNode * Cudd_PrioritySelect( DdManager * dd /* manager */, DdNode * R /* BDD of the relation */, DdNode ** x /* array of x variables */, DdNode ** y /* array of y variables */, DdNode ** z /* array of z variables (optional: may be NULL) */, DdNode * Pi /* BDD of the priority function (optional: may be NULL) */, int n /* size of x, y, and z */, DD_PRFP Pifunc /* function used to build Pi if it is NULL */) { DdNode *res = NULL; DdNode *zcube = NULL; DdNode *Rxz, *Q; int createdZ = 0; int createdPi = 0; int i; /* Create z variables if needed. */ if (z == NULL) { if (Pi != NULL) return(NULL); z = ALLOC(DdNode *,n); if (z == NULL) { dd->errorCode = CUDD_MEMORY_OUT; return(NULL); } createdZ = 1; for (i = 0; i < n; i++) { if (dd->size >= (int) CUDD_MAXINDEX - 1) goto endgame; z[i] = cuddUniqueInter(dd,dd->size,dd->one,Cudd_Not(dd->one)); if (z[i] == NULL) goto endgame; } } /* Create priority function BDD if needed. */ if (Pi == NULL) { Pi = Pifunc(dd,n,x,y,z); if (Pi == NULL) goto endgame; createdPi = 1; cuddRef(Pi); } /* Initialize abstraction cube. */ zcube = DD_ONE(dd); cuddRef(zcube); for (i = n - 1; i >= 0; i--) { DdNode *tmpp; tmpp = Cudd_bddAnd(dd,z[i],zcube); if (tmpp == NULL) goto endgame; cuddRef(tmpp); Cudd_RecursiveDeref(dd,zcube); zcube = tmpp; } /* Compute subset of (x,y) pairs. */ Rxz = Cudd_bddSwapVariables(dd,R,y,z,n); if (Rxz == NULL) goto endgame; cuddRef(Rxz); Q = Cudd_bddAndAbstract(dd,Rxz,Pi,zcube); if (Q == NULL) { Cudd_RecursiveDeref(dd,Rxz); goto endgame; } cuddRef(Q); Cudd_RecursiveDeref(dd,Rxz); res = Cudd_bddAnd(dd,R,Cudd_Not(Q)); if (res == NULL) { Cudd_RecursiveDeref(dd,Q); goto endgame; } cuddRef(res); Cudd_RecursiveDeref(dd,Q); endgame: if (zcube != NULL) Cudd_RecursiveDeref(dd,zcube); if (createdZ) { FREE(z); } if (createdPi) { Cudd_RecursiveDeref(dd,Pi); } if (res != NULL) cuddDeref(res); return(res); } /* Cudd_PrioritySelect */ /**Function******************************************************************** Synopsis [Generates a BDD for the function x > y.] Description [This function generates a BDD for the function x > y. Both x and y are N-bit numbers, x\[0\] x\[1\] ... x\[N-1\] and y\[0\] y\[1\] ... y\[N-1\], with 0 the most significant bit. The BDD is built bottom-up. It has 3*N-1 internal nodes, if the variables are ordered as follows: x\[0\] y\[0\] x\[1\] y\[1\] ... x\[N-1\] y\[N-1\]. Argument z is not used by Cudd_Xgty: it is included to make it call-compatible to Cudd_Dxygtdxz and Cudd_Dxygtdyz.] SideEffects [None] SeeAlso [Cudd_PrioritySelect Cudd_Dxygtdxz Cudd_Dxygtdyz] ******************************************************************************/ DdNode * Cudd_Xgty( DdManager * dd /* DD manager */, int N /* number of x and y variables */, DdNode ** z /* array of z variables: unused */, DdNode ** x /* array of x variables */, DdNode ** y /* array of y variables */) { DdNode *u, *v, *w; int i; /* Build bottom part of BDD outside loop. */ u = Cudd_bddAnd(dd, x[N-1], Cudd_Not(y[N-1])); if (u == NULL) return(NULL); cuddRef(u); /* Loop to build the rest of the BDD. */ for (i = N-2; i >= 0; i--) { v = Cudd_bddAnd(dd, y[i], Cudd_Not(u)); if (v == NULL) { Cudd_RecursiveDeref(dd, u); return(NULL); } cuddRef(v); w = Cudd_bddAnd(dd, Cudd_Not(y[i]), u); if (w == NULL) { Cudd_RecursiveDeref(dd, u); Cudd_RecursiveDeref(dd, v); return(NULL); } cuddRef(w); Cudd_RecursiveDeref(dd, u); u = Cudd_bddIte(dd, x[i], Cudd_Not(v), w); if (u == NULL) { Cudd_RecursiveDeref(dd, v); Cudd_RecursiveDeref(dd, w); return(NULL); } cuddRef(u); Cudd_RecursiveDeref(dd, v); Cudd_RecursiveDeref(dd, w); } cuddDeref(u); return(u); } /* end of Cudd_Xgty */ /**Function******************************************************************** Synopsis [Generates a BDD for the function x==y.] Description [This function generates a BDD for the function x==y. Both x and y are N-bit numbers, x\[0\] x\[1\] ... x\[N-1\] and y\[0\] y\[1\] ... y\[N-1\], with 0 the most significant bit. The BDD is built bottom-up. It has 3*N-1 internal nodes, if the variables are ordered as follows: x\[0\] y\[0\] x\[1\] y\[1\] ... x\[N-1\] y\[N-1\]. ] SideEffects [None] SeeAlso [Cudd_addXeqy] ******************************************************************************/ DdNode * Cudd_Xeqy( DdManager * dd /* DD manager */, int N /* number of x and y variables */, DdNode ** x /* array of x variables */, DdNode ** y /* array of y variables */) { DdNode *u, *v, *w; int i; /* Build bottom part of BDD outside loop. */ u = Cudd_bddIte(dd, x[N-1], y[N-1], Cudd_Not(y[N-1])); if (u == NULL) return(NULL); cuddRef(u); /* Loop to build the rest of the BDD. */ for (i = N-2; i >= 0; i--) { v = Cudd_bddAnd(dd, y[i], u); if (v == NULL) { Cudd_RecursiveDeref(dd, u); return(NULL); } cuddRef(v); w = Cudd_bddAnd(dd, Cudd_Not(y[i]), u); if (w == NULL) { Cudd_RecursiveDeref(dd, u); Cudd_RecursiveDeref(dd, v); return(NULL); } cuddRef(w); Cudd_RecursiveDeref(dd, u); u = Cudd_bddIte(dd, x[i], v, w); if (u == NULL) { Cudd_RecursiveDeref(dd, v); Cudd_RecursiveDeref(dd, w); return(NULL); } cuddRef(u); Cudd_RecursiveDeref(dd, v); Cudd_RecursiveDeref(dd, w); } cuddDeref(u); return(u); } /* end of Cudd_Xeqy */ /**Function******************************************************************** Synopsis [Generates an ADD for the function x==y.] Description [This function generates an ADD for the function x==y. Both x and y are N-bit numbers, x\[0\] x\[1\] ... x\[N-1\] and y\[0\] y\[1\] ... y\[N-1\], with 0 the most significant bit. The ADD is built bottom-up. It has 3*N-1 internal nodes, if the variables are ordered as follows: x\[0\] y\[0\] x\[1\] y\[1\] ... x\[N-1\] y\[N-1\]. ] SideEffects [None] SeeAlso [Cudd_Xeqy] ******************************************************************************/ DdNode * Cudd_addXeqy( DdManager * dd /* DD manager */, int N /* number of x and y variables */, DdNode ** x /* array of x variables */, DdNode ** y /* array of y variables */) { DdNode *one, *zero; DdNode *u, *v, *w; int i; one = DD_ONE(dd); zero = DD_ZERO(dd); /* Build bottom part of ADD outside loop. */ v = Cudd_addIte(dd, y[N-1], one, zero); if (v == NULL) return(NULL); cuddRef(v); w = Cudd_addIte(dd, y[N-1], zero, one); if (w == NULL) { Cudd_RecursiveDeref(dd, v); return(NULL); } cuddRef(w); u = Cudd_addIte(dd, x[N-1], v, w); if (u == NULL) { Cudd_RecursiveDeref(dd, v); Cudd_RecursiveDeref(dd, w); return(NULL); } cuddRef(u); Cudd_RecursiveDeref(dd, v); Cudd_RecursiveDeref(dd, w); /* Loop to build the rest of the ADD. */ for (i = N-2; i >= 0; i--) { v = Cudd_addIte(dd, y[i], u, zero); if (v == NULL) { Cudd_RecursiveDeref(dd, u); return(NULL); } cuddRef(v); w = Cudd_addIte(dd, y[i], zero, u); if (w == NULL) { Cudd_RecursiveDeref(dd, u); Cudd_RecursiveDeref(dd, v); return(NULL); } cuddRef(w); Cudd_RecursiveDeref(dd, u); u = Cudd_addIte(dd, x[i], v, w); if (w == NULL) { Cudd_RecursiveDeref(dd, v); Cudd_RecursiveDeref(dd, w); return(NULL); } cuddRef(u); Cudd_RecursiveDeref(dd, v); Cudd_RecursiveDeref(dd, w); } cuddDeref(u); return(u); } /* end of Cudd_addXeqy */ /**Function******************************************************************** Synopsis [Generates a BDD for the function d(x,y) > d(x,z).] Description [This function generates a BDD for the function d(x,y) > d(x,z); x, y, and z are N-bit numbers, x\[0\] x\[1\] ... x\[N-1\], y\[0\] y\[1\] ... y\[N-1\], and z\[0\] z\[1\] ... z\[N-1\], with 0 the most significant bit. The distance d(x,y) is defined as: \sum_{i=0}^{N-1}(|x_i - y_i| \cdot 2^{N-i-1}). The BDD is built bottom-up. It has 7*N-3 internal nodes, if the variables are ordered as follows: x\[0\] y\[0\] z\[0\] x\[1\] y\[1\] z\[1\] ... x\[N-1\] y\[N-1\] z\[N-1\]. ] SideEffects [None] SeeAlso [Cudd_PrioritySelect Cudd_Dxygtdyz Cudd_Xgty Cudd_bddAdjPermuteX] ******************************************************************************/ DdNode * Cudd_Dxygtdxz( DdManager * dd /* DD manager */, int N /* number of x, y, and z variables */, DdNode ** x /* array of x variables */, DdNode ** y /* array of y variables */, DdNode ** z /* array of z variables */) { DdNode *one, *zero; DdNode *z1, *z2, *z3, *z4, *y1_, *y2, *x1; int i; one = DD_ONE(dd); zero = Cudd_Not(one); /* Build bottom part of BDD outside loop. */ y1_ = Cudd_bddIte(dd, y[N-1], one, Cudd_Not(z[N-1])); if (y1_ == NULL) return(NULL); cuddRef(y1_); y2 = Cudd_bddIte(dd, y[N-1], z[N-1], one); if (y2 == NULL) { Cudd_RecursiveDeref(dd, y1_); return(NULL); } cuddRef(y2); x1 = Cudd_bddIte(dd, x[N-1], y1_, y2); if (x1 == NULL) { Cudd_RecursiveDeref(dd, y1_); Cudd_RecursiveDeref(dd, y2); return(NULL); } cuddRef(x1); Cudd_RecursiveDeref(dd, y1_); Cudd_RecursiveDeref(dd, y2); /* Loop to build the rest of the BDD. */ for (i = N-2; i >= 0; i--) { z1 = Cudd_bddIte(dd, z[i], one, Cudd_Not(x1)); if (z1 == NULL) { Cudd_RecursiveDeref(dd, x1); return(NULL); } cuddRef(z1); z2 = Cudd_bddIte(dd, z[i], x1, one); if (z2 == NULL) { Cudd_RecursiveDeref(dd, x1); Cudd_RecursiveDeref(dd, z1); return(NULL); } cuddRef(z2); z3 = Cudd_bddIte(dd, z[i], one, x1); if (z3 == NULL) { Cudd_RecursiveDeref(dd, x1); Cudd_RecursiveDeref(dd, z1); Cudd_RecursiveDeref(dd, z2); return(NULL); } cuddRef(z3); z4 = Cudd_bddIte(dd, z[i], x1, zero); if (z4 == NULL) { Cudd_RecursiveDeref(dd, x1); Cudd_RecursiveDeref(dd, z1); Cudd_RecursiveDeref(dd, z2); Cudd_RecursiveDeref(dd, z3); return(NULL); } cuddRef(z4); Cudd_RecursiveDeref(dd, x1); y1_ = Cudd_bddIte(dd, y[i], z2, Cudd_Not(z1)); if (y1_ == NULL) { Cudd_RecursiveDeref(dd, z1); Cudd_RecursiveDeref(dd, z2); Cudd_RecursiveDeref(dd, z3); Cudd_RecursiveDeref(dd, z4); return(NULL); } cuddRef(y1_); y2 = Cudd_bddIte(dd, y[i], z4, z3); if (y2 == NULL) { Cudd_RecursiveDeref(dd, z1); Cudd_RecursiveDeref(dd, z2); Cudd_RecursiveDeref(dd, z3); Cudd_RecursiveDeref(dd, z4); Cudd_RecursiveDeref(dd, y1_); return(NULL); } cuddRef(y2); Cudd_RecursiveDeref(dd, z1); Cudd_RecursiveDeref(dd, z2); Cudd_RecursiveDeref(dd, z3); Cudd_RecursiveDeref(dd, z4); x1 = Cudd_bddIte(dd, x[i], y1_, y2); if (x1 == NULL) { Cudd_RecursiveDeref(dd, y1_); Cudd_RecursiveDeref(dd, y2); return(NULL); } cuddRef(x1); Cudd_RecursiveDeref(dd, y1_); Cudd_RecursiveDeref(dd, y2); } cuddDeref(x1); return(Cudd_Not(x1)); } /* end of Cudd_Dxygtdxz */ /**Function******************************************************************** Synopsis [Generates a BDD for the function d(x,y) > d(y,z).] Description [This function generates a BDD for the function d(x,y) > d(y,z); x, y, and z are N-bit numbers, x\[0\] x\[1\] ... x\[N-1\], y\[0\] y\[1\] ... y\[N-1\], and z\[0\] z\[1\] ... z\[N-1\], with 0 the most significant bit. The distance d(x,y) is defined as: \sum_{i=0}^{N-1}(|x_i - y_i| \cdot 2^{N-i-1}). The BDD is built bottom-up. It has 7*N-3 internal nodes, if the variables are ordered as follows: x\[0\] y\[0\] z\[0\] x\[1\] y\[1\] z\[1\] ... x\[N-1\] y\[N-1\] z\[N-1\]. ] SideEffects [None] SeeAlso [Cudd_PrioritySelect Cudd_Dxygtdxz Cudd_Xgty Cudd_bddAdjPermuteX] ******************************************************************************/ DdNode * Cudd_Dxygtdyz( DdManager * dd /* DD manager */, int N /* number of x, y, and z variables */, DdNode ** x /* array of x variables */, DdNode ** y /* array of y variables */, DdNode ** z /* array of z variables */) { DdNode *one, *zero; DdNode *z1, *z2, *z3, *z4, *y1_, *y2, *x1; int i; one = DD_ONE(dd); zero = Cudd_Not(one); /* Build bottom part of BDD outside loop. */ y1_ = Cudd_bddIte(dd, y[N-1], one, z[N-1]); if (y1_ == NULL) return(NULL); cuddRef(y1_); y2 = Cudd_bddIte(dd, y[N-1], z[N-1], zero); if (y2 == NULL) { Cudd_RecursiveDeref(dd, y1_); return(NULL); } cuddRef(y2); x1 = Cudd_bddIte(dd, x[N-1], y1_, Cudd_Not(y2)); if (x1 == NULL) { Cudd_RecursiveDeref(dd, y1_); Cudd_RecursiveDeref(dd, y2); return(NULL); } cuddRef(x1); Cudd_RecursiveDeref(dd, y1_); Cudd_RecursiveDeref(dd, y2); /* Loop to build the rest of the BDD. */ for (i = N-2; i >= 0; i--) { z1 = Cudd_bddIte(dd, z[i], x1, zero); if (z1 == NULL) { Cudd_RecursiveDeref(dd, x1); return(NULL); } cuddRef(z1); z2 = Cudd_bddIte(dd, z[i], x1, one); if (z2 == NULL) { Cudd_RecursiveDeref(dd, x1); Cudd_RecursiveDeref(dd, z1); return(NULL); } cuddRef(z2); z3 = Cudd_bddIte(dd, z[i], one, x1); if (z3 == NULL) { Cudd_RecursiveDeref(dd, x1); Cudd_RecursiveDeref(dd, z1); Cudd_RecursiveDeref(dd, z2); return(NULL); } cuddRef(z3); z4 = Cudd_bddIte(dd, z[i], one, Cudd_Not(x1)); if (z4 == NULL) { Cudd_RecursiveDeref(dd, x1); Cudd_RecursiveDeref(dd, z1); Cudd_RecursiveDeref(dd, z2); Cudd_RecursiveDeref(dd, z3); return(NULL); } cuddRef(z4); Cudd_RecursiveDeref(dd, x1); y1_ = Cudd_bddIte(dd, y[i], z2, z1); if (y1_ == NULL) { Cudd_RecursiveDeref(dd, z1); Cudd_RecursiveDeref(dd, z2); Cudd_RecursiveDeref(dd, z3); Cudd_RecursiveDeref(dd, z4); return(NULL); } cuddRef(y1_); y2 = Cudd_bddIte(dd, y[i], z4, Cudd_Not(z3)); if (y2 == NULL) { Cudd_RecursiveDeref(dd, z1); Cudd_RecursiveDeref(dd, z2); Cudd_RecursiveDeref(dd, z3); Cudd_RecursiveDeref(dd, z4); Cudd_RecursiveDeref(dd, y1_); return(NULL); } cuddRef(y2); Cudd_RecursiveDeref(dd, z1); Cudd_RecursiveDeref(dd, z2); Cudd_RecursiveDeref(dd, z3); Cudd_RecursiveDeref(dd, z4); x1 = Cudd_bddIte(dd, x[i], y1_, Cudd_Not(y2)); if (x1 == NULL) { Cudd_RecursiveDeref(dd, y1_); Cudd_RecursiveDeref(dd, y2); return(NULL); } cuddRef(x1); Cudd_RecursiveDeref(dd, y1_); Cudd_RecursiveDeref(dd, y2); } cuddDeref(x1); return(Cudd_Not(x1)); } /* end of Cudd_Dxygtdyz */ /**Function******************************************************************** Synopsis [Generates a BDD for the function x - y ≥ c.] Description [This function generates a BDD for the function x -y ≥ c. Both x and y are N-bit numbers, x\[0\] x\[1\] ... x\[N-1\] and y\[0\] y\[1\] ... y\[N-1\], with 0 the most significant bit. The BDD is built bottom-up. It has a linear number of nodes if the variables are ordered as follows: x\[0\] y\[0\] x\[1\] y\[1\] ... x\[N-1\] y\[N-1\].] SideEffects [None] SeeAlso [Cudd_Xgty] ******************************************************************************/ DdNode * Cudd_Inequality( DdManager * dd /* DD manager */, int N /* number of x and y variables */, int c /* right-hand side constant */, DdNode ** x /* array of x variables */, DdNode ** y /* array of y variables */) { /* The nodes at level i represent values of the difference that are ** multiples of 2^i. We use variables with names starting with k ** to denote the multipliers of 2^i in such multiples. */ int kTrue = c; int kFalse = c - 1; /* Mask used to compute the ceiling function. Since we divide by 2^i, ** we want to know whether the dividend is a multiple of 2^i. If it is, ** then ceiling and floor coincide; otherwise, they differ by one. */ int mask = 1; int i; DdNode *f = NULL; /* the eventual result */ DdNode *one = DD_ONE(dd); DdNode *zero = Cudd_Not(one); /* Two x-labeled nodes are created at most at each iteration. They are ** stored, along with their k values, in these variables. At each level, ** the old nodes are freed and the new nodes are copied into the old map. */ DdNode *map[2]; int invalidIndex = 1 << (N-1); int index[2] = {invalidIndex, invalidIndex}; /* This should never happen. */ if (N < 0) return(NULL); /* If there are no bits, both operands are 0. The result depends on c. */ if (N == 0) { if (c >= 0) return(one); else return(zero); } /* The maximum or the minimum difference comparing to c can generate the terminal case */ if ((1 << N) - 1 < c) return(zero); else if ((-(1 << N) + 1) >= c) return(one); /* Build the result bottom up. */ for (i = 1; i <= N; i++) { int kTrueLower, kFalseLower; int leftChild, middleChild, rightChild; DdNode *g0, *g1, *fplus, *fequal, *fminus; int j; DdNode *newMap[2]; int newIndex[2]; kTrueLower = kTrue; kFalseLower = kFalse; /* kTrue = ceiling((c-1)/2^i) + 1 */ kTrue = ((c-1) >> i) + ((c & mask) != 1) + 1; mask = (mask << 1) | 1; /* kFalse = floor(c/2^i) - 1 */ kFalse = (c >> i) - 1; newIndex[0] = invalidIndex; newIndex[1] = invalidIndex; for (j = kFalse + 1; j < kTrue; j++) { /* Skip if node is not reachable from top of BDD. */ if ((j >= (1 << (N - i))) || (j <= -(1 << (N -i)))) continue; /* Find f- */ leftChild = (j << 1) - 1; if (leftChild >= kTrueLower) { fminus = one; } else if (leftChild <= kFalseLower) { fminus = zero; } else { assert(leftChild == index[0] || leftChild == index[1]); if (leftChild == index[0]) { fminus = map[0]; } else { fminus = map[1]; } } /* Find f= */ middleChild = j << 1; if (middleChild >= kTrueLower) { fequal = one; } else if (middleChild <= kFalseLower) { fequal = zero; } else { assert(middleChild == index[0] || middleChild == index[1]); if (middleChild == index[0]) { fequal = map[0]; } else { fequal = map[1]; } } /* Find f+ */ rightChild = (j << 1) + 1; if (rightChild >= kTrueLower) { fplus = one; } else if (rightChild <= kFalseLower) { fplus = zero; } else { assert(rightChild == index[0] || rightChild == index[1]); if (rightChild == index[0]) { fplus = map[0]; } else { fplus = map[1]; } } /* Build new nodes. */ g1 = Cudd_bddIte(dd, y[N - i], fequal, fplus); if (g1 == NULL) { if (index[0] != invalidIndex) Cudd_IterDerefBdd(dd, map[0]); if (index[1] != invalidIndex) Cudd_IterDerefBdd(dd, map[1]); if (newIndex[0] != invalidIndex) Cudd_IterDerefBdd(dd, newMap[0]); if (newIndex[1] != invalidIndex) Cudd_IterDerefBdd(dd, newMap[1]); return(NULL); } cuddRef(g1); g0 = Cudd_bddIte(dd, y[N - i], fminus, fequal); if (g0 == NULL) { Cudd_IterDerefBdd(dd, g1); if (index[0] != invalidIndex) Cudd_IterDerefBdd(dd, map[0]); if (index[1] != invalidIndex) Cudd_IterDerefBdd(dd, map[1]); if (newIndex[0] != invalidIndex) Cudd_IterDerefBdd(dd, newMap[0]); if (newIndex[1] != invalidIndex) Cudd_IterDerefBdd(dd, newMap[1]); return(NULL); } cuddRef(g0); f = Cudd_bddIte(dd, x[N - i], g1, g0); if (f == NULL) { Cudd_IterDerefBdd(dd, g1); Cudd_IterDerefBdd(dd, g0); if (index[0] != invalidIndex) Cudd_IterDerefBdd(dd, map[0]); if (index[1] != invalidIndex) Cudd_IterDerefBdd(dd, map[1]); if (newIndex[0] != invalidIndex) Cudd_IterDerefBdd(dd, newMap[0]); if (newIndex[1] != invalidIndex) Cudd_IterDerefBdd(dd, newMap[1]); return(NULL); } cuddRef(f); Cudd_IterDerefBdd(dd, g1); Cudd_IterDerefBdd(dd, g0); /* Save newly computed node in map. */ assert(newIndex[0] == invalidIndex || newIndex[1] == invalidIndex); if (newIndex[0] == invalidIndex) { newIndex[0] = j; newMap[0] = f; } else { newIndex[1] = j; newMap[1] = f; } } /* Copy new map to map. */ if (index[0] != invalidIndex) Cudd_IterDerefBdd(dd, map[0]); if (index[1] != invalidIndex) Cudd_IterDerefBdd(dd, map[1]); map[0] = newMap[0]; map[1] = newMap[1]; index[0] = newIndex[0]; index[1] = newIndex[1]; } cuddDeref(f); return(f); } /* end of Cudd_Inequality */ /**Function******************************************************************** Synopsis [Generates a BDD for the function x - y != c.] Description [This function generates a BDD for the function x -y != c. Both x and y are N-bit numbers, x\[0\] x\[1\] ... x\[N-1\] and y\[0\] y\[1\] ... y\[N-1\], with 0 the most significant bit. The BDD is built bottom-up. It has a linear number of nodes if the variables are ordered as follows: x\[0\] y\[0\] x\[1\] y\[1\] ... x\[N-1\] y\[N-1\].] SideEffects [None] SeeAlso [Cudd_Xgty] ******************************************************************************/ DdNode * Cudd_Disequality( DdManager * dd /* DD manager */, int N /* number of x and y variables */, int c /* right-hand side constant */, DdNode ** x /* array of x variables */, DdNode ** y /* array of y variables */) { /* The nodes at level i represent values of the difference that are ** multiples of 2^i. We use variables with names starting with k ** to denote the multipliers of 2^i in such multiples. */ int kTrueLb = c + 1; int kTrueUb = c - 1; int kFalse = c; /* Mask used to compute the ceiling function. Since we divide by 2^i, ** we want to know whether the dividend is a multiple of 2^i. If it is, ** then ceiling and floor coincide; otherwise, they differ by one. */ int mask = 1; int i; DdNode *f = NULL; /* the eventual result */ DdNode *one = DD_ONE(dd); DdNode *zero = Cudd_Not(one); /* Two x-labeled nodes are created at most at each iteration. They are ** stored, along with their k values, in these variables. At each level, ** the old nodes are freed and the new nodes are copied into the old map. */ DdNode *map[2]; int invalidIndex = 1 << (N-1); int index[2] = {invalidIndex, invalidIndex}; /* This should never happen. */ if (N < 0) return(NULL); /* If there are no bits, both operands are 0. The result depends on c. */ if (N == 0) { if (c != 0) return(one); else return(zero); } /* The maximum or the minimum difference comparing to c can generate the terminal case */ if ((1 << N) - 1 < c || (-(1 << N) + 1) > c) return(one); /* Build the result bottom up. */ for (i = 1; i <= N; i++) { int kTrueLbLower, kTrueUbLower; int leftChild, middleChild, rightChild; DdNode *g0, *g1, *fplus, *fequal, *fminus; int j; DdNode *newMap[2]; int newIndex[2]; kTrueLbLower = kTrueLb; kTrueUbLower = kTrueUb; /* kTrueLb = floor((c-1)/2^i) + 2 */ kTrueLb = ((c-1) >> i) + 2; /* kTrueUb = ceiling((c+1)/2^i) - 2 */ kTrueUb = ((c+1) >> i) + (((c+2) & mask) != 1) - 2; mask = (mask << 1) | 1; newIndex[0] = invalidIndex; newIndex[1] = invalidIndex; for (j = kTrueUb + 1; j < kTrueLb; j++) { /* Skip if node is not reachable from top of BDD. */ if ((j >= (1 << (N - i))) || (j <= -(1 << (N -i)))) continue; /* Find f- */ leftChild = (j << 1) - 1; if (leftChild >= kTrueLbLower || leftChild <= kTrueUbLower) { fminus = one; } else if (i == 1 && leftChild == kFalse) { fminus = zero; } else { assert(leftChild == index[0] || leftChild == index[1]); if (leftChild == index[0]) { fminus = map[0]; } else { fminus = map[1]; } } /* Find f= */ middleChild = j << 1; if (middleChild >= kTrueLbLower || middleChild <= kTrueUbLower) { fequal = one; } else if (i == 1 && middleChild == kFalse) { fequal = zero; } else { assert(middleChild == index[0] || middleChild == index[1]); if (middleChild == index[0]) { fequal = map[0]; } else { fequal = map[1]; } } /* Find f+ */ rightChild = (j << 1) + 1; if (rightChild >= kTrueLbLower || rightChild <= kTrueUbLower) { fplus = one; } else if (i == 1 && rightChild == kFalse) { fplus = zero; } else { assert(rightChild == index[0] || rightChild == index[1]); if (rightChild == index[0]) { fplus = map[0]; } else { fplus = map[1]; } } /* Build new nodes. */ g1 = Cudd_bddIte(dd, y[N - i], fequal, fplus); if (g1 == NULL) { if (index[0] != invalidIndex) Cudd_IterDerefBdd(dd, map[0]); if (index[1] != invalidIndex) Cudd_IterDerefBdd(dd, map[1]); if (newIndex[0] != invalidIndex) Cudd_IterDerefBdd(dd, newMap[0]); if (newIndex[1] != invalidIndex) Cudd_IterDerefBdd(dd, newMap[1]); return(NULL); } cuddRef(g1); g0 = Cudd_bddIte(dd, y[N - i], fminus, fequal); if (g0 == NULL) { Cudd_IterDerefBdd(dd, g1); if (index[0] != invalidIndex) Cudd_IterDerefBdd(dd, map[0]); if (index[1] != invalidIndex) Cudd_IterDerefBdd(dd, map[1]); if (newIndex[0] != invalidIndex) Cudd_IterDerefBdd(dd, newMap[0]); if (newIndex[1] != invalidIndex) Cudd_IterDerefBdd(dd, newMap[1]); return(NULL); } cuddRef(g0); f = Cudd_bddIte(dd, x[N - i], g1, g0); if (f == NULL) { Cudd_IterDerefBdd(dd, g1); Cudd_IterDerefBdd(dd, g0); if (index[0] != invalidIndex) Cudd_IterDerefBdd(dd, map[0]); if (index[1] != invalidIndex) Cudd_IterDerefBdd(dd, map[1]); if (newIndex[0] != invalidIndex) Cudd_IterDerefBdd(dd, newMap[0]); if (newIndex[1] != invalidIndex) Cudd_IterDerefBdd(dd, newMap[1]); return(NULL); } cuddRef(f); Cudd_IterDerefBdd(dd, g1); Cudd_IterDerefBdd(dd, g0); /* Save newly computed node in map. */ assert(newIndex[0] == invalidIndex || newIndex[1] == invalidIndex); if (newIndex[0] == invalidIndex) { newIndex[0] = j; newMap[0] = f; } else { newIndex[1] = j; newMap[1] = f; } } /* Copy new map to map. */ if (index[0] != invalidIndex) Cudd_IterDerefBdd(dd, map[0]); if (index[1] != invalidIndex) Cudd_IterDerefBdd(dd, map[1]); map[0] = newMap[0]; map[1] = newMap[1]; index[0] = newIndex[0]; index[1] = newIndex[1]; } cuddDeref(f); return(f); } /* end of Cudd_Disequality */ /**Function******************************************************************** Synopsis [Generates a BDD for the function lowerB ≤ x ≤ upperB.] Description [This function generates a BDD for the function lowerB ≤ x ≤ upperB, where x is an N-bit number, x\[0\] x\[1\] ... x\[N-1\], with 0 the most significant bit (important!). The number of variables N should be sufficient to represent the bounds; otherwise, the bounds are truncated to their N least significant bits. Two BDDs are built bottom-up for lowerB ≤ x and x ≤ upperB, and they are finally conjoined.] SideEffects [None] SeeAlso [Cudd_Xgty] ******************************************************************************/ DdNode * Cudd_bddInterval( DdManager * dd /* DD manager */, int N /* number of x variables */, DdNode ** x /* array of x variables */, unsigned int lowerB /* lower bound */, unsigned int upperB /* upper bound */) { DdNode *one, *zero; DdNode *r, *rl, *ru; int i; one = DD_ONE(dd); zero = Cudd_Not(one); rl = one; cuddRef(rl); ru = one; cuddRef(ru); /* Loop to build the rest of the BDDs. */ for (i = N-1; i >= 0; i--) { DdNode *vl, *vu; vl = Cudd_bddIte(dd, x[i], lowerB&1 ? rl : one, lowerB&1 ? zero : rl); if (vl == NULL) { Cudd_IterDerefBdd(dd, rl); Cudd_IterDerefBdd(dd, ru); return(NULL); } cuddRef(vl); Cudd_IterDerefBdd(dd, rl); rl = vl; lowerB >>= 1; vu = Cudd_bddIte(dd, x[i], upperB&1 ? ru : zero, upperB&1 ? one : ru); if (vu == NULL) { Cudd_IterDerefBdd(dd, rl); Cudd_IterDerefBdd(dd, ru); return(NULL); } cuddRef(vu); Cudd_IterDerefBdd(dd, ru); ru = vu; upperB >>= 1; } /* Conjoin the two bounds. */ r = Cudd_bddAnd(dd, rl, ru); if (r == NULL) { Cudd_IterDerefBdd(dd, rl); Cudd_IterDerefBdd(dd, ru); return(NULL); } cuddRef(r); Cudd_IterDerefBdd(dd, rl); Cudd_IterDerefBdd(dd, ru); cuddDeref(r); return(r); } /* end of Cudd_bddInterval */ /**Function******************************************************************** Synopsis [Computes the compatible projection of R w.r.t. cube Y.] Description [Computes the compatible projection of relation R with respect to cube Y. Returns a pointer to the c-projection if successful; NULL otherwise. For a comparison between Cudd_CProjection and Cudd_PrioritySelect, see the documentation of the latter.] SideEffects [None] SeeAlso [Cudd_PrioritySelect] ******************************************************************************/ DdNode * Cudd_CProjection( DdManager * dd, DdNode * R, DdNode * Y) { DdNode *res; DdNode *support; if (Cudd_CheckCube(dd,Y) == 0) { (void) fprintf(dd->err, "Error: The third argument of Cudd_CProjection should be a cube\n"); dd->errorCode = CUDD_INVALID_ARG; return(NULL); } /* Compute the support of Y, which is used by the abstraction step ** in cuddCProjectionRecur. */ support = Cudd_Support(dd,Y); if (support == NULL) return(NULL); cuddRef(support); do { dd->reordered = 0; res = cuddCProjectionRecur(dd,R,Y,support); } while (dd->reordered == 1); if (res == NULL) { Cudd_RecursiveDeref(dd,support); return(NULL); } cuddRef(res); Cudd_RecursiveDeref(dd,support); cuddDeref(res); return(res); } /* end of Cudd_CProjection */ /**Function******************************************************************** Synopsis [Computes the Hamming distance ADD.] Description [Computes the Hamming distance ADD. Returns an ADD that gives the Hamming distance between its two arguments if successful; NULL otherwise. The two vectors xVars and yVars identify the variables that form the two arguments.] SideEffects [None] SeeAlso [] ******************************************************************************/ DdNode * Cudd_addHamming( DdManager * dd, DdNode ** xVars, DdNode ** yVars, int nVars) { DdNode *result,*tempBdd; DdNode *tempAdd,*temp; int i; result = DD_ZERO(dd); cuddRef(result); for (i = 0; i < nVars; i++) { tempBdd = Cudd_bddIte(dd,xVars[i],Cudd_Not(yVars[i]),yVars[i]); if (tempBdd == NULL) { Cudd_RecursiveDeref(dd,result); return(NULL); } cuddRef(tempBdd); tempAdd = Cudd_BddToAdd(dd,tempBdd); if (tempAdd == NULL) { Cudd_RecursiveDeref(dd,tempBdd); Cudd_RecursiveDeref(dd,result); return(NULL); } cuddRef(tempAdd); Cudd_RecursiveDeref(dd,tempBdd); temp = Cudd_addApply(dd,Cudd_addPlus,tempAdd,result); if (temp == NULL) { Cudd_RecursiveDeref(dd,tempAdd); Cudd_RecursiveDeref(dd,result); return(NULL); } cuddRef(temp); Cudd_RecursiveDeref(dd,tempAdd); Cudd_RecursiveDeref(dd,result); result = temp; } cuddDeref(result); return(result); } /* end of Cudd_addHamming */ /**Function******************************************************************** Synopsis [Returns the minimum Hamming distance between f and minterm.] Description [Returns the minimum Hamming distance between the minterms of a function f and a reference minterm. The function is given as a BDD; the minterm is given as an array of integers, one for each variable in the manager. Returns the minimum distance if it is less than the upper bound; the upper bound if the minimum distance is at least as large; CUDD_OUT_OF_MEM in case of failure.] SideEffects [None] SeeAlso [Cudd_addHamming Cudd_bddClosestCube] ******************************************************************************/ int Cudd_MinHammingDist( DdManager *dd /* DD manager */, DdNode *f /* function to examine */, int *minterm /* reference minterm */, int upperBound /* distance above which an approximate answer is OK */) { DdHashTable *table; CUDD_VALUE_TYPE epsilon; int res; table = cuddHashTableInit(dd,1,2); if (table == NULL) { return(CUDD_OUT_OF_MEM); } epsilon = Cudd_ReadEpsilon(dd); Cudd_SetEpsilon(dd,(CUDD_VALUE_TYPE)0.0); res = cuddMinHammingDistRecur(f,minterm,table,upperBound); cuddHashTableQuit(table); Cudd_SetEpsilon(dd,epsilon); return(res); } /* end of Cudd_MinHammingDist */ /**Function******************************************************************** Synopsis [Finds a cube of f at minimum Hamming distance from g.] Description [Finds a cube of f at minimum Hamming distance from the minterms of g. All the minterms of the cube are at the minimum distance. If the distance is 0, the cube belongs to the intersection of f and g. Returns the cube if successful; NULL otherwise.] SideEffects [The distance is returned as a side effect.] SeeAlso [Cudd_MinHammingDist] ******************************************************************************/ DdNode * Cudd_bddClosestCube( DdManager *dd, DdNode * f, DdNode *g, int *distance) { DdNode *res, *acube; CUDD_VALUE_TYPE rdist; /* Compute the cube and distance as a single ADD. */ do { dd->reordered = 0; res = cuddBddClosestCube(dd,f,g,CUDD_CONST_INDEX + 1.0); } while (dd->reordered == 1); if (res == NULL) return(NULL); cuddRef(res); /* Unpack distance and cube. */ do { dd->reordered = 0; acube = separateCube(dd, res, &rdist); } while (dd->reordered == 1); if (acube == NULL) { Cudd_RecursiveDeref(dd, res); return(NULL); } cuddRef(acube); Cudd_RecursiveDeref(dd, res); /* Convert cube from ADD to BDD. */ do { dd->reordered = 0; res = cuddAddBddDoPattern(dd, acube); } while (dd->reordered == 1); if (res == NULL) { Cudd_RecursiveDeref(dd, acube); return(NULL); } cuddRef(res); Cudd_RecursiveDeref(dd, acube); *distance = (int) rdist; cuddDeref(res); return(res); } /* end of Cudd_bddClosestCube */ /*---------------------------------------------------------------------------*/ /* Definition of internal functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_CProjection.] Description [Performs the recursive step of Cudd_CProjection. Returns the projection if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_CProjection] ******************************************************************************/ DdNode * cuddCProjectionRecur( DdManager * dd, DdNode * R, DdNode * Y, DdNode * Ysupp) { DdNode *res, *res1, *res2, *resA; DdNode *r, *y, *RT, *RE, *YT, *YE, *Yrest, *Ra, *Ran, *Gamma, *Alpha; unsigned int topR, topY, top, index; DdNode *one = DD_ONE(dd); statLine(dd); if (Y == one) return(R); #ifdef DD_DEBUG assert(!Cudd_IsConstant(Y)); #endif if (R == Cudd_Not(one)) return(R); res = cuddCacheLookup2(dd, Cudd_CProjection, R, Y); if (res != NULL) return(res); r = Cudd_Regular(R); topR = cuddI(dd,r->index); y = Cudd_Regular(Y); topY = cuddI(dd,y->index); top = ddMin(topR, topY); /* Compute the cofactors of R */ if (topR == top) { index = r->index; RT = cuddT(r); RE = cuddE(r); if (r != R) { RT = Cudd_Not(RT); RE = Cudd_Not(RE); } } else { RT = RE = R; } if (topY > top) { /* Y does not depend on the current top variable. ** We just need to compute the results on the two cofactors of R ** and make them the children of a node labeled r->index. */ res1 = cuddCProjectionRecur(dd,RT,Y,Ysupp); if (res1 == NULL) return(NULL); cuddRef(res1); res2 = cuddCProjectionRecur(dd,RE,Y,Ysupp); if (res2 == NULL) { Cudd_RecursiveDeref(dd,res1); return(NULL); } cuddRef(res2); res = cuddBddIteRecur(dd, dd->vars[index], res1, res2); if (res == NULL) { Cudd_RecursiveDeref(dd,res1); Cudd_RecursiveDeref(dd,res2); return(NULL); } /* If we have reached this point, res1 and res2 are now ** incorporated in res. cuddDeref is therefore sufficient. */ cuddDeref(res1); cuddDeref(res2); } else { /* Compute the cofactors of Y */ index = y->index; YT = cuddT(y); YE = cuddE(y); if (y != Y) { YT = Cudd_Not(YT); YE = Cudd_Not(YE); } if (YT == Cudd_Not(one)) { Alpha = Cudd_Not(dd->vars[index]); Yrest = YE; Ra = RE; Ran = RT; } else { Alpha = dd->vars[index]; Yrest = YT; Ra = RT; Ran = RE; } Gamma = cuddBddExistAbstractRecur(dd,Ra,cuddT(Ysupp)); if (Gamma == NULL) return(NULL); if (Gamma == one) { res1 = cuddCProjectionRecur(dd,Ra,Yrest,cuddT(Ysupp)); if (res1 == NULL) return(NULL); cuddRef(res1); res = cuddBddAndRecur(dd, Alpha, res1); if (res == NULL) { Cudd_RecursiveDeref(dd,res1); return(NULL); } cuddDeref(res1); } else if (Gamma == Cudd_Not(one)) { res1 = cuddCProjectionRecur(dd,Ran,Yrest,cuddT(Ysupp)); if (res1 == NULL) return(NULL); cuddRef(res1); res = cuddBddAndRecur(dd, Cudd_Not(Alpha), res1); if (res == NULL) { Cudd_RecursiveDeref(dd,res1); return(NULL); } cuddDeref(res1); } else { cuddRef(Gamma); resA = cuddCProjectionRecur(dd,Ran,Yrest,cuddT(Ysupp)); if (resA == NULL) { Cudd_RecursiveDeref(dd,Gamma); return(NULL); } cuddRef(resA); res2 = cuddBddAndRecur(dd, Cudd_Not(Gamma), resA); if (res2 == NULL) { Cudd_RecursiveDeref(dd,Gamma); Cudd_RecursiveDeref(dd,resA); return(NULL); } cuddRef(res2); Cudd_RecursiveDeref(dd,Gamma); Cudd_RecursiveDeref(dd,resA); res1 = cuddCProjectionRecur(dd,Ra,Yrest,cuddT(Ysupp)); if (res1 == NULL) { Cudd_RecursiveDeref(dd,res2); return(NULL); } cuddRef(res1); res = cuddBddIteRecur(dd, Alpha, res1, res2); if (res == NULL) { Cudd_RecursiveDeref(dd,res1); Cudd_RecursiveDeref(dd,res2); return(NULL); } cuddDeref(res1); cuddDeref(res2); } } cuddCacheInsert2(dd,Cudd_CProjection,R,Y,res); return(res); } /* end of cuddCProjectionRecur */ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_bddClosestCube.] Description [Performs the recursive step of Cudd_bddClosestCube. Returns the cube if succesful; NULL otherwise. The procedure uses a four-way recursion to examine all four combinations of cofactors of f and g according to the following formula.
          H(f,g) = min(H(ft,gt), H(fe,ge), H(ft,ge)+1, H(fe,gt)+1)
        
      Bounding is based on the following observations.
      • If we already found two points at distance 0, there is no point in continuing. Furthermore,
      • If F == not(G) then the best we can hope for is a minimum distance of 1. If we have already found two points at distance 1, there is no point in continuing. (Indeed, H(F,G) == 1 in this case. We have to continue, though, to find the cube.)
      The variable bound is set at the largest value of the distance that we are still interested in. Therefore, we desist when
          (bound == -1) and (F != not(G)) or (bound == 0) and (F == not(G)).
        
      If we were maximally aggressive in using the bound, we would always set the bound to the minimum distance seen thus far minus one. That is, we would maintain the invariant
          bound < minD,
        
      except at the very beginning, when we have no value for minD.

      However, we do not use bound < minD when examining the two negative cofactors, because we try to find a large cube at minimum distance. To do so, we try to find a cube in the negative cofactors at the same or smaller distance from the cube found in the positive cofactors.

      When we compute H(ft,ge) and H(fe,gt) we know that we are going to add 1 to the result of the recursive call to account for the difference in the splitting variable. Therefore, we decrease the bound correspondingly.

      Another important observation concerns the need of examining all four pairs of cofators only when both f and g depend on the top variable.

      Suppose gt == ge == g. (That is, g does not depend on the top variable.) Then

          H(f,g) = min(H(ft,g), H(fe,g), H(ft,g)+1, H(fe,g)+1)
      	   = min(H(ft,g), H(fe,g)) .
        
      Therefore, under these circumstances, we skip the two "cross" cases.

      An interesting feature of this function is the scheme used for caching the results in the global computed table. Since we have a cube and a distance, we combine them to form an ADD. The combination replaces the zero child of the top node of the cube with the negative of the distance. (The use of the negative is to avoid ambiguity with 1.) The degenerate cases (zero and one) are treated specially because the distance is known (0 for one, and infinity for zero).] SideEffects [None] SeeAlso [Cudd_bddClosestCube] ******************************************************************************/ DdNode * cuddBddClosestCube( DdManager *dd, DdNode *f, DdNode *g, CUDD_VALUE_TYPE bound) { DdNode *res, *F, *G, *ft, *fe, *gt, *ge, *tt, *ee; DdNode *ctt, *cee, *cte, *cet; CUDD_VALUE_TYPE minD, dtt, dee, dte, det; DdNode *one = DD_ONE(dd); DdNode *lzero = Cudd_Not(one); DdNode *azero = DD_ZERO(dd); unsigned int topf, topg, index; statLine(dd); if (bound < (f == Cudd_Not(g))) return(azero); /* Terminal cases. */ if (g == lzero || f == lzero) return(azero); if (f == one && g == one) return(one); /* Check cache. */ F = Cudd_Regular(f); G = Cudd_Regular(g); if (F->ref != 1 || G->ref != 1) { res = cuddCacheLookup2(dd,(DD_CTFP) Cudd_bddClosestCube, f, g); if (res != NULL) return(res); } topf = cuddI(dd,F->index); topg = cuddI(dd,G->index); /* Compute cofactors. */ if (topf <= topg) { index = F->index; ft = cuddT(F); fe = cuddE(F); if (Cudd_IsComplement(f)) { ft = Cudd_Not(ft); fe = Cudd_Not(fe); } } else { index = G->index; ft = fe = f; } if (topg <= topf) { gt = cuddT(G); ge = cuddE(G); if (Cudd_IsComplement(g)) { gt = Cudd_Not(gt); ge = Cudd_Not(ge); } } else { gt = ge = g; } tt = cuddBddClosestCube(dd,ft,gt,bound); if (tt == NULL) return(NULL); cuddRef(tt); ctt = separateCube(dd,tt,&dtt); if (ctt == NULL) { Cudd_RecursiveDeref(dd, tt); return(NULL); } cuddRef(ctt); Cudd_RecursiveDeref(dd, tt); minD = dtt; bound = ddMin(bound,minD); ee = cuddBddClosestCube(dd,fe,ge,bound); if (ee == NULL) { Cudd_RecursiveDeref(dd, ctt); return(NULL); } cuddRef(ee); cee = separateCube(dd,ee,&dee); if (cee == NULL) { Cudd_RecursiveDeref(dd, ctt); Cudd_RecursiveDeref(dd, ee); return(NULL); } cuddRef(cee); Cudd_RecursiveDeref(dd, ee); minD = ddMin(dtt, dee); if (minD <= CUDD_CONST_INDEX) bound = ddMin(bound,minD-1); if (minD > 0 && topf == topg) { DdNode *te = cuddBddClosestCube(dd,ft,ge,bound-1); if (te == NULL) { Cudd_RecursiveDeref(dd, ctt); Cudd_RecursiveDeref(dd, cee); return(NULL); } cuddRef(te); cte = separateCube(dd,te,&dte); if (cte == NULL) { Cudd_RecursiveDeref(dd, ctt); Cudd_RecursiveDeref(dd, cee); Cudd_RecursiveDeref(dd, te); return(NULL); } cuddRef(cte); Cudd_RecursiveDeref(dd, te); dte += 1.0; minD = ddMin(minD, dte); } else { cte = azero; cuddRef(cte); dte = CUDD_CONST_INDEX + 1.0; } if (minD <= CUDD_CONST_INDEX) bound = ddMin(bound,minD-1); if (minD > 0 && topf == topg) { DdNode *et = cuddBddClosestCube(dd,fe,gt,bound-1); if (et == NULL) { Cudd_RecursiveDeref(dd, ctt); Cudd_RecursiveDeref(dd, cee); Cudd_RecursiveDeref(dd, cte); return(NULL); } cuddRef(et); cet = separateCube(dd,et,&det); if (cet == NULL) { Cudd_RecursiveDeref(dd, ctt); Cudd_RecursiveDeref(dd, cee); Cudd_RecursiveDeref(dd, cte); Cudd_RecursiveDeref(dd, et); return(NULL); } cuddRef(cet); Cudd_RecursiveDeref(dd, et); det += 1.0; minD = ddMin(minD, det); } else { cet = azero; cuddRef(cet); det = CUDD_CONST_INDEX + 1.0; } if (minD == dtt) { if (dtt == dee && ctt == cee) { res = createResult(dd,CUDD_CONST_INDEX,1,ctt,dtt); } else { res = createResult(dd,index,1,ctt,dtt); } } else if (minD == dee) { res = createResult(dd,index,0,cee,dee); } else if (minD == dte) { #ifdef DD_DEBUG assert(topf == topg); #endif res = createResult(dd,index,1,cte,dte); } else { #ifdef DD_DEBUG assert(topf == topg); #endif res = createResult(dd,index,0,cet,det); } if (res == NULL) { Cudd_RecursiveDeref(dd, ctt); Cudd_RecursiveDeref(dd, cee); Cudd_RecursiveDeref(dd, cte); Cudd_RecursiveDeref(dd, cet); return(NULL); } cuddRef(res); Cudd_RecursiveDeref(dd, ctt); Cudd_RecursiveDeref(dd, cee); Cudd_RecursiveDeref(dd, cte); Cudd_RecursiveDeref(dd, cet); /* Only cache results that are different from azero to avoid ** storing results that depend on the value of the bound. */ if ((F->ref != 1 || G->ref != 1) && res != azero) cuddCacheInsert2(dd,(DD_CTFP) Cudd_bddClosestCube, f, g, res); cuddDeref(res); return(res); } /* end of cuddBddClosestCube */ /*---------------------------------------------------------------------------*/ /* Definition of static functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_MinHammingDist.] Description [Performs the recursive step of Cudd_MinHammingDist. It is based on the following identity. Let H(f) be the minimum Hamming distance of the minterms of f from the reference minterm. Then:

      H(f) = min(H(f0)+h0,H(f1)+h1) where f0 and f1 are the two cofactors of f with respect to its top variable; h0 is 1 if the minterm assigns 1 to the top variable of f; h1 is 1 if the minterm assigns 0 to the top variable of f. The upper bound on the distance is used to bound the depth of the recursion. Returns the minimum distance unless it exceeds the upper bound or computation fails.] SideEffects [None] SeeAlso [Cudd_MinHammingDist] ******************************************************************************/ static int cuddMinHammingDistRecur( DdNode * f, int *minterm, DdHashTable * table, int upperBound) { DdNode *F, *Ft, *Fe; double h, hT, hE; DdNode *zero, *res; DdManager *dd = table->manager; statLine(dd); if (upperBound == 0) return(0); F = Cudd_Regular(f); if (cuddIsConstant(F)) { zero = Cudd_Not(DD_ONE(dd)); if (f == dd->background || f == zero) { return(upperBound); } else { return(0); } } if ((res = cuddHashTableLookup1(table,f)) != NULL) { h = cuddV(res); if (res->ref == 0) { dd->dead++; dd->constants.dead++; } return((int) h); } Ft = cuddT(F); Fe = cuddE(F); if (Cudd_IsComplement(f)) { Ft = Cudd_Not(Ft); Fe = Cudd_Not(Fe); } if (minterm[F->index] == 0) { DdNode *temp = Ft; Ft = Fe; Fe = temp; } hT = cuddMinHammingDistRecur(Ft,minterm,table,upperBound); if (hT == CUDD_OUT_OF_MEM) return(CUDD_OUT_OF_MEM); if (hT == 0) { hE = upperBound; } else { hE = cuddMinHammingDistRecur(Fe,minterm,table,upperBound - 1); if (hE == CUDD_OUT_OF_MEM) return(CUDD_OUT_OF_MEM); } h = ddMin(hT, hE + 1); if (F->ref != 1) { ptrint fanout = (ptrint) F->ref; cuddSatDec(fanout); res = cuddUniqueConst(dd, (CUDD_VALUE_TYPE) h); if (!cuddHashTableInsert1(table,f,res,fanout)) { cuddRef(res); Cudd_RecursiveDeref(dd, res); return(CUDD_OUT_OF_MEM); } } return((int) h); } /* end of cuddMinHammingDistRecur */ /**Function******************************************************************** Synopsis [Separates cube from distance.] Description [Separates cube from distance. Returns the cube if successful; NULL otherwise.] SideEffects [The distance is returned as a side effect.] SeeAlso [cuddBddClosestCube createResult] ******************************************************************************/ static DdNode * separateCube( DdManager *dd, DdNode *f, CUDD_VALUE_TYPE *distance) { DdNode *cube, *t; /* One and zero are special cases because the distance is implied. */ if (Cudd_IsConstant(f)) { *distance = (f == DD_ONE(dd)) ? 0.0 : (1.0 + (CUDD_VALUE_TYPE) CUDD_CONST_INDEX); return(f); } /* Find out which branch points to the distance and replace the top ** node with one pointing to zero instead. */ t = cuddT(f); if (Cudd_IsConstant(t) && cuddV(t) <= 0) { #ifdef DD_DEBUG assert(!Cudd_IsConstant(cuddE(f)) || cuddE(f) == DD_ONE(dd)); #endif *distance = -cuddV(t); cube = cuddUniqueInter(dd, f->index, DD_ZERO(dd), cuddE(f)); } else { #ifdef DD_DEBUG assert(!Cudd_IsConstant(t) || t == DD_ONE(dd)); #endif *distance = -cuddV(cuddE(f)); cube = cuddUniqueInter(dd, f->index, t, DD_ZERO(dd)); } return(cube); } /* end of separateCube */ /**Function******************************************************************** Synopsis [Builds a result for cache storage.] Description [Builds a result for cache storage. Returns a pointer to the resulting ADD if successful; NULL otherwise.] SideEffects [None] SeeAlso [cuddBddClosestCube separateCube] ******************************************************************************/ static DdNode * createResult( DdManager *dd, unsigned int index, unsigned int phase, DdNode *cube, CUDD_VALUE_TYPE distance) { DdNode *res, *constant; /* Special case. The cube is either one or zero, and we do not ** add any variables. Hence, the result is also one or zero, ** and the distance remains implied by the value of the constant. */ if (index == CUDD_CONST_INDEX && Cudd_IsConstant(cube)) return(cube); constant = cuddUniqueConst(dd,-distance); if (constant == NULL) return(NULL); cuddRef(constant); if (index == CUDD_CONST_INDEX) { /* Replace the top node. */ if (cuddT(cube) == DD_ZERO(dd)) { res = cuddUniqueInter(dd,cube->index,constant,cuddE(cube)); } else { res = cuddUniqueInter(dd,cube->index,cuddT(cube),constant); } } else { /* Add a new top node. */ #ifdef DD_DEBUG assert(cuddI(dd,index) < cuddI(dd,cube->index)); #endif if (phase) { res = cuddUniqueInter(dd,index,cube,constant); } else { res = cuddUniqueInter(dd,index,constant,cube); } } if (res == NULL) { Cudd_RecursiveDeref(dd, constant); return(NULL); } cuddDeref(constant); /* safe because constant is part of res */ return(res); } /* end of createResult */ BRiAl-1.2.12/cudd/cuddRead.c000066400000000000000000000405421436062512100153310ustar00rootroot00000000000000/**CFile*********************************************************************** FileName [cuddRead.c] PackageName [cudd] Synopsis [Functions to read in a matrix] Description [External procedures included in this module:
      • Cudd_addRead()
      • Cudd_bddRead()
      ] SeeAlso [cudd_addHarwell.c] Author [Fabio Somenzi] Copyright [Copyright (c) 1995-2012, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.] ******************************************************************************/ #include "util.h" #include "cuddInt.h" /*---------------------------------------------------------------------------*/ /* Constant declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Stucture declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Type declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Variable declarations */ /*---------------------------------------------------------------------------*/ #ifndef lint static char rcsid[] DD_UNUSED = "$Id: cuddRead.c,v 1.7 2012/02/05 01:07:19 fabio Exp $"; #endif /*---------------------------------------------------------------------------*/ /* Macro declarations */ /*---------------------------------------------------------------------------*/ /**AutomaticStart*************************************************************/ /*---------------------------------------------------------------------------*/ /* Static function prototypes */ /*---------------------------------------------------------------------------*/ /**AutomaticEnd***************************************************************/ /*---------------------------------------------------------------------------*/ /* Definition of exported functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Reads in a sparse matrix.] Description [Reads in a sparse matrix specified in a simple format. The first line of the input contains the numbers of rows and columns. The remaining lines contain the elements of the matrix, one per line. Given a background value (specified by the background field of the manager), only the values different from it are explicitly listed. Each foreground element is described by two integers, i.e., the row and column number, and a real number, i.e., the value.

      Cudd_addRead produces an ADD that depends on two sets of variables: x and y. The x variables (x\[0\] ... x\[nx-1\]) encode the row index and the y variables (y\[0\] ... y\[ny-1\]) encode the column index. x\[0\] and y\[0\] are the most significant bits in the indices. The variables may already exist or may be created by the function. The index of x\[i\] is bx+i*sx, and the index of y\[i\] is by+i*sy.

      On input, nx and ny hold the numbers of row and column variables already in existence. On output, they hold the numbers of row and column variables actually used by the matrix. When Cudd_addRead creates the variable arrays, the index of x\[i\] is bx+i*sx, and the index of y\[i\] is by+i*sy. When some variables already exist Cudd_addRead expects the indices of the existing x variables to be bx+i*sx, and the indices of the existing y variables to be by+i*sy.

      m and n are set to the numbers of rows and columns of the matrix. Their values on input are immaterial. The ADD for the sparse matrix is returned in E, and its reference count is > 0. Cudd_addRead returns 1 in case of success; 0 otherwise.] SideEffects [nx and ny are set to the numbers of row and column variables. m and n are set to the numbers of rows and columns. x and y are possibly extended to represent the array of row and column variables. Similarly for xn and yn_, which hold on return from Cudd_addRead the complements of the row and column variables.] SeeAlso [Cudd_addHarwell Cudd_bddRead] ******************************************************************************/ int Cudd_addRead( FILE * fp /* input file pointer */, DdManager * dd /* DD manager */, DdNode ** E /* characteristic function of the graph */, DdNode *** x /* array of row variables */, DdNode *** y /* array of column variables */, DdNode *** xn /* array of complemented row variables */, DdNode *** yn_ /* array of complemented column variables */, int * nx /* number or row variables */, int * ny /* number or column variables */, int * m /* number of rows */, int * n /* number of columns */, int bx /* first index of row variables */, int sx /* step of row variables */, int by /* first index of column variables */, int sy /* step of column variables */) { DdNode *one, *zero; DdNode *w, *neW; DdNode *minterm1; int u, v, err, i, nv; int lnx, lny; CUDD_VALUE_TYPE val; DdNode **lx, **ly, **lxn, **lyn; one = DD_ONE(dd); zero = DD_ZERO(dd); err = fscanf(fp, "%d %d", &u, &v); if (err == EOF) { return(0); } else if (err != 2) { return(0); } *m = u; /* Compute the number of x variables. */ lx = *x; lxn = *xn; u--; /* row and column numbers start from 0 */ for (lnx=0; u > 0; lnx++) { u >>= 1; } /* Here we rely on the fact that REALLOC of a null pointer is ** translates to an ALLOC. */ if (lnx > *nx) { *x = lx = REALLOC(DdNode *, *x, lnx); if (lx == NULL) { dd->errorCode = CUDD_MEMORY_OUT; return(0); } *xn = lxn = REALLOC(DdNode *, *xn, lnx); if (lxn == NULL) { dd->errorCode = CUDD_MEMORY_OUT; return(0); } } *n = v; /* Compute the number of y variables. */ ly = *y; lyn = *yn_; v--; /* row and column numbers start from 0 */ for (lny=0; v > 0; lny++) { v >>= 1; } /* Here we rely on the fact that REALLOC of a null pointer is ** translates to an ALLOC. */ if (lny > *ny) { *y = ly = REALLOC(DdNode *, *y, lny); if (ly == NULL) { dd->errorCode = CUDD_MEMORY_OUT; return(0); } *yn_ = lyn = REALLOC(DdNode *, *yn_, lny); if (lyn == NULL) { dd->errorCode = CUDD_MEMORY_OUT; return(0); } } /* Create all new variables. */ for (i = *nx, nv = bx + (*nx) * sx; i < lnx; i++, nv += sx) { do { dd->reordered = 0; lx[i] = cuddUniqueInter(dd, nv, one, zero); } while (dd->reordered == 1); if (lx[i] == NULL) return(0); cuddRef(lx[i]); do { dd->reordered = 0; lxn[i] = cuddUniqueInter(dd, nv, zero, one); } while (dd->reordered == 1); if (lxn[i] == NULL) return(0); cuddRef(lxn[i]); } for (i = *ny, nv = by + (*ny) * sy; i < lny; i++, nv += sy) { do { dd->reordered = 0; ly[i] = cuddUniqueInter(dd, nv, one, zero); } while (dd->reordered == 1); if (ly[i] == NULL) return(0); cuddRef(ly[i]); do { dd->reordered = 0; lyn[i] = cuddUniqueInter(dd, nv, zero, one); } while (dd->reordered == 1); if (lyn[i] == NULL) return(0); cuddRef(lyn[i]); } *nx = lnx; *ny = lny; *E = dd->background; /* this call will never cause reordering */ cuddRef(*E); while (! feof(fp)) { err = fscanf(fp, "%d %d %lf", &u, &v, &val); if (err == EOF) { break; } else if (err != 3) { return(0); } else if (u >= *m || v >= *n || u < 0 || v < 0) { return(0); } minterm1 = one; cuddRef(minterm1); /* Build minterm1 corresponding to this arc */ for (i = lnx - 1; i>=0; i--) { if (u & 1) { w = Cudd_addApply(dd, Cudd_addTimes, minterm1, lx[i]); } else { w = Cudd_addApply(dd, Cudd_addTimes, minterm1, lxn[i]); } if (w == NULL) { Cudd_RecursiveDeref(dd, minterm1); return(0); } cuddRef(w); Cudd_RecursiveDeref(dd, minterm1); minterm1 = w; u >>= 1; } for (i = lny - 1; i>=0; i--) { if (v & 1) { w = Cudd_addApply(dd, Cudd_addTimes, minterm1, ly[i]); } else { w = Cudd_addApply(dd, Cudd_addTimes, minterm1, lyn[i]); } if (w == NULL) { Cudd_RecursiveDeref(dd, minterm1); return(0); } cuddRef(w); Cudd_RecursiveDeref(dd, minterm1); minterm1 = w; v >>= 1; } /* Create new constant node if necessary. ** This call will never cause reordering. */ neW = cuddUniqueConst(dd, val); if (neW == NULL) { Cudd_RecursiveDeref(dd, minterm1); return(0); } cuddRef(neW); w = Cudd_addIte(dd, minterm1, neW, *E); if (w == NULL) { Cudd_RecursiveDeref(dd, minterm1); Cudd_RecursiveDeref(dd, neW); return(0); } cuddRef(w); Cudd_RecursiveDeref(dd, minterm1); Cudd_RecursiveDeref(dd, neW); Cudd_RecursiveDeref(dd, *E); *E = w; } return(1); } /* end of Cudd_addRead */ /**Function******************************************************************** Synopsis [Reads in a graph (without labels) given as a list of arcs.] Description [Reads in a graph (without labels) given as an adjacency matrix. The first line of the input contains the numbers of rows and columns of the adjacency matrix. The remaining lines contain the arcs of the graph, one per line. Each arc is described by two integers, i.e., the row and column number, or the indices of the two endpoints. Cudd_bddRead produces a BDD that depends on two sets of variables: x and y. The x variables (x\[0\] ... x\[nx-1\]) encode the row index and the y variables (y\[0\] ... y\[ny-1\]) encode the column index. x\[0\] and y\[0\] are the most significant bits in the indices. The variables may already exist or may be created by the function. The index of x\[i\] is bx+i*sx, and the index of y\[i\] is by+i*sy.

      On input, nx and ny hold the numbers of row and column variables already in existence. On output, they hold the numbers of row and column variables actually used by the matrix. When Cudd_bddRead creates the variable arrays, the index of x\[i\] is bx+i*sx, and the index of y\[i\] is by+i*sy. When some variables already exist, Cudd_bddRead expects the indices of the existing x variables to be bx+i*sx, and the indices of the existing y variables to be by+i*sy.

      m and n are set to the numbers of rows and columns of the matrix. Their values on input are immaterial. The BDD for the graph is returned in E, and its reference count is > 0. Cudd_bddRead returns 1 in case of success; 0 otherwise.] SideEffects [nx and ny are set to the numbers of row and column variables. m and n are set to the numbers of rows and columns. x and y are possibly extended to represent the array of row and column variables.] SeeAlso [Cudd_addHarwell Cudd_addRead] ******************************************************************************/ int Cudd_bddRead( FILE * fp /* input file pointer */, DdManager * dd /* DD manager */, DdNode ** E /* characteristic function of the graph */, DdNode *** x /* array of row variables */, DdNode *** y /* array of column variables */, int * nx /* number or row variables */, int * ny /* number or column variables */, int * m /* number of rows */, int * n /* number of columns */, int bx /* first index of row variables */, int sx /* step of row variables */, int by /* first index of column variables */, int sy /* step of column variables */) { DdNode *one, *zero; DdNode *w; DdNode *minterm1; int u, v, err, i, nv; int lnx, lny; DdNode **lx, **ly; one = DD_ONE(dd); zero = Cudd_Not(one); err = fscanf(fp, "%d %d", &u, &v); if (err == EOF) { return(0); } else if (err != 2) { return(0); } *m = u; /* Compute the number of x variables. */ lx = *x; u--; /* row and column numbers start from 0 */ for (lnx=0; u > 0; lnx++) { u >>= 1; } if (lnx > *nx) { *x = lx = REALLOC(DdNode *, *x, lnx); if (lx == NULL) { dd->errorCode = CUDD_MEMORY_OUT; return(0); } } *n = v; /* Compute the number of y variables. */ ly = *y; v--; /* row and column numbers start from 0 */ for (lny=0; v > 0; lny++) { v >>= 1; } if (lny > *ny) { *y = ly = REALLOC(DdNode *, *y, lny); if (ly == NULL) { dd->errorCode = CUDD_MEMORY_OUT; return(0); } } /* Create all new variables. */ for (i = *nx, nv = bx + (*nx) * sx; i < lnx; i++, nv += sx) { do { dd->reordered = 0; lx[i] = cuddUniqueInter(dd, nv, one, zero); } while (dd->reordered == 1); if (lx[i] == NULL) return(0); cuddRef(lx[i]); } for (i = *ny, nv = by + (*ny) * sy; i < lny; i++, nv += sy) { do { dd->reordered = 0; ly[i] = cuddUniqueInter(dd, nv, one, zero); } while (dd->reordered == 1); if (ly[i] == NULL) return(0); cuddRef(ly[i]); } *nx = lnx; *ny = lny; *E = zero; /* this call will never cause reordering */ cuddRef(*E); while (! feof(fp)) { err = fscanf(fp, "%d %d", &u, &v); if (err == EOF) { break; } else if (err != 2) { return(0); } else if (u >= *m || v >= *n || u < 0 || v < 0) { return(0); } minterm1 = one; cuddRef(minterm1); /* Build minterm1 corresponding to this arc. */ for (i = lnx - 1; i>=0; i--) { if (u & 1) { w = Cudd_bddAnd(dd, minterm1, lx[i]); } else { w = Cudd_bddAnd(dd, minterm1, Cudd_Not(lx[i])); } if (w == NULL) { Cudd_RecursiveDeref(dd, minterm1); return(0); } cuddRef(w); Cudd_RecursiveDeref(dd,minterm1); minterm1 = w; u >>= 1; } for (i = lny - 1; i>=0; i--) { if (v & 1) { w = Cudd_bddAnd(dd, minterm1, ly[i]); } else { w = Cudd_bddAnd(dd, minterm1, Cudd_Not(ly[i])); } if (w == NULL) { Cudd_RecursiveDeref(dd, minterm1); return(0); } cuddRef(w); Cudd_RecursiveDeref(dd, minterm1); minterm1 = w; v >>= 1; } w = Cudd_bddAnd(dd, Cudd_Not(minterm1), Cudd_Not(*E)); if (w == NULL) { Cudd_RecursiveDeref(dd, minterm1); return(0); } w = Cudd_Not(w); cuddRef(w); Cudd_RecursiveDeref(dd, minterm1); Cudd_RecursiveDeref(dd, *E); *E = w; } return(1); } /* end of Cudd_bddRead */ /*---------------------------------------------------------------------------*/ /* Definition of internal functions */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Definition of static functions */ /*---------------------------------------------------------------------------*/ BRiAl-1.2.12/cudd/cuddRef.c000066400000000000000000000505461436062512100151770ustar00rootroot00000000000000/**CFile*********************************************************************** FileName [cuddRef.c] PackageName [cudd] Synopsis [Functions that manipulate the reference counts.] Description [External procedures included in this module:

      • Cudd_Ref()
      • Cudd_RecursiveDeref()
      • Cudd_IterDerefBdd()
      • Cudd_DelayedDerefBdd()
      • Cudd_RecursiveDerefZdd()
      • Cudd_Deref()
      • Cudd_CheckZeroRef()
      Internal procedures included in this module:
      • cuddReclaim()
      • cuddReclaimZdd()
      • cuddClearDeathRow()
      • cuddShrinkDeathRow()
      • cuddIsInDeathRow()
      • cuddTimesInDeathRow()
      ] SeeAlso [] Author [Fabio Somenzi] Copyright [Copyright (c) 1995-2012, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.] ******************************************************************************/ #include "util.h" #include "cuddInt.h" #ifndef PBORI_FORCE_ORIGINAL_CUDD #include #endif /*---------------------------------------------------------------------------*/ /* Constant declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Stucture declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Type declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Variable declarations */ /*---------------------------------------------------------------------------*/ #ifndef lint static char rcsid[] DD_UNUSED = "$Id: cuddRef.c,v 1.29 2012/02/05 01:07:19 fabio Exp $"; #endif /*---------------------------------------------------------------------------*/ /* Macro declarations */ /*---------------------------------------------------------------------------*/ /**AutomaticStart*************************************************************/ /*---------------------------------------------------------------------------*/ /* Static function prototypes */ /*---------------------------------------------------------------------------*/ /**AutomaticEnd***************************************************************/ /*---------------------------------------------------------------------------*/ /* Definition of exported functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Increases the reference count of a node, if it is not saturated.] Description [] SideEffects [None] SeeAlso [Cudd_RecursiveDeref Cudd_Deref] ******************************************************************************/ void Cudd_Ref( DdNode * n) { n = Cudd_Regular(n); cuddSatInc(n->ref); } /* end of Cudd_Ref */ /**Function******************************************************************** Synopsis [Decreases the reference count of node n.] Description [Decreases the reference count of node n. If n dies, recursively decreases the reference counts of its children. It is used to dispose of a DD that is no longer needed.] SideEffects [None] SeeAlso [Cudd_Deref Cudd_Ref Cudd_RecursiveDerefZdd] ******************************************************************************/ void Cudd_RecursiveDeref( DdManager * table, DdNode * n) { DdNode *N; int ord; DdNodePtr *stack = table->stack; int SP = 1; unsigned int live = table->keys - table->dead; if (live > table->peakLiveNodes) { table->peakLiveNodes = live; } N = Cudd_Regular(n); do { #ifdef DD_DEBUG CUDD_ASSERT(N->ref != 0); #endif if (N->ref == 1) { N->ref = 0; table->dead++; #ifdef DD_STATS table->nodesDropped++; #endif if (cuddIsConstant(N)) { table->constants.dead++; N = stack[--SP]; } else { ord = table->perm[N->index]; stack[SP++] = Cudd_Regular(cuddE(N)); table->subtables[ord].dead++; N = cuddT(N); } } else { cuddSatDec(N->ref); N = stack[--SP]; } } while (SP != 0); } /* end of Cudd_RecursiveDeref */ /**Function******************************************************************** Synopsis [Decreases the reference count of BDD node n.] Description [Decreases the reference count of node n. If n dies, recursively decreases the reference counts of its children. It is used to dispose of a BDD that is no longer needed. It is more efficient than Cudd_RecursiveDeref, but it cannot be used on ADDs. The greater efficiency comes from being able to assume that no constant node will ever die as a result of a call to this procedure.] SideEffects [None] SeeAlso [Cudd_RecursiveDeref Cudd_DelayedDerefBdd] ******************************************************************************/ void Cudd_IterDerefBdd( DdManager * table, DdNode * n) { DdNode *N; int ord; DdNodePtr *stack = table->stack; int SP = 1; unsigned int live = table->keys - table->dead; if (live > table->peakLiveNodes) { table->peakLiveNodes = live; } N = Cudd_Regular(n); do { #ifdef DD_DEBUG CUDD_ASSERT(N->ref != 0); #endif if (N->ref == 1) { N->ref = 0; table->dead++; #ifdef DD_STATS table->nodesDropped++; #endif ord = table->perm[N->index]; stack[SP++] = Cudd_Regular(cuddE(N)); table->subtables[ord].dead++; N = cuddT(N); } else { cuddSatDec(N->ref); N = stack[--SP]; } } while (SP != 0); } /* end of Cudd_IterDerefBdd */ /**Function******************************************************************** Synopsis [Decreases the reference count of BDD node n.] Description [Enqueues node n for later dereferencing. If the queue is full decreases the reference count of the oldest node N to make room for n. If N dies, recursively decreases the reference counts of its children. It is used to dispose of a BDD that is currently not needed, but may be useful again in the near future. The dereferencing proper is done as in Cudd_IterDerefBdd.] SideEffects [None] SeeAlso [Cudd_RecursiveDeref Cudd_IterDerefBdd] ******************************************************************************/ void Cudd_DelayedDerefBdd( DdManager * table, DdNode * n) { DdNode *N; int ord; DdNodePtr *stack; int SP; unsigned int live = table->keys - table->dead; if (live > table->peakLiveNodes) { table->peakLiveNodes = live; } n = Cudd_Regular(n); #ifdef DD_DEBUG CUDD_ASSERT(n->ref != 0); #endif #ifdef DD_NO_DEATH_ROW N = n; #else if (cuddIsConstant(n) || n->ref > 1) { #ifdef DD_DEBUG CUDD_ASSERT(n->ref != 1 && (!cuddIsConstant(n) || n == DD_ONE(table))); #endif cuddSatDec(n->ref); return; } N = table->deathRow[table->nextDead]; if (N != NULL) { #endif #ifdef DD_DEBUG CUDD_ASSERT(!Cudd_IsComplement(N)); #endif stack = table->stack; SP = 1; do { #ifdef DD_DEBUG CUDD_ASSERT(N->ref != 0); #endif if (N->ref == 1) { N->ref = 0; table->dead++; #ifdef DD_STATS table->nodesDropped++; #endif ord = table->perm[N->index]; stack[SP++] = Cudd_Regular(cuddE(N)); table->subtables[ord].dead++; N = cuddT(N); } else { cuddSatDec(N->ref); N = stack[--SP]; } } while (SP != 0); #ifndef DD_NO_DEATH_ROW } table->deathRow[table->nextDead] = n; /* Udate insertion point. */ table->nextDead++; table->nextDead &= table->deadMask; #if 0 if (table->nextDead == table->deathRowDepth) { if (table->deathRowDepth < table->looseUpTo / 2) { extern void (*MMoutOfMemory)(long); void (*saveHandler)(long) = MMoutOfMemory; DdNodePtr *newRow; MMoutOfMemory = Cudd_OutOfMem; newRow = REALLOC(DdNodePtr,table->deathRow,2*table->deathRowDepth); MMoutOfMemory = saveHandler; if (newRow == NULL) { table->nextDead = 0; } else { int i; table->memused += table->deathRowDepth; i = table->deathRowDepth; table->deathRowDepth <<= 1; for (; i < table->deathRowDepth; i++) { newRow[i] = NULL; } table->deadMask = table->deathRowDepth - 1; table->deathRow = newRow; } } else { table->nextDead = 0; } } #endif #endif } /* end of Cudd_DelayedDerefBdd */ /**Function******************************************************************** Synopsis [Decreases the reference count of ZDD node n.] Description [Decreases the reference count of ZDD node n. If n dies, recursively decreases the reference counts of its children. It is used to dispose of a ZDD that is no longer needed.] SideEffects [None] SeeAlso [Cudd_Deref Cudd_Ref Cudd_RecursiveDeref] ******************************************************************************/ void Cudd_RecursiveDerefZdd( DdManager * table, DdNode * n) { DdNode *N; int ord; DdNodePtr *stack = table->stack; int SP = 1; N = n; do { #ifdef DD_DEBUG CUDD_ASSERT(N->ref != 0); #endif cuddSatDec(N->ref); if (N->ref == 0) { table->deadZ++; #ifdef DD_STATS table->nodesDropped++; #endif #ifdef DD_DEBUG CUDD_ASSERT(!cuddIsConstant(N)); #endif ord = table->permZ[N->index]; stack[SP++] = cuddE(N); table->subtableZ[ord].dead++; N = cuddT(N); } else { N = stack[--SP]; } } while (SP != 0); } /* end of Cudd_RecursiveDerefZdd */ /**Function******************************************************************** Synopsis [Decreases the reference count of node.] Description [Decreases the reference count of node. It is primarily used in recursive procedures to decrease the ref count of a result node before returning it. This accomplishes the goal of removing the protection applied by a previous Cudd_Ref.] SideEffects [None] SeeAlso [Cudd_RecursiveDeref Cudd_RecursiveDerefZdd Cudd_Ref] ******************************************************************************/ void Cudd_Deref( DdNode * node) { node = Cudd_Regular(node); cuddSatDec(node->ref); } /* end of Cudd_Deref */ /**Function******************************************************************** Synopsis [Checks the unique table for nodes with non-zero reference counts.] Description [Checks the unique table for nodes with non-zero reference counts. It is normally called before Cudd_Quit to make sure that there are no memory leaks due to missing Cudd_RecursiveDeref's. Takes into account that reference counts may saturate and that the basic constants and the projection functions are referenced by the manager. Returns the number of nodes with non-zero reference count. (Except for the cases mentioned above.)] SideEffects [None] SeeAlso [] ******************************************************************************/ int Cudd_CheckZeroRef( DdManager * manager) { int size; int i, j; int remain; /* the expected number of remaining references to one */ DdNodePtr *nodelist; DdNode *node; DdNode *sentinel = &(manager->sentinel); DdSubtable *subtable; int count = 0; int index; #ifndef DD_NO_DEATH_ROW cuddClearDeathRow(manager); #endif /* First look at the BDD/ADD subtables. */ remain = 1; /* reference from the manager */ size = manager->size; remain += 2 * size; /* reference from the BDD projection functions */ for (i = 0; i < size; i++) { subtable = &(manager->subtables[i]); nodelist = subtable->nodelist; for (j = 0; (unsigned) j < subtable->slots; j++) { node = nodelist[j]; while (node != sentinel) { if (node->ref != 0 && node->ref != DD_MAXREF) { index = (int) node->index; if (node != manager->vars[index]) { count++; } else { if (node->ref != 1) { count++; } } } node = node->next; } } } /* Then look at the ZDD subtables. */ size = manager->sizeZ; if (size) /* references from ZDD universe */ remain += 2; for (i = 0; i < size; i++) { subtable = &(manager->subtableZ[i]); nodelist = subtable->nodelist; for (j = 0; (unsigned) j < subtable->slots; j++) { node = nodelist[j]; while (node != NULL) { if (node->ref != 0 && node->ref != DD_MAXREF) { index = (int) node->index; if (node == manager->univ[manager->permZ[index]]) { if (node->ref > 2) { count++; } } else { count++; } } node = node->next; } } } /* Now examine the constant table. Plusinfinity, minusinfinity, and ** zero are referenced by the manager. One is referenced by the ** manager, by the ZDD universe, and by all projection functions. ** All other nodes should have no references. */ nodelist = manager->constants.nodelist; for (j = 0; (unsigned) j < manager->constants.slots; j++) { node = nodelist[j]; while (node != NULL) { if (node->ref != 0 && node->ref != DD_MAXREF) { if (node == manager->one) { if ((int) node->ref != remain) { count++; } } else if (node == manager->zero || node == manager->plusinfinity || node == manager->minusinfinity) { if (node->ref != 1) { count++; } } else { count++; } } node = node->next; } } return(count); } /* end of Cudd_CheckZeroRef */ /*---------------------------------------------------------------------------*/ /* Definition of internal functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Brings children of a dead node back.] Description [] SideEffects [None] SeeAlso [cuddReclaimZdd] ******************************************************************************/ void cuddReclaim( DdManager * table, DdNode * n) { DdNode *N; int ord; DdNodePtr *stack = table->stack; int SP = 1; double initialDead = table->dead; N = Cudd_Regular(n); #ifdef DD_DEBUG CUDD_ASSERT(N->ref == 0); #endif do { if (N->ref == 0) { N->ref = 1; table->dead--; if (cuddIsConstant(N)) { table->constants.dead--; N = stack[--SP]; } else { ord = table->perm[N->index]; stack[SP++] = Cudd_Regular(cuddE(N)); table->subtables[ord].dead--; N = cuddT(N); } } else { cuddSatInc(N->ref); N = stack[--SP]; } } while (SP != 0); N = Cudd_Regular(n); cuddSatDec(N->ref); table->reclaimed += initialDead - table->dead; } /* end of cuddReclaim */ /**Function******************************************************************** Synopsis [Brings children of a dead ZDD node back.] Description [] SideEffects [None] SeeAlso [cuddReclaim] ******************************************************************************/ void cuddReclaimZdd( DdManager * table, DdNode * n) { DdNode *N; int ord; DdNodePtr *stack = table->stack; int SP = 1; N = n; #ifdef DD_DEBUG CUDD_ASSERT(N->ref == 0); #endif do { cuddSatInc(N->ref); if (N->ref == 1) { table->deadZ--; table->reclaimed++; #ifdef DD_DEBUG CUDD_ASSERT(!cuddIsConstant(N)); #endif ord = table->permZ[N->index]; stack[SP++] = cuddE(N); table->subtableZ[ord].dead--; N = cuddT(N); } else { N = stack[--SP]; } } while (SP != 0); cuddSatDec(n->ref); } /* end of cuddReclaimZdd */ /**Function******************************************************************** Synopsis [Shrinks the death row.] Description [Shrinks the death row by a factor of four.] SideEffects [None] SeeAlso [cuddClearDeathRow] ******************************************************************************/ void cuddShrinkDeathRow( DdManager *table) { #ifndef DD_NO_DEATH_ROW int i; if (table->deathRowDepth > 3) { for (i = table->deathRowDepth/4; i < table->deathRowDepth; i++) { if (table->deathRow[i] == NULL) break; Cudd_IterDerefBdd(table,table->deathRow[i]); table->deathRow[i] = NULL; } table->deathRowDepth /= 4; table->deadMask = table->deathRowDepth - 1; if ((unsigned) table->nextDead > table->deadMask) { table->nextDead = 0; } table->deathRow = REALLOC(DdNodePtr, table->deathRow, table->deathRowDepth); } #endif } /* end of cuddShrinkDeathRow */ /**Function******************************************************************** Synopsis [Clears the death row.] Description [] SideEffects [None] SeeAlso [Cudd_DelayedDerefBdd Cudd_IterDerefBdd Cudd_CheckZeroRef cuddGarbageCollect] ******************************************************************************/ void cuddClearDeathRow( DdManager *table) { #ifndef DD_NO_DEATH_ROW int i; for (i = 0; i < table->deathRowDepth; i++) { if (table->deathRow[i] == NULL) break; Cudd_IterDerefBdd(table,table->deathRow[i]); table->deathRow[i] = NULL; } #ifdef DD_DEBUG for (; i < table->deathRowDepth; i++) { CUDD_ASSERT(table->deathRow[i] == NULL); } #endif table->nextDead = 0; #endif } /* end of cuddClearDeathRow */ /**Function******************************************************************** Synopsis [Checks whether a node is in the death row.] Description [Checks whether a node is in the death row. Returns the position of the first occurrence if the node is present; -1 otherwise.] SideEffects [None] SeeAlso [Cudd_DelayedDerefBdd cuddClearDeathRow] ******************************************************************************/ int cuddIsInDeathRow( DdManager *dd, DdNode *f) { #ifndef DD_NO_DEATH_ROW int i; for (i = 0; i < dd->deathRowDepth; i++) { if (f == dd->deathRow[i]) { return(i); } } #endif return(-1); } /* end of cuddIsInDeathRow */ /**Function******************************************************************** Synopsis [Counts how many times a node is in the death row.] Description [] SideEffects [None] SeeAlso [Cudd_DelayedDerefBdd cuddClearDeathRow cuddIsInDeathRow] ******************************************************************************/ int cuddTimesInDeathRow( DdManager *dd, DdNode *f) { int count = 0; #ifndef DD_NO_DEATH_ROW int i; for (i = 0; i < dd->deathRowDepth; i++) { count += f == dd->deathRow[i]; } #endif return(count); } /* end of cuddTimesInDeathRow */ /*---------------------------------------------------------------------------*/ /* Definition of static functions */ /*---------------------------------------------------------------------------*/ BRiAl-1.2.12/cudd/cuddReorder.c000066400000000000000000001650201436062512100160570ustar00rootroot00000000000000/**CFile*********************************************************************** FileName [cuddReorder.c] PackageName [cudd] Synopsis [Functions for dynamic variable reordering.] Description [External procedures included in this file:
      • Cudd_ReduceHeap()
      • Cudd_ShuffleHeap()
      Internal procedures included in this module:
      • cuddDynamicAllocNode()
      • cuddSifting()
      • cuddSwapping()
      • cuddNextHigh()
      • cuddNextLow()
      • cuddSwapInPlace()
      • cuddBddAlignToZdd()
      Static procedures included in this module:
      • ddUniqueCompare()
      • ddSwapAny()
      • ddSiftingAux()
      • ddSiftingUp()
      • ddSiftingDown()
      • ddSiftingBackward()
      • ddReorderPreprocess()
      • ddReorderPostprocess()
      • ddShuffle()
      • ddSiftUp()
      • bddFixTree()
      ] Author [Shipra Panda, Bernard Plessier, Fabio Somenzi] Copyright [Copyright (c) 1995-2012, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.] ******************************************************************************/ #include "util.h" #include "cuddInt.h" /*---------------------------------------------------------------------------*/ /* Constant declarations */ /*---------------------------------------------------------------------------*/ #define DD_MAX_SUBTABLE_SPARSITY 8 #define DD_SHRINK_FACTOR 2 /*---------------------------------------------------------------------------*/ /* Stucture declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Type declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Variable declarations */ /*---------------------------------------------------------------------------*/ #ifndef lint static char rcsid[] DD_UNUSED = "$Id: cuddReorder.c,v 1.71 2012/02/05 01:07:19 fabio Exp $"; #endif static int *entry; int ddTotalNumberSwapping; #ifdef DD_STATS int ddTotalNISwaps; #endif /*---------------------------------------------------------------------------*/ /* Macro declarations */ /*---------------------------------------------------------------------------*/ /**AutomaticStart*************************************************************/ /*---------------------------------------------------------------------------*/ /* Static function prototypes */ /*---------------------------------------------------------------------------*/ static int ddUniqueCompare (int *ptrX, int *ptrY); static Move * ddSwapAny (DdManager *table, int x, int y); static int ddSiftingAux (DdManager *table, int x, int xLow, int xHigh); static Move * ddSiftingUp (DdManager *table, int y, int xLow); static Move * ddSiftingDown (DdManager *table, int x, int xHigh); static int ddSiftingBackward (DdManager *table, int size, Move *moves); static int ddReorderPreprocess (DdManager *table); static int ddReorderPostprocess (DdManager *table); static int ddShuffle (DdManager *table, int *permutation); static int ddSiftUp (DdManager *table, int x, int xLow); static void bddFixTree (DdManager *table, MtrNode *treenode); static int ddUpdateMtrTree (DdManager *table, MtrNode *treenode, int *perm, int *invperm); static int ddCheckPermuation (DdManager *table, MtrNode *treenode, int *perm, int *invperm); /**AutomaticEnd***************************************************************/ /*---------------------------------------------------------------------------*/ /* Definition of exported functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Main dynamic reordering routine.] Description [Main dynamic reordering routine. Calls one of the possible reordering procedures:
      • Swapping
      • Sifting
      • Symmetric Sifting
      • Group Sifting
      • Window Permutation
      • Simulated Annealing
      • Genetic Algorithm
      • Dynamic Programming (exact)
      For sifting, symmetric sifting, group sifting, and window permutation it is possible to request reordering to convergence.

      The core of all methods is the reordering procedure cuddSwapInPlace() which swaps two adjacent variables and is based on Rudell's paper. Returns 1 in case of success; 0 otherwise. In the case of symmetric sifting (with and without convergence) returns 1 plus the number of symmetric variables, in case of success.] SideEffects [Changes the variable order for all diagrams and clears the cache.] ******************************************************************************/ int Cudd_ReduceHeap( DdManager * table /* DD manager */, Cudd_ReorderingType heuristic /* method used for reordering */, int minsize /* bound below which no reordering occurs */) { DdHook *hook; int result; unsigned int nextDyn; #ifdef DD_STATS unsigned int initialSize; unsigned int finalSize; #endif unsigned long localTime; /* Don't reorder if there are too many dead nodes. */ if (table->keys - table->dead < (unsigned) minsize) return(1); if (heuristic == CUDD_REORDER_SAME) { heuristic = table->autoMethod; } if (heuristic == CUDD_REORDER_NONE) { return(1); } /* This call to Cudd_ReduceHeap does initiate reordering. Therefore ** we count it. */ table->reorderings++; localTime = util_cpu_time(); /* Run the hook functions. */ hook = table->preReorderingHook; while (hook != NULL) { int res = (hook->f)(table, "BDD", (void *)heuristic); if (res == 0) return(0); hook = hook->next; } if (!ddReorderPreprocess(table)) return(0); ddTotalNumberSwapping = 0; if (table->keys > table->peakLiveNodes) { table->peakLiveNodes = table->keys; } #ifdef DD_STATS initialSize = table->keys - table->isolated; ddTotalNISwaps = 0; switch(heuristic) { case CUDD_REORDER_RANDOM: case CUDD_REORDER_RANDOM_PIVOT: (void) fprintf(table->out,"#:I_RANDOM "); break; case CUDD_REORDER_SIFT: case CUDD_REORDER_SIFT_CONVERGE: case CUDD_REORDER_SYMM_SIFT: case CUDD_REORDER_SYMM_SIFT_CONV: case CUDD_REORDER_GROUP_SIFT: case CUDD_REORDER_GROUP_SIFT_CONV: (void) fprintf(table->out,"#:I_SIFTING "); break; case CUDD_REORDER_WINDOW2: case CUDD_REORDER_WINDOW3: case CUDD_REORDER_WINDOW4: case CUDD_REORDER_WINDOW2_CONV: case CUDD_REORDER_WINDOW3_CONV: case CUDD_REORDER_WINDOW4_CONV: (void) fprintf(table->out,"#:I_WINDOW "); break; case CUDD_REORDER_ANNEALING: (void) fprintf(table->out,"#:I_ANNEAL "); break; case CUDD_REORDER_GENETIC: (void) fprintf(table->out,"#:I_GENETIC "); break; case CUDD_REORDER_LINEAR: case CUDD_REORDER_LINEAR_CONVERGE: (void) fprintf(table->out,"#:I_LINSIFT "); break; case CUDD_REORDER_EXACT: (void) fprintf(table->out,"#:I_EXACT "); break; default: return(0); } (void) fprintf(table->out,"%8d: initial size",initialSize); #endif /* See if we should use alternate threshold for maximum growth. */ if (table->reordCycle && table->reorderings % table->reordCycle == 0) { double saveGrowth = table->maxGrowth; table->maxGrowth = table->maxGrowthAlt; result = cuddTreeSifting(table,heuristic); table->maxGrowth = saveGrowth; } else { result = cuddTreeSifting(table,heuristic); } #ifdef DD_STATS (void) fprintf(table->out,"\n"); finalSize = table->keys - table->isolated; (void) fprintf(table->out,"#:F_REORDER %8d: final size\n",finalSize); (void) fprintf(table->out,"#:T_REORDER %8g: total time (sec)\n", ((double)(util_cpu_time() - localTime)/1000.0)); (void) fprintf(table->out,"#:N_REORDER %8d: total swaps\n", ddTotalNumberSwapping); (void) fprintf(table->out,"#:M_REORDER %8d: NI swaps\n",ddTotalNISwaps); #endif if (result == 0) return(0); if (!ddReorderPostprocess(table)) return(0); if (table->realign) { if (!cuddZddAlignToBdd(table)) return(0); } nextDyn = (table->keys - table->constants.keys + 1) * DD_DYN_RATIO + table->constants.keys; if (table->reorderings < 20 || nextDyn > table->nextDyn) table->nextDyn = nextDyn; else table->nextDyn += 20; if (table->randomizeOrder != 0) { table->nextDyn += Cudd_Random() & table->randomizeOrder; } table->reordered = 1; /* Run hook functions. */ hook = table->postReorderingHook; while (hook != NULL) { int res = (hook->f)(table, "BDD", (void *)localTime); if (res == 0) return(0); hook = hook->next; } /* Update cumulative reordering time. */ table->reordTime += util_cpu_time() - localTime; return(result); } /* end of Cudd_ReduceHeap */ /**Function******************************************************************** Synopsis [Reorders variables according to given permutation.] Description [Reorders variables according to given permutation. The i-th entry of the permutation array contains the index of the variable that should be brought to the i-th level. The size of the array should be equal or greater to the number of variables currently in use. Returns 1 in case of success; 0 otherwise.] SideEffects [Changes the variable order for all diagrams and clears the cache.] SeeAlso [Cudd_ReduceHeap] ******************************************************************************/ int Cudd_ShuffleHeap( DdManager * table /* DD manager */, int * permutation /* required variable permutation */) { int result; int i; int identity = 1; int *perm; /* Don't waste time in case of identity permutation. */ for (i = 0; i < table->size; i++) { if (permutation[i] != table->invperm[i]) { identity = 0; break; } } if (identity == 1) { return(1); } if (!ddReorderPreprocess(table)) return(0); if (table->keys > table->peakLiveNodes) { table->peakLiveNodes = table->keys; } perm = ALLOC(int, table->size); for (i = 0; i < table->size; i++) perm[permutation[i]] = i; if (!ddCheckPermuation(table,table->tree,perm,permutation)) { FREE(perm); return(0); } if (!ddUpdateMtrTree(table,table->tree,perm,permutation)) { FREE(perm); return(0); } FREE(perm); result = ddShuffle(table,permutation); if (!ddReorderPostprocess(table)) return(0); return(result); } /* end of Cudd_ShuffleHeap */ /*---------------------------------------------------------------------------*/ /* Definition of internal functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Dynamically allocates a Node.] Description [Dynamically allocates a Node. This procedure is similar to cuddAllocNode in Cudd_Table.c, but it does not attempt garbage collection, because during reordering there are no dead nodes. Returns a pointer to a new node if successful; NULL is memory is full.] SideEffects [None] SeeAlso [cuddAllocNode] ******************************************************************************/ DdNode * cuddDynamicAllocNode( DdManager * table) { int i; DdNodePtr *mem; DdNode *list, *node; extern DD_OOMFP MMoutOfMemory; DD_OOMFP saveHandler; if (table->nextFree == NULL) { /* free list is empty */ /* Try to allocate a new block. */ saveHandler = MMoutOfMemory; MMoutOfMemory = Cudd_OutOfMem; mem = (DdNodePtr *) ALLOC(DdNode, DD_MEM_CHUNK + 1); MMoutOfMemory = saveHandler; if (mem == NULL && table->stash != NULL) { FREE(table->stash); table->stash = NULL; /* Inhibit resizing of tables. */ table->maxCacheHard = table->cacheSlots - 1; table->cacheSlack = - (int) (table->cacheSlots + 1); for (i = 0; i < table->size; i++) { table->subtables[i].maxKeys <<= 2; } mem = (DdNodePtr *) ALLOC(DdNode,DD_MEM_CHUNK + 1); } if (mem == NULL) { /* Out of luck. Call the default handler to do ** whatever it specifies for a failed malloc. If this ** handler returns, then set error code, print ** warning, and return. */ (*MMoutOfMemory)(sizeof(DdNode)*(DD_MEM_CHUNK + 1)); table->errorCode = CUDD_MEMORY_OUT; #ifdef DD_VERBOSE (void) fprintf(table->err, "cuddDynamicAllocNode: out of memory"); (void) fprintf(table->err,"Memory in use = %lu\n", table->memused); #endif return(NULL); } else { /* successful allocation; slice memory */ unsigned long offset; table->memused += (DD_MEM_CHUNK + 1) * sizeof(DdNode); mem[0] = (DdNode *) table->memoryList; table->memoryList = mem; /* Here we rely on the fact that the size of a DdNode is a ** power of 2 and a multiple of the size of a pointer. ** If we align one node, all the others will be aligned ** as well. */ offset = (unsigned long) mem & (sizeof(DdNode) - 1); mem += (sizeof(DdNode) - offset) / sizeof(DdNodePtr); #ifdef DD_DEBUG assert(((unsigned long) mem & (sizeof(DdNode) - 1)) == 0); #endif list = (DdNode *) mem; i = 1; do { list[i - 1].ref = 0; list[i - 1].next = &list[i]; } while (++i < DD_MEM_CHUNK); list[DD_MEM_CHUNK-1].ref = 0; list[DD_MEM_CHUNK - 1].next = NULL; table->nextFree = &list[0]; } } /* if free list empty */ node = table->nextFree; table->nextFree = node->next; return (node); } /* end of cuddDynamicAllocNode */ /**Function******************************************************************** Synopsis [Implementation of Rudell's sifting algorithm.] Description [Implementation of Rudell's sifting algorithm. Assumes that no dead nodes are present.

      1. Order all the variables according to the number of entries in each unique table.
      2. Sift the variable up and down, remembering each time the total size of the DD heap.
      3. Select the best permutation.
      4. Repeat 3 and 4 for all variables.
      Returns 1 if successful; 0 otherwise.] SideEffects [None] ******************************************************************************/ int cuddSifting( DdManager * table, int lower, int upper) { int i; int *var; int size; int x; int result; #ifdef DD_STATS int previousSize; #endif size = table->size; /* Find order in which to sift variables. */ var = NULL; entry = ALLOC(int,size); if (entry == NULL) { table->errorCode = CUDD_MEMORY_OUT; goto cuddSiftingOutOfMem; } var = ALLOC(int,size); if (var == NULL) { table->errorCode = CUDD_MEMORY_OUT; goto cuddSiftingOutOfMem; } for (i = 0; i < size; i++) { x = table->perm[i]; entry[i] = table->subtables[x].keys; var[i] = i; } qsort((void *)var,size,sizeof(int),(DD_QSFP)ddUniqueCompare); /* Now sift. */ for (i = 0; i < ddMin(table->siftMaxVar,size); i++) { if (ddTotalNumberSwapping >= table->siftMaxSwap) break; if (util_cpu_time() - table->startTime + table->reordTime > table->timeLimit) { table->autoDyn = 0; /* prevent further reordering */ break; } x = table->perm[var[i]]; if (x < lower || x > upper || table->subtables[x].bindVar == 1) continue; #ifdef DD_STATS previousSize = table->keys - table->isolated; #endif result = ddSiftingAux(table, x, lower, upper); if (!result) goto cuddSiftingOutOfMem; #ifdef DD_STATS if (table->keys < (unsigned) previousSize + table->isolated) { (void) fprintf(table->out,"-"); } else if (table->keys > (unsigned) previousSize + table->isolated) { (void) fprintf(table->out,"+"); /* should never happen */ (void) fprintf(table->err,"\nSize increased from %d to %d while sifting variable %d\n", previousSize, table->keys - table->isolated, var[i]); } else { (void) fprintf(table->out,"="); } fflush(table->out); #endif } FREE(var); FREE(entry); return(1); cuddSiftingOutOfMem: if (entry != NULL) FREE(entry); if (var != NULL) FREE(var); return(0); } /* end of cuddSifting */ /**Function******************************************************************** Synopsis [Reorders variables by a sequence of (non-adjacent) swaps.] Description [Implementation of Plessier's algorithm that reorders variables by a sequence of (non-adjacent) swaps.
      1. Select two variables (RANDOM or HEURISTIC).
      2. Permute these variables.
      3. If the nodes have decreased accept the permutation.
      4. Otherwise reconstruct the original heap.
      5. Loop.
      Returns 1 in case of success; 0 otherwise.] SideEffects [None] ******************************************************************************/ int cuddSwapping( DdManager * table, int lower, int upper, Cudd_ReorderingType heuristic) { int i, j; int max, keys; int nvars; int x, y; int iterate; int previousSize; Move *moves, *move; int pivot; int modulo; int result; #ifdef DD_DEBUG /* Sanity check */ assert(lower >= 0 && upper < table->size && lower <= upper); #endif nvars = upper - lower + 1; iterate = nvars; for (i = 0; i < iterate; i++) { if (ddTotalNumberSwapping >= table->siftMaxSwap) break; if (heuristic == CUDD_REORDER_RANDOM_PIVOT) { max = -1; for (j = lower; j <= upper; j++) { if ((keys = table->subtables[j].keys) > max) { max = keys; pivot = j; } } modulo = upper - pivot; if (modulo == 0) { y = pivot; } else{ y = pivot + 1 + ((int) Cudd_Random() % modulo); } modulo = pivot - lower - 1; if (modulo < 1) { x = lower; } else{ do { x = (int) Cudd_Random() % modulo; } while (x == y); } } else { x = ((int) Cudd_Random() % nvars) + lower; do { y = ((int) Cudd_Random() % nvars) + lower; } while (x == y); } previousSize = table->keys - table->isolated; moves = ddSwapAny(table,x,y); if (moves == NULL) goto cuddSwappingOutOfMem; result = ddSiftingBackward(table,previousSize,moves); if (!result) goto cuddSwappingOutOfMem; while (moves != NULL) { move = moves->next; cuddDeallocMove(table, moves); moves = move; } #ifdef DD_STATS if (table->keys < (unsigned) previousSize + table->isolated) { (void) fprintf(table->out,"-"); } else if (table->keys > (unsigned) previousSize + table->isolated) { (void) fprintf(table->out,"+"); /* should never happen */ } else { (void) fprintf(table->out,"="); } fflush(table->out); #endif #if 0 (void) fprintf(table->out,"#:t_SWAPPING %8d: tmp size\n", table->keys - table->isolated); #endif } return(1); cuddSwappingOutOfMem: while (moves != NULL) { move = moves->next; cuddDeallocMove(table, moves); moves = move; } return(0); } /* end of cuddSwapping */ /**Function******************************************************************** Synopsis [Finds the next subtable with a larger index.] Description [Finds the next subtable with a larger index. Returns the index.] SideEffects [None] SeeAlso [cuddNextLow] ******************************************************************************/ int cuddNextHigh( DdManager * table, int x) { return(x+1); } /* end of cuddNextHigh */ /**Function******************************************************************** Synopsis [Finds the next subtable with a smaller index.] Description [Finds the next subtable with a smaller index. Returns the index.] SideEffects [None] SeeAlso [cuddNextHigh] ******************************************************************************/ int cuddNextLow( DdManager * table, int x) { return(x-1); } /* end of cuddNextLow */ /**Function******************************************************************** Synopsis [Swaps two adjacent variables.] Description [Swaps two adjacent variables. It assumes that no dead nodes are present on entry to this procedure. The procedure then guarantees that no dead nodes will be present when it terminates. cuddSwapInPlace assumes that x < y. Returns the number of keys in the table if successful; 0 otherwise.] SideEffects [None] ******************************************************************************/ int cuddSwapInPlace( DdManager * table, int x, int y) { DdNodePtr *xlist, *ylist; int xindex, yindex; int xslots, yslots; int xshift, yshift; int oldxkeys, oldykeys; int newxkeys, newykeys; int comple, newcomplement; int i; Cudd_VariableType varType; Cudd_LazyGroupType groupType; int posn; int isolated; DdNode *f,*f0,*f1,*f01,*f00,*f11,*f10,*newf1,*newf0; DdNode *g,*next; DdNodePtr *previousP; DdNode *tmp; DdNode *sentinel = &(table->sentinel); extern DD_OOMFP MMoutOfMemory; DD_OOMFP saveHandler; #ifdef DD_DEBUG int count,idcheck; #endif #ifdef DD_DEBUG assert(x < y); assert(cuddNextHigh(table,x) == y); assert(table->subtables[x].keys != 0); assert(table->subtables[y].keys != 0); assert(table->subtables[x].dead == 0); assert(table->subtables[y].dead == 0); #endif ddTotalNumberSwapping++; /* Get parameters of x subtable. */ xindex = table->invperm[x]; xlist = table->subtables[x].nodelist; oldxkeys = table->subtables[x].keys; xslots = table->subtables[x].slots; xshift = table->subtables[x].shift; /* Get parameters of y subtable. */ yindex = table->invperm[y]; ylist = table->subtables[y].nodelist; oldykeys = table->subtables[y].keys; yslots = table->subtables[y].slots; yshift = table->subtables[y].shift; if (!cuddTestInteract(table,xindex,yindex)) { #ifdef DD_STATS ddTotalNISwaps++; #endif newxkeys = oldxkeys; newykeys = oldykeys; } else { newxkeys = 0; newykeys = oldykeys; /* Check whether the two projection functions involved in this ** swap are isolated. At the end, we'll be able to tell how many ** isolated projection functions are there by checking only these ** two functions again. This is done to eliminate the isolated ** projection functions from the node count. */ isolated = - ((table->vars[xindex]->ref == 1) + (table->vars[yindex]->ref == 1)); /* The nodes in the x layer that do not depend on ** y will stay there; the others are put in a chain. ** The chain is handled as a LIFO; g points to the beginning. */ g = NULL; if ((oldxkeys >= xslots || (unsigned) xslots == table->initSlots) && oldxkeys <= DD_MAX_SUBTABLE_DENSITY * xslots) { for (i = 0; i < xslots; i++) { previousP = &(xlist[i]); f = *previousP; while (f != sentinel) { next = f->next; f1 = cuddT(f); f0 = cuddE(f); if (f1->index != (DdHalfWord) yindex && Cudd_Regular(f0)->index != (DdHalfWord) yindex) { /* stays */ newxkeys++; *previousP = f; previousP = &(f->next); } else { f->index = yindex; f->next = g; g = f; } f = next; } /* while there are elements in the collision chain */ *previousP = sentinel; } /* for each slot of the x subtable */ } else { /* resize xlist */ DdNode *h = NULL; DdNodePtr *newxlist; unsigned int newxslots; int newxshift; /* Empty current xlist. Nodes that stay go to list h; ** nodes that move go to list g. */ for (i = 0; i < xslots; i++) { f = xlist[i]; while (f != sentinel) { next = f->next; f1 = cuddT(f); f0 = cuddE(f); if (f1->index != (DdHalfWord) yindex && Cudd_Regular(f0)->index != (DdHalfWord) yindex) { /* stays */ f->next = h; h = f; newxkeys++; } else { f->index = yindex; f->next = g; g = f; } f = next; } /* while there are elements in the collision chain */ } /* for each slot of the x subtable */ /* Decide size of new subtable. */ newxshift = xshift; newxslots = xslots; while ((unsigned) oldxkeys > DD_MAX_SUBTABLE_DENSITY * newxslots) { newxshift--; newxslots <<= 1; } while ((unsigned) oldxkeys < newxslots && newxslots > table->initSlots) { newxshift++; newxslots >>= 1; } /* Try to allocate new table. Be ready to back off. */ saveHandler = MMoutOfMemory; MMoutOfMemory = Cudd_OutOfMem; newxlist = ALLOC(DdNodePtr, newxslots); MMoutOfMemory = saveHandler; if (newxlist == NULL) { (void) fprintf(table->err, "Unable to resize subtable %d for lack of memory\n", i); newxlist = xlist; newxslots = xslots; newxshift = xshift; } else { table->slots += ((int) newxslots - xslots); table->minDead = (unsigned) (table->gcFrac * (double) table->slots); table->cacheSlack = (int) ddMin(table->maxCacheHard, DD_MAX_CACHE_TO_SLOTS_RATIO * table->slots) - 2 * (int) table->cacheSlots; table->memused += ((int) newxslots - xslots) * sizeof(DdNodePtr); FREE(xlist); xslots = newxslots; xshift = newxshift; xlist = newxlist; } /* Initialize new subtable. */ for (i = 0; i < xslots; i++) { xlist[i] = sentinel; } /* Move nodes that were parked in list h to their new home. */ f = h; while (f != NULL) { next = f->next; f1 = cuddT(f); f0 = cuddE(f); /* Check xlist for pair (f11,f01). */ posn = ddHash(f1, f0, xshift); /* For each element tmp in collision list xlist[posn]. */ previousP = &(xlist[posn]); tmp = *previousP; while (f1 < cuddT(tmp)) { previousP = &(tmp->next); tmp = *previousP; } while (f1 == cuddT(tmp) && f0 < cuddE(tmp)) { previousP = &(tmp->next); tmp = *previousP; } f->next = *previousP; *previousP = f; f = next; } } #ifdef DD_COUNT table->swapSteps += oldxkeys - newxkeys; #endif /* Take care of the x nodes that must be re-expressed. ** They form a linked list pointed by g. Their index has been ** already changed to yindex. */ f = g; while (f != NULL) { next = f->next; /* Find f1, f0, f11, f10, f01, f00. */ f1 = cuddT(f); #ifdef DD_DEBUG assert(!(Cudd_IsComplement(f1))); #endif if ((int) f1->index == yindex) { f11 = cuddT(f1); f10 = cuddE(f1); } else { f11 = f10 = f1; } #ifdef DD_DEBUG assert(!(Cudd_IsComplement(f11))); #endif f0 = cuddE(f); comple = Cudd_IsComplement(f0); f0 = Cudd_Regular(f0); if ((int) f0->index == yindex) { f01 = cuddT(f0); f00 = cuddE(f0); } else { f01 = f00 = f0; } if (comple) { f01 = Cudd_Not(f01); f00 = Cudd_Not(f00); } /* Decrease ref count of f1. */ cuddSatDec(f1->ref); /* Create the new T child. */ if (f11 == f01) { newf1 = f11; cuddSatInc(newf1->ref); } else { /* Check xlist for triple (xindex,f11,f01). */ posn = ddHash(f11, f01, xshift); /* For each element newf1 in collision list xlist[posn]. */ previousP = &(xlist[posn]); newf1 = *previousP; while (f11 < cuddT(newf1)) { previousP = &(newf1->next); newf1 = *previousP; } while (f11 == cuddT(newf1) && f01 < cuddE(newf1)) { previousP = &(newf1->next); newf1 = *previousP; } if (cuddT(newf1) == f11 && cuddE(newf1) == f01) { cuddSatInc(newf1->ref); } else { /* no match */ newf1 = cuddDynamicAllocNode(table); if (newf1 == NULL) goto cuddSwapOutOfMem; newf1->index = xindex; newf1->ref = 1; cuddT(newf1) = f11; cuddE(newf1) = f01; /* Insert newf1 in the collision list xlist[posn]; ** increase the ref counts of f11 and f01. */ newxkeys++; newf1->next = *previousP; *previousP = newf1; cuddSatInc(f11->ref); tmp = Cudd_Regular(f01); cuddSatInc(tmp->ref); } } cuddT(f) = newf1; #ifdef DD_DEBUG assert(!(Cudd_IsComplement(newf1))); #endif /* Do the same for f0, keeping complement dots into account. */ /* Decrease ref count of f0. */ tmp = Cudd_Regular(f0); cuddSatDec(tmp->ref); /* Create the new E child. */ if (f10 == f00) { newf0 = f00; tmp = Cudd_Regular(newf0); cuddSatInc(tmp->ref); } else { /* make sure f10 is regular */ newcomplement = Cudd_IsComplement(f10); if (newcomplement) { f10 = Cudd_Not(f10); f00 = Cudd_Not(f00); } /* Check xlist for triple (xindex,f10,f00). */ posn = ddHash(f10, f00, xshift); /* For each element newf0 in collision list xlist[posn]. */ previousP = &(xlist[posn]); newf0 = *previousP; while (f10 < cuddT(newf0)) { previousP = &(newf0->next); newf0 = *previousP; } while (f10 == cuddT(newf0) && f00 < cuddE(newf0)) { previousP = &(newf0->next); newf0 = *previousP; } if (cuddT(newf0) == f10 && cuddE(newf0) == f00) { cuddSatInc(newf0->ref); } else { /* no match */ newf0 = cuddDynamicAllocNode(table); if (newf0 == NULL) goto cuddSwapOutOfMem; newf0->index = xindex; newf0->ref = 1; cuddT(newf0) = f10; cuddE(newf0) = f00; /* Insert newf0 in the collision list xlist[posn]; ** increase the ref counts of f10 and f00. */ newxkeys++; newf0->next = *previousP; *previousP = newf0; cuddSatInc(f10->ref); tmp = Cudd_Regular(f00); cuddSatInc(tmp->ref); } if (newcomplement) { newf0 = Cudd_Not(newf0); } } cuddE(f) = newf0; /* Insert the modified f in ylist. ** The modified f does not already exists in ylist. ** (Because of the uniqueness of the cofactors.) */ posn = ddHash(newf1, newf0, yshift); newykeys++; previousP = &(ylist[posn]); tmp = *previousP; while (newf1 < cuddT(tmp)) { previousP = &(tmp->next); tmp = *previousP; } while (newf1 == cuddT(tmp) && newf0 < cuddE(tmp)) { previousP = &(tmp->next); tmp = *previousP; } f->next = *previousP; *previousP = f; f = next; } /* while f != NULL */ /* GC the y layer. */ /* For each node f in ylist. */ for (i = 0; i < yslots; i++) { previousP = &(ylist[i]); f = *previousP; while (f != sentinel) { next = f->next; if (f->ref == 0) { tmp = cuddT(f); cuddSatDec(tmp->ref); tmp = Cudd_Regular(cuddE(f)); cuddSatDec(tmp->ref); cuddDeallocNode(table,f); newykeys--; } else { *previousP = f; previousP = &(f->next); } f = next; } /* while f */ *previousP = sentinel; } /* for i */ #ifdef DD_DEBUG #if 0 (void) fprintf(table->out,"Swapping %d and %d\n",x,y); #endif count = 0; idcheck = 0; for (i = 0; i < yslots; i++) { f = ylist[i]; while (f != sentinel) { count++; if (f->index != (DdHalfWord) yindex) idcheck++; f = f->next; } } if (count != newykeys) { (void) fprintf(table->out, "Error in finding newykeys\toldykeys = %d\tnewykeys = %d\tactual = %d\n", oldykeys,newykeys,count); } if (idcheck != 0) (void) fprintf(table->out, "Error in id's of ylist\twrong id's = %d\n", idcheck); count = 0; idcheck = 0; for (i = 0; i < xslots; i++) { f = xlist[i]; while (f != sentinel) { count++; if (f->index != (DdHalfWord) xindex) idcheck++; f = f->next; } } if (count != newxkeys) { (void) fprintf(table->out, "Error in finding newxkeys\toldxkeys = %d \tnewxkeys = %d \tactual = %d\n", oldxkeys,newxkeys,count); } if (idcheck != 0) (void) fprintf(table->out, "Error in id's of xlist\twrong id's = %d\n", idcheck); #endif isolated += (table->vars[xindex]->ref == 1) + (table->vars[yindex]->ref == 1); table->isolated += isolated; } /* Set the appropriate fields in table. */ table->subtables[x].nodelist = ylist; table->subtables[x].slots = yslots; table->subtables[x].shift = yshift; table->subtables[x].keys = newykeys; table->subtables[x].maxKeys = yslots * DD_MAX_SUBTABLE_DENSITY; i = table->subtables[x].bindVar; table->subtables[x].bindVar = table->subtables[y].bindVar; table->subtables[y].bindVar = i; /* Adjust filds for lazy sifting. */ varType = table->subtables[x].varType; table->subtables[x].varType = table->subtables[y].varType; table->subtables[y].varType = varType; i = table->subtables[x].pairIndex; table->subtables[x].pairIndex = table->subtables[y].pairIndex; table->subtables[y].pairIndex = i; i = table->subtables[x].varHandled; table->subtables[x].varHandled = table->subtables[y].varHandled; table->subtables[y].varHandled = i; groupType = table->subtables[x].varToBeGrouped; table->subtables[x].varToBeGrouped = table->subtables[y].varToBeGrouped; table->subtables[y].varToBeGrouped = groupType; table->subtables[y].nodelist = xlist; table->subtables[y].slots = xslots; table->subtables[y].shift = xshift; table->subtables[y].keys = newxkeys; table->subtables[y].maxKeys = xslots * DD_MAX_SUBTABLE_DENSITY; table->perm[xindex] = y; table->perm[yindex] = x; table->invperm[x] = yindex; table->invperm[y] = xindex; table->keys += newxkeys + newykeys - oldxkeys - oldykeys; return(table->keys - table->isolated); cuddSwapOutOfMem: (void) fprintf(table->err,"Error: cuddSwapInPlace out of memory\n"); return (0); } /* end of cuddSwapInPlace */ /**Function******************************************************************** Synopsis [Reorders BDD variables according to the order of the ZDD variables.] Description [Reorders BDD variables according to the order of the ZDD variables. This function can be called at the end of ZDD reordering to insure that the order of the BDD variables is consistent with the order of the ZDD variables. The number of ZDD variables must be a multiple of the number of BDD variables. Let M be the ratio of the two numbers. cuddBddAlignToZdd then considers the ZDD variables from M*i to (M+1)*i-1 as corresponding to BDD variable i. This function should be normally called from Cudd_zddReduceHeap, which clears the cache. Returns 1 in case of success; 0 otherwise.] SideEffects [Changes the BDD variable order for all diagrams and performs garbage collection of the BDD unique table.] SeeAlso [Cudd_ShuffleHeap Cudd_zddReduceHeap] ******************************************************************************/ int cuddBddAlignToZdd( DdManager * table /* DD manager */) { int *invperm; /* permutation array */ int M; /* ratio of ZDD variables to BDD variables */ int i; /* loop index */ int result; /* return value */ /* We assume that a ratio of 0 is OK. */ if (table->size == 0) return(1); M = table->sizeZ / table->size; /* Check whether the number of ZDD variables is a multiple of the ** number of BDD variables. */ if (M * table->size != table->sizeZ) return(0); /* Create and initialize the inverse permutation array. */ invperm = ALLOC(int,table->size); if (invperm == NULL) { table->errorCode = CUDD_MEMORY_OUT; return(0); } for (i = 0; i < table->sizeZ; i += M) { int indexZ = table->invpermZ[i]; int index = indexZ / M; invperm[i / M] = index; } /* Eliminate dead nodes. Do not scan the cache again, because we ** assume that Cudd_zddReduceHeap has already cleared it. */ cuddGarbageCollect(table,0); /* Initialize number of isolated projection functions. */ table->isolated = 0; for (i = 0; i < table->size; i++) { if (table->vars[i]->ref == 1) table->isolated++; } /* Initialize the interaction matrix. */ result = cuddInitInteract(table); if (result == 0) return(0); result = ddShuffle(table, invperm); FREE(invperm); /* Free interaction matrix. */ FREE(table->interact); /* Fix the BDD variable group tree. */ bddFixTree(table,table->tree); return(result); } /* end of cuddBddAlignToZdd */ /*---------------------------------------------------------------------------*/ /* Definition of static functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Comparison function used by qsort.] Description [Comparison function used by qsort to order the variables according to the number of keys in the subtables. Returns the difference in number of keys between the two variables being compared.] SideEffects [None] ******************************************************************************/ static int ddUniqueCompare( int * ptrX, int * ptrY) { #if 0 if (entry[*ptrY] == entry[*ptrX]) { return((*ptrX) - (*ptrY)); } #endif return(entry[*ptrY] - entry[*ptrX]); } /* end of ddUniqueCompare */ /**Function******************************************************************** Synopsis [Swaps any two variables.] Description [Swaps any two variables. Returns the set of moves.] SideEffects [None] ******************************************************************************/ static Move * ddSwapAny( DdManager * table, int x, int y) { Move *move, *moves; int xRef,yRef; int xNext,yNext; int size; int limitSize; int tmp; if (x >y) { tmp = x; x = y; y = tmp; } xRef = x; yRef = y; xNext = cuddNextHigh(table,x); yNext = cuddNextLow(table,y); moves = NULL; limitSize = table->keys - table->isolated; for (;;) { if ( xNext == yNext) { size = cuddSwapInPlace(table,x,xNext); if (size == 0) goto ddSwapAnyOutOfMem; move = (Move *) cuddDynamicAllocNode(table); if (move == NULL) goto ddSwapAnyOutOfMem; move->x = x; move->y = xNext; move->size = size; move->next = moves; moves = move; size = cuddSwapInPlace(table,yNext,y); if (size == 0) goto ddSwapAnyOutOfMem; move = (Move *) cuddDynamicAllocNode(table); if (move == NULL) goto ddSwapAnyOutOfMem; move->x = yNext; move->y = y; move->size = size; move->next = moves; moves = move; size = cuddSwapInPlace(table,x,xNext); if (size == 0) goto ddSwapAnyOutOfMem; move = (Move *) cuddDynamicAllocNode(table); if (move == NULL) goto ddSwapAnyOutOfMem; move->x = x; move->y = xNext; move->size = size; move->next = moves; moves = move; tmp = x; x = y; y = tmp; } else if (x == yNext) { size = cuddSwapInPlace(table,x,xNext); if (size == 0) goto ddSwapAnyOutOfMem; move = (Move *) cuddDynamicAllocNode(table); if (move == NULL) goto ddSwapAnyOutOfMem; move->x = x; move->y = xNext; move->size = size; move->next = moves; moves = move; tmp = x; x = y; y = tmp; } else { size = cuddSwapInPlace(table,x,xNext); if (size == 0) goto ddSwapAnyOutOfMem; move = (Move *) cuddDynamicAllocNode(table); if (move == NULL) goto ddSwapAnyOutOfMem; move->x = x; move->y = xNext; move->size = size; move->next = moves; moves = move; size = cuddSwapInPlace(table,yNext,y); if (size == 0) goto ddSwapAnyOutOfMem; move = (Move *) cuddDynamicAllocNode(table); if (move == NULL) goto ddSwapAnyOutOfMem; move->x = yNext; move->y = y; move->size = size; move->next = moves; moves = move; x = xNext; y = yNext; } xNext = cuddNextHigh(table,x); yNext = cuddNextLow(table,y); if (xNext > yRef) break; if ((double) size > table->maxGrowth * (double) limitSize) break; if (size < limitSize) limitSize = size; } if (yNext>=xRef) { size = cuddSwapInPlace(table,yNext,y); if (size == 0) goto ddSwapAnyOutOfMem; move = (Move *) cuddDynamicAllocNode(table); if (move == NULL) goto ddSwapAnyOutOfMem; move->x = yNext; move->y = y; move->size = size; move->next = moves; moves = move; } return(moves); ddSwapAnyOutOfMem: while (moves != NULL) { move = moves->next; cuddDeallocMove(table, moves); moves = move; } return(NULL); } /* end of ddSwapAny */ /**Function******************************************************************** Synopsis [Given xLow <= x <= xHigh moves x up and down between the boundaries.] Description [Given xLow <= x <= xHigh moves x up and down between the boundaries. Finds the best position and does the required changes. Returns 1 if successful; 0 otherwise.] SideEffects [None] ******************************************************************************/ static int ddSiftingAux( DdManager * table, int x, int xLow, int xHigh) { Move *move; Move *moveUp; /* list of up moves */ Move *moveDown; /* list of down moves */ int initialSize; int result; initialSize = table->keys - table->isolated; moveDown = NULL; moveUp = NULL; if (x == xLow) { moveDown = ddSiftingDown(table,x,xHigh); /* At this point x --> xHigh unless bounding occurred. */ if (moveDown == (Move *) CUDD_OUT_OF_MEM) goto ddSiftingAuxOutOfMem; /* Move backward and stop at best position. */ result = ddSiftingBackward(table,initialSize,moveDown); if (!result) goto ddSiftingAuxOutOfMem; } else if (x == xHigh) { moveUp = ddSiftingUp(table,x,xLow); /* At this point x --> xLow unless bounding occurred. */ if (moveUp == (Move *) CUDD_OUT_OF_MEM) goto ddSiftingAuxOutOfMem; /* Move backward and stop at best position. */ result = ddSiftingBackward(table,initialSize,moveUp); if (!result) goto ddSiftingAuxOutOfMem; } else if ((x - xLow) > (xHigh - x)) { /* must go down first: shorter */ moveDown = ddSiftingDown(table,x,xHigh); /* At this point x --> xHigh unless bounding occurred. */ if (moveDown == (Move *) CUDD_OUT_OF_MEM) goto ddSiftingAuxOutOfMem; if (moveDown != NULL) { x = moveDown->y; } moveUp = ddSiftingUp(table,x,xLow); if (moveUp == (Move *) CUDD_OUT_OF_MEM) goto ddSiftingAuxOutOfMem; /* Move backward and stop at best position */ result = ddSiftingBackward(table,initialSize,moveUp); if (!result) goto ddSiftingAuxOutOfMem; } else { /* must go up first: shorter */ moveUp = ddSiftingUp(table,x,xLow); /* At this point x --> xLow unless bounding occurred. */ if (moveUp == (Move *) CUDD_OUT_OF_MEM) goto ddSiftingAuxOutOfMem; if (moveUp != NULL) { x = moveUp->x; } moveDown = ddSiftingDown(table,x,xHigh); if (moveDown == (Move *) CUDD_OUT_OF_MEM) goto ddSiftingAuxOutOfMem; /* Move backward and stop at best position. */ result = ddSiftingBackward(table,initialSize,moveDown); if (!result) goto ddSiftingAuxOutOfMem; } while (moveDown != NULL) { move = moveDown->next; cuddDeallocMove(table, moveDown); moveDown = move; } while (moveUp != NULL) { move = moveUp->next; cuddDeallocMove(table, moveUp); moveUp = move; } return(1); ddSiftingAuxOutOfMem: if (moveDown != (Move *) CUDD_OUT_OF_MEM) { while (moveDown != NULL) { move = moveDown->next; cuddDeallocMove(table, moveDown); moveDown = move; } } if (moveUp != (Move *) CUDD_OUT_OF_MEM) { while (moveUp != NULL) { move = moveUp->next; cuddDeallocMove(table, moveUp); moveUp = move; } } return(0); } /* end of ddSiftingAux */ /**Function******************************************************************** Synopsis [Sifts a variable up.] Description [Sifts a variable up. Moves y up until either it reaches the bound (xLow) or the size of the DD heap increases too much. Returns the set of moves in case of success; NULL if memory is full.] SideEffects [None] ******************************************************************************/ static Move * ddSiftingUp( DdManager * table, int y, int xLow) { Move *moves; Move *move; int x; int size; int limitSize; int xindex, yindex; int isolated; int L; /* lower bound on DD size */ #ifdef DD_DEBUG int checkL; int z; int zindex; #endif moves = NULL; yindex = table->invperm[y]; /* Initialize the lower bound. ** The part of the DD below y will not change. ** The part of the DD above y that does not interact with y will not ** change. The rest may vanish in the best case, except for ** the nodes at level xLow, which will not vanish, regardless. */ limitSize = L = table->keys - table->isolated; for (x = xLow + 1; x < y; x++) { xindex = table->invperm[x]; if (cuddTestInteract(table,xindex,yindex)) { isolated = table->vars[xindex]->ref == 1; L -= table->subtables[x].keys - isolated; } } isolated = table->vars[yindex]->ref == 1; L -= table->subtables[y].keys - isolated; x = cuddNextLow(table,y); while (x >= xLow && L <= limitSize) { xindex = table->invperm[x]; #ifdef DD_DEBUG checkL = table->keys - table->isolated; for (z = xLow + 1; z < y; z++) { zindex = table->invperm[z]; if (cuddTestInteract(table,zindex,yindex)) { isolated = table->vars[zindex]->ref == 1; checkL -= table->subtables[z].keys - isolated; } } isolated = table->vars[yindex]->ref == 1; checkL -= table->subtables[y].keys - isolated; assert(L == checkL); #endif size = cuddSwapInPlace(table,x,y); if (size == 0) goto ddSiftingUpOutOfMem; /* Update the lower bound. */ if (cuddTestInteract(table,xindex,yindex)) { isolated = table->vars[xindex]->ref == 1; L += table->subtables[y].keys - isolated; } move = (Move *) cuddDynamicAllocNode(table); if (move == NULL) goto ddSiftingUpOutOfMem; move->x = x; move->y = y; move->size = size; move->next = moves; moves = move; if ((double) size > (double) limitSize * table->maxGrowth) break; if (size < limitSize) limitSize = size; y = x; x = cuddNextLow(table,y); } return(moves); ddSiftingUpOutOfMem: while (moves != NULL) { move = moves->next; cuddDeallocMove(table, moves); moves = move; } return((Move *) CUDD_OUT_OF_MEM); } /* end of ddSiftingUp */ /**Function******************************************************************** Synopsis [Sifts a variable down.] Description [Sifts a variable down. Moves x down until either it reaches the bound (xHigh) or the size of the DD heap increases too much. Returns the set of moves in case of success; NULL if memory is full.] SideEffects [None] ******************************************************************************/ static Move * ddSiftingDown( DdManager * table, int x, int xHigh) { Move *moves; Move *move; int y; int size; int R; /* upper bound on node decrease */ int limitSize; int xindex, yindex; int isolated; #ifdef DD_DEBUG int checkR; int z; int zindex; #endif moves = NULL; /* Initialize R */ xindex = table->invperm[x]; limitSize = size = table->keys - table->isolated; R = 0; for (y = xHigh; y > x; y--) { yindex = table->invperm[y]; if (cuddTestInteract(table,xindex,yindex)) { isolated = table->vars[yindex]->ref == 1; R += table->subtables[y].keys - isolated; } } y = cuddNextHigh(table,x); while (y <= xHigh && size - R < limitSize) { #ifdef DD_DEBUG checkR = 0; for (z = xHigh; z > x; z--) { zindex = table->invperm[z]; if (cuddTestInteract(table,xindex,zindex)) { isolated = table->vars[zindex]->ref == 1; checkR += table->subtables[z].keys - isolated; } } assert(R == checkR); #endif /* Update upper bound on node decrease. */ yindex = table->invperm[y]; if (cuddTestInteract(table,xindex,yindex)) { isolated = table->vars[yindex]->ref == 1; R -= table->subtables[y].keys - isolated; } size = cuddSwapInPlace(table,x,y); if (size == 0) goto ddSiftingDownOutOfMem; move = (Move *) cuddDynamicAllocNode(table); if (move == NULL) goto ddSiftingDownOutOfMem; move->x = x; move->y = y; move->size = size; move->next = moves; moves = move; if ((double) size > (double) limitSize * table->maxGrowth) break; if (size < limitSize) limitSize = size; x = y; y = cuddNextHigh(table,x); } return(moves); ddSiftingDownOutOfMem: while (moves != NULL) { move = moves->next; cuddDeallocMove(table, moves); moves = move; } return((Move *) CUDD_OUT_OF_MEM); } /* end of ddSiftingDown */ /**Function******************************************************************** Synopsis [Given a set of moves, returns the DD heap to the position giving the minimum size.] Description [Given a set of moves, returns the DD heap to the position giving the minimum size. In case of ties, returns to the closest position giving the minimum size. Returns 1 in case of success; 0 otherwise.] SideEffects [None] ******************************************************************************/ static int ddSiftingBackward( DdManager * table, int size, Move * moves) { Move *move; int res; for (move = moves; move != NULL; move = move->next) { if (move->size < size) { size = move->size; } } for (move = moves; move != NULL; move = move->next) { if (move->size == size) return(1); res = cuddSwapInPlace(table,(int)move->x,(int)move->y); if (!res) return(0); } return(1); } /* end of ddSiftingBackward */ /**Function******************************************************************** Synopsis [Prepares the DD heap for dynamic reordering.] Description [Prepares the DD heap for dynamic reordering. Does garbage collection, to guarantee that there are no dead nodes; clears the cache, which is invalidated by dynamic reordering; initializes the number of isolated projection functions; and initializes the interaction matrix. Returns 1 in case of success; 0 otherwise.] SideEffects [None] ******************************************************************************/ static int ddReorderPreprocess( DdManager * table) { int i; int res; /* Clear the cache. */ cuddCacheFlush(table); cuddLocalCacheClearAll(table); /* Eliminate dead nodes. Do not scan the cache again. */ cuddGarbageCollect(table,0); /* Initialize number of isolated projection functions. */ table->isolated = 0; for (i = 0; i < table->size; i++) { if (table->vars[i]->ref == 1) table->isolated++; } /* Initialize the interaction matrix. */ res = cuddInitInteract(table); if (res == 0) return(0); return(1); } /* end of ddReorderPreprocess */ /**Function******************************************************************** Synopsis [Cleans up at the end of reordering.] Description [] SideEffects [None] ******************************************************************************/ static int ddReorderPostprocess( DdManager * table) { #ifdef DD_VERBOSE (void) fflush(table->out); #endif /* Free interaction matrix. */ FREE(table->interact); return(1); } /* end of ddReorderPostprocess */ /**Function******************************************************************** Synopsis [Reorders variables according to a given permutation.] Description [Reorders variables according to a given permutation. The i-th permutation array contains the index of the variable that should be brought to the i-th level. ddShuffle assumes that no dead nodes are present and that the interaction matrix is properly initialized. The reordering is achieved by a series of upward sifts. Returns 1 if successful; 0 otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ static int ddShuffle( DdManager * table, int * permutation) { int index; int level; int position; int numvars; int result; #ifdef DD_STATS unsigned long localTime; int initialSize; int finalSize; int previousSize; #endif ddTotalNumberSwapping = 0; #ifdef DD_STATS localTime = util_cpu_time(); initialSize = table->keys - table->isolated; (void) fprintf(table->out,"#:I_SHUFFLE %8d: initial size\n", initialSize); ddTotalNISwaps = 0; #endif numvars = table->size; for (level = 0; level < numvars; level++) { index = permutation[level]; position = table->perm[index]; #ifdef DD_STATS previousSize = table->keys - table->isolated; #endif result = ddSiftUp(table,position,level); if (!result) return(0); #ifdef DD_STATS if (table->keys < (unsigned) previousSize + table->isolated) { (void) fprintf(table->out,"-"); } else if (table->keys > (unsigned) previousSize + table->isolated) { (void) fprintf(table->out,"+"); /* should never happen */ } else { (void) fprintf(table->out,"="); } fflush(table->out); #endif } #ifdef DD_STATS (void) fprintf(table->out,"\n"); finalSize = table->keys - table->isolated; (void) fprintf(table->out,"#:F_SHUFFLE %8d: final size\n",finalSize); (void) fprintf(table->out,"#:T_SHUFFLE %8g: total time (sec)\n", ((double)(util_cpu_time() - localTime)/1000.0)); (void) fprintf(table->out,"#:N_SHUFFLE %8d: total swaps\n", ddTotalNumberSwapping); (void) fprintf(table->out,"#:M_SHUFFLE %8d: NI swaps\n",ddTotalNISwaps); #endif return(1); } /* end of ddShuffle */ /**Function******************************************************************** Synopsis [Moves one variable up.] Description [Takes a variable from position x and sifts it up to position xLow; xLow should be less than or equal to x. Returns 1 if successful; 0 otherwise] SideEffects [None] SeeAlso [] ******************************************************************************/ static int ddSiftUp( DdManager * table, int x, int xLow) { int y; int size; y = cuddNextLow(table,x); while (y >= xLow) { size = cuddSwapInPlace(table,y,x); if (size == 0) { return(0); } x = y; y = cuddNextLow(table,x); } return(1); } /* end of ddSiftUp */ /**Function******************************************************************** Synopsis [Fixes the BDD variable group tree after a shuffle.] Description [Fixes the BDD variable group tree after a shuffle. Assumes that the order of the variables in a terminal node has not been changed.] SideEffects [Changes the BDD variable group tree.] SeeAlso [] ******************************************************************************/ static void bddFixTree( DdManager * table, MtrNode * treenode) { if (treenode == NULL) return; treenode->low = ((int) treenode->index < table->size) ? table->perm[treenode->index] : treenode->index; if (treenode->child != NULL) { bddFixTree(table, treenode->child); } if (treenode->younger != NULL) bddFixTree(table, treenode->younger); if (treenode->parent != NULL && treenode->low < treenode->parent->low) { treenode->parent->low = treenode->low; treenode->parent->index = treenode->index; } return; } /* end of bddFixTree */ /**Function******************************************************************** Synopsis [Updates the BDD variable group tree before a shuffle.] Description [Updates the BDD variable group tree before a shuffle. Returns 1 if successful; 0 otherwise.] SideEffects [Changes the BDD variable group tree.] SeeAlso [] ******************************************************************************/ static int ddUpdateMtrTree( DdManager * table, MtrNode * treenode, int * perm, int * invperm) { unsigned int i, size; int index, level, minLevel, maxLevel, minIndex; if (treenode == NULL) return(1); minLevel = CUDD_MAXINDEX; maxLevel = 0; minIndex = -1; /* i : level */ for (i = treenode->low; i < treenode->low + treenode->size; i++) { index = table->invperm[i]; level = perm[index]; if (level < minLevel) { minLevel = level; minIndex = index; } if (level > maxLevel) maxLevel = level; } size = maxLevel - minLevel + 1; if (minIndex == -1) return(0); if (size == treenode->size) { treenode->low = minLevel; treenode->index = minIndex; } else { return(0); } if (treenode->child != NULL) { if (!ddUpdateMtrTree(table, treenode->child, perm, invperm)) return(0); } if (treenode->younger != NULL) { if (!ddUpdateMtrTree(table, treenode->younger, perm, invperm)) return(0); } return(1); } /**Function******************************************************************** Synopsis [Checks the BDD variable group tree before a shuffle.] Description [Checks the BDD variable group tree before a shuffle. Returns 1 if successful; 0 otherwise.] SideEffects [Changes the BDD variable group tree.] SeeAlso [] ******************************************************************************/ static int ddCheckPermuation( DdManager * table, MtrNode * treenode, int * perm, int * invperm) { unsigned int i, size; int index, level, minLevel, maxLevel; if (treenode == NULL) return(1); minLevel = table->size; maxLevel = 0; /* i : level */ for (i = treenode->low; i < treenode->low + treenode->size; i++) { index = table->invperm[i]; level = perm[index]; if (level < minLevel) minLevel = level; if (level > maxLevel) maxLevel = level; } size = maxLevel - minLevel + 1; if (size != treenode->size) return(0); if (treenode->child != NULL) { if (!ddCheckPermuation(table, treenode->child, perm, invperm)) return(0); } if (treenode->younger != NULL) { if (!ddCheckPermuation(table, treenode->younger, perm, invperm)) return(0); } return(1); } BRiAl-1.2.12/cudd/cuddSat.c000066400000000000000000001414171436062512100152100ustar00rootroot00000000000000/**CFile*********************************************************************** FileName [cuddSat.c] PackageName [cudd] Synopsis [Functions for the solution of satisfiability related problems.] Description [External procedures included in this file:
      • Cudd_Eval()
      • Cudd_ShortestPath()
      • Cudd_LargestCube()
      • Cudd_ShortestLength()
      • Cudd_Decreasing()
      • Cudd_Increasing()
      • Cudd_EquivDC()
      • Cudd_bddLeqUnless()
      • Cudd_EqualSupNorm()
      • Cudd_bddMakePrime()
      • Cudd_bddMaximallyExpand()
      • Cudd_bddLargestPrimeUnate()
      Internal procedures included in this module:
      • cuddBddMakePrime()
      Static procedures included in this module:
      • freePathPair()
      • getShortest()
      • getPath()
      • getLargest()
      • getCube()
      • ddBddMaximallyExpand()
      • ddShortestPathUnate()
      ] Author [Seh-Woong Jeong, Fabio Somenzi] Copyright [Copyright (c) 1995-2012, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.] ******************************************************************************/ #include "util.h" #include "cuddInt.h" /*---------------------------------------------------------------------------*/ /* Constant declarations */ /*---------------------------------------------------------------------------*/ #define DD_BIGGY 100000000 /*---------------------------------------------------------------------------*/ /* Stucture declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Type declarations */ /*---------------------------------------------------------------------------*/ typedef struct cuddPathPair { int pos; int neg; } cuddPathPair; /*---------------------------------------------------------------------------*/ /* Variable declarations */ /*---------------------------------------------------------------------------*/ #ifndef lint static char rcsid[] DD_UNUSED = "$Id: cuddSat.c,v 1.39 2012/02/05 01:07:19 fabio Exp $"; #endif static DdNode *one, *zero; /*---------------------------------------------------------------------------*/ /* Macro declarations */ /*---------------------------------------------------------------------------*/ #define WEIGHT(weight, col) ((weight) == NULL ? 1 : weight[col]) #ifdef __cplusplus extern "C" { #endif /**AutomaticStart*************************************************************/ /*---------------------------------------------------------------------------*/ /* Static function prototypes */ /*---------------------------------------------------------------------------*/ static enum st_retval freePathPair (char *key, char *value, char *arg); static cuddPathPair getShortest (DdNode *root, int *cost, int *support, st_table *visited); static DdNode * getPath (DdManager *manager, st_table *visited, DdNode *f, int *weight, int cost); static cuddPathPair getLargest (DdNode *root, st_table *visited); static DdNode * getCube (DdManager *manager, st_table *visited, DdNode *f, int cost); static DdNode * ddBddMaximallyExpand(DdManager *dd, DdNode *lb, DdNode *ub, DdNode *f); static int ddBddShortestPathUnate(DdManager *dd, DdNode *f, int *phases, st_table *table); static DdNode * ddGetLargestCubeUnate(DdManager *dd, DdNode *f, int *phases, st_table *table); /**AutomaticEnd***************************************************************/ #ifdef __cplusplus } #endif /*---------------------------------------------------------------------------*/ /* Definition of exported functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Returns the value of a DD for a given variable assignment.] Description [Finds the value of a DD for a given variable assignment. The variable assignment is passed in an array of int's, that should specify a zero or a one for each variable in the support of the function. Returns a pointer to a constant node. No new nodes are produced.] SideEffects [None] SeeAlso [Cudd_bddLeq Cudd_addEvalConst] ******************************************************************************/ DdNode * Cudd_Eval( DdManager * dd, DdNode * f, int * inputs) { int comple; DdNode *ptr; comple = Cudd_IsComplement(f); ptr = Cudd_Regular(f); while (!cuddIsConstant(ptr)) { if (inputs[ptr->index] == 1) { ptr = cuddT(ptr); } else { comple ^= Cudd_IsComplement(cuddE(ptr)); ptr = Cudd_Regular(cuddE(ptr)); } } return(Cudd_NotCond(ptr,comple)); } /* end of Cudd_Eval */ /**Function******************************************************************** Synopsis [Finds a shortest path in a DD.] Description [Finds a shortest path in a DD. f is the DD we want to get the shortest path for; weight\[i\] is the weight of the THEN arc coming from the node whose index is i. If weight is NULL, then unit weights are assumed for all THEN arcs. All ELSE arcs have 0 weight. If non-NULL, both weight and support should point to arrays with at least as many entries as there are variables in the manager. Returns the shortest path as the BDD of a cube.] SideEffects [support contains on return the true support of f. If support is NULL on entry, then Cudd_ShortestPath does not compute the true support info. length contains the length of the path.] SeeAlso [Cudd_ShortestLength Cudd_LargestCube] ******************************************************************************/ DdNode * Cudd_ShortestPath( DdManager * manager, DdNode * f, int * weight, int * support, int * length) { DdNode *F; st_table *visited; DdNode *sol; cuddPathPair *rootPair; int complement, cost; int i; one = DD_ONE(manager); zero = DD_ZERO(manager); /* Initialize support. Support does not depend on variable order. ** Hence, it does not need to be reinitialized if reordering occurs. */ if (support) { for (i = 0; i < manager->size; i++) { support[i] = 0; } } if (f == Cudd_Not(one) || f == zero) { *length = DD_BIGGY; return(Cudd_Not(one)); } /* From this point on, a path exists. */ do { manager->reordered = 0; /* Initialize visited table. */ visited = st_init_table(st_ptrcmp, st_ptrhash); /* Now get the length of the shortest path(s) from f to 1. */ (void) getShortest(f, weight, support, visited); complement = Cudd_IsComplement(f); F = Cudd_Regular(f); if (!st_lookup(visited, F, &rootPair)) return(NULL); if (complement) { cost = rootPair->neg; } else { cost = rootPair->pos; } /* Recover an actual shortest path. */ sol = getPath(manager,visited,f,weight,cost); st_foreach(visited, freePathPair, NULL); st_free_table(visited); } while (manager->reordered == 1); *length = cost; return(sol); } /* end of Cudd_ShortestPath */ /**Function******************************************************************** Synopsis [Finds a largest cube in a DD.] Description [Finds a largest cube in a DD. f is the DD we want to get the largest cube for. The problem is translated into the one of finding a shortest path in f, when both THEN and ELSE arcs are assumed to have unit length. This yields a largest cube in the disjoint cover corresponding to the DD. Therefore, it is not necessarily the largest implicant of f. Returns the largest cube as a BDD.] SideEffects [The number of literals of the cube is returned in the location pointed by length if it is non-null.] SeeAlso [Cudd_ShortestPath] ******************************************************************************/ DdNode * Cudd_LargestCube( DdManager * manager, DdNode * f, int * length) { register DdNode *F; st_table *visited; DdNode *sol; cuddPathPair *rootPair; int complement, cost; one = DD_ONE(manager); zero = DD_ZERO(manager); if (f == Cudd_Not(one) || f == zero) { if (length != NULL) { *length = DD_BIGGY; } return(Cudd_Not(one)); } /* From this point on, a path exists. */ do { manager->reordered = 0; /* Initialize visited table. */ visited = st_init_table(st_ptrcmp, st_ptrhash); /* Now get the length of the shortest path(s) from f to 1. */ (void) getLargest(f, visited); complement = Cudd_IsComplement(f); F = Cudd_Regular(f); if (!st_lookup(visited, F, &rootPair)) return(NULL); if (complement) { cost = rootPair->neg; } else { cost = rootPair->pos; } /* Recover an actual shortest path. */ sol = getCube(manager,visited,f,cost); st_foreach(visited, freePathPair, NULL); st_free_table(visited); } while (manager->reordered == 1); if (length != NULL) { *length = cost; } return(sol); } /* end of Cudd_LargestCube */ /**Function******************************************************************** Synopsis [Find the length of the shortest path(s) in a DD.] Description [Find the length of the shortest path(s) in a DD. f is the DD we want to get the shortest path for; weight\[i\] is the weight of the THEN edge coming from the node whose index is i. All ELSE edges have 0 weight. Returns the length of the shortest path(s) if such a path is found; a large number if the function is identically 0, and CUDD_OUT_OF_MEM in case of failure.] SideEffects [None] SeeAlso [Cudd_ShortestPath] ******************************************************************************/ int Cudd_ShortestLength( DdManager * manager, DdNode * f, int * weight) { register DdNode *F; st_table *visited; cuddPathPair *my_pair; int complement, cost; one = DD_ONE(manager); zero = DD_ZERO(manager); if (f == Cudd_Not(one) || f == zero) { return(DD_BIGGY); } /* From this point on, a path exists. */ /* Initialize visited table and support. */ visited = st_init_table(st_ptrcmp, st_ptrhash); /* Now get the length of the shortest path(s) from f to 1. */ (void) getShortest(f, weight, NULL, visited); complement = Cudd_IsComplement(f); F = Cudd_Regular(f); if (!st_lookup(visited, F, &my_pair)) return(CUDD_OUT_OF_MEM); if (complement) { cost = my_pair->neg; } else { cost = my_pair->pos; } st_foreach(visited, freePathPair, NULL); st_free_table(visited); return(cost); } /* end of Cudd_ShortestLength */ /**Function******************************************************************** Synopsis [Determines whether a BDD is negative unate in a variable.] Description [Determines whether the function represented by BDD f is negative unate (monotonic decreasing) in variable i. Returns the constant one is f is unate and the (logical) constant zero if it is not. This function does not generate any new nodes.] SideEffects [None] SeeAlso [Cudd_Increasing] ******************************************************************************/ DdNode * Cudd_Decreasing( DdManager * dd, DdNode * f, int i) { unsigned int topf, level; DdNode *F, *fv, *fvn, *res; DD_CTFP cacheOp; statLine(dd); #ifdef DD_DEBUG assert(0 <= i && i < dd->size); #endif F = Cudd_Regular(f); topf = cuddI(dd,F->index); /* Check terminal case. If topf > i, f does not depend on var. ** Therefore, f is unate in i. */ level = (unsigned) dd->perm[i]; if (topf > level) { return(DD_ONE(dd)); } /* From now on, f is not constant. */ /* Check cache. */ cacheOp = (DD_CTFP) Cudd_Decreasing; res = cuddCacheLookup2(dd,cacheOp,f,dd->vars[i]); if (res != NULL) { return(res); } /* Compute cofactors. */ fv = cuddT(F); fvn = cuddE(F); if (F != f) { fv = Cudd_Not(fv); fvn = Cudd_Not(fvn); } if (topf == (unsigned) level) { /* Special case: if fv is regular, fv(1,...,1) = 1; ** If in addition fvn is complemented, fvn(1,...,1) = 0. ** But then f(1,1,...,1) > f(0,1,...,1). Hence f is not ** monotonic decreasing in i. */ if (!Cudd_IsComplement(fv) && Cudd_IsComplement(fvn)) { return(Cudd_Not(DD_ONE(dd))); } res = Cudd_bddLeq(dd,fv,fvn) ? DD_ONE(dd) : Cudd_Not(DD_ONE(dd)); } else { res = Cudd_Decreasing(dd,fv,i); if (res == DD_ONE(dd)) { res = Cudd_Decreasing(dd,fvn,i); } } cuddCacheInsert2(dd,cacheOp,f,dd->vars[i],res); return(res); } /* end of Cudd_Decreasing */ /**Function******************************************************************** Synopsis [Determines whether a BDD is positive unate in a variable.] Description [Determines whether the function represented by BDD f is positive unate (monotonic increasing) in variable i. It is based on Cudd_Decreasing and the fact that f is monotonic increasing in i if and only if its complement is monotonic decreasing in i.] SideEffects [None] SeeAlso [Cudd_Decreasing] ******************************************************************************/ DdNode * Cudd_Increasing( DdManager * dd, DdNode * f, int i) { return(Cudd_Decreasing(dd,Cudd_Not(f),i)); } /* end of Cudd_Increasing */ /**Function******************************************************************** Synopsis [Tells whether F and G are identical wherever D is 0.] Description [Tells whether F and G are identical wherever D is 0. F and G are either two ADDs or two BDDs. D is either a 0-1 ADD or a BDD. The function returns 1 if F and G are equivalent, and 0 otherwise. No new nodes are created.] SideEffects [None] SeeAlso [Cudd_bddLeqUnless] ******************************************************************************/ int Cudd_EquivDC( DdManager * dd, DdNode * F, DdNode * G, DdNode * D) { DdNode *tmp, *One, *Gr, *Dr; DdNode *Fv, *Fvn, *Gv, *Gvn, *Dv, *Dvn; int res; unsigned int flevel, glevel, dlevel, top; One = DD_ONE(dd); statLine(dd); /* Check terminal cases. */ if (D == One || F == G) return(1); if (D == Cudd_Not(One) || D == DD_ZERO(dd) || F == Cudd_Not(G)) return(0); /* From now on, D is non-constant. */ /* Normalize call to increase cache efficiency. */ if (F > G) { tmp = F; F = G; G = tmp; } if (Cudd_IsComplement(F)) { F = Cudd_Not(F); G = Cudd_Not(G); } /* From now on, F is regular. */ /* Check cache. */ tmp = cuddCacheLookup(dd,DD_EQUIV_DC_TAG,F,G,D); if (tmp != NULL) return(tmp == One); /* Find splitting variable. */ flevel = cuddI(dd,F->index); Gr = Cudd_Regular(G); glevel = cuddI(dd,Gr->index); top = ddMin(flevel,glevel); Dr = Cudd_Regular(D); dlevel = dd->perm[Dr->index]; top = ddMin(top,dlevel); /* Compute cofactors. */ if (top == flevel) { Fv = cuddT(F); Fvn = cuddE(F); } else { Fv = Fvn = F; } if (top == glevel) { Gv = cuddT(Gr); Gvn = cuddE(Gr); if (G != Gr) { Gv = Cudd_Not(Gv); Gvn = Cudd_Not(Gvn); } } else { Gv = Gvn = G; } if (top == dlevel) { Dv = cuddT(Dr); Dvn = cuddE(Dr); if (D != Dr) { Dv = Cudd_Not(Dv); Dvn = Cudd_Not(Dvn); } } else { Dv = Dvn = D; } /* Solve recursively. */ res = Cudd_EquivDC(dd,Fv,Gv,Dv); if (res != 0) { res = Cudd_EquivDC(dd,Fvn,Gvn,Dvn); } cuddCacheInsert(dd,DD_EQUIV_DC_TAG,F,G,D,(res) ? One : Cudd_Not(One)); return(res); } /* end of Cudd_EquivDC */ /**Function******************************************************************** Synopsis [Tells whether f is less than of equal to G unless D is 1.] Description [Tells whether f is less than of equal to G unless D is 1. f, g, and D are BDDs. The function returns 1 if f is less than of equal to G, and 0 otherwise. No new nodes are created.] SideEffects [None] SeeAlso [Cudd_EquivDC Cudd_bddLeq Cudd_bddIteConstant] ******************************************************************************/ int Cudd_bddLeqUnless( DdManager *dd, DdNode *f, DdNode *g, DdNode *D) { DdNode *tmp, *One, *F, *G; DdNode *Ft, *Fe, *Gt, *Ge, *Dt, *De; int res; unsigned int flevel, glevel, dlevel, top; statLine(dd); One = DD_ONE(dd); /* Check terminal cases. */ if (f == g || g == One || f == Cudd_Not(One) || D == One || D == f || D == Cudd_Not(g)) return(1); /* Check for two-operand cases. */ if (D == Cudd_Not(One) || D == g || D == Cudd_Not(f)) return(Cudd_bddLeq(dd,f,g)); if (g == Cudd_Not(One) || g == Cudd_Not(f)) return(Cudd_bddLeq(dd,f,D)); if (f == One) return(Cudd_bddLeq(dd,Cudd_Not(g),D)); /* From now on, f, g, and D are non-constant, distinct, and ** non-complementary. */ /* Normalize call to increase cache efficiency. We rely on the ** fact that f <= g unless D is equivalent to not(g) <= not(f) ** unless D and to f <= D unless g. We make sure that D is ** regular, and that at most one of f and g is complemented. We also ** ensure that when two operands can be swapped, the one with the ** lowest address comes first. */ if (Cudd_IsComplement(D)) { if (Cudd_IsComplement(g)) { /* Special case: if f is regular and g is complemented, ** f(1,...,1) = 1 > 0 = g(1,...,1). If D(1,...,1) = 0, return 0. */ if (!Cudd_IsComplement(f)) return(0); /* !g <= D unless !f or !D <= g unless !f */ tmp = D; D = Cudd_Not(f); if (g < tmp) { f = Cudd_Not(g); g = tmp; } else { f = Cudd_Not(tmp); } } else { if (Cudd_IsComplement(f)) { /* !D <= !f unless g or !D <= g unless !f */ tmp = f; f = Cudd_Not(D); if (tmp < g) { D = g; g = Cudd_Not(tmp); } else { D = Cudd_Not(tmp); } } else { /* f <= D unless g or !D <= !f unless g */ tmp = D; D = g; if (tmp < f) { g = Cudd_Not(f); f = Cudd_Not(tmp); } else { g = tmp; } } } } else { if (Cudd_IsComplement(g)) { if (Cudd_IsComplement(f)) { /* !g <= !f unless D or !g <= D unless !f */ tmp = f; f = Cudd_Not(g); if (D < tmp) { g = D; D = Cudd_Not(tmp); } else { g = Cudd_Not(tmp); } } else { /* f <= g unless D or !g <= !f unless D */ if (g < f) { tmp = g; g = Cudd_Not(f); f = Cudd_Not(tmp); } } } else { /* f <= g unless D or f <= D unless g */ if (D < g) { tmp = D; D = g; g = tmp; } } } /* From now on, D is regular. */ /* Check cache. */ tmp = cuddCacheLookup(dd,DD_BDD_LEQ_UNLESS_TAG,f,g,D); if (tmp != NULL) return(tmp == One); /* Find splitting variable. */ F = Cudd_Regular(f); flevel = dd->perm[F->index]; G = Cudd_Regular(g); glevel = dd->perm[G->index]; top = ddMin(flevel,glevel); dlevel = dd->perm[D->index]; top = ddMin(top,dlevel); /* Compute cofactors. */ if (top == flevel) { Ft = cuddT(F); Fe = cuddE(F); if (F != f) { Ft = Cudd_Not(Ft); Fe = Cudd_Not(Fe); } } else { Ft = Fe = f; } if (top == glevel) { Gt = cuddT(G); Ge = cuddE(G); if (G != g) { Gt = Cudd_Not(Gt); Ge = Cudd_Not(Ge); } } else { Gt = Ge = g; } if (top == dlevel) { Dt = cuddT(D); De = cuddE(D); } else { Dt = De = D; } /* Solve recursively. */ res = Cudd_bddLeqUnless(dd,Ft,Gt,Dt); if (res != 0) { res = Cudd_bddLeqUnless(dd,Fe,Ge,De); } cuddCacheInsert(dd,DD_BDD_LEQ_UNLESS_TAG,f,g,D,Cudd_NotCond(One,!res)); return(res); } /* end of Cudd_bddLeqUnless */ /**Function******************************************************************** Synopsis [Compares two ADDs for equality within tolerance.] Description [Compares two ADDs for equality within tolerance. Two ADDs are reported to be equal if the maximum difference between them (the sup norm of their difference) is less than or equal to the tolerance parameter. Returns 1 if the two ADDs are equal (within tolerance); 0 otherwise. If parameter pr is positive the first failure is reported to the standard output.] SideEffects [None] SeeAlso [] ******************************************************************************/ int Cudd_EqualSupNorm( DdManager * dd /* manager */, DdNode * f /* first ADD */, DdNode * g /* second ADD */, CUDD_VALUE_TYPE tolerance /* maximum allowed difference */, int pr /* verbosity level */) { DdNode *fv, *fvn, *gv, *gvn, *r; unsigned int topf, topg; statLine(dd); /* Check terminal cases. */ if (f == g) return(1); if (Cudd_IsConstant(f) && Cudd_IsConstant(g)) { if (ddEqualVal(cuddV(f),cuddV(g),tolerance)) { return(1); } else { if (pr>0) { (void) fprintf(dd->out,"Offending nodes:\n"); (void) fprintf(dd->out, "f: address = %p\t value = %40.30f\n", (void *) f, cuddV(f)); (void) fprintf(dd->out, "g: address = %p\t value = %40.30f\n", (void *) g, cuddV(g)); } return(0); } } /* We only insert the result in the cache if the comparison is ** successful. Therefore, if we hit we return 1. */ r = cuddCacheLookup2(dd,(DD_CTFP)Cudd_EqualSupNorm,f,g); if (r != NULL) { return(1); } /* Compute the cofactors and solve the recursive subproblems. */ topf = cuddI(dd,f->index); topg = cuddI(dd,g->index); if (topf <= topg) {fv = cuddT(f); fvn = cuddE(f);} else {fv = fvn = f;} if (topg <= topf) {gv = cuddT(g); gvn = cuddE(g);} else {gv = gvn = g;} if (!Cudd_EqualSupNorm(dd,fv,gv,tolerance,pr)) return(0); if (!Cudd_EqualSupNorm(dd,fvn,gvn,tolerance,pr)) return(0); cuddCacheInsert2(dd,(DD_CTFP)Cudd_EqualSupNorm,f,g,DD_ONE(dd)); return(1); } /* end of Cudd_EqualSupNorm */ /**Function******************************************************************** Synopsis [Expands cube to a prime implicant of f.] Description [Expands cube to a prime implicant of f. Returns the prime if successful; NULL otherwise. In particular, NULL is returned if cube is not a real cube or is not an implicant of f.] SideEffects [None] SeeAlso [Cudd_bddMaximallyExpand] ******************************************************************************/ DdNode * Cudd_bddMakePrime( DdManager *dd /* manager */, DdNode *cube /* cube to be expanded */, DdNode *f /* function of which the cube is to be made a prime */) { DdNode *res; if (!Cudd_bddLeq(dd,cube,f)) return(NULL); do { dd->reordered = 0; res = cuddBddMakePrime(dd,cube,f); } while (dd->reordered == 1); return(res); } /* end of Cudd_bddMakePrime */ /**Function******************************************************************** Synopsis [Expands lb to prime implicants of (f and ub).] Description [Expands lb to all prime implicants of (f and ub) that contain lb. Assumes that lb is contained in ub. Returns the disjunction of the primes if lb is contained in f; returns the zero BDD if lb is not contained in f; returns NULL in case of failure. In particular, NULL is returned if cube is not a real cube or is not an implicant of f. Returning the disjunction of all prime implicants works because the resulting function is unate.] SideEffects [None] SeeAlso [Cudd_bddMakePrime] ******************************************************************************/ DdNode * Cudd_bddMaximallyExpand( DdManager *dd /* manager */, DdNode *lb /* cube to be expanded */, DdNode *ub /* upper bound cube */, DdNode *f /* function against which to expand */) { DdNode *res; if (!Cudd_bddLeq(dd,lb,ub)) return(NULL); do { dd->reordered = 0; res = ddBddMaximallyExpand(dd,lb,ub,f); } while (dd->reordered == 1); return(res); } /* end of Cudd_bddMaximallyExpand */ /**Function******************************************************************** Synopsis [Find a largest prime of a unate function.] Description [Find a largest prime implicant of a unate function. Returns the BDD for the prime if succesful; NULL otherwise. The behavior is undefined if f is not unate. The third argument is used to determine whether f is unate positive (increasing) or negative (decreasing) in each of the variables in its support.] SideEffects [None] SeeAlso [Cudd_bddMaximallyExpand] ******************************************************************************/ DdNode * Cudd_bddLargestPrimeUnate( DdManager *dd /* manager */, DdNode *f /* unate function */, DdNode *phaseBdd /* cube of the phases */) { DdNode *res; int *phases; int retval; st_table *table; /* Extract phase vector for quick access. */ phases = ALLOC(int, dd->size); if (phases == NULL) return(NULL); retval = Cudd_BddToCubeArray(dd, phaseBdd, phases); if (retval == 0) { FREE(phases); return(NULL); } do { dd->reordered = 0; table = st_init_table(st_ptrcmp,st_ptrhash); if (table == NULL) { FREE(phases); return(NULL); } (void) ddBddShortestPathUnate(dd, f, phases, table); res = ddGetLargestCubeUnate(dd, f, phases, table); st_free_table(table); } while (dd->reordered == 1); FREE(phases); return(res); } /* end of Cudd_bddLargestPrimeUnate */ /*---------------------------------------------------------------------------*/ /* Definition of internal functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_bddMakePrime.] Description [Performs the recursive step of Cudd_bddMakePrime. Returns the prime if successful; NULL otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ DdNode * cuddBddMakePrime( DdManager *dd /* manager */, DdNode *cube /* cube to be expanded */, DdNode *f /* function of which the cube is to be made a prime */) { DdNode *scan; DdNode *t, *e; DdNode *res = cube; DdNode *zero = Cudd_Not(DD_ONE(dd)); Cudd_Ref(res); scan = cube; while (!Cudd_IsConstant(scan)) { DdNode *reg = Cudd_Regular(scan); DdNode *var = dd->vars[reg->index]; DdNode *expanded = Cudd_bddExistAbstract(dd,res,var); if (expanded == NULL) { Cudd_RecursiveDeref(dd,res); return(NULL); } Cudd_Ref(expanded); if (Cudd_bddLeq(dd,expanded,f)) { Cudd_RecursiveDeref(dd,res); res = expanded; } else { Cudd_RecursiveDeref(dd,expanded); } cuddGetBranches(scan,&t,&e); if (t == zero) { scan = e; } else if (e == zero) { scan = t; } else { Cudd_RecursiveDeref(dd,res); return(NULL); /* cube is not a cube */ } } if (scan == DD_ONE(dd)) { Cudd_Deref(res); return(res); } else { Cudd_RecursiveDeref(dd,res); return(NULL); } } /* end of cuddBddMakePrime */ /*---------------------------------------------------------------------------*/ /* Definition of static functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Frees the entries of the visited symbol table.] Description [Frees the entries of the visited symbol table. Returns ST_CONTINUE.] SideEffects [None] ******************************************************************************/ static enum st_retval freePathPair( char * key, char * value, char * arg) { cuddPathPair *pair; pair = (cuddPathPair *) value; FREE(pair); return(ST_CONTINUE); } /* end of freePathPair */ /**Function******************************************************************** Synopsis [Finds the length of the shortest path(s) in a DD.] Description [Finds the length of the shortest path(s) in a DD. Uses a local symbol table to store the lengths for each node. Only the lengths for the regular nodes are entered in the table, because those for the complement nodes are simply obtained by swapping the two lenghts. Returns a pair of lengths: the length of the shortest path to 1; and the length of the shortest path to 0. This is done so as to take complement arcs into account.] SideEffects [Accumulates the support of the DD in support.] SeeAlso [] ******************************************************************************/ static cuddPathPair getShortest( DdNode * root, int * cost, int * support, st_table * visited) { cuddPathPair *my_pair, res_pair, pair_T, pair_E; DdNode *my_root, *T, *E; int weight; my_root = Cudd_Regular(root); if (st_lookup(visited, my_root, &my_pair)) { if (Cudd_IsComplement(root)) { res_pair.pos = my_pair->neg; res_pair.neg = my_pair->pos; } else { res_pair.pos = my_pair->pos; res_pair.neg = my_pair->neg; } return(res_pair); } /* In the case of a BDD the following test is equivalent to ** testing whether the BDD is the constant 1. This formulation, ** however, works for ADDs as well, by assuming the usual ** dichotomy of 0 and != 0. */ if (cuddIsConstant(my_root)) { if (my_root != zero) { res_pair.pos = 0; res_pair.neg = DD_BIGGY; } else { res_pair.pos = DD_BIGGY; res_pair.neg = 0; } } else { T = cuddT(my_root); E = cuddE(my_root); pair_T = getShortest(T, cost, support, visited); pair_E = getShortest(E, cost, support, visited); weight = WEIGHT(cost, my_root->index); res_pair.pos = ddMin(pair_T.pos+weight, pair_E.pos); res_pair.neg = ddMin(pair_T.neg+weight, pair_E.neg); /* Update support. */ if (support != NULL) { support[my_root->index] = 1; } } my_pair = ALLOC(cuddPathPair, 1); if (my_pair == NULL) { if (Cudd_IsComplement(root)) { int tmp = res_pair.pos; res_pair.pos = res_pair.neg; res_pair.neg = tmp; } return(res_pair); } my_pair->pos = res_pair.pos; my_pair->neg = res_pair.neg; st_insert(visited, (char *)my_root, (char *)my_pair); if (Cudd_IsComplement(root)) { res_pair.pos = my_pair->neg; res_pair.neg = my_pair->pos; } else { res_pair.pos = my_pair->pos; res_pair.neg = my_pair->neg; } return(res_pair); } /* end of getShortest */ /**Function******************************************************************** Synopsis [Build a BDD for a shortest path of f.] Description [Build a BDD for a shortest path of f. Given the minimum length from the root, and the minimum lengths for each node (in visited), apply triangulation at each node. Of the two children of each node on a shortest path, at least one is on a shortest path. In case of ties the procedure chooses the THEN children. Returns a pointer to the cube BDD representing the path if successful; NULL otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ static DdNode * getPath( DdManager * manager, st_table * visited, DdNode * f, int * weight, int cost) { DdNode *sol, *tmp; DdNode *my_dd, *T, *E; cuddPathPair *T_pair, *E_pair; int Tcost, Ecost; int complement; my_dd = Cudd_Regular(f); complement = Cudd_IsComplement(f); sol = one; cuddRef(sol); while (!cuddIsConstant(my_dd)) { Tcost = cost - WEIGHT(weight, my_dd->index); Ecost = cost; T = cuddT(my_dd); E = cuddE(my_dd); if (complement) {T = Cudd_Not(T); E = Cudd_Not(E);} st_lookup(visited, Cudd_Regular(T), &T_pair); if ((Cudd_IsComplement(T) && T_pair->neg == Tcost) || (!Cudd_IsComplement(T) && T_pair->pos == Tcost)) { tmp = cuddBddAndRecur(manager,manager->vars[my_dd->index],sol); if (tmp == NULL) { Cudd_RecursiveDeref(manager,sol); return(NULL); } cuddRef(tmp); Cudd_RecursiveDeref(manager,sol); sol = tmp; complement = Cudd_IsComplement(T); my_dd = Cudd_Regular(T); cost = Tcost; continue; } st_lookup(visited, Cudd_Regular(E), &E_pair); if ((Cudd_IsComplement(E) && E_pair->neg == Ecost) || (!Cudd_IsComplement(E) && E_pair->pos == Ecost)) { tmp = cuddBddAndRecur(manager,Cudd_Not(manager->vars[my_dd->index]),sol); if (tmp == NULL) { Cudd_RecursiveDeref(manager,sol); return(NULL); } cuddRef(tmp); Cudd_RecursiveDeref(manager,sol); sol = tmp; complement = Cudd_IsComplement(E); my_dd = Cudd_Regular(E); cost = Ecost; continue; } (void) fprintf(manager->err,"We shouldn't be here!!\n"); manager->errorCode = CUDD_INTERNAL_ERROR; return(NULL); } cuddDeref(sol); return(sol); } /* end of getPath */ /**Function******************************************************************** Synopsis [Finds the size of the largest cube(s) in a DD.] Description [Finds the size of the largest cube(s) in a DD. This problem is translated into finding the shortest paths from a node when both THEN and ELSE arcs have unit lengths. Uses a local symbol table to store the lengths for each node. Only the lengths for the regular nodes are entered in the table, because those for the complement nodes are simply obtained by swapping the two lenghts. Returns a pair of lengths: the length of the shortest path to 1; and the length of the shortest path to 0. This is done so as to take complement arcs into account.] SideEffects [none] SeeAlso [] ******************************************************************************/ static cuddPathPair getLargest( DdNode * root, st_table * visited) { cuddPathPair *my_pair, res_pair, pair_T, pair_E; DdNode *my_root, *T, *E; my_root = Cudd_Regular(root); if (st_lookup(visited, my_root, &my_pair)) { if (Cudd_IsComplement(root)) { res_pair.pos = my_pair->neg; res_pair.neg = my_pair->pos; } else { res_pair.pos = my_pair->pos; res_pair.neg = my_pair->neg; } return(res_pair); } /* In the case of a BDD the following test is equivalent to ** testing whether the BDD is the constant 1. This formulation, ** however, works for ADDs as well, by assuming the usual ** dichotomy of 0 and != 0. */ if (cuddIsConstant(my_root)) { if (my_root != zero) { res_pair.pos = 0; res_pair.neg = DD_BIGGY; } else { res_pair.pos = DD_BIGGY; res_pair.neg = 0; } } else { T = cuddT(my_root); E = cuddE(my_root); pair_T = getLargest(T, visited); pair_E = getLargest(E, visited); res_pair.pos = ddMin(pair_T.pos, pair_E.pos) + 1; res_pair.neg = ddMin(pair_T.neg, pair_E.neg) + 1; } my_pair = ALLOC(cuddPathPair, 1); if (my_pair == NULL) { /* simply do not cache this result */ if (Cudd_IsComplement(root)) { int tmp = res_pair.pos; res_pair.pos = res_pair.neg; res_pair.neg = tmp; } return(res_pair); } my_pair->pos = res_pair.pos; my_pair->neg = res_pair.neg; /* Caching may fail without affecting correctness. */ st_insert(visited, (char *)my_root, (char *)my_pair); if (Cudd_IsComplement(root)) { res_pair.pos = my_pair->neg; res_pair.neg = my_pair->pos; } else { res_pair.pos = my_pair->pos; res_pair.neg = my_pair->neg; } return(res_pair); } /* end of getLargest */ /**Function******************************************************************** Synopsis [Build a BDD for a largest cube of f.] Description [Build a BDD for a largest cube of f. Given the minimum length from the root, and the minimum lengths for each node (in visited), apply triangulation at each node. Of the two children of each node on a shortest path, at least one is on a shortest path. In case of ties the procedure chooses the THEN children. Returns a pointer to the cube BDD representing the path if successful; NULL otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ static DdNode * getCube( DdManager * manager, st_table * visited, DdNode * f, int cost) { DdNode *sol, *tmp; DdNode *my_dd, *T, *E; cuddPathPair *T_pair, *E_pair; int Tcost, Ecost; int complement; my_dd = Cudd_Regular(f); complement = Cudd_IsComplement(f); sol = one; cuddRef(sol); while (!cuddIsConstant(my_dd)) { Tcost = cost - 1; Ecost = cost - 1; T = cuddT(my_dd); E = cuddE(my_dd); if (complement) {T = Cudd_Not(T); E = Cudd_Not(E);} if (!st_lookup(visited, Cudd_Regular(T), &T_pair)) return(NULL); if ((Cudd_IsComplement(T) && T_pair->neg == Tcost) || (!Cudd_IsComplement(T) && T_pair->pos == Tcost)) { tmp = cuddBddAndRecur(manager,manager->vars[my_dd->index],sol); if (tmp == NULL) { Cudd_RecursiveDeref(manager,sol); return(NULL); } cuddRef(tmp); Cudd_RecursiveDeref(manager,sol); sol = tmp; complement = Cudd_IsComplement(T); my_dd = Cudd_Regular(T); cost = Tcost; continue; } if (!st_lookup(visited, Cudd_Regular(E), &E_pair)) return(NULL); if ((Cudd_IsComplement(E) && E_pair->neg == Ecost) || (!Cudd_IsComplement(E) && E_pair->pos == Ecost)) { tmp = cuddBddAndRecur(manager,Cudd_Not(manager->vars[my_dd->index]),sol); if (tmp == NULL) { Cudd_RecursiveDeref(manager,sol); return(NULL); } cuddRef(tmp); Cudd_RecursiveDeref(manager,sol); sol = tmp; complement = Cudd_IsComplement(E); my_dd = Cudd_Regular(E); cost = Ecost; continue; } (void) fprintf(manager->err,"We shouldn't be here!\n"); manager->errorCode = CUDD_INTERNAL_ERROR; return(NULL); } cuddDeref(sol); return(sol); } /* end of getCube */ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_bddMaximallyExpand.] Description [Performs the recursive step of Cudd_bddMaximallyExpand. Returns set of primes or zero BDD if successful; NULL otherwise. On entry to this function, ub and lb should be different from the zero BDD. The function then maintains this invariant.] SideEffects [None] SeeAlso [] ******************************************************************************/ static DdNode * ddBddMaximallyExpand( DdManager *dd /* manager */, DdNode *lb /* cube to be expanded */, DdNode *ub /* upper bound cube */, DdNode *f /* function against which to expand */) { DdNode *one, *zero, *lbv, *lbvn, *lbnx, *ubv, *ubvn, *fv, *fvn, *res; DdNode *F, *UB, *LB, *t, *e; unsigned int top, toplb, topub, topf, index; statLine(dd); /* Terminal cases. */ one = DD_ONE(dd); zero = Cudd_Not(one); assert(ub != zero && lb != zero); /** There are three major terminal cases in theory: ** ub -> f : return ub ** lb == f : return lb ** not(lb -> f): return zero ** Only the second case can be checked exactly in constant time. ** For the others, we check for sufficient conditions. */ if (ub == f || f == one) return(ub); if (lb == f) return(lb); if (f == zero || ub == Cudd_Not(f) || lb == one || lb == Cudd_Not(f)) return(zero); if (!Cudd_IsComplement(lb) && Cudd_IsComplement(f)) return(zero); /* Here lb and f are not constant. */ /* Check cache. Since lb and ub are cubes, their local reference counts ** are always 1. Hence, we only check the reference count of f. */ F = Cudd_Regular(f); if (F->ref != 1) { DdNode *tmp = cuddCacheLookup(dd, DD_BDD_MAX_EXP_TAG, lb, ub, f); if (tmp != NULL) { return(tmp); } } /* Compute cofactors. For lb we use the non-zero one in ** both branches of the recursion. */ LB = Cudd_Regular(lb); UB = Cudd_Regular(ub); topf = dd->perm[F->index]; toplb = dd->perm[LB->index]; topub = (ub == one) ? CUDD_CONST_INDEX : dd->perm[UB->index]; assert(toplb <= topub); top = ddMin(topf,toplb); if (toplb == top) { index = LB->index; lbv = cuddT(LB); lbvn = cuddE(LB); if (lb != LB) { lbv = Cudd_Not(lbv); lbvn = Cudd_Not(lbvn); } if (lbv == zero) { lbnx = lbvn; } else { lbnx = lbv; } } else { index = F->index; lbnx = lbv = lbvn = lb; } if (topub == top) { ubv = cuddT(UB); ubvn = cuddE(UB); if (ub != UB) { ubv = Cudd_Not(ubv); ubvn = Cudd_Not(ubvn); } } else { ubv = ubvn = ub; } if (topf == top) { fv = cuddT(F); fvn = cuddE(F); if (f != F) { fv = Cudd_Not(fv); fvn = Cudd_Not(fvn); } } else { fv = fvn = f; } /* Recursive calls. */ if (ubv != zero) { t = ddBddMaximallyExpand(dd, lbnx, ubv, fv); if (t == NULL) return(NULL); } else { assert(topub == toplb && topub == top && lbv == zero); t = zero; } cuddRef(t); /* If the top variable appears only in lb, the positive and negative ** cofactors of each operand are the same. We want to avoid a ** needless recursive call, which would force us to give up the ** cache optimization trick based on reference counts. */ if (ubv == ubvn && fv == fvn) { res = t; } else { if (ubvn != zero) { e = ddBddMaximallyExpand(dd, lbnx, ubvn, fvn); if (e == NULL) { Cudd_IterDerefBdd(dd,t); return(NULL); } } else { assert(topub == toplb && topub == top && lbvn == zero); e = zero; } if (t == e) { res = t; } else { cuddRef(e); if (toplb == top) { if (lbv == zero) { /* Top variable appears in negative phase. */ if (t != one) { DdNode *newT; if (Cudd_IsComplement(t)) { newT = cuddUniqueInter(dd, index, Cudd_Not(t), zero); if (newT == NULL) { Cudd_IterDerefBdd(dd,t); Cudd_IterDerefBdd(dd,e); return(NULL); } newT = Cudd_Not(newT); } else { newT = cuddUniqueInter(dd, index, t, one); if (newT == NULL) { Cudd_IterDerefBdd(dd,t); Cudd_IterDerefBdd(dd,e); return(NULL); } } cuddRef(newT); cuddDeref(t); t = newT; } } else if (lbvn == zero) { /* Top variable appears in positive phase. */ if (e != one) { DdNode *newE; newE = cuddUniqueInter(dd, index, one, e); if (newE == NULL) { Cudd_IterDerefBdd(dd,t); Cudd_IterDerefBdd(dd,e); return(NULL); } cuddRef(newE); cuddDeref(e); e = newE; } } else { /* Not a cube. */ Cudd_IterDerefBdd(dd,t); Cudd_IterDerefBdd(dd,e); return(NULL); } } /* Combine results. */ res = cuddBddAndRecur(dd, t, e); if (res == NULL) { Cudd_IterDerefBdd(dd,t); Cudd_IterDerefBdd(dd,e); return(NULL); } cuddRef(res); Cudd_IterDerefBdd(dd,t); Cudd_IterDerefBdd(dd,e); } } /* Cache result and return. */ if (F->ref != 1) { cuddCacheInsert(dd, DD_BDD_MAX_EXP_TAG, lb, ub, f, res); } cuddDeref(res); return(res); } /* end of ddBddMaximallyExpand */ /**Function******************************************************************** Synopsis [Performs shortest path computation on a unate function.] Description [Performs shortest path computation on a unate function. Returns the length of the shortest path to one if successful; CUDD_OUT_OF_MEM otherwise. This function is based on the observation that in the BDD of a unate function no node except the constant is reachable from the root via paths of different parity.] SideEffects [None] SeeAlso [getShortest] ******************************************************************************/ static int ddBddShortestPathUnate( DdManager *dd, DdNode *f, int *phases, st_table *table) { int positive, l, lT, lE; DdNode *one = DD_ONE(dd); DdNode *zero = Cudd_Not(one); DdNode *F, *fv, *fvn; if (st_lookup_int(table, f, &l)) { return(l); } if (f == one) { l = 0; } else if (f == zero) { l = DD_BIGGY; } else { F = Cudd_Regular(f); fv = cuddT(F); fvn = cuddE(F); if (f != F) { fv = Cudd_Not(fv); fvn = Cudd_Not(fvn); } lT = ddBddShortestPathUnate(dd, fv, phases, table); lE = ddBddShortestPathUnate(dd, fvn, phases, table); positive = phases[F->index]; l = positive ? ddMin(lT+1, lE) : ddMin(lT, lE+1); } if (st_insert(table, f, (void *)(ptrint) l) == ST_OUT_OF_MEM) { return(CUDD_OUT_OF_MEM); } return(l); } /* end of ddShortestPathUnate */ /**Function******************************************************************** Synopsis [Extracts largest prime of a unate function.] Description [Extracts largest prime of a unate function. Returns the BDD of the prime if successful; NULL otherwise.] SideEffects [None] SeeAlso [getPath] ******************************************************************************/ static DdNode * ddGetLargestCubeUnate( DdManager *dd, DdNode *f, int *phases, st_table *table) { DdNode *res, *scan; DdNode *one = DD_ONE(dd); int cost; res = one; cuddRef(res); scan = f; st_lookup_int(table, scan, &cost); while (!Cudd_IsConstant(scan)) { int Pcost, Ncost, Tcost; DdNode *tmp, *T, *E; DdNode *rscan = Cudd_Regular(scan); int index = rscan->index; assert(phases[index] == 0 || phases[index] == 1); int positive = phases[index] == 1; Pcost = positive ? cost - 1 : cost; Ncost = positive ? cost : cost - 1; T = cuddT(rscan); E = cuddE(rscan); if (rscan != scan) { T = Cudd_Not(T); E = Cudd_Not(E); } tmp = res; st_lookup_int(table, T, &Tcost); if (Tcost == Pcost) { cost = Pcost; scan = T; if (positive) { tmp = cuddBddAndRecur(dd, dd->vars[index], res); } } else { cost = Ncost; scan = E; if (!positive) { tmp = cuddBddAndRecur(dd, Cudd_Not(dd->vars[index]), res); } } if (tmp == NULL) { Cudd_IterDerefBdd(dd, res); return(NULL); } cuddRef(tmp); Cudd_IterDerefBdd(dd, res); res = tmp; } cuddDeref(res); return(res); } /* end of ddGetLargestCubeUnate */ BRiAl-1.2.12/cudd/cuddSign.c000066400000000000000000000244711436062512100153610ustar00rootroot00000000000000/**CFile*********************************************************************** FileName [cuddSign.c] PackageName [cudd] Synopsis [Computation of signatures.] Description [External procedures included in this module:
      • Cudd_CofMinterm();
      Static procedures included in this module:
      • ddCofMintermAux()
      ] Author [Fabio Somenzi] Copyright [Copyright (c) 1995-2012, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.] ******************************************************************************/ #include "util.h" #include "cuddInt.h" /*---------------------------------------------------------------------------*/ /* Constant declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Stucture declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Type declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Variable declarations */ /*---------------------------------------------------------------------------*/ #ifndef lint static char rcsid[] DD_UNUSED = "$Id: cuddSign.c,v 1.24 2012/02/05 01:07:19 fabio Exp $"; #endif static int size; #ifdef DD_STATS static int num_calls; /* should equal 2n-1 (n is the # of nodes) */ static int table_mem; #endif /*---------------------------------------------------------------------------*/ /* Macro declarations */ /*---------------------------------------------------------------------------*/ /**AutomaticStart*************************************************************/ /*---------------------------------------------------------------------------*/ /* Static function prototypes */ /*---------------------------------------------------------------------------*/ static double * ddCofMintermAux (DdManager *dd, DdNode *node, st_table *table); /**AutomaticEnd***************************************************************/ /*---------------------------------------------------------------------------*/ /* Definition of exported functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Computes the fraction of minterms in the on-set of all the positive cofactors of a BDD or ADD.] Description [Computes the fraction of minterms in the on-set of all the positive cofactors of DD. Returns the pointer to an array of doubles if successful; NULL otherwise. The array has as many positions as there are BDD variables in the manager plus one. The last position of the array contains the fraction of the minterms in the ON-set of the function represented by the BDD or ADD. The other positions of the array hold the variable signatures.] SideEffects [None] ******************************************************************************/ double * Cudd_CofMinterm( DdManager * dd, DdNode * node) { st_table *table; double *values; double *result = NULL; int i, firstLevel; #ifdef DD_STATS unsigned long startTime; startTime = util_cpu_time(); num_calls = 0; table_mem = sizeof(st_table); #endif table = st_init_table(st_ptrcmp, st_ptrhash); if (table == NULL) { (void) fprintf(dd->err, "out-of-memory, couldn't measure DD cofactors.\n"); dd->errorCode = CUDD_MEMORY_OUT; return(NULL); } size = dd->size; values = ddCofMintermAux(dd, node, table); if (values != NULL) { result = ALLOC(double,size + 1); if (result != NULL) { #ifdef DD_STATS table_mem += (size + 1) * sizeof(double); #endif if (Cudd_IsConstant(node)) firstLevel = 1; else firstLevel = cuddI(dd,Cudd_Regular(node)->index); for (i = 0; i < size; i++) { if (i >= cuddI(dd,Cudd_Regular(node)->index)) { result[dd->invperm[i]] = values[i - firstLevel]; } else { result[dd->invperm[i]] = values[size - firstLevel]; } } result[size] = values[size - firstLevel]; } else { dd->errorCode = CUDD_MEMORY_OUT; } } #ifdef DD_STATS table_mem += table->num_bins * sizeof(st_table_entry *); #endif if (Cudd_Regular(node)->ref == 1) FREE(values); st_foreach(table, cuddStCountfree, NULL); st_free_table(table); #ifdef DD_STATS (void) fprintf(dd->out,"Number of calls: %d\tTable memory: %d bytes\n", num_calls, table_mem); (void) fprintf(dd->out,"Time to compute measures: %s\n", util_print_time(util_cpu_time() - startTime)); #endif if (result == NULL) { (void) fprintf(dd->out, "out-of-memory, couldn't measure DD cofactors.\n"); dd->errorCode = CUDD_MEMORY_OUT; } return(result); } /* end of Cudd_CofMinterm */ /*---------------------------------------------------------------------------*/ /* Definition of internal functions */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Definition of static functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Recursive Step for Cudd_CofMinterm function.] Description [Traverses the DD node and computes the fraction of minterms in the on-set of all positive cofactors simultaneously. It allocates an array with two more entries than there are variables below the one labeling the node. One extra entry (the first in the array) is for the variable labeling the node. The other entry (the last one in the array) holds the fraction of minterms of the function rooted at node. Each other entry holds the value for one cofactor. The array is put in a symbol table, to avoid repeated computation, and its address is returned by the procedure, for use by the caller. Returns a pointer to the array of cofactor measures.] SideEffects [None] SeeAlso [] ******************************************************************************/ static double * ddCofMintermAux( DdManager * dd, DdNode * node, st_table * table) { DdNode *N; /* regular version of node */ DdNode *Nv, *Nnv; double *values; double *valuesT, *valuesE; int i; int localSize, localSizeT, localSizeE; double vT, vE; statLine(dd); #ifdef DD_STATS num_calls++; #endif if (st_lookup(table, node, &values)) { return(values); } N = Cudd_Regular(node); if (cuddIsConstant(N)) { localSize = 1; } else { localSize = size - cuddI(dd,N->index) + 1; } values = ALLOC(double, localSize); if (values == NULL) { dd->errorCode = CUDD_MEMORY_OUT; return(NULL); } if (cuddIsConstant(N)) { if (node == DD_ZERO(dd) || node == Cudd_Not(DD_ONE(dd))) { values[0] = 0.0; } else { values[0] = 1.0; } } else { Nv = Cudd_NotCond(cuddT(N),N!=node); Nnv = Cudd_NotCond(cuddE(N),N!=node); valuesT = ddCofMintermAux(dd, Nv, table); if (valuesT == NULL) return(NULL); valuesE = ddCofMintermAux(dd, Nnv, table); if (valuesE == NULL) return(NULL); if (Cudd_IsConstant(Nv)) { localSizeT = 1; } else { localSizeT = size - cuddI(dd,Cudd_Regular(Nv)->index) + 1; } if (Cudd_IsConstant(Nnv)) { localSizeE = 1; } else { localSizeE = size - cuddI(dd,Cudd_Regular(Nnv)->index) + 1; } values[0] = valuesT[localSizeT - 1]; for (i = 1; i < localSize; i++) { if (i >= cuddI(dd,Cudd_Regular(Nv)->index) - cuddI(dd,N->index)) { vT = valuesT[i - cuddI(dd,Cudd_Regular(Nv)->index) + cuddI(dd,N->index)]; } else { vT = valuesT[localSizeT - 1]; } if (i >= cuddI(dd,Cudd_Regular(Nnv)->index) - cuddI(dd,N->index)) { vE = valuesE[i - cuddI(dd,Cudd_Regular(Nnv)->index) + cuddI(dd,N->index)]; } else { vE = valuesE[localSizeE - 1]; } values[i] = (vT + vE) / 2.0; } if (Cudd_Regular(Nv)->ref == 1) FREE(valuesT); if (Cudd_Regular(Nnv)->ref == 1) FREE(valuesE); } if (N->ref > 1) { if (st_add_direct(table, (char *) node, (char *) values) == ST_OUT_OF_MEM) { FREE(values); return(NULL); } #ifdef DD_STATS table_mem += localSize * sizeof(double) + sizeof(st_table_entry); #endif } return(values); } /* end of ddCofMintermAux */ BRiAl-1.2.12/cudd/cuddSolve.c000066400000000000000000000252021436062512100155420ustar00rootroot00000000000000/**CFile*********************************************************************** FileName [cuddSolve.c] PackageName [cudd] Synopsis [Boolean equation solver and related functions.] Description [External functions included in this modoule:
      • Cudd_SolveEqn()
      • Cudd_VerifySol()
      Internal functions included in this module:
      • cuddSolveEqnRecur()
      • cuddVerifySol()
      ] SeeAlso [] Author [Balakrishna Kumthekar] Copyright [Copyright (c) 1995-2012, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.] ******************************************************************************/ #include "util.h" #include "cuddInt.h" /*---------------------------------------------------------------------------*/ /* Constant declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Type declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Structure declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Variable declarations */ /*---------------------------------------------------------------------------*/ #ifndef lint static char rcsid[] DD_UNUSED = "$Id: cuddSolve.c,v 1.13 2012/02/05 01:07:19 fabio Exp $"; #endif /*---------------------------------------------------------------------------*/ /* Macro declarations */ /*---------------------------------------------------------------------------*/ /**AutomaticStart*************************************************************/ /*---------------------------------------------------------------------------*/ /* Static function prototypes */ /*---------------------------------------------------------------------------*/ /**AutomaticEnd***************************************************************/ /*---------------------------------------------------------------------------*/ /* Definition of exported functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Implements the solution of F(x,y) = 0.] Description [Implements the solution for F(x,y) = 0. The return value is the consistency condition. The y variables are the unknowns and the remaining variables are the parameters. Returns the consistency condition if successful; NULL otherwise. Cudd_SolveEqn allocates an array and fills it with the indices of the unknowns. This array is used by Cudd_VerifySol.] SideEffects [The solution is returned in G; the indices of the y variables are returned in yIndex.] SeeAlso [Cudd_VerifySol] ******************************************************************************/ DdNode * Cudd_SolveEqn( DdManager * bdd, DdNode * F /* the left-hand side of the equation */, DdNode * Y /* the cube of the y variables */, DdNode ** G /* the array of solutions (return parameter) */, int ** yIndex /* index of y variables */, int n /* numbers of unknowns */) { DdNode *res; int *temp; *yIndex = temp = ALLOC(int, n); if (temp == NULL) { bdd->errorCode = CUDD_MEMORY_OUT; (void) fprintf(bdd->out, "Cudd_SolveEqn: Out of memory for yIndex\n"); return(NULL); } do { bdd->reordered = 0; res = cuddSolveEqnRecur(bdd, F, Y, G, n, temp, 0); } while (bdd->reordered == 1); return(res); } /* end of Cudd_SolveEqn */ /**Function******************************************************************** Synopsis [Checks the solution of F(x,y) = 0.] Description [Checks the solution of F(x,y) = 0. This procedure substitutes the solution components for the unknowns of F and returns the resulting BDD for F.] SideEffects [Frees the memory pointed by yIndex.] SeeAlso [Cudd_SolveEqn] ******************************************************************************/ DdNode * Cudd_VerifySol( DdManager * bdd, DdNode * F /* the left-hand side of the equation */, DdNode ** G /* the array of solutions */, int * yIndex /* index of y variables */, int n /* numbers of unknowns */) { DdNode *res; do { bdd->reordered = 0; res = cuddVerifySol(bdd, F, G, yIndex, n); } while (bdd->reordered == 1); FREE(yIndex); return(res); } /* end of Cudd_VerifySol */ /*---------------------------------------------------------------------------*/ /* Definition of internal functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Implements the recursive step of Cudd_SolveEqn.] Description [Implements the recursive step of Cudd_SolveEqn. Returns NULL if the intermediate solution blows up or reordering occurs. The parametric solutions are stored in the array G.] SideEffects [none] SeeAlso [Cudd_SolveEqn, Cudd_VerifySol] ******************************************************************************/ DdNode * cuddSolveEqnRecur( DdManager * bdd, DdNode * F /* the left-hand side of the equation */, DdNode * Y /* the cube of remaining y variables */, DdNode ** G /* the array of solutions */, int n /* number of unknowns */, int * yIndex /* array holding the y variable indices */, int i /* level of recursion */) { DdNode *Fn, *Fm1, *Fv, *Fvbar, *T, *w, *nextY, *one; DdNodePtr *variables; int j; statLine(bdd); variables = bdd->vars; one = DD_ONE(bdd); /* Base condition. */ if (Y == one) { return F; } /* Cofactor of Y. */ yIndex[i] = Y->index; nextY = Cudd_T(Y); /* Universal abstraction of F with respect to the top variable index. */ Fm1 = cuddBddExistAbstractRecur(bdd, Cudd_Not(F), variables[yIndex[i]]); if (Fm1) { Fm1 = Cudd_Not(Fm1); cuddRef(Fm1); } else { return(NULL); } Fn = cuddSolveEqnRecur(bdd, Fm1, nextY, G, n, yIndex, i+1); if (Fn) { cuddRef(Fn); } else { Cudd_RecursiveDeref(bdd, Fm1); return(NULL); } Fv = cuddCofactorRecur(bdd, F, variables[yIndex[i]]); if (Fv) { cuddRef(Fv); } else { Cudd_RecursiveDeref(bdd, Fm1); Cudd_RecursiveDeref(bdd, Fn); return(NULL); } Fvbar = cuddCofactorRecur(bdd, F, Cudd_Not(variables[yIndex[i]])); if (Fvbar) { cuddRef(Fvbar); } else { Cudd_RecursiveDeref(bdd, Fm1); Cudd_RecursiveDeref(bdd, Fn); Cudd_RecursiveDeref(bdd, Fv); return(NULL); } /* Build i-th component of the solution. */ w = cuddBddIteRecur(bdd, variables[yIndex[i]], Cudd_Not(Fv), Fvbar); if (w) { cuddRef(w); } else { Cudd_RecursiveDeref(bdd, Fm1); Cudd_RecursiveDeref(bdd, Fn); Cudd_RecursiveDeref(bdd, Fv); Cudd_RecursiveDeref(bdd, Fvbar); return(NULL); } T = cuddBddRestrictRecur(bdd, w, Cudd_Not(Fm1)); if(T) { cuddRef(T); } else { Cudd_RecursiveDeref(bdd, Fm1); Cudd_RecursiveDeref(bdd, Fn); Cudd_RecursiveDeref(bdd, Fv); Cudd_RecursiveDeref(bdd, Fvbar); Cudd_RecursiveDeref(bdd, w); return(NULL); } Cudd_RecursiveDeref(bdd,Fm1); Cudd_RecursiveDeref(bdd,w); Cudd_RecursiveDeref(bdd,Fv); Cudd_RecursiveDeref(bdd,Fvbar); /* Substitute components of solution already found into solution. */ for (j = n-1; j > i; j--) { w = cuddBddComposeRecur(bdd,T, G[j], variables[yIndex[j]]); if(w) { cuddRef(w); } else { Cudd_RecursiveDeref(bdd, Fn); Cudd_RecursiveDeref(bdd, T); return(NULL); } Cudd_RecursiveDeref(bdd,T); T = w; } G[i] = T; Cudd_Deref(Fn); return(Fn); } /* end of cuddSolveEqnRecur */ /**Function******************************************************************** Synopsis [Implements the recursive step of Cudd_VerifySol. ] Description [] SideEffects [none] SeeAlso [Cudd_VerifySol] ******************************************************************************/ DdNode * cuddVerifySol( DdManager * bdd, DdNode * F /* the left-hand side of the equation */, DdNode ** G /* the array of solutions */, int * yIndex /* array holding the y variable indices */, int n /* number of unknowns */) { DdNode *w, *R; int j; R = F; cuddRef(R); for(j = n - 1; j >= 0; j--) { w = Cudd_bddCompose(bdd, R, G[j], yIndex[j]); if (w) { cuddRef(w); } else { return(NULL); } Cudd_RecursiveDeref(bdd,R); R = w; } cuddDeref(R); return(R); } /* end of cuddVerifySol */ /*---------------------------------------------------------------------------*/ /* Definition of static functions */ /*---------------------------------------------------------------------------*/ BRiAl-1.2.12/cudd/cuddSplit.c000066400000000000000000000461201436062512100155470ustar00rootroot00000000000000/**CFile*********************************************************************** FileName [cuddSplit.c] PackageName [cudd] Synopsis [Returns a subset of minterms from a boolean function.] Description [External functions included in this modoule:
      • Cudd_SplitSet()
      Internal functions included in this module:
      • cuddSplitSetRecur() Static functions included in this module:
        • selectMintermsFromUniverse()
        • mintermsFromUniverse()
        • bddAnnotateMintermCount()
        ] SeeAlso [] Author [Balakrishna Kumthekar] Copyright [Copyright (c) 1995-2012, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.] ******************************************************************************/ #include "util.h" #include "cuddInt.h" /*---------------------------------------------------------------------------*/ /* Constant declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Type declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Structure declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Variable declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Macro declarations */ /*---------------------------------------------------------------------------*/ /**AutomaticStart*************************************************************/ /*---------------------------------------------------------------------------*/ /* Static function prototypes */ /*---------------------------------------------------------------------------*/ static DdNode * selectMintermsFromUniverse (DdManager *manager, int *varSeen, double n); static DdNode * mintermsFromUniverse (DdManager *manager, DdNode **vars, int numVars, double n, int index); static double bddAnnotateMintermCount (DdManager *manager, DdNode *node, double max, st_table *table); /**AutomaticEnd***************************************************************/ /*---------------------------------------------------------------------------*/ /* Definition of exported functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Returns m minterms from a BDD.] Description [Returns m minterms from a BDD whose support has n variables at most. The procedure tries to create as few extra nodes as possible. The function represented by S depends on at most n of the variables in xVars. Returns a BDD with m minterms of the on-set of S if successful; NULL otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ DdNode * Cudd_SplitSet( DdManager * manager, DdNode * S, DdNode ** xVars, int n, double m) { DdNode *result; DdNode *zero, *one; double max, num; st_table *mtable; int *varSeen; int i,index, size; size = manager->size; one = DD_ONE(manager); zero = Cudd_Not(one); /* Trivial cases. */ if (m == 0.0) { return(zero); } if (S == zero) { return(NULL); } max = pow(2.0,(double)n); if (m > max) return(NULL); do { manager->reordered = 0; /* varSeen is used to mark the variables that are encountered ** while traversing the BDD S. */ varSeen = ALLOC(int, size); if (varSeen == NULL) { manager->errorCode = CUDD_MEMORY_OUT; return(NULL); } for (i = 0; i < size; i++) { varSeen[i] = -1; } for (i = 0; i < n; i++) { index = (xVars[i])->index; varSeen[manager->invperm[index]] = 0; } if (S == one) { if (m == max) { FREE(varSeen); return(S); } result = selectMintermsFromUniverse(manager,varSeen,m); if (result) cuddRef(result); FREE(varSeen); } else { mtable = st_init_table(st_ptrcmp,st_ptrhash); if (mtable == NULL) { (void) fprintf(manager->out, "Cudd_SplitSet: out-of-memory.\n"); FREE(varSeen); manager->errorCode = CUDD_MEMORY_OUT; return(NULL); } /* The nodes of BDD S are annotated by the number of minterms ** in their onset. The node and the number of minterms in its ** onset are stored in mtable. */ num = bddAnnotateMintermCount(manager,S,max,mtable); if (m == num) { st_foreach(mtable,cuddStCountfree,NIL(char)); st_free_table(mtable); FREE(varSeen); return(S); } result = cuddSplitSetRecur(manager,mtable,varSeen,S,m,max,0); if (result) cuddRef(result); st_foreach(mtable,cuddStCountfree,NULL); st_free_table(mtable); FREE(varSeen); } } while (manager->reordered == 1); cuddDeref(result); return(result); } /* end of Cudd_SplitSet */ /*---------------------------------------------------------------------------*/ /* Definition of internal functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Implements the recursive step of Cudd_SplitSet.] Description [Implements the recursive step of Cudd_SplitSet. The procedure recursively traverses the BDD and checks to see if any node satisfies the minterm requirements as specified by 'n'. At any node X, n is compared to the number of minterms in the onset of X's children. If either of the child nodes have exactly n minterms, then that node is returned; else, if n is greater than the onset of one of the child nodes, that node is retained and the difference in the number of minterms is extracted from the other child. In case n minterms can be extracted from constant 1, the algorithm returns the result with at most log(n) nodes.] SideEffects [The array 'varSeen' is updated at every recursive call to set the variables traversed by the procedure.] SeeAlso [] ******************************************************************************/ DdNode* cuddSplitSetRecur( DdManager * manager, st_table * mtable, int * varSeen, DdNode * p, double n, double max, int index) { DdNode *one, *zero, *N, *Nv; DdNode *Nnv, *q, *r, *v; DdNode *result; double *dummy, numT, numE; int variable, positive; statLine(manager); one = DD_ONE(manager); zero = Cudd_Not(one); /* If p is constant, extract n minterms from constant 1. The procedure by ** construction guarantees that minterms will not be extracted from ** constant 0. */ if (Cudd_IsConstant(p)) { q = selectMintermsFromUniverse(manager,varSeen,n); return(q); } N = Cudd_Regular(p); /* Set variable as seen. */ variable = N->index; varSeen[manager->invperm[variable]] = -1; Nv = cuddT(N); Nnv = cuddE(N); if (Cudd_IsComplement(p)) { Nv = Cudd_Not(Nv); Nnv = Cudd_Not(Nnv); } /* If both the children of 'p' are constants, extract n minterms from a ** constant node. */ if (Cudd_IsConstant(Nv) && Cudd_IsConstant(Nnv)) { q = selectMintermsFromUniverse(manager,varSeen,n); if (q == NULL) { return(NULL); } cuddRef(q); r = cuddBddAndRecur(manager,p,q); if (r == NULL) { Cudd_RecursiveDeref(manager,q); return(NULL); } cuddRef(r); Cudd_RecursiveDeref(manager,q); cuddDeref(r); return(r); } /* Lookup the # of minterms in the onset of the node from the table. */ if (!Cudd_IsConstant(Nv)) { if (!st_lookup(mtable, Nv, &dummy)) return(NULL); numT = *dummy/(2*(1<size; one = DD_ONE(manager); zero = Cudd_Not(one); /* Count the number of variables not encountered so far in procedure ** cuddSplitSetRecur. */ for (i = size-1; i >= 0; i--) { if(varSeen[i] == 0) numVars++; } vars = ALLOC(DdNode *, numVars); if (!vars) { manager->errorCode = CUDD_MEMORY_OUT; return(NULL); } j = 0; for (i = size-1; i >= 0; i--) { if(varSeen[i] == 0) { vars[j] = cuddUniqueInter(manager,manager->perm[i],one,zero); cuddRef(vars[j]); j++; } } /* Compute a function which has n minterms and depends on at most ** numVars variables. */ result = mintermsFromUniverse(manager,vars,numVars,n, 0); if (result) cuddRef(result); for (i = 0; i < numVars; i++) Cudd_RecursiveDeref(manager,vars[i]); FREE(vars); return(result); } /* end of selectMintermsFromUniverse */ /**Function******************************************************************** Synopsis [Recursive procedure to extract n mintems from constant 1.] Description [Recursive procedure to extract n mintems from constant 1.] SideEffects [None] ******************************************************************************/ static DdNode * mintermsFromUniverse( DdManager * manager, DdNode ** vars, int numVars, double n, int index) { DdNode *one, *zero; DdNode *q, *result; double max, max2; statLine(manager); one = DD_ONE(manager); zero = Cudd_Not(one); max = pow(2.0, (double)numVars); max2 = max / 2.0; if (n == max) return(one); if (n == 0.0) return(zero); /* if n == 2^(numVars-1), return a single variable */ if (n == max2) return vars[index]; else if (n > max2) { /* When n > 2^(numVars-1), a single variable vars[index] ** contains 2^(numVars-1) minterms. The rest are extracted ** from a constant with 1 less variable. */ q = mintermsFromUniverse(manager,vars,numVars-1,(n-max2),index+1); if (q == NULL) return(NULL); cuddRef(q); result = cuddBddIteRecur(manager,vars[index],one,q); } else { /* When n < 2^(numVars-1), a literal of variable vars[index] ** is selected. The required n minterms are extracted from a ** constant with 1 less variable. */ q = mintermsFromUniverse(manager,vars,numVars-1,n,index+1); if (q == NULL) return(NULL); cuddRef(q); result = cuddBddAndRecur(manager,vars[index],q); } if (result == NULL) { Cudd_RecursiveDeref(manager,q); return(NULL); } cuddRef(result); Cudd_RecursiveDeref(manager,q); cuddDeref(result); return(result); } /* end of mintermsFromUniverse */ /**Function******************************************************************** Synopsis [Annotates every node in the BDD node with its minterm count.] Description [Annotates every node in the BDD node with its minterm count. In this function, every node and the minterm count represented by it are stored in a hash table.] SideEffects [Fills up 'table' with the pair .] ******************************************************************************/ static double bddAnnotateMintermCount( DdManager * manager, DdNode * node, double max, st_table * table) { DdNode *N,*Nv,*Nnv; register double min_v,min_nv; register double min_N; double *pmin; double *dummy; statLine(manager); N = Cudd_Regular(node); if (cuddIsConstant(N)) { if (node == DD_ONE(manager)) { return(max); } else { return(0.0); } } if (st_lookup(table, node, &dummy)) { return(*dummy); } Nv = cuddT(N); Nnv = cuddE(N); if (N != node) { Nv = Cudd_Not(Nv); Nnv = Cudd_Not(Nnv); } /* Recur on the two branches. */ min_v = bddAnnotateMintermCount(manager,Nv,max,table) / 2.0; if (min_v == (double)CUDD_OUT_OF_MEM) return ((double)CUDD_OUT_OF_MEM); min_nv = bddAnnotateMintermCount(manager,Nnv,max,table) / 2.0; if (min_nv == (double)CUDD_OUT_OF_MEM) return ((double)CUDD_OUT_OF_MEM); min_N = min_v + min_nv; pmin = ALLOC(double,1); if (pmin == NULL) { manager->errorCode = CUDD_MEMORY_OUT; return((double)CUDD_OUT_OF_MEM); } *pmin = min_N; if (st_insert(table,(char *)node, (char *)pmin) == ST_OUT_OF_MEM) { FREE(pmin); return((double)CUDD_OUT_OF_MEM); } return(min_N); } /* end of bddAnnotateMintermCount */ BRiAl-1.2.12/cudd/cuddSubsetHB.c000066400000000000000000001175001436062512100161340ustar00rootroot00000000000000/**CFile*********************************************************************** FileName [cuddSubsetHB.c] PackageName [cudd] Synopsis [Procedure to subset the given BDD by choosing the heavier branches.] Description [External procedures provided by this module:
        • Cudd_SubsetHeavyBranch()
        • Cudd_SupersetHeavyBranch()
        Internal procedures included in this module:
        • cuddSubsetHeavyBranch()
        Static procedures included in this module:
        • ResizeCountMintermPages();
        • ResizeNodeDataPages()
        • ResizeCountNodePages()
        • SubsetCountMintermAux()
        • SubsetCountMinterm()
        • SubsetCountNodesAux()
        • SubsetCountNodes()
        • BuildSubsetBdd()
        ] SeeAlso [cuddSubsetSP.c] Author [Kavita Ravi] Copyright [Copyright (c) 1995-2012, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.] ******************************************************************************/ #ifdef __STDC__ #include #else #define DBL_MAX_EXP 1024 #endif #include "util.h" #include "cuddInt.h" /*---------------------------------------------------------------------------*/ /* Constant declarations */ /*---------------------------------------------------------------------------*/ #define DEFAULT_PAGE_SIZE 2048 #define DEFAULT_NODE_DATA_PAGE_SIZE 1024 #define INITIAL_PAGES 128 /*---------------------------------------------------------------------------*/ /* Stucture declarations */ /*---------------------------------------------------------------------------*/ /* data structure to store the information on each node. It keeps * the number of minterms represented by the DAG rooted at this node * in terms of the number of variables specified by the user, number * of nodes in this DAG and the number of nodes of its child with * lesser number of minterms that are not shared by the child with * more minterms */ struct NodeData { double *mintermPointer; int *nodesPointer; int *lightChildNodesPointer; }; /*---------------------------------------------------------------------------*/ /* Type declarations */ /*---------------------------------------------------------------------------*/ typedef struct NodeData NodeData_t; /*---------------------------------------------------------------------------*/ /* Variable declarations */ /*---------------------------------------------------------------------------*/ #ifndef lint static char rcsid[] DD_UNUSED = "$Id: cuddSubsetHB.c,v 1.39 2012/02/05 01:07:19 fabio Exp $"; #endif static int memOut; #ifdef DEBUG static int num_calls; #endif static DdNode *zero, *one; /* constant functions */ static double **mintermPages; /* pointers to the pages */ static int **nodePages; /* pointers to the pages */ static int **lightNodePages; /* pointers to the pages */ static double *currentMintermPage; /* pointer to the current page */ static double max; /* to store the 2^n value of the number * of variables */ static int *currentNodePage; /* pointer to the current page */ static int *currentLightNodePage; /* pointer to the * current page */ static int pageIndex; /* index to next element */ static int page; /* index to current page */ static int pageSize = DEFAULT_PAGE_SIZE; /* page size */ static int maxPages; /* number of page pointers */ static NodeData_t *currentNodeDataPage; /* pointer to the current page */ static int nodeDataPage; /* index to next element */ static int nodeDataPageIndex; /* index to next element */ static NodeData_t **nodeDataPages; /* index to current page */ static int nodeDataPageSize = DEFAULT_NODE_DATA_PAGE_SIZE; /* page size */ static int maxNodeDataPages; /* number of page pointers */ /*---------------------------------------------------------------------------*/ /* Macro declarations */ /*---------------------------------------------------------------------------*/ /**AutomaticStart*************************************************************/ /*---------------------------------------------------------------------------*/ /* Static function prototypes */ /*---------------------------------------------------------------------------*/ static void ResizeNodeDataPages (void); static void ResizeCountMintermPages (void); static void ResizeCountNodePages (void); static double SubsetCountMintermAux (DdNode *node, double max, st_table *table); static st_table * SubsetCountMinterm (DdNode *node, int nvars); static int SubsetCountNodesAux (DdNode *node, st_table *table, double max); static int SubsetCountNodes (DdNode *node, st_table *table, int nvars); static void StoreNodes (st_table *storeTable, DdManager *dd, DdNode *node); static DdNode * BuildSubsetBdd (DdManager *dd, DdNode *node, int *size, st_table *visitedTable, int threshold, st_table *storeTable, st_table *approxTable); /**AutomaticEnd***************************************************************/ /*---------------------------------------------------------------------------*/ /* Definition of exported functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Extracts a dense subset from a BDD with the heavy branch heuristic.] Description [Extracts a dense subset from a BDD. This procedure builds a subset by throwing away one of the children of each node, starting from the root, until the result is small enough. The child that is eliminated from the result is the one that contributes the fewer minterms. Returns a pointer to the BDD of the subset if successful. NULL if the procedure runs out of memory. The parameter numVars is the maximum number of variables to be used in minterm calculation and node count calculation. The optimal number should be as close as possible to the size of the support of f. However, it is safe to pass the value returned by Cudd_ReadSize for numVars when the number of variables is under 1023. If numVars is larger than 1023, it will overflow. If a 0 parameter is passed then the procedure will compute a value which will avoid overflow but will cause underflow with 2046 variables or more.] SideEffects [None] SeeAlso [Cudd_SubsetShortPaths Cudd_SupersetHeavyBranch Cudd_ReadSize] ******************************************************************************/ DdNode * Cudd_SubsetHeavyBranch( DdManager * dd /* manager */, DdNode * f /* function to be subset */, int numVars /* number of variables in the support of f */, int threshold /* maximum number of nodes in the subset */) { DdNode *subset; memOut = 0; do { dd->reordered = 0; subset = cuddSubsetHeavyBranch(dd, f, numVars, threshold); } while ((dd->reordered == 1) && (!memOut)); return(subset); } /* end of Cudd_SubsetHeavyBranch */ /**Function******************************************************************** Synopsis [Extracts a dense superset from a BDD with the heavy branch heuristic.] Description [Extracts a dense superset from a BDD. The procedure is identical to the subset procedure except for the fact that it receives the complement of the given function. Extracting the subset of the complement function is equivalent to extracting the superset of the function. This procedure builds a superset by throwing away one of the children of each node starting from the root of the complement function, until the result is small enough. The child that is eliminated from the result is the one that contributes the fewer minterms. Returns a pointer to the BDD of the superset if successful. NULL if intermediate result causes the procedure to run out of memory. The parameter numVars is the maximum number of variables to be used in minterm calculation and node count calculation. The optimal number should be as close as possible to the size of the support of f. However, it is safe to pass the value returned by Cudd_ReadSize for numVars when the number of variables is under 1023. If numVars is larger than 1023, it will overflow. If a 0 parameter is passed then the procedure will compute a value which will avoid overflow but will cause underflow with 2046 variables or more.] SideEffects [None] SeeAlso [Cudd_SubsetHeavyBranch Cudd_SupersetShortPaths Cudd_ReadSize] ******************************************************************************/ DdNode * Cudd_SupersetHeavyBranch( DdManager * dd /* manager */, DdNode * f /* function to be superset */, int numVars /* number of variables in the support of f */, int threshold /* maximum number of nodes in the superset */) { DdNode *subset, *g; g = Cudd_Not(f); memOut = 0; do { dd->reordered = 0; subset = cuddSubsetHeavyBranch(dd, g, numVars, threshold); } while ((dd->reordered == 1) && (!memOut)); return(Cudd_NotCond(subset, (subset != NULL))); } /* end of Cudd_SupersetHeavyBranch */ /*---------------------------------------------------------------------------*/ /* Definition of internal functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [The main procedure that returns a subset by choosing the heavier branch in the BDD.] Description [Here a subset BDD is built by throwing away one of the children. Starting at root, annotate each node with the number of minterms (in terms of the total number of variables specified - numVars), number of nodes taken by the DAG rooted at this node and number of additional nodes taken by the child that has the lesser minterms. The child with the lower number of minterms is thrown away and a dyanmic count of the nodes of the subset is kept. Once the threshold is reached the subset is returned to the calling procedure.] SideEffects [None] SeeAlso [Cudd_SubsetHeavyBranch] ******************************************************************************/ DdNode * cuddSubsetHeavyBranch( DdManager * dd /* DD manager */, DdNode * f /* current DD */, int numVars /* maximum number of variables */, int threshold /* threshold size for the subset */) { int i, *size; st_table *visitedTable; int numNodes; NodeData_t *currNodeQual; DdNode *subset; st_table *storeTable, *approxTable; DdNode *key, *value; st_generator *stGen; if (f == NULL) { fprintf(dd->err, "Cannot subset, nil object\n"); dd->errorCode = CUDD_INVALID_ARG; return(NULL); } one = Cudd_ReadOne(dd); zero = Cudd_Not(one); /* If user does not know numVars value, set it to the maximum * exponent that the pow function can take. The -1 is due to the * discrepancy in the value that pow takes and the value that * log gives. */ if (numVars == 0) { /* set default value */ numVars = DBL_MAX_EXP - 1; } if (Cudd_IsConstant(f)) { return(f); } max = pow(2.0, (double)numVars); /* Create visited table where structures for node data are allocated and stored in a st_table */ visitedTable = SubsetCountMinterm(f, numVars); if ((visitedTable == NULL) || memOut) { (void) fprintf(dd->err, "Out-of-memory; Cannot subset\n"); dd->errorCode = CUDD_MEMORY_OUT; return(0); } numNodes = SubsetCountNodes(f, visitedTable, numVars); if (memOut) { (void) fprintf(dd->err, "Out-of-memory; Cannot subset\n"); dd->errorCode = CUDD_MEMORY_OUT; return(0); } if (st_lookup(visitedTable, f, &currNodeQual) == 0) { fprintf(dd->err, "Something is wrong, ought to be node quality table\n"); dd->errorCode = CUDD_INTERNAL_ERROR; } size = ALLOC(int, 1); if (size == NULL) { dd->errorCode = CUDD_MEMORY_OUT; return(NULL); } *size = numNodes; #ifdef DEBUG num_calls = 0; #endif /* table to store nodes being created. */ storeTable = st_init_table(st_ptrcmp, st_ptrhash); /* insert the constant */ cuddRef(one); if (st_insert(storeTable, Cudd_ReadOne(dd), NULL) == ST_OUT_OF_MEM) { fprintf(dd->out, "Something wrong, st_table insert failed\n"); } /* table to store approximations of nodes */ approxTable = st_init_table(st_ptrcmp, st_ptrhash); subset = (DdNode *)BuildSubsetBdd(dd, f, size, visitedTable, threshold, storeTable, approxTable); if (subset != NULL) { cuddRef(subset); } stGen = st_init_gen(approxTable); if (stGen == NULL) { st_free_table(approxTable); return(NULL); } while(st_gen(stGen, &key, &value)) { Cudd_RecursiveDeref(dd, value); } st_free_gen(stGen); stGen = NULL; st_free_table(approxTable); stGen = st_init_gen(storeTable); if (stGen == NULL) { st_free_table(storeTable); return(NULL); } while(st_gen(stGen, &key, &value)) { Cudd_RecursiveDeref(dd, key); } st_free_gen(stGen); stGen = NULL; st_free_table(storeTable); for (i = 0; i <= page; i++) { FREE(mintermPages[i]); } FREE(mintermPages); for (i = 0; i <= page; i++) { FREE(nodePages[i]); } FREE(nodePages); for (i = 0; i <= page; i++) { FREE(lightNodePages[i]); } FREE(lightNodePages); for (i = 0; i <= nodeDataPage; i++) { FREE(nodeDataPages[i]); } FREE(nodeDataPages); st_free_table(visitedTable); FREE(size); #if 0 (void) Cudd_DebugCheck(dd); (void) Cudd_CheckKeys(dd); #endif if (subset != NULL) { #ifdef DD_DEBUG if (!Cudd_bddLeq(dd, subset, f)) { fprintf(dd->err, "Wrong subset\n"); dd->errorCode = CUDD_INTERNAL_ERROR; return(NULL); } #endif cuddDeref(subset); return(subset); } else { return(NULL); } } /* end of cuddSubsetHeavyBranch */ /*---------------------------------------------------------------------------*/ /* Definition of static functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Resize the number of pages allocated to store the node data.] Description [Resize the number of pages allocated to store the node data The procedure moves the counter to the next page when the end of the page is reached and allocates new pages when necessary.] SideEffects [Changes the size of pages, page, page index, maximum number of pages freeing stuff in case of memory out. ] SeeAlso [] ******************************************************************************/ static void ResizeNodeDataPages(void) { int i; NodeData_t **newNodeDataPages; nodeDataPage++; /* If the current page index is larger than the number of pages * allocated, allocate a new page array. Page numbers are incremented by * INITIAL_PAGES */ if (nodeDataPage == maxNodeDataPages) { newNodeDataPages = ALLOC(NodeData_t *,maxNodeDataPages + INITIAL_PAGES); if (newNodeDataPages == NULL) { for (i = 0; i < nodeDataPage; i++) FREE(nodeDataPages[i]); FREE(nodeDataPages); memOut = 1; return; } else { for (i = 0; i < maxNodeDataPages; i++) { newNodeDataPages[i] = nodeDataPages[i]; } /* Increase total page count */ maxNodeDataPages += INITIAL_PAGES; FREE(nodeDataPages); nodeDataPages = newNodeDataPages; } } /* Allocate a new page */ currentNodeDataPage = nodeDataPages[nodeDataPage] = ALLOC(NodeData_t ,nodeDataPageSize); if (currentNodeDataPage == NULL) { for (i = 0; i < nodeDataPage; i++) FREE(nodeDataPages[i]); FREE(nodeDataPages); memOut = 1; return; } /* reset page index */ nodeDataPageIndex = 0; return; } /* end of ResizeNodeDataPages */ /**Function******************************************************************** Synopsis [Resize the number of pages allocated to store the minterm counts. ] Description [Resize the number of pages allocated to store the minterm counts. The procedure moves the counter to the next page when the end of the page is reached and allocates new pages when necessary.] SideEffects [Changes the size of minterm pages, page, page index, maximum number of pages freeing stuff in case of memory out. ] SeeAlso [] ******************************************************************************/ static void ResizeCountMintermPages(void) { int i; double **newMintermPages; page++; /* If the current page index is larger than the number of pages * allocated, allocate a new page array. Page numbers are incremented by * INITIAL_PAGES */ if (page == maxPages) { newMintermPages = ALLOC(double *,maxPages + INITIAL_PAGES); if (newMintermPages == NULL) { for (i = 0; i < page; i++) FREE(mintermPages[i]); FREE(mintermPages); memOut = 1; return; } else { for (i = 0; i < maxPages; i++) { newMintermPages[i] = mintermPages[i]; } /* Increase total page count */ maxPages += INITIAL_PAGES; FREE(mintermPages); mintermPages = newMintermPages; } } /* Allocate a new page */ currentMintermPage = mintermPages[page] = ALLOC(double,pageSize); if (currentMintermPage == NULL) { for (i = 0; i < page; i++) FREE(mintermPages[i]); FREE(mintermPages); memOut = 1; return; } /* reset page index */ pageIndex = 0; return; } /* end of ResizeCountMintermPages */ /**Function******************************************************************** Synopsis [Resize the number of pages allocated to store the node counts.] Description [Resize the number of pages allocated to store the node counts. The procedure moves the counter to the next page when the end of the page is reached and allocates new pages when necessary.] SideEffects [Changes the size of pages, page, page index, maximum number of pages freeing stuff in case of memory out.] SeeAlso [] ******************************************************************************/ static void ResizeCountNodePages(void) { int i; int **newNodePages; page++; /* If the current page index is larger than the number of pages * allocated, allocate a new page array. The number of pages is incremented * by INITIAL_PAGES. */ if (page == maxPages) { newNodePages = ALLOC(int *,maxPages + INITIAL_PAGES); if (newNodePages == NULL) { for (i = 0; i < page; i++) FREE(nodePages[i]); FREE(nodePages); for (i = 0; i < page; i++) FREE(lightNodePages[i]); FREE(lightNodePages); memOut = 1; return; } else { for (i = 0; i < maxPages; i++) { newNodePages[i] = nodePages[i]; } FREE(nodePages); nodePages = newNodePages; } newNodePages = ALLOC(int *,maxPages + INITIAL_PAGES); if (newNodePages == NULL) { for (i = 0; i < page; i++) FREE(nodePages[i]); FREE(nodePages); for (i = 0; i < page; i++) FREE(lightNodePages[i]); FREE(lightNodePages); memOut = 1; return; } else { for (i = 0; i < maxPages; i++) { newNodePages[i] = lightNodePages[i]; } FREE(lightNodePages); lightNodePages = newNodePages; } /* Increase total page count */ maxPages += INITIAL_PAGES; } /* Allocate a new page */ currentNodePage = nodePages[page] = ALLOC(int,pageSize); if (currentNodePage == NULL) { for (i = 0; i < page; i++) FREE(nodePages[i]); FREE(nodePages); for (i = 0; i < page; i++) FREE(lightNodePages[i]); FREE(lightNodePages); memOut = 1; return; } /* Allocate a new page */ currentLightNodePage = lightNodePages[page] = ALLOC(int,pageSize); if (currentLightNodePage == NULL) { for (i = 0; i <= page; i++) FREE(nodePages[i]); FREE(nodePages); for (i = 0; i < page; i++) FREE(lightNodePages[i]); FREE(lightNodePages); memOut = 1; return; } /* reset page index */ pageIndex = 0; return; } /* end of ResizeCountNodePages */ /**Function******************************************************************** Synopsis [Recursively counts minterms of each node in the DAG.] Description [Recursively counts minterms of each node in the DAG. Similar to the cuddCountMintermAux which recursively counts the number of minterms for the dag rooted at each node in terms of the total number of variables (max). This procedure creates the node data structure and stores the minterm count as part of the node data structure. ] SideEffects [Creates structures of type node quality and fills the st_table] SeeAlso [SubsetCountMinterm] ******************************************************************************/ static double SubsetCountMintermAux( DdNode * node /* function to analyze */, double max /* number of minterms of constant 1 */, st_table * table /* visitedTable table */) { DdNode *N,*Nv,*Nnv; /* nodes to store cofactors */ double min,*pmin; /* minterm count */ double min1, min2; /* minterm count */ NodeData_t *dummy; NodeData_t *newEntry; int i; #ifdef DEBUG num_calls++; #endif /* Constant case */ if (Cudd_IsConstant(node)) { if (node == zero) { return(0.0); } else { return(max); } } else { /* check if entry for this node exists */ if (st_lookup(table, node, &dummy)) { min = *(dummy->mintermPointer); return(min); } /* Make the node regular to extract cofactors */ N = Cudd_Regular(node); /* store the cofactors */ Nv = Cudd_T(N); Nnv = Cudd_E(N); Nv = Cudd_NotCond(Nv, Cudd_IsComplement(node)); Nnv = Cudd_NotCond(Nnv, Cudd_IsComplement(node)); min1 = SubsetCountMintermAux(Nv, max,table)/2.0; if (memOut) return(0.0); min2 = SubsetCountMintermAux(Nnv,max,table)/2.0; if (memOut) return(0.0); min = (min1+min2); /* if page index is at the bottom, then create a new page */ if (pageIndex == pageSize) ResizeCountMintermPages(); if (memOut) { for (i = 0; i <= nodeDataPage; i++) FREE(nodeDataPages[i]); FREE(nodeDataPages); st_free_table(table); return(0.0); } /* point to the correct location in the page */ pmin = currentMintermPage+pageIndex; pageIndex++; /* store the minterm count of this node in the page */ *pmin = min; /* Note I allocate the struct here. Freeing taken care of later */ if (nodeDataPageIndex == nodeDataPageSize) ResizeNodeDataPages(); if (memOut) { for (i = 0; i <= page; i++) FREE(mintermPages[i]); FREE(mintermPages); st_free_table(table); return(0.0); } newEntry = currentNodeDataPage + nodeDataPageIndex; nodeDataPageIndex++; /* points to the correct location in the page */ newEntry->mintermPointer = pmin; /* initialize this field of the Node Quality structure */ newEntry->nodesPointer = NULL; /* insert entry for the node in the table */ if (st_insert(table,node, newEntry) == ST_OUT_OF_MEM) { memOut = 1; for (i = 0; i <= page; i++) FREE(mintermPages[i]); FREE(mintermPages); for (i = 0; i <= nodeDataPage; i++) FREE(nodeDataPages[i]); FREE(nodeDataPages); st_free_table(table); return(0.0); } return(min); } } /* end of SubsetCountMintermAux */ /**Function******************************************************************** Synopsis [Counts minterms of each node in the DAG] Description [Counts minterms of each node in the DAG. Similar to the Cudd_CountMinterm procedure except this returns the minterm count for all the nodes in the bdd in an st_table.] SideEffects [none] SeeAlso [SubsetCountMintermAux] ******************************************************************************/ static st_table * SubsetCountMinterm( DdNode * node /* function to be analyzed */, int nvars /* number of variables node depends on */) { st_table *table; int i; #ifdef DEBUG num_calls = 0; #endif max = pow(2.0,(double) nvars); table = st_init_table(st_ptrcmp,st_ptrhash); if (table == NULL) goto OUT_OF_MEM; maxPages = INITIAL_PAGES; mintermPages = ALLOC(double *,maxPages); if (mintermPages == NULL) { st_free_table(table); goto OUT_OF_MEM; } page = 0; currentMintermPage = ALLOC(double,pageSize); mintermPages[page] = currentMintermPage; if (currentMintermPage == NULL) { FREE(mintermPages); st_free_table(table); goto OUT_OF_MEM; } pageIndex = 0; maxNodeDataPages = INITIAL_PAGES; nodeDataPages = ALLOC(NodeData_t *, maxNodeDataPages); if (nodeDataPages == NULL) { for (i = 0; i <= page ; i++) FREE(mintermPages[i]); FREE(mintermPages); st_free_table(table); goto OUT_OF_MEM; } nodeDataPage = 0; currentNodeDataPage = ALLOC(NodeData_t ,nodeDataPageSize); nodeDataPages[nodeDataPage] = currentNodeDataPage; if (currentNodeDataPage == NULL) { for (i = 0; i <= page ; i++) FREE(mintermPages[i]); FREE(mintermPages); FREE(nodeDataPages); st_free_table(table); goto OUT_OF_MEM; } nodeDataPageIndex = 0; (void) SubsetCountMintermAux(node,max,table); if (memOut) goto OUT_OF_MEM; return(table); OUT_OF_MEM: memOut = 1; return(NULL); } /* end of SubsetCountMinterm */ /**Function******************************************************************** Synopsis [Recursively counts the number of nodes under the dag. Also counts the number of nodes under the lighter child of this node.] Description [Recursively counts the number of nodes under the dag. Also counts the number of nodes under the lighter child of this node. . Note that the same dag may be the lighter child of two different nodes and have different counts. As with the minterm counts, the node counts are stored in pages to be space efficient and the address for these node counts are stored in an st_table associated to each node. ] SideEffects [Updates the node data table with node counts] SeeAlso [SubsetCountNodes] ******************************************************************************/ static int SubsetCountNodesAux( DdNode * node /* current node */, st_table * table /* table to update node count, also serves as visited table. */, double max /* maximum number of variables */) { int tval, eval, i; DdNode *N, *Nv, *Nnv; double minNv, minNnv; NodeData_t *dummyN, *dummyNv, *dummyNnv, *dummyNBar; int *pmin, *pminBar, *val; if ((node == NULL) || Cudd_IsConstant(node)) return(0); /* if this node has been processed do nothing */ if (st_lookup(table, node, &dummyN) == 1) { val = dummyN->nodesPointer; if (val != NULL) return(0); } else { return(0); } N = Cudd_Regular(node); Nv = Cudd_T(N); Nnv = Cudd_E(N); Nv = Cudd_NotCond(Nv, Cudd_IsComplement(node)); Nnv = Cudd_NotCond(Nnv, Cudd_IsComplement(node)); /* find the minterm counts for the THEN and ELSE branches */ if (Cudd_IsConstant(Nv)) { if (Nv == zero) { minNv = 0.0; } else { minNv = max; } } else { if (st_lookup(table, Nv, &dummyNv) == 1) minNv = *(dummyNv->mintermPointer); else { return(0); } } if (Cudd_IsConstant(Nnv)) { if (Nnv == zero) { minNnv = 0.0; } else { minNnv = max; } } else { if (st_lookup(table, Nnv, &dummyNnv) == 1) { minNnv = *(dummyNnv->mintermPointer); } else { return(0); } } /* recur based on which has larger minterm, */ if (minNv >= minNnv) { tval = SubsetCountNodesAux(Nv, table, max); if (memOut) return(0); eval = SubsetCountNodesAux(Nnv, table, max); if (memOut) return(0); /* store the node count of the lighter child. */ if (pageIndex == pageSize) ResizeCountNodePages(); if (memOut) { for (i = 0; i <= page; i++) FREE(mintermPages[i]); FREE(mintermPages); for (i = 0; i <= nodeDataPage; i++) FREE(nodeDataPages[i]); FREE(nodeDataPages); st_free_table(table); return(0); } pmin = currentLightNodePage + pageIndex; *pmin = eval; /* Here the ELSE child is lighter */ dummyN->lightChildNodesPointer = pmin; } else { eval = SubsetCountNodesAux(Nnv, table, max); if (memOut) return(0); tval = SubsetCountNodesAux(Nv, table, max); if (memOut) return(0); /* store the node count of the lighter child. */ if (pageIndex == pageSize) ResizeCountNodePages(); if (memOut) { for (i = 0; i <= page; i++) FREE(mintermPages[i]); FREE(mintermPages); for (i = 0; i <= nodeDataPage; i++) FREE(nodeDataPages[i]); FREE(nodeDataPages); st_free_table(table); return(0); } pmin = currentLightNodePage + pageIndex; *pmin = tval; /* Here the THEN child is lighter */ dummyN->lightChildNodesPointer = pmin; } /* updating the page index for node count storage. */ pmin = currentNodePage + pageIndex; *pmin = tval + eval + 1; dummyN->nodesPointer = pmin; /* pageIndex is parallel page index for count_nodes and count_lightNodes */ pageIndex++; /* if this node has been reached first, it belongs to a heavier branch. Its complement will be reached later on a lighter branch. Hence the complement has zero node count. */ if (st_lookup(table, Cudd_Not(node), &dummyNBar) == 1) { if (pageIndex == pageSize) ResizeCountNodePages(); if (memOut) { for (i = 0; i < page; i++) FREE(mintermPages[i]); FREE(mintermPages); for (i = 0; i < nodeDataPage; i++) FREE(nodeDataPages[i]); FREE(nodeDataPages); st_free_table(table); return(0); } pminBar = currentLightNodePage + pageIndex; *pminBar = 0; dummyNBar->lightChildNodesPointer = pminBar; /* The lighter child has less nodes than the parent. * So if parent 0 then lighter child zero */ if (pageIndex == pageSize) ResizeCountNodePages(); if (memOut) { for (i = 0; i < page; i++) FREE(mintermPages[i]); FREE(mintermPages); for (i = 0; i < nodeDataPage; i++) FREE(nodeDataPages[i]); FREE(nodeDataPages); st_free_table(table); return(0); } pminBar = currentNodePage + pageIndex; *pminBar = 0; dummyNBar->nodesPointer = pminBar ; /* maybe should point to zero */ pageIndex++; } return(*pmin); } /*end of SubsetCountNodesAux */ /**Function******************************************************************** Synopsis [Counts the nodes under the current node and its lighter child] Description [Counts the nodes under the current node and its lighter child. Calls a recursive procedure to count the number of nodes of a DAG rooted at a particular node and the number of nodes taken by its lighter child.] SideEffects [None] SeeAlso [SubsetCountNodesAux] ******************************************************************************/ static int SubsetCountNodes( DdNode * node /* function to be analyzed */, st_table * table /* node quality table */, int nvars /* number of variables node depends on */) { int num; int i; #ifdef DEBUG num_calls = 0; #endif max = pow(2.0,(double) nvars); maxPages = INITIAL_PAGES; nodePages = ALLOC(int *,maxPages); if (nodePages == NULL) { goto OUT_OF_MEM; } lightNodePages = ALLOC(int *,maxPages); if (lightNodePages == NULL) { for (i = 0; i <= page; i++) FREE(mintermPages[i]); FREE(mintermPages); for (i = 0; i <= nodeDataPage; i++) FREE(nodeDataPages[i]); FREE(nodeDataPages); FREE(nodePages); goto OUT_OF_MEM; } page = 0; currentNodePage = nodePages[page] = ALLOC(int,pageSize); if (currentNodePage == NULL) { for (i = 0; i <= page; i++) FREE(mintermPages[i]); FREE(mintermPages); for (i = 0; i <= nodeDataPage; i++) FREE(nodeDataPages[i]); FREE(nodeDataPages); FREE(lightNodePages); FREE(nodePages); goto OUT_OF_MEM; } currentLightNodePage = lightNodePages[page] = ALLOC(int,pageSize); if (currentLightNodePage == NULL) { for (i = 0; i <= page; i++) FREE(mintermPages[i]); FREE(mintermPages); for (i = 0; i <= nodeDataPage; i++) FREE(nodeDataPages[i]); FREE(nodeDataPages); FREE(currentNodePage); FREE(lightNodePages); FREE(nodePages); goto OUT_OF_MEM; } pageIndex = 0; num = SubsetCountNodesAux(node,table,max); if (memOut) goto OUT_OF_MEM; return(num); OUT_OF_MEM: memOut = 1; return(0); } /* end of SubsetCountNodes */ /**Function******************************************************************** Synopsis [Procedure to recursively store nodes that are retained in the subset.] Description [rocedure to recursively store nodes that are retained in the subset.] SideEffects [None] SeeAlso [StoreNodes] ******************************************************************************/ static void StoreNodes( st_table * storeTable, DdManager * dd, DdNode * node) { DdNode *N, *Nt, *Ne; if (Cudd_IsConstant(dd)) { return; } N = Cudd_Regular(node); if (st_lookup(storeTable, N, NULL)) { return; } cuddRef(N); if (st_insert(storeTable, N, NULL) == ST_OUT_OF_MEM) { fprintf(dd->err,"Something wrong, st_table insert failed\n"); } Nt = Cudd_T(N); Ne = Cudd_E(N); StoreNodes(storeTable, dd, Nt); StoreNodes(storeTable, dd, Ne); return; } /**Function******************************************************************** Synopsis [Builds the subset BDD using the heavy branch method.] Description [The procedure carries out the building of the subset BDD starting at the root. Using the three different counts labelling each node, the procedure chooses the heavier branch starting from the root and keeps track of the number of nodes it discards at each step, thus keeping count of the size of the subset BDD dynamically. Once the threshold is satisfied, the procedure then calls ITE to build the BDD.] SideEffects [None] SeeAlso [] ******************************************************************************/ static DdNode * BuildSubsetBdd( DdManager * dd /* DD manager */, DdNode * node /* current node */, int * size /* current size of the subset */, st_table * visitedTable /* visited table storing all node data */, int threshold, st_table * storeTable, st_table * approxTable) { DdNode *Nv, *Nnv, *N, *topv, *neW; double minNv, minNnv; NodeData_t *currNodeQual; NodeData_t *currNodeQualT; NodeData_t *currNodeQualE; DdNode *ThenBranch, *ElseBranch; unsigned int topid; char *dummy; #ifdef DEBUG num_calls++; #endif /*If the size of the subset is below the threshold, dont do anything. */ if ((*size) <= threshold) { /* store nodes below this, so we can recombine if possible */ StoreNodes(storeTable, dd, node); return(node); } if (Cudd_IsConstant(node)) return(node); /* Look up minterm count for this node. */ if (!st_lookup(visitedTable, node, &currNodeQual)) { fprintf(dd->err, "Something is wrong, ought to be in node quality table\n"); } /* Get children. */ N = Cudd_Regular(node); Nv = Cudd_T(N); Nnv = Cudd_E(N); /* complement if necessary */ Nv = Cudd_NotCond(Nv, Cudd_IsComplement(node)); Nnv = Cudd_NotCond(Nnv, Cudd_IsComplement(node)); if (!Cudd_IsConstant(Nv)) { /* find out minterms and nodes contributed by then child */ if (!st_lookup(visitedTable, Nv, &currNodeQualT)) { fprintf(dd->out,"Something wrong, couldnt find nodes in node quality table\n"); dd->errorCode = CUDD_INTERNAL_ERROR; return(NULL); } else { minNv = *(((NodeData_t *)currNodeQualT)->mintermPointer); } } else { if (Nv == zero) { minNv = 0; } else { minNv = max; } } if (!Cudd_IsConstant(Nnv)) { /* find out minterms and nodes contributed by else child */ if (!st_lookup(visitedTable, Nnv, &currNodeQualE)) { fprintf(dd->out,"Something wrong, couldnt find nodes in node quality table\n"); dd->errorCode = CUDD_INTERNAL_ERROR; return(NULL); } else { minNnv = *(((NodeData_t *)currNodeQualE)->mintermPointer); } } else { if (Nnv == zero) { minNnv = 0; } else { minNnv = max; } } /* keep track of size of subset by subtracting the number of * differential nodes contributed by lighter child */ *size = (*(size)) - (int)*(currNodeQual->lightChildNodesPointer); if (minNv >= minNnv) { /*SubsetCountNodesAux procedure takes the Then branch in case of a tie */ /* recur with the Then branch */ ThenBranch = (DdNode *)BuildSubsetBdd(dd, Nv, size, visitedTable, threshold, storeTable, approxTable); if (ThenBranch == NULL) { return(NULL); } cuddRef(ThenBranch); /* The Else branch is either a node that already exists in the * subset, or one whose approximation has been computed, or * Zero. */ if (st_lookup(storeTable, Cudd_Regular(Nnv), &dummy)) { ElseBranch = Nnv; cuddRef(ElseBranch); } else { if (st_lookup(approxTable, Nnv, &dummy)) { ElseBranch = (DdNode *)dummy; cuddRef(ElseBranch); } else { ElseBranch = zero; cuddRef(ElseBranch); } } } else { /* recur with the Else branch */ ElseBranch = (DdNode *)BuildSubsetBdd(dd, Nnv, size, visitedTable, threshold, storeTable, approxTable); if (ElseBranch == NULL) { return(NULL); } cuddRef(ElseBranch); /* The Then branch is either a node that already exists in the * subset, or one whose approximation has been computed, or * Zero. */ if (st_lookup(storeTable, Cudd_Regular(Nv), &dummy)) { ThenBranch = Nv; cuddRef(ThenBranch); } else { if (st_lookup(approxTable, Nv, &dummy)) { ThenBranch = (DdNode *)dummy; cuddRef(ThenBranch); } else { ThenBranch = zero; cuddRef(ThenBranch); } } } /* construct the Bdd with the top variable and the two children */ topid = Cudd_NodeReadIndex(N); topv = Cudd_ReadVars(dd, topid); cuddRef(topv); neW = cuddBddIteRecur(dd, topv, ThenBranch, ElseBranch); if (neW != NULL) { cuddRef(neW); } Cudd_RecursiveDeref(dd, topv); Cudd_RecursiveDeref(dd, ThenBranch); Cudd_RecursiveDeref(dd, ElseBranch); if (neW == NULL) return(NULL); else { /* store this node in the store table */ if (!st_lookup(storeTable, Cudd_Regular(neW), &dummy)) { cuddRef(neW); if (st_insert(storeTable, Cudd_Regular(neW), NULL) == ST_OUT_OF_MEM) return (NULL); } /* store the approximation for this node */ if (N != Cudd_Regular(neW)) { if (st_lookup(approxTable, node, &dummy)) { fprintf(dd->err, "This node should not be in the approximated table\n"); } else { cuddRef(neW); if (st_insert(approxTable, node, neW) == ST_OUT_OF_MEM) return(NULL); } } cuddDeref(neW); return(neW); } } /* end of BuildSubsetBdd */ BRiAl-1.2.12/cudd/cuddSubsetSP.c000066400000000000000000001557751436062512100162050ustar00rootroot00000000000000/**CFile*********************************************************************** FileName [cuddSubsetSP.c] PackageName [cudd] Synopsis [Procedure to subset the given BDD choosing the shortest paths (largest cubes) in the BDD.] Description [External procedures included in this module:
        • Cudd_SubsetShortPaths()
        • Cudd_SupersetShortPaths()
        Internal procedures included in this module:
        • cuddSubsetShortPaths()
        Static procedures included in this module:
        • BuildSubsetBdd()
        • CreatePathTable()
        • AssessPathLength()
        • CreateTopDist()
        • CreateBotDist()
        • ResizeNodeDistPages()
        • ResizeQueuePages()
        • stPathTableDdFree()
        ] SeeAlso [cuddSubsetHB.c] Author [Kavita Ravi] Copyright [Copyright (c) 1995-2012, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.] ******************************************************************************/ #include "util.h" #include "cuddInt.h" /*---------------------------------------------------------------------------*/ /* Constant declarations */ /*---------------------------------------------------------------------------*/ #define DEFAULT_PAGE_SIZE 2048 /* page size to store the BFS queue element type */ #define DEFAULT_NODE_DIST_PAGE_SIZE 2048 /* page size to store NodeDist_t type */ #define MAXSHORTINT ((DdHalfWord) ~0) /* constant defined to store * maximum distance of a node * from the root or the constant */ #define INITIAL_PAGES 128 /* number of initial pages for the * queue/NodeDist_t type */ /*---------------------------------------------------------------------------*/ /* Stucture declarations */ /*---------------------------------------------------------------------------*/ /* structure created to store subset results for each node and distances with * odd and even parity of the node from the root and sink. Main data structure * in this procedure. */ struct NodeDist { DdHalfWord oddTopDist; DdHalfWord evenTopDist; DdHalfWord oddBotDist; DdHalfWord evenBotDist; DdNode *regResult; DdNode *compResult; }; /* assorted information needed by the BuildSubsetBdd procedure. */ struct AssortedInfo { unsigned int maxpath; int findShortestPath; int thresholdReached; st_table *maxpathTable; int threshold; }; struct GlobalInfo { struct NodeDist **nodeDistPages; /* pointers to the pages */ int nodeDistPageIndex; /* index to next element */ int nodeDistPage; /* index to current page */ int nodeDistPageSize; /* page size */ int maxNodeDistPages; /* number of page pointers */ struct NodeDist *currentNodeDistPage; /* current page */ DdNode ***queuePages; /* pointers to the pages */ int queuePageIndex; /* index to next element */ int queuePage; /* index to current page */ int queuePageSize; /* page size */ int maxQueuePages; /* number of page pointers */ DdNode **currentQueuePage; /* current page */ #ifdef DD_DEBUG int numCalls; int hits; int thishit; #endif }; /*---------------------------------------------------------------------------*/ /* Type declarations */ /*---------------------------------------------------------------------------*/ typedef struct NodeDist NodeDist_t; typedef struct GlobalInfo GlobalInfo_t; /*---------------------------------------------------------------------------*/ /* Variable declarations */ /*---------------------------------------------------------------------------*/ #ifndef lint static char rcsid[] DD_UNUSED = "$Id: cuddSubsetSP.c,v 1.36 2012/02/05 01:07:19 fabio Exp $"; #endif /*---------------------------------------------------------------------------*/ /* Macro declarations */ /*---------------------------------------------------------------------------*/ #ifdef __cplusplus extern "C" { #endif /**AutomaticStart*************************************************************/ /*---------------------------------------------------------------------------*/ /* Static function prototypes */ /*---------------------------------------------------------------------------*/ static void ResizeNodeDistPages (DdManager *dd, GlobalInfo_t *gInfo); static void ResizeQueuePages (DdManager *dd, GlobalInfo_t *gInfo); static void CreateTopDist (DdManager *dd, GlobalInfo_t *gInfo, st_table *pathTable, int parentPage, int parentQueueIndex, int topLen, DdNode **childPage, int childQueueIndex, int numParents, FILE *fp); static int CreateBotDist (DdNode *node, st_table *pathTable, unsigned int *pathLengthArray, FILE *fp); static st_table * CreatePathTable (DdManager *dd, GlobalInfo_t *gInfo, DdNode *node, unsigned int *pathLengthArray, FILE *fp); static unsigned int AssessPathLength (unsigned int *pathLengthArray, int threshold, int numVars, unsigned int *excess, FILE *fp); static DdNode * BuildSubsetBdd (DdManager *dd, GlobalInfo_t *gInfo, st_table *pathTable, DdNode *node, struct AssortedInfo *info, st_table *subsetNodeTable); static enum st_retval stPathTableDdFree (char *key, char *value, char *arg); /**AutomaticEnd***************************************************************/ #ifdef __cplusplus } #endif /*---------------------------------------------------------------------------*/ /* Definition of Exported functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Extracts a dense subset from a BDD with the shortest paths heuristic.] Description [Extracts a dense subset from a BDD. This procedure tries to preserve the shortest paths of the input BDD, because they give many minterms and contribute few nodes. This procedure may increase the number of nodes in trying to create the subset or reduce the number of nodes due to recombination as compared to the original BDD. Hence the threshold may not be strictly adhered to. In practice, recombination overshadows the increase in the number of nodes and results in small BDDs as compared to the threshold. The hardlimit specifies whether threshold needs to be strictly adhered to. If it is set to 1, the procedure ensures that result is never larger than the specified limit but may be considerably less than the threshold. Returns a pointer to the BDD for the subset if successful; NULL otherwise. The value for numVars should be as close as possible to the size of the support of f for better efficiency. However, it is safe to pass the value returned by Cudd_ReadSize for numVars. If 0 is passed, then the value returned by Cudd_ReadSize is used.] SideEffects [None] SeeAlso [Cudd_SupersetShortPaths Cudd_SubsetHeavyBranch Cudd_ReadSize] ******************************************************************************/ DdNode * Cudd_SubsetShortPaths( DdManager * dd /* manager */, DdNode * f /* function to be subset */, int numVars /* number of variables in the support of f */, int threshold /* maximum number of nodes in the subset */, int hardlimit /* flag: 1 if threshold is a hard limit */) { DdNode *subset; do { dd->reordered = 0; subset = cuddSubsetShortPaths(dd, f, numVars, threshold, hardlimit); } while(dd->reordered == 1); return(subset); } /* end of Cudd_SubsetShortPaths */ /**Function******************************************************************** Synopsis [Extracts a dense superset from a BDD with the shortest paths heuristic.] Description [Extracts a dense superset from a BDD. The procedure is identical to the subset procedure except for the fact that it receives the complement of the given function. Extracting the subset of the complement function is equivalent to extracting the superset of the function. This procedure tries to preserve the shortest paths of the complement BDD, because they give many minterms and contribute few nodes. This procedure may increase the number of nodes in trying to create the superset or reduce the number of nodes due to recombination as compared to the original BDD. Hence the threshold may not be strictly adhered to. In practice, recombination overshadows the increase in the number of nodes and results in small BDDs as compared to the threshold. The hardlimit specifies whether threshold needs to be strictly adhered to. If it is set to 1, the procedure ensures that result is never larger than the specified limit but may be considerably less than the threshold. Returns a pointer to the BDD for the superset if successful; NULL otherwise. The value for numVars should be as close as possible to the size of the support of f for better efficiency. However, it is safe to pass the value returned by Cudd_ReadSize for numVar. If 0 is passed, then the value returned by Cudd_ReadSize is used.] SideEffects [None] SeeAlso [Cudd_SubsetShortPaths Cudd_SupersetHeavyBranch Cudd_ReadSize] ******************************************************************************/ DdNode * Cudd_SupersetShortPaths( DdManager * dd /* manager */, DdNode * f /* function to be superset */, int numVars /* number of variables in the support of f */, int threshold /* maximum number of nodes in the subset */, int hardlimit /* flag: 1 if threshold is a hard limit */) { DdNode *subset, *g; g = Cudd_Not(f); do { dd->reordered = 0; subset = cuddSubsetShortPaths(dd, g, numVars, threshold, hardlimit); } while(dd->reordered == 1); return(Cudd_NotCond(subset, (subset != NULL))); } /* end of Cudd_SupersetShortPaths */ /*---------------------------------------------------------------------------*/ /* Definition of internal functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [The outermost procedure to return a subset of the given BDD with the shortest path lengths.] Description [The outermost procedure to return a subset of the given BDD with the largest cubes. The path lengths are calculated, the maximum allowable path length is determined and the number of nodes of this path length that can be used to build a subset. If the threshold is larger than the size of the original BDD, the original BDD is returned. ] SideEffects [None] SeeAlso [Cudd_SubsetShortPaths] ******************************************************************************/ DdNode * cuddSubsetShortPaths( DdManager * dd /* DD manager */, DdNode * f /* function to be subset */, int numVars /* total number of variables in consideration */, int threshold /* maximum number of nodes allowed in the subset */, int hardlimit /* flag determining whether threshold should be respected strictly */) { GlobalInfo_t gInfo; st_table *pathTable; DdNode *N, *subset; unsigned int *pathLengthArray; unsigned int maxpath, oddLen, evenLen, pathLength, *excess; int i; NodeDist_t *nodeStat; struct AssortedInfo *info; st_table *subsetNodeTable; gInfo.nodeDistPageSize = DEFAULT_NODE_DIST_PAGE_SIZE; gInfo.queuePageSize = DEFAULT_PAGE_SIZE; if (numVars == 0) { /* set default value */ numVars = Cudd_ReadSize(dd); } if (threshold > numVars) { threshold = threshold - numVars; } if (f == NULL) { fprintf(dd->err, "Cannot partition, nil object\n"); dd->errorCode = CUDD_INVALID_ARG; return(NULL); } if (Cudd_IsConstant(f)) return (f); pathLengthArray = ALLOC(unsigned int, numVars+1); for (i = 0; i < numVars+1; i++) pathLengthArray[i] = 0; #ifdef DD_DEBUG gInfo.numCalls = 0; #endif pathTable = CreatePathTable(dd, &gInfo, f, pathLengthArray, dd->err); if ((pathTable == NULL) || (dd->errorCode == CUDD_MEMORY_OUT)) { if (pathTable != NULL) st_free_table(pathTable); FREE(pathLengthArray); return (NIL(DdNode)); } excess = ALLOC(unsigned int, 1); *excess = 0; maxpath = AssessPathLength(pathLengthArray, threshold, numVars, excess, dd->err); if (maxpath != (unsigned) (numVars + 1)) { info = ALLOC(struct AssortedInfo, 1); info->maxpath = maxpath; info->findShortestPath = 0; info->thresholdReached = *excess; info->maxpathTable = st_init_table(st_ptrcmp, st_ptrhash); info->threshold = threshold; #ifdef DD_DEBUG (void) fprintf(dd->out, "Path length array\n"); for (i = 0; i < (numVars+1); i++) { if (pathLengthArray[i]) (void) fprintf(dd->out, "%d ",i); } (void) fprintf(dd->out, "\n"); for (i = 0; i < (numVars+1); i++) { if (pathLengthArray[i]) (void) fprintf(dd->out, "%d ",pathLengthArray[i]); } (void) fprintf(dd->out, "\n"); (void) fprintf(dd->out, "Maxpath = %d, Thresholdreached = %d\n", maxpath, info->thresholdReached); #endif N = Cudd_Regular(f); if (!st_lookup(pathTable, N, &nodeStat)) { fprintf(dd->err, "Something wrong, root node must be in table\n"); dd->errorCode = CUDD_INTERNAL_ERROR; FREE(excess); FREE(info); return(NULL); } else { if ((nodeStat->oddTopDist != MAXSHORTINT) && (nodeStat->oddBotDist != MAXSHORTINT)) oddLen = (nodeStat->oddTopDist + nodeStat->oddBotDist); else oddLen = MAXSHORTINT; if ((nodeStat->evenTopDist != MAXSHORTINT) && (nodeStat->evenBotDist != MAXSHORTINT)) evenLen = (nodeStat->evenTopDist +nodeStat->evenBotDist); else evenLen = MAXSHORTINT; pathLength = (oddLen <= evenLen) ? oddLen : evenLen; if (pathLength > maxpath) { (void) fprintf(dd->err, "All computations are bogus, since root has path length greater than max path length within threshold %u, %u\n", maxpath, pathLength); dd->errorCode = CUDD_INTERNAL_ERROR; return(NULL); } } #ifdef DD_DEBUG gInfo.numCalls = 0; gInfo.hits = 0; gInfo.thishit = 0; #endif /* initialize a table to store computed nodes */ if (hardlimit) { subsetNodeTable = st_init_table(st_ptrcmp, st_ptrhash); } else { subsetNodeTable = NIL(st_table); } subset = BuildSubsetBdd(dd, &gInfo, pathTable, f, info, subsetNodeTable); if (subset != NULL) { cuddRef(subset); } /* record the number of times a computed result for a node is hit */ #ifdef DD_DEBUG (void) fprintf(dd->out, "Hits = %d, New==Node = %d, NumCalls = %d\n", gInfo.hits, gInfo.thishit, gInfo.numCalls); #endif if (subsetNodeTable != NIL(st_table)) { st_free_table(subsetNodeTable); } st_free_table(info->maxpathTable); st_foreach(pathTable, stPathTableDdFree, (char *)dd); FREE(info); } else {/* if threshold larger than size of dd */ subset = f; cuddRef(subset); } FREE(excess); st_free_table(pathTable); FREE(pathLengthArray); for (i = 0; i <= gInfo.nodeDistPage; i++) FREE(gInfo.nodeDistPages[i]); FREE(gInfo.nodeDistPages); #ifdef DD_DEBUG /* check containment of subset in f */ if (subset != NULL) { if (!Cudd_bddLeq(dd, subset, f)) { (void) fprintf(dd->err, "Wrong partition\n"); dd->errorCode = CUDD_INTERNAL_ERROR; return(NULL); } } #endif if (subset != NULL) { cuddDeref(subset); return(subset); } else { return(NULL); } } /* end of cuddSubsetShortPaths */ /*---------------------------------------------------------------------------*/ /* Definition of static functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Resize the number of pages allocated to store the distances related to each node.] Description [Resize the number of pages allocated to store the distances related to each node. The procedure moves the counter to the next page when the end of the page is reached and allocates new pages when necessary. ] SideEffects [Changes the size of pages, page, page index, maximum number of pages freeing stuff in case of memory out. ] SeeAlso [] ******************************************************************************/ static void ResizeNodeDistPages( DdManager *dd /* DD manager */, GlobalInfo_t *gInfo /* global information */) { int i; NodeDist_t **newNodeDistPages; /* move to next page */ gInfo->nodeDistPage++; /* If the current page index is larger than the number of pages * allocated, allocate a new page array. Page numbers are incremented by * INITIAL_PAGES */ if (gInfo->nodeDistPage == gInfo->maxNodeDistPages) { newNodeDistPages = ALLOC(NodeDist_t *,gInfo->maxNodeDistPages + INITIAL_PAGES); if (newNodeDistPages == NULL) { for (i = 0; i < gInfo->nodeDistPage; i++) FREE(gInfo->nodeDistPages[i]); FREE(gInfo->nodeDistPages); dd->errorCode = CUDD_MEMORY_OUT; return; } else { for (i = 0; i < gInfo->maxNodeDistPages; i++) { newNodeDistPages[i] = gInfo->nodeDistPages[i]; } /* Increase total page count */ gInfo->maxNodeDistPages += INITIAL_PAGES; FREE(gInfo->nodeDistPages); gInfo->nodeDistPages = newNodeDistPages; } } /* Allocate a new page */ gInfo->currentNodeDistPage = gInfo->nodeDistPages[gInfo->nodeDistPage] = ALLOC(NodeDist_t, gInfo->nodeDistPageSize); if (gInfo->currentNodeDistPage == NULL) { for (i = 0; i < gInfo->nodeDistPage; i++) FREE(gInfo->nodeDistPages[i]); FREE(gInfo->nodeDistPages); dd->errorCode = CUDD_MEMORY_OUT; return; } /* reset page index */ gInfo->nodeDistPageIndex = 0; return; } /* end of ResizeNodeDistPages */ /**Function******************************************************************** Synopsis [Resize the number of pages allocated to store nodes in the BFS traversal of the Bdd .] Description [Resize the number of pages allocated to store nodes in the BFS traversal of the Bdd. The procedure moves the counter to the next page when the end of the page is reached and allocates new pages when necessary.] SideEffects [Changes the size of pages, page, page index, maximum number of pages freeing stuff in case of memory out. ] SeeAlso [] ******************************************************************************/ static void ResizeQueuePages( DdManager *dd /* DD manager */, GlobalInfo_t *gInfo /* global information */) { int i; DdNode ***newQueuePages; gInfo->queuePage++; /* If the current page index is larger than the number of pages * allocated, allocate a new page array. Page numbers are incremented by * INITIAL_PAGES */ if (gInfo->queuePage == gInfo->maxQueuePages) { newQueuePages = ALLOC(DdNode **,gInfo->maxQueuePages + INITIAL_PAGES); if (newQueuePages == NULL) { for (i = 0; i < gInfo->queuePage; i++) FREE(gInfo->queuePages[i]); FREE(gInfo->queuePages); dd->errorCode = CUDD_MEMORY_OUT; return; } else { for (i = 0; i < gInfo->maxQueuePages; i++) { newQueuePages[i] = gInfo->queuePages[i]; } /* Increase total page count */ gInfo->maxQueuePages += INITIAL_PAGES; FREE(gInfo->queuePages); gInfo->queuePages = newQueuePages; } } /* Allocate a new page */ gInfo->currentQueuePage = gInfo->queuePages[gInfo->queuePage] = ALLOC(DdNode *,gInfo->queuePageSize); if (gInfo->currentQueuePage == NULL) { for (i = 0; i < gInfo->queuePage; i++) FREE(gInfo->queuePages[i]); FREE(gInfo->queuePages); dd->errorCode = CUDD_MEMORY_OUT; return; } /* reset page index */ gInfo->queuePageIndex = 0; return; } /* end of ResizeQueuePages */ /**Function******************************************************************** Synopsis [ Labels each node with its shortest distance from the root] Description [ Labels each node with its shortest distance from the root. This is done in a BFS search of the BDD. The nodes are processed in a queue implemented as pages(array) to reduce memory fragmentation. An entry is created for each node visited. The distance from the root to the node with the corresponding parity is updated. The procedure is called recursively each recusion level handling nodes at a given level from the root.] SideEffects [Creates entries in the pathTable] SeeAlso [CreatePathTable CreateBotDist] ******************************************************************************/ static void CreateTopDist( DdManager *dd /* DD manager */, GlobalInfo_t *gInfo /* global information */, st_table * pathTable /* hast table to store path lengths */, int parentPage /* the pointer to the page on which the first parent in the queue is to be found. */, int parentQueueIndex /* pointer to the first parent on the page */, int topLen /* current distance from the root */, DdNode ** childPage /* pointer to the page on which the first child is to be added. */, int childQueueIndex /* pointer to the first child */, int numParents /* number of parents to process in this recursive call */, FILE *fp /* where to write messages */) { NodeDist_t *nodeStat; DdNode *N, *Nv, *Nnv, *node, *child, *regChild; int i; int processingDone, childrenCount; #ifdef DD_DEBUG gInfo->numCalls++; /* assume this procedure comes in with only the root node*/ /* set queue index to the next available entry for addition */ /* set queue page to page of addition */ if ((gInfo->queuePages[parentPage] == childPage) && (parentQueueIndex == childQueueIndex)) { fprintf(fp, "Should not happen that they are equal\n"); } assert(gInfo->queuePageIndex == childQueueIndex); assert(gInfo->currentQueuePage == childPage); #endif /* number children added to queue is initialized , needed for * numParents in the next call */ childrenCount = 0; /* process all the nodes in this level */ while (numParents) { numParents--; if (parentQueueIndex == gInfo->queuePageSize) { parentPage++; parentQueueIndex = 0; } /* a parent to process */ node = *(gInfo->queuePages[parentPage] + parentQueueIndex); parentQueueIndex++; /* get its children */ N = Cudd_Regular(node); Nv = Cudd_T(N); Nnv = Cudd_E(N); Nv = Cudd_NotCond(Nv, Cudd_IsComplement(node)); Nnv = Cudd_NotCond(Nnv, Cudd_IsComplement(node)); processingDone = 2; while (processingDone) { /* processing the THEN and the ELSE children, the THEN * child first */ if (processingDone == 2) { child = Nv; } else { child = Nnv; } regChild = Cudd_Regular(child); /* dont process if the child is a constant */ if (!Cudd_IsConstant(child)) { /* check is already visited, if not add a new entry in * the path Table */ if (!st_lookup(pathTable, regChild, &nodeStat)) { /* if not in table, has never been visited */ /* create entry for table */ if (gInfo->nodeDistPageIndex == gInfo->nodeDistPageSize) ResizeNodeDistPages(dd, gInfo); if (dd->errorCode == CUDD_MEMORY_OUT) { for (i = 0; i <= gInfo->queuePage; i++) FREE(gInfo->queuePages[i]); FREE(gInfo->queuePages); st_free_table(pathTable); return; } /* New entry for child in path Table is created here */ nodeStat = gInfo->currentNodeDistPage + gInfo->nodeDistPageIndex; gInfo->nodeDistPageIndex++; /* Initialize fields of the node data */ nodeStat->oddTopDist = MAXSHORTINT; nodeStat->evenTopDist = MAXSHORTINT; nodeStat->evenBotDist = MAXSHORTINT; nodeStat->oddBotDist = MAXSHORTINT; nodeStat->regResult = NULL; nodeStat->compResult = NULL; /* update the table entry element, the distance keeps * track of the parity of the path from the root */ if (Cudd_IsComplement(child)) { nodeStat->oddTopDist = (DdHalfWord) topLen + 1; } else { nodeStat->evenTopDist = (DdHalfWord) topLen + 1; } /* insert entry element for child in the table */ if (st_insert(pathTable, regChild, nodeStat) == ST_OUT_OF_MEM) { dd->errorCode = CUDD_MEMORY_OUT; for (i = 0; i <= gInfo->nodeDistPage; i++) FREE(gInfo->nodeDistPages[i]); FREE(gInfo->nodeDistPages); for (i = 0; i <= gInfo->queuePage; i++) FREE(gInfo->queuePages[i]); FREE(gInfo->queuePages); st_free_table(pathTable); return; } /* Create list element for this child to process its children. * If this node has been processed already, then it appears * in the path table and hence is never added to the list * again. */ if (gInfo->queuePageIndex == gInfo->queuePageSize) ResizeQueuePages(dd, gInfo); if (dd->errorCode == CUDD_MEMORY_OUT) { for (i = 0; i <= gInfo->nodeDistPage; i++) FREE(gInfo->nodeDistPages[i]); FREE(gInfo->nodeDistPages); st_free_table(pathTable); return; } *(gInfo->currentQueuePage + gInfo->queuePageIndex) = child; gInfo->queuePageIndex++; childrenCount++; } else { /* if not been met in a path with this parity before */ /* put in list */ if (((Cudd_IsComplement(child)) && (nodeStat->oddTopDist == MAXSHORTINT)) || ((!Cudd_IsComplement(child)) && (nodeStat->evenTopDist == MAXSHORTINT))) { if (gInfo->queuePageIndex == gInfo->queuePageSize) ResizeQueuePages(dd, gInfo); if (dd->errorCode == CUDD_MEMORY_OUT) { for (i = 0; i <= gInfo->nodeDistPage; i++) FREE(gInfo->nodeDistPages[i]); FREE(gInfo->nodeDistPages); st_free_table(pathTable); return; } *(gInfo->currentQueuePage + gInfo->queuePageIndex) = child; gInfo->queuePageIndex++; /* update the distance with the appropriate parity */ if (Cudd_IsComplement(child)) { nodeStat->oddTopDist = (DdHalfWord) topLen + 1; } else { nodeStat->evenTopDist = (DdHalfWord) topLen + 1; } childrenCount++; } } /* end of else (not found in st_table) */ } /*end of if Not constant child */ processingDone--; } /*end of while processing Nv, Nnv */ } /*end of while numParents */ #ifdef DD_DEBUG assert(gInfo->queuePages[parentPage] == childPage); assert(parentQueueIndex == childQueueIndex); #endif if (childrenCount != 0) { topLen++; childPage = gInfo->currentQueuePage; childQueueIndex = gInfo->queuePageIndex; CreateTopDist(dd, gInfo, pathTable, parentPage, parentQueueIndex, topLen, childPage, childQueueIndex, childrenCount, fp); } return; } /* end of CreateTopDist */ /**Function******************************************************************** Synopsis [ Labels each node with the shortest distance from the constant.] Description [Labels each node with the shortest distance from the constant. This is done in a DFS search of the BDD. Each node has an odd and even parity distance from the sink (since there exists paths to both zero and one) which is less than MAXSHORTINT. At each node these distances are updated using the minimum distance of its children from the constant. SInce now both the length from the root and child is known, the minimum path length(length of the shortest path between the root and the constant that this node lies on) of this node can be calculated and used to update the pathLengthArray] SideEffects [Updates Path Table and path length array] SeeAlso [CreatePathTable CreateTopDist AssessPathLength] ******************************************************************************/ static int CreateBotDist( DdNode * node /* current node */, st_table * pathTable /* path table with path lengths */, unsigned int * pathLengthArray /* array that stores number of nodes belonging to a particular path length. */, FILE *fp /* where to write messages */) { DdNode *N, *Nv, *Nnv; DdNode *realChild; DdNode *child, *regChild; NodeDist_t *nodeStat, *nodeStatChild; unsigned int oddLen, evenLen, pathLength; DdHalfWord botDist; int processingDone; if (Cudd_IsConstant(node)) return(1); N = Cudd_Regular(node); /* each node has one table entry */ /* update as you go down the min dist of each node from the root in each (odd and even) parity */ if (!st_lookup(pathTable, N, &nodeStat)) { fprintf(fp, "Something wrong, the entry doesn't exist\n"); return(0); } /* compute length of odd parity distances */ if ((nodeStat->oddTopDist != MAXSHORTINT) && (nodeStat->oddBotDist != MAXSHORTINT)) oddLen = (nodeStat->oddTopDist + nodeStat->oddBotDist); else oddLen = MAXSHORTINT; /* compute length of even parity distances */ if (!((nodeStat->evenTopDist == MAXSHORTINT) || (nodeStat->evenBotDist == MAXSHORTINT))) evenLen = (nodeStat->evenTopDist +nodeStat->evenBotDist); else evenLen = MAXSHORTINT; /* assign pathlength to minimum of the two */ pathLength = (oddLen <= evenLen) ? oddLen : evenLen; Nv = Cudd_T(N); Nnv = Cudd_E(N); /* process each child */ processingDone = 0; while (processingDone != 2) { if (!processingDone) { child = Nv; } else { child = Nnv; } realChild = Cudd_NotCond(child, Cudd_IsComplement(node)); regChild = Cudd_Regular(child); if (Cudd_IsConstant(realChild)) { /* Found a minterm; count parity and shortest distance ** from the constant. */ if (Cudd_IsComplement(child)) nodeStat->oddBotDist = 1; else nodeStat->evenBotDist = 1; } else { /* If node not in table, recur. */ if (!st_lookup(pathTable, regChild, &nodeStatChild)) { fprintf(fp, "Something wrong, node in table should have been created in top dist proc.\n"); return(0); } if (nodeStatChild->oddBotDist == MAXSHORTINT) { if (nodeStatChild->evenBotDist == MAXSHORTINT) { if (!CreateBotDist(realChild, pathTable, pathLengthArray, fp)) return(0); } else { fprintf(fp, "Something wrong, both bot nodeStats should be there\n"); return(0); } } /* Update shortest distance from the constant depending on ** parity. */ if (Cudd_IsComplement(child)) { /* If parity on the edge then add 1 to even distance ** of child to get odd parity distance and add 1 to ** odd distance of child to get even parity ** distance. Change distance of current node only if ** the calculated distance is less than existing ** distance. */ if (nodeStatChild->oddBotDist != MAXSHORTINT) botDist = nodeStatChild->oddBotDist + 1; else botDist = MAXSHORTINT; if (nodeStat->evenBotDist > botDist ) nodeStat->evenBotDist = botDist; if (nodeStatChild->evenBotDist != MAXSHORTINT) botDist = nodeStatChild->evenBotDist + 1; else botDist = MAXSHORTINT; if (nodeStat->oddBotDist > botDist) nodeStat->oddBotDist = botDist; } else { /* If parity on the edge then add 1 to even distance ** of child to get even parity distance and add 1 to ** odd distance of child to get odd parity distance. ** Change distance of current node only if the ** calculated distance is lesser than existing ** distance. */ if (nodeStatChild->evenBotDist != MAXSHORTINT) botDist = nodeStatChild->evenBotDist + 1; else botDist = MAXSHORTINT; if (nodeStat->evenBotDist > botDist) nodeStat->evenBotDist = botDist; if (nodeStatChild->oddBotDist != MAXSHORTINT) botDist = nodeStatChild->oddBotDist + 1; else botDist = MAXSHORTINT; if (nodeStat->oddBotDist > botDist) nodeStat->oddBotDist = botDist; } } /* end of else (if not constant child ) */ processingDone++; } /* end of while processing Nv, Nnv */ /* Compute shortest path length on the fly. */ if ((nodeStat->oddTopDist != MAXSHORTINT) && (nodeStat->oddBotDist != MAXSHORTINT)) oddLen = (nodeStat->oddTopDist + nodeStat->oddBotDist); else oddLen = MAXSHORTINT; if ((nodeStat->evenTopDist != MAXSHORTINT) && (nodeStat->evenBotDist != MAXSHORTINT)) evenLen = (nodeStat->evenTopDist +nodeStat->evenBotDist); else evenLen = MAXSHORTINT; /* Update path length array that has number of nodes of a particular ** path length. */ if (oddLen < pathLength ) { if (pathLength != MAXSHORTINT) pathLengthArray[pathLength]--; if (oddLen != MAXSHORTINT) pathLengthArray[oddLen]++; pathLength = oddLen; } if (evenLen < pathLength ) { if (pathLength != MAXSHORTINT) pathLengthArray[pathLength]--; if (evenLen != MAXSHORTINT) pathLengthArray[evenLen]++; } return(1); } /*end of CreateBotDist */ /**Function******************************************************************** Synopsis [ The outer procedure to label each node with its shortest distance from the root and constant] Description [ The outer procedure to label each node with its shortest distance from the root and constant. Calls CreateTopDist and CreateBotDist. The basis for computing the distance between root and constant is that the distance may be the sum of even distances from the node to the root and constant or the sum of odd distances from the node to the root and constant. Both CreateTopDist and CreateBotDist create the odd and even parity distances from the root and constant respectively.] SideEffects [None] SeeAlso [CreateTopDist CreateBotDist] ******************************************************************************/ static st_table * CreatePathTable( DdManager *dd /* DD manager */, GlobalInfo_t *gInfo /* global information */, DdNode * node /* root of function */, unsigned int * pathLengthArray /* array of path lengths to store nodes labeled with the various path lengths */, FILE *fp /* where to write messages */) { st_table *pathTable; NodeDist_t *nodeStat; DdHalfWord topLen; DdNode *N; int i, numParents; int insertValue; DdNode **childPage; int parentPage; int childQueueIndex, parentQueueIndex; /* Creating path Table for storing data about nodes */ pathTable = st_init_table(st_ptrcmp,st_ptrhash); /* initializing pages for info about each node */ gInfo->maxNodeDistPages = INITIAL_PAGES; gInfo->nodeDistPages = ALLOC(NodeDist_t *, gInfo->maxNodeDistPages); if (gInfo->nodeDistPages == NULL) { goto OUT_OF_MEM; } gInfo->nodeDistPage = 0; gInfo->currentNodeDistPage = gInfo->nodeDistPages[gInfo->nodeDistPage] = ALLOC(NodeDist_t, gInfo->nodeDistPageSize); if (gInfo->currentNodeDistPage == NULL) { for (i = 0; i <= gInfo->nodeDistPage; i++) FREE(gInfo->nodeDistPages[i]); FREE(gInfo->nodeDistPages); goto OUT_OF_MEM; } gInfo->nodeDistPageIndex = 0; /* Initializing pages for the BFS search queue, implemented as an array. */ gInfo->maxQueuePages = INITIAL_PAGES; gInfo->queuePages = ALLOC(DdNode **, gInfo->maxQueuePages); if (gInfo->queuePages == NULL) { goto OUT_OF_MEM; } gInfo->queuePage = 0; gInfo->currentQueuePage = gInfo->queuePages[gInfo->queuePage] = ALLOC(DdNode *, gInfo->queuePageSize); if (gInfo->currentQueuePage == NULL) { for (i = 0; i <= gInfo->queuePage; i++) FREE(gInfo->queuePages[i]); FREE(gInfo->queuePages); goto OUT_OF_MEM; } gInfo->queuePageIndex = 0; /* Enter the root node into the queue to start with. */ parentPage = gInfo->queuePage; parentQueueIndex = gInfo->queuePageIndex; topLen = 0; *(gInfo->currentQueuePage + gInfo->queuePageIndex) = node; gInfo->queuePageIndex++; childPage = gInfo->currentQueuePage; childQueueIndex = gInfo->queuePageIndex; N = Cudd_Regular(node); if (gInfo->nodeDistPageIndex == gInfo->nodeDistPageSize) ResizeNodeDistPages(dd, gInfo); if (dd->errorCode == CUDD_MEMORY_OUT) { for (i = 0; i <= gInfo->nodeDistPage; i++) FREE(gInfo->nodeDistPages[i]); FREE(gInfo->nodeDistPages); for (i = 0; i <= gInfo->queuePage; i++) FREE(gInfo->queuePages[i]); FREE(gInfo->queuePages); st_free_table(pathTable); goto OUT_OF_MEM; } nodeStat = gInfo->currentNodeDistPage + gInfo->nodeDistPageIndex; gInfo->nodeDistPageIndex++; nodeStat->oddTopDist = MAXSHORTINT; nodeStat->evenTopDist = MAXSHORTINT; nodeStat->evenBotDist = MAXSHORTINT; nodeStat->oddBotDist = MAXSHORTINT; nodeStat->regResult = NULL; nodeStat->compResult = NULL; insertValue = st_insert(pathTable, N, nodeStat); if (insertValue == ST_OUT_OF_MEM) { dd->errorCode = CUDD_MEMORY_OUT; for (i = 0; i <= gInfo->nodeDistPage; i++) FREE(gInfo->nodeDistPages[i]); FREE(gInfo->nodeDistPages); for (i = 0; i <= gInfo->queuePage; i++) FREE(gInfo->queuePages[i]); FREE(gInfo->queuePages); st_free_table(pathTable); goto OUT_OF_MEM; } else if (insertValue == 1) { fprintf(fp, "Something wrong, the entry exists but didnt show up in st_lookup\n"); return(NULL); } if (Cudd_IsComplement(node)) { nodeStat->oddTopDist = 0; } else { nodeStat->evenTopDist = 0; } numParents = 1; /* call the function that counts the distance of each node from the * root */ #ifdef DD_DEBUG gInfo->numCalls = 0; #endif CreateTopDist(dd, gInfo, pathTable, parentPage, parentQueueIndex, (int) topLen, childPage, childQueueIndex, numParents, fp); if (dd->errorCode == CUDD_MEMORY_OUT) { fprintf(fp, "Out of Memory and cant count path lengths\n"); goto OUT_OF_MEM; } #ifdef DD_DEBUG gInfo->numCalls = 0; #endif /* call the function that counts the distance of each node from the * constant */ if (!CreateBotDist(node, pathTable, pathLengthArray, fp)) return(NULL); /* free BFS queue pages as no longer required */ for (i = 0; i <= gInfo->queuePage; i++) FREE(gInfo->queuePages[i]); FREE(gInfo->queuePages); return(pathTable); OUT_OF_MEM: (void) fprintf(fp, "Out of Memory, cannot allocate pages\n"); dd->errorCode = CUDD_MEMORY_OUT; return(NULL); } /*end of CreatePathTable */ /**Function******************************************************************** Synopsis [Chooses the maximum allowable path length of nodes under the threshold.] Description [Chooses the maximum allowable path length under each node. The corner cases are when the threshold is larger than the number of nodes in the BDD iself, in which case 'numVars + 1' is returned. If all nodes of a particular path length are needed, then the maxpath returned is the next one with excess nodes = 0;] SideEffects [None] SeeAlso [] ******************************************************************************/ static unsigned int AssessPathLength( unsigned int * pathLengthArray /* array determining number of nodes belonging to the different path lengths */, int threshold /* threshold to determine maximum allowable nodes in the subset */, int numVars /* maximum number of variables */, unsigned int * excess /* number of nodes labeled maxpath required in the subset */, FILE *fp /* where to write messages */) { unsigned int i, maxpath; int temp; temp = threshold; i = 0; maxpath = 0; /* quit loop if i reaches max number of variables or if temp reaches * below zero */ while ((i < (unsigned) numVars+1) && (temp > 0)) { if (pathLengthArray[i] > 0) { maxpath = i; temp = temp - pathLengthArray[i]; } i++; } /* if all nodes of max path are needed */ if (temp >= 0) { maxpath++; /* now maxpath becomes the next maxppath or max number of variables */ *excess = 0; } else { /* normal case when subset required is less than size of original BDD */ *excess = temp + pathLengthArray[maxpath]; } if (maxpath == 0) { fprintf(fp, "Path Length array seems to be all zeroes, check\n"); } return(maxpath); } /* end of AssessPathLength */ /**Function******************************************************************** Synopsis [Builds the BDD with nodes labeled with path length less than or equal to maxpath] Description [Builds the BDD with nodes labeled with path length under maxpath and as many nodes labeled maxpath as determined by the threshold. The procedure uses the path table to determine which nodes in the original bdd need to be retained. This procedure picks a shortest path (tie break decided by taking the child with the shortest distance to the constant) and recurs down the path till it reaches the constant. the procedure then starts building the subset upward from the constant. All nodes labeled by path lengths less than the given maxpath are used to build the subset. However, in the case of nodes that have label equal to maxpath, as many are chosen as required by the threshold. This number is stored in the info structure in the field thresholdReached. This field is decremented whenever a node labeled maxpath is encountered and the nodes labeled maxpath are aggregated in a maxpath table. As soon as the thresholdReached count goes to 0, the shortest path from this node to the constant is found. The extraction of nodes with the above labeling is based on the fact that each node, labeled with a path length, P, has at least one child labeled P or less. So extracting all nodes labeled a given path length P ensures complete paths between the root and the constant. Extraction of a partial number of nodes with a given path length may result in incomplete paths and hence the additional number of nodes are grabbed to complete the path. Since the Bdd is built bottom-up, other nodes labeled maxpath do lie on complete paths. The procedure may cause the subset to have a larger or smaller number of nodes than the specified threshold. The increase in the number of nodes is caused by the building of a subset and the reduction by recombination. However in most cases, the recombination overshadows the increase and the procedure returns a result with lower number of nodes than specified. The subsetNodeTable is NIL when there is no hard limit on the number of nodes. Further efforts towards keeping the subset closer to the threshold number were abandoned in favour of keeping the procedure simple and fast.] SideEffects [SubsetNodeTable is changed if it is not NIL.] SeeAlso [] ******************************************************************************/ static DdNode * BuildSubsetBdd( DdManager * dd /* DD manager */, GlobalInfo_t *gInfo /* global information */, st_table * pathTable /* path table with path lengths and computed results */, DdNode * node /* current node */, struct AssortedInfo * info /* assorted information structure */, st_table * subsetNodeTable /* table storing computed results */) { DdNode *N, *Nv, *Nnv; DdNode *ThenBranch, *ElseBranch, *childBranch; DdNode *child, *regChild, *regNnv, *regNv; NodeDist_t *nodeStatNv, *nodeStat, *nodeStatNnv; DdNode *neW, *topv, *regNew; char *entry; unsigned int topid; unsigned int childPathLength, oddLen, evenLen, NnvPathLength, NvPathLength; unsigned int NvBotDist, NnvBotDist; int tiebreakChild; int processingDone, thenDone, elseDone; DdNode *zero = Cudd_Not(DD_ONE(dd)); #ifdef DD_DEBUG gInfo->numCalls++; #endif if (Cudd_IsConstant(node)) return(node); N = Cudd_Regular(node); /* Find node in table. */ if (!st_lookup(pathTable, N, &nodeStat)) { (void) fprintf(dd->err, "Something wrong, node must be in table \n"); dd->errorCode = CUDD_INTERNAL_ERROR; return(NULL); } /* If the node in the table has been visited, then return the corresponding ** Dd. Since a node can become a subset of itself, its ** complement (that is te same node reached by a different parity) will ** become a superset of the original node and result in some minterms ** that were not in the original set. Hence two different results are ** maintained, corresponding to the odd and even parities. */ /* If this node is reached with an odd parity, get odd parity results. */ if (Cudd_IsComplement(node)) { if (nodeStat->compResult != NULL) { #ifdef DD_DEBUG gInfo->hits++; #endif return(nodeStat->compResult); } } else { /* if this node is reached with an even parity, get even parity * results */ if (nodeStat->regResult != NULL) { #ifdef DD_DEBUG gInfo->hits++; #endif return(nodeStat->regResult); } } /* get children */ Nv = Cudd_T(N); Nnv = Cudd_E(N); Nv = Cudd_NotCond(Nv, Cudd_IsComplement(node)); Nnv = Cudd_NotCond(Nnv, Cudd_IsComplement(node)); /* no child processed */ processingDone = 0; /* then child not processed */ thenDone = 0; ThenBranch = NULL; /* else child not processed */ elseDone = 0; ElseBranch = NULL; /* if then child constant, branch is the child */ if (Cudd_IsConstant(Nv)) { /*shortest path found */ if ((Nv == DD_ONE(dd)) && (info->findShortestPath)) { info->findShortestPath = 0; } ThenBranch = Nv; cuddRef(ThenBranch); if (ThenBranch == NULL) { return(NULL); } thenDone++; processingDone++; NvBotDist = MAXSHORTINT; } else { /* Derive regular child for table lookup. */ regNv = Cudd_Regular(Nv); /* Get node data for shortest path length. */ if (!st_lookup(pathTable, regNv, &nodeStatNv) ) { (void) fprintf(dd->err, "Something wrong, node must be in table\n"); dd->errorCode = CUDD_INTERNAL_ERROR; return(NULL); } /* Derive shortest path length for child. */ if ((nodeStatNv->oddTopDist != MAXSHORTINT) && (nodeStatNv->oddBotDist != MAXSHORTINT)) { oddLen = (nodeStatNv->oddTopDist + nodeStatNv->oddBotDist); } else { oddLen = MAXSHORTINT; } if ((nodeStatNv->evenTopDist != MAXSHORTINT) && (nodeStatNv->evenBotDist != MAXSHORTINT)) { evenLen = (nodeStatNv->evenTopDist +nodeStatNv->evenBotDist); } else { evenLen = MAXSHORTINT; } NvPathLength = (oddLen <= evenLen) ? oddLen : evenLen; NvBotDist = (oddLen <= evenLen) ? nodeStatNv->oddBotDist: nodeStatNv->evenBotDist; } /* if else child constant, branch is the child */ if (Cudd_IsConstant(Nnv)) { /*shortest path found */ if ((Nnv == DD_ONE(dd)) && (info->findShortestPath)) { info->findShortestPath = 0; } ElseBranch = Nnv; cuddRef(ElseBranch); if (ElseBranch == NULL) { return(NULL); } elseDone++; processingDone++; NnvBotDist = MAXSHORTINT; } else { /* Derive regular child for table lookup. */ regNnv = Cudd_Regular(Nnv); /* Get node data for shortest path length. */ if (!st_lookup(pathTable, regNnv, &nodeStatNnv) ) { (void) fprintf(dd->err, "Something wrong, node must be in table\n"); dd->errorCode = CUDD_INTERNAL_ERROR; return(NULL); } /* Derive shortest path length for child. */ if ((nodeStatNnv->oddTopDist != MAXSHORTINT) && (nodeStatNnv->oddBotDist != MAXSHORTINT)) { oddLen = (nodeStatNnv->oddTopDist + nodeStatNnv->oddBotDist); } else { oddLen = MAXSHORTINT; } if ((nodeStatNnv->evenTopDist != MAXSHORTINT) && (nodeStatNnv->evenBotDist != MAXSHORTINT)) { evenLen = (nodeStatNnv->evenTopDist +nodeStatNnv->evenBotDist); } else { evenLen = MAXSHORTINT; } NnvPathLength = (oddLen <= evenLen) ? oddLen : evenLen; NnvBotDist = (oddLen <= evenLen) ? nodeStatNnv->oddBotDist : nodeStatNnv->evenBotDist; } tiebreakChild = (NvBotDist <= NnvBotDist) ? 1 : 0; /* while both children not processed */ while (processingDone != 2) { if (!processingDone) { /* if no child processed */ /* pick the child with shortest path length and record which one * picked */ if ((NvPathLength < NnvPathLength) || ((NvPathLength == NnvPathLength) && (tiebreakChild == 1))) { child = Nv; regChild = regNv; thenDone = 1; childPathLength = NvPathLength; } else { child = Nnv; regChild = regNnv; elseDone = 1; childPathLength = NnvPathLength; } /* then path length less than else path length */ } else { /* if one child processed, process the other */ if (thenDone) { child = Nnv; regChild = regNnv; elseDone = 1; childPathLength = NnvPathLength; } else { child = Nv; regChild = regNv; thenDone = 1; childPathLength = NvPathLength; } /* end of else pick the Then child if ELSE child processed */ } /* end of else one child has been processed */ /* ignore (replace with constant 0) all nodes which lie on paths larger * than the maximum length of the path required */ if (childPathLength > info->maxpath) { /* record nodes visited */ childBranch = zero; } else { if (childPathLength < info->maxpath) { if (info->findShortestPath) { info->findShortestPath = 0; } childBranch = BuildSubsetBdd(dd, gInfo, pathTable, child, info, subsetNodeTable); } else { /* Case: path length of node = maxpath */ /* If the node labeled with maxpath is found in the ** maxpathTable, use it to build the subset BDD. */ if (st_lookup(info->maxpathTable, regChild, &entry)) { /* When a node that is already been chosen is hit, ** the quest for a complete path is over. */ if (info->findShortestPath) { info->findShortestPath = 0; } childBranch = BuildSubsetBdd(dd, gInfo, pathTable, child, info, subsetNodeTable); } else { /* If node is not found in the maxpathTable and ** the threshold has been reached, then if the ** path needs to be completed, continue. Else ** replace the node with a zero. */ if (info->thresholdReached <= 0) { if (info->findShortestPath) { if (st_insert(info->maxpathTable, regChild, NULL) == ST_OUT_OF_MEM) { dd->errorCode = CUDD_MEMORY_OUT; (void) fprintf(dd->err, "OUT of memory\n"); info->thresholdReached = 0; childBranch = zero; } else { info->thresholdReached--; childBranch = BuildSubsetBdd(dd, gInfo, pathTable, child, info,subsetNodeTable); } } else { /* not find shortest path, we dont need this node */ childBranch = zero; } } else { /* Threshold hasn't been reached, ** need the node. */ if (st_insert(info->maxpathTable, regChild, NULL) == ST_OUT_OF_MEM) { dd->errorCode = CUDD_MEMORY_OUT; (void) fprintf(dd->err, "OUT of memory\n"); info->thresholdReached = 0; childBranch = zero; } else { info->thresholdReached--; if (info->thresholdReached <= 0) { info->findShortestPath = 1; } childBranch = BuildSubsetBdd(dd, gInfo, pathTable, child, info, subsetNodeTable); } /* end of st_insert successful */ } /* end of threshold hasnt been reached yet */ } /* end of else node not found in maxpath table */ } /* end of if (path length of node = maxpath) */ } /* end if !(childPathLength > maxpath) */ if (childBranch == NULL) { /* deref other stuff incase reordering has taken place */ if (ThenBranch != NULL) { Cudd_RecursiveDeref(dd, ThenBranch); ThenBranch = NULL; } if (ElseBranch != NULL) { Cudd_RecursiveDeref(dd, ElseBranch); ElseBranch = NULL; } return(NULL); } cuddRef(childBranch); if (child == Nv) { ThenBranch = childBranch; } else { ElseBranch = childBranch; } processingDone++; } /*end of while processing Nv, Nnv */ info->findShortestPath = 0; topid = Cudd_NodeReadIndex(N); topv = Cudd_ReadVars(dd, topid); cuddRef(topv); neW = cuddBddIteRecur(dd, topv, ThenBranch, ElseBranch); if (neW != NULL) { cuddRef(neW); } Cudd_RecursiveDeref(dd, topv); Cudd_RecursiveDeref(dd, ThenBranch); Cudd_RecursiveDeref(dd, ElseBranch); /* Hard Limit of threshold has been imposed */ if (subsetNodeTable != NIL(st_table)) { /* check if a new node is created */ regNew = Cudd_Regular(neW); /* subset node table keeps all new nodes that have been created to keep * a running count of how many nodes have been built in the subset. */ if (!st_lookup(subsetNodeTable, regNew, &entry)) { if (!Cudd_IsConstant(regNew)) { if (st_insert(subsetNodeTable, regNew, NULL) == ST_OUT_OF_MEM) { (void) fprintf(dd->err, "Out of memory\n"); return (NULL); } if (st_count(subsetNodeTable) > info->threshold) { info->thresholdReached = 0; } } } } if (neW == NULL) { return(NULL); } else { /*store computed result in regular form*/ if (Cudd_IsComplement(node)) { nodeStat->compResult = neW; cuddRef(nodeStat->compResult); /* if the new node is the same as the corresponding node in the * original bdd then its complement need not be computed as it * cannot be larger than the node itself */ if (neW == node) { #ifdef DD_DEBUG gInfo->thishit++; #endif /* if a result for the node has already been computed, then * it can only be smaller than teh node itself. hence store * the node result in order not to break recombination */ if (nodeStat->regResult != NULL) { Cudd_RecursiveDeref(dd, nodeStat->regResult); } nodeStat->regResult = Cudd_Not(neW); cuddRef(nodeStat->regResult); } } else { nodeStat->regResult = neW; cuddRef(nodeStat->regResult); if (neW == node) { #ifdef DD_DEBUG gInfo->thishit++; #endif if (nodeStat->compResult != NULL) { Cudd_RecursiveDeref(dd, nodeStat->compResult); } nodeStat->compResult = Cudd_Not(neW); cuddRef(nodeStat->compResult); } } cuddDeref(neW); return(neW); } /* end of else i.e. Subset != NULL */ } /* end of BuildSubsetBdd */ /**Function******************************************************************** Synopsis [Procedure to free te result dds stored in the NodeDist pages.] Description [None] SideEffects [None] SeeAlso [] ******************************************************************************/ static enum st_retval stPathTableDdFree( char * key, char * value, char * arg) { NodeDist_t *nodeStat; DdManager *dd; nodeStat = (NodeDist_t *)value; dd = (DdManager *)arg; if (nodeStat->regResult != NULL) { Cudd_RecursiveDeref(dd, nodeStat->regResult); } if (nodeStat->compResult != NULL) { Cudd_RecursiveDeref(dd, nodeStat->compResult); } return(ST_CONTINUE); } /* end of stPathTableFree */ BRiAl-1.2.12/cudd/cuddSymmetry.c000066400000000000000000001412201436062512100163020ustar00rootroot00000000000000/**CFile*********************************************************************** FileName [cuddSymmetry.c] PackageName [cudd] Synopsis [Functions for symmetry-based variable reordering.] Description [External procedures included in this file:
        • Cudd_SymmProfile()
        Internal procedures included in this module:
        • cuddSymmCheck()
        • cuddSymmSifting()
        • cuddSymmSiftingConv()
        Static procedures included in this module:
        • ddSymmUniqueCompare()
        • ddSymmSiftingAux()
        • ddSymmSiftingConvAux()
        • ddSymmSiftingUp()
        • ddSymmSiftingDown()
        • ddSymmGroupMove()
        • ddSymmGroupMoveBackward()
        • ddSymmSiftingBackward()
        • ddSymmSummary()
        ] Author [Shipra Panda, Fabio Somenzi] Copyright [Copyright (c) 1995-2012, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.] ******************************************************************************/ #include "util.h" #include "cuddInt.h" /*---------------------------------------------------------------------------*/ /* Constant declarations */ /*---------------------------------------------------------------------------*/ #define MV_OOM (Move *)1 /*---------------------------------------------------------------------------*/ /* Stucture declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Type declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Variable declarations */ /*---------------------------------------------------------------------------*/ #ifndef lint static char rcsid[] DD_UNUSED = "$Id: cuddSymmetry.c,v 1.28 2012/02/05 01:07:19 fabio Exp $"; #endif static int *entry; extern int ddTotalNumberSwapping; #ifdef DD_STATS extern int ddTotalNISwaps; #endif /*---------------------------------------------------------------------------*/ /* Macro declarations */ /*---------------------------------------------------------------------------*/ /**AutomaticStart*************************************************************/ /*---------------------------------------------------------------------------*/ /* Static function prototypes */ /*---------------------------------------------------------------------------*/ static int ddSymmUniqueCompare (int *ptrX, int *ptrY); static int ddSymmSiftingAux (DdManager *table, int x, int xLow, int xHigh); static int ddSymmSiftingConvAux (DdManager *table, int x, int xLow, int xHigh); static Move * ddSymmSiftingUp (DdManager *table, int y, int xLow); static Move * ddSymmSiftingDown (DdManager *table, int x, int xHigh); static int ddSymmGroupMove (DdManager *table, int x, int y, Move **moves); static int ddSymmGroupMoveBackward (DdManager *table, int x, int y); static int ddSymmSiftingBackward (DdManager *table, Move *moves, int size); static void ddSymmSummary (DdManager *table, int lower, int upper, int *symvars, int *symgroups); /**AutomaticEnd***************************************************************/ /*---------------------------------------------------------------------------*/ /* Definition of exported functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Prints statistics on symmetric variables.] Description [] SideEffects [None] ******************************************************************************/ void Cudd_SymmProfile( DdManager * table, int lower, int upper) { int i,x,gbot; int TotalSymm = 0; int TotalSymmGroups = 0; for (i = lower; i <= upper; i++) { if (table->subtables[i].next != (unsigned) i) { x = i; (void) fprintf(table->out,"Group:"); do { (void) fprintf(table->out," %d",table->invperm[x]); TotalSymm++; gbot = x; x = table->subtables[x].next; } while (x != i); TotalSymmGroups++; #ifdef DD_DEBUG assert(table->subtables[gbot].next == (unsigned) i); #endif i = gbot; (void) fprintf(table->out,"\n"); } } (void) fprintf(table->out,"Total Symmetric = %d\n",TotalSymm); (void) fprintf(table->out,"Total Groups = %d\n",TotalSymmGroups); } /* end of Cudd_SymmProfile */ /*---------------------------------------------------------------------------*/ /* Definition of internal functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Checks for symmetry of x and y.] Description [Checks for symmetry of x and y. Ignores projection functions, unless they are isolated. Returns 1 in case of symmetry; 0 otherwise.] SideEffects [None] ******************************************************************************/ int cuddSymmCheck( DdManager * table, int x, int y) { DdNode *f,*f0,*f1,*f01,*f00,*f11,*f10; int comple; /* f0 is complemented */ int xsymmy; /* x and y may be positively symmetric */ int xsymmyp; /* x and y may be negatively symmetric */ int arccount; /* number of arcs from layer x to layer y */ int TotalRefCount; /* total reference count of layer y minus 1 */ int yindex; int i; DdNodePtr *list; int slots; DdNode *sentinel = &(table->sentinel); #ifdef DD_DEBUG int xindex; #endif /* Checks that x and y are not the projection functions. ** For x it is sufficient to check whether there is only one ** node; indeed, if there is one node, it is the projection function ** and it cannot point to y. Hence, if y isn't just the projection ** function, it has one arc coming from a layer different from x. */ if (table->subtables[x].keys == 1) { return(0); } yindex = table->invperm[y]; if (table->subtables[y].keys == 1) { if (table->vars[yindex]->ref == 1) return(0); } xsymmy = xsymmyp = 1; arccount = 0; slots = table->subtables[x].slots; list = table->subtables[x].nodelist; for (i = 0; i < slots; i++) { f = list[i]; while (f != sentinel) { /* Find f1, f0, f11, f10, f01, f00. */ f1 = cuddT(f); f0 = Cudd_Regular(cuddE(f)); comple = Cudd_IsComplement(cuddE(f)); if ((int) f1->index == yindex) { arccount++; f11 = cuddT(f1); f10 = cuddE(f1); } else { if ((int) f0->index != yindex) { /* If f is an isolated projection function it is ** allowed to bypass layer y. */ if (f1 != DD_ONE(table) || f0 != DD_ONE(table) || f->ref != 1) return(0); /* f bypasses layer y */ } f11 = f10 = f1; } if ((int) f0->index == yindex) { arccount++; f01 = cuddT(f0); f00 = cuddE(f0); } else { f01 = f00 = f0; } if (comple) { f01 = Cudd_Not(f01); f00 = Cudd_Not(f00); } if (f1 != DD_ONE(table) || f0 != DD_ONE(table) || f->ref != 1) { xsymmy &= f01 == f10; xsymmyp &= f11 == f00; if ((xsymmy == 0) && (xsymmyp == 0)) return(0); } f = f->next; } /* while */ } /* for */ /* Calculate the total reference counts of y */ TotalRefCount = -1; /* -1 for projection function */ slots = table->subtables[y].slots; list = table->subtables[y].nodelist; for (i = 0; i < slots; i++) { f = list[i]; while (f != sentinel) { TotalRefCount += f->ref; f = f->next; } } #if defined(DD_DEBUG) && defined(DD_VERBOSE) if (arccount == TotalRefCount) { xindex = table->invperm[x]; (void) fprintf(table->out, "Found symmetry! x =%d\ty = %d\tPos(%d,%d)\n", xindex,yindex,x,y); } #endif return(arccount == TotalRefCount); } /* end of cuddSymmCheck */ /**Function******************************************************************** Synopsis [Symmetric sifting algorithm.] Description [Symmetric sifting algorithm. Assumes that no dead nodes are present.
        1. Order all the variables according to the number of entries in each unique subtable.
        2. Sift the variable up and down, remembering each time the total size of the DD heap and grouping variables that are symmetric.
        3. Select the best permutation.
        4. Repeat 3 and 4 for all variables.
        Returns 1 plus the number of symmetric variables if successful; 0 otherwise.] SideEffects [None] SeeAlso [cuddSymmSiftingConv] ******************************************************************************/ int cuddSymmSifting( DdManager * table, int lower, int upper) { int i; int *var; int size; int x; int result; int symvars; int symgroups; #ifdef DD_STATS int previousSize; #endif size = table->size; /* Find order in which to sift variables. */ var = NULL; entry = ALLOC(int,size); if (entry == NULL) { table->errorCode = CUDD_MEMORY_OUT; goto ddSymmSiftingOutOfMem; } var = ALLOC(int,size); if (var == NULL) { table->errorCode = CUDD_MEMORY_OUT; goto ddSymmSiftingOutOfMem; } for (i = 0; i < size; i++) { x = table->perm[i]; entry[i] = table->subtables[x].keys; var[i] = i; } qsort((void *)var,size,sizeof(int),(DD_QSFP)ddSymmUniqueCompare); /* Initialize the symmetry of each subtable to itself. */ for (i = lower; i <= upper; i++) { table->subtables[i].next = i; } for (i = 0; i < ddMin(table->siftMaxVar,size); i++) { if (ddTotalNumberSwapping >= table->siftMaxSwap) break; if (util_cpu_time() - table->startTime > table->timeLimit) { table->autoDyn = 0; /* prevent further reordering */ break; } x = table->perm[var[i]]; #ifdef DD_STATS previousSize = table->keys - table->isolated; #endif if (x < lower || x > upper) continue; if (table->subtables[x].next == (unsigned) x) { result = ddSymmSiftingAux(table,x,lower,upper); if (!result) goto ddSymmSiftingOutOfMem; #ifdef DD_STATS if (table->keys < (unsigned) previousSize + table->isolated) { (void) fprintf(table->out,"-"); } else if (table->keys > (unsigned) previousSize + table->isolated) { (void) fprintf(table->out,"+"); /* should never happen */ } else { (void) fprintf(table->out,"="); } fflush(table->out); #endif } } FREE(var); FREE(entry); ddSymmSummary(table, lower, upper, &symvars, &symgroups); #ifdef DD_STATS (void) fprintf(table->out, "\n#:S_SIFTING %8d: symmetric variables\n", symvars); (void) fprintf(table->out, "#:G_SIFTING %8d: symmetric groups", symgroups); #endif return(1+symvars); ddSymmSiftingOutOfMem: if (entry != NULL) FREE(entry); if (var != NULL) FREE(var); return(0); } /* end of cuddSymmSifting */ /**Function******************************************************************** Synopsis [Symmetric sifting to convergence algorithm.] Description [Symmetric sifting to convergence algorithm. Assumes that no dead nodes are present.
        1. Order all the variables according to the number of entries in each unique subtable.
        2. Sift the variable up and down, remembering each time the total size of the DD heap and grouping variables that are symmetric.
        3. Select the best permutation.
        4. Repeat 3 and 4 for all variables.
        5. Repeat 1-4 until no further improvement.
        Returns 1 plus the number of symmetric variables if successful; 0 otherwise.] SideEffects [None] SeeAlso [cuddSymmSifting] ******************************************************************************/ int cuddSymmSiftingConv( DdManager * table, int lower, int upper) { int i; int *var; int size; int x; int result; int symvars; int symgroups; int classes; int initialSize; #ifdef DD_STATS int previousSize; #endif initialSize = table->keys - table->isolated; size = table->size; /* Find order in which to sift variables. */ var = NULL; entry = ALLOC(int,size); if (entry == NULL) { table->errorCode = CUDD_MEMORY_OUT; goto ddSymmSiftingConvOutOfMem; } var = ALLOC(int,size); if (var == NULL) { table->errorCode = CUDD_MEMORY_OUT; goto ddSymmSiftingConvOutOfMem; } for (i = 0; i < size; i++) { x = table->perm[i]; entry[i] = table->subtables[x].keys; var[i] = i; } qsort((void *)var,size,sizeof(int),(DD_QSFP)ddSymmUniqueCompare); /* Initialize the symmetry of each subtable to itself ** for first pass of converging symmetric sifting. */ for (i = lower; i <= upper; i++) { table->subtables[i].next = i; } for (i = 0; i < ddMin(table->siftMaxVar, table->size); i++) { if (ddTotalNumberSwapping >= table->siftMaxSwap) break; if (util_cpu_time() - table->startTime > table->timeLimit) { table->autoDyn = 0; /* prevent further reordering */ break; } x = table->perm[var[i]]; if (x < lower || x > upper) continue; /* Only sift if not in symmetry group already. */ if (table->subtables[x].next == (unsigned) x) { #ifdef DD_STATS previousSize = table->keys - table->isolated; #endif result = ddSymmSiftingAux(table,x,lower,upper); if (!result) goto ddSymmSiftingConvOutOfMem; #ifdef DD_STATS if (table->keys < (unsigned) previousSize + table->isolated) { (void) fprintf(table->out,"-"); } else if (table->keys > (unsigned) previousSize + table->isolated) { (void) fprintf(table->out,"+"); } else { (void) fprintf(table->out,"="); } fflush(table->out); #endif } } /* Sifting now until convergence. */ while ((unsigned) initialSize > table->keys - table->isolated) { initialSize = table->keys - table->isolated; #ifdef DD_STATS (void) fprintf(table->out,"\n"); #endif /* Here we consider only one representative for each symmetry class. */ for (x = lower, classes = 0; x <= upper; x++, classes++) { while ((unsigned) x < table->subtables[x].next) { x = table->subtables[x].next; } /* Here x is the largest index in a group. ** Groups consist of adjacent variables. ** Hence, the next increment of x will move it to a new group. */ i = table->invperm[x]; entry[i] = table->subtables[x].keys; var[classes] = i; } qsort((void *)var,classes,sizeof(int),(DD_QSFP)ddSymmUniqueCompare); /* Now sift. */ for (i = 0; i < ddMin(table->siftMaxVar,classes); i++) { if (ddTotalNumberSwapping >= table->siftMaxSwap) break; if (util_cpu_time() - table->startTime > table->timeLimit) { table->autoDyn = 0; /* prevent further reordering */ break; } x = table->perm[var[i]]; if ((unsigned) x >= table->subtables[x].next) { #ifdef DD_STATS previousSize = table->keys - table->isolated; #endif result = ddSymmSiftingConvAux(table,x,lower,upper); if (!result ) goto ddSymmSiftingConvOutOfMem; #ifdef DD_STATS if (table->keys < (unsigned) previousSize + table->isolated) { (void) fprintf(table->out,"-"); } else if (table->keys > (unsigned) previousSize + table->isolated) { (void) fprintf(table->out,"+"); } else { (void) fprintf(table->out,"="); } fflush(table->out); #endif } } /* for */ } ddSymmSummary(table, lower, upper, &symvars, &symgroups); #ifdef DD_STATS (void) fprintf(table->out, "\n#:S_SIFTING %8d: symmetric variables\n", symvars); (void) fprintf(table->out, "#:G_SIFTING %8d: symmetric groups", symgroups); #endif FREE(var); FREE(entry); return(1+symvars); ddSymmSiftingConvOutOfMem: if (entry != NULL) FREE(entry); if (var != NULL) FREE(var); return(0); } /* end of cuddSymmSiftingConv */ /*---------------------------------------------------------------------------*/ /* Definition of static functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Comparison function used by qsort.] Description [Comparison function used by qsort to order the variables according to the number of keys in the subtables. Returns the difference in number of keys between the two variables being compared.] SideEffects [None] ******************************************************************************/ static int ddSymmUniqueCompare( int * ptrX, int * ptrY) { #if 0 if (entry[*ptrY] == entry[*ptrX]) { return((*ptrX) - (*ptrY)); } #endif return(entry[*ptrY] - entry[*ptrX]); } /* end of ddSymmUniqueCompare */ /**Function******************************************************************** Synopsis [Given xLow <= x <= xHigh moves x up and down between the boundaries.] Description [Given xLow <= x <= xHigh moves x up and down between the boundaries. Finds the best position and does the required changes. Assumes that x is not part of a symmetry group. Returns 1 if successful; 0 otherwise.] SideEffects [None] ******************************************************************************/ static int ddSymmSiftingAux( DdManager * table, int x, int xLow, int xHigh) { Move *move; Move *moveUp; /* list of up moves */ Move *moveDown; /* list of down moves */ int initialSize; int result; int i; int topbot; /* index to either top or bottom of symmetry group */ int initGroupSize, finalGroupSize; #ifdef DD_DEBUG /* check for previously detected symmetry */ assert(table->subtables[x].next == (unsigned) x); #endif initialSize = table->keys - table->isolated; moveDown = NULL; moveUp = NULL; if ((x - xLow) > (xHigh - x)) { /* Will go down first, unless x == xHigh: ** Look for consecutive symmetries above x. */ for (i = x; i > xLow; i--) { if (!cuddSymmCheck(table,i-1,i)) break; topbot = table->subtables[i-1].next; /* find top of i-1's group */ table->subtables[i-1].next = i; table->subtables[x].next = topbot; /* x is bottom of group so its */ /* next is top of i-1's group */ i = topbot + 1; /* add 1 for i--; new i is top of symm group */ } } else { /* Will go up first unless x == xlow: ** Look for consecutive symmetries below x. */ for (i = x; i < xHigh; i++) { if (!cuddSymmCheck(table,i,i+1)) break; /* find bottom of i+1's symm group */ topbot = i + 1; while ((unsigned) topbot < table->subtables[topbot].next) { topbot = table->subtables[topbot].next; } table->subtables[topbot].next = table->subtables[i].next; table->subtables[i].next = i + 1; i = topbot - 1; /* subtract 1 for i++; new i is bottom of group */ } } /* Now x may be in the middle of a symmetry group. ** Find bottom of x's symm group. */ while ((unsigned) x < table->subtables[x].next) x = table->subtables[x].next; if (x == xLow) { /* Sift down */ #ifdef DD_DEBUG /* x must be a singleton */ assert((unsigned) x == table->subtables[x].next); #endif if (x == xHigh) return(1); /* just one variable */ initGroupSize = 1; moveDown = ddSymmSiftingDown(table,x,xHigh); /* after this point x --> xHigh, unless early term */ if (moveDown == MV_OOM) goto ddSymmSiftingAuxOutOfMem; if (moveDown == NULL) return(1); x = moveDown->y; /* Find bottom of x's group */ i = x; while ((unsigned) i < table->subtables[i].next) { i = table->subtables[i].next; } #ifdef DD_DEBUG /* x should be the top of the symmetry group and i the bottom */ assert((unsigned) i >= table->subtables[i].next); assert((unsigned) x == table->subtables[i].next); #endif finalGroupSize = i - x + 1; if (initGroupSize == finalGroupSize) { /* No new symmetry groups detected, return to best position */ result = ddSymmSiftingBackward(table,moveDown,initialSize); } else { initialSize = table->keys - table->isolated; moveUp = ddSymmSiftingUp(table,x,xLow); result = ddSymmSiftingBackward(table,moveUp,initialSize); } if (!result) goto ddSymmSiftingAuxOutOfMem; } else if (cuddNextHigh(table,x) > xHigh) { /* Sift up */ /* Find top of x's symm group */ i = x; /* bottom */ x = table->subtables[x].next; /* top */ if (x == xLow) return(1); /* just one big group */ initGroupSize = i - x + 1; moveUp = ddSymmSiftingUp(table,x,xLow); /* after this point x --> xLow, unless early term */ if (moveUp == MV_OOM) goto ddSymmSiftingAuxOutOfMem; if (moveUp == NULL) return(1); x = moveUp->x; /* Find top of x's group */ i = table->subtables[x].next; #ifdef DD_DEBUG /* x should be the bottom of the symmetry group and i the top */ assert((unsigned) x >= table->subtables[x].next); assert((unsigned) i == table->subtables[x].next); #endif finalGroupSize = x - i + 1; if (initGroupSize == finalGroupSize) { /* No new symmetry groups detected, return to best position */ result = ddSymmSiftingBackward(table,moveUp,initialSize); } else { initialSize = table->keys - table->isolated; moveDown = ddSymmSiftingDown(table,x,xHigh); result = ddSymmSiftingBackward(table,moveDown,initialSize); } if (!result) goto ddSymmSiftingAuxOutOfMem; } else if ((x - xLow) > (xHigh - x)) { /* must go down first: shorter */ moveDown = ddSymmSiftingDown(table,x,xHigh); /* at this point x == xHigh, unless early term */ if (moveDown == MV_OOM) goto ddSymmSiftingAuxOutOfMem; if (moveDown != NULL) { x = moveDown->y; /* x is top here */ i = x; while ((unsigned) i < table->subtables[i].next) { i = table->subtables[i].next; } } else { i = x; while ((unsigned) i < table->subtables[i].next) { i = table->subtables[i].next; } x = table->subtables[i].next; } #ifdef DD_DEBUG /* x should be the top of the symmetry group and i the bottom */ assert((unsigned) i >= table->subtables[i].next); assert((unsigned) x == table->subtables[i].next); #endif initGroupSize = i - x + 1; moveUp = ddSymmSiftingUp(table,x,xLow); if (moveUp == MV_OOM) goto ddSymmSiftingAuxOutOfMem; if (moveUp != NULL) { x = moveUp->x; i = table->subtables[x].next; } else { i = x; while ((unsigned) x < table->subtables[x].next) x = table->subtables[x].next; } #ifdef DD_DEBUG /* x should be the bottom of the symmetry group and i the top */ assert((unsigned) x >= table->subtables[x].next); assert((unsigned) i == table->subtables[x].next); #endif finalGroupSize = x - i + 1; if (initGroupSize == finalGroupSize) { /* No new symmetry groups detected, return to best position */ result = ddSymmSiftingBackward(table,moveUp,initialSize); } else { while (moveDown != NULL) { move = moveDown->next; cuddDeallocMove(table, moveDown); moveDown = move; } initialSize = table->keys - table->isolated; moveDown = ddSymmSiftingDown(table,x,xHigh); result = ddSymmSiftingBackward(table,moveDown,initialSize); } if (!result) goto ddSymmSiftingAuxOutOfMem; } else { /* moving up first: shorter */ /* Find top of x's symmetry group */ x = table->subtables[x].next; moveUp = ddSymmSiftingUp(table,x,xLow); /* at this point x == xHigh, unless early term */ if (moveUp == MV_OOM) goto ddSymmSiftingAuxOutOfMem; if (moveUp != NULL) { x = moveUp->x; i = table->subtables[x].next; } else { while ((unsigned) x < table->subtables[x].next) x = table->subtables[x].next; i = table->subtables[x].next; } #ifdef DD_DEBUG /* x is bottom of the symmetry group and i is top */ assert((unsigned) x >= table->subtables[x].next); assert((unsigned) i == table->subtables[x].next); #endif initGroupSize = x - i + 1; moveDown = ddSymmSiftingDown(table,x,xHigh); if (moveDown == MV_OOM) goto ddSymmSiftingAuxOutOfMem; if (moveDown != NULL) { x = moveDown->y; i = x; while ((unsigned) i < table->subtables[i].next) { i = table->subtables[i].next; } } else { i = x; x = table->subtables[x].next; } #ifdef DD_DEBUG /* x should be the top of the symmetry group and i the bottom */ assert((unsigned) i >= table->subtables[i].next); assert((unsigned) x == table->subtables[i].next); #endif finalGroupSize = i - x + 1; if (initGroupSize == finalGroupSize) { /* No new symmetries detected, go back to best position */ result = ddSymmSiftingBackward(table,moveDown,initialSize); } else { while (moveUp != NULL) { move = moveUp->next; cuddDeallocMove(table, moveUp); moveUp = move; } initialSize = table->keys - table->isolated; moveUp = ddSymmSiftingUp(table,x,xLow); result = ddSymmSiftingBackward(table,moveUp,initialSize); } if (!result) goto ddSymmSiftingAuxOutOfMem; } while (moveDown != NULL) { move = moveDown->next; cuddDeallocMove(table, moveDown); moveDown = move; } while (moveUp != NULL) { move = moveUp->next; cuddDeallocMove(table, moveUp); moveUp = move; } return(1); ddSymmSiftingAuxOutOfMem: if (moveDown != MV_OOM) { while (moveDown != NULL) { move = moveDown->next; cuddDeallocMove(table, moveDown); moveDown = move; } } if (moveUp != MV_OOM) { while (moveUp != NULL) { move = moveUp->next; cuddDeallocMove(table, moveUp); moveUp = move; } } return(0); } /* end of ddSymmSiftingAux */ /**Function******************************************************************** Synopsis [Given xLow <= x <= xHigh moves x up and down between the boundaries.] Description [Given xLow <= x <= xHigh moves x up and down between the boundaries. Finds the best position and does the required changes. Assumes that x is either an isolated variable, or it is the bottom of a symmetry group. All symmetries may not have been found, because of exceeded growth limit. Returns 1 if successful; 0 otherwise.] SideEffects [None] ******************************************************************************/ static int ddSymmSiftingConvAux( DdManager * table, int x, int xLow, int xHigh) { Move *move; Move *moveUp; /* list of up moves */ Move *moveDown; /* list of down moves */ int initialSize; int result; int i; int initGroupSize, finalGroupSize; initialSize = table->keys - table->isolated; moveDown = NULL; moveUp = NULL; if (x == xLow) { /* Sift down */ #ifdef DD_DEBUG /* x is bottom of symmetry group */ assert((unsigned) x >= table->subtables[x].next); #endif i = table->subtables[x].next; initGroupSize = x - i + 1; moveDown = ddSymmSiftingDown(table,x,xHigh); /* at this point x == xHigh, unless early term */ if (moveDown == MV_OOM) goto ddSymmSiftingConvAuxOutOfMem; if (moveDown == NULL) return(1); x = moveDown->y; i = x; while ((unsigned) i < table->subtables[i].next) { i = table->subtables[i].next; } #ifdef DD_DEBUG /* x should be the top of the symmetric group and i the bottom */ assert((unsigned) i >= table->subtables[i].next); assert((unsigned) x == table->subtables[i].next); #endif finalGroupSize = i - x + 1; if (initGroupSize == finalGroupSize) { /* No new symmetries detected, go back to best position */ result = ddSymmSiftingBackward(table,moveDown,initialSize); } else { initialSize = table->keys - table->isolated; moveUp = ddSymmSiftingUp(table,x,xLow); result = ddSymmSiftingBackward(table,moveUp,initialSize); } if (!result) goto ddSymmSiftingConvAuxOutOfMem; } else if (cuddNextHigh(table,x) > xHigh) { /* Sift up */ /* Find top of x's symm group */ while ((unsigned) x < table->subtables[x].next) x = table->subtables[x].next; i = x; /* bottom */ x = table->subtables[x].next; /* top */ if (x == xLow) return(1); initGroupSize = i - x + 1; moveUp = ddSymmSiftingUp(table,x,xLow); /* at this point x == xLow, unless early term */ if (moveUp == MV_OOM) goto ddSymmSiftingConvAuxOutOfMem; if (moveUp == NULL) return(1); x = moveUp->x; i = table->subtables[x].next; #ifdef DD_DEBUG /* x should be the bottom of the symmetry group and i the top */ assert((unsigned) x >= table->subtables[x].next); assert((unsigned) i == table->subtables[x].next); #endif finalGroupSize = x - i + 1; if (initGroupSize == finalGroupSize) { /* No new symmetry groups detected, return to best position */ result = ddSymmSiftingBackward(table,moveUp,initialSize); } else { initialSize = table->keys - table->isolated; moveDown = ddSymmSiftingDown(table,x,xHigh); result = ddSymmSiftingBackward(table,moveDown,initialSize); } if (!result) goto ddSymmSiftingConvAuxOutOfMem; } else if ((x - xLow) > (xHigh - x)) { /* must go down first: shorter */ moveDown = ddSymmSiftingDown(table,x,xHigh); /* at this point x == xHigh, unless early term */ if (moveDown == MV_OOM) goto ddSymmSiftingConvAuxOutOfMem; if (moveDown != NULL) { x = moveDown->y; i = x; while ((unsigned) i < table->subtables[i].next) { i = table->subtables[i].next; } } else { while ((unsigned) x < table->subtables[x].next) x = table->subtables[x].next; i = x; x = table->subtables[x].next; } #ifdef DD_DEBUG /* x should be the top of the symmetry group and i the bottom */ assert((unsigned) i >= table->subtables[i].next); assert((unsigned) x == table->subtables[i].next); #endif initGroupSize = i - x + 1; moveUp = ddSymmSiftingUp(table,x,xLow); if (moveUp == MV_OOM) goto ddSymmSiftingConvAuxOutOfMem; if (moveUp != NULL) { x = moveUp->x; i = table->subtables[x].next; } else { i = x; while ((unsigned) x < table->subtables[x].next) x = table->subtables[x].next; } #ifdef DD_DEBUG /* x should be the bottom of the symmetry group and i the top */ assert((unsigned) x >= table->subtables[x].next); assert((unsigned) i == table->subtables[x].next); #endif finalGroupSize = x - i + 1; if (initGroupSize == finalGroupSize) { /* No new symmetry groups detected, return to best position */ result = ddSymmSiftingBackward(table,moveUp,initialSize); } else { while (moveDown != NULL) { move = moveDown->next; cuddDeallocMove(table, moveDown); moveDown = move; } initialSize = table->keys - table->isolated; moveDown = ddSymmSiftingDown(table,x,xHigh); result = ddSymmSiftingBackward(table,moveDown,initialSize); } if (!result) goto ddSymmSiftingConvAuxOutOfMem; } else { /* moving up first: shorter */ /* Find top of x's symmetry group */ x = table->subtables[x].next; moveUp = ddSymmSiftingUp(table,x,xLow); /* at this point x == xHigh, unless early term */ if (moveUp == MV_OOM) goto ddSymmSiftingConvAuxOutOfMem; if (moveUp != NULL) { x = moveUp->x; i = table->subtables[x].next; } else { i = x; while ((unsigned) x < table->subtables[x].next) x = table->subtables[x].next; } #ifdef DD_DEBUG /* x is bottom of the symmetry group and i is top */ assert((unsigned) x >= table->subtables[x].next); assert((unsigned) i == table->subtables[x].next); #endif initGroupSize = x - i + 1; moveDown = ddSymmSiftingDown(table,x,xHigh); if (moveDown == MV_OOM) goto ddSymmSiftingConvAuxOutOfMem; if (moveDown != NULL) { x = moveDown->y; i = x; while ((unsigned) i < table->subtables[i].next) { i = table->subtables[i].next; } } else { i = x; x = table->subtables[x].next; } #ifdef DD_DEBUG /* x should be the top of the symmetry group and i the bottom */ assert((unsigned) i >= table->subtables[i].next); assert((unsigned) x == table->subtables[i].next); #endif finalGroupSize = i - x + 1; if (initGroupSize == finalGroupSize) { /* No new symmetries detected, go back to best position */ result = ddSymmSiftingBackward(table,moveDown,initialSize); } else { while (moveUp != NULL) { move = moveUp->next; cuddDeallocMove(table, moveUp); moveUp = move; } initialSize = table->keys - table->isolated; moveUp = ddSymmSiftingUp(table,x,xLow); result = ddSymmSiftingBackward(table,moveUp,initialSize); } if (!result) goto ddSymmSiftingConvAuxOutOfMem; } while (moveDown != NULL) { move = moveDown->next; cuddDeallocMove(table, moveDown); moveDown = move; } while (moveUp != NULL) { move = moveUp->next; cuddDeallocMove(table, moveUp); moveUp = move; } return(1); ddSymmSiftingConvAuxOutOfMem: if (moveDown != MV_OOM) { while (moveDown != NULL) { move = moveDown->next; cuddDeallocMove(table, moveDown); moveDown = move; } } if (moveUp != MV_OOM) { while (moveUp != NULL) { move = moveUp->next; cuddDeallocMove(table, moveUp); moveUp = move; } } return(0); } /* end of ddSymmSiftingConvAux */ /**Function******************************************************************** Synopsis [Moves x up until either it reaches the bound (xLow) or the size of the DD heap increases too much.] Description [Moves x up until either it reaches the bound (xLow) or the size of the DD heap increases too much. Assumes that x is the top of a symmetry group. Checks x for symmetry to the adjacent variables. If symmetry is found, the symmetry group of x is merged with the symmetry group of the other variable. Returns the set of moves in case of success; MV_OOM if memory is full.] SideEffects [None] ******************************************************************************/ static Move * ddSymmSiftingUp( DdManager * table, int y, int xLow) { Move *moves; Move *move; int x; int size; int i; int gxtop,gybot; int limitSize; int xindex, yindex; int zindex; int z; int isolated; int L; /* lower bound on DD size */ #ifdef DD_DEBUG int checkL; #endif moves = NULL; yindex = table->invperm[y]; /* Initialize the lower bound. ** The part of the DD below the bottom of y' group will not change. ** The part of the DD above y that does not interact with y will not ** change. The rest may vanish in the best case, except for ** the nodes at level xLow, which will not vanish, regardless. */ limitSize = L = table->keys - table->isolated; gybot = y; while ((unsigned) gybot < table->subtables[gybot].next) gybot = table->subtables[gybot].next; for (z = xLow + 1; z <= gybot; z++) { zindex = table->invperm[z]; if (zindex == yindex || cuddTestInteract(table,zindex,yindex)) { isolated = table->vars[zindex]->ref == 1; L -= table->subtables[z].keys - isolated; } } x = cuddNextLow(table,y); while (x >= xLow && L <= limitSize) { #ifdef DD_DEBUG gybot = y; while ((unsigned) gybot < table->subtables[gybot].next) gybot = table->subtables[gybot].next; checkL = table->keys - table->isolated; for (z = xLow + 1; z <= gybot; z++) { zindex = table->invperm[z]; if (zindex == yindex || cuddTestInteract(table,zindex,yindex)) { isolated = table->vars[zindex]->ref == 1; checkL -= table->subtables[z].keys - isolated; } } assert(L == checkL); #endif gxtop = table->subtables[x].next; if (cuddSymmCheck(table,x,y)) { /* Symmetry found, attach symm groups */ table->subtables[x].next = y; i = table->subtables[y].next; while (table->subtables[i].next != (unsigned) y) i = table->subtables[i].next; table->subtables[i].next = gxtop; } else if (table->subtables[x].next == (unsigned) x && table->subtables[y].next == (unsigned) y) { /* x and y have self symmetry */ xindex = table->invperm[x]; size = cuddSwapInPlace(table,x,y); #ifdef DD_DEBUG assert(table->subtables[x].next == (unsigned) x); assert(table->subtables[y].next == (unsigned) y); #endif if (size == 0) goto ddSymmSiftingUpOutOfMem; /* Update the lower bound. */ if (cuddTestInteract(table,xindex,yindex)) { isolated = table->vars[xindex]->ref == 1; L += table->subtables[y].keys - isolated; } move = (Move *) cuddDynamicAllocNode(table); if (move == NULL) goto ddSymmSiftingUpOutOfMem; move->x = x; move->y = y; move->size = size; move->next = moves; moves = move; if ((double) size > (double) limitSize * table->maxGrowth) return(moves); if (size < limitSize) limitSize = size; } else { /* Group move */ size = ddSymmGroupMove(table,x,y,&moves); if (size == 0) goto ddSymmSiftingUpOutOfMem; /* Update the lower bound. */ z = moves->y; do { zindex = table->invperm[z]; if (cuddTestInteract(table,zindex,yindex)) { isolated = table->vars[zindex]->ref == 1; L += table->subtables[z].keys - isolated; } z = table->subtables[z].next; } while (z != (int) moves->y); if ((double) size > (double) limitSize * table->maxGrowth) return(moves); if (size < limitSize) limitSize = size; } y = gxtop; x = cuddNextLow(table,y); } return(moves); ddSymmSiftingUpOutOfMem: while (moves != NULL) { move = moves->next; cuddDeallocMove(table, moves); moves = move; } return(MV_OOM); } /* end of ddSymmSiftingUp */ /**Function******************************************************************** Synopsis [Moves x down until either it reaches the bound (xHigh) or the size of the DD heap increases too much.] Description [Moves x down until either it reaches the bound (xHigh) or the size of the DD heap increases too much. Assumes that x is the bottom of a symmetry group. Checks x for symmetry to the adjacent variables. If symmetry is found, the symmetry group of x is merged with the symmetry group of the other variable. Returns the set of moves in case of success; MV_OOM if memory is full.] SideEffects [None] ******************************************************************************/ static Move * ddSymmSiftingDown( DdManager * table, int x, int xHigh) { Move *moves; Move *move; int y; int size; int limitSize; int gxtop,gybot; int R; /* upper bound on node decrease */ int xindex, yindex; int isolated; int z; int zindex; #ifdef DD_DEBUG int checkR; #endif moves = NULL; /* Initialize R */ xindex = table->invperm[x]; gxtop = table->subtables[x].next; limitSize = size = table->keys - table->isolated; R = 0; for (z = xHigh; z > gxtop; z--) { zindex = table->invperm[z]; if (zindex == xindex || cuddTestInteract(table,xindex,zindex)) { isolated = table->vars[zindex]->ref == 1; R += table->subtables[z].keys - isolated; } } y = cuddNextHigh(table,x); while (y <= xHigh && size - R < limitSize) { #ifdef DD_DEBUG gxtop = table->subtables[x].next; checkR = 0; for (z = xHigh; z > gxtop; z--) { zindex = table->invperm[z]; if (zindex == xindex || cuddTestInteract(table,xindex,zindex)) { isolated = table->vars[zindex]->ref == 1; checkR += table->subtables[z].keys - isolated; } } assert(R == checkR); #endif gybot = table->subtables[y].next; while (table->subtables[gybot].next != (unsigned) y) gybot = table->subtables[gybot].next; if (cuddSymmCheck(table,x,y)) { /* Symmetry found, attach symm groups */ gxtop = table->subtables[x].next; table->subtables[x].next = y; table->subtables[gybot].next = gxtop; } else if (table->subtables[x].next == (unsigned) x && table->subtables[y].next == (unsigned) y) { /* x and y have self symmetry */ /* Update upper bound on node decrease. */ yindex = table->invperm[y]; if (cuddTestInteract(table,xindex,yindex)) { isolated = table->vars[yindex]->ref == 1; R -= table->subtables[y].keys - isolated; } size = cuddSwapInPlace(table,x,y); #ifdef DD_DEBUG assert(table->subtables[x].next == (unsigned) x); assert(table->subtables[y].next == (unsigned) y); #endif if (size == 0) goto ddSymmSiftingDownOutOfMem; move = (Move *) cuddDynamicAllocNode(table); if (move == NULL) goto ddSymmSiftingDownOutOfMem; move->x = x; move->y = y; move->size = size; move->next = moves; moves = move; if ((double) size > (double) limitSize * table->maxGrowth) return(moves); if (size < limitSize) limitSize = size; } else { /* Group move */ /* Update upper bound on node decrease: first phase. */ gxtop = table->subtables[x].next; z = gxtop + 1; do { zindex = table->invperm[z]; if (zindex == xindex || cuddTestInteract(table,xindex,zindex)) { isolated = table->vars[zindex]->ref == 1; R -= table->subtables[z].keys - isolated; } z++; } while (z <= gybot); size = ddSymmGroupMove(table,x,y,&moves); if (size == 0) goto ddSymmSiftingDownOutOfMem; if ((double) size > (double) limitSize * table->maxGrowth) return(moves); if (size < limitSize) limitSize = size; /* Update upper bound on node decrease: second phase. */ gxtop = table->subtables[gybot].next; for (z = gxtop + 1; z <= gybot; z++) { zindex = table->invperm[z]; if (zindex == xindex || cuddTestInteract(table,xindex,zindex)) { isolated = table->vars[zindex]->ref == 1; R += table->subtables[z].keys - isolated; } } } x = gybot; y = cuddNextHigh(table,x); } return(moves); ddSymmSiftingDownOutOfMem: while (moves != NULL) { move = moves->next; cuddDeallocMove(table, moves); moves = move; } return(MV_OOM); } /* end of ddSymmSiftingDown */ /**Function******************************************************************** Synopsis [Swaps two groups.] Description [Swaps two groups. x is assumed to be the bottom variable of the first group. y is assumed to be the top variable of the second group. Updates the list of moves. Returns the number of keys in the table if successful; 0 otherwise.] SideEffects [None] ******************************************************************************/ static int ddSymmGroupMove( DdManager * table, int x, int y, Move ** moves) { Move *move; int size; int i,j; int xtop,xbot,xsize,ytop,ybot,ysize,newxtop; int swapx,swapy; #ifdef DD_DEBUG assert(x < y); /* we assume that x < y */ #endif /* Find top, bottom, and size for the two groups. */ xbot = x; xtop = table->subtables[x].next; xsize = xbot - xtop + 1; ybot = y; while ((unsigned) ybot < table->subtables[ybot].next) ybot = table->subtables[ybot].next; ytop = y; ysize = ybot - ytop + 1; /* Sift the variables of the second group up through the first group. */ for (i = 1; i <= ysize; i++) { for (j = 1; j <= xsize; j++) { size = cuddSwapInPlace(table,x,y); if (size == 0) return(0); swapx = x; swapy = y; y = x; x = y - 1; } y = ytop + i; x = y - 1; } /* fix symmetries */ y = xtop; /* ytop is now where xtop used to be */ for (i = 0; i < ysize-1 ; i++) { table->subtables[y].next = y + 1; y = y + 1; } table->subtables[y].next = xtop; /* y is bottom of its group, join */ /* its symmetry to top of its group */ x = y + 1; newxtop = x; for (i = 0; i < xsize - 1 ; i++) { table->subtables[x].next = x + 1; x = x + 1; } table->subtables[x].next = newxtop; /* x is bottom of its group, join */ /* its symmetry to top of its group */ /* Store group move */ move = (Move *) cuddDynamicAllocNode(table); if (move == NULL) return(0); move->x = swapx; move->y = swapy; move->size = size; move->next = *moves; *moves = move; return(size); } /* end of ddSymmGroupMove */ /**Function******************************************************************** Synopsis [Undoes the swap of two groups.] Description [Undoes the swap of two groups. x is assumed to be the bottom variable of the first group. y is assumed to be the top variable of the second group. Returns the number of keys in the table if successful; 0 otherwise.] SideEffects [None] ******************************************************************************/ static int ddSymmGroupMoveBackward( DdManager * table, int x, int y) { int size; int i,j; int xtop,xbot,xsize,ytop,ybot,ysize,newxtop; #ifdef DD_DEBUG assert(x < y); /* We assume that x < y */ #endif /* Find top, bottom, and size for the two groups. */ xbot = x; xtop = table->subtables[x].next; xsize = xbot - xtop + 1; ybot = y; while ((unsigned) ybot < table->subtables[ybot].next) ybot = table->subtables[ybot].next; ytop = y; ysize = ybot - ytop + 1; /* Sift the variables of the second group up through the first group. */ for (i = 1; i <= ysize; i++) { for (j = 1; j <= xsize; j++) { size = cuddSwapInPlace(table,x,y); if (size == 0) return(0); y = x; x = cuddNextLow(table,y); } y = ytop + i; x = y - 1; } /* Fix symmetries. */ y = xtop; for (i = 0; i < ysize-1 ; i++) { table->subtables[y].next = y + 1; y = y + 1; } table->subtables[y].next = xtop; /* y is bottom of its group, join */ /* its symmetry to top of its group */ x = y + 1; newxtop = x; for (i = 0; i < xsize-1 ; i++) { table->subtables[x].next = x + 1; x = x + 1; } table->subtables[x].next = newxtop; /* x is bottom of its group, join */ /* its symmetry to top of its group */ return(size); } /* end of ddSymmGroupMoveBackward */ /**Function******************************************************************** Synopsis [Given a set of moves, returns the DD heap to the position giving the minimum size.] Description [Given a set of moves, returns the DD heap to the position giving the minimum size. In case of ties, returns to the closest position giving the minimum size. Returns 1 in case of success; 0 otherwise.] SideEffects [None] ******************************************************************************/ static int ddSymmSiftingBackward( DdManager * table, Move * moves, int size) { Move *move; int res; for (move = moves; move != NULL; move = move->next) { if (move->size < size) { size = move->size; } } for (move = moves; move != NULL; move = move->next) { if (move->size == size) return(1); if (table->subtables[move->x].next == move->x && table->subtables[move->y].next == move->y) { res = cuddSwapInPlace(table,(int)move->x,(int)move->y); #ifdef DD_DEBUG assert(table->subtables[move->x].next == move->x); assert(table->subtables[move->y].next == move->y); #endif } else { /* Group move necessary */ res = ddSymmGroupMoveBackward(table,(int)move->x,(int)move->y); } if (!res) return(0); } return(1); } /* end of ddSymmSiftingBackward */ /**Function******************************************************************** Synopsis [Counts numbers of symmetric variables and symmetry groups.] Description [] SideEffects [None] ******************************************************************************/ static void ddSymmSummary( DdManager * table, int lower, int upper, int * symvars, int * symgroups) { int i,x,gbot; int TotalSymm = 0; int TotalSymmGroups = 0; for (i = lower; i <= upper; i++) { if (table->subtables[i].next != (unsigned) i) { TotalSymmGroups++; x = i; do { TotalSymm++; gbot = x; x = table->subtables[x].next; } while (x != i); #ifdef DD_DEBUG assert(table->subtables[gbot].next == (unsigned) i); #endif i = gbot; } } *symvars = TotalSymm; *symgroups = TotalSymmGroups; return; } /* end of ddSymmSummary */ BRiAl-1.2.12/cudd/cuddTable.c000066400000000000000000002750421436062512100155120ustar00rootroot00000000000000/**CFile*********************************************************************** FileName [cuddTable.c] PackageName [cudd] Synopsis [Unique table management functions.] Description [External procedures included in this module:
        • Cudd_Prime()
        • Cudd_Reserve()
        Internal procedures included in this module:
        • cuddAllocNode()
        • cuddInitTable()
        • cuddFreeTable()
        • cuddGarbageCollect()
        • cuddZddGetNode()
        • cuddZddGetNodeIVO()
        • cuddUniqueInter()
        • cuddUniqueInterIVO()
        • cuddUniqueInterZdd()
        • cuddUniqueConst()
        • cuddRehash()
        • cuddShrinkSubtable()
        • cuddInsertSubtables()
        • cuddDestroySubtables()
        • cuddResizeTableZdd()
        • cuddSlowTableGrowth()
        Static procedures included in this module:
        • ddRehashZdd()
        • ddResizeTable()
        • cuddFindParent()
        • cuddOrderedInsert()
        • cuddOrderedThread()
        • cuddRotateLeft()
        • cuddRotateRight()
        • cuddDoRebalance()
        • cuddCheckCollisionOrdering()
        ] SeeAlso [] Author [Fabio Somenzi] Copyright [Copyright (c) 1995-2012, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.] ******************************************************************************/ #include "util.h" #include "cuddInt.h" #ifndef PBORI_FORCE_ORIGINAL_CUDD #include #endif /*---------------------------------------------------------------------------*/ /* Constant declarations */ /*---------------------------------------------------------------------------*/ #ifndef DD_UNSORTED_FREE_LIST #ifdef DD_RED_BLACK_FREE_LIST /* Constants for red/black trees. */ #define DD_STACK_SIZE 128 #define DD_RED 0 #define DD_BLACK 1 #define DD_PAGE_SIZE 8192 #define DD_PAGE_MASK ~(DD_PAGE_SIZE - 1) #endif #endif /*---------------------------------------------------------------------------*/ /* Stucture declarations */ /*---------------------------------------------------------------------------*/ /* This is a hack for when CUDD_VALUE_TYPE is double */ typedef union hack { CUDD_VALUE_TYPE value; unsigned int bits[2]; } hack; /*---------------------------------------------------------------------------*/ /* Type declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Variable declarations */ /*---------------------------------------------------------------------------*/ #ifndef lint static char rcsid[] DD_UNUSED = "$Id: cuddTable.c,v 1.126 2012/02/05 01:07:19 fabio Exp $"; #endif /*---------------------------------------------------------------------------*/ /* Macro declarations */ /*---------------------------------------------------------------------------*/ #ifndef DD_UNSORTED_FREE_LIST #ifdef DD_RED_BLACK_FREE_LIST /* Macros for red/black trees. */ #define DD_INSERT_COMPARE(x,y) \ (((ptruint) (x) & DD_PAGE_MASK) - ((ptruint) (y) & DD_PAGE_MASK)) #define DD_COLOR(p) ((p)->index) #define DD_IS_BLACK(p) ((p)->index == DD_BLACK) #define DD_IS_RED(p) ((p)->index == DD_RED) #define DD_LEFT(p) cuddT(p) #define DD_RIGHT(p) cuddE(p) #define DD_NEXT(p) ((p)->next) #endif #endif /**AutomaticStart*************************************************************/ /*---------------------------------------------------------------------------*/ /* Static function prototypes */ /*---------------------------------------------------------------------------*/ static void ddRehashZdd (DdManager *unique, int i); #ifdef PBORI_FORCE_ORIGINAL_CUDD static int ddResizeTable (DdManager *unique, int index, int amount); static int cuddFindParent (DdManager *table, DdNode *node); #endif DD_INLINE static void ddFixLimits (DdManager *unique); #ifdef DD_RED_BLACK_FREE_LIST static void cuddOrderedInsert (DdNodePtr *root, DdNodePtr node); static DdNode * cuddOrderedThread (DdNode *root, DdNode *list); static void cuddRotateLeft (DdNodePtr *nodeP); static void cuddRotateRight (DdNodePtr *nodeP); static void cuddDoRebalance (DdNodePtr **stack, int stackN); #endif #ifdef PBORI_FORCE_ORIGINAL_CUDD static void ddPatchTree (DdManager *dd, MtrNode *treenode); #endif #ifdef DD_DEBUG static int cuddCheckCollisionOrdering (DdManager *unique, int i, int j); #endif static void ddReportRefMess (DdManager *unique, int i, const char *caller); /**AutomaticEnd***************************************************************/ /*---------------------------------------------------------------------------*/ /* Definition of exported functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Returns the next prime >= p.] Description [] SideEffects [None] ******************************************************************************/ unsigned int Cudd_Prime( unsigned int p) { int i,pn; p--; do { p++; if (p&1) { pn = 1; i = 3; while ((unsigned) (i * i) <= p) { if (p % i == 0) { pn = 0; break; } i += 2; } } else { pn = 0; } } while (!pn); return(p); } /* end of Cudd_Prime */ /**Function******************************************************************** Synopsis [Expand manager without creating variables.] Description [Expand a manager by a specified number of subtables without actually creating new variables. This function can be used to reduce the frequency of resizing when an estimate of the number of variables is available. One would call this function instead of passing the number of variables to Cudd_Init if variables should not be created right away of if the estimate on their number became available only after the manager has been created. Returns 1 if successful; 0 otherwise.] SideEffects [None] SeeAlso [Cudd_Init] ******************************************************************************/ #ifdef PBORI_FORCE_ORIGINAL_CUDD int Cudd_Reserve( DdManager *manager, int amount) { int currentSize = manager->size; if (amount < 0) return(0); if (currentSize + amount < currentSize) /* overflow */ return(0); if (amount <= manager->maxSize - manager->size) return(1); return ddResizeTable(manager, -1, amount); } /* end of Cudd_Reserve */ #endif /*---------------------------------------------------------------------------*/ /* Definition of internal functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Fast storage allocation for DdNodes in the table.] Description [Fast storage allocation for DdNodes in the table. The first 4 bytes of a chunk contain a pointer to the next block; the rest contains DD_MEM_CHUNK spaces for DdNodes. Returns a pointer to a new node if successful; NULL is memory is full.] SideEffects [None] SeeAlso [cuddDynamicAllocNode] ******************************************************************************/ DdNode * cuddAllocNode( DdManager * unique) { int i; DdNodePtr *mem; DdNode *list, *node; extern DD_OOMFP MMoutOfMemory; DD_OOMFP saveHandler; if (unique->nextFree == NULL) { /* free list is empty */ /* Check for exceeded limits. */ if ((unique->keys - unique->dead) + (unique->keysZ - unique->deadZ) > unique->maxLive) { unique->errorCode = CUDD_TOO_MANY_NODES; return(NULL); } if (util_cpu_time() - unique->startTime > unique->timeLimit) { unique->errorCode = CUDD_TIMEOUT_EXPIRED; return(NULL); } if (unique->stash == NULL || unique->memused > unique->maxmemhard) { (void) cuddGarbageCollect(unique,1); mem = NULL; } if (unique->nextFree == NULL) { if (unique->memused > unique->maxmemhard) { unique->errorCode = CUDD_MAX_MEM_EXCEEDED; return(NULL); } /* Try to allocate a new block. */ saveHandler = MMoutOfMemory; MMoutOfMemory = Cudd_OutOfMem; mem = (DdNodePtr *) ALLOC(DdNode,DD_MEM_CHUNK + 1); MMoutOfMemory = saveHandler; if (mem == NULL) { /* No more memory: Try collecting garbage. If this succeeds, ** we end up with mem still NULL, but unique->nextFree != ** NULL. */ if (cuddGarbageCollect(unique,1) == 0) { /* Last resort: Free the memory stashed away, if there ** any. If this succeeeds, mem != NULL and ** unique->nextFree still NULL. */ if (unique->stash != NULL) { FREE(unique->stash); unique->stash = NULL; /* Inhibit resizing of tables. */ cuddSlowTableGrowth(unique); /* Now try again. */ mem = (DdNodePtr *) ALLOC(DdNode,DD_MEM_CHUNK + 1); } if (mem == NULL) { /* Out of luck. Call the default handler to do ** whatever it specifies for a failed malloc. ** If this handler returns, then set error code, ** print warning, and return. */ (*MMoutOfMemory)(sizeof(DdNode)*(DD_MEM_CHUNK + 1)); unique->errorCode = CUDD_MEMORY_OUT; #ifdef DD_VERBOSE (void) fprintf(unique->err, "cuddAllocNode: out of memory"); (void) fprintf(unique->err, "Memory in use = %lu\n", unique->memused); #endif return(NULL); } } } if (mem != NULL) { /* successful allocation; slice memory */ ptruint offset; unique->memused += (DD_MEM_CHUNK + 1) * sizeof(DdNode); mem[0] = (DdNodePtr) unique->memoryList; unique->memoryList = mem; /* Here we rely on the fact that a DdNode is as large ** as 4 pointers. */ offset = (ptruint) mem & (sizeof(DdNode) - 1); mem += (sizeof(DdNode) - offset) / sizeof(DdNodePtr); CUDD_ASSERT(((ptruint) mem & (sizeof(DdNode) - 1)) == 0); list = (DdNode *) mem; i = 1; do { list[i - 1].ref = 0; list[i - 1].next = &list[i]; } while (++i < DD_MEM_CHUNK); list[DD_MEM_CHUNK-1].ref = 0; list[DD_MEM_CHUNK-1].next = NULL; unique->nextFree = &list[0]; } } } unique->allocated++; node = unique->nextFree; unique->nextFree = node->next; return(node); } /* end of cuddAllocNode */ /**Function******************************************************************** Synopsis [Creates and initializes the unique table.] Description [Creates and initializes the unique table. Returns a pointer to the table if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_Init cuddFreeTable] ******************************************************************************/ DdManager * cuddInitTable( unsigned int numVars /* Initial number of BDD variables (and subtables) */, unsigned int numVarsZ /* Initial number of ZDD variables (and subtables) */, unsigned int numSlots /* Initial size of the BDD subtables */, unsigned int looseUpTo /* Limit for fast table growth */) { DdManager *unique = ALLOC(DdManager,1); int i, j; DdNodePtr *nodelist; DdNode *sentinel; unsigned int slots; int shift; if (unique == NULL) { return(NULL); } sentinel = &(unique->sentinel); sentinel->ref = 0; sentinel->index = 0; cuddT(sentinel) = NULL; cuddE(sentinel) = NULL; sentinel->next = NULL; unique->epsilon = DD_EPSILON; unique->size = numVars; unique->sizeZ = numVarsZ; unique->maxSize = ddMax(DD_DEFAULT_RESIZE, numVars); unique->maxSizeZ = ddMax(DD_DEFAULT_RESIZE, numVarsZ); /* Adjust the requested number of slots to a power of 2. */ slots = 8; while (slots < numSlots) { slots <<= 1; } unique->initSlots = slots; shift = sizeof(int) * 8 - cuddComputeFloorLog2(slots); unique->slots = (numVars + numVarsZ + 1) * slots; unique->keys = 0; unique->maxLive = ~0; /* very large number */ unique->keysZ = 0; unique->dead = 0; unique->deadZ = 0; unique->gcFrac = DD_GC_FRAC_HI; unique->minDead = (unsigned) (DD_GC_FRAC_HI * (double) unique->slots); unique->looseUpTo = looseUpTo; unique->gcEnabled = 1; unique->allocated = 0; unique->reclaimed = 0; unique->subtables = ALLOC(DdSubtable,unique->maxSize); if (unique->subtables == NULL) { FREE(unique); return(NULL); } unique->subtableZ = ALLOC(DdSubtable,unique->maxSizeZ); if (unique->subtableZ == NULL) { FREE(unique->subtables); FREE(unique); return(NULL); } unique->perm = ALLOC(int,unique->maxSize); if (unique->perm == NULL) { FREE(unique->subtables); FREE(unique->subtableZ); FREE(unique); return(NULL); } unique->invperm = ALLOC(int,unique->maxSize); if (unique->invperm == NULL) { FREE(unique->subtables); FREE(unique->subtableZ); FREE(unique->perm); FREE(unique); return(NULL); } unique->permZ = ALLOC(int,unique->maxSizeZ); if (unique->permZ == NULL) { FREE(unique->subtables); FREE(unique->subtableZ); FREE(unique->perm); FREE(unique->invperm); FREE(unique); return(NULL); } unique->invpermZ = ALLOC(int,unique->maxSizeZ); if (unique->invpermZ == NULL) { FREE(unique->subtables); FREE(unique->subtableZ); FREE(unique->perm); FREE(unique->invperm); FREE(unique->permZ); FREE(unique); return(NULL); } unique->map = NULL; unique->stack = ALLOC(DdNodePtr,ddMax(unique->maxSize,unique->maxSizeZ)+1); if (unique->stack == NULL) { FREE(unique->subtables); FREE(unique->subtableZ); FREE(unique->perm); FREE(unique->invperm); FREE(unique->permZ); FREE(unique->invpermZ); FREE(unique); return(NULL); } unique->stack[0] = NULL; /* to suppress harmless UMR */ #ifndef DD_NO_DEATH_ROW unique->deathRowDepth = 1 << cuddComputeFloorLog2(unique->looseUpTo >> 2); unique->deathRow = ALLOC(DdNodePtr,unique->deathRowDepth); if (unique->deathRow == NULL) { FREE(unique->subtables); FREE(unique->subtableZ); FREE(unique->perm); FREE(unique->invperm); FREE(unique->permZ); FREE(unique->invpermZ); FREE(unique->stack); FREE(unique); return(NULL); } for (i = 0; i < unique->deathRowDepth; i++) { unique->deathRow[i] = NULL; } unique->nextDead = 0; unique->deadMask = unique->deathRowDepth - 1; #endif for (i = 0; (unsigned) i < numVars; i++) { unique->subtables[i].slots = slots; unique->subtables[i].shift = shift; unique->subtables[i].keys = 0; unique->subtables[i].dead = 0; unique->subtables[i].maxKeys = slots * DD_MAX_SUBTABLE_DENSITY; unique->subtables[i].bindVar = 0; unique->subtables[i].varType = CUDD_VAR_PRIMARY_INPUT; unique->subtables[i].pairIndex = 0; unique->subtables[i].varHandled = 0; unique->subtables[i].varToBeGrouped = CUDD_LAZY_NONE; nodelist = unique->subtables[i].nodelist = ALLOC(DdNodePtr,slots); if (nodelist == NULL) { for (j = 0; j < i; j++) { FREE(unique->subtables[j].nodelist); } FREE(unique->subtables); FREE(unique->subtableZ); FREE(unique->perm); FREE(unique->invperm); FREE(unique->permZ); FREE(unique->invpermZ); FREE(unique->stack); FREE(unique); return(NULL); } for (j = 0; (unsigned) j < slots; j++) { nodelist[j] = sentinel; } unique->perm[i] = i; unique->invperm[i] = i; } for (i = 0; (unsigned) i < numVarsZ; i++) { unique->subtableZ[i].slots = slots; unique->subtableZ[i].shift = shift; unique->subtableZ[i].keys = 0; unique->subtableZ[i].dead = 0; unique->subtableZ[i].maxKeys = slots * DD_MAX_SUBTABLE_DENSITY; nodelist = unique->subtableZ[i].nodelist = ALLOC(DdNodePtr,slots); if (nodelist == NULL) { for (j = 0; (unsigned) j < numVars; j++) { FREE(unique->subtables[j].nodelist); } FREE(unique->subtables); for (j = 0; j < i; j++) { FREE(unique->subtableZ[j].nodelist); } FREE(unique->subtableZ); FREE(unique->perm); FREE(unique->invperm); FREE(unique->permZ); FREE(unique->invpermZ); FREE(unique->stack); FREE(unique); return(NULL); } for (j = 0; (unsigned) j < slots; j++) { nodelist[j] = NULL; } unique->permZ[i] = i; unique->invpermZ[i] = i; } unique->constants.slots = slots; unique->constants.shift = shift; unique->constants.keys = 0; unique->constants.dead = 0; unique->constants.maxKeys = slots * DD_MAX_SUBTABLE_DENSITY; nodelist = unique->constants.nodelist = ALLOC(DdNodePtr,slots); if (nodelist == NULL) { for (j = 0; (unsigned) j < numVars; j++) { FREE(unique->subtables[j].nodelist); } FREE(unique->subtables); for (j = 0; (unsigned) j < numVarsZ; j++) { FREE(unique->subtableZ[j].nodelist); } FREE(unique->subtableZ); FREE(unique->perm); FREE(unique->invperm); FREE(unique->permZ); FREE(unique->invpermZ); FREE(unique->stack); FREE(unique); return(NULL); } for (j = 0; (unsigned) j < slots; j++) { nodelist[j] = NULL; } unique->memoryList = NULL; unique->nextFree = NULL; unique->memused = sizeof(DdManager) + (unique->maxSize + unique->maxSizeZ) * (sizeof(DdSubtable) + 2 * sizeof(int)) + (numVars + 1) * slots * sizeof(DdNodePtr) + (ddMax(unique->maxSize,unique->maxSizeZ) + 1) * sizeof(DdNodePtr); #ifndef DD_NO_DEATH_ROW unique->memused += unique->deathRowDepth * sizeof(DdNodePtr); #endif /* Initialize fields concerned with automatic dynamic reordering. */ unique->reordered = 0; unique->reorderings = 0; unique->maxReorderings = ~0; unique->siftMaxVar = DD_SIFT_MAX_VAR; unique->siftMaxSwap = DD_SIFT_MAX_SWAPS; unique->maxGrowth = DD_MAX_REORDER_GROWTH; unique->maxGrowthAlt = 2.0 * DD_MAX_REORDER_GROWTH; unique->reordCycle = 0; /* do not use alternate threshold */ unique->autoDyn = 0; /* initially disabled */ unique->autoDynZ = 0; /* initially disabled */ unique->autoMethod = CUDD_REORDER_SIFT; unique->autoMethodZ = CUDD_REORDER_SIFT; unique->realign = 0; /* initially disabled */ unique->realignZ = 0; /* initially disabled */ unique->nextDyn = DD_FIRST_REORDER; unique->countDead = ~0; #ifdef PBORI_FORCE_ORIGINAL_CUDD unique->tree = NULL; unique->treeZ = NULL; #endif unique->groupcheck = CUDD_GROUP_CHECK7; unique->recomb = DD_DEFAULT_RECOMB; unique->symmviolation = 0; unique->arcviolation = 0; unique->populationSize = 0; unique->numberXovers = 0; unique->randomizeOrder = 0; unique->linear = NULL; unique->linearSize = 0; /* Initialize ZDD universe. */ unique->univ = (DdNodePtr *)NULL; /* Initialize auxiliary fields. */ unique->localCaches = NULL; unique->preGCHook = NULL; unique->postGCHook = NULL; unique->preReorderingHook = NULL; unique->postReorderingHook = NULL; unique->out = stdout; unique->err = stderr; unique->errorCode = CUDD_NO_ERROR; unique->startTime = util_cpu_time(); unique->timeLimit = ~0UL; /* Initialize statistical counters. */ unique->maxmemhard = ~ 0UL; unique->garbageCollections = 0; unique->GCTime = 0; unique->reordTime = 0; #ifdef DD_STATS unique->nodesDropped = 0; unique->nodesFreed = 0; #endif unique->peakLiveNodes = 0; #ifdef DD_UNIQUE_PROFILE unique->uniqueLookUps = 0; unique->uniqueLinks = 0; #endif #ifdef DD_COUNT unique->recursiveCalls = 0; unique->swapSteps = 0; #ifdef DD_STATS unique->nextSample = 250000; #endif #endif return(unique); } /* end of cuddInitTable */ /**Function******************************************************************** Synopsis [Frees the resources associated to a unique table.] Description [] SideEffects [None] SeeAlso [cuddInitTable] ******************************************************************************/ void cuddFreeTable( DdManager * unique) { DdNodePtr *next; DdNodePtr *memlist = unique->memoryList; int i; if (unique->univ != NULL) cuddZddFreeUniv(unique); while (memlist != NULL) { next = (DdNodePtr *) memlist[0]; /* link to next block */ FREE(memlist); memlist = next; } unique->nextFree = NULL; unique->memoryList = NULL; for (i = 0; i < unique->size; i++) { FREE(unique->subtables[i].nodelist); } for (i = 0; i < unique->sizeZ; i++) { FREE(unique->subtableZ[i].nodelist); } FREE(unique->constants.nodelist); FREE(unique->subtables); FREE(unique->subtableZ); FREE(unique->acache); FREE(unique->perm); FREE(unique->permZ); FREE(unique->invperm); FREE(unique->invpermZ); FREE(unique->vars); if (unique->map != NULL) FREE(unique->map); FREE(unique->stack); #ifndef DD_NO_DEATH_ROW FREE(unique->deathRow); #endif #ifdef PBORI_FORCE_ORIGINAL_CUDD if (unique->tree != NULL) Mtr_FreeTree(unique->tree); if (unique->treeZ != NULL) Mtr_FreeTree(unique->treeZ); #endif if (unique->linear != NULL) FREE(unique->linear); while (unique->preGCHook != NULL) Cudd_RemoveHook(unique,unique->preGCHook->f,CUDD_PRE_GC_HOOK); while (unique->postGCHook != NULL) Cudd_RemoveHook(unique,unique->postGCHook->f,CUDD_POST_GC_HOOK); while (unique->preReorderingHook != NULL) Cudd_RemoveHook(unique,unique->preReorderingHook->f, CUDD_PRE_REORDERING_HOOK); while (unique->postReorderingHook != NULL) Cudd_RemoveHook(unique,unique->postReorderingHook->f, CUDD_POST_REORDERING_HOOK); FREE(unique); } /* end of cuddFreeTable */ /**Function******************************************************************** Synopsis [Performs garbage collection on the unique tables.] Description [Performs garbage collection on the BDD and ZDD unique tables. If clearCache is 0, the cache is not cleared. This should only be specified if the cache has been cleared right before calling cuddGarbageCollect. (As in the case of dynamic reordering.) Returns the total number of deleted nodes.] SideEffects [None] SeeAlso [] ******************************************************************************/ int cuddGarbageCollect( DdManager * unique, int clearCache) { DdHook *hook; DdCache *cache = unique->cache; DdNode *sentinel = &(unique->sentinel); DdNodePtr *nodelist; int i, j, deleted, totalDeleted, totalDeletedZ; DdCache *c; DdNode *node,*next; DdNodePtr *lastP; int slots; unsigned long localTime; #ifndef DD_UNSORTED_FREE_LIST #ifdef DD_RED_BLACK_FREE_LIST DdNodePtr tree; #else DdNodePtr *memListTrav, *nxtNode; DdNode *downTrav, *sentry; int k; #endif #endif #ifndef DD_NO_DEATH_ROW cuddClearDeathRow(unique); #endif hook = unique->preGCHook; while (hook != NULL) { int res = (hook->f)(unique,"DD",NULL); if (res == 0) return(0); hook = hook->next; } if (unique->dead + unique->deadZ == 0) { hook = unique->postGCHook; while (hook != NULL) { int res = (hook->f)(unique,"DD",NULL); if (res == 0) return(0); hook = hook->next; } return(0); } /* If many nodes are being reclaimed, we want to resize the tables ** more aggressively, to reduce the frequency of garbage collection. */ if (clearCache && unique->gcFrac == DD_GC_FRAC_LO && unique->slots <= unique->looseUpTo && unique->stash != NULL) { unique->minDead = (unsigned) (DD_GC_FRAC_HI * (double) unique->slots); #ifdef DD_VERBOSE (void) fprintf(unique->err,"GC fraction = %.2f\t", DD_GC_FRAC_HI); (void) fprintf(unique->err,"minDead = %d\n", unique->minDead); #endif unique->gcFrac = DD_GC_FRAC_HI; return(0); } localTime = util_cpu_time(); unique->garbageCollections++; #ifdef DD_VERBOSE (void) fprintf(unique->err, "garbage collecting (%d dead BDD nodes out of %d, min %d)...", unique->dead, unique->keys, unique->minDead); (void) fprintf(unique->err, " (%d dead ZDD nodes out of %d)...", unique->deadZ, unique->keysZ); #endif /* Remove references to garbage collected nodes from the cache. */ if (clearCache) { slots = unique->cacheSlots; for (i = 0; i < slots; i++) { c = &cache[i]; if (c->data != NULL) { if (cuddClean(c->f)->ref == 0 || cuddClean(c->g)->ref == 0 || (((ptruint)c->f & 0x2) && Cudd_Regular(c->h)->ref == 0) || (c->data != DD_NON_CONSTANT && Cudd_Regular(c->data)->ref == 0)) { c->data = NULL; unique->cachedeletions++; } } } cuddLocalCacheClearDead(unique); } /* Now return dead nodes to free list. Count them for sanity check. */ totalDeleted = 0; #ifndef DD_UNSORTED_FREE_LIST #ifdef DD_RED_BLACK_FREE_LIST tree = NULL; #endif #endif for (i = 0; i < unique->size; i++) { if (unique->subtables[i].dead == 0) continue; nodelist = unique->subtables[i].nodelist; deleted = 0; slots = unique->subtables[i].slots; for (j = 0; j < slots; j++) { lastP = &(nodelist[j]); node = *lastP; while (node != sentinel) { next = node->next; if (node->ref == 0) { deleted++; #ifndef DD_UNSORTED_FREE_LIST #ifdef DD_RED_BLACK_FREE_LIST cuddOrderedInsert(&tree,node); #endif #else cuddDeallocNode(unique,node); #endif } else { *lastP = node; lastP = &(node->next); } node = next; } *lastP = sentinel; } if ((unsigned) deleted != unique->subtables[i].dead) { #ifndef PBORI_FORCE_ORIGINAL_CUDD ddReportRefMess(unique, i, "pbori_cuddGarbageCollect"); #else ddReportRefMess(unique, i, "cuddGarbageCollect"); #endif } totalDeleted += deleted; unique->subtables[i].keys -= deleted; unique->subtables[i].dead = 0; } if (unique->constants.dead != 0) { nodelist = unique->constants.nodelist; deleted = 0; slots = unique->constants.slots; for (j = 0; j < slots; j++) { lastP = &(nodelist[j]); node = *lastP; while (node != NULL) { next = node->next; if (node->ref == 0) { deleted++; #ifndef DD_UNSORTED_FREE_LIST #ifdef DD_RED_BLACK_FREE_LIST cuddOrderedInsert(&tree,node); #endif #else cuddDeallocNode(unique,node); #endif } else { *lastP = node; lastP = &(node->next); } node = next; } *lastP = NULL; } if ((unsigned) deleted != unique->constants.dead) { ddReportRefMess(unique, CUDD_CONST_INDEX, "cuddGarbageCollect"); } totalDeleted += deleted; unique->constants.keys -= deleted; unique->constants.dead = 0; } if ((unsigned) totalDeleted != unique->dead) { ddReportRefMess(unique, -1, "cuddGarbageCollect"); } unique->keys -= totalDeleted; unique->dead = 0; #ifdef DD_STATS unique->nodesFreed += (double) totalDeleted; #endif totalDeletedZ = 0; for (i = 0; i < unique->sizeZ; i++) { if (unique->subtableZ[i].dead == 0) continue; nodelist = unique->subtableZ[i].nodelist; deleted = 0; slots = unique->subtableZ[i].slots; for (j = 0; j < slots; j++) { lastP = &(nodelist[j]); node = *lastP; while (node != NULL) { next = node->next; if (node->ref == 0) { deleted++; #ifndef DD_UNSORTED_FREE_LIST #ifdef DD_RED_BLACK_FREE_LIST cuddOrderedInsert(&tree,node); #endif #else cuddDeallocNode(unique,node); #endif } else { *lastP = node; lastP = &(node->next); } node = next; } *lastP = NULL; } if ((unsigned) deleted != unique->subtableZ[i].dead) { ddReportRefMess(unique, i, "cuddGarbageCollect"); } totalDeletedZ += deleted; unique->subtableZ[i].keys -= deleted; unique->subtableZ[i].dead = 0; } /* No need to examine the constant table for ZDDs. ** If we did we should be careful not to count whatever dead ** nodes we found there among the dead ZDD nodes. */ if ((unsigned) totalDeletedZ != unique->deadZ) { ddReportRefMess(unique, -1, "cuddGarbageCollect"); } unique->keysZ -= totalDeletedZ; unique->deadZ = 0; #ifdef DD_STATS unique->nodesFreed += (double) totalDeletedZ; #endif #ifndef DD_UNSORTED_FREE_LIST #ifdef DD_RED_BLACK_FREE_LIST unique->nextFree = cuddOrderedThread(tree,unique->nextFree); #else memListTrav = unique->memoryList; sentry = NULL; while (memListTrav != NULL) { ptruint offset; nxtNode = (DdNodePtr *)memListTrav[0]; offset = (ptruint) memListTrav & (sizeof(DdNode) - 1); memListTrav += (sizeof(DdNode) - offset) / sizeof(DdNodePtr); downTrav = (DdNode *)memListTrav; k = 0; do { if (downTrav[k].ref == 0) { if (sentry == NULL) { unique->nextFree = sentry = &downTrav[k]; } else { /* First hook sentry->next to the dead node and then ** reassign sentry to the dead node. */ sentry = (sentry->next = &downTrav[k]); } } } while (++k < DD_MEM_CHUNK); memListTrav = nxtNode; } sentry->next = NULL; #endif #endif unique->GCTime += util_cpu_time() - localTime; hook = unique->postGCHook; while (hook != NULL) { int res = (hook->f)(unique,"DD",NULL); if (res == 0) return(0); hook = hook->next; } #ifdef DD_VERBOSE (void) fprintf(unique->err," done\n"); #endif return(totalDeleted+totalDeletedZ); } /* end of cuddGarbageCollect */ /**Function******************************************************************** Synopsis [Wrapper for cuddUniqueInterZdd.] Description [Wrapper for cuddUniqueInterZdd, which applies the ZDD reduction rule. Returns a pointer to the result node under normal conditions; NULL if reordering occurred or memory was exhausted.] SideEffects [None] SeeAlso [cuddUniqueInterZdd] ******************************************************************************/ #ifdef PBORI_FORCE_ORIGINAL_CUDD DdNode * cuddZddGetNode( DdManager * zdd, int id, DdNode * T, DdNode * E) { DdNode *node; if (T == DD_ZERO(zdd)) return(E); node = cuddUniqueInterZdd(zdd, id, T, E); return(node); } /* end of cuddZddGetNode */ #endif #ifdef PBORI_FORCE_ORIGINAL_CUDD /**Function******************************************************************** Synopsis [Wrapper for cuddUniqueInterZdd that is independent of variable ordering.] Description [Wrapper for cuddUniqueInterZdd that is independent of variable ordering (IVO). This function does not require parameter index to precede the indices of the top nodes of g and h in the variable order. Returns a pointer to the result node under normal conditions; NULL if reordering occurred or memory was exhausted.] SideEffects [None] SeeAlso [cuddZddGetNode cuddZddIsop] ******************************************************************************/ DdNode * cuddZddGetNodeIVO( DdManager * dd, int index, DdNode * g, DdNode * h) { DdNode *f, *r, *t; DdNode *zdd_one = DD_ONE(dd); DdNode *zdd_zero = DD_ZERO(dd); f = cuddUniqueInterZdd(dd, index, zdd_one, zdd_zero); if (f == NULL) { return(NULL); } cuddRef(f); t = cuddZddProduct(dd, f, g); if (t == NULL) { Cudd_RecursiveDerefZdd(dd, f); return(NULL); } cuddRef(t); Cudd_RecursiveDerefZdd(dd, f); r = cuddZddUnion(dd, t, h); if (r == NULL) { Cudd_RecursiveDerefZdd(dd, t); return(NULL); } cuddRef(r); Cudd_RecursiveDerefZdd(dd, t); cuddDeref(r); return(r); } /* end of cuddZddGetNodeIVO */ #endif /**Function******************************************************************** Synopsis [Checks the unique table for the existence of an internal node.] Description [Checks the unique table for the existence of an internal node. If it does not exist, it creates a new one. Does not modify the reference count of whatever is returned. A newly created internal node comes back with a reference count 0. For a newly created node, increments the reference counts of what T and E point to. Returns a pointer to the new node if successful; NULL if memory is exhausted or if reordering took place.] SideEffects [None] SeeAlso [cuddUniqueInterZdd] ******************************************************************************/ DdNode * cuddUniqueInter( DdManager * unique, int index, DdNode * T, DdNode * E) { int pos; unsigned int level; #ifdef PBORI_FORCE_ORIGINAL_CUDD int retval; #endif DdNodePtr *nodelist; DdNode *looking; DdNodePtr *previousP; DdSubtable *subtable; int gcNumber; #ifdef DD_UNIQUE_PROFILE unique->uniqueLookUps++; #endif if ((0x1ffffUL & (unsigned long) unique->cacheMisses) == 0) { if (util_cpu_time() - unique->startTime > unique->timeLimit) { unique->errorCode = CUDD_TIMEOUT_EXPIRED; return(NULL); } } if (index >= unique->size) { #ifdef PBORI_FORCE_ORIGINAL_CUDD int amount = ddMax(DD_DEFAULT_RESIZE,unique->size/20); if (!ddResizeTable(unique,index,amount)) return(NULL); #else return NULL; #endif } #ifdef PBORI_FORCE_ORIGINAL_CUDD level = unique->perm[index]; #else level=index; #endif subtable = &(unique->subtables[level]); #ifdef DD_DEBUG CUDD_ASSERT(level < (unsigned) cuddI(unique,T->index)); CUDD_ASSERT(level < (unsigned) cuddI(unique,Cudd_Regular(E)->index)); #endif pos = ddHash(T, E, subtable->shift); nodelist = subtable->nodelist; previousP = &(nodelist[pos]); looking = *previousP; while (T < cuddT(looking)) { previousP = &(looking->next); looking = *previousP; #ifdef DD_UNIQUE_PROFILE unique->uniqueLinks++; #endif } while (T == cuddT(looking) && E < cuddE(looking)) { previousP = &(looking->next); looking = *previousP; #ifdef DD_UNIQUE_PROFILE unique->uniqueLinks++; #endif } if (T == cuddT(looking) && E == cuddE(looking)) { if (looking->ref == 0) { cuddReclaim(unique,looking); } return(looking); } /* countDead is 0 if deads should be counted and ~0 if they should not. */ #ifdef PBORI_FORCE_ORIGINAL_CUDD if (unique->autoDyn && unique->keys - (unique->dead & unique->countDead) >= unique->nextDyn && unique->maxReorderings > 0) { unsigned long cpuTime; #ifdef DD_DEBUG retval = Cudd_DebugCheck(unique); if (retval != 0) return(NULL); retval = Cudd_CheckKeys(unique); if (retval != 0) return(NULL); #endif retval = Cudd_ReduceHeap(unique,unique->autoMethod,10); /* 10 = whatever */ unique->maxReorderings--; if (retval == 0) { unique->reordered = 2; } else if ((cpuTime = util_cpu_time()) - unique->startTime > unique->timeLimit) { unique->errorCode = CUDD_TIMEOUT_EXPIRED; unique->reordered = 0; } else if (unique->timeLimit - (cpuTime - unique->startTime) < unique->reordTime) { unique->autoDyn = 0; } #ifdef DD_DEBUG retval = Cudd_DebugCheck(unique); if (retval != 0) unique->reordered = 2; retval = Cudd_CheckKeys(unique); if (retval != 0) unique->reordered = 2; #endif return(NULL); } #endif /* PBORI_FORCE_ORIGINAL_CUDD*/ if (subtable->keys > subtable->maxKeys) { if (unique->gcEnabled && ((unique->dead > unique->minDead) || ((unique->dead > unique->minDead / 2) && (subtable->dead > subtable->keys * 0.95)))) { /* too many dead */ if (util_cpu_time() - unique->startTime > unique->timeLimit) { unique->errorCode = CUDD_TIMEOUT_EXPIRED; return(NULL); } (void) cuddGarbageCollect(unique,1); } else { cuddRehash(unique,(int)level); } /* Update pointer to insertion point. In the case of rehashing, ** the slot may have changed. In the case of garbage collection, ** the predecessor may have been dead. */ pos = ddHash(T, E, subtable->shift); nodelist = subtable->nodelist; previousP = &(nodelist[pos]); looking = *previousP; while (T < cuddT(looking)) { previousP = &(looking->next); looking = *previousP; #ifdef DD_UNIQUE_PROFILE unique->uniqueLinks++; #endif } while (T == cuddT(looking) && E < cuddE(looking)) { previousP = &(looking->next); looking = *previousP; #ifdef DD_UNIQUE_PROFILE unique->uniqueLinks++; #endif } } gcNumber = unique->garbageCollections; looking = cuddAllocNode(unique); if (looking == NULL) { return(NULL); } unique->keys++; subtable->keys++; if (gcNumber != unique->garbageCollections) { DdNode *looking2; pos = ddHash(T, E, subtable->shift); nodelist = subtable->nodelist; previousP = &(nodelist[pos]); looking2 = *previousP; while (T < cuddT(looking2)) { previousP = &(looking2->next); looking2 = *previousP; #ifdef DD_UNIQUE_PROFILE unique->uniqueLinks++; #endif } while (T == cuddT(looking2) && E < cuddE(looking2)) { previousP = &(looking2->next); looking2 = *previousP; #ifdef DD_UNIQUE_PROFILE unique->uniqueLinks++; #endif } } looking->index = index; cuddT(looking) = T; cuddE(looking) = E; looking->next = *previousP; *previousP = looking; cuddSatInc(T->ref); /* we know T is a regular pointer */ cuddRef(E); #ifdef DD_DEBUG cuddCheckCollisionOrdering(unique,level,pos); #endif return(looking); } /* end of cuddUniqueInter */ /**Function******************************************************************** Synopsis [Wrapper for cuddUniqueInter that is independent of variable ordering.] Description [Wrapper for cuddUniqueInter that is independent of variable ordering (IVO). This function does not require parameter index to precede the indices of the top nodes of T and E in the variable order. Returns a pointer to the result node under normal conditions; NULL if reordering occurred or memory was exhausted.] SideEffects [None] SeeAlso [cuddUniqueInter Cudd_MakeBddFromZddCover] ******************************************************************************/ #ifdef PBORI_FORCE_ORIGINAL_CUDD DdNode * cuddUniqueInterIVO( DdManager * unique, int index, DdNode * T, DdNode * E) { DdNode *result; DdNode *v; v = cuddUniqueInter(unique, index, DD_ONE(unique), Cudd_Not(DD_ONE(unique))); if (v == NULL) return(NULL); /* Since v is a projection function, we can skip the call to cuddRef. */ result = cuddBddIteRecur(unique, v, T, E); return(result); } /* end of cuddUniqueInterIVO */ #endif /**Function******************************************************************** Synopsis [Checks the unique table for the existence of an internal ZDD node.] Description [Checks the unique table for the existence of an internal ZDD node. If it does not exist, it creates a new one. Does not modify the reference count of whatever is returned. A newly created internal node comes back with a reference count 0. For a newly created node, increments the reference counts of what T and E point to. Returns a pointer to the new node if successful; NULL if memory is exhausted or if reordering took place.] SideEffects [None] SeeAlso [cuddUniqueInter] ******************************************************************************/ DdNode * cuddUniqueInterZdd( DdManager * unique, int index, DdNode * T, DdNode * E) { int pos; unsigned int level; #ifdef PBORI_FORCE_ORIGINAL_CUDD int retval; #endif DdNodePtr *nodelist; DdNode *looking; DdSubtable *subtable; #ifdef DD_UNIQUE_PROFILE unique->uniqueLookUps++; #endif if UNLIKELY(index >= unique->sizeZ) { if (!cuddResizeTableZdd(unique,index)) return(NULL); } level = unique->permZ[index]; subtable = &(unique->subtableZ[level]); #ifdef DD_DEBUG CUDD_ASSERT(level < (unsigned) cuddIZ(unique,T->index)); CUDD_ASSERT(level < (unsigned) cuddIZ(unique,Cudd_Regular(E)->index)); #endif if UNLIKELY(subtable->keys > subtable->maxKeys) { if (unique->gcEnabled && ((unique->deadZ > unique->minDead) || (10 * subtable->dead > 9 * subtable->keys))) { /* too many dead */ (void) cuddGarbageCollect(unique,1); } else { ddRehashZdd(unique,(int)level); } } pos = ddHash(T, E, subtable->shift); nodelist = subtable->nodelist; looking = nodelist[pos]; while (looking != NULL) { if LIKELY(cuddT(looking) == T && cuddE(looking) == E) { if UNLIKELY(looking->ref == 0) { cuddReclaimZdd(unique,looking); } return(looking); } looking = looking->next; #ifdef DD_UNIQUE_PROFILE unique->uniqueLinks++; #endif } /* countDead is 0 if deads should be counted and ~0 if they should not. */ #ifdef PBORI_FORCE_ORIGINAL_CUDD if (unique->autoDynZ && unique->keysZ - (unique->deadZ & unique->countDead) >= unique->nextDyn) { #ifdef DD_DEBUG retval = Cudd_DebugCheck(unique); if (retval != 0) return(NULL); retval = Cudd_CheckKeys(unique); if (retval != 0) return(NULL); #endif retval = Cudd_zddReduceHeap(unique,unique->autoMethodZ,10); /* 10 = whatever */ if (retval == 0) unique->reordered = 2; #ifdef DD_DEBUG retval = Cudd_DebugCheck(unique); if (retval != 0) unique->reordered = 2; retval = Cudd_CheckKeys(unique); if (retval != 0) unique->reordered = 2; #endif return(NULL); } #endif /* PBORI_FORCE_ORIGINAL_CUDD */ unique->keysZ++; subtable->keys++; looking = cuddAllocNode(unique); if (looking == NULL) return(NULL); looking->index = index; cuddT(looking) = T; cuddE(looking) = E; looking->next = nodelist[pos]; nodelist[pos] = looking; cuddRef(T); cuddRef(E); return(looking); } /* end of cuddUniqueInterZdd */ /**Function******************************************************************** Synopsis [Checks the unique table for the existence of a constant node.] Description [Checks the unique table for the existence of a constant node. If it does not exist, it creates a new one. Does not modify the reference count of whatever is returned. A newly created internal node comes back with a reference count 0. Returns a pointer to the new node.] SideEffects [None] ******************************************************************************/ DdNode * cuddUniqueConst( DdManager * unique, CUDD_VALUE_TYPE value) { int pos; DdNodePtr *nodelist; DdNode *looking; hack split; #ifdef DD_UNIQUE_PROFILE unique->uniqueLookUps++; #endif if (unique->constants.keys > unique->constants.maxKeys) { if (unique->gcEnabled && ((unique->dead > unique->minDead) || (10 * unique->constants.dead > 9 * unique->constants.keys))) { /* too many dead */ (void) cuddGarbageCollect(unique,1); } else { cuddRehash(unique,CUDD_CONST_INDEX); } } cuddAdjust(value); /* for the case of crippled infinities */ if (ddAbs(value) < unique->epsilon) { value = 0.0; } split.value = value; pos = ddHash(split.bits[0], split.bits[1], unique->constants.shift); nodelist = unique->constants.nodelist; looking = nodelist[pos]; /* Here we compare values both for equality and for difference less * than epsilon. The first comparison is required when values are * infinite, since Infinity - Infinity is NaN and NaN < X is 0 for * every X. */ while (looking != NULL) { if (looking->type.value == value || ddEqualVal(looking->type.value,value,unique->epsilon)) { if (looking->ref == 0) { cuddReclaim(unique,looking); } return(looking); } looking = looking->next; #ifdef DD_UNIQUE_PROFILE unique->uniqueLinks++; #endif } unique->keys++; unique->constants.keys++; looking = cuddAllocNode(unique); if (looking == NULL) return(NULL); looking->index = CUDD_CONST_INDEX; looking->type.value = value; looking->next = nodelist[pos]; nodelist[pos] = looking; return(looking); } /* end of cuddUniqueConst */ /**Function******************************************************************** Synopsis [Rehashes a unique subtable.] Description [Doubles the size of a unique subtable and rehashes its contents.] SideEffects [None] SeeAlso [] ******************************************************************************/ void cuddRehash( DdManager * unique, int i) { unsigned int slots, oldslots; int shift, oldshift; int j, pos; DdNodePtr *nodelist, *oldnodelist; DdNode *node, *next; DdNode *sentinel = &(unique->sentinel); hack split; extern DD_OOMFP MMoutOfMemory; DD_OOMFP saveHandler; if (unique->gcFrac == DD_GC_FRAC_HI && unique->slots > unique->looseUpTo) { unique->gcFrac = DD_GC_FRAC_LO; unique->minDead = (unsigned) (DD_GC_FRAC_LO * (double) unique->slots); #ifdef DD_VERBOSE (void) fprintf(unique->err,"GC fraction = %.2f\t", DD_GC_FRAC_LO); (void) fprintf(unique->err,"minDead = %d\n", unique->minDead); #endif } if (unique->gcFrac != DD_GC_FRAC_MIN && unique->memused > unique->maxmem) { unique->gcFrac = DD_GC_FRAC_MIN; unique->minDead = (unsigned) (DD_GC_FRAC_MIN * (double) unique->slots); #ifdef DD_VERBOSE (void) fprintf(unique->err,"GC fraction = %.2f\t", DD_GC_FRAC_MIN); (void) fprintf(unique->err,"minDead = %d\n", unique->minDead); #endif cuddShrinkDeathRow(unique); if (cuddGarbageCollect(unique,1) > 0) return; } if (i != CUDD_CONST_INDEX) { oldslots = unique->subtables[i].slots; oldshift = unique->subtables[i].shift; oldnodelist = unique->subtables[i].nodelist; /* Compute the new size of the subtable. */ slots = oldslots << 1; shift = oldshift - 1; saveHandler = MMoutOfMemory; MMoutOfMemory = Cudd_OutOfMem; nodelist = ALLOC(DdNodePtr, slots); MMoutOfMemory = saveHandler; if (nodelist == NULL) { (void) fprintf(unique->err, "Unable to resize subtable %d for lack of memory\n", i); /* Prevent frequent resizing attempts. */ (void) cuddGarbageCollect(unique,1); if (unique->stash != NULL) { FREE(unique->stash); unique->stash = NULL; /* Inhibit resizing of tables. */ cuddSlowTableGrowth(unique); } return; } unique->subtables[i].nodelist = nodelist; unique->subtables[i].slots = slots; unique->subtables[i].shift = shift; unique->subtables[i].maxKeys = slots * DD_MAX_SUBTABLE_DENSITY; /* Move the nodes from the old table to the new table. ** This code depends on the type of hash function. ** It assumes that the effect of doubling the size of the table ** is to retain one more bit of the 32-bit hash value. ** The additional bit is the LSB. */ for (j = 0; (unsigned) j < oldslots; j++) { DdNodePtr *evenP, *oddP; node = oldnodelist[j]; evenP = &(nodelist[j<<1]); oddP = &(nodelist[(j<<1)+1]); while (node != sentinel) { next = node->next; pos = ddHash(cuddT(node), cuddE(node), shift); if (pos & 1) { *oddP = node; oddP = &(node->next); } else { *evenP = node; evenP = &(node->next); } node = next; } *evenP = *oddP = sentinel; } FREE(oldnodelist); #ifdef DD_VERBOSE (void) fprintf(unique->err, "rehashing layer %d: keys %d dead %d new size %d\n", i, unique->subtables[i].keys, unique->subtables[i].dead, slots); #endif } else { oldslots = unique->constants.slots; oldshift = unique->constants.shift; oldnodelist = unique->constants.nodelist; /* The constant subtable is never subjected to reordering. ** Therefore, when it is resized, it is because it has just ** reached the maximum load. We can safely just double the size, ** with no need for the loop we use for the other tables. */ slots = oldslots << 1; shift = oldshift - 1; saveHandler = MMoutOfMemory; MMoutOfMemory = Cudd_OutOfMem; nodelist = ALLOC(DdNodePtr, slots); MMoutOfMemory = saveHandler; if (nodelist == NULL) { (void) fprintf(unique->err, "Unable to resize constant subtable for lack of memory\n"); (void) cuddGarbageCollect(unique,1); for (j = 0; j < unique->size; j++) { unique->subtables[j].maxKeys <<= 1; } unique->constants.maxKeys <<= 1; return; } unique->constants.slots = slots; unique->constants.shift = shift; unique->constants.maxKeys = slots * DD_MAX_SUBTABLE_DENSITY; unique->constants.nodelist = nodelist; for (j = 0; (unsigned) j < slots; j++) { nodelist[j] = NULL; } for (j = 0; (unsigned) j < oldslots; j++) { node = oldnodelist[j]; while (node != NULL) { next = node->next; split.value = cuddV(node); pos = ddHash(split.bits[0], split.bits[1], shift); node->next = nodelist[pos]; nodelist[pos] = node; node = next; } } FREE(oldnodelist); #ifdef DD_VERBOSE (void) fprintf(unique->err, "rehashing constants: keys %d dead %d new size %d\n", unique->constants.keys,unique->constants.dead,slots); #endif } /* Update global data */ unique->memused += (slots - oldslots) * sizeof(DdNodePtr); unique->slots += (slots - oldslots); ddFixLimits(unique); } /* end of cuddRehash */ /**Function******************************************************************** Synopsis [Shrinks a subtable.] Description [Shrinks a subtable.] SideEffects [None] SeeAlso [cuddRehash] ******************************************************************************/ #ifdef PBORI_FORCE_ORIGINAL_CUDD void cuddShrinkSubtable( DdManager *unique, int i) { int j; int shift, posn; DdNodePtr *nodelist, *oldnodelist; DdNode *node, *next; DdNode *sentinel = &(unique->sentinel); unsigned int slots, oldslots; extern DD_OOMFP MMoutOfMemory; DD_OOMFP saveHandler; oldnodelist = unique->subtables[i].nodelist; oldslots = unique->subtables[i].slots; slots = oldslots >> 1; saveHandler = MMoutOfMemory; MMoutOfMemory = Cudd_OutOfMem; nodelist = ALLOC(DdNodePtr, slots); MMoutOfMemory = saveHandler; if (nodelist == NULL) { return; } unique->subtables[i].nodelist = nodelist; unique->subtables[i].slots = slots; unique->subtables[i].shift++; unique->subtables[i].maxKeys = slots * DD_MAX_SUBTABLE_DENSITY; #ifdef DD_VERBOSE (void) fprintf(unique->err, "shrunk layer %d (%d keys) from %d to %d slots\n", i, unique->subtables[i].keys, oldslots, slots); #endif for (j = 0; (unsigned) j < slots; j++) { nodelist[j] = sentinel; } shift = unique->subtables[i].shift; for (j = 0; (unsigned) j < oldslots; j++) { node = oldnodelist[j]; while (node != sentinel) { DdNode *looking, *T, *E; DdNodePtr *previousP; next = node->next; posn = ddHash(cuddT(node), cuddE(node), shift); previousP = &(nodelist[posn]); looking = *previousP; T = cuddT(node); E = cuddE(node); while (T < cuddT(looking)) { previousP = &(looking->next); looking = *previousP; #ifdef DD_UNIQUE_PROFILE unique->uniqueLinks++; #endif } while (T == cuddT(looking) && E < cuddE(looking)) { previousP = &(looking->next); looking = *previousP; #ifdef DD_UNIQUE_PROFILE unique->uniqueLinks++; #endif } node->next = *previousP; *previousP = node; node = next; } } FREE(oldnodelist); unique->memused += ((long) slots - (long) oldslots) * sizeof(DdNode *); unique->slots += slots - oldslots; unique->minDead = (unsigned) (unique->gcFrac * (double) unique->slots); unique->cacheSlack = (int) ddMin(unique->maxCacheHard,DD_MAX_CACHE_TO_SLOTS_RATIO * unique->slots) - 2 * (int) unique->cacheSlots; } /* end of cuddShrinkSubtable */ /**Function******************************************************************** Synopsis [Inserts n new subtables in a unique table at level.] Description [Inserts n new subtables in a unique table at level. The number n should be positive, and level should be an existing level. Returns 1 if successful; 0 otherwise.] SideEffects [None] SeeAlso [cuddDestroySubtables] ******************************************************************************/ int cuddInsertSubtables( DdManager * unique, int n, int level) { DdSubtable *newsubtables; DdNodePtr *newnodelist; DdNodePtr *newvars; DdNode *sentinel = &(unique->sentinel); int oldsize,newsize; int i,j,index,reorderSave; unsigned int numSlots = unique->initSlots; int *newperm, *newinvperm, *newmap; DdNode *one, *zero; #ifdef DD_DEBUG CUDD_ASSERT(n > 0 && level < unique->size); #endif oldsize = unique->size; /* Easy case: there is still room in the current table. */ if (oldsize + n <= unique->maxSize) { /* Shift the tables at and below level. */ for (i = oldsize - 1; i >= level; i--) { unique->subtables[i+n].slots = unique->subtables[i].slots; unique->subtables[i+n].shift = unique->subtables[i].shift; unique->subtables[i+n].keys = unique->subtables[i].keys; unique->subtables[i+n].maxKeys = unique->subtables[i].maxKeys; unique->subtables[i+n].dead = unique->subtables[i].dead; unique->subtables[i+n].nodelist = unique->subtables[i].nodelist; unique->subtables[i+n].bindVar = unique->subtables[i].bindVar; unique->subtables[i+n].varType = unique->subtables[i].varType; unique->subtables[i+n].pairIndex = unique->subtables[i].pairIndex; unique->subtables[i+n].varHandled = unique->subtables[i].varHandled; unique->subtables[i+n].varToBeGrouped = unique->subtables[i].varToBeGrouped; index = unique->invperm[i]; unique->invperm[i+n] = index; unique->perm[index] += n; } /* Create new subtables. */ for (i = 0; i < n; i++) { unique->subtables[level+i].slots = numSlots; unique->subtables[level+i].shift = sizeof(int) * 8 - cuddComputeFloorLog2(numSlots); unique->subtables[level+i].keys = 0; unique->subtables[level+i].maxKeys = numSlots * DD_MAX_SUBTABLE_DENSITY; unique->subtables[level+i].dead = 0; unique->subtables[level+i].bindVar = 0; unique->subtables[level+i].varType = CUDD_VAR_PRIMARY_INPUT; unique->subtables[level+i].pairIndex = 0; unique->subtables[level+i].varHandled = 0; unique->subtables[level+i].varToBeGrouped = CUDD_LAZY_NONE; unique->perm[oldsize+i] = level + i; unique->invperm[level+i] = oldsize + i; newnodelist = unique->subtables[level+i].nodelist = ALLOC(DdNodePtr, numSlots); if (newnodelist == NULL) { unique->errorCode = CUDD_MEMORY_OUT; return(0); } for (j = 0; (unsigned) j < numSlots; j++) { newnodelist[j] = sentinel; } } if (unique->map != NULL) { for (i = 0; i < n; i++) { unique->map[oldsize+i] = oldsize + i; } } } else { /* The current table is too small: we need to allocate a new, ** larger one; move all old subtables, and initialize the new ** subtables. */ newsize = oldsize + n + DD_DEFAULT_RESIZE; #ifdef DD_VERBOSE (void) fprintf(unique->err, "Increasing the table size from %d to %d\n", unique->maxSize, newsize); #endif /* Allocate memory for new arrays (except nodelists). */ newsubtables = ALLOC(DdSubtable,newsize); if (newsubtables == NULL) { unique->errorCode = CUDD_MEMORY_OUT; return(0); } newvars = ALLOC(DdNodePtr,newsize); if (newvars == NULL) { unique->errorCode = CUDD_MEMORY_OUT; FREE(newsubtables); return(0); } newperm = ALLOC(int,newsize); if (newperm == NULL) { unique->errorCode = CUDD_MEMORY_OUT; FREE(newsubtables); FREE(newvars); return(0); } newinvperm = ALLOC(int,newsize); if (newinvperm == NULL) { unique->errorCode = CUDD_MEMORY_OUT; FREE(newsubtables); FREE(newvars); FREE(newperm); return(0); } if (unique->map != NULL) { newmap = ALLOC(int,newsize); if (newmap == NULL) { unique->errorCode = CUDD_MEMORY_OUT; FREE(newsubtables); FREE(newvars); FREE(newperm); FREE(newinvperm); return(0); } unique->memused += (newsize - unique->maxSize) * sizeof(int); } unique->memused += (newsize - unique->maxSize) * ((numSlots+1) * sizeof(DdNode *) + 2 * sizeof(int) + sizeof(DdSubtable)); /* Copy levels before insertion points from old tables. */ for (i = 0; i < level; i++) { newsubtables[i].slots = unique->subtables[i].slots; newsubtables[i].shift = unique->subtables[i].shift; newsubtables[i].keys = unique->subtables[i].keys; newsubtables[i].maxKeys = unique->subtables[i].maxKeys; newsubtables[i].dead = unique->subtables[i].dead; newsubtables[i].nodelist = unique->subtables[i].nodelist; newsubtables[i].bindVar = unique->subtables[i].bindVar; newsubtables[i].varType = unique->subtables[i].varType; newsubtables[i].pairIndex = unique->subtables[i].pairIndex; newsubtables[i].varHandled = unique->subtables[i].varHandled; newsubtables[i].varToBeGrouped = unique->subtables[i].varToBeGrouped; newvars[i] = unique->vars[i]; newperm[i] = unique->perm[i]; newinvperm[i] = unique->invperm[i]; } /* Finish initializing permutation for new table to old one. */ for (i = level; i < oldsize; i++) { newperm[i] = unique->perm[i]; } /* Initialize new levels. */ for (i = level; i < level + n; i++) { newsubtables[i].slots = numSlots; newsubtables[i].shift = sizeof(int) * 8 - cuddComputeFloorLog2(numSlots); newsubtables[i].keys = 0; newsubtables[i].maxKeys = numSlots * DD_MAX_SUBTABLE_DENSITY; newsubtables[i].dead = 0; newsubtables[i].bindVar = 0; newsubtables[i].varType = CUDD_VAR_PRIMARY_INPUT; newsubtables[i].pairIndex = 0; newsubtables[i].varHandled = 0; newsubtables[i].varToBeGrouped = CUDD_LAZY_NONE; newperm[oldsize + i - level] = i; newinvperm[i] = oldsize + i - level; newnodelist = newsubtables[i].nodelist = ALLOC(DdNodePtr, numSlots); if (newnodelist == NULL) { /* We are going to leak some memory. We should clean up. */ unique->errorCode = CUDD_MEMORY_OUT; return(0); } for (j = 0; (unsigned) j < numSlots; j++) { newnodelist[j] = sentinel; } } /* Copy the old tables for levels past the insertion point. */ for (i = level; i < oldsize; i++) { newsubtables[i+n].slots = unique->subtables[i].slots; newsubtables[i+n].shift = unique->subtables[i].shift; newsubtables[i+n].keys = unique->subtables[i].keys; newsubtables[i+n].maxKeys = unique->subtables[i].maxKeys; newsubtables[i+n].dead = unique->subtables[i].dead; newsubtables[i+n].nodelist = unique->subtables[i].nodelist; newsubtables[i+n].bindVar = unique->subtables[i].bindVar; newsubtables[i+n].varType = unique->subtables[i].varType; newsubtables[i+n].pairIndex = unique->subtables[i].pairIndex; newsubtables[i+n].varHandled = unique->subtables[i].varHandled; newsubtables[i+n].varToBeGrouped = unique->subtables[i].varToBeGrouped; newvars[i] = unique->vars[i]; index = unique->invperm[i]; newinvperm[i+n] = index; newperm[index] += n; } /* Update the map. */ if (unique->map != NULL) { for (i = 0; i < oldsize; i++) { newmap[i] = unique->map[i]; } for (i = oldsize; i < oldsize + n; i++) { newmap[i] = i; } FREE(unique->map); unique->map = newmap; } /* Install the new tables and free the old ones. */ FREE(unique->subtables); unique->subtables = newsubtables; unique->maxSize = newsize; FREE(unique->vars); unique->vars = newvars; FREE(unique->perm); unique->perm = newperm; FREE(unique->invperm); unique->invperm = newinvperm; /* Update the stack for iterative procedures. */ if (newsize > unique->maxSizeZ) { FREE(unique->stack); unique->stack = ALLOC(DdNodePtr,newsize + 1); if (unique->stack == NULL) { unique->errorCode = CUDD_MEMORY_OUT; return(0); } unique->stack[0] = NULL; /* to suppress harmless UMR */ unique->memused += (newsize - ddMax(unique->maxSize,unique->maxSizeZ)) * sizeof(DdNode *); } } /* Update manager parameters to account for the new subtables. */ unique->slots += n * numSlots; ddFixLimits(unique); unique->size += n; /* Now that the table is in a coherent state, create the new ** projection functions. We need to temporarily disable reordering, ** because we cannot reorder without projection functions in place. **/ one = unique->one; zero = Cudd_Not(one); reorderSave = unique->autoDyn; unique->autoDyn = 0; for (i = oldsize; i < oldsize + n; i++) { unique->vars[i] = cuddUniqueInter(unique,i,one,zero); if (unique->vars[i] == NULL) { unique->autoDyn = reorderSave; /* Shift everything back so table remains coherent. */ for (j = oldsize; j < i; j++) { Cudd_IterDerefBdd(unique,unique->vars[j]); cuddDeallocNode(unique,unique->vars[j]); unique->vars[j] = NULL; } for (j = level; j < oldsize; j++) { unique->subtables[j].slots = unique->subtables[j+n].slots; unique->subtables[j].slots = unique->subtables[j+n].slots; unique->subtables[j].shift = unique->subtables[j+n].shift; unique->subtables[j].keys = unique->subtables[j+n].keys; unique->subtables[j].maxKeys = unique->subtables[j+n].maxKeys; unique->subtables[j].dead = unique->subtables[j+n].dead; FREE(unique->subtables[j].nodelist); unique->subtables[j].nodelist = unique->subtables[j+n].nodelist; unique->subtables[j+n].nodelist = NULL; unique->subtables[j].bindVar = unique->subtables[j+n].bindVar; unique->subtables[j].varType = unique->subtables[j+n].varType; unique->subtables[j].pairIndex = unique->subtables[j+n].pairIndex; unique->subtables[j].varHandled = unique->subtables[j+n].varHandled; unique->subtables[j].varToBeGrouped = unique->subtables[j+n].varToBeGrouped; index = unique->invperm[j+n]; unique->invperm[j] = index; unique->perm[index] -= n; } unique->size = oldsize; unique->slots -= n * numSlots; ddFixLimits(unique); (void) Cudd_DebugCheck(unique); return(0); } cuddRef(unique->vars[i]); } if (unique->tree != NULL) { unique->tree->size += n; unique->tree->index = unique->invperm[0]; ddPatchTree(unique,unique->tree); } unique->autoDyn = reorderSave; return(1); } /* end of cuddInsertSubtables */ /**Function******************************************************************** Synopsis [Destroys the n most recently created subtables in a unique table.] Description [Destroys the n most recently created subtables in a unique table. n should be positive. The subtables should not contain any live nodes, except the (isolated) projection function. The projection functions are freed. Returns 1 if successful; 0 otherwise.] SideEffects [The variable map used for fast variable substitution is destroyed if it exists. In this case the cache is also cleared.] SeeAlso [cuddInsertSubtables Cudd_SetVarMap] ******************************************************************************/ int cuddDestroySubtables( DdManager * unique, int n) { DdSubtable *subtables; DdNodePtr *nodelist; DdNodePtr *vars; int firstIndex, lastIndex; int index, level, newlevel; int lowestLevel; int shift; int found; /* Sanity check and set up. */ if (n <= 0) return(0); if (n > unique->size) n = unique->size; subtables = unique->subtables; vars = unique->vars; firstIndex = unique->size - n; lastIndex = unique->size; /* Check for nodes labeled by the variables being destroyed ** that may still be in use. It is allowed to destroy a variable ** only if there are no such nodes. Also, find the lowest level ** among the variables being destroyed. This will make further ** processing more efficient. */ lowestLevel = unique->size; for (index = firstIndex; index < lastIndex; index++) { level = unique->perm[index]; if (level < lowestLevel) lowestLevel = level; nodelist = subtables[level].nodelist; if (subtables[level].keys - subtables[level].dead != 1) return(0); /* The projection function should be isolated. If the ref count ** is 1, everything is OK. If the ref count is saturated, then ** we need to make sure that there are no nodes pointing to it. ** As for the external references, we assume the application is ** responsible for them. */ if (vars[index]->ref != 1) { if (vars[index]->ref != DD_MAXREF) return(0); found = cuddFindParent(unique,vars[index]); if (found) { return(0); } else { vars[index]->ref = 1; } } Cudd_RecursiveDeref(unique,vars[index]); } /* Collect garbage, because we cannot afford having dead nodes pointing ** to the dead nodes in the subtables being destroyed. */ (void) cuddGarbageCollect(unique,1); /* Here we know we can destroy our subtables. */ for (index = firstIndex; index < lastIndex; index++) { level = unique->perm[index]; nodelist = subtables[level].nodelist; #ifdef DD_DEBUG CUDD_ASSERT(subtables[level].keys == 0); #endif FREE(nodelist); unique->memused -= sizeof(DdNodePtr) * subtables[level].slots; unique->slots -= subtables[level].slots; unique->dead -= subtables[level].dead; } /* Here all subtables to be destroyed have their keys field == 0 and ** their hash tables have been freed. ** We now scan the subtables from level lowestLevel + 1 to level size - 1, ** shifting the subtables as required. We keep a running count of ** how many subtables have been moved, so that we know by how many ** positions each subtable should be shifted. */ shift = 1; for (level = lowestLevel + 1; level < unique->size; level++) { if (subtables[level].keys == 0) { shift++; continue; } newlevel = level - shift; subtables[newlevel].slots = subtables[level].slots; subtables[newlevel].shift = subtables[level].shift; subtables[newlevel].keys = subtables[level].keys; subtables[newlevel].maxKeys = subtables[level].maxKeys; subtables[newlevel].dead = subtables[level].dead; subtables[newlevel].nodelist = subtables[level].nodelist; index = unique->invperm[level]; unique->perm[index] = newlevel; unique->invperm[newlevel] = index; subtables[newlevel].bindVar = subtables[level].bindVar; subtables[newlevel].varType = subtables[level].varType; subtables[newlevel].pairIndex = subtables[level].pairIndex; subtables[newlevel].varHandled = subtables[level].varHandled; subtables[newlevel].varToBeGrouped = subtables[level].varToBeGrouped; } /* Destroy the map. If a surviving variable is ** mapped to a dying variable, and the map were used again, ** an out-of-bounds access to unique->vars would result. */ if (unique->map != NULL) { cuddCacheFlush(unique); FREE(unique->map); unique->map = NULL; } unique->minDead = (unsigned) (unique->gcFrac * (double) unique->slots); unique->size -= n; return(1); } /* end of cuddDestroySubtables */ #endif /**Function******************************************************************** Synopsis [Increases the number of ZDD subtables in a unique table so that it meets or exceeds index.] Description [Increases the number of ZDD subtables in a unique table so that it meets or exceeds index. When new ZDD variables are created, it is possible to preserve the functions unchanged, or it is possible to preserve the covers unchanged, but not both. cuddResizeTableZdd preserves the covers. Returns 1 if successful; 0 otherwise.] SideEffects [None] SeeAlso [ddResizeTable] ******************************************************************************/ int cuddResizeTableZdd( DdManager * unique, int index) { DdSubtable *newsubtables; DdNodePtr *newnodelist; int oldsize,newsize; int i,j,reorderSave; unsigned int numSlots = unique->initSlots; int *newperm, *newinvperm; oldsize = unique->sizeZ; /* Easy case: there is still room in the current table. */ if (index < unique->maxSizeZ) { for (i = oldsize; i <= index; i++) { unique->subtableZ[i].slots = numSlots; unique->subtableZ[i].shift = sizeof(int) * 8 - cuddComputeFloorLog2(numSlots); unique->subtableZ[i].keys = 0; unique->subtableZ[i].maxKeys = numSlots * DD_MAX_SUBTABLE_DENSITY; unique->subtableZ[i].dead = 0; unique->permZ[i] = i; unique->invpermZ[i] = i; newnodelist = unique->subtableZ[i].nodelist = ALLOC(DdNodePtr, numSlots); if (newnodelist == NULL) { unique->errorCode = CUDD_MEMORY_OUT; return(0); } for (j = 0; (unsigned) j < numSlots; j++) { newnodelist[j] = NULL; } } } else { /* The current table is too small: we need to allocate a new, ** larger one; move all old subtables, and initialize the new ** subtables up to index included. */ newsize = index + DD_DEFAULT_RESIZE; #ifdef DD_VERBOSE (void) fprintf(unique->err, "Increasing the ZDD table size from %d to %d\n", unique->maxSizeZ, newsize); #endif newsubtables = ALLOC(DdSubtable,newsize); if (newsubtables == NULL) { unique->errorCode = CUDD_MEMORY_OUT; return(0); } newperm = ALLOC(int,newsize); if (newperm == NULL) { unique->errorCode = CUDD_MEMORY_OUT; return(0); } newinvperm = ALLOC(int,newsize); if (newinvperm == NULL) { unique->errorCode = CUDD_MEMORY_OUT; return(0); } unique->memused += (newsize - unique->maxSizeZ) * ((numSlots+1) * sizeof(DdNode *) + 2 * sizeof(int) + sizeof(DdSubtable)); if (newsize > unique->maxSize) { FREE(unique->stack); unique->stack = ALLOC(DdNodePtr,newsize + 1); if (unique->stack == NULL) { unique->errorCode = CUDD_MEMORY_OUT; return(0); } unique->stack[0] = NULL; /* to suppress harmless UMR */ unique->memused += (newsize - ddMax(unique->maxSize,unique->maxSizeZ)) * sizeof(DdNode *); } for (i = 0; i < oldsize; i++) { newsubtables[i].slots = unique->subtableZ[i].slots; newsubtables[i].shift = unique->subtableZ[i].shift; newsubtables[i].keys = unique->subtableZ[i].keys; newsubtables[i].maxKeys = unique->subtableZ[i].maxKeys; newsubtables[i].dead = unique->subtableZ[i].dead; newsubtables[i].nodelist = unique->subtableZ[i].nodelist; newperm[i] = unique->permZ[i]; newinvperm[i] = unique->invpermZ[i]; } for (i = oldsize; i <= index; i++) { newsubtables[i].slots = numSlots; newsubtables[i].shift = sizeof(int) * 8 - cuddComputeFloorLog2(numSlots); newsubtables[i].keys = 0; newsubtables[i].maxKeys = numSlots * DD_MAX_SUBTABLE_DENSITY; newsubtables[i].dead = 0; newperm[i] = i; newinvperm[i] = i; newnodelist = newsubtables[i].nodelist = ALLOC(DdNodePtr, numSlots); if (newnodelist == NULL) { unique->errorCode = CUDD_MEMORY_OUT; return(0); } for (j = 0; (unsigned) j < numSlots; j++) { newnodelist[j] = NULL; } } FREE(unique->subtableZ); unique->subtableZ = newsubtables; unique->maxSizeZ = newsize; FREE(unique->permZ); unique->permZ = newperm; FREE(unique->invpermZ); unique->invpermZ = newinvperm; } unique->slots += (index + 1 - unique->sizeZ) * numSlots; ddFixLimits(unique); unique->sizeZ = index + 1; /* Now that the table is in a coherent state, update the ZDD ** universe. We need to temporarily disable reordering, ** because we cannot reorder without universe in place. */ reorderSave = unique->autoDynZ; unique->autoDynZ = 0; cuddZddFreeUniv(unique); if (!cuddZddInitUniv(unique)) { unique->autoDynZ = reorderSave; return(0); } unique->autoDynZ = reorderSave; return(1); } /* end of cuddResizeTableZdd */ /**Function******************************************************************** Synopsis [Adjusts parameters of a table to slow down its growth.] Description [] SideEffects [None] SeeAlso [] ******************************************************************************/ void cuddSlowTableGrowth( DdManager *unique) { int i; unique->maxCacheHard = unique->cacheSlots - 1; unique->cacheSlack = - (int) (unique->cacheSlots + 1); for (i = 0; i < unique->size; i++) { unique->subtables[i].maxKeys <<= 2; } unique->gcFrac = DD_GC_FRAC_MIN; unique->minDead = (unsigned) (DD_GC_FRAC_MIN * (double) unique->slots); cuddShrinkDeathRow(unique); (void) fprintf(unique->err,"Slowing down table growth: "); (void) fprintf(unique->err,"GC fraction = %.2f\t", unique->gcFrac); (void) fprintf(unique->err,"minDead = %u\n", unique->minDead); } /* end of cuddSlowTableGrowth */ /*---------------------------------------------------------------------------*/ /* Definition of static functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Rehashes a ZDD unique subtable.] Description [] SideEffects [None] SeeAlso [cuddRehash] ******************************************************************************/ static void ddRehashZdd( DdManager * unique, int i) { unsigned int slots, oldslots; int shift, oldshift; int j, pos; DdNodePtr *nodelist, *oldnodelist; DdNode *node, *next; extern DD_OOMFP MMoutOfMemory; DD_OOMFP saveHandler; if (unique->slots > unique->looseUpTo) { unique->minDead = (unsigned) (DD_GC_FRAC_LO * (double) unique->slots); #ifdef DD_VERBOSE if (unique->gcFrac == DD_GC_FRAC_HI) { (void) fprintf(unique->err,"GC fraction = %.2f\t", DD_GC_FRAC_LO); (void) fprintf(unique->err,"minDead = %d\n", unique->minDead); } #endif unique->gcFrac = DD_GC_FRAC_LO; } CUDD_ASSERT(i != CUDD_MAXINDEX); oldslots = unique->subtableZ[i].slots; oldshift = unique->subtableZ[i].shift; oldnodelist = unique->subtableZ[i].nodelist; /* Compute the new size of the subtable. Normally, we just ** double. However, after reordering, a table may be severely ** overloaded. Therefore, we iterate. */ slots = oldslots; shift = oldshift; do { slots <<= 1; shift--; } while (slots * DD_MAX_SUBTABLE_DENSITY < unique->subtableZ[i].keys); saveHandler = MMoutOfMemory; MMoutOfMemory = Cudd_OutOfMem; nodelist = ALLOC(DdNodePtr, slots); MMoutOfMemory = saveHandler; if (nodelist == NULL) { (void) fprintf(unique->err, "Unable to resize ZDD subtable %d for lack of memory.\n", i); (void) cuddGarbageCollect(unique,1); for (j = 0; j < unique->sizeZ; j++) { unique->subtableZ[j].maxKeys <<= 1; } return; } unique->subtableZ[i].nodelist = nodelist; unique->subtableZ[i].slots = slots; unique->subtableZ[i].shift = shift; unique->subtableZ[i].maxKeys = slots * DD_MAX_SUBTABLE_DENSITY; for (j = 0; (unsigned) j < slots; j++) { nodelist[j] = NULL; } for (j = 0; (unsigned) j < oldslots; j++) { node = oldnodelist[j]; while (node != NULL) { next = node->next; pos = ddHash(cuddT(node), cuddE(node), shift); node->next = nodelist[pos]; nodelist[pos] = node; node = next; } } FREE(oldnodelist); #ifdef DD_VERBOSE (void) fprintf(unique->err, "rehashing layer %d: keys %d dead %d new size %d\n", i, unique->subtableZ[i].keys, unique->subtableZ[i].dead, slots); #endif /* Update global data. */ unique->memused += (slots - oldslots) * sizeof(DdNode *); unique->slots += (slots - oldslots); ddFixLimits(unique); } /* end of ddRehashZdd */ /**Function******************************************************************** Synopsis [Increases the number of subtables in a unique table so that it meets or exceeds index.] Description [Increases the number of subtables in a unique table so that it meets or exceeds index. The parameter amount determines how much spare space is allocated to prevent too frequent resizing. If index is negative, the table is resized, but no new variables are created. Returns 1 if successful; 0 otherwise.] SideEffects [None] SeeAlso [Cudd_Reserve cuddResizeTableZdd] ******************************************************************************/ #ifdef PBORI_FORCE_ORIGINAL_CUDD static int ddResizeTable( DdManager * unique, int index, int amount) { DdSubtable *newsubtables; DdNodePtr *newnodelist; DdNodePtr *newvars; DdNode *sentinel = &(unique->sentinel); int oldsize,newsize; int i,j,reorderSave; int numSlots = unique->initSlots; int *newperm, *newinvperm, *newmap; DdNode *one, *zero; oldsize = unique->size; /* Easy case: there is still room in the current table. */ if (index >= 0 && index < unique->maxSize) { for (i = oldsize; i <= index; i++) { unique->subtables[i].slots = numSlots; unique->subtables[i].shift = sizeof(int) * 8 - cuddComputeFloorLog2(numSlots); unique->subtables[i].keys = 0; unique->subtables[i].maxKeys = numSlots * DD_MAX_SUBTABLE_DENSITY; unique->subtables[i].dead = 0; unique->subtables[i].bindVar = 0; unique->subtables[i].varType = CUDD_VAR_PRIMARY_INPUT; unique->subtables[i].pairIndex = 0; unique->subtables[i].varHandled = 0; unique->subtables[i].varToBeGrouped = CUDD_LAZY_NONE; unique->perm[i] = i; unique->invperm[i] = i; newnodelist = unique->subtables[i].nodelist = ALLOC(DdNodePtr, numSlots); if (newnodelist == NULL) { for (j = oldsize; j < i; j++) { FREE(unique->subtables[j].nodelist); } unique->errorCode = CUDD_MEMORY_OUT; return(0); } for (j = 0; j < numSlots; j++) { newnodelist[j] = sentinel; } } if (unique->map != NULL) { for (i = oldsize; i <= index; i++) { unique->map[i] = i; } } } else { /* The current table is too small: we need to allocate a new, ** larger one; move all old subtables, and initialize the new ** subtables up to index included. */ newsize = (index < 0) ? amount : index + amount; #ifdef DD_VERBOSE (void) fprintf(unique->err, "Increasing the table size from %d to %d\n", unique->maxSize, newsize); #endif newsubtables = ALLOC(DdSubtable,newsize); if (newsubtables == NULL) { unique->errorCode = CUDD_MEMORY_OUT; return(0); } newvars = ALLOC(DdNodePtr,newsize); if (newvars == NULL) { FREE(newsubtables); unique->errorCode = CUDD_MEMORY_OUT; return(0); } newperm = ALLOC(int,newsize); if (newperm == NULL) { FREE(newsubtables); FREE(newvars); unique->errorCode = CUDD_MEMORY_OUT; return(0); } newinvperm = ALLOC(int,newsize); if (newinvperm == NULL) { FREE(newsubtables); FREE(newvars); FREE(newperm); unique->errorCode = CUDD_MEMORY_OUT; return(0); } if (unique->map != NULL) { newmap = ALLOC(int,newsize); if (newmap == NULL) { FREE(newsubtables); FREE(newvars); FREE(newperm); FREE(newinvperm); unique->errorCode = CUDD_MEMORY_OUT; return(0); } unique->memused += (newsize - unique->maxSize) * sizeof(int); } unique->memused += (newsize - unique->maxSize) * ((numSlots+1) * sizeof(DdNode *) + 2 * sizeof(int) + sizeof(DdSubtable)); if (newsize > unique->maxSizeZ) { FREE(unique->stack); unique->stack = ALLOC(DdNodePtr,newsize + 1); if (unique->stack == NULL) { FREE(newsubtables); FREE(newvars); FREE(newperm); FREE(newinvperm); if (unique->map != NULL) { FREE(newmap); } unique->errorCode = CUDD_MEMORY_OUT; return(0); } unique->stack[0] = NULL; /* to suppress harmless UMR */ unique->memused += (newsize - ddMax(unique->maxSize,unique->maxSizeZ)) * sizeof(DdNode *); } for (i = 0; i < oldsize; i++) { newsubtables[i].slots = unique->subtables[i].slots; newsubtables[i].shift = unique->subtables[i].shift; newsubtables[i].keys = unique->subtables[i].keys; newsubtables[i].maxKeys = unique->subtables[i].maxKeys; newsubtables[i].dead = unique->subtables[i].dead; newsubtables[i].nodelist = unique->subtables[i].nodelist; newsubtables[i].bindVar = unique->subtables[i].bindVar; newsubtables[i].varType = unique->subtables[i].varType; newsubtables[i].pairIndex = unique->subtables[i].pairIndex; newsubtables[i].varHandled = unique->subtables[i].varHandled; newsubtables[i].varToBeGrouped = unique->subtables[i].varToBeGrouped; newvars[i] = unique->vars[i]; newperm[i] = unique->perm[i]; newinvperm[i] = unique->invperm[i]; } for (i = oldsize; i <= index; i++) { newsubtables[i].slots = numSlots; newsubtables[i].shift = sizeof(int) * 8 - cuddComputeFloorLog2(numSlots); newsubtables[i].keys = 0; newsubtables[i].maxKeys = numSlots * DD_MAX_SUBTABLE_DENSITY; newsubtables[i].dead = 0; newsubtables[i].bindVar = 0; newsubtables[i].varType = CUDD_VAR_PRIMARY_INPUT; newsubtables[i].pairIndex = 0; newsubtables[i].varHandled = 0; newsubtables[i].varToBeGrouped = CUDD_LAZY_NONE; newperm[i] = i; newinvperm[i] = i; newnodelist = newsubtables[i].nodelist = ALLOC(DdNodePtr, numSlots); if (newnodelist == NULL) { unique->errorCode = CUDD_MEMORY_OUT; return(0); } for (j = 0; j < numSlots; j++) { newnodelist[j] = sentinel; } } if (unique->map != NULL) { for (i = 0; i < oldsize; i++) { newmap[i] = unique->map[i]; } for (i = oldsize; i <= index; i++) { newmap[i] = i; } FREE(unique->map); unique->map = newmap; } FREE(unique->subtables); unique->subtables = newsubtables; unique->maxSize = newsize; FREE(unique->vars); unique->vars = newvars; FREE(unique->perm); unique->perm = newperm; FREE(unique->invperm); unique->invperm = newinvperm; } /* Now that the table is in a coherent state, create the new ** projection functions. We need to temporarily disable reordering, ** because we cannot reorder without projection functions in place. **/ if (index >= 0) { one = unique->one; zero = Cudd_Not(one); unique->size = index + 1; if (unique->tree != NULL) { unique->tree->size = ddMax(unique->tree->size, unique->size); } unique->slots += (index + 1 - oldsize) * numSlots; ddFixLimits(unique); reorderSave = unique->autoDyn; unique->autoDyn = 0; for (i = oldsize; i <= index; i++) { unique->vars[i] = cuddUniqueInter(unique,i,one,zero); if (unique->vars[i] == NULL) { unique->autoDyn = reorderSave; for (j = oldsize; j < i; j++) { Cudd_IterDerefBdd(unique,unique->vars[j]); cuddDeallocNode(unique,unique->vars[j]); unique->vars[j] = NULL; } for (j = oldsize; j <= index; j++) { FREE(unique->subtables[j].nodelist); unique->subtables[j].nodelist = NULL; } unique->size = oldsize; unique->slots -= (index + 1 - oldsize) * numSlots; ddFixLimits(unique); return(0); } cuddRef(unique->vars[i]); } unique->autoDyn = reorderSave; } return(1); } /* end of ddResizeTable */ /**Function******************************************************************** Synopsis [Searches the subtables above node for a parent.] Description [Searches the subtables above node for a parent. Returns 1 as soon as one parent is found. Returns 0 is the search is fruitless.] SideEffects [None] SeeAlso [] ******************************************************************************/ static int cuddFindParent( DdManager * table, DdNode * node) { int i,j; int slots; DdNodePtr *nodelist; DdNode *f; for (i = cuddI(table,node->index) - 1; i >= 0; i--) { nodelist = table->subtables[i].nodelist; slots = table->subtables[i].slots; for (j = 0; j < slots; j++) { f = nodelist[j]; while (cuddT(f) > node) { f = f->next; } while (cuddT(f) == node && Cudd_Regular(cuddE(f)) > node) { f = f->next; } if (cuddT(f) == node && Cudd_Regular(cuddE(f)) == node) { return(1); } } } return(0); } /* end of cuddFindParent */ #endif /**Function******************************************************************** Synopsis [Adjusts the values of table limits.] Description [Adjusts the values of table fields controlling the. sizes of subtables and computed table. If the computed table is too small according to the new values, it is resized.] SideEffects [Modifies manager fields. May resize computed table.] SeeAlso [] ******************************************************************************/ DD_INLINE static void ddFixLimits( DdManager *unique) { unique->minDead = (unsigned) (unique->gcFrac * (double) unique->slots); unique->cacheSlack = (int) ddMin(unique->maxCacheHard, DD_MAX_CACHE_TO_SLOTS_RATIO * unique->slots) - 2 * (int) unique->cacheSlots; if (unique->cacheSlots < unique->slots/2 && unique->cacheSlack >= 0) cuddCacheResize(unique); return; } /* end of ddFixLimits */ #ifndef DD_UNSORTED_FREE_LIST #ifdef DD_RED_BLACK_FREE_LIST /**Function******************************************************************** Synopsis [Inserts a DdNode in a red/black search tree.] Description [Inserts a DdNode in a red/black search tree. Nodes from the same "page" (defined by DD_PAGE_MASK) are linked in a LIFO list.] SideEffects [None] SeeAlso [cuddOrderedThread] ******************************************************************************/ static void cuddOrderedInsert( DdNodePtr * root, DdNodePtr node) { DdNode *scan; DdNodePtr *scanP; DdNodePtr *stack[DD_STACK_SIZE]; int stackN = 0; scanP = root; while ((scan = *scanP) != NULL) { stack[stackN++] = scanP; if (DD_INSERT_COMPARE(node, scan) == 0) { /* add to page list */ DD_NEXT(node) = DD_NEXT(scan); DD_NEXT(scan) = node; return; } scanP = (node < scan) ? &DD_LEFT(scan) : &DD_RIGHT(scan); } DD_RIGHT(node) = DD_LEFT(node) = DD_NEXT(node) = NULL; DD_COLOR(node) = DD_RED; *scanP = node; stack[stackN] = &node; cuddDoRebalance(stack,stackN); } /* end of cuddOrderedInsert */ /**Function******************************************************************** Synopsis [Threads all the nodes of a search tree into a linear list.] Description [Threads all the nodes of a search tree into a linear list. For each node of the search tree, the "left" child, if non-null, has a lower address than its parent, and the "right" child, if non-null, has a higher address than its parent. The list is sorted in order of increasing addresses. The search tree is destroyed as a result of this operation. The last element of the linear list is made to point to the address passed in list. Each node if the search tree is a linearly-linked list of nodes from the same memory page (as defined in DD_PAGE_MASK). When a node is added to the linear list, all the elements of the linked list are added.] SideEffects [The search tree is destroyed as a result of this operation.] SeeAlso [cuddOrderedInsert] ******************************************************************************/ static DdNode * cuddOrderedThread( DdNode * root, DdNode * list) { DdNode *current, *next, *prev, *end; current = root; /* The first word in the node is used to implement a stack that holds ** the nodes from the root of the tree to the current node. Here we ** put the root of the tree at the bottom of the stack. */ *((DdNodePtr *) current) = NULL; while (current != NULL) { if (DD_RIGHT(current) != NULL) { /* If possible, we follow the "right" link. Eventually we'll ** find the node with the largest address in the current tree. ** In this phase we use the first word of a node to implemen ** a stack of the nodes on the path from the root to "current". ** Also, we disconnect the "right" pointers to indicate that ** we have already followed them. */ next = DD_RIGHT(current); DD_RIGHT(current) = NULL; *((DdNodePtr *)next) = current; current = next; } else { /* We can't proceed along the "right" links any further. ** Hence "current" is the largest element in the current tree. ** We make this node the new head of "list". (Repeating this ** operation until the tree is empty yields the desired linear ** threading of all nodes.) */ prev = *((DdNodePtr *) current); /* save prev node on stack in prev */ /* Traverse the linked list of current until the end. */ for (end = current; DD_NEXT(end) != NULL; end = DD_NEXT(end)); DD_NEXT(end) = list; /* attach "list" at end and make */ list = current; /* "current" the new head of "list" */ /* Now, if current has a "left" child, we push it on the stack. ** Otherwise, we just continue with the parent of "current". */ if (DD_LEFT(current) != NULL) { next = DD_LEFT(current); *((DdNodePtr *) next) = prev; current = next; } else { current = prev; } } } return(list); } /* end of cuddOrderedThread */ /**Function******************************************************************** Synopsis [Performs the left rotation for red/black trees.] Description [] SideEffects [None] SeeAlso [cuddRotateRight] ******************************************************************************/ DD_INLINE static void cuddRotateLeft( DdNodePtr * nodeP) { DdNode *newRoot; DdNode *oldRoot = *nodeP; *nodeP = newRoot = DD_RIGHT(oldRoot); DD_RIGHT(oldRoot) = DD_LEFT(newRoot); DD_LEFT(newRoot) = oldRoot; } /* end of cuddRotateLeft */ /**Function******************************************************************** Synopsis [Performs the right rotation for red/black trees.] Description [] SideEffects [None] SeeAlso [cuddRotateLeft] ******************************************************************************/ DD_INLINE static void cuddRotateRight( DdNodePtr * nodeP) { DdNode *newRoot; DdNode *oldRoot = *nodeP; *nodeP = newRoot = DD_LEFT(oldRoot); DD_LEFT(oldRoot) = DD_RIGHT(newRoot); DD_RIGHT(newRoot) = oldRoot; } /* end of cuddRotateRight */ /**Function******************************************************************** Synopsis [Rebalances a red/black tree.] Description [] SideEffects [None] SeeAlso [] ******************************************************************************/ static void cuddDoRebalance( DdNodePtr ** stack, int stackN) { DdNodePtr *xP, *parentP, *grandpaP; DdNode *x, *y, *parent, *grandpa; xP = stack[stackN]; x = *xP; /* Work our way back up, re-balancing the tree. */ while (--stackN >= 0) { parentP = stack[stackN]; parent = *parentP; if (DD_IS_BLACK(parent)) break; /* Since the root is black, here a non-null grandparent exists. */ grandpaP = stack[stackN-1]; grandpa = *grandpaP; if (parent == DD_LEFT(grandpa)) { y = DD_RIGHT(grandpa); if (y != NULL && DD_IS_RED(y)) { DD_COLOR(parent) = DD_BLACK; DD_COLOR(y) = DD_BLACK; DD_COLOR(grandpa) = DD_RED; x = grandpa; stackN--; } else { if (x == DD_RIGHT(parent)) { cuddRotateLeft(parentP); DD_COLOR(x) = DD_BLACK; } else { DD_COLOR(parent) = DD_BLACK; } DD_COLOR(grandpa) = DD_RED; cuddRotateRight(grandpaP); break; } } else { y = DD_LEFT(grandpa); if (y != NULL && DD_IS_RED(y)) { DD_COLOR(parent) = DD_BLACK; DD_COLOR(y) = DD_BLACK; DD_COLOR(grandpa) = DD_RED; x = grandpa; stackN--; } else { if (x == DD_LEFT(parent)) { cuddRotateRight(parentP); DD_COLOR(x) = DD_BLACK; } else { DD_COLOR(parent) = DD_BLACK; } DD_COLOR(grandpa) = DD_RED; cuddRotateLeft(grandpaP); } } } DD_COLOR(*(stack[0])) = DD_BLACK; } /* end of cuddDoRebalance */ #endif #endif /**Function******************************************************************** Synopsis [Fixes a variable tree after the insertion of new subtables.] Description [Fixes a variable tree after the insertion of new subtables. After such an insertion, the low fields of the tree below the insertion point are inconsistent.] SideEffects [None] SeeAlso [] ******************************************************************************/ #ifdef PBORI_FORCE_ORIGINAL_CUDD static void ddPatchTree( DdManager *dd, MtrNode *treenode) { MtrNode *auxnode = treenode; while (auxnode != NULL) { auxnode->low = dd->perm[auxnode->index]; if (auxnode->child != NULL) { ddPatchTree(dd, auxnode->child); } auxnode = auxnode->younger; } return; } /* end of ddPatchTree */ #endif #ifdef DD_DEBUG /**Function******************************************************************** Synopsis [Checks whether a collision list is ordered.] Description [] SideEffects [None] SeeAlso [] ******************************************************************************/ static int cuddCheckCollisionOrdering( DdManager *unique, int i, int j) { int slots; DdNode *node, *next; DdNodePtr *nodelist; DdNode *sentinel = &(unique->sentinel); nodelist = unique->subtables[i].nodelist; slots = unique->subtables[i].slots; node = nodelist[j]; if (node == sentinel) return(1); next = node->next; while (next != sentinel) { if (cuddT(node) < cuddT(next) || (cuddT(node) == cuddT(next) && cuddE(node) < cuddE(next))) { (void) fprintf(unique->err, "Unordered list: index %u, position %d\n", i, j); return(0); } node = next; next = node->next; } return(1); } /* end of cuddCheckCollisionOrdering */ #endif /**Function******************************************************************** Synopsis [Reports problem in garbage collection.] Description [] SideEffects [None] SeeAlso [cuddGarbageCollect cuddGarbageCollectZdd] ******************************************************************************/ static void ddReportRefMess( DdManager *unique /* manager */, int i /* table in which the problem occurred */, const char *caller /* procedure that detected the problem */) { if (i == CUDD_CONST_INDEX) { (void) fprintf(unique->err, "%s: problem in constants\n", caller); } else if (i != -1) { (void) fprintf(unique->err, "%s: problem in table %d\n", caller, i); } (void) fprintf(unique->err, " dead count != deleted\n"); (void) fprintf(unique->err, " This problem is often due to a missing \ call to Cudd_Ref\n or to an extra call to Cudd_RecursiveDeref.\n \ See the CUDD Programmer's Guide for additional details."); abort(); } /* end of ddReportRefMess */ BRiAl-1.2.12/cudd/cuddUtil.c000066400000000000000000003267621436062512100154060ustar00rootroot00000000000000/**CFile*********************************************************************** FileName [cuddUtil.c] PackageName [cudd] Synopsis [Utility functions.] Description [External procedures included in this module:
        • Cudd_PrintMinterm()
        • Cudd_bddPrintCover()
        • Cudd_PrintDebug()
        • Cudd_DagSize()
        • Cudd_EstimateCofactor()
        • Cudd_EstimateCofactorSimple()
        • Cudd_SharingSize()
        • Cudd_CountMinterm()
        • Cudd_EpdCountMinterm()
        • Cudd_CountPath()
        • Cudd_CountPathsToNonZero()
        • Cudd_SupportIndices()
        • Cudd_Support()
        • Cudd_SupportIndex()
        • Cudd_SupportSize()
        • Cudd_VectorSupportIndices()
        • Cudd_VectorSupport()
        • Cudd_VectorSupportIndex()
        • Cudd_VectorSupportSize()
        • Cudd_ClassifySupport()
        • Cudd_CountLeaves()
        • Cudd_bddPickOneCube()
        • Cudd_bddPickOneMinterm()
        • Cudd_bddPickArbitraryMinterms()
        • Cudd_SubsetWithMaskVars()
        • Cudd_FirstCube()
        • Cudd_NextCube()
        • Cudd_bddComputeCube()
        • Cudd_addComputeCube()
        • Cudd_FirstNode()
        • Cudd_NextNode()
        • Cudd_GenFree()
        • Cudd_IsGenEmpty()
        • Cudd_IndicesToCube()
        • Cudd_PrintVersion()
        • Cudd_AverageDistance()
        • Cudd_Random()
        • Cudd_Srandom()
        • Cudd_Density()
        Internal procedures included in this module:
        • cuddP()
        • cuddStCountfree()
        • cuddCollectNodes()
        • cuddNodeArray()
        Static procedures included in this module:
        • dp2()
        • ddPrintMintermAux()
        • ddDagInt()
        • ddCountMintermAux()
        • ddEpdCountMintermAux()
        • ddCountPathAux()
        • ddSupportStep()
        • ddClearFlag()
        • ddLeavesInt()
        • ddPickArbitraryMinterms()
        • ddPickRepresentativeCube()
        • ddEpdFree()
        • ddFindSupport()
        • ddClearVars()
        • indexCompare()
        ] Author [Fabio Somenzi] Copyright [Copyright (c) 1995-2012, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.] ******************************************************************************/ #include "util.h" #include "cuddInt.h" /*---------------------------------------------------------------------------*/ /* Constant declarations */ /*---------------------------------------------------------------------------*/ /* Random generator constants. */ #define MODULUS1 2147483563 #define LEQA1 40014 #define LEQQ1 53668 #define LEQR1 12211 #define MODULUS2 2147483399 #define LEQA2 40692 #define LEQQ2 52774 #define LEQR2 3791 #define STAB_SIZE 64 #define STAB_DIV (1 + (MODULUS1 - 1) / STAB_SIZE) /*---------------------------------------------------------------------------*/ /* Stucture declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Type declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Variable declarations */ /*---------------------------------------------------------------------------*/ #ifndef lint static char rcsid[] DD_UNUSED = "$Id: cuddUtil.c,v 1.83 2012/02/05 01:07:19 fabio Exp $"; #endif static DdNode *background, *zero; static long cuddRand = 0; static long cuddRand2; static long shuffleSelect; static long shuffleTable[STAB_SIZE]; /*---------------------------------------------------------------------------*/ /* Macro declarations */ /*---------------------------------------------------------------------------*/ #define bang(f) ((Cudd_IsComplement(f)) ? '!' : ' ') #ifdef __cplusplus extern "C" { #endif /**AutomaticStart*************************************************************/ /*---------------------------------------------------------------------------*/ /* Static function prototypes */ /*---------------------------------------------------------------------------*/ static int dp2 (DdManager *dd, DdNode *f, st_table *t); static void ddPrintMintermAux (DdManager *dd, DdNode *node, int *list); static int ddDagInt (DdNode *n); static int cuddNodeArrayRecur (DdNode *f, DdNodePtr *table, int index); static int cuddEstimateCofactor (DdManager *dd, st_table *table, DdNode * node, int i, int phase, DdNode ** ptr); static DdNode * cuddUniqueLookup (DdManager * unique, int index, DdNode * T, DdNode * E); static int cuddEstimateCofactorSimple (DdNode * node, int i); static double ddCountMintermAux (DdNode *node, double max, DdHashTable *table); static int ddEpdCountMintermAux (DdNode *node, EpDouble *max, EpDouble *epd, st_table *table); static double ddCountPathAux (DdNode *node, st_table *table); static double ddCountPathsToNonZero (DdNode * N, st_table * table); static void ddSupportStep (DdNode *f, int *support); static void ddClearFlag (DdNode *f); static int ddLeavesInt (DdNode *n); static int ddPickArbitraryMinterms (DdManager *dd, DdNode *node, int nvars, int nminterms, char **string); static int ddPickRepresentativeCube (DdManager *dd, DdNode *node, double *weight, char *string); static enum st_retval ddEpdFree (char * key, char * value, char * arg); static void ddFindSupport(DdManager *dd, DdNode *f, int *SP); static void ddClearVars(DdManager *dd, int SP); static int indexCompare(const void *a, const void *b); /**AutomaticEnd***************************************************************/ #ifdef __cplusplus } #endif /*---------------------------------------------------------------------------*/ /* Definition of exported functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Prints a disjoint sum of products.] Description [Prints a disjoint sum of product cover for the function rooted at node. Each product corresponds to a path from node to a leaf node different from the logical zero, and different from the background value. Uses the package default output file. Returns 1 if successful; 0 otherwise.] SideEffects [None] SeeAlso [Cudd_PrintDebug Cudd_bddPrintCover] ******************************************************************************/ int Cudd_PrintMinterm( DdManager * manager, DdNode * node) { int i, *list; background = manager->background; zero = Cudd_Not(manager->one); list = ALLOC(int,manager->size); if (list == NULL) { manager->errorCode = CUDD_MEMORY_OUT; return(0); } for (i = 0; i < manager->size; i++) list[i] = 2; ddPrintMintermAux(manager,node,list); FREE(list); return(1); } /* end of Cudd_PrintMinterm */ #ifdef PBORI_FORCE_ORIGINAL_CUDD /**Function******************************************************************** Synopsis [Prints a sum of prime implicants of a BDD.] Description [Prints a sum of product cover for an incompletely specified function given by a lower bound and an upper bound. Each product is a prime implicant obtained by expanding the product corresponding to a path from node to the constant one. Uses the package default output file. Returns 1 if successful; 0 otherwise.] SideEffects [None] SeeAlso [Cudd_PrintMinterm] ******************************************************************************/ int Cudd_bddPrintCover( DdManager *dd, DdNode *l, DdNode *u) { int *array; int q, result; DdNode *lb; #ifdef DD_DEBUG DdNode *cover; #endif array = ALLOC(int, Cudd_ReadSize(dd)); if (array == NULL) return(0); lb = l; cuddRef(lb); #ifdef DD_DEBUG cover = Cudd_ReadLogicZero(dd); cuddRef(cover); #endif while (lb != Cudd_ReadLogicZero(dd)) { DdNode *implicant, *prime, *tmp; int length; implicant = Cudd_LargestCube(dd,lb,&length); if (implicant == NULL) { Cudd_RecursiveDeref(dd,lb); FREE(array); return(0); } cuddRef(implicant); prime = Cudd_bddMakePrime(dd,implicant,u); if (prime == NULL) { Cudd_RecursiveDeref(dd,lb); Cudd_RecursiveDeref(dd,implicant); FREE(array); return(0); } cuddRef(prime); Cudd_RecursiveDeref(dd,implicant); tmp = Cudd_bddAnd(dd,lb,Cudd_Not(prime)); if (tmp == NULL) { Cudd_RecursiveDeref(dd,lb); Cudd_RecursiveDeref(dd,prime); FREE(array); return(0); } cuddRef(tmp); Cudd_RecursiveDeref(dd,lb); lb = tmp; result = Cudd_BddToCubeArray(dd,prime,array); if (result == 0) { Cudd_RecursiveDeref(dd,lb); Cudd_RecursiveDeref(dd,prime); FREE(array); return(0); } for (q = 0; q < dd->size; q++) { switch (array[q]) { case 0: (void) fprintf(dd->out, "0"); break; case 1: (void) fprintf(dd->out, "1"); break; case 2: (void) fprintf(dd->out, "-"); break; default: (void) fprintf(dd->out, "?"); } } (void) fprintf(dd->out, " 1\n"); #ifdef DD_DEBUG tmp = Cudd_bddOr(dd,prime,cover); if (tmp == NULL) { Cudd_RecursiveDeref(dd,cover); Cudd_RecursiveDeref(dd,lb); Cudd_RecursiveDeref(dd,prime); FREE(array); return(0); } cuddRef(tmp); Cudd_RecursiveDeref(dd,cover); cover = tmp; #endif Cudd_RecursiveDeref(dd,prime); } (void) fprintf(dd->out, "\n"); Cudd_RecursiveDeref(dd,lb); FREE(array); #ifdef DD_DEBUG if (!Cudd_bddLeq(dd,cover,u) || !Cudd_bddLeq(dd,l,cover)) { Cudd_RecursiveDeref(dd,cover); return(0); } Cudd_RecursiveDeref(dd,cover); #endif return(1); } /* end of Cudd_bddPrintCover */ #endif /**Function******************************************************************** Synopsis [Prints to the standard output a DD and its statistics.] Description [Prints to the standard output a DD and its statistics. The statistics include the number of nodes, the number of leaves, and the number of minterms. (The number of minterms is the number of assignments to the variables that cause the function to be different from the logical zero (for BDDs) and from the background value (for ADDs.) The statistics are printed if pr > 0. Specifically:
        • pr = 0 : prints nothing
        • pr = 1 : prints counts of nodes and minterms
        • pr = 2 : prints counts + disjoint sum of product
        • pr = 3 : prints counts + list of nodes
        • pr > 3 : prints counts + disjoint sum of product + list of nodes
        For the purpose of counting the number of minterms, the function is supposed to depend on n variables. Returns 1 if successful; 0 otherwise.] SideEffects [None] SeeAlso [Cudd_DagSize Cudd_CountLeaves Cudd_CountMinterm Cudd_PrintMinterm] ******************************************************************************/ int Cudd_PrintDebug( DdManager * dd, DdNode * f, int n, int pr) { DdNode *azero, *bzero; int nodes; int leaves; double minterms; int retval = 1; if (f == NULL) { (void) fprintf(dd->out,": is the NULL DD\n"); (void) fflush(dd->out); return(0); } azero = DD_ZERO(dd); bzero = Cudd_Not(DD_ONE(dd)); if ((f == azero || f == bzero) && pr > 0){ (void) fprintf(dd->out,": is the zero DD\n"); (void) fflush(dd->out); return(1); } if (pr > 0) { nodes = Cudd_DagSize(f); if (nodes == CUDD_OUT_OF_MEM) retval = 0; leaves = Cudd_CountLeaves(f); if (leaves == CUDD_OUT_OF_MEM) retval = 0; minterms = Cudd_CountMinterm(dd, f, n); if (minterms == (double)CUDD_OUT_OF_MEM) retval = 0; (void) fprintf(dd->out,": %d nodes %d leaves %g minterms\n", nodes, leaves, minterms); if (pr > 2) { if (!cuddP(dd, f)) retval = 0; } if (pr == 2 || pr > 3) { if (!Cudd_PrintMinterm(dd,f)) retval = 0; (void) fprintf(dd->out,"\n"); } (void) fflush(dd->out); } return(retval); } /* end of Cudd_PrintDebug */ /**Function******************************************************************** Synopsis [Counts the number of nodes in a DD.] Description [Counts the number of nodes in a DD. Returns the number of nodes in the graph rooted at node.] SideEffects [None] SeeAlso [Cudd_SharingSize Cudd_PrintDebug] ******************************************************************************/ int Cudd_DagSize( DdNode * node) { int i; i = ddDagInt(Cudd_Regular(node)); ddClearFlag(Cudd_Regular(node)); return(i); } /* end of Cudd_DagSize */ /**Function******************************************************************** Synopsis [Estimates the number of nodes in a cofactor of a DD.] Description [Estimates the number of nodes in a cofactor of a DD. Returns an estimate of the number of nodes in a cofactor of the graph rooted at node with respect to the variable whose index is i. In case of failure, returns CUDD_OUT_OF_MEM. This function uses a refinement of the algorithm of Cabodi et al. (ICCAD96). The refinement allows the procedure to account for part of the recombination that may occur in the part of the cofactor above the cofactoring variable. This procedure does not create any new node. It does keep a small table of results; therefore it may run out of memory. If this is a concern, one should use Cudd_EstimateCofactorSimple, which is faster, does not allocate any memory, but is less accurate.] SideEffects [None] SeeAlso [Cudd_DagSize Cudd_EstimateCofactorSimple] ******************************************************************************/ int Cudd_EstimateCofactor( DdManager *dd /* manager */, DdNode * f /* function */, int i /* index of variable */, int phase /* 1: positive; 0: negative */ ) { int val; DdNode *ptr; st_table *table; table = st_init_table(st_ptrcmp,st_ptrhash); if (table == NULL) return(CUDD_OUT_OF_MEM); val = cuddEstimateCofactor(dd,table,Cudd_Regular(f),i,phase,&ptr); ddClearFlag(Cudd_Regular(f)); st_free_table(table); return(val); } /* end of Cudd_EstimateCofactor */ /**Function******************************************************************** Synopsis [Estimates the number of nodes in a cofactor of a DD.] Description [Estimates the number of nodes in a cofactor of a DD. Returns an estimate of the number of nodes in the positive cofactor of the graph rooted at node with respect to the variable whose index is i. This procedure implements with minor changes the algorithm of Cabodi et al. (ICCAD96). It does not allocate any memory, it does not change the state of the manager, and it is fast. However, it has been observed to overestimate the size of the cofactor by as much as a factor of 2.] SideEffects [None] SeeAlso [Cudd_DagSize] ******************************************************************************/ int Cudd_EstimateCofactorSimple( DdNode * node, int i) { int val; val = cuddEstimateCofactorSimple(Cudd_Regular(node),i); ddClearFlag(Cudd_Regular(node)); return(val); } /* end of Cudd_EstimateCofactorSimple */ /**Function******************************************************************** Synopsis [Counts the number of nodes in an array of DDs.] Description [Counts the number of nodes in an array of DDs. Shared nodes are counted only once. Returns the total number of nodes.] SideEffects [None] SeeAlso [Cudd_DagSize] ******************************************************************************/ int Cudd_SharingSize( DdNode ** nodeArray, int n) { int i,j; i = 0; for (j = 0; j < n; j++) { i += ddDagInt(Cudd_Regular(nodeArray[j])); } for (j = 0; j < n; j++) { ddClearFlag(Cudd_Regular(nodeArray[j])); } return(i); } /* end of Cudd_SharingSize */ /**Function******************************************************************** Synopsis [Counts the number of minterms of a DD.] Description [Counts the number of minterms of a DD. The function is assumed to depend on nvars variables. The minterm count is represented as a double, to allow for a larger number of variables. Returns the number of minterms of the function rooted at node if successful; (double) CUDD_OUT_OF_MEM otherwise.] SideEffects [None] SeeAlso [Cudd_PrintDebug Cudd_CountPath] ******************************************************************************/ double Cudd_CountMinterm( DdManager * manager, DdNode * node, int nvars) { double max; DdHashTable *table; double res; CUDD_VALUE_TYPE epsilon; background = manager->background; zero = Cudd_Not(manager->one); max = pow(2.0,(double)nvars); table = cuddHashTableInit(manager,1,2); if (table == NULL) { return((double)CUDD_OUT_OF_MEM); } epsilon = Cudd_ReadEpsilon(manager); Cudd_SetEpsilon(manager,(CUDD_VALUE_TYPE)0.0); res = ddCountMintermAux(node,max,table); cuddHashTableQuit(table); Cudd_SetEpsilon(manager,epsilon); return(res); } /* end of Cudd_CountMinterm */ /**Function******************************************************************** Synopsis [Counts the number of paths of a DD.] Description [Counts the number of paths of a DD. Paths to all terminal nodes are counted. The path count is represented as a double, to allow for a larger number of variables. Returns the number of paths of the function rooted at node if successful; (double) CUDD_OUT_OF_MEM otherwise.] SideEffects [None] SeeAlso [Cudd_CountMinterm] ******************************************************************************/ double Cudd_CountPath( DdNode * node) { st_table *table; double i; table = st_init_table(st_ptrcmp,st_ptrhash); if (table == NULL) { return((double)CUDD_OUT_OF_MEM); } i = ddCountPathAux(Cudd_Regular(node),table); st_foreach(table, cuddStCountfree, NULL); st_free_table(table); return(i); } /* end of Cudd_CountPath */ /**Function******************************************************************** Synopsis [Counts the number of minterms of a DD with extended precision.] Description [Counts the number of minterms of a DD with extended precision. The function is assumed to depend on nvars variables. The minterm count is represented as an EpDouble, to allow any number of variables. Returns 0 if successful; CUDD_OUT_OF_MEM otherwise.] SideEffects [None] SeeAlso [Cudd_PrintDebug Cudd_CountPath] ******************************************************************************/ int Cudd_EpdCountMinterm( DdManager * manager, DdNode * node, int nvars, EpDouble * epd) { EpDouble max, tmp; st_table *table; int status; background = manager->background; zero = Cudd_Not(manager->one); EpdPow2(nvars, &max); table = st_init_table(EpdCmp, st_ptrhash); if (table == NULL) { EpdMakeZero(epd, 0); return(CUDD_OUT_OF_MEM); } status = ddEpdCountMintermAux(Cudd_Regular(node),&max,epd,table); st_foreach(table, ddEpdFree, NULL); st_free_table(table); if (status == CUDD_OUT_OF_MEM) { EpdMakeZero(epd, 0); return(CUDD_OUT_OF_MEM); } if (Cudd_IsComplement(node)) { EpdSubtract3(&max, epd, &tmp); EpdCopy(&tmp, epd); } return(0); } /* end of Cudd_EpdCountMinterm */ /**Function******************************************************************** Synopsis [Counts the number of paths to a non-zero terminal of a DD.] Description [Counts the number of paths to a non-zero terminal of a DD. The path count is represented as a double, to allow for a larger number of variables. Returns the number of paths of the function rooted at node.] SideEffects [None] SeeAlso [Cudd_CountMinterm Cudd_CountPath] ******************************************************************************/ double Cudd_CountPathsToNonZero( DdNode * node) { st_table *table; double i; table = st_init_table(st_ptrcmp,st_ptrhash); if (table == NULL) { return((double)CUDD_OUT_OF_MEM); } i = ddCountPathsToNonZero(node,table); st_foreach(table, cuddStCountfree, NULL); st_free_table(table); return(i); } /* end of Cudd_CountPathsToNonZero */ #ifdef PBORI_FORCE_ORIGINAL_CUDD /**Function******************************************************************** Synopsis [Finds the variables on which a DD depends.] Description [Finds the variables on which a DD depends. Returns the number of variables if successful; CUDD_OUT_OF_MEM otherwise.] SideEffects [The indices of the support variables are returned as side effects. If the function is constant, no array is allocated.] SeeAlso [Cudd_Support Cudd_SupportIndex Cudd_VectorSupportIndices] ******************************************************************************/ int Cudd_SupportIndices( DdManager * dd /* manager */, DdNode * f /* DD whose support is sought */, int **indices /* array containing (on return) the indices */) { int SP = 0; ddFindSupport(dd, Cudd_Regular(f), &SP); ddClearFlag(Cudd_Regular(f)); ddClearVars(dd, SP); if (SP > 0) { int i; *indices = ALLOC(int, SP); if (*indices == NULL) { dd->errorCode = CUDD_MEMORY_OUT; return(CUDD_OUT_OF_MEM); } for (i = 0; i < SP; i++) (*indices)[i] = (int) (ptrint) dd->stack[i]; qsort(*indices, SP, sizeof(int), indexCompare); } else { *indices = NULL; } return(SP); } /* end of Cudd_SupportIndices */ /**Function******************************************************************** Synopsis [Finds the variables on which a DD depends.] Description [Finds the variables on which a DD depends. Returns a BDD consisting of the product of the variables if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_VectorSupport Cudd_ClassifySupport] ******************************************************************************/ DdNode * Cudd_Support( DdManager * dd /* manager */, DdNode * f /* DD whose support is sought */) { int *support; DdNode *res; int j; int size = Cudd_SupportIndices(dd, f, &support); if (size == CUDD_OUT_OF_MEM) return(NULL); /* Transform support from array of indices to cube. */ res = DD_ONE(dd); cuddRef(res); for (j = size - 1; j >= 0; j--) { /* for each index bottom-up (almost) */ int index = support[j]; DdNode *var = dd->vars[index]; DdNode *tmp = Cudd_bddAnd(dd,res,var); if (tmp == NULL) { Cudd_RecursiveDeref(dd,res); FREE(support); return(NULL); } cuddRef(tmp); Cudd_RecursiveDeref(dd,res); res = tmp; } FREE(support); cuddDeref(res); return(res); } /* end of Cudd_Support */ #endif /**Function******************************************************************** Synopsis [Finds the variables on which a DD depends.] Description [Finds the variables on which a DD depends. Returns an index array of the variables if successful; NULL otherwise. The size of the array equals the number of variables in the manager. Each entry of the array is 1 if the corresponding variable is in the support of the DD and 0 otherwise.] SideEffects [None] SeeAlso [Cudd_Support Cudd_SupportIndices Cudd_ClassifySupport] ******************************************************************************/ int * Cudd_SupportIndex( DdManager * dd /* manager */, DdNode * f /* DD whose support is sought */) { int *support; int i; int size; /* Allocate and initialize support array for ddSupportStep. */ size = ddMax(dd->size, dd->sizeZ); support = ALLOC(int,size); if (support == NULL) { dd->errorCode = CUDD_MEMORY_OUT; return(NULL); } for (i = 0; i < size; i++) { support[i] = 0; } /* Compute support and clean up markers. */ ddSupportStep(Cudd_Regular(f),support); ddClearFlag(Cudd_Regular(f)); return(support); } /* end of Cudd_SupportIndex */ /**Function******************************************************************** Synopsis [Counts the variables on which a DD depends.] Description [Returns the variables on which a DD depends.] SideEffects [None] SeeAlso [Cudd_Support Cudd_SupportIndices] ******************************************************************************/ int Cudd_SupportSize( DdManager * dd /* manager */, DdNode * f /* DD whose support size is sought */) { int SP = 0; ddFindSupport(dd, Cudd_Regular(f), &SP); ddClearFlag(Cudd_Regular(f)); ddClearVars(dd, SP); return(SP); } /* end of Cudd_SupportSize */ /**Function******************************************************************** Synopsis [Finds the variables on which a set of DDs depends.] Description [Finds the variables on which a set of DDs depends. The set must contain either BDDs and ADDs, or ZDDs. Returns the number of variables if successful; CUDD_OUT_OF_MEM otherwise.] SideEffects [The indices of the support variables are returned as side effects. If the function is constant, no array is allocated.] SeeAlso [Cudd_Support Cudd_SupportIndex Cudd_VectorSupportIndices] ******************************************************************************/ int Cudd_VectorSupportIndices( DdManager * dd /* manager */, DdNode ** F /* DD whose support is sought */, int n /* size of the array */, int **indices /* array containing (on return) the indices */) { int i; int SP = 0; /* Compute support and clean up markers. */ for (i = 0; i < n; i++) { ddFindSupport(dd, Cudd_Regular(F[i]), &SP); } for (i = 0; i < n; i++) { ddClearFlag(Cudd_Regular(F[i])); } ddClearVars(dd, SP); if (SP > 0) { int i; *indices = ALLOC(int, SP); if (*indices == NULL) { dd->errorCode = CUDD_MEMORY_OUT; return(CUDD_OUT_OF_MEM); } for (i = 0; i < SP; i++) (*indices)[i] = (int) (ptrint) dd->stack[i]; qsort(*indices, SP, sizeof(int), indexCompare); } else { *indices = NULL; } return(SP); } /* end of Cudd_VectorSupportIndices */ #ifdef PBORI_FORCE_ORIGINAL_CUDD /**Function******************************************************************** Synopsis [Finds the variables on which a set of DDs depends.] Description [Finds the variables on which a set of DDs depends. The set must contain either BDDs and ADDs, or ZDDs. Returns a BDD consisting of the product of the variables if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_Support Cudd_ClassifySupport] ******************************************************************************/ DdNode * Cudd_VectorSupport( DdManager * dd /* manager */, DdNode ** F /* array of DDs whose support is sought */, int n /* size of the array */) { int *support; DdNode *res; int j; int size = Cudd_VectorSupportIndices(dd, F, n, &support); if (size == CUDD_OUT_OF_MEM) return(NULL); /* Transform support from array of indices to cube. */ res = DD_ONE(dd); cuddRef(res); for (j = size - 1; j >= 0; j--) { /* for each index bottom-up (almost) */ int index = support[j]; DdNode *var = dd->vars[index]; DdNode *tmp = Cudd_bddAnd(dd,res,var); if (tmp == NULL) { Cudd_RecursiveDeref(dd,res); FREE(support); return(NULL); } cuddRef(tmp); Cudd_RecursiveDeref(dd,res); res = tmp; } FREE(support); cuddDeref(res); return(res); } /* end of Cudd_VectorSupport */ #endif /**Function******************************************************************** Synopsis [Finds the variables on which a set of DDs depends.] Description [Finds the variables on which a set of DDs depends. The set must contain either BDDs and ADDs, or ZDDs. Returns an index array of the variables if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_SupportIndex Cudd_VectorSupport Cudd_VectorSupportIndices] ******************************************************************************/ int * Cudd_VectorSupportIndex( DdManager * dd /* manager */, DdNode ** F /* array of DDs whose support is sought */, int n /* size of the array */) { int *support; int i; int size; /* Allocate and initialize support array for ddSupportStep. */ size = ddMax(dd->size, dd->sizeZ); support = ALLOC(int,size); if (support == NULL) { dd->errorCode = CUDD_MEMORY_OUT; return(NULL); } for (i = 0; i < size; i++) { support[i] = 0; } /* Compute support and clean up markers. */ for (i = 0; i < n; i++) { ddSupportStep(Cudd_Regular(F[i]),support); } for (i = 0; i < n; i++) { ddClearFlag(Cudd_Regular(F[i])); } return(support); } /* end of Cudd_VectorSupportIndex */ /**Function******************************************************************** Synopsis [Counts the variables on which a set of DDs depends.] Description [Returns the variables on which a set of DDs depends. The set must contain either BDDs and ADDs, or ZDDs.] SideEffects [None] SeeAlso [Cudd_VectorSupport Cudd_SupportSize] ******************************************************************************/ int Cudd_VectorSupportSize( DdManager * dd /* manager */, DdNode ** F /* array of DDs whose support is sought */, int n /* size of the array */) { int i; int SP = 0; /* Compute support and clean up markers. */ for (i = 0; i < n; i++) { ddFindSupport(dd, Cudd_Regular(F[i]), &SP); } for (i = 0; i < n; i++) { ddClearFlag(Cudd_Regular(F[i])); } ddClearVars(dd, SP); return(SP); } /* end of Cudd_VectorSupportSize */ #ifdef PBORI_FORCE_ORIGINAL_CUDD /**Function******************************************************************** Synopsis [Classifies the variables in the support of two DDs.] Description [Classifies the variables in the support of two DDs f and g, depending on whther they appear in both DDs, only in f, or only in g. Returns 1 if successful; 0 otherwise.] SideEffects [The cubes of the three classes of variables are returned as side effects.] SeeAlso [Cudd_Support Cudd_VectorSupport] ******************************************************************************/ int Cudd_ClassifySupport( DdManager * dd /* manager */, DdNode * f /* first DD */, DdNode * g /* second DD */, DdNode ** common /* cube of shared variables */, DdNode ** onlyF /* cube of variables only in f */, DdNode ** onlyG /* cube of variables only in g */) { int *supportF, *supportG; int fi, gi; int sizeF, sizeG; sizeF = Cudd_SupportIndices(dd, f, &supportF); if (sizeF == CUDD_OUT_OF_MEM) return(0); sizeG = Cudd_SupportIndices(dd, g, &supportG); if (sizeG == CUDD_OUT_OF_MEM) { FREE(supportF); return(0); } /* Classify variables and create cubes. This part of the procedure ** relies on the sorting of the indices in the two support arrays. */ *common = *onlyF = *onlyG = DD_ONE(dd); cuddRef(*common); cuddRef(*onlyF); cuddRef(*onlyG); fi = sizeF - 1; gi = sizeG - 1; while (fi >= 0 || gi >= 0) { int indexF = fi >= 0 ? supportF[fi] : -1; int indexG = gi >= 0 ? supportG[gi] : -1; int index = ddMax(indexF, indexG); DdNode *var = dd->vars[index]; #ifdef DD_DEBUG assert(index >= 0); #endif if (indexF == indexG) { DdNode *tmp = Cudd_bddAnd(dd,*common,var); if (tmp == NULL) { Cudd_RecursiveDeref(dd,*common); Cudd_RecursiveDeref(dd,*onlyF); Cudd_RecursiveDeref(dd,*onlyG); FREE(supportF); FREE(supportG); return(0); } cuddRef(tmp); Cudd_RecursiveDeref(dd,*common); *common = tmp; fi--; gi--; } else if (index == indexF) { DdNode *tmp = Cudd_bddAnd(dd,*onlyF,var); if (tmp == NULL) { Cudd_RecursiveDeref(dd,*common); Cudd_RecursiveDeref(dd,*onlyF); Cudd_RecursiveDeref(dd,*onlyG); FREE(supportF); FREE(supportG); return(0); } cuddRef(tmp); Cudd_RecursiveDeref(dd,*onlyF); *onlyF = tmp; fi--; } else { /* index == indexG */ DdNode *tmp = Cudd_bddAnd(dd,*onlyG,var); if (tmp == NULL) { Cudd_RecursiveDeref(dd,*common); Cudd_RecursiveDeref(dd,*onlyF); Cudd_RecursiveDeref(dd,*onlyG); FREE(supportF); FREE(supportG); return(0); } cuddRef(tmp); Cudd_RecursiveDeref(dd,*onlyG); *onlyG = tmp; gi--; } } FREE(supportF); FREE(supportG); cuddDeref(*common); cuddDeref(*onlyF); cuddDeref(*onlyG); return(1); } /* end of Cudd_ClassifySupport */ #endif /**Function******************************************************************** Synopsis [Counts the number of leaves in a DD.] Description [Counts the number of leaves in a DD. Returns the number of leaves in the DD rooted at node if successful; CUDD_OUT_OF_MEM otherwise.] SideEffects [None] SeeAlso [Cudd_PrintDebug] ******************************************************************************/ int Cudd_CountLeaves( DdNode * node) { int i; i = ddLeavesInt(Cudd_Regular(node)); ddClearFlag(Cudd_Regular(node)); return(i); } /* end of Cudd_CountLeaves */ /**Function******************************************************************** Synopsis [Picks one on-set cube randomly from the given DD.] Description [Picks one on-set cube randomly from the given DD. The cube is written into an array of characters. The array must have at least as many entries as there are variables. Returns 1 if successful; 0 otherwise.] SideEffects [None] SeeAlso [Cudd_bddPickOneMinterm] ******************************************************************************/ int Cudd_bddPickOneCube( DdManager * ddm, DdNode * node, char * string) { DdNode *N, *T, *E; DdNode *one, *bzero; char dir; int i; if (string == NULL || node == NULL) return(0); /* The constant 0 function has no on-set cubes. */ one = DD_ONE(ddm); bzero = Cudd_Not(one); if (node == bzero) return(0); for (i = 0; i < ddm->size; i++) string[i] = 2; for (;;) { if (node == one) break; N = Cudd_Regular(node); T = cuddT(N); E = cuddE(N); if (Cudd_IsComplement(node)) { T = Cudd_Not(T); E = Cudd_Not(E); } if (T == bzero) { string[N->index] = 0; node = E; } else if (E == bzero) { string[N->index] = 1; node = T; } else { dir = (char) ((Cudd_Random() & 0x2000) >> 13); string[N->index] = dir; node = dir ? T : E; } } return(1); } /* end of Cudd_bddPickOneCube */ #ifdef PBORI_FORCE_ORIGINAL_CUDD /**Function******************************************************************** Synopsis [Picks one on-set minterm randomly from the given DD.] Description [Picks one on-set minterm randomly from the given DD. The minterm is in terms of vars. The array vars should contain at least all variables in the support of f; if this condition is not met the minterm built by this procedure may not be contained in f. Builds a BDD for the minterm and returns a pointer to it if successful; NULL otherwise. There are three reasons why the procedure may fail:
        • It may run out of memory;
        • the function f may be the constant 0;
        • the minterm may not be contained in f.
        ] SideEffects [None] SeeAlso [Cudd_bddPickOneCube] ******************************************************************************/ DdNode * Cudd_bddPickOneMinterm( DdManager * dd /* manager */, DdNode * f /* function from which to pick one minterm */, DdNode ** vars /* array of variables */, int n /* size of vars */) { char *string; int i, size; int *indices; int result; DdNode *old, *neW; size = dd->size; string = ALLOC(char, size); if (string == NULL) { dd->errorCode = CUDD_MEMORY_OUT; return(NULL); } indices = ALLOC(int,n); if (indices == NULL) { dd->errorCode = CUDD_MEMORY_OUT; FREE(string); return(NULL); } for (i = 0; i < n; i++) { indices[i] = vars[i]->index; } result = Cudd_bddPickOneCube(dd,f,string); if (result == 0) { FREE(string); FREE(indices); return(NULL); } /* Randomize choice for don't cares. */ for (i = 0; i < n; i++) { if (string[indices[i]] == 2) string[indices[i]] = (char) ((Cudd_Random() & 0x20) >> 5); } /* Build result BDD. */ old = Cudd_ReadOne(dd); cuddRef(old); for (i = n-1; i >= 0; i--) { neW = Cudd_bddAnd(dd,old,Cudd_NotCond(vars[i],string[indices[i]]==0)); if (neW == NULL) { FREE(string); FREE(indices); Cudd_RecursiveDeref(dd,old); return(NULL); } cuddRef(neW); Cudd_RecursiveDeref(dd,old); old = neW; } #ifdef DD_DEBUG /* Test. */ if (Cudd_bddLeq(dd,old,f)) { cuddDeref(old); } else { Cudd_RecursiveDeref(dd,old); old = NULL; } #else cuddDeref(old); #endif FREE(string); FREE(indices); return(old); } /* end of Cudd_bddPickOneMinterm */ #endif #ifdef PBORI_FORCE_ORIGINAL_CUDD /**Function******************************************************************** Synopsis [Picks k on-set minterms evenly distributed from given DD.] Description [Picks k on-set minterms evenly distributed from given DD. The minterms are in terms of vars. The array vars should contain at least all variables in the support of f; if this condition is not met the minterms built by this procedure may not be contained in f. Builds an array of BDDs for the minterms and returns a pointer to it if successful; NULL otherwise. There are three reasons why the procedure may fail:
        • It may run out of memory;
        • the function f may be the constant 0;
        • the minterms may not be contained in f.
        ] SideEffects [None] SeeAlso [Cudd_bddPickOneMinterm Cudd_bddPickOneCube] ******************************************************************************/ DdNode ** Cudd_bddPickArbitraryMinterms( DdManager * dd /* manager */, DdNode * f /* function from which to pick k minterms */, DdNode ** vars /* array of variables */, int n /* size of vars */, int k /* number of minterms to find */) { char **string; int i, j, l, size; int *indices; int result; DdNode **old, *neW; double minterms; char *saveString; int saveFlag, savePoint, isSame; minterms = Cudd_CountMinterm(dd,f,n); if ((double)k > minterms) { return(NULL); } size = dd->size; string = ALLOC(char *, k); if (string == NULL) { dd->errorCode = CUDD_MEMORY_OUT; return(NULL); } for (i = 0; i < k; i++) { string[i] = ALLOC(char, size + 1); if (string[i] == NULL) { for (j = 0; j < i; j++) FREE(string[i]); FREE(string); dd->errorCode = CUDD_MEMORY_OUT; return(NULL); } for (j = 0; j < size; j++) string[i][j] = '2'; string[i][size] = '\0'; } indices = ALLOC(int,n); if (indices == NULL) { dd->errorCode = CUDD_MEMORY_OUT; for (i = 0; i < k; i++) FREE(string[i]); FREE(string); return(NULL); } for (i = 0; i < n; i++) { indices[i] = vars[i]->index; } result = ddPickArbitraryMinterms(dd,f,n,k,string); if (result == 0) { for (i = 0; i < k; i++) FREE(string[i]); FREE(string); FREE(indices); return(NULL); } old = ALLOC(DdNode *, k); if (old == NULL) { dd->errorCode = CUDD_MEMORY_OUT; for (i = 0; i < k; i++) FREE(string[i]); FREE(string); FREE(indices); return(NULL); } saveString = ALLOC(char, size + 1); if (saveString == NULL) { dd->errorCode = CUDD_MEMORY_OUT; for (i = 0; i < k; i++) FREE(string[i]); FREE(string); FREE(indices); FREE(old); return(NULL); } saveFlag = 0; /* Build result BDD array. */ for (i = 0; i < k; i++) { isSame = 0; if (!saveFlag) { for (j = i + 1; j < k; j++) { if (strcmp(string[i], string[j]) == 0) { savePoint = i; strcpy(saveString, string[i]); saveFlag = 1; break; } } } else { if (strcmp(string[i], saveString) == 0) { isSame = 1; } else { saveFlag = 0; for (j = i + 1; j < k; j++) { if (strcmp(string[i], string[j]) == 0) { savePoint = i; strcpy(saveString, string[i]); saveFlag = 1; break; } } } } /* Randomize choice for don't cares. */ for (j = 0; j < n; j++) { if (string[i][indices[j]] == '2') string[i][indices[j]] = (char) ((Cudd_Random() & 0x20) ? '1' : '0'); } while (isSame) { isSame = 0; for (j = savePoint; j < i; j++) { if (strcmp(string[i], string[j]) == 0) { isSame = 1; break; } } if (isSame) { strcpy(string[i], saveString); /* Randomize choice for don't cares. */ for (j = 0; j < n; j++) { if (string[i][indices[j]] == '2') string[i][indices[j]] = (char) ((Cudd_Random() & 0x20) ? '1' : '0'); } } } old[i] = Cudd_ReadOne(dd); cuddRef(old[i]); for (j = 0; j < n; j++) { if (string[i][indices[j]] == '0') { neW = Cudd_bddAnd(dd,old[i],Cudd_Not(vars[j])); } else { neW = Cudd_bddAnd(dd,old[i],vars[j]); } if (neW == NULL) { FREE(saveString); for (l = 0; l < k; l++) FREE(string[l]); FREE(string); FREE(indices); for (l = 0; l <= i; l++) Cudd_RecursiveDeref(dd,old[l]); FREE(old); return(NULL); } cuddRef(neW); Cudd_RecursiveDeref(dd,old[i]); old[i] = neW; } /* Test. */ if (!Cudd_bddLeq(dd,old[i],f)) { FREE(saveString); for (l = 0; l < k; l++) FREE(string[l]); FREE(string); FREE(indices); for (l = 0; l <= i; l++) Cudd_RecursiveDeref(dd,old[l]); FREE(old); return(NULL); } } FREE(saveString); for (i = 0; i < k; i++) { cuddDeref(old[i]); FREE(string[i]); } FREE(string); FREE(indices); return(old); } /* end of Cudd_bddPickArbitraryMinterms */ #endif #ifdef PBORI_FORCE_ORIGINAL_CUDD /**Function******************************************************************** Synopsis [Extracts a subset from a BDD.] Description [Extracts a subset from a BDD in the following procedure. 1. Compute the weight for each mask variable by counting the number of minterms for both positive and negative cofactors of the BDD with respect to each mask variable. (weight = #positive - #negative) 2. Find a representative cube of the BDD by using the weight. From the top variable of the BDD, for each variable, if the weight is greater than 0.0, choose THEN branch, othereise ELSE branch, until meeting the constant 1. 3. Quantify out the variables not in maskVars from the representative cube and if a variable in maskVars is don't care, replace the variable with a constant(1 or 0) depending on the weight. 4. Make a subset of the BDD by multiplying with the modified cube.] SideEffects [None] SeeAlso [] ******************************************************************************/ DdNode * Cudd_SubsetWithMaskVars( DdManager * dd /* manager */, DdNode * f /* function from which to pick a cube */, DdNode ** vars /* array of variables */, int nvars /* size of vars */, DdNode ** maskVars /* array of variables */, int mvars /* size of maskVars */) { double *weight; char *string; int i, size; int *indices, *mask; int result; DdNode *zero, *cube, *newCube, *subset; DdNode *cof; DdNode *support; support = Cudd_Support(dd,f); cuddRef(support); Cudd_RecursiveDeref(dd,support); zero = Cudd_Not(dd->one); size = dd->size; weight = ALLOC(double,size); if (weight == NULL) { dd->errorCode = CUDD_MEMORY_OUT; return(NULL); } for (i = 0; i < size; i++) { weight[i] = 0.0; } for (i = 0; i < mvars; i++) { cof = Cudd_Cofactor(dd, f, maskVars[i]); cuddRef(cof); weight[i] = Cudd_CountMinterm(dd, cof, nvars); Cudd_RecursiveDeref(dd,cof); cof = Cudd_Cofactor(dd, f, Cudd_Not(maskVars[i])); cuddRef(cof); weight[i] -= Cudd_CountMinterm(dd, cof, nvars); Cudd_RecursiveDeref(dd,cof); } string = ALLOC(char, size + 1); if (string == NULL) { dd->errorCode = CUDD_MEMORY_OUT; FREE(weight); return(NULL); } mask = ALLOC(int, size); if (mask == NULL) { dd->errorCode = CUDD_MEMORY_OUT; FREE(weight); FREE(string); return(NULL); } for (i = 0; i < size; i++) { string[i] = '2'; mask[i] = 0; } string[size] = '\0'; indices = ALLOC(int,nvars); if (indices == NULL) { dd->errorCode = CUDD_MEMORY_OUT; FREE(weight); FREE(string); FREE(mask); return(NULL); } for (i = 0; i < nvars; i++) { indices[i] = vars[i]->index; } result = ddPickRepresentativeCube(dd,f,weight,string); if (result == 0) { FREE(weight); FREE(string); FREE(mask); FREE(indices); return(NULL); } cube = Cudd_ReadOne(dd); cuddRef(cube); zero = Cudd_Not(Cudd_ReadOne(dd)); for (i = 0; i < nvars; i++) { if (string[indices[i]] == '0') { newCube = Cudd_bddIte(dd,cube,Cudd_Not(vars[i]),zero); } else if (string[indices[i]] == '1') { newCube = Cudd_bddIte(dd,cube,vars[i],zero); } else continue; if (newCube == NULL) { FREE(weight); FREE(string); FREE(mask); FREE(indices); Cudd_RecursiveDeref(dd,cube); return(NULL); } cuddRef(newCube); Cudd_RecursiveDeref(dd,cube); cube = newCube; } Cudd_RecursiveDeref(dd,cube); for (i = 0; i < mvars; i++) { mask[maskVars[i]->index] = 1; } for (i = 0; i < nvars; i++) { if (mask[indices[i]]) { if (string[indices[i]] == '2') { if (weight[indices[i]] >= 0.0) string[indices[i]] = '1'; else string[indices[i]] = '0'; } } else { string[indices[i]] = '2'; } } cube = Cudd_ReadOne(dd); cuddRef(cube); zero = Cudd_Not(Cudd_ReadOne(dd)); /* Build result BDD. */ for (i = 0; i < nvars; i++) { if (string[indices[i]] == '0') { newCube = Cudd_bddIte(dd,cube,Cudd_Not(vars[i]),zero); } else if (string[indices[i]] == '1') { newCube = Cudd_bddIte(dd,cube,vars[i],zero); } else continue; if (newCube == NULL) { FREE(weight); FREE(string); FREE(mask); FREE(indices); Cudd_RecursiveDeref(dd,cube); return(NULL); } cuddRef(newCube); Cudd_RecursiveDeref(dd,cube); cube = newCube; } subset = Cudd_bddAnd(dd,f,cube); cuddRef(subset); Cudd_RecursiveDeref(dd,cube); /* Test. */ if (Cudd_bddLeq(dd,subset,f)) { cuddDeref(subset); } else { Cudd_RecursiveDeref(dd,subset); subset = NULL; } FREE(weight); FREE(string); FREE(mask); FREE(indices); return(subset); } /* end of Cudd_SubsetWithMaskVars */ #endif /**Function******************************************************************** Synopsis [Finds the first cube of a decision diagram.] Description [Defines an iterator on the onset of a decision diagram and finds its first cube. Returns a generator that contains the information necessary to continue the enumeration if successful; NULL otherwise.

        A cube is represented as an array of literals, which are integers in {0, 1, 2}; 0 represents a complemented literal, 1 represents an uncomplemented literal, and 2 stands for don't care. The enumeration produces a disjoint cover of the function associated with the diagram. The size of the array equals the number of variables in the manager at the time Cudd_FirstCube is called.

        For each cube, a value is also returned. This value is always 1 for a BDD, while it may be different from 1 for an ADD. For BDDs, the offset is the set of cubes whose value is the logical zero. For ADDs, the offset is the set of cubes whose value is the background value. The cubes of the offset are not enumerated.] SideEffects [The first cube and its value are returned as side effects.] SeeAlso [Cudd_ForeachCube Cudd_NextCube Cudd_GenFree Cudd_IsGenEmpty Cudd_FirstNode] ******************************************************************************/ DdGen * Cudd_FirstCube( DdManager * dd, DdNode * f, int ** cube, CUDD_VALUE_TYPE * value) { DdGen *gen; DdNode *top, *treg, *next, *nreg, *prev, *preg; int i; int nvars; /* Sanity Check. */ if (dd == NULL || f == NULL) return(NULL); /* Allocate generator an initialize it. */ gen = ALLOC(DdGen,1); if (gen == NULL) { dd->errorCode = CUDD_MEMORY_OUT; return(NULL); } gen->manager = dd; gen->type = CUDD_GEN_CUBES; gen->status = CUDD_GEN_EMPTY; gen->gen.cubes.cube = NULL; gen->gen.cubes.value = DD_ZERO_VAL; gen->stack.sp = 0; gen->stack.stack = NULL; gen->node = NULL; nvars = dd->size; gen->gen.cubes.cube = ALLOC(int,nvars); if (gen->gen.cubes.cube == NULL) { dd->errorCode = CUDD_MEMORY_OUT; FREE(gen); return(NULL); } for (i = 0; i < nvars; i++) gen->gen.cubes.cube[i] = 2; /* The maximum stack depth is one plus the number of variables. ** because a path may have nodes at all levels, including the ** constant level. */ gen->stack.stack = ALLOC(DdNodePtr, nvars+1); if (gen->stack.stack == NULL) { dd->errorCode = CUDD_MEMORY_OUT; FREE(gen->gen.cubes.cube); FREE(gen); return(NULL); } for (i = 0; i <= nvars; i++) gen->stack.stack[i] = NULL; /* Find the first cube of the onset. */ gen->stack.stack[gen->stack.sp] = f; gen->stack.sp++; while (1) { top = gen->stack.stack[gen->stack.sp-1]; treg = Cudd_Regular(top); if (!cuddIsConstant(treg)) { /* Take the else branch first. */ gen->gen.cubes.cube[treg->index] = 0; next = cuddE(treg); if (top != treg) next = Cudd_Not(next); gen->stack.stack[gen->stack.sp] = next; gen->stack.sp++; } else if (top == Cudd_Not(DD_ONE(dd)) || top == dd->background) { /* Backtrack */ while (1) { if (gen->stack.sp == 1) { /* The current node has no predecessor. */ gen->status = CUDD_GEN_EMPTY; gen->stack.sp--; goto done; } prev = gen->stack.stack[gen->stack.sp-2]; preg = Cudd_Regular(prev); nreg = cuddT(preg); if (prev != preg) {next = Cudd_Not(nreg);} else {next = nreg;} if (next != top) { /* follow the then branch next */ gen->gen.cubes.cube[preg->index] = 1; gen->stack.stack[gen->stack.sp-1] = next; break; } /* Pop the stack and try again. */ gen->gen.cubes.cube[preg->index] = 2; gen->stack.sp--; top = gen->stack.stack[gen->stack.sp-1]; treg = Cudd_Regular(top); } } else { gen->status = CUDD_GEN_NONEMPTY; gen->gen.cubes.value = cuddV(top); goto done; } } done: *cube = gen->gen.cubes.cube; *value = gen->gen.cubes.value; return(gen); } /* end of Cudd_FirstCube */ /**Function******************************************************************** Synopsis [Generates the next cube of a decision diagram onset.] Description [Generates the next cube of a decision diagram onset, using generator gen. Returns 0 if the enumeration is completed; 1 otherwise.] SideEffects [The cube and its value are returned as side effects. The generator is modified.] SeeAlso [Cudd_ForeachCube Cudd_FirstCube Cudd_GenFree Cudd_IsGenEmpty Cudd_NextNode] ******************************************************************************/ int Cudd_NextCube( DdGen * gen, int ** cube, CUDD_VALUE_TYPE * value) { DdNode *top, *treg, *next, *nreg, *prev, *preg; DdManager *dd = gen->manager; /* Backtrack from previously reached terminal node. */ while (1) { if (gen->stack.sp == 1) { /* The current node has no predecessor. */ gen->status = CUDD_GEN_EMPTY; gen->stack.sp--; goto done; } top = gen->stack.stack[gen->stack.sp-1]; treg = Cudd_Regular(top); prev = gen->stack.stack[gen->stack.sp-2]; preg = Cudd_Regular(prev); nreg = cuddT(preg); if (prev != preg) {next = Cudd_Not(nreg);} else {next = nreg;} if (next != top) { /* follow the then branch next */ gen->gen.cubes.cube[preg->index] = 1; gen->stack.stack[gen->stack.sp-1] = next; break; } /* Pop the stack and try again. */ gen->gen.cubes.cube[preg->index] = 2; gen->stack.sp--; } while (1) { top = gen->stack.stack[gen->stack.sp-1]; treg = Cudd_Regular(top); if (!cuddIsConstant(treg)) { /* Take the else branch first. */ gen->gen.cubes.cube[treg->index] = 0; next = cuddE(treg); if (top != treg) next = Cudd_Not(next); gen->stack.stack[gen->stack.sp] = next; gen->stack.sp++; } else if (top == Cudd_Not(DD_ONE(dd)) || top == dd->background) { /* Backtrack */ while (1) { if (gen->stack.sp == 1) { /* The current node has no predecessor. */ gen->status = CUDD_GEN_EMPTY; gen->stack.sp--; goto done; } prev = gen->stack.stack[gen->stack.sp-2]; preg = Cudd_Regular(prev); nreg = cuddT(preg); if (prev != preg) {next = Cudd_Not(nreg);} else {next = nreg;} if (next != top) { /* follow the then branch next */ gen->gen.cubes.cube[preg->index] = 1; gen->stack.stack[gen->stack.sp-1] = next; break; } /* Pop the stack and try again. */ gen->gen.cubes.cube[preg->index] = 2; gen->stack.sp--; top = gen->stack.stack[gen->stack.sp-1]; treg = Cudd_Regular(top); } } else { gen->status = CUDD_GEN_NONEMPTY; gen->gen.cubes.value = cuddV(top); goto done; } } done: if (gen->status == CUDD_GEN_EMPTY) return(0); *cube = gen->gen.cubes.cube; *value = gen->gen.cubes.value; return(1); } /* end of Cudd_NextCube */ #ifdef PBORI_FORCE_ORIGINAL_CUDD /**Function******************************************************************** Synopsis [Finds the first prime of a Boolean function.] Description [Defines an iterator on a pair of BDDs describing a (possibly incompletely specified) Boolean functions and finds the first cube of a cover of the function. Returns a generator that contains the information necessary to continue the enumeration if successful; NULL otherwise.

        The two argument BDDs are the lower and upper bounds of an interval. It is a mistake to call this function with a lower bound that is not less than or equal to the upper bound.

        A cube is represented as an array of literals, which are integers in {0, 1, 2}; 0 represents a complemented literal, 1 represents an uncomplemented literal, and 2 stands for don't care. The enumeration produces a prime and irredundant cover of the function associated with the two BDDs. The size of the array equals the number of variables in the manager at the time Cudd_FirstCube is called.

        This iterator can only be used on BDDs.] SideEffects [The first cube is returned as side effect.] SeeAlso [Cudd_ForeachPrime Cudd_NextPrime Cudd_GenFree Cudd_IsGenEmpty Cudd_FirstCube Cudd_FirstNode] ******************************************************************************/ DdGen * Cudd_FirstPrime( DdManager *dd, DdNode *l, DdNode *u, int **cube) { DdGen *gen; DdNode *implicant, *prime, *tmp; int length, result; /* Sanity Check. */ if (dd == NULL || l == NULL || u == NULL) return(NULL); /* Allocate generator an initialize it. */ gen = ALLOC(DdGen,1); if (gen == NULL) { dd->errorCode = CUDD_MEMORY_OUT; return(NULL); } gen->manager = dd; gen->type = CUDD_GEN_PRIMES; gen->status = CUDD_GEN_EMPTY; gen->gen.primes.cube = NULL; gen->gen.primes.ub = u; gen->stack.sp = 0; gen->stack.stack = NULL; gen->node = l; cuddRef(l); gen->gen.primes.cube = ALLOC(int,dd->size); if (gen->gen.primes.cube == NULL) { dd->errorCode = CUDD_MEMORY_OUT; FREE(gen); return(NULL); } if (gen->node == Cudd_ReadLogicZero(dd)) { gen->status = CUDD_GEN_EMPTY; } else { implicant = Cudd_LargestCube(dd,gen->node,&length); if (implicant == NULL) { Cudd_RecursiveDeref(dd,gen->node); FREE(gen->gen.primes.cube); FREE(gen); return(NULL); } cuddRef(implicant); prime = Cudd_bddMakePrime(dd,implicant,gen->gen.primes.ub); if (prime == NULL) { Cudd_RecursiveDeref(dd,gen->node); Cudd_RecursiveDeref(dd,implicant); FREE(gen->gen.primes.cube); FREE(gen); return(NULL); } cuddRef(prime); Cudd_RecursiveDeref(dd,implicant); tmp = Cudd_bddAnd(dd,gen->node,Cudd_Not(prime)); if (tmp == NULL) { Cudd_RecursiveDeref(dd,gen->node); Cudd_RecursiveDeref(dd,prime); FREE(gen->gen.primes.cube); FREE(gen); return(NULL); } cuddRef(tmp); Cudd_RecursiveDeref(dd,gen->node); gen->node = tmp; result = Cudd_BddToCubeArray(dd,prime,gen->gen.primes.cube); if (result == 0) { Cudd_RecursiveDeref(dd,gen->node); Cudd_RecursiveDeref(dd,prime); FREE(gen->gen.primes.cube); FREE(gen); return(NULL); } Cudd_RecursiveDeref(dd,prime); gen->status = CUDD_GEN_NONEMPTY; } *cube = gen->gen.primes.cube; return(gen); } /* end of Cudd_FirstPrime */ #endif #ifdef PBORI_FORCE_ORIGINAL_CUDD /**Function******************************************************************** Synopsis [Generates the next prime of a Boolean function.] Description [Generates the next cube of a Boolean function, using generator gen. Returns 0 if the enumeration is completed; 1 otherwise.] SideEffects [The cube and is returned as side effects. The generator is modified.] SeeAlso [Cudd_ForeachPrime Cudd_FirstPrime Cudd_GenFree Cudd_IsGenEmpty Cudd_NextCube Cudd_NextNode] ******************************************************************************/ int Cudd_NextPrime( DdGen *gen, int **cube) { DdNode *implicant, *prime, *tmp; DdManager *dd = gen->manager; int length, result; if (gen->node == Cudd_ReadLogicZero(dd)) { gen->status = CUDD_GEN_EMPTY; } else { implicant = Cudd_LargestCube(dd,gen->node,&length); if (implicant == NULL) { gen->status = CUDD_GEN_EMPTY; return(0); } cuddRef(implicant); prime = Cudd_bddMakePrime(dd,implicant,gen->gen.primes.ub); if (prime == NULL) { Cudd_RecursiveDeref(dd,implicant); gen->status = CUDD_GEN_EMPTY; return(0); } cuddRef(prime); Cudd_RecursiveDeref(dd,implicant); tmp = Cudd_bddAnd(dd,gen->node,Cudd_Not(prime)); if (tmp == NULL) { Cudd_RecursiveDeref(dd,prime); gen->status = CUDD_GEN_EMPTY; return(0); } cuddRef(tmp); Cudd_RecursiveDeref(dd,gen->node); gen->node = tmp; result = Cudd_BddToCubeArray(dd,prime,gen->gen.primes.cube); if (result == 0) { Cudd_RecursiveDeref(dd,prime); gen->status = CUDD_GEN_EMPTY; return(0); } Cudd_RecursiveDeref(dd,prime); gen->status = CUDD_GEN_NONEMPTY; } if (gen->status == CUDD_GEN_EMPTY) return(0); *cube = gen->gen.primes.cube; return(1); } /* end of Cudd_NextPrime */ #endif #ifdef PBORI_FORCE_ORIGINAL_CUDD /**Function******************************************************************** Synopsis [Computes the cube of an array of BDD variables.] Description [Computes the cube of an array of BDD variables. If non-null, the phase argument indicates which literal of each variable should appear in the cube. If phase\[i\] is nonzero, then the positive literal is used. If phase is NULL, the cube is positive unate. Returns a pointer to the result if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_addComputeCube Cudd_IndicesToCube Cudd_CubeArrayToBdd] ******************************************************************************/ DdNode * Cudd_bddComputeCube( DdManager * dd, DdNode ** vars, int * phase, int n) { DdNode *cube; DdNode *fn; int i; cube = DD_ONE(dd); cuddRef(cube); for (i = n - 1; i >= 0; i--) { if (phase == NULL || phase[i] != 0) { fn = Cudd_bddAnd(dd,vars[i],cube); } else { fn = Cudd_bddAnd(dd,Cudd_Not(vars[i]),cube); } if (fn == NULL) { Cudd_RecursiveDeref(dd,cube); return(NULL); } cuddRef(fn); Cudd_RecursiveDeref(dd,cube); cube = fn; } cuddDeref(cube); return(cube); } /* end of Cudd_bddComputeCube */ #endif #ifdef PBORI_FORCE_ORIGINAL_CUDD /**Function******************************************************************** Synopsis [Computes the cube of an array of ADD variables.] Description [Computes the cube of an array of ADD variables. If non-null, the phase argument indicates which literal of each variable should appear in the cube. If phase\[i\] is nonzero, then the positive literal is used. If phase is NULL, the cube is positive unate. Returns a pointer to the result if successful; NULL otherwise.] SideEffects [none] SeeAlso [Cudd_bddComputeCube] ******************************************************************************/ DdNode * Cudd_addComputeCube( DdManager * dd, DdNode ** vars, int * phase, int n) { DdNode *cube, *zero; DdNode *fn; int i; cube = DD_ONE(dd); cuddRef(cube); zero = DD_ZERO(dd); for (i = n - 1; i >= 0; i--) { if (phase == NULL || phase[i] != 0) { fn = Cudd_addIte(dd,vars[i],cube,zero); } else { fn = Cudd_addIte(dd,vars[i],zero,cube); } if (fn == NULL) { Cudd_RecursiveDeref(dd,cube); return(NULL); } cuddRef(fn); Cudd_RecursiveDeref(dd,cube); cube = fn; } cuddDeref(cube); return(cube); } /* end of Cudd_addComputeCube */ #endif #ifdef PBORI_FORCE_ORIGINAL_CUDD /**Function******************************************************************** Synopsis [Builds the BDD of a cube from a positional array.] Description [Builds a cube from a positional array. The array must have one integer entry for each BDD variable. If the i-th entry is 1, the variable of index i appears in true form in the cube; If the i-th entry is 0, the variable of index i appears complemented in the cube; otherwise the variable does not appear in the cube. Returns a pointer to the BDD for the cube if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_bddComputeCube Cudd_IndicesToCube Cudd_BddToCubeArray] ******************************************************************************/ DdNode * Cudd_CubeArrayToBdd( DdManager *dd, int *array) { DdNode *cube, *var, *tmp; int i; int size = Cudd_ReadSize(dd); cube = DD_ONE(dd); cuddRef(cube); for (i = size - 1; i >= 0; i--) { if ((array[i] & ~1) == 0) { var = Cudd_bddIthVar(dd,i); tmp = Cudd_bddAnd(dd,cube,Cudd_NotCond(var,array[i]==0)); if (tmp == NULL) { Cudd_RecursiveDeref(dd,cube); return(NULL); } cuddRef(tmp); Cudd_RecursiveDeref(dd,cube); cube = tmp; } } cuddDeref(cube); return(cube); } /* end of Cudd_CubeArrayToBdd */ #endif #ifdef PBORI_FORCE_ORIGINAL_CUDD /**Function******************************************************************** Synopsis [Builds a positional array from the BDD of a cube.] Description [Builds a positional array from the BDD of a cube. Array must have one entry for each BDD variable. The positional array has 1 in i-th position if the variable of index i appears in true form in the cube; it has 0 in i-th position if the variable of index i appears in complemented form in the cube; finally, it has 2 in i-th position if the variable of index i does not appear in the cube. Returns 1 if successful (the BDD is indeed a cube); 0 otherwise.] SideEffects [The result is in the array passed by reference.] SeeAlso [Cudd_CubeArrayToBdd] ******************************************************************************/ int Cudd_BddToCubeArray( DdManager *dd, DdNode *cube, int *array) { DdNode *scan, *t, *e; int i; int size = Cudd_ReadSize(dd); DdNode *zero = Cudd_Not(DD_ONE(dd)); for (i = size-1; i >= 0; i--) { array[i] = 2; } scan = cube; while (!Cudd_IsConstant(scan)) { int index = Cudd_Regular(scan)->index; cuddGetBranches(scan,&t,&e); if (t == zero) { array[index] = 0; scan = e; } else if (e == zero) { array[index] = 1; scan = t; } else { return(0); /* cube is not a cube */ } } if (scan == zero) { return(0); } else { return(1); } } /* end of Cudd_BddToCubeArray */ #endif /**Function******************************************************************** Synopsis [Finds the first node of a decision diagram.] Description [Defines an iterator on the nodes of a decision diagram and finds its first node. Returns a generator that contains the information necessary to continue the enumeration if successful; NULL otherwise. The nodes are enumerated in a reverse topological order, so that a node is always preceded in the enumeration by its descendants.] SideEffects [The first node is returned as a side effect.] SeeAlso [Cudd_ForeachNode Cudd_NextNode Cudd_GenFree Cudd_IsGenEmpty Cudd_FirstCube] ******************************************************************************/ DdGen * Cudd_FirstNode( DdManager * dd, DdNode * f, DdNode ** node) { DdGen *gen; int size; /* Sanity Check. */ if (dd == NULL || f == NULL) return(NULL); /* Allocate generator an initialize it. */ gen = ALLOC(DdGen,1); if (gen == NULL) { dd->errorCode = CUDD_MEMORY_OUT; return(NULL); } gen->manager = dd; gen->type = CUDD_GEN_NODES; gen->status = CUDD_GEN_EMPTY; gen->stack.sp = 0; gen->node = NULL; /* Collect all the nodes on the generator stack for later perusal. */ gen->stack.stack = cuddNodeArray(Cudd_Regular(f), &size); if (gen->stack.stack == NULL) { FREE(gen); dd->errorCode = CUDD_MEMORY_OUT; return(NULL); } gen->gen.nodes.size = size; /* Find the first node. */ if (gen->stack.sp < gen->gen.nodes.size) { gen->status = CUDD_GEN_NONEMPTY; gen->node = gen->stack.stack[gen->stack.sp]; *node = gen->node; } return(gen); } /* end of Cudd_FirstNode */ /**Function******************************************************************** Synopsis [Finds the next node of a decision diagram.] Description [Finds the node of a decision diagram, using generator gen. Returns 0 if the enumeration is completed; 1 otherwise.] SideEffects [The next node is returned as a side effect.] SeeAlso [Cudd_ForeachNode Cudd_FirstNode Cudd_GenFree Cudd_IsGenEmpty Cudd_NextCube] ******************************************************************************/ int Cudd_NextNode( DdGen * gen, DdNode ** node) { /* Find the next node. */ gen->stack.sp++; if (gen->stack.sp < gen->gen.nodes.size) { gen->node = gen->stack.stack[gen->stack.sp]; *node = gen->node; return(1); } else { gen->status = CUDD_GEN_EMPTY; return(0); } } /* end of Cudd_NextNode */ /**Function******************************************************************** Synopsis [Frees a CUDD generator.] Description [Frees a CUDD generator. Always returns 0, so that it can be used in mis-like foreach constructs.] SideEffects [None] SeeAlso [Cudd_ForeachCube Cudd_ForeachNode Cudd_FirstCube Cudd_NextCube Cudd_FirstNode Cudd_NextNode Cudd_IsGenEmpty] ******************************************************************************/ int Cudd_GenFree( DdGen * gen) { if (gen == NULL) return(0); switch (gen->type) { case CUDD_GEN_CUBES: case CUDD_GEN_ZDD_PATHS: FREE(gen->gen.cubes.cube); FREE(gen->stack.stack); break; case CUDD_GEN_PRIMES: FREE(gen->gen.primes.cube); Cudd_RecursiveDeref(gen->manager,gen->node); break; case CUDD_GEN_NODES: FREE(gen->stack.stack); break; default: return(0); } FREE(gen); return(0); } /* end of Cudd_GenFree */ /**Function******************************************************************** Synopsis [Queries the status of a generator.] Description [Queries the status of a generator. Returns 1 if the generator is empty or NULL; 0 otherswise.] SideEffects [None] SeeAlso [Cudd_ForeachCube Cudd_ForeachNode Cudd_FirstCube Cudd_NextCube Cudd_FirstNode Cudd_NextNode Cudd_GenFree] ******************************************************************************/ int Cudd_IsGenEmpty( DdGen * gen) { if (gen == NULL) return(1); return(gen->status == CUDD_GEN_EMPTY); } /* end of Cudd_IsGenEmpty */ #ifdef PBORI_FORCE_ORIGINAL_CUDD /**Function******************************************************************** Synopsis [Builds a cube of BDD variables from an array of indices.] Description [Builds a cube of BDD variables from an array of indices. Returns a pointer to the result if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_bddComputeCube Cudd_CubeArrayToBdd] ******************************************************************************/ DdNode * Cudd_IndicesToCube( DdManager * dd, int * array, int n) { DdNode *cube, *tmp; int i; cube = DD_ONE(dd); cuddRef(cube); for (i = n - 1; i >= 0; i--) { tmp = Cudd_bddAnd(dd,Cudd_bddIthVar(dd,array[i]),cube); if (tmp == NULL) { Cudd_RecursiveDeref(dd,cube); return(NULL); } cuddRef(tmp); Cudd_RecursiveDeref(dd,cube); cube = tmp; } cuddDeref(cube); return(cube); } /* end of Cudd_IndicesToCube */ #endif /**Function******************************************************************** Synopsis [Prints the package version number.] Description [] SideEffects [None] SeeAlso [] ******************************************************************************/ void Cudd_PrintVersion( FILE * fp) { (void) fprintf(fp, "%s\n", CUDD_VERSION); } /* end of Cudd_PrintVersion */ /**Function******************************************************************** Synopsis [Computes the average distance between adjacent nodes.] Description [Computes the average distance between adjacent nodes in the manager. Adjacent nodes are node pairs such that the second node is the then child, else child, or next node in the collision list.] SideEffects [None] SeeAlso [] ******************************************************************************/ double Cudd_AverageDistance( DdManager * dd) { double tetotal, nexttotal; double tesubtotal, nextsubtotal; double temeasured, nextmeasured; int i, j; int slots, nvars; long diff; DdNode *scan; DdNodePtr *nodelist; DdNode *sentinel = &(dd->sentinel); nvars = dd->size; if (nvars == 0) return(0.0); /* Initialize totals. */ tetotal = 0.0; nexttotal = 0.0; temeasured = 0.0; nextmeasured = 0.0; /* Scan the variable subtables. */ for (i = 0; i < nvars; i++) { nodelist = dd->subtables[i].nodelist; tesubtotal = 0.0; nextsubtotal = 0.0; slots = dd->subtables[i].slots; for (j = 0; j < slots; j++) { scan = nodelist[j]; while (scan != sentinel) { diff = (long) scan - (long) cuddT(scan); tesubtotal += (double) ddAbs(diff); diff = (long) scan - (long) Cudd_Regular(cuddE(scan)); tesubtotal += (double) ddAbs(diff); temeasured += 2.0; if (scan->next != sentinel) { diff = (long) scan - (long) scan->next; nextsubtotal += (double) ddAbs(diff); nextmeasured += 1.0; } scan = scan->next; } } tetotal += tesubtotal; nexttotal += nextsubtotal; } /* Scan the constant table. */ nodelist = dd->constants.nodelist; nextsubtotal = 0.0; slots = dd->constants.slots; for (j = 0; j < slots; j++) { scan = nodelist[j]; while (scan != NULL) { if (scan->next != NULL) { diff = (long) scan - (long) scan->next; nextsubtotal += (double) ddAbs(diff); nextmeasured += 1.0; } scan = scan->next; } } nexttotal += nextsubtotal; return((tetotal + nexttotal) / (temeasured + nextmeasured)); } /* end of Cudd_AverageDistance */ /**Function******************************************************************** Synopsis [Portable random number generator.] Description [Portable number generator based on ran2 from "Numerical Recipes in C." It is a long period (> 2 * 10^18) random number generator of L'Ecuyer with Bays-Durham shuffle. Returns a long integer uniformly distributed between 0 and 2147483561 (inclusive of the endpoint values). The random generator can be explicitly initialized by calling Cudd_Srandom. If no explicit initialization is performed, then the seed 1 is assumed.] SideEffects [None] SeeAlso [Cudd_Srandom] ******************************************************************************/ long Cudd_Random(void) { int i; /* index in the shuffle table */ long int w; /* work variable */ /* cuddRand == 0 if the geneartor has not been initialized yet. */ if (cuddRand == 0) Cudd_Srandom(1); /* Compute cuddRand = (cuddRand * LEQA1) % MODULUS1 avoiding ** overflows by Schrage's method. */ w = cuddRand / LEQQ1; cuddRand = LEQA1 * (cuddRand - w * LEQQ1) - w * LEQR1; cuddRand += (cuddRand < 0) * MODULUS1; /* Compute cuddRand2 = (cuddRand2 * LEQA2) % MODULUS2 avoiding ** overflows by Schrage's method. */ w = cuddRand2 / LEQQ2; cuddRand2 = LEQA2 * (cuddRand2 - w * LEQQ2) - w * LEQR2; cuddRand2 += (cuddRand2 < 0) * MODULUS2; /* cuddRand is shuffled with the Bays-Durham algorithm. ** shuffleSelect and cuddRand2 are combined to generate the output. */ /* Pick one element from the shuffle table; "i" will be in the range ** from 0 to STAB_SIZE-1. */ i = (int) (shuffleSelect / STAB_DIV); /* Mix the element of the shuffle table with the current iterate of ** the second sub-generator, and replace the chosen element of the ** shuffle table with the current iterate of the first sub-generator. */ shuffleSelect = shuffleTable[i] - cuddRand2; shuffleTable[i] = cuddRand; shuffleSelect += (shuffleSelect < 1) * (MODULUS1 - 1); /* Since shuffleSelect != 0, and we want to be able to return 0, ** here we subtract 1 before returning. */ return(shuffleSelect - 1); } /* end of Cudd_Random */ /**Function******************************************************************** Synopsis [Initializer for the portable random number generator.] Description [Initializer for the portable number generator based on ran2 in "Numerical Recipes in C." The input is the seed for the generator. If it is negative, its absolute value is taken as seed. If it is 0, then 1 is taken as seed. The initialized sets up the two recurrences used to generate a long-period stream, and sets up the shuffle table.] SideEffects [None] SeeAlso [Cudd_Random] ******************************************************************************/ void Cudd_Srandom( long seed) { int i; if (seed < 0) cuddRand = -seed; else if (seed == 0) cuddRand = 1; else cuddRand = seed; cuddRand2 = cuddRand; /* Load the shuffle table (after 11 warm-ups). */ for (i = 0; i < STAB_SIZE + 11; i++) { long int w; w = cuddRand / LEQQ1; cuddRand = LEQA1 * (cuddRand - w * LEQQ1) - w * LEQR1; cuddRand += (cuddRand < 0) * MODULUS1; shuffleTable[i % STAB_SIZE] = cuddRand; } shuffleSelect = shuffleTable[1 % STAB_SIZE]; } /* end of Cudd_Srandom */ /**Function******************************************************************** Synopsis [Computes the density of a BDD or ADD.] Description [Computes the density of a BDD or ADD. The density is the ratio of the number of minterms to the number of nodes. If 0 is passed as number of variables, the number of variables existing in the manager is used. Returns the density if successful; (double) CUDD_OUT_OF_MEM otherwise.] SideEffects [None] SeeAlso [Cudd_CountMinterm Cudd_DagSize] ******************************************************************************/ double Cudd_Density( DdManager * dd /* manager */, DdNode * f /* function whose density is sought */, int nvars /* size of the support of f */) { double minterms; int nodes; double density; if (nvars == 0) nvars = dd->size; minterms = Cudd_CountMinterm(dd,f,nvars); if (minterms == (double) CUDD_OUT_OF_MEM) return(minterms); nodes = Cudd_DagSize(f); density = minterms / (double) nodes; return(density); } /* end of Cudd_Density */ /**Function******************************************************************** Synopsis [Warns that a memory allocation failed.] Description [Warns that a memory allocation failed. This function can be used as replacement of MMout_of_memory to prevent the safe_mem functions of the util package from exiting when malloc returns NULL. One possible use is in case of discretionary allocations; for instance, the allocation of memory to enlarge the computed table.] SideEffects [None] SeeAlso [] ******************************************************************************/ void Cudd_OutOfMem( long size /* size of the allocation that failed */) { (void) fflush(stdout); (void) fprintf(stderr, "\nunable to allocate %ld bytes\n", size); return; } /* end of Cudd_OutOfMem */ /*---------------------------------------------------------------------------*/ /* Definition of internal functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Prints a DD to the standard output. One line per node is printed.] Description [Prints a DD to the standard output. One line per node is printed. Returns 1 if successful; 0 otherwise.] SideEffects [None] SeeAlso [Cudd_PrintDebug] ******************************************************************************/ int cuddP( DdManager * dd, DdNode * f) { int retval; st_table *table = st_init_table(st_ptrcmp,st_ptrhash); if (table == NULL) return(0); retval = dp2(dd,f,table); st_free_table(table); (void) fputc('\n',dd->out); return(retval); } /* end of cuddP */ /**Function******************************************************************** Synopsis [Frees the memory used to store the minterm counts recorded in the visited table.] Description [Frees the memory used to store the minterm counts recorded in the visited table. Returns ST_CONTINUE.] SideEffects [None] ******************************************************************************/ enum st_retval cuddStCountfree( char * key, char * value, char * arg) { double *d; d = (double *)value; FREE(d); return(ST_CONTINUE); } /* end of cuddStCountfree */ /**Function******************************************************************** Synopsis [Recursively collects all the nodes of a DD in a symbol table.] Description [Traverses the DD f and collects all its nodes in a symbol table. f is assumed to be a regular pointer and cuddCollectNodes guarantees this assumption in the recursive calls. Returns 1 in case of success; 0 otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ int cuddCollectNodes( DdNode * f, st_table * visited) { DdNode *T, *E; int retval; #ifdef DD_DEBUG assert(!Cudd_IsComplement(f)); #endif /* If already visited, nothing to do. */ if (st_is_member(visited, (char *) f) == 1) return(1); /* Check for abnormal condition that should never happen. */ if (f == NULL) return(0); /* Mark node as visited. */ if (st_add_direct(visited, (char *) f, NULL) == ST_OUT_OF_MEM) return(0); /* Check terminal case. */ if (cuddIsConstant(f)) return(1); /* Recursive calls. */ T = cuddT(f); retval = cuddCollectNodes(T,visited); if (retval != 1) return(retval); E = Cudd_Regular(cuddE(f)); retval = cuddCollectNodes(E,visited); return(retval); } /* end of cuddCollectNodes */ /**Function******************************************************************** Synopsis [Recursively collects all the nodes of a DD in an array.] Description [Traverses the DD f and collects all its nodes in an array. The caller should free the array returned by cuddNodeArray. Returns a pointer to the array of nodes in case of success; NULL otherwise. The nodes are collected in reverse topological order, so that a node is always preceded in the array by all its descendants.] SideEffects [The number of nodes is returned as a side effect.] SeeAlso [Cudd_FirstNode] ******************************************************************************/ DdNodePtr * cuddNodeArray( DdNode *f, int *n) { DdNodePtr *table; int size, retval; size = ddDagInt(Cudd_Regular(f)); table = ALLOC(DdNodePtr, size); if (table == NULL) { ddClearFlag(Cudd_Regular(f)); return(NULL); } retval = cuddNodeArrayRecur(f, table, 0); assert(retval == size); *n = size; return(table); } /* cuddNodeArray */ /*---------------------------------------------------------------------------*/ /* Definition of static functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Performs the recursive step of cuddP.] Description [Performs the recursive step of cuddP. Returns 1 in case of success; 0 otherwise.] SideEffects [None] ******************************************************************************/ static int dp2( DdManager *dd, DdNode * f, st_table * t) { DdNode *g, *n, *N; int T,E; if (f == NULL) { return(0); } g = Cudd_Regular(f); if (cuddIsConstant(g)) { #if SIZEOF_VOID_P == 8 (void) fprintf(dd->out,"ID = %c0x%lx\tvalue = %-9g\n", bang(f), (ptruint) g / (ptruint) sizeof(DdNode),cuddV(g)); #else (void) fprintf(dd->out,"ID = %c0x%x\tvalue = %-9g\n", bang(f), (ptruint) g / (ptruint) sizeof(DdNode),cuddV(g)); #endif return(1); } if (st_is_member(t,(char *) g) == 1) { return(1); } if (st_add_direct(t,(char *) g,NULL) == ST_OUT_OF_MEM) return(0); #ifdef DD_STATS #if SIZEOF_VOID_P == 8 (void) fprintf(dd->out,"ID = %c0x%lx\tindex = %d\tr = %d\t", bang(f), (ptruint) g / (ptruint) sizeof(DdNode), g->index, g->ref); #else (void) fprintf(dd->out,"ID = %c0x%x\tindex = %d\tr = %d\t", bang(f), (ptruint) g / (ptruint) sizeof(DdNode),g->index,g->ref); #endif #else #if SIZEOF_VOID_P == 8 (void) fprintf(dd->out,"ID = %c0x%lx\tindex = %u\t", bang(f), (ptruint) g / (ptruint) sizeof(DdNode),g->index); #else (void) fprintf(dd->out,"ID = %c0x%x\tindex = %hu\t", bang(f), (ptruint) g / (ptruint) sizeof(DdNode),g->index); #endif #endif n = cuddT(g); if (cuddIsConstant(n)) { (void) fprintf(dd->out,"T = %-9g\t",cuddV(n)); T = 1; } else { #if SIZEOF_VOID_P == 8 (void) fprintf(dd->out,"T = 0x%lx\t",(ptruint) n / (ptruint) sizeof(DdNode)); #else (void) fprintf(dd->out,"T = 0x%x\t",(ptruint) n / (ptruint) sizeof(DdNode)); #endif T = 0; } n = cuddE(g); N = Cudd_Regular(n); if (cuddIsConstant(N)) { (void) fprintf(dd->out,"E = %c%-9g\n",bang(n),cuddV(N)); E = 1; } else { #if SIZEOF_VOID_P == 8 (void) fprintf(dd->out,"E = %c0x%lx\n", bang(n), (ptruint) N/(ptruint) sizeof(DdNode)); #else (void) fprintf(dd->out,"E = %c0x%x\n", bang(n), (ptruint) N/(ptruint) sizeof(DdNode)); #endif E = 0; } if (E == 0) { if (dp2(dd,N,t) == 0) return(0); } if (T == 0) { if (dp2(dd,cuddT(g),t) == 0) return(0); } return(1); } /* end of dp2 */ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_PrintMinterm.] Description [] SideEffects [None] ******************************************************************************/ static void ddPrintMintermAux( DdManager * dd /* manager */, DdNode * node /* current node */, int * list /* current recursion path */) { DdNode *N,*Nv,*Nnv; int i,v,index; N = Cudd_Regular(node); if (cuddIsConstant(N)) { /* Terminal case: Print one cube based on the current recursion ** path, unless we have reached the background value (ADDs) or ** the logical zero (BDDs). */ if (node != background && node != zero) { for (i = 0; i < dd->size; i++) { v = list[i]; if (v == 0) (void) fprintf(dd->out,"0"); else if (v == 1) (void) fprintf(dd->out,"1"); else (void) fprintf(dd->out,"-"); } (void) fprintf(dd->out," % g\n", cuddV(node)); } } else { Nv = cuddT(N); Nnv = cuddE(N); if (Cudd_IsComplement(node)) { Nv = Cudd_Not(Nv); Nnv = Cudd_Not(Nnv); } index = N->index; list[index] = 0; ddPrintMintermAux(dd,Nnv,list); list[index] = 1; ddPrintMintermAux(dd,Nv,list); list[index] = 2; } return; } /* end of ddPrintMintermAux */ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_DagSize.] Description [Performs the recursive step of Cudd_DagSize. Returns the number of nodes in the graph rooted at n.] SideEffects [None] ******************************************************************************/ static int ddDagInt( DdNode * n) { int tval, eval; if (Cudd_IsComplement(n->next)) { return(0); } n->next = Cudd_Not(n->next); if (cuddIsConstant(n)) { return(1); } tval = ddDagInt(cuddT(n)); eval = ddDagInt(Cudd_Regular(cuddE(n))); return(1 + tval + eval); } /* end of ddDagInt */ /**Function******************************************************************** Synopsis [Performs the recursive step of cuddNodeArray.] Description [Performs the recursive step of cuddNodeArray. Returns an the number of nodes in the DD. Clear the least significant bit of the next field that was used as visited flag by cuddNodeArrayRecur when counting the nodes. node is supposed to be regular; the invariant is maintained by this procedure.] SideEffects [None] SeeAlso [] ******************************************************************************/ static int cuddNodeArrayRecur( DdNode *f, DdNodePtr *table, int index) { int tindex, eindex; if (!Cudd_IsComplement(f->next)) { return(index); } /* Clear visited flag. */ f->next = Cudd_Regular(f->next); if (cuddIsConstant(f)) { table[index] = f; return(index + 1); } tindex = cuddNodeArrayRecur(cuddT(f), table, index); eindex = cuddNodeArrayRecur(Cudd_Regular(cuddE(f)), table, tindex); table[eindex] = f; return(eindex + 1); } /* end of cuddNodeArrayRecur */ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_CofactorEstimate.] Description [Performs the recursive step of Cudd_CofactorEstimate. Returns an estimate of the number of nodes in the DD of a cofactor of node. Uses the least significant bit of the next field as visited flag. node is supposed to be regular; the invariant is maintained by this procedure.] SideEffects [None] SeeAlso [] ******************************************************************************/ static int cuddEstimateCofactor( DdManager *dd, st_table *table, DdNode * node, int i, int phase, DdNode ** ptr) { int tval, eval, val; DdNode *ptrT, *ptrE; if (Cudd_IsComplement(node->next)) { if (!st_lookup(table,(char *)node,(char **)ptr)) { if (st_add_direct(table,(char *)node,(char *)node) == ST_OUT_OF_MEM) return(CUDD_OUT_OF_MEM); *ptr = node; } return(0); } node->next = Cudd_Not(node->next); if (cuddIsConstant(node)) { *ptr = node; if (st_add_direct(table,(char *)node,(char *)node) == ST_OUT_OF_MEM) return(CUDD_OUT_OF_MEM); return(1); } if ((int) node->index == i) { if (phase == 1) { *ptr = cuddT(node); val = ddDagInt(cuddT(node)); } else { *ptr = cuddE(node); val = ddDagInt(Cudd_Regular(cuddE(node))); } if (node->ref > 1) { if (st_add_direct(table,(char *)node,(char *)*ptr) == ST_OUT_OF_MEM) return(CUDD_OUT_OF_MEM); } return(val); } if (dd->perm[node->index] > dd->perm[i]) { *ptr = node; tval = ddDagInt(cuddT(node)); eval = ddDagInt(Cudd_Regular(cuddE(node))); if (node->ref > 1) { if (st_add_direct(table,(char *)node,(char *)node) == ST_OUT_OF_MEM) return(CUDD_OUT_OF_MEM); } val = 1 + tval + eval; return(val); } tval = cuddEstimateCofactor(dd,table,cuddT(node),i,phase,&ptrT); eval = cuddEstimateCofactor(dd,table,Cudd_Regular(cuddE(node)),i, phase,&ptrE); ptrE = Cudd_NotCond(ptrE,Cudd_IsComplement(cuddE(node))); if (ptrT == ptrE) { /* recombination */ *ptr = ptrT; val = tval; if (node->ref > 1) { if (st_add_direct(table,(char *)node,(char *)*ptr) == ST_OUT_OF_MEM) return(CUDD_OUT_OF_MEM); } } else if ((ptrT != cuddT(node) || ptrE != cuddE(node)) && (*ptr = cuddUniqueLookup(dd,node->index,ptrT,ptrE)) != NULL) { if (Cudd_IsComplement((*ptr)->next)) { val = 0; } else { val = 1 + tval + eval; } if (node->ref > 1) { if (st_add_direct(table,(char *)node,(char *)*ptr) == ST_OUT_OF_MEM) return(CUDD_OUT_OF_MEM); } } else { *ptr = node; val = 1 + tval + eval; } return(val); } /* end of cuddEstimateCofactor */ /**Function******************************************************************** Synopsis [Checks the unique table for the existence of an internal node.] Description [Checks the unique table for the existence of an internal node. Returns a pointer to the node if it is in the table; NULL otherwise.] SideEffects [None] SeeAlso [cuddUniqueInter] ******************************************************************************/ static DdNode * cuddUniqueLookup( DdManager * unique, int index, DdNode * T, DdNode * E) { int posn; unsigned int level; DdNodePtr *nodelist; DdNode *looking; DdSubtable *subtable; if (index >= unique->size) { return(NULL); } level = unique->perm[index]; subtable = &(unique->subtables[level]); #ifdef DD_DEBUG assert(level < (unsigned) cuddI(unique,T->index)); assert(level < (unsigned) cuddI(unique,Cudd_Regular(E)->index)); #endif posn = ddHash(T, E, subtable->shift); nodelist = subtable->nodelist; looking = nodelist[posn]; while (T < cuddT(looking)) { looking = Cudd_Regular(looking->next); } while (T == cuddT(looking) && E < cuddE(looking)) { looking = Cudd_Regular(looking->next); } if (cuddT(looking) == T && cuddE(looking) == E) { return(looking); } return(NULL); } /* end of cuddUniqueLookup */ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_CofactorEstimateSimple.] Description [Performs the recursive step of Cudd_CofactorEstimateSimple. Returns an estimate of the number of nodes in the DD of the positive cofactor of node. Uses the least significant bit of the next field as visited flag. node is supposed to be regular; the invariant is maintained by this procedure.] SideEffects [None] SeeAlso [] ******************************************************************************/ static int cuddEstimateCofactorSimple( DdNode * node, int i) { int tval, eval; if (Cudd_IsComplement(node->next)) { return(0); } node->next = Cudd_Not(node->next); if (cuddIsConstant(node)) { return(1); } tval = cuddEstimateCofactorSimple(cuddT(node),i); if ((int) node->index == i) return(tval); eval = cuddEstimateCofactorSimple(Cudd_Regular(cuddE(node)),i); return(1 + tval + eval); } /* end of cuddEstimateCofactorSimple */ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_CountMinterm.] Description [Performs the recursive step of Cudd_CountMinterm. It is based on the following identity. Let |f| be the number of minterms of f. Then:

        |f| = (|f0|+|f1|)/2 where f0 and f1 are the two cofactors of f. Does not use the identity |f'| = max - |f|, to minimize loss of accuracy due to roundoff. Returns the number of minterms of the function rooted at node.] SideEffects [None] ******************************************************************************/ static double ddCountMintermAux( DdNode * node, double max, DdHashTable * table) { DdNode *N, *Nt, *Ne; double min, minT, minE; DdNode *res; N = Cudd_Regular(node); if (cuddIsConstant(N)) { if (node == background || node == zero) { return(0.0); } else { return(max); } } if (N->ref != 1 && (res = cuddHashTableLookup1(table,node)) != NULL) { min = cuddV(res); if (res->ref == 0) { table->manager->dead++; table->manager->constants.dead++; } return(min); } Nt = cuddT(N); Ne = cuddE(N); if (Cudd_IsComplement(node)) { Nt = Cudd_Not(Nt); Ne = Cudd_Not(Ne); } minT = ddCountMintermAux(Nt,max,table); if (minT == (double)CUDD_OUT_OF_MEM) return((double)CUDD_OUT_OF_MEM); minT *= 0.5; minE = ddCountMintermAux(Ne,max,table); if (minE == (double)CUDD_OUT_OF_MEM) return((double)CUDD_OUT_OF_MEM); minE *= 0.5; min = minT + minE; if (N->ref != 1) { ptrint fanout = (ptrint) N->ref; cuddSatDec(fanout); res = cuddUniqueConst(table->manager,min); if (!cuddHashTableInsert1(table,node,res,fanout)) { cuddRef(res); Cudd_RecursiveDeref(table->manager, res); return((double)CUDD_OUT_OF_MEM); } } return(min); } /* end of ddCountMintermAux */ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_CountPath.] Description [Performs the recursive step of Cudd_CountPath. It is based on the following identity. Let |f| be the number of paths of f. Then: |f| = |f0|+|f1| where f0 and f1 are the two cofactors of f. Uses the identity |f'| = |f|, to improve the utilization of the (local) cache. Returns the number of paths of the function rooted at node.] SideEffects [None] ******************************************************************************/ static double ddCountPathAux( DdNode * node, st_table * table) { DdNode *Nv, *Nnv; double paths, *ppaths, paths1, paths2; double *dummy; if (cuddIsConstant(node)) { return(1.0); } if (st_lookup(table, node, &dummy)) { paths = *dummy; return(paths); } Nv = cuddT(node); Nnv = cuddE(node); paths1 = ddCountPathAux(Nv,table); if (paths1 == (double)CUDD_OUT_OF_MEM) return((double)CUDD_OUT_OF_MEM); paths2 = ddCountPathAux(Cudd_Regular(Nnv),table); if (paths2 == (double)CUDD_OUT_OF_MEM) return((double)CUDD_OUT_OF_MEM); paths = paths1 + paths2; ppaths = ALLOC(double,1); if (ppaths == NULL) { return((double)CUDD_OUT_OF_MEM); } *ppaths = paths; if (st_add_direct(table,(char *)node, (char *)ppaths) == ST_OUT_OF_MEM) { FREE(ppaths); return((double)CUDD_OUT_OF_MEM); } return(paths); } /* end of ddCountPathAux */ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_EpdCountMinterm.] Description [Performs the recursive step of Cudd_EpdCountMinterm. It is based on the following identity. Let |f| be the number of minterms of f. Then: |f| = (|f0|+|f1|)/2 where f0 and f1 are the two cofactors of f. Does not use the identity |f'| = max - |f|, to minimize loss of accuracy due to roundoff. Returns the number of minterms of the function rooted at node.] SideEffects [None] ******************************************************************************/ static int ddEpdCountMintermAux( DdNode * node, EpDouble * max, EpDouble * epd, st_table * table) { DdNode *Nt, *Ne; EpDouble *min, minT, minE; EpDouble *res; int status; /* node is assumed to be regular */ if (cuddIsConstant(node)) { if (node == background || node == zero) { EpdMakeZero(epd, 0); } else { EpdCopy(max, epd); } return(0); } if (node->ref != 1 && st_lookup(table, node, &res)) { EpdCopy(res, epd); return(0); } Nt = cuddT(node); Ne = cuddE(node); status = ddEpdCountMintermAux(Nt,max,&minT,table); if (status == CUDD_OUT_OF_MEM) return(CUDD_OUT_OF_MEM); EpdMultiply(&minT, (double)0.5); status = ddEpdCountMintermAux(Cudd_Regular(Ne),max,&minE,table); if (status == CUDD_OUT_OF_MEM) return(CUDD_OUT_OF_MEM); if (Cudd_IsComplement(Ne)) { EpdSubtract3(max, &minE, epd); EpdCopy(epd, &minE); } EpdMultiply(&minE, (double)0.5); EpdAdd3(&minT, &minE, epd); if (node->ref > 1) { min = EpdAlloc(); if (!min) return(CUDD_OUT_OF_MEM); EpdCopy(epd, min); if (st_insert(table, (char *)node, (char *)min) == ST_OUT_OF_MEM) { EpdFree(min); return(CUDD_OUT_OF_MEM); } } return(0); } /* end of ddEpdCountMintermAux */ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_CountPathsToNonZero.] Description [Performs the recursive step of Cudd_CountPathsToNonZero. It is based on the following identity. Let |f| be the number of paths of f. Then: |f| = |f0|+|f1| where f0 and f1 are the two cofactors of f. Returns the number of paths of the function rooted at node.] SideEffects [None] ******************************************************************************/ static double ddCountPathsToNonZero( DdNode * N, st_table * table) { DdNode *node, *Nt, *Ne; double paths, *ppaths, paths1, paths2; double *dummy; node = Cudd_Regular(N); if (cuddIsConstant(node)) { return((double) !(Cudd_IsComplement(N) || cuddV(node)==DD_ZERO_VAL)); } if (st_lookup(table, N, &dummy)) { paths = *dummy; return(paths); } Nt = cuddT(node); Ne = cuddE(node); if (node != N) { Nt = Cudd_Not(Nt); Ne = Cudd_Not(Ne); } paths1 = ddCountPathsToNonZero(Nt,table); if (paths1 == (double)CUDD_OUT_OF_MEM) return((double)CUDD_OUT_OF_MEM); paths2 = ddCountPathsToNonZero(Ne,table); if (paths2 == (double)CUDD_OUT_OF_MEM) return((double)CUDD_OUT_OF_MEM); paths = paths1 + paths2; ppaths = ALLOC(double,1); if (ppaths == NULL) { return((double)CUDD_OUT_OF_MEM); } *ppaths = paths; if (st_add_direct(table,(char *)N, (char *)ppaths) == ST_OUT_OF_MEM) { FREE(ppaths); return((double)CUDD_OUT_OF_MEM); } return(paths); } /* end of ddCountPathsToNonZero */ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_Support.] Description [Performs the recursive step of Cudd_Support. Performs a DFS from f. The support is accumulated in supp as a side effect. Uses the LSB of the then pointer as visited flag.] SideEffects [None] SeeAlso [ddClearFlag] ******************************************************************************/ static void ddSupportStep( DdNode * f, int * support) { if (cuddIsConstant(f) || Cudd_IsComplement(f->next)) return; support[f->index] = 1; ddSupportStep(cuddT(f),support); ddSupportStep(Cudd_Regular(cuddE(f)),support); /* Mark as visited. */ f->next = Cudd_Complement(f->next); } /* end of ddSupportStep */ /**Function******************************************************************** Synopsis [Performs a DFS from f, clearing the LSB of the next pointers.] Description [] SideEffects [None] SeeAlso [ddSupportStep ddFindSupport ddLeavesInt ddDagInt] ******************************************************************************/ static void ddClearFlag( DdNode * f) { if (!Cudd_IsComplement(f->next)) { return; } /* Clear visited flag. */ f->next = Cudd_Regular(f->next); if (cuddIsConstant(f)) { return; } ddClearFlag(cuddT(f)); ddClearFlag(Cudd_Regular(cuddE(f))); return; } /* end of ddClearFlag */ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_CountLeaves.] Description [Performs the recursive step of Cudd_CountLeaves. Returns the number of leaves in the DD rooted at n.] SideEffects [None] SeeAlso [Cudd_CountLeaves] ******************************************************************************/ static int ddLeavesInt( DdNode * n) { int tval, eval; if (Cudd_IsComplement(n->next)) { return(0); } n->next = Cudd_Not(n->next); if (cuddIsConstant(n)) { return(1); } tval = ddLeavesInt(cuddT(n)); eval = ddLeavesInt(Cudd_Regular(cuddE(n))); return(tval + eval); } /* end of ddLeavesInt */ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_bddPickArbitraryMinterms.] Description [Performs the recursive step of Cudd_bddPickArbitraryMinterms. Returns 1 if successful; 0 otherwise.] SideEffects [none] SeeAlso [Cudd_bddPickArbitraryMinterms] ******************************************************************************/ static int ddPickArbitraryMinterms( DdManager *dd, DdNode *node, int nvars, int nminterms, char **string) { DdNode *N, *T, *E; DdNode *one, *bzero; int i, t, result; double min1, min2; if (string == NULL || node == NULL) return(0); /* The constant 0 function has no on-set cubes. */ one = DD_ONE(dd); bzero = Cudd_Not(one); if (nminterms == 0 || node == bzero) return(1); if (node == one) { return(1); } N = Cudd_Regular(node); T = cuddT(N); E = cuddE(N); if (Cudd_IsComplement(node)) { T = Cudd_Not(T); E = Cudd_Not(E); } min1 = Cudd_CountMinterm(dd, T, nvars) / 2.0; if (min1 == (double)CUDD_OUT_OF_MEM) return(0); min2 = Cudd_CountMinterm(dd, E, nvars) / 2.0; if (min2 == (double)CUDD_OUT_OF_MEM) return(0); t = (int)((double)nminterms * min1 / (min1 + min2) + 0.5); for (i = 0; i < t; i++) string[i][N->index] = '1'; for (i = t; i < nminterms; i++) string[i][N->index] = '0'; result = ddPickArbitraryMinterms(dd,T,nvars,t,&string[0]); if (result == 0) return(0); result = ddPickArbitraryMinterms(dd,E,nvars,nminterms-t,&string[t]); return(result); } /* end of ddPickArbitraryMinterms */ /**Function******************************************************************** Synopsis [Finds a representative cube of a BDD.] Description [Finds a representative cube of a BDD with the weight of each variable. From the top variable, if the weight is greater than or equal to 0.0, choose THEN branch unless the child is the constant 0. Otherwise, choose ELSE branch unless the child is the constant 0.] SideEffects [Cudd_SubsetWithMaskVars Cudd_bddPickOneCube] ******************************************************************************/ static int ddPickRepresentativeCube( DdManager *dd, DdNode *node, double *weight, char *string) { DdNode *N, *T, *E; DdNode *one, *bzero; if (string == NULL || node == NULL) return(0); /* The constant 0 function has no on-set cubes. */ one = DD_ONE(dd); bzero = Cudd_Not(one); if (node == bzero) return(0); if (node == DD_ONE(dd)) return(1); for (;;) { N = Cudd_Regular(node); if (N == one) break; T = cuddT(N); E = cuddE(N); if (Cudd_IsComplement(node)) { T = Cudd_Not(T); E = Cudd_Not(E); } if (weight[N->index] >= 0.0) { if (T == bzero) { node = E; string[N->index] = '0'; } else { node = T; string[N->index] = '1'; } } else { if (E == bzero) { node = T; string[N->index] = '1'; } else { node = E; string[N->index] = '0'; } } } return(1); } /* end of ddPickRepresentativeCube */ /**Function******************************************************************** Synopsis [Frees the memory used to store the minterm counts recorded in the visited table.] Description [Frees the memory used to store the minterm counts recorded in the visited table. Returns ST_CONTINUE.] SideEffects [None] ******************************************************************************/ static enum st_retval ddEpdFree( char * key, char * value, char * arg) { EpDouble *epd; epd = (EpDouble *) value; EpdFree(epd); return(ST_CONTINUE); } /* end of ddEpdFree */ /**Function******************************************************************** Synopsis [Recursively find the support of f.] Description [Recursively find the support of f. This function uses the LSB of the next field of the nodes of f as visited flag. It also uses the LSB of the next field of the variables as flag to remember whether a certain index has already been seen. Finally, it uses the manager stack to record all seen indices.] SideEffects [The stack pointer SP is modified by side-effect. The next fields are changed and need to be reset.] ******************************************************************************/ static void ddFindSupport( DdManager *dd, DdNode *f, int *SP) { int index; DdNode *var; if (cuddIsConstant(f) || Cudd_IsComplement(f->next)) { return; } index = f->index; var = dd->vars[index]; /* It is possible that var is embedded in f. That causes no problem, ** though, because if we see it after encountering another node with ** the same index, nothing is supposed to happen. */ if (!Cudd_IsComplement(var->next)) { var->next = Cudd_Complement(var->next); dd->stack[*SP] = (DdNode *)(ptrint) index; (*SP)++; } ddFindSupport(dd, cuddT(f), SP); ddFindSupport(dd, Cudd_Regular(cuddE(f)), SP); /* Mark as visited. */ f->next = Cudd_Complement(f->next); } /* end of ddFindSupport */ /**Function******************************************************************** Synopsis [Clears visited flags for variables.] Description [Clears visited flags for variables.] SideEffects [None] ******************************************************************************/ static void ddClearVars( DdManager *dd, int SP) { int i; for (i = 0; i < SP; i++) { int index = (int) (ptrint) dd->stack[i]; DdNode *var = dd->vars[index]; var->next = Cudd_Regular(var->next); } } /* end of ddClearVars */ /**Function******************************************************************** Synopsis [Compares indices for qsort.] Description [Compares indices for qsort. Subtracting these integers cannot produce overflow, because they are non-negative.] SideEffects [None] ******************************************************************************/ static int indexCompare( const void *a, const void *b) { int ia = *((int *) a); int ib = *((int *) b); return(ia - ib); } /* end of indexCompare */ BRiAl-1.2.12/cudd/cuddWindow.c000066400000000000000000000656231436062512100157340ustar00rootroot00000000000000/**CFile*********************************************************************** FileName [cuddWindow.c] PackageName [cudd] Synopsis [Functions for variable reordering by window permutation.] Description [Internal procedures included in this module:
        • cuddWindowReorder()
        Static procedures included in this module:
        • ddWindow2()
        • ddWindowConv2()
        • ddPermuteWindow3()
        • ddWindow3()
        • ddWindowConv3()
        • ddPermuteWindow4()
        • ddWindow4()
        • ddWindowConv4()
        ] Author [Fabio Somenzi] Copyright [Copyright (c) 1995-2012, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.] ******************************************************************************/ #include "util.h" #include "cuddInt.h" /*---------------------------------------------------------------------------*/ /* Constant declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Stucture declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Type declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Variable declarations */ /*---------------------------------------------------------------------------*/ #ifndef lint static char rcsid[] DD_UNUSED = "$Id: cuddWindow.c,v 1.15 2012/02/05 01:07:19 fabio Exp $"; #endif #ifdef DD_STATS extern int ddTotalNumberSwapping; extern int ddTotalNISwaps; #endif /*---------------------------------------------------------------------------*/ /* Macro declarations */ /*---------------------------------------------------------------------------*/ /**AutomaticStart*************************************************************/ /*---------------------------------------------------------------------------*/ /* Static function prototypes */ /*---------------------------------------------------------------------------*/ static int ddWindow2 (DdManager *table, int low, int high); static int ddWindowConv2 (DdManager *table, int low, int high); static int ddPermuteWindow3 (DdManager *table, int x); static int ddWindow3 (DdManager *table, int low, int high); static int ddWindowConv3 (DdManager *table, int low, int high); static int ddPermuteWindow4 (DdManager *table, int w); static int ddWindow4 (DdManager *table, int low, int high); static int ddWindowConv4 (DdManager *table, int low, int high); /**AutomaticEnd***************************************************************/ /*---------------------------------------------------------------------------*/ /* Definition of exported functions */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Definition of internal functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Reorders by applying the method of the sliding window.] Description [Reorders by applying the method of the sliding window. Tries all possible permutations to the variables in a window that slides from low to high. The size of the window is determined by submethod. Assumes that no dead nodes are present. Returns 1 in case of success; 0 otherwise.] SideEffects [None] ******************************************************************************/ int cuddWindowReorder( DdManager * table /* DD table */, int low /* lowest index to reorder */, int high /* highest index to reorder */, Cudd_ReorderingType submethod /* window reordering option */) { int res; #ifdef DD_DEBUG int supposedOpt; #endif switch (submethod) { case CUDD_REORDER_WINDOW2: res = ddWindow2(table,low,high); break; case CUDD_REORDER_WINDOW3: res = ddWindow3(table,low,high); break; case CUDD_REORDER_WINDOW4: res = ddWindow4(table,low,high); break; case CUDD_REORDER_WINDOW2_CONV: res = ddWindowConv2(table,low,high); break; case CUDD_REORDER_WINDOW3_CONV: res = ddWindowConv3(table,low,high); #ifdef DD_DEBUG supposedOpt = table->keys - table->isolated; res = ddWindow3(table,low,high); if (table->keys - table->isolated != (unsigned) supposedOpt) { (void) fprintf(table->err, "Convergence failed! (%d != %d)\n", table->keys - table->isolated, supposedOpt); } #endif break; case CUDD_REORDER_WINDOW4_CONV: res = ddWindowConv4(table,low,high); #ifdef DD_DEBUG supposedOpt = table->keys - table->isolated; res = ddWindow4(table,low,high); if (table->keys - table->isolated != (unsigned) supposedOpt) { (void) fprintf(table->err,"Convergence failed! (%d != %d)\n", table->keys - table->isolated, supposedOpt); } #endif break; default: return(0); } return(res); } /* end of cuddWindowReorder */ /*---------------------------------------------------------------------------*/ /* Definition of static functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Reorders by applying a sliding window of width 2.] Description [Reorders by applying a sliding window of width 2. Tries both permutations of the variables in a window that slides from low to high. Assumes that no dead nodes are present. Returns 1 in case of success; 0 otherwise.] SideEffects [None] ******************************************************************************/ static int ddWindow2( DdManager * table, int low, int high) { int x; int res; int size; #ifdef DD_DEBUG assert(low >= 0 && high < table->size); #endif if (high-low < 1) return(0); res = table->keys - table->isolated; for (x = low; x < high; x++) { size = res; res = cuddSwapInPlace(table,x,x+1); if (res == 0) return(0); if (res >= size) { /* no improvement: undo permutation */ res = cuddSwapInPlace(table,x,x+1); if (res == 0) return(0); } #ifdef DD_STATS if (res < size) { (void) fprintf(table->out,"-"); } else { (void) fprintf(table->out,"="); } fflush(table->out); #endif } return(1); } /* end of ddWindow2 */ /**Function******************************************************************** Synopsis [Reorders by repeatedly applying a sliding window of width 2.] Description [Reorders by repeatedly applying a sliding window of width 2. Tries both permutations of the variables in a window that slides from low to high. Assumes that no dead nodes are present. Uses an event-driven approach to determine convergence. Returns 1 in case of success; 0 otherwise.] SideEffects [None] ******************************************************************************/ static int ddWindowConv2( DdManager * table, int low, int high) { int x; int res; int nwin; int newevent; int *events; int size; #ifdef DD_DEBUG assert(low >= 0 && high < table->size); #endif if (high-low < 1) return(ddWindowConv2(table,low,high)); nwin = high-low; events = ALLOC(int,nwin); if (events == NULL) { table->errorCode = CUDD_MEMORY_OUT; return(0); } for (x=0; xkeys - table->isolated; do { newevent = 0; for (x=0; x= size) { /* no improvement: undo permutation */ res = cuddSwapInPlace(table,x+low,x+low+1); if (res == 0) { FREE(events); return(0); } } if (res < size) { if (x < nwin-1) events[x+1] = 1; if (x > 0) events[x-1] = 1; newevent = 1; } events[x] = 0; #ifdef DD_STATS if (res < size) { (void) fprintf(table->out,"-"); } else { (void) fprintf(table->out,"="); } fflush(table->out); #endif } } #ifdef DD_STATS if (newevent) { (void) fprintf(table->out,"|"); fflush(table->out); } #endif } while (newevent); FREE(events); return(1); } /* end of ddWindowConv3 */ /**Function******************************************************************** Synopsis [Tries all the permutations of the three variables between x and x+2 and retains the best.] Description [Tries all the permutations of the three variables between x and x+2 and retains the best. Assumes that no dead nodes are present. Returns the index of the best permutation (1-6) in case of success; 0 otherwise.Assumes that no dead nodes are present. Returns the index of the best permutation (1-6) in case of success; 0 otherwise.] SideEffects [None] ******************************************************************************/ static int ddPermuteWindow3( DdManager * table, int x) { int y,z; int size,sizeNew; int best; #ifdef DD_DEBUG assert(table->dead == 0); assert(x+2 < table->size); #endif size = table->keys - table->isolated; y = x+1; z = y+1; /* The permutation pattern is: ** (x,y)(y,z) ** repeated three times to get all 3! = 6 permutations. */ #define ABC 1 best = ABC; #define BAC 2 sizeNew = cuddSwapInPlace(table,x,y); if (sizeNew < size) { if (sizeNew == 0) return(0); best = BAC; size = sizeNew; } #define BCA 3 sizeNew = cuddSwapInPlace(table,y,z); if (sizeNew < size) { if (sizeNew == 0) return(0); best = BCA; size = sizeNew; } #define CBA 4 sizeNew = cuddSwapInPlace(table,x,y); if (sizeNew < size) { if (sizeNew == 0) return(0); best = CBA; size = sizeNew; } #define CAB 5 sizeNew = cuddSwapInPlace(table,y,z); if (sizeNew < size) { if (sizeNew == 0) return(0); best = CAB; size = sizeNew; } #define ACB 6 sizeNew = cuddSwapInPlace(table,x,y); if (sizeNew < size) { if (sizeNew == 0) return(0); best = ACB; size = sizeNew; } /* Now take the shortest route to the best permuytation. ** The initial permutation is ACB. */ switch(best) { case BCA: if (!cuddSwapInPlace(table,y,z)) return(0); case CBA: if (!cuddSwapInPlace(table,x,y)) return(0); case ABC: if (!cuddSwapInPlace(table,y,z)) return(0); case ACB: break; case BAC: if (!cuddSwapInPlace(table,y,z)) return(0); case CAB: if (!cuddSwapInPlace(table,x,y)) return(0); break; default: return(0); } #ifdef DD_DEBUG assert(table->keys - table->isolated == (unsigned) size); #endif return(best); } /* end of ddPermuteWindow3 */ /**Function******************************************************************** Synopsis [Reorders by applying a sliding window of width 3.] Description [Reorders by applying a sliding window of width 3. Tries all possible permutations to the variables in a window that slides from low to high. Assumes that no dead nodes are present. Returns 1 in case of success; 0 otherwise.] SideEffects [None] ******************************************************************************/ static int ddWindow3( DdManager * table, int low, int high) { int x; int res; #ifdef DD_DEBUG assert(low >= 0 && high < table->size); #endif if (high-low < 2) return(ddWindow2(table,low,high)); for (x = low; x+1 < high; x++) { res = ddPermuteWindow3(table,x); if (res == 0) return(0); #ifdef DD_STATS if (res == ABC) { (void) fprintf(table->out,"="); } else { (void) fprintf(table->out,"-"); } fflush(table->out); #endif } return(1); } /* end of ddWindow3 */ /**Function******************************************************************** Synopsis [Reorders by repeatedly applying a sliding window of width 3.] Description [Reorders by repeatedly applying a sliding window of width 3. Tries all possible permutations to the variables in a window that slides from low to high. Assumes that no dead nodes are present. Uses an event-driven approach to determine convergence. Returns 1 in case of success; 0 otherwise.] SideEffects [None] ******************************************************************************/ static int ddWindowConv3( DdManager * table, int low, int high) { int x; int res; int nwin; int newevent; int *events; #ifdef DD_DEBUG assert(low >= 0 && high < table->size); #endif if (high-low < 2) return(ddWindowConv2(table,low,high)); nwin = high-low-1; events = ALLOC(int,nwin); if (events == NULL) { table->errorCode = CUDD_MEMORY_OUT; return(0); } for (x=0; x 1) events[x-2] = 1; newevent = 1; break; case BCA: case CBA: case CAB: if (x < nwin-2) events[x+2] = 1; if (x < nwin-1) events[x+1] = 1; if (x > 0) events[x-1] = 1; if (x > 1) events[x-2] = 1; newevent = 1; break; case ACB: if (x < nwin-2) events[x+2] = 1; if (x > 0) events[x-1] = 1; newevent = 1; break; default: FREE(events); return(0); } events[x] = 0; #ifdef DD_STATS if (res == ABC) { (void) fprintf(table->out,"="); } else { (void) fprintf(table->out,"-"); } fflush(table->out); #endif } } #ifdef DD_STATS if (newevent) { (void) fprintf(table->out,"|"); fflush(table->out); } #endif } while (newevent); FREE(events); return(1); } /* end of ddWindowConv3 */ /**Function******************************************************************** Synopsis [Tries all the permutations of the four variables between w and w+3 and retains the best.] Description [Tries all the permutations of the four variables between w and w+3 and retains the best. Assumes that no dead nodes are present. Returns the index of the best permutation (1-24) in case of success; 0 otherwise.] SideEffects [None] ******************************************************************************/ static int ddPermuteWindow4( DdManager * table, int w) { int x,y,z; int size,sizeNew; int best; #ifdef DD_DEBUG assert(table->dead == 0); assert(w+3 < table->size); #endif size = table->keys - table->isolated; x = w+1; y = x+1; z = y+1; /* The permutation pattern is: * (w,x)(y,z)(w,x)(x,y) * (y,z)(w,x)(y,z)(x,y) * repeated three times to get all 4! = 24 permutations. * This gives a hamiltonian circuit of Cayley's graph. * The codes to the permutation are assigned in topological order. * The permutations at lower distance from the final permutation are * assigned lower codes. This way we can choose, between * permutations that give the same size, one that requires the minimum * number of swaps from the final permutation of the hamiltonian circuit. * There is an exception to this rule: ABCD is given Code 1, to * avoid oscillation when convergence is sought. */ #define ABCD 1 best = ABCD; #define BACD 7 sizeNew = cuddSwapInPlace(table,w,x); if (sizeNew < size) { if (sizeNew == 0) return(0); best = BACD; size = sizeNew; } #define BADC 13 sizeNew = cuddSwapInPlace(table,y,z); if (sizeNew < size) { if (sizeNew == 0) return(0); best = BADC; size = sizeNew; } #define ABDC 8 sizeNew = cuddSwapInPlace(table,w,x); if (sizeNew < size || (sizeNew == size && ABDC < best)) { if (sizeNew == 0) return(0); best = ABDC; size = sizeNew; } #define ADBC 14 sizeNew = cuddSwapInPlace(table,x,y); if (sizeNew < size) { if (sizeNew == 0) return(0); best = ADBC; size = sizeNew; } #define ADCB 9 sizeNew = cuddSwapInPlace(table,y,z); if (sizeNew < size || (sizeNew == size && ADCB < best)) { if (sizeNew == 0) return(0); best = ADCB; size = sizeNew; } #define DACB 15 sizeNew = cuddSwapInPlace(table,w,x); if (sizeNew < size) { if (sizeNew == 0) return(0); best = DACB; size = sizeNew; } #define DABC 20 sizeNew = cuddSwapInPlace(table,y,z); if (sizeNew < size) { if (sizeNew == 0) return(0); best = DABC; size = sizeNew; } #define DBAC 23 sizeNew = cuddSwapInPlace(table,x,y); if (sizeNew < size) { if (sizeNew == 0) return(0); best = DBAC; size = sizeNew; } #define BDAC 19 sizeNew = cuddSwapInPlace(table,w,x); if (sizeNew < size || (sizeNew == size && BDAC < best)) { if (sizeNew == 0) return(0); best = BDAC; size = sizeNew; } #define BDCA 21 sizeNew = cuddSwapInPlace(table,y,z); if (sizeNew < size || (sizeNew == size && BDCA < best)) { if (sizeNew == 0) return(0); best = BDCA; size = sizeNew; } #define DBCA 24 sizeNew = cuddSwapInPlace(table,w,x); if (sizeNew < size) { if (sizeNew == 0) return(0); best = DBCA; size = sizeNew; } #define DCBA 22 sizeNew = cuddSwapInPlace(table,x,y); if (sizeNew < size || (sizeNew == size && DCBA < best)) { if (sizeNew == 0) return(0); best = DCBA; size = sizeNew; } #define DCAB 18 sizeNew = cuddSwapInPlace(table,y,z); if (sizeNew < size || (sizeNew == size && DCAB < best)) { if (sizeNew == 0) return(0); best = DCAB; size = sizeNew; } #define CDAB 12 sizeNew = cuddSwapInPlace(table,w,x); if (sizeNew < size || (sizeNew == size && CDAB < best)) { if (sizeNew == 0) return(0); best = CDAB; size = sizeNew; } #define CDBA 17 sizeNew = cuddSwapInPlace(table,y,z); if (sizeNew < size || (sizeNew == size && CDBA < best)) { if (sizeNew == 0) return(0); best = CDBA; size = sizeNew; } #define CBDA 11 sizeNew = cuddSwapInPlace(table,x,y); if (sizeNew < size || (sizeNew == size && CBDA < best)) { if (sizeNew == 0) return(0); best = CBDA; size = sizeNew; } #define BCDA 16 sizeNew = cuddSwapInPlace(table,w,x); if (sizeNew < size || (sizeNew == size && BCDA < best)) { if (sizeNew == 0) return(0); best = BCDA; size = sizeNew; } #define BCAD 10 sizeNew = cuddSwapInPlace(table,y,z); if (sizeNew < size || (sizeNew == size && BCAD < best)) { if (sizeNew == 0) return(0); best = BCAD; size = sizeNew; } #define CBAD 5 sizeNew = cuddSwapInPlace(table,w,x); if (sizeNew < size || (sizeNew == size && CBAD < best)) { if (sizeNew == 0) return(0); best = CBAD; size = sizeNew; } #define CABD 3 sizeNew = cuddSwapInPlace(table,x,y); if (sizeNew < size || (sizeNew == size && CABD < best)) { if (sizeNew == 0) return(0); best = CABD; size = sizeNew; } #define CADB 6 sizeNew = cuddSwapInPlace(table,y,z); if (sizeNew < size || (sizeNew == size && CADB < best)) { if (sizeNew == 0) return(0); best = CADB; size = sizeNew; } #define ACDB 4 sizeNew = cuddSwapInPlace(table,w,x); if (sizeNew < size || (sizeNew == size && ACDB < best)) { if (sizeNew == 0) return(0); best = ACDB; size = sizeNew; } #define ACBD 2 sizeNew = cuddSwapInPlace(table,y,z); if (sizeNew < size || (sizeNew == size && ACBD < best)) { if (sizeNew == 0) return(0); best = ACBD; size = sizeNew; } /* Now take the shortest route to the best permutation. ** The initial permutation is ACBD. */ switch(best) { case DBCA: if (!cuddSwapInPlace(table,y,z)) return(0); case BDCA: if (!cuddSwapInPlace(table,x,y)) return(0); case CDBA: if (!cuddSwapInPlace(table,w,x)) return(0); case ADBC: if (!cuddSwapInPlace(table,y,z)) return(0); case ABDC: if (!cuddSwapInPlace(table,x,y)) return(0); case ACDB: if (!cuddSwapInPlace(table,y,z)) return(0); case ACBD: break; case DCBA: if (!cuddSwapInPlace(table,y,z)) return(0); case BCDA: if (!cuddSwapInPlace(table,x,y)) return(0); case CBDA: if (!cuddSwapInPlace(table,w,x)) return(0); if (!cuddSwapInPlace(table,x,y)) return(0); if (!cuddSwapInPlace(table,y,z)) return(0); break; case DBAC: if (!cuddSwapInPlace(table,x,y)) return(0); case DCAB: if (!cuddSwapInPlace(table,w,x)) return(0); case DACB: if (!cuddSwapInPlace(table,y,z)) return(0); case BACD: if (!cuddSwapInPlace(table,x,y)) return(0); case CABD: if (!cuddSwapInPlace(table,w,x)) return(0); break; case DABC: if (!cuddSwapInPlace(table,y,z)) return(0); case BADC: if (!cuddSwapInPlace(table,x,y)) return(0); case CADB: if (!cuddSwapInPlace(table,w,x)) return(0); if (!cuddSwapInPlace(table,y,z)) return(0); break; case BDAC: if (!cuddSwapInPlace(table,x,y)) return(0); case CDAB: if (!cuddSwapInPlace(table,w,x)) return(0); case ADCB: if (!cuddSwapInPlace(table,y,z)) return(0); case ABCD: if (!cuddSwapInPlace(table,x,y)) return(0); break; case BCAD: if (!cuddSwapInPlace(table,x,y)) return(0); case CBAD: if (!cuddSwapInPlace(table,w,x)) return(0); if (!cuddSwapInPlace(table,x,y)) return(0); break; default: return(0); } #ifdef DD_DEBUG assert(table->keys - table->isolated == (unsigned) size); #endif return(best); } /* end of ddPermuteWindow4 */ /**Function******************************************************************** Synopsis [Reorders by applying a sliding window of width 4.] Description [Reorders by applying a sliding window of width 4. Tries all possible permutations to the variables in a window that slides from low to high. Assumes that no dead nodes are present. Returns 1 in case of success; 0 otherwise.] SideEffects [None] ******************************************************************************/ static int ddWindow4( DdManager * table, int low, int high) { int w; int res; #ifdef DD_DEBUG assert(low >= 0 && high < table->size); #endif if (high-low < 3) return(ddWindow3(table,low,high)); for (w = low; w+2 < high; w++) { res = ddPermuteWindow4(table,w); if (res == 0) return(0); #ifdef DD_STATS if (res == ABCD) { (void) fprintf(table->out,"="); } else { (void) fprintf(table->out,"-"); } fflush(table->out); #endif } return(1); } /* end of ddWindow4 */ /**Function******************************************************************** Synopsis [Reorders by repeatedly applying a sliding window of width 4.] Description [Reorders by repeatedly applying a sliding window of width 4. Tries all possible permutations to the variables in a window that slides from low to high. Assumes that no dead nodes are present. Uses an event-driven approach to determine convergence. Returns 1 in case of success; 0 otherwise.] SideEffects [None] ******************************************************************************/ static int ddWindowConv4( DdManager * table, int low, int high) { int x; int res; int nwin; int newevent; int *events; #ifdef DD_DEBUG assert(low >= 0 && high < table->size); #endif if (high-low < 3) return(ddWindowConv3(table,low,high)); nwin = high-low-2; events = ALLOC(int,nwin); if (events == NULL) { table->errorCode = CUDD_MEMORY_OUT; return(0); } for (x=0; x 2) events[x-3] = 1; newevent = 1; break; case BADC: if (x < nwin-3) events[x+3] = 1; if (x < nwin-1) events[x+1] = 1; if (x > 0) events[x-1] = 1; if (x > 2) events[x-3] = 1; newevent = 1; break; case ABDC: if (x < nwin-3) events[x+3] = 1; if (x > 0) events[x-1] = 1; newevent = 1; break; case ADBC: case ADCB: case ACDB: if (x < nwin-3) events[x+3] = 1; if (x < nwin-2) events[x+2] = 1; if (x > 0) events[x-1] = 1; if (x > 1) events[x-2] = 1; newevent = 1; break; case DACB: case DABC: case DBAC: case BDAC: case BDCA: case DBCA: case DCBA: case DCAB: case CDAB: case CDBA: case CBDA: case BCDA: case CADB: if (x < nwin-3) events[x+3] = 1; if (x < nwin-2) events[x+2] = 1; if (x < nwin-1) events[x+1] = 1; if (x > 0) events[x-1] = 1; if (x > 1) events[x-2] = 1; if (x > 2) events[x-3] = 1; newevent = 1; break; case BCAD: case CBAD: case CABD: if (x < nwin-2) events[x+2] = 1; if (x < nwin-1) events[x+1] = 1; if (x > 1) events[x-2] = 1; if (x > 2) events[x-3] = 1; newevent = 1; break; case ACBD: if (x < nwin-2) events[x+2] = 1; if (x > 1) events[x-2] = 1; newevent = 1; break; default: FREE(events); return(0); } events[x] = 0; #ifdef DD_STATS if (res == ABCD) { (void) fprintf(table->out,"="); } else { (void) fprintf(table->out,"-"); } fflush(table->out); #endif } } #ifdef DD_STATS if (newevent) { (void) fprintf(table->out,"|"); fflush(table->out); } #endif } while (newevent); FREE(events); return(1); } /* end of ddWindowConv4 */ BRiAl-1.2.12/cudd/cuddZddCount.c000066400000000000000000000237571436062512100162210ustar00rootroot00000000000000/**CFile*********************************************************************** FileName [cuddZddCount.c] PackageName [cudd] Synopsis [Procedures to count the number of minterms of a ZDD.] Description [External procedures included in this module:
        • Cudd_zddCount();
        • Cudd_zddCountDouble();
        Internal procedures included in this module:
        Static procedures included in this module:
        • cuddZddCountStep();
        • cuddZddCountDoubleStep();
        • st_zdd_count_dbl_free()
        • st_zdd_countfree()
        ] SeeAlso [] Author [Hyong-Kyoon Shin, In-Ho Moon] Copyright [Copyright (c) 1995-2012, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.] ******************************************************************************/ #include "util.h" #include "cuddInt.h" /*---------------------------------------------------------------------------*/ /* Constant declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Stucture declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Type declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Variable declarations */ /*---------------------------------------------------------------------------*/ #ifndef lint static char rcsid[] DD_UNUSED = "$Id: cuddZddCount.c,v 1.15 2012/02/05 01:07:19 fabio Exp $"; #endif /*---------------------------------------------------------------------------*/ /* Macro declarations */ /*---------------------------------------------------------------------------*/ #ifdef __cplusplus extern "C" { #endif /**AutomaticStart*************************************************************/ /*---------------------------------------------------------------------------*/ /* Static function prototypes */ /*---------------------------------------------------------------------------*/ static int cuddZddCountStep (DdNode *P, st_table *table, DdNode *base, DdNode *empty); static double cuddZddCountDoubleStep (DdNode *P, st_table *table, DdNode *base, DdNode *empty); static enum st_retval st_zdd_countfree (char *key, char *value, char *arg); static enum st_retval st_zdd_count_dbl_free (char *key, char *value, char *arg); /**AutomaticEnd***************************************************************/ #ifdef __cplusplus } #endif /*---------------------------------------------------------------------------*/ /* Definition of exported functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Counts the number of minterms in a ZDD.] Description [Returns an integer representing the number of minterms in a ZDD.] SideEffects [None] SeeAlso [Cudd_zddCountDouble] ******************************************************************************/ int Cudd_zddCount( DdManager * zdd, DdNode * P) { st_table *table; int res; DdNode *base, *empty; base = DD_ONE(zdd); empty = DD_ZERO(zdd); table = st_init_table(st_ptrcmp, st_ptrhash); if (table == NULL) return(CUDD_OUT_OF_MEM); res = cuddZddCountStep(P, table, base, empty); if (res == CUDD_OUT_OF_MEM) { zdd->errorCode = CUDD_MEMORY_OUT; } st_foreach(table, st_zdd_countfree, NIL(char)); st_free_table(table); return(res); } /* end of Cudd_zddCount */ /**Function******************************************************************** Synopsis [Counts the number of minterms of a ZDD.] Description [Counts the number of minterms of a ZDD. The result is returned as a double. If the procedure runs out of memory, it returns (double) CUDD_OUT_OF_MEM. This procedure is used in Cudd_zddCountMinterm.] SideEffects [None] SeeAlso [Cudd_zddCountMinterm Cudd_zddCount] ******************************************************************************/ double Cudd_zddCountDouble( DdManager * zdd, DdNode * P) { st_table *table; double res; DdNode *base, *empty; base = DD_ONE(zdd); empty = DD_ZERO(zdd); table = st_init_table(st_ptrcmp, st_ptrhash); if (table == NULL) return((double)CUDD_OUT_OF_MEM); res = cuddZddCountDoubleStep(P, table, base, empty); if (res == (double)CUDD_OUT_OF_MEM) { zdd->errorCode = CUDD_MEMORY_OUT; } st_foreach(table, st_zdd_count_dbl_free, NIL(char)); st_free_table(table); return(res); } /* end of Cudd_zddCountDouble */ /*---------------------------------------------------------------------------*/ /* Definition of internal functions */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Definition of static functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_zddCount.] Description [] SideEffects [None] SeeAlso [] ******************************************************************************/ static int cuddZddCountStep( DdNode * P, st_table * table, DdNode * base, DdNode * empty) { int res; int *dummy; if (P == empty) return(0); if (P == base) return(1); /* Check cache. */ if (st_lookup(table, P, &dummy)) { res = *dummy; return(res); } res = cuddZddCountStep(cuddE(P), table, base, empty) + cuddZddCountStep(cuddT(P), table, base, empty); dummy = ALLOC(int, 1); if (dummy == NULL) { return(CUDD_OUT_OF_MEM); } *dummy = res; if (st_insert(table, (char *)P, (char *)dummy) == ST_OUT_OF_MEM) { FREE(dummy); return(CUDD_OUT_OF_MEM); } return(res); } /* end of cuddZddCountStep */ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_zddCountDouble.] Description [] SideEffects [None] SeeAlso [] ******************************************************************************/ static double cuddZddCountDoubleStep( DdNode * P, st_table * table, DdNode * base, DdNode * empty) { double res; double *dummy; if (P == empty) return((double)0.0); if (P == base) return((double)1.0); /* Check cache */ if (st_lookup(table, P, &dummy)) { res = *dummy; return(res); } res = cuddZddCountDoubleStep(cuddE(P), table, base, empty) + cuddZddCountDoubleStep(cuddT(P), table, base, empty); dummy = ALLOC(double, 1); if (dummy == NULL) { return((double)CUDD_OUT_OF_MEM); } *dummy = res; if (st_insert(table, (char *)P, (char *)dummy) == ST_OUT_OF_MEM) { FREE(dummy); return((double)CUDD_OUT_OF_MEM); } return(res); } /* end of cuddZddCountDoubleStep */ /**Function******************************************************************** Synopsis [Frees the memory associated with the computed table of Cudd_zddCount.] Description [] SideEffects [None] SeeAlso [] ******************************************************************************/ static enum st_retval st_zdd_countfree( char * key, char * value, char * arg) { int *d; d = (int *)value; FREE(d); return(ST_CONTINUE); } /* end of st_zdd_countfree */ /**Function******************************************************************** Synopsis [Frees the memory associated with the computed table of Cudd_zddCountDouble.] Description [] SideEffects [None] SeeAlso [] ******************************************************************************/ static enum st_retval st_zdd_count_dbl_free( char * key, char * value, char * arg) { double *d; d = (double *)value; FREE(d); return(ST_CONTINUE); } /* end of st_zdd_count_dbl_free */ BRiAl-1.2.12/cudd/cuddZddFuncs.c000066400000000000000000001201641436062512100161750ustar00rootroot00000000000000/**CFile*********************************************************************** FileName [cuddZddFuncs.c] PackageName [cudd] Synopsis [Functions to manipulate covers represented as ZDDs.] Description [External procedures included in this module:
        • Cudd_zddProduct();
        • Cudd_zddUnateProduct();
        • Cudd_zddWeakDiv();
        • Cudd_zddWeakDivF();
        • Cudd_zddDivide();
        • Cudd_zddDivideF();
        • Cudd_zddComplement();
        Internal procedures included in this module:
        • cuddZddProduct();
        • cuddZddUnateProduct();
        • cuddZddWeakDiv();
        • cuddZddWeakDivF();
        • cuddZddDivide();
        • cuddZddDivideF();
        • cuddZddGetCofactors3()
        • cuddZddGetCofactors2()
        • cuddZddComplement();
        • cuddZddGetPosVarIndex();
        • cuddZddGetNegVarIndex();
        • cuddZddGetPosVarLevel();
        • cuddZddGetNegVarLevel();
        Static procedures included in this module:
        ] SeeAlso [] Author [In-Ho Moon] Copyright [Copyright (c) 1995-2012, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.] ******************************************************************************/ #include "util.h" #include "cuddInt.h" #ifndef PBORI_FORCE_ORIGINAL_CUDD #include #endif /*---------------------------------------------------------------------------*/ /* Constant declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Stucture declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Type declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Variable declarations */ /*---------------------------------------------------------------------------*/ #ifndef lint static char rcsid[] DD_UNUSED = "$Id: cuddZddFuncs.c,v 1.17 2012/02/05 01:07:19 fabio Exp $"; #endif /*---------------------------------------------------------------------------*/ /* Macro declarations */ /*---------------------------------------------------------------------------*/ /**AutomaticStart*************************************************************/ /*---------------------------------------------------------------------------*/ /* Static function prototypes */ /*---------------------------------------------------------------------------*/ /**AutomaticEnd***************************************************************/ /*---------------------------------------------------------------------------*/ /* Definition of exported functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Computes the product of two covers represented by ZDDs.] Description [Computes the product of two covers represented by ZDDs. The result is also a ZDD. Returns a pointer to the result if successful; NULL otherwise. The covers on which Cudd_zddProduct operates use two ZDD variables for each function variable (one ZDD variable for each literal of the variable). Those two ZDD variables should be adjacent in the order.] SideEffects [None] SeeAlso [Cudd_zddUnateProduct] ******************************************************************************/ DdNode * Cudd_zddProduct( DdManager * dd, DdNode * f, DdNode * g) { DdNode *res; do { dd->reordered = 0; res = cuddZddProduct(dd, f, g); } while (dd->reordered == 1); return(res); } /* end of Cudd_zddProduct */ /**Function******************************************************************** Synopsis [Computes the product of two unate covers.] Description [Computes the product of two unate covers represented as ZDDs. Unate covers use one ZDD variable for each BDD variable. Returns a pointer to the result if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_zddProduct] ******************************************************************************/ DdNode * Cudd_zddUnateProduct( DdManager * dd, DdNode * f, DdNode * g) { DdNode *res; do { dd->reordered = 0; res = cuddZddUnateProduct(dd, f, g); } while (dd->reordered == 1); return(res); } /* end of Cudd_zddUnateProduct */ /**Function******************************************************************** Synopsis [Applies weak division to two covers.] Description [Applies weak division to two ZDDs representing two covers. Returns a pointer to the ZDD representing the result if successful; NULL otherwise. The result of weak division depends on the variable order. The covers on which Cudd_zddWeakDiv operates use two ZDD variables for each function variable (one ZDD variable for each literal of the variable). Those two ZDD variables should be adjacent in the order.] SideEffects [None] SeeAlso [Cudd_zddDivide] ******************************************************************************/ DdNode * Cudd_zddWeakDiv( DdManager * dd, DdNode * f, DdNode * g) { DdNode *res; do { dd->reordered = 0; res = cuddZddWeakDiv(dd, f, g); } while (dd->reordered == 1); return(res); } /* end of Cudd_zddWeakDiv */ /**Function******************************************************************** Synopsis [Computes the quotient of two unate covers.] Description [Computes the quotient of two unate covers represented by ZDDs. Unate covers use one ZDD variable for each BDD variable. Returns a pointer to the resulting ZDD if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_zddWeakDiv] ******************************************************************************/ DdNode * Cudd_zddDivide( DdManager * dd, DdNode * f, DdNode * g) { DdNode *res; do { dd->reordered = 0; res = cuddZddDivide(dd, f, g); } while (dd->reordered == 1); return(res); } /* end of Cudd_zddDivide */ /**Function******************************************************************** Synopsis [Modified version of Cudd_zddWeakDiv.] Description [Modified version of Cudd_zddWeakDiv. This function may disappear in future releases.] SideEffects [None] SeeAlso [Cudd_zddWeakDiv] ******************************************************************************/ DdNode * Cudd_zddWeakDivF( DdManager * dd, DdNode * f, DdNode * g) { DdNode *res; do { dd->reordered = 0; res = cuddZddWeakDivF(dd, f, g); } while (dd->reordered == 1); return(res); } /* end of Cudd_zddWeakDivF */ /**Function******************************************************************** Synopsis [Modified version of Cudd_zddDivide.] Description [Modified version of Cudd_zddDivide. This function may disappear in future releases.] SideEffects [None] SeeAlso [] ******************************************************************************/ DdNode * Cudd_zddDivideF( DdManager * dd, DdNode * f, DdNode * g) { DdNode *res; do { dd->reordered = 0; res = cuddZddDivideF(dd, f, g); } while (dd->reordered == 1); return(res); } /* end of Cudd_zddDivideF */ #ifdef PBORI_FORCE_ORIGINAL_CUDD /**Function******************************************************************** Synopsis [Computes a complement cover for a ZDD node.] Description [Computes a complement cover for a ZDD node. For lack of a better method, we first extract the function BDD from the ZDD cover, then make the complement of the ZDD cover from the complement of the BDD node by using ISOP. Returns a pointer to the resulting cover if successful; NULL otherwise. The result depends on current variable order.] SideEffects [The result depends on current variable order.] SeeAlso [] ******************************************************************************/ DdNode * Cudd_zddComplement( DdManager *dd, DdNode *node) { DdNode *b, *isop, *zdd_I; /* Check cache */ zdd_I = cuddCacheLookup1Zdd(dd, cuddZddComplement, node); if (zdd_I) return(zdd_I); b = Cudd_MakeBddFromZddCover(dd, node); if (!b) return(NULL); Cudd_Ref(b); isop = Cudd_zddIsop(dd, Cudd_Not(b), Cudd_Not(b), &zdd_I); if (!isop) { Cudd_RecursiveDeref(dd, b); return(NULL); } Cudd_Ref(isop); Cudd_Ref(zdd_I); Cudd_RecursiveDeref(dd, b); Cudd_RecursiveDeref(dd, isop); cuddCacheInsert1(dd, cuddZddComplement, node, zdd_I); Cudd_Deref(zdd_I); return(zdd_I); } /* end of Cudd_zddComplement */ #endif /*---------------------------------------------------------------------------*/ /* Definition of internal functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_zddProduct.] Description [] SideEffects [None] SeeAlso [Cudd_zddProduct] ******************************************************************************/ DdNode * cuddZddProduct( DdManager * dd, DdNode * f, DdNode * g) { int v, top_f, top_g; DdNode *tmp, *term1, *term2, *term3; DdNode *f0, *f1, *fd, *g0, *g1, *gd; DdNode *R0, *R1, *Rd, *N0, *N1; DdNode *r; DdNode *one = DD_ONE(dd); DdNode *zero = DD_ZERO(dd); int flag; int pv, nv; statLine(dd); if (f == zero || g == zero) return(zero); if (f == one) return(g); if (g == one) return(f); top_f = dd->permZ[f->index]; top_g = dd->permZ[g->index]; if (top_f > top_g) return(cuddZddProduct(dd, g, f)); /* Check cache */ r = cuddCacheLookup2Zdd(dd, cuddZddProduct, f, g); if (r) return(r); v = f->index; /* either yi or zi */ flag = cuddZddGetCofactors3(dd, f, v, &f1, &f0, &fd); if (flag == 1) return(NULL); Cudd_Ref(f1); Cudd_Ref(f0); Cudd_Ref(fd); flag = cuddZddGetCofactors3(dd, g, v, &g1, &g0, &gd); if (flag == 1) { Cudd_RecursiveDerefZdd(dd, f1); Cudd_RecursiveDerefZdd(dd, f0); Cudd_RecursiveDerefZdd(dd, fd); return(NULL); } Cudd_Ref(g1); Cudd_Ref(g0); Cudd_Ref(gd); pv = cuddZddGetPosVarIndex(dd, v); nv = cuddZddGetNegVarIndex(dd, v); Rd = cuddZddProduct(dd, fd, gd); if (Rd == NULL) { Cudd_RecursiveDerefZdd(dd, f1); Cudd_RecursiveDerefZdd(dd, f0); Cudd_RecursiveDerefZdd(dd, fd); Cudd_RecursiveDerefZdd(dd, g1); Cudd_RecursiveDerefZdd(dd, g0); Cudd_RecursiveDerefZdd(dd, gd); return(NULL); } Cudd_Ref(Rd); term1 = cuddZddProduct(dd, f0, g0); if (term1 == NULL) { Cudd_RecursiveDerefZdd(dd, f1); Cudd_RecursiveDerefZdd(dd, f0); Cudd_RecursiveDerefZdd(dd, fd); Cudd_RecursiveDerefZdd(dd, g1); Cudd_RecursiveDerefZdd(dd, g0); Cudd_RecursiveDerefZdd(dd, gd); Cudd_RecursiveDerefZdd(dd, Rd); return(NULL); } Cudd_Ref(term1); term2 = cuddZddProduct(dd, f0, gd); if (term2 == NULL) { Cudd_RecursiveDerefZdd(dd, f1); Cudd_RecursiveDerefZdd(dd, f0); Cudd_RecursiveDerefZdd(dd, fd); Cudd_RecursiveDerefZdd(dd, g1); Cudd_RecursiveDerefZdd(dd, g0); Cudd_RecursiveDerefZdd(dd, gd); Cudd_RecursiveDerefZdd(dd, Rd); Cudd_RecursiveDerefZdd(dd, term1); return(NULL); } Cudd_Ref(term2); term3 = cuddZddProduct(dd, fd, g0); if (term3 == NULL) { Cudd_RecursiveDerefZdd(dd, f1); Cudd_RecursiveDerefZdd(dd, f0); Cudd_RecursiveDerefZdd(dd, fd); Cudd_RecursiveDerefZdd(dd, g1); Cudd_RecursiveDerefZdd(dd, g0); Cudd_RecursiveDerefZdd(dd, gd); Cudd_RecursiveDerefZdd(dd, Rd); Cudd_RecursiveDerefZdd(dd, term1); Cudd_RecursiveDerefZdd(dd, term2); return(NULL); } Cudd_Ref(term3); Cudd_RecursiveDerefZdd(dd, f0); Cudd_RecursiveDerefZdd(dd, g0); tmp = cuddZddUnion(dd, term1, term2); if (tmp == NULL) { Cudd_RecursiveDerefZdd(dd, f1); Cudd_RecursiveDerefZdd(dd, fd); Cudd_RecursiveDerefZdd(dd, g1); Cudd_RecursiveDerefZdd(dd, gd); Cudd_RecursiveDerefZdd(dd, Rd); Cudd_RecursiveDerefZdd(dd, term1); Cudd_RecursiveDerefZdd(dd, term2); Cudd_RecursiveDerefZdd(dd, term3); return(NULL); } Cudd_Ref(tmp); Cudd_RecursiveDerefZdd(dd, term1); Cudd_RecursiveDerefZdd(dd, term2); R0 = cuddZddUnion(dd, tmp, term3); if (R0 == NULL) { Cudd_RecursiveDerefZdd(dd, f1); Cudd_RecursiveDerefZdd(dd, fd); Cudd_RecursiveDerefZdd(dd, g1); Cudd_RecursiveDerefZdd(dd, gd); Cudd_RecursiveDerefZdd(dd, Rd); Cudd_RecursiveDerefZdd(dd, term3); Cudd_RecursiveDerefZdd(dd, tmp); return(NULL); } Cudd_Ref(R0); Cudd_RecursiveDerefZdd(dd, tmp); Cudd_RecursiveDerefZdd(dd, term3); N0 = cuddZddGetNode(dd, nv, R0, Rd); /* nv = zi */ if (N0 == NULL) { Cudd_RecursiveDerefZdd(dd, f1); Cudd_RecursiveDerefZdd(dd, fd); Cudd_RecursiveDerefZdd(dd, g1); Cudd_RecursiveDerefZdd(dd, gd); Cudd_RecursiveDerefZdd(dd, Rd); Cudd_RecursiveDerefZdd(dd, R0); return(NULL); } Cudd_Ref(N0); Cudd_RecursiveDerefZdd(dd, R0); Cudd_RecursiveDerefZdd(dd, Rd); term1 = cuddZddProduct(dd, f1, g1); if (term1 == NULL) { Cudd_RecursiveDerefZdd(dd, f1); Cudd_RecursiveDerefZdd(dd, fd); Cudd_RecursiveDerefZdd(dd, g1); Cudd_RecursiveDerefZdd(dd, gd); Cudd_RecursiveDerefZdd(dd, N0); return(NULL); } Cudd_Ref(term1); term2 = cuddZddProduct(dd, f1, gd); if (term2 == NULL) { Cudd_RecursiveDerefZdd(dd, f1); Cudd_RecursiveDerefZdd(dd, fd); Cudd_RecursiveDerefZdd(dd, g1); Cudd_RecursiveDerefZdd(dd, gd); Cudd_RecursiveDerefZdd(dd, N0); Cudd_RecursiveDerefZdd(dd, term1); return(NULL); } Cudd_Ref(term2); term3 = cuddZddProduct(dd, fd, g1); if (term3 == NULL) { Cudd_RecursiveDerefZdd(dd, f1); Cudd_RecursiveDerefZdd(dd, fd); Cudd_RecursiveDerefZdd(dd, g1); Cudd_RecursiveDerefZdd(dd, gd); Cudd_RecursiveDerefZdd(dd, N0); Cudd_RecursiveDerefZdd(dd, term1); Cudd_RecursiveDerefZdd(dd, term2); return(NULL); } Cudd_Ref(term3); Cudd_RecursiveDerefZdd(dd, f1); Cudd_RecursiveDerefZdd(dd, g1); Cudd_RecursiveDerefZdd(dd, fd); Cudd_RecursiveDerefZdd(dd, gd); tmp = cuddZddUnion(dd, term1, term2); if (tmp == NULL) { Cudd_RecursiveDerefZdd(dd, N0); Cudd_RecursiveDerefZdd(dd, term1); Cudd_RecursiveDerefZdd(dd, term2); Cudd_RecursiveDerefZdd(dd, term3); return(NULL); } Cudd_Ref(tmp); Cudd_RecursiveDerefZdd(dd, term1); Cudd_RecursiveDerefZdd(dd, term2); R1 = cuddZddUnion(dd, tmp, term3); if (R1 == NULL) { Cudd_RecursiveDerefZdd(dd, N0); Cudd_RecursiveDerefZdd(dd, term3); Cudd_RecursiveDerefZdd(dd, tmp); return(NULL); } Cudd_Ref(R1); Cudd_RecursiveDerefZdd(dd, tmp); Cudd_RecursiveDerefZdd(dd, term3); N1 = cuddZddGetNode(dd, pv, R1, N0); /* pv = yi */ if (N1 == NULL) { Cudd_RecursiveDerefZdd(dd, N0); Cudd_RecursiveDerefZdd(dd, R1); return(NULL); } Cudd_Ref(N1); Cudd_RecursiveDerefZdd(dd, R1); Cudd_RecursiveDerefZdd(dd, N0); cuddCacheInsert2(dd, cuddZddProduct, f, g, N1); Cudd_Deref(N1); return(N1); } /* end of cuddZddProduct */ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_zddUnateProduct.] Description [] SideEffects [None] SeeAlso [Cudd_zddUnateProduct] ******************************************************************************/ DdNode * cuddZddUnateProduct( DdManager * dd, DdNode * f, DdNode * g) { int v, top_f, top_g; DdNode *term1, *term2, *term3, *term4; DdNode *sum1, *sum2; DdNode *f0, *f1, *g0, *g1; DdNode *r; DdNode *one = DD_ONE(dd); DdNode *zero = DD_ZERO(dd); int flag; statLine(dd); if (f == zero || g == zero) return(zero); if (f == one) return(g); if (g == one) return(f); top_f = dd->permZ[f->index]; top_g = dd->permZ[g->index]; if (top_f > top_g) return(cuddZddUnateProduct(dd, g, f)); /* Check cache */ r = cuddCacheLookup2Zdd(dd, cuddZddUnateProduct, f, g); if (r) return(r); v = f->index; /* either yi or zi */ flag = cuddZddGetCofactors2(dd, f, v, &f1, &f0); if (flag == 1) return(NULL); Cudd_Ref(f1); Cudd_Ref(f0); flag = cuddZddGetCofactors2(dd, g, v, &g1, &g0); if (flag == 1) { Cudd_RecursiveDerefZdd(dd, f1); Cudd_RecursiveDerefZdd(dd, f0); return(NULL); } Cudd_Ref(g1); Cudd_Ref(g0); term1 = cuddZddUnateProduct(dd, f1, g1); if (term1 == NULL) { Cudd_RecursiveDerefZdd(dd, f1); Cudd_RecursiveDerefZdd(dd, f0); Cudd_RecursiveDerefZdd(dd, g1); Cudd_RecursiveDerefZdd(dd, g0); return(NULL); } Cudd_Ref(term1); term2 = cuddZddUnateProduct(dd, f1, g0); if (term2 == NULL) { Cudd_RecursiveDerefZdd(dd, f1); Cudd_RecursiveDerefZdd(dd, f0); Cudd_RecursiveDerefZdd(dd, g1); Cudd_RecursiveDerefZdd(dd, g0); Cudd_RecursiveDerefZdd(dd, term1); return(NULL); } Cudd_Ref(term2); term3 = cuddZddUnateProduct(dd, f0, g1); if (term3 == NULL) { Cudd_RecursiveDerefZdd(dd, f1); Cudd_RecursiveDerefZdd(dd, f0); Cudd_RecursiveDerefZdd(dd, g1); Cudd_RecursiveDerefZdd(dd, g0); Cudd_RecursiveDerefZdd(dd, term1); Cudd_RecursiveDerefZdd(dd, term2); return(NULL); } Cudd_Ref(term3); term4 = cuddZddUnateProduct(dd, f0, g0); if (term4 == NULL) { Cudd_RecursiveDerefZdd(dd, f1); Cudd_RecursiveDerefZdd(dd, f0); Cudd_RecursiveDerefZdd(dd, g1); Cudd_RecursiveDerefZdd(dd, g0); Cudd_RecursiveDerefZdd(dd, term1); Cudd_RecursiveDerefZdd(dd, term2); Cudd_RecursiveDerefZdd(dd, term3); return(NULL); } Cudd_Ref(term4); Cudd_RecursiveDerefZdd(dd, f1); Cudd_RecursiveDerefZdd(dd, f0); Cudd_RecursiveDerefZdd(dd, g1); Cudd_RecursiveDerefZdd(dd, g0); sum1 = cuddZddUnion(dd, term1, term2); if (sum1 == NULL) { Cudd_RecursiveDerefZdd(dd, term1); Cudd_RecursiveDerefZdd(dd, term2); Cudd_RecursiveDerefZdd(dd, term3); Cudd_RecursiveDerefZdd(dd, term4); return(NULL); } Cudd_Ref(sum1); Cudd_RecursiveDerefZdd(dd, term1); Cudd_RecursiveDerefZdd(dd, term2); sum2 = cuddZddUnion(dd, sum1, term3); if (sum2 == NULL) { Cudd_RecursiveDerefZdd(dd, term3); Cudd_RecursiveDerefZdd(dd, term4); Cudd_RecursiveDerefZdd(dd, sum1); return(NULL); } Cudd_Ref(sum2); Cudd_RecursiveDerefZdd(dd, sum1); Cudd_RecursiveDerefZdd(dd, term3); r = cuddZddGetNode(dd, v, sum2, term4); if (r == NULL) { Cudd_RecursiveDerefZdd(dd, term4); Cudd_RecursiveDerefZdd(dd, sum2); return(NULL); } Cudd_Ref(r); Cudd_RecursiveDerefZdd(dd, sum2); Cudd_RecursiveDerefZdd(dd, term4); cuddCacheInsert2(dd, cuddZddUnateProduct, f, g, r); Cudd_Deref(r); return(r); } /* end of cuddZddUnateProduct */ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_zddWeakDiv.] Description [] SideEffects [None] SeeAlso [Cudd_zddWeakDiv] ******************************************************************************/ DdNode * cuddZddWeakDiv( DdManager * dd, DdNode * f, DdNode * g) { int v; DdNode *one = DD_ONE(dd); DdNode *zero = DD_ZERO(dd); DdNode *f0, *f1, *fd, *g0, *g1, *gd; DdNode *q, *tmp; DdNode *r; int flag; statLine(dd); if (g == one) return(f); if (f == zero || f == one) return(zero); if (f == g) return(one); /* Check cache. */ r = cuddCacheLookup2Zdd(dd, cuddZddWeakDiv, f, g); if (r) return(r); v = g->index; flag = cuddZddGetCofactors3(dd, f, v, &f1, &f0, &fd); if (flag == 1) return(NULL); Cudd_Ref(f1); Cudd_Ref(f0); Cudd_Ref(fd); flag = cuddZddGetCofactors3(dd, g, v, &g1, &g0, &gd); if (flag == 1) { Cudd_RecursiveDerefZdd(dd, f1); Cudd_RecursiveDerefZdd(dd, f0); Cudd_RecursiveDerefZdd(dd, fd); return(NULL); } Cudd_Ref(g1); Cudd_Ref(g0); Cudd_Ref(gd); q = g; if (g0 != zero) { q = cuddZddWeakDiv(dd, f0, g0); if (q == NULL) { Cudd_RecursiveDerefZdd(dd, f1); Cudd_RecursiveDerefZdd(dd, f0); Cudd_RecursiveDerefZdd(dd, fd); Cudd_RecursiveDerefZdd(dd, g1); Cudd_RecursiveDerefZdd(dd, g0); Cudd_RecursiveDerefZdd(dd, gd); return(NULL); } Cudd_Ref(q); } else Cudd_Ref(q); Cudd_RecursiveDerefZdd(dd, f0); Cudd_RecursiveDerefZdd(dd, g0); if (q == zero) { Cudd_RecursiveDerefZdd(dd, f1); Cudd_RecursiveDerefZdd(dd, g1); Cudd_RecursiveDerefZdd(dd, fd); Cudd_RecursiveDerefZdd(dd, gd); cuddCacheInsert2(dd, cuddZddWeakDiv, f, g, zero); Cudd_Deref(q); return(zero); } if (g1 != zero) { Cudd_RecursiveDerefZdd(dd, q); tmp = cuddZddWeakDiv(dd, f1, g1); if (tmp == NULL) { Cudd_RecursiveDerefZdd(dd, f1); Cudd_RecursiveDerefZdd(dd, g1); Cudd_RecursiveDerefZdd(dd, fd); Cudd_RecursiveDerefZdd(dd, gd); return(NULL); } Cudd_Ref(tmp); Cudd_RecursiveDerefZdd(dd, f1); Cudd_RecursiveDerefZdd(dd, g1); if (q == g) q = tmp; else { q = cuddZddIntersect(dd, q, tmp); if (q == NULL) { Cudd_RecursiveDerefZdd(dd, fd); Cudd_RecursiveDerefZdd(dd, gd); return(NULL); } Cudd_Ref(q); Cudd_RecursiveDerefZdd(dd, tmp); } } else { Cudd_RecursiveDerefZdd(dd, f1); Cudd_RecursiveDerefZdd(dd, g1); } if (q == zero) { Cudd_RecursiveDerefZdd(dd, fd); Cudd_RecursiveDerefZdd(dd, gd); cuddCacheInsert2(dd, cuddZddWeakDiv, f, g, zero); Cudd_Deref(q); return(zero); } if (gd != zero) { Cudd_RecursiveDerefZdd(dd, q); tmp = cuddZddWeakDiv(dd, fd, gd); if (tmp == NULL) { Cudd_RecursiveDerefZdd(dd, fd); Cudd_RecursiveDerefZdd(dd, gd); return(NULL); } Cudd_Ref(tmp); Cudd_RecursiveDerefZdd(dd, fd); Cudd_RecursiveDerefZdd(dd, gd); if (q == g) q = tmp; else { q = cuddZddIntersect(dd, q, tmp); if (q == NULL) { Cudd_RecursiveDerefZdd(dd, tmp); return(NULL); } Cudd_Ref(q); Cudd_RecursiveDerefZdd(dd, tmp); } } else { Cudd_RecursiveDerefZdd(dd, fd); Cudd_RecursiveDerefZdd(dd, gd); } cuddCacheInsert2(dd, cuddZddWeakDiv, f, g, q); Cudd_Deref(q); return(q); } /* end of cuddZddWeakDiv */ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_zddWeakDivF.] Description [] SideEffects [None] SeeAlso [Cudd_zddWeakDivF] ******************************************************************************/ DdNode * cuddZddWeakDivF( DdManager * dd, DdNode * f, DdNode * g) { int v, top_f, top_g, vf, vg; DdNode *one = DD_ONE(dd); DdNode *zero = DD_ZERO(dd); DdNode *f0, *f1, *fd, *g0, *g1, *gd; DdNode *q, *tmp; DdNode *r; DdNode *term1, *term0, *termd; int flag; int pv, nv; statLine(dd); if (g == one) return(f); if (f == zero || f == one) return(zero); if (f == g) return(one); /* Check cache. */ r = cuddCacheLookup2Zdd(dd, cuddZddWeakDivF, f, g); if (r) return(r); top_f = dd->permZ[f->index]; top_g = dd->permZ[g->index]; vf = top_f >> 1; vg = top_g >> 1; v = ddMin(top_f, top_g); if (v == top_f && vf < vg) { v = f->index; flag = cuddZddGetCofactors3(dd, f, v, &f1, &f0, &fd); if (flag == 1) return(NULL); Cudd_Ref(f1); Cudd_Ref(f0); Cudd_Ref(fd); pv = cuddZddGetPosVarIndex(dd, v); nv = cuddZddGetNegVarIndex(dd, v); term1 = cuddZddWeakDivF(dd, f1, g); if (term1 == NULL) { Cudd_RecursiveDerefZdd(dd, f1); Cudd_RecursiveDerefZdd(dd, f0); Cudd_RecursiveDerefZdd(dd, fd); return(NULL); } Cudd_Ref(term1); Cudd_RecursiveDerefZdd(dd, f1); term0 = cuddZddWeakDivF(dd, f0, g); if (term0 == NULL) { Cudd_RecursiveDerefZdd(dd, f0); Cudd_RecursiveDerefZdd(dd, fd); Cudd_RecursiveDerefZdd(dd, term1); return(NULL); } Cudd_Ref(term0); Cudd_RecursiveDerefZdd(dd, f0); termd = cuddZddWeakDivF(dd, fd, g); if (termd == NULL) { Cudd_RecursiveDerefZdd(dd, fd); Cudd_RecursiveDerefZdd(dd, term1); Cudd_RecursiveDerefZdd(dd, term0); return(NULL); } Cudd_Ref(termd); Cudd_RecursiveDerefZdd(dd, fd); tmp = cuddZddGetNode(dd, nv, term0, termd); /* nv = zi */ if (tmp == NULL) { Cudd_RecursiveDerefZdd(dd, term1); Cudd_RecursiveDerefZdd(dd, term0); Cudd_RecursiveDerefZdd(dd, termd); return(NULL); } Cudd_Ref(tmp); Cudd_RecursiveDerefZdd(dd, term0); Cudd_RecursiveDerefZdd(dd, termd); q = cuddZddGetNode(dd, pv, term1, tmp); /* pv = yi */ if (q == NULL) { Cudd_RecursiveDerefZdd(dd, term1); Cudd_RecursiveDerefZdd(dd, tmp); return(NULL); } Cudd_Ref(q); Cudd_RecursiveDerefZdd(dd, term1); Cudd_RecursiveDerefZdd(dd, tmp); cuddCacheInsert2(dd, cuddZddWeakDivF, f, g, q); Cudd_Deref(q); return(q); } if (v == top_f) v = f->index; else v = g->index; flag = cuddZddGetCofactors3(dd, f, v, &f1, &f0, &fd); if (flag == 1) return(NULL); Cudd_Ref(f1); Cudd_Ref(f0); Cudd_Ref(fd); flag = cuddZddGetCofactors3(dd, g, v, &g1, &g0, &gd); if (flag == 1) { Cudd_RecursiveDerefZdd(dd, f1); Cudd_RecursiveDerefZdd(dd, f0); Cudd_RecursiveDerefZdd(dd, fd); return(NULL); } Cudd_Ref(g1); Cudd_Ref(g0); Cudd_Ref(gd); q = g; if (g0 != zero) { q = cuddZddWeakDivF(dd, f0, g0); if (q == NULL) { Cudd_RecursiveDerefZdd(dd, f1); Cudd_RecursiveDerefZdd(dd, f0); Cudd_RecursiveDerefZdd(dd, fd); Cudd_RecursiveDerefZdd(dd, g1); Cudd_RecursiveDerefZdd(dd, g0); Cudd_RecursiveDerefZdd(dd, gd); return(NULL); } Cudd_Ref(q); } else Cudd_Ref(q); Cudd_RecursiveDerefZdd(dd, f0); Cudd_RecursiveDerefZdd(dd, g0); if (q == zero) { Cudd_RecursiveDerefZdd(dd, f1); Cudd_RecursiveDerefZdd(dd, g1); Cudd_RecursiveDerefZdd(dd, fd); Cudd_RecursiveDerefZdd(dd, gd); cuddCacheInsert2(dd, cuddZddWeakDivF, f, g, zero); Cudd_Deref(q); return(zero); } if (g1 != zero) { Cudd_RecursiveDerefZdd(dd, q); tmp = cuddZddWeakDivF(dd, f1, g1); if (tmp == NULL) { Cudd_RecursiveDerefZdd(dd, f1); Cudd_RecursiveDerefZdd(dd, g1); Cudd_RecursiveDerefZdd(dd, fd); Cudd_RecursiveDerefZdd(dd, gd); return(NULL); } Cudd_Ref(tmp); Cudd_RecursiveDerefZdd(dd, f1); Cudd_RecursiveDerefZdd(dd, g1); if (q == g) q = tmp; else { q = cuddZddIntersect(dd, q, tmp); if (q == NULL) { Cudd_RecursiveDerefZdd(dd, fd); Cudd_RecursiveDerefZdd(dd, gd); return(NULL); } Cudd_Ref(q); Cudd_RecursiveDerefZdd(dd, tmp); } } else { Cudd_RecursiveDerefZdd(dd, f1); Cudd_RecursiveDerefZdd(dd, g1); } if (q == zero) { Cudd_RecursiveDerefZdd(dd, fd); Cudd_RecursiveDerefZdd(dd, gd); cuddCacheInsert2(dd, cuddZddWeakDivF, f, g, zero); Cudd_Deref(q); return(zero); } if (gd != zero) { Cudd_RecursiveDerefZdd(dd, q); tmp = cuddZddWeakDivF(dd, fd, gd); if (tmp == NULL) { Cudd_RecursiveDerefZdd(dd, fd); Cudd_RecursiveDerefZdd(dd, gd); return(NULL); } Cudd_Ref(tmp); Cudd_RecursiveDerefZdd(dd, fd); Cudd_RecursiveDerefZdd(dd, gd); if (q == g) q = tmp; else { q = cuddZddIntersect(dd, q, tmp); if (q == NULL) { Cudd_RecursiveDerefZdd(dd, tmp); return(NULL); } Cudd_Ref(q); Cudd_RecursiveDerefZdd(dd, tmp); } } else { Cudd_RecursiveDerefZdd(dd, fd); Cudd_RecursiveDerefZdd(dd, gd); } cuddCacheInsert2(dd, cuddZddWeakDivF, f, g, q); Cudd_Deref(q); return(q); } /* end of cuddZddWeakDivF */ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_zddDivide.] Description [] SideEffects [None] SeeAlso [Cudd_zddDivide] ******************************************************************************/ DdNode * cuddZddDivide( DdManager * dd, DdNode * f, DdNode * g) { int v; DdNode *one = DD_ONE(dd); DdNode *zero = DD_ZERO(dd); DdNode *f0, *f1, *g0, *g1; DdNode *q, *r, *tmp; int flag; statLine(dd); if (g == one) return(f); if (f == zero || f == one) return(zero); if (f == g) return(one); /* Check cache. */ r = cuddCacheLookup2Zdd(dd, cuddZddDivide, f, g); if (r) return(r); v = g->index; flag = cuddZddGetCofactors2(dd, f, v, &f1, &f0); if (flag == 1) return(NULL); Cudd_Ref(f1); Cudd_Ref(f0); flag = cuddZddGetCofactors2(dd, g, v, &g1, &g0); /* g1 != zero */ if (flag == 1) { Cudd_RecursiveDerefZdd(dd, f1); Cudd_RecursiveDerefZdd(dd, f0); return(NULL); } Cudd_Ref(g1); Cudd_Ref(g0); r = cuddZddDivide(dd, f1, g1); if (r == NULL) { Cudd_RecursiveDerefZdd(dd, f1); Cudd_RecursiveDerefZdd(dd, f0); Cudd_RecursiveDerefZdd(dd, g1); Cudd_RecursiveDerefZdd(dd, g0); return(NULL); } Cudd_Ref(r); if (r != zero && g0 != zero) { tmp = r; q = cuddZddDivide(dd, f0, g0); if (q == NULL) { Cudd_RecursiveDerefZdd(dd, f1); Cudd_RecursiveDerefZdd(dd, f0); Cudd_RecursiveDerefZdd(dd, g1); Cudd_RecursiveDerefZdd(dd, g0); return(NULL); } Cudd_Ref(q); r = cuddZddIntersect(dd, r, q); if (r == NULL) { Cudd_RecursiveDerefZdd(dd, f1); Cudd_RecursiveDerefZdd(dd, f0); Cudd_RecursiveDerefZdd(dd, g1); Cudd_RecursiveDerefZdd(dd, g0); Cudd_RecursiveDerefZdd(dd, q); return(NULL); } Cudd_Ref(r); Cudd_RecursiveDerefZdd(dd, q); Cudd_RecursiveDerefZdd(dd, tmp); } Cudd_RecursiveDerefZdd(dd, f1); Cudd_RecursiveDerefZdd(dd, f0); Cudd_RecursiveDerefZdd(dd, g1); Cudd_RecursiveDerefZdd(dd, g0); cuddCacheInsert2(dd, cuddZddDivide, f, g, r); Cudd_Deref(r); return(r); } /* end of cuddZddDivide */ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_zddDivideF.] Description [] SideEffects [None] SeeAlso [Cudd_zddDivideF] ******************************************************************************/ DdNode * cuddZddDivideF( DdManager * dd, DdNode * f, DdNode * g) { int v; DdNode *one = DD_ONE(dd); DdNode *zero = DD_ZERO(dd); DdNode *f0, *f1, *g0, *g1; DdNode *q, *r, *tmp; int flag; statLine(dd); if (g == one) return(f); if (f == zero || f == one) return(zero); if (f == g) return(one); /* Check cache. */ r = cuddCacheLookup2Zdd(dd, cuddZddDivideF, f, g); if (r) return(r); v = g->index; flag = cuddZddGetCofactors2(dd, f, v, &f1, &f0); if (flag == 1) return(NULL); Cudd_Ref(f1); Cudd_Ref(f0); flag = cuddZddGetCofactors2(dd, g, v, &g1, &g0); /* g1 != zero */ if (flag == 1) { Cudd_RecursiveDerefZdd(dd, f1); Cudd_RecursiveDerefZdd(dd, f0); return(NULL); } Cudd_Ref(g1); Cudd_Ref(g0); r = cuddZddDivideF(dd, f1, g1); if (r == NULL) { Cudd_RecursiveDerefZdd(dd, f1); Cudd_RecursiveDerefZdd(dd, f0); Cudd_RecursiveDerefZdd(dd, g1); Cudd_RecursiveDerefZdd(dd, g0); return(NULL); } Cudd_Ref(r); if (r != zero && g0 != zero) { tmp = r; q = cuddZddDivideF(dd, f0, g0); if (q == NULL) { Cudd_RecursiveDerefZdd(dd, f1); Cudd_RecursiveDerefZdd(dd, f0); Cudd_RecursiveDerefZdd(dd, g1); Cudd_RecursiveDerefZdd(dd, g0); return(NULL); } Cudd_Ref(q); r = cuddZddIntersect(dd, r, q); if (r == NULL) { Cudd_RecursiveDerefZdd(dd, f1); Cudd_RecursiveDerefZdd(dd, f0); Cudd_RecursiveDerefZdd(dd, g1); Cudd_RecursiveDerefZdd(dd, g0); Cudd_RecursiveDerefZdd(dd, q); return(NULL); } Cudd_Ref(r); Cudd_RecursiveDerefZdd(dd, q); Cudd_RecursiveDerefZdd(dd, tmp); } Cudd_RecursiveDerefZdd(dd, f1); Cudd_RecursiveDerefZdd(dd, f0); Cudd_RecursiveDerefZdd(dd, g1); Cudd_RecursiveDerefZdd(dd, g0); cuddCacheInsert2(dd, cuddZddDivideF, f, g, r); Cudd_Deref(r); return(r); } /* end of cuddZddDivideF */ /**Function******************************************************************** Synopsis [Computes the three-way decomposition of f w.r.t. v.] Description [Computes the three-way decomposition of function f (represented by a ZDD) wit respect to variable v. Returns 0 if successful; 1 otherwise.] SideEffects [The results are returned in f1, f0, and fd.] SeeAlso [cuddZddGetCofactors2] ******************************************************************************/ int cuddZddGetCofactors3( DdManager * dd, DdNode * f, int v, DdNode ** f1, DdNode ** f0, DdNode ** fd) { DdNode *pc, *nc; DdNode *zero = DD_ZERO(dd); int top, hv, ht, pv, nv; int level; top = dd->permZ[f->index]; level = dd->permZ[v]; hv = level >> 1; ht = top >> 1; if (hv < ht) { *f1 = zero; *f0 = zero; *fd = f; } else { pv = cuddZddGetPosVarIndex(dd, v); nv = cuddZddGetNegVarIndex(dd, v); /* not to create intermediate ZDD node */ if (cuddZddGetPosVarLevel(dd, v) < cuddZddGetNegVarLevel(dd, v)) { pc = cuddZddSubset1(dd, f, pv); if (pc == NULL) return(1); Cudd_Ref(pc); nc = cuddZddSubset0(dd, f, pv); if (nc == NULL) { Cudd_RecursiveDerefZdd(dd, pc); return(1); } Cudd_Ref(nc); *f1 = cuddZddSubset0(dd, pc, nv); if (*f1 == NULL) { Cudd_RecursiveDerefZdd(dd, pc); Cudd_RecursiveDerefZdd(dd, nc); return(1); } Cudd_Ref(*f1); *f0 = cuddZddSubset1(dd, nc, nv); if (*f0 == NULL) { Cudd_RecursiveDerefZdd(dd, pc); Cudd_RecursiveDerefZdd(dd, nc); Cudd_RecursiveDerefZdd(dd, *f1); return(1); } Cudd_Ref(*f0); *fd = cuddZddSubset0(dd, nc, nv); if (*fd == NULL) { Cudd_RecursiveDerefZdd(dd, pc); Cudd_RecursiveDerefZdd(dd, nc); Cudd_RecursiveDerefZdd(dd, *f1); Cudd_RecursiveDerefZdd(dd, *f0); return(1); } Cudd_Ref(*fd); } else { pc = cuddZddSubset1(dd, f, nv); if (pc == NULL) return(1); Cudd_Ref(pc); nc = cuddZddSubset0(dd, f, nv); if (nc == NULL) { Cudd_RecursiveDerefZdd(dd, pc); return(1); } Cudd_Ref(nc); *f0 = cuddZddSubset0(dd, pc, pv); if (*f0 == NULL) { Cudd_RecursiveDerefZdd(dd, pc); Cudd_RecursiveDerefZdd(dd, nc); return(1); } Cudd_Ref(*f0); *f1 = cuddZddSubset1(dd, nc, pv); if (*f1 == NULL) { Cudd_RecursiveDerefZdd(dd, pc); Cudd_RecursiveDerefZdd(dd, nc); Cudd_RecursiveDerefZdd(dd, *f0); return(1); } Cudd_Ref(*f1); *fd = cuddZddSubset0(dd, nc, pv); if (*fd == NULL) { Cudd_RecursiveDerefZdd(dd, pc); Cudd_RecursiveDerefZdd(dd, nc); Cudd_RecursiveDerefZdd(dd, *f1); Cudd_RecursiveDerefZdd(dd, *f0); return(1); } Cudd_Ref(*fd); } Cudd_RecursiveDerefZdd(dd, pc); Cudd_RecursiveDerefZdd(dd, nc); Cudd_Deref(*f1); Cudd_Deref(*f0); Cudd_Deref(*fd); } return(0); } /* end of cuddZddGetCofactors3 */ /**Function******************************************************************** Synopsis [Computes the two-way decomposition of f w.r.t. v.] Description [] SideEffects [The results are returned in f1 and f0.] SeeAlso [cuddZddGetCofactors3] ******************************************************************************/ int cuddZddGetCofactors2( DdManager * dd, DdNode * f, int v, DdNode ** f1, DdNode ** f0) { *f1 = cuddZddSubset1(dd, f, v); if (*f1 == NULL) return(1); *f0 = cuddZddSubset0(dd, f, v); if (*f0 == NULL) { Cudd_RecursiveDerefZdd(dd, *f1); return(1); } return(0); } /* end of cuddZddGetCofactors2 */ #ifdef PBORI_FORCE_ORIGINAL_CUDD /**Function******************************************************************** Synopsis [Computes a complement of a ZDD node.] Description [Computes the complement of a ZDD node. So far, since we couldn't find a direct way to get the complement of a ZDD cover, we first convert a ZDD cover to a BDD, then make the complement of the ZDD cover from the complement of the BDD node by using ISOP.] SideEffects [The result depends on current variable order.] SeeAlso [] ******************************************************************************/ DdNode * cuddZddComplement( DdManager * dd, DdNode *node) { DdNode *b, *isop, *zdd_I; /* Check cache */ zdd_I = cuddCacheLookup1Zdd(dd, cuddZddComplement, node); if (zdd_I) return(zdd_I); b = cuddMakeBddFromZddCover(dd, node); if (!b) return(NULL); cuddRef(b); isop = cuddZddIsop(dd, Cudd_Not(b), Cudd_Not(b), &zdd_I); if (!isop) { Cudd_RecursiveDeref(dd, b); return(NULL); } cuddRef(isop); cuddRef(zdd_I); Cudd_RecursiveDeref(dd, b); Cudd_RecursiveDeref(dd, isop); cuddCacheInsert1(dd, cuddZddComplement, node, zdd_I); cuddDeref(zdd_I); return(zdd_I); } /* end of cuddZddComplement */ #endif /**Function******************************************************************** Synopsis [Returns the index of positive ZDD variable.] Description [Returns the index of positive ZDD variable.] SideEffects [] SeeAlso [] ******************************************************************************/ int cuddZddGetPosVarIndex( DdManager * dd, int index) { int pv = (index >> 1) << 1; return(pv); } /* end of cuddZddGetPosVarIndex */ /**Function******************************************************************** Synopsis [Returns the index of negative ZDD variable.] Description [Returns the index of negative ZDD variable.] SideEffects [] SeeAlso [] ******************************************************************************/ int cuddZddGetNegVarIndex( DdManager * dd, int index) { int nv = index | 0x1; return(nv); } /* end of cuddZddGetPosVarIndex */ /**Function******************************************************************** Synopsis [Returns the level of positive ZDD variable.] Description [Returns the level of positive ZDD variable.] SideEffects [] SeeAlso [] ******************************************************************************/ int cuddZddGetPosVarLevel( DdManager * dd, int index) { int pv = cuddZddGetPosVarIndex(dd, index); return(dd->permZ[pv]); } /* end of cuddZddGetPosVarLevel */ /**Function******************************************************************** Synopsis [Returns the level of negative ZDD variable.] Description [Returns the level of negative ZDD variable.] SideEffects [] SeeAlso [] ******************************************************************************/ int cuddZddGetNegVarLevel( DdManager * dd, int index) { int nv = cuddZddGetNegVarIndex(dd, index); return(dd->permZ[nv]); } /* end of cuddZddGetNegVarLevel */ BRiAl-1.2.12/cudd/cuddZddGroup.c000066400000000000000000001150221436062512100162100ustar00rootroot00000000000000/**CFile*********************************************************************** FileName [cuddZddGroup.c] PackageName [cudd] Synopsis [Functions for ZDD group sifting.] Description [External procedures included in this file:
        • Cudd_MakeZddTreeNode()
        Internal procedures included in this file:
        • cuddZddTreeSifting()
        Static procedures included in this module:
        • zddTreeSiftingAux()
        • zddCountInternalMtrNodes()
        • zddReorderChildren()
        • zddFindNodeHiLo()
        • zddUniqueCompareGroup()
        • zddGroupSifting()
        • zddGroupSiftingAux()
        • zddGroupSiftingUp()
        • zddGroupSiftingDown()
        • zddGroupMove()
        • zddGroupMoveBackward()
        • zddGroupSiftingBackward()
        • zddMergeGroups()
        ] Author [Fabio Somenzi] Copyright [Copyright (c) 1995-2012, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.] ******************************************************************************/ #include "util.h" #include "cuddInt.h" /*---------------------------------------------------------------------------*/ /* Constant declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Stucture declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Type declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Variable declarations */ /*---------------------------------------------------------------------------*/ #ifndef lint static char rcsid[] DD_UNUSED = "$Id: cuddZddGroup.c,v 1.22 2012/02/05 01:07:19 fabio Exp $"; #endif static int *entry; extern int zddTotalNumberSwapping; #ifdef DD_STATS static int extsymmcalls; static int extsymm; static int secdiffcalls; static int secdiff; static int secdiffmisfire; #endif #ifdef DD_DEBUG static int pr = 0; /* flag to enable printing while debugging */ /* by depositing a 1 into it */ #endif /*---------------------------------------------------------------------------*/ /* Macro declarations */ /*---------------------------------------------------------------------------*/ /**AutomaticStart*************************************************************/ /*---------------------------------------------------------------------------*/ /* Static function prototypes */ /*---------------------------------------------------------------------------*/ static int zddTreeSiftingAux (DdManager *table, MtrNode *treenode, Cudd_ReorderingType method); #ifdef DD_STATS static int zddCountInternalMtrNodes (DdManager *table, MtrNode *treenode); #endif static int zddReorderChildren (DdManager *table, MtrNode *treenode, Cudd_ReorderingType method); static void zddFindNodeHiLo (DdManager *table, MtrNode *treenode, int *lower, int *upper); static int zddUniqueCompareGroup (int *ptrX, int *ptrY); static int zddGroupSifting (DdManager *table, int lower, int upper); static int zddGroupSiftingAux (DdManager *table, int x, int xLow, int xHigh); static int zddGroupSiftingUp (DdManager *table, int y, int xLow, Move **moves); static int zddGroupSiftingDown (DdManager *table, int x, int xHigh, Move **moves); static int zddGroupMove (DdManager *table, int x, int y, Move **moves); static int zddGroupMoveBackward (DdManager *table, int x, int y); static int zddGroupSiftingBackward (DdManager *table, Move *moves, int size); static void zddMergeGroups (DdManager *table, MtrNode *treenode, int low, int high); /**AutomaticEnd***************************************************************/ /*---------------------------------------------------------------------------*/ /* Definition of exported functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Creates a new ZDD variable group.] Description [Creates a new ZDD variable group. The group starts at variable and contains size variables. The parameter low is the index of the first variable. If the variable already exists, its current position in the order is known to the manager. If the variable does not exist yet, the position is assumed to be the same as the index. The group tree is created if it does not exist yet. Returns a pointer to the group if successful; NULL otherwise.] SideEffects [The ZDD variable tree is changed.] SeeAlso [Cudd_MakeTreeNode] ******************************************************************************/ MtrNode * Cudd_MakeZddTreeNode( DdManager * dd /* manager */, unsigned int low /* index of the first group variable */, unsigned int size /* number of variables in the group */, unsigned int type /* MTR_DEFAULT or MTR_FIXED */) { MtrNode *group; MtrNode *tree; unsigned int level; /* If the variable does not exist yet, the position is assumed to be ** the same as the index. Therefore, applications that rely on ** Cudd_bddNewVarAtLevel or Cudd_addNewVarAtLevel to create new ** variables have to create the variables before they group them. */ level = (low < (unsigned int) dd->sizeZ) ? dd->permZ[low] : low; if (level + size - 1> (int) MTR_MAXHIGH) return(NULL); /* If the tree does not exist yet, create it. */ tree = dd->treeZ; if (tree == NULL) { dd->treeZ = tree = Mtr_InitGroupTree(0, dd->sizeZ); if (tree == NULL) return(NULL); tree->index = dd->invpermZ[0]; } /* Extend the upper bound of the tree if necessary. This allows the ** application to create groups even before the variables are created. */ tree->size = ddMax(tree->size, level + size); /* Create the group. */ group = Mtr_MakeGroup(tree, level, size, type); if (group == NULL) return(NULL); /* Initialize the index field to the index of the variable currently ** in position low. This field will be updated by the reordering ** procedure to provide a handle to the group once it has been moved. */ group->index = (MtrHalfWord) low; return(group); } /* end of Cudd_MakeZddTreeNode */ /*---------------------------------------------------------------------------*/ /* Definition of internal functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Tree sifting algorithm for ZDDs.] Description [Tree sifting algorithm for ZDDs. Assumes that a tree representing a group hierarchy is passed as a parameter. It then reorders each group in postorder fashion by calling zddTreeSiftingAux. Assumes that no dead nodes are present. Returns 1 if successful; 0 otherwise.] SideEffects [None] ******************************************************************************/ int cuddZddTreeSifting( DdManager * table /* DD table */, Cudd_ReorderingType method /* reordering method for the groups of leaves */) { int i; int nvars; int result; int tempTree; /* If no tree is provided we create a temporary one in which all ** variables are in a single group. After reordering this tree is ** destroyed. */ tempTree = table->treeZ == NULL; if (tempTree) { table->treeZ = Mtr_InitGroupTree(0,table->sizeZ); table->treeZ->index = table->invpermZ[0]; } nvars = table->sizeZ; #ifdef DD_DEBUG if (pr > 0 && !tempTree) (void) fprintf(table->out,"cuddZddTreeSifting:"); Mtr_PrintGroups(table->treeZ,pr <= 0); #endif #if 0 /* Debugging code. */ if (table->tree && table->treeZ) { (void) fprintf(table->out,"\n"); Mtr_PrintGroups(table->tree, 0); cuddPrintVarGroups(table,table->tree,0,0); for (i = 0; i < table->size; i++) { (void) fprintf(table->out,"%s%d", (i == 0) ? "" : ",", table->invperm[i]); } (void) fprintf(table->out,"\n"); for (i = 0; i < table->size; i++) { (void) fprintf(table->out,"%s%d", (i == 0) ? "" : ",", table->perm[i]); } (void) fprintf(table->out,"\n\n"); Mtr_PrintGroups(table->treeZ,0); cuddPrintVarGroups(table,table->treeZ,1,0); for (i = 0; i < table->sizeZ; i++) { (void) fprintf(table->out,"%s%d", (i == 0) ? "" : ",", table->invpermZ[i]); } (void) fprintf(table->out,"\n"); for (i = 0; i < table->sizeZ; i++) { (void) fprintf(table->out,"%s%d", (i == 0) ? "" : ",", table->permZ[i]); } (void) fprintf(table->out,"\n"); } /* End of debugging code. */ #endif #ifdef DD_STATS extsymmcalls = 0; extsymm = 0; secdiffcalls = 0; secdiff = 0; secdiffmisfire = 0; (void) fprintf(table->out,"\n"); if (!tempTree) (void) fprintf(table->out,"#:IM_NODES %8d: group tree nodes\n", zddCountInternalMtrNodes(table,table->treeZ)); #endif /* Initialize the group of each subtable to itself. Initially ** there are no groups. Groups are created according to the tree ** structure in postorder fashion. */ for (i = 0; i < nvars; i++) table->subtableZ[i].next = i; /* Reorder. */ result = zddTreeSiftingAux(table, table->treeZ, method); #ifdef DD_STATS /* print stats */ if (!tempTree && method == CUDD_REORDER_GROUP_SIFT && (table->groupcheck == CUDD_GROUP_CHECK7 || table->groupcheck == CUDD_GROUP_CHECK5)) { (void) fprintf(table->out,"\nextsymmcalls = %d\n",extsymmcalls); (void) fprintf(table->out,"extsymm = %d",extsymm); } if (!tempTree && method == CUDD_REORDER_GROUP_SIFT && table->groupcheck == CUDD_GROUP_CHECK7) { (void) fprintf(table->out,"\nsecdiffcalls = %d\n",secdiffcalls); (void) fprintf(table->out,"secdiff = %d\n",secdiff); (void) fprintf(table->out,"secdiffmisfire = %d",secdiffmisfire); } #endif if (tempTree) Cudd_FreeZddTree(table); return(result); } /* end of cuddZddTreeSifting */ /*---------------------------------------------------------------------------*/ /* Definition of static functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Visits the group tree and reorders each group.] Description [Recursively visits the group tree and reorders each group in postorder fashion. Returns 1 if successful; 0 otherwise.] SideEffects [None] ******************************************************************************/ static int zddTreeSiftingAux( DdManager * table, MtrNode * treenode, Cudd_ReorderingType method) { MtrNode *auxnode; int res; #ifdef DD_DEBUG Mtr_PrintGroups(treenode,1); #endif auxnode = treenode; while (auxnode != NULL) { if (auxnode->child != NULL) { if (!zddTreeSiftingAux(table, auxnode->child, method)) return(0); res = zddReorderChildren(table, auxnode, CUDD_REORDER_GROUP_SIFT); if (res == 0) return(0); } else if (auxnode->size > 1) { if (!zddReorderChildren(table, auxnode, method)) return(0); } auxnode = auxnode->younger; } return(1); } /* end of zddTreeSiftingAux */ #ifdef DD_STATS /**Function******************************************************************** Synopsis [Counts the number of internal nodes of the group tree.] Description [Counts the number of internal nodes of the group tree. Returns the count.] SideEffects [None] ******************************************************************************/ static int zddCountInternalMtrNodes( DdManager * table, MtrNode * treenode) { MtrNode *auxnode; int count,nodeCount; nodeCount = 0; auxnode = treenode; while (auxnode != NULL) { if (!(MTR_TEST(auxnode,MTR_TERMINAL))) { nodeCount++; count = zddCountInternalMtrNodes(table,auxnode->child); nodeCount += count; } auxnode = auxnode->younger; } return(nodeCount); } /* end of zddCountInternalMtrNodes */ #endif /**Function******************************************************************** Synopsis [Reorders the children of a group tree node according to the options.] Description [Reorders the children of a group tree node according to the options. After reordering puts all the variables in the group and/or its descendents in a single group. This allows hierarchical reordering. If the variables in the group do not exist yet, simply does nothing. Returns 1 if successful; 0 otherwise.] SideEffects [None] ******************************************************************************/ static int zddReorderChildren( DdManager * table, MtrNode * treenode, Cudd_ReorderingType method) { int lower; int upper; int result; unsigned int initialSize; zddFindNodeHiLo(table,treenode,&lower,&upper); /* If upper == -1 these variables do not exist yet. */ if (upper == -1) return(1); if (treenode->flags == MTR_FIXED) { result = 1; } else { #ifdef DD_STATS (void) fprintf(table->out," "); #endif switch (method) { case CUDD_REORDER_RANDOM: case CUDD_REORDER_RANDOM_PIVOT: result = cuddZddSwapping(table,lower,upper,method); break; case CUDD_REORDER_SIFT: result = cuddZddSifting(table,lower,upper); break; case CUDD_REORDER_SIFT_CONVERGE: do { initialSize = table->keysZ; result = cuddZddSifting(table,lower,upper); if (initialSize <= table->keysZ) break; #ifdef DD_STATS else (void) fprintf(table->out,"\n"); #endif } while (result != 0); break; case CUDD_REORDER_SYMM_SIFT: result = cuddZddSymmSifting(table,lower,upper); break; case CUDD_REORDER_SYMM_SIFT_CONV: result = cuddZddSymmSiftingConv(table,lower,upper); break; case CUDD_REORDER_GROUP_SIFT: result = zddGroupSifting(table,lower,upper); break; case CUDD_REORDER_LINEAR: result = cuddZddLinearSifting(table,lower,upper); break; case CUDD_REORDER_LINEAR_CONVERGE: do { initialSize = table->keysZ; result = cuddZddLinearSifting(table,lower,upper); if (initialSize <= table->keysZ) break; #ifdef DD_STATS else (void) fprintf(table->out,"\n"); #endif } while (result != 0); break; default: return(0); } } /* Create a single group for all the variables that were sifted, ** so that they will be treated as a single block by successive ** invocations of zddGroupSifting. */ zddMergeGroups(table,treenode,lower,upper); #ifdef DD_DEBUG if (pr > 0) (void) fprintf(table->out,"zddReorderChildren:"); #endif return(result); } /* end of zddReorderChildren */ /**Function******************************************************************** Synopsis [Finds the lower and upper bounds of the group represented by treenode.] Description [Finds the lower and upper bounds of the group represented by treenode. The high and low fields of treenode are indices. From those we need to derive the current positions, and find maximum and minimum.] SideEffects [The bounds are returned as side effects.] SeeAlso [] ******************************************************************************/ static void zddFindNodeHiLo( DdManager * table, MtrNode * treenode, int * lower, int * upper) { int low; int high; /* Check whether no variables in this group already exist. ** If so, return immediately. The calling procedure will know from ** the values of upper that no reordering is needed. */ if ((int) treenode->low >= table->sizeZ) { *lower = table->sizeZ; *upper = -1; return; } *lower = low = (unsigned int) table->permZ[treenode->index]; high = (int) (low + treenode->size - 1); if (high >= table->sizeZ) { /* This is the case of a partially existing group. The aim is to ** reorder as many variables as safely possible. If the tree ** node is terminal, we just reorder the subset of the group ** that is currently in existence. If the group has ** subgroups, then we only reorder those subgroups that are ** fully instantiated. This way we avoid breaking up a group. */ MtrNode *auxnode = treenode->child; if (auxnode == NULL) { *upper = (unsigned int) table->sizeZ - 1; } else { /* Search the subgroup that strands the table->sizeZ line. ** If the first group starts at 0 and goes past table->sizeZ ** upper will get -1, thus correctly signaling that no reordering ** should take place. */ while (auxnode != NULL) { int thisLower = table->permZ[auxnode->low]; int thisUpper = thisLower + auxnode->size - 1; if (thisUpper >= table->sizeZ && thisLower < table->sizeZ) *upper = (unsigned int) thisLower - 1; auxnode = auxnode->younger; } } } else { /* Normal case: All the variables of the group exist. */ *upper = (unsigned int) high; } #ifdef DD_DEBUG /* Make sure that all variables in group are contiguous. */ assert(treenode->size >= *upper - *lower + 1); #endif return; } /* end of zddFindNodeHiLo */ /**Function******************************************************************** Synopsis [Comparison function used by qsort.] Description [Comparison function used by qsort to order the variables according to the number of keys in the subtables. Returns the difference in number of keys between the two variables being compared.] SideEffects [None] ******************************************************************************/ static int zddUniqueCompareGroup( int * ptrX, int * ptrY) { #if 0 if (entry[*ptrY] == entry[*ptrX]) { return((*ptrX) - (*ptrY)); } #endif return(entry[*ptrY] - entry[*ptrX]); } /* end of zddUniqueCompareGroup */ /**Function******************************************************************** Synopsis [Sifts from treenode->low to treenode->high.] Description [Sifts from treenode->low to treenode->high. If croupcheck == CUDD_GROUP_CHECK7, it checks for group creation at the end of the initial sifting. If a group is created, it is then sifted again. After sifting one variable, the group that contains it is dissolved. Returns 1 in case of success; 0 otherwise.] SideEffects [None] ******************************************************************************/ static int zddGroupSifting( DdManager * table, int lower, int upper) { int *var; int i,j,x,xInit; int nvars; int classes; int result; int *sifted; #ifdef DD_STATS unsigned previousSize; #endif int xindex; nvars = table->sizeZ; /* Order variables to sift. */ entry = NULL; sifted = NULL; var = ALLOC(int,nvars); if (var == NULL) { table->errorCode = CUDD_MEMORY_OUT; goto zddGroupSiftingOutOfMem; } entry = ALLOC(int,nvars); if (entry == NULL) { table->errorCode = CUDD_MEMORY_OUT; goto zddGroupSiftingOutOfMem; } sifted = ALLOC(int,nvars); if (sifted == NULL) { table->errorCode = CUDD_MEMORY_OUT; goto zddGroupSiftingOutOfMem; } /* Here we consider only one representative for each group. */ for (i = 0, classes = 0; i < nvars; i++) { sifted[i] = 0; x = table->permZ[i]; if ((unsigned) x >= table->subtableZ[x].next) { entry[i] = table->subtableZ[x].keys; var[classes] = i; classes++; } } qsort((void *)var,classes,sizeof(int),(DD_QSFP)zddUniqueCompareGroup); /* Now sift. */ for (i = 0; i < ddMin(table->siftMaxVar,classes); i++) { if (zddTotalNumberSwapping >= table->siftMaxSwap) break; if (util_cpu_time() - table->startTime > table->timeLimit) { table->autoDynZ = 0; /* prevent further reordering */ break; } xindex = var[i]; if (sifted[xindex] == 1) /* variable already sifted as part of group */ continue; x = table->permZ[xindex]; /* find current level of this variable */ if (x < lower || x > upper) continue; #ifdef DD_STATS previousSize = table->keysZ; #endif #ifdef DD_DEBUG /* x is bottom of group */ assert((unsigned) x >= table->subtableZ[x].next); #endif result = zddGroupSiftingAux(table,x,lower,upper); if (!result) goto zddGroupSiftingOutOfMem; #ifdef DD_STATS if (table->keysZ < previousSize) { (void) fprintf(table->out,"-"); } else if (table->keysZ > previousSize) { (void) fprintf(table->out,"+"); } else { (void) fprintf(table->out,"="); } fflush(table->out); #endif /* Mark variables in the group just sifted. */ x = table->permZ[xindex]; if ((unsigned) x != table->subtableZ[x].next) { xInit = x; do { j = table->invpermZ[x]; sifted[j] = 1; x = table->subtableZ[x].next; } while (x != xInit); } #ifdef DD_DEBUG if (pr > 0) (void) fprintf(table->out,"zddGroupSifting:"); #endif } /* for */ FREE(sifted); FREE(var); FREE(entry); return(1); zddGroupSiftingOutOfMem: if (entry != NULL) FREE(entry); if (var != NULL) FREE(var); if (sifted != NULL) FREE(sifted); return(0); } /* end of zddGroupSifting */ /**Function******************************************************************** Synopsis [Sifts one variable up and down until it has taken all positions. Checks for aggregation.] Description [Sifts one variable up and down until it has taken all positions. Checks for aggregation. There may be at most two sweeps, even if the group grows. Assumes that x is either an isolated variable, or it is the bottom of a group. All groups may not have been found. The variable being moved is returned to the best position seen during sifting. Returns 1 in case of success; 0 otherwise.] SideEffects [None] ******************************************************************************/ static int zddGroupSiftingAux( DdManager * table, int x, int xLow, int xHigh) { Move *move; Move *moves; /* list of moves */ int initialSize; int result; #ifdef DD_DEBUG if (pr > 0) (void) fprintf(table->out,"zddGroupSiftingAux from %d to %d\n",xLow,xHigh); assert((unsigned) x >= table->subtableZ[x].next); /* x is bottom of group */ #endif initialSize = table->keysZ; moves = NULL; if (x == xLow) { /* Sift down */ #ifdef DD_DEBUG /* x must be a singleton */ assert((unsigned) x == table->subtableZ[x].next); #endif if (x == xHigh) return(1); /* just one variable */ if (!zddGroupSiftingDown(table,x,xHigh,&moves)) goto zddGroupSiftingAuxOutOfMem; /* at this point x == xHigh, unless early term */ /* move backward and stop at best position */ result = zddGroupSiftingBackward(table,moves,initialSize); #ifdef DD_DEBUG assert(table->keysZ <= (unsigned) initialSize); #endif if (!result) goto zddGroupSiftingAuxOutOfMem; } else if (cuddZddNextHigh(table,x) > xHigh) { /* Sift up */ #ifdef DD_DEBUG /* x is bottom of group */ assert((unsigned) x >= table->subtableZ[x].next); #endif /* Find top of x's group */ x = table->subtableZ[x].next; if (!zddGroupSiftingUp(table,x,xLow,&moves)) goto zddGroupSiftingAuxOutOfMem; /* at this point x == xLow, unless early term */ /* move backward and stop at best position */ result = zddGroupSiftingBackward(table,moves,initialSize); #ifdef DD_DEBUG assert(table->keysZ <= (unsigned) initialSize); #endif if (!result) goto zddGroupSiftingAuxOutOfMem; } else if (x - xLow > xHigh - x) { /* must go down first: shorter */ if (!zddGroupSiftingDown(table,x,xHigh,&moves)) goto zddGroupSiftingAuxOutOfMem; /* at this point x == xHigh, unless early term */ /* Find top of group */ if (moves) { x = moves->y; } while ((unsigned) x < table->subtableZ[x].next) x = table->subtableZ[x].next; x = table->subtableZ[x].next; #ifdef DD_DEBUG /* x should be the top of a group */ assert((unsigned) x <= table->subtableZ[x].next); #endif if (!zddGroupSiftingUp(table,x,xLow,&moves)) goto zddGroupSiftingAuxOutOfMem; /* move backward and stop at best position */ result = zddGroupSiftingBackward(table,moves,initialSize); #ifdef DD_DEBUG assert(table->keysZ <= (unsigned) initialSize); #endif if (!result) goto zddGroupSiftingAuxOutOfMem; } else { /* moving up first: shorter */ /* Find top of x's group */ x = table->subtableZ[x].next; if (!zddGroupSiftingUp(table,x,xLow,&moves)) goto zddGroupSiftingAuxOutOfMem; /* at this point x == xHigh, unless early term */ if (moves) { x = moves->x; } while ((unsigned) x < table->subtableZ[x].next) x = table->subtableZ[x].next; #ifdef DD_DEBUG /* x is bottom of a group */ assert((unsigned) x >= table->subtableZ[x].next); #endif if (!zddGroupSiftingDown(table,x,xHigh,&moves)) goto zddGroupSiftingAuxOutOfMem; /* move backward and stop at best position */ result = zddGroupSiftingBackward(table,moves,initialSize); #ifdef DD_DEBUG assert(table->keysZ <= (unsigned) initialSize); #endif if (!result) goto zddGroupSiftingAuxOutOfMem; } while (moves != NULL) { move = moves->next; cuddDeallocMove(table, moves); moves = move; } return(1); zddGroupSiftingAuxOutOfMem: while (moves != NULL) { move = moves->next; cuddDeallocMove(table, moves); moves = move; } return(0); } /* end of zddGroupSiftingAux */ /**Function******************************************************************** Synopsis [Sifts up a variable until either it reaches position xLow or the size of the DD heap increases too much.] Description [Sifts up a variable until either it reaches position xLow or the size of the DD heap increases too much. Assumes that y is the top of a group (or a singleton). Checks y for aggregation to the adjacent variables. Records all the moves that are appended to the list of moves received as input and returned as a side effect. Returns 1 in case of success; 0 otherwise.] SideEffects [None] ******************************************************************************/ static int zddGroupSiftingUp( DdManager * table, int y, int xLow, Move ** moves) { Move *move; int x; int size; int gxtop; int limitSize; limitSize = table->keysZ; x = cuddZddNextLow(table,y); while (x >= xLow) { gxtop = table->subtableZ[x].next; if (table->subtableZ[x].next == (unsigned) x && table->subtableZ[y].next == (unsigned) y) { /* x and y are self groups */ size = cuddZddSwapInPlace(table,x,y); #ifdef DD_DEBUG assert(table->subtableZ[x].next == (unsigned) x); assert(table->subtableZ[y].next == (unsigned) y); #endif if (size == 0) goto zddGroupSiftingUpOutOfMem; move = (Move *)cuddDynamicAllocNode(table); if (move == NULL) goto zddGroupSiftingUpOutOfMem; move->x = x; move->y = y; move->flags = MTR_DEFAULT; move->size = size; move->next = *moves; *moves = move; #ifdef DD_DEBUG if (pr > 0) (void) fprintf(table->out,"zddGroupSiftingUp (2 single groups):\n"); #endif if ((double) size > (double) limitSize * table->maxGrowth) return(1); if (size < limitSize) limitSize = size; } else { /* group move */ size = zddGroupMove(table,x,y,moves); if (size == 0) goto zddGroupSiftingUpOutOfMem; if ((double) size > (double) limitSize * table->maxGrowth) return(1); if (size < limitSize) limitSize = size; } y = gxtop; x = cuddZddNextLow(table,y); } return(1); zddGroupSiftingUpOutOfMem: while (*moves != NULL) { move = (*moves)->next; cuddDeallocMove(table, *moves); *moves = move; } return(0); } /* end of zddGroupSiftingUp */ /**Function******************************************************************** Synopsis [Sifts down a variable until it reaches position xHigh.] Description [Sifts down a variable until it reaches position xHigh. Assumes that x is the bottom of a group (or a singleton). Records all the moves. Returns 1 in case of success; 0 otherwise.] SideEffects [None] ******************************************************************************/ static int zddGroupSiftingDown( DdManager * table, int x, int xHigh, Move ** moves) { Move *move; int y; int size; int limitSize; int gybot; /* Initialize R */ limitSize = size = table->keysZ; y = cuddZddNextHigh(table,x); while (y <= xHigh) { /* Find bottom of y group. */ gybot = table->subtableZ[y].next; while (table->subtableZ[gybot].next != (unsigned) y) gybot = table->subtableZ[gybot].next; if (table->subtableZ[x].next == (unsigned) x && table->subtableZ[y].next == (unsigned) y) { /* x and y are self groups */ size = cuddZddSwapInPlace(table,x,y); #ifdef DD_DEBUG assert(table->subtableZ[x].next == (unsigned) x); assert(table->subtableZ[y].next == (unsigned) y); #endif if (size == 0) goto zddGroupSiftingDownOutOfMem; /* Record move. */ move = (Move *) cuddDynamicAllocNode(table); if (move == NULL) goto zddGroupSiftingDownOutOfMem; move->x = x; move->y = y; move->flags = MTR_DEFAULT; move->size = size; move->next = *moves; *moves = move; #ifdef DD_DEBUG if (pr > 0) (void) fprintf(table->out,"zddGroupSiftingDown (2 single groups):\n"); #endif if ((double) size > (double) limitSize * table->maxGrowth) return(1); if (size < limitSize) limitSize = size; x = y; y = cuddZddNextHigh(table,x); } else { /* Group move */ size = zddGroupMove(table,x,y,moves); if (size == 0) goto zddGroupSiftingDownOutOfMem; if ((double) size > (double) limitSize * table->maxGrowth) return(1); if (size < limitSize) limitSize = size; } x = gybot; y = cuddZddNextHigh(table,x); } return(1); zddGroupSiftingDownOutOfMem: while (*moves != NULL) { move = (*moves)->next; cuddDeallocMove(table, *moves); *moves = move; } return(0); } /* end of zddGroupSiftingDown */ /**Function******************************************************************** Synopsis [Swaps two groups and records the move.] Description [Swaps two groups and records the move. Returns the number of keys in the DD table in case of success; 0 otherwise.] SideEffects [None] ******************************************************************************/ static int zddGroupMove( DdManager * table, int x, int y, Move ** moves) { Move *move; int size; int i,j,xtop,xbot,xsize,ytop,ybot,ysize,newxtop; int swapx,swapy; #if defined(DD_DEBUG) && defined(DD_VERBOSE) int initialSize,bestSize; #endif #ifdef DD_DEBUG /* We assume that x < y */ assert(x < y); #endif /* Find top, bottom, and size for the two groups. */ xbot = x; xtop = table->subtableZ[x].next; xsize = xbot - xtop + 1; ybot = y; while ((unsigned) ybot < table->subtableZ[ybot].next) ybot = table->subtableZ[ybot].next; ytop = y; ysize = ybot - ytop + 1; #if defined(DD_DEBUG) && defined(DD_VERBOSE) initialSize = bestSize = table->keysZ; #endif /* Sift the variables of the second group up through the first group */ for (i = 1; i <= ysize; i++) { for (j = 1; j <= xsize; j++) { size = cuddZddSwapInPlace(table,x,y); if (size == 0) goto zddGroupMoveOutOfMem; #if defined(DD_DEBUG) && defined(DD_VERBOSE) if (size < bestSize) bestSize = size; #endif swapx = x; swapy = y; y = x; x = cuddZddNextLow(table,y); } y = ytop + i; x = cuddZddNextLow(table,y); } #if defined(DD_DEBUG) && defined(DD_VERBOSE) if ((bestSize < initialSize) && (bestSize < size)) (void) fprintf(table->out,"Missed local minimum: initialSize:%d bestSize:%d finalSize:%d\n",initialSize,bestSize,size); #endif /* fix groups */ y = xtop; /* ytop is now where xtop used to be */ for (i = 0; i < ysize - 1; i++) { table->subtableZ[y].next = cuddZddNextHigh(table,y); y = cuddZddNextHigh(table,y); } table->subtableZ[y].next = xtop; /* y is bottom of its group, join */ /* it to top of its group */ x = cuddZddNextHigh(table,y); newxtop = x; for (i = 0; i < xsize - 1; i++) { table->subtableZ[x].next = cuddZddNextHigh(table,x); x = cuddZddNextHigh(table,x); } table->subtableZ[x].next = newxtop; /* x is bottom of its group, join */ /* it to top of its group */ #ifdef DD_DEBUG if (pr > 0) (void) fprintf(table->out,"zddGroupMove:\n"); #endif /* Store group move */ move = (Move *) cuddDynamicAllocNode(table); if (move == NULL) goto zddGroupMoveOutOfMem; move->x = swapx; move->y = swapy; move->flags = MTR_DEFAULT; move->size = table->keysZ; move->next = *moves; *moves = move; return(table->keysZ); zddGroupMoveOutOfMem: while (*moves != NULL) { move = (*moves)->next; cuddDeallocMove(table, *moves); *moves = move; } return(0); } /* end of zddGroupMove */ /**Function******************************************************************** Synopsis [Undoes the swap two groups.] Description [Undoes the swap two groups. Returns 1 in case of success; 0 otherwise.] SideEffects [None] ******************************************************************************/ static int zddGroupMoveBackward( DdManager * table, int x, int y) { int size; int i,j,xtop,xbot,xsize,ytop,ybot,ysize,newxtop; #ifdef DD_DEBUG /* We assume that x < y */ assert(x < y); #endif /* Find top, bottom, and size for the two groups. */ xbot = x; xtop = table->subtableZ[x].next; xsize = xbot - xtop + 1; ybot = y; while ((unsigned) ybot < table->subtableZ[ybot].next) ybot = table->subtableZ[ybot].next; ytop = y; ysize = ybot - ytop + 1; /* Sift the variables of the second group up through the first group */ for (i = 1; i <= ysize; i++) { for (j = 1; j <= xsize; j++) { size = cuddZddSwapInPlace(table,x,y); if (size == 0) return(0); y = x; x = cuddZddNextLow(table,y); } y = ytop + i; x = cuddZddNextLow(table,y); } /* fix groups */ y = xtop; for (i = 0; i < ysize - 1; i++) { table->subtableZ[y].next = cuddZddNextHigh(table,y); y = cuddZddNextHigh(table,y); } table->subtableZ[y].next = xtop; /* y is bottom of its group, join */ /* to its top */ x = cuddZddNextHigh(table,y); newxtop = x; for (i = 0; i < xsize - 1; i++) { table->subtableZ[x].next = cuddZddNextHigh(table,x); x = cuddZddNextHigh(table,x); } table->subtableZ[x].next = newxtop; /* x is bottom of its group, join */ /* to its top */ #ifdef DD_DEBUG if (pr > 0) (void) fprintf(table->out,"zddGroupMoveBackward:\n"); #endif return(1); } /* end of zddGroupMoveBackward */ /**Function******************************************************************** Synopsis [Determines the best position for a variables and returns it there.] Description [Determines the best position for a variables and returns it there. Returns 1 in case of success; 0 otherwise.] SideEffects [None] ******************************************************************************/ static int zddGroupSiftingBackward( DdManager * table, Move * moves, int size) { Move *move; int res; for (move = moves; move != NULL; move = move->next) { if (move->size < size) { size = move->size; } } for (move = moves; move != NULL; move = move->next) { if (move->size == size) return(1); if ((table->subtableZ[move->x].next == move->x) && (table->subtableZ[move->y].next == move->y)) { res = cuddZddSwapInPlace(table,(int)move->x,(int)move->y); if (!res) return(0); #ifdef DD_DEBUG if (pr > 0) (void) fprintf(table->out,"zddGroupSiftingBackward:\n"); assert(table->subtableZ[move->x].next == move->x); assert(table->subtableZ[move->y].next == move->y); #endif } else { /* Group move necessary */ res = zddGroupMoveBackward(table,(int)move->x,(int)move->y); if (!res) return(0); } } return(1); } /* end of zddGroupSiftingBackward */ /**Function******************************************************************** Synopsis [Merges groups in the DD table.] Description [Creates a single group from low to high and adjusts the idex field of the tree node.] SideEffects [None] ******************************************************************************/ static void zddMergeGroups( DdManager * table, MtrNode * treenode, int low, int high) { int i; MtrNode *auxnode; int saveindex; int newindex; /* Merge all variables from low to high in one group, unless ** this is the topmost group. In such a case we do not merge lest ** we lose the symmetry information. */ if (treenode != table->treeZ) { for (i = low; i < high; i++) table->subtableZ[i].next = i+1; table->subtableZ[high].next = low; } /* Adjust the index fields of the tree nodes. If a node is the ** first child of its parent, then the parent may also need adjustment. */ saveindex = treenode->index; newindex = table->invpermZ[low]; auxnode = treenode; do { auxnode->index = newindex; if (auxnode->parent == NULL || (int) auxnode->parent->index != saveindex) break; auxnode = auxnode->parent; } while (1); return; } /* end of zddMergeGroups */ BRiAl-1.2.12/cudd/cuddZddIsop.c000066400000000000000000000620031436062512100160260ustar00rootroot00000000000000/**CFile*********************************************************************** FileName [cuddZddIsop.c] PackageName [cudd] Synopsis [Functions to find irredundant SOP covers as ZDDs from BDDs.] Description [External procedures included in this module:
        • Cudd_bddIsop()
        • Cudd_zddIsop()
        • Cudd_MakeBddFromZddCover()
        Internal procedures included in this module:
        • cuddBddIsop()
        • cuddZddIsop()
        • cuddMakeBddFromZddCover()
        Static procedures included in this module:
        ] SeeAlso [] Author [In-Ho Moon] Copyright [Copyright (c) 1995-2012, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.] ******************************************************************************/ #include "util.h" #include "cuddInt.h" /*---------------------------------------------------------------------------*/ /* Constant declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Stucture declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Type declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Variable declarations */ /*---------------------------------------------------------------------------*/ #ifndef lint static char rcsid[] DD_UNUSED = "$Id: cuddZddIsop.c,v 1.22 2012/02/05 01:07:19 fabio Exp $"; #endif /*---------------------------------------------------------------------------*/ /* Macro declarations */ /*---------------------------------------------------------------------------*/ /**AutomaticStart*************************************************************/ /*---------------------------------------------------------------------------*/ /* Static function prototypes */ /*---------------------------------------------------------------------------*/ /**AutomaticEnd***************************************************************/ /*---------------------------------------------------------------------------*/ /* Definition of exported functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Computes an ISOP in ZDD form from BDDs.] Description [Computes an irredundant sum of products (ISOP) in ZDD form from BDDs. The two BDDs L and U represent the lower bound and the upper bound, respectively, of the function. The ISOP uses two ZDD variables for each BDD variable: One for the positive literal, and one for the negative literal. These two variables should be adjacent in the ZDD order. The two ZDD variables corresponding to BDD variable i should have indices 2i and 2i+1. The result of this procedure depends on the variable order. If successful, Cudd_zddIsop returns the BDD for the function chosen from the interval. The ZDD representing the irredundant cover is returned as a side effect in zdd_I. In case of failure, NULL is returned.] SideEffects [zdd_I holds the pointer to the ZDD for the ISOP on successful return.] SeeAlso [Cudd_bddIsop Cudd_zddVarsFromBddVars] ******************************************************************************/ DdNode * Cudd_zddIsop( DdManager * dd, DdNode * L, DdNode * U, DdNode ** zdd_I) { DdNode *res; int autoDynZ; autoDynZ = dd->autoDynZ; dd->autoDynZ = 0; do { dd->reordered = 0; res = cuddZddIsop(dd, L, U, zdd_I); } while (dd->reordered == 1); dd->autoDynZ = autoDynZ; return(res); } /* end of Cudd_zddIsop */ /**Function******************************************************************** Synopsis [Computes a BDD in the interval between L and U with a simple sum-of-product cover.] Description [Computes a BDD in the interval between L and U with a simple sum-of-product cover. This procedure is similar to Cudd_zddIsop, but it does not return the ZDD for the cover. Returns a pointer to the BDD if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_zddIsop] ******************************************************************************/ DdNode * Cudd_bddIsop( DdManager * dd, DdNode * L, DdNode * U) { DdNode *res; do { dd->reordered = 0; res = cuddBddIsop(dd, L, U); } while (dd->reordered == 1); return(res); } /* end of Cudd_bddIsop */ /**Function******************************************************************** Synopsis [Converts a ZDD cover to a BDD.] Description [Converts a ZDD cover to a BDD for the function represented by the cover. If successful, it returns a BDD node, otherwise it returns NULL.] SideEffects [] SeeAlso [Cudd_zddIsop] ******************************************************************************/ DdNode * Cudd_MakeBddFromZddCover( DdManager * dd, DdNode * node) { DdNode *res; do { dd->reordered = 0; res = cuddMakeBddFromZddCover(dd, node); } while (dd->reordered == 1); return(res); } /* end of Cudd_MakeBddFromZddCover */ /*---------------------------------------------------------------------------*/ /* Definition of internal functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_zddIsop.] Description [] SideEffects [None] SeeAlso [Cudd_zddIsop] ******************************************************************************/ DdNode * cuddZddIsop( DdManager * dd, DdNode * L, DdNode * U, DdNode ** zdd_I) { DdNode *one = DD_ONE(dd); DdNode *zero = Cudd_Not(one); DdNode *zdd_one = DD_ONE(dd); DdNode *zdd_zero = DD_ZERO(dd); int v, top_l, top_u; DdNode *Lsub0, *Usub0, *Lsub1, *Usub1, *Ld, *Ud; DdNode *Lsuper0, *Usuper0, *Lsuper1, *Usuper1; DdNode *Isub0, *Isub1, *Id; DdNode *zdd_Isub0, *zdd_Isub1, *zdd_Id; DdNode *x; DdNode *term0, *term1, *sum; DdNode *Lv, *Uv, *Lnv, *Unv; DdNode *r, *y, *z; int index; DD_CTFP cacheOp; statLine(dd); if (L == zero) { *zdd_I = zdd_zero; return(zero); } if (U == one) { *zdd_I = zdd_one; return(one); } if (U == zero || L == one) { printf("*** ERROR : illegal condition for ISOP (U < L).\n"); exit(1); } /* Check the cache. We store two results for each recursive call. ** One is the BDD, and the other is the ZDD. Both are needed. ** Hence we need a double hit in the cache to terminate the ** recursion. Clearly, collisions may evict only one of the two ** results. */ cacheOp = (DD_CTFP) cuddZddIsop; r = cuddCacheLookup2(dd, cuddBddIsop, L, U); if (r) { *zdd_I = cuddCacheLookup2Zdd(dd, cacheOp, L, U); if (*zdd_I) return(r); else { /* The BDD result may have been dead. In that case ** cuddCacheLookup2 would have called cuddReclaim, ** whose effects we now have to undo. */ cuddRef(r); Cudd_RecursiveDeref(dd, r); } } top_l = dd->perm[Cudd_Regular(L)->index]; top_u = dd->perm[Cudd_Regular(U)->index]; v = ddMin(top_l, top_u); /* Compute cofactors. */ if (top_l == v) { index = Cudd_Regular(L)->index; Lv = Cudd_T(L); Lnv = Cudd_E(L); if (Cudd_IsComplement(L)) { Lv = Cudd_Not(Lv); Lnv = Cudd_Not(Lnv); } } else { index = Cudd_Regular(U)->index; Lv = Lnv = L; } if (top_u == v) { Uv = Cudd_T(U); Unv = Cudd_E(U); if (Cudd_IsComplement(U)) { Uv = Cudd_Not(Uv); Unv = Cudd_Not(Unv); } } else { Uv = Unv = U; } Lsub0 = cuddBddAndRecur(dd, Lnv, Cudd_Not(Uv)); if (Lsub0 == NULL) return(NULL); Cudd_Ref(Lsub0); Usub0 = Unv; Lsub1 = cuddBddAndRecur(dd, Lv, Cudd_Not(Unv)); if (Lsub1 == NULL) { Cudd_RecursiveDeref(dd, Lsub0); return(NULL); } Cudd_Ref(Lsub1); Usub1 = Uv; Isub0 = cuddZddIsop(dd, Lsub0, Usub0, &zdd_Isub0); if (Isub0 == NULL) { Cudd_RecursiveDeref(dd, Lsub0); Cudd_RecursiveDeref(dd, Lsub1); return(NULL); } /* if ((!cuddIsConstant(Cudd_Regular(Isub0))) && (Cudd_Regular(Isub0)->index != zdd_Isub0->index / 2 || dd->permZ[index * 2] > dd->permZ[zdd_Isub0->index])) { printf("*** ERROR : illegal permutation in ZDD. ***\n"); } */ Cudd_Ref(Isub0); Cudd_Ref(zdd_Isub0); Isub1 = cuddZddIsop(dd, Lsub1, Usub1, &zdd_Isub1); if (Isub1 == NULL) { Cudd_RecursiveDeref(dd, Lsub0); Cudd_RecursiveDeref(dd, Lsub1); Cudd_RecursiveDeref(dd, Isub0); Cudd_RecursiveDerefZdd(dd, zdd_Isub0); return(NULL); } /* if ((!cuddIsConstant(Cudd_Regular(Isub1))) && (Cudd_Regular(Isub1)->index != zdd_Isub1->index / 2 || dd->permZ[index * 2] > dd->permZ[zdd_Isub1->index])) { printf("*** ERROR : illegal permutation in ZDD. ***\n"); } */ Cudd_Ref(Isub1); Cudd_Ref(zdd_Isub1); Cudd_RecursiveDeref(dd, Lsub0); Cudd_RecursiveDeref(dd, Lsub1); Lsuper0 = cuddBddAndRecur(dd, Lnv, Cudd_Not(Isub0)); if (Lsuper0 == NULL) { Cudd_RecursiveDeref(dd, Isub0); Cudd_RecursiveDerefZdd(dd, zdd_Isub0); Cudd_RecursiveDeref(dd, Isub1); Cudd_RecursiveDerefZdd(dd, zdd_Isub1); return(NULL); } Cudd_Ref(Lsuper0); Lsuper1 = cuddBddAndRecur(dd, Lv, Cudd_Not(Isub1)); if (Lsuper1 == NULL) { Cudd_RecursiveDeref(dd, Isub0); Cudd_RecursiveDerefZdd(dd, zdd_Isub0); Cudd_RecursiveDeref(dd, Isub1); Cudd_RecursiveDerefZdd(dd, zdd_Isub1); Cudd_RecursiveDeref(dd, Lsuper0); return(NULL); } Cudd_Ref(Lsuper1); Usuper0 = Unv; Usuper1 = Uv; /* Ld = Lsuper0 + Lsuper1 */ Ld = cuddBddAndRecur(dd, Cudd_Not(Lsuper0), Cudd_Not(Lsuper1)); if (Ld == NULL) { Cudd_RecursiveDeref(dd, Isub0); Cudd_RecursiveDerefZdd(dd, zdd_Isub0); Cudd_RecursiveDeref(dd, Isub1); Cudd_RecursiveDerefZdd(dd, zdd_Isub1); Cudd_RecursiveDeref(dd, Lsuper0); Cudd_RecursiveDeref(dd, Lsuper1); return(NULL); } Ld = Cudd_Not(Ld); Cudd_Ref(Ld); /* Ud = Usuper0 * Usuper1 */ Ud = cuddBddAndRecur(dd, Usuper0, Usuper1); if (Ud == NULL) { Cudd_RecursiveDeref(dd, Isub0); Cudd_RecursiveDerefZdd(dd, zdd_Isub0); Cudd_RecursiveDeref(dd, Isub1); Cudd_RecursiveDerefZdd(dd, zdd_Isub1); Cudd_RecursiveDeref(dd, Lsuper0); Cudd_RecursiveDeref(dd, Lsuper1); Cudd_RecursiveDeref(dd, Ld); return(NULL); } Cudd_Ref(Ud); Cudd_RecursiveDeref(dd, Lsuper0); Cudd_RecursiveDeref(dd, Lsuper1); Id = cuddZddIsop(dd, Ld, Ud, &zdd_Id); if (Id == NULL) { Cudd_RecursiveDeref(dd, Isub0); Cudd_RecursiveDerefZdd(dd, zdd_Isub0); Cudd_RecursiveDeref(dd, Isub1); Cudd_RecursiveDerefZdd(dd, zdd_Isub1); Cudd_RecursiveDeref(dd, Ld); Cudd_RecursiveDeref(dd, Ud); return(NULL); } /* if ((!cuddIsConstant(Cudd_Regular(Id))) && (Cudd_Regular(Id)->index != zdd_Id->index / 2 || dd->permZ[index * 2] > dd->permZ[zdd_Id->index])) { printf("*** ERROR : illegal permutation in ZDD. ***\n"); } */ Cudd_Ref(Id); Cudd_Ref(zdd_Id); Cudd_RecursiveDeref(dd, Ld); Cudd_RecursiveDeref(dd, Ud); x = cuddUniqueInter(dd, index, one, zero); if (x == NULL) { Cudd_RecursiveDeref(dd, Isub0); Cudd_RecursiveDerefZdd(dd, zdd_Isub0); Cudd_RecursiveDeref(dd, Isub1); Cudd_RecursiveDerefZdd(dd, zdd_Isub1); Cudd_RecursiveDeref(dd, Id); Cudd_RecursiveDerefZdd(dd, zdd_Id); return(NULL); } Cudd_Ref(x); /* term0 = x * Isub0 */ term0 = cuddBddAndRecur(dd, Cudd_Not(x), Isub0); if (term0 == NULL) { Cudd_RecursiveDeref(dd, Isub0); Cudd_RecursiveDerefZdd(dd, zdd_Isub0); Cudd_RecursiveDeref(dd, Isub1); Cudd_RecursiveDerefZdd(dd, zdd_Isub1); Cudd_RecursiveDeref(dd, Id); Cudd_RecursiveDerefZdd(dd, zdd_Id); Cudd_RecursiveDeref(dd, x); return(NULL); } Cudd_Ref(term0); Cudd_RecursiveDeref(dd, Isub0); /* term1 = x * Isub1 */ term1 = cuddBddAndRecur(dd, x, Isub1); if (term1 == NULL) { Cudd_RecursiveDerefZdd(dd, zdd_Isub0); Cudd_RecursiveDeref(dd, Isub1); Cudd_RecursiveDerefZdd(dd, zdd_Isub1); Cudd_RecursiveDeref(dd, Id); Cudd_RecursiveDerefZdd(dd, zdd_Id); Cudd_RecursiveDeref(dd, x); Cudd_RecursiveDeref(dd, term0); return(NULL); } Cudd_Ref(term1); Cudd_RecursiveDeref(dd, x); Cudd_RecursiveDeref(dd, Isub1); /* sum = term0 + term1 */ sum = cuddBddAndRecur(dd, Cudd_Not(term0), Cudd_Not(term1)); if (sum == NULL) { Cudd_RecursiveDerefZdd(dd, zdd_Isub0); Cudd_RecursiveDerefZdd(dd, zdd_Isub1); Cudd_RecursiveDeref(dd, Id); Cudd_RecursiveDerefZdd(dd, zdd_Id); Cudd_RecursiveDeref(dd, term0); Cudd_RecursiveDeref(dd, term1); return(NULL); } sum = Cudd_Not(sum); Cudd_Ref(sum); Cudd_RecursiveDeref(dd, term0); Cudd_RecursiveDeref(dd, term1); /* r = sum + Id */ r = cuddBddAndRecur(dd, Cudd_Not(sum), Cudd_Not(Id)); r = Cudd_NotCond(r, r != NULL); if (r == NULL) { Cudd_RecursiveDerefZdd(dd, zdd_Isub0); Cudd_RecursiveDerefZdd(dd, zdd_Isub1); Cudd_RecursiveDeref(dd, Id); Cudd_RecursiveDerefZdd(dd, zdd_Id); Cudd_RecursiveDeref(dd, sum); return(NULL); } Cudd_Ref(r); Cudd_RecursiveDeref(dd, sum); Cudd_RecursiveDeref(dd, Id); if (zdd_Isub0 != zdd_zero) { z = cuddZddGetNodeIVO(dd, index * 2 + 1, zdd_Isub0, zdd_Id); if (z == NULL) { Cudd_RecursiveDerefZdd(dd, zdd_Isub0); Cudd_RecursiveDerefZdd(dd, zdd_Isub1); Cudd_RecursiveDerefZdd(dd, zdd_Id); Cudd_RecursiveDeref(dd, r); return(NULL); } } else { z = zdd_Id; } Cudd_Ref(z); if (zdd_Isub1 != zdd_zero) { y = cuddZddGetNodeIVO(dd, index * 2, zdd_Isub1, z); if (y == NULL) { Cudd_RecursiveDerefZdd(dd, zdd_Isub0); Cudd_RecursiveDerefZdd(dd, zdd_Isub1); Cudd_RecursiveDerefZdd(dd, zdd_Id); Cudd_RecursiveDeref(dd, r); Cudd_RecursiveDerefZdd(dd, z); return(NULL); } } else y = z; Cudd_Ref(y); Cudd_RecursiveDerefZdd(dd, zdd_Isub0); Cudd_RecursiveDerefZdd(dd, zdd_Isub1); Cudd_RecursiveDerefZdd(dd, zdd_Id); Cudd_RecursiveDerefZdd(dd, z); cuddCacheInsert2(dd, cuddBddIsop, L, U, r); cuddCacheInsert2(dd, cacheOp, L, U, y); Cudd_Deref(r); Cudd_Deref(y); *zdd_I = y; /* if (Cudd_Regular(r)->index != y->index / 2) { printf("*** ERROR : mismatch in indices between BDD and ZDD. ***\n"); } */ return(r); } /* end of cuddZddIsop */ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_bddIsop.] Description [] SideEffects [None] SeeAlso [Cudd_bddIsop] ******************************************************************************/ DdNode * cuddBddIsop( DdManager * dd, DdNode * L, DdNode * U) { DdNode *one = DD_ONE(dd); DdNode *zero = Cudd_Not(one); int v, top_l, top_u; DdNode *Lsub0, *Usub0, *Lsub1, *Usub1, *Ld, *Ud; DdNode *Lsuper0, *Usuper0, *Lsuper1, *Usuper1; DdNode *Isub0, *Isub1, *Id; DdNode *x; DdNode *term0, *term1, *sum; DdNode *Lv, *Uv, *Lnv, *Unv; DdNode *r; int index; statLine(dd); if (L == zero) return(zero); if (U == one) return(one); /* Check cache */ r = cuddCacheLookup2(dd, cuddBddIsop, L, U); if (r) return(r); top_l = dd->perm[Cudd_Regular(L)->index]; top_u = dd->perm[Cudd_Regular(U)->index]; v = ddMin(top_l, top_u); /* Compute cofactors */ if (top_l == v) { index = Cudd_Regular(L)->index; Lv = Cudd_T(L); Lnv = Cudd_E(L); if (Cudd_IsComplement(L)) { Lv = Cudd_Not(Lv); Lnv = Cudd_Not(Lnv); } } else { index = Cudd_Regular(U)->index; Lv = Lnv = L; } if (top_u == v) { Uv = Cudd_T(U); Unv = Cudd_E(U); if (Cudd_IsComplement(U)) { Uv = Cudd_Not(Uv); Unv = Cudd_Not(Unv); } } else { Uv = Unv = U; } Lsub0 = cuddBddAndRecur(dd, Lnv, Cudd_Not(Uv)); if (Lsub0 == NULL) return(NULL); Cudd_Ref(Lsub0); Usub0 = Unv; Lsub1 = cuddBddAndRecur(dd, Lv, Cudd_Not(Unv)); if (Lsub1 == NULL) { Cudd_RecursiveDeref(dd, Lsub0); return(NULL); } Cudd_Ref(Lsub1); Usub1 = Uv; Isub0 = cuddBddIsop(dd, Lsub0, Usub0); if (Isub0 == NULL) { Cudd_RecursiveDeref(dd, Lsub0); Cudd_RecursiveDeref(dd, Lsub1); return(NULL); } Cudd_Ref(Isub0); Isub1 = cuddBddIsop(dd, Lsub1, Usub1); if (Isub1 == NULL) { Cudd_RecursiveDeref(dd, Lsub0); Cudd_RecursiveDeref(dd, Lsub1); Cudd_RecursiveDeref(dd, Isub0); return(NULL); } Cudd_Ref(Isub1); Cudd_RecursiveDeref(dd, Lsub0); Cudd_RecursiveDeref(dd, Lsub1); Lsuper0 = cuddBddAndRecur(dd, Lnv, Cudd_Not(Isub0)); if (Lsuper0 == NULL) { Cudd_RecursiveDeref(dd, Isub0); Cudd_RecursiveDeref(dd, Isub1); return(NULL); } Cudd_Ref(Lsuper0); Lsuper1 = cuddBddAndRecur(dd, Lv, Cudd_Not(Isub1)); if (Lsuper1 == NULL) { Cudd_RecursiveDeref(dd, Isub0); Cudd_RecursiveDeref(dd, Isub1); Cudd_RecursiveDeref(dd, Lsuper0); return(NULL); } Cudd_Ref(Lsuper1); Usuper0 = Unv; Usuper1 = Uv; /* Ld = Lsuper0 + Lsuper1 */ Ld = cuddBddAndRecur(dd, Cudd_Not(Lsuper0), Cudd_Not(Lsuper1)); Ld = Cudd_NotCond(Ld, Ld != NULL); if (Ld == NULL) { Cudd_RecursiveDeref(dd, Isub0); Cudd_RecursiveDeref(dd, Isub1); Cudd_RecursiveDeref(dd, Lsuper0); Cudd_RecursiveDeref(dd, Lsuper1); return(NULL); } Cudd_Ref(Ld); Ud = cuddBddAndRecur(dd, Usuper0, Usuper1); if (Ud == NULL) { Cudd_RecursiveDeref(dd, Isub0); Cudd_RecursiveDeref(dd, Isub1); Cudd_RecursiveDeref(dd, Lsuper0); Cudd_RecursiveDeref(dd, Lsuper1); Cudd_RecursiveDeref(dd, Ld); return(NULL); } Cudd_Ref(Ud); Cudd_RecursiveDeref(dd, Lsuper0); Cudd_RecursiveDeref(dd, Lsuper1); Id = cuddBddIsop(dd, Ld, Ud); if (Id == NULL) { Cudd_RecursiveDeref(dd, Isub0); Cudd_RecursiveDeref(dd, Isub1); Cudd_RecursiveDeref(dd, Ld); Cudd_RecursiveDeref(dd, Ud); return(NULL); } Cudd_Ref(Id); Cudd_RecursiveDeref(dd, Ld); Cudd_RecursiveDeref(dd, Ud); x = cuddUniqueInter(dd, index, one, zero); if (x == NULL) { Cudd_RecursiveDeref(dd, Isub0); Cudd_RecursiveDeref(dd, Isub1); Cudd_RecursiveDeref(dd, Id); return(NULL); } Cudd_Ref(x); term0 = cuddBddAndRecur(dd, Cudd_Not(x), Isub0); if (term0 == NULL) { Cudd_RecursiveDeref(dd, Isub0); Cudd_RecursiveDeref(dd, Isub1); Cudd_RecursiveDeref(dd, Id); Cudd_RecursiveDeref(dd, x); return(NULL); } Cudd_Ref(term0); Cudd_RecursiveDeref(dd, Isub0); term1 = cuddBddAndRecur(dd, x, Isub1); if (term1 == NULL) { Cudd_RecursiveDeref(dd, Isub1); Cudd_RecursiveDeref(dd, Id); Cudd_RecursiveDeref(dd, x); Cudd_RecursiveDeref(dd, term0); return(NULL); } Cudd_Ref(term1); Cudd_RecursiveDeref(dd, x); Cudd_RecursiveDeref(dd, Isub1); /* sum = term0 + term1 */ sum = cuddBddAndRecur(dd, Cudd_Not(term0), Cudd_Not(term1)); sum = Cudd_NotCond(sum, sum != NULL); if (sum == NULL) { Cudd_RecursiveDeref(dd, Id); Cudd_RecursiveDeref(dd, term0); Cudd_RecursiveDeref(dd, term1); return(NULL); } Cudd_Ref(sum); Cudd_RecursiveDeref(dd, term0); Cudd_RecursiveDeref(dd, term1); /* r = sum + Id */ r = cuddBddAndRecur(dd, Cudd_Not(sum), Cudd_Not(Id)); r = Cudd_NotCond(r, r != NULL); if (r == NULL) { Cudd_RecursiveDeref(dd, Id); Cudd_RecursiveDeref(dd, sum); return(NULL); } Cudd_Ref(r); Cudd_RecursiveDeref(dd, sum); Cudd_RecursiveDeref(dd, Id); cuddCacheInsert2(dd, cuddBddIsop, L, U, r); Cudd_Deref(r); return(r); } /* end of cuddBddIsop */ /**Function******************************************************************** Synopsis [Converts a ZDD cover to a BDD.] Description [Converts a ZDD cover to a BDD. If successful, it returns a BDD node, otherwise it returns NULL. It is a recursive algorithm that works as follows. First it computes 3 cofactors of a ZDD cover: f1, f0 and fd. Second, it compute BDDs (b1, b0 and bd) of f1, f0 and fd. Third, it computes T=b1+bd and E=b0+bd. Fourth, it computes ITE(v,T,E) where v is the variable which has the index of the top node of the ZDD cover. In this case, since the index of v can be larger than either the one of T or the one of E, cuddUniqueInterIVO is called, where IVO stands for independent from variable ordering.] SideEffects [] SeeAlso [Cudd_MakeBddFromZddCover] ******************************************************************************/ DdNode * cuddMakeBddFromZddCover( DdManager * dd, DdNode * node) { DdNode *neW; int v; DdNode *f1, *f0, *fd; DdNode *b1, *b0, *bd; DdNode *T, *E; statLine(dd); if (node == dd->one) return(dd->one); if (node == dd->zero) return(Cudd_Not(dd->one)); /* Check cache */ neW = cuddCacheLookup1(dd, cuddMakeBddFromZddCover, node); if (neW) return(neW); v = Cudd_Regular(node)->index; /* either yi or zi */ if (cuddZddGetCofactors3(dd, node, v, &f1, &f0, &fd)) return(NULL); Cudd_Ref(f1); Cudd_Ref(f0); Cudd_Ref(fd); b1 = cuddMakeBddFromZddCover(dd, f1); if (!b1) { Cudd_RecursiveDerefZdd(dd, f1); Cudd_RecursiveDerefZdd(dd, f0); Cudd_RecursiveDerefZdd(dd, fd); return(NULL); } Cudd_Ref(b1); b0 = cuddMakeBddFromZddCover(dd, f0); if (!b0) { Cudd_RecursiveDerefZdd(dd, f1); Cudd_RecursiveDerefZdd(dd, f0); Cudd_RecursiveDerefZdd(dd, fd); Cudd_RecursiveDeref(dd, b1); return(NULL); } Cudd_Ref(b0); Cudd_RecursiveDerefZdd(dd, f1); Cudd_RecursiveDerefZdd(dd, f0); if (fd != dd->zero) { bd = cuddMakeBddFromZddCover(dd, fd); if (!bd) { Cudd_RecursiveDerefZdd(dd, fd); Cudd_RecursiveDeref(dd, b1); Cudd_RecursiveDeref(dd, b0); return(NULL); } Cudd_Ref(bd); Cudd_RecursiveDerefZdd(dd, fd); T = cuddBddAndRecur(dd, Cudd_Not(b1), Cudd_Not(bd)); if (!T) { Cudd_RecursiveDeref(dd, b1); Cudd_RecursiveDeref(dd, b0); Cudd_RecursiveDeref(dd, bd); return(NULL); } T = Cudd_NotCond(T, T != NULL); Cudd_Ref(T); Cudd_RecursiveDeref(dd, b1); E = cuddBddAndRecur(dd, Cudd_Not(b0), Cudd_Not(bd)); if (!E) { Cudd_RecursiveDeref(dd, b0); Cudd_RecursiveDeref(dd, bd); Cudd_RecursiveDeref(dd, T); return(NULL); } E = Cudd_NotCond(E, E != NULL); Cudd_Ref(E); Cudd_RecursiveDeref(dd, b0); Cudd_RecursiveDeref(dd, bd); } else { Cudd_RecursiveDerefZdd(dd, fd); T = b1; E = b0; } if (Cudd_IsComplement(T)) { neW = cuddUniqueInterIVO(dd, v / 2, Cudd_Not(T), Cudd_Not(E)); if (!neW) { Cudd_RecursiveDeref(dd, T); Cudd_RecursiveDeref(dd, E); return(NULL); } neW = Cudd_Not(neW); } else { neW = cuddUniqueInterIVO(dd, v / 2, T, E); if (!neW) { Cudd_RecursiveDeref(dd, T); Cudd_RecursiveDeref(dd, E); return(NULL); } } Cudd_Ref(neW); Cudd_RecursiveDeref(dd, T); Cudd_RecursiveDeref(dd, E); cuddCacheInsert1(dd, cuddMakeBddFromZddCover, node, neW); Cudd_Deref(neW); return(neW); } /* end of cuddMakeBddFromZddCover */ /*---------------------------------------------------------------------------*/ /* Definition of static functions */ /*---------------------------------------------------------------------------*/ BRiAl-1.2.12/cudd/cuddZddLin.c000066400000000000000000000670341436062512100156470ustar00rootroot00000000000000/**CFile*********************************************************************** FileName [cuddZddLin.c] PackageName [cudd] Synopsis [Procedures for dynamic variable ordering of ZDDs.] Description [Internal procedures included in this module:
        • cuddZddLinearSifting()
        Static procedures included in this module:
        • cuddZddLinearInPlace()
        • cuddZddLinerAux()
        • cuddZddLinearUp()
        • cuddZddLinearDown()
        • cuddZddLinearBackward()
        • cuddZddUndoMoves()
        ] SeeAlso [cuddLinear.c cuddZddReord.c] Author [Fabio Somenzi] Copyright [Copyright (c) 1995-2012, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.] ******************************************************************************/ #include "util.h" #include "cuddInt.h" /*---------------------------------------------------------------------------*/ /* Constant declarations */ /*---------------------------------------------------------------------------*/ #define CUDD_SWAP_MOVE 0 #define CUDD_LINEAR_TRANSFORM_MOVE 1 #define CUDD_INVERSE_TRANSFORM_MOVE 2 /*---------------------------------------------------------------------------*/ /* Stucture declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Type declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Variable declarations */ /*---------------------------------------------------------------------------*/ #ifndef lint static char rcsid[] DD_UNUSED = "$Id: cuddZddLin.c,v 1.16 2012/02/05 01:07:19 fabio Exp $"; #endif extern int *zdd_entry; extern int zddTotalNumberSwapping; static int zddTotalNumberLinearTr; static DdNode *empty; /*---------------------------------------------------------------------------*/ /* Macro declarations */ /*---------------------------------------------------------------------------*/ /**AutomaticStart*************************************************************/ /*---------------------------------------------------------------------------*/ /* Static function prototypes */ /*---------------------------------------------------------------------------*/ static int cuddZddLinearInPlace (DdManager * table, int x, int y); static int cuddZddLinearAux (DdManager *table, int x, int xLow, int xHigh); static Move * cuddZddLinearUp (DdManager *table, int y, int xLow, Move *prevMoves); static Move * cuddZddLinearDown (DdManager *table, int x, int xHigh, Move *prevMoves); static int cuddZddLinearBackward (DdManager *table, int size, Move *moves); static Move* cuddZddUndoMoves (DdManager *table, Move *moves); /**AutomaticEnd***************************************************************/ /*---------------------------------------------------------------------------*/ /* Definition of exported functions */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Definition of internal functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Implementation of the linear sifting algorithm for ZDDs.] Description [Implementation of the linear sifting algorithm for ZDDs. Assumes that no dead nodes are present.
        1. Order all the variables according to the number of entries in each unique table.
        2. Sift the variable up and down and applies the XOR transformation, remembering each time the total size of the DD heap.
        3. Select the best permutation.
        4. Repeat 3 and 4 for all variables.
        Returns 1 if successful; 0 otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ int cuddZddLinearSifting( DdManager * table, int lower, int upper) { int i; int *var; int size; int x; int result; #ifdef DD_STATS int previousSize; #endif size = table->sizeZ; empty = table->zero; /* Find order in which to sift variables. */ var = NULL; zdd_entry = ALLOC(int, size); if (zdd_entry == NULL) { table->errorCode = CUDD_MEMORY_OUT; goto cuddZddSiftingOutOfMem; } var = ALLOC(int, size); if (var == NULL) { table->errorCode = CUDD_MEMORY_OUT; goto cuddZddSiftingOutOfMem; } for (i = 0; i < size; i++) { x = table->permZ[i]; zdd_entry[i] = table->subtableZ[x].keys; var[i] = i; } qsort((void *)var, size, sizeof(int), (DD_QSFP)cuddZddUniqueCompare); /* Now sift. */ for (i = 0; i < ddMin(table->siftMaxVar, size); i++) { if (zddTotalNumberSwapping >= table->siftMaxSwap) break; if (util_cpu_time() - table->startTime > table->timeLimit) { table->autoDynZ = 0; /* prevent further reordering */ break; } x = table->permZ[var[i]]; if (x < lower || x > upper) continue; #ifdef DD_STATS previousSize = table->keysZ; #endif result = cuddZddLinearAux(table, x, lower, upper); if (!result) goto cuddZddSiftingOutOfMem; #ifdef DD_STATS if (table->keysZ < (unsigned) previousSize) { (void) fprintf(table->out,"-"); } else if (table->keysZ > (unsigned) previousSize) { (void) fprintf(table->out,"+"); /* should never happen */ (void) fprintf(table->out,"\nSize increased from %d to %d while sifting variable %d\n", previousSize, table->keysZ , var[i]); } else { (void) fprintf(table->out,"="); } fflush(table->out); #endif } FREE(var); FREE(zdd_entry); return(1); cuddZddSiftingOutOfMem: if (zdd_entry != NULL) FREE(zdd_entry); if (var != NULL) FREE(var); return(0); } /* end of cuddZddLinearSifting */ /*---------------------------------------------------------------------------*/ /* Definition of static functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Linearly combines two adjacent variables.] Description [Linearly combines two adjacent variables. It assumes that no dead nodes are present on entry to this procedure. The procedure then guarantees that no dead nodes will be present when it terminates. cuddZddLinearInPlace assumes that x < y. Returns the number of keys in the table if successful; 0 otherwise.] SideEffects [None] SeeAlso [cuddZddSwapInPlace cuddLinearInPlace] ******************************************************************************/ static int cuddZddLinearInPlace( DdManager * table, int x, int y) { DdNodePtr *xlist, *ylist; int xindex, yindex; int xslots, yslots; int xshift, yshift; int oldxkeys, oldykeys; int newxkeys, newykeys; int i; int posn; DdNode *f, *f1, *f0, *f11, *f10, *f01, *f00; DdNode *newf1, *newf0, *g, *next, *previous; DdNode *special; #ifdef DD_DEBUG assert(x < y); assert(cuddZddNextHigh(table,x) == y); assert(table->subtableZ[x].keys != 0); assert(table->subtableZ[y].keys != 0); assert(table->subtableZ[x].dead == 0); assert(table->subtableZ[y].dead == 0); #endif zddTotalNumberLinearTr++; /* Get parameters of x subtable. */ xindex = table->invpermZ[x]; xlist = table->subtableZ[x].nodelist; oldxkeys = table->subtableZ[x].keys; xslots = table->subtableZ[x].slots; xshift = table->subtableZ[x].shift; newxkeys = 0; /* Get parameters of y subtable. */ yindex = table->invpermZ[y]; ylist = table->subtableZ[y].nodelist; oldykeys = table->subtableZ[y].keys; yslots = table->subtableZ[y].slots; yshift = table->subtableZ[y].shift; newykeys = oldykeys; /* The nodes in the x layer are put in two chains. The chain ** pointed by g holds the normal nodes. When re-expressed they stay ** in the x list. The chain pointed by special holds the elements ** that will move to the y list. */ g = special = NULL; for (i = 0; i < xslots; i++) { f = xlist[i]; if (f == NULL) continue; xlist[i] = NULL; while (f != NULL) { next = f->next; f1 = cuddT(f); /* if (f1->index == yindex) */ cuddSatDec(f1->ref); f0 = cuddE(f); /* if (f0->index == yindex) */ cuddSatDec(f0->ref); if ((int) f1->index == yindex && cuddE(f1) == empty && (int) f0->index != yindex) { f->next = special; special = f; } else { f->next = g; g = f; } f = next; } /* while there are elements in the collision chain */ } /* for each slot of the x subtable */ /* Mark y nodes with pointers from above x. We mark them by ** changing their index to x. */ for (i = 0; i < yslots; i++) { f = ylist[i]; while (f != NULL) { if (f->ref != 0) { f->index = xindex; } f = f->next; } /* while there are elements in the collision chain */ } /* for each slot of the y subtable */ /* Move special nodes to the y list. */ f = special; while (f != NULL) { next = f->next; f1 = cuddT(f); f11 = cuddT(f1); cuddT(f) = f11; cuddSatInc(f11->ref); f0 = cuddE(f); cuddSatInc(f0->ref); f->index = yindex; /* Insert at the beginning of the list so that it will be ** found first if there is a duplicate. The duplicate will ** eventually be moved or garbage collected. No node ** re-expression will add a pointer to it. */ posn = ddHash(f11, f0, yshift); f->next = ylist[posn]; ylist[posn] = f; newykeys++; f = next; } /* Take care of the remaining x nodes that must be re-expressed. ** They form a linked list pointed by g. */ f = g; while (f != NULL) { #ifdef DD_COUNT table->swapSteps++; #endif next = f->next; /* Find f1, f0, f11, f10, f01, f00. */ f1 = cuddT(f); if ((int) f1->index == yindex || (int) f1->index == xindex) { f11 = cuddT(f1); f10 = cuddE(f1); } else { f11 = empty; f10 = f1; } f0 = cuddE(f); if ((int) f0->index == yindex || (int) f0->index == xindex) { f01 = cuddT(f0); f00 = cuddE(f0); } else { f01 = empty; f00 = f0; } /* Create the new T child. */ if (f01 == empty) { newf1 = f10; cuddSatInc(newf1->ref); } else { /* Check ylist for triple (yindex, f01, f10). */ posn = ddHash(f01, f10, yshift); /* For each element newf1 in collision list ylist[posn]. */ newf1 = ylist[posn]; /* Search the collision chain skipping the marked nodes. */ while (newf1 != NULL) { if (cuddT(newf1) == f01 && cuddE(newf1) == f10 && (int) newf1->index == yindex) { cuddSatInc(newf1->ref); break; /* match */ } newf1 = newf1->next; } /* while newf1 */ if (newf1 == NULL) { /* no match */ newf1 = cuddDynamicAllocNode(table); if (newf1 == NULL) goto zddSwapOutOfMem; newf1->index = yindex; newf1->ref = 1; cuddT(newf1) = f01; cuddE(newf1) = f10; /* Insert newf1 in the collision list ylist[pos]; ** increase the ref counts of f01 and f10 */ newykeys++; newf1->next = ylist[posn]; ylist[posn] = newf1; cuddSatInc(f01->ref); cuddSatInc(f10->ref); } } cuddT(f) = newf1; /* Do the same for f0. */ /* Create the new E child. */ if (f11 == empty) { newf0 = f00; cuddSatInc(newf0->ref); } else { /* Check ylist for triple (yindex, f11, f00). */ posn = ddHash(f11, f00, yshift); /* For each element newf0 in collision list ylist[posn]. */ newf0 = ylist[posn]; while (newf0 != NULL) { if (cuddT(newf0) == f11 && cuddE(newf0) == f00 && (int) newf0->index == yindex) { cuddSatInc(newf0->ref); break; /* match */ } newf0 = newf0->next; } /* while newf0 */ if (newf0 == NULL) { /* no match */ newf0 = cuddDynamicAllocNode(table); if (newf0 == NULL) goto zddSwapOutOfMem; newf0->index = yindex; newf0->ref = 1; cuddT(newf0) = f11; cuddE(newf0) = f00; /* Insert newf0 in the collision list ylist[posn]; ** increase the ref counts of f11 and f00. */ newykeys++; newf0->next = ylist[posn]; ylist[posn] = newf0; cuddSatInc(f11->ref); cuddSatInc(f00->ref); } } cuddE(f) = newf0; /* Re-insert the modified f in xlist. ** The modified f does not already exists in xlist. ** (Because of the uniqueness of the cofactors.) */ posn = ddHash(newf1, newf0, xshift); newxkeys++; f->next = xlist[posn]; xlist[posn] = f; f = next; } /* while f != NULL */ /* GC the y layer and move the marked nodes to the x list. */ /* For each node f in ylist. */ for (i = 0; i < yslots; i++) { previous = NULL; f = ylist[i]; while (f != NULL) { next = f->next; if (f->ref == 0) { cuddSatDec(cuddT(f)->ref); cuddSatDec(cuddE(f)->ref); cuddDeallocNode(table, f); newykeys--; if (previous == NULL) ylist[i] = next; else previous->next = next; } else if ((int) f->index == xindex) { /* move marked node */ if (previous == NULL) ylist[i] = next; else previous->next = next; f1 = cuddT(f); cuddSatDec(f1->ref); /* Check ylist for triple (yindex, f1, empty). */ posn = ddHash(f1, empty, yshift); /* For each element newf1 in collision list ylist[posn]. */ newf1 = ylist[posn]; while (newf1 != NULL) { if (cuddT(newf1) == f1 && cuddE(newf1) == empty && (int) newf1->index == yindex) { cuddSatInc(newf1->ref); break; /* match */ } newf1 = newf1->next; } /* while newf1 */ if (newf1 == NULL) { /* no match */ newf1 = cuddDynamicAllocNode(table); if (newf1 == NULL) goto zddSwapOutOfMem; newf1->index = yindex; newf1->ref = 1; cuddT(newf1) = f1; cuddE(newf1) = empty; /* Insert newf1 in the collision list ylist[posn]; ** increase the ref counts of f1 and empty. */ newykeys++; newf1->next = ylist[posn]; ylist[posn] = newf1; if (posn == i && previous == NULL) previous = newf1; cuddSatInc(f1->ref); cuddSatInc(empty->ref); } cuddT(f) = newf1; f0 = cuddE(f); /* Insert f in x list. */ posn = ddHash(newf1, f0, xshift); newxkeys++; newykeys--; f->next = xlist[posn]; xlist[posn] = f; } else { previous = f; } f = next; } /* while f */ } /* for i */ /* Set the appropriate fields in table. */ table->subtableZ[x].keys = newxkeys; table->subtableZ[y].keys = newykeys; table->keysZ += newxkeys + newykeys - oldxkeys - oldykeys; /* Update univ section; univ[x] remains the same. */ table->univ[y] = cuddT(table->univ[x]); #if 0 (void) fprintf(table->out,"x = %d y = %d\n", x, y); (void) Cudd_DebugCheck(table); (void) Cudd_CheckKeys(table); #endif return (table->keysZ); zddSwapOutOfMem: (void) fprintf(table->err, "Error: cuddZddSwapInPlace out of memory\n"); return (0); } /* end of cuddZddLinearInPlace */ /**Function******************************************************************** Synopsis [Given xLow <= x <= xHigh moves x up and down between the boundaries.] Description [Given xLow <= x <= xHigh moves x up and down between the boundaries. Finds the best position and does the required changes. Returns 1 if successful; 0 otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ static int cuddZddLinearAux( DdManager * table, int x, int xLow, int xHigh) { Move *move; Move *moveUp; /* list of up move */ Move *moveDown; /* list of down move */ int initial_size; int result; initial_size = table->keysZ; #ifdef DD_DEBUG assert(table->subtableZ[x].keys > 0); #endif moveDown = NULL; moveUp = NULL; if (x == xLow) { moveDown = cuddZddLinearDown(table, x, xHigh, NULL); /* At this point x --> xHigh. */ if (moveDown == (Move *) CUDD_OUT_OF_MEM) goto cuddZddLinearAuxOutOfMem; /* Move backward and stop at best position. */ result = cuddZddLinearBackward(table, initial_size, moveDown); if (!result) goto cuddZddLinearAuxOutOfMem; } else if (x == xHigh) { moveUp = cuddZddLinearUp(table, x, xLow, NULL); /* At this point x --> xLow. */ if (moveUp == (Move *) CUDD_OUT_OF_MEM) goto cuddZddLinearAuxOutOfMem; /* Move backward and stop at best position. */ result = cuddZddLinearBackward(table, initial_size, moveUp); if (!result) goto cuddZddLinearAuxOutOfMem; } else if ((x - xLow) > (xHigh - x)) { /* must go down first: shorter */ moveDown = cuddZddLinearDown(table, x, xHigh, NULL); /* At this point x --> xHigh. */ if (moveDown == (Move *) CUDD_OUT_OF_MEM) goto cuddZddLinearAuxOutOfMem; moveUp = cuddZddUndoMoves(table,moveDown); #ifdef DD_DEBUG assert(moveUp == NULL || moveUp->x == x); #endif moveUp = cuddZddLinearUp(table, x, xLow, moveUp); if (moveUp == (Move *) CUDD_OUT_OF_MEM) goto cuddZddLinearAuxOutOfMem; /* Move backward and stop at best position. */ result = cuddZddLinearBackward(table, initial_size, moveUp); if (!result) goto cuddZddLinearAuxOutOfMem; } else { moveUp = cuddZddLinearUp(table, x, xLow, NULL); /* At this point x --> xHigh. */ if (moveUp == (Move *) CUDD_OUT_OF_MEM) goto cuddZddLinearAuxOutOfMem; /* Then move up. */ moveDown = cuddZddUndoMoves(table,moveUp); #ifdef DD_DEBUG assert(moveDown == NULL || moveDown->y == x); #endif moveDown = cuddZddLinearDown(table, x, xHigh, moveDown); if (moveDown == (Move *) CUDD_OUT_OF_MEM) goto cuddZddLinearAuxOutOfMem; /* Move backward and stop at best position. */ result = cuddZddLinearBackward(table, initial_size, moveDown); if (!result) goto cuddZddLinearAuxOutOfMem; } while (moveDown != NULL) { move = moveDown->next; cuddDeallocMove(table, moveDown); moveDown = move; } while (moveUp != NULL) { move = moveUp->next; cuddDeallocMove(table, moveUp); moveUp = move; } return(1); cuddZddLinearAuxOutOfMem: if (moveDown != (Move *) CUDD_OUT_OF_MEM) { while (moveDown != NULL) { move = moveDown->next; cuddDeallocMove(table, moveDown); moveDown = move; } } if (moveUp != (Move *) CUDD_OUT_OF_MEM) { while (moveUp != NULL) { move = moveUp->next; cuddDeallocMove(table, moveUp); moveUp = move; } } return(0); } /* end of cuddZddLinearAux */ /**Function******************************************************************** Synopsis [Sifts a variable up applying the XOR transformation.] Description [Sifts a variable up applying the XOR transformation. Moves y up until either it reaches the bound (xLow) or the size of the ZDD heap increases too much. Returns the set of moves in case of success; NULL if memory is full.] SideEffects [None] SeeAlso [] ******************************************************************************/ static Move * cuddZddLinearUp( DdManager * table, int y, int xLow, Move * prevMoves) { Move *moves; Move *move; int x; int size, newsize; int limitSize; moves = prevMoves; limitSize = table->keysZ; x = cuddZddNextLow(table, y); while (x >= xLow) { size = cuddZddSwapInPlace(table, x, y); if (size == 0) goto cuddZddLinearUpOutOfMem; newsize = cuddZddLinearInPlace(table, x, y); if (newsize == 0) goto cuddZddLinearUpOutOfMem; move = (Move *) cuddDynamicAllocNode(table); if (move == NULL) goto cuddZddLinearUpOutOfMem; move->x = x; move->y = y; move->next = moves; moves = move; move->flags = CUDD_SWAP_MOVE; if (newsize > size) { /* Undo transformation. The transformation we apply is ** its own inverse. Hence, we just apply the transformation ** again. */ newsize = cuddZddLinearInPlace(table,x,y); if (newsize == 0) goto cuddZddLinearUpOutOfMem; #ifdef DD_DEBUG if (newsize != size) { (void) fprintf(table->err,"Change in size after identity transformation! From %d to %d\n",size,newsize); } #endif } else { size = newsize; move->flags = CUDD_LINEAR_TRANSFORM_MOVE; } move->size = size; if ((double)size > (double)limitSize * table->maxGrowth) break; if (size < limitSize) limitSize = size; y = x; x = cuddZddNextLow(table, y); } return(moves); cuddZddLinearUpOutOfMem: while (moves != NULL) { move = moves->next; cuddDeallocMove(table, moves); moves = move; } return((Move *) CUDD_OUT_OF_MEM); } /* end of cuddZddLinearUp */ /**Function******************************************************************** Synopsis [Sifts a variable down and applies the XOR transformation.] Description [Sifts a variable down. Moves x down until either it reaches the bound (xHigh) or the size of the ZDD heap increases too much. Returns the set of moves in case of success; NULL if memory is full.] SideEffects [None] SeeAlso [] ******************************************************************************/ static Move * cuddZddLinearDown( DdManager * table, int x, int xHigh, Move * prevMoves) { Move *moves; Move *move; int y; int size, newsize; int limitSize; moves = prevMoves; limitSize = table->keysZ; y = cuddZddNextHigh(table, x); while (y <= xHigh) { size = cuddZddSwapInPlace(table, x, y); if (size == 0) goto cuddZddLinearDownOutOfMem; newsize = cuddZddLinearInPlace(table, x, y); if (newsize == 0) goto cuddZddLinearDownOutOfMem; move = (Move *) cuddDynamicAllocNode(table); if (move == NULL) goto cuddZddLinearDownOutOfMem; move->x = x; move->y = y; move->next = moves; moves = move; move->flags = CUDD_SWAP_MOVE; if (newsize > size) { /* Undo transformation. The transformation we apply is ** its own inverse. Hence, we just apply the transformation ** again. */ newsize = cuddZddLinearInPlace(table,x,y); if (newsize == 0) goto cuddZddLinearDownOutOfMem; if (newsize != size) { (void) fprintf(table->err,"Change in size after identity transformation! From %d to %d\n",size,newsize); } } else { size = newsize; move->flags = CUDD_LINEAR_TRANSFORM_MOVE; } move->size = size; if ((double)size > (double)limitSize * table->maxGrowth) break; if (size < limitSize) limitSize = size; x = y; y = cuddZddNextHigh(table, x); } return(moves); cuddZddLinearDownOutOfMem: while (moves != NULL) { move = moves->next; cuddDeallocMove(table, moves); moves = move; } return((Move *) CUDD_OUT_OF_MEM); } /* end of cuddZddLinearDown */ /**Function******************************************************************** Synopsis [Given a set of moves, returns the ZDD heap to the position giving the minimum size.] Description [Given a set of moves, returns the ZDD heap to the position giving the minimum size. In case of ties, returns to the closest position giving the minimum size. Returns 1 in case of success; 0 otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ static int cuddZddLinearBackward( DdManager * table, int size, Move * moves) { Move *move; int res; /* Find the minimum size among moves. */ for (move = moves; move != NULL; move = move->next) { if (move->size < size) { size = move->size; } } for (move = moves; move != NULL; move = move->next) { if (move->size == size) return(1); if (move->flags == CUDD_LINEAR_TRANSFORM_MOVE) { res = cuddZddLinearInPlace(table,(int)move->x,(int)move->y); if (!res) return(0); } res = cuddZddSwapInPlace(table, move->x, move->y); if (!res) return(0); if (move->flags == CUDD_INVERSE_TRANSFORM_MOVE) { res = cuddZddLinearInPlace(table,(int)move->x,(int)move->y); if (!res) return(0); } } return(1); } /* end of cuddZddLinearBackward */ /**Function******************************************************************** Synopsis [Given a set of moves, returns the ZDD heap to the order in effect before the moves.] Description [Given a set of moves, returns the ZDD heap to the order in effect before the moves. Returns 1 in case of success; 0 otherwise.] SideEffects [None] ******************************************************************************/ static Move* cuddZddUndoMoves( DdManager * table, Move * moves) { Move *invmoves = NULL; Move *move; Move *invmove; int size; for (move = moves; move != NULL; move = move->next) { invmove = (Move *) cuddDynamicAllocNode(table); if (invmove == NULL) goto cuddZddUndoMovesOutOfMem; invmove->x = move->x; invmove->y = move->y; invmove->next = invmoves; invmoves = invmove; if (move->flags == CUDD_SWAP_MOVE) { invmove->flags = CUDD_SWAP_MOVE; size = cuddZddSwapInPlace(table,(int)move->x,(int)move->y); if (!size) goto cuddZddUndoMovesOutOfMem; } else if (move->flags == CUDD_LINEAR_TRANSFORM_MOVE) { invmove->flags = CUDD_INVERSE_TRANSFORM_MOVE; size = cuddZddLinearInPlace(table,(int)move->x,(int)move->y); if (!size) goto cuddZddUndoMovesOutOfMem; size = cuddZddSwapInPlace(table,(int)move->x,(int)move->y); if (!size) goto cuddZddUndoMovesOutOfMem; } else { /* must be CUDD_INVERSE_TRANSFORM_MOVE */ #ifdef DD_DEBUG (void) fprintf(table->err,"Unforseen event in ddUndoMoves!\n"); #endif invmove->flags = CUDD_LINEAR_TRANSFORM_MOVE; size = cuddZddSwapInPlace(table,(int)move->x,(int)move->y); if (!size) goto cuddZddUndoMovesOutOfMem; size = cuddZddLinearInPlace(table,(int)move->x,(int)move->y); if (!size) goto cuddZddUndoMovesOutOfMem; } invmove->size = size; } return(invmoves); cuddZddUndoMovesOutOfMem: while (invmoves != NULL) { move = invmoves->next; cuddDeallocMove(table, invmoves); invmoves = move; } return((Move *) CUDD_OUT_OF_MEM); } /* end of cuddZddUndoMoves */ BRiAl-1.2.12/cudd/cuddZddMisc.c000066400000000000000000000207311436062512100160110ustar00rootroot00000000000000/**CFile*********************************************************************** FileName [cuddZddMisc.c] PackageName [cudd] Synopsis [Miscellaneous utility functions for ZDDs.] Description [External procedures included in this module:
        • Cudd_zddDagSize()
        • Cudd_zddCountMinterm()
        • Cudd_zddPrintSubtable()
        Internal procedures included in this module:
        Static procedures included in this module:
        • cuddZddDagInt()
        ] SeeAlso [] Author [Hyong-Kyoon Shin, In-Ho Moon] Copyright [Copyright (c) 1995-2012, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.] ******************************************************************************/ #include #include "util.h" #include "cuddInt.h" /*---------------------------------------------------------------------------*/ /* Constant declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Stucture declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Type declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Variable declarations */ /*---------------------------------------------------------------------------*/ #ifndef lint static char rcsid[] DD_UNUSED = "$Id: cuddZddMisc.c,v 1.18 2012/02/05 01:07:19 fabio Exp $"; #endif /*---------------------------------------------------------------------------*/ /* Macro declarations */ /*---------------------------------------------------------------------------*/ /**AutomaticStart*************************************************************/ /*---------------------------------------------------------------------------*/ /* Static function prototypes */ /*---------------------------------------------------------------------------*/ static int cuddZddDagInt (DdNode *n, st_table *tab); /**AutomaticEnd***************************************************************/ /*---------------------------------------------------------------------------*/ /* Definition of exported functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Counts the number of nodes in a ZDD.] Description [Counts the number of nodes in a ZDD. This function duplicates Cudd_DagSize and is only retained for compatibility.] SideEffects [None] SeeAlso [Cudd_DagSize] ******************************************************************************/ int Cudd_zddDagSize( DdNode * p_node) { int i; st_table *table; table = st_init_table(st_ptrcmp, st_ptrhash); i = cuddZddDagInt(p_node, table); st_free_table(table); return(i); } /* end of Cudd_zddDagSize */ /**Function******************************************************************** Synopsis [Counts the number of minterms of a ZDD.] Description [Counts the number of minterms of the ZDD rooted at node. This procedure takes a parameter path that specifies how many variables are in the support of the function. If the procedure runs out of memory, it returns (double) CUDD_OUT_OF_MEM.] SideEffects [None] SeeAlso [Cudd_zddCountDouble] ******************************************************************************/ double Cudd_zddCountMinterm( DdManager * zdd, DdNode * node, int path) { double dc_var, minterms; dc_var = (double)((double)(zdd->sizeZ) - (double)path); minterms = Cudd_zddCountDouble(zdd, node) / pow(2.0, dc_var); return(minterms); } /* end of Cudd_zddCountMinterm */ /**Function******************************************************************** Synopsis [Prints the ZDD table.] Description [Prints the ZDD table for debugging purposes.] SideEffects [None] SeeAlso [] ******************************************************************************/ void Cudd_zddPrintSubtable( DdManager * table) { int i, j; DdNode *z1, *z1_next, *base; DdSubtable *ZSubTable; base = table->one; for (i = table->sizeZ - 1; i >= 0; i--) { ZSubTable = &(table->subtableZ[i]); printf("subtable[%d]:\n", i); for (j = ZSubTable->slots - 1; j >= 0; j--) { z1 = ZSubTable->nodelist[j]; while (z1 != NIL(DdNode)) { (void) fprintf(table->out, #if SIZEOF_VOID_P == 8 "ID = 0x%lx\tindex = %u\tr = %u\t", (ptruint) z1 / (ptruint) sizeof(DdNode), z1->index, z1->ref); #else "ID = 0x%x\tindex = %hu\tr = %hu\t", (ptruint) z1 / (ptruint) sizeof(DdNode), z1->index, z1->ref); #endif z1_next = cuddT(z1); if (Cudd_IsConstant(z1_next)) { (void) fprintf(table->out, "T = %d\t\t", (z1_next == base)); } else { #if SIZEOF_VOID_P == 8 (void) fprintf(table->out, "T = 0x%lx\t", (ptruint) z1_next / (ptruint) sizeof(DdNode)); #else (void) fprintf(table->out, "T = 0x%x\t", (ptruint) z1_next / (ptruint) sizeof(DdNode)); #endif } z1_next = cuddE(z1); if (Cudd_IsConstant(z1_next)) { (void) fprintf(table->out, "E = %d\n", (z1_next == base)); } else { #if SIZEOF_VOID_P == 8 (void) fprintf(table->out, "E = 0x%lx\n", (ptruint) z1_next / (ptruint) sizeof(DdNode)); #else (void) fprintf(table->out, "E = 0x%x\n", (ptruint) z1_next / (ptruint) sizeof(DdNode)); #endif } z1_next = z1->next; z1 = z1_next; } } } putchar('\n'); } /* Cudd_zddPrintSubtable */ /*---------------------------------------------------------------------------*/ /* Definition of static functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_zddDagSize.] Description [Performs the recursive step of Cudd_zddDagSize. Does not check for out-of-memory conditions.] SideEffects [None] SeeAlso [] ******************************************************************************/ static int cuddZddDagInt( DdNode * n, st_table * tab) { if (n == NIL(DdNode)) return(0); if (st_is_member(tab, (char *)n) == 1) return(0); if (Cudd_IsConstant(n)) return(0); (void)st_insert(tab, (char *)n, NIL(char)); return(1 + cuddZddDagInt(cuddT(n), tab) + cuddZddDagInt(cuddE(n), tab)); } /* cuddZddDagInt */ BRiAl-1.2.12/cudd/cuddZddPort.c000066400000000000000000000253341436062512100160460ustar00rootroot00000000000000/**CFile*********************************************************************** FileName [cuddZddPort.c] PackageName [cudd] Synopsis [Functions that translate BDDs to ZDDs.] Description [External procedures included in this module:
        • Cudd_zddPortFromBdd()
        • Cudd_zddPortToBdd()
        Internal procedures included in this module:
        Static procedures included in this module:
        • zddPortFromBddStep()
        • zddPortToBddStep()
        ] SeeAlso [] Author [Hyong-kyoon Shin, In-Ho Moon] Copyright [Copyright (c) 1995-2012, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.] ******************************************************************************/ #include "util.h" #include "cuddInt.h" /*---------------------------------------------------------------------------*/ /* Constant declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Stucture declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Type declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Variable declarations */ /*---------------------------------------------------------------------------*/ #ifndef lint static char rcsid[] DD_UNUSED = "$Id: cuddZddPort.c,v 1.14 2012/02/05 01:07:19 fabio Exp $"; #endif /*---------------------------------------------------------------------------*/ /* Macro declarations */ /*---------------------------------------------------------------------------*/ /**AutomaticStart*************************************************************/ /*---------------------------------------------------------------------------*/ /* Static function prototypes */ /*---------------------------------------------------------------------------*/ static DdNode * zddPortFromBddStep (DdManager *dd, DdNode *B, int expected); static DdNode * zddPortToBddStep (DdManager *dd, DdNode *f, int depth); /**AutomaticEnd***************************************************************/ /*---------------------------------------------------------------------------*/ /* Definition of exported functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Converts a BDD into a ZDD.] Description [Converts a BDD into a ZDD. This function assumes that there is a one-to-one correspondence between the BDD variables and the ZDD variables, and that the variable order is the same for both types of variables. These conditions are established if the ZDD variables are created by one call to Cudd_zddVarsFromBddVars with multiplicity = 1. Returns a pointer to the resulting ZDD if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_zddVarsFromBddVars] ******************************************************************************/ DdNode * Cudd_zddPortFromBdd( DdManager * dd, DdNode * B) { DdNode *res; do { dd->reordered = 0; res = zddPortFromBddStep(dd,B,0); } while (dd->reordered == 1); return(res); } /* end of Cudd_zddPortFromBdd */ /**Function******************************************************************** Synopsis [Converts a ZDD into a BDD.] Description [Converts a ZDD into a BDD. Returns a pointer to the resulting ZDD if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_zddPortFromBdd] ******************************************************************************/ DdNode * Cudd_zddPortToBdd( DdManager * dd, DdNode * f) { DdNode *res; do { dd->reordered = 0; res = zddPortToBddStep(dd,f,0); } while (dd->reordered == 1); return(res); } /* end of Cudd_zddPortToBdd */ /*---------------------------------------------------------------------------*/ /* Definition of internal functions */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Definition of static functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_zddPortFromBdd.] Description [] SideEffects [None] SeeAlso [] ******************************************************************************/ static DdNode * zddPortFromBddStep( DdManager * dd, DdNode * B, int expected) { DdNode *res, *prevZdd, *t, *e; DdNode *Breg, *Bt, *Be; int id, level; statLine(dd); /* Terminal cases. */ if (B == Cudd_Not(DD_ONE(dd))) return(DD_ZERO(dd)); if (B == DD_ONE(dd)) { if (expected >= dd->sizeZ) { return(DD_ONE(dd)); } else { return(dd->univ[expected]); } } Breg = Cudd_Regular(B); /* Computed table look-up. */ res = cuddCacheLookup1Zdd(dd,Cudd_zddPortFromBdd,B); if (res != NULL) { level = cuddI(dd,Breg->index); /* Adding DC vars. */ if (expected < level) { /* Add suppressed variables. */ cuddRef(res); for (level--; level >= expected; level--) { prevZdd = res; id = dd->invperm[level]; res = cuddZddGetNode(dd, id, prevZdd, prevZdd); if (res == NULL) { Cudd_RecursiveDerefZdd(dd, prevZdd); return(NULL); } cuddRef(res); Cudd_RecursiveDerefZdd(dd, prevZdd); } cuddDeref(res); } return(res); } /* end of cache look-up */ if (Cudd_IsComplement(B)) { Bt = Cudd_Not(cuddT(Breg)); Be = Cudd_Not(cuddE(Breg)); } else { Bt = cuddT(Breg); Be = cuddE(Breg); } id = Breg->index; level = cuddI(dd,id); t = zddPortFromBddStep(dd, Bt, level+1); if (t == NULL) return(NULL); cuddRef(t); e = zddPortFromBddStep(dd, Be, level+1); if (e == NULL) { Cudd_RecursiveDerefZdd(dd, t); return(NULL); } cuddRef(e); res = cuddZddGetNode(dd, id, t, e); if (res == NULL) { Cudd_RecursiveDerefZdd(dd, t); Cudd_RecursiveDerefZdd(dd, e); return(NULL); } cuddRef(res); Cudd_RecursiveDerefZdd(dd, t); Cudd_RecursiveDerefZdd(dd, e); cuddCacheInsert1(dd,Cudd_zddPortFromBdd,B,res); for (level--; level >= expected; level--) { prevZdd = res; id = dd->invperm[level]; res = cuddZddGetNode(dd, id, prevZdd, prevZdd); if (res == NULL) { Cudd_RecursiveDerefZdd(dd, prevZdd); return(NULL); } cuddRef(res); Cudd_RecursiveDerefZdd(dd, prevZdd); } cuddDeref(res); return(res); } /* end of zddPortFromBddStep */ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_zddPortToBdd.] Description [] SideEffects [None] SeeAlso [] ******************************************************************************/ static DdNode * zddPortToBddStep( DdManager * dd /* manager */, DdNode * f /* ZDD to be converted */, int depth /* recursion depth */) { DdNode *one, *zero, *T, *E, *res, *var; unsigned int index; unsigned int level; statLine(dd); one = DD_ONE(dd); zero = DD_ZERO(dd); if (f == zero) return(Cudd_Not(one)); if (depth == dd->sizeZ) return(one); index = dd->invpermZ[depth]; level = cuddIZ(dd,f->index); var = cuddUniqueInter(dd,index,one,Cudd_Not(one)); if (var == NULL) return(NULL); cuddRef(var); if (level > (unsigned) depth) { E = zddPortToBddStep(dd,f,depth+1); if (E == NULL) { Cudd_RecursiveDeref(dd,var); return(NULL); } cuddRef(E); res = cuddBddIteRecur(dd,var,Cudd_Not(one),E); if (res == NULL) { Cudd_RecursiveDeref(dd,var); Cudd_RecursiveDeref(dd,E); return(NULL); } cuddRef(res); Cudd_RecursiveDeref(dd,var); Cudd_RecursiveDeref(dd,E); cuddDeref(res); return(res); } res = cuddCacheLookup1(dd,Cudd_zddPortToBdd,f); if (res != NULL) { Cudd_RecursiveDeref(dd,var); return(res); } T = zddPortToBddStep(dd,cuddT(f),depth+1); if (T == NULL) { Cudd_RecursiveDeref(dd,var); return(NULL); } cuddRef(T); E = zddPortToBddStep(dd,cuddE(f),depth+1); if (E == NULL) { Cudd_RecursiveDeref(dd,var); Cudd_RecursiveDeref(dd,T); return(NULL); } cuddRef(E); res = cuddBddIteRecur(dd,var,T,E); if (res == NULL) { Cudd_RecursiveDeref(dd,var); Cudd_RecursiveDeref(dd,T); Cudd_RecursiveDeref(dd,E); return(NULL); } cuddRef(res); Cudd_RecursiveDeref(dd,var); Cudd_RecursiveDeref(dd,T); Cudd_RecursiveDeref(dd,E); cuddDeref(res); cuddCacheInsert1(dd,Cudd_zddPortToBdd,f,res); return(res); } /* end of zddPortToBddStep */ BRiAl-1.2.12/cudd/cuddZddReord.c000066400000000000000000001305321436062512100161720ustar00rootroot00000000000000/**CFile*********************************************************************** FileName [cuddZddReord.c] PackageName [cudd] Synopsis [Procedures for dynamic variable ordering of ZDDs.] Description [External procedures included in this module:
        • Cudd_zddReduceHeap()
        • Cudd_zddShuffleHeap()
        Internal procedures included in this module:
        • cuddZddAlignToBdd()
        • cuddZddNextHigh()
        • cuddZddNextLow()
        • cuddZddUniqueCompare()
        • cuddZddSwapInPlace()
        • cuddZddSwapping()
        • cuddZddSifting()
        Static procedures included in this module:
        • zddSwapAny()
        • cuddZddSiftingAux()
        • cuddZddSiftingUp()
        • cuddZddSiftingDown()
        • cuddZddSiftingBackward()
        • zddReorderPreprocess()
        • zddReorderPostprocess()
        • zddShuffle()
        • zddSiftUp()
        ] SeeAlso [] Author [Hyong-Kyoon Shin, In-Ho Moon] Copyright [Copyright (c) 1995-2012, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.] ******************************************************************************/ #include "util.h" #include "cuddInt.h" /*---------------------------------------------------------------------------*/ /* Constant declarations */ /*---------------------------------------------------------------------------*/ #define DD_MAX_SUBTABLE_SPARSITY 8 #define DD_SHRINK_FACTOR 2 /*---------------------------------------------------------------------------*/ /* Stucture declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Type declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Variable declarations */ /*---------------------------------------------------------------------------*/ #ifndef lint static char rcsid[] DD_UNUSED = "$Id: cuddZddReord.c,v 1.49 2012/02/05 01:07:19 fabio Exp $"; #endif int *zdd_entry; int zddTotalNumberSwapping; static DdNode *empty; /*---------------------------------------------------------------------------*/ /* Macro declarations */ /*---------------------------------------------------------------------------*/ /**AutomaticStart*************************************************************/ /*---------------------------------------------------------------------------*/ /* Static function prototypes */ /*---------------------------------------------------------------------------*/ static Move * zddSwapAny (DdManager *table, int x, int y); static int cuddZddSiftingAux (DdManager *table, int x, int x_low, int x_high); static Move * cuddZddSiftingUp (DdManager *table, int x, int x_low, int initial_size); static Move * cuddZddSiftingDown (DdManager *table, int x, int x_high, int initial_size); static int cuddZddSiftingBackward (DdManager *table, Move *moves, int size); static void zddReorderPreprocess (DdManager *table); static int zddReorderPostprocess (DdManager *table); static int zddShuffle (DdManager *table, int *permutation); static int zddSiftUp (DdManager *table, int x, int xLow); static void zddFixTree (DdManager *table, MtrNode *treenode); /**AutomaticEnd***************************************************************/ /*---------------------------------------------------------------------------*/ /* Definition of exported functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Main dynamic reordering routine for ZDDs.] Description [Main dynamic reordering routine for ZDDs. Calls one of the possible reordering procedures:
        • Swapping
        • Sifting
        • Symmetric Sifting
        For sifting and symmetric sifting it is possible to request reordering to convergence.

        The core of all methods is the reordering procedure cuddZddSwapInPlace() which swaps two adjacent variables. Returns 1 in case of success; 0 otherwise. In the case of symmetric sifting (with and without convergence) returns 1 plus the number of symmetric variables, in case of success.] SideEffects [Changes the variable order for all ZDDs and clears the cache.] ******************************************************************************/ int Cudd_zddReduceHeap( DdManager * table /* DD manager */, Cudd_ReorderingType heuristic /* method used for reordering */, int minsize /* bound below which no reordering occurs */) { DdHook *hook; int result; unsigned int nextDyn; #ifdef DD_STATS unsigned int initialSize; unsigned int finalSize; #endif unsigned long localTime; /* Don't reorder if there are too many dead nodes. */ if (table->keysZ - table->deadZ < (unsigned) minsize) return(1); if (heuristic == CUDD_REORDER_SAME) { heuristic = table->autoMethodZ; } if (heuristic == CUDD_REORDER_NONE) { return(1); } /* This call to Cudd_zddReduceHeap does initiate reordering. Therefore ** we count it. */ table->reorderings++; empty = table->zero; localTime = util_cpu_time(); /* Run the hook functions. */ hook = table->preReorderingHook; while (hook != NULL) { int res = (hook->f)(table, "ZDD", (void *)heuristic); if (res == 0) return(0); hook = hook->next; } /* Clear the cache and collect garbage. */ zddReorderPreprocess(table); zddTotalNumberSwapping = 0; #ifdef DD_STATS initialSize = table->keysZ; switch(heuristic) { case CUDD_REORDER_RANDOM: case CUDD_REORDER_RANDOM_PIVOT: (void) fprintf(table->out,"#:I_RANDOM "); break; case CUDD_REORDER_SIFT: case CUDD_REORDER_SIFT_CONVERGE: case CUDD_REORDER_SYMM_SIFT: case CUDD_REORDER_SYMM_SIFT_CONV: (void) fprintf(table->out,"#:I_SIFTING "); break; case CUDD_REORDER_LINEAR: case CUDD_REORDER_LINEAR_CONVERGE: (void) fprintf(table->out,"#:I_LINSIFT "); break; default: (void) fprintf(table->err,"Unsupported ZDD reordering method\n"); return(0); } (void) fprintf(table->out,"%8d: initial size",initialSize); #endif result = cuddZddTreeSifting(table,heuristic); #ifdef DD_STATS (void) fprintf(table->out,"\n"); finalSize = table->keysZ; (void) fprintf(table->out,"#:F_REORDER %8d: final size\n",finalSize); (void) fprintf(table->out,"#:T_REORDER %8g: total time (sec)\n", ((double)(util_cpu_time() - localTime)/1000.0)); (void) fprintf(table->out,"#:N_REORDER %8d: total swaps\n", zddTotalNumberSwapping); #endif if (result == 0) return(0); if (!zddReorderPostprocess(table)) return(0); if (table->realignZ) { if (!cuddBddAlignToZdd(table)) return(0); } nextDyn = table->keysZ * DD_DYN_RATIO; if (table->reorderings < 20 || nextDyn > table->nextDyn) table->nextDyn = nextDyn; else table->nextDyn += 20; table->reordered = 1; /* Run hook functions. */ hook = table->postReorderingHook; while (hook != NULL) { int res = (hook->f)(table, "ZDD", (void *)localTime); if (res == 0) return(0); hook = hook->next; } /* Update cumulative reordering time. */ table->reordTime += util_cpu_time() - localTime; return(result); } /* end of Cudd_zddReduceHeap */ /**Function******************************************************************** Synopsis [Reorders ZDD variables according to given permutation.] Description [Reorders ZDD variables according to given permutation. The i-th entry of the permutation array contains the index of the variable that should be brought to the i-th level. The size of the array should be equal or greater to the number of variables currently in use. Returns 1 in case of success; 0 otherwise.] SideEffects [Changes the ZDD variable order for all diagrams and clears the cache.] SeeAlso [Cudd_zddReduceHeap] ******************************************************************************/ int Cudd_zddShuffleHeap( DdManager * table /* DD manager */, int * permutation /* required variable permutation */) { int result; empty = table->zero; zddReorderPreprocess(table); result = zddShuffle(table,permutation); if (!zddReorderPostprocess(table)) return(0); return(result); } /* end of Cudd_zddShuffleHeap */ /*---------------------------------------------------------------------------*/ /* Definition of internal functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Reorders ZDD variables according to the order of the BDD variables.] Description [Reorders ZDD variables according to the order of the BDD variables. This function can be called at the end of BDD reordering to insure that the order of the ZDD variables is consistent with the order of the BDD variables. The number of ZDD variables must be a multiple of the number of BDD variables. Let M be the ratio of the two numbers. cuddZddAlignToBdd then considers the ZDD variables from M*i to (M+1)*i-1 as corresponding to BDD variable i. This function should be normally called from Cudd_ReduceHeap, which clears the cache. Returns 1 in case of success; 0 otherwise.] SideEffects [Changes the ZDD variable order for all diagrams and performs garbage collection of the ZDD unique table.] SeeAlso [Cudd_zddShuffleHeap Cudd_ReduceHeap] ******************************************************************************/ int cuddZddAlignToBdd( DdManager * table /* DD manager */) { int *invpermZ; /* permutation array */ int M; /* ratio of ZDD variables to BDD variables */ int i,j; /* loop indices */ int result; /* return value */ /* We assume that a ratio of 0 is OK. */ if (table->sizeZ == 0) return(1); empty = table->zero; M = table->sizeZ / table->size; /* Check whether the number of ZDD variables is a multiple of the ** number of BDD variables. */ if (M * table->size != table->sizeZ) return(0); /* Create and initialize the inverse permutation array. */ invpermZ = ALLOC(int,table->sizeZ); if (invpermZ == NULL) { table->errorCode = CUDD_MEMORY_OUT; return(0); } for (i = 0; i < table->size; i++) { int index = table->invperm[i]; int indexZ = index * M; int levelZ = table->permZ[indexZ]; levelZ = (levelZ / M) * M; for (j = 0; j < M; j++) { invpermZ[M * i + j] = table->invpermZ[levelZ + j]; } } /* Eliminate dead nodes. Do not scan the cache again, because we ** assume that Cudd_ReduceHeap has already cleared it. */ cuddGarbageCollect(table,0); result = zddShuffle(table, invpermZ); FREE(invpermZ); /* Fix the ZDD variable group tree. */ zddFixTree(table,table->treeZ); return(result); } /* end of cuddZddAlignToBdd */ /**Function******************************************************************** Synopsis [Finds the next subtable with a larger index.] Description [Finds the next subtable with a larger index. Returns the index.] SideEffects [None] SeeAlso [] ******************************************************************************/ int cuddZddNextHigh( DdManager * table, int x) { return(x + 1); } /* end of cuddZddNextHigh */ /**Function******************************************************************** Synopsis [Finds the next subtable with a smaller index.] Description [Finds the next subtable with a smaller index. Returns the index.] SideEffects [None] SeeAlso [] ******************************************************************************/ int cuddZddNextLow( DdManager * table, int x) { return(x - 1); } /* end of cuddZddNextLow */ /**Function******************************************************************** Synopsis [Comparison function used by qsort.] Description [Comparison function used by qsort to order the variables according to the number of keys in the subtables. Returns the difference in number of keys between the two variables being compared.] SideEffects [None] SeeAlso [] ******************************************************************************/ int cuddZddUniqueCompare( int * ptr_x, int * ptr_y) { return(zdd_entry[*ptr_y] - zdd_entry[*ptr_x]); } /* end of cuddZddUniqueCompare */ /**Function******************************************************************** Synopsis [Swaps two adjacent variables.] Description [Swaps two adjacent variables. It assumes that no dead nodes are present on entry to this procedure. The procedure then guarantees that no dead nodes will be present when it terminates. cuddZddSwapInPlace assumes that x < y. Returns the number of keys in the table if successful; 0 otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ int cuddZddSwapInPlace( DdManager * table, int x, int y) { DdNodePtr *xlist, *ylist; int xindex, yindex; int xslots, yslots; int xshift, yshift; int oldxkeys, oldykeys; int newxkeys, newykeys; int i; int posn; DdNode *f, *f1, *f0, *f11, *f10, *f01, *f00; DdNode *newf1, *newf0, *next; DdNodePtr g, *lastP, *previousP; #ifdef DD_DEBUG assert(x < y); assert(cuddZddNextHigh(table,x) == y); assert(table->subtableZ[x].keys != 0); assert(table->subtableZ[y].keys != 0); assert(table->subtableZ[x].dead == 0); assert(table->subtableZ[y].dead == 0); #endif zddTotalNumberSwapping++; /* Get parameters of x subtable. */ xindex = table->invpermZ[x]; xlist = table->subtableZ[x].nodelist; oldxkeys = table->subtableZ[x].keys; xslots = table->subtableZ[x].slots; xshift = table->subtableZ[x].shift; newxkeys = 0; yindex = table->invpermZ[y]; ylist = table->subtableZ[y].nodelist; oldykeys = table->subtableZ[y].keys; yslots = table->subtableZ[y].slots; yshift = table->subtableZ[y].shift; newykeys = oldykeys; /* The nodes in the x layer that don't depend on y directly ** will stay there; the others are put in a chain. ** The chain is handled as a FIFO; g points to the beginning and ** last points to the end. */ g = NULL; lastP = &g; for (i = 0; i < xslots; i++) { previousP = &(xlist[i]); f = *previousP; while (f != NULL) { next = f->next; f1 = cuddT(f); f0 = cuddE(f); if ((f1->index != (DdHalfWord) yindex) && (f0->index != (DdHalfWord) yindex)) { /* stays */ newxkeys++; *previousP = f; previousP = &(f->next); } else { f->index = yindex; *lastP = f; lastP = &(f->next); } f = next; } /* while there are elements in the collision chain */ *previousP = NULL; } /* for each slot of the x subtable */ *lastP = NULL; #ifdef DD_COUNT table->swapSteps += oldxkeys - newxkeys; #endif /* Take care of the x nodes that must be re-expressed. ** They form a linked list pointed by g. Their index has been ** changed to yindex already. */ f = g; while (f != NULL) { next = f->next; /* Find f1, f0, f11, f10, f01, f00. */ f1 = cuddT(f); if ((int) f1->index == yindex) { f11 = cuddT(f1); f10 = cuddE(f1); } else { f11 = empty; f10 = f1; } f0 = cuddE(f); if ((int) f0->index == yindex) { f01 = cuddT(f0); f00 = cuddE(f0); } else { f01 = empty; f00 = f0; } /* Decrease ref count of f1. */ cuddSatDec(f1->ref); /* Create the new T child. */ if (f11 == empty) { if (f01 != empty) { newf1 = f01; cuddSatInc(newf1->ref); } /* else case was already handled when finding nodes ** with both children below level y */ } else { /* Check xlist for triple (xindex, f11, f01). */ posn = ddHash(f11, f01, xshift); /* For each element newf1 in collision list xlist[posn]. */ newf1 = xlist[posn]; while (newf1 != NULL) { if (cuddT(newf1) == f11 && cuddE(newf1) == f01) { cuddSatInc(newf1->ref); break; /* match */ } newf1 = newf1->next; } /* while newf1 */ if (newf1 == NULL) { /* no match */ newf1 = cuddDynamicAllocNode(table); if (newf1 == NULL) goto zddSwapOutOfMem; newf1->index = xindex; newf1->ref = 1; cuddT(newf1) = f11; cuddE(newf1) = f01; /* Insert newf1 in the collision list xlist[pos]; ** increase the ref counts of f11 and f01 */ newxkeys++; newf1->next = xlist[posn]; xlist[posn] = newf1; cuddSatInc(f11->ref); cuddSatInc(f01->ref); } } cuddT(f) = newf1; /* Do the same for f0. */ /* Decrease ref count of f0. */ cuddSatDec(f0->ref); /* Create the new E child. */ if (f10 == empty) { newf0 = f00; cuddSatInc(newf0->ref); } else { /* Check xlist for triple (xindex, f10, f00). */ posn = ddHash(f10, f00, xshift); /* For each element newf0 in collision list xlist[posn]. */ newf0 = xlist[posn]; while (newf0 != NULL) { if (cuddT(newf0) == f10 && cuddE(newf0) == f00) { cuddSatInc(newf0->ref); break; /* match */ } newf0 = newf0->next; } /* while newf0 */ if (newf0 == NULL) { /* no match */ newf0 = cuddDynamicAllocNode(table); if (newf0 == NULL) goto zddSwapOutOfMem; newf0->index = xindex; newf0->ref = 1; cuddT(newf0) = f10; cuddE(newf0) = f00; /* Insert newf0 in the collision list xlist[posn]; ** increase the ref counts of f10 and f00. */ newxkeys++; newf0->next = xlist[posn]; xlist[posn] = newf0; cuddSatInc(f10->ref); cuddSatInc(f00->ref); } } cuddE(f) = newf0; /* Insert the modified f in ylist. ** The modified f does not already exists in ylist. ** (Because of the uniqueness of the cofactors.) */ posn = ddHash(newf1, newf0, yshift); newykeys++; f->next = ylist[posn]; ylist[posn] = f; f = next; } /* while f != NULL */ /* GC the y layer. */ /* For each node f in ylist. */ for (i = 0; i < yslots; i++) { previousP = &(ylist[i]); f = *previousP; while (f != NULL) { next = f->next; if (f->ref == 0) { cuddSatDec(cuddT(f)->ref); cuddSatDec(cuddE(f)->ref); cuddDeallocNode(table, f); newykeys--; } else { *previousP = f; previousP = &(f->next); } f = next; } /* while f */ *previousP = NULL; } /* for i */ /* Set the appropriate fields in table. */ table->subtableZ[x].nodelist = ylist; table->subtableZ[x].slots = yslots; table->subtableZ[x].shift = yshift; table->subtableZ[x].keys = newykeys; table->subtableZ[x].maxKeys = yslots * DD_MAX_SUBTABLE_DENSITY; table->subtableZ[y].nodelist = xlist; table->subtableZ[y].slots = xslots; table->subtableZ[y].shift = xshift; table->subtableZ[y].keys = newxkeys; table->subtableZ[y].maxKeys = xslots * DD_MAX_SUBTABLE_DENSITY; table->permZ[xindex] = y; table->permZ[yindex] = x; table->invpermZ[x] = yindex; table->invpermZ[y] = xindex; table->keysZ += newxkeys + newykeys - oldxkeys - oldykeys; /* Update univ section; univ[x] remains the same. */ table->univ[y] = cuddT(table->univ[x]); return (table->keysZ); zddSwapOutOfMem: (void) fprintf(table->err, "Error: cuddZddSwapInPlace out of memory\n"); return (0); } /* end of cuddZddSwapInPlace */ /**Function******************************************************************** Synopsis [Reorders variables by a sequence of (non-adjacent) swaps.] Description [Implementation of Plessier's algorithm that reorders variables by a sequence of (non-adjacent) swaps.

        1. Select two variables (RANDOM or HEURISTIC).
        2. Permute these variables.
        3. If the nodes have decreased accept the permutation.
        4. Otherwise reconstruct the original heap.
        5. Loop.
        Returns 1 in case of success; 0 otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ int cuddZddSwapping( DdManager * table, int lower, int upper, Cudd_ReorderingType heuristic) { int i, j; int max, keys; int nvars; int x, y; int iterate; int previousSize; Move *moves, *move; int pivot; int modulo; int result; #ifdef DD_DEBUG /* Sanity check */ assert(lower >= 0 && upper < table->sizeZ && lower <= upper); #endif nvars = upper - lower + 1; iterate = nvars; for (i = 0; i < iterate; i++) { if (heuristic == CUDD_REORDER_RANDOM_PIVOT) { /* Find pivot <= id with maximum keys. */ for (max = -1, j = lower; j <= upper; j++) { if ((keys = table->subtableZ[j].keys) > max) { max = keys; pivot = j; } } modulo = upper - pivot; if (modulo == 0) { y = pivot; /* y = nvars-1 */ } else { /* y = random # from {pivot+1 .. nvars-1} */ y = pivot + 1 + (int) (Cudd_Random() % modulo); } modulo = pivot - lower - 1; if (modulo < 1) { /* if pivot = 1 or 0 */ x = lower; } else { do { /* x = random # from {0 .. pivot-2} */ x = (int) Cudd_Random() % modulo; } while (x == y); /* Is this condition really needed, since x and y are in regions separated by pivot? */ } } else { x = (int) (Cudd_Random() % nvars) + lower; do { y = (int) (Cudd_Random() % nvars) + lower; } while (x == y); } previousSize = table->keysZ; moves = zddSwapAny(table, x, y); if (moves == NULL) goto cuddZddSwappingOutOfMem; result = cuddZddSiftingBackward(table, moves, previousSize); if (!result) goto cuddZddSwappingOutOfMem; while (moves != NULL) { move = moves->next; cuddDeallocMove(table, moves); moves = move; } #ifdef DD_STATS if (table->keysZ < (unsigned) previousSize) { (void) fprintf(table->out,"-"); } else if (table->keysZ > (unsigned) previousSize) { (void) fprintf(table->out,"+"); /* should never happen */ } else { (void) fprintf(table->out,"="); } fflush(table->out); #endif } return(1); cuddZddSwappingOutOfMem: while (moves != NULL) { move = moves->next; cuddDeallocMove(table, moves); moves = move; } return(0); } /* end of cuddZddSwapping */ /**Function******************************************************************** Synopsis [Implementation of Rudell's sifting algorithm.] Description [Implementation of Rudell's sifting algorithm. Assumes that no dead nodes are present.
        1. Order all the variables according to the number of entries in each unique table.
        2. Sift the variable up and down, remembering each time the total size of the DD heap.
        3. Select the best permutation.
        4. Repeat 3 and 4 for all variables.
        Returns 1 if successful; 0 otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ int cuddZddSifting( DdManager * table, int lower, int upper) { int i; int *var; int size; int x; int result; #ifdef DD_STATS int previousSize; #endif size = table->sizeZ; /* Find order in which to sift variables. */ var = NULL; zdd_entry = ALLOC(int, size); if (zdd_entry == NULL) { table->errorCode = CUDD_MEMORY_OUT; goto cuddZddSiftingOutOfMem; } var = ALLOC(int, size); if (var == NULL) { table->errorCode = CUDD_MEMORY_OUT; goto cuddZddSiftingOutOfMem; } for (i = 0; i < size; i++) { x = table->permZ[i]; zdd_entry[i] = table->subtableZ[x].keys; var[i] = i; } qsort((void *)var, size, sizeof(int), (DD_QSFP)cuddZddUniqueCompare); /* Now sift. */ for (i = 0; i < ddMin(table->siftMaxVar, size); i++) { if (zddTotalNumberSwapping >= table->siftMaxSwap) break; if (util_cpu_time() - table->startTime > table->timeLimit) { table->autoDynZ = 0; /* prevent further reordering */ break; } x = table->permZ[var[i]]; if (x < lower || x > upper) continue; #ifdef DD_STATS previousSize = table->keysZ; #endif result = cuddZddSiftingAux(table, x, lower, upper); if (!result) goto cuddZddSiftingOutOfMem; #ifdef DD_STATS if (table->keysZ < (unsigned) previousSize) { (void) fprintf(table->out,"-"); } else if (table->keysZ > (unsigned) previousSize) { (void) fprintf(table->out,"+"); /* should never happen */ (void) fprintf(table->out,"\nSize increased from %d to %d while sifting variable %d\n", previousSize, table->keysZ , var[i]); } else { (void) fprintf(table->out,"="); } fflush(table->out); #endif } FREE(var); FREE(zdd_entry); return(1); cuddZddSiftingOutOfMem: if (zdd_entry != NULL) FREE(zdd_entry); if (var != NULL) FREE(var); return(0); } /* end of cuddZddSifting */ /*---------------------------------------------------------------------------*/ /* Definition of static functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Swaps any two variables.] Description [Swaps any two variables. Returns the set of moves.] SideEffects [None] SeeAlso [] ******************************************************************************/ static Move * zddSwapAny( DdManager * table, int x, int y) { Move *move, *moves; int tmp, size; int x_ref, y_ref; int x_next, y_next; int limit_size; if (x > y) { /* make x precede y */ tmp = x; x = y; y = tmp; } x_ref = x; y_ref = y; x_next = cuddZddNextHigh(table, x); y_next = cuddZddNextLow(table, y); moves = NULL; limit_size = table->keysZ; for (;;) { if (x_next == y_next) { /* x < x_next = y_next < y */ size = cuddZddSwapInPlace(table, x, x_next); if (size == 0) goto zddSwapAnyOutOfMem; move = (Move *) cuddDynamicAllocNode(table); if (move == NULL) goto zddSwapAnyOutOfMem; move->x = x; move->y = x_next; move->size = size; move->next = moves; moves = move; size = cuddZddSwapInPlace(table, y_next, y); if (size == 0) goto zddSwapAnyOutOfMem; move = (Move *)cuddDynamicAllocNode(table); if (move == NULL) goto zddSwapAnyOutOfMem; move->x = y_next; move->y = y; move->size = size; move->next = moves; moves = move; size = cuddZddSwapInPlace(table, x, x_next); if (size == 0) goto zddSwapAnyOutOfMem; move = (Move *)cuddDynamicAllocNode(table); if (move == NULL) goto zddSwapAnyOutOfMem; move->x = x; move->y = x_next; move->size = size; move->next = moves; moves = move; tmp = x; x = y; y = tmp; } else if (x == y_next) { /* x = y_next < y = x_next */ size = cuddZddSwapInPlace(table, x, x_next); if (size == 0) goto zddSwapAnyOutOfMem; move = (Move *)cuddDynamicAllocNode(table); if (move == NULL) goto zddSwapAnyOutOfMem; move->x = x; move->y = x_next; move->size = size; move->next = moves; moves = move; tmp = x; x = y; y = tmp; } else { size = cuddZddSwapInPlace(table, x, x_next); if (size == 0) goto zddSwapAnyOutOfMem; move = (Move *)cuddDynamicAllocNode(table); if (move == NULL) goto zddSwapAnyOutOfMem; move->x = x; move->y = x_next; move->size = size; move->next = moves; moves = move; size = cuddZddSwapInPlace(table, y_next, y); if (size == 0) goto zddSwapAnyOutOfMem; move = (Move *)cuddDynamicAllocNode(table); if (move == NULL) goto zddSwapAnyOutOfMem; move->x = y_next; move->y = y; move->size = size; move->next = moves; moves = move; x = x_next; y = y_next; } x_next = cuddZddNextHigh(table, x); y_next = cuddZddNextLow(table, y); if (x_next > y_ref) break; /* if x == y_ref */ if ((double) size > table->maxGrowth * (double) limit_size) break; if (size < limit_size) limit_size = size; } if (y_next >= x_ref) { size = cuddZddSwapInPlace(table, y_next, y); if (size == 0) goto zddSwapAnyOutOfMem; move = (Move *)cuddDynamicAllocNode(table); if (move == NULL) goto zddSwapAnyOutOfMem; move->x = y_next; move->y = y; move->size = size; move->next = moves; moves = move; } return(moves); zddSwapAnyOutOfMem: while (moves != NULL) { move = moves->next; cuddDeallocMove(table, moves); moves = move; } return(NULL); } /* end of zddSwapAny */ /**Function******************************************************************** Synopsis [Given xLow <= x <= xHigh moves x up and down between the boundaries.] Description [Given xLow <= x <= xHigh moves x up and down between the boundaries. Finds the best position and does the required changes. Returns 1 if successful; 0 otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ static int cuddZddSiftingAux( DdManager * table, int x, int x_low, int x_high) { Move *move; Move *moveUp; /* list of up move */ Move *moveDown; /* list of down move */ int initial_size; int result; initial_size = table->keysZ; #ifdef DD_DEBUG assert(table->subtableZ[x].keys > 0); #endif moveDown = NULL; moveUp = NULL; if (x == x_low) { moveDown = cuddZddSiftingDown(table, x, x_high, initial_size); /* after that point x --> x_high */ if (moveDown == NULL) goto cuddZddSiftingAuxOutOfMem; result = cuddZddSiftingBackward(table, moveDown, initial_size); /* move backward and stop at best position */ if (!result) goto cuddZddSiftingAuxOutOfMem; } else if (x == x_high) { moveUp = cuddZddSiftingUp(table, x, x_low, initial_size); /* after that point x --> x_low */ if (moveUp == NULL) goto cuddZddSiftingAuxOutOfMem; result = cuddZddSiftingBackward(table, moveUp, initial_size); /* move backward and stop at best position */ if (!result) goto cuddZddSiftingAuxOutOfMem; } else if ((x - x_low) > (x_high - x)) { /* must go down first:shorter */ moveDown = cuddZddSiftingDown(table, x, x_high, initial_size); /* after that point x --> x_high */ if (moveDown == NULL) goto cuddZddSiftingAuxOutOfMem; moveUp = cuddZddSiftingUp(table, moveDown->y, x_low, initial_size); if (moveUp == NULL) goto cuddZddSiftingAuxOutOfMem; result = cuddZddSiftingBackward(table, moveUp, initial_size); /* move backward and stop at best position */ if (!result) goto cuddZddSiftingAuxOutOfMem; } else { moveUp = cuddZddSiftingUp(table, x, x_low, initial_size); /* after that point x --> x_high */ if (moveUp == NULL) goto cuddZddSiftingAuxOutOfMem; moveDown = cuddZddSiftingDown(table, moveUp->x, x_high, initial_size); /* then move up */ if (moveDown == NULL) goto cuddZddSiftingAuxOutOfMem; result = cuddZddSiftingBackward(table, moveDown, initial_size); /* move backward and stop at best position */ if (!result) goto cuddZddSiftingAuxOutOfMem; } while (moveDown != NULL) { move = moveDown->next; cuddDeallocMove(table, moveDown); moveDown = move; } while (moveUp != NULL) { move = moveUp->next; cuddDeallocMove(table, moveUp); moveUp = move; } return(1); cuddZddSiftingAuxOutOfMem: while (moveDown != NULL) { move = moveDown->next; cuddDeallocMove(table, moveDown); moveDown = move; } while (moveUp != NULL) { move = moveUp->next; cuddDeallocMove(table, moveUp); moveUp = move; } return(0); } /* end of cuddZddSiftingAux */ /**Function******************************************************************** Synopsis [Sifts a variable up.] Description [Sifts a variable up. Moves y up until either it reaches the bound (x_low) or the size of the ZDD heap increases too much. Returns the set of moves in case of success; NULL if memory is full.] SideEffects [None] SeeAlso [] ******************************************************************************/ static Move * cuddZddSiftingUp( DdManager * table, int x, int x_low, int initial_size) { Move *moves; Move *move; int y; int size; int limit_size = initial_size; moves = NULL; y = cuddZddNextLow(table, x); while (y >= x_low) { size = cuddZddSwapInPlace(table, y, x); if (size == 0) goto cuddZddSiftingUpOutOfMem; move = (Move *)cuddDynamicAllocNode(table); if (move == NULL) goto cuddZddSiftingUpOutOfMem; move->x = y; move->y = x; move->size = size; move->next = moves; moves = move; if ((double)size > (double)limit_size * table->maxGrowth) break; if (size < limit_size) limit_size = size; x = y; y = cuddZddNextLow(table, x); } return(moves); cuddZddSiftingUpOutOfMem: while (moves != NULL) { move = moves->next; cuddDeallocMove(table, moves); moves = move; } return(NULL); } /* end of cuddZddSiftingUp */ /**Function******************************************************************** Synopsis [Sifts a variable down.] Description [Sifts a variable down. Moves x down until either it reaches the bound (x_high) or the size of the ZDD heap increases too much. Returns the set of moves in case of success; NULL if memory is full.] SideEffects [None] SeeAlso [] ******************************************************************************/ static Move * cuddZddSiftingDown( DdManager * table, int x, int x_high, int initial_size) { Move *moves; Move *move; int y; int size; int limit_size = initial_size; moves = NULL; y = cuddZddNextHigh(table, x); while (y <= x_high) { size = cuddZddSwapInPlace(table, x, y); if (size == 0) goto cuddZddSiftingDownOutOfMem; move = (Move *)cuddDynamicAllocNode(table); if (move == NULL) goto cuddZddSiftingDownOutOfMem; move->x = x; move->y = y; move->size = size; move->next = moves; moves = move; if ((double)size > (double)limit_size * table->maxGrowth) break; if (size < limit_size) limit_size = size; x = y; y = cuddZddNextHigh(table, x); } return(moves); cuddZddSiftingDownOutOfMem: while (moves != NULL) { move = moves->next; cuddDeallocMove(table, moves); moves = move; } return(NULL); } /* end of cuddZddSiftingDown */ /**Function******************************************************************** Synopsis [Given a set of moves, returns the ZDD heap to the position giving the minimum size.] Description [Given a set of moves, returns the ZDD heap to the position giving the minimum size. In case of ties, returns to the closest position giving the minimum size. Returns 1 in case of success; 0 otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ static int cuddZddSiftingBackward( DdManager * table, Move * moves, int size) { int i; int i_best; Move *move; int res; /* Find the minimum size among moves. */ i_best = -1; for (move = moves, i = 0; move != NULL; move = move->next, i++) { if (move->size < size) { i_best = i; size = move->size; } } for (move = moves, i = 0; move != NULL; move = move->next, i++) { if (i == i_best) break; res = cuddZddSwapInPlace(table, move->x, move->y); if (!res) return(0); if (i_best == -1 && res == size) break; } return(1); } /* end of cuddZddSiftingBackward */ /**Function******************************************************************** Synopsis [Prepares the ZDD heap for dynamic reordering.] Description [Prepares the ZDD heap for dynamic reordering. Does garbage collection, to guarantee that there are no dead nodes; and clears the cache, which is invalidated by dynamic reordering.] SideEffects [None] ******************************************************************************/ static void zddReorderPreprocess( DdManager * table) { /* Clear the cache. */ cuddCacheFlush(table); /* Eliminate dead nodes. Do not scan the cache again. */ cuddGarbageCollect(table,0); return; } /* end of ddReorderPreprocess */ /**Function******************************************************************** Synopsis [Shrinks almost empty ZDD subtables at the end of reordering to guarantee that they have a reasonable load factor.] Description [Shrinks almost empty subtables at the end of reordering to guarantee that they have a reasonable load factor. However, if there many nodes are being reclaimed, then no resizing occurs. Returns 1 in case of success; 0 otherwise.] SideEffects [None] ******************************************************************************/ static int zddReorderPostprocess( DdManager * table) { int i, j, posn; DdNodePtr *nodelist, *oldnodelist; DdNode *node, *next; unsigned int slots, oldslots; extern DD_OOMFP MMoutOfMemory; DD_OOMFP saveHandler; #ifdef DD_VERBOSE (void) fflush(table->out); #endif /* If we have very many reclaimed nodes, we do not want to shrink ** the subtables, because this will lead to more garbage ** collections. More garbage collections mean shorter mean life for ** nodes with zero reference count; hence lower probability of finding ** a result in the cache. */ if (table->reclaimed > table->allocated * 0.5) return(1); /* Resize subtables. */ for (i = 0; i < table->sizeZ; i++) { int shift; oldslots = table->subtableZ[i].slots; if (oldslots < table->subtableZ[i].keys * DD_MAX_SUBTABLE_SPARSITY || oldslots <= table->initSlots) continue; oldnodelist = table->subtableZ[i].nodelist; slots = oldslots >> 1; saveHandler = MMoutOfMemory; MMoutOfMemory = Cudd_OutOfMem; nodelist = ALLOC(DdNodePtr, slots); MMoutOfMemory = saveHandler; if (nodelist == NULL) { return(1); } table->subtableZ[i].nodelist = nodelist; table->subtableZ[i].slots = slots; table->subtableZ[i].shift++; table->subtableZ[i].maxKeys = slots * DD_MAX_SUBTABLE_DENSITY; #ifdef DD_VERBOSE (void) fprintf(table->err, "shrunk layer %d (%d keys) from %d to %d slots\n", i, table->subtableZ[i].keys, oldslots, slots); #endif for (j = 0; (unsigned) j < slots; j++) { nodelist[j] = NULL; } shift = table->subtableZ[i].shift; for (j = 0; (unsigned) j < oldslots; j++) { node = oldnodelist[j]; while (node != NULL) { next = node->next; posn = ddHash(cuddT(node), cuddE(node), shift); node->next = nodelist[posn]; nodelist[posn] = node; node = next; } } FREE(oldnodelist); table->memused += (slots - oldslots) * sizeof(DdNode *); table->slots += slots - oldslots; table->minDead = (unsigned) (table->gcFrac * (double) table->slots); table->cacheSlack = (int) ddMin(table->maxCacheHard, DD_MAX_CACHE_TO_SLOTS_RATIO*table->slots) - 2 * (int) table->cacheSlots; } /* We don't look at the constant subtable, because it is not ** affected by reordering. */ return(1); } /* end of zddReorderPostprocess */ /**Function******************************************************************** Synopsis [Reorders ZDD variables according to a given permutation.] Description [Reorders ZDD variables according to a given permutation. The i-th permutation array contains the index of the variable that should be brought to the i-th level. zddShuffle assumes that no dead nodes are present. The reordering is achieved by a series of upward sifts. Returns 1 if successful; 0 otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ static int zddShuffle( DdManager * table, int * permutation) { int index; int level; int position; int numvars; int result; #ifdef DD_STATS unsigned long localTime; int initialSize; int finalSize; int previousSize; #endif zddTotalNumberSwapping = 0; #ifdef DD_STATS localTime = util_cpu_time(); initialSize = table->keysZ; (void) fprintf(table->out,"#:I_SHUFFLE %8d: initial size\n", initialSize); #endif numvars = table->sizeZ; for (level = 0; level < numvars; level++) { index = permutation[level]; position = table->permZ[index]; #ifdef DD_STATS previousSize = table->keysZ; #endif result = zddSiftUp(table,position,level); if (!result) return(0); #ifdef DD_STATS if (table->keysZ < (unsigned) previousSize) { (void) fprintf(table->out,"-"); } else if (table->keysZ > (unsigned) previousSize) { (void) fprintf(table->out,"+"); /* should never happen */ } else { (void) fprintf(table->out,"="); } fflush(table->out); #endif } #ifdef DD_STATS (void) fprintf(table->out,"\n"); finalSize = table->keysZ; (void) fprintf(table->out,"#:F_SHUFFLE %8d: final size\n",finalSize); (void) fprintf(table->out,"#:T_SHUFFLE %8g: total time (sec)\n", ((double)(util_cpu_time() - localTime)/1000.0)); (void) fprintf(table->out,"#:N_SHUFFLE %8d: total swaps\n", zddTotalNumberSwapping); #endif return(1); } /* end of zddShuffle */ /**Function******************************************************************** Synopsis [Moves one ZDD variable up.] Description [Takes a ZDD variable from position x and sifts it up to position xLow; xLow should be less than or equal to x. Returns 1 if successful; 0 otherwise] SideEffects [None] SeeAlso [] ******************************************************************************/ static int zddSiftUp( DdManager * table, int x, int xLow) { int y; int size; y = cuddZddNextLow(table,x); while (y >= xLow) { size = cuddZddSwapInPlace(table,y,x); if (size == 0) { return(0); } x = y; y = cuddZddNextLow(table,x); } return(1); } /* end of zddSiftUp */ /**Function******************************************************************** Synopsis [Fixes the ZDD variable group tree after a shuffle.] Description [Fixes the ZDD variable group tree after a shuffle. Assumes that the order of the variables in a terminal node has not been changed.] SideEffects [Changes the ZDD variable group tree.] SeeAlso [] ******************************************************************************/ static void zddFixTree( DdManager * table, MtrNode * treenode) { if (treenode == NULL) return; treenode->low = ((int) treenode->index < table->sizeZ) ? table->permZ[treenode->index] : treenode->index; if (treenode->child != NULL) { zddFixTree(table, treenode->child); } if (treenode->younger != NULL) zddFixTree(table, treenode->younger); if (treenode->parent != NULL && treenode->low < treenode->parent->low) { treenode->parent->low = treenode->low; treenode->parent->index = treenode->index; } return; } /* end of zddFixTree */ BRiAl-1.2.12/cudd/cuddZddSetop.c000066400000000000000000000674151436062512100162220ustar00rootroot00000000000000/**CFile*********************************************************************** FileName [cuddZddSetop.c] PackageName [cudd] Synopsis [Set operations on ZDDs.] Description [External procedures included in this module:
        • Cudd_zddIte()
        • Cudd_zddUnion()
        • Cudd_zddIntersect()
        • Cudd_zddDiff()
        • Cudd_zddDiffConst()
        • Cudd_zddSubset1()
        • Cudd_zddSubset0()
        • Cudd_zddChange()
        Internal procedures included in this module:
        • cuddZddIte()
        • cuddZddUnion()
        • cuddZddIntersect()
        • cuddZddDiff()
        • cuddZddChangeAux()
        • cuddZddSubset1()
        • cuddZddSubset0()
        Static procedures included in this module:
        • zdd_subset1_aux()
        • zdd_subset0_aux()
        • zddVarToConst()
        ] SeeAlso [] Author [Hyong-Kyoon Shin, In-Ho Moon] Copyright [Copyright (c) 1995-2012, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.] ******************************************************************************/ #include "util.h" #include "cuddInt.h" #ifndef PBORI_FORCE_ORIGINAL_CUDD #include #endif /*---------------------------------------------------------------------------*/ /* Constant declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Stucture declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Type declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Variable declarations */ /*---------------------------------------------------------------------------*/ #ifndef lint static char rcsid[] DD_UNUSED = "$Id: cuddZddSetop.c,v 1.26 2012/02/05 01:07:19 fabio Exp $"; #endif /*---------------------------------------------------------------------------*/ /* Macro declarations */ /*---------------------------------------------------------------------------*/ #ifdef __cplusplus extern "C" { #endif /**AutomaticStart*************************************************************/ /*---------------------------------------------------------------------------*/ /* Static function prototypes */ /*---------------------------------------------------------------------------*/ static DdNode * zdd_subset1_aux (DdManager *zdd, DdNode *P, DdNode *zvar); static DdNode * zdd_subset0_aux (DdManager *zdd, DdNode *P, DdNode *zvar); static void zddVarToConst (DdNode *f, DdNode **gp, DdNode **hp, DdNode *base, DdNode *empty); /**AutomaticEnd***************************************************************/ #ifdef __cplusplus } #endif /*---------------------------------------------------------------------------*/ /* Definition of exported functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Computes the ITE of three ZDDs.] Description [Computes the ITE of three ZDDs. Returns a pointer to the result if successful; NULL otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ DdNode * Cudd_zddIte( DdManager * dd, DdNode * f, DdNode * g, DdNode * h) { DdNode *res; do { dd->reordered = 0; res = cuddZddIte(dd, f, g, h); } while (dd->reordered == 1); return(res); } /* end of Cudd_zddIte */ /**Function******************************************************************** Synopsis [Computes the union of two ZDDs.] Description [Computes the union of two ZDDs. Returns a pointer to the result if successful; NULL otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ DdNode * Cudd_zddUnion( DdManager * dd, DdNode * P, DdNode * Q) { DdNode *res; do { dd->reordered = 0; res = cuddZddUnion(dd, P, Q); } while (dd->reordered == 1); return(res); } /* end of Cudd_zddUnion */ /**Function******************************************************************** Synopsis [Computes the intersection of two ZDDs.] Description [Computes the intersection of two ZDDs. Returns a pointer to the result if successful; NULL otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ DdNode * Cudd_zddIntersect( DdManager * dd, DdNode * P, DdNode * Q) { DdNode *res; do { dd->reordered = 0; res = cuddZddIntersect(dd, P, Q); } while (dd->reordered == 1); return(res); } /* end of Cudd_zddIntersect */ /**Function******************************************************************** Synopsis [Computes the difference of two ZDDs.] Description [Computes the difference of two ZDDs. Returns a pointer to the result if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_zddDiffConst] ******************************************************************************/ DdNode * Cudd_zddDiff( DdManager * dd, DdNode * P, DdNode * Q) { DdNode *res; do { dd->reordered = 0; res = cuddZddDiff(dd, P, Q); } while (dd->reordered == 1); return(res); } /* end of Cudd_zddDiff */ /**Function******************************************************************** Synopsis [Performs the inclusion test for ZDDs (P implies Q).] Description [Inclusion test for ZDDs (P implies Q). No new nodes are generated by this procedure. Returns empty if true; a valid pointer different from empty or DD_NON_CONSTANT otherwise.] SideEffects [None] SeeAlso [Cudd_zddDiff] ******************************************************************************/ DdNode * Cudd_zddDiffConst( DdManager * zdd, DdNode * P, DdNode * Q) { int p_top, q_top; DdNode *empty = DD_ZERO(zdd), *t, *res; DdManager *table = zdd; statLine(zdd); if (P == empty) return(empty); if (Q == empty) return(P); if (P == Q) return(empty); /* Check cache. The cache is shared by cuddZddDiff(). */ res = cuddCacheLookup2Zdd(table, cuddZddDiff, P, Q); if (res != NULL) return(res); if (cuddIsConstant(P)) p_top = P->index; else p_top = zdd->permZ[P->index]; if (cuddIsConstant(Q)) q_top = Q->index; else q_top = zdd->permZ[Q->index]; if (p_top < q_top) { res = DD_NON_CONSTANT; } else if (p_top > q_top) { res = Cudd_zddDiffConst(zdd, P, cuddE(Q)); } else { t = Cudd_zddDiffConst(zdd, cuddT(P), cuddT(Q)); if (t != empty) res = DD_NON_CONSTANT; else res = Cudd_zddDiffConst(zdd, cuddE(P), cuddE(Q)); } cuddCacheInsert2(table, cuddZddDiff, P, Q, res); return(res); } /* end of Cudd_zddDiffConst */ /**Function******************************************************************** Synopsis [Computes the positive cofactor of a ZDD w.r.t. a variable.] Description [Computes the positive cofactor of a ZDD w.r.t. a variable. In terms of combinations, the result is the set of all combinations in which the variable is asserted. Returns a pointer to the result if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_zddSubset0] ******************************************************************************/ DdNode * Cudd_zddSubset1( DdManager * dd, DdNode * P, int var) { DdNode *r; do { dd->reordered = 0; r = cuddZddSubset1(dd, P, var); } while (dd->reordered == 1); return(r); } /* end of Cudd_zddSubset1 */ /**Function******************************************************************** Synopsis [Computes the negative cofactor of a ZDD w.r.t. a variable.] Description [Computes the negative cofactor of a ZDD w.r.t. a variable. In terms of combinations, the result is the set of all combinations in which the variable is negated. Returns a pointer to the result if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_zddSubset1] ******************************************************************************/ DdNode * Cudd_zddSubset0( DdManager * dd, DdNode * P, int var) { DdNode *r; do { dd->reordered = 0; r = cuddZddSubset0(dd, P, var); } while (dd->reordered == 1); return(r); } /* end of Cudd_zddSubset0 */ /**Function******************************************************************** Synopsis [Substitutes a variable with its complement in a ZDD.] Description [Substitutes a variable with its complement in a ZDD. returns a pointer to the result if successful; NULL otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ DdNode * Cudd_zddChange( DdManager * dd, DdNode * P, int var) { DdNode *res; if ((unsigned int) var >= CUDD_MAXINDEX - 1) return(NULL); do { dd->reordered = 0; res = cuddZddChange(dd, P, var); } while (dd->reordered == 1); return(res); } /* end of Cudd_zddChange */ /*---------------------------------------------------------------------------*/ /* Definition of internal functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_zddIte.] Description [] SideEffects [None] SeeAlso [] ******************************************************************************/ DdNode * cuddZddIte( DdManager * dd, DdNode * f, DdNode * g, DdNode * h) { DdNode *tautology, *empty; DdNode *r,*Gv,*Gvn,*Hv,*Hvn,*t,*e; unsigned int topf,topg,toph,v,top; int index; statLine(dd); /* Trivial cases. */ /* One variable cases. */ if (f == (empty = DD_ZERO(dd))) { /* ITE(0,G,H) = H */ return(h); } topf = cuddIZ(dd,f->index); topg = cuddIZ(dd,g->index); toph = cuddIZ(dd,h->index); v = ddMin(topg,toph); top = ddMin(topf,v); tautology = (top == CUDD_MAXINDEX) ? DD_ONE(dd) : dd->univ[top]; if (f == tautology) { /* ITE(1,G,H) = G */ return(g); } /* From now on, f is known to not be a constant. */ zddVarToConst(f,&g,&h,tautology,empty); /* Check remaining one variable cases. */ if (g == h) { /* ITE(F,G,G) = G */ return(g); } if (g == tautology) { /* ITE(F,1,0) = F */ if (h == empty) return(f); } /* Check cache. */ r = cuddCacheLookupZdd(dd,DD_ZDD_ITE_TAG,f,g,h); if (r != NULL) { return(r); } /* Recompute these because they may have changed in zddVarToConst. */ topg = cuddIZ(dd,g->index); toph = cuddIZ(dd,h->index); v = ddMin(topg,toph); if (topf < v) { r = cuddZddIte(dd,cuddE(f),g,h); if (r == NULL) return(NULL); } else if (topf > v) { if (topg > v) { Gvn = g; index = h->index; } else { Gvn = cuddE(g); index = g->index; } if (toph > v) { Hv = empty; Hvn = h; } else { Hv = cuddT(h); Hvn = cuddE(h); } e = cuddZddIte(dd,f,Gvn,Hvn); if (e == NULL) return(NULL); cuddRef(e); r = cuddZddGetNode(dd,index,Hv,e); if (r == NULL) { Cudd_RecursiveDerefZdd(dd,e); return(NULL); } cuddDeref(e); } else { index = f->index; if (topg > v) { Gv = empty; Gvn = g; } else { Gv = cuddT(g); Gvn = cuddE(g); } if (toph > v) { Hv = empty; Hvn = h; } else { Hv = cuddT(h); Hvn = cuddE(h); } e = cuddZddIte(dd,cuddE(f),Gvn,Hvn); if (e == NULL) return(NULL); cuddRef(e); t = cuddZddIte(dd,cuddT(f),Gv,Hv); if (t == NULL) { Cudd_RecursiveDerefZdd(dd,e); return(NULL); } cuddRef(t); r = cuddZddGetNode(dd,index,t,e); if (r == NULL) { Cudd_RecursiveDerefZdd(dd,e); Cudd_RecursiveDerefZdd(dd,t); return(NULL); } cuddDeref(t); cuddDeref(e); } cuddCacheInsert(dd,DD_ZDD_ITE_TAG,f,g,h,r); return(r); } /* end of cuddZddIte */ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_zddUnion.] Description [] SideEffects [None] SeeAlso [] ******************************************************************************/ DdNode * cuddZddUnion( DdManager * zdd, DdNode * P, DdNode * Q) { int p_top, q_top; DdNode *empty = DD_ZERO(zdd), *t, *e, *res; DdManager *table = zdd; statLine(zdd); if (P == empty) return(Q); if (Q == empty) return(P); if (P == Q) return(P); /* Check cache */ res = cuddCacheLookup2Zdd(table, cuddZddUnion, P, Q); if (res != NULL) return(res); if (cuddIsConstant(P)) p_top = P->index; else p_top = zdd->permZ[P->index]; if (cuddIsConstant(Q)) q_top = Q->index; else q_top = zdd->permZ[Q->index]; if (p_top < q_top) { e = cuddZddUnion(zdd, cuddE(P), Q); if (e == NULL) return (NULL); cuddRef(e); res = cuddZddGetNode(zdd, P->index, cuddT(P), e); if (res == NULL) { Cudd_RecursiveDerefZdd(table, e); return(NULL); } cuddDeref(e); } else if (p_top > q_top) { e = cuddZddUnion(zdd, P, cuddE(Q)); if (e == NULL) return(NULL); cuddRef(e); res = cuddZddGetNode(zdd, Q->index, cuddT(Q), e); if (res == NULL) { Cudd_RecursiveDerefZdd(table, e); return(NULL); } cuddDeref(e); } else { t = cuddZddUnion(zdd, cuddT(P), cuddT(Q)); if (t == NULL) return(NULL); cuddRef(t); e = cuddZddUnion(zdd, cuddE(P), cuddE(Q)); if (e == NULL) { Cudd_RecursiveDerefZdd(table, t); return(NULL); } cuddRef(e); res = cuddZddGetNode(zdd, P->index, t, e); if (res == NULL) { Cudd_RecursiveDerefZdd(table, t); Cudd_RecursiveDerefZdd(table, e); return(NULL); } cuddDeref(t); cuddDeref(e); } cuddCacheInsert2(table, cuddZddUnion, P, Q, res); return(res); } /* end of cuddZddUnion */ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_zddIntersect.] Description [] SideEffects [None] SeeAlso [] ******************************************************************************/ DdNode * cuddZddIntersect( DdManager * zdd, DdNode * P, DdNode * Q) { int p_top, q_top; DdNode *empty = DD_ZERO(zdd), *t, *e, *res; DdManager *table = zdd; statLine(zdd); if (P == empty) return(empty); if (Q == empty) return(empty); if (P == Q) return(P); /* Check cache. */ res = cuddCacheLookup2Zdd(table, cuddZddIntersect, P, Q); if (res != NULL) return(res); if (cuddIsConstant(P)) p_top = P->index; else p_top = zdd->permZ[P->index]; if (cuddIsConstant(Q)) q_top = Q->index; else q_top = zdd->permZ[Q->index]; if (p_top < q_top) { res = cuddZddIntersect(zdd, cuddE(P), Q); if (res == NULL) return(NULL); } else if (p_top > q_top) { res = cuddZddIntersect(zdd, P, cuddE(Q)); if (res == NULL) return(NULL); } else { t = cuddZddIntersect(zdd, cuddT(P), cuddT(Q)); if (t == NULL) return(NULL); cuddRef(t); e = cuddZddIntersect(zdd, cuddE(P), cuddE(Q)); if (e == NULL) { Cudd_RecursiveDerefZdd(table, t); return(NULL); } cuddRef(e); res = cuddZddGetNode(zdd, P->index, t, e); if (res == NULL) { Cudd_RecursiveDerefZdd(table, t); Cudd_RecursiveDerefZdd(table, e); return(NULL); } cuddDeref(t); cuddDeref(e); } cuddCacheInsert2(table, cuddZddIntersect, P, Q, res); return(res); } /* end of cuddZddIntersect */ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_zddDiff.] Description [] SideEffects [None] SeeAlso [] ******************************************************************************/ DdNode * cuddZddDiff( DdManager * zdd, DdNode * P, DdNode * Q) { int p_top, q_top; DdNode *empty = DD_ZERO(zdd), *t, *e, *res; DdManager *table = zdd; statLine(zdd); if (P == empty) return(empty); if (Q == empty) return(P); if (P == Q) return(empty); /* Check cache. The cache is shared by Cudd_zddDiffConst(). */ res = cuddCacheLookup2Zdd(table, cuddZddDiff, P, Q); if (res != NULL && res != DD_NON_CONSTANT) return(res); if (cuddIsConstant(P)) p_top = P->index; else p_top = zdd->permZ[P->index]; if (cuddIsConstant(Q)) q_top = Q->index; else q_top = zdd->permZ[Q->index]; if (p_top < q_top) { e = cuddZddDiff(zdd, cuddE(P), Q); if (e == NULL) return(NULL); cuddRef(e); res = cuddZddGetNode(zdd, P->index, cuddT(P), e); if (res == NULL) { Cudd_RecursiveDerefZdd(table, e); return(NULL); } cuddDeref(e); } else if (p_top > q_top) { res = cuddZddDiff(zdd, P, cuddE(Q)); if (res == NULL) return(NULL); } else { t = cuddZddDiff(zdd, cuddT(P), cuddT(Q)); if (t == NULL) return(NULL); cuddRef(t); e = cuddZddDiff(zdd, cuddE(P), cuddE(Q)); if (e == NULL) { Cudd_RecursiveDerefZdd(table, t); return(NULL); } cuddRef(e); res = cuddZddGetNode(zdd, P->index, t, e); if (res == NULL) { Cudd_RecursiveDerefZdd(table, t); Cudd_RecursiveDerefZdd(table, e); return(NULL); } cuddDeref(t); cuddDeref(e); } cuddCacheInsert2(table, cuddZddDiff, P, Q, res); return(res); } /* end of cuddZddDiff */ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_zddChange.] Description [] SideEffects [None] SeeAlso [] ******************************************************************************/ DdNode * cuddZddChangeAux( DdManager * zdd, DdNode * P, DdNode * zvar) { int top_var, level; DdNode *res, *t, *e; DdNode *base = DD_ONE(zdd); DdNode *empty = DD_ZERO(zdd); statLine(zdd); if (P == empty) return(empty); if (P == base) return(zvar); /* Check cache. */ res = cuddCacheLookup2Zdd(zdd, cuddZddChangeAux, P, zvar); if (res != NULL) return(res); top_var = zdd->permZ[P->index]; level = zdd->permZ[zvar->index]; if (top_var > level) { res = cuddZddGetNode(zdd, zvar->index, P, DD_ZERO(zdd)); if (res == NULL) return(NULL); } else if (top_var == level) { res = cuddZddGetNode(zdd, zvar->index, cuddE(P), cuddT(P)); if (res == NULL) return(NULL); } else { t = cuddZddChangeAux(zdd, cuddT(P), zvar); if (t == NULL) return(NULL); cuddRef(t); e = cuddZddChangeAux(zdd, cuddE(P), zvar); if (e == NULL) { Cudd_RecursiveDerefZdd(zdd, t); return(NULL); } cuddRef(e); res = cuddZddGetNode(zdd, P->index, t, e); if (res == NULL) { Cudd_RecursiveDerefZdd(zdd, t); Cudd_RecursiveDerefZdd(zdd, e); return(NULL); } cuddDeref(t); cuddDeref(e); } cuddCacheInsert2(zdd, cuddZddChangeAux, P, zvar, res); return(res); } /* end of cuddZddChangeAux */ /**Function******************************************************************** Synopsis [Computes the positive cofactor of a ZDD w.r.t. a variable.] Description [Computes the positive cofactor of a ZDD w.r.t. a variable. In terms of combinations, the result is the set of all combinations in which the variable is asserted. Returns a pointer to the result if successful; NULL otherwise. cuddZddSubset1 performs the same function as Cudd_zddSubset1, but does not restart if reordering has taken place. Therefore it can be called from within a recursive procedure.] SideEffects [None] SeeAlso [cuddZddSubset0 Cudd_zddSubset1] ******************************************************************************/ DdNode * cuddZddSubset1( DdManager * dd, DdNode * P, int var) { DdNode *zvar, *r; DdNode *base, *empty; base = DD_ONE(dd); empty = DD_ZERO(dd); zvar = cuddUniqueInterZdd(dd, var, base, empty); if (zvar == NULL) { return(NULL); } else { cuddRef(zvar); r = zdd_subset1_aux(dd, P, zvar); if (r == NULL) { Cudd_RecursiveDerefZdd(dd, zvar); return(NULL); } cuddRef(r); Cudd_RecursiveDerefZdd(dd, zvar); } cuddDeref(r); return(r); } /* end of cuddZddSubset1 */ /**Function******************************************************************** Synopsis [Computes the negative cofactor of a ZDD w.r.t. a variable.] Description [Computes the negative cofactor of a ZDD w.r.t. a variable. In terms of combinations, the result is the set of all combinations in which the variable is negated. Returns a pointer to the result if successful; NULL otherwise. cuddZddSubset0 performs the same function as Cudd_zddSubset0, but does not restart if reordering has taken place. Therefore it can be called from within a recursive procedure.] SideEffects [None] SeeAlso [cuddZddSubset1 Cudd_zddSubset0] ******************************************************************************/ DdNode * cuddZddSubset0( DdManager * dd, DdNode * P, int var) { DdNode *zvar, *r; DdNode *base, *empty; base = DD_ONE(dd); empty = DD_ZERO(dd); zvar = cuddUniqueInterZdd(dd, var, base, empty); if (zvar == NULL) { return(NULL); } else { cuddRef(zvar); r = zdd_subset0_aux(dd, P, zvar); if (r == NULL) { Cudd_RecursiveDerefZdd(dd, zvar); return(NULL); } cuddRef(r); Cudd_RecursiveDerefZdd(dd, zvar); } cuddDeref(r); return(r); } /* end of cuddZddSubset0 */ /**Function******************************************************************** Synopsis [Substitutes a variable with its complement in a ZDD.] Description [Substitutes a variable with its complement in a ZDD. returns a pointer to the result if successful; NULL otherwise. cuddZddChange performs the same function as Cudd_zddChange, but does not restart if reordering has taken place. Therefore it can be called from within a recursive procedure.] SideEffects [None] SeeAlso [Cudd_zddChange] ******************************************************************************/ DdNode * cuddZddChange( DdManager * dd, DdNode * P, int var) { DdNode *zvar, *res; zvar = cuddUniqueInterZdd(dd, var, DD_ONE(dd), DD_ZERO(dd)); if (zvar == NULL) return(NULL); cuddRef(zvar); res = cuddZddChangeAux(dd, P, zvar); if (res == NULL) { Cudd_RecursiveDerefZdd(dd,zvar); return(NULL); } cuddRef(res); Cudd_RecursiveDerefZdd(dd,zvar); cuddDeref(res); return(res); } /* end of cuddZddChange */ /*---------------------------------------------------------------------------*/ /* Definition of static functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_zddSubset1.] Description [] SideEffects [None] SeeAlso [] ******************************************************************************/ static DdNode * zdd_subset1_aux( DdManager * zdd, DdNode * P, DdNode * zvar) { int top_var, level; DdNode *res, *t, *e; DdNode *empty; statLine(zdd); empty = DD_ZERO(zdd); /* Check cache. */ res = cuddCacheLookup2Zdd(zdd, zdd_subset1_aux, P, zvar); if (res != NULL) return(res); if (cuddIsConstant(P)) { res = empty; cuddCacheInsert2(zdd, zdd_subset1_aux, P, zvar, res); return(res); } top_var = zdd->permZ[P->index]; level = zdd->permZ[zvar->index]; if (top_var > level) { res = empty; } else if (top_var == level) { res = cuddT(P); } else { t = zdd_subset1_aux(zdd, cuddT(P), zvar); if (t == NULL) return(NULL); cuddRef(t); e = zdd_subset1_aux(zdd, cuddE(P), zvar); if (e == NULL) { Cudd_RecursiveDerefZdd(zdd, t); return(NULL); } cuddRef(e); res = cuddZddGetNode(zdd, P->index, t, e); if (res == NULL) { Cudd_RecursiveDerefZdd(zdd, t); Cudd_RecursiveDerefZdd(zdd, e); return(NULL); } cuddDeref(t); cuddDeref(e); } cuddCacheInsert2(zdd, zdd_subset1_aux, P, zvar, res); return(res); } /* end of zdd_subset1_aux */ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_zddSubset0.] Description [] SideEffects [None] SeeAlso [] ******************************************************************************/ static DdNode * zdd_subset0_aux( DdManager * zdd, DdNode * P, DdNode * zvar) { int top_var, level; DdNode *res, *t, *e; statLine(zdd); /* Check cache. */ res = cuddCacheLookup2Zdd(zdd, zdd_subset0_aux, P, zvar); if (res != NULL) return(res); if (cuddIsConstant(P)) { res = P; cuddCacheInsert2(zdd, zdd_subset0_aux, P, zvar, res); return(res); } top_var = zdd->permZ[P->index]; level = zdd->permZ[zvar->index]; if (top_var > level) { res = P; } else if (top_var == level) { res = cuddE(P); } else { t = zdd_subset0_aux(zdd, cuddT(P), zvar); if (t == NULL) return(NULL); cuddRef(t); e = zdd_subset0_aux(zdd, cuddE(P), zvar); if (e == NULL) { Cudd_RecursiveDerefZdd(zdd, t); return(NULL); } cuddRef(e); res = cuddZddGetNode(zdd, P->index, t, e); if (res == NULL) { Cudd_RecursiveDerefZdd(zdd, t); Cudd_RecursiveDerefZdd(zdd, e); return(NULL); } cuddDeref(t); cuddDeref(e); } cuddCacheInsert2(zdd, zdd_subset0_aux, P, zvar, res); return(res); } /* end of zdd_subset0_aux */ /**Function******************************************************************** Synopsis [Replaces variables with constants if possible (part of canonical form).] Description [] SideEffects [None] SeeAlso [] ******************************************************************************/ static void zddVarToConst( DdNode * f, DdNode ** gp, DdNode ** hp, DdNode * base, DdNode * empty) { DdNode *g = *gp; DdNode *h = *hp; if (f == g) { /* ITE(F,F,H) = ITE(F,1,H) = F + H */ *gp = base; } if (f == h) { /* ITE(F,G,F) = ITE(F,G,0) = F * G */ *hp = empty; } } /* end of zddVarToConst */ BRiAl-1.2.12/cudd/cuddZddSymm.c000066400000000000000000001341261436062512100160470ustar00rootroot00000000000000/**CFile*********************************************************************** FileName [cuddZddSymm.c] PackageName [cudd] Synopsis [Functions for symmetry-based ZDD variable reordering.] Description [External procedures included in this module:
        • Cudd_zddSymmProfile()
        Internal procedures included in this module:
        • cuddZddSymmCheck()
        • cuddZddSymmSifting()
        • cuddZddSymmSiftingConv()
        Static procedures included in this module:
        • cuddZddUniqueCompare()
        • cuddZddSymmSiftingAux()
        • cuddZddSymmSiftingConvAux()
        • cuddZddSymmSifting_up()
        • cuddZddSymmSifting_down()
        • zdd_group_move()
        • cuddZddSymmSiftingBackward()
        • zdd_group_move_backward()
        ] SeeAlso [cuddSymmetry.c] Author [Hyong-Kyoon Shin, In-Ho Moon] Copyright [Copyright (c) 1995-2012, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.] ******************************************************************************/ #include "util.h" #include "cuddInt.h" /*---------------------------------------------------------------------------*/ /* Constant declarations */ /*---------------------------------------------------------------------------*/ #define ZDD_MV_OOM (Move *)1 /*---------------------------------------------------------------------------*/ /* Stucture declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Type declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Variable declarations */ /*---------------------------------------------------------------------------*/ #ifndef lint static char rcsid[] DD_UNUSED = "$Id: cuddZddSymm.c,v 1.31 2012/02/05 01:07:19 fabio Exp $"; #endif extern int *zdd_entry; extern int zddTotalNumberSwapping; static DdNode *empty; /*---------------------------------------------------------------------------*/ /* Macro declarations */ /*---------------------------------------------------------------------------*/ /**AutomaticStart*************************************************************/ /*---------------------------------------------------------------------------*/ /* Static function prototypes */ /*---------------------------------------------------------------------------*/ static int cuddZddSymmSiftingAux (DdManager *table, int x, int x_low, int x_high); static int cuddZddSymmSiftingConvAux (DdManager *table, int x, int x_low, int x_high); static Move * cuddZddSymmSifting_up (DdManager *table, int x, int x_low, int initial_size); static Move * cuddZddSymmSifting_down (DdManager *table, int x, int x_high, int initial_size); static int cuddZddSymmSiftingBackward (DdManager *table, Move *moves, int size); static int zdd_group_move (DdManager *table, int x, int y, Move **moves); static int zdd_group_move_backward (DdManager *table, int x, int y); static void cuddZddSymmSummary (DdManager *table, int lower, int upper, int *symvars, int *symgroups); /**AutomaticEnd***************************************************************/ /*---------------------------------------------------------------------------*/ /* Definition of exported functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Prints statistics on symmetric ZDD variables.] Description [] SideEffects [None] SeeAlso [] ******************************************************************************/ void Cudd_zddSymmProfile( DdManager * table, int lower, int upper) { int i, x, gbot; int TotalSymm = 0; int TotalSymmGroups = 0; for (i = lower; i < upper; i++) { if (table->subtableZ[i].next != (unsigned) i) { x = i; (void) fprintf(table->out,"Group:"); do { (void) fprintf(table->out," %d", table->invpermZ[x]); TotalSymm++; gbot = x; x = table->subtableZ[x].next; } while (x != i); TotalSymmGroups++; #ifdef DD_DEBUG assert(table->subtableZ[gbot].next == (unsigned) i); #endif i = gbot; (void) fprintf(table->out,"\n"); } } (void) fprintf(table->out,"Total Symmetric = %d\n", TotalSymm); (void) fprintf(table->out,"Total Groups = %d\n", TotalSymmGroups); } /* end of Cudd_zddSymmProfile */ /*---------------------------------------------------------------------------*/ /* Definition of internal functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Checks for symmetry of x and y.] Description [Checks for symmetry of x and y. Ignores projection functions, unless they are isolated. Returns 1 in case of symmetry; 0 otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ int cuddZddSymmCheck( DdManager * table, int x, int y) { int i; DdNode *f, *f0, *f1, *f01, *f00, *f11, *f10; int yindex; int xsymmy = 1; int xsymmyp = 1; int arccount = 0; int TotalRefCount = 0; int symm_found; empty = table->zero; yindex = table->invpermZ[y]; for (i = table->subtableZ[x].slots - 1; i >= 0; i--) { f = table->subtableZ[x].nodelist[i]; while (f != NULL) { /* Find f1, f0, f11, f10, f01, f00 */ f1 = cuddT(f); f0 = cuddE(f); if ((int) f1->index == yindex) { f11 = cuddT(f1); f10 = cuddE(f1); if (f10 != empty) arccount++; } else { if ((int) f0->index != yindex) { return(0); /* f bypasses layer y */ } f11 = empty; f10 = f1; } if ((int) f0->index == yindex) { f01 = cuddT(f0); f00 = cuddE(f0); if (f00 != empty) arccount++; } else { f01 = empty; f00 = f0; } if (f01 != f10) xsymmy = 0; if (f11 != f00) xsymmyp = 0; if ((xsymmy == 0) && (xsymmyp == 0)) return(0); f = f->next; } /* for each element of the collision list */ } /* for each slot of the subtable */ /* Calculate the total reference counts of y ** whose else arc is not empty. */ for (i = table->subtableZ[y].slots - 1; i >= 0; i--) { f = table->subtableZ[y].nodelist[i]; while (f != NIL(DdNode)) { if (cuddE(f) != empty) TotalRefCount += f->ref; f = f->next; } } symm_found = (arccount == TotalRefCount); #if defined(DD_DEBUG) && defined(DD_VERBOSE) if (symm_found) { int xindex = table->invpermZ[x]; (void) fprintf(table->out, "Found symmetry! x =%d\ty = %d\tPos(%d,%d)\n", xindex,yindex,x,y); } #endif return(symm_found); } /* end cuddZddSymmCheck */ /**Function******************************************************************** Synopsis [Symmetric sifting algorithm for ZDDs.] Description [Symmetric sifting algorithm. Assumes that no dead nodes are present.
        1. Order all the variables according to the number of entries in each unique subtable.
        2. Sift the variable up and down, remembering each time the total size of the ZDD heap and grouping variables that are symmetric.
        3. Select the best permutation.
        4. Repeat 3 and 4 for all variables.
        Returns 1 plus the number of symmetric variables if successful; 0 otherwise.] SideEffects [None] SeeAlso [cuddZddSymmSiftingConv] ******************************************************************************/ int cuddZddSymmSifting( DdManager * table, int lower, int upper) { int i; int *var; int nvars; int x; int result; int symvars; int symgroups; int iteration; #ifdef DD_STATS int previousSize; #endif nvars = table->sizeZ; /* Find order in which to sift variables. */ var = NULL; zdd_entry = ALLOC(int, nvars); if (zdd_entry == NULL) { table->errorCode = CUDD_MEMORY_OUT; goto cuddZddSymmSiftingOutOfMem; } var = ALLOC(int, nvars); if (var == NULL) { table->errorCode = CUDD_MEMORY_OUT; goto cuddZddSymmSiftingOutOfMem; } for (i = 0; i < nvars; i++) { x = table->permZ[i]; zdd_entry[i] = table->subtableZ[x].keys; var[i] = i; } qsort((void *)var, nvars, sizeof(int), (DD_QSFP)cuddZddUniqueCompare); /* Initialize the symmetry of each subtable to itself. */ for (i = lower; i <= upper; i++) table->subtableZ[i].next = i; iteration = ddMin(table->siftMaxVar, nvars); for (i = 0; i < iteration; i++) { if (zddTotalNumberSwapping >= table->siftMaxSwap) break; if (util_cpu_time() - table->startTime > table->timeLimit) { table->autoDynZ = 0; /* prevent further reordering */ break; } x = table->permZ[var[i]]; #ifdef DD_STATS previousSize = table->keysZ; #endif if (x < lower || x > upper) continue; if (table->subtableZ[x].next == (unsigned) x) { result = cuddZddSymmSiftingAux(table, x, lower, upper); if (!result) goto cuddZddSymmSiftingOutOfMem; #ifdef DD_STATS if (table->keysZ < (unsigned) previousSize) { (void) fprintf(table->out,"-"); } else if (table->keysZ > (unsigned) previousSize) { (void) fprintf(table->out,"+"); #ifdef DD_VERBOSE (void) fprintf(table->out,"\nSize increased from %d to %d while sifting variable %d\n", previousSize, table->keysZ, var[i]); #endif } else { (void) fprintf(table->out,"="); } fflush(table->out); #endif } } FREE(var); FREE(zdd_entry); cuddZddSymmSummary(table, lower, upper, &symvars, &symgroups); #ifdef DD_STATS (void) fprintf(table->out,"\n#:S_SIFTING %8d: symmetric variables\n",symvars); (void) fprintf(table->out,"#:G_SIFTING %8d: symmetric groups\n",symgroups); #endif return(1+symvars); cuddZddSymmSiftingOutOfMem: if (zdd_entry != NULL) FREE(zdd_entry); if (var != NULL) FREE(var); return(0); } /* end of cuddZddSymmSifting */ /**Function******************************************************************** Synopsis [Symmetric sifting to convergence algorithm for ZDDs.] Description [Symmetric sifting to convergence algorithm for ZDDs. Assumes that no dead nodes are present.
        1. Order all the variables according to the number of entries in each unique subtable.
        2. Sift the variable up and down, remembering each time the total size of the ZDD heap and grouping variables that are symmetric.
        3. Select the best permutation.
        4. Repeat 3 and 4 for all variables.
        5. Repeat 1-4 until no further improvement.
        Returns 1 plus the number of symmetric variables if successful; 0 otherwise.] SideEffects [None] SeeAlso [cuddZddSymmSifting] ******************************************************************************/ int cuddZddSymmSiftingConv( DdManager * table, int lower, int upper) { int i; int *var; int nvars; int initialSize; int x; int result; int symvars; int symgroups; int classes; int iteration; #ifdef DD_STATS int previousSize; #endif initialSize = table->keysZ; nvars = table->sizeZ; /* Find order in which to sift variables. */ var = NULL; zdd_entry = ALLOC(int, nvars); if (zdd_entry == NULL) { table->errorCode = CUDD_MEMORY_OUT; goto cuddZddSymmSiftingConvOutOfMem; } var = ALLOC(int, nvars); if (var == NULL) { table->errorCode = CUDD_MEMORY_OUT; goto cuddZddSymmSiftingConvOutOfMem; } for (i = 0; i < nvars; i++) { x = table->permZ[i]; zdd_entry[i] = table->subtableZ[x].keys; var[i] = i; } qsort((void *)var, nvars, sizeof(int), (DD_QSFP)cuddZddUniqueCompare); /* Initialize the symmetry of each subtable to itself ** for first pass of converging symmetric sifting. */ for (i = lower; i <= upper; i++) table->subtableZ[i].next = i; iteration = ddMin(table->siftMaxVar, table->sizeZ); for (i = 0; i < iteration; i++) { if (zddTotalNumberSwapping >= table->siftMaxSwap) break; if (util_cpu_time() - table->startTime > table->timeLimit) { table->autoDynZ = 0; /* prevent further reordering */ break; } x = table->permZ[var[i]]; if (x < lower || x > upper) continue; /* Only sift if not in symmetry group already. */ if (table->subtableZ[x].next == (unsigned) x) { #ifdef DD_STATS previousSize = table->keysZ; #endif result = cuddZddSymmSiftingAux(table, x, lower, upper); if (!result) goto cuddZddSymmSiftingConvOutOfMem; #ifdef DD_STATS if (table->keysZ < (unsigned) previousSize) { (void) fprintf(table->out,"-"); } else if (table->keysZ > (unsigned) previousSize) { (void) fprintf(table->out,"+"); #ifdef DD_VERBOSE (void) fprintf(table->out,"\nSize increased from %d to %d while sifting variable %d\n", previousSize, table->keysZ, var[i]); #endif } else { (void) fprintf(table->out,"="); } fflush(table->out); #endif } } /* Sifting now until convergence. */ while ((unsigned) initialSize > table->keysZ) { initialSize = table->keysZ; #ifdef DD_STATS (void) fprintf(table->out,"\n"); #endif /* Here we consider only one representative for each symmetry class. */ for (x = lower, classes = 0; x <= upper; x++, classes++) { while ((unsigned) x < table->subtableZ[x].next) x = table->subtableZ[x].next; /* Here x is the largest index in a group. ** Groups consists of adjacent variables. ** Hence, the next increment of x will move it to a new group. */ i = table->invpermZ[x]; zdd_entry[i] = table->subtableZ[x].keys; var[classes] = i; } qsort((void *)var,classes,sizeof(int),(DD_QSFP)cuddZddUniqueCompare); /* Now sift. */ iteration = ddMin(table->siftMaxVar, nvars); for (i = 0; i < iteration; i++) { if (zddTotalNumberSwapping >= table->siftMaxSwap) break; if (util_cpu_time() - table->startTime > table->timeLimit) { table->autoDynZ = 0; /* prevent further reordering */ break; } x = table->permZ[var[i]]; if ((unsigned) x >= table->subtableZ[x].next) { #ifdef DD_STATS previousSize = table->keysZ; #endif result = cuddZddSymmSiftingConvAux(table, x, lower, upper); if (!result) goto cuddZddSymmSiftingConvOutOfMem; #ifdef DD_STATS if (table->keysZ < (unsigned) previousSize) { (void) fprintf(table->out,"-"); } else if (table->keysZ > (unsigned) previousSize) { (void) fprintf(table->out,"+"); #ifdef DD_VERBOSE (void) fprintf(table->out,"\nSize increased from %d to %d while sifting variable %d\n", previousSize, table->keysZ, var[i]); #endif } else { (void) fprintf(table->out,"="); } fflush(table->out); #endif } } /* for */ } cuddZddSymmSummary(table, lower, upper, &symvars, &symgroups); #ifdef DD_STATS (void) fprintf(table->out,"\n#:S_SIFTING %8d: symmetric variables\n", symvars); (void) fprintf(table->out,"#:G_SIFTING %8d: symmetric groups\n", symgroups); #endif FREE(var); FREE(zdd_entry); return(1+symvars); cuddZddSymmSiftingConvOutOfMem: if (zdd_entry != NULL) FREE(zdd_entry); if (var != NULL) FREE(var); return(0); } /* end of cuddZddSymmSiftingConv */ /*---------------------------------------------------------------------------*/ /* Definition of static functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Given x_low <= x <= x_high moves x up and down between the boundaries.] Description [Given x_low <= x <= x_high moves x up and down between the boundaries. Finds the best position and does the required changes. Assumes that x is not part of a symmetry group. Returns 1 if successful; 0 otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ static int cuddZddSymmSiftingAux( DdManager * table, int x, int x_low, int x_high) { Move *move; Move *move_up; /* list of up move */ Move *move_down; /* list of down move */ int initial_size; int result; int i; int topbot; /* index to either top or bottom of symmetry group */ int init_group_size, final_group_size; initial_size = table->keysZ; move_down = NULL; move_up = NULL; /* Look for consecutive symmetries above x. */ for (i = x; i > x_low; i--) { if (!cuddZddSymmCheck(table, i - 1, i)) break; /* find top of i-1's symmetry */ topbot = table->subtableZ[i - 1].next; table->subtableZ[i - 1].next = i; table->subtableZ[x].next = topbot; /* x is bottom of group so its symmetry is top of i-1's group */ i = topbot + 1; /* add 1 for i--, new i is top of symm group */ } /* Look for consecutive symmetries below x. */ for (i = x; i < x_high; i++) { if (!cuddZddSymmCheck(table, i, i + 1)) break; /* find bottom of i+1's symm group */ topbot = i + 1; while ((unsigned) topbot < table->subtableZ[topbot].next) topbot = table->subtableZ[topbot].next; table->subtableZ[topbot].next = table->subtableZ[i].next; table->subtableZ[i].next = i + 1; i = topbot - 1; /* add 1 for i++, new i is bottom of symm group */ } /* Now x maybe in the middle of a symmetry group. */ if (x == x_low) { /* Sift down */ /* Find bottom of x's symm group */ while ((unsigned) x < table->subtableZ[x].next) x = table->subtableZ[x].next; i = table->subtableZ[x].next; init_group_size = x - i + 1; move_down = cuddZddSymmSifting_down(table, x, x_high, initial_size); /* after that point x --> x_high, unless early term */ if (move_down == ZDD_MV_OOM) goto cuddZddSymmSiftingAuxOutOfMem; if (move_down == NULL || table->subtableZ[move_down->y].next != move_down->y) { /* symmetry detected may have to make another complete pass */ if (move_down != NULL) x = move_down->y; else x = table->subtableZ[x].next; i = x; while ((unsigned) i < table->subtableZ[i].next) { i = table->subtableZ[i].next; } final_group_size = i - x + 1; if (init_group_size == final_group_size) { /* No new symmetry groups detected, return to best position */ result = cuddZddSymmSiftingBackward(table, move_down, initial_size); } else { initial_size = table->keysZ; move_up = cuddZddSymmSifting_up(table, x, x_low, initial_size); result = cuddZddSymmSiftingBackward(table, move_up, initial_size); } } else { result = cuddZddSymmSiftingBackward(table, move_down, initial_size); /* move backward and stop at best position */ } if (!result) goto cuddZddSymmSiftingAuxOutOfMem; } else if (x == x_high) { /* Sift up */ /* Find top of x's symm group */ while ((unsigned) x < table->subtableZ[x].next) x = table->subtableZ[x].next; x = table->subtableZ[x].next; i = x; while ((unsigned) i < table->subtableZ[i].next) { i = table->subtableZ[i].next; } init_group_size = i - x + 1; move_up = cuddZddSymmSifting_up(table, x, x_low, initial_size); /* after that point x --> x_low, unless early term */ if (move_up == ZDD_MV_OOM) goto cuddZddSymmSiftingAuxOutOfMem; if (move_up == NULL || table->subtableZ[move_up->x].next != move_up->x) { /* symmetry detected may have to make another complete pass */ if (move_up != NULL) x = move_up->x; else { while ((unsigned) x < table->subtableZ[x].next) x = table->subtableZ[x].next; } i = table->subtableZ[x].next; final_group_size = x - i + 1; if (init_group_size == final_group_size) { /* No new symmetry groups detected, return to best position */ result = cuddZddSymmSiftingBackward(table, move_up, initial_size); } else { initial_size = table->keysZ; move_down = cuddZddSymmSifting_down(table, x, x_high, initial_size); result = cuddZddSymmSiftingBackward(table, move_down, initial_size); } } else { result = cuddZddSymmSiftingBackward(table, move_up, initial_size); /* move backward and stop at best position */ } if (!result) goto cuddZddSymmSiftingAuxOutOfMem; } else if ((x - x_low) > (x_high - x)) { /* must go down first: shorter */ /* Find bottom of x's symm group */ while ((unsigned) x < table->subtableZ[x].next) x = table->subtableZ[x].next; move_down = cuddZddSymmSifting_down(table, x, x_high, initial_size); /* after that point x --> x_high, unless early term */ if (move_down == ZDD_MV_OOM) goto cuddZddSymmSiftingAuxOutOfMem; if (move_down != NULL) { x = move_down->y; } else { x = table->subtableZ[x].next; } i = x; while ((unsigned) i < table->subtableZ[i].next) { i = table->subtableZ[i].next; } init_group_size = i - x + 1; move_up = cuddZddSymmSifting_up(table, x, x_low, initial_size); if (move_up == ZDD_MV_OOM) goto cuddZddSymmSiftingAuxOutOfMem; if (move_up == NULL || table->subtableZ[move_up->x].next != move_up->x) { /* symmetry detected may have to make another complete pass */ if (move_up != NULL) { x = move_up->x; } else { while ((unsigned) x < table->subtableZ[x].next) x = table->subtableZ[x].next; } i = table->subtableZ[x].next; final_group_size = x - i + 1; if (init_group_size == final_group_size) { /* No new symmetry groups detected, return to best position */ result = cuddZddSymmSiftingBackward(table, move_up, initial_size); } else { while (move_down != NULL) { move = move_down->next; cuddDeallocMove(table, move_down); move_down = move; } initial_size = table->keysZ; move_down = cuddZddSymmSifting_down(table, x, x_high, initial_size); result = cuddZddSymmSiftingBackward(table, move_down, initial_size); } } else { result = cuddZddSymmSiftingBackward(table, move_up, initial_size); /* move backward and stop at best position */ } if (!result) goto cuddZddSymmSiftingAuxOutOfMem; } else { /* moving up first:shorter */ /* Find top of x's symmetry group */ while ((unsigned) x < table->subtableZ[x].next) x = table->subtableZ[x].next; x = table->subtableZ[x].next; move_up = cuddZddSymmSifting_up(table, x, x_low, initial_size); /* after that point x --> x_high, unless early term */ if (move_up == ZDD_MV_OOM) goto cuddZddSymmSiftingAuxOutOfMem; if (move_up != NULL) { x = move_up->x; } else { while ((unsigned) x < table->subtableZ[x].next) x = table->subtableZ[x].next; } i = table->subtableZ[x].next; init_group_size = x - i + 1; move_down = cuddZddSymmSifting_down(table, x, x_high, initial_size); if (move_down == ZDD_MV_OOM) goto cuddZddSymmSiftingAuxOutOfMem; if (move_down == NULL || table->subtableZ[move_down->y].next != move_down->y) { /* symmetry detected may have to make another complete pass */ if (move_down != NULL) { x = move_down->y; } else { x = table->subtableZ[x].next; } i = x; while ((unsigned) i < table->subtableZ[i].next) { i = table->subtableZ[i].next; } final_group_size = i - x + 1; if (init_group_size == final_group_size) { /* No new symmetries detected, go back to best position */ result = cuddZddSymmSiftingBackward(table, move_down, initial_size); } else { while (move_up != NULL) { move = move_up->next; cuddDeallocMove(table, move_up); move_up = move; } initial_size = table->keysZ; move_up = cuddZddSymmSifting_up(table, x, x_low, initial_size); result = cuddZddSymmSiftingBackward(table, move_up, initial_size); } } else { result = cuddZddSymmSiftingBackward(table, move_down, initial_size); /* move backward and stop at best position */ } if (!result) goto cuddZddSymmSiftingAuxOutOfMem; } while (move_down != NULL) { move = move_down->next; cuddDeallocMove(table, move_down); move_down = move; } while (move_up != NULL) { move = move_up->next; cuddDeallocMove(table, move_up); move_up = move; } return(1); cuddZddSymmSiftingAuxOutOfMem: if (move_down != ZDD_MV_OOM) { while (move_down != NULL) { move = move_down->next; cuddDeallocMove(table, move_down); move_down = move; } } if (move_up != ZDD_MV_OOM) { while (move_up != NULL) { move = move_up->next; cuddDeallocMove(table, move_up); move_up = move; } } return(0); } /* end of cuddZddSymmSiftingAux */ /**Function******************************************************************** Synopsis [Given x_low <= x <= x_high moves x up and down between the boundaries.] Description [Given x_low <= x <= x_high moves x up and down between the boundaries. Finds the best position and does the required changes. Assumes that x is either an isolated variable, or it is the bottom of a symmetry group. All symmetries may not have been found, because of exceeded growth limit. Returns 1 if successful; 0 otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ static int cuddZddSymmSiftingConvAux( DdManager * table, int x, int x_low, int x_high) { Move *move; Move *move_up; /* list of up move */ Move *move_down; /* list of down move */ int initial_size; int result; int i; int init_group_size, final_group_size; initial_size = table->keysZ; move_down = NULL; move_up = NULL; if (x == x_low) { /* Sift down */ i = table->subtableZ[x].next; init_group_size = x - i + 1; move_down = cuddZddSymmSifting_down(table, x, x_high, initial_size); /* after that point x --> x_high, unless early term */ if (move_down == ZDD_MV_OOM) goto cuddZddSymmSiftingConvAuxOutOfMem; if (move_down == NULL || table->subtableZ[move_down->y].next != move_down->y) { /* symmetry detected may have to make another complete pass */ if (move_down != NULL) x = move_down->y; else { while ((unsigned) x < table->subtableZ[x].next) x = table->subtableZ[x].next; x = table->subtableZ[x].next; } i = x; while ((unsigned) i < table->subtableZ[i].next) { i = table->subtableZ[i].next; } final_group_size = i - x + 1; if (init_group_size == final_group_size) { /* No new symmetries detected, go back to best position */ result = cuddZddSymmSiftingBackward(table, move_down, initial_size); } else { initial_size = table->keysZ; move_up = cuddZddSymmSifting_up(table, x, x_low, initial_size); result = cuddZddSymmSiftingBackward(table, move_up, initial_size); } } else { result = cuddZddSymmSiftingBackward(table, move_down, initial_size); /* move backward and stop at best position */ } if (!result) goto cuddZddSymmSiftingConvAuxOutOfMem; } else if (x == x_high) { /* Sift up */ /* Find top of x's symm group */ while ((unsigned) x < table->subtableZ[x].next) x = table->subtableZ[x].next; x = table->subtableZ[x].next; i = x; while ((unsigned) i < table->subtableZ[i].next) { i = table->subtableZ[i].next; } init_group_size = i - x + 1; move_up = cuddZddSymmSifting_up(table, x, x_low, initial_size); /* after that point x --> x_low, unless early term */ if (move_up == ZDD_MV_OOM) goto cuddZddSymmSiftingConvAuxOutOfMem; if (move_up == NULL || table->subtableZ[move_up->x].next != move_up->x) { /* symmetry detected may have to make another complete pass */ if (move_up != NULL) x = move_up->x; else { while ((unsigned) x < table->subtableZ[x].next) x = table->subtableZ[x].next; } i = table->subtableZ[x].next; final_group_size = x - i + 1; if (init_group_size == final_group_size) { /* No new symmetry groups detected, return to best position */ result = cuddZddSymmSiftingBackward(table, move_up, initial_size); } else { initial_size = table->keysZ; move_down = cuddZddSymmSifting_down(table, x, x_high, initial_size); result = cuddZddSymmSiftingBackward(table, move_down, initial_size); } } else { result = cuddZddSymmSiftingBackward(table, move_up, initial_size); /* move backward and stop at best position */ } if (!result) goto cuddZddSymmSiftingConvAuxOutOfMem; } else if ((x - x_low) > (x_high - x)) { /* must go down first: shorter */ move_down = cuddZddSymmSifting_down(table, x, x_high, initial_size); /* after that point x --> x_high */ if (move_down == ZDD_MV_OOM) goto cuddZddSymmSiftingConvAuxOutOfMem; if (move_down != NULL) { x = move_down->y; } else { while ((unsigned) x < table->subtableZ[x].next) x = table->subtableZ[x].next; x = table->subtableZ[x].next; } i = x; while ((unsigned) i < table->subtableZ[i].next) { i = table->subtableZ[i].next; } init_group_size = i - x + 1; move_up = cuddZddSymmSifting_up(table, x, x_low, initial_size); if (move_up == ZDD_MV_OOM) goto cuddZddSymmSiftingConvAuxOutOfMem; if (move_up == NULL || table->subtableZ[move_up->x].next != move_up->x) { /* symmetry detected may have to make another complete pass */ if (move_up != NULL) { x = move_up->x; } else { while ((unsigned) x < table->subtableZ[x].next) x = table->subtableZ[x].next; } i = table->subtableZ[x].next; final_group_size = x - i + 1; if (init_group_size == final_group_size) { /* No new symmetry groups detected, return to best position */ result = cuddZddSymmSiftingBackward(table, move_up, initial_size); } else { while (move_down != NULL) { move = move_down->next; cuddDeallocMove(table, move_down); move_down = move; } initial_size = table->keysZ; move_down = cuddZddSymmSifting_down(table, x, x_high, initial_size); result = cuddZddSymmSiftingBackward(table, move_down, initial_size); } } else { result = cuddZddSymmSiftingBackward(table, move_up, initial_size); /* move backward and stop at best position */ } if (!result) goto cuddZddSymmSiftingConvAuxOutOfMem; } else { /* moving up first:shorter */ /* Find top of x's symmetry group */ x = table->subtableZ[x].next; move_up = cuddZddSymmSifting_up(table, x, x_low, initial_size); /* after that point x --> x_high, unless early term */ if (move_up == ZDD_MV_OOM) goto cuddZddSymmSiftingConvAuxOutOfMem; if (move_up != NULL) { x = move_up->x; } else { while ((unsigned) x < table->subtableZ[x].next) x = table->subtableZ[x].next; } i = table->subtableZ[x].next; init_group_size = x - i + 1; move_down = cuddZddSymmSifting_down(table, x, x_high, initial_size); if (move_down == ZDD_MV_OOM) goto cuddZddSymmSiftingConvAuxOutOfMem; if (move_down == NULL || table->subtableZ[move_down->y].next != move_down->y) { /* symmetry detected may have to make another complete pass */ if (move_down != NULL) { x = move_down->y; } else { while ((unsigned) x < table->subtableZ[x].next) x = table->subtableZ[x].next; x = table->subtableZ[x].next; } i = x; while ((unsigned) i < table->subtableZ[i].next) { i = table->subtableZ[i].next; } final_group_size = i - x + 1; if (init_group_size == final_group_size) { /* No new symmetries detected, go back to best position */ result = cuddZddSymmSiftingBackward(table, move_down, initial_size); } else { while (move_up != NULL) { move = move_up->next; cuddDeallocMove(table, move_up); move_up = move; } initial_size = table->keysZ; move_up = cuddZddSymmSifting_up(table, x, x_low, initial_size); result = cuddZddSymmSiftingBackward(table, move_up, initial_size); } } else { result = cuddZddSymmSiftingBackward(table, move_down, initial_size); /* move backward and stop at best position */ } if (!result) goto cuddZddSymmSiftingConvAuxOutOfMem; } while (move_down != NULL) { move = move_down->next; cuddDeallocMove(table, move_down); move_down = move; } while (move_up != NULL) { move = move_up->next; cuddDeallocMove(table, move_up); move_up = move; } return(1); cuddZddSymmSiftingConvAuxOutOfMem: if (move_down != ZDD_MV_OOM) { while (move_down != NULL) { move = move_down->next; cuddDeallocMove(table, move_down); move_down = move; } } if (move_up != ZDD_MV_OOM) { while (move_up != NULL) { move = move_up->next; cuddDeallocMove(table, move_up); move_up = move; } } return(0); } /* end of cuddZddSymmSiftingConvAux */ /**Function******************************************************************** Synopsis [Moves x up until either it reaches the bound (x_low) or the size of the ZDD heap increases too much.] Description [Moves x up until either it reaches the bound (x_low) or the size of the ZDD heap increases too much. Assumes that x is the top of a symmetry group. Checks x for symmetry to the adjacent variables. If symmetry is found, the symmetry group of x is merged with the symmetry group of the other variable. Returns the set of moves in case of success; ZDD_MV_OOM if memory is full.] SideEffects [None] SeeAlso [] ******************************************************************************/ static Move * cuddZddSymmSifting_up( DdManager * table, int x, int x_low, int initial_size) { Move *moves; Move *move; int y; int size; int limit_size = initial_size; int i, gytop; moves = NULL; y = cuddZddNextLow(table, x); while (y >= x_low) { gytop = table->subtableZ[y].next; if (cuddZddSymmCheck(table, y, x)) { /* Symmetry found, attach symm groups */ table->subtableZ[y].next = x; i = table->subtableZ[x].next; while (table->subtableZ[i].next != (unsigned) x) i = table->subtableZ[i].next; table->subtableZ[i].next = gytop; } else if ((table->subtableZ[x].next == (unsigned) x) && (table->subtableZ[y].next == (unsigned) y)) { /* x and y have self symmetry */ size = cuddZddSwapInPlace(table, y, x); if (size == 0) goto cuddZddSymmSifting_upOutOfMem; move = (Move *)cuddDynamicAllocNode(table); if (move == NULL) goto cuddZddSymmSifting_upOutOfMem; move->x = y; move->y = x; move->size = size; move->next = moves; moves = move; if ((double)size > (double)limit_size * table->maxGrowth) return(moves); if (size < limit_size) limit_size = size; } else { /* Group move */ size = zdd_group_move(table, y, x, &moves); if ((double)size > (double)limit_size * table->maxGrowth) return(moves); if (size < limit_size) limit_size = size; } x = gytop; y = cuddZddNextLow(table, x); } return(moves); cuddZddSymmSifting_upOutOfMem: while (moves != NULL) { move = moves->next; cuddDeallocMove(table, moves); moves = move; } return(ZDD_MV_OOM); } /* end of cuddZddSymmSifting_up */ /**Function******************************************************************** Synopsis [Moves x down until either it reaches the bound (x_high) or the size of the ZDD heap increases too much.] Description [Moves x down until either it reaches the bound (x_high) or the size of the ZDD heap increases too much. Assumes that x is the bottom of a symmetry group. Checks x for symmetry to the adjacent variables. If symmetry is found, the symmetry group of x is merged with the symmetry group of the other variable. Returns the set of moves in case of success; ZDD_MV_OOM if memory is full.] SideEffects [None] SeeAlso [] ******************************************************************************/ static Move * cuddZddSymmSifting_down( DdManager * table, int x, int x_high, int initial_size) { Move *moves; Move *move; int y; int size; int limit_size = initial_size; int i, gxtop, gybot; moves = NULL; y = cuddZddNextHigh(table, x); while (y <= x_high) { gybot = table->subtableZ[y].next; while (table->subtableZ[gybot].next != (unsigned) y) gybot = table->subtableZ[gybot].next; if (cuddZddSymmCheck(table, x, y)) { /* Symmetry found, attach symm groups */ gxtop = table->subtableZ[x].next; table->subtableZ[x].next = y; i = table->subtableZ[y].next; while (table->subtableZ[i].next != (unsigned) y) i = table->subtableZ[i].next; table->subtableZ[i].next = gxtop; } else if ((table->subtableZ[x].next == (unsigned) x) && (table->subtableZ[y].next == (unsigned) y)) { /* x and y have self symmetry */ size = cuddZddSwapInPlace(table, x, y); if (size == 0) goto cuddZddSymmSifting_downOutOfMem; move = (Move *)cuddDynamicAllocNode(table); if (move == NULL) goto cuddZddSymmSifting_downOutOfMem; move->x = x; move->y = y; move->size = size; move->next = moves; moves = move; if ((double)size > (double)limit_size * table->maxGrowth) return(moves); if (size < limit_size) limit_size = size; x = y; y = cuddZddNextHigh(table, x); } else { /* Group move */ size = zdd_group_move(table, x, y, &moves); if ((double)size > (double)limit_size * table->maxGrowth) return(moves); if (size < limit_size) limit_size = size; } x = gybot; y = cuddZddNextHigh(table, x); } return(moves); cuddZddSymmSifting_downOutOfMem: while (moves != NULL) { move = moves->next; cuddDeallocMove(table, moves); moves = move; } return(ZDD_MV_OOM); } /* end of cuddZddSymmSifting_down */ /**Function******************************************************************** Synopsis [Given a set of moves, returns the ZDD heap to the position giving the minimum size.] Description [Given a set of moves, returns the ZDD heap to the position giving the minimum size. In case of ties, returns to the closest position giving the minimum size. Returns 1 in case of success; 0 otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ static int cuddZddSymmSiftingBackward( DdManager * table, Move * moves, int size) { int i; int i_best; Move *move; int res; i_best = -1; for (move = moves, i = 0; move != NULL; move = move->next, i++) { if (move->size < size) { i_best = i; size = move->size; } } for (move = moves, i = 0; move != NULL; move = move->next, i++) { if (i == i_best) break; if ((table->subtableZ[move->x].next == move->x) && (table->subtableZ[move->y].next == move->y)) { res = cuddZddSwapInPlace(table, move->x, move->y); if (!res) return(0); } else { /* Group move necessary */ res = zdd_group_move_backward(table, move->x, move->y); } if (i_best == -1 && res == size) break; } return(1); } /* end of cuddZddSymmSiftingBackward */ /**Function******************************************************************** Synopsis [Swaps two groups.] Description [Swaps two groups. x is assumed to be the bottom variable of the first group. y is assumed to be the top variable of the second group. Updates the list of moves. Returns the number of keys in the table if successful; 0 otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ static int zdd_group_move( DdManager * table, int x, int y, Move ** moves) { Move *move; int size; int i, temp, gxtop, gxbot, gybot, yprev; int swapx, swapy; #ifdef DD_DEBUG assert(x < y); /* we assume that x < y */ #endif /* Find top and bottom for the two groups. */ gxtop = table->subtableZ[x].next; gxbot = x; gybot = table->subtableZ[y].next; while (table->subtableZ[gybot].next != (unsigned) y) gybot = table->subtableZ[gybot].next; yprev = gybot; while (x <= y) { while (y > gxtop) { /* Set correct symmetries. */ temp = table->subtableZ[x].next; if (temp == x) temp = y; i = gxtop; for (;;) { if (table->subtableZ[i].next == (unsigned) x) { table->subtableZ[i].next = y; break; } else { i = table->subtableZ[i].next; } } if (table->subtableZ[y].next != (unsigned) y) { table->subtableZ[x].next = table->subtableZ[y].next; } else { table->subtableZ[x].next = x; } if (yprev != y) { table->subtableZ[yprev].next = x; } else { yprev = x; } table->subtableZ[y].next = temp; size = cuddZddSwapInPlace(table, x, y); if (size == 0) goto zdd_group_moveOutOfMem; swapx = x; swapy = y; y = x; x--; } /* while y > gxtop */ /* Trying to find the next y. */ if (table->subtableZ[y].next <= (unsigned) y) { gybot = y; } else { y = table->subtableZ[y].next; } yprev = gxtop; gxtop++; gxbot++; x = gxbot; } /* while x <= y, end of group movement */ move = (Move *)cuddDynamicAllocNode(table); if (move == NULL) goto zdd_group_moveOutOfMem; move->x = swapx; move->y = swapy; move->size = table->keysZ; move->next = *moves; *moves = move; return(table->keysZ); zdd_group_moveOutOfMem: while (*moves != NULL) { move = (*moves)->next; cuddDeallocMove(table, *moves); *moves = move; } return(0); } /* end of zdd_group_move */ /**Function******************************************************************** Synopsis [Undoes the swap of two groups.] Description [Undoes the swap of two groups. x is assumed to be the bottom variable of the first group. y is assumed to be the top variable of the second group. Returns 1 if successful; 0 otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ static int zdd_group_move_backward( DdManager * table, int x, int y) { int size; int i, temp, gxtop, gxbot, gybot, yprev; #ifdef DD_DEBUG assert(x < y); /* we assume that x < y */ #endif /* Find top and bottom of the two groups. */ gxtop = table->subtableZ[x].next; gxbot = x; gybot = table->subtableZ[y].next; while (table->subtableZ[gybot].next != (unsigned) y) gybot = table->subtableZ[gybot].next; yprev = gybot; while (x <= y) { while (y > gxtop) { /* Set correct symmetries. */ temp = table->subtableZ[x].next; if (temp == x) temp = y; i = gxtop; for (;;) { if (table->subtableZ[i].next == (unsigned) x) { table->subtableZ[i].next = y; break; } else { i = table->subtableZ[i].next; } } if (table->subtableZ[y].next != (unsigned) y) { table->subtableZ[x].next = table->subtableZ[y].next; } else { table->subtableZ[x].next = x; } if (yprev != y) { table->subtableZ[yprev].next = x; } else { yprev = x; } table->subtableZ[y].next = temp; size = cuddZddSwapInPlace(table, x, y); if (size == 0) return(0); y = x; x--; } /* while y > gxtop */ /* Trying to find the next y. */ if (table->subtableZ[y].next <= (unsigned) y) { gybot = y; } else { y = table->subtableZ[y].next; } yprev = gxtop; gxtop++; gxbot++; x = gxbot; } /* while x <= y, end of group movement backward */ return(size); } /* end of zdd_group_move_backward */ /**Function******************************************************************** Synopsis [Counts numbers of symmetric variables and symmetry groups.] Description [] SideEffects [None] ******************************************************************************/ static void cuddZddSymmSummary( DdManager * table, int lower, int upper, int * symvars, int * symgroups) { int i,x,gbot; int TotalSymm = 0; int TotalSymmGroups = 0; for (i = lower; i <= upper; i++) { if (table->subtableZ[i].next != (unsigned) i) { TotalSymmGroups++; x = i; do { TotalSymm++; gbot = x; x = table->subtableZ[x].next; } while (x != i); #ifdef DD_DEBUG assert(table->subtableZ[gbot].next == (unsigned) i); #endif i = gbot; } } *symvars = TotalSymm; *symgroups = TotalSymmGroups; return; } /* end of cuddZddSymmSummary */ BRiAl-1.2.12/cudd/cuddZddUtil.c000066400000000000000000001035551436062512100160410ustar00rootroot00000000000000/**CFile*********************************************************************** FileName [cuddZddUtil.c] PackageName [cudd] Synopsis [Utility functions for ZDDs.] Description [External procedures included in this module:
        • Cudd_zddPrintMinterm()
        • Cudd_zddPrintCover()
        • Cudd_zddPrintDebug()
        • Cudd_zddFirstPath()
        • Cudd_zddNextPath()
        • Cudd_zddCoverPathToString()
        • Cudd_zddSupport()
        • Cudd_zddDumpDot()
        Internal procedures included in this module:
        • cuddZddP()
        Static procedures included in this module:
        • zp2()
        • zdd_print_minterm_aux()
        • zddPrintCoverAux()
        • zddSupportStep()
        • zddClearFlag()
        ] SeeAlso [] Author [Hyong-Kyoon Shin, In-Ho Moon, Fabio Somenzi] Copyright [Copyright (c) 1995-2012, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.] ******************************************************************************/ #include "util.h" #include "cuddInt.h" /*---------------------------------------------------------------------------*/ /* Constant declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Stucture declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Type declarations */ /*---------------------------------------------------------------------------*/ /*---------------------------------------------------------------------------*/ /* Variable declarations */ /*---------------------------------------------------------------------------*/ #ifndef lint static char rcsid[] DD_UNUSED = "$Id: cuddZddUtil.c,v 1.29 2012/02/05 01:07:19 fabio Exp $"; #endif /*---------------------------------------------------------------------------*/ /* Macro declarations */ /*---------------------------------------------------------------------------*/ /**AutomaticStart*************************************************************/ /*---------------------------------------------------------------------------*/ /* Static function prototypes */ /*---------------------------------------------------------------------------*/ static int zp2 (DdManager *zdd, DdNode *f, st_table *t); static void zdd_print_minterm_aux (DdManager *zdd, DdNode *node, int level, int *list); static void zddPrintCoverAux (DdManager *zdd, DdNode *node, int level, int *list); static void zddSupportStep(DdNode * f, int * support); static void zddClearFlag(DdNode * f); /**AutomaticEnd***************************************************************/ /*---------------------------------------------------------------------------*/ /* Definition of exported functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Prints a disjoint sum of product form for a ZDD.] Description [Prints a disjoint sum of product form for a ZDD. Returns 1 if successful; 0 otherwise.] SideEffects [None] SeeAlso [Cudd_zddPrintDebug Cudd_zddPrintCover] ******************************************************************************/ int Cudd_zddPrintMinterm( DdManager * zdd, DdNode * node) { int i, size; int *list; size = (int)zdd->sizeZ; list = ALLOC(int, size); if (list == NULL) { zdd->errorCode = CUDD_MEMORY_OUT; return(0); } for (i = 0; i < size; i++) list[i] = 3; /* bogus value should disappear */ zdd_print_minterm_aux(zdd, node, 0, list); FREE(list); return(1); } /* end of Cudd_zddPrintMinterm */ /**Function******************************************************************** Synopsis [Prints a sum of products from a ZDD representing a cover.] Description [Prints a sum of products from a ZDD representing a cover. Returns 1 if successful; 0 otherwise.] SideEffects [None] SeeAlso [Cudd_zddPrintMinterm] ******************************************************************************/ int Cudd_zddPrintCover( DdManager * zdd, DdNode * node) { int i, size; int *list; size = (int)zdd->sizeZ; if (size % 2 != 0) return(0); /* number of variables should be even */ list = ALLOC(int, size); if (list == NULL) { zdd->errorCode = CUDD_MEMORY_OUT; return(0); } for (i = 0; i < size; i++) list[i] = 3; /* bogus value should disappear */ zddPrintCoverAux(zdd, node, 0, list); FREE(list); return(1); } /* end of Cudd_zddPrintCover */ /**Function******************************************************************** Synopsis [Prints to the standard output a ZDD and its statistics.] Description [Prints to the standard output a DD and its statistics. The statistics include the number of nodes and the number of minterms. (The number of minterms is also the number of combinations in the set.) The statistics are printed if pr > 0. Specifically:
        • pr = 0 : prints nothing
        • pr = 1 : prints counts of nodes and minterms
        • pr = 2 : prints counts + disjoint sum of products
        • pr = 3 : prints counts + list of nodes
        • pr > 3 : prints counts + disjoint sum of products + list of nodes
        Returns 1 if successful; 0 otherwise. ] SideEffects [None] SeeAlso [] ******************************************************************************/ int Cudd_zddPrintDebug( DdManager * zdd, DdNode * f, int n, int pr) { DdNode *empty = DD_ZERO(zdd); int nodes; double minterms; int retval = 1; if (f == empty && pr > 0) { (void) fprintf(zdd->out,": is the empty ZDD\n"); (void) fflush(zdd->out); return(1); } if (pr > 0) { nodes = Cudd_zddDagSize(f); if (nodes == CUDD_OUT_OF_MEM) retval = 0; minterms = Cudd_zddCountMinterm(zdd, f, n); if (minterms == (double)CUDD_OUT_OF_MEM) retval = 0; (void) fprintf(zdd->out,": %d nodes %g minterms\n", nodes, minterms); if (pr > 2) if (!cuddZddP(zdd, f)) retval = 0; if (pr == 2 || pr > 3) { if (!Cudd_zddPrintMinterm(zdd, f)) retval = 0; (void) fprintf(zdd->out,"\n"); } (void) fflush(zdd->out); } return(retval); } /* end of Cudd_zddPrintDebug */ /**Function******************************************************************** Synopsis [Finds the first path of a ZDD.] Description [Defines an iterator on the paths of a ZDD and finds its first path. Returns a generator that contains the information necessary to continue the enumeration if successful; NULL otherwise.

        A path is represented as an array of literals, which are integers in {0, 1, 2}; 0 represents an else arc out of a node, 1 represents a then arc out of a node, and 2 stands for the absence of a node. The size of the array equals the number of variables in the manager at the time Cudd_zddFirstCube is called.

        The paths that end in the empty terminal are not enumerated.] SideEffects [The first path is returned as a side effect.] SeeAlso [Cudd_zddForeachPath Cudd_zddNextPath Cudd_GenFree Cudd_IsGenEmpty] ******************************************************************************/ DdGen * Cudd_zddFirstPath( DdManager * zdd, DdNode * f, int ** path) { DdGen *gen; DdNode *top, *next, *prev; int i; int nvars; /* Sanity Check. */ if (zdd == NULL || f == NULL) return(NULL); /* Allocate generator an initialize it. */ gen = ALLOC(DdGen,1); if (gen == NULL) { zdd->errorCode = CUDD_MEMORY_OUT; return(NULL); } gen->manager = zdd; gen->type = CUDD_GEN_ZDD_PATHS; gen->status = CUDD_GEN_EMPTY; gen->gen.cubes.cube = NULL; gen->gen.cubes.value = DD_ZERO_VAL; gen->stack.sp = 0; gen->stack.stack = NULL; gen->node = NULL; nvars = zdd->sizeZ; gen->gen.cubes.cube = ALLOC(int,nvars); if (gen->gen.cubes.cube == NULL) { zdd->errorCode = CUDD_MEMORY_OUT; FREE(gen); return(NULL); } for (i = 0; i < nvars; i++) gen->gen.cubes.cube[i] = 2; /* The maximum stack depth is one plus the number of variables. ** because a path may have nodes at all levels, including the ** constant level. */ gen->stack.stack = ALLOC(DdNodePtr, nvars+1); if (gen->stack.stack == NULL) { zdd->errorCode = CUDD_MEMORY_OUT; FREE(gen->gen.cubes.cube); FREE(gen); return(NULL); } for (i = 0; i <= nvars; i++) gen->stack.stack[i] = NULL; /* Find the first path of the ZDD. */ gen->stack.stack[gen->stack.sp] = f; gen->stack.sp++; while (1) { top = gen->stack.stack[gen->stack.sp-1]; if (!cuddIsConstant(Cudd_Regular(top))) { /* Take the else branch first. */ gen->gen.cubes.cube[Cudd_Regular(top)->index] = 0; next = cuddE(Cudd_Regular(top)); gen->stack.stack[gen->stack.sp] = Cudd_Not(next); gen->stack.sp++; } else if (Cudd_Regular(top) == DD_ZERO(zdd)) { /* Backtrack. */ while (1) { if (gen->stack.sp == 1) { /* The current node has no predecessor. */ gen->status = CUDD_GEN_EMPTY; gen->stack.sp--; goto done; } prev = Cudd_Regular(gen->stack.stack[gen->stack.sp-2]); next = cuddT(prev); if (next != top) { /* follow the then branch next */ gen->gen.cubes.cube[prev->index] = 1; gen->stack.stack[gen->stack.sp-1] = next; break; } /* Pop the stack and try again. */ gen->gen.cubes.cube[prev->index] = 2; gen->stack.sp--; top = gen->stack.stack[gen->stack.sp-1]; } } else { gen->status = CUDD_GEN_NONEMPTY; gen->gen.cubes.value = cuddV(Cudd_Regular(top)); goto done; } } done: *path = gen->gen.cubes.cube; return(gen); } /* end of Cudd_zddFirstPath */ /**Function******************************************************************** Synopsis [Generates the next path of a ZDD.] Description [Generates the next path of a ZDD onset, using generator gen. Returns 0 if the enumeration is completed; 1 otherwise.] SideEffects [The path is returned as a side effect. The generator is modified.] SeeAlso [Cudd_zddForeachPath Cudd_zddFirstPath Cudd_GenFree Cudd_IsGenEmpty] ******************************************************************************/ int Cudd_zddNextPath( DdGen * gen, int ** path) { DdNode *top, *next, *prev; DdManager *zdd = gen->manager; /* Backtrack from previously reached terminal node. */ while (1) { if (gen->stack.sp == 1) { /* The current node has no predecessor. */ gen->status = CUDD_GEN_EMPTY; gen->stack.sp--; goto done; } top = gen->stack.stack[gen->stack.sp-1]; prev = Cudd_Regular(gen->stack.stack[gen->stack.sp-2]); next = cuddT(prev); if (next != top) { /* follow the then branch next */ gen->gen.cubes.cube[prev->index] = 1; gen->stack.stack[gen->stack.sp-1] = next; break; } /* Pop the stack and try again. */ gen->gen.cubes.cube[prev->index] = 2; gen->stack.sp--; } while (1) { top = gen->stack.stack[gen->stack.sp-1]; if (!cuddIsConstant(Cudd_Regular(top))) { /* Take the else branch first. */ gen->gen.cubes.cube[Cudd_Regular(top)->index] = 0; next = cuddE(Cudd_Regular(top)); gen->stack.stack[gen->stack.sp] = Cudd_Not(next); gen->stack.sp++; } else if (Cudd_Regular(top) == DD_ZERO(zdd)) { /* Backtrack. */ while (1) { if (gen->stack.sp == 1) { /* The current node has no predecessor. */ gen->status = CUDD_GEN_EMPTY; gen->stack.sp--; goto done; } prev = Cudd_Regular(gen->stack.stack[gen->stack.sp-2]); next = cuddT(prev); if (next != top) { /* follow the then branch next */ gen->gen.cubes.cube[prev->index] = 1; gen->stack.stack[gen->stack.sp-1] = next; break; } /* Pop the stack and try again. */ gen->gen.cubes.cube[prev->index] = 2; gen->stack.sp--; top = gen->stack.stack[gen->stack.sp-1]; } } else { gen->status = CUDD_GEN_NONEMPTY; gen->gen.cubes.value = cuddV(Cudd_Regular(top)); goto done; } } done: if (gen->status == CUDD_GEN_EMPTY) return(0); *path = gen->gen.cubes.cube; return(1); } /* end of Cudd_zddNextPath */ /**Function******************************************************************** Synopsis [Converts a path of a ZDD representing a cover to a string.] Description [Converts a path of a ZDD representing a cover to a string. The string represents an implicant of the cover. The path is typically produced by Cudd_zddForeachPath. Returns a pointer to the string if successful; NULL otherwise. If the str input is NULL, it allocates a new string. The string passed to this function must have enough room for all variables and for the terminator.] SideEffects [None] SeeAlso [Cudd_zddForeachPath] ******************************************************************************/ char * Cudd_zddCoverPathToString( DdManager *zdd /* DD manager */, int *path /* path of ZDD representing a cover */, char *str /* pointer to string to use if != NULL */ ) { int nvars = zdd->sizeZ; int i; char *res; if (nvars & 1) return(NULL); nvars >>= 1; if (str == NULL) { res = ALLOC(char, nvars+1); if (res == NULL) return(NULL); } else { res = str; } for (i = 0; i < nvars; i++) { int v = (path[2*i] << 2) | path[2*i+1]; switch (v) { case 0: case 2: case 8: case 10: res[i] = '-'; break; case 1: case 9: res[i] = '0'; break; case 4: case 6: res[i] = '1'; break; default: res[i] = '?'; } } res[nvars] = 0; return(res); } /* end of Cudd_zddCoverPathToString */ /**Function******************************************************************** Synopsis [Finds the variables on which a ZDD depends.] Description [Finds the variables on which a ZDD depends. Returns a BDD consisting of the product of the variables if successful; NULL otherwise.] SideEffects [None] SeeAlso [Cudd_Support] ******************************************************************************/ DdNode * Cudd_zddSupport( DdManager * dd /* manager */, DdNode * f /* ZDD whose support is sought */) { int *support; DdNode *res, *tmp, *var; int i,j; int size; /* Allocate and initialize support array for ddSupportStep. */ size = ddMax(dd->size, dd->sizeZ); support = ALLOC(int,size); if (support == NULL) { dd->errorCode = CUDD_MEMORY_OUT; return(NULL); } for (i = 0; i < size; i++) { support[i] = 0; } /* Compute support and clean up markers. */ zddSupportStep(Cudd_Regular(f),support); zddClearFlag(Cudd_Regular(f)); /* Transform support from array to cube. */ do { dd->reordered = 0; res = DD_ONE(dd); cuddRef(res); for (j = size - 1; j >= 0; j--) { /* for each level bottom-up */ i = (j >= dd->size) ? j : dd->invperm[j]; if (support[i] == 1) { /* The following call to cuddUniqueInter is guaranteed ** not to trigger reordering because the node we look up ** already exists. */ var = cuddUniqueInter(dd,i,dd->one,Cudd_Not(dd->one)); cuddRef(var); tmp = cuddBddAndRecur(dd,res,var); if (tmp == NULL) { Cudd_RecursiveDeref(dd,res); Cudd_RecursiveDeref(dd,var); res = NULL; break; } cuddRef(tmp); Cudd_RecursiveDeref(dd,res); Cudd_RecursiveDeref(dd,var); res = tmp; } } } while (dd->reordered == 1); FREE(support); if (res != NULL) cuddDeref(res); return(res); } /* end of Cudd_zddSupport */ /**Function******************************************************************** Synopsis [Writes a dot file representing the argument ZDDs.] Description [Writes a file representing the argument ZDDs in a format suitable for the graph drawing program dot. It returns 1 in case of success; 0 otherwise (e.g., out-of-memory, file system full). Cudd_zddDumpDot does not close the file: This is the caller responsibility. Cudd_zddDumpDot uses a minimal unique subset of the hexadecimal address of a node as name for it. If the argument inames is non-null, it is assumed to hold the pointers to the names of the inputs. Similarly for onames. Cudd_zddDumpDot uses the following convention to draw arcs:

        • solid line: THEN arcs;
        • dashed line: ELSE arcs.
        The dot options are chosen so that the drawing fits on a letter-size sheet. ] SideEffects [None] SeeAlso [Cudd_DumpDot Cudd_zddPrintDebug] ******************************************************************************/ int Cudd_zddDumpDot( DdManager * dd /* manager */, int n /* number of output nodes to be dumped */, DdNode ** f /* array of output nodes to be dumped */, char ** inames /* array of input names (or NULL) */, char ** onames /* array of output names (or NULL) */, FILE * fp /* pointer to the dump file */) { DdNode *support = NULL; DdNode *scan; int *sorted = NULL; int nvars = dd->sizeZ; st_table *visited = NULL; st_generator *gen; int retval; int i, j; int slots; DdNodePtr *nodelist; long refAddr, diff, mask; /* Build a bit array with the support of f. */ sorted = ALLOC(int,nvars); if (sorted == NULL) { dd->errorCode = CUDD_MEMORY_OUT; goto failure; } for (i = 0; i < nvars; i++) sorted[i] = 0; /* Take the union of the supports of each output function. */ for (i = 0; i < n; i++) { support = Cudd_zddSupport(dd,f[i]); if (support == NULL) goto failure; cuddRef(support); scan = support; while (!cuddIsConstant(scan)) { sorted[scan->index] = 1; scan = cuddT(scan); } Cudd_RecursiveDeref(dd,support); } support = NULL; /* so that we do not try to free it in case of failure */ /* Initialize symbol table for visited nodes. */ visited = st_init_table(st_ptrcmp, st_ptrhash); if (visited == NULL) goto failure; /* Collect all the nodes of this DD in the symbol table. */ for (i = 0; i < n; i++) { retval = cuddCollectNodes(f[i],visited); if (retval == 0) goto failure; } /* Find how many most significant hex digits are identical ** in the addresses of all the nodes. Build a mask based ** on this knowledge, so that digits that carry no information ** will not be printed. This is done in two steps. ** 1. We scan the symbol table to find the bits that differ ** in at least 2 addresses. ** 2. We choose one of the possible masks. There are 8 possible ** masks for 32-bit integer, and 16 possible masks for 64-bit ** integers. */ /* Find the bits that are different. */ refAddr = (long) f[0]; diff = 0; gen = st_init_gen(visited); while (st_gen(gen, &scan, NULL)) { diff |= refAddr ^ (long) scan; } st_free_gen(gen); /* Choose the mask. */ for (i = 0; (unsigned) i < 8 * sizeof(long); i += 4) { mask = (1 << i) - 1; if (diff <= mask) break; } /* Write the header and the global attributes. */ retval = fprintf(fp,"digraph \"ZDD\" {\n"); if (retval == EOF) return(0); retval = fprintf(fp, "size = \"7.5,10\"\ncenter = true;\nedge [dir = none];\n"); if (retval == EOF) return(0); /* Write the input name subgraph by scanning the support array. */ retval = fprintf(fp,"{ node [shape = plaintext];\n"); if (retval == EOF) goto failure; retval = fprintf(fp," edge [style = invis];\n"); if (retval == EOF) goto failure; /* We use a name ("CONST NODES") with an embedded blank, because ** it is unlikely to appear as an input name. */ retval = fprintf(fp," \"CONST NODES\" [style = invis];\n"); if (retval == EOF) goto failure; for (i = 0; i < nvars; i++) { if (sorted[dd->invpermZ[i]]) { if (inames == NULL) { retval = fprintf(fp,"\" %d \" -> ", dd->invpermZ[i]); } else { retval = fprintf(fp,"\" %s \" -> ", inames[dd->invpermZ[i]]); } if (retval == EOF) goto failure; } } retval = fprintf(fp,"\"CONST NODES\"; \n}\n"); if (retval == EOF) goto failure; /* Write the output node subgraph. */ retval = fprintf(fp,"{ rank = same; node [shape = box]; edge [style = invis];\n"); if (retval == EOF) goto failure; for (i = 0; i < n; i++) { if (onames == NULL) { retval = fprintf(fp,"\"F%d\"", i); } else { retval = fprintf(fp,"\" %s \"", onames[i]); } if (retval == EOF) goto failure; if (i == n - 1) { retval = fprintf(fp,"; }\n"); } else { retval = fprintf(fp," -> "); } if (retval == EOF) goto failure; } /* Write rank info: All nodes with the same index have the same rank. */ for (i = 0; i < nvars; i++) { if (sorted[dd->invpermZ[i]]) { retval = fprintf(fp,"{ rank = same; "); if (retval == EOF) goto failure; if (inames == NULL) { retval = fprintf(fp,"\" %d \";\n", dd->invpermZ[i]); } else { retval = fprintf(fp,"\" %s \";\n", inames[dd->invpermZ[i]]); } if (retval == EOF) goto failure; nodelist = dd->subtableZ[i].nodelist; slots = dd->subtableZ[i].slots; for (j = 0; j < slots; j++) { scan = nodelist[j]; while (scan != NULL) { if (st_is_member(visited,(char *) scan)) { retval = fprintf(fp,"\"%p\";\n", (void *) ((mask & (ptrint) scan) / sizeof(DdNode))); if (retval == EOF) goto failure; } scan = scan->next; } } retval = fprintf(fp,"}\n"); if (retval == EOF) goto failure; } } /* All constants have the same rank. */ retval = fprintf(fp, "{ rank = same; \"CONST NODES\";\n{ node [shape = box]; "); if (retval == EOF) goto failure; nodelist = dd->constants.nodelist; slots = dd->constants.slots; for (j = 0; j < slots; j++) { scan = nodelist[j]; while (scan != NULL) { if (st_is_member(visited,(char *) scan)) { retval = fprintf(fp,"\"%p\";\n", (void *) ((mask & (ptrint) scan) / sizeof(DdNode))); if (retval == EOF) goto failure; } scan = scan->next; } } retval = fprintf(fp,"}\n}\n"); if (retval == EOF) goto failure; /* Write edge info. */ /* Edges from the output nodes. */ for (i = 0; i < n; i++) { if (onames == NULL) { retval = fprintf(fp,"\"F%d\"", i); } else { retval = fprintf(fp,"\" %s \"", onames[i]); } if (retval == EOF) goto failure; retval = fprintf(fp," -> \"%p\" [style = solid];\n", (void *) ((mask & (ptrint) f[i]) / sizeof(DdNode))); if (retval == EOF) goto failure; } /* Edges from internal nodes. */ for (i = 0; i < nvars; i++) { if (sorted[dd->invpermZ[i]]) { nodelist = dd->subtableZ[i].nodelist; slots = dd->subtableZ[i].slots; for (j = 0; j < slots; j++) { scan = nodelist[j]; while (scan != NULL) { if (st_is_member(visited,(char *) scan)) { retval = fprintf(fp, "\"%p\" -> \"%p\";\n", (void *) ((mask & (ptrint) scan) / sizeof(DdNode)), (void *) ((mask & (ptrint) cuddT(scan)) / sizeof(DdNode))); if (retval == EOF) goto failure; retval = fprintf(fp, "\"%p\" -> \"%p\" [style = dashed];\n", (void *) ((mask & (ptrint) scan) / sizeof(DdNode)), (void *) ((mask & (ptrint) cuddE(scan)) / sizeof(DdNode))); if (retval == EOF) goto failure; } scan = scan->next; } } } } /* Write constant labels. */ nodelist = dd->constants.nodelist; slots = dd->constants.slots; for (j = 0; j < slots; j++) { scan = nodelist[j]; while (scan != NULL) { if (st_is_member(visited,(char *) scan)) { retval = fprintf(fp,"\"%p\" [label = \"%g\"];\n", (void *) ((mask & (ptrint) scan) / sizeof(DdNode)), cuddV(scan)); if (retval == EOF) goto failure; } scan = scan->next; } } /* Write trailer and return. */ retval = fprintf(fp,"}\n"); if (retval == EOF) goto failure; st_free_table(visited); FREE(sorted); return(1); failure: if (sorted != NULL) FREE(sorted); if (visited != NULL) st_free_table(visited); return(0); } /* end of Cudd_zddDumpBlif */ /*---------------------------------------------------------------------------*/ /* Definition of internal functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Prints a ZDD to the standard output. One line per node is printed.] Description [Prints a ZDD to the standard output. One line per node is printed. Returns 1 if successful; 0 otherwise.] SideEffects [None] SeeAlso [Cudd_zddPrintDebug] ******************************************************************************/ int cuddZddP( DdManager * zdd, DdNode * f) { int retval; st_table *table = st_init_table(st_ptrcmp, st_ptrhash); if (table == NULL) return(0); retval = zp2(zdd, f, table); st_free_table(table); (void) fputc('\n', zdd->out); return(retval); } /* end of cuddZddP */ /*---------------------------------------------------------------------------*/ /* Definition of static functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Performs the recursive step of cuddZddP.] Description [Performs the recursive step of cuddZddP. Returns 1 in case of success; 0 otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ static int zp2( DdManager * zdd, DdNode * f, st_table * t) { DdNode *n; int T, E; DdNode *base = DD_ONE(zdd); if (f == NULL) return(0); if (Cudd_IsConstant(f)) { (void)fprintf(zdd->out, "ID = %d\n", (f == base)); return(1); } if (st_is_member(t, (char *)f) == 1) return(1); if (st_insert(t, (char *) f, NULL) == ST_OUT_OF_MEM) return(0); #if SIZEOF_VOID_P == 8 (void) fprintf(zdd->out, "ID = 0x%lx\tindex = %u\tr = %u\t", (ptruint)f / (ptruint) sizeof(DdNode), f->index, f->ref); #else (void) fprintf(zdd->out, "ID = 0x%x\tindex = %hu\tr = %hu\t", (ptruint)f / (ptruint) sizeof(DdNode), f->index, f->ref); #endif n = cuddT(f); if (Cudd_IsConstant(n)) { (void) fprintf(zdd->out, "T = %d\t\t", (n == base)); T = 1; } else { #if SIZEOF_VOID_P == 8 (void) fprintf(zdd->out, "T = 0x%lx\t", (ptruint) n / (ptruint) sizeof(DdNode)); #else (void) fprintf(zdd->out, "T = 0x%x\t", (ptruint) n / (ptruint) sizeof(DdNode)); #endif T = 0; } n = cuddE(f); if (Cudd_IsConstant(n)) { (void) fprintf(zdd->out, "E = %d\n", (n == base)); E = 1; } else { #if SIZEOF_VOID_P == 8 (void) fprintf(zdd->out, "E = 0x%lx\n", (ptruint) n / (ptruint) sizeof(DdNode)); #else (void) fprintf(zdd->out, "E = 0x%x\n", (ptruint) n / (ptruint) sizeof(DdNode)); #endif E = 0; } if (E == 0) if (zp2(zdd, cuddE(f), t) == 0) return(0); if (T == 0) if (zp2(zdd, cuddT(f), t) == 0) return(0); return(1); } /* end of zp2 */ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_zddPrintMinterm.] Description [] SideEffects [None] SeeAlso [] ******************************************************************************/ static void zdd_print_minterm_aux( DdManager * zdd /* manager */, DdNode * node /* current node */, int level /* depth in the recursion */, int * list /* current recursion path */) { DdNode *Nv, *Nnv; int i, v; DdNode *base = DD_ONE(zdd); if (Cudd_IsConstant(node)) { if (node == base) { /* Check for missing variable. */ if (level != zdd->sizeZ) { list[zdd->invpermZ[level]] = 0; zdd_print_minterm_aux(zdd, node, level + 1, list); return; } /* Terminal case: Print one cube based on the current recursion ** path. */ for (i = 0; i < zdd->sizeZ; i++) { v = list[i]; if (v == 0) (void) fprintf(zdd->out,"0"); else if (v == 1) (void) fprintf(zdd->out,"1"); else if (v == 3) (void) fprintf(zdd->out,"@"); /* should never happen */ else (void) fprintf(zdd->out,"-"); } (void) fprintf(zdd->out," 1\n"); } } else { /* Check for missing variable. */ if (level != cuddIZ(zdd,node->index)) { list[zdd->invpermZ[level]] = 0; zdd_print_minterm_aux(zdd, node, level + 1, list); return; } Nnv = cuddE(node); Nv = cuddT(node); if (Nv == Nnv) { list[node->index] = 2; zdd_print_minterm_aux(zdd, Nnv, level + 1, list); return; } list[node->index] = 1; zdd_print_minterm_aux(zdd, Nv, level + 1, list); list[node->index] = 0; zdd_print_minterm_aux(zdd, Nnv, level + 1, list); } return; } /* end of zdd_print_minterm_aux */ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_zddPrintCover.] Description [] SideEffects [None] SeeAlso [] ******************************************************************************/ static void zddPrintCoverAux( DdManager * zdd /* manager */, DdNode * node /* current node */, int level /* depth in the recursion */, int * list /* current recursion path */) { DdNode *Nv, *Nnv; int i, v; DdNode *base = DD_ONE(zdd); if (Cudd_IsConstant(node)) { if (node == base) { /* Check for missing variable. */ if (level != zdd->sizeZ) { list[zdd->invpermZ[level]] = 0; zddPrintCoverAux(zdd, node, level + 1, list); return; } /* Terminal case: Print one cube based on the current recursion ** path. */ for (i = 0; i < zdd->sizeZ; i += 2) { v = list[i] * 4 + list[i+1]; if (v == 0) (void) putc('-',zdd->out); else if (v == 4) (void) putc('1',zdd->out); else if (v == 1) (void) putc('0',zdd->out); else (void) putc('@',zdd->out); /* should never happen */ } (void) fprintf(zdd->out," 1\n"); } } else { /* Check for missing variable. */ if (level != cuddIZ(zdd,node->index)) { list[zdd->invpermZ[level]] = 0; zddPrintCoverAux(zdd, node, level + 1, list); return; } Nnv = cuddE(node); Nv = cuddT(node); if (Nv == Nnv) { list[node->index] = 2; zddPrintCoverAux(zdd, Nnv, level + 1, list); return; } list[node->index] = 1; zddPrintCoverAux(zdd, Nv, level + 1, list); list[node->index] = 0; zddPrintCoverAux(zdd, Nnv, level + 1, list); } return; } /* end of zddPrintCoverAux */ /**Function******************************************************************** Synopsis [Performs the recursive step of Cudd_zddSupport.] Description [Performs the recursive step of Cudd_zddSupport. Performs a DFS from f. The support is accumulated in supp as a side effect. Uses the LSB of the then pointer as visited flag.] SideEffects [None] SeeAlso [zddClearFlag] ******************************************************************************/ static void zddSupportStep( DdNode * f, int * support) { if (cuddIsConstant(f) || Cudd_IsComplement(f->next)) { return; } support[f->index] = 1; zddSupportStep(cuddT(f),support); zddSupportStep(Cudd_Regular(cuddE(f)),support); /* Mark as visited. */ f->next = Cudd_Not(f->next); return; } /* end of zddSupportStep */ /**Function******************************************************************** Synopsis [Performs a DFS from f, clearing the LSB of the next pointers.] Description [] SideEffects [None] SeeAlso [zddSupportStep] ******************************************************************************/ static void zddClearFlag( DdNode * f) { if (!Cudd_IsComplement(f->next)) { return; } /* Clear visited flag. */ f->next = Cudd_Regular(f->next); if (cuddIsConstant(f)) { return; } zddClearFlag(cuddT(f)); zddClearFlag(Cudd_Regular(cuddE(f))); return; } /* end of zddClearFlag */ BRiAl-1.2.12/cudd/r7x8.1.mat000066400000000000000000000004741436062512100151240ustar00rootroot000000000000007 9 0 0 1 0 1 1 0 2 1 0 3 4 0 4 3 0 5 3 0 6 3 0 8 3 1 0 4 1 1 3 1 2 2 1 3 4 1 4 1 1 5 2 1 6 4 1 8 3 2 0 1 2 1 1 2 2 4 2 4 2 2 5 3 2 6 3 2 8 3 3 0 2 3 1 1 3 3 4 3 4 4 3 5 1 3 8 1 4 0 2 4 1 3 4 2 2 4 3 4 4 4 1 4 5 1 4 6 2 4 8 2 5 0 3 5 1 3 5 2 4 5 3 4 5 4 1 5 5 3 5 6 3 5 8 4 6 1 1 6 2 1 6 3 4 6 4 2 6 5 4 6 6 4 6 8 2 BRiAl-1.2.12/cudd/testcudd.c000066400000000000000000000775031436062512100154440ustar00rootroot00000000000000/**CFile*********************************************************************** FileName [testcudd.c] PackageName [cudd] Synopsis [Sanity check tests for some CUDD functions.] Description [testcudd reads a matrix with real coefficients and transforms it into an ADD. It then performs various operations on the ADD and on the BDD corresponding to the ADD pattern. Finally, testcudd tests functions relate to Walsh matrices and matrix multiplication.] SeeAlso [] Author [Fabio Somenzi] Copyright [Copyright (c) 1995-2012, Regents of the University of Colorado All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. Neither the name of the University of Colorado nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.] ******************************************************************************/ #include "util.h" #include "cuddInt.h" /*---------------------------------------------------------------------------*/ /* Constant declarations */ /*---------------------------------------------------------------------------*/ #define TESTCUDD_VERSION "TestCudd Version #1.0, Release date 3/17/01" /*---------------------------------------------------------------------------*/ /* Variable declarations */ /*---------------------------------------------------------------------------*/ #ifndef lint static char rcsid[] DD_UNUSED = "$Id: testcudd.c,v 1.23 2012/02/05 05:30:29 fabio Exp $"; #endif static const char *onames[] = { "C", "M" }; /* names of functions to be dumped */ /**AutomaticStart*************************************************************/ /*---------------------------------------------------------------------------*/ /* Static function prototypes */ /*---------------------------------------------------------------------------*/ static void usage (char * prog); static FILE *open_file (char *filename, const char *mode); static int testIterators (DdManager *dd, DdNode *M, DdNode *C, int pr); static int testXor (DdManager *dd, DdNode *f, int pr, int nvars); static int testHamming (DdManager *dd, DdNode *f, int pr); static int testWalsh (DdManager *dd, int N, int cmu, int approach, int pr); static int testSupport(DdManager *dd, DdNode *f, DdNode *g, int pr); /**AutomaticEnd***************************************************************/ /**Function******************************************************************** Synopsis [Main function for testcudd.] Description [] SideEffects [None] SeeAlso [] ******************************************************************************/ int main(int argc, char * const *argv) { FILE *fp; /* pointer to input file */ char *file = (char *) ""; /* input file name */ FILE *dfp = NULL; /* pointer to dump file */ FILE *savefp = NULL;/* pointer to save current manager's stdout setting */ char *dfile; /* file for DD dump */ DdNode *dfunc[2]; /* addresses of the functions to be dumped */ DdManager *dd; /* pointer to DD manager */ DdNode *one; /* fast access to constant function */ DdNode *M; DdNode **x; /* pointers to variables */ DdNode **y; /* pointers to variables */ DdNode **xn; /* complements of row variables */ DdNode **yn_; /* complements of column variables */ DdNode **xvars; DdNode **yvars; DdNode *C; /* result of converting from ADD to BDD */ DdNode *ess; /* cube of essential variables */ DdNode *shortP; /* BDD cube of shortest path */ DdNode *largest; /* BDD of largest cube */ DdNode *shortA; /* ADD cube of shortest path */ DdNode *constN; /* value returned by evaluation of ADD */ DdNode *ycube; /* cube of the negated y vars for c-proj */ DdNode *CP; /* C-Projection of C */ DdNode *CPr; /* C-Selection of C */ int length; /* length of the shortest path */ int nx; /* number of variables */ int ny; int maxnx; int maxny; int m; int n; int N; int cmu; /* use CMU multiplication */ int pr; /* verbose printout level */ int harwell; int multiple; /* read multiple matrices */ int ok; int c; /* variable to read in options */ int approach; /* reordering approach */ int autodyn; /* automatic reordering */ int groupcheck; /* option for group sifting */ int profile; /* print heap profile if != 0 */ int keepperm; /* keep track of permutation */ int clearcache; /* clear the cache after each matrix */ int blifOrDot; /* dump format: 0 -> dot, 1 -> blif, ... */ int retval; /* return value */ int i; /* loop index */ unsigned long startTime; /* initial time */ unsigned long lapTime; int size; unsigned int cacheSize, maxMemory; unsigned int nvars,nslots; startTime = util_cpu_time(); approach = CUDD_REORDER_NONE; autodyn = 0; pr = 0; harwell = 0; multiple = 0; profile = 0; keepperm = 0; cmu = 0; N = 4; nvars = 4; cacheSize = 127; maxMemory = 0; nslots = CUDD_UNIQUE_SLOTS; clearcache = 0; groupcheck = CUDD_GROUP_CHECK7; dfile = NULL; blifOrDot = 0; /* dot format */ /* Parse command line. */ while ((c = getopt(argc, argv, "CDHMPS:a:bcd:g:hkmn:p:v:x:X:")) != EOF) { switch(c) { case 'C': cmu = 1; break; case 'D': autodyn = 1; break; case 'H': harwell = 1; break; case 'M': #ifdef MNEMOSYNE (void) mnem_setrecording(0); #endif break; case 'P': profile = 1; break; case 'S': nslots = atoi(optarg); break; case 'X': maxMemory = atoi(optarg); break; case 'a': approach = atoi(optarg); break; case 'b': blifOrDot = 1; /* blif format */ break; case 'c': clearcache = 1; break; case 'd': dfile = optarg; break; case 'g': groupcheck = atoi(optarg); break; case 'k': keepperm = 1; break; case 'm': multiple = 1; break; case 'n': N = atoi(optarg); break; case 'p': pr = atoi(optarg); break; case 'v': nvars = atoi(optarg); break; case 'x': cacheSize = atoi(optarg); break; case 'h': default: usage(argv[0]); break; } } if (argc - optind == 0) { file = (char *) "-"; } else if (argc - optind == 1) { file = argv[optind]; } else { usage(argv[0]); } if ((approach<0) || (approach>17)) { (void) fprintf(stderr,"Invalid approach: %d \n",approach); usage(argv[0]); } if (pr > 0) { (void) printf("# %s\n", TESTCUDD_VERSION); /* Echo command line and arguments. */ (void) printf("#"); for (i = 0; i < argc; i++) { (void) printf(" %s", argv[i]); } (void) printf("\n"); (void) fflush(stdout); } /* Initialize manager and provide easy reference to terminals. */ dd = Cudd_Init(nvars,0,nslots,cacheSize,maxMemory); one = DD_ONE(dd); dd->groupcheck = (Cudd_AggregationType) groupcheck; if (autodyn) Cudd_AutodynEnable(dd,CUDD_REORDER_SAME); /* Open input file. */ fp = open_file(file, "r"); /* Open dump file if requested */ if (dfile != NULL) { dfp = open_file(dfile, "w"); } x = y = xn = yn_ = NULL; do { /* We want to start anew for every matrix. */ maxnx = maxny = 0; nx = maxnx; ny = maxny; if (pr>0) lapTime = util_cpu_time(); if (harwell) { if (pr > 0) (void) printf(":name: "); ok = Cudd_addHarwell(fp, dd, &M, &x, &y, &xn, &yn_, &nx, &ny, &m, &n, 0, 2, 1, 2, pr); } else { ok = Cudd_addRead(fp, dd, &M, &x, &y, &xn, &yn_, &nx, &ny, &m, &n, 0, 2, 1, 2); if (pr > 0) (void) printf(":name: %s: %d rows %d columns\n", file, m, n); } if (!ok) { (void) fprintf(stderr, "Error reading matrix\n"); exit(1); } if (nx > maxnx) maxnx = nx; if (ny > maxny) maxny = ny; /* Build cube of negated y's. */ ycube = DD_ONE(dd); Cudd_Ref(ycube); for (i = maxny - 1; i >= 0; i--) { DdNode *tmpp; tmpp = Cudd_bddAnd(dd,Cudd_Not(dd->vars[y[i]->index]),ycube); if (tmpp == NULL) exit(2); Cudd_Ref(tmpp); Cudd_RecursiveDeref(dd,ycube); ycube = tmpp; } /* Initialize vectors of BDD variables used by priority func. */ xvars = ALLOC(DdNode *, nx); if (xvars == NULL) exit(2); for (i = 0; i < nx; i++) { xvars[i] = dd->vars[x[i]->index]; } yvars = ALLOC(DdNode *, ny); if (yvars == NULL) exit(2); for (i = 0; i < ny; i++) { yvars[i] = dd->vars[y[i]->index]; } /* Clean up */ for (i=0; i < maxnx; i++) { Cudd_RecursiveDeref(dd, x[i]); Cudd_RecursiveDeref(dd, xn[i]); } FREE(x); FREE(xn); for (i=0; i < maxny; i++) { Cudd_RecursiveDeref(dd, y[i]); Cudd_RecursiveDeref(dd, yn_[i]); } FREE(y); FREE(yn_); if (pr>0) {(void) printf(":1: M"); Cudd_PrintDebug(dd,M,nx+ny,pr);} if (pr>0) (void) printf(":2: time to read the matrix = %s\n", util_print_time(util_cpu_time() - lapTime)); C = Cudd_addBddPattern(dd, M); if (C == 0) exit(2); Cudd_Ref(C); if (pr>0) {(void) printf(":3: C"); Cudd_PrintDebug(dd,C,nx+ny,pr);} /* Test iterators. */ retval = testIterators(dd,M,C,pr); if (retval == 0) exit(2); if (pr > 0) cuddCacheProfile(dd,stdout); /* Test XOR */ retval = testXor(dd,C,pr,nx+ny); if (retval == 0) exit(2); /* Test Hamming distance functions. */ retval = testHamming(dd,C,pr); if (retval == 0) exit(2); /* Test selection functions. */ CP = Cudd_CProjection(dd,C,ycube); if (CP == NULL) exit(2); Cudd_Ref(CP); if (pr>0) {(void) printf("ycube"); Cudd_PrintDebug(dd,ycube,nx+ny,pr);} if (pr>0) {(void) printf("CP"); Cudd_PrintDebug(dd,CP,nx+ny,pr);} if (nx == ny) { CPr = Cudd_PrioritySelect(dd,C,xvars,yvars,(DdNode **)NULL, (DdNode *)NULL,ny,Cudd_Xgty); if (CPr == NULL) exit(2); Cudd_Ref(CPr); if (pr>0) {(void) printf(":4: CPr"); Cudd_PrintDebug(dd,CPr,nx+ny,pr);} if (CP != CPr) { (void) printf("CP != CPr!\n"); } Cudd_RecursiveDeref(dd, CPr); } /* Test inequality generator. */ { int Nmin = ddMin(nx,ny); int q; DdGen *gen; int *cube; DdNode *f = Cudd_Inequality(dd,Nmin,2,xvars,yvars); if (f == NULL) exit(2); Cudd_Ref(f); if (pr>0) { (void) printf(":4: ineq"); Cudd_PrintDebug(dd,f,nx+ny,pr); if (pr>1) { Cudd_ForeachPrime(dd,Cudd_Not(f),Cudd_Not(f),gen,cube) { for (q = 0; q < dd->size; q++) { switch (cube[q]) { case 0: (void) printf("1"); break; case 1: (void) printf("0"); break; case 2: (void) printf("-"); break; default: (void) printf("?"); } } (void) printf(" 1\n"); } (void) printf("\n"); } } Cudd_IterDerefBdd(dd, f); } FREE(xvars); FREE(yvars); Cudd_RecursiveDeref(dd, CP); /* Test functions for essential variables. */ ess = Cudd_FindEssential(dd,C); if (ess == NULL) exit(2); Cudd_Ref(ess); if (pr>0) {(void) printf(":4: ess"); Cudd_PrintDebug(dd,ess,nx+ny,pr);} Cudd_RecursiveDeref(dd, ess); /* Test functions for shortest paths. */ shortP = Cudd_ShortestPath(dd, M, NULL, NULL, &length); if (shortP == NULL) exit(2); Cudd_Ref(shortP); if (pr>0) { (void) printf(":5: shortP"); Cudd_PrintDebug(dd,shortP,nx+ny,pr); } /* Test functions for largest cubes. */ largest = Cudd_LargestCube(dd, Cudd_Not(C), &length); if (largest == NULL) exit(2); Cudd_Ref(largest); if (pr>0) { (void) printf(":5b: largest"); Cudd_PrintDebug(dd,largest,nx+ny,pr); } Cudd_RecursiveDeref(dd, largest); /* Test Cudd_addEvalConst and Cudd_addIteConstant. */ shortA = Cudd_BddToAdd(dd,shortP); if (shortA == NULL) exit(2); Cudd_Ref(shortA); Cudd_RecursiveDeref(dd, shortP); constN = Cudd_addEvalConst(dd,shortA,M); if (constN == DD_NON_CONSTANT) exit(2); if (Cudd_addIteConstant(dd,shortA,M,constN) != constN) exit(2); if (pr>0) {(void) printf("The value of M along the chosen shortest path is %g\n", cuddV(constN));} Cudd_RecursiveDeref(dd, shortA); shortP = Cudd_ShortestPath(dd, C, NULL, NULL, &length); if (shortP == NULL) exit(2); Cudd_Ref(shortP); if (pr>0) { (void) printf(":6: shortP"); Cudd_PrintDebug(dd,shortP,nx+ny,pr); } /* Test Cudd_bddIteConstant and Cudd_bddLeq. */ if (!Cudd_bddLeq(dd,shortP,C)) exit(2); if (Cudd_bddIteConstant(dd,Cudd_Not(shortP),one,C) != one) exit(2); Cudd_RecursiveDeref(dd, shortP); /* Experiment with support functions. */ if (!testSupport(dd,M,ycube,pr)) { exit(2); } Cudd_RecursiveDeref(dd, ycube); if (profile) { retval = cuddHeapProfile(dd); } size = dd->size; if (pr>0) { (void) printf("Average distance: %g\n", Cudd_AverageDistance(dd)); } /* Reorder if so requested. */ if (approach != CUDD_REORDER_NONE) { #ifndef DD_STATS retval = Cudd_EnableReorderingReporting(dd); if (retval == 0) { (void) fprintf(stderr,"Error reported by Cudd_EnableReorderingReporting\n"); exit(3); } #endif #ifdef DD_DEBUG retval = Cudd_DebugCheck(dd); if (retval != 0) { (void) fprintf(stderr,"Error reported by Cudd_DebugCheck\n"); exit(3); } retval = Cudd_CheckKeys(dd); if (retval != 0) { (void) fprintf(stderr,"Error reported by Cudd_CheckKeys\n"); exit(3); } #endif retval = Cudd_ReduceHeap(dd,(Cudd_ReorderingType)approach,5); if (retval == 0) { (void) fprintf(stderr,"Error reported by Cudd_ReduceHeap\n"); exit(3); } #ifndef DD_STATS retval = Cudd_DisableReorderingReporting(dd); if (retval == 0) { (void) fprintf(stderr,"Error reported by Cudd_DisableReorderingReporting\n"); exit(3); } #endif #ifdef DD_DEBUG retval = Cudd_DebugCheck(dd); if (retval != 0) { (void) fprintf(stderr,"Error reported by Cudd_DebugCheck\n"); exit(3); } retval = Cudd_CheckKeys(dd); if (retval != 0) { (void) fprintf(stderr,"Error reported by Cudd_CheckKeys\n"); exit(3); } #endif if (approach == CUDD_REORDER_SYMM_SIFT || approach == CUDD_REORDER_SYMM_SIFT_CONV) { Cudd_SymmProfile(dd,0,dd->size-1); } if (pr>0) { (void) printf("Average distance: %g\n", Cudd_AverageDistance(dd)); } if (keepperm) { /* Print variable permutation. */ (void) printf("Variable Permutation:"); for (i=0; iinvperm[i]); } (void) printf("\n"); (void) printf("Inverse Permutation:"); for (i=0; iperm[i]); } (void) printf("\n"); } if (pr>0) {(void) printf("M"); Cudd_PrintDebug(dd,M,nx+ny,pr);} if (profile) { retval = cuddHeapProfile(dd); } } /* Dump DDs of C and M if so requested. */ if (dfile != NULL) { dfunc[0] = C; dfunc[1] = M; if (blifOrDot == 1) { /* Only dump C because blif cannot handle ADDs */ retval = Cudd_DumpBlif(dd,1,dfunc,NULL,(char **)onames, NULL,dfp,0); } else { retval = Cudd_DumpDot(dd,2,dfunc,NULL,(char **)onames,dfp); } if (retval != 1) { (void) fprintf(stderr,"abnormal termination\n"); exit(2); } } Cudd_RecursiveDeref(dd, C); Cudd_RecursiveDeref(dd, M); if (clearcache) { if (pr>0) {(void) printf("Clearing the cache... ");} for (i = dd->cacheSlots - 1; i>=0; i--) { dd->cache[i].data = NULL; } if (pr>0) {(void) printf("done\n");} } if (pr>0) { (void) printf("Number of variables = %6d\t",dd->size); (void) printf("Number of slots = %6u\n",dd->slots); (void) printf("Number of keys = %6u\t",dd->keys); (void) printf("Number of min dead = %6u\n",dd->minDead); } } while (multiple && !feof(fp)); fclose(fp); if (dfile != NULL) { fclose(dfp); } /* Second phase: experiment with Walsh matrices. */ if (!testWalsh(dd,N,cmu,approach,pr)) { exit(2); } /* Check variable destruction. */ assert(cuddDestroySubtables(dd,3)); if (pr == 0) { savefp = Cudd_ReadStdout(dd); Cudd_SetStdout(dd,fopen("/dev/null","a")); } assert(Cudd_DebugCheck(dd) == 0); assert(Cudd_CheckKeys(dd) == 0); if (pr == 0) { Cudd_SetStdout(dd,savefp); } retval = Cudd_CheckZeroRef(dd); ok = retval != 0; /* ok == 0 means O.K. */ if (retval != 0) { (void) fprintf(stderr, "%d non-zero DD reference counts after dereferencing\n", retval); } if (pr > 0) { (void) Cudd_PrintInfo(dd,stdout); } Cudd_Quit(dd); #ifdef MNEMOSYNE mnem_writestats(); #endif if (pr>0) (void) printf("total time = %s\n", util_print_time(util_cpu_time() - startTime)); if (pr > 0) util_print_cpu_stats(stdout); return ok; /* NOTREACHED */ } /* end of main */ /*---------------------------------------------------------------------------*/ /* Definition of static functions */ /*---------------------------------------------------------------------------*/ /**Function******************************************************************** Synopsis [Prints usage info for testcudd.] Description [] SideEffects [None] SeeAlso [] ******************************************************************************/ static void usage(char *prog) { (void) fprintf(stderr, "usage: %s [options] [file]\n", prog); (void) fprintf(stderr, " -C\t\tuse CMU multiplication algorithm\n"); (void) fprintf(stderr, " -D\t\tenable automatic dynamic reordering\n"); (void) fprintf(stderr, " -H\t\tread matrix in Harwell format\n"); (void) fprintf(stderr, " -M\t\tturns off memory allocation recording\n"); (void) fprintf(stderr, " -P\t\tprint BDD heap profile\n"); (void) fprintf(stderr, " -S n\t\tnumber of slots for each subtable\n"); (void) fprintf(stderr, " -X n\t\ttarget maximum memory in bytes\n"); (void) fprintf(stderr, " -a n\t\tchoose reordering approach (0-13)\n"); (void) fprintf(stderr, " \t\t\t0: same as autoMethod\n"); (void) fprintf(stderr, " \t\t\t1: no reordering (default)\n"); (void) fprintf(stderr, " \t\t\t2: random\n"); (void) fprintf(stderr, " \t\t\t3: pivot\n"); (void) fprintf(stderr, " \t\t\t4: sifting\n"); (void) fprintf(stderr, " \t\t\t5: sifting to convergence\n"); (void) fprintf(stderr, " \t\t\t6: symmetric sifting\n"); (void) fprintf(stderr, " \t\t\t7: symmetric sifting to convergence\n"); (void) fprintf(stderr, " \t\t\t8-10: window of size 2-4\n"); (void) fprintf(stderr, " \t\t\t11-13: window of size 2-4 to conv.\n"); (void) fprintf(stderr, " \t\t\t14: group sifting\n"); (void) fprintf(stderr, " \t\t\t15: group sifting to convergence\n"); (void) fprintf(stderr, " \t\t\t16: simulated annealing\n"); (void) fprintf(stderr, " \t\t\t17: genetic algorithm\n"); (void) fprintf(stderr, " -b\t\tuse blif as format for dumps\n"); (void) fprintf(stderr, " -c\t\tclear the cache after each matrix\n"); (void) fprintf(stderr, " -d file\tdump DDs to file\n"); (void) fprintf(stderr, " -g\t\tselect aggregation criterion (0,5,7)\n"); (void) fprintf(stderr, " -h\t\tprints this message\n"); (void) fprintf(stderr, " -k\t\tprint the variable permutation\n"); (void) fprintf(stderr, " -m\t\tread multiple matrices (only with -H)\n"); (void) fprintf(stderr, " -n n\t\tnumber of variables\n"); (void) fprintf(stderr, " -p n\t\tcontrol verbosity\n"); (void) fprintf(stderr, " -v n\t\tinitial variables in the unique table\n"); (void) fprintf(stderr, " -x n\t\tinitial size of the cache\n"); exit(2); } /* end of usage */ /**Function******************************************************************** Synopsis [Opens a file.] Description [Opens a file, or fails with an error message and exits. Allows '-' as a synonym for standard input.] SideEffects [None] SeeAlso [] ******************************************************************************/ static FILE * open_file(char *filename, const char *mode) { FILE *fp; if (strcmp(filename, "-") == 0) { return mode[0] == 'r' ? stdin : stdout; } else if ((fp = fopen(filename, mode)) == NULL) { perror(filename); exit(1); } return fp; } /* end of open_file */ /**Function******************************************************************** Synopsis [Tests Walsh matrix multiplication.] Description [Tests Walsh matrix multiplication. Return 1 if successful; 0 otherwise.] SideEffects [May create new variables in the manager.] SeeAlso [] ******************************************************************************/ static int testWalsh( DdManager *dd /* manager */, int N /* number of variables */, int cmu /* use CMU approach to matrix multiplication */, int approach /* reordering approach */, int pr /* verbosity level */) { DdNode *walsh1, *walsh2, *wtw; DdNode **x, **v, **z; int i, retval; DdNode *one = DD_ONE(dd); DdNode *zero = DD_ZERO(dd); if (N > 3) { x = ALLOC(DdNode *,N); v = ALLOC(DdNode *,N); z = ALLOC(DdNode *,N); for (i = N-1; i >= 0; i--) { Cudd_Ref(x[i]=cuddUniqueInter(dd,3*i,one,zero)); Cudd_Ref(v[i]=cuddUniqueInter(dd,3*i+1,one,zero)); Cudd_Ref(z[i]=cuddUniqueInter(dd,3*i+2,one,zero)); } Cudd_Ref(walsh1 = Cudd_addWalsh(dd,v,z,N)); if (pr>0) {(void) printf("walsh1"); Cudd_PrintDebug(dd,walsh1,2*N,pr);} Cudd_Ref(walsh2 = Cudd_addWalsh(dd,x,v,N)); if (cmu) { Cudd_Ref(wtw = Cudd_addTimesPlus(dd,walsh2,walsh1,v,N)); } else { Cudd_Ref(wtw = Cudd_addMatrixMultiply(dd,walsh2,walsh1,v,N)); } if (pr>0) {(void) printf("wtw"); Cudd_PrintDebug(dd,wtw,2*N,pr);} if (approach != CUDD_REORDER_NONE) { #ifdef DD_DEBUG retval = Cudd_DebugCheck(dd); if (retval != 0) { (void) fprintf(stderr,"Error reported by Cudd_DebugCheck\n"); return(0); } #endif retval = Cudd_ReduceHeap(dd,(Cudd_ReorderingType)approach,5); if (retval == 0) { (void) fprintf(stderr,"Error reported by Cudd_ReduceHeap\n"); return(0); } #ifdef DD_DEBUG retval = Cudd_DebugCheck(dd); if (retval != 0) { (void) fprintf(stderr,"Error reported by Cudd_DebugCheck\n"); return(0); } #endif if (approach == CUDD_REORDER_SYMM_SIFT || approach == CUDD_REORDER_SYMM_SIFT_CONV) { Cudd_SymmProfile(dd,0,dd->size-1); } } /* Clean up. */ Cudd_RecursiveDeref(dd, wtw); Cudd_RecursiveDeref(dd, walsh1); Cudd_RecursiveDeref(dd, walsh2); for (i=0; i < N; i++) { Cudd_RecursiveDeref(dd, x[i]); Cudd_RecursiveDeref(dd, v[i]); Cudd_RecursiveDeref(dd, z[i]); } FREE(x); FREE(v); FREE(z); } return(1); } /* end of testWalsh */ /**Function******************************************************************** Synopsis [Tests iterators.] Description [Tests iterators on cubes and nodes.] SideEffects [None] SeeAlso [] ******************************************************************************/ static int testIterators( DdManager *dd, DdNode *M, DdNode *C, int pr) { int *cube; CUDD_VALUE_TYPE value; DdGen *gen; int q; /* Test iterator for cubes. */ if (pr>1) { (void) printf("Testing iterator on cubes:\n"); Cudd_ForeachCube(dd,M,gen,cube,value) { for (q = 0; q < dd->size; q++) { switch (cube[q]) { case 0: (void) printf("0"); break; case 1: (void) printf("1"); break; case 2: (void) printf("-"); break; default: (void) printf("?"); } } (void) printf(" %g\n",value); } (void) printf("\n"); } if (pr>1) { (void) printf("Testing prime expansion of cubes:\n"); if (!Cudd_bddPrintCover(dd,C,C)) return(0); } if (pr>1) { (void) printf("Testing iterator on primes (CNF):\n"); Cudd_ForeachPrime(dd,Cudd_Not(C),Cudd_Not(C),gen,cube) { for (q = 0; q < dd->size; q++) { switch (cube[q]) { case 0: (void) printf("1"); break; case 1: (void) printf("0"); break; case 2: (void) printf("-"); break; default: (void) printf("?"); } } (void) printf(" 1\n"); } (void) printf("\n"); } /* Test iterator on nodes. */ if (pr>2) { DdNode *node; (void) printf("Testing iterator on nodes:\n"); Cudd_ForeachNode(dd,M,gen,node) { if (Cudd_IsConstant(node)) { #if SIZEOF_VOID_P == 8 (void) printf("ID = 0x%lx\tvalue = %-9g\n", (ptruint) node / (ptruint) sizeof(DdNode), Cudd_V(node)); #else (void) printf("ID = 0x%x\tvalue = %-9g\n", (ptruint) node / (ptruint) sizeof(DdNode), Cudd_V(node)); #endif } else { #if SIZEOF_VOID_P == 8 (void) printf("ID = 0x%lx\tindex = %u\tr = %u\n", (ptruint) node / (ptruint) sizeof(DdNode), node->index, node->ref); #else (void) printf("ID = 0x%x\tindex = %u\tr = %u\n", (ptruint) node / (ptruint) sizeof(DdNode), node->index, node->ref); #endif } } (void) printf("\n"); } return(1); } /* end of testIterators */ /**Function******************************************************************** Synopsis [Tests the functions related to the exclusive OR.] Description [Tests the functions related to the exclusive OR. It builds the boolean difference of the given function in three different ways and checks that the results is the same. Returns 1 if successful; 0 otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ static int testXor(DdManager *dd, DdNode *f, int pr, int nvars) { DdNode *f1, *f0, *res1, *res2; int x; /* Extract cofactors w.r.t. mid variable. */ x = nvars / 2; f1 = Cudd_Cofactor(dd,f,dd->vars[x]); if (f1 == NULL) return(0); Cudd_Ref(f1); f0 = Cudd_Cofactor(dd,f,Cudd_Not(dd->vars[x])); if (f0 == NULL) { Cudd_RecursiveDeref(dd,f1); return(0); } Cudd_Ref(f0); /* Compute XOR of cofactors with ITE. */ res1 = Cudd_bddIte(dd,f1,Cudd_Not(f0),f0); if (res1 == NULL) return(0); Cudd_Ref(res1); if (pr>0) {(void) printf("xor1"); Cudd_PrintDebug(dd,res1,nvars,pr);} /* Compute XOR of cofactors with XOR. */ res2 = Cudd_bddXor(dd,f1,f0); if (res2 == NULL) { Cudd_RecursiveDeref(dd,res1); return(0); } Cudd_Ref(res2); if (res1 != res2) { if (pr>0) {(void) printf("xor2"); Cudd_PrintDebug(dd,res2,nvars,pr);} Cudd_RecursiveDeref(dd,res1); Cudd_RecursiveDeref(dd,res2); return(0); } Cudd_RecursiveDeref(dd,res1); Cudd_RecursiveDeref(dd,f1); Cudd_RecursiveDeref(dd,f0); /* Compute boolean difference directly. */ res1 = Cudd_bddBooleanDiff(dd,f,x); if (res1 == NULL) { Cudd_RecursiveDeref(dd,res2); return(0); } Cudd_Ref(res1); if (res1 != res2) { if (pr>0) {(void) printf("xor3"); Cudd_PrintDebug(dd,res1,nvars,pr);} Cudd_RecursiveDeref(dd,res1); Cudd_RecursiveDeref(dd,res2); return(0); } Cudd_RecursiveDeref(dd,res1); Cudd_RecursiveDeref(dd,res2); return(1); } /* end of testXor */ /**Function******************************************************************** Synopsis [Tests the Hamming distance functions.] Description [Tests the Hammming distance functions. Returns 1 if successful; 0 otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ static int testHamming( DdManager *dd, DdNode *f, int pr) { DdNode **vars, *minBdd, *zero, *scan; int i; int d; int *minterm; int size = Cudd_ReadSize(dd); vars = ALLOC(DdNode *, size); if (vars == NULL) return(0); for (i = 0; i < size; i++) { vars[i] = Cudd_bddIthVar(dd,i); } minBdd = Cudd_bddPickOneMinterm(dd,Cudd_Not(f),vars,size); Cudd_Ref(minBdd); if (pr > 0) { (void) printf("Chosen minterm for Hamming distance test: "); Cudd_PrintDebug(dd,minBdd,size,pr); } minterm = ALLOC(int,size); if (minterm == NULL) { FREE(vars); Cudd_RecursiveDeref(dd,minBdd); return(0); } scan = minBdd; zero = Cudd_Not(DD_ONE(dd)); while (!Cudd_IsConstant(scan)) { DdNode *R = Cudd_Regular(scan); DdNode *T = Cudd_T(R); DdNode *E = Cudd_E(R); if (R != scan) { T = Cudd_Not(T); E = Cudd_Not(E); } if (T == zero) { minterm[R->index] = 0; scan = E; } else { minterm[R->index] = 1; scan = T; } } Cudd_RecursiveDeref(dd,minBdd); d = Cudd_MinHammingDist(dd,f,minterm,size); if (pr > 0) (void) printf("Minimum Hamming distance = %d\n", d); FREE(vars); FREE(minterm); return(1); } /* end of testHamming */ /**Function******************************************************************** Synopsis [Tests the support functions.] Description [Tests the support functions. Returns 1 if successful; 0 otherwise.] SideEffects [None] SeeAlso [] ******************************************************************************/ static int testSupport( DdManager *dd, DdNode *f, DdNode *g, int pr) { DdNode *sb, *common, *onlyF, *onlyG; DdNode *F[2]; int *support; int ret, ssize; int size = Cudd_ReadSize(dd); sb = Cudd_Support(dd, f); if (sb == NULL) return(0); Cudd_Ref(sb); if (pr > 0) { (void) printf("Support of f: "); Cudd_PrintDebug(dd,sb,size,pr); } Cudd_RecursiveDeref(dd, sb); ssize = Cudd_SupportIndices(dd, f, &support); if (ssize == CUDD_OUT_OF_MEM) return(0); if (pr > 0) { (void) printf("Size of the support of f: %d\n", ssize); } FREE(support); ssize = Cudd_SupportSize(dd, f); if (pr > 0) { (void) printf("Size of the support of f: %d\n", ssize); } F[0] = f; F[1] = g; sb = Cudd_VectorSupport(dd, F, 2); if (sb == NULL) return(0); Cudd_Ref(sb); if (pr > 0) { (void) printf("Support of f and g: "); Cudd_PrintDebug(dd,sb,size,pr); } Cudd_RecursiveDeref(dd, sb); ssize = Cudd_VectorSupportIndices(dd, F, 2, &support); if (ssize == CUDD_OUT_OF_MEM) return(0); if (pr > 0) { (void) printf("Size of the support of f and g: %d\n", ssize); } FREE(support); ssize = Cudd_VectorSupportSize(dd, F, 2); if (pr > 0) { (void) printf("Size of the support of f and g: %d\n", ssize); } ret = Cudd_ClassifySupport(dd, f, g, &common, &onlyF, &onlyG); if (ret == 0) return(0); Cudd_Ref(common); Cudd_Ref(onlyF); Cudd_Ref(onlyG); if (pr > 0) { (void) printf("Support common to f and g: "); Cudd_PrintDebug(dd,common,size,pr); (void) printf("Support private to f: "); Cudd_PrintDebug(dd,onlyF,size,pr); (void) printf("Support private to g: "); Cudd_PrintDebug(dd,onlyG,size,pr); } Cudd_RecursiveDeref(dd, common); Cudd_RecursiveDeref(dd, onlyF); Cudd_RecursiveDeref(dd, onlyG); return(1); } /* end of testSupport */ BRiAl-1.2.12/cudd/util.h000066400000000000000000000051201436062512100145710ustar00rootroot00000000000000/* header-only replacement for Cudd's util/ */ #ifdef PBORI_FORCE_ORIGINAL_CUDD #include "../util/util.h" #define polybori_cuddy_util_h_ #endif #ifndef polybori_cuddy_util_h_ #define polybori_cuddy_util_h_ #include #ifdef __cplusplus #include #include #include #include #include extern "C" { #else #include #include #include #include #include #endif #define ALLOC(type, num) \ ((type *) PBORI_PREFIX(MMalloc)((long) sizeof(type) * (long) (num))) #define REALLOC(type, obj, num) \ ((type *) PBORI_PREFIX(MMrealloc)((char *) (obj), (long) sizeof(type) * (long) (num))) #define FREE(obj) \ ((obj) ? (free((char *) (obj)), (obj) = 0) : 0) extern void (*PBORI_PREFIX(MMoutOfMemory)) (long); static inline long util_cpu_time () { clock_t saved_time = clock(); return (((long)saved_time)*1000) / CLOCKS_PER_SEC; } static inline long getSoftDataLimit(void) { const long RLIMIT_DATA_DEFAULT = 67108864; /* assume 64MB by default */ return RLIMIT_DATA_DEFAULT; } /* end of getSoftDataLimit */ /* * These are interface routines to be placed between a program and the * system memory allocator. * * It forces well-defined semantics for several 'borderline' cases: * * MMalloc() of a 0 size object is guaranteed to return something * which is not 0, and can safely be freed (but not dereferenced) * MMfree() accepts (silently) an 0 pointer * MMrealloc of a 0 pointer is allowed, and is equiv. to malloc() * * The function pointer MMoutOfMemory() contains a vector to handle a * 'out-of-memory' error (which, by default, points at a simple wrap-up * and exit routine). */ static inline void PBORI_PREFIX(MMout_of_memory)(long size) { (void) fflush(stdout); (void) fprintf(stderr, "\nout of memory allocating %lu bytes\n", (unsigned long) size); abort(); } static inline char* PBORI_PREFIX(MMalloc)(long size) { if (size == 0) size = sizeof(long); char* result = (char*) malloc((unsigned) size); if (!result && PBORI_PREFIX(MMoutOfMemory)) (*PBORI_PREFIX(MMoutOfMemory))(size); return result; } static inline char * PBORI_PREFIX(MMrealloc)(char *obj, long size) { if (!obj) return PBORI_PREFIX(MMalloc)(size); if (size <= 0) size = sizeof(long); char* result = (char*) realloc(obj, (unsigned) size); if (!result && PBORI_PREFIX(MMoutOfMemory)) (*PBORI_PREFIX(MMoutOfMemory))(size); return result; } static inline void PBORI_PREFIX(MMfree)(char *obj) { if (obj) free(obj); } #ifdef __cplusplus } #endif #endif BRiAl-1.2.12/groebner/000077500000000000000000000000001436062512100143315ustar00rootroot00000000000000BRiAl-1.2.12/groebner/Makefile.am000066400000000000000000000000261436062512100163630ustar00rootroot00000000000000SUBDIRS = src include BRiAl-1.2.12/groebner/include/000077500000000000000000000000001436062512100157545ustar00rootroot00000000000000BRiAl-1.2.12/groebner/include/Makefile.am000066400000000000000000000100511436062512100200050ustar00rootroot00000000000000nobase_include_HEADERS = \ polybori/groebner/add_up.h \ polybori/groebner/BitMask.h \ polybori/groebner/BlockOrderHelper.h \ polybori/groebner/BoundedDivisorsOf.h \ polybori/groebner/cache_manager.h \ polybori/groebner/ChainCriterion.h \ polybori/groebner/ChainVariableCriterion.h \ polybori/groebner/CheckChainCriterion.h \ polybori/groebner/contained_variables.h \ polybori/groebner/CountCriterion.h \ polybori/groebner/DegOrderHelper.h \ polybori/groebner/dlex4data.h \ polybori/groebner/dp_asc4data.h \ polybori/groebner/draw_matrix.h \ polybori/groebner/ExpGreater.h \ polybori/groebner/ExpLexLess.h \ polybori/groebner/FGLMStrategy.h \ polybori/groebner/fixed_path_divisors.h \ polybori/groebner/GetNthPoly.h \ polybori/groebner/groebner.h \ polybori/groebner/groebner_alg.h \ polybori/groebner/groebner_defs.h \ polybori/groebner/GroebnerOptions.h \ polybori/groebner/GroebnerStrategy.h \ polybori/groebner/HasTRepOrExtendedProductCriterion.h \ polybori/groebner/IJPairData.h \ polybori/groebner/interpolate.h \ polybori/groebner/IsEcart0Predicate.h \ polybori/groebner/IsVariableOfIndex.h \ polybori/groebner/LargerDegreeComparer.h \ polybori/groebner/LeadingTerms.h \ polybori/groebner/LeadingTerms00.h \ polybori/groebner/LeadingTerms11.h \ polybori/groebner/LessCombinedManySizesInStrat.h \ polybori/groebner/LessEcartThenLessWeightedLengthInStrat.h \ polybori/groebner/LessUsedTailVariablesThenLessWeightedLengthInStrat.h \ polybori/groebner/LessWeightedLengthInStrat.h \ polybori/groebner/LessWeightedLengthInStratModified.h \ polybori/groebner/LexBucket.h \ polybori/groebner/LexHelper.h \ polybori/groebner/LexOrderGreaterComparer.h \ polybori/groebner/linear_algebra_step.h \ polybori/groebner/LiteralFactorization.h \ polybori/groebner/LiteralFactorizationIterator.h \ polybori/groebner/ll_red_nf.h \ polybori/groebner/LLReduction.h \ polybori/groebner/LLReductor.h \ polybori/groebner/LMLessCompare.h \ polybori/groebner/LMLessComparePS.h \ polybori/groebner/Long64From32BitsPair.h \ polybori/groebner/lp4data.h \ polybori/groebner/MatrixMonomialOrderTables.h \ polybori/groebner/minimal_elements.h \ polybori/groebner/MinimalLeadingTerms.h \ polybori/groebner/MonomialHasher.h \ polybori/groebner/MonomialPlusOneTerms.h \ polybori/groebner/MonomialTerms.h \ polybori/groebner/NBitsUsed.h \ polybori/groebner/NextSpoly.h \ polybori/groebner/nf.h \ polybori/groebner/PairData.h \ polybori/groebner/PairE.h \ polybori/groebner/PairECompare.h \ polybori/groebner/PairLS.h \ polybori/groebner/PairLSCompare.h \ polybori/groebner/PairManager.h \ polybori/groebner/PairManagerFacade.h \ polybori/groebner/pairs.h \ polybori/groebner/PairStatusSet.h \ polybori/groebner/PolyEntry.h \ polybori/groebner/PolyEntryBase.h \ polybori/groebner/PolyEntryIndices.h \ polybori/groebner/PolyEntryPtrLmLess.h \ polybori/groebner/PolyEntryReference.h \ polybori/groebner/PolyEntryVector.h \ polybori/groebner/PolyFromPolyEntry.h \ polybori/groebner/PolyMonomialPairComparerLess.h \ polybori/groebner/PolyMonomialPairComparerLexLess.h \ polybori/groebner/polynomial_properties.h \ polybori/groebner/PolynomialSugar.h \ polybori/groebner/PolyPairData.h \ polybori/groebner/PSCompareByEl.h \ polybori/groebner/PseudoLongLong.h \ polybori/groebner/PseudoLongProduct.h \ polybori/groebner/randomset.h \ polybori/groebner/RankingVector.h \ polybori/groebner/red_tail.h \ polybori/groebner/RedTailNth.h \ polybori/groebner/ReductionOptions.h \ polybori/groebner/ReductionStrategy.h \ polybori/groebner/ReductionTerms.h \ polybori/groebner/RelatedTerms.h \ polybori/groebner/RelatedTermsBase.h \ polybori/groebner/SetAssociatedMinimal.h \ polybori/groebner/SetBitUInt.h \ polybori/groebner/ShorterEliminationLength.h \ polybori/groebner/ShorterEliminationLengthModified.h \ polybori/groebner/SlimgbReduction.h \ polybori/groebner/tables.h \ polybori/groebner/TermsFacade.h \ polybori/groebner/TimesConstantImplication.h \ polybori/groebner/TimesVariableSubstitution.h \ polybori/groebner/VariablePairData.h \ polybori/groebner/ZeroFunction.h BRiAl-1.2.12/groebner/include/polybori/000077500000000000000000000000001436062512100176135ustar00rootroot00000000000000BRiAl-1.2.12/groebner/include/polybori/groebner/000077500000000000000000000000001436062512100214165ustar00rootroot00000000000000BRiAl-1.2.12/groebner/include/polybori/groebner/BitMask.h000066400000000000000000000041011436062512100231150ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file BitMask.h * * @author Alexander Dreyer * @date 2012-02-23 * * This file includes the definition of the class @c BitMask. * * @par Copyright: * (c) 2012 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_BitMask_h_ #define polybori_groebner_BitMask_h_ // include basic definitions #include "groebner_defs.h" BEGIN_NAMESPACE_PBORIGB /** @class BitMask * @brief This class defines a bit mask and related operations. * **/ template class BitMask; template <> class BitMask<0> { public: enum { nbits = 0, mask = (unsigned long)0 }; unsigned long low(const unsigned long& value) const { return 0; } const unsigned long& high(const unsigned long& value) const { return value; } const unsigned long& shift(const unsigned long& value) const { return value; } unsigned long back(const unsigned long& value) const { return 0; } }; template class BitMask { public: enum { nbits = NBits, mask = ((unsigned long)(BitMask::mask) << 1) | 0x1}; unsigned long low(const unsigned long& value) const { return value & mask; } unsigned long high(const unsigned long& value) const { return value >> NBits; } unsigned long shift(const unsigned long& value) const { return value << NBits; } unsigned long back(const unsigned long& value) const { return value << (sizeof(unsigned long)*8 - NBits); } }; template <> class BitMask { public: enum { nbits = sizeof(unsigned long)*8, mask = ((unsigned long)(BitMask::mask) << 1) | 0x1}; const unsigned long& low(const unsigned long& value) const { return value; } unsigned long high(const unsigned long& value) const { return 0; } unsigned long shift(const unsigned long& value) const { return 0; } const unsigned long& back(const unsigned long& value) const { return value; } }; END_NAMESPACE_PBORIGB #endif /* polybori_groebner_BitMask_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/BlockOrderHelper.h000066400000000000000000000033401436062512100247550ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file BlockOrderHelper.h * * @author Michael Brickenstein * @date 2011-06-30 * * This file includes the definition of the class @c BlockOrderHelper. * * @par Copyright: * (c) 2006-2010 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_BlockOrderHelper_h_ #define polybori_groebner_BlockOrderHelper_h_ // include basic definitions #include "groebner_defs.h" #include "ReductionStrategy.h" #include "nf.h" BEGIN_NAMESPACE_PBORIGB /** @class BlockOrderHelper * @brief This class defines BlockOrderHelper. * **/ class BlockOrderHelper{ public: static bool irreducible_lead(const Monomial& m, const ReductionStrategy& strat){ return PBORINAME::groebner::irreducible_lead(m,strat); } static Polynomial::ordered_iterator begin(const Polynomial & p){ return p.orderedBegin(); } static Polynomial::ordered_iterator end(const Polynomial & p){ return p.orderedEnd(); } static Polynomial nf(const ReductionStrategy& strat, const Polynomial& p, const Monomial& m){ return nf3(strat,p,m); } typedef Polynomial::ordered_iterator iterator_type; const static bool isDegreeOrder=false; const static bool isLexicographicalOrder=false; static bool knowRestIsIrreducible(const iterator_type& it, const ReductionStrategy & strat){ return false; } static Polynomial sum_range(std::vector& vec,iterator_type it, iterator_type end, Polynomial init){ return add_up_generic(vec, init); } }; END_NAMESPACE_PBORIGB #endif /* polybori_BlockOrderHelper_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/BoundedDivisorsOf.h000066400000000000000000000033671436062512100251700ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file BoundedDivisorsOf.h * * @author Michael Brickenstein (original) and Alexander Dreyer (refactored) * @date 2012-01-28 * * This file includes the definition of the class @c BoundedDivisorsOf. * * @par Copyright: * (c) 2006-2012 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_BoundedDivisorsOf_h_ #define polybori_groebner_BoundedDivisorsOf_h_ #include "fixed_path_divisors.h" // include basic definitions #include "groebner_defs.h" #include BEGIN_NAMESPACE_PBORIGB /** @class BoundedDivisorsOf * @brief This class defines defines a function for computing a bounded * variant of @c MononmialSet's @c divisorsOf * This implements the mapping f: terms -> subsets of T (a set of terms), with t :> {y in T : t divides y, y divides t*t0} where t0 and T are a term and a set of terms, respectively, given as constructor arguments. * @note The operator stored references of t0 and T only. **/ class BoundedDivisorsOf { public: /// typedef to replace unary_function - this are expected in other files typedef Monomial argument_type; typedef MonomialSet result_type; /// Initialize mapping with given parameters BoundedDivisorsOf(const Monomial& term, const MonomialSet& terms): m_factor(term), m_terms(terms) {} /// The actual call MonomialSet operator()(const Monomial& t_divided) const { Monomial t = t_divided * m_factor; return fixed_path_divisors(m_terms, t, t_divided); } private: Monomial m_factor; MonomialSet m_terms; }; END_NAMESPACE_PBORIGB #endif /* polybori_groebner_BoundedDivisorsOf_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/ChainCriterion.h000066400000000000000000000024121436062512100244670ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file ChainCriterion.h * * @author Michael Brickenstein * @date 2011-06-30 * * This file includes the definition of the class @c ChainCriterion. * * @par Copyright: * (c) 2006-2010 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_ChainCriterion_h_ #define polybori_groebner_ChainCriterion_h_ // include basic definitions #include "groebner_defs.h" #include "GroebnerStrategy.h" BEGIN_NAMESPACE_PBORIGB /** @class ChainCriterion * @brief This class defines ChainCriterion. * **/ class ChainCriterion{ /// @todo: connect via vars public: const GroebnerStrategy* strat; int i,j; ChainCriterion(const GroebnerStrategy& strat, int i, int j){ this->strat=&strat; this->i=i; this->j=j; } bool operator() (const Exponent& lmExp){ int index=strat->generators.index(lmExp); //we know such an entry exists if ((index!=i)&&(index!=j)){ if ((strat->pairs.status.hasTRep(i,index)) && (strat->pairs.status.hasTRep(j,index))){ return true; } } return false; } }; END_NAMESPACE_PBORIGB #endif /* polybori_ChainCriterion_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/ChainVariableCriterion.h000066400000000000000000000026101436062512100261350ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file ChainVariableCriterion.h * * @author Michael Brickenstein * @date 2011-06-30 * * This file includes the definition of the class @c ChainVariableCriterion. * * @par Copyright: * (c) 2006-2010 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_ChainVariableCriterion_h_ #define polybori_groebner_ChainVariableCriterion_h_ // include basic definitions #include "groebner_defs.h" #include "GroebnerStrategy.h" BEGIN_NAMESPACE_PBORIGB /** @class ChainVariableCriterion * @brief This class defines ChainVariableCriterion. * **/ class ChainVariableCriterion{ ///connect via pairs public: const GroebnerStrategy* strat; int i; idx_type v; ChainVariableCriterion(const GroebnerStrategy& strat, int i, idx_type v){ this->strat=&strat; this->i=i; this->v=v; } bool operator() (const Exponent& lmExp){ int index=strat->generators.index(lmExp); //we know such an entry exists if (index!=i){ //would be still true for i, but how should that happen if ((strat->pairs.status.hasTRep(i,index)) &&(strat->generators[index].vPairCalculated.count(v)==1)) return true; } return false; } }; END_NAMESPACE_PBORIGB #endif /* polybori_ChainVariableCriterion_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/CheckChainCriterion.h000066400000000000000000000035131436062512100254300ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file CheckChainCriterion.h * * @author Michael Brickenstein (original) and Alexander Dreyer (refactored) * @date 2012-02-02 * * This file includes the definition of the class @c CheckChainCriterion. * * @par Copyright: * (c) 2006-2012 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_CheckChainCriterion_h_ #define polybori_groebner_CheckChainCriterion_h_ // include basic definitions #include "groebner_defs.h" BEGIN_NAMESPACE_PBORIGB /** @class CheckChainCriterion * @brief This class defines CheckChainCriterion. * **/ template class CheckChainCriterion { public: typedef StrategyType strategy_type; CheckChainCriterion(strategy_type& strategy, PairStatusSet& status): m_strategy(strategy), m_status(status) {} /// Clean up @c current and return whether it has a T-representation bool operator()(const Pair& current) { switch (current.getType()) { case IJ_PAIR: return compute(current.ijPair(), current.lm); case VARIABLE_PAIR: return compute(current.variablePair()); } return false; } protected: bool compute(const IJPairData& ij, const Exponent& exp) { return m_status.hasTRep(ij.i, ij.j) || checkPairCriteria(exp, ij.i, ij.j); } bool compute(const VariablePairData& vp) { return m_strategy.checkVariableCriteria(vp.i, vp.v); } bool checkPairCriteria(const Exponent& exp, int i, int j) { if (m_strategy.checkPairCriteria(exp, i, j)) { m_status.setToHasTRep(i, j); return true; } return false; } private: strategy_type& m_strategy; PairStatusSet& m_status; }; END_NAMESPACE_PBORIGB #endif /* polybori_groebner_CheckChainCriterion_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/CountCriterion.h000066400000000000000000000055071436062512100245450ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file CountCriterion.h * * @author Michael Brickenstein * @date 2011-06-30 * * This file includes the definition of the class @c CountCriterion. * * @par Copyright: * (c) 2006-2010 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_CountCriterion_h_ #define polybori_groebner_CountCriterion_h_ // include basic definitions #include "groebner_defs.h" #include "GroebnerStrategy.h" #include "interpolate.h" BEGIN_NAMESPACE_PBORIGB /** @class CountCriterion * @brief This class defines CountCriterion. * **/ class CountCriterion{ public: GroebnerStrategy* strat; int j; CountCriterion(GroebnerStrategy& strat, int j){ this->strat=&strat; this->j=j; } bool operator() (int i){ const PolyEntry & e1=const_cast(strat)->generators[i]; const PolyEntry & e2=const_cast(strat)->generators[j]; const int USED_VARIABLES_BOUND=6; if ((e1.usedVariables.deg()>USED_VARIABLES_BOUND)|| (e2.usedVariables.deg()>USED_VARIABLES_BOUND)|| (e1.usedVariables.LCMDeg(e2.usedVariables) > USED_VARIABLES_BOUND) ||(e1.p.set().nNodes()>30)||(e2.p.set().nNodes()>30)) return false; Exponent uv_exp=e1.usedVariables.LCM(e2.usedVariables); MonomialSet space=uv_exp.divisors(e1.p.ring()); Monomial lead_lcm=e1.lead.LCM(e2.lead); //I am sure, there exists combinatorial formulas MonomialSet common_lead_space=lead_lcm.divisors(); Monomial gcd=e1.lead.GCD(e2.lead); int gcd_deg = gcd.deg(); int standard_monomials_in_common_lead= // common_lead_space.diff( // common_lead_space.multiplesOf(e1.lead)).diff( // common_lead_space.multiplesOf(e2.lead)).size(); (1<pairs.status.setToHasTRep(i,j); return true; } else return false; } bool operator() (const Exponent &m){ int i = strat->generators.index(m); return (*this)(i); } }; END_NAMESPACE_PBORIGB #endif /* polybori_CountCriterion_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/DegOrderHelper.h000066400000000000000000000033421436062512100244240ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file DegOrderHelper.h * * @author Michael Brickenstein * @date 2011-06-30 * * This file includes the definition of the class @c DegOrderHelper. * * @par Copyright: * (c) 2006-2010 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_DegOrderHelper_h_ #define polybori_groebner_DegOrderHelper_h_ // include basic definitions #include "groebner_defs.h" #include "ReductionStrategy.h" #include "add_up.h" BEGIN_NAMESPACE_PBORIGB /** @class DegOrderHelper * @brief This class defines DegOrderHelper. * **/ class DegOrderHelper{ public: static bool irreducible_lead(const Monomial& m, const ReductionStrategy& strat){ return PBORINAME::groebner::irreducible_lead(m,strat); } static Polynomial::ordered_iterator begin(const Polynomial & p){ return p.orderedBegin(); } static Polynomial::ordered_iterator end(const Polynomial & p){ return p.orderedEnd(); } static Polynomial nf(const ReductionStrategy& strat, const Polynomial& p, const Monomial& m){ return nf3_degree_order(strat,p,m); } typedef Polynomial::ordered_iterator iterator_type; const static bool isDegreeOrder=true; const static bool isLexicographicalOrder=false; static bool knowRestIsIrreducible(const iterator_type& it, const ReductionStrategy & strat){ return false; } static Polynomial sum_range(std::vector& vec,iterator_type it, iterator_type end, Polynomial init){ return add_up_generic(vec, init); } }; END_NAMESPACE_PBORIGB #endif /* polybori_DegOrderHelper_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/ExpGreater.h000066400000000000000000000017021436062512100236350ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file ExpGreater.h * * @author Michael Brickenstein * @date 2011-06-30 * * This file includes the definition of the class @c ExpGreater. * * @par Copyright: * (c) 2006-2010 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_ExpGreater_h_ #define polybori_groebner_ExpGreater_h_ // include basic definitions #include "groebner_defs.h" BEGIN_NAMESPACE_PBORIGB /** @class ExpGreater * @brief This class defines ExpGreater. * **/ class ExpGreater: public CFactoryBase { public: ExpGreater(const BoolePolyRing& ring): CFactoryBase(ring) {} bool operator()(const BooleExponent& lhs, const BooleExponent& rhs) const { return parent().ordering().compare(lhs,rhs)==CTypes::greater_than; } }; END_NAMESPACE_PBORIGB #endif /* polybori_ExpGreater_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/ExpLexLess.h000066400000000000000000000015421436062512100236250ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file ExpLexLess.h * * @author Michael Brickenstein * @date 2011-07-01 * * This file includes the definition of the class @c groebner_ExpLexLess. * * @par Copyright: * (c) 2006-2011 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_ExpLexLess_h_ #define polybori_groebner_ExpLexLess_h_ // include basic definitions #include "groebner_defs.h" BEGIN_NAMESPACE_PBORIGB /** @class ExpLexLess * @brief This class defines ExpLexLess. * **/ class ExpLexLess { public: bool operator()(const Exponent&lhs, const Exponent& rhs) const { return LexOrder().compare(lhs, rhs)==CTypes::less_than; } }; END_NAMESPACE_PBORIGB #endif /* polybori_groebner_ExpLexLess_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/FGLMStrategy.h000066400000000000000000000060741436062512100240460ustar00rootroot00000000000000// // FGLMStrategy.h // PolyBoRi // // Created by Michael Brickenstein on 2008-11-13. // Copyright 2008 The PolyBoRi Team // #ifndef fglm_header #define fglm_header #include #include "groebner_alg.h" extern "C" { #include } BEGIN_NAMESPACE_PBORIGB typedef std::vector poly_vec; class FGLMStrategy{ /// Copy constructor (forbitten, cannot be copied, used smart pointer or /// reference, if you need to return by value) FGLMStrategy(const FGLMStrategy& rhs); /// Assignment (forbitten, see above) FGLMStrategy& operator=(const FGLMStrategy& rhs); public: typedef BoolePolyRing ring_with_ordering_type; FGLMStrategy(const ring_with_ordering_type& from_ring, const ring_with_ordering_type& to_ring, const PolynomialVector& gb); PolynomialVector main(); void analyzeGB(const ReductionStrategy& gb); void setupMultiplicationTables(); void setupStandardMonomialsFromTables(); void writeRowToVariableDivisors(mzd_t* row, Monomial lm); void testMultiplicationTables(); void transposeMultiplicationTables(); void writeTailToRow(MonomialSet tail, mzd_t* row); Polynomial rowToPoly(mzd_t* row); //allocates a window, free it with mzd_free_window void findVectorInMultTables(mzd_t* dst, Monomial m); mzd_t* multiplicationTableForVariable(const Variable& v){ return multiplicationTables[ring2Index[v.index()]]; } ~FGLMStrategy(){ for(std::size_t i=0;i IndexVector; private: bool prot; Monomial vars; size_t varietySize; typedef std::vector MonomialVector; typedef std::vector MatrixVector; typedef std::vector VariableVector; MonomialSet standardMonomialsFrom; MonomialVector standardMonomialsFromVector; MonomialSet leadingTermsFrom; MonomialSet varsSet; VariableVector varsVector; ReductionStrategy gbFrom; //reduced gb MonomialSet edgesUnitedVerticesFrom; ring_with_ordering_type from; ring_with_ordering_type to; //indices in multiplicationTables correspond to reverse standard BooleSet iteration of standardMonomialsFrom IndexVector ring2Index; IndexVector index2Ring; IndexVector rowStartingWithIndex; MonomialSet::size_type nVariables; bool transposed; std::vector tableXRowYIsMonomialFromWithIndex; lm2Index_map_type standardMonomialsFrom2Index; lm2Index_map_type monomial2MultiplicationMatrix; lm2Index_map_type monomial2MultiplicationMatrixRowIndex; MatrixVector multiplicationTables; bool canAddThisElementLaterToGB(Polynomial p); PolynomialVector addTheseLater; IndexVector rowIsStandardMonomialToWithIndex; Exponent::idx_map_type standardExponentsFrom2Index; Polynomial reducedNormalFormInFromRing(Polynomial f); IndexVector rowVectorIsLinearCombinationOfRows(mzd_t* mat, mzd_t* v); }; END_NAMESPACE_PBORIGB #endif BRiAl-1.2.12/groebner/include/polybori/groebner/GetNthPoly.h000066400000000000000000000020471436062512100236270ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file GetNthPoly.h * * @author Michael Brickenstein (original) and Alexander Dreyer (refactored) * @date 2012-01-31 * * This file includes the definition of the class @c GetNthPoly. * * @par Copyright: * (c) 2006-2012 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_GetNthPoly_h_ #define polybori_groebner_GetNthPoly_h_ // include basic definitions #include "groebner_defs.h" #include "ReductionStrategy.h" BEGIN_NAMESPACE_PBORIGB /** @class GetNthPoly * * This class extractos the polynomial of the n-th element of a given * @c ReductionStrategy. * **/ class GetNthPoly { public: GetNthPoly(ReductionStrategy& strat): m_strat(strat) {} template const Polynomial& operator()(const KeyType& key) { return m_strat[key].p; } ReductionStrategy& m_strat; }; END_NAMESPACE_PBORIGB #endif /* polybori_groebner_GetNthPoly_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/GroebnerOptions.h000066400000000000000000000033261436062512100247120ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file GroebnerOptions.h * * @author Michael Brickenstein (original), Alexander Dreyer (refactored) * @date 2012-02-03 * * This file includes the definition of the class @c GroebnerOptions. * * @par Copyright: * (c) 2006-2012 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_GroebnerOptions_h_ #define polybori_GroebnerOptions_h_ // include basic definitions #include "groebner_defs.h" #include BEGIN_NAMESPACE_PBORIGB /** @class GroebnerOptions * @brief This class defines options settings for @c GroebnerStrategy. * * @note: For most option values we give fixed defaults, but @c * optRedTailInLastBlock and @c optLazy are problem dependent. **/ class GroebnerOptions { public: /// Constructor with default settings GroebnerOptions(bool redTailInLastBlock = false, bool lazy = false): optRedTailInLastBlock(redTailInLastBlock), optLazy(lazy), matrixPrefix("mat"), optDrawMatrices(false), optModifiedLinearAlgebra(false), optDelayNonMinimals(true), enabledLog(false), optExchange(true), optHFE(false), optStepBounded(false), optAllowRecursion(true), optLinearAlgebraInLastBlock(true), reduceByTailReduced(false) { } bool optRedTailInLastBlock; bool optLazy; std::string matrixPrefix; bool optDrawMatrices; bool optModifiedLinearAlgebra; bool optDelayNonMinimals; bool enabledLog; bool optExchange; bool optHFE; bool optStepBounded; bool optAllowRecursion; bool optLinearAlgebraInLastBlock; bool reduceByTailReduced; }; END_NAMESPACE_PBORIGB #endif /* polybori_GroebnerOptions_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/GroebnerStrategy.h000066400000000000000000000154061436062512100250630ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file GroebnerStrategy.h * * @author Michael Brickenstein * @date 2011-06-29 * * This file includes the definition of the class @c GroebnerStrategy. * * @par Copyright: * (c) 2006-2010 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_GroebnerStrategy_h_ #define polybori_groebner_GroebnerStrategy_h_ // include basic definitions #include "pairs.h" #include "cache_manager.h" #include "PairManagerFacade.h" #include "ReductionStrategy.h" #include "groebner_defs.h" #include "PolyEntryPtrLmLess.h" #include "GroebnerOptions.h" #include #include #include // member-for_each etc. BEGIN_NAMESPACE_PBORIGB /** @class GroebnerStrategy * @brief This class defines GroebnerStrategy. * **/ class GroebnerStrategy: public GroebnerOptions, public PairManagerFacade { typedef GroebnerStrategy self; public: /// copy constructor GroebnerStrategy(const GroebnerStrategy& orig); /// Construct from a ring GroebnerStrategy(const BoolePolyRing& input_ring): GroebnerOptions(input_ring.ordering().isBlockOrder(), !input_ring.ordering().isDegreeOrder()), PairManagerFacade(input_ring), generators(input_ring), cache(new CacheManager()), chainCriterions(0), variableChainCriterions(0), easyProductCriterions(0), extendedProductCriterions(0) { } const BoolePolyRing& ring() const { return generators.leadingTerms.ring(); } bool containsOne() const { return generators.leadingTerms.ownsOne(); } std::vector minimalizeAndTailReduce(); std::vector minimalize(); void addGenerator(const PolyEntry& entry); void addGeneratorDelayed(const BoolePolynomial & p); void addAsYouWish(const Polynomial& p); void addGeneratorTrySplit(const Polynomial& p, bool is_minimal); bool variableHasValue(idx_type i); void llReduceAll(); void treat_m_p_1_case(const PolyEntry& e) { generators.monomials_plus_one.update(e); } Polynomial nextSpoly(){ return pairs.nextSpoly(generators); } void addNonTrivialImplicationsDelayed(const PolyEntry& p); void propagate(const PolyEntry& e); void log(const char* c) const { if (enabledLog) std::cout< noroStep(const std::vector&); std::vector faugereStepDense(const std::vector&); Polynomial nf(Polynomial p) const; void symmGB_F2(); int suggestPluginVariable(); std::vector allGenerators(); bool checkSingletonCriterion(int i, int j) const { return generators[i].isSingleton() && generators[j].isSingleton(); } bool checkPairCriteria(const Exponent& lm, int i, int j) { return checkSingletonCriterion(i, j) || checkExtendedProductCriterion(i, j) || checkChainCriterion(lm, i, j); } bool checkChainCriterion(const Exponent& lm, int i, int j); bool checkExtendedProductCriterion(int i, int j); bool checkVariableSingletonCriterion(int idx) const { return generators[idx].isSingleton(); } bool checkVariableLeadOfFactorCriterion(int idx, int var) const { bool result = generators[idx].literal_factors.occursAsLeadOfFactor(var); if (result) log("delayed variable linear factor criterion"); return result; } bool checkVariableChainCriterion(int idx) { bool result = !generators[idx].minimal; if (result) ++variableChainCriterions; return result; } bool checkVariableCriteria(int idx, int var) { return PBORI_UNLIKELY(checkVariableSingletonCriterion(idx) || checkVariableLeadOfFactorCriterion(idx, var)) || checkVariableChainCriterion(idx); } protected: std::vector treatVariablePairs(PolyEntryReference); void normalPairsWithLast(const MonomialSet&); void addVariablePairs(PolyEntryReference); std::vector add4ImplDelayed(PolyEntryReference); std::vector add4ImplDelayed(const Polynomial& p, const Exponent& lm_exp, const Exponent& used_variables) const; std::vector addHigherImplDelayedUsing4(PolyEntryReference); std::vector addHigherImplDelayedUsing4(const LiteralFactorization&) const; private: int addGeneratorStep(const PolyEntry&); void addImplications(const BoolePolynomial& p, std::vector& indices); bool add4ImplDelayed(const Polynomial& p, const Exponent& lm_exp, const Exponent& used_variables, bool include_orig, std::vector& impl) const; bool addHigherImplDelayedUsing4(const LiteralFactorization&, bool include_orig, std::vector&) const; template void addImplications(Iterator, Iterator, std::vector& indices); void addImplications(const std::vector& impl, int s); typedef std::set entryset_type; void propagateStep(entryset_type& others); void exchange(const Polynomial&, const PolyEntry&, entryset_type&); void updatePropagated(const PolyEntry& entry); // product criterion doesn't hold - try length 1 crit void checkSingletonCriterion(const PolyEntry& entry, const MonomialSet& intersection) { PBORI_ASSERT(generators.checked_index(entry) == -1); pairs.status.prolong(PairStatusSet::HAS_T_REP); for_each(intersection.expBegin(), intersection.expEnd(), *this, (entry.isSingleton()? &self::markNextSingleton: &self::markNextUncalculated)); } /// check singleton and product criteria void checkCriteria(const PolyEntry& entry, const MonomialSet& terms) { checkSingletonCriterion(entry, terms); easyProductCriterions += generators.minimalLeadingTerms.length() - terms.length(); } void markNextSingleton(const Exponent& key) { if (generators[key].isSingleton()) ++extendedProductCriterions; else markNextUncalculated(key); } void markNextUncalculated(const BooleExponent& key) { pairs.status.setToUncalculated(generators.index(key), generators.size()); } bool shorterElimination(const MonomialSet& divisors, wlen_type el, MonomialSet::deg_type deg) const; public: /// @name public available parameters ReductionStrategy generators; std::shared_ptr cache; unsigned int reductionSteps; int normalForms; int currentDegree; int averageLength; int chainCriterions; int variableChainCriterions; int easyProductCriterions; int extendedProductCriterions; }; END_NAMESPACE_PBORIGB #endif /* polybori_GroebnerStrategy_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/HasTRepOrExtendedProductCriterion.h000066400000000000000000000043311436062512100303000ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file HasTRepOrExtendedProductCriterion.h * * @author Michael Brickenstein * @date 2011-06-30 * * This file includes the definition of the class @c HasTRepOrExtendedProductCriterion. * * @par Copyright: * (c) 2006-2010 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_HasTRepOrExtendedProductCriterion_h_ #define polybori_groebner_HasTRepOrExtendedProductCriterion_h_ // include basic definitions #include "groebner_defs.h" #include "GroebnerStrategy.h" BEGIN_NAMESPACE_PBORIGB inline bool extended_product_criterion(const PolyEntry& m, const PolyEntry& m2){ //BooleMonomial m; ///@todo need GCDdeg bool res=(m.lead.GCD(m2.lead).deg()==common_literal_factors_deg(m.literal_factors, m2.literal_factors)); //if (res) // cout<<"EXTENDED PRODUCT_CRIT"; return res; } /** @class HasTRepOrExtendedProductCriterion * @brief This class defines HasTRepOrExtendedProductCriterion. * **/ class HasTRepOrExtendedProductCriterion{ public: GroebnerStrategy* strat; int j; HasTRepOrExtendedProductCriterion(GroebnerStrategy& strat, int j){ this->strat=&strat; this->j=j; } bool operator() (const Monomial &m){ int i = strat->generators.index(m); if (strat->pairs.status.hasTRep(i,j)) return true; if (extended_product_criterion(const_cast(strat)->generators[i],const_cast(strat)->generators[j])){ strat->pairs.status.setToHasTRep(i,j); strat->extendedProductCriterions++; return true; } return false; } bool operator() (const Exponent &m){ int i; i=strat->generators.index(m); if (strat->pairs.status.hasTRep(i,j)) return true; if (extended_product_criterion(const_cast(strat)->generators[i],const_cast(strat)->generators[j])){ strat->pairs.status.setToHasTRep(i,j); strat->extendedProductCriterions++; return true; } return false; } }; END_NAMESPACE_PBORIGB #endif /* polybori_HasTRepOrExtendedProductCriterion_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/IJPairData.h000066400000000000000000000016121436062512100234770ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file IJPairData.h * * @author Michael Brickenstein * @date 2011-06-30 * * This file includes the definition of the class @c IJPairData. * * @par Copyright: * (c) 2006-2010 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_IJPairData_h_ #define polybori_groebner_IJPairData_h_ // include basic definitions #include "groebner_defs.h" BEGIN_NAMESPACE_PBORIGB /** @class IJPairData * @brief This class defines IJPairData. * **/ class IJPairData: public PairData{ public: int i; int j; Polynomial extract(const PolyEntryVector& v) const { return spoly(v[i].p,v[j].p); } IJPairData(int i, int j){ this->i=i; this->j=j; } }; END_NAMESPACE_PBORIGB #endif /* polybori_IJPairData_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/IsEcart0Predicate.h000066400000000000000000000017521436062512100250270ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file IsEcart0Predicate.h * * @author Michael Brickenstein * @date 2011-06-30 * * This file includes the definition of the class @c IsEcart0Predicate. * * @par Copyright: * (c) 2006-2010 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_IsEcart0Predicate_h_ #define polybori_groebner_IsEcart0Predicate_h_ // include basic definitions #include "groebner_defs.h" #include "ReductionStrategy.h" BEGIN_NAMESPACE_PBORIGB /** @class IsEcart0Predicate * @brief This class defines IsEcart0Predicate. * **/ class IsEcart0Predicate{ public: IsEcart0Predicate(const ReductionStrategy& strat){ this->strat=&strat; } bool operator() (const Exponent& e){ return (*strat)[e].ecart()==0; } private: const ReductionStrategy* strat; }; END_NAMESPACE_PBORIGB #endif /* polybori_IsEcart0Predicate_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/IsVariableOfIndex.h000066400000000000000000000021541436062512100250670ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file IsVariableOfIndex.h * * @author Michael Brickenstein (original) and Alexander Dreyer (refactored) * @date 2012-01-31 * * This file includes the definition of the class @c IsVariableOfIndex. * * @par Copyright: * (c) 2006-2012 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_IsVariableOfIndex_h_ #define polybori_groebner_IsVariableOfIndex_h_ // include basic definitions #include "groebner_defs.h" #include "PolyEntry.h" BEGIN_NAMESPACE_PBORIGB /** @class IsVariableOfIndex * * Check whether a @c PolyEntry is actually a variable of a given index. **/ class IsVariableOfIndex { public: IsVariableOfIndex(idx_type value): m_value(value) {} bool operator()(const PolyEntry& rhs) const { return (rhs.isSingleton() && rhs.usedVariables.deg() == 1) && (*(rhs.usedVariables.begin()) == m_value); } private: idx_type m_value; }; END_NAMESPACE_PBORIGB #endif /* polybori_groebner_IsVariableOfIndex_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/LLReduction.h000066400000000000000000000062021436062512100237530ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file LLReduction.h * * @author Michael Brickenstein * @date 2011-06-30 * * This file includes the definition of the class @c LLReduction. * * @par Copyright: * (c) 2006-2010 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_LLReduction_h_ #define polybori_groebner_LLReduction_h_ // include basic definitions #include "groebner_defs.h" BEGIN_NAMESPACE_PBORIGB /** @class LLReduction * @brief This class defines LLReduction. * **/ template class LLReduction { public: template LLReduction(const RingType& ring): cache_mgr(ring) {} Polynomial multiply(const Polynomial &p, const Polynomial& q){ typedef CommutativeCacheManager cache_mgr_type; return dd_multiply(cache_mgr_type(p.ring()), p.navigation(), q.navigation(), BoolePolynomial(p.ring())); } Polynomial operator()(const Polynomial& p, MonomialSet::navigator r_nav); protected: typedef PBORI::CacheManager cache_mgr_type; cache_mgr_type cache_mgr; }; template Polynomial LLReduction::operator() (const Polynomial& p, MonomialSet::navigator r_nav) { if PBORI_UNLIKELY(p.isConstant()) return p; MonomialSet::navigator p_nav=p.navigation(); idx_type p_index=*p_nav; while((*r_nav)p_index); res = MonomialSet( p_index, operator()(p_nav_then, r_nav).diagram(), operator()(p_nav_else, r_nav).diagram()); } cache_mgr.insert(p_nav, r_nav, res.navigation()); return res; } END_NAMESPACE_PBORIGB #endif /* polybori_LLReduction_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/LLReductor.h000066400000000000000000000042021436062512100236040ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file LLReductor.h * * @author Michael Brickenstein (original) and Alexander Dreyer (refactored) * @date 2012-01-31 * * This file includes the definition of the class @c LLReductor. * * @par Copyright: * (c) 2006-2012 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_LLReductor_h_ #define polybori_groebner_LLReductor_h_ #include "ll_red_nf.h" // include basic definitions #include "groebner_defs.h" BEGIN_NAMESPACE_PBORIGB // groebner_alg.h MonomialSet recursively_insert(MonomialSet::navigator p, idx_type idx, MonomialSet mset); /** @class LLReductor * @brief This class defines LLReductor. * **/ class LLReductor: public MonomialSet { typedef MonomialSet base; typedef LLReductor self; public: /// Construct reductor from Ring LLReductor(const BoolePolyRing& ring): base(ring.one()) {} /// Construct copy or MonomialSet template LLReductor(const Type& value): base(value) { PBORI_ASSERT(!isZero()); } /// Test whether polynomial is a compatible reductor element bool isCompatible(const PolyEntry& entry) { PBORI_ASSERT (!isZero()); return (entry.leadDeg == 1) && (*(entry.p.navigation()) == entry.lead.firstIndex() ) && (!expBegin()->reducibleBy(entry.lead.firstIndex())); } /// Insert polynomial if compatible, return updated polynomial Polynomial update(const PolyEntry& entry) { return (isCompatible(entry)? insert(entry): entry.p); } private: self& operator=(const self& rhs) { return static_cast(static_cast(*this) = rhs); } Polynomial insert(const PolyEntry& entry) { Polynomial poly = ll_red_nf(entry.p, *this); PBORI_ASSERT(poly.lead() == entry.lead); operator=(recursively_insert(poly.navigation().elseBranch(), entry.lead.firstIndex(), ll_red_nf(*this, poly.set()))); return poly; } }; END_NAMESPACE_PBORIGB #endif /* polybori_groebner_LLReductor_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/LMLessCompare.h000066400000000000000000000015201436062512100242330ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file LMLessCompare.h * * @author Michael Brickenstein * @date 2011-06-30 * * This file includes the definition of the class @c groebner_LMLessCompare. * * @par Copyright: * (c) by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_LMLessCompare_h_ #define polybori_groebner_LMLessCompare_h_ // include basic definitions #include "groebner_defs.h" BEGIN_NAMESPACE_PBORIGB /** @class LMLessCompare * @brief This class defines LMLessCompare. * **/ class LMLessCompare{ public: bool operator() (const Polynomial& p1, const Polynomial& p2){ return p1.lead() b.deg(); } bool operator() (const Exponent& a , const Exponent& b){ return a.deg()>b.deg(); } }; END_NAMESPACE_PBORIGB #endif /* polybori_LargerDegreeComparer_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/LeadingTerms.h000066400000000000000000000020021436062512100241370ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file LeadingTerms.h * * @author Michael Brickenstein (original) and Alexander Dreyer (refactored) * @date 2012-01-31 * * This file includes the definition of the class @c LeadingTerms. * * @par Copyright: * (c) 2006-2012 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_LeadingTerms_h_ #define polybori_groebner_LeadingTerms_h_ #include "TermsFacade.h" #include "PolyEntry.h" // include basic definitions #include "groebner_defs.h" BEGIN_NAMESPACE_PBORIGB /** @class LeadingTerms * @brief This class defines LeadingTerms. * **/ class LeadingTerms: public TermsFacade { public: template LeadingTerms(const Type& rhs): TermsFacade(rhs) {} bool isCompatible(const PolyEntry&) const { return true; } }; END_NAMESPACE_PBORIGB #endif /* polybori_groebner_LeadingTerms_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/LeadingTerms00.h000066400000000000000000000021131436062512100243020ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file LeadingTerms00.h * * @author Michael Brickenstein (original) and Alexander Dreyer (refactored) * @date 2012-01-31 * * This file includes the definition of the class @c LeadingTerms00. * * @par Copyright: * (c) 2006-2012 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_LeadingTerms00_h_ #define polybori_groebner_LeadingTerms00_h_ #include "PolyEntry.h" #include "TermsFacade.h" // include basic definitions #include "groebner_defs.h" BEGIN_NAMESPACE_PBORIGB /** @class LeadingTerms00 * @brief This class defines LeadingTerms00. * **/ class LeadingTerms00: public TermsFacade { public: template LeadingTerms00(const Type& rhs): TermsFacade(rhs) {} bool isCompatible(const PolyEntry& entry) const { return entry.literal_factors.is00Factorization(); } }; END_NAMESPACE_PBORIGB #endif /* polybori_groebner_LeadingTerms00_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/LeadingTerms11.h000066400000000000000000000021111436062512100243020ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file LeadingTerms11.h * * @author Michael Brickenstein (original) and Alexander Dreyer (refactored) * @date 2012-01-31 * * This file includes the definition of the class @c LeadingTerms11. * * @par Copyright: * (c) 2006-2012 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_LeadingTerms11_h_ #define polybori_groebner_LeadingTerms11_h_ #include "TermsFacade.h" #include "PolyEntry.h" // include basic definitions #include "groebner_defs.h" BEGIN_NAMESPACE_PBORIGB /** @class LeadingTerms11 * @brief This class defines LeadingTerms11. * **/ class LeadingTerms11: public TermsFacade { public: template LeadingTerms11(const Type& rhs): TermsFacade(rhs) {} bool isCompatible(const PolyEntry& entry) const { return entry.literal_factors.is11Factorization(); } }; END_NAMESPACE_PBORIGB #endif /* polybori_groebner_LeadingTerms11_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/LessCombinedManySizesInStrat.h000066400000000000000000000027031436062512100273100ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file LessCombinedManySizesInStrat.h * * @author Michael Brickenstein * @date 2011-06-29 * * This file includes the definition of the class @c LessCombinedManySizesInStrat. * * @par Copyright: * (c) 2006-2010 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_LessCombinedManySizesInStrat_h_ #define polybori_groebner_LessCombinedManySizesInStrat_h_ // include basic definitions #include "groebner_defs.h" BEGIN_NAMESPACE_PBORIGB /** @class LessCombinedManySizesInStrat * @brief This class defines LessCombinedManySizesInStrat. * **/ class LessCombinedManySizesInStrat{ public: const GroebnerStrategy* strat; LessCombinedManySizesInStrat(GroebnerStrategy& strat){ this->strat=&strat; } bool operator() (const Monomial& a , const Monomial& b) const { return operator()(strat->generators[a], strat->generators[b]); } private: bool operator() (const PolyEntry& entry1, const PolyEntry& entry2) const { deg_type d1 = entry1.tailVariables.deg(); deg_type d2 = entry2.tailVariables.deg(); wlen_type w1 = d1; wlen_type w2 = d2; w1 *= entry1.length; w1 *= entry1.ecart(); w2 *= entry2.length; w2 *= entry2.ecart(); return w1 < w2; } }; END_NAMESPACE_PBORIGB #endif /* polybori_LessCombinedManySizesInStrat_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/LessEcartThenLessWeightedLengthInStrat.h000066400000000000000000000030261436062512100312530ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file LessEcartThenLessWeightedLengthInStrat.h * * @author Michael Brickenstein * @date 2011-06-29 * * This file includes the definition of the class @c LessEcartThenLessWeightedLengthInStrat. * * @par Copyright: * (c) 2006-2010 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_LessEcartThenLessWeightedLengthInStrat_h_ #define polybori_groebner_LessEcartThenLessWeightedLengthInStrat_h_ // include basic definitions #include "groebner_defs.h" BEGIN_NAMESPACE_PBORIGB /** @class LessEcartThenLessWeightedLengthInStrat * @brief This class defines LessEcartThenLessWeightedLengthInStrat. * **/ class LessEcartThenLessWeightedLengthInStrat{ public: const GroebnerStrategy* strat; LessEcartThenLessWeightedLengthInStrat(const GroebnerStrategy& strat){ this->strat=&strat; } bool operator() (const Monomial& a , const Monomial& b){ return compare(strat->generators[a], strat->generators[b]); } bool operator() (const Exponent& a , const Exponent& b){ return compare(strat->generators[a], strat->generators[b]); } private: bool compare(const PolyEntry& val1, const PolyEntry& val2) const { if (val1.ecart() != val2.ecart()) return (val1.ecart() < val2.ecart()); return (val1.weightedLength < val2.weightedLength); } }; END_NAMESPACE_PBORIGB #endif /* polybori_LessEcartThenLessWeightedLengthInStrat_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/LessUsedTailVariablesThenLessWeightedLengthInStrat.h000066400000000000000000000031141436062512100335560ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file LessUsedTailVariablesThenLessWeightedLengthInStrat.h * * @author Michael Brickenstein * @date 2011-06-29 * * This file includes the definition of the class @c LessUsedTailVariablesThenLessWeightedLengthInStrat. * * @par Copyright: * (c) 2006-2010 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_LessUsedTailVariablesThenLessWeightedLengthInStrat_h_ #define polybori_groebner_LessUsedTailVariablesThenLessWeightedLengthInStrat_h_ // include basic definitions #include "groebner_defs.h" BEGIN_NAMESPACE_PBORIGB /** @class LessUsedTailVariablesThenLessWeightedLengthInStrat * @brief This class defines LessUsedTailVariablesThenLessWeightedLengthInStrat. * **/ class LessUsedTailVariablesThenLessWeightedLengthInStrat{ public: const GroebnerStrategy* strat; LessUsedTailVariablesThenLessWeightedLengthInStrat(const GroebnerStrategy& strat){ this->strat=&strat; } bool operator() (const Monomial& a, const Monomial& b) const{ return operator()(strat->generators[a], strat->generators[b]); } private: bool operator() (const PolyEntry& entry1, const PolyEntry& entry2) const { deg_type d1 = entry1.tailVariables.deg(); deg_type d2 = entry2.tailVariables.deg(); if (d1 != d2) return (d1 < d2); return (entry1.weightedLength < entry2.weightedLength); } }; END_NAMESPACE_PBORIGB #endif /* polybori_LessUsedTailVariablesThenLessWeightedLengthInStrat_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/LessWeightedLengthInStrat.h000066400000000000000000000023531436062512100266300ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file LessWeightedLengthInStrat.h * * @author Michael Brickenstein * @date 2011-06-29 * * This file includes the definition of the class @c LessWeightedLengthInStrat. * * @par Copyright: * (c) 2006-2010 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_LessWeightedLengthInStrat_h_ #define polybori_groebner_LessWeightedLengthInStrat_h_ // include basic definitions #include "ReductionStrategy.h" #include "groebner_defs.h" BEGIN_NAMESPACE_PBORIGB /** @class LessWeightedLengthInStrat * @brief This class defines LessWeightedLengthInStrat. * **/ class LessWeightedLengthInStrat{ public: const ReductionStrategy* strat; LessWeightedLengthInStrat(const ReductionStrategy& strat){ this->strat=&strat; } bool operator() (const Monomial& a , const Monomial& b){ return (*strat)[a].weightedLength<(*strat)[b].weightedLength; } bool operator() (const Exponent& a , const Exponent& b){ return (*strat)[a].weightedLength<(*strat)[b].weightedLength; } }; END_NAMESPACE_PBORIGB #endif /* polybori_LessWeightedLengthInStrat_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/LessWeightedLengthInStratModified.h000066400000000000000000000033451436062512100302730ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file LessWeightedLengthInStratModified.h * * @author Michael Brickenstein * @date 2011-06-29 * * This file includes the definition of the class @c LessWeightedLengthInStratModified. * * @par Copyright: * (c) 2006-2010 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_LessWeightedLengthInStratModified_h_ #define polybori_groebner_LessWeightedLengthInStratModified_h_ // include basic definitions #include "groebner_defs.h" BEGIN_NAMESPACE_PBORIGB inline wlen_type wlen_literal_exceptioned(const PolyEntry& e){ wlen_type res=e.weightedLength; if ((e.deg==1) && (e.length<=4)){ //if (e.length==1) return -1; //if (e.p.hasConstantPart()) return 0; return res-1; } return res; } /** @class LessWeightedLengthInStratModified * @brief This class defines LessWeightedLengthInStratModified. * **/ ///@todo: in many cases, indices should be precalculated class LessWeightedLengthInStratModified{ public: const ReductionStrategy* strat; LessWeightedLengthInStratModified(const ReductionStrategy& strat){ this->strat=&strat; } bool operator() (const Monomial& a , const Monomial& b){ wlen_type wa=wlen_literal_exceptioned((*strat)[a]); wlen_type wb=wlen_literal_exceptioned((*strat)[b]); return wa #include "groebner_defs.h" #include "LiteralFactorization.h" #include #include #include #include #include #include #ifndef PB_LEXBUCKETS_H #define PB_LEXBUCKETS_H BEGIN_NAMESPACE_PBORIGB Polynomial without_prior_part(Polynomial p, idx_type tail_start); class LexBucket{ //typedef CTypes::idx_type idx_type; public: static const int var_group_size=1; BoolePolyRing ring; LexBucket(const BoolePolyRing& input_ring): ring(input_ring), front(input_ring) { ones=false; updateTailStart(); } LexBucket& operator+=(const Polynomial& p); LexBucket(const Polynomial& p): ring(p.ring()), front(p) { ones=false; if (!(p.isConstant())){ updateTailStart(); Polynomial back=without_prior_part(p, tail_start); if (!(back.isZero())){ if (back.isOne()){ ones=(!(ones)); } else{ buckets.push_back(back); } } front-=back; } else { updateTailStart(); front=0; if (p.isOne()) ones=true; } } void clearFront(){ front=0; while((front.isZero())&& (buckets.size()>0)){ increaseTailStart(tail_start+var_group_size); } } Exponent leadExp(); bool isZero(); //we assume that p has smaller/equal terms than the bucket, or the bucket is zero void updateTailStart(); idx_type getTailStart(); void increaseTailStart(idx_type new_start); Polynomial value(); Polynomial getFront(){ return front; } bool isOne(){ usualAssertions(); if ((front.isZero()) && (ones) && (buckets.size()==0)) return true; else return false; } private: void usualAssertions(){ PBORI_ASSERT((buckets.size()==0)||(!(front.isZero()))); } std::vector buckets; Polynomial front; idx_type tail_start; bool ones; }; END_NAMESPACE_PBORIGB #endif BRiAl-1.2.12/groebner/include/polybori/groebner/LexHelper.h000066400000000000000000000044761436062512100234720ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file LexHelper.h * * @author Michael Brickenstein * @date 2011-06-30 * * This file includes the definition of the class @c LexHelper. * * @par Copyright: * (c) 2006-2010 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_LexHelper_h_ #define polybori_groebner_LexHelper_h_ // include basic definitions #include "groebner_defs.h" #include "IsEcart0Predicate.h" #include "ReductionStrategy.h" #include "nf.h" BEGIN_NAMESPACE_PBORIGB /** @class LexHelper * @brief This class defines LexHelper. * **/ class LexHelper{ public: static bool irreducible_lead(const Monomial& m, const ReductionStrategy& strat){ if (strat.optRedTailDegGrowth) return PBORINAME::groebner::irreducible_lead(m,strat); else{ BooleSet ms=strat.leadingTerms.intersect(m.divisors()); if (ms.isZero()) return true; else { return std::find_if(ms.expBegin(),ms.expEnd(),IsEcart0Predicate(strat))==ms.expEnd(); } } } static Polynomial::const_iterator begin(const Polynomial & p){ return p.begin(); } static Polynomial::const_iterator end(const Polynomial & p){ return p.end(); } static Polynomial nf(const ReductionStrategy& strat, const Polynomial& p, const Monomial& m){ //return nf3_lexbuckets(strat,p,m); if (strat.optRedTailDegGrowth) return nf3(strat,p,m); else return nf3_no_deg_growth(strat,p,m); } typedef Polynomial::const_iterator iterator_type; const static bool isDegreeOrder=false; const static bool isLexicographicalOrder=true; static bool knowRestIsIrreducible(const iterator_type& it, const ReductionStrategy & strat){ if ( (it.deg()>0) && (it.firstIndex()>strat.reducibleUntil)) return true; else return false; } static Polynomial sum_range(std::vector& vec,const iterator_type& it, const iterator_type& end, Polynomial init){ if (vec.size()==1) return vec[0]; if (it!=end) return term_accumulate(it,end, init); else return init; } }; END_NAMESPACE_PBORIGB #endif /* polybori_LexHelper_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/LexOrderGreaterComparer.h000066400000000000000000000021111436062512100263110ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file LexOrderGreaterComparer.h * * @author Michael Brickenstein * @date 2011-06-30 * * This file includes the definition of the class @c LexOrderGreaterComparer. * * @par Copyright: * (c) 2006-2010 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_LexOrderGreaterComparer_h_ #define polybori_groebner_LexOrderGreaterComparer_h_ // include basic definitions #include "groebner_defs.h" BEGIN_NAMESPACE_PBORIGB /** @class LexOrderGreaterComparer * @brief This class defines LexOrderGreaterComparer. * **/ class LexOrderGreaterComparer{ LexOrder o; public: bool operator() (const Monomial& m1, const Monomial& m2){ return o.compare(m1,m2)==BoolePolyRing::greater_than; } bool operator() (const Exponent& m1, const Exponent& m2){ return o.compare(m1,m2)==BoolePolyRing::greater_than; } }; END_NAMESPACE_PBORIGB #endif /* polybori_LexOrderGreaterComparer_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/LiteralFactorization.h000066400000000000000000000026761436062512100257330ustar00rootroot00000000000000/* * LiteralFactorization.h * PolyBoRi * * Created by Michael Brickenstein on 29.05.06. * Copyright 2006 The PolyBoRi Team. See LICENSE file. * */ #include #include #include #include #include #include "groebner_defs.h" #ifndef PBORI_GB_LF_H #define PBORI_GB_LF_H BEGIN_NAMESPACE_PBORIGB std::vector easy_linear_factors(const Polynomial &p); class LiteralFactorizationIterator; // forward declaration class LiteralFactorization{ public: typedef LiteralFactorizationIterator const_iterator; LiteralFactorization(const Polynomial&); typedef std::map map_type; map_type factors; Polynomial rest; deg_type lmDeg; bool occursAsLeadOfFactor(idx_type v) const; bool trivial() const; bool is11Factorization() const; bool is00Factorization() const; //Theorem: f BoolePolynomial with factor (x+b), b in 0, 1 (considered in the usual Polynomial Ring) //then f/(x+b) does not involve the variable x //typedef std::pair var_pair_type; //typedef std::set two_var_factors; typedef std::map var2var_map_type; var2var_map_type var2var_map; const_iterator begin(); const_iterator end(); }; deg_type common_literal_factors_deg(const LiteralFactorization& a, const LiteralFactorization& b); Polynomial multiply_with_literal_factors(const LiteralFactorization& lf, Polynomial p); END_NAMESPACE_PBORIGB #endif BRiAl-1.2.12/groebner/include/polybori/groebner/LiteralFactorizationIterator.h000066400000000000000000000042001436062512100274260ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file LiteralFactorizationIterator.h * * @author Michael Brickenstein * @date 2011-06-30 * * This file includes the definition of the class @c groebner_LiteralFactorizationIterator. * * @par Copyright: * (c) by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_LiteralFactorizationIterator_h_ #define polybori_groebner_LiteralFactorizationIterator_h_ // include basic definitions #include "groebner_defs.h" #include "LiteralFactorization.h" #include #include #include #include #include BEGIN_NAMESPACE_PBORIGB /** @class LiteralFactorizationIterator * @brief This class defines LiteralFactorizationIterator. * **/ class LiteralFactorizationIterator{ typedef LiteralFactorizationIterator self; public: typedef LiteralFactorization fac_type; typedef fac_type::var2var_map_type var2var_map_type; typedef fac_type::map_type map_type; LiteralFactorizationIterator(LiteralFactorization* literal_factorization_, map_type::const_iterator var2const_iter_, var2var_map_type::const_iterator var2var_iter_ ): var2var_iter(var2var_iter_), var2const_iter(var2const_iter_), literal_factorization(literal_factorization_), m_ring(literal_factorization_->rest.ring()) { } self & operator++(); Polynomial operator*() const; bool operator==(const self& other){ return ((literal_factorization==other.literal_factorization) && (var2const_iter==other.var2const_iter) && (var2var_iter==other.var2var_iter) ); } bool operator!=(const self& other){ return !(*this==other); } private: var2var_map_type::const_iterator var2var_iter; map_type::const_iterator var2const_iter; const LiteralFactorization* literal_factorization; BoolePolyRing m_ring; }; END_NAMESPACE_PBORIGB #endif /* polybori_groebner_LiteralFactorizationIterator_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/Long64From32BitsPair.h000066400000000000000000000031421436062512100252670ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file Long64From32BitsPair.h * * @author Alexander Dreyer * @date 2012-02-23 * * This file includes the definition of the class @c Long64From32BitsPair. * * @par Copyright: * (c) 2012 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_Long64From32BitsPair_h_ #define polybori_groebner_Long64From32BitsPair_h_ // include basic definitions #include "groebner_defs.h" #include "PseudoLongLong.h" BEGIN_NAMESPACE_PBORIGB /** @class Long64From32BitsPairBase * @brief This class defines an auxiliary class for @c Long64From32BitsPair. * **/ template class Long64From32BitsPairBase; template class Long64From32BitsPairBase { public: static PseudoLongLong get() { return PseudoLongLong(); } }; template class Long64From32BitsPairBase { public: typedef unsigned long long_type; static long_type get() { return (High << sizeof(long_type)*4) + Low; } }; /** @class Long64From32BitsPair * @brief This class defines Long64From32BitsPair. * **/ template class Long64From32BitsPair: public Long64From32BitsPairBase { public: typedef unsigned long long_type; }; END_NAMESPACE_PBORIGB #endif /* polybori_groebner_Long64From32BitsPair_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/MatrixMonomialOrderTables.h000066400000000000000000000024201436062512100266540ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file MatrixMonomialOrderTables.h * * @author Michael Brickenstein * @date 2011-06-30 * * This file includes the definition of the class @c MatrixMonomialOrderTables. * * @par Copyright: * (c) 2006-2010 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_MatrixMonomialOrderTables_h_ #define polybori_groebner_MatrixMonomialOrderTables_h_ // include basic definitions #include "groebner_defs.h" #include BEGIN_NAMESPACE_PBORIGB /** @class MatrixMonomialOrderTables * @brief This class defines MatrixMonomialOrderTables. * **/ class MatrixMonomialOrderTables{ public: typedef Exponent::idx_map_type from_term_map_type; MatrixMonomialOrderTables(MonomialSet input_terms): terms(input_terms) { setup_order_tables(); } std::vector terms_as_exp; std::vector terms_as_exp_lex; std::vector ring_order2lex; std::vector lex_order2ring; from_term_map_type from_term_map; MonomialSet terms; private: void setup_order_tables(); }; END_NAMESPACE_PBORIGB #endif /* polybori_MatrixMonomialOrderTables_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/MinimalLeadingTerms.h000066400000000000000000000037731436062512100254660ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file MinimalLeadingTerms.h * * @author Michael Brickenstein (original) and Alexander Dreyer (refactored) * @date 2012-01-31 * * This file includes the definition of the class @c MinimalLeadingTerms. * * @par Copyright: * (c) 2006-2012 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_MinimalLeadingTerms_h_ #define polybori_groebner_MinimalLeadingTerms_h_ // include basic definitions #include "groebner_defs.h" BEGIN_NAMESPACE_PBORIGB /** @class MinimalLeadingTerms * @brief This class defines MinimalLeadingTerms. * **/ class MinimalLeadingTerms: public MonomialSet { typedef MonomialSet base; typedef MinimalLeadingTerms self; public: template MinimalLeadingTerms(const Type& value): base(value) { } /// Insert leading term and return monomials, that are not minimal (any more) MonomialSet update(const Monomial& lm) { MonomialSet divisors(divisorsOf(lm)); if(divisors.isZero()) return cleanup(lm); return (divisors == lm.set()? lm.ring().zero(): lm.set()); } private: self& operator=(const self& rhs) { return static_cast(static_cast(*this) = rhs); } MonomialSet cleanup(const Monomial& lm) { MonomialSet removed(multiplesOf(lm).diff(lm.set())); PBORI_ASSERT(removed.intersect(*this).intersect(lm.set()).isZero()); PBORI_ASSERT(assertion(lm, removed.expBegin(),removed.expEnd())); *this = diff(removed).unite(lm.set()); return removed; } bool assertion(const Monomial& lm, MonomialSet::exp_iterator start, MonomialSet::exp_iterator finish) const { while (start != finish) { if ( (*start) == lm.exp() || !start->reducibleBy(lm.exp()) ) return false; ++start; } return true; } }; END_NAMESPACE_PBORIGB #endif /* polybori_groebner_MinimalLeadingTerms_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/MonomialHasher.h000066400000000000000000000014661436062512100245040ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file MonomialHasher.h * * @author Michael Brickenstein * @date 2011-06-29 * * This file includes the definition of the class @c MonomialHasher. * * @par Copyright: * (c) 2006-2010 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_MonomialHasher_h_ #define polybori_groebner_MonomialHasher_h_ // include basic definitions #include "groebner_defs.h" BEGIN_NAMESPACE_PBORIGB /** @class MonomialHasher * @brief This class defines MonomialHasher. * **/ class MonomialHasher{ public: size_t operator() (const Monomial & m) const{ return m.hash(); } }; END_NAMESPACE_PBORIGB #endif /* polybori_MonomialHasher_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/MonomialPlusOneTerms.h000066400000000000000000000023211436062512100256610ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file MonomialPlusOneTerms.h * * @author Michael Brickenstein (original) and Alexander Dreyer (refactored) * @date 2012-01-31 * * This file includes the definition of the class @c MonomialPlusOneTerms. * * @par Copyright: * (c) 2006-2012 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_MonomialPlusOneTerms_h_ #define polybori_groebner_MonomialPlusOneTerms_h_ #include "TermsFacade.h" #include "PolyEntry.h" // include basic definitions #include "groebner_defs.h" BEGIN_NAMESPACE_PBORIGB /** @class MonomialPlusOneTerms * @brief This class defines MonomialPlusOneTerms. * **/ class MonomialPlusOneTerms: public TermsFacade { public: template MonomialPlusOneTerms(const Type& rhs): TermsFacade(rhs) {} bool isCompatible(const PolyEntry& entry) const { PBORI_ASSERT( (entry.length != 2) || entry.p.isPair()); return (entry.length == 2) && (entry.p.hasConstantPart()); } }; END_NAMESPACE_PBORIGB #endif /* polybori_groebner_MonomialPlusOneTerms_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/MonomialTerms.h000066400000000000000000000021261436062512100243560ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file MonomialTerms.h * * @author Michael Brickenstein (original) and Alexander Dreyer (refactored) * @date 2012-01-31 * * This file includes the definition of the class @c MonomialTerms. * * @par Copyright: * (c) 2006-2012 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_MonomialTerms_h_ #define polybori_groebner_MonomialTerms_h_ #include "TermsFacade.h" // include basic definitions #include "groebner_defs.h" BEGIN_NAMESPACE_PBORIGB /** @class MonomialTerms * @brief This class defines MonomialTerms. * **/ class MonomialTerms: public TermsFacade { public: template MonomialTerms(const Type& rhs): TermsFacade(rhs) {} bool isCompatible(const PolyEntry& entry) const { PBORI_ASSERT( (entry.length != 1) || (entry.p == entry.lead) ); return (entry.length == 1); } }; END_NAMESPACE_PBORIGB #endif /* polybori_groebner_MonomialTerms_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/NBitsUsed.h000066400000000000000000000016631436062512100234350ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file NBitsUsed.h * * @author Alexander Dreyer * @date 2012-02-28 * * This file includes the definition of the class @c NBitsUsed. * * @par Copyright: * (c) 2012 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_NBitsUsed_h_ #define polybori_groebner_NBitsUsed_h_ // include basic definitions #include "groebner_defs.h" BEGIN_NAMESPACE_PBORIGB /** @class NBitsUsed * @brief This class defines @c NBitsUsed whose value attribute computes the * actual number of used bits at compile time. * **/ template class NBitsUsed { public: enum { value = NBitsUsed<(NValue >> 1)>::value + 1}; }; template<> class NBitsUsed<0> { public: enum { value = 0}; }; END_NAMESPACE_PBORIGB #endif /* polybori_groebner_NBitsUsed_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/NextSpoly.h000066400000000000000000000057261436062512100235460ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file NextSpoly.h * * @author Michael Brickenstein (original) Alexander Dreyer (refactored) * @date 2012-02-08 * * This file includes the definition of the class @c NextSpoly. * * @par Copyright: * (c) 2006-2012 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_NextSpoly_h_ #define polybori_groebner_NextSpoly_h_ // include basic definitions #include "groebner_defs.h" #include "ReductionStrategy.h" BEGIN_NAMESPACE_PBORIGB /** @class NextSpoly * @brief This class computes the next spoly for a generator pair. * **/ class NextSpoly { public: NextSpoly(ReductionStrategy& gen, PairStatusSet& status): m_gen(gen), m_status(status) {} Polynomial operator()(const Pair& act_pair) { return compute(act_pair, act_pair.extract(m_gen)); } protected: Polynomial compute(const Pair& act_pair, const Polynomial& result) { if (act_pair.getType() == IJ_PAIR) return compute(act_pair.ijPair(), result); else if (act_pair.getType() == VARIABLE_PAIR) return compute(act_pair.variablePair(), result); return result; } Polynomial compute(const IJPairData& ij, const Polynomial& res) { int i = ij.i, j = ij.j; replacePair(i, j); m_status.setToHasTRep(ij.i, ij.j); if ((i != ij.i) || (ij.j != j)){ m_status.setToHasTRep(i,j); return spoly(m_gen[i].p, m_gen[j].p); } return res; } Polynomial compute(const VariablePairData& vp, const Polynomial& res) { m_gen(vp.i).vPairCalculated.insert(vp.v); return (!res.isZero() && (res.lead() == m_gen[vp.i].lead)? res + m_gen[vp.i].p: res); } void replacePair(int& first, int& second) { MonomialSet m = m_gen.leadingTerms.divisorsOf(m_gen[first].leadExp.LCM(m_gen[second].leadExp)); replacePair(m.expBegin(), m.expEnd(), first, second); } template void replacePair(Iterator start, Iterator finish, int& first, int& second) { std::pair original(first, second); while(start != finish) replaceGenerators(m_gen.index(*start++), original, first, second); } private: void replaceGenerators(int index, std::pair original, int& first, int& second) const { if ((index != original.first) && (index != original.second)) { replaceGenerator(index, original.first, first); replaceGenerator(index, original.second, second); } PBORI_ASSERT(first != second); } void replaceGenerator(int next, int original, int& current) const { if (m_status.hasTRep(next, original) && (m_gen[current].weightedLength > m_gen[next].weightedLength) && (m_gen[next].ecart() <= m_gen[original].ecart())) current = next; } ReductionStrategy& m_gen; PairStatusSet& m_status; }; END_NAMESPACE_PBORIGB #endif /* polybori_groebner_NextSpoly_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/PSCompareByEl.h000066400000000000000000000016651436062512100242040ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file PSCompareByEl.h * * @author Michael Brickenstein * @date 2011-06-30 * * This file includes the definition of the class @c PSCompareByEl. * * @par Copyright: * (c) 2006-2010 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_PSCompareByEl_h_ #define polybori_groebner_PSCompareByEl_h_ // include basic definitions #include "groebner_defs.h" BEGIN_NAMESPACE_PBORIGB /** @class PSCompareByEl * @brief This class defines PSCompareByEl. * **/ class PSCompareByEl{ public: bool operator() (const PolynomialSugar& p1, const PolynomialSugar& p2){ return ((p1.getSugar()extract(v); } PairE(int i, int j, const PolyEntryVector &v): type(IJ_PAIR), wlen(v[i].weightedLength+v[j].weightedLength-2), data(new IJPairData(i,j)), lm(v[i].leadExp+v[j].leadExp) { sugar=lm.deg()+std::max(v[i].ecart(),v[j].ecart()); } PairE(int i, idx_type v, const PolyEntryVector &gen,int type): wlen(gen[i].weightedLength+gen[i].length), sugar(gen[i].deg+1), data(new VariablePairData(i,v)), // sugar(gen[i].lmDeg+1),///@only do that because of bad criteria impl lm(gen[i].leadExp) { PBORI_ASSERT(type==VARIABLE_PAIR); this->type=type; if (gen[i].leadExp==gen[i].usedVariables) sugar=gen[i].deg; if (gen[i].tailVariables.deg()(data.get()); } const IJPairData& ijPair() const { PBORI_ASSERT(type == IJ_PAIR); return *static_cast(data.get()); } const VariablePairData& variablePair() const { return *static_cast(data.get()); } }; END_NAMESPACE_PBORIGB #endif /* polybori_PairE_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/PairECompare.h000066400000000000000000000022501436062512100240750ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file PairECompare.h * * @author Michael Brickenstein * @date 2011-06-30 * * This file includes the definition of the class @c PairECompare. * * @par Copyright: * (c) 2006-2010 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_PairECompare_h_ #define polybori_groebner_PairECompare_h_ // include basic definitions #include "groebner_defs.h" BEGIN_NAMESPACE_PBORIGB /** @class PairECompare * @brief This class defines PairECompare. * **/ class PairECompare: public CFactoryBase { public: PairECompare(const BoolePolyRing& ring): CFactoryBase(ring) {} ///replaces less template bool operator() (const PairE& l, const PairE& r){ if (l.sugar!=r.sugar) return l.sugar>r.sugar; //greater sugar, less importance if (l.wlen!=r.wlen) return l.wlen>r.wlen; if (l.lm!=r.lm) return parent().ordering().compare(l.lm, r.lm) == CTypes::greater_than; ///@todo lm comparison return false; } }; END_NAMESPACE_PBORIGB #endif /* polybori_PairECompare_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/PairLS.h000066400000000000000000000035671436062512100227340ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file PairLS.h * * @author Michael Brickenstein * @date 2011-06-30 * * This file includes the definition of the class @c PairLS. * * @par Copyright: * (c) 2006-2010 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_PairLS_h_ #define polybori_groebner_PairLS_h_ // include basic definitions #include "groebner_defs.h" #include BEGIN_NAMESPACE_PBORIGB typedef std::shared_ptr pair_data_ptr; enum { VARIABLE_PAIR, IJ_PAIR, DELAYED_PAIR }; /** @class PairLS * @brief This class defines PairLS. * **/ class PairLS{ private: int type; public: int getType() const{ return type; } wlen_type wlen; deg_type sugar; //three sorts of pairs //x*poly, poly, i,j pair_data_ptr data; Monomial lm; //must not be the real lm, can be lm of syzygy or something else Polynomial extract(const PolyEntryVector& v){ return data->extract(v); } PairLS(int i, int j, const PolyEntryVector &v): wlen(v[i].weightedLength+v[j].weightedLength-2), data(new IJPairData(i,j)), lm(v[i].lead*v[j].lead) { type=IJ_PAIR; sugar=lm.deg()+std::max(v[i].ecart(),v[j].ecart()); } PairLS(int i, idx_type v, const PolyEntryVector &gen,int type): // sugar(gen[i].lmDeg+1),///@only do that because of bad criteria impl wlen(gen[i].weightedLength+gen[i].length), sugar(gen[i].deg+1), data(new VariablePairData(i,v)), lm(gen[i].lead) { PBORI_ASSERT(type==VARIABLE_PAIR); this->type=type; } PairLS(const Polynomial& delayed): type(DELAYED_PAIR), wlen(delayed.eliminationLength()), sugar(delayed.deg()), data(new PolyPairData(delayed)), lm(delayed.lead()) { } }; END_NAMESPACE_PBORIGB #endif /* polybori_PairLS_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/PairLSCompare.h000066400000000000000000000020241436062512100242260ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file PairLSCompare.h * * @author Michael Brickenstein * @date 2011-06-30 * * This file includes the definition of the class @c PairLSCompare. * * @par Copyright: * (c) 2006-2010 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_PairLSCompare_h_ #define polybori_groebner_PairLSCompare_h_ // include basic definitions #include "groebner_defs.h" BEGIN_NAMESPACE_PBORIGB /** @class PairLSCompare * @brief This class defines PairLSCompare. * **/ class PairLSCompare{ public: ///replaces less template bool operator() (const PairLS& l, const PairLS& r){ if (l.sugar!=r.sugar) return l.sugar>r.sugar; //greater sugar, less importance if (l.wlen!=r.wlen) return l.wlen>r.wlen; if (l.lm!=r.lm) return l.lm>r.lm; ///@todo lm comparison return false; } }; END_NAMESPACE_PBORIGB #endif /* polybori_PairLSCompare_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/PairManager.h000066400000000000000000000047571436062512100237720ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file PairManager.h * * @author Michael Brickenstein * @date 2011-06-29 * * This file includes the definition of the class @c PairManager. * * @par Copyright: * (c) 2006-2010 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_PairManager_h_ #define polybori_groebner_PairManager_h_ #include "PairStatusSet.h" // include basic definitions #include "groebner_defs.h" #include "pairs.h" #include "PolyEntry.h" #include "NextSpoly.h" #include "CheckChainCriterion.h" #include #include BEGIN_NAMESPACE_PBORIGB /** @class PairManager * @brief This class defines PairManager. * **/ class PairManager { typedef PairManager self; public: typedef std::priority_queue, PairECompare> queue_type; PairManager(const BoolePolyRing& ring): queue(ring) { } void appendHiddenGenerators(std::vector& vec) { queue_type temp(queue); while(!temp.empty()){ appendTo(vec, temp.top()); temp.pop(); } } void introducePair(const Pair& pair, bool isHFE) { if (!skip(pair, isHFE)) queue.push(pair); }; Polynomial nextSpoly(ReductionStrategy& gen) { if (PBORI_UNLIKELY(pairSetEmpty())) return gen.leadingTerms.ring().zero(); return NextSpoly(gen, status)(popped()); } bool pairSetEmpty() const { return queue.empty(); } template void cleanTopByChainCriterion(StrategyType& strat) { CheckChainCriterion continuing(strat, status); while(!pairSetEmpty() && continuing(queue.top())) queue.pop(); } PairStatusSet status; queue_type queue; protected: /// @c top() and @c pop() at once Pair popped() { Pair result = queue.top(); queue.pop(); return result; } private: bool skip(const Pair& pair, bool isHFE) { return isHFE && (pair.getType() == IJ_PAIR) && (pair.sugar > 4); }; /// Append delayed pairs only void appendTo(std::vector& vec, const Pair& current) const { if (current.getType() == DELAYED_PAIR) appendTo(vec, current.delayedPair().p); } /// Append nonzero polynomials only void appendTo(std::vector& vec, const Polynomial& poly) const { if (!poly.isZero()) vec.push_back(poly); } }; END_NAMESPACE_PBORIGB #endif /* polybori_groebner_PairManager_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/PairManagerFacade.h000066400000000000000000000061011436062512100250370ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file PairManagerFacade.h * * @author Michael Brickenstein * @date 2011-06-29 * * This file includes the definition of the class @c PairManagerFacade which * deals as a facade for strategy classes like @c GroebnerStrategy . * * @par Copyright: * (c) 2006-2010 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_PairManagerFacade_h_ #define polybori_groebner_PairManagerFacade_h_ #include "PairStatusSet.h" // include basic definitions #include "groebner_defs.h" #include "PairManager.h" BEGIN_NAMESPACE_PBORIGB /** @class PairManagerWithStrategy * @brief This class extends @c PairManager with a reference to a strategy. * * It defines variants of @c PairManager::cleanTopByChainCriterion() and * @c PairManager::introducePair(pair) with explicit statement of the strategy. * * @note This is done better in @c PairManagerFacade without storing an * additional reference. For now - to keep the interface constant - we continue * to allow code like @c strat.pairs.cleanTopByChainCriterion() and * @c strat.pairs.introducePair(pair) . **/ template class PairManagerWithStrategy: public PairManager { public: PairManagerWithStrategy(const PairManager& mgr, StrategyType& strategy): PairManager(mgr), m_strategy(strategy) { } /// Unhiding the appreciated variant @c cleanTopByChainCriterion(strategy) using PairManager::cleanTopByChainCriterion; /// @note Deprecated, use @c PairManagerFacade::cleanTopByChainCriterion() instead void cleanTopByChainCriterion() { cleanTopByChainCriterion(m_strategy); } /// @note Deprecated, use @c PairManagerFacade::introducePair(pair) instead void introducePair(const Pair& pair) { introducePair(pair, isHFE()); }; /// Unhiding the appreciated variant @c introducePair(pair, isHFE) using PairManager::introducePair; protected: bool isHFE() const { return m_strategy.optHFE; } private: StrategyType& m_strategy; }; /** @class PairManagerFacade * @brief This class defines a facade for a given Strategy, which * * @note Use it as an inheritance base for - say - @c NewStrategy like: class NewStrategy: public PairManagerFacade { // definition of strategy }; **/ template class PairManagerFacade { typedef PairManagerFacade self; typedef StrategyType strategy_type; public: PairManagerFacade(const BoolePolyRing& ring): pairs(ring, get()) {} PairManagerFacade(const self& rhs): pairs(rhs.pairs, get()) { } void cleanTopByChainCriterion() { pairs.cleanTopByChainCriterion(get()); } void introducePair(const Pair& pair) { pairs.introducePairs(pair, isHFE()); } /// For compatibility reasons make this a public member PairManagerWithStrategy pairs; private: bool isHFE() const { return get().optHFE; } strategy_type& get() { return static_cast(*this); } }; END_NAMESPACE_PBORIGB #endif /* polybori_groebner_PairManagerFacade_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/PairStatusSet.h000066400000000000000000000035701436062512100243470ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file PairStatusSet.h * * @author Michael Brickenstein * @date 2011-06-29 * * This file includes the definition of the class @c PairStatusSet. * * @par Copyright: * (c) 2006-2010 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_PairStatusSet_h_ #define polybori_groebner_PairStatusSet_h_ // include basic definitions #include "groebner_defs.h" #include BEGIN_NAMESPACE_PBORIGB /** @class PairStatusSet * @brief This class defines PairStatusSet. * **/ class PairStatusSet{ public: typedef boost::dynamic_bitset<> bitvector_type; bool hasTRep(int ia, int ja) const { int i,j; i=std::min(ia,ja); j=std::max(ia,ja); return table[j][i]==HAS_T_REP; } void setToHasTRep(int ia, int ja){ int i,j; i=std::min(ia,ja); j=std::max(ia,ja); table[j][i]=HAS_T_REP; } template void setToHasTRep(Iterator start, Iterator finish, int ja){ for (; start != finish; ++start) setToHasTRep(*start, ja); } void setToUncalculated(int ia, int ja){ int i,j; i=std::min(ia,ja); j=std::max(ia,ja); table[j][i]=UNCALCULATED; } template void setToUncalculated(Iterator start, Iterator finish, int ja){ for (; start != finish; ++start) setToUncalculated(*start, ja); } int prolong(bool value=UNCALCULATED){ int s=table.size(); table.push_back(bitvector_type(s, value)); return s; } PairStatusSet(int size=0){ int s=0; for(s=0;s table; }; END_NAMESPACE_PBORIGB #endif /* polybori_PairStatusSet_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/PolyEntry.h000066400000000000000000000034361436062512100235420ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file PolyEntry.h * * @author Michael Brickenstein * @date 2011-06-30 * * This file includes the definition of the class @c PolyEntry. * * @par Copyright: * (c) 2006-2010 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_PolyEntry_h_ #define polybori_groebner_PolyEntry_h_ #include "LiteralFactorization.h" #include "PolyEntryBase.h" // include basic definitions #include "groebner_defs.h" BEGIN_NAMESPACE_PBORIGB /** @class PolyEntry * @brief This class defines PolyEntry. * **/ class PolyEntry: public PolyEntryBase { PolyEntry(); /* never use this one! */ typedef PolyEntry self; typedef PolyEntryBase base; public: PolyEntry(const Polynomial &p): base(p) {} bool operator==(const self& other) const { return p == other.p; } self& operator=(const self& rhs) { return static_cast(base::operator=(rhs)); } self& operator=(const Polynomial& rhs) { p = rhs; recomputeInformation(); return *this; } deg_type ecart() const{ return deg-leadDeg; } void recomputeInformation(); void markVariablePairsCalculated() { vPairCalculated.insert(leadExp.begin(), leadExp.end()); } bool propagatableBy(const PolyEntry& other) const { return minimal && (deg <= 2) && (length > 1) && (p != other.p) && tailVariables.reducibleBy(other.leadExp); } bool isSingleton() const { return length == 1; } }; inline bool should_propagate(const PolyEntry& e){ return ( (e.length == 1) && (e.deg > 0) && (e.deg < 4) ) || ( (e.length == 2) && (e.ecart() == 0) && (e.deg < 3) ); } END_NAMESPACE_PBORIGB #endif /* polybori_PolyEntry_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/PolyEntryBase.h000066400000000000000000000035571436062512100243410ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file PolyEntryBase.h * * @author Michael Brickenstein (original) and Alexander Dreyer (refactored) * @date 2012-01-31 * * This file includes the definition of the class @c PolyEntryBase. * * @par Copyright: * (c) 2006-2012 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_PolyEntryBase_h_ #define polybori_groebner_PolyEntryBase_h_ // include basic definitions #include "groebner_defs.h" BEGIN_NAMESPACE_PBORIGB /** @class PolyEntryBase * @brief This class defines the base of @c PolyEntry. * **/ class PolyEntryBase { public: PolyEntryBase(const Polynomial &poly): literal_factors(poly), p(poly), lead(poly.ring()), weightedLength(), length(poly.length()), deg(poly.deg()), // empty/zero default values to be filled below (TODO: use inheritance here) leadDeg(), leadExp(), gcdOfTerms(poly.ring()), usedVariables(poly.usedVariablesExp()), tailVariables(), tail(poly.ring()), minimal(true), vPairCalculated() { lead = p.boundedLead(deg); leadExp = lead.exp(); leadDeg = leadExp.deg(); if (leadDeg == deg) weightedLength = length; else weightedLength = poly.eliminationLengthWithDegBound(deg); tail = poly-lead; tailVariables = tail.usedVariablesExp(); } LiteralFactorization literal_factors; Polynomial p; Monomial lead; wlen_type weightedLength; len_type length; deg_type deg; deg_type leadDeg; Exponent leadExp; Monomial gcdOfTerms; Exponent usedVariables; Exponent tailVariables; Polynomial tail; bool minimal; ///set of variables with which pair was calculated std::set vPairCalculated; }; END_NAMESPACE_PBORIGB #endif /* polybori_groebner_PolyEntryBase_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/PolyEntryIndices.h000066400000000000000000000064571436062512100250470ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file PolyEntryIndices.h * * @author Michael Brickenstein (original) and Alexander Dreyer (refactored) * @date 2012-01-05 * * This file includes the definition of the class @c PolyEntryIndices. * * @par Copyright: * (c) 2006-2012 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_PolyEntryIndices_h_ #define polybori_groebner_PolyEntryIndices_h_ // include basic definitions #include "groebner_defs.h" #include "PolyEntry.h" BEGIN_NAMESPACE_PBORIGB typedef Monomial::idx_map_type lm2Index_map_type; typedef Exponent::idx_map_type exp2Index_map_type; /** @class PolyEntryIndices * @brief This class defines PolyEntryIndices. * **/ class PolyEntryIndices { class check {}; class uncheck {}; public: typedef Monomial::idx_map_type lm2Index_map_type; typedef Exponent::idx_map_type exp2Index_map_type; typedef lm2Index_map_type::value_type value_type; typedef value_type::second_type data_type; PolyEntryIndices(): lm2Index(), exp2Index() {} /// Consistently inserting element @todo for some reason not inlinable void insert(const PolyEntry& entry, const data_type& rhs) { exp2Index[entry.leadExp] = rhs; lm2Index[entry.lead] = rhs; } /// Consistently replacing keys void update(const Monomial& key, const PolyEntry& entry) { if PBORI_UNLIKELY(entry.lead != key) { lm2Index_map_type::iterator lm_pos = lm2Index.find(key); PBORI_ASSERT(lm_pos != lm2Index.end()); lm2Index[entry.lead] = lm_pos->second; exp2Index[entry.leadExp] = lm_pos->second; lm2Index.erase(lm_pos); exp2Index.erase(exp2Index.find(key.exp())); } } /// Lookup indices @note could fail for invalid keys template data_type operator()(const KeyType& key) const { return get(key, uncheck()); } /// Savely looking up indices, returns -1 if key is invalid template data_type checked(const KeyType& key) const { return get(key, check()); } protected: template data_type get(data_type key, CheckType) const { return key; } template data_type get(const Exponent& key, CheckType dummy) const { return get(exp2Index, key, dummy); } template data_type get(const Monomial& key, CheckType dummy) const { return get(lm2Index, key, dummy); } template data_type get(const PolyEntry& key, CheckType dummy) const { return get(lm2Index, key.lead, dummy); } template data_type get(const MapType& map, const KeyType& key, check) const { typename MapType::const_iterator result(map.find(key)); if (result == map.end()) return (data_type)-1; PBORI_ASSERT(result->second != data_type(-1)); return result->second; } template data_type get(const MapType& map, const KeyType& key, uncheck) const { typename MapType::const_iterator result(map.find(key)); PBORI_ASSERT(result != map.end()); return result->second; } private: lm2Index_map_type lm2Index; exp2Index_map_type exp2Index; }; END_NAMESPACE_PBORIGB #endif /* polybori_groebner_PolyEntryIndices_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/PolyEntryPtrLmLess.h000066400000000000000000000017451436062512100253510ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file PolyEntryPtrLmLess.h * * @author Michael Brickenstein (original) and Alexander Dreyer (refactored) * @date 2012-01-31 * * This file includes the definition of the class @c PolyEntryPtrLmLess. * * @par Copyright: * (c) 2006-2012 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_PolyEntryPtrLmLess_h_ #define polybori_groebner_PolyEntryPtrLmLess_h_ // include basic definitions #include "groebner_defs.h" #include "PolyEntry.h" BEGIN_NAMESPACE_PBORIGB /** @class PolyEntryPtrLmLess * @brief This class compares pointers to PolyEntry by their leading monomials. * **/ class PolyEntryPtrLmLess { public: bool operator()(const PolyEntry* lhs, const PolyEntry* rhs) const { return lhs->lead < rhs->lead; } }; END_NAMESPACE_PBORIGB #endif /* polybori_groebner_PolyEntryPtrLmLess_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/PolyEntryReference.h000066400000000000000000000043401436062512100253540ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file PolyEntryReference.h * * @author Michael Brickenstein (original) and Alexander Dreyer (refactored) * @date 2012-01-04 * * This file includes the definition of the class @c PolyEntryReference. * * @par Copyright: * (c) by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_PolyEntryReference_h_ #define polybori_groebner_PolyEntryReference_h_ // include basic definitions #include "groebner_defs.h" #include #include "PolyEntryIndices.h" #include "PolyEntry.h" BEGIN_NAMESPACE_PBORIGB /** @class PolyEntryReference * @brief This class defines @c PolyEntryReference. * * It allows non-constant access to those attributes, that * could not cause inconsistencies, but only constant access to others **/ class PolyEntryReference { typedef PolyEntryReference self; public: typedef PolyEntryIndices vector_type; typedef PolyEntry value_type; /// Construct from plain non-constant reference PolyEntryReference(value_type &entry, vector_type& parent): vPairCalculated(entry.vPairCalculated), minimal(entry.minimal), m_entry(entry), m_parent(parent) { } /// Equality check bool operator==(const self& rhs) const { return m_entry == rhs; } /// @name The following data is accessible without yielding inconsistencies //@{ void markVariablePairsCalculated() { return m_entry.markVariablePairsCalculated(); } bool propagatableBy(const PolyEntry& other) const { return m_entry.propagatableBy(other); } std::set& vPairCalculated; bool& minimal; //@} /// Assignment also triggers changes in the parent template self& operator=(const Type& rhs) { Monomial lm(m_entry.lead); m_entry = rhs; m_parent.update(lm, m_entry); return *this; } /// Constant access const value_type& get() const { return const_cast(m_entry); } /// Conversion to constant reference operator const value_type&() const { return get(); } private: value_type& m_entry; vector_type& m_parent; }; END_NAMESPACE_PBORIGB #endif /* polybori_groebner_PolyEntryReference_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/PolyEntryVector.h000066400000000000000000000072101436062512100247170ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file PolyEntryVector.h * * @author Michael Brickenstein (original) and Alexander Dreyer (refactored) * @date 2012-01-04 * * This file includes the definition of the class @c PolyEntryVector. * * @par Copyright: * (c) 2006-2012 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_PolyEntryVector_h_ #define polybori_groebner_PolyEntryVector_h_ #include "PolyEntryReference.h" #include "PolyEntryIndices.h" #include "PolyEntry.h" // include basic definitions #include "groebner_defs.h" BEGIN_NAMESPACE_PBORIGB class PolyEntryVector { typedef std::vector data_type; public: /// Vector-style interface //@{ typedef data_type::value_type value_type; typedef data_type::size_type size_type; typedef data_type::const_iterator const_iterator; typedef data_type::const_reference const_reference; typedef PolyEntryReference reference; bool empty() const { return m_data.empty(); } size_type size() const { return m_data.size(); } const_iterator begin() const { return m_data.begin(); } const_iterator end() const { return m_data.end(); } const_reference front() const { return m_data.front(); } const_reference back() const { return m_data.back(); } /// Read-only access to element by index, leading term or monomial template const_reference operator[](const KeyType& rhs) const { return operator()(rhs); } //@} /// Alternative to @c front which allows partial (but consistent) access reference first() { return reference(m_data.front(), m_indices); } /// Constant variant, equivalent to @c front, for completeness reasons const_reference first() const { return front(); } /// Alternative to @c back() which allows partial (but consistent) access reference last() { return reference(m_data.back(), m_indices); } /// Constant variant, equivalent to @c back, for completeness reasons const_reference last() const { return back(); } /// Default constructor PolyEntryVector(): m_data(), m_indices() {} /// Just insert element virtual void append(const PolyEntry& element) { m_data.push_back(element); #ifndef PBORI_NDEBUG if(m_indices.checked(back().lead) != (size_type)-1) throw std::runtime_error("leading terms not unique when appending to PolyEntryVector"); #endif m_indices.insert(back(), size() - 1); } /// Read-only access to element by index, leading term or monomial template const_reference operator()(const KeyType& key) const { return m_data[index(key)]; } /// (Partially) write access to element by index, leading term or monomial template reference operator()(const KeyType& rhs) { return reference(m_data[index(rhs)], m_indices); } /// Exchange element given by @c key template void exchange(const KeyType& key, const Type& rhs) { operator()(key) = rhs; } /// Retrieve index associated to @c key template size_type index(const KeyType& key) const { return m_indices(key); } /// Retrieve index associated to @c key if @c key exists, -1 otherwise template size_type checked_index(const KeyType& key) const { return m_indices.checked(key); } /// Retrieve polynomial associated to @c key template const Polynomial& polynomial(const KeyType& key) const { return operator[](key).p; } private: data_type m_data; PolyEntryIndices m_indices; }; END_NAMESPACE_PBORIGB #endif /* polybori_groebner_PolyEntryVector_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/PolyFromPolyEntry.h000066400000000000000000000017511436062512100252300ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file PolyFromPolyEntry.h * * @author Michael Brickenstein (original) and Alexander Dreyer (refactored) * @date 2012-01-31 * * This file includes the definition of the class @c PolyFromPolyEntry. * * @par Copyright: * (c) 2006-2012 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_PolyFromPolyEntry_h_ #define polybori_groebner_PolyFromPolyEntry_h_ // include basic definitions #include "groebner_defs.h" #include "PolyEntry.h" #include BEGIN_NAMESPACE_PBORIGB /** @class PolyFromPolyEntry * @brief This class defines an operator which extracts the Polynomial from a PolyEntry * **/ class PolyFromPolyEntry { public: const Polynomial& operator()(const PolyEntry& entry) const { return entry.p; } }; END_NAMESPACE_PBORIGB #endif /* polybori_groebner_PolyFromPolyEntry_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/PolyMonomialPairComparerLess.h000066400000000000000000000020341436062512100273410ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file PolyMonomialPairComparerLess.h * * @author Michael Brickenstein * @date 2011-06-30 * * This file includes the definition of the class @c PolyMonomialPairComparerLess. * * @par Copyright: * (c) 2006-2010 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_PolyMonomialPairComparerLess_h_ #define polybori_groebner_PolyMonomialPairComparerLess_h_ // include basic definitions #include "groebner_defs.h" #include BEGIN_NAMESPACE_PBORIGB /** @class PolyMonomialPairComparerLess * @brief This class defines PolyMonomialPairComparerLess. * **/ class PolyMonomialPairComparerLess{ public: bool operator() (const std::pair& a, const std::pair& b){ return a.second < b.second; } }; END_NAMESPACE_PBORIGB #endif /* polybori_PolyMonomialPairComparerLess_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/PolyMonomialPairComparerLexLess.h000066400000000000000000000021551436062512100300160ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file PolyMonomialPairComparerLexLess.h * * @author Michael Brickenstein * @date 2011-06-30 * * This file includes the definition of the class @c PolyMonomialPairComparerLexLess. * * @par Copyright: * (c) 2006-2010 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_PolyMonomialPairComparerLexLess_h_ #define polybori_groebner_PolyMonomialPairComparerLexLess_h_ // include basic definitions #include "groebner_defs.h" #include BEGIN_NAMESPACE_PBORIGB /** @class PolyMonomialPairComparerLexLess * @brief This class defines PolyMonomialPairComparerLexLess. * **/ class PolyMonomialPairComparerLexLess{ public: LexOrder o; bool operator() (const std::pair& a, const std::pair& b){ return o.compare(a.second,b.second)==BoolePolyRing::less_than; } }; END_NAMESPACE_PBORIGB #endif /* polybori_PolyMonomialPairComparerLexLess_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/PolyPairData.h000066400000000000000000000016001436062512100241150ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file PolyPairData.h * * @author Michael Brickenstein * @date 2011-06-30 * * This file includes the definition of the class @c PolyPairData. * * @par Copyright: * (c) 2006-2010 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_PolyPairData_h_ #define polybori_groebner_PolyPairData_h_ // include basic definitions #include "groebner_defs.h" BEGIN_NAMESPACE_PBORIGB /** @class PolyPairData * @brief This class defines PolyPairData. * **/ class PolyPairData: public PairData{ public: Polynomial p; Polynomial extract(const PolyEntryVector& v) const { return p; } PolyPairData(const BoolePolynomial& poly): p(poly) { } }; END_NAMESPACE_PBORIGB #endif /* polybori_PolyPairData_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/PolynomialSugar.h000066400000000000000000000060601436062512100247160ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file PolynomialSugar.h * * @author Michael Brickenstein * @date 2011-06-30 * * This file includes the definition of the class @c PolynomialSugar. * * @par Copyright: * (c) 2006-2010 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_PolynomialSugar_h_ #define polybori_groebner_PolynomialSugar_h_ // include basic definitions #include "groebner_defs.h" BEGIN_NAMESPACE_PBORIGB /** @class PolynomialSugar * @brief This class defines PolynomialSugar. * **/ class PolynomialSugar{ public: PolynomialSugar(const Polynomial& poly): lm(poly.ring()), p(poly), exp(){ sugar=p.deg(); if (!(p.isZero())){ this->lm=p.boundedLead(sugar); this->exp=lm.exp(); PBORI_ASSERT(lm==p.lead()); PBORI_ASSERT(exp==p.leadExp()); } length=p.length(); } PolynomialSugar(const Polynomial& poly, int sugar, len_type length): lm(poly.ring()), p(poly), exp() { PBORI_ASSERT(length>=0); //sugar=p.deg(); this->sugar=sugar; this->length=length; PBORI_ASSERT(sugar>=p.deg()); PBORI_ASSERT(length>=p.length()); if (!(p.isZero())){ this->lm=p.boundedLead(sugar); this->exp=lm.exp(); PBORI_ASSERT(lm==p.lead()); PBORI_ASSERT(exp==p.leadExp()); } } const BooleMonomial& lead() const{ return this->lm; } const Exponent& leadExp() const{ return this->exp; } deg_type getSugar() const{ return sugar; } wlen_type getLengthEstimation() const { return length; } bool isZero() const{ return p.isZero(); } void add(const Polynomial p2, deg_type sugar2, wlen_type length){ PBORI_ASSERT(p2.leadExp()==exp); PBORI_ASSERT(length>=0); PBORI_ASSERT(length>=p2.length()); this->p=p+p2; this->sugar=std::max(sugar2,this->sugar); if (!(p.isZero())){ this->lm=this->p.boundedLead(sugar); this->exp=this->lm.exp(); } else { lm=Monomial(p2.ring()); exp=Exponent(); } this->length+=length; this->length-=2; if (p2.ring().ordering().isTotalDegreeOrder()) this->sugar=this->lm.deg(); PBORI_ASSERT((p.isZero())|| (lm==p.lead())); PBORI_ASSERT((p.isZero())||(exp==p.leadExp())); } void adjustSugar(){ sugar=p.deg(); } bool isOne(){ return p.isOne(); } Polynomial value() const{ return p; } wlen_type eliminationLength() const{ ///@todo optimize that using length optimization wlen_type res=1; if (isZero()) return 0; res=res+(sugar-exp.deg()+1)*(length-1); PBORI_ASSERT(res>=p.eliminationLengthWithDegBound(sugar)); return res; //return p.eliminationLengthWithDegBound(sugar); } void adjustLm(){ this->lm=this->p.lead(); exp=lm.exp(); PBORI_ASSERT(lm==p.lead()); PBORI_ASSERT(exp==p.leadExp()); } protected: Monomial lm; len_type length; deg_type sugar; Polynomial p; Exponent exp; }; END_NAMESPACE_PBORIGB #endif /* polybori_PolynomialSugar_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/PseudoLongLong.h000066400000000000000000000015501436062512100244670ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file PseudoLongLong.h * * @author Alexander Dreyer * @date 2012-02-23 * * This file includes the definition of the class @c PseudoLongLong. * * @par Copyright: * (c) 2012 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_PseudoLongLong_h_ #define polybori_groebner_PseudoLongLong_h_ // include basic definitions #include "groebner_defs.h" BEGIN_NAMESPACE_PBORIGB /** @class PseudoLongLong * @brief This class defines PseudoLongLong. * **/ template class PseudoLongLong { public: typedef unsigned long long_type; enum { first = High, second = Low}; }; END_NAMESPACE_PBORIGB #endif /* polybori_groebner_PseudoLongLong_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/PseudoLongProduct.h000066400000000000000000000037561436062512100252220ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file PseudoLongProduct.h * * @author Alexander Dreyer * @date 2012-02-23 * * This file includes the definition of the class @c PseudoLongProduct. * * @par Copyright: * (c) by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_PseudoLongProduct_h_ #define polybori_groebner_PseudoLongProduct_h_ // include basic definitions #include "groebner_defs.h" #include "PseudoLongLong.h" #include "BitMask.h" BEGIN_NAMESPACE_PBORIGB /** @class PseudoLongProduct * @brief This class defines a delayed product of longs and comparison with * @c LongLong Constant. * **/ class PseudoLongProduct: protected BitMask { public: typedef unsigned long long_type; PseudoLongProduct(const long_type& first, const long_type& second): most(high(first)*high(second)), least(low(first)*low(second)) { long_type mixed = high(least) + high(first)*low(second); most += high(mixed); mixed = low(mixed) + low(first)*high(second); most += high(mixed); least = shift(mixed) + low(least); } /// compare carry-over savely bool greater(long_type rhs) const { return (most > 0) || (least > rhs); } /// compare carry-over savely with represented by two unsigned longs template bool greater(const PseudoLongLong<0, MaxLow>&) const { return greater(MaxLow); } /// compare carry-over savely with represented by two unsigned longs template bool greater(const PseudoLongLong&) const { return (most > MaxHigh) || ( (most == MaxHigh) && (least > MaxLow) ); } private: long_type most, least; }; template inline bool operator> (PseudoLongProduct lhs, const RhsType& rhs) { return lhs.greater(rhs); } END_NAMESPACE_PBORIGB #endif /* polybori_groebner_PseudoLongProduct_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/RankingVector.h000066400000000000000000000023261436062512100243460ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file RankingVector.h * * @author Michael Brickenstein (original) and Alexander Dreyer (refactored) * @date 2012-01-31 * * This file includes the definition of the class @c RankingVector. * * @par Copyright: * (c) 2006-2012 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_RankingVector_h_ #define polybori_groebner_RankingVector_h_ // include basic definitions #include "groebner_defs.h" #include BEGIN_NAMESPACE_PBORIGB /** @class RankingVector * @brief This class defines RankingVector. * **/ class RankingVector: public std::vector { typedef std::vector base; public: RankingVector(size_type len): base(len, 0) {} void increment(size_type idx) { ++operator[](idx); } void rerank(const Exponent& exp) { if (exp.deg() >= 2) for_each(exp.begin(), exp.end(), *this, &RankingVector::increment); } value_type max_index() const { return (empty()? -1: std::max_element(begin(), end()) - begin()); } }; END_NAMESPACE_PBORIGB #endif /* polybori_groebner_RankingVector_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/RedTailNth.h000066400000000000000000000023301436062512100235630ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file RedTailNth.h * * @author Michael Brickenstein (original) and Alexander Dreyer (refactored) * @date 2012-01-31 * * This file includes the definition of the class @c RedTailNth. * * @par Copyright: * (c) 2006-2012 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_RedTailNth_h_ #define polybori_groebner_RedTailNth_h_ // include basic definitions #include "groebner_defs.h" #include "PolyEntry.h" #include "PolyEntryReference.h" #include "ReductionStrategy.h" BEGIN_NAMESPACE_PBORIGB /** @class RedTailNth * * This class applies tail reduction to the n-th element of a given * @c ReductionStrategy. * **/ class RedTailNth { public: RedTailNth(ReductionStrategy& strat): m_strat(strat) {} template const Polynomial& operator()(const KeyType& key) { return get(m_strat(key)).p; } private: const PolyEntry& get(PolyEntryReference entry) { return entry = red_tail(m_strat, entry.get().p); } ReductionStrategy& m_strat; }; END_NAMESPACE_PBORIGB #endif /* polybori_groebner_RedTailNth_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/ReductionOptions.h000066400000000000000000000021171436062512100251000ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file ReductionOptions.h * * @author Michael Brickenstein (original) and Alexander Dreyer (refactored) * @date 2012-01-05 * * This file includes the definition of the class @c ReductionOptions. * * @par Copyright: * (c) 2006-2012 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_ReductionOptions_h_ #define polybori_groebner_ReductionOptions_h_ // include basic definitions #include "groebner_defs.h" BEGIN_NAMESPACE_PBORIGB /** @class ReductionOptions * @brief This class defines option values for the ReductionStrategy. * **/ class ReductionOptions { public: ReductionOptions(): optBrutalReductions(true), optLL(false), optRedTailDegGrowth(true), optRedTail(true), reducibleUntil(-1) {} bool optBrutalReductions; bool optLL; bool optRedTailDegGrowth; bool optRedTail; idx_type reducibleUntil; }; END_NAMESPACE_PBORIGB #endif /* polybori_groebner_ReductionOptions_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/ReductionStrategy.h000066400000000000000000000057521436062512100252570ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file ReductionStrategy.h * * @author Michael Brickenstein * @date 2011-06-29 * * This file includes the definition of the class @c ReductionStrategy. * * @par Copyright: * (c) 2006-2010 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_ReductionStrategy_h_ #define polybori_groebner_ReductionStrategy_h_ // include basic definitions #include "groebner_defs.h" #include "polynomial_properties.h" #include "PolyEntryVector.h" #include "ReductionOptions.h" #include "ReductionTerms.h" #include "SetAssociatedMinimal.h" BEGIN_NAMESPACE_PBORIGB /** @class ReductionStrategy * @brief This class defines ReductionStrategy. * **/ class ReductionStrategy: public PolyEntryVector, public ReductionOptions, public ReductionTerms { typedef ReductionStrategy self; public: ReductionStrategy(const BoolePolyRing& ring): PolyEntryVector(), ReductionOptions(), ReductionTerms(ring) { } /// Adding next element void addGenerator(const PolyEntry& entry) { PolyEntryVector::append(entry); setupSetsForElement(back()); } /// Adding next generator /// @note overwriting virtual to avoid inconsistency when casting void append(const PolyEntry& entry) { addGenerator(entry); } Polynomial nf(const Polynomial& p) const { return (optRedTail? reducedNormalForm(p): headNormalForm(p)); } bool canRewrite(const Polynomial& p) const { return is_rewriteable(p, minimalLeadingTerms); } int select1(const Polynomial& p) const; int select1(const Monomial& m) const; int select_short(const Polynomial& p) const { return select_short_by_terms(p.leadDivisors()); } int select_short(const Monomial& m) const { return select_short_by_terms(m.divisors()); } Polynomial headNormalForm(const Polynomial& p) const; Polynomial reducedNormalForm(const Polynomial& p) const; void llReduceAll(); protected: void llReduce(const PolyEntry& entry, const Exponent& ll_e); int select_short_by_terms(const MonomialSet&) const; void unmarkNonMinimalLeadingTerms(MonomialSet removed) { std::for_each(removed.expBegin(), removed.expEnd(), SetAssociatedMinimal(*this)); } void setupSetsForElement(const PolyEntry& entry); template size_type minimum(Iterator start, Iterator finish, const CompareType& comp) const { start = std::min_element(start, finish, comp); if PBORI_UNLIKELY(start == finish) return size_type(-1); return index(*start); } }; inline bool irreducible_lead(Monomial lm, const ReductionStrategy& strat){ return (!(strat.minimalLeadingTerms.hasTermOfVariables(lm)));// // strat.generators.minimalLeadingTerms.intersect(lm.divisors()).isZero(); } END_NAMESPACE_PBORIGB #endif /* polybori_ReductionStrategy_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/ReductionTerms.h000066400000000000000000000046721436062512100245470ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file ReductionTerms.h * * @author Michael Brickenstein (original) and Alexander Dreyer (refactored) * @date 2012-01-05 * * This file includes the definition of the class @c ReductionTerms. * * @par Copyright: * (c) 2006-2012 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_ReductionTerms_h_ #define polybori_groebner_ReductionTerms_h_ #include "BoundedDivisorsOf.h" #include "RelatedTerms.h" #include "LLReductor.h" #include "MinimalLeadingTerms.h" #include "MonomialTerms.h" #include "LeadingTerms.h" #include "LeadingTerms00.h" #include "LeadingTerms11.h" #include "MonomialPlusOneTerms.h" #include // which // include basic definitions #include "groebner_defs.h" BEGIN_NAMESPACE_PBORIGB // nf MonomialSet mod_mon_set(const MonomialSet& as, const MonomialSet &vs); /** @class ReductionTerms * @brief This class defines term for @c ReductionStrategy * **/ class ReductionTerms { /// Type of *this typedef ReductionTerms self; public: LeadingTerms leadingTerms; MinimalLeadingTerms minimalLeadingTerms; LeadingTerms11 leadingTerms11; LeadingTerms00 leadingTerms00; LLReductor llReductor; MonomialTerms monomials; MonomialPlusOneTerms monomials_plus_one; /// Initialize term data for given ring ReductionTerms(const BoolePolyRing& ring): leadingTerms(ring), minimalLeadingTerms(ring), leadingTerms11(ring), leadingTerms00(ring), llReductor(ring), monomials(ring), monomials_plus_one(ring) { } /// Compute terms owning variables of current entry's leading term /// @note Side effect: adds additional data to @c treat_pairs RelatedTerms related(const PolyEntry& entry) const { MonomialSet empty(entry.p.ring()); bool is00 = entry.literal_factors.is00Factorization(); bool is11 = entry.literal_factors.is11Factorization(); if (!( (is00 && (leadingTerms == leadingTerms00)) || (is11 && (leadingTerms == leadingTerms11))) ){ PBORI_ASSERT (entry.p.isOne() || !is00 || !is11); return RelatedTerms(entry.lead, leadingTerms, which(is11, leadingTerms11, is00, leadingTerms00, empty)); } return RelatedTerms(entry.p.ring()); } }; END_NAMESPACE_PBORIGB #endif /* polybori_groebner_ReductionTerms_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/RelatedTerms.h000066400000000000000000000033261436062512100241660ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file RelatedTerms.h * * @author Michael Brickenstein (original) and Alexander Dreyer (refactored) * @date 2012-01-27 * * This file includes the definition of the class @c RelatedTerms. * * @par Copyright: * (c) 2006-2012 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_RelatedTerms_h_ #define polybori_groebner_RelatedTerms_h_ #include "RelatedTermsBase.h" #include // include basic definitions #include "groebner_defs.h" BEGIN_NAMESPACE_PBORIGB /** @class RelatedTerms * @brief This class finds those terms in a given set which are related to * given terms * * Get interesting terms (active ones owning some of @c lead's variables) **/ class RelatedTerms: protected RelatedTermsBase { typedef RelatedTermsBase base; public: typedef TransformedSequence divisors_sequence_type; /// Empty set of terms RelatedTerms(const BoolePolyRing& ring): base(ring) { } /// Constructor RelatedTerms(const Monomial& lead, const MonomialSet& monomials, const MonomialSet& ignorable): base(lead, monomials, ignorable, monomials.diff(ignorable)) { } /// Access actual monomial set const MonomialSet& terms() const { return related_terms(); } /// Get sequence of corresponding divisors (in the given monomial set) divisors_sequence_type divisors(const MonomialSet& monomials) const { return divisors_sequence_type(factors(monomials), divisors_of()); }; }; END_NAMESPACE_PBORIGB #endif /* polybori_groebner_RelatedTerms_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/RelatedTermsBase.h000066400000000000000000000060301436062512100247540ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file RelatedTermsBase.h * * @author Michael Brickenstein (original) and Alexander Dreyer (refactored) * @date 2012-01-27 * * This file includes the definition of the class @c RelatedTermsBase. * * @par Copyright: * (c) 2006-2012 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_RelatedTermsBase_h_ #define polybori_groebner_RelatedTermsBase_h_ #include "minimal_elements.h" #include #include "BoundedDivisorsOf.h" // include basic definitions #include "groebner_defs.h" BEGIN_NAMESPACE_PBORIGB /** @class RelatedTermsBase * @brief This class deals as a base of @c RelatedTerns. **/ class RelatedTermsBase { public: /// Empty set of terms RelatedTermsBase(const BoolePolyRing& ring): m_lead(ring), m_ignorable(ring), m_ext_prod_terms(ring), m_related(ring), m_divisors_of(ring, ring) { } /// Nontrivial constructor RelatedTermsBase(const Monomial& lead, const MonomialSet& terms, const MonomialSet& ignorable, const MonomialSet& significant): m_lead(lead), m_ignorable(ignorable), m_ext_prod_terms(lead.ring()), m_related(lead.ring()), m_divisors_of(lead, significant) { init(significant, unrelated_terms(significant)); } /// finally get the related terms const MonomialSet& related_terms() const { return m_related; } /// Get parameterized functional const BoundedDivisorsOf& divisors_of() const { return m_divisors_of; } /// Minimal related elements from @c terms, with @c lead's variables set to 1 MonomialSet factors(const MonomialSet& terms) const { return minimal_elements_divided(critical_terms_base(terms), m_lead, m_ext_prod_terms); } /// Related elements in @c terms modulo the ignorable elements MonomialSet critical_terms_base(const MonomialSet& terms) const { return mod_mon_set(m_related.intersect(terms), m_ignorable); } /// Extract terms not owning variables of current generator's leading term MonomialSet unrelated_terms(const MonomialSet& terms) const { return std::accumulate(m_lead.begin(), m_lead.end(), terms, member_function_operator(&MonomialSet::subset0) ); } private: /// Find related elements from significant, store them, return irrelevant ones void init(const MonomialSet& significant, const MonomialSet& unrelated) { PBORI_ASSERT(!m_ignorable.owns(m_lead) && !significant.ownsOne()); m_related = significant.diff(unrelated); m_ext_prod_terms = m_ignorable.existAbstract(m_lead).diff(unrelated); } Monomial m_lead; MonomialSet m_ignorable; MonomialSet m_ext_prod_terms; // Contains terms of @c m_ignorable related to // @c m_lead with its variables substituted by 1 MonomialSet m_related; BoundedDivisorsOf m_divisors_of; }; END_NAMESPACE_PBORIGB #endif /* polybori_groebner_RelatedTermsBase_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/SetAssociatedMinimal.h000066400000000000000000000022371436062512100256350ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file SetAssociatedMinimal.h * * @author Michael Brickenstein (original) and Alexander Dreyer (refactored) * @date 2012-01-31 * * This file includes the definition of the class @c SetAssociatedMinimal. * * @par Copyright: * (c) 2006-2012 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_SetAssociatedMinimal_h_ #define polybori_groebner_SetAssociatedMinimal_h_ // include basic definitions #include "groebner_defs.h" #include "PolyEntryVector.h" BEGIN_NAMESPACE_PBORIGB /** @class SetAssociatedMinimal * @brief This class set the attribute @c minimal of a given index to a * valued selected by the template parameter @c Value. * **/ template class SetAssociatedMinimal { public: SetAssociatedMinimal(PolyEntryVector& strat): m_strat(strat) {} void operator()(const KeyType& key) const { m_strat(key).minimal = Value; } private: PolyEntryVector& m_strat; }; END_NAMESPACE_PBORIGB #endif /* polybori_groebner_SetAssociatedMinimal_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/SetBitUInt.h000066400000000000000000000014601436062512100235620ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file SetBitUInt.h * * @author Michael Brickenstein * @date 2011-06-30 * * This file includes the definition of the class @c SetBitUInt. * * @par Copyright: * (c) 2006-2010 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_SetBitUInt_h_ #define polybori_groebner_SetBitUInt_h_ // include basic definitions #include "groebner_defs.h" BEGIN_NAMESPACE_PBORIGB /** @class SetBitUInt * @brief This class defines SetBitUInt. * **/ class SetBitUInt{ public: void operator() (unsigned int& vec, int index){ vec|=(1<el=el; this->strat=&strat; } bool operator() (const Exponent& e){ return (strat->generators[e].weightedLength<=el); } }; END_NAMESPACE_PBORIGB #endif /* polybori_ShorterEliminationLength_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/ShorterEliminationLengthModified.h000066400000000000000000000025161436062512100302150ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file ShorterEliminationLengthModified.h * * @author Michael Brickenstein * @date 2011-06-30 * * This file includes the definition of the class @c ShorterEliminationLengthModified. * * @par Copyright: * (c) 2006-2010 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_ShorterEliminationLengthModified_h_ #define polybori_groebner_ShorterEliminationLengthModified_h_ // include basic definitions #include "groebner_defs.h" #include "GroebnerStrategy.h" BEGIN_NAMESPACE_PBORIGB /** @class ShorterEliminationLengthModified * @brief This class defines ShorterEliminationLengthModified. * **/ class ShorterEliminationLengthModified{ public: const GroebnerStrategy* strat; wlen_type el; deg_type lm_deg; ShorterEliminationLengthModified(const GroebnerStrategy& strat,wlen_type el, deg_type lm_deg){ this->el=el; this->strat=&strat; this->lm_deg=lm_deg; } bool operator() (const Exponent& e){ PBORI_ASSERT(e.deg()<=lm_deg); const PolyEntry* p=&strat->generators[e]; return p->weightedLength<=el+(lm_deg-p->leadDeg)*p->length; } }; END_NAMESPACE_PBORIGB #endif /* polybori_ShorterEliminationLengthModified_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/SlimgbReduction.h000066400000000000000000000061021436062512100246600ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file SlimgbReduction.h * * @author Michael Brickenstein * @date 2011-06-30 * * This file includes the definition of the class @c groebner_SlimgbReduction. * * @par Copyright: * (c) by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_SlimgbReduction_h_ #define polybori_groebner_SlimgbReduction_h_ // include basic definitions #include "groebner_defs.h" #include #include #include "LMLessCompare.h" #include "GroebnerStrategy.h" BEGIN_NAMESPACE_PBORIGB /** @class SlimgbReduction * @brief This class defines SlimgbReduction. * **/ const int SLIMGB_SIMPLEST=0; template class SlimgbReduction{ private: const GroebnerStrategy* strat; std::priority_queue, LMLessCompare> to_reduce; public: std::vector result; SlimgbReduction(GroebnerStrategy& strat){ this->strat=&strat; } SlimgbReduction(){} void addPolynomial(const Polynomial& p); void reduce(); //return zero at the end Polynomial nextResult(); }; template inline void SlimgbReduction::addPolynomial(const Polynomial& p){ if (!(p.isZero())){ to_reduce.push(p); } } template inline Polynomial SlimgbReduction::nextResult(){ if (result.size()==0) throw std::runtime_error("Empty result in SlimgbReduction."); Polynomial res=result.back(); result.pop_back(); return res; } template <> inline void SlimgbReduction::reduce(){ while (!(to_reduce.empty())){ //cout<<"looping"< curr; curr.push_back(to_reduce.top()); to_reduce.pop(); //cout<generators.select1(lm); if (index>=0){ Polynomial p_high=(lm/strat->generators[index].lead)*strat->generators[index].p; int i,s; s=curr.size(); PBORI_ASSERT(p_high.lead()==lm); for(i=0;i0){ for(i=0;i class TermsFacade: public MonomialSet { typedef MonomialSet base; public: /// Construct copy or MonomialSet from value template TermsFacade(const Type& value): base(value) { } /// Insert data (polynomial or leading term) from entry void update(const PolyEntry& entry) { if (get().isCompatible(entry)) operator=(unite(entry.lead.set())); } private: TermsFacade& operator=(const TermsFacade& rhs) { return static_cast(static_cast(*this) = rhs); } /// Access complete type const NewType& get() const { return static_cast(*this); } }; END_NAMESPACE_PBORIGB #endif /* polybori_groebner_TermsFacade_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/TimesConstantImplication.h000066400000000000000000000021661436062512100265600ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file TimesConstantImplication.h * * @author Michael Brickenstein (original) and Alexander Dreyer (refactored) * @date 2012-01-31 * * This file includes the definition of the class @c TimesConstantImplication. * * @par Copyright: * (c) 2006-2012 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_TimesConstantImplication_h_ #define polybori_groebner_TimesConstantImplication_h_ // include basic definitions #include "groebner_defs.h" BEGIN_NAMESPACE_PBORIGB /** @class TimesConstantImplication * * This class the product of a polynomial with a simple polynomials given * as a pair of a variable and a Boolean constant value. * **/ class TimesConstantImplication { public: template Polynomial operator()(const Polynomial& lhs, const PairType& rhs) const { return lhs * (lhs.ring().variable(rhs.first) + bool(rhs.second) ); } }; END_NAMESPACE_PBORIGB #endif /* polybori_groebner_TimesConstantImplication_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/TimesVariableSubstitution.h000066400000000000000000000022271436062512100267560ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file TimesVariableSubstitution.h * * @author Michael Brickenstein (original) and Alexander Dreyer (refactored) * @date 2012-01-31 * * This file includes the definition of the class @c TimesVariableSubstitution. * * @par Copyright: * (c) 2006-2012 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_TimesVariableSubstitution_h_ #define polybori_groebner_TimesVariableSubstitution_h_ // include basic definitions #include "groebner_defs.h" BEGIN_NAMESPACE_PBORIGB /** @class TimesVariableSubstitution * * This class computes the product of a polynomial and the sum of a pair * of variables (namely a variable substitution). * **/ class TimesVariableSubstitution { public: template Polynomial operator()(const Polynomial& lhs, const PairType& rhs) const { return lhs * (lhs.ring().variable(rhs.first) + lhs.ring().variable(rhs.second)); } }; END_NAMESPACE_PBORIGB #endif /* polybori_groebner_TimesVariableSubstitution_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/VariablePairData.h000066400000000000000000000017471436062512100247330ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file VariablePairData.h * * @author Michael Brickenstein * @date 2011-06-30 * * This file includes the definition of the class @c VariablePairData. * * @par Copyright: * (c) 2006-2010 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_VariablePairData_h_ #define polybori_groebner_VariablePairData_h_ // include basic definitions #include "groebner_defs.h" BEGIN_NAMESPACE_PBORIGB /** @class VariablePairData * @brief This class defines VariablePairData. * **/ class VariablePairData: public PairData{ public: int i; idx_type v; Polynomial extract(const PolyEntryVector& gen) const { return Monomial(Variable(v, gen[i].p.ring()))*gen[i].p; } VariablePairData(int i, idx_type v){ this->v=v; this->i=i; } }; END_NAMESPACE_PBORIGB #endif /* polybori_VariablePairData_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/ZeroFunction.h000066400000000000000000000014651436062512100242220ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file ZeroFunction.h * * @author Michael Brickenstein * @date 2011-06-30 * * This file includes the definition of the class @c ZeroFunction. * * @par Copyright: * (c) 2006-2010 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_ZeroFunction_h_ #define polybori_groebner_ZeroFunction_h_ // include basic definitions #include "groebner_defs.h" BEGIN_NAMESPACE_PBORIGB /** @class ZeroFunction * @brief This class defines ZeroFunction. * **/ class ZeroFunction{ public: unsigned int operator() (unsigned int val){ return 0; } }; END_NAMESPACE_PBORIGB #endif /* polybori_ZeroFunction_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/add_up.h000066400000000000000000000176421436062512100230350ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file add_up.h * * @author Michael Brickenstein * @date 2011-07-01 * * This file includes the definition of specialized adding routines. * * @par Copyright: * (c) by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_add_up_h_ #define polybori_groebner_add_up_h_ // include basic definitions #include "groebner_defs.h" #include "LexOrderGreaterComparer.h" BEGIN_NAMESPACE_PBORIGB inline MonomialSet add_up_lex_sorted_monomials(const BoolePolyRing& ring, std::vector& vec, int start, int end){ PBORI_ASSERT(end<=vec.size()); PBORI_ASSERT(start>=0); int d=end-start; PBORI_ASSERT(d>=0); if (d<=2){ switch(d){ case 0:return MonomialSet(ring); case 1:return vec[start].diagram(); case 2: return (vec[start]+vec[start+1]).diagram(); } } //more than two monomial, lex sorted, so if first is constant, all are constant if (vec[start].isOne()) return Polynomial(end-start, vec[start].ring()).diagram(); PBORI_ASSERT (!(vec[start].isOne())); idx_type idx=*vec[start].begin(); int limes=end; vec[start].popFirst(); for(limes=start+1;limesidx)); break; } else vec[limes].popFirst(); //vec[limes].changeAssign(idx); } return MonomialSet(idx,add_up_lex_sorted_monomials(ring, vec,start,limes),add_up_lex_sorted_monomials(ring,vec,limes,end)); } inline MonomialSet add_up_lex_sorted_exponents(const BoolePolyRing& ring, std::vector& vec, int start, int end){ PBORI_ASSERT(end<=vec.size()); PBORI_ASSERT(start>=0); int d=end-start; PBORI_ASSERT(d>=0); if (d<=2){ switch(d){ case 0:return MonomialSet(ring); case 1:return Monomial(vec[start], ring).diagram(); case 2: Polynomial res=Monomial(vec[start], ring) + Monomial(vec[start+1],ring); return MonomialSet(res.diagram()); } } //more than two monomial, lex sorted, so if first is constant, all are constant if (vec[start].deg()==0) return Polynomial(end-start, ring).diagram(); PBORI_ASSERT (!(vec[start].deg()==0)); idx_type idx=*vec[start].begin(); int limes=end; vec[start].popFirst(); for(limes=start+1;limesidx)); break; } else vec[limes].popFirst(); //vec[limes].changeAssign(idx); } return MonomialSet(idx, add_up_lex_sorted_exponents(ring, vec,start,limes), add_up_lex_sorted_exponents(ring, vec,limes,end)); } /// @note This function is deactivated, because it always uses the active manager! /// @todo activate and make save, when used #if 0 inline MonomialSet add_up_lex_sorted_monomial_navs(const BoolePolyRing& ring, std::vector& vec, int start, int end){ PBORI_ASSERT(end<=vec.size()); PBORI_ASSERT(start>=0); int d=end-start; PBORI_ASSERT(d>=0); if (d<=2){ switch(d){ case 0:return MonomialSet(const BoolePolyRing& ring,); case 1:return MonomialSet(vec[start]); case 2: Polynomial res=Polynomial(vec[start])+Polynomial(vec[start+1]); return MonomialSet(res.diagram()); } } //more than two monomial, lex sorted, so if first is constant, all are constant if (vec[start].isConstant()) return Polynomial(end-start).diagram(); PBORI_ASSERT (!(vec[start].isConstant())); idx_type idx=*vec[start]; int limes=end; vec[start]++; for(limes=start+1;limesidx)); break; } else vec[limes]++; //vec[limes].changeAssign(idx); } return MonomialSet(idx,add_up_lex_sorted_monomial_navs(vec,start,limes),add_up_lex_sorted_monomial_navs(vec,limes,end)); } #endif inline Polynomial add_up_exponents(const std::vector& vec, const Polynomial& init){ //return add_up_generic(vec); std::vector vec_sorted=vec; std::sort(vec_sorted.begin(),vec_sorted.end(),LexOrderGreaterComparer()); return add_up_lex_sorted_exponents(init.ring(), vec_sorted,0,vec_sorted.size()); } inline Polynomial unite_polynomials(const std::vector& res_vec, int start, int end, Polynomial init){ //we assume the polynomials to be pairwise different int s=end-start; if PBORI_UNLIKELY(s==0) return init; if (s==1) return res_vec[start]; int h=s/2; return Polynomial(unite_polynomials(res_vec,start,start+h, init).diagram().unite(unite_polynomials(res_vec,start+h,end, init).diagram())); //return add_up_monomials(res_vec,start,start+h)+add_up_monomials(res_vec,start+h,end); } inline Polynomial unite_polynomials(const std::vector& res_vec, Polynomial init){ //we assume the polynomials to be pairwise different int s=res_vec.size(); if PBORI_UNLIKELY(s==0) return init; if (s==1) return res_vec[0]; int h=s/2; return Polynomial(unite_polynomials(res_vec,0,h, init).diagram().unite(unite_polynomials(res_vec,h,s,init).diagram())); } // inline Polynomial add_up_polynomials(const std::vector& res_vec, int // start, int end, Polynomial init){ // //we assume the polynomials to be pairwise different // int s=end-start; // if (s==0) return init; // if (s==1) return res_vec[start]; // int h=s/2; // return add_up_polynomials(res_vec,start,start+h, // init)+add_up_polynomials(res_vec,start+h,end, // init); // //return add_up_monomials(res_vec,start,start+h)+add_up_monomials(res_vec,start+h,end); // } // static Polynomial add_up_polynomials(const std::vector& res_vec, // Polynomial init){ // //we assume the polynomials to be pairwise different // int s=res_vec.size(); // if (s==0) return init; // if (s==1) return res_vec[0]; // int h=s/2; // // return add_up_polynomials(res_vec,0,h, init)+add_up_polynomials(res_vec,h,s,init); // } template inline Polynomial add_up_generic(const std::vector& res_vec, int start, int end, Polynomial init){ //we assume the polynomials to be pairwise different int s=end-start; if (s==0) return init; if (s==1) return Polynomial(res_vec[start]); int h=s/2; return add_up_generic(res_vec,start,start+h,init) + add_up_generic(res_vec,start+h,end, init); } template inline Polynomial add_up_generic(const std::vector& res_vec, Polynomial init){ //we assume the polynomials to be pairwise different int s=res_vec.size(); if (s==0) return init; if (s==1) return (Polynomial) res_vec[0]; int h=s/2; return add_up_generic(res_vec,0,h, init) + add_up_generic(res_vec,h,s, init); } inline Polynomial add_up_monomials(const std::vector& vec, const Polynomial& init){ return add_up_generic(vec, init); } inline Polynomial add_up_polynomials(const std::vector& vec, const Polynomial& init){ return add_up_generic(vec, init); } END_NAMESPACE_PBORIGB #endif /* polybori_groebner_add_up_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/cache_manager.h000066400000000000000000000060051436062512100243250ustar00rootroot00000000000000/* Copyright (c) 2005-2007 by The PolyBoRi Team */ #include #include #include #include #include #include "groebner_defs.h" #ifndef PBORI_GB_CACHE_H #define PBORI_GB_CACHE_H BEGIN_NAMESPACE_PBORIGB template void set_up_translation_vectors(std::vector& ring_2_0123, std::vector& back_2_ring, const Exponent& used_variables){ BooleExponent::const_iterator it=used_variables.begin(); BooleExponent::const_iterator end=used_variables.end(); idx_type1 idx_0123=0; while(it!=end){ ring_2_0123[*it]=idx_0123; back_2_ring[idx_0123]=*it; idx_0123++; it++; } } //template void set_up_translation_vectors(std::vector& ring_2_0123, std::vector& back_2_ring, const Exponent& used_variables); Polynomial translate_indices(const Polynomial& p, const std::vector& table); class CacheManager{ public: typedef Polynomial::poly_vec_map_type impl_type; typedef std::vector poly_vec_type; typedef std::shared_ptr res_type; typedef Polynomial::poly_vec_map_type::const_iterator impl_iterator_type; protected: impl_type impl; public: CacheManager(){ } res_type lookup(const Polynomial& p, bool& succ){ int nv=p.ring().nVariables(); BooleExponent used_exp=p.usedVariablesExp(); std::vector back_2_ring(used_exp.size()); std::vector ring_2_0123(nv); //PBORI_ASSERT(nv<255); set_up_translation_vectors(ring_2_0123,back_2_ring, used_exp); Polynomial p_t=translate_indices(p,ring_2_0123); impl_iterator_type it=impl.find(p_t); //cache_res_type res; if (it!=impl.end()){ succ=true; res_type res(new poly_vec_type(it->second)); for(poly_vec_type::size_type i=0;isize();i++){ (*res)[i]=translate_indices((*res)[i],back_2_ring); } return res; } else{ succ=false; return res_type(); } } void insert(const Polynomial& key, const poly_vec_type& value){ int nv=key.ring().nVariables(); BooleExponent used_exp=key.usedVariablesExp(); std::vector back_2_ring(used_exp.size()); std::vector ring_2_0123(nv); set_up_translation_vectors(ring_2_0123,back_2_ring, used_exp); Polynomial key_t=translate_indices(key,ring_2_0123); poly_vec_type value_t(value); for(poly_vec_type::size_type i=0;i cache_mgr_type; cache_mgr_type cache_mgr(m.ring()); while (!(nav.isConstant())){ MonomialSet::navigator cached = cache_mgr.find(nav); if (cached.isValid()) return cache_mgr.generate(cached); idx_type v=*nav; MonomialSet::navigator check_nav=nav.thenBranch(); while(!(check_nav.isConstant())){ check_nav.incrementElse(); } if (check_nav.isTerminated()){ idx_type result_index=v; MonomialSet result=MonomialSet(result_index,Polynomial(cache_mgr.one()).diagram(),contained_variables_cudd_style(cache_mgr.generate(nav.elseBranch()))); MonomialSet::navigator r_nav=result.navigation(); while(1){ MonomialSet::navigator last=orig; cache_mgr.insert(orig, r_nav); orig.incrementElse(); if(last==nav) break; } return result; } nav.incrementElse(); } return MonomialSet(cache_mgr.zero()); } inline MonomialSet contained_deg2_cudd_style(const MonomialSet& m){ MonomialSet::navigator nav=m.navigation(); typedef PBORI::CacheManager cache_mgr_type; cache_mgr_type cache_mgr(m.ring()); if (!(nav.isConstant())){ MonomialSet::navigator cached = cache_mgr.find(nav); if (cached.isValid()) return cache_mgr.generate(cached); MonomialSet::navigator then_branch=nav.thenBranch(); MonomialSet::navigator else_branch=nav.elseBranch(); MonomialSet then_res=contained_variables_cudd_style(cache_mgr.generate(then_branch)); MonomialSet else_res=contained_deg2_cudd_style(cache_mgr.generate(else_branch)); MonomialSet result=MonomialSet(*nav,then_res,else_res); cache_mgr.insert(nav,result.navigation()); return result; } else return MonomialSet(cache_mgr.zero()); } inline std::vector contained_variables(const MonomialSet& m){ std::vector result; MonomialSet::navigator nav=m.navigation(); while (!(nav.isConstant())){ idx_type v=*nav; MonomialSet::navigator check_nav=nav.thenBranch(); while(!(check_nav.isConstant())){ check_nav.incrementElse(); } if (check_nav.isTerminated()){ result.push_back(v); } nav.incrementElse(); } return result; } END_NAMESPACE_PBORIGB #endif /* polybori_groebner_contained_variables_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/dlex4data.h000066400000000000000000000003371436062512100234440ustar00rootroot00000000000000/* Copyright (c) 2005-2007 by The PolyBoRi Team */ #ifndef DLEX4_DATA_H #define DLEX4_DATA_H #include "groebner_defs.h" BEGIN_NAMESPACE_PBORIGB extern const unsigned short dlex4var_data[][7]; END_NAMESPACE_PBORIGB #endif BRiAl-1.2.12/groebner/include/polybori/groebner/dp_asc4data.h000066400000000000000000000003451436062512100237400ustar00rootroot00000000000000/* Copyright (c) 2005-2007 by The PolyBoRi Team */ #ifndef DP_ASC4_DATA_H #define DP_ASC4_DATA_H #include "groebner_defs.h" BEGIN_NAMESPACE_PBORIGB extern const unsigned short dp_asc4var_data[][7]; END_NAMESPACE_PBORIGB #endif BRiAl-1.2.12/groebner/include/polybori/groebner/draw_matrix.h000066400000000000000000000033511436062512100241120ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file draw_matrix.h * * @author Michael Brickenstein * @date 2011-07-01 * * This file includes the definition of the function @c draw_matrix. * * @par Copyright: * (c) 2006-2011 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_draw_matrix_h_ #define polybori_groebner_draw_matrix_h_ // include basic definitions #include "groebner_defs.h" #ifdef PBORI_HAVE_GD #include #include #endif #ifdef PBORI_HAVE_M4RI_PNG #include #include #endif BEGIN_NAMESPACE_PBORIGB inline void draw_matrix(mzd_t* mat, const char* filename){ if ((mat->ncols == 0) || (mat->nrows == 0)) { std::cerr << "0-dimensional matrix cannot be drawed, skipping "<< filename<<"" <ncols; r=mat->nrows; gdImagePtr im = gdImageCreate(c, r) ; FILE * out = fopen(filename, "wb") ; int black = gdImageColorAllocate(im, 0, 0, 0) ; int white = gdImageColorAllocate(im, 255, 255, 255); gdImageFilledRectangle(im, 0, 0, c-1, r-1, white) ; for(i=0;i #else typedef PBORI::CacheManager #endif fixed_divisors_cache_type; // Variant navigator inline MonomialSet do_fixed_path_divisors(const fixed_divisors_cache_type & cache_mgr, MonomialSet::navigator a_nav, MonomialSet::navigator m_nav, MonomialSet::navigator n_nav){ if (n_nav.isTerminated()) return MonomialSet(cache_mgr.generate(a_nav)).firstDivisorsOf(cache_mgr.generate(m_nav)); PBORI_ASSERT(!(n_nav.isConstant()&&(!(n_nav.terminalValue())))); if (a_nav.isConstant()) return cache_mgr.generate(a_nav); PBORI_ASSERT(!(n_nav.isConstant())); PBORI_ASSERT(!(m_nav.isConstant())); int m_index=*m_nav; int n_index=*n_nav; int a_index=*a_nav; PBORI_ASSERT(m_index<=n_index); //here we rely on the fact, that in Cudd deref of constant nav. gives a bigger index than allow allowed real indices while((a_index=*a_nav)!=(m_index=*m_nav)){ if (a_index=m_index); if (m_index==n_index){ n_nav.incrementThen(); m_nav.incrementThen(); } else { m_nav.incrementThen(); } } } n_index=*n_nav; if (a_nav.isConstant()){ return cache_mgr.generate(a_nav); } PBORI_ASSERT((*a_nav)==(*m_nav)); MonomialSet::navigator cached; #ifndef DANGEROUS_FIXED_PATH cached = cache_mgr.find(a_nav, m_nav,n_nav); if (cached.isValid() ){ return cache_mgr.generate(cached); } #else //MonomialSet::navigator cached = //cache_mgr.find(a_nav, m_nav); #endif // here it is theoretically possible to get answers which don't contain the // fixed path n, but that doesn't matter in practice, // as it is optimization anyway typedef PBORI::CacheManager cache_mgr_type2; cache_mgr_type2 cache_mgr2(cache_mgr.manager()); cached = cache_mgr2.find(a_nav, m_nav); if (cached.isValid()){ return cache_mgr2.generate(cached); } PBORI_ASSERT(a_index==m_index); int index=m_index; MonomialSet result(cache_mgr.zero()); if (m_index==n_index){ result=do_fixed_path_divisors(cache_mgr, a_nav.thenBranch(), m_nav.thenBranch(), n_nav.thenBranch()); if (!(result.isZero())) result = MonomialSet(index, result, cache_mgr.zero()); } else { MonomialSet then_path=do_fixed_path_divisors(cache_mgr, a_nav.thenBranch(), m_nav.thenBranch(), n_nav); MonomialSet else_path=do_fixed_path_divisors(cache_mgr, a_nav.elseBranch(), m_nav.thenBranch(), n_nav); if (then_path.isZero()){ result=else_path; } else { result=MonomialSet(index,then_path,else_path); } } #ifndef DANGEROUS_FIXED_PATH cache_mgr.insert(a_nav,m_nav,n_nav,result.navigation()); #else cache_mgr2.insert(a_nav,m_nav,result.navigation()); #endif return result; } // end of variant for navigator // variant for MonomialSet inline MonomialSet do_fixed_path_divisors(MonomialSet a, MonomialSet m, MonomialSet n){ //we assume that m is a multiple of n MonomialSet::navigator m_nav=m.navigation(); MonomialSet::navigator n_nav=n.navigation(); MonomialSet::navigator a_nav=a.navigation(); typedef fixed_divisors_cache_type cache_mgr_type; cache_mgr_type cache_mgr(a.ring()); return do_fixed_path_divisors(cache_mgr, a_nav, m_nav, n_nav); } inline MonomialSet fixed_path_divisors(MonomialSet a, Monomial m, Monomial n){ PBORI_ASSERT(m.reducibleBy(n)); return do_fixed_path_divisors(a,m.diagram(),n.diagram()); } END_NAMESPACE_PBORIGB #endif /* polybori_groebner_fixed_path_divisors_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/groebner.h000066400000000000000000000003021436062512100233650ustar00rootroot00000000000000/* * groebner.h * PolyBoRi * * Created by Michael Brickenstein on 19.04.06. * Copyright 2006 The PolyBoRi Team. See LICENSE file. * */ #include "groebner_defs.h" #include "pairs.h" BRiAl-1.2.12/groebner/include/polybori/groebner/groebner_alg.h000066400000000000000000000055371436062512100242270ustar00rootroot00000000000000/* * groebner_alg.h * PolyBoRi * * Created by Michael Brickenstein on 20.04.06. * Copyright 2006 The PolyBoRi Team. See LICENSE file. * */ #ifndef PBORI_GB_ALG_H #define PBORI_GB_ALG_H #include "PairStatusSet.h" #include "PairManager.h" #include "MonomialHasher.h" #include "ReductionStrategy.h" #include "GroebnerStrategy.h" #include "LessWeightedLengthInStrat.h" #include "LargerDegreeComparer.h" #include "LessWeightedLengthInStratModified.h" #include "LessEcartThenLessWeightedLengthInStrat.h" #include "LessUsedTailVariablesThenLessWeightedLengthInStrat.h" #include "LessCombinedManySizesInStrat.h" #include #include "groebner_defs.h" #include "pairs.h" #include #include #include #include #include #include #include "cache_manager.h" #include "polynomial_properties.h" BEGIN_NAMESPACE_PBORIGB #define LL_RED_FOR_GROEBNER 1 Polynomial map_every_x_to_x_plus_one(Polynomial p); MonomialSet mod_var_set(const MonomialSet& as, const MonomialSet& vs); void groebner(GroebnerStrategy& strat); Polynomial reduce_by_binom(const Polynomial& p, const Polynomial& binom); Polynomial reduce_by_monom(const Polynomial& p, const Monomial& m); Polynomial reduce_complete(const Polynomial& p, const Polynomial& reductor); Polynomial mult_fast_sim(const std::vector& vec, const BoolePolyRing& ring); std::vector full_implication_gb(const Polynomial & p,CacheManager& cache,GroebnerStrategy& strat); Polynomial reduce_complete(const Polynomial &p, const PolyEntry& reductor, wlen_type &len); MonomialSet recursively_insert(MonomialSet::navigator p, idx_type idx, MonomialSet mset); inline Polynomial cancel_monomial_in_tail(const Polynomial& p, const Monomial & m){ Monomial lm=p.lead(); Polynomial res=reduce_by_monom(p,m); if ((!res.isZero()) && (res.lead()==lm)){ return res; } else { return res+lm; } /*Polynomial tail=p-lm; Monomial used_var=tail.usedVariables(); if (used_var.reducibleBy(m)){ tail=Polynomial(BooleSet(tail).diff(m.multiples(used_var))); } return tail+lm;*/ } inline Polynomial reduce_by_binom(const Polynomial& p, const Polynomial& binom){ PBORI_ASSERT(binom.length()==2); Monomial bin_lead=binom.lead(); Monomial bin_last=*(++(binom.orderedBegin())); MonomialSet dividing_terms=((MonomialSet)p).multiplesOf(bin_lead); Monomial b_p_gcd=bin_last.GCD(bin_lead); Monomial divide_by=bin_lead/b_p_gcd; Monomial multiply_by=bin_last/b_p_gcd; Polynomial rewritten=((Polynomial) dividing_terms)/divide_by; return p-dividing_terms+rewritten*multiply_by; } inline Polynomial reduce_by_binom_in_tail (const Polynomial& p, const Polynomial& binom){ PBORI_ASSERT(binom.length()==2); Monomial lm=p.lead(); return lm+reduce_by_binom(p-lm,binom); } END_NAMESPACE_PBORIGB #endif BRiAl-1.2.12/groebner/include/polybori/groebner/groebner_defs.h000066400000000000000000000021411436062512100243710ustar00rootroot00000000000000/* * groebner_defs.h * PolyBoRi * * Created by Michael Brickenstein on 19.04.06. * Copyright 2006 The PolyBoRi Team. See LICENSE file. * */ #include #ifndef PBORI_GB_DEFS_H #define PBORI_GB_DEFS_H #ifndef PBORI_NO_NAMESPACES #define BEGIN_NAMESPACE_PBORIGB namespace PBORINAME { namespace groebner{ #define END_NAMESPACE_PBORIGB }} // end of namespace #define USING_NAMESPACE_PBORIGB using namespace PBORINAME::groebner; #else #endif // algorithmic variants #define EXP_FOR_PAIRS BEGIN_NAMESPACE_PBORIGB class GBTypes{ typedef polybori::BoolePolynomial poly_type; typedef polybori::BooleMonomial monom_type; }; typedef polybori::BoolePolynomial Polynomial; typedef polybori::BooleMonomial Monomial; typedef polybori::BooleVariable Variable; typedef polybori::BooleExponent Exponent; typedef std::vector PolynomialVector; #ifdef PBORI_HAVE_LONG_LONG typedef long long wlen_type; #else typedef long wlen_type; #endif typedef long len_type; typedef int deg_type; typedef polybori::CTypes::idx_type idx_type; typedef polybori::BooleSet MonomialSet; END_NAMESPACE_PBORIGB #endif BRiAl-1.2.12/groebner/include/polybori/groebner/interpolate.h000066400000000000000000000012041436062512100241120ustar00rootroot00000000000000/* Copyright (c) 2005-2007 by The PolyBoRi Team */ #include "groebner_defs.h" BEGIN_NAMESPACE_PBORIGB MonomialSet variety_lex_leading_terms(const MonomialSet& points, const Monomial& variables); Polynomial interpolate(MonomialSet to_zero,MonomialSet to_one); Polynomial interpolate_smallest_lex(MonomialSet to_zero,MonomialSet to_one); MonomialSet zeros(Polynomial p, MonomialSet candidates); MonomialSet include_divisors(const MonomialSet& m); MonomialSet nf_lex_points(const Polynomial& f,const MonomialSet& p); std::vector variety_lex_groebner_basis(const MonomialSet& points,const Monomial & variables); END_NAMESPACE_PBORIGB BRiAl-1.2.12/groebner/include/polybori/groebner/linear_algebra_step.h000066400000000000000000000451321436062512100255560ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file linear_algebra_step.h * * @author Michael Brickenstein * @date 2011-07-01 * * This file includes the definition of linear algebra step-related functions. * * @par Copyright: * (c) 2006-2011 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_linear_algebra_step_h_ #define polybori_groebner_linear_algebra_step_h_ // include basic definitions #include "groebner_defs.h" #include "add_up.h" #include "nf.h" #include "draw_matrix.h" #include "GroebnerStrategy.h" #include "MatrixMonomialOrderTables.h" #include "PolyMonomialPairComparerLess.h" #include "BitMask.h" #include "PseudoLongProduct.h" #include "Long64From32BitsPair.h" const int M4RI_MAXKAY = 16; #include #include #include BEGIN_NAMESPACE_PBORIGB inline int select_largest_degree(const ReductionStrategy& strat, const Monomial& m){ MonomialSet ms=strat.leadingTerms.divisorsOf(m); if (ms.isZero()) return -1; else { //Monomial min=*(std::min_element(ms.begin(),ms.end(), LessWeightedLengthInStrat(strat))); Exponent min=*(std::min_element(ms.expBegin(),ms.expEnd(), LargerDegreeComparer())); return strat.index(min); } } typedef Exponent::idx_map_type from_term_map_type; inline void fix_point_iterate(const GroebnerStrategy& strat,std::vector extendable_system, std::vector& res1,MonomialSet& res_terms,MonomialSet& leads_from_strat){ BoolePolyRing current_ring(res_terms.ring()); leads_from_strat=MonomialSet(current_ring); res_terms=MonomialSet(current_ring); for(std::size_t i=0;i=0){ Monomial m2=m/strat.generators[index].lead; Polynomial p2=m2*strat.generators[index].p; extendable_system.push_back(p2); PBORI_ASSERT(current_ring.id() == strat.generators[index].lead.ring().id()); PBORI_ASSERT(current_ring.id() == strat.generators[index].p.ring().id()); PBORI_ASSERT(current_ring.id() == m.ring().id()); PBORI_ASSERT(current_ring.id() == m2.ring().id()); PBORI_ASSERT(current_ring.id() == p2.ring().id()); } ++it; } res_terms=res_terms.unite(new_terms); res1.push_back(p); } leads_from_strat=res_terms.diff(mod_mon_set(res_terms,strat.generators.minimalLeadingTerms)); } inline void fill_matrix(mzd_t* mat,std::vector polys, from_term_map_type from_term_map){ for(std::size_t i=0;isecond,1); it++; } } } inline void translate_back(std::vector& polys, MonomialSet leads_from_strat,mzd_t* mat,const std::vector& ring_order2lex, const std::vector& terms_as_exp,const std::vector& terms_as_exp_lex,int rank){ int cols=mat->ncols; // int rows=mat->nrows; /// @todo unused? int i; for(i=0;i p_t_i; bool from_strat=false; for(j=0;j p_t(p_t_i.size()); std::sort(p_t_i.begin(),p_t_i.end(),std::less()); for(std::size_t j=0;j& polys, MonomialSet terms,MonomialSet leads_from_strat, bool log, bool optDrawMatrices=false, const char* matrixPrefix="mat"){ if PBORI_UNLIKELY(polys.size()==0) return; static int round=0; int rows=polys.size(); int cols=terms.size(); if PBORI_UNLIKELY(log){ std::cout<<"ROWS:"<nrows,mat->ncols,strat)); if PBORI_UNLIKELY(log){ std::cout<<"finished gauss"<nrows;i++){ for(j=0;jncols;j++){ std::cout<<(int)mzd_read_bit(mat,i,j); } std::cout<ncols,mat->nrows); int i,j; for(i=0;inrows;i++){ for(j=0;jncols;j++){ mzd_write_bit(res,j,i,mzd_read_bit(mat,i,j)); } } return res;*/ } inline mzd_t* pbori_transpose(mzd_t* mat) { if PBORI_UNLIKELY(mat->nrows == 0) return mzd_init(mat->ncols, 0); if PBORI_UNLIKELY(mat->ncols == 0) return mzd_init(0, mat->nrows); return mzd_transpose(NULL,mat); } inline void linalg_step_modified(std::vector < Polynomial > &polys, MonomialSet terms, MonomialSet leads_from_strat, bool log, bool optDrawMatrices, const char* matrixPrefix) { BoolePolyRing current_ring(terms.ring()); PBORI_ASSERT(current_ring.id() == leads_from_strat.ring().id()); #ifndef PBORI_NDEBUG std::vector < Polynomial >::const_iterator start(polys.begin()), finish(polys.end()); while (start != finish) { PBORI_ASSERT(current_ring.id() == start->ring().id()); ++start; } #endif int unmodified_rows=polys.size(); int unmodified_cols=terms.size(); /// This checks cols*rows > 20000000000 = 4*2^32 + 2820130816 if (PBORI_UNLIKELY( (PseudoLongProduct(unmodified_cols, unmodified_rows) > Long64From32BitsPair<4u, 2820130816u>::get()) )){ PBoRiError error(CTypes::matrix_size_exceeded); throw error; } static int round=0; round++; // const int russian_k=16; /// MonomialSet terms_unique(current_ring); std::vector < Monomial > terms_unique_vec; MonomialSet terms_step1(current_ring); std::vector < std::pair < Polynomial, Monomial > >polys_lm; for (std::size_t i = 0; i < polys.size(); i++) { if PBORI_LIKELY(!(polys[i].isZero())) polys_lm.push_back(std::pair < Polynomial, Monomial > (polys[i], polys[i].lead())); } std:: sort(polys_lm.begin(), polys_lm.end(), PolyMonomialPairComparerLess()); polys.clear(); //special cases if PBORI_UNLIKELY(polys_lm.size() == 0) return; Monomial last(current_ring); if PBORI_UNLIKELY(polys_lm[0].second.deg() == 0) { PBORI_ASSERT(polys_lm[0].first.isOne()); polys.resize(1, current_ring); polys[0] = 1; return; } std::vector < Polynomial > polys_triangular; std::vector < Polynomial > polys_rest; { std::vector < std::pair < Polynomial, Monomial > >::iterator it = polys_lm.begin(); std::vector < std::pair < Polynomial, Monomial > >::iterator end = polys_lm.end(); while (it != end) { if PBORI_LIKELY(it->second != last) { last = it->second; polys_triangular.push_back(it->first); PBORI_ASSERT(std:: find(terms_unique_vec.begin(), terms_unique_vec.end(), it->second) == terms_unique_vec.end()); terms_unique_vec.push_back(it->second); terms_step1=terms_step1.unite(it->first.diagram()); } else polys_rest.push_back(it->first); it++; } } polys.clear(); std::reverse(polys_triangular.begin(), polys_triangular.end()); terms_unique = add_up_generic(terms_unique_vec, current_ring.zero()); PBORI_ASSERT(terms_step1.diff(terms).isZero()); PBORI_ASSERT(polys_triangular.size()!=0); from_term_map_type eliminated2row_number; int remaining_cols; mzd_t* mat_step1; std::vector compactified_columns2old_columns; std::vector row_start; //std::vector result; MatrixMonomialOrderTables step1(terms_step1); //std::vector terms_as_exp_step1; { int rows=polys_triangular.size(); int cols=terms_step1.size(); if PBORI_UNLIKELY(log){ std::cout<<"STEP1: ROWS:"< terms_as_exp_lex_step1; //vector ring_order2lex_step1; //vector lex_order2ring_step1; // from_term_map_type from_term_map_step1; //setup_order_tables(terms_as_exp_step1,terms_as_exp_lex_step1,ring_order2lex_step1,lex_order2ring_step1,from_term_map_step1, terms_step1); fill_matrix(mat_step1,polys_triangular,step1.from_term_map); polys_triangular.clear(); if PBORI_UNLIKELY(optDrawMatrices) { std::ostringstream matname; matname << matrixPrefix << round << "_step1.png" <nrows; //sort rows int pivot_row=0; row_start.resize(rows); PBORI_ASSERT(cols>=rows); remaining_cols=cols-rows; compactified_columns2old_columns.resize(remaining_cols); for(int i=0;i=pivot_row); compactified_columns2old_columns[i-pivot_row]=i; } } if PBORI_UNLIKELY(log){ std::cout<<"finished sort"<nrows); if PBORI_LIKELY(i!=source) mzd_row_swap(transposed_step1,source,i); } if PBORI_UNLIKELY(log){ std::cout<<"finished permute"<nrows); MatrixMonomialOrderTables step2(terms_step2); // vector step2.terms_as_exp; // vector step2.terms_as_exp_lex; // vector step2.ring_order2lex; // vector step2.lex_order2ring; // from_term_map_type step2.from_term_map; // setup_order_tables(step2.terms_as_exp,step2.terms_as_exp_lex,step2.ring_order2lex,step2.lex_order2ring,step2.from_term_map, terms_step2); for(std::size_t i=0;isecond]]==e); PBORI_ASSERT(from_it!=eliminated2row_number.end()); int index=from_it->second;//...translate e->line number; mzd_write_bit(mat_step2_factor,i,index,1); it++; } it=p_t.expBegin(); end=p_t.expEnd(); while(it!=end){ Exponent e=*it; from_term_map_type::const_iterator from_it=step2.from_term_map.find(e); PBORI_ASSERT(from_it!=step2.from_term_map.end()); int index=from_it->second; mzd_write_bit(mat_step2,i,index,1); it++; } } if PBORI_UNLIKELY(log){ std::cout<<"iterate over rest polys"< remaining_col2new_col(remaining_cols); for(int i=0;incols==mat_step1->nrows); PBORI_ASSERT(mat_step1->nrows==terms_unique.size()); PBORI_ASSERT(mat_step1->ncols==remaining_cols); if PBORI_UNLIKELY(optDrawMatrices) { std::ostringstream matname; matname << matrixPrefix << round << "_mult_A.png"<nrows!=0) && (mat_step1->nrows!=0) && (mat_step2_factor->ncols!=0) && (mat_step1->ncols!=0)) eliminated=mzd_mul_m4rm(NULL,mat_step2_factor,mat_step1,0); else eliminated=mzd_init(mat_step2_factor->nrows,mat_step1->ncols); mzd_free(mat_step2_factor); if PBORI_UNLIKELY(log){ std::cout<<"end mult"<nrows); PBORI_ASSERT(mat_step2->nrows==eliminated->nrows); for(std::size_t i=0;incols); for(int j=0;jncols>0) &&( mat_step2->nrows>0)){ rank_step2= mzd_echelonize_m4ri(mat_step2,TRUE,0); //mzd_echelonize_pluq(mat_step2,TRUE); } else rank_step2=0; if PBORI_UNLIKELY(log){ std::cout<<"finished gauss"< gauss_on_polys(const std::vector& orig_system){ if (orig_system.empty()) return orig_system; Polynomial init(0, orig_system[0].ring()); MonomialSet terms=unite_polynomials(orig_system, init); MonomialSet from_strat(init.ring());//no strat std::vector polys(orig_system); linalg_step(polys, terms, from_strat, false); return polys; } END_NAMESPACE_PBORIGB #endif /* polybori_groebner_linear_algebra_step_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/ll_red_nf.h000066400000000000000000000042421436062512100235150ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file ll_red_nf.h * * @author Michael Brickenstein * @date 2011-07-01 * * This file includes the definition of the function @c ll_red_nf. * * @par Copyright: * (c) 2006-2011 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_ll_red_nf_h_ #define polybori_groebner_ll_red_nf_h_ // include basic definitions #include "groebner_defs.h" #include "ReductionStrategy.h" #include "LLReduction.h" BEGIN_NAMESPACE_PBORIGB template inline Polynomial ll_red_nf_generic(const Polynomial&, const BooleSet&); template inline Polynomial multiply(const Polynomial &p, const Polynomial& q){ typedef CommutativeCacheManager cache_mgr_type; return dd_multiply(cache_mgr_type(p.ring()), p.navigation(), q.navigation(), BoolePolynomial(p.ring())); } template inline Polynomial ll_red_nf_generic(const Polynomial& p, MonomialSet::navigator r_nav){ LLReduction func(p.ring()); return func(p, r_nav); } template inline Polynomial ll_red_nf_generic(const Polynomial& p, const BooleSet& reductors) { return ll_red_nf_generic(p, reductors.navigation()); } inline Polynomial ll_red_nf(const Polynomial& p,const BooleSet& reductors){ return ll_red_nf_generic(p,reductors); } inline Polynomial ll_red_nf_noredsb(const Polynomial& p,const BooleSet& reductors){ return ll_red_nf_generic(p,reductors); } inline Polynomial ll_red_nf_noredsb_single_recursive_call(const Polynomial& p, const BooleSet& reductors){ return ll_red_nf_generic(p,reductors); } END_NAMESPACE_PBORIGB #endif /* polybori_groebner_ll_red_nf_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/lp4data.h000066400000000000000000000003311436062512100231150ustar00rootroot00000000000000/* Copyright (c) 2005-2007 by The PolyBoRi Team */ #ifndef LP4_DATA_H #define LP4_DATA_H #include "groebner_defs.h" BEGIN_NAMESPACE_PBORIGB extern const unsigned short lp4var_data[][7]; END_NAMESPACE_PBORIGB #endif BRiAl-1.2.12/groebner/include/polybori/groebner/minimal_elements.h000066400000000000000000000320771436062512100251220ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file minimal_elements.h * * @author Michael Brickenstein * @date 2011-06-30 * * This file includes the definition of the @c minimal_elements functions.. * * @par Copyright: * (c) 2005-2011 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_minimal_elements_h_ #define polybori_groebner_minimal_elements_h_ // include definitions #include "groebner_defs.h" #include "contained_variables.h" //#include "nf.h" #include #include BEGIN_NAMESPACE_PBORIGB MonomialSet mod_mon_set(const MonomialSet& as, const MonomialSet &vs); // nf.cc MonomialSet mod_deg2_set(const MonomialSet& as, const MonomialSet &vs); // groebner_alg.cc MonomialSet mod_var_set(const MonomialSet& as, const MonomialSet& vs); // groebner_alg.cc inline MonomialSet minimal_elements_internal(const MonomialSet& s){ if (s.isZero()) return s; if (Polynomial(s).isOne()) return s; MonomialSet::navigator nav=s.navigation(); int i=*nav; if (Polynomial(s).hasConstantPart()) return MonomialSet(Polynomial(true, s.ring())); int l=s.length(); if (l<=1) { return s; } if(l==2){ MonomialSet::const_iterator it=s.begin(); Monomial a=*it; Monomial b=*(++it); if (a.reducibleBy(b)) return MonomialSet(b.diagram()); else return s; } MonomialSet s0_raw=s.subset0(i); MonomialSet s0=minimal_elements_internal(s0_raw); MonomialSet s1=minimal_elements_internal(s.subset1(i).diff(s0_raw)); if (!(s0.isZero())){ s1=s1.diff(s0.unateProduct(Polynomial(s1).usedVariablesExp().divisors(s.ring()))); } return s0.unite(s1.change(i)); } inline MonomialSet minimal_elements_internal2(MonomialSet s){ if (s.isZero()) return s; if (Polynomial(s).isOne()) return s; if (Polynomial(s).hasConstantPart()) return MonomialSet(Polynomial(true, s.ring())); MonomialSet result(s.ring()); std::vector cv=contained_variables(s); if ((cv.size()>0) && (s.length()==cv.size())){ return s; } else { MonomialSet::size_type z; MonomialSet cv_set(s.ring()); for(z=cv.size();z>0;z--){ Monomial mv=Variable(cv[z-1], s.ring()); cv_set=cv_set.unite(mv.diagram()); } for(z=0;z minimal_elements_internal3(MonomialSet s){ std::vector result; if (s.isZero()) return result; if ((Polynomial(s).isOne()) || (Polynomial(s).hasConstantPart())){ result.push_back(Exponent()); return result; } std::vector cv=contained_variables(s); for(MonomialSet::size_type i=0;i exponents; //Pol sp=s; exponents.insert(exponents.end(), s.expBegin(),s.expEnd()); int nvars=s.ring().nVariables(); std::vector > occ_vecs(nvars); for(MonomialSet::size_type i=0;i > occ_sets(nvars); for(i=occ_sets.size()-1;i>=0;i--){ occ_sets[i].insert(occ_vecs[i].begin(),occ_vecs[i].end()); }*/ std::vector still_minimal(exponents.size(), true); //lex smalles is last so backwards for(MonomialSet::size_type i,j=exponents.size();j>0;j--){ i=j-1; if (still_minimal[i]){ //we assume, that each exponents has deg>0 Exponent::const_iterator it=((const Exponent&) exponents[i]).begin(); Exponent::const_iterator end=((const Exponent&) exponents[i]).end(); int first_index=*it; std::vector occ_set=occ_vecs[first_index]; it++; while(it!=end){ std::vector occ_set_next; set_intersection( occ_set.begin(), occ_set.end(), occ_vecs[*it].begin(), occ_vecs[*it].end(), std::back_insert_iterator >(occ_set_next)); occ_set=occ_set_next; it++; } std::vector::const_iterator oc_it= occ_set.begin(); std::vector::const_iterator oc_end= occ_set.end(); while(oc_it!=oc_end){ still_minimal[*oc_it]=false; oc_it++; } it=((const Exponent&) exponents[i]).begin(); while(it!=end){ std::vector occ_set_difference; set_difference( occ_vecs[*it].begin(), occ_vecs[*it].end(), occ_set.begin(), occ_set.end(), std::back_insert_iterator >(occ_set_difference)); occ_vecs[*it]=occ_set_difference; it++; } result.push_back(exponents[i]); } } } return result; } inline MonomialSet minimal_elements(const MonomialSet& s){ #if 0 //return minimal_elements_internal2(s); return minimal_elements_cudd_style_unary(s); #else #if 1 return s.minimalElements(); #else MonomialSet minElts = minimal_elements_internal(s); if (minElts!=s.minimalElements()){ std::cout <<"ERROR minimalElements"< cache_mgr_type; cache_mgr_type cache_mgr(m.ring()); PBORI::BoolePolynomial::navigator cached = cache_mgr.find(m_nav); if (cached.isValid() ){ return cache_mgr.generate(cached); } MonomialSet minimal_else=minimal_elements_cudd_style_unary(cache_mgr.generate(ms0)); MonomialSet minimal_then=minimal_elements_cudd_style_unary(mod_mon_set(cache_mgr.generate(ms1),minimal_else)); MonomialSet result(m.ring()); if ((minimal_else.navigation()==ms0) &&(minimal_then.navigation()==ms1)) result=m; else result= MonomialSet(*m_nav,minimal_then,minimal_else);//result0.unite(result1.change(index)); cache_mgr.insert(m_nav, result.navigation()); return result; } inline MonomialSet do_minimal_elements_cudd_style(MonomialSet m, MonomialSet mod){ Polynomial p_mod=mod; if (m.isZero()) return m; if (mod.ownsOne()) return MonomialSet(mod.ring()); if (m.ownsOne()) return Polynomial(1,m.ring()).diagram(); MonomialSet mod_cv=contained_variables_cudd_style(mod); m=mod_var_set(m,mod_cv); mod=mod_var_set(mod,mod_cv); MonomialSet mod_d2=contained_deg2_cudd_style(mod); mod=mod_deg2_set(mod,mod_d2); m=mod_deg2_set(m,mod_d2); MonomialSet cv=contained_variables_cudd_style(m); MonomialSet cv_orig=cv; cv=cv.diff(mod); mod=mod_var_set(mod,cv_orig); m=mod_var_set(m,cv_orig); m=m.diff(mod); if (m.isZero()) return cv; bool cv_empty=cv.isZero(); MonomialSet result(m.ring()); int index=*m.navigation(); if (!mod.isZero()){ MonomialSet::navigator nav_mod=mod.navigation(); while((!(nav_mod.isConstant())) && (index>*nav_mod)){ nav_mod.incrementElse(); } mod=MonomialSet(nav_mod, m.ring()); } MonomialSet::navigator m_nav=m.navigation(); MonomialSet::navigator ms0=m_nav.elseBranch(); MonomialSet::navigator ms1=m_nav.thenBranch(); MonomialSet::navigator mod_nav=mod.navigation(); typedef PBORI::CacheManager cache_mgr_type; cache_mgr_type cache_mgr(m.ring()); PBORI::BoolePolynomial::navigator cached = cache_mgr.find(m_nav, mod_nav); if (cached.isValid() ){ return cv.unite((MonomialSet)cache_mgr.generate(cached)); } if (mod.isZero()){ MonomialSet result0=do_minimal_elements_cudd_style(cache_mgr.generate(ms0), mod); MonomialSet result1= do_minimal_elements_cudd_style(cache_mgr.generate(ms1), result0); result= MonomialSet(index,result1,result0);//result0.unite(result1.change(index)); } else { if (*mod_nav>index){ MonomialSet result0=do_minimal_elements_cudd_style(cache_mgr.generate(ms0), mod); MonomialSet result1= do_minimal_elements_cudd_style( cache_mgr.generate(ms1),result0.unite(mod)); if (result1.isZero()) result=result0; else result= MonomialSet(index,result1,result0); } else { PBORI_ASSERT(index==*mod_nav); MonomialSet::navigator mod0=mod_nav.elseBranch(); MonomialSet::navigator mod1=mod_nav.thenBranch(); MonomialSet result0=do_minimal_elements_cudd_style(cache_mgr.generate(ms0), cache_mgr.generate(mod0)); //MonomialSet mod1=mod.subset1(index); MonomialSet result1= do_minimal_elements_cudd_style(cache_mgr.generate(ms1), result0.unite(cache_mgr.generate(ms0).unite(cache_mgr.generate(mod1)))); result= MonomialSet(index,result1,result0);//result0.unite(result1.change(index)); } } cache_mgr.insert(m.navigation(), mod.navigation(), result.navigation()); if (cv_empty) return result; else return cv.unite(result); } inline MonomialSet minimal_elements_cudd_style(MonomialSet m){ return do_minimal_elements_cudd_style(m, MonomialSet(m.ring())); } inline MonomialSet minimal_elements_multiplied_monoms(MonomialSet m, Monomial lm){ if (m.divisorsOf(lm).isZero()){ m = m.existAbstract(lm); m = minimal_elements_cudd_style_unary(m); return m.unateProduct(lm.set()); } return lm.set() ; } inline std::vector minimal_elements_multiplied(MonomialSet m, Monomial lm){ MonomialSet result = minimal_elements_multiplied_monoms(m, lm); return std::vector(result.begin(), result.end()); } //#define MIN_ELEMENTS_BINARY 1 #ifdef MIN_ELEMENTS_BINARY inline MonomialSet minimal_elements_divided(MonomialSet m, Monomial lm, MonomialSet mod){ if (m.divisorsOf(lm).isZero()){ m=divide_monomial_divisors_out(m,lm); //mod=divide_monomial_divisors_out(mod,lm); return do_minimal_elements_cudd_style(m,mod); } return m.ring().one(); } #else inline MonomialSet minimal_elements_divided(MonomialSet m, Monomial lm, MonomialSet mod){ if (m.divisorsOf(lm).isZero()){ m=m.existAbstract(lm); mod=mod.existAbstract(lm); //mod=divide_monomial_divisors_out(mod,lm); m=mod_mon_set(m,mod); return minimal_elements_cudd_style_unary(m); } return m.ring().one(); } #endif inline void minimal_elements_divided(MonomialSet m, Monomial lm, MonomialSet mod, std::vector& result){ MonomialSet elements = minimal_elements_divided(m, lm, mod); result.resize(elements.length()); std::copy(elements.expBegin(), elements.expEnd(), result.begin()); } END_NAMESPACE_PBORIGB #endif /* polybori_groebner_minimal_elements_h_ */ BRiAl-1.2.12/groebner/include/polybori/groebner/nf.h000066400000000000000000000026751436062512100222040ustar00rootroot00000000000000/* * nf.h * PolyBoRi * * Created by Michael Brickenstein on 25.04.06. * Copyright 2006 The PolyBoRi Team. See LICENSE file. * */ #include #include #include #include "SlimgbReduction.h" #include "groebner_alg.h" extern "C"{ #include #ifndef __M4RI_TWOPOW #define __M4RI_TWOPOW TWOPOW #endif } #ifndef PBORI_GB_NF_H #define PBORI_GB_NF_H BEGIN_NAMESPACE_PBORIGB class ReductionStrategy; int select_no_deg_growth(const ReductionStrategy& strat, const Monomial& m); typedef SlimgbReduction slimgb_reduction_type; std::vector parallel_reduce(std::vector inp, GroebnerStrategy& strat, int average_steps, double delay_f); Polynomial nf3(const ReductionStrategy& strat, Polynomial p, Monomial rest_lead); Polynomial nf3_short(const ReductionStrategy& strat, Polynomial p); Polynomial plug_1(const Polynomial& p, const MonomialSet& m_plus_ones); MonomialSet mod_mon_set(const MonomialSet& as, const MonomialSet &vs); Polynomial cheap_reductions(const ReductionStrategy& strat, Polynomial p); Polynomial nf3_lexbuckets(const GroebnerStrategy& strat, Polynomial p, Monomial rest_lead); Polynomial nf3_no_deg_growth(const ReductionStrategy& strat, Polynomial p, Monomial rest_lead); Polynomial nf3_degree_order(const ReductionStrategy& strat, Polynomial p, Monomial lead); Polynomial nf3_short(const ReductionStrategy& strat, Polynomial p); END_NAMESPACE_PBORIGB #endif BRiAl-1.2.12/groebner/include/polybori/groebner/pairs.h000066400000000000000000000012011436062512100226770ustar00rootroot00000000000000/* * pairs.h * PolyBoRi * * Created by Michael Brickenstein on 19.04.06. * Copyright 2006 The PolyBoRi Team. See LICENSE file. * */ #ifndef PB_PAIR_H #define PB_PAIR_H #include "PolyEntry.h" #include "PairData.h" #include "IJPairData.h" #include "PolyPairData.h" #include "VariablePairData.h" #include "PairLS.h" #include "PairE.h" #include "PairLSCompare.h" #include "PairECompare.h" #include #include "groebner_defs.h" #include #include #include #include #include BEGIN_NAMESPACE_PBORIGB //using std::less; typedef PairE Pair; END_NAMESPACE_PBORIGB #endif BRiAl-1.2.12/groebner/include/polybori/groebner/polynomial_properties.h000066400000000000000000000004321436062512100262250ustar00rootroot00000000000000// // untitled // // Created by on 2008-04-16. // Copyright (c) 2008 The PolyBoRi Team. See LICENSE file. // PolyBoRi Project #include "groebner_defs.h" BEGIN_NAMESPACE_PBORIGB bool is_rewriteable(const Polynomial& p, const MonomialSet& leading_terms); END_NAMESPACE_PBORIGB BRiAl-1.2.12/groebner/include/polybori/groebner/randomset.h000066400000000000000000000013031436062512100235600ustar00rootroot00000000000000// // untitled // // Created by on 2007-12-13. // Copyright (c) 2007 The PolyBoRi Team. See LICENSE file. // PolyBoRi Project #ifndef PB_GB_RANDOM_HEADER #define PB_GB_RANDOM_HEADER #include "groebner_defs.h" #include #include #include BEGIN_NAMESPACE_PBORIGB typedef boost::minstd_rand base_generator_type; typedef boost::uniform_smallint<> distribution_type; typedef boost::variate_generator bool_gen_type; MonomialSet random_set(const Monomial& variables, unsigned int len); void set_random_seed(unsigned int seed); END_NAMESPACE_PBORIGB #endif BRiAl-1.2.12/groebner/include/polybori/groebner/red_tail.h000066400000000000000000000137711436062512100233630ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file red_tail.h * * @author Michael Brickenstein * @date 2011-07-01 * * This file includes the definition of the @c red_tail functions. * * @par Copyright: * (c) 2006-2011 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_groebner_red_tail_h_ #define polybori_groebner_red_tail_h_ // include basic definitions #include "groebner_defs.h" #include "LexHelper.h" #include "DegOrderHelper.h" #include "BlockOrderHelper.h" #include "GroebnerStrategy.h" BEGIN_NAMESPACE_PBORIGB inline Polynomial red_tail_general(const ReductionStrategy& strat, Polynomial p){ PBORI_ASSERT(!p.isZero()); // int deg_bound=p.deg(); /// @todo unused? std::vector res_vec; Polynomial orig_p=p; bool changed=false; // assuming non-zero Monomial lm=p.lead(); res_vec.push_back(lm); p=Polynomial(p.diagram().diff(lm.diagram())); while(!(p.isZero())){ //res+=lm; //p-=lm; std::vector irr; Polynomial::ordered_iterator it=p.orderedBegin(); Polynomial::ordered_iterator end=p.orderedEnd(); while((it!=end)&& (irreducible_lead(*it,strat))){ irr.push_back(*it); it++; } Monomial rest_lead(p.ring()); if PBORI_UNLIKELY((!(changed))&& (it==end)) return orig_p; //@todo: if it==end irr_p=p, p=Polnomial(0) Polynomial irr_p(p.ring()); if PBORI_LIKELY(it!=end) { irr_p=add_up_generic(irr, p.ring().zero()); rest_lead=*it; } else irr_p=p; int s; s=irr.size(); PBORI_ASSERT(s==irr_p.length()); //if (s!=irr_p.length()) cout<<"ADDUP FAILED!!!!!!!!!!!!!!!!!!!!!!!!\n"; //for(i=0;i inline Polynomial red_tail_generic(const ReductionStrategy& strat, Polynomial p){ PBORI_ASSERT(!p.isZero()); // int deg_bound=p.deg(); /// @todo unused? std::vector res_vec; Polynomial orig_p=p; bool changed=false; // assuming non-zero Monomial lm = p.lead(); res_vec.push_back(lm); p = Polynomial(p.diagram().diff(lm.diagram())); while(!(p.isZero())){ { Polynomial p_bak=p; p = cheap_reductions(strat, p); if (p!=p_bak){ changed=true; } } //p-=lm; std::vector irr; typename Helper::iterator_type it=Helper::begin(p); typename Helper::iterator_type it_orig=it; typename Helper::iterator_type end=Helper::end(p); bool rest_is_irreducible=false; //typedef (typename Helper::iterator_type) it_type; //typedef (typename it_type::value_type) mon_type; //Monomial mymon; if PBORI_LIKELY(strat.canRewrite(p)){ Polynomial irreducible_part=mod_mon_set(p.diagram(),strat.minimalLeadingTerms); if (!(irreducible_part.isZero())){ res_vec.push_back(irreducible_part); Polynomial p2=p+irreducible_part; it=Helper::begin(p2); it_orig=it; end=Helper::end(p2); p=p2; } while((it!=end)&& (Helper::irreducible_lead(*it,strat))){ if PBORI_UNLIKELY(Helper::knowRestIsIrreducible(it,strat)){ rest_is_irreducible=true; break; } else{ irr.push_back(*it); it++; } } } else { rest_is_irreducible=true; } Monomial rest_lead(p.ring()); if PBORI_UNLIKELY((!(changed))&& (it==end)) return orig_p; //@todo: if it==end irr_p=p, p=Polnomial(0) Polynomial irr_p(p.ring()); if PBORI_LIKELY((it!=end) &&(!(rest_is_irreducible))) { irr_p=Helper::sum_range(irr,it_orig,it, p.ring().zero());//add_up_monomials(irr); rest_lead=*it; } else irr_p=p; size_t s; s=irr.size(); PBORI_ASSERT((s==irr_p.length())||(rest_is_irreducible)); res_vec.push_back(irr_p); p=Polynomial(p.diagram().diff(irr_p.diagram())); if PBORI_UNLIKELY(p.isZero()) break; p=Helper::nf(strat,p,rest_lead); changed=true; } //should use already added irr_p's return add_up_polynomials(res_vec, p.ring().zero()); } inline Polynomial red_tail(const ReductionStrategy& strat, Polynomial p){ if PBORI_UNLIKELY(p.isZero()) return p; if (p.ring().ordering().isLexicographical()) return red_tail_generic(strat,p); if (p.ring().ordering().isDegreeOrder()) return red_tail_generic(strat,p); if (p.ring().ordering().isBlockOrder()) return red_tail_generic(strat,p); return red_tail_general(strat,p); } inline Polynomial red_tail_short(const ReductionStrategy& strat, Polynomial p){ Polynomial res(p.ring()); while(!(p.isZero())){ Polynomial lm=p.lead(); res+=lm; p-=lm; p=nf3_short(strat,p); } return res; } inline Polynomial red_tail_in_last_block(const GroebnerStrategy& strat, Polynomial p){ Polynomial::navigator nav=p.navigation(); idx_type last=p.ring().ordering().lastBlockStart(); if ((*nav)>=last) //includes constant polynomials return p; while ((*nav) #include #include // Data ordering tables #include #include #include BEGIN_NAMESPACE_PBORIGB template inline value_type p2code(Polynomial p, const std::vector & ring_2_0123, int max_vars){ Polynomial::exp_iterator it_p=p.expBegin(); Polynomial::exp_iterator end_p=p.expEnd(); initializer init; value_type p_code=init(max_vars); PBORI_ASSERT(max_vars & ring_2_0123){ return p2code(p,ring_2_0123, 4); } inline unsigned int get_table_entry4(const BoolePolyRing& ring, int p_code, int pos){ switch(ring.ordering().getBaseOrderCode()){ case COrderEnums::lp: return lp4var_data[p_code][pos]; case COrderEnums::dlex: return dlex4var_data[p_code][pos]; case COrderEnums::dp_asc: return dp_asc4var_data[p_code][pos]; default: throw std::runtime_error("Groebner tables used with forbidden order"); } return 0; } inline Monomial code_2_m_4(const BoolePolyRing& ring, unsigned int code, const std::vector& back_2_ring){ Monomial result(ring); for(int idx = 3; idx >= 0; --idx){ if ((code & (1<& back_2_ring){ Polynomial result(ring); for(int idx = 15; idx >= 0; --idx){ if ((code & (1< #include #include #include #include #include using namespace std; BEGIN_NAMESPACE_PBORIGB #if 0 static void mult_by_combining_rows(mzd_t* dest, mzd_t* A, packedmatrix* B, packedmatrix* acc1, packedmatrix* acc2, FGLMStrategy::IndexVector& row_is_monomial){ int i,j; const int m=A->nrows; const int n=A->ncols; //const int nblocks=A->width; mzd_t* res_row=acc1; mzd_t* dest_row=acc2; PBORI_ASSERT(acc1->ncols==B->ncols); PBORI_ASSERT(acc2->ncols==B->ncols); PBORI_ASSERT(dest->nrows==A->nrows); PBORI_ASSERT(dest->ncols==B->ncols); for(i=0;i=0){ mzd_write_bit(res_row, 0, monomial_idx, (1+ mzd_read_bit(res_row,0,monomial_idx))%2); } else { mzd_combine(dest_row,0,0,B,j,0,res_row,0,0); std::swap(res_row,dest_row); } } } j=j_bak; } } //how to do that most efficiently? //copy res_row to dest //mzd_row_clear_offset(dest_row,0,0); //mzd_combine(dest,i,0,res_row,0,0,dest_row,0,0); mzd_copy_row(dest,i,res_row,0); } //if 0 int i,j; const int m=A->nrows; const int n=A->ncols; mzd_t* res_row=acc1; mzd_t* dest_row=acc2; PBORI_ASSERT(acc1->ncols==B->ncols); PBORI_ASSERT(acc2->ncols==B->ncols); PBORI_ASSERT(dest->nrows==A->nrows); PBORI_ASSERT(dest->ncols==B->ncols); for(i=0;inrows; for(i=0;im, where v divides m mzd_write_bit(mat,i,i,1); tableXRowYIsMonomialFromWithIndex[our_var_index][i]=i; it++; } } //leading monomials from gb: vertices/ mzd_t* row=mzd_init(1, varietySize); ReductionStrategy::const_iterator start(gbFrom.begin()), finish(gbFrom.end()); while (start != finish){ Monomial lm = start->lead; MonomialSet tail = start->tail.set(); mzd_row_clear_offset(row,0,0); writeTailToRow(tail, row); writeRowToVariableDivisors(row,lm); ++start; } mzd_free(row); //edges MonomialSet edges=standardMonomialsFrom.cartesianProduct(varsSet). diff(standardMonomialsFrom).diff(leadingTermsFrom); Polynomial edges_poly=edges; MonomialVector edges_vec(edges.size(), from); std::copy(edges_poly.orderedBegin(), edges_poly.orderedEnd(), edges_vec.begin()); //reverse is important, so that divisors and elements in the tail have already been treated MonomialVector::reverse_iterator it_edges=edges_vec.rbegin(); MonomialVector::reverse_iterator end_edges=edges_vec.rend(); edgesUnitedVerticesFrom=edges.unite(leadingTermsFrom); mzd_t* multiplied_row=mzd_init(1,varietySize); mzd_t* reduced_problem_to_row=mzd_init(1,varietySize); mzd_t* acc1=mzd_init(1, varietySize); mzd_t* acc2=mzd_init(1, varietySize); while(it_edges!=end_edges){ mzd_row_clear_offset(multiplied_row, 0, 0); Monomial m=*it_edges; MonomialSet candidates=Polynomial(edgesUnitedVerticesFrom.divisorsOf(m)).gradedPart(m.deg()-1).set(); Monomial reduced_problem_to=*(candidates.begin()); Monomial v_m=m/reduced_problem_to; PBORI_ASSERT (v_m.deg()==1); Variable var=*v_m.variableBegin(); mzd_t* mult_table=multiplicationTableForVariable(var); findVectorInMultTables(reduced_problem_to_row, reduced_problem_to); if (!(transposed)){ //standardMonomialsFrom2Index[reduced_problem_to]; //highly inefficient/far to many allocations //mzd_mul expects second arg to be transposed //which is a little bit tricky as we multiply from left //mzd_t* transposed_mult_table=mzd_transpose(NULL, mult_table); //mzd_mul_naiv(multiplied_row,reduced_problem_to_row, mult_table); #if 0 mult_by_combining_rows(multiplied_row, reduced_problem_to_row, mult_table, acc1, acc2,tableXRowYIsMonomialFromWithIndex[ring2Index[var.index()]]); #else _mzd_mul_va(multiplied_row, reduced_problem_to_row, mult_table, 1); #endif } else { //mzd_t* transposed_vec=mzd_init(1,varietySize); //PBORI_ASSERT (window->nrows==varietySize); //PBORI_ASSERT (window->ncols==1); //transpose_window_to_row(transposed_vec, window); _mzd_mul_va(multiplied_row, reduced_problem_to_row, mult_table, FALSE); //mzd_free(transposed_vec); } writeRowToVariableDivisors(multiplied_row, m); //matrices are transposed, so now we have write to columns //mzd_free(transposed_mult_table); //mzd_free_window(window); it_edges++; } mzd_free(reduced_problem_to_row); mzd_free(multiplied_row); mzd_free(acc1); mzd_free(acc2); //transposeMultiplicationTables(); { #ifdef DRAW_MATRICES for(std::size_t i=0;inrows; ++i) { mzd_row_clear_offset(mat,i,0); } } void FGLMStrategy::transposeMultiplicationTables(){ //From now on, we multiply, so here we transpose mzd_t* new_mat=mzd_init(varietySize,varietySize); mzd_t* swap; for(std::size_t i=0;ifirstNonZeroIndex=firstNonZeroIndex; } }; #if 0 FGLMStrategy::IndexVector FGLMStrategy::rowVectorIsLinearCombinationOfRows(mzd_t* mat, mzd_t* v){ //returns vector with indices, where the coefficients in this linear combination are 1 //if no such combination exists, raises Exception #ifdef DRAW_MATRICES static int round=0; round++; PBORI_ASSERT (mat->ncols==varietySize); PBORI_ASSERT (v->ncols==varietySize); PBORI_ASSERT (v->nrows==1); #endif mzd_t* row_combined=mzd_stack(NULL, mat, v); { #ifdef DRAW_MATRICES char matname[255]; sprintf(matname,"row_combined%d.png",round); draw_matrix(row_combined,matname); #endif } mzd_t* col_combined=mzd_transpose(NULL, row_combined); mzd_free(row_combined); mzd_echelonize_m4ri(col_combined,TRUE,0,NULL,NULL); { #ifdef DRAW_MATRICES char matname[255]; sprintf(matname,"col_reduced%d.png",round); draw_matrix(col_combined,matname); #endif } const int cols=col_combined->ncols; const int rows=col_combined->nrows; PBORI_ASSERT (rows>=cols-1); const int ngenerators=cols-1; const int last_col=cols-1; int i; IndexVector res; //first col-1 cols are linear independend -> reduced row echelon form has unimat het for(i=rows-1;i>ngenerators-1;i--){ PBORI_ASSERT(i>=last_col); if (mzd_read_bit(col_combined,i,last_col)==1){ //no inhomgeneous solution exists mzd_free(col_combined); FGLMNoLinearCombinationException ex; throw ex; } } for(i=ngenerators-1;i>=0;i--){ PBORI_ASSERT(inrows-1; mzd_row_clear_offset(mat,d,0); PBORI_ASSERT (mat->ncols==2*varietySize); //mzd_t* copy_v_into=mzd_init_window(mat,d,0,d+1,varietySize); //mzd_copy(copy_v_into,v); //mzd_free_window(copy_v_into); mzd_copy_row(mat,d,v,0); //mzd_row_clear_offset(mat,d,varietySize);//might be random data at the end as mat is wider for(std::size_t i=0;i=0){ succ=true; int standard_idx; if ((standard_idx=rowIsStandardMonomialToWithIndex[row_idx])>=0){ mzd_write_bit(mat,d,i,0); const int standard_idx_with_offset=varietySize+standard_idx; mzd_write_bit(mat,d,standard_idx_with_offset,(1+mzd_read_bit(mat,d,standard_idx_with_offset))%2); } else { mzd_row_add_offset(mat, d, row_idx, i); } } if (!(succ)){ FGLMNoLinearCombinationException ex(i); throw ex; } } } IndexVector res; for(int i=0;i MonomialSetSTL; MonomialSetSTL C; lm2Index_map_type mon2index; Exponent::idx_map_type exp2index; //initialize with one monomial mzd_t* v=mzd_init(varietySize, varietySize);//write vectors in rows; mzd_t* w=mzd_init(varietySize+1, varietySize*2); IndexVector w_start_indices; rowStartingWithIndex.resize(varietySize); rowIsStandardMonomialToWithIndex.resize(varietySize); for(std::size_t i=0;i0); bool is_standard_monomial_from=false; if (edgesUnitedVerticesFrom.owns(m)){ findVectorInMultTables(v_d, m); } else { if (standardMonomialsFrom.owns(m)){ mzd_write_bit(v_d,0, standardMonomialsFrom2Index[m],1); is_standard_monomial_from=true; } else{ Exponent b_j=*divisors.expBegin(); int j=exp2index[b_j]; Exponent x_i_m=(m.exp()-b_j); PBORI_ASSERT (x_i_m.deg()==1); //Variable x_i=*x_i_m.variableBegin(); idx_type our_x_i_index=ring2Index[*x_i_m.begin()]; mzd_t* mult_table=multiplicationTables[our_x_i_index];//multiplicationTableForVariable(x_i); mzd_t* v_j=mzd_init_window(v,j,0,j+1,varietySize); PBORI_ASSERT (v_j->nrows==1); PBORI_ASSERT ( v_j->ncols==varietySize); if (transposed) v_d=_mzd_mul_va(v_d, v_j, mult_table, FALSE); else{ #if 0 mult_by_combining_rows(v_d, v_j, mult_table, acc1, acc2, tableXRowYIsMonomialFromWithIndex[our_x_i_index]); #else _mzd_mul_va(v_d, v_j, mult_table, 1); #endif } mzd_free_window(v_j); } } PBORI_ASSERT (v_d->nrows==1); PBORI_ASSERT (v_d->ncols==varietySize); mzd_t* w_window=mzd_init_window(w,0,0,d+1,2*varietySize); //mzd_t* w_row_window=mzd_init_window(w,d,0,d+1,varietySize); try { IndexVector lin_combination=rowVectorIsLinearCombinationOfRows(w_window, v_d); MonomialVector p_vec; for(std::size_t i=0;i=0); mzd_row_clear_offset(w, reduced_with_this_row,0); mzd_write_bit(w, reduced_with_this_row, from_idx,1); mzd_write_bit(w, reduced_with_this_row, varietySize+d,1); rowIsStandardMonomialToWithIndex[reduced_with_this_row]=d; //still generate the same vector space } } /*mzd_t* copy_window=mzd_init_window(v,d,0,d+1,varietySize); mzd_copy(copy_window, v_d); mzd_free_window(copy_window);*/ mzd_copy_row(v,d,v_d,0); idx_type m_begin=*m.begin(); for(std::size_t i=0;(i=i); for (std::size_t j=0;jgbFrom.addGenerator(gen); } it++; } Monomial monomial_one(from_ring); if (prot) cout<<"analyzing gb..."<gbFrom); if (!(this->gbFrom.leadingTerms.owns(monomial_one))){ //cout< #include #include #include #include // for extended_product_criterion: #include //#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include BEGIN_NAMESPACE_PBORIGB static Polynomial opposite_logic_mapping(Polynomial p){ return map_every_x_to_x_plus_one(p)+1; } static std::vector small_next_degree_spolys(GroebnerStrategy& strat, double f, int n){ std::vector res; PBORI_ASSERT(!(strat.pairs.pairSetEmpty())); strat.pairs.cleanTopByChainCriterion(); deg_type deg=strat.pairs.queue.top().sugar; wlen_type wlen=strat.pairs.queue.top().wlen; while((!(strat.pairs.pairSetEmpty())) &&(strat.pairs.queue.top().sugar<=deg) && (strat.pairs.queue.top().wlen<=wlen*f+2)&& (res.size()<(std::size_t)n)){ PBORI_ASSERT(strat.pairs.queue.top().sugar==deg); res.push_back(strat.nextSpoly()); strat.pairs.cleanTopByChainCriterion(); } return res; } // class members GroebnerStrategy::GroebnerStrategy(const GroebnerStrategy& orig): GroebnerOptions(orig), PairManagerFacade(orig), generators(orig.generators), cache(orig.cache), reductionSteps(orig.reductionSteps), normalForms(orig.normalForms), currentDegree(orig.currentDegree), averageLength(orig.averageLength), chainCriterions(orig.chainCriterions), variableChainCriterions(orig.variableChainCriterions), easyProductCriterions(orig.easyProductCriterions), extendedProductCriterions(orig.extendedProductCriterions) { // this->pairs.strat = this; } bool GroebnerStrategy::checkChainCriterion(const Exponent& lm, int i, int j) { const MonomialSet lms = generators.leadingTerms.intersect(lm.divisors(ring())); PBORI_ASSERT(lm == generators[i].leadExp.LCM(generators[j].leadExp)); bool result = std::find_if(lms.expBegin(), lms.expEnd(), ChainCriterion(*this, i, j)) != lms.expEnd(); if (result) ++chainCriterions; return result; } bool GroebnerStrategy::checkExtendedProductCriterion(int i, int j) { bool result = extended_product_criterion(generators[i], generators[j]); if (result) ++extendedProductCriterions; return result; } void GroebnerStrategy::llReduceAll(){ generators.llReduceAll(); } Polynomial GroebnerStrategy::redTail(const Polynomial & p){ return red_tail(this->generators,p); } inline Polynomial reduce_by_small_entry(const Polynomial& poly, const PolyEntry& entry) { PBORI_ASSERT((entry.length == 1) || (entry.length == 2)); return (entry.length == 1? cancel_monomial_in_tail(poly, entry.lead): reduce_by_binom_in_tail(poly, entry.p)); } void GroebnerStrategy::propagateStep(entryset_type& others) { const PolyEntry& entry = *(*others.begin()); others.erase(others.begin()); if (should_propagate(entry)) { for(PolyEntryVector::const_iterator start(generators.begin()), finish(generators.end()); start != finish; ++start) if (start->propagatableBy(entry)) exchange(reduce_by_small_entry(start->p, entry), *start, others); } } void GroebnerStrategy::exchange(const Polynomial& reduced, const PolyEntry& entry, entryset_type& others) { if (reduced != entry.p) { updatePropagated(generators(entry) = reduced); others.insert(&entry); } } void GroebnerStrategy::updatePropagated(const PolyEntry& entry) { generators.monomials.update(entry); if ( (entry.length == 2) && (entry.ecart() == 0)) addNonTrivialImplicationsDelayed(entry); } void GroebnerStrategy::propagate(const PolyEntry& e){ entryset_type entries; entries.insert(&e); while (!entries.empty()) propagateStep(entries); } std::vector GroebnerStrategy::addHigherImplDelayedUsing4(PolyEntryReference entry) { std::vector impl; bool directly = addHigherImplDelayedUsing4(((const PolyEntry&)entry).literal_factors, false, impl); entry.markVariablePairsCalculated(); if (directly) return impl; for_each(impl.begin(), impl.end(), *this, &self::addGeneratorDelayed); return std::vector(); } std::vector GroebnerStrategy::addHigherImplDelayedUsing4(const LiteralFactorization& literal_factors) const { std::vector impl; addHigherImplDelayedUsing4(literal_factors, true, impl); return impl; } bool GroebnerStrategy::addHigherImplDelayedUsing4(const LiteralFactorization& literal_factors, bool include_orig, std::vector& impl) const { if (literal_factors.rest.isOne()){ // entry.markVariablePairsCalculated(); return false; } Polynomial p=literal_factors.rest; BoolePolyRing ring(p.ring()); //Monomial used_variables_m=p.usedVariables(); Exponent used_variables = p.usedVariablesExp(); Exponent e = p.leadExp(); if (e.size()>4) std::cerr<<"too many variables for table"< ring_2_0123(ring.nVariables()); std::vector back_2_ring(4); set_up_translation_vectors(ring_2_0123, back_2_ring, used_variables); unsigned int p_code=p2code_4(p, ring_2_0123); if ((get_table_entry4(ring, p_code,0) == p_code) && (get_table_entry4(ring, p_code,1) == 0)){ return false; } bool can_add_directly=true; for(int i=0;get_table_entry4(ring, p_code,i)!=0;i++){ unsigned int impl_code=get_table_entry4(ring, p_code,i); if ((include_orig) ||(p_code!=impl_code)){ Polynomial p_i=code_2_poly_4(ring, impl_code, back_2_ring); Exponent e_i=p_i.leadExp(); if (include_orig || (e_i != e) ) { p_i = multiply_with_literal_factors(literal_factors, p_i); impl.push_back(p_i); can_add_directly &= generators.minimalLeadingTerms.divisorsOf(p_i.leadExp()).isZero(); //e_i is wrong here, have to multiply } } } if (can_add_directly) return true; else if (include_orig) impl.clear(); return false; } std::vector GroebnerStrategy::add4ImplDelayed(PolyEntryReference entry) { const PolyEntry& e = entry; std::vector impl; bool directly = add4ImplDelayed(e.p, e.leadExp, e.usedVariables, false, impl); entry.markVariablePairsCalculated(); if (directly) return impl; for_each(impl.begin(), impl.end(), *this, &self::addGeneratorDelayed); return std::vector(); } std::vector GroebnerStrategy::add4ImplDelayed(const Polynomial& p, const Exponent& lm_exp, const Exponent& used_variables) const { std::vector impl; add4ImplDelayed(p, lm_exp, used_variables, true, impl); return impl; } bool GroebnerStrategy::add4ImplDelayed(const Polynomial& p, const Exponent& lm_exp, const Exponent& used_variables, bool include_orig, std::vector& impl) const { //cout<<"I am here"; //Polynomial p=generators[s].p; //Exponent used_variables=generatusedVariables; Exponent e=lm_exp;//generators[s].lmExp; BoolePolyRing ring(p.ring()); std::vector ring_2_0123(ring.nVariables()); std::vector back_2_ring(4); set_up_translation_vectors(ring_2_0123, back_2_ring, used_variables); unsigned int p_code=p2code_4(p, ring_2_0123); if ((get_table_entry4(ring, p_code, 0)==p_code) && (get_table_entry4(ring, p_code, 1)==0)) { return false; } int i; bool can_add_directly=true; for(i=0;get_table_entry4(ring, p_code,i)!=0;i++){ unsigned int impl_code=get_table_entry4(ring, p_code, i); if ((include_orig) ||(p_code!=impl_code)){ Polynomial p_i=code_2_poly_4(ring, impl_code, back_2_ring); Exponent e_i=p_i.leadExp(); if ((include_orig) ||(e_i!=e)){ impl.push_back(p_i); can_add_directly &= generators.minimalLeadingTerms.divisorsOf(e_i).isZero(); } } } if (can_add_directly) return true; else if (include_orig) impl.clear(); return false; } void GroebnerStrategy::addVariablePairs(PolyEntryReference entryref) { const PolyEntry& entry = entryref; Exponent::const_iterator it = entry.leadExp.begin(); Exponent::const_iterator end = entry.leadExp.end(); while(it != end){ if ((entry.lead.deg() == 1) || entry.literal_factors.occursAsLeadOfFactor(*it)) { entryref.vPairCalculated.insert(*it); } else pairs.introducePair(Pair(generators.size() - 1, *it, generators, VARIABLE_PAIR)); it++; } } std::vector GroebnerStrategy::treatVariablePairs(PolyEntryReference entry){ const PolyEntry& e = entry; if (have_ordering_for_tables(e.p.ring()) || (have_base_ordering_for_tables(e.p.ring()) && e.p.inSingleBlock())) { int uv=e.usedVariables.deg(); if (uv<=4){ return add4ImplDelayed(entry); } else { int uv_opt = uv-e.literal_factors.factors.size()-2*e.literal_factors.var2var_map.size(); ////should also be proofable for var2var factors PBORI_ASSERT(uv_opt==e.literal_factors.rest.nUsedVariables());//+2*var2var_map.size()); if (uv_opt<=4){ return addHigherImplDelayedUsing4(entry); } } } std::vector empty; Polynomial rest=e.literal_factors.rest; Monomial rest_uv=rest.usedVariables(); if ((rest_uv.deg() > 1) && (rest_uv.deg() < 12)){ MonomialSet my_ones = zeros(rest + 1, rest_uv.divisors()); if ((my_ones.size() << rest.leadDeg()) == (std::size_t(1) << rest_uv.deg())) return empty; } addVariablePairs(entry); return empty; } void GroebnerStrategy::normalPairsWithLast(const MonomialSet& act_l_terms) { const int s = generators.size() - 1; if (std::find_if(act_l_terms.expBegin(), act_l_terms.expEnd(), HasTRepOrExtendedProductCriterion(*this, s)) == act_l_terms.expEnd()) { Exponent min = *std::min_element(act_l_terms.expBegin(), act_l_terms.expEnd(), LessWeightedLengthInStrat(generators)); pairs.introducePair(Pair(generators.index(min), s, generators)); } } std::vector GroebnerStrategy::allGenerators(){ if (generators.empty()) return std::vector(); std::vector result(generators.size(), generators.front().p.ring()); std::transform(generators.begin(), generators.end(), result.begin(), PolyFromPolyEntry()); pairs.appendHiddenGenerators(result); return result; } int GroebnerStrategy::addGeneratorStep(const PolyEntry& entry){ PBORI_ASSERT(generators.empty() || entry.p.ring().id() == generators[0].p.ring().id()); // here we make use of the fact, that the index of the 1 node is // bigger than that of variables generators.reducibleUntil = std::max(generators.reducibleUntil, *entry.p.navigation()); //do this before adding leading term propagate(entry); RelatedTerms related = generators.related(entry); checkCriteria(entry, related.terms()); RelatedTerms::divisors_sequence_type related_divisors(related.divisors(generators.minimalLeadingTerms)); generators.addGenerator(entry); for_each(related_divisors.begin(), related_divisors.end(), *this, &GroebnerStrategy::normalPairsWithLast); return generators.size() - 1; } void GroebnerStrategy::addImplications(const BoolePolynomial& poly, std::vector& indices){ PBORI_ASSERT(!poly.isZero()); int idx = addGeneratorStep((generators.optRedTail? red_tail(generators, poly): poly)); pairs.status.setToHasTRep(indices.begin(), indices.end(), idx); indices.push_back(idx); generators.last().markVariablePairsCalculated(); } template void GroebnerStrategy::addImplications(Iterator start, Iterator finish, std::vector& indices){ for(; start != finish; ++start) addImplications(*start, indices); } void GroebnerStrategy::addImplications(const std::vector& impl, int s) { std::vector indices(1, s); addImplications(impl.begin(), impl.end(), indices); } void GroebnerStrategy::addGenerator(const PolyEntry& e_arg) { int idx = addGeneratorStep(e_arg); PolyEntryReference entry = generators.last(); if (entry.minimal) addImplications(treatVariablePairs(entry), idx); else entry.markVariablePairsCalculated(); } void GroebnerStrategy::addNonTrivialImplicationsDelayed(const PolyEntry& e){ Polynomial p_opp=opposite_logic_mapping(e.p); //cout<<"p_opp"<log("found new implications"); //cout<<"implications"<first) + bool(itf->second)) * mult_by); ++itf; } LiteralFactorization::var2var_map_type::const_iterator itv=factors_opp.var2var_map.begin(); LiteralFactorization::var2var_map_type::const_iterator endv=factors_opp.var2var_map.end(); while(itv != endv){ addGeneratorDelayed(mult_by*(ring.variable(itv->first) + ring.variable(itv->second) + 1)); ++itv; } } } void GroebnerStrategy::addGeneratorDelayed(const BoolePolynomial& p){ PBORI_ASSERT(generators.empty() || p.ring().id() == generators[0].p.ring().id()); pairs.introducePair(Pair(p)); } bool GroebnerStrategy::variableHasValue(idx_type v){ return std::find_if(generators.begin(), generators.end(), IsVariableOfIndex(v)) != generators.end(); } std::vector GroebnerStrategy::minimalizeAndTailReduce(){ bool tail_growth_bak = generators.optRedTailDegGrowth; generators.optRedTailDegGrowth = true; MonomialSet minelts = minimal_elements(generators.minimalLeadingTerms); std::vector result(minelts.size(), minelts.ring()); std::transform(minelts.rExpBegin(), minelts.rExpEnd(), result.rbegin(), RedTailNth(generators)); generators.optRedTailDegGrowth = tail_growth_bak; return result; } std::vector GroebnerStrategy::minimalize(){ MonomialSet minelts = minimal_elements(generators.minimalLeadingTerms); std::vector result(minelts.size(), minelts.ring()); std::transform(minelts.begin(), minelts.end(), result.begin(), GetNthPoly(generators)); return result; } void GroebnerStrategy::addGeneratorTrySplit(const Polynomial & p, bool is_minimal){ PBORI_ASSERT(generators.empty() || p.ring().id() == generators[0].p.ring().id()); std::vector impl; if ((have_ordering_for_tables(p.ring())) || ((have_base_ordering_for_tables(p.ring())) && (p.inSingleBlock()))) { int u_v=p.usedVariablesExp().deg(); if (u_v<=4) { impl = add4ImplDelayed(p, p.leadExp(), p.usedVariablesExp()); } else { if (((optAllowRecursion) && (u_v<=15))||(u_v<=10)){ LiteralFactorization f(p); if (f.rest.usedVariablesExp().deg()<=4){ impl = addHigherImplDelayedUsing4(f); } else { deg_type rest_lead_exp_deg=f.rest.leadExp().deg(); deg_type rest_used_variables_deg=f.rest.usedVariablesExp().deg(); if ((optAllowRecursion) &&(is_minimal) && ( (rest_used_variables_deg<=rest_lead_exp_deg+2)|| ((rest_lead_exp_deg<=6) &&(rest_used_variables_deg<=rest_lead_exp_deg+3))|| ((rest_lead_exp_deg<=4) &&(rest_used_variables_deg<=rest_lead_exp_deg+4))|| ((rest_lead_exp_deg<=3) &&(rest_used_variables_deg<=rest_lead_exp_deg+5))|| ((rest_lead_exp_deg<=2) &&(rest_used_variables_deg<=rest_lead_exp_deg+7)))) { //orig +2 log("Recursive call"); impl=full_implication_gb(f.rest,*cache,*this); int i; int s=impl.size(); for(i=0;i implication_indices; std::vector::const_iterator start(impl.begin()), finish(impl.end()); for(; start != finish; ++start) { PBORI_ASSERT(!start->isZero()); if (generators.minimalLeadingTerms.divisorsOf(start->leadExp()).isZero()) addImplications(*start, implication_indices); else addGeneratorDelayed(*start); } PBORI_ASSERT(!(generators.leadingTerms.divisorsOf(p.leadExp()).isZero())); } } bool GroebnerStrategy::shorterElimination(const MonomialSet& divisors, wlen_type el, MonomialSet::deg_type deg) const { return std::find_if(divisors.expBegin(),divisors.expEnd(), ShorterEliminationLengthModified(*this, el, deg)) != divisors.expEnd(); } void GroebnerStrategy::addAsYouWish(const Polynomial& p){ Exponent lm_exp = p.leadExp(); MonomialSet::deg_type deg = lm_exp.deg(); MonomialSet divisors = generators.leadingTerms.divisorsOf(lm_exp); if ( (optDelayNonMinimals && !divisors.isZero()) || divisors.owns(Monomial(lm_exp, p.ring())) || shorterElimination(divisors, p.eliminationLength(), deg) ) addGeneratorDelayed(p); else { Polynomial pred = which(generators.optRedTail, red_tail(generators, p), optRedTailInLastBlock, red_tail_in_last_block(*this, p), p); if ((pred != p) && shorterElimination(divisors, pred.eliminationLength(), deg)) addGeneratorDelayed(pred); else if (divisors.isZero()) addGeneratorTrySplit(pred, true); else addGenerator(pred); } } int steps(int size) { return (size > 100? 19 : (size >10? 30: 100)); } void GroebnerStrategy::symmGB_F2(){ const double max_growth = 2.0; const int selection_size = 1000; const double pair_size_factor = 2.0; while(pairs.queue.size() > 0) { std::vector next = small_next_degree_spolys(*this, pair_size_factor, selection_size); std::vector res = parallel_reduce(next, *this, steps(next.size()), max_growth); for_each(res.rbegin(), std::find(res.rbegin(), res.rend(), 1), *this, &self::addAsYouWish); } } int GroebnerStrategy::suggestPluginVariable() { RankingVector ranking(generators.minimalLeadingTerms.ring().nVariables()); for_each(generators.minimalLeadingTerms.expBegin(), generators.minimalLeadingTerms.expEnd(), ranking, &RankingVector::rerank ); return ranking.max_index(); } Polynomial GroebnerStrategy::nf(Polynomial p) const{ return generators.nf(p); } std::vector GroebnerStrategy::noroStep(const std::vector& orig_system){ if (orig_system.empty()) return orig_system; log("reduction by linear algebra\n"); static int round=0; round++; std::vector polys; MonomialSet terms(orig_system[0].ring()); for(std::size_t i=0;i(); //typedef std::map to_term_map_type; typedef Exponent::idx_map_type from_term_map_type; int rows=polys.size(); int cols=terms.size(); if PBORI_UNLIKELY(this->enabledLog){ std::cout<<"ROWS:"< terms_as_exp(terms.size()); std::copy(terms.expBegin(),terms.expEnd(),terms_as_exp.begin()); std::sort(terms_as_exp.begin(),terms_as_exp.end(), ExpGreater(polys[0].ring())); from_term_map_type from_term_map; //to_term_map_type to_term_map; for (std::size_t i=0;inrows>0) && (mat->ncols>0)) rank= mzd_echelonize_m4ri(mat,TRUE,0); //mzd_echelonize_pluq(mat,TRUE); else rank=0; for(int i=rank-1;i>=0;i--){ int j=0; std::vector p_t; for(;j GroebnerStrategy::faugereStepDense(const std::vector& orig_system){ if (orig_system.empty()) return orig_system; std::vector polys; MonomialSet terms(orig_system[0].ring()), leads_from_strat(terms); PBORI_ASSERT(same_rings(orig_system.begin(), orig_system.end())); fix_point_iterate(*this, orig_system, polys, terms, leads_from_strat); (optModifiedLinearAlgebra? linalg_step_modified: linalg_step)(polys, terms, leads_from_strat, enabledLog, optDrawMatrices, matrixPrefix.data()); return polys; } END_NAMESPACE_PBORIGB BRiAl-1.2.12/groebner/src/LexBucket.cc000066400000000000000000000056141436062512100173230ustar00rootroot00000000000000/* * LexBucket.cc * PolyBoRi * * Created by Michael Brickenstein on 19.04.06. * Copyright 2006 The PolyBoRi Team. See LICENSE file. * */ #include BEGIN_NAMESPACE_PBORIGB static Polynomial sum_up_buckets(std::vector::iterator it, const int s, const BoolePolyRing& ring){ if (s==0) return ring.zero(); if (s==1) return *it; if (s==2) return (*it)+(*(it++)); return sum_up_buckets(it,s/2, ring)+sum_up_buckets(it+s/2,s-s/2, ring); } Polynomial without_prior_part(Polynomial p,idx_type tail_start){ Polynomial::navigator nav=p.navigation(); while((*nav)0)){ increaseTailStart(tail_start+var_group_size); } return *this; } void LexBucket::increaseTailStart(idx_type new_start){ PBORI_ASSERT(new_start>=tail_start); tail_start=new_start; int i; std::vector front_vec; for(i=buckets.size()-1;i>=0;i--){ Polynomial old=buckets[i]; buckets[i]=without_prior_part(buckets[i],new_start); Polynomial front_part=old-buckets[i]; if (!(front_part.isZero())) front_vec.push_back(front_part); if ((buckets[i]).isConstant()){ if (buckets[i].isOne()){ ones=(!(ones)); } buckets.erase(buckets.begin()+i); } } front+=sum_up_buckets(front_vec.begin(), front_vec.size(), ring); } void LexBucket::updateTailStart(){ if (front.isConstant()) {tail_start=front.ring().nVariables()+1; return;} idx_type front_idx=(*(front.navigation())); tail_start=front_idx - (front_idx % var_group_size) + var_group_size; } idx_type LexBucket::getTailStart(){ return tail_start; } END_NAMESPACE_PBORIGB BRiAl-1.2.12/groebner/src/LiteralFactorization.cc000066400000000000000000000364421436062512100215710ustar00rootroot00000000000000/* * LiteralFactorization.cc * PolyBoRi * * Created by Michael Brickenstein on 29.05.06. * Copyright 2006 The PolyBoRi Team. See LICENSE file. * */ #include #include #include #include #include BEGIN_NAMESPACE_PBORIGB std::vector easy_linear_factors(const Polynomial &p){ LiteralFactorization factorization(p); std::vector res; LiteralFactorizationIterator it1=factorization.begin(); LiteralFactorizationIterator end1=factorization.end(); while(it1!=end1){ res.push_back(*it1); ++it1; } return res; } static Polynomial do_has_factor_x(const MonomialSet& m,const Variable& x){ if (m.isZero()) return m.ring().one(); MonomialSet::navigator nav=m.navigation(); idx_type x_idx=x.index(); while((!(nav.isConstant())) && (nav.elseBranch().isEmpty()) &&(*navx_idx){ return m.ring().zero();//False } else { PBORI_ASSERT (*nav cache_mgr_type; cache_mgr_type cache_mgr(m.ring()); MonomialSet::navigator cached=cache_mgr.find(nav, ((Polynomial) x).diagram().navigation()); if (cached.isValid() ){ return cache_mgr.generate(cached); } Polynomial res0=do_has_factor_x(cache_mgr.generate(nav.elseBranch()),x); Polynomial res=res0; if (res0==1){ res=do_has_factor_x(cache_mgr.generate(nav.thenBranch()),x); } cache_mgr.insert(nav,((Polynomial) x).diagram().navigation(),res.diagram().navigation()); return res; } } } static Polynomial do_left_equals_right_x_branch_and_r_has_fac_x(const MonomialSet& left,const MonomialSet& right, const Variable& x){ if (left.isZero()) return Polynomial(right.isZero(), left.ring()); MonomialSet::navigator nav_l=left.navigation(); MonomialSet::navigator nav_r=right.navigation(); typedef PBORI::CacheManager cache_mgr_type; if (*nav_l<*nav_r) return left.ring().zero(); idx_type x_idx=x.index(); if (*nav_r>x_idx) return left.ring().zero(); if ((*nav_l!=*nav_r) && (*nav_r!=x_idx)) return left.ring().zero(); if (*nav_l==x_idx) return left.ring().zero(); if (*nav_r==x_idx){ return Polynomial((nav_r.thenBranch()==nav_l) && (nav_r.elseBranch().isEmpty()), left.ring()); } else { PBORI_ASSERT(!(nav_r.isEmpty())); PBORI_ASSERT(*nav_rmin_idx){ return m.ring().zero();//False } else { PBORI_ASSERT (*nav cache_mgr_type; cache_mgr_type cache_mgr(m.ring()); MonomialSet::navigator x_nav=((Polynomial) x).diagram().navigation(); MonomialSet::navigator y_nav=((Polynomial) y).diagram().navigation(); MonomialSet::navigator cached=cache_mgr.find(nav, x_nav,y_nav); if (cached.isValid() ){ return cache_mgr.generate(cached); } Polynomial res0=do_has_factor_x_plus_y(cache_mgr.generate(nav.elseBranch()), x,y); Polynomial res=res0; if (res0==1){ res=do_has_factor_x_plus_y(cache_mgr.generate(nav.thenBranch()),x,y); } cache_mgr.insert(nav,x_nav,y_nav,res.diagram().navigation()); return res; } } } //struct has_factor_x_plus_y: public ternary_cache_tag { }; //struct left_equals_right_x_branch: public ternary_cache_tag { }; static Polynomial do_has_factor_x_plus_one(const MonomialSet& m,const Variable& x){ if (m.isZero()) return m.ring().one(); MonomialSet::navigator nav=m.navigation(); idx_type x_idx=x.index(); while((!(nav.isConstant())) && (nav.elseBranch().isEmpty()) &&(*navx_idx){ return m.ring().zero();//False } else { PBORI_ASSERT (*nav cache_mgr_type; cache_mgr_type cache_mgr(m.ring()); MonomialSet::navigator cached=cache_mgr.find(nav, ((Polynomial) x).diagram().navigation()); if (cached.isValid() ){ return cache_mgr.generate(cached); } Polynomial res0=do_has_factor_x_plus_one(cache_mgr.generate(nav.elseBranch()),x); Polynomial res=res0; if (res0==1){ res=do_has_factor_x_plus_one(cache_mgr.generate(nav.thenBranch()), x); } cache_mgr.insert(nav,((Polynomial) x).diagram().navigation(),res.diagram().navigation()); return res; } } } static bool has_factor_x(const MonomialSet& m, const Variable& x){ return do_has_factor_x(m,x)==1; } static bool has_factor_x_plus_one(const MonomialSet& m, const Variable& x){ return do_has_factor_x_plus_one(m,x)==1; } static bool has_factor_x_plus_y(const MonomialSet& m, const Variable& x,const Variable& y){ return do_has_factor_x_plus_y(m,x,y)==1; } #define ELEMENTAR_FACTORIZATION 1 LiteralFactorization::LiteralFactorization(const Polynomial& p): rest(p.ring()) { PBORI_ASSERT(!(p.isZero())); Exponent lead_variables=p.leadExp(); lmDeg=p.leadDeg(); Exponent other_variables=p.usedVariablesExp()-lead_variables; //only vars in the lead can factor out, independently of the order BooleSet r(p); Exponent::const_iterator it=lead_variables.begin(); const Exponent::const_iterator end=lead_variables.end(); int len_r=r.length(); while(it!=end){ PBORI_ASSERT(len_r==r.length()); idx_type v=*it; #ifndef ELEMENTAR_FACTORIZATION BooleSet s0=r.subset0(v); PBORI_ASSERT (s0.isZero()==has_factor_x(r,Variable(v, s0.ring()))); if (s0.isZero()){ #else Variable v_var(v, p.ring()); if (has_factor_x(r,Variable(v_var))){ #endif factors[v]=0;// var(v) is factor PBORI_ASSERT(r.change(v)==r.subset1(v)); r=r.change(v);//equivalently subset(1) //cout<<"found factor0"<second; idx_type variable=it->first; LiteralFactorization::map_type::const_iterator found_res=b.factors.find(variable); if (found_res!=b_end){ if (val==found_res->second){ ++res; } } it++; } } { LiteralFactorization::var2var_map_type::const_iterator vit=a.var2var_map.begin(); const LiteralFactorization::var2var_map_type::const_iterator vend=a.var2var_map.end(); const LiteralFactorization::var2var_map_type::const_iterator vb_end=b.var2var_map.end(); while(vit!=vend){ idx_type val=vit->second; idx_type variable=vit->first; LiteralFactorization::var2var_map_type::const_iterator found_res=b.var2var_map.find(variable); if (found_res!=vb_end){ if (val==found_res->second){ ++res; } } vit++; } } if (a.rest==b.rest){ res+=a.rest.leadDeg(); } return res; } bool LiteralFactorization::trivial() const{ return (((this->factors.size()==0) && (this->var2var_map.size()==0) ) || ((this->factors.size()==1) && (this->var2var_map.size()==0) && this->rest.isOne()) || ((this->factors.size()==0) && (this->var2var_map.size()==1) && this->rest.isOne())) ; } bool LiteralFactorization::occursAsLeadOfFactor(idx_type v) const{ if (factors.count(v)>0){ return true; } else{ if (rest.leadDeg()==1){ Exponent m=rest.leadExp(); return ((*(m.begin()))==v); } if (var2var_map.count(v)>0) return true; } return false; //return ((factors.count(v)>0)||((rest.lmDeg()==1)&& ((*(rest.lead().begin()))==v))); } //LiteralFactorization::var_pair_type LiteralFactorization::constr_two_var_factor(int i, int j){ // return var_pair_type(std::min(i,j),std::max(i,j)); //} bool maps_to_one( const std::pair v){ return (v.second==1); } bool maps_to_zero( const std::pair v){ return (v.second==0); } bool LiteralFactorization::is11Factorization() const { if (this->factors.size() == std::size_t(lmDeg)){ if (find_if(factors.begin(),factors.end(), maps_to_zero)==factors.end()){ return true; } else return false; } return false; } bool LiteralFactorization::is00Factorization() const { if (this->factors.size() == std::size_t(lmDeg)){ if (find_if(factors.begin(),factors.end(), maps_to_one)==factors.end()){ return true; } else return false; } return false; } LiteralFactorization::const_iterator LiteralFactorization::begin(){ return LiteralFactorizationIterator(this, factors.begin(), var2var_map.begin()); } LiteralFactorization::const_iterator LiteralFactorization::end(){ return LiteralFactorizationIterator(this, factors.end(), var2var_map.end()); } Polynomial multiply_with_literal_factors(const LiteralFactorization& lf, Polynomial p){ LiteralFactorization::map_type::const_iterator it=lf.factors.begin(); LiteralFactorization::map_type::const_iterator end=lf.factors.end(); LiteralFactorization::var2var_map_type::const_iterator it_v=lf.var2var_map.begin(); LiteralFactorization::var2var_map_type::const_iterator end_v=lf.var2var_map.end(); while(it!=end){ idx_type var=it->first; int val=it->second; if (val==0){ p=p.diagram().change(var); } else { p=p.diagram().change(var).unite(p.diagram()); } it++; } while(it_v!=end_v){ idx_type var=it_v->first; idx_type var2=it_v->second; p=p.diagram().change(var).unite(p.diagram().change(var2)); it_v++; } return p; } END_NAMESPACE_PBORIGB BRiAl-1.2.12/groebner/src/LiteralFactorizationIterator.cc000066400000000000000000000021211436062512100232660ustar00rootroot00000000000000/* * LiteralFactorizationIterator.cc * PolyBoRi * * Created by Michael Brickenstein on 29.05.06. * Copyright 2006 The PolyBoRi Team. See LICENSE file. * */ #include #include #include BEGIN_NAMESPACE_PBORIGB LiteralFactorizationIterator::self& LiteralFactorizationIterator::operator++(){ if (var2const_iter!=literal_factorization->factors.end()){ ++var2const_iter; } else if (var2var_iter!=literal_factorization->var2var_map.end()){ ++var2var_iter; } return *this; } Polynomial LiteralFactorizationIterator::operator*() const{ if (var2const_iter!=literal_factorization->factors.end()){ return Variable(var2const_iter->first, m_ring) + Polynomial(var2const_iter->second, m_ring); } if (var2var_iter!=literal_factorization->var2var_map.end()){ return Variable(var2var_iter->first, m_ring) + Variable(var2var_iter->second,m_ring); } throw std::runtime_error("Should never reach here!"); return m_ring.zero(); } END_NAMESPACE_PBORIGB BRiAl-1.2.12/groebner/src/Makefile.am000066400000000000000000000014141436062512100171540ustar00rootroot00000000000000include $(top_srcdir)/common.mk lib_LTLIBRARIES = libbrial_groebner.la libbrial_groebner_la_CXXFLAGS = $(AM_CXXFLAGS) $(M4RI_CFLAGS) $(SIMMD_CFLAGS) libbrial_groebner_la_LIBADD = \ $(top_builddir)/libbrial.la \ $(LIBPNG_LIBADD) \ $(M4RI_LIBS) \ $(GD_LIBS) libbrial_groebner_la_LDFLAGS = -no-undefined $(AM_LDFLAGS) -version-info @LT_CURRENT@:@LT_REVISION@:@LT_AGE@ libbrial_groebner_la_SOURCES = \ dlex4data.cc \ dp_asc4data.cc \ FGLMStrategy.cc \ groebner.cc \ groebner_alg.cc \ GroebnerStrategy.cc \ interpolate.cc \ LexBucket.cc \ LiteralFactorization.cc \ LiteralFactorizationIterator.cc \ lp4data.cc \ MatrixMonomialOrderTables.cc \ nf.cc \ PairManager.cc \ pairs.cc \ PolyEntry.cc \ polynomial_properties.cc \ randomset.cc \ ReductionStrategy.cc BRiAl-1.2.12/groebner/src/MatrixMonomialOrderTables.cc000066400000000000000000000026011436062512100225150ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file MatrixMonomialOrderTables.cc * * @author Michael Brickenstein (original), Alexander Dreyer (refactorized) * @date 2011-06-30 * * This file includes the implementation of the class @c MatrixMonomialOrderTables. * * @par Copyright: * (c) 2006-2011 by The PolyBoRi Team * **/ //***************************************************************************** // include basic definitions #include #include #include BEGIN_NAMESPACE_PBORIGB void MatrixMonomialOrderTables::setup_order_tables(){ int n=terms.size(); terms_as_exp.resize(n); terms_as_exp_lex.resize(n); std::copy(terms.expBegin(),terms.expEnd(),terms_as_exp.begin()); terms_as_exp_lex=terms_as_exp; std::sort(terms_as_exp.begin(),terms_as_exp.end(), ExpGreater(terms.ring())); ring_order2lex.resize(n); lex_order2ring.resize(n); int i; for (i=0;i BEGIN_NAMESPACE_PBORIGB // all inlined now END_NAMESPACE_PBORIGB BRiAl-1.2.12/groebner/src/PolyEntry.cc000066400000000000000000000021001436062512100173650ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file PolyEntry.cc * * @author Michael Brickenstein * @date 2011-06-30 * * This file includes the definition of the class @c PolyEntry. * * @par Copyright: * (c) 2006-2010 by The PolyBoRi Team * **/ //***************************************************************************** // include basic definitions #include BEGIN_NAMESPACE_PBORIGB void PolyEntry::recomputeInformation(){ PBORI_ASSERT(this->lead==p.lead()); if (!(this->p.ring().ordering().isDegreeOrder())) this->deg=p.deg(); //so also lmExp keeps constant this->length=p.length(); if (leadDeg==deg) this->weightedLength=this->length; else this->weightedLength=p.eliminationLengthWithDegBound(deg); this->usedVariables=p.usedVariablesExp(); tail=p-lead; this->tailVariables=tail.usedVariablesExp(); this->literal_factors=LiteralFactorization(p); //minimal keeps constant PBORI_ASSERT(this->leadDeg==p.leadDeg()); } END_NAMESPACE_PBORIGB BRiAl-1.2.12/groebner/src/ReductionStrategy.cc000066400000000000000000000062441436062512100211140ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file ReductionStrategy.cc * * @author Michael Brickenstein * @date 2011-06-30 * * This file includes the definition of the class @c ReductionStrategy. * * @par Copyright: * (c) 2006-2010 by The PolyBoRi Team * **/ //***************************************************************************** // include basic definitions #include #include #include #include #include BEGIN_NAMESPACE_PBORIGB /// @note do not inline (optimization screws for some reason) /// @todo Check whether this is still the case! /// see: HeuristicQuickTestCase.test_mult6x6mit_lp /// HeuristicCryptoTestCase.test_ctc_Nr3_B7_n20joined_dp_asc void ReductionStrategy::setupSetsForElement(const PolyEntry& entry) { PBORI_ASSERT(entry.lead.exp() == entry.leadExp); unmarkNonMinimalLeadingTerms( minimalLeadingTerms.update(entry.lead) ); leadingTerms.update(entry); leadingTerms00.update(entry); //doesn't need to be undone on simplification leadingTerms11.update(entry); monomials.update(entry); #ifdef LL_RED_FOR_GROEBNER if (optLL) { Polynomial updated = llReductor.update(entry); if (updated != entry.p) exchange(entry.lead, updated); } #endif } int ReductionStrategy::select_short_by_terms(const MonomialSet& terms) const { MonomialSet ms(leadingTerms.intersect(terms)); int res = minimum(ms.begin(), ms.end(), LessWeightedLengthInStrat(*this)); if (res == -1 || (*this)[res].weightedLength<=2) return res; return -1; } typedef LessWeightedLengthInStratModified StratComparerForSelect; int ReductionStrategy::select1(const Polynomial& p) const { #ifdef LEX_LEAD_RED_STRAT if (p.ring().ordering().isLexicographical()) { MonomialSet ms = leadingTerms.divisorsOf(p.lexLead()); return (ms.isZero()? -1: index(*ms.expBegin())); } #endif return select1(p.lead()); } int ReductionStrategy::select1(const Monomial& m) const { MonomialSet ms(leadingTerms.divisorsOf(m)); return minimum(ms.expBegin(), ms.expEnd(), StratComparerForSelect(*this)); } Polynomial ReductionStrategy::reducedNormalForm(const Polynomial& p) const { return red_tail(*this, headNormalForm(p)); } Polynomial ReductionStrategy::headNormalForm(const Polynomial& p) const { if PBORI_UNLIKELY(p.isZero()) return p; return (p.ring().ordering().isDegreeOrder()? nf3_degree_order(*this, p, p.lead()): nf3(*this, p, p.lead())); } void ReductionStrategy::llReduceAll() { Exponent ll_e = *(llReductor.expBegin()); const_iterator start(begin()), finish(end()); for(; start != finish; ++start) llReduce(*start, ll_e); } void ReductionStrategy::llReduce(const PolyEntry& entry, const Exponent& ll_e){ if ((entry.minimal) && (ll_e.GCD(entry.tailVariables).deg() > 0)) { Polynomial tail = ll_red_nf(entry.tail, llReductor); if (tail != entry.tail) { operator()(entry) = tail + entry.lead; monomials.update(entry); } } } END_NAMESPACE_PBORIGB BRiAl-1.2.12/groebner/src/dlex4data.cc000066400000000000000000110101741436062512100173060ustar00rootroot00000000000000/* Copyright (c) 2005-2007 by The PolyBoRi Team */ // The content of this file is intellectual property of Michael Brickenstein // Note, that choosing GPL3+ we made a clear statement against software // patents. // The method using this tables is actually described in // http://arxiv.org/abs/0801.1177 #include BEGIN_NAMESPACE_PBORIGB const unsigned short dlex4var_data[][7]={ {0, 0, 0, 0, 0, 0, 0}, {1, 0, 0, 0, 0, 0, 0}, {2, 0, 0, 0, 0, 0, 0}, {3, 0, 0, 0, 0, 0, 0}, {4, 0, 0, 0, 0, 0, 0}, {5, 0, 0, 0, 0, 0, 0}, {6, 0, 0, 0, 0, 0, 0}, {7, 0, 0, 0, 0, 0, 0}, {8, 0, 0, 0, 0, 0, 0}, {3, 5, 0, 0, 0, 0, 0}, {10, 0, 0, 0, 0, 0, 0}, {3, 4, 0, 0, 0, 0, 0}, {12, 0, 0, 0, 0, 0, 0}, {2, 5, 0, 0, 0, 0, 0}, {2, 4, 0, 0, 0, 0, 0}, {15, 0, 0, 0, 0, 0, 0}, {16, 0, 0, 0, 0, 0, 0}, {17, 0, 0, 0, 0, 0, 0}, {18, 0, 0, 0, 0, 0, 0}, {19, 0, 0, 0, 0, 0, 0}, {20, 0, 0, 0, 0, 0, 0}, {21, 0, 0, 0, 0, 0, 0}, {22, 0, 0, 0, 0, 0, 0}, {23, 0, 0, 0, 0, 0, 0}, {24, 48, 80, 0, 0, 0, 0}, {25, 51, 85, 0, 0, 0, 0}, {26, 48, 64, 0, 0, 0, 0}, {27, 51, 68, 0, 0, 0, 0}, {28, 32, 80, 0, 0, 0, 0}, {29, 34, 85, 0, 0, 0, 0}, {30, 34, 68, 0, 0, 0, 0}, {31, 32, 64, 0, 0, 0, 0}, {32, 0, 0, 0, 0, 0, 0}, {3, 17, 0, 0, 0, 0, 0}, {34, 0, 0, 0, 0, 0, 0}, {3, 16, 0, 0, 0, 0, 0}, {12, 36, 68, 0, 0, 0, 0}, {15, 37, 85, 0, 0, 0, 0}, {12, 38, 64, 0, 0, 0, 0}, {15, 39, 80, 0, 0, 0, 0}, {40, 0, 0, 0, 0, 0, 0}, {3, 21, 0, 0, 0, 0, 0}, {42, 0, 0, 0, 0, 0, 0}, {3, 20, 0, 0, 0, 0, 0}, {12, 32, 64, 0, 0, 0, 0}, {15, 34, 85, 0, 0, 0, 0}, {12, 34, 68, 0, 0, 0, 0}, {15, 32, 80, 0, 0, 0, 0}, {48, 0, 0, 0, 0, 0, 0}, {2, 17, 0, 0, 0, 0, 0}, {2, 16, 0, 0, 0, 0, 0}, {51, 0, 0, 0, 0, 0, 0}, {8, 52, 68, 0, 0, 0, 0}, {10, 53, 85, 0, 0, 0, 0}, {10, 54, 80, 0, 0, 0, 0}, {8, 55, 64, 0, 0, 0, 0}, {8, 48, 64, 0, 0, 0, 0}, {10, 51, 85, 0, 0, 0, 0}, {10, 48, 80, 0, 0, 0, 0}, {8, 51, 68, 0, 0, 0, 0}, {60, 0, 0, 0, 0, 0, 0}, {2, 21, 0, 0, 0, 0, 0}, {2, 20, 0, 0, 0, 0, 0}, {63, 0, 0, 0, 0, 0, 0}, {64, 0, 0, 0, 0, 0, 0}, {5, 17, 0, 0, 0, 0, 0}, {10, 34, 66, 0, 0, 0, 0}, {15, 51, 67, 0, 0, 0, 0}, {68, 0, 0, 0, 0, 0, 0}, {5, 16, 0, 0, 0, 0, 0}, {10, 32, 70, 0, 0, 0, 0}, {15, 48, 71, 0, 0, 0, 0}, {72, 0, 0, 0, 0, 0, 0}, {19, 5, 0, 0, 0, 0, 0}, {10, 32, 64, 0, 0, 0, 0}, {15, 51, 68, 0, 0, 0, 0}, {76, 0, 0, 0, 0, 0, 0}, {18, 5, 0, 0, 0, 0, 0}, {10, 34, 68, 0, 0, 0, 0}, {15, 48, 64, 0, 0, 0, 0}, {80, 0, 0, 0, 0, 0, 0}, {4, 17, 0, 0, 0, 0, 0}, {8, 34, 82, 0, 0, 0, 0}, {12, 51, 83, 0, 0, 0, 0}, {4, 16, 0, 0, 0, 0, 0}, {85, 0, 0, 0, 0, 0, 0}, {12, 48, 86, 0, 0, 0, 0}, {8, 32, 87, 0, 0, 0, 0}, {8, 32, 80, 0, 0, 0, 0}, {12, 51, 85, 0, 0, 0, 0}, {90, 0, 0, 0, 0, 0, 0}, {19, 4, 0, 0, 0, 0, 0}, {12, 48, 80, 0, 0, 0, 0}, {8, 34, 85, 0, 0, 0, 0}, {18, 4, 0, 0, 0, 0, 0}, {95, 0, 0, 0, 0, 0, 0}, {96, 0, 0, 0, 0, 0, 0}, {7, 17, 0, 0, 0, 0, 0}, {8, 34, 64, 0, 0, 0, 0}, {15, 51, 80, 0, 0, 0, 0}, {8, 32, 68, 0, 0, 0, 0}, {15, 48, 85, 0, 0, 0, 0}, {102, 0, 0, 0, 0, 0, 0}, {7, 16, 0, 0, 0, 0, 0}, {8, 32, 64, 0, 0, 0, 0}, {15, 51, 85, 0, 0, 0, 0}, {106, 0, 0, 0, 0, 0, 0}, {19, 20, 0, 0, 0, 0, 0}, {108, 0, 0, 0, 0, 0, 0}, {18, 21, 0, 0, 0, 0, 0}, {8, 34, 68, 0, 0, 0, 0}, {15, 48, 80, 0, 0, 0, 0}, {112, 0, 0, 0, 0, 0, 0}, {6, 17, 0, 0, 0, 0, 0}, {10, 34, 80, 0, 0, 0, 0}, {12, 51, 64, 0, 0, 0, 0}, {12, 48, 68, 0, 0, 0, 0}, {10, 32, 85, 0, 0, 0, 0}, {6, 16, 0, 0, 0, 0, 0}, {119, 0, 0, 0, 0, 0, 0}, {120, 0, 0, 0, 0, 0, 0}, {19, 21, 0, 0, 0, 0, 0}, {10, 32, 80, 0, 0, 0, 0}, {12, 51, 68, 0, 0, 0, 0}, {12, 48, 64, 0, 0, 0, 0}, {10, 34, 85, 0, 0, 0, 0}, {18, 20, 0, 0, 0, 0, 0}, {127, 0, 0, 0, 0, 0, 0}, {128, 0, 0, 0, 0, 0, 0}, {3, 5, 17, 0, 0, 0, 0}, {10, 34, 0, 0, 0, 0, 0}, {3, 64, 0, 0, 0, 0, 0}, {12, 68, 0, 0, 0, 0, 0}, {32, 5, 0, 0, 0, 0, 0}, {6, 64, 0, 0, 0, 0, 0}, {15, 119, 0, 0, 0, 0, 0}, {136, 0, 0, 0, 0, 0, 0}, {3, 5, 16, 0, 0, 0, 0}, {10, 32, 0, 0, 0, 0, 0}, {3, 68, 0, 0, 0, 0, 0}, {12, 64, 0, 0, 0, 0, 0}, {34, 5, 0, 0, 0, 0, 0}, {6, 68, 0, 0, 0, 0, 0}, {15, 112, 0, 0, 0, 0, 0}, {48, 80, 0, 0, 0, 0, 0}, {8, 17, 0, 0, 0, 0, 0}, {18, 64, 0, 0, 0, 0, 0}, {95, 51, 0, 0, 0, 0, 0}, {32, 20, 0, 0, 0, 0, 0}, {63, 85, 0, 0, 0, 0, 0}, {90, 102, 0, 0, 0, 0, 0}, {23, 64, 0, 0, 0, 0, 0}, {8, 16, 0, 0, 0, 0, 0}, {51, 85, 0, 0, 0, 0, 0}, {90, 48, 0, 0, 0, 0, 0}, {19, 68, 0, 0, 0, 0, 0}, {60, 80, 0, 0, 0, 0, 0}, {34, 21, 0, 0, 0, 0, 0}, {22, 68, 0, 0, 0, 0, 0}, {95, 96, 0, 0, 0, 0, 0}, {160, 0, 0, 0, 0, 0, 0}, {3, 4, 17, 0, 0, 0, 0}, {8, 34, 0, 0, 0, 0, 0}, {3, 80, 0, 0, 0, 0, 0}, {32, 4, 0, 0, 0, 0, 0}, {15, 85, 0, 0, 0, 0, 0}, {12, 102, 0, 0, 0, 0, 0}, {7, 80, 0, 0, 0, 0, 0}, {8, 32, 0, 0, 0, 0, 0}, {3, 85, 0, 0, 0, 0, 0}, {170, 0, 0, 0, 0, 0, 0}, {3, 4, 16, 0, 0, 0, 0}, {12, 96, 0, 0, 0, 0, 0}, {7, 85, 0, 0, 0, 0, 0}, {34, 4, 0, 0, 0, 0, 0}, {15, 80, 0, 0, 0, 0, 0}, {48, 64, 0, 0, 0, 0, 0}, {10, 17, 0, 0, 0, 0, 0}, {18, 80, 0, 0, 0, 0, 0}, {76, 51, 0, 0, 0, 0, 0}, {60, 68, 0, 0, 0, 0, 0}, {32, 21, 0, 0, 0, 0, 0}, {22, 80, 0, 0, 0, 0, 0}, {72, 119, 0, 0, 0, 0, 0}, {72, 48, 0, 0, 0, 0, 0}, {19, 85, 0, 0, 0, 0, 0}, {10, 16, 0, 0, 0, 0, 0}, {51, 68, 0, 0, 0, 0, 0}, {76, 112, 0, 0, 0, 0, 0}, {23, 85, 0, 0, 0, 0, 0}, {34, 20, 0, 0, 0, 0, 0}, {63, 64, 0, 0, 0, 0, 0}, {192, 0, 0, 0, 0, 0, 0}, {2, 5, 17, 0, 0, 0, 0}, {2, 64, 0, 0, 0, 0, 0}, {15, 51, 0, 0, 0, 0, 0}, {8, 68, 0, 0, 0, 0, 0}, {48, 5, 0, 0, 0, 0, 0}, {10, 102, 0, 0, 0, 0, 0}, {7, 64, 0, 0, 0, 0, 0}, {8, 64, 0, 0, 0, 0, 0}, {51, 5, 0, 0, 0, 0, 0}, {10, 96, 0, 0, 0, 0, 0}, {7, 68, 0, 0, 0, 0, 0}, {204, 0, 0, 0, 0, 0, 0}, {2, 5, 16, 0, 0, 0, 0}, {2, 68, 0, 0, 0, 0, 0}, {15, 48, 0, 0, 0, 0, 0}, {32, 80, 0, 0, 0, 0, 0}, {12, 17, 0, 0, 0, 0, 0}, {90, 34, 0, 0, 0, 0, 0}, {19, 64, 0, 0, 0, 0, 0}, {48, 20, 0, 0, 0, 0, 0}, {42, 85, 0, 0, 0, 0, 0}, {22, 64, 0, 0, 0, 0, 0}, {95, 119, 0, 0, 0, 0, 0}, {40, 80, 0, 0, 0, 0, 0}, {51, 21, 0, 0, 0, 0, 0}, {90, 112, 0, 0, 0, 0, 0}, {23, 68, 0, 0, 0, 0, 0}, {12, 16, 0, 0, 0, 0, 0}, {34, 85, 0, 0, 0, 0, 0}, {18, 68, 0, 0, 0, 0, 0}, {95, 32, 0, 0, 0, 0, 0}, {32, 64, 0, 0, 0, 0, 0}, {15, 17, 0, 0, 0, 0, 0}, {72, 34, 0, 0, 0, 0, 0}, {19, 80, 0, 0, 0, 0, 0}, {40, 68, 0, 0, 0, 0, 0}, {48, 21, 0, 0, 0, 0, 0}, {76, 102, 0, 0, 0, 0, 0}, {23, 80, 0, 0, 0, 0, 0}, {72, 96, 0, 0, 0, 0, 0}, {22, 85, 0, 0, 0, 0, 0}, {42, 64, 0, 0, 0, 0, 0}, {51, 20, 0, 0, 0, 0, 0}, {76, 32, 0, 0, 0, 0, 0}, {18, 85, 0, 0, 0, 0, 0}, {34, 68, 0, 0, 0, 0, 0}, {15, 16, 0, 0, 0, 0, 0}, {240, 0, 0, 0, 0, 0, 0}, {2, 4, 17, 0, 0, 0, 0}, {2, 80, 0, 0, 0, 0, 0}, {12, 51, 0, 0, 0, 0, 0}, {48, 4, 0, 0, 0, 0, 0}, {10, 85, 0, 0, 0, 0, 0}, {6, 80, 0, 0, 0, 0, 0}, {8, 119, 0, 0, 0, 0, 0}, {8, 112, 0, 0, 0, 0, 0}, {6, 85, 0, 0, 0, 0, 0}, {10, 80, 0, 0, 0, 0, 0}, {51, 4, 0, 0, 0, 0, 0}, {12, 48, 0, 0, 0, 0, 0}, {2, 85, 0, 0, 0, 0, 0}, {2, 4, 16, 0, 0, 0, 0}, {255, 0, 0, 0, 0, 0, 0}, {256, 0, 0, 0, 0, 0, 0}, {257, 0, 0, 0, 0, 0, 0}, {258, 0, 0, 0, 0, 0, 0}, {259, 0, 0, 0, 0, 0, 0}, {260, 0, 0, 0, 0, 0, 0}, {261, 0, 0, 0, 0, 0, 0}, {262, 0, 0, 0, 0, 0, 0}, {263, 0, 0, 0, 0, 0, 0}, {264, 768, 1280, 0, 0, 0, 0}, {265, 771, 1285, 0, 0, 0, 0}, {266, 768, 1024, 0, 0, 0, 0}, {267, 771, 1028, 0, 0, 0, 0}, {268, 512, 1280, 0, 0, 0, 0}, {269, 514, 1285, 0, 0, 0, 0}, {270, 514, 1028, 0, 0, 0, 0}, {271, 512, 1024, 0, 0, 0, 0}, {272, 0, 0, 0, 0, 0, 0}, {273, 0, 0, 0, 0, 0, 0}, {274, 0, 0, 0, 0, 0, 0}, {275, 0, 0, 0, 0, 0, 0}, {276, 0, 0, 0, 0, 0, 0}, {277, 0, 0, 0, 0, 0, 0}, {278, 0, 0, 0, 0, 0, 0}, {279, 0, 0, 0, 0, 0, 0}, {280, 816, 1360, 0, 0, 0, 0}, {281, 819, 1365, 0, 0, 0, 0}, {282, 816, 1088, 0, 0, 0, 0}, {283, 819, 1092, 0, 0, 0, 0}, {284, 544, 1360, 0, 0, 0, 0}, {285, 546, 1365, 0, 0, 0, 0}, {286, 546, 1092, 0, 0, 0, 0}, {287, 544, 1088, 0, 0, 0, 0}, {288, 768, 4352, 0, 0, 0, 0}, {289, 771, 4369, 0, 0, 0, 0}, {290, 768, 4096, 0, 0, 0, 0}, {291, 771, 4112, 0, 0, 0, 0}, {780, 292, 4420, 0, 0, 0, 0}, {783, 293, 4437, 0, 0, 0, 0}, {780, 294, 4160, 0, 0, 0, 0}, {783, 295, 4176, 0, 0, 0, 0}, {296, 768, 5376, 0, 0, 0, 0}, {297, 771, 5397, 0, 0, 0, 0}, {298, 768, 5120, 0, 0, 0, 0}, {299, 771, 5140, 0, 0, 0, 0}, {780, 544, 5440, 0, 0, 0, 0}, {783, 546, 5461, 0, 0, 0, 0}, {780, 546, 5188, 0, 0, 0, 0}, {783, 544, 5200, 0, 0, 0, 0}, {304, 512, 4352, 0, 0, 0, 0}, {305, 514, 4369, 0, 0, 0, 0}, {306, 514, 4112, 0, 0, 0, 0}, {307, 512, 4096, 0, 0, 0, 0}, {520, 308, 4420, 0, 0, 0, 0}, {522, 309, 4437, 0, 0, 0, 0}, {522, 310, 4176, 0, 0, 0, 0}, {520, 311, 4160, 0, 0, 0, 0}, {520, 816, 5440, 0, 0, 0, 0}, {522, 819, 5461, 0, 0, 0, 0}, {522, 816, 5200, 0, 0, 0, 0}, {520, 819, 5188, 0, 0, 0, 0}, {316, 512, 5376, 0, 0, 0, 0}, {317, 514, 5397, 0, 0, 0, 0}, {318, 514, 5140, 0, 0, 0, 0}, {319, 512, 5120, 0, 0, 0, 0}, {320, 1280, 4352, 0, 0, 0, 0}, {321, 1285, 4369, 0, 0, 0, 0}, {1290, 4386, 322, 0, 0, 0, 0}, {1295, 4403, 323, 0, 0, 0, 0}, {324, 1280, 4096, 0, 0, 0, 0}, {325, 1285, 4112, 0, 0, 0, 0}, {1290, 4128, 326, 0, 0, 0, 0}, {1295, 4144, 327, 0, 0, 0, 0}, {328, 4864, 1280, 0, 0, 0, 0}, {329, 4883, 1285, 0, 0, 0, 0}, {1290, 4896, 1088, 0, 0, 0, 0}, {1295, 4915, 1092, 0, 0, 0, 0}, {332, 4608, 1280, 0, 0, 0, 0}, {333, 4626, 1285, 0, 0, 0, 0}, {1290, 4642, 1092, 0, 0, 0, 0}, {1295, 4656, 1088, 0, 0, 0, 0}, {336, 1024, 4352, 0, 0, 0, 0}, {337, 1028, 4369, 0, 0, 0, 0}, {1032, 4386, 338, 0, 0, 0, 0}, {1036, 4403, 339, 0, 0, 0, 0}, {340, 1028, 4112, 0, 0, 0, 0}, {341, 1024, 4096, 0, 0, 0, 0}, {1036, 4144, 342, 0, 0, 0, 0}, {1032, 4128, 343, 0, 0, 0, 0}, {1032, 4896, 1360, 0, 0, 0, 0}, {1036, 4915, 1365, 0, 0, 0, 0}, {346, 4864, 1024, 0, 0, 0, 0}, {347, 4883, 1028, 0, 0, 0, 0}, {1036, 4656, 1360, 0, 0, 0, 0}, {1032, 4642, 1365, 0, 0, 0, 0}, {350, 4626, 1028, 0, 0, 0, 0}, {351, 4608, 1024, 0, 0, 0, 0}, {352, 1792, 4352, 0, 0, 0, 0}, {353, 1799, 4369, 0, 0, 0, 0}, {1800, 4386, 4160, 0, 0, 0, 0}, {1807, 4403, 4176, 0, 0, 0, 0}, {1800, 4128, 4420, 0, 0, 0, 0}, {1807, 4144, 4437, 0, 0, 0, 0}, {358, 1792, 4096, 0, 0, 0, 0}, {359, 1799, 4112, 0, 0, 0, 0}, {1800, 4896, 5440, 0, 0, 0, 0}, {1807, 4915, 5461, 0, 0, 0, 0}, {362, 4864, 5120, 0, 0, 0, 0}, {363, 4883, 5140, 0, 0, 0, 0}, {364, 4608, 5376, 0, 0, 0, 0}, {365, 4626, 5397, 0, 0, 0, 0}, {1800, 4642, 5188, 0, 0, 0, 0}, {1807, 4656, 5200, 0, 0, 0, 0}, {368, 1536, 4352, 0, 0, 0, 0}, {369, 1542, 4369, 0, 0, 0, 0}, {1546, 4386, 4176, 0, 0, 0, 0}, {1548, 4403, 4160, 0, 0, 0, 0}, {1548, 4144, 4420, 0, 0, 0, 0}, {1546, 4128, 4437, 0, 0, 0, 0}, {374, 1542, 4112, 0, 0, 0, 0}, {375, 1536, 4096, 0, 0, 0, 0}, {376, 4864, 5376, 0, 0, 0, 0}, {377, 4883, 5397, 0, 0, 0, 0}, {1546, 4896, 5200, 0, 0, 0, 0}, {1548, 4915, 5188, 0, 0, 0, 0}, {1548, 4656, 5440, 0, 0, 0, 0}, {1546, 4642, 5461, 0, 0, 0, 0}, {382, 4626, 5140, 0, 0, 0, 0}, {383, 4608, 5120, 0, 0, 0, 0}, {384, 768, 1280, 4352, 0, 0, 0}, {385, 771, 1285, 4369, 0, 0, 0}, {1290, 4386, 768, 16384, 0, 0, 0}, {1295, 4403, 771, 16448, 0, 0, 0}, {780, 8192, 4420, 1280, 0, 0, 0}, {783, 8224, 4437, 1285, 0, 0, 0}, {1290, 4454, 1542, 16448, 0, 0, 0}, {1295, 4471, 1536, 16384, 0, 0, 0}, {392, 768, 1280, 4096, 0, 0, 0}, {393, 771, 1285, 4112, 0, 0, 0}, {1290, 4128, 768, 17408, 0, 0, 0}, {1295, 4144, 771, 17476, 0, 0, 0}, {780, 8704, 4160, 1280, 0, 0, 0}, {783, 8738, 4176, 1285, 0, 0, 0}, {1290, 4192, 1542, 17476, 0, 0, 0}, {1295, 4208, 1536, 17408, 0, 0, 0}, {2048, 816, 1360, 4352, 0, 0, 0}, {2056, 819, 1365, 4369, 0, 0, 0}, {1370, 4386, 4626, 16448, 0, 0, 0}, {1375, 4403, 4608, 16384, 0, 0, 0}, {828, 8224, 4420, 5140, 0, 0, 0}, {831, 8192, 4437, 5120, 0, 0, 0}, {1370, 4454, 5888, 16384, 0, 0, 0}, {1375, 4471, 5911, 16448, 0, 0, 0}, {2056, 816, 1360, 4112, 0, 0, 0}, {2048, 819, 1365, 4096, 0, 0, 0}, {1370, 4144, 4864, 17408, 0, 0, 0}, {1375, 4128, 4883, 17476, 0, 0, 0}, {828, 8704, 4176, 5376, 0, 0, 0}, {831, 8738, 4160, 5397, 0, 0, 0}, {1370, 4208, 5654, 17476, 0, 0, 0}, {1375, 4192, 5632, 17408, 0, 0, 0}, {416, 768, 1024, 4352, 0, 0, 0}, {417, 771, 1028, 4369, 0, 0, 0}, {1032, 4386, 768, 20480, 0, 0, 0}, {1036, 4403, 771, 20560, 0, 0, 0}, {780, 8224, 4420, 1028, 0, 0, 0}, {783, 8192, 4437, 1024, 0, 0, 0}, {1036, 4454, 1792, 20480, 0, 0, 0}, {1032, 4471, 1799, 20560, 0, 0, 0}, {1032, 4128, 768, 21760, 0, 0, 0}, {1036, 4144, 771, 21845, 0, 0, 0}, {426, 768, 1024, 4096, 0, 0, 0}, {427, 771, 1028, 4112, 0, 0, 0}, {1036, 4192, 1792, 21760, 0, 0, 0}, {1032, 4208, 1799, 21845, 0, 0, 0}, {780, 8738, 4160, 1028, 0, 0, 0}, {783, 8704, 4176, 1024, 0, 0, 0}, {2560, 816, 1088, 4352, 0, 0, 0}, {2570, 819, 1092, 4369, 0, 0, 0}, {1096, 4386, 4626, 20560, 0, 0, 0}, {1100, 4403, 4608, 20480, 0, 0, 0}, {828, 8192, 4420, 5376, 0, 0, 0}, {831, 8224, 4437, 5397, 0, 0, 0}, {1100, 4454, 5654, 20560, 0, 0, 0}, {1096, 4471, 5632, 20480, 0, 0, 0}, {1096, 4144, 4864, 21760, 0, 0, 0}, {1100, 4128, 4883, 21845, 0, 0, 0}, {2570, 816, 1088, 4112, 0, 0, 0}, {2560, 819, 1092, 4096, 0, 0, 0}, {1100, 4208, 5888, 21760, 0, 0, 0}, {1096, 4192, 5911, 21845, 0, 0, 0}, {828, 8738, 4176, 5140, 0, 0, 0}, {831, 8704, 4160, 5120, 0, 0, 0}, {448, 512, 1280, 4352, 0, 0, 0}, {449, 514, 1285, 4369, 0, 0, 0}, {1290, 4386, 514, 16448, 0, 0, 0}, {1295, 4403, 512, 16384, 0, 0, 0}, {520, 12288, 4420, 1280, 0, 0, 0}, {522, 12336, 4437, 1285, 0, 0, 0}, {1290, 4454, 1792, 16384, 0, 0, 0}, {1295, 4471, 1799, 16448, 0, 0, 0}, {520, 13056, 4160, 1280, 0, 0, 0}, {522, 13107, 4176, 1285, 0, 0, 0}, {1290, 4192, 1792, 17408, 0, 0, 0}, {1295, 4208, 1799, 17476, 0, 0, 0}, {460, 512, 1280, 4096, 0, 0, 0}, {461, 514, 1285, 4112, 0, 0, 0}, {1290, 4128, 514, 17476, 0, 0, 0}, {1295, 4144, 512, 17408, 0, 0, 0}, {3072, 544, 1360, 4352, 0, 0, 0}, {3084, 546, 1365, 4369, 0, 0, 0}, {1370, 4386, 4864, 16384, 0, 0, 0}, {1375, 4403, 4883, 16448, 0, 0, 0}, {552, 12336, 4420, 5140, 0, 0, 0}, {554, 12288, 4437, 5120, 0, 0, 0}, {1370, 4454, 5654, 16448, 0, 0, 0}, {1375, 4471, 5632, 16384, 0, 0, 0}, {552, 13056, 4176, 5376, 0, 0, 0}, {554, 13107, 4160, 5397, 0, 0, 0}, {1370, 4208, 5888, 17408, 0, 0, 0}, {1375, 4192, 5911, 17476, 0, 0, 0}, {3084, 544, 1360, 4112, 0, 0, 0}, {3072, 546, 1365, 4096, 0, 0, 0}, {1370, 4144, 4626, 17476, 0, 0, 0}, {1375, 4128, 4608, 17408, 0, 0, 0}, {3840, 544, 1088, 4352, 0, 0, 0}, {3855, 546, 1092, 4369, 0, 0, 0}, {1096, 4386, 4864, 20480, 0, 0, 0}, {1100, 4403, 4883, 20560, 0, 0, 0}, {552, 12288, 4420, 5376, 0, 0, 0}, {554, 12336, 4437, 5397, 0, 0, 0}, {1100, 4454, 5888, 20480, 0, 0, 0}, {1096, 4471, 5911, 20560, 0, 0, 0}, {1096, 4192, 5632, 21760, 0, 0, 0}, {1100, 4208, 5654, 21845, 0, 0, 0}, {554, 13056, 4160, 5120, 0, 0, 0}, {552, 13107, 4176, 5140, 0, 0, 0}, {1100, 4128, 4608, 21760, 0, 0, 0}, {1096, 4144, 4626, 21845, 0, 0, 0}, {3840, 546, 1092, 4096, 0, 0, 0}, {3855, 544, 1088, 4112, 0, 0, 0}, {496, 512, 1024, 4352, 0, 0, 0}, {497, 514, 1028, 4369, 0, 0, 0}, {1032, 4386, 514, 20560, 0, 0, 0}, {1036, 4403, 512, 20480, 0, 0, 0}, {520, 12336, 4420, 1028, 0, 0, 0}, {522, 12288, 4437, 1024, 0, 0, 0}, {1036, 4454, 1542, 20560, 0, 0, 0}, {1032, 4471, 1536, 20480, 0, 0, 0}, {1032, 4208, 1536, 21760, 0, 0, 0}, {1036, 4192, 1542, 21845, 0, 0, 0}, {522, 13056, 4176, 1024, 0, 0, 0}, {520, 13107, 4160, 1028, 0, 0, 0}, {1036, 4144, 512, 21760, 0, 0, 0}, {1032, 4128, 514, 21845, 0, 0, 0}, {510, 514, 1028, 4112, 0, 0, 0}, {511, 512, 1024, 4096, 0, 0, 0}, {512, 0, 0, 0, 0, 0, 0}, {3, 257, 0, 0, 0, 0, 0}, {514, 0, 0, 0, 0, 0, 0}, {3, 256, 0, 0, 0, 0, 0}, {12, 516, 1028, 0, 0, 0, 0}, {15, 517, 1285, 0, 0, 0, 0}, {12, 518, 1024, 0, 0, 0, 0}, {15, 519, 1280, 0, 0, 0, 0}, {520, 0, 0, 0, 0, 0, 0}, {3, 261, 0, 0, 0, 0, 0}, {522, 0, 0, 0, 0, 0, 0}, {3, 260, 0, 0, 0, 0, 0}, {12, 512, 1024, 0, 0, 0, 0}, {15, 514, 1285, 0, 0, 0, 0}, {12, 514, 1028, 0, 0, 0, 0}, {15, 512, 1280, 0, 0, 0, 0}, {48, 528, 4112, 0, 0, 0, 0}, {51, 529, 4369, 0, 0, 0, 0}, {48, 530, 4096, 0, 0, 0, 0}, {51, 531, 4352, 0, 0, 0, 0}, {60, 532, 5140, 0, 0, 0, 0}, {63, 533, 5397, 0, 0, 0, 0}, {60, 534, 5120, 0, 0, 0, 0}, {63, 535, 5376, 0, 0, 0, 0}, {536, 48, 4176, 0, 0, 0, 0}, {537, 51, 4437, 0, 0, 0, 0}, {538, 48, 4160, 0, 0, 0, 0}, {539, 51, 4420, 0, 0, 0, 0}, {540, 544, 5200, 0, 0, 0, 0}, {541, 546, 5461, 0, 0, 0, 0}, {542, 546, 5188, 0, 0, 0, 0}, {543, 544, 5440, 0, 0, 0, 0}, {544, 0, 0, 0, 0, 0, 0}, {3, 273, 0, 0, 0, 0, 0}, {546, 0, 0, 0, 0, 0, 0}, {3, 272, 0, 0, 0, 0, 0}, {12, 548, 1092, 0, 0, 0, 0}, {15, 549, 1365, 0, 0, 0, 0}, {12, 550, 1088, 0, 0, 0, 0}, {15, 551, 1360, 0, 0, 0, 0}, {552, 0, 0, 0, 0, 0, 0}, {3, 277, 0, 0, 0, 0, 0}, {554, 0, 0, 0, 0, 0, 0}, {3, 276, 0, 0, 0, 0, 0}, {12, 544, 1088, 0, 0, 0, 0}, {15, 546, 1365, 0, 0, 0, 0}, {12, 546, 1092, 0, 0, 0, 0}, {15, 544, 1360, 0, 0, 0, 0}, {48, 512, 4096, 0, 0, 0, 0}, {51, 514, 4369, 0, 0, 0, 0}, {48, 514, 4112, 0, 0, 0, 0}, {51, 512, 4352, 0, 0, 0, 0}, {520, 564, 5188, 0, 0, 0, 0}, {522, 565, 5461, 0, 0, 0, 0}, {522, 566, 5200, 0, 0, 0, 0}, {520, 567, 5440, 0, 0, 0, 0}, {520, 48, 4160, 0, 0, 0, 0}, {522, 51, 4437, 0, 0, 0, 0}, {522, 48, 4176, 0, 0, 0, 0}, {520, 51, 4420, 0, 0, 0, 0}, {60, 512, 5120, 0, 0, 0, 0}, {63, 514, 5397, 0, 0, 0, 0}, {60, 514, 5140, 0, 0, 0, 0}, {63, 512, 5376, 0, 0, 0, 0}, {192, 576, 16448, 0, 0, 0, 0}, {15, 51, 577, 1285, 4369, 0, 0}, {192, 578, 16384, 0, 0, 0, 0}, {15, 51, 579, 1280, 4352, 0, 0}, {204, 580, 17476, 0, 0, 0, 0}, {15, 48, 581, 1285, 4112, 0, 0}, {204, 582, 17408, 0, 0, 0, 0}, {15, 48, 583, 1280, 4096, 0, 0}, {584, 8192, 16384, 0, 0, 0, 0}, {15, 51, 4883, 4437, 1285, 0, 0}, {586, 8224, 16448, 0, 0, 0, 0}, {15, 51, 4864, 4420, 1280, 0, 0}, {588, 8704, 17408, 0, 0, 0, 0}, {15, 48, 4626, 4176, 1285, 0, 0}, {590, 8738, 17476, 0, 0, 0, 0}, {15, 48, 4608, 4160, 1280, 0, 0}, {240, 592, 20560, 0, 0, 0, 0}, {12, 51, 593, 1028, 4369, 0, 0}, {240, 594, 20480, 0, 0, 0, 0}, {12, 51, 595, 1024, 4352, 0, 0}, {12, 48, 596, 1028, 4112, 0, 0}, {255, 597, 21845, 0, 0, 0, 0}, {12, 48, 598, 1024, 4096, 0, 0}, {255, 599, 21760, 0, 0, 0, 0}, {600, 8224, 20560, 0, 0, 0, 0}, {12, 51, 4864, 4437, 1024, 0, 0}, {602, 8192, 20480, 0, 0, 0, 0}, {12, 51, 4883, 4420, 1028, 0, 0}, {12, 48, 4608, 4176, 1024, 0, 0}, {605, 8738, 21845, 0, 0, 0, 0}, {12, 48, 4626, 4160, 1028, 0, 0}, {607, 8704, 21760, 0, 0, 0, 0}, {2048, 608, 16384, 0, 0, 0, 0}, {15, 51, 1799, 1365, 4369, 0, 0}, {2056, 610, 16448, 0, 0, 0, 0}, {15, 51, 1792, 1360, 4352, 0, 0}, {2056, 612, 17476, 0, 0, 0, 0}, {15, 48, 1792, 1365, 4096, 0, 0}, {2048, 614, 17408, 0, 0, 0, 0}, {15, 48, 1799, 1360, 4112, 0, 0}, {616, 8224, 16448, 0, 0, 0, 0}, {15, 51, 4864, 4437, 5120, 0, 0}, {618, 8192, 16384, 0, 0, 0, 0}, {15, 51, 4883, 4420, 5140, 0, 0}, {620, 8704, 17408, 0, 0, 0, 0}, {15, 48, 4626, 4160, 5397, 0, 0}, {622, 8738, 17476, 0, 0, 0, 0}, {15, 48, 4608, 4176, 5376, 0, 0}, {2560, 624, 20480, 0, 0, 0, 0}, {12, 51, 1542, 1092, 4369, 0, 0}, {2570, 626, 20560, 0, 0, 0, 0}, {12, 51, 1536, 1088, 4352, 0, 0}, {12, 48, 1536, 1092, 4096, 0, 0}, {2570, 629, 21845, 0, 0, 0, 0}, {12, 48, 1542, 1088, 4112, 0, 0}, {2560, 631, 21760, 0, 0, 0, 0}, {632, 8192, 20480, 0, 0, 0, 0}, {12, 51, 4883, 4437, 5397, 0, 0}, {634, 8224, 20560, 0, 0, 0, 0}, {12, 51, 4864, 4420, 5376, 0, 0}, {12, 48, 4608, 4160, 5120, 0, 0}, {637, 8738, 21845, 0, 0, 0, 0}, {12, 48, 4626, 4176, 5140, 0, 0}, {639, 8704, 21760, 0, 0, 0, 0}, {640, 2560, 8704, 0, 0, 0, 0}, {3, 321, 1285, 4369, 0, 0, 0}, {642, 2570, 8738, 0, 0, 0, 0}, {3, 320, 1280, 4352, 0, 0, 0}, {12, 1536, 1092, 0, 0, 0, 0}, {15, 629, 1285, 0, 0, 0, 0}, {12, 1542, 1088, 0, 0, 0, 0}, {15, 631, 1280, 0, 0, 0, 0}, {648, 2560, 8192, 0, 0, 0, 0}, {3, 325, 1285, 4112, 0, 0, 0}, {650, 2570, 8224, 0, 0, 0, 0}, {3, 324, 1280, 4096, 0, 0, 0}, {12, 1536, 1088, 0, 0, 0, 0}, {15, 626, 1285, 0, 0, 0, 0}, {12, 1542, 1092, 0, 0, 0, 0}, {15, 624, 1280, 0, 0, 0, 0}, {48, 4608, 4176, 0, 0, 0, 0}, {605, 51, 4369, 0, 0, 0, 0}, {48, 4626, 4160, 0, 0, 0, 0}, {607, 51, 4352, 0, 0, 0, 0}, {600, 612, 5140, 0, 0, 0, 0}, {63, 5888, 5461, 0, 0, 0, 0}, {602, 614, 5120, 0, 0, 0, 0}, {63, 5911, 5440, 0, 0, 0, 0}, {600, 48, 4112, 0, 0, 0, 0}, {51, 4864, 4437, 0, 0, 0, 0}, {602, 48, 4096, 0, 0, 0, 0}, {51, 4883, 4420, 0, 0, 0, 0}, {60, 5632, 5200, 0, 0, 0, 0}, {605, 610, 5397, 0, 0, 0, 0}, {60, 5654, 5188, 0, 0, 0, 0}, {607, 608, 5376, 0, 0, 0, 0}, {672, 2048, 8704, 0, 0, 0, 0}, {3, 337, 1028, 4369, 0, 0, 0}, {674, 2056, 8738, 0, 0, 0, 0}, {3, 336, 1024, 4352, 0, 0, 0}, {12, 612, 1028, 0, 0, 0, 0}, {15, 1792, 1365, 0, 0, 0, 0}, {12, 614, 1024, 0, 0, 0, 0}, {15, 1799, 1360, 0, 0, 0, 0}, {680, 2056, 8224, 0, 0, 0, 0}, {3, 341, 1024, 4096, 0, 0, 0}, {682, 2048, 8192, 0, 0, 0, 0}, {3, 340, 1028, 4112, 0, 0, 0}, {12, 608, 1024, 0, 0, 0, 0}, {15, 1799, 1365, 0, 0, 0, 0}, {12, 610, 1028, 0, 0, 0, 0}, {15, 1792, 1360, 0, 0, 0, 0}, {48, 4608, 4160, 0, 0, 0, 0}, {590, 51, 4369, 0, 0, 0, 0}, {48, 4626, 4176, 0, 0, 0, 0}, {588, 51, 4352, 0, 0, 0, 0}, {60, 5632, 5188, 0, 0, 0, 0}, {586, 629, 5397, 0, 0, 0, 0}, {60, 5654, 5200, 0, 0, 0, 0}, {584, 631, 5376, 0, 0, 0, 0}, {584, 48, 4096, 0, 0, 0, 0}, {51, 4883, 4437, 0, 0, 0, 0}, {586, 48, 4112, 0, 0, 0, 0}, {51, 4864, 4420, 0, 0, 0, 0}, {588, 624, 5120, 0, 0, 0, 0}, {63, 5911, 5461, 0, 0, 0, 0}, {590, 626, 5140, 0, 0, 0, 0}, {63, 5888, 5440, 0, 0, 0, 0}, {192, 512, 16384, 0, 0, 0, 0}, {15, 51, 514, 1285, 4369, 0, 0}, {192, 514, 16448, 0, 0, 0, 0}, {15, 51, 512, 1280, 4352, 0, 0}, {520, 8772, 17476, 0, 0, 0, 0}, {15, 48, 517, 4176, 1285, 0, 0}, {522, 8806, 17408, 0, 0, 0, 0}, {15, 48, 519, 4160, 1280, 0, 0}, {520, 8256, 16448, 0, 0, 0, 0}, {15, 51, 517, 4437, 1285, 0, 0}, {522, 8288, 16384, 0, 0, 0, 0}, {15, 51, 519, 4420, 1280, 0, 0}, {204, 512, 17408, 0, 0, 0, 0}, {15, 48, 514, 1285, 4112, 0, 0}, {204, 514, 17476, 0, 0, 0, 0}, {15, 48, 512, 1280, 4096, 0, 0}, {2640, 544, 20560, 0, 0, 0, 0}, {12, 51, 529, 1092, 4369, 0, 0}, {2650, 546, 20480, 0, 0, 0, 0}, {12, 51, 531, 1088, 4352, 0, 0}, {12, 48, 532, 4176, 5140, 0, 0}, {554, 8789, 21845, 0, 0, 0, 0}, {12, 48, 534, 4160, 5120, 0, 0}, {552, 8823, 21760, 0, 0, 0, 0}, {552, 8272, 20560, 0, 0, 0, 0}, {12, 51, 533, 4437, 5397, 0, 0}, {554, 8304, 20480, 0, 0, 0, 0}, {12, 51, 535, 4420, 5376, 0, 0}, {12, 48, 528, 1088, 4112, 0, 0}, {2645, 546, 21845, 0, 0, 0, 0}, {12, 48, 530, 1092, 4096, 0, 0}, {2655, 544, 21760, 0, 0, 0, 0}, {2112, 544, 16448, 0, 0, 0, 0}, {15, 51, 529, 1365, 4369, 0, 0}, {2120, 546, 16384, 0, 0, 0, 0}, {15, 51, 531, 1360, 4352, 0, 0}, {552, 8772, 17476, 0, 0, 0, 0}, {15, 48, 533, 4160, 5397, 0, 0}, {554, 8806, 17408, 0, 0, 0, 0}, {15, 48, 535, 4176, 5376, 0, 0}, {552, 8288, 16384, 0, 0, 0, 0}, {15, 51, 534, 4437, 5120, 0, 0}, {554, 8256, 16448, 0, 0, 0, 0}, {15, 51, 532, 4420, 5140, 0, 0}, {2124, 544, 17408, 0, 0, 0, 0}, {15, 48, 530, 1365, 4096, 0, 0}, {2116, 546, 17476, 0, 0, 0, 0}, {15, 48, 528, 1360, 4112, 0, 0}, {240, 512, 20480, 0, 0, 0, 0}, {12, 51, 514, 1028, 4369, 0, 0}, {240, 514, 20560, 0, 0, 0, 0}, {12, 51, 512, 1024, 4352, 0, 0}, {12, 48, 516, 4160, 1028, 0, 0}, {522, 8789, 21845, 0, 0, 0, 0}, {12, 48, 518, 4176, 1024, 0, 0}, {520, 8823, 21760, 0, 0, 0, 0}, {520, 8304, 20480, 0, 0, 0, 0}, {12, 51, 518, 4437, 1024, 0, 0}, {522, 8272, 20560, 0, 0, 0, 0}, {12, 51, 516, 4420, 1028, 0, 0}, {12, 48, 512, 1024, 4096, 0, 0}, {255, 514, 21845, 0, 0, 0, 0}, {12, 48, 514, 1028, 4112, 0, 0}, {255, 512, 21760, 0, 0, 0, 0}, {768, 0, 0, 0, 0, 0, 0}, {2, 257, 0, 0, 0, 0, 0}, {2, 256, 0, 0, 0, 0, 0}, {771, 0, 0, 0, 0, 0, 0}, {8, 772, 1028, 0, 0, 0, 0}, {10, 773, 1285, 0, 0, 0, 0}, {10, 774, 1280, 0, 0, 0, 0}, {8, 775, 1024, 0, 0, 0, 0}, {8, 768, 1024, 0, 0, 0, 0}, {10, 771, 1285, 0, 0, 0, 0}, {10, 768, 1280, 0, 0, 0, 0}, {8, 771, 1028, 0, 0, 0, 0}, {780, 0, 0, 0, 0, 0, 0}, {2, 261, 0, 0, 0, 0, 0}, {2, 260, 0, 0, 0, 0, 0}, {783, 0, 0, 0, 0, 0, 0}, {32, 784, 4112, 0, 0, 0, 0}, {34, 785, 4369, 0, 0, 0, 0}, {34, 786, 4352, 0, 0, 0, 0}, {32, 787, 4096, 0, 0, 0, 0}, {40, 788, 5140, 0, 0, 0, 0}, {42, 789, 5397, 0, 0, 0, 0}, {42, 790, 5376, 0, 0, 0, 0}, {40, 791, 5120, 0, 0, 0, 0}, {792, 816, 5200, 0, 0, 0, 0}, {793, 819, 5461, 0, 0, 0, 0}, {794, 816, 5440, 0, 0, 0, 0}, {795, 819, 5188, 0, 0, 0, 0}, {796, 32, 4176, 0, 0, 0, 0}, {797, 34, 4437, 0, 0, 0, 0}, {798, 34, 4420, 0, 0, 0, 0}, {799, 32, 4160, 0, 0, 0, 0}, {32, 768, 4096, 0, 0, 0, 0}, {34, 771, 4369, 0, 0, 0, 0}, {34, 768, 4352, 0, 0, 0, 0}, {32, 771, 4112, 0, 0, 0, 0}, {780, 804, 5188, 0, 0, 0, 0}, {783, 805, 5461, 0, 0, 0, 0}, {780, 806, 5440, 0, 0, 0, 0}, {783, 807, 5200, 0, 0, 0, 0}, {40, 768, 5120, 0, 0, 0, 0}, {42, 771, 5397, 0, 0, 0, 0}, {42, 768, 5376, 0, 0, 0, 0}, {40, 771, 5140, 0, 0, 0, 0}, {780, 32, 4160, 0, 0, 0, 0}, {783, 34, 4437, 0, 0, 0, 0}, {780, 34, 4420, 0, 0, 0, 0}, {783, 32, 4176, 0, 0, 0, 0}, {816, 0, 0, 0, 0, 0, 0}, {2, 273, 0, 0, 0, 0, 0}, {2, 272, 0, 0, 0, 0, 0}, {819, 0, 0, 0, 0, 0, 0}, {8, 820, 1092, 0, 0, 0, 0}, {10, 821, 1365, 0, 0, 0, 0}, {10, 822, 1360, 0, 0, 0, 0}, {8, 823, 1088, 0, 0, 0, 0}, {8, 816, 1088, 0, 0, 0, 0}, {10, 819, 1365, 0, 0, 0, 0}, {10, 816, 1360, 0, 0, 0, 0}, {8, 819, 1092, 0, 0, 0, 0}, {828, 0, 0, 0, 0, 0, 0}, {2, 277, 0, 0, 0, 0, 0}, {2, 276, 0, 0, 0, 0, 0}, {831, 0, 0, 0, 0, 0, 0}, {128, 832, 16448, 0, 0, 0, 0}, {10, 34, 833, 1285, 4369, 0, 0}, {10, 34, 834, 1280, 4352, 0, 0}, {128, 835, 16384, 0, 0, 0, 0}, {136, 836, 17476, 0, 0, 0, 0}, {10, 32, 837, 1285, 4112, 0, 0}, {10, 32, 838, 1280, 4096, 0, 0}, {136, 839, 17408, 0, 0, 0, 0}, {840, 13056, 17408, 0, 0, 0, 0}, {10, 32, 4883, 4176, 1285, 0, 0}, {10, 32, 4864, 4160, 1280, 0, 0}, {843, 13107, 17476, 0, 0, 0, 0}, {844, 12288, 16384, 0, 0, 0, 0}, {10, 34, 4626, 4437, 1285, 0, 0}, {10, 34, 4608, 4420, 1280, 0, 0}, {847, 12336, 16448, 0, 0, 0, 0}, {160, 848, 20560, 0, 0, 0, 0}, {8, 34, 849, 1028, 4369, 0, 0}, {8, 34, 850, 1024, 4352, 0, 0}, {160, 851, 20480, 0, 0, 0, 0}, {8, 32, 852, 1028, 4112, 0, 0}, {170, 853, 21845, 0, 0, 0, 0}, {170, 854, 21760, 0, 0, 0, 0}, {8, 32, 855, 1024, 4096, 0, 0}, {8, 32, 4864, 4176, 1024, 0, 0}, {857, 13107, 21845, 0, 0, 0, 0}, {858, 13056, 21760, 0, 0, 0, 0}, {8, 32, 4883, 4160, 1028, 0, 0}, {860, 12336, 20560, 0, 0, 0, 0}, {8, 34, 4608, 4437, 1024, 0, 0}, {8, 34, 4626, 4420, 1028, 0, 0}, {863, 12288, 20480, 0, 0, 0, 0}, {3840, 864, 20480, 0, 0, 0, 0}, {8, 34, 1799, 1092, 4369, 0, 0}, {8, 34, 1792, 1088, 4352, 0, 0}, {3855, 867, 20560, 0, 0, 0, 0}, {8, 32, 1792, 1092, 4096, 0, 0}, {3855, 869, 21845, 0, 0, 0, 0}, {3840, 870, 21760, 0, 0, 0, 0}, {8, 32, 1799, 1088, 4112, 0, 0}, {8, 32, 4864, 4160, 5120, 0, 0}, {873, 13107, 21845, 0, 0, 0, 0}, {874, 13056, 21760, 0, 0, 0, 0}, {8, 32, 4883, 4176, 5140, 0, 0}, {876, 12288, 20480, 0, 0, 0, 0}, {8, 34, 4626, 4437, 5397, 0, 0}, {8, 34, 4608, 4420, 5376, 0, 0}, {879, 12336, 20560, 0, 0, 0, 0}, {3072, 880, 16384, 0, 0, 0, 0}, {10, 34, 1542, 1365, 4369, 0, 0}, {10, 34, 1536, 1360, 4352, 0, 0}, {3084, 883, 16448, 0, 0, 0, 0}, {3084, 884, 17476, 0, 0, 0, 0}, {10, 32, 1536, 1365, 4096, 0, 0}, {10, 32, 1542, 1360, 4112, 0, 0}, {3072, 887, 17408, 0, 0, 0, 0}, {888, 13056, 17408, 0, 0, 0, 0}, {10, 32, 4883, 4160, 5397, 0, 0}, {10, 32, 4864, 4176, 5376, 0, 0}, {891, 13107, 17476, 0, 0, 0, 0}, {892, 12336, 16448, 0, 0, 0, 0}, {10, 34, 4608, 4437, 5120, 0, 0}, {10, 34, 4626, 4420, 5140, 0, 0}, {895, 12288, 16384, 0, 0, 0, 0}, {128, 768, 16384, 0, 0, 0, 0}, {10, 34, 771, 1285, 4369, 0, 0}, {10, 34, 768, 1280, 4352, 0, 0}, {128, 771, 16448, 0, 0, 0, 0}, {780, 13124, 17476, 0, 0, 0, 0}, {10, 32, 773, 4176, 1285, 0, 0}, {10, 32, 774, 4160, 1280, 0, 0}, {783, 13175, 17408, 0, 0, 0, 0}, {136, 768, 17408, 0, 0, 0, 0}, {10, 32, 771, 1285, 4112, 0, 0}, {10, 32, 768, 1280, 4096, 0, 0}, {136, 771, 17476, 0, 0, 0, 0}, {780, 12352, 16448, 0, 0, 0, 0}, {10, 34, 773, 4437, 1285, 0, 0}, {10, 34, 774, 4420, 1280, 0, 0}, {783, 12400, 16384, 0, 0, 0, 0}, {3920, 816, 20560, 0, 0, 0, 0}, {8, 34, 785, 1092, 4369, 0, 0}, {8, 34, 786, 1088, 4352, 0, 0}, {3935, 819, 20480, 0, 0, 0, 0}, {8, 32, 788, 4176, 5140, 0, 0}, {831, 13141, 21845, 0, 0, 0, 0}, {828, 13158, 21760, 0, 0, 0, 0}, {8, 32, 791, 4160, 5120, 0, 0}, {8, 32, 784, 1088, 4112, 0, 0}, {3925, 819, 21845, 0, 0, 0, 0}, {3930, 816, 21760, 0, 0, 0, 0}, {8, 32, 787, 1092, 4096, 0, 0}, {828, 12368, 20560, 0, 0, 0, 0}, {8, 34, 789, 4437, 5397, 0, 0}, {8, 34, 790, 4420, 5376, 0, 0}, {831, 12384, 20480, 0, 0, 0, 0}, {160, 768, 20480, 0, 0, 0, 0}, {8, 34, 771, 1028, 4369, 0, 0}, {8, 34, 768, 1024, 4352, 0, 0}, {160, 771, 20560, 0, 0, 0, 0}, {8, 32, 772, 4160, 1028, 0, 0}, {783, 13141, 21845, 0, 0, 0, 0}, {780, 13158, 21760, 0, 0, 0, 0}, {8, 32, 775, 4176, 1024, 0, 0}, {8, 32, 768, 1024, 4096, 0, 0}, {170, 771, 21845, 0, 0, 0, 0}, {170, 768, 21760, 0, 0, 0, 0}, {8, 32, 771, 1028, 4112, 0, 0}, {780, 12384, 20480, 0, 0, 0, 0}, {8, 34, 775, 4437, 1024, 0, 0}, {8, 34, 772, 4420, 1028, 0, 0}, {783, 12368, 20560, 0, 0, 0, 0}, {3136, 816, 16448, 0, 0, 0, 0}, {10, 34, 785, 1365, 4369, 0, 0}, {10, 34, 786, 1360, 4352, 0, 0}, {3148, 819, 16384, 0, 0, 0, 0}, {828, 13124, 17476, 0, 0, 0, 0}, {10, 32, 789, 4160, 5397, 0, 0}, {10, 32, 790, 4176, 5376, 0, 0}, {831, 13175, 17408, 0, 0, 0, 0}, {3144, 816, 17408, 0, 0, 0, 0}, {10, 32, 787, 1365, 4096, 0, 0}, {10, 32, 784, 1360, 4112, 0, 0}, {3140, 819, 17476, 0, 0, 0, 0}, {828, 12400, 16384, 0, 0, 0, 0}, {10, 34, 791, 4437, 5120, 0, 0}, {10, 34, 788, 4420, 5140, 0, 0}, {831, 12352, 16448, 0, 0, 0, 0}, {960, 3840, 13056, 0, 0, 0, 0}, {2, 321, 1285, 4369, 0, 0, 0}, {2, 320, 1280, 4352, 0, 0, 0}, {963, 3855, 13107, 0, 0, 0, 0}, {8, 1792, 1092, 0, 0, 0, 0}, {10, 869, 1285, 0, 0, 0, 0}, {10, 870, 1280, 0, 0, 0, 0}, {8, 1799, 1088, 0, 0, 0, 0}, {8, 1792, 1088, 0, 0, 0, 0}, {10, 867, 1285, 0, 0, 0, 0}, {10, 864, 1280, 0, 0, 0, 0}, {8, 1799, 1092, 0, 0, 0, 0}, {972, 3840, 12288, 0, 0, 0, 0}, {2, 325, 1285, 4112, 0, 0, 0}, {2, 324, 1280, 4096, 0, 0, 0}, {975, 3855, 12336, 0, 0, 0, 0}, {32, 4864, 4176, 0, 0, 0, 0}, {857, 34, 4369, 0, 0, 0, 0}, {858, 34, 4352, 0, 0, 0, 0}, {32, 4883, 4160, 0, 0, 0, 0}, {860, 884, 5140, 0, 0, 0, 0}, {42, 5632, 5461, 0, 0, 0, 0}, {42, 5654, 5440, 0, 0, 0, 0}, {863, 887, 5120, 0, 0, 0, 0}, {40, 5888, 5200, 0, 0, 0, 0}, {857, 883, 5397, 0, 0, 0, 0}, {858, 880, 5376, 0, 0, 0, 0}, {40, 5911, 5188, 0, 0, 0, 0}, {860, 32, 4112, 0, 0, 0, 0}, {34, 4608, 4437, 0, 0, 0, 0}, {34, 4626, 4420, 0, 0, 0, 0}, {863, 32, 4096, 0, 0, 0, 0}, {32, 4864, 4160, 0, 0, 0, 0}, {843, 34, 4369, 0, 0, 0, 0}, {840, 34, 4352, 0, 0, 0, 0}, {32, 4883, 4176, 0, 0, 0, 0}, {40, 5888, 5188, 0, 0, 0, 0}, {847, 869, 5397, 0, 0, 0, 0}, {844, 870, 5376, 0, 0, 0, 0}, {40, 5911, 5200, 0, 0, 0, 0}, {840, 864, 5120, 0, 0, 0, 0}, {42, 5654, 5461, 0, 0, 0, 0}, {42, 5632, 5440, 0, 0, 0, 0}, {843, 867, 5140, 0, 0, 0, 0}, {844, 32, 4096, 0, 0, 0, 0}, {34, 4626, 4437, 0, 0, 0, 0}, {34, 4608, 4420, 0, 0, 0, 0}, {847, 32, 4112, 0, 0, 0, 0}, {1008, 3072, 13056, 0, 0, 0, 0}, {2, 337, 1028, 4369, 0, 0, 0}, {2, 336, 1024, 4352, 0, 0, 0}, {1011, 3084, 13107, 0, 0, 0, 0}, {8, 884, 1028, 0, 0, 0, 0}, {10, 1536, 1365, 0, 0, 0, 0}, {10, 1542, 1360, 0, 0, 0, 0}, {8, 887, 1024, 0, 0, 0, 0}, {8, 880, 1024, 0, 0, 0, 0}, {10, 1542, 1365, 0, 0, 0, 0}, {10, 1536, 1360, 0, 0, 0, 0}, {8, 883, 1028, 0, 0, 0, 0}, {1020, 3084, 12336, 0, 0, 0, 0}, {2, 341, 1024, 4096, 0, 0, 0}, {2, 340, 1028, 4112, 0, 0, 0}, {1023, 3072, 12288, 0, 0, 0, 0}, {1024, 0, 0, 0, 0, 0, 0}, {5, 257, 0, 0, 0, 0, 0}, {10, 514, 1026, 0, 0, 0, 0}, {15, 771, 1027, 0, 0, 0, 0}, {1028, 0, 0, 0, 0, 0, 0}, {5, 256, 0, 0, 0, 0, 0}, {10, 512, 1030, 0, 0, 0, 0}, {15, 768, 1031, 0, 0, 0, 0}, {1032, 0, 0, 0, 0, 0, 0}, {259, 5, 0, 0, 0, 0, 0}, {10, 512, 1024, 0, 0, 0, 0}, {15, 771, 1028, 0, 0, 0, 0}, {1036, 0, 0, 0, 0, 0, 0}, {258, 5, 0, 0, 0, 0, 0}, {10, 514, 1028, 0, 0, 0, 0}, {15, 768, 1024, 0, 0, 0, 0}, {80, 1040, 4112, 0, 0, 0, 0}, {85, 1041, 4369, 0, 0, 0, 0}, {90, 4626, 1042, 0, 0, 0, 0}, {95, 4883, 1043, 0, 0, 0, 0}, {80, 1044, 4096, 0, 0, 0, 0}, {85, 1045, 4352, 0, 0, 0, 0}, {90, 4608, 1046, 0, 0, 0, 0}, {95, 4864, 1047, 0, 0, 0, 0}, {1048, 4144, 80, 0, 0, 0, 0}, {1049, 4403, 85, 0, 0, 0, 0}, {1050, 4656, 1088, 0, 0, 0, 0}, {1051, 4915, 1092, 0, 0, 0, 0}, {1052, 4128, 80, 0, 0, 0, 0}, {1053, 4386, 85, 0, 0, 0, 0}, {1054, 4642, 1092, 0, 0, 0, 0}, {1055, 4896, 1088, 0, 0, 0, 0}, {3072, 1056, 17408, 0, 0, 0, 0}, {15, 1057, 771, 85, 4369, 0, 0}, {3072, 1058, 16384, 0, 0, 0, 0}, {15, 1059, 771, 80, 4112, 0, 0}, {3084, 1060, 17476, 0, 0, 0, 0}, {15, 1061, 768, 85, 4352, 0, 0}, {3084, 1062, 16448, 0, 0, 0, 0}, {15, 1063, 768, 80, 4096, 0, 0}, {1064, 8192, 16384, 0, 0, 0, 0}, {15, 4403, 771, 85, 5397, 0, 0}, {1066, 8704, 17408, 0, 0, 0, 0}, {15, 4144, 771, 80, 5140, 0, 0}, {1068, 8224, 16448, 0, 0, 0, 0}, {15, 4386, 768, 85, 5376, 0, 0}, {1070, 8738, 17476, 0, 0, 0, 0}, {15, 4128, 768, 80, 5120, 0, 0}, {2048, 1072, 17408, 0, 0, 0, 0}, {10, 1073, 514, 85, 4369, 0, 0}, {10, 1074, 514, 80, 4112, 0, 0}, {2048, 1075, 16384, 0, 0, 0, 0}, {2056, 1076, 17476, 0, 0, 0, 0}, {10, 1077, 512, 85, 4352, 0, 0}, {10, 1078, 512, 80, 4096, 0, 0}, {2056, 1079, 16448, 0, 0, 0, 0}, {1080, 12336, 16448, 0, 0, 0, 0}, {10, 4403, 512, 85, 5376, 0, 0}, {10, 4144, 512, 80, 5120, 0, 0}, {1083, 13107, 17476, 0, 0, 0, 0}, {1084, 12288, 16384, 0, 0, 0, 0}, {10, 4386, 514, 85, 5397, 0, 0}, {10, 4128, 514, 80, 5140, 0, 0}, {1087, 13056, 17408, 0, 0, 0, 0}, {1088, 0, 0, 0, 0, 0, 0}, {5, 273, 0, 0, 0, 0, 0}, {10, 546, 1090, 0, 0, 0, 0}, {15, 819, 1091, 0, 0, 0, 0}, {1092, 0, 0, 0, 0, 0, 0}, {5, 272, 0, 0, 0, 0, 0}, {10, 544, 1094, 0, 0, 0, 0}, {15, 816, 1095, 0, 0, 0, 0}, {1096, 0, 0, 0, 0, 0, 0}, {275, 5, 0, 0, 0, 0, 0}, {10, 544, 1088, 0, 0, 0, 0}, {15, 819, 1092, 0, 0, 0, 0}, {1100, 0, 0, 0, 0, 0, 0}, {274, 5, 0, 0, 0, 0, 0}, {10, 546, 1092, 0, 0, 0, 0}, {15, 816, 1088, 0, 0, 0, 0}, {80, 1024, 4096, 0, 0, 0, 0}, {85, 1028, 4369, 0, 0, 0, 0}, {1032, 4642, 1106, 0, 0, 0, 0}, {1036, 4915, 1107, 0, 0, 0, 0}, {80, 1028, 4112, 0, 0, 0, 0}, {85, 1024, 4352, 0, 0, 0, 0}, {1036, 4656, 1110, 0, 0, 0, 0}, {1032, 4896, 1111, 0, 0, 0, 0}, {1032, 4128, 80, 0, 0, 0, 0}, {1036, 4403, 85, 0, 0, 0, 0}, {90, 4608, 1024, 0, 0, 0, 0}, {95, 4883, 1028, 0, 0, 0, 0}, {1036, 4144, 80, 0, 0, 0, 0}, {1032, 4386, 85, 0, 0, 0, 0}, {90, 4626, 1028, 0, 0, 0, 0}, {95, 4864, 1024, 0, 0, 0, 0}, {2048, 1120, 17408, 0, 0, 0, 0}, {15, 1076, 1799, 85, 4369, 0, 0}, {2056, 1122, 16448, 0, 0, 0, 0}, {15, 1075, 1792, 80, 4096, 0, 0}, {2056, 1124, 17476, 0, 0, 0, 0}, {15, 1072, 1792, 85, 4352, 0, 0}, {2048, 1126, 16384, 0, 0, 0, 0}, {15, 1079, 1799, 80, 4112, 0, 0}, {1128, 8224, 16448, 0, 0, 0, 0}, {15, 4403, 4608, 85, 5376, 0, 0}, {1130, 8704, 17408, 0, 0, 0, 0}, {15, 4128, 4883, 80, 5140, 0, 0}, {1132, 8192, 16384, 0, 0, 0, 0}, {15, 4386, 4626, 85, 5397, 0, 0}, {1134, 8738, 17476, 0, 0, 0, 0}, {15, 4144, 4864, 80, 5120, 0, 0}, {3072, 1136, 17408, 0, 0, 0, 0}, {10, 1060, 1542, 85, 4369, 0, 0}, {10, 1058, 1536, 80, 4096, 0, 0}, {3084, 1139, 16448, 0, 0, 0, 0}, {3084, 1140, 17476, 0, 0, 0, 0}, {10, 1056, 1536, 85, 4352, 0, 0}, {10, 1062, 1542, 80, 4112, 0, 0}, {3072, 1143, 16384, 0, 0, 0, 0}, {1144, 12288, 16384, 0, 0, 0, 0}, {10, 4403, 4883, 85, 5397, 0, 0}, {10, 4128, 4608, 80, 5120, 0, 0}, {1147, 13107, 17476, 0, 0, 0, 0}, {1148, 12336, 16448, 0, 0, 0, 0}, {10, 4386, 4864, 85, 5376, 0, 0}, {10, 4144, 4626, 80, 5140, 0, 0}, {1151, 13056, 17408, 0, 0, 0, 0}, {1152, 3072, 17408, 0, 0, 0, 0}, {289, 771, 5, 4369, 0, 0, 0}, {10, 1058, 1536, 16384, 0, 0, 0}, {15, 1139, 771, 16448, 0, 0, 0}, {1156, 3084, 17476, 0, 0, 0, 0}, {288, 768, 5, 4352, 0, 0, 0}, {10, 1062, 1542, 16448, 0, 0, 0}, {15, 1143, 768, 16384, 0, 0, 0}, {1160, 3072, 16384, 0, 0, 0, 0}, {291, 771, 5, 4112, 0, 0, 0}, {10, 1056, 1536, 17408, 0, 0, 0}, {15, 1140, 771, 17476, 0, 0, 0}, {1164, 3084, 16448, 0, 0, 0, 0}, {290, 768, 5, 4096, 0, 0, 0}, {10, 1060, 1542, 17476, 0, 0, 0}, {15, 1136, 768, 17408, 0, 0, 0}, {4144, 80, 5120, 0, 0, 0, 0}, {1083, 85, 4369, 0, 0, 0, 0}, {90, 1122, 4626, 16448, 0, 0, 0}, {95, 1075, 5888, 16384, 0, 0, 0}, {4128, 80, 5140, 0, 0, 0, 0}, {1087, 85, 4352, 0, 0, 0, 0}, {90, 1126, 4608, 16384, 0, 0, 0}, {95, 1079, 5911, 16448, 0, 0, 0}, {1080, 80, 4112, 0, 0, 0, 0}, {4403, 85, 5376, 0, 0, 0, 0}, {90, 1072, 5632, 17408, 0, 0, 0}, {95, 1124, 4883, 17476, 0, 0, 0}, {1084, 80, 4096, 0, 0, 0, 0}, {4386, 85, 5397, 0, 0, 0, 0}, {90, 1076, 5654, 17476, 0, 0, 0}, {95, 1120, 4864, 17408, 0, 0, 0}, {160, 8192, 1024, 0, 0, 0, 0}, {15, 771, 85, 1028, 4369, 0, 0}, {1032, 8738, 17442, 0, 0, 0, 0}, {15, 4144, 771, 80, 1027, 0, 0}, {160, 8224, 1028, 0, 0, 0, 0}, {15, 768, 85, 1024, 4352, 0, 0}, {1036, 8704, 17510, 0, 0, 0, 0}, {15, 4128, 768, 80, 1031, 0, 0}, {1032, 8224, 16416, 0, 0, 0, 0}, {15, 4403, 771, 85, 1027, 0, 0}, {170, 8704, 1024, 0, 0, 0, 0}, {15, 771, 80, 1028, 4112, 0, 0}, {1036, 8192, 16480, 0, 0, 0, 0}, {15, 4386, 768, 85, 1031, 0, 0}, {170, 8738, 1028, 0, 0, 0, 0}, {15, 768, 80, 1024, 4096, 0, 0}, {3120, 12336, 1088, 0, 0, 0, 0}, {10, 546, 85, 1041, 4369, 0, 0}, {10, 4144, 4626, 80, 1042, 0, 0}, {1100, 13107, 17459, 0, 0, 0, 0}, {3132, 12288, 1092, 0, 0, 0, 0}, {10, 544, 85, 1045, 4352, 0, 0}, {10, 4128, 4608, 80, 1046, 0, 0}, {1096, 13056, 17527, 0, 0, 0, 0}, {1096, 12336, 16432, 0, 0, 0, 0}, {10, 4403, 4883, 85, 1043, 0, 0}, {10, 544, 80, 1040, 4112, 0, 0}, {3123, 13107, 1092, 0, 0, 0, 0}, {1100, 12288, 16496, 0, 0, 0, 0}, {10, 4386, 4864, 85, 1047, 0, 0}, {10, 546, 80, 1044, 4096, 0, 0}, {3135, 13056, 1088, 0, 0, 0, 0}, {1216, 2048, 17408, 0, 0, 0, 0}, {305, 514, 5, 4369, 0, 0, 0}, {10, 1122, 514, 16448, 0, 0, 0}, {15, 1075, 1792, 16384, 0, 0, 0}, {1220, 2056, 17476, 0, 0, 0, 0}, {304, 512, 5, 4352, 0, 0, 0}, {10, 1126, 512, 16384, 0, 0, 0}, {15, 1079, 1799, 16448, 0, 0, 0}, {1224, 2056, 16448, 0, 0, 0, 0}, {307, 512, 5, 4096, 0, 0, 0}, {10, 1120, 512, 17408, 0, 0, 0}, {15, 1076, 1799, 17476, 0, 0, 0}, {1228, 2048, 16384, 0, 0, 0, 0}, {306, 514, 5, 4112, 0, 0, 0}, {10, 1124, 514, 17476, 0, 0, 0}, {15, 1072, 1792, 17408, 0, 0, 0}, {4128, 80, 5120, 0, 0, 0, 0}, {1070, 85, 4369, 0, 0, 0, 0}, {90, 1058, 5632, 16384, 0, 0, 0}, {95, 1139, 4883, 16448, 0, 0, 0}, {4144, 80, 5140, 0, 0, 0, 0}, {1066, 85, 4352, 0, 0, 0, 0}, {90, 1062, 5654, 16448, 0, 0, 0}, {95, 1143, 4864, 16384, 0, 0, 0}, {1064, 80, 4096, 0, 0, 0, 0}, {4403, 85, 5397, 0, 0, 0, 0}, {90, 1136, 4608, 17408, 0, 0, 0}, {95, 1060, 5911, 17476, 0, 0, 0}, {1068, 80, 4112, 0, 0, 0, 0}, {4386, 85, 5376, 0, 0, 0, 0}, {90, 1140, 4626, 17476, 0, 0, 0}, {95, 1056, 5888, 17408, 0, 0, 0}, {2080, 8224, 1088, 0, 0, 0, 0}, {15, 819, 85, 1041, 4369, 0, 0}, {1096, 8738, 17442, 0, 0, 0, 0}, {15, 4128, 4883, 80, 1043, 0, 0}, {2088, 8192, 1092, 0, 0, 0, 0}, {15, 816, 85, 1045, 4352, 0, 0}, {1100, 8704, 17510, 0, 0, 0, 0}, {15, 4144, 4864, 80, 1047, 0, 0}, {1096, 8192, 16480, 0, 0, 0, 0}, {15, 4403, 4608, 85, 1046, 0, 0}, {2090, 8704, 1088, 0, 0, 0, 0}, {15, 819, 80, 1044, 4096, 0, 0}, {1100, 8224, 16416, 0, 0, 0, 0}, {15, 4386, 4626, 85, 1042, 0, 0}, {2082, 8738, 1092, 0, 0, 0, 0}, {15, 816, 80, 1040, 4112, 0, 0}, {240, 12288, 1024, 0, 0, 0, 0}, {10, 514, 85, 1028, 4369, 0, 0}, {10, 4128, 514, 80, 1026, 0, 0}, {1036, 13107, 17459, 0, 0, 0, 0}, {240, 12336, 1028, 0, 0, 0, 0}, {10, 512, 85, 1024, 4352, 0, 0}, {10, 4144, 512, 80, 1030, 0, 0}, {1032, 13056, 17527, 0, 0, 0, 0}, {1032, 12288, 16496, 0, 0, 0, 0}, {10, 4403, 512, 85, 1030, 0, 0}, {10, 512, 80, 1024, 4096, 0, 0}, {255, 13107, 1028, 0, 0, 0, 0}, {1036, 12336, 16432, 0, 0, 0, 0}, {10, 4386, 514, 85, 1026, 0, 0}, {10, 514, 80, 1028, 4112, 0, 0}, {255, 13056, 1024, 0, 0, 0, 0}, {1280, 0, 0, 0, 0, 0, 0}, {4, 257, 0, 0, 0, 0, 0}, {8, 514, 1282, 0, 0, 0, 0}, {12, 771, 1283, 0, 0, 0, 0}, {4, 256, 0, 0, 0, 0, 0}, {1285, 0, 0, 0, 0, 0, 0}, {12, 768, 1286, 0, 0, 0, 0}, {8, 512, 1287, 0, 0, 0, 0}, {8, 512, 1280, 0, 0, 0, 0}, {12, 771, 1285, 0, 0, 0, 0}, {1290, 0, 0, 0, 0, 0, 0}, {259, 4, 0, 0, 0, 0, 0}, {12, 768, 1280, 0, 0, 0, 0}, {8, 514, 1285, 0, 0, 0, 0}, {258, 4, 0, 0, 0, 0, 0}, {1295, 0, 0, 0, 0, 0, 0}, {64, 1296, 4112, 0, 0, 0, 0}, {68, 1297, 4369, 0, 0, 0, 0}, {72, 4626, 1298, 0, 0, 0, 0}, {76, 4883, 1299, 0, 0, 0, 0}, {68, 1300, 4352, 0, 0, 0, 0}, {64, 1301, 4096, 0, 0, 0, 0}, {76, 4864, 1302, 0, 0, 0, 0}, {72, 4608, 1303, 0, 0, 0, 0}, {1304, 4656, 1360, 0, 0, 0, 0}, {1305, 4915, 1365, 0, 0, 0, 0}, {1306, 4144, 64, 0, 0, 0, 0}, {1307, 4403, 68, 0, 0, 0, 0}, {1308, 4896, 1360, 0, 0, 0, 0}, {1309, 4642, 1365, 0, 0, 0, 0}, {1310, 4386, 68, 0, 0, 0, 0}, {1311, 4128, 64, 0, 0, 0, 0}, {3840, 1312, 21760, 0, 0, 0, 0}, {12, 1313, 771, 68, 4369, 0, 0}, {3840, 1314, 20480, 0, 0, 0, 0}, {12, 1315, 771, 64, 4112, 0, 0}, {12, 1316, 768, 68, 4352, 0, 0}, {3855, 1317, 21845, 0, 0, 0, 0}, {12, 1318, 768, 64, 4096, 0, 0}, {3855, 1319, 20560, 0, 0, 0, 0}, {1320, 8704, 21760, 0, 0, 0, 0}, {12, 4144, 771, 64, 5397, 0, 0}, {1322, 8192, 20480, 0, 0, 0, 0}, {12, 4403, 771, 68, 5140, 0, 0}, {12, 4128, 768, 64, 5376, 0, 0}, {1325, 8738, 21845, 0, 0, 0, 0}, {12, 4386, 768, 68, 5120, 0, 0}, {1327, 8224, 20560, 0, 0, 0, 0}, {2560, 1328, 21760, 0, 0, 0, 0}, {8, 1329, 514, 68, 4369, 0, 0}, {8, 1330, 514, 64, 4112, 0, 0}, {2560, 1331, 20480, 0, 0, 0, 0}, {8, 1332, 512, 68, 4352, 0, 0}, {2570, 1333, 21845, 0, 0, 0, 0}, {2570, 1334, 20560, 0, 0, 0, 0}, {8, 1335, 512, 64, 4096, 0, 0}, {8, 4144, 512, 64, 5376, 0, 0}, {1337, 13107, 21845, 0, 0, 0, 0}, {1338, 12336, 20560, 0, 0, 0, 0}, {8, 4403, 512, 68, 5120, 0, 0}, {1340, 13056, 21760, 0, 0, 0, 0}, {8, 4128, 514, 64, 5397, 0, 0}, {8, 4386, 514, 68, 5140, 0, 0}, {1343, 12288, 20480, 0, 0, 0, 0}, {64, 1280, 4096, 0, 0, 0, 0}, {68, 1285, 4369, 0, 0, 0, 0}, {1290, 4642, 1346, 0, 0, 0, 0}, {1295, 4915, 1347, 0, 0, 0, 0}, {68, 1280, 4352, 0, 0, 0, 0}, {64, 1285, 4112, 0, 0, 0, 0}, {1290, 4896, 1350, 0, 0, 0, 0}, {1295, 4656, 1351, 0, 0, 0, 0}, {72, 4608, 1280, 0, 0, 0, 0}, {76, 4883, 1285, 0, 0, 0, 0}, {1290, 4128, 64, 0, 0, 0, 0}, {1295, 4403, 68, 0, 0, 0, 0}, {76, 4864, 1280, 0, 0, 0, 0}, {72, 4626, 1285, 0, 0, 0, 0}, {1290, 4386, 68, 0, 0, 0, 0}, {1295, 4144, 64, 0, 0, 0, 0}, {1360, 0, 0, 0, 0, 0, 0}, {4, 273, 0, 0, 0, 0, 0}, {8, 546, 1362, 0, 0, 0, 0}, {12, 819, 1363, 0, 0, 0, 0}, {4, 272, 0, 0, 0, 0, 0}, {1365, 0, 0, 0, 0, 0, 0}, {12, 816, 1366, 0, 0, 0, 0}, {8, 544, 1367, 0, 0, 0, 0}, {8, 544, 1360, 0, 0, 0, 0}, {12, 819, 1365, 0, 0, 0, 0}, {1370, 0, 0, 0, 0, 0, 0}, {275, 4, 0, 0, 0, 0, 0}, {12, 816, 1360, 0, 0, 0, 0}, {8, 546, 1365, 0, 0, 0, 0}, {274, 4, 0, 0, 0, 0, 0}, {1375, 0, 0, 0, 0, 0, 0}, {3840, 1376, 21760, 0, 0, 0, 0}, {8, 1317, 1799, 68, 4369, 0, 0}, {8, 1314, 1792, 64, 4096, 0, 0}, {3855, 1379, 20560, 0, 0, 0, 0}, {8, 1312, 1792, 68, 4352, 0, 0}, {3855, 1381, 21845, 0, 0, 0, 0}, {3840, 1382, 20480, 0, 0, 0, 0}, {8, 1319, 1799, 64, 4112, 0, 0}, {8, 4128, 4608, 64, 5376, 0, 0}, {1385, 13107, 21845, 0, 0, 0, 0}, {1386, 12288, 20480, 0, 0, 0, 0}, {8, 4403, 4883, 68, 5140, 0, 0}, {1388, 13056, 21760, 0, 0, 0, 0}, {8, 4144, 4626, 64, 5397, 0, 0}, {8, 4386, 4864, 68, 5120, 0, 0}, {1391, 12336, 20560, 0, 0, 0, 0}, {2560, 1392, 21760, 0, 0, 0, 0}, {12, 1333, 1542, 68, 4369, 0, 0}, {2570, 1394, 20560, 0, 0, 0, 0}, {12, 1331, 1536, 64, 4096, 0, 0}, {12, 1328, 1536, 68, 4352, 0, 0}, {2570, 1397, 21845, 0, 0, 0, 0}, {12, 1334, 1542, 64, 4112, 0, 0}, {2560, 1399, 20480, 0, 0, 0, 0}, {1400, 8704, 21760, 0, 0, 0, 0}, {12, 4128, 4883, 64, 5397, 0, 0}, {1402, 8224, 20560, 0, 0, 0, 0}, {12, 4403, 4608, 68, 5120, 0, 0}, {12, 4144, 4864, 64, 5376, 0, 0}, {1405, 8738, 21845, 0, 0, 0, 0}, {12, 4386, 4626, 68, 5140, 0, 0}, {1407, 8192, 20480, 0, 0, 0, 0}, {128, 8192, 1280, 0, 0, 0, 0}, {12, 771, 68, 1285, 4369, 0, 0}, {1290, 8738, 21794, 0, 0, 0, 0}, {12, 4144, 771, 64, 1283, 0, 0}, {12, 768, 68, 1280, 4352, 0, 0}, {128, 8224, 1285, 0, 0, 0, 0}, {12, 4128, 768, 64, 1286, 0, 0}, {1295, 8704, 21879, 0, 0, 0, 0}, {136, 8704, 1280, 0, 0, 0, 0}, {12, 771, 64, 1285, 4112, 0, 0}, {1290, 8224, 20512, 0, 0, 0, 0}, {12, 4403, 771, 68, 1283, 0, 0}, {12, 768, 64, 1280, 4096, 0, 0}, {136, 8738, 1285, 0, 0, 0, 0}, {12, 4386, 768, 68, 1286, 0, 0}, {1295, 8192, 20592, 0, 0, 0, 0}, {3888, 12336, 1360, 0, 0, 0, 0}, {8, 546, 68, 1297, 4369, 0, 0}, {8, 4144, 4626, 64, 1298, 0, 0}, {1375, 13107, 21811, 0, 0, 0, 0}, {8, 544, 68, 1300, 4352, 0, 0}, {3903, 12288, 1365, 0, 0, 0, 0}, {1370, 13056, 21862, 0, 0, 0, 0}, {8, 4128, 4608, 64, 1303, 0, 0}, {8, 544, 64, 1296, 4112, 0, 0}, {3891, 13107, 1365, 0, 0, 0, 0}, {1370, 12336, 20528, 0, 0, 0, 0}, {8, 4403, 4883, 68, 1299, 0, 0}, {3900, 13056, 1360, 0, 0, 0, 0}, {8, 546, 64, 1301, 4096, 0, 0}, {8, 4386, 4864, 68, 1302, 0, 0}, {1375, 12288, 20576, 0, 0, 0, 0}, {1440, 3840, 21760, 0, 0, 0, 0}, {289, 771, 4, 4369, 0, 0, 0}, {8, 1314, 1792, 20480, 0, 0, 0}, {12, 1379, 771, 20560, 0, 0, 0}, {288, 768, 4, 4352, 0, 0, 0}, {1445, 3855, 21845, 0, 0, 0, 0}, {12, 1382, 768, 20480, 0, 0, 0}, {8, 1319, 1799, 20560, 0, 0, 0}, {8, 1312, 1792, 21760, 0, 0, 0}, {12, 1381, 771, 21845, 0, 0, 0}, {1450, 3840, 20480, 0, 0, 0, 0}, {291, 771, 4, 4112, 0, 0, 0}, {12, 1376, 768, 21760, 0, 0, 0}, {8, 1317, 1799, 21845, 0, 0, 0}, {290, 768, 4, 4096, 0, 0, 0}, {1455, 3855, 20560, 0, 0, 0, 0}, {4144, 64, 5376, 0, 0, 0, 0}, {1337, 68, 4369, 0, 0, 0, 0}, {72, 1394, 4626, 20560, 0, 0, 0}, {76, 1331, 5632, 20480, 0, 0, 0}, {1340, 68, 4352, 0, 0, 0, 0}, {4128, 64, 5397, 0, 0, 0, 0}, {76, 1334, 5654, 20560, 0, 0, 0}, {72, 1399, 4608, 20480, 0, 0, 0}, {72, 1328, 5888, 21760, 0, 0, 0}, {76, 1397, 4883, 21845, 0, 0, 0}, {1338, 64, 4112, 0, 0, 0, 0}, {4403, 68, 5120, 0, 0, 0, 0}, {76, 1392, 4864, 21760, 0, 0, 0}, {72, 1333, 5911, 21845, 0, 0, 0}, {4386, 68, 5140, 0, 0, 0, 0}, {1343, 64, 4096, 0, 0, 0, 0}, {192, 12288, 1280, 0, 0, 0, 0}, {8, 514, 68, 1285, 4369, 0, 0}, {8, 4128, 514, 64, 1282, 0, 0}, {1295, 13107, 21811, 0, 0, 0, 0}, {8, 512, 68, 1280, 4352, 0, 0}, {192, 12336, 1285, 0, 0, 0, 0}, {1290, 13056, 21862, 0, 0, 0, 0}, {8, 4144, 512, 64, 1287, 0, 0}, {8, 512, 64, 1280, 4096, 0, 0}, {204, 13107, 1285, 0, 0, 0, 0}, {1290, 12288, 20576, 0, 0, 0, 0}, {8, 4403, 512, 68, 1287, 0, 0}, {204, 13056, 1280, 0, 0, 0, 0}, {8, 514, 64, 1285, 4112, 0, 0}, {8, 4386, 514, 68, 1282, 0, 0}, {1295, 12336, 20528, 0, 0, 0, 0}, {2592, 8224, 1360, 0, 0, 0, 0}, {12, 819, 68, 1297, 4369, 0, 0}, {1370, 8738, 21794, 0, 0, 0, 0}, {12, 4128, 4883, 64, 1299, 0, 0}, {12, 816, 68, 1300, 4352, 0, 0}, {2602, 8192, 1365, 0, 0, 0, 0}, {12, 4144, 4864, 64, 1302, 0, 0}, {1375, 8704, 21879, 0, 0, 0, 0}, {2600, 8704, 1360, 0, 0, 0, 0}, {12, 819, 64, 1301, 4096, 0, 0}, {1370, 8192, 20592, 0, 0, 0, 0}, {12, 4403, 4608, 68, 1303, 0, 0}, {12, 816, 64, 1296, 4112, 0, 0}, {2594, 8738, 1365, 0, 0, 0, 0}, {12, 4386, 4626, 68, 1298, 0, 0}, {1375, 8224, 20512, 0, 0, 0, 0}, {4128, 64, 5376, 0, 0, 0, 0}, {1325, 68, 4369, 0, 0, 0, 0}, {72, 1314, 5888, 20480, 0, 0, 0}, {76, 1379, 4883, 20560, 0, 0, 0}, {1320, 68, 4352, 0, 0, 0, 0}, {4144, 64, 5397, 0, 0, 0, 0}, {76, 1382, 4864, 20480, 0, 0, 0}, {72, 1319, 5911, 20560, 0, 0, 0}, {72, 1376, 4608, 21760, 0, 0, 0}, {76, 1317, 5654, 21845, 0, 0, 0}, {1322, 64, 4096, 0, 0, 0, 0}, {4403, 68, 5140, 0, 0, 0, 0}, {76, 1312, 5632, 21760, 0, 0, 0}, {72, 1381, 4626, 21845, 0, 0, 0}, {4386, 68, 5120, 0, 0, 0, 0}, {1327, 64, 4112, 0, 0, 0, 0}, {1520, 2560, 21760, 0, 0, 0, 0}, {305, 514, 4, 4369, 0, 0, 0}, {8, 1394, 514, 20560, 0, 0, 0}, {12, 1331, 1536, 20480, 0, 0, 0}, {304, 512, 4, 4352, 0, 0, 0}, {1525, 2570, 21845, 0, 0, 0, 0}, {12, 1334, 1542, 20560, 0, 0, 0}, {8, 1399, 512, 20480, 0, 0, 0}, {8, 1392, 512, 21760, 0, 0, 0}, {12, 1333, 1542, 21845, 0, 0, 0}, {1530, 2570, 20560, 0, 0, 0, 0}, {307, 512, 4, 4096, 0, 0, 0}, {12, 1328, 1536, 21760, 0, 0, 0}, {8, 1397, 514, 21845, 0, 0, 0}, {306, 514, 4, 4112, 0, 0, 0}, {1535, 2560, 20480, 0, 0, 0, 0}, {1536, 0, 0, 0, 0, 0, 0}, {7, 257, 0, 0, 0, 0, 0}, {8, 514, 1024, 0, 0, 0, 0}, {15, 771, 1280, 0, 0, 0, 0}, {8, 512, 1028, 0, 0, 0, 0}, {15, 768, 1285, 0, 0, 0, 0}, {1542, 0, 0, 0, 0, 0, 0}, {7, 256, 0, 0, 0, 0, 0}, {8, 512, 1024, 0, 0, 0, 0}, {15, 771, 1285, 0, 0, 0, 0}, {1546, 0, 0, 0, 0, 0, 0}, {259, 260, 0, 0, 0, 0, 0}, {1548, 0, 0, 0, 0, 0, 0}, {258, 261, 0, 0, 0, 0, 0}, {8, 514, 1028, 0, 0, 0, 0}, {15, 768, 1280, 0, 0, 0, 0}, {112, 1552, 4112, 0, 0, 0, 0}, {119, 1553, 4369, 0, 0, 0, 0}, {120, 4626, 5120, 0, 0, 0, 0}, {127, 4883, 5376, 0, 0, 0, 0}, {120, 4608, 5140, 0, 0, 0, 0}, {127, 4864, 5397, 0, 0, 0, 0}, {112, 1558, 4096, 0, 0, 0, 0}, {119, 1559, 4352, 0, 0, 0, 0}, {1560, 4656, 5200, 0, 0, 0, 0}, {1561, 4915, 5461, 0, 0, 0, 0}, {1562, 4144, 4160, 0, 0, 0, 0}, {1563, 4403, 4420, 0, 0, 0, 0}, {1564, 4128, 4176, 0, 0, 0, 0}, {1565, 4386, 4437, 0, 0, 0, 0}, {1566, 4642, 5188, 0, 0, 0, 0}, {1567, 4896, 5440, 0, 0, 0, 0}, {3072, 1568, 16384, 0, 0, 0, 0}, {15, 1314, 771, 1365, 4369, 0, 0}, {3072, 1570, 17408, 0, 0, 0, 0}, {15, 1312, 771, 1360, 4112, 0, 0}, {3084, 1572, 17476, 0, 0, 0, 0}, {15, 1317, 768, 1365, 4096, 0, 0}, {3084, 1574, 16448, 0, 0, 0, 0}, {15, 1319, 768, 1360, 4352, 0, 0}, {1576, 8704, 17408, 0, 0, 0, 0}, {15, 4144, 771, 4160, 5397, 0, 0}, {1578, 8192, 16384, 0, 0, 0, 0}, {15, 4403, 771, 4420, 5140, 0, 0}, {1580, 8224, 16448, 0, 0, 0, 0}, {15, 4386, 768, 4437, 5120, 0, 0}, {1582, 8738, 17476, 0, 0, 0, 0}, {15, 4128, 768, 4176, 5376, 0, 0}, {2560, 1584, 20480, 0, 0, 0, 0}, {8, 1075, 514, 1092, 4369, 0, 0}, {8, 1072, 514, 1088, 4112, 0, 0}, {2560, 1587, 21760, 0, 0, 0, 0}, {8, 1076, 512, 1092, 4096, 0, 0}, {2570, 1589, 21845, 0, 0, 0, 0}, {2570, 1590, 20560, 0, 0, 0, 0}, {8, 1079, 512, 1088, 4352, 0, 0}, {8, 4144, 512, 4160, 5120, 0, 0}, {1593, 13107, 21845, 0, 0, 0, 0}, {1594, 12336, 20560, 0, 0, 0, 0}, {8, 4403, 512, 4420, 5376, 0, 0}, {1596, 12288, 20480, 0, 0, 0, 0}, {8, 4386, 514, 4437, 5397, 0, 0}, {8, 4128, 514, 4176, 5140, 0, 0}, {1599, 13056, 21760, 0, 0, 0, 0}, {128, 1600, 16448, 0, 0, 0, 0}, {15, 119, 836, 1285, 4369, 0, 0}, {136, 1602, 17408, 0, 0, 0, 0}, {15, 112, 835, 1280, 4096, 0, 0}, {136, 1604, 17476, 0, 0, 0, 0}, {15, 112, 832, 1285, 4112, 0, 0}, {128, 1606, 16384, 0, 0, 0, 0}, {15, 119, 839, 1280, 4352, 0, 0}, {1608, 8704, 17408, 0, 0, 0, 0}, {15, 4128, 4883, 4176, 1285, 0, 0}, {1610, 8224, 16448, 0, 0, 0, 0}, {15, 4403, 4608, 4420, 1280, 0, 0}, {1612, 8192, 16384, 0, 0, 0, 0}, {15, 4386, 4626, 4437, 1285, 0, 0}, {1614, 8738, 17476, 0, 0, 0, 0}, {15, 4144, 4864, 4160, 1280, 0, 0}, {240, 1616, 20560, 0, 0, 0, 0}, {8, 119, 597, 1028, 4369, 0, 0}, {8, 112, 594, 1024, 4096, 0, 0}, {255, 1619, 21760, 0, 0, 0, 0}, {8, 112, 592, 1028, 4112, 0, 0}, {255, 1621, 21845, 0, 0, 0, 0}, {240, 1622, 20480, 0, 0, 0, 0}, {8, 119, 599, 1024, 4352, 0, 0}, {8, 4128, 4608, 4176, 1024, 0, 0}, {1625, 13107, 21845, 0, 0, 0, 0}, {1626, 12288, 20480, 0, 0, 0, 0}, {8, 4403, 4883, 4420, 1028, 0, 0}, {1628, 12336, 20560, 0, 0, 0, 0}, {8, 4386, 4864, 4437, 1024, 0, 0}, {8, 4144, 4626, 4160, 1028, 0, 0}, {1631, 13056, 21760, 0, 0, 0, 0}, {1632, 0, 0, 0, 0, 0, 0}, {7, 273, 0, 0, 0, 0, 0}, {8, 546, 1088, 0, 0, 0, 0}, {15, 819, 1360, 0, 0, 0, 0}, {8, 544, 1092, 0, 0, 0, 0}, {15, 816, 1365, 0, 0, 0, 0}, {1638, 0, 0, 0, 0, 0, 0}, {7, 272, 0, 0, 0, 0, 0}, {8, 544, 1088, 0, 0, 0, 0}, {15, 819, 1365, 0, 0, 0, 0}, {1642, 0, 0, 0, 0, 0, 0}, {275, 276, 0, 0, 0, 0, 0}, {1644, 0, 0, 0, 0, 0, 0}, {274, 277, 0, 0, 0, 0, 0}, {8, 546, 1092, 0, 0, 0, 0}, {15, 816, 1360, 0, 0, 0, 0}, {112, 1536, 4096, 0, 0, 0, 0}, {119, 1542, 4369, 0, 0, 0, 0}, {1546, 4642, 5200, 0, 0, 0, 0}, {1548, 4915, 5440, 0, 0, 0, 0}, {1548, 4656, 5188, 0, 0, 0, 0}, {1546, 4896, 5461, 0, 0, 0, 0}, {112, 1542, 4112, 0, 0, 0, 0}, {119, 1536, 4352, 0, 0, 0, 0}, {120, 4608, 5120, 0, 0, 0, 0}, {127, 4883, 5397, 0, 0, 0, 0}, {1546, 4128, 4176, 0, 0, 0, 0}, {1548, 4403, 4420, 0, 0, 0, 0}, {1548, 4144, 4160, 0, 0, 0, 0}, {1546, 4386, 4437, 0, 0, 0, 0}, {120, 4626, 5140, 0, 0, 0, 0}, {127, 4864, 5376, 0, 0, 0, 0}, {128, 1536, 16384, 0, 0, 0, 0}, {15, 119, 771, 1285, 4369, 0, 0}, {1546, 8738, 17408, 0, 0, 0, 0}, {15, 4144, 771, 4160, 1280, 0, 0}, {1548, 8704, 17476, 0, 0, 0, 0}, {15, 4128, 768, 4176, 1285, 0, 0}, {128, 1542, 16448, 0, 0, 0, 0}, {15, 119, 768, 1280, 4352, 0, 0}, {136, 1536, 17408, 0, 0, 0, 0}, {15, 112, 771, 1285, 4112, 0, 0}, {1546, 8224, 16384, 0, 0, 0, 0}, {15, 4403, 771, 4420, 1280, 0, 0}, {1548, 8192, 16448, 0, 0, 0, 0}, {15, 4386, 768, 4437, 1285, 0, 0}, {136, 1542, 17476, 0, 0, 0, 0}, {15, 112, 768, 1280, 4096, 0, 0}, {2640, 1632, 20560, 0, 0, 0, 0}, {8, 1075, 1553, 1092, 4369, 0, 0}, {8, 4144, 4626, 4160, 5120, 0, 0}, {1644, 13107, 21760, 0, 0, 0, 0}, {8, 4128, 4608, 4176, 5140, 0, 0}, {1642, 13056, 21845, 0, 0, 0, 0}, {2650, 1638, 20480, 0, 0, 0, 0}, {8, 1079, 1559, 1088, 4352, 0, 0}, {8, 1072, 1552, 1088, 4112, 0, 0}, {2645, 1638, 21845, 0, 0, 0, 0}, {1642, 12336, 20480, 0, 0, 0, 0}, {8, 4403, 4883, 4420, 5376, 0, 0}, {1644, 12288, 20560, 0, 0, 0, 0}, {8, 4386, 4864, 4437, 5397, 0, 0}, {8, 1076, 1558, 1092, 4096, 0, 0}, {2655, 1632, 21760, 0, 0, 0, 0}, {1696, 3072, 26112, 0, 0, 0, 0}, {7, 337, 1028, 4369, 0, 0, 0}, {8, 546, 1024, 0, 0, 0, 0}, {15, 771, 1360, 0, 0, 0, 0}, {8, 544, 1028, 0, 0, 0, 0}, {15, 768, 1365, 0, 0, 0, 0}, {1702, 3084, 26214, 0, 0, 0, 0}, {7, 336, 1024, 4352, 0, 0, 0}, {8, 544, 1024, 0, 0, 0, 0}, {15, 771, 1365, 0, 0, 0, 0}, {1706, 3072, 24576, 0, 0, 0, 0}, {7, 340, 1028, 4112, 0, 0, 0}, {1708, 3084, 24672, 0, 0, 0, 0}, {7, 341, 1024, 4096, 0, 0, 0}, {8, 546, 1028, 0, 0, 0, 0}, {15, 768, 1360, 0, 0, 0, 0}, {4144, 5632, 4160, 0, 0, 0, 0}, {1614, 119, 4369, 0, 0, 0, 0}, {5160, 4626, 5200, 0, 0, 0, 0}, {4940, 4915, 5376, 0, 0, 0, 0}, {5180, 4608, 5188, 0, 0, 0, 0}, {4959, 4896, 5397, 0, 0, 0, 0}, {4128, 5654, 4176, 0, 0, 0, 0}, {1608, 119, 4352, 0, 0, 0, 0}, {4680, 4656, 5120, 0, 0, 0, 0}, {5418, 4883, 5461, 0, 0, 0, 0}, {1610, 112, 4112, 0, 0, 0, 0}, {4403, 5888, 4420, 0, 0, 0, 0}, {1612, 112, 4096, 0, 0, 0, 0}, {4386, 5911, 4437, 0, 0, 0, 0}, {4698, 4642, 5140, 0, 0, 0, 0}, {5439, 4864, 5440, 0, 0, 0, 0}, {1728, 2560, 26112, 0, 0, 0, 0}, {7, 321, 1285, 4369, 0, 0, 0}, {8, 514, 1088, 0, 0, 0, 0}, {15, 819, 1280, 0, 0, 0, 0}, {8, 512, 1092, 0, 0, 0, 0}, {15, 816, 1285, 0, 0, 0, 0}, {1734, 2570, 26214, 0, 0, 0, 0}, {7, 320, 1280, 4352, 0, 0, 0}, {8, 512, 1088, 0, 0, 0, 0}, {15, 819, 1285, 0, 0, 0, 0}, {1738, 2570, 24672, 0, 0, 0, 0}, {7, 324, 1280, 4096, 0, 0, 0}, {1740, 2560, 24576, 0, 0, 0, 0}, {7, 325, 1285, 4112, 0, 0, 0}, {8, 514, 1092, 0, 0, 0, 0}, {15, 816, 1280, 0, 0, 0, 0}, {4128, 5632, 4176, 0, 0, 0, 0}, {1625, 119, 4369, 0, 0, 0, 0}, {4698, 4642, 5120, 0, 0, 0, 0}, {5439, 4883, 5440, 0, 0, 0, 0}, {4680, 4656, 5140, 0, 0, 0, 0}, {5418, 4864, 5461, 0, 0, 0, 0}, {4144, 5654, 4160, 0, 0, 0, 0}, {1631, 119, 4352, 0, 0, 0, 0}, {5160, 4608, 5200, 0, 0, 0, 0}, {4940, 4915, 5397, 0, 0, 0, 0}, {1626, 112, 4096, 0, 0, 0, 0}, {4403, 5911, 4420, 0, 0, 0, 0}, {1628, 112, 4112, 0, 0, 0, 0}, {4386, 5888, 4437, 0, 0, 0, 0}, {5180, 4626, 5188, 0, 0, 0, 0}, {4959, 4896, 5376, 0, 0, 0, 0}, {3136, 1632, 16448, 0, 0, 0, 0}, {15, 1314, 1553, 1365, 4369, 0, 0}, {1642, 8738, 17408, 0, 0, 0, 0}, {15, 4128, 4883, 4176, 5376, 0, 0}, {1644, 8704, 17476, 0, 0, 0, 0}, {15, 4144, 4864, 4160, 5397, 0, 0}, {3148, 1638, 16384, 0, 0, 0, 0}, {15, 1319, 1559, 1360, 4352, 0, 0}, {3144, 1632, 17408, 0, 0, 0, 0}, {15, 1317, 1558, 1365, 4096, 0, 0}, {1642, 8192, 16448, 0, 0, 0, 0}, {15, 4403, 4608, 4420, 5140, 0, 0}, {1644, 8224, 16384, 0, 0, 0, 0}, {15, 4386, 4626, 4437, 5120, 0, 0}, {3140, 1638, 17476, 0, 0, 0, 0}, {15, 1312, 1552, 1360, 4112, 0, 0}, {240, 1536, 20480, 0, 0, 0, 0}, {8, 119, 514, 1028, 4369, 0, 0}, {8, 4128, 514, 4176, 1024, 0, 0}, {1548, 13107, 21760, 0, 0, 0, 0}, {8, 4144, 512, 4160, 1028, 0, 0}, {1546, 13056, 21845, 0, 0, 0, 0}, {240, 1542, 20560, 0, 0, 0, 0}, {8, 119, 512, 1024, 4352, 0, 0}, {8, 112, 512, 1024, 4096, 0, 0}, {255, 1542, 21845, 0, 0, 0, 0}, {1546, 12288, 20560, 0, 0, 0, 0}, {8, 4403, 512, 4420, 1028, 0, 0}, {1548, 12336, 20480, 0, 0, 0, 0}, {8, 4386, 514, 4437, 1024, 0, 0}, {8, 112, 514, 1028, 4112, 0, 0}, {255, 1536, 21760, 0, 0, 0, 0}, {1792, 0, 0, 0, 0, 0, 0}, {6, 257, 0, 0, 0, 0, 0}, {10, 514, 1280, 0, 0, 0, 0}, {12, 771, 1024, 0, 0, 0, 0}, {12, 768, 1028, 0, 0, 0, 0}, {10, 512, 1285, 0, 0, 0, 0}, {6, 256, 0, 0, 0, 0, 0}, {1799, 0, 0, 0, 0, 0, 0}, {1800, 0, 0, 0, 0, 0, 0}, {259, 261, 0, 0, 0, 0, 0}, {10, 512, 1280, 0, 0, 0, 0}, {12, 771, 1028, 0, 0, 0, 0}, {12, 768, 1024, 0, 0, 0, 0}, {10, 514, 1285, 0, 0, 0, 0}, {258, 260, 0, 0, 0, 0, 0}, {1807, 0, 0, 0, 0, 0, 0}, {96, 1808, 4112, 0, 0, 0, 0}, {102, 1809, 4369, 0, 0, 0, 0}, {106, 4626, 5376, 0, 0, 0, 0}, {108, 4883, 5120, 0, 0, 0, 0}, {108, 4864, 5140, 0, 0, 0, 0}, {106, 4608, 5397, 0, 0, 0, 0}, {102, 1814, 4352, 0, 0, 0, 0}, {96, 1815, 4096, 0, 0, 0, 0}, {1816, 4144, 4176, 0, 0, 0, 0}, {1817, 4403, 4437, 0, 0, 0, 0}, {1818, 4656, 5440, 0, 0, 0, 0}, {1819, 4915, 5188, 0, 0, 0, 0}, {1820, 4896, 5200, 0, 0, 0, 0}, {1821, 4642, 5461, 0, 0, 0, 0}, {1822, 4386, 4420, 0, 0, 0, 0}, {1823, 4128, 4160, 0, 0, 0, 0}, {3840, 1824, 20480, 0, 0, 0, 0}, {12, 1058, 771, 1092, 4369, 0, 0}, {3840, 1826, 21760, 0, 0, 0, 0}, {12, 1056, 771, 1088, 4112, 0, 0}, {12, 1060, 768, 1092, 4096, 0, 0}, {3855, 1829, 21845, 0, 0, 0, 0}, {12, 1062, 768, 1088, 4352, 0, 0}, {3855, 1831, 20560, 0, 0, 0, 0}, {1832, 8192, 20480, 0, 0, 0, 0}, {12, 4403, 771, 4437, 5397, 0, 0}, {1834, 8704, 21760, 0, 0, 0, 0}, {12, 4144, 771, 4176, 5140, 0, 0}, {12, 4128, 768, 4160, 5120, 0, 0}, {1837, 8738, 21845, 0, 0, 0, 0}, {12, 4386, 768, 4420, 5376, 0, 0}, {1839, 8224, 20560, 0, 0, 0, 0}, {2048, 1840, 16384, 0, 0, 0, 0}, {10, 1331, 514, 1365, 4369, 0, 0}, {10, 1328, 514, 1360, 4112, 0, 0}, {2048, 1843, 17408, 0, 0, 0, 0}, {2056, 1844, 17476, 0, 0, 0, 0}, {10, 1333, 512, 1365, 4096, 0, 0}, {10, 1334, 512, 1360, 4352, 0, 0}, {2056, 1847, 16448, 0, 0, 0, 0}, {1848, 12336, 16448, 0, 0, 0, 0}, {10, 4403, 512, 4437, 5120, 0, 0}, {10, 4144, 512, 4176, 5376, 0, 0}, {1851, 13107, 17476, 0, 0, 0, 0}, {1852, 13056, 17408, 0, 0, 0, 0}, {10, 4128, 514, 4160, 5397, 0, 0}, {10, 4386, 514, 4420, 5140, 0, 0}, {1855, 12288, 16384, 0, 0, 0, 0}, {192, 1856, 16448, 0, 0, 0, 0}, {10, 102, 580, 1285, 4369, 0, 0}, {10, 96, 578, 1280, 4096, 0, 0}, {204, 1859, 17408, 0, 0, 0, 0}, {204, 1860, 17476, 0, 0, 0, 0}, {10, 96, 576, 1285, 4112, 0, 0}, {10, 102, 582, 1280, 4352, 0, 0}, {192, 1863, 16384, 0, 0, 0, 0}, {1864, 12288, 16384, 0, 0, 0, 0}, {10, 4403, 4883, 4437, 1285, 0, 0}, {10, 4128, 4608, 4160, 1280, 0, 0}, {1867, 13107, 17476, 0, 0, 0, 0}, {1868, 13056, 17408, 0, 0, 0, 0}, {10, 4144, 4626, 4176, 1285, 0, 0}, {10, 4386, 4864, 4420, 1280, 0, 0}, {1871, 12336, 16448, 0, 0, 0, 0}, {160, 1872, 20560, 0, 0, 0, 0}, {12, 102, 853, 1028, 4369, 0, 0}, {170, 1874, 21760, 0, 0, 0, 0}, {12, 96, 851, 1024, 4096, 0, 0}, {12, 96, 848, 1028, 4112, 0, 0}, {170, 1877, 21845, 0, 0, 0, 0}, {12, 102, 854, 1024, 4352, 0, 0}, {160, 1879, 20480, 0, 0, 0, 0}, {1880, 8224, 20560, 0, 0, 0, 0}, {12, 4403, 4608, 4437, 1024, 0, 0}, {1882, 8704, 21760, 0, 0, 0, 0}, {12, 4128, 4883, 4160, 1028, 0, 0}, {12, 4144, 4864, 4176, 1024, 0, 0}, {1885, 8738, 21845, 0, 0, 0, 0}, {12, 4386, 4626, 4420, 1028, 0, 0}, {1887, 8192, 20480, 0, 0, 0, 0}, {96, 1792, 4096, 0, 0, 0, 0}, {102, 1799, 4369, 0, 0, 0, 0}, {1800, 4642, 5440, 0, 0, 0, 0}, {1807, 4915, 5200, 0, 0, 0, 0}, {1800, 4896, 5188, 0, 0, 0, 0}, {1807, 4656, 5461, 0, 0, 0, 0}, {102, 1792, 4352, 0, 0, 0, 0}, {96, 1799, 4112, 0, 0, 0, 0}, {1800, 4128, 4160, 0, 0, 0, 0}, {1807, 4403, 4437, 0, 0, 0, 0}, {106, 4608, 5376, 0, 0, 0, 0}, {108, 4883, 5140, 0, 0, 0, 0}, {108, 4864, 5120, 0, 0, 0, 0}, {106, 4626, 5397, 0, 0, 0, 0}, {1800, 4386, 4420, 0, 0, 0, 0}, {1807, 4144, 4176, 0, 0, 0, 0}, {1904, 0, 0, 0, 0, 0, 0}, {6, 273, 0, 0, 0, 0, 0}, {10, 546, 1360, 0, 0, 0, 0}, {12, 819, 1088, 0, 0, 0, 0}, {12, 816, 1092, 0, 0, 0, 0}, {10, 544, 1365, 0, 0, 0, 0}, {6, 272, 0, 0, 0, 0, 0}, {1911, 0, 0, 0, 0, 0, 0}, {1912, 0, 0, 0, 0, 0, 0}, {275, 277, 0, 0, 0, 0, 0}, {10, 544, 1360, 0, 0, 0, 0}, {12, 819, 1092, 0, 0, 0, 0}, {12, 816, 1088, 0, 0, 0, 0}, {10, 546, 1365, 0, 0, 0, 0}, {274, 276, 0, 0, 0, 0, 0}, {1919, 0, 0, 0, 0, 0, 0}, {1920, 3840, 30464, 0, 0, 0, 0}, {6, 321, 1285, 4369, 0, 0, 0}, {10, 546, 1280, 0, 0, 0, 0}, {12, 771, 1088, 0, 0, 0, 0}, {12, 768, 1092, 0, 0, 0, 0}, {10, 544, 1285, 0, 0, 0, 0}, {6, 320, 1280, 4352, 0, 0, 0}, {1927, 3855, 30583, 0, 0, 0, 0}, {1928, 3840, 28672, 0, 0, 0, 0}, {6, 325, 1285, 4112, 0, 0, 0}, {10, 544, 1280, 0, 0, 0, 0}, {12, 771, 1092, 0, 0, 0, 0}, {12, 768, 1088, 0, 0, 0, 0}, {10, 546, 1285, 0, 0, 0, 0}, {6, 324, 1280, 4096, 0, 0, 0}, {1935, 3855, 28784, 0, 0, 0, 0}, {4144, 5888, 4176, 0, 0, 0, 0}, {1885, 102, 4369, 0, 0, 0, 0}, {5418, 4626, 5440, 0, 0, 0, 0}, {4959, 4915, 5120, 0, 0, 0, 0}, {4940, 4896, 5140, 0, 0, 0, 0}, {5439, 4608, 5461, 0, 0, 0, 0}, {1882, 102, 4352, 0, 0, 0, 0}, {4128, 5911, 4160, 0, 0, 0, 0}, {1880, 96, 4112, 0, 0, 0, 0}, {4403, 5632, 4437, 0, 0, 0, 0}, {4698, 4656, 5376, 0, 0, 0, 0}, {5160, 4883, 5188, 0, 0, 0, 0}, {5180, 4864, 5200, 0, 0, 0, 0}, {4680, 4642, 5397, 0, 0, 0, 0}, {4386, 5654, 4420, 0, 0, 0, 0}, {1887, 96, 4096, 0, 0, 0, 0}, {160, 1792, 20480, 0, 0, 0, 0}, {12, 102, 771, 1028, 4369, 0, 0}, {1800, 8738, 21760, 0, 0, 0, 0}, {12, 4144, 771, 4176, 1024, 0, 0}, {12, 4128, 768, 4160, 1028, 0, 0}, {1807, 8704, 21845, 0, 0, 0, 0}, {12, 102, 768, 1024, 4352, 0, 0}, {160, 1799, 20560, 0, 0, 0, 0}, {1800, 8224, 20480, 0, 0, 0, 0}, {12, 4403, 771, 4437, 1024, 0, 0}, {170, 1792, 21760, 0, 0, 0, 0}, {12, 96, 771, 1028, 4112, 0, 0}, {12, 96, 768, 1024, 4096, 0, 0}, {170, 1799, 21845, 0, 0, 0, 0}, {12, 4386, 768, 4420, 1028, 0, 0}, {1807, 8192, 20560, 0, 0, 0, 0}, {2112, 1904, 16448, 0, 0, 0, 0}, {10, 1331, 1809, 1365, 4369, 0, 0}, {10, 4144, 4626, 4176, 5376, 0, 0}, {1919, 13107, 17408, 0, 0, 0, 0}, {1912, 13056, 17476, 0, 0, 0, 0}, {10, 4128, 4608, 4160, 5397, 0, 0}, {10, 1334, 1814, 1360, 4352, 0, 0}, {2120, 1911, 16384, 0, 0, 0, 0}, {1912, 12336, 16384, 0, 0, 0, 0}, {10, 4403, 4883, 4437, 5120, 0, 0}, {10, 1328, 1808, 1360, 4112, 0, 0}, {2116, 1911, 17476, 0, 0, 0, 0}, {2124, 1904, 17408, 0, 0, 0, 0}, {10, 1333, 1815, 1365, 4096, 0, 0}, {10, 4386, 4864, 4420, 5140, 0, 0}, {1919, 12288, 16448, 0, 0, 0, 0}, {192, 1792, 16384, 0, 0, 0, 0}, {10, 102, 514, 1285, 4369, 0, 0}, {10, 4128, 514, 4160, 1280, 0, 0}, {1807, 13107, 17408, 0, 0, 0, 0}, {1800, 13056, 17476, 0, 0, 0, 0}, {10, 4144, 512, 4176, 1285, 0, 0}, {10, 102, 512, 1280, 4352, 0, 0}, {192, 1799, 16448, 0, 0, 0, 0}, {1800, 12288, 16448, 0, 0, 0, 0}, {10, 4403, 512, 4437, 1285, 0, 0}, {10, 96, 512, 1280, 4096, 0, 0}, {204, 1799, 17476, 0, 0, 0, 0}, {204, 1792, 17408, 0, 0, 0, 0}, {10, 96, 514, 1285, 4112, 0, 0}, {10, 4386, 514, 4420, 1280, 0, 0}, {1807, 12336, 16384, 0, 0, 0, 0}, {3920, 1904, 20560, 0, 0, 0, 0}, {12, 1058, 1809, 1092, 4369, 0, 0}, {1912, 8738, 21760, 0, 0, 0, 0}, {12, 4128, 4883, 4160, 5120, 0, 0}, {12, 4144, 4864, 4176, 5140, 0, 0}, {1919, 8704, 21845, 0, 0, 0, 0}, {12, 1062, 1814, 1088, 4352, 0, 0}, {3935, 1911, 20480, 0, 0, 0, 0}, {1912, 8192, 20560, 0, 0, 0, 0}, {12, 4403, 4608, 4437, 5397, 0, 0}, {3930, 1904, 21760, 0, 0, 0, 0}, {12, 1060, 1815, 1092, 4096, 0, 0}, {12, 1056, 1808, 1088, 4112, 0, 0}, {3925, 1911, 21845, 0, 0, 0, 0}, {12, 4386, 4626, 4420, 5376, 0, 0}, {1919, 8224, 20480, 0, 0, 0, 0}, {4128, 5888, 4160, 0, 0, 0, 0}, {1867, 102, 4369, 0, 0, 0, 0}, {4680, 4642, 5376, 0, 0, 0, 0}, {5180, 4883, 5200, 0, 0, 0, 0}, {5160, 4864, 5188, 0, 0, 0, 0}, {4698, 4656, 5397, 0, 0, 0, 0}, {1868, 102, 4352, 0, 0, 0, 0}, {4144, 5911, 4176, 0, 0, 0, 0}, {1864, 96, 4096, 0, 0, 0, 0}, {4403, 5654, 4437, 0, 0, 0, 0}, {5418, 4608, 5440, 0, 0, 0, 0}, {4959, 4915, 5140, 0, 0, 0, 0}, {4940, 4896, 5120, 0, 0, 0, 0}, {5439, 4626, 5461, 0, 0, 0, 0}, {4386, 5632, 4420, 0, 0, 0, 0}, {1871, 96, 4112, 0, 0, 0, 0}, {2032, 2048, 30464, 0, 0, 0, 0}, {6, 337, 1028, 4369, 0, 0, 0}, {10, 514, 1360, 0, 0, 0, 0}, {12, 819, 1024, 0, 0, 0, 0}, {12, 816, 1028, 0, 0, 0, 0}, {10, 512, 1365, 0, 0, 0, 0}, {6, 336, 1024, 4352, 0, 0, 0}, {2039, 2056, 30583, 0, 0, 0, 0}, {2040, 2056, 28784, 0, 0, 0, 0}, {6, 341, 1024, 4096, 0, 0, 0}, {10, 512, 1360, 0, 0, 0, 0}, {12, 819, 1028, 0, 0, 0, 0}, {12, 816, 1024, 0, 0, 0, 0}, {10, 514, 1365, 0, 0, 0, 0}, {6, 340, 1028, 4112, 0, 0, 0}, {2047, 2048, 28672, 0, 0, 0, 0}, {2048, 0, 0, 0, 0, 0, 0}, {3, 5, 257, 0, 0, 0, 0}, {10, 514, 0, 0, 0, 0, 0}, {3, 1024, 0, 0, 0, 0, 0}, {12, 1028, 0, 0, 0, 0, 0}, {512, 5, 0, 0, 0, 0, 0}, {6, 1024, 0, 0, 0, 0, 0}, {15, 1799, 0, 0, 0, 0, 0}, {2056, 0, 0, 0, 0, 0, 0}, {3, 5, 256, 0, 0, 0, 0}, {10, 512, 0, 0, 0, 0, 0}, {3, 1028, 0, 0, 0, 0, 0}, {12, 1024, 0, 0, 0, 0, 0}, {514, 5, 0, 0, 0, 0, 0}, {6, 1028, 0, 0, 0, 0, 0}, {15, 1792, 0, 0, 0, 0, 0}, {2064, 48, 80, 4112, 0, 0, 0}, {2065, 51, 85, 4369, 0, 0, 0}, {90, 48, 4626, 16384, 0, 0, 0}, {95, 51, 4883, 17408, 0, 0, 0}, {60, 8192, 80, 5140, 0, 0, 0}, {63, 8704, 85, 5397, 0, 0, 0}, {90, 102, 5654, 17408, 0, 0, 0}, {95, 96, 5911, 16384, 0, 0, 0}, {2072, 48, 80, 4096, 0, 0, 0}, {2073, 51, 85, 4352, 0, 0, 0}, {90, 48, 4608, 16448, 0, 0, 0}, {95, 51, 4864, 17476, 0, 0, 0}, {60, 8224, 80, 5120, 0, 0, 0}, {63, 8738, 85, 5376, 0, 0, 0}, {90, 102, 5632, 17476, 0, 0, 0}, {95, 96, 5888, 16448, 0, 0, 0}, {160, 2080, 8224, 0, 0, 0, 0}, {3, 85, 1041, 4369, 0, 0, 0}, {170, 2082, 8738, 0, 0, 0, 0}, {3, 80, 1040, 4112, 0, 0, 0}, {12, 1060, 1092, 0, 0, 0, 0}, {15, 1829, 85, 0, 0, 0, 0}, {12, 1062, 1088, 0, 0, 0, 0}, {15, 1831, 80, 0, 0, 0, 0}, {160, 2088, 8192, 0, 0, 0, 0}, {3, 85, 1045, 4352, 0, 0, 0}, {170, 2090, 8704, 0, 0, 0, 0}, {3, 80, 1044, 4096, 0, 0, 0}, {12, 1056, 1088, 0, 0, 0, 0}, {15, 1826, 85, 0, 0, 0, 0}, {12, 1058, 1092, 0, 0, 0, 0}, {15, 1824, 80, 0, 0, 0, 0}, {2048, 48, 16384, 0, 0, 0, 0}, {10, 51, 514, 85, 4369, 0, 0}, {10, 48, 514, 80, 4112, 0, 0}, {2048, 51, 17408, 0, 0, 0, 0}, {60, 13364, 17476, 0, 0, 0, 0}, {10, 53, 512, 85, 5376, 0, 0}, {10, 54, 512, 80, 5120, 0, 0}, {63, 14135, 16448, 0, 0, 0, 0}, {2056, 48, 16448, 0, 0, 0, 0}, {10, 51, 512, 85, 4352, 0, 0}, {10, 48, 512, 80, 4096, 0, 0}, {2056, 51, 17476, 0, 0, 0, 0}, {60, 13312, 17408, 0, 0, 0, 0}, {10, 53, 514, 85, 5397, 0, 0}, {10, 54, 514, 80, 5140, 0, 0}, {63, 14080, 16384, 0, 0, 0, 0}, {192, 2112, 16448, 0, 0, 0, 0}, {51, 529, 5, 4369, 0, 0, 0}, {10, 96, 578, 16384, 0, 0, 0}, {15, 51, 1859, 17408, 0, 0, 0}, {204, 2116, 17476, 0, 0, 0, 0}, {48, 528, 5, 4112, 0, 0, 0}, {10, 102, 582, 17408, 0, 0, 0}, {15, 48, 1863, 16384, 0, 0, 0}, {192, 2120, 16384, 0, 0, 0, 0}, {51, 531, 5, 4352, 0, 0, 0}, {10, 96, 576, 16448, 0, 0, 0}, {15, 51, 1860, 17476, 0, 0, 0}, {204, 2124, 17408, 0, 0, 0, 0}, {48, 530, 5, 4096, 0, 0, 0}, {10, 102, 580, 17476, 0, 0, 0}, {15, 48, 1856, 16448, 0, 0, 0}, {2048, 8192, 80, 0, 0, 0, 0}, {12, 51, 85, 1028, 4369, 0, 0}, {90, 8738, 21074, 0, 0, 0, 0}, {12, 51, 4864, 83, 1024, 0, 0}, {12, 48, 80, 1028, 4112, 0, 0}, {2048, 8704, 85, 0, 0, 0, 0}, {12, 48, 4608, 86, 1024, 0, 0}, {95, 8224, 22359, 0, 0, 0, 0}, {2056, 8224, 80, 0, 0, 0, 0}, {12, 51, 85, 1024, 4352, 0, 0}, {90, 8704, 20992, 0, 0, 0, 0}, {12, 51, 4883, 83, 1028, 0, 0}, {12, 48, 80, 1024, 4096, 0, 0}, {2056, 8738, 85, 0, 0, 0, 0}, {12, 48, 4626, 86, 1028, 0, 0}, {95, 8192, 22272, 0, 0, 0, 0}, {2048, 96, 16384, 0, 0, 0, 0}, {15, 51, 1799, 85, 4369, 0, 0}, {106, 8738, 16448, 0, 0, 0, 0}, {15, 51, 4864, 80, 5120, 0, 0}, {108, 8224, 17476, 0, 0, 0, 0}, {15, 48, 4608, 85, 5376, 0, 0}, {2048, 102, 17408, 0, 0, 0, 0}, {15, 48, 1799, 80, 4112, 0, 0}, {2056, 96, 16448, 0, 0, 0, 0}, {15, 51, 1792, 85, 4352, 0, 0}, {106, 8704, 16384, 0, 0, 0, 0}, {15, 51, 4883, 80, 5140, 0, 0}, {108, 8192, 17408, 0, 0, 0, 0}, {15, 48, 4626, 85, 5397, 0, 0}, {2056, 102, 17476, 0, 0, 0, 0}, {15, 48, 1792, 80, 4096, 0, 0}, {240, 2160, 28784, 0, 0, 0, 0}, {6, 85, 1041, 4369, 0, 0, 0}, {10, 546, 80, 0, 0, 0, 0}, {12, 51, 1088, 0, 0, 0, 0}, {12, 48, 1092, 0, 0, 0, 0}, {10, 544, 85, 0, 0, 0, 0}, {6, 80, 1040, 4112, 0, 0, 0}, {255, 2167, 30583, 0, 0, 0, 0}, {240, 2168, 28672, 0, 0, 0, 0}, {6, 85, 1045, 4352, 0, 0, 0}, {10, 544, 80, 0, 0, 0, 0}, {12, 51, 1092, 0, 0, 0, 0}, {12, 48, 1088, 0, 0, 0, 0}, {10, 546, 85, 0, 0, 0, 0}, {6, 80, 1044, 4096, 0, 0, 0}, {255, 2175, 30464, 0, 0, 0, 0}, {2176, 0, 0, 0, 0, 0, 0}, {3, 5, 273, 0, 0, 0, 0}, {10, 546, 0, 0, 0, 0, 0}, {3, 1088, 0, 0, 0, 0, 0}, {12, 1092, 0, 0, 0, 0, 0}, {544, 5, 0, 0, 0, 0, 0}, {6, 1088, 0, 0, 0, 0, 0}, {15, 1911, 0, 0, 0, 0, 0}, {2184, 0, 0, 0, 0, 0, 0}, {3, 5, 272, 0, 0, 0, 0}, {10, 544, 0, 0, 0, 0, 0}, {3, 1092, 0, 0, 0, 0, 0}, {12, 1088, 0, 0, 0, 0, 0}, {546, 5, 0, 0, 0, 0, 0}, {6, 1092, 0, 0, 0, 0, 0}, {15, 1904, 0, 0, 0, 0, 0}, {2048, 48, 80, 4096, 0, 0, 0}, {2056, 51, 85, 4369, 0, 0, 0}, {90, 48, 4626, 16448, 0, 0, 0}, {95, 51, 4864, 17408, 0, 0, 0}, {60, 8224, 80, 5140, 0, 0, 0}, {63, 8704, 85, 5376, 0, 0, 0}, {90, 102, 5632, 17408, 0, 0, 0}, {95, 96, 5911, 16448, 0, 0, 0}, {2056, 48, 80, 4112, 0, 0, 0}, {2048, 51, 85, 4352, 0, 0, 0}, {90, 48, 4608, 16384, 0, 0, 0}, {95, 51, 4883, 17476, 0, 0, 0}, {60, 8192, 80, 5120, 0, 0, 0}, {63, 8738, 85, 5397, 0, 0, 0}, {90, 102, 5654, 17476, 0, 0, 0}, {95, 96, 5888, 16384, 0, 0, 0}, {160, 2048, 8192, 0, 0, 0, 0}, {3, 85, 1028, 4369, 0, 0, 0}, {170, 2056, 8738, 0, 0, 0, 0}, {3, 80, 1024, 4096, 0, 0, 0}, {12, 96, 1028, 0, 0, 0, 0}, {15, 1792, 85, 0, 0, 0, 0}, {12, 102, 1024, 0, 0, 0, 0}, {15, 1799, 80, 0, 0, 0, 0}, {160, 2056, 8224, 0, 0, 0, 0}, {3, 85, 1024, 4352, 0, 0, 0}, {170, 2048, 8704, 0, 0, 0, 0}, {3, 80, 1028, 4112, 0, 0, 0}, {12, 96, 1024, 0, 0, 0, 0}, {15, 1799, 85, 0, 0, 0, 0}, {12, 102, 1028, 0, 0, 0, 0}, {15, 1792, 80, 0, 0, 0, 0}, {2112, 48, 16448, 0, 0, 0, 0}, {10, 51, 529, 85, 4369, 0, 0}, {10, 48, 530, 80, 4096, 0, 0}, {2124, 51, 17408, 0, 0, 0, 0}, {60, 13380, 17476, 0, 0, 0, 0}, {10, 53, 533, 85, 5397, 0, 0}, {10, 54, 534, 80, 5120, 0, 0}, {63, 14199, 16384, 0, 0, 0, 0}, {2120, 48, 16384, 0, 0, 0, 0}, {10, 51, 531, 85, 4352, 0, 0}, {10, 48, 528, 80, 4112, 0, 0}, {2116, 51, 17476, 0, 0, 0, 0}, {60, 13424, 17408, 0, 0, 0, 0}, {10, 53, 535, 85, 5376, 0, 0}, {10, 54, 532, 80, 5140, 0, 0}, {63, 14144, 16448, 0, 0, 0, 0}, {192, 2048, 16384, 0, 0, 0, 0}, {51, 514, 5, 4369, 0, 0, 0}, {10, 96, 514, 16448, 0, 0, 0}, {15, 51, 1792, 17408, 0, 0, 0}, {204, 2056, 17476, 0, 0, 0, 0}, {48, 512, 5, 4096, 0, 0, 0}, {10, 102, 512, 17408, 0, 0, 0}, {15, 48, 1799, 16448, 0, 0, 0}, {192, 2056, 16448, 0, 0, 0, 0}, {51, 512, 5, 4352, 0, 0, 0}, {10, 96, 512, 16384, 0, 0, 0}, {15, 51, 1799, 17476, 0, 0, 0}, {204, 2048, 17408, 0, 0, 0, 0}, {48, 514, 5, 4112, 0, 0, 0}, {10, 102, 514, 17476, 0, 0, 0}, {15, 48, 1792, 16384, 0, 0, 0}, {2080, 8224, 80, 0, 0, 0, 0}, {12, 51, 85, 1041, 4369, 0, 0}, {90, 8738, 21026, 0, 0, 0, 0}, {12, 51, 4883, 83, 1043, 0, 0}, {12, 48, 80, 1044, 4096, 0, 0}, {2090, 8704, 85, 0, 0, 0, 0}, {12, 48, 4608, 86, 1046, 0, 0}, {95, 8192, 22391, 0, 0, 0, 0}, {2088, 8192, 80, 0, 0, 0, 0}, {12, 51, 85, 1045, 4352, 0, 0}, {90, 8704, 21104, 0, 0, 0, 0}, {12, 51, 4864, 83, 1047, 0, 0}, {12, 48, 80, 1040, 4112, 0, 0}, {2082, 8738, 85, 0, 0, 0, 0}, {12, 48, 4626, 86, 1042, 0, 0}, {95, 8224, 22304, 0, 0, 0, 0}, {2112, 96, 16448, 0, 0, 0, 0}, {15, 51, 1809, 85, 4369, 0, 0}, {106, 8738, 16384, 0, 0, 0, 0}, {15, 51, 4883, 80, 5120, 0, 0}, {108, 8192, 17476, 0, 0, 0, 0}, {15, 48, 4608, 85, 5397, 0, 0}, {2124, 102, 17408, 0, 0, 0, 0}, {15, 48, 1815, 80, 4096, 0, 0}, {2120, 96, 16384, 0, 0, 0, 0}, {15, 51, 1814, 85, 4352, 0, 0}, {106, 8704, 16448, 0, 0, 0, 0}, {15, 51, 4864, 80, 5140, 0, 0}, {108, 8224, 17408, 0, 0, 0, 0}, {15, 48, 4626, 85, 5376, 0, 0}, {2116, 102, 17476, 0, 0, 0, 0}, {15, 48, 1808, 80, 4112, 0, 0}, {240, 2048, 28672, 0, 0, 0, 0}, {6, 85, 1028, 4369, 0, 0, 0}, {10, 514, 80, 0, 0, 0, 0}, {12, 51, 1024, 0, 0, 0, 0}, {12, 48, 1028, 0, 0, 0, 0}, {10, 512, 85, 0, 0, 0, 0}, {6, 80, 1024, 4096, 0, 0, 0}, {255, 2056, 30583, 0, 0, 0, 0}, {240, 2056, 28784, 0, 0, 0, 0}, {6, 85, 1024, 4352, 0, 0, 0}, {10, 512, 80, 0, 0, 0, 0}, {12, 51, 1028, 0, 0, 0, 0}, {12, 48, 1024, 0, 0, 0, 0}, {10, 514, 85, 0, 0, 0, 0}, {6, 80, 1028, 4112, 0, 0, 0}, {255, 2048, 30464, 0, 0, 0, 0}, {768, 1280, 0, 0, 0, 0, 0}, {8, 257, 0, 0, 0, 0, 0}, {258, 1024, 0, 0, 0, 0, 0}, {1295, 771, 0, 0, 0, 0, 0}, {512, 260, 0, 0, 0, 0, 0}, {783, 1285, 0, 0, 0, 0, 0}, {1290, 1542, 0, 0, 0, 0, 0}, {263, 1024, 0, 0, 0, 0, 0}, {8, 256, 0, 0, 0, 0, 0}, {771, 1285, 0, 0, 0, 0, 0}, {1290, 768, 0, 0, 0, 0, 0}, {259, 1028, 0, 0, 0, 0, 0}, {780, 1280, 0, 0, 0, 0, 0}, {514, 261, 0, 0, 0, 0, 0}, {262, 1028, 0, 0, 0, 0, 0}, {1295, 1536, 0, 0, 0, 0, 0}, {2320, 816, 1360, 4112, 0, 0, 0}, {2321, 819, 1365, 4369, 0, 0, 0}, {1370, 4386, 4626, 17408, 0, 0, 0}, {1375, 4128, 4883, 16384, 0, 0, 0}, {828, 8704, 4420, 5140, 0, 0, 0}, {831, 8192, 4160, 5397, 0, 0, 0}, {1370, 4208, 5654, 16384, 0, 0, 0}, {1375, 4471, 5911, 17408, 0, 0, 0}, {2328, 816, 1360, 4352, 0, 0, 0}, {2329, 819, 1365, 4096, 0, 0, 0}, {1370, 4144, 4864, 16448, 0, 0, 0}, {1375, 4403, 4608, 17476, 0, 0, 0}, {828, 8224, 4176, 5376, 0, 0, 0}, {831, 8738, 4437, 5120, 0, 0, 0}, {1370, 4454, 5888, 17476, 0, 0, 0}, {1375, 4192, 5632, 16448, 0, 0, 0}, {4128, 768, 5376, 0, 0, 0, 0}, {1325, 771, 4369, 0, 0, 0, 0}, {4386, 768, 5120, 0, 0, 0, 0}, {1327, 771, 4112, 0, 0, 0, 0}, {780, 1572, 4420, 0, 0, 0, 0}, {783, 1317, 5461, 0, 0, 0, 0}, {780, 1574, 4160, 0, 0, 0, 0}, {783, 1319, 5200, 0, 0, 0, 0}, {1320, 768, 4352, 0, 0, 0, 0}, {4144, 771, 5397, 0, 0, 0, 0}, {1322, 768, 4096, 0, 0, 0, 0}, {4403, 771, 5140, 0, 0, 0, 0}, {780, 1312, 5440, 0, 0, 0, 0}, {783, 1570, 4437, 0, 0, 0, 0}, {780, 1314, 5188, 0, 0, 0, 0}, {783, 1568, 4176, 0, 0, 0, 0}, {2560, 816, 21760, 0, 0, 0, 0}, {8, 305, 514, 1092, 4369, 0, 0}, {8, 306, 514, 1088, 4112, 0, 0}, {2560, 819, 20480, 0, 0, 0, 0}, {8, 308, 512, 4420, 5376, 0, 0}, {831, 13621, 21845, 0, 0, 0, 0}, {828, 13878, 20560, 0, 0, 0, 0}, {8, 311, 512, 4160, 5120, 0, 0}, {8, 304, 512, 1088, 4352, 0, 0}, {2570, 819, 21845, 0, 0, 0, 0}, {2570, 816, 20560, 0, 0, 0, 0}, {8, 307, 512, 1092, 4096, 0, 0}, {828, 13568, 21760, 0, 0, 0, 0}, {8, 309, 514, 4437, 5397, 0, 0}, {8, 310, 514, 4176, 5140, 0, 0}, {831, 13824, 20480, 0, 0, 0, 0}, {4864, 4160, 1280, 0, 0, 0, 0}, {843, 1285, 4369, 0, 0, 0, 0}, {1290, 4386, 1602, 17408, 0, 0, 0}, {1295, 4208, 835, 16384, 0, 0, 0}, {4608, 4420, 1280, 0, 0, 0, 0}, {847, 1285, 4112, 0, 0, 0, 0}, {1290, 4128, 1606, 16384, 0, 0, 0}, {1295, 4471, 839, 17408, 0, 0, 0}, {840, 1280, 4352, 0, 0, 0, 0}, {4883, 4176, 1285, 0, 0, 0, 0}, {1290, 4192, 832, 16448, 0, 0, 0}, {1295, 4403, 1604, 17476, 0, 0, 0}, {844, 1280, 4096, 0, 0, 0, 0}, {4626, 4437, 1285, 0, 0, 0, 0}, {1290, 4454, 836, 17476, 0, 0, 0}, {1295, 4144, 1600, 16448, 0, 0, 0}, {3072, 13056, 1360, 0, 0, 0, 0}, {8, 546, 337, 1028, 4369, 0, 0}, {8, 4386, 4864, 338, 1024, 0, 0}, {1375, 13107, 21331, 0, 0, 0, 0}, {8, 544, 340, 1028, 4112, 0, 0}, {3072, 12288, 1365, 0, 0, 0, 0}, {1370, 12336, 22102, 0, 0, 0, 0}, {8, 4128, 4608, 343, 1024, 0, 0}, {8, 544, 336, 1024, 4352, 0, 0}, {3084, 13107, 1365, 0, 0, 0, 0}, {1370, 13056, 21248, 0, 0, 0, 0}, {8, 4403, 4883, 339, 1028, 0, 0}, {3084, 12336, 1360, 0, 0, 0, 0}, {8, 546, 341, 1024, 4096, 0, 0}, {8, 4144, 4626, 342, 1028, 0, 0}, {1375, 12288, 22016, 0, 0, 0, 0}, {3840, 1632, 21760, 0, 0, 0, 0}, {8, 1317, 1799, 1092, 4369, 0, 0}, {8, 4386, 4864, 4160, 5120, 0, 0}, {1644, 13107, 20560, 0, 0, 0, 0}, {8, 4128, 4608, 4420, 5376, 0, 0}, {1642, 12336, 21845, 0, 0, 0, 0}, {3840, 1638, 20480, 0, 0, 0, 0}, {8, 1319, 1799, 1088, 4112, 0, 0}, {8, 1312, 1792, 1088, 4352, 0, 0}, {3855, 1638, 21845, 0, 0, 0, 0}, {1642, 13056, 20480, 0, 0, 0, 0}, {8, 4403, 4883, 4176, 5140, 0, 0}, {1644, 12288, 21760, 0, 0, 0, 0}, {8, 4144, 4626, 4437, 5397, 0, 0}, {8, 1314, 1792, 1092, 4096, 0, 0}, {3855, 1632, 20560, 0, 0, 0, 0}, {4208, 4864, 5376, 0, 0, 0, 0}, {1405, 1542, 4369, 0, 0, 0, 0}, {1546, 4386, 5200, 0, 0, 0, 0}, {1548, 4915, 4160, 0, 0, 0, 0}, {1548, 4656, 4420, 0, 0, 0, 0}, {1546, 4128, 5461, 0, 0, 0, 0}, {1402, 1542, 4112, 0, 0, 0, 0}, {4471, 4608, 5120, 0, 0, 0, 0}, {1400, 1536, 4352, 0, 0, 0, 0}, {4192, 4883, 5397, 0, 0, 0, 0}, {1546, 4896, 4176, 0, 0, 0, 0}, {1548, 4403, 5188, 0, 0, 0, 0}, {1548, 4144, 5440, 0, 0, 0, 0}, {1546, 4642, 4437, 0, 0, 0, 0}, {4454, 4626, 5140, 0, 0, 0, 0}, {1407, 1536, 4096, 0, 0, 0, 0}, {128, 768, 1280, 4096, 0, 0, 0}, {136, 771, 1285, 4369, 0, 0, 0}, {1290, 4386, 768, 17408, 0, 0, 0}, {1295, 4144, 771, 16448, 0, 0, 0}, {780, 8704, 4420, 1280, 0, 0, 0}, {783, 8224, 4176, 1285, 0, 0, 0}, {1290, 4192, 1542, 16448, 0, 0, 0}, {1295, 4471, 1536, 17408, 0, 0, 0}, {136, 768, 1280, 4352, 0, 0, 0}, {128, 771, 1285, 4112, 0, 0, 0}, {1290, 4128, 768, 16384, 0, 0, 0}, {1295, 4403, 771, 17476, 0, 0, 0}, {780, 8192, 4160, 1280, 0, 0, 0}, {783, 8738, 4437, 1285, 0, 0, 0}, {1290, 4454, 1542, 17476, 0, 0, 0}, {1295, 4208, 1536, 16384, 0, 0, 0}, {816, 1360, 0, 0, 0, 0, 0}, {8, 273, 0, 0, 0, 0, 0}, {274, 1088, 0, 0, 0, 0, 0}, {1375, 819, 0, 0, 0, 0, 0}, {544, 276, 0, 0, 0, 0, 0}, {831, 1365, 0, 0, 0, 0, 0}, {1370, 1638, 0, 0, 0, 0, 0}, {279, 1088, 0, 0, 0, 0, 0}, {8, 272, 0, 0, 0, 0, 0}, {819, 1365, 0, 0, 0, 0, 0}, {1370, 816, 0, 0, 0, 0, 0}, {275, 1092, 0, 0, 0, 0, 0}, {828, 1360, 0, 0, 0, 0, 0}, {546, 277, 0, 0, 0, 0, 0}, {278, 1092, 0, 0, 0, 0, 0}, {1375, 1632, 0, 0, 0, 0, 0}, {1440, 768, 21760, 0, 0, 0, 0}, {8, 289, 771, 1028, 4369, 0, 0}, {8, 290, 768, 1024, 4096, 0, 0}, {1455, 771, 20560, 0, 0, 0, 0}, {8, 292, 772, 4420, 1028, 0, 0}, {783, 13653, 21845, 0, 0, 0, 0}, {780, 13926, 20480, 0, 0, 0, 0}, {8, 295, 775, 4176, 1024, 0, 0}, {8, 288, 768, 1024, 4352, 0, 0}, {1445, 771, 21845, 0, 0, 0, 0}, {1450, 768, 20480, 0, 0, 0, 0}, {8, 291, 771, 1028, 4112, 0, 0}, {780, 13664, 21760, 0, 0, 0, 0}, {8, 293, 775, 4437, 1024, 0, 0}, {8, 294, 772, 4160, 1028, 0, 0}, {783, 13904, 20560, 0, 0, 0, 0}, {4144, 4864, 5440, 0, 0, 0, 0}, {1614, 819, 4369, 0, 0, 0, 0}, {4386, 4626, 5200, 0, 0, 0, 0}, {1612, 819, 4096, 0, 0, 0, 0}, {5180, 5888, 4420, 0, 0, 0, 0}, {4959, 4192, 5397, 0, 0, 0, 0}, {5418, 5654, 4176, 0, 0, 0, 0}, {4680, 4471, 5120, 0, 0, 0, 0}, {1608, 816, 4352, 0, 0, 0, 0}, {4128, 4883, 5461, 0, 0, 0, 0}, {1610, 816, 4112, 0, 0, 0, 0}, {4403, 4608, 5188, 0, 0, 0, 0}, {4940, 4208, 5376, 0, 0, 0, 0}, {5160, 5911, 4437, 0, 0, 0, 0}, {4698, 4454, 5140, 0, 0, 0, 0}, {5439, 5632, 4160, 0, 0, 0, 0}, {960, 13056, 1280, 0, 0, 0, 0}, {8, 514, 321, 1285, 4369, 0, 0}, {8, 4386, 514, 322, 1282, 0, 0}, {1295, 13107, 21299, 0, 0, 0, 0}, {8, 512, 324, 1280, 4096, 0, 0}, {975, 12336, 1285, 0, 0, 0, 0}, {1290, 12288, 22118, 0, 0, 0, 0}, {8, 4144, 512, 327, 1287, 0, 0}, {8, 512, 320, 1280, 4352, 0, 0}, {963, 13107, 1285, 0, 0, 0, 0}, {1290, 13056, 21344, 0, 0, 0, 0}, {8, 4403, 512, 323, 1287, 0, 0}, {972, 12288, 1280, 0, 0, 0, 0}, {8, 514, 325, 1285, 4112, 0, 0}, {8, 4128, 514, 326, 1282, 0, 0}, {1295, 12336, 22064, 0, 0, 0, 0}, {4896, 4176, 5376, 0, 0, 0, 0}, {1582, 1365, 4369, 0, 0, 0, 0}, {1370, 4386, 5888, 17408, 0, 0, 0}, {1375, 4192, 4883, 16448, 0, 0, 0}, {4656, 4420, 5140, 0, 0, 0, 0}, {1578, 1365, 4096, 0, 0, 0, 0}, {1370, 4144, 5654, 16448, 0, 0, 0}, {1375, 4471, 4608, 17408, 0, 0, 0}, {1576, 1360, 4352, 0, 0, 0, 0}, {4915, 4160, 5397, 0, 0, 0, 0}, {1370, 4208, 4864, 16384, 0, 0, 0}, {1375, 4403, 5911, 17476, 0, 0, 0}, {1580, 1360, 4112, 0, 0, 0, 0}, {4642, 4437, 5120, 0, 0, 0, 0}, {1370, 4454, 4626, 17476, 0, 0, 0}, {1375, 4128, 5632, 16384, 0, 0, 0}, {1312, 5632, 5440, 0, 0, 0, 0}, {843, 1638, 4369, 0, 0, 0, 0}, {840, 4386, 5120, 0, 0, 0, 0}, {1327, 4883, 4176, 0, 0, 0, 0}, {1320, 4608, 4420, 0, 0, 0, 0}, {847, 4144, 5397, 0, 0, 0, 0}, {844, 1638, 4096, 0, 0, 0, 0}, {1319, 5911, 5200, 0, 0, 0, 0}, {840, 1632, 4352, 0, 0, 0, 0}, {1317, 5654, 5461, 0, 0, 0, 0}, {1322, 4864, 4160, 0, 0, 0, 0}, {843, 4403, 5140, 0, 0, 0, 0}, {844, 4128, 5376, 0, 0, 0, 0}, {1325, 4626, 4437, 0, 0, 0, 0}, {1314, 5888, 5188, 0, 0, 0, 0}, {847, 1632, 4112, 0, 0, 0, 0}, {1520, 1536, 21760, 0, 0, 0, 0}, {8, 369, 514, 1028, 4369, 0, 0}, {8, 4386, 514, 4176, 1024, 0, 0}, {1548, 13107, 20480, 0, 0, 0, 0}, {8, 4144, 512, 4420, 1028, 0, 0}, {1546, 12288, 21845, 0, 0, 0, 0}, {1530, 1542, 20560, 0, 0, 0, 0}, {8, 375, 512, 1024, 4096, 0, 0}, {8, 368, 512, 1024, 4352, 0, 0}, {1525, 1542, 21845, 0, 0, 0, 0}, {1546, 13056, 20560, 0, 0, 0, 0}, {8, 4403, 512, 4160, 1028, 0, 0}, {1548, 12336, 21760, 0, 0, 0, 0}, {8, 4128, 514, 4437, 1024, 0, 0}, {8, 374, 514, 1028, 4112, 0, 0}, {1535, 1536, 20480, 0, 0, 0, 0}, {2560, 0, 0, 0, 0, 0, 0}, {3, 4, 257, 0, 0, 0, 0}, {8, 514, 0, 0, 0, 0, 0}, {3, 1280, 0, 0, 0, 0, 0}, {512, 4, 0, 0, 0, 0, 0}, {15, 1285, 0, 0, 0, 0, 0}, {12, 1542, 0, 0, 0, 0, 0}, {7, 1280, 0, 0, 0, 0, 0}, {8, 512, 0, 0, 0, 0, 0}, {3, 1285, 0, 0, 0, 0, 0}, {2570, 0, 0, 0, 0, 0, 0}, {3, 4, 256, 0, 0, 0, 0}, {12, 1536, 0, 0, 0, 0, 0}, {7, 1285, 0, 0, 0, 0, 0}, {514, 4, 0, 0, 0, 0, 0}, {15, 1280, 0, 0, 0, 0, 0}, {2576, 48, 64, 4112, 0, 0, 0}, {2577, 51, 68, 4369, 0, 0, 0}, {72, 48, 4626, 20480, 0, 0, 0}, {76, 51, 4883, 21760, 0, 0, 0}, {60, 8704, 68, 5140, 0, 0, 0}, {63, 8192, 64, 5397, 0, 0, 0}, {76, 112, 5654, 20480, 0, 0, 0}, {72, 119, 5911, 21760, 0, 0, 0}, {72, 48, 4608, 20560, 0, 0, 0}, {76, 51, 4864, 21845, 0, 0, 0}, {2586, 48, 64, 4096, 0, 0, 0}, {2587, 51, 68, 4352, 0, 0, 0}, {76, 112, 5632, 20560, 0, 0, 0}, {72, 119, 5888, 21845, 0, 0, 0}, {60, 8738, 68, 5120, 0, 0, 0}, {63, 8224, 64, 5376, 0, 0, 0}, {128, 2592, 8224, 0, 0, 0, 0}, {3, 68, 1297, 4369, 0, 0, 0}, {136, 2594, 8738, 0, 0, 0, 0}, {3, 64, 1296, 4112, 0, 0, 0}, {12, 1572, 68, 0, 0, 0, 0}, {15, 1317, 1365, 0, 0, 0, 0}, {12, 1574, 64, 0, 0, 0, 0}, {15, 1319, 1360, 0, 0, 0, 0}, {136, 2600, 8704, 0, 0, 0, 0}, {3, 64, 1301, 4096, 0, 0, 0}, {128, 2602, 8192, 0, 0, 0, 0}, {3, 68, 1300, 4352, 0, 0, 0}, {12, 1568, 64, 0, 0, 0, 0}, {15, 1314, 1365, 0, 0, 0, 0}, {12, 1570, 68, 0, 0, 0, 0}, {15, 1312, 1360, 0, 0, 0, 0}, {2560, 48, 20480, 0, 0, 0, 0}, {8, 51, 514, 68, 4369, 0, 0}, {8, 48, 514, 64, 4112, 0, 0}, {2560, 51, 21760, 0, 0, 0, 0}, {8, 52, 512, 68, 5120, 0, 0}, {63, 13621, 21845, 0, 0, 0, 0}, {60, 13878, 20560, 0, 0, 0, 0}, {8, 55, 512, 64, 5376, 0, 0}, {8, 48, 512, 64, 4096, 0, 0}, {2570, 51, 21845, 0, 0, 0, 0}, {2570, 48, 20560, 0, 0, 0, 0}, {8, 51, 512, 68, 4352, 0, 0}, {60, 13824, 20480, 0, 0, 0, 0}, {8, 55, 514, 64, 5397, 0, 0}, {8, 52, 514, 68, 5140, 0, 0}, {63, 13568, 21760, 0, 0, 0, 0}, {2560, 8192, 64, 0, 0, 0, 0}, {15, 51, 68, 1285, 4369, 0, 0}, {72, 8738, 16962, 0, 0, 0, 0}, {15, 51, 4864, 67, 1280, 0, 0}, {2560, 8704, 68, 0, 0, 0, 0}, {15, 48, 64, 1285, 4112, 0, 0}, {76, 8224, 17990, 0, 0, 0, 0}, {15, 48, 4608, 71, 1280, 0, 0}, {72, 8704, 16896, 0, 0, 0, 0}, {15, 51, 4883, 67, 1285, 0, 0}, {2570, 8224, 64, 0, 0, 0, 0}, {15, 51, 68, 1280, 4352, 0, 0}, {76, 8192, 17920, 0, 0, 0, 0}, {15, 48, 4626, 71, 1285, 0, 0}, {2570, 8738, 68, 0, 0, 0, 0}, {15, 48, 64, 1280, 4096, 0, 0}, {240, 2640, 20560, 0, 0, 0, 0}, {51, 529, 4, 4369, 0, 0, 0}, {8, 112, 594, 20480, 0, 0, 0}, {12, 51, 1619, 21760, 0, 0, 0}, {48, 528, 4, 4112, 0, 0, 0}, {255, 2645, 21845, 0, 0, 0, 0}, {12, 48, 1622, 20480, 0, 0, 0}, {8, 119, 599, 21760, 0, 0, 0}, {8, 112, 592, 20560, 0, 0, 0}, {12, 51, 1621, 21845, 0, 0, 0}, {240, 2650, 20480, 0, 0, 0, 0}, {51, 531, 4, 4352, 0, 0, 0}, {12, 48, 1616, 20560, 0, 0, 0}, {8, 119, 597, 21845, 0, 0, 0}, {48, 530, 4, 4096, 0, 0, 0}, {255, 2655, 21760, 0, 0, 0, 0}, {192, 2656, 24672, 0, 0, 0, 0}, {7, 68, 1297, 4369, 0, 0, 0}, {8, 546, 64, 0, 0, 0, 0}, {15, 51, 1360, 0, 0, 0, 0}, {8, 544, 68, 0, 0, 0, 0}, {15, 48, 1365, 0, 0, 0, 0}, {204, 2662, 26214, 0, 0, 0, 0}, {7, 64, 1296, 4112, 0, 0, 0}, {8, 544, 64, 0, 0, 0, 0}, {15, 51, 1365, 0, 0, 0, 0}, {192, 2666, 24576, 0, 0, 0, 0}, {7, 68, 1300, 4352, 0, 0, 0}, {204, 2668, 26112, 0, 0, 0, 0}, {7, 64, 1301, 4096, 0, 0, 0}, {8, 546, 68, 0, 0, 0, 0}, {15, 48, 1360, 0, 0, 0, 0}, {2560, 112, 20480, 0, 0, 0, 0}, {12, 51, 1542, 68, 4369, 0, 0}, {120, 8738, 20560, 0, 0, 0, 0}, {12, 51, 4864, 64, 5376, 0, 0}, {12, 48, 4608, 68, 5120, 0, 0}, {127, 8224, 21845, 0, 0, 0, 0}, {12, 48, 1542, 64, 4112, 0, 0}, {2560, 119, 21760, 0, 0, 0, 0}, {120, 8704, 20480, 0, 0, 0, 0}, {12, 51, 4883, 64, 5397, 0, 0}, {2570, 112, 20560, 0, 0, 0, 0}, {12, 51, 1536, 68, 4352, 0, 0}, {12, 48, 1536, 64, 4096, 0, 0}, {2570, 119, 21845, 0, 0, 0, 0}, {12, 48, 4626, 68, 5140, 0, 0}, {127, 8192, 21760, 0, 0, 0, 0}, {128, 2560, 8192, 0, 0, 0, 0}, {3, 68, 1285, 4369, 0, 0, 0}, {136, 2570, 8738, 0, 0, 0, 0}, {3, 64, 1280, 4096, 0, 0, 0}, {12, 1536, 68, 0, 0, 0, 0}, {15, 112, 1285, 0, 0, 0, 0}, {12, 1542, 64, 0, 0, 0, 0}, {15, 119, 1280, 0, 0, 0, 0}, {136, 2560, 8704, 0, 0, 0, 0}, {3, 64, 1285, 4112, 0, 0, 0}, {128, 2570, 8224, 0, 0, 0, 0}, {3, 68, 1280, 4352, 0, 0, 0}, {12, 1536, 64, 0, 0, 0, 0}, {15, 119, 1285, 0, 0, 0, 0}, {12, 1542, 68, 0, 0, 0, 0}, {15, 112, 1280, 0, 0, 0, 0}, {2640, 48, 20560, 0, 0, 0, 0}, {8, 51, 529, 68, 4369, 0, 0}, {8, 48, 530, 64, 4096, 0, 0}, {2655, 51, 21760, 0, 0, 0, 0}, {8, 52, 532, 68, 5140, 0, 0}, {63, 13653, 21845, 0, 0, 0, 0}, {60, 13926, 20480, 0, 0, 0, 0}, {8, 55, 535, 64, 5376, 0, 0}, {8, 48, 528, 64, 4112, 0, 0}, {2645, 51, 21845, 0, 0, 0, 0}, {2650, 48, 20480, 0, 0, 0, 0}, {8, 51, 531, 68, 4352, 0, 0}, {60, 13904, 20560, 0, 0, 0, 0}, {8, 55, 533, 64, 5397, 0, 0}, {8, 52, 534, 68, 5120, 0, 0}, {63, 13664, 21760, 0, 0, 0, 0}, {2720, 0, 0, 0, 0, 0, 0}, {3, 4, 273, 0, 0, 0, 0}, {8, 546, 0, 0, 0, 0, 0}, {3, 1360, 0, 0, 0, 0, 0}, {544, 4, 0, 0, 0, 0, 0}, {15, 1365, 0, 0, 0, 0, 0}, {12, 1638, 0, 0, 0, 0, 0}, {7, 1360, 0, 0, 0, 0, 0}, {8, 544, 0, 0, 0, 0, 0}, {3, 1365, 0, 0, 0, 0, 0}, {2730, 0, 0, 0, 0, 0, 0}, {3, 4, 272, 0, 0, 0, 0}, {12, 1632, 0, 0, 0, 0, 0}, {7, 1365, 0, 0, 0, 0, 0}, {546, 4, 0, 0, 0, 0, 0}, {15, 1360, 0, 0, 0, 0, 0}, {2560, 48, 64, 4096, 0, 0, 0}, {2570, 51, 68, 4369, 0, 0, 0}, {72, 48, 4626, 20560, 0, 0, 0}, {76, 51, 4864, 21760, 0, 0, 0}, {60, 8704, 68, 5120, 0, 0, 0}, {63, 8224, 64, 5397, 0, 0, 0}, {76, 112, 5654, 20560, 0, 0, 0}, {72, 119, 5888, 21760, 0, 0, 0}, {72, 48, 4608, 20480, 0, 0, 0}, {76, 51, 4883, 21845, 0, 0, 0}, {2570, 48, 64, 4112, 0, 0, 0}, {2560, 51, 68, 4352, 0, 0, 0}, {76, 112, 5632, 20480, 0, 0, 0}, {72, 119, 5911, 21845, 0, 0, 0}, {60, 8738, 68, 5140, 0, 0, 0}, {63, 8192, 64, 5376, 0, 0, 0}, {192, 2560, 24576, 0, 0, 0, 0}, {7, 68, 1285, 4369, 0, 0, 0}, {8, 514, 64, 0, 0, 0, 0}, {15, 51, 1280, 0, 0, 0, 0}, {8, 512, 68, 0, 0, 0, 0}, {15, 48, 1285, 0, 0, 0, 0}, {204, 2570, 26214, 0, 0, 0, 0}, {7, 64, 1280, 4096, 0, 0, 0}, {8, 512, 64, 0, 0, 0, 0}, {15, 51, 1285, 0, 0, 0, 0}, {192, 2570, 24672, 0, 0, 0, 0}, {7, 68, 1280, 4352, 0, 0, 0}, {204, 2560, 26112, 0, 0, 0, 0}, {7, 64, 1285, 4112, 0, 0, 0}, {8, 514, 68, 0, 0, 0, 0}, {15, 48, 1280, 0, 0, 0, 0}, {2640, 112, 20560, 0, 0, 0, 0}, {12, 51, 1553, 68, 4369, 0, 0}, {120, 8738, 20480, 0, 0, 0, 0}, {12, 51, 4883, 64, 5376, 0, 0}, {12, 48, 4608, 68, 5140, 0, 0}, {127, 8192, 21845, 0, 0, 0, 0}, {12, 48, 1558, 64, 4096, 0, 0}, {2655, 119, 21760, 0, 0, 0, 0}, {120, 8704, 20560, 0, 0, 0, 0}, {12, 51, 4864, 64, 5397, 0, 0}, {2650, 112, 20480, 0, 0, 0, 0}, {12, 51, 1559, 68, 4352, 0, 0}, {12, 48, 1552, 64, 4112, 0, 0}, {2645, 119, 21845, 0, 0, 0, 0}, {12, 48, 4626, 68, 5120, 0, 0}, {127, 8224, 21760, 0, 0, 0, 0}, {2592, 8224, 64, 0, 0, 0, 0}, {15, 51, 68, 1297, 4369, 0, 0}, {72, 8738, 16930, 0, 0, 0, 0}, {15, 51, 4883, 67, 1299, 0, 0}, {2600, 8704, 68, 0, 0, 0, 0}, {15, 48, 64, 1301, 4096, 0, 0}, {76, 8192, 18022, 0, 0, 0, 0}, {15, 48, 4608, 71, 1303, 0, 0}, {72, 8704, 16992, 0, 0, 0, 0}, {15, 51, 4864, 67, 1302, 0, 0}, {2602, 8192, 64, 0, 0, 0, 0}, {15, 51, 68, 1300, 4352, 0, 0}, {76, 8224, 17952, 0, 0, 0, 0}, {15, 48, 4626, 71, 1298, 0, 0}, {2594, 8738, 68, 0, 0, 0, 0}, {15, 48, 64, 1296, 4112, 0, 0}, {240, 2560, 20480, 0, 0, 0, 0}, {51, 514, 4, 4369, 0, 0, 0}, {8, 112, 514, 20560, 0, 0, 0}, {12, 51, 1536, 21760, 0, 0, 0}, {48, 512, 4, 4096, 0, 0, 0}, {255, 2570, 21845, 0, 0, 0, 0}, {12, 48, 1542, 20560, 0, 0, 0}, {8, 119, 512, 21760, 0, 0, 0}, {8, 112, 512, 20480, 0, 0, 0}, {12, 51, 1542, 21845, 0, 0, 0}, {240, 2570, 20560, 0, 0, 0, 0}, {51, 512, 4, 4352, 0, 0, 0}, {12, 48, 1536, 20480, 0, 0, 0}, {8, 119, 514, 21845, 0, 0, 0}, {48, 514, 4, 4112, 0, 0, 0}, {255, 2560, 21760, 0, 0, 0, 0}, {768, 1024, 0, 0, 0, 0, 0}, {10, 257, 0, 0, 0, 0, 0}, {258, 1280, 0, 0, 0, 0, 0}, {1036, 771, 0, 0, 0, 0, 0}, {780, 1028, 0, 0, 0, 0, 0}, {512, 261, 0, 0, 0, 0, 0}, {262, 1280, 0, 0, 0, 0, 0}, {1032, 1799, 0, 0, 0, 0, 0}, {1032, 768, 0, 0, 0, 0, 0}, {259, 1285, 0, 0, 0, 0, 0}, {10, 256, 0, 0, 0, 0, 0}, {771, 1028, 0, 0, 0, 0, 0}, {1036, 1792, 0, 0, 0, 0, 0}, {263, 1285, 0, 0, 0, 0, 0}, {514, 260, 0, 0, 0, 0, 0}, {783, 1024, 0, 0, 0, 0, 0}, {2832, 816, 1088, 4112, 0, 0, 0}, {2833, 819, 1092, 4369, 0, 0, 0}, {1096, 4386, 4626, 21760, 0, 0, 0}, {1100, 4128, 4883, 20480, 0, 0, 0}, {828, 8192, 4176, 5140, 0, 0, 0}, {831, 8704, 4437, 5397, 0, 0, 0}, {1100, 4454, 5654, 21760, 0, 0, 0}, {1096, 4192, 5911, 20480, 0, 0, 0}, {1096, 4144, 4864, 20560, 0, 0, 0}, {1100, 4403, 4608, 21845, 0, 0, 0}, {2842, 816, 1088, 4352, 0, 0, 0}, {2843, 819, 1092, 4096, 0, 0, 0}, {1100, 4208, 5888, 20560, 0, 0, 0}, {1096, 4471, 5632, 21845, 0, 0, 0}, {828, 8738, 4420, 5376, 0, 0, 0}, {831, 8224, 4160, 5120, 0, 0, 0}, {4128, 768, 5120, 0, 0, 0, 0}, {1070, 771, 4369, 0, 0, 0, 0}, {4386, 768, 5376, 0, 0, 0, 0}, {1068, 771, 4112, 0, 0, 0, 0}, {780, 1060, 5188, 0, 0, 0, 0}, {783, 1829, 4437, 0, 0, 0, 0}, {780, 1062, 5440, 0, 0, 0, 0}, {783, 1831, 4176, 0, 0, 0, 0}, {1064, 768, 4096, 0, 0, 0, 0}, {4403, 771, 5397, 0, 0, 0, 0}, {1066, 768, 4352, 0, 0, 0, 0}, {4144, 771, 5140, 0, 0, 0, 0}, {780, 1824, 4160, 0, 0, 0, 0}, {783, 1058, 5461, 0, 0, 0, 0}, {780, 1826, 4420, 0, 0, 0, 0}, {783, 1056, 5200, 0, 0, 0, 0}, {2048, 816, 17408, 0, 0, 0, 0}, {10, 305, 514, 1365, 4369, 0, 0}, {10, 306, 514, 1360, 4112, 0, 0}, {2048, 819, 16384, 0, 0, 0, 0}, {828, 13364, 17476, 0, 0, 0, 0}, {10, 309, 512, 4437, 5120, 0, 0}, {10, 310, 512, 4176, 5376, 0, 0}, {831, 14135, 16448, 0, 0, 0, 0}, {2056, 816, 16448, 0, 0, 0, 0}, {10, 307, 512, 1365, 4096, 0, 0}, {10, 304, 512, 1360, 4352, 0, 0}, {2056, 819, 17476, 0, 0, 0, 0}, {828, 14080, 16384, 0, 0, 0, 0}, {10, 311, 514, 4160, 5397, 0, 0}, {10, 308, 514, 4420, 5140, 0, 0}, {831, 13312, 17408, 0, 0, 0, 0}, {3840, 13056, 1088, 0, 0, 0, 0}, {10, 546, 321, 1285, 4369, 0, 0}, {10, 4386, 4864, 322, 1280, 0, 0}, {1100, 13107, 17219, 0, 0, 0, 0}, {3840, 12288, 1092, 0, 0, 0, 0}, {10, 544, 325, 1285, 4112, 0, 0}, {10, 4128, 4608, 326, 1280, 0, 0}, {1096, 12336, 18247, 0, 0, 0, 0}, {1096, 13056, 17152, 0, 0, 0, 0}, {10, 4403, 4883, 323, 1285, 0, 0}, {10, 544, 320, 1280, 4352, 0, 0}, {3855, 13107, 1092, 0, 0, 0, 0}, {1100, 12288, 18176, 0, 0, 0, 0}, {10, 4144, 4626, 327, 1285, 0, 0}, {10, 546, 324, 1280, 4096, 0, 0}, {3855, 12336, 1088, 0, 0, 0, 0}, {4864, 4176, 1024, 0, 0, 0, 0}, {857, 1028, 4369, 0, 0, 0, 0}, {1032, 4386, 1874, 21760, 0, 0, 0}, {1036, 4192, 851, 20480, 0, 0, 0}, {860, 1028, 4112, 0, 0, 0, 0}, {4608, 4437, 1024, 0, 0, 0, 0}, {1036, 4454, 854, 21760, 0, 0, 0}, {1032, 4128, 1879, 20480, 0, 0, 0}, {1032, 4208, 848, 20560, 0, 0, 0}, {1036, 4403, 1877, 21845, 0, 0, 0}, {858, 1024, 4352, 0, 0, 0, 0}, {4883, 4160, 1028, 0, 0, 0, 0}, {1036, 4144, 1872, 20560, 0, 0, 0}, {1032, 4471, 853, 21845, 0, 0, 0}, {4626, 4420, 1028, 0, 0, 0, 0}, {863, 1024, 4096, 0, 0, 0, 0}, {4192, 4864, 5120, 0, 0, 0, 0}, {1134, 1799, 4369, 0, 0, 0, 0}, {1800, 4386, 5440, 0, 0, 0, 0}, {1807, 4915, 4176, 0, 0, 0, 0}, {1800, 4128, 5188, 0, 0, 0, 0}, {1807, 4656, 4437, 0, 0, 0, 0}, {4454, 4608, 5376, 0, 0, 0, 0}, {1128, 1799, 4112, 0, 0, 0, 0}, {1800, 4896, 4160, 0, 0, 0, 0}, {1807, 4403, 5461, 0, 0, 0, 0}, {1130, 1792, 4352, 0, 0, 0, 0}, {4208, 4883, 5140, 0, 0, 0, 0}, {1132, 1792, 4096, 0, 0, 0, 0}, {4471, 4626, 5397, 0, 0, 0, 0}, {1800, 4642, 4420, 0, 0, 0, 0}, {1807, 4144, 5200, 0, 0, 0, 0}, {3072, 1904, 17408, 0, 0, 0, 0}, {10, 1060, 1542, 1365, 4369, 0, 0}, {10, 4386, 4864, 4176, 5376, 0, 0}, {1919, 13107, 16448, 0, 0, 0, 0}, {1912, 12336, 17476, 0, 0, 0, 0}, {10, 4128, 4608, 4437, 5120, 0, 0}, {10, 1062, 1542, 1360, 4112, 0, 0}, {3072, 1911, 16384, 0, 0, 0, 0}, {1912, 13056, 16384, 0, 0, 0, 0}, {10, 4403, 4883, 4160, 5397, 0, 0}, {10, 1056, 1536, 1360, 4352, 0, 0}, {3084, 1911, 17476, 0, 0, 0, 0}, {3084, 1904, 16448, 0, 0, 0, 0}, {10, 1058, 1536, 1365, 4096, 0, 0}, {10, 4144, 4626, 4420, 5140, 0, 0}, {1919, 12288, 17408, 0, 0, 0, 0}, {1152, 768, 17408, 0, 0, 0, 0}, {10, 289, 771, 1285, 4369, 0, 0}, {10, 290, 768, 1280, 4096, 0, 0}, {1164, 771, 16448, 0, 0, 0, 0}, {780, 13380, 17476, 0, 0, 0, 0}, {10, 293, 773, 4437, 1285, 0, 0}, {10, 294, 774, 4160, 1280, 0, 0}, {783, 14199, 16384, 0, 0, 0, 0}, {1160, 768, 16384, 0, 0, 0, 0}, {10, 291, 771, 1285, 4112, 0, 0}, {10, 288, 768, 1280, 4352, 0, 0}, {1156, 771, 17476, 0, 0, 0, 0}, {780, 14144, 16448, 0, 0, 0, 0}, {10, 295, 773, 4176, 1285, 0, 0}, {10, 292, 774, 4420, 1280, 0, 0}, {783, 13424, 17408, 0, 0, 0, 0}, {4144, 4864, 5200, 0, 0, 0, 0}, {1885, 819, 4369, 0, 0, 0, 0}, {4386, 4626, 5440, 0, 0, 0, 0}, {1887, 819, 4096, 0, 0, 0, 0}, {4940, 4208, 5140, 0, 0, 0, 0}, {5439, 5632, 4437, 0, 0, 0, 0}, {4698, 4454, 5376, 0, 0, 0, 0}, {5160, 5911, 4160, 0, 0, 0, 0}, {1880, 816, 4112, 0, 0, 0, 0}, {4403, 4608, 5461, 0, 0, 0, 0}, {1882, 816, 4352, 0, 0, 0, 0}, {4128, 4883, 5188, 0, 0, 0, 0}, {5180, 5888, 4176, 0, 0, 0, 0}, {4680, 4471, 5397, 0, 0, 0, 0}, {5418, 5654, 4420, 0, 0, 0, 0}, {4959, 4192, 5120, 0, 0, 0, 0}, {160, 768, 1024, 4096, 0, 0, 0}, {170, 771, 1028, 4369, 0, 0, 0}, {1032, 4386, 768, 21760, 0, 0, 0}, {1036, 4144, 771, 20560, 0, 0, 0}, {780, 8224, 4160, 1028, 0, 0, 0}, {783, 8704, 4437, 1024, 0, 0, 0}, {1036, 4454, 1792, 21760, 0, 0, 0}, {1032, 4208, 1799, 20560, 0, 0, 0}, {1032, 4128, 768, 20480, 0, 0, 0}, {1036, 4403, 771, 21845, 0, 0, 0}, {170, 768, 1024, 4352, 0, 0, 0}, {160, 771, 1028, 4112, 0, 0, 0}, {1036, 4192, 1792, 20480, 0, 0, 0}, {1032, 4471, 1799, 21845, 0, 0, 0}, {780, 8738, 4420, 1028, 0, 0, 0}, {783, 8192, 4176, 1024, 0, 0, 0}, {816, 1088, 0, 0, 0, 0, 0}, {10, 273, 0, 0, 0, 0, 0}, {274, 1360, 0, 0, 0, 0, 0}, {1100, 819, 0, 0, 0, 0, 0}, {828, 1092, 0, 0, 0, 0, 0}, {544, 277, 0, 0, 0, 0, 0}, {278, 1360, 0, 0, 0, 0, 0}, {1096, 1911, 0, 0, 0, 0, 0}, {1096, 816, 0, 0, 0, 0, 0}, {275, 1365, 0, 0, 0, 0, 0}, {10, 272, 0, 0, 0, 0, 0}, {819, 1092, 0, 0, 0, 0, 0}, {1100, 1904, 0, 0, 0, 0, 0}, {279, 1365, 0, 0, 0, 0, 0}, {546, 276, 0, 0, 0, 0, 0}, {831, 1088, 0, 0, 0, 0, 0}, {1216, 1792, 17408, 0, 0, 0, 0}, {10, 353, 514, 1285, 4369, 0, 0}, {10, 4386, 514, 4160, 1280, 0, 0}, {1807, 13107, 16384, 0, 0, 0, 0}, {1800, 12288, 17476, 0, 0, 0, 0}, {10, 4144, 512, 4437, 1285, 0, 0}, {10, 358, 512, 1280, 4096, 0, 0}, {1224, 1799, 16448, 0, 0, 0, 0}, {1800, 13056, 16448, 0, 0, 0, 0}, {10, 4403, 512, 4176, 1285, 0, 0}, {10, 352, 512, 1280, 4352, 0, 0}, {1220, 1799, 17476, 0, 0, 0, 0}, {1228, 1792, 16384, 0, 0, 0, 0}, {10, 359, 514, 1285, 4112, 0, 0}, {10, 4128, 514, 4420, 1280, 0, 0}, {1807, 12336, 17408, 0, 0, 0, 0}, {1056, 5888, 5200, 0, 0, 0, 0}, {857, 1911, 4369, 0, 0, 0, 0}, {858, 4386, 5376, 0, 0, 0, 0}, {1068, 4883, 4160, 0, 0, 0, 0}, {860, 4144, 5140, 0, 0, 0, 0}, {1066, 4608, 4437, 0, 0, 0, 0}, {1062, 5654, 5440, 0, 0, 0, 0}, {863, 1911, 4096, 0, 0, 0, 0}, {1064, 4864, 4176, 0, 0, 0, 0}, {857, 4403, 5397, 0, 0, 0, 0}, {858, 1904, 4352, 0, 0, 0, 0}, {1060, 5911, 5188, 0, 0, 0, 0}, {860, 1904, 4112, 0, 0, 0, 0}, {1058, 5632, 5461, 0, 0, 0, 0}, {1070, 4626, 4420, 0, 0, 0, 0}, {863, 4128, 5120, 0, 0, 0, 0}, {4896, 4160, 5120, 0, 0, 0, 0}, {1837, 1092, 4369, 0, 0, 0, 0}, {1096, 4386, 5632, 21760, 0, 0, 0}, {1100, 4208, 4883, 20560, 0, 0, 0}, {1832, 1092, 4096, 0, 0, 0, 0}, {4656, 4437, 5397, 0, 0, 0, 0}, {1100, 4454, 4608, 21760, 0, 0, 0}, {1096, 4144, 5911, 20560, 0, 0, 0}, {1096, 4192, 4864, 20480, 0, 0, 0}, {1100, 4403, 5654, 21845, 0, 0, 0}, {1834, 1088, 4352, 0, 0, 0, 0}, {4915, 4176, 5140, 0, 0, 0, 0}, {1100, 4128, 5888, 20480, 0, 0, 0}, {1096, 4471, 4626, 21845, 0, 0, 0}, {4642, 4420, 5376, 0, 0, 0, 0}, {1839, 1088, 4112, 0, 0, 0, 0}, {1008, 13056, 1024, 0, 0, 0, 0}, {10, 514, 337, 1028, 4369, 0, 0}, {10, 4386, 514, 338, 1026, 0, 0}, {1036, 13107, 17203, 0, 0, 0, 0}, {1020, 12336, 1028, 0, 0, 0, 0}, {10, 512, 341, 1024, 4096, 0, 0}, {10, 4144, 512, 342, 1030, 0, 0}, {1032, 12288, 18295, 0, 0, 0, 0}, {1032, 13056, 17264, 0, 0, 0, 0}, {10, 4403, 512, 339, 1030, 0, 0}, {10, 512, 336, 1024, 4352, 0, 0}, {1011, 13107, 1028, 0, 0, 0, 0}, {1036, 12336, 18224, 0, 0, 0, 0}, {10, 4128, 514, 343, 1026, 0, 0}, {10, 514, 340, 1028, 4112, 0, 0}, {1023, 12288, 1024, 0, 0, 0, 0}, {3072, 0, 0, 0, 0, 0, 0}, {2, 5, 257, 0, 0, 0, 0}, {2, 1024, 0, 0, 0, 0, 0}, {15, 771, 0, 0, 0, 0, 0}, {8, 1028, 0, 0, 0, 0, 0}, {768, 5, 0, 0, 0, 0, 0}, {10, 1542, 0, 0, 0, 0, 0}, {7, 1024, 0, 0, 0, 0, 0}, {8, 1024, 0, 0, 0, 0, 0}, {771, 5, 0, 0, 0, 0, 0}, {10, 1536, 0, 0, 0, 0, 0}, {7, 1028, 0, 0, 0, 0, 0}, {3084, 0, 0, 0, 0, 0, 0}, {2, 5, 256, 0, 0, 0, 0}, {2, 1028, 0, 0, 0, 0, 0}, {15, 768, 0, 0, 0, 0, 0}, {3088, 32, 80, 4112, 0, 0, 0}, {3089, 34, 85, 4369, 0, 0, 0}, {90, 34, 4626, 17408, 0, 0, 0}, {95, 32, 4883, 16384, 0, 0, 0}, {40, 12288, 80, 5140, 0, 0, 0}, {42, 13056, 85, 5397, 0, 0, 0}, {90, 112, 5654, 16384, 0, 0, 0}, {95, 119, 5911, 17408, 0, 0, 0}, {40, 12336, 80, 5120, 0, 0, 0}, {42, 13107, 85, 5376, 0, 0, 0}, {90, 112, 5632, 16448, 0, 0, 0}, {95, 119, 5888, 17476, 0, 0, 0}, {3100, 32, 80, 4096, 0, 0, 0}, {3101, 34, 85, 4352, 0, 0, 0}, {90, 34, 4608, 17476, 0, 0, 0}, {95, 32, 4864, 16448, 0, 0, 0}, {3072, 32, 16384, 0, 0, 0, 0}, {15, 34, 771, 85, 4369, 0, 0}, {3072, 34, 17408, 0, 0, 0, 0}, {15, 32, 771, 80, 4112, 0, 0}, {40, 9252, 17476, 0, 0, 0, 0}, {15, 37, 768, 85, 5376, 0, 0}, {42, 9766, 16448, 0, 0, 0, 0}, {15, 39, 768, 80, 5120, 0, 0}, {40, 9216, 17408, 0, 0, 0, 0}, {15, 37, 771, 85, 5397, 0, 0}, {42, 9728, 16384, 0, 0, 0, 0}, {15, 39, 771, 80, 5140, 0, 0}, {3084, 32, 16448, 0, 0, 0, 0}, {15, 34, 768, 85, 4352, 0, 0}, {3084, 34, 17476, 0, 0, 0, 0}, {15, 32, 768, 80, 4096, 0, 0}, {240, 3120, 12336, 0, 0, 0, 0}, {2, 85, 1041, 4369, 0, 0, 0}, {2, 80, 1040, 4112, 0, 0, 0}, {255, 3123, 13107, 0, 0, 0, 0}, {8, 1076, 1092, 0, 0, 0, 0}, {10, 1589, 85, 0, 0, 0, 0}, {10, 1590, 80, 0, 0, 0, 0}, {8, 1079, 1088, 0, 0, 0, 0}, {8, 1072, 1088, 0, 0, 0, 0}, {10, 1587, 85, 0, 0, 0, 0}, {10, 1584, 80, 0, 0, 0, 0}, {8, 1075, 1092, 0, 0, 0, 0}, {240, 3132, 12288, 0, 0, 0, 0}, {2, 85, 1045, 4352, 0, 0, 0}, {2, 80, 1044, 4096, 0, 0, 0}, {255, 3135, 13056, 0, 0, 0, 0}, {128, 3136, 16448, 0, 0, 0, 0}, {34, 785, 5, 4369, 0, 0, 0}, {10, 34, 1602, 17408, 0, 0, 0}, {15, 112, 835, 16384, 0, 0, 0}, {136, 3140, 17476, 0, 0, 0, 0}, {32, 784, 5, 4112, 0, 0, 0}, {10, 32, 1606, 16384, 0, 0, 0}, {15, 119, 839, 17408, 0, 0, 0}, {136, 3144, 17408, 0, 0, 0, 0}, {32, 787, 5, 4096, 0, 0, 0}, {10, 32, 1600, 16448, 0, 0, 0}, {15, 119, 836, 17476, 0, 0, 0}, {128, 3148, 16384, 0, 0, 0, 0}, {34, 786, 5, 4352, 0, 0, 0}, {10, 34, 1604, 17476, 0, 0, 0}, {15, 112, 832, 16448, 0, 0, 0}, {3072, 12288, 80, 0, 0, 0, 0}, {8, 34, 85, 1028, 4369, 0, 0}, {8, 34, 4608, 82, 1024, 0, 0}, {95, 13107, 21331, 0, 0, 0, 0}, {8, 32, 80, 1028, 4112, 0, 0}, {3072, 13056, 85, 0, 0, 0, 0}, {90, 12336, 22102, 0, 0, 0, 0}, {8, 32, 4864, 87, 1024, 0, 0}, {8, 32, 80, 1024, 4096, 0, 0}, {3084, 13107, 85, 0, 0, 0, 0}, {90, 12288, 22016, 0, 0, 0, 0}, {8, 32, 4883, 87, 1028, 0, 0}, {3084, 12336, 80, 0, 0, 0, 0}, {8, 34, 85, 1024, 4352, 0, 0}, {8, 34, 4626, 82, 1028, 0, 0}, {95, 13056, 21248, 0, 0, 0, 0}, {160, 3168, 24672, 0, 0, 0, 0}, {7, 85, 1041, 4369, 0, 0, 0}, {8, 34, 1088, 0, 0, 0, 0}, {15, 819, 80, 0, 0, 0, 0}, {8, 32, 1092, 0, 0, 0, 0}, {15, 816, 85, 0, 0, 0, 0}, {170, 3174, 26214, 0, 0, 0, 0}, {7, 80, 1040, 4112, 0, 0, 0}, {8, 32, 1088, 0, 0, 0, 0}, {15, 819, 85, 0, 0, 0, 0}, {170, 3178, 26112, 0, 0, 0, 0}, {7, 80, 1044, 4096, 0, 0, 0}, {160, 3180, 24576, 0, 0, 0, 0}, {7, 85, 1045, 4352, 0, 0, 0}, {8, 34, 1092, 0, 0, 0, 0}, {15, 816, 80, 0, 0, 0, 0}, {3072, 112, 16384, 0, 0, 0, 0}, {10, 34, 1542, 85, 4369, 0, 0}, {10, 34, 4608, 80, 5120, 0, 0}, {127, 13107, 16448, 0, 0, 0, 0}, {120, 12336, 17476, 0, 0, 0, 0}, {10, 32, 4864, 85, 5376, 0, 0}, {10, 32, 1542, 80, 4112, 0, 0}, {3072, 119, 17408, 0, 0, 0, 0}, {120, 12288, 17408, 0, 0, 0, 0}, {10, 32, 4883, 85, 5397, 0, 0}, {10, 32, 1536, 80, 4096, 0, 0}, {3084, 119, 17476, 0, 0, 0, 0}, {3084, 112, 16448, 0, 0, 0, 0}, {10, 34, 1536, 85, 4352, 0, 0}, {10, 34, 4626, 80, 5140, 0, 0}, {127, 13056, 16384, 0, 0, 0, 0}, {128, 3072, 16384, 0, 0, 0, 0}, {34, 771, 5, 4369, 0, 0, 0}, {10, 34, 1536, 17408, 0, 0, 0}, {15, 112, 771, 16448, 0, 0, 0}, {136, 3084, 17476, 0, 0, 0, 0}, {32, 768, 5, 4096, 0, 0, 0}, {10, 32, 1542, 16448, 0, 0, 0}, {15, 119, 768, 17408, 0, 0, 0}, {136, 3072, 17408, 0, 0, 0, 0}, {32, 771, 5, 4112, 0, 0, 0}, {10, 32, 1536, 16384, 0, 0, 0}, {15, 119, 771, 17476, 0, 0, 0}, {128, 3084, 16448, 0, 0, 0, 0}, {34, 768, 5, 4352, 0, 0, 0}, {10, 34, 1542, 17476, 0, 0, 0}, {15, 112, 768, 16384, 0, 0, 0}, {3120, 12336, 80, 0, 0, 0, 0}, {8, 34, 85, 1041, 4369, 0, 0}, {8, 34, 4626, 82, 1042, 0, 0}, {95, 13107, 21299, 0, 0, 0, 0}, {8, 32, 80, 1044, 4096, 0, 0}, {3135, 13056, 85, 0, 0, 0, 0}, {90, 12288, 22118, 0, 0, 0, 0}, {8, 32, 4864, 87, 1047, 0, 0}, {8, 32, 80, 1040, 4112, 0, 0}, {3123, 13107, 85, 0, 0, 0, 0}, {90, 12336, 22064, 0, 0, 0, 0}, {8, 32, 4883, 87, 1043, 0, 0}, {3132, 12288, 80, 0, 0, 0, 0}, {8, 34, 85, 1045, 4352, 0, 0}, {8, 34, 4608, 82, 1046, 0, 0}, {95, 13056, 21344, 0, 0, 0, 0}, {160, 3072, 24576, 0, 0, 0, 0}, {7, 85, 1028, 4369, 0, 0, 0}, {8, 34, 1024, 0, 0, 0, 0}, {15, 771, 80, 0, 0, 0, 0}, {8, 32, 1028, 0, 0, 0, 0}, {15, 768, 85, 0, 0, 0, 0}, {170, 3084, 26214, 0, 0, 0, 0}, {7, 80, 1024, 4096, 0, 0, 0}, {8, 32, 1024, 0, 0, 0, 0}, {15, 771, 85, 0, 0, 0, 0}, {170, 3072, 26112, 0, 0, 0, 0}, {7, 80, 1028, 4112, 0, 0, 0}, {160, 3084, 24672, 0, 0, 0, 0}, {7, 85, 1024, 4352, 0, 0, 0}, {8, 34, 1028, 0, 0, 0, 0}, {15, 768, 80, 0, 0, 0, 0}, {3136, 112, 16448, 0, 0, 0, 0}, {10, 34, 1553, 85, 4369, 0, 0}, {10, 34, 4626, 80, 5120, 0, 0}, {127, 13107, 16384, 0, 0, 0, 0}, {120, 12288, 17476, 0, 0, 0, 0}, {10, 32, 4864, 85, 5397, 0, 0}, {10, 32, 1558, 80, 4096, 0, 0}, {3144, 119, 17408, 0, 0, 0, 0}, {120, 12336, 17408, 0, 0, 0, 0}, {10, 32, 4883, 85, 5376, 0, 0}, {10, 32, 1552, 80, 4112, 0, 0}, {3140, 119, 17476, 0, 0, 0, 0}, {3148, 112, 16384, 0, 0, 0, 0}, {10, 34, 1559, 85, 4352, 0, 0}, {10, 34, 4608, 80, 5140, 0, 0}, {127, 13056, 16448, 0, 0, 0, 0}, {3264, 0, 0, 0, 0, 0, 0}, {2, 5, 273, 0, 0, 0, 0}, {2, 1088, 0, 0, 0, 0, 0}, {15, 819, 0, 0, 0, 0, 0}, {8, 1092, 0, 0, 0, 0, 0}, {816, 5, 0, 0, 0, 0, 0}, {10, 1638, 0, 0, 0, 0, 0}, {7, 1088, 0, 0, 0, 0, 0}, {8, 1088, 0, 0, 0, 0, 0}, {819, 5, 0, 0, 0, 0, 0}, {10, 1632, 0, 0, 0, 0, 0}, {7, 1092, 0, 0, 0, 0, 0}, {3276, 0, 0, 0, 0, 0, 0}, {2, 5, 272, 0, 0, 0, 0}, {2, 1092, 0, 0, 0, 0, 0}, {15, 816, 0, 0, 0, 0, 0}, {3072, 32, 80, 4096, 0, 0, 0}, {3084, 34, 85, 4369, 0, 0, 0}, {90, 34, 4608, 17408, 0, 0, 0}, {95, 32, 4883, 16448, 0, 0, 0}, {40, 12336, 80, 5140, 0, 0, 0}, {42, 13056, 85, 5376, 0, 0, 0}, {90, 112, 5654, 16448, 0, 0, 0}, {95, 119, 5888, 17408, 0, 0, 0}, {40, 12288, 80, 5120, 0, 0, 0}, {42, 13107, 85, 5397, 0, 0, 0}, {90, 112, 5632, 16384, 0, 0, 0}, {95, 119, 5911, 17476, 0, 0, 0}, {3084, 32, 80, 4112, 0, 0, 0}, {3072, 34, 85, 4352, 0, 0, 0}, {90, 34, 4626, 17476, 0, 0, 0}, {95, 32, 4864, 16384, 0, 0, 0}, {3136, 32, 16448, 0, 0, 0, 0}, {15, 34, 785, 85, 4369, 0, 0}, {3144, 34, 17408, 0, 0, 0, 0}, {15, 32, 787, 80, 4096, 0, 0}, {40, 9284, 17476, 0, 0, 0, 0}, {15, 37, 789, 85, 5397, 0, 0}, {42, 9830, 16384, 0, 0, 0, 0}, {15, 39, 791, 80, 5120, 0, 0}, {40, 9312, 17408, 0, 0, 0, 0}, {15, 37, 790, 85, 5376, 0, 0}, {42, 9792, 16448, 0, 0, 0, 0}, {15, 39, 788, 80, 5140, 0, 0}, {3148, 32, 16384, 0, 0, 0, 0}, {15, 34, 786, 85, 4352, 0, 0}, {3140, 34, 17476, 0, 0, 0, 0}, {15, 32, 784, 80, 4112, 0, 0}, {240, 3072, 12288, 0, 0, 0, 0}, {2, 85, 1028, 4369, 0, 0, 0}, {2, 80, 1024, 4096, 0, 0, 0}, {255, 3084, 13107, 0, 0, 0, 0}, {8, 112, 1028, 0, 0, 0, 0}, {10, 1536, 85, 0, 0, 0, 0}, {10, 1542, 80, 0, 0, 0, 0}, {8, 119, 1024, 0, 0, 0, 0}, {8, 112, 1024, 0, 0, 0, 0}, {10, 1542, 85, 0, 0, 0, 0}, {10, 1536, 80, 0, 0, 0, 0}, {8, 119, 1028, 0, 0, 0, 0}, {240, 3084, 12336, 0, 0, 0, 0}, {2, 85, 1024, 4352, 0, 0, 0}, {2, 80, 1028, 4112, 0, 0, 0}, {255, 3072, 13056, 0, 0, 0, 0}, {512, 1280, 0, 0, 0, 0, 0}, {12, 257, 0, 0, 0, 0, 0}, {1290, 514, 0, 0, 0, 0, 0}, {259, 1024, 0, 0, 0, 0, 0}, {768, 260, 0, 0, 0, 0, 0}, {522, 1285, 0, 0, 0, 0, 0}, {262, 1024, 0, 0, 0, 0, 0}, {1295, 1799, 0, 0, 0, 0, 0}, {520, 1280, 0, 0, 0, 0, 0}, {771, 261, 0, 0, 0, 0, 0}, {1290, 1792, 0, 0, 0, 0, 0}, {263, 1028, 0, 0, 0, 0, 0}, {12, 256, 0, 0, 0, 0, 0}, {514, 1285, 0, 0, 0, 0, 0}, {258, 1028, 0, 0, 0, 0, 0}, {1295, 512, 0, 0, 0, 0, 0}, {3344, 544, 1360, 4112, 0, 0, 0}, {3345, 546, 1365, 4369, 0, 0, 0}, {1370, 4144, 4626, 16384, 0, 0, 0}, {1375, 4403, 4883, 17408, 0, 0, 0}, {552, 13056, 4420, 5140, 0, 0, 0}, {554, 12288, 4160, 5397, 0, 0, 0}, {1370, 4454, 5654, 17408, 0, 0, 0}, {1375, 4192, 5911, 16384, 0, 0, 0}, {552, 12336, 4176, 5376, 0, 0, 0}, {554, 13107, 4437, 5120, 0, 0, 0}, {1370, 4208, 5888, 16448, 0, 0, 0}, {1375, 4471, 5632, 17476, 0, 0, 0}, {3356, 544, 1360, 4352, 0, 0, 0}, {3357, 546, 1365, 4096, 0, 0, 0}, {1370, 4386, 4864, 17476, 0, 0, 0}, {1375, 4128, 4608, 16448, 0, 0, 0}, {3840, 544, 21760, 0, 0, 0, 0}, {12, 289, 771, 1092, 4369, 0, 0}, {3840, 546, 20480, 0, 0, 0, 0}, {12, 291, 771, 1088, 4112, 0, 0}, {12, 292, 768, 4420, 5376, 0, 0}, {554, 9509, 21845, 0, 0, 0, 0}, {12, 294, 768, 4160, 5120, 0, 0}, {552, 10023, 20560, 0, 0, 0, 0}, {552, 9472, 21760, 0, 0, 0, 0}, {12, 293, 771, 4437, 5397, 0, 0}, {554, 9984, 20480, 0, 0, 0, 0}, {12, 295, 771, 4176, 5140, 0, 0}, {12, 288, 768, 1088, 4352, 0, 0}, {3855, 546, 21845, 0, 0, 0, 0}, {12, 290, 768, 1092, 4096, 0, 0}, {3855, 544, 20560, 0, 0, 0, 0}, {4144, 512, 5376, 0, 0, 0, 0}, {1337, 514, 4369, 0, 0, 0, 0}, {1338, 514, 4112, 0, 0, 0, 0}, {4403, 512, 5120, 0, 0, 0, 0}, {520, 1844, 4420, 0, 0, 0, 0}, {522, 1333, 5461, 0, 0, 0, 0}, {522, 1334, 5200, 0, 0, 0, 0}, {520, 1847, 4160, 0, 0, 0, 0}, {520, 1328, 5440, 0, 0, 0, 0}, {522, 1843, 4437, 0, 0, 0, 0}, {522, 1840, 4176, 0, 0, 0, 0}, {520, 1331, 5188, 0, 0, 0, 0}, {1340, 512, 4352, 0, 0, 0, 0}, {4128, 514, 5397, 0, 0, 0, 0}, {4386, 514, 5140, 0, 0, 0, 0}, {1343, 512, 4096, 0, 0, 0, 0}, {4608, 4160, 1280, 0, 0, 0, 0}, {590, 1285, 4369, 0, 0, 0, 0}, {1290, 4192, 578, 16384, 0, 0, 0}, {1295, 4403, 1859, 17408, 0, 0, 0}, {4864, 4420, 1280, 0, 0, 0, 0}, {586, 1285, 4112, 0, 0, 0, 0}, {1290, 4454, 582, 17408, 0, 0, 0}, {1295, 4144, 1863, 16384, 0, 0, 0}, {584, 1280, 4096, 0, 0, 0, 0}, {4883, 4437, 1285, 0, 0, 0, 0}, {1290, 4128, 1856, 16448, 0, 0, 0}, {1295, 4471, 580, 17476, 0, 0, 0}, {588, 1280, 4352, 0, 0, 0, 0}, {4626, 4176, 1285, 0, 0, 0, 0}, {1290, 4386, 1860, 17476, 0, 0, 0}, {1295, 4208, 576, 16448, 0, 0, 0}, {2048, 8704, 1360, 0, 0, 0, 0}, {12, 819, 337, 1028, 4369, 0, 0}, {1370, 8738, 21074, 0, 0, 0, 0}, {12, 4403, 4608, 339, 1024, 0, 0}, {12, 816, 340, 1028, 4112, 0, 0}, {2048, 8192, 1365, 0, 0, 0, 0}, {12, 4144, 4864, 342, 1024, 0, 0}, {1375, 8224, 22359, 0, 0, 0, 0}, {2056, 8224, 1360, 0, 0, 0, 0}, {12, 819, 341, 1024, 4096, 0, 0}, {1370, 8192, 22272, 0, 0, 0, 0}, {12, 4128, 4883, 343, 1028, 0, 0}, {12, 816, 336, 1024, 4352, 0, 0}, {2056, 8738, 1365, 0, 0, 0, 0}, {12, 4386, 4626, 338, 1028, 0, 0}, {1375, 8704, 20992, 0, 0, 0, 0}, {4192, 4608, 5376, 0, 0, 0, 0}, {1385, 1799, 4369, 0, 0, 0, 0}, {1800, 4642, 4160, 0, 0, 0, 0}, {1807, 4403, 5200, 0, 0, 0, 0}, {1800, 4896, 4420, 0, 0, 0, 0}, {1807, 4144, 5461, 0, 0, 0, 0}, {4454, 4864, 5120, 0, 0, 0, 0}, {1391, 1799, 4112, 0, 0, 0, 0}, {1800, 4128, 5440, 0, 0, 0, 0}, {1807, 4915, 4437, 0, 0, 0, 0}, {1386, 1792, 4096, 0, 0, 0, 0}, {4471, 4883, 5140, 0, 0, 0, 0}, {1388, 1792, 4352, 0, 0, 0, 0}, {4208, 4626, 5397, 0, 0, 0, 0}, {1800, 4386, 5188, 0, 0, 0, 0}, {1807, 4656, 4176, 0, 0, 0, 0}, {2560, 1904, 21760, 0, 0, 0, 0}, {12, 1333, 1542, 1092, 4369, 0, 0}, {1912, 8738, 20560, 0, 0, 0, 0}, {12, 4403, 4608, 4160, 5120, 0, 0}, {12, 4144, 4864, 4420, 5376, 0, 0}, {1919, 8224, 21845, 0, 0, 0, 0}, {12, 1334, 1542, 1088, 4112, 0, 0}, {2560, 1911, 20480, 0, 0, 0, 0}, {1912, 8192, 21760, 0, 0, 0, 0}, {12, 4128, 4883, 4437, 5397, 0, 0}, {2570, 1904, 20560, 0, 0, 0, 0}, {12, 1331, 1536, 1092, 4096, 0, 0}, {12, 1328, 1536, 1088, 4352, 0, 0}, {2570, 1911, 21845, 0, 0, 0, 0}, {12, 4386, 4626, 4176, 5140, 0, 0}, {1919, 8704, 20480, 0, 0, 0, 0}, {640, 8704, 1280, 0, 0, 0, 0}, {12, 771, 321, 1285, 4369, 0, 0}, {1290, 8738, 21026, 0, 0, 0, 0}, {12, 4403, 771, 323, 1283, 0, 0}, {12, 768, 324, 1280, 4096, 0, 0}, {650, 8224, 1285, 0, 0, 0, 0}, {12, 4128, 768, 326, 1286, 0, 0}, {1295, 8192, 22391, 0, 0, 0, 0}, {648, 8192, 1280, 0, 0, 0, 0}, {12, 771, 325, 1285, 4112, 0, 0}, {1290, 8224, 22304, 0, 0, 0, 0}, {12, 4144, 771, 327, 1283, 0, 0}, {12, 768, 320, 1280, 4352, 0, 0}, {642, 8738, 1285, 0, 0, 0, 0}, {12, 4386, 768, 322, 1286, 0, 0}, {1295, 8704, 21104, 0, 0, 0, 0}, {4656, 4176, 5376, 0, 0, 0, 0}, {1851, 1365, 4369, 0, 0, 0, 0}, {1370, 4208, 4626, 16448, 0, 0, 0}, {1375, 4403, 5632, 17408, 0, 0, 0}, {4896, 4420, 5140, 0, 0, 0, 0}, {1855, 1365, 4096, 0, 0, 0, 0}, {1370, 4454, 4864, 17408, 0, 0, 0}, {1375, 4128, 5911, 16448, 0, 0, 0}, {1848, 1360, 4112, 0, 0, 0, 0}, {4915, 4437, 5120, 0, 0, 0, 0}, {1370, 4144, 5888, 16384, 0, 0, 0}, {1375, 4471, 4883, 17476, 0, 0, 0}, {1852, 1360, 4352, 0, 0, 0, 0}, {4642, 4160, 5397, 0, 0, 0, 0}, {1370, 4386, 5654, 17476, 0, 0, 0}, {1375, 4192, 4608, 16384, 0, 0, 0}, {1440, 1792, 21760, 0, 0, 0, 0}, {12, 353, 771, 1028, 4369, 0, 0}, {1800, 8738, 20480, 0, 0, 0, 0}, {12, 4403, 771, 4176, 1024, 0, 0}, {12, 4128, 768, 4420, 1028, 0, 0}, {1807, 8192, 21845, 0, 0, 0, 0}, {12, 358, 768, 1024, 4096, 0, 0}, {1455, 1799, 20560, 0, 0, 0, 0}, {1800, 8224, 21760, 0, 0, 0, 0}, {12, 4144, 771, 4437, 1024, 0, 0}, {1450, 1792, 20480, 0, 0, 0, 0}, {12, 359, 771, 1028, 4112, 0, 0}, {12, 352, 768, 1024, 4352, 0, 0}, {1445, 1799, 21845, 0, 0, 0, 0}, {12, 4386, 768, 4160, 1028, 0, 0}, {1807, 8704, 20560, 0, 0, 0, 0}, {1328, 5888, 5440, 0, 0, 0, 0}, {590, 1911, 4369, 0, 0, 0, 0}, {1338, 4626, 4176, 0, 0, 0, 0}, {588, 4403, 5120, 0, 0, 0, 0}, {1340, 4864, 4420, 0, 0, 0, 0}, {586, 4128, 5397, 0, 0, 0, 0}, {1334, 5654, 5200, 0, 0, 0, 0}, {584, 1911, 4096, 0, 0, 0, 0}, {584, 4144, 5376, 0, 0, 0, 0}, {1337, 4883, 4437, 0, 0, 0, 0}, {586, 1904, 4112, 0, 0, 0, 0}, {1331, 5632, 5188, 0, 0, 0, 0}, {588, 1904, 4352, 0, 0, 0, 0}, {1333, 5911, 5461, 0, 0, 0, 0}, {590, 4386, 5140, 0, 0, 0, 0}, {1343, 4608, 4160, 0, 0, 0, 0}, {192, 512, 1280, 4096, 0, 0, 0}, {204, 514, 1285, 4369, 0, 0, 0}, {1290, 4128, 514, 16448, 0, 0, 0}, {1295, 4403, 512, 17408, 0, 0, 0}, {520, 13056, 4420, 1280, 0, 0, 0}, {522, 12336, 4176, 1285, 0, 0, 0}, {1290, 4454, 1792, 17408, 0, 0, 0}, {1295, 4208, 1799, 16448, 0, 0, 0}, {520, 12288, 4160, 1280, 0, 0, 0}, {522, 13107, 4437, 1285, 0, 0, 0}, {1290, 4192, 1792, 16384, 0, 0, 0}, {1295, 4471, 1799, 17476, 0, 0, 0}, {204, 512, 1280, 4352, 0, 0, 0}, {192, 514, 1285, 4112, 0, 0, 0}, {1290, 4386, 514, 17476, 0, 0, 0}, {1295, 4144, 512, 16384, 0, 0, 0}, {544, 1360, 0, 0, 0, 0, 0}, {12, 273, 0, 0, 0, 0, 0}, {1370, 546, 0, 0, 0, 0, 0}, {275, 1088, 0, 0, 0, 0, 0}, {816, 276, 0, 0, 0, 0, 0}, {554, 1365, 0, 0, 0, 0, 0}, {278, 1088, 0, 0, 0, 0, 0}, {1375, 1911, 0, 0, 0, 0, 0}, {552, 1360, 0, 0, 0, 0, 0}, {819, 277, 0, 0, 0, 0, 0}, {1370, 1904, 0, 0, 0, 0, 0}, {279, 1092, 0, 0, 0, 0, 0}, {12, 272, 0, 0, 0, 0, 0}, {546, 1365, 0, 0, 0, 0, 0}, {274, 1092, 0, 0, 0, 0, 0}, {1375, 544, 0, 0, 0, 0, 0}, {4128, 4608, 5440, 0, 0, 0, 0}, {1867, 546, 4369, 0, 0, 0, 0}, {1864, 546, 4096, 0, 0, 0, 0}, {4403, 4883, 5200, 0, 0, 0, 0}, {5160, 5632, 4420, 0, 0, 0, 0}, {4698, 4208, 5397, 0, 0, 0, 0}, {4940, 4454, 5120, 0, 0, 0, 0}, {5439, 5911, 4176, 0, 0, 0, 0}, {4680, 4192, 5376, 0, 0, 0, 0}, {5180, 5654, 4437, 0, 0, 0, 0}, {5418, 5888, 4160, 0, 0, 0, 0}, {4959, 4471, 5140, 0, 0, 0, 0}, {1868, 544, 4352, 0, 0, 0, 0}, {4144, 4626, 5461, 0, 0, 0, 0}, {4386, 4864, 5188, 0, 0, 0, 0}, {1871, 544, 4112, 0, 0, 0, 0}, {1520, 512, 21760, 0, 0, 0, 0}, {12, 305, 514, 1028, 4369, 0, 0}, {1530, 514, 20560, 0, 0, 0, 0}, {12, 307, 512, 1024, 4096, 0, 0}, {12, 308, 516, 4420, 1028, 0, 0}, {522, 9557, 21845, 0, 0, 0, 0}, {12, 310, 518, 4176, 1024, 0, 0}, {520, 10103, 20480, 0, 0, 0, 0}, {520, 9584, 21760, 0, 0, 0, 0}, {12, 309, 518, 4437, 1024, 0, 0}, {522, 10064, 20560, 0, 0, 0, 0}, {12, 311, 516, 4160, 1028, 0, 0}, {12, 304, 512, 1024, 4352, 0, 0}, {1525, 514, 21845, 0, 0, 0, 0}, {12, 306, 514, 1028, 4112, 0, 0}, {1535, 512, 20480, 0, 0, 0, 0}, {512, 1024, 0, 0, 0, 0, 0}, {15, 257, 0, 0, 0, 0, 0}, {1032, 514, 0, 0, 0, 0, 0}, {259, 1280, 0, 0, 0, 0, 0}, {520, 1028, 0, 0, 0, 0, 0}, {768, 261, 0, 0, 0, 0, 0}, {1036, 1542, 0, 0, 0, 0, 0}, {263, 1280, 0, 0, 0, 0, 0}, {1032, 1536, 0, 0, 0, 0, 0}, {262, 1285, 0, 0, 0, 0, 0}, {522, 1024, 0, 0, 0, 0, 0}, {771, 260, 0, 0, 0, 0, 0}, {1036, 512, 0, 0, 0, 0, 0}, {258, 1285, 0, 0, 0, 0, 0}, {514, 1028, 0, 0, 0, 0, 0}, {15, 256, 0, 0, 0, 0, 0}, {3600, 544, 1088, 4112, 0, 0, 0}, {3601, 546, 1092, 4369, 0, 0, 0}, {1096, 4144, 4626, 20480, 0, 0, 0}, {1100, 4403, 4883, 21760, 0, 0, 0}, {552, 12288, 4176, 5140, 0, 0, 0}, {554, 13056, 4437, 5397, 0, 0, 0}, {1100, 4208, 5654, 20480, 0, 0, 0}, {1096, 4471, 5911, 21760, 0, 0, 0}, {1096, 4192, 5632, 20560, 0, 0, 0}, {1100, 4454, 5888, 21845, 0, 0, 0}, {554, 12336, 4160, 5120, 0, 0, 0}, {552, 13107, 4420, 5376, 0, 0, 0}, {1100, 4128, 4608, 20560, 0, 0, 0}, {1096, 4386, 4864, 21845, 0, 0, 0}, {3614, 546, 1092, 4096, 0, 0, 0}, {3615, 544, 1088, 4352, 0, 0, 0}, {3072, 544, 17408, 0, 0, 0, 0}, {15, 289, 771, 1365, 4369, 0, 0}, {3072, 546, 16384, 0, 0, 0, 0}, {15, 291, 771, 1360, 4112, 0, 0}, {552, 9252, 17476, 0, 0, 0, 0}, {15, 293, 768, 4437, 5120, 0, 0}, {554, 9766, 16448, 0, 0, 0, 0}, {15, 295, 768, 4176, 5376, 0, 0}, {552, 9728, 16384, 0, 0, 0, 0}, {15, 294, 771, 4160, 5397, 0, 0}, {554, 9216, 17408, 0, 0, 0, 0}, {15, 292, 771, 4420, 5140, 0, 0}, {3084, 544, 16448, 0, 0, 0, 0}, {15, 290, 768, 1365, 4096, 0, 0}, {3084, 546, 17476, 0, 0, 0, 0}, {15, 288, 768, 1360, 4352, 0, 0}, {4144, 512, 5120, 0, 0, 0, 0}, {1083, 514, 4369, 0, 0, 0, 0}, {1080, 514, 4112, 0, 0, 0, 0}, {4403, 512, 5376, 0, 0, 0, 0}, {520, 1076, 5188, 0, 0, 0, 0}, {522, 1589, 4437, 0, 0, 0, 0}, {522, 1590, 4176, 0, 0, 0, 0}, {520, 1079, 5440, 0, 0, 0, 0}, {520, 1584, 4160, 0, 0, 0, 0}, {522, 1075, 5461, 0, 0, 0, 0}, {522, 1072, 5200, 0, 0, 0, 0}, {520, 1587, 4420, 0, 0, 0, 0}, {1084, 512, 4096, 0, 0, 0, 0}, {4386, 514, 5397, 0, 0, 0, 0}, {4128, 514, 5140, 0, 0, 0, 0}, {1087, 512, 4352, 0, 0, 0, 0}, {2560, 8704, 1088, 0, 0, 0, 0}, {15, 819, 321, 1285, 4369, 0, 0}, {1096, 8738, 16962, 0, 0, 0, 0}, {15, 4403, 4608, 323, 1280, 0, 0}, {2560, 8192, 1092, 0, 0, 0, 0}, {15, 816, 325, 1285, 4112, 0, 0}, {1100, 8224, 17990, 0, 0, 0, 0}, {15, 4144, 4864, 327, 1280, 0, 0}, {1096, 8192, 17920, 0, 0, 0, 0}, {15, 4128, 4883, 326, 1285, 0, 0}, {2570, 8224, 1088, 0, 0, 0, 0}, {15, 819, 324, 1280, 4096, 0, 0}, {1100, 8704, 16896, 0, 0, 0, 0}, {15, 4386, 4626, 322, 1285, 0, 0}, {2570, 8738, 1092, 0, 0, 0, 0}, {15, 816, 320, 1280, 4352, 0, 0}, {4608, 4176, 1024, 0, 0, 0, 0}, {605, 1028, 4369, 0, 0, 0, 0}, {1032, 4208, 594, 20480, 0, 0, 0}, {1036, 4403, 1619, 21760, 0, 0, 0}, {600, 1028, 4112, 0, 0, 0, 0}, {4864, 4437, 1024, 0, 0, 0, 0}, {1036, 4144, 1622, 20480, 0, 0, 0}, {1032, 4471, 599, 21760, 0, 0, 0}, {1032, 4128, 1616, 20560, 0, 0, 0}, {1036, 4454, 597, 21845, 0, 0, 0}, {602, 1024, 4096, 0, 0, 0, 0}, {4883, 4420, 1028, 0, 0, 0, 0}, {1036, 4192, 592, 20560, 0, 0, 0}, {1032, 4386, 1621, 21845, 0, 0, 0}, {4626, 4160, 1028, 0, 0, 0, 0}, {607, 1024, 4352, 0, 0, 0, 0}, {2048, 1632, 17408, 0, 0, 0, 0}, {15, 1076, 1799, 1365, 4369, 0, 0}, {1642, 8738, 16448, 0, 0, 0, 0}, {15, 4403, 4608, 4176, 5376, 0, 0}, {1644, 8224, 17476, 0, 0, 0, 0}, {15, 4144, 4864, 4437, 5120, 0, 0}, {2048, 1638, 16384, 0, 0, 0, 0}, {15, 1079, 1799, 1360, 4112, 0, 0}, {2056, 1632, 16448, 0, 0, 0, 0}, {15, 1075, 1792, 1365, 4096, 0, 0}, {1642, 8192, 17408, 0, 0, 0, 0}, {15, 4128, 4883, 4420, 5140, 0, 0}, {1644, 8704, 16384, 0, 0, 0, 0}, {15, 4386, 4626, 4160, 5397, 0, 0}, {2056, 1638, 17476, 0, 0, 0, 0}, {15, 1072, 1792, 1360, 4352, 0, 0}, {4208, 4608, 5120, 0, 0, 0, 0}, {1147, 1542, 4369, 0, 0, 0, 0}, {1546, 4642, 4176, 0, 0, 0, 0}, {1548, 4403, 5440, 0, 0, 0, 0}, {1548, 4144, 5188, 0, 0, 0, 0}, {1546, 4896, 4437, 0, 0, 0, 0}, {1148, 1542, 4112, 0, 0, 0, 0}, {4471, 4864, 5376, 0, 0, 0, 0}, {1144, 1536, 4096, 0, 0, 0, 0}, {4454, 4883, 5397, 0, 0, 0, 0}, {1546, 4128, 5200, 0, 0, 0, 0}, {1548, 4915, 4420, 0, 0, 0, 0}, {1548, 4656, 4160, 0, 0, 0, 0}, {1546, 4386, 5461, 0, 0, 0, 0}, {4192, 4626, 5140, 0, 0, 0, 0}, {1151, 1536, 4352, 0, 0, 0, 0}, {1152, 1536, 17408, 0, 0, 0, 0}, {15, 369, 771, 1285, 4369, 0, 0}, {1546, 8738, 16384, 0, 0, 0, 0}, {15, 4403, 771, 4160, 1280, 0, 0}, {1548, 8192, 17476, 0, 0, 0, 0}, {15, 4128, 768, 4437, 1285, 0, 0}, {1164, 1542, 16448, 0, 0, 0, 0}, {15, 375, 768, 1280, 4096, 0, 0}, {1160, 1536, 16384, 0, 0, 0, 0}, {15, 374, 771, 1285, 4112, 0, 0}, {1546, 8224, 17408, 0, 0, 0, 0}, {15, 4144, 771, 4420, 1280, 0, 0}, {1548, 8704, 16448, 0, 0, 0, 0}, {15, 4386, 768, 4176, 1285, 0, 0}, {1156, 1542, 17476, 0, 0, 0, 0}, {15, 368, 768, 1280, 4352, 0, 0}, {1072, 5632, 5200, 0, 0, 0, 0}, {605, 1638, 4369, 0, 0, 0, 0}, {1080, 4626, 4160, 0, 0, 0, 0}, {607, 4403, 5376, 0, 0, 0, 0}, {600, 4128, 5140, 0, 0, 0, 0}, {1087, 4864, 4437, 0, 0, 0, 0}, {602, 1638, 4096, 0, 0, 0, 0}, {1079, 5911, 5440, 0, 0, 0, 0}, {600, 1632, 4112, 0, 0, 0, 0}, {1075, 5888, 5461, 0, 0, 0, 0}, {602, 4144, 5120, 0, 0, 0, 0}, {1083, 4883, 4420, 0, 0, 0, 0}, {1084, 4608, 4176, 0, 0, 0, 0}, {605, 4386, 5397, 0, 0, 0, 0}, {1076, 5654, 5188, 0, 0, 0, 0}, {607, 1632, 4352, 0, 0, 0, 0}, {672, 8704, 1024, 0, 0, 0, 0}, {15, 771, 337, 1028, 4369, 0, 0}, {1032, 8738, 16930, 0, 0, 0, 0}, {15, 4403, 771, 339, 1027, 0, 0}, {680, 8224, 1028, 0, 0, 0, 0}, {15, 768, 341, 1024, 4096, 0, 0}, {1036, 8192, 18022, 0, 0, 0, 0}, {15, 4128, 768, 343, 1031, 0, 0}, {1032, 8224, 17952, 0, 0, 0, 0}, {15, 4144, 771, 342, 1027, 0, 0}, {682, 8192, 1024, 0, 0, 0, 0}, {15, 771, 340, 1028, 4112, 0, 0}, {1036, 8704, 16992, 0, 0, 0, 0}, {15, 4386, 768, 338, 1031, 0, 0}, {674, 8738, 1028, 0, 0, 0, 0}, {15, 768, 336, 1024, 4352, 0, 0}, {4656, 4160, 5120, 0, 0, 0, 0}, {1593, 1092, 4369, 0, 0, 0, 0}, {1096, 4192, 4626, 20560, 0, 0, 0}, {1100, 4403, 5888, 21760, 0, 0, 0}, {1596, 1092, 4096, 0, 0, 0, 0}, {4896, 4437, 5397, 0, 0, 0, 0}, {1100, 4128, 5654, 20560, 0, 0, 0}, {1096, 4471, 4864, 21760, 0, 0, 0}, {1096, 4144, 5632, 20480, 0, 0, 0}, {1100, 4454, 4883, 21845, 0, 0, 0}, {1594, 1088, 4112, 0, 0, 0, 0}, {4915, 4420, 5376, 0, 0, 0, 0}, {1100, 4208, 4608, 20480, 0, 0, 0}, {1096, 4386, 5911, 21845, 0, 0, 0}, {4642, 4176, 5140, 0, 0, 0, 0}, {1599, 1088, 4352, 0, 0, 0, 0}, {1216, 512, 17408, 0, 0, 0, 0}, {15, 305, 514, 1285, 4369, 0, 0}, {1224, 514, 16448, 0, 0, 0, 0}, {15, 307, 512, 1280, 4096, 0, 0}, {520, 9284, 17476, 0, 0, 0, 0}, {15, 309, 517, 4437, 1285, 0, 0}, {522, 9830, 16384, 0, 0, 0, 0}, {15, 311, 519, 4160, 1280, 0, 0}, {520, 9792, 16448, 0, 0, 0, 0}, {15, 310, 517, 4176, 1285, 0, 0}, {522, 9312, 17408, 0, 0, 0, 0}, {15, 308, 519, 4420, 1280, 0, 0}, {1228, 512, 16384, 0, 0, 0, 0}, {15, 306, 514, 1285, 4112, 0, 0}, {1220, 514, 17476, 0, 0, 0, 0}, {15, 304, 512, 1280, 4352, 0, 0}, {4128, 4608, 5200, 0, 0, 0, 0}, {1625, 546, 4369, 0, 0, 0, 0}, {1626, 546, 4096, 0, 0, 0, 0}, {4403, 4883, 5440, 0, 0, 0, 0}, {4680, 4192, 5140, 0, 0, 0, 0}, {5418, 5888, 4437, 0, 0, 0, 0}, {5180, 5654, 4160, 0, 0, 0, 0}, {4959, 4471, 5376, 0, 0, 0, 0}, {5160, 5632, 4176, 0, 0, 0, 0}, {4940, 4454, 5397, 0, 0, 0, 0}, {4698, 4208, 5120, 0, 0, 0, 0}, {5439, 5911, 4420, 0, 0, 0, 0}, {1628, 544, 4112, 0, 0, 0, 0}, {4386, 4864, 5461, 0, 0, 0, 0}, {4144, 4626, 5188, 0, 0, 0, 0}, {1631, 544, 4352, 0, 0, 0, 0}, {544, 1088, 0, 0, 0, 0, 0}, {15, 273, 0, 0, 0, 0, 0}, {1096, 546, 0, 0, 0, 0, 0}, {275, 1360, 0, 0, 0, 0, 0}, {552, 1092, 0, 0, 0, 0, 0}, {816, 277, 0, 0, 0, 0, 0}, {1100, 1638, 0, 0, 0, 0, 0}, {279, 1360, 0, 0, 0, 0, 0}, {1096, 1632, 0, 0, 0, 0, 0}, {278, 1365, 0, 0, 0, 0, 0}, {554, 1088, 0, 0, 0, 0, 0}, {819, 276, 0, 0, 0, 0, 0}, {1100, 544, 0, 0, 0, 0, 0}, {274, 1365, 0, 0, 0, 0, 0}, {546, 1092, 0, 0, 0, 0, 0}, {15, 272, 0, 0, 0, 0, 0}, {240, 512, 1024, 4096, 0, 0, 0}, {255, 514, 1028, 4369, 0, 0, 0}, {1032, 4128, 514, 20560, 0, 0, 0}, {1036, 4403, 512, 21760, 0, 0, 0}, {520, 12336, 4160, 1028, 0, 0, 0}, {522, 13056, 4437, 1024, 0, 0, 0}, {1036, 4192, 1542, 20560, 0, 0, 0}, {1032, 4471, 1536, 21760, 0, 0, 0}, {1032, 4208, 1536, 20480, 0, 0, 0}, {1036, 4454, 1542, 21845, 0, 0, 0}, {522, 12288, 4176, 1024, 0, 0, 0}, {520, 13107, 4420, 1028, 0, 0, 0}, {1036, 4144, 512, 20480, 0, 0, 0}, {1032, 4386, 514, 21845, 0, 0, 0}, {240, 514, 1028, 4112, 0, 0, 0}, {255, 512, 1024, 4352, 0, 0, 0}, {3840, 0, 0, 0, 0, 0, 0}, {2, 4, 257, 0, 0, 0, 0}, {2, 1280, 0, 0, 0, 0, 0}, {12, 771, 0, 0, 0, 0, 0}, {768, 4, 0, 0, 0, 0, 0}, {10, 1285, 0, 0, 0, 0, 0}, {6, 1280, 0, 0, 0, 0, 0}, {8, 1799, 0, 0, 0, 0, 0}, {8, 1792, 0, 0, 0, 0, 0}, {6, 1285, 0, 0, 0, 0, 0}, {10, 1280, 0, 0, 0, 0, 0}, {771, 4, 0, 0, 0, 0, 0}, {12, 768, 0, 0, 0, 0, 0}, {2, 1285, 0, 0, 0, 0, 0}, {2, 4, 256, 0, 0, 0, 0}, {3855, 0, 0, 0, 0, 0, 0}, {3856, 32, 64, 4112, 0, 0, 0}, {3857, 34, 68, 4369, 0, 0, 0}, {72, 34, 4626, 21760, 0, 0, 0}, {76, 32, 4883, 20480, 0, 0, 0}, {40, 13056, 68, 5140, 0, 0, 0}, {42, 12288, 64, 5397, 0, 0, 0}, {76, 102, 5654, 21760, 0, 0, 0}, {72, 96, 5911, 20480, 0, 0, 0}, {72, 96, 5888, 20560, 0, 0, 0}, {76, 102, 5632, 21845, 0, 0, 0}, {42, 12336, 64, 5376, 0, 0, 0}, {40, 13107, 68, 5120, 0, 0, 0}, {76, 32, 4864, 20560, 0, 0, 0}, {72, 34, 4608, 21845, 0, 0, 0}, {3870, 34, 68, 4352, 0, 0, 0}, {3871, 32, 64, 4096, 0, 0, 0}, {3840, 32, 20480, 0, 0, 0, 0}, {12, 34, 771, 68, 4369, 0, 0}, {3840, 34, 21760, 0, 0, 0, 0}, {12, 32, 771, 64, 4112, 0, 0}, {12, 36, 768, 68, 5120, 0, 0}, {42, 9509, 21845, 0, 0, 0, 0}, {12, 38, 768, 64, 5376, 0, 0}, {40, 10023, 20560, 0, 0, 0, 0}, {40, 9984, 20480, 0, 0, 0, 0}, {12, 38, 771, 64, 5397, 0, 0}, {42, 9472, 21760, 0, 0, 0, 0}, {12, 36, 771, 68, 5140, 0, 0}, {12, 32, 768, 64, 4096, 0, 0}, {3855, 34, 21845, 0, 0, 0, 0}, {12, 34, 768, 68, 4352, 0, 0}, {3855, 32, 20560, 0, 0, 0, 0}, {192, 3888, 12336, 0, 0, 0, 0}, {2, 68, 1297, 4369, 0, 0, 0}, {2, 64, 1296, 4112, 0, 0, 0}, {204, 3891, 13107, 0, 0, 0, 0}, {8, 1844, 68, 0, 0, 0, 0}, {10, 1333, 1365, 0, 0, 0, 0}, {10, 1334, 1360, 0, 0, 0, 0}, {8, 1847, 64, 0, 0, 0, 0}, {8, 1840, 64, 0, 0, 0, 0}, {10, 1331, 1365, 0, 0, 0, 0}, {10, 1328, 1360, 0, 0, 0, 0}, {8, 1843, 68, 0, 0, 0, 0}, {204, 3900, 13056, 0, 0, 0, 0}, {2, 64, 1301, 4096, 0, 0, 0}, {2, 68, 1300, 4352, 0, 0, 0}, {192, 3903, 12288, 0, 0, 0, 0}, {3840, 12288, 64, 0, 0, 0, 0}, {10, 34, 68, 1285, 4369, 0, 0}, {10, 34, 4608, 66, 1280, 0, 0}, {76, 13107, 17219, 0, 0, 0, 0}, {3840, 13056, 68, 0, 0, 0, 0}, {10, 32, 64, 1285, 4112, 0, 0}, {10, 32, 4864, 70, 1280, 0, 0}, {72, 12336, 18247, 0, 0, 0, 0}, {72, 12288, 18176, 0, 0, 0, 0}, {10, 32, 4883, 70, 1285, 0, 0}, {10, 32, 64, 1280, 4096, 0, 0}, {3855, 13107, 68, 0, 0, 0, 0}, {76, 13056, 17152, 0, 0, 0, 0}, {10, 34, 4626, 66, 1285, 0, 0}, {10, 34, 68, 1280, 4352, 0, 0}, {3855, 12336, 64, 0, 0, 0, 0}, {160, 3920, 20560, 0, 0, 0, 0}, {34, 785, 4, 4369, 0, 0, 0}, {8, 34, 1874, 21760, 0, 0, 0}, {12, 96, 851, 20480, 0, 0, 0}, {32, 784, 4, 4112, 0, 0, 0}, {170, 3925, 21845, 0, 0, 0, 0}, {12, 102, 854, 21760, 0, 0, 0}, {8, 32, 1879, 20480, 0, 0, 0}, {8, 32, 1872, 20560, 0, 0, 0}, {12, 102, 853, 21845, 0, 0, 0}, {170, 3930, 21760, 0, 0, 0, 0}, {32, 787, 4, 4096, 0, 0, 0}, {12, 96, 848, 20560, 0, 0, 0}, {8, 34, 1877, 21845, 0, 0, 0}, {34, 786, 4, 4352, 0, 0, 0}, {160, 3935, 20480, 0, 0, 0, 0}, {3840, 96, 20480, 0, 0, 0, 0}, {8, 34, 1799, 68, 4369, 0, 0}, {8, 34, 4608, 64, 5376, 0, 0}, {108, 13107, 20560, 0, 0, 0, 0}, {8, 32, 4864, 68, 5120, 0, 0}, {106, 12336, 21845, 0, 0, 0, 0}, {3840, 102, 21760, 0, 0, 0, 0}, {8, 32, 1799, 64, 4112, 0, 0}, {8, 32, 1792, 64, 4096, 0, 0}, {3855, 102, 21845, 0, 0, 0, 0}, {106, 12288, 21760, 0, 0, 0, 0}, {8, 32, 4883, 68, 5140, 0, 0}, {108, 13056, 20480, 0, 0, 0, 0}, {8, 34, 4626, 64, 5397, 0, 0}, {8, 34, 1792, 68, 4352, 0, 0}, {3855, 96, 20560, 0, 0, 0, 0}, {128, 3952, 28784, 0, 0, 0, 0}, {6, 68, 1297, 4369, 0, 0, 0}, {10, 34, 1360, 0, 0, 0, 0}, {12, 819, 64, 0, 0, 0, 0}, {12, 816, 68, 0, 0, 0, 0}, {10, 32, 1365, 0, 0, 0, 0}, {6, 64, 1296, 4112, 0, 0, 0}, {136, 3959, 30583, 0, 0, 0, 0}, {136, 3960, 30464, 0, 0, 0, 0}, {6, 64, 1301, 4096, 0, 0, 0}, {10, 32, 1360, 0, 0, 0, 0}, {12, 819, 68, 0, 0, 0, 0}, {12, 816, 64, 0, 0, 0, 0}, {10, 34, 1365, 0, 0, 0, 0}, {6, 68, 1300, 4352, 0, 0, 0}, {128, 3967, 28672, 0, 0, 0, 0}, {128, 3840, 28672, 0, 0, 0, 0}, {6, 68, 1285, 4369, 0, 0, 0}, {10, 34, 1280, 0, 0, 0, 0}, {12, 771, 64, 0, 0, 0, 0}, {12, 768, 68, 0, 0, 0, 0}, {10, 32, 1285, 0, 0, 0, 0}, {6, 64, 1280, 4096, 0, 0, 0}, {136, 3855, 30583, 0, 0, 0, 0}, {136, 3840, 30464, 0, 0, 0, 0}, {6, 64, 1285, 4112, 0, 0, 0}, {10, 32, 1280, 0, 0, 0, 0}, {12, 771, 68, 0, 0, 0, 0}, {12, 768, 64, 0, 0, 0, 0}, {10, 34, 1285, 0, 0, 0, 0}, {6, 68, 1280, 4352, 0, 0, 0}, {128, 3855, 28784, 0, 0, 0, 0}, {3920, 96, 20560, 0, 0, 0, 0}, {8, 34, 1809, 68, 4369, 0, 0}, {8, 34, 4626, 64, 5376, 0, 0}, {108, 13107, 20480, 0, 0, 0, 0}, {8, 32, 4864, 68, 5140, 0, 0}, {106, 12288, 21845, 0, 0, 0, 0}, {3930, 102, 21760, 0, 0, 0, 0}, {8, 32, 1815, 64, 4096, 0, 0}, {8, 32, 1808, 64, 4112, 0, 0}, {3925, 102, 21845, 0, 0, 0, 0}, {106, 12336, 21760, 0, 0, 0, 0}, {8, 32, 4883, 68, 5120, 0, 0}, {108, 13056, 20560, 0, 0, 0, 0}, {8, 34, 4608, 64, 5397, 0, 0}, {8, 34, 1814, 68, 4352, 0, 0}, {3935, 96, 20480, 0, 0, 0, 0}, {160, 3840, 20480, 0, 0, 0, 0}, {34, 771, 4, 4369, 0, 0, 0}, {8, 34, 1792, 21760, 0, 0, 0}, {12, 96, 771, 20560, 0, 0, 0}, {32, 768, 4, 4096, 0, 0, 0}, {170, 3855, 21845, 0, 0, 0, 0}, {12, 102, 768, 21760, 0, 0, 0}, {8, 32, 1799, 20560, 0, 0, 0}, {8, 32, 1792, 20480, 0, 0, 0}, {12, 102, 771, 21845, 0, 0, 0}, {170, 3840, 21760, 0, 0, 0, 0}, {32, 771, 4, 4112, 0, 0, 0}, {12, 96, 768, 20480, 0, 0, 0}, {8, 34, 1799, 21845, 0, 0, 0}, {34, 768, 4, 4352, 0, 0, 0}, {160, 3855, 20560, 0, 0, 0, 0}, {3888, 12336, 64, 0, 0, 0, 0}, {10, 34, 68, 1297, 4369, 0, 0}, {10, 34, 4626, 66, 1298, 0, 0}, {76, 13107, 17203, 0, 0, 0, 0}, {3900, 13056, 68, 0, 0, 0, 0}, {10, 32, 64, 1301, 4096, 0, 0}, {10, 32, 4864, 70, 1302, 0, 0}, {72, 12288, 18295, 0, 0, 0, 0}, {72, 12336, 18224, 0, 0, 0, 0}, {10, 32, 4883, 70, 1299, 0, 0}, {10, 32, 64, 1296, 4112, 0, 0}, {3891, 13107, 68, 0, 0, 0, 0}, {76, 13056, 17264, 0, 0, 0, 0}, {10, 34, 4608, 66, 1303, 0, 0}, {10, 34, 68, 1300, 4352, 0, 0}, {3903, 12288, 64, 0, 0, 0, 0}, {192, 3840, 12288, 0, 0, 0, 0}, {2, 68, 1285, 4369, 0, 0, 0}, {2, 64, 1280, 4096, 0, 0, 0}, {204, 3855, 13107, 0, 0, 0, 0}, {8, 1792, 68, 0, 0, 0, 0}, {10, 96, 1285, 0, 0, 0, 0}, {10, 102, 1280, 0, 0, 0, 0}, {8, 1799, 64, 0, 0, 0, 0}, {8, 1792, 64, 0, 0, 0, 0}, {10, 102, 1285, 0, 0, 0, 0}, {10, 96, 1280, 0, 0, 0, 0}, {8, 1799, 68, 0, 0, 0, 0}, {204, 3840, 13056, 0, 0, 0, 0}, {2, 64, 1285, 4112, 0, 0, 0}, {2, 68, 1280, 4352, 0, 0, 0}, {192, 3855, 12336, 0, 0, 0, 0}, {3920, 32, 20560, 0, 0, 0, 0}, {12, 34, 785, 68, 4369, 0, 0}, {3930, 34, 21760, 0, 0, 0, 0}, {12, 32, 787, 64, 4096, 0, 0}, {12, 36, 788, 68, 5140, 0, 0}, {42, 9557, 21845, 0, 0, 0, 0}, {12, 38, 790, 64, 5376, 0, 0}, {40, 10103, 20480, 0, 0, 0, 0}, {40, 10064, 20560, 0, 0, 0, 0}, {12, 38, 789, 64, 5397, 0, 0}, {42, 9584, 21760, 0, 0, 0, 0}, {12, 36, 791, 68, 5120, 0, 0}, {12, 32, 784, 64, 4112, 0, 0}, {3925, 34, 21845, 0, 0, 0, 0}, {12, 34, 786, 68, 4352, 0, 0}, {3935, 32, 20480, 0, 0, 0, 0}, {3840, 32, 64, 4096, 0, 0, 0}, {3855, 34, 68, 4369, 0, 0, 0}, {72, 34, 4608, 21760, 0, 0, 0}, {76, 32, 4883, 20560, 0, 0, 0}, {40, 13056, 68, 5120, 0, 0, 0}, {42, 12336, 64, 5397, 0, 0, 0}, {76, 102, 5632, 21760, 0, 0, 0}, {72, 96, 5911, 20560, 0, 0, 0}, {72, 96, 5888, 20480, 0, 0, 0}, {76, 102, 5654, 21845, 0, 0, 0}, {42, 12288, 64, 5376, 0, 0, 0}, {40, 13107, 68, 5140, 0, 0, 0}, {76, 32, 4864, 20480, 0, 0, 0}, {72, 34, 4626, 21845, 0, 0, 0}, {3840, 34, 68, 4352, 0, 0, 0}, {3855, 32, 64, 4112, 0, 0, 0}, {4080, 0, 0, 0, 0, 0, 0}, {2, 4, 273, 0, 0, 0, 0}, {2, 1360, 0, 0, 0, 0, 0}, {12, 819, 0, 0, 0, 0, 0}, {816, 4, 0, 0, 0, 0, 0}, {10, 1365, 0, 0, 0, 0, 0}, {6, 1360, 0, 0, 0, 0, 0}, {8, 1911, 0, 0, 0, 0, 0}, {8, 1904, 0, 0, 0, 0, 0}, {6, 1365, 0, 0, 0, 0, 0}, {10, 1360, 0, 0, 0, 0, 0}, {819, 4, 0, 0, 0, 0, 0}, {12, 816, 0, 0, 0, 0, 0}, {2, 1365, 0, 0, 0, 0, 0}, {2, 4, 272, 0, 0, 0, 0}, {4095, 0, 0, 0, 0, 0, 0}, {4096, 0, 0, 0, 0, 0, 0}, {17, 257, 0, 0, 0, 0, 0}, {34, 514, 4098, 0, 0, 0, 0}, {51, 771, 4099, 0, 0, 0, 0}, {68, 1028, 4100, 0, 0, 0, 0}, {85, 1285, 4101, 0, 0, 0, 0}, {102, 1542, 4102, 0, 0, 0, 0}, {119, 1799, 4103, 0, 0, 0, 0}, {4104, 12288, 20480, 0, 0, 0, 0}, {4105, 51, 771, 85, 1285, 0, 0}, {4106, 12288, 16384, 0, 0, 0, 0}, {4107, 51, 771, 68, 1028, 0, 0}, {4108, 8192, 20480, 0, 0, 0, 0}, {4109, 34, 514, 85, 1285, 0, 0}, {4110, 34, 514, 68, 1028, 0, 0}, {4111, 8192, 16384, 0, 0, 0, 0}, {4112, 0, 0, 0, 0, 0, 0}, {17, 256, 0, 0, 0, 0, 0}, {34, 512, 4114, 0, 0, 0, 0}, {51, 768, 4115, 0, 0, 0, 0}, {68, 1024, 4116, 0, 0, 0, 0}, {85, 1280, 4117, 0, 0, 0, 0}, {102, 1536, 4118, 0, 0, 0, 0}, {119, 1792, 4119, 0, 0, 0, 0}, {4120, 12336, 20560, 0, 0, 0, 0}, {4121, 51, 768, 85, 1280, 0, 0}, {4122, 12336, 16448, 0, 0, 0, 0}, {4123, 51, 768, 68, 1024, 0, 0}, {4124, 8224, 20560, 0, 0, 0, 0}, {4125, 34, 512, 85, 1280, 0, 0}, {4126, 34, 512, 68, 1024, 0, 0}, {4127, 8224, 16448, 0, 0, 0, 0}, {4128, 0, 0, 0, 0, 0, 0}, {259, 17, 0, 0, 0, 0, 0}, {34, 512, 4096, 0, 0, 0, 0}, {51, 771, 4112, 0, 0, 0, 0}, {1036, 4132, 68, 0, 0, 0, 0}, {1295, 4133, 85, 0, 0, 0, 0}, {1548, 4134, 4160, 0, 0, 0, 0}, {1807, 4135, 4176, 0, 0, 0, 0}, {4136, 12288, 16384, 0, 0, 0, 0}, {4122, 51, 771, 85, 5397, 0, 0}, {4138, 12288, 20480, 0, 0, 0, 0}, {4120, 51, 771, 68, 5140, 0, 0}, {4140, 8224, 16448, 0, 0, 0, 0}, {4111, 34, 512, 85, 5376, 0, 0}, {4108, 34, 512, 68, 5120, 0, 0}, {4143, 8224, 20560, 0, 0, 0, 0}, {4144, 0, 0, 0, 0, 0, 0}, {258, 17, 0, 0, 0, 0, 0}, {34, 514, 4112, 0, 0, 0, 0}, {51, 768, 4096, 0, 0, 0, 0}, {1032, 4148, 68, 0, 0, 0, 0}, {1290, 4149, 85, 0, 0, 0, 0}, {1546, 4150, 4176, 0, 0, 0, 0}, {1800, 4151, 4160, 0, 0, 0, 0}, {4152, 12336, 16448, 0, 0, 0, 0}, {4106, 51, 768, 85, 5376, 0, 0}, {4154, 12336, 20560, 0, 0, 0, 0}, {4104, 51, 768, 68, 5120, 0, 0}, {4156, 8192, 16384, 0, 0, 0, 0}, {4127, 34, 514, 85, 5397, 0, 0}, {4124, 34, 514, 68, 5140, 0, 0}, {4159, 8192, 20480, 0, 0, 0, 0}, {4160, 0, 0, 0, 0, 0, 0}, {261, 17, 0, 0, 0, 0, 0}, {522, 34, 4162, 0, 0, 0, 0}, {783, 51, 4163, 0, 0, 0, 0}, {68, 1024, 4096, 0, 0, 0, 0}, {85, 1285, 4112, 0, 0, 0, 0}, {1546, 4128, 4166, 0, 0, 0, 0}, {1807, 4144, 4167, 0, 0, 0, 0}, {4168, 8192, 20480, 0, 0, 0, 0}, {4124, 51, 4883, 85, 1285, 0, 0}, {4170, 8224, 16448, 0, 0, 0, 0}, {4111, 51, 4864, 68, 1024, 0, 0}, {4172, 12288, 20480, 0, 0, 0, 0}, {4120, 34, 4626, 85, 1285, 0, 0}, {4106, 34, 4608, 68, 1024, 0, 0}, {4175, 12336, 16448, 0, 0, 0, 0}, {4176, 0, 0, 0, 0, 0, 0}, {260, 17, 0, 0, 0, 0, 0}, {520, 34, 4178, 0, 0, 0, 0}, {780, 51, 4179, 0, 0, 0, 0}, {68, 1028, 4112, 0, 0, 0, 0}, {85, 1280, 4096, 0, 0, 0, 0}, {1548, 4144, 4182, 0, 0, 0, 0}, {1800, 4128, 4183, 0, 0, 0, 0}, {4184, 8224, 20560, 0, 0, 0, 0}, {4108, 51, 4864, 85, 1280, 0, 0}, {4186, 8192, 16384, 0, 0, 0, 0}, {4127, 51, 4883, 68, 1028, 0, 0}, {4188, 12336, 20560, 0, 0, 0, 0}, {4104, 34, 4608, 85, 1280, 0, 0}, {4122, 34, 4626, 68, 1028, 0, 0}, {4191, 12288, 16384, 0, 0, 0, 0}, {4192, 0, 0, 0, 0, 0, 0}, {263, 17, 0, 0, 0, 0, 0}, {520, 34, 4160, 0, 0, 0, 0}, {783, 51, 4176, 0, 0, 0, 0}, {1032, 4128, 68, 0, 0, 0, 0}, {1295, 4144, 85, 0, 0, 0, 0}, {102, 1536, 4096, 0, 0, 0, 0}, {119, 1799, 4112, 0, 0, 0, 0}, {4200, 8224, 16448, 0, 0, 0, 0}, {4111, 51, 4864, 85, 5376, 0, 0}, {4202, 8192, 20480, 0, 0, 0, 0}, {4124, 51, 4883, 68, 5140, 0, 0}, {4204, 12288, 16384, 0, 0, 0, 0}, {4122, 34, 4626, 85, 5397, 0, 0}, {4104, 34, 4608, 68, 5120, 0, 0}, {4207, 12336, 20560, 0, 0, 0, 0}, {4208, 0, 0, 0, 0, 0, 0}, {262, 17, 0, 0, 0, 0, 0}, {522, 34, 4176, 0, 0, 0, 0}, {780, 51, 4160, 0, 0, 0, 0}, {1036, 4144, 68, 0, 0, 0, 0}, {1290, 4128, 85, 0, 0, 0, 0}, {102, 1542, 4112, 0, 0, 0, 0}, {119, 1792, 4096, 0, 0, 0, 0}, {4216, 8192, 16384, 0, 0, 0, 0}, {4127, 51, 4883, 85, 5397, 0, 0}, {4218, 8224, 20560, 0, 0, 0, 0}, {4108, 51, 4864, 68, 5120, 0, 0}, {4220, 12336, 16448, 0, 0, 0, 0}, {4106, 34, 4608, 85, 5376, 0, 0}, {4120, 34, 4626, 68, 5140, 0, 0}, {4223, 12288, 20480, 0, 0, 0, 0}, {4224, 12288, 20480, 0, 0, 0, 0}, {265, 771, 1285, 17, 0, 0, 0}, {4106, 34, 4608, 16384, 0, 0, 0}, {4175, 51, 771, 16448, 0, 0, 0}, {4108, 8192, 68, 5120, 0, 0, 0}, {4143, 8224, 85, 1285, 0, 0, 0}, {4170, 102, 1542, 16448, 0, 0, 0}, {4111, 119, 5888, 16384, 0, 0, 0}, {136, 2048, 4096, 0, 0, 0, 0}, {51, 771, 85, 1285, 4112, 0, 0}, {2570, 4128, 20490, 0, 0, 0, 0}, {1036, 51, 771, 68, 4099, 0, 0}, {3084, 12300, 4160, 0, 0, 0, 0}, {522, 34, 85, 1285, 4101, 0, 0}, {1036, 34, 1542, 68, 4102, 0, 0}, {3855, 4208, 20495, 0, 0, 0, 0}, {4240, 12336, 20560, 0, 0, 0, 0}, {264, 768, 1280, 17, 0, 0, 0}, {4122, 34, 4626, 16448, 0, 0, 0}, {4191, 51, 768, 16384, 0, 0, 0}, {4124, 8224, 68, 5140, 0, 0, 0}, {4159, 8192, 85, 1280, 0, 0, 0}, {4186, 102, 1536, 16384, 0, 0, 0}, {4127, 119, 5911, 16448, 0, 0, 0}, {136, 2056, 4112, 0, 0, 0, 0}, {51, 768, 85, 1280, 4096, 0, 0}, {2560, 4144, 20570, 0, 0, 0, 0}, {1032, 51, 768, 68, 4115, 0, 0}, {3072, 12348, 4176, 0, 0, 0, 0}, {520, 34, 85, 1280, 4117, 0, 0}, {1032, 34, 1536, 68, 4118, 0, 0}, {3840, 4192, 20575, 0, 0, 0, 0}, {4256, 12288, 16384, 0, 0, 0, 0}, {267, 771, 1028, 17, 0, 0, 0}, {4104, 34, 4608, 20480, 0, 0, 0}, {4188, 51, 771, 20560, 0, 0, 0}, {4140, 8224, 68, 1028, 0, 0, 0}, {4111, 8192, 85, 5376, 0, 0, 0}, {4108, 102, 5632, 20480, 0, 0, 0}, {4184, 119, 1799, 20560, 0, 0, 0}, {2056, 4128, 16392, 0, 0, 0, 0}, {1295, 51, 771, 85, 4099, 0, 0}, {170, 2560, 4096, 0, 0, 0, 0}, {51, 771, 68, 1028, 4112, 0, 0}, {3084, 4192, 16396, 0, 0, 0, 0}, {1295, 34, 1799, 85, 4103, 0, 0}, {520, 34, 68, 1028, 4100, 0, 0}, {3855, 12303, 4176, 0, 0, 0, 0}, {4272, 12336, 16448, 0, 0, 0, 0}, {266, 768, 1024, 17, 0, 0, 0}, {4120, 34, 4626, 20560, 0, 0, 0}, {4172, 51, 768, 20480, 0, 0, 0}, {4156, 8192, 68, 1024, 0, 0, 0}, {4127, 8224, 85, 5397, 0, 0, 0}, {4124, 102, 5654, 20560, 0, 0, 0}, {4168, 119, 1792, 20480, 0, 0, 0}, {2048, 4144, 16456, 0, 0, 0, 0}, {1290, 51, 768, 85, 4115, 0, 0}, {170, 2570, 4112, 0, 0, 0, 0}, {51, 768, 68, 1024, 4096, 0, 0}, {3072, 4208, 16460, 0, 0, 0, 0}, {1290, 34, 1792, 85, 4119, 0, 0}, {522, 34, 68, 1024, 4116, 0, 0}, {3840, 12351, 4160, 0, 0, 0, 0}, {4288, 8192, 20480, 0, 0, 0, 0}, {269, 514, 1285, 17, 0, 0, 0}, {4170, 34, 514, 16448, 0, 0, 0}, {4111, 51, 4864, 16384, 0, 0, 0}, {4104, 12288, 68, 5120, 0, 0, 0}, {4154, 12336, 85, 1285, 0, 0, 0}, {4106, 102, 5632, 16384, 0, 0, 0}, {4175, 119, 1799, 16448, 0, 0, 0}, {2056, 8200, 4160, 0, 0, 0, 0}, {783, 51, 85, 1285, 4101, 0, 0}, {2570, 4192, 20490, 0, 0, 0, 0}, {1032, 51, 1799, 68, 4103, 0, 0}, {204, 3072, 4096, 0, 0, 0, 0}, {34, 514, 85, 1285, 4112, 0, 0}, {1032, 34, 514, 68, 4098, 0, 0}, {3855, 4144, 20495, 0, 0, 0, 0}, {4304, 8224, 20560, 0, 0, 0, 0}, {268, 512, 1280, 17, 0, 0, 0}, {4186, 34, 512, 16384, 0, 0, 0}, {4127, 51, 4883, 16448, 0, 0, 0}, {4120, 12336, 68, 5140, 0, 0, 0}, {4138, 12288, 85, 1280, 0, 0, 0}, {4122, 102, 5654, 16448, 0, 0, 0}, {4191, 119, 1792, 16384, 0, 0, 0}, {2048, 8232, 4176, 0, 0, 0, 0}, {780, 51, 85, 1280, 4117, 0, 0}, {2560, 4208, 20570, 0, 0, 0, 0}, {1036, 51, 1792, 68, 4119, 0, 0}, {204, 3084, 4112, 0, 0, 0, 0}, {34, 512, 85, 1280, 4096, 0, 0}, {1036, 34, 512, 68, 4114, 0, 0}, {3840, 4128, 20575, 0, 0, 0, 0}, {4320, 8224, 16448, 0, 0, 0, 0}, {271, 512, 1024, 17, 0, 0, 0}, {4168, 34, 512, 20480, 0, 0, 0}, {4124, 51, 4883, 20560, 0, 0, 0}, {4136, 12288, 68, 1024, 0, 0, 0}, {4122, 12336, 85, 5397, 0, 0, 0}, {4172, 102, 1536, 20480, 0, 0, 0}, {4120, 119, 5911, 20560, 0, 0, 0}, {2048, 4192, 16456, 0, 0, 0, 0}, {1295, 51, 1536, 85, 4118, 0, 0}, {2560, 8234, 4160, 0, 0, 0, 0}, {783, 51, 68, 1024, 4116, 0, 0}, {3072, 4128, 16460, 0, 0, 0, 0}, {1295, 34, 512, 85, 4114, 0, 0}, {34, 512, 68, 1024, 4096, 0, 0}, {255, 3855, 4112, 0, 0, 0, 0}, {4336, 8192, 16384, 0, 0, 0, 0}, {270, 514, 1028, 17, 0, 0, 0}, {4184, 34, 514, 20560, 0, 0, 0}, {4108, 51, 4864, 20480, 0, 0, 0}, {4152, 12336, 68, 1028, 0, 0, 0}, {4106, 12288, 85, 5376, 0, 0, 0}, {4188, 102, 1542, 20560, 0, 0, 0}, {4104, 119, 5888, 20480, 0, 0, 0}, {2056, 4208, 16392, 0, 0, 0, 0}, {1290, 51, 1542, 85, 4102, 0, 0}, {2570, 8202, 4176, 0, 0, 0, 0}, {780, 51, 68, 1028, 4100, 0, 0}, {3084, 4144, 16396, 0, 0, 0, 0}, {1290, 34, 514, 85, 4098, 0, 0}, {34, 514, 68, 1028, 4112, 0, 0}, {255, 3840, 4096, 0, 0, 0, 0}, {4352, 0, 0, 0, 0, 0, 0}, {16, 257, 0, 0, 0, 0, 0}, {32, 514, 4354, 0, 0, 0, 0}, {48, 771, 4355, 0, 0, 0, 0}, {64, 1028, 4356, 0, 0, 0, 0}, {80, 1285, 4357, 0, 0, 0, 0}, {96, 1542, 4358, 0, 0, 0, 0}, {112, 1799, 4359, 0, 0, 0, 0}, {4360, 13056, 21760, 0, 0, 0, 0}, {4361, 48, 771, 80, 1285, 0, 0}, {4362, 13056, 17408, 0, 0, 0, 0}, {4363, 48, 771, 64, 1028, 0, 0}, {4364, 8704, 21760, 0, 0, 0, 0}, {4365, 32, 514, 80, 1285, 0, 0}, {4366, 32, 514, 64, 1028, 0, 0}, {4367, 8704, 17408, 0, 0, 0, 0}, {16, 256, 0, 0, 0, 0, 0}, {4369, 0, 0, 0, 0, 0, 0}, {48, 768, 4370, 0, 0, 0, 0}, {32, 512, 4371, 0, 0, 0, 0}, {80, 1280, 4372, 0, 0, 0, 0}, {64, 1024, 4373, 0, 0, 0, 0}, {112, 1792, 4374, 0, 0, 0, 0}, {96, 1536, 4375, 0, 0, 0, 0}, {4376, 48, 768, 80, 1280, 0, 0}, {4377, 13107, 21845, 0, 0, 0, 0}, {4378, 48, 768, 64, 1024, 0, 0}, {4379, 13107, 17476, 0, 0, 0, 0}, {4380, 32, 512, 80, 1280, 0, 0}, {4381, 8738, 21845, 0, 0, 0, 0}, {4382, 8738, 17476, 0, 0, 0, 0}, {4383, 32, 512, 64, 1024, 0, 0}, {32, 512, 4352, 0, 0, 0, 0}, {48, 771, 4369, 0, 0, 0, 0}, {4386, 0, 0, 0, 0, 0, 0}, {259, 16, 0, 0, 0, 0, 0}, {1548, 4388, 4420, 0, 0, 0, 0}, {1807, 4389, 4437, 0, 0, 0, 0}, {1036, 4390, 64, 0, 0, 0, 0}, {1295, 4391, 80, 0, 0, 0, 0}, {4392, 13056, 21760, 0, 0, 0, 0}, {4377, 48, 771, 64, 5397, 0, 0}, {4394, 13056, 17408, 0, 0, 0, 0}, {4379, 48, 771, 80, 5140, 0, 0}, {4364, 32, 512, 64, 5376, 0, 0}, {4397, 8738, 21845, 0, 0, 0, 0}, {4398, 8738, 17476, 0, 0, 0, 0}, {4367, 32, 512, 80, 5120, 0, 0}, {48, 768, 4352, 0, 0, 0, 0}, {32, 514, 4369, 0, 0, 0, 0}, {258, 16, 0, 0, 0, 0, 0}, {4403, 0, 0, 0, 0, 0, 0}, {1800, 4404, 4420, 0, 0, 0, 0}, {1546, 4405, 4437, 0, 0, 0, 0}, {1290, 4406, 80, 0, 0, 0, 0}, {1032, 4407, 64, 0, 0, 0, 0}, {4360, 48, 768, 64, 5376, 0, 0}, {4409, 13107, 21845, 0, 0, 0, 0}, {4362, 48, 768, 80, 5120, 0, 0}, {4411, 13107, 17476, 0, 0, 0, 0}, {4412, 8704, 21760, 0, 0, 0, 0}, {4381, 32, 514, 64, 5397, 0, 0}, {4382, 32, 514, 80, 5140, 0, 0}, {4415, 8704, 17408, 0, 0, 0, 0}, {64, 1024, 4352, 0, 0, 0, 0}, {80, 1285, 4369, 0, 0, 0, 0}, {1546, 4386, 4418, 0, 0, 0, 0}, {1807, 4403, 4419, 0, 0, 0, 0}, {4420, 0, 0, 0, 0, 0, 0}, {261, 16, 0, 0, 0, 0, 0}, {522, 32, 4422, 0, 0, 0, 0}, {783, 48, 4423, 0, 0, 0, 0}, {4424, 13056, 21760, 0, 0, 0, 0}, {4377, 32, 4883, 80, 1285, 0, 0}, {4362, 32, 4864, 64, 1024, 0, 0}, {4427, 13107, 17476, 0, 0, 0, 0}, {4428, 8704, 21760, 0, 0, 0, 0}, {4381, 48, 4626, 80, 1285, 0, 0}, {4430, 8738, 17476, 0, 0, 0, 0}, {4367, 48, 4608, 64, 1024, 0, 0}, {80, 1280, 4352, 0, 0, 0, 0}, {64, 1028, 4369, 0, 0, 0, 0}, {1800, 4386, 4434, 0, 0, 0, 0}, {1548, 4403, 4435, 0, 0, 0, 0}, {260, 16, 0, 0, 0, 0, 0}, {4437, 0, 0, 0, 0, 0, 0}, {780, 48, 4438, 0, 0, 0, 0}, {520, 32, 4439, 0, 0, 0, 0}, {4360, 32, 4864, 80, 1280, 0, 0}, {4441, 13107, 21845, 0, 0, 0, 0}, {4442, 13056, 17408, 0, 0, 0, 0}, {4379, 32, 4883, 64, 1028, 0, 0}, {4364, 48, 4608, 80, 1280, 0, 0}, {4445, 8738, 21845, 0, 0, 0, 0}, {4382, 48, 4626, 64, 1028, 0, 0}, {4447, 8704, 17408, 0, 0, 0, 0}, {96, 1536, 4352, 0, 0, 0, 0}, {112, 1799, 4369, 0, 0, 0, 0}, {1032, 4386, 64, 0, 0, 0, 0}, {1295, 4403, 80, 0, 0, 0, 0}, {520, 32, 4420, 0, 0, 0, 0}, {783, 48, 4437, 0, 0, 0, 0}, {4454, 0, 0, 0, 0, 0, 0}, {263, 16, 0, 0, 0, 0, 0}, {4360, 32, 4864, 64, 5376, 0, 0}, {4457, 13107, 21845, 0, 0, 0, 0}, {4458, 13056, 17408, 0, 0, 0, 0}, {4379, 32, 4883, 80, 5140, 0, 0}, {4460, 8704, 21760, 0, 0, 0, 0}, {4381, 48, 4626, 64, 5397, 0, 0}, {4462, 8738, 17476, 0, 0, 0, 0}, {4367, 48, 4608, 80, 5120, 0, 0}, {112, 1792, 4352, 0, 0, 0, 0}, {96, 1542, 4369, 0, 0, 0, 0}, {1290, 4386, 80, 0, 0, 0, 0}, {1036, 4403, 64, 0, 0, 0, 0}, {780, 48, 4420, 0, 0, 0, 0}, {522, 32, 4437, 0, 0, 0, 0}, {262, 16, 0, 0, 0, 0, 0}, {4471, 0, 0, 0, 0, 0, 0}, {4472, 13056, 21760, 0, 0, 0, 0}, {4377, 32, 4883, 64, 5397, 0, 0}, {4362, 32, 4864, 80, 5120, 0, 0}, {4475, 13107, 17476, 0, 0, 0, 0}, {4364, 48, 4608, 64, 5376, 0, 0}, {4477, 8738, 21845, 0, 0, 0, 0}, {4382, 48, 4626, 80, 5140, 0, 0}, {4479, 8704, 17408, 0, 0, 0, 0}, {128, 2048, 4352, 0, 0, 0, 0}, {48, 771, 80, 1285, 4369, 0, 0}, {2570, 4386, 21770, 0, 0, 0, 0}, {1036, 48, 771, 64, 4355, 0, 0}, {3084, 13068, 4420, 0, 0, 0, 0}, {522, 32, 80, 1285, 4357, 0, 0}, {1036, 32, 1542, 64, 4358, 0, 0}, {3855, 4471, 21775, 0, 0, 0, 0}, {4488, 13056, 21760, 0, 0, 0, 0}, {265, 771, 1285, 16, 0, 0, 0}, {4362, 32, 4864, 17408, 0, 0, 0}, {4427, 48, 771, 17476, 0, 0, 0}, {4364, 8704, 64, 5376, 0, 0, 0}, {4397, 8738, 80, 1285, 0, 0, 0}, {4430, 96, 1542, 17476, 0, 0, 0}, {4367, 112, 5632, 17408, 0, 0, 0}, {48, 768, 80, 1280, 4352, 0, 0}, {128, 2056, 4369, 0, 0, 0, 0}, {1032, 48, 768, 64, 4370, 0, 0}, {2560, 4403, 21855, 0, 0, 0, 0}, {520, 32, 80, 1280, 4372, 0, 0}, {3072, 13119, 4437, 0, 0, 0, 0}, {3840, 4454, 21850, 0, 0, 0, 0}, {1032, 32, 1536, 64, 4375, 0, 0}, {264, 768, 1280, 16, 0, 0, 0}, {4505, 13107, 21845, 0, 0, 0, 0}, {4442, 48, 768, 17408, 0, 0, 0}, {4379, 32, 4883, 17476, 0, 0, 0}, {4412, 8704, 80, 1280, 0, 0, 0}, {4381, 8738, 64, 5397, 0, 0, 0}, {4382, 112, 5654, 17476, 0, 0, 0}, {4447, 96, 1536, 17408, 0, 0, 0}, {160, 2560, 4352, 0, 0, 0, 0}, {48, 771, 64, 1028, 4369, 0, 0}, {2056, 4386, 17416, 0, 0, 0, 0}, {1295, 48, 771, 80, 4355, 0, 0}, {520, 32, 64, 1028, 4356, 0, 0}, {3855, 13071, 4437, 0, 0, 0, 0}, {3084, 4454, 17420, 0, 0, 0, 0}, {1295, 32, 1799, 80, 4359, 0, 0}, {4360, 32, 4864, 21760, 0, 0, 0}, {4441, 48, 771, 21845, 0, 0, 0}, {4522, 13056, 17408, 0, 0, 0, 0}, {267, 771, 1028, 16, 0, 0, 0}, {4364, 96, 5888, 21760, 0, 0, 0}, {4445, 112, 1799, 21845, 0, 0, 0}, {4398, 8738, 64, 1028, 0, 0, 0}, {4367, 8704, 80, 5120, 0, 0, 0}, {48, 768, 64, 1024, 4352, 0, 0}, {160, 2570, 4369, 0, 0, 0, 0}, {1290, 48, 768, 80, 4370, 0, 0}, {2048, 4403, 17484, 0, 0, 0, 0}, {3840, 13116, 4420, 0, 0, 0, 0}, {522, 32, 64, 1024, 4373, 0, 0}, {1290, 32, 1792, 80, 4374, 0, 0}, {3072, 4471, 17480, 0, 0, 0, 0}, {4424, 48, 768, 21760, 0, 0, 0}, {4377, 32, 4883, 21845, 0, 0, 0}, {266, 768, 1024, 16, 0, 0, 0}, {4539, 13107, 17476, 0, 0, 0, 0}, {4428, 112, 1792, 21760, 0, 0, 0}, {4381, 96, 5911, 21845, 0, 0, 0}, {4382, 8738, 80, 5140, 0, 0, 0}, {4415, 8704, 64, 1024, 0, 0, 0}, {192, 3072, 4352, 0, 0, 0, 0}, {32, 514, 80, 1285, 4369, 0, 0}, {1032, 32, 514, 64, 4354, 0, 0}, {3855, 4403, 21775, 0, 0, 0, 0}, {2056, 8712, 4420, 0, 0, 0, 0}, {783, 48, 80, 1285, 4357, 0, 0}, {2570, 4454, 21770, 0, 0, 0, 0}, {1032, 48, 1799, 64, 4359, 0, 0}, {4360, 13056, 64, 5376, 0, 0, 0}, {4409, 13107, 80, 1285, 0, 0, 0}, {4362, 96, 5888, 17408, 0, 0, 0}, {4427, 112, 1799, 17476, 0, 0, 0}, {4556, 8704, 21760, 0, 0, 0, 0}, {269, 514, 1285, 16, 0, 0, 0}, {4430, 32, 514, 17476, 0, 0, 0}, {4367, 48, 4608, 17408, 0, 0, 0}, {32, 512, 80, 1280, 4352, 0, 0}, {192, 3084, 4369, 0, 0, 0, 0}, {3840, 4386, 21850, 0, 0, 0, 0}, {1036, 32, 512, 64, 4371, 0, 0}, {780, 48, 80, 1280, 4372, 0, 0}, {2048, 8746, 4437, 0, 0, 0, 0}, {1036, 48, 1792, 64, 4374, 0, 0}, {2560, 4471, 21855, 0, 0, 0, 0}, {4392, 13056, 80, 1280, 0, 0, 0}, {4377, 13107, 64, 5397, 0, 0, 0}, {4442, 112, 1792, 17408, 0, 0, 0}, {4379, 96, 5911, 17476, 0, 0, 0}, {268, 512, 1280, 16, 0, 0, 0}, {4573, 8738, 21845, 0, 0, 0, 0}, {4382, 48, 4626, 17476, 0, 0, 0}, {4447, 32, 512, 17408, 0, 0, 0}, {32, 512, 64, 1024, 4352, 0, 0}, {240, 3855, 4369, 0, 0, 0, 0}, {3072, 4386, 17480, 0, 0, 0, 0}, {1295, 32, 512, 80, 4371, 0, 0}, {2560, 8744, 4420, 0, 0, 0, 0}, {783, 48, 64, 1024, 4373, 0, 0}, {2048, 4454, 17484, 0, 0, 0, 0}, {1295, 48, 1536, 80, 4375, 0, 0}, {4424, 96, 1536, 21760, 0, 0, 0}, {4377, 112, 5654, 21845, 0, 0, 0}, {4394, 13056, 64, 1024, 0, 0, 0}, {4379, 13107, 80, 5140, 0, 0, 0}, {4428, 32, 512, 21760, 0, 0, 0}, {4381, 48, 4626, 21845, 0, 0, 0}, {4590, 8738, 17476, 0, 0, 0, 0}, {271, 512, 1024, 16, 0, 0, 0}, {240, 3840, 4352, 0, 0, 0, 0}, {32, 514, 64, 1028, 4369, 0, 0}, {1290, 32, 514, 80, 4354, 0, 0}, {3084, 4403, 17420, 0, 0, 0, 0}, {780, 48, 64, 1028, 4356, 0, 0}, {2570, 8714, 4437, 0, 0, 0, 0}, {1290, 48, 1542, 80, 4358, 0, 0}, {2056, 4471, 17416, 0, 0, 0, 0}, {4360, 112, 5632, 21760, 0, 0, 0}, {4441, 96, 1542, 21845, 0, 0, 0}, {4362, 13056, 80, 5120, 0, 0, 0}, {4411, 13107, 64, 1028, 0, 0, 0}, {4364, 48, 4608, 21760, 0, 0, 0}, {4445, 32, 514, 21845, 0, 0, 0}, {270, 514, 1028, 16, 0, 0, 0}, {4607, 8704, 17408, 0, 0, 0, 0}, {4608, 0, 0, 0, 0, 0, 0}, {19, 257, 0, 0, 0, 0, 0}, {32, 514, 4096, 0, 0, 0, 0}, {51, 771, 4352, 0, 0, 0, 0}, {76, 4612, 1028, 0, 0, 0, 0}, {95, 4613, 1285, 0, 0, 0, 0}, {108, 4614, 5120, 0, 0, 0, 0}, {127, 4615, 5376, 0, 0, 0, 0}, {4616, 12288, 16384, 0, 0, 0, 0}, {4362, 51, 771, 4437, 1285, 0, 0}, {4618, 12288, 20480, 0, 0, 0, 0}, {4360, 51, 771, 4420, 1028, 0, 0}, {4620, 8704, 17408, 0, 0, 0, 0}, {4111, 32, 514, 4176, 1285, 0, 0}, {4108, 32, 514, 4160, 1028, 0, 0}, {4623, 8704, 21760, 0, 0, 0, 0}, {32, 512, 4112, 0, 0, 0, 0}, {51, 768, 4369, 0, 0, 0, 0}, {4626, 0, 0, 0, 0, 0, 0}, {19, 256, 0, 0, 0, 0, 0}, {108, 4628, 5140, 0, 0, 0, 0}, {127, 4629, 5397, 0, 0, 0, 0}, {76, 4630, 1024, 0, 0, 0, 0}, {95, 4631, 1280, 0, 0, 0, 0}, {4632, 12336, 20560, 0, 0, 0, 0}, {4377, 51, 768, 4437, 1024, 0, 0}, {4634, 12336, 16448, 0, 0, 0, 0}, {4379, 51, 768, 4420, 1280, 0, 0}, {4124, 32, 512, 4176, 1024, 0, 0}, {4637, 8738, 21845, 0, 0, 0, 0}, {4638, 8738, 17476, 0, 0, 0, 0}, {4127, 32, 512, 4160, 1280, 0, 0}, {32, 512, 4096, 0, 0, 0, 0}, {51, 771, 4369, 0, 0, 0, 0}, {4642, 0, 0, 0, 0, 0, 0}, {259, 272, 0, 0, 0, 0, 0}, {1548, 4644, 5188, 0, 0, 0, 0}, {1807, 4645, 5461, 0, 0, 0, 0}, {1036, 4646, 1088, 0, 0, 0, 0}, {1295, 4647, 1360, 0, 0, 0, 0}, {4648, 12288, 20480, 0, 0, 0, 0}, {4377, 51, 771, 4437, 5397, 0, 0}, {4650, 12288, 16384, 0, 0, 0, 0}, {4379, 51, 771, 4420, 5140, 0, 0}, {4108, 32, 512, 4160, 5120, 0, 0}, {4653, 8738, 21845, 0, 0, 0, 0}, {4654, 8738, 17476, 0, 0, 0, 0}, {4111, 32, 512, 4176, 5376, 0, 0}, {4656, 0, 0, 0, 0, 0, 0}, {258, 273, 0, 0, 0, 0, 0}, {32, 514, 4112, 0, 0, 0, 0}, {51, 768, 4352, 0, 0, 0, 0}, {1032, 4660, 1092, 0, 0, 0, 0}, {1290, 4661, 1365, 0, 0, 0, 0}, {1546, 4662, 5200, 0, 0, 0, 0}, {1800, 4663, 5440, 0, 0, 0, 0}, {4664, 12336, 16448, 0, 0, 0, 0}, {4362, 51, 768, 4437, 5120, 0, 0}, {4666, 12336, 20560, 0, 0, 0, 0}, {4360, 51, 768, 4420, 5376, 0, 0}, {4668, 8704, 17408, 0, 0, 0, 0}, {4127, 32, 514, 4160, 5397, 0, 0}, {4124, 32, 514, 4176, 5140, 0, 0}, {4671, 8704, 21760, 0, 0, 0, 0}, {128, 4672, 16448, 0, 0, 0, 0}, {95, 51, 848, 1285, 4369, 0, 0}, {160, 4674, 20480, 0, 0, 0, 0}, {76, 51, 835, 1024, 4352, 0, 0}, {204, 4676, 17476, 0, 0, 0, 0}, {95, 32, 597, 1285, 4112, 0, 0}, {76, 32, 582, 1024, 4096, 0, 0}, {255, 4679, 21760, 0, 0, 0, 0}, {4680, 0, 0, 0, 0, 0, 0}, {19, 261, 0, 0, 0, 0, 0}, {522, 32, 4160, 0, 0, 0, 0}, {783, 51, 4420, 0, 0, 0, 0}, {76, 4608, 1024, 0, 0, 0, 0}, {95, 4626, 1285, 0, 0, 0, 0}, {1546, 4642, 5188, 0, 0, 0, 0}, {1807, 4656, 5440, 0, 0, 0, 0}, {160, 4688, 20560, 0, 0, 0, 0}, {76, 51, 832, 1028, 4369, 0, 0}, {128, 4690, 16384, 0, 0, 0, 0}, {95, 51, 851, 1280, 4352, 0, 0}, {76, 32, 580, 1028, 4112, 0, 0}, {255, 4693, 21845, 0, 0, 0, 0}, {204, 4694, 17408, 0, 0, 0, 0}, {95, 32, 599, 1280, 4096, 0, 0}, {520, 32, 4176, 0, 0, 0, 0}, {780, 51, 4437, 0, 0, 0, 0}, {4698, 0, 0, 0, 0, 0, 0}, {19, 260, 0, 0, 0, 0, 0}, {1548, 4656, 5200, 0, 0, 0, 0}, {1800, 4642, 5461, 0, 0, 0, 0}, {76, 4626, 1028, 0, 0, 0, 0}, {95, 4608, 1280, 0, 0, 0, 0}, {2560, 4704, 20480, 0, 0, 0, 0}, {1032, 51, 1799, 1092, 4369, 0, 0}, {2056, 4706, 16448, 0, 0, 0, 0}, {1295, 51, 1536, 1360, 4352, 0, 0}, {1032, 32, 1536, 1092, 4096, 0, 0}, {3855, 4709, 21845, 0, 0, 0, 0}, {3072, 4710, 17408, 0, 0, 0, 0}, {1295, 32, 1799, 1360, 4112, 0, 0}, {520, 32, 4160, 0, 0, 0, 0}, {783, 51, 4437, 0, 0, 0, 0}, {4714, 0, 0, 0, 0, 0, 0}, {19, 276, 0, 0, 0, 0, 0}, {108, 4608, 5120, 0, 0, 0, 0}, {127, 4626, 5397, 0, 0, 0, 0}, {1032, 4642, 1092, 0, 0, 0, 0}, {1295, 4656, 1360, 0, 0, 0, 0}, {2048, 4720, 16384, 0, 0, 0, 0}, {1290, 51, 1542, 1365, 4369, 0, 0}, {2570, 4722, 20560, 0, 0, 0, 0}, {1036, 51, 1792, 1088, 4352, 0, 0}, {3084, 4724, 17476, 0, 0, 0, 0}, {1290, 32, 1792, 1365, 4096, 0, 0}, {1036, 32, 1542, 1088, 4112, 0, 0}, {3840, 4727, 21760, 0, 0, 0, 0}, {4728, 0, 0, 0, 0, 0, 0}, {19, 277, 0, 0, 0, 0, 0}, {522, 32, 4176, 0, 0, 0, 0}, {780, 51, 4420, 0, 0, 0, 0}, {1036, 4656, 1088, 0, 0, 0, 0}, {1290, 4642, 1365, 0, 0, 0, 0}, {108, 4626, 5140, 0, 0, 0, 0}, {127, 4608, 5376, 0, 0, 0, 0}, {128, 4608, 16384, 0, 0, 0, 0}, {95, 51, 771, 1285, 4369, 0, 0}, {2570, 4642, 20480, 0, 0, 0, 0}, {1036, 51, 771, 1088, 4352, 0, 0}, {4680, 8772, 17476, 0, 0, 0, 0}, {4111, 32, 4613, 4176, 1285, 0, 0}, {4108, 32, 4614, 4160, 5120, 0, 0}, {4728, 8823, 21760, 0, 0, 0, 0}, {4744, 23040, 12288, 0, 0, 0, 0}, {19, 325, 1285, 4112, 0, 0, 0}, {522, 32, 4096, 0, 0, 0, 0}, {51, 771, 4420, 0, 0, 0, 0}, {1036, 5632, 1088, 0, 0, 0, 0}, {95, 4722, 1285, 0, 0, 0, 0}, {5160, 1542, 5188, 0, 0, 0, 0}, {4623, 4720, 5376, 0, 0, 0, 0}, {2560, 4656, 20560, 0, 0, 0, 0}, {1032, 51, 768, 1092, 4369, 0, 0}, {128, 4626, 16448, 0, 0, 0, 0}, {95, 51, 768, 1280, 4352, 0, 0}, {4124, 32, 4628, 4176, 5140, 0, 0}, {4714, 8789, 21845, 0, 0, 0, 0}, {4698, 8806, 17408, 0, 0, 0, 0}, {4127, 32, 4631, 4160, 1280, 0, 0}, {520, 32, 4112, 0, 0, 0, 0}, {51, 768, 4437, 0, 0, 0, 0}, {4762, 23130, 12336, 0, 0, 0, 0}, {19, 324, 1280, 4096, 0, 0, 0}, {5180, 1536, 5200, 0, 0, 0, 0}, {4637, 4706, 5397, 0, 0, 0, 0}, {1032, 5654, 1092, 0, 0, 0, 0}, {95, 4704, 1280, 0, 0, 0, 0}, {160, 4608, 20480, 0, 0, 0, 0}, {76, 51, 771, 1028, 4369, 0, 0}, {2056, 4642, 16384, 0, 0, 0, 0}, {1295, 51, 771, 1360, 4352, 0, 0}, {4108, 32, 4612, 4160, 1028, 0, 0}, {4698, 8789, 21845, 0, 0, 0, 0}, {4714, 8806, 17408, 0, 0, 0, 0}, {4111, 32, 4615, 4176, 5376, 0, 0}, {520, 32, 4096, 0, 0, 0, 0}, {51, 771, 4437, 0, 0, 0, 0}, {4778, 18432, 12288, 0, 0, 0, 0}, {19, 340, 1028, 4112, 0, 0, 0}, {4620, 4704, 5120, 0, 0, 0, 0}, {5418, 1799, 5461, 0, 0, 0, 0}, {76, 4706, 1028, 0, 0, 0, 0}, {1295, 5888, 1360, 0, 0, 0, 0}, {2048, 4656, 16448, 0, 0, 0, 0}, {1290, 51, 768, 1365, 4369, 0, 0}, {160, 4626, 20560, 0, 0, 0, 0}, {76, 51, 768, 1024, 4352, 0, 0}, {4728, 8772, 17476, 0, 0, 0, 0}, {4127, 32, 4629, 4160, 5397, 0, 0}, {4124, 32, 4630, 4176, 1024, 0, 0}, {4680, 8823, 21760, 0, 0, 0, 0}, {4792, 18504, 12336, 0, 0, 0, 0}, {19, 341, 1024, 4096, 0, 0, 0}, {522, 32, 4112, 0, 0, 0, 0}, {51, 768, 4420, 0, 0, 0, 0}, {76, 4720, 1024, 0, 0, 0, 0}, {1290, 5911, 1365, 0, 0, 0, 0}, {4638, 4722, 5140, 0, 0, 0, 0}, {5439, 1792, 5440, 0, 0, 0, 0}, {4800, 23040, 8704, 0, 0, 0, 0}, {19, 321, 1285, 4369, 0, 0, 0}, {32, 514, 4160, 0, 0, 0, 0}, {783, 51, 4352, 0, 0, 0, 0}, {1032, 5632, 1092, 0, 0, 0, 0}, {95, 4709, 1285, 0, 0, 0, 0}, {4618, 4710, 5120, 0, 0, 0, 0}, {5439, 1799, 5440, 0, 0, 0, 0}, {4680, 12352, 16448, 0, 0, 0, 0}, {4362, 51, 4613, 4437, 1285, 0, 0}, {4714, 12384, 20480, 0, 0, 0, 0}, {4360, 51, 4615, 4420, 5376, 0, 0}, {204, 4608, 17408, 0, 0, 0, 0}, {95, 32, 514, 1285, 4112, 0, 0}, {1032, 32, 514, 1092, 4096, 0, 0}, {3855, 4656, 21760, 0, 0, 0, 0}, {32, 512, 4176, 0, 0, 0, 0}, {780, 51, 4369, 0, 0, 0, 0}, {4818, 23130, 8738, 0, 0, 0, 0}, {19, 320, 1280, 4352, 0, 0, 0}, {4632, 4724, 5140, 0, 0, 0, 0}, {5418, 1792, 5461, 0, 0, 0, 0}, {1036, 5654, 1088, 0, 0, 0, 0}, {95, 4727, 1280, 0, 0, 0, 0}, {4728, 12368, 20560, 0, 0, 0, 0}, {4377, 51, 4629, 4437, 5397, 0, 0}, {4698, 12400, 16384, 0, 0, 0, 0}, {4379, 51, 4631, 4420, 1280, 0, 0}, {1036, 32, 512, 1088, 4112, 0, 0}, {3840, 4642, 21845, 0, 0, 0, 0}, {204, 4626, 17476, 0, 0, 0, 0}, {95, 32, 512, 1280, 4096, 0, 0}, {32, 512, 4160, 0, 0, 0, 0}, {783, 51, 4369, 0, 0, 0, 0}, {4834, 18504, 8738, 0, 0, 0, 0}, {19, 336, 1024, 4352, 0, 0, 0}, {5160, 1536, 5188, 0, 0, 0, 0}, {4634, 4709, 5397, 0, 0, 0, 0}, {76, 4710, 1024, 0, 0, 0, 0}, {1295, 5911, 1360, 0, 0, 0, 0}, {4680, 12384, 20480, 0, 0, 0, 0}, {4377, 51, 4630, 4437, 1024, 0, 0}, {4714, 12352, 16448, 0, 0, 0, 0}, {4379, 51, 4628, 4420, 5140, 0, 0}, {76, 32, 512, 1024, 4096, 0, 0}, {255, 4626, 21845, 0, 0, 0, 0}, {3072, 4642, 17476, 0, 0, 0, 0}, {1295, 32, 512, 1360, 4112, 0, 0}, {4848, 18432, 8704, 0, 0, 0, 0}, {19, 337, 1028, 4369, 0, 0, 0}, {32, 514, 4176, 0, 0, 0, 0}, {780, 51, 4352, 0, 0, 0, 0}, {76, 4724, 1028, 0, 0, 0, 0}, {1290, 5888, 1365, 0, 0, 0, 0}, {5180, 1542, 5200, 0, 0, 0, 0}, {4616, 4727, 5376, 0, 0, 0, 0}, {4728, 12400, 16384, 0, 0, 0, 0}, {4362, 51, 4614, 4437, 5120, 0, 0}, {4698, 12368, 20560, 0, 0, 0, 0}, {4360, 51, 4612, 4420, 1028, 0, 0}, {3084, 4656, 17408, 0, 0, 0, 0}, {1290, 32, 514, 1365, 4096, 0, 0}, {76, 32, 514, 1028, 4112, 0, 0}, {255, 4608, 21760, 0, 0, 0, 0}, {4864, 0, 0, 0, 0, 0, 0}, {18, 257, 0, 0, 0, 0, 0}, {34, 514, 4352, 0, 0, 0, 0}, {48, 771, 4096, 0, 0, 0, 0}, {72, 4868, 1028, 0, 0, 0, 0}, {90, 4869, 1285, 0, 0, 0, 0}, {106, 4870, 5376, 0, 0, 0, 0}, {120, 4871, 5120, 0, 0, 0, 0}, {4872, 13056, 17408, 0, 0, 0, 0}, {4106, 48, 771, 4176, 1285, 0, 0}, {4874, 13056, 21760, 0, 0, 0, 0}, {4104, 48, 771, 4160, 1028, 0, 0}, {4876, 8192, 16384, 0, 0, 0, 0}, {4367, 34, 514, 4437, 1285, 0, 0}, {4364, 34, 514, 4420, 1028, 0, 0}, {4879, 8192, 20480, 0, 0, 0, 0}, {48, 768, 4112, 0, 0, 0, 0}, {34, 512, 4369, 0, 0, 0, 0}, {18, 256, 0, 0, 0, 0, 0}, {4883, 0, 0, 0, 0, 0, 0}, {120, 4884, 5140, 0, 0, 0, 0}, {106, 4885, 5397, 0, 0, 0, 0}, {90, 4886, 1280, 0, 0, 0, 0}, {72, 4887, 1024, 0, 0, 0, 0}, {4120, 48, 768, 4176, 1024, 0, 0}, {4889, 13107, 21845, 0, 0, 0, 0}, {4122, 48, 768, 4160, 1280, 0, 0}, {4891, 13107, 17476, 0, 0, 0, 0}, {4892, 8224, 20560, 0, 0, 0, 0}, {4381, 34, 512, 4437, 1024, 0, 0}, {4382, 34, 512, 4420, 1280, 0, 0}, {4895, 8224, 16448, 0, 0, 0, 0}, {4896, 0, 0, 0, 0, 0, 0}, {259, 273, 0, 0, 0, 0, 0}, {34, 512, 4352, 0, 0, 0, 0}, {48, 771, 4112, 0, 0, 0, 0}, {1036, 4900, 1092, 0, 0, 0, 0}, {1295, 4901, 1365, 0, 0, 0, 0}, {1548, 4902, 5440, 0, 0, 0, 0}, {1807, 4903, 5200, 0, 0, 0, 0}, {4904, 13056, 17408, 0, 0, 0, 0}, {4122, 48, 771, 4160, 5397, 0, 0}, {4906, 13056, 21760, 0, 0, 0, 0}, {4120, 48, 771, 4176, 5140, 0, 0}, {4908, 8224, 16448, 0, 0, 0, 0}, {4367, 34, 512, 4437, 5120, 0, 0}, {4364, 34, 512, 4420, 5376, 0, 0}, {4911, 8224, 20560, 0, 0, 0, 0}, {48, 768, 4096, 0, 0, 0, 0}, {34, 514, 4369, 0, 0, 0, 0}, {258, 272, 0, 0, 0, 0, 0}, {4915, 0, 0, 0, 0, 0, 0}, {1800, 4916, 5188, 0, 0, 0, 0}, {1546, 4917, 5461, 0, 0, 0, 0}, {1290, 4918, 1360, 0, 0, 0, 0}, {1032, 4919, 1088, 0, 0, 0, 0}, {4104, 48, 768, 4160, 5120, 0, 0}, {4921, 13107, 21845, 0, 0, 0, 0}, {4106, 48, 768, 4176, 5376, 0, 0}, {4923, 13107, 17476, 0, 0, 0, 0}, {4924, 8192, 20480, 0, 0, 0, 0}, {4381, 34, 514, 4437, 5397, 0, 0}, {4382, 34, 514, 4420, 5140, 0, 0}, {4927, 8192, 16384, 0, 0, 0, 0}, {192, 4928, 16448, 0, 0, 0, 0}, {90, 34, 592, 1285, 4369, 0, 0}, {72, 34, 578, 1024, 4352, 0, 0}, {240, 4931, 20480, 0, 0, 0, 0}, {136, 4932, 17476, 0, 0, 0, 0}, {90, 48, 853, 1285, 4112, 0, 0}, {170, 4934, 21760, 0, 0, 0, 0}, {72, 48, 839, 1024, 4096, 0, 0}, {72, 4864, 1024, 0, 0, 0, 0}, {90, 4883, 1285, 0, 0, 0, 0}, {1546, 4896, 5440, 0, 0, 0, 0}, {1807, 4915, 5188, 0, 0, 0, 0}, {4940, 0, 0, 0, 0, 0, 0}, {18, 261, 0, 0, 0, 0, 0}, {522, 34, 4420, 0, 0, 0, 0}, {783, 48, 4160, 0, 0, 0, 0}, {240, 4944, 20560, 0, 0, 0, 0}, {72, 34, 576, 1028, 4369, 0, 0}, {90, 34, 594, 1280, 4352, 0, 0}, {192, 4947, 16384, 0, 0, 0, 0}, {72, 48, 836, 1028, 4112, 0, 0}, {170, 4949, 21845, 0, 0, 0, 0}, {90, 48, 854, 1280, 4096, 0, 0}, {136, 4951, 17408, 0, 0, 0, 0}, {1800, 4896, 5200, 0, 0, 0, 0}, {1548, 4915, 5461, 0, 0, 0, 0}, {90, 4864, 1280, 0, 0, 0, 0}, {72, 4883, 1028, 0, 0, 0, 0}, {780, 48, 4176, 0, 0, 0, 0}, {520, 34, 4437, 0, 0, 0, 0}, {18, 260, 0, 0, 0, 0, 0}, {4959, 0, 0, 0, 0, 0, 0}, {3072, 4960, 16384, 0, 0, 0, 0}, {1295, 34, 1799, 1365, 4369, 0, 0}, {1032, 34, 1536, 1088, 4352, 0, 0}, {3855, 4963, 20560, 0, 0, 0, 0}, {2056, 4964, 17476, 0, 0, 0, 0}, {1295, 48, 1536, 1365, 4096, 0, 0}, {2560, 4966, 21760, 0, 0, 0, 0}, {1032, 48, 1799, 1088, 4112, 0, 0}, {1032, 4896, 1088, 0, 0, 0, 0}, {1295, 4915, 1365, 0, 0, 0, 0}, {106, 4864, 5376, 0, 0, 0, 0}, {120, 4883, 5140, 0, 0, 0, 0}, {4972, 0, 0, 0, 0, 0, 0}, {18, 277, 0, 0, 0, 0, 0}, {520, 34, 4420, 0, 0, 0, 0}, {783, 48, 4176, 0, 0, 0, 0}, {3840, 4976, 20480, 0, 0, 0, 0}, {1036, 34, 1542, 1092, 4369, 0, 0}, {1290, 34, 1792, 1360, 4352, 0, 0}, {3084, 4979, 16448, 0, 0, 0, 0}, {1036, 48, 1792, 1092, 4096, 0, 0}, {2570, 4981, 21845, 0, 0, 0, 0}, {1290, 48, 1542, 1360, 4112, 0, 0}, {2048, 4983, 17408, 0, 0, 0, 0}, {120, 4864, 5120, 0, 0, 0, 0}, {106, 4883, 5397, 0, 0, 0, 0}, {1290, 4896, 1360, 0, 0, 0, 0}, {1036, 4915, 1092, 0, 0, 0, 0}, {780, 48, 4160, 0, 0, 0, 0}, {522, 34, 4437, 0, 0, 0, 0}, {18, 276, 0, 0, 0, 0, 0}, {4991, 0, 0, 0, 0, 0, 0}, {4992, 24320, 13056, 0, 0, 0, 0}, {18, 321, 1285, 4369, 0, 0, 0}, {522, 34, 4352, 0, 0, 0, 0}, {48, 771, 4160, 0, 0, 0, 0}, {1036, 5888, 1092, 0, 0, 0, 0}, {90, 4981, 1285, 0, 0, 0, 0}, {5418, 1542, 5440, 0, 0, 0, 0}, {4879, 4983, 5120, 0, 0, 0, 0}, {136, 4864, 17408, 0, 0, 0, 0}, {90, 48, 771, 1285, 4112, 0, 0}, {2570, 4896, 21760, 0, 0, 0, 0}, {1036, 48, 771, 1092, 4096, 0, 0}, {4940, 8256, 16448, 0, 0, 0, 0}, {4367, 34, 4869, 4437, 1285, 0, 0}, {4364, 34, 4870, 4420, 5376, 0, 0}, {4991, 8304, 20480, 0, 0, 0, 0}, {48, 768, 4176, 0, 0, 0, 0}, {520, 34, 4369, 0, 0, 0, 0}, {18, 320, 1280, 4352, 0, 0, 0}, {5011, 24415, 13107, 0, 0, 0, 0}, {4892, 4964, 5140, 0, 0, 0, 0}, {5439, 1536, 5461, 0, 0, 0, 0}, {90, 4966, 1280, 0, 0, 0, 0}, {1032, 5911, 1088, 0, 0, 0, 0}, {1032, 48, 768, 1088, 4112, 0, 0}, {2560, 4915, 21845, 0, 0, 0, 0}, {90, 48, 768, 1280, 4096, 0, 0}, {136, 4883, 17476, 0, 0, 0, 0}, {4972, 8272, 20560, 0, 0, 0, 0}, {4381, 34, 4885, 4437, 5397, 0, 0}, {4382, 34, 4886, 4420, 1280, 0, 0}, {4959, 8288, 16384, 0, 0, 0, 0}, {5024, 19456, 13056, 0, 0, 0, 0}, {18, 337, 1028, 4369, 0, 0, 0}, {520, 34, 4352, 0, 0, 0, 0}, {48, 771, 4176, 0, 0, 0, 0}, {72, 4964, 1028, 0, 0, 0, 0}, {1295, 5632, 1365, 0, 0, 0, 0}, {4876, 4966, 5376, 0, 0, 0, 0}, {5160, 1799, 5200, 0, 0, 0, 0}, {2056, 4896, 17408, 0, 0, 0, 0}, {1295, 48, 771, 1365, 4096, 0, 0}, {170, 4864, 21760, 0, 0, 0, 0}, {72, 48, 771, 1028, 4112, 0, 0}, {4972, 8288, 16384, 0, 0, 0, 0}, {4367, 34, 4871, 4437, 5120, 0, 0}, {4364, 34, 4868, 4420, 1028, 0, 0}, {4959, 8272, 20560, 0, 0, 0, 0}, {48, 768, 4160, 0, 0, 0, 0}, {522, 34, 4369, 0, 0, 0, 0}, {18, 336, 1024, 4352, 0, 0, 0}, {5043, 19532, 13107, 0, 0, 0, 0}, {5180, 1792, 5188, 0, 0, 0, 0}, {4895, 4981, 5397, 0, 0, 0, 0}, {1290, 5654, 1360, 0, 0, 0, 0}, {72, 4983, 1024, 0, 0, 0, 0}, {72, 48, 768, 1024, 4096, 0, 0}, {170, 4883, 21845, 0, 0, 0, 0}, {1290, 48, 768, 1360, 4112, 0, 0}, {2048, 4915, 17476, 0, 0, 0, 0}, {4940, 8304, 20480, 0, 0, 0, 0}, {4381, 34, 4887, 4437, 1024, 0, 0}, {4382, 34, 4884, 4420, 5140, 0, 0}, {4991, 8256, 16448, 0, 0, 0, 0}, {192, 4864, 16384, 0, 0, 0, 0}, {90, 34, 514, 1285, 4369, 0, 0}, {1032, 34, 514, 1088, 4352, 0, 0}, {3855, 4915, 20480, 0, 0, 0, 0}, {4940, 13124, 17476, 0, 0, 0, 0}, {4106, 48, 4869, 4176, 1285, 0, 0}, {4972, 13158, 21760, 0, 0, 0, 0}, {4104, 48, 4871, 4160, 5120, 0, 0}, {1032, 5888, 1088, 0, 0, 0, 0}, {90, 4963, 1285, 0, 0, 0, 0}, {4874, 4960, 5376, 0, 0, 0, 0}, {5180, 1799, 5188, 0, 0, 0, 0}, {5068, 24320, 8192, 0, 0, 0, 0}, {18, 325, 1285, 4112, 0, 0, 0}, {34, 514, 4420, 0, 0, 0, 0}, {783, 48, 4096, 0, 0, 0, 0}, {3840, 4896, 20560, 0, 0, 0, 0}, {1036, 34, 512, 1092, 4369, 0, 0}, {90, 34, 512, 1280, 4352, 0, 0}, {192, 4883, 16448, 0, 0, 0, 0}, {4120, 48, 4884, 4176, 5140, 0, 0}, {4991, 13141, 21845, 0, 0, 0, 0}, {4122, 48, 4886, 4160, 1280, 0, 0}, {4959, 13175, 17408, 0, 0, 0, 0}, {5160, 1792, 5200, 0, 0, 0, 0}, {4889, 4979, 5397, 0, 0, 0, 0}, {90, 4976, 1280, 0, 0, 0, 0}, {1036, 5911, 1092, 0, 0, 0, 0}, {780, 48, 4112, 0, 0, 0, 0}, {34, 512, 4437, 0, 0, 0, 0}, {18, 324, 1280, 4096, 0, 0, 0}, {5087, 24415, 8224, 0, 0, 0, 0}, {3072, 4896, 16448, 0, 0, 0, 0}, {1295, 34, 512, 1365, 4369, 0, 0}, {72, 34, 512, 1024, 4352, 0, 0}, {240, 4883, 20560, 0, 0, 0, 0}, {4972, 13124, 17476, 0, 0, 0, 0}, {4122, 48, 4885, 4160, 5397, 0, 0}, {4940, 13158, 21760, 0, 0, 0, 0}, {4120, 48, 4887, 4176, 1024, 0, 0}, {72, 4960, 1024, 0, 0, 0, 0}, {1295, 5654, 1365, 0, 0, 0, 0}, {5418, 1536, 5440, 0, 0, 0, 0}, {4891, 4963, 5140, 0, 0, 0, 0}, {5100, 19532, 8224, 0, 0, 0, 0}, {18, 341, 1024, 4096, 0, 0, 0}, {34, 512, 4420, 0, 0, 0, 0}, {783, 48, 4112, 0, 0, 0, 0}, {240, 4864, 20480, 0, 0, 0, 0}, {72, 34, 514, 1028, 4369, 0, 0}, {1290, 34, 514, 1360, 4352, 0, 0}, {3084, 4915, 16384, 0, 0, 0, 0}, {4104, 48, 4868, 4160, 1028, 0, 0}, {4959, 13141, 21845, 0, 0, 0, 0}, {4106, 48, 4870, 4176, 5376, 0, 0}, {4991, 13175, 17408, 0, 0, 0, 0}, {4872, 4976, 5120, 0, 0, 0, 0}, {5439, 1542, 5461, 0, 0, 0, 0}, {1290, 5632, 1360, 0, 0, 0, 0}, {72, 4979, 1028, 0, 0, 0, 0}, {780, 48, 4096, 0, 0, 0, 0}, {34, 514, 4437, 0, 0, 0, 0}, {18, 340, 1028, 4112, 0, 0, 0}, {5119, 19456, 8192, 0, 0, 0, 0}, {5120, 0, 0, 0, 0, 0, 0}, {21, 257, 0, 0, 0, 0, 0}, {42, 514, 5122, 0, 0, 0, 0}, {63, 771, 5123, 0, 0, 0, 0}, {64, 1028, 4096, 0, 0, 0, 0}, {85, 1285, 4352, 0, 0, 0, 0}, {106, 4608, 5126, 0, 0, 0, 0}, {127, 4864, 5127, 0, 0, 0, 0}, {5128, 8192, 20480, 0, 0, 0, 0}, {4364, 4403, 771, 85, 1285, 0, 0}, {5130, 8704, 17408, 0, 0, 0, 0}, {4111, 4144, 771, 64, 1028, 0, 0}, {5132, 12288, 20480, 0, 0, 0, 0}, {4360, 4386, 514, 85, 1285, 0, 0}, {4106, 4128, 514, 64, 1028, 0, 0}, {5135, 13056, 17408, 0, 0, 0, 0}, {64, 1024, 4112, 0, 0, 0, 0}, {85, 1280, 4369, 0, 0, 0, 0}, {106, 4626, 5138, 0, 0, 0, 0}, {127, 4883, 5139, 0, 0, 0, 0}, {5140, 0, 0, 0, 0, 0, 0}, {21, 256, 0, 0, 0, 0, 0}, {42, 512, 5142, 0, 0, 0, 0}, {63, 768, 5143, 0, 0, 0, 0}, {5144, 12336, 20560, 0, 0, 0, 0}, {4377, 4403, 512, 85, 1280, 0, 0}, {4122, 4144, 512, 64, 1024, 0, 0}, {5147, 13107, 17476, 0, 0, 0, 0}, {5148, 8224, 20560, 0, 0, 0, 0}, {4381, 4386, 768, 85, 1280, 0, 0}, {5150, 8738, 17476, 0, 0, 0, 0}, {4127, 4128, 768, 64, 1024, 0, 0}, {2048, 5152, 17408, 0, 0, 0, 0}, {1295, 1328, 771, 85, 4369, 0, 0}, {2560, 5154, 20480, 0, 0, 0, 0}, {1036, 1075, 771, 64, 4112, 0, 0}, {3084, 5156, 17476, 0, 0, 0, 0}, {1295, 1317, 512, 85, 4352, 0, 0}, {1036, 1062, 512, 64, 4096, 0, 0}, {3855, 5159, 20560, 0, 0, 0, 0}, {5160, 0, 0, 0, 0, 0, 0}, {259, 21, 0, 0, 0, 0, 0}, {42, 512, 5120, 0, 0, 0, 0}, {63, 771, 5140, 0, 0, 0, 0}, {1036, 4128, 64, 0, 0, 0, 0}, {1295, 4386, 85, 0, 0, 0, 0}, {1548, 4642, 5188, 0, 0, 0, 0}, {1807, 4896, 5200, 0, 0, 0, 0}, {3072, 5168, 17408, 0, 0, 0, 0}, {1290, 1312, 514, 85, 4369, 0, 0}, {1032, 1058, 514, 64, 4112, 0, 0}, {3840, 5171, 20480, 0, 0, 0, 0}, {2056, 5172, 17476, 0, 0, 0, 0}, {1290, 1333, 768, 85, 4352, 0, 0}, {2570, 5174, 20560, 0, 0, 0, 0}, {1032, 1079, 768, 64, 4096, 0, 0}, {1032, 4144, 64, 0, 0, 0, 0}, {1290, 4403, 85, 0, 0, 0, 0}, {1546, 4656, 5200, 0, 0, 0, 0}, {1800, 4915, 5188, 0, 0, 0, 0}, {5180, 0, 0, 0, 0, 0, 0}, {258, 21, 0, 0, 0, 0, 0}, {42, 514, 5140, 0, 0, 0, 0}, {63, 768, 5120, 0, 0, 0, 0}, {64, 1024, 4096, 0, 0, 0, 0}, {85, 1285, 4369, 0, 0, 0, 0}, {1546, 4642, 5186, 0, 0, 0, 0}, {1807, 4915, 5187, 0, 0, 0, 0}, {5188, 0, 0, 0, 0, 0, 0}, {261, 272, 0, 0, 0, 0, 0}, {522, 544, 5190, 0, 0, 0, 0}, {783, 816, 5191, 0, 0, 0, 0}, {5192, 12288, 20480, 0, 0, 0, 0}, {4377, 4403, 4883, 85, 1285, 0, 0}, {4106, 4128, 4608, 64, 1024, 0, 0}, {5195, 13107, 17476, 0, 0, 0, 0}, {5196, 8192, 20480, 0, 0, 0, 0}, {4381, 4386, 4626, 85, 1285, 0, 0}, {5198, 8738, 17476, 0, 0, 0, 0}, {4111, 4144, 4864, 64, 1024, 0, 0}, {5200, 0, 0, 0, 0, 0, 0}, {260, 273, 0, 0, 0, 0, 0}, {520, 546, 5202, 0, 0, 0, 0}, {780, 819, 5203, 0, 0, 0, 0}, {64, 1028, 4112, 0, 0, 0, 0}, {85, 1280, 4352, 0, 0, 0, 0}, {1548, 4656, 5206, 0, 0, 0, 0}, {1800, 4896, 5207, 0, 0, 0, 0}, {5208, 8224, 20560, 0, 0, 0, 0}, {4364, 4403, 4608, 85, 1280, 0, 0}, {5210, 8704, 17408, 0, 0, 0, 0}, {4127, 4128, 4883, 64, 1028, 0, 0}, {5212, 12336, 20560, 0, 0, 0, 0}, {4360, 4386, 4864, 85, 1280, 0, 0}, {4122, 4144, 4626, 64, 1028, 0, 0}, {5215, 13056, 17408, 0, 0, 0, 0}, {3072, 5216, 17408, 0, 0, 0, 0}, {1295, 1317, 1799, 85, 4369, 0, 0}, {1032, 1058, 1536, 64, 4096, 0, 0}, {3855, 5219, 20560, 0, 0, 0, 0}, {2056, 5220, 17476, 0, 0, 0, 0}, {1295, 1328, 1536, 85, 4352, 0, 0}, {2560, 5222, 20480, 0, 0, 0, 0}, {1032, 1079, 1799, 64, 4112, 0, 0}, {1032, 4128, 64, 0, 0, 0, 0}, {1295, 4403, 85, 0, 0, 0, 0}, {106, 4608, 5120, 0, 0, 0, 0}, {127, 4883, 5140, 0, 0, 0, 0}, {5228, 0, 0, 0, 0, 0, 0}, {274, 21, 0, 0, 0, 0, 0}, {520, 546, 5188, 0, 0, 0, 0}, {783, 816, 5200, 0, 0, 0, 0}, {2048, 5232, 17408, 0, 0, 0, 0}, {1290, 1333, 1542, 85, 4369, 0, 0}, {2570, 5234, 20560, 0, 0, 0, 0}, {1036, 1075, 1792, 64, 4096, 0, 0}, {3084, 5236, 17476, 0, 0, 0, 0}, {1290, 1312, 1792, 85, 4352, 0, 0}, {1036, 1062, 1542, 64, 4112, 0, 0}, {3840, 5239, 20480, 0, 0, 0, 0}, {5240, 0, 0, 0, 0, 0, 0}, {275, 21, 0, 0, 0, 0, 0}, {522, 544, 5200, 0, 0, 0, 0}, {780, 819, 5188, 0, 0, 0, 0}, {1036, 4144, 64, 0, 0, 0, 0}, {1290, 4386, 85, 0, 0, 0, 0}, {106, 4626, 5140, 0, 0, 0, 0}, {127, 4864, 5120, 0, 0, 0, 0}, {128, 8192, 5120, 0, 0, 0, 0}, {63, 771, 85, 1285, 4369, 0, 0}, {5160, 8738, 17442, 0, 0, 0, 0}, {4111, 4144, 771, 64, 5123, 0, 0}, {3084, 12288, 5188, 0, 0, 0, 0}, {522, 544, 85, 1285, 4352, 0, 0}, {4106, 4128, 4608, 64, 5126, 0, 0}, {5240, 13056, 17527, 0, 0, 0, 0}, {5256, 15360, 20480, 0, 0, 0, 0}, {291, 771, 21, 4112, 0, 0, 0}, {5130, 5152, 5632, 17408, 0, 0, 0}, {5195, 5236, 771, 17476, 0, 0, 0}, {1036, 64, 4096, 0, 0, 0, 0}, {4386, 85, 1285, 0, 0, 0, 0}, {5198, 5156, 1542, 17476, 0, 0, 0}, {5135, 5232, 4864, 17408, 0, 0, 0}, {3072, 12336, 5200, 0, 0, 0, 0}, {520, 546, 85, 1280, 4369, 0, 0}, {4122, 4144, 4626, 64, 5138, 0, 0}, {5228, 13107, 17459, 0, 0, 0, 0}, {128, 8224, 5140, 0, 0, 0, 0}, {63, 768, 85, 1280, 4352, 0, 0}, {5180, 8704, 17510, 0, 0, 0, 0}, {4127, 4128, 768, 64, 5143, 0, 0}, {1032, 64, 4112, 0, 0, 0, 0}, {4403, 85, 1280, 0, 0, 0, 0}, {5210, 5168, 1536, 17408, 0, 0, 0}, {5147, 5220, 4883, 17476, 0, 0, 0}, {5276, 15420, 20560, 0, 0, 0, 0}, {290, 768, 21, 4096, 0, 0, 0}, {5150, 5172, 5654, 17476, 0, 0, 0}, {5215, 5216, 768, 17408, 0, 0, 0}, {5280, 15360, 17408, 0, 0, 0, 0}, {289, 771, 21, 4369, 0, 0, 0}, {5128, 5154, 5632, 20480, 0, 0, 0}, {5212, 5219, 771, 20560, 0, 0, 0}, {4128, 64, 1028, 0, 0, 0, 0}, {1295, 85, 4352, 0, 0, 0, 0}, {5132, 5222, 4608, 20480, 0, 0, 0}, {5208, 5159, 1799, 20560, 0, 0, 0}, {5160, 8224, 20512, 0, 0, 0, 0}, {4364, 4403, 771, 85, 5123, 0, 0}, {170, 8704, 5120, 0, 0, 0, 0}, {63, 771, 64, 1028, 4112, 0, 0}, {5228, 12288, 20576, 0, 0, 0, 0}, {4360, 4386, 4864, 85, 5127, 0, 0}, {520, 546, 64, 1028, 4096, 0, 0}, {3855, 13056, 5200, 0, 0, 0, 0}, {4144, 64, 1024, 0, 0, 0, 0}, {1290, 85, 4369, 0, 0, 0, 0}, {5144, 5234, 4626, 20560, 0, 0, 0}, {5196, 5171, 1792, 20480, 0, 0, 0}, {5300, 15420, 17476, 0, 0, 0, 0}, {288, 768, 21, 4352, 0, 0, 0}, {5148, 5174, 5654, 20560, 0, 0, 0}, {5192, 5239, 768, 20480, 0, 0, 0}, {5240, 12336, 20528, 0, 0, 0, 0}, {4377, 4403, 4883, 85, 5139, 0, 0}, {522, 544, 64, 1024, 4112, 0, 0}, {3840, 13107, 5188, 0, 0, 0, 0}, {5180, 8192, 20592, 0, 0, 0, 0}, {4381, 4386, 768, 85, 5143, 0, 0}, {170, 8738, 5140, 0, 0, 0, 0}, {63, 768, 64, 1024, 4096, 0, 0}, {192, 12288, 5120, 0, 0, 0, 0}, {42, 514, 85, 1285, 4369, 0, 0}, {4106, 4128, 514, 64, 5122, 0, 0}, {5180, 13107, 17459, 0, 0, 0, 0}, {2056, 8192, 5188, 0, 0, 0, 0}, {783, 816, 85, 1285, 4352, 0, 0}, {5228, 8704, 17510, 0, 0, 0, 0}, {4111, 4144, 4864, 64, 5127, 0, 0}, {1032, 64, 4096, 0, 0, 0, 0}, {4403, 85, 1285, 0, 0, 0, 0}, {5130, 5216, 4608, 17408, 0, 0, 0}, {5195, 5172, 1799, 17476, 0, 0, 0}, {5324, 10240, 20480, 0, 0, 0, 0}, {306, 514, 21, 4112, 0, 0, 0}, {5198, 5220, 514, 17476, 0, 0, 0}, {5135, 5168, 5888, 17408, 0, 0, 0}, {2048, 8224, 5200, 0, 0, 0, 0}, {780, 819, 85, 1280, 4369, 0, 0}, {5240, 8738, 17442, 0, 0, 0, 0}, {4127, 4128, 4883, 64, 5139, 0, 0}, {192, 12336, 5140, 0, 0, 0, 0}, {42, 512, 85, 1280, 4352, 0, 0}, {4122, 4144, 512, 64, 5142, 0, 0}, {5160, 13056, 17527, 0, 0, 0, 0}, {5336, 10280, 20560, 0, 0, 0, 0}, {307, 512, 21, 4096, 0, 0, 0}, {5210, 5232, 512, 17408, 0, 0, 0}, {5147, 5156, 5911, 17476, 0, 0, 0}, {1036, 64, 4112, 0, 0, 0, 0}, {4386, 85, 1280, 0, 0, 0, 0}, {5150, 5236, 4626, 17476, 0, 0, 0}, {5215, 5152, 1792, 17408, 0, 0, 0}, {4128, 64, 1024, 0, 0, 0, 0}, {1295, 85, 4369, 0, 0, 0, 0}, {5192, 5154, 1536, 20480, 0, 0, 0}, {5148, 5219, 4883, 20560, 0, 0, 0}, {5348, 10280, 17476, 0, 0, 0, 0}, {304, 512, 21, 4352, 0, 0, 0}, {5196, 5222, 512, 20480, 0, 0, 0}, {5144, 5159, 5911, 20560, 0, 0, 0}, {5160, 12288, 20576, 0, 0, 0, 0}, {4377, 4403, 512, 85, 5142, 0, 0}, {42, 512, 64, 1024, 4096, 0, 0}, {255, 13107, 5140, 0, 0, 0, 0}, {5228, 8224, 20512, 0, 0, 0, 0}, {4381, 4386, 4626, 85, 5138, 0, 0}, {2560, 8738, 5188, 0, 0, 0, 0}, {783, 816, 64, 1024, 4112, 0, 0}, {5360, 10240, 17408, 0, 0, 0, 0}, {305, 514, 21, 4369, 0, 0, 0}, {5208, 5234, 514, 20560, 0, 0, 0}, {5132, 5171, 5888, 20480, 0, 0, 0}, {4144, 64, 1028, 0, 0, 0, 0}, {1290, 85, 4352, 0, 0, 0, 0}, {5212, 5174, 1542, 20560, 0, 0, 0}, {5128, 5239, 4864, 20480, 0, 0, 0}, {5240, 8192, 20592, 0, 0, 0, 0}, {4364, 4403, 4608, 85, 5126, 0, 0}, {2570, 8704, 5200, 0, 0, 0, 0}, {780, 819, 64, 1028, 4096, 0, 0}, {5180, 12336, 20528, 0, 0, 0, 0}, {4360, 4386, 514, 85, 5122, 0, 0}, {42, 514, 64, 1028, 4112, 0, 0}, {255, 13056, 5120, 0, 0, 0, 0}, {5376, 0, 0, 0, 0, 0, 0}, {20, 257, 0, 0, 0, 0, 0}, {40, 514, 5378, 0, 0, 0, 0}, {60, 771, 5379, 0, 0, 0, 0}, {68, 1028, 4352, 0, 0, 0, 0}, {80, 1285, 4096, 0, 0, 0, 0}, {108, 4864, 5382, 0, 0, 0, 0}, {120, 4608, 5383, 0, 0, 0, 0}, {5384, 8704, 21760, 0, 0, 0, 0}, {4108, 4144, 771, 80, 1285, 0, 0}, {5386, 8192, 16384, 0, 0, 0, 0}, {4367, 4403, 771, 68, 1028, 0, 0}, {5388, 13056, 21760, 0, 0, 0, 0}, {4104, 4128, 514, 80, 1285, 0, 0}, {4362, 4386, 514, 68, 1028, 0, 0}, {5391, 12288, 16384, 0, 0, 0, 0}, {80, 1280, 4112, 0, 0, 0, 0}, {68, 1024, 4369, 0, 0, 0, 0}, {120, 4626, 5394, 0, 0, 0, 0}, {108, 4883, 5395, 0, 0, 0, 0}, {20, 256, 0, 0, 0, 0, 0}, {5397, 0, 0, 0, 0, 0, 0}, {60, 768, 5398, 0, 0, 0, 0}, {40, 512, 5399, 0, 0, 0, 0}, {4120, 4144, 512, 80, 1280, 0, 0}, {5401, 13107, 21845, 0, 0, 0, 0}, {5402, 12336, 16448, 0, 0, 0, 0}, {4379, 4403, 512, 68, 1024, 0, 0}, {4124, 4128, 768, 80, 1280, 0, 0}, {5405, 8738, 21845, 0, 0, 0, 0}, {4382, 4386, 768, 68, 1024, 0, 0}, {5407, 8224, 16448, 0, 0, 0, 0}, {2560, 5408, 21760, 0, 0, 0, 0}, {1036, 1072, 771, 68, 4369, 0, 0}, {2048, 5410, 16384, 0, 0, 0, 0}, {1295, 1331, 771, 80, 4112, 0, 0}, {1036, 1060, 512, 68, 4352, 0, 0}, {3855, 5413, 21845, 0, 0, 0, 0}, {3084, 5414, 16448, 0, 0, 0, 0}, {1295, 1319, 512, 80, 4096, 0, 0}, {40, 512, 5376, 0, 0, 0, 0}, {60, 771, 5397, 0, 0, 0, 0}, {5418, 0, 0, 0, 0, 0, 0}, {259, 20, 0, 0, 0, 0, 0}, {1548, 4896, 5440, 0, 0, 0, 0}, {1807, 4642, 5461, 0, 0, 0, 0}, {1036, 4386, 68, 0, 0, 0, 0}, {1295, 4128, 80, 0, 0, 0, 0}, {3840, 5424, 21760, 0, 0, 0, 0}, {1032, 1056, 514, 68, 4369, 0, 0}, {1290, 1314, 514, 80, 4112, 0, 0}, {3072, 5427, 16384, 0, 0, 0, 0}, {1032, 1076, 768, 68, 4352, 0, 0}, {2570, 5429, 21845, 0, 0, 0, 0}, {1290, 1334, 768, 80, 4096, 0, 0}, {2056, 5431, 16448, 0, 0, 0, 0}, {1800, 4656, 5440, 0, 0, 0, 0}, {1546, 4915, 5461, 0, 0, 0, 0}, {1290, 4144, 80, 0, 0, 0, 0}, {1032, 4403, 68, 0, 0, 0, 0}, {60, 768, 5376, 0, 0, 0, 0}, {40, 514, 5397, 0, 0, 0, 0}, {258, 20, 0, 0, 0, 0, 0}, {5439, 0, 0, 0, 0, 0, 0}, {5440, 0, 0, 0, 0, 0, 0}, {261, 273, 0, 0, 0, 0, 0}, {522, 546, 5442, 0, 0, 0, 0}, {783, 819, 5443, 0, 0, 0, 0}, {68, 1024, 4352, 0, 0, 0, 0}, {80, 1285, 4112, 0, 0, 0, 0}, {1546, 4896, 5446, 0, 0, 0, 0}, {1807, 4656, 5447, 0, 0, 0, 0}, {5448, 8704, 21760, 0, 0, 0, 0}, {4124, 4128, 4883, 80, 1285, 0, 0}, {5450, 8224, 16448, 0, 0, 0, 0}, {4367, 4403, 4608, 68, 1024, 0, 0}, {5452, 13056, 21760, 0, 0, 0, 0}, {4120, 4144, 4626, 80, 1285, 0, 0}, {4362, 4386, 4864, 68, 1024, 0, 0}, {5455, 12336, 16448, 0, 0, 0, 0}, {80, 1280, 4096, 0, 0, 0, 0}, {68, 1028, 4369, 0, 0, 0, 0}, {1800, 4642, 5458, 0, 0, 0, 0}, {1548, 4915, 5459, 0, 0, 0, 0}, {260, 272, 0, 0, 0, 0, 0}, {5461, 0, 0, 0, 0, 0, 0}, {780, 816, 5462, 0, 0, 0, 0}, {520, 544, 5463, 0, 0, 0, 0}, {4104, 4128, 4608, 80, 1280, 0, 0}, {5465, 13107, 21845, 0, 0, 0, 0}, {5466, 12288, 16384, 0, 0, 0, 0}, {4379, 4403, 4883, 68, 1028, 0, 0}, {4108, 4144, 4864, 80, 1280, 0, 0}, {5469, 8738, 21845, 0, 0, 0, 0}, {4382, 4386, 4626, 68, 1028, 0, 0}, {5471, 8192, 16384, 0, 0, 0, 0}, {2560, 5472, 21760, 0, 0, 0, 0}, {1032, 1076, 1799, 68, 4369, 0, 0}, {2056, 5474, 16448, 0, 0, 0, 0}, {1295, 1331, 1536, 80, 4096, 0, 0}, {1032, 1056, 1536, 68, 4352, 0, 0}, {3855, 5477, 21845, 0, 0, 0, 0}, {3072, 5478, 16384, 0, 0, 0, 0}, {1295, 1319, 1799, 80, 4112, 0, 0}, {520, 544, 5440, 0, 0, 0, 0}, {783, 819, 5461, 0, 0, 0, 0}, {5482, 0, 0, 0, 0, 0, 0}, {275, 20, 0, 0, 0, 0, 0}, {108, 4864, 5376, 0, 0, 0, 0}, {120, 4626, 5397, 0, 0, 0, 0}, {1032, 4386, 68, 0, 0, 0, 0}, {1295, 4144, 80, 0, 0, 0, 0}, {3840, 5488, 21760, 0, 0, 0, 0}, {1036, 1060, 1542, 68, 4369, 0, 0}, {1290, 1314, 1792, 80, 4096, 0, 0}, {3084, 5491, 16448, 0, 0, 0, 0}, {1036, 1072, 1792, 68, 4352, 0, 0}, {2570, 5493, 21845, 0, 0, 0, 0}, {1290, 1334, 1542, 80, 4112, 0, 0}, {2048, 5495, 16384, 0, 0, 0, 0}, {120, 4608, 5376, 0, 0, 0, 0}, {108, 4883, 5397, 0, 0, 0, 0}, {1290, 4128, 80, 0, 0, 0, 0}, {1036, 4403, 68, 0, 0, 0, 0}, {780, 816, 5440, 0, 0, 0, 0}, {522, 546, 5461, 0, 0, 0, 0}, {274, 20, 0, 0, 0, 0, 0}, {5503, 0, 0, 0, 0, 0, 0}, {5504, 16128, 21760, 0, 0, 0, 0}, {289, 771, 20, 4369, 0, 0, 0}, {5386, 5410, 5888, 16384, 0, 0, 0}, {5455, 5491, 771, 16448, 0, 0, 0}, {1036, 68, 4352, 0, 0, 0, 0}, {4128, 80, 1285, 0, 0, 0, 0}, {5450, 5414, 1542, 16448, 0, 0, 0}, {5391, 5495, 4608, 16384, 0, 0, 0}, {136, 8704, 5376, 0, 0, 0, 0}, {60, 771, 80, 1285, 4112, 0, 0}, {5418, 8224, 16416, 0, 0, 0, 0}, {4367, 4403, 771, 68, 5379, 0, 0}, {3084, 13056, 5440, 0, 0, 0, 0}, {522, 546, 80, 1285, 4096, 0, 0}, {4362, 4386, 4864, 68, 5382, 0, 0}, {5503, 12288, 16496, 0, 0, 0, 0}, {4144, 80, 1280, 0, 0, 0, 0}, {1032, 68, 4369, 0, 0, 0, 0}, {5402, 5474, 4626, 16448, 0, 0, 0}, {5471, 5427, 1536, 16384, 0, 0, 0}, {288, 768, 20, 4352, 0, 0, 0}, {5525, 16191, 21845, 0, 0, 0, 0}, {5466, 5478, 768, 16384, 0, 0, 0}, {5407, 5431, 5911, 16448, 0, 0, 0}, {520, 544, 80, 1280, 4112, 0, 0}, {3072, 13107, 5461, 0, 0, 0, 0}, {5482, 12336, 16432, 0, 0, 0, 0}, {4379, 4403, 4883, 68, 5395, 0, 0}, {60, 768, 80, 1280, 4096, 0, 0}, {136, 8738, 5397, 0, 0, 0, 0}, {4382, 4386, 768, 68, 5398, 0, 0}, {5439, 8192, 16480, 0, 0, 0, 0}, {160, 8192, 5376, 0, 0, 0, 0}, {60, 771, 68, 1028, 4369, 0, 0}, {5418, 8738, 21794, 0, 0, 0, 0}, {4108, 4144, 771, 80, 5379, 0, 0}, {520, 544, 68, 1028, 4352, 0, 0}, {3855, 12288, 5461, 0, 0, 0, 0}, {5482, 13056, 21862, 0, 0, 0, 0}, {4104, 4128, 4608, 80, 5383, 0, 0}, {5384, 5408, 5888, 21760, 0, 0, 0}, {5465, 5477, 771, 21845, 0, 0, 0}, {5546, 16128, 16384, 0, 0, 0, 0}, {291, 771, 20, 4112, 0, 0, 0}, {5388, 5472, 4864, 21760, 0, 0, 0}, {5469, 5413, 1799, 21845, 0, 0, 0}, {4386, 68, 1028, 0, 0, 0, 0}, {1295, 80, 4096, 0, 0, 0, 0}, {3840, 12336, 5440, 0, 0, 0, 0}, {522, 546, 68, 1024, 4369, 0, 0}, {4120, 4144, 4626, 80, 5394, 0, 0}, {5503, 13107, 21811, 0, 0, 0, 0}, {60, 768, 68, 1024, 4352, 0, 0}, {160, 8224, 5397, 0, 0, 0, 0}, {4124, 4128, 768, 80, 5398, 0, 0}, {5439, 8704, 21879, 0, 0, 0, 0}, {5448, 5424, 1792, 21760, 0, 0, 0}, {5401, 5493, 4883, 21845, 0, 0, 0}, {1290, 80, 4112, 0, 0, 0, 0}, {4403, 68, 1024, 0, 0, 0, 0}, {5452, 5488, 768, 21760, 0, 0, 0}, {5405, 5429, 5911, 21845, 0, 0, 0}, {290, 768, 20, 4096, 0, 0, 0}, {5567, 16191, 16448, 0, 0, 0, 0}, {5568, 10752, 21760, 0, 0, 0, 0}, {305, 514, 20, 4369, 0, 0, 0}, {5450, 5474, 514, 16448, 0, 0, 0}, {5391, 5427, 5632, 16384, 0, 0, 0}, {1032, 68, 4352, 0, 0, 0, 0}, {4144, 80, 1285, 0, 0, 0, 0}, {5386, 5478, 4864, 16384, 0, 0, 0}, {5455, 5431, 1799, 16448, 0, 0, 0}, {2056, 8704, 5440, 0, 0, 0, 0}, {783, 819, 80, 1285, 4096, 0, 0}, {5482, 8192, 16480, 0, 0, 0, 0}, {4367, 4403, 4608, 68, 5383, 0, 0}, {204, 13056, 5376, 0, 0, 0, 0}, {40, 514, 80, 1285, 4112, 0, 0}, {4362, 4386, 514, 68, 5378, 0, 0}, {5439, 12336, 16432, 0, 0, 0, 0}, {4128, 80, 1280, 0, 0, 0, 0}, {1036, 68, 4369, 0, 0, 0, 0}, {5466, 5410, 1792, 16384, 0, 0, 0}, {5407, 5491, 4883, 16448, 0, 0, 0}, {304, 512, 20, 4352, 0, 0, 0}, {5589, 10794, 21845, 0, 0, 0, 0}, {5402, 5414, 5654, 16448, 0, 0, 0}, {5471, 5495, 512, 16384, 0, 0, 0}, {40, 512, 80, 1280, 4096, 0, 0}, {204, 13107, 5397, 0, 0, 0, 0}, {5418, 12288, 16496, 0, 0, 0, 0}, {4379, 4403, 512, 68, 5399, 0, 0}, {780, 816, 80, 1280, 4112, 0, 0}, {2048, 8738, 5461, 0, 0, 0, 0}, {4382, 4386, 4626, 68, 5394, 0, 0}, {5503, 8224, 16416, 0, 0, 0, 0}, {2560, 8224, 5440, 0, 0, 0, 0}, {783, 819, 68, 1024, 4369, 0, 0}, {5482, 8738, 21794, 0, 0, 0, 0}, {4124, 4128, 4883, 80, 5395, 0, 0}, {40, 512, 68, 1024, 4352, 0, 0}, {240, 12336, 5397, 0, 0, 0, 0}, {5418, 13056, 21862, 0, 0, 0, 0}, {4120, 4144, 512, 80, 5399, 0, 0}, {5448, 5472, 512, 21760, 0, 0, 0}, {5401, 5413, 5654, 21845, 0, 0, 0}, {5610, 10794, 16448, 0, 0, 0, 0}, {307, 512, 20, 4096, 0, 0, 0}, {5452, 5408, 1536, 21760, 0, 0, 0}, {5405, 5477, 4626, 21845, 0, 0, 0}, {4386, 68, 1024, 0, 0, 0, 0}, {1295, 80, 4112, 0, 0, 0, 0}, {240, 12288, 5376, 0, 0, 0, 0}, {40, 514, 68, 1028, 4369, 0, 0}, {4104, 4128, 514, 80, 5378, 0, 0}, {5439, 13107, 21811, 0, 0, 0, 0}, {780, 816, 68, 1028, 4352, 0, 0}, {2570, 8192, 5461, 0, 0, 0, 0}, {4108, 4144, 4864, 80, 5382, 0, 0}, {5503, 8704, 21879, 0, 0, 0, 0}, {5384, 5488, 4608, 21760, 0, 0, 0}, {5465, 5429, 1542, 21845, 0, 0, 0}, {1290, 80, 4096, 0, 0, 0, 0}, {4403, 68, 1028, 0, 0, 0, 0}, {5388, 5424, 5632, 21760, 0, 0, 0}, {5469, 5493, 514, 21845, 0, 0, 0}, {306, 514, 20, 4112, 0, 0, 0}, {5631, 10752, 16384, 0, 0, 0, 0}, {5632, 0, 0, 0, 0, 0, 0}, {23, 257, 0, 0, 0, 0, 0}, {40, 514, 5120, 0, 0, 0, 0}, {63, 771, 5376, 0, 0, 0, 0}, {72, 4608, 1028, 0, 0, 0, 0}, {95, 4864, 1285, 0, 0, 0, 0}, {96, 1542, 4096, 0, 0, 0, 0}, {119, 1799, 4352, 0, 0, 0, 0}, {5640, 8704, 17408, 0, 0, 0, 0}, {4111, 4144, 771, 4176, 1285, 0, 0}, {5642, 8192, 20480, 0, 0, 0, 0}, {4364, 4403, 771, 4420, 1028, 0, 0}, {5644, 12288, 16384, 0, 0, 0, 0}, {4362, 4386, 514, 4437, 1285, 0, 0}, {4104, 4128, 514, 4160, 1028, 0, 0}, {5647, 13056, 21760, 0, 0, 0, 0}, {96, 1536, 4112, 0, 0, 0, 0}, {119, 1792, 4369, 0, 0, 0, 0}, {72, 4626, 1024, 0, 0, 0, 0}, {95, 4883, 1280, 0, 0, 0, 0}, {40, 512, 5140, 0, 0, 0, 0}, {63, 768, 5397, 0, 0, 0, 0}, {5654, 0, 0, 0, 0, 0, 0}, {23, 256, 0, 0, 0, 0, 0}, {4120, 4144, 512, 4176, 1024, 0, 0}, {5657, 13107, 21845, 0, 0, 0, 0}, {5658, 12336, 16448, 0, 0, 0, 0}, {4379, 4403, 512, 4420, 1280, 0, 0}, {5660, 8224, 20560, 0, 0, 0, 0}, {4381, 4386, 768, 4437, 1024, 0, 0}, {5662, 8738, 17476, 0, 0, 0, 0}, {4127, 4128, 768, 4160, 1280, 0, 0}, {2560, 5664, 20480, 0, 0, 0, 0}, {1036, 1075, 771, 1092, 4369, 0, 0}, {2048, 5666, 17408, 0, 0, 0, 0}, {1295, 1328, 771, 1360, 4112, 0, 0}, {1036, 1060, 512, 1092, 4096, 0, 0}, {3855, 5669, 21845, 0, 0, 0, 0}, {3084, 5670, 16448, 0, 0, 0, 0}, {1295, 1319, 512, 1360, 4352, 0, 0}, {40, 512, 5120, 0, 0, 0, 0}, {63, 771, 5397, 0, 0, 0, 0}, {5674, 0, 0, 0, 0, 0, 0}, {259, 276, 0, 0, 0, 0, 0}, {1548, 4128, 4160, 0, 0, 0, 0}, {1807, 4386, 4437, 0, 0, 0, 0}, {1036, 4642, 1092, 0, 0, 0, 0}, {1295, 4896, 1360, 0, 0, 0, 0}, {3072, 5680, 16384, 0, 0, 0, 0}, {1290, 1314, 514, 1365, 4369, 0, 0}, {1032, 1056, 514, 1088, 4112, 0, 0}, {3840, 5683, 21760, 0, 0, 0, 0}, {2056, 5684, 17476, 0, 0, 0, 0}, {1290, 1333, 768, 1365, 4096, 0, 0}, {2570, 5686, 20560, 0, 0, 0, 0}, {1032, 1079, 768, 1088, 4352, 0, 0}, {1032, 4656, 1088, 0, 0, 0, 0}, {1290, 4915, 1365, 0, 0, 0, 0}, {1546, 4144, 4176, 0, 0, 0, 0}, {1800, 4403, 4420, 0, 0, 0, 0}, {5692, 0, 0, 0, 0, 0, 0}, {258, 277, 0, 0, 0, 0, 0}, {40, 514, 5140, 0, 0, 0, 0}, {63, 768, 5376, 0, 0, 0, 0}, {192, 5696, 16448, 0, 0, 0, 0}, {95, 119, 597, 1285, 4369, 0, 0}, {72, 96, 578, 1024, 4096, 0, 0}, {255, 5699, 21760, 0, 0, 0, 0}, {136, 5700, 17476, 0, 0, 0, 0}, {95, 96, 848, 1285, 4112, 0, 0}, {160, 5702, 20480, 0, 0, 0, 0}, {72, 119, 839, 1024, 4352, 0, 0}, {72, 4608, 1024, 0, 0, 0, 0}, {95, 4883, 1285, 0, 0, 0, 0}, {1546, 4128, 4160, 0, 0, 0, 0}, {1807, 4403, 4420, 0, 0, 0, 0}, {5708, 0, 0, 0, 0, 0, 0}, {274, 261, 0, 0, 0, 0, 0}, {522, 546, 5188, 0, 0, 0, 0}, {783, 816, 5440, 0, 0, 0, 0}, {160, 5712, 20560, 0, 0, 0, 0}, {72, 119, 836, 1028, 4369, 0, 0}, {136, 5714, 17408, 0, 0, 0, 0}, {95, 96, 851, 1280, 4096, 0, 0}, {72, 96, 576, 1028, 4112, 0, 0}, {255, 5717, 21845, 0, 0, 0, 0}, {192, 5718, 16384, 0, 0, 0, 0}, {95, 119, 599, 1280, 4352, 0, 0}, {520, 544, 5200, 0, 0, 0, 0}, {780, 819, 5461, 0, 0, 0, 0}, {5722, 0, 0, 0, 0, 0, 0}, {275, 260, 0, 0, 0, 0, 0}, {1548, 4144, 4176, 0, 0, 0, 0}, {1800, 4386, 4437, 0, 0, 0, 0}, {72, 4626, 1028, 0, 0, 0, 0}, {95, 4864, 1280, 0, 0, 0, 0}, {96, 1536, 4096, 0, 0, 0, 0}, {119, 1799, 4369, 0, 0, 0, 0}, {1032, 4642, 1088, 0, 0, 0, 0}, {1295, 4915, 1360, 0, 0, 0, 0}, {520, 544, 5188, 0, 0, 0, 0}, {783, 816, 5461, 0, 0, 0, 0}, {5734, 0, 0, 0, 0, 0, 0}, {263, 272, 0, 0, 0, 0, 0}, {4104, 4128, 4608, 4160, 5120, 0, 0}, {5737, 13107, 21845, 0, 0, 0, 0}, {5738, 12288, 16384, 0, 0, 0, 0}, {4379, 4403, 4883, 4420, 5140, 0, 0}, {5740, 8192, 20480, 0, 0, 0, 0}, {4381, 4386, 4626, 4437, 5397, 0, 0}, {5742, 8738, 17476, 0, 0, 0, 0}, {4111, 4144, 4864, 4176, 5376, 0, 0}, {5744, 0, 0, 0, 0, 0, 0}, {262, 273, 0, 0, 0, 0, 0}, {522, 546, 5200, 0, 0, 0, 0}, {780, 819, 5440, 0, 0, 0, 0}, {1036, 4656, 1092, 0, 0, 0, 0}, {1290, 4896, 1365, 0, 0, 0, 0}, {96, 1542, 4112, 0, 0, 0, 0}, {119, 1792, 4352, 0, 0, 0, 0}, {5752, 8704, 17408, 0, 0, 0, 0}, {4127, 4128, 4883, 4160, 5397, 0, 0}, {5754, 8224, 20560, 0, 0, 0, 0}, {4364, 4403, 4608, 4420, 5376, 0, 0}, {5756, 12336, 16448, 0, 0, 0, 0}, {4362, 4386, 4864, 4437, 5120, 0, 0}, {4120, 4144, 4626, 4176, 5140, 0, 0}, {5759, 13056, 21760, 0, 0, 0, 0}, {5760, 23040, 26112, 0, 0, 0, 0}, {23, 321, 1285, 4369, 0, 0, 0}, {522, 546, 5120, 0, 0, 0, 0}, {63, 771, 5440, 0, 0, 0, 0}, {1036, 4608, 1092, 0, 0, 0, 0}, {95, 4896, 1285, 0, 0, 0, 0}, {4128, 1542, 4160, 0, 0, 0, 0}, {1807, 119, 4352, 0, 0, 0, 0}, {136, 5632, 17408, 0, 0, 0, 0}, {95, 96, 771, 1285, 4112, 0, 0}, {5674, 8224, 20480, 0, 0, 0, 0}, {4364, 4403, 771, 4420, 5376, 0, 0}, {5708, 12288, 16448, 0, 0, 0, 0}, {4362, 4386, 4864, 4437, 1285, 0, 0}, {1036, 1060, 1542, 1092, 4096, 0, 0}, {3855, 5744, 21760, 0, 0, 0, 0}, {4144, 1536, 4176, 0, 0, 0, 0}, {1800, 119, 4369, 0, 0, 0, 0}, {1032, 4626, 1088, 0, 0, 0, 0}, {95, 4915, 1280, 0, 0, 0, 0}, {520, 544, 5140, 0, 0, 0, 0}, {63, 768, 5461, 0, 0, 0, 0}, {5782, 23130, 26214, 0, 0, 0, 0}, {23, 320, 1280, 4352, 0, 0, 0}, {1032, 1056, 1536, 1088, 4112, 0, 0}, {3840, 5734, 21845, 0, 0, 0, 0}, {5722, 12336, 16384, 0, 0, 0, 0}, {4379, 4403, 4883, 4420, 1280, 0, 0}, {5692, 8192, 20560, 0, 0, 0, 0}, {4381, 4386, 768, 4437, 5397, 0, 0}, {136, 5654, 17476, 0, 0, 0, 0}, {95, 96, 768, 1280, 4096, 0, 0}, {160, 5632, 20480, 0, 0, 0, 0}, {72, 119, 771, 1028, 4369, 0, 0}, {5674, 8738, 17408, 0, 0, 0, 0}, {4111, 4144, 771, 4176, 5376, 0, 0}, {4104, 4128, 4608, 4160, 1028, 0, 0}, {5722, 13056, 21845, 0, 0, 0, 0}, {3084, 5734, 16384, 0, 0, 0, 0}, {1295, 1319, 1799, 1360, 4352, 0, 0}, {520, 544, 5120, 0, 0, 0, 0}, {63, 771, 5461, 0, 0, 0, 0}, {5802, 19456, 28672, 0, 0, 0, 0}, {23, 340, 1028, 4112, 0, 0, 0}, {1548, 96, 4096, 0, 0, 0, 0}, {4386, 1799, 4437, 0, 0, 0, 0}, {72, 4642, 1028, 0, 0, 0, 0}, {1295, 4864, 1360, 0, 0, 0, 0}, {3072, 5744, 16448, 0, 0, 0, 0}, {1290, 1314, 1792, 1365, 4369, 0, 0}, {4120, 4144, 4626, 4176, 1024, 0, 0}, {5708, 13107, 21760, 0, 0, 0, 0}, {5692, 8704, 17476, 0, 0, 0, 0}, {4127, 4128, 768, 4160, 5397, 0, 0}, {160, 5654, 20560, 0, 0, 0, 0}, {72, 119, 768, 1024, 4352, 0, 0}, {72, 4656, 1024, 0, 0, 0, 0}, {1290, 4883, 1365, 0, 0, 0, 0}, {1546, 96, 4112, 0, 0, 0, 0}, {4403, 1792, 4420, 0, 0, 0, 0}, {5820, 19532, 28784, 0, 0, 0, 0}, {23, 341, 1024, 4096, 0, 0, 0}, {522, 546, 5140, 0, 0, 0, 0}, {63, 768, 5440, 0, 0, 0, 0}, {192, 5632, 16384, 0, 0, 0, 0}, {95, 119, 514, 1285, 4369, 0, 0}, {4104, 4128, 514, 4160, 5120, 0, 0}, {5692, 13107, 21760, 0, 0, 0, 0}, {5708, 8704, 17476, 0, 0, 0, 0}, {4111, 4144, 4864, 4176, 1285, 0, 0}, {2570, 5734, 20480, 0, 0, 0, 0}, {1032, 1079, 1799, 1088, 4352, 0, 0}, {1032, 4608, 1088, 0, 0, 0, 0}, {95, 4915, 1285, 0, 0, 0, 0}, {1546, 96, 4096, 0, 0, 0, 0}, {4403, 1799, 4420, 0, 0, 0, 0}, {5836, 23040, 28672, 0, 0, 0, 0}, {23, 325, 1285, 4112, 0, 0, 0}, {40, 514, 5188, 0, 0, 0, 0}, {783, 816, 5376, 0, 0, 0, 0}, {2560, 5744, 20560, 0, 0, 0, 0}, {1036, 1075, 1792, 1092, 4369, 0, 0}, {5722, 8738, 17408, 0, 0, 0, 0}, {4127, 4128, 4883, 4160, 1280, 0, 0}, {4120, 4144, 512, 4176, 5140, 0, 0}, {5674, 13056, 21845, 0, 0, 0, 0}, {192, 5654, 16448, 0, 0, 0, 0}, {95, 119, 512, 1280, 4352, 0, 0}, {40, 512, 5200, 0, 0, 0, 0}, {780, 819, 5397, 0, 0, 0, 0}, {5850, 23130, 28784, 0, 0, 0, 0}, {23, 324, 1280, 4096, 0, 0, 0}, {1548, 96, 4112, 0, 0, 0, 0}, {4386, 1792, 4437, 0, 0, 0, 0}, {1036, 4626, 1092, 0, 0, 0, 0}, {95, 4896, 1280, 0, 0, 0, 0}, {4128, 1536, 4160, 0, 0, 0, 0}, {1807, 119, 4369, 0, 0, 0, 0}, {72, 4642, 1024, 0, 0, 0, 0}, {1295, 4883, 1360, 0, 0, 0, 0}, {40, 512, 5188, 0, 0, 0, 0}, {783, 816, 5397, 0, 0, 0, 0}, {5862, 19532, 26214, 0, 0, 0, 0}, {23, 336, 1024, 4352, 0, 0, 0}, {72, 96, 512, 1024, 4096, 0, 0}, {255, 5654, 21845, 0, 0, 0, 0}, {5674, 12288, 16448, 0, 0, 0, 0}, {4379, 4403, 512, 4420, 5140, 0, 0}, {5708, 8224, 20480, 0, 0, 0, 0}, {4381, 4386, 4626, 4437, 1024, 0, 0}, {2048, 5734, 17476, 0, 0, 0, 0}, {1295, 1328, 1536, 1360, 4112, 0, 0}, {5872, 19456, 26112, 0, 0, 0, 0}, {23, 337, 1028, 4369, 0, 0, 0}, {40, 514, 5200, 0, 0, 0, 0}, {780, 819, 5376, 0, 0, 0, 0}, {72, 4656, 1028, 0, 0, 0, 0}, {1290, 4864, 1365, 0, 0, 0, 0}, {4144, 1542, 4176, 0, 0, 0, 0}, {1800, 119, 4352, 0, 0, 0, 0}, {2056, 5744, 17408, 0, 0, 0, 0}, {1290, 1333, 1542, 1365, 4096, 0, 0}, {5722, 8192, 20560, 0, 0, 0, 0}, {4364, 4403, 4608, 4420, 1028, 0, 0}, {5692, 12336, 16384, 0, 0, 0, 0}, {4362, 4386, 514, 4437, 5120, 0, 0}, {72, 96, 514, 1028, 4112, 0, 0}, {255, 5632, 21760, 0, 0, 0, 0}, {5888, 0, 0, 0, 0, 0, 0}, {22, 257, 0, 0, 0, 0, 0}, {42, 514, 5376, 0, 0, 0, 0}, {60, 771, 5120, 0, 0, 0, 0}, {76, 4864, 1028, 0, 0, 0, 0}, {90, 4608, 1285, 0, 0, 0, 0}, {102, 1542, 4352, 0, 0, 0, 0}, {112, 1799, 4096, 0, 0, 0, 0}, {5896, 8192, 16384, 0, 0, 0, 0}, {4367, 4403, 771, 4437, 1285, 0, 0}, {5898, 8704, 21760, 0, 0, 0, 0}, {4108, 4144, 771, 4160, 1028, 0, 0}, {5900, 13056, 17408, 0, 0, 0, 0}, {4106, 4128, 514, 4176, 1285, 0, 0}, {4360, 4386, 514, 4420, 1028, 0, 0}, {5903, 12288, 20480, 0, 0, 0, 0}, {112, 1792, 4112, 0, 0, 0, 0}, {102, 1536, 4369, 0, 0, 0, 0}, {90, 4626, 1280, 0, 0, 0, 0}, {76, 4883, 1024, 0, 0, 0, 0}, {60, 768, 5140, 0, 0, 0, 0}, {42, 512, 5397, 0, 0, 0, 0}, {22, 256, 0, 0, 0, 0, 0}, {5911, 0, 0, 0, 0, 0, 0}, {5912, 12336, 20560, 0, 0, 0, 0}, {4377, 4403, 512, 4437, 1024, 0, 0}, {4122, 4144, 512, 4160, 1280, 0, 0}, {5915, 13107, 17476, 0, 0, 0, 0}, {4124, 4128, 768, 4176, 1024, 0, 0}, {5917, 8738, 21845, 0, 0, 0, 0}, {4382, 4386, 768, 4420, 1280, 0, 0}, {5919, 8224, 16448, 0, 0, 0, 0}, {2048, 5920, 16384, 0, 0, 0, 0}, {1295, 1331, 771, 1365, 4369, 0, 0}, {2560, 5922, 21760, 0, 0, 0, 0}, {1036, 1072, 771, 1088, 4112, 0, 0}, {3084, 5924, 17476, 0, 0, 0, 0}, {1295, 1317, 512, 1365, 4096, 0, 0}, {1036, 1062, 512, 1088, 4352, 0, 0}, {3855, 5927, 20560, 0, 0, 0, 0}, {5928, 0, 0, 0, 0, 0, 0}, {259, 277, 0, 0, 0, 0, 0}, {42, 512, 5376, 0, 0, 0, 0}, {60, 771, 5140, 0, 0, 0, 0}, {1036, 4896, 1088, 0, 0, 0, 0}, {1295, 4642, 1365, 0, 0, 0, 0}, {1548, 4386, 4420, 0, 0, 0, 0}, {1807, 4128, 4176, 0, 0, 0, 0}, {3840, 5936, 20480, 0, 0, 0, 0}, {1032, 1058, 514, 1092, 4369, 0, 0}, {1290, 1312, 514, 1360, 4112, 0, 0}, {3072, 5939, 17408, 0, 0, 0, 0}, {1032, 1076, 768, 1092, 4096, 0, 0}, {2570, 5941, 21845, 0, 0, 0, 0}, {1290, 1334, 768, 1360, 4352, 0, 0}, {2056, 5943, 16448, 0, 0, 0, 0}, {1800, 4144, 4160, 0, 0, 0, 0}, {1546, 4403, 4437, 0, 0, 0, 0}, {1290, 4656, 1360, 0, 0, 0, 0}, {1032, 4915, 1092, 0, 0, 0, 0}, {60, 768, 5120, 0, 0, 0, 0}, {42, 514, 5397, 0, 0, 0, 0}, {258, 276, 0, 0, 0, 0, 0}, {5951, 0, 0, 0, 0, 0, 0}, {128, 5952, 16448, 0, 0, 0, 0}, {90, 102, 853, 1285, 4369, 0, 0}, {170, 5954, 21760, 0, 0, 0, 0}, {76, 112, 835, 1024, 4096, 0, 0}, {204, 5956, 17476, 0, 0, 0, 0}, {90, 112, 592, 1285, 4112, 0, 0}, {76, 102, 582, 1024, 4352, 0, 0}, {240, 5959, 20480, 0, 0, 0, 0}, {5960, 0, 0, 0, 0, 0, 0}, {275, 261, 0, 0, 0, 0, 0}, {522, 544, 5440, 0, 0, 0, 0}, {783, 819, 5188, 0, 0, 0, 0}, {76, 4864, 1024, 0, 0, 0, 0}, {90, 4626, 1285, 0, 0, 0, 0}, {1546, 4386, 4420, 0, 0, 0, 0}, {1807, 4144, 4160, 0, 0, 0, 0}, {240, 5968, 20560, 0, 0, 0, 0}, {76, 102, 580, 1028, 4369, 0, 0}, {90, 112, 594, 1280, 4096, 0, 0}, {204, 5971, 17408, 0, 0, 0, 0}, {76, 112, 832, 1028, 4112, 0, 0}, {170, 5973, 21845, 0, 0, 0, 0}, {90, 102, 854, 1280, 4352, 0, 0}, {128, 5975, 16384, 0, 0, 0, 0}, {1800, 4128, 4176, 0, 0, 0, 0}, {1548, 4403, 4437, 0, 0, 0, 0}, {90, 4608, 1280, 0, 0, 0, 0}, {76, 4883, 1028, 0, 0, 0, 0}, {780, 816, 5200, 0, 0, 0, 0}, {520, 546, 5461, 0, 0, 0, 0}, {274, 260, 0, 0, 0, 0, 0}, {5983, 0, 0, 0, 0, 0, 0}, {5984, 0, 0, 0, 0, 0, 0}, {263, 273, 0, 0, 0, 0, 0}, {520, 546, 5440, 0, 0, 0, 0}, {783, 819, 5200, 0, 0, 0, 0}, {1032, 4896, 1092, 0, 0, 0, 0}, {1295, 4656, 1365, 0, 0, 0, 0}, {102, 1536, 4352, 0, 0, 0, 0}, {112, 1799, 4112, 0, 0, 0, 0}, {5992, 8224, 16448, 0, 0, 0, 0}, {4367, 4403, 4608, 4437, 5120, 0, 0}, {5994, 8704, 21760, 0, 0, 0, 0}, {4124, 4128, 4883, 4176, 5140, 0, 0}, {5996, 13056, 17408, 0, 0, 0, 0}, {4122, 4144, 4626, 4160, 5397, 0, 0}, {4360, 4386, 4864, 4420, 5376, 0, 0}, {5999, 12336, 20560, 0, 0, 0, 0}, {112, 1792, 4096, 0, 0, 0, 0}, {102, 1542, 4369, 0, 0, 0, 0}, {1290, 4642, 1360, 0, 0, 0, 0}, {1036, 4915, 1088, 0, 0, 0, 0}, {780, 816, 5188, 0, 0, 0, 0}, {522, 544, 5461, 0, 0, 0, 0}, {262, 272, 0, 0, 0, 0, 0}, {6007, 0, 0, 0, 0, 0, 0}, {6008, 12288, 20480, 0, 0, 0, 0}, {4377, 4403, 4883, 4437, 5397, 0, 0}, {4106, 4128, 4608, 4176, 5376, 0, 0}, {6011, 13107, 17476, 0, 0, 0, 0}, {4108, 4144, 4864, 4160, 5120, 0, 0}, {6013, 8738, 21845, 0, 0, 0, 0}, {4382, 4386, 4626, 4420, 5140, 0, 0}, {6015, 8192, 16384, 0, 0, 0, 0}, {128, 5888, 16384, 0, 0, 0, 0}, {90, 102, 771, 1285, 4369, 0, 0}, {5928, 8738, 21760, 0, 0, 0, 0}, {4108, 4144, 771, 4160, 5120, 0, 0}, {5960, 13056, 17476, 0, 0, 0, 0}, {4106, 4128, 4608, 4176, 1285, 0, 0}, {1036, 1062, 1542, 1088, 4352, 0, 0}, {3855, 6007, 20480, 0, 0, 0, 0}, {6024, 24320, 24576, 0, 0, 0, 0}, {22, 325, 1285, 4112, 0, 0, 0}, {522, 544, 5376, 0, 0, 0, 0}, {60, 771, 5188, 0, 0, 0, 0}, {1036, 4864, 1088, 0, 0, 0, 0}, {90, 4642, 1285, 0, 0, 0, 0}, {4386, 1542, 4420, 0, 0, 0, 0}, {1807, 112, 4096, 0, 0, 0, 0}, {3840, 5984, 20560, 0, 0, 0, 0}, {1032, 1058, 1536, 1092, 4369, 0, 0}, {4122, 4144, 4626, 4160, 1280, 0, 0}, {5983, 13107, 17408, 0, 0, 0, 0}, {4124, 4128, 768, 4176, 5140, 0, 0}, {5951, 8704, 21845, 0, 0, 0, 0}, {90, 102, 768, 1280, 4352, 0, 0}, {128, 5911, 16448, 0, 0, 0, 0}, {1800, 112, 4112, 0, 0, 0, 0}, {4403, 1536, 4437, 0, 0, 0, 0}, {90, 4656, 1280, 0, 0, 0, 0}, {1032, 4883, 1092, 0, 0, 0, 0}, {60, 768, 5200, 0, 0, 0, 0}, {520, 546, 5397, 0, 0, 0, 0}, {22, 324, 1280, 4096, 0, 0, 0}, {6047, 24415, 24672, 0, 0, 0, 0}, {6048, 18432, 30464, 0, 0, 0, 0}, {22, 337, 1028, 4369, 0, 0, 0}, {520, 546, 5376, 0, 0, 0, 0}, {60, 771, 5200, 0, 0, 0, 0}, {76, 4896, 1028, 0, 0, 0, 0}, {1295, 4608, 1365, 0, 0, 0, 0}, {1548, 102, 4352, 0, 0, 0, 0}, {4128, 1799, 4176, 0, 0, 0, 0}, {5928, 8224, 16384, 0, 0, 0, 0}, {4367, 4403, 771, 4437, 5120, 0, 0}, {170, 5888, 21760, 0, 0, 0, 0}, {76, 112, 771, 1028, 4112, 0, 0}, {3084, 5984, 17408, 0, 0, 0, 0}, {1295, 1317, 1799, 1365, 4096, 0, 0}, {4360, 4386, 4864, 4420, 1028, 0, 0}, {5983, 12288, 20560, 0, 0, 0, 0}, {4144, 1792, 4160, 0, 0, 0, 0}, {1546, 102, 4369, 0, 0, 0, 0}, {1290, 4626, 1360, 0, 0, 0, 0}, {76, 4915, 1024, 0, 0, 0, 0}, {60, 768, 5188, 0, 0, 0, 0}, {522, 544, 5397, 0, 0, 0, 0}, {22, 336, 1024, 4352, 0, 0, 0}, {6071, 18504, 30583, 0, 0, 0, 0}, {5960, 12336, 20480, 0, 0, 0, 0}, {4377, 4403, 4883, 4437, 1024, 0, 0}, {1290, 1312, 1792, 1360, 4112, 0, 0}, {3072, 6007, 17476, 0, 0, 0, 0}, {76, 112, 768, 1024, 4096, 0, 0}, {170, 5911, 21845, 0, 0, 0, 0}, {4382, 4386, 768, 4420, 5140, 0, 0}, {5951, 8192, 16448, 0, 0, 0, 0}, {6080, 24320, 30464, 0, 0, 0, 0}, {22, 321, 1285, 4369, 0, 0, 0}, {42, 514, 5440, 0, 0, 0, 0}, {783, 819, 5120, 0, 0, 0, 0}, {1032, 4864, 1092, 0, 0, 0, 0}, {90, 4656, 1285, 0, 0, 0, 0}, {1546, 102, 4352, 0, 0, 0, 0}, {4144, 1799, 4160, 0, 0, 0, 0}, {5960, 8192, 16448, 0, 0, 0, 0}, {4367, 4403, 4608, 4437, 1285, 0, 0}, {2570, 5984, 21760, 0, 0, 0, 0}, {1032, 1076, 1799, 1092, 4096, 0, 0}, {204, 5888, 17408, 0, 0, 0, 0}, {90, 112, 514, 1285, 4112, 0, 0}, {4360, 4386, 514, 4420, 5376, 0, 0}, {5951, 12336, 20480, 0, 0, 0, 0}, {4128, 1792, 4176, 0, 0, 0, 0}, {1548, 102, 4369, 0, 0, 0, 0}, {90, 4642, 1280, 0, 0, 0, 0}, {1036, 4883, 1088, 0, 0, 0, 0}, {780, 816, 5140, 0, 0, 0, 0}, {42, 512, 5461, 0, 0, 0, 0}, {22, 320, 1280, 4352, 0, 0, 0}, {6103, 24415, 30583, 0, 0, 0, 0}, {5928, 12288, 20560, 0, 0, 0, 0}, {4377, 4403, 512, 4437, 5397, 0, 0}, {90, 112, 512, 1280, 4096, 0, 0}, {204, 5911, 17476, 0, 0, 0, 0}, {1036, 1072, 1792, 1088, 4112, 0, 0}, {2560, 6007, 21845, 0, 0, 0, 0}, {4382, 4386, 4626, 4420, 1280, 0, 0}, {5983, 8224, 16384, 0, 0, 0, 0}, {2048, 5984, 16448, 0, 0, 0, 0}, {1295, 1331, 1536, 1365, 4369, 0, 0}, {5960, 8738, 21760, 0, 0, 0, 0}, {4124, 4128, 4883, 4176, 1024, 0, 0}, {5928, 13056, 17476, 0, 0, 0, 0}, {4122, 4144, 512, 4160, 5397, 0, 0}, {76, 102, 512, 1024, 4352, 0, 0}, {240, 5911, 20560, 0, 0, 0, 0}, {6120, 18504, 24672, 0, 0, 0, 0}, {22, 341, 1024, 4096, 0, 0, 0}, {42, 512, 5440, 0, 0, 0, 0}, {783, 819, 5140, 0, 0, 0, 0}, {76, 4896, 1024, 0, 0, 0, 0}, {1295, 4626, 1365, 0, 0, 0, 0}, {4386, 1536, 4420, 0, 0, 0, 0}, {1807, 112, 4112, 0, 0, 0, 0}, {240, 5888, 20480, 0, 0, 0, 0}, {76, 102, 514, 1028, 4369, 0, 0}, {4106, 4128, 514, 4176, 5376, 0, 0}, {5951, 13107, 17408, 0, 0, 0, 0}, {4108, 4144, 4864, 4160, 1028, 0, 0}, {5983, 8704, 21845, 0, 0, 0, 0}, {1290, 1334, 1542, 1360, 4352, 0, 0}, {2056, 6007, 16384, 0, 0, 0, 0}, {1800, 112, 4096, 0, 0, 0, 0}, {4403, 1542, 4437, 0, 0, 0, 0}, {1290, 4608, 1360, 0, 0, 0, 0}, {76, 4915, 1028, 0, 0, 0, 0}, {780, 816, 5120, 0, 0, 0, 0}, {42, 514, 5461, 0, 0, 0, 0}, {22, 340, 1028, 4112, 0, 0, 0}, {6143, 18432, 24576, 0, 0, 0, 0}, {6144, 12288, 20480, 0, 0, 0, 0}, {25, 51, 85, 257, 0, 0, 0}, {4106, 4128, 514, 16384, 0, 0, 0}, {5135, 51, 771, 17408, 0, 0, 0}, {4108, 8192, 4160, 1028, 0, 0, 0}, {4623, 8704, 85, 1285, 0, 0, 0}, {5130, 102, 1542, 17408, 0, 0, 0}, {4111, 4208, 1799, 16384, 0, 0, 0}, {128, 2056, 4096, 0, 0, 0, 0}, {51, 771, 85, 1285, 4352, 0, 0}, {170, 4608, 20490, 0, 0, 0, 0}, {76, 51, 771, 1028, 4099, 0, 0}, {204, 12300, 5120, 0, 0, 0, 0}, {42, 514, 85, 1285, 4101, 0, 0}, {76, 102, 514, 1028, 4102, 0, 0}, {255, 5888, 20495, 0, 0, 0, 0}, {128, 2048, 4112, 0, 0, 0, 0}, {51, 768, 85, 1280, 4369, 0, 0}, {170, 4626, 20570, 0, 0, 0, 0}, {76, 51, 768, 1024, 4115, 0, 0}, {204, 12348, 5140, 0, 0, 0, 0}, {42, 512, 85, 1280, 4117, 0, 0}, {76, 102, 512, 1024, 4118, 0, 0}, {255, 5911, 20575, 0, 0, 0, 0}, {6168, 12336, 20560, 0, 0, 0, 0}, {25, 51, 85, 256, 0, 0, 0}, {4122, 4144, 512, 16448, 0, 0, 0}, {5147, 51, 768, 17476, 0, 0, 0}, {4124, 8224, 4176, 1024, 0, 0, 0}, {4637, 8738, 85, 1280, 0, 0, 0}, {5150, 102, 1536, 17476, 0, 0, 0}, {4127, 4192, 1792, 16448, 0, 0, 0}, {2048, 4128, 16384, 0, 0, 0, 0}, {1295, 51, 771, 85, 4369, 0, 0}, {2560, 4642, 20480, 0, 0, 0, 0}, {1036, 51, 771, 1088, 4112, 0, 0}, {5160, 9252, 17476, 0, 0, 0, 0}, {4111, 4133, 512, 85, 5376, 0, 0}, {4108, 4134, 512, 4160, 5120, 0, 0}, {5928, 10023, 20560, 0, 0, 0, 0}, {20640, 6184, 12288, 0, 0, 0, 0}, {259, 85, 1045, 4352, 0, 0, 0}, {42, 512, 4096, 0, 0, 0, 0}, {51, 771, 5140, 0, 0, 0, 0}, {1036, 5152, 1088, 0, 0, 0, 0}, {1295, 5922, 85, 0, 0, 0, 0}, {1548, 5154, 5188, 0, 0, 0, 0}, {1807, 5920, 4176, 0, 0, 0, 0}, {20720, 6192, 12336, 0, 0, 0, 0}, {258, 85, 1041, 4369, 0, 0, 0}, {42, 514, 4112, 0, 0, 0, 0}, {51, 768, 5120, 0, 0, 0, 0}, {1032, 5172, 1092, 0, 0, 0, 0}, {1290, 5941, 85, 0, 0, 0, 0}, {1546, 5174, 5200, 0, 0, 0, 0}, {1800, 5943, 4160, 0, 0, 0, 0}, {2056, 4144, 16448, 0, 0, 0, 0}, {1290, 51, 768, 85, 4352, 0, 0}, {2570, 4656, 20560, 0, 0, 0, 0}, {1032, 51, 768, 1092, 4096, 0, 0}, {5180, 9216, 17408, 0, 0, 0, 0}, {4127, 4149, 514, 85, 5397, 0, 0}, {4124, 4150, 514, 4176, 5140, 0, 0}, {5951, 9984, 20480, 0, 0, 0, 0}, {2048, 8192, 4160, 0, 0, 0, 0}, {783, 51, 85, 1285, 4369, 0, 0}, {4680, 8738, 16962, 0, 0, 0, 0}, {4111, 51, 4864, 4163, 1024, 0, 0}, {3072, 12288, 5188, 0, 0, 0, 0}, {522, 544, 85, 1285, 4112, 0, 0}, {4106, 4128, 4608, 4166, 1024, 0, 0}, {5960, 12336, 18247, 0, 0, 0, 0}, {12480, 6216, 20480, 0, 0, 0, 0}, {51, 531, 261, 4352, 0, 0, 0}, {4170, 4192, 4672, 16448, 0, 0, 0}, {5195, 51, 5956, 17476, 0, 0, 0}, {76, 1024, 4096, 0, 0, 0, 0}, {4626, 85, 1285, 0, 0, 0, 0}, {5198, 102, 4676, 17476, 0, 0, 0}, {4175, 4144, 5952, 16448, 0, 0, 0}, {12528, 6224, 20560, 0, 0, 0, 0}, {51, 529, 260, 4369, 0, 0, 0}, {4186, 4208, 4690, 16384, 0, 0, 0}, {5215, 51, 5971, 17408, 0, 0, 0}, {76, 1028, 4112, 0, 0, 0, 0}, {4608, 85, 1280, 0, 0, 0, 0}, {5210, 102, 4694, 17408, 0, 0, 0}, {4191, 4128, 5975, 16384, 0, 0, 0}, {2056, 8224, 4176, 0, 0, 0, 0}, {780, 51, 85, 1280, 4352, 0, 0}, {4698, 8704, 16896, 0, 0, 0, 0}, {4127, 51, 4883, 4179, 1028, 0, 0}, {3084, 12336, 5200, 0, 0, 0, 0}, {520, 546, 85, 1280, 4096, 0, 0}, {4122, 4144, 4626, 4182, 1028, 0, 0}, {5983, 12288, 18176, 0, 0, 0, 0}, {20640, 6240, 24672, 0, 0, 0, 0}, {263, 85, 1041, 4369, 0, 0, 0}, {520, 546, 4160, 0, 0, 0, 0}, {783, 51, 5200, 0, 0, 0, 0}, {1032, 4128, 1092, 0, 0, 0, 0}, {1295, 4656, 85, 0, 0, 0, 0}, {102, 4608, 5120, 0, 0, 0, 0}, {127, 1799, 4112, 0, 0, 0, 0}, {2056, 4192, 16448, 0, 0, 0, 0}, {1295, 51, 1536, 85, 4352, 0, 0}, {4714, 8704, 20480, 0, 0, 0, 0}, {4124, 51, 4883, 4176, 5140, 0, 0}, {5228, 12288, 17408, 0, 0, 0, 0}, {4122, 4144, 4626, 85, 5397, 0, 0}, {1032, 1058, 1536, 1092, 4096, 0, 0}, {3855, 5984, 20560, 0, 0, 0, 0}, {2048, 4208, 16384, 0, 0, 0, 0}, {1290, 51, 1542, 85, 4369, 0, 0}, {4728, 8738, 20560, 0, 0, 0, 0}, {4108, 51, 4864, 4160, 5120, 0, 0}, {5240, 12336, 17476, 0, 0, 0, 0}, {4106, 4128, 4608, 85, 5376, 0, 0}, {1036, 1062, 1542, 1088, 4112, 0, 0}, {3840, 6007, 20480, 0, 0, 0, 0}, {20720, 6264, 24576, 0, 0, 0, 0}, {262, 85, 1045, 4352, 0, 0, 0}, {522, 544, 4176, 0, 0, 0, 0}, {780, 51, 5188, 0, 0, 0, 0}, {1036, 4144, 1088, 0, 0, 0, 0}, {1290, 4642, 85, 0, 0, 0, 0}, {102, 4626, 5140, 0, 0, 0, 0}, {127, 1792, 4096, 0, 0, 0, 0}, {128, 2048, 4096, 0, 0, 0, 0}, {51, 771, 85, 1285, 4369, 0, 0}, {2570, 4642, 20490, 0, 0, 0, 0}, {1036, 51, 771, 1088, 4099, 0, 0}, {3084, 12300, 5188, 0, 0, 0, 0}, {522, 544, 85, 1285, 4101, 0, 0}, {1036, 1062, 1542, 1088, 4102, 0, 0}, {3855, 6007, 20495, 0, 0, 0, 0}, {6280, 12288, 20480, 0, 0, 0, 0}, {265, 771, 1285, 272, 0, 0, 0}, {4106, 4128, 4608, 16384, 0, 0, 0}, {5195, 51, 771, 17476, 0, 0, 0}, {4108, 8192, 4160, 5120, 0, 0, 0}, {4653, 8738, 85, 1285, 0, 0, 0}, {5198, 102, 1542, 17476, 0, 0, 0}, {4111, 4208, 5888, 16384, 0, 0, 0}, {6288, 12336, 20560, 0, 0, 0, 0}, {264, 768, 1280, 273, 0, 0, 0}, {4122, 4144, 4626, 16448, 0, 0, 0}, {5215, 51, 768, 17408, 0, 0, 0}, {4124, 8224, 4176, 5140, 0, 0, 0}, {4671, 8704, 85, 1280, 0, 0, 0}, {5210, 102, 1536, 17408, 0, 0, 0}, {4127, 4192, 5911, 16448, 0, 0, 0}, {128, 2056, 4112, 0, 0, 0, 0}, {51, 768, 85, 1280, 4352, 0, 0}, {2560, 4656, 20570, 0, 0, 0, 0}, {1032, 51, 768, 1092, 4115, 0, 0}, {3072, 12348, 5200, 0, 0, 0, 0}, {520, 546, 85, 1280, 4117, 0, 0}, {1032, 1058, 1536, 1092, 4118, 0, 0}, {3840, 5984, 20575, 0, 0, 0, 0}, {20640, 18432, 12288, 0, 0, 0, 0}, {274, 85, 1028, 4369, 0, 0, 0}, {520, 546, 4096, 0, 0, 0, 0}, {51, 771, 5200, 0, 0, 0, 0}, {76, 4192, 1028, 0, 0, 0, 0}, {1295, 5888, 85, 0, 0, 0, 0}, {4620, 102, 5120, 0, 0, 0, 0}, {4143, 1799, 4176, 0, 0, 0, 0}, {2056, 4128, 16384, 0, 0, 0, 0}, {1295, 51, 771, 85, 4352, 0, 0}, {170, 4608, 20480, 0, 0, 0, 0}, {76, 51, 771, 1028, 4112, 0, 0}, {5228, 9312, 17408, 0, 0, 0, 0}, {4111, 4133, 4615, 85, 5376, 0, 0}, {4108, 4134, 4612, 4160, 1028, 0, 0}, {5983, 10064, 20560, 0, 0, 0, 0}, {2048, 4144, 16448, 0, 0, 0, 0}, {1290, 51, 768, 85, 4369, 0, 0}, {170, 4626, 20560, 0, 0, 0, 0}, {76, 51, 768, 1024, 4096, 0, 0}, {5240, 9284, 17476, 0, 0, 0, 0}, {4127, 4149, 4629, 85, 5397, 0, 0}, {4124, 4150, 4630, 4176, 1024, 0, 0}, {5960, 10103, 20480, 0, 0, 0, 0}, {20720, 18504, 12336, 0, 0, 0, 0}, {275, 85, 1024, 4352, 0, 0, 0}, {522, 544, 4112, 0, 0, 0, 0}, {51, 768, 5188, 0, 0, 0, 0}, {76, 4208, 1024, 0, 0, 0, 0}, {1290, 5911, 85, 0, 0, 0, 0}, {4638, 102, 5140, 0, 0, 0, 0}, {4159, 1792, 4160, 0, 0, 0, 0}, {12480, 10240, 20480, 0, 0, 0, 0}, {51, 514, 276, 4369, 0, 0, 0}, {4170, 4192, 514, 16448, 0, 0, 0}, {5135, 51, 5888, 17408, 0, 0, 0}, {1032, 1092, 4096, 0, 0, 0, 0}, {4656, 85, 1285, 0, 0, 0, 0}, {5130, 102, 4608, 17408, 0, 0, 0}, {4175, 4144, 1799, 16448, 0, 0, 0}, {2056, 8192, 4160, 0, 0, 0, 0}, {783, 51, 85, 1285, 4352, 0, 0}, {4714, 8704, 16992, 0, 0, 0, 0}, {4111, 51, 4864, 4163, 5127, 0, 0}, {204, 12288, 5120, 0, 0, 0, 0}, {42, 514, 85, 1285, 4112, 0, 0}, {4106, 4128, 514, 4166, 5122, 0, 0}, {5951, 12336, 18224, 0, 0, 0, 0}, {2048, 8224, 4176, 0, 0, 0, 0}, {780, 51, 85, 1280, 4369, 0, 0}, {4728, 8738, 16930, 0, 0, 0, 0}, {4127, 51, 4883, 4179, 5139, 0, 0}, {204, 12336, 5140, 0, 0, 0, 0}, {42, 512, 85, 1280, 4096, 0, 0}, {4122, 4144, 512, 4182, 5142, 0, 0}, {5928, 12288, 18295, 0, 0, 0, 0}, {12528, 10280, 20560, 0, 0, 0, 0}, {51, 512, 277, 4352, 0, 0, 0}, {4186, 4208, 512, 16384, 0, 0, 0}, {5147, 51, 5911, 17476, 0, 0, 0}, {1036, 1088, 4112, 0, 0, 0, 0}, {4642, 85, 1280, 0, 0, 0, 0}, {5150, 102, 4626, 17476, 0, 0, 0}, {4191, 4128, 1792, 16384, 0, 0, 0}, {2048, 4192, 16448, 0, 0, 0, 0}, {1295, 51, 1536, 85, 4369, 0, 0}, {4680, 8738, 20480, 0, 0, 0, 0}, {4124, 51, 4883, 4176, 1024, 0, 0}, {5160, 12288, 17476, 0, 0, 0, 0}, {4122, 4144, 512, 85, 5397, 0, 0}, {76, 102, 512, 1024, 4096, 0, 0}, {255, 5911, 20560, 0, 0, 0, 0}, {20640, 18504, 24672, 0, 0, 0, 0}, {278, 85, 1024, 4352, 0, 0, 0}, {42, 512, 4160, 0, 0, 0, 0}, {783, 51, 5140, 0, 0, 0, 0}, {76, 4128, 1024, 0, 0, 0, 0}, {1295, 4626, 85, 0, 0, 0, 0}, {5154, 1536, 5188, 0, 0, 0, 0}, {1807, 1904, 4112, 0, 0, 0, 0}, {20720, 18432, 24576, 0, 0, 0, 0}, {279, 85, 1028, 4369, 0, 0, 0}, {42, 514, 4176, 0, 0, 0, 0}, {780, 51, 5120, 0, 0, 0, 0}, {76, 4144, 1028, 0, 0, 0, 0}, {1290, 4608, 85, 0, 0, 0, 0}, {5174, 1542, 5200, 0, 0, 0, 0}, {1800, 1911, 4096, 0, 0, 0, 0}, {2056, 4208, 16384, 0, 0, 0, 0}, {1290, 51, 1542, 85, 4352, 0, 0}, {4698, 8704, 20560, 0, 0, 0, 0}, {4108, 51, 4864, 4160, 1028, 0, 0}, {5180, 12336, 17408, 0, 0, 0, 0}, {4106, 4128, 514, 85, 5376, 0, 0}, {76, 102, 514, 1028, 4112, 0, 0}, {255, 5888, 20480, 0, 0, 0, 0}, {6400, 13056, 21760, 0, 0, 0, 0}, {24, 48, 80, 257, 0, 0, 0}, {4362, 4386, 514, 17408, 0, 0, 0}, {5391, 48, 771, 16384, 0, 0, 0}, {4364, 8704, 4420, 1028, 0, 0, 0}, {4879, 8192, 80, 1285, 0, 0, 0}, {5386, 96, 1542, 16384, 0, 0, 0}, {4367, 4471, 1799, 17408, 0, 0, 0}, {136, 2056, 4352, 0, 0, 0, 0}, {48, 771, 80, 1285, 4096, 0, 0}, {160, 4864, 21770, 0, 0, 0, 0}, {72, 48, 771, 1028, 4355, 0, 0}, {192, 13068, 5376, 0, 0, 0, 0}, {40, 514, 80, 1285, 4357, 0, 0}, {72, 96, 514, 1028, 4358, 0, 0}, {240, 5632, 21775, 0, 0, 0, 0}, {48, 768, 80, 1280, 4112, 0, 0}, {136, 2048, 4369, 0, 0, 0, 0}, {72, 48, 768, 1024, 4370, 0, 0}, {160, 4883, 21855, 0, 0, 0, 0}, {40, 512, 80, 1280, 4372, 0, 0}, {192, 13119, 5397, 0, 0, 0, 0}, {240, 5654, 21850, 0, 0, 0, 0}, {72, 96, 512, 1024, 4375, 0, 0}, {24, 48, 80, 256, 0, 0, 0}, {6425, 13107, 21845, 0, 0, 0, 0}, {5402, 48, 768, 16448, 0, 0, 0}, {4379, 4403, 512, 17476, 0, 0, 0}, {4892, 8224, 80, 1280, 0, 0, 0}, {4381, 8738, 4437, 1024, 0, 0, 0}, {4382, 4454, 1792, 17476, 0, 0, 0}, {5407, 96, 1536, 16448, 0, 0, 0}, {2560, 4896, 21760, 0, 0, 0, 0}, {1036, 48, 771, 1092, 4369, 0, 0}, {2048, 4386, 17408, 0, 0, 0, 0}, {1295, 48, 771, 80, 4112, 0, 0}, {4364, 4388, 512, 4420, 5376, 0, 0}, {5674, 9509, 21845, 0, 0, 0, 0}, {5418, 9766, 16448, 0, 0, 0, 0}, {4367, 4391, 512, 80, 5120, 0, 0}, {40, 512, 4352, 0, 0, 0, 0}, {48, 771, 5397, 0, 0, 0, 0}, {21930, 6442, 13056, 0, 0, 0, 0}, {259, 80, 1044, 4096, 0, 0, 0}, {1548, 5408, 5440, 0, 0, 0, 0}, {1807, 5666, 4437, 0, 0, 0, 0}, {1036, 5410, 1092, 0, 0, 0, 0}, {1295, 5664, 80, 0, 0, 0, 0}, {48, 768, 5376, 0, 0, 0, 0}, {40, 514, 4369, 0, 0, 0, 0}, {258, 80, 1040, 4112, 0, 0, 0}, {22015, 6451, 13107, 0, 0, 0, 0}, {1800, 5684, 4420, 0, 0, 0, 0}, {1546, 5429, 5461, 0, 0, 0, 0}, {1290, 5686, 80, 0, 0, 0, 0}, {1032, 5431, 1088, 0, 0, 0, 0}, {1032, 48, 768, 1088, 4352, 0, 0}, {2570, 4915, 21845, 0, 0, 0, 0}, {1290, 48, 768, 80, 4096, 0, 0}, {2056, 4403, 17476, 0, 0, 0, 0}, {5692, 9472, 21760, 0, 0, 0, 0}, {4381, 4405, 514, 4437, 5397, 0, 0}, {4382, 4406, 514, 80, 5140, 0, 0}, {5439, 9728, 16384, 0, 0, 0, 0}, {3072, 13056, 5440, 0, 0, 0, 0}, {522, 546, 80, 1285, 4369, 0, 0}, {4362, 4386, 4864, 4418, 1024, 0, 0}, {5708, 13107, 17219, 0, 0, 0, 0}, {2048, 8704, 4420, 0, 0, 0, 0}, {783, 48, 80, 1285, 4112, 0, 0}, {4940, 8224, 17990, 0, 0, 0, 0}, {4367, 48, 4608, 4423, 1024, 0, 0}, {72, 1024, 4352, 0, 0, 0, 0}, {4883, 80, 1285, 0, 0, 0, 0}, {5450, 96, 4928, 16448, 0, 0, 0}, {4427, 4403, 5700, 17476, 0, 0, 0}, {13260, 6476, 21760, 0, 0, 0, 0}, {48, 530, 261, 4096, 0, 0, 0}, {4430, 4454, 4932, 17476, 0, 0, 0}, {5455, 48, 5696, 16448, 0, 0, 0}, {4864, 80, 1280, 0, 0, 0, 0}, {72, 1028, 4369, 0, 0, 0, 0}, {4442, 4386, 5714, 17408, 0, 0, 0}, {5471, 96, 4947, 16384, 0, 0, 0}, {48, 528, 260, 4112, 0, 0, 0}, {13311, 6485, 21845, 0, 0, 0, 0}, {5466, 48, 5718, 16384, 0, 0, 0}, {4447, 4471, 4951, 17408, 0, 0, 0}, {520, 544, 80, 1280, 4352, 0, 0}, {3084, 13107, 5461, 0, 0, 0, 0}, {5722, 13056, 17152, 0, 0, 0, 0}, {4379, 4403, 4883, 4435, 1028, 0, 0}, {780, 48, 80, 1280, 4096, 0, 0}, {2056, 8738, 4437, 0, 0, 0, 0}, {4382, 48, 4626, 4438, 1028, 0, 0}, {4959, 8192, 17920, 0, 0, 0, 0}, {96, 4864, 5376, 0, 0, 0, 0}, {120, 1799, 4369, 0, 0, 0, 0}, {1032, 4386, 1088, 0, 0, 0, 0}, {1295, 4915, 80, 0, 0, 0, 0}, {520, 544, 4420, 0, 0, 0, 0}, {783, 48, 5461, 0, 0, 0, 0}, {21930, 6502, 26214, 0, 0, 0, 0}, {263, 80, 1040, 4112, 0, 0, 0}, {1032, 1056, 1536, 1088, 4352, 0, 0}, {3855, 5734, 21845, 0, 0, 0, 0}, {5482, 13056, 16384, 0, 0, 0, 0}, {4379, 4403, 4883, 80, 5140, 0, 0}, {4972, 8192, 21760, 0, 0, 0, 0}, {4381, 48, 4626, 4437, 5397, 0, 0}, {2056, 4454, 17476, 0, 0, 0, 0}, {1295, 48, 1536, 80, 4096, 0, 0}, {3840, 5744, 21760, 0, 0, 0, 0}, {1036, 1060, 1542, 1092, 4369, 0, 0}, {4362, 4386, 4864, 80, 5120, 0, 0}, {5503, 13107, 16448, 0, 0, 0, 0}, {4364, 48, 4608, 4420, 5376, 0, 0}, {4991, 8224, 21845, 0, 0, 0, 0}, {1290, 48, 1542, 80, 4112, 0, 0}, {2048, 4471, 17408, 0, 0, 0, 0}, {120, 1792, 4352, 0, 0, 0, 0}, {96, 4883, 5397, 0, 0, 0, 0}, {1290, 4896, 80, 0, 0, 0, 0}, {1036, 4403, 1092, 0, 0, 0, 0}, {780, 48, 5440, 0, 0, 0, 0}, {522, 546, 4437, 0, 0, 0, 0}, {262, 80, 1044, 4096, 0, 0, 0}, {22015, 6527, 26112, 0, 0, 0, 0}, {6528, 13056, 21760, 0, 0, 0, 0}, {265, 771, 1285, 273, 0, 0, 0}, {4362, 4386, 4864, 17408, 0, 0, 0}, {5455, 48, 771, 16448, 0, 0, 0}, {4364, 8704, 4420, 5376, 0, 0, 0}, {4911, 8224, 80, 1285, 0, 0, 0}, {5450, 96, 1542, 16448, 0, 0, 0}, {4367, 4471, 5632, 17408, 0, 0, 0}, {136, 2048, 4352, 0, 0, 0, 0}, {48, 771, 80, 1285, 4112, 0, 0}, {2570, 4896, 21770, 0, 0, 0, 0}, {1036, 48, 771, 1092, 4355, 0, 0}, {3084, 13068, 5440, 0, 0, 0, 0}, {522, 546, 80, 1285, 4357, 0, 0}, {1036, 1060, 1542, 1092, 4358, 0, 0}, {3855, 5744, 21775, 0, 0, 0, 0}, {48, 768, 80, 1280, 4096, 0, 0}, {136, 2056, 4369, 0, 0, 0, 0}, {1032, 48, 768, 1088, 4370, 0, 0}, {2560, 4915, 21855, 0, 0, 0, 0}, {520, 544, 80, 1280, 4372, 0, 0}, {3072, 13119, 5461, 0, 0, 0, 0}, {3840, 5734, 21850, 0, 0, 0, 0}, {1032, 1056, 1536, 1088, 4375, 0, 0}, {264, 768, 1280, 272, 0, 0, 0}, {6553, 13107, 21845, 0, 0, 0, 0}, {5466, 48, 768, 16384, 0, 0, 0}, {4379, 4403, 4883, 17476, 0, 0, 0}, {4924, 8192, 80, 1280, 0, 0, 0}, {4381, 8738, 4437, 5397, 0, 0, 0}, {4382, 4454, 5654, 17476, 0, 0, 0}, {5471, 96, 1536, 16384, 0, 0, 0}, {160, 4864, 21760, 0, 0, 0, 0}, {72, 48, 771, 1028, 4369, 0, 0}, {2056, 4386, 17408, 0, 0, 0, 0}, {1295, 48, 771, 80, 4096, 0, 0}, {4364, 4388, 4868, 4420, 1028, 0, 0}, {5722, 9557, 21845, 0, 0, 0, 0}, {5482, 9830, 16384, 0, 0, 0, 0}, {4367, 4391, 4871, 80, 5120, 0, 0}, {520, 544, 4352, 0, 0, 0, 0}, {48, 771, 5461, 0, 0, 0, 0}, {21930, 19456, 13056, 0, 0, 0, 0}, {275, 80, 1028, 4112, 0, 0, 0}, {4876, 96, 5376, 0, 0, 0, 0}, {4397, 1799, 4437, 0, 0, 0, 0}, {72, 4454, 1028, 0, 0, 0, 0}, {1295, 5632, 80, 0, 0, 0, 0}, {48, 768, 5440, 0, 0, 0, 0}, {522, 546, 4369, 0, 0, 0, 0}, {274, 80, 1024, 4096, 0, 0, 0}, {22015, 19532, 13107, 0, 0, 0, 0}, {4412, 1792, 4420, 0, 0, 0, 0}, {4895, 96, 5397, 0, 0, 0, 0}, {1290, 5654, 80, 0, 0, 0, 0}, {72, 4471, 1024, 0, 0, 0, 0}, {72, 48, 768, 1024, 4352, 0, 0}, {160, 4883, 21845, 0, 0, 0, 0}, {1290, 48, 768, 80, 4112, 0, 0}, {2048, 4403, 17476, 0, 0, 0, 0}, {5708, 9584, 21760, 0, 0, 0, 0}, {4381, 4405, 4887, 4437, 1024, 0, 0}, {4382, 4406, 4884, 80, 5140, 0, 0}, {5503, 9792, 16448, 0, 0, 0, 0}, {192, 13056, 5376, 0, 0, 0, 0}, {40, 514, 80, 1285, 4369, 0, 0}, {4362, 4386, 514, 4418, 5378, 0, 0}, {5692, 13107, 17203, 0, 0, 0, 0}, {2056, 8704, 4420, 0, 0, 0, 0}, {783, 48, 80, 1285, 4096, 0, 0}, {4972, 8192, 18022, 0, 0, 0, 0}, {4367, 48, 4608, 4423, 5383, 0, 0}, {1032, 1088, 4352, 0, 0, 0, 0}, {4915, 80, 1285, 0, 0, 0, 0}, {5386, 96, 4864, 16384, 0, 0, 0}, {4427, 4403, 1799, 17476, 0, 0, 0}, {13260, 10752, 21760, 0, 0, 0, 0}, {48, 514, 277, 4112, 0, 0, 0}, {4430, 4454, 514, 17476, 0, 0, 0}, {5391, 48, 5632, 16384, 0, 0, 0}, {4896, 80, 1280, 0, 0, 0, 0}, {1036, 1092, 4369, 0, 0, 0, 0}, {4442, 4386, 1792, 17408, 0, 0, 0}, {5407, 96, 4883, 16448, 0, 0, 0}, {48, 512, 276, 4096, 0, 0, 0}, {13311, 10794, 21845, 0, 0, 0, 0}, {5402, 48, 5654, 16448, 0, 0, 0}, {4447, 4471, 512, 17408, 0, 0, 0}, {40, 512, 80, 1280, 4352, 0, 0}, {192, 13107, 5397, 0, 0, 0, 0}, {5674, 13056, 17264, 0, 0, 0, 0}, {4379, 4403, 512, 4435, 5399, 0, 0}, {780, 48, 80, 1280, 4112, 0, 0}, {2048, 8738, 4437, 0, 0, 0, 0}, {4382, 48, 4626, 4438, 5394, 0, 0}, {4991, 8224, 17952, 0, 0, 0, 0}, {5408, 1536, 5440, 0, 0, 0, 0}, {1807, 1911, 4369, 0, 0, 0, 0}, {72, 4386, 1024, 0, 0, 0, 0}, {1295, 4883, 80, 0, 0, 0, 0}, {40, 512, 4420, 0, 0, 0, 0}, {783, 48, 5397, 0, 0, 0, 0}, {21930, 19532, 26214, 0, 0, 0, 0}, {279, 80, 1024, 4096, 0, 0, 0}, {72, 96, 512, 1024, 4352, 0, 0}, {240, 5654, 21845, 0, 0, 0, 0}, {5418, 13056, 16448, 0, 0, 0, 0}, {4379, 4403, 512, 80, 5140, 0, 0}, {4940, 8224, 21760, 0, 0, 0, 0}, {4381, 48, 4626, 4437, 1024, 0, 0}, {2048, 4454, 17476, 0, 0, 0, 0}, {1295, 48, 1536, 80, 4112, 0, 0}, {240, 5632, 21760, 0, 0, 0, 0}, {72, 96, 514, 1028, 4369, 0, 0}, {4362, 4386, 514, 80, 5120, 0, 0}, {5439, 13107, 16384, 0, 0, 0, 0}, {4364, 48, 4608, 4420, 1028, 0, 0}, {4959, 8192, 21845, 0, 0, 0, 0}, {1290, 48, 1542, 80, 4096, 0, 0}, {2056, 4471, 17408, 0, 0, 0, 0}, {1800, 1904, 4352, 0, 0, 0, 0}, {5429, 1542, 5461, 0, 0, 0, 0}, {1290, 4864, 80, 0, 0, 0, 0}, {72, 4403, 1028, 0, 0, 0, 0}, {780, 48, 5376, 0, 0, 0, 0}, {40, 514, 4437, 0, 0, 0, 0}, {278, 80, 1028, 4112, 0, 0, 0}, {22015, 19456, 26112, 0, 0, 0, 0}, {6656, 12288, 16384, 0, 0, 0, 0}, {27, 51, 68, 257, 0, 0, 0}, {4104, 4128, 514, 20480, 0, 0, 0}, {5388, 51, 771, 21760, 0, 0, 0}, {4620, 8704, 68, 1028, 0, 0, 0}, {4111, 8192, 4176, 1285, 0, 0, 0}, {4108, 4192, 1542, 20480, 0, 0, 0}, {5384, 119, 1799, 21760, 0, 0, 0}, {136, 4608, 16392, 0, 0, 0, 0}, {95, 51, 771, 1285, 4099, 0, 0}, {160, 2570, 4096, 0, 0, 0, 0}, {51, 771, 68, 1028, 4352, 0, 0}, {204, 5632, 16396, 0, 0, 0, 0}, {95, 119, 514, 1285, 4103, 0, 0}, {40, 514, 68, 1028, 4100, 0, 0}, {255, 12303, 5376, 0, 0, 0, 0}, {160, 2560, 4112, 0, 0, 0, 0}, {51, 768, 68, 1024, 4369, 0, 0}, {136, 4626, 16456, 0, 0, 0, 0}, {95, 51, 768, 1280, 4115, 0, 0}, {40, 512, 68, 1024, 4116, 0, 0}, {255, 12351, 5397, 0, 0, 0, 0}, {204, 5654, 16460, 0, 0, 0, 0}, {95, 119, 512, 1280, 4119, 0, 0}, {4120, 4144, 512, 20560, 0, 0, 0}, {5401, 51, 768, 21845, 0, 0, 0}, {6682, 12336, 16448, 0, 0, 0, 0}, {27, 51, 68, 256, 0, 0, 0}, {4124, 4208, 1536, 20560, 0, 0, 0}, {5405, 119, 1792, 21845, 0, 0, 0}, {4638, 8738, 68, 1024, 0, 0, 0}, {4127, 8224, 4160, 1280, 0, 0, 0}, {2560, 4128, 20480, 0, 0, 0, 0}, {1036, 51, 771, 68, 4369, 0, 0}, {2048, 4642, 16384, 0, 0, 0, 0}, {1295, 51, 771, 1360, 4112, 0, 0}, {4108, 4132, 512, 68, 5120, 0, 0}, {5418, 9509, 21845, 0, 0, 0, 0}, {5674, 9766, 16448, 0, 0, 0, 0}, {4111, 4135, 512, 4176, 5376, 0, 0}, {40, 512, 4096, 0, 0, 0, 0}, {51, 771, 5397, 0, 0, 0, 0}, {16512, 6698, 12288, 0, 0, 0, 0}, {259, 68, 1300, 4352, 0, 0, 0}, {1548, 5664, 4160, 0, 0, 0, 0}, {1807, 5410, 5461, 0, 0, 0, 0}, {1036, 5666, 68, 0, 0, 0, 0}, {1295, 5408, 1360, 0, 0, 0, 0}, {16576, 6704, 12336, 0, 0, 0, 0}, {258, 68, 1297, 4369, 0, 0, 0}, {40, 514, 4112, 0, 0, 0, 0}, {51, 768, 5376, 0, 0, 0, 0}, {1032, 5684, 68, 0, 0, 0, 0}, {1290, 5429, 1365, 0, 0, 0, 0}, {1546, 5686, 4176, 0, 0, 0, 0}, {1800, 5431, 5440, 0, 0, 0, 0}, {2056, 4656, 16448, 0, 0, 0, 0}, {1290, 51, 768, 1365, 4096, 0, 0}, {2570, 4144, 20560, 0, 0, 0, 0}, {1032, 51, 768, 68, 4352, 0, 0}, {5692, 9728, 16384, 0, 0, 0, 0}, {4127, 4151, 514, 4160, 5397, 0, 0}, {4124, 4148, 514, 68, 5140, 0, 0}, {5439, 9472, 21760, 0, 0, 0, 0}, {12480, 6720, 16448, 0, 0, 0, 0}, {51, 529, 261, 4369, 0, 0, 0}, {4168, 4192, 4674, 20480, 0, 0, 0}, {5452, 51, 5699, 21760, 0, 0, 0}, {4608, 68, 1024, 0, 0, 0, 0}, {95, 1285, 4112, 0, 0, 0, 0}, {4172, 4128, 5702, 20480, 0, 0, 0}, {5448, 119, 4679, 21760, 0, 0, 0}, {4680, 8704, 20992, 0, 0, 0, 0}, {4124, 51, 4883, 4163, 1285, 0, 0}, {2570, 8224, 4160, 0, 0, 0, 0}, {783, 51, 68, 1024, 4352, 0, 0}, {5708, 12288, 22016, 0, 0, 0, 0}, {4120, 4144, 4626, 4167, 1285, 0, 0}, {522, 546, 68, 1024, 4096, 0, 0}, {3855, 12336, 5440, 0, 0, 0, 0}, {2560, 8192, 4176, 0, 0, 0, 0}, {780, 51, 68, 1028, 4369, 0, 0}, {4698, 8738, 21074, 0, 0, 0, 0}, {4108, 51, 4864, 4179, 1280, 0, 0}, {520, 544, 68, 1028, 4112, 0, 0}, {3840, 12288, 5461, 0, 0, 0, 0}, {5722, 12336, 22102, 0, 0, 0, 0}, {4104, 4128, 4608, 4183, 1280, 0, 0}, {4184, 4208, 4688, 20560, 0, 0, 0}, {5465, 51, 5717, 21845, 0, 0, 0}, {12528, 6746, 16384, 0, 0, 0, 0}, {51, 531, 260, 4352, 0, 0, 0}, {4188, 4144, 5712, 20560, 0, 0, 0}, {5469, 119, 4693, 21845, 0, 0, 0}, {4626, 68, 1028, 0, 0, 0, 0}, {95, 1280, 4096, 0, 0, 0, 0}, {2560, 4192, 20480, 0, 0, 0, 0}, {1032, 51, 1799, 68, 4369, 0, 0}, {4714, 8738, 16448, 0, 0, 0, 0}, {4111, 51, 4864, 4176, 5376, 0, 0}, {4104, 4128, 4608, 68, 5120, 0, 0}, {5482, 12336, 21845, 0, 0, 0, 0}, {3072, 5734, 16384, 0, 0, 0, 0}, {1295, 1319, 1799, 1360, 4112, 0, 0}, {520, 544, 4160, 0, 0, 0, 0}, {783, 51, 5461, 0, 0, 0, 0}, {16576, 6762, 28672, 0, 0, 0, 0}, {263, 68, 1300, 4352, 0, 0, 0}, {108, 1536, 4096, 0, 0, 0, 0}, {119, 4626, 5397, 0, 0, 0, 0}, {1032, 4642, 68, 0, 0, 0, 0}, {1295, 4144, 1360, 0, 0, 0, 0}, {16512, 6768, 28784, 0, 0, 0, 0}, {262, 68, 1297, 4369, 0, 0, 0}, {522, 546, 4176, 0, 0, 0, 0}, {780, 51, 5440, 0, 0, 0, 0}, {1036, 4656, 68, 0, 0, 0, 0}, {1290, 4128, 1365, 0, 0, 0, 0}, {108, 1542, 4112, 0, 0, 0, 0}, {119, 4608, 5376, 0, 0, 0, 0}, {4728, 8704, 16384, 0, 0, 0, 0}, {4127, 51, 4883, 4160, 5397, 0, 0}, {2570, 4208, 20560, 0, 0, 0, 0}, {1036, 51, 1792, 68, 4352, 0, 0}, {3084, 5744, 16448, 0, 0, 0, 0}, {1290, 1314, 1792, 1365, 4096, 0, 0}, {4120, 4144, 4626, 68, 5140, 0, 0}, {5503, 12288, 21760, 0, 0, 0, 0}, {16512, 23040, 12288, 0, 0, 0, 0}, {274, 68, 1285, 4369, 0, 0, 0}, {522, 546, 4096, 0, 0, 0, 0}, {51, 771, 5440, 0, 0, 0, 0}, {1036, 5632, 68, 0, 0, 0, 0}, {95, 4208, 1285, 0, 0, 0, 0}, {4140, 1542, 4160, 0, 0, 0, 0}, {4623, 119, 5376, 0, 0, 0, 0}, {136, 4608, 16384, 0, 0, 0, 0}, {95, 51, 771, 1285, 4112, 0, 0}, {2570, 4128, 20480, 0, 0, 0, 0}, {1036, 51, 771, 68, 4352, 0, 0}, {5708, 9792, 16448, 0, 0, 0, 0}, {4111, 4135, 4613, 4176, 1285, 0, 0}, {4108, 4132, 4614, 68, 5120, 0, 0}, {5503, 9584, 21760, 0, 0, 0, 0}, {2560, 4144, 20560, 0, 0, 0, 0}, {1032, 51, 768, 68, 4369, 0, 0}, {136, 4626, 16448, 0, 0, 0, 0}, {95, 51, 768, 1280, 4096, 0, 0}, {4124, 4148, 4628, 68, 5140, 0, 0}, {5482, 9557, 21845, 0, 0, 0, 0}, {5722, 9830, 16384, 0, 0, 0, 0}, {4127, 4151, 4631, 4160, 1280, 0, 0}, {520, 544, 4112, 0, 0, 0, 0}, {51, 768, 5461, 0, 0, 0, 0}, {16576, 23130, 12336, 0, 0, 0, 0}, {275, 68, 1280, 4352, 0, 0, 0}, {4156, 1536, 4176, 0, 0, 0, 0}, {4637, 119, 5397, 0, 0, 0, 0}, {1032, 5654, 68, 0, 0, 0, 0}, {95, 4192, 1280, 0, 0, 0, 0}, {160, 2560, 4096, 0, 0, 0, 0}, {51, 771, 68, 1028, 4369, 0, 0}, {2056, 4642, 16392, 0, 0, 0, 0}, {1295, 51, 771, 1360, 4099, 0, 0}, {520, 544, 68, 1028, 4100, 0, 0}, {3855, 12303, 5461, 0, 0, 0, 0}, {3084, 5734, 16396, 0, 0, 0, 0}, {1295, 1319, 1799, 1360, 4103, 0, 0}, {4104, 4128, 4608, 20480, 0, 0, 0}, {5465, 51, 771, 21845, 0, 0, 0}, {6826, 12288, 16384, 0, 0, 0, 0}, {267, 771, 1028, 272, 0, 0, 0}, {4108, 4192, 5632, 20480, 0, 0, 0}, {5469, 119, 1799, 21845, 0, 0, 0}, {4654, 8738, 68, 1028, 0, 0, 0}, {4111, 8192, 4176, 5376, 0, 0, 0}, {6832, 12336, 16448, 0, 0, 0, 0}, {266, 768, 1024, 273, 0, 0, 0}, {4120, 4144, 4626, 20560, 0, 0, 0}, {5452, 51, 768, 21760, 0, 0, 0}, {4668, 8704, 68, 1024, 0, 0, 0}, {4127, 8224, 4160, 5397, 0, 0, 0}, {4124, 4208, 5654, 20560, 0, 0, 0}, {5448, 119, 1792, 21760, 0, 0, 0}, {2048, 4656, 16456, 0, 0, 0, 0}, {1290, 51, 768, 1365, 4115, 0, 0}, {160, 2570, 4112, 0, 0, 0, 0}, {51, 768, 68, 1024, 4352, 0, 0}, {3072, 5744, 16460, 0, 0, 0, 0}, {1290, 1314, 1792, 1365, 4119, 0, 0}, {522, 546, 68, 1024, 4116, 0, 0}, {3840, 12351, 5440, 0, 0, 0, 0}, {16576, 23040, 28672, 0, 0, 0, 0}, {278, 68, 1285, 4369, 0, 0, 0}, {40, 514, 4160, 0, 0, 0, 0}, {783, 51, 5376, 0, 0, 0, 0}, {1032, 4608, 68, 0, 0, 0, 0}, {95, 4144, 1285, 0, 0, 0, 0}, {1546, 1638, 4096, 0, 0, 0, 0}, {5431, 1799, 5440, 0, 0, 0, 0}, {4680, 8704, 16448, 0, 0, 0, 0}, {4111, 51, 4864, 4176, 1285, 0, 0}, {2570, 4192, 20480, 0, 0, 0, 0}, {1032, 51, 1799, 68, 4352, 0, 0}, {204, 5632, 16384, 0, 0, 0, 0}, {95, 119, 514, 1285, 4112, 0, 0}, {4104, 4128, 514, 68, 5120, 0, 0}, {5439, 12336, 21760, 0, 0, 0, 0}, {2560, 4208, 20560, 0, 0, 0, 0}, {1036, 51, 1792, 68, 4369, 0, 0}, {4698, 8738, 16384, 0, 0, 0, 0}, {4127, 51, 4883, 4160, 1280, 0, 0}, {4120, 4144, 512, 68, 5140, 0, 0}, {5418, 12288, 21845, 0, 0, 0, 0}, {204, 5654, 16448, 0, 0, 0, 0}, {95, 119, 512, 1280, 4096, 0, 0}, {40, 512, 4176, 0, 0, 0, 0}, {780, 51, 5397, 0, 0, 0, 0}, {16512, 23130, 28784, 0, 0, 0, 0}, {279, 68, 1280, 4352, 0, 0, 0}, {1548, 1632, 4112, 0, 0, 0, 0}, {5410, 1792, 5461, 0, 0, 0, 0}, {1036, 4626, 68, 0, 0, 0, 0}, {95, 4128, 1280, 0, 0, 0, 0}, {2560, 8224, 4160, 0, 0, 0, 0}, {783, 51, 68, 1024, 4369, 0, 0}, {4714, 8738, 21026, 0, 0, 0, 0}, {4124, 51, 4883, 4163, 5395, 0, 0}, {40, 512, 68, 1024, 4096, 0, 0}, {255, 12336, 5397, 0, 0, 0, 0}, {5674, 12288, 22118, 0, 0, 0, 0}, {4120, 4144, 512, 4167, 5399, 0, 0}, {4168, 4192, 512, 20480, 0, 0, 0}, {5401, 51, 5654, 21845, 0, 0, 0}, {12480, 10794, 16448, 0, 0, 0, 0}, {51, 512, 276, 4352, 0, 0, 0}, {4172, 4128, 1536, 20480, 0, 0, 0}, {5405, 119, 4626, 21845, 0, 0, 0}, {4642, 68, 1024, 0, 0, 0, 0}, {1295, 1360, 4112, 0, 0, 0, 0}, {12528, 10752, 16384, 0, 0, 0, 0}, {51, 514, 277, 4369, 0, 0, 0}, {4184, 4208, 514, 20560, 0, 0, 0}, {5388, 51, 5632, 21760, 0, 0, 0}, {4656, 68, 1028, 0, 0, 0, 0}, {1290, 1365, 4096, 0, 0, 0, 0}, {4188, 4144, 1542, 20560, 0, 0, 0}, {5384, 119, 4608, 21760, 0, 0, 0}, {4728, 8704, 21104, 0, 0, 0, 0}, {4108, 51, 4864, 4179, 5382, 0, 0}, {2570, 8192, 4176, 0, 0, 0, 0}, {780, 51, 68, 1028, 4352, 0, 0}, {5692, 12336, 22064, 0, 0, 0, 0}, {4104, 4128, 514, 4183, 5378, 0, 0}, {40, 514, 68, 1028, 4112, 0, 0}, {255, 12288, 5376, 0, 0, 0, 0}, {6912, 13056, 17408, 0, 0, 0, 0}, {26, 48, 64, 257, 0, 0, 0}, {4360, 4386, 514, 21760, 0, 0, 0}, {5132, 48, 771, 20480, 0, 0, 0}, {4876, 8192, 64, 1028, 0, 0, 0}, {4367, 8704, 4437, 1285, 0, 0, 0}, {4364, 4454, 1542, 21760, 0, 0, 0}, {5128, 112, 1799, 20480, 0, 0, 0}, {128, 4864, 17416, 0, 0, 0, 0}, {90, 48, 771, 1285, 4355, 0, 0}, {170, 2570, 4352, 0, 0, 0, 0}, {48, 771, 64, 1028, 4096, 0, 0}, {192, 5888, 17420, 0, 0, 0, 0}, {90, 112, 514, 1285, 4359, 0, 0}, {42, 514, 64, 1028, 4356, 0, 0}, {240, 13071, 5120, 0, 0, 0, 0}, {48, 768, 64, 1024, 4112, 0, 0}, {170, 2560, 4369, 0, 0, 0, 0}, {90, 48, 768, 1280, 4370, 0, 0}, {128, 4883, 17484, 0, 0, 0, 0}, {240, 13116, 5140, 0, 0, 0, 0}, {42, 512, 64, 1024, 4373, 0, 0}, {90, 112, 512, 1280, 4374, 0, 0}, {192, 5911, 17480, 0, 0, 0, 0}, {5144, 48, 768, 20560, 0, 0, 0}, {4377, 4403, 512, 21845, 0, 0, 0}, {26, 48, 64, 256, 0, 0, 0}, {6939, 13107, 17476, 0, 0, 0, 0}, {5148, 112, 1792, 20560, 0, 0, 0}, {4381, 4471, 1536, 21845, 0, 0, 0}, {4382, 8738, 4420, 1280, 0, 0, 0}, {4895, 8224, 64, 1024, 0, 0, 0}, {2048, 4896, 17408, 0, 0, 0, 0}, {1295, 48, 771, 1365, 4369, 0, 0}, {2560, 4386, 21760, 0, 0, 0, 0}, {1036, 48, 771, 64, 4112, 0, 0}, {5928, 9252, 17476, 0, 0, 0, 0}, {4367, 4389, 512, 4437, 5120, 0, 0}, {4364, 4390, 512, 64, 5376, 0, 0}, {5160, 10023, 20560, 0, 0, 0, 0}, {17544, 6952, 13056, 0, 0, 0, 0}, {259, 64, 1301, 4096, 0, 0, 0}, {42, 512, 4352, 0, 0, 0, 0}, {48, 771, 5140, 0, 0, 0, 0}, {1036, 5920, 64, 0, 0, 0, 0}, {1295, 5154, 1365, 0, 0, 0, 0}, {1548, 5922, 4420, 0, 0, 0, 0}, {1807, 5152, 5200, 0, 0, 0, 0}, {48, 768, 5120, 0, 0, 0, 0}, {42, 514, 4369, 0, 0, 0, 0}, {258, 64, 1296, 4112, 0, 0, 0}, {17612, 6963, 13107, 0, 0, 0, 0}, {1800, 5172, 5188, 0, 0, 0, 0}, {1546, 5941, 4437, 0, 0, 0, 0}, {1290, 5174, 1360, 0, 0, 0, 0}, {1032, 5943, 64, 0, 0, 0, 0}, {1032, 48, 768, 64, 4096, 0, 0}, {2570, 4403, 21845, 0, 0, 0, 0}, {1290, 48, 768, 1360, 4352, 0, 0}, {2056, 4915, 17476, 0, 0, 0, 0}, {5180, 9984, 20480, 0, 0, 0, 0}, {4381, 4407, 514, 64, 5397, 0, 0}, {4382, 4404, 514, 4420, 5140, 0, 0}, {5951, 9216, 17408, 0, 0, 0, 0}, {4864, 64, 1024, 0, 0, 0, 0}, {90, 1285, 4369, 0, 0, 0, 0}, {4424, 4386, 5954, 21760, 0, 0, 0}, {5196, 112, 4931, 20480, 0, 0, 0}, {13260, 6980, 17476, 0, 0, 0, 0}, {48, 528, 261, 4112, 0, 0, 0}, {4428, 4454, 4934, 21760, 0, 0, 0}, {5192, 48, 5959, 20480, 0, 0, 0}, {5960, 13056, 21248, 0, 0, 0, 0}, {4377, 4403, 4883, 4419, 1285, 0, 0}, {522, 544, 64, 1024, 4352, 0, 0}, {3855, 13107, 5188, 0, 0, 0, 0}, {4940, 8192, 22272, 0, 0, 0, 0}, {4381, 48, 4626, 4423, 1285, 0, 0}, {2570, 8738, 4420, 0, 0, 0, 0}, {783, 48, 64, 1024, 4096, 0, 0}, {3840, 13056, 5200, 0, 0, 0, 0}, {520, 546, 64, 1028, 4369, 0, 0}, {4360, 4386, 4864, 4434, 1280, 0, 0}, {5983, 13107, 21331, 0, 0, 0, 0}, {780, 48, 64, 1028, 4112, 0, 0}, {2560, 8704, 4437, 0, 0, 0, 0}, {4364, 48, 4608, 4438, 1280, 0, 0}, {4959, 8224, 22359, 0, 0, 0, 0}, {5208, 112, 4944, 20560, 0, 0, 0}, {4441, 4403, 5973, 21845, 0, 0, 0}, {90, 1280, 4352, 0, 0, 0, 0}, {4883, 64, 1028, 0, 0, 0, 0}, {5212, 48, 5968, 20560, 0, 0, 0}, {4445, 4471, 4949, 21845, 0, 0, 0}, {48, 530, 260, 4096, 0, 0, 0}, {13311, 7007, 17408, 0, 0, 0, 0}, {3072, 5984, 17408, 0, 0, 0, 0}, {1295, 1317, 1799, 1365, 4369, 0, 0}, {4360, 4386, 4864, 64, 5376, 0, 0}, {5228, 13107, 20560, 0, 0, 0, 0}, {4972, 8224, 17476, 0, 0, 0, 0}, {4367, 48, 4608, 4437, 5120, 0, 0}, {2560, 4454, 21760, 0, 0, 0, 0}, {1032, 48, 1799, 64, 4112, 0, 0}, {1032, 4896, 64, 0, 0, 0, 0}, {1295, 4403, 1365, 0, 0, 0, 0}, {106, 1536, 4352, 0, 0, 0, 0}, {112, 4883, 5140, 0, 0, 0, 0}, {17612, 7020, 30464, 0, 0, 0, 0}, {263, 64, 1301, 4096, 0, 0, 0}, {520, 546, 4420, 0, 0, 0, 0}, {783, 48, 5200, 0, 0, 0, 0}, {112, 4864, 5120, 0, 0, 0, 0}, {106, 1542, 4369, 0, 0, 0, 0}, {1290, 4386, 1360, 0, 0, 0, 0}, {1036, 4915, 64, 0, 0, 0, 0}, {780, 48, 5188, 0, 0, 0, 0}, {522, 544, 4437, 0, 0, 0, 0}, {262, 64, 1296, 4112, 0, 0, 0}, {17544, 7031, 30583, 0, 0, 0, 0}, {5240, 13056, 20480, 0, 0, 0, 0}, {4377, 4403, 4883, 64, 5397, 0, 0}, {1290, 1312, 1792, 1360, 4352, 0, 0}, {3084, 6007, 17476, 0, 0, 0, 0}, {1036, 48, 1792, 64, 4096, 0, 0}, {2570, 4471, 21845, 0, 0, 0, 0}, {4382, 48, 4626, 4420, 5140, 0, 0}, {4991, 8192, 17408, 0, 0, 0, 0}, {128, 4864, 17408, 0, 0, 0, 0}, {90, 48, 771, 1285, 4369, 0, 0}, {2570, 4386, 21760, 0, 0, 0, 0}, {1036, 48, 771, 64, 4096, 0, 0}, {5960, 9284, 17476, 0, 0, 0, 0}, {4367, 4389, 4869, 4437, 1285, 0, 0}, {4364, 4390, 4870, 64, 5376, 0, 0}, {5240, 10103, 20480, 0, 0, 0, 0}, {17544, 24320, 13056, 0, 0, 0, 0}, {275, 64, 1285, 4112, 0, 0, 0}, {522, 544, 4352, 0, 0, 0, 0}, {48, 771, 5188, 0, 0, 0, 0}, {1036, 5888, 64, 0, 0, 0, 0}, {90, 4471, 1285, 0, 0, 0, 0}, {4398, 1542, 4420, 0, 0, 0, 0}, {4879, 112, 5120, 0, 0, 0, 0}, {48, 768, 5200, 0, 0, 0, 0}, {520, 546, 4369, 0, 0, 0, 0}, {274, 64, 1280, 4096, 0, 0, 0}, {17612, 24415, 13107, 0, 0, 0, 0}, {4892, 112, 5140, 0, 0, 0, 0}, {4415, 1536, 4437, 0, 0, 0, 0}, {90, 4454, 1280, 0, 0, 0, 0}, {1032, 5911, 64, 0, 0, 0, 0}, {1032, 48, 768, 64, 4112, 0, 0}, {2560, 4403, 21845, 0, 0, 0, 0}, {90, 48, 768, 1280, 4352, 0, 0}, {128, 4883, 17476, 0, 0, 0, 0}, {5228, 10064, 20560, 0, 0, 0, 0}, {4381, 4407, 4885, 64, 5397, 0, 0}, {4382, 4404, 4886, 4420, 1280, 0, 0}, {5983, 9312, 17408, 0, 0, 0, 0}, {7072, 13056, 17408, 0, 0, 0, 0}, {267, 771, 1028, 273, 0, 0, 0}, {4360, 4386, 4864, 21760, 0, 0, 0}, {5212, 48, 771, 20560, 0, 0, 0}, {4908, 8224, 64, 1028, 0, 0, 0}, {4367, 8704, 4437, 5120, 0, 0, 0}, {4364, 4454, 5888, 21760, 0, 0, 0}, {5208, 112, 1799, 20560, 0, 0, 0}, {2056, 4896, 17416, 0, 0, 0, 0}, {1295, 48, 771, 1365, 4355, 0, 0}, {170, 2560, 4352, 0, 0, 0, 0}, {48, 771, 64, 1028, 4112, 0, 0}, {3084, 5984, 17420, 0, 0, 0, 0}, {1295, 1317, 1799, 1365, 4359, 0, 0}, {520, 546, 64, 1028, 4356, 0, 0}, {3855, 13071, 5200, 0, 0, 0, 0}, {48, 768, 64, 1024, 4096, 0, 0}, {170, 2570, 4369, 0, 0, 0, 0}, {1290, 48, 768, 1360, 4370, 0, 0}, {2048, 4915, 17484, 0, 0, 0, 0}, {3840, 13116, 5188, 0, 0, 0, 0}, {522, 544, 64, 1024, 4373, 0, 0}, {1290, 1312, 1792, 1360, 4374, 0, 0}, {3072, 6007, 17480, 0, 0, 0, 0}, {5192, 48, 768, 20480, 0, 0, 0}, {4377, 4403, 4883, 21845, 0, 0, 0}, {266, 768, 1024, 272, 0, 0, 0}, {7099, 13107, 17476, 0, 0, 0, 0}, {5196, 112, 1792, 20480, 0, 0, 0}, {4381, 4471, 5911, 21845, 0, 0, 0}, {4382, 8738, 4420, 5140, 0, 0, 0}, {4927, 8192, 64, 1024, 0, 0, 0}, {192, 5888, 17408, 0, 0, 0, 0}, {90, 112, 514, 1285, 4369, 0, 0}, {4360, 4386, 514, 64, 5376, 0, 0}, {5180, 13107, 20480, 0, 0, 0, 0}, {4940, 8192, 17476, 0, 0, 0, 0}, {4367, 48, 4608, 4437, 1285, 0, 0}, {2570, 4454, 21760, 0, 0, 0, 0}, {1032, 48, 1799, 64, 4096, 0, 0}, {1032, 4864, 64, 0, 0, 0, 0}, {90, 4403, 1285, 0, 0, 0, 0}, {1546, 1632, 4352, 0, 0, 0, 0}, {5172, 1799, 5188, 0, 0, 0, 0}, {17612, 24320, 30464, 0, 0, 0, 0}, {279, 64, 1285, 4112, 0, 0, 0}, {42, 514, 4420, 0, 0, 0, 0}, {783, 48, 5120, 0, 0, 0, 0}, {5152, 1792, 5200, 0, 0, 0, 0}, {1548, 1638, 4369, 0, 0, 0, 0}, {90, 4386, 1280, 0, 0, 0, 0}, {1036, 4883, 64, 0, 0, 0, 0}, {780, 48, 5140, 0, 0, 0, 0}, {42, 512, 4437, 0, 0, 0, 0}, {278, 64, 1280, 4096, 0, 0, 0}, {17544, 24415, 30583, 0, 0, 0, 0}, {5160, 13056, 20560, 0, 0, 0, 0}, {4377, 4403, 512, 64, 5397, 0, 0}, {90, 112, 512, 1280, 4352, 0, 0}, {192, 5911, 17476, 0, 0, 0, 0}, {1036, 48, 1792, 64, 4112, 0, 0}, {2560, 4471, 21845, 0, 0, 0, 0}, {4382, 48, 4626, 4420, 1280, 0, 0}, {4959, 8224, 17408, 0, 0, 0, 0}, {4896, 64, 1024, 0, 0, 0, 0}, {1295, 1365, 4369, 0, 0, 0, 0}, {4424, 4386, 1536, 21760, 0, 0, 0}, {5148, 112, 4883, 20560, 0, 0, 0}, {13260, 10280, 17476, 0, 0, 0, 0}, {48, 512, 277, 4096, 0, 0, 0}, {4428, 4454, 512, 21760, 0, 0, 0}, {5144, 48, 5911, 20560, 0, 0, 0}, {5928, 13056, 21344, 0, 0, 0, 0}, {4377, 4403, 512, 4419, 5142, 0, 0}, {42, 512, 64, 1024, 4352, 0, 0}, {240, 13107, 5140, 0, 0, 0, 0}, {4972, 8224, 22304, 0, 0, 0, 0}, {4381, 48, 4626, 4423, 5138, 0, 0}, {2560, 8738, 4420, 0, 0, 0, 0}, {783, 48, 64, 1024, 4112, 0, 0}, {240, 13056, 5120, 0, 0, 0, 0}, {42, 514, 64, 1028, 4369, 0, 0}, {4360, 4386, 514, 4434, 5122, 0, 0}, {5951, 13107, 21299, 0, 0, 0, 0}, {780, 48, 64, 1028, 4096, 0, 0}, {2570, 8704, 4437, 0, 0, 0, 0}, {4364, 48, 4608, 4438, 5126, 0, 0}, {4991, 8192, 22391, 0, 0, 0, 0}, {5128, 112, 4864, 20480, 0, 0, 0}, {4441, 4403, 1542, 21845, 0, 0, 0}, {1290, 1360, 4352, 0, 0, 0, 0}, {4915, 64, 1028, 0, 0, 0, 0}, {5132, 48, 5888, 20480, 0, 0, 0}, {4445, 4471, 514, 21845, 0, 0, 0}, {48, 514, 276, 4112, 0, 0, 0}, {13311, 10240, 17408, 0, 0, 0, 0}, {7168, 8192, 20480, 0, 0, 0, 0}, {29, 34, 85, 257, 0, 0, 0}, {5130, 34, 514, 17408, 0, 0, 0}, {4111, 4144, 771, 16384, 0, 0, 0}, {4104, 12288, 4160, 1028, 0, 0, 0}, {4874, 13056, 85, 1285, 0, 0, 0}, {4106, 4192, 1542, 16384, 0, 0, 0}, {5135, 119, 1799, 17408, 0, 0, 0}, {136, 8200, 5120, 0, 0, 0, 0}, {63, 771, 85, 1285, 4101, 0, 0}, {170, 5632, 20490, 0, 0, 0, 0}, {72, 119, 771, 1028, 4103, 0, 0}, {192, 3084, 4096, 0, 0, 0, 0}, {34, 514, 85, 1285, 4352, 0, 0}, {72, 34, 514, 1028, 4098, 0, 0}, {255, 4864, 20495, 0, 0, 0, 0}, {192, 3072, 4112, 0, 0, 0, 0}, {34, 512, 85, 1280, 4369, 0, 0}, {72, 34, 512, 1024, 4114, 0, 0}, {255, 4883, 20575, 0, 0, 0, 0}, {136, 8232, 5140, 0, 0, 0, 0}, {63, 768, 85, 1280, 4117, 0, 0}, {170, 5654, 20570, 0, 0, 0, 0}, {72, 119, 768, 1024, 4119, 0, 0}, {4120, 12336, 4176, 1024, 0, 0, 0}, {4889, 13107, 85, 1280, 0, 0, 0}, {4122, 4208, 1536, 16448, 0, 0, 0}, {5147, 119, 1792, 17476, 0, 0, 0}, {7196, 8224, 20560, 0, 0, 0, 0}, {29, 34, 85, 256, 0, 0, 0}, {5150, 34, 512, 17476, 0, 0, 0}, {4127, 4128, 768, 16448, 0, 0, 0}, {20640, 7200, 8224, 0, 0, 0, 0}, {259, 85, 1041, 4369, 0, 0, 0}, {34, 512, 5120, 0, 0, 0, 0}, {63, 771, 4112, 0, 0, 0, 0}, {1036, 5156, 1092, 0, 0, 0, 0}, {1295, 5669, 85, 0, 0, 0, 0}, {1548, 5670, 4160, 0, 0, 0, 0}, {1807, 5159, 5200, 0, 0, 0, 0}, {5160, 13312, 17408, 0, 0, 0, 0}, {4122, 4133, 771, 85, 5397, 0, 0}, {5674, 13824, 20480, 0, 0, 0, 0}, {4120, 4135, 771, 4176, 5140, 0, 0}, {3084, 4128, 16448, 0, 0, 0, 0}, {1295, 34, 512, 85, 4352, 0, 0}, {1036, 34, 512, 1092, 4096, 0, 0}, {3855, 4896, 20560, 0, 0, 0, 0}, {3072, 4144, 16384, 0, 0, 0, 0}, {1290, 34, 514, 85, 4369, 0, 0}, {1032, 34, 514, 1088, 4112, 0, 0}, {3840, 4915, 20480, 0, 0, 0, 0}, {5180, 13364, 17476, 0, 0, 0, 0}, {4106, 4149, 768, 85, 5376, 0, 0}, {5692, 13878, 20560, 0, 0, 0, 0}, {4104, 4151, 768, 4160, 5120, 0, 0}, {1032, 5168, 1088, 0, 0, 0, 0}, {1290, 5683, 85, 0, 0, 0, 0}, {1546, 5680, 4176, 0, 0, 0, 0}, {1800, 5171, 5188, 0, 0, 0, 0}, {20720, 7228, 8192, 0, 0, 0, 0}, {258, 85, 1045, 4352, 0, 0, 0}, {34, 514, 5140, 0, 0, 0, 0}, {63, 768, 4096, 0, 0, 0, 0}, {3072, 12288, 4160, 0, 0, 0, 0}, {522, 34, 85, 1285, 4369, 0, 0}, {4106, 34, 4608, 4162, 1024, 0, 0}, {4940, 13107, 17219, 0, 0, 0, 0}, {2048, 8192, 5188, 0, 0, 0, 0}, {783, 816, 85, 1285, 4112, 0, 0}, {5708, 8224, 17990, 0, 0, 0, 0}, {4111, 4144, 4864, 4167, 1024, 0, 0}, {72, 1024, 4096, 0, 0, 0, 0}, {4883, 85, 1285, 0, 0, 0, 0}, {4170, 4128, 5696, 16448, 0, 0, 0}, {5195, 119, 4932, 17476, 0, 0, 0}, {8320, 7244, 20480, 0, 0, 0, 0}, {34, 786, 261, 4352, 0, 0, 0}, {5198, 34, 5700, 17476, 0, 0, 0}, {4175, 4208, 4928, 16448, 0, 0, 0}, {8352, 7248, 20560, 0, 0, 0, 0}, {34, 785, 260, 4369, 0, 0, 0}, {5210, 34, 5714, 17408, 0, 0, 0}, {4191, 4192, 4947, 16384, 0, 0, 0}, {72, 1028, 4112, 0, 0, 0, 0}, {4864, 85, 1280, 0, 0, 0, 0}, {4186, 4144, 5718, 16384, 0, 0, 0}, {5215, 119, 4951, 17408, 0, 0, 0}, {2056, 8224, 5200, 0, 0, 0, 0}, {780, 819, 85, 1280, 4096, 0, 0}, {5722, 8192, 17920, 0, 0, 0, 0}, {4127, 4128, 4883, 4183, 1028, 0, 0}, {3084, 12336, 4176, 0, 0, 0, 0}, {520, 34, 85, 1280, 4352, 0, 0}, {4122, 34, 4626, 4178, 1028, 0, 0}, {4959, 13056, 17152, 0, 0, 0, 0}, {3072, 4192, 16384, 0, 0, 0, 0}, {1295, 34, 1799, 85, 4369, 0, 0}, {4104, 34, 4608, 4160, 5120, 0, 0}, {4972, 13107, 20560, 0, 0, 0, 0}, {5228, 8224, 17476, 0, 0, 0, 0}, {4111, 4144, 4864, 85, 5376, 0, 0}, {2560, 5734, 20480, 0, 0, 0, 0}, {1032, 1079, 1799, 1088, 4112, 0, 0}, {1032, 4128, 1088, 0, 0, 0, 0}, {1295, 4915, 85, 0, 0, 0, 0}, {106, 1536, 4096, 0, 0, 0, 0}, {119, 4883, 5140, 0, 0, 0, 0}, {20640, 7276, 28672, 0, 0, 0, 0}, {263, 85, 1045, 4352, 0, 0, 0}, {520, 34, 5188, 0, 0, 0, 0}, {783, 816, 4176, 0, 0, 0, 0}, {20720, 7280, 28784, 0, 0, 0, 0}, {262, 85, 1041, 4369, 0, 0, 0}, {522, 34, 5200, 0, 0, 0, 0}, {780, 819, 4160, 0, 0, 0, 0}, {1036, 4144, 1092, 0, 0, 0, 0}, {1290, 4896, 85, 0, 0, 0, 0}, {106, 1542, 4112, 0, 0, 0, 0}, {119, 4864, 5120, 0, 0, 0, 0}, {5240, 8192, 17408, 0, 0, 0, 0}, {4127, 4128, 4883, 85, 5397, 0, 0}, {2570, 5744, 20560, 0, 0, 0, 0}, {1036, 1075, 1792, 1092, 4096, 0, 0}, {3084, 4208, 16448, 0, 0, 0, 0}, {1290, 34, 1792, 85, 4352, 0, 0}, {4120, 34, 4626, 4176, 5140, 0, 0}, {4991, 13056, 20480, 0, 0, 0, 0}, {8320, 15360, 20480, 0, 0, 0, 0}, {34, 771, 276, 4369, 0, 0, 0}, {5130, 34, 5632, 17408, 0, 0, 0}, {4175, 4208, 771, 16448, 0, 0, 0}, {1036, 1092, 4096, 0, 0, 0, 0}, {4896, 85, 1285, 0, 0, 0, 0}, {4170, 4128, 1542, 16448, 0, 0, 0}, {5135, 119, 4864, 17408, 0, 0, 0}, {136, 8192, 5120, 0, 0, 0, 0}, {63, 771, 85, 1285, 4112, 0, 0}, {5674, 8224, 17952, 0, 0, 0, 0}, {4111, 4144, 771, 4167, 5123, 0, 0}, {3084, 12288, 4160, 0, 0, 0, 0}, {522, 34, 85, 1285, 4352, 0, 0}, {4106, 34, 4608, 4162, 5126, 0, 0}, {4991, 13056, 17264, 0, 0, 0, 0}, {3072, 12336, 4176, 0, 0, 0, 0}, {520, 34, 85, 1280, 4369, 0, 0}, {4122, 34, 4626, 4178, 5138, 0, 0}, {4972, 13107, 17203, 0, 0, 0, 0}, {136, 8224, 5140, 0, 0, 0, 0}, {63, 768, 85, 1280, 4096, 0, 0}, {5692, 8192, 18022, 0, 0, 0, 0}, {4127, 4128, 768, 4183, 5143, 0, 0}, {1032, 1088, 4112, 0, 0, 0, 0}, {4915, 85, 1280, 0, 0, 0, 0}, {4186, 4144, 1536, 16384, 0, 0, 0}, {5147, 119, 4883, 17476, 0, 0, 0}, {8352, 15420, 20560, 0, 0, 0, 0}, {34, 768, 277, 4352, 0, 0, 0}, {5150, 34, 5654, 17476, 0, 0, 0}, {4191, 4192, 768, 16384, 0, 0, 0}, {20640, 19456, 28672, 0, 0, 0, 0}, {278, 85, 1028, 4369, 0, 0, 0}, {520, 34, 5120, 0, 0, 0, 0}, {63, 771, 4176, 0, 0, 0, 0}, {72, 4128, 1028, 0, 0, 0, 0}, {1295, 4864, 85, 0, 0, 0, 0}, {1548, 1638, 4096, 0, 0, 0, 0}, {5159, 1799, 5200, 0, 0, 0, 0}, {5160, 8224, 17408, 0, 0, 0, 0}, {4111, 4144, 771, 85, 5376, 0, 0}, {170, 5632, 20480, 0, 0, 0, 0}, {72, 119, 771, 1028, 4112, 0, 0}, {3084, 4192, 16384, 0, 0, 0, 0}, {1295, 34, 1799, 85, 4352, 0, 0}, {4104, 34, 4608, 4160, 1028, 0, 0}, {4959, 13056, 20560, 0, 0, 0, 0}, {3072, 4208, 16448, 0, 0, 0, 0}, {1290, 34, 1792, 85, 4369, 0, 0}, {4120, 34, 4626, 4176, 1024, 0, 0}, {4940, 13107, 20480, 0, 0, 0, 0}, {5180, 8192, 17476, 0, 0, 0, 0}, {4127, 4128, 768, 85, 5397, 0, 0}, {170, 5654, 20560, 0, 0, 0, 0}, {72, 119, 768, 1024, 4096, 0, 0}, {72, 4144, 1024, 0, 0, 0, 0}, {1290, 4883, 85, 0, 0, 0, 0}, {1546, 1632, 4112, 0, 0, 0, 0}, {5171, 1792, 5188, 0, 0, 0, 0}, {20720, 19532, 28784, 0, 0, 0, 0}, {279, 85, 1024, 4352, 0, 0, 0}, {522, 34, 5140, 0, 0, 0, 0}, {63, 768, 4160, 0, 0, 0, 0}, {192, 3072, 4096, 0, 0, 0, 0}, {34, 514, 85, 1285, 4369, 0, 0}, {1032, 34, 514, 1088, 4098, 0, 0}, {3855, 4915, 20495, 0, 0, 0, 0}, {2056, 8200, 5188, 0, 0, 0, 0}, {783, 816, 85, 1285, 4101, 0, 0}, {2570, 5734, 20490, 0, 0, 0, 0}, {1032, 1079, 1799, 1088, 4103, 0, 0}, {4104, 12288, 4160, 5120, 0, 0, 0}, {4921, 13107, 85, 1285, 0, 0, 0}, {4106, 4192, 5632, 16384, 0, 0, 0}, {5195, 119, 1799, 17476, 0, 0, 0}, {7372, 8192, 20480, 0, 0, 0, 0}, {269, 514, 1285, 272, 0, 0, 0}, {5198, 34, 514, 17476, 0, 0, 0}, {4111, 4144, 4864, 16384, 0, 0, 0}, {7376, 8224, 20560, 0, 0, 0, 0}, {268, 512, 1280, 273, 0, 0, 0}, {5210, 34, 512, 17408, 0, 0, 0}, {4127, 4128, 4883, 16448, 0, 0, 0}, {4120, 12336, 4176, 5140, 0, 0, 0}, {4906, 13056, 85, 1280, 0, 0, 0}, {4122, 4208, 5654, 16448, 0, 0, 0}, {5215, 119, 1792, 17408, 0, 0, 0}, {2048, 8232, 5200, 0, 0, 0, 0}, {780, 819, 85, 1280, 4117, 0, 0}, {2560, 5744, 20570, 0, 0, 0, 0}, {1036, 1075, 1792, 1092, 4119, 0, 0}, {192, 3084, 4112, 0, 0, 0, 0}, {34, 512, 85, 1280, 4352, 0, 0}, {1036, 34, 512, 1092, 4114, 0, 0}, {3840, 4896, 20575, 0, 0, 0, 0}, {3072, 4128, 16448, 0, 0, 0, 0}, {1295, 34, 512, 85, 4369, 0, 0}, {72, 34, 512, 1024, 4096, 0, 0}, {255, 4883, 20560, 0, 0, 0, 0}, {5228, 13380, 17476, 0, 0, 0, 0}, {4122, 4133, 4885, 85, 5397, 0, 0}, {5708, 13926, 20480, 0, 0, 0, 0}, {4120, 4135, 4887, 4176, 1024, 0, 0}, {72, 4192, 1024, 0, 0, 0, 0}, {1295, 5654, 85, 0, 0, 0, 0}, {4138, 1536, 4160, 0, 0, 0, 0}, {4891, 119, 5140, 0, 0, 0, 0}, {20640, 19532, 8224, 0, 0, 0, 0}, {274, 85, 1024, 4352, 0, 0, 0}, {34, 512, 5188, 0, 0, 0, 0}, {783, 816, 4112, 0, 0, 0, 0}, {20720, 19456, 8192, 0, 0, 0, 0}, {275, 85, 1028, 4369, 0, 0, 0}, {34, 514, 5200, 0, 0, 0, 0}, {780, 819, 4096, 0, 0, 0, 0}, {72, 4208, 1028, 0, 0, 0, 0}, {1290, 5632, 85, 0, 0, 0, 0}, {4154, 1542, 4176, 0, 0, 0, 0}, {4872, 119, 5120, 0, 0, 0, 0}, {5240, 13424, 17408, 0, 0, 0, 0}, {4106, 4149, 4870, 85, 5376, 0, 0}, {5722, 13904, 20560, 0, 0, 0, 0}, {4104, 4151, 4868, 4160, 1028, 0, 0}, {3084, 4144, 16384, 0, 0, 0, 0}, {1290, 34, 514, 85, 4352, 0, 0}, {72, 34, 514, 1028, 4112, 0, 0}, {255, 4864, 20480, 0, 0, 0, 0}, {7424, 8704, 21760, 0, 0, 0, 0}, {28, 32, 80, 257, 0, 0, 0}, {5386, 32, 514, 16384, 0, 0, 0}, {4367, 4403, 771, 17408, 0, 0, 0}, {4360, 13056, 4420, 1028, 0, 0, 0}, {4618, 12288, 80, 1285, 0, 0, 0}, {4362, 4454, 1542, 17408, 0, 0, 0}, {5391, 112, 1799, 16384, 0, 0, 0}, {128, 8712, 5376, 0, 0, 0, 0}, {60, 771, 80, 1285, 4357, 0, 0}, {160, 5888, 21770, 0, 0, 0, 0}, {76, 112, 771, 1028, 4359, 0, 0}, {204, 3084, 4352, 0, 0, 0, 0}, {32, 514, 80, 1285, 4096, 0, 0}, {76, 32, 514, 1028, 4354, 0, 0}, {240, 4608, 21775, 0, 0, 0, 0}, {32, 512, 80, 1280, 4112, 0, 0}, {204, 3072, 4369, 0, 0, 0, 0}, {240, 4626, 21850, 0, 0, 0, 0}, {76, 32, 512, 1024, 4371, 0, 0}, {60, 768, 80, 1280, 4372, 0, 0}, {128, 8746, 5397, 0, 0, 0, 0}, {76, 112, 768, 1024, 4374, 0, 0}, {160, 5911, 21855, 0, 0, 0, 0}, {4632, 12336, 80, 1280, 0, 0, 0}, {4377, 13107, 4437, 1024, 0, 0, 0}, {5402, 112, 1792, 16448, 0, 0, 0}, {4379, 4471, 1536, 17476, 0, 0, 0}, {28, 32, 80, 256, 0, 0, 0}, {7453, 8738, 21845, 0, 0, 0, 0}, {4382, 4386, 768, 17476, 0, 0, 0}, {5407, 32, 512, 16448, 0, 0, 0}, {32, 512, 5376, 0, 0, 0, 0}, {60, 771, 4369, 0, 0, 0, 0}, {21930, 7458, 8738, 0, 0, 0, 0}, {259, 80, 1040, 4112, 0, 0, 0}, {1548, 5924, 4420, 0, 0, 0, 0}, {1807, 5413, 5461, 0, 0, 0, 0}, {1036, 5414, 1088, 0, 0, 0, 0}, {1295, 5927, 80, 0, 0, 0, 0}, {5928, 13568, 21760, 0, 0, 0, 0}, {4377, 4389, 771, 4437, 5397, 0, 0}, {5418, 14080, 16384, 0, 0, 0, 0}, {4379, 4391, 771, 80, 5140, 0, 0}, {1036, 32, 512, 1088, 4352, 0, 0}, {3855, 4642, 21845, 0, 0, 0, 0}, {3084, 4386, 17476, 0, 0, 0, 0}, {1295, 32, 512, 80, 4096, 0, 0}, {3840, 4656, 21760, 0, 0, 0, 0}, {1032, 32, 514, 1092, 4369, 0, 0}, {1290, 32, 514, 80, 4112, 0, 0}, {3072, 4403, 17408, 0, 0, 0, 0}, {4360, 4404, 768, 4420, 5376, 0, 0}, {5951, 13621, 21845, 0, 0, 0, 0}, {4362, 4406, 768, 80, 5120, 0, 0}, {5439, 14135, 16448, 0, 0, 0, 0}, {1800, 5424, 5440, 0, 0, 0, 0}, {1546, 5939, 4437, 0, 0, 0, 0}, {1290, 5936, 80, 0, 0, 0, 0}, {1032, 5427, 1092, 0, 0, 0, 0}, {60, 768, 4352, 0, 0, 0, 0}, {32, 514, 5397, 0, 0, 0, 0}, {258, 80, 1044, 4096, 0, 0, 0}, {22015, 7487, 8704, 0, 0, 0, 0}, {2048, 8704, 5440, 0, 0, 0, 0}, {783, 819, 80, 1285, 4369, 0, 0}, {5960, 8738, 16962, 0, 0, 0, 0}, {4367, 4403, 4608, 4419, 1024, 0, 0}, {3072, 13056, 4420, 0, 0, 0, 0}, {522, 32, 80, 1285, 4112, 0, 0}, {4362, 32, 4864, 4422, 1024, 0, 0}, {4680, 12336, 18247, 0, 0, 0, 0}, {8840, 7496, 21760, 0, 0, 0, 0}, {32, 787, 261, 4096, 0, 0, 0}, {5450, 32, 5952, 16448, 0, 0, 0}, {4427, 4471, 4676, 17476, 0, 0, 0}, {76, 1024, 4352, 0, 0, 0, 0}, {4626, 80, 1285, 0, 0, 0, 0}, {4430, 4386, 5956, 17476, 0, 0, 0}, {5455, 112, 4672, 16448, 0, 0, 0}, {4608, 80, 1280, 0, 0, 0, 0}, {76, 1028, 4369, 0, 0, 0, 0}, {5466, 112, 4690, 16384, 0, 0, 0}, {4447, 4403, 5971, 17408, 0, 0, 0}, {32, 784, 260, 4112, 0, 0, 0}, {8874, 7509, 21845, 0, 0, 0, 0}, {4442, 4454, 4694, 17408, 0, 0, 0}, {5471, 32, 5975, 16384, 0, 0, 0}, {520, 32, 80, 1280, 4096, 0, 0}, {3084, 13107, 4437, 0, 0, 0, 0}, {4698, 12288, 18176, 0, 0, 0, 0}, {4379, 32, 4883, 4439, 1028, 0, 0}, {780, 816, 80, 1280, 4352, 0, 0}, {2056, 8738, 5461, 0, 0, 0, 0}, {4382, 4386, 4626, 4434, 1028, 0, 0}, {5983, 8704, 16896, 0, 0, 0, 0}, {2560, 5984, 21760, 0, 0, 0, 0}, {1032, 1076, 1799, 1092, 4369, 0, 0}, {5482, 8738, 16448, 0, 0, 0, 0}, {4367, 4403, 4608, 80, 5120, 0, 0}, {4360, 32, 4864, 4420, 5376, 0, 0}, {4714, 12336, 21845, 0, 0, 0, 0}, {3072, 4454, 17408, 0, 0, 0, 0}, {1295, 32, 1799, 80, 4112, 0, 0}, {520, 32, 5440, 0, 0, 0, 0}, {783, 819, 4437, 0, 0, 0, 0}, {21930, 7530, 30464, 0, 0, 0, 0}, {263, 80, 1044, 4096, 0, 0, 0}, {108, 1536, 4352, 0, 0, 0, 0}, {112, 4626, 5397, 0, 0, 0, 0}, {1032, 4386, 1092, 0, 0, 0, 0}, {1295, 4656, 80, 0, 0, 0, 0}, {112, 4608, 5376, 0, 0, 0, 0}, {108, 1542, 4369, 0, 0, 0, 0}, {1290, 4642, 80, 0, 0, 0, 0}, {1036, 4403, 1088, 0, 0, 0, 0}, {780, 816, 4420, 0, 0, 0, 0}, {522, 32, 5461, 0, 0, 0, 0}, {262, 80, 1040, 4112, 0, 0, 0}, {22015, 7543, 30583, 0, 0, 0, 0}, {4728, 12288, 21760, 0, 0, 0, 0}, {4377, 32, 4883, 4437, 5397, 0, 0}, {1290, 32, 1792, 80, 4096, 0, 0}, {3084, 4471, 17476, 0, 0, 0, 0}, {1036, 1072, 1792, 1088, 4352, 0, 0}, {2570, 6007, 21845, 0, 0, 0, 0}, {4382, 4386, 4626, 80, 5140, 0, 0}, {5503, 8704, 16384, 0, 0, 0, 0}, {128, 8704, 5376, 0, 0, 0, 0}, {60, 771, 80, 1285, 4369, 0, 0}, {5928, 8738, 16930, 0, 0, 0, 0}, {4367, 4403, 771, 4419, 5379, 0, 0}, {3084, 13056, 4420, 0, 0, 0, 0}, {522, 32, 80, 1285, 4096, 0, 0}, {4362, 32, 4864, 4422, 5382, 0, 0}, {4728, 12288, 18295, 0, 0, 0, 0}, {8840, 16128, 21760, 0, 0, 0, 0}, {32, 771, 277, 4112, 0, 0, 0}, {5386, 32, 5888, 16384, 0, 0, 0}, {4427, 4471, 771, 17476, 0, 0, 0}, {1036, 1088, 4352, 0, 0, 0, 0}, {4642, 80, 1285, 0, 0, 0, 0}, {4430, 4386, 1542, 17476, 0, 0, 0}, {5391, 112, 4608, 16384, 0, 0, 0}, {4656, 80, 1280, 0, 0, 0, 0}, {1032, 1092, 4369, 0, 0, 0, 0}, {5402, 112, 4626, 16448, 0, 0, 0}, {4447, 4403, 1536, 17408, 0, 0, 0}, {32, 768, 276, 4096, 0, 0, 0}, {8874, 16191, 21845, 0, 0, 0, 0}, {4442, 4454, 768, 17408, 0, 0, 0}, {5407, 32, 5911, 16448, 0, 0, 0}, {520, 32, 80, 1280, 4112, 0, 0}, {3072, 13107, 4437, 0, 0, 0, 0}, {4714, 12336, 18224, 0, 0, 0, 0}, {4379, 32, 4883, 4439, 5395, 0, 0}, {60, 768, 80, 1280, 4352, 0, 0}, {128, 8738, 5397, 0, 0, 0, 0}, {4382, 4386, 768, 4434, 5398, 0, 0}, {5951, 8704, 16992, 0, 0, 0, 0}, {160, 5888, 21760, 0, 0, 0, 0}, {76, 112, 771, 1028, 4369, 0, 0}, {5418, 8738, 16384, 0, 0, 0, 0}, {4367, 4403, 771, 80, 5120, 0, 0}, {4360, 32, 4864, 4420, 1028, 0, 0}, {4698, 12288, 21845, 0, 0, 0, 0}, {3084, 4454, 17408, 0, 0, 0, 0}, {1295, 32, 1799, 80, 4096, 0, 0}, {520, 32, 5376, 0, 0, 0, 0}, {60, 771, 4437, 0, 0, 0, 0}, {21930, 18432, 30464, 0, 0, 0, 0}, {279, 80, 1028, 4112, 0, 0, 0}, {1548, 1632, 4352, 0, 0, 0, 0}, {5413, 1799, 5461, 0, 0, 0, 0}, {76, 4386, 1028, 0, 0, 0, 0}, {1295, 4608, 80, 0, 0, 0, 0}, {5424, 1792, 5440, 0, 0, 0, 0}, {1546, 1638, 4369, 0, 0, 0, 0}, {1290, 4626, 80, 0, 0, 0, 0}, {76, 4403, 1024, 0, 0, 0, 0}, {60, 768, 4420, 0, 0, 0, 0}, {522, 32, 5397, 0, 0, 0, 0}, {278, 80, 1024, 4096, 0, 0, 0}, {22015, 18504, 30583, 0, 0, 0, 0}, {4680, 12336, 21760, 0, 0, 0, 0}, {4377, 32, 4883, 4437, 1024, 0, 0}, {1290, 32, 1792, 80, 4112, 0, 0}, {3072, 4471, 17476, 0, 0, 0, 0}, {76, 112, 768, 1024, 4352, 0, 0}, {160, 5911, 21845, 0, 0, 0, 0}, {4382, 4386, 768, 80, 5140, 0, 0}, {5439, 8704, 16448, 0, 0, 0, 0}, {7616, 8704, 21760, 0, 0, 0, 0}, {269, 514, 1285, 273, 0, 0, 0}, {5450, 32, 514, 16448, 0, 0, 0}, {4367, 4403, 4608, 17408, 0, 0, 0}, {4360, 13056, 4420, 5376, 0, 0, 0}, {4666, 12336, 80, 1285, 0, 0, 0}, {4362, 4454, 5888, 17408, 0, 0, 0}, {5455, 112, 1799, 16448, 0, 0, 0}, {2056, 8712, 5440, 0, 0, 0, 0}, {783, 819, 80, 1285, 4357, 0, 0}, {2570, 5984, 21770, 0, 0, 0, 0}, {1032, 1076, 1799, 1092, 4359, 0, 0}, {204, 3072, 4352, 0, 0, 0, 0}, {32, 514, 80, 1285, 4112, 0, 0}, {1032, 32, 514, 1092, 4354, 0, 0}, {3855, 4656, 21775, 0, 0, 0, 0}, {32, 512, 80, 1280, 4096, 0, 0}, {204, 3084, 4369, 0, 0, 0, 0}, {3840, 4642, 21850, 0, 0, 0, 0}, {1036, 32, 512, 1088, 4371, 0, 0}, {780, 816, 80, 1280, 4372, 0, 0}, {2048, 8746, 5461, 0, 0, 0, 0}, {1036, 1072, 1792, 1088, 4374, 0, 0}, {2560, 6007, 21855, 0, 0, 0, 0}, {4648, 12288, 80, 1280, 0, 0, 0}, {4377, 13107, 4437, 5397, 0, 0, 0}, {5466, 112, 1792, 16384, 0, 0, 0}, {4379, 4471, 5911, 17476, 0, 0, 0}, {268, 512, 1280, 272, 0, 0, 0}, {7645, 8738, 21845, 0, 0, 0, 0}, {4382, 4386, 4626, 17476, 0, 0, 0}, {5471, 32, 512, 16384, 0, 0, 0}, {32, 512, 5440, 0, 0, 0, 0}, {783, 819, 4369, 0, 0, 0, 0}, {21930, 18504, 8738, 0, 0, 0, 0}, {275, 80, 1024, 4096, 0, 0, 0}, {4392, 1536, 4420, 0, 0, 0, 0}, {4634, 112, 5397, 0, 0, 0, 0}, {76, 4454, 1024, 0, 0, 0, 0}, {1295, 5911, 80, 0, 0, 0, 0}, {5960, 13664, 21760, 0, 0, 0, 0}, {4377, 4389, 4630, 4437, 1024, 0, 0}, {5482, 14144, 16448, 0, 0, 0, 0}, {4379, 4391, 4628, 80, 5140, 0, 0}, {76, 32, 512, 1024, 4352, 0, 0}, {240, 4626, 21845, 0, 0, 0, 0}, {3072, 4386, 17476, 0, 0, 0, 0}, {1295, 32, 512, 80, 4112, 0, 0}, {240, 4608, 21760, 0, 0, 0, 0}, {76, 32, 514, 1028, 4369, 0, 0}, {1290, 32, 514, 80, 4096, 0, 0}, {3084, 4403, 17408, 0, 0, 0, 0}, {4360, 4404, 4612, 4420, 1028, 0, 0}, {5983, 13653, 21845, 0, 0, 0, 0}, {4362, 4406, 4614, 80, 5120, 0, 0}, {5503, 14199, 16384, 0, 0, 0, 0}, {4616, 112, 5376, 0, 0, 0, 0}, {4409, 1542, 4437, 0, 0, 0, 0}, {1290, 5888, 80, 0, 0, 0, 0}, {76, 4471, 1028, 0, 0, 0, 0}, {780, 816, 4352, 0, 0, 0, 0}, {32, 514, 5461, 0, 0, 0, 0}, {274, 80, 1028, 4112, 0, 0, 0}, {22015, 18432, 8704, 0, 0, 0, 0}, {7680, 8704, 17408, 0, 0, 0, 0}, {31, 32, 64, 257, 0, 0, 0}, {5128, 32, 514, 20480, 0, 0, 0}, {4364, 4403, 771, 21760, 0, 0, 0}, {4616, 12288, 64, 1028, 0, 0, 0}, {4362, 13056, 4437, 1285, 0, 0, 0}, {5132, 96, 1542, 20480, 0, 0, 0}, {4360, 4471, 1799, 21760, 0, 0, 0}, {128, 5632, 17416, 0, 0, 0, 0}, {95, 96, 771, 1285, 4358, 0, 0}, {160, 8714, 5120, 0, 0, 0, 0}, {63, 771, 64, 1028, 4356, 0, 0}, {192, 4608, 17420, 0, 0, 0, 0}, {95, 32, 514, 1285, 4354, 0, 0}, {32, 514, 64, 1028, 4096, 0, 0}, {255, 3855, 4352, 0, 0, 0, 0}, {32, 512, 64, 1024, 4112, 0, 0}, {255, 3840, 4369, 0, 0, 0, 0}, {192, 4626, 17480, 0, 0, 0, 0}, {95, 32, 512, 1280, 4371, 0, 0}, {160, 8744, 5140, 0, 0, 0, 0}, {63, 768, 64, 1024, 4373, 0, 0}, {128, 5654, 17484, 0, 0, 0, 0}, {95, 96, 768, 1280, 4375, 0, 0}, {5144, 96, 1536, 20560, 0, 0, 0}, {4377, 4454, 1792, 21845, 0, 0, 0}, {4634, 12336, 64, 1024, 0, 0, 0}, {4379, 13107, 4420, 1280, 0, 0, 0}, {5148, 32, 512, 20560, 0, 0, 0}, {4381, 4386, 768, 21845, 0, 0, 0}, {7710, 8738, 17476, 0, 0, 0, 0}, {31, 32, 64, 256, 0, 0, 0}, {32, 512, 5120, 0, 0, 0, 0}, {63, 771, 4369, 0, 0, 0, 0}, {17544, 7714, 8738, 0, 0, 0, 0}, {259, 64, 1296, 4112, 0, 0, 0}, {1548, 5156, 5188, 0, 0, 0, 0}, {1807, 5669, 4437, 0, 0, 0, 0}, {1036, 5670, 64, 0, 0, 0, 0}, {1295, 5159, 1360, 0, 0, 0, 0}, {5160, 13824, 20480, 0, 0, 0, 0}, {4377, 4390, 771, 64, 5397, 0, 0}, {5674, 13312, 17408, 0, 0, 0, 0}, {4379, 4388, 771, 4420, 5140, 0, 0}, {1036, 32, 512, 64, 4096, 0, 0}, {3855, 4386, 21845, 0, 0, 0, 0}, {3084, 4642, 17476, 0, 0, 0, 0}, {1295, 32, 512, 1360, 4352, 0, 0}, {3072, 4656, 17408, 0, 0, 0, 0}, {1290, 32, 514, 1365, 4369, 0, 0}, {1032, 32, 514, 64, 4112, 0, 0}, {3840, 4403, 21760, 0, 0, 0, 0}, {5692, 13364, 17476, 0, 0, 0, 0}, {4362, 4405, 768, 4437, 5120, 0, 0}, {5180, 13878, 20560, 0, 0, 0, 0}, {4360, 4407, 768, 64, 5376, 0, 0}, {1032, 5680, 64, 0, 0, 0, 0}, {1290, 5171, 1365, 0, 0, 0, 0}, {1546, 5168, 5200, 0, 0, 0, 0}, {1800, 5683, 4420, 0, 0, 0, 0}, {17612, 7740, 8704, 0, 0, 0, 0}, {258, 64, 1301, 4096, 0, 0, 0}, {32, 514, 5140, 0, 0, 0, 0}, {63, 768, 4352, 0, 0, 0, 0}, {4608, 64, 1024, 0, 0, 0, 0}, {95, 1285, 4369, 0, 0, 0, 0}, {5192, 96, 4674, 20480, 0, 0, 0}, {4428, 4403, 5699, 21760, 0, 0, 0}, {8840, 7748, 17476, 0, 0, 0, 0}, {32, 784, 261, 4112, 0, 0, 0}, {5196, 32, 5702, 20480, 0, 0, 0}, {4424, 4471, 4679, 21760, 0, 0, 0}, {4680, 12288, 22016, 0, 0, 0, 0}, {4377, 32, 4883, 4422, 1285, 0, 0}, {522, 32, 64, 1024, 4096, 0, 0}, {3855, 13107, 4420, 0, 0, 0, 0}, {5708, 8704, 20992, 0, 0, 0, 0}, {4381, 4386, 4626, 4418, 1285, 0, 0}, {2570, 8738, 5188, 0, 0, 0, 0}, {783, 816, 64, 1024, 4352, 0, 0}, {2560, 8704, 5200, 0, 0, 0, 0}, {780, 819, 64, 1028, 4369, 0, 0}, {5722, 8738, 21074, 0, 0, 0, 0}, {4364, 4403, 4608, 4435, 1280, 0, 0}, {520, 32, 64, 1028, 4112, 0, 0}, {3840, 13056, 4437, 0, 0, 0, 0}, {4698, 12336, 22102, 0, 0, 0, 0}, {4360, 32, 4864, 4439, 1280, 0, 0}, {5208, 32, 5712, 20560, 0, 0, 0}, {4441, 4454, 4693, 21845, 0, 0, 0}, {8874, 7770, 17408, 0, 0, 0, 0}, {32, 787, 260, 4096, 0, 0, 0}, {5212, 96, 4688, 20560, 0, 0, 0}, {4445, 4386, 5717, 21845, 0, 0, 0}, {4626, 64, 1028, 0, 0, 0, 0}, {95, 1280, 4352, 0, 0, 0, 0}, {96, 4608, 5120, 0, 0, 0, 0}, {127, 1799, 4369, 0, 0, 0, 0}, {1032, 4642, 64, 0, 0, 0, 0}, {1295, 4403, 1360, 0, 0, 0, 0}, {520, 32, 5188, 0, 0, 0, 0}, {783, 816, 4437, 0, 0, 0, 0}, {17612, 7782, 26214, 0, 0, 0, 0}, {263, 64, 1296, 4112, 0, 0, 0}, {1032, 32, 1536, 64, 4096, 0, 0}, {3855, 4454, 21845, 0, 0, 0, 0}, {4714, 12288, 17408, 0, 0, 0, 0}, {4379, 32, 4883, 4420, 5140, 0, 0}, {5228, 8704, 20480, 0, 0, 0, 0}, {4381, 4386, 4626, 64, 5397, 0, 0}, {2056, 5734, 17476, 0, 0, 0, 0}, {1295, 1328, 1536, 1360, 4352, 0, 0}, {2048, 5744, 17408, 0, 0, 0, 0}, {1290, 1333, 1542, 1365, 4369, 0, 0}, {5240, 8738, 20560, 0, 0, 0, 0}, {4364, 4403, 4608, 64, 5376, 0, 0}, {4728, 12336, 17476, 0, 0, 0, 0}, {4362, 32, 4864, 4437, 5120, 0, 0}, {1036, 32, 1542, 64, 4112, 0, 0}, {3840, 4471, 21760, 0, 0, 0, 0}, {17544, 7800, 26112, 0, 0, 0, 0}, {262, 64, 1301, 4096, 0, 0, 0}, {522, 32, 5200, 0, 0, 0, 0}, {780, 819, 4420, 0, 0, 0, 0}, {1036, 4656, 64, 0, 0, 0, 0}, {1290, 4386, 1365, 0, 0, 0, 0}, {96, 4626, 5140, 0, 0, 0, 0}, {127, 1792, 4352, 0, 0, 0, 0}, {128, 5632, 17408, 0, 0, 0, 0}, {95, 96, 771, 1285, 4369, 0, 0}, {5160, 8738, 20480, 0, 0, 0, 0}, {4364, 4403, 771, 64, 5376, 0, 0}, {4680, 12288, 17476, 0, 0, 0, 0}, {4362, 32, 4864, 4437, 1285, 0, 0}, {1036, 32, 1542, 64, 4096, 0, 0}, {3855, 4471, 21760, 0, 0, 0, 0}, {17544, 23040, 26112, 0, 0, 0, 0}, {278, 64, 1285, 4112, 0, 0, 0}, {522, 32, 5120, 0, 0, 0, 0}, {63, 771, 4420, 0, 0, 0, 0}, {1036, 4608, 64, 0, 0, 0, 0}, {95, 4386, 1285, 0, 0, 0, 0}, {5156, 1542, 5188, 0, 0, 0, 0}, {1807, 1904, 4352, 0, 0, 0, 0}, {5168, 1536, 5200, 0, 0, 0, 0}, {1800, 1911, 4369, 0, 0, 0, 0}, {1032, 4626, 64, 0, 0, 0, 0}, {95, 4403, 1280, 0, 0, 0, 0}, {520, 32, 5140, 0, 0, 0, 0}, {63, 768, 4437, 0, 0, 0, 0}, {17612, 23130, 26214, 0, 0, 0, 0}, {279, 64, 1280, 4096, 0, 0, 0}, {1032, 32, 1536, 64, 4112, 0, 0}, {3840, 4454, 21845, 0, 0, 0, 0}, {4698, 12336, 17408, 0, 0, 0, 0}, {4379, 32, 4883, 4420, 1280, 0, 0}, {5180, 8704, 20560, 0, 0, 0, 0}, {4381, 4386, 768, 64, 5397, 0, 0}, {128, 5654, 17476, 0, 0, 0, 0}, {95, 96, 768, 1280, 4352, 0, 0}, {160, 8704, 5120, 0, 0, 0, 0}, {63, 771, 64, 1028, 4369, 0, 0}, {5674, 8738, 21026, 0, 0, 0, 0}, {4364, 4403, 771, 4435, 5123, 0, 0}, {520, 32, 64, 1028, 4096, 0, 0}, {3855, 13056, 4437, 0, 0, 0, 0}, {4714, 12288, 22118, 0, 0, 0, 0}, {4360, 32, 4864, 4439, 5127, 0, 0}, {5128, 32, 5632, 20480, 0, 0, 0}, {4441, 4454, 771, 21845, 0, 0, 0}, {8874, 15360, 17408, 0, 0, 0, 0}, {32, 771, 276, 4112, 0, 0, 0}, {5132, 96, 4608, 20480, 0, 0, 0}, {4445, 4386, 1799, 21845, 0, 0, 0}, {4642, 64, 1028, 0, 0, 0, 0}, {1295, 1360, 4352, 0, 0, 0, 0}, {4656, 64, 1024, 0, 0, 0, 0}, {1290, 1365, 4369, 0, 0, 0, 0}, {5144, 96, 4626, 20560, 0, 0, 0}, {4428, 4403, 1792, 21760, 0, 0, 0}, {8840, 15420, 17476, 0, 0, 0, 0}, {32, 768, 277, 4096, 0, 0, 0}, {5148, 32, 5654, 20560, 0, 0, 0}, {4424, 4471, 768, 21760, 0, 0, 0}, {4728, 12336, 22064, 0, 0, 0, 0}, {4377, 32, 4883, 4422, 5139, 0, 0}, {522, 32, 64, 1024, 4112, 0, 0}, {3840, 13107, 4420, 0, 0, 0, 0}, {5692, 8704, 21104, 0, 0, 0, 0}, {4381, 4386, 768, 4418, 5143, 0, 0}, {160, 8738, 5140, 0, 0, 0, 0}, {63, 768, 64, 1024, 4352, 0, 0}, {192, 4608, 17408, 0, 0, 0, 0}, {95, 32, 514, 1285, 4369, 0, 0}, {1032, 32, 514, 64, 4096, 0, 0}, {3855, 4403, 21760, 0, 0, 0, 0}, {5708, 13380, 17476, 0, 0, 0, 0}, {4362, 4405, 4613, 4437, 1285, 0, 0}, {5228, 13926, 20480, 0, 0, 0, 0}, {4360, 4407, 4615, 64, 5376, 0, 0}, {1032, 5632, 64, 0, 0, 0, 0}, {95, 4454, 1285, 0, 0, 0, 0}, {4618, 96, 5120, 0, 0, 0, 0}, {4411, 1799, 4420, 0, 0, 0, 0}, {17612, 23040, 8704, 0, 0, 0, 0}, {274, 64, 1285, 4112, 0, 0, 0}, {32, 514, 5188, 0, 0, 0, 0}, {783, 816, 4352, 0, 0, 0, 0}, {32, 512, 5200, 0, 0, 0, 0}, {780, 819, 4369, 0, 0, 0, 0}, {17544, 23130, 8738, 0, 0, 0, 0}, {275, 64, 1280, 4096, 0, 0, 0}, {4632, 96, 5140, 0, 0, 0, 0}, {4394, 1792, 4437, 0, 0, 0, 0}, {1036, 5654, 64, 0, 0, 0, 0}, {95, 4471, 1280, 0, 0, 0, 0}, {5240, 13904, 20560, 0, 0, 0, 0}, {4377, 4390, 4629, 64, 5397, 0, 0}, {5722, 13424, 17408, 0, 0, 0, 0}, {4379, 4388, 4631, 4420, 1280, 0, 0}, {1036, 32, 512, 64, 4112, 0, 0}, {3840, 4386, 21845, 0, 0, 0, 0}, {192, 4626, 17476, 0, 0, 0, 0}, {95, 32, 512, 1280, 4352, 0, 0}, {32, 512, 64, 1024, 4096, 0, 0}, {255, 3855, 4369, 0, 0, 0, 0}, {3072, 4642, 17480, 0, 0, 0, 0}, {1295, 32, 512, 1360, 4371, 0, 0}, {2560, 8744, 5188, 0, 0, 0, 0}, {783, 816, 64, 1024, 4373, 0, 0}, {2048, 5734, 17484, 0, 0, 0, 0}, {1295, 1328, 1536, 1360, 4375, 0, 0}, {5192, 96, 1536, 20480, 0, 0, 0}, {4377, 4454, 5654, 21845, 0, 0, 0}, {4650, 12288, 64, 1024, 0, 0, 0}, {4379, 13107, 4420, 5140, 0, 0, 0}, {5196, 32, 512, 20480, 0, 0, 0}, {4381, 4386, 4626, 21845, 0, 0, 0}, {7918, 8738, 17476, 0, 0, 0, 0}, {271, 512, 1024, 272, 0, 0, 0}, {7920, 8704, 17408, 0, 0, 0, 0}, {270, 514, 1028, 273, 0, 0, 0}, {5208, 32, 514, 20560, 0, 0, 0}, {4364, 4403, 4608, 21760, 0, 0, 0}, {4664, 12336, 64, 1028, 0, 0, 0}, {4362, 13056, 4437, 5120, 0, 0, 0}, {5212, 96, 1542, 20560, 0, 0, 0}, {4360, 4471, 5632, 21760, 0, 0, 0}, {2056, 5744, 17416, 0, 0, 0, 0}, {1290, 1333, 1542, 1365, 4358, 0, 0}, {2570, 8714, 5200, 0, 0, 0, 0}, {780, 819, 64, 1028, 4356, 0, 0}, {3084, 4656, 17420, 0, 0, 0, 0}, {1290, 32, 514, 1365, 4354, 0, 0}, {32, 514, 64, 1028, 4112, 0, 0}, {255, 3840, 4352, 0, 0, 0, 0}, {7936, 8192, 16384, 0, 0, 0, 0}, {30, 34, 68, 257, 0, 0, 0}, {5384, 34, 514, 21760, 0, 0, 0}, {4108, 4144, 771, 20480, 0, 0, 0}, {4872, 13056, 68, 1028, 0, 0, 0}, {4106, 12288, 4176, 1285, 0, 0, 0}, {5388, 102, 1542, 21760, 0, 0, 0}, {4104, 4208, 1799, 20480, 0, 0, 0}, {136, 5888, 16392, 0, 0, 0, 0}, {90, 102, 771, 1285, 4102, 0, 0}, {170, 8202, 5376, 0, 0, 0, 0}, {60, 771, 68, 1028, 4100, 0, 0}, {204, 4864, 16396, 0, 0, 0, 0}, {90, 34, 514, 1285, 4098, 0, 0}, {34, 514, 68, 1028, 4352, 0, 0}, {240, 3855, 4096, 0, 0, 0, 0}, {240, 3840, 4112, 0, 0, 0, 0}, {34, 512, 68, 1024, 4369, 0, 0}, {90, 34, 512, 1280, 4114, 0, 0}, {204, 4883, 16460, 0, 0, 0, 0}, {60, 768, 68, 1024, 4116, 0, 0}, {170, 8234, 5397, 0, 0, 0, 0}, {90, 102, 768, 1280, 4118, 0, 0}, {136, 5911, 16456, 0, 0, 0, 0}, {4120, 4192, 1792, 20560, 0, 0, 0}, {5401, 102, 1536, 21845, 0, 0, 0}, {4122, 12336, 4160, 1280, 0, 0, 0}, {4891, 13107, 68, 1024, 0, 0, 0}, {4124, 4128, 768, 20560, 0, 0, 0}, {5405, 34, 512, 21845, 0, 0, 0}, {30, 34, 68, 256, 0, 0, 0}, {7967, 8224, 16448, 0, 0, 0, 0}, {16512, 7968, 8224, 0, 0, 0, 0}, {259, 68, 1297, 4369, 0, 0, 0}, {34, 512, 5376, 0, 0, 0, 0}, {60, 771, 4112, 0, 0, 0, 0}, {1036, 5924, 68, 0, 0, 0, 0}, {1295, 5413, 1365, 0, 0, 0, 0}, {1548, 5414, 5440, 0, 0, 0, 0}, {1807, 5927, 4176, 0, 0, 0, 0}, {5928, 14080, 16384, 0, 0, 0, 0}, {4122, 4134, 771, 4160, 5397, 0, 0}, {5418, 13568, 21760, 0, 0, 0, 0}, {4120, 4132, 771, 68, 5140, 0, 0}, {3084, 4896, 16448, 0, 0, 0, 0}, {1295, 34, 512, 1365, 4096, 0, 0}, {1036, 34, 512, 68, 4352, 0, 0}, {3855, 4128, 20560, 0, 0, 0, 0}, {3840, 4144, 20480, 0, 0, 0, 0}, {1032, 34, 514, 68, 4369, 0, 0}, {1290, 34, 514, 1360, 4112, 0, 0}, {3072, 4915, 16384, 0, 0, 0, 0}, {4104, 4148, 768, 68, 5120, 0, 0}, {5439, 13621, 21845, 0, 0, 0, 0}, {4106, 4150, 768, 4176, 5376, 0, 0}, {5951, 14135, 16448, 0, 0, 0, 0}, {1800, 5936, 4160, 0, 0, 0, 0}, {1546, 5427, 5461, 0, 0, 0, 0}, {1290, 5424, 1360, 0, 0, 0, 0}, {1032, 5939, 68, 0, 0, 0, 0}, {60, 768, 4096, 0, 0, 0, 0}, {34, 514, 5397, 0, 0, 0, 0}, {258, 68, 1300, 4352, 0, 0, 0}, {16576, 7999, 8192, 0, 0, 0, 0}, {8320, 8000, 16448, 0, 0, 0, 0}, {34, 785, 261, 4369, 0, 0, 0}, {5448, 34, 5954, 21760, 0, 0, 0}, {4172, 4208, 4931, 20480, 0, 0, 0}, {4864, 68, 1024, 0, 0, 0, 0}, {90, 1285, 4112, 0, 0, 0, 0}, {5452, 102, 4934, 21760, 0, 0, 0}, {4168, 4144, 5959, 20480, 0, 0, 0}, {5960, 8192, 22272, 0, 0, 0, 0}, {4124, 4128, 4883, 4166, 1285, 0, 0}, {2570, 8224, 5440, 0, 0, 0, 0}, {783, 819, 68, 1024, 4096, 0, 0}, {4940, 13056, 21248, 0, 0, 0, 0}, {4120, 34, 4626, 4162, 1285, 0, 0}, {522, 34, 68, 1024, 4352, 0, 0}, {3855, 12336, 4160, 0, 0, 0, 0}, {3840, 12288, 4176, 0, 0, 0, 0}, {520, 34, 68, 1028, 4369, 0, 0}, {4104, 34, 4608, 4178, 1280, 0, 0}, {4959, 13107, 21331, 0, 0, 0, 0}, {780, 816, 68, 1028, 4112, 0, 0}, {2560, 8192, 5461, 0, 0, 0, 0}, {4108, 4144, 4864, 4182, 1280, 0, 0}, {5983, 8224, 22359, 0, 0, 0, 0}, {4184, 4128, 5968, 20560, 0, 0, 0}, {5465, 102, 4949, 21845, 0, 0, 0}, {90, 1280, 4096, 0, 0, 0, 0}, {4883, 68, 1028, 0, 0, 0, 0}, {4188, 4192, 4944, 20560, 0, 0, 0}, {5469, 34, 5973, 21845, 0, 0, 0}, {34, 786, 260, 4352, 0, 0, 0}, {8352, 8031, 16384, 0, 0, 0, 0}, {16576, 8032, 24672, 0, 0, 0, 0}, {263, 68, 1297, 4369, 0, 0, 0}, {520, 34, 5440, 0, 0, 0, 0}, {783, 819, 4176, 0, 0, 0, 0}, {1032, 4896, 68, 0, 0, 0, 0}, {1295, 4144, 1365, 0, 0, 0, 0}, {102, 4864, 5376, 0, 0, 0, 0}, {120, 1799, 4112, 0, 0, 0, 0}, {2056, 5984, 16448, 0, 0, 0, 0}, {1295, 1331, 1536, 1365, 4096, 0, 0}, {5482, 8192, 21760, 0, 0, 0, 0}, {4124, 4128, 4883, 68, 5140, 0, 0}, {4972, 13056, 16384, 0, 0, 0, 0}, {4122, 34, 4626, 4160, 5397, 0, 0}, {1032, 34, 1536, 68, 4352, 0, 0}, {3855, 4192, 20560, 0, 0, 0, 0}, {3840, 4208, 20480, 0, 0, 0, 0}, {1036, 34, 1542, 68, 4369, 0, 0}, {4106, 34, 4608, 4176, 5376, 0, 0}, {4991, 13107, 16448, 0, 0, 0, 0}, {4108, 4144, 4864, 68, 5120, 0, 0}, {5503, 8224, 21845, 0, 0, 0, 0}, {1290, 1334, 1542, 1360, 4112, 0, 0}, {2048, 6007, 16384, 0, 0, 0, 0}, {120, 1792, 4096, 0, 0, 0, 0}, {102, 4883, 5397, 0, 0, 0, 0}, {1290, 4128, 1360, 0, 0, 0, 0}, {1036, 4915, 68, 0, 0, 0, 0}, {780, 816, 4160, 0, 0, 0, 0}, {522, 34, 5461, 0, 0, 0, 0}, {262, 68, 1300, 4352, 0, 0, 0}, {16512, 8063, 24576, 0, 0, 0, 0}, {16512, 24320, 24576, 0, 0, 0, 0}, {279, 68, 1285, 4369, 0, 0, 0}, {522, 34, 5376, 0, 0, 0, 0}, {60, 771, 4160, 0, 0, 0, 0}, {1036, 4864, 68, 0, 0, 0, 0}, {90, 4128, 1285, 0, 0, 0, 0}, {5414, 1542, 5440, 0, 0, 0, 0}, {1807, 1911, 4096, 0, 0, 0, 0}, {136, 5888, 16384, 0, 0, 0, 0}, {90, 102, 771, 1285, 4112, 0, 0}, {5418, 8224, 21760, 0, 0, 0, 0}, {4108, 4144, 771, 68, 5120, 0, 0}, {4940, 13056, 16448, 0, 0, 0, 0}, {4106, 34, 4608, 4176, 1285, 0, 0}, {1036, 34, 1542, 68, 4352, 0, 0}, {3855, 4208, 20480, 0, 0, 0, 0}, {3840, 4192, 20560, 0, 0, 0, 0}, {1032, 34, 1536, 68, 4369, 0, 0}, {4122, 34, 4626, 4160, 1280, 0, 0}, {4959, 13107, 16384, 0, 0, 0, 0}, {4124, 4128, 768, 68, 5140, 0, 0}, {5439, 8192, 21845, 0, 0, 0, 0}, {90, 102, 768, 1280, 4096, 0, 0}, {136, 5911, 16448, 0, 0, 0, 0}, {1800, 1904, 4112, 0, 0, 0, 0}, {5427, 1536, 5461, 0, 0, 0, 0}, {90, 4144, 1280, 0, 0, 0, 0}, {1032, 4883, 68, 0, 0, 0, 0}, {60, 768, 4176, 0, 0, 0, 0}, {520, 34, 5397, 0, 0, 0, 0}, {278, 68, 1280, 4352, 0, 0, 0}, {16576, 24415, 24672, 0, 0, 0, 0}, {8352, 16128, 16384, 0, 0, 0, 0}, {34, 771, 277, 4369, 0, 0, 0}, {5384, 34, 5888, 21760, 0, 0, 0}, {4188, 4192, 771, 20560, 0, 0, 0}, {4896, 68, 1028, 0, 0, 0, 0}, {1295, 1365, 4096, 0, 0, 0, 0}, {5388, 102, 4864, 21760, 0, 0, 0}, {4184, 4128, 1799, 20560, 0, 0, 0}, {5928, 8224, 22304, 0, 0, 0, 0}, {4108, 4144, 771, 4182, 5379, 0, 0}, {170, 8192, 5376, 0, 0, 0, 0}, {60, 771, 68, 1028, 4112, 0, 0}, {4972, 13056, 21344, 0, 0, 0, 0}, {4104, 34, 4608, 4178, 5383, 0, 0}, {520, 34, 68, 1028, 4352, 0, 0}, {3855, 12288, 4176, 0, 0, 0, 0}, {3840, 12336, 4160, 0, 0, 0, 0}, {522, 34, 68, 1024, 4369, 0, 0}, {4120, 34, 4626, 4162, 5394, 0, 0}, {4991, 13107, 21299, 0, 0, 0, 0}, {60, 768, 68, 1024, 4096, 0, 0}, {170, 8224, 5397, 0, 0, 0, 0}, {4124, 4128, 768, 4166, 5398, 0, 0}, {5951, 8192, 22391, 0, 0, 0, 0}, {4168, 4144, 1792, 20480, 0, 0, 0}, {5401, 102, 4883, 21845, 0, 0, 0}, {1290, 1360, 4112, 0, 0, 0, 0}, {4915, 68, 1024, 0, 0, 0, 0}, {4172, 4208, 768, 20480, 0, 0, 0}, {5405, 34, 5911, 21845, 0, 0, 0}, {34, 768, 276, 4352, 0, 0, 0}, {8320, 16191, 16448, 0, 0, 0, 0}, {16576, 24320, 8192, 0, 0, 0, 0}, {275, 68, 1285, 4369, 0, 0, 0}, {34, 514, 5440, 0, 0, 0, 0}, {783, 819, 4096, 0, 0, 0, 0}, {1032, 5888, 68, 0, 0, 0, 0}, {90, 4192, 1285, 0, 0, 0, 0}, {4874, 102, 5376, 0, 0, 0, 0}, {4152, 1799, 4160, 0, 0, 0, 0}, {5960, 14144, 16448, 0, 0, 0, 0}, {4106, 4150, 4869, 4176, 1285, 0, 0}, {5482, 13664, 21760, 0, 0, 0, 0}, {4104, 4148, 4871, 68, 5120, 0, 0}, {204, 4864, 16384, 0, 0, 0, 0}, {90, 34, 514, 1285, 4112, 0, 0}, {1032, 34, 514, 68, 4352, 0, 0}, {3855, 4144, 20480, 0, 0, 0, 0}, {3840, 4128, 20560, 0, 0, 0, 0}, {1036, 34, 512, 68, 4369, 0, 0}, {90, 34, 512, 1280, 4096, 0, 0}, {204, 4883, 16448, 0, 0, 0, 0}, {4120, 4132, 4884, 68, 5140, 0, 0}, {5503, 13653, 21845, 0, 0, 0, 0}, {4122, 4134, 4886, 4160, 1280, 0, 0}, {5983, 14199, 16384, 0, 0, 0, 0}, {4136, 1792, 4176, 0, 0, 0, 0}, {4889, 102, 5397, 0, 0, 0, 0}, {90, 4208, 1280, 0, 0, 0, 0}, {1036, 5911, 68, 0, 0, 0, 0}, {780, 816, 4112, 0, 0, 0, 0}, {34, 512, 5461, 0, 0, 0, 0}, {274, 68, 1280, 4352, 0, 0, 0}, {16512, 24415, 8224, 0, 0, 0, 0}, {8160, 8224, 16448, 0, 0, 0, 0}, {271, 512, 1024, 273, 0, 0, 0}, {5448, 34, 512, 21760, 0, 0, 0}, {4124, 4128, 4883, 20560, 0, 0, 0}, {4904, 13056, 68, 1024, 0, 0, 0}, {4122, 12336, 4160, 5397, 0, 0, 0}, {5452, 102, 1536, 21760, 0, 0, 0}, {4120, 4192, 5911, 20560, 0, 0, 0}, {2048, 5984, 16456, 0, 0, 0, 0}, {1295, 1331, 1536, 1365, 4118, 0, 0}, {2560, 8234, 5440, 0, 0, 0, 0}, {783, 819, 68, 1024, 4116, 0, 0}, {3072, 4896, 16460, 0, 0, 0, 0}, {1295, 34, 512, 1365, 4114, 0, 0}, {34, 512, 68, 1024, 4352, 0, 0}, {240, 3855, 4112, 0, 0, 0, 0}, {240, 3840, 4096, 0, 0, 0, 0}, {34, 514, 68, 1028, 4369, 0, 0}, {1290, 34, 514, 1360, 4098, 0, 0}, {3084, 4915, 16396, 0, 0, 0, 0}, {780, 816, 68, 1028, 4100, 0, 0}, {2570, 8202, 5461, 0, 0, 0, 0}, {1290, 1334, 1542, 1360, 4102, 0, 0}, {2056, 6007, 16392, 0, 0, 0, 0}, {4104, 4208, 5888, 20480, 0, 0, 0}, {5465, 102, 1542, 21845, 0, 0, 0}, {4106, 12288, 4176, 5376, 0, 0, 0}, {4923, 13107, 68, 1028, 0, 0, 0}, {4108, 4144, 4864, 20480, 0, 0, 0}, {5469, 34, 514, 21845, 0, 0, 0}, {270, 514, 1028, 272, 0, 0, 0}, {8191, 8192, 16384, 0, 0, 0, 0}, {8192, 0, 0, 0, 0, 0, 0}, {3, 17, 257, 0, 0, 0, 0}, {34, 514, 0, 0, 0, 0, 0}, {3, 4096, 0, 0, 0, 0, 0}, {12, 8196, 68, 1028, 0, 0, 0}, {15, 8197, 85, 1285, 0, 0, 0}, {12, 102, 1542, 16384, 0, 0, 0}, {15, 119, 1799, 20480, 0, 0, 0}, {136, 2056, 8200, 0, 0, 0, 0}, {3, 85, 1285, 4101, 0, 0, 0}, {170, 2570, 8202, 0, 0, 0, 0}, {3, 68, 1028, 4100, 0, 0, 0}, {12, 8192, 16384, 0, 0, 0, 0}, {15, 34, 514, 85, 1285, 0, 0}, {12, 34, 514, 68, 1028, 0, 0}, {15, 8192, 20480, 0, 0, 0, 0}, {48, 4112, 0, 0, 0, 0, 0}, {512, 17, 0, 0, 0, 0, 0}, {18, 4096, 0, 0, 0, 0, 0}, {51, 4883, 0, 0, 0, 0, 0}, {60, 8212, 68, 5140, 0, 0, 0}, {63, 8213, 85, 5397, 0, 0, 0}, {90, 102, 5654, 20480, 0, 0, 0}, {72, 119, 5911, 16384, 0, 0, 0}, {4120, 48, 4176, 0, 0, 0, 0}, {4889, 51, 85, 0, 0, 0, 0}, {4122, 48, 4160, 0, 0, 0, 0}, {4891, 51, 68, 0, 0, 0, 0}, {60, 8224, 20560, 0, 0, 0, 0}, {29, 34, 512, 85, 5376, 0, 0}, {30, 34, 512, 68, 5120, 0, 0}, {63, 8224, 16448, 0, 0, 0, 0}, {8224, 0, 0, 0, 0, 0, 0}, {3, 17, 256, 0, 0, 0, 0}, {34, 512, 0, 0, 0, 0, 0}, {3, 4112, 0, 0, 0, 0, 0}, {12, 8228, 68, 1024, 0, 0, 0}, {15, 8229, 85, 1280, 0, 0, 0}, {12, 102, 1536, 16448, 0, 0, 0}, {15, 119, 1792, 20560, 0, 0, 0}, {136, 2048, 8232, 0, 0, 0, 0}, {3, 85, 1280, 4117, 0, 0, 0}, {170, 2560, 8234, 0, 0, 0, 0}, {3, 68, 1024, 4116, 0, 0, 0}, {12, 8224, 16448, 0, 0, 0, 0}, {15, 34, 512, 85, 1280, 0, 0}, {12, 34, 512, 68, 1024, 0, 0}, {15, 8224, 20560, 0, 0, 0, 0}, {48, 4096, 0, 0, 0, 0, 0}, {514, 17, 0, 0, 0, 0, 0}, {18, 4112, 0, 0, 0, 0, 0}, {51, 4864, 0, 0, 0, 0, 0}, {60, 8244, 68, 5120, 0, 0, 0}, {63, 8245, 85, 5376, 0, 0, 0}, {90, 102, 5632, 20560, 0, 0, 0}, {72, 119, 5888, 16448, 0, 0, 0}, {4104, 48, 4160, 0, 0, 0, 0}, {4874, 51, 85, 0, 0, 0, 0}, {4106, 48, 4176, 0, 0, 0, 0}, {4872, 51, 68, 0, 0, 0, 0}, {60, 8192, 20480, 0, 0, 0, 0}, {29, 34, 514, 85, 5397, 0, 0}, {30, 34, 514, 68, 5140, 0, 0}, {63, 8192, 16384, 0, 0, 0, 0}, {192, 8256, 16448, 0, 0, 0, 0}, {15, 517, 1285, 17, 0, 0, 0}, {72, 34, 578, 16384, 0, 0, 0}, {15, 51, 4931, 20480, 0, 0, 0}, {2048, 8192, 68, 0, 0, 0, 0}, {15, 48, 85, 1285, 4112, 0, 0}, {2570, 102, 17990, 0, 0, 0, 0}, {15, 48, 1792, 71, 4096, 0, 0}, {72, 8192, 16384, 0, 0, 0, 0}, {15, 51, 4883, 85, 1285, 0, 0}, {106, 8224, 16448, 0, 0, 0, 0}, {15, 51, 4864, 68, 5120, 0, 0}, {204, 19532, 8268, 0, 0, 0, 0}, {18, 85, 1285, 4101, 0, 0, 0}, {522, 34, 68, 0, 0, 0, 0}, {15, 48, 4160, 0, 0, 0, 0}, {240, 8272, 20560, 0, 0, 0, 0}, {12, 516, 1028, 17, 0, 0, 0}, {90, 34, 594, 20480, 0, 0, 0}, {12, 51, 4947, 16384, 0, 0, 0}, {12, 48, 68, 1028, 4112, 0, 0}, {2560, 8192, 85, 0, 0, 0, 0}, {12, 48, 1536, 86, 4096, 0, 0}, {2056, 119, 22359, 0, 0, 0, 0}, {120, 8224, 20560, 0, 0, 0, 0}, {12, 51, 4864, 85, 5376, 0, 0}, {90, 8192, 20480, 0, 0, 0, 0}, {12, 51, 4883, 68, 1028, 0, 0}, {12, 48, 4176, 0, 0, 0, 0}, {520, 34, 85, 0, 0, 0, 0}, {18, 68, 1028, 4100, 0, 0, 0}, {255, 24415, 8287, 0, 0, 0, 0}, {192, 8288, 16384, 0, 0, 0, 0}, {15, 519, 1280, 17, 0, 0, 0}, {72, 34, 576, 16448, 0, 0, 0}, {15, 51, 4944, 20560, 0, 0, 0}, {2056, 8224, 68, 0, 0, 0, 0}, {15, 48, 85, 1280, 4096, 0, 0}, {2560, 102, 17920, 0, 0, 0, 0}, {15, 48, 1799, 71, 4112, 0, 0}, {72, 8224, 16448, 0, 0, 0, 0}, {15, 51, 4864, 85, 1280, 0, 0}, {106, 8192, 16384, 0, 0, 0, 0}, {15, 51, 4883, 68, 5140, 0, 0}, {204, 19456, 8300, 0, 0, 0, 0}, {18, 85, 1280, 4117, 0, 0, 0}, {520, 34, 68, 0, 0, 0, 0}, {15, 48, 4176, 0, 0, 0, 0}, {240, 8304, 20480, 0, 0, 0, 0}, {12, 518, 1024, 17, 0, 0, 0}, {90, 34, 592, 20560, 0, 0, 0}, {12, 51, 4928, 16448, 0, 0, 0}, {12, 48, 68, 1024, 4096, 0, 0}, {2570, 8224, 85, 0, 0, 0, 0}, {12, 48, 1542, 86, 4112, 0, 0}, {2048, 119, 22272, 0, 0, 0, 0}, {120, 8192, 20480, 0, 0, 0, 0}, {12, 51, 4883, 85, 5397, 0, 0}, {90, 8224, 20560, 0, 0, 0, 0}, {12, 51, 4864, 68, 1024, 0, 0}, {12, 48, 4160, 0, 0, 0, 0}, {522, 34, 85, 0, 0, 0, 0}, {18, 68, 1024, 4116, 0, 0, 0}, {255, 24320, 8319, 0, 0, 0, 0}, {8320, 0, 0, 0, 0, 0, 0}, {3, 261, 17, 0, 0, 0, 0}, {522, 34, 0, 0, 0, 0, 0}, {3, 4160, 0, 0, 0, 0, 0}, {12, 8192, 68, 1024, 0, 0, 0}, {15, 8224, 85, 1285, 0, 0, 0}, {12, 102, 1542, 16448, 0, 0, 0}, {15, 119, 1792, 20480, 0, 0, 0}, {136, 2048, 8192, 0, 0, 0, 0}, {3, 85, 1285, 4112, 0, 0, 0}, {170, 2570, 8224, 0, 0, 0, 0}, {3, 68, 1024, 4096, 0, 0, 0}, {12, 8256, 16448, 0, 0, 0, 0}, {15, 34, 517, 85, 1285, 0, 0}, {12, 34, 518, 68, 1024, 0, 0}, {15, 8304, 20480, 0, 0, 0, 0}, {48, 4176, 0, 0, 0, 0, 0}, {520, 17, 0, 0, 0, 0, 0}, {18, 4160, 0, 0, 0, 0, 0}, {4959, 51, 0, 0, 0, 0, 0}, {60, 8224, 68, 5140, 0, 0, 0}, {63, 8192, 85, 5376, 0, 0, 0}, {90, 102, 5632, 20480, 0, 0, 0}, {72, 119, 5911, 16448, 0, 0, 0}, {72, 48, 4112, 0, 0, 0, 0}, {51, 4864, 85, 0, 0, 0, 0}, {90, 48, 4096, 0, 0, 0, 0}, {51, 4883, 68, 0, 0, 0, 0}, {60, 8272, 20560, 0, 0, 0, 0}, {29, 34, 533, 85, 5397, 0, 0}, {30, 34, 534, 68, 5120, 0, 0}, {63, 8288, 16384, 0, 0, 0, 0}, {8352, 0, 0, 0, 0, 0, 0}, {3, 260, 17, 0, 0, 0, 0}, {520, 34, 0, 0, 0, 0, 0}, {3, 4176, 0, 0, 0, 0, 0}, {12, 8224, 68, 1028, 0, 0, 0}, {15, 8192, 85, 1280, 0, 0, 0}, {12, 102, 1536, 16384, 0, 0, 0}, {15, 119, 1799, 20560, 0, 0, 0}, {136, 2056, 8224, 0, 0, 0, 0}, {3, 85, 1280, 4096, 0, 0, 0}, {170, 2560, 8192, 0, 0, 0, 0}, {3, 68, 1028, 4112, 0, 0, 0}, {12, 8288, 16384, 0, 0, 0, 0}, {15, 34, 519, 85, 1280, 0, 0}, {12, 34, 516, 68, 1028, 0, 0}, {15, 8272, 20560, 0, 0, 0, 0}, {48, 4160, 0, 0, 0, 0, 0}, {522, 17, 0, 0, 0, 0, 0}, {18, 4176, 0, 0, 0, 0, 0}, {4940, 51, 0, 0, 0, 0, 0}, {60, 8192, 68, 5120, 0, 0, 0}, {63, 8224, 85, 5397, 0, 0, 0}, {90, 102, 5654, 20560, 0, 0, 0}, {72, 119, 5888, 16384, 0, 0, 0}, {72, 48, 4096, 0, 0, 0, 0}, {51, 4883, 85, 0, 0, 0, 0}, {90, 48, 4112, 0, 0, 0, 0}, {51, 4864, 68, 0, 0, 0, 0}, {60, 8304, 20480, 0, 0, 0, 0}, {29, 34, 535, 85, 5376, 0, 0}, {30, 34, 532, 68, 5140, 0, 0}, {63, 8256, 16448, 0, 0, 0, 0}, {192, 8192, 16384, 0, 0, 0, 0}, {15, 514, 1285, 17, 0, 0, 0}, {72, 34, 514, 16448, 0, 0, 0}, {15, 51, 4864, 20480, 0, 0, 0}, {2056, 8200, 68, 0, 0, 0, 0}, {15, 48, 85, 1285, 4101, 0, 0}, {2570, 102, 17930, 0, 0, 0, 0}, {15, 48, 1799, 71, 4103, 0, 0}, {72, 8256, 16448, 0, 0, 0, 0}, {15, 51, 4869, 85, 1285, 0, 0}, {106, 8288, 16384, 0, 0, 0, 0}, {15, 51, 4871, 68, 5120, 0, 0}, {204, 19456, 8192, 0, 0, 0, 0}, {18, 85, 1285, 4112, 0, 0, 0}, {34, 514, 68, 0, 0, 0, 0}, {15, 48, 4096, 0, 0, 0, 0}, {240, 8224, 20560, 0, 0, 0, 0}, {12, 512, 1024, 17, 0, 0, 0}, {90, 34, 512, 20480, 0, 0, 0}, {12, 51, 4883, 16448, 0, 0, 0}, {12, 48, 68, 1024, 4116, 0, 0}, {2560, 8234, 85, 0, 0, 0, 0}, {12, 48, 1536, 86, 4118, 0, 0}, {2048, 119, 22367, 0, 0, 0, 0}, {120, 8272, 20560, 0, 0, 0, 0}, {12, 51, 4885, 85, 5397, 0, 0}, {90, 8304, 20480, 0, 0, 0, 0}, {12, 51, 4887, 68, 1024, 0, 0}, {12, 48, 4112, 0, 0, 0, 0}, {34, 512, 85, 0, 0, 0, 0}, {18, 68, 1024, 4096, 0, 0, 0}, {255, 24415, 8224, 0, 0, 0, 0}, {192, 8224, 16448, 0, 0, 0, 0}, {15, 512, 1280, 17, 0, 0, 0}, {72, 34, 512, 16384, 0, 0, 0}, {15, 51, 4883, 20560, 0, 0, 0}, {2048, 8232, 68, 0, 0, 0, 0}, {15, 48, 85, 1280, 4117, 0, 0}, {2560, 102, 17996, 0, 0, 0, 0}, {15, 48, 1792, 71, 4119, 0, 0}, {72, 8288, 16384, 0, 0, 0, 0}, {15, 51, 4886, 85, 1280, 0, 0}, {106, 8256, 16448, 0, 0, 0, 0}, {15, 51, 4884, 68, 5140, 0, 0}, {204, 19532, 8224, 0, 0, 0, 0}, {18, 85, 1280, 4096, 0, 0, 0}, {34, 512, 68, 0, 0, 0, 0}, {15, 48, 4112, 0, 0, 0, 0}, {240, 8192, 20480, 0, 0, 0, 0}, {12, 514, 1028, 17, 0, 0, 0}, {90, 34, 514, 20560, 0, 0, 0}, {12, 51, 4864, 16384, 0, 0, 0}, {12, 48, 68, 1028, 4100, 0, 0}, {2570, 8202, 85, 0, 0, 0, 0}, {12, 48, 1542, 86, 4102, 0, 0}, {2056, 119, 22280, 0, 0, 0, 0}, {120, 8304, 20480, 0, 0, 0, 0}, {12, 51, 4870, 85, 5376, 0, 0}, {90, 8272, 20560, 0, 0, 0, 0}, {12, 51, 4868, 68, 1028, 0, 0}, {12, 48, 4096, 0, 0, 0, 0}, {34, 514, 85, 0, 0, 0, 0}, {18, 68, 1028, 4112, 0, 0, 0}, {255, 24320, 8192, 0, 0, 0, 0}, {768, 4352, 0, 0, 0, 0, 0}, {32, 257, 0, 0, 0, 0, 0}, {258, 4096, 0, 0, 0, 0, 0}, {4403, 771, 0, 0, 0, 0, 0}, {780, 8452, 4420, 1028, 0, 0, 0}, {783, 8453, 4437, 1285, 0, 0, 0}, {1290, 4454, 1542, 20480, 0, 0, 0}, {1032, 4471, 1799, 16384, 0, 0, 0}, {4360, 768, 5376, 0, 0, 0, 0}, {4409, 771, 1285, 0, 0, 0, 0}, {4362, 768, 5120, 0, 0, 0, 0}, {4411, 771, 1028, 0, 0, 0, 0}, {780, 8704, 21760, 0, 0, 0, 0}, {269, 32, 514, 4176, 1285, 0, 0}, {270, 32, 514, 4160, 1028, 0, 0}, {783, 8704, 17408, 0, 0, 0, 0}, {512, 272, 0, 0, 0, 0, 0}, {819, 4369, 0, 0, 0, 0, 0}, {4386, 4626, 0, 0, 0, 0, 0}, {275, 4096, 0, 0, 0, 0, 0}, {828, 8468, 4420, 5140, 0, 0, 0}, {831, 8469, 4437, 5397, 0, 0, 0}, {1100, 4454, 5654, 16384, 0, 0, 0}, {1375, 4471, 5911, 20480, 0, 0, 0}, {4632, 816, 1360, 0, 0, 0, 0}, {4377, 819, 5461, 0, 0, 0, 0}, {4634, 816, 1088, 0, 0, 0, 0}, {4379, 819, 5188, 0, 0, 0, 0}, {284, 32, 512, 4176, 5376, 0, 0}, {831, 8738, 21845, 0, 0, 0, 0}, {828, 8738, 17476, 0, 0, 0, 0}, {287, 32, 512, 4160, 5120, 0, 0}, {32, 256, 0, 0, 0, 0, 0}, {771, 4369, 0, 0, 0, 0, 0}, {4386, 768, 0, 0, 0, 0, 0}, {259, 4112, 0, 0, 0, 0, 0}, {780, 8484, 4420, 1280, 0, 0, 0}, {783, 8485, 4437, 1024, 0, 0, 0}, {1036, 4454, 1792, 16448, 0, 0, 0}, {1295, 4471, 1536, 20560, 0, 0, 0}, {4392, 768, 1280, 0, 0, 0, 0}, {4377, 771, 5397, 0, 0, 0, 0}, {4394, 768, 1024, 0, 0, 0, 0}, {4379, 771, 5140, 0, 0, 0, 0}, {268, 32, 512, 4160, 1280, 0, 0}, {783, 8738, 21845, 0, 0, 0, 0}, {780, 8738, 17476, 0, 0, 0, 0}, {271, 32, 512, 4176, 1024, 0, 0}, {816, 4352, 0, 0, 0, 0, 0}, {514, 273, 0, 0, 0, 0, 0}, {274, 4112, 0, 0, 0, 0, 0}, {4403, 4608, 0, 0, 0, 0, 0}, {828, 8500, 4420, 5376, 0, 0, 0}, {831, 8501, 4437, 5120, 0, 0, 0}, {1370, 4454, 5888, 20560, 0, 0, 0}, {1096, 4471, 5632, 16448, 0, 0, 0}, {4360, 816, 5440, 0, 0, 0, 0}, {4618, 819, 1365, 0, 0, 0, 0}, {4362, 816, 5200, 0, 0, 0, 0}, {4616, 819, 1092, 0, 0, 0, 0}, {828, 8704, 21760, 0, 0, 0, 0}, {285, 32, 514, 4160, 5397, 0, 0}, {286, 32, 514, 4176, 5140, 0, 0}, {831, 8704, 17408, 0, 0, 0, 0}, {1792, 1088, 4352, 0, 0, 0, 0}, {867, 1285, 4369, 0, 0, 0, 0}, {1290, 4386, 4674, 20480, 0, 0, 0}, {1100, 4403, 835, 16384, 0, 0, 0}, {3840, 12288, 4420, 0, 0, 0, 0}, {522, 32, 325, 1285, 4112, 0, 0}, {1290, 32, 1792, 326, 4096, 0, 0}, {3855, 4471, 18247, 0, 0, 0, 0}, {4680, 13056, 21760, 0, 0, 0, 0}, {4377, 32, 4883, 4176, 1285, 0, 0}, {4362, 32, 4864, 4160, 5120, 0, 0}, {4728, 13107, 17476, 0, 0, 0, 0}, {4428, 4608, 5376, 0, 0, 0, 0}, {4477, 4626, 1285, 0, 0, 0, 0}, {1290, 4642, 5188, 0, 0, 0, 0}, {1807, 4656, 1088, 0, 0, 0, 0}, {1536, 1360, 4352, 0, 0, 0, 0}, {883, 1028, 4369, 0, 0, 0, 0}, {1032, 4386, 4690, 16384, 0, 0, 0}, {1375, 4403, 851, 20480, 0, 0, 0}, {520, 32, 340, 1028, 4112, 0, 0}, {3072, 12288, 4437, 0, 0, 0, 0}, {3084, 4454, 22102, 0, 0, 0, 0}, {1032, 32, 1536, 343, 4096, 0, 0}, {4360, 32, 4864, 4176, 5376, 0, 0}, {4714, 13107, 21845, 0, 0, 0, 0}, {4698, 13056, 17408, 0, 0, 0, 0}, {4379, 32, 4883, 4160, 1028, 0, 0}, {1548, 4656, 1360, 0, 0, 0, 0}, {1032, 4642, 5461, 0, 0, 0, 0}, {4462, 4626, 1028, 0, 0, 0, 0}, {4447, 4608, 5120, 0, 0, 0, 0}, {864, 1280, 4352, 0, 0, 0, 0}, {1799, 1092, 4369, 0, 0, 0, 0}, {1096, 4386, 832, 16448, 0, 0, 0}, {1295, 4403, 4688, 20560, 0, 0, 0}, {520, 32, 324, 1280, 4096, 0, 0}, {3855, 12336, 4437, 0, 0, 0, 0}, {3840, 4454, 18176, 0, 0, 0, 0}, {1295, 32, 1799, 327, 4112, 0, 0}, {4360, 32, 4864, 4160, 1280, 0, 0}, {4698, 13107, 21845, 0, 0, 0, 0}, {4714, 13056, 17408, 0, 0, 0, 0}, {4379, 32, 4883, 4176, 5140, 0, 0}, {4460, 4608, 1280, 0, 0, 0, 0}, {4445, 4626, 5397, 0, 0, 0, 0}, {1800, 4642, 1092, 0, 0, 0, 0}, {1295, 4656, 5200, 0, 0, 0, 0}, {880, 1024, 4352, 0, 0, 0, 0}, {1542, 1365, 4369, 0, 0, 0, 0}, {1370, 4386, 848, 20560, 0, 0, 0}, {1036, 4403, 4672, 16448, 0, 0, 0}, {3084, 12336, 4420, 0, 0, 0, 0}, {522, 32, 341, 1024, 4096, 0, 0}, {1036, 32, 1542, 342, 4112, 0, 0}, {3072, 4471, 22016, 0, 0, 0, 0}, {4728, 13056, 21760, 0, 0, 0, 0}, {4377, 32, 4883, 4160, 5397, 0, 0}, {4362, 32, 4864, 4176, 1024, 0, 0}, {4680, 13107, 17476, 0, 0, 0, 0}, {1036, 4656, 5440, 0, 0, 0, 0}, {1546, 4642, 1365, 0, 0, 0, 0}, {4430, 4626, 5140, 0, 0, 0, 0}, {4479, 4608, 1024, 0, 0, 0, 0}, {128, 768, 1024, 4352, 0, 0, 0}, {160, 771, 1285, 4369, 0, 0, 0}, {1290, 4386, 768, 20480, 0, 0, 0}, {1036, 4403, 771, 16448, 0, 0, 0}, {780, 4420, 0, 0, 0, 0, 0}, {32, 261, 0, 0, 0, 0, 0}, {262, 4160, 0, 0, 0, 0, 0}, {783, 4471, 0, 0, 0, 0, 0}, {4488, 768, 21760, 0, 0, 0, 0}, {265, 32, 771, 1285, 4112, 0, 0}, {266, 32, 768, 1024, 4096, 0, 0}, {4539, 771, 17476, 0, 0, 0, 0}, {1036, 1792, 5440, 0, 0, 0, 0}, {783, 4722, 1285, 0, 0, 0, 0}, {1290, 1542, 5188, 0, 0, 0, 0}, {783, 4720, 1024, 0, 0, 0, 0}, {2560, 816, 1360, 4352, 0, 0, 0}, {2056, 819, 1092, 4369, 0, 0, 0}, {1096, 4386, 4626, 16448, 0, 0, 0}, {1375, 4403, 4608, 20480, 0, 0, 0}, {32, 276, 0, 0, 0, 0, 0}, {831, 4437, 0, 0, 0, 0, 0}, {4698, 4454, 0, 0, 0, 0, 0}, {279, 4160, 0, 0, 0, 0, 0}, {280, 32, 784, 1360, 4112, 0, 0}, {7509, 819, 21845, 0, 0, 0, 0}, {7770, 816, 17408, 0, 0, 0, 0}, {283, 32, 787, 1092, 4096, 0, 0}, {5180, 5888, 1360, 0, 0, 0, 0}, {4445, 4706, 5397, 0, 0, 0, 0}, {5418, 5654, 1092, 0, 0, 0, 0}, {4447, 4704, 5120, 0, 0, 0, 0}, {160, 768, 1280, 4352, 0, 0, 0}, {128, 771, 1028, 4369, 0, 0, 0}, {1032, 4386, 768, 16384, 0, 0, 0}, {1295, 4403, 771, 20560, 0, 0, 0}, {32, 260, 0, 0, 0, 0, 0}, {783, 4437, 0, 0, 0, 0, 0}, {780, 4454, 0, 0, 0, 0, 0}, {263, 4176, 0, 0, 0, 0, 0}, {264, 32, 768, 1280, 4096, 0, 0}, {4505, 771, 21845, 0, 0, 0, 0}, {4522, 768, 17408, 0, 0, 0, 0}, {267, 32, 771, 1028, 4112, 0, 0}, {780, 4704, 1280, 0, 0, 0, 0}, {1032, 1799, 5461, 0, 0, 0, 0}, {780, 4706, 1028, 0, 0, 0, 0}, {1295, 1536, 5200, 0, 0, 0, 0}, {2048, 816, 1088, 4352, 0, 0, 0}, {2570, 819, 1365, 4369, 0, 0, 0}, {1370, 4386, 4626, 20560, 0, 0, 0}, {1100, 4403, 4608, 16384, 0, 0, 0}, {828, 4420, 0, 0, 0, 0, 0}, {32, 277, 0, 0, 0, 0, 0}, {278, 4176, 0, 0, 0, 0, 0}, {4680, 4471, 0, 0, 0, 0, 0}, {7496, 816, 21760, 0, 0, 0, 0}, {281, 32, 787, 1365, 4096, 0, 0}, {282, 32, 784, 1088, 4112, 0, 0}, {7748, 819, 17476, 0, 0, 0, 0}, {4428, 4720, 5376, 0, 0, 0, 0}, {5160, 5911, 1365, 0, 0, 0, 0}, {4430, 4722, 5140, 0, 0, 0, 0}, {5439, 5632, 1088, 0, 0, 0, 0}, {960, 3840, 4352, 0, 0, 0, 0}, {32, 514, 321, 1285, 4369, 0, 0}, {1290, 32, 514, 322, 4354, 0, 0}, {3855, 4403, 18191, 0, 0, 0, 0}, {4616, 12288, 4420, 5376, 0, 0, 0}, {4666, 12336, 4437, 1285, 0, 0, 0}, {1290, 4454, 5888, 20480, 0, 0, 0}, {1096, 4471, 1799, 16448, 0, 0, 0}, {4360, 5632, 5440, 0, 0, 0, 0}, {4698, 867, 1285, 0, 0, 0, 0}, {4362, 864, 5120, 0, 0, 0, 0}, {4411, 1799, 1092, 0, 0, 0, 0}, {4556, 4608, 21760, 0, 0, 0, 0}, {333, 32, 514, 1285, 4112, 0, 0}, {1290, 32, 514, 1092, 4096, 0, 0}, {3855, 4656, 17408, 0, 0, 0, 0}, {32, 512, 336, 1024, 4352, 0, 0}, {1011, 3084, 4369, 0, 0, 0, 0}, {3072, 4386, 22106, 0, 0, 0, 0}, {1036, 32, 512, 339, 4371, 0, 0}, {4632, 12336, 4420, 5140, 0, 0, 0}, {4650, 12288, 4437, 1024, 0, 0, 0}, {1036, 4454, 5654, 16448, 0, 0, 0}, {1375, 4471, 1536, 20480, 0, 0, 0}, {4392, 1536, 1360, 0, 0, 0, 0}, {4377, 883, 5397, 0, 0, 0, 0}, {4698, 880, 1024, 0, 0, 0, 0}, {4379, 5911, 5188, 0, 0, 0, 0}, {1036, 32, 512, 1360, 4112, 0, 0}, {3072, 4642, 21845, 0, 0, 0, 0}, {4590, 4626, 17476, 0, 0, 0, 0}, {351, 32, 512, 1024, 4096, 0, 0}, {32, 512, 320, 1280, 4352, 0, 0}, {963, 3855, 4369, 0, 0, 0, 0}, {3840, 4386, 18248, 0, 0, 0, 0}, {1295, 32, 512, 323, 4371, 0, 0}, {4648, 12288, 4420, 1280, 0, 0, 0}, {4634, 12336, 4437, 5397, 0, 0, 0}, {1100, 4454, 1792, 16384, 0, 0, 0}, {1295, 4471, 5911, 20560, 0, 0, 0}, {4680, 864, 1280, 0, 0, 0, 0}, {4377, 5654, 5461, 0, 0, 0, 0}, {4394, 1792, 1088, 0, 0, 0, 0}, {4379, 867, 5140, 0, 0, 0, 0}, {332, 32, 512, 1280, 4096, 0, 0}, {4573, 4626, 21845, 0, 0, 0, 0}, {3840, 4642, 17476, 0, 0, 0, 0}, {1295, 32, 512, 1088, 4112, 0, 0}, {1008, 3072, 4352, 0, 0, 0, 0}, {32, 514, 337, 1028, 4369, 0, 0}, {1032, 32, 514, 338, 4354, 0, 0}, {3084, 4403, 22028, 0, 0, 0, 0}, {4664, 12336, 4420, 1028, 0, 0, 0}, {4618, 12288, 4437, 5120, 0, 0, 0}, {1370, 4454, 1542, 20560, 0, 0, 0}, {1032, 4471, 5632, 16384, 0, 0, 0}, {4360, 880, 5376, 0, 0, 0, 0}, {4409, 1542, 1365, 0, 0, 0, 0}, {4362, 5888, 5200, 0, 0, 0, 0}, {4680, 883, 1028, 0, 0, 0, 0}, {3084, 4656, 21760, 0, 0, 0, 0}, {1032, 32, 514, 1365, 4096, 0, 0}, {350, 32, 514, 1028, 4112, 0, 0}, {4607, 4608, 17408, 0, 0, 0, 0}, {8704, 0, 0, 0, 0, 0, 0}, {3, 16, 257, 0, 0, 0, 0}, {32, 514, 0, 0, 0, 0, 0}, {3, 4352, 0, 0, 0, 0, 0}, {12, 8708, 64, 1028, 0, 0, 0}, {15, 8709, 80, 1285, 0, 0, 0}, {12, 96, 1542, 17408, 0, 0, 0}, {15, 112, 1799, 21760, 0, 0, 0}, {128, 2056, 8712, 0, 0, 0, 0}, {3, 80, 1285, 4357, 0, 0, 0}, {160, 2570, 8714, 0, 0, 0, 0}, {3, 64, 1028, 4356, 0, 0, 0}, {12, 8704, 17408, 0, 0, 0, 0}, {15, 32, 514, 80, 1285, 0, 0}, {12, 32, 514, 64, 1028, 0, 0}, {15, 8704, 21760, 0, 0, 0, 0}, {512, 16, 0, 0, 0, 0, 0}, {51, 4369, 0, 0, 0, 0, 0}, {48, 4626, 0, 0, 0, 0, 0}, {19, 4352, 0, 0, 0, 0, 0}, {60, 8724, 80, 5140, 0, 0, 0}, {63, 8725, 64, 5397, 0, 0, 0}, {76, 112, 5654, 17408, 0, 0, 0}, {95, 96, 5911, 21760, 0, 0, 0}, {4632, 48, 80, 0, 0, 0, 0}, {4377, 51, 4437, 0, 0, 0, 0}, {4634, 48, 64, 0, 0, 0, 0}, {4379, 51, 4420, 0, 0, 0, 0}, {28, 32, 512, 80, 5120, 0, 0}, {63, 8738, 21845, 0, 0, 0, 0}, {60, 8738, 17476, 0, 0, 0, 0}, {31, 32, 512, 64, 5376, 0, 0}, {32, 512, 0, 0, 0, 0, 0}, {3, 4369, 0, 0, 0, 0, 0}, {8738, 0, 0, 0, 0, 0, 0}, {3, 16, 256, 0, 0, 0, 0}, {12, 96, 1536, 17476, 0, 0, 0}, {15, 112, 1792, 21845, 0, 0, 0}, {12, 8742, 64, 1024, 0, 0, 0}, {15, 8743, 80, 1280, 0, 0, 0}, {160, 2560, 8744, 0, 0, 0, 0}, {3, 64, 1024, 4373, 0, 0, 0}, {128, 2048, 8746, 0, 0, 0, 0}, {3, 80, 1280, 4372, 0, 0, 0}, {12, 32, 512, 64, 1024, 0, 0}, {15, 8738, 21845, 0, 0, 0, 0}, {12, 8738, 17476, 0, 0, 0, 0}, {15, 32, 512, 80, 1280, 0, 0}, {48, 4608, 0, 0, 0, 0, 0}, {19, 4369, 0, 0, 0, 0, 0}, {514, 16, 0, 0, 0, 0, 0}, {51, 4352, 0, 0, 0, 0, 0}, {76, 112, 5632, 17476, 0, 0, 0}, {95, 96, 5888, 21845, 0, 0, 0}, {60, 8758, 80, 5120, 0, 0, 0}, {63, 8759, 64, 5376, 0, 0, 0}, {4616, 48, 64, 0, 0, 0, 0}, {4362, 51, 4437, 0, 0, 0, 0}, {4618, 48, 80, 0, 0, 0, 0}, {4360, 51, 4420, 0, 0, 0, 0}, {60, 8704, 17408, 0, 0, 0, 0}, {31, 32, 514, 64, 5397, 0, 0}, {28, 32, 514, 80, 5140, 0, 0}, {63, 8704, 21760, 0, 0, 0, 0}, {2048, 8704, 64, 0, 0, 0, 0}, {15, 51, 80, 1285, 4369, 0, 0}, {2570, 96, 16962, 0, 0, 0, 0}, {15, 51, 1792, 67, 4352, 0, 0}, {204, 8772, 17476, 0, 0, 0, 0}, {15, 517, 1285, 16, 0, 0, 0}, {76, 32, 582, 17408, 0, 0, 0}, {15, 48, 4679, 21760, 0, 0, 0}, {192, 18504, 8776, 0, 0, 0, 0}, {19, 80, 1285, 4357, 0, 0, 0}, {522, 32, 64, 0, 0, 0, 0}, {15, 51, 4420, 0, 0, 0, 0}, {76, 8704, 17408, 0, 0, 0, 0}, {15, 48, 4626, 80, 1285, 0, 0}, {108, 8738, 17476, 0, 0, 0, 0}, {15, 48, 4608, 64, 5376, 0, 0}, {2560, 8704, 80, 0, 0, 0, 0}, {12, 51, 64, 1028, 4369, 0, 0}, {2056, 112, 21074, 0, 0, 0, 0}, {12, 51, 1536, 83, 4352, 0, 0}, {12, 516, 1028, 16, 0, 0, 0}, {255, 8789, 21845, 0, 0, 0, 0}, {12, 48, 4694, 17408, 0, 0, 0}, {95, 32, 599, 21760, 0, 0, 0}, {520, 32, 80, 0, 0, 0, 0}, {12, 51, 4437, 0, 0, 0, 0}, {240, 23130, 8794, 0, 0, 0, 0}, {19, 64, 1028, 4356, 0, 0, 0}, {12, 48, 4608, 80, 5120, 0, 0}, {127, 8738, 21845, 0, 0, 0, 0}, {12, 48, 4626, 64, 1028, 0, 0}, {95, 8704, 21760, 0, 0, 0, 0}, {2560, 96, 16896, 0, 0, 0, 0}, {15, 51, 1799, 67, 4369, 0, 0}, {2056, 8738, 64, 0, 0, 0, 0}, {15, 51, 80, 1280, 4352, 0, 0}, {76, 32, 580, 17476, 0, 0, 0}, {15, 48, 4693, 21845, 0, 0, 0}, {204, 8806, 17408, 0, 0, 0, 0}, {15, 519, 1280, 16, 0, 0, 0}, {520, 32, 64, 0, 0, 0, 0}, {15, 51, 4437, 0, 0, 0, 0}, {192, 18432, 8810, 0, 0, 0, 0}, {19, 80, 1280, 4372, 0, 0, 0}, {108, 8704, 17408, 0, 0, 0, 0}, {15, 48, 4626, 64, 5397, 0, 0}, {76, 8738, 17476, 0, 0, 0, 0}, {15, 48, 4608, 80, 1280, 0, 0}, {2048, 112, 20992, 0, 0, 0, 0}, {12, 51, 1542, 83, 4369, 0, 0}, {2570, 8738, 80, 0, 0, 0, 0}, {12, 51, 64, 1024, 4352, 0, 0}, {12, 48, 4676, 17476, 0, 0, 0}, {95, 32, 597, 21845, 0, 0, 0}, {12, 518, 1024, 16, 0, 0, 0}, {255, 8823, 21760, 0, 0, 0, 0}, {240, 23040, 8824, 0, 0, 0, 0}, {19, 64, 1024, 4373, 0, 0, 0}, {522, 32, 80, 0, 0, 0, 0}, {12, 51, 4420, 0, 0, 0, 0}, {12, 48, 4608, 64, 1024, 0, 0}, {95, 8738, 21845, 0, 0, 0, 0}, {12, 48, 4626, 80, 5140, 0, 0}, {127, 8704, 21760, 0, 0, 0, 0}, {128, 2048, 8704, 0, 0, 0, 0}, {3, 80, 1285, 4369, 0, 0, 0}, {160, 2570, 8738, 0, 0, 0, 0}, {3, 64, 1024, 4352, 0, 0, 0}, {12, 8772, 17476, 0, 0, 0, 0}, {15, 32, 517, 80, 1285, 0, 0}, {12, 32, 518, 64, 1024, 0, 0}, {15, 8823, 21760, 0, 0, 0, 0}, {8840, 0, 0, 0, 0, 0, 0}, {3, 261, 16, 0, 0, 0, 0}, {522, 32, 0, 0, 0, 0, 0}, {3, 4420, 0, 0, 0, 0, 0}, {12, 8704, 64, 1024, 0, 0, 0}, {15, 8738, 80, 1285, 0, 0, 0}, {12, 96, 1542, 17476, 0, 0, 0}, {15, 112, 1792, 21760, 0, 0, 0}, {48, 4608, 80, 0, 0, 0, 0}, {76, 51, 4369, 0, 0, 0, 0}, {48, 4626, 64, 0, 0, 0, 0}, {95, 51, 4352, 0, 0, 0, 0}, {28, 32, 532, 80, 5140, 0, 0}, {63, 8789, 21845, 0, 0, 0, 0}, {60, 8806, 17408, 0, 0, 0, 0}, {31, 32, 535, 64, 5376, 0, 0}, {520, 16, 0, 0, 0, 0, 0}, {51, 4437, 0, 0, 0, 0, 0}, {4698, 48, 0, 0, 0, 0, 0}, {19, 4420, 0, 0, 0, 0, 0}, {60, 8704, 80, 5120, 0, 0, 0}, {63, 8738, 64, 5397, 0, 0, 0}, {76, 112, 5654, 17476, 0, 0, 0}, {95, 96, 5888, 21760, 0, 0, 0}, {160, 2560, 8704, 0, 0, 0, 0}, {3, 64, 1028, 4369, 0, 0, 0}, {128, 2056, 8738, 0, 0, 0, 0}, {3, 80, 1280, 4352, 0, 0, 0}, {12, 32, 516, 64, 1028, 0, 0}, {15, 8789, 21845, 0, 0, 0, 0}, {12, 8806, 17408, 0, 0, 0, 0}, {15, 32, 519, 80, 1280, 0, 0}, {520, 32, 0, 0, 0, 0, 0}, {3, 4437, 0, 0, 0, 0, 0}, {8874, 0, 0, 0, 0, 0, 0}, {3, 260, 16, 0, 0, 0, 0}, {12, 96, 1536, 17408, 0, 0, 0}, {15, 112, 1799, 21845, 0, 0, 0}, {12, 8738, 64, 1028, 0, 0, 0}, {15, 8704, 80, 1280, 0, 0, 0}, {48, 4608, 64, 0, 0, 0, 0}, {95, 51, 4369, 0, 0, 0, 0}, {48, 4626, 80, 0, 0, 0, 0}, {76, 51, 4352, 0, 0, 0, 0}, {60, 8772, 17476, 0, 0, 0, 0}, {31, 32, 533, 64, 5397, 0, 0}, {28, 32, 534, 80, 5120, 0, 0}, {63, 8823, 21760, 0, 0, 0, 0}, {4680, 48, 0, 0, 0, 0, 0}, {19, 4437, 0, 0, 0, 0, 0}, {522, 16, 0, 0, 0, 0, 0}, {51, 4420, 0, 0, 0, 0, 0}, {76, 112, 5632, 17408, 0, 0, 0}, {95, 96, 5911, 21845, 0, 0, 0}, {60, 8738, 80, 5140, 0, 0, 0}, {63, 8704, 64, 5376, 0, 0, 0}, {192, 18432, 8704, 0, 0, 0, 0}, {19, 80, 1285, 4369, 0, 0, 0}, {32, 514, 64, 0, 0, 0, 0}, {15, 51, 4352, 0, 0, 0, 0}, {76, 8772, 17476, 0, 0, 0, 0}, {15, 48, 4613, 80, 1285, 0, 0}, {108, 8806, 17408, 0, 0, 0, 0}, {15, 48, 4615, 64, 5376, 0, 0}, {2056, 8712, 64, 0, 0, 0, 0}, {15, 51, 80, 1285, 4357, 0, 0}, {2570, 96, 16906, 0, 0, 0, 0}, {15, 51, 1799, 67, 4359, 0, 0}, {204, 8704, 17408, 0, 0, 0, 0}, {15, 514, 1285, 16, 0, 0, 0}, {76, 32, 514, 17476, 0, 0, 0}, {15, 48, 4608, 21760, 0, 0, 0}, {32, 512, 80, 0, 0, 0, 0}, {12, 51, 4369, 0, 0, 0, 0}, {240, 23130, 8738, 0, 0, 0, 0}, {19, 64, 1024, 4352, 0, 0, 0}, {12, 48, 4628, 80, 5140, 0, 0}, {127, 8789, 21845, 0, 0, 0, 0}, {12, 48, 4630, 64, 1024, 0, 0}, {95, 8823, 21760, 0, 0, 0, 0}, {2560, 8744, 80, 0, 0, 0, 0}, {12, 51, 64, 1024, 4373, 0, 0}, {2048, 112, 21082, 0, 0, 0, 0}, {12, 51, 1536, 83, 4375, 0, 0}, {12, 512, 1024, 16, 0, 0, 0}, {255, 8738, 21845, 0, 0, 0, 0}, {12, 48, 4626, 17476, 0, 0, 0}, {95, 32, 512, 21760, 0, 0, 0}, {32, 512, 64, 0, 0, 0, 0}, {15, 51, 4369, 0, 0, 0, 0}, {192, 18504, 8738, 0, 0, 0, 0}, {19, 80, 1280, 4352, 0, 0, 0}, {108, 8772, 17476, 0, 0, 0, 0}, {15, 48, 4629, 64, 5397, 0, 0}, {76, 8806, 17408, 0, 0, 0, 0}, {15, 48, 4631, 80, 1280, 0, 0}, {2560, 96, 16968, 0, 0, 0, 0}, {15, 51, 1792, 67, 4374, 0, 0}, {2048, 8746, 64, 0, 0, 0, 0}, {15, 51, 80, 1280, 4372, 0, 0}, {76, 32, 512, 17408, 0, 0, 0}, {15, 48, 4626, 21845, 0, 0, 0}, {204, 8738, 17476, 0, 0, 0, 0}, {15, 512, 1280, 16, 0, 0, 0}, {240, 23040, 8704, 0, 0, 0, 0}, {19, 64, 1028, 4369, 0, 0, 0}, {32, 514, 80, 0, 0, 0, 0}, {12, 51, 4352, 0, 0, 0, 0}, {12, 48, 4612, 64, 1028, 0, 0}, {95, 8789, 21845, 0, 0, 0, 0}, {12, 48, 4614, 80, 5120, 0, 0}, {127, 8823, 21760, 0, 0, 0, 0}, {2056, 112, 21000, 0, 0, 0, 0}, {12, 51, 1542, 83, 4358, 0, 0}, {2570, 8714, 80, 0, 0, 0, 0}, {12, 51, 64, 1028, 4356, 0, 0}, {12, 48, 4608, 17408, 0, 0, 0}, {95, 32, 514, 21845, 0, 0, 0}, {12, 514, 1028, 16, 0, 0, 0}, {255, 8704, 21760, 0, 0, 0, 0}, {768, 4096, 0, 0, 0, 0, 0}, {34, 257, 0, 0, 0, 0, 0}, {258, 4352, 0, 0, 0, 0, 0}, {4144, 771, 0, 0, 0, 0, 0}, {780, 8964, 4160, 1028, 0, 0, 0}, {783, 8965, 4176, 1285, 0, 0, 0}, {1290, 4192, 1542, 21760, 0, 0, 0}, {1032, 4208, 1799, 17408, 0, 0, 0}, {4104, 768, 5120, 0, 0, 0, 0}, {4154, 771, 1285, 0, 0, 0, 0}, {4106, 768, 5376, 0, 0, 0, 0}, {4152, 771, 1028, 0, 0, 0, 0}, {780, 8192, 20480, 0, 0, 0, 0}, {269, 34, 514, 4437, 1285, 0, 0}, {270, 34, 514, 4420, 1028, 0, 0}, {783, 8192, 16384, 0, 0, 0, 0}, {816, 4112, 0, 0, 0, 0, 0}, {512, 273, 0, 0, 0, 0, 0}, {274, 4352, 0, 0, 0, 0, 0}, {4128, 4883, 0, 0, 0, 0, 0}, {828, 8980, 4176, 5140, 0, 0, 0}, {831, 8981, 4160, 5397, 0, 0, 0}, {1370, 4208, 5654, 21760, 0, 0, 0}, {1096, 4192, 5911, 17408, 0, 0, 0}, {4120, 816, 5200, 0, 0, 0, 0}, {4889, 819, 1365, 0, 0, 0, 0}, {4122, 816, 5440, 0, 0, 0, 0}, {4891, 819, 1092, 0, 0, 0, 0}, {828, 8224, 20560, 0, 0, 0, 0}, {285, 34, 512, 4437, 5120, 0, 0}, {286, 34, 512, 4420, 5376, 0, 0}, {831, 8224, 16448, 0, 0, 0, 0}, {4128, 768, 0, 0, 0, 0, 0}, {259, 4369, 0, 0, 0, 0, 0}, {34, 256, 0, 0, 0, 0, 0}, {771, 4112, 0, 0, 0, 0, 0}, {1036, 4192, 1792, 17476, 0, 0, 0}, {1295, 4208, 1536, 21845, 0, 0, 0}, {780, 8998, 4160, 1280, 0, 0, 0}, {783, 8999, 4176, 1024, 0, 0, 0}, {4136, 768, 1024, 0, 0, 0, 0}, {4122, 771, 5397, 0, 0, 0, 0}, {4138, 768, 1280, 0, 0, 0, 0}, {4120, 771, 5140, 0, 0, 0, 0}, {780, 8224, 16448, 0, 0, 0, 0}, {271, 34, 512, 4437, 1024, 0, 0}, {268, 34, 512, 4420, 1280, 0, 0}, {783, 8224, 20560, 0, 0, 0, 0}, {4144, 4864, 0, 0, 0, 0, 0}, {275, 4369, 0, 0, 0, 0, 0}, {514, 272, 0, 0, 0, 0, 0}, {819, 4096, 0, 0, 0, 0, 0}, {1100, 4208, 5888, 17476, 0, 0, 0}, {1375, 4192, 5632, 21845, 0, 0, 0}, {828, 9014, 4176, 5376, 0, 0, 0}, {831, 9015, 4160, 5120, 0, 0, 0}, {4872, 816, 1088, 0, 0, 0, 0}, {4106, 819, 5461, 0, 0, 0, 0}, {4874, 816, 1360, 0, 0, 0, 0}, {4104, 819, 5188, 0, 0, 0, 0}, {828, 8192, 16384, 0, 0, 0, 0}, {287, 34, 514, 4437, 5397, 0, 0}, {284, 34, 514, 4420, 5140, 0, 0}, {831, 8192, 20480, 0, 0, 0, 0}, {3840, 13056, 4160, 0, 0, 0, 0}, {522, 34, 321, 1285, 4369, 0, 0}, {1290, 34, 1792, 322, 4352, 0, 0}, {3855, 4208, 17219, 0, 0, 0, 0}, {1792, 1092, 4096, 0, 0, 0, 0}, {869, 1285, 4112, 0, 0, 0, 0}, {1290, 4128, 4934, 21760, 0, 0, 0}, {1096, 4144, 839, 17408, 0, 0, 0}, {4168, 4864, 5120, 0, 0, 0, 0}, {4218, 4883, 1285, 0, 0, 0, 0}, {1290, 4896, 5440, 0, 0, 0, 0}, {1807, 4915, 1092, 0, 0, 0, 0}, {4940, 12288, 20480, 0, 0, 0, 0}, {4120, 34, 4626, 4437, 1285, 0, 0}, {4106, 34, 4608, 4420, 5376, 0, 0}, {4991, 12336, 16448, 0, 0, 0, 0}, {3072, 13056, 4176, 0, 0, 0, 0}, {520, 34, 337, 1028, 4369, 0, 0}, {1032, 34, 1536, 338, 4352, 0, 0}, {3084, 4192, 21331, 0, 0, 0, 0}, {884, 1028, 4112, 0, 0, 0, 0}, {1536, 1365, 4096, 0, 0, 0, 0}, {1370, 4144, 854, 21760, 0, 0, 0}, {1032, 4128, 4951, 17408, 0, 0, 0}, {1032, 4896, 5200, 0, 0, 0, 0}, {1548, 4915, 1365, 0, 0, 0, 0}, {4186, 4864, 5376, 0, 0, 0, 0}, {4200, 4883, 1028, 0, 0, 0, 0}, {4972, 12336, 20560, 0, 0, 0, 0}, {4104, 34, 4608, 4437, 5120, 0, 0}, {4122, 34, 4626, 4420, 1028, 0, 0}, {4959, 12288, 16384, 0, 0, 0, 0}, {3840, 4192, 17152, 0, 0, 0, 0}, {1295, 34, 1799, 323, 4369, 0, 0}, {520, 34, 320, 1280, 4352, 0, 0}, {3855, 13107, 4176, 0, 0, 0, 0}, {1100, 4128, 836, 17476, 0, 0, 0}, {1295, 4144, 4949, 21845, 0, 0, 0}, {870, 1280, 4096, 0, 0, 0, 0}, {1799, 1088, 4112, 0, 0, 0, 0}, {1800, 4896, 1088, 0, 0, 0, 0}, {1295, 4915, 5461, 0, 0, 0, 0}, {4202, 4864, 1280, 0, 0, 0, 0}, {4184, 4883, 5140, 0, 0, 0, 0}, {4972, 12288, 16384, 0, 0, 0, 0}, {4122, 34, 4626, 4437, 5397, 0, 0}, {4104, 34, 4608, 4420, 1280, 0, 0}, {4959, 12336, 20560, 0, 0, 0, 0}, {3072, 4208, 21248, 0, 0, 0, 0}, {1036, 34, 1542, 339, 4369, 0, 0}, {522, 34, 336, 1024, 4352, 0, 0}, {3084, 13107, 4160, 0, 0, 0, 0}, {1036, 4144, 4932, 17476, 0, 0, 0}, {1375, 4128, 853, 21845, 0, 0, 0}, {1542, 1360, 4112, 0, 0, 0, 0}, {887, 1024, 4096, 0, 0, 0, 0}, {4216, 4864, 1024, 0, 0, 0, 0}, {4170, 4883, 5397, 0, 0, 0, 0}, {1546, 4896, 1360, 0, 0, 0, 0}, {1036, 4915, 5188, 0, 0, 0, 0}, {4940, 12336, 16448, 0, 0, 0, 0}, {4106, 34, 4608, 4437, 1024, 0, 0}, {4120, 34, 4626, 4420, 5140, 0, 0}, {4991, 12288, 20480, 0, 0, 0, 0}, {4224, 768, 20480, 0, 0, 0, 0}, {265, 34, 771, 1285, 4369, 0, 0}, {266, 34, 768, 1024, 4352, 0, 0}, {4272, 771, 16448, 0, 0, 0, 0}, {1036, 1792, 5188, 0, 0, 0, 0}, {783, 4981, 1285, 0, 0, 0, 0}, {1290, 1542, 5440, 0, 0, 0, 0}, {783, 4983, 1024, 0, 0, 0, 0}, {136, 768, 1024, 4096, 0, 0, 0}, {170, 771, 1285, 4112, 0, 0, 0}, {1290, 4128, 768, 21760, 0, 0, 0}, {1036, 4144, 771, 17476, 0, 0, 0}, {780, 4160, 0, 0, 0, 0, 0}, {34, 261, 0, 0, 0, 0, 0}, {262, 4420, 0, 0, 0, 0, 0}, {783, 4208, 0, 0, 0, 0, 0}, {7248, 816, 20560, 0, 0, 0, 0}, {281, 34, 785, 1365, 4369, 0, 0}, {282, 34, 786, 1088, 4352, 0, 0}, {8031, 819, 16384, 0, 0, 0, 0}, {4184, 4964, 5140, 0, 0, 0, 0}, {5439, 5632, 1365, 0, 0, 0, 0}, {4186, 4966, 5376, 0, 0, 0, 0}, {5160, 5911, 1088, 0, 0, 0, 0}, {2056, 816, 1088, 4112, 0, 0, 0}, {2560, 819, 1365, 4096, 0, 0, 0}, {1370, 4144, 4864, 21760, 0, 0, 0}, {1100, 4128, 4883, 17476, 0, 0, 0}, {828, 4176, 0, 0, 0, 0, 0}, {34, 277, 0, 0, 0, 0, 0}, {278, 4420, 0, 0, 0, 0, 0}, {4959, 4192, 0, 0, 0, 0, 0}, {4256, 768, 16384, 0, 0, 0, 0}, {267, 34, 771, 1028, 4369, 0, 0}, {264, 34, 768, 1280, 4352, 0, 0}, {4240, 771, 20560, 0, 0, 0, 0}, {780, 4964, 1028, 0, 0, 0, 0}, {1295, 1536, 5461, 0, 0, 0, 0}, {780, 4966, 1280, 0, 0, 0, 0}, {1032, 1799, 5200, 0, 0, 0, 0}, {1032, 4128, 768, 17408, 0, 0, 0}, {1295, 4144, 771, 21845, 0, 0, 0}, {170, 768, 1280, 4096, 0, 0, 0}, {136, 771, 1028, 4112, 0, 0, 0}, {780, 4192, 0, 0, 0, 0, 0}, {263, 4437, 0, 0, 0, 0, 0}, {34, 260, 0, 0, 0, 0, 0}, {783, 4176, 0, 0, 0, 0, 0}, {8000, 816, 16448, 0, 0, 0, 0}, {283, 34, 785, 1092, 4369, 0, 0}, {280, 34, 786, 1360, 4352, 0, 0}, {7244, 819, 20480, 0, 0, 0, 0}, {5180, 5888, 1092, 0, 0, 0, 0}, {4170, 4981, 5397, 0, 0, 0, 0}, {5418, 5654, 1360, 0, 0, 0, 0}, {4168, 4983, 5120, 0, 0, 0, 0}, {1096, 4144, 4864, 17408, 0, 0, 0}, {1375, 4128, 4883, 21845, 0, 0, 0}, {2570, 816, 1360, 4112, 0, 0, 0}, {2048, 819, 1092, 4096, 0, 0, 0}, {4940, 4208, 0, 0, 0, 0, 0}, {279, 4437, 0, 0, 0, 0, 0}, {34, 276, 0, 0, 0, 0, 0}, {831, 4160, 0, 0, 0, 0, 0}, {4288, 4864, 20480, 0, 0, 0, 0}, {329, 34, 514, 1285, 4369, 0, 0}, {1290, 34, 514, 1088, 4352, 0, 0}, {3855, 4915, 16384, 0, 0, 0, 0}, {4104, 5888, 5188, 0, 0, 0, 0}, {4959, 869, 1285, 0, 0, 0, 0}, {4106, 870, 5376, 0, 0, 0, 0}, {4152, 1799, 1088, 0, 0, 0, 0}, {4872, 13056, 4160, 5120, 0, 0, 0}, {4921, 13107, 4176, 1285, 0, 0, 0}, {1290, 4192, 5632, 21760, 0, 0, 0}, {1100, 4208, 1799, 17476, 0, 0, 0}, {972, 3840, 4096, 0, 0, 0, 0}, {34, 514, 325, 1285, 4112, 0, 0}, {1290, 34, 514, 326, 4098, 0, 0}, {3855, 4144, 17167, 0, 0, 0, 0}, {3072, 4896, 20560, 0, 0, 0, 0}, {1036, 34, 512, 1365, 4369, 0, 0}, {346, 34, 512, 1024, 4352, 0, 0}, {4320, 4883, 16448, 0, 0, 0, 0}, {4120, 884, 5140, 0, 0, 0, 0}, {4138, 1536, 1365, 0, 0, 0, 0}, {4122, 5654, 5440, 0, 0, 0, 0}, {4959, 887, 1024, 0, 0, 0, 0}, {4904, 13056, 4176, 1024, 0, 0, 0}, {4889, 13107, 4160, 5397, 0, 0, 0}, {1370, 4208, 1536, 21760, 0, 0, 0}, {1036, 4192, 5911, 17476, 0, 0, 0}, {1020, 3084, 4112, 0, 0, 0, 0}, {34, 512, 341, 1024, 4096, 0, 0}, {1036, 34, 512, 342, 4114, 0, 0}, {3072, 4128, 21343, 0, 0, 0, 0}, {3840, 4896, 16448, 0, 0, 0, 0}, {1295, 34, 512, 1092, 4369, 0, 0}, {328, 34, 512, 1280, 4352, 0, 0}, {4304, 4883, 20560, 0, 0, 0, 0}, {4136, 1792, 1092, 0, 0, 0, 0}, {4122, 869, 5397, 0, 0, 0, 0}, {4940, 870, 1280, 0, 0, 0, 0}, {4120, 5911, 5200, 0, 0, 0, 0}, {1096, 4192, 1792, 17408, 0, 0, 0}, {1295, 4208, 5654, 21845, 0, 0, 0}, {4906, 13056, 4160, 1280, 0, 0, 0}, {4891, 13107, 4176, 5140, 0, 0, 0}, {3840, 4128, 17228, 0, 0, 0, 0}, {1295, 34, 512, 327, 4114, 0, 0}, {34, 512, 324, 1280, 4096, 0, 0}, {975, 3855, 4112, 0, 0, 0, 0}, {4336, 4864, 16384, 0, 0, 0, 0}, {347, 34, 514, 1028, 4369, 0, 0}, {1032, 34, 514, 1360, 4352, 0, 0}, {3084, 4915, 20480, 0, 0, 0, 0}, {4940, 884, 1028, 0, 0, 0, 0}, {4106, 5632, 5461, 0, 0, 0, 0}, {4154, 1542, 1360, 0, 0, 0, 0}, {4104, 887, 5120, 0, 0, 0, 0}, {1032, 4208, 5888, 17408, 0, 0, 0}, {1375, 4192, 1542, 21845, 0, 0, 0}, {4874, 13056, 4176, 5376, 0, 0, 0}, {4923, 13107, 4160, 1028, 0, 0, 0}, {3084, 4144, 21260, 0, 0, 0, 0}, {1032, 34, 514, 343, 4098, 0, 0}, {34, 514, 340, 1028, 4112, 0, 0}, {1023, 3072, 4096, 0, 0, 0, 0}, {3072, 9216, 17408, 0, 0, 0, 0}, {15, 37, 85, 257, 0, 0, 0}, {1032, 1058, 514, 16384, 0, 0, 0}, {15, 5171, 771, 20480, 0, 0, 0}, {128, 8192, 1028, 0, 0, 0, 0}, {15, 768, 85, 1285, 4352, 0, 0}, {170, 1542, 17510, 0, 0, 0, 0}, {15, 112, 768, 1031, 4096, 0, 0}, {1032, 8192, 16384, 0, 0, 0, 0}, {15, 4403, 771, 85, 1285, 0, 0}, {1546, 8704, 17408, 0, 0, 0, 0}, {15, 4144, 771, 4160, 1028, 0, 0}, {17612, 3084, 9228, 0, 0, 0, 0}, {258, 85, 1285, 4101, 0, 0, 0}, {42, 514, 1028, 0, 0, 0, 0}, {15, 768, 5120, 0, 0, 0, 0}, {2048, 1072, 1088, 4112, 0, 0, 0}, {2560, 1587, 85, 4369, 0, 0, 0}, {90, 5154, 4626, 20480, 0, 0, 0}, {1100, 1075, 4883, 16384, 0, 0, 0}, {240, 12288, 5140, 0, 0, 0, 0}, {42, 512, 85, 1045, 4352, 0, 0}, {90, 112, 512, 1046, 4096, 0, 0}, {255, 5911, 17527, 0, 0, 0, 0}, {5160, 12336, 20560, 0, 0, 0, 0}, {4377, 4403, 512, 85, 5376, 0, 0}, {4122, 4144, 512, 4160, 5120, 0, 0}, {5928, 13107, 17476, 0, 0, 0, 0}, {5148, 4128, 4176, 0, 0, 0, 0}, {5917, 4386, 85, 0, 0, 0, 0}, {5150, 4642, 5188, 0, 0, 0, 0}, {5919, 4896, 1088, 0, 0, 0, 0}, {128, 8224, 1024, 0, 0, 0, 0}, {15, 771, 85, 1280, 4369, 0, 0}, {170, 1536, 17442, 0, 0, 0, 0}, {15, 112, 771, 1027, 4112, 0, 0}, {3084, 9252, 17476, 0, 0, 0, 0}, {15, 37, 85, 256, 0, 0, 0}, {1036, 1062, 512, 16448, 0, 0, 0}, {15, 5159, 768, 20560, 0, 0, 0}, {17544, 3072, 9256, 0, 0, 0, 0}, {259, 85, 1280, 4117, 0, 0, 0}, {42, 512, 1024, 0, 0, 0, 0}, {15, 771, 5140, 0, 0, 0, 0}, {1036, 8224, 16448, 0, 0, 0, 0}, {15, 4386, 768, 85, 1280, 0, 0}, {1548, 8738, 17476, 0, 0, 0, 0}, {15, 4128, 768, 4176, 1024, 0, 0}, {240, 12336, 5120, 0, 0, 0, 0}, {42, 514, 85, 1041, 4369, 0, 0}, {90, 112, 514, 1042, 4112, 0, 0}, {255, 5888, 17459, 0, 0, 0, 0}, {2056, 1076, 1092, 4096, 0, 0, 0}, {2570, 1589, 85, 4352, 0, 0, 0}, {90, 5174, 4608, 20560, 0, 0, 0}, {1096, 1079, 4864, 16448, 0, 0, 0}, {5128, 4144, 4160, 0, 0, 0, 0}, {5898, 4403, 85, 0, 0, 0, 0}, {5130, 4656, 5200, 0, 0, 0, 0}, {5896, 4915, 1092, 0, 0, 0, 0}, {5180, 12288, 20480, 0, 0, 0, 0}, {4360, 4386, 514, 85, 5397, 0, 0}, {4106, 4128, 514, 4176, 5140, 0, 0}, {5951, 13056, 17408, 0, 0, 0, 0}, {2048, 8192, 1088, 0, 0, 0, 0}, {15, 819, 85, 1285, 4369, 0, 0}, {2570, 1632, 16962, 0, 0, 0, 0}, {15, 1075, 1792, 1091, 4096, 0, 0}, {3276, 9284, 17476, 0, 0, 0, 0}, {15, 517, 1285, 272, 0, 0, 0}, {1100, 1126, 1606, 16384, 0, 0, 0}, {15, 5239, 5959, 20480, 0, 0, 0}, {17544, 18504, 9288, 0, 0, 0, 0}, {275, 85, 1285, 4101, 0, 0, 0}, {522, 544, 1088, 0, 0, 0, 0}, {15, 819, 5188, 0, 0, 0, 0}, {1100, 8192, 16384, 0, 0, 0, 0}, {15, 4386, 4626, 85, 1285, 0, 0}, {1644, 8738, 17476, 0, 0, 0, 0}, {15, 4144, 4864, 4160, 5120, 0, 0}, {3072, 12288, 5200, 0, 0, 0, 0}, {520, 546, 85, 1028, 4369, 0, 0}, {1032, 1058, 1536, 1106, 4096, 0, 0}, {3084, 5984, 21331, 0, 0, 0, 0}, {112, 1028, 4112, 0, 0, 0, 0}, {1536, 85, 4352, 0, 0, 0, 0}, {90, 5222, 1622, 20480, 0, 0, 0}, {1032, 1143, 5975, 16384, 0, 0, 0}, {1032, 4128, 4176, 0, 0, 0, 0}, {1548, 4403, 85, 0, 0, 0, 0}, {90, 4608, 5120, 0, 0, 0, 0}, {127, 4883, 1028, 0, 0, 0, 0}, {5228, 12336, 20560, 0, 0, 0, 0}, {4360, 4386, 4864, 85, 5376, 0, 0}, {4122, 4144, 4626, 4160, 1028, 0, 0}, {5983, 13056, 17408, 0, 0, 0, 0}, {3264, 9312, 17408, 0, 0, 0, 0}, {15, 519, 1280, 273, 0, 0, 0}, {1096, 1122, 1600, 16448, 0, 0, 0}, {15, 5219, 5968, 20560, 0, 0, 0}, {2056, 8224, 1092, 0, 0, 0, 0}, {15, 816, 85, 1280, 4352, 0, 0}, {2560, 1638, 16896, 0, 0, 0, 0}, {15, 1079, 1799, 1095, 4112, 0, 0}, {1096, 8224, 16448, 0, 0, 0, 0}, {15, 4403, 4608, 85, 1280, 0, 0}, {1642, 8704, 17408, 0, 0, 0, 0}, {15, 4128, 4883, 4176, 5140, 0, 0}, {17612, 18432, 9324, 0, 0, 0, 0}, {274, 85, 1280, 4117, 0, 0, 0}, {520, 546, 1092, 0, 0, 0, 0}, {15, 816, 5200, 0, 0, 0, 0}, {112, 1024, 4096, 0, 0, 0, 0}, {1542, 85, 4369, 0, 0, 0, 0}, {90, 5234, 1616, 20560, 0, 0, 0}, {1036, 1139, 5952, 16448, 0, 0, 0}, {3084, 12336, 5188, 0, 0, 0, 0}, {522, 544, 85, 1024, 4352, 0, 0}, {1036, 1062, 1542, 1110, 4112, 0, 0}, {3072, 6007, 21248, 0, 0, 0, 0}, {5240, 12288, 20480, 0, 0, 0, 0}, {4377, 4403, 4883, 85, 5397, 0, 0}, {4106, 4128, 4608, 4176, 1024, 0, 0}, {5960, 13107, 17476, 0, 0, 0, 0}, {1036, 4144, 4160, 0, 0, 0, 0}, {1546, 4386, 85, 0, 0, 0, 0}, {90, 4626, 5140, 0, 0, 0, 0}, {127, 4864, 1024, 0, 0, 0, 0}, {128, 8192, 1024, 0, 0, 0, 0}, {15, 771, 85, 1285, 4369, 0, 0}, {1546, 8738, 17442, 0, 0, 0, 0}, {15, 4144, 771, 4160, 1027, 0, 0}, {9348, 3084, 17476, 0, 0, 0, 0}, {288, 768, 261, 4352, 0, 0, 0}, {1036, 1062, 1542, 16448, 0, 0, 0}, {15, 5239, 768, 20480, 0, 0, 0}, {17544, 3072, 24576, 0, 0, 0, 0}, {262, 85, 1285, 4112, 0, 0, 0}, {522, 544, 1024, 0, 0, 0, 0}, {15, 771, 5188, 0, 0, 0, 0}, {1036, 8192, 16448, 0, 0, 0, 0}, {15, 4386, 768, 85, 1285, 0, 0}, {170, 1542, 17476, 0, 0, 0, 0}, {15, 112, 768, 1024, 4096, 0, 0}, {3120, 12336, 5200, 0, 0, 0, 0}, {520, 546, 85, 1041, 4369, 0, 0}, {4122, 4144, 4626, 4160, 1042, 0, 0}, {5983, 13107, 17459, 0, 0, 0, 0}, {4128, 4176, 5140, 0, 0, 0, 0}, {1599, 85, 4352, 0, 0, 0, 0}, {90, 5222, 4608, 20480, 0, 0, 0}, {1096, 1079, 5911, 16448, 0, 0, 0}, {1096, 112, 4112, 0, 0, 0, 0}, {4403, 5888, 85, 0, 0, 0, 0}, {90, 4656, 5120, 0, 0, 0, 0}, {1083, 4883, 1092, 0, 0, 0, 0}, {5228, 12288, 20560, 0, 0, 0, 0}, {4360, 4386, 4864, 85, 5397, 0, 0}, {1054, 1076, 1558, 1092, 4096, 0, 0}, {7007, 5984, 17408, 0, 0, 0, 0}, {9376, 3072, 17408, 0, 0, 0, 0}, {289, 771, 260, 4369, 0, 0, 0}, {1032, 1058, 1536, 16384, 0, 0, 0}, {15, 5219, 771, 20560, 0, 0, 0}, {128, 8224, 1028, 0, 0, 0, 0}, {15, 768, 85, 1280, 4352, 0, 0}, {1548, 8704, 17510, 0, 0, 0, 0}, {15, 4128, 768, 4176, 1031, 0, 0}, {1032, 8224, 16384, 0, 0, 0, 0}, {15, 4403, 771, 85, 1280, 0, 0}, {170, 1536, 17408, 0, 0, 0, 0}, {15, 112, 771, 1028, 4112, 0, 0}, {17612, 3084, 24672, 0, 0, 0, 0}, {263, 85, 1280, 4096, 0, 0, 0}, {520, 546, 1028, 0, 0, 0, 0}, {15, 768, 5200, 0, 0, 0, 0}, {4144, 4160, 5120, 0, 0, 0, 0}, {1593, 85, 4369, 0, 0, 0, 0}, {90, 5234, 4626, 20560, 0, 0, 0}, {1100, 1075, 5888, 16384, 0, 0, 0}, {3132, 12288, 5188, 0, 0, 0, 0}, {522, 544, 85, 1045, 4352, 0, 0}, {4106, 4128, 4608, 4176, 1046, 0, 0}, {5960, 13056, 17527, 0, 0, 0, 0}, {5240, 12336, 20480, 0, 0, 0, 0}, {4377, 4403, 4883, 85, 5376, 0, 0}, {1050, 1072, 1552, 1088, 4112, 0, 0}, {6980, 6007, 17476, 0, 0, 0, 0}, {1100, 112, 4096, 0, 0, 0, 0}, {4386, 5911, 85, 0, 0, 0, 0}, {90, 4642, 5140, 0, 0, 0, 0}, {1087, 4864, 1088, 0, 0, 0, 0}, {9408, 10240, 17408, 0, 0, 0, 0}, {305, 514, 276, 4369, 0, 0, 0}, {1096, 1122, 514, 16448, 0, 0, 0}, {15, 5171, 5888, 20480, 0, 0, 0}, {2056, 8192, 1092, 0, 0, 0, 0}, {15, 816, 85, 1285, 4352, 0, 0}, {1644, 8704, 17510, 0, 0, 0, 0}, {15, 4144, 4864, 4160, 5127, 0, 0}, {1096, 8192, 16448, 0, 0, 0, 0}, {15, 4403, 4608, 85, 1285, 0, 0}, {2570, 1632, 17408, 0, 0, 0, 0}, {15, 1076, 1799, 1092, 4096, 0, 0}, {17612, 18432, 24576, 0, 0, 0, 0}, {279, 85, 1285, 4112, 0, 0, 0}, {42, 514, 1092, 0, 0, 0, 0}, {15, 816, 5120, 0, 0, 0, 0}, {4128, 4176, 1024, 0, 0, 0, 0}, {1548, 85, 4369, 0, 0, 0, 0}, {90, 5154, 1536, 20480, 0, 0, 0}, {1036, 1139, 4883, 16448, 0, 0, 0}, {240, 12336, 5140, 0, 0, 0, 0}, {42, 512, 85, 1024, 4352, 0, 0}, {4122, 4144, 512, 4160, 5142, 0, 0}, {5928, 13056, 17527, 0, 0, 0, 0}, {5160, 12288, 20560, 0, 0, 0, 0}, {4377, 4403, 512, 85, 5397, 0, 0}, {90, 112, 512, 1024, 4096, 0, 0}, {255, 5911, 17476, 0, 0, 0, 0}, {1036, 112, 4112, 0, 0, 0, 0}, {4386, 1536, 85, 0, 0, 0, 0}, {5150, 4626, 5188, 0, 0, 0, 0}, {4959, 4896, 1024, 0, 0, 0, 0}, {2048, 8224, 1088, 0, 0, 0, 0}, {15, 819, 85, 1280, 4369, 0, 0}, {1642, 8738, 17442, 0, 0, 0, 0}, {15, 4128, 4883, 4176, 5139, 0, 0}, {9444, 10280, 17476, 0, 0, 0, 0}, {304, 512, 277, 4352, 0, 0, 0}, {1100, 1126, 512, 16384, 0, 0, 0}, {15, 5159, 5911, 20560, 0, 0, 0}, {17544, 18504, 24672, 0, 0, 0, 0}, {278, 85, 1280, 4096, 0, 0, 0}, {42, 512, 1088, 0, 0, 0, 0}, {15, 819, 5140, 0, 0, 0, 0}, {1100, 8224, 16384, 0, 0, 0, 0}, {15, 4386, 4626, 85, 1280, 0, 0}, {2560, 1638, 17476, 0, 0, 0, 0}, {15, 1072, 1792, 1088, 4112, 0, 0}, {240, 12288, 5120, 0, 0, 0, 0}, {42, 514, 85, 1028, 4369, 0, 0}, {4106, 4128, 514, 4176, 5122, 0, 0}, {5951, 13107, 17459, 0, 0, 0, 0}, {4144, 4160, 1028, 0, 0, 0, 0}, {1546, 85, 4352, 0, 0, 0, 0}, {90, 5174, 1542, 20560, 0, 0, 0}, {1032, 1143, 4864, 16384, 0, 0, 0}, {1032, 112, 4096, 0, 0, 0, 0}, {4403, 1542, 85, 0, 0, 0, 0}, {5130, 4608, 5200, 0, 0, 0, 0}, {4940, 4915, 1028, 0, 0, 0, 0}, {5180, 12336, 20480, 0, 0, 0, 0}, {4360, 4386, 514, 85, 5376, 0, 0}, {90, 112, 514, 1028, 4112, 0, 0}, {255, 5888, 17408, 0, 0, 0, 0}, {3840, 9472, 21760, 0, 0, 0, 0}, {12, 36, 68, 257, 0, 0, 0}, {1290, 1314, 514, 20480, 0, 0, 0}, {12, 5427, 771, 16384, 0, 0, 0}, {12, 768, 68, 1028, 4352, 0, 0}, {160, 8192, 1285, 0, 0, 0, 0}, {12, 96, 768, 1286, 4096, 0, 0}, {136, 1799, 21879, 0, 0, 0, 0}, {1800, 8704, 21760, 0, 0, 0, 0}, {12, 4144, 771, 4176, 1285, 0, 0}, {1290, 8192, 20480, 0, 0, 0, 0}, {12, 4403, 771, 68, 1028, 0, 0}, {12, 768, 5376, 0, 0, 0, 0}, {40, 514, 1285, 0, 0, 0, 0}, {258, 68, 1028, 4100, 0, 0, 0}, {22015, 3855, 9487, 0, 0, 0, 0}, {2560, 1328, 1360, 4112, 0, 0, 0}, {2048, 1843, 68, 4369, 0, 0, 0}, {72, 5410, 4626, 16384, 0, 0, 0}, {1375, 1331, 4883, 20480, 0, 0, 0}, {40, 512, 68, 1300, 4352, 0, 0}, {192, 12288, 5397, 0, 0, 0, 0}, {204, 5654, 21862, 0, 0, 0, 0}, {72, 96, 512, 1303, 4096, 0, 0}, {4120, 4144, 512, 4176, 5376, 0, 0}, {5674, 13107, 21845, 0, 0, 0, 0}, {5418, 12336, 16448, 0, 0, 0, 0}, {4379, 4403, 512, 68, 5120, 0, 0}, {5660, 4896, 1360, 0, 0, 0, 0}, {5405, 4642, 5461, 0, 0, 0, 0}, {5662, 4386, 68, 0, 0, 0, 0}, {5407, 4128, 4160, 0, 0, 0, 0}, {160, 8224, 1280, 0, 0, 0, 0}, {12, 771, 68, 1024, 4369, 0, 0}, {136, 1792, 21794, 0, 0, 0, 0}, {12, 96, 771, 1283, 4112, 0, 0}, {12, 36, 68, 256, 0, 0, 0}, {3855, 9509, 21845, 0, 0, 0, 0}, {12, 5414, 768, 16448, 0, 0, 0}, {1295, 1319, 512, 20560, 0, 0, 0}, {40, 512, 1280, 0, 0, 0, 0}, {12, 771, 5397, 0, 0, 0, 0}, {21930, 3840, 9514, 0, 0, 0, 0}, {259, 68, 1024, 4116, 0, 0, 0}, {12, 4128, 768, 4160, 1280, 0, 0}, {1807, 8738, 21845, 0, 0, 0, 0}, {12, 4386, 768, 68, 1024, 0, 0}, {1295, 8224, 20560, 0, 0, 0, 0}, {192, 12336, 5376, 0, 0, 0, 0}, {40, 514, 68, 1297, 4369, 0, 0}, {72, 96, 514, 1298, 4112, 0, 0}, {204, 5632, 21811, 0, 0, 0, 0}, {2056, 1844, 68, 4352, 0, 0, 0}, {2570, 1333, 1365, 4096, 0, 0, 0}, {1370, 1334, 4864, 20560, 0, 0, 0}, {72, 5431, 4608, 16448, 0, 0, 0}, {5384, 4656, 5440, 0, 0, 0, 0}, {5642, 4915, 1365, 0, 0, 0, 0}, {5386, 4144, 4176, 0, 0, 0, 0}, {5640, 4403, 68, 0, 0, 0, 0}, {5692, 13056, 21760, 0, 0, 0, 0}, {4104, 4128, 514, 4160, 5397, 0, 0}, {4362, 4386, 514, 68, 5140, 0, 0}, {5439, 12288, 16384, 0, 0, 0, 0}, {3840, 12288, 5440, 0, 0, 0, 0}, {522, 546, 68, 1285, 4369, 0, 0}, {1290, 1314, 1792, 1346, 4096, 0, 0}, {3855, 5744, 17219, 0, 0, 0, 0}, {1792, 68, 4352, 0, 0, 0, 0}, {96, 1285, 4112, 0, 0, 0, 0}, {1290, 1382, 5702, 20480, 0, 0, 0}, {72, 5495, 1863, 16384, 0, 0, 0}, {72, 4608, 5376, 0, 0, 0, 0}, {108, 4883, 1285, 0, 0, 0, 0}, {1290, 4128, 4160, 0, 0, 0, 0}, {1807, 4403, 68, 0, 0, 0, 0}, {5708, 13056, 21760, 0, 0, 0, 0}, {4120, 4144, 4626, 4176, 1285, 0, 0}, {4362, 4386, 4864, 68, 5120, 0, 0}, {5503, 12336, 16448, 0, 0, 0, 0}, {2560, 8192, 1360, 0, 0, 0, 0}, {12, 819, 68, 1028, 4369, 0, 0}, {2056, 1904, 21074, 0, 0, 0, 0}, {12, 1331, 1536, 1363, 4096, 0, 0}, {12, 516, 1028, 272, 0, 0, 0}, {4095, 9557, 21845, 0, 0, 0, 0}, {12, 5478, 5718, 16384, 0, 0, 0}, {1375, 1399, 1879, 20480, 0, 0, 0}, {520, 544, 1360, 0, 0, 0, 0}, {12, 819, 5461, 0, 0, 0, 0}, {21930, 23130, 9562, 0, 0, 0, 0}, {275, 68, 1028, 4100, 0, 0, 0}, {12, 4144, 4864, 4176, 5376, 0, 0}, {1919, 8738, 21845, 0, 0, 0, 0}, {12, 4386, 4626, 68, 1028, 0, 0}, {1375, 8192, 20480, 0, 0, 0, 0}, {96, 1280, 4096, 0, 0, 0, 0}, {1799, 68, 4369, 0, 0, 0, 0}, {72, 5474, 1856, 16448, 0, 0, 0}, {1295, 1379, 5712, 20560, 0, 0, 0}, {520, 544, 68, 1280, 4352, 0, 0}, {3855, 12336, 5461, 0, 0, 0, 0}, {3840, 5734, 17152, 0, 0, 0, 0}, {1295, 1319, 1799, 1351, 4112, 0, 0}, {4104, 4128, 4608, 4160, 1280, 0, 0}, {5722, 13107, 21845, 0, 0, 0, 0}, {5482, 12288, 16384, 0, 0, 0, 0}, {4379, 4403, 4883, 68, 5140, 0, 0}, {108, 4864, 1280, 0, 0, 0, 0}, {72, 4626, 5397, 0, 0, 0, 0}, {1800, 4386, 68, 0, 0, 0, 0}, {1295, 4144, 4176, 0, 0, 0, 0}, {4080, 9584, 21760, 0, 0, 0, 0}, {12, 518, 1024, 273, 0, 0, 0}, {1370, 1394, 1872, 20560, 0, 0, 0}, {12, 5491, 5696, 16448, 0, 0, 0}, {12, 816, 68, 1024, 4352, 0, 0}, {2570, 8224, 1365, 0, 0, 0, 0}, {12, 1334, 1542, 1366, 4112, 0, 0}, {2048, 1911, 20992, 0, 0, 0, 0}, {1912, 8704, 21760, 0, 0, 0, 0}, {12, 4128, 4883, 4160, 5397, 0, 0}, {1370, 8224, 20560, 0, 0, 0, 0}, {12, 4403, 4608, 68, 1024, 0, 0}, {12, 816, 5440, 0, 0, 0, 0}, {522, 546, 1365, 0, 0, 0, 0}, {274, 68, 1024, 4116, 0, 0, 0}, {22015, 23040, 9599, 0, 0, 0, 0}, {9600, 3840, 21760, 0, 0, 0, 0}, {289, 771, 261, 4369, 0, 0, 0}, {1290, 1314, 1792, 20480, 0, 0, 0}, {12, 5491, 771, 16448, 0, 0, 0}, {12, 768, 68, 1024, 4352, 0, 0}, {160, 8224, 1285, 0, 0, 0, 0}, {12, 4128, 768, 4160, 1286, 0, 0}, {1807, 8704, 21879, 0, 0, 0, 0}, {136, 1792, 21760, 0, 0, 0, 0}, {12, 96, 771, 1285, 4112, 0, 0}, {1290, 8224, 20480, 0, 0, 0, 0}, {12, 4403, 771, 68, 1024, 0, 0}, {12, 768, 5440, 0, 0, 0, 0}, {522, 546, 1285, 0, 0, 0, 0}, {262, 68, 1024, 4096, 0, 0, 0}, {22015, 3855, 28784, 0, 0, 0, 0}, {4144, 4176, 5376, 0, 0, 0, 0}, {1851, 68, 4369, 0, 0, 0, 0}, {72, 5474, 4626, 16448, 0, 0, 0}, {1375, 1331, 5632, 20480, 0, 0, 0}, {520, 544, 68, 1300, 4352, 0, 0}, {3903, 12288, 5461, 0, 0, 0, 0}, {5722, 13056, 21862, 0, 0, 0, 0}, {4104, 4128, 4608, 4160, 1303, 0, 0}, {1304, 1328, 1808, 1360, 4112, 0, 0}, {6485, 5734, 21845, 0, 0, 0, 0}, {5482, 12336, 16384, 0, 0, 0, 0}, {4379, 4403, 4883, 68, 5120, 0, 0}, {1340, 4864, 1360, 0, 0, 0, 0}, {72, 4642, 5397, 0, 0, 0, 0}, {4386, 5654, 68, 0, 0, 0, 0}, {1375, 96, 4096, 0, 0, 0, 0}, {160, 8192, 1280, 0, 0, 0, 0}, {12, 771, 68, 1028, 4369, 0, 0}, {1800, 8738, 21794, 0, 0, 0, 0}, {12, 4144, 771, 4176, 1283, 0, 0}, {288, 768, 260, 4352, 0, 0, 0}, {9637, 3855, 21845, 0, 0, 0, 0}, {12, 5478, 768, 16384, 0, 0, 0}, {1295, 1319, 1799, 20560, 0, 0, 0}, {520, 544, 1280, 0, 0, 0, 0}, {12, 771, 5461, 0, 0, 0, 0}, {21930, 3840, 28672, 0, 0, 0, 0}, {263, 68, 1028, 4112, 0, 0, 0}, {12, 96, 768, 1280, 4096, 0, 0}, {136, 1799, 21845, 0, 0, 0, 0}, {12, 4386, 768, 68, 1028, 0, 0}, {1295, 8192, 20560, 0, 0, 0, 0}, {3888, 12336, 5440, 0, 0, 0, 0}, {522, 546, 68, 1297, 4369, 0, 0}, {4120, 4144, 4626, 4176, 1298, 0, 0}, {5708, 13107, 21811, 0, 0, 0, 0}, {1852, 68, 4352, 0, 0, 0, 0}, {4128, 4160, 5397, 0, 0, 0, 0}, {1370, 1334, 5654, 20560, 0, 0, 0}, {72, 5495, 4608, 16384, 0, 0, 0}, {72, 4656, 5376, 0, 0, 0, 0}, {1337, 4883, 1365, 0, 0, 0, 0}, {1370, 96, 4112, 0, 0, 0, 0}, {4403, 5632, 68, 0, 0, 0, 0}, {6476, 5744, 21760, 0, 0, 0, 0}, {1309, 1333, 1815, 1365, 4096, 0, 0}, {4362, 4386, 4864, 68, 5140, 0, 0}, {5503, 12288, 16448, 0, 0, 0, 0}, {192, 12288, 5376, 0, 0, 0, 0}, {40, 514, 68, 1285, 4369, 0, 0}, {4104, 4128, 514, 4160, 5378, 0, 0}, {5692, 13107, 21811, 0, 0, 0, 0}, {1800, 68, 4352, 0, 0, 0, 0}, {4144, 4176, 1285, 0, 0, 0, 0}, {1290, 1382, 4864, 20480, 0, 0, 0}, {72, 5431, 1799, 16448, 0, 0, 0}, {5384, 4608, 5440, 0, 0, 0, 0}, {4959, 4915, 1285, 0, 0, 0, 0}, {1290, 96, 4096, 0, 0, 0, 0}, {4403, 1799, 68, 0, 0, 0, 0}, {204, 5632, 21760, 0, 0, 0, 0}, {72, 96, 514, 1285, 4112, 0, 0}, {4362, 4386, 514, 68, 5120, 0, 0}, {5439, 12336, 16384, 0, 0, 0, 0}, {2560, 8224, 1360, 0, 0, 0, 0}, {12, 819, 68, 1024, 4369, 0, 0}, {1912, 8738, 21794, 0, 0, 0, 0}, {12, 4128, 4883, 4160, 5395, 0, 0}, {304, 512, 276, 4352, 0, 0, 0}, {9685, 10794, 21845, 0, 0, 0, 0}, {12, 5414, 5654, 16448, 0, 0, 0}, {1375, 1399, 512, 20480, 0, 0, 0}, {40, 512, 1360, 0, 0, 0, 0}, {12, 819, 5397, 0, 0, 0, 0}, {21930, 23130, 28784, 0, 0, 0, 0}, {279, 68, 1024, 4096, 0, 0, 0}, {12, 1328, 1536, 1360, 4112, 0, 0}, {2048, 1911, 21845, 0, 0, 0, 0}, {12, 4386, 4626, 68, 1024, 0, 0}, {1375, 8224, 20480, 0, 0, 0, 0}, {4128, 4160, 1280, 0, 0, 0, 0}, {1807, 68, 4369, 0, 0, 0, 0}, {72, 5410, 1792, 16384, 0, 0, 0}, {1295, 1379, 4883, 20560, 0, 0, 0}, {40, 512, 68, 1280, 4352, 0, 0}, {192, 12336, 5397, 0, 0, 0, 0}, {5674, 13056, 21862, 0, 0, 0, 0}, {4120, 4144, 512, 4176, 5399, 0, 0}, {72, 96, 512, 1280, 4096, 0, 0}, {204, 5654, 21845, 0, 0, 0, 0}, {5418, 12288, 16448, 0, 0, 0, 0}, {4379, 4403, 512, 68, 5140, 0, 0}, {4940, 4896, 1280, 0, 0, 0, 0}, {5405, 4626, 5461, 0, 0, 0, 0}, {4386, 1792, 68, 0, 0, 0, 0}, {1295, 96, 4112, 0, 0, 0, 0}, {9712, 10752, 21760, 0, 0, 0, 0}, {305, 514, 277, 4369, 0, 0, 0}, {1370, 1394, 514, 20560, 0, 0, 0}, {12, 5427, 5632, 16384, 0, 0, 0}, {12, 816, 68, 1028, 4352, 0, 0}, {2570, 8192, 1365, 0, 0, 0, 0}, {12, 4144, 4864, 4176, 5382, 0, 0}, {1919, 8704, 21879, 0, 0, 0, 0}, {2056, 1904, 21760, 0, 0, 0, 0}, {12, 1333, 1542, 1365, 4096, 0, 0}, {1370, 8192, 20560, 0, 0, 0, 0}, {12, 4403, 4608, 68, 1028, 0, 0}, {12, 816, 5376, 0, 0, 0, 0}, {40, 514, 1365, 0, 0, 0, 0}, {278, 68, 1028, 4112, 0, 0, 0}, {22015, 23040, 28672, 0, 0, 0, 0}, {3072, 9728, 16384, 0, 0, 0, 0}, {15, 39, 80, 257, 0, 0, 0}, {1032, 1056, 514, 17408, 0, 0, 0}, {15, 5424, 771, 21760, 0, 0, 0}, {136, 8704, 1028, 0, 0, 0, 0}, {15, 768, 80, 1285, 4096, 0, 0}, {160, 1542, 16480, 0, 0, 0, 0}, {15, 119, 768, 1031, 4352, 0, 0}, {1032, 8704, 17408, 0, 0, 0, 0}, {15, 4144, 771, 80, 1285, 0, 0}, {1546, 8192, 16384, 0, 0, 0, 0}, {15, 4403, 771, 4420, 1028, 0, 0}, {16576, 3084, 9740, 0, 0, 0, 0}, {258, 80, 1285, 4357, 0, 0, 0}, {40, 514, 1028, 0, 0, 0, 0}, {15, 768, 5376, 0, 0, 0, 0}, {2560, 1584, 80, 4112, 0, 0, 0}, {2048, 1075, 1092, 4369, 0, 0, 0}, {1096, 1072, 4626, 17408, 0, 0, 0}, {95, 5408, 4883, 21760, 0, 0, 0}, {40, 512, 80, 1044, 4096, 0, 0}, {255, 13056, 5397, 0, 0, 0, 0}, {240, 5654, 16496, 0, 0, 0, 0}, {95, 119, 512, 1047, 4352, 0, 0}, {4120, 4144, 512, 80, 5120, 0, 0}, {5418, 13107, 21845, 0, 0, 0, 0}, {5674, 12336, 16448, 0, 0, 0, 0}, {4379, 4403, 512, 4420, 5376, 0, 0}, {5660, 4128, 80, 0, 0, 0, 0}, {5405, 4386, 4437, 0, 0, 0, 0}, {5662, 4642, 1092, 0, 0, 0, 0}, {5407, 4896, 5440, 0, 0, 0, 0}, {160, 1536, 16416, 0, 0, 0, 0}, {15, 119, 771, 1027, 4369, 0, 0}, {136, 8738, 1024, 0, 0, 0, 0}, {15, 771, 80, 1280, 4112, 0, 0}, {1036, 1060, 512, 17476, 0, 0, 0}, {15, 5413, 768, 21845, 0, 0, 0}, {3084, 9766, 16448, 0, 0, 0, 0}, {15, 39, 80, 256, 0, 0, 0}, {40, 512, 1024, 0, 0, 0, 0}, {15, 771, 5397, 0, 0, 0, 0}, {16512, 3072, 9770, 0, 0, 0, 0}, {259, 80, 1280, 4372, 0, 0, 0}, {1548, 8224, 16448, 0, 0, 0, 0}, {15, 4386, 768, 4437, 1024, 0, 0}, {1036, 8738, 17476, 0, 0, 0, 0}, {15, 4128, 768, 80, 1280, 0, 0}, {240, 5632, 16432, 0, 0, 0, 0}, {95, 119, 514, 1043, 4369, 0, 0}, {40, 514, 80, 1040, 4112, 0, 0}, {255, 13107, 5376, 0, 0, 0, 0}, {1100, 1076, 4608, 17476, 0, 0, 0}, {95, 5429, 4864, 21845, 0, 0, 0}, {2570, 1590, 80, 4096, 0, 0, 0}, {2056, 1079, 1088, 4352, 0, 0, 0}, {5640, 4656, 1088, 0, 0, 0, 0}, {5386, 4915, 5461, 0, 0, 0, 0}, {5642, 4144, 80, 0, 0, 0, 0}, {5384, 4403, 4420, 0, 0, 0, 0}, {5692, 12288, 16384, 0, 0, 0, 0}, {4362, 4386, 514, 4437, 5397, 0, 0}, {4104, 4128, 514, 80, 5140, 0, 0}, {5439, 13056, 21760, 0, 0, 0, 0}, {3264, 9792, 16448, 0, 0, 0, 0}, {15, 517, 1285, 273, 0, 0, 0}, {1096, 1120, 1602, 17408, 0, 0, 0}, {15, 5488, 5699, 21760, 0, 0, 0}, {2048, 8704, 1092, 0, 0, 0, 0}, {15, 816, 80, 1285, 4112, 0, 0}, {2570, 1638, 17990, 0, 0, 0, 0}, {15, 1072, 1792, 1095, 4352, 0, 0}, {1096, 8704, 17408, 0, 0, 0, 0}, {15, 4128, 4883, 80, 1285, 0, 0}, {1642, 8224, 16448, 0, 0, 0, 0}, {15, 4403, 4608, 4420, 5376, 0, 0}, {16512, 19532, 9804, 0, 0, 0, 0}, {274, 80, 1285, 4357, 0, 0, 0}, {522, 546, 1092, 0, 0, 0, 0}, {15, 816, 5440, 0, 0, 0, 0}, {1536, 80, 4096, 0, 0, 0, 0}, {119, 1028, 4369, 0, 0, 0, 0}, {1032, 1136, 5714, 17408, 0, 0, 0}, {95, 5472, 1619, 21760, 0, 0, 0}, {520, 544, 80, 1028, 4112, 0, 0}, {3072, 13056, 5461, 0, 0, 0, 0}, {3084, 5734, 22102, 0, 0, 0, 0}, {1032, 1056, 1536, 1111, 4352, 0, 0}, {4104, 4128, 4608, 80, 5120, 0, 0}, {5482, 13107, 21845, 0, 0, 0, 0}, {5722, 12288, 16384, 0, 0, 0, 0}, {4379, 4403, 4883, 4420, 1028, 0, 0}, {1548, 4144, 80, 0, 0, 0, 0}, {1032, 4386, 4437, 0, 0, 0, 0}, {120, 4626, 1028, 0, 0, 0, 0}, {95, 4864, 5376, 0, 0, 0, 0}, {2560, 1632, 17920, 0, 0, 0, 0}, {15, 1076, 1799, 1091, 4369, 0, 0}, {2056, 8738, 1088, 0, 0, 0, 0}, {15, 819, 80, 1280, 4096, 0, 0}, {1100, 1124, 1604, 17476, 0, 0, 0}, {15, 5477, 5717, 21845, 0, 0, 0}, {3276, 9830, 16384, 0, 0, 0, 0}, {15, 519, 1280, 272, 0, 0, 0}, {520, 544, 1088, 0, 0, 0, 0}, {15, 819, 5461, 0, 0, 0, 0}, {16576, 19456, 9834, 0, 0, 0, 0}, {275, 80, 1280, 4372, 0, 0, 0}, {1644, 8192, 16384, 0, 0, 0, 0}, {15, 4386, 4626, 4437, 5397, 0, 0}, {1100, 8738, 17476, 0, 0, 0, 0}, {15, 4144, 4864, 80, 1280, 0, 0}, {3072, 5744, 22016, 0, 0, 0, 0}, {1036, 1060, 1542, 1107, 4369, 0, 0}, {522, 546, 80, 1024, 4096, 0, 0}, {3084, 13107, 5440, 0, 0, 0, 0}, {1036, 1140, 5700, 17476, 0, 0, 0}, {95, 5493, 1621, 21845, 0, 0, 0}, {1542, 80, 4112, 0, 0, 0, 0}, {119, 1024, 4352, 0, 0, 0, 0}, {120, 4608, 1024, 0, 0, 0, 0}, {95, 4883, 5397, 0, 0, 0, 0}, {1546, 4128, 80, 0, 0, 0, 0}, {1036, 4403, 4420, 0, 0, 0, 0}, {5708, 12336, 16448, 0, 0, 0, 0}, {4362, 4386, 4864, 4437, 1024, 0, 0}, {4120, 4144, 4626, 80, 5140, 0, 0}, {5503, 13056, 21760, 0, 0, 0, 0}, {16512, 3072, 26112, 0, 0, 0, 0}, {262, 80, 1285, 4369, 0, 0, 0}, {522, 546, 1024, 0, 0, 0, 0}, {15, 771, 5440, 0, 0, 0, 0}, {1036, 8704, 17476, 0, 0, 0, 0}, {15, 4128, 768, 80, 1285, 0, 0}, {160, 1542, 16448, 0, 0, 0, 0}, {15, 119, 768, 1024, 4352, 0, 0}, {136, 8704, 1024, 0, 0, 0, 0}, {15, 771, 80, 1285, 4112, 0, 0}, {1546, 8224, 16416, 0, 0, 0, 0}, {15, 4403, 771, 4420, 1027, 0, 0}, {9868, 3084, 16448, 0, 0, 0, 0}, {290, 768, 261, 4096, 0, 0, 0}, {1036, 1060, 1542, 17476, 0, 0, 0}, {15, 5488, 768, 21760, 0, 0, 0}, {4144, 5632, 80, 0, 0, 0, 0}, {1100, 119, 4369, 0, 0, 0, 0}, {1080, 4626, 1088, 0, 0, 0, 0}, {95, 4915, 5376, 0, 0, 0, 0}, {4104, 4128, 4608, 80, 5140, 0, 0}, {5482, 13056, 21845, 0, 0, 0, 0}, {6746, 5734, 16384, 0, 0, 0, 0}, {1055, 1079, 1559, 1088, 4352, 0, 0}, {520, 544, 80, 1040, 4112, 0, 0}, {3123, 13107, 5461, 0, 0, 0, 0}, {5722, 12336, 16432, 0, 0, 0, 0}, {4379, 4403, 4883, 4420, 1043, 0, 0}, {1596, 80, 4096, 0, 0, 0, 0}, {4386, 4437, 5397, 0, 0, 0, 0}, {1100, 1076, 5654, 17476, 0, 0, 0}, {95, 5472, 4864, 21760, 0, 0, 0}, {160, 1536, 16384, 0, 0, 0, 0}, {15, 119, 771, 1028, 4369, 0, 0}, {1032, 8738, 17408, 0, 0, 0, 0}, {15, 4144, 771, 80, 1280, 0, 0}, {520, 544, 1028, 0, 0, 0, 0}, {15, 768, 5461, 0, 0, 0, 0}, {16576, 3084, 26214, 0, 0, 0, 0}, {263, 80, 1280, 4352, 0, 0, 0}, {1032, 1056, 1536, 17408, 0, 0, 0}, {15, 5477, 771, 21845, 0, 0, 0}, {9898, 3072, 16384, 0, 0, 0, 0}, {291, 771, 260, 4112, 0, 0, 0}, {1548, 8192, 16480, 0, 0, 0, 0}, {15, 4386, 768, 4437, 1031, 0, 0}, {136, 8738, 1028, 0, 0, 0, 0}, {15, 768, 80, 1280, 4096, 0, 0}, {6720, 5744, 16448, 0, 0, 0, 0}, {1051, 1075, 1553, 1092, 4369, 0, 0}, {4120, 4144, 4626, 80, 5120, 0, 0}, {5503, 13107, 21760, 0, 0, 0, 0}, {1084, 4608, 1092, 0, 0, 0, 0}, {95, 4896, 5397, 0, 0, 0, 0}, {4128, 5654, 80, 0, 0, 0, 0}, {1096, 119, 4352, 0, 0, 0, 0}, {1096, 1072, 5632, 17408, 0, 0, 0}, {95, 5493, 4883, 21845, 0, 0, 0}, {1594, 80, 4112, 0, 0, 0, 0}, {4403, 4420, 5376, 0, 0, 0, 0}, {5708, 12288, 16496, 0, 0, 0, 0}, {4362, 4386, 4864, 4437, 1047, 0, 0}, {522, 546, 80, 1044, 4096, 0, 0}, {3135, 13056, 5440, 0, 0, 0, 0}, {16576, 19456, 26112, 0, 0, 0, 0}, {278, 80, 1285, 4369, 0, 0, 0}, {40, 514, 1088, 0, 0, 0, 0}, {15, 819, 5376, 0, 0, 0, 0}, {1100, 8704, 17476, 0, 0, 0, 0}, {15, 4144, 4864, 80, 1285, 0, 0}, {2570, 1638, 16384, 0, 0, 0, 0}, {15, 1079, 1799, 1088, 4352, 0, 0}, {2056, 8704, 1088, 0, 0, 0, 0}, {15, 819, 80, 1285, 4096, 0, 0}, {1642, 8192, 16480, 0, 0, 0, 0}, {15, 4403, 4608, 4420, 5383, 0, 0}, {9932, 10752, 16384, 0, 0, 0, 0}, {306, 514, 277, 4112, 0, 0, 0}, {1100, 1124, 514, 17476, 0, 0, 0}, {15, 5424, 5632, 21760, 0, 0, 0}, {4128, 1536, 80, 0, 0, 0, 0}, {1036, 119, 4369, 0, 0, 0, 0}, {4698, 4642, 1024, 0, 0, 0, 0}, {5407, 4883, 5440, 0, 0, 0, 0}, {4120, 4144, 512, 80, 5140, 0, 0}, {5418, 13056, 21845, 0, 0, 0, 0}, {240, 5654, 16448, 0, 0, 0, 0}, {95, 119, 512, 1024, 4352, 0, 0}, {40, 512, 80, 1024, 4096, 0, 0}, {255, 13107, 5397, 0, 0, 0, 0}, {5674, 12288, 16496, 0, 0, 0, 0}, {4379, 4403, 512, 4420, 5399, 0, 0}, {1548, 80, 4112, 0, 0, 0, 0}, {4386, 4437, 1024, 0, 0, 0, 0}, {1036, 1140, 4626, 17476, 0, 0, 0}, {95, 5408, 1536, 21760, 0, 0, 0}, {2560, 1632, 16448, 0, 0, 0, 0}, {15, 1075, 1792, 1092, 4369, 0, 0}, {1096, 8738, 17408, 0, 0, 0, 0}, {15, 4128, 4883, 80, 1280, 0, 0}, {40, 512, 1092, 0, 0, 0, 0}, {15, 816, 5397, 0, 0, 0, 0}, {16512, 19532, 26214, 0, 0, 0, 0}, {279, 80, 1280, 4352, 0, 0, 0}, {1096, 1120, 512, 17408, 0, 0, 0}, {15, 5413, 5654, 21845, 0, 0, 0}, {9962, 10794, 16448, 0, 0, 0, 0}, {307, 512, 276, 4096, 0, 0, 0}, {1644, 8224, 16416, 0, 0, 0, 0}, {15, 4386, 4626, 4437, 5394, 0, 0}, {2048, 8738, 1092, 0, 0, 0, 0}, {15, 816, 80, 1280, 4112, 0, 0}, {240, 5632, 16384, 0, 0, 0, 0}, {95, 119, 514, 1028, 4369, 0, 0}, {4104, 4128, 514, 80, 5120, 0, 0}, {5439, 13107, 21760, 0, 0, 0, 0}, {4680, 4656, 1028, 0, 0, 0, 0}, {5386, 4864, 5461, 0, 0, 0, 0}, {4144, 1542, 80, 0, 0, 0, 0}, {1032, 119, 4352, 0, 0, 0, 0}, {1032, 1136, 4608, 17408, 0, 0, 0}, {95, 5429, 1542, 21845, 0, 0, 0}, {1546, 80, 4096, 0, 0, 0, 0}, {4403, 4420, 1028, 0, 0, 0, 0}, {5692, 12336, 16432, 0, 0, 0, 0}, {4362, 4386, 514, 4437, 5378, 0, 0}, {40, 514, 80, 1028, 4112, 0, 0}, {255, 13056, 5376, 0, 0, 0, 0}, {3840, 9984, 20480, 0, 0, 0, 0}, {12, 38, 64, 257, 0, 0, 0}, {1290, 1312, 514, 21760, 0, 0, 0}, {12, 5168, 771, 17408, 0, 0, 0}, {12, 768, 64, 1028, 4096, 0, 0}, {170, 8704, 1285, 0, 0, 0, 0}, {12, 102, 768, 1286, 4352, 0, 0}, {128, 1799, 20592, 0, 0, 0, 0}, {1800, 8192, 20480, 0, 0, 0, 0}, {12, 4403, 771, 4437, 1285, 0, 0}, {1290, 8704, 21760, 0, 0, 0, 0}, {12, 4144, 771, 64, 1028, 0, 0}, {12, 768, 5120, 0, 0, 0, 0}, {42, 514, 1285, 0, 0, 0, 0}, {258, 64, 1028, 4356, 0, 0, 0}, {20720, 3855, 9999, 0, 0, 0, 0}, {2048, 1840, 64, 4112, 0, 0, 0}, {2560, 1331, 1365, 4369, 0, 0, 0}, {1370, 1328, 4626, 21760, 0, 0, 0}, {76, 5152, 4883, 17408, 0, 0, 0}, {204, 13056, 5140, 0, 0, 0, 0}, {42, 512, 64, 1301, 4096, 0, 0}, {76, 102, 512, 1302, 4352, 0, 0}, {192, 5911, 20576, 0, 0, 0, 0}, {5928, 12336, 20560, 0, 0, 0, 0}, {4377, 4403, 512, 4437, 5120, 0, 0}, {4122, 4144, 512, 64, 5376, 0, 0}, {5160, 13107, 17476, 0, 0, 0, 0}, {5148, 4896, 5200, 0, 0, 0, 0}, {5917, 4642, 1365, 0, 0, 0, 0}, {5150, 4386, 4420, 0, 0, 0, 0}, {5919, 4128, 64, 0, 0, 0, 0}, {128, 1792, 20512, 0, 0, 0, 0}, {12, 102, 771, 1283, 4369, 0, 0}, {170, 8738, 1280, 0, 0, 0, 0}, {12, 771, 64, 1024, 4112, 0, 0}, {12, 5156, 768, 17476, 0, 0, 0}, {1295, 1317, 512, 21845, 0, 0, 0}, {12, 38, 64, 256, 0, 0, 0}, {3855, 10023, 20560, 0, 0, 0, 0}, {20640, 3840, 10024, 0, 0, 0, 0}, {259, 64, 1024, 4373, 0, 0, 0}, {42, 512, 1280, 0, 0, 0, 0}, {12, 771, 5140, 0, 0, 0, 0}, {12, 4128, 768, 64, 1024, 0, 0}, {1295, 8738, 21845, 0, 0, 0, 0}, {12, 4386, 768, 4420, 1280, 0, 0}, {1807, 8224, 20560, 0, 0, 0, 0}, {192, 5888, 20528, 0, 0, 0, 0}, {76, 102, 514, 1299, 4369, 0, 0}, {42, 514, 64, 1296, 4112, 0, 0}, {204, 13107, 5120, 0, 0, 0, 0}, {76, 5172, 4864, 17476, 0, 0, 0}, {1375, 1333, 4608, 21845, 0, 0, 0}, {2570, 1334, 1360, 4352, 0, 0, 0}, {2056, 1847, 64, 4096, 0, 0, 0}, {5896, 4144, 64, 0, 0, 0, 0}, {5130, 4403, 4437, 0, 0, 0, 0}, {5898, 4656, 1360, 0, 0, 0, 0}, {5128, 4915, 5188, 0, 0, 0, 0}, {5180, 13056, 17408, 0, 0, 0, 0}, {4106, 4128, 514, 64, 5397, 0, 0}, {4360, 4386, 514, 4420, 5140, 0, 0}, {5951, 12288, 20480, 0, 0, 0, 0}, {1792, 64, 4096, 0, 0, 0, 0}, {102, 1285, 4369, 0, 0, 0, 0}, {1290, 1376, 5954, 21760, 0, 0, 0}, {76, 5232, 1859, 17408, 0, 0, 0}, {3840, 13056, 5188, 0, 0, 0, 0}, {522, 544, 64, 1285, 4112, 0, 0}, {1290, 1312, 1792, 1350, 4352, 0, 0}, {3855, 6007, 18247, 0, 0, 0, 0}, {5960, 12288, 20480, 0, 0, 0, 0}, {4377, 4403, 4883, 4437, 1285, 0, 0}, {4106, 4128, 4608, 64, 5376, 0, 0}, {5240, 13107, 17476, 0, 0, 0, 0}, {76, 4864, 5120, 0, 0, 0, 0}, {106, 4626, 1285, 0, 0, 0, 0}, {1290, 4386, 4420, 0, 0, 0, 0}, {1807, 4144, 64, 0, 0, 0, 0}, {4080, 10064, 20560, 0, 0, 0, 0}, {12, 516, 1028, 273, 0, 0, 0}, {1370, 1392, 1874, 21760, 0, 0, 0}, {12, 5216, 5971, 17408, 0, 0, 0}, {12, 816, 64, 1028, 4112, 0, 0}, {2560, 8704, 1365, 0, 0, 0, 0}, {12, 1328, 1536, 1366, 4352, 0, 0}, {2056, 1911, 22359, 0, 0, 0, 0}, {1912, 8224, 20560, 0, 0, 0, 0}, {12, 4403, 4608, 4437, 5120, 0, 0}, {1370, 8704, 21760, 0, 0, 0, 0}, {12, 4128, 4883, 64, 1028, 0, 0}, {12, 816, 5200, 0, 0, 0, 0}, {520, 546, 1365, 0, 0, 0, 0}, {274, 64, 1028, 4356, 0, 0, 0}, {20640, 24415, 10079, 0, 0, 0, 0}, {3840, 5984, 18176, 0, 0, 0, 0}, {1295, 1317, 1799, 1347, 4369, 0, 0}, {520, 546, 64, 1280, 4096, 0, 0}, {3855, 13107, 5200, 0, 0, 0, 0}, {76, 5220, 1860, 17476, 0, 0, 0}, {1295, 1381, 5973, 21845, 0, 0, 0}, {102, 1280, 4352, 0, 0, 0, 0}, {1799, 64, 4112, 0, 0, 0, 0}, {1800, 4128, 64, 0, 0, 0, 0}, {1295, 4403, 4437, 0, 0, 0, 0}, {106, 4608, 1280, 0, 0, 0, 0}, {76, 4883, 5140, 0, 0, 0, 0}, {5228, 13056, 17408, 0, 0, 0, 0}, {4122, 4144, 4626, 64, 5397, 0, 0}, {4360, 4386, 4864, 4420, 1280, 0, 0}, {5983, 12336, 20560, 0, 0, 0, 0}, {2048, 1904, 22272, 0, 0, 0, 0}, {12, 1333, 1542, 1363, 4369, 0, 0}, {2570, 8738, 1360, 0, 0, 0, 0}, {12, 819, 64, 1024, 4096, 0, 0}, {12, 5236, 5956, 17476, 0, 0, 0}, {1375, 1397, 1877, 21845, 0, 0, 0}, {12, 518, 1024, 272, 0, 0, 0}, {4095, 10103, 20480, 0, 0, 0, 0}, {20720, 24320, 10104, 0, 0, 0, 0}, {275, 64, 1024, 4373, 0, 0, 0}, {522, 544, 1360, 0, 0, 0, 0}, {12, 819, 5188, 0, 0, 0, 0}, {12, 4144, 4864, 64, 1024, 0, 0}, {1375, 8738, 21845, 0, 0, 0, 0}, {12, 4386, 4626, 4420, 5140, 0, 0}, {1919, 8192, 20480, 0, 0, 0, 0}, {128, 1792, 20480, 0, 0, 0, 0}, {12, 102, 771, 1285, 4369, 0, 0}, {1290, 8738, 21760, 0, 0, 0, 0}, {12, 4144, 771, 64, 1024, 0, 0}, {12, 768, 5188, 0, 0, 0, 0}, {522, 544, 1285, 0, 0, 0, 0}, {262, 64, 1024, 4352, 0, 0, 0}, {20720, 3855, 30583, 0, 0, 0, 0}, {10120, 3840, 20480, 0, 0, 0, 0}, {291, 771, 261, 4112, 0, 0, 0}, {1290, 1312, 1792, 21760, 0, 0, 0}, {12, 5236, 771, 17476, 0, 0, 0}, {12, 768, 64, 1024, 4096, 0, 0}, {170, 8738, 1285, 0, 0, 0, 0}, {12, 4386, 768, 4420, 1286, 0, 0}, {1807, 8192, 20592, 0, 0, 0, 0}, {6224, 5984, 20560, 0, 0, 0, 0}, {1305, 1331, 1809, 1365, 4369, 0, 0}, {4122, 4144, 4626, 64, 5376, 0, 0}, {5228, 13107, 17408, 0, 0, 0, 0}, {76, 4896, 5140, 0, 0, 0, 0}, {1343, 4608, 1365, 0, 0, 0, 0}, {1370, 102, 4352, 0, 0, 0, 0}, {4128, 5911, 64, 0, 0, 0, 0}, {1848, 64, 4112, 0, 0, 0, 0}, {4403, 4437, 5120, 0, 0, 0, 0}, {1370, 1328, 5888, 21760, 0, 0, 0}, {76, 5220, 4883, 17476, 0, 0, 0}, {3900, 13056, 5200, 0, 0, 0, 0}, {520, 546, 64, 1301, 4096, 0, 0}, {4360, 4386, 4864, 4420, 1302, 0, 0}, {5983, 12288, 20576, 0, 0, 0, 0}, {20640, 3840, 30464, 0, 0, 0, 0}, {263, 64, 1028, 4369, 0, 0, 0}, {520, 546, 1280, 0, 0, 0, 0}, {12, 771, 5200, 0, 0, 0, 0}, {12, 4128, 768, 64, 1028, 0, 0}, {1295, 8704, 21845, 0, 0, 0, 0}, {12, 102, 768, 1280, 4352, 0, 0}, {128, 1799, 20560, 0, 0, 0, 0}, {1800, 8224, 20512, 0, 0, 0, 0}, {12, 4403, 771, 4437, 1283, 0, 0}, {170, 8704, 1280, 0, 0, 0, 0}, {12, 771, 64, 1028, 4112, 0, 0}, {12, 5216, 768, 17408, 0, 0, 0}, {1295, 1317, 1799, 21845, 0, 0, 0}, {290, 768, 260, 4096, 0, 0, 0}, {10159, 3855, 20560, 0, 0, 0, 0}, {4144, 5888, 64, 0, 0, 0, 0}, {1375, 102, 4369, 0, 0, 0, 0}, {1338, 4626, 1360, 0, 0, 0, 0}, {76, 4915, 5120, 0, 0, 0, 0}, {5240, 13056, 17476, 0, 0, 0, 0}, {4106, 4128, 4608, 64, 5397, 0, 0}, {1308, 1334, 1814, 1360, 4352, 0, 0}, {6216, 6007, 20480, 0, 0, 0, 0}, {5960, 12336, 20528, 0, 0, 0, 0}, {4377, 4403, 4883, 4437, 1299, 0, 0}, {522, 544, 64, 1296, 4112, 0, 0}, {3891, 13107, 5188, 0, 0, 0, 0}, {76, 5232, 4864, 17408, 0, 0, 0}, {1375, 1333, 5911, 21845, 0, 0, 0}, {4386, 4420, 5140, 0, 0, 0, 0}, {1855, 64, 4096, 0, 0, 0, 0}, {192, 5888, 20480, 0, 0, 0, 0}, {76, 102, 514, 1285, 4369, 0, 0}, {4106, 4128, 514, 64, 5376, 0, 0}, {5180, 13107, 17408, 0, 0, 0, 0}, {5128, 4864, 5188, 0, 0, 0, 0}, {4698, 4656, 1285, 0, 0, 0, 0}, {1290, 102, 4352, 0, 0, 0, 0}, {4144, 1799, 64, 0, 0, 0, 0}, {1800, 64, 4096, 0, 0, 0, 0}, {4403, 4437, 1285, 0, 0, 0, 0}, {1290, 1376, 4608, 21760, 0, 0, 0}, {76, 5172, 1799, 17476, 0, 0, 0}, {204, 13056, 5120, 0, 0, 0, 0}, {42, 514, 64, 1285, 4112, 0, 0}, {4360, 4386, 514, 4420, 5122, 0, 0}, {5951, 12336, 20528, 0, 0, 0, 0}, {2048, 1904, 20560, 0, 0, 0, 0}, {12, 1331, 1536, 1365, 4369, 0, 0}, {1370, 8738, 21760, 0, 0, 0, 0}, {12, 4128, 4883, 64, 1024, 0, 0}, {12, 816, 5140, 0, 0, 0, 0}, {42, 512, 1365, 0, 0, 0, 0}, {278, 64, 1024, 4352, 0, 0, 0}, {20640, 24415, 30583, 0, 0, 0, 0}, {10200, 10280, 20560, 0, 0, 0, 0}, {307, 512, 277, 4096, 0, 0, 0}, {1370, 1392, 512, 21760, 0, 0, 0}, {12, 5156, 5911, 17476, 0, 0, 0}, {12, 816, 64, 1024, 4112, 0, 0}, {2560, 8738, 1365, 0, 0, 0, 0}, {12, 4386, 4626, 4420, 5138, 0, 0}, {1919, 8224, 20512, 0, 0, 0, 0}, {4128, 1792, 64, 0, 0, 0, 0}, {1295, 102, 4369, 0, 0, 0, 0}, {4680, 4642, 1280, 0, 0, 0, 0}, {5148, 4883, 5200, 0, 0, 0, 0}, {5160, 13056, 17476, 0, 0, 0, 0}, {4122, 4144, 512, 64, 5397, 0, 0}, {76, 102, 512, 1280, 4352, 0, 0}, {192, 5911, 20560, 0, 0, 0, 0}, {5928, 12288, 20576, 0, 0, 0, 0}, {4377, 4403, 512, 4437, 5142, 0, 0}, {42, 512, 64, 1280, 4096, 0, 0}, {204, 13107, 5140, 0, 0, 0, 0}, {76, 5152, 1792, 17408, 0, 0, 0}, {1295, 1381, 4626, 21845, 0, 0, 0}, {4386, 4420, 1280, 0, 0, 0, 0}, {1807, 64, 4112, 0, 0, 0, 0}, {20720, 24320, 30464, 0, 0, 0, 0}, {279, 64, 1028, 4369, 0, 0, 0}, {42, 514, 1360, 0, 0, 0, 0}, {12, 819, 5120, 0, 0, 0, 0}, {12, 4144, 4864, 64, 1028, 0, 0}, {1375, 8704, 21845, 0, 0, 0, 0}, {12, 1334, 1542, 1360, 4352, 0, 0}, {2056, 1911, 20480, 0, 0, 0, 0}, {1912, 8192, 20592, 0, 0, 0, 0}, {12, 4403, 4608, 4437, 5126, 0, 0}, {2570, 8704, 1360, 0, 0, 0, 0}, {12, 819, 64, 1028, 4096, 0, 0}, {12, 5168, 5888, 17408, 0, 0, 0}, {1375, 1397, 514, 21845, 0, 0, 0}, {306, 514, 276, 4112, 0, 0, 0}, {10239, 10240, 20480, 0, 0, 0, 0}, {10240, 0, 0, 0, 0, 0, 0}, {3, 21, 257, 0, 0, 0, 0}, {42, 514, 0, 0, 0, 0, 0}, {3, 5120, 0, 0, 0, 0, 0}, {12, 8192, 64, 1028, 0, 0, 0}, {15, 8704, 85, 1285, 0, 0, 0}, {12, 102, 1542, 17408, 0, 0, 0}, {15, 112, 1799, 20480, 0, 0, 0}, {128, 2056, 8192, 0, 0, 0, 0}, {3, 85, 1285, 4352, 0, 0, 0}, {170, 2570, 8704, 0, 0, 0, 0}, {3, 64, 1028, 4096, 0, 0, 0}, {12, 9216, 17408, 0, 0, 0, 0}, {15, 37, 514, 85, 1285, 0, 0}, {12, 38, 514, 64, 1028, 0, 0}, {15, 9984, 20480, 0, 0, 0, 0}, {2048, 48, 64, 4112, 0, 0, 0}, {2560, 51, 85, 4369, 0, 0, 0}, {90, 48, 4626, 20480, 0, 0, 0}, {76, 51, 4883, 17408, 0, 0, 0}, {60, 5140, 0, 0, 0, 0, 0}, {512, 21, 0, 0, 0, 0, 0}, {22, 5120, 0, 0, 0, 0, 0}, {63, 5911, 0, 0, 0, 0, 0}, {6168, 48, 20560, 0, 0, 0, 0}, {25, 51, 512, 85, 4352, 0, 0}, {26, 48, 512, 64, 4096, 0, 0}, {6939, 51, 17476, 0, 0, 0, 0}, {5148, 5152, 5200, 0, 0, 0, 0}, {5917, 5922, 85, 0, 0, 0, 0}, {5150, 5154, 5188, 0, 0, 0, 0}, {5919, 5920, 64, 0, 0, 0, 0}, {128, 2048, 8224, 0, 0, 0, 0}, {3, 85, 1280, 4369, 0, 0, 0}, {170, 2560, 8738, 0, 0, 0, 0}, {3, 64, 1024, 4112, 0, 0, 0}, {12, 9252, 17476, 0, 0, 0, 0}, {15, 37, 512, 85, 1280, 0, 0}, {12, 38, 512, 64, 1024, 0, 0}, {15, 10023, 20560, 0, 0, 0, 0}, {10280, 0, 0, 0, 0, 0, 0}, {3, 21, 256, 0, 0, 0, 0}, {42, 512, 0, 0, 0, 0, 0}, {3, 5140, 0, 0, 0, 0, 0}, {12, 8224, 64, 1024, 0, 0, 0}, {15, 8738, 85, 1280, 0, 0, 0}, {12, 102, 1536, 17476, 0, 0, 0}, {15, 112, 1792, 20560, 0, 0, 0}, {6144, 48, 20480, 0, 0, 0, 0}, {25, 51, 514, 85, 4369, 0, 0}, {26, 48, 514, 64, 4112, 0, 0}, {6912, 51, 17408, 0, 0, 0, 0}, {5128, 5172, 5188, 0, 0, 0, 0}, {5898, 5941, 85, 0, 0, 0, 0}, {5130, 5174, 5200, 0, 0, 0, 0}, {5896, 5943, 64, 0, 0, 0, 0}, {2056, 48, 64, 4096, 0, 0, 0}, {2570, 51, 85, 4352, 0, 0, 0}, {90, 48, 4608, 20560, 0, 0, 0}, {76, 51, 4864, 17476, 0, 0, 0}, {60, 5120, 0, 0, 0, 0, 0}, {514, 21, 0, 0, 0, 0, 0}, {22, 5140, 0, 0, 0, 0, 0}, {63, 5888, 0, 0, 0, 0, 0}, {2048, 8192, 64, 0, 0, 0, 0}, {15, 51, 85, 1285, 4369, 0, 0}, {106, 8738, 16962, 0, 0, 0, 0}, {15, 51, 4864, 67, 5120, 0, 0}, {204, 10308, 17476, 0, 0, 0, 0}, {48, 528, 21, 4112, 0, 0, 0}, {76, 102, 582, 17408, 0, 0, 0}, {15, 48, 5959, 20480, 0, 0, 0}, {192, 18504, 24576, 0, 0, 0, 0}, {22, 85, 1285, 4352, 0, 0, 0}, {522, 544, 64, 0, 0, 0, 0}, {15, 51, 5188, 0, 0, 0, 0}, {76, 8192, 17408, 0, 0, 0, 0}, {15, 48, 4626, 85, 1285, 0, 0}, {2570, 102, 17476, 0, 0, 0, 0}, {15, 48, 1792, 64, 4096, 0, 0}, {240, 10320, 20560, 0, 0, 0, 0}, {51, 529, 21, 4369, 0, 0, 0}, {90, 112, 594, 20480, 0, 0, 0}, {12, 51, 5971, 17408, 0, 0, 0}, {12, 48, 64, 1028, 4112, 0, 0}, {2560, 8704, 85, 0, 0, 0, 0}, {12, 48, 4608, 86, 5120, 0, 0}, {127, 8224, 22359, 0, 0, 0, 0}, {2056, 112, 20560, 0, 0, 0, 0}, {12, 51, 1536, 85, 4352, 0, 0}, {90, 8704, 20480, 0, 0, 0, 0}, {12, 51, 4883, 64, 1028, 0, 0}, {12, 48, 5200, 0, 0, 0, 0}, {520, 546, 85, 0, 0, 0, 0}, {22, 64, 1028, 4096, 0, 0, 0}, {255, 24415, 30464, 0, 0, 0, 0}, {192, 18432, 24672, 0, 0, 0, 0}, {22, 85, 1280, 4369, 0, 0, 0}, {520, 546, 64, 0, 0, 0, 0}, {15, 51, 5200, 0, 0, 0, 0}, {76, 8224, 17476, 0, 0, 0, 0}, {15, 48, 4608, 85, 1280, 0, 0}, {2560, 102, 17408, 0, 0, 0, 0}, {15, 48, 1799, 64, 4112, 0, 0}, {2056, 8224, 64, 0, 0, 0, 0}, {15, 51, 85, 1280, 4352, 0, 0}, {106, 8704, 16896, 0, 0, 0, 0}, {15, 51, 4883, 67, 5140, 0, 0}, {204, 10348, 17408, 0, 0, 0, 0}, {48, 530, 21, 4096, 0, 0, 0}, {76, 102, 580, 17476, 0, 0, 0}, {15, 48, 5968, 20560, 0, 0, 0}, {2048, 112, 20480, 0, 0, 0, 0}, {12, 51, 1542, 85, 4369, 0, 0}, {90, 8738, 20560, 0, 0, 0, 0}, {12, 51, 4864, 64, 1024, 0, 0}, {12, 48, 5188, 0, 0, 0, 0}, {522, 544, 85, 0, 0, 0, 0}, {22, 64, 1024, 4112, 0, 0, 0}, {255, 24320, 30583, 0, 0, 0, 0}, {240, 10360, 20480, 0, 0, 0, 0}, {51, 531, 21, 4352, 0, 0, 0}, {90, 112, 592, 20560, 0, 0, 0}, {12, 51, 5956, 17476, 0, 0, 0}, {12, 48, 64, 1024, 4096, 0, 0}, {2570, 8738, 85, 0, 0, 0, 0}, {12, 48, 4626, 86, 5140, 0, 0}, {127, 8192, 22272, 0, 0, 0, 0}, {128, 2048, 8192, 0, 0, 0, 0}, {3, 85, 1285, 4369, 0, 0, 0}, {170, 2570, 8738, 0, 0, 0, 0}, {3, 64, 1024, 4096, 0, 0, 0}, {12, 9284, 17476, 0, 0, 0, 0}, {15, 37, 517, 85, 1285, 0, 0}, {12, 38, 518, 64, 1024, 0, 0}, {15, 10103, 20480, 0, 0, 0, 0}, {10376, 0, 0, 0, 0, 0, 0}, {3, 261, 272, 0, 0, 0, 0}, {522, 544, 0, 0, 0, 0, 0}, {3, 5188, 0, 0, 0, 0, 0}, {12, 8192, 64, 1024, 0, 0, 0}, {15, 8738, 85, 1285, 0, 0, 0}, {12, 102, 1542, 17476, 0, 0, 0}, {15, 112, 1792, 20480, 0, 0, 0}, {6224, 48, 20560, 0, 0, 0, 0}, {25, 51, 529, 85, 4369, 0, 0}, {26, 48, 530, 64, 4096, 0, 0}, {7007, 51, 17408, 0, 0, 0, 0}, {76, 112, 5140, 0, 0, 0, 0}, {63, 5888, 85, 0, 0, 0, 0}, {90, 102, 5120, 0, 0, 0, 0}, {63, 5911, 64, 0, 0, 0, 0}, {2056, 48, 64, 4112, 0, 0, 0}, {2560, 51, 85, 4352, 0, 0, 0}, {90, 48, 4608, 20480, 0, 0, 0}, {76, 51, 4883, 17476, 0, 0, 0}, {60, 5200, 0, 0, 0, 0, 0}, {546, 21, 0, 0, 0, 0, 0}, {22, 5188, 0, 0, 0, 0, 0}, {5983, 5984, 0, 0, 0, 0, 0}, {10400, 0, 0, 0, 0, 0, 0}, {3, 260, 273, 0, 0, 0, 0}, {520, 546, 0, 0, 0, 0, 0}, {3, 5200, 0, 0, 0, 0, 0}, {12, 8224, 64, 1028, 0, 0, 0}, {15, 8704, 85, 1280, 0, 0, 0}, {12, 102, 1536, 17408, 0, 0, 0}, {15, 112, 1799, 20560, 0, 0, 0}, {128, 2056, 8224, 0, 0, 0, 0}, {3, 85, 1280, 4352, 0, 0, 0}, {170, 2560, 8704, 0, 0, 0, 0}, {3, 64, 1028, 4112, 0, 0, 0}, {12, 9312, 17408, 0, 0, 0, 0}, {15, 37, 519, 85, 1280, 0, 0}, {12, 38, 516, 64, 1028, 0, 0}, {15, 10064, 20560, 0, 0, 0, 0}, {2048, 48, 64, 4096, 0, 0, 0}, {2570, 51, 85, 4369, 0, 0, 0}, {90, 48, 4626, 20560, 0, 0, 0}, {76, 51, 4864, 17408, 0, 0, 0}, {60, 5188, 0, 0, 0, 0, 0}, {544, 21, 0, 0, 0, 0, 0}, {22, 5200, 0, 0, 0, 0, 0}, {5960, 6007, 0, 0, 0, 0, 0}, {6216, 48, 20480, 0, 0, 0, 0}, {25, 51, 531, 85, 4352, 0, 0}, {26, 48, 528, 64, 4112, 0, 0}, {6980, 51, 17476, 0, 0, 0, 0}, {76, 112, 5120, 0, 0, 0, 0}, {63, 5911, 85, 0, 0, 0, 0}, {90, 102, 5140, 0, 0, 0, 0}, {63, 5888, 64, 0, 0, 0, 0}, {192, 18432, 24576, 0, 0, 0, 0}, {22, 85, 1285, 4369, 0, 0, 0}, {42, 514, 64, 0, 0, 0, 0}, {15, 51, 5120, 0, 0, 0, 0}, {76, 8192, 17476, 0, 0, 0, 0}, {15, 48, 4608, 85, 1285, 0, 0}, {2570, 102, 17408, 0, 0, 0, 0}, {15, 48, 1799, 64, 4096, 0, 0}, {2056, 8192, 64, 0, 0, 0, 0}, {15, 51, 85, 1285, 4352, 0, 0}, {106, 8704, 16992, 0, 0, 0, 0}, {15, 51, 4864, 67, 5127, 0, 0}, {204, 10240, 17408, 0, 0, 0, 0}, {48, 514, 21, 4112, 0, 0, 0}, {76, 102, 514, 17476, 0, 0, 0}, {15, 48, 5888, 20480, 0, 0, 0}, {2048, 112, 20560, 0, 0, 0, 0}, {12, 51, 1536, 85, 4369, 0, 0}, {90, 8738, 20480, 0, 0, 0, 0}, {12, 51, 4883, 64, 1024, 0, 0}, {12, 48, 5140, 0, 0, 0, 0}, {42, 512, 85, 0, 0, 0, 0}, {22, 64, 1024, 4096, 0, 0, 0}, {255, 24415, 30583, 0, 0, 0, 0}, {240, 10280, 20560, 0, 0, 0, 0}, {51, 512, 21, 4352, 0, 0, 0}, {90, 112, 512, 20480, 0, 0, 0}, {12, 51, 5911, 17476, 0, 0, 0}, {12, 48, 64, 1024, 4112, 0, 0}, {2560, 8738, 85, 0, 0, 0, 0}, {12, 48, 4626, 86, 5138, 0, 0}, {127, 8224, 22304, 0, 0, 0, 0}, {2048, 8224, 64, 0, 0, 0, 0}, {15, 51, 85, 1280, 4369, 0, 0}, {106, 8738, 16930, 0, 0, 0, 0}, {15, 51, 4883, 67, 5139, 0, 0}, {204, 10280, 17476, 0, 0, 0, 0}, {48, 512, 21, 4096, 0, 0, 0}, {76, 102, 512, 17408, 0, 0, 0}, {15, 48, 5911, 20560, 0, 0, 0}, {192, 18504, 24672, 0, 0, 0, 0}, {22, 85, 1280, 4352, 0, 0, 0}, {42, 512, 64, 0, 0, 0, 0}, {15, 51, 5140, 0, 0, 0, 0}, {76, 8224, 17408, 0, 0, 0, 0}, {15, 48, 4626, 85, 1280, 0, 0}, {2560, 102, 17476, 0, 0, 0, 0}, {15, 48, 1792, 64, 4112, 0, 0}, {240, 10240, 20480, 0, 0, 0, 0}, {51, 514, 21, 4369, 0, 0, 0}, {90, 112, 514, 20560, 0, 0, 0}, {12, 51, 5888, 17408, 0, 0, 0}, {12, 48, 64, 1028, 4096, 0, 0}, {2570, 8704, 85, 0, 0, 0, 0}, {12, 48, 4608, 86, 5126, 0, 0}, {127, 8192, 22391, 0, 0, 0, 0}, {2056, 112, 20480, 0, 0, 0, 0}, {12, 51, 1542, 85, 4352, 0, 0}, {90, 8704, 20560, 0, 0, 0, 0}, {12, 51, 4864, 64, 1028, 0, 0}, {12, 48, 5120, 0, 0, 0, 0}, {42, 514, 85, 0, 0, 0, 0}, {22, 64, 1028, 4112, 0, 0, 0}, {255, 24320, 30464, 0, 0, 0, 0}, {768, 5376, 0, 0, 0, 0, 0}, {40, 257, 0, 0, 0, 0, 0}, {258, 5120, 0, 0, 0, 0, 0}, {5439, 771, 0, 0, 0, 0, 0}, {780, 8704, 4420, 1028, 0, 0, 0}, {783, 8192, 4176, 1285, 0, 0, 0}, {1290, 4192, 1542, 20480, 0, 0, 0}, {1032, 4471, 1799, 17408, 0, 0, 0}, {1032, 768, 4352, 0, 0, 0, 0}, {4144, 771, 1285, 0, 0, 0, 0}, {1290, 768, 4096, 0, 0, 0, 0}, {4403, 771, 1028, 0, 0, 0, 0}, {780, 9472, 21760, 0, 0, 0, 0}, {269, 293, 514, 4437, 1285, 0, 0}, {270, 294, 514, 4160, 1028, 0, 0}, {783, 9728, 16384, 0, 0, 0, 0}, {2560, 816, 1360, 4112, 0, 0, 0}, {2048, 819, 1092, 4369, 0, 0, 0}, {1096, 4386, 4626, 17408, 0, 0, 0}, {1375, 4128, 4883, 20480, 0, 0, 0}, {512, 276, 0, 0, 0, 0, 0}, {831, 5397, 0, 0, 0, 0, 0}, {5418, 5654, 0, 0, 0, 0, 0}, {279, 5120, 0, 0, 0, 0, 0}, {280, 304, 512, 1360, 4352, 0, 0}, {6425, 819, 21845, 0, 0, 0, 0}, {6682, 816, 16448, 0, 0, 0, 0}, {283, 307, 512, 1092, 4096, 0, 0}, {5660, 5408, 1360, 0, 0, 0, 0}, {5405, 5666, 4437, 0, 0, 0, 0}, {5662, 5410, 1092, 0, 0, 0, 0}, {5407, 5664, 4160, 0, 0, 0, 0}, {4128, 768, 1280, 0, 0, 0, 0}, {1036, 771, 4369, 0, 0, 0, 0}, {4386, 768, 1024, 0, 0, 0, 0}, {1295, 771, 4112, 0, 0, 0, 0}, {268, 292, 512, 4420, 1280, 0, 0}, {783, 9509, 21845, 0, 0, 0, 0}, {780, 9766, 16448, 0, 0, 0, 0}, {271, 295, 512, 4176, 1024, 0, 0}, {40, 256, 0, 0, 0, 0, 0}, {771, 5397, 0, 0, 0, 0, 0}, {5418, 768, 0, 0, 0, 0, 0}, {259, 5140, 0, 0, 0, 0, 0}, {780, 8224, 4160, 1280, 0, 0, 0}, {783, 8738, 4437, 1024, 0, 0, 0}, {1036, 4454, 1792, 17476, 0, 0, 0}, {1295, 4208, 1536, 20560, 0, 0, 0}, {6400, 816, 21760, 0, 0, 0, 0}, {281, 305, 514, 1365, 4369, 0, 0}, {282, 306, 514, 1088, 4112, 0, 0}, {6656, 819, 16384, 0, 0, 0, 0}, {5384, 5684, 4420, 0, 0, 0, 0}, {5642, 5429, 1365, 0, 0, 0, 0}, {5386, 5686, 4176, 0, 0, 0, 0}, {5640, 5431, 1088, 0, 0, 0, 0}, {2056, 816, 1088, 4352, 0, 0, 0}, {2570, 819, 1365, 4096, 0, 0, 0}, {1370, 4144, 4864, 20560, 0, 0, 0}, {1100, 4403, 4608, 17476, 0, 0, 0}, {828, 5376, 0, 0, 0, 0, 0}, {514, 277, 0, 0, 0, 0, 0}, {278, 5140, 0, 0, 0, 0, 0}, {5439, 5632, 0, 0, 0, 0, 0}, {3840, 13056, 5440, 0, 0, 0, 0}, {522, 546, 321, 1285, 4369, 0, 0}, {4362, 4386, 4864, 322, 5120, 0, 0}, {5503, 13107, 17219, 0, 0, 0, 0}, {4608, 4420, 5376, 0, 0, 0, 0}, {879, 1285, 4112, 0, 0, 0, 0}, {1290, 4128, 5702, 20480, 0, 0, 0}, {1096, 4471, 839, 17408, 0, 0, 0}, {1096, 1792, 4352, 0, 0, 0, 0}, {4208, 4883, 1285, 0, 0, 0, 0}, {1290, 4896, 4160, 0, 0, 0, 0}, {1807, 4403, 1092, 0, 0, 0, 0}, {5708, 12288, 21760, 0, 0, 0, 0}, {4120, 4144, 4626, 4437, 1285, 0, 0}, {1290, 1314, 1792, 1092, 4096, 0, 0}, {3855, 5744, 16448, 0, 0, 0, 0}, {4864, 4176, 5376, 0, 0, 0, 0}, {891, 1028, 4369, 0, 0, 0, 0}, {1032, 4386, 5714, 17408, 0, 0, 0}, {1375, 4192, 851, 20480, 0, 0, 0}, {520, 544, 340, 1028, 4112, 0, 0}, {3072, 12288, 5461, 0, 0, 0, 0}, {5482, 12336, 22102, 0, 0, 0, 0}, {4104, 4128, 4608, 343, 5120, 0, 0}, {1032, 1056, 1536, 1360, 4352, 0, 0}, {3084, 5734, 21845, 0, 0, 0, 0}, {5722, 13056, 16384, 0, 0, 0, 0}, {4379, 4403, 4883, 4160, 1028, 0, 0}, {1548, 4144, 1360, 0, 0, 0, 0}, {1032, 4642, 4437, 0, 0, 0, 0}, {4454, 4626, 1028, 0, 0, 0, 0}, {1375, 1536, 4096, 0, 0, 0, 0}, {4192, 4864, 1280, 0, 0, 0, 0}, {1100, 1799, 4369, 0, 0, 0, 0}, {1800, 4386, 1088, 0, 0, 0, 0}, {1295, 4915, 4176, 0, 0, 0, 0}, {4104, 4128, 4608, 4420, 1280, 0, 0}, {5722, 12336, 21845, 0, 0, 0, 0}, {3840, 5734, 16384, 0, 0, 0, 0}, {1295, 1319, 1799, 1088, 4112, 0, 0}, {520, 544, 320, 1280, 4352, 0, 0}, {3855, 13107, 5461, 0, 0, 0, 0}, {5482, 13056, 17152, 0, 0, 0, 0}, {4379, 4403, 4883, 323, 5140, 0, 0}, {876, 1280, 4096, 0, 0, 0, 0}, {4626, 4437, 5397, 0, 0, 0, 0}, {1100, 4454, 836, 17476, 0, 0, 0}, {1295, 4144, 5712, 20560, 0, 0, 0}, {3072, 5744, 21760, 0, 0, 0, 0}, {1036, 1060, 1542, 1365, 4369, 0, 0}, {4362, 4386, 4864, 4176, 1024, 0, 0}, {5708, 13107, 16448, 0, 0, 0, 0}, {1036, 4656, 4420, 0, 0, 0, 0}, {1546, 4128, 1365, 0, 0, 0, 0}, {1370, 1542, 4112, 0, 0, 0, 0}, {4471, 4608, 1024, 0, 0, 0, 0}, {888, 1024, 4352, 0, 0, 0, 0}, {4883, 4160, 5397, 0, 0, 0, 0}, {1370, 4208, 848, 20560, 0, 0, 0}, {1036, 4403, 5700, 17476, 0, 0, 0}, {3084, 12336, 5440, 0, 0, 0, 0}, {522, 546, 341, 1024, 4096, 0, 0}, {4120, 4144, 4626, 342, 5140, 0, 0}, {5503, 12288, 22016, 0, 0, 0, 0}, {5504, 768, 21760, 0, 0, 0, 0}, {265, 289, 771, 1285, 4369, 0, 0}, {266, 290, 768, 1024, 4096, 0, 0}, {5567, 771, 16448, 0, 0, 0, 0}, {1036, 1792, 4420, 0, 0, 0, 0}, {783, 4208, 1285, 0, 0, 0, 0}, {1290, 1542, 4160, 0, 0, 0, 0}, {783, 4471, 1024, 0, 0, 0, 0}, {136, 768, 1024, 4352, 0, 0, 0}, {160, 771, 1285, 4112, 0, 0, 0}, {1290, 4128, 768, 20480, 0, 0, 0}, {1036, 4403, 771, 17476, 0, 0, 0}, {780, 5440, 0, 0, 0, 0, 0}, {546, 261, 0, 0, 0, 0, 0}, {262, 5188, 0, 0, 0, 0, 0}, {783, 5744, 0, 0, 0, 0, 0}, {4144, 4864, 1360, 0, 0, 0, 0}, {1100, 819, 4369, 0, 0, 0, 0}, {4386, 4626, 1088, 0, 0, 0, 0}, {1375, 819, 4096, 0, 0, 0, 0}, {284, 308, 788, 4420, 5140, 0, 0}, {831, 9557, 21845, 0, 0, 0, 0}, {828, 9830, 16384, 0, 0, 0, 0}, {287, 311, 791, 4160, 5120, 0, 0}, {520, 272, 0, 0, 0, 0, 0}, {819, 5461, 0, 0, 0, 0, 0}, {5722, 816, 0, 0, 0, 0, 0}, {275, 5188, 0, 0, 0, 0, 0}, {828, 8192, 4176, 5376, 0, 0, 0}, {831, 8738, 4437, 5397, 0, 0, 0}, {1100, 4454, 5654, 17476, 0, 0, 0}, {1375, 4192, 5632, 20480, 0, 0, 0}, {160, 768, 1280, 4096, 0, 0, 0}, {136, 771, 1028, 4369, 0, 0, 0}, {1032, 4386, 768, 17408, 0, 0, 0}, {1295, 4144, 771, 20560, 0, 0, 0}, {544, 260, 0, 0, 0, 0, 0}, {783, 5461, 0, 0, 0, 0, 0}, {780, 5734, 0, 0, 0, 0, 0}, {263, 5200, 0, 0, 0, 0, 0}, {264, 288, 768, 1280, 4352, 0, 0}, {5525, 771, 21845, 0, 0, 0, 0}, {5546, 768, 16384, 0, 0, 0, 0}, {267, 291, 771, 1028, 4112, 0, 0}, {780, 4192, 1280, 0, 0, 0, 0}, {1032, 1799, 4437, 0, 0, 0, 0}, {780, 4454, 1028, 0, 0, 0, 0}, {1295, 1536, 4176, 0, 0, 0, 0}, {816, 5440, 0, 0, 0, 0, 0}, {522, 273, 0, 0, 0, 0, 0}, {274, 5200, 0, 0, 0, 0, 0}, {5708, 819, 0, 0, 0, 0, 0}, {828, 8704, 4420, 5376, 0, 0, 0}, {831, 8224, 4160, 5397, 0, 0, 0}, {1370, 4208, 5654, 20560, 0, 0, 0}, {1096, 4471, 5632, 17408, 0, 0, 0}, {1096, 816, 4352, 0, 0, 0, 0}, {4128, 4883, 1365, 0, 0, 0, 0}, {1370, 816, 4112, 0, 0, 0, 0}, {4403, 4608, 1092, 0, 0, 0, 0}, {828, 9584, 21760, 0, 0, 0, 0}, {285, 309, 791, 4437, 5120, 0, 0}, {286, 310, 788, 4176, 5140, 0, 0}, {831, 9792, 16448, 0, 0, 0, 0}, {5568, 5632, 21760, 0, 0, 0, 0}, {329, 353, 514, 1285, 4369, 0, 0}, {4362, 4386, 514, 4160, 5120, 0, 0}, {5692, 13107, 16384, 0, 0, 0, 0}, {5384, 4608, 4420, 0, 0, 0, 0}, {4959, 4144, 1285, 0, 0, 0, 0}, {1290, 1638, 4096, 0, 0, 0, 0}, {5431, 1799, 1088, 0, 0, 0, 0}, {1800, 1088, 4352, 0, 0, 0, 0}, {4915, 4176, 1285, 0, 0, 0, 0}, {1290, 4192, 4864, 20480, 0, 0, 0}, {1100, 4403, 1799, 17476, 0, 0, 0}, {972, 12288, 5376, 0, 0, 0, 0}, {40, 514, 325, 1285, 4112, 0, 0}, {4104, 4128, 514, 326, 5378, 0, 0}, {5439, 12336, 22064, 0, 0, 0, 0}, {5408, 1536, 1360, 0, 0, 0, 0}, {1036, 1911, 4369, 0, 0, 0, 0}, {4698, 4386, 1024, 0, 0, 0, 0}, {5407, 4883, 4160, 0, 0, 0, 0}, {4120, 4144, 512, 4420, 5140, 0, 0}, {5674, 12288, 21845, 0, 0, 0, 0}, {5610, 5654, 16448, 0, 0, 0, 0}, {351, 375, 512, 1024, 4096, 0, 0}, {40, 512, 336, 1024, 4352, 0, 0}, {1011, 13107, 5397, 0, 0, 0, 0}, {5418, 13056, 17264, 0, 0, 0, 0}, {4379, 4403, 512, 339, 5399, 0, 0}, {1548, 1360, 4112, 0, 0, 0, 0}, {4642, 4437, 1024, 0, 0, 0, 0}, {1036, 4454, 4626, 17476, 0, 0, 0}, {1375, 4128, 1536, 20480, 0, 0, 0}, {4896, 4160, 1280, 0, 0, 0, 0}, {1807, 1092, 4369, 0, 0, 0, 0}, {1096, 4386, 1792, 17408, 0, 0, 0}, {1295, 4208, 4883, 20560, 0, 0, 0}, {40, 512, 324, 1280, 4096, 0, 0}, {975, 12336, 5397, 0, 0, 0, 0}, {5418, 12288, 22118, 0, 0, 0, 0}, {4120, 4144, 512, 327, 5399, 0, 0}, {328, 352, 512, 1280, 4352, 0, 0}, {5589, 5654, 21845, 0, 0, 0, 0}, {5674, 13056, 16448, 0, 0, 0, 0}, {4379, 4403, 512, 4176, 5140, 0, 0}, {4940, 4128, 1280, 0, 0, 0, 0}, {5405, 4626, 4437, 0, 0, 0, 0}, {5410, 1792, 1092, 0, 0, 0, 0}, {1295, 1632, 4112, 0, 0, 0, 0}, {1008, 13056, 5376, 0, 0, 0, 0}, {40, 514, 337, 1028, 4369, 0, 0}, {4362, 4386, 514, 338, 5378, 0, 0}, {5439, 13107, 17203, 0, 0, 0, 0}, {4656, 4420, 1028, 0, 0, 0, 0}, {1546, 1365, 4096, 0, 0, 0, 0}, {1370, 4144, 1542, 20560, 0, 0, 0}, {1032, 4471, 4608, 17408, 0, 0, 0}, {1032, 1904, 4352, 0, 0, 0, 0}, {5429, 1542, 1365, 0, 0, 0, 0}, {5386, 4864, 4176, 0, 0, 0, 0}, {4680, 4403, 1028, 0, 0, 0, 0}, {5692, 12336, 21760, 0, 0, 0, 0}, {4104, 4128, 514, 4437, 5120, 0, 0}, {350, 374, 514, 1028, 4112, 0, 0}, {5631, 5632, 16384, 0, 0, 0, 0}, {10752, 0, 0, 0, 0, 0, 0}, {3, 20, 257, 0, 0, 0, 0}, {40, 514, 0, 0, 0, 0, 0}, {3, 5376, 0, 0, 0, 0, 0}, {12, 8704, 68, 1028, 0, 0, 0}, {15, 8192, 80, 1285, 0, 0, 0}, {12, 96, 1542, 16384, 0, 0, 0}, {15, 119, 1799, 21760, 0, 0, 0}, {136, 2056, 8704, 0, 0, 0, 0}, {3, 80, 1285, 4096, 0, 0, 0}, {160, 2570, 8192, 0, 0, 0, 0}, {3, 68, 1028, 4352, 0, 0, 0}, {12, 9728, 16384, 0, 0, 0, 0}, {15, 39, 514, 80, 1285, 0, 0}, {12, 36, 514, 68, 1028, 0, 0}, {15, 9472, 21760, 0, 0, 0, 0}, {2560, 48, 80, 4112, 0, 0, 0}, {2048, 51, 68, 4369, 0, 0, 0}, {72, 48, 4626, 16384, 0, 0, 0}, {95, 51, 4883, 21760, 0, 0, 0}, {512, 20, 0, 0, 0, 0, 0}, {63, 5397, 0, 0, 0, 0, 0}, {60, 5654, 0, 0, 0, 0, 0}, {23, 5376, 0, 0, 0, 0, 0}, {24, 48, 512, 80, 4096, 0, 0}, {6425, 51, 21845, 0, 0, 0, 0}, {6682, 48, 16448, 0, 0, 0, 0}, {27, 51, 512, 68, 4352, 0, 0}, {5660, 5664, 80, 0, 0, 0, 0}, {5405, 5410, 5461, 0, 0, 0, 0}, {5662, 5666, 68, 0, 0, 0, 0}, {5407, 5408, 5440, 0, 0, 0, 0}, {160, 2560, 8224, 0, 0, 0, 0}, {3, 68, 1024, 4369, 0, 0, 0}, {136, 2048, 8738, 0, 0, 0, 0}, {3, 80, 1280, 4112, 0, 0, 0}, {12, 36, 512, 68, 1024, 0, 0}, {15, 9509, 21845, 0, 0, 0, 0}, {12, 9766, 16448, 0, 0, 0, 0}, {15, 39, 512, 80, 1280, 0, 0}, {40, 512, 0, 0, 0, 0, 0}, {3, 5397, 0, 0, 0, 0, 0}, {10794, 0, 0, 0, 0, 0, 0}, {3, 20, 256, 0, 0, 0, 0}, {12, 96, 1536, 16448, 0, 0, 0}, {15, 119, 1792, 21845, 0, 0, 0}, {12, 8738, 68, 1024, 0, 0, 0}, {15, 8224, 80, 1280, 0, 0, 0}, {6656, 48, 16384, 0, 0, 0, 0}, {27, 51, 514, 68, 4369, 0, 0}, {24, 48, 514, 80, 4112, 0, 0}, {6400, 51, 21760, 0, 0, 0, 0}, {5640, 5684, 68, 0, 0, 0, 0}, {5386, 5429, 5461, 0, 0, 0, 0}, {5642, 5686, 80, 0, 0, 0, 0}, {5384, 5431, 5440, 0, 0, 0, 0}, {72, 48, 4608, 16448, 0, 0, 0}, {95, 51, 4864, 21845, 0, 0, 0}, {2570, 48, 80, 4096, 0, 0, 0}, {2056, 51, 68, 4352, 0, 0, 0}, {60, 5632, 0, 0, 0, 0, 0}, {23, 5397, 0, 0, 0, 0, 0}, {514, 20, 0, 0, 0, 0, 0}, {63, 5376, 0, 0, 0, 0, 0}, {192, 10816, 16448, 0, 0, 0, 0}, {51, 529, 20, 4369, 0, 0, 0}, {72, 96, 578, 16384, 0, 0, 0}, {15, 51, 5699, 21760, 0, 0, 0}, {2048, 8704, 68, 0, 0, 0, 0}, {15, 48, 80, 1285, 4112, 0, 0}, {108, 8224, 17990, 0, 0, 0, 0}, {15, 48, 4608, 71, 5376, 0, 0}, {72, 8704, 16384, 0, 0, 0, 0}, {15, 51, 4883, 80, 1285, 0, 0}, {2570, 96, 16448, 0, 0, 0, 0}, {15, 51, 1792, 68, 4352, 0, 0}, {204, 19532, 26112, 0, 0, 0, 0}, {23, 80, 1285, 4096, 0, 0, 0}, {522, 546, 68, 0, 0, 0, 0}, {15, 48, 5440, 0, 0, 0, 0}, {2560, 8192, 80, 0, 0, 0, 0}, {12, 51, 68, 1028, 4369, 0, 0}, {120, 8738, 21074, 0, 0, 0, 0}, {12, 51, 4864, 83, 5376, 0, 0}, {48, 528, 20, 4112, 0, 0, 0}, {255, 10837, 21845, 0, 0, 0, 0}, {12, 48, 5718, 16384, 0, 0, 0}, {95, 119, 599, 21760, 0, 0, 0}, {520, 544, 80, 0, 0, 0, 0}, {12, 51, 5461, 0, 0, 0, 0}, {240, 23130, 28672, 0, 0, 0, 0}, {23, 68, 1028, 4352, 0, 0, 0}, {12, 48, 1536, 80, 4096, 0, 0}, {2056, 119, 21845, 0, 0, 0, 0}, {12, 48, 4626, 68, 1028, 0, 0}, {95, 8192, 21760, 0, 0, 0, 0}, {2560, 96, 16384, 0, 0, 0, 0}, {15, 51, 1799, 68, 4369, 0, 0}, {72, 8738, 16448, 0, 0, 0, 0}, {15, 51, 4864, 80, 1280, 0, 0}, {520, 544, 68, 0, 0, 0, 0}, {15, 48, 5461, 0, 0, 0, 0}, {204, 19456, 26214, 0, 0, 0, 0}, {23, 80, 1280, 4112, 0, 0, 0}, {72, 96, 576, 16448, 0, 0, 0}, {15, 51, 5717, 21845, 0, 0, 0}, {192, 10858, 16384, 0, 0, 0, 0}, {51, 531, 20, 4352, 0, 0, 0}, {108, 8192, 17920, 0, 0, 0, 0}, {15, 48, 4626, 71, 5397, 0, 0}, {2056, 8738, 68, 0, 0, 0, 0}, {15, 48, 80, 1280, 4096, 0, 0}, {240, 23040, 28784, 0, 0, 0, 0}, {23, 68, 1024, 4369, 0, 0, 0}, {522, 546, 80, 0, 0, 0, 0}, {12, 51, 5440, 0, 0, 0, 0}, {12, 48, 4608, 68, 1024, 0, 0}, {95, 8224, 21845, 0, 0, 0, 0}, {12, 48, 1542, 80, 4112, 0, 0}, {2048, 119, 21760, 0, 0, 0, 0}, {120, 8704, 20992, 0, 0, 0, 0}, {12, 51, 4883, 83, 5397, 0, 0}, {2570, 8224, 80, 0, 0, 0, 0}, {12, 51, 68, 1024, 4352, 0, 0}, {12, 48, 5696, 16448, 0, 0, 0}, {95, 119, 597, 21845, 0, 0, 0}, {48, 530, 20, 4096, 0, 0, 0}, {255, 10879, 21760, 0, 0, 0, 0}, {10880, 0, 0, 0, 0, 0, 0}, {3, 261, 273, 0, 0, 0, 0}, {522, 546, 0, 0, 0, 0, 0}, {3, 5440, 0, 0, 0, 0, 0}, {12, 8704, 68, 1024, 0, 0, 0}, {15, 8224, 80, 1285, 0, 0, 0}, {12, 96, 1542, 16448, 0, 0, 0}, {15, 119, 1792, 21760, 0, 0, 0}, {136, 2048, 8704, 0, 0, 0, 0}, {3, 80, 1285, 4112, 0, 0, 0}, {160, 2570, 8224, 0, 0, 0, 0}, {3, 68, 1024, 4352, 0, 0, 0}, {12, 9792, 16448, 0, 0, 0, 0}, {15, 39, 517, 80, 1285, 0, 0}, {12, 36, 518, 68, 1024, 0, 0}, {15, 9584, 21760, 0, 0, 0, 0}, {2560, 48, 80, 4096, 0, 0, 0}, {2056, 51, 68, 4369, 0, 0, 0}, {72, 48, 4626, 16448, 0, 0, 0}, {95, 51, 4864, 21760, 0, 0, 0}, {544, 20, 0, 0, 0, 0, 0}, {63, 5461, 0, 0, 0, 0, 0}, {5722, 5734, 0, 0, 0, 0, 0}, {23, 5440, 0, 0, 0, 0, 0}, {24, 48, 528, 80, 4112, 0, 0}, {6485, 51, 21845, 0, 0, 0, 0}, {6746, 48, 16384, 0, 0, 0, 0}, {27, 51, 531, 68, 4352, 0, 0}, {60, 5632, 80, 0, 0, 0, 0}, {72, 119, 5397, 0, 0, 0, 0}, {60, 5654, 68, 0, 0, 0, 0}, {95, 96, 5376, 0, 0, 0, 0}, {160, 2560, 8192, 0, 0, 0, 0}, {3, 68, 1028, 4369, 0, 0, 0}, {136, 2056, 8738, 0, 0, 0, 0}, {3, 80, 1280, 4096, 0, 0, 0}, {12, 36, 516, 68, 1028, 0, 0}, {15, 9557, 21845, 0, 0, 0, 0}, {12, 9830, 16384, 0, 0, 0, 0}, {15, 39, 519, 80, 1280, 0, 0}, {520, 544, 0, 0, 0, 0, 0}, {3, 5461, 0, 0, 0, 0, 0}, {10922, 0, 0, 0, 0, 0, 0}, {3, 260, 272, 0, 0, 0, 0}, {12, 96, 1536, 16384, 0, 0, 0}, {15, 119, 1799, 21845, 0, 0, 0}, {12, 8738, 68, 1028, 0, 0, 0}, {15, 8192, 80, 1280, 0, 0, 0}, {6720, 48, 16448, 0, 0, 0, 0}, {27, 51, 529, 68, 4369, 0, 0}, {24, 48, 530, 80, 4096, 0, 0}, {6476, 51, 21760, 0, 0, 0, 0}, {60, 5632, 68, 0, 0, 0, 0}, {95, 96, 5397, 0, 0, 0, 0}, {60, 5654, 80, 0, 0, 0, 0}, {72, 119, 5376, 0, 0, 0, 0}, {72, 48, 4608, 16384, 0, 0, 0}, {95, 51, 4883, 21845, 0, 0, 0}, {2570, 48, 80, 4112, 0, 0, 0}, {2048, 51, 68, 4352, 0, 0, 0}, {5708, 5744, 0, 0, 0, 0, 0}, {23, 5461, 0, 0, 0, 0, 0}, {546, 20, 0, 0, 0, 0, 0}, {63, 5440, 0, 0, 0, 0, 0}, {192, 10752, 16384, 0, 0, 0, 0}, {51, 514, 20, 4369, 0, 0, 0}, {72, 96, 514, 16448, 0, 0, 0}, {15, 51, 5632, 21760, 0, 0, 0}, {2056, 8704, 68, 0, 0, 0, 0}, {15, 48, 80, 1285, 4096, 0, 0}, {108, 8192, 18022, 0, 0, 0, 0}, {15, 48, 4608, 71, 5383, 0, 0}, {72, 8704, 16448, 0, 0, 0, 0}, {15, 51, 4864, 80, 1285, 0, 0}, {2570, 96, 16384, 0, 0, 0, 0}, {15, 51, 1799, 68, 4352, 0, 0}, {204, 19456, 26112, 0, 0, 0, 0}, {23, 80, 1285, 4112, 0, 0, 0}, {40, 514, 68, 0, 0, 0, 0}, {15, 48, 5376, 0, 0, 0, 0}, {2560, 8224, 80, 0, 0, 0, 0}, {12, 51, 68, 1024, 4369, 0, 0}, {120, 8738, 21026, 0, 0, 0, 0}, {12, 51, 4883, 83, 5395, 0, 0}, {48, 512, 20, 4096, 0, 0, 0}, {255, 10794, 21845, 0, 0, 0, 0}, {12, 48, 5654, 16448, 0, 0, 0}, {95, 119, 512, 21760, 0, 0, 0}, {40, 512, 80, 0, 0, 0, 0}, {12, 51, 5397, 0, 0, 0, 0}, {240, 23130, 28784, 0, 0, 0, 0}, {23, 68, 1024, 4352, 0, 0, 0}, {12, 48, 1536, 80, 4112, 0, 0}, {2048, 119, 21845, 0, 0, 0, 0}, {12, 48, 4626, 68, 1024, 0, 0}, {95, 8224, 21760, 0, 0, 0, 0}, {2560, 96, 16448, 0, 0, 0, 0}, {15, 51, 1792, 68, 4369, 0, 0}, {72, 8738, 16384, 0, 0, 0, 0}, {15, 51, 4883, 80, 1280, 0, 0}, {40, 512, 68, 0, 0, 0, 0}, {15, 48, 5397, 0, 0, 0, 0}, {204, 19532, 26214, 0, 0, 0, 0}, {23, 80, 1280, 4096, 0, 0, 0}, {72, 96, 512, 16384, 0, 0, 0}, {15, 51, 5654, 21845, 0, 0, 0}, {192, 10794, 16448, 0, 0, 0, 0}, {51, 512, 20, 4352, 0, 0, 0}, {108, 8224, 17952, 0, 0, 0, 0}, {15, 48, 4626, 71, 5394, 0, 0}, {2048, 8738, 68, 0, 0, 0, 0}, {15, 48, 80, 1280, 4112, 0, 0}, {240, 23040, 28672, 0, 0, 0, 0}, {23, 68, 1028, 4369, 0, 0, 0}, {40, 514, 80, 0, 0, 0, 0}, {12, 51, 5376, 0, 0, 0, 0}, {12, 48, 4608, 68, 1028, 0, 0}, {95, 8192, 21845, 0, 0, 0, 0}, {12, 48, 1542, 80, 4096, 0, 0}, {2056, 119, 21760, 0, 0, 0, 0}, {120, 8704, 21104, 0, 0, 0, 0}, {12, 51, 4864, 83, 5382, 0, 0}, {2570, 8192, 80, 0, 0, 0, 0}, {12, 51, 68, 1028, 4352, 0, 0}, {12, 48, 5632, 16384, 0, 0, 0}, {95, 119, 514, 21845, 0, 0, 0}, {48, 514, 20, 4112, 0, 0, 0}, {255, 10752, 21760, 0, 0, 0, 0}, {768, 5120, 0, 0, 0, 0, 0}, {42, 257, 0, 0, 0, 0, 0}, {258, 5376, 0, 0, 0, 0, 0}, {5180, 771, 0, 0, 0, 0, 0}, {780, 8192, 4160, 1028, 0, 0, 0}, {783, 8704, 4437, 1285, 0, 0, 0}, {1290, 4454, 1542, 21760, 0, 0, 0}, {1032, 4208, 1799, 16384, 0, 0, 0}, {1032, 768, 4096, 0, 0, 0, 0}, {4403, 771, 1285, 0, 0, 0, 0}, {1290, 768, 4352, 0, 0, 0, 0}, {4144, 771, 1028, 0, 0, 0, 0}, {780, 9984, 20480, 0, 0, 0, 0}, {269, 295, 514, 4176, 1285, 0, 0}, {270, 292, 514, 4420, 1028, 0, 0}, {783, 9216, 17408, 0, 0, 0, 0}, {2048, 816, 1088, 4112, 0, 0, 0}, {2560, 819, 1365, 4369, 0, 0, 0}, {1370, 4386, 4626, 21760, 0, 0, 0}, {1100, 4128, 4883, 16384, 0, 0, 0}, {828, 5140, 0, 0, 0, 0, 0}, {512, 277, 0, 0, 0, 0, 0}, {278, 5376, 0, 0, 0, 0, 0}, {5160, 5911, 0, 0, 0, 0, 0}, {6168, 816, 20560, 0, 0, 0, 0}, {281, 307, 512, 1365, 4096, 0, 0}, {282, 304, 512, 1088, 4352, 0, 0}, {6939, 819, 17476, 0, 0, 0, 0}, {5148, 5920, 4176, 0, 0, 0, 0}, {5917, 5154, 1365, 0, 0, 0, 0}, {5150, 5922, 4420, 0, 0, 0, 0}, {5919, 5152, 1088, 0, 0, 0, 0}, {4128, 768, 1024, 0, 0, 0, 0}, {1295, 771, 4369, 0, 0, 0, 0}, {4386, 768, 1280, 0, 0, 0, 0}, {1036, 771, 4112, 0, 0, 0, 0}, {780, 9252, 17476, 0, 0, 0, 0}, {271, 293, 512, 4437, 1024, 0, 0}, {268, 294, 512, 4160, 1280, 0, 0}, {783, 10023, 20560, 0, 0, 0, 0}, {5160, 768, 0, 0, 0, 0, 0}, {259, 5397, 0, 0, 0, 0, 0}, {42, 256, 0, 0, 0, 0, 0}, {771, 5140, 0, 0, 0, 0, 0}, {1036, 4192, 1792, 16448, 0, 0, 0}, {1295, 4471, 1536, 21845, 0, 0, 0}, {780, 8738, 4420, 1280, 0, 0, 0}, {783, 8224, 4176, 1024, 0, 0, 0}, {6912, 816, 17408, 0, 0, 0, 0}, {283, 305, 514, 1092, 4369, 0, 0}, {280, 306, 514, 1360, 4112, 0, 0}, {6144, 819, 20480, 0, 0, 0, 0}, {5896, 5172, 1092, 0, 0, 0, 0}, {5130, 5941, 4437, 0, 0, 0, 0}, {5898, 5174, 1360, 0, 0, 0, 0}, {5128, 5943, 4160, 0, 0, 0, 0}, {1096, 4144, 4864, 16448, 0, 0, 0}, {1375, 4403, 4608, 21845, 0, 0, 0}, {2570, 816, 1360, 4352, 0, 0, 0}, {2056, 819, 1092, 4096, 0, 0, 0}, {5180, 5888, 0, 0, 0, 0, 0}, {279, 5397, 0, 0, 0, 0, 0}, {514, 276, 0, 0, 0, 0, 0}, {831, 5120, 0, 0, 0, 0, 0}, {4864, 4160, 5120, 0, 0, 0, 0}, {873, 1285, 4369, 0, 0, 0, 0}, {1290, 4386, 5954, 21760, 0, 0, 0}, {1100, 4208, 835, 16384, 0, 0, 0}, {3840, 12288, 5188, 0, 0, 0, 0}, {522, 544, 325, 1285, 4112, 0, 0}, {4106, 4128, 4608, 326, 5376, 0, 0}, {5240, 12336, 18247, 0, 0, 0, 0}, {5960, 13056, 20480, 0, 0, 0, 0}, {4377, 4403, 4883, 4176, 1285, 0, 0}, {1290, 1312, 1792, 1088, 4352, 0, 0}, {3855, 6007, 17476, 0, 0, 0, 0}, {1100, 1792, 4096, 0, 0, 0, 0}, {4471, 4626, 1285, 0, 0, 0, 0}, {1290, 4642, 4420, 0, 0, 0, 0}, {1807, 4144, 1088, 0, 0, 0, 0}, {3072, 13056, 5200, 0, 0, 0, 0}, {520, 546, 337, 1028, 4369, 0, 0}, {4360, 4386, 4864, 338, 5376, 0, 0}, {5228, 13107, 21331, 0, 0, 0, 0}, {892, 1028, 4112, 0, 0, 0, 0}, {4608, 4437, 5120, 0, 0, 0, 0}, {1370, 4454, 854, 21760, 0, 0, 0}, {1032, 4128, 5975, 16384, 0, 0, 0}, {1032, 4896, 4176, 0, 0, 0, 0}, {1548, 4403, 1365, 0, 0, 0, 0}, {1370, 1536, 4352, 0, 0, 0, 0}, {4192, 4883, 1028, 0, 0, 0, 0}, {3084, 5984, 20560, 0, 0, 0, 0}, {1032, 1058, 1536, 1365, 4096, 0, 0}, {4122, 4144, 4626, 4420, 1028, 0, 0}, {5983, 12288, 17408, 0, 0, 0, 0}, {3840, 5984, 17408, 0, 0, 0, 0}, {1295, 1317, 1799, 1092, 4369, 0, 0}, {4360, 4386, 4864, 4160, 1280, 0, 0}, {5983, 13107, 20560, 0, 0, 0, 0}, {1800, 4128, 1092, 0, 0, 0, 0}, {1295, 4656, 4437, 0, 0, 0, 0}, {4454, 4608, 1280, 0, 0, 0, 0}, {1096, 1799, 4112, 0, 0, 0, 0}, {1096, 4192, 832, 16448, 0, 0, 0}, {1295, 4403, 5973, 21845, 0, 0, 0}, {874, 1280, 4352, 0, 0, 0, 0}, {4883, 4176, 5140, 0, 0, 0, 0}, {5228, 12288, 18176, 0, 0, 0, 0}, {4122, 4144, 4626, 327, 5397, 0, 0}, {520, 546, 324, 1280, 4096, 0, 0}, {3855, 12336, 5200, 0, 0, 0, 0}, {4208, 4864, 1024, 0, 0, 0, 0}, {1375, 1542, 4369, 0, 0, 0, 0}, {1546, 4386, 1360, 0, 0, 0, 0}, {1036, 4915, 4160, 0, 0, 0, 0}, {5960, 12336, 17476, 0, 0, 0, 0}, {4106, 4128, 4608, 4437, 1024, 0, 0}, {1036, 1062, 1542, 1360, 4112, 0, 0}, {3072, 6007, 20480, 0, 0, 0, 0}, {5240, 13056, 21248, 0, 0, 0, 0}, {4377, 4403, 4883, 339, 5397, 0, 0}, {522, 544, 336, 1024, 4352, 0, 0}, {3084, 13107, 5188, 0, 0, 0, 0}, {1036, 4144, 5952, 16448, 0, 0, 0}, {1375, 4471, 853, 21845, 0, 0, 0}, {4626, 4420, 5140, 0, 0, 0, 0}, {895, 1024, 4096, 0, 0, 0, 0}, {128, 768, 1024, 4096, 0, 0, 0}, {170, 771, 1285, 4369, 0, 0, 0}, {1290, 4386, 768, 21760, 0, 0, 0}, {1036, 4144, 771, 16448, 0, 0, 0}, {780, 5188, 0, 0, 0, 0, 0}, {544, 261, 0, 0, 0, 0, 0}, {262, 5440, 0, 0, 0, 0, 0}, {783, 6007, 0, 0, 0, 0, 0}, {5256, 768, 20480, 0, 0, 0, 0}, {265, 291, 771, 1285, 4112, 0, 0}, {266, 288, 768, 1024, 4352, 0, 0}, {5300, 771, 17476, 0, 0, 0, 0}, {1036, 1792, 4160, 0, 0, 0, 0}, {783, 4471, 1285, 0, 0, 0, 0}, {1290, 1542, 4420, 0, 0, 0, 0}, {783, 4208, 1024, 0, 0, 0, 0}, {816, 5200, 0, 0, 0, 0, 0}, {520, 273, 0, 0, 0, 0, 0}, {274, 5440, 0, 0, 0, 0, 0}, {5983, 819, 0, 0, 0, 0, 0}, {828, 8224, 4176, 5140, 0, 0, 0}, {831, 8704, 4437, 5120, 0, 0, 0}, {1370, 4454, 5888, 21760, 0, 0, 0}, {1096, 4192, 5911, 16448, 0, 0, 0}, {1096, 816, 4112, 0, 0, 0, 0}, {4403, 4608, 1365, 0, 0, 0, 0}, {1370, 816, 4352, 0, 0, 0, 0}, {4128, 4883, 1092, 0, 0, 0, 0}, {828, 10064, 20560, 0, 0, 0, 0}, {285, 311, 789, 4160, 5397, 0, 0}, {286, 308, 790, 4420, 5376, 0, 0}, {831, 9312, 17408, 0, 0, 0, 0}, {5280, 768, 17408, 0, 0, 0, 0}, {267, 289, 771, 1028, 4369, 0, 0}, {264, 290, 768, 1280, 4096, 0, 0}, {5276, 771, 20560, 0, 0, 0, 0}, {780, 4192, 1028, 0, 0, 0, 0}, {1295, 1536, 4437, 0, 0, 0, 0}, {780, 4454, 1280, 0, 0, 0, 0}, {1032, 1799, 4176, 0, 0, 0, 0}, {1032, 4128, 768, 16384, 0, 0, 0}, {1295, 4403, 771, 21845, 0, 0, 0}, {170, 768, 1280, 4352, 0, 0, 0}, {128, 771, 1028, 4112, 0, 0, 0}, {780, 5984, 0, 0, 0, 0, 0}, {263, 5461, 0, 0, 0, 0, 0}, {546, 260, 0, 0, 0, 0, 0}, {783, 5200, 0, 0, 0, 0, 0}, {4144, 4864, 1088, 0, 0, 0, 0}, {1375, 819, 4369, 0, 0, 0, 0}, {4386, 4626, 1360, 0, 0, 0, 0}, {1100, 819, 4096, 0, 0, 0, 0}, {828, 9284, 17476, 0, 0, 0, 0}, {287, 309, 789, 4437, 5397, 0, 0}, {284, 310, 790, 4176, 5376, 0, 0}, {831, 10103, 20480, 0, 0, 0, 0}, {5960, 816, 0, 0, 0, 0, 0}, {275, 5461, 0, 0, 0, 0, 0}, {522, 272, 0, 0, 0, 0, 0}, {819, 5188, 0, 0, 0, 0, 0}, {1100, 4208, 5888, 16384, 0, 0, 0}, {1375, 4471, 5911, 21845, 0, 0, 0}, {828, 8738, 4420, 5140, 0, 0, 0}, {831, 8192, 4160, 5120, 0, 0, 0}, {960, 13056, 5120, 0, 0, 0, 0}, {42, 514, 321, 1285, 4369, 0, 0}, {4360, 4386, 514, 322, 5122, 0, 0}, {5180, 13107, 21299, 0, 0, 0, 0}, {1800, 1092, 4096, 0, 0, 0, 0}, {4656, 4437, 1285, 0, 0, 0, 0}, {1290, 4454, 4608, 21760, 0, 0, 0}, {1096, 4144, 1799, 16448, 0, 0, 0}, {5128, 4864, 4160, 0, 0, 0, 0}, {4698, 4403, 1285, 0, 0, 0, 0}, {1290, 1632, 4352, 0, 0, 0, 0}, {5172, 1799, 1092, 0, 0, 0, 0}, {5324, 5888, 20480, 0, 0, 0, 0}, {333, 359, 514, 1285, 4112, 0, 0}, {4106, 4128, 514, 4420, 5376, 0, 0}, {5951, 12336, 17408, 0, 0, 0, 0}, {4896, 4176, 1024, 0, 0, 0, 0}, {1548, 1365, 4369, 0, 0, 0, 0}, {1370, 4386, 1536, 21760, 0, 0, 0}, {1036, 4192, 4883, 16448, 0, 0, 0}, {1020, 12336, 5140, 0, 0, 0, 0}, {42, 512, 341, 1024, 4096, 0, 0}, {4122, 4144, 512, 342, 5142, 0, 0}, {5160, 12288, 18295, 0, 0, 0, 0}, {5928, 13056, 20560, 0, 0, 0, 0}, {4377, 4403, 512, 4160, 5397, 0, 0}, {346, 368, 512, 1024, 4352, 0, 0}, {5348, 5911, 17476, 0, 0, 0, 0}, {1036, 1904, 4112, 0, 0, 0, 0}, {5154, 1536, 1365, 0, 0, 0, 0}, {5150, 4626, 4420, 0, 0, 0, 0}, {4959, 4128, 1024, 0, 0, 0, 0}, {5152, 1792, 1088, 0, 0, 0, 0}, {1295, 1638, 4369, 0, 0, 0, 0}, {4680, 4386, 1280, 0, 0, 0, 0}, {5148, 4883, 4176, 0, 0, 0, 0}, {5928, 12288, 17476, 0, 0, 0, 0}, {4122, 4144, 512, 4437, 5397, 0, 0}, {332, 358, 512, 1280, 4096, 0, 0}, {5336, 5911, 20560, 0, 0, 0, 0}, {5160, 13056, 21344, 0, 0, 0, 0}, {4377, 4403, 512, 323, 5142, 0, 0}, {42, 512, 320, 1280, 4352, 0, 0}, {963, 13107, 5140, 0, 0, 0, 0}, {1100, 4128, 1792, 16384, 0, 0, 0}, {1295, 4471, 4626, 21845, 0, 0, 0}, {4642, 4420, 1280, 0, 0, 0, 0}, {1807, 1088, 4112, 0, 0, 0, 0}, {5360, 5888, 17408, 0, 0, 0, 0}, {347, 369, 514, 1028, 4369, 0, 0}, {4360, 4386, 514, 4176, 5376, 0, 0}, {5951, 13107, 20480, 0, 0, 0, 0}, {4940, 4144, 1028, 0, 0, 0, 0}, {5130, 4608, 4437, 0, 0, 0, 0}, {5174, 1542, 1360, 0, 0, 0, 0}, {1032, 1911, 4096, 0, 0, 0, 0}, {1032, 4208, 4864, 16384, 0, 0, 0}, {1375, 4403, 1542, 21845, 0, 0, 0}, {1546, 1360, 4352, 0, 0, 0, 0}, {4915, 4160, 1028, 0, 0, 0, 0}, {5180, 12336, 18224, 0, 0, 0, 0}, {4106, 4128, 514, 343, 5122, 0, 0}, {42, 514, 340, 1028, 4112, 0, 0}, {1023, 12288, 5120, 0, 0, 0, 0}, {3072, 8192, 16384, 0, 0, 0, 0}, {15, 34, 85, 257, 0, 0, 0}, {1032, 34, 514, 17408, 0, 0, 0}, {15, 4144, 771, 20480, 0, 0, 0}, {136, 8200, 1028, 0, 0, 0, 0}, {15, 768, 85, 1285, 4101, 0, 0}, {170, 1542, 16490, 0, 0, 0, 0}, {15, 119, 768, 1031, 4103, 0, 0}, {1032, 9216, 17408, 0, 0, 0, 0}, {15, 4149, 771, 85, 1285, 0, 0}, {1546, 9728, 16384, 0, 0, 0, 0}, {15, 4151, 771, 4160, 1028, 0, 0}, {16576, 3084, 8192, 0, 0, 0, 0}, {258, 85, 1285, 4352, 0, 0, 0}, {34, 514, 1028, 0, 0, 0, 0}, {15, 768, 4096, 0, 0, 0, 0}, {240, 3120, 4112, 0, 0, 0, 0}, {34, 512, 85, 1041, 4369, 0, 0}, {90, 34, 512, 1042, 4114, 0, 0}, {255, 4883, 16511, 0, 0, 0, 0}, {4136, 12288, 4176, 5140, 0, 0, 0}, {4906, 13056, 85, 5397, 0, 0, 0}, {90, 4208, 5654, 20480, 0, 0, 0}, {1096, 119, 5911, 17408, 0, 0, 0}, {4120, 1072, 5200, 0, 0, 0, 0}, {4889, 1587, 85, 0, 0, 0, 0}, {4122, 1584, 4160, 0, 0, 0, 0}, {4891, 1075, 1092, 0, 0, 0, 0}, {7196, 4128, 20560, 0, 0, 0, 0}, {1053, 34, 512, 85, 4352, 0, 0}, {1054, 34, 512, 1092, 4096, 0, 0}, {7967, 4896, 16448, 0, 0, 0, 0}, {16512, 3072, 8224, 0, 0, 0, 0}, {259, 85, 1280, 4369, 0, 0, 0}, {34, 512, 1024, 0, 0, 0, 0}, {15, 771, 4112, 0, 0, 0, 0}, {1036, 9252, 17476, 0, 0, 0, 0}, {15, 4133, 768, 85, 1280, 0, 0}, {1548, 9766, 16448, 0, 0, 0, 0}, {15, 4135, 768, 4176, 1024, 0, 0}, {136, 8232, 1024, 0, 0, 0, 0}, {15, 771, 85, 1280, 4117, 0, 0}, {170, 1536, 16426, 0, 0, 0, 0}, {15, 119, 771, 1027, 4119, 0, 0}, {3084, 8224, 16448, 0, 0, 0, 0}, {15, 34, 85, 256, 0, 0, 0}, {1036, 34, 512, 17476, 0, 0, 0}, {15, 4128, 768, 20560, 0, 0, 0}, {7168, 4144, 20480, 0, 0, 0, 0}, {1049, 34, 514, 85, 4369, 0, 0}, {1050, 34, 514, 1088, 4112, 0, 0}, {7936, 4915, 16384, 0, 0, 0, 0}, {4104, 1076, 5188, 0, 0, 0, 0}, {4874, 1589, 85, 0, 0, 0, 0}, {4106, 1590, 4176, 0, 0, 0, 0}, {4872, 1079, 1088, 0, 0, 0, 0}, {4152, 12336, 4160, 5120, 0, 0, 0}, {4921, 13107, 85, 5376, 0, 0, 0}, {90, 4192, 5632, 20560, 0, 0, 0}, {1100, 119, 5888, 17476, 0, 0, 0}, {240, 3132, 4096, 0, 0, 0, 0}, {34, 514, 85, 1045, 4352, 0, 0}, {90, 34, 514, 1046, 4098, 0, 0}, {255, 4864, 16447, 0, 0, 0, 0}, {8320, 11328, 16448, 0, 0, 0, 0}, {34, 785, 276, 4369, 0, 0, 0}, {1096, 34, 1602, 17408, 0, 0, 0}, {15, 4208, 4931, 20480, 0, 0, 0}, {2048, 8192, 1092, 0, 0, 0, 0}, {15, 816, 85, 1285, 4112, 0, 0}, {1644, 8224, 17990, 0, 0, 0, 0}, {15, 4144, 4864, 4167, 5120, 0, 0}, {1096, 8192, 17408, 0, 0, 0, 0}, {15, 4128, 4883, 85, 1285, 0, 0}, {2570, 1632, 16448, 0, 0, 0, 0}, {15, 1075, 1792, 1092, 4096, 0, 0}, {16512, 19532, 24576, 0, 0, 0, 0}, {279, 85, 1285, 4352, 0, 0, 0}, {522, 34, 1092, 0, 0, 0, 0}, {15, 816, 4160, 0, 0, 0, 0}, {3072, 12288, 4176, 0, 0, 0, 0}, {520, 34, 85, 1028, 4369, 0, 0}, {4104, 34, 4608, 4178, 5120, 0, 0}, {4972, 13107, 21331, 0, 0, 0, 0}, {120, 1028, 4112, 0, 0, 0, 0}, {4864, 85, 5376, 0, 0, 0, 0}, {90, 4144, 1622, 20480, 0, 0, 0}, {1032, 119, 4951, 17408, 0, 0, 0}, {1032, 4128, 5200, 0, 0, 0, 0}, {1548, 4915, 85, 0, 0, 0, 0}, {90, 1536, 4096, 0, 0, 0, 0}, {119, 4883, 1028, 0, 0, 0, 0}, {3084, 4192, 20560, 0, 0, 0, 0}, {1032, 34, 1536, 85, 4352, 0, 0}, {4122, 34, 4626, 4160, 1028, 0, 0}, {4959, 13056, 16384, 0, 0, 0, 0}, {16576, 19456, 24672, 0, 0, 0, 0}, {278, 85, 1280, 4369, 0, 0, 0}, {520, 34, 1088, 0, 0, 0, 0}, {15, 819, 4176, 0, 0, 0, 0}, {1100, 8224, 17476, 0, 0, 0, 0}, {15, 4144, 4864, 85, 1280, 0, 0}, {2560, 1638, 16384, 0, 0, 0, 0}, {15, 1079, 1799, 1088, 4112, 0, 0}, {2056, 8224, 1088, 0, 0, 0, 0}, {15, 819, 85, 1280, 4096, 0, 0}, {1642, 8192, 17920, 0, 0, 0, 0}, {15, 4128, 4883, 4183, 5140, 0, 0}, {8352, 11372, 16384, 0, 0, 0, 0}, {34, 786, 277, 4352, 0, 0, 0}, {1100, 34, 1604, 17476, 0, 0, 0}, {15, 4192, 4944, 20560, 0, 0, 0}, {3072, 4208, 20480, 0, 0, 0, 0}, {1036, 34, 1542, 85, 4369, 0, 0}, {4106, 34, 4608, 4176, 1024, 0, 0}, {4940, 13107, 16448, 0, 0, 0, 0}, {1036, 4144, 5188, 0, 0, 0, 0}, {1546, 4896, 85, 0, 0, 0, 0}, {90, 1542, 4112, 0, 0, 0, 0}, {119, 4864, 1024, 0, 0, 0, 0}, {120, 1024, 4096, 0, 0, 0, 0}, {4883, 85, 5397, 0, 0, 0, 0}, {90, 4128, 1616, 20560, 0, 0, 0}, {1036, 119, 4932, 17476, 0, 0, 0}, {3084, 12336, 4160, 0, 0, 0, 0}, {522, 34, 85, 1024, 4352, 0, 0}, {4120, 34, 4626, 4162, 5140, 0, 0}, {4991, 13056, 21248, 0, 0, 0, 0}, {16512, 3072, 24576, 0, 0, 0, 0}, {262, 85, 1285, 4369, 0, 0, 0}, {522, 34, 1024, 0, 0, 0, 0}, {15, 771, 4160, 0, 0, 0, 0}, {1036, 8192, 17476, 0, 0, 0, 0}, {15, 4128, 768, 85, 1285, 0, 0}, {170, 1542, 16448, 0, 0, 0, 0}, {15, 119, 768, 1024, 4096, 0, 0}, {136, 8192, 1024, 0, 0, 0, 0}, {15, 771, 85, 1285, 4112, 0, 0}, {1546, 8224, 17952, 0, 0, 0, 0}, {15, 4144, 771, 4167, 1027, 0, 0}, {8320, 3084, 16448, 0, 0, 0, 0}, {34, 768, 261, 4352, 0, 0, 0}, {1036, 34, 1542, 17476, 0, 0, 0}, {15, 4208, 768, 20480, 0, 0, 0}, {7248, 4192, 20560, 0, 0, 0, 0}, {1049, 34, 1553, 85, 4369, 0, 0}, {4122, 34, 4626, 4160, 5120, 0, 0}, {4972, 13107, 16384, 0, 0, 0, 0}, {4184, 4128, 5140, 0, 0, 0, 0}, {5439, 4864, 85, 0, 0, 0, 0}, {90, 1638, 4096, 0, 0, 0, 0}, {1079, 5911, 1088, 0, 0, 0, 0}, {1080, 1088, 4112, 0, 0, 0, 0}, {4915, 85, 5376, 0, 0, 0, 0}, {90, 4144, 5632, 20480, 0, 0, 0}, {1100, 119, 4883, 17476, 0, 0, 0}, {3132, 12288, 4176, 0, 0, 0, 0}, {520, 34, 85, 1045, 4352, 0, 0}, {4104, 34, 4608, 4178, 1046, 0, 0}, {4959, 13056, 21344, 0, 0, 0, 0}, {8352, 3072, 16384, 0, 0, 0, 0}, {34, 771, 260, 4369, 0, 0, 0}, {1032, 34, 1536, 17408, 0, 0, 0}, {15, 4192, 771, 20560, 0, 0, 0}, {136, 8224, 1028, 0, 0, 0, 0}, {15, 768, 85, 1280, 4096, 0, 0}, {1548, 8192, 18022, 0, 0, 0, 0}, {15, 4128, 768, 4183, 1031, 0, 0}, {1032, 8224, 17408, 0, 0, 0, 0}, {15, 4144, 771, 85, 1280, 0, 0}, {170, 1536, 16384, 0, 0, 0, 0}, {15, 119, 771, 1028, 4112, 0, 0}, {16576, 3084, 24672, 0, 0, 0, 0}, {263, 85, 1280, 4352, 0, 0, 0}, {520, 34, 1028, 0, 0, 0, 0}, {15, 768, 4176, 0, 0, 0, 0}, {3120, 12336, 4160, 0, 0, 0, 0}, {522, 34, 85, 1041, 4369, 0, 0}, {4120, 34, 4626, 4162, 1042, 0, 0}, {4940, 13107, 21299, 0, 0, 0, 0}, {1084, 1092, 4096, 0, 0, 0, 0}, {4896, 85, 5397, 0, 0, 0, 0}, {90, 4128, 5654, 20560, 0, 0, 0}, {1096, 119, 4864, 17408, 0, 0, 0}, {4168, 4144, 5120, 0, 0, 0, 0}, {5418, 4883, 85, 0, 0, 0, 0}, {90, 1632, 4112, 0, 0, 0, 0}, {1075, 5888, 1092, 0, 0, 0, 0}, {7244, 4208, 20480, 0, 0, 0, 0}, {1053, 34, 1559, 85, 4352, 0, 0}, {4106, 34, 4608, 4176, 5140, 0, 0}, {4991, 13056, 16448, 0, 0, 0, 0}, {16576, 19456, 8192, 0, 0, 0, 0}, {275, 85, 1285, 4369, 0, 0, 0}, {34, 514, 1088, 0, 0, 0, 0}, {15, 819, 4096, 0, 0, 0, 0}, {1100, 9284, 17476, 0, 0, 0, 0}, {15, 4149, 4869, 85, 1285, 0, 0}, {1644, 9830, 16384, 0, 0, 0, 0}, {15, 4151, 4871, 4160, 5120, 0, 0}, {2056, 8200, 1088, 0, 0, 0, 0}, {15, 819, 85, 1285, 4101, 0, 0}, {2570, 1632, 17930, 0, 0, 0, 0}, {15, 1076, 1799, 1091, 4103, 0, 0}, {3276, 8192, 16384, 0, 0, 0, 0}, {15, 514, 1285, 272, 0, 0, 0}, {1100, 34, 514, 17476, 0, 0, 0}, {15, 4144, 4864, 20480, 0, 0, 0}, {3072, 4128, 20560, 0, 0, 0, 0}, {1036, 34, 512, 85, 4369, 0, 0}, {90, 34, 512, 1024, 4096, 0, 0}, {255, 4883, 16448, 0, 0, 0, 0}, {4120, 4192, 5140, 0, 0, 0, 0}, {5418, 1536, 85, 0, 0, 0, 0}, {4122, 5654, 4160, 0, 0, 0, 0}, {4959, 119, 1024, 0, 0, 0, 0}, {4136, 12288, 4176, 1024, 0, 0, 0}, {4889, 13107, 85, 5397, 0, 0, 0}, {90, 4208, 1536, 20480, 0, 0, 0}, {1036, 119, 5911, 17476, 0, 0, 0}, {240, 3084, 4112, 0, 0, 0, 0}, {34, 512, 85, 1024, 4352, 0, 0}, {1036, 34, 512, 1110, 4114, 0, 0}, {3072, 4896, 21343, 0, 0, 0, 0}, {3264, 8224, 16448, 0, 0, 0, 0}, {15, 512, 1280, 273, 0, 0, 0}, {1096, 34, 512, 17408, 0, 0, 0}, {15, 4128, 4883, 20560, 0, 0, 0}, {2048, 8232, 1092, 0, 0, 0, 0}, {15, 816, 85, 1280, 4117, 0, 0}, {2560, 1638, 17996, 0, 0, 0, 0}, {15, 1072, 1792, 1095, 4119, 0, 0}, {1096, 9312, 17408, 0, 0, 0, 0}, {15, 4133, 4886, 85, 1280, 0, 0}, {1642, 9792, 16448, 0, 0, 0, 0}, {15, 4135, 4884, 4176, 5140, 0, 0}, {16512, 19532, 8224, 0, 0, 0, 0}, {274, 85, 1280, 4352, 0, 0, 0}, {34, 512, 1092, 0, 0, 0, 0}, {15, 816, 4112, 0, 0, 0, 0}, {240, 3072, 4096, 0, 0, 0, 0}, {34, 514, 85, 1028, 4369, 0, 0}, {1032, 34, 514, 1106, 4098, 0, 0}, {3084, 4915, 21260, 0, 0, 0, 0}, {4152, 12336, 4160, 1028, 0, 0, 0}, {4874, 13056, 85, 5376, 0, 0, 0}, {90, 4192, 1542, 20560, 0, 0, 0}, {1032, 119, 5888, 17408, 0, 0, 0}, {4104, 4208, 5120, 0, 0, 0, 0}, {5439, 1542, 85, 0, 0, 0, 0}, {4106, 5632, 4176, 0, 0, 0, 0}, {4940, 119, 1028, 0, 0, 0, 0}, {3084, 4144, 20480, 0, 0, 0, 0}, {1032, 34, 514, 85, 4352, 0, 0}, {90, 34, 514, 1028, 4112, 0, 0}, {255, 4864, 16384, 0, 0, 0, 0}, {3840, 8704, 21760, 0, 0, 0, 0}, {12, 32, 64, 257, 0, 0, 0}, {1290, 32, 514, 20480, 0, 0, 0}, {12, 4403, 771, 17408, 0, 0, 0}, {12, 768, 64, 1028, 4356, 0, 0}, {160, 8714, 1285, 0, 0, 0, 0}, {12, 96, 768, 1286, 4358, 0, 0}, {128, 1799, 21887, 0, 0, 0, 0}, {1800, 9472, 21760, 0, 0, 0, 0}, {12, 4405, 771, 4437, 1285, 0, 0}, {1290, 9984, 20480, 0, 0, 0, 0}, {12, 4407, 771, 64, 1028, 0, 0}, {12, 768, 4352, 0, 0, 0, 0}, {32, 514, 1285, 0, 0, 0, 0}, {258, 64, 1028, 4096, 0, 0, 0}, {22015, 3855, 8704, 0, 0, 0, 0}, {32, 512, 64, 1296, 4112, 0, 0}, {204, 3891, 4369, 0, 0, 0, 0}, {192, 4626, 21866, 0, 0, 0, 0}, {76, 32, 512, 1299, 4371, 0, 0}, {4392, 13056, 4420, 5140, 0, 0, 0}, {4650, 12288, 64, 5397, 0, 0, 0}, {76, 4454, 5654, 17408, 0, 0, 0}, {1375, 96, 5911, 20480, 0, 0, 0}, {4632, 1328, 1360, 0, 0, 0, 0}, {4377, 1843, 4437, 0, 0, 0, 0}, {4634, 1840, 64, 0, 0, 0, 0}, {4379, 1331, 5188, 0, 0, 0, 0}, {1308, 32, 512, 1360, 4352, 0, 0}, {7453, 4642, 21845, 0, 0, 0, 0}, {7710, 4386, 17476, 0, 0, 0, 0}, {1311, 32, 512, 64, 4096, 0, 0}, {32, 512, 1280, 0, 0, 0, 0}, {12, 771, 4369, 0, 0, 0, 0}, {21930, 3840, 8738, 0, 0, 0, 0}, {259, 64, 1024, 4112, 0, 0, 0}, {12, 4388, 768, 4420, 1280, 0, 0}, {1807, 9509, 21845, 0, 0, 0, 0}, {12, 4390, 768, 64, 1024, 0, 0}, {1295, 10023, 20560, 0, 0, 0, 0}, {160, 8744, 1280, 0, 0, 0, 0}, {12, 771, 64, 1024, 4373, 0, 0}, {128, 1792, 21802, 0, 0, 0, 0}, {12, 96, 771, 1283, 4375, 0, 0}, {12, 32, 64, 256, 0, 0, 0}, {3855, 8738, 21845, 0, 0, 0, 0}, {12, 4386, 768, 17476, 0, 0, 0}, {1295, 32, 512, 20560, 0, 0, 0}, {7424, 4656, 21760, 0, 0, 0, 0}, {1305, 32, 514, 1365, 4369, 0, 0}, {1306, 32, 514, 64, 4112, 0, 0}, {7680, 4403, 17408, 0, 0, 0, 0}, {4360, 1844, 4420, 0, 0, 0, 0}, {4618, 1333, 1365, 0, 0, 0, 0}, {4362, 1334, 5200, 0, 0, 0, 0}, {4616, 1847, 64, 0, 0, 0, 0}, {4664, 12336, 64, 5376, 0, 0, 0}, {4409, 13107, 4437, 5120, 0, 0, 0}, {1370, 96, 5888, 20560, 0, 0, 0}, {76, 4471, 5632, 17476, 0, 0, 0}, {204, 3900, 4352, 0, 0, 0, 0}, {32, 514, 64, 1301, 4096, 0, 0}, {76, 32, 514, 1302, 4354, 0, 0}, {192, 4608, 21823, 0, 0, 0, 0}, {4608, 64, 5376, 0, 0, 0, 0}, {108, 1285, 4369, 0, 0, 0, 0}, {1290, 96, 4674, 20480, 0, 0, 0}, {76, 4403, 1859, 17408, 0, 0, 0}, {3840, 13056, 4420, 0, 0, 0, 0}, {522, 32, 64, 1285, 4112, 0, 0}, {4362, 32, 4864, 4422, 5120, 0, 0}, {4728, 12336, 18247, 0, 0, 0, 0}, {4680, 12288, 21760, 0, 0, 0, 0}, {4377, 32, 4883, 4437, 1285, 0, 0}, {1290, 32, 1792, 64, 4096, 0, 0}, {3855, 4471, 17476, 0, 0, 0, 0}, {76, 1792, 4352, 0, 0, 0, 0}, {96, 4626, 1285, 0, 0, 0, 0}, {1290, 4386, 5188, 0, 0, 0, 0}, {1807, 4656, 64, 0, 0, 0, 0}, {2560, 8704, 1360, 0, 0, 0, 0}, {12, 819, 64, 1028, 4369, 0, 0}, {1912, 8738, 21074, 0, 0, 0, 0}, {12, 4403, 4608, 4435, 5120, 0, 0}, {32, 784, 276, 4112, 0, 0, 0}, {8874, 11605, 21845, 0, 0, 0, 0}, {12, 4454, 4694, 17408, 0, 0, 0}, {1375, 32, 1879, 20480, 0, 0, 0}, {520, 32, 1360, 0, 0, 0, 0}, {12, 819, 4437, 0, 0, 0, 0}, {21930, 23130, 30464, 0, 0, 0, 0}, {279, 64, 1028, 4096, 0, 0, 0}, {12, 1328, 1536, 1360, 4352, 0, 0}, {2056, 1911, 21845, 0, 0, 0, 0}, {12, 4386, 4626, 64, 1028, 0, 0}, {1375, 8704, 20480, 0, 0, 0, 0}, {96, 4608, 1280, 0, 0, 0, 0}, {76, 1799, 4369, 0, 0, 0, 0}, {1800, 4642, 64, 0, 0, 0, 0}, {1295, 4403, 5200, 0, 0, 0, 0}, {4360, 32, 4864, 4420, 1280, 0, 0}, {4698, 12336, 21845, 0, 0, 0, 0}, {3840, 4454, 17408, 0, 0, 0, 0}, {1295, 32, 1799, 64, 4112, 0, 0}, {520, 32, 64, 1280, 4096, 0, 0}, {3855, 13107, 4437, 0, 0, 0, 0}, {4714, 12288, 18176, 0, 0, 0, 0}, {4379, 32, 4883, 4439, 5140, 0, 0}, {108, 1280, 4352, 0, 0, 0, 0}, {4626, 64, 5397, 0, 0, 0, 0}, {76, 4386, 1860, 17476, 0, 0, 0}, {1295, 96, 4688, 20560, 0, 0, 0}, {2048, 1904, 21760, 0, 0, 0, 0}, {12, 1333, 1542, 1365, 4369, 0, 0}, {1370, 8738, 20560, 0, 0, 0, 0}, {12, 4403, 4608, 64, 1024, 0, 0}, {12, 816, 4420, 0, 0, 0, 0}, {522, 32, 1365, 0, 0, 0, 0}, {278, 64, 1024, 4112, 0, 0, 0}, {22015, 23040, 30583, 0, 0, 0, 0}, {8840, 11640, 21760, 0, 0, 0, 0}, {32, 787, 277, 4096, 0, 0, 0}, {1370, 32, 1872, 20560, 0, 0, 0}, {12, 4471, 4676, 17476, 0, 0, 0}, {12, 816, 64, 1024, 4352, 0, 0}, {2570, 8738, 1365, 0, 0, 0, 0}, {12, 4386, 4626, 4418, 5140, 0, 0}, {1919, 8704, 20992, 0, 0, 0, 0}, {128, 1792, 21760, 0, 0, 0, 0}, {12, 96, 771, 1285, 4369, 0, 0}, {1290, 8738, 20480, 0, 0, 0, 0}, {12, 4403, 771, 64, 1024, 0, 0}, {12, 768, 4420, 0, 0, 0, 0}, {522, 32, 1285, 0, 0, 0, 0}, {262, 64, 1024, 4096, 0, 0, 0}, {22015, 3855, 30583, 0, 0, 0, 0}, {8840, 3840, 21760, 0, 0, 0, 0}, {32, 771, 261, 4112, 0, 0, 0}, {1290, 32, 1792, 20480, 0, 0, 0}, {12, 4471, 771, 17476, 0, 0, 0}, {12, 768, 64, 1024, 4352, 0, 0}, {160, 8738, 1285, 0, 0, 0, 0}, {12, 4386, 768, 4418, 1286, 0, 0}, {1807, 8704, 21104, 0, 0, 0, 0}, {1328, 5888, 1360, 0, 0, 0, 0}, {76, 1911, 4369, 0, 0, 0, 0}, {5418, 4626, 64, 0, 0, 0, 0}, {4447, 4403, 5120, 0, 0, 0, 0}, {4360, 32, 4864, 4420, 5140, 0, 0}, {4714, 12288, 21845, 0, 0, 0, 0}, {7770, 4454, 17408, 0, 0, 0, 0}, {1311, 32, 1815, 64, 4096, 0, 0}, {520, 32, 64, 1296, 4112, 0, 0}, {3891, 13107, 4437, 0, 0, 0, 0}, {4698, 12336, 18224, 0, 0, 0, 0}, {4379, 32, 4883, 4439, 1299, 0, 0}, {1340, 1360, 4352, 0, 0, 0, 0}, {4642, 64, 5397, 0, 0, 0, 0}, {76, 4386, 5654, 17476, 0, 0, 0}, {1375, 96, 4608, 20480, 0, 0, 0}, {160, 8704, 1280, 0, 0, 0, 0}, {12, 771, 64, 1028, 4369, 0, 0}, {1800, 8738, 21026, 0, 0, 0, 0}, {12, 4403, 771, 4435, 1283, 0, 0}, {32, 768, 260, 4096, 0, 0, 0}, {8874, 3855, 21845, 0, 0, 0, 0}, {12, 4454, 768, 17408, 0, 0, 0}, {1295, 32, 1799, 20560, 0, 0, 0}, {520, 32, 1280, 0, 0, 0, 0}, {12, 771, 4437, 0, 0, 0, 0}, {21930, 3840, 30464, 0, 0, 0, 0}, {263, 64, 1028, 4112, 0, 0, 0}, {12, 96, 768, 1280, 4352, 0, 0}, {128, 1799, 21845, 0, 0, 0, 0}, {12, 4386, 768, 64, 1028, 0, 0}, {1295, 8704, 20560, 0, 0, 0, 0}, {4656, 64, 5376, 0, 0, 0, 0}, {1337, 1365, 4369, 0, 0, 0, 0}, {1370, 96, 4626, 20560, 0, 0, 0}, {76, 4403, 5632, 17408, 0, 0, 0}, {3900, 13056, 4420, 0, 0, 0, 0}, {522, 32, 64, 1301, 4096, 0, 0}, {4362, 32, 4864, 4422, 1302, 0, 0}, {4680, 12288, 18295, 0, 0, 0, 0}, {4728, 12336, 21760, 0, 0, 0, 0}, {4377, 32, 4883, 4437, 5120, 0, 0}, {1306, 32, 1808, 64, 4112, 0, 0}, {7748, 4471, 17476, 0, 0, 0, 0}, {76, 1904, 4352, 0, 0, 0, 0}, {1333, 5911, 1365, 0, 0, 0, 0}, {4430, 4386, 5140, 0, 0, 0, 0}, {5439, 4608, 64, 0, 0, 0, 0}, {192, 4608, 21760, 0, 0, 0, 0}, {76, 32, 514, 1285, 4369, 0, 0}, {1290, 32, 514, 64, 4096, 0, 0}, {3855, 4403, 17408, 0, 0, 0, 0}, {4360, 5632, 4420, 0, 0, 0, 0}, {4698, 96, 1285, 0, 0, 0, 0}, {4362, 4454, 5120, 0, 0, 0, 0}, {5439, 1799, 64, 0, 0, 0, 0}, {4616, 12288, 64, 5376, 0, 0, 0}, {4409, 13107, 4437, 1285, 0, 0, 0}, {1290, 96, 5888, 20480, 0, 0, 0}, {76, 4471, 1799, 17476, 0, 0, 0}, {204, 3840, 4352, 0, 0, 0, 0}, {32, 514, 64, 1285, 4112, 0, 0}, {1290, 32, 514, 1350, 4354, 0, 0}, {3855, 4656, 18191, 0, 0, 0, 0}, {32, 512, 1360, 0, 0, 0, 0}, {12, 819, 4369, 0, 0, 0, 0}, {21930, 23130, 8738, 0, 0, 0, 0}, {275, 64, 1024, 4096, 0, 0, 0}, {12, 4388, 4628, 4420, 5140, 0, 0}, {1919, 9557, 21845, 0, 0, 0, 0}, {12, 4390, 4630, 64, 1024, 0, 0}, {1375, 10103, 20480, 0, 0, 0, 0}, {2560, 8744, 1360, 0, 0, 0, 0}, {12, 819, 64, 1024, 4373, 0, 0}, {2048, 1904, 21082, 0, 0, 0, 0}, {12, 1331, 1536, 1363, 4375, 0, 0}, {12, 512, 1024, 272, 0, 0, 0}, {4095, 8738, 21845, 0, 0, 0, 0}, {12, 4386, 4626, 17476, 0, 0, 0}, {1375, 32, 512, 20480, 0, 0, 0}, {32, 512, 64, 1280, 4096, 0, 0}, {204, 3855, 4369, 0, 0, 0, 0}, {3840, 4642, 18248, 0, 0, 0, 0}, {1295, 32, 512, 1347, 4371, 0, 0}, {4392, 13056, 4420, 1280, 0, 0, 0}, {4634, 12336, 64, 5397, 0, 0, 0}, {76, 4454, 1792, 17408, 0, 0, 0}, {1295, 96, 5911, 20560, 0, 0, 0}, {4680, 96, 1280, 0, 0, 0, 0}, {4377, 5654, 4437, 0, 0, 0, 0}, {5418, 1792, 64, 0, 0, 0, 0}, {4379, 4471, 5140, 0, 0, 0, 0}, {76, 32, 512, 1280, 4352, 0, 0}, {192, 4626, 21845, 0, 0, 0, 0}, {3840, 4386, 17476, 0, 0, 0, 0}, {1295, 32, 512, 64, 4112, 0, 0}, {4080, 8704, 21760, 0, 0, 0, 0}, {12, 514, 1028, 273, 0, 0, 0}, {1370, 32, 514, 20560, 0, 0, 0}, {12, 4403, 4608, 17408, 0, 0, 0}, {12, 816, 64, 1028, 4356, 0, 0}, {2570, 8714, 1365, 0, 0, 0, 0}, {12, 1334, 1542, 1366, 4358, 0, 0}, {2056, 1911, 21000, 0, 0, 0, 0}, {1912, 9584, 21760, 0, 0, 0, 0}, {12, 4405, 4614, 4437, 5120, 0, 0}, {1370, 10064, 20560, 0, 0, 0, 0}, {12, 4407, 4612, 64, 1028, 0, 0}, {12, 816, 4352, 0, 0, 0, 0}, {32, 514, 1365, 0, 0, 0, 0}, {274, 64, 1028, 4112, 0, 0, 0}, {22015, 23040, 8704, 0, 0, 0, 0}, {3072, 8704, 17408, 0, 0, 0, 0}, {15, 32, 80, 257, 0, 0, 0}, {1032, 32, 514, 16384, 0, 0, 0}, {15, 4403, 771, 21760, 0, 0, 0}, {128, 8712, 1028, 0, 0, 0, 0}, {15, 768, 80, 1285, 4357, 0, 0}, {160, 1542, 17516, 0, 0, 0, 0}, {15, 112, 768, 1031, 4359, 0, 0}, {1032, 9728, 16384, 0, 0, 0, 0}, {15, 4406, 771, 80, 1285, 0, 0}, {1546, 9216, 17408, 0, 0, 0, 0}, {15, 4404, 771, 4420, 1028, 0, 0}, {17612, 3084, 8704, 0, 0, 0, 0}, {258, 80, 1285, 4096, 0, 0, 0}, {32, 514, 1028, 0, 0, 0, 0}, {15, 768, 4352, 0, 0, 0, 0}, {32, 512, 80, 1040, 4112, 0, 0}, {255, 3123, 4369, 0, 0, 0, 0}, {240, 4626, 17528, 0, 0, 0, 0}, {95, 32, 512, 1043, 4371, 0, 0}, {4648, 12288, 80, 5140, 0, 0, 0}, {4394, 13056, 4437, 5397, 0, 0, 0}, {1100, 112, 5654, 16384, 0, 0, 0}, {95, 4471, 5911, 21760, 0, 0, 0}, {4632, 1584, 80, 0, 0, 0, 0}, {4377, 1075, 5461, 0, 0, 0, 0}, {4634, 1072, 1088, 0, 0, 0, 0}, {4379, 1587, 4420, 0, 0, 0, 0}, {1052, 32, 512, 80, 4096, 0, 0}, {7453, 4386, 21845, 0, 0, 0, 0}, {7710, 4642, 17476, 0, 0, 0, 0}, {1055, 32, 512, 1088, 4352, 0, 0}, {32, 512, 1024, 0, 0, 0, 0}, {15, 771, 4369, 0, 0, 0, 0}, {17544, 3072, 8738, 0, 0, 0, 0}, {259, 80, 1280, 4112, 0, 0, 0}, {1548, 9252, 17476, 0, 0, 0, 0}, {15, 4389, 768, 4437, 1024, 0, 0}, {1036, 9766, 16448, 0, 0, 0, 0}, {15, 4391, 768, 80, 1280, 0, 0}, {160, 1536, 17448, 0, 0, 0, 0}, {15, 112, 771, 1027, 4374, 0, 0}, {128, 8746, 1024, 0, 0, 0, 0}, {15, 771, 80, 1280, 4372, 0, 0}, {1036, 32, 512, 16448, 0, 0, 0}, {15, 4386, 768, 21845, 0, 0, 0}, {3084, 8738, 17476, 0, 0, 0, 0}, {15, 32, 80, 256, 0, 0, 0}, {7680, 4656, 17408, 0, 0, 0, 0}, {1051, 32, 514, 1092, 4369, 0, 0}, {1048, 32, 514, 80, 4112, 0, 0}, {7424, 4403, 21760, 0, 0, 0, 0}, {4616, 1076, 1092, 0, 0, 0, 0}, {4362, 1589, 4437, 0, 0, 0, 0}, {4618, 1590, 80, 0, 0, 0, 0}, {4360, 1079, 5440, 0, 0, 0, 0}, {1096, 112, 5632, 16448, 0, 0, 0}, {95, 4454, 5888, 21845, 0, 0, 0}, {4666, 12336, 80, 5120, 0, 0, 0}, {4411, 13107, 4420, 5376, 0, 0, 0}, {240, 4608, 17468, 0, 0, 0, 0}, {95, 32, 514, 1047, 4354, 0, 0}, {32, 514, 80, 1044, 4096, 0, 0}, {255, 3135, 4352, 0, 0, 0, 0}, {2048, 8704, 1088, 0, 0, 0, 0}, {15, 819, 80, 1285, 4369, 0, 0}, {1642, 8738, 16962, 0, 0, 0, 0}, {15, 4403, 4608, 4419, 5376, 0, 0}, {8840, 11844, 17476, 0, 0, 0, 0}, {32, 784, 277, 4112, 0, 0, 0}, {1100, 32, 1606, 16384, 0, 0, 0}, {15, 4471, 4679, 21760, 0, 0, 0}, {17544, 18504, 26112, 0, 0, 0, 0}, {278, 80, 1285, 4096, 0, 0, 0}, {522, 32, 1088, 0, 0, 0, 0}, {15, 819, 4420, 0, 0, 0, 0}, {1100, 8704, 16384, 0, 0, 0, 0}, {15, 4386, 4626, 80, 1285, 0, 0}, {2570, 1638, 17476, 0, 0, 0, 0}, {15, 1072, 1792, 1088, 4352, 0, 0}, {4608, 80, 5120, 0, 0, 0, 0}, {127, 1028, 4369, 0, 0, 0, 0}, {1032, 112, 4690, 16384, 0, 0, 0}, {95, 4403, 1619, 21760, 0, 0, 0}, {520, 32, 80, 1028, 4112, 0, 0}, {3072, 13056, 4437, 0, 0, 0, 0}, {4714, 12336, 22102, 0, 0, 0, 0}, {4360, 32, 4864, 4439, 5376, 0, 0}, {1032, 32, 1536, 80, 4096, 0, 0}, {3084, 4454, 21845, 0, 0, 0, 0}, {4698, 12288, 17408, 0, 0, 0, 0}, {4379, 32, 4883, 4420, 1028, 0, 0}, {1548, 4656, 80, 0, 0, 0, 0}, {1032, 4386, 5461, 0, 0, 0, 0}, {112, 4626, 1028, 0, 0, 0, 0}, {95, 1536, 4352, 0, 0, 0, 0}, {2560, 1632, 17408, 0, 0, 0, 0}, {15, 1076, 1799, 1092, 4369, 0, 0}, {1096, 8738, 16448, 0, 0, 0, 0}, {15, 4403, 4608, 80, 1280, 0, 0}, {520, 32, 1092, 0, 0, 0, 0}, {15, 816, 4437, 0, 0, 0, 0}, {17612, 18432, 26214, 0, 0, 0, 0}, {279, 80, 1280, 4112, 0, 0, 0}, {1096, 32, 1600, 16448, 0, 0, 0}, {15, 4454, 4693, 21845, 0, 0, 0}, {8874, 11882, 17408, 0, 0, 0, 0}, {32, 787, 276, 4096, 0, 0, 0}, {1644, 8704, 16896, 0, 0, 0, 0}, {15, 4386, 4626, 4434, 5397, 0, 0}, {2056, 8738, 1092, 0, 0, 0, 0}, {15, 816, 80, 1280, 4352, 0, 0}, {112, 4608, 1024, 0, 0, 0, 0}, {95, 1542, 4369, 0, 0, 0, 0}, {1546, 4642, 80, 0, 0, 0, 0}, {1036, 4403, 5440, 0, 0, 0, 0}, {4680, 12336, 17476, 0, 0, 0, 0}, {4362, 32, 4864, 4437, 1024, 0, 0}, {1036, 32, 1542, 80, 4112, 0, 0}, {3072, 4471, 21760, 0, 0, 0, 0}, {4728, 12288, 22016, 0, 0, 0, 0}, {4377, 32, 4883, 4422, 5397, 0, 0}, {522, 32, 80, 1024, 4096, 0, 0}, {3084, 13107, 4420, 0, 0, 0, 0}, {1036, 112, 4672, 16448, 0, 0, 0}, {95, 4386, 1621, 21845, 0, 0, 0}, {4626, 80, 5140, 0, 0, 0, 0}, {127, 1024, 4352, 0, 0, 0, 0}, {128, 8704, 1024, 0, 0, 0, 0}, {15, 771, 80, 1285, 4369, 0, 0}, {1546, 8738, 16930, 0, 0, 0, 0}, {15, 4403, 771, 4419, 1027, 0, 0}, {8840, 3084, 17476, 0, 0, 0, 0}, {32, 768, 261, 4096, 0, 0, 0}, {1036, 32, 1542, 16448, 0, 0, 0}, {15, 4471, 768, 21760, 0, 0, 0}, {17544, 3072, 26112, 0, 0, 0, 0}, {262, 80, 1285, 4112, 0, 0, 0}, {522, 32, 1024, 0, 0, 0, 0}, {15, 771, 4420, 0, 0, 0, 0}, {1036, 8704, 16448, 0, 0, 0, 0}, {15, 4386, 768, 80, 1285, 0, 0}, {160, 1542, 17476, 0, 0, 0, 0}, {15, 112, 768, 1024, 4352, 0, 0}, {4656, 80, 5120, 0, 0, 0, 0}, {1083, 1092, 4369, 0, 0, 0, 0}, {1096, 112, 4626, 16448, 0, 0, 0}, {95, 4403, 5888, 21760, 0, 0, 0}, {520, 32, 80, 1044, 4096, 0, 0}, {3135, 13056, 4437, 0, 0, 0, 0}, {4698, 12288, 22118, 0, 0, 0, 0}, {4360, 32, 4864, 4439, 1047, 0, 0}, {1048, 32, 1552, 80, 4112, 0, 0}, {7509, 4454, 21845, 0, 0, 0, 0}, {4714, 12336, 17408, 0, 0, 0, 0}, {4379, 32, 4883, 4420, 5376, 0, 0}, {5180, 4608, 80, 0, 0, 0, 0}, {4445, 4386, 5397, 0, 0, 0, 0}, {1076, 5654, 1092, 0, 0, 0, 0}, {95, 1632, 4352, 0, 0, 0, 0}, {160, 1536, 17408, 0, 0, 0, 0}, {15, 112, 771, 1028, 4369, 0, 0}, {1032, 8738, 16384, 0, 0, 0, 0}, {15, 4403, 771, 80, 1280, 0, 0}, {520, 32, 1028, 0, 0, 0, 0}, {15, 768, 4437, 0, 0, 0, 0}, {17612, 3084, 26214, 0, 0, 0, 0}, {263, 80, 1280, 4096, 0, 0, 0}, {1032, 32, 1536, 16384, 0, 0, 0}, {15, 4454, 771, 21845, 0, 0, 0}, {8874, 3072, 17408, 0, 0, 0, 0}, {32, 771, 260, 4112, 0, 0, 0}, {1548, 8704, 16992, 0, 0, 0, 0}, {15, 4386, 768, 4434, 1031, 0, 0}, {128, 8738, 1028, 0, 0, 0, 0}, {15, 768, 80, 1280, 4352, 0, 0}, {1072, 5632, 1088, 0, 0, 0, 0}, {95, 1638, 4369, 0, 0, 0, 0}, {5160, 4626, 80, 0, 0, 0, 0}, {4428, 4403, 5376, 0, 0, 0, 0}, {4728, 12288, 17476, 0, 0, 0, 0}, {4362, 32, 4864, 4437, 5397, 0, 0}, {1052, 32, 1558, 80, 4096, 0, 0}, {7496, 4471, 21760, 0, 0, 0, 0}, {4680, 12336, 22064, 0, 0, 0, 0}, {4377, 32, 4883, 4422, 1043, 0, 0}, {522, 32, 80, 1040, 4112, 0, 0}, {3123, 13107, 4420, 0, 0, 0, 0}, {1100, 112, 4608, 16384, 0, 0, 0}, {95, 4386, 5911, 21845, 0, 0, 0}, {4642, 80, 5140, 0, 0, 0, 0}, {1087, 1088, 4352, 0, 0, 0, 0}, {3264, 8704, 17408, 0, 0, 0, 0}, {15, 514, 1285, 273, 0, 0, 0}, {1096, 32, 514, 16448, 0, 0, 0}, {15, 4403, 4608, 21760, 0, 0, 0}, {2056, 8712, 1092, 0, 0, 0, 0}, {15, 816, 80, 1285, 4357, 0, 0}, {2570, 1638, 16906, 0, 0, 0, 0}, {15, 1079, 1799, 1095, 4359, 0, 0}, {1096, 9792, 16448, 0, 0, 0, 0}, {15, 4406, 4613, 80, 1285, 0, 0}, {1642, 9312, 17408, 0, 0, 0, 0}, {15, 4404, 4615, 4420, 5376, 0, 0}, {17612, 18432, 8704, 0, 0, 0, 0}, {274, 80, 1285, 4112, 0, 0, 0}, {32, 514, 1092, 0, 0, 0, 0}, {15, 816, 4352, 0, 0, 0, 0}, {32, 512, 80, 1024, 4096, 0, 0}, {255, 3084, 4369, 0, 0, 0, 0}, {3072, 4642, 22106, 0, 0, 0, 0}, {1036, 32, 512, 1107, 4371, 0, 0}, {4632, 12336, 80, 5140, 0, 0, 0}, {4394, 13056, 4437, 1024, 0, 0, 0}, {1036, 112, 5654, 16448, 0, 0, 0}, {95, 4471, 1536, 21760, 0, 0, 0}, {5160, 1536, 80, 0, 0, 0, 0}, {4377, 4454, 5397, 0, 0, 0, 0}, {4698, 112, 1024, 0, 0, 0, 0}, {4379, 5911, 4420, 0, 0, 0, 0}, {1036, 32, 512, 80, 4112, 0, 0}, {3072, 4386, 21845, 0, 0, 0, 0}, {240, 4626, 17476, 0, 0, 0, 0}, {95, 32, 512, 1024, 4352, 0, 0}, {32, 512, 1088, 0, 0, 0, 0}, {15, 819, 4369, 0, 0, 0, 0}, {17544, 18504, 8738, 0, 0, 0, 0}, {275, 80, 1280, 4096, 0, 0, 0}, {1644, 9284, 17476, 0, 0, 0, 0}, {15, 4389, 4629, 4437, 5397, 0, 0}, {1100, 9830, 16384, 0, 0, 0, 0}, {15, 4391, 4631, 80, 1280, 0, 0}, {2560, 1632, 16968, 0, 0, 0, 0}, {15, 1075, 1792, 1091, 4374, 0, 0}, {2048, 8746, 1088, 0, 0, 0, 0}, {15, 819, 80, 1280, 4372, 0, 0}, {1100, 32, 512, 16384, 0, 0, 0}, {15, 4386, 4626, 21845, 0, 0, 0}, {3276, 8738, 17476, 0, 0, 0, 0}, {15, 512, 1280, 272, 0, 0, 0}, {240, 4608, 17408, 0, 0, 0, 0}, {95, 32, 514, 1028, 4369, 0, 0}, {1032, 32, 514, 80, 4096, 0, 0}, {3084, 4403, 21760, 0, 0, 0, 0}, {4680, 112, 1028, 0, 0, 0, 0}, {4362, 5888, 4437, 0, 0, 0, 0}, {5180, 1542, 80, 0, 0, 0, 0}, {4360, 4471, 5376, 0, 0, 0, 0}, {1032, 112, 5632, 16384, 0, 0, 0}, {95, 4454, 1542, 21845, 0, 0, 0}, {4618, 12288, 80, 5120, 0, 0, 0}, {4411, 13107, 4420, 1028, 0, 0, 0}, {3084, 4656, 22028, 0, 0, 0, 0}, {1032, 32, 514, 1111, 4354, 0, 0}, {32, 514, 80, 1028, 4112, 0, 0}, {255, 3072, 4352, 0, 0, 0, 0}, {3840, 8192, 20480, 0, 0, 0, 0}, {12, 34, 68, 257, 0, 0, 0}, {1290, 34, 514, 21760, 0, 0, 0}, {12, 4144, 771, 16384, 0, 0, 0}, {12, 768, 68, 1028, 4100, 0, 0}, {170, 8202, 1285, 0, 0, 0, 0}, {12, 102, 768, 1286, 4102, 0, 0}, {136, 1799, 20600, 0, 0, 0, 0}, {1800, 9984, 20480, 0, 0, 0, 0}, {12, 4150, 771, 4176, 1285, 0, 0}, {1290, 9472, 21760, 0, 0, 0, 0}, {12, 4148, 771, 68, 1028, 0, 0}, {12, 768, 4096, 0, 0, 0, 0}, {34, 514, 1285, 0, 0, 0, 0}, {258, 68, 1028, 4352, 0, 0, 0}, {20720, 3855, 8192, 0, 0, 0, 0}, {192, 3888, 4112, 0, 0, 0, 0}, {34, 512, 68, 1297, 4369, 0, 0}, {72, 34, 512, 1298, 4114, 0, 0}, {204, 4883, 20588, 0, 0, 0, 0}, {4904, 13056, 68, 5140, 0, 0, 0}, {4138, 12288, 4160, 5397, 0, 0, 0}, {1370, 102, 5654, 21760, 0, 0, 0}, {72, 4192, 5911, 16384, 0, 0, 0}, {4120, 1840, 4176, 0, 0, 0, 0}, {4889, 1331, 1365, 0, 0, 0, 0}, {4122, 1328, 5440, 0, 0, 0, 0}, {4891, 1843, 68, 0, 0, 0, 0}, {7196, 4896, 20560, 0, 0, 0, 0}, {1309, 34, 512, 1365, 4096, 0, 0}, {1310, 34, 512, 68, 4352, 0, 0}, {7967, 4128, 16448, 0, 0, 0, 0}, {20640, 3840, 8224, 0, 0, 0, 0}, {259, 68, 1024, 4369, 0, 0, 0}, {34, 512, 1280, 0, 0, 0, 0}, {12, 771, 4112, 0, 0, 0, 0}, {12, 4132, 768, 68, 1024, 0, 0}, {1295, 9509, 21845, 0, 0, 0, 0}, {12, 4134, 768, 4160, 1280, 0, 0}, {1807, 10023, 20560, 0, 0, 0, 0}, {136, 1792, 20520, 0, 0, 0, 0}, {12, 102, 771, 1283, 4118, 0, 0}, {170, 8234, 1280, 0, 0, 0, 0}, {12, 771, 68, 1024, 4116, 0, 0}, {12, 4128, 768, 16448, 0, 0, 0}, {1295, 34, 512, 21845, 0, 0, 0}, {12, 34, 68, 256, 0, 0, 0}, {3855, 8224, 20560, 0, 0, 0, 0}, {7936, 4144, 16384, 0, 0, 0, 0}, {1307, 34, 514, 68, 4369, 0, 0}, {1304, 34, 514, 1360, 4112, 0, 0}, {7168, 4915, 20480, 0, 0, 0, 0}, {4872, 1844, 68, 0, 0, 0, 0}, {4106, 1333, 5461, 0, 0, 0, 0}, {4874, 1334, 1360, 0, 0, 0, 0}, {4104, 1847, 4160, 0, 0, 0, 0}, {72, 4208, 5888, 16448, 0, 0, 0}, {1375, 102, 5632, 21845, 0, 0, 0}, {4154, 12336, 4176, 5376, 0, 0, 0}, {4923, 13107, 68, 5120, 0, 0, 0}, {204, 4864, 20540, 0, 0, 0, 0}, {72, 34, 514, 1303, 4098, 0, 0}, {34, 514, 68, 1300, 4352, 0, 0}, {192, 3903, 4096, 0, 0, 0, 0}, {3840, 12288, 4160, 0, 0, 0, 0}, {522, 34, 68, 1285, 4369, 0, 0}, {4106, 34, 4608, 4162, 5376, 0, 0}, {4991, 13107, 17219, 0, 0, 0, 0}, {4864, 68, 5120, 0, 0, 0, 0}, {106, 1285, 4112, 0, 0, 0, 0}, {1290, 102, 4934, 21760, 0, 0, 0}, {72, 4144, 1863, 16384, 0, 0, 0}, {72, 1792, 4096, 0, 0, 0, 0}, {102, 4883, 1285, 0, 0, 0, 0}, {1290, 4128, 5440, 0, 0, 0, 0}, {1807, 4915, 68, 0, 0, 0, 0}, {4940, 13056, 20480, 0, 0, 0, 0}, {4120, 34, 4626, 4176, 1285, 0, 0}, {1290, 34, 1792, 68, 4352, 0, 0}, {3855, 4208, 16448, 0, 0, 0, 0}, {8352, 12112, 20560, 0, 0, 0, 0}, {34, 785, 277, 4369, 0, 0, 0}, {1370, 34, 1874, 21760, 0, 0, 0}, {12, 4192, 4947, 16384, 0, 0, 0}, {12, 816, 68, 1028, 4112, 0, 0}, {2560, 8192, 1365, 0, 0, 0, 0}, {12, 4144, 4864, 4182, 5376, 0, 0}, {1919, 8224, 22359, 0, 0, 0, 0}, {2056, 1904, 20560, 0, 0, 0, 0}, {12, 1331, 1536, 1365, 4096, 0, 0}, {1370, 8192, 21760, 0, 0, 0, 0}, {12, 4128, 4883, 68, 1028, 0, 0}, {12, 816, 4176, 0, 0, 0, 0}, {520, 34, 1365, 0, 0, 0, 0}, {278, 68, 1028, 4352, 0, 0, 0}, {20640, 24415, 28672, 0, 0, 0, 0}, {3840, 4192, 16384, 0, 0, 0, 0}, {1295, 34, 1799, 68, 4369, 0, 0}, {4104, 34, 4608, 4160, 1280, 0, 0}, {4959, 13107, 20560, 0, 0, 0, 0}, {1800, 4896, 68, 0, 0, 0, 0}, {1295, 4144, 5461, 0, 0, 0, 0}, {102, 4864, 1280, 0, 0, 0, 0}, {72, 1799, 4112, 0, 0, 0, 0}, {72, 4128, 1856, 16448, 0, 0, 0}, {1295, 102, 4949, 21845, 0, 0, 0}, {106, 1280, 4096, 0, 0, 0, 0}, {4883, 68, 5140, 0, 0, 0, 0}, {4972, 13056, 17152, 0, 0, 0, 0}, {4122, 34, 4626, 4178, 5397, 0, 0}, {520, 34, 68, 1280, 4352, 0, 0}, {3855, 12336, 4176, 0, 0, 0, 0}, {20720, 24320, 28784, 0, 0, 0, 0}, {279, 68, 1024, 4369, 0, 0, 0}, {522, 34, 1360, 0, 0, 0, 0}, {12, 819, 4160, 0, 0, 0, 0}, {12, 4144, 4864, 68, 1024, 0, 0}, {1375, 8224, 21845, 0, 0, 0, 0}, {12, 1334, 1542, 1360, 4112, 0, 0}, {2048, 1911, 20480, 0, 0, 0, 0}, {1912, 8192, 22272, 0, 0, 0, 0}, {12, 4128, 4883, 4166, 5397, 0, 0}, {2570, 8224, 1360, 0, 0, 0, 0}, {12, 819, 68, 1024, 4096, 0, 0}, {12, 4208, 4928, 16448, 0, 0, 0}, {1375, 34, 1877, 21845, 0, 0, 0}, {34, 786, 276, 4352, 0, 0, 0}, {8320, 12159, 20480, 0, 0, 0, 0}, {8320, 3840, 20480, 0, 0, 0, 0}, {34, 771, 261, 4369, 0, 0, 0}, {1290, 34, 1792, 21760, 0, 0, 0}, {12, 4208, 771, 16448, 0, 0, 0}, {12, 768, 68, 1024, 4096, 0, 0}, {170, 8224, 1285, 0, 0, 0, 0}, {12, 4128, 768, 4166, 1286, 0, 0}, {1807, 8192, 22391, 0, 0, 0, 0}, {136, 1792, 20480, 0, 0, 0, 0}, {12, 102, 771, 1285, 4112, 0, 0}, {1290, 8224, 21760, 0, 0, 0, 0}, {12, 4144, 771, 68, 1024, 0, 0}, {12, 768, 4160, 0, 0, 0, 0}, {522, 34, 1285, 0, 0, 0, 0}, {262, 68, 1024, 4352, 0, 0, 0}, {20720, 3855, 28784, 0, 0, 0, 0}, {3888, 12336, 4176, 0, 0, 0, 0}, {520, 34, 68, 1297, 4369, 0, 0}, {4122, 34, 4626, 4178, 1298, 0, 0}, {4959, 13107, 17203, 0, 0, 0, 0}, {4896, 68, 5140, 0, 0, 0, 0}, {1343, 1365, 4096, 0, 0, 0, 0}, {1370, 102, 4864, 21760, 0, 0, 0}, {72, 4128, 5911, 16448, 0, 0, 0}, {72, 1904, 4112, 0, 0, 0, 0}, {1331, 5632, 1365, 0, 0, 0, 0}, {4186, 4144, 5376, 0, 0, 0, 0}, {5160, 4883, 68, 0, 0, 0, 0}, {4972, 13056, 20560, 0, 0, 0, 0}, {4104, 34, 4608, 4160, 5397, 0, 0}, {1310, 34, 1814, 68, 4352, 0, 0}, {8031, 4192, 16384, 0, 0, 0, 0}, {20640, 3840, 28672, 0, 0, 0, 0}, {263, 68, 1028, 4369, 0, 0, 0}, {520, 34, 1280, 0, 0, 0, 0}, {12, 771, 4176, 0, 0, 0, 0}, {12, 4128, 768, 68, 1028, 0, 0}, {1295, 8192, 21845, 0, 0, 0, 0}, {12, 102, 768, 1280, 4096, 0, 0}, {136, 1799, 20560, 0, 0, 0, 0}, {1800, 8224, 22304, 0, 0, 0, 0}, {12, 4144, 771, 4182, 1283, 0, 0}, {170, 8192, 1280, 0, 0, 0, 0}, {12, 771, 68, 1028, 4112, 0, 0}, {12, 4192, 768, 16384, 0, 0, 0}, {1295, 34, 1799, 21845, 0, 0, 0}, {34, 768, 260, 4352, 0, 0, 0}, {8352, 3855, 20560, 0, 0, 0, 0}, {8000, 4208, 16448, 0, 0, 0, 0}, {1307, 34, 1809, 68, 4369, 0, 0}, {4120, 34, 4626, 4176, 5376, 0, 0}, {4991, 13107, 20480, 0, 0, 0, 0}, {5180, 4864, 68, 0, 0, 0, 0}, {4170, 4128, 5397, 0, 0, 0, 0}, {1334, 5654, 1360, 0, 0, 0, 0}, {72, 1911, 4096, 0, 0, 0, 0}, {72, 4144, 5888, 16384, 0, 0, 0}, {1375, 102, 4883, 21845, 0, 0, 0}, {1338, 1360, 4112, 0, 0, 0, 0}, {4915, 68, 5120, 0, 0, 0, 0}, {4940, 13056, 17264, 0, 0, 0, 0}, {4106, 34, 4608, 4162, 1303, 0, 0}, {522, 34, 68, 1300, 4352, 0, 0}, {3903, 12288, 4160, 0, 0, 0, 0}, {192, 3840, 4096, 0, 0, 0, 0}, {34, 514, 68, 1285, 4369, 0, 0}, {1290, 34, 514, 1346, 4098, 0, 0}, {3855, 4915, 17167, 0, 0, 0, 0}, {4872, 13056, 68, 5120, 0, 0, 0}, {4154, 12336, 4176, 1285, 0, 0, 0}, {1290, 102, 5632, 21760, 0, 0, 0}, {72, 4208, 1799, 16448, 0, 0, 0}, {4104, 5888, 4160, 0, 0, 0, 0}, {4959, 102, 1285, 0, 0, 0, 0}, {4106, 4192, 5376, 0, 0, 0, 0}, {5180, 1799, 68, 0, 0, 0, 0}, {204, 4864, 20480, 0, 0, 0, 0}, {72, 34, 514, 1285, 4112, 0, 0}, {1290, 34, 514, 68, 4352, 0, 0}, {3855, 4144, 16384, 0, 0, 0, 0}, {4080, 8224, 20560, 0, 0, 0, 0}, {12, 512, 1024, 273, 0, 0, 0}, {1370, 34, 512, 21760, 0, 0, 0}, {12, 4128, 4883, 16448, 0, 0, 0}, {12, 816, 68, 1024, 4116, 0, 0}, {2560, 8234, 1365, 0, 0, 0, 0}, {12, 1328, 1536, 1366, 4118, 0, 0}, {2048, 1911, 22367, 0, 0, 0, 0}, {1912, 10064, 20560, 0, 0, 0, 0}, {12, 4134, 4885, 4160, 5397, 0, 0}, {1370, 9584, 21760, 0, 0, 0, 0}, {12, 4132, 4887, 68, 1024, 0, 0}, {12, 816, 4112, 0, 0, 0, 0}, {34, 512, 1365, 0, 0, 0, 0}, {274, 68, 1024, 4352, 0, 0, 0}, {20640, 24415, 8224, 0, 0, 0, 0}, {3840, 4128, 16448, 0, 0, 0, 0}, {1295, 34, 512, 68, 4369, 0, 0}, {72, 34, 512, 1280, 4096, 0, 0}, {204, 4883, 20560, 0, 0, 0, 0}, {5160, 1792, 68, 0, 0, 0, 0}, {4122, 4208, 5397, 0, 0, 0, 0}, {4940, 102, 1280, 0, 0, 0, 0}, {4120, 5911, 4176, 0, 0, 0, 0}, {72, 4192, 1792, 16384, 0, 0, 0}, {1295, 102, 5654, 21845, 0, 0, 0}, {4138, 12288, 4160, 1280, 0, 0, 0}, {4891, 13107, 68, 5140, 0, 0, 0}, {3840, 4896, 17228, 0, 0, 0, 0}, {1295, 34, 512, 1351, 4114, 0, 0}, {34, 512, 68, 1280, 4352, 0, 0}, {192, 3855, 4112, 0, 0, 0, 0}, {20720, 24320, 8192, 0, 0, 0, 0}, {275, 68, 1028, 4369, 0, 0, 0}, {34, 514, 1360, 0, 0, 0, 0}, {12, 819, 4096, 0, 0, 0, 0}, {12, 4148, 4868, 68, 1028, 0, 0}, {1375, 9557, 21845, 0, 0, 0, 0}, {12, 4150, 4870, 4176, 5376, 0, 0}, {1919, 10103, 20480, 0, 0, 0, 0}, {2056, 1904, 22280, 0, 0, 0, 0}, {12, 1333, 1542, 1363, 4102, 0, 0}, {2570, 8202, 1360, 0, 0, 0, 0}, {12, 819, 68, 1028, 4100, 0, 0}, {12, 4144, 4864, 16384, 0, 0, 0}, {1375, 34, 514, 21845, 0, 0, 0}, {12, 514, 1028, 272, 0, 0, 0}, {4095, 8192, 20480, 0, 0, 0, 0}, {12288, 0, 0, 0, 0, 0, 0}, {2, 17, 257, 0, 0, 0, 0}, {2, 4096, 0, 0, 0, 0, 0}, {51, 771, 0, 0, 0, 0, 0}, {8, 12292, 68, 1028, 0, 0, 0}, {10, 12293, 85, 1285, 0, 0, 0}, {10, 102, 1542, 20480, 0, 0, 0}, {8, 119, 1799, 16384, 0, 0, 0}, {8, 12288, 16384, 0, 0, 0, 0}, {10, 51, 771, 85, 1285, 0, 0}, {10, 12288, 20480, 0, 0, 0, 0}, {8, 51, 771, 68, 1028, 0, 0}, {204, 3084, 12300, 0, 0, 0, 0}, {2, 85, 1285, 4101, 0, 0, 0}, {2, 68, 1028, 4100, 0, 0, 0}, {255, 3855, 12303, 0, 0, 0, 0}, {32, 4112, 0, 0, 0, 0, 0}, {768, 17, 0, 0, 0, 0, 0}, {34, 4626, 0, 0, 0, 0, 0}, {19, 4096, 0, 0, 0, 0, 0}, {40, 12308, 68, 5140, 0, 0, 0}, {42, 12309, 85, 5397, 0, 0, 0}, {76, 102, 5654, 16384, 0, 0, 0}, {95, 119, 5911, 20480, 0, 0, 0}, {40, 12336, 20560, 0, 0, 0, 0}, {25, 51, 768, 85, 5376, 0, 0}, {42, 12336, 16448, 0, 0, 0, 0}, {27, 51, 768, 68, 5120, 0, 0}, {4124, 32, 4176, 0, 0, 0, 0}, {4637, 34, 85, 0, 0, 0, 0}, {4638, 34, 68, 0, 0, 0, 0}, {4127, 32, 4160, 0, 0, 0, 0}, {32, 4096, 0, 0, 0, 0, 0}, {771, 17, 0, 0, 0, 0, 0}, {34, 4608, 0, 0, 0, 0, 0}, {19, 4112, 0, 0, 0, 0, 0}, {40, 12324, 68, 5120, 0, 0, 0}, {42, 12325, 85, 5376, 0, 0, 0}, {76, 102, 5632, 16448, 0, 0, 0}, {95, 119, 5888, 20560, 0, 0, 0}, {40, 12288, 20480, 0, 0, 0, 0}, {25, 51, 771, 85, 5397, 0, 0}, {42, 12288, 16384, 0, 0, 0, 0}, {27, 51, 771, 68, 5140, 0, 0}, {4108, 32, 4160, 0, 0, 0, 0}, {4623, 34, 85, 0, 0, 0, 0}, {4620, 34, 68, 0, 0, 0, 0}, {4111, 32, 4176, 0, 0, 0, 0}, {12336, 0, 0, 0, 0, 0, 0}, {2, 17, 256, 0, 0, 0, 0}, {2, 4112, 0, 0, 0, 0, 0}, {51, 768, 0, 0, 0, 0, 0}, {8, 12340, 68, 1024, 0, 0, 0}, {10, 12341, 85, 1280, 0, 0, 0}, {10, 102, 1536, 20560, 0, 0, 0}, {8, 119, 1792, 16448, 0, 0, 0}, {8, 12336, 16448, 0, 0, 0, 0}, {10, 51, 768, 85, 1280, 0, 0}, {10, 12336, 20560, 0, 0, 0, 0}, {8, 51, 768, 68, 1024, 0, 0}, {204, 3072, 12348, 0, 0, 0, 0}, {2, 85, 1280, 4117, 0, 0, 0}, {2, 68, 1024, 4116, 0, 0, 0}, {255, 3840, 12351, 0, 0, 0, 0}, {128, 12352, 16448, 0, 0, 0, 0}, {10, 773, 1285, 17, 0, 0, 0}, {10, 34, 4674, 20480, 0, 0, 0}, {76, 51, 835, 16384, 0, 0, 0}, {3072, 12288, 68, 0, 0, 0, 0}, {10, 32, 85, 1285, 4112, 0, 0}, {10, 32, 1536, 70, 4096, 0, 0}, {3855, 119, 18247, 0, 0, 0, 0}, {136, 18504, 12360, 0, 0, 0, 0}, {19, 85, 1285, 4101, 0, 0, 0}, {10, 32, 4160, 0, 0, 0, 0}, {783, 51, 68, 0, 0, 0, 0}, {76, 12288, 16384, 0, 0, 0, 0}, {10, 34, 4626, 85, 1285, 0, 0}, {10, 34, 4608, 68, 5120, 0, 0}, {127, 12336, 16448, 0, 0, 0, 0}, {160, 12368, 20560, 0, 0, 0, 0}, {8, 772, 1028, 17, 0, 0, 0}, {8, 34, 4690, 16384, 0, 0, 0}, {95, 51, 851, 20480, 0, 0, 0}, {8, 32, 68, 1028, 4112, 0, 0}, {3840, 12288, 85, 0, 0, 0, 0}, {3084, 102, 22102, 0, 0, 0, 0}, {8, 32, 1792, 87, 4096, 0, 0}, {8, 32, 4176, 0, 0, 0, 0}, {780, 51, 85, 0, 0, 0, 0}, {170, 23130, 12378, 0, 0, 0, 0}, {19, 68, 1028, 4100, 0, 0, 0}, {108, 12336, 20560, 0, 0, 0, 0}, {8, 34, 4608, 85, 5376, 0, 0}, {8, 34, 4626, 68, 1028, 0, 0}, {95, 12288, 20480, 0, 0, 0, 0}, {160, 12384, 20480, 0, 0, 0, 0}, {8, 775, 1024, 17, 0, 0, 0}, {8, 34, 4672, 16448, 0, 0, 0}, {95, 51, 848, 20560, 0, 0, 0}, {8, 32, 68, 1024, 4096, 0, 0}, {3855, 12336, 85, 0, 0, 0, 0}, {3072, 102, 22016, 0, 0, 0, 0}, {8, 32, 1799, 87, 4112, 0, 0}, {8, 32, 4160, 0, 0, 0, 0}, {783, 51, 85, 0, 0, 0, 0}, {170, 23040, 12394, 0, 0, 0, 0}, {19, 68, 1024, 4116, 0, 0, 0}, {108, 12288, 20480, 0, 0, 0, 0}, {8, 34, 4626, 85, 5397, 0, 0}, {8, 34, 4608, 68, 1024, 0, 0}, {95, 12336, 20560, 0, 0, 0, 0}, {128, 12400, 16384, 0, 0, 0, 0}, {10, 774, 1280, 17, 0, 0, 0}, {10, 34, 4688, 20560, 0, 0, 0}, {76, 51, 832, 16448, 0, 0, 0}, {3084, 12336, 68, 0, 0, 0, 0}, {10, 32, 85, 1280, 4096, 0, 0}, {10, 32, 1542, 70, 4112, 0, 0}, {3840, 119, 18176, 0, 0, 0, 0}, {136, 18432, 12408, 0, 0, 0, 0}, {19, 85, 1280, 4117, 0, 0, 0}, {10, 32, 4176, 0, 0, 0, 0}, {780, 51, 68, 0, 0, 0, 0}, {76, 12336, 16448, 0, 0, 0, 0}, {10, 34, 4608, 85, 1280, 0, 0}, {10, 34, 4626, 68, 5140, 0, 0}, {127, 12288, 16384, 0, 0, 0, 0}, {128, 12288, 16384, 0, 0, 0, 0}, {10, 771, 1285, 17, 0, 0, 0}, {10, 34, 4608, 20480, 0, 0, 0}, {76, 51, 771, 16448, 0, 0, 0}, {3084, 12300, 68, 0, 0, 0, 0}, {10, 32, 85, 1285, 4101, 0, 0}, {10, 32, 1542, 70, 4102, 0, 0}, {3855, 119, 18191, 0, 0, 0, 0}, {136, 18432, 12288, 0, 0, 0, 0}, {19, 85, 1285, 4112, 0, 0, 0}, {10, 32, 4096, 0, 0, 0, 0}, {51, 771, 68, 0, 0, 0, 0}, {76, 12352, 16448, 0, 0, 0, 0}, {10, 34, 4613, 85, 1285, 0, 0}, {10, 34, 4614, 68, 5120, 0, 0}, {127, 12400, 16384, 0, 0, 0, 0}, {160, 12336, 20560, 0, 0, 0, 0}, {8, 768, 1024, 17, 0, 0, 0}, {8, 34, 4626, 16448, 0, 0, 0}, {95, 51, 768, 20480, 0, 0, 0}, {8, 32, 68, 1024, 4116, 0, 0}, {3840, 12351, 85, 0, 0, 0, 0}, {3072, 102, 22106, 0, 0, 0, 0}, {8, 32, 1792, 87, 4119, 0, 0}, {8, 32, 4112, 0, 0, 0, 0}, {51, 768, 85, 0, 0, 0, 0}, {170, 23130, 12336, 0, 0, 0, 0}, {19, 68, 1024, 4096, 0, 0, 0}, {108, 12368, 20560, 0, 0, 0, 0}, {8, 34, 4629, 85, 5397, 0, 0}, {8, 34, 4630, 68, 1024, 0, 0}, {95, 12384, 20480, 0, 0, 0, 0}, {160, 12288, 20480, 0, 0, 0, 0}, {8, 771, 1028, 17, 0, 0, 0}, {8, 34, 4608, 16384, 0, 0, 0}, {95, 51, 771, 20560, 0, 0, 0}, {8, 32, 68, 1028, 4100, 0, 0}, {3855, 12303, 85, 0, 0, 0, 0}, {3084, 102, 22028, 0, 0, 0, 0}, {8, 32, 1799, 87, 4103, 0, 0}, {8, 32, 4096, 0, 0, 0, 0}, {51, 771, 85, 0, 0, 0, 0}, {170, 23040, 12288, 0, 0, 0, 0}, {19, 68, 1028, 4112, 0, 0, 0}, {108, 12384, 20480, 0, 0, 0, 0}, {8, 34, 4615, 85, 5376, 0, 0}, {8, 34, 4612, 68, 1028, 0, 0}, {95, 12368, 20560, 0, 0, 0, 0}, {128, 12336, 16448, 0, 0, 0, 0}, {10, 768, 1280, 17, 0, 0, 0}, {10, 34, 4626, 20560, 0, 0, 0}, {76, 51, 768, 16384, 0, 0, 0}, {3072, 12348, 68, 0, 0, 0, 0}, {10, 32, 85, 1280, 4117, 0, 0}, {10, 32, 1536, 70, 4118, 0, 0}, {3840, 119, 18248, 0, 0, 0, 0}, {136, 18504, 12336, 0, 0, 0, 0}, {19, 85, 1280, 4096, 0, 0, 0}, {10, 32, 4112, 0, 0, 0, 0}, {51, 768, 68, 0, 0, 0, 0}, {76, 12400, 16384, 0, 0, 0, 0}, {10, 34, 4631, 85, 1280, 0, 0}, {10, 34, 4628, 68, 5140, 0, 0}, {127, 12352, 16448, 0, 0, 0, 0}, {12480, 0, 0, 0, 0, 0, 0}, {2, 261, 17, 0, 0, 0, 0}, {2, 4160, 0, 0, 0, 0, 0}, {783, 51, 0, 0, 0, 0, 0}, {8, 12288, 68, 1024, 0, 0, 0}, {10, 12336, 85, 1285, 0, 0, 0}, {10, 102, 1536, 20480, 0, 0, 0}, {8, 119, 1799, 16448, 0, 0, 0}, {8, 12352, 16448, 0, 0, 0, 0}, {10, 51, 773, 85, 1285, 0, 0}, {10, 12384, 20480, 0, 0, 0, 0}, {8, 51, 775, 68, 1024, 0, 0}, {204, 3072, 12288, 0, 0, 0, 0}, {2, 85, 1285, 4112, 0, 0, 0}, {2, 68, 1024, 4096, 0, 0, 0}, {255, 3855, 12336, 0, 0, 0, 0}, {32, 4176, 0, 0, 0, 0, 0}, {780, 17, 0, 0, 0, 0, 0}, {4698, 34, 0, 0, 0, 0, 0}, {19, 4160, 0, 0, 0, 0, 0}, {40, 12336, 68, 5140, 0, 0, 0}, {42, 12288, 85, 5376, 0, 0, 0}, {76, 102, 5654, 16448, 0, 0, 0}, {95, 119, 5888, 20480, 0, 0, 0}, {40, 12368, 20560, 0, 0, 0, 0}, {25, 51, 789, 85, 5397, 0, 0}, {42, 12400, 16384, 0, 0, 0, 0}, {27, 51, 791, 68, 5120, 0, 0}, {76, 32, 4112, 0, 0, 0, 0}, {34, 4608, 85, 0, 0, 0, 0}, {34, 4626, 68, 0, 0, 0, 0}, {95, 32, 4096, 0, 0, 0, 0}, {32, 4160, 0, 0, 0, 0, 0}, {783, 17, 0, 0, 0, 0, 0}, {4680, 34, 0, 0, 0, 0, 0}, {19, 4176, 0, 0, 0, 0, 0}, {40, 12288, 68, 5120, 0, 0, 0}, {42, 12336, 85, 5397, 0, 0, 0}, {76, 102, 5632, 16384, 0, 0, 0}, {95, 119, 5911, 20560, 0, 0, 0}, {40, 12384, 20480, 0, 0, 0, 0}, {25, 51, 790, 85, 5376, 0, 0}, {42, 12352, 16448, 0, 0, 0, 0}, {27, 51, 788, 68, 5140, 0, 0}, {76, 32, 4096, 0, 0, 0, 0}, {34, 4626, 85, 0, 0, 0, 0}, {34, 4608, 68, 0, 0, 0, 0}, {95, 32, 4112, 0, 0, 0, 0}, {12528, 0, 0, 0, 0, 0, 0}, {2, 260, 17, 0, 0, 0, 0}, {2, 4176, 0, 0, 0, 0, 0}, {780, 51, 0, 0, 0, 0, 0}, {8, 12336, 68, 1028, 0, 0, 0}, {10, 12288, 85, 1280, 0, 0, 0}, {10, 102, 1542, 20560, 0, 0, 0}, {8, 119, 1792, 16384, 0, 0, 0}, {8, 12400, 16384, 0, 0, 0, 0}, {10, 51, 774, 85, 1280, 0, 0}, {10, 12368, 20560, 0, 0, 0, 0}, {8, 51, 772, 68, 1028, 0, 0}, {204, 3084, 12336, 0, 0, 0, 0}, {2, 85, 1280, 4096, 0, 0, 0}, {2, 68, 1028, 4112, 0, 0, 0}, {255, 3840, 12288, 0, 0, 0, 0}, {512, 4352, 0, 0, 0, 0, 0}, {48, 257, 0, 0, 0, 0, 0}, {4386, 514, 0, 0, 0, 0, 0}, {259, 4096, 0, 0, 0, 0, 0}, {520, 12548, 4420, 1028, 0, 0, 0}, {522, 12549, 4437, 1285, 0, 0, 0}, {1036, 4454, 1542, 16384, 0, 0, 0}, {1295, 4471, 1799, 20480, 0, 0, 0}, {520, 13056, 21760, 0, 0, 0, 0}, {265, 48, 771, 4176, 1285, 0, 0}, {522, 13056, 17408, 0, 0, 0, 0}, {267, 48, 771, 4160, 1028, 0, 0}, {4364, 512, 5376, 0, 0, 0, 0}, {4397, 514, 1285, 0, 0, 0, 0}, {4398, 514, 1028, 0, 0, 0, 0}, {4367, 512, 5120, 0, 0, 0, 0}, {768, 272, 0, 0, 0, 0, 0}, {546, 4369, 0, 0, 0, 0, 0}, {274, 4096, 0, 0, 0, 0, 0}, {4403, 4883, 0, 0, 0, 0, 0}, {552, 12564, 4420, 5140, 0, 0, 0}, {554, 12565, 4437, 5397, 0, 0, 0}, {1370, 4454, 5654, 20480, 0, 0, 0}, {1096, 4471, 5911, 16384, 0, 0, 0}, {280, 48, 768, 4176, 5376, 0, 0}, {554, 13107, 21845, 0, 0, 0, 0}, {282, 48, 768, 4160, 5120, 0, 0}, {552, 13107, 17476, 0, 0, 0, 0}, {4892, 544, 1360, 0, 0, 0, 0}, {4381, 546, 5461, 0, 0, 0, 0}, {4382, 546, 5188, 0, 0, 0, 0}, {4895, 544, 1088, 0, 0, 0, 0}, {544, 4352, 0, 0, 0, 0, 0}, {771, 273, 0, 0, 0, 0, 0}, {4386, 4864, 0, 0, 0, 0, 0}, {275, 4112, 0, 0, 0, 0, 0}, {552, 12580, 4420, 5376, 0, 0, 0}, {554, 12581, 4437, 5120, 0, 0, 0}, {1100, 4454, 5888, 16448, 0, 0, 0}, {1375, 4471, 5632, 20560, 0, 0, 0}, {552, 13056, 21760, 0, 0, 0, 0}, {281, 48, 771, 4160, 5397, 0, 0}, {554, 13056, 17408, 0, 0, 0, 0}, {283, 48, 771, 4176, 5140, 0, 0}, {4364, 544, 5440, 0, 0, 0, 0}, {4879, 546, 1365, 0, 0, 0, 0}, {4876, 546, 1092, 0, 0, 0, 0}, {4367, 544, 5200, 0, 0, 0, 0}, {48, 256, 0, 0, 0, 0, 0}, {514, 4369, 0, 0, 0, 0, 0}, {258, 4112, 0, 0, 0, 0, 0}, {4403, 512, 0, 0, 0, 0, 0}, {520, 12596, 4420, 1280, 0, 0, 0}, {522, 12597, 4437, 1024, 0, 0, 0}, {1290, 4454, 1792, 20560, 0, 0, 0}, {1032, 4471, 1536, 16448, 0, 0, 0}, {264, 48, 768, 4160, 1280, 0, 0}, {522, 13107, 21845, 0, 0, 0, 0}, {266, 48, 768, 4176, 1024, 0, 0}, {520, 13107, 17476, 0, 0, 0, 0}, {4412, 512, 1280, 0, 0, 0, 0}, {4381, 514, 5397, 0, 0, 0, 0}, {4382, 514, 5140, 0, 0, 0, 0}, {4415, 512, 1024, 0, 0, 0, 0}, {1536, 1088, 4352, 0, 0, 0, 0}, {626, 1285, 4369, 0, 0, 0, 0}, {1096, 4386, 578, 16384, 0, 0, 0}, {1295, 4403, 4931, 20480, 0, 0, 0}, {2560, 8192, 4420, 0, 0, 0, 0}, {783, 48, 325, 1285, 4112, 0, 0}, {2570, 4454, 17990, 0, 0, 0, 0}, {1295, 48, 1536, 327, 4096, 0, 0}, {4424, 4864, 5376, 0, 0, 0, 0}, {4457, 4883, 1285, 0, 0, 0, 0}, {1546, 4896, 1088, 0, 0, 0, 0}, {1295, 4915, 5188, 0, 0, 0, 0}, {4940, 8704, 21760, 0, 0, 0, 0}, {4381, 48, 4626, 4176, 1285, 0, 0}, {4972, 8738, 17476, 0, 0, 0, 0}, {4367, 48, 4608, 4160, 5120, 0, 0}, {1792, 1360, 4352, 0, 0, 0, 0}, {610, 1028, 4369, 0, 0, 0, 0}, {1370, 4386, 594, 20480, 0, 0, 0}, {1036, 4403, 4947, 16384, 0, 0, 0}, {780, 48, 340, 1028, 4112, 0, 0}, {2048, 8192, 4437, 0, 0, 0, 0}, {1036, 48, 1792, 342, 4096, 0, 0}, {2056, 4471, 22359, 0, 0, 0, 0}, {1800, 4896, 1360, 0, 0, 0, 0}, {1036, 4915, 5461, 0, 0, 0, 0}, {4442, 4864, 5120, 0, 0, 0, 0}, {4475, 4883, 1028, 0, 0, 0, 0}, {4364, 48, 4608, 4176, 5376, 0, 0}, {4991, 8738, 21845, 0, 0, 0, 0}, {4382, 48, 4626, 4160, 1028, 0, 0}, {4959, 8704, 17408, 0, 0, 0, 0}, {608, 1024, 4352, 0, 0, 0, 0}, {1799, 1365, 4369, 0, 0, 0, 0}, {1032, 4386, 4928, 16448, 0, 0, 0}, {1375, 4403, 592, 20560, 0, 0, 0}, {2056, 8224, 4420, 0, 0, 0, 0}, {783, 48, 341, 1024, 4096, 0, 0}, {2048, 4454, 22272, 0, 0, 0, 0}, {1032, 48, 1799, 343, 4112, 0, 0}, {1032, 4896, 5440, 0, 0, 0, 0}, {1807, 4915, 1365, 0, 0, 0, 0}, {4458, 4864, 1024, 0, 0, 0, 0}, {4427, 4883, 5140, 0, 0, 0, 0}, {4972, 8704, 21760, 0, 0, 0, 0}, {4381, 48, 4626, 4160, 5397, 0, 0}, {4940, 8738, 17476, 0, 0, 0, 0}, {4367, 48, 4608, 4176, 1024, 0, 0}, {624, 1280, 4352, 0, 0, 0, 0}, {1542, 1092, 4369, 0, 0, 0, 0}, {1290, 4386, 4944, 20560, 0, 0, 0}, {1100, 4403, 576, 16448, 0, 0, 0}, {780, 48, 324, 1280, 4096, 0, 0}, {2570, 8224, 4437, 0, 0, 0, 0}, {1290, 48, 1542, 326, 4112, 0, 0}, {2560, 4471, 17920, 0, 0, 0, 0}, {4472, 4864, 1280, 0, 0, 0, 0}, {4441, 4883, 5397, 0, 0, 0, 0}, {1290, 4896, 5200, 0, 0, 0, 0}, {1548, 4915, 1092, 0, 0, 0, 0}, {4364, 48, 4608, 4160, 1280, 0, 0}, {4959, 8738, 21845, 0, 0, 0, 0}, {4382, 48, 4626, 4176, 5140, 0, 0}, {4991, 8704, 17408, 0, 0, 0, 0}, {640, 2560, 4352, 0, 0, 0, 0}, {48, 771, 321, 1285, 4369, 0, 0}, {2570, 4386, 17930, 0, 0, 0, 0}, {1295, 48, 771, 323, 4355, 0, 0}, {4876, 8192, 4420, 5376, 0, 0, 0}, {4911, 8224, 4437, 1285, 0, 0, 0}, {1100, 4454, 1542, 16448, 0, 0, 0}, {1295, 4471, 5632, 20480, 0, 0, 0}, {4488, 4864, 21760, 0, 0, 0, 0}, {329, 48, 771, 1285, 4112, 0, 0}, {2570, 4896, 17408, 0, 0, 0, 0}, {1295, 48, 771, 1092, 4096, 0, 0}, {4364, 5888, 5440, 0, 0, 0, 0}, {4959, 626, 1285, 0, 0, 0, 0}, {4398, 1542, 1092, 0, 0, 0, 0}, {4367, 624, 5120, 0, 0, 0, 0}, {48, 768, 336, 1024, 4352, 0, 0}, {674, 2056, 4369, 0, 0, 0, 0}, {1032, 48, 768, 338, 4370, 0, 0}, {2048, 4403, 22367, 0, 0, 0, 0}, {4892, 8224, 4420, 5140, 0, 0, 0}, {4927, 8192, 4437, 1024, 0, 0, 0}, {1370, 4454, 1792, 20480, 0, 0, 0}, {1032, 4471, 5911, 16448, 0, 0, 0}, {1032, 48, 768, 1360, 4112, 0, 0}, {2048, 4915, 21845, 0, 0, 0, 0}, {346, 48, 768, 1024, 4096, 0, 0}, {4539, 4883, 17476, 0, 0, 0, 0}, {4412, 1792, 1360, 0, 0, 0, 0}, {4381, 610, 5397, 0, 0, 0, 0}, {4382, 5654, 5188, 0, 0, 0, 0}, {4959, 608, 1024, 0, 0, 0, 0}, {672, 2048, 4352, 0, 0, 0, 0}, {48, 771, 337, 1028, 4369, 0, 0}, {2056, 4386, 22280, 0, 0, 0, 0}, {1036, 48, 771, 339, 4355, 0, 0}, {4908, 8224, 4420, 1028, 0, 0, 0}, {4879, 8192, 4437, 5120, 0, 0, 0}, {1036, 4454, 5888, 16384, 0, 0, 0}, {1375, 4471, 1799, 20560, 0, 0, 0}, {2056, 4896, 21760, 0, 0, 0, 0}, {1036, 48, 771, 1365, 4096, 0, 0}, {4522, 4864, 17408, 0, 0, 0, 0}, {347, 48, 771, 1028, 4112, 0, 0}, {4364, 608, 5376, 0, 0, 0, 0}, {4397, 1799, 1365, 0, 0, 0, 0}, {4940, 610, 1028, 0, 0, 0, 0}, {4367, 5632, 5200, 0, 0, 0, 0}, {48, 768, 320, 1280, 4352, 0, 0}, {642, 2570, 4369, 0, 0, 0, 0}, {1290, 48, 768, 322, 4370, 0, 0}, {2560, 4403, 17996, 0, 0, 0, 0}, {4924, 8192, 4420, 1280, 0, 0, 0}, {4895, 8224, 4437, 5397, 0, 0, 0}, {1290, 4454, 5654, 20560, 0, 0, 0}, {1096, 4471, 1536, 16384, 0, 0, 0}, {328, 48, 768, 1280, 4096, 0, 0}, {4505, 4883, 21845, 0, 0, 0, 0}, {1290, 48, 768, 1088, 4112, 0, 0}, {2560, 4915, 17476, 0, 0, 0, 0}, {4940, 624, 1280, 0, 0, 0, 0}, {4381, 5911, 5461, 0, 0, 0, 0}, {4382, 626, 5140, 0, 0, 0, 0}, {4415, 1536, 1088, 0, 0, 0, 0}, {192, 512, 1024, 4352, 0, 0, 0}, {240, 514, 1285, 4369, 0, 0, 0}, {1032, 4386, 514, 16448, 0, 0, 0}, {1295, 4403, 512, 20480, 0, 0, 0}, {520, 4420, 0, 0, 0, 0, 0}, {48, 261, 0, 0, 0, 0, 0}, {522, 4454, 0, 0, 0, 0, 0}, {263, 4160, 0, 0, 0, 0, 0}, {1032, 1536, 5440, 0, 0, 0, 0}, {522, 4963, 1285, 0, 0, 0, 0}, {522, 4960, 1024, 0, 0, 0, 0}, {1295, 1799, 5188, 0, 0, 0, 0}, {4556, 512, 21760, 0, 0, 0, 0}, {269, 48, 514, 1285, 4112, 0, 0}, {4590, 514, 17476, 0, 0, 0, 0}, {271, 48, 512, 1024, 4096, 0, 0}, {3840, 544, 1360, 4352, 0, 0, 0}, {3084, 546, 1092, 4369, 0, 0, 0}, {1370, 4386, 4864, 20480, 0, 0, 0}, {1100, 4403, 4883, 16448, 0, 0, 0}, {48, 276, 0, 0, 0, 0, 0}, {554, 4437, 0, 0, 0, 0, 0}, {278, 4160, 0, 0, 0, 0, 0}, {4959, 4471, 0, 0, 0, 0, 0}, {5160, 5632, 1360, 0, 0, 0, 0}, {4441, 4979, 5397, 0, 0, 0, 0}, {4442, 4976, 5120, 0, 0, 0, 0}, {5439, 5911, 1092, 0, 0, 0, 0}, {284, 48, 528, 1360, 4112, 0, 0}, {6485, 546, 21845, 0, 0, 0, 0}, {286, 48, 530, 1092, 4096, 0, 0}, {7007, 544, 17408, 0, 0, 0, 0}, {3072, 544, 1088, 4352, 0, 0, 0}, {3855, 546, 1365, 4369, 0, 0, 0}, {1096, 4386, 4864, 16384, 0, 0, 0}, {1375, 4403, 4883, 20560, 0, 0, 0}, {552, 4420, 0, 0, 0, 0, 0}, {48, 277, 0, 0, 0, 0, 0}, {4940, 4454, 0, 0, 0, 0, 0}, {279, 4176, 0, 0, 0, 0, 0}, {4424, 4960, 5376, 0, 0, 0, 0}, {5180, 5654, 1365, 0, 0, 0, 0}, {5418, 5888, 1088, 0, 0, 0, 0}, {4427, 4963, 5140, 0, 0, 0, 0}, {6476, 544, 21760, 0, 0, 0, 0}, {285, 48, 530, 1365, 4096, 0, 0}, {6980, 546, 17476, 0, 0, 0, 0}, {287, 48, 528, 1088, 4112, 0, 0}, {240, 512, 1280, 4352, 0, 0, 0}, {192, 514, 1028, 4369, 0, 0, 0}, {1290, 4386, 514, 20560, 0, 0, 0}, {1036, 4403, 512, 16384, 0, 0, 0}, {48, 260, 0, 0, 0, 0, 0}, {522, 4437, 0, 0, 0, 0, 0}, {262, 4176, 0, 0, 0, 0, 0}, {520, 4471, 0, 0, 0, 0, 0}, {520, 4976, 1280, 0, 0, 0, 0}, {1036, 1542, 5461, 0, 0, 0, 0}, {1290, 1792, 5200, 0, 0, 0, 0}, {520, 4979, 1028, 0, 0, 0, 0}, {268, 48, 512, 1280, 4096, 0, 0}, {4573, 514, 21845, 0, 0, 0, 0}, {270, 48, 514, 1028, 4112, 0, 0}, {4607, 512, 17408, 0, 0, 0, 0}, {512, 4096, 0, 0, 0, 0, 0}, {51, 257, 0, 0, 0, 0, 0}, {4128, 514, 0, 0, 0, 0, 0}, {259, 4352, 0, 0, 0, 0, 0}, {520, 12804, 4160, 1028, 0, 0, 0}, {522, 12805, 4176, 1285, 0, 0, 0}, {1036, 4192, 1542, 17408, 0, 0, 0}, {1295, 4208, 1799, 21760, 0, 0, 0}, {520, 12288, 20480, 0, 0, 0, 0}, {265, 51, 771, 4437, 1285, 0, 0}, {522, 12288, 16384, 0, 0, 0, 0}, {267, 51, 771, 4420, 1028, 0, 0}, {4108, 512, 5120, 0, 0, 0, 0}, {4143, 514, 1285, 0, 0, 0, 0}, {4140, 514, 1028, 0, 0, 0, 0}, {4111, 512, 5376, 0, 0, 0, 0}, {544, 4112, 0, 0, 0, 0, 0}, {768, 273, 0, 0, 0, 0, 0}, {4144, 4626, 0, 0, 0, 0, 0}, {275, 4352, 0, 0, 0, 0, 0}, {552, 12820, 4176, 5140, 0, 0, 0}, {554, 12821, 4160, 5397, 0, 0, 0}, {1100, 4208, 5654, 17408, 0, 0, 0}, {1375, 4192, 5911, 21760, 0, 0, 0}, {552, 12336, 20560, 0, 0, 0, 0}, {281, 51, 768, 4437, 5120, 0, 0}, {554, 12336, 16448, 0, 0, 0, 0}, {283, 51, 768, 4420, 5376, 0, 0}, {4124, 544, 5200, 0, 0, 0, 0}, {4637, 546, 1365, 0, 0, 0, 0}, {4638, 546, 1092, 0, 0, 0, 0}, {4127, 544, 5440, 0, 0, 0, 0}, {4128, 4608, 0, 0, 0, 0, 0}, {274, 4369, 0, 0, 0, 0, 0}, {546, 4096, 0, 0, 0, 0, 0}, {771, 272, 0, 0, 0, 0, 0}, {1096, 4192, 5632, 17476, 0, 0, 0}, {1370, 4208, 5888, 21845, 0, 0, 0}, {554, 12838, 4160, 5120, 0, 0, 0}, {552, 12839, 4176, 5376, 0, 0, 0}, {552, 12288, 16384, 0, 0, 0, 0}, {282, 51, 771, 4437, 5397, 0, 0}, {554, 12288, 20480, 0, 0, 0, 0}, {280, 51, 771, 4420, 5140, 0, 0}, {4620, 544, 1088, 0, 0, 0, 0}, {4111, 546, 5461, 0, 0, 0, 0}, {4108, 546, 5188, 0, 0, 0, 0}, {4623, 544, 1360, 0, 0, 0, 0}, {4144, 512, 0, 0, 0, 0, 0}, {258, 4369, 0, 0, 0, 0, 0}, {514, 4112, 0, 0, 0, 0, 0}, {51, 256, 0, 0, 0, 0, 0}, {1032, 4208, 1536, 17476, 0, 0, 0}, {1290, 4192, 1792, 21845, 0, 0, 0}, {522, 12854, 4176, 1024, 0, 0, 0}, {520, 12855, 4160, 1280, 0, 0, 0}, {520, 12336, 16448, 0, 0, 0, 0}, {266, 51, 768, 4437, 1024, 0, 0}, {522, 12336, 20560, 0, 0, 0, 0}, {264, 51, 768, 4420, 1280, 0, 0}, {4156, 512, 1024, 0, 0, 0, 0}, {4127, 514, 5397, 0, 0, 0, 0}, {4124, 514, 5140, 0, 0, 0, 0}, {4159, 512, 1280, 0, 0, 0, 0}, {2560, 8704, 4160, 0, 0, 0, 0}, {783, 51, 321, 1285, 4369, 0, 0}, {2570, 4192, 16962, 0, 0, 0, 0}, {1295, 51, 1536, 323, 4352, 0, 0}, {1536, 1092, 4096, 0, 0, 0, 0}, {629, 1285, 4112, 0, 0, 0, 0}, {1100, 4128, 582, 17408, 0, 0, 0}, {1295, 4144, 4679, 21760, 0, 0, 0}, {4680, 8192, 20480, 0, 0, 0, 0}, {4124, 51, 4883, 4437, 1285, 0, 0}, {4714, 8224, 16448, 0, 0, 0, 0}, {4111, 51, 4864, 4420, 5376, 0, 0}, {4172, 4608, 5120, 0, 0, 0, 0}, {4207, 4626, 1285, 0, 0, 0, 0}, {1546, 4642, 1092, 0, 0, 0, 0}, {1295, 4656, 5440, 0, 0, 0, 0}, {2048, 8704, 4176, 0, 0, 0, 0}, {780, 51, 337, 1028, 4369, 0, 0}, {2056, 4208, 21074, 0, 0, 0, 0}, {1036, 51, 1792, 339, 4352, 0, 0}, {612, 1028, 4112, 0, 0, 0, 0}, {1792, 1365, 4096, 0, 0, 0, 0}, {1036, 4144, 4694, 17408, 0, 0, 0}, {1375, 4128, 599, 21760, 0, 0, 0}, {4728, 8224, 20560, 0, 0, 0, 0}, {4108, 51, 4864, 4437, 5120, 0, 0}, {4698, 8192, 16384, 0, 0, 0, 0}, {4127, 51, 4883, 4420, 1028, 0, 0}, {1036, 4656, 5200, 0, 0, 0, 0}, {1800, 4642, 1365, 0, 0, 0, 0}, {4220, 4626, 1028, 0, 0, 0, 0}, {4191, 4608, 5376, 0, 0, 0, 0}, {2048, 4192, 20992, 0, 0, 0, 0}, {1032, 51, 1799, 338, 4369, 0, 0}, {2056, 8738, 4160, 0, 0, 0, 0}, {783, 51, 336, 1024, 4352, 0, 0}, {1032, 4128, 4676, 17476, 0, 0, 0}, {1370, 4144, 597, 21845, 0, 0, 0}, {614, 1024, 4096, 0, 0, 0, 0}, {1799, 1360, 4112, 0, 0, 0, 0}, {4680, 8224, 16448, 0, 0, 0, 0}, {4111, 51, 4864, 4437, 1024, 0, 0}, {4714, 8192, 20480, 0, 0, 0, 0}, {4124, 51, 4883, 4420, 5140, 0, 0}, {4204, 4608, 1024, 0, 0, 0, 0}, {4175, 4626, 5397, 0, 0, 0, 0}, {1032, 4642, 5188, 0, 0, 0, 0}, {1807, 4656, 1360, 0, 0, 0, 0}, {2560, 4208, 16896, 0, 0, 0, 0}, {1290, 51, 1542, 322, 4369, 0, 0}, {2570, 8738, 4176, 0, 0, 0, 0}, {780, 51, 320, 1280, 4352, 0, 0}, {1096, 4144, 580, 17476, 0, 0, 0}, {1290, 4128, 4693, 21845, 0, 0, 0}, {1542, 1088, 4112, 0, 0, 0, 0}, {631, 1280, 4096, 0, 0, 0, 0}, {4728, 8192, 16384, 0, 0, 0, 0}, {4127, 51, 4883, 4437, 5397, 0, 0}, {4698, 8224, 20560, 0, 0, 0, 0}, {4108, 51, 4864, 4420, 1280, 0, 0}, {1548, 4656, 1088, 0, 0, 0, 0}, {1290, 4642, 5461, 0, 0, 0, 0}, {4188, 4626, 5140, 0, 0, 0, 0}, {4223, 4608, 1280, 0, 0, 0, 0}, {4224, 4608, 20480, 0, 0, 0, 0}, {333, 51, 771, 1285, 4369, 0, 0}, {2570, 4642, 16384, 0, 0, 0, 0}, {1295, 51, 771, 1088, 4352, 0, 0}, {4108, 5632, 5188, 0, 0, 0, 0}, {4698, 629, 1285, 0, 0, 0, 0}, {4140, 1542, 1088, 0, 0, 0, 0}, {4111, 631, 5376, 0, 0, 0, 0}, {648, 2560, 4096, 0, 0, 0, 0}, {51, 771, 325, 1285, 4112, 0, 0}, {2570, 4128, 16906, 0, 0, 0, 0}, {1295, 51, 771, 327, 4099, 0, 0}, {4620, 8704, 4160, 5120, 0, 0, 0}, {4653, 8738, 4176, 1285, 0, 0, 0}, {1096, 4192, 1542, 17476, 0, 0, 0}, {1295, 4208, 5888, 21760, 0, 0, 0}, {2048, 4656, 20560, 0, 0, 0, 0}, {1032, 51, 768, 1365, 4369, 0, 0}, {4272, 4626, 16448, 0, 0, 0, 0}, {351, 51, 768, 1024, 4352, 0, 0}, {4124, 612, 5140, 0, 0, 0, 0}, {4159, 1792, 1365, 0, 0, 0, 0}, {4698, 614, 1024, 0, 0, 0, 0}, {4127, 5911, 5440, 0, 0, 0, 0}, {680, 2056, 4112, 0, 0, 0, 0}, {51, 768, 341, 1024, 4096, 0, 0}, {2048, 4144, 21082, 0, 0, 0, 0}, {1032, 51, 768, 343, 4115, 0, 0}, {4668, 8704, 4176, 1024, 0, 0, 0}, {4637, 8738, 4160, 5397, 0, 0, 0}, {1032, 4208, 5654, 17476, 0, 0, 0}, {1375, 4192, 1792, 21760, 0, 0, 0}, {4256, 4608, 16384, 0, 0, 0, 0}, {350, 51, 771, 1028, 4369, 0, 0}, {2056, 4642, 20480, 0, 0, 0, 0}, {1036, 51, 771, 1360, 4352, 0, 0}, {4680, 612, 1028, 0, 0, 0, 0}, {4111, 5888, 5461, 0, 0, 0, 0}, {4108, 614, 5120, 0, 0, 0, 0}, {4143, 1799, 1360, 0, 0, 0, 0}, {2056, 4128, 21000, 0, 0, 0, 0}, {1036, 51, 771, 342, 4099, 0, 0}, {682, 2048, 4096, 0, 0, 0, 0}, {51, 771, 340, 1028, 4112, 0, 0}, {1036, 4192, 5632, 17408, 0, 0, 0}, {1370, 4208, 1799, 21845, 0, 0, 0}, {4654, 8738, 4160, 1028, 0, 0, 0}, {4623, 8704, 4176, 5376, 0, 0, 0}, {2560, 4656, 16448, 0, 0, 0, 0}, {1290, 51, 768, 1092, 4369, 0, 0}, {4240, 4626, 20560, 0, 0, 0, 0}, {332, 51, 768, 1280, 4352, 0, 0}, {4156, 1536, 1092, 0, 0, 0, 0}, {4127, 629, 5397, 0, 0, 0, 0}, {4124, 5654, 5200, 0, 0, 0, 0}, {4680, 631, 1280, 0, 0, 0, 0}, {2560, 4144, 16968, 0, 0, 0, 0}, {1290, 51, 768, 326, 4115, 0, 0}, {650, 2570, 4112, 0, 0, 0, 0}, {51, 768, 324, 1280, 4096, 0, 0}, {1100, 4208, 1536, 17408, 0, 0, 0}, {1290, 4192, 5911, 21845, 0, 0, 0}, {4638, 8738, 4176, 5140, 0, 0, 0}, {4671, 8704, 4160, 1280, 0, 0, 0}, {4288, 512, 20480, 0, 0, 0, 0}, {269, 51, 514, 1285, 4369, 0, 0}, {4320, 514, 16448, 0, 0, 0, 0}, {271, 51, 512, 1024, 4352, 0, 0}, {1032, 1536, 5188, 0, 0, 0, 0}, {522, 4709, 1285, 0, 0, 0, 0}, {522, 4710, 1024, 0, 0, 0, 0}, {1295, 1799, 5440, 0, 0, 0, 0}, {520, 4160, 0, 0, 0, 0, 0}, {51, 261, 0, 0, 0, 0, 0}, {522, 4192, 0, 0, 0, 0, 0}, {263, 4420, 0, 0, 0, 0, 0}, {204, 512, 1024, 4096, 0, 0, 0}, {255, 514, 1285, 4112, 0, 0, 0}, {1032, 4128, 514, 17476, 0, 0, 0}, {1295, 4144, 512, 21760, 0, 0, 0}, {6224, 544, 20560, 0, 0, 0, 0}, {285, 51, 529, 1365, 4369, 0, 0}, {6746, 546, 16384, 0, 0, 0, 0}, {287, 51, 531, 1088, 4352, 0, 0}, {4188, 4724, 5140, 0, 0, 0, 0}, {5418, 5888, 1365, 0, 0, 0, 0}, {5180, 5654, 1088, 0, 0, 0, 0}, {4191, 4727, 5376, 0, 0, 0, 0}, {552, 4176, 0, 0, 0, 0, 0}, {51, 277, 0, 0, 0, 0, 0}, {4698, 4208, 0, 0, 0, 0, 0}, {279, 4420, 0, 0, 0, 0, 0}, {3084, 544, 1088, 4112, 0, 0, 0}, {3840, 546, 1365, 4096, 0, 0, 0}, {1096, 4144, 4626, 17476, 0, 0, 0}, {1375, 4128, 4608, 21760, 0, 0, 0}, {6720, 544, 16448, 0, 0, 0, 0}, {286, 51, 529, 1092, 4369, 0, 0}, {6216, 546, 20480, 0, 0, 0, 0}, {284, 51, 531, 1360, 4352, 0, 0}, {5160, 5632, 1092, 0, 0, 0, 0}, {4175, 4709, 5397, 0, 0, 0, 0}, {4172, 4710, 5120, 0, 0, 0, 0}, {5439, 5911, 1360, 0, 0, 0, 0}, {4680, 4192, 0, 0, 0, 0, 0}, {278, 4437, 0, 0, 0, 0, 0}, {554, 4160, 0, 0, 0, 0, 0}, {51, 276, 0, 0, 0, 0, 0}, {1100, 4128, 4608, 17408, 0, 0, 0}, {1370, 4144, 4626, 21845, 0, 0, 0}, {3072, 546, 1092, 4096, 0, 0, 0}, {3855, 544, 1360, 4112, 0, 0, 0}, {4336, 512, 16384, 0, 0, 0, 0}, {270, 51, 514, 1028, 4369, 0, 0}, {4304, 514, 20560, 0, 0, 0, 0}, {268, 51, 512, 1280, 4352, 0, 0}, {520, 4724, 1028, 0, 0, 0, 0}, {1290, 1792, 5461, 0, 0, 0, 0}, {1036, 1542, 5200, 0, 0, 0, 0}, {520, 4727, 1280, 0, 0, 0, 0}, {520, 4208, 0, 0, 0, 0, 0}, {262, 4437, 0, 0, 0, 0, 0}, {522, 4176, 0, 0, 0, 0, 0}, {51, 260, 0, 0, 0, 0, 0}, {1036, 4144, 512, 17408, 0, 0, 0}, {1290, 4128, 514, 21845, 0, 0, 0}, {204, 514, 1028, 4112, 0, 0, 0}, {255, 512, 1280, 4096, 0, 0, 0}, {13056, 0, 0, 0, 0, 0, 0}, {2, 16, 257, 0, 0, 0, 0}, {2, 4352, 0, 0, 0, 0, 0}, {48, 771, 0, 0, 0, 0, 0}, {8, 13060, 64, 1028, 0, 0, 0}, {10, 13061, 80, 1285, 0, 0, 0}, {10, 96, 1542, 21760, 0, 0, 0}, {8, 112, 1799, 17408, 0, 0, 0}, {8, 13056, 17408, 0, 0, 0, 0}, {10, 48, 771, 80, 1285, 0, 0}, {10, 13056, 21760, 0, 0, 0, 0}, {8, 48, 771, 64, 1028, 0, 0}, {192, 3084, 13068, 0, 0, 0, 0}, {2, 80, 1285, 4357, 0, 0, 0}, {2, 64, 1028, 4356, 0, 0, 0}, {240, 3855, 13071, 0, 0, 0, 0}, {768, 16, 0, 0, 0, 0, 0}, {34, 4369, 0, 0, 0, 0, 0}, {18, 4352, 0, 0, 0, 0, 0}, {32, 4883, 0, 0, 0, 0, 0}, {40, 13076, 80, 5140, 0, 0, 0}, {42, 13077, 64, 5397, 0, 0, 0}, {90, 112, 5654, 21760, 0, 0, 0}, {72, 96, 5911, 17408, 0, 0, 0}, {24, 48, 768, 80, 5120, 0, 0}, {42, 13107, 21845, 0, 0, 0, 0}, {26, 48, 768, 64, 5376, 0, 0}, {40, 13107, 17476, 0, 0, 0, 0}, {4892, 32, 80, 0, 0, 0, 0}, {4381, 34, 4437, 0, 0, 0, 0}, {4382, 34, 4420, 0, 0, 0, 0}, {4895, 32, 64, 0, 0, 0, 0}, {32, 4864, 0, 0, 0, 0, 0}, {18, 4369, 0, 0, 0, 0, 0}, {34, 4352, 0, 0, 0, 0, 0}, {771, 16, 0, 0, 0, 0, 0}, {72, 96, 5888, 17476, 0, 0, 0}, {90, 112, 5632, 21845, 0, 0, 0}, {42, 13094, 64, 5376, 0, 0, 0}, {40, 13095, 80, 5120, 0, 0, 0}, {40, 13056, 17408, 0, 0, 0, 0}, {26, 48, 771, 64, 5397, 0, 0}, {42, 13056, 21760, 0, 0, 0, 0}, {24, 48, 771, 80, 5140, 0, 0}, {4876, 32, 64, 0, 0, 0, 0}, {4367, 34, 4437, 0, 0, 0, 0}, {4364, 34, 4420, 0, 0, 0, 0}, {4879, 32, 80, 0, 0, 0, 0}, {48, 768, 0, 0, 0, 0, 0}, {2, 4369, 0, 0, 0, 0, 0}, {2, 16, 256, 0, 0, 0, 0}, {13107, 0, 0, 0, 0, 0, 0}, {8, 112, 1792, 17476, 0, 0, 0}, {10, 96, 1536, 21845, 0, 0, 0}, {10, 13110, 80, 1280, 0, 0, 0}, {8, 13111, 64, 1024, 0, 0, 0}, {8, 48, 768, 64, 1024, 0, 0}, {10, 13107, 21845, 0, 0, 0, 0}, {10, 48, 768, 80, 1280, 0, 0}, {8, 13107, 17476, 0, 0, 0, 0}, {240, 3840, 13116, 0, 0, 0, 0}, {2, 64, 1024, 4373, 0, 0, 0}, {2, 80, 1280, 4372, 0, 0, 0}, {192, 3072, 13119, 0, 0, 0, 0}, {3072, 13056, 64, 0, 0, 0, 0}, {10, 34, 80, 1285, 4369, 0, 0}, {10, 34, 1536, 66, 4352, 0, 0}, {3855, 112, 17219, 0, 0, 0, 0}, {136, 13124, 17476, 0, 0, 0, 0}, {10, 773, 1285, 16, 0, 0, 0}, {10, 32, 4934, 21760, 0, 0, 0}, {72, 48, 839, 17408, 0, 0, 0}, {72, 13056, 17408, 0, 0, 0, 0}, {10, 32, 4883, 80, 1285, 0, 0}, {10, 32, 4864, 64, 5376, 0, 0}, {120, 13107, 17476, 0, 0, 0, 0}, {128, 19532, 13132, 0, 0, 0, 0}, {18, 80, 1285, 4357, 0, 0, 0}, {10, 34, 4420, 0, 0, 0, 0}, {783, 48, 64, 0, 0, 0, 0}, {3840, 13056, 80, 0, 0, 0, 0}, {8, 34, 64, 1028, 4369, 0, 0}, {8, 34, 1792, 82, 4352, 0, 0}, {3084, 96, 21331, 0, 0, 0, 0}, {8, 772, 1028, 16, 0, 0, 0}, {170, 13141, 21845, 0, 0, 0, 0}, {90, 48, 854, 21760, 0, 0, 0}, {8, 32, 4951, 17408, 0, 0, 0}, {8, 32, 4864, 80, 5120, 0, 0}, {106, 13107, 21845, 0, 0, 0, 0}, {90, 13056, 21760, 0, 0, 0, 0}, {8, 32, 4883, 64, 1028, 0, 0}, {780, 48, 80, 0, 0, 0, 0}, {8, 34, 4437, 0, 0, 0, 0}, {18, 64, 1028, 4356, 0, 0, 0}, {160, 24415, 13151, 0, 0, 0, 0}, {3072, 96, 21248, 0, 0, 0, 0}, {8, 34, 1799, 82, 4369, 0, 0}, {8, 34, 64, 1024, 4352, 0, 0}, {3855, 13107, 80, 0, 0, 0, 0}, {8, 32, 4932, 17476, 0, 0, 0}, {90, 48, 853, 21845, 0, 0, 0}, {170, 13158, 21760, 0, 0, 0, 0}, {8, 775, 1024, 16, 0, 0, 0}, {8, 32, 4864, 64, 1024, 0, 0}, {90, 13107, 21845, 0, 0, 0, 0}, {106, 13056, 21760, 0, 0, 0, 0}, {8, 32, 4883, 80, 5140, 0, 0}, {160, 24320, 13164, 0, 0, 0, 0}, {18, 64, 1024, 4373, 0, 0, 0}, {8, 34, 4420, 0, 0, 0, 0}, {783, 48, 80, 0, 0, 0, 0}, {3840, 112, 17152, 0, 0, 0, 0}, {10, 34, 1542, 66, 4369, 0, 0}, {10, 34, 80, 1280, 4352, 0, 0}, {3084, 13107, 64, 0, 0, 0, 0}, {72, 48, 836, 17476, 0, 0, 0}, {10, 32, 4949, 21845, 0, 0, 0}, {10, 774, 1280, 16, 0, 0, 0}, {136, 13175, 17408, 0, 0, 0, 0}, {120, 13056, 17408, 0, 0, 0, 0}, {10, 32, 4883, 64, 5397, 0, 0}, {10, 32, 4864, 80, 1280, 0, 0}, {72, 13107, 17476, 0, 0, 0, 0}, {780, 48, 64, 0, 0, 0, 0}, {10, 34, 4437, 0, 0, 0, 0}, {18, 80, 1280, 4372, 0, 0, 0}, {128, 19456, 13183, 0, 0, 0, 0}, {128, 19456, 13056, 0, 0, 0, 0}, {18, 80, 1285, 4369, 0, 0, 0}, {10, 34, 4352, 0, 0, 0, 0}, {48, 771, 64, 0, 0, 0, 0}, {72, 13124, 17476, 0, 0, 0, 0}, {10, 32, 4869, 80, 1285, 0, 0}, {10, 32, 4870, 64, 5376, 0, 0}, {120, 13175, 17408, 0, 0, 0, 0}, {136, 13056, 17408, 0, 0, 0, 0}, {10, 771, 1285, 16, 0, 0, 0}, {10, 32, 4864, 21760, 0, 0, 0}, {72, 48, 771, 17476, 0, 0, 0}, {3084, 13068, 64, 0, 0, 0, 0}, {10, 34, 80, 1285, 4357, 0, 0}, {10, 34, 1542, 66, 4358, 0, 0}, {3855, 112, 17167, 0, 0, 0, 0}, {48, 768, 80, 0, 0, 0, 0}, {8, 34, 4369, 0, 0, 0, 0}, {18, 64, 1024, 4352, 0, 0, 0}, {160, 24415, 13107, 0, 0, 0, 0}, {8, 32, 4884, 80, 5140, 0, 0}, {106, 13141, 21845, 0, 0, 0, 0}, {90, 13158, 21760, 0, 0, 0, 0}, {8, 32, 4887, 64, 1024, 0, 0}, {8, 768, 1024, 16, 0, 0, 0}, {170, 13107, 21845, 0, 0, 0, 0}, {90, 48, 768, 21760, 0, 0, 0}, {8, 32, 4883, 17476, 0, 0, 0}, {3840, 13116, 80, 0, 0, 0, 0}, {8, 34, 64, 1024, 4373, 0, 0}, {8, 34, 1792, 82, 4374, 0, 0}, {3072, 96, 21343, 0, 0, 0, 0}, {160, 24320, 13056, 0, 0, 0, 0}, {18, 64, 1028, 4369, 0, 0, 0}, {8, 34, 4352, 0, 0, 0, 0}, {48, 771, 80, 0, 0, 0, 0}, {8, 32, 4868, 64, 1028, 0, 0}, {90, 13141, 21845, 0, 0, 0, 0}, {106, 13158, 21760, 0, 0, 0, 0}, {8, 32, 4871, 80, 5120, 0, 0}, {8, 32, 4864, 17408, 0, 0, 0}, {90, 48, 771, 21845, 0, 0, 0}, {170, 13056, 21760, 0, 0, 0, 0}, {8, 771, 1028, 16, 0, 0, 0}, {3084, 96, 21260, 0, 0, 0, 0}, {8, 34, 1799, 82, 4359, 0, 0}, {8, 34, 64, 1028, 4356, 0, 0}, {3855, 13071, 80, 0, 0, 0, 0}, {48, 768, 64, 0, 0, 0, 0}, {10, 34, 4369, 0, 0, 0, 0}, {18, 80, 1280, 4352, 0, 0, 0}, {128, 19532, 13107, 0, 0, 0, 0}, {120, 13124, 17476, 0, 0, 0, 0}, {10, 32, 4885, 64, 5397, 0, 0}, {10, 32, 4886, 80, 1280, 0, 0}, {72, 13175, 17408, 0, 0, 0, 0}, {72, 48, 768, 17408, 0, 0, 0}, {10, 32, 4883, 21845, 0, 0, 0}, {10, 768, 1280, 16, 0, 0, 0}, {136, 13107, 17476, 0, 0, 0, 0}, {3840, 112, 17228, 0, 0, 0, 0}, {10, 34, 1536, 66, 4375, 0, 0}, {10, 34, 80, 1280, 4372, 0, 0}, {3072, 13119, 64, 0, 0, 0, 0}, {192, 3072, 13056, 0, 0, 0, 0}, {2, 80, 1285, 4369, 0, 0, 0}, {2, 64, 1024, 4352, 0, 0, 0}, {240, 3855, 13107, 0, 0, 0, 0}, {8, 13124, 17476, 0, 0, 0, 0}, {10, 48, 773, 80, 1285, 0, 0}, {10, 13158, 21760, 0, 0, 0, 0}, {8, 48, 775, 64, 1024, 0, 0}, {8, 13056, 64, 1024, 0, 0, 0}, {10, 13107, 80, 1285, 0, 0, 0}, {10, 96, 1536, 21760, 0, 0, 0}, {8, 112, 1799, 17476, 0, 0, 0}, {13260, 0, 0, 0, 0, 0, 0}, {2, 261, 16, 0, 0, 0, 0}, {2, 4420, 0, 0, 0, 0, 0}, {783, 48, 0, 0, 0, 0, 0}, {32, 4864, 80, 0, 0, 0, 0}, {72, 34, 4369, 0, 0, 0, 0}, {90, 34, 4352, 0, 0, 0, 0}, {32, 4883, 64, 0, 0, 0, 0}, {24, 48, 788, 80, 5140, 0, 0}, {42, 13141, 21845, 0, 0, 0, 0}, {26, 48, 790, 64, 5376, 0, 0}, {40, 13175, 17408, 0, 0, 0, 0}, {40, 13056, 80, 5120, 0, 0, 0}, {42, 13107, 64, 5397, 0, 0, 0}, {90, 112, 5632, 21760, 0, 0, 0}, {72, 96, 5911, 17476, 0, 0, 0}, {780, 16, 0, 0, 0, 0, 0}, {34, 4437, 0, 0, 0, 0, 0}, {18, 4420, 0, 0, 0, 0, 0}, {4959, 32, 0, 0, 0, 0, 0}, {32, 4864, 64, 0, 0, 0, 0}, {90, 34, 4369, 0, 0, 0, 0}, {72, 34, 4352, 0, 0, 0, 0}, {32, 4883, 80, 0, 0, 0, 0}, {40, 13124, 17476, 0, 0, 0, 0}, {26, 48, 789, 64, 5397, 0, 0}, {42, 13158, 21760, 0, 0, 0, 0}, {24, 48, 791, 80, 5120, 0, 0}, {72, 96, 5888, 17408, 0, 0, 0}, {90, 112, 5654, 21845, 0, 0, 0}, {42, 13056, 64, 5376, 0, 0, 0}, {40, 13107, 80, 5140, 0, 0, 0}, {4940, 32, 0, 0, 0, 0, 0}, {18, 4437, 0, 0, 0, 0, 0}, {34, 4420, 0, 0, 0, 0, 0}, {783, 16, 0, 0, 0, 0, 0}, {240, 3840, 13056, 0, 0, 0, 0}, {2, 64, 1028, 4369, 0, 0, 0}, {2, 80, 1280, 4352, 0, 0, 0}, {192, 3084, 13107, 0, 0, 0, 0}, {8, 48, 772, 64, 1028, 0, 0}, {10, 13141, 21845, 0, 0, 0, 0}, {10, 48, 774, 80, 1280, 0, 0}, {8, 13175, 17408, 0, 0, 0, 0}, {8, 112, 1792, 17408, 0, 0, 0}, {10, 96, 1542, 21845, 0, 0, 0}, {10, 13056, 80, 1280, 0, 0, 0}, {8, 13107, 64, 1028, 0, 0, 0}, {780, 48, 0, 0, 0, 0, 0}, {2, 4437, 0, 0, 0, 0, 0}, {2, 260, 16, 0, 0, 0, 0}, {13311, 0, 0, 0, 0, 0, 0}, {2048, 13312, 17408, 0, 0, 0, 0}, {10, 53, 85, 257, 0, 0, 0}, {10, 5154, 514, 20480, 0, 0, 0}, {1036, 1075, 771, 16384, 0, 0, 0}, {192, 12288, 1028, 0, 0, 0, 0}, {10, 512, 85, 1285, 4352, 0, 0}, {10, 96, 512, 1030, 4096, 0, 0}, {255, 1799, 17527, 0, 0, 0, 0}, {17544, 2056, 13320, 0, 0, 0, 0}, {259, 85, 1285, 4101, 0, 0, 0}, {10, 512, 5120, 0, 0, 0, 0}, {63, 771, 1028, 0, 0, 0, 0}, {1036, 12288, 16384, 0, 0, 0, 0}, {10, 4386, 514, 85, 1285, 0, 0}, {10, 4128, 514, 4160, 1028, 0, 0}, {1807, 13056, 17408, 0, 0, 0, 0}, {3072, 1056, 1088, 4112, 0, 0, 0}, {3840, 1826, 85, 4369, 0, 0, 0}, {1096, 1058, 4626, 16384, 0, 0, 0}, {95, 5171, 4883, 20480, 0, 0, 0}, {160, 8192, 5140, 0, 0, 0, 0}, {63, 768, 85, 1045, 4352, 0, 0}, {170, 5654, 17510, 0, 0, 0, 0}, {95, 96, 768, 1047, 4096, 0, 0}, {5144, 4144, 4176, 0, 0, 0, 0}, {5657, 4403, 85, 0, 0, 0, 0}, {5658, 4656, 1088, 0, 0, 0, 0}, {5147, 4915, 5188, 0, 0, 0, 0}, {5180, 8224, 20560, 0, 0, 0, 0}, {4381, 4386, 768, 85, 5376, 0, 0}, {5692, 8738, 17476, 0, 0, 0, 0}, {4127, 4128, 768, 4160, 5120, 0, 0}, {160, 8224, 5120, 0, 0, 0, 0}, {63, 771, 85, 1041, 4369, 0, 0}, {170, 5632, 17442, 0, 0, 0, 0}, {95, 96, 771, 1043, 4112, 0, 0}, {3084, 1060, 1092, 4096, 0, 0, 0}, {3855, 1829, 85, 4352, 0, 0, 0}, {1100, 1062, 4608, 16448, 0, 0, 0}, {95, 5159, 4864, 20560, 0, 0, 0}, {5160, 8192, 20480, 0, 0, 0, 0}, {4364, 4403, 771, 85, 5397, 0, 0}, {5674, 8704, 17408, 0, 0, 0, 0}, {4111, 4144, 771, 4176, 5140, 0, 0}, {5132, 4128, 4160, 0, 0, 0, 0}, {5647, 4386, 85, 0, 0, 0, 0}, {5644, 4642, 1092, 0, 0, 0, 0}, {5135, 4896, 5200, 0, 0, 0, 0}, {192, 12336, 1024, 0, 0, 0, 0}, {10, 514, 85, 1280, 4369, 0, 0}, {10, 96, 514, 1026, 4112, 0, 0}, {255, 1792, 17459, 0, 0, 0, 0}, {2056, 13364, 17476, 0, 0, 0, 0}, {10, 53, 85, 256, 0, 0, 0}, {10, 5174, 512, 20560, 0, 0, 0}, {1032, 1079, 768, 16448, 0, 0, 0}, {1032, 12336, 16448, 0, 0, 0, 0}, {10, 4403, 512, 85, 1280, 0, 0}, {10, 4144, 512, 4176, 1024, 0, 0}, {1800, 13107, 17476, 0, 0, 0, 0}, {17612, 2048, 13372, 0, 0, 0, 0}, {258, 85, 1280, 4117, 0, 0, 0}, {10, 514, 5140, 0, 0, 0, 0}, {63, 768, 1024, 0, 0, 0, 0}, {3072, 12288, 1088, 0, 0, 0, 0}, {10, 546, 85, 1285, 4369, 0, 0}, {10, 1058, 1536, 1090, 4096, 0, 0}, {3855, 1904, 17219, 0, 0, 0, 0}, {2184, 13380, 17476, 0, 0, 0, 0}, {10, 773, 1285, 272, 0, 0, 0}, {10, 5222, 5702, 20480, 0, 0, 0}, {1096, 1143, 1863, 16384, 0, 0, 0}, {1096, 12288, 16384, 0, 0, 0, 0}, {10, 4403, 4883, 85, 1285, 0, 0}, {10, 4128, 4608, 4160, 5120, 0, 0}, {1912, 13107, 17476, 0, 0, 0, 0}, {17612, 19532, 13388, 0, 0, 0, 0}, {274, 85, 1285, 4101, 0, 0, 0}, {10, 546, 5188, 0, 0, 0, 0}, {783, 816, 1088, 0, 0, 0, 0}, {2048, 8192, 5200, 0, 0, 0, 0}, {780, 819, 85, 1028, 4369, 0, 0}, {2056, 5744, 21074, 0, 0, 0, 0}, {1036, 1075, 1792, 1107, 4096, 0, 0}, {96, 1028, 4112, 0, 0, 0, 0}, {1792, 85, 4352, 0, 0, 0, 0}, {1036, 1126, 5718, 16384, 0, 0, 0}, {95, 5239, 1879, 20480, 0, 0, 0}, {5240, 8224, 20560, 0, 0, 0, 0}, {4364, 4403, 4608, 85, 5376, 0, 0}, {5722, 8704, 17408, 0, 0, 0, 0}, {4127, 4128, 4883, 4160, 1028, 0, 0}, {1036, 4144, 4176, 0, 0, 0, 0}, {1800, 4386, 85, 0, 0, 0, 0}, {106, 4626, 1028, 0, 0, 0, 0}, {95, 4864, 5120, 0, 0, 0, 0}, {96, 1024, 4096, 0, 0, 0, 0}, {1799, 85, 4369, 0, 0, 0, 0}, {1032, 1122, 5696, 16448, 0, 0, 0}, {95, 5219, 1872, 20560, 0, 0, 0}, {2056, 8224, 5188, 0, 0, 0, 0}, {783, 816, 85, 1024, 4352, 0, 0}, {2048, 5734, 20992, 0, 0, 0, 0}, {1032, 1079, 1799, 1111, 4112, 0, 0}, {1032, 4128, 4160, 0, 0, 0, 0}, {1807, 4403, 85, 0, 0, 0, 0}, {106, 4608, 1024, 0, 0, 0, 0}, {95, 4883, 5140, 0, 0, 0, 0}, {5228, 8192, 20480, 0, 0, 0, 0}, {4381, 4386, 4626, 85, 5397, 0, 0}, {5708, 8738, 17476, 0, 0, 0, 0}, {4111, 4144, 4864, 4176, 1024, 0, 0}, {2176, 13424, 17408, 0, 0, 0, 0}, {10, 774, 1280, 273, 0, 0, 0}, {10, 5234, 5712, 20560, 0, 0, 0}, {1100, 1139, 1856, 16448, 0, 0, 0}, {3084, 12336, 1092, 0, 0, 0, 0}, {10, 544, 85, 1280, 4352, 0, 0}, {10, 1062, 1542, 1094, 4112, 0, 0}, {3840, 1911, 17152, 0, 0, 0, 0}, {17544, 19456, 13432, 0, 0, 0, 0}, {275, 85, 1280, 4117, 0, 0, 0}, {10, 544, 5200, 0, 0, 0, 0}, {780, 819, 1092, 0, 0, 0, 0}, {1100, 12336, 16448, 0, 0, 0, 0}, {10, 4386, 4864, 85, 1280, 0, 0}, {10, 4144, 4626, 4176, 5140, 0, 0}, {1919, 13056, 17408, 0, 0, 0, 0}, {13440, 15360, 17408, 0, 0, 0, 0}, {289, 771, 276, 4369, 0, 0, 0}, {10, 5154, 5632, 20480, 0, 0, 0}, {1100, 1139, 771, 16448, 0, 0, 0}, {3084, 12288, 1092, 0, 0, 0, 0}, {10, 544, 85, 1285, 4352, 0, 0}, {10, 4128, 4608, 4160, 5126, 0, 0}, {1912, 13056, 17527, 0, 0, 0, 0}, {17544, 19456, 28672, 0, 0, 0, 0}, {278, 85, 1285, 4112, 0, 0, 0}, {10, 544, 5120, 0, 0, 0, 0}, {63, 771, 1092, 0, 0, 0, 0}, {1100, 12288, 16448, 0, 0, 0, 0}, {10, 4386, 4864, 85, 1285, 0, 0}, {10, 1060, 1542, 1092, 4096, 0, 0}, {3855, 1904, 17408, 0, 0, 0, 0}, {4144, 4176, 1024, 0, 0, 0, 0}, {1800, 85, 4369, 0, 0, 0, 0}, {1032, 1122, 4626, 16448, 0, 0, 0}, {95, 5171, 1792, 20480, 0, 0, 0}, {160, 8224, 5140, 0, 0, 0, 0}, {63, 768, 85, 1024, 4352, 0, 0}, {5692, 8704, 17510, 0, 0, 0, 0}, {4127, 4128, 768, 4160, 5143, 0, 0}, {1032, 96, 4112, 0, 0, 0, 0}, {4403, 1792, 85, 0, 0, 0, 0}, {4698, 4656, 1024, 0, 0, 0, 0}, {5147, 4883, 5188, 0, 0, 0, 0}, {5180, 8192, 20560, 0, 0, 0, 0}, {4381, 4386, 768, 85, 5397, 0, 0}, {170, 5654, 17476, 0, 0, 0, 0}, {95, 96, 768, 1024, 4096, 0, 0}, {160, 8192, 5120, 0, 0, 0, 0}, {63, 771, 85, 1028, 4369, 0, 0}, {5674, 8738, 17442, 0, 0, 0, 0}, {4111, 4144, 771, 4176, 5123, 0, 0}, {4128, 4160, 1028, 0, 0, 0, 0}, {1807, 85, 4352, 0, 0, 0, 0}, {1036, 1126, 4608, 16384, 0, 0, 0}, {95, 5159, 1799, 20560, 0, 0, 0}, {5160, 8224, 20480, 0, 0, 0, 0}, {4364, 4403, 771, 85, 5376, 0, 0}, {170, 5632, 17408, 0, 0, 0, 0}, {95, 96, 771, 1028, 4112, 0, 0}, {1036, 96, 4096, 0, 0, 0, 0}, {4386, 1799, 85, 0, 0, 0, 0}, {4680, 4642, 1028, 0, 0, 0, 0}, {5135, 4864, 5200, 0, 0, 0, 0}, {3072, 12336, 1088, 0, 0, 0, 0}, {10, 546, 85, 1280, 4369, 0, 0}, {10, 4144, 4626, 4176, 5138, 0, 0}, {1919, 13107, 17459, 0, 0, 0, 0}, {13492, 15420, 17476, 0, 0, 0, 0}, {288, 768, 277, 4352, 0, 0, 0}, {10, 5174, 5654, 20560, 0, 0, 0}, {1096, 1143, 768, 16384, 0, 0, 0}, {1096, 12336, 16384, 0, 0, 0, 0}, {10, 4403, 4883, 85, 1280, 0, 0}, {10, 1056, 1536, 1088, 4112, 0, 0}, {3840, 1911, 17476, 0, 0, 0, 0}, {17612, 19532, 28784, 0, 0, 0, 0}, {279, 85, 1280, 4096, 0, 0, 0}, {10, 546, 5140, 0, 0, 0, 0}, {63, 768, 1088, 0, 0, 0, 0}, {192, 12288, 1024, 0, 0, 0, 0}, {10, 514, 85, 1285, 4369, 0, 0}, {10, 4128, 514, 4160, 1026, 0, 0}, {1807, 13107, 17459, 0, 0, 0, 0}, {13508, 2056, 17476, 0, 0, 0, 0}, {304, 512, 261, 4352, 0, 0, 0}, {10, 5222, 512, 20480, 0, 0, 0}, {1032, 1079, 1799, 16448, 0, 0, 0}, {1032, 12288, 16448, 0, 0, 0, 0}, {10, 4403, 512, 85, 1285, 0, 0}, {10, 96, 512, 1024, 4096, 0, 0}, {255, 1799, 17476, 0, 0, 0, 0}, {17612, 2048, 28672, 0, 0, 0, 0}, {263, 85, 1285, 4112, 0, 0, 0}, {10, 514, 5188, 0, 0, 0, 0}, {783, 816, 1024, 0, 0, 0, 0}, {2080, 8224, 5200, 0, 0, 0, 0}, {780, 819, 85, 1041, 4369, 0, 0}, {5722, 8738, 17442, 0, 0, 0, 0}, {4127, 4128, 4883, 4160, 1043, 0, 0}, {4144, 4176, 5140, 0, 0, 0, 0}, {1834, 85, 4352, 0, 0, 0, 0}, {1100, 1062, 5654, 16448, 0, 0, 0}, {95, 5239, 4864, 20480, 0, 0, 0}, {5240, 8192, 20560, 0, 0, 0, 0}, {4364, 4403, 4608, 85, 5397, 0, 0}, {7770, 5744, 17408, 0, 0, 0, 0}, {1051, 1060, 1815, 1092, 4096, 0, 0}, {1100, 96, 4112, 0, 0, 0, 0}, {4386, 5632, 85, 0, 0, 0, 0}, {1070, 4626, 1092, 0, 0, 0, 0}, {95, 4896, 5120, 0, 0, 0, 0}, {4128, 4160, 5120, 0, 0, 0, 0}, {1837, 85, 4369, 0, 0, 0, 0}, {1096, 1058, 5632, 16384, 0, 0, 0}, {95, 5219, 4883, 20560, 0, 0, 0}, {2088, 8192, 5188, 0, 0, 0, 0}, {783, 816, 85, 1045, 4352, 0, 0}, {5708, 8704, 17510, 0, 0, 0, 0}, {4111, 4144, 4864, 4176, 1047, 0, 0}, {1096, 96, 4096, 0, 0, 0, 0}, {4403, 5654, 85, 0, 0, 0, 0}, {1066, 4608, 1088, 0, 0, 0, 0}, {95, 4915, 5140, 0, 0, 0, 0}, {5228, 8224, 20480, 0, 0, 0, 0}, {4381, 4386, 4626, 85, 5376, 0, 0}, {7748, 5734, 17476, 0, 0, 0, 0}, {1055, 1056, 1808, 1088, 4112, 0, 0}, {13552, 2048, 17408, 0, 0, 0, 0}, {305, 514, 260, 4369, 0, 0, 0}, {10, 5234, 514, 20560, 0, 0, 0}, {1036, 1075, 1792, 16384, 0, 0, 0}, {192, 12336, 1028, 0, 0, 0, 0}, {10, 512, 85, 1280, 4352, 0, 0}, {10, 4144, 512, 4176, 1030, 0, 0}, {1800, 13056, 17527, 0, 0, 0, 0}, {17544, 2056, 28784, 0, 0, 0, 0}, {262, 85, 1280, 4096, 0, 0, 0}, {10, 512, 5200, 0, 0, 0, 0}, {780, 819, 1028, 0, 0, 0, 0}, {1036, 12336, 16384, 0, 0, 0, 0}, {10, 4386, 514, 85, 1280, 0, 0}, {10, 96, 514, 1028, 4112, 0, 0}, {255, 1792, 17408, 0, 0, 0, 0}, {2560, 13568, 21760, 0, 0, 0, 0}, {8, 52, 68, 257, 0, 0, 0}, {8, 5410, 514, 16384, 0, 0, 0}, {1295, 1331, 771, 20480, 0, 0, 0}, {8, 512, 68, 1028, 4352, 0, 0}, {240, 12288, 1285, 0, 0, 0, 0}, {204, 1542, 21862, 0, 0, 0, 0}, {8, 112, 512, 1287, 4096, 0, 0}, {8, 512, 5376, 0, 0, 0, 0}, {60, 771, 1285, 0, 0, 0, 0}, {21930, 2570, 13578, 0, 0, 0, 0}, {259, 68, 1028, 4100, 0, 0, 0}, {1548, 13056, 21760, 0, 0, 0, 0}, {8, 4128, 514, 4176, 1285, 0, 0}, {8, 4386, 514, 68, 1028, 0, 0}, {1295, 12288, 20480, 0, 0, 0, 0}, {3840, 1312, 1360, 4112, 0, 0, 0}, {3072, 1570, 68, 4369, 0, 0, 0}, {1370, 1314, 4626, 20480, 0, 0, 0}, {76, 5427, 4883, 16384, 0, 0, 0}, {60, 768, 68, 1300, 4352, 0, 0}, {128, 8192, 5397, 0, 0, 0, 0}, {76, 112, 768, 1302, 4096, 0, 0}, {136, 5911, 21879, 0, 0, 0, 0}, {5912, 4656, 1360, 0, 0, 0, 0}, {5401, 4915, 5461, 0, 0, 0, 0}, {5402, 4144, 4160, 0, 0, 0, 0}, {5915, 4403, 68, 0, 0, 0, 0}, {4124, 4128, 768, 4176, 5376, 0, 0}, {5951, 8738, 21845, 0, 0, 0, 0}, {4382, 4386, 768, 68, 5120, 0, 0}, {5439, 8224, 16448, 0, 0, 0, 0}, {128, 8224, 5376, 0, 0, 0, 0}, {60, 771, 68, 1297, 4369, 0, 0}, {136, 5888, 21794, 0, 0, 0, 0}, {76, 112, 771, 1299, 4112, 0, 0}, {3084, 1572, 68, 4352, 0, 0, 0}, {3855, 1317, 1365, 4096, 0, 0, 0}, {76, 5414, 4864, 16448, 0, 0, 0}, {1375, 1319, 4608, 20560, 0, 0, 0}, {5928, 8704, 21760, 0, 0, 0, 0}, {4108, 4144, 771, 4160, 5397, 0, 0}, {5418, 8192, 16384, 0, 0, 0, 0}, {4367, 4403, 771, 68, 5140, 0, 0}, {5388, 4896, 5440, 0, 0, 0, 0}, {5903, 4642, 1365, 0, 0, 0, 0}, {5900, 4386, 68, 0, 0, 0, 0}, {5391, 4128, 4176, 0, 0, 0, 0}, {240, 12336, 1280, 0, 0, 0, 0}, {8, 514, 68, 1024, 4369, 0, 0}, {8, 112, 514, 1282, 4112, 0, 0}, {204, 1536, 21811, 0, 0, 0, 0}, {8, 52, 68, 256, 0, 0, 0}, {2570, 13621, 21845, 0, 0, 0, 0}, {1290, 1334, 768, 20560, 0, 0, 0}, {8, 5431, 512, 16448, 0, 0, 0}, {8, 4144, 512, 4160, 1280, 0, 0}, {1546, 13107, 21845, 0, 0, 0, 0}, {1290, 12336, 20560, 0, 0, 0, 0}, {8, 4403, 512, 68, 1024, 0, 0}, {60, 768, 1280, 0, 0, 0, 0}, {8, 514, 5397, 0, 0, 0, 0}, {258, 68, 1024, 4116, 0, 0, 0}, {22015, 2560, 13631, 0, 0, 0, 0}, {2560, 8192, 5440, 0, 0, 0, 0}, {783, 819, 68, 1285, 4369, 0, 0}, {2570, 5984, 16962, 0, 0, 0, 0}, {1295, 1331, 1536, 1347, 4096, 0, 0}, {1536, 68, 4352, 0, 0, 0, 0}, {112, 1285, 4112, 0, 0, 0, 0}, {76, 5478, 1606, 16384, 0, 0, 0}, {1295, 1399, 5959, 20480, 0, 0, 0}, {5960, 8704, 21760, 0, 0, 0, 0}, {4124, 4128, 4883, 4176, 1285, 0, 0}, {5482, 8224, 16448, 0, 0, 0, 0}, {4367, 4403, 4608, 68, 5120, 0, 0}, {76, 4864, 5376, 0, 0, 0, 0}, {120, 4626, 1285, 0, 0, 0, 0}, {1546, 4386, 68, 0, 0, 0, 0}, {1295, 4144, 4160, 0, 0, 0, 0}, {3840, 12288, 1360, 0, 0, 0, 0}, {8, 546, 68, 1028, 4369, 0, 0}, {8, 1314, 1792, 1362, 4096, 0, 0}, {3084, 1632, 21331, 0, 0, 0, 0}, {8, 772, 1028, 272, 0, 0, 0}, {2730, 13653, 21845, 0, 0, 0, 0}, {1370, 1382, 1622, 20480, 0, 0, 0}, {8, 5495, 5975, 16384, 0, 0, 0}, {8, 4128, 4608, 4176, 5376, 0, 0}, {1642, 13107, 21845, 0, 0, 0, 0}, {1370, 12288, 20480, 0, 0, 0, 0}, {8, 4403, 4883, 68, 1028, 0, 0}, {780, 816, 1360, 0, 0, 0, 0}, {8, 546, 5461, 0, 0, 0, 0}, {274, 68, 1028, 4100, 0, 0, 0}, {22015, 24415, 13663, 0, 0, 0, 0}, {2720, 13664, 21760, 0, 0, 0, 0}, {8, 775, 1024, 273, 0, 0, 0}, {8, 5474, 5952, 16448, 0, 0, 0}, {1375, 1379, 1616, 20560, 0, 0, 0}, {8, 544, 68, 1024, 4352, 0, 0}, {3855, 12336, 1365, 0, 0, 0, 0}, {3072, 1638, 21248, 0, 0, 0, 0}, {8, 1319, 1799, 1367, 4112, 0, 0}, {8, 544, 5440, 0, 0, 0, 0}, {783, 819, 1365, 0, 0, 0, 0}, {21930, 24320, 13674, 0, 0, 0, 0}, {275, 68, 1024, 4116, 0, 0, 0}, {1644, 13056, 21760, 0, 0, 0, 0}, {8, 4144, 4626, 4160, 5397, 0, 0}, {8, 4386, 4864, 68, 1024, 0, 0}, {1375, 12336, 20560, 0, 0, 0, 0}, {112, 1280, 4096, 0, 0, 0, 0}, {1542, 68, 4369, 0, 0, 0, 0}, {1290, 1394, 5968, 20560, 0, 0, 0}, {76, 5491, 1600, 16448, 0, 0, 0}, {780, 816, 68, 1280, 4352, 0, 0}, {2570, 8224, 5461, 0, 0, 0, 0}, {1290, 1334, 1542, 1350, 4112, 0, 0}, {2560, 6007, 16896, 0, 0, 0, 0}, {120, 4608, 1280, 0, 0, 0, 0}, {76, 4883, 5397, 0, 0, 0, 0}, {1290, 4128, 4176, 0, 0, 0, 0}, {1548, 4403, 68, 0, 0, 0, 0}, {4108, 4144, 4864, 4160, 1280, 0, 0}, {5983, 8738, 21845, 0, 0, 0, 0}, {4382, 4386, 4626, 68, 5140, 0, 0}, {5503, 8192, 16384, 0, 0, 0, 0}, {128, 8192, 5376, 0, 0, 0, 0}, {60, 771, 68, 1285, 4369, 0, 0}, {5928, 8738, 21794, 0, 0, 0, 0}, {4108, 4144, 771, 4160, 5379, 0, 0}, {1548, 68, 4352, 0, 0, 0, 0}, {4128, 4176, 1285, 0, 0, 0, 0}, {76, 5414, 1542, 16448, 0, 0, 0}, {1295, 1399, 4608, 20480, 0, 0, 0}, {136, 5888, 21760, 0, 0, 0, 0}, {76, 112, 771, 1285, 4112, 0, 0}, {5418, 8224, 16384, 0, 0, 0, 0}, {4367, 4403, 771, 68, 5120, 0, 0}, {5388, 4864, 5440, 0, 0, 0, 0}, {4698, 4642, 1285, 0, 0, 0, 0}, {4386, 1542, 68, 0, 0, 0, 0}, {1295, 112, 4096, 0, 0, 0, 0}, {3840, 12336, 1360, 0, 0, 0, 0}, {8, 546, 68, 1024, 4369, 0, 0}, {8, 4144, 4626, 4160, 5394, 0, 0}, {1644, 13107, 21811, 0, 0, 0, 0}, {288, 768, 276, 4352, 0, 0, 0}, {13717, 16191, 21845, 0, 0, 0, 0}, {1370, 1382, 768, 20480, 0, 0, 0}, {8, 5431, 5911, 16448, 0, 0, 0}, {8, 1312, 1792, 1360, 4112, 0, 0}, {3072, 1638, 21845, 0, 0, 0, 0}, {1370, 12336, 20480, 0, 0, 0, 0}, {8, 4403, 4883, 68, 1024, 0, 0}, {60, 768, 1360, 0, 0, 0, 0}, {8, 546, 5397, 0, 0, 0, 0}, {278, 68, 1024, 4096, 0, 0, 0}, {22015, 24415, 24672, 0, 0, 0, 0}, {13728, 16128, 21760, 0, 0, 0, 0}, {289, 771, 277, 4369, 0, 0, 0}, {8, 5410, 5888, 16384, 0, 0, 0}, {1375, 1379, 771, 20560, 0, 0, 0}, {8, 544, 68, 1028, 4352, 0, 0}, {3855, 12288, 1365, 0, 0, 0, 0}, {1642, 13056, 21862, 0, 0, 0, 0}, {8, 4128, 4608, 4176, 5383, 0, 0}, {8, 544, 5376, 0, 0, 0, 0}, {60, 771, 1365, 0, 0, 0, 0}, {21930, 24320, 24576, 0, 0, 0, 0}, {279, 68, 1028, 4112, 0, 0, 0}, {3084, 1632, 21760, 0, 0, 0, 0}, {8, 1317, 1799, 1365, 4096, 0, 0}, {8, 4386, 4864, 68, 1028, 0, 0}, {1375, 12288, 20560, 0, 0, 0, 0}, {4144, 4160, 1280, 0, 0, 0, 0}, {1546, 68, 4369, 0, 0, 0, 0}, {1290, 1394, 4626, 20560, 0, 0, 0}, {76, 5427, 1536, 16384, 0, 0, 0}, {60, 768, 68, 1280, 4352, 0, 0}, {128, 8224, 5397, 0, 0, 0, 0}, {4124, 4128, 768, 4176, 5398, 0, 0}, {5951, 8704, 21879, 0, 0, 0, 0}, {4680, 4656, 1280, 0, 0, 0, 0}, {5401, 4883, 5461, 0, 0, 0, 0}, {1290, 112, 4112, 0, 0, 0, 0}, {4403, 1536, 68, 0, 0, 0, 0}, {76, 112, 768, 1280, 4096, 0, 0}, {136, 5911, 21845, 0, 0, 0, 0}, {4382, 4386, 768, 68, 5140, 0, 0}, {5439, 8192, 16448, 0, 0, 0, 0}, {13760, 2560, 21760, 0, 0, 0, 0}, {305, 514, 261, 4369, 0, 0, 0}, {8, 5474, 514, 16448, 0, 0, 0}, {1295, 1331, 1536, 20480, 0, 0, 0}, {8, 512, 68, 1024, 4352, 0, 0}, {240, 12336, 1285, 0, 0, 0, 0}, {1546, 13056, 21862, 0, 0, 0, 0}, {8, 4144, 512, 4160, 1287, 0, 0}, {8, 512, 5440, 0, 0, 0, 0}, {783, 819, 1285, 0, 0, 0, 0}, {21930, 2570, 24672, 0, 0, 0, 0}, {263, 68, 1024, 4096, 0, 0, 0}, {204, 1536, 21760, 0, 0, 0, 0}, {8, 112, 514, 1285, 4112, 0, 0}, {8, 4386, 514, 68, 1024, 0, 0}, {1295, 12336, 20480, 0, 0, 0, 0}, {4128, 4176, 5376, 0, 0, 0, 0}, {1582, 68, 4369, 0, 0, 0, 0}, {1370, 1314, 5888, 20480, 0, 0, 0}, {76, 5491, 4883, 16448, 0, 0, 0}, {780, 816, 68, 1300, 4352, 0, 0}, {2602, 8192, 5461, 0, 0, 0, 0}, {4108, 4144, 4864, 4160, 1302, 0, 0}, {5983, 8704, 21879, 0, 0, 0, 0}, {1320, 4608, 1360, 0, 0, 0, 0}, {76, 4915, 5397, 0, 0, 0, 0}, {1370, 112, 4096, 0, 0, 0, 0}, {4403, 5911, 68, 0, 0, 0, 0}, {1308, 1312, 1552, 1360, 4112, 0, 0}, {7509, 6007, 21845, 0, 0, 0, 0}, {4382, 4386, 4626, 68, 5120, 0, 0}, {5503, 8224, 16384, 0, 0, 0, 0}, {2592, 8224, 5440, 0, 0, 0, 0}, {783, 819, 68, 1297, 4369, 0, 0}, {5960, 8738, 21794, 0, 0, 0, 0}, {4124, 4128, 4883, 4176, 1299, 0, 0}, {1576, 68, 4352, 0, 0, 0, 0}, {4144, 4160, 5397, 0, 0, 0, 0}, {76, 5478, 4864, 16384, 0, 0, 0}, {1375, 1319, 5911, 20560, 0, 0, 0}, {7496, 5984, 21760, 0, 0, 0, 0}, {1305, 1317, 1558, 1365, 4096, 0, 0}, {5482, 8192, 16448, 0, 0, 0, 0}, {4367, 4403, 4608, 68, 5140, 0, 0}, {76, 4896, 5376, 0, 0, 0, 0}, {1325, 4626, 1365, 0, 0, 0, 0}, {4386, 5888, 68, 0, 0, 0, 0}, {1375, 112, 4112, 0, 0, 0, 0}, {240, 12288, 1280, 0, 0, 0, 0}, {8, 514, 68, 1028, 4369, 0, 0}, {8, 4128, 514, 4176, 1282, 0, 0}, {1548, 13107, 21811, 0, 0, 0, 0}, {304, 512, 260, 4352, 0, 0, 0}, {13813, 2570, 21845, 0, 0, 0, 0}, {1290, 1334, 1542, 20560, 0, 0, 0}, {8, 5495, 512, 16384, 0, 0, 0}, {8, 112, 512, 1280, 4096, 0, 0}, {204, 1542, 21845, 0, 0, 0, 0}, {1290, 12288, 20560, 0, 0, 0, 0}, {8, 4403, 512, 68, 1028, 0, 0}, {780, 816, 1280, 0, 0, 0, 0}, {8, 514, 5461, 0, 0, 0, 0}, {262, 68, 1028, 4112, 0, 0, 0}, {22015, 2560, 24576, 0, 0, 0, 0}, {2560, 13824, 20480, 0, 0, 0, 0}, {8, 55, 64, 257, 0, 0, 0}, {8, 5152, 514, 17408, 0, 0, 0}, {1295, 1328, 771, 21760, 0, 0, 0}, {8, 512, 64, 1028, 4096, 0, 0}, {255, 13056, 1285, 0, 0, 0, 0}, {192, 1542, 20576, 0, 0, 0, 0}, {8, 119, 512, 1287, 4352, 0, 0}, {8, 512, 5120, 0, 0, 0, 0}, {63, 771, 1285, 0, 0, 0, 0}, {20640, 2570, 13834, 0, 0, 0, 0}, {259, 64, 1028, 4356, 0, 0, 0}, {1548, 12288, 20480, 0, 0, 0, 0}, {8, 4386, 514, 4437, 1285, 0, 0}, {8, 4128, 514, 64, 1028, 0, 0}, {1295, 13056, 21760, 0, 0, 0, 0}, {3072, 1568, 64, 4112, 0, 0, 0}, {3840, 1314, 1365, 4369, 0, 0, 0}, {72, 5168, 4626, 17408, 0, 0, 0}, {1375, 1312, 4883, 21760, 0, 0, 0}, {136, 8704, 5140, 0, 0, 0, 0}, {63, 768, 64, 1301, 4096, 0, 0}, {128, 5654, 20592, 0, 0, 0, 0}, {72, 119, 768, 1303, 4352, 0, 0}, {5144, 4656, 5200, 0, 0, 0, 0}, {5657, 4915, 1365, 0, 0, 0, 0}, {5658, 4144, 64, 0, 0, 0, 0}, {5147, 4403, 4420, 0, 0, 0, 0}, {5692, 8224, 20560, 0, 0, 0, 0}, {4381, 4386, 768, 4437, 5120, 0, 0}, {5180, 8738, 17476, 0, 0, 0, 0}, {4127, 4128, 768, 64, 5376, 0, 0}, {128, 5632, 20512, 0, 0, 0, 0}, {72, 119, 771, 1298, 4369, 0, 0}, {136, 8738, 5120, 0, 0, 0, 0}, {63, 771, 64, 1296, 4112, 0, 0}, {72, 5156, 4608, 17476, 0, 0, 0}, {1370, 1317, 4864, 21845, 0, 0, 0}, {3084, 1574, 64, 4096, 0, 0, 0}, {3855, 1319, 1360, 4352, 0, 0, 0}, {5160, 8704, 17408, 0, 0, 0, 0}, {4111, 4144, 771, 64, 5397, 0, 0}, {5674, 8192, 20480, 0, 0, 0, 0}, {4364, 4403, 771, 4420, 5140, 0, 0}, {5644, 4128, 64, 0, 0, 0, 0}, {5135, 4386, 4437, 0, 0, 0, 0}, {5132, 4642, 5188, 0, 0, 0, 0}, {5647, 4896, 1360, 0, 0, 0, 0}, {192, 1536, 20528, 0, 0, 0, 0}, {8, 119, 514, 1282, 4369, 0, 0}, {8, 514, 64, 1024, 4112, 0, 0}, {255, 13107, 1280, 0, 0, 0, 0}, {8, 5172, 512, 17476, 0, 0, 0}, {1290, 1333, 768, 21845, 0, 0, 0}, {2570, 13878, 20560, 0, 0, 0, 0}, {8, 55, 64, 256, 0, 0, 0}, {8, 4144, 512, 64, 1024, 0, 0}, {1290, 13107, 21845, 0, 0, 0, 0}, {1546, 12336, 20560, 0, 0, 0, 0}, {8, 4403, 512, 4420, 1280, 0, 0}, {20720, 2560, 13884, 0, 0, 0, 0}, {258, 64, 1024, 4373, 0, 0, 0}, {8, 514, 5140, 0, 0, 0, 0}, {63, 768, 1280, 0, 0, 0, 0}, {1536, 64, 4096, 0, 0, 0, 0}, {119, 1285, 4369, 0, 0, 0, 0}, {72, 5216, 1602, 17408, 0, 0, 0}, {1295, 1392, 5699, 21760, 0, 0, 0}, {2560, 8704, 5188, 0, 0, 0, 0}, {783, 816, 64, 1285, 4112, 0, 0}, {2570, 5734, 17990, 0, 0, 0, 0}, {1295, 1328, 1536, 1351, 4352, 0, 0}, {72, 4608, 5120, 0, 0, 0, 0}, {127, 4883, 1285, 0, 0, 0, 0}, {1546, 4128, 64, 0, 0, 0, 0}, {1295, 4403, 4420, 0, 0, 0, 0}, {5708, 8192, 20480, 0, 0, 0, 0}, {4381, 4386, 4626, 4437, 1285, 0, 0}, {5228, 8738, 17476, 0, 0, 0, 0}, {4111, 4144, 4864, 64, 5376, 0, 0}, {2720, 13904, 20560, 0, 0, 0, 0}, {8, 772, 1028, 273, 0, 0, 0}, {8, 5232, 5714, 17408, 0, 0, 0}, {1375, 1376, 1619, 21760, 0, 0, 0}, {8, 544, 64, 1028, 4112, 0, 0}, {3840, 13056, 1365, 0, 0, 0, 0}, {3084, 1638, 22102, 0, 0, 0, 0}, {8, 1312, 1792, 1367, 4352, 0, 0}, {8, 544, 5200, 0, 0, 0, 0}, {780, 819, 1365, 0, 0, 0, 0}, {20720, 23130, 13914, 0, 0, 0, 0}, {275, 64, 1028, 4356, 0, 0, 0}, {1644, 12336, 20560, 0, 0, 0, 0}, {8, 4386, 4864, 4437, 5120, 0, 0}, {8, 4144, 4626, 64, 1028, 0, 0}, {1375, 13056, 21760, 0, 0, 0, 0}, {3072, 1632, 22016, 0, 0, 0, 0}, {8, 1317, 1799, 1362, 4369, 0, 0}, {8, 546, 64, 1024, 4096, 0, 0}, {3855, 13107, 1360, 0, 0, 0, 0}, {8, 5220, 5700, 17476, 0, 0, 0}, {1370, 1381, 1621, 21845, 0, 0, 0}, {2730, 13926, 20480, 0, 0, 0, 0}, {8, 775, 1024, 272, 0, 0, 0}, {8, 4128, 4608, 64, 1024, 0, 0}, {1370, 13107, 21845, 0, 0, 0, 0}, {1642, 12288, 20480, 0, 0, 0, 0}, {8, 4403, 4883, 4420, 5140, 0, 0}, {20640, 23040, 13932, 0, 0, 0, 0}, {274, 64, 1024, 4373, 0, 0, 0}, {8, 546, 5188, 0, 0, 0, 0}, {783, 816, 1360, 0, 0, 0, 0}, {2560, 5744, 17920, 0, 0, 0, 0}, {1290, 1333, 1542, 1346, 4369, 0, 0}, {2570, 8738, 5200, 0, 0, 0, 0}, {780, 819, 64, 1280, 4096, 0, 0}, {72, 5236, 1604, 17476, 0, 0, 0}, {1290, 1397, 5717, 21845, 0, 0, 0}, {1542, 64, 4112, 0, 0, 0, 0}, {119, 1280, 4352, 0, 0, 0, 0}, {5240, 8704, 17408, 0, 0, 0, 0}, {4127, 4128, 4883, 64, 5397, 0, 0}, {5722, 8224, 20560, 0, 0, 0, 0}, {4364, 4403, 4608, 4420, 1280, 0, 0}, {1548, 4144, 64, 0, 0, 0, 0}, {1290, 4386, 4437, 0, 0, 0, 0}, {72, 4626, 5140, 0, 0, 0, 0}, {127, 4864, 1280, 0, 0, 0, 0}, {128, 5632, 20480, 0, 0, 0, 0}, {72, 119, 771, 1285, 4369, 0, 0}, {5160, 8738, 17408, 0, 0, 0, 0}, {4111, 4144, 771, 64, 5376, 0, 0}, {5132, 4608, 5188, 0, 0, 0, 0}, {4959, 4896, 1285, 0, 0, 0, 0}, {4128, 1542, 64, 0, 0, 0, 0}, {1295, 119, 4352, 0, 0, 0, 0}, {136, 8704, 5120, 0, 0, 0, 0}, {63, 771, 64, 1285, 4112, 0, 0}, {5674, 8224, 20512, 0, 0, 0, 0}, {4364, 4403, 771, 4420, 5123, 0, 0}, {1548, 64, 4096, 0, 0, 0, 0}, {4386, 4437, 1285, 0, 0, 0, 0}, {72, 5156, 1542, 17476, 0, 0, 0}, {1295, 1392, 4864, 21760, 0, 0, 0}, {3072, 1632, 20560, 0, 0, 0, 0}, {8, 1314, 1792, 1365, 4369, 0, 0}, {8, 4144, 4626, 64, 1024, 0, 0}, {1375, 13107, 21760, 0, 0, 0, 0}, {8, 544, 5140, 0, 0, 0, 0}, {63, 768, 1365, 0, 0, 0, 0}, {20720, 23130, 26214, 0, 0, 0, 0}, {279, 64, 1024, 4352, 0, 0, 0}, {8, 544, 64, 1024, 4112, 0, 0}, {3840, 13107, 1365, 0, 0, 0, 0}, {1642, 12336, 20528, 0, 0, 0, 0}, {8, 4403, 4883, 4420, 5139, 0, 0}, {13980, 15420, 20560, 0, 0, 0, 0}, {290, 768, 277, 4096, 0, 0, 0}, {8, 5172, 5654, 17476, 0, 0, 0}, {1375, 1376, 768, 21760, 0, 0, 0}, {20640, 23040, 26112, 0, 0, 0, 0}, {278, 64, 1028, 4369, 0, 0, 0}, {8, 546, 5120, 0, 0, 0, 0}, {63, 771, 1360, 0, 0, 0, 0}, {8, 4128, 4608, 64, 1028, 0, 0}, {1370, 13056, 21845, 0, 0, 0, 0}, {3084, 1638, 20480, 0, 0, 0, 0}, {8, 1319, 1799, 1360, 4352, 0, 0}, {8, 5152, 5632, 17408, 0, 0, 0}, {1370, 1381, 771, 21845, 0, 0, 0}, {13994, 15360, 20480, 0, 0, 0, 0}, {291, 771, 276, 4112, 0, 0, 0}, {1644, 12288, 20576, 0, 0, 0, 0}, {8, 4386, 4864, 4437, 5127, 0, 0}, {8, 546, 64, 1028, 4096, 0, 0}, {3855, 13056, 1360, 0, 0, 0, 0}, {4144, 1536, 64, 0, 0, 0, 0}, {1290, 119, 4369, 0, 0, 0, 0}, {5144, 4626, 5200, 0, 0, 0, 0}, {4940, 4915, 1280, 0, 0, 0, 0}, {5180, 8704, 17476, 0, 0, 0, 0}, {4127, 4128, 768, 64, 5397, 0, 0}, {128, 5654, 20560, 0, 0, 0, 0}, {72, 119, 768, 1280, 4352, 0, 0}, {72, 5168, 1536, 17408, 0, 0, 0}, {1290, 1397, 4883, 21845, 0, 0, 0}, {1546, 64, 4112, 0, 0, 0, 0}, {4403, 4420, 1280, 0, 0, 0, 0}, {5692, 8192, 20592, 0, 0, 0, 0}, {4381, 4386, 768, 4437, 5143, 0, 0}, {136, 8738, 5140, 0, 0, 0, 0}, {63, 768, 64, 1280, 4096, 0, 0}, {192, 1536, 20480, 0, 0, 0, 0}, {8, 119, 514, 1285, 4369, 0, 0}, {8, 4128, 514, 64, 1024, 0, 0}, {1295, 13107, 21760, 0, 0, 0, 0}, {8, 512, 5188, 0, 0, 0, 0}, {783, 816, 1285, 0, 0, 0, 0}, {20640, 2570, 26214, 0, 0, 0, 0}, {263, 64, 1024, 4352, 0, 0, 0}, {8, 512, 64, 1024, 4096, 0, 0}, {255, 13107, 1285, 0, 0, 0, 0}, {1546, 12288, 20576, 0, 0, 0, 0}, {8, 4403, 512, 4420, 1287, 0, 0}, {14028, 2560, 20480, 0, 0, 0, 0}, {306, 514, 261, 4112, 0, 0, 0}, {8, 5220, 514, 17476, 0, 0, 0}, {1295, 1328, 1536, 21760, 0, 0, 0}, {7248, 5744, 20560, 0, 0, 0, 0}, {1309, 1314, 1553, 1365, 4369, 0, 0}, {5240, 8738, 17408, 0, 0, 0, 0}, {4127, 4128, 4883, 64, 5376, 0, 0}, {72, 4656, 5140, 0, 0, 0, 0}, {1322, 4864, 1365, 0, 0, 0, 0}, {4144, 5654, 64, 0, 0, 0, 0}, {1375, 119, 4352, 0, 0, 0, 0}, {2600, 8704, 5200, 0, 0, 0, 0}, {780, 819, 64, 1301, 4096, 0, 0}, {5722, 8192, 20592, 0, 0, 0, 0}, {4364, 4403, 4608, 4420, 1303, 0, 0}, {1580, 64, 4112, 0, 0, 0, 0}, {4386, 4437, 5120, 0, 0, 0, 0}, {72, 5236, 4626, 17476, 0, 0, 0}, {1375, 1312, 5632, 21760, 0, 0, 0}, {4128, 5632, 64, 0, 0, 0, 0}, {1370, 119, 4369, 0, 0, 0, 0}, {72, 4642, 5120, 0, 0, 0, 0}, {1327, 4883, 1360, 0, 0, 0, 0}, {5228, 8704, 17476, 0, 0, 0, 0}, {4111, 4144, 4864, 64, 5397, 0, 0}, {7244, 5734, 20480, 0, 0, 0, 0}, {1304, 1319, 1559, 1360, 4352, 0, 0}, {72, 5216, 4608, 17408, 0, 0, 0}, {1370, 1317, 5654, 21845, 0, 0, 0}, {1578, 64, 4096, 0, 0, 0, 0}, {4403, 4420, 5140, 0, 0, 0, 0}, {5708, 8224, 20512, 0, 0, 0, 0}, {4381, 4386, 4626, 4437, 1298, 0, 0}, {2594, 8738, 5188, 0, 0, 0, 0}, {783, 816, 64, 1296, 4112, 0, 0}, {20720, 2560, 26112, 0, 0, 0, 0}, {262, 64, 1028, 4369, 0, 0, 0}, {8, 514, 5200, 0, 0, 0, 0}, {780, 819, 1280, 0, 0, 0, 0}, {8, 4144, 512, 64, 1028, 0, 0}, {1290, 13056, 21845, 0, 0, 0, 0}, {192, 1542, 20560, 0, 0, 0, 0}, {8, 119, 512, 1280, 4352, 0, 0}, {8, 5232, 512, 17408, 0, 0, 0}, {1290, 1333, 1542, 21845, 0, 0, 0}, {14074, 2570, 20560, 0, 0, 0, 0}, {307, 512, 260, 4096, 0, 0, 0}, {1548, 12336, 20528, 0, 0, 0, 0}, {8, 4386, 514, 4437, 1282, 0, 0}, {8, 514, 64, 1028, 4112, 0, 0}, {255, 13056, 1280, 0, 0, 0, 0}, {2048, 14080, 16384, 0, 0, 0, 0}, {10, 54, 80, 257, 0, 0, 0}, {10, 5408, 514, 21760, 0, 0, 0}, {1036, 1072, 771, 17408, 0, 0, 0}, {204, 13056, 1028, 0, 0, 0, 0}, {10, 512, 80, 1285, 4096, 0, 0}, {10, 102, 512, 1030, 4352, 0, 0}, {240, 1799, 16496, 0, 0, 0, 0}, {16512, 2056, 14088, 0, 0, 0, 0}, {259, 80, 1285, 4357, 0, 0, 0}, {10, 512, 5376, 0, 0, 0, 0}, {60, 771, 1028, 0, 0, 0, 0}, {1036, 13056, 17408, 0, 0, 0, 0}, {10, 4128, 514, 80, 1285, 0, 0}, {10, 4386, 514, 4420, 1028, 0, 0}, {1807, 12288, 16384, 0, 0, 0, 0}, {3840, 1824, 80, 4112, 0, 0, 0}, {3072, 1058, 1092, 4369, 0, 0, 0}, {90, 5424, 4626, 21760, 0, 0, 0}, {1100, 1056, 4883, 17408, 0, 0, 0}, {60, 768, 80, 1044, 4096, 0, 0}, {170, 8704, 5397, 0, 0, 0, 0}, {90, 102, 768, 1046, 4352, 0, 0}, {160, 5911, 16480, 0, 0, 0, 0}, {5912, 4144, 80, 0, 0, 0, 0}, {5401, 4403, 4437, 0, 0, 0, 0}, {5402, 4656, 5440, 0, 0, 0, 0}, {5915, 4915, 1092, 0, 0, 0, 0}, {4124, 4128, 768, 80, 5120, 0, 0}, {5439, 8738, 21845, 0, 0, 0, 0}, {4382, 4386, 768, 4420, 5376, 0, 0}, {5951, 8224, 16448, 0, 0, 0, 0}, {160, 5888, 16416, 0, 0, 0, 0}, {90, 102, 771, 1042, 4369, 0, 0}, {170, 8738, 5376, 0, 0, 0, 0}, {60, 771, 80, 1040, 4112, 0, 0}, {1096, 1060, 4864, 17476, 0, 0, 0}, {90, 5413, 4608, 21845, 0, 0, 0}, {3084, 1062, 1088, 4352, 0, 0, 0}, {3855, 1831, 80, 4096, 0, 0, 0}, {5928, 8192, 16384, 0, 0, 0, 0}, {4367, 4403, 771, 4437, 5397, 0, 0}, {5418, 8704, 21760, 0, 0, 0, 0}, {4108, 4144, 771, 80, 5140, 0, 0}, {5900, 4896, 1088, 0, 0, 0, 0}, {5391, 4642, 5461, 0, 0, 0, 0}, {5388, 4386, 4420, 0, 0, 0, 0}, {5903, 4128, 80, 0, 0, 0, 0}, {240, 1792, 16432, 0, 0, 0, 0}, {10, 102, 514, 1026, 4369, 0, 0}, {10, 514, 80, 1280, 4112, 0, 0}, {204, 13107, 1024, 0, 0, 0, 0}, {1032, 1076, 768, 17476, 0, 0, 0}, {10, 5429, 512, 21845, 0, 0, 0}, {10, 54, 80, 256, 0, 0, 0}, {2056, 14135, 16448, 0, 0, 0, 0}, {1800, 12336, 16448, 0, 0, 0, 0}, {10, 4403, 512, 4437, 1024, 0, 0}, {10, 4144, 512, 80, 1280, 0, 0}, {1032, 13107, 17476, 0, 0, 0, 0}, {60, 768, 1024, 0, 0, 0, 0}, {10, 514, 5397, 0, 0, 0, 0}, {258, 80, 1280, 4372, 0, 0, 0}, {16576, 2048, 14143, 0, 0, 0, 0}, {2176, 14144, 16448, 0, 0, 0, 0}, {10, 773, 1285, 273, 0, 0, 0}, {10, 5472, 5954, 21760, 0, 0, 0}, {1100, 1136, 1859, 17408, 0, 0, 0}, {3072, 13056, 1092, 0, 0, 0, 0}, {10, 544, 80, 1285, 4112, 0, 0}, {10, 1056, 1536, 1094, 4352, 0, 0}, {3855, 1911, 18247, 0, 0, 0, 0}, {16576, 18504, 14152, 0, 0, 0, 0}, {275, 80, 1285, 4357, 0, 0, 0}, {10, 544, 5440, 0, 0, 0, 0}, {783, 819, 1092, 0, 0, 0, 0}, {1100, 13056, 17408, 0, 0, 0, 0}, {10, 4144, 4626, 80, 1285, 0, 0}, {10, 4386, 4864, 4420, 5376, 0, 0}, {1919, 12336, 16448, 0, 0, 0, 0}, {1792, 80, 4096, 0, 0, 0, 0}, {102, 1028, 4369, 0, 0, 0, 0}, {90, 5488, 1874, 21760, 0, 0, 0}, {1036, 1120, 5971, 17408, 0, 0, 0}, {780, 816, 80, 1028, 4112, 0, 0}, {2048, 8704, 5461, 0, 0, 0, 0}, {1036, 1072, 1792, 1110, 4352, 0, 0}, {2056, 6007, 22359, 0, 0, 0, 0}, {1800, 4128, 80, 0, 0, 0, 0}, {1036, 4403, 4437, 0, 0, 0, 0}, {90, 4608, 5376, 0, 0, 0, 0}, {108, 4883, 1028, 0, 0, 0, 0}, {4108, 4144, 4864, 80, 5120, 0, 0}, {5503, 8738, 21845, 0, 0, 0, 0}, {4382, 4386, 4626, 4420, 1028, 0, 0}, {5983, 8192, 16384, 0, 0, 0, 0}, {2048, 5984, 22272, 0, 0, 0, 0}, {1032, 1076, 1799, 1106, 4369, 0, 0}, {2056, 8738, 5440, 0, 0, 0, 0}, {783, 819, 80, 1024, 4096, 0, 0}, {1032, 1124, 5956, 17476, 0, 0, 0}, {90, 5477, 1877, 21845, 0, 0, 0}, {102, 1024, 4352, 0, 0, 0, 0}, {1799, 80, 4112, 0, 0, 0, 0}, {5960, 8224, 16448, 0, 0, 0, 0}, {4367, 4403, 4608, 4437, 1024, 0, 0}, {5482, 8704, 21760, 0, 0, 0, 0}, {4124, 4128, 4883, 80, 5140, 0, 0}, {108, 4864, 1024, 0, 0, 0, 0}, {90, 4626, 5397, 0, 0, 0, 0}, {1032, 4386, 4420, 0, 0, 0, 0}, {1807, 4144, 80, 0, 0, 0, 0}, {3840, 1904, 18176, 0, 0, 0, 0}, {10, 1060, 1542, 1090, 4369, 0, 0}, {10, 546, 80, 1280, 4096, 0, 0}, {3084, 13107, 1088, 0, 0, 0, 0}, {1096, 1140, 1860, 17476, 0, 0, 0}, {10, 5493, 5973, 21845, 0, 0, 0}, {10, 774, 1280, 272, 0, 0, 0}, {2184, 14199, 16384, 0, 0, 0, 0}, {1912, 12288, 16384, 0, 0, 0, 0}, {10, 4403, 4883, 4437, 5397, 0, 0}, {10, 4128, 4608, 80, 1280, 0, 0}, {1096, 13107, 17476, 0, 0, 0, 0}, {780, 816, 1088, 0, 0, 0, 0}, {10, 546, 5461, 0, 0, 0, 0}, {274, 80, 1280, 4372, 0, 0, 0}, {16512, 18432, 14207, 0, 0, 0, 0}, {16512, 18432, 30464, 0, 0, 0, 0}, {279, 80, 1285, 4369, 0, 0, 0}, {10, 546, 5376, 0, 0, 0, 0}, {60, 771, 1088, 0, 0, 0, 0}, {1096, 13056, 17476, 0, 0, 0, 0}, {10, 4128, 4608, 80, 1285, 0, 0}, {10, 1062, 1542, 1088, 4352, 0, 0}, {3855, 1911, 16384, 0, 0, 0, 0}, {14216, 16128, 16384, 0, 0, 0, 0}, {291, 771, 277, 4112, 0, 0, 0}, {10, 5408, 5888, 21760, 0, 0, 0}, {1096, 1140, 771, 17476, 0, 0, 0}, {3084, 13056, 1088, 0, 0, 0, 0}, {10, 546, 80, 1285, 4096, 0, 0}, {10, 4386, 4864, 4420, 5382, 0, 0}, {1919, 12288, 16496, 0, 0, 0, 0}, {4144, 1792, 80, 0, 0, 0, 0}, {1032, 102, 4369, 0, 0, 0, 0}, {5402, 4626, 5440, 0, 0, 0, 0}, {4959, 4915, 1024, 0, 0, 0, 0}, {4124, 4128, 768, 80, 5140, 0, 0}, {5439, 8704, 21845, 0, 0, 0, 0}, {90, 102, 768, 1024, 4352, 0, 0}, {160, 5911, 16448, 0, 0, 0, 0}, {1800, 80, 4112, 0, 0, 0, 0}, {4403, 4437, 1024, 0, 0, 0, 0}, {90, 5424, 1792, 21760, 0, 0, 0}, {1032, 1124, 4883, 17476, 0, 0, 0}, {60, 768, 80, 1024, 4096, 0, 0}, {170, 8738, 5397, 0, 0, 0, 0}, {4382, 4386, 768, 4420, 5398, 0, 0}, {5951, 8192, 16480, 0, 0, 0, 0}, {160, 5888, 16384, 0, 0, 0, 0}, {90, 102, 771, 1028, 4369, 0, 0}, {5418, 8738, 21760, 0, 0, 0, 0}, {4108, 4144, 771, 80, 5120, 0, 0}, {4940, 4896, 1028, 0, 0, 0, 0}, {5391, 4608, 5461, 0, 0, 0, 0}, {1036, 102, 4352, 0, 0, 0, 0}, {4128, 1799, 80, 0, 0, 0, 0}, {5928, 8224, 16416, 0, 0, 0, 0}, {4367, 4403, 771, 4437, 5379, 0, 0}, {170, 8704, 5376, 0, 0, 0, 0}, {60, 771, 80, 1028, 4112, 0, 0}, {1036, 1120, 4864, 17408, 0, 0, 0}, {90, 5413, 1799, 21845, 0, 0, 0}, {4386, 4420, 1028, 0, 0, 0, 0}, {1807, 80, 4096, 0, 0, 0, 0}, {3840, 1904, 16448, 0, 0, 0, 0}, {10, 1058, 1536, 1092, 4369, 0, 0}, {10, 4144, 4626, 80, 1280, 0, 0}, {1100, 13107, 17408, 0, 0, 0, 0}, {60, 768, 1092, 0, 0, 0, 0}, {10, 544, 5397, 0, 0, 0, 0}, {278, 80, 1280, 4352, 0, 0, 0}, {16576, 18504, 30583, 0, 0, 0, 0}, {1912, 12336, 16432, 0, 0, 0, 0}, {10, 4403, 4883, 4437, 5395, 0, 0}, {10, 544, 80, 1280, 4112, 0, 0}, {3072, 13107, 1092, 0, 0, 0, 0}, {1100, 1136, 768, 17408, 0, 0, 0}, {10, 5429, 5911, 21845, 0, 0, 0}, {290, 768, 276, 4096, 0, 0, 0}, {14271, 16191, 16448, 0, 0, 0, 0}, {16576, 2048, 30464, 0, 0, 0, 0}, {263, 80, 1285, 4369, 0, 0, 0}, {10, 514, 5440, 0, 0, 0, 0}, {783, 819, 1024, 0, 0, 0, 0}, {1032, 13056, 17476, 0, 0, 0, 0}, {10, 4144, 512, 80, 1285, 0, 0}, {10, 102, 512, 1024, 4352, 0, 0}, {240, 1799, 16448, 0, 0, 0, 0}, {14280, 2056, 16448, 0, 0, 0, 0}, {307, 512, 261, 4096, 0, 0, 0}, {10, 5472, 512, 21760, 0, 0, 0}, {1032, 1076, 1799, 17476, 0, 0, 0}, {204, 13056, 1024, 0, 0, 0, 0}, {10, 514, 80, 1285, 4112, 0, 0}, {10, 4386, 514, 4420, 1026, 0, 0}, {1807, 12336, 16432, 0, 0, 0, 0}, {4128, 5888, 80, 0, 0, 0, 0}, {1096, 102, 4369, 0, 0, 0, 0}, {90, 4642, 5376, 0, 0, 0, 0}, {1068, 4883, 1088, 0, 0, 0, 0}, {4108, 4144, 4864, 80, 5140, 0, 0}, {5503, 8704, 21845, 0, 0, 0, 0}, {1050, 1062, 1814, 1088, 4352, 0, 0}, {8031, 6007, 16384, 0, 0, 0, 0}, {1832, 80, 4096, 0, 0, 0, 0}, {4403, 4437, 5397, 0, 0, 0, 0}, {90, 5488, 4608, 21760, 0, 0, 0}, {1096, 1060, 5911, 17476, 0, 0, 0}, {780, 816, 80, 1040, 4112, 0, 0}, {2082, 8738, 5461, 0, 0, 0, 0}, {4382, 4386, 4626, 4420, 1042, 0, 0}, {5983, 8224, 16416, 0, 0, 0, 0}, {8000, 5984, 16448, 0, 0, 0, 0}, {1054, 1058, 1809, 1092, 4369, 0, 0}, {5482, 8738, 21760, 0, 0, 0, 0}, {4124, 4128, 4883, 80, 5120, 0, 0}, {1064, 4864, 1092, 0, 0, 0, 0}, {90, 4656, 5397, 0, 0, 0, 0}, {1100, 102, 4352, 0, 0, 0, 0}, {4144, 5911, 80, 0, 0, 0, 0}, {5960, 8192, 16480, 0, 0, 0, 0}, {4367, 4403, 4608, 4437, 1046, 0, 0}, {2090, 8704, 5440, 0, 0, 0, 0}, {783, 819, 80, 1044, 4096, 0, 0}, {1100, 1056, 5888, 17408, 0, 0, 0}, {90, 5477, 4626, 21845, 0, 0, 0}, {4386, 4420, 5376, 0, 0, 0, 0}, {1839, 80, 4112, 0, 0, 0, 0}, {240, 1792, 16384, 0, 0, 0, 0}, {10, 102, 514, 1028, 4369, 0, 0}, {10, 4128, 514, 80, 1280, 0, 0}, {1036, 13107, 17408, 0, 0, 0, 0}, {780, 816, 1028, 0, 0, 0, 0}, {10, 512, 5461, 0, 0, 0, 0}, {262, 80, 1280, 4352, 0, 0, 0}, {16512, 2056, 30583, 0, 0, 0, 0}, {1800, 12288, 16496, 0, 0, 0, 0}, {10, 4403, 512, 4437, 1030, 0, 0}, {10, 512, 80, 1280, 4096, 0, 0}, {204, 13107, 1028, 0, 0, 0, 0}, {1036, 1072, 1792, 17408, 0, 0, 0}, {10, 5493, 514, 21845, 0, 0, 0}, {306, 514, 260, 4112, 0, 0, 0}, {14335, 2048, 16384, 0, 0, 0, 0}, {2048, 12288, 16384, 0, 0, 0, 0}, {10, 51, 85, 257, 0, 0, 0}, {10, 4128, 514, 20480, 0, 0, 0}, {1036, 51, 771, 17408, 0, 0, 0}, {204, 12300, 1028, 0, 0, 0, 0}, {10, 512, 85, 1285, 4101, 0, 0}, {10, 102, 512, 1030, 4102, 0, 0}, {255, 1799, 16511, 0, 0, 0, 0}, {16512, 2056, 12288, 0, 0, 0, 0}, {259, 85, 1285, 4352, 0, 0, 0}, {10, 512, 4096, 0, 0, 0, 0}, {51, 771, 1028, 0, 0, 0, 0}, {1036, 13312, 17408, 0, 0, 0, 0}, {10, 4133, 514, 85, 1285, 0, 0}, {10, 4134, 514, 4160, 1028, 0, 0}, {1807, 14080, 16384, 0, 0, 0, 0}, {160, 2080, 4112, 0, 0, 0, 0}, {51, 768, 85, 1041, 4369, 0, 0}, {170, 4626, 16490, 0, 0, 0, 0}, {95, 51, 768, 1043, 4115, 0, 0}, {4156, 8192, 4176, 5140, 0, 0, 0}, {4671, 8704, 85, 5397, 0, 0, 0}, {1100, 102, 5654, 17408, 0, 0, 0}, {95, 4192, 5911, 20480, 0, 0, 0}, {6168, 4144, 20560, 0, 0, 0, 0}, {1049, 51, 768, 85, 4352, 0, 0}, {6682, 4656, 16448, 0, 0, 0, 0}, {1051, 51, 768, 1092, 4096, 0, 0}, {4124, 1056, 5200, 0, 0, 0, 0}, {4637, 1826, 85, 0, 0, 0, 0}, {4638, 1058, 1092, 0, 0, 0, 0}, {4127, 1824, 4160, 0, 0, 0, 0}, {6144, 4128, 20480, 0, 0, 0, 0}, {1053, 51, 771, 85, 4369, 0, 0}, {6656, 4642, 16384, 0, 0, 0, 0}, {1055, 51, 771, 1088, 4112, 0, 0}, {4108, 1060, 5188, 0, 0, 0, 0}, {4623, 1829, 85, 0, 0, 0, 0}, {4620, 1062, 1088, 0, 0, 0, 0}, {4111, 1831, 4176, 0, 0, 0, 0}, {160, 2088, 4096, 0, 0, 0, 0}, {51, 771, 85, 1045, 4352, 0, 0}, {170, 4608, 16426, 0, 0, 0, 0}, {95, 51, 771, 1047, 4099, 0, 0}, {4140, 8224, 4160, 5120, 0, 0, 0}, {4653, 8738, 85, 5376, 0, 0, 0}, {1096, 102, 5632, 17476, 0, 0, 0}, {95, 4208, 5888, 20560, 0, 0, 0}, {16576, 2048, 12336, 0, 0, 0, 0}, {258, 85, 1280, 4369, 0, 0, 0}, {10, 514, 4112, 0, 0, 0, 0}, {51, 768, 1024, 0, 0, 0, 0}, {1032, 13364, 17476, 0, 0, 0, 0}, {10, 4149, 512, 85, 1280, 0, 0}, {10, 4150, 512, 4176, 1024, 0, 0}, {1800, 14135, 16448, 0, 0, 0, 0}, {2056, 12336, 16448, 0, 0, 0, 0}, {10, 51, 85, 256, 0, 0, 0}, {10, 4144, 512, 20560, 0, 0, 0}, {1032, 51, 768, 17476, 0, 0, 0}, {204, 12348, 1024, 0, 0, 0, 0}, {10, 514, 85, 1280, 4117, 0, 0}, {10, 102, 514, 1026, 4118, 0, 0}, {255, 1792, 16447, 0, 0, 0, 0}, {12480, 14400, 16448, 0, 0, 0, 0}, {51, 529, 276, 4369, 0, 0, 0}, {10, 4192, 4674, 20480, 0, 0, 0}, {1100, 51, 1859, 17408, 0, 0, 0}, {3072, 12288, 1092, 0, 0, 0, 0}, {10, 544, 85, 1285, 4112, 0, 0}, {10, 4128, 4608, 4166, 5120, 0, 0}, {1912, 12336, 18247, 0, 0, 0, 0}, {16576, 18504, 28672, 0, 0, 0, 0}, {278, 85, 1285, 4352, 0, 0, 0}, {10, 544, 4160, 0, 0, 0, 0}, {783, 51, 1092, 0, 0, 0, 0}, {1100, 12288, 17408, 0, 0, 0, 0}, {10, 4144, 4626, 85, 1285, 0, 0}, {10, 1058, 1536, 1092, 4096, 0, 0}, {3855, 1904, 16448, 0, 0, 0, 0}, {2048, 8192, 4176, 0, 0, 0, 0}, {780, 51, 85, 1028, 4369, 0, 0}, {4728, 8738, 21074, 0, 0, 0, 0}, {4108, 51, 4864, 4179, 5120, 0, 0}, {108, 1028, 4112, 0, 0, 0, 0}, {4608, 85, 5376, 0, 0, 0, 0}, {1036, 102, 4694, 17408, 0, 0, 0}, {95, 4128, 1879, 20480, 0, 0, 0}, {2056, 4208, 20560, 0, 0, 0, 0}, {1036, 51, 1792, 85, 4352, 0, 0}, {4698, 8704, 16384, 0, 0, 0, 0}, {4127, 51, 4883, 4160, 1028, 0, 0}, {1036, 4144, 5200, 0, 0, 0, 0}, {1800, 4642, 85, 0, 0, 0, 0}, {102, 4626, 1028, 0, 0, 0, 0}, {95, 1792, 4096, 0, 0, 0, 0}, {2048, 4192, 20480, 0, 0, 0, 0}, {1032, 51, 1799, 85, 4369, 0, 0}, {4680, 8738, 16448, 0, 0, 0, 0}, {4111, 51, 4864, 4176, 1024, 0, 0}, {1032, 4128, 5188, 0, 0, 0, 0}, {1807, 4656, 85, 0, 0, 0, 0}, {102, 4608, 1024, 0, 0, 0, 0}, {95, 1799, 4112, 0, 0, 0, 0}, {2056, 8224, 4160, 0, 0, 0, 0}, {783, 51, 85, 1024, 4352, 0, 0}, {4714, 8704, 20992, 0, 0, 0, 0}, {4124, 51, 4883, 4163, 5140, 0, 0}, {108, 1024, 4096, 0, 0, 0, 0}, {4626, 85, 5397, 0, 0, 0, 0}, {1032, 102, 4676, 17476, 0, 0, 0}, {95, 4144, 1872, 20560, 0, 0, 0}, {16512, 18432, 28784, 0, 0, 0, 0}, {279, 85, 1280, 4369, 0, 0, 0}, {10, 546, 4176, 0, 0, 0, 0}, {780, 51, 1088, 0, 0, 0, 0}, {1096, 12336, 17476, 0, 0, 0, 0}, {10, 4128, 4608, 85, 1280, 0, 0}, {10, 1062, 1542, 1088, 4112, 0, 0}, {3840, 1911, 16384, 0, 0, 0, 0}, {12528, 14456, 16384, 0, 0, 0, 0}, {51, 531, 277, 4352, 0, 0, 0}, {10, 4208, 4688, 20560, 0, 0, 0}, {1096, 51, 1860, 17476, 0, 0, 0}, {3084, 12336, 1088, 0, 0, 0, 0}, {10, 546, 85, 1280, 4096, 0, 0}, {10, 4144, 4626, 4182, 5140, 0, 0}, {1919, 12288, 18176, 0, 0, 0, 0}, {16512, 18432, 12288, 0, 0, 0, 0}, {274, 85, 1285, 4369, 0, 0, 0}, {10, 546, 4096, 0, 0, 0, 0}, {51, 771, 1088, 0, 0, 0, 0}, {1096, 13380, 17476, 0, 0, 0, 0}, {10, 4133, 4613, 85, 1285, 0, 0}, {10, 4134, 4614, 4160, 5120, 0, 0}, {1912, 14199, 16384, 0, 0, 0, 0}, {2184, 12288, 16384, 0, 0, 0, 0}, {10, 771, 1285, 272, 0, 0, 0}, {10, 4128, 4608, 20480, 0, 0, 0}, {1096, 51, 771, 17476, 0, 0, 0}, {3084, 12300, 1088, 0, 0, 0, 0}, {10, 546, 85, 1285, 4101, 0, 0}, {10, 1060, 1542, 1090, 4102, 0, 0}, {3855, 1904, 18191, 0, 0, 0, 0}, {2048, 4144, 20560, 0, 0, 0, 0}, {1032, 51, 768, 85, 4369, 0, 0}, {170, 4626, 16448, 0, 0, 0, 0}, {95, 51, 768, 1024, 4096, 0, 0}, {4124, 4208, 5140, 0, 0, 0, 0}, {5439, 1792, 85, 0, 0, 0, 0}, {4698, 102, 1024, 0, 0, 0, 0}, {4127, 5911, 4160, 0, 0, 0, 0}, {160, 2056, 4112, 0, 0, 0, 0}, {51, 768, 85, 1024, 4352, 0, 0}, {2048, 4656, 21082, 0, 0, 0, 0}, {1032, 51, 768, 1111, 4115, 0, 0}, {4156, 8192, 4176, 1024, 0, 0, 0}, {4637, 8738, 85, 5397, 0, 0, 0}, {1032, 102, 5654, 17476, 0, 0, 0}, {95, 4192, 1792, 20480, 0, 0, 0}, {160, 2048, 4096, 0, 0, 0, 0}, {51, 771, 85, 1028, 4369, 0, 0}, {2056, 4642, 21000, 0, 0, 0, 0}, {1036, 51, 771, 1107, 4099, 0, 0}, {4140, 8224, 4160, 1028, 0, 0, 0}, {4623, 8704, 85, 5376, 0, 0, 0}, {1036, 102, 5632, 17408, 0, 0, 0}, {95, 4208, 1799, 20560, 0, 0, 0}, {2056, 4128, 20480, 0, 0, 0, 0}, {1036, 51, 771, 85, 4352, 0, 0}, {170, 4608, 16384, 0, 0, 0, 0}, {95, 51, 771, 1028, 4112, 0, 0}, {4108, 4192, 5120, 0, 0, 0, 0}, {5418, 1799, 85, 0, 0, 0, 0}, {4680, 102, 1028, 0, 0, 0, 0}, {4111, 5888, 4176, 0, 0, 0, 0}, {2176, 12336, 16448, 0, 0, 0, 0}, {10, 768, 1280, 273, 0, 0, 0}, {10, 4144, 4626, 20560, 0, 0, 0}, {1100, 51, 768, 17408, 0, 0, 0}, {3072, 12348, 1092, 0, 0, 0, 0}, {10, 544, 85, 1280, 4117, 0, 0}, {10, 1056, 1536, 1094, 4118, 0, 0}, {3840, 1911, 18248, 0, 0, 0, 0}, {16576, 18504, 12336, 0, 0, 0, 0}, {275, 85, 1280, 4352, 0, 0, 0}, {10, 544, 4112, 0, 0, 0, 0}, {51, 768, 1092, 0, 0, 0, 0}, {1100, 13424, 17408, 0, 0, 0, 0}, {10, 4149, 4631, 85, 1280, 0, 0}, {10, 4150, 4628, 4176, 5140, 0, 0}, {1919, 14144, 16448, 0, 0, 0, 0}, {16576, 2048, 28672, 0, 0, 0, 0}, {263, 85, 1285, 4369, 0, 0, 0}, {10, 514, 4160, 0, 0, 0, 0}, {783, 51, 1024, 0, 0, 0, 0}, {1032, 12288, 17476, 0, 0, 0, 0}, {10, 4144, 512, 85, 1285, 0, 0}, {10, 102, 512, 1024, 4096, 0, 0}, {255, 1799, 16448, 0, 0, 0, 0}, {12480, 2056, 16448, 0, 0, 0, 0}, {51, 512, 261, 4352, 0, 0, 0}, {10, 4192, 512, 20480, 0, 0, 0}, {1032, 51, 1799, 17476, 0, 0, 0}, {204, 12288, 1024, 0, 0, 0, 0}, {10, 514, 85, 1285, 4112, 0, 0}, {10, 4128, 514, 4166, 1026, 0, 0}, {1807, 12336, 18224, 0, 0, 0, 0}, {6224, 4208, 20560, 0, 0, 0, 0}, {1053, 51, 1809, 85, 4369, 0, 0}, {4728, 8738, 16384, 0, 0, 0, 0}, {4127, 51, 4883, 4160, 5120, 0, 0}, {4188, 4144, 5140, 0, 0, 0, 0}, {5418, 4608, 85, 0, 0, 0, 0}, {1062, 5654, 1088, 0, 0, 0, 0}, {95, 1911, 4096, 0, 0, 0, 0}, {2088, 8192, 4176, 0, 0, 0, 0}, {780, 51, 85, 1045, 4352, 0, 0}, {4698, 8704, 21104, 0, 0, 0, 0}, {4108, 51, 4864, 4179, 1047, 0, 0}, {1068, 1088, 4112, 0, 0, 0, 0}, {4642, 85, 5376, 0, 0, 0, 0}, {1096, 102, 4626, 17476, 0, 0, 0}, {95, 4128, 5888, 20480, 0, 0, 0}, {2080, 8224, 4160, 0, 0, 0, 0}, {783, 51, 85, 1041, 4369, 0, 0}, {4680, 8738, 21026, 0, 0, 0, 0}, {4124, 51, 4883, 4163, 1043, 0, 0}, {1064, 1092, 4096, 0, 0, 0, 0}, {4656, 85, 5397, 0, 0, 0, 0}, {1100, 102, 4608, 17408, 0, 0, 0}, {95, 4144, 5911, 20560, 0, 0, 0}, {6216, 4192, 20480, 0, 0, 0, 0}, {1049, 51, 1814, 85, 4352, 0, 0}, {4714, 8704, 16448, 0, 0, 0, 0}, {4111, 51, 4864, 4176, 5140, 0, 0}, {4172, 4128, 5120, 0, 0, 0, 0}, {5439, 4626, 85, 0, 0, 0, 0}, {1058, 5632, 1092, 0, 0, 0, 0}, {95, 1904, 4112, 0, 0, 0, 0}, {12528, 2048, 16384, 0, 0, 0, 0}, {51, 514, 260, 4369, 0, 0, 0}, {10, 4208, 514, 20560, 0, 0, 0}, {1036, 51, 1792, 17408, 0, 0, 0}, {204, 12336, 1028, 0, 0, 0, 0}, {10, 512, 85, 1280, 4096, 0, 0}, {10, 4144, 512, 4182, 1030, 0, 0}, {1800, 12288, 18295, 0, 0, 0, 0}, {16512, 2056, 28784, 0, 0, 0, 0}, {262, 85, 1280, 4352, 0, 0, 0}, {10, 512, 4176, 0, 0, 0, 0}, {780, 51, 1028, 0, 0, 0, 0}, {1036, 12336, 17408, 0, 0, 0, 0}, {10, 4128, 514, 85, 1280, 0, 0}, {10, 102, 514, 1028, 4112, 0, 0}, {255, 1792, 16384, 0, 0, 0, 0}, {2560, 13056, 21760, 0, 0, 0, 0}, {8, 48, 64, 257, 0, 0, 0}, {8, 4386, 514, 17408, 0, 0, 0}, {1295, 48, 771, 20480, 0, 0, 0}, {8, 512, 64, 1028, 4356, 0, 0}, {240, 13071, 1285, 0, 0, 0, 0}, {192, 1542, 21866, 0, 0, 0, 0}, {8, 112, 512, 1287, 4359, 0, 0}, {8, 512, 4352, 0, 0, 0, 0}, {48, 771, 1285, 0, 0, 0, 0}, {21930, 2570, 13056, 0, 0, 0, 0}, {259, 64, 1028, 4096, 0, 0, 0}, {1548, 13568, 21760, 0, 0, 0, 0}, {8, 4389, 514, 4437, 1285, 0, 0}, {8, 4390, 514, 64, 1028, 0, 0}, {1295, 13824, 20480, 0, 0, 0, 0}, {48, 768, 64, 1296, 4112, 0, 0}, {136, 2594, 4369, 0, 0, 0, 0}, {72, 48, 768, 1298, 4370, 0, 0}, {128, 4883, 21887, 0, 0, 0, 0}, {4412, 8704, 4420, 5140, 0, 0, 0}, {4927, 8192, 64, 5397, 0, 0, 0}, {1370, 112, 5654, 20480, 0, 0, 0}, {72, 4471, 5911, 17408, 0, 0, 0}, {1304, 48, 768, 1360, 4352, 0, 0}, {6425, 4915, 21845, 0, 0, 0, 0}, {1306, 48, 768, 64, 4096, 0, 0}, {6939, 4403, 17476, 0, 0, 0, 0}, {4892, 1312, 1360, 0, 0, 0, 0}, {4381, 1570, 4437, 0, 0, 0, 0}, {4382, 1314, 5188, 0, 0, 0, 0}, {4895, 1568, 64, 0, 0, 0, 0}, {6400, 4896, 21760, 0, 0, 0, 0}, {1309, 48, 771, 1365, 4369, 0, 0}, {6912, 4386, 17408, 0, 0, 0, 0}, {1311, 48, 771, 64, 4112, 0, 0}, {4364, 1572, 4420, 0, 0, 0, 0}, {4879, 1317, 1365, 0, 0, 0, 0}, {4876, 1574, 64, 0, 0, 0, 0}, {4367, 1319, 5200, 0, 0, 0, 0}, {136, 2600, 4352, 0, 0, 0, 0}, {48, 771, 64, 1301, 4096, 0, 0}, {128, 4864, 21802, 0, 0, 0, 0}, {72, 48, 771, 1303, 4355, 0, 0}, {4908, 8224, 64, 5376, 0, 0, 0}, {4397, 8738, 4437, 5120, 0, 0, 0}, {72, 4454, 5888, 17476, 0, 0, 0}, {1375, 112, 5632, 20560, 0, 0, 0}, {48, 768, 1280, 0, 0, 0, 0}, {8, 514, 4369, 0, 0, 0, 0}, {258, 64, 1024, 4112, 0, 0, 0}, {22015, 2560, 13107, 0, 0, 0, 0}, {8, 4404, 512, 4420, 1280, 0, 0}, {1546, 13621, 21845, 0, 0, 0, 0}, {1290, 13878, 20560, 0, 0, 0, 0}, {8, 4407, 512, 64, 1024, 0, 0}, {8, 48, 64, 256, 0, 0, 0}, {2570, 13107, 21845, 0, 0, 0, 0}, {1290, 48, 768, 20560, 0, 0, 0}, {8, 4403, 512, 17476, 0, 0, 0}, {240, 13116, 1280, 0, 0, 0, 0}, {8, 514, 64, 1024, 4373, 0, 0}, {8, 112, 514, 1282, 4374, 0, 0}, {192, 1536, 21823, 0, 0, 0, 0}, {4864, 64, 5376, 0, 0, 0, 0}, {120, 1285, 4369, 0, 0, 0, 0}, {72, 4386, 1602, 17408, 0, 0, 0}, {1295, 112, 4931, 20480, 0, 0, 0}, {2560, 8704, 4420, 0, 0, 0, 0}, {783, 48, 64, 1285, 4112, 0, 0}, {4972, 8224, 17990, 0, 0, 0, 0}, {4367, 48, 4608, 4423, 5120, 0, 0}, {72, 1536, 4352, 0, 0, 0, 0}, {112, 4883, 1285, 0, 0, 0, 0}, {1546, 4896, 64, 0, 0, 0, 0}, {1295, 4403, 5188, 0, 0, 0, 0}, {4940, 8192, 21760, 0, 0, 0, 0}, {4381, 48, 4626, 4437, 1285, 0, 0}, {2570, 4454, 17476, 0, 0, 0, 0}, {1295, 48, 1536, 64, 4096, 0, 0}, {3840, 13056, 1360, 0, 0, 0, 0}, {8, 546, 64, 1028, 4369, 0, 0}, {8, 4386, 4864, 4434, 5120, 0, 0}, {1644, 13107, 21331, 0, 0, 0, 0}, {48, 528, 276, 4112, 0, 0, 0}, {13311, 14677, 21845, 0, 0, 0, 0}, {1370, 48, 1622, 20480, 0, 0, 0}, {8, 4471, 4951, 17408, 0, 0, 0}, {8, 1312, 1792, 1360, 4352, 0, 0}, {3084, 1638, 21845, 0, 0, 0, 0}, {1370, 13056, 20480, 0, 0, 0, 0}, {8, 4403, 4883, 64, 1028, 0, 0}, {780, 48, 1360, 0, 0, 0, 0}, {8, 546, 4437, 0, 0, 0, 0}, {278, 64, 1028, 4096, 0, 0, 0}, {22015, 24415, 26112, 0, 0, 0, 0}, {3072, 1632, 21760, 0, 0, 0, 0}, {8, 1317, 1799, 1365, 4369, 0, 0}, {8, 4386, 4864, 64, 1024, 0, 0}, {1375, 13107, 20560, 0, 0, 0, 0}, {8, 544, 4420, 0, 0, 0, 0}, {783, 48, 1365, 0, 0, 0, 0}, {21930, 24320, 26214, 0, 0, 0, 0}, {279, 64, 1024, 4112, 0, 0, 0}, {8, 544, 64, 1024, 4352, 0, 0}, {3855, 13107, 1365, 0, 0, 0, 0}, {1642, 13056, 21248, 0, 0, 0, 0}, {8, 4403, 4883, 4419, 5140, 0, 0}, {13260, 14700, 21760, 0, 0, 0, 0}, {48, 530, 277, 4096, 0, 0, 0}, {8, 4454, 4932, 17476, 0, 0, 0}, {1375, 48, 1616, 20560, 0, 0, 0}, {112, 4864, 1280, 0, 0, 0, 0}, {72, 1542, 4369, 0, 0, 0, 0}, {1290, 4386, 5200, 0, 0, 0, 0}, {1548, 4915, 64, 0, 0, 0, 0}, {4364, 48, 4608, 4420, 1280, 0, 0}, {4959, 8224, 21845, 0, 0, 0, 0}, {1290, 48, 1542, 64, 4112, 0, 0}, {2560, 4471, 17408, 0, 0, 0, 0}, {120, 1280, 4352, 0, 0, 0, 0}, {4883, 64, 5397, 0, 0, 0, 0}, {1290, 112, 4944, 20560, 0, 0, 0}, {72, 4403, 1604, 17476, 0, 0, 0}, {780, 48, 64, 1280, 4096, 0, 0}, {2570, 8738, 4437, 0, 0, 0, 0}, {4382, 48, 4626, 4438, 5140, 0, 0}, {4991, 8192, 17920, 0, 0, 0, 0}, {128, 4864, 21760, 0, 0, 0, 0}, {72, 48, 771, 1285, 4369, 0, 0}, {2570, 4386, 17408, 0, 0, 0, 0}, {1295, 48, 771, 64, 4096, 0, 0}, {4364, 5888, 4420, 0, 0, 0, 0}, {4959, 112, 1285, 0, 0, 0, 0}, {5418, 1542, 64, 0, 0, 0, 0}, {4367, 4471, 5120, 0, 0, 0, 0}, {136, 2560, 4352, 0, 0, 0, 0}, {48, 771, 64, 1285, 4112, 0, 0}, {2570, 4896, 17930, 0, 0, 0, 0}, {1295, 48, 771, 1351, 4355, 0, 0}, {4876, 8192, 64, 5376, 0, 0, 0}, {4397, 8738, 4437, 1285, 0, 0, 0}, {72, 4454, 1542, 17476, 0, 0, 0}, {1295, 112, 5632, 20480, 0, 0, 0}, {48, 768, 1360, 0, 0, 0, 0}, {8, 546, 4369, 0, 0, 0, 0}, {274, 64, 1024, 4096, 0, 0, 0}, {22015, 24415, 13107, 0, 0, 0, 0}, {8, 4404, 4884, 4420, 5140, 0, 0}, {1642, 13653, 21845, 0, 0, 0, 0}, {1370, 13926, 20480, 0, 0, 0, 0}, {8, 4407, 4887, 64, 1024, 0, 0}, {8, 768, 1024, 272, 0, 0, 0}, {2730, 13107, 21845, 0, 0, 0, 0}, {1370, 48, 768, 20480, 0, 0, 0}, {8, 4403, 4883, 17476, 0, 0, 0}, {3840, 13116, 1360, 0, 0, 0, 0}, {8, 546, 64, 1024, 4373, 0, 0}, {8, 1314, 1792, 1362, 4374, 0, 0}, {3072, 1632, 21343, 0, 0, 0, 0}, {2720, 13056, 21760, 0, 0, 0, 0}, {8, 771, 1028, 273, 0, 0, 0}, {8, 4386, 4864, 17408, 0, 0, 0}, {1375, 48, 771, 20560, 0, 0, 0}, {8, 544, 64, 1028, 4356, 0, 0}, {3855, 13071, 1365, 0, 0, 0, 0}, {3084, 1638, 21260, 0, 0, 0, 0}, {8, 1319, 1799, 1367, 4359, 0, 0}, {8, 544, 4352, 0, 0, 0, 0}, {48, 771, 1365, 0, 0, 0, 0}, {21930, 24320, 13056, 0, 0, 0, 0}, {275, 64, 1028, 4112, 0, 0, 0}, {1644, 13664, 21760, 0, 0, 0, 0}, {8, 4389, 4871, 4437, 5120, 0, 0}, {8, 4390, 4868, 64, 1028, 0, 0}, {1375, 13904, 20560, 0, 0, 0, 0}, {48, 768, 64, 1280, 4096, 0, 0}, {136, 2570, 4369, 0, 0, 0, 0}, {1290, 48, 768, 1346, 4370, 0, 0}, {2560, 4915, 17996, 0, 0, 0, 0}, {4412, 8704, 4420, 1280, 0, 0, 0}, {4895, 8224, 64, 5397, 0, 0, 0}, {1290, 112, 5654, 20560, 0, 0, 0}, {72, 4471, 1536, 17408, 0, 0, 0}, {72, 48, 768, 1280, 4352, 0, 0}, {128, 4883, 21845, 0, 0, 0, 0}, {1290, 48, 768, 64, 4112, 0, 0}, {2560, 4403, 17476, 0, 0, 0, 0}, {4940, 112, 1280, 0, 0, 0, 0}, {4381, 5911, 4437, 0, 0, 0, 0}, {4382, 4454, 5140, 0, 0, 0, 0}, {5439, 1536, 64, 0, 0, 0, 0}, {192, 1536, 21760, 0, 0, 0, 0}, {8, 112, 514, 1285, 4369, 0, 0}, {8, 4386, 514, 64, 1024, 0, 0}, {1295, 13107, 20480, 0, 0, 0, 0}, {8, 512, 4420, 0, 0, 0, 0}, {783, 48, 1285, 0, 0, 0, 0}, {21930, 2570, 26214, 0, 0, 0, 0}, {263, 64, 1024, 4096, 0, 0, 0}, {8, 512, 64, 1024, 4352, 0, 0}, {240, 13107, 1285, 0, 0, 0, 0}, {1546, 13056, 21344, 0, 0, 0, 0}, {8, 4403, 512, 4419, 1287, 0, 0}, {13260, 2560, 21760, 0, 0, 0, 0}, {48, 514, 261, 4112, 0, 0, 0}, {8, 4454, 514, 17476, 0, 0, 0}, {1295, 48, 1536, 20480, 0, 0, 0}, {1312, 5632, 1360, 0, 0, 0, 0}, {72, 1638, 4369, 0, 0, 0, 0}, {4442, 4386, 5120, 0, 0, 0, 0}, {5439, 4883, 64, 0, 0, 0, 0}, {4364, 48, 4608, 4420, 5140, 0, 0}, {4991, 8192, 21845, 0, 0, 0, 0}, {1306, 48, 1558, 64, 4096, 0, 0}, {7007, 4471, 17408, 0, 0, 0, 0}, {1320, 1360, 4352, 0, 0, 0, 0}, {4915, 64, 5397, 0, 0, 0, 0}, {1370, 112, 4864, 20480, 0, 0, 0}, {72, 4403, 5911, 17476, 0, 0, 0}, {780, 48, 64, 1296, 4112, 0, 0}, {2594, 8738, 4437, 0, 0, 0, 0}, {4382, 48, 4626, 4438, 1298, 0, 0}, {4959, 8224, 17952, 0, 0, 0, 0}, {4896, 64, 5376, 0, 0, 0, 0}, {1325, 1365, 4369, 0, 0, 0, 0}, {72, 4386, 5888, 17408, 0, 0, 0}, {1375, 112, 4883, 20560, 0, 0, 0}, {2600, 8704, 4420, 0, 0, 0, 0}, {783, 48, 64, 1301, 4096, 0, 0}, {4940, 8192, 18022, 0, 0, 0, 0}, {4367, 48, 4608, 4423, 1303, 0, 0}, {72, 1632, 4352, 0, 0, 0, 0}, {1317, 5654, 1365, 0, 0, 0, 0}, {5418, 4864, 64, 0, 0, 0, 0}, {4427, 4403, 5140, 0, 0, 0, 0}, {4972, 8224, 21760, 0, 0, 0, 0}, {4381, 48, 4626, 4437, 5120, 0, 0}, {6980, 4454, 17476, 0, 0, 0, 0}, {1311, 48, 1552, 64, 4112, 0, 0}, {240, 13056, 1280, 0, 0, 0, 0}, {8, 514, 64, 1028, 4369, 0, 0}, {8, 4386, 514, 4434, 1282, 0, 0}, {1548, 13107, 21299, 0, 0, 0, 0}, {48, 512, 260, 4096, 0, 0, 0}, {13311, 2570, 21845, 0, 0, 0, 0}, {1290, 48, 1542, 20560, 0, 0, 0}, {8, 4471, 512, 17408, 0, 0, 0}, {8, 112, 512, 1280, 4352, 0, 0}, {192, 1542, 21845, 0, 0, 0, 0}, {1290, 13056, 20560, 0, 0, 0, 0}, {8, 4403, 512, 64, 1028, 0, 0}, {780, 48, 1280, 0, 0, 0, 0}, {8, 514, 4437, 0, 0, 0, 0}, {262, 64, 1028, 4112, 0, 0, 0}, {22015, 2560, 26112, 0, 0, 0, 0}, {2560, 12288, 20480, 0, 0, 0, 0}, {8, 51, 68, 257, 0, 0, 0}, {8, 4128, 514, 16384, 0, 0, 0}, {1295, 51, 771, 21760, 0, 0, 0}, {8, 512, 68, 1028, 4100, 0, 0}, {255, 12303, 1285, 0, 0, 0, 0}, {204, 1542, 20588, 0, 0, 0, 0}, {8, 119, 512, 1287, 4103, 0, 0}, {8, 512, 4096, 0, 0, 0, 0}, {51, 771, 1285, 0, 0, 0, 0}, {20640, 2570, 12288, 0, 0, 0, 0}, {259, 68, 1028, 4352, 0, 0, 0}, {1548, 13824, 20480, 0, 0, 0, 0}, {8, 4135, 514, 4176, 1285, 0, 0}, {8, 4132, 514, 68, 1028, 0, 0}, {1295, 13568, 21760, 0, 0, 0, 0}, {128, 2592, 4112, 0, 0, 0, 0}, {51, 768, 68, 1297, 4369, 0, 0}, {136, 4626, 20600, 0, 0, 0, 0}, {76, 51, 768, 1299, 4115, 0, 0}, {4668, 8704, 68, 5140, 0, 0, 0}, {4159, 8192, 4160, 5397, 0, 0, 0}, {76, 4208, 5654, 16384, 0, 0, 0}, {1375, 119, 5911, 21760, 0, 0, 0}, {6168, 4656, 20560, 0, 0, 0, 0}, {1305, 51, 768, 1365, 4096, 0, 0}, {6682, 4144, 16448, 0, 0, 0, 0}, {1307, 51, 768, 68, 4352, 0, 0}, {4124, 1568, 4176, 0, 0, 0, 0}, {4637, 1314, 1365, 0, 0, 0, 0}, {4638, 1570, 68, 0, 0, 0, 0}, {4127, 1312, 5440, 0, 0, 0, 0}, {6656, 4128, 16384, 0, 0, 0, 0}, {1310, 51, 771, 68, 4369, 0, 0}, {6144, 4642, 20480, 0, 0, 0, 0}, {1308, 51, 771, 1360, 4112, 0, 0}, {4620, 1572, 68, 0, 0, 0, 0}, {4111, 1317, 5461, 0, 0, 0, 0}, {4108, 1574, 4160, 0, 0, 0, 0}, {4623, 1319, 1360, 0, 0, 0, 0}, {136, 4608, 20520, 0, 0, 0, 0}, {76, 51, 771, 1302, 4099, 0, 0}, {128, 2602, 4096, 0, 0, 0, 0}, {51, 771, 68, 1300, 4352, 0, 0}, {76, 4192, 5632, 16448, 0, 0, 0}, {1370, 119, 5888, 21845, 0, 0, 0}, {4654, 8738, 68, 5120, 0, 0, 0}, {4143, 8224, 4176, 5376, 0, 0, 0}, {20720, 2560, 12336, 0, 0, 0, 0}, {258, 68, 1024, 4369, 0, 0, 0}, {8, 514, 4112, 0, 0, 0, 0}, {51, 768, 1280, 0, 0, 0, 0}, {8, 4148, 512, 68, 1024, 0, 0}, {1290, 13621, 21845, 0, 0, 0, 0}, {1546, 13878, 20560, 0, 0, 0, 0}, {8, 4151, 512, 4160, 1280, 0, 0}, {8, 4144, 512, 16448, 0, 0, 0}, {1290, 51, 768, 21845, 0, 0, 0}, {2570, 12336, 20560, 0, 0, 0, 0}, {8, 51, 68, 256, 0, 0, 0}, {204, 1536, 20540, 0, 0, 0, 0}, {8, 119, 514, 1282, 4119, 0, 0}, {8, 514, 68, 1024, 4116, 0, 0}, {255, 12351, 1280, 0, 0, 0, 0}, {2560, 8192, 4160, 0, 0, 0, 0}, {783, 51, 68, 1285, 4369, 0, 0}, {4714, 8738, 16962, 0, 0, 0, 0}, {4111, 51, 4864, 4163, 5376, 0, 0}, {4608, 68, 5120, 0, 0, 0, 0}, {127, 1285, 4112, 0, 0, 0, 0}, {76, 4128, 1606, 16384, 0, 0, 0}, {1295, 119, 4679, 21760, 0, 0, 0}, {4680, 8704, 20480, 0, 0, 0, 0}, {4124, 51, 4883, 4176, 1285, 0, 0}, {2570, 4192, 16448, 0, 0, 0, 0}, {1295, 51, 1536, 68, 4352, 0, 0}, {76, 1536, 4096, 0, 0, 0, 0}, {119, 4626, 1285, 0, 0, 0, 0}, {1546, 4642, 68, 0, 0, 0, 0}, {1295, 4144, 5440, 0, 0, 0, 0}, {12528, 14928, 20560, 0, 0, 0, 0}, {51, 529, 277, 4369, 0, 0, 0}, {8, 4208, 4690, 16384, 0, 0, 0}, {1375, 51, 1619, 21760, 0, 0, 0}, {8, 544, 68, 1028, 4112, 0, 0}, {3840, 12288, 1365, 0, 0, 0, 0}, {1642, 12336, 22102, 0, 0, 0, 0}, {8, 4128, 4608, 4183, 5376, 0, 0}, {8, 544, 4176, 0, 0, 0, 0}, {780, 51, 1365, 0, 0, 0, 0}, {20720, 23130, 24576, 0, 0, 0, 0}, {279, 68, 1028, 4352, 0, 0, 0}, {3084, 1632, 20560, 0, 0, 0, 0}, {8, 1314, 1792, 1365, 4096, 0, 0}, {8, 4144, 4626, 68, 1028, 0, 0}, {1375, 12288, 21760, 0, 0, 0, 0}, {20640, 23040, 24672, 0, 0, 0, 0}, {278, 68, 1024, 4369, 0, 0, 0}, {8, 546, 4160, 0, 0, 0, 0}, {783, 51, 1360, 0, 0, 0, 0}, {8, 4128, 4608, 68, 1024, 0, 0}, {1370, 12336, 21845, 0, 0, 0, 0}, {3072, 1638, 20480, 0, 0, 0, 0}, {8, 1319, 1799, 1360, 4112, 0, 0}, {8, 4192, 4672, 16448, 0, 0, 0}, {1370, 51, 1621, 21845, 0, 0, 0}, {12480, 14954, 20480, 0, 0, 0, 0}, {51, 531, 276, 4352, 0, 0, 0}, {1644, 12288, 22016, 0, 0, 0, 0}, {8, 4144, 4626, 4167, 5397, 0, 0}, {8, 546, 68, 1024, 4096, 0, 0}, {3855, 12336, 1360, 0, 0, 0, 0}, {2560, 4208, 16384, 0, 0, 0, 0}, {1290, 51, 1542, 68, 4369, 0, 0}, {4698, 8738, 20560, 0, 0, 0, 0}, {4108, 51, 4864, 4160, 1280, 0, 0}, {1548, 4656, 68, 0, 0, 0, 0}, {1290, 4128, 5461, 0, 0, 0, 0}, {76, 1542, 4112, 0, 0, 0, 0}, {119, 4608, 1280, 0, 0, 0, 0}, {4728, 8704, 16896, 0, 0, 0, 0}, {4127, 51, 4883, 4179, 5397, 0, 0}, {2570, 8224, 4176, 0, 0, 0, 0}, {780, 51, 68, 1280, 4352, 0, 0}, {76, 4144, 1600, 16448, 0, 0, 0}, {1290, 119, 4693, 21845, 0, 0, 0}, {4626, 68, 5140, 0, 0, 0, 0}, {127, 1280, 4096, 0, 0, 0, 0}, {128, 2560, 4096, 0, 0, 0, 0}, {51, 771, 68, 1285, 4369, 0, 0}, {2570, 4642, 16906, 0, 0, 0, 0}, {1295, 51, 771, 1347, 4099, 0, 0}, {4620, 8704, 68, 5120, 0, 0, 0}, {4143, 8224, 4176, 1285, 0, 0, 0}, {76, 4192, 1542, 16448, 0, 0, 0}, {1295, 119, 5888, 21760, 0, 0, 0}, {136, 4608, 20480, 0, 0, 0, 0}, {76, 51, 771, 1285, 4112, 0, 0}, {2570, 4128, 16384, 0, 0, 0, 0}, {1295, 51, 771, 68, 4352, 0, 0}, {4108, 5632, 4160, 0, 0, 0, 0}, {4698, 119, 1285, 0, 0, 0, 0}, {5160, 1542, 68, 0, 0, 0, 0}, {4111, 4208, 5376, 0, 0, 0, 0}, {2720, 12336, 20560, 0, 0, 0, 0}, {8, 768, 1024, 273, 0, 0, 0}, {8, 4144, 4626, 16448, 0, 0, 0}, {1375, 51, 768, 21760, 0, 0, 0}, {8, 544, 68, 1024, 4116, 0, 0}, {3840, 12351, 1365, 0, 0, 0, 0}, {3072, 1638, 22106, 0, 0, 0, 0}, {8, 1312, 1792, 1367, 4119, 0, 0}, {8, 544, 4112, 0, 0, 0, 0}, {51, 768, 1365, 0, 0, 0, 0}, {20720, 23130, 12336, 0, 0, 0, 0}, {275, 68, 1024, 4352, 0, 0, 0}, {1644, 13904, 20560, 0, 0, 0, 0}, {8, 4151, 4629, 4160, 5397, 0, 0}, {8, 4148, 4630, 68, 1024, 0, 0}, {1375, 13664, 21760, 0, 0, 0, 0}, {20640, 23040, 12288, 0, 0, 0, 0}, {274, 68, 1028, 4369, 0, 0, 0}, {8, 546, 4096, 0, 0, 0, 0}, {51, 771, 1360, 0, 0, 0, 0}, {8, 4132, 4612, 68, 1028, 0, 0}, {1370, 13653, 21845, 0, 0, 0, 0}, {1642, 13926, 20480, 0, 0, 0, 0}, {8, 4135, 4615, 4176, 5376, 0, 0}, {8, 4128, 4608, 16384, 0, 0, 0}, {1370, 51, 771, 21845, 0, 0, 0}, {2730, 12288, 20480, 0, 0, 0, 0}, {8, 771, 1028, 272, 0, 0, 0}, {3084, 1632, 22028, 0, 0, 0, 0}, {8, 1317, 1799, 1362, 4103, 0, 0}, {8, 546, 68, 1028, 4100, 0, 0}, {3855, 12303, 1360, 0, 0, 0, 0}, {2560, 4144, 16448, 0, 0, 0, 0}, {1290, 51, 768, 68, 4369, 0, 0}, {136, 4626, 20560, 0, 0, 0, 0}, {76, 51, 768, 1280, 4096, 0, 0}, {5180, 1536, 68, 0, 0, 0, 0}, {4127, 4192, 5397, 0, 0, 0, 0}, {4124, 5654, 4176, 0, 0, 0, 0}, {4680, 119, 1280, 0, 0, 0, 0}, {2560, 4656, 16968, 0, 0, 0, 0}, {1290, 51, 768, 1350, 4115, 0, 0}, {128, 2570, 4112, 0, 0, 0, 0}, {51, 768, 68, 1280, 4352, 0, 0}, {76, 4208, 1536, 16384, 0, 0, 0}, {1290, 119, 5911, 21845, 0, 0, 0}, {4638, 8738, 68, 5140, 0, 0, 0}, {4159, 8192, 4160, 1280, 0, 0, 0}, {12480, 2560, 20480, 0, 0, 0, 0}, {51, 514, 261, 4369, 0, 0, 0}, {8, 4192, 514, 16448, 0, 0, 0}, {1295, 51, 1536, 21760, 0, 0, 0}, {8, 512, 68, 1024, 4096, 0, 0}, {255, 12336, 1285, 0, 0, 0, 0}, {1546, 12288, 22118, 0, 0, 0, 0}, {8, 4144, 512, 4167, 1287, 0, 0}, {8, 512, 4160, 0, 0, 0, 0}, {783, 51, 1285, 0, 0, 0, 0}, {20640, 2570, 24672, 0, 0, 0, 0}, {263, 68, 1024, 4352, 0, 0, 0}, {204, 1536, 20480, 0, 0, 0, 0}, {8, 119, 514, 1285, 4112, 0, 0}, {8, 4128, 514, 68, 1024, 0, 0}, {1295, 12336, 21760, 0, 0, 0, 0}, {2592, 8224, 4176, 0, 0, 0, 0}, {780, 51, 68, 1297, 4369, 0, 0}, {4698, 8738, 16930, 0, 0, 0, 0}, {4127, 51, 4883, 4179, 1299, 0, 0}, {4656, 68, 5140, 0, 0, 0, 0}, {1322, 1365, 4096, 0, 0, 0, 0}, {76, 4144, 5654, 16448, 0, 0, 0}, {1375, 119, 4608, 21760, 0, 0, 0}, {4728, 8704, 20560, 0, 0, 0, 0}, {4108, 51, 4864, 4160, 5397, 0, 0}, {6746, 4208, 16384, 0, 0, 0, 0}, {1307, 51, 1559, 68, 4352, 0, 0}, {76, 1632, 4112, 0, 0, 0, 0}, {1314, 5888, 1365, 0, 0, 0, 0}, {5180, 4626, 68, 0, 0, 0, 0}, {4191, 4128, 5376, 0, 0, 0, 0}, {6720, 4192, 16448, 0, 0, 0, 0}, {1310, 51, 1553, 68, 4369, 0, 0}, {4714, 8738, 20480, 0, 0, 0, 0}, {4124, 51, 4883, 4176, 5376, 0, 0}, {5160, 4608, 68, 0, 0, 0, 0}, {4175, 4144, 5397, 0, 0, 0, 0}, {76, 1638, 4096, 0, 0, 0, 0}, {1319, 5911, 1360, 0, 0, 0, 0}, {4680, 8704, 16992, 0, 0, 0, 0}, {4111, 51, 4864, 4163, 1302, 0, 0}, {2602, 8192, 4160, 0, 0, 0, 0}, {783, 51, 68, 1300, 4352, 0, 0}, {76, 4128, 5632, 16384, 0, 0, 0}, {1370, 119, 4626, 21845, 0, 0, 0}, {4642, 68, 5120, 0, 0, 0, 0}, {1327, 1360, 4112, 0, 0, 0, 0}, {20720, 2560, 24576, 0, 0, 0, 0}, {262, 68, 1028, 4369, 0, 0, 0}, {8, 514, 4176, 0, 0, 0, 0}, {780, 51, 1280, 0, 0, 0, 0}, {8, 4144, 512, 68, 1028, 0, 0}, {1290, 12288, 21845, 0, 0, 0, 0}, {204, 1542, 20560, 0, 0, 0, 0}, {8, 119, 512, 1280, 4096, 0, 0}, {8, 4208, 512, 16384, 0, 0, 0}, {1290, 51, 1542, 21845, 0, 0, 0}, {12528, 2570, 20560, 0, 0, 0, 0}, {51, 512, 260, 4352, 0, 0, 0}, {1548, 12336, 22064, 0, 0, 0, 0}, {8, 4128, 514, 4183, 1282, 0, 0}, {8, 514, 68, 1028, 4112, 0, 0}, {255, 12288, 1280, 0, 0, 0, 0}, {2048, 13056, 17408, 0, 0, 0, 0}, {10, 48, 80, 257, 0, 0, 0}, {10, 4386, 514, 21760, 0, 0, 0}, {1036, 48, 771, 16384, 0, 0, 0}, {192, 13068, 1028, 0, 0, 0, 0}, {10, 512, 80, 1285, 4357, 0, 0}, {10, 96, 512, 1030, 4358, 0, 0}, {240, 1799, 17528, 0, 0, 0, 0}, {17544, 2056, 13056, 0, 0, 0, 0}, {259, 80, 1285, 4096, 0, 0, 0}, {10, 512, 4352, 0, 0, 0, 0}, {48, 771, 1028, 0, 0, 0, 0}, {1036, 14080, 16384, 0, 0, 0, 0}, {10, 4391, 514, 80, 1285, 0, 0}, {10, 4388, 514, 4420, 1028, 0, 0}, {1807, 13312, 17408, 0, 0, 0, 0}, {48, 768, 80, 1040, 4112, 0, 0}, {170, 2082, 4369, 0, 0, 0, 0}, {90, 48, 768, 1042, 4370, 0, 0}, {160, 4883, 17516, 0, 0, 0, 0}, {4924, 8192, 80, 5140, 0, 0, 0}, {4415, 8704, 4437, 5397, 0, 0, 0}, {90, 4454, 5654, 21760, 0, 0, 0}, {1096, 96, 5911, 16384, 0, 0, 0}, {1048, 48, 768, 80, 4096, 0, 0}, {6425, 4403, 21845, 0, 0, 0, 0}, {1050, 48, 768, 1088, 4352, 0, 0}, {6939, 4915, 17476, 0, 0, 0, 0}, {4892, 1824, 80, 0, 0, 0, 0}, {4381, 1058, 5461, 0, 0, 0, 0}, {4382, 1826, 4420, 0, 0, 0, 0}, {4895, 1056, 1088, 0, 0, 0, 0}, {6912, 4896, 17408, 0, 0, 0, 0}, {1054, 48, 771, 1092, 4369, 0, 0}, {6400, 4386, 21760, 0, 0, 0, 0}, {1052, 48, 771, 80, 4112, 0, 0}, {4876, 1060, 1092, 0, 0, 0, 0}, {4367, 1829, 4437, 0, 0, 0, 0}, {4364, 1062, 5440, 0, 0, 0, 0}, {4879, 1831, 80, 0, 0, 0, 0}, {160, 4864, 17448, 0, 0, 0, 0}, {90, 48, 771, 1046, 4355, 0, 0}, {170, 2090, 4352, 0, 0, 0, 0}, {48, 771, 80, 1044, 4096, 0, 0}, {1100, 96, 5888, 16448, 0, 0, 0}, {90, 4471, 5632, 21845, 0, 0, 0}, {4398, 8738, 4420, 5376, 0, 0, 0}, {4911, 8224, 80, 5120, 0, 0, 0}, {48, 768, 1024, 0, 0, 0, 0}, {10, 514, 4369, 0, 0, 0, 0}, {258, 80, 1280, 4112, 0, 0, 0}, {17612, 2048, 13107, 0, 0, 0, 0}, {1800, 13364, 17476, 0, 0, 0, 0}, {10, 4405, 512, 4437, 1024, 0, 0}, {10, 4406, 512, 80, 1280, 0, 0}, {1032, 14135, 16448, 0, 0, 0, 0}, {1032, 48, 768, 16448, 0, 0, 0}, {10, 4403, 512, 21845, 0, 0, 0}, {10, 48, 80, 256, 0, 0, 0}, {2056, 13107, 17476, 0, 0, 0, 0}, {240, 1792, 17468, 0, 0, 0, 0}, {10, 96, 514, 1026, 4375, 0, 0}, {10, 514, 80, 1280, 4372, 0, 0}, {192, 13119, 1024, 0, 0, 0, 0}, {3072, 13056, 1088, 0, 0, 0, 0}, {10, 546, 80, 1285, 4369, 0, 0}, {10, 4386, 4864, 4418, 5376, 0, 0}, {1919, 13107, 17219, 0, 0, 0, 0}, {13260, 15172, 17476, 0, 0, 0, 0}, {48, 528, 277, 4112, 0, 0, 0}, {10, 4454, 4934, 21760, 0, 0, 0}, {1096, 48, 1863, 16384, 0, 0, 0}, {1096, 13056, 16384, 0, 0, 0, 0}, {10, 4403, 4883, 80, 1285, 0, 0}, {10, 1056, 1536, 1088, 4352, 0, 0}, {3855, 1911, 17476, 0, 0, 0, 0}, {17612, 19532, 30464, 0, 0, 0, 0}, {279, 80, 1285, 4096, 0, 0, 0}, {10, 546, 4420, 0, 0, 0, 0}, {783, 48, 1088, 0, 0, 0, 0}, {4864, 80, 5120, 0, 0, 0, 0}, {106, 1028, 4369, 0, 0, 0, 0}, {90, 4386, 1874, 21760, 0, 0, 0}, {1036, 96, 4947, 16384, 0, 0, 0}, {780, 48, 80, 1028, 4112, 0, 0}, {2048, 8704, 4437, 0, 0, 0, 0}, {4364, 48, 4608, 4438, 5376, 0, 0}, {4991, 8224, 22359, 0, 0, 0, 0}, {1800, 4896, 80, 0, 0, 0, 0}, {1036, 4403, 5461, 0, 0, 0, 0}, {90, 1792, 4352, 0, 0, 0, 0}, {96, 4883, 1028, 0, 0, 0, 0}, {1036, 48, 1792, 80, 4096, 0, 0}, {2056, 4471, 21845, 0, 0, 0, 0}, {4382, 48, 4626, 4420, 1028, 0, 0}, {4959, 8192, 17408, 0, 0, 0, 0}, {96, 4864, 1024, 0, 0, 0, 0}, {90, 1799, 4369, 0, 0, 0, 0}, {1032, 4386, 5440, 0, 0, 0, 0}, {1807, 4915, 80, 0, 0, 0, 0}, {4940, 8224, 17476, 0, 0, 0, 0}, {4367, 48, 4608, 4437, 1024, 0, 0}, {2048, 4454, 21760, 0, 0, 0, 0}, {1032, 48, 1799, 80, 4112, 0, 0}, {1032, 96, 4928, 16448, 0, 0, 0}, {90, 4403, 1877, 21845, 0, 0, 0}, {106, 1024, 4352, 0, 0, 0, 0}, {4883, 80, 5140, 0, 0, 0, 0}, {4972, 8192, 22272, 0, 0, 0, 0}, {4381, 48, 4626, 4423, 5397, 0, 0}, {2056, 8738, 4420, 0, 0, 0, 0}, {783, 48, 80, 1024, 4096, 0, 0}, {3840, 1904, 17408, 0, 0, 0, 0}, {10, 1060, 1542, 1092, 4369, 0, 0}, {10, 4386, 4864, 80, 1280, 0, 0}, {1100, 13107, 16448, 0, 0, 0, 0}, {780, 48, 1092, 0, 0, 0, 0}, {10, 544, 4437, 0, 0, 0, 0}, {278, 80, 1280, 4112, 0, 0, 0}, {17544, 19456, 30583, 0, 0, 0, 0}, {1912, 13056, 17152, 0, 0, 0, 0}, {10, 4403, 4883, 4435, 5397, 0, 0}, {10, 544, 80, 1280, 4352, 0, 0}, {3084, 13107, 1092, 0, 0, 0, 0}, {1100, 48, 1856, 16448, 0, 0, 0}, {10, 4471, 4949, 21845, 0, 0, 0}, {48, 530, 276, 4096, 0, 0, 0}, {13311, 15231, 17408, 0, 0, 0, 0}, {2176, 13056, 17408, 0, 0, 0, 0}, {10, 771, 1285, 273, 0, 0, 0}, {10, 4386, 4864, 21760, 0, 0, 0}, {1100, 48, 771, 16448, 0, 0, 0}, {3084, 13068, 1092, 0, 0, 0, 0}, {10, 544, 80, 1285, 4357, 0, 0}, {10, 1062, 1542, 1094, 4358, 0, 0}, {3855, 1911, 17167, 0, 0, 0, 0}, {17544, 19456, 13056, 0, 0, 0, 0}, {275, 80, 1285, 4112, 0, 0, 0}, {10, 544, 4352, 0, 0, 0, 0}, {48, 771, 1092, 0, 0, 0, 0}, {1100, 14144, 16448, 0, 0, 0, 0}, {10, 4391, 4869, 80, 1285, 0, 0}, {10, 4388, 4870, 4420, 5376, 0, 0}, {1919, 13424, 17408, 0, 0, 0, 0}, {48, 768, 80, 1024, 4096, 0, 0}, {170, 2056, 4369, 0, 0, 0, 0}, {1032, 48, 768, 1106, 4370, 0, 0}, {2048, 4915, 22367, 0, 0, 0, 0}, {4892, 8224, 80, 5140, 0, 0, 0}, {4415, 8704, 4437, 1024, 0, 0, 0}, {90, 4454, 1792, 21760, 0, 0, 0}, {1032, 96, 5911, 16448, 0, 0, 0}, {1032, 48, 768, 80, 4112, 0, 0}, {2048, 4403, 21845, 0, 0, 0, 0}, {90, 48, 768, 1024, 4352, 0, 0}, {160, 4883, 17476, 0, 0, 0, 0}, {5180, 1792, 80, 0, 0, 0, 0}, {4381, 4471, 5397, 0, 0, 0, 0}, {4382, 5654, 4420, 0, 0, 0, 0}, {4959, 96, 1024, 0, 0, 0, 0}, {160, 4864, 17408, 0, 0, 0, 0}, {90, 48, 771, 1028, 4369, 0, 0}, {2056, 4386, 21760, 0, 0, 0, 0}, {1036, 48, 771, 80, 4096, 0, 0}, {4940, 96, 1028, 0, 0, 0, 0}, {4367, 5632, 4437, 0, 0, 0, 0}, {4364, 4454, 5376, 0, 0, 0, 0}, {5160, 1799, 80, 0, 0, 0, 0}, {2056, 4896, 22280, 0, 0, 0, 0}, {1036, 48, 771, 1110, 4355, 0, 0}, {170, 2048, 4352, 0, 0, 0, 0}, {48, 771, 80, 1028, 4112, 0, 0}, {1036, 96, 5888, 16384, 0, 0, 0}, {90, 4471, 1799, 21845, 0, 0, 0}, {4398, 8738, 4420, 1028, 0, 0, 0}, {4879, 8192, 80, 5120, 0, 0, 0}, {48, 768, 1088, 0, 0, 0, 0}, {10, 546, 4369, 0, 0, 0, 0}, {274, 80, 1280, 4096, 0, 0, 0}, {17612, 19532, 13107, 0, 0, 0, 0}, {1912, 13380, 17476, 0, 0, 0, 0}, {10, 4405, 4885, 4437, 5397, 0, 0}, {10, 4406, 4886, 80, 1280, 0, 0}, {1096, 14199, 16384, 0, 0, 0, 0}, {1096, 48, 768, 16384, 0, 0, 0}, {10, 4403, 4883, 21845, 0, 0, 0}, {10, 768, 1280, 272, 0, 0, 0}, {2184, 13107, 17476, 0, 0, 0, 0}, {3840, 1904, 17228, 0, 0, 0, 0}, {10, 1058, 1536, 1090, 4375, 0, 0}, {10, 546, 80, 1280, 4372, 0, 0}, {3072, 13119, 1088, 0, 0, 0, 0}, {192, 13056, 1024, 0, 0, 0, 0}, {10, 514, 80, 1285, 4369, 0, 0}, {10, 4386, 514, 4418, 1026, 0, 0}, {1807, 13107, 17203, 0, 0, 0, 0}, {13260, 2056, 17476, 0, 0, 0, 0}, {48, 512, 261, 4096, 0, 0, 0}, {10, 4454, 512, 21760, 0, 0, 0}, {1032, 48, 1799, 16448, 0, 0, 0}, {1032, 13056, 16448, 0, 0, 0, 0}, {10, 4403, 512, 80, 1285, 0, 0}, {10, 96, 512, 1024, 4352, 0, 0}, {240, 1799, 17476, 0, 0, 0, 0}, {17612, 2048, 30464, 0, 0, 0, 0}, {263, 80, 1285, 4112, 0, 0, 0}, {10, 514, 4420, 0, 0, 0, 0}, {783, 48, 1024, 0, 0, 0, 0}, {4896, 80, 5120, 0, 0, 0, 0}, {1070, 1092, 4369, 0, 0, 0, 0}, {90, 4386, 5632, 21760, 0, 0, 0}, {1100, 96, 4883, 16448, 0, 0, 0}, {780, 48, 80, 1044, 4096, 0, 0}, {2090, 8704, 4437, 0, 0, 0, 0}, {4364, 48, 4608, 4438, 1046, 0, 0}, {4959, 8192, 22391, 0, 0, 0, 0}, {5160, 4864, 80, 0, 0, 0, 0}, {4441, 4403, 5397, 0, 0, 0, 0}, {90, 1904, 4352, 0, 0, 0, 0}, {1060, 5911, 1092, 0, 0, 0, 0}, {1052, 48, 1808, 80, 4112, 0, 0}, {6485, 4471, 21845, 0, 0, 0, 0}, {4382, 48, 4626, 4420, 5376, 0, 0}, {4991, 8224, 17408, 0, 0, 0, 0}, {1056, 5888, 1088, 0, 0, 0, 0}, {90, 1911, 4369, 0, 0, 0, 0}, {4424, 4386, 5376, 0, 0, 0, 0}, {5180, 4883, 80, 0, 0, 0, 0}, {4972, 8192, 17476, 0, 0, 0, 0}, {4367, 48, 4608, 4437, 5397, 0, 0}, {6476, 4454, 21760, 0, 0, 0, 0}, {1048, 48, 1815, 80, 4096, 0, 0}, {1096, 96, 4864, 16384, 0, 0, 0}, {90, 4403, 5654, 21845, 0, 0, 0}, {1066, 1088, 4352, 0, 0, 0, 0}, {4915, 80, 5140, 0, 0, 0, 0}, {4940, 8224, 22304, 0, 0, 0, 0}, {4381, 48, 4626, 4423, 1042, 0, 0}, {2082, 8738, 4420, 0, 0, 0, 0}, {783, 48, 80, 1040, 4112, 0, 0}, {240, 1792, 17408, 0, 0, 0, 0}, {10, 96, 514, 1028, 4369, 0, 0}, {10, 4386, 514, 80, 1280, 0, 0}, {1036, 13107, 16384, 0, 0, 0, 0}, {780, 48, 1028, 0, 0, 0, 0}, {10, 512, 4437, 0, 0, 0, 0}, {262, 80, 1280, 4096, 0, 0, 0}, {17544, 2056, 30583, 0, 0, 0, 0}, {1800, 13056, 17264, 0, 0, 0, 0}, {10, 4403, 512, 4435, 1030, 0, 0}, {10, 512, 80, 1280, 4352, 0, 0}, {192, 13107, 1028, 0, 0, 0, 0}, {1036, 48, 1792, 16384, 0, 0, 0}, {10, 4471, 514, 21845, 0, 0, 0}, {48, 514, 260, 4112, 0, 0, 0}, {13311, 2048, 17408, 0, 0, 0, 0}, {15360, 0, 0, 0, 0, 0, 0}, {2, 21, 257, 0, 0, 0, 0}, {2, 5120, 0, 0, 0, 0, 0}, {63, 771, 0, 0, 0, 0, 0}, {8, 12288, 64, 1028, 0, 0, 0}, {10, 13056, 85, 1285, 0, 0, 0}, {10, 96, 1542, 20480, 0, 0, 0}, {8, 119, 1799, 17408, 0, 0, 0}, {8, 13312, 17408, 0, 0, 0, 0}, {10, 53, 771, 85, 1285, 0, 0}, {10, 13824, 20480, 0, 0, 0, 0}, {8, 55, 771, 64, 1028, 0, 0}, {192, 3084, 12288, 0, 0, 0, 0}, {2, 85, 1285, 4352, 0, 0, 0}, {2, 64, 1028, 4096, 0, 0, 0}, {255, 3855, 13056, 0, 0, 0, 0}, {3072, 32, 64, 4112, 0, 0, 0}, {3840, 34, 85, 4369, 0, 0, 0}, {72, 34, 4626, 17408, 0, 0, 0}, {95, 32, 4883, 20480, 0, 0, 0}, {40, 5140, 0, 0, 0, 0, 0}, {768, 21, 0, 0, 0, 0, 0}, {42, 5654, 0, 0, 0, 0, 0}, {23, 5120, 0, 0, 0, 0, 0}, {5144, 5168, 5200, 0, 0, 0, 0}, {5657, 5683, 85, 0, 0, 0, 0}, {5658, 5680, 64, 0, 0, 0, 0}, {5147, 5171, 5188, 0, 0, 0, 0}, {7196, 32, 20560, 0, 0, 0, 0}, {29, 34, 768, 85, 4352, 0, 0}, {7710, 34, 17476, 0, 0, 0, 0}, {31, 32, 768, 64, 4096, 0, 0}, {7168, 32, 20480, 0, 0, 0, 0}, {29, 34, 771, 85, 4369, 0, 0}, {7680, 34, 17408, 0, 0, 0, 0}, {31, 32, 771, 64, 4112, 0, 0}, {5132, 5156, 5188, 0, 0, 0, 0}, {5647, 5669, 85, 0, 0, 0, 0}, {5644, 5670, 64, 0, 0, 0, 0}, {5135, 5159, 5200, 0, 0, 0, 0}, {40, 5120, 0, 0, 0, 0, 0}, {771, 21, 0, 0, 0, 0, 0}, {42, 5632, 0, 0, 0, 0, 0}, {23, 5140, 0, 0, 0, 0, 0}, {3084, 32, 64, 4096, 0, 0, 0}, {3855, 34, 85, 4352, 0, 0, 0}, {72, 34, 4608, 17476, 0, 0, 0}, {95, 32, 4864, 20560, 0, 0, 0}, {192, 3072, 12336, 0, 0, 0, 0}, {2, 85, 1280, 4369, 0, 0, 0}, {2, 64, 1024, 4112, 0, 0, 0}, {255, 3840, 13107, 0, 0, 0, 0}, {8, 13364, 17476, 0, 0, 0, 0}, {10, 53, 768, 85, 1280, 0, 0}, {10, 13878, 20560, 0, 0, 0, 0}, {8, 55, 768, 64, 1024, 0, 0}, {8, 12336, 64, 1024, 0, 0, 0}, {10, 13107, 85, 1280, 0, 0, 0}, {10, 96, 1536, 20560, 0, 0, 0}, {8, 119, 1792, 17476, 0, 0, 0}, {15420, 0, 0, 0, 0, 0, 0}, {2, 21, 256, 0, 0, 0, 0}, {2, 5140, 0, 0, 0, 0, 0}, {63, 768, 0, 0, 0, 0, 0}, {3072, 12288, 64, 0, 0, 0, 0}, {10, 34, 85, 1285, 4369, 0, 0}, {10, 34, 4608, 66, 5120, 0, 0}, {127, 13107, 17219, 0, 0, 0, 0}, {136, 15428, 17476, 0, 0, 0, 0}, {32, 784, 21, 4112, 0, 0, 0}, {10, 32, 5702, 20480, 0, 0, 0}, {72, 119, 839, 17408, 0, 0, 0}, {72, 12288, 17408, 0, 0, 0, 0}, {10, 32, 4883, 85, 1285, 0, 0}, {10, 32, 1536, 64, 4096, 0, 0}, {3855, 119, 17476, 0, 0, 0, 0}, {128, 19532, 28672, 0, 0, 0, 0}, {23, 85, 1285, 4352, 0, 0, 0}, {10, 34, 5188, 0, 0, 0, 0}, {783, 816, 64, 0, 0, 0, 0}, {160, 15440, 20560, 0, 0, 0, 0}, {34, 785, 21, 4369, 0, 0, 0}, {8, 34, 5714, 17408, 0, 0, 0}, {95, 96, 851, 20480, 0, 0, 0}, {8, 32, 64, 1028, 4112, 0, 0}, {3840, 13056, 85, 0, 0, 0, 0}, {106, 12336, 22102, 0, 0, 0, 0}, {8, 32, 4864, 87, 5120, 0, 0}, {8, 32, 5200, 0, 0, 0, 0}, {780, 819, 85, 0, 0, 0, 0}, {170, 23130, 26112, 0, 0, 0, 0}, {23, 64, 1028, 4096, 0, 0, 0}, {3084, 96, 20560, 0, 0, 0, 0}, {8, 34, 1792, 85, 4352, 0, 0}, {8, 34, 4626, 64, 1028, 0, 0}, {95, 13056, 20480, 0, 0, 0, 0}, {3072, 96, 20480, 0, 0, 0, 0}, {8, 34, 1799, 85, 4369, 0, 0}, {8, 34, 4608, 64, 1024, 0, 0}, {95, 13107, 20560, 0, 0, 0, 0}, {8, 32, 5188, 0, 0, 0, 0}, {783, 816, 85, 0, 0, 0, 0}, {170, 23040, 26214, 0, 0, 0, 0}, {23, 64, 1024, 4112, 0, 0, 0}, {8, 32, 64, 1024, 4096, 0, 0}, {3855, 13107, 85, 0, 0, 0, 0}, {106, 12288, 22016, 0, 0, 0, 0}, {8, 32, 4883, 87, 5140, 0, 0}, {160, 15468, 20480, 0, 0, 0, 0}, {34, 786, 21, 4352, 0, 0, 0}, {8, 34, 5700, 17476, 0, 0, 0}, {95, 96, 848, 20560, 0, 0, 0}, {128, 19456, 28784, 0, 0, 0, 0}, {23, 85, 1280, 4369, 0, 0, 0}, {10, 34, 5200, 0, 0, 0, 0}, {780, 819, 64, 0, 0, 0, 0}, {72, 12336, 17476, 0, 0, 0, 0}, {10, 32, 4864, 85, 1280, 0, 0}, {10, 32, 1542, 64, 4112, 0, 0}, {3840, 119, 17408, 0, 0, 0, 0}, {136, 15480, 17408, 0, 0, 0, 0}, {32, 787, 21, 4096, 0, 0, 0}, {10, 32, 5712, 20560, 0, 0, 0}, {72, 119, 836, 17476, 0, 0, 0}, {3084, 12336, 64, 0, 0, 0, 0}, {10, 34, 85, 1280, 4352, 0, 0}, {10, 34, 4626, 66, 5140, 0, 0}, {127, 13056, 17152, 0, 0, 0, 0}, {128, 19456, 28672, 0, 0, 0, 0}, {23, 85, 1285, 4369, 0, 0, 0}, {10, 34, 5120, 0, 0, 0, 0}, {63, 771, 64, 0, 0, 0, 0}, {72, 12288, 17476, 0, 0, 0, 0}, {10, 32, 4864, 85, 1285, 0, 0}, {10, 32, 1542, 64, 4096, 0, 0}, {3855, 119, 17408, 0, 0, 0, 0}, {136, 15360, 17408, 0, 0, 0, 0}, {32, 771, 21, 4112, 0, 0, 0}, {10, 32, 5632, 20480, 0, 0, 0}, {72, 119, 771, 17476, 0, 0, 0}, {3084, 12288, 64, 0, 0, 0, 0}, {10, 34, 85, 1285, 4352, 0, 0}, {10, 34, 4608, 66, 5126, 0, 0}, {127, 13056, 17264, 0, 0, 0, 0}, {3072, 96, 20560, 0, 0, 0, 0}, {8, 34, 1792, 85, 4369, 0, 0}, {8, 34, 4626, 64, 1024, 0, 0}, {95, 13107, 20480, 0, 0, 0, 0}, {8, 32, 5140, 0, 0, 0, 0}, {63, 768, 85, 0, 0, 0, 0}, {170, 23130, 26214, 0, 0, 0, 0}, {23, 64, 1024, 4096, 0, 0, 0}, {8, 32, 64, 1024, 4112, 0, 0}, {3840, 13107, 85, 0, 0, 0, 0}, {106, 12336, 22064, 0, 0, 0, 0}, {8, 32, 4883, 87, 5139, 0, 0}, {160, 15420, 20560, 0, 0, 0, 0}, {34, 768, 21, 4352, 0, 0, 0}, {8, 34, 5654, 17476, 0, 0, 0}, {95, 96, 768, 20480, 0, 0, 0}, {160, 15360, 20480, 0, 0, 0, 0}, {34, 771, 21, 4369, 0, 0, 0}, {8, 34, 5632, 17408, 0, 0, 0}, {95, 96, 771, 20560, 0, 0, 0}, {8, 32, 64, 1028, 4096, 0, 0}, {3855, 13056, 85, 0, 0, 0, 0}, {106, 12288, 22118, 0, 0, 0, 0}, {8, 32, 4864, 87, 5127, 0, 0}, {8, 32, 5120, 0, 0, 0, 0}, {63, 771, 85, 0, 0, 0, 0}, {170, 23040, 26112, 0, 0, 0, 0}, {23, 64, 1028, 4112, 0, 0, 0}, {3084, 96, 20480, 0, 0, 0, 0}, {8, 34, 1799, 85, 4352, 0, 0}, {8, 34, 4608, 64, 1028, 0, 0}, {95, 13056, 20560, 0, 0, 0, 0}, {3072, 12336, 64, 0, 0, 0, 0}, {10, 34, 85, 1280, 4369, 0, 0}, {10, 34, 4626, 66, 5138, 0, 0}, {127, 13107, 17203, 0, 0, 0, 0}, {136, 15420, 17476, 0, 0, 0, 0}, {32, 768, 21, 4096, 0, 0, 0}, {10, 32, 5654, 20560, 0, 0, 0}, {72, 119, 768, 17408, 0, 0, 0}, {72, 12336, 17408, 0, 0, 0, 0}, {10, 32, 4883, 85, 1280, 0, 0}, {10, 32, 1536, 64, 4112, 0, 0}, {3840, 119, 17476, 0, 0, 0, 0}, {128, 19532, 28784, 0, 0, 0, 0}, {23, 85, 1280, 4352, 0, 0, 0}, {10, 34, 5140, 0, 0, 0, 0}, {63, 768, 64, 0, 0, 0, 0}, {192, 3072, 12288, 0, 0, 0, 0}, {2, 85, 1285, 4369, 0, 0, 0}, {2, 64, 1024, 4096, 0, 0, 0}, {255, 3855, 13107, 0, 0, 0, 0}, {8, 13380, 17476, 0, 0, 0, 0}, {10, 53, 773, 85, 1285, 0, 0}, {10, 13926, 20480, 0, 0, 0, 0}, {8, 55, 775, 64, 1024, 0, 0}, {8, 12288, 64, 1024, 0, 0, 0}, {10, 13107, 85, 1285, 0, 0, 0}, {10, 96, 1536, 20480, 0, 0, 0}, {8, 119, 1799, 17476, 0, 0, 0}, {15564, 0, 0, 0, 0, 0, 0}, {2, 261, 272, 0, 0, 0, 0}, {2, 5188, 0, 0, 0, 0, 0}, {783, 816, 0, 0, 0, 0, 0}, {7248, 32, 20560, 0, 0, 0, 0}, {29, 34, 785, 85, 4369, 0, 0}, {7770, 34, 17408, 0, 0, 0, 0}, {31, 32, 787, 64, 4096, 0, 0}, {72, 96, 5140, 0, 0, 0, 0}, {42, 5632, 85, 0, 0, 0, 0}, {42, 5654, 64, 0, 0, 0, 0}, {95, 119, 5120, 0, 0, 0, 0}, {40, 5200, 0, 0, 0, 0, 0}, {819, 21, 0, 0, 0, 0, 0}, {5722, 5744, 0, 0, 0, 0, 0}, {23, 5188, 0, 0, 0, 0, 0}, {3084, 32, 64, 4112, 0, 0, 0}, {3840, 34, 85, 4352, 0, 0, 0}, {72, 34, 4626, 17476, 0, 0, 0}, {95, 32, 4864, 20480, 0, 0, 0}, {3072, 32, 64, 4096, 0, 0, 0}, {3855, 34, 85, 4369, 0, 0, 0}, {72, 34, 4608, 17408, 0, 0, 0}, {95, 32, 4883, 20560, 0, 0, 0}, {40, 5188, 0, 0, 0, 0, 0}, {816, 21, 0, 0, 0, 0, 0}, {5708, 5734, 0, 0, 0, 0, 0}, {23, 5200, 0, 0, 0, 0, 0}, {72, 96, 5120, 0, 0, 0, 0}, {42, 5654, 85, 0, 0, 0, 0}, {42, 5632, 64, 0, 0, 0, 0}, {95, 119, 5140, 0, 0, 0, 0}, {7244, 32, 20480, 0, 0, 0, 0}, {29, 34, 786, 85, 4352, 0, 0}, {7748, 34, 17476, 0, 0, 0, 0}, {31, 32, 784, 64, 4112, 0, 0}, {15600, 0, 0, 0, 0, 0, 0}, {2, 260, 273, 0, 0, 0, 0}, {2, 5200, 0, 0, 0, 0, 0}, {780, 819, 0, 0, 0, 0, 0}, {8, 12336, 64, 1028, 0, 0, 0}, {10, 13056, 85, 1280, 0, 0, 0}, {10, 96, 1542, 20560, 0, 0, 0}, {8, 119, 1792, 17408, 0, 0, 0}, {8, 13424, 17408, 0, 0, 0, 0}, {10, 53, 774, 85, 1280, 0, 0}, {10, 13904, 20560, 0, 0, 0, 0}, {8, 55, 772, 64, 1028, 0, 0}, {192, 3084, 12336, 0, 0, 0, 0}, {2, 85, 1280, 4352, 0, 0, 0}, {2, 64, 1028, 4112, 0, 0, 0}, {255, 3840, 13056, 0, 0, 0, 0}, {512, 5376, 0, 0, 0, 0, 0}, {60, 257, 0, 0, 0, 0, 0}, {5418, 514, 0, 0, 0, 0, 0}, {259, 5120, 0, 0, 0, 0, 0}, {520, 13056, 4420, 1028, 0, 0, 0}, {522, 12288, 4176, 1285, 0, 0, 0}, {1036, 4454, 1542, 17408, 0, 0, 0}, {1295, 4208, 1799, 20480, 0, 0, 0}, {520, 13568, 21760, 0, 0, 0, 0}, {265, 309, 771, 4437, 1285, 0, 0}, {522, 14080, 16384, 0, 0, 0, 0}, {267, 311, 771, 4160, 1028, 0, 0}, {1036, 512, 4352, 0, 0, 0, 0}, {4128, 514, 1285, 0, 0, 0, 0}, {4386, 514, 1028, 0, 0, 0, 0}, {1295, 512, 4096, 0, 0, 0, 0}, {3840, 544, 1360, 4112, 0, 0, 0}, {3072, 546, 1092, 4369, 0, 0, 0}, {1370, 4144, 4626, 20480, 0, 0, 0}, {1100, 4403, 4883, 17408, 0, 0, 0}, {768, 276, 0, 0, 0, 0, 0}, {554, 5397, 0, 0, 0, 0, 0}, {278, 5120, 0, 0, 0, 0, 0}, {5439, 5911, 0, 0, 0, 0, 0}, {5912, 5424, 1360, 0, 0, 0, 0}, {5401, 5939, 4437, 0, 0, 0, 0}, {5402, 5936, 4160, 0, 0, 0, 0}, {5915, 5427, 1092, 0, 0, 0, 0}, {284, 288, 768, 1360, 4352, 0, 0}, {7453, 546, 21845, 0, 0, 0, 0}, {286, 290, 768, 1092, 4096, 0, 0}, {7967, 544, 16448, 0, 0, 0, 0}, {7424, 544, 21760, 0, 0, 0, 0}, {285, 289, 771, 1365, 4369, 0, 0}, {7936, 546, 16384, 0, 0, 0, 0}, {287, 291, 771, 1088, 4112, 0, 0}, {5388, 5924, 4420, 0, 0, 0, 0}, {5903, 5413, 1365, 0, 0, 0, 0}, {5900, 5414, 1088, 0, 0, 0, 0}, {5391, 5927, 4176, 0, 0, 0, 0}, {552, 5376, 0, 0, 0, 0, 0}, {771, 277, 0, 0, 0, 0, 0}, {5418, 5888, 0, 0, 0, 0, 0}, {279, 5140, 0, 0, 0, 0, 0}, {3084, 544, 1088, 4352, 0, 0, 0}, {3855, 546, 1365, 4096, 0, 0, 0}, {1096, 4386, 4864, 17476, 0, 0, 0}, {1375, 4128, 4608, 20560, 0, 0, 0}, {4144, 512, 1280, 0, 0, 0, 0}, {1032, 514, 4369, 0, 0, 0, 0}, {1290, 514, 4112, 0, 0, 0, 0}, {4403, 512, 1024, 0, 0, 0, 0}, {264, 308, 768, 4420, 1280, 0, 0}, {522, 13621, 21845, 0, 0, 0, 0}, {266, 310, 768, 4176, 1024, 0, 0}, {520, 14135, 16448, 0, 0, 0, 0}, {520, 12336, 4160, 1280, 0, 0, 0}, {522, 13107, 4437, 1024, 0, 0, 0}, {1290, 4192, 1792, 20560, 0, 0, 0}, {1032, 4471, 1536, 17476, 0, 0, 0}, {60, 256, 0, 0, 0, 0, 0}, {514, 5397, 0, 0, 0, 0, 0}, {258, 5140, 0, 0, 0, 0, 0}, {5439, 512, 0, 0, 0, 0, 0}, {2560, 8704, 5440, 0, 0, 0, 0}, {783, 819, 321, 1285, 4369, 0, 0}, {5482, 8738, 16962, 0, 0, 0, 0}, {4367, 4403, 4608, 323, 5120, 0, 0}, {4864, 4420, 5376, 0, 0, 0, 0}, {634, 1285, 4112, 0, 0, 0, 0}, {1100, 4454, 582, 17408, 0, 0, 0}, {1295, 4144, 5959, 20480, 0, 0, 0}, {5960, 8192, 21760, 0, 0, 0, 0}, {4124, 4128, 4883, 4437, 1285, 0, 0}, {2570, 5984, 16448, 0, 0, 0, 0}, {1295, 1331, 1536, 1092, 4096, 0, 0}, {1100, 1536, 4352, 0, 0, 0, 0}, {4192, 4626, 1285, 0, 0, 0, 0}, {1546, 4386, 1092, 0, 0, 0, 0}, {1295, 4656, 4160, 0, 0, 0, 0}, {4608, 4176, 5376, 0, 0, 0, 0}, {622, 1028, 4369, 0, 0, 0, 0}, {1370, 4208, 594, 20480, 0, 0, 0}, {1036, 4403, 5971, 17408, 0, 0, 0}, {780, 816, 340, 1028, 4112, 0, 0}, {2048, 8192, 5461, 0, 0, 0, 0}, {4108, 4144, 4864, 342, 5120, 0, 0}, {5503, 8224, 22359, 0, 0, 0, 0}, {1800, 4128, 1360, 0, 0, 0, 0}, {1036, 4915, 4437, 0, 0, 0, 0}, {1370, 1792, 4096, 0, 0, 0, 0}, {4471, 4883, 1028, 0, 0, 0, 0}, {1036, 1072, 1792, 1360, 4352, 0, 0}, {2056, 6007, 21845, 0, 0, 0, 0}, {4382, 4386, 4626, 4160, 1028, 0, 0}, {5983, 8704, 16384, 0, 0, 0, 0}, {2048, 5984, 21760, 0, 0, 0, 0}, {1032, 1076, 1799, 1365, 4369, 0, 0}, {5960, 8738, 16448, 0, 0, 0, 0}, {4367, 4403, 4608, 4176, 1024, 0, 0}, {1032, 4896, 4420, 0, 0, 0, 0}, {1807, 4144, 1365, 0, 0, 0, 0}, {4454, 4864, 1024, 0, 0, 0, 0}, {1375, 1799, 4112, 0, 0, 0, 0}, {2056, 8224, 5440, 0, 0, 0, 0}, {783, 819, 341, 1024, 4096, 0, 0}, {5482, 8192, 22272, 0, 0, 0, 0}, {4124, 4128, 4883, 343, 5140, 0, 0}, {620, 1024, 4352, 0, 0, 0, 0}, {4626, 4160, 5397, 0, 0, 0, 0}, {1032, 4386, 5956, 17476, 0, 0, 0}, {1375, 4192, 592, 20560, 0, 0, 0}, {4208, 4608, 1280, 0, 0, 0, 0}, {1096, 1542, 4369, 0, 0, 0, 0}, {1290, 4642, 4176, 0, 0, 0, 0}, {1548, 4403, 1088, 0, 0, 0, 0}, {4108, 4144, 4864, 4420, 1280, 0, 0}, {5983, 8224, 21845, 0, 0, 0, 0}, {1290, 1334, 1542, 1088, 4112, 0, 0}, {2560, 6007, 16384, 0, 0, 0, 0}, {632, 1280, 4096, 0, 0, 0, 0}, {4883, 4437, 5397, 0, 0, 0, 0}, {1290, 4128, 5968, 20560, 0, 0, 0}, {1096, 4471, 580, 17476, 0, 0, 0}, {780, 816, 320, 1280, 4352, 0, 0}, {2570, 8738, 5461, 0, 0, 0, 0}, {4382, 4386, 4626, 322, 5140, 0, 0}, {5503, 8704, 16896, 0, 0, 0, 0}, {5504, 5888, 21760, 0, 0, 0, 0}, {333, 369, 771, 1285, 4369, 0, 0}, {5928, 8738, 16384, 0, 0, 0, 0}, {4367, 4403, 771, 4160, 5120, 0, 0}, {5388, 4864, 4420, 0, 0, 0, 0}, {4698, 4128, 1285, 0, 0, 0, 0}, {5414, 1542, 1088, 0, 0, 0, 0}, {1295, 1911, 4096, 0, 0, 0, 0}, {648, 8192, 5376, 0, 0, 0, 0}, {60, 771, 325, 1285, 4112, 0, 0}, {5418, 8224, 22304, 0, 0, 0, 0}, {4108, 4144, 771, 327, 5379, 0, 0}, {1548, 1088, 4352, 0, 0, 0, 0}, {4642, 4176, 1285, 0, 0, 0, 0}, {1096, 4386, 1542, 17476, 0, 0, 0}, {1295, 4208, 4608, 20480, 0, 0, 0}, {5424, 1792, 1360, 0, 0, 0, 0}, {1032, 1638, 4369, 0, 0, 0, 0}, {5402, 4626, 4160, 0, 0, 0, 0}, {4959, 4403, 1024, 0, 0, 0, 0}, {4124, 4128, 768, 4420, 5140, 0, 0}, {5951, 8192, 21845, 0, 0, 0, 0}, {346, 358, 768, 1024, 4096, 0, 0}, {5567, 5911, 16448, 0, 0, 0, 0}, {1800, 1360, 4112, 0, 0, 0, 0}, {4915, 4437, 1024, 0, 0, 0, 0}, {1370, 4144, 1792, 20480, 0, 0, 0}, {1032, 4471, 4883, 17476, 0, 0, 0}, {60, 768, 336, 1024, 4352, 0, 0}, {674, 8738, 5397, 0, 0, 0, 0}, {4382, 4386, 768, 338, 5398, 0, 0}, {5439, 8704, 16992, 0, 0, 0, 0}, {672, 8704, 5376, 0, 0, 0, 0}, {60, 771, 337, 1028, 4369, 0, 0}, {5418, 8738, 16930, 0, 0, 0, 0}, {4367, 4403, 771, 339, 5379, 0, 0}, {4896, 4420, 1028, 0, 0, 0, 0}, {1807, 1365, 4096, 0, 0, 0, 0}, {1036, 4454, 4864, 17408, 0, 0, 0}, {1375, 4128, 1799, 20560, 0, 0, 0}, {5928, 8224, 21760, 0, 0, 0, 0}, {4108, 4144, 771, 4437, 5120, 0, 0}, {5546, 5888, 16384, 0, 0, 0, 0}, {347, 359, 771, 1028, 4112, 0, 0}, {1036, 1632, 4352, 0, 0, 0, 0}, {5413, 1799, 1365, 0, 0, 0, 0}, {4940, 4386, 1028, 0, 0, 0, 0}, {5391, 4608, 4176, 0, 0, 0, 0}, {4656, 4160, 1280, 0, 0, 0, 0}, {1546, 1092, 4369, 0, 0, 0, 0}, {1290, 4192, 4626, 20560, 0, 0, 0}, {1100, 4403, 1536, 17408, 0, 0, 0}, {60, 768, 324, 1280, 4096, 0, 0}, {650, 8224, 5397, 0, 0, 0, 0}, {4124, 4128, 768, 326, 5398, 0, 0}, {5439, 8192, 22391, 0, 0, 0, 0}, {4680, 4144, 1280, 0, 0, 0, 0}, {5401, 4883, 4437, 0, 0, 0, 0}, {1290, 1904, 4112, 0, 0, 0, 0}, {5427, 1536, 1092, 0, 0, 0, 0}, {332, 368, 768, 1280, 4352, 0, 0}, {5525, 5911, 21845, 0, 0, 0, 0}, {4382, 4386, 768, 4176, 5140, 0, 0}, {5951, 8704, 16448, 0, 0, 0, 0}, {5568, 512, 21760, 0, 0, 0, 0}, {269, 305, 514, 1285, 4369, 0, 0}, {5610, 514, 16448, 0, 0, 0, 0}, {271, 307, 512, 1024, 4096, 0, 0}, {1032, 1536, 4420, 0, 0, 0, 0}, {522, 4192, 1285, 0, 0, 0, 0}, {522, 4454, 1024, 0, 0, 0, 0}, {1295, 1799, 4160, 0, 0, 0, 0}, {520, 5440, 0, 0, 0, 0, 0}, {819, 261, 0, 0, 0, 0, 0}, {522, 5984, 0, 0, 0, 0, 0}, {263, 5188, 0, 0, 0, 0, 0}, {204, 512, 1024, 4352, 0, 0, 0}, {240, 514, 1285, 4112, 0, 0, 0}, {1032, 4386, 514, 17476, 0, 0, 0}, {1295, 4144, 512, 20480, 0, 0, 0}, {4128, 4608, 1360, 0, 0, 0, 0}, {1096, 546, 4369, 0, 0, 0, 0}, {1370, 546, 4096, 0, 0, 0, 0}, {4403, 4883, 1088, 0, 0, 0, 0}, {280, 292, 532, 4420, 5140, 0, 0}, {554, 13653, 21845, 0, 0, 0, 0}, {282, 294, 534, 4160, 5120, 0, 0}, {552, 14199, 16384, 0, 0, 0, 0}, {552, 12288, 4176, 5376, 0, 0, 0}, {554, 13107, 4437, 5397, 0, 0, 0}, {1370, 4208, 5888, 20480, 0, 0, 0}, {1096, 4471, 5911, 17476, 0, 0, 0}, {780, 272, 0, 0, 0, 0, 0}, {546, 5461, 0, 0, 0, 0, 0}, {274, 5188, 0, 0, 0, 0, 0}, {5983, 544, 0, 0, 0, 0, 0}, {544, 5440, 0, 0, 0, 0, 0}, {783, 273, 0, 0, 0, 0, 0}, {5960, 546, 0, 0, 0, 0, 0}, {275, 5200, 0, 0, 0, 0, 0}, {552, 13056, 4420, 5376, 0, 0, 0}, {554, 12336, 4160, 5397, 0, 0, 0}, {1100, 4454, 5888, 17408, 0, 0, 0}, {1375, 4192, 5911, 20560, 0, 0, 0}, {552, 13664, 21760, 0, 0, 0, 0}, {281, 293, 534, 4437, 5120, 0, 0}, {554, 14144, 16448, 0, 0, 0, 0}, {283, 295, 532, 4176, 5140, 0, 0}, {1100, 544, 4352, 0, 0, 0, 0}, {4144, 4626, 1365, 0, 0, 0, 0}, {4386, 4864, 1092, 0, 0, 0, 0}, {1375, 544, 4112, 0, 0, 0, 0}, {240, 512, 1280, 4096, 0, 0, 0}, {204, 514, 1028, 4369, 0, 0, 0}, {1290, 4128, 514, 20560, 0, 0, 0}, {1036, 4403, 512, 17408, 0, 0, 0}, {816, 260, 0, 0, 0, 0, 0}, {522, 5461, 0, 0, 0, 0, 0}, {262, 5200, 0, 0, 0, 0, 0}, {520, 6007, 0, 0, 0, 0, 0}, {520, 4208, 1280, 0, 0, 0, 0}, {1036, 1542, 4437, 0, 0, 0, 0}, {1290, 1792, 4176, 0, 0, 0, 0}, {520, 4471, 1028, 0, 0, 0, 0}, {268, 304, 512, 1280, 4352, 0, 0}, {5589, 514, 21845, 0, 0, 0, 0}, {270, 306, 514, 1028, 4112, 0, 0}, {5631, 512, 16384, 0, 0, 0, 0}, {512, 5120, 0, 0, 0, 0, 0}, {63, 257, 0, 0, 0, 0, 0}, {5160, 514, 0, 0, 0, 0, 0}, {259, 5376, 0, 0, 0, 0, 0}, {520, 12288, 4160, 1028, 0, 0, 0}, {522, 13056, 4437, 1285, 0, 0, 0}, {1036, 4192, 1542, 16384, 0, 0, 0}, {1295, 4471, 1799, 21760, 0, 0, 0}, {520, 13824, 20480, 0, 0, 0, 0}, {265, 310, 771, 4176, 1285, 0, 0}, {522, 13312, 17408, 0, 0, 0, 0}, {267, 308, 771, 4420, 1028, 0, 0}, {1036, 512, 4096, 0, 0, 0, 0}, {4386, 514, 1285, 0, 0, 0, 0}, {4128, 514, 1028, 0, 0, 0, 0}, {1295, 512, 4352, 0, 0, 0, 0}, {3072, 544, 1088, 4112, 0, 0, 0}, {3840, 546, 1365, 4369, 0, 0, 0}, {1096, 4144, 4626, 16384, 0, 0, 0}, {1375, 4403, 4883, 21760, 0, 0, 0}, {552, 5140, 0, 0, 0, 0, 0}, {768, 277, 0, 0, 0, 0, 0}, {5180, 5654, 0, 0, 0, 0, 0}, {279, 5376, 0, 0, 0, 0, 0}, {5144, 5680, 4176, 0, 0, 0, 0}, {5657, 5171, 1365, 0, 0, 0, 0}, {5658, 5168, 1088, 0, 0, 0, 0}, {5147, 5683, 4420, 0, 0, 0, 0}, {7196, 544, 20560, 0, 0, 0, 0}, {285, 290, 768, 1365, 4096, 0, 0}, {7710, 546, 17476, 0, 0, 0, 0}, {287, 288, 768, 1088, 4352, 0, 0}, {7680, 544, 17408, 0, 0, 0, 0}, {286, 289, 771, 1092, 4369, 0, 0}, {7168, 546, 20480, 0, 0, 0, 0}, {284, 291, 771, 1360, 4112, 0, 0}, {5644, 5156, 1092, 0, 0, 0, 0}, {5135, 5669, 4437, 0, 0, 0, 0}, {5132, 5670, 4160, 0, 0, 0, 0}, {5647, 5159, 1360, 0, 0, 0, 0}, {5160, 5632, 0, 0, 0, 0, 0}, {278, 5397, 0, 0, 0, 0, 0}, {554, 5120, 0, 0, 0, 0, 0}, {771, 276, 0, 0, 0, 0, 0}, {1100, 4128, 4608, 16448, 0, 0, 0}, {1370, 4386, 4864, 21845, 0, 0, 0}, {3084, 546, 1092, 4096, 0, 0, 0}, {3855, 544, 1360, 4352, 0, 0, 0}, {4144, 512, 1024, 0, 0, 0, 0}, {1290, 514, 4369, 0, 0, 0, 0}, {1032, 514, 4112, 0, 0, 0, 0}, {4403, 512, 1280, 0, 0, 0, 0}, {520, 13364, 17476, 0, 0, 0, 0}, {266, 309, 768, 4437, 1024, 0, 0}, {522, 13878, 20560, 0, 0, 0, 0}, {264, 311, 768, 4160, 1280, 0, 0}, {1032, 4208, 1536, 16448, 0, 0, 0}, {1290, 4454, 1792, 21845, 0, 0, 0}, {522, 12336, 4176, 1024, 0, 0, 0}, {520, 13107, 4420, 1280, 0, 0, 0}, {5180, 512, 0, 0, 0, 0, 0}, {258, 5397, 0, 0, 0, 0, 0}, {514, 5140, 0, 0, 0, 0, 0}, {63, 256, 0, 0, 0, 0, 0}, {4608, 4160, 5120, 0, 0, 0, 0}, {637, 1285, 4369, 0, 0, 0, 0}, {1096, 4192, 578, 16384, 0, 0, 0}, {1295, 4403, 5699, 21760, 0, 0, 0}, {2560, 8192, 5188, 0, 0, 0, 0}, {783, 816, 325, 1285, 4112, 0, 0}, {5228, 8224, 17990, 0, 0, 0, 0}, {4111, 4144, 4864, 327, 5376, 0, 0}, {1096, 1536, 4096, 0, 0, 0, 0}, {4454, 4883, 1285, 0, 0, 0, 0}, {1546, 4128, 1088, 0, 0, 0, 0}, {1295, 4915, 4420, 0, 0, 0, 0}, {5708, 8704, 20480, 0, 0, 0, 0}, {4381, 4386, 4626, 4176, 1285, 0, 0}, {2570, 5734, 17476, 0, 0, 0, 0}, {1295, 1328, 1536, 1088, 4352, 0, 0}, {2048, 8704, 5200, 0, 0, 0, 0}, {780, 819, 337, 1028, 4369, 0, 0}, {5240, 8738, 21074, 0, 0, 0, 0}, {4364, 4403, 4608, 339, 5376, 0, 0}, {616, 1028, 4112, 0, 0, 0, 0}, {4864, 4437, 5120, 0, 0, 0, 0}, {1036, 4144, 5718, 16384, 0, 0, 0}, {1375, 4471, 599, 21760, 0, 0, 0}, {2056, 5744, 20560, 0, 0, 0, 0}, {1036, 1075, 1792, 1365, 4096, 0, 0}, {5722, 8192, 17408, 0, 0, 0, 0}, {4127, 4128, 4883, 4420, 1028, 0, 0}, {1036, 4656, 4176, 0, 0, 0, 0}, {1800, 4386, 1365, 0, 0, 0, 0}, {4208, 4626, 1028, 0, 0, 0, 0}, {1375, 1792, 4352, 0, 0, 0, 0}, {4192, 4608, 1024, 0, 0, 0, 0}, {1370, 1799, 4369, 0, 0, 0, 0}, {1032, 4642, 4160, 0, 0, 0, 0}, {1807, 4403, 1360, 0, 0, 0, 0}, {5708, 8224, 17476, 0, 0, 0, 0}, {4111, 4144, 4864, 4437, 1024, 0, 0}, {2048, 5734, 20480, 0, 0, 0, 0}, {1032, 1079, 1799, 1360, 4112, 0, 0}, {1032, 4128, 5696, 16448, 0, 0, 0}, {1370, 4454, 597, 21845, 0, 0, 0}, {618, 1024, 4096, 0, 0, 0, 0}, {4883, 4420, 5140, 0, 0, 0, 0}, {5228, 8704, 20992, 0, 0, 0, 0}, {4381, 4386, 4626, 338, 5397, 0, 0}, {2056, 8738, 5188, 0, 0, 0, 0}, {783, 816, 336, 1024, 4352, 0, 0}, {2560, 5744, 17408, 0, 0, 0, 0}, {1290, 1333, 1542, 1092, 4369, 0, 0}, {5722, 8738, 20560, 0, 0, 0, 0}, {4364, 4403, 4608, 4160, 1280, 0, 0}, {1548, 4144, 1092, 0, 0, 0, 0}, {1290, 4896, 4437, 0, 0, 0, 0}, {1100, 1542, 4112, 0, 0, 0, 0}, {4471, 4864, 1280, 0, 0, 0, 0}, {5240, 8192, 17920, 0, 0, 0, 0}, {4127, 4128, 4883, 326, 5397, 0, 0}, {2570, 8224, 5200, 0, 0, 0, 0}, {780, 819, 324, 1280, 4096, 0, 0}, {1100, 4208, 576, 16448, 0, 0, 0}, {1290, 4386, 5717, 21845, 0, 0, 0}, {4626, 4176, 5140, 0, 0, 0, 0}, {639, 1280, 4352, 0, 0, 0, 0}, {640, 8704, 5120, 0, 0, 0, 0}, {63, 771, 321, 1285, 4369, 0, 0}, {5160, 8738, 21026, 0, 0, 0, 0}, {4364, 4403, 771, 323, 5123, 0, 0}, {1548, 1092, 4096, 0, 0, 0, 0}, {4896, 4437, 1285, 0, 0, 0, 0}, {1100, 4128, 1542, 16448, 0, 0, 0}, {1295, 4471, 4864, 21760, 0, 0, 0}, {5256, 5632, 20480, 0, 0, 0, 0}, {329, 374, 771, 1285, 4112, 0, 0}, {5674, 8224, 17408, 0, 0, 0, 0}, {4111, 4144, 771, 4420, 5376, 0, 0}, {5132, 4608, 4160, 0, 0, 0, 0}, {4959, 4386, 1285, 0, 0, 0, 0}, {5156, 1542, 1092, 0, 0, 0, 0}, {1295, 1904, 4352, 0, 0, 0, 0}, {4656, 4176, 1024, 0, 0, 0, 0}, {1800, 1365, 4369, 0, 0, 0, 0}, {1032, 4208, 4626, 16448, 0, 0, 0}, {1375, 4403, 1792, 21760, 0, 0, 0}, {680, 8224, 5140, 0, 0, 0, 0}, {63, 768, 341, 1024, 4096, 0, 0}, {5180, 8192, 18022, 0, 0, 0, 0}, {4127, 4128, 768, 343, 5143, 0, 0}, {1032, 1632, 4112, 0, 0, 0, 0}, {5171, 1792, 1365, 0, 0, 0, 0}, {4698, 4144, 1024, 0, 0, 0, 0}, {5147, 4883, 4420, 0, 0, 0, 0}, {5692, 8704, 20560, 0, 0, 0, 0}, {4381, 4386, 768, 4160, 5397, 0, 0}, {5300, 5654, 17476, 0, 0, 0, 0}, {351, 352, 768, 1024, 4352, 0, 0}, {5280, 5632, 17408, 0, 0, 0, 0}, {350, 353, 771, 1028, 4369, 0, 0}, {5674, 8738, 20480, 0, 0, 0, 0}, {4364, 4403, 771, 4176, 5376, 0, 0}, {4680, 4128, 1028, 0, 0, 0, 0}, {5135, 4864, 4437, 0, 0, 0, 0}, {1036, 1638, 4096, 0, 0, 0, 0}, {5159, 1799, 1360, 0, 0, 0, 0}, {5160, 8224, 17952, 0, 0, 0, 0}, {4111, 4144, 771, 342, 5123, 0, 0}, {682, 8192, 5120, 0, 0, 0, 0}, {63, 771, 340, 1028, 4112, 0, 0}, {1036, 4192, 4608, 16384, 0, 0, 0}, {1370, 4386, 1799, 21845, 0, 0, 0}, {4642, 4160, 1028, 0, 0, 0, 0}, {1807, 1360, 4352, 0, 0, 0, 0}, {5168, 1536, 1088, 0, 0, 0, 0}, {1290, 1911, 4369, 0, 0, 0, 0}, {5144, 4626, 4176, 0, 0, 0, 0}, {4940, 4403, 1280, 0, 0, 0, 0}, {5692, 8192, 17476, 0, 0, 0, 0}, {4127, 4128, 768, 4437, 5397, 0, 0}, {5276, 5654, 20560, 0, 0, 0, 0}, {328, 375, 768, 1280, 4096, 0, 0}, {1096, 4144, 1536, 16384, 0, 0, 0}, {1290, 4454, 4883, 21845, 0, 0, 0}, {1546, 1088, 4112, 0, 0, 0, 0}, {4915, 4420, 1280, 0, 0, 0, 0}, {5180, 8704, 21104, 0, 0, 0, 0}, {4381, 4386, 768, 322, 5143, 0, 0}, {642, 8738, 5140, 0, 0, 0, 0}, {63, 768, 320, 1280, 4352, 0, 0}, {192, 512, 1024, 4096, 0, 0, 0}, {255, 514, 1285, 4369, 0, 0, 0}, {1032, 4128, 514, 16448, 0, 0, 0}, {1295, 4403, 512, 21760, 0, 0, 0}, {520, 5188, 0, 0, 0, 0, 0}, {816, 261, 0, 0, 0, 0, 0}, {522, 5734, 0, 0, 0, 0, 0}, {263, 5440, 0, 0, 0, 0, 0}, {1032, 1536, 4160, 0, 0, 0, 0}, {522, 4454, 1285, 0, 0, 0, 0}, {522, 4192, 1024, 0, 0, 0, 0}, {1295, 1799, 4420, 0, 0, 0, 0}, {5324, 512, 20480, 0, 0, 0, 0}, {269, 306, 514, 1285, 4112, 0, 0}, {5348, 514, 17476, 0, 0, 0, 0}, {271, 304, 512, 1024, 4352, 0, 0}, {544, 5200, 0, 0, 0, 0, 0}, {780, 273, 0, 0, 0, 0, 0}, {5722, 546, 0, 0, 0, 0, 0}, {275, 5440, 0, 0, 0, 0, 0}, {552, 12336, 4176, 5140, 0, 0, 0}, {554, 13056, 4437, 5120, 0, 0, 0}, {1100, 4208, 5654, 16448, 0, 0, 0}, {1375, 4471, 5632, 21760, 0, 0, 0}, {552, 13904, 20560, 0, 0, 0, 0}, {281, 294, 533, 4160, 5397, 0, 0}, {554, 13424, 17408, 0, 0, 0, 0}, {283, 292, 535, 4420, 5376, 0, 0}, {1100, 544, 4112, 0, 0, 0, 0}, {4386, 4864, 1365, 0, 0, 0, 0}, {4144, 4626, 1092, 0, 0, 0, 0}, {1375, 544, 4352, 0, 0, 0, 0}, {4128, 4608, 1088, 0, 0, 0, 0}, {1370, 546, 4369, 0, 0, 0, 0}, {1096, 546, 4096, 0, 0, 0, 0}, {4403, 4883, 1360, 0, 0, 0, 0}, {552, 13380, 17476, 0, 0, 0, 0}, {282, 293, 533, 4437, 5397, 0, 0}, {554, 13926, 20480, 0, 0, 0, 0}, {280, 295, 535, 4176, 5376, 0, 0}, {1096, 4192, 5632, 16384, 0, 0, 0}, {1370, 4454, 5654, 21845, 0, 0, 0}, {554, 12288, 4160, 5120, 0, 0, 0}, {552, 13107, 4420, 5140, 0, 0, 0}, {5708, 544, 0, 0, 0, 0, 0}, {274, 5461, 0, 0, 0, 0, 0}, {546, 5188, 0, 0, 0, 0, 0}, {783, 272, 0, 0, 0, 0, 0}, {5360, 512, 17408, 0, 0, 0, 0}, {270, 305, 514, 1028, 4369, 0, 0}, {5336, 514, 20560, 0, 0, 0, 0}, {268, 307, 512, 1280, 4096, 0, 0}, {520, 4208, 1028, 0, 0, 0, 0}, {1290, 1792, 4437, 0, 0, 0, 0}, {1036, 1542, 4176, 0, 0, 0, 0}, {520, 4471, 1280, 0, 0, 0, 0}, {520, 5744, 0, 0, 0, 0, 0}, {262, 5461, 0, 0, 0, 0, 0}, {522, 5200, 0, 0, 0, 0, 0}, {819, 260, 0, 0, 0, 0, 0}, {1036, 4144, 512, 16384, 0, 0, 0}, {1290, 4386, 514, 21845, 0, 0, 0}, {192, 514, 1028, 4112, 0, 0, 0}, {255, 512, 1280, 4352, 0, 0, 0}, {16128, 0, 0, 0, 0, 0, 0}, {2, 20, 257, 0, 0, 0, 0}, {2, 5376, 0, 0, 0, 0, 0}, {60, 771, 0, 0, 0, 0, 0}, {8, 13056, 68, 1028, 0, 0, 0}, {10, 12288, 80, 1285, 0, 0, 0}, {10, 102, 1542, 21760, 0, 0, 0}, {8, 112, 1799, 16384, 0, 0, 0}, {8, 14080, 16384, 0, 0, 0, 0}, {10, 54, 771, 80, 1285, 0, 0}, {10, 13568, 21760, 0, 0, 0, 0}, {8, 52, 771, 68, 1028, 0, 0}, {204, 3084, 13056, 0, 0, 0, 0}, {2, 80, 1285, 4096, 0, 0, 0}, {2, 68, 1028, 4352, 0, 0, 0}, {240, 3855, 12288, 0, 0, 0, 0}, {3840, 32, 80, 4112, 0, 0, 0}, {3072, 34, 68, 4369, 0, 0, 0}, {90, 34, 4626, 21760, 0, 0, 0}, {76, 32, 4883, 16384, 0, 0, 0}, {768, 20, 0, 0, 0, 0, 0}, {42, 5397, 0, 0, 0, 0, 0}, {22, 5376, 0, 0, 0, 0, 0}, {40, 5911, 0, 0, 0, 0, 0}, {5912, 5936, 80, 0, 0, 0, 0}, {5401, 5427, 5461, 0, 0, 0, 0}, {5402, 5424, 5440, 0, 0, 0, 0}, {5915, 5939, 68, 0, 0, 0, 0}, {28, 32, 768, 80, 4096, 0, 0}, {7453, 34, 21845, 0, 0, 0, 0}, {30, 34, 768, 68, 4352, 0, 0}, {7967, 32, 16448, 0, 0, 0, 0}, {7936, 32, 16384, 0, 0, 0, 0}, {30, 34, 771, 68, 4369, 0, 0}, {7424, 34, 21760, 0, 0, 0, 0}, {28, 32, 771, 80, 4112, 0, 0}, {5900, 5924, 68, 0, 0, 0, 0}, {5391, 5413, 5461, 0, 0, 0, 0}, {5388, 5414, 5440, 0, 0, 0, 0}, {5903, 5927, 80, 0, 0, 0, 0}, {40, 5888, 0, 0, 0, 0, 0}, {22, 5397, 0, 0, 0, 0, 0}, {42, 5376, 0, 0, 0, 0, 0}, {771, 20, 0, 0, 0, 0, 0}, {76, 32, 4864, 16448, 0, 0, 0}, {90, 34, 4608, 21845, 0, 0, 0}, {3084, 34, 68, 4352, 0, 0, 0}, {3855, 32, 80, 4096, 0, 0, 0}, {240, 3840, 12336, 0, 0, 0, 0}, {2, 68, 1024, 4369, 0, 0, 0}, {2, 80, 1280, 4112, 0, 0, 0}, {204, 3072, 13107, 0, 0, 0, 0}, {8, 52, 768, 68, 1024, 0, 0}, {10, 13621, 21845, 0, 0, 0, 0}, {10, 54, 768, 80, 1280, 0, 0}, {8, 14135, 16448, 0, 0, 0, 0}, {8, 112, 1792, 16448, 0, 0, 0}, {10, 102, 1536, 21845, 0, 0, 0}, {10, 12336, 80, 1280, 0, 0, 0}, {8, 13107, 68, 1024, 0, 0, 0}, {60, 768, 0, 0, 0, 0, 0}, {2, 5397, 0, 0, 0, 0, 0}, {2, 20, 256, 0, 0, 0, 0}, {16191, 0, 0, 0, 0, 0, 0}, {128, 16192, 16448, 0, 0, 0, 0}, {34, 785, 20, 4369, 0, 0, 0}, {10, 34, 5954, 21760, 0, 0, 0}, {76, 112, 835, 16384, 0, 0, 0}, {3072, 13056, 68, 0, 0, 0, 0}, {10, 32, 80, 1285, 4112, 0, 0}, {10, 32, 4864, 70, 5376, 0, 0}, {120, 12336, 18247, 0, 0, 0, 0}, {136, 18504, 30464, 0, 0, 0, 0}, {22, 80, 1285, 4096, 0, 0, 0}, {10, 32, 5440, 0, 0, 0, 0}, {783, 819, 68, 0, 0, 0, 0}, {76, 13056, 16384, 0, 0, 0, 0}, {10, 34, 4626, 80, 1285, 0, 0}, {10, 34, 1536, 68, 4352, 0, 0}, {3855, 112, 16448, 0, 0, 0, 0}, {3840, 12288, 80, 0, 0, 0, 0}, {8, 34, 68, 1028, 4369, 0, 0}, {8, 34, 4608, 82, 5376, 0, 0}, {108, 13107, 21331, 0, 0, 0, 0}, {32, 784, 20, 4112, 0, 0, 0}, {170, 16213, 21845, 0, 0, 0, 0}, {90, 102, 854, 21760, 0, 0, 0}, {8, 32, 5975, 16384, 0, 0, 0}, {8, 32, 1792, 80, 4096, 0, 0}, {3084, 102, 21845, 0, 0, 0, 0}, {90, 12288, 21760, 0, 0, 0, 0}, {8, 32, 4883, 68, 1028, 0, 0}, {780, 816, 80, 0, 0, 0, 0}, {8, 34, 5461, 0, 0, 0, 0}, {22, 68, 1028, 4352, 0, 0, 0}, {160, 24415, 24576, 0, 0, 0, 0}, {160, 24320, 24672, 0, 0, 0, 0}, {22, 68, 1024, 4369, 0, 0, 0}, {8, 34, 5440, 0, 0, 0, 0}, {783, 819, 80, 0, 0, 0, 0}, {8, 32, 4864, 68, 1024, 0, 0}, {90, 12336, 21845, 0, 0, 0, 0}, {3072, 102, 21760, 0, 0, 0, 0}, {8, 32, 1799, 80, 4112, 0, 0}, {8, 32, 5952, 16448, 0, 0, 0}, {90, 102, 853, 21845, 0, 0, 0}, {170, 16234, 21760, 0, 0, 0, 0}, {32, 787, 20, 4096, 0, 0, 0}, {108, 13056, 21248, 0, 0, 0, 0}, {8, 34, 4626, 82, 5397, 0, 0}, {8, 34, 68, 1024, 4352, 0, 0}, {3855, 12336, 80, 0, 0, 0, 0}, {3840, 112, 16384, 0, 0, 0, 0}, {10, 34, 1542, 68, 4369, 0, 0}, {10, 34, 4608, 80, 1280, 0, 0}, {76, 13107, 16448, 0, 0, 0, 0}, {780, 816, 68, 0, 0, 0, 0}, {10, 32, 5461, 0, 0, 0, 0}, {22, 80, 1280, 4112, 0, 0, 0}, {136, 18432, 30583, 0, 0, 0, 0}, {120, 12288, 18176, 0, 0, 0, 0}, {10, 32, 4883, 70, 5397, 0, 0}, {10, 32, 80, 1280, 4096, 0, 0}, {3084, 13107, 68, 0, 0, 0, 0}, {76, 112, 832, 16448, 0, 0, 0}, {10, 34, 5973, 21845, 0, 0, 0}, {34, 786, 20, 4352, 0, 0, 0}, {128, 16255, 16384, 0, 0, 0, 0}, {128, 16128, 16384, 0, 0, 0, 0}, {34, 771, 20, 4369, 0, 0, 0}, {10, 34, 5888, 21760, 0, 0, 0}, {76, 112, 771, 16448, 0, 0, 0}, {3084, 13056, 68, 0, 0, 0, 0}, {10, 32, 80, 1285, 4096, 0, 0}, {10, 32, 4864, 70, 5382, 0, 0}, {120, 12288, 18295, 0, 0, 0, 0}, {136, 18432, 30464, 0, 0, 0, 0}, {22, 80, 1285, 4112, 0, 0, 0}, {10, 32, 5376, 0, 0, 0, 0}, {60, 771, 68, 0, 0, 0, 0}, {76, 13056, 16448, 0, 0, 0, 0}, {10, 34, 4608, 80, 1285, 0, 0}, {10, 34, 1542, 68, 4352, 0, 0}, {3855, 112, 16384, 0, 0, 0, 0}, {3840, 12336, 80, 0, 0, 0, 0}, {8, 34, 68, 1024, 4369, 0, 0}, {8, 34, 4626, 82, 5394, 0, 0}, {108, 13107, 21299, 0, 0, 0, 0}, {32, 768, 20, 4096, 0, 0, 0}, {170, 16191, 21845, 0, 0, 0, 0}, {90, 102, 768, 21760, 0, 0, 0}, {8, 32, 5911, 16448, 0, 0, 0}, {8, 32, 1792, 80, 4112, 0, 0}, {3072, 102, 21845, 0, 0, 0, 0}, {90, 12336, 21760, 0, 0, 0, 0}, {8, 32, 4883, 68, 1024, 0, 0}, {60, 768, 80, 0, 0, 0, 0}, {8, 34, 5397, 0, 0, 0, 0}, {22, 68, 1024, 4352, 0, 0, 0}, {160, 24415, 24672, 0, 0, 0, 0}, {160, 24320, 24576, 0, 0, 0, 0}, {22, 68, 1028, 4369, 0, 0, 0}, {8, 34, 5376, 0, 0, 0, 0}, {60, 771, 80, 0, 0, 0, 0}, {8, 32, 4864, 68, 1028, 0, 0}, {90, 12288, 21845, 0, 0, 0, 0}, {3084, 102, 21760, 0, 0, 0, 0}, {8, 32, 1799, 80, 4096, 0, 0}, {8, 32, 5888, 16384, 0, 0, 0}, {90, 102, 771, 21845, 0, 0, 0}, {170, 16128, 21760, 0, 0, 0, 0}, {32, 771, 20, 4112, 0, 0, 0}, {108, 13056, 21344, 0, 0, 0, 0}, {8, 34, 4608, 82, 5383, 0, 0}, {8, 34, 68, 1028, 4352, 0, 0}, {3855, 12288, 80, 0, 0, 0, 0}, {3840, 112, 16448, 0, 0, 0, 0}, {10, 34, 1536, 68, 4369, 0, 0}, {10, 34, 4626, 80, 1280, 0, 0}, {76, 13107, 16384, 0, 0, 0, 0}, {60, 768, 68, 0, 0, 0, 0}, {10, 32, 5397, 0, 0, 0, 0}, {22, 80, 1280, 4096, 0, 0, 0}, {136, 18504, 30583, 0, 0, 0, 0}, {120, 12336, 18224, 0, 0, 0, 0}, {10, 32, 4883, 70, 5395, 0, 0}, {10, 32, 80, 1280, 4112, 0, 0}, {3072, 13107, 68, 0, 0, 0, 0}, {76, 112, 768, 16384, 0, 0, 0}, {10, 34, 5911, 21845, 0, 0, 0}, {34, 768, 20, 4352, 0, 0, 0}, {128, 16191, 16448, 0, 0, 0, 0}, {16320, 0, 0, 0, 0, 0, 0}, {2, 261, 273, 0, 0, 0, 0}, {2, 5440, 0, 0, 0, 0, 0}, {783, 819, 0, 0, 0, 0, 0}, {8, 13056, 68, 1024, 0, 0, 0}, {10, 12336, 80, 1285, 0, 0, 0}, {10, 102, 1536, 21760, 0, 0, 0}, {8, 112, 1799, 16448, 0, 0, 0}, {8, 14144, 16448, 0, 0, 0, 0}, {10, 54, 773, 80, 1285, 0, 0}, {10, 13664, 21760, 0, 0, 0, 0}, {8, 52, 775, 68, 1024, 0, 0}, {204, 3072, 13056, 0, 0, 0, 0}, {2, 80, 1285, 4112, 0, 0, 0}, {2, 68, 1024, 4352, 0, 0, 0}, {240, 3855, 12336, 0, 0, 0, 0}, {3840, 32, 80, 4096, 0, 0, 0}, {3084, 34, 68, 4369, 0, 0, 0}, {90, 34, 4608, 21760, 0, 0, 0}, {76, 32, 4883, 16448, 0, 0, 0}, {816, 20, 0, 0, 0, 0, 0}, {42, 5461, 0, 0, 0, 0, 0}, {22, 5440, 0, 0, 0, 0, 0}, {5983, 6007, 0, 0, 0, 0, 0}, {40, 5888, 80, 0, 0, 0, 0}, {76, 102, 5397, 0, 0, 0, 0}, {90, 112, 5376, 0, 0, 0, 0}, {40, 5911, 68, 0, 0, 0, 0}, {28, 32, 784, 80, 4112, 0, 0}, {7509, 34, 21845, 0, 0, 0, 0}, {30, 34, 786, 68, 4352, 0, 0}, {8031, 32, 16384, 0, 0, 0, 0}, {8000, 32, 16448, 0, 0, 0, 0}, {30, 34, 785, 68, 4369, 0, 0}, {7496, 34, 21760, 0, 0, 0, 0}, {28, 32, 787, 80, 4096, 0, 0}, {40, 5888, 68, 0, 0, 0, 0}, {90, 112, 5397, 0, 0, 0, 0}, {76, 102, 5376, 0, 0, 0, 0}, {40, 5911, 80, 0, 0, 0, 0}, {5960, 5984, 0, 0, 0, 0, 0}, {22, 5461, 0, 0, 0, 0, 0}, {42, 5440, 0, 0, 0, 0, 0}, {819, 20, 0, 0, 0, 0, 0}, {76, 32, 4864, 16384, 0, 0, 0}, {90, 34, 4626, 21845, 0, 0, 0}, {3072, 34, 68, 4352, 0, 0, 0}, {3855, 32, 80, 4112, 0, 0, 0}, {240, 3840, 12288, 0, 0, 0, 0}, {2, 68, 1028, 4369, 0, 0, 0}, {2, 80, 1280, 4096, 0, 0, 0}, {204, 3084, 13107, 0, 0, 0, 0}, {8, 52, 772, 68, 1028, 0, 0}, {10, 13653, 21845, 0, 0, 0, 0}, {10, 54, 774, 80, 1280, 0, 0}, {8, 14199, 16384, 0, 0, 0, 0}, {8, 112, 1792, 16384, 0, 0, 0}, {10, 102, 1542, 21845, 0, 0, 0}, {10, 12288, 80, 1280, 0, 0, 0}, {8, 13107, 68, 1028, 0, 0, 0}, {780, 816, 0, 0, 0, 0, 0}, {2, 5461, 0, 0, 0, 0, 0}, {2, 260, 272, 0, 0, 0, 0}, {16383, 0, 0, 0, 0, 0, 0}, {16384, 0, 0, 0, 0, 0, 0}, {5, 17, 257, 0, 0, 0, 0}, {10, 34, 514, 16386, 0, 0, 0}, {15, 51, 771, 16387, 0, 0, 0}, {68, 1028, 0, 0, 0, 0, 0}, {5, 4096, 0, 0, 0, 0, 0}, {10, 102, 1542, 16390, 0, 0, 0}, {15, 119, 1799, 16391, 0, 0, 0}, {136, 2056, 16392, 0, 0, 0, 0}, {51, 771, 5, 4099, 0, 0, 0}, {10, 8192, 16384, 0, 0, 0, 0}, {15, 51, 771, 68, 1028, 0, 0}, {204, 3084, 16396, 0, 0, 0, 0}, {34, 514, 5, 4098, 0, 0, 0}, {10, 34, 514, 68, 1028, 0, 0}, {15, 12288, 16384, 0, 0, 0, 0}, {80, 4112, 0, 0, 0, 0, 0}, {1024, 17, 0, 0, 0, 0, 0}, {90, 34, 4626, 16402, 0, 0, 0}, {95, 51, 4883, 16403, 0, 0, 0}, {20, 4096, 0, 0, 0, 0, 0}, {85, 5397, 0, 0, 0, 0, 0}, {90, 102, 5654, 16406, 0, 0, 0}, {95, 119, 5911, 16407, 0, 0, 0}, {4120, 4144, 80, 0, 0, 0, 0}, {5401, 51, 85, 0, 0, 0, 0}, {90, 12336, 16448, 0, 0, 0, 0}, {27, 51, 4864, 68, 1024, 0, 0}, {4124, 4128, 80, 0, 0, 0, 0}, {5405, 34, 85, 0, 0, 0, 0}, {30, 34, 4608, 68, 1024, 0, 0}, {95, 8224, 16448, 0, 0, 0, 0}, {160, 8224, 16416, 0, 0, 0, 0}, {15, 771, 1027, 17, 0, 0, 0}, {2048, 34, 16384, 0, 0, 0, 0}, {15, 51, 771, 80, 4112, 0, 0}, {1036, 1060, 68, 0, 0, 0, 0}, {15, 5413, 85, 0, 0, 0, 0}, {3084, 102, 16448, 0, 0, 0, 0}, {15, 39, 1792, 80, 4096, 0, 0}, {40, 8192, 16384, 0, 0, 0, 0}, {15, 51, 771, 85, 5397, 0, 0}, {170, 10794, 16426, 0, 0, 0, 0}, {51, 771, 20, 4099, 0, 0, 0}, {108, 8224, 16448, 0, 0, 0, 0}, {15, 34, 4608, 85, 5376, 0, 0}, {1036, 34, 68, 0, 0, 0, 0}, {15, 4128, 80, 0, 0, 0, 0}, {240, 12336, 16432, 0, 0, 0, 0}, {10, 514, 1026, 17, 0, 0, 0}, {10, 34, 514, 80, 4112, 0, 0}, {3072, 51, 16384, 0, 0, 0, 0}, {1032, 1076, 68, 0, 0, 0, 0}, {10, 5429, 85, 0, 0, 0, 0}, {10, 54, 1536, 80, 4096, 0, 0}, {2056, 119, 16448, 0, 0, 0, 0}, {120, 12336, 16448, 0, 0, 0, 0}, {10, 51, 4864, 85, 5376, 0, 0}, {10, 4144, 80, 0, 0, 0, 0}, {1032, 51, 68, 0, 0, 0, 0}, {60, 12288, 16384, 0, 0, 0, 0}, {10, 34, 514, 85, 5397, 0, 0}, {34, 514, 20, 4098, 0, 0, 0}, {255, 16191, 16447, 0, 0, 0, 0}, {16448, 0, 0, 0, 0, 0, 0}, {5, 17, 256, 0, 0, 0, 0}, {10, 34, 512, 16450, 0, 0, 0}, {15, 51, 768, 16451, 0, 0, 0}, {68, 1024, 0, 0, 0, 0, 0}, {5, 4112, 0, 0, 0, 0, 0}, {10, 102, 1536, 16454, 0, 0, 0}, {15, 119, 1792, 16455, 0, 0, 0}, {136, 2048, 16456, 0, 0, 0, 0}, {51, 768, 5, 4115, 0, 0, 0}, {10, 8224, 16448, 0, 0, 0, 0}, {15, 51, 768, 68, 1024, 0, 0}, {204, 3072, 16460, 0, 0, 0, 0}, {34, 512, 5, 4114, 0, 0, 0}, {10, 34, 512, 68, 1024, 0, 0}, {15, 12336, 16448, 0, 0, 0, 0}, {80, 4096, 0, 0, 0, 0, 0}, {1028, 17, 0, 0, 0, 0, 0}, {90, 34, 4608, 16466, 0, 0, 0}, {95, 51, 4864, 16467, 0, 0, 0}, {20, 4112, 0, 0, 0, 0, 0}, {85, 5376, 0, 0, 0, 0, 0}, {90, 102, 5632, 16470, 0, 0, 0}, {95, 119, 5888, 16471, 0, 0, 0}, {4104, 4128, 80, 0, 0, 0, 0}, {5388, 51, 85, 0, 0, 0, 0}, {90, 12288, 16384, 0, 0, 0, 0}, {27, 51, 4883, 68, 1028, 0, 0}, {4108, 4144, 80, 0, 0, 0, 0}, {5384, 34, 85, 0, 0, 0, 0}, {30, 34, 4626, 68, 1028, 0, 0}, {95, 8192, 16384, 0, 0, 0, 0}, {160, 8192, 16480, 0, 0, 0, 0}, {15, 768, 1031, 17, 0, 0, 0}, {2056, 34, 16448, 0, 0, 0, 0}, {15, 51, 768, 80, 4096, 0, 0}, {1032, 1056, 68, 0, 0, 0, 0}, {15, 5424, 85, 0, 0, 0, 0}, {3072, 102, 16384, 0, 0, 0, 0}, {15, 39, 1799, 80, 4112, 0, 0}, {40, 8224, 16448, 0, 0, 0, 0}, {15, 51, 768, 85, 5376, 0, 0}, {170, 10752, 16490, 0, 0, 0, 0}, {51, 768, 20, 4115, 0, 0, 0}, {108, 8192, 16384, 0, 0, 0, 0}, {15, 34, 4626, 85, 5397, 0, 0}, {1032, 34, 68, 0, 0, 0, 0}, {15, 4144, 80, 0, 0, 0, 0}, {240, 12288, 16496, 0, 0, 0, 0}, {10, 512, 1030, 17, 0, 0, 0}, {10, 34, 512, 80, 4096, 0, 0}, {3084, 51, 16448, 0, 0, 0, 0}, {1036, 1072, 68, 0, 0, 0, 0}, {10, 5408, 85, 0, 0, 0, 0}, {10, 54, 1542, 80, 4112, 0, 0}, {2048, 119, 16384, 0, 0, 0, 0}, {120, 12288, 16384, 0, 0, 0, 0}, {10, 51, 4883, 85, 5397, 0, 0}, {10, 4128, 80, 0, 0, 0, 0}, {1036, 51, 68, 0, 0, 0, 0}, {60, 12336, 16448, 0, 0, 0, 0}, {10, 34, 512, 85, 5376, 0, 0}, {34, 512, 20, 4114, 0, 0, 0}, {255, 16128, 16511, 0, 0, 0, 0}, {16512, 0, 0, 0, 0, 0, 0}, {259, 5, 17, 0, 0, 0, 0}, {10, 34, 512, 16384, 0, 0, 0}, {15, 51, 771, 16448, 0, 0, 0}, {1036, 68, 0, 0, 0, 0, 0}, {4128, 5, 0, 0, 0, 0, 0}, {10, 102, 1542, 16448, 0, 0, 0}, {15, 119, 1792, 16384, 0, 0, 0}, {136, 2048, 16384, 0, 0, 0, 0}, {51, 771, 5, 4112, 0, 0, 0}, {10, 8224, 16416, 0, 0, 0, 0}, {15, 51, 771, 68, 1027, 0, 0}, {204, 3084, 16448, 0, 0, 0, 0}, {34, 512, 5, 4096, 0, 0, 0}, {10, 34, 512, 68, 1030, 0, 0}, {15, 12288, 16496, 0, 0, 0, 0}, {4144, 80, 0, 0, 0, 0, 0}, {1032, 17, 0, 0, 0, 0, 0}, {90, 34, 4626, 16448, 0, 0, 0}, {95, 51, 4864, 16384, 0, 0, 0}, {4128, 20, 0, 0, 0, 0, 0}, {5439, 85, 0, 0, 0, 0, 0}, {90, 102, 5632, 16384, 0, 0, 0}, {95, 119, 5911, 16448, 0, 0, 0}, {40, 80, 4112, 0, 0, 0, 0}, {51, 85, 5376, 0, 0, 0, 0}, {90, 12336, 16432, 0, 0, 0, 0}, {27, 51, 4883, 68, 1043, 0, 0}, {60, 80, 4096, 0, 0, 0, 0}, {34, 85, 5397, 0, 0, 0, 0}, {30, 34, 4608, 68, 1046, 0, 0}, {95, 8192, 16480, 0, 0, 0, 0}, {160, 8192, 16384, 0, 0, 0, 0}, {15, 771, 1028, 17, 0, 0, 0}, {2056, 34, 16392, 0, 0, 0, 0}, {15, 51, 771, 80, 4099, 0, 0}, {40, 8224, 68, 1028, 0, 0, 0}, {15, 12288, 85, 5376, 0, 0, 0}, {3084, 102, 16396, 0, 0, 0, 0}, {15, 39, 1799, 80, 4103, 0, 0}, {40, 8224, 16416, 0, 0, 0, 0}, {15, 51, 771, 85, 5379, 0, 0}, {170, 10752, 16384, 0, 0, 0, 0}, {51, 771, 20, 4112, 0, 0, 0}, {108, 8192, 16480, 0, 0, 0, 0}, {15, 34, 4608, 85, 5383, 0, 0}, {34, 68, 1028, 0, 0, 0, 0}, {15, 80, 4096, 0, 0, 0, 0}, {240, 12336, 16448, 0, 0, 0, 0}, {10, 512, 1024, 17, 0, 0, 0}, {10, 34, 512, 80, 4114, 0, 0}, {3072, 51, 16460, 0, 0, 0, 0}, {60, 12288, 68, 1024, 0, 0, 0}, {10, 8224, 85, 5397, 0, 0, 0}, {10, 54, 1536, 80, 4118, 0, 0}, {2048, 119, 16456, 0, 0, 0, 0}, {120, 12336, 16432, 0, 0, 0, 0}, {10, 51, 4883, 85, 5395, 0, 0}, {10, 80, 4112, 0, 0, 0, 0}, {51, 68, 1024, 0, 0, 0, 0}, {60, 12288, 16496, 0, 0, 0, 0}, {10, 34, 512, 85, 5399, 0, 0}, {34, 512, 20, 4096, 0, 0, 0}, {255, 16191, 16448, 0, 0, 0, 0}, {16576, 0, 0, 0, 0, 0, 0}, {258, 5, 17, 0, 0, 0, 0}, {10, 34, 514, 16448, 0, 0, 0}, {15, 51, 768, 16384, 0, 0, 0}, {1032, 68, 0, 0, 0, 0, 0}, {4144, 5, 0, 0, 0, 0, 0}, {10, 102, 1536, 16384, 0, 0, 0}, {15, 119, 1799, 16448, 0, 0, 0}, {136, 2056, 16448, 0, 0, 0, 0}, {51, 768, 5, 4096, 0, 0, 0}, {10, 8192, 16480, 0, 0, 0, 0}, {15, 51, 768, 68, 1031, 0, 0}, {204, 3072, 16384, 0, 0, 0, 0}, {34, 514, 5, 4112, 0, 0, 0}, {10, 34, 514, 68, 1026, 0, 0}, {15, 12336, 16432, 0, 0, 0, 0}, {4128, 80, 0, 0, 0, 0, 0}, {1036, 17, 0, 0, 0, 0, 0}, {90, 34, 4608, 16384, 0, 0, 0}, {95, 51, 4883, 16448, 0, 0, 0}, {4144, 20, 0, 0, 0, 0, 0}, {5418, 85, 0, 0, 0, 0, 0}, {90, 102, 5654, 16448, 0, 0, 0}, {95, 119, 5888, 16384, 0, 0, 0}, {40, 80, 4096, 0, 0, 0, 0}, {51, 85, 5397, 0, 0, 0, 0}, {90, 12288, 16496, 0, 0, 0, 0}, {27, 51, 4864, 68, 1047, 0, 0}, {60, 80, 4112, 0, 0, 0, 0}, {34, 85, 5376, 0, 0, 0, 0}, {30, 34, 4626, 68, 1042, 0, 0}, {95, 8224, 16416, 0, 0, 0, 0}, {160, 8224, 16448, 0, 0, 0, 0}, {15, 768, 1024, 17, 0, 0, 0}, {2048, 34, 16456, 0, 0, 0, 0}, {15, 51, 768, 80, 4115, 0, 0}, {40, 8192, 68, 1024, 0, 0, 0}, {15, 12336, 85, 5397, 0, 0, 0}, {3072, 102, 16460, 0, 0, 0, 0}, {15, 39, 1792, 80, 4119, 0, 0}, {40, 8192, 16480, 0, 0, 0, 0}, {15, 51, 768, 85, 5398, 0, 0}, {170, 10794, 16448, 0, 0, 0, 0}, {51, 768, 20, 4096, 0, 0, 0}, {108, 8224, 16416, 0, 0, 0, 0}, {15, 34, 4626, 85, 5394, 0, 0}, {34, 68, 1024, 0, 0, 0, 0}, {15, 80, 4112, 0, 0, 0, 0}, {240, 12288, 16384, 0, 0, 0, 0}, {10, 514, 1028, 17, 0, 0, 0}, {10, 34, 514, 80, 4098, 0, 0}, {3084, 51, 16396, 0, 0, 0, 0}, {60, 12336, 68, 1028, 0, 0, 0}, {10, 8192, 85, 5376, 0, 0, 0}, {10, 54, 1542, 80, 4102, 0, 0}, {2056, 119, 16392, 0, 0, 0, 0}, {120, 12288, 16496, 0, 0, 0, 0}, {10, 51, 4864, 85, 5382, 0, 0}, {10, 80, 4096, 0, 0, 0, 0}, {51, 68, 1028, 0, 0, 0, 0}, {60, 12336, 16432, 0, 0, 0, 0}, {10, 34, 514, 85, 5378, 0, 0}, {34, 514, 20, 4112, 0, 0, 0}, {255, 16128, 16384, 0, 0, 0, 0}, {1280, 4352, 0, 0, 0, 0, 0}, {64, 257, 0, 0, 0, 0, 0}, {1290, 4386, 514, 16642, 0, 0, 0}, {1295, 4403, 771, 16643, 0, 0, 0}, {260, 4096, 0, 0, 0, 0, 0}, {4437, 1285, 0, 0, 0, 0, 0}, {1290, 4454, 1542, 16646, 0, 0, 0}, {1295, 4471, 1799, 16647, 0, 0, 0}, {4360, 4864, 1280, 0, 0, 0, 0}, {4441, 771, 1285, 0, 0, 0, 0}, {1290, 13056, 17408, 0, 0, 0, 0}, {267, 4144, 771, 64, 1028, 0, 0}, {4364, 4608, 1280, 0, 0, 0, 0}, {4445, 514, 1285, 0, 0, 0, 0}, {270, 4128, 514, 64, 1028, 0, 0}, {1295, 8704, 17408, 0, 0, 0, 0}, {1024, 272, 0, 0, 0, 0, 0}, {1365, 4369, 0, 0, 0, 0, 0}, {1370, 4386, 4626, 16658, 0, 0, 0}, {1375, 4403, 4883, 16659, 0, 0, 0}, {4420, 5140, 0, 0, 0, 0, 0}, {277, 4096, 0, 0, 0, 0, 0}, {1370, 4454, 5654, 16662, 0, 0, 0}, {1375, 4471, 5911, 16663, 0, 0, 0}, {5144, 816, 1360, 0, 0, 0, 0}, {4377, 4915, 1365, 0, 0, 0, 0}, {282, 4144, 4864, 64, 1024, 0, 0}, {1375, 13107, 17476, 0, 0, 0, 0}, {5148, 544, 1360, 0, 0, 0, 0}, {4381, 4642, 1365, 0, 0, 0, 0}, {1370, 8738, 17476, 0, 0, 0, 0}, {287, 4128, 4608, 64, 1024, 0, 0}, {1312, 1792, 4352, 0, 0, 0, 0}, {1381, 771, 4369, 0, 0, 0, 0}, {3840, 4386, 20480, 0, 0, 0, 0}, {1036, 291, 771, 64, 4112, 0, 0}, {780, 5156, 4420, 0, 0, 0, 0}, {1807, 1317, 4437, 0, 0, 0, 0}, {1036, 294, 1792, 64, 4096, 0, 0}, {3855, 4471, 20560, 0, 0, 0, 0}, {5160, 13056, 21760, 0, 0, 0, 0}, {4377, 4144, 771, 64, 5397, 0, 0}, {4394, 4864, 5120, 0, 0, 0, 0}, {4475, 771, 5140, 0, 0, 0, 0}, {4364, 4128, 4608, 64, 5376, 0, 0}, {5240, 8738, 21845, 0, 0, 0, 0}, {780, 4642, 5188, 0, 0, 0, 0}, {1807, 544, 5200, 0, 0, 0, 0}, {1328, 1536, 4352, 0, 0, 0, 0}, {1397, 514, 4369, 0, 0, 0, 0}, {1032, 306, 514, 64, 4112, 0, 0}, {2560, 4403, 20480, 0, 0, 0, 0}, {520, 5172, 4420, 0, 0, 0, 0}, {1546, 1333, 4437, 0, 0, 0, 0}, {2570, 4454, 20560, 0, 0, 0, 0}, {1032, 311, 1536, 64, 4096, 0, 0}, {4360, 4144, 4864, 64, 5376, 0, 0}, {5228, 13107, 21845, 0, 0, 0, 0}, {1546, 816, 5200, 0, 0, 0, 0}, {520, 4915, 5188, 0, 0, 0, 0}, {5180, 8704, 21760, 0, 0, 0, 0}, {4381, 4128, 514, 64, 5397, 0, 0}, {4462, 514, 5140, 0, 0, 0, 0}, {4415, 4608, 5120, 0, 0, 0, 0}, {64, 256, 0, 0, 0, 0, 0}, {1285, 4369, 0, 0, 0, 0, 0}, {1290, 4386, 768, 16706, 0, 0, 0}, {1295, 4403, 512, 16707, 0, 0, 0}, {4420, 1280, 0, 0, 0, 0, 0}, {261, 4112, 0, 0, 0, 0, 0}, {1290, 4454, 1792, 16710, 0, 0, 0}, {1295, 4471, 1536, 16711, 0, 0, 0}, {4424, 768, 1280, 0, 0, 0, 0}, {4377, 4883, 1285, 0, 0, 0, 0}, {266, 4128, 768, 64, 1024, 0, 0}, {1295, 13107, 17476, 0, 0, 0, 0}, {4428, 512, 1280, 0, 0, 0, 0}, {4381, 4626, 1285, 0, 0, 0, 0}, {1290, 8738, 17476, 0, 0, 0, 0}, {271, 4144, 512, 64, 1024, 0, 0}, {1360, 4352, 0, 0, 0, 0, 0}, {1028, 273, 0, 0, 0, 0, 0}, {1370, 4386, 4864, 16722, 0, 0, 0}, {1375, 4403, 4608, 16723, 0, 0, 0}, {276, 4112, 0, 0, 0, 0, 0}, {4437, 5120, 0, 0, 0, 0, 0}, {1370, 4454, 5888, 16726, 0, 0, 0}, {1375, 4471, 5632, 16727, 0, 0, 0}, {4360, 4896, 1360, 0, 0, 0, 0}, {5132, 819, 1365, 0, 0, 0, 0}, {1370, 13056, 17408, 0, 0, 0, 0}, {283, 4128, 4883, 64, 1028, 0, 0}, {4364, 4656, 1360, 0, 0, 0, 0}, {5128, 546, 1365, 0, 0, 0, 0}, {286, 4144, 4626, 64, 1028, 0, 0}, {1375, 8704, 17408, 0, 0, 0, 0}, {1376, 768, 4352, 0, 0, 0, 0}, {1317, 1799, 4369, 0, 0, 0, 0}, {1032, 290, 768, 64, 4096, 0, 0}, {3855, 4403, 20560, 0, 0, 0, 0}, {1800, 1312, 4420, 0, 0, 0, 0}, {783, 5168, 4437, 0, 0, 0, 0}, {3840, 4454, 20480, 0, 0, 0, 0}, {1032, 295, 1799, 64, 4112, 0, 0}, {4360, 4128, 768, 64, 5376, 0, 0}, {5180, 13107, 21845, 0, 0, 0, 0}, {4458, 768, 5120, 0, 0, 0, 0}, {4411, 4883, 5140, 0, 0, 0, 0}, {5228, 8704, 21760, 0, 0, 0, 0}, {4381, 4144, 4626, 64, 5397, 0, 0}, {1800, 546, 5188, 0, 0, 0, 0}, {783, 4656, 5200, 0, 0, 0, 0}, {1392, 512, 4352, 0, 0, 0, 0}, {1333, 1542, 4369, 0, 0, 0, 0}, {2570, 4386, 20560, 0, 0, 0, 0}, {1036, 307, 512, 64, 4096, 0, 0}, {1548, 1328, 4420, 0, 0, 0, 0}, {522, 5152, 4437, 0, 0, 0, 0}, {1036, 310, 1542, 64, 4112, 0, 0}, {2560, 4471, 20480, 0, 0, 0, 0}, {5240, 13056, 21760, 0, 0, 0, 0}, {4377, 4128, 4883, 64, 5397, 0, 0}, {522, 4896, 5200, 0, 0, 0, 0}, {1548, 819, 5188, 0, 0, 0, 0}, {4364, 4144, 512, 64, 5376, 0, 0}, {5160, 8738, 21845, 0, 0, 0, 0}, {4398, 4626, 5140, 0, 0, 0, 0}, {4479, 512, 5120, 0, 0, 0, 0}, {128, 512, 1280, 4352, 0, 0, 0}, {192, 771, 1285, 4369, 0, 0, 0}, {1290, 4386, 0, 0, 0, 0, 0}, {259, 64, 0, 0, 0, 0, 0}, {780, 12288, 4420, 1280, 0, 0, 0}, {522, 8224, 4437, 1285, 0, 0, 0}, {262, 64, 0, 0, 0, 0, 0}, {1295, 4471, 0, 0, 0, 0, 0}, {4488, 13056, 1280, 0, 0, 0, 0}, {265, 771, 64, 1285, 4112, 0, 0}, {1290, 5152, 1792, 17408, 0, 0, 0}, {1295, 5236, 771, 17476, 0, 0, 0}, {268, 512, 64, 1280, 4096, 0, 0}, {4573, 8738, 1285, 0, 0, 0, 0}, {1290, 5156, 1542, 17476, 0, 0, 0}, {1295, 5232, 512, 17408, 0, 0, 0}, {3072, 816, 1360, 4352, 0, 0, 0}, {2056, 546, 1365, 4369, 0, 0, 0}, {274, 64, 0, 0, 0, 0, 0}, {1375, 4403, 0, 0, 0, 0, 0}, {552, 8224, 4420, 5140, 0, 0, 0}, {831, 12288, 4437, 5120, 0, 0, 0}, {1370, 4454, 0, 0, 0, 0, 0}, {279, 64, 0, 0, 0, 0, 0}, {280, 816, 64, 1296, 4112, 0, 0}, {6963, 13107, 1365, 0, 0, 0, 0}, {1370, 5168, 5888, 17408, 0, 0, 0}, {1375, 5220, 4883, 17476, 0, 0, 0}, {7740, 8704, 1360, 0, 0, 0, 0}, {285, 546, 64, 1301, 4096, 0, 0}, {1370, 5172, 5654, 17476, 0, 0, 0}, {1375, 5216, 4608, 17408, 0, 0, 0}, {1440, 3840, 4352, 0, 0, 0, 0}, {289, 771, 64, 1028, 4369, 0, 0}, {5128, 4386, 4864, 20480, 0, 0, 0}, {5212, 4403, 771, 20560, 0, 0, 0}, {780, 292, 64, 1028, 4356, 0, 0}, {3855, 9999, 4437, 0, 0, 0, 0}, {5132, 4454, 5888, 20480, 0, 0, 0}, {5208, 4471, 1799, 20560, 0, 0, 0}, {4360, 1312, 5632, 21760, 0, 0, 0}, {4441, 1381, 771, 21845, 0, 0, 0}, {4522, 13056, 5120, 0, 0, 0, 0}, {299, 771, 64, 1028, 4112, 0, 0}, {4364, 1376, 4608, 21760, 0, 0, 0}, {4445, 1317, 1799, 21845, 0, 0, 0}, {780, 546, 64, 1028, 4096, 0, 0}, {3855, 8704, 5200, 0, 0, 0, 0}, {304, 512, 64, 1024, 4352, 0, 0}, {1525, 2570, 4369, 0, 0, 0, 0}, {5144, 4386, 4626, 20560, 0, 0, 0}, {5196, 4403, 512, 20480, 0, 0, 0}, {2560, 13884, 4420, 0, 0, 0, 0}, {522, 309, 64, 1024, 4373, 0, 0}, {5148, 4454, 5654, 20560, 0, 0, 0}, {5192, 4471, 1536, 20480, 0, 0, 0}, {4424, 1328, 1536, 21760, 0, 0, 0}, {4377, 1397, 4883, 21845, 0, 0, 0}, {522, 816, 64, 1024, 4112, 0, 0}, {2560, 13107, 5188, 0, 0, 0, 0}, {4428, 1392, 512, 21760, 0, 0, 0}, {4381, 1333, 5911, 21845, 0, 0, 0}, {4590, 8738, 5140, 0, 0, 0, 0}, {319, 512, 64, 1024, 4096, 0, 0}, {192, 768, 1280, 4352, 0, 0, 0}, {128, 514, 1285, 4369, 0, 0, 0}, {258, 64, 0, 0, 0, 0, 0}, {1295, 4403, 0, 0, 0, 0, 0}, {520, 8192, 4420, 1280, 0, 0, 0}, {783, 12336, 4437, 1285, 0, 0, 0}, {1290, 4454, 0, 0, 0, 0, 0}, {263, 64, 0, 0, 0, 0, 0}, {264, 768, 64, 1280, 4096, 0, 0}, {4505, 13107, 1285, 0, 0, 0, 0}, {1290, 5216, 768, 17408, 0, 0, 0}, {1295, 5172, 1799, 17476, 0, 0, 0}, {4556, 8704, 1280, 0, 0, 0, 0}, {269, 514, 64, 1285, 4112, 0, 0}, {1290, 5220, 514, 17476, 0, 0, 0}, {1295, 5168, 1536, 17408, 0, 0, 0}, {2048, 544, 1360, 4352, 0, 0, 0}, {3084, 819, 1365, 4369, 0, 0, 0}, {1370, 4386, 0, 0, 0, 0, 0}, {275, 64, 0, 0, 0, 0, 0}, {828, 12336, 4420, 5140, 0, 0, 0}, {554, 8192, 4437, 5120, 0, 0, 0}, {278, 64, 0, 0, 0, 0, 0}, {1375, 4471, 0, 0, 0, 0, 0}, {6952, 13056, 1360, 0, 0, 0, 0}, {281, 819, 64, 1301, 4096, 0, 0}, {1370, 5232, 4864, 17408, 0, 0, 0}, {1375, 5156, 5911, 17476, 0, 0, 0}, {284, 544, 64, 1296, 4112, 0, 0}, {7714, 8738, 1365, 0, 0, 0, 0}, {1370, 5236, 4626, 17476, 0, 0, 0}, {1375, 5152, 5632, 17408, 0, 0, 0}, {288, 768, 64, 1024, 4352, 0, 0}, {1445, 3855, 4369, 0, 0, 0, 0}, {5192, 4386, 768, 20480, 0, 0, 0}, {5148, 4403, 4883, 20560, 0, 0, 0}, {3840, 10024, 4420, 0, 0, 0, 0}, {783, 293, 64, 1024, 4373, 0, 0}, {5196, 4454, 1792, 20480, 0, 0, 0}, {5144, 4471, 5911, 20560, 0, 0, 0}, {4424, 1376, 768, 21760, 0, 0, 0}, {4377, 1317, 5654, 21845, 0, 0, 0}, {298, 768, 64, 1024, 4096, 0, 0}, {4539, 13107, 5140, 0, 0, 0, 0}, {4428, 1312, 1792, 21760, 0, 0, 0}, {4381, 1381, 4626, 21845, 0, 0, 0}, {3840, 8738, 5188, 0, 0, 0, 0}, {783, 544, 64, 1024, 4112, 0, 0}, {1520, 2560, 4352, 0, 0, 0, 0}, {305, 514, 64, 1028, 4369, 0, 0}, {5208, 4386, 514, 20560, 0, 0, 0}, {5132, 4403, 4608, 20480, 0, 0, 0}, {520, 308, 64, 1028, 4356, 0, 0}, {2570, 13834, 4437, 0, 0, 0, 0}, {5212, 4454, 1542, 20560, 0, 0, 0}, {5128, 4471, 5632, 20480, 0, 0, 0}, {4360, 1392, 4864, 21760, 0, 0, 0}, {4441, 1333, 1542, 21845, 0, 0, 0}, {2570, 13056, 5200, 0, 0, 0, 0}, {520, 819, 64, 1028, 4096, 0, 0}, {4364, 1328, 5888, 21760, 0, 0, 0}, {4445, 1397, 514, 21845, 0, 0, 0}, {318, 514, 64, 1028, 4112, 0, 0}, {4607, 8704, 5120, 0, 0, 0, 0}, {2560, 8704, 16896, 0, 0, 0, 0}, {15, 51, 67, 257, 0, 0, 0}, {128, 514, 16384, 0, 0, 0, 0}, {15, 51, 771, 1280, 4352, 0, 0}, {76, 580, 1028, 0, 0, 0, 0}, {15, 4693, 1285, 0, 0, 0, 0}, {204, 1542, 17408, 0, 0, 0, 0}, {15, 112, 519, 1280, 4096, 0, 0}, {520, 8192, 16384, 0, 0, 0, 0}, {15, 51, 771, 4437, 1285, 0, 0}, {8874, 2570, 16906, 0, 0, 0, 0}, {51, 771, 260, 4099, 0, 0, 0}, {1548, 8704, 17408, 0, 0, 0, 0}, {15, 4128, 514, 4176, 1285, 0, 0}, {76, 514, 1028, 0, 0, 0, 0}, {15, 4608, 1280, 0, 0, 0, 0}, {112, 592, 4112, 0, 0, 0, 0}, {51, 1621, 4369, 0, 0, 0, 0}, {240, 4626, 20480, 0, 0, 0, 0}, {76, 51, 531, 1024, 4352, 0, 0}, {60, 4676, 5140, 0, 0, 0, 0}, {127, 597, 5397, 0, 0, 0, 0}, {76, 112, 534, 1024, 4096, 0, 0}, {255, 5911, 21760, 0, 0, 0, 0}, {4680, 12336, 20560, 0, 0, 0, 0}, {4377, 51, 4864, 4437, 1024, 0, 0}, {4634, 4144, 4160, 0, 0, 0, 0}, {5915, 51, 4420, 0, 0, 0, 0}, {4124, 4128, 4608, 4176, 1024, 0, 0}, {5960, 8738, 21845, 0, 0, 0, 0}, {4638, 4642, 5188, 0, 0, 0, 0}, {5919, 544, 5440, 0, 0, 0, 0}, {2048, 544, 16384, 0, 0, 0, 0}, {15, 51, 771, 1365, 4369, 0, 0}, {2730, 8738, 16930, 0, 0, 0, 0}, {15, 771, 1027, 272, 0, 0, 0}, {3084, 1632, 17476, 0, 0, 0, 0}, {15, 1317, 1792, 1365, 4096, 0, 0}, {1036, 1574, 1088, 0, 0, 0, 0}, {15, 5927, 1360, 0, 0, 0, 0}, {8840, 10280, 16936, 0, 0, 0, 0}, {51, 771, 277, 4099, 0, 0, 0}, {554, 8192, 16384, 0, 0, 0, 0}, {15, 51, 771, 4420, 5140, 0, 0}, {1036, 544, 1088, 0, 0, 0, 0}, {15, 4642, 1365, 0, 0, 0, 0}, {1642, 8738, 17476, 0, 0, 0, 0}, {15, 4128, 4608, 4176, 5376, 0, 0}, {2560, 4656, 20480, 0, 0, 0, 0}, {1032, 51, 514, 1092, 4369, 0, 0}, {112, 514, 4112, 0, 0, 0, 0}, {51, 1536, 4352, 0, 0, 0, 0}, {1032, 1076, 1536, 1092, 4096, 0, 0}, {2570, 5984, 21845, 0, 0, 0, 0}, {1546, 1590, 5200, 0, 0, 0, 0}, {520, 5943, 5440, 0, 0, 0, 0}, {520, 4144, 4160, 0, 0, 0, 0}, {1546, 51, 4437, 0, 0, 0, 0}, {4714, 12336, 20560, 0, 0, 0, 0}, {4360, 51, 4864, 4420, 5376, 0, 0}, {60, 4608, 5120, 0, 0, 0, 0}, {127, 514, 5397, 0, 0, 0, 0}, {4124, 4128, 514, 4176, 5140, 0, 0}, {5951, 8704, 21760, 0, 0, 0, 0}, {128, 512, 16448, 0, 0, 0, 0}, {15, 51, 768, 1285, 4369, 0, 0}, {2570, 8738, 16962, 0, 0, 0, 0}, {15, 51, 67, 256, 0, 0, 0}, {204, 1536, 17476, 0, 0, 0, 0}, {15, 112, 517, 1285, 4112, 0, 0}, {76, 582, 1024, 0, 0, 0, 0}, {15, 4679, 1280, 0, 0, 0, 0}, {8840, 2560, 16968, 0, 0, 0, 0}, {51, 768, 261, 4115, 0, 0, 0}, {522, 8224, 16448, 0, 0, 0, 0}, {15, 51, 768, 4420, 1280, 0, 0}, {76, 512, 1024, 0, 0, 0, 0}, {15, 4626, 1285, 0, 0, 0, 0}, {1546, 8738, 17476, 0, 0, 0, 0}, {15, 4144, 512, 4160, 1280, 0, 0}, {240, 4608, 20560, 0, 0, 0, 0}, {76, 51, 529, 1028, 4369, 0, 0}, {112, 594, 4096, 0, 0, 0, 0}, {51, 1619, 4352, 0, 0, 0, 0}, {76, 112, 532, 1028, 4112, 0, 0}, {255, 5888, 21845, 0, 0, 0, 0}, {60, 4694, 5120, 0, 0, 0, 0}, {127, 599, 5376, 0, 0, 0, 0}, {4616, 4128, 4176, 0, 0, 0, 0}, {5900, 51, 4437, 0, 0, 0, 0}, {4698, 12288, 20480, 0, 0, 0, 0}, {4360, 51, 4883, 4420, 1028, 0, 0}, {4620, 4656, 5200, 0, 0, 0, 0}, {5896, 546, 5461, 0, 0, 0, 0}, {4108, 4144, 4626, 4160, 1028, 0, 0}, {5983, 8704, 21760, 0, 0, 0, 0}, {2720, 8704, 16992, 0, 0, 0, 0}, {15, 768, 1031, 273, 0, 0, 0}, {2056, 546, 16448, 0, 0, 0, 0}, {15, 51, 768, 1360, 4352, 0, 0}, {1032, 1568, 1092, 0, 0, 0, 0}, {15, 5936, 1365, 0, 0, 0, 0}, {3072, 1638, 17408, 0, 0, 0, 0}, {15, 1312, 1799, 1360, 4112, 0, 0}, {552, 8224, 16448, 0, 0, 0, 0}, {15, 51, 768, 4437, 5120, 0, 0}, {8874, 10240, 17002, 0, 0, 0, 0}, {51, 768, 276, 4115, 0, 0, 0}, {1644, 8704, 17408, 0, 0, 0, 0}, {15, 4144, 4626, 4160, 5397, 0, 0}, {1032, 546, 1092, 0, 0, 0, 0}, {15, 4656, 1360, 0, 0, 0, 0}, {112, 512, 4096, 0, 0, 0, 0}, {51, 1542, 4369, 0, 0, 0, 0}, {2570, 4642, 20560, 0, 0, 0, 0}, {1036, 51, 512, 1088, 4352, 0, 0}, {1548, 1584, 5188, 0, 0, 0, 0}, {522, 5920, 5461, 0, 0, 0, 0}, {1036, 1072, 1542, 1088, 4112, 0, 0}, {2560, 6007, 21760, 0, 0, 0, 0}, {4728, 12288, 20480, 0, 0, 0, 0}, {4377, 51, 4883, 4437, 5397, 0, 0}, {522, 4128, 4176, 0, 0, 0, 0}, {1548, 51, 4420, 0, 0, 0, 0}, {4108, 4144, 512, 4160, 5120, 0, 0}, {5928, 8738, 21845, 0, 0, 0, 0}, {60, 4626, 5140, 0, 0, 0, 0}, {127, 512, 5376, 0, 0, 0, 0}, {128, 512, 16384, 0, 0, 0, 0}, {15, 51, 771, 1285, 4369, 0, 0}, {17026, 2570, 8738, 0, 0, 0, 0}, {259, 320, 1280, 4352, 0, 0, 0}, {1548, 8772, 17476, 0, 0, 0, 0}, {15, 4128, 517, 4176, 1285, 0, 0}, {1036, 1542, 1088, 0, 0, 0, 0}, {15, 4727, 1280, 0, 0, 0, 0}, {17032, 2560, 24576, 0, 0, 0, 0}, {262, 325, 1285, 4112, 0, 0, 0}, {522, 8224, 16384, 0, 0, 0, 0}, {15, 51, 771, 4420, 1280, 0, 0}, {1036, 512, 1088, 0, 0, 0, 0}, {15, 4642, 1285, 0, 0, 0, 0}, {204, 1542, 17476, 0, 0, 0, 0}, {15, 112, 512, 1280, 4096, 0, 0}, {2640, 4656, 20560, 0, 0, 0, 0}, {1032, 51, 529, 1092, 4369, 0, 0}, {4144, 4626, 4160, 0, 0, 0, 0}, {1631, 51, 4352, 0, 0, 0, 0}, {4124, 4128, 532, 4176, 5140, 0, 0}, {5951, 8789, 21845, 0, 0, 0, 0}, {4698, 4710, 5120, 0, 0, 0, 0}, {5439, 5911, 5440, 0, 0, 0, 0}, {600, 112, 4112, 0, 0, 0, 0}, {51, 5888, 4437, 0, 0, 0, 0}, {4714, 12336, 20480, 0, 0, 0, 0}, {4360, 51, 4883, 4420, 5376, 0, 0}, {60, 4608, 5200, 0, 0, 0, 0}, {605, 546, 5397, 0, 0, 0, 0}, {1032, 1076, 1558, 1092, 4096, 0, 0}, {2655, 5984, 21760, 0, 0, 0, 0}, {17056, 18432, 8704, 0, 0, 0, 0}, {274, 337, 1028, 4369, 0, 0, 0}, {2056, 546, 16384, 0, 0, 0, 0}, {15, 51, 771, 1360, 4352, 0, 0}, {76, 612, 1028, 0, 0, 0, 0}, {15, 5888, 1365, 0, 0, 0, 0}, {1642, 8806, 17408, 0, 0, 0, 0}, {15, 4128, 4615, 4176, 5376, 0, 0}, {552, 8224, 16384, 0, 0, 0, 0}, {15, 51, 771, 4437, 5120, 0, 0}, {17066, 18432, 24576, 0, 0, 0, 0}, {279, 340, 1028, 4112, 0, 0, 0}, {3084, 1632, 17408, 0, 0, 0, 0}, {15, 1317, 1799, 1365, 4096, 0, 0}, {76, 546, 1028, 0, 0, 0, 0}, {15, 4608, 1360, 0, 0, 0, 0}, {4144, 512, 4160, 0, 0, 0, 0}, {1546, 51, 4369, 0, 0, 0, 0}, {240, 4626, 20560, 0, 0, 0, 0}, {76, 51, 512, 1024, 4352, 0, 0}, {60, 1536, 5188, 0, 0, 0, 0}, {522, 629, 5397, 0, 0, 0, 0}, {4124, 4128, 4630, 4176, 1024, 0, 0}, {5960, 8823, 21760, 0, 0, 0, 0}, {4680, 12336, 20480, 0, 0, 0, 0}, {4377, 51, 4883, 4437, 1024, 0, 0}, {522, 112, 4112, 0, 0, 0, 0}, {51, 1536, 4420, 0, 0, 0, 0}, {76, 112, 512, 1024, 4096, 0, 0}, {255, 5911, 21845, 0, 0, 0, 0}, {4638, 4642, 5140, 0, 0, 0, 0}, {5439, 512, 5440, 0, 0, 0, 0}, {17088, 2560, 8704, 0, 0, 0, 0}, {258, 321, 1285, 4369, 0, 0, 0}, {128, 514, 16448, 0, 0, 0, 0}, {15, 51, 768, 1280, 4352, 0, 0}, {1032, 1536, 1092, 0, 0, 0, 0}, {15, 4709, 1285, 0, 0, 0, 0}, {1546, 8806, 17408, 0, 0, 0, 0}, {15, 4144, 519, 4160, 1280, 0, 0}, {520, 8192, 16448, 0, 0, 0, 0}, {15, 51, 768, 4437, 1285, 0, 0}, {17098, 2570, 24672, 0, 0, 0, 0}, {263, 324, 1280, 4096, 0, 0, 0}, {204, 1536, 17408, 0, 0, 0, 0}, {15, 112, 514, 1285, 4112, 0, 0}, {1032, 514, 1092, 0, 0, 0, 0}, {15, 4656, 1280, 0, 0, 0, 0}, {4128, 4608, 4176, 0, 0, 0, 0}, {1625, 51, 4369, 0, 0, 0, 0}, {2650, 4642, 20480, 0, 0, 0, 0}, {1036, 51, 531, 1088, 4352, 0, 0}, {4680, 4724, 5140, 0, 0, 0, 0}, {5418, 5888, 5461, 0, 0, 0, 0}, {4108, 4144, 534, 4160, 5120, 0, 0}, {5928, 8823, 21760, 0, 0, 0, 0}, {4728, 12288, 20560, 0, 0, 0, 0}, {4377, 51, 4864, 4437, 5397, 0, 0}, {602, 112, 4096, 0, 0, 0, 0}, {51, 5911, 4420, 0, 0, 0, 0}, {1036, 1072, 1552, 1088, 4112, 0, 0}, {2645, 6007, 21845, 0, 0, 0, 0}, {60, 4626, 5188, 0, 0, 0, 0}, {607, 544, 5376, 0, 0, 0, 0}, {2048, 544, 16448, 0, 0, 0, 0}, {15, 51, 768, 1365, 4369, 0, 0}, {17122, 18504, 8738, 0, 0, 0, 0}, {275, 336, 1024, 4352, 0, 0, 0}, {1644, 8772, 17476, 0, 0, 0, 0}, {15, 4144, 4629, 4160, 5397, 0, 0}, {76, 614, 1024, 0, 0, 0, 0}, {15, 5911, 1360, 0, 0, 0, 0}, {17128, 18504, 24672, 0, 0, 0, 0}, {278, 341, 1024, 4096, 0, 0, 0}, {554, 8192, 16448, 0, 0, 0, 0}, {15, 51, 768, 4420, 5140, 0, 0}, {76, 544, 1024, 0, 0, 0, 0}, {15, 4626, 1365, 0, 0, 0, 0}, {3072, 1638, 17476, 0, 0, 0, 0}, {15, 1312, 1792, 1360, 4112, 0, 0}, {240, 4608, 20480, 0, 0, 0, 0}, {76, 51, 514, 1028, 4369, 0, 0}, {4128, 514, 4176, 0, 0, 0, 0}, {1548, 51, 4352, 0, 0, 0, 0}, {4108, 4144, 4612, 4160, 1028, 0, 0}, {5983, 8789, 21845, 0, 0, 0, 0}, {60, 1542, 5200, 0, 0, 0, 0}, {520, 631, 5376, 0, 0, 0, 0}, {520, 112, 4096, 0, 0, 0, 0}, {51, 1542, 4437, 0, 0, 0, 0}, {4698, 12288, 20560, 0, 0, 0, 0}, {4360, 51, 4864, 4420, 1028, 0, 0}, {4620, 4656, 5120, 0, 0, 0, 0}, {5418, 514, 5461, 0, 0, 0, 0}, {76, 112, 514, 1028, 4112, 0, 0}, {255, 5888, 21760, 0, 0, 0, 0}, {3840, 13056, 17152, 0, 0, 0, 0}, {10, 34, 66, 257, 0, 0, 0}, {10, 34, 514, 1280, 4352, 0, 0}, {192, 771, 16384, 0, 0, 0, 0}, {72, 836, 1028, 0, 0, 0, 0}, {10, 4949, 1285, 0, 0, 0, 0}, {10, 96, 774, 1280, 4096, 0, 0}, {136, 1799, 17408, 0, 0, 0, 0}, {1800, 13056, 17408, 0, 0, 0, 0}, {10, 4144, 771, 4176, 1285, 0, 0}, {10, 4864, 1280, 0, 0, 0, 0}, {72, 771, 1028, 0, 0, 0, 0}, {780, 12288, 16384, 0, 0, 0, 0}, {10, 34, 514, 4437, 1285, 0, 0}, {34, 514, 260, 4098, 0, 0, 0}, {13311, 3855, 17167, 0, 0, 0, 0}, {96, 848, 4112, 0, 0, 0, 0}, {34, 1877, 4369, 0, 0, 0, 0}, {72, 34, 786, 1024, 4352, 0, 0}, {160, 4883, 20480, 0, 0, 0, 0}, {40, 4932, 5140, 0, 0, 0, 0}, {106, 853, 5397, 0, 0, 0, 0}, {170, 5654, 21760, 0, 0, 0, 0}, {72, 96, 791, 1024, 4096, 0, 0}, {4120, 4144, 4864, 4176, 1024, 0, 0}, {5708, 13107, 21845, 0, 0, 0, 0}, {5658, 816, 5440, 0, 0, 0, 0}, {4891, 4915, 5188, 0, 0, 0, 0}, {4940, 8224, 20560, 0, 0, 0, 0}, {4381, 34, 4608, 4437, 1024, 0, 0}, {5662, 34, 4420, 0, 0, 0, 0}, {4895, 4128, 4160, 0, 0, 0, 0}, {3840, 4896, 20480, 0, 0, 0, 0}, {1036, 34, 771, 1092, 4369, 0, 0}, {34, 1792, 4352, 0, 0, 0, 0}, {96, 771, 4112, 0, 0, 0, 0}, {1036, 1060, 1792, 1092, 4096, 0, 0}, {3855, 5744, 21845, 0, 0, 0, 0}, {780, 5670, 5440, 0, 0, 0, 0}, {1807, 1831, 5200, 0, 0, 0, 0}, {40, 4864, 5120, 0, 0, 0, 0}, {106, 771, 5397, 0, 0, 0, 0}, {5674, 13056, 21760, 0, 0, 0, 0}, {4120, 4144, 771, 4176, 5140, 0, 0}, {780, 4128, 4160, 0, 0, 0, 0}, {1807, 34, 4437, 0, 0, 0, 0}, {4364, 34, 4608, 4420, 5376, 0, 0}, {4991, 8224, 20560, 0, 0, 0, 0}, {3072, 816, 16384, 0, 0, 0, 0}, {10, 34, 514, 1365, 4369, 0, 0}, {10, 514, 1026, 272, 0, 0, 0}, {4095, 13107, 17203, 0, 0, 0, 0}, {2056, 1904, 17476, 0, 0, 0, 0}, {10, 1333, 1536, 1365, 4096, 0, 0}, {10, 5686, 1360, 0, 0, 0, 0}, {1032, 1847, 1088, 0, 0, 0, 0}, {1032, 816, 1088, 0, 0, 0, 0}, {10, 4915, 1365, 0, 0, 0, 0}, {10, 4144, 4864, 4176, 5376, 0, 0}, {1919, 13107, 17476, 0, 0, 0, 0}, {13260, 15420, 17212, 0, 0, 0, 0}, {34, 514, 277, 4098, 0, 0, 0}, {10, 34, 514, 4420, 5140, 0, 0}, {831, 12288, 16384, 0, 0, 0, 0}, {192, 768, 16448, 0, 0, 0, 0}, {10, 34, 512, 1285, 4369, 0, 0}, {10, 34, 66, 256, 0, 0, 0}, {3855, 13107, 17219, 0, 0, 0, 0}, {136, 1792, 17476, 0, 0, 0, 0}, {10, 96, 773, 1285, 4112, 0, 0}, {10, 4934, 1280, 0, 0, 0, 0}, {72, 839, 1024, 0, 0, 0, 0}, {72, 768, 1024, 0, 0, 0, 0}, {10, 4883, 1285, 0, 0, 0, 0}, {10, 4128, 768, 4160, 1280, 0, 0}, {1807, 13107, 17476, 0, 0, 0, 0}, {13260, 3840, 17228, 0, 0, 0, 0}, {34, 512, 261, 4114, 0, 0, 0}, {10, 34, 512, 4420, 1280, 0, 0}, {783, 12336, 16448, 0, 0, 0, 0}, {160, 4864, 20560, 0, 0, 0, 0}, {72, 34, 785, 1028, 4369, 0, 0}, {34, 1874, 4352, 0, 0, 0, 0}, {96, 851, 4096, 0, 0, 0, 0}, {72, 96, 788, 1028, 4112, 0, 0}, {170, 5632, 21845, 0, 0, 0, 0}, {106, 854, 5376, 0, 0, 0, 0}, {40, 4951, 5120, 0, 0, 0, 0}, {4872, 4896, 5200, 0, 0, 0, 0}, {5644, 819, 5461, 0, 0, 0, 0}, {5722, 13056, 21760, 0, 0, 0, 0}, {4104, 4128, 4883, 4160, 1028, 0, 0}, {4876, 4144, 4176, 0, 0, 0, 0}, {5640, 34, 4437, 0, 0, 0, 0}, {4364, 34, 4626, 4420, 1028, 0, 0}, {4959, 8192, 20480, 0, 0, 0, 0}, {96, 768, 4096, 0, 0, 0, 0}, {34, 1799, 4369, 0, 0, 0, 0}, {1032, 34, 768, 1088, 4352, 0, 0}, {3855, 4915, 20560, 0, 0, 0, 0}, {1800, 1824, 5188, 0, 0, 0, 0}, {783, 5680, 5461, 0, 0, 0, 0}, {3840, 5734, 21760, 0, 0, 0, 0}, {1032, 1056, 1799, 1088, 4112, 0, 0}, {4104, 4128, 768, 4160, 5120, 0, 0}, {5692, 13107, 21845, 0, 0, 0, 0}, {106, 768, 5376, 0, 0, 0, 0}, {40, 4883, 5140, 0, 0, 0, 0}, {4972, 8192, 20480, 0, 0, 0, 0}, {4381, 34, 4626, 4437, 5397, 0, 0}, {1800, 34, 4420, 0, 0, 0, 0}, {783, 4144, 4176, 0, 0, 0, 0}, {4080, 13056, 17264, 0, 0, 0, 0}, {10, 512, 1030, 273, 0, 0, 0}, {10, 34, 512, 1360, 4352, 0, 0}, {3084, 819, 16448, 0, 0, 0, 0}, {1036, 1840, 1092, 0, 0, 0, 0}, {10, 5664, 1365, 0, 0, 0, 0}, {10, 1328, 1542, 1360, 4112, 0, 0}, {2048, 1911, 17408, 0, 0, 0, 0}, {1912, 13056, 17408, 0, 0, 0, 0}, {10, 4128, 4883, 4160, 5397, 0, 0}, {10, 4896, 1360, 0, 0, 0, 0}, {1036, 819, 1092, 0, 0, 0, 0}, {828, 12336, 16448, 0, 0, 0, 0}, {10, 34, 512, 4437, 5120, 0, 0}, {34, 512, 276, 4114, 0, 0, 0}, {13311, 15360, 17279, 0, 0, 0, 0}, {17280, 3840, 13056, 0, 0, 0, 0}, {259, 321, 1285, 4369, 0, 0, 0}, {10, 34, 512, 1280, 4352, 0, 0}, {192, 771, 16448, 0, 0, 0, 0}, {1036, 1792, 1092, 0, 0, 0, 0}, {10, 4981, 1285, 0, 0, 0, 0}, {10, 4128, 774, 4160, 1280, 0, 0}, {1807, 13175, 17408, 0, 0, 0, 0}, {136, 1792, 17408, 0, 0, 0, 0}, {10, 96, 771, 1285, 4112, 0, 0}, {10, 4896, 1280, 0, 0, 0, 0}, {1036, 771, 1092, 0, 0, 0, 0}, {780, 12288, 16448, 0, 0, 0, 0}, {10, 34, 512, 4437, 1285, 0, 0}, {262, 324, 1280, 4096, 0, 0, 0}, {17295, 3855, 28784, 0, 0, 0, 0}, {4144, 4864, 4176, 0, 0, 0, 0}, {1885, 34, 4369, 0, 0, 0, 0}, {1032, 34, 786, 1088, 4352, 0, 0}, {3935, 4915, 20480, 0, 0, 0, 0}, {4940, 4964, 5140, 0, 0, 0, 0}, {5439, 5632, 5461, 0, 0, 0, 0}, {5692, 13158, 21760, 0, 0, 0, 0}, {4104, 4128, 791, 4160, 5120, 0, 0}, {1032, 1056, 1808, 1088, 4112, 0, 0}, {3925, 5734, 21845, 0, 0, 0, 0}, {858, 816, 5376, 0, 0, 0, 0}, {40, 4883, 5188, 0, 0, 0, 0}, {4972, 8192, 20560, 0, 0, 0, 0}, {4381, 34, 4608, 4437, 5397, 0, 0}, {34, 5654, 4420, 0, 0, 0, 0}, {863, 96, 4096, 0, 0, 0, 0}, {160, 4864, 20480, 0, 0, 0, 0}, {72, 34, 771, 1028, 4369, 0, 0}, {1800, 34, 4352, 0, 0, 0, 0}, {4144, 771, 4176, 0, 0, 0, 0}, {4104, 4128, 4868, 4160, 1028, 0, 0}, {5722, 13141, 21845, 0, 0, 0, 0}, {780, 870, 5376, 0, 0, 0, 0}, {40, 1799, 5200, 0, 0, 0, 0}, {4872, 4896, 5120, 0, 0, 0, 0}, {5439, 771, 5461, 0, 0, 0, 0}, {170, 5632, 21760, 0, 0, 0, 0}, {72, 96, 771, 1028, 4112, 0, 0}, {780, 96, 4096, 0, 0, 0, 0}, {34, 1799, 4437, 0, 0, 0, 0}, {4364, 34, 4608, 4420, 1028, 0, 0}, {4959, 8192, 20560, 0, 0, 0, 0}, {3072, 816, 16448, 0, 0, 0, 0}, {10, 34, 512, 1365, 4369, 0, 0}, {274, 336, 1024, 4352, 0, 0, 0}, {17331, 19532, 13107, 0, 0, 0, 0}, {1912, 13124, 17476, 0, 0, 0, 0}, {10, 4128, 4885, 4160, 5397, 0, 0}, {10, 5654, 1360, 0, 0, 0, 0}, {72, 887, 1024, 0, 0, 0, 0}, {72, 816, 1024, 0, 0, 0, 0}, {10, 4883, 1365, 0, 0, 0, 0}, {10, 1328, 1536, 1360, 4112, 0, 0}, {2048, 1911, 17476, 0, 0, 0, 0}, {17340, 19532, 28784, 0, 0, 0, 0}, {279, 341, 1024, 4096, 0, 0, 0}, {10, 34, 512, 4420, 5140, 0, 0}, {831, 12288, 16448, 0, 0, 0, 0}, {192, 768, 16384, 0, 0, 0, 0}, {10, 34, 514, 1285, 4369, 0, 0}, {258, 320, 1280, 4352, 0, 0, 0}, {17347, 3855, 13107, 0, 0, 0, 0}, {1800, 13124, 17476, 0, 0, 0, 0}, {10, 4144, 773, 4176, 1285, 0, 0}, {10, 4966, 1280, 0, 0, 0, 0}, {1032, 1799, 1088, 0, 0, 0, 0}, {1032, 768, 1088, 0, 0, 0, 0}, {10, 4915, 1285, 0, 0, 0, 0}, {10, 96, 768, 1280, 4096, 0, 0}, {136, 1799, 17476, 0, 0, 0, 0}, {17356, 3840, 28672, 0, 0, 0, 0}, {263, 325, 1285, 4112, 0, 0, 0}, {10, 34, 514, 4420, 1280, 0, 0}, {783, 12336, 16384, 0, 0, 0, 0}, {3920, 4896, 20560, 0, 0, 0, 0}, {1036, 34, 785, 1092, 4369, 0, 0}, {1882, 34, 4352, 0, 0, 0, 0}, {4128, 4883, 4160, 0, 0, 0, 0}, {4120, 4144, 788, 4176, 5140, 0, 0}, {5674, 13141, 21845, 0, 0, 0, 0}, {5418, 5654, 5440, 0, 0, 0, 0}, {4959, 4983, 5120, 0, 0, 0, 0}, {40, 4864, 5200, 0, 0, 0, 0}, {857, 819, 5397, 0, 0, 0, 0}, {3930, 5744, 21760, 0, 0, 0, 0}, {1036, 1060, 1815, 1092, 4096, 0, 0}, {860, 96, 4112, 0, 0, 0, 0}, {34, 5632, 4437, 0, 0, 0, 0}, {4364, 34, 4626, 4420, 5376, 0, 0}, {4991, 8224, 20480, 0, 0, 0, 0}, {4128, 768, 4160, 0, 0, 0, 0}, {1807, 34, 4369, 0, 0, 0, 0}, {72, 34, 768, 1024, 4352, 0, 0}, {160, 4883, 20560, 0, 0, 0, 0}, {40, 1792, 5188, 0, 0, 0, 0}, {783, 869, 5397, 0, 0, 0, 0}, {5708, 13158, 21760, 0, 0, 0, 0}, {4120, 4144, 4887, 4176, 1024, 0, 0}, {72, 96, 768, 1024, 4096, 0, 0}, {170, 5654, 21845, 0, 0, 0, 0}, {5418, 768, 5440, 0, 0, 0, 0}, {4891, 4915, 5140, 0, 0, 0, 0}, {4940, 8224, 20480, 0, 0, 0, 0}, {4381, 34, 4626, 4437, 1024, 0, 0}, {34, 1792, 4420, 0, 0, 0, 0}, {783, 96, 4112, 0, 0, 0, 0}, {17392, 19456, 13056, 0, 0, 0, 0}, {275, 337, 1028, 4369, 0, 0, 0}, {10, 34, 514, 1360, 4352, 0, 0}, {3084, 819, 16384, 0, 0, 0, 0}, {72, 884, 1028, 0, 0, 0, 0}, {10, 5632, 1365, 0, 0, 0, 0}, {10, 4144, 4870, 4176, 5376, 0, 0}, {1919, 13175, 17408, 0, 0, 0, 0}, {2056, 1904, 17408, 0, 0, 0, 0}, {10, 1333, 1542, 1365, 4096, 0, 0}, {10, 4864, 1360, 0, 0, 0, 0}, {72, 819, 1028, 0, 0, 0, 0}, {828, 12336, 16384, 0, 0, 0, 0}, {10, 34, 514, 4437, 5120, 0, 0}, {278, 340, 1028, 4112, 0, 0, 0}, {17407, 19456, 28672, 0, 0, 0, 0}, {17408, 0, 0, 0, 0, 0, 0}, {5, 16, 257, 0, 0, 0, 0}, {10, 32, 514, 17410, 0, 0, 0}, {15, 48, 771, 17411, 0, 0, 0}, {64, 1028, 0, 0, 0, 0, 0}, {5, 4352, 0, 0, 0, 0, 0}, {10, 96, 1542, 17414, 0, 0, 0}, {15, 112, 1799, 17415, 0, 0, 0}, {128, 2056, 17416, 0, 0, 0, 0}, {48, 771, 5, 4355, 0, 0, 0}, {10, 8704, 17408, 0, 0, 0, 0}, {15, 48, 771, 64, 1028, 0, 0}, {192, 3084, 17420, 0, 0, 0, 0}, {32, 514, 5, 4354, 0, 0, 0}, {10, 32, 514, 64, 1028, 0, 0}, {15, 13056, 17408, 0, 0, 0, 0}, {1024, 16, 0, 0, 0, 0, 0}, {85, 4369, 0, 0, 0, 0, 0}, {90, 48, 4626, 17426, 0, 0, 0}, {95, 32, 4883, 17427, 0, 0, 0}, {80, 5140, 0, 0, 0, 0, 0}, {21, 4352, 0, 0, 0, 0, 0}, {90, 112, 5654, 17430, 0, 0, 0}, {95, 96, 5911, 17431, 0, 0, 0}, {5144, 48, 80, 0, 0, 0, 0}, {4377, 4403, 85, 0, 0, 0, 0}, {26, 48, 4608, 64, 1024, 0, 0}, {95, 13107, 17476, 0, 0, 0, 0}, {5148, 32, 80, 0, 0, 0, 0}, {4381, 4386, 85, 0, 0, 0, 0}, {90, 8738, 17476, 0, 0, 0, 0}, {31, 32, 4864, 64, 1024, 0, 0}, {2048, 32, 17408, 0, 0, 0, 0}, {15, 48, 771, 85, 4369, 0, 0}, {170, 8738, 17442, 0, 0, 0, 0}, {15, 771, 1027, 16, 0, 0, 0}, {3084, 96, 17476, 0, 0, 0, 0}, {15, 37, 1792, 85, 4352, 0, 0}, {1036, 1062, 64, 0, 0, 0, 0}, {15, 5159, 80, 0, 0, 0, 0}, {160, 10280, 17448, 0, 0, 0, 0}, {48, 771, 21, 4355, 0, 0, 0}, {42, 8704, 17408, 0, 0, 0, 0}, {15, 48, 771, 80, 5140, 0, 0}, {1036, 32, 64, 0, 0, 0, 0}, {15, 4386, 85, 0, 0, 0, 0}, {106, 8738, 17476, 0, 0, 0, 0}, {15, 32, 4864, 80, 5120, 0, 0}, {3072, 48, 17408, 0, 0, 0, 0}, {10, 32, 514, 85, 4369, 0, 0}, {10, 514, 1026, 16, 0, 0, 0}, {255, 13107, 17459, 0, 0, 0, 0}, {2056, 112, 17476, 0, 0, 0, 0}, {10, 53, 1536, 85, 4352, 0, 0}, {10, 5174, 80, 0, 0, 0, 0}, {1032, 1079, 64, 0, 0, 0, 0}, {1032, 48, 64, 0, 0, 0, 0}, {10, 4403, 85, 0, 0, 0, 0}, {10, 48, 4608, 80, 5120, 0, 0}, {127, 13107, 17476, 0, 0, 0, 0}, {240, 15420, 17468, 0, 0, 0, 0}, {32, 514, 21, 4354, 0, 0, 0}, {10, 32, 514, 80, 5140, 0, 0}, {63, 13056, 17408, 0, 0, 0, 0}, {64, 1024, 0, 0, 0, 0, 0}, {5, 4369, 0, 0, 0, 0, 0}, {10, 96, 1536, 17474, 0, 0, 0}, {15, 112, 1792, 17475, 0, 0, 0}, {17476, 0, 0, 0, 0, 0, 0}, {5, 16, 256, 0, 0, 0, 0}, {10, 32, 512, 17478, 0, 0, 0}, {15, 48, 768, 17479, 0, 0, 0}, {192, 3072, 17480, 0, 0, 0, 0}, {32, 512, 5, 4371, 0, 0, 0}, {10, 32, 512, 64, 1024, 0, 0}, {15, 13107, 17476, 0, 0, 0, 0}, {128, 2048, 17484, 0, 0, 0, 0}, {48, 768, 5, 4370, 0, 0, 0}, {10, 8738, 17476, 0, 0, 0, 0}, {15, 48, 768, 64, 1024, 0, 0}, {80, 5120, 0, 0, 0, 0, 0}, {21, 4369, 0, 0, 0, 0, 0}, {90, 112, 5632, 17490, 0, 0, 0}, {95, 96, 5888, 17491, 0, 0, 0}, {1028, 16, 0, 0, 0, 0, 0}, {85, 4352, 0, 0, 0, 0, 0}, {90, 48, 4608, 17494, 0, 0, 0}, {95, 32, 4864, 17495, 0, 0, 0}, {5128, 32, 80, 0, 0, 0, 0}, {4364, 4403, 85, 0, 0, 0, 0}, {90, 8704, 17408, 0, 0, 0, 0}, {31, 32, 4883, 64, 1028, 0, 0}, {5132, 48, 80, 0, 0, 0, 0}, {4360, 4386, 85, 0, 0, 0, 0}, {26, 48, 4626, 64, 1028, 0, 0}, {95, 13056, 17408, 0, 0, 0, 0}, {3072, 96, 17408, 0, 0, 0, 0}, {15, 37, 1799, 85, 4369, 0, 0}, {1032, 1058, 64, 0, 0, 0, 0}, {15, 5171, 80, 0, 0, 0, 0}, {2056, 32, 17476, 0, 0, 0, 0}, {15, 48, 768, 85, 4352, 0, 0}, {170, 8704, 17510, 0, 0, 0, 0}, {15, 768, 1031, 16, 0, 0, 0}, {1032, 32, 64, 0, 0, 0, 0}, {15, 4403, 85, 0, 0, 0, 0}, {106, 8704, 17408, 0, 0, 0, 0}, {15, 32, 4883, 80, 5140, 0, 0}, {160, 10240, 17516, 0, 0, 0, 0}, {48, 768, 21, 4370, 0, 0, 0}, {42, 8738, 17476, 0, 0, 0, 0}, {15, 48, 768, 80, 5120, 0, 0}, {2048, 112, 17408, 0, 0, 0, 0}, {10, 53, 1542, 85, 4369, 0, 0}, {10, 5154, 80, 0, 0, 0, 0}, {1036, 1075, 64, 0, 0, 0, 0}, {3084, 48, 17476, 0, 0, 0, 0}, {10, 32, 512, 85, 4352, 0, 0}, {10, 512, 1030, 16, 0, 0, 0}, {255, 13056, 17527, 0, 0, 0, 0}, {240, 15360, 17528, 0, 0, 0, 0}, {32, 512, 21, 4371, 0, 0, 0}, {10, 32, 512, 80, 5120, 0, 0}, {63, 13107, 17476, 0, 0, 0, 0}, {1036, 48, 64, 0, 0, 0, 0}, {10, 4386, 85, 0, 0, 0, 0}, {10, 48, 4626, 80, 5140, 0, 0}, {127, 13056, 17408, 0, 0, 0, 0}, {128, 2048, 17408, 0, 0, 0, 0}, {48, 771, 5, 4369, 0, 0, 0}, {10, 8738, 17442, 0, 0, 0, 0}, {15, 48, 771, 64, 1027, 0, 0}, {192, 3084, 17476, 0, 0, 0, 0}, {32, 512, 5, 4352, 0, 0, 0}, {10, 32, 512, 64, 1030, 0, 0}, {15, 13056, 17527, 0, 0, 0, 0}, {17544, 0, 0, 0, 0, 0, 0}, {259, 5, 16, 0, 0, 0, 0}, {10, 32, 512, 17408, 0, 0, 0}, {15, 48, 771, 17476, 0, 0, 0}, {1036, 64, 0, 0, 0, 0, 0}, {4386, 5, 0, 0, 0, 0, 0}, {10, 96, 1542, 17476, 0, 0, 0}, {15, 112, 1792, 17408, 0, 0, 0}, {48, 80, 5120, 0, 0, 0, 0}, {42, 85, 4369, 0, 0, 0, 0}, {26, 48, 4626, 64, 1042, 0, 0}, {95, 13107, 17459, 0, 0, 0, 0}, {32, 80, 5140, 0, 0, 0, 0}, {63, 85, 4352, 0, 0, 0, 0}, {90, 8704, 17510, 0, 0, 0, 0}, {31, 32, 4864, 64, 1047, 0, 0}, {1032, 16, 0, 0, 0, 0, 0}, {4403, 85, 0, 0, 0, 0, 0}, {90, 48, 4608, 17408, 0, 0, 0}, {95, 32, 4883, 17476, 0, 0, 0}, {5180, 80, 0, 0, 0, 0, 0}, {4386, 21, 0, 0, 0, 0, 0}, {90, 112, 5654, 17476, 0, 0, 0}, {95, 96, 5888, 17408, 0, 0, 0}, {160, 10240, 17408, 0, 0, 0, 0}, {48, 771, 21, 4369, 0, 0, 0}, {42, 8738, 17442, 0, 0, 0, 0}, {15, 48, 771, 80, 5123, 0, 0}, {32, 64, 1028, 0, 0, 0, 0}, {15, 85, 4352, 0, 0, 0, 0}, {106, 8704, 17510, 0, 0, 0, 0}, {15, 32, 4864, 80, 5127, 0, 0}, {2056, 32, 17416, 0, 0, 0, 0}, {15, 48, 771, 85, 4355, 0, 0}, {170, 8704, 17408, 0, 0, 0, 0}, {15, 771, 1028, 16, 0, 0, 0}, {3084, 96, 17420, 0, 0, 0, 0}, {15, 37, 1799, 85, 4359, 0, 0}, {42, 8738, 64, 1028, 0, 0, 0}, {15, 13056, 80, 5120, 0, 0, 0}, {48, 64, 1024, 0, 0, 0, 0}, {10, 85, 4369, 0, 0, 0, 0}, {10, 48, 4626, 80, 5138, 0, 0}, {127, 13107, 17459, 0, 0, 0, 0}, {240, 15420, 17476, 0, 0, 0, 0}, {32, 512, 21, 4352, 0, 0, 0}, {10, 32, 512, 80, 5142, 0, 0}, {63, 13056, 17527, 0, 0, 0, 0}, {3072, 48, 17480, 0, 0, 0, 0}, {10, 32, 512, 85, 4371, 0, 0}, {10, 512, 1024, 16, 0, 0, 0}, {255, 13107, 17476, 0, 0, 0, 0}, {2048, 112, 17484, 0, 0, 0, 0}, {10, 53, 1536, 85, 4375, 0, 0}, {10, 8738, 80, 5140, 0, 0, 0}, {63, 13056, 64, 1024, 0, 0, 0}, {192, 3072, 17408, 0, 0, 0, 0}, {32, 514, 5, 4369, 0, 0, 0}, {10, 32, 514, 64, 1026, 0, 0}, {15, 13107, 17459, 0, 0, 0, 0}, {128, 2056, 17476, 0, 0, 0, 0}, {48, 768, 5, 4352, 0, 0, 0}, {10, 8704, 17510, 0, 0, 0, 0}, {15, 48, 768, 64, 1031, 0, 0}, {1032, 64, 0, 0, 0, 0, 0}, {4403, 5, 0, 0, 0, 0, 0}, {10, 96, 1536, 17408, 0, 0, 0}, {15, 112, 1799, 17476, 0, 0, 0}, {17612, 0, 0, 0, 0, 0, 0}, {258, 5, 16, 0, 0, 0, 0}, {10, 32, 514, 17476, 0, 0, 0}, {15, 48, 768, 17408, 0, 0, 0}, {32, 80, 5120, 0, 0, 0, 0}, {63, 85, 4369, 0, 0, 0, 0}, {90, 8738, 17442, 0, 0, 0, 0}, {31, 32, 4883, 64, 1043, 0, 0}, {48, 80, 5140, 0, 0, 0, 0}, {42, 85, 4352, 0, 0, 0, 0}, {26, 48, 4608, 64, 1046, 0, 0}, {95, 13056, 17527, 0, 0, 0, 0}, {5160, 80, 0, 0, 0, 0, 0}, {4403, 21, 0, 0, 0, 0, 0}, {90, 112, 5632, 17408, 0, 0, 0}, {95, 96, 5911, 17476, 0, 0, 0}, {1036, 16, 0, 0, 0, 0, 0}, {4386, 85, 0, 0, 0, 0, 0}, {90, 48, 4626, 17476, 0, 0, 0}, {95, 32, 4864, 17408, 0, 0, 0}, {32, 64, 1024, 0, 0, 0, 0}, {15, 85, 4369, 0, 0, 0, 0}, {106, 8738, 17442, 0, 0, 0, 0}, {15, 32, 4883, 80, 5139, 0, 0}, {160, 10280, 17476, 0, 0, 0, 0}, {48, 768, 21, 4352, 0, 0, 0}, {42, 8704, 17510, 0, 0, 0, 0}, {15, 48, 768, 80, 5143, 0, 0}, {3072, 96, 17480, 0, 0, 0, 0}, {15, 37, 1792, 85, 4374, 0, 0}, {42, 8704, 64, 1024, 0, 0, 0}, {15, 13107, 80, 5140, 0, 0, 0}, {2048, 32, 17484, 0, 0, 0, 0}, {15, 48, 768, 85, 4370, 0, 0}, {170, 8738, 17476, 0, 0, 0, 0}, {15, 768, 1024, 16, 0, 0, 0}, {240, 15360, 17408, 0, 0, 0, 0}, {32, 514, 21, 4369, 0, 0, 0}, {10, 32, 514, 80, 5122, 0, 0}, {63, 13107, 17459, 0, 0, 0, 0}, {48, 64, 1028, 0, 0, 0, 0}, {10, 85, 4352, 0, 0, 0, 0}, {10, 48, 4608, 80, 5126, 0, 0}, {127, 13056, 17527, 0, 0, 0, 0}, {2056, 112, 17416, 0, 0, 0, 0}, {10, 53, 1542, 85, 4358, 0, 0}, {10, 8704, 80, 5120, 0, 0, 0}, {63, 13107, 64, 1028, 0, 0, 0}, {3084, 48, 17420, 0, 0, 0, 0}, {10, 32, 514, 85, 4354, 0, 0}, {10, 514, 1028, 16, 0, 0, 0}, {255, 13056, 17408, 0, 0, 0, 0}, {1280, 4096, 0, 0, 0, 0, 0}, {68, 257, 0, 0, 0, 0, 0}, {1290, 4128, 514, 17666, 0, 0, 0}, {1295, 4144, 771, 17667, 0, 0, 0}, {260, 4352, 0, 0, 0, 0, 0}, {4176, 1285, 0, 0, 0, 0, 0}, {1290, 4192, 1542, 17670, 0, 0, 0}, {1295, 4208, 1799, 17671, 0, 0, 0}, {4104, 4608, 1280, 0, 0, 0, 0}, {4188, 771, 1285, 0, 0, 0, 0}, {1290, 12288, 16384, 0, 0, 0, 0}, {267, 4403, 771, 68, 1028, 0, 0}, {4108, 4864, 1280, 0, 0, 0, 0}, {4184, 514, 1285, 0, 0, 0, 0}, {270, 4386, 514, 68, 1028, 0, 0}, {1295, 8192, 16384, 0, 0, 0, 0}, {1360, 4112, 0, 0, 0, 0, 0}, {1024, 273, 0, 0, 0, 0, 0}, {1370, 4144, 4626, 17682, 0, 0, 0}, {1375, 4128, 4883, 17683, 0, 0, 0}, {276, 4352, 0, 0, 0, 0, 0}, {4160, 5397, 0, 0, 0, 0, 0}, {1370, 4208, 5654, 17686, 0, 0, 0}, {1375, 4192, 5911, 17687, 0, 0, 0}, {4120, 4656, 1360, 0, 0, 0, 0}, {5401, 819, 1365, 0, 0, 0, 0}, {1370, 12336, 16448, 0, 0, 0, 0}, {283, 4403, 4608, 68, 1024, 0, 0}, {4124, 4896, 1360, 0, 0, 0, 0}, {5405, 546, 1365, 0, 0, 0, 0}, {286, 4386, 4864, 68, 1024, 0, 0}, {1375, 8224, 16448, 0, 0, 0, 0}, {3840, 4128, 21760, 0, 0, 0, 0}, {1036, 289, 771, 68, 4369, 0, 0}, {1314, 1792, 4096, 0, 0, 0, 0}, {1379, 771, 4112, 0, 0, 0, 0}, {1036, 292, 1792, 68, 4352, 0, 0}, {3855, 4208, 21845, 0, 0, 0, 0}, {780, 5414, 4160, 0, 0, 0, 0}, {1807, 1319, 4176, 0, 0, 0, 0}, {4136, 4608, 5376, 0, 0, 0, 0}, {4220, 771, 5397, 0, 0, 0, 0}, {5418, 12288, 20480, 0, 0, 0, 0}, {4120, 4403, 771, 68, 5140, 0, 0}, {780, 4896, 5440, 0, 0, 0, 0}, {1807, 546, 5461, 0, 0, 0, 0}, {4108, 4386, 4864, 68, 5120, 0, 0}, {5503, 8224, 20560, 0, 0, 0, 0}, {2560, 4144, 21760, 0, 0, 0, 0}, {1032, 305, 514, 68, 4369, 0, 0}, {1394, 514, 4112, 0, 0, 0, 0}, {1331, 1536, 4096, 0, 0, 0, 0}, {1032, 308, 1536, 68, 4352, 0, 0}, {2570, 4192, 21845, 0, 0, 0, 0}, {1546, 1334, 4176, 0, 0, 0, 0}, {520, 5431, 4160, 0, 0, 0, 0}, {520, 4656, 5440, 0, 0, 0, 0}, {1546, 819, 5461, 0, 0, 0, 0}, {5482, 12336, 20560, 0, 0, 0, 0}, {4104, 4403, 4608, 68, 5120, 0, 0}, {4156, 4864, 5376, 0, 0, 0, 0}, {4200, 514, 5397, 0, 0, 0, 0}, {4124, 4386, 514, 68, 5140, 0, 0}, {5439, 8192, 20480, 0, 0, 0, 0}, {4160, 1280, 0, 0, 0, 0, 0}, {261, 4369, 0, 0, 0, 0, 0}, {1290, 4192, 1792, 17730, 0, 0, 0}, {1295, 4208, 1536, 17731, 0, 0, 0}, {68, 256, 0, 0, 0, 0, 0}, {1285, 4112, 0, 0, 0, 0, 0}, {1290, 4128, 768, 17734, 0, 0, 0}, {1295, 4144, 512, 17735, 0, 0, 0}, {4168, 512, 1280, 0, 0, 0, 0}, {4124, 4883, 1285, 0, 0, 0, 0}, {1290, 8224, 16448, 0, 0, 0, 0}, {271, 4403, 512, 68, 1024, 0, 0}, {4172, 768, 1280, 0, 0, 0, 0}, {4120, 4626, 1285, 0, 0, 0, 0}, {266, 4386, 768, 68, 1024, 0, 0}, {1295, 12336, 16448, 0, 0, 0, 0}, {4176, 5376, 0, 0, 0, 0, 0}, {277, 4369, 0, 0, 0, 0, 0}, {1370, 4208, 5888, 17746, 0, 0, 0}, {1375, 4192, 5632, 17747, 0, 0, 0}, {1028, 272, 0, 0, 0, 0, 0}, {1365, 4096, 0, 0, 0, 0, 0}, {1370, 4144, 4864, 17750, 0, 0, 0}, {1375, 4128, 4608, 17751, 0, 0, 0}, {5384, 544, 1360, 0, 0, 0, 0}, {4108, 4915, 1365, 0, 0, 0, 0}, {1370, 8192, 16384, 0, 0, 0, 0}, {287, 4403, 4883, 68, 1028, 0, 0}, {5388, 816, 1360, 0, 0, 0, 0}, {4104, 4642, 1365, 0, 0, 0, 0}, {282, 4386, 4626, 68, 1028, 0, 0}, {1375, 12288, 16384, 0, 0, 0, 0}, {3840, 4192, 21760, 0, 0, 0, 0}, {1032, 293, 1799, 68, 4369, 0, 0}, {1800, 1314, 4160, 0, 0, 0, 0}, {783, 5427, 4176, 0, 0, 0, 0}, {1032, 288, 768, 68, 4352, 0, 0}, {3855, 4144, 21845, 0, 0, 0, 0}, {1382, 768, 4096, 0, 0, 0, 0}, {1319, 1799, 4112, 0, 0, 0, 0}, {1800, 544, 5440, 0, 0, 0, 0}, {783, 4915, 5461, 0, 0, 0, 0}, {5482, 8192, 20480, 0, 0, 0, 0}, {4124, 4403, 4883, 68, 5140, 0, 0}, {4204, 768, 5376, 0, 0, 0, 0}, {4152, 4626, 5397, 0, 0, 0, 0}, {4104, 4386, 768, 68, 5120, 0, 0}, {5439, 12336, 20560, 0, 0, 0, 0}, {2560, 4208, 21760, 0, 0, 0, 0}, {1036, 309, 1542, 68, 4369, 0, 0}, {522, 5410, 4176, 0, 0, 0, 0}, {1548, 1331, 4160, 0, 0, 0, 0}, {1036, 304, 512, 68, 4352, 0, 0}, {2570, 4128, 21845, 0, 0, 0, 0}, {1334, 1542, 4112, 0, 0, 0, 0}, {1399, 512, 4096, 0, 0, 0, 0}, {4216, 512, 5376, 0, 0, 0, 0}, {4140, 4883, 5397, 0, 0, 0, 0}, {5418, 8224, 20560, 0, 0, 0, 0}, {4108, 4403, 512, 68, 5120, 0, 0}, {1548, 816, 5440, 0, 0, 0, 0}, {522, 4642, 5461, 0, 0, 0, 0}, {4120, 4386, 4626, 68, 5140, 0, 0}, {5503, 12288, 20480, 0, 0, 0, 0}, {4224, 12288, 1280, 0, 0, 0, 0}, {265, 771, 68, 1285, 4369, 0, 0}, {1290, 5410, 1792, 16384, 0, 0, 0}, {1295, 5491, 771, 16448, 0, 0, 0}, {268, 512, 68, 1280, 4352, 0, 0}, {4304, 8224, 1285, 0, 0, 0, 0}, {1290, 5414, 1542, 16448, 0, 0, 0}, {1295, 5495, 512, 16384, 0, 0, 0}, {136, 512, 1280, 4096, 0, 0, 0}, {204, 771, 1285, 4112, 0, 0, 0}, {1290, 4128, 0, 0, 0, 0, 0}, {259, 68, 0, 0, 0, 0, 0}, {780, 13056, 4160, 1280, 0, 0, 0}, {522, 8738, 4176, 1285, 0, 0, 0}, {262, 68, 0, 0, 0, 0, 0}, {1295, 4208, 0, 0, 0, 0, 0}, {6704, 12336, 1360, 0, 0, 0, 0}, {281, 819, 68, 1297, 4369, 0, 0}, {1370, 5474, 4626, 16448, 0, 0, 0}, {1375, 5427, 5632, 16384, 0, 0, 0}, {284, 544, 68, 1300, 4352, 0, 0}, {7999, 8192, 1365, 0, 0, 0, 0}, {1370, 5478, 4864, 16384, 0, 0, 0}, {1375, 5431, 5911, 16448, 0, 0, 0}, {2056, 544, 1360, 4112, 0, 0, 0}, {3072, 819, 1365, 4096, 0, 0, 0}, {1370, 4144, 0, 0, 0, 0, 0}, {275, 68, 0, 0, 0, 0, 0}, {828, 13056, 4176, 5376, 0, 0, 0}, {554, 8738, 4160, 5397, 0, 0, 0}, {278, 68, 0, 0, 0, 0, 0}, {1375, 4192, 0, 0, 0, 0, 0}, {4256, 12288, 5376, 0, 0, 0, 0}, {297, 771, 68, 1028, 4369, 0, 0}, {4104, 1314, 5888, 20480, 0, 0, 0}, {4188, 1379, 771, 20560, 0, 0, 0}, {780, 544, 68, 1028, 4352, 0, 0}, {3855, 8192, 5461, 0, 0, 0, 0}, {4108, 1382, 4864, 20480, 0, 0, 0}, {4184, 1319, 1799, 20560, 0, 0, 0}, {5384, 4128, 4608, 21760, 0, 0, 0}, {5465, 4144, 771, 21845, 0, 0, 0}, {1450, 3840, 4096, 0, 0, 0, 0}, {291, 771, 68, 1028, 4112, 0, 0}, {5388, 4192, 5632, 21760, 0, 0, 0}, {5469, 4208, 1799, 21845, 0, 0, 0}, {780, 294, 68, 1028, 4100, 0, 0}, {3855, 9487, 4176, 0, 0, 0, 0}, {2560, 12336, 5440, 0, 0, 0, 0}, {522, 819, 68, 1024, 4369, 0, 0}, {4120, 1394, 4626, 20560, 0, 0, 0}, {4172, 1331, 1536, 20480, 0, 0, 0}, {316, 512, 68, 1024, 4352, 0, 0}, {4320, 8224, 5397, 0, 0, 0, 0}, {4124, 1334, 5654, 20560, 0, 0, 0}, {4168, 1399, 512, 20480, 0, 0, 0}, {5448, 4144, 512, 21760, 0, 0, 0}, {5401, 4128, 4883, 21845, 0, 0, 0}, {1530, 2570, 4112, 0, 0, 0, 0}, {307, 512, 68, 1024, 4096, 0, 0}, {5452, 4208, 1536, 21760, 0, 0, 0}, {5405, 4192, 5911, 21845, 0, 0, 0}, {522, 310, 68, 1024, 4116, 0, 0}, {2560, 13631, 4160, 0, 0, 0, 0}, {4288, 8192, 1280, 0, 0, 0, 0}, {269, 514, 68, 1285, 4369, 0, 0}, {1290, 5474, 514, 16448, 0, 0, 0}, {1295, 5427, 1536, 16384, 0, 0, 0}, {264, 768, 68, 1280, 4352, 0, 0}, {4240, 12336, 1285, 0, 0, 0, 0}, {1290, 5478, 768, 16384, 0, 0, 0}, {1295, 5431, 1799, 16448, 0, 0, 0}, {520, 8704, 4160, 1280, 0, 0, 0}, {783, 13107, 4176, 1285, 0, 0, 0}, {1290, 4192, 0, 0, 0, 0, 0}, {263, 68, 0, 0, 0, 0, 0}, {204, 768, 1280, 4096, 0, 0, 0}, {136, 514, 1285, 4112, 0, 0, 0}, {258, 68, 0, 0, 0, 0, 0}, {1295, 4144, 0, 0, 0, 0, 0}, {7968, 8224, 1360, 0, 0, 0, 0}, {285, 546, 68, 1297, 4369, 0, 0}, {1370, 5410, 5888, 16384, 0, 0, 0}, {1375, 5491, 4883, 16448, 0, 0, 0}, {280, 816, 68, 1300, 4352, 0, 0}, {6698, 12288, 1365, 0, 0, 0, 0}, {1370, 5414, 5654, 16448, 0, 0, 0}, {1375, 5495, 4608, 16384, 0, 0, 0}, {552, 8704, 4176, 5376, 0, 0, 0}, {831, 13107, 4160, 5397, 0, 0, 0}, {1370, 4208, 0, 0, 0, 0, 0}, {279, 68, 0, 0, 0, 0, 0}, {3084, 816, 1360, 4112, 0, 0, 0}, {2048, 546, 1365, 4096, 0, 0, 0}, {274, 68, 0, 0, 0, 0, 0}, {1375, 4128, 0, 0, 0, 0, 0}, {3840, 8224, 5440, 0, 0, 0, 0}, {783, 546, 68, 1024, 4369, 0, 0}, {4168, 1314, 1792, 20480, 0, 0, 0}, {4124, 1379, 4883, 20560, 0, 0, 0}, {296, 768, 68, 1024, 4352, 0, 0}, {4272, 12336, 5397, 0, 0, 0, 0}, {4172, 1382, 768, 20480, 0, 0, 0}, {4120, 1319, 5911, 20560, 0, 0, 0}, {5448, 4192, 1792, 21760, 0, 0, 0}, {5401, 4208, 5654, 21845, 0, 0, 0}, {3840, 9514, 4160, 0, 0, 0, 0}, {783, 295, 68, 1024, 4116, 0, 0}, {5452, 4128, 768, 21760, 0, 0, 0}, {5405, 4144, 4626, 21845, 0, 0, 0}, {290, 768, 68, 1024, 4096, 0, 0}, {1455, 3855, 4112, 0, 0, 0, 0}, {4336, 8192, 5376, 0, 0, 0, 0}, {317, 514, 68, 1028, 4369, 0, 0}, {4184, 1394, 514, 20560, 0, 0, 0}, {4108, 1331, 5632, 20480, 0, 0, 0}, {520, 816, 68, 1028, 4352, 0, 0}, {2570, 12288, 5461, 0, 0, 0, 0}, {4188, 1334, 1542, 20560, 0, 0, 0}, {4104, 1399, 4608, 20480, 0, 0, 0}, {5384, 4208, 5888, 21760, 0, 0, 0}, {5465, 4192, 1542, 21845, 0, 0, 0}, {2570, 13578, 4176, 0, 0, 0, 0}, {520, 311, 68, 1028, 4100, 0, 0}, {5388, 4144, 4864, 21760, 0, 0, 0}, {5469, 4128, 514, 21845, 0, 0, 0}, {306, 514, 68, 1028, 4112, 0, 0}, {1535, 2560, 4096, 0, 0, 0, 0}, {2560, 8192, 17920, 0, 0, 0, 0}, {15, 48, 71, 257, 0, 0, 0}, {136, 514, 17408, 0, 0, 0, 0}, {15, 48, 771, 1280, 4096, 0, 0}, {72, 576, 1028, 0, 0, 0, 0}, {15, 4944, 1285, 0, 0, 0, 0}, {192, 1542, 16384, 0, 0, 0, 0}, {15, 119, 519, 1280, 4352, 0, 0}, {520, 8704, 17408, 0, 0, 0, 0}, {15, 48, 771, 4176, 1285, 0, 0}, {8352, 2570, 17930, 0, 0, 0, 0}, {48, 771, 260, 4355, 0, 0, 0}, {1548, 8192, 16384, 0, 0, 0, 0}, {15, 4386, 514, 4437, 1285, 0, 0}, {72, 514, 1028, 0, 0, 0, 0}, {15, 4864, 1280, 0, 0, 0, 0}, {48, 1616, 4112, 0, 0, 0, 0}, {119, 597, 4369, 0, 0, 0, 0}, {72, 48, 530, 1024, 4096, 0, 0}, {255, 4883, 21760, 0, 0, 0, 0}, {120, 592, 5140, 0, 0, 0, 0}, {63, 4928, 5397, 0, 0, 0, 0}, {240, 5654, 20480, 0, 0, 0, 0}, {72, 119, 535, 1024, 4352, 0, 0}, {4120, 48, 4608, 4176, 1024, 0, 0}, {4940, 13107, 21845, 0, 0, 0, 0}, {5658, 48, 4160, 0, 0, 0, 0}, {4891, 4403, 4420, 0, 0, 0, 0}, {5708, 8224, 20560, 0, 0, 0, 0}, {4381, 4386, 4864, 4437, 1024, 0, 0}, {5662, 546, 5188, 0, 0, 0, 0}, {4895, 4896, 5440, 0, 0, 0, 0}, {2720, 8224, 17952, 0, 0, 0, 0}, {15, 771, 1027, 273, 0, 0, 0}, {2048, 546, 17408, 0, 0, 0, 0}, {15, 48, 771, 1360, 4112, 0, 0}, {1036, 1572, 1092, 0, 0, 0, 0}, {15, 5669, 1365, 0, 0, 0, 0}, {3084, 1638, 16448, 0, 0, 0, 0}, {15, 1319, 1792, 1360, 4352, 0, 0}, {552, 8704, 17408, 0, 0, 0, 0}, {15, 48, 771, 4160, 5397, 0, 0}, {8320, 10794, 17962, 0, 0, 0, 0}, {48, 771, 276, 4355, 0, 0, 0}, {1644, 8224, 16448, 0, 0, 0, 0}, {15, 4386, 4864, 4437, 5120, 0, 0}, {1036, 546, 1092, 0, 0, 0, 0}, {15, 4896, 1360, 0, 0, 0, 0}, {48, 1536, 4096, 0, 0, 0, 0}, {119, 514, 4369, 0, 0, 0, 0}, {1032, 48, 514, 1088, 4112, 0, 0}, {2560, 4915, 21760, 0, 0, 0, 0}, {520, 5684, 5188, 0, 0, 0, 0}, {1546, 1589, 5461, 0, 0, 0, 0}, {2570, 5734, 20560, 0, 0, 0, 0}, {1032, 1079, 1536, 1088, 4352, 0, 0}, {4104, 48, 4608, 4160, 5120, 0, 0}, {4972, 13107, 21845, 0, 0, 0, 0}, {1546, 48, 4176, 0, 0, 0, 0}, {520, 4403, 4420, 0, 0, 0, 0}, {5692, 8192, 20480, 0, 0, 0, 0}, {4381, 4386, 514, 4437, 5397, 0, 0}, {120, 514, 5140, 0, 0, 0, 0}, {63, 4864, 5376, 0, 0, 0, 0}, {192, 1536, 16448, 0, 0, 0, 0}, {15, 119, 517, 1285, 4369, 0, 0}, {72, 578, 1024, 0, 0, 0, 0}, {15, 4931, 1280, 0, 0, 0, 0}, {136, 512, 17476, 0, 0, 0, 0}, {15, 48, 768, 1285, 4112, 0, 0}, {2570, 8224, 17990, 0, 0, 0, 0}, {15, 48, 71, 256, 0, 0, 0}, {72, 512, 1024, 0, 0, 0, 0}, {15, 4883, 1285, 0, 0, 0, 0}, {1546, 8224, 16448, 0, 0, 0, 0}, {15, 4403, 512, 4420, 1280, 0, 0}, {8320, 2560, 17996, 0, 0, 0, 0}, {48, 768, 261, 4370, 0, 0, 0}, {522, 8738, 17476, 0, 0, 0, 0}, {15, 48, 768, 4160, 1280, 0, 0}, {240, 5632, 20560, 0, 0, 0, 0}, {72, 119, 533, 1028, 4369, 0, 0}, {120, 594, 5120, 0, 0, 0, 0}, {63, 4947, 5376, 0, 0, 0, 0}, {72, 48, 528, 1028, 4112, 0, 0}, {255, 4864, 21845, 0, 0, 0, 0}, {48, 1622, 4096, 0, 0, 0, 0}, {119, 599, 4352, 0, 0, 0, 0}, {5640, 544, 5200, 0, 0, 0, 0}, {4876, 4915, 5461, 0, 0, 0, 0}, {5722, 8192, 20480, 0, 0, 0, 0}, {4364, 4403, 4883, 4420, 1028, 0, 0}, {5644, 48, 4176, 0, 0, 0, 0}, {4872, 4386, 4437, 0, 0, 0, 0}, {4104, 48, 4626, 4160, 1028, 0, 0}, {4959, 13056, 21760, 0, 0, 0, 0}, {3072, 1632, 16384, 0, 0, 0, 0}, {15, 1314, 1799, 1365, 4369, 0, 0}, {1032, 1570, 1088, 0, 0, 0, 0}, {15, 5683, 1360, 0, 0, 0, 0}, {2056, 544, 17476, 0, 0, 0, 0}, {15, 48, 768, 1365, 4096, 0, 0}, {2730, 8192, 18022, 0, 0, 0, 0}, {15, 768, 1031, 272, 0, 0, 0}, {1032, 544, 1088, 0, 0, 0, 0}, {15, 4915, 1365, 0, 0, 0, 0}, {1642, 8192, 16384, 0, 0, 0, 0}, {15, 4403, 4883, 4420, 5140, 0, 0}, {8352, 10752, 18028, 0, 0, 0, 0}, {48, 768, 277, 4370, 0, 0, 0}, {554, 8738, 17476, 0, 0, 0, 0}, {15, 48, 768, 4176, 5376, 0, 0}, {2560, 5744, 20480, 0, 0, 0, 0}, {1036, 1075, 1542, 1092, 4369, 0, 0}, {522, 5666, 5200, 0, 0, 0, 0}, {1548, 1587, 5440, 0, 0, 0, 0}, {1036, 48, 512, 1092, 4096, 0, 0}, {2570, 4896, 21845, 0, 0, 0, 0}, {48, 1542, 4112, 0, 0, 0, 0}, {119, 512, 4352, 0, 0, 0, 0}, {120, 512, 5120, 0, 0, 0, 0}, {63, 4883, 5397, 0, 0, 0, 0}, {5674, 8224, 20560, 0, 0, 0, 0}, {4364, 4403, 512, 4420, 5376, 0, 0}, {1548, 48, 4160, 0, 0, 0, 0}, {522, 4386, 4437, 0, 0, 0, 0}, {4120, 48, 4626, 4176, 5140, 0, 0}, {4991, 13056, 21760, 0, 0, 0, 0}, {18048, 2560, 26112, 0, 0, 0, 0}, {262, 321, 1285, 4369, 0, 0, 0}, {522, 8738, 17408, 0, 0, 0, 0}, {15, 48, 771, 4160, 1280, 0, 0}, {1036, 512, 1092, 0, 0, 0, 0}, {15, 4896, 1285, 0, 0, 0, 0}, {192, 1542, 16448, 0, 0, 0, 0}, {15, 119, 512, 1280, 4352, 0, 0}, {136, 512, 17408, 0, 0, 0, 0}, {15, 48, 771, 1285, 4112, 0, 0}, {18058, 2570, 8224, 0, 0, 0, 0}, {259, 324, 1280, 4096, 0, 0, 0}, {1548, 8256, 16448, 0, 0, 0, 0}, {15, 4386, 517, 4437, 1285, 0, 0}, {1036, 1542, 1092, 0, 0, 0, 0}, {15, 4976, 1280, 0, 0, 0, 0}, {48, 5632, 4176, 0, 0, 0, 0}, {605, 119, 4369, 0, 0, 0, 0}, {4104, 48, 4626, 4160, 5120, 0, 0}, {4972, 13107, 21760, 0, 0, 0, 0}, {600, 544, 5140, 0, 0, 0, 0}, {63, 4864, 5461, 0, 0, 0, 0}, {2650, 5734, 20480, 0, 0, 0, 0}, {1032, 1079, 1559, 1088, 4352, 0, 0}, {1032, 48, 528, 1088, 4112, 0, 0}, {2645, 4915, 21845, 0, 0, 0, 0}, {1626, 48, 4096, 0, 0, 0, 0}, {4403, 4883, 4420, 0, 0, 0, 0}, {5692, 8272, 20560, 0, 0, 0, 0}, {4381, 4386, 533, 4437, 5397, 0, 0}, {5180, 5654, 5188, 0, 0, 0, 0}, {4959, 4960, 5376, 0, 0, 0, 0}, {18080, 19456, 26112, 0, 0, 0, 0}, {278, 337, 1028, 4369, 0, 0, 0}, {554, 8738, 17408, 0, 0, 0, 0}, {15, 48, 771, 4176, 5376, 0, 0}, {72, 544, 1028, 0, 0, 0, 0}, {15, 4864, 1365, 0, 0, 0, 0}, {3084, 1638, 16384, 0, 0, 0, 0}, {15, 1319, 1799, 1360, 4352, 0, 0}, {2056, 544, 17408, 0, 0, 0, 0}, {15, 48, 771, 1365, 4096, 0, 0}, {18090, 19456, 8192, 0, 0, 0, 0}, {275, 340, 1028, 4112, 0, 0, 0}, {1644, 8288, 16384, 0, 0, 0, 0}, {15, 4386, 4871, 4437, 5120, 0, 0}, {72, 610, 1028, 0, 0, 0, 0}, {15, 5632, 1360, 0, 0, 0, 0}, {48, 1536, 4160, 0, 0, 0, 0}, {522, 119, 4369, 0, 0, 0, 0}, {4120, 48, 4626, 4176, 1024, 0, 0}, {4940, 13107, 21760, 0, 0, 0, 0}, {5180, 512, 5188, 0, 0, 0, 0}, {4895, 4896, 5397, 0, 0, 0, 0}, {240, 5654, 20560, 0, 0, 0, 0}, {72, 119, 512, 1024, 4352, 0, 0}, {72, 48, 512, 1024, 4096, 0, 0}, {255, 4883, 21845, 0, 0, 0, 0}, {1546, 48, 4112, 0, 0, 0, 0}, {4403, 512, 4420, 0, 0, 0, 0}, {5708, 8304, 20480, 0, 0, 0, 0}, {4381, 4386, 4887, 4437, 1024, 0, 0}, {522, 626, 5140, 0, 0, 0, 0}, {63, 1536, 5440, 0, 0, 0, 0}, {192, 1536, 16384, 0, 0, 0, 0}, {15, 119, 514, 1285, 4369, 0, 0}, {1032, 514, 1088, 0, 0, 0, 0}, {15, 4915, 1280, 0, 0, 0, 0}, {520, 8704, 17476, 0, 0, 0, 0}, {15, 48, 768, 4176, 1285, 0, 0}, {18118, 2570, 26214, 0, 0, 0, 0}, {263, 320, 1280, 4352, 0, 0, 0}, {1032, 1536, 1088, 0, 0, 0, 0}, {15, 4963, 1285, 0, 0, 0, 0}, {1546, 8288, 16384, 0, 0, 0, 0}, {15, 4403, 519, 4420, 1280, 0, 0}, {18124, 2560, 8192, 0, 0, 0, 0}, {258, 325, 1285, 4112, 0, 0, 0}, {136, 514, 17476, 0, 0, 0, 0}, {15, 48, 768, 1280, 4096, 0, 0}, {2640, 5744, 20560, 0, 0, 0, 0}, {1036, 1075, 1553, 1092, 4369, 0, 0}, {602, 546, 5120, 0, 0, 0, 0}, {63, 4883, 5440, 0, 0, 0, 0}, {4120, 48, 4608, 4176, 5140, 0, 0}, {4991, 13056, 21845, 0, 0, 0, 0}, {48, 5654, 4160, 0, 0, 0, 0}, {607, 119, 4352, 0, 0, 0, 0}, {5160, 5632, 5200, 0, 0, 0, 0}, {4940, 4979, 5397, 0, 0, 0, 0}, {5674, 8304, 20480, 0, 0, 0, 0}, {4364, 4403, 535, 4420, 5376, 0, 0}, {1628, 48, 4112, 0, 0, 0, 0}, {4386, 4864, 4437, 0, 0, 0, 0}, {1036, 48, 530, 1092, 4096, 0, 0}, {2655, 4896, 21760, 0, 0, 0, 0}, {3072, 1632, 16448, 0, 0, 0, 0}, {15, 1314, 1792, 1365, 4369, 0, 0}, {72, 546, 1024, 0, 0, 0, 0}, {15, 4883, 1360, 0, 0, 0, 0}, {552, 8704, 17476, 0, 0, 0, 0}, {15, 48, 768, 4160, 5397, 0, 0}, {18150, 19532, 26214, 0, 0, 0, 0}, {279, 336, 1024, 4352, 0, 0, 0}, {72, 608, 1024, 0, 0, 0, 0}, {15, 5654, 1365, 0, 0, 0, 0}, {1642, 8256, 16448, 0, 0, 0, 0}, {15, 4403, 4884, 4420, 5140, 0, 0}, {18156, 19532, 8224, 0, 0, 0, 0}, {274, 341, 1024, 4096, 0, 0, 0}, {2048, 546, 17476, 0, 0, 0, 0}, {15, 48, 768, 1360, 4112, 0, 0}, {240, 5632, 20480, 0, 0, 0, 0}, {72, 119, 514, 1028, 4369, 0, 0}, {5160, 514, 5200, 0, 0, 0, 0}, {4876, 4915, 5376, 0, 0, 0, 0}, {4104, 48, 4608, 4160, 1028, 0, 0}, {4959, 13056, 21845, 0, 0, 0, 0}, {48, 1542, 4176, 0, 0, 0, 0}, {520, 119, 4352, 0, 0, 0, 0}, {520, 624, 5120, 0, 0, 0, 0}, {63, 1542, 5461, 0, 0, 0, 0}, {5722, 8272, 20560, 0, 0, 0, 0}, {4364, 4403, 4868, 4420, 1028, 0, 0}, {1548, 48, 4096, 0, 0, 0, 0}, {4386, 514, 4437, 0, 0, 0, 0}, {72, 48, 514, 1028, 4112, 0, 0}, {255, 4864, 21760, 0, 0, 0, 0}, {3840, 12288, 18176, 0, 0, 0, 0}, {10, 32, 70, 257, 0, 0, 0}, {10, 32, 514, 1280, 4096, 0, 0}, {204, 771, 17408, 0, 0, 0, 0}, {76, 832, 1028, 0, 0, 0, 0}, {10, 4688, 1285, 0, 0, 0, 0}, {10, 102, 774, 1280, 4352, 0, 0}, {128, 1799, 16384, 0, 0, 0, 0}, {1800, 12288, 16384, 0, 0, 0, 0}, {10, 4403, 771, 4437, 1285, 0, 0}, {10, 4608, 1280, 0, 0, 0, 0}, {76, 771, 1028, 0, 0, 0, 0}, {780, 13056, 17408, 0, 0, 0, 0}, {10, 32, 514, 4176, 1285, 0, 0}, {32, 514, 260, 4354, 0, 0, 0}, {12528, 3855, 18191, 0, 0, 0, 0}, {32, 1872, 4112, 0, 0, 0, 0}, {102, 853, 4369, 0, 0, 0, 0}, {170, 4626, 21760, 0, 0, 0, 0}, {76, 32, 787, 1024, 4096, 0, 0}, {108, 848, 5140, 0, 0, 0, 0}, {42, 4672, 5397, 0, 0, 0, 0}, {76, 102, 790, 1024, 4352, 0, 0}, {160, 5911, 20480, 0, 0, 0, 0}, {5960, 12336, 20560, 0, 0, 0, 0}, {4377, 4403, 4608, 4437, 1024, 0, 0}, {4634, 4656, 5440, 0, 0, 0, 0}, {5915, 819, 5188, 0, 0, 0, 0}, {4124, 32, 4864, 4176, 1024, 0, 0}, {4680, 8738, 21845, 0, 0, 0, 0}, {4638, 4386, 4420, 0, 0, 0, 0}, {5919, 32, 4160, 0, 0, 0, 0}, {32, 1792, 4096, 0, 0, 0, 0}, {102, 771, 4369, 0, 0, 0, 0}, {3840, 4642, 21760, 0, 0, 0, 0}, {1036, 32, 771, 1088, 4112, 0, 0}, {780, 5924, 5188, 0, 0, 0, 0}, {1807, 1829, 5461, 0, 0, 0, 0}, {1036, 1062, 1792, 1088, 4352, 0, 0}, {3855, 6007, 20560, 0, 0, 0, 0}, {5928, 12288, 20480, 0, 0, 0, 0}, {4377, 4403, 771, 4437, 5397, 0, 0}, {42, 4608, 5376, 0, 0, 0, 0}, {108, 771, 5140, 0, 0, 0, 0}, {4108, 32, 4864, 4160, 5120, 0, 0}, {4728, 8738, 21845, 0, 0, 0, 0}, {780, 4386, 4420, 0, 0, 0, 0}, {1807, 32, 4176, 0, 0, 0, 0}, {4080, 12336, 18224, 0, 0, 0, 0}, {10, 514, 1026, 273, 0, 0, 0}, {10, 32, 514, 1360, 4112, 0, 0}, {3072, 819, 17408, 0, 0, 0, 0}, {1032, 1844, 1092, 0, 0, 0, 0}, {10, 5941, 1365, 0, 0, 0, 0}, {10, 1334, 1536, 1360, 4352, 0, 0}, {2056, 1911, 16448, 0, 0, 0, 0}, {1912, 12336, 16448, 0, 0, 0, 0}, {10, 4403, 4608, 4437, 5120, 0, 0}, {10, 4656, 1360, 0, 0, 0, 0}, {1032, 819, 1092, 0, 0, 0, 0}, {828, 13056, 17408, 0, 0, 0, 0}, {10, 32, 514, 4160, 5397, 0, 0}, {32, 514, 276, 4354, 0, 0, 0}, {12480, 16191, 18239, 0, 0, 0, 0}, {128, 1792, 16448, 0, 0, 0, 0}, {10, 102, 773, 1285, 4369, 0, 0}, {10, 4674, 1280, 0, 0, 0, 0}, {76, 835, 1024, 0, 0, 0, 0}, {204, 768, 17476, 0, 0, 0, 0}, {10, 32, 512, 1285, 4112, 0, 0}, {10, 32, 70, 256, 0, 0, 0}, {3855, 12336, 18247, 0, 0, 0, 0}, {12480, 3840, 18248, 0, 0, 0, 0}, {32, 512, 261, 4371, 0, 0, 0}, {10, 32, 512, 4160, 1280, 0, 0}, {783, 13107, 17476, 0, 0, 0, 0}, {76, 768, 1024, 0, 0, 0, 0}, {10, 4626, 1285, 0, 0, 0, 0}, {10, 4386, 768, 4420, 1280, 0, 0}, {1807, 12336, 16448, 0, 0, 0, 0}, {160, 5888, 20560, 0, 0, 0, 0}, {76, 102, 789, 1028, 4369, 0, 0}, {42, 4690, 5376, 0, 0, 0, 0}, {108, 851, 5120, 0, 0, 0, 0}, {76, 32, 784, 1028, 4112, 0, 0}, {170, 4608, 21845, 0, 0, 0, 0}, {102, 854, 4352, 0, 0, 0, 0}, {32, 1879, 4096, 0, 0, 0, 0}, {5896, 32, 4176, 0, 0, 0, 0}, {4620, 4403, 4437, 0, 0, 0, 0}, {4698, 8704, 21760, 0, 0, 0, 0}, {4108, 32, 4883, 4160, 1028, 0, 0}, {5900, 816, 5200, 0, 0, 0, 0}, {4616, 4642, 5461, 0, 0, 0, 0}, {4360, 4386, 4626, 4420, 1028, 0, 0}, {5983, 12288, 20480, 0, 0, 0, 0}, {3840, 5984, 20480, 0, 0, 0, 0}, {1032, 1058, 1799, 1092, 4369, 0, 0}, {1800, 1826, 5440, 0, 0, 0, 0}, {783, 5939, 5200, 0, 0, 0, 0}, {1032, 32, 768, 1092, 4096, 0, 0}, {3855, 4656, 21845, 0, 0, 0, 0}, {102, 768, 4352, 0, 0, 0, 0}, {32, 1799, 4112, 0, 0, 0, 0}, {1800, 32, 4160, 0, 0, 0, 0}, {783, 4403, 4437, 0, 0, 0, 0}, {4714, 8704, 21760, 0, 0, 0, 0}, {4124, 32, 4883, 4176, 5140, 0, 0}, {108, 768, 5120, 0, 0, 0, 0}, {42, 4626, 5397, 0, 0, 0, 0}, {4360, 4386, 768, 4420, 5376, 0, 0}, {5951, 12336, 20560, 0, 0, 0, 0}, {2048, 1904, 16384, 0, 0, 0, 0}, {10, 1331, 1542, 1365, 4369, 0, 0}, {10, 5922, 1360, 0, 0, 0, 0}, {1036, 1843, 1088, 0, 0, 0, 0}, {3084, 816, 17476, 0, 0, 0, 0}, {10, 32, 512, 1365, 4096, 0, 0}, {10, 512, 1030, 272, 0, 0, 0}, {4095, 12288, 18295, 0, 0, 0, 0}, {12528, 16128, 18296, 0, 0, 0, 0}, {32, 512, 277, 4371, 0, 0, 0}, {10, 32, 512, 4176, 5376, 0, 0}, {831, 13107, 17476, 0, 0, 0, 0}, {1036, 816, 1088, 0, 0, 0, 0}, {10, 4642, 1365, 0, 0, 0, 0}, {10, 4386, 4626, 4420, 5140, 0, 0}, {1919, 12288, 16384, 0, 0, 0, 0}, {128, 1792, 16384, 0, 0, 0, 0}, {10, 102, 771, 1285, 4369, 0, 0}, {10, 4642, 1280, 0, 0, 0, 0}, {1036, 771, 1088, 0, 0, 0, 0}, {780, 13056, 17476, 0, 0, 0, 0}, {10, 32, 512, 4176, 1285, 0, 0}, {262, 320, 1280, 4352, 0, 0, 0}, {18311, 3855, 30583, 0, 0, 0, 0}, {18312, 3840, 12288, 0, 0, 0, 0}, {259, 325, 1285, 4112, 0, 0, 0}, {10, 32, 512, 1280, 4096, 0, 0}, {204, 771, 17476, 0, 0, 0, 0}, {1036, 1792, 1088, 0, 0, 0, 0}, {10, 4722, 1285, 0, 0, 0, 0}, {10, 4386, 774, 4420, 1280, 0, 0}, {1807, 12400, 16384, 0, 0, 0, 0}, {3920, 5984, 20560, 0, 0, 0, 0}, {1032, 1058, 1809, 1092, 4369, 0, 0}, {42, 4626, 5440, 0, 0, 0, 0}, {863, 819, 5120, 0, 0, 0, 0}, {4124, 32, 4864, 4176, 5140, 0, 0}, {4714, 8704, 21845, 0, 0, 0, 0}, {858, 102, 4352, 0, 0, 0, 0}, {32, 5911, 4160, 0, 0, 0, 0}, {1880, 32, 4112, 0, 0, 0, 0}, {4403, 4608, 4437, 0, 0, 0, 0}, {3930, 4656, 21760, 0, 0, 0, 0}, {1032, 32, 787, 1092, 4096, 0, 0}, {5180, 5888, 5200, 0, 0, 0, 0}, {4680, 4706, 5397, 0, 0, 0, 0}, {4360, 4386, 790, 4420, 5376, 0, 0}, {5951, 12384, 20480, 0, 0, 0, 0}, {160, 5888, 20480, 0, 0, 0, 0}, {76, 102, 771, 1028, 4369, 0, 0}, {4616, 4642, 5376, 0, 0, 0, 0}, {5180, 771, 5200, 0, 0, 0, 0}, {4108, 32, 4864, 4160, 1028, 0, 0}, {4698, 8704, 21845, 0, 0, 0, 0}, {780, 102, 4352, 0, 0, 0, 0}, {32, 1799, 4176, 0, 0, 0, 0}, {1800, 32, 4096, 0, 0, 0, 0}, {4403, 771, 4437, 0, 0, 0, 0}, {170, 4608, 21760, 0, 0, 0, 0}, {76, 32, 771, 1028, 4112, 0, 0}, {780, 864, 5120, 0, 0, 0, 0}, {42, 1799, 5461, 0, 0, 0, 0}, {4360, 4386, 4612, 4420, 1028, 0, 0}, {5983, 12368, 20560, 0, 0, 0, 0}, {2048, 1904, 16448, 0, 0, 0, 0}, {10, 1331, 1536, 1365, 4369, 0, 0}, {10, 4626, 1360, 0, 0, 0, 0}, {76, 819, 1024, 0, 0, 0, 0}, {828, 13056, 17476, 0, 0, 0, 0}, {10, 32, 512, 4160, 5397, 0, 0}, {278, 336, 1024, 4352, 0, 0, 0}, {18359, 18504, 30583, 0, 0, 0, 0}, {18360, 18504, 12336, 0, 0, 0, 0}, {275, 341, 1024, 4096, 0, 0, 0}, {10, 32, 512, 1360, 4112, 0, 0}, {3072, 819, 17476, 0, 0, 0, 0}, {76, 880, 1024, 0, 0, 0, 0}, {10, 5911, 1365, 0, 0, 0, 0}, {10, 4386, 4628, 4420, 5140, 0, 0}, {1919, 12352, 16448, 0, 0, 0, 0}, {18368, 3840, 30464, 0, 0, 0, 0}, {263, 321, 1285, 4369, 0, 0, 0}, {10, 32, 514, 4160, 1280, 0, 0}, {783, 13107, 17408, 0, 0, 0, 0}, {1032, 768, 1092, 0, 0, 0, 0}, {10, 4656, 1285, 0, 0, 0, 0}, {10, 102, 768, 1280, 4352, 0, 0}, {128, 1799, 16448, 0, 0, 0, 0}, {1800, 12352, 16448, 0, 0, 0, 0}, {10, 4403, 773, 4437, 1285, 0, 0}, {10, 4704, 1280, 0, 0, 0, 0}, {1032, 1799, 1092, 0, 0, 0, 0}, {204, 768, 17408, 0, 0, 0, 0}, {10, 32, 514, 1285, 4112, 0, 0}, {258, 324, 1280, 4096, 0, 0, 0}, {18383, 3855, 12336, 0, 0, 0, 0}, {32, 5888, 4176, 0, 0, 0, 0}, {857, 102, 4369, 0, 0, 0, 0}, {4728, 8738, 21760, 0, 0, 0, 0}, {4108, 32, 4883, 4160, 5120, 0, 0}, {860, 816, 5140, 0, 0, 0, 0}, {42, 4608, 5461, 0, 0, 0, 0}, {1036, 1062, 1814, 1088, 4352, 0, 0}, {3935, 6007, 20480, 0, 0, 0, 0}, {5928, 12368, 20560, 0, 0, 0, 0}, {4377, 4403, 789, 4437, 5397, 0, 0}, {4698, 4720, 5376, 0, 0, 0, 0}, {5160, 5911, 5188, 0, 0, 0, 0}, {1036, 32, 784, 1088, 4112, 0, 0}, {3925, 4642, 21845, 0, 0, 0, 0}, {4386, 4626, 4420, 0, 0, 0, 0}, {1887, 32, 4096, 0, 0, 0, 0}, {32, 1792, 4160, 0, 0, 0, 0}, {783, 102, 4369, 0, 0, 0, 0}, {4680, 8738, 21760, 0, 0, 0, 0}, {4124, 32, 4883, 4176, 1024, 0, 0}, {5160, 768, 5188, 0, 0, 0, 0}, {4634, 4656, 5397, 0, 0, 0, 0}, {76, 102, 768, 1024, 4352, 0, 0}, {160, 5911, 20560, 0, 0, 0, 0}, {5960, 12384, 20480, 0, 0, 0, 0}, {4377, 4403, 4630, 4437, 1024, 0, 0}, {42, 1792, 5440, 0, 0, 0, 0}, {783, 867, 5140, 0, 0, 0, 0}, {76, 32, 768, 1024, 4096, 0, 0}, {170, 4626, 21845, 0, 0, 0, 0}, {4386, 768, 4420, 0, 0, 0, 0}, {1807, 32, 4112, 0, 0, 0, 0}, {18416, 18432, 30464, 0, 0, 0, 0}, {279, 337, 1028, 4369, 0, 0, 0}, {10, 32, 514, 4176, 5376, 0, 0}, {831, 13107, 17408, 0, 0, 0, 0}, {76, 816, 1028, 0, 0, 0, 0}, {10, 4608, 1365, 0, 0, 0, 0}, {10, 1334, 1542, 1360, 4352, 0, 0}, {2056, 1911, 16384, 0, 0, 0, 0}, {1912, 12400, 16384, 0, 0, 0, 0}, {10, 4403, 4614, 4437, 5120, 0, 0}, {10, 5888, 1360, 0, 0, 0, 0}, {76, 883, 1028, 0, 0, 0, 0}, {3084, 816, 17408, 0, 0, 0, 0}, {10, 32, 514, 1365, 4096, 0, 0}, {274, 340, 1028, 4112, 0, 0, 0}, {18431, 18432, 12288, 0, 0, 0, 0}, {18432, 0, 0, 0, 0, 0, 0}, {19, 5, 257, 0, 0, 0, 0}, {10, 32, 514, 16384, 0, 0, 0}, {15, 51, 771, 17408, 0, 0, 0}, {76, 1028, 0, 0, 0, 0, 0}, {4608, 5, 0, 0, 0, 0, 0}, {10, 102, 1542, 17408, 0, 0, 0}, {15, 112, 1799, 16384, 0, 0, 0}, {128, 2056, 16384, 0, 0, 0, 0}, {51, 771, 5, 4352, 0, 0, 0}, {10, 8704, 16896, 0, 0, 0, 0}, {15, 51, 771, 67, 1028, 0, 0}, {204, 3084, 17408, 0, 0, 0, 0}, {32, 514, 5, 4096, 0, 0, 0}, {10, 32, 514, 70, 1028, 0, 0}, {15, 12288, 18176, 0, 0, 0, 0}, {2048, 32, 80, 4112, 0, 0, 0}, {3072, 51, 85, 4369, 0, 0, 0}, {90, 4626, 0, 0, 0, 0, 0}, {19, 1024, 0, 0, 0, 0, 0}, {60, 12288, 80, 5140, 0, 0, 0}, {42, 8704, 85, 5397, 0, 0, 0}, {22, 1024, 0, 0, 0, 0, 0}, {95, 5911, 0, 0, 0, 0, 0}, {6168, 12336, 80, 0, 0, 0, 0}, {25, 51, 85, 1024, 4352, 0, 0}, {90, 112, 4672, 16448, 0, 0, 0}, {95, 51, 5956, 17476, 0, 0, 0}, {28, 32, 80, 1024, 4096, 0, 0}, {7453, 8738, 85, 0, 0, 0, 0}, {90, 102, 4676, 17476, 0, 0, 0}, {95, 32, 5952, 16448, 0, 0, 0}, {2048, 32, 16384, 0, 0, 0, 0}, {15, 51, 771, 85, 4369, 0, 0}, {170, 18466, 8738, 0, 0, 0, 0}, {19, 80, 1040, 4112, 0, 0, 0}, {108, 9252, 17476, 0, 0, 0, 0}, {15, 37, 4608, 85, 5376, 0, 0}, {1036, 1062, 1088, 0, 0, 0, 0}, {15, 5927, 80, 0, 0, 0, 0}, {160, 18472, 24576, 0, 0, 0, 0}, {22, 85, 1045, 4352, 0, 0, 0}, {42, 8704, 16384, 0, 0, 0, 0}, {15, 51, 771, 80, 5140, 0, 0}, {1036, 32, 1088, 0, 0, 0, 0}, {15, 4642, 85, 0, 0, 0, 0}, {3084, 102, 17476, 0, 0, 0, 0}, {15, 32, 1792, 80, 4096, 0, 0}, {240, 18480, 12336, 0, 0, 0, 0}, {19, 85, 1041, 4369, 0, 0, 0}, {10, 32, 514, 80, 4112, 0, 0}, {3072, 51, 17408, 0, 0, 0, 0}, {1032, 1076, 1092, 0, 0, 0, 0}, {10, 5941, 85, 0, 0, 0, 0}, {10, 54, 4608, 80, 5120, 0, 0}, {127, 14135, 16448, 0, 0, 0, 0}, {2056, 112, 16448, 0, 0, 0, 0}, {10, 51, 1536, 85, 4352, 0, 0}, {10, 4656, 80, 0, 0, 0, 0}, {1032, 51, 1092, 0, 0, 0, 0}, {60, 12288, 17408, 0, 0, 0, 0}, {10, 32, 514, 85, 5397, 0, 0}, {22, 80, 1044, 4096, 0, 0, 0}, {255, 18495, 30464, 0, 0, 0, 0}, {128, 2048, 16448, 0, 0, 0, 0}, {51, 768, 5, 4369, 0, 0, 0}, {10, 8738, 16962, 0, 0, 0, 0}, {15, 51, 768, 67, 1024, 0, 0}, {204, 3072, 17476, 0, 0, 0, 0}, {32, 512, 5, 4112, 0, 0, 0}, {10, 32, 512, 70, 1024, 0, 0}, {15, 12336, 18247, 0, 0, 0, 0}, {18504, 0, 0, 0, 0, 0, 0}, {19, 5, 256, 0, 0, 0, 0}, {10, 32, 512, 16448, 0, 0, 0}, {15, 51, 768, 17476, 0, 0, 0}, {76, 1024, 0, 0, 0, 0, 0}, {4626, 5, 0, 0, 0, 0, 0}, {10, 102, 1536, 17476, 0, 0, 0}, {15, 112, 1792, 16448, 0, 0, 0}, {6144, 12288, 80, 0, 0, 0, 0}, {25, 51, 85, 1028, 4369, 0, 0}, {90, 112, 4690, 16384, 0, 0, 0}, {95, 51, 5971, 17408, 0, 0, 0}, {28, 32, 80, 1028, 4112, 0, 0}, {7424, 8704, 85, 0, 0, 0, 0}, {90, 102, 4694, 17408, 0, 0, 0}, {95, 32, 5975, 16384, 0, 0, 0}, {2056, 32, 80, 4096, 0, 0, 0}, {3084, 51, 85, 4352, 0, 0, 0}, {90, 4608, 0, 0, 0, 0, 0}, {19, 1028, 0, 0, 0, 0, 0}, {60, 12336, 80, 5120, 0, 0, 0}, {42, 8738, 85, 5376, 0, 0, 0}, {22, 1028, 0, 0, 0, 0, 0}, {95, 5888, 0, 0, 0, 0, 0}, {160, 18528, 24672, 0, 0, 0, 0}, {22, 85, 1041, 4369, 0, 0, 0}, {42, 8738, 16448, 0, 0, 0, 0}, {15, 51, 768, 80, 5120, 0, 0}, {1032, 32, 1092, 0, 0, 0, 0}, {15, 4656, 85, 0, 0, 0, 0}, {3072, 102, 17408, 0, 0, 0, 0}, {15, 32, 1799, 80, 4112, 0, 0}, {2056, 32, 16448, 0, 0, 0, 0}, {15, 51, 768, 85, 4352, 0, 0}, {170, 18538, 8704, 0, 0, 0, 0}, {19, 80, 1044, 4096, 0, 0, 0}, {108, 9216, 17408, 0, 0, 0, 0}, {15, 37, 4626, 85, 5397, 0, 0}, {1032, 1058, 1092, 0, 0, 0, 0}, {15, 5936, 80, 0, 0, 0, 0}, {2048, 112, 16384, 0, 0, 0, 0}, {10, 51, 1542, 85, 4369, 0, 0}, {10, 4642, 80, 0, 0, 0, 0}, {1036, 51, 1088, 0, 0, 0, 0}, {60, 12336, 17476, 0, 0, 0, 0}, {10, 32, 512, 85, 5376, 0, 0}, {22, 80, 1040, 4112, 0, 0, 0}, {255, 18551, 30583, 0, 0, 0, 0}, {240, 18552, 12288, 0, 0, 0, 0}, {19, 85, 1045, 4352, 0, 0, 0}, {10, 32, 512, 80, 4096, 0, 0}, {3084, 51, 17476, 0, 0, 0, 0}, {1036, 1072, 1088, 0, 0, 0, 0}, {10, 5922, 85, 0, 0, 0, 0}, {10, 54, 4626, 80, 5140, 0, 0}, {127, 14080, 16384, 0, 0, 0, 0}, {128, 2048, 16384, 0, 0, 0, 0}, {51, 771, 5, 4369, 0, 0, 0}, {10, 8738, 16930, 0, 0, 0, 0}, {15, 51, 771, 67, 1027, 0, 0}, {204, 3084, 17476, 0, 0, 0, 0}, {32, 512, 5, 4096, 0, 0, 0}, {10, 32, 512, 70, 1030, 0, 0}, {15, 12288, 18295, 0, 0, 0, 0}, {18568, 0, 0, 0, 0, 0, 0}, {259, 5, 272, 0, 0, 0, 0}, {10, 32, 512, 16384, 0, 0, 0}, {15, 51, 771, 17476, 0, 0, 0}, {1036, 1088, 0, 0, 0, 0, 0}, {4642, 5, 0, 0, 0, 0, 0}, {10, 102, 1542, 17476, 0, 0, 0}, {15, 112, 1792, 16384, 0, 0, 0}, {6192, 12336, 80, 0, 0, 0, 0}, {25, 51, 85, 1041, 4369, 0, 0}, {90, 112, 4626, 16448, 0, 0, 0}, {95, 51, 5888, 17408, 0, 0, 0}, {28, 32, 80, 1044, 4096, 0, 0}, {7487, 8704, 85, 0, 0, 0, 0}, {90, 102, 4608, 17408, 0, 0, 0}, {95, 32, 5911, 16448, 0, 0, 0}, {2056, 32, 80, 4112, 0, 0, 0}, {3072, 51, 85, 4352, 0, 0, 0}, {90, 4656, 0, 0, 0, 0, 0}, {19, 1092, 0, 0, 0, 0, 0}, {60, 12288, 80, 5120, 0, 0, 0}, {42, 8738, 85, 5397, 0, 0, 0}, {22, 1092, 0, 0, 0, 0, 0}, {95, 5984, 0, 0, 0, 0, 0}, {160, 18432, 24576, 0, 0, 0, 0}, {22, 85, 1028, 4369, 0, 0, 0}, {42, 8738, 16384, 0, 0, 0, 0}, {15, 51, 771, 80, 5120, 0, 0}, {76, 32, 1028, 0, 0, 0, 0}, {15, 4608, 85, 0, 0, 0, 0}, {3084, 102, 17408, 0, 0, 0, 0}, {15, 32, 1799, 80, 4096, 0, 0}, {2056, 32, 16384, 0, 0, 0, 0}, {15, 51, 771, 85, 4352, 0, 0}, {170, 18432, 8704, 0, 0, 0, 0}, {19, 80, 1028, 4112, 0, 0, 0}, {108, 9312, 17408, 0, 0, 0, 0}, {15, 37, 4615, 85, 5376, 0, 0}, {76, 102, 1028, 0, 0, 0, 0}, {15, 5888, 80, 0, 0, 0, 0}, {2048, 112, 16448, 0, 0, 0, 0}, {10, 51, 1536, 85, 4369, 0, 0}, {10, 4626, 80, 0, 0, 0, 0}, {76, 51, 1024, 0, 0, 0, 0}, {60, 12288, 17476, 0, 0, 0, 0}, {10, 32, 512, 85, 5397, 0, 0}, {22, 80, 1024, 4096, 0, 0, 0}, {255, 18504, 30583, 0, 0, 0, 0}, {240, 18504, 12336, 0, 0, 0, 0}, {19, 85, 1024, 4352, 0, 0, 0}, {10, 32, 512, 80, 4112, 0, 0}, {3072, 51, 17476, 0, 0, 0, 0}, {76, 112, 1024, 0, 0, 0, 0}, {10, 5911, 85, 0, 0, 0, 0}, {10, 54, 4628, 80, 5140, 0, 0}, {127, 14144, 16448, 0, 0, 0, 0}, {18624, 0, 0, 0, 0, 0, 0}, {258, 5, 273, 0, 0, 0, 0}, {10, 32, 514, 16448, 0, 0, 0}, {15, 51, 768, 17408, 0, 0, 0}, {1032, 1092, 0, 0, 0, 0, 0}, {4656, 5, 0, 0, 0, 0, 0}, {10, 102, 1536, 17408, 0, 0, 0}, {15, 112, 1799, 16448, 0, 0, 0}, {128, 2056, 16448, 0, 0, 0, 0}, {51, 768, 5, 4352, 0, 0, 0}, {10, 8704, 16992, 0, 0, 0, 0}, {15, 51, 768, 67, 1031, 0, 0}, {204, 3072, 17408, 0, 0, 0, 0}, {32, 514, 5, 4112, 0, 0, 0}, {10, 32, 514, 70, 1026, 0, 0}, {15, 12336, 18224, 0, 0, 0, 0}, {2048, 32, 80, 4096, 0, 0, 0}, {3084, 51, 85, 4369, 0, 0, 0}, {90, 4642, 0, 0, 0, 0, 0}, {19, 1088, 0, 0, 0, 0, 0}, {60, 12336, 80, 5140, 0, 0, 0}, {42, 8704, 85, 5376, 0, 0, 0}, {22, 1088, 0, 0, 0, 0, 0}, {95, 6007, 0, 0, 0, 0, 0}, {6184, 12288, 80, 0, 0, 0, 0}, {25, 51, 85, 1045, 4352, 0, 0}, {90, 112, 4608, 16384, 0, 0, 0}, {95, 51, 5911, 17476, 0, 0, 0}, {28, 32, 80, 1040, 4112, 0, 0}, {7458, 8738, 85, 0, 0, 0, 0}, {90, 102, 4626, 17476, 0, 0, 0}, {95, 32, 5888, 16384, 0, 0, 0}, {2048, 32, 16448, 0, 0, 0, 0}, {15, 51, 768, 85, 4369, 0, 0}, {170, 18504, 8738, 0, 0, 0, 0}, {19, 80, 1024, 4096, 0, 0, 0}, {108, 9284, 17476, 0, 0, 0, 0}, {15, 37, 4629, 85, 5397, 0, 0}, {76, 102, 1024, 0, 0, 0, 0}, {15, 5911, 80, 0, 0, 0, 0}, {160, 18504, 24672, 0, 0, 0, 0}, {22, 85, 1024, 4352, 0, 0, 0}, {42, 8704, 16448, 0, 0, 0, 0}, {15, 51, 768, 80, 5140, 0, 0}, {76, 32, 1024, 0, 0, 0, 0}, {15, 4626, 85, 0, 0, 0, 0}, {3072, 102, 17476, 0, 0, 0, 0}, {15, 32, 1792, 80, 4112, 0, 0}, {240, 18432, 12288, 0, 0, 0, 0}, {19, 85, 1028, 4369, 0, 0, 0}, {10, 32, 514, 80, 4096, 0, 0}, {3084, 51, 17408, 0, 0, 0, 0}, {76, 112, 1028, 0, 0, 0, 0}, {10, 5888, 85, 0, 0, 0, 0}, {10, 54, 4614, 80, 5120, 0, 0}, {127, 14199, 16384, 0, 0, 0, 0}, {2056, 112, 16384, 0, 0, 0, 0}, {10, 51, 1542, 85, 4352, 0, 0}, {10, 4608, 80, 0, 0, 0, 0}, {76, 51, 1028, 0, 0, 0, 0}, {60, 12336, 17408, 0, 0, 0, 0}, {10, 32, 514, 85, 5376, 0, 0}, {22, 80, 1028, 4112, 0, 0, 0}, {255, 18432, 30464, 0, 0, 0, 0}, {4864, 1280, 0, 0, 0, 0, 0}, {72, 257, 0, 0, 0, 0, 0}, {1290, 4386, 514, 17408, 0, 0, 0}, {1295, 4144, 771, 16384, 0, 0, 0}, {4608, 260, 0, 0, 0, 0, 0}, {4959, 1285, 0, 0, 0, 0, 0}, {1290, 4192, 1542, 16384, 0, 0, 0}, {1295, 4471, 1799, 17408, 0, 0, 0}, {520, 1280, 4352, 0, 0, 0, 0}, {771, 4176, 1285, 0, 0, 0, 0}, {1290, 13056, 17152, 0, 0, 0, 0}, {267, 4403, 771, 323, 1028, 0, 0}, {780, 1280, 4096, 0, 0, 0, 0}, {514, 4437, 1285, 0, 0, 0, 0}, {270, 4128, 514, 326, 1028, 0, 0}, {1295, 8192, 17920, 0, 0, 0, 0}, {3072, 816, 1360, 4112, 0, 0, 0}, {2048, 546, 1365, 4369, 0, 0, 0}, {274, 1024, 0, 0, 0, 0, 0}, {1375, 4883, 0, 0, 0, 0, 0}, {552, 8704, 4420, 5140, 0, 0, 0}, {831, 12288, 4160, 5397, 0, 0, 0}, {1370, 5654, 0, 0, 0, 0, 0}, {279, 1024, 0, 0, 0, 0, 0}, {280, 816, 336, 1024, 4352, 0, 0}, {6425, 13107, 1365, 0, 0, 0, 0}, {1370, 4208, 4928, 16448, 0, 0, 0}, {1375, 4403, 5700, 17476, 0, 0, 0}, {7196, 8224, 1360, 0, 0, 0, 0}, {285, 546, 341, 1024, 4096, 0, 0}, {1370, 4454, 4932, 17476, 0, 0, 0}, {1375, 4128, 5696, 16448, 0, 0, 0}, {3840, 4896, 21760, 0, 0, 0, 0}, {1036, 289, 771, 1092, 4369, 0, 0}, {4386, 4864, 5120, 0, 0, 0, 0}, {1391, 771, 4112, 0, 0, 0, 0}, {4364, 292, 4608, 4420, 5376, 0, 0}, {4991, 9509, 21845, 0, 0, 0, 0}, {780, 5670, 4160, 0, 0, 0, 0}, {1807, 1319, 5200, 0, 0, 0, 0}, {1320, 1792, 4352, 0, 0, 0, 0}, {4208, 771, 5397, 0, 0, 0, 0}, {5674, 13056, 20480, 0, 0, 0, 0}, {4120, 4403, 771, 4176, 5140, 0, 0}, {780, 4128, 5440, 0, 0, 0, 0}, {1807, 546, 4437, 0, 0, 0, 0}, {1036, 1314, 1792, 1092, 4096, 0, 0}, {3855, 5744, 20560, 0, 0, 0, 0}, {4144, 4864, 5376, 0, 0, 0, 0}, {1405, 514, 4369, 0, 0, 0, 0}, {1032, 306, 514, 1088, 4112, 0, 0}, {2560, 4915, 20480, 0, 0, 0, 0}, {520, 5684, 4420, 0, 0, 0, 0}, {1546, 1333, 5461, 0, 0, 0, 0}, {4972, 13878, 20560, 0, 0, 0, 0}, {4104, 311, 4608, 4160, 5120, 0, 0}, {1032, 1328, 1536, 1088, 4352, 0, 0}, {2570, 5734, 21845, 0, 0, 0, 0}, {1546, 816, 4176, 0, 0, 0, 0}, {520, 4403, 5188, 0, 0, 0, 0}, {5692, 8192, 21760, 0, 0, 0, 0}, {4381, 4128, 514, 4437, 5397, 0, 0}, {4454, 514, 5140, 0, 0, 0, 0}, {1343, 1536, 4096, 0, 0, 0, 0}, {768, 4160, 1280, 0, 0, 0, 0}, {522, 1285, 4369, 0, 0, 0, 0}, {266, 4386, 768, 322, 1024, 0, 0}, {1295, 13107, 17219, 0, 0, 0, 0}, {512, 4420, 1280, 0, 0, 0, 0}, {783, 1285, 4112, 0, 0, 0, 0}, {1290, 8224, 17990, 0, 0, 0, 0}, {271, 4144, 512, 327, 1024, 0, 0}, {72, 256, 0, 0, 0, 0, 0}, {4883, 1285, 0, 0, 0, 0, 0}, {1290, 4128, 768, 16448, 0, 0, 0}, {1295, 4403, 512, 17476, 0, 0, 0}, {4940, 1280, 0, 0, 0, 0, 0}, {4626, 261, 0, 0, 0, 0, 0}, {1290, 4454, 1792, 17476, 0, 0, 0}, {1295, 4208, 1536, 16448, 0, 0, 0}, {6400, 13056, 1360, 0, 0, 0, 0}, {281, 819, 337, 1028, 4369, 0, 0}, {1370, 4386, 5714, 17408, 0, 0, 0}, {1375, 4192, 4947, 16384, 0, 0, 0}, {284, 544, 340, 1028, 4112, 0, 0}, {7168, 8192, 1365, 0, 0, 0, 0}, {1370, 4144, 5718, 16384, 0, 0, 0}, {1375, 4471, 4951, 17408, 0, 0, 0}, {2056, 544, 1360, 4352, 0, 0, 0}, {3084, 819, 1365, 4096, 0, 0, 0}, {1370, 4864, 0, 0, 0, 0, 0}, {275, 1028, 0, 0, 0, 0, 0}, {828, 12336, 4176, 5376, 0, 0, 0}, {554, 8738, 4437, 5120, 0, 0, 0}, {278, 1028, 0, 0, 0, 0, 0}, {1375, 5632, 0, 0, 0, 0, 0}, {4192, 768, 5376, 0, 0, 0, 0}, {1325, 1799, 4369, 0, 0, 0, 0}, {4104, 4386, 768, 4160, 5120, 0, 0}, {5692, 13107, 20560, 0, 0, 0, 0}, {1800, 544, 4420, 0, 0, 0, 0}, {783, 4144, 5461, 0, 0, 0, 0}, {3840, 5734, 20480, 0, 0, 0, 0}, {1032, 1319, 1799, 1088, 4112, 0, 0}, {1032, 288, 768, 1088, 4352, 0, 0}, {3855, 4915, 21845, 0, 0, 0, 0}, {1386, 768, 4096, 0, 0, 0, 0}, {4403, 4883, 5140, 0, 0, 0, 0}, {4972, 9472, 21760, 0, 0, 0, 0}, {4381, 293, 4626, 4437, 5397, 0, 0}, {1800, 1314, 5188, 0, 0, 0, 0}, {783, 5680, 4176, 0, 0, 0, 0}, {2560, 5744, 21760, 0, 0, 0, 0}, {1036, 1333, 1542, 1092, 4369, 0, 0}, {522, 4386, 5200, 0, 0, 0, 0}, {1548, 819, 4160, 0, 0, 0, 0}, {4364, 4144, 512, 4420, 5376, 0, 0}, {5674, 8224, 21845, 0, 0, 0, 0}, {1338, 1542, 4112, 0, 0, 0, 0}, {4471, 512, 5120, 0, 0, 0, 0}, {1400, 512, 4352, 0, 0, 0, 0}, {4128, 4883, 5397, 0, 0, 0, 0}, {2570, 4896, 20560, 0, 0, 0, 0}, {1036, 307, 512, 1092, 4096, 0, 0}, {1548, 1328, 5440, 0, 0, 0, 0}, {522, 5666, 4437, 0, 0, 0, 0}, {4120, 310, 4626, 4176, 5140, 0, 0}, {4991, 13824, 20480, 0, 0, 0, 0}, {4992, 13056, 1280, 0, 0, 0, 0}, {265, 771, 321, 1285, 4369, 0, 0}, {1290, 4386, 1792, 17408, 0, 0, 0}, {1295, 4208, 771, 16448, 0, 0, 0}, {268, 512, 324, 1280, 4096, 0, 0}, {5087, 8224, 1285, 0, 0, 0, 0}, {1290, 4128, 1542, 16448, 0, 0, 0}, {1295, 4471, 512, 17408, 0, 0, 0}, {136, 512, 1280, 4352, 0, 0, 0}, {192, 771, 1285, 4112, 0, 0, 0}, {1290, 4896, 0, 0, 0, 0, 0}, {259, 1092, 0, 0, 0, 0, 0}, {780, 12288, 4160, 1280, 0, 0, 0}, {522, 8738, 4437, 1285, 0, 0, 0}, {262, 1092, 0, 0, 0, 0, 0}, {1295, 5744, 0, 0, 0, 0, 0}, {816, 4176, 5376, 0, 0, 0, 0}, {554, 1365, 4369, 0, 0, 0, 0}, {282, 4386, 4626, 338, 1298, 0, 0}, {1375, 13107, 17203, 0, 0, 0, 0}, {544, 4420, 5140, 0, 0, 0, 0}, {831, 1365, 4096, 0, 0, 0, 0}, {1370, 8192, 18022, 0, 0, 0, 0}, {287, 4128, 4608, 343, 1303, 0, 0}, {1032, 272, 0, 0, 0, 0, 0}, {4915, 1365, 0, 0, 0, 0, 0}, {1370, 4144, 4864, 16384, 0, 0, 0}, {1375, 4403, 4883, 17476, 0, 0, 0}, {5692, 1360, 0, 0, 0, 0, 0}, {4642, 277, 0, 0, 0, 0, 0}, {1370, 4454, 5654, 17476, 0, 0, 0}, {1375, 4192, 5632, 16384, 0, 0, 0}, {1440, 5632, 21760, 0, 0, 0, 0}, {72, 353, 771, 1028, 4369, 0, 0}, {4872, 4386, 5120, 0, 0, 0, 0}, {5439, 771, 4176, 0, 0, 0, 0}, {4364, 4128, 4608, 4420, 1028, 0, 0}, {5722, 8192, 21845, 0, 0, 0, 0}, {780, 1638, 4096, 0, 0, 0, 0}, {1319, 1799, 5200, 0, 0, 0, 0}, {1800, 544, 4352, 0, 0, 0, 0}, {4144, 771, 5461, 0, 0, 0, 0}, {1450, 4864, 20480, 0, 0, 0, 0}, {72, 291, 771, 1028, 4112, 0, 0}, {780, 4192, 5376, 0, 0, 0, 0}, {1325, 1799, 4437, 0, 0, 0, 0}, {4104, 294, 4868, 4160, 1028, 0, 0}, {4959, 13904, 20560, 0, 0, 0, 0}, {1328, 1536, 5440, 0, 0, 0, 0}, {522, 1911, 4369, 0, 0, 0, 0}, {4120, 4386, 4626, 4176, 1024, 0, 0}, {5708, 13107, 20480, 0, 0, 0, 0}, {5180, 512, 4420, 0, 0, 0, 0}, {4895, 4128, 5397, 0, 0, 0, 0}, {1530, 5654, 20560, 0, 0, 0, 0}, {72, 375, 512, 1024, 4096, 0, 0}, {72, 304, 512, 1024, 4352, 0, 0}, {1525, 4883, 21845, 0, 0, 0, 0}, {1546, 816, 4112, 0, 0, 0, 0}, {4403, 512, 5188, 0, 0, 0, 0}, {4940, 9584, 21760, 0, 0, 0, 0}, {4381, 309, 4887, 4437, 1024, 0, 0}, {522, 4454, 5140, 0, 0, 0, 0}, {1343, 1536, 4160, 0, 0, 0, 0}, {192, 768, 1280, 4096, 0, 0, 0}, {136, 514, 1285, 4369, 0, 0, 0}, {258, 1088, 0, 0, 0, 0, 0}, {1295, 4915, 0, 0, 0, 0, 0}, {520, 8704, 4420, 1280, 0, 0, 0}, {783, 12336, 4176, 1285, 0, 0, 0}, {1290, 5734, 0, 0, 0, 0, 0}, {263, 1088, 0, 0, 0, 0, 0}, {264, 768, 320, 1280, 4352, 0, 0}, {5011, 13107, 1285, 0, 0, 0, 0}, {1290, 4192, 768, 16384, 0, 0, 0}, {1295, 4403, 1799, 17476, 0, 0, 0}, {5068, 8192, 1280, 0, 0, 0, 0}, {269, 514, 325, 1285, 4112, 0, 0}, {1290, 4454, 514, 17476, 0, 0, 0}, {1295, 4144, 1536, 16384, 0, 0, 0}, {4896, 1360, 0, 0, 0, 0, 0}, {1036, 273, 0, 0, 0, 0, 0}, {1370, 4386, 4864, 17408, 0, 0, 0}, {1375, 4128, 4883, 16448, 0, 0, 0}, {4656, 276, 0, 0, 0, 0, 0}, {5674, 1365, 0, 0, 0, 0, 0}, {1370, 4208, 5654, 16448, 0, 0, 0}, {1375, 4471, 5632, 17408, 0, 0, 0}, {552, 1360, 4352, 0, 0, 0, 0}, {819, 4160, 5397, 0, 0, 0, 0}, {1370, 13056, 17264, 0, 0, 0, 0}, {283, 4403, 4608, 339, 1303, 0, 0}, {828, 1360, 4112, 0, 0, 0, 0}, {546, 4437, 5120, 0, 0, 0, 0}, {286, 4144, 4626, 342, 1298, 0, 0}, {1375, 8224, 17952, 0, 0, 0, 0}, {4128, 768, 5440, 0, 0, 0, 0}, {1807, 546, 4369, 0, 0, 0, 0}, {72, 290, 768, 1024, 4096, 0, 0}, {1455, 4883, 20560, 0, 0, 0, 0}, {1320, 1792, 4420, 0, 0, 0, 0}, {783, 4208, 5397, 0, 0, 0, 0}, {4940, 13926, 20480, 0, 0, 0, 0}, {4120, 295, 4887, 4176, 1024, 0, 0}, {72, 352, 768, 1024, 4352, 0, 0}, {1445, 5654, 21845, 0, 0, 0, 0}, {5418, 768, 4160, 0, 0, 0, 0}, {4891, 4403, 5140, 0, 0, 0, 0}, {5708, 8224, 21760, 0, 0, 0, 0}, {4381, 4144, 4626, 4437, 1024, 0, 0}, {1314, 1792, 5188, 0, 0, 0, 0}, {783, 1632, 4112, 0, 0, 0, 0}, {1520, 4864, 21760, 0, 0, 0, 0}, {72, 305, 514, 1028, 4369, 0, 0}, {4386, 514, 5200, 0, 0, 0, 0}, {1548, 819, 4096, 0, 0, 0, 0}, {4364, 308, 4868, 4420, 1028, 0, 0}, {4959, 9557, 21845, 0, 0, 0, 0}, {1338, 1542, 4176, 0, 0, 0, 0}, {520, 4471, 5120, 0, 0, 0, 0}, {520, 1904, 4352, 0, 0, 0, 0}, {1333, 1542, 5461, 0, 0, 0, 0}, {5722, 13056, 20560, 0, 0, 0, 0}, {4104, 4403, 4608, 4160, 1028, 0, 0}, {4876, 4144, 5376, 0, 0, 0, 0}, {5160, 514, 4437, 0, 0, 0, 0}, {72, 374, 514, 1028, 4112, 0, 0}, {1535, 5632, 20480, 0, 0, 0, 0}, {2560, 8192, 16384, 0, 0, 0, 0}, {15, 51, 68, 257, 0, 0, 0}, {136, 514, 16392, 0, 0, 0, 0}, {15, 51, 771, 1280, 4099, 0, 0}, {520, 8704, 68, 1028, 0, 0, 0}, {15, 12288, 4176, 1285, 0, 0, 0}, {204, 1542, 16396, 0, 0, 0, 0}, {15, 119, 519, 1280, 4103, 0, 0}, {520, 8704, 16896, 0, 0, 0, 0}, {15, 51, 771, 4179, 1285, 0, 0}, {8352, 2570, 16384, 0, 0, 0, 0}, {51, 771, 260, 4352, 0, 0, 0}, {1548, 8192, 17920, 0, 0, 0, 0}, {15, 4128, 514, 4183, 1285, 0, 0}, {514, 68, 1028, 0, 0, 0, 0}, {15, 1280, 4096, 0, 0, 0, 0}, {240, 2640, 4112, 0, 0, 0, 0}, {51, 529, 68, 1024, 4369, 0, 0}, {4168, 4144, 4626, 20480, 0, 0, 0}, {5452, 51, 4883, 21760, 0, 0, 0}, {60, 532, 68, 1024, 4116, 0, 0}, {255, 8319, 5397, 0, 0, 0, 0}, {4172, 4208, 5654, 20480, 0, 0, 0}, {5448, 119, 5911, 21760, 0, 0, 0}, {4120, 4192, 592, 20560, 0, 0, 0}, {5401, 51, 1621, 21845, 0, 0, 0}, {6682, 12336, 4160, 0, 0, 0, 0}, {539, 51, 68, 1024, 4352, 0, 0}, {4124, 4128, 1616, 20560, 0, 0, 0}, {5405, 119, 597, 21845, 0, 0, 0}, {542, 546, 68, 1024, 4096, 0, 0}, {7967, 8224, 5440, 0, 0, 0, 0}, {16512, 18976, 8224, 0, 0, 0, 0}, {274, 68, 1297, 4369, 0, 0, 0}, {2048, 546, 16384, 0, 0, 0, 0}, {15, 51, 771, 1360, 4112, 0, 0}, {1036, 1572, 68, 0, 0, 0, 0}, {15, 5413, 1365, 0, 0, 0, 0}, {1642, 9766, 16448, 0, 0, 0, 0}, {15, 4135, 4608, 4176, 5376, 0, 0}, {552, 8704, 16384, 0, 0, 0, 0}, {15, 51, 771, 4160, 5397, 0, 0}, {16512, 18986, 24576, 0, 0, 0, 0}, {279, 68, 1300, 4352, 0, 0, 0}, {3084, 1632, 16448, 0, 0, 0, 0}, {15, 1314, 1792, 1365, 4096, 0, 0}, {1036, 546, 68, 0, 0, 0, 0}, {15, 4128, 1360, 0, 0, 0, 0}, {2560, 4144, 20480, 0, 0, 0, 0}, {1032, 51, 514, 68, 4369, 0, 0}, {120, 514, 4112, 0, 0, 0, 0}, {51, 4864, 5376, 0, 0, 0, 0}, {4104, 4148, 4608, 68, 5120, 0, 0}, {5482, 13621, 21845, 0, 0, 0, 0}, {1546, 1590, 4176, 0, 0, 0, 0}, {520, 5431, 5440, 0, 0, 0, 0}, {520, 4656, 4160, 0, 0, 0, 0}, {1546, 51, 5461, 0, 0, 0, 0}, {2570, 4192, 20560, 0, 0, 0, 0}, {1032, 51, 1536, 68, 4352, 0, 0}, {60, 1536, 4096, 0, 0, 0, 0}, {119, 514, 5397, 0, 0, 0, 0}, {4124, 4128, 514, 68, 5140, 0, 0}, {5439, 8192, 21760, 0, 0, 0, 0}, {8320, 2560, 16448, 0, 0, 0, 0}, {51, 768, 261, 4369, 0, 0, 0}, {522, 8738, 16962, 0, 0, 0, 0}, {15, 51, 768, 4163, 1280, 0, 0}, {512, 68, 1024, 0, 0, 0, 0}, {15, 1285, 4112, 0, 0, 0, 0}, {1546, 8224, 17990, 0, 0, 0, 0}, {15, 4144, 512, 4167, 1280, 0, 0}, {136, 512, 16456, 0, 0, 0, 0}, {15, 51, 768, 1285, 4115, 0, 0}, {2570, 8224, 16448, 0, 0, 0, 0}, {15, 51, 68, 256, 0, 0, 0}, {204, 1536, 16460, 0, 0, 0, 0}, {15, 119, 517, 1285, 4119, 0, 0}, {522, 8738, 68, 1024, 0, 0, 0}, {15, 12336, 4160, 1280, 0, 0, 0}, {6656, 12288, 4176, 0, 0, 0, 0}, {537, 51, 68, 1028, 4369, 0, 0}, {4104, 4208, 594, 20480, 0, 0, 0}, {5388, 51, 1619, 21760, 0, 0, 0}, {540, 544, 68, 1028, 4112, 0, 0}, {7936, 8192, 5461, 0, 0, 0, 0}, {4108, 4144, 1622, 20480, 0, 0, 0}, {5384, 119, 599, 21760, 0, 0, 0}, {4184, 4128, 4608, 20560, 0, 0, 0}, {5465, 51, 4864, 21845, 0, 0, 0}, {240, 2650, 4096, 0, 0, 0, 0}, {51, 531, 68, 1028, 4352, 0, 0}, {4188, 4192, 5632, 20560, 0, 0, 0}, {5469, 119, 5888, 21845, 0, 0, 0}, {60, 534, 68, 1028, 4100, 0, 0}, {255, 8287, 5376, 0, 0, 0, 0}, {16576, 19040, 24672, 0, 0, 0, 0}, {278, 68, 1297, 4369, 0, 0, 0}, {554, 8738, 16448, 0, 0, 0, 0}, {15, 51, 768, 4176, 5376, 0, 0}, {1032, 544, 68, 0, 0, 0, 0}, {15, 4144, 1365, 0, 0, 0, 0}, {3072, 1638, 16384, 0, 0, 0, 0}, {15, 1319, 1799, 1360, 4112, 0, 0}, {2056, 544, 16448, 0, 0, 0, 0}, {15, 51, 768, 1365, 4096, 0, 0}, {16576, 19050, 8192, 0, 0, 0, 0}, {275, 68, 1300, 4352, 0, 0, 0}, {1644, 9728, 16384, 0, 0, 0, 0}, {15, 4151, 4626, 4160, 5397, 0, 0}, {1032, 1570, 68, 0, 0, 0, 0}, {15, 5424, 1360, 0, 0, 0, 0}, {2560, 4208, 20480, 0, 0, 0, 0}, {1036, 51, 1542, 68, 4369, 0, 0}, {522, 4642, 4176, 0, 0, 0, 0}, {1548, 51, 5440, 0, 0, 0, 0}, {4108, 4144, 512, 68, 5120, 0, 0}, {5418, 8224, 21845, 0, 0, 0, 0}, {60, 1542, 4112, 0, 0, 0, 0}, {119, 512, 5376, 0, 0, 0, 0}, {120, 512, 4096, 0, 0, 0, 0}, {51, 4883, 5397, 0, 0, 0, 0}, {2570, 4128, 20560, 0, 0, 0, 0}, {1036, 51, 512, 68, 4352, 0, 0}, {1548, 1584, 4160, 0, 0, 0, 0}, {522, 5410, 5461, 0, 0, 0, 0}, {4120, 4132, 4626, 68, 5140, 0, 0}, {5503, 13568, 21760, 0, 0, 0, 0}, {16512, 2560, 24576, 0, 0, 0, 0}, {262, 68, 1285, 4369, 0, 0, 0}, {522, 8738, 16384, 0, 0, 0, 0}, {15, 51, 771, 4160, 1280, 0, 0}, {1036, 512, 68, 0, 0, 0, 0}, {15, 4128, 1285, 0, 0, 0, 0}, {204, 1542, 16448, 0, 0, 0, 0}, {15, 119, 512, 1280, 4096, 0, 0}, {136, 512, 16384, 0, 0, 0, 0}, {15, 51, 771, 1285, 4112, 0, 0}, {16512, 2570, 8224, 0, 0, 0, 0}, {259, 68, 1280, 4352, 0, 0, 0}, {1548, 9792, 16448, 0, 0, 0, 0}, {15, 4135, 517, 4176, 1285, 0, 0}, {1036, 1542, 68, 0, 0, 0, 0}, {15, 4208, 1280, 0, 0, 0, 0}, {2640, 4192, 20560, 0, 0, 0, 0}, {1032, 51, 1553, 68, 4369, 0, 0}, {4152, 4626, 4160, 0, 0, 0, 0}, {4959, 51, 5376, 0, 0, 0, 0}, {4124, 4128, 4608, 68, 5140, 0, 0}, {5482, 8192, 21845, 0, 0, 0, 0}, {1626, 1638, 4096, 0, 0, 0, 0}, {5431, 5911, 5440, 0, 0, 0, 0}, {600, 544, 4112, 0, 0, 0, 0}, {51, 4864, 5461, 0, 0, 0, 0}, {2650, 4144, 20480, 0, 0, 0, 0}, {1032, 51, 531, 68, 4352, 0, 0}, {60, 5632, 4176, 0, 0, 0, 0}, {605, 119, 5397, 0, 0, 0, 0}, {4104, 4148, 534, 68, 5120, 0, 0}, {5439, 13664, 21760, 0, 0, 0, 0}, {8352, 10752, 16384, 0, 0, 0, 0}, {51, 771, 277, 4369, 0, 0, 0}, {554, 8738, 16930, 0, 0, 0, 0}, {15, 51, 771, 4179, 5379, 0, 0}, {544, 68, 1028, 0, 0, 0, 0}, {15, 1365, 4096, 0, 0, 0, 0}, {1642, 8192, 18022, 0, 0, 0, 0}, {15, 4128, 4608, 4183, 5383, 0, 0}, {2056, 544, 16392, 0, 0, 0, 0}, {15, 51, 771, 1365, 4099, 0, 0}, {2730, 8192, 16384, 0, 0, 0, 0}, {15, 771, 1028, 272, 0, 0, 0}, {3084, 1632, 16396, 0, 0, 0, 0}, {15, 1314, 1799, 1365, 4103, 0, 0}, {554, 8738, 68, 1028, 0, 0, 0}, {15, 12288, 4176, 5376, 0, 0, 0}, {2560, 12336, 4160, 0, 0, 0, 0}, {522, 51, 68, 1024, 4369, 0, 0}, {4120, 4192, 4626, 20560, 0, 0, 0}, {5452, 51, 1536, 21760, 0, 0, 0}, {60, 512, 68, 1024, 4096, 0, 0}, {255, 8224, 5397, 0, 0, 0, 0}, {4124, 4128, 5654, 20560, 0, 0, 0}, {5448, 119, 512, 21760, 0, 0, 0}, {4168, 4144, 512, 20480, 0, 0, 0}, {5401, 51, 4883, 21845, 0, 0, 0}, {240, 2570, 4112, 0, 0, 0, 0}, {51, 512, 68, 1024, 4352, 0, 0}, {4172, 4208, 1536, 20480, 0, 0, 0}, {5405, 119, 5911, 21845, 0, 0, 0}, {522, 566, 68, 1024, 4116, 0, 0}, {2560, 13631, 5440, 0, 0, 0, 0}, {16576, 2560, 8192, 0, 0, 0, 0}, {258, 68, 1285, 4369, 0, 0, 0}, {136, 514, 16448, 0, 0, 0, 0}, {15, 51, 768, 1280, 4096, 0, 0}, {1032, 1536, 68, 0, 0, 0, 0}, {15, 4192, 1285, 0, 0, 0, 0}, {1546, 9830, 16384, 0, 0, 0, 0}, {15, 4151, 519, 4160, 1280, 0, 0}, {520, 8704, 16448, 0, 0, 0, 0}, {15, 51, 768, 4176, 1285, 0, 0}, {16576, 2570, 24672, 0, 0, 0, 0}, {263, 68, 1280, 4352, 0, 0, 0}, {204, 1536, 16384, 0, 0, 0, 0}, {15, 119, 514, 1285, 4112, 0, 0}, {1032, 514, 68, 0, 0, 0, 0}, {15, 4144, 1280, 0, 0, 0, 0}, {2640, 4128, 20560, 0, 0, 0, 0}, {1036, 51, 529, 68, 4369, 0, 0}, {602, 546, 4096, 0, 0, 0, 0}, {51, 4883, 5440, 0, 0, 0, 0}, {4120, 4132, 532, 68, 5140, 0, 0}, {5418, 13653, 21845, 0, 0, 0, 0}, {60, 5654, 4160, 0, 0, 0, 0}, {607, 119, 5376, 0, 0, 0, 0}, {4136, 4608, 4176, 0, 0, 0, 0}, {4940, 51, 5397, 0, 0, 0, 0}, {2650, 4208, 20480, 0, 0, 0, 0}, {1036, 51, 1559, 68, 4352, 0, 0}, {1628, 1632, 4112, 0, 0, 0, 0}, {5410, 5888, 5461, 0, 0, 0, 0}, {4108, 4144, 4626, 68, 5120, 0, 0}, {5503, 8224, 21760, 0, 0, 0, 0}, {2720, 8224, 16448, 0, 0, 0, 0}, {15, 768, 1024, 273, 0, 0, 0}, {2048, 546, 16456, 0, 0, 0, 0}, {15, 51, 768, 1360, 4115, 0, 0}, {552, 8704, 68, 1024, 0, 0, 0}, {15, 12336, 4160, 5397, 0, 0, 0}, {3072, 1638, 16460, 0, 0, 0, 0}, {15, 1319, 1792, 1360, 4119, 0, 0}, {552, 8704, 16992, 0, 0, 0, 0}, {15, 51, 768, 4163, 5398, 0, 0}, {8320, 10794, 16448, 0, 0, 0, 0}, {51, 768, 276, 4352, 0, 0, 0}, {1644, 8224, 17952, 0, 0, 0, 0}, {15, 4144, 4626, 4167, 5394, 0, 0}, {546, 68, 1024, 0, 0, 0, 0}, {15, 1360, 4112, 0, 0, 0, 0}, {240, 2560, 4096, 0, 0, 0, 0}, {51, 514, 68, 1028, 4369, 0, 0}, {4184, 4128, 514, 20560, 0, 0, 0}, {5388, 51, 4864, 21760, 0, 0, 0}, {520, 564, 68, 1028, 4100, 0, 0}, {2570, 13578, 5461, 0, 0, 0, 0}, {4188, 4192, 1542, 20560, 0, 0, 0}, {5384, 119, 5888, 21760, 0, 0, 0}, {4104, 4208, 4608, 20480, 0, 0, 0}, {5465, 51, 1542, 21845, 0, 0, 0}, {2570, 12288, 4176, 0, 0, 0, 0}, {520, 51, 68, 1028, 4352, 0, 0}, {4108, 4144, 5632, 20480, 0, 0, 0}, {5469, 119, 514, 21845, 0, 0, 0}, {60, 514, 68, 1028, 4112, 0, 0}, {255, 8192, 5376, 0, 0, 0, 0}, {3840, 13056, 17408, 0, 0, 0, 0}, {10, 32, 64, 257, 0, 0, 0}, {10, 32, 514, 1280, 4354, 0, 0}, {192, 771, 17420, 0, 0, 0, 0}, {780, 12288, 64, 1028, 0, 0, 0}, {10, 8704, 4437, 1285, 0, 0, 0}, {10, 96, 774, 1280, 4358, 0, 0}, {128, 1799, 17416, 0, 0, 0, 0}, {1800, 13056, 17152, 0, 0, 0, 0}, {10, 4403, 771, 4435, 1285, 0, 0}, {10, 1280, 4352, 0, 0, 0, 0}, {771, 64, 1028, 0, 0, 0, 0}, {780, 12288, 18176, 0, 0, 0, 0}, {10, 32, 514, 4439, 1285, 0, 0}, {32, 514, 260, 4096, 0, 0, 0}, {13311, 3855, 17408, 0, 0, 0, 0}, {32, 784, 64, 1024, 4112, 0, 0}, {170, 3925, 4369, 0, 0, 0, 0}, {4424, 4386, 4626, 21760, 0, 0, 0}, {5196, 32, 4883, 20480, 0, 0, 0}, {160, 13164, 5140, 0, 0, 0, 0}, {42, 789, 64, 1024, 4373, 0, 0}, {4428, 4454, 5654, 21760, 0, 0, 0}, {5192, 96, 5911, 20480, 0, 0, 0}, {5144, 96, 848, 20560, 0, 0, 0}, {4377, 4403, 1877, 21845, 0, 0, 0}, {794, 816, 64, 1024, 4352, 0, 0}, {6939, 13107, 5188, 0, 0, 0, 0}, {5148, 32, 1872, 20560, 0, 0, 0}, {4381, 4471, 853, 21845, 0, 0, 0}, {7710, 8738, 4420, 0, 0, 0, 0}, {799, 32, 64, 1024, 4096, 0, 0}, {32, 4864, 5120, 0, 0, 0, 0}, {106, 771, 4369, 0, 0, 0, 0}, {3840, 4386, 21760, 0, 0, 0, 0}, {1036, 32, 771, 64, 4112, 0, 0}, {780, 5156, 5188, 0, 0, 0, 0}, {1807, 1829, 4437, 0, 0, 0, 0}, {4364, 4390, 4608, 64, 5376, 0, 0}, {5240, 10023, 20560, 0, 0, 0, 0}, {5160, 13056, 20480, 0, 0, 0, 0}, {4377, 4403, 771, 64, 5397, 0, 0}, {42, 1792, 4352, 0, 0, 0, 0}, {96, 771, 5140, 0, 0, 0, 0}, {1036, 32, 1792, 64, 4096, 0, 0}, {3855, 4471, 21845, 0, 0, 0, 0}, {780, 4642, 4420, 0, 0, 0, 0}, {1807, 32, 5200, 0, 0, 0, 0}, {3072, 816, 17408, 0, 0, 0, 0}, {10, 32, 514, 1365, 4369, 0, 0}, {274, 64, 1296, 4112, 0, 0, 0}, {17612, 19251, 13107, 0, 0, 0, 0}, {1912, 13364, 17476, 0, 0, 0, 0}, {10, 4405, 4608, 4437, 5120, 0, 0}, {10, 5174, 1360, 0, 0, 0, 0}, {1032, 1847, 64, 0, 0, 0, 0}, {1032, 816, 64, 0, 0, 0, 0}, {10, 4403, 1365, 0, 0, 0, 0}, {10, 1328, 1536, 1360, 4352, 0, 0}, {2056, 1911, 17476, 0, 0, 0, 0}, {17612, 19260, 30464, 0, 0, 0, 0}, {279, 64, 1301, 4096, 0, 0, 0}, {10, 32, 514, 4420, 5140, 0, 0}, {831, 12288, 17408, 0, 0, 0, 0}, {768, 64, 1024, 0, 0, 0, 0}, {10, 1285, 4369, 0, 0, 0, 0}, {10, 4386, 768, 4418, 1280, 0, 0}, {1807, 13107, 17219, 0, 0, 0, 0}, {13260, 3840, 17476, 0, 0, 0, 0}, {32, 512, 261, 4112, 0, 0, 0}, {10, 32, 512, 4422, 1280, 0, 0}, {783, 12336, 18247, 0, 0, 0, 0}, {192, 768, 17480, 0, 0, 0, 0}, {10, 32, 512, 1285, 4371, 0, 0}, {10, 32, 64, 256, 0, 0, 0}, {3855, 13107, 17476, 0, 0, 0, 0}, {128, 1792, 17484, 0, 0, 0, 0}, {10, 96, 773, 1285, 4375, 0, 0}, {10, 8738, 4420, 1280, 0, 0, 0}, {783, 12336, 64, 1024, 0, 0, 0}, {6912, 13056, 5200, 0, 0, 0, 0}, {793, 819, 64, 1028, 4369, 0, 0}, {4360, 4386, 1874, 21760, 0, 0, 0}, {5132, 96, 851, 20480, 0, 0, 0}, {796, 32, 64, 1028, 4112, 0, 0}, {7680, 8704, 4437, 0, 0, 0, 0}, {4364, 4454, 854, 21760, 0, 0, 0}, {5128, 32, 1879, 20480, 0, 0, 0}, {5208, 32, 4864, 20560, 0, 0, 0}, {4441, 4403, 4608, 21845, 0, 0, 0}, {170, 3930, 4352, 0, 0, 0, 0}, {32, 787, 64, 1028, 4096, 0, 0}, {5212, 96, 5888, 20560, 0, 0, 0}, {4445, 4471, 5632, 21845, 0, 0, 0}, {42, 790, 64, 1028, 4356, 0, 0}, {160, 13151, 5120, 0, 0, 0, 0}, {96, 768, 5120, 0, 0, 0, 0}, {42, 1799, 4369, 0, 0, 0, 0}, {4360, 4386, 768, 64, 5376, 0, 0}, {5180, 13107, 20560, 0, 0, 0, 0}, {1800, 32, 5188, 0, 0, 0, 0}, {783, 4656, 4437, 0, 0, 0, 0}, {3840, 4454, 21760, 0, 0, 0, 0}, {1032, 32, 1799, 64, 4112, 0, 0}, {1032, 32, 768, 64, 4096, 0, 0}, {3855, 4403, 21845, 0, 0, 0, 0}, {106, 768, 4352, 0, 0, 0, 0}, {32, 4883, 5140, 0, 0, 0, 0}, {5228, 9984, 20480, 0, 0, 0, 0}, {4381, 4407, 4626, 64, 5397, 0, 0}, {1800, 1826, 4420, 0, 0, 0, 0}, {783, 5168, 5200, 0, 0, 0, 0}, {2048, 1904, 17408, 0, 0, 0, 0}, {10, 1333, 1542, 1365, 4369, 0, 0}, {10, 4386, 1360, 0, 0, 0, 0}, {1036, 819, 64, 0, 0, 0, 0}, {828, 12336, 17476, 0, 0, 0, 0}, {10, 32, 512, 4437, 5120, 0, 0}, {278, 64, 1296, 4112, 0, 0, 0}, {17544, 19319, 30583, 0, 0, 0, 0}, {17544, 19320, 13056, 0, 0, 0, 0}, {275, 64, 1301, 4096, 0, 0, 0}, {10, 32, 512, 1360, 4352, 0, 0}, {3084, 819, 17476, 0, 0, 0, 0}, {1036, 1840, 64, 0, 0, 0, 0}, {10, 5154, 1365, 0, 0, 0, 0}, {10, 4388, 4626, 4420, 5140, 0, 0}, {1919, 13312, 17408, 0, 0, 0, 0}, {128, 1792, 17408, 0, 0, 0, 0}, {10, 96, 771, 1285, 4369, 0, 0}, {10, 4386, 1280, 0, 0, 0, 0}, {1036, 771, 64, 0, 0, 0, 0}, {780, 12288, 17476, 0, 0, 0, 0}, {10, 32, 512, 4437, 1285, 0, 0}, {262, 64, 1280, 4096, 0, 0, 0}, {17544, 3855, 30583, 0, 0, 0, 0}, {17544, 3840, 13056, 0, 0, 0, 0}, {259, 64, 1285, 4112, 0, 0, 0}, {10, 32, 512, 1280, 4352, 0, 0}, {192, 771, 17476, 0, 0, 0, 0}, {1036, 1792, 64, 0, 0, 0, 0}, {10, 4471, 1285, 0, 0, 0, 0}, {10, 4388, 774, 4420, 1280, 0, 0}, {1807, 13424, 17408, 0, 0, 0, 0}, {5168, 5888, 5200, 0, 0, 0, 0}, {1885, 1911, 4369, 0, 0, 0, 0}, {4360, 4386, 4626, 64, 5376, 0, 0}, {5228, 13107, 20480, 0, 0, 0, 0}, {4940, 32, 5140, 0, 0, 0, 0}, {4415, 4608, 4437, 0, 0, 0, 0}, {3930, 4454, 21760, 0, 0, 0, 0}, {1032, 32, 1815, 64, 4096, 0, 0}, {1032, 32, 784, 64, 4112, 0, 0}, {3925, 4403, 21845, 0, 0, 0, 0}, {858, 816, 4352, 0, 0, 0, 0}, {32, 4883, 5188, 0, 0, 0, 0}, {5180, 10064, 20560, 0, 0, 0, 0}, {4381, 4407, 789, 64, 5397, 0, 0}, {42, 5654, 4420, 0, 0, 0, 0}, {863, 96, 5120, 0, 0, 0, 0}, {160, 13056, 5120, 0, 0, 0, 0}, {42, 771, 64, 1028, 4369, 0, 0}, {4360, 4386, 5632, 21760, 0, 0, 0}, {5212, 96, 771, 20560, 0, 0, 0}, {780, 32, 64, 1028, 4096, 0, 0}, {3855, 8704, 4437, 0, 0, 0, 0}, {4364, 4454, 4608, 21760, 0, 0, 0}, {5208, 32, 1799, 20560, 0, 0, 0}, {5128, 32, 4864, 20480, 0, 0, 0}, {4441, 4403, 771, 21845, 0, 0, 0}, {170, 3840, 4352, 0, 0, 0, 0}, {32, 771, 64, 1028, 4112, 0, 0}, {5132, 96, 5888, 20480, 0, 0, 0}, {4445, 4471, 1799, 21845, 0, 0, 0}, {780, 806, 64, 1028, 4356, 0, 0}, {3855, 9999, 5200, 0, 0, 0, 0}, {816, 64, 1024, 0, 0, 0, 0}, {10, 1365, 4369, 0, 0, 0, 0}, {10, 4386, 4626, 4418, 5138, 0, 0}, {1919, 13107, 17203, 0, 0, 0, 0}, {13260, 15420, 17476, 0, 0, 0, 0}, {32, 512, 277, 4096, 0, 0, 0}, {10, 32, 512, 4422, 5142, 0, 0}, {831, 12288, 18295, 0, 0, 0, 0}, {3072, 816, 17480, 0, 0, 0, 0}, {10, 32, 512, 1365, 4371, 0, 0}, {10, 512, 1024, 272, 0, 0, 0}, {4095, 13107, 17476, 0, 0, 0, 0}, {2048, 1904, 17484, 0, 0, 0, 0}, {10, 1333, 1536, 1365, 4375, 0, 0}, {10, 8738, 4420, 5140, 0, 0, 0}, {831, 12288, 64, 1024, 0, 0, 0}, {192, 768, 17408, 0, 0, 0, 0}, {10, 32, 514, 1285, 4369, 0, 0}, {258, 64, 1280, 4096, 0, 0, 0}, {17612, 3855, 13107, 0, 0, 0, 0}, {1800, 13380, 17476, 0, 0, 0, 0}, {10, 4405, 773, 4437, 1285, 0, 0}, {10, 4454, 1280, 0, 0, 0, 0}, {1032, 1799, 64, 0, 0, 0, 0}, {1032, 768, 64, 0, 0, 0, 0}, {10, 4403, 1285, 0, 0, 0, 0}, {10, 96, 768, 1280, 4352, 0, 0}, {128, 1799, 17476, 0, 0, 0, 0}, {17612, 3840, 30464, 0, 0, 0, 0}, {263, 64, 1285, 4112, 0, 0, 0}, {10, 32, 514, 4420, 1280, 0, 0}, {783, 12336, 17408, 0, 0, 0, 0}, {32, 4864, 5200, 0, 0, 0, 0}, {857, 819, 4369, 0, 0, 0, 0}, {3930, 4386, 21760, 0, 0, 0, 0}, {1036, 32, 787, 64, 4096, 0, 0}, {860, 96, 5140, 0, 0, 0, 0}, {42, 5632, 4437, 0, 0, 0, 0}, {4364, 4390, 790, 64, 5376, 0, 0}, {5160, 10103, 20480, 0, 0, 0, 0}, {5240, 13056, 20560, 0, 0, 0, 0}, {4377, 4403, 4608, 64, 5397, 0, 0}, {1882, 1904, 4352, 0, 0, 0, 0}, {5156, 5911, 5188, 0, 0, 0, 0}, {1036, 32, 1808, 64, 4112, 0, 0}, {3925, 4471, 21845, 0, 0, 0, 0}, {4398, 4626, 4420, 0, 0, 0, 0}, {4959, 32, 5120, 0, 0, 0, 0}, {32, 768, 64, 1024, 4096, 0, 0}, {170, 3855, 4369, 0, 0, 0, 0}, {4424, 4386, 768, 21760, 0, 0, 0}, {5148, 32, 4883, 20560, 0, 0, 0}, {3840, 10024, 5188, 0, 0, 0, 0}, {783, 805, 64, 1024, 4373, 0, 0}, {4428, 4454, 1792, 21760, 0, 0, 0}, {5144, 96, 5911, 20560, 0, 0, 0}, {5192, 96, 768, 20480, 0, 0, 0}, {4377, 4403, 5654, 21845, 0, 0, 0}, {42, 768, 64, 1024, 4352, 0, 0}, {160, 13107, 5140, 0, 0, 0, 0}, {5196, 32, 1792, 20480, 0, 0, 0}, {4381, 4471, 4626, 21845, 0, 0, 0}, {3840, 8738, 4420, 0, 0, 0, 0}, {783, 32, 64, 1024, 4112, 0, 0}, {4080, 13056, 17408, 0, 0, 0, 0}, {10, 514, 1028, 273, 0, 0, 0}, {10, 32, 514, 1360, 4354, 0, 0}, {3084, 819, 17420, 0, 0, 0, 0}, {828, 12336, 64, 1028, 0, 0, 0}, {10, 8704, 4437, 5120, 0, 0, 0}, {10, 1328, 1542, 1360, 4358, 0, 0}, {2056, 1911, 17416, 0, 0, 0, 0}, {1912, 13056, 17264, 0, 0, 0, 0}, {10, 4403, 4608, 4435, 5126, 0, 0}, {10, 1360, 4352, 0, 0, 0, 0}, {819, 64, 1028, 0, 0, 0, 0}, {828, 12336, 18224, 0, 0, 0, 0}, {10, 32, 514, 4439, 5122, 0, 0}, {32, 514, 276, 4112, 0, 0, 0}, {13311, 15360, 17408, 0, 0, 0, 0}, {19456, 0, 0, 0, 0, 0, 0}, {18, 5, 257, 0, 0, 0, 0}, {10, 34, 514, 17408, 0, 0, 0}, {15, 48, 771, 16384, 0, 0, 0}, {72, 1028, 0, 0, 0, 0, 0}, {4864, 5, 0, 0, 0, 0, 0}, {10, 96, 1542, 16384, 0, 0, 0}, {15, 119, 1799, 17408, 0, 0, 0}, {136, 2056, 17408, 0, 0, 0, 0}, {48, 771, 5, 4096, 0, 0, 0}, {10, 8192, 17920, 0, 0, 0, 0}, {15, 48, 771, 71, 1028, 0, 0}, {192, 3084, 16384, 0, 0, 0, 0}, {34, 514, 5, 4352, 0, 0, 0}, {10, 34, 514, 66, 1028, 0, 0}, {15, 13056, 17152, 0, 0, 0, 0}, {3072, 48, 80, 4112, 0, 0, 0}, {2048, 34, 85, 4369, 0, 0, 0}, {18, 1024, 0, 0, 0, 0, 0}, {95, 4883, 0, 0, 0, 0, 0}, {40, 8192, 80, 5140, 0, 0, 0}, {63, 13056, 85, 5397, 0, 0, 0}, {90, 5654, 0, 0, 0, 0, 0}, {23, 1024, 0, 0, 0, 0, 0}, {24, 48, 80, 1024, 4096, 0, 0}, {6425, 13107, 85, 0, 0, 0, 0}, {90, 48, 5696, 16448, 0, 0, 0}, {95, 119, 4932, 17476, 0, 0, 0}, {7196, 8224, 80, 0, 0, 0, 0}, {29, 34, 85, 1024, 4352, 0, 0}, {90, 34, 5700, 17476, 0, 0, 0}, {95, 96, 4928, 16448, 0, 0, 0}, {160, 19488, 8224, 0, 0, 0, 0}, {18, 85, 1041, 4369, 0, 0, 0}, {2048, 34, 17408, 0, 0, 0, 0}, {15, 48, 771, 80, 4112, 0, 0}, {1036, 1060, 1092, 0, 0, 0, 0}, {15, 5669, 85, 0, 0, 0, 0}, {106, 9766, 16448, 0, 0, 0, 0}, {15, 39, 4864, 80, 5120, 0, 0}, {40, 8192, 17408, 0, 0, 0, 0}, {15, 48, 771, 85, 5397, 0, 0}, {170, 19498, 26112, 0, 0, 0, 0}, {23, 80, 1044, 4096, 0, 0, 0}, {3084, 96, 16448, 0, 0, 0, 0}, {15, 34, 1792, 85, 4352, 0, 0}, {1036, 34, 1092, 0, 0, 0, 0}, {15, 4896, 80, 0, 0, 0, 0}, {3072, 48, 16384, 0, 0, 0, 0}, {10, 34, 514, 85, 4369, 0, 0}, {18, 80, 1040, 4112, 0, 0, 0}, {255, 19507, 13107, 0, 0, 0, 0}, {120, 13364, 17476, 0, 0, 0, 0}, {10, 53, 4864, 85, 5376, 0, 0}, {10, 5686, 80, 0, 0, 0, 0}, {1032, 1079, 1088, 0, 0, 0, 0}, {1032, 48, 1088, 0, 0, 0, 0}, {10, 4915, 85, 0, 0, 0, 0}, {10, 48, 1536, 80, 4096, 0, 0}, {2056, 119, 17476, 0, 0, 0, 0}, {240, 19516, 28672, 0, 0, 0, 0}, {23, 85, 1045, 4352, 0, 0, 0}, {10, 34, 514, 80, 5140, 0, 0}, {63, 13056, 16384, 0, 0, 0, 0}, {192, 3072, 16448, 0, 0, 0, 0}, {34, 512, 5, 4369, 0, 0, 0}, {10, 34, 512, 66, 1024, 0, 0}, {15, 13107, 17219, 0, 0, 0, 0}, {136, 2048, 17476, 0, 0, 0, 0}, {48, 768, 5, 4112, 0, 0, 0}, {10, 8224, 17990, 0, 0, 0, 0}, {15, 48, 768, 71, 1024, 0, 0}, {72, 1024, 0, 0, 0, 0, 0}, {4883, 5, 0, 0, 0, 0, 0}, {10, 96, 1536, 16448, 0, 0, 0}, {15, 119, 1792, 17476, 0, 0, 0}, {19532, 0, 0, 0, 0, 0, 0}, {18, 5, 256, 0, 0, 0, 0}, {10, 34, 512, 17476, 0, 0, 0}, {15, 48, 768, 16448, 0, 0, 0}, {7168, 8192, 80, 0, 0, 0, 0}, {29, 34, 85, 1028, 4369, 0, 0}, {90, 34, 5714, 17408, 0, 0, 0}, {95, 96, 4947, 16384, 0, 0, 0}, {24, 48, 80, 1028, 4112, 0, 0}, {6400, 13056, 85, 0, 0, 0, 0}, {90, 48, 5718, 16384, 0, 0, 0}, {95, 119, 4951, 17408, 0, 0, 0}, {40, 8224, 80, 5120, 0, 0, 0}, {63, 13107, 85, 5376, 0, 0, 0}, {90, 5632, 0, 0, 0, 0, 0}, {23, 1028, 0, 0, 0, 0, 0}, {3084, 48, 80, 4096, 0, 0, 0}, {2056, 34, 85, 4352, 0, 0, 0}, {18, 1028, 0, 0, 0, 0, 0}, {95, 4864, 0, 0, 0, 0, 0}, {3072, 96, 16384, 0, 0, 0, 0}, {15, 34, 1799, 85, 4369, 0, 0}, {1032, 34, 1088, 0, 0, 0, 0}, {15, 4915, 80, 0, 0, 0, 0}, {40, 8224, 17476, 0, 0, 0, 0}, {15, 48, 768, 85, 5376, 0, 0}, {170, 19558, 26214, 0, 0, 0, 0}, {23, 80, 1040, 4112, 0, 0, 0}, {1032, 1056, 1088, 0, 0, 0, 0}, {15, 5683, 85, 0, 0, 0, 0}, {106, 9728, 16384, 0, 0, 0, 0}, {15, 39, 4883, 80, 5140, 0, 0}, {160, 19564, 8192, 0, 0, 0, 0}, {18, 85, 1045, 4352, 0, 0, 0}, {2056, 34, 17476, 0, 0, 0, 0}, {15, 48, 768, 80, 4096, 0, 0}, {240, 19568, 28784, 0, 0, 0, 0}, {23, 85, 1041, 4369, 0, 0, 0}, {10, 34, 512, 80, 5120, 0, 0}, {63, 13107, 16448, 0, 0, 0, 0}, {1036, 48, 1092, 0, 0, 0, 0}, {10, 4896, 85, 0, 0, 0, 0}, {10, 48, 1542, 80, 4112, 0, 0}, {2048, 119, 17408, 0, 0, 0, 0}, {120, 13312, 17408, 0, 0, 0, 0}, {10, 53, 4883, 85, 5397, 0, 0}, {10, 5664, 80, 0, 0, 0, 0}, {1036, 1075, 1092, 0, 0, 0, 0}, {3084, 48, 16448, 0, 0, 0, 0}, {10, 34, 512, 85, 4352, 0, 0}, {18, 80, 1044, 4096, 0, 0, 0}, {255, 19583, 13056, 0, 0, 0, 0}, {19584, 0, 0, 0, 0, 0, 0}, {259, 5, 273, 0, 0, 0, 0}, {10, 34, 512, 17408, 0, 0, 0}, {15, 48, 771, 16448, 0, 0, 0}, {1036, 1092, 0, 0, 0, 0, 0}, {4896, 5, 0, 0, 0, 0, 0}, {10, 96, 1542, 16448, 0, 0, 0}, {15, 119, 1792, 17408, 0, 0, 0}, {136, 2048, 17408, 0, 0, 0, 0}, {48, 771, 5, 4112, 0, 0, 0}, {10, 8224, 17952, 0, 0, 0, 0}, {15, 48, 771, 71, 1027, 0, 0}, {192, 3084, 16448, 0, 0, 0, 0}, {34, 512, 5, 4352, 0, 0, 0}, {10, 34, 512, 66, 1030, 0, 0}, {15, 13056, 17264, 0, 0, 0, 0}, {3072, 48, 80, 4096, 0, 0, 0}, {2056, 34, 85, 4369, 0, 0, 0}, {18, 1088, 0, 0, 0, 0, 0}, {95, 4915, 0, 0, 0, 0, 0}, {40, 8224, 80, 5140, 0, 0, 0}, {63, 13056, 85, 5376, 0, 0, 0}, {90, 5734, 0, 0, 0, 0, 0}, {23, 1088, 0, 0, 0, 0, 0}, {24, 48, 80, 1040, 4112, 0, 0}, {6451, 13107, 85, 0, 0, 0, 0}, {90, 48, 5632, 16384, 0, 0, 0}, {95, 119, 4883, 17476, 0, 0, 0}, {7228, 8192, 80, 0, 0, 0, 0}, {29, 34, 85, 1045, 4352, 0, 0}, {90, 34, 5654, 17476, 0, 0, 0}, {95, 96, 4864, 16384, 0, 0, 0}, {160, 19456, 8192, 0, 0, 0, 0}, {18, 85, 1028, 4369, 0, 0, 0}, {2056, 34, 17408, 0, 0, 0, 0}, {15, 48, 771, 80, 4096, 0, 0}, {72, 96, 1028, 0, 0, 0, 0}, {15, 5632, 85, 0, 0, 0, 0}, {106, 9830, 16384, 0, 0, 0, 0}, {15, 39, 4871, 80, 5120, 0, 0}, {40, 8224, 17408, 0, 0, 0, 0}, {15, 48, 771, 85, 5376, 0, 0}, {170, 19456, 26112, 0, 0, 0, 0}, {23, 80, 1028, 4112, 0, 0, 0}, {3084, 96, 16384, 0, 0, 0, 0}, {15, 34, 1799, 85, 4352, 0, 0}, {72, 34, 1028, 0, 0, 0, 0}, {15, 4864, 80, 0, 0, 0, 0}, {3072, 48, 16448, 0, 0, 0, 0}, {10, 34, 512, 85, 4369, 0, 0}, {18, 80, 1024, 4096, 0, 0, 0}, {255, 19532, 13107, 0, 0, 0, 0}, {120, 13380, 17476, 0, 0, 0, 0}, {10, 53, 4885, 85, 5397, 0, 0}, {10, 5654, 80, 0, 0, 0, 0}, {72, 119, 1024, 0, 0, 0, 0}, {72, 48, 1024, 0, 0, 0, 0}, {10, 4883, 85, 0, 0, 0, 0}, {10, 48, 1536, 80, 4112, 0, 0}, {2048, 119, 17476, 0, 0, 0, 0}, {240, 19532, 28784, 0, 0, 0, 0}, {23, 85, 1024, 4352, 0, 0, 0}, {10, 34, 512, 80, 5140, 0, 0}, {63, 13056, 16448, 0, 0, 0, 0}, {192, 3072, 16384, 0, 0, 0, 0}, {34, 514, 5, 4369, 0, 0, 0}, {10, 34, 514, 66, 1026, 0, 0}, {15, 13107, 17203, 0, 0, 0, 0}, {136, 2056, 17476, 0, 0, 0, 0}, {48, 768, 5, 4096, 0, 0, 0}, {10, 8192, 18022, 0, 0, 0, 0}, {15, 48, 768, 71, 1031, 0, 0}, {1032, 1088, 0, 0, 0, 0, 0}, {4915, 5, 0, 0, 0, 0, 0}, {10, 96, 1536, 16384, 0, 0, 0}, {15, 119, 1799, 17476, 0, 0, 0}, {19660, 0, 0, 0, 0, 0, 0}, {258, 5, 272, 0, 0, 0, 0}, {10, 34, 514, 17476, 0, 0, 0}, {15, 48, 768, 16384, 0, 0, 0}, {7200, 8224, 80, 0, 0, 0, 0}, {29, 34, 85, 1041, 4369, 0, 0}, {90, 34, 5632, 17408, 0, 0, 0}, {95, 96, 4883, 16448, 0, 0, 0}, {24, 48, 80, 1044, 4096, 0, 0}, {6442, 13056, 85, 0, 0, 0, 0}, {90, 48, 5654, 16448, 0, 0, 0}, {95, 119, 4864, 17408, 0, 0, 0}, {40, 8192, 80, 5120, 0, 0, 0}, {63, 13107, 85, 5397, 0, 0, 0}, {90, 5744, 0, 0, 0, 0, 0}, {23, 1092, 0, 0, 0, 0, 0}, {3084, 48, 80, 4112, 0, 0, 0}, {2048, 34, 85, 4352, 0, 0, 0}, {18, 1092, 0, 0, 0, 0, 0}, {95, 4896, 0, 0, 0, 0, 0}, {3072, 96, 16448, 0, 0, 0, 0}, {15, 34, 1792, 85, 4369, 0, 0}, {72, 34, 1024, 0, 0, 0, 0}, {15, 4883, 80, 0, 0, 0, 0}, {40, 8192, 17476, 0, 0, 0, 0}, {15, 48, 768, 85, 5397, 0, 0}, {170, 19532, 26214, 0, 0, 0, 0}, {23, 80, 1024, 4096, 0, 0, 0}, {72, 96, 1024, 0, 0, 0, 0}, {15, 5654, 85, 0, 0, 0, 0}, {106, 9792, 16448, 0, 0, 0, 0}, {15, 39, 4884, 80, 5140, 0, 0}, {160, 19532, 8224, 0, 0, 0, 0}, {18, 85, 1024, 4352, 0, 0, 0}, {2048, 34, 17476, 0, 0, 0, 0}, {15, 48, 768, 80, 4112, 0, 0}, {240, 19456, 28672, 0, 0, 0, 0}, {23, 85, 1028, 4369, 0, 0, 0}, {10, 34, 514, 80, 5120, 0, 0}, {63, 13107, 16384, 0, 0, 0, 0}, {72, 48, 1028, 0, 0, 0, 0}, {10, 4864, 85, 0, 0, 0, 0}, {10, 48, 1542, 80, 4096, 0, 0}, {2056, 119, 17408, 0, 0, 0, 0}, {120, 13424, 17408, 0, 0, 0, 0}, {10, 53, 4870, 85, 5376, 0, 0}, {10, 5632, 80, 0, 0, 0, 0}, {72, 119, 1028, 0, 0, 0, 0}, {3084, 48, 16384, 0, 0, 0, 0}, {10, 34, 514, 85, 4352, 0, 0}, {18, 80, 1028, 4112, 0, 0, 0}, {255, 19456, 13056, 0, 0, 0, 0}, {4608, 1280, 0, 0, 0, 0, 0}, {76, 257, 0, 0, 0, 0, 0}, {1290, 4128, 514, 16384, 0, 0, 0}, {1295, 4403, 771, 17408, 0, 0, 0}, {4864, 260, 0, 0, 0, 0, 0}, {4698, 1285, 0, 0, 0, 0, 0}, {1290, 4454, 1542, 17408, 0, 0, 0}, {1295, 4208, 1799, 16384, 0, 0, 0}, {520, 1280, 4096, 0, 0, 0, 0}, {771, 4437, 1285, 0, 0, 0, 0}, {1290, 12288, 18176, 0, 0, 0, 0}, {267, 4144, 771, 327, 1028, 0, 0}, {780, 1280, 4352, 0, 0, 0, 0}, {514, 4176, 1285, 0, 0, 0, 0}, {270, 4386, 514, 322, 1028, 0, 0}, {1295, 8704, 16896, 0, 0, 0, 0}, {2048, 544, 1360, 4112, 0, 0, 0}, {3072, 819, 1365, 4369, 0, 0, 0}, {1370, 4626, 0, 0, 0, 0, 0}, {275, 1024, 0, 0, 0, 0, 0}, {828, 13056, 4420, 5140, 0, 0, 0}, {554, 8192, 4160, 5397, 0, 0, 0}, {278, 1024, 0, 0, 0, 0, 0}, {1375, 5911, 0, 0, 0, 0, 0}, {6168, 12336, 1360, 0, 0, 0, 0}, {281, 819, 341, 1024, 4096, 0, 0}, {1370, 4144, 5952, 16448, 0, 0, 0}, {1375, 4471, 4676, 17476, 0, 0, 0}, {284, 544, 336, 1024, 4352, 0, 0}, {7453, 8738, 1365, 0, 0, 0, 0}, {1370, 4386, 5956, 17476, 0, 0, 0}, {1375, 4192, 4672, 16448, 0, 0, 0}, {4128, 4608, 5376, 0, 0, 0, 0}, {1385, 771, 4369, 0, 0, 0, 0}, {3840, 4642, 20480, 0, 0, 0, 0}, {1036, 291, 771, 1088, 4112, 0, 0}, {780, 5924, 4420, 0, 0, 0, 0}, {1807, 1317, 5461, 0, 0, 0, 0}, {4108, 294, 4864, 4160, 5120, 0, 0}, {4728, 10023, 20560, 0, 0, 0, 0}, {5928, 12288, 21760, 0, 0, 0, 0}, {4377, 4144, 771, 4437, 5397, 0, 0}, {1322, 1792, 4096, 0, 0, 0, 0}, {4471, 771, 5140, 0, 0, 0, 0}, {1036, 1312, 1792, 1088, 4352, 0, 0}, {3855, 6007, 21845, 0, 0, 0, 0}, {780, 4386, 5188, 0, 0, 0, 0}, {1807, 544, 4176, 0, 0, 0, 0}, {2560, 4656, 21760, 0, 0, 0, 0}, {1032, 305, 514, 1092, 4369, 0, 0}, {1402, 514, 4112, 0, 0, 0, 0}, {4403, 4608, 5120, 0, 0, 0, 0}, {4360, 308, 4864, 4420, 5376, 0, 0}, {4714, 13621, 21845, 0, 0, 0, 0}, {1546, 1334, 5200, 0, 0, 0, 0}, {520, 5943, 4160, 0, 0, 0, 0}, {520, 4144, 5440, 0, 0, 0, 0}, {1546, 819, 4437, 0, 0, 0, 0}, {2570, 5984, 20560, 0, 0, 0, 0}, {1032, 1331, 1536, 1092, 4096, 0, 0}, {1340, 1536, 4352, 0, 0, 0, 0}, {4192, 514, 5397, 0, 0, 0, 0}, {4124, 4386, 514, 4176, 5140, 0, 0}, {5951, 8704, 20480, 0, 0, 0, 0}, {512, 4160, 1280, 0, 0, 0, 0}, {783, 1285, 4369, 0, 0, 0, 0}, {1290, 8738, 16962, 0, 0, 0, 0}, {271, 4403, 512, 323, 1024, 0, 0}, {768, 4420, 1280, 0, 0, 0, 0}, {522, 1285, 4112, 0, 0, 0, 0}, {266, 4128, 768, 326, 1024, 0, 0}, {1295, 12336, 18247, 0, 0, 0, 0}, {4680, 1280, 0, 0, 0, 0, 0}, {4883, 261, 0, 0, 0, 0, 0}, {1290, 4192, 1792, 16448, 0, 0, 0}, {1295, 4471, 1536, 17476, 0, 0, 0}, {76, 256, 0, 0, 0, 0, 0}, {4626, 1285, 0, 0, 0, 0, 0}, {1290, 4386, 768, 17476, 0, 0, 0}, {1295, 4144, 512, 16448, 0, 0, 0}, {7424, 8704, 1360, 0, 0, 0, 0}, {285, 546, 337, 1028, 4369, 0, 0}, {1370, 4208, 4690, 16384, 0, 0, 0}, {1375, 4403, 5971, 17408, 0, 0, 0}, {280, 816, 340, 1028, 4112, 0, 0}, {6144, 12288, 1365, 0, 0, 0, 0}, {1370, 4454, 4694, 17408, 0, 0, 0}, {1375, 4128, 5975, 16384, 0, 0, 0}, {552, 8224, 4176, 5376, 0, 0, 0}, {831, 13107, 4437, 5120, 0, 0, 0}, {1370, 5888, 0, 0, 0, 0, 0}, {279, 1028, 0, 0, 0, 0, 0}, {3084, 816, 1360, 4352, 0, 0, 0}, {2056, 546, 1365, 4096, 0, 0, 0}, {274, 1028, 0, 0, 0, 0, 0}, {1375, 4608, 0, 0, 0, 0, 0}, {3840, 5984, 21760, 0, 0, 0, 0}, {1032, 1317, 1799, 1092, 4369, 0, 0}, {1800, 546, 4160, 0, 0, 0, 0}, {783, 4403, 5200, 0, 0, 0, 0}, {4360, 4128, 768, 4420, 5376, 0, 0}, {5951, 12336, 21845, 0, 0, 0, 0}, {4454, 768, 5120, 0, 0, 0, 0}, {1327, 1799, 4112, 0, 0, 0, 0}, {1800, 1312, 5440, 0, 0, 0, 0}, {783, 5939, 4437, 0, 0, 0, 0}, {4714, 9984, 20480, 0, 0, 0, 0}, {4124, 295, 4883, 4176, 5140, 0, 0}, {1388, 768, 4352, 0, 0, 0, 0}, {4144, 4626, 5397, 0, 0, 0, 0}, {1032, 290, 768, 1092, 4096, 0, 0}, {3855, 4656, 20560, 0, 0, 0, 0}, {4208, 512, 5376, 0, 0, 0, 0}, {1337, 1542, 4369, 0, 0, 0, 0}, {5928, 8738, 20560, 0, 0, 0, 0}, {4108, 4403, 512, 4160, 5120, 0, 0}, {1548, 816, 4420, 0, 0, 0, 0}, {522, 4128, 5461, 0, 0, 0, 0}, {1036, 1334, 1542, 1088, 4112, 0, 0}, {2560, 6007, 20480, 0, 0, 0, 0}, {4728, 13568, 21760, 0, 0, 0, 0}, {4377, 309, 4883, 4437, 5397, 0, 0}, {522, 5920, 4176, 0, 0, 0, 0}, {1548, 1331, 5188, 0, 0, 0, 0}, {1036, 304, 512, 1088, 4352, 0, 0}, {2570, 4642, 21845, 0, 0, 0, 0}, {4386, 4626, 5140, 0, 0, 0, 0}, {1407, 512, 4096, 0, 0, 0, 0}, {128, 512, 1280, 4096, 0, 0, 0}, {204, 771, 1285, 4369, 0, 0, 0}, {1290, 4642, 0, 0, 0, 0, 0}, {259, 1088, 0, 0, 0, 0, 0}, {780, 13056, 4420, 1280, 0, 0, 0}, {522, 8224, 4176, 1285, 0, 0, 0}, {262, 1088, 0, 0, 0, 0, 0}, {1295, 6007, 0, 0, 0, 0, 0}, {4744, 12288, 1280, 0, 0, 0, 0}, {265, 771, 325, 1285, 4112, 0, 0}, {1290, 4128, 1792, 16384, 0, 0, 0}, {1295, 4471, 771, 17476, 0, 0, 0}, {268, 512, 320, 1280, 4352, 0, 0}, {4818, 8738, 1285, 0, 0, 0, 0}, {1290, 4386, 1542, 17476, 0, 0, 0}, {1295, 4208, 512, 16384, 0, 0, 0}, {4656, 1360, 0, 0, 0, 0, 0}, {1032, 273, 0, 0, 0, 0, 0}, {1370, 4144, 4626, 16448, 0, 0, 0}, {1375, 4403, 4608, 17408, 0, 0, 0}, {4896, 276, 0, 0, 0, 0, 0}, {5951, 1365, 0, 0, 0, 0, 0}, {1370, 4454, 5888, 17408, 0, 0, 0}, {1375, 4192, 5911, 16448, 0, 0, 0}, {552, 1360, 4112, 0, 0, 0, 0}, {819, 4437, 5120, 0, 0, 0, 0}, {1370, 12336, 18224, 0, 0, 0, 0}, {283, 4128, 4883, 343, 1299, 0, 0}, {828, 1360, 4352, 0, 0, 0, 0}, {546, 4160, 5397, 0, 0, 0, 0}, {286, 4386, 4864, 338, 1302, 0, 0}, {1375, 8704, 16992, 0, 0, 0, 0}, {1440, 4608, 21760, 0, 0, 0, 0}, {76, 289, 771, 1028, 4369, 0, 0}, {1800, 546, 4096, 0, 0, 0, 0}, {4403, 771, 5200, 0, 0, 0, 0}, {4360, 292, 4612, 4420, 1028, 0, 0}, {4698, 13653, 21845, 0, 0, 0, 0}, {780, 4454, 5120, 0, 0, 0, 0}, {1327, 1799, 4176, 0, 0, 0, 0}, {4616, 4128, 5376, 0, 0, 0, 0}, {5180, 771, 4437, 0, 0, 0, 0}, {1450, 5888, 20480, 0, 0, 0, 0}, {76, 359, 771, 1028, 4112, 0, 0}, {780, 1632, 4352, 0, 0, 0, 0}, {1317, 1799, 5461, 0, 0, 0, 0}, {4108, 4386, 4864, 4160, 1028, 0, 0}, {5983, 8704, 20560, 0, 0, 0, 0}, {4144, 512, 5440, 0, 0, 0, 0}, {1546, 819, 4369, 0, 0, 0, 0}, {1530, 4626, 20560, 0, 0, 0, 0}, {76, 307, 512, 1024, 4096, 0, 0}, {1340, 1536, 4420, 0, 0, 0, 0}, {522, 4192, 5397, 0, 0, 0, 0}, {4124, 310, 4630, 4176, 1024, 0, 0}, {4680, 10103, 20480, 0, 0, 0, 0}, {5960, 12336, 21760, 0, 0, 0, 0}, {4377, 4128, 4883, 4437, 1024, 0, 0}, {522, 1904, 4112, 0, 0, 0, 0}, {1331, 1536, 5188, 0, 0, 0, 0}, {76, 368, 512, 1024, 4352, 0, 0}, {1525, 5911, 21845, 0, 0, 0, 0}, {4638, 4386, 5140, 0, 0, 0, 0}, {5439, 512, 4160, 0, 0, 0, 0}, {4800, 8704, 1280, 0, 0, 0, 0}, {269, 514, 321, 1285, 4369, 0, 0}, {1290, 4192, 514, 16448, 0, 0, 0}, {1295, 4403, 1536, 17408, 0, 0, 0}, {264, 768, 324, 1280, 4096, 0, 0}, {4762, 12336, 1285, 0, 0, 0, 0}, {1290, 4454, 768, 17408, 0, 0, 0}, {1295, 4144, 1799, 16448, 0, 0, 0}, {520, 8192, 4160, 1280, 0, 0, 0}, {783, 13107, 4437, 1285, 0, 0, 0}, {1290, 5984, 0, 0, 0, 0, 0}, {263, 1092, 0, 0, 0, 0, 0}, {204, 768, 1280, 4352, 0, 0, 0}, {128, 514, 1285, 4112, 0, 0, 0}, {258, 1092, 0, 0, 0, 0, 0}, {1295, 4656, 0, 0, 0, 0, 0}, {544, 4176, 5376, 0, 0, 0, 0}, {831, 1365, 4369, 0, 0, 0, 0}, {1370, 8738, 16930, 0, 0, 0, 0}, {287, 4403, 4883, 339, 1299, 0, 0}, {816, 4420, 5140, 0, 0, 0, 0}, {554, 1365, 4096, 0, 0, 0, 0}, {282, 4144, 4864, 342, 1302, 0, 0}, {1375, 12288, 18295, 0, 0, 0, 0}, {5928, 1360, 0, 0, 0, 0, 0}, {4915, 277, 0, 0, 0, 0, 0}, {1370, 4208, 5888, 16384, 0, 0, 0}, {1375, 4471, 5911, 17476, 0, 0, 0}, {1036, 272, 0, 0, 0, 0, 0}, {4642, 1365, 0, 0, 0, 0, 0}, {1370, 4386, 4626, 17476, 0, 0, 0}, {1375, 4128, 4608, 16384, 0, 0, 0}, {1312, 1792, 5440, 0, 0, 0, 0}, {783, 1638, 4369, 0, 0, 0, 0}, {5960, 8738, 20480, 0, 0, 0, 0}, {4124, 4403, 4883, 4176, 1024, 0, 0}, {5160, 768, 4420, 0, 0, 0, 0}, {4634, 4144, 5397, 0, 0, 0, 0}, {76, 358, 768, 1024, 4096, 0, 0}, {1455, 5911, 20560, 0, 0, 0, 0}, {4680, 13664, 21760, 0, 0, 0, 0}, {4377, 293, 4630, 4437, 1024, 0, 0}, {1322, 1792, 4160, 0, 0, 0, 0}, {783, 4471, 5140, 0, 0, 0, 0}, {76, 288, 768, 1024, 4352, 0, 0}, {1445, 4626, 21845, 0, 0, 0, 0}, {4386, 768, 5188, 0, 0, 0, 0}, {1807, 544, 4112, 0, 0, 0, 0}, {1520, 5888, 21760, 0, 0, 0, 0}, {76, 369, 514, 1028, 4369, 0, 0}, {5418, 514, 4176, 0, 0, 0, 0}, {4620, 4403, 5120, 0, 0, 0, 0}, {4360, 4144, 4864, 4420, 1028, 0, 0}, {5983, 12288, 21845, 0, 0, 0, 0}, {1334, 1542, 5200, 0, 0, 0, 0}, {520, 1911, 4096, 0, 0, 0, 0}, {520, 4208, 5376, 0, 0, 0, 0}, {1337, 1542, 4437, 0, 0, 0, 0}, {4698, 10064, 20560, 0, 0, 0, 0}, {4108, 311, 4612, 4160, 1028, 0, 0}, {1548, 816, 4352, 0, 0, 0, 0}, {4128, 514, 5461, 0, 0, 0, 0}, {76, 306, 514, 1028, 4112, 0, 0}, {1535, 4608, 20480, 0, 0, 0, 0}, {2560, 8704, 17408, 0, 0, 0, 0}, {15, 48, 64, 257, 0, 0, 0}, {128, 514, 17416, 0, 0, 0, 0}, {15, 48, 771, 1280, 4355, 0, 0}, {520, 8192, 64, 1028, 0, 0, 0}, {15, 13056, 4437, 1285, 0, 0, 0}, {192, 1542, 17420, 0, 0, 0, 0}, {15, 112, 519, 1280, 4359, 0, 0}, {520, 8192, 17920, 0, 0, 0, 0}, {15, 48, 771, 4438, 1285, 0, 0}, {8874, 2570, 17408, 0, 0, 0, 0}, {48, 771, 260, 4096, 0, 0, 0}, {1548, 8704, 16896, 0, 0, 0, 0}, {15, 4386, 514, 4434, 1285, 0, 0}, {514, 64, 1028, 0, 0, 0, 0}, {15, 1280, 4352, 0, 0, 0, 0}, {48, 528, 64, 1024, 4112, 0, 0}, {255, 2645, 4369, 0, 0, 0, 0}, {5192, 48, 4626, 20480, 0, 0, 0}, {4428, 4403, 4883, 21760, 0, 0, 0}, {240, 8824, 5140, 0, 0, 0, 0}, {63, 533, 64, 1024, 4373, 0, 0}, {5196, 112, 5654, 20480, 0, 0, 0}, {4424, 4471, 5911, 21760, 0, 0, 0}, {5144, 48, 1616, 20560, 0, 0, 0}, {4377, 4454, 597, 21845, 0, 0, 0}, {538, 48, 64, 1024, 4096, 0, 0}, {6939, 13107, 4420, 0, 0, 0, 0}, {5148, 112, 592, 20560, 0, 0, 0}, {4381, 4386, 1621, 21845, 0, 0, 0}, {7710, 8738, 5188, 0, 0, 0, 0}, {543, 544, 64, 1024, 4352, 0, 0}, {2048, 544, 17408, 0, 0, 0, 0}, {15, 48, 771, 1365, 4369, 0, 0}, {17544, 20002, 8738, 0, 0, 0, 0}, {275, 64, 1296, 4112, 0, 0, 0}, {1644, 9252, 17476, 0, 0, 0, 0}, {15, 4389, 4864, 4437, 5120, 0, 0}, {1036, 1574, 64, 0, 0, 0, 0}, {15, 5159, 1360, 0, 0, 0, 0}, {17544, 20008, 26112, 0, 0, 0, 0}, {278, 64, 1301, 4096, 0, 0, 0}, {554, 8192, 17408, 0, 0, 0, 0}, {15, 48, 771, 4420, 5140, 0, 0}, {1036, 544, 64, 0, 0, 0, 0}, {15, 4386, 1365, 0, 0, 0, 0}, {3084, 1638, 17476, 0, 0, 0, 0}, {15, 1312, 1792, 1360, 4352, 0, 0}, {48, 4608, 5120, 0, 0, 0, 0}, {127, 514, 4369, 0, 0, 0, 0}, {1032, 48, 514, 64, 4112, 0, 0}, {2560, 4403, 21760, 0, 0, 0, 0}, {520, 5172, 5188, 0, 0, 0, 0}, {1546, 1589, 4437, 0, 0, 0, 0}, {5228, 13878, 20560, 0, 0, 0, 0}, {4360, 4407, 4864, 64, 5376, 0, 0}, {1032, 48, 1536, 64, 4096, 0, 0}, {2570, 4454, 21845, 0, 0, 0, 0}, {1546, 48, 5200, 0, 0, 0, 0}, {520, 4915, 4420, 0, 0, 0, 0}, {5180, 8704, 20480, 0, 0, 0, 0}, {4381, 4386, 514, 64, 5397, 0, 0}, {112, 514, 5140, 0, 0, 0, 0}, {63, 1536, 4352, 0, 0, 0, 0}, {512, 64, 1024, 0, 0, 0, 0}, {15, 1285, 4369, 0, 0, 0, 0}, {1546, 8738, 16962, 0, 0, 0, 0}, {15, 4403, 512, 4419, 1280, 0, 0}, {8840, 2560, 17476, 0, 0, 0, 0}, {48, 768, 261, 4112, 0, 0, 0}, {522, 8224, 17990, 0, 0, 0, 0}, {15, 48, 768, 4423, 1280, 0, 0}, {192, 1536, 17480, 0, 0, 0, 0}, {15, 112, 517, 1285, 4374, 0, 0}, {522, 8224, 64, 1024, 0, 0, 0}, {15, 13107, 4420, 1280, 0, 0, 0}, {128, 512, 17484, 0, 0, 0, 0}, {15, 48, 768, 1285, 4370, 0, 0}, {2570, 8738, 17476, 0, 0, 0, 0}, {15, 48, 64, 256, 0, 0, 0}, {7680, 8704, 5200, 0, 0, 0, 0}, {541, 546, 64, 1028, 4369, 0, 0}, {5128, 112, 594, 20480, 0, 0, 0}, {4364, 4403, 1619, 21760, 0, 0, 0}, {536, 48, 64, 1028, 4112, 0, 0}, {6912, 13056, 4437, 0, 0, 0, 0}, {5132, 48, 1622, 20480, 0, 0, 0}, {4360, 4471, 599, 21760, 0, 0, 0}, {5208, 112, 5632, 20560, 0, 0, 0}, {4441, 4454, 5888, 21845, 0, 0, 0}, {240, 8794, 5120, 0, 0, 0, 0}, {63, 535, 64, 1028, 4356, 0, 0}, {5212, 48, 4608, 20560, 0, 0, 0}, {4445, 4386, 4864, 21845, 0, 0, 0}, {48, 530, 64, 1028, 4096, 0, 0}, {255, 2655, 4352, 0, 0, 0, 0}, {3072, 1632, 17408, 0, 0, 0, 0}, {15, 1317, 1799, 1365, 4369, 0, 0}, {1032, 546, 64, 0, 0, 0, 0}, {15, 4403, 1360, 0, 0, 0, 0}, {552, 8224, 17476, 0, 0, 0, 0}, {15, 48, 768, 4437, 5120, 0, 0}, {17612, 20070, 26214, 0, 0, 0, 0}, {279, 64, 1296, 4112, 0, 0, 0}, {1032, 1568, 64, 0, 0, 0, 0}, {15, 5171, 1365, 0, 0, 0, 0}, {1642, 9216, 17408, 0, 0, 0, 0}, {15, 4404, 4883, 4420, 5140, 0, 0}, {17612, 20076, 8704, 0, 0, 0, 0}, {274, 64, 1301, 4096, 0, 0, 0}, {2056, 546, 17476, 0, 0, 0, 0}, {15, 48, 768, 1360, 4352, 0, 0}, {112, 512, 5120, 0, 0, 0, 0}, {63, 1542, 4369, 0, 0, 0, 0}, {5160, 8738, 20560, 0, 0, 0, 0}, {4364, 4403, 512, 64, 5376, 0, 0}, {1548, 48, 5188, 0, 0, 0, 0}, {522, 4896, 4437, 0, 0, 0, 0}, {1036, 48, 1542, 64, 4112, 0, 0}, {2560, 4471, 21760, 0, 0, 0, 0}, {5240, 13824, 20480, 0, 0, 0, 0}, {4377, 4390, 4883, 64, 5397, 0, 0}, {522, 5152, 5200, 0, 0, 0, 0}, {1548, 1587, 4420, 0, 0, 0, 0}, {1036, 48, 512, 64, 4096, 0, 0}, {2570, 4386, 21845, 0, 0, 0, 0}, {48, 4626, 5140, 0, 0, 0, 0}, {127, 512, 4352, 0, 0, 0, 0}, {128, 512, 17408, 0, 0, 0, 0}, {15, 48, 771, 1285, 4369, 0, 0}, {17544, 2570, 8738, 0, 0, 0, 0}, {259, 64, 1280, 4096, 0, 0, 0}, {1548, 9284, 17476, 0, 0, 0, 0}, {15, 4389, 517, 4437, 1285, 0, 0}, {1036, 1542, 64, 0, 0, 0, 0}, {15, 4471, 1280, 0, 0, 0, 0}, {17544, 2560, 26112, 0, 0, 0, 0}, {262, 64, 1285, 4112, 0, 0, 0}, {522, 8224, 17408, 0, 0, 0, 0}, {15, 48, 771, 4420, 1280, 0, 0}, {1036, 512, 64, 0, 0, 0, 0}, {15, 4386, 1285, 0, 0, 0, 0}, {192, 1542, 17476, 0, 0, 0, 0}, {15, 112, 512, 1280, 4352, 0, 0}, {48, 4608, 5200, 0, 0, 0, 0}, {605, 546, 4369, 0, 0, 0, 0}, {1032, 48, 530, 64, 4096, 0, 0}, {2655, 4403, 21760, 0, 0, 0, 0}, {600, 112, 5140, 0, 0, 0, 0}, {63, 5888, 4437, 0, 0, 0, 0}, {5180, 13926, 20480, 0, 0, 0, 0}, {4360, 4407, 535, 64, 5376, 0, 0}, {1032, 48, 1552, 64, 4112, 0, 0}, {2645, 4454, 21845, 0, 0, 0, 0}, {4698, 48, 5120, 0, 0, 0, 0}, {4411, 4883, 4420, 0, 0, 0, 0}, {5228, 8704, 20560, 0, 0, 0, 0}, {4381, 4386, 4864, 64, 5397, 0, 0}, {5172, 5654, 5188, 0, 0, 0, 0}, {1631, 1632, 4352, 0, 0, 0, 0}, {2720, 8704, 17408, 0, 0, 0, 0}, {15, 771, 1028, 273, 0, 0, 0}, {2056, 546, 17416, 0, 0, 0, 0}, {15, 48, 771, 1360, 4355, 0, 0}, {552, 8224, 64, 1028, 0, 0, 0}, {15, 13056, 4437, 5120, 0, 0, 0}, {3084, 1638, 17420, 0, 0, 0, 0}, {15, 1312, 1799, 1360, 4359, 0, 0}, {552, 8224, 17952, 0, 0, 0, 0}, {15, 48, 771, 4438, 5123, 0, 0}, {8874, 10240, 17408, 0, 0, 0, 0}, {48, 771, 276, 4112, 0, 0, 0}, {1644, 8704, 16992, 0, 0, 0, 0}, {15, 4386, 4864, 4434, 5127, 0, 0}, {546, 64, 1028, 0, 0, 0, 0}, {15, 1360, 4352, 0, 0, 0, 0}, {48, 512, 64, 1024, 4096, 0, 0}, {255, 2570, 4369, 0, 0, 0, 0}, {5144, 48, 4626, 20560, 0, 0, 0}, {4428, 4403, 512, 21760, 0, 0, 0}, {2560, 13884, 5188, 0, 0, 0, 0}, {522, 565, 64, 1024, 4373, 0, 0}, {5148, 112, 5654, 20560, 0, 0, 0}, {4424, 4471, 1536, 21760, 0, 0, 0}, {5192, 48, 1536, 20480, 0, 0, 0}, {4377, 4454, 4883, 21845, 0, 0, 0}, {522, 48, 64, 1024, 4112, 0, 0}, {2560, 13107, 4420, 0, 0, 0, 0}, {5196, 112, 512, 20480, 0, 0, 0}, {4381, 4386, 5911, 21845, 0, 0, 0}, {240, 8738, 5140, 0, 0, 0, 0}, {63, 512, 64, 1024, 4352, 0, 0}, {192, 1536, 17408, 0, 0, 0, 0}, {15, 112, 514, 1285, 4369, 0, 0}, {1032, 514, 64, 0, 0, 0, 0}, {15, 4403, 1280, 0, 0, 0, 0}, {520, 8192, 17476, 0, 0, 0, 0}, {15, 48, 768, 4437, 1285, 0, 0}, {17612, 2570, 26214, 0, 0, 0, 0}, {263, 64, 1280, 4096, 0, 0, 0}, {1032, 1536, 64, 0, 0, 0, 0}, {15, 4454, 1285, 0, 0, 0, 0}, {1546, 9312, 17408, 0, 0, 0, 0}, {15, 4404, 519, 4420, 1280, 0, 0}, {17612, 2560, 8704, 0, 0, 0, 0}, {258, 64, 1285, 4112, 0, 0, 0}, {128, 514, 17476, 0, 0, 0, 0}, {15, 48, 768, 1280, 4352, 0, 0}, {5152, 5632, 5200, 0, 0, 0, 0}, {1625, 1638, 4369, 0, 0, 0, 0}, {5240, 8738, 20480, 0, 0, 0, 0}, {4364, 4403, 4883, 64, 5376, 0, 0}, {4680, 48, 5140, 0, 0, 0, 0}, {4394, 4864, 4437, 0, 0, 0, 0}, {1036, 48, 1558, 64, 4096, 0, 0}, {2655, 4471, 21760, 0, 0, 0, 0}, {5160, 13904, 20560, 0, 0, 0, 0}, {4377, 4390, 533, 64, 5397, 0, 0}, {602, 112, 5120, 0, 0, 0, 0}, {63, 5911, 4420, 0, 0, 0, 0}, {1036, 48, 528, 64, 4112, 0, 0}, {2645, 4386, 21845, 0, 0, 0, 0}, {48, 4626, 5188, 0, 0, 0, 0}, {607, 544, 4352, 0, 0, 0, 0}, {544, 64, 1024, 0, 0, 0, 0}, {15, 1365, 4369, 0, 0, 0, 0}, {1642, 8738, 16930, 0, 0, 0, 0}, {15, 4403, 4883, 4419, 5139, 0, 0}, {8840, 10280, 17476, 0, 0, 0, 0}, {48, 768, 277, 4096, 0, 0, 0}, {554, 8192, 18022, 0, 0, 0, 0}, {15, 48, 768, 4423, 5143, 0, 0}, {3072, 1632, 17480, 0, 0, 0, 0}, {15, 1317, 1792, 1365, 4374, 0, 0}, {554, 8192, 64, 1024, 0, 0, 0}, {15, 13107, 4420, 5140, 0, 0, 0}, {2048, 544, 17484, 0, 0, 0, 0}, {15, 48, 768, 1365, 4370, 0, 0}, {2730, 8738, 17476, 0, 0, 0, 0}, {15, 768, 1024, 272, 0, 0, 0}, {240, 8704, 5120, 0, 0, 0, 0}, {63, 514, 64, 1028, 4369, 0, 0}, {5208, 112, 514, 20560, 0, 0, 0}, {4364, 4403, 5888, 21760, 0, 0, 0}, {520, 48, 64, 1028, 4096, 0, 0}, {2570, 13056, 4437, 0, 0, 0, 0}, {5212, 48, 1542, 20560, 0, 0, 0}, {4360, 4471, 4864, 21760, 0, 0, 0}, {5128, 112, 5632, 20480, 0, 0, 0}, {4441, 4454, 1542, 21845, 0, 0, 0}, {2570, 13834, 5200, 0, 0, 0, 0}, {520, 567, 64, 1028, 4356, 0, 0}, {5132, 48, 4608, 20480, 0, 0, 0}, {4445, 4386, 514, 21845, 0, 0, 0}, {48, 514, 64, 1028, 4112, 0, 0}, {255, 2560, 4352, 0, 0, 0, 0}, {3840, 12288, 16384, 0, 0, 0, 0}, {10, 34, 68, 257, 0, 0, 0}, {10, 34, 514, 1280, 4098, 0, 0}, {204, 771, 16396, 0, 0, 0, 0}, {780, 13056, 68, 1028, 0, 0, 0}, {10, 8192, 4176, 1285, 0, 0, 0}, {10, 102, 774, 1280, 4102, 0, 0}, {136, 1799, 16392, 0, 0, 0, 0}, {1800, 12288, 18176, 0, 0, 0, 0}, {10, 4144, 771, 4182, 1285, 0, 0}, {10, 1280, 4096, 0, 0, 0, 0}, {771, 68, 1028, 0, 0, 0, 0}, {780, 13056, 17152, 0, 0, 0, 0}, {10, 34, 514, 4178, 1285, 0, 0}, {34, 514, 260, 4352, 0, 0, 0}, {12528, 3855, 16384, 0, 0, 0, 0}, {160, 3920, 4112, 0, 0, 0, 0}, {34, 785, 68, 1024, 4369, 0, 0}, {5448, 34, 4626, 21760, 0, 0, 0}, {4172, 4128, 4883, 20480, 0, 0, 0}, {40, 788, 68, 1024, 4116, 0, 0}, {170, 12394, 5397, 0, 0, 0, 0}, {5452, 102, 5654, 21760, 0, 0, 0}, {4168, 4192, 5911, 20480, 0, 0, 0}, {4120, 4144, 1872, 20560, 0, 0, 0}, {5401, 102, 853, 21845, 0, 0, 0}, {6682, 12336, 5440, 0, 0, 0, 0}, {795, 819, 68, 1024, 4096, 0, 0}, {4124, 4208, 848, 20560, 0, 0, 0}, {5405, 34, 1877, 21845, 0, 0, 0}, {798, 34, 68, 1024, 4352, 0, 0}, {7967, 8224, 4160, 0, 0, 0, 0}, {3840, 4128, 20480, 0, 0, 0, 0}, {1036, 34, 771, 68, 4369, 0, 0}, {34, 4608, 5376, 0, 0, 0, 0}, {108, 771, 4112, 0, 0, 0, 0}, {4108, 4132, 4864, 68, 5120, 0, 0}, {5503, 9509, 21845, 0, 0, 0, 0}, {780, 5414, 5440, 0, 0, 0, 0}, {1807, 1831, 4176, 0, 0, 0, 0}, {40, 1792, 4096, 0, 0, 0, 0}, {102, 771, 5397, 0, 0, 0, 0}, {5418, 12288, 21760, 0, 0, 0, 0}, {4120, 4144, 771, 68, 5140, 0, 0}, {780, 4896, 4160, 0, 0, 0, 0}, {1807, 34, 5461, 0, 0, 0, 0}, {1036, 34, 1792, 68, 4352, 0, 0}, {3855, 4208, 20560, 0, 0, 0, 0}, {16576, 20272, 12336, 0, 0, 0, 0}, {275, 68, 1297, 4369, 0, 0, 0}, {10, 34, 514, 1360, 4112, 0, 0}, {3072, 819, 16384, 0, 0, 0, 0}, {1032, 1844, 68, 0, 0, 0, 0}, {10, 5429, 1365, 0, 0, 0, 0}, {10, 4150, 4864, 4176, 5376, 0, 0}, {1919, 14135, 16448, 0, 0, 0, 0}, {2056, 1904, 16448, 0, 0, 0, 0}, {10, 1331, 1536, 1365, 4096, 0, 0}, {10, 4144, 1360, 0, 0, 0, 0}, {1032, 819, 68, 0, 0, 0, 0}, {828, 13056, 16384, 0, 0, 0, 0}, {10, 34, 514, 4160, 5397, 0, 0}, {278, 68, 1300, 4352, 0, 0, 0}, {16576, 20287, 28672, 0, 0, 0, 0}, {12480, 3840, 16448, 0, 0, 0, 0}, {34, 512, 261, 4369, 0, 0, 0}, {10, 34, 512, 4162, 1280, 0, 0}, {783, 13107, 17219, 0, 0, 0, 0}, {768, 68, 1024, 0, 0, 0, 0}, {10, 1285, 4112, 0, 0, 0, 0}, {10, 4128, 768, 4166, 1280, 0, 0}, {1807, 12336, 18247, 0, 0, 0, 0}, {136, 1792, 16456, 0, 0, 0, 0}, {10, 102, 773, 1285, 4118, 0, 0}, {10, 8224, 4160, 1280, 0, 0, 0}, {783, 13107, 68, 1024, 0, 0, 0}, {204, 768, 16460, 0, 0, 0, 0}, {10, 34, 512, 1285, 4114, 0, 0}, {10, 34, 68, 256, 0, 0, 0}, {3855, 12336, 16448, 0, 0, 0, 0}, {7936, 8192, 4176, 0, 0, 0, 0}, {797, 34, 68, 1028, 4369, 0, 0}, {5384, 34, 1874, 21760, 0, 0, 0}, {4108, 4192, 851, 20480, 0, 0, 0}, {792, 816, 68, 1028, 4112, 0, 0}, {6656, 12288, 5461, 0, 0, 0, 0}, {5388, 102, 854, 21760, 0, 0, 0}, {4104, 4128, 1879, 20480, 0, 0, 0}, {4184, 4208, 5888, 20560, 0, 0, 0}, {5465, 102, 5632, 21845, 0, 0, 0}, {170, 12378, 5376, 0, 0, 0, 0}, {40, 791, 68, 1028, 4100, 0, 0}, {4188, 4144, 4864, 20560, 0, 0, 0}, {5469, 34, 4608, 21845, 0, 0, 0}, {34, 786, 68, 1028, 4352, 0, 0}, {160, 3935, 4096, 0, 0, 0, 0}, {3840, 4192, 20480, 0, 0, 0, 0}, {1032, 34, 1799, 68, 4369, 0, 0}, {1800, 34, 5440, 0, 0, 0, 0}, {783, 4915, 4176, 0, 0, 0, 0}, {4104, 4128, 768, 68, 5120, 0, 0}, {5439, 12336, 21845, 0, 0, 0, 0}, {102, 768, 5376, 0, 0, 0, 0}, {40, 1799, 4112, 0, 0, 0, 0}, {1800, 1824, 4160, 0, 0, 0, 0}, {783, 5427, 5461, 0, 0, 0, 0}, {5482, 9472, 21760, 0, 0, 0, 0}, {4124, 4148, 4883, 68, 5140, 0, 0}, {108, 768, 4096, 0, 0, 0, 0}, {34, 4626, 5397, 0, 0, 0, 0}, {1032, 34, 768, 68, 4352, 0, 0}, {3855, 4144, 20560, 0, 0, 0, 0}, {16512, 20336, 28784, 0, 0, 0, 0}, {279, 68, 1297, 4369, 0, 0, 0}, {10, 34, 512, 4176, 5376, 0, 0}, {831, 13107, 16448, 0, 0, 0, 0}, {1036, 816, 68, 0, 0, 0, 0}, {10, 4128, 1365, 0, 0, 0, 0}, {10, 1334, 1542, 1360, 4112, 0, 0}, {2048, 1911, 16384, 0, 0, 0, 0}, {1912, 14080, 16384, 0, 0, 0, 0}, {10, 4134, 4883, 4160, 5397, 0, 0}, {10, 5408, 1360, 0, 0, 0, 0}, {1036, 1843, 68, 0, 0, 0, 0}, {3084, 816, 16448, 0, 0, 0, 0}, {10, 34, 512, 1365, 4096, 0, 0}, {274, 68, 1300, 4352, 0, 0, 0}, {16512, 20351, 12288, 0, 0, 0, 0}, {16512, 3840, 12288, 0, 0, 0, 0}, {259, 68, 1285, 4369, 0, 0, 0}, {10, 34, 512, 1280, 4096, 0, 0}, {204, 771, 16448, 0, 0, 0, 0}, {1036, 1792, 68, 0, 0, 0, 0}, {10, 4208, 1285, 0, 0, 0, 0}, {10, 4134, 774, 4160, 1280, 0, 0}, {1807, 14199, 16384, 0, 0, 0, 0}, {136, 1792, 16384, 0, 0, 0, 0}, {10, 102, 771, 1285, 4112, 0, 0}, {10, 4128, 1280, 0, 0, 0, 0}, {1036, 771, 68, 0, 0, 0, 0}, {780, 13056, 16448, 0, 0, 0, 0}, {10, 34, 512, 4176, 1285, 0, 0}, {262, 68, 1280, 4352, 0, 0, 0}, {16512, 3855, 28784, 0, 0, 0, 0}, {3920, 4144, 20560, 0, 0, 0, 0}, {1032, 34, 785, 68, 4369, 0, 0}, {34, 4626, 5440, 0, 0, 0, 0}, {863, 819, 4096, 0, 0, 0, 0}, {4124, 4148, 788, 68, 5140, 0, 0}, {5439, 9557, 21845, 0, 0, 0, 0}, {858, 102, 5376, 0, 0, 0, 0}, {40, 5911, 4160, 0, 0, 0, 0}, {1880, 1904, 4112, 0, 0, 0, 0}, {5427, 5632, 5461, 0, 0, 0, 0}, {5482, 12336, 21760, 0, 0, 0, 0}, {4104, 4128, 4883, 68, 5120, 0, 0}, {4156, 4864, 4176, 0, 0, 0, 0}, {4680, 34, 5397, 0, 0, 0, 0}, {1032, 34, 1814, 68, 4352, 0, 0}, {3935, 4192, 20480, 0, 0, 0, 0}, {160, 3840, 4096, 0, 0, 0, 0}, {34, 771, 68, 1028, 4369, 0, 0}, {5384, 34, 4608, 21760, 0, 0, 0}, {4188, 4144, 771, 20560, 0, 0, 0}, {780, 804, 68, 1028, 4100, 0, 0}, {3855, 9487, 5461, 0, 0, 0, 0}, {5388, 102, 5632, 21760, 0, 0, 0}, {4184, 4208, 1799, 20560, 0, 0, 0}, {4104, 4128, 5888, 20480, 0, 0, 0}, {5465, 102, 771, 21845, 0, 0, 0}, {170, 12288, 5376, 0, 0, 0, 0}, {40, 771, 68, 1028, 4112, 0, 0}, {4108, 4192, 4864, 20480, 0, 0, 0}, {5469, 34, 1799, 21845, 0, 0, 0}, {780, 34, 68, 1028, 4352, 0, 0}, {3855, 8192, 4176, 0, 0, 0, 0}, {4080, 12336, 16448, 0, 0, 0, 0}, {10, 512, 1024, 273, 0, 0, 0}, {10, 34, 512, 1360, 4114, 0, 0}, {3072, 819, 16460, 0, 0, 0, 0}, {828, 13056, 68, 1024, 0, 0, 0}, {10, 8224, 4160, 5397, 0, 0, 0}, {10, 1334, 1536, 1360, 4118, 0, 0}, {2048, 1911, 16456, 0, 0, 0, 0}, {1912, 12336, 18224, 0, 0, 0, 0}, {10, 4128, 4883, 4166, 5395, 0, 0}, {10, 1360, 4112, 0, 0, 0, 0}, {819, 68, 1024, 0, 0, 0, 0}, {828, 13056, 17264, 0, 0, 0, 0}, {10, 34, 512, 4162, 5399, 0, 0}, {34, 512, 276, 4352, 0, 0, 0}, {12480, 16191, 16448, 0, 0, 0, 0}, {16576, 3840, 28672, 0, 0, 0, 0}, {263, 68, 1285, 4369, 0, 0, 0}, {10, 34, 514, 4160, 1280, 0, 0}, {783, 13107, 16384, 0, 0, 0, 0}, {1032, 768, 68, 0, 0, 0, 0}, {10, 4144, 1285, 0, 0, 0, 0}, {10, 102, 768, 1280, 4096, 0, 0}, {136, 1799, 16448, 0, 0, 0, 0}, {1800, 14144, 16448, 0, 0, 0, 0}, {10, 4150, 773, 4176, 1285, 0, 0}, {10, 4192, 1280, 0, 0, 0, 0}, {1032, 1799, 68, 0, 0, 0, 0}, {204, 768, 16384, 0, 0, 0, 0}, {10, 34, 514, 1285, 4112, 0, 0}, {258, 68, 1280, 4352, 0, 0, 0}, {16576, 3855, 12336, 0, 0, 0, 0}, {3920, 4208, 20560, 0, 0, 0, 0}, {1036, 34, 1809, 68, 4369, 0, 0}, {4698, 34, 5376, 0, 0, 0, 0}, {4140, 4883, 4160, 0, 0, 0, 0}, {4120, 4144, 4864, 68, 5140, 0, 0}, {5503, 12288, 21845, 0, 0, 0, 0}, {5414, 5654, 5440, 0, 0, 0, 0}, {1887, 1911, 4096, 0, 0, 0, 0}, {40, 5888, 4176, 0, 0, 0, 0}, {857, 102, 5397, 0, 0, 0, 0}, {5418, 9584, 21760, 0, 0, 0, 0}, {4108, 4132, 791, 68, 5120, 0, 0}, {860, 816, 4112, 0, 0, 0, 0}, {34, 4608, 5461, 0, 0, 0, 0}, {1036, 34, 786, 68, 4352, 0, 0}, {3935, 4128, 20480, 0, 0, 0, 0}, {3840, 8224, 4160, 0, 0, 0, 0}, {783, 34, 68, 1024, 4369, 0, 0}, {5448, 34, 1792, 21760, 0, 0, 0}, {4124, 4208, 4883, 20560, 0, 0, 0}, {40, 768, 68, 1024, 4096, 0, 0}, {170, 12336, 5397, 0, 0, 0, 0}, {5452, 102, 768, 21760, 0, 0, 0}, {4120, 4144, 5911, 20560, 0, 0, 0}, {4168, 4192, 1792, 20480, 0, 0, 0}, {5401, 102, 5654, 21845, 0, 0, 0}, {3840, 9514, 5440, 0, 0, 0, 0}, {783, 807, 68, 1024, 4116, 0, 0}, {4172, 4128, 768, 20480, 0, 0, 0}, {5405, 34, 4626, 21845, 0, 0, 0}, {34, 768, 68, 1024, 4352, 0, 0}, {160, 3855, 4112, 0, 0, 0, 0}, {12528, 16128, 16384, 0, 0, 0, 0}, {34, 514, 277, 4369, 0, 0, 0}, {10, 34, 514, 4178, 5378, 0, 0}, {831, 13107, 17203, 0, 0, 0, 0}, {816, 68, 1028, 0, 0, 0, 0}, {10, 1365, 4096, 0, 0, 0, 0}, {10, 4144, 4864, 4182, 5382, 0, 0}, {1919, 12288, 18295, 0, 0, 0, 0}, {2056, 1904, 16392, 0, 0, 0, 0}, {10, 1331, 1542, 1365, 4102, 0, 0}, {10, 8192, 4176, 5376, 0, 0, 0}, {831, 13107, 68, 1028, 0, 0, 0}, {3084, 816, 16396, 0, 0, 0, 0}, {10, 34, 514, 1365, 4098, 0, 0}, {10, 514, 1028, 272, 0, 0, 0}, {4095, 12288, 16384, 0, 0, 0, 0}, {20480, 0, 0, 0, 0, 0, 0}, {4, 17, 257, 0, 0, 0, 0}, {8, 34, 514, 20482, 0, 0, 0}, {12, 51, 771, 20483, 0, 0, 0}, {4, 4096, 0, 0, 0, 0, 0}, {85, 1285, 0, 0, 0, 0, 0}, {12, 102, 1542, 20486, 0, 0, 0}, {8, 119, 1799, 20487, 0, 0, 0}, {8, 8192, 20480, 0, 0, 0, 0}, {12, 51, 771, 85, 1285, 0, 0}, {170, 2570, 20490, 0, 0, 0, 0}, {51, 771, 4, 4099, 0, 0, 0}, {12, 12288, 20480, 0, 0, 0, 0}, {8, 34, 514, 85, 1285, 0, 0}, {34, 514, 4, 4098, 0, 0, 0}, {255, 3855, 20495, 0, 0, 0, 0}, {64, 4112, 0, 0, 0, 0, 0}, {1280, 17, 0, 0, 0, 0, 0}, {72, 34, 4626, 20498, 0, 0, 0}, {76, 51, 4883, 20499, 0, 0, 0}, {68, 5140, 0, 0, 0, 0, 0}, {21, 4096, 0, 0, 0, 0, 0}, {76, 102, 5654, 20502, 0, 0, 0}, {72, 119, 5911, 20503, 0, 0, 0}, {72, 12336, 20560, 0, 0, 0, 0}, {25, 51, 4864, 85, 1280, 0, 0}, {4122, 4144, 64, 0, 0, 0, 0}, {5147, 51, 68, 0, 0, 0, 0}, {76, 8224, 20560, 0, 0, 0, 0}, {29, 34, 4608, 85, 1280, 0, 0}, {5150, 34, 68, 0, 0, 0, 0}, {4127, 4128, 64, 0, 0, 0, 0}, {128, 8224, 20512, 0, 0, 0, 0}, {12, 771, 1283, 17, 0, 0, 0}, {2560, 34, 20480, 0, 0, 0, 0}, {12, 51, 771, 64, 4112, 0, 0}, {12, 5156, 68, 0, 0, 0, 0}, {1295, 1317, 85, 0, 0, 0, 0}, {12, 38, 1536, 64, 4096, 0, 0}, {3855, 119, 20560, 0, 0, 0, 0}, {136, 10280, 20520, 0, 0, 0, 0}, {51, 771, 21, 4099, 0, 0, 0}, {42, 8192, 20480, 0, 0, 0, 0}, {12, 51, 771, 68, 5140, 0, 0}, {12, 4128, 64, 0, 0, 0, 0}, {1295, 34, 85, 0, 0, 0, 0}, {12, 34, 4608, 68, 5120, 0, 0}, {127, 8224, 20560, 0, 0, 0, 0}, {192, 12336, 20528, 0, 0, 0, 0}, {8, 514, 1282, 17, 0, 0, 0}, {8, 34, 514, 64, 4112, 0, 0}, {3840, 51, 20480, 0, 0, 0, 0}, {8, 5172, 68, 0, 0, 0, 0}, {1290, 1333, 85, 0, 0, 0, 0}, {2570, 102, 20560, 0, 0, 0, 0}, {8, 55, 1792, 64, 4096, 0, 0}, {8, 4144, 64, 0, 0, 0, 0}, {1290, 51, 85, 0, 0, 0, 0}, {106, 12336, 20560, 0, 0, 0, 0}, {8, 51, 4864, 68, 5120, 0, 0}, {204, 15420, 20540, 0, 0, 0, 0}, {34, 514, 21, 4098, 0, 0, 0}, {8, 34, 514, 68, 5140, 0, 0}, {63, 12288, 20480, 0, 0, 0, 0}, {64, 4096, 0, 0, 0, 0, 0}, {1285, 17, 0, 0, 0, 0, 0}, {72, 34, 4608, 20546, 0, 0, 0}, {76, 51, 4864, 20547, 0, 0, 0}, {68, 5120, 0, 0, 0, 0, 0}, {21, 4112, 0, 0, 0, 0, 0}, {76, 102, 5632, 20550, 0, 0, 0}, {72, 119, 5888, 20551, 0, 0, 0}, {72, 12288, 20480, 0, 0, 0, 0}, {25, 51, 4883, 85, 1285, 0, 0}, {4106, 4128, 64, 0, 0, 0, 0}, {5135, 51, 68, 0, 0, 0, 0}, {76, 8192, 20480, 0, 0, 0, 0}, {29, 34, 4626, 85, 1285, 0, 0}, {5130, 34, 68, 0, 0, 0, 0}, {4111, 4144, 64, 0, 0, 0, 0}, {20560, 0, 0, 0, 0, 0, 0}, {4, 17, 256, 0, 0, 0, 0}, {8, 34, 512, 20562, 0, 0, 0}, {12, 51, 768, 20563, 0, 0, 0}, {4, 4112, 0, 0, 0, 0, 0}, {85, 1280, 0, 0, 0, 0, 0}, {12, 102, 1536, 20566, 0, 0, 0}, {8, 119, 1792, 20567, 0, 0, 0}, {8, 8224, 20560, 0, 0, 0, 0}, {12, 51, 768, 85, 1280, 0, 0}, {170, 2560, 20570, 0, 0, 0, 0}, {51, 768, 4, 4115, 0, 0, 0}, {12, 12336, 20560, 0, 0, 0, 0}, {8, 34, 512, 85, 1280, 0, 0}, {34, 512, 4, 4114, 0, 0, 0}, {255, 3840, 20575, 0, 0, 0, 0}, {192, 12288, 20576, 0, 0, 0, 0}, {8, 512, 1287, 17, 0, 0, 0}, {8, 34, 512, 64, 4096, 0, 0}, {3855, 51, 20560, 0, 0, 0, 0}, {8, 5152, 68, 0, 0, 0, 0}, {1295, 1328, 85, 0, 0, 0, 0}, {2560, 102, 20480, 0, 0, 0, 0}, {8, 55, 1799, 64, 4112, 0, 0}, {8, 4128, 64, 0, 0, 0, 0}, {1295, 51, 85, 0, 0, 0, 0}, {106, 12288, 20480, 0, 0, 0, 0}, {8, 51, 4883, 68, 5140, 0, 0}, {204, 15360, 20588, 0, 0, 0, 0}, {34, 512, 21, 4114, 0, 0, 0}, {8, 34, 512, 68, 5120, 0, 0}, {63, 12336, 20560, 0, 0, 0, 0}, {128, 8192, 20592, 0, 0, 0, 0}, {12, 768, 1286, 17, 0, 0, 0}, {2570, 34, 20560, 0, 0, 0, 0}, {12, 51, 768, 64, 4096, 0, 0}, {12, 5168, 68, 0, 0, 0, 0}, {1290, 1312, 85, 0, 0, 0, 0}, {12, 38, 1542, 64, 4112, 0, 0}, {3840, 119, 20480, 0, 0, 0, 0}, {136, 10240, 20600, 0, 0, 0, 0}, {51, 768, 21, 4115, 0, 0, 0}, {42, 8224, 20560, 0, 0, 0, 0}, {12, 51, 768, 68, 5120, 0, 0}, {12, 4144, 64, 0, 0, 0, 0}, {1290, 34, 85, 0, 0, 0, 0}, {12, 34, 4626, 68, 5140, 0, 0}, {127, 8192, 20480, 0, 0, 0, 0}, {128, 8192, 20480, 0, 0, 0, 0}, {12, 771, 1285, 17, 0, 0, 0}, {2570, 34, 20490, 0, 0, 0, 0}, {12, 51, 771, 64, 4099, 0, 0}, {12, 12288, 68, 5120, 0, 0, 0}, {42, 8224, 85, 1285, 0, 0, 0}, {12, 38, 1542, 64, 4102, 0, 0}, {3855, 119, 20495, 0, 0, 0, 0}, {136, 10240, 20480, 0, 0, 0, 0}, {51, 771, 21, 4112, 0, 0, 0}, {42, 8224, 20512, 0, 0, 0, 0}, {12, 51, 771, 68, 5123, 0, 0}, {12, 64, 4096, 0, 0, 0, 0}, {34, 85, 1285, 0, 0, 0, 0}, {12, 34, 4608, 68, 5126, 0, 0}, {127, 8192, 20592, 0, 0, 0, 0}, {192, 12336, 20560, 0, 0, 0, 0}, {8, 512, 1280, 17, 0, 0, 0}, {8, 34, 512, 64, 4114, 0, 0}, {3840, 51, 20575, 0, 0, 0, 0}, {8, 8224, 68, 5140, 0, 0, 0}, {63, 12288, 85, 1280, 0, 0, 0}, {2560, 102, 20570, 0, 0, 0, 0}, {8, 55, 1792, 64, 4119, 0, 0}, {8, 64, 4112, 0, 0, 0, 0}, {51, 85, 1280, 0, 0, 0, 0}, {106, 12336, 20528, 0, 0, 0, 0}, {8, 51, 4883, 68, 5139, 0, 0}, {204, 15420, 20560, 0, 0, 0, 0}, {34, 512, 21, 4096, 0, 0, 0}, {8, 34, 512, 68, 5142, 0, 0}, {63, 12288, 20576, 0, 0, 0, 0}, {20640, 0, 0, 0, 0, 0, 0}, {259, 4, 17, 0, 0, 0, 0}, {8, 34, 512, 20480, 0, 0, 0}, {12, 51, 771, 20560, 0, 0, 0}, {4128, 4, 0, 0, 0, 0, 0}, {1295, 85, 0, 0, 0, 0, 0}, {12, 102, 1536, 20480, 0, 0, 0}, {8, 119, 1799, 20560, 0, 0, 0}, {8, 8224, 20512, 0, 0, 0, 0}, {12, 51, 771, 85, 1283, 0, 0}, {170, 2560, 20480, 0, 0, 0, 0}, {51, 771, 4, 4112, 0, 0, 0}, {12, 12288, 20576, 0, 0, 0, 0}, {8, 34, 512, 85, 1287, 0, 0}, {34, 512, 4, 4096, 0, 0, 0}, {255, 3855, 20560, 0, 0, 0, 0}, {4144, 64, 0, 0, 0, 0, 0}, {1290, 17, 0, 0, 0, 0, 0}, {72, 34, 4626, 20560, 0, 0, 0}, {76, 51, 4864, 20480, 0, 0, 0}, {5180, 68, 0, 0, 0, 0, 0}, {4128, 21, 0, 0, 0, 0, 0}, {76, 102, 5654, 20560, 0, 0, 0}, {72, 119, 5888, 20480, 0, 0, 0}, {72, 12336, 20528, 0, 0, 0, 0}, {25, 51, 4883, 85, 1299, 0, 0}, {42, 64, 4112, 0, 0, 0, 0}, {51, 68, 5120, 0, 0, 0, 0}, {76, 8192, 20592, 0, 0, 0, 0}, {29, 34, 4608, 85, 1303, 0, 0}, {34, 68, 5140, 0, 0, 0, 0}, {63, 64, 4096, 0, 0, 0, 0}, {192, 12288, 20480, 0, 0, 0, 0}, {8, 514, 1285, 17, 0, 0, 0}, {8, 34, 514, 64, 4098, 0, 0}, {3855, 51, 20495, 0, 0, 0, 0}, {8, 8192, 68, 5120, 0, 0, 0}, {63, 12336, 85, 1285, 0, 0, 0}, {2570, 102, 20490, 0, 0, 0, 0}, {8, 55, 1799, 64, 4103, 0, 0}, {8, 64, 4096, 0, 0, 0, 0}, {51, 85, 1285, 0, 0, 0, 0}, {106, 12288, 20576, 0, 0, 0, 0}, {8, 51, 4864, 68, 5127, 0, 0}, {204, 15360, 20480, 0, 0, 0, 0}, {34, 514, 21, 4112, 0, 0, 0}, {8, 34, 514, 68, 5122, 0, 0}, {63, 12336, 20528, 0, 0, 0, 0}, {128, 8224, 20560, 0, 0, 0, 0}, {12, 768, 1280, 17, 0, 0, 0}, {2560, 34, 20570, 0, 0, 0, 0}, {12, 51, 768, 64, 4115, 0, 0}, {12, 12336, 68, 5140, 0, 0, 0}, {42, 8192, 85, 1280, 0, 0, 0}, {12, 38, 1536, 64, 4118, 0, 0}, {3840, 119, 20575, 0, 0, 0, 0}, {136, 10280, 20560, 0, 0, 0, 0}, {51, 768, 21, 4096, 0, 0, 0}, {42, 8192, 20592, 0, 0, 0, 0}, {12, 51, 768, 68, 5143, 0, 0}, {12, 64, 4112, 0, 0, 0, 0}, {34, 85, 1280, 0, 0, 0, 0}, {12, 34, 4626, 68, 5138, 0, 0}, {127, 8224, 20512, 0, 0, 0, 0}, {4128, 64, 0, 0, 0, 0, 0}, {1295, 17, 0, 0, 0, 0, 0}, {72, 34, 4608, 20480, 0, 0, 0}, {76, 51, 4883, 20560, 0, 0, 0}, {5160, 68, 0, 0, 0, 0, 0}, {4144, 21, 0, 0, 0, 0, 0}, {76, 102, 5632, 20480, 0, 0, 0}, {72, 119, 5911, 20560, 0, 0, 0}, {72, 12288, 20576, 0, 0, 0, 0}, {25, 51, 4864, 85, 1302, 0, 0}, {42, 64, 4096, 0, 0, 0, 0}, {51, 68, 5140, 0, 0, 0, 0}, {76, 8224, 20512, 0, 0, 0, 0}, {29, 34, 4626, 85, 1298, 0, 0}, {34, 68, 5120, 0, 0, 0, 0}, {63, 64, 4112, 0, 0, 0, 0}, {20720, 0, 0, 0, 0, 0, 0}, {258, 4, 17, 0, 0, 0, 0}, {8, 34, 514, 20560, 0, 0, 0}, {12, 51, 768, 20480, 0, 0, 0}, {4144, 4, 0, 0, 0, 0, 0}, {1290, 85, 0, 0, 0, 0, 0}, {12, 102, 1542, 20560, 0, 0, 0}, {8, 119, 1792, 20480, 0, 0, 0}, {8, 8192, 20592, 0, 0, 0, 0}, {12, 51, 768, 85, 1286, 0, 0}, {170, 2570, 20560, 0, 0, 0, 0}, {51, 768, 4, 4096, 0, 0, 0}, {12, 12336, 20528, 0, 0, 0, 0}, {8, 34, 514, 85, 1282, 0, 0}, {34, 514, 4, 4112, 0, 0, 0}, {255, 3840, 20480, 0, 0, 0, 0}, {1024, 4352, 0, 0, 0, 0, 0}, {80, 257, 0, 0, 0, 0, 0}, {1032, 4386, 514, 20738, 0, 0, 0}, {1036, 4403, 771, 20739, 0, 0, 0}, {4420, 1028, 0, 0, 0, 0, 0}, {261, 4096, 0, 0, 0, 0, 0}, {1036, 4454, 1542, 20742, 0, 0, 0}, {1032, 4471, 1799, 20743, 0, 0, 0}, {1032, 13056, 21760, 0, 0, 0, 0}, {265, 4144, 771, 80, 1285, 0, 0}, {4362, 4864, 1024, 0, 0, 0, 0}, {4427, 771, 1028, 0, 0, 0, 0}, {1036, 8704, 21760, 0, 0, 0, 0}, {269, 4128, 514, 80, 1285, 0, 0}, {4430, 514, 1028, 0, 0, 0, 0}, {4367, 4608, 1024, 0, 0, 0, 0}, {1280, 272, 0, 0, 0, 0, 0}, {1092, 4369, 0, 0, 0, 0, 0}, {1096, 4386, 4626, 20754, 0, 0, 0}, {1100, 4403, 4883, 20755, 0, 0, 0}, {276, 4096, 0, 0, 0, 0, 0}, {4437, 5397, 0, 0, 0, 0, 0}, {1100, 4454, 5654, 20758, 0, 0, 0}, {1096, 4471, 5911, 20759, 0, 0, 0}, {280, 4144, 4864, 80, 1280, 0, 0}, {1100, 13107, 21845, 0, 0, 0, 0}, {5402, 816, 1088, 0, 0, 0, 0}, {4379, 4915, 1092, 0, 0, 0, 0}, {284, 4128, 4608, 80, 1280, 0, 0}, {1096, 8738, 21845, 0, 0, 0, 0}, {4382, 4642, 1092, 0, 0, 0, 0}, {5407, 544, 1088, 0, 0, 0, 0}, {1056, 1536, 4352, 0, 0, 0, 0}, {1140, 771, 4369, 0, 0, 0, 0}, {3072, 4386, 16384, 0, 0, 0, 0}, {1295, 291, 771, 80, 4112, 0, 0}, {1548, 1060, 4420, 0, 0, 0, 0}, {783, 5413, 4437, 0, 0, 0, 0}, {3084, 4454, 16448, 0, 0, 0, 0}, {1295, 295, 1536, 80, 4096, 0, 0}, {4392, 4864, 5376, 0, 0, 0, 0}, {4457, 771, 5397, 0, 0, 0, 0}, {5418, 13056, 17408, 0, 0, 0, 0}, {4379, 4144, 771, 80, 5140, 0, 0}, {1548, 544, 5440, 0, 0, 0, 0}, {783, 4642, 5461, 0, 0, 0, 0}, {5482, 8738, 17476, 0, 0, 0, 0}, {4367, 4128, 4608, 80, 5120, 0, 0}, {1072, 1792, 4352, 0, 0, 0, 0}, {1124, 514, 4369, 0, 0, 0, 0}, {1290, 306, 514, 80, 4112, 0, 0}, {2048, 4403, 16384, 0, 0, 0, 0}, {1800, 1076, 4420, 0, 0, 0, 0}, {522, 5429, 4437, 0, 0, 0, 0}, {1290, 310, 1792, 80, 4096, 0, 0}, {2056, 4471, 16448, 0, 0, 0, 0}, {1800, 816, 5440, 0, 0, 0, 0}, {522, 4915, 5461, 0, 0, 0, 0}, {4362, 4144, 4864, 80, 5120, 0, 0}, {5503, 13107, 17476, 0, 0, 0, 0}, {4412, 4608, 5376, 0, 0, 0, 0}, {4477, 514, 5397, 0, 0, 0, 0}, {4382, 4128, 514, 80, 5140, 0, 0}, {5439, 8704, 17408, 0, 0, 0, 0}, {1088, 4352, 0, 0, 0, 0, 0}, {1285, 273, 0, 0, 0, 0, 0}, {1096, 4386, 4864, 20802, 0, 0, 0}, {1100, 4403, 4608, 20803, 0, 0, 0}, {4420, 5376, 0, 0, 0, 0, 0}, {277, 4112, 0, 0, 0, 0, 0}, {1100, 4454, 5888, 20806, 0, 0, 0}, {1096, 4471, 5632, 20807, 0, 0, 0}, {1096, 13056, 21760, 0, 0, 0, 0}, {281, 4128, 4883, 80, 1285, 0, 0}, {4362, 4896, 1088, 0, 0, 0, 0}, {5391, 819, 1092, 0, 0, 0, 0}, {1100, 8704, 21760, 0, 0, 0, 0}, {285, 4144, 4626, 80, 1285, 0, 0}, {5386, 546, 1092, 0, 0, 0, 0}, {4367, 4656, 1088, 0, 0, 0, 0}, {80, 256, 0, 0, 0, 0, 0}, {1028, 4369, 0, 0, 0, 0, 0}, {1032, 4386, 768, 20818, 0, 0, 0}, {1036, 4403, 512, 20819, 0, 0, 0}, {260, 4112, 0, 0, 0, 0, 0}, {4437, 1024, 0, 0, 0, 0, 0}, {1036, 4454, 1792, 20822, 0, 0, 0}, {1032, 4471, 1536, 20823, 0, 0, 0}, {264, 4128, 768, 80, 1280, 0, 0}, {1036, 13107, 21845, 0, 0, 0, 0}, {4442, 768, 1024, 0, 0, 0, 0}, {4379, 4883, 1028, 0, 0, 0, 0}, {268, 4144, 512, 80, 1280, 0, 0}, {1032, 8738, 21845, 0, 0, 0, 0}, {4382, 4626, 1028, 0, 0, 0, 0}, {4447, 512, 1024, 0, 0, 0, 0}, {1120, 512, 4352, 0, 0, 0, 0}, {1076, 1799, 4369, 0, 0, 0, 0}, {2056, 4386, 16448, 0, 0, 0, 0}, {1295, 307, 512, 80, 4096, 0, 0}, {520, 5408, 4420, 0, 0, 0, 0}, {1807, 1072, 4437, 0, 0, 0, 0}, {2048, 4454, 16384, 0, 0, 0, 0}, {1295, 311, 1799, 80, 4112, 0, 0}, {520, 4896, 5440, 0, 0, 0, 0}, {1807, 819, 5461, 0, 0, 0, 0}, {5482, 13056, 17408, 0, 0, 0, 0}, {4379, 4128, 4883, 80, 5140, 0, 0}, {4460, 512, 5376, 0, 0, 0, 0}, {4397, 4626, 5397, 0, 0, 0, 0}, {5418, 8738, 17476, 0, 0, 0, 0}, {4367, 4144, 512, 80, 5120, 0, 0}, {1136, 768, 4352, 0, 0, 0, 0}, {1060, 1542, 4369, 0, 0, 0, 0}, {1290, 290, 768, 80, 4096, 0, 0}, {3084, 4403, 16448, 0, 0, 0, 0}, {780, 5424, 4420, 0, 0, 0, 0}, {1546, 1056, 4437, 0, 0, 0, 0}, {1290, 294, 1542, 80, 4112, 0, 0}, {3072, 4471, 16384, 0, 0, 0, 0}, {4472, 768, 5376, 0, 0, 0, 0}, {4409, 4883, 5397, 0, 0, 0, 0}, {4362, 4128, 768, 80, 5120, 0, 0}, {5439, 13107, 17476, 0, 0, 0, 0}, {780, 4656, 5440, 0, 0, 0, 0}, {1546, 546, 5461, 0, 0, 0, 0}, {4382, 4144, 4626, 80, 5140, 0, 0}, {5503, 8704, 17408, 0, 0, 0, 0}, {1152, 3072, 4352, 0, 0, 0, 0}, {289, 771, 80, 1285, 4369, 0, 0}, {5386, 4386, 4864, 16384, 0, 0, 0}, {5455, 4403, 771, 16448, 0, 0, 0}, {3084, 9740, 4420, 0, 0, 0, 0}, {783, 293, 80, 1285, 4357, 0, 0}, {5450, 4454, 1542, 16448, 0, 0, 0}, {5391, 4471, 5632, 16384, 0, 0, 0}, {4488, 13056, 5376, 0, 0, 0, 0}, {297, 771, 80, 1285, 4112, 0, 0}, {4362, 1056, 5888, 17408, 0, 0, 0}, {4427, 1140, 771, 17476, 0, 0, 0}, {3084, 8704, 5440, 0, 0, 0, 0}, {783, 546, 80, 1285, 4096, 0, 0}, {4430, 1060, 1542, 17476, 0, 0, 0}, {4367, 1136, 4608, 17408, 0, 0, 0}, {304, 512, 80, 1280, 4352, 0, 0}, {1220, 2056, 4369, 0, 0, 0, 0}, {5402, 4386, 4626, 16448, 0, 0, 0}, {5471, 4403, 512, 16384, 0, 0, 0}, {520, 308, 80, 1280, 4372, 0, 0}, {2048, 14143, 4437, 0, 0, 0, 0}, {5466, 4454, 1792, 16384, 0, 0, 0}, {5407, 4471, 5911, 16448, 0, 0, 0}, {520, 816, 80, 1280, 4112, 0, 0}, {2048, 13107, 5461, 0, 0, 0, 0}, {4442, 1072, 1792, 17408, 0, 0, 0}, {4379, 1124, 4883, 17476, 0, 0, 0}, {316, 512, 80, 1280, 4096, 0, 0}, {4573, 8738, 5397, 0, 0, 0, 0}, {4382, 1076, 5654, 17476, 0, 0, 0}, {4447, 1120, 512, 17408, 0, 0, 0}, {160, 512, 1024, 4352, 0, 0, 0}, {240, 771, 1028, 4369, 0, 0, 0}, {1032, 4386, 0, 0, 0, 0, 0}, {259, 80, 0, 0, 0, 0, 0}, {520, 8224, 4420, 1028, 0, 0, 0}, {783, 12288, 4437, 1024, 0, 0, 0}, {1036, 4454, 0, 0, 0, 0, 0}, {263, 80, 0, 0, 0, 0, 0}, {1032, 5408, 1536, 21760, 0, 0, 0}, {1036, 5477, 771, 21845, 0, 0, 0}, {4522, 13056, 1024, 0, 0, 0, 0}, {267, 771, 80, 1028, 4112, 0, 0}, {1036, 5472, 512, 21760, 0, 0, 0}, {1032, 5413, 1799, 21845, 0, 0, 0}, {4590, 8738, 1028, 0, 0, 0, 0}, {271, 512, 80, 1024, 4096, 0, 0}, {3840, 816, 1088, 4352, 0, 0, 0}, {2570, 546, 1092, 4369, 0, 0, 0}, {274, 80, 0, 0, 0, 0, 0}, {1100, 4403, 0, 0, 0, 0, 0}, {828, 12288, 4420, 5376, 0, 0, 0}, {554, 8224, 4437, 5397, 0, 0, 0}, {278, 80, 0, 0, 0, 0, 0}, {1096, 4471, 0, 0, 0, 0, 0}, {1096, 5424, 5632, 21760, 0, 0, 0}, {1100, 5493, 4883, 21845, 0, 0, 0}, {282, 816, 80, 1040, 4112, 0, 0}, {6451, 13107, 1092, 0, 0, 0, 0}, {1100, 5488, 4608, 21760, 0, 0, 0}, {1096, 5429, 5911, 21845, 0, 0, 0}, {286, 546, 80, 1044, 4096, 0, 0}, {7487, 8704, 1088, 0, 0, 0, 0}, {1216, 2048, 4352, 0, 0, 0, 0}, {305, 514, 80, 1285, 4369, 0, 0}, {5450, 4386, 514, 16448, 0, 0, 0}, {5391, 4403, 4608, 16384, 0, 0, 0}, {2056, 14088, 4420, 0, 0, 0, 0}, {522, 309, 80, 1285, 4357, 0, 0}, {5386, 4454, 5888, 16384, 0, 0, 0}, {5455, 4471, 1799, 16448, 0, 0, 0}, {2056, 13056, 5440, 0, 0, 0, 0}, {522, 819, 80, 1285, 4096, 0, 0}, {4362, 1120, 4864, 17408, 0, 0, 0}, {4427, 1076, 1799, 17476, 0, 0, 0}, {4556, 8704, 5376, 0, 0, 0, 0}, {317, 514, 80, 1285, 4112, 0, 0}, {4430, 1124, 514, 17476, 0, 0, 0}, {4367, 1072, 5632, 17408, 0, 0, 0}, {288, 768, 80, 1280, 4352, 0, 0}, {1156, 3084, 4369, 0, 0, 0, 0}, {5466, 4386, 768, 16384, 0, 0, 0}, {5407, 4403, 4883, 16448, 0, 0, 0}, {780, 292, 80, 1280, 4372, 0, 0}, {3072, 9770, 4437, 0, 0, 0, 0}, {5402, 4454, 5654, 16448, 0, 0, 0}, {5471, 4471, 1536, 16384, 0, 0, 0}, {296, 768, 80, 1280, 4096, 0, 0}, {4505, 13107, 5397, 0, 0, 0, 0}, {4442, 1136, 768, 17408, 0, 0, 0}, {4379, 1060, 5911, 17476, 0, 0, 0}, {780, 544, 80, 1280, 4112, 0, 0}, {3072, 8738, 5461, 0, 0, 0, 0}, {4382, 1140, 4626, 17476, 0, 0, 0}, {4447, 1056, 1536, 17408, 0, 0, 0}, {2560, 544, 1088, 4352, 0, 0, 0}, {3855, 819, 1092, 4369, 0, 0, 0}, {1096, 4386, 0, 0, 0, 0, 0}, {275, 80, 0, 0, 0, 0, 0}, {552, 8192, 4420, 5376, 0, 0, 0}, {831, 12336, 4437, 5397, 0, 0, 0}, {1100, 4454, 0, 0, 0, 0, 0}, {279, 80, 0, 0, 0, 0, 0}, {1096, 5472, 4864, 21760, 0, 0, 0}, {1100, 5413, 5654, 21845, 0, 0, 0}, {6442, 13056, 1088, 0, 0, 0, 0}, {283, 819, 80, 1044, 4096, 0, 0}, {1100, 5408, 5888, 21760, 0, 0, 0}, {1096, 5477, 4626, 21845, 0, 0, 0}, {7458, 8738, 1092, 0, 0, 0, 0}, {287, 544, 80, 1040, 4112, 0, 0}, {240, 768, 1024, 4352, 0, 0, 0}, {160, 514, 1028, 4369, 0, 0, 0}, {258, 80, 0, 0, 0, 0, 0}, {1036, 4403, 0, 0, 0, 0, 0}, {780, 12336, 4420, 1028, 0, 0, 0}, {522, 8192, 4437, 1024, 0, 0, 0}, {262, 80, 0, 0, 0, 0, 0}, {1032, 4471, 0, 0, 0, 0, 0}, {1032, 5488, 768, 21760, 0, 0, 0}, {1036, 5429, 1542, 21845, 0, 0, 0}, {266, 768, 80, 1024, 4096, 0, 0}, {4539, 13107, 1028, 0, 0, 0, 0}, {1036, 5424, 1792, 21760, 0, 0, 0}, {1032, 5493, 514, 21845, 0, 0, 0}, {270, 514, 80, 1028, 4112, 0, 0}, {4607, 8704, 1024, 0, 0, 0, 0}, {2048, 8704, 20992, 0, 0, 0, 0}, {12, 51, 83, 257, 0, 0, 0}, {160, 514, 20480, 0, 0, 0, 0}, {12, 51, 771, 1024, 4352, 0, 0}, {12, 4676, 1028, 0, 0, 0, 0}, {95, 597, 1285, 0, 0, 0, 0}, {12, 96, 518, 1024, 4096, 0, 0}, {255, 1799, 21760, 0, 0, 0, 0}, {8840, 2056, 21000, 0, 0, 0, 0}, {51, 771, 261, 4099, 0, 0, 0}, {522, 8192, 20480, 0, 0, 0, 0}, {12, 51, 771, 4420, 1028, 0, 0}, {12, 4608, 1024, 0, 0, 0, 0}, {95, 514, 1285, 0, 0, 0, 0}, {12, 4128, 514, 4160, 1028, 0, 0}, {1807, 8704, 21760, 0, 0, 0, 0}, {96, 576, 4112, 0, 0, 0, 0}, {51, 1860, 4369, 0, 0, 0, 0}, {192, 4626, 16384, 0, 0, 0, 0}, {95, 51, 531, 1280, 4352, 0, 0}, {108, 580, 5140, 0, 0, 0, 0}, {63, 4693, 5397, 0, 0, 0, 0}, {204, 5654, 17408, 0, 0, 0, 0}, {95, 96, 535, 1280, 4096, 0, 0}, {4632, 4144, 4176, 0, 0, 0, 0}, {5657, 51, 4437, 0, 0, 0, 0}, {4698, 12336, 16448, 0, 0, 0, 0}, {4379, 51, 4864, 4420, 1280, 0, 0}, {5660, 544, 5200, 0, 0, 0, 0}, {4637, 4642, 5461, 0, 0, 0, 0}, {5722, 8738, 17476, 0, 0, 0, 0}, {4127, 4128, 4608, 4160, 1280, 0, 0}, {2560, 544, 20480, 0, 0, 0, 0}, {12, 51, 771, 1092, 4369, 0, 0}, {2184, 8738, 21026, 0, 0, 0, 0}, {12, 771, 1283, 272, 0, 0, 0}, {12, 1060, 1536, 1092, 4096, 0, 0}, {3855, 1904, 21845, 0, 0, 0, 0}, {12, 5670, 1088, 0, 0, 0, 0}, {1295, 1831, 1360, 0, 0, 0, 0}, {552, 8192, 20480, 0, 0, 0, 0}, {12, 51, 771, 4437, 5397, 0, 0}, {8874, 10794, 21034, 0, 0, 0, 0}, {51, 771, 276, 4099, 0, 0, 0}, {12, 4128, 4608, 4160, 5120, 0, 0}, {1912, 8738, 21845, 0, 0, 0, 0}, {12, 4642, 1092, 0, 0, 0, 0}, {1295, 544, 1360, 0, 0, 0, 0}, {2048, 4656, 16384, 0, 0, 0, 0}, {1290, 51, 514, 1365, 4369, 0, 0}, {96, 514, 4112, 0, 0, 0, 0}, {51, 1792, 4352, 0, 0, 0, 0}, {2056, 5744, 17476, 0, 0, 0, 0}, {1290, 1333, 1792, 1365, 4096, 0, 0}, {522, 5686, 5200, 0, 0, 0, 0}, {1800, 1847, 5440, 0, 0, 0, 0}, {4728, 12336, 16448, 0, 0, 0, 0}, {4362, 51, 4864, 4437, 5120, 0, 0}, {522, 4144, 4176, 0, 0, 0, 0}, {1800, 51, 4420, 0, 0, 0, 0}, {5692, 8704, 17408, 0, 0, 0, 0}, {4127, 4128, 514, 4160, 5397, 0, 0}, {108, 514, 5140, 0, 0, 0, 0}, {63, 4608, 5376, 0, 0, 0, 0}, {192, 4608, 16448, 0, 0, 0, 0}, {95, 51, 529, 1285, 4369, 0, 0}, {96, 578, 4096, 0, 0, 0, 0}, {51, 1859, 4352, 0, 0, 0, 0}, {204, 5632, 17476, 0, 0, 0, 0}, {95, 96, 533, 1285, 4112, 0, 0}, {108, 582, 5120, 0, 0, 0, 0}, {63, 4679, 5376, 0, 0, 0, 0}, {4680, 12288, 16384, 0, 0, 0, 0}, {4362, 51, 4883, 4437, 1285, 0, 0}, {4618, 4128, 4160, 0, 0, 0, 0}, {5647, 51, 4420, 0, 0, 0, 0}, {5708, 8704, 17408, 0, 0, 0, 0}, {4111, 4144, 4626, 4176, 1285, 0, 0}, {5642, 546, 5188, 0, 0, 0, 0}, {4623, 4656, 5440, 0, 0, 0, 0}, {160, 512, 20560, 0, 0, 0, 0}, {12, 51, 768, 1028, 4369, 0, 0}, {2056, 8738, 21074, 0, 0, 0, 0}, {12, 51, 83, 256, 0, 0, 0}, {12, 96, 516, 1028, 4112, 0, 0}, {255, 1792, 21845, 0, 0, 0, 0}, {12, 4694, 1024, 0, 0, 0, 0}, {95, 599, 1280, 0, 0, 0, 0}, {520, 8224, 20560, 0, 0, 0, 0}, {12, 51, 768, 4437, 1024, 0, 0}, {8874, 2048, 21082, 0, 0, 0, 0}, {51, 768, 260, 4115, 0, 0, 0}, {12, 4144, 512, 4176, 1024, 0, 0}, {1800, 8738, 21845, 0, 0, 0, 0}, {12, 4626, 1028, 0, 0, 0, 0}, {95, 512, 1280, 0, 0, 0, 0}, {96, 512, 4096, 0, 0, 0, 0}, {51, 1799, 4369, 0, 0, 0, 0}, {2056, 4642, 16448, 0, 0, 0, 0}, {1295, 51, 512, 1360, 4352, 0, 0}, {520, 5664, 5188, 0, 0, 0, 0}, {1807, 1840, 5461, 0, 0, 0, 0}, {2048, 5734, 17408, 0, 0, 0, 0}, {1295, 1328, 1799, 1360, 4112, 0, 0}, {520, 4128, 4160, 0, 0, 0, 0}, {1807, 51, 4437, 0, 0, 0, 0}, {4714, 12288, 16384, 0, 0, 0, 0}, {4379, 51, 4883, 4420, 5140, 0, 0}, {108, 512, 5120, 0, 0, 0, 0}, {63, 4626, 5397, 0, 0, 0, 0}, {5674, 8738, 17476, 0, 0, 0, 0}, {4111, 4144, 512, 4176, 5376, 0, 0}, {2176, 8704, 21104, 0, 0, 0, 0}, {12, 768, 1286, 273, 0, 0, 0}, {2570, 546, 20560, 0, 0, 0, 0}, {12, 51, 768, 1088, 4352, 0, 0}, {12, 5680, 1092, 0, 0, 0, 0}, {1290, 1824, 1365, 0, 0, 0, 0}, {12, 1056, 1542, 1088, 4112, 0, 0}, {3840, 1911, 21760, 0, 0, 0, 0}, {8840, 10752, 21112, 0, 0, 0, 0}, {51, 768, 277, 4115, 0, 0, 0}, {554, 8224, 20560, 0, 0, 0, 0}, {12, 51, 768, 4420, 5376, 0, 0}, {12, 4656, 1088, 0, 0, 0, 0}, {1290, 546, 1365, 0, 0, 0, 0}, {12, 4144, 4626, 4176, 5140, 0, 0}, {1919, 8704, 21760, 0, 0, 0, 0}, {21120, 23040, 8704, 0, 0, 0, 0}, {274, 321, 1285, 4369, 0, 0, 0}, {2570, 546, 20480, 0, 0, 0, 0}, {12, 51, 771, 1088, 4352, 0, 0}, {12, 5632, 1092, 0, 0, 0, 0}, {95, 629, 1285, 0, 0, 0, 0}, {12, 4128, 4614, 4160, 5120, 0, 0}, {1912, 8823, 21760, 0, 0, 0, 0}, {21128, 23040, 28672, 0, 0, 0, 0}, {278, 325, 1285, 4112, 0, 0, 0}, {554, 8224, 20480, 0, 0, 0, 0}, {12, 51, 771, 4420, 5376, 0, 0}, {12, 4608, 1088, 0, 0, 0, 0}, {95, 546, 1285, 0, 0, 0, 0}, {12, 1060, 1542, 1092, 4096, 0, 0}, {3855, 1904, 21760, 0, 0, 0, 0}, {4144, 512, 4176, 0, 0, 0, 0}, {1800, 51, 4369, 0, 0, 0, 0}, {192, 4626, 16448, 0, 0, 0, 0}, {95, 51, 512, 1280, 4352, 0, 0}, {520, 612, 5140, 0, 0, 0, 0}, {63, 1792, 5461, 0, 0, 0, 0}, {5722, 8806, 17408, 0, 0, 0, 0}, {4127, 4128, 4631, 4160, 1280, 0, 0}, {520, 96, 4112, 0, 0, 0, 0}, {51, 1792, 4437, 0, 0, 0, 0}, {4698, 12336, 16384, 0, 0, 0, 0}, {4379, 51, 4883, 4420, 1280, 0, 0}, {5180, 512, 5200, 0, 0, 0, 0}, {4637, 4642, 5397, 0, 0, 0, 0}, {204, 5654, 17476, 0, 0, 0, 0}, {95, 96, 512, 1280, 4096, 0, 0}, {160, 512, 20480, 0, 0, 0, 0}, {12, 51, 771, 1028, 4369, 0, 0}, {21154, 2056, 8738, 0, 0, 0, 0}, {259, 336, 1024, 4352, 0, 0, 0}, {12, 4128, 516, 4160, 1028, 0, 0}, {1807, 8789, 21845, 0, 0, 0, 0}, {12, 4710, 1024, 0, 0, 0, 0}, {1295, 1799, 1360, 0, 0, 0, 0}, {520, 8224, 20480, 0, 0, 0, 0}, {12, 51, 771, 4437, 1024, 0, 0}, {21162, 2048, 28672, 0, 0, 0, 0}, {263, 340, 1028, 4112, 0, 0, 0}, {12, 96, 512, 1024, 4096, 0, 0}, {255, 1799, 21845, 0, 0, 0, 0}, {12, 4642, 1028, 0, 0, 0, 0}, {1295, 512, 1360, 0, 0, 0, 0}, {2112, 4656, 16448, 0, 0, 0, 0}, {1290, 51, 529, 1365, 4369, 0, 0}, {4144, 4626, 4176, 0, 0, 0, 0}, {1868, 51, 4352, 0, 0, 0, 0}, {5692, 8772, 17476, 0, 0, 0, 0}, {4127, 4128, 533, 4160, 5397, 0, 0}, {5180, 5654, 5200, 0, 0, 0, 0}, {4680, 4727, 5376, 0, 0, 0, 0}, {4728, 12336, 16384, 0, 0, 0, 0}, {4362, 51, 4883, 4437, 5120, 0, 0}, {586, 96, 4112, 0, 0, 0, 0}, {51, 5632, 4420, 0, 0, 0, 0}, {2124, 5744, 17408, 0, 0, 0, 0}, {1290, 1333, 1815, 1365, 4096, 0, 0}, {590, 546, 5140, 0, 0, 0, 0}, {63, 4608, 5440, 0, 0, 0, 0}, {192, 4608, 16384, 0, 0, 0, 0}, {95, 51, 514, 1285, 4369, 0, 0}, {4128, 514, 4160, 0, 0, 0, 0}, {1807, 51, 4352, 0, 0, 0, 0}, {5708, 8772, 17476, 0, 0, 0, 0}, {4111, 4144, 4613, 4176, 1285, 0, 0}, {522, 614, 5120, 0, 0, 0, 0}, {63, 1799, 5440, 0, 0, 0, 0}, {4680, 12288, 16448, 0, 0, 0, 0}, {4362, 51, 4864, 4437, 1285, 0, 0}, {522, 96, 4096, 0, 0, 0, 0}, {51, 1799, 4420, 0, 0, 0, 0}, {204, 5632, 17408, 0, 0, 0, 0}, {95, 96, 514, 1285, 4112, 0, 0}, {5160, 514, 5188, 0, 0, 0, 0}, {4623, 4656, 5376, 0, 0, 0, 0}, {2560, 544, 20560, 0, 0, 0, 0}, {12, 51, 768, 1092, 4369, 0, 0}, {21202, 23130, 8738, 0, 0, 0, 0}, {275, 320, 1280, 4352, 0, 0, 0}, {12, 4144, 4628, 4176, 5140, 0, 0}, {1919, 8789, 21845, 0, 0, 0, 0}, {12, 5654, 1088, 0, 0, 0, 0}, {95, 631, 1280, 0, 0, 0, 0}, {552, 8192, 20560, 0, 0, 0, 0}, {12, 51, 768, 4437, 5397, 0, 0}, {21210, 23130, 28784, 0, 0, 0, 0}, {279, 324, 1280, 4096, 0, 0, 0}, {12, 1056, 1536, 1088, 4112, 0, 0}, {3840, 1911, 21845, 0, 0, 0, 0}, {12, 4626, 1092, 0, 0, 0, 0}, {95, 544, 1280, 0, 0, 0, 0}, {4128, 4608, 4160, 0, 0, 0, 0}, {1867, 51, 4369, 0, 0, 0, 0}, {2120, 4642, 16384, 0, 0, 0, 0}, {1295, 51, 531, 1360, 4352, 0, 0}, {5160, 5632, 5188, 0, 0, 0, 0}, {4698, 4709, 5397, 0, 0, 0, 0}, {5674, 8806, 17408, 0, 0, 0, 0}, {4111, 4144, 535, 4176, 5376, 0, 0}, {584, 96, 4096, 0, 0, 0, 0}, {51, 5654, 4437, 0, 0, 0, 0}, {4714, 12288, 16448, 0, 0, 0, 0}, {4379, 51, 4864, 4420, 5140, 0, 0}, {588, 544, 5120, 0, 0, 0, 0}, {63, 4626, 5461, 0, 0, 0, 0}, {2116, 5734, 17476, 0, 0, 0, 0}, {1295, 1328, 1808, 1360, 4112, 0, 0}, {21232, 2048, 8704, 0, 0, 0, 0}, {258, 337, 1028, 4369, 0, 0, 0}, {160, 514, 20560, 0, 0, 0, 0}, {12, 51, 768, 1024, 4352, 0, 0}, {12, 4724, 1028, 0, 0, 0, 0}, {1290, 1792, 1365, 0, 0, 0, 0}, {12, 4144, 518, 4176, 1024, 0, 0}, {1800, 8823, 21760, 0, 0, 0, 0}, {21240, 2056, 28784, 0, 0, 0, 0}, {262, 341, 1024, 4096, 0, 0, 0}, {522, 8192, 20560, 0, 0, 0, 0}, {12, 51, 768, 4420, 1028, 0, 0}, {12, 4656, 1024, 0, 0, 0, 0}, {1290, 514, 1365, 0, 0, 0, 0}, {12, 96, 514, 1028, 4112, 0, 0}, {255, 1792, 21760, 0, 0, 0, 0}, {3072, 13056, 21248, 0, 0, 0, 0}, {8, 34, 82, 257, 0, 0, 0}, {8, 34, 514, 1024, 4352, 0, 0}, {240, 771, 20480, 0, 0, 0, 0}, {8, 4932, 1028, 0, 0, 0, 0}, {90, 853, 1285, 0, 0, 0, 0}, {170, 1542, 21760, 0, 0, 0, 0}, {8, 112, 775, 1024, 4096, 0, 0}, {8, 4864, 1024, 0, 0, 0, 0}, {90, 771, 1285, 0, 0, 0, 0}, {1546, 13056, 21760, 0, 0, 0, 0}, {8, 4144, 771, 4160, 1028, 0, 0}, {13260, 3084, 21260, 0, 0, 0, 0}, {34, 514, 261, 4098, 0, 0, 0}, {8, 34, 514, 4420, 1028, 0, 0}, {783, 12288, 20480, 0, 0, 0, 0}, {112, 832, 4112, 0, 0, 0, 0}, {34, 1604, 4369, 0, 0, 0, 0}, {90, 34, 786, 1280, 4352, 0, 0}, {128, 4883, 16384, 0, 0, 0, 0}, {120, 836, 5140, 0, 0, 0, 0}, {42, 4949, 5397, 0, 0, 0, 0}, {90, 112, 790, 1280, 4096, 0, 0}, {136, 5911, 17408, 0, 0, 0, 0}, {5912, 816, 5200, 0, 0, 0, 0}, {4889, 4915, 5461, 0, 0, 0, 0}, {4122, 4144, 4864, 4160, 1280, 0, 0}, {5983, 13107, 17476, 0, 0, 0, 0}, {4892, 4128, 4176, 0, 0, 0, 0}, {5917, 34, 4437, 0, 0, 0, 0}, {4382, 34, 4608, 4420, 1280, 0, 0}, {4959, 8224, 16448, 0, 0, 0, 0}, {3072, 4896, 16384, 0, 0, 0, 0}, {1295, 34, 771, 1365, 4369, 0, 0}, {34, 1536, 4352, 0, 0, 0, 0}, {112, 771, 4112, 0, 0, 0, 0}, {3084, 5984, 17476, 0, 0, 0, 0}, {1295, 1317, 1536, 1365, 4096, 0, 0}, {1548, 1574, 5440, 0, 0, 0, 0}, {783, 5927, 5200, 0, 0, 0, 0}, {5928, 13056, 17408, 0, 0, 0, 0}, {4122, 4144, 771, 4160, 5397, 0, 0}, {42, 4864, 5376, 0, 0, 0, 0}, {120, 771, 5140, 0, 0, 0, 0}, {4972, 8224, 16448, 0, 0, 0, 0}, {4367, 34, 4608, 4437, 5120, 0, 0}, {1548, 34, 4420, 0, 0, 0, 0}, {783, 4128, 4176, 0, 0, 0, 0}, {3840, 816, 20480, 0, 0, 0, 0}, {8, 34, 514, 1092, 4369, 0, 0}, {8, 514, 1282, 272, 0, 0, 0}, {3276, 13107, 21299, 0, 0, 0, 0}, {8, 1076, 1792, 1092, 4096, 0, 0}, {2570, 1632, 21845, 0, 0, 0, 0}, {1290, 1590, 1360, 0, 0, 0, 0}, {8, 5943, 1088, 0, 0, 0, 0}, {8, 4144, 4864, 4160, 5120, 0, 0}, {1644, 13107, 21845, 0, 0, 0, 0}, {1290, 816, 1360, 0, 0, 0, 0}, {8, 4915, 1092, 0, 0, 0, 0}, {828, 12288, 20480, 0, 0, 0, 0}, {8, 34, 514, 4437, 5397, 0, 0}, {34, 514, 276, 4098, 0, 0, 0}, {13311, 16191, 21311, 0, 0, 0, 0}, {128, 4864, 16448, 0, 0, 0, 0}, {90, 34, 785, 1285, 4369, 0, 0}, {34, 1602, 4352, 0, 0, 0, 0}, {112, 835, 4096, 0, 0, 0, 0}, {136, 5888, 17476, 0, 0, 0, 0}, {90, 112, 789, 1285, 4112, 0, 0}, {42, 4934, 5376, 0, 0, 0, 0}, {120, 839, 5120, 0, 0, 0, 0}, {5960, 13056, 17408, 0, 0, 0, 0}, {4106, 4128, 4883, 4176, 1285, 0, 0}, {4874, 4896, 5440, 0, 0, 0, 0}, {5903, 819, 5188, 0, 0, 0, 0}, {4940, 8192, 16384, 0, 0, 0, 0}, {4367, 34, 4626, 4437, 1285, 0, 0}, {5898, 34, 4420, 0, 0, 0, 0}, {4879, 4144, 4160, 0, 0, 0, 0}, {240, 768, 20560, 0, 0, 0, 0}, {8, 34, 512, 1028, 4369, 0, 0}, {8, 34, 82, 256, 0, 0, 0}, {3084, 13107, 21331, 0, 0, 0, 0}, {8, 112, 772, 1028, 4112, 0, 0}, {170, 1536, 21845, 0, 0, 0, 0}, {90, 854, 1280, 0, 0, 0, 0}, {8, 4951, 1024, 0, 0, 0, 0}, {8, 4128, 768, 4176, 1024, 0, 0}, {1548, 13107, 21845, 0, 0, 0, 0}, {90, 768, 1280, 0, 0, 0, 0}, {8, 4883, 1028, 0, 0, 0, 0}, {780, 12336, 20560, 0, 0, 0, 0}, {8, 34, 512, 4437, 1024, 0, 0}, {34, 512, 260, 4114, 0, 0, 0}, {13311, 3072, 21343, 0, 0, 0, 0}, {3264, 13056, 21344, 0, 0, 0, 0}, {8, 512, 1287, 273, 0, 0, 0}, {8, 34, 512, 1088, 4352, 0, 0}, {3855, 819, 20560, 0, 0, 0, 0}, {8, 5920, 1092, 0, 0, 0, 0}, {1295, 1584, 1365, 0, 0, 0, 0}, {2560, 1638, 21760, 0, 0, 0, 0}, {8, 1072, 1799, 1088, 4112, 0, 0}, {8, 4896, 1088, 0, 0, 0, 0}, {1295, 819, 1365, 0, 0, 0, 0}, {1642, 13056, 21760, 0, 0, 0, 0}, {8, 4128, 4883, 4176, 5140, 0, 0}, {13260, 16128, 21356, 0, 0, 0, 0}, {34, 512, 277, 4114, 0, 0, 0}, {8, 34, 512, 4420, 5376, 0, 0}, {831, 12336, 20560, 0, 0, 0, 0}, {112, 768, 4096, 0, 0, 0, 0}, {34, 1542, 4369, 0, 0, 0, 0}, {1290, 34, 768, 1360, 4352, 0, 0}, {3084, 4915, 16448, 0, 0, 0, 0}, {780, 5936, 5188, 0, 0, 0, 0}, {1546, 1568, 5461, 0, 0, 0, 0}, {1290, 1312, 1542, 1360, 4112, 0, 0}, {3072, 6007, 17408, 0, 0, 0, 0}, {120, 768, 5120, 0, 0, 0, 0}, {42, 4883, 5397, 0, 0, 0, 0}, {4106, 4128, 768, 4176, 5376, 0, 0}, {5951, 13107, 17476, 0, 0, 0, 0}, {780, 4144, 4160, 0, 0, 0, 0}, {1546, 34, 4437, 0, 0, 0, 0}, {4382, 34, 4626, 4420, 5140, 0, 0}, {4991, 8192, 16384, 0, 0, 0, 0}, {128, 4864, 16384, 0, 0, 0, 0}, {90, 34, 771, 1285, 4369, 0, 0}, {1546, 34, 4352, 0, 0, 0, 0}, {4144, 771, 4160, 0, 0, 0, 0}, {5960, 13124, 17476, 0, 0, 0, 0}, {4106, 4128, 4869, 4176, 1285, 0, 0}, {42, 1542, 5440, 0, 0, 0, 0}, {783, 887, 5120, 0, 0, 0, 0}, {136, 5888, 17408, 0, 0, 0, 0}, {90, 112, 771, 1285, 4112, 0, 0}, {4874, 4896, 5376, 0, 0, 0, 0}, {5180, 771, 5188, 0, 0, 0, 0}, {4940, 8192, 16448, 0, 0, 0, 0}, {4367, 34, 4608, 4437, 1285, 0, 0}, {34, 1542, 4420, 0, 0, 0, 0}, {783, 112, 4096, 0, 0, 0, 0}, {3840, 816, 20560, 0, 0, 0, 0}, {8, 34, 512, 1092, 4369, 0, 0}, {274, 320, 1280, 4352, 0, 0, 0}, {21395, 24415, 13107, 0, 0, 0, 0}, {8, 4128, 4884, 4176, 5140, 0, 0}, {1642, 13141, 21845, 0, 0, 0, 0}, {90, 870, 1280, 0, 0, 0, 0}, {8, 5911, 1088, 0, 0, 0, 0}, {8, 1072, 1792, 1088, 4112, 0, 0}, {2560, 1638, 21845, 0, 0, 0, 0}, {90, 816, 1280, 0, 0, 0, 0}, {8, 4883, 1092, 0, 0, 0, 0}, {828, 12288, 20560, 0, 0, 0, 0}, {8, 34, 512, 4437, 5397, 0, 0}, {278, 324, 1280, 4096, 0, 0, 0}, {21407, 24415, 24672, 0, 0, 0, 0}, {21408, 3072, 13056, 0, 0, 0, 0}, {259, 337, 1028, 4369, 0, 0, 0}, {8, 34, 512, 1024, 4352, 0, 0}, {240, 771, 20560, 0, 0, 0, 0}, {8, 4964, 1028, 0, 0, 0, 0}, {1295, 1536, 1365, 0, 0, 0, 0}, {1548, 13158, 21760, 0, 0, 0, 0}, {8, 4128, 775, 4176, 1024, 0, 0}, {8, 4896, 1024, 0, 0, 0, 0}, {1295, 771, 1365, 0, 0, 0, 0}, {170, 1536, 21760, 0, 0, 0, 0}, {8, 112, 771, 1028, 4112, 0, 0}, {21420, 3084, 24672, 0, 0, 0, 0}, {263, 341, 1024, 4096, 0, 0, 0}, {8, 34, 512, 4420, 1028, 0, 0}, {783, 12288, 20560, 0, 0, 0, 0}, {4144, 4864, 4160, 0, 0, 0, 0}, {1614, 34, 4369, 0, 0, 0, 0}, {1290, 34, 786, 1360, 4352, 0, 0}, {3148, 4915, 16384, 0, 0, 0, 0}, {5180, 5888, 5188, 0, 0, 0, 0}, {4959, 4981, 5397, 0, 0, 0, 0}, {4106, 4128, 790, 4176, 5376, 0, 0}, {5951, 13175, 17408, 0, 0, 0, 0}, {840, 816, 5120, 0, 0, 0, 0}, {42, 4883, 5461, 0, 0, 0, 0}, {1290, 1312, 1552, 1360, 4112, 0, 0}, {3140, 6007, 17476, 0, 0, 0, 0}, {844, 112, 4096, 0, 0, 0, 0}, {34, 5911, 4437, 0, 0, 0, 0}, {4382, 34, 4608, 4420, 5140, 0, 0}, {4991, 8192, 16448, 0, 0, 0, 0}, {21440, 24320, 13056, 0, 0, 0, 0}, {275, 321, 1285, 4369, 0, 0, 0}, {8, 34, 514, 1088, 4352, 0, 0}, {3855, 819, 20480, 0, 0, 0, 0}, {8, 5888, 1092, 0, 0, 0, 0}, {90, 869, 1285, 0, 0, 0, 0}, {1644, 13158, 21760, 0, 0, 0, 0}, {8, 4144, 4871, 4160, 5120, 0, 0}, {8, 4864, 1088, 0, 0, 0, 0}, {90, 819, 1285, 0, 0, 0, 0}, {2570, 1632, 21760, 0, 0, 0, 0}, {8, 1076, 1799, 1092, 4096, 0, 0}, {21452, 24320, 24576, 0, 0, 0, 0}, {279, 325, 1285, 4112, 0, 0, 0}, {8, 34, 514, 4420, 5376, 0, 0}, {831, 12336, 20480, 0, 0, 0, 0}, {4128, 768, 4176, 0, 0, 0, 0}, {1548, 34, 4369, 0, 0, 0, 0}, {90, 34, 768, 1280, 4352, 0, 0}, {128, 4883, 16448, 0, 0, 0, 0}, {780, 884, 5140, 0, 0, 0, 0}, {42, 1536, 5461, 0, 0, 0, 0}, {4122, 4144, 4886, 4160, 1280, 0, 0}, {5983, 13175, 17408, 0, 0, 0, 0}, {5160, 768, 5200, 0, 0, 0, 0}, {4889, 4915, 5397, 0, 0, 0, 0}, {90, 112, 768, 1280, 4096, 0, 0}, {136, 5911, 17476, 0, 0, 0, 0}, {780, 112, 4112, 0, 0, 0, 0}, {34, 1536, 4437, 0, 0, 0, 0}, {4382, 34, 4626, 4420, 1280, 0, 0}, {4959, 8224, 16384, 0, 0, 0, 0}, {3136, 4896, 16448, 0, 0, 0, 0}, {1295, 34, 785, 1365, 4369, 0, 0}, {1608, 34, 4352, 0, 0, 0, 0}, {4128, 4883, 4176, 0, 0, 0, 0}, {5928, 13124, 17476, 0, 0, 0, 0}, {4122, 4144, 789, 4160, 5397, 0, 0}, {4940, 4966, 5376, 0, 0, 0, 0}, {5160, 5911, 5200, 0, 0, 0, 0}, {3144, 5984, 17408, 0, 0, 0, 0}, {1295, 1317, 1558, 1365, 4096, 0, 0}, {42, 4864, 5440, 0, 0, 0, 0}, {843, 819, 5140, 0, 0, 0, 0}, {4972, 8224, 16384, 0, 0, 0, 0}, {4367, 34, 4626, 4437, 5120, 0, 0}, {34, 5888, 4420, 0, 0, 0, 0}, {847, 112, 4112, 0, 0, 0, 0}, {240, 768, 20480, 0, 0, 0, 0}, {8, 34, 514, 1028, 4369, 0, 0}, {258, 336, 1024, 4352, 0, 0, 0}, {21491, 3084, 13107, 0, 0, 0, 0}, {8, 4144, 772, 4160, 1028, 0, 0}, {1546, 13141, 21845, 0, 0, 0, 0}, {1290, 1542, 1360, 0, 0, 0, 0}, {8, 4983, 1024, 0, 0, 0, 0}, {8, 112, 768, 1024, 4096, 0, 0}, {170, 1542, 21845, 0, 0, 0, 0}, {1290, 768, 1360, 0, 0, 0, 0}, {8, 4915, 1028, 0, 0, 0, 0}, {780, 12336, 20480, 0, 0, 0, 0}, {8, 34, 514, 4437, 1024, 0, 0}, {262, 340, 1028, 4112, 0, 0, 0}, {21503, 3072, 24576, 0, 0, 0, 0}, {1024, 4096, 0, 0, 0, 0, 0}, {85, 257, 0, 0, 0, 0, 0}, {1032, 4128, 514, 21506, 0, 0, 0}, {1036, 4144, 771, 21507, 0, 0, 0}, {4160, 1028, 0, 0, 0, 0, 0}, {261, 4352, 0, 0, 0, 0, 0}, {1036, 4192, 1542, 21510, 0, 0, 0}, {1032, 4208, 1799, 21511, 0, 0, 0}, {1032, 12288, 20480, 0, 0, 0, 0}, {265, 4403, 771, 85, 1285, 0, 0}, {4106, 4608, 1024, 0, 0, 0, 0}, {4175, 771, 1028, 0, 0, 0, 0}, {1036, 8192, 20480, 0, 0, 0, 0}, {269, 4386, 514, 85, 1285, 0, 0}, {4170, 514, 1028, 0, 0, 0, 0}, {4111, 4864, 1024, 0, 0, 0, 0}, {1088, 4112, 0, 0, 0, 0, 0}, {1280, 273, 0, 0, 0, 0, 0}, {1096, 4144, 4626, 21522, 0, 0, 0}, {1100, 4128, 4883, 21523, 0, 0, 0}, {4176, 5140, 0, 0, 0, 0, 0}, {277, 4352, 0, 0, 0, 0, 0}, {1100, 4208, 5654, 21526, 0, 0, 0}, {1096, 4192, 5911, 21527, 0, 0, 0}, {1096, 12336, 20560, 0, 0, 0, 0}, {281, 4403, 4608, 85, 1280, 0, 0}, {4122, 4656, 1088, 0, 0, 0, 0}, {5147, 819, 1092, 0, 0, 0, 0}, {1100, 8224, 20560, 0, 0, 0, 0}, {285, 4386, 4864, 85, 1280, 0, 0}, {5150, 546, 1092, 0, 0, 0, 0}, {4127, 4896, 1088, 0, 0, 0, 0}, {3072, 4128, 17408, 0, 0, 0, 0}, {1295, 289, 771, 85, 4369, 0, 0}, {1058, 1536, 4096, 0, 0, 0, 0}, {1139, 771, 4112, 0, 0, 0, 0}, {3084, 4192, 17476, 0, 0, 0, 0}, {1295, 293, 1536, 85, 4352, 0, 0}, {1548, 1062, 4160, 0, 0, 0, 0}, {783, 5159, 4176, 0, 0, 0, 0}, {5160, 12288, 16384, 0, 0, 0, 0}, {4122, 4403, 771, 85, 5397, 0, 0}, {4138, 4608, 5120, 0, 0, 0, 0}, {4207, 771, 5140, 0, 0, 0, 0}, {5228, 8224, 16448, 0, 0, 0, 0}, {4111, 4386, 4864, 85, 5376, 0, 0}, {1548, 546, 5188, 0, 0, 0, 0}, {783, 4896, 5200, 0, 0, 0, 0}, {2048, 4144, 17408, 0, 0, 0, 0}, {1290, 305, 514, 85, 4369, 0, 0}, {1122, 514, 4112, 0, 0, 0, 0}, {1075, 1792, 4096, 0, 0, 0, 0}, {2056, 4208, 17476, 0, 0, 0, 0}, {1290, 309, 1792, 85, 4352, 0, 0}, {522, 5174, 4176, 0, 0, 0, 0}, {1800, 1079, 4160, 0, 0, 0, 0}, {5240, 12336, 16448, 0, 0, 0, 0}, {4106, 4403, 4608, 85, 5376, 0, 0}, {522, 4656, 5200, 0, 0, 0, 0}, {1800, 819, 5188, 0, 0, 0, 0}, {5180, 8192, 16384, 0, 0, 0, 0}, {4127, 4386, 514, 85, 5397, 0, 0}, {4218, 514, 5140, 0, 0, 0, 0}, {4159, 4864, 5120, 0, 0, 0, 0}, {4160, 5120, 0, 0, 0, 0, 0}, {276, 4369, 0, 0, 0, 0, 0}, {1096, 4192, 5632, 21570, 0, 0, 0}, {1100, 4208, 5888, 21571, 0, 0, 0}, {1092, 4096, 0, 0, 0, 0, 0}, {1285, 272, 0, 0, 0, 0, 0}, {1100, 4128, 4608, 21574, 0, 0, 0}, {1096, 4144, 4864, 21575, 0, 0, 0}, {1096, 8192, 20480, 0, 0, 0, 0}, {284, 4403, 4883, 85, 1285, 0, 0}, {5130, 544, 1088, 0, 0, 0, 0}, {4111, 4915, 1092, 0, 0, 0, 0}, {1100, 12288, 20480, 0, 0, 0, 0}, {280, 4386, 4626, 85, 1285, 0, 0}, {4106, 4642, 1092, 0, 0, 0, 0}, {5135, 816, 1088, 0, 0, 0, 0}, {4176, 1024, 0, 0, 0, 0, 0}, {260, 4369, 0, 0, 0, 0, 0}, {1032, 4208, 1536, 21586, 0, 0, 0}, {1036, 4192, 1792, 21587, 0, 0, 0}, {1028, 4112, 0, 0, 0, 0, 0}, {85, 256, 0, 0, 0, 0, 0}, {1036, 4144, 512, 21590, 0, 0, 0}, {1032, 4128, 768, 21591, 0, 0, 0}, {1032, 8224, 20560, 0, 0, 0, 0}, {268, 4403, 512, 85, 1280, 0, 0}, {4186, 512, 1024, 0, 0, 0, 0}, {4127, 4883, 1028, 0, 0, 0, 0}, {1036, 12336, 20560, 0, 0, 0, 0}, {264, 4386, 768, 85, 1280, 0, 0}, {4122, 4626, 1028, 0, 0, 0, 0}, {4191, 768, 1024, 0, 0, 0, 0}, {2048, 4192, 17408, 0, 0, 0, 0}, {1295, 308, 1799, 85, 4369, 0, 0}, {520, 5154, 4160, 0, 0, 0, 0}, {1807, 1075, 4176, 0, 0, 0, 0}, {2056, 4128, 17476, 0, 0, 0, 0}, {1295, 304, 512, 85, 4352, 0, 0}, {1126, 512, 4096, 0, 0, 0, 0}, {1079, 1799, 4112, 0, 0, 0, 0}, {5160, 8224, 16448, 0, 0, 0, 0}, {4111, 4403, 512, 85, 5376, 0, 0}, {4202, 512, 5120, 0, 0, 0, 0}, {4143, 4883, 5140, 0, 0, 0, 0}, {5228, 12288, 16384, 0, 0, 0, 0}, {4122, 4386, 4626, 85, 5397, 0, 0}, {520, 4642, 5188, 0, 0, 0, 0}, {1807, 816, 5200, 0, 0, 0, 0}, {3072, 4208, 17408, 0, 0, 0, 0}, {1290, 292, 1542, 85, 4369, 0, 0}, {1546, 1058, 4176, 0, 0, 0, 0}, {780, 5171, 4160, 0, 0, 0, 0}, {3084, 4144, 17476, 0, 0, 0, 0}, {1290, 288, 768, 85, 4352, 0, 0}, {1062, 1542, 4112, 0, 0, 0, 0}, {1143, 768, 4096, 0, 0, 0, 0}, {5240, 8192, 16384, 0, 0, 0, 0}, {4127, 4403, 4883, 85, 5397, 0, 0}, {1546, 544, 5200, 0, 0, 0, 0}, {780, 4915, 5188, 0, 0, 0, 0}, {5180, 12336, 16448, 0, 0, 0, 0}, {4106, 4386, 768, 85, 5376, 0, 0}, {4154, 4626, 5140, 0, 0, 0, 0}, {4223, 768, 5120, 0, 0, 0, 0}, {4224, 12288, 5120, 0, 0, 0, 0}, {299, 771, 85, 1285, 4369, 0, 0}, {4106, 1058, 5632, 16384, 0, 0, 0}, {4175, 1139, 771, 16448, 0, 0, 0}, {3084, 8192, 5188, 0, 0, 0, 0}, {783, 544, 85, 1285, 4352, 0, 0}, {4170, 1062, 1542, 16448, 0, 0, 0}, {4111, 1143, 4864, 16384, 0, 0, 0}, {1160, 3072, 4096, 0, 0, 0, 0}, {291, 771, 85, 1285, 4112, 0, 0}, {5130, 4128, 4608, 17408, 0, 0, 0}, {5195, 4144, 771, 17476, 0, 0, 0}, {3084, 9228, 4160, 0, 0, 0, 0}, {783, 295, 85, 1285, 4101, 0, 0}, {5198, 4192, 1542, 17476, 0, 0, 0}, {5135, 4208, 5888, 17408, 0, 0, 0}, {2048, 12336, 5200, 0, 0, 0, 0}, {520, 819, 85, 1280, 4369, 0, 0}, {4122, 1122, 4626, 16448, 0, 0, 0}, {4191, 1075, 1792, 16384, 0, 0, 0}, {4304, 8224, 5140, 0, 0, 0, 0}, {319, 512, 85, 1280, 4352, 0, 0}, {4186, 1126, 512, 16384, 0, 0, 0}, {4127, 1079, 5911, 16448, 0, 0, 0}, {1224, 2056, 4112, 0, 0, 0, 0}, {307, 512, 85, 1280, 4096, 0, 0}, {5210, 4144, 512, 17408, 0, 0, 0}, {5147, 4128, 4883, 17476, 0, 0, 0}, {2048, 13372, 4176, 0, 0, 0, 0}, {520, 311, 85, 1280, 4117, 0, 0}, {5150, 4208, 5654, 17476, 0, 0, 0}, {5215, 4192, 1792, 17408, 0, 0, 0}, {4256, 12288, 1024, 0, 0, 0, 0}, {267, 771, 85, 1028, 4369, 0, 0}, {1032, 5154, 1536, 20480, 0, 0, 0}, {1036, 5219, 771, 20560, 0, 0, 0}, {4320, 8224, 1028, 0, 0, 0, 0}, {271, 512, 85, 1024, 4352, 0, 0}, {1036, 5222, 512, 20480, 0, 0, 0}, {1032, 5159, 1799, 20560, 0, 0, 0}, {1032, 4128, 0, 0, 0, 0, 0}, {259, 85, 0, 0, 0, 0, 0}, {170, 512, 1024, 4096, 0, 0, 0}, {255, 771, 1028, 4112, 0, 0, 0}, {1036, 4192, 0, 0, 0, 0, 0}, {263, 85, 0, 0, 0, 0, 0}, {520, 8738, 4160, 1028, 0, 0, 0}, {783, 13056, 4176, 1024, 0, 0, 0}, {6192, 12336, 1088, 0, 0, 0, 0}, {283, 819, 85, 1041, 4369, 0, 0}, {1096, 5234, 4626, 20560, 0, 0, 0}, {1100, 5171, 5888, 20480, 0, 0, 0}, {7228, 8192, 1092, 0, 0, 0, 0}, {287, 544, 85, 1045, 4352, 0, 0}, {1100, 5174, 5654, 20560, 0, 0, 0}, {1096, 5239, 4864, 20480, 0, 0, 0}, {1096, 4144, 0, 0, 0, 0, 0}, {275, 85, 0, 0, 0, 0, 0}, {2570, 544, 1088, 4112, 0, 0, 0}, {3840, 819, 1092, 4096, 0, 0, 0}, {1100, 4208, 0, 0, 0, 0, 0}, {279, 85, 0, 0, 0, 0, 0}, {552, 8738, 4176, 5140, 0, 0, 0}, {831, 13056, 4160, 5120, 0, 0, 0}, {4288, 8192, 5120, 0, 0, 0, 0}, {318, 514, 85, 1285, 4369, 0, 0}, {4170, 1122, 514, 16448, 0, 0, 0}, {4111, 1075, 5888, 16384, 0, 0, 0}, {2056, 12288, 5188, 0, 0, 0, 0}, {522, 816, 85, 1285, 4352, 0, 0}, {4106, 1126, 4608, 16384, 0, 0, 0}, {4175, 1079, 1799, 16448, 0, 0, 0}, {2056, 13320, 4160, 0, 0, 0, 0}, {522, 310, 85, 1285, 4101, 0, 0}, {5130, 4192, 5632, 17408, 0, 0, 0}, {5195, 4208, 1799, 17476, 0, 0, 0}, {1228, 2048, 4096, 0, 0, 0, 0}, {306, 514, 85, 1285, 4112, 0, 0}, {5198, 4128, 514, 17476, 0, 0, 0}, {5135, 4144, 4864, 17408, 0, 0, 0}, {3072, 8224, 5200, 0, 0, 0, 0}, {780, 546, 85, 1280, 4369, 0, 0}, {4186, 1058, 1536, 16384, 0, 0, 0}, {4127, 1139, 4883, 16448, 0, 0, 0}, {4240, 12336, 5140, 0, 0, 0, 0}, {298, 768, 85, 1280, 4352, 0, 0}, {4122, 1062, 5654, 16448, 0, 0, 0}, {4191, 1143, 768, 16384, 0, 0, 0}, {3072, 9256, 4176, 0, 0, 0, 0}, {780, 294, 85, 1280, 4117, 0, 0}, {5210, 4208, 1536, 17408, 0, 0, 0}, {5147, 4192, 5911, 17476, 0, 0, 0}, {1164, 3084, 4112, 0, 0, 0, 0}, {290, 768, 85, 1280, 4096, 0, 0}, {5150, 4144, 4626, 17476, 0, 0, 0}, {5215, 4128, 768, 17408, 0, 0, 0}, {7200, 8224, 1088, 0, 0, 0, 0}, {286, 546, 85, 1041, 4369, 0, 0}, {1096, 5154, 5632, 20480, 0, 0, 0}, {1100, 5219, 4883, 20560, 0, 0, 0}, {6184, 12288, 1092, 0, 0, 0, 0}, {282, 816, 85, 1045, 4352, 0, 0}, {1100, 5222, 4608, 20480, 0, 0, 0}, {1096, 5159, 5911, 20560, 0, 0, 0}, {1096, 4192, 0, 0, 0, 0, 0}, {278, 85, 0, 0, 0, 0, 0}, {554, 8704, 4160, 5120, 0, 0, 0}, {828, 13107, 4176, 5140, 0, 0, 0}, {1100, 4128, 0, 0, 0, 0, 0}, {274, 85, 0, 0, 0, 0, 0}, {2560, 546, 1092, 4096, 0, 0, 0}, {3855, 816, 1088, 4112, 0, 0, 0}, {4336, 8192, 1024, 0, 0, 0, 0}, {270, 514, 85, 1028, 4369, 0, 0}, {1032, 5234, 514, 20560, 0, 0, 0}, {1036, 5171, 1792, 20480, 0, 0, 0}, {4272, 12336, 1028, 0, 0, 0, 0}, {266, 768, 85, 1024, 4352, 0, 0}, {1036, 5174, 1542, 20560, 0, 0, 0}, {1032, 5239, 768, 20480, 0, 0, 0}, {1032, 4208, 0, 0, 0, 0, 0}, {262, 85, 0, 0, 0, 0, 0}, {522, 8704, 4176, 1024, 0, 0, 0}, {780, 13107, 4160, 1028, 0, 0, 0}, {1036, 4144, 0, 0, 0, 0, 0}, {258, 85, 0, 0, 0, 0, 0}, {170, 514, 1028, 4112, 0, 0, 0}, {255, 768, 1024, 4096, 0, 0, 0}, {21760, 0, 0, 0, 0, 0, 0}, {4, 16, 257, 0, 0, 0, 0}, {8, 32, 514, 21762, 0, 0, 0}, {12, 48, 771, 21763, 0, 0, 0}, {4, 4352, 0, 0, 0, 0, 0}, {80, 1285, 0, 0, 0, 0, 0}, {12, 96, 1542, 21766, 0, 0, 0}, {8, 112, 1799, 21767, 0, 0, 0}, {8, 8704, 21760, 0, 0, 0, 0}, {12, 48, 771, 80, 1285, 0, 0}, {160, 2570, 21770, 0, 0, 0, 0}, {48, 771, 4, 4355, 0, 0, 0}, {12, 13056, 21760, 0, 0, 0, 0}, {8, 32, 514, 80, 1285, 0, 0}, {32, 514, 4, 4354, 0, 0, 0}, {240, 3855, 21775, 0, 0, 0, 0}, {1280, 16, 0, 0, 0, 0, 0}, {68, 4369, 0, 0, 0, 0, 0}, {72, 48, 4626, 21778, 0, 0, 0}, {76, 32, 4883, 21779, 0, 0, 0}, {20, 4352, 0, 0, 0, 0, 0}, {64, 5397, 0, 0, 0, 0, 0}, {76, 112, 5654, 21782, 0, 0, 0}, {72, 96, 5911, 21783, 0, 0, 0}, {24, 48, 4608, 80, 1280, 0, 0}, {76, 13107, 21845, 0, 0, 0, 0}, {5402, 48, 64, 0, 0, 0, 0}, {4379, 4403, 68, 0, 0, 0, 0}, {28, 32, 4864, 80, 1280, 0, 0}, {72, 8738, 21845, 0, 0, 0, 0}, {4382, 4386, 68, 0, 0, 0, 0}, {5407, 32, 64, 0, 0, 0, 0}, {2560, 32, 21760, 0, 0, 0, 0}, {12, 48, 771, 68, 4369, 0, 0}, {136, 8738, 21794, 0, 0, 0, 0}, {12, 771, 1283, 16, 0, 0, 0}, {12, 36, 1536, 68, 4352, 0, 0}, {3855, 112, 21845, 0, 0, 0, 0}, {12, 5414, 64, 0, 0, 0, 0}, {1295, 1319, 80, 0, 0, 0, 0}, {40, 8704, 21760, 0, 0, 0, 0}, {12, 48, 771, 64, 5397, 0, 0}, {128, 10794, 21802, 0, 0, 0, 0}, {48, 771, 20, 4355, 0, 0, 0}, {12, 32, 4864, 64, 5376, 0, 0}, {120, 8738, 21845, 0, 0, 0, 0}, {12, 4386, 68, 0, 0, 0, 0}, {1295, 32, 80, 0, 0, 0, 0}, {3840, 48, 21760, 0, 0, 0, 0}, {8, 32, 514, 68, 4369, 0, 0}, {8, 514, 1282, 16, 0, 0, 0}, {204, 13107, 21811, 0, 0, 0, 0}, {8, 52, 1792, 68, 4352, 0, 0}, {2570, 96, 21845, 0, 0, 0, 0}, {1290, 1334, 80, 0, 0, 0, 0}, {8, 5431, 64, 0, 0, 0, 0}, {8, 48, 4608, 64, 5376, 0, 0}, {108, 13107, 21845, 0, 0, 0, 0}, {1290, 48, 80, 0, 0, 0, 0}, {8, 4403, 68, 0, 0, 0, 0}, {60, 13056, 21760, 0, 0, 0, 0}, {8, 32, 514, 64, 5397, 0, 0}, {32, 514, 20, 4354, 0, 0, 0}, {192, 16191, 21823, 0, 0, 0, 0}, {64, 5376, 0, 0, 0, 0, 0}, {20, 4369, 0, 0, 0, 0, 0}, {72, 96, 5888, 21826, 0, 0, 0}, {76, 112, 5632, 21827, 0, 0, 0}, {68, 4352, 0, 0, 0, 0, 0}, {1285, 16, 0, 0, 0, 0, 0}, {76, 32, 4864, 21830, 0, 0, 0}, {72, 48, 4608, 21831, 0, 0, 0}, {72, 8704, 21760, 0, 0, 0, 0}, {28, 32, 4883, 80, 1285, 0, 0}, {5386, 32, 64, 0, 0, 0, 0}, {4367, 4403, 68, 0, 0, 0, 0}, {76, 13056, 21760, 0, 0, 0, 0}, {24, 48, 4626, 80, 1285, 0, 0}, {4362, 4386, 68, 0, 0, 0, 0}, {5391, 48, 64, 0, 0, 0, 0}, {80, 1280, 0, 0, 0, 0, 0}, {4, 4369, 0, 0, 0, 0, 0}, {8, 112, 1792, 21842, 0, 0, 0}, {12, 96, 1536, 21843, 0, 0, 0}, {4, 16, 256, 0, 0, 0, 0}, {21845, 0, 0, 0, 0, 0, 0}, {12, 48, 768, 21846, 0, 0, 0}, {8, 32, 512, 21847, 0, 0, 0}, {8, 32, 512, 80, 1280, 0, 0}, {12, 13107, 21845, 0, 0, 0, 0}, {240, 3840, 21850, 0, 0, 0, 0}, {32, 512, 4, 4371, 0, 0, 0}, {12, 48, 768, 80, 1280, 0, 0}, {8, 8738, 21845, 0, 0, 0, 0}, {48, 768, 4, 4370, 0, 0, 0}, {160, 2560, 21855, 0, 0, 0, 0}, {2560, 96, 21760, 0, 0, 0, 0}, {8, 52, 1799, 68, 4369, 0, 0}, {8, 5410, 64, 0, 0, 0, 0}, {1295, 1331, 80, 0, 0, 0, 0}, {8, 32, 512, 68, 4352, 0, 0}, {3855, 48, 21845, 0, 0, 0, 0}, {204, 13056, 21862, 0, 0, 0, 0}, {8, 512, 1287, 16, 0, 0, 0}, {8, 32, 512, 64, 5376, 0, 0}, {60, 13107, 21845, 0, 0, 0, 0}, {192, 16128, 21866, 0, 0, 0, 0}, {32, 512, 20, 4371, 0, 0, 0}, {108, 13056, 21760, 0, 0, 0, 0}, {8, 48, 4626, 64, 5397, 0, 0}, {8, 4386, 68, 0, 0, 0, 0}, {1295, 48, 80, 0, 0, 0, 0}, {3840, 112, 21760, 0, 0, 0, 0}, {12, 36, 1542, 68, 4369, 0, 0}, {1290, 1314, 80, 0, 0, 0, 0}, {12, 5427, 64, 0, 0, 0, 0}, {12, 48, 768, 68, 4352, 0, 0}, {2570, 32, 21845, 0, 0, 0, 0}, {12, 768, 1286, 16, 0, 0, 0}, {136, 8704, 21879, 0, 0, 0, 0}, {120, 8704, 21760, 0, 0, 0, 0}, {12, 32, 4883, 64, 5397, 0, 0}, {1290, 32, 80, 0, 0, 0, 0}, {12, 4403, 68, 0, 0, 0, 0}, {12, 48, 768, 64, 5376, 0, 0}, {40, 8738, 21845, 0, 0, 0, 0}, {48, 768, 20, 4370, 0, 0, 0}, {128, 10752, 21887, 0, 0, 0, 0}, {128, 10752, 21760, 0, 0, 0, 0}, {48, 771, 20, 4369, 0, 0, 0}, {40, 8738, 21794, 0, 0, 0, 0}, {12, 48, 771, 64, 5379, 0, 0}, {12, 68, 4352, 0, 0, 0, 0}, {32, 80, 1285, 0, 0, 0, 0}, {12, 32, 4864, 64, 5382, 0, 0}, {120, 8704, 21879, 0, 0, 0, 0}, {136, 8704, 21760, 0, 0, 0, 0}, {12, 771, 1285, 16, 0, 0, 0}, {2570, 32, 21770, 0, 0, 0, 0}, {12, 48, 771, 68, 4355, 0, 0}, {12, 13056, 64, 5376, 0, 0, 0}, {40, 8738, 80, 1285, 0, 0, 0}, {12, 36, 1542, 68, 4358, 0, 0}, {3855, 112, 21775, 0, 0, 0, 0}, {48, 80, 1280, 0, 0, 0, 0}, {8, 68, 4369, 0, 0, 0, 0}, {8, 48, 4626, 64, 5394, 0, 0}, {108, 13107, 21811, 0, 0, 0, 0}, {32, 512, 20, 4352, 0, 0, 0}, {192, 16191, 21845, 0, 0, 0, 0}, {60, 13056, 21862, 0, 0, 0, 0}, {8, 32, 512, 64, 5399, 0, 0}, {8, 512, 1280, 16, 0, 0, 0}, {204, 13107, 21845, 0, 0, 0, 0}, {3840, 48, 21850, 0, 0, 0, 0}, {8, 32, 512, 68, 4371, 0, 0}, {60, 13056, 80, 1280, 0, 0, 0}, {8, 8738, 64, 5397, 0, 0, 0}, {8, 52, 1792, 68, 4374, 0, 0}, {2560, 96, 21855, 0, 0, 0, 0}, {160, 2560, 21760, 0, 0, 0, 0}, {48, 771, 4, 4369, 0, 0, 0}, {8, 8738, 21794, 0, 0, 0, 0}, {12, 48, 771, 80, 1283, 0, 0}, {32, 512, 4, 4352, 0, 0, 0}, {240, 3855, 21845, 0, 0, 0, 0}, {12, 13056, 21862, 0, 0, 0, 0}, {8, 32, 512, 80, 1287, 0, 0}, {8, 32, 512, 21760, 0, 0, 0}, {12, 48, 771, 21845, 0, 0, 0}, {21930, 0, 0, 0, 0, 0, 0}, {259, 4, 16, 0, 0, 0, 0}, {12, 96, 1536, 21760, 0, 0, 0}, {8, 112, 1799, 21845, 0, 0, 0}, {4386, 4, 0, 0, 0, 0, 0}, {1295, 80, 0, 0, 0, 0, 0}, {48, 64, 5376, 0, 0, 0, 0}, {40, 68, 4369, 0, 0, 0, 0}, {24, 48, 4626, 80, 1298, 0, 0}, {76, 13107, 21811, 0, 0, 0, 0}, {60, 68, 4352, 0, 0, 0, 0}, {32, 64, 5397, 0, 0, 0, 0}, {28, 32, 4864, 80, 1302, 0, 0}, {72, 8704, 21879, 0, 0, 0, 0}, {72, 48, 4608, 21760, 0, 0, 0}, {76, 32, 4883, 21845, 0, 0, 0}, {1290, 16, 0, 0, 0, 0, 0}, {4403, 68, 0, 0, 0, 0, 0}, {76, 112, 5632, 21760, 0, 0, 0}, {72, 96, 5911, 21845, 0, 0, 0}, {4386, 20, 0, 0, 0, 0, 0}, {5439, 64, 0, 0, 0, 0, 0}, {192, 16128, 21760, 0, 0, 0, 0}, {32, 514, 20, 4369, 0, 0, 0}, {8, 32, 514, 64, 5378, 0, 0}, {60, 13107, 21811, 0, 0, 0, 0}, {8, 68, 4352, 0, 0, 0, 0}, {48, 80, 1285, 0, 0, 0, 0}, {108, 13056, 21862, 0, 0, 0, 0}, {8, 48, 4608, 64, 5383, 0, 0}, {8, 8704, 64, 5376, 0, 0, 0}, {60, 13107, 80, 1285, 0, 0, 0}, {2570, 96, 21770, 0, 0, 0, 0}, {8, 52, 1799, 68, 4359, 0, 0}, {204, 13056, 21760, 0, 0, 0, 0}, {8, 514, 1285, 16, 0, 0, 0}, {8, 32, 514, 68, 4354, 0, 0}, {3855, 48, 21775, 0, 0, 0, 0}, {32, 80, 1280, 0, 0, 0, 0}, {12, 68, 4369, 0, 0, 0, 0}, {120, 8738, 21794, 0, 0, 0, 0}, {12, 32, 4883, 64, 5395, 0, 0}, {48, 768, 20, 4352, 0, 0, 0}, {128, 10794, 21845, 0, 0, 0, 0}, {12, 48, 768, 64, 5398, 0, 0}, {40, 8704, 21879, 0, 0, 0, 0}, {40, 8704, 80, 1280, 0, 0, 0}, {12, 13107, 64, 5397, 0, 0, 0}, {3840, 112, 21850, 0, 0, 0, 0}, {12, 36, 1536, 68, 4375, 0, 0}, {12, 768, 1280, 16, 0, 0, 0}, {136, 8738, 21845, 0, 0, 0, 0}, {12, 48, 768, 68, 4370, 0, 0}, {2560, 32, 21855, 0, 0, 0, 0}, {32, 64, 5376, 0, 0, 0, 0}, {60, 68, 4369, 0, 0, 0, 0}, {72, 8738, 21794, 0, 0, 0, 0}, {28, 32, 4883, 80, 1299, 0, 0}, {40, 68, 4352, 0, 0, 0, 0}, {48, 64, 5397, 0, 0, 0, 0}, {76, 13056, 21862, 0, 0, 0, 0}, {24, 48, 4608, 80, 1303, 0, 0}, {72, 96, 5888, 21760, 0, 0, 0}, {76, 112, 5654, 21845, 0, 0, 0}, {5418, 64, 0, 0, 0, 0, 0}, {4403, 20, 0, 0, 0, 0, 0}, {76, 32, 4864, 21760, 0, 0, 0}, {72, 48, 4626, 21845, 0, 0, 0}, {4386, 68, 0, 0, 0, 0, 0}, {1295, 16, 0, 0, 0, 0, 0}, {240, 3840, 21760, 0, 0, 0, 0}, {32, 514, 4, 4369, 0, 0, 0}, {8, 32, 514, 80, 1282, 0, 0}, {12, 13107, 21811, 0, 0, 0, 0}, {48, 768, 4, 4352, 0, 0, 0}, {160, 2570, 21845, 0, 0, 0, 0}, {12, 48, 768, 80, 1286, 0, 0}, {8, 8704, 21879, 0, 0, 0, 0}, {8, 112, 1792, 21760, 0, 0, 0}, {12, 96, 1542, 21845, 0, 0, 0}, {1290, 80, 0, 0, 0, 0, 0}, {4403, 4, 0, 0, 0, 0, 0}, {12, 48, 768, 21760, 0, 0, 0}, {8, 32, 514, 21845, 0, 0, 0}, {258, 4, 16, 0, 0, 0, 0}, {22015, 0, 0, 0, 0, 0, 0}, {3072, 12288, 22016, 0, 0, 0, 0}, {8, 32, 87, 257, 0, 0, 0}, {8, 32, 514, 1024, 4096, 0, 0}, {255, 771, 21760, 0, 0, 0, 0}, {8, 4672, 1028, 0, 0, 0, 0}, {95, 848, 1285, 0, 0, 0, 0}, {160, 1542, 20480, 0, 0, 0, 0}, {8, 119, 775, 1024, 4352, 0, 0}, {8, 4608, 1024, 0, 0, 0, 0}, {95, 771, 1285, 0, 0, 0, 0}, {1546, 12288, 20480, 0, 0, 0, 0}, {8, 4403, 771, 4420, 1028, 0, 0}, {12480, 3084, 22028, 0, 0, 0, 0}, {32, 514, 261, 4354, 0, 0, 0}, {8, 32, 514, 4160, 1028, 0, 0}, {783, 13056, 21760, 0, 0, 0, 0}, {32, 1600, 4112, 0, 0, 0, 0}, {119, 836, 4369, 0, 0, 0, 0}, {136, 4626, 17408, 0, 0, 0, 0}, {95, 32, 787, 1280, 4096, 0, 0}, {40, 4688, 5140, 0, 0, 0, 0}, {127, 832, 5397, 0, 0, 0, 0}, {128, 5654, 16384, 0, 0, 0, 0}, {95, 119, 791, 1280, 4352, 0, 0}, {4632, 4656, 5200, 0, 0, 0, 0}, {5657, 819, 5461, 0, 0, 0, 0}, {5722, 12336, 16448, 0, 0, 0, 0}, {4379, 4403, 4608, 4420, 1280, 0, 0}, {5660, 32, 4176, 0, 0, 0, 0}, {4637, 4386, 4437, 0, 0, 0, 0}, {4698, 8738, 17476, 0, 0, 0, 0}, {4127, 32, 4864, 4160, 1280, 0, 0}, {32, 1536, 4096, 0, 0, 0, 0}, {119, 771, 4369, 0, 0, 0, 0}, {3072, 4642, 17408, 0, 0, 0, 0}, {1295, 32, 771, 1360, 4112, 0, 0}, {1548, 1572, 5188, 0, 0, 0, 0}, {783, 5669, 5461, 0, 0, 0, 0}, {3084, 5734, 16448, 0, 0, 0, 0}, {1295, 1319, 1536, 1360, 4352, 0, 0}, {40, 4608, 5120, 0, 0, 0, 0}, {127, 771, 5397, 0, 0, 0, 0}, {5674, 12288, 16384, 0, 0, 0, 0}, {4379, 4403, 771, 4420, 5140, 0, 0}, {1548, 32, 4160, 0, 0, 0, 0}, {783, 4386, 4437, 0, 0, 0, 0}, {4714, 8738, 17476, 0, 0, 0, 0}, {4111, 32, 4864, 4176, 5376, 0, 0}, {3264, 12336, 22064, 0, 0, 0, 0}, {8, 514, 1282, 273, 0, 0, 0}, {8, 32, 514, 1088, 4112, 0, 0}, {3840, 819, 21760, 0, 0, 0, 0}, {8, 5684, 1092, 0, 0, 0, 0}, {1290, 1589, 1365, 0, 0, 0, 0}, {2570, 1638, 20560, 0, 0, 0, 0}, {8, 1079, 1792, 1088, 4352, 0, 0}, {8, 4656, 1088, 0, 0, 0, 0}, {1290, 819, 1365, 0, 0, 0, 0}, {1642, 12336, 20560, 0, 0, 0, 0}, {8, 4403, 4608, 4420, 5376, 0, 0}, {12528, 15420, 22076, 0, 0, 0, 0}, {32, 514, 277, 4354, 0, 0, 0}, {8, 32, 514, 4176, 5140, 0, 0}, {831, 13056, 21760, 0, 0, 0, 0}, {128, 5632, 16448, 0, 0, 0, 0}, {95, 119, 788, 1285, 4369, 0, 0}, {40, 4674, 5120, 0, 0, 0, 0}, {127, 835, 5376, 0, 0, 0, 0}, {136, 4608, 17476, 0, 0, 0, 0}, {95, 32, 784, 1285, 4112, 0, 0}, {32, 1606, 4096, 0, 0, 0, 0}, {119, 839, 4352, 0, 0, 0, 0}, {4680, 8704, 17408, 0, 0, 0, 0}, {4111, 32, 4883, 4176, 1285, 0, 0}, {5642, 32, 4160, 0, 0, 0, 0}, {4623, 4403, 4420, 0, 0, 0, 0}, {5708, 12288, 16384, 0, 0, 0, 0}, {4362, 4386, 4626, 4437, 1285, 0, 0}, {4618, 4642, 5188, 0, 0, 0, 0}, {5647, 816, 5440, 0, 0, 0, 0}, {160, 1536, 20560, 0, 0, 0, 0}, {8, 119, 772, 1028, 4369, 0, 0}, {8, 4690, 1024, 0, 0, 0, 0}, {95, 851, 1280, 0, 0, 0, 0}, {8, 32, 512, 1028, 4112, 0, 0}, {255, 768, 21845, 0, 0, 0, 0}, {3084, 12336, 22102, 0, 0, 0, 0}, {8, 32, 87, 256, 0, 0, 0}, {8, 32, 512, 4176, 1024, 0, 0}, {780, 13107, 21845, 0, 0, 0, 0}, {12528, 3072, 22106, 0, 0, 0, 0}, {32, 512, 260, 4371, 0, 0, 0}, {1548, 12336, 20560, 0, 0, 0, 0}, {8, 4386, 768, 4437, 1024, 0, 0}, {8, 4626, 1028, 0, 0, 0, 0}, {95, 768, 1280, 0, 0, 0, 0}, {2560, 1632, 20480, 0, 0, 0, 0}, {8, 1075, 1799, 1092, 4369, 0, 0}, {8, 5666, 1088, 0, 0, 0, 0}, {1295, 1587, 1360, 0, 0, 0, 0}, {8, 32, 512, 1092, 4096, 0, 0}, {3855, 816, 21845, 0, 0, 0, 0}, {3276, 12288, 22118, 0, 0, 0, 0}, {8, 512, 1287, 272, 0, 0, 0}, {8, 32, 512, 4160, 5120, 0, 0}, {828, 13107, 21845, 0, 0, 0, 0}, {12480, 15360, 22122, 0, 0, 0, 0}, {32, 512, 276, 4371, 0, 0, 0}, {1644, 12288, 20480, 0, 0, 0, 0}, {8, 4386, 4626, 4437, 5397, 0, 0}, {8, 4642, 1092, 0, 0, 0, 0}, {1295, 816, 1360, 0, 0, 0, 0}, {3072, 5744, 16384, 0, 0, 0, 0}, {1290, 1314, 1542, 1365, 4369, 0, 0}, {1546, 1570, 5200, 0, 0, 0, 0}, {780, 5683, 5440, 0, 0, 0, 0}, {3084, 4656, 17476, 0, 0, 0, 0}, {1290, 32, 768, 1365, 4096, 0, 0}, {32, 1542, 4112, 0, 0, 0, 0}, {119, 768, 4352, 0, 0, 0, 0}, {4728, 8704, 17408, 0, 0, 0, 0}, {4127, 32, 4883, 4160, 5397, 0, 0}, {1546, 32, 4176, 0, 0, 0, 0}, {780, 4403, 4420, 0, 0, 0, 0}, {5692, 12336, 16448, 0, 0, 0, 0}, {4362, 4386, 768, 4437, 5120, 0, 0}, {40, 4626, 5140, 0, 0, 0, 0}, {127, 768, 5376, 0, 0, 0, 0}, {128, 5632, 16384, 0, 0, 0, 0}, {95, 119, 771, 1285, 4369, 0, 0}, {4618, 4642, 5120, 0, 0, 0, 0}, {5439, 771, 5440, 0, 0, 0, 0}, {4680, 8704, 17476, 0, 0, 0, 0}, {4111, 32, 4864, 4176, 1285, 0, 0}, {32, 1542, 4160, 0, 0, 0, 0}, {783, 119, 4352, 0, 0, 0, 0}, {136, 4608, 17408, 0, 0, 0, 0}, {95, 32, 771, 1285, 4112, 0, 0}, {1546, 32, 4096, 0, 0, 0, 0}, {4403, 771, 4420, 0, 0, 0, 0}, {5708, 12352, 16448, 0, 0, 0, 0}, {4362, 4386, 4613, 4437, 1285, 0, 0}, {40, 1542, 5188, 0, 0, 0, 0}, {783, 880, 5376, 0, 0, 0, 0}, {2560, 1632, 20560, 0, 0, 0, 0}, {8, 1075, 1792, 1092, 4369, 0, 0}, {8, 4626, 1088, 0, 0, 0, 0}, {95, 819, 1280, 0, 0, 0, 0}, {8, 32, 512, 4176, 5140, 0, 0}, {831, 13056, 21845, 0, 0, 0, 0}, {22166, 23130, 26214, 0, 0, 0, 0}, {279, 320, 1280, 4352, 0, 0, 0}, {8, 32, 512, 1088, 4112, 0, 0}, {3840, 819, 21845, 0, 0, 0, 0}, {22170, 23130, 12336, 0, 0, 0, 0}, {275, 324, 1280, 4096, 0, 0, 0}, {1644, 12368, 20560, 0, 0, 0, 0}, {8, 4386, 4629, 4437, 5397, 0, 0}, {8, 5654, 1092, 0, 0, 0, 0}, {95, 864, 1280, 0, 0, 0, 0}, {160, 1536, 20480, 0, 0, 0, 0}, {8, 119, 771, 1028, 4369, 0, 0}, {8, 4642, 1024, 0, 0, 0, 0}, {1295, 771, 1360, 0, 0, 0, 0}, {8, 32, 512, 4160, 1028, 0, 0}, {783, 13056, 21845, 0, 0, 0, 0}, {22182, 3084, 26214, 0, 0, 0, 0}, {263, 336, 1024, 4352, 0, 0, 0}, {8, 32, 512, 1024, 4096, 0, 0}, {255, 771, 21845, 0, 0, 0, 0}, {22186, 3072, 12288, 0, 0, 0, 0}, {259, 340, 1028, 4112, 0, 0, 0}, {1548, 12384, 20480, 0, 0, 0, 0}, {8, 4386, 775, 4437, 1024, 0, 0}, {8, 4706, 1028, 0, 0, 0, 0}, {1295, 1536, 1360, 0, 0, 0, 0}, {3136, 5744, 16448, 0, 0, 0, 0}, {1290, 1314, 1553, 1365, 4369, 0, 0}, {40, 4626, 5200, 0, 0, 0, 0}, {844, 819, 5376, 0, 0, 0, 0}, {4728, 8704, 17476, 0, 0, 0, 0}, {4127, 32, 4864, 4160, 5397, 0, 0}, {32, 5654, 4176, 0, 0, 0, 0}, {840, 119, 4352, 0, 0, 0, 0}, {3144, 4656, 17408, 0, 0, 0, 0}, {1290, 32, 787, 1365, 4096, 0, 0}, {1610, 32, 4112, 0, 0, 0, 0}, {4403, 4608, 4420, 0, 0, 0, 0}, {5692, 12400, 16384, 0, 0, 0, 0}, {4362, 4386, 791, 4437, 5120, 0, 0}, {4698, 4722, 5140, 0, 0, 0, 0}, {5439, 5632, 5440, 0, 0, 0, 0}, {22208, 23040, 26112, 0, 0, 0, 0}, {278, 321, 1285, 4369, 0, 0, 0}, {8, 32, 514, 4160, 5120, 0, 0}, {828, 13107, 21760, 0, 0, 0, 0}, {8, 4608, 1092, 0, 0, 0, 0}, {95, 816, 1285, 0, 0, 0, 0}, {2570, 1638, 20480, 0, 0, 0, 0}, {8, 1079, 1799, 1088, 4352, 0, 0}, {8, 5632, 1088, 0, 0, 0, 0}, {95, 867, 1285, 0, 0, 0, 0}, {1642, 12384, 20480, 0, 0, 0, 0}, {8, 4403, 4615, 4420, 5376, 0, 0}, {22220, 23040, 12288, 0, 0, 0, 0}, {274, 325, 1285, 4112, 0, 0, 0}, {8, 32, 514, 1092, 4096, 0, 0}, {3855, 816, 21760, 0, 0, 0, 0}, {32, 1536, 4176, 0, 0, 0, 0}, {780, 119, 4369, 0, 0, 0, 0}, {4698, 8738, 17408, 0, 0, 0, 0}, {4127, 32, 4883, 4160, 1280, 0, 0}, {4632, 4656, 5140, 0, 0, 0, 0}, {5418, 768, 5461, 0, 0, 0, 0}, {128, 5654, 16448, 0, 0, 0, 0}, {95, 119, 768, 1280, 4352, 0, 0}, {40, 1536, 5200, 0, 0, 0, 0}, {780, 883, 5397, 0, 0, 0, 0}, {5722, 12400, 16384, 0, 0, 0, 0}, {4379, 4403, 4631, 4420, 1280, 0, 0}, {1548, 32, 4112, 0, 0, 0, 0}, {4386, 768, 4437, 0, 0, 0, 0}, {136, 4626, 17476, 0, 0, 0, 0}, {95, 32, 768, 1280, 4096, 0, 0}, {32, 5632, 4160, 0, 0, 0, 0}, {843, 119, 4369, 0, 0, 0, 0}, {4714, 8738, 17408, 0, 0, 0, 0}, {4111, 32, 4883, 4176, 5376, 0, 0}, {40, 4608, 5188, 0, 0, 0, 0}, {847, 816, 5397, 0, 0, 0, 0}, {3148, 5734, 16384, 0, 0, 0, 0}, {1295, 1319, 1559, 1360, 4352, 0, 0}, {4680, 4704, 5120, 0, 0, 0, 0}, {5418, 5654, 5461, 0, 0, 0, 0}, {5674, 12352, 16448, 0, 0, 0, 0}, {4379, 4403, 788, 4420, 5140, 0, 0}, {1612, 32, 4096, 0, 0, 0, 0}, {4386, 4626, 4437, 0, 0, 0, 0}, {3140, 4642, 17476, 0, 0, 0, 0}, {1295, 32, 784, 1360, 4112, 0, 0}, {22256, 3072, 26112, 0, 0, 0, 0}, {262, 337, 1028, 4369, 0, 0, 0}, {8, 32, 514, 4176, 1024, 0, 0}, {780, 13107, 21760, 0, 0, 0, 0}, {8, 4656, 1028, 0, 0, 0, 0}, {1290, 768, 1365, 0, 0, 0, 0}, {160, 1542, 20560, 0, 0, 0, 0}, {8, 119, 768, 1024, 4352, 0, 0}, {8, 4720, 1024, 0, 0, 0, 0}, {1290, 1542, 1365, 0, 0, 0, 0}, {1546, 12368, 20560, 0, 0, 0, 0}, {8, 4403, 772, 4420, 1028, 0, 0}, {22268, 3084, 12336, 0, 0, 0, 0}, {258, 341, 1024, 4096, 0, 0, 0}, {8, 32, 514, 1028, 4112, 0, 0}, {255, 768, 21760, 0, 0, 0, 0}, {2048, 8192, 22272, 0, 0, 0, 0}, {12, 48, 86, 257, 0, 0, 0}, {170, 514, 21760, 0, 0, 0, 0}, {12, 48, 771, 1024, 4096, 0, 0}, {12, 4928, 1028, 0, 0, 0, 0}, {90, 592, 1285, 0, 0, 0, 0}, {12, 102, 518, 1024, 4352, 0, 0}, {240, 1799, 20480, 0, 0, 0, 0}, {8320, 2056, 22280, 0, 0, 0, 0}, {48, 771, 261, 4355, 0, 0, 0}, {522, 8704, 21760, 0, 0, 0, 0}, {12, 48, 771, 4160, 1028, 0, 0}, {12, 4864, 1024, 0, 0, 0, 0}, {90, 514, 1285, 0, 0, 0, 0}, {12, 4386, 514, 4420, 1028, 0, 0}, {1807, 8192, 20480, 0, 0, 0, 0}, {48, 1856, 4112, 0, 0, 0, 0}, {102, 580, 4369, 0, 0, 0, 0}, {90, 48, 530, 1280, 4096, 0, 0}, {204, 4883, 17408, 0, 0, 0, 0}, {60, 4944, 5140, 0, 0, 0, 0}, {106, 576, 5397, 0, 0, 0, 0}, {90, 102, 534, 1280, 4352, 0, 0}, {192, 5911, 16384, 0, 0, 0, 0}, {5912, 48, 4176, 0, 0, 0, 0}, {4889, 4403, 4437, 0, 0, 0, 0}, {4122, 48, 4608, 4160, 1280, 0, 0}, {4959, 13107, 17476, 0, 0, 0, 0}, {4892, 4896, 5200, 0, 0, 0, 0}, {5917, 546, 5461, 0, 0, 0, 0}, {4382, 4386, 4864, 4420, 1280, 0, 0}, {5983, 8224, 16448, 0, 0, 0, 0}, {2176, 8224, 22304, 0, 0, 0, 0}, {12, 771, 1283, 273, 0, 0, 0}, {2560, 546, 21760, 0, 0, 0, 0}, {12, 48, 771, 1088, 4112, 0, 0}, {12, 5924, 1092, 0, 0, 0, 0}, {1295, 1829, 1365, 0, 0, 0, 0}, {12, 1062, 1536, 1088, 4352, 0, 0}, {3855, 1911, 20560, 0, 0, 0, 0}, {8352, 10280, 22312, 0, 0, 0, 0}, {48, 771, 277, 4355, 0, 0, 0}, {554, 8704, 21760, 0, 0, 0, 0}, {12, 48, 771, 4176, 5140, 0, 0}, {12, 4896, 1088, 0, 0, 0, 0}, {1295, 546, 1365, 0, 0, 0, 0}, {12, 4386, 4864, 4420, 5376, 0, 0}, {1919, 8224, 20560, 0, 0, 0, 0}, {48, 1792, 4096, 0, 0, 0, 0}, {102, 514, 4369, 0, 0, 0, 0}, {1290, 48, 514, 1360, 4112, 0, 0}, {2048, 4915, 17408, 0, 0, 0, 0}, {1800, 1844, 5188, 0, 0, 0, 0}, {522, 5941, 5461, 0, 0, 0, 0}, {1290, 1334, 1792, 1360, 4352, 0, 0}, {2056, 6007, 16448, 0, 0, 0, 0}, {1800, 48, 4160, 0, 0, 0, 0}, {522, 4403, 4437, 0, 0, 0, 0}, {4106, 48, 4608, 4176, 5376, 0, 0}, {4991, 13107, 17476, 0, 0, 0, 0}, {60, 4864, 5120, 0, 0, 0, 0}, {106, 514, 5397, 0, 0, 0, 0}, {4382, 4386, 514, 4420, 5140, 0, 0}, {5951, 8192, 16384, 0, 0, 0, 0}, {192, 5888, 16448, 0, 0, 0, 0}, {90, 102, 532, 1285, 4369, 0, 0}, {106, 578, 5376, 0, 0, 0, 0}, {60, 4931, 5120, 0, 0, 0, 0}, {204, 4864, 17476, 0, 0, 0, 0}, {90, 48, 528, 1285, 4112, 0, 0}, {102, 582, 4352, 0, 0, 0, 0}, {48, 1863, 4096, 0, 0, 0, 0}, {5960, 8192, 16384, 0, 0, 0, 0}, {4367, 4403, 4883, 4437, 1285, 0, 0}, {5898, 544, 5440, 0, 0, 0, 0}, {4879, 4915, 5188, 0, 0, 0, 0}, {4940, 13056, 17408, 0, 0, 0, 0}, {4106, 48, 4626, 4176, 1285, 0, 0}, {4874, 4386, 4420, 0, 0, 0, 0}, {5903, 48, 4160, 0, 0, 0, 0}, {240, 1792, 20560, 0, 0, 0, 0}, {12, 102, 516, 1028, 4369, 0, 0}, {90, 594, 1280, 0, 0, 0, 0}, {12, 4947, 1024, 0, 0, 0, 0}, {12, 48, 768, 1028, 4112, 0, 0}, {170, 512, 21845, 0, 0, 0, 0}, {12, 48, 86, 256, 0, 0, 0}, {2056, 8224, 22359, 0, 0, 0, 0}, {1800, 8224, 20560, 0, 0, 0, 0}, {12, 4403, 512, 4437, 1024, 0, 0}, {90, 512, 1280, 0, 0, 0, 0}, {12, 4883, 1028, 0, 0, 0, 0}, {12, 48, 768, 4176, 1024, 0, 0}, {520, 8738, 21845, 0, 0, 0, 0}, {48, 768, 260, 4370, 0, 0, 0}, {8352, 2048, 22367, 0, 0, 0, 0}, {2048, 5984, 16384, 0, 0, 0, 0}, {1295, 1331, 1799, 1365, 4369, 0, 0}, {520, 5922, 5440, 0, 0, 0, 0}, {1807, 1843, 5200, 0, 0, 0, 0}, {2056, 4896, 17476, 0, 0, 0, 0}, {1295, 48, 512, 1365, 4096, 0, 0}, {102, 512, 4352, 0, 0, 0, 0}, {48, 1799, 4112, 0, 0, 0, 0}, {5928, 8224, 16448, 0, 0, 0, 0}, {4367, 4403, 512, 4437, 5120, 0, 0}, {106, 512, 5376, 0, 0, 0, 0}, {60, 4883, 5140, 0, 0, 0, 0}, {4972, 13056, 17408, 0, 0, 0, 0}, {4122, 48, 4626, 4160, 5397, 0, 0}, {520, 4386, 4420, 0, 0, 0, 0}, {1807, 48, 4176, 0, 0, 0, 0}, {3840, 1904, 20480, 0, 0, 0, 0}, {12, 1058, 1542, 1092, 4369, 0, 0}, {1290, 1826, 1360, 0, 0, 0, 0}, {12, 5939, 1088, 0, 0, 0, 0}, {12, 48, 768, 1092, 4096, 0, 0}, {2570, 544, 21845, 0, 0, 0, 0}, {12, 768, 1286, 272, 0, 0, 0}, {2184, 8192, 22391, 0, 0, 0, 0}, {1912, 8192, 20480, 0, 0, 0, 0}, {12, 4403, 4883, 4437, 5397, 0, 0}, {1290, 544, 1360, 0, 0, 0, 0}, {12, 4915, 1092, 0, 0, 0, 0}, {12, 48, 768, 4160, 5120, 0, 0}, {552, 8738, 21845, 0, 0, 0, 0}, {48, 768, 276, 4370, 0, 0, 0}, {8320, 10240, 22399, 0, 0, 0, 0}, {22400, 24320, 30464, 0, 0, 0, 0}, {279, 321, 1285, 4369, 0, 0, 0}, {552, 8738, 21760, 0, 0, 0, 0}, {12, 48, 771, 4160, 5120, 0, 0}, {12, 4864, 1092, 0, 0, 0, 0}, {90, 544, 1285, 0, 0, 0, 0}, {12, 1062, 1542, 1088, 4352, 0, 0}, {3855, 1911, 20480, 0, 0, 0, 0}, {22408, 24320, 8192, 0, 0, 0, 0}, {275, 325, 1285, 4112, 0, 0, 0}, {2570, 544, 21760, 0, 0, 0, 0}, {12, 48, 771, 1092, 4096, 0, 0}, {12, 5888, 1088, 0, 0, 0, 0}, {90, 626, 1285, 0, 0, 0, 0}, {12, 4386, 4870, 4420, 5376, 0, 0}, {1919, 8304, 20480, 0, 0, 0, 0}, {48, 1792, 4176, 0, 0, 0, 0}, {520, 102, 4369, 0, 0, 0, 0}, {4122, 48, 4626, 4160, 1280, 0, 0}, {4959, 13107, 17408, 0, 0, 0, 0}, {4892, 4896, 5140, 0, 0, 0, 0}, {5439, 512, 5461, 0, 0, 0, 0}, {90, 102, 512, 1280, 4352, 0, 0}, {192, 5911, 16448, 0, 0, 0, 0}, {1800, 48, 4112, 0, 0, 0, 0}, {4403, 512, 4437, 0, 0, 0, 0}, {90, 48, 512, 1280, 4096, 0, 0}, {204, 4883, 17476, 0, 0, 0, 0}, {60, 1792, 5200, 0, 0, 0, 0}, {520, 610, 5397, 0, 0, 0, 0}, {4382, 4386, 4886, 4420, 1280, 0, 0}, {5983, 8288, 16384, 0, 0, 0, 0}, {22432, 2048, 30464, 0, 0, 0, 0}, {263, 337, 1028, 4369, 0, 0, 0}, {520, 8738, 21760, 0, 0, 0, 0}, {12, 48, 771, 4176, 1024, 0, 0}, {12, 4896, 1028, 0, 0, 0, 0}, {1295, 512, 1365, 0, 0, 0, 0}, {12, 102, 512, 1024, 4352, 0, 0}, {240, 1799, 20560, 0, 0, 0, 0}, {22440, 2056, 8224, 0, 0, 0, 0}, {259, 341, 1024, 4096, 0, 0, 0}, {170, 512, 21760, 0, 0, 0, 0}, {12, 48, 771, 1028, 4112, 0, 0}, {12, 4960, 1024, 0, 0, 0, 0}, {1295, 1799, 1365, 0, 0, 0, 0}, {12, 4386, 516, 4420, 1028, 0, 0}, {1807, 8272, 20560, 0, 0, 0, 0}, {48, 5888, 4160, 0, 0, 0, 0}, {590, 102, 4369, 0, 0, 0, 0}, {4106, 48, 4626, 4176, 5376, 0, 0}, {4991, 13107, 17408, 0, 0, 0, 0}, {60, 4864, 5188, 0, 0, 0, 0}, {586, 544, 5397, 0, 0, 0, 0}, {1290, 1334, 1814, 1360, 4352, 0, 0}, {2120, 6007, 16384, 0, 0, 0, 0}, {1864, 48, 4096, 0, 0, 0, 0}, {4403, 4883, 4437, 0, 0, 0, 0}, {1290, 48, 528, 1360, 4112, 0, 0}, {2116, 4915, 17476, 0, 0, 0, 0}, {4940, 4976, 5120, 0, 0, 0, 0}, {5439, 5911, 5461, 0, 0, 0, 0}, {4382, 4386, 532, 4420, 5140, 0, 0}, {5951, 8256, 16448, 0, 0, 0, 0}, {192, 5888, 16384, 0, 0, 0, 0}, {90, 102, 514, 1285, 4369, 0, 0}, {5418, 514, 5440, 0, 0, 0, 0}, {4879, 4915, 5120, 0, 0, 0, 0}, {4940, 13056, 17476, 0, 0, 0, 0}, {4106, 48, 4608, 4176, 1285, 0, 0}, {522, 102, 4352, 0, 0, 0, 0}, {48, 1799, 4160, 0, 0, 0, 0}, {5960, 8256, 16448, 0, 0, 0, 0}, {4367, 4403, 4869, 4437, 1285, 0, 0}, {522, 608, 5376, 0, 0, 0, 0}, {60, 1799, 5188, 0, 0, 0, 0}, {204, 4864, 17408, 0, 0, 0, 0}, {90, 48, 514, 1285, 4112, 0, 0}, {4386, 514, 4420, 0, 0, 0, 0}, {1807, 48, 4096, 0, 0, 0, 0}, {3840, 1904, 20560, 0, 0, 0, 0}, {12, 1058, 1536, 1092, 4369, 0, 0}, {90, 546, 1280, 0, 0, 0, 0}, {12, 4883, 1088, 0, 0, 0, 0}, {12, 48, 768, 4176, 5140, 0, 0}, {554, 8704, 21845, 0, 0, 0, 0}, {278, 320, 1280, 4352, 0, 0, 0}, {22487, 24415, 30583, 0, 0, 0, 0}, {1912, 8272, 20560, 0, 0, 0, 0}, {12, 4403, 4885, 4437, 5397, 0, 0}, {90, 624, 1280, 0, 0, 0, 0}, {12, 5911, 1092, 0, 0, 0, 0}, {12, 48, 768, 1088, 4112, 0, 0}, {2560, 546, 21845, 0, 0, 0, 0}, {274, 324, 1280, 4096, 0, 0, 0}, {22495, 24415, 8224, 0, 0, 0, 0}, {2112, 5984, 16448, 0, 0, 0, 0}, {1295, 1331, 1809, 1365, 4369, 0, 0}, {584, 546, 5376, 0, 0, 0, 0}, {60, 4883, 5200, 0, 0, 0, 0}, {4972, 13056, 17476, 0, 0, 0, 0}, {4122, 48, 4608, 4160, 5397, 0, 0}, {588, 102, 4352, 0, 0, 0, 0}, {48, 5911, 4176, 0, 0, 0, 0}, {5928, 8288, 16384, 0, 0, 0, 0}, {4367, 4403, 534, 4437, 5120, 0, 0}, {5418, 5888, 5440, 0, 0, 0, 0}, {4959, 4963, 5140, 0, 0, 0, 0}, {2124, 4896, 17408, 0, 0, 0, 0}, {1295, 48, 530, 1365, 4096, 0, 0}, {4386, 4864, 4420, 0, 0, 0, 0}, {1871, 48, 4112, 0, 0, 0, 0}, {240, 1792, 20480, 0, 0, 0, 0}, {12, 102, 514, 1028, 4369, 0, 0}, {1290, 514, 1360, 0, 0, 0, 0}, {12, 4915, 1024, 0, 0, 0, 0}, {12, 48, 768, 4160, 1028, 0, 0}, {522, 8704, 21845, 0, 0, 0, 0}, {262, 336, 1024, 4352, 0, 0, 0}, {22519, 2056, 30583, 0, 0, 0, 0}, {1800, 8304, 20480, 0, 0, 0, 0}, {12, 4403, 518, 4437, 1024, 0, 0}, {1290, 1792, 1360, 0, 0, 0, 0}, {12, 4979, 1028, 0, 0, 0, 0}, {12, 48, 768, 1024, 4096, 0, 0}, {170, 514, 21845, 0, 0, 0, 0}, {258, 340, 1028, 4112, 0, 0, 0}, {22527, 2048, 8192, 0, 0, 0, 0}, {2048, 8192, 20480, 0, 0, 0, 0}, {12, 51, 85, 257, 0, 0, 0}, {170, 514, 20490, 0, 0, 0, 0}, {12, 51, 771, 1024, 4099, 0, 0}, {12, 12288, 4160, 1028, 0, 0, 0}, {522, 8704, 85, 1285, 0, 0, 0}, {12, 102, 518, 1024, 4102, 0, 0}, {255, 1799, 20495, 0, 0, 0, 0}, {8320, 2056, 20480, 0, 0, 0, 0}, {51, 771, 261, 4352, 0, 0, 0}, {522, 8704, 20992, 0, 0, 0, 0}, {12, 51, 771, 4163, 1028, 0, 0}, {12, 1024, 4096, 0, 0, 0, 0}, {514, 85, 1285, 0, 0, 0, 0}, {12, 4128, 514, 4166, 1028, 0, 0}, {1807, 8192, 22272, 0, 0, 0, 0}, {192, 2112, 4112, 0, 0, 0, 0}, {51, 529, 85, 1280, 4369, 0, 0}, {4186, 4144, 4626, 16384, 0, 0, 0}, {5215, 51, 4883, 17408, 0, 0, 0}, {204, 8300, 5140, 0, 0, 0, 0}, {63, 533, 85, 1280, 4117, 0, 0}, {5210, 102, 5654, 17408, 0, 0, 0}, {4191, 4192, 5911, 16384, 0, 0, 0}, {6168, 12336, 4176, 0, 0, 0, 0}, {537, 51, 85, 1280, 4352, 0, 0}, {4122, 4208, 576, 16448, 0, 0, 0}, {5147, 51, 1860, 17476, 0, 0, 0}, {7196, 8224, 5200, 0, 0, 0, 0}, {541, 546, 85, 1280, 4096, 0, 0}, {5150, 102, 580, 17476, 0, 0, 0}, {4127, 4128, 1856, 16448, 0, 0, 0}, {20640, 22560, 8224, 0, 0, 0, 0}, {274, 85, 1041, 4369, 0, 0, 0}, {2560, 546, 20480, 0, 0, 0, 0}, {12, 51, 771, 1088, 4112, 0, 0}, {12, 5156, 1092, 0, 0, 0, 0}, {1295, 1829, 85, 0, 0, 0, 0}, {12, 4134, 4608, 4160, 5120, 0, 0}, {1912, 10023, 20560, 0, 0, 0, 0}, {20640, 22568, 28672, 0, 0, 0, 0}, {278, 85, 1045, 4352, 0, 0, 0}, {554, 8704, 20480, 0, 0, 0, 0}, {12, 51, 771, 4176, 5140, 0, 0}, {12, 4128, 1088, 0, 0, 0, 0}, {1295, 546, 85, 0, 0, 0, 0}, {12, 1058, 1536, 1092, 4096, 0, 0}, {3855, 1904, 20560, 0, 0, 0, 0}, {2048, 4144, 16384, 0, 0, 0, 0}, {1290, 51, 514, 85, 4369, 0, 0}, {106, 514, 4112, 0, 0, 0, 0}, {51, 4864, 5120, 0, 0, 0, 0}, {5240, 13364, 17476, 0, 0, 0, 0}, {4106, 4149, 4608, 85, 5376, 0, 0}, {522, 5174, 5200, 0, 0, 0, 0}, {1800, 1847, 4160, 0, 0, 0, 0}, {2056, 4208, 16448, 0, 0, 0, 0}, {1290, 51, 1792, 85, 4352, 0, 0}, {522, 4656, 4176, 0, 0, 0, 0}, {1800, 51, 5188, 0, 0, 0, 0}, {5180, 8192, 17408, 0, 0, 0, 0}, {4127, 4128, 514, 85, 5397, 0, 0}, {102, 514, 5140, 0, 0, 0, 0}, {63, 1792, 4096, 0, 0, 0, 0}, {6144, 12288, 4160, 0, 0, 0, 0}, {539, 51, 85, 1285, 4369, 0, 0}, {4106, 4192, 578, 16384, 0, 0, 0}, {5135, 51, 1859, 17408, 0, 0, 0}, {7168, 8192, 5188, 0, 0, 0, 0}, {543, 544, 85, 1285, 4112, 0, 0}, {5130, 102, 582, 17408, 0, 0, 0}, {4111, 4144, 1863, 16384, 0, 0, 0}, {192, 2120, 4096, 0, 0, 0, 0}, {51, 531, 85, 1285, 4352, 0, 0}, {4170, 4128, 4608, 16448, 0, 0, 0}, {5195, 51, 4864, 17476, 0, 0, 0}, {204, 8268, 5120, 0, 0, 0, 0}, {63, 535, 85, 1285, 4101, 0, 0}, {5198, 102, 5632, 17476, 0, 0, 0}, {4175, 4208, 5888, 16448, 0, 0, 0}, {8352, 2048, 20560, 0, 0, 0, 0}, {51, 768, 260, 4369, 0, 0, 0}, {520, 8738, 21074, 0, 0, 0, 0}, {12, 51, 768, 4179, 1024, 0, 0}, {12, 1028, 4112, 0, 0, 0, 0}, {512, 85, 1280, 0, 0, 0, 0}, {12, 4144, 512, 4182, 1024, 0, 0}, {1800, 8224, 22359, 0, 0, 0, 0}, {2056, 8224, 20560, 0, 0, 0, 0}, {12, 51, 85, 256, 0, 0, 0}, {170, 512, 20570, 0, 0, 0, 0}, {12, 51, 768, 1028, 4115, 0, 0}, {12, 12336, 4176, 1024, 0, 0, 0}, {520, 8738, 85, 1280, 0, 0, 0}, {12, 102, 516, 1028, 4118, 0, 0}, {255, 1792, 20575, 0, 0, 0, 0}, {2048, 4192, 16384, 0, 0, 0, 0}, {1295, 51, 1799, 85, 4369, 0, 0}, {520, 4642, 4160, 0, 0, 0, 0}, {1807, 51, 5200, 0, 0, 0, 0}, {5160, 8224, 17476, 0, 0, 0, 0}, {4111, 4144, 512, 85, 5376, 0, 0}, {102, 512, 5120, 0, 0, 0, 0}, {63, 1799, 4112, 0, 0, 0, 0}, {2056, 4128, 16448, 0, 0, 0, 0}, {1295, 51, 512, 85, 4352, 0, 0}, {106, 512, 4096, 0, 0, 0, 0}, {51, 4883, 5140, 0, 0, 0, 0}, {5228, 13312, 17408, 0, 0, 0, 0}, {4122, 4133, 4626, 85, 5397, 0, 0}, {520, 5154, 5188, 0, 0, 0, 0}, {1807, 1840, 4176, 0, 0, 0, 0}, {20720, 22640, 28784, 0, 0, 0, 0}, {279, 85, 1041, 4369, 0, 0, 0}, {552, 8738, 20560, 0, 0, 0, 0}, {12, 51, 768, 4160, 5120, 0, 0}, {12, 4144, 1092, 0, 0, 0, 0}, {1290, 544, 85, 0, 0, 0, 0}, {12, 1062, 1542, 1088, 4112, 0, 0}, {3840, 1911, 20480, 0, 0, 0, 0}, {20720, 22648, 8192, 0, 0, 0, 0}, {275, 85, 1045, 4352, 0, 0, 0}, {2570, 544, 20560, 0, 0, 0, 0}, {12, 51, 768, 1092, 4096, 0, 0}, {12, 5168, 1088, 0, 0, 0, 0}, {1290, 1826, 85, 0, 0, 0, 0}, {12, 4150, 4626, 4176, 5140, 0, 0}, {1919, 9984, 20480, 0, 0, 0, 0}, {8320, 10240, 20480, 0, 0, 0, 0}, {51, 771, 276, 4369, 0, 0, 0}, {552, 8738, 21026, 0, 0, 0, 0}, {12, 51, 771, 4163, 5123, 0, 0}, {12, 1092, 4096, 0, 0, 0, 0}, {544, 85, 1285, 0, 0, 0, 0}, {12, 4128, 4608, 4166, 5126, 0, 0}, {1912, 8192, 22391, 0, 0, 0, 0}, {2184, 8192, 20480, 0, 0, 0, 0}, {12, 771, 1285, 272, 0, 0, 0}, {2570, 544, 20490, 0, 0, 0, 0}, {12, 51, 771, 1092, 4099, 0, 0}, {12, 12288, 4160, 5120, 0, 0, 0}, {552, 8738, 85, 1285, 0, 0, 0}, {12, 1058, 1542, 1092, 4102, 0, 0}, {3855, 1904, 20495, 0, 0, 0, 0}, {2048, 12336, 4176, 0, 0, 0, 0}, {520, 51, 85, 1280, 4369, 0, 0}, {4122, 4208, 4626, 16448, 0, 0, 0}, {5215, 51, 1792, 17408, 0, 0, 0}, {204, 8224, 5140, 0, 0, 0, 0}, {63, 512, 85, 1280, 4096, 0, 0}, {5210, 102, 512, 17408, 0, 0, 0}, {4127, 4128, 5911, 16448, 0, 0, 0}, {192, 2056, 4112, 0, 0, 0, 0}, {51, 512, 85, 1280, 4352, 0, 0}, {4186, 4144, 512, 16384, 0, 0, 0}, {5147, 51, 4883, 17476, 0, 0, 0}, {2048, 13372, 5200, 0, 0, 0, 0}, {520, 567, 85, 1280, 4117, 0, 0}, {5150, 102, 5654, 17476, 0, 0, 0}, {4191, 4192, 1792, 16384, 0, 0, 0}, {20640, 2048, 28672, 0, 0, 0, 0}, {263, 85, 1028, 4369, 0, 0, 0}, {520, 8738, 20480, 0, 0, 0, 0}, {12, 51, 771, 4176, 1024, 0, 0}, {12, 4128, 1028, 0, 0, 0, 0}, {1295, 512, 85, 0, 0, 0, 0}, {12, 102, 512, 1024, 4096, 0, 0}, {255, 1799, 20560, 0, 0, 0, 0}, {20640, 2056, 8224, 0, 0, 0, 0}, {259, 85, 1024, 4352, 0, 0, 0}, {170, 512, 20480, 0, 0, 0, 0}, {12, 51, 771, 1028, 4112, 0, 0}, {12, 4192, 1024, 0, 0, 0, 0}, {1295, 1799, 85, 0, 0, 0, 0}, {12, 4134, 516, 4160, 1028, 0, 0}, {1807, 10064, 20560, 0, 0, 0, 0}, {2112, 4208, 16448, 0, 0, 0, 0}, {1290, 51, 1809, 85, 4369, 0, 0}, {4154, 4626, 4176, 0, 0, 0, 0}, {4940, 51, 5120, 0, 0, 0, 0}, {5240, 8192, 17476, 0, 0, 0, 0}, {4127, 4128, 4608, 85, 5397, 0, 0}, {5174, 5654, 5200, 0, 0, 0, 0}, {1864, 1911, 4096, 0, 0, 0, 0}, {2120, 4144, 16384, 0, 0, 0, 0}, {1290, 51, 531, 85, 4352, 0, 0}, {586, 544, 4112, 0, 0, 0, 0}, {51, 4864, 5188, 0, 0, 0, 0}, {5180, 13424, 17408, 0, 0, 0, 0}, {4106, 4149, 535, 85, 5376, 0, 0}, {590, 102, 5140, 0, 0, 0, 0}, {63, 5888, 4160, 0, 0, 0, 0}, {192, 2048, 4096, 0, 0, 0, 0}, {51, 514, 85, 1285, 4369, 0, 0}, {4170, 4128, 514, 16448, 0, 0, 0}, {5135, 51, 4864, 17408, 0, 0, 0}, {2056, 13320, 5188, 0, 0, 0, 0}, {522, 565, 85, 1285, 4101, 0, 0}, {5130, 102, 5632, 17408, 0, 0, 0}, {4175, 4208, 1799, 16448, 0, 0, 0}, {2056, 12288, 4160, 0, 0, 0, 0}, {522, 51, 85, 1285, 4352, 0, 0}, {4106, 4192, 4608, 16384, 0, 0, 0}, {5195, 51, 1799, 17476, 0, 0, 0}, {204, 8192, 5120, 0, 0, 0, 0}, {63, 514, 85, 1285, 4112, 0, 0}, {5198, 102, 514, 17476, 0, 0, 0}, {4111, 4144, 5888, 16384, 0, 0, 0}, {2176, 8224, 20560, 0, 0, 0, 0}, {12, 768, 1280, 273, 0, 0, 0}, {2560, 546, 20570, 0, 0, 0, 0}, {12, 51, 768, 1088, 4115, 0, 0}, {12, 12336, 4176, 5140, 0, 0, 0}, {554, 8704, 85, 1280, 0, 0, 0}, {12, 1062, 1536, 1088, 4118, 0, 0}, {3840, 1911, 20575, 0, 0, 0, 0}, {8352, 10280, 20560, 0, 0, 0, 0}, {51, 768, 277, 4352, 0, 0, 0}, {554, 8704, 21104, 0, 0, 0, 0}, {12, 51, 768, 4179, 5143, 0, 0}, {12, 1088, 4112, 0, 0, 0, 0}, {546, 85, 1280, 0, 0, 0, 0}, {12, 4144, 4626, 4182, 5138, 0, 0}, {1919, 8224, 22304, 0, 0, 0, 0}, {2112, 4128, 16448, 0, 0, 0, 0}, {1295, 51, 529, 85, 4369, 0, 0}, {584, 546, 4096, 0, 0, 0, 0}, {51, 4883, 5200, 0, 0, 0, 0}, {5160, 13380, 17476, 0, 0, 0, 0}, {4122, 4133, 533, 85, 5397, 0, 0}, {588, 102, 5120, 0, 0, 0, 0}, {63, 5911, 4176, 0, 0, 0, 0}, {2120, 4192, 16384, 0, 0, 0, 0}, {1295, 51, 1814, 85, 4352, 0, 0}, {4138, 4608, 4160, 0, 0, 0, 0}, {4959, 51, 5140, 0, 0, 0, 0}, {5228, 8224, 17408, 0, 0, 0, 0}, {4111, 4144, 4626, 85, 5376, 0, 0}, {5154, 5632, 5188, 0, 0, 0, 0}, {1871, 1904, 4112, 0, 0, 0, 0}, {20720, 2048, 8192, 0, 0, 0, 0}, {258, 85, 1028, 4369, 0, 0, 0}, {170, 514, 20560, 0, 0, 0, 0}, {12, 51, 768, 1024, 4096, 0, 0}, {12, 4208, 1028, 0, 0, 0, 0}, {1290, 1792, 85, 0, 0, 0, 0}, {12, 4150, 518, 4176, 1024, 0, 0}, {1800, 10103, 20480, 0, 0, 0, 0}, {20720, 2056, 28784, 0, 0, 0, 0}, {262, 85, 1024, 4352, 0, 0, 0}, {522, 8704, 20560, 0, 0, 0, 0}, {12, 51, 768, 4160, 1028, 0, 0}, {12, 4144, 1024, 0, 0, 0, 0}, {1290, 514, 85, 0, 0, 0, 0}, {12, 102, 514, 1028, 4112, 0, 0}, {255, 1792, 20480, 0, 0, 0, 0}, {3072, 13056, 21760, 0, 0, 0, 0}, {8, 32, 80, 257, 0, 0, 0}, {8, 32, 514, 1024, 4354, 0, 0}, {240, 771, 21775, 0, 0, 0, 0}, {8, 8704, 4420, 1028, 0, 0, 0}, {783, 12288, 80, 1285, 0, 0, 0}, {160, 1542, 21770, 0, 0, 0, 0}, {8, 112, 775, 1024, 4359, 0, 0}, {8, 1024, 4352, 0, 0, 0, 0}, {771, 80, 1285, 0, 0, 0, 0}, {1546, 13056, 21248, 0, 0, 0, 0}, {8, 4403, 771, 4419, 1028, 0, 0}, {13260, 3084, 21760, 0, 0, 0, 0}, {32, 514, 261, 4096, 0, 0, 0}, {8, 32, 514, 4422, 1028, 0, 0}, {783, 12288, 22016, 0, 0, 0, 0}, {32, 784, 80, 1280, 4112, 0, 0}, {136, 3140, 4369, 0, 0, 0, 0}, {4442, 4386, 4626, 17408, 0, 0, 0}, {5471, 32, 4883, 16384, 0, 0, 0}, {40, 788, 80, 1280, 4372, 0, 0}, {128, 13183, 5397, 0, 0, 0, 0}, {5466, 112, 5654, 16384, 0, 0, 0}, {4447, 4471, 5911, 17408, 0, 0, 0}, {792, 816, 80, 1280, 4352, 0, 0}, {6425, 13107, 5461, 0, 0, 0, 0}, {5402, 112, 832, 16448, 0, 0, 0}, {4379, 4403, 1604, 17476, 0, 0, 0}, {796, 32, 80, 1280, 4096, 0, 0}, {7453, 8738, 4437, 0, 0, 0, 0}, {4382, 4454, 836, 17476, 0, 0, 0}, {5407, 32, 1600, 16448, 0, 0, 0}, {32, 4864, 5376, 0, 0, 0, 0}, {120, 771, 4369, 0, 0, 0, 0}, {3072, 4386, 17408, 0, 0, 0, 0}, {1295, 32, 771, 80, 4112, 0, 0}, {1548, 1572, 4420, 0, 0, 0, 0}, {783, 5413, 5461, 0, 0, 0, 0}, {5482, 9766, 16448, 0, 0, 0, 0}, {4367, 4391, 4608, 80, 5120, 0, 0}, {40, 1536, 4352, 0, 0, 0, 0}, {112, 771, 5397, 0, 0, 0, 0}, {5418, 13056, 16384, 0, 0, 0, 0}, {4379, 4403, 771, 80, 5140, 0, 0}, {1548, 32, 5440, 0, 0, 0, 0}, {783, 4642, 4437, 0, 0, 0, 0}, {3084, 4454, 17476, 0, 0, 0, 0}, {1295, 32, 1536, 80, 4096, 0, 0}, {3840, 816, 21760, 0, 0, 0, 0}, {8, 32, 514, 1092, 4369, 0, 0}, {274, 80, 1040, 4112, 0, 0, 0}, {22015, 22835, 13107, 0, 0, 0, 0}, {8, 4404, 4608, 4420, 5376, 0, 0}, {1642, 13621, 21845, 0, 0, 0, 0}, {1290, 1590, 80, 0, 0, 0, 0}, {8, 5431, 1088, 0, 0, 0, 0}, {8, 1072, 1792, 1088, 4352, 0, 0}, {2570, 1638, 21845, 0, 0, 0, 0}, {1290, 816, 80, 0, 0, 0, 0}, {8, 4403, 1092, 0, 0, 0, 0}, {828, 12288, 21760, 0, 0, 0, 0}, {8, 32, 514, 4437, 5397, 0, 0}, {278, 80, 1044, 4096, 0, 0, 0}, {22015, 22847, 26112, 0, 0, 0, 0}, {6400, 13056, 5440, 0, 0, 0, 0}, {795, 819, 80, 1285, 4369, 0, 0}, {4362, 4386, 1602, 17408, 0, 0, 0}, {5391, 112, 835, 16384, 0, 0, 0}, {7424, 8704, 4420, 0, 0, 0, 0}, {799, 32, 80, 1285, 4112, 0, 0}, {5386, 32, 1606, 16384, 0, 0, 0}, {4367, 4471, 839, 17408, 0, 0, 0}, {136, 3144, 4352, 0, 0, 0, 0}, {32, 787, 80, 1285, 4096, 0, 0}, {5450, 32, 4864, 16448, 0, 0, 0}, {4427, 4403, 4608, 17476, 0, 0, 0}, {128, 13132, 5376, 0, 0, 0, 0}, {40, 791, 80, 1285, 4357, 0, 0}, {4430, 4454, 5888, 17476, 0, 0, 0}, {5455, 112, 5632, 16448, 0, 0, 0}, {768, 80, 1280, 0, 0, 0, 0}, {8, 1028, 4369, 0, 0, 0, 0}, {8, 4386, 768, 4434, 1024, 0, 0}, {1548, 13107, 21331, 0, 0, 0, 0}, {32, 512, 260, 4112, 0, 0, 0}, {13311, 3072, 21845, 0, 0, 0, 0}, {780, 12336, 22102, 0, 0, 0, 0}, {8, 32, 512, 4439, 1024, 0, 0}, {8, 32, 80, 256, 0, 0, 0}, {3084, 13107, 21845, 0, 0, 0, 0}, {240, 768, 21850, 0, 0, 0, 0}, {8, 32, 512, 1028, 4371, 0, 0}, {780, 12336, 80, 1280, 0, 0, 0}, {8, 8738, 4437, 1024, 0, 0, 0}, {8, 112, 772, 1028, 4374, 0, 0}, {160, 1536, 21855, 0, 0, 0, 0}, {2560, 1632, 21760, 0, 0, 0, 0}, {8, 1076, 1799, 1092, 4369, 0, 0}, {8, 4386, 1088, 0, 0, 0, 0}, {1295, 819, 80, 0, 0, 0, 0}, {8, 32, 512, 4420, 5376, 0, 0}, {831, 12336, 21845, 0, 0, 0, 0}, {21930, 22886, 26214, 0, 0, 0, 0}, {279, 80, 1040, 4112, 0, 0, 0}, {8, 32, 512, 1088, 4352, 0, 0}, {3855, 819, 21845, 0, 0, 0, 0}, {21930, 22890, 13056, 0, 0, 0, 0}, {275, 80, 1044, 4096, 0, 0, 0}, {1644, 13568, 21760, 0, 0, 0, 0}, {8, 4389, 4626, 4437, 5397, 0, 0}, {8, 5410, 1092, 0, 0, 0, 0}, {1295, 1584, 80, 0, 0, 0, 0}, {112, 768, 5376, 0, 0, 0, 0}, {40, 1542, 4369, 0, 0, 0, 0}, {4362, 4386, 768, 80, 5120, 0, 0}, {5439, 13107, 16448, 0, 0, 0, 0}, {780, 4656, 4420, 0, 0, 0, 0}, {1546, 32, 5461, 0, 0, 0, 0}, {1290, 32, 1542, 80, 4112, 0, 0}, {3072, 4471, 17408, 0, 0, 0, 0}, {120, 768, 4352, 0, 0, 0, 0}, {32, 4883, 5397, 0, 0, 0, 0}, {1290, 32, 768, 80, 4096, 0, 0}, {3084, 4403, 17476, 0, 0, 0, 0}, {780, 5424, 5440, 0, 0, 0, 0}, {1546, 1570, 4437, 0, 0, 0, 0}, {4382, 4406, 4626, 80, 5140, 0, 0}, {5503, 9728, 16384, 0, 0, 0, 0}, {128, 13056, 5376, 0, 0, 0, 0}, {40, 771, 80, 1285, 4369, 0, 0}, {4362, 4386, 5888, 17408, 0, 0, 0}, {5455, 112, 771, 16448, 0, 0, 0}, {3084, 8704, 4420, 0, 0, 0, 0}, {783, 32, 80, 1285, 4096, 0, 0}, {5450, 32, 1542, 16448, 0, 0, 0}, {4367, 4471, 4608, 17408, 0, 0, 0}, {136, 3072, 4352, 0, 0, 0, 0}, {32, 771, 80, 1285, 4112, 0, 0}, {5386, 32, 4864, 16384, 0, 0, 0}, {4427, 4403, 771, 17476, 0, 0, 0}, {3084, 9740, 5440, 0, 0, 0, 0}, {783, 807, 80, 1285, 4357, 0, 0}, {4430, 4454, 1542, 17476, 0, 0, 0}, {5391, 112, 5632, 16384, 0, 0, 0}, {816, 80, 1280, 0, 0, 0, 0}, {8, 1092, 4369, 0, 0, 0, 0}, {8, 4386, 4626, 4434, 5394, 0, 0}, {1644, 13107, 21299, 0, 0, 0, 0}, {32, 512, 276, 4096, 0, 0, 0}, {13311, 16191, 21845, 0, 0, 0, 0}, {828, 12288, 22118, 0, 0, 0, 0}, {8, 32, 512, 4439, 5399, 0, 0}, {8, 512, 1280, 272, 0, 0, 0}, {3276, 13107, 21845, 0, 0, 0, 0}, {3840, 816, 21850, 0, 0, 0, 0}, {8, 32, 512, 1092, 4371, 0, 0}, {828, 12288, 80, 1280, 0, 0, 0}, {8, 8738, 4437, 5397, 0, 0, 0}, {8, 1076, 1792, 1092, 4374, 0, 0}, {2560, 1632, 21855, 0, 0, 0, 0}, {160, 1536, 21760, 0, 0, 0, 0}, {8, 112, 771, 1028, 4369, 0, 0}, {8, 4386, 1024, 0, 0, 0, 0}, {1295, 771, 80, 0, 0, 0, 0}, {8, 32, 512, 4420, 1028, 0, 0}, {783, 12288, 21845, 0, 0, 0, 0}, {21930, 3084, 26214, 0, 0, 0, 0}, {263, 80, 1024, 4096, 0, 0, 0}, {8, 32, 512, 1024, 4352, 0, 0}, {240, 771, 21845, 0, 0, 0, 0}, {21930, 3072, 13056, 0, 0, 0, 0}, {259, 80, 1028, 4112, 0, 0, 0}, {1548, 13664, 21760, 0, 0, 0, 0}, {8, 4389, 775, 4437, 1024, 0, 0}, {8, 4454, 1028, 0, 0, 0, 0}, {1295, 1536, 80, 0, 0, 0, 0}, {5424, 5632, 5440, 0, 0, 0, 0}, {1614, 1638, 4369, 0, 0, 0, 0}, {4362, 4386, 4626, 80, 5120, 0, 0}, {5503, 13107, 16384, 0, 0, 0, 0}, {4412, 4608, 4420, 0, 0, 0, 0}, {4959, 32, 5397, 0, 0, 0, 0}, {1290, 32, 1558, 80, 4096, 0, 0}, {3144, 4471, 17408, 0, 0, 0, 0}, {840, 816, 4352, 0, 0, 0, 0}, {32, 4883, 5461, 0, 0, 0, 0}, {1290, 32, 784, 80, 4112, 0, 0}, {3140, 4403, 17476, 0, 0, 0, 0}, {844, 112, 5376, 0, 0, 0, 0}, {40, 5911, 4437, 0, 0, 0, 0}, {4382, 4406, 788, 80, 5140, 0, 0}, {5439, 9792, 16448, 0, 0, 0, 0}, {3264, 13056, 21760, 0, 0, 0, 0}, {8, 514, 1285, 273, 0, 0, 0}, {8, 32, 514, 1088, 4354, 0, 0}, {3855, 819, 21775, 0, 0, 0, 0}, {8, 8704, 4420, 5376, 0, 0, 0}, {831, 12336, 80, 1285, 0, 0, 0}, {2570, 1638, 21770, 0, 0, 0, 0}, {8, 1072, 1799, 1088, 4359, 0, 0}, {8, 1088, 4352, 0, 0, 0, 0}, {819, 80, 1285, 0, 0, 0, 0}, {1642, 13056, 21344, 0, 0, 0, 0}, {8, 4403, 4608, 4419, 5383, 0, 0}, {13260, 16128, 21760, 0, 0, 0, 0}, {32, 514, 277, 4112, 0, 0, 0}, {8, 32, 514, 4422, 5378, 0, 0}, {831, 12336, 22064, 0, 0, 0, 0}, {32, 768, 80, 1280, 4096, 0, 0}, {136, 3084, 4369, 0, 0, 0, 0}, {4442, 4386, 768, 17408, 0, 0, 0}, {5407, 32, 4883, 16448, 0, 0, 0}, {780, 804, 80, 1280, 4372, 0, 0}, {3072, 9770, 5461, 0, 0, 0, 0}, {5402, 112, 5654, 16448, 0, 0, 0}, {4447, 4471, 1536, 17408, 0, 0, 0}, {40, 768, 80, 1280, 4352, 0, 0}, {128, 13107, 5397, 0, 0, 0, 0}, {5466, 112, 768, 16384, 0, 0, 0}, {4379, 4403, 5911, 17476, 0, 0, 0}, {780, 32, 80, 1280, 4112, 0, 0}, {3072, 8738, 4437, 0, 0, 0, 0}, {4382, 4454, 4626, 17476, 0, 0, 0}, {5471, 32, 1536, 16384, 0, 0, 0}, {32, 4864, 5440, 0, 0, 0, 0}, {843, 819, 4369, 0, 0, 0, 0}, {3144, 4386, 17408, 0, 0, 0, 0}, {1295, 32, 787, 80, 4096, 0, 0}, {40, 5888, 4420, 0, 0, 0, 0}, {847, 112, 5397, 0, 0, 0, 0}, {5418, 9830, 16384, 0, 0, 0, 0}, {4367, 4391, 791, 80, 5120, 0, 0}, {1608, 1632, 4352, 0, 0, 0, 0}, {5413, 5654, 5461, 0, 0, 0, 0}, {5482, 13056, 16448, 0, 0, 0, 0}, {4379, 4403, 4608, 80, 5140, 0, 0}, {4940, 32, 5376, 0, 0, 0, 0}, {4397, 4626, 4437, 0, 0, 0, 0}, {3140, 4454, 17476, 0, 0, 0, 0}, {1295, 32, 1552, 80, 4112, 0, 0}, {240, 768, 21760, 0, 0, 0, 0}, {8, 32, 514, 1028, 4369, 0, 0}, {258, 80, 1024, 4096, 0, 0, 0}, {22015, 3084, 13107, 0, 0, 0, 0}, {8, 4404, 772, 4420, 1028, 0, 0}, {1546, 13653, 21845, 0, 0, 0, 0}, {1290, 1542, 80, 0, 0, 0, 0}, {8, 4471, 1024, 0, 0, 0, 0}, {8, 112, 768, 1024, 4352, 0, 0}, {160, 1542, 21845, 0, 0, 0, 0}, {1290, 768, 80, 0, 0, 0, 0}, {8, 4403, 1028, 0, 0, 0, 0}, {780, 12336, 21760, 0, 0, 0, 0}, {8, 32, 514, 4437, 1024, 0, 0}, {262, 80, 1028, 4112, 0, 0, 0}, {22015, 3072, 26112, 0, 0, 0, 0}, {23040, 0, 0, 0, 0, 0, 0}, {19, 4, 257, 0, 0, 0, 0}, {8, 32, 514, 20480, 0, 0, 0}, {12, 51, 771, 21760, 0, 0, 0}, {4608, 4, 0, 0, 0, 0, 0}, {95, 1285, 0, 0, 0, 0, 0}, {12, 96, 1542, 20480, 0, 0, 0}, {8, 119, 1799, 21760, 0, 0, 0}, {8, 8704, 20992, 0, 0, 0, 0}, {12, 51, 771, 83, 1285, 0, 0}, {160, 2570, 20480, 0, 0, 0, 0}, {51, 771, 4, 4352, 0, 0, 0}, {12, 12288, 22016, 0, 0, 0, 0}, {8, 32, 514, 87, 1285, 0, 0}, {32, 514, 4, 4096, 0, 0, 0}, {255, 3855, 21760, 0, 0, 0, 0}, {2560, 32, 64, 4112, 0, 0, 0}, {3840, 51, 68, 4369, 0, 0, 0}, {72, 4626, 0, 0, 0, 0, 0}, {19, 1280, 0, 0, 0, 0, 0}, {40, 8704, 68, 5140, 0, 0, 0}, {63, 12288, 64, 5397, 0, 0, 0}, {76, 5654, 0, 0, 0, 0, 0}, {23, 1280, 0, 0, 0, 0, 0}, {72, 96, 4688, 20560, 0, 0, 0}, {76, 51, 5717, 21845, 0, 0, 0}, {6682, 12336, 64, 0, 0, 0, 0}, {27, 51, 68, 1280, 4352, 0, 0}, {76, 32, 5712, 20560, 0, 0, 0}, {72, 119, 4693, 21845, 0, 0, 0}, {7710, 8738, 68, 0, 0, 0, 0}, {31, 32, 64, 1280, 4096, 0, 0}, {2560, 32, 20480, 0, 0, 0, 0}, {12, 51, 771, 68, 4369, 0, 0}, {136, 23074, 8738, 0, 0, 0, 0}, {19, 64, 1296, 4112, 0, 0, 0}, {12, 36, 4608, 68, 5120, 0, 0}, {127, 9509, 21845, 0, 0, 0, 0}, {12, 5670, 64, 0, 0, 0, 0}, {1295, 1319, 1360, 0, 0, 0, 0}, {40, 8704, 20480, 0, 0, 0, 0}, {12, 51, 771, 64, 5397, 0, 0}, {128, 23082, 28672, 0, 0, 0, 0}, {23, 68, 1300, 4352, 0, 0, 0}, {12, 32, 1536, 64, 4096, 0, 0}, {3855, 119, 21845, 0, 0, 0, 0}, {12, 4642, 68, 0, 0, 0, 0}, {1295, 32, 1360, 0, 0, 0, 0}, {192, 23088, 12336, 0, 0, 0, 0}, {19, 68, 1297, 4369, 0, 0, 0}, {8, 32, 514, 64, 4112, 0, 0}, {3840, 51, 21760, 0, 0, 0, 0}, {8, 5684, 68, 0, 0, 0, 0}, {1290, 1333, 1365, 0, 0, 0, 0}, {108, 13878, 20560, 0, 0, 0, 0}, {8, 55, 4608, 64, 5376, 0, 0}, {8, 4656, 64, 0, 0, 0, 0}, {1290, 51, 1365, 0, 0, 0, 0}, {2570, 96, 20560, 0, 0, 0, 0}, {8, 51, 1792, 68, 4352, 0, 0}, {204, 23100, 26112, 0, 0, 0, 0}, {23, 64, 1301, 4096, 0, 0, 0}, {8, 32, 514, 68, 5140, 0, 0}, {63, 12288, 21760, 0, 0, 0, 0}, {6656, 12288, 64, 0, 0, 0, 0}, {27, 51, 68, 1285, 4369, 0, 0}, {72, 96, 4674, 20480, 0, 0, 0}, {76, 51, 5699, 21760, 0, 0, 0}, {7680, 8704, 68, 0, 0, 0, 0}, {31, 32, 64, 1285, 4112, 0, 0}, {76, 32, 5702, 20480, 0, 0, 0}, {72, 119, 4679, 21760, 0, 0, 0}, {72, 4608, 0, 0, 0, 0, 0}, {19, 1285, 0, 0, 0, 0, 0}, {2570, 32, 64, 4096, 0, 0, 0}, {3855, 51, 68, 4352, 0, 0, 0}, {76, 5632, 0, 0, 0, 0, 0}, {23, 1285, 0, 0, 0, 0, 0}, {40, 8738, 68, 5120, 0, 0, 0}, {63, 12336, 64, 5376, 0, 0, 0}, {160, 2560, 20560, 0, 0, 0, 0}, {51, 768, 4, 4369, 0, 0, 0}, {8, 8738, 21074, 0, 0, 0, 0}, {12, 51, 768, 83, 1280, 0, 0}, {32, 512, 4, 4112, 0, 0, 0}, {255, 3840, 21845, 0, 0, 0, 0}, {12, 12336, 22102, 0, 0, 0, 0}, {8, 32, 512, 87, 1280, 0, 0}, {8, 32, 512, 20560, 0, 0, 0}, {12, 51, 768, 21845, 0, 0, 0}, {23130, 0, 0, 0, 0, 0, 0}, {19, 4, 256, 0, 0, 0, 0}, {12, 96, 1536, 20560, 0, 0, 0}, {8, 119, 1792, 21845, 0, 0, 0}, {4626, 4, 0, 0, 0, 0, 0}, {95, 1280, 0, 0, 0, 0, 0}, {2560, 96, 20480, 0, 0, 0, 0}, {8, 51, 1799, 68, 4369, 0, 0}, {8, 4642, 64, 0, 0, 0, 0}, {1295, 51, 1360, 0, 0, 0, 0}, {8, 32, 512, 68, 5120, 0, 0}, {63, 12336, 21845, 0, 0, 0, 0}, {204, 23142, 26214, 0, 0, 0, 0}, {23, 64, 1296, 4112, 0, 0, 0}, {8, 32, 512, 64, 4096, 0, 0}, {3855, 51, 21845, 0, 0, 0, 0}, {192, 23146, 12288, 0, 0, 0, 0}, {19, 68, 1300, 4352, 0, 0, 0}, {108, 13824, 20480, 0, 0, 0, 0}, {8, 55, 4626, 64, 5397, 0, 0}, {8, 5666, 68, 0, 0, 0, 0}, {1295, 1328, 1360, 0, 0, 0, 0}, {128, 23152, 28784, 0, 0, 0, 0}, {23, 68, 1297, 4369, 0, 0, 0}, {40, 8738, 20560, 0, 0, 0, 0}, {12, 51, 768, 64, 5376, 0, 0}, {12, 4656, 68, 0, 0, 0, 0}, {1290, 32, 1365, 0, 0, 0, 0}, {12, 32, 1542, 64, 4112, 0, 0}, {3840, 119, 21760, 0, 0, 0, 0}, {136, 23160, 8704, 0, 0, 0, 0}, {19, 64, 1301, 4096, 0, 0, 0}, {2570, 32, 20560, 0, 0, 0, 0}, {12, 51, 768, 68, 4352, 0, 0}, {12, 5680, 64, 0, 0, 0, 0}, {1290, 1314, 1365, 0, 0, 0, 0}, {12, 36, 4626, 68, 5140, 0, 0}, {127, 9472, 21760, 0, 0, 0, 0}, {128, 23040, 28672, 0, 0, 0, 0}, {23, 68, 1285, 4369, 0, 0, 0}, {40, 8738, 20480, 0, 0, 0, 0}, {12, 51, 771, 64, 5376, 0, 0}, {12, 4608, 68, 0, 0, 0, 0}, {95, 32, 1285, 0, 0, 0, 0}, {12, 32, 1542, 64, 4096, 0, 0}, {3855, 119, 21760, 0, 0, 0, 0}, {136, 23040, 8704, 0, 0, 0, 0}, {19, 64, 1285, 4112, 0, 0, 0}, {2570, 32, 20480, 0, 0, 0, 0}, {12, 51, 771, 68, 4352, 0, 0}, {12, 5632, 64, 0, 0, 0, 0}, {95, 119, 1285, 0, 0, 0, 0}, {12, 36, 4614, 68, 5120, 0, 0}, {127, 9584, 21760, 0, 0, 0, 0}, {2560, 96, 20560, 0, 0, 0, 0}, {8, 51, 1792, 68, 4369, 0, 0}, {8, 4626, 64, 0, 0, 0, 0}, {95, 51, 1280, 0, 0, 0, 0}, {8, 32, 512, 68, 5140, 0, 0}, {63, 12288, 21845, 0, 0, 0, 0}, {204, 23130, 26214, 0, 0, 0, 0}, {23, 64, 1280, 4096, 0, 0, 0}, {8, 32, 512, 64, 4112, 0, 0}, {3840, 51, 21845, 0, 0, 0, 0}, {192, 23130, 12336, 0, 0, 0, 0}, {19, 68, 1280, 4352, 0, 0, 0}, {108, 13904, 20560, 0, 0, 0, 0}, {8, 55, 4629, 64, 5397, 0, 0}, {8, 5654, 68, 0, 0, 0, 0}, {95, 96, 1280, 0, 0, 0, 0}, {160, 2560, 20480, 0, 0, 0, 0}, {51, 771, 4, 4369, 0, 0, 0}, {8, 8738, 21026, 0, 0, 0, 0}, {12, 51, 771, 83, 1283, 0, 0}, {32, 512, 4, 4096, 0, 0, 0}, {255, 3855, 21845, 0, 0, 0, 0}, {12, 12288, 22118, 0, 0, 0, 0}, {8, 32, 512, 87, 1287, 0, 0}, {8, 32, 512, 20480, 0, 0, 0}, {12, 51, 771, 21845, 0, 0, 0}, {23210, 0, 0, 0, 0, 0, 0}, {259, 4, 272, 0, 0, 0, 0}, {12, 96, 1536, 20480, 0, 0, 0}, {8, 119, 1799, 21845, 0, 0, 0}, {4642, 4, 0, 0, 0, 0, 0}, {1295, 1360, 0, 0, 0, 0, 0}, {6704, 12336, 64, 0, 0, 0, 0}, {27, 51, 68, 1297, 4369, 0, 0}, {72, 96, 4626, 20560, 0, 0, 0}, {76, 51, 5632, 21760, 0, 0, 0}, {7740, 8704, 68, 0, 0, 0, 0}, {31, 32, 64, 1301, 4096, 0, 0}, {76, 32, 5654, 20560, 0, 0, 0}, {72, 119, 4608, 21760, 0, 0, 0}, {72, 4656, 0, 0, 0, 0, 0}, {19, 1365, 0, 0, 0, 0, 0}, {2570, 32, 64, 4112, 0, 0, 0}, {3840, 51, 68, 4352, 0, 0, 0}, {76, 5744, 0, 0, 0, 0, 0}, {23, 1365, 0, 0, 0, 0, 0}, {40, 8738, 68, 5140, 0, 0, 0}, {63, 12288, 64, 5376, 0, 0, 0}, {192, 23040, 12288, 0, 0, 0, 0}, {19, 68, 1285, 4369, 0, 0, 0}, {8, 32, 514, 64, 4096, 0, 0}, {3855, 51, 21760, 0, 0, 0, 0}, {8, 5632, 68, 0, 0, 0, 0}, {95, 96, 1285, 0, 0, 0, 0}, {108, 13926, 20480, 0, 0, 0, 0}, {8, 55, 4615, 64, 5376, 0, 0}, {8, 4608, 64, 0, 0, 0, 0}, {95, 51, 1285, 0, 0, 0, 0}, {2570, 96, 20480, 0, 0, 0, 0}, {8, 51, 1799, 68, 4352, 0, 0}, {204, 23040, 26112, 0, 0, 0, 0}, {23, 64, 1285, 4112, 0, 0, 0}, {8, 32, 514, 68, 5120, 0, 0}, {63, 12336, 21760, 0, 0, 0, 0}, {2560, 32, 20560, 0, 0, 0, 0}, {12, 51, 768, 68, 4369, 0, 0}, {136, 23130, 8738, 0, 0, 0, 0}, {19, 64, 1280, 4096, 0, 0, 0}, {12, 36, 4628, 68, 5140, 0, 0}, {127, 9557, 21845, 0, 0, 0, 0}, {12, 5654, 64, 0, 0, 0, 0}, {95, 119, 1280, 0, 0, 0, 0}, {40, 8704, 20560, 0, 0, 0, 0}, {12, 51, 768, 64, 5397, 0, 0}, {128, 23130, 28784, 0, 0, 0, 0}, {23, 68, 1280, 4352, 0, 0, 0}, {12, 32, 1536, 64, 4112, 0, 0}, {3840, 119, 21845, 0, 0, 0, 0}, {12, 4626, 68, 0, 0, 0, 0}, {95, 32, 1280, 0, 0, 0, 0}, {2560, 32, 64, 4096, 0, 0, 0}, {3855, 51, 68, 4369, 0, 0, 0}, {72, 4642, 0, 0, 0, 0, 0}, {19, 1360, 0, 0, 0, 0, 0}, {40, 8704, 68, 5120, 0, 0, 0}, {63, 12336, 64, 5397, 0, 0, 0}, {76, 5734, 0, 0, 0, 0, 0}, {23, 1360, 0, 0, 0, 0, 0}, {72, 96, 4608, 20480, 0, 0, 0}, {76, 51, 5654, 21845, 0, 0, 0}, {6698, 12288, 64, 0, 0, 0, 0}, {27, 51, 68, 1300, 4352, 0, 0}, {76, 32, 5632, 20480, 0, 0, 0}, {72, 119, 4626, 21845, 0, 0, 0}, {7714, 8738, 68, 0, 0, 0, 0}, {31, 32, 64, 1296, 4112, 0, 0}, {23280, 0, 0, 0, 0, 0, 0}, {258, 4, 273, 0, 0, 0, 0}, {8, 32, 514, 20560, 0, 0, 0}, {12, 51, 768, 21760, 0, 0, 0}, {4656, 4, 0, 0, 0, 0, 0}, {1290, 1365, 0, 0, 0, 0, 0}, {12, 96, 1542, 20560, 0, 0, 0}, {8, 119, 1792, 21760, 0, 0, 0}, {8, 8704, 21104, 0, 0, 0, 0}, {12, 51, 768, 83, 1286, 0, 0}, {160, 2570, 20560, 0, 0, 0, 0}, {51, 768, 4, 4352, 0, 0, 0}, {12, 12336, 22064, 0, 0, 0, 0}, {8, 32, 514, 87, 1282, 0, 0}, {32, 514, 4, 4112, 0, 0, 0}, {255, 3840, 21760, 0, 0, 0, 0}, {4864, 1024, 0, 0, 0, 0, 0}, {90, 257, 0, 0, 0, 0, 0}, {1032, 4386, 514, 21760, 0, 0, 0}, {1036, 4144, 771, 20480, 0, 0, 0}, {4940, 1028, 0, 0, 0, 0, 0}, {4608, 261, 0, 0, 0, 0, 0}, {1036, 4454, 1542, 21760, 0, 0, 0}, {1032, 4208, 1799, 20480, 0, 0, 0}, {1032, 13056, 21248, 0, 0, 0, 0}, {265, 4403, 771, 339, 1285, 0, 0}, {522, 1024, 4352, 0, 0, 0, 0}, {771, 4160, 1028, 0, 0, 0, 0}, {1036, 8192, 22272, 0, 0, 0, 0}, {269, 4128, 514, 343, 1285, 0, 0}, {514, 4420, 1028, 0, 0, 0, 0}, {783, 1024, 4096, 0, 0, 0, 0}, {3840, 816, 1088, 4112, 0, 0, 0}, {2560, 546, 1092, 4369, 0, 0, 0}, {274, 1280, 0, 0, 0, 0, 0}, {1100, 4883, 0, 0, 0, 0, 0}, {828, 12288, 4176, 5140, 0, 0, 0}, {554, 8704, 4437, 5397, 0, 0, 0}, {278, 1280, 0, 0, 0, 0, 0}, {1096, 5911, 0, 0, 0, 0, 0}, {1096, 4192, 4944, 20560, 0, 0, 0}, {1100, 4403, 5973, 21845, 0, 0, 0}, {282, 816, 320, 1280, 4352, 0, 0}, {6939, 13107, 1092, 0, 0, 0, 0}, {1100, 4128, 5968, 20560, 0, 0, 0}, {1096, 4471, 4949, 21845, 0, 0, 0}, {286, 546, 324, 1280, 4096, 0, 0}, {7967, 8224, 1088, 0, 0, 0, 0}, {3072, 4896, 17408, 0, 0, 0, 0}, {1295, 289, 771, 1365, 4369, 0, 0}, {4386, 4864, 5376, 0, 0, 0, 0}, {1148, 771, 4112, 0, 0, 0, 0}, {4972, 9252, 17476, 0, 0, 0, 0}, {4367, 293, 4608, 4437, 5120, 0, 0}, {1548, 1062, 5440, 0, 0, 0, 0}, {783, 5927, 4176, 0, 0, 0, 0}, {5928, 13056, 16384, 0, 0, 0, 0}, {4122, 4403, 771, 4160, 5397, 0, 0}, {1066, 1536, 4352, 0, 0, 0, 0}, {4192, 771, 5140, 0, 0, 0, 0}, {3084, 5984, 16448, 0, 0, 0, 0}, {1295, 1058, 1536, 1365, 4096, 0, 0}, {1548, 546, 4420, 0, 0, 0, 0}, {783, 4128, 5200, 0, 0, 0, 0}, {4144, 4864, 5120, 0, 0, 0, 0}, {1134, 514, 4369, 0, 0, 0, 0}, {1290, 306, 514, 1360, 4112, 0, 0}, {2048, 4915, 16384, 0, 0, 0, 0}, {1800, 1076, 5188, 0, 0, 0, 0}, {522, 5941, 4437, 0, 0, 0, 0}, {4106, 310, 4608, 4176, 5376, 0, 0}, {4991, 14135, 16448, 0, 0, 0, 0}, {1800, 816, 4160, 0, 0, 0, 0}, {522, 4403, 5461, 0, 0, 0, 0}, {1290, 1072, 1792, 1360, 4352, 0, 0}, {2056, 6007, 17476, 0, 0, 0, 0}, {1084, 1792, 4096, 0, 0, 0, 0}, {4471, 514, 5397, 0, 0, 0, 0}, {4382, 4128, 514, 4420, 5140, 0, 0}, {5951, 8192, 17408, 0, 0, 0, 0}, {6912, 13056, 1088, 0, 0, 0, 0}, {283, 819, 321, 1285, 4369, 0, 0}, {1096, 4386, 5954, 21760, 0, 0, 0}, {1100, 4208, 4931, 20480, 0, 0, 0}, {7936, 8192, 1092, 0, 0, 0, 0}, {287, 544, 325, 1285, 4112, 0, 0}, {1100, 4454, 4934, 21760, 0, 0, 0}, {1096, 4144, 5959, 20480, 0, 0, 0}, {1096, 4864, 0, 0, 0, 0, 0}, {275, 1285, 0, 0, 0, 0, 0}, {2570, 544, 1088, 4352, 0, 0, 0}, {3855, 819, 1092, 4096, 0, 0, 0}, {1100, 5888, 0, 0, 0, 0, 0}, {279, 1285, 0, 0, 0, 0, 0}, {552, 8738, 4420, 5376, 0, 0, 0}, {831, 12336, 4160, 5120, 0, 0, 0}, {768, 4176, 1024, 0, 0, 0, 0}, {520, 1028, 4369, 0, 0, 0, 0}, {264, 4386, 768, 338, 1280, 0, 0}, {1036, 13107, 21331, 0, 0, 0, 0}, {780, 1028, 4112, 0, 0, 0, 0}, {512, 4437, 1024, 0, 0, 0, 0}, {268, 4144, 512, 342, 1280, 0, 0}, {1032, 8224, 22359, 0, 0, 0, 0}, {1032, 4128, 768, 20560, 0, 0, 0}, {1036, 4403, 512, 21845, 0, 0, 0}, {90, 256, 0, 0, 0, 0, 0}, {4883, 1028, 0, 0, 0, 0, 0}, {1036, 4192, 1792, 20560, 0, 0, 0}, {1032, 4471, 1536, 21845, 0, 0, 0}, {4626, 260, 0, 0, 0, 0, 0}, {4959, 1024, 0, 0, 0, 0, 0}, {2048, 5984, 17408, 0, 0, 0, 0}, {1295, 1076, 1799, 1365, 4369, 0, 0}, {520, 4386, 5440, 0, 0, 0, 0}, {1807, 819, 4176, 0, 0, 0, 0}, {5928, 8224, 17476, 0, 0, 0, 0}, {4367, 4144, 512, 4437, 5120, 0, 0}, {4454, 512, 5376, 0, 0, 0, 0}, {1080, 1799, 4112, 0, 0, 0, 0}, {2056, 4896, 16448, 0, 0, 0, 0}, {1295, 307, 512, 1365, 4096, 0, 0}, {1130, 512, 4352, 0, 0, 0, 0}, {4128, 4883, 5140, 0, 0, 0, 0}, {4972, 14080, 16384, 0, 0, 0, 0}, {4122, 311, 4626, 4160, 5397, 0, 0}, {520, 5922, 4420, 0, 0, 0, 0}, {1807, 1072, 5200, 0, 0, 0, 0}, {4208, 768, 5120, 0, 0, 0, 0}, {1070, 1542, 4369, 0, 0, 0, 0}, {4106, 4386, 768, 4176, 5376, 0, 0}, {5951, 13107, 16448, 0, 0, 0, 0}, {780, 4144, 5188, 0, 0, 0, 0}, {1546, 544, 4437, 0, 0, 0, 0}, {1290, 1062, 1542, 1360, 4112, 0, 0}, {3072, 6007, 16384, 0, 0, 0, 0}, {1144, 768, 4096, 0, 0, 0, 0}, {4403, 4883, 5397, 0, 0, 0, 0}, {1290, 288, 768, 1360, 4352, 0, 0}, {3084, 4915, 17476, 0, 0, 0, 0}, {780, 5936, 4160, 0, 0, 0, 0}, {1546, 1058, 5461, 0, 0, 0, 0}, {4382, 292, 4626, 4420, 5140, 0, 0}, {4991, 9216, 17408, 0, 0, 0, 0}, {1152, 5888, 17408, 0, 0, 0, 0}, {90, 369, 771, 1285, 4369, 0, 0}, {4874, 4386, 5376, 0, 0, 0, 0}, {5180, 771, 4160, 0, 0, 0, 0}, {5960, 8192, 17476, 0, 0, 0, 0}, {4367, 4128, 4608, 4437, 1285, 0, 0}, {1062, 1542, 5440, 0, 0, 0, 0}, {783, 1911, 4096, 0, 0, 0, 0}, {1160, 4864, 16384, 0, 0, 0, 0}, {90, 291, 771, 1285, 4112, 0, 0}, {1546, 544, 4352, 0, 0, 0, 0}, {4144, 771, 5188, 0, 0, 0, 0}, {4940, 14144, 16448, 0, 0, 0, 0}, {4106, 295, 4869, 4176, 1285, 0, 0}, {1070, 1542, 4420, 0, 0, 0, 0}, {783, 4208, 5120, 0, 0, 0, 0}, {1072, 1792, 5200, 0, 0, 0, 0}, {520, 1638, 4369, 0, 0, 0, 0}, {4122, 4386, 4626, 4160, 1280, 0, 0}, {5983, 13107, 16384, 0, 0, 0, 0}, {4892, 4128, 5140, 0, 0, 0, 0}, {5439, 512, 4437, 0, 0, 0, 0}, {90, 358, 512, 1280, 4096, 0, 0}, {1224, 5911, 16448, 0, 0, 0, 0}, {1800, 816, 4112, 0, 0, 0, 0}, {4403, 512, 5461, 0, 0, 0, 0}, {90, 304, 512, 1280, 4352, 0, 0}, {1220, 4883, 17476, 0, 0, 0, 0}, {1084, 1792, 4176, 0, 0, 0, 0}, {520, 4471, 5397, 0, 0, 0, 0}, {4382, 308, 4886, 4420, 1280, 0, 0}, {4959, 9312, 17408, 0, 0, 0, 0}, {5024, 13056, 1024, 0, 0, 0, 0}, {267, 771, 337, 1028, 4369, 0, 0}, {1032, 4386, 1536, 21760, 0, 0, 0}, {1036, 4192, 771, 20560, 0, 0, 0}, {5100, 8224, 1028, 0, 0, 0, 0}, {271, 512, 341, 1024, 4096, 0, 0}, {1036, 4454, 512, 21760, 0, 0, 0}, {1032, 4128, 1799, 20560, 0, 0, 0}, {1032, 4896, 0, 0, 0, 0, 0}, {259, 1365, 0, 0, 0, 0, 0}, {170, 512, 1024, 4352, 0, 0, 0}, {240, 771, 1028, 4112, 0, 0, 0}, {1036, 5984, 0, 0, 0, 0, 0}, {263, 1365, 0, 0, 0, 0, 0}, {520, 8738, 4420, 1028, 0, 0, 0}, {783, 12288, 4176, 1024, 0, 0, 0}, {816, 4160, 5120, 0, 0, 0, 0}, {552, 1092, 4369, 0, 0, 0, 0}, {280, 4386, 4626, 322, 1042, 0, 0}, {1100, 13107, 21299, 0, 0, 0, 0}, {828, 1092, 4096, 0, 0, 0, 0}, {544, 4437, 5397, 0, 0, 0, 0}, {284, 4128, 4608, 326, 1046, 0, 0}, {1096, 8192, 22391, 0, 0, 0, 0}, {1096, 4144, 4864, 20480, 0, 0, 0}, {1100, 4403, 4883, 21845, 0, 0, 0}, {1290, 272, 0, 0, 0, 0, 0}, {4915, 1092, 0, 0, 0, 0, 0}, {1100, 4208, 5888, 20480, 0, 0, 0}, {1096, 4471, 5911, 21845, 0, 0, 0}, {4642, 276, 0, 0, 0, 0, 0}, {5951, 1088, 0, 0, 0, 0, 0}, {1216, 4864, 17408, 0, 0, 0, 0}, {90, 305, 514, 1285, 4369, 0, 0}, {4386, 514, 5440, 0, 0, 0, 0}, {1807, 819, 4096, 0, 0, 0, 0}, {4940, 9284, 17476, 0, 0, 0, 0}, {4367, 309, 4869, 4437, 1285, 0, 0}, {522, 4454, 5376, 0, 0, 0, 0}, {1080, 1799, 4160, 0, 0, 0, 0}, {5960, 13056, 16448, 0, 0, 0, 0}, {4106, 4403, 4608, 4176, 1285, 0, 0}, {522, 1632, 4352, 0, 0, 0, 0}, {1076, 1799, 5188, 0, 0, 0, 0}, {1228, 5888, 16384, 0, 0, 0, 0}, {90, 359, 514, 1285, 4112, 0, 0}, {5418, 514, 4420, 0, 0, 0, 0}, {4879, 4144, 5120, 0, 0, 0, 0}, {4128, 768, 5200, 0, 0, 0, 0}, {1548, 546, 4369, 0, 0, 0, 0}, {90, 290, 768, 1280, 4096, 0, 0}, {1164, 4883, 16448, 0, 0, 0, 0}, {780, 4192, 5140, 0, 0, 0, 0}, {1066, 1536, 4437, 0, 0, 0, 0}, {4122, 294, 4886, 4160, 1280, 0, 0}, {4959, 14199, 16384, 0, 0, 0, 0}, {5160, 768, 4176, 0, 0, 0, 0}, {4889, 4403, 5397, 0, 0, 0, 0}, {90, 368, 768, 1280, 4352, 0, 0}, {1156, 5911, 17476, 0, 0, 0, 0}, {780, 1904, 4112, 0, 0, 0, 0}, {1058, 1536, 5461, 0, 0, 0, 0}, {4382, 4144, 4626, 4420, 1280, 0, 0}, {5983, 8224, 17408, 0, 0, 0, 0}, {4896, 1088, 0, 0, 0, 0, 0}, {1295, 273, 0, 0, 0, 0, 0}, {1096, 4386, 4864, 21760, 0, 0, 0}, {1100, 4128, 4883, 20560, 0, 0, 0}, {5928, 1092, 0, 0, 0, 0, 0}, {4656, 277, 0, 0, 0, 0, 0}, {1100, 4454, 5888, 21760, 0, 0, 0}, {1096, 4192, 5911, 20560, 0, 0, 0}, {1096, 13056, 21344, 0, 0, 0, 0}, {281, 4403, 4608, 323, 1046, 0, 0}, {554, 1088, 4352, 0, 0, 0, 0}, {819, 4176, 5140, 0, 0, 0, 0}, {1100, 8224, 22304, 0, 0, 0, 0}, {285, 4144, 4626, 327, 1042, 0, 0}, {546, 4420, 5376, 0, 0, 0, 0}, {831, 1088, 4112, 0, 0, 0, 0}, {240, 768, 1024, 4096, 0, 0, 0}, {170, 514, 1028, 4369, 0, 0, 0}, {258, 1360, 0, 0, 0, 0, 0}, {1036, 4915, 0, 0, 0, 0, 0}, {780, 12336, 4160, 1028, 0, 0, 0}, {522, 8704, 4437, 1024, 0, 0, 0}, {262, 1360, 0, 0, 0, 0, 0}, {1032, 6007, 0, 0, 0, 0, 0}, {1032, 4208, 768, 20480, 0, 0, 0}, {1036, 4403, 1542, 21845, 0, 0, 0}, {266, 768, 336, 1024, 4352, 0, 0}, {5043, 13107, 1028, 0, 0, 0, 0}, {1036, 4144, 1792, 20480, 0, 0, 0}, {1032, 4471, 514, 21845, 0, 0, 0}, {270, 514, 340, 1028, 4112, 0, 0}, {5119, 8192, 1024, 0, 0, 0, 0}, {3072, 12288, 20480, 0, 0, 0, 0}, {8, 34, 85, 257, 0, 0, 0}, {8, 34, 514, 1024, 4098, 0, 0}, {255, 771, 20495, 0, 0, 0, 0}, {8, 8192, 4160, 1028, 0, 0, 0}, {783, 13056, 85, 1285, 0, 0, 0}, {170, 1542, 20490, 0, 0, 0, 0}, {8, 119, 775, 1024, 4103, 0, 0}, {8, 1024, 4096, 0, 0, 0, 0}, {771, 85, 1285, 0, 0, 0, 0}, {1546, 12288, 22016, 0, 0, 0, 0}, {8, 4144, 771, 4167, 1028, 0, 0}, {12480, 3084, 20480, 0, 0, 0, 0}, {34, 514, 261, 4352, 0, 0, 0}, {8, 34, 514, 4162, 1028, 0, 0}, {783, 13056, 21248, 0, 0, 0, 0}, {128, 3136, 4112, 0, 0, 0, 0}, {34, 785, 85, 1280, 4369, 0, 0}, {5210, 34, 4626, 17408, 0, 0, 0}, {4191, 4128, 4883, 16384, 0, 0, 0}, {136, 12408, 5140, 0, 0, 0, 0}, {42, 789, 85, 1280, 4117, 0, 0}, {4186, 4208, 5654, 16384, 0, 0, 0}, {5215, 119, 5911, 17408, 0, 0, 0}, {6168, 12336, 5200, 0, 0, 0, 0}, {793, 819, 85, 1280, 4096, 0, 0}, {4122, 4144, 1600, 16448, 0, 0, 0}, {5147, 119, 836, 17476, 0, 0, 0}, {7196, 8224, 4176, 0, 0, 0, 0}, {797, 34, 85, 1280, 4352, 0, 0}, {5150, 34, 1604, 17476, 0, 0, 0}, {4127, 4192, 832, 16448, 0, 0, 0}, {3072, 4128, 16384, 0, 0, 0, 0}, {1295, 34, 771, 85, 4369, 0, 0}, {34, 4608, 5120, 0, 0, 0, 0}, {127, 771, 4112, 0, 0, 0, 0}, {5228, 9252, 17476, 0, 0, 0, 0}, {4111, 4133, 4864, 85, 5376, 0, 0}, {1548, 1574, 4160, 0, 0, 0, 0}, {783, 5159, 5200, 0, 0, 0, 0}, {5160, 12288, 17408, 0, 0, 0, 0}, {4122, 4144, 771, 85, 5397, 0, 0}, {42, 1536, 4096, 0, 0, 0, 0}, {119, 771, 5140, 0, 0, 0, 0}, {3084, 4192, 16448, 0, 0, 0, 0}, {1295, 34, 1536, 85, 4352, 0, 0}, {1548, 34, 5188, 0, 0, 0, 0}, {783, 4896, 4176, 0, 0, 0, 0}, {20720, 23600, 12336, 0, 0, 0, 0}, {275, 85, 1041, 4369, 0, 0, 0}, {8, 34, 514, 1088, 4112, 0, 0}, {3840, 819, 20480, 0, 0, 0, 0}, {8, 5172, 1092, 0, 0, 0, 0}, {1290, 1589, 85, 0, 0, 0, 0}, {1644, 13878, 20560, 0, 0, 0, 0}, {8, 4151, 4864, 4160, 5120, 0, 0}, {8, 4144, 1088, 0, 0, 0, 0}, {1290, 819, 85, 0, 0, 0, 0}, {2570, 1632, 20560, 0, 0, 0, 0}, {8, 1075, 1792, 1092, 4096, 0, 0}, {20720, 23612, 24576, 0, 0, 0, 0}, {279, 85, 1045, 4352, 0, 0, 0}, {8, 34, 514, 4176, 5140, 0, 0}, {831, 13056, 20480, 0, 0, 0, 0}, {7168, 8192, 4160, 0, 0, 0, 0}, {798, 34, 85, 1285, 4369, 0, 0}, {5130, 34, 1602, 17408, 0, 0, 0}, {4111, 4208, 835, 16384, 0, 0, 0}, {6144, 12288, 5188, 0, 0, 0, 0}, {794, 816, 85, 1285, 4112, 0, 0}, {4106, 4128, 1606, 16384, 0, 0, 0}, {5135, 119, 839, 17408, 0, 0, 0}, {136, 12360, 5120, 0, 0, 0, 0}, {42, 790, 85, 1285, 4101, 0, 0}, {4170, 4192, 5632, 16448, 0, 0, 0}, {5195, 119, 5888, 17476, 0, 0, 0}, {128, 3148, 4096, 0, 0, 0, 0}, {34, 786, 85, 1285, 4352, 0, 0}, {5198, 34, 4608, 17476, 0, 0, 0}, {4175, 4144, 4864, 16448, 0, 0, 0}, {12528, 3072, 20560, 0, 0, 0, 0}, {34, 512, 260, 4369, 0, 0, 0}, {8, 34, 512, 4178, 1024, 0, 0}, {780, 13107, 21331, 0, 0, 0, 0}, {8, 1028, 4112, 0, 0, 0, 0}, {768, 85, 1280, 0, 0, 0, 0}, {1548, 12336, 22102, 0, 0, 0, 0}, {8, 4128, 768, 4183, 1024, 0, 0}, {8, 8224, 4176, 1024, 0, 0, 0}, {780, 13107, 85, 1280, 0, 0, 0}, {170, 1536, 20570, 0, 0, 0, 0}, {8, 119, 772, 1028, 4119, 0, 0}, {3084, 12336, 20560, 0, 0, 0, 0}, {8, 34, 85, 256, 0, 0, 0}, {8, 34, 512, 1028, 4114, 0, 0}, {255, 768, 20575, 0, 0, 0, 0}, {20640, 23648, 24672, 0, 0, 0, 0}, {278, 85, 1041, 4369, 0, 0, 0}, {8, 34, 512, 4160, 5120, 0, 0}, {828, 13107, 20560, 0, 0, 0, 0}, {8, 4128, 1092, 0, 0, 0, 0}, {1295, 816, 85, 0, 0, 0, 0}, {2560, 1638, 20480, 0, 0, 0, 0}, {8, 1079, 1799, 1088, 4112, 0, 0}, {8, 5152, 1088, 0, 0, 0, 0}, {1295, 1587, 85, 0, 0, 0, 0}, {1642, 13824, 20480, 0, 0, 0, 0}, {8, 4135, 4883, 4176, 5140, 0, 0}, {20640, 23660, 12288, 0, 0, 0, 0}, {274, 85, 1045, 4352, 0, 0, 0}, {8, 34, 512, 1092, 4096, 0, 0}, {3855, 816, 20560, 0, 0, 0, 0}, {3072, 4208, 16384, 0, 0, 0, 0}, {1290, 34, 1542, 85, 4369, 0, 0}, {1546, 34, 5200, 0, 0, 0, 0}, {780, 4915, 4160, 0, 0, 0, 0}, {5180, 12336, 17476, 0, 0, 0, 0}, {4106, 4128, 768, 85, 5376, 0, 0}, {42, 1542, 4112, 0, 0, 0, 0}, {119, 768, 5120, 0, 0, 0, 0}, {5240, 9216, 17408, 0, 0, 0, 0}, {4127, 4149, 4883, 85, 5397, 0, 0}, {1546, 1568, 4176, 0, 0, 0, 0}, {780, 5171, 5188, 0, 0, 0, 0}, {3084, 4144, 16448, 0, 0, 0, 0}, {1290, 34, 768, 85, 4352, 0, 0}, {34, 4626, 5140, 0, 0, 0, 0}, {127, 768, 4096, 0, 0, 0, 0}, {128, 3072, 4096, 0, 0, 0, 0}, {34, 771, 85, 1285, 4369, 0, 0}, {5130, 34, 4608, 17408, 0, 0, 0}, {4175, 4144, 771, 16448, 0, 0, 0}, {3084, 9228, 5188, 0, 0, 0, 0}, {783, 805, 85, 1285, 4101, 0, 0}, {4170, 4192, 1542, 16448, 0, 0, 0}, {5135, 119, 5888, 17408, 0, 0, 0}, {136, 12288, 5120, 0, 0, 0, 0}, {42, 771, 85, 1285, 4112, 0, 0}, {4106, 4128, 5632, 16384, 0, 0, 0}, {5195, 119, 771, 17476, 0, 0, 0}, {3084, 8192, 4160, 0, 0, 0, 0}, {783, 34, 85, 1285, 4352, 0, 0}, {5198, 34, 1542, 17476, 0, 0, 0}, {4111, 4208, 4864, 16384, 0, 0, 0}, {3264, 12336, 20560, 0, 0, 0, 0}, {8, 512, 1280, 273, 0, 0, 0}, {8, 34, 512, 1088, 4114, 0, 0}, {3840, 819, 20575, 0, 0, 0, 0}, {8, 8224, 4176, 5140, 0, 0, 0}, {831, 13056, 85, 1280, 0, 0, 0}, {2560, 1638, 20570, 0, 0, 0, 0}, {8, 1079, 1792, 1088, 4119, 0, 0}, {8, 1088, 4112, 0, 0, 0, 0}, {819, 85, 1280, 0, 0, 0, 0}, {1642, 12336, 22064, 0, 0, 0, 0}, {8, 4128, 4883, 4183, 5139, 0, 0}, {12528, 15420, 20560, 0, 0, 0, 0}, {34, 512, 277, 4352, 0, 0, 0}, {8, 34, 512, 4178, 5142, 0, 0}, {831, 13056, 21344, 0, 0, 0, 0}, {20640, 3072, 12288, 0, 0, 0, 0}, {259, 85, 1028, 4369, 0, 0, 0}, {8, 34, 512, 1024, 4096, 0, 0}, {255, 771, 20560, 0, 0, 0, 0}, {8, 4192, 1028, 0, 0, 0, 0}, {1295, 1536, 85, 0, 0, 0, 0}, {1548, 13926, 20480, 0, 0, 0, 0}, {8, 4135, 775, 4176, 1024, 0, 0}, {8, 4128, 1024, 0, 0, 0, 0}, {1295, 771, 85, 0, 0, 0, 0}, {170, 1536, 20480, 0, 0, 0, 0}, {8, 119, 771, 1028, 4112, 0, 0}, {20640, 3084, 24672, 0, 0, 0, 0}, {263, 85, 1024, 4352, 0, 0, 0}, {8, 34, 512, 4160, 1028, 0, 0}, {783, 13056, 20560, 0, 0, 0, 0}, {3136, 4144, 16448, 0, 0, 0, 0}, {1290, 34, 785, 85, 4369, 0, 0}, {34, 4626, 5200, 0, 0, 0, 0}, {844, 819, 4096, 0, 0, 0, 0}, {5180, 9284, 17476, 0, 0, 0, 0}, {4127, 4149, 789, 85, 5397, 0, 0}, {42, 5654, 4176, 0, 0, 0, 0}, {840, 119, 5120, 0, 0, 0, 0}, {5240, 12336, 17408, 0, 0, 0, 0}, {4106, 4128, 4883, 85, 5376, 0, 0}, {1610, 1632, 4112, 0, 0, 0, 0}, {5171, 5888, 5188, 0, 0, 0, 0}, {3148, 4208, 16384, 0, 0, 0, 0}, {1290, 34, 1559, 85, 4352, 0, 0}, {4698, 34, 5140, 0, 0, 0, 0}, {4159, 4864, 4160, 0, 0, 0, 0}, {12480, 15360, 20480, 0, 0, 0, 0}, {34, 514, 276, 4369, 0, 0, 0}, {8, 34, 514, 4162, 5122, 0, 0}, {828, 13107, 21299, 0, 0, 0, 0}, {8, 1092, 4096, 0, 0, 0, 0}, {816, 85, 1285, 0, 0, 0, 0}, {1644, 12288, 22118, 0, 0, 0, 0}, {8, 4144, 4864, 4167, 5127, 0, 0}, {8, 8192, 4160, 5120, 0, 0, 0}, {828, 13107, 85, 1285, 0, 0, 0}, {2570, 1632, 20490, 0, 0, 0, 0}, {8, 1075, 1799, 1092, 4103, 0, 0}, {3276, 12288, 20480, 0, 0, 0, 0}, {8, 514, 1285, 272, 0, 0, 0}, {8, 34, 514, 1092, 4098, 0, 0}, {3855, 816, 20495, 0, 0, 0, 0}, {3072, 8224, 4176, 0, 0, 0, 0}, {780, 34, 85, 1280, 4369, 0, 0}, {5210, 34, 1536, 17408, 0, 0, 0}, {4127, 4192, 4883, 16448, 0, 0, 0}, {136, 12336, 5140, 0, 0, 0, 0}, {42, 768, 85, 1280, 4096, 0, 0}, {4122, 4144, 5654, 16448, 0, 0, 0}, {5215, 119, 768, 17408, 0, 0, 0}, {3072, 9256, 5200, 0, 0, 0, 0}, {780, 806, 85, 1280, 4117, 0, 0}, {4186, 4208, 1536, 16384, 0, 0, 0}, {5147, 119, 5911, 17476, 0, 0, 0}, {128, 3084, 4112, 0, 0, 0, 0}, {34, 768, 85, 1280, 4352, 0, 0}, {5150, 34, 4626, 17476, 0, 0, 0}, {4191, 4128, 768, 16384, 0, 0, 0}, {3136, 4192, 16448, 0, 0, 0, 0}, {1295, 34, 1553, 85, 4369, 0, 0}, {4680, 34, 5120, 0, 0, 0, 0}, {4143, 4883, 4176, 0, 0, 0, 0}, {5228, 12288, 17476, 0, 0, 0, 0}, {4122, 4144, 4864, 85, 5397, 0, 0}, {1612, 1638, 4096, 0, 0, 0, 0}, {5159, 5911, 5200, 0, 0, 0, 0}, {5160, 9312, 17408, 0, 0, 0, 0}, {4111, 4133, 790, 85, 5376, 0, 0}, {42, 5632, 4160, 0, 0, 0, 0}, {843, 119, 5140, 0, 0, 0, 0}, {3148, 4128, 16384, 0, 0, 0, 0}, {1295, 34, 786, 85, 4352, 0, 0}, {34, 4608, 5188, 0, 0, 0, 0}, {847, 816, 4112, 0, 0, 0, 0}, {20720, 3072, 24576, 0, 0, 0, 0}, {262, 85, 1028, 4369, 0, 0, 0}, {8, 34, 514, 4176, 1024, 0, 0}, {780, 13107, 20480, 0, 0, 0, 0}, {8, 4144, 1028, 0, 0, 0, 0}, {1290, 768, 85, 0, 0, 0, 0}, {170, 1542, 20560, 0, 0, 0, 0}, {8, 119, 768, 1024, 4096, 0, 0}, {8, 4208, 1024, 0, 0, 0, 0}, {1290, 1542, 85, 0, 0, 0, 0}, {1546, 13904, 20560, 0, 0, 0, 0}, {8, 4151, 772, 4160, 1028, 0, 0}, {20720, 3084, 12336, 0, 0, 0, 0}, {258, 85, 1024, 4352, 0, 0, 0}, {8, 34, 514, 1028, 4112, 0, 0}, {255, 768, 20480, 0, 0, 0, 0}, {2048, 8704, 21760, 0, 0, 0, 0}, {12, 48, 80, 257, 0, 0, 0}, {160, 514, 21770, 0, 0, 0, 0}, {12, 48, 771, 1024, 4355, 0, 0}, {12, 13056, 4420, 1028, 0, 0, 0}, {522, 8192, 80, 1285, 0, 0, 0}, {12, 96, 518, 1024, 4358, 0, 0}, {240, 1799, 21775, 0, 0, 0, 0}, {8840, 2056, 21760, 0, 0, 0, 0}, {48, 771, 261, 4096, 0, 0, 0}, {522, 8192, 22272, 0, 0, 0, 0}, {12, 48, 771, 4423, 1028, 0, 0}, {12, 1024, 4352, 0, 0, 0, 0}, {514, 80, 1285, 0, 0, 0, 0}, {12, 4386, 514, 4418, 1028, 0, 0}, {1807, 8704, 20992, 0, 0, 0, 0}, {48, 528, 80, 1280, 4112, 0, 0}, {204, 2116, 4369, 0, 0, 0, 0}, {5466, 48, 4626, 16384, 0, 0, 0}, {4447, 4403, 4883, 17408, 0, 0, 0}, {60, 532, 80, 1280, 4372, 0, 0}, {192, 8810, 5397, 0, 0, 0, 0}, {4442, 4454, 5654, 17408, 0, 0, 0}, {5471, 96, 5911, 16384, 0, 0, 0}, {536, 48, 80, 1280, 4096, 0, 0}, {6425, 13107, 4437, 0, 0, 0, 0}, {5402, 48, 1856, 16448, 0, 0, 0}, {4379, 4471, 580, 17476, 0, 0, 0}, {540, 544, 80, 1280, 4352, 0, 0}, {7453, 8738, 5461, 0, 0, 0, 0}, {4382, 4386, 1860, 17476, 0, 0, 0}, {5407, 96, 576, 16448, 0, 0, 0}, {2560, 544, 21760, 0, 0, 0, 0}, {12, 48, 771, 1092, 4369, 0, 0}, {21930, 23842, 8738, 0, 0, 0, 0}, {275, 80, 1040, 4112, 0, 0, 0}, {12, 4388, 4864, 4420, 5376, 0, 0}, {1919, 9509, 21845, 0, 0, 0, 0}, {12, 5414, 1088, 0, 0, 0, 0}, {1295, 1831, 80, 0, 0, 0, 0}, {552, 8192, 21760, 0, 0, 0, 0}, {12, 48, 771, 4437, 5397, 0, 0}, {21930, 23850, 30464, 0, 0, 0, 0}, {279, 80, 1044, 4096, 0, 0, 0}, {12, 1056, 1536, 1088, 4352, 0, 0}, {3855, 1911, 21845, 0, 0, 0, 0}, {12, 4386, 1092, 0, 0, 0, 0}, {1295, 544, 80, 0, 0, 0, 0}, {48, 4608, 5376, 0, 0, 0, 0}, {108, 514, 4369, 0, 0, 0, 0}, {1290, 48, 514, 80, 4112, 0, 0}, {2048, 4403, 17408, 0, 0, 0, 0}, {1800, 1844, 4420, 0, 0, 0, 0}, {522, 5429, 5461, 0, 0, 0, 0}, {4362, 4406, 4864, 80, 5120, 0, 0}, {5503, 14135, 16448, 0, 0, 0, 0}, {1800, 48, 5440, 0, 0, 0, 0}, {522, 4915, 4437, 0, 0, 0, 0}, {1290, 48, 1792, 80, 4096, 0, 0}, {2056, 4471, 17476, 0, 0, 0, 0}, {60, 1792, 4352, 0, 0, 0, 0}, {96, 514, 5397, 0, 0, 0, 0}, {4382, 4386, 514, 80, 5140, 0, 0}, {5439, 8704, 16384, 0, 0, 0, 0}, {7424, 8704, 5440, 0, 0, 0, 0}, {542, 546, 80, 1285, 4369, 0, 0}, {5386, 96, 578, 16384, 0, 0, 0}, {4367, 4403, 1859, 17408, 0, 0, 0}, {6400, 13056, 4420, 0, 0, 0, 0}, {538, 48, 80, 1285, 4112, 0, 0}, {4362, 4454, 582, 17408, 0, 0, 0}, {5391, 48, 1863, 16384, 0, 0, 0}, {192, 8776, 5376, 0, 0, 0, 0}, {60, 534, 80, 1285, 4357, 0, 0}, {5450, 96, 5888, 16448, 0, 0, 0}, {4427, 4471, 5632, 17476, 0, 0, 0}, {204, 2124, 4352, 0, 0, 0, 0}, {48, 530, 80, 1285, 4096, 0, 0}, {4430, 4386, 4864, 17476, 0, 0, 0}, {5455, 48, 4608, 16448, 0, 0, 0}, {512, 80, 1280, 0, 0, 0, 0}, {12, 1028, 4369, 0, 0, 0, 0}, {1800, 8738, 21074, 0, 0, 0, 0}, {12, 4403, 512, 4435, 1024, 0, 0}, {48, 768, 260, 4112, 0, 0, 0}, {8874, 2048, 21845, 0, 0, 0, 0}, {12, 48, 768, 4438, 1024, 0, 0}, {520, 8224, 22359, 0, 0, 0, 0}, {520, 8224, 80, 1280, 0, 0, 0}, {12, 13107, 4437, 1024, 0, 0, 0}, {240, 1792, 21850, 0, 0, 0, 0}, {12, 96, 516, 1028, 4375, 0, 0}, {12, 48, 80, 256, 0, 0, 0}, {2056, 8738, 21845, 0, 0, 0, 0}, {12, 48, 768, 1028, 4370, 0, 0}, {160, 512, 21855, 0, 0, 0, 0}, {96, 512, 5376, 0, 0, 0, 0}, {60, 1799, 4369, 0, 0, 0, 0}, {5418, 8738, 16448, 0, 0, 0, 0}, {4367, 4403, 512, 80, 5120, 0, 0}, {520, 4896, 4420, 0, 0, 0, 0}, {1807, 48, 5461, 0, 0, 0, 0}, {2048, 4454, 17408, 0, 0, 0, 0}, {1295, 48, 1799, 80, 4112, 0, 0}, {520, 5408, 5440, 0, 0, 0, 0}, {1807, 1843, 4437, 0, 0, 0, 0}, {5482, 14080, 16384, 0, 0, 0, 0}, {4379, 4391, 4883, 80, 5140, 0, 0}, {108, 512, 4352, 0, 0, 0, 0}, {48, 4626, 5397, 0, 0, 0, 0}, {2056, 4386, 17476, 0, 0, 0, 0}, {1295, 48, 512, 80, 4096, 0, 0}, {3840, 1904, 21760, 0, 0, 0, 0}, {12, 1060, 1542, 1092, 4369, 0, 0}, {1290, 546, 80, 0, 0, 0, 0}, {12, 4403, 1088, 0, 0, 0, 0}, {12, 48, 768, 4420, 5376, 0, 0}, {554, 8224, 21845, 0, 0, 0, 0}, {278, 80, 1040, 4112, 0, 0, 0}, {22015, 23927, 30583, 0, 0, 0, 0}, {1912, 9472, 21760, 0, 0, 0, 0}, {12, 4405, 4883, 4437, 5397, 0, 0}, {1290, 1824, 80, 0, 0, 0, 0}, {12, 5427, 1092, 0, 0, 0, 0}, {12, 48, 768, 1088, 4352, 0, 0}, {2570, 546, 21845, 0, 0, 0, 0}, {274, 80, 1044, 4096, 0, 0, 0}, {22015, 23935, 8704, 0, 0, 0, 0}, {2176, 8704, 21760, 0, 0, 0, 0}, {12, 771, 1285, 273, 0, 0, 0}, {2570, 546, 21770, 0, 0, 0, 0}, {12, 48, 771, 1088, 4355, 0, 0}, {12, 13056, 4420, 5376, 0, 0, 0}, {554, 8224, 80, 1285, 0, 0, 0}, {12, 1056, 1542, 1088, 4358, 0, 0}, {3855, 1911, 21775, 0, 0, 0, 0}, {8840, 10752, 21760, 0, 0, 0, 0}, {48, 771, 277, 4112, 0, 0, 0}, {554, 8224, 22304, 0, 0, 0, 0}, {12, 48, 771, 4423, 5379, 0, 0}, {12, 1088, 4352, 0, 0, 0, 0}, {546, 80, 1285, 0, 0, 0, 0}, {12, 4386, 4864, 4418, 5382, 0, 0}, {1919, 8704, 21104, 0, 0, 0, 0}, {48, 512, 80, 1280, 4096, 0, 0}, {204, 2056, 4369, 0, 0, 0, 0}, {5402, 48, 4626, 16448, 0, 0, 0}, {4447, 4403, 512, 17408, 0, 0, 0}, {520, 564, 80, 1280, 4372, 0, 0}, {2048, 14143, 5461, 0, 0, 0, 0}, {4442, 4454, 1792, 17408, 0, 0, 0}, {5407, 96, 5911, 16448, 0, 0, 0}, {520, 48, 80, 1280, 4112, 0, 0}, {2048, 13107, 4437, 0, 0, 0, 0}, {5466, 48, 1792, 16384, 0, 0, 0}, {4379, 4471, 4883, 17476, 0, 0, 0}, {60, 512, 80, 1280, 4352, 0, 0}, {192, 8738, 5397, 0, 0, 0, 0}, {4382, 4386, 5654, 17476, 0, 0, 0}, {5471, 96, 512, 16384, 0, 0, 0}, {160, 512, 21760, 0, 0, 0, 0}, {12, 48, 771, 1028, 4369, 0, 0}, {21930, 2056, 8738, 0, 0, 0, 0}, {259, 80, 1024, 4096, 0, 0, 0}, {12, 4388, 516, 4420, 1028, 0, 0}, {1807, 9557, 21845, 0, 0, 0, 0}, {12, 4454, 1024, 0, 0, 0, 0}, {1295, 1799, 80, 0, 0, 0, 0}, {520, 8224, 21760, 0, 0, 0, 0}, {12, 48, 771, 4437, 1024, 0, 0}, {21930, 2048, 30464, 0, 0, 0, 0}, {263, 80, 1028, 4112, 0, 0, 0}, {12, 96, 512, 1024, 4352, 0, 0}, {240, 1799, 21845, 0, 0, 0, 0}, {12, 4386, 1028, 0, 0, 0, 0}, {1295, 512, 80, 0, 0, 0, 0}, {48, 4608, 5440, 0, 0, 0, 0}, {590, 546, 4369, 0, 0, 0, 0}, {1290, 48, 530, 80, 4096, 0, 0}, {2124, 4403, 17408, 0, 0, 0, 0}, {60, 5632, 4420, 0, 0, 0, 0}, {586, 96, 5397, 0, 0, 0, 0}, {4362, 4406, 534, 80, 5120, 0, 0}, {5439, 14199, 16384, 0, 0, 0, 0}, {4680, 48, 5376, 0, 0, 0, 0}, {4409, 4883, 4437, 0, 0, 0, 0}, {1290, 48, 1808, 80, 4112, 0, 0}, {2116, 4471, 17476, 0, 0, 0, 0}, {1868, 1904, 4352, 0, 0, 0, 0}, {5429, 5911, 5461, 0, 0, 0, 0}, {4382, 4386, 4864, 80, 5140, 0, 0}, {5503, 8704, 16448, 0, 0, 0, 0}, {192, 8704, 5376, 0, 0, 0, 0}, {60, 514, 80, 1285, 4369, 0, 0}, {5450, 96, 514, 16448, 0, 0, 0}, {4367, 4403, 5632, 17408, 0, 0, 0}, {2056, 13056, 4420, 0, 0, 0, 0}, {522, 48, 80, 1285, 4096, 0, 0}, {4362, 4454, 4864, 17408, 0, 0, 0}, {5455, 48, 1799, 16448, 0, 0, 0}, {2056, 14088, 5440, 0, 0, 0, 0}, {522, 566, 80, 1285, 4357, 0, 0}, {5386, 96, 5888, 16384, 0, 0, 0}, {4427, 4471, 1799, 17476, 0, 0, 0}, {204, 2048, 4352, 0, 0, 0, 0}, {48, 514, 80, 1285, 4112, 0, 0}, {4430, 4386, 514, 17476, 0, 0, 0}, {5391, 48, 4608, 16384, 0, 0, 0}, {544, 80, 1280, 0, 0, 0, 0}, {12, 1092, 4369, 0, 0, 0, 0}, {1912, 8738, 21026, 0, 0, 0, 0}, {12, 4403, 4883, 4435, 5395, 0, 0}, {48, 768, 276, 4096, 0, 0, 0}, {8874, 10794, 21845, 0, 0, 0, 0}, {12, 48, 768, 4438, 5398, 0, 0}, {552, 8192, 22391, 0, 0, 0, 0}, {552, 8192, 80, 1280, 0, 0, 0}, {12, 13107, 4437, 5397, 0, 0, 0}, {3840, 1904, 21850, 0, 0, 0, 0}, {12, 1060, 1536, 1092, 4375, 0, 0}, {12, 768, 1280, 272, 0, 0, 0}, {2184, 8738, 21845, 0, 0, 0, 0}, {12, 48, 768, 1092, 4370, 0, 0}, {2560, 544, 21855, 0, 0, 0, 0}, {5408, 5888, 5440, 0, 0, 0, 0}, {1867, 1911, 4369, 0, 0, 0, 0}, {5482, 8738, 16384, 0, 0, 0, 0}, {4367, 4403, 4883, 80, 5120, 0, 0}, {4392, 4864, 4420, 0, 0, 0, 0}, {4698, 48, 5397, 0, 0, 0, 0}, {2124, 4454, 17408, 0, 0, 0, 0}, {1295, 48, 1815, 80, 4096, 0, 0}, {584, 96, 5376, 0, 0, 0, 0}, {60, 5654, 4437, 0, 0, 0, 0}, {5418, 14144, 16448, 0, 0, 0, 0}, {4379, 4391, 532, 80, 5140, 0, 0}, {588, 544, 4352, 0, 0, 0, 0}, {48, 4626, 5461, 0, 0, 0, 0}, {2116, 4386, 17476, 0, 0, 0, 0}, {1295, 48, 528, 80, 4112, 0, 0}, {240, 1792, 21760, 0, 0, 0, 0}, {12, 96, 514, 1028, 4369, 0, 0}, {1290, 514, 80, 0, 0, 0, 0}, {12, 4403, 1024, 0, 0, 0, 0}, {12, 48, 768, 4420, 1028, 0, 0}, {522, 8192, 21845, 0, 0, 0, 0}, {262, 80, 1024, 4096, 0, 0, 0}, {22015, 2056, 30583, 0, 0, 0, 0}, {1800, 9584, 21760, 0, 0, 0, 0}, {12, 4405, 518, 4437, 1024, 0, 0}, {1290, 1792, 80, 0, 0, 0, 0}, {12, 4471, 1028, 0, 0, 0, 0}, {12, 48, 768, 1024, 4352, 0, 0}, {160, 514, 21845, 0, 0, 0, 0}, {258, 80, 1028, 4112, 0, 0, 0}, {22015, 2048, 8704, 0, 0, 0, 0}, {4608, 1024, 0, 0, 0, 0, 0}, {95, 257, 0, 0, 0, 0, 0}, {1032, 4128, 514, 20480, 0, 0, 0}, {1036, 4403, 771, 21760, 0, 0, 0}, {4680, 1028, 0, 0, 0, 0, 0}, {4864, 261, 0, 0, 0, 0, 0}, {1036, 4192, 1542, 20480, 0, 0, 0}, {1032, 4471, 1799, 21760, 0, 0, 0}, {1032, 12288, 22016, 0, 0, 0, 0}, {265, 4144, 771, 342, 1285, 0, 0}, {522, 1024, 4096, 0, 0, 0, 0}, {771, 4420, 1028, 0, 0, 0, 0}, {1036, 8704, 20992, 0, 0, 0, 0}, {269, 4386, 514, 338, 1285, 0, 0}, {514, 4160, 1028, 0, 0, 0, 0}, {783, 1024, 4352, 0, 0, 0, 0}, {2560, 544, 1088, 4112, 0, 0, 0}, {3840, 819, 1092, 4369, 0, 0, 0}, {1096, 4626, 0, 0, 0, 0, 0}, {275, 1280, 0, 0, 0, 0, 0}, {552, 8192, 4176, 5140, 0, 0, 0}, {831, 13056, 4437, 5397, 0, 0, 0}, {1100, 5654, 0, 0, 0, 0, 0}, {279, 1280, 0, 0, 0, 0, 0}, {1096, 4144, 5712, 20560, 0, 0, 0}, {1100, 4454, 4693, 21845, 0, 0, 0}, {6682, 12336, 1088, 0, 0, 0, 0}, {283, 819, 324, 1280, 4096, 0, 0}, {1100, 4208, 4688, 20560, 0, 0, 0}, {1096, 4386, 5717, 21845, 0, 0, 0}, {7710, 8738, 1092, 0, 0, 0, 0}, {287, 544, 320, 1280, 4352, 0, 0}, {4128, 4608, 5120, 0, 0, 0, 0}, {1147, 771, 4369, 0, 0, 0, 0}, {3072, 4642, 16384, 0, 0, 0, 0}, {1295, 291, 771, 1360, 4112, 0, 0}, {1548, 1060, 5188, 0, 0, 0, 0}, {783, 5669, 4437, 0, 0, 0, 0}, {4714, 9766, 16448, 0, 0, 0, 0}, {4111, 295, 4864, 4176, 5376, 0, 0}, {1064, 1536, 4096, 0, 0, 0, 0}, {4454, 771, 5397, 0, 0, 0, 0}, {5674, 12288, 17408, 0, 0, 0, 0}, {4379, 4144, 771, 4420, 5140, 0, 0}, {1548, 544, 4160, 0, 0, 0, 0}, {783, 4386, 5461, 0, 0, 0, 0}, {3084, 5734, 17476, 0, 0, 0, 0}, {1295, 1056, 1536, 1360, 4352, 0, 0}, {2048, 4656, 17408, 0, 0, 0, 0}, {1290, 305, 514, 1365, 4369, 0, 0}, {1128, 514, 4112, 0, 0, 0, 0}, {4403, 4608, 5376, 0, 0, 0, 0}, {4728, 13364, 17476, 0, 0, 0, 0}, {4362, 309, 4864, 4437, 5120, 0, 0}, {522, 5686, 4176, 0, 0, 0, 0}, {1800, 1079, 5440, 0, 0, 0, 0}, {2056, 5744, 16448, 0, 0, 0, 0}, {1290, 1075, 1792, 1365, 4096, 0, 0}, {522, 4144, 5200, 0, 0, 0, 0}, {1800, 819, 4420, 0, 0, 0, 0}, {5692, 8704, 16384, 0, 0, 0, 0}, {4127, 4386, 514, 4160, 5397, 0, 0}, {4208, 514, 5140, 0, 0, 0, 0}, {1087, 1792, 4352, 0, 0, 0, 0}, {7680, 8704, 1088, 0, 0, 0, 0}, {286, 546, 321, 1285, 4369, 0, 0}, {1096, 4192, 4674, 20480, 0, 0, 0}, {1100, 4403, 5699, 21760, 0, 0, 0}, {6656, 12288, 1092, 0, 0, 0, 0}, {282, 816, 325, 1285, 4112, 0, 0}, {1100, 4128, 5702, 20480, 0, 0, 0}, {1096, 4471, 4679, 21760, 0, 0, 0}, {1096, 5632, 0, 0, 0, 0, 0}, {278, 1285, 0, 0, 0, 0, 0}, {554, 8224, 4160, 5120, 0, 0, 0}, {828, 13107, 4420, 5376, 0, 0, 0}, {1100, 4608, 0, 0, 0, 0, 0}, {274, 1285, 0, 0, 0, 0, 0}, {2570, 546, 1092, 4096, 0, 0, 0}, {3855, 816, 1088, 4352, 0, 0, 0}, {512, 4176, 1024, 0, 0, 0, 0}, {780, 1028, 4369, 0, 0, 0, 0}, {1032, 8738, 21074, 0, 0, 0, 0}, {268, 4403, 512, 339, 1280, 0, 0}, {520, 1028, 4112, 0, 0, 0, 0}, {768, 4437, 1024, 0, 0, 0, 0}, {1036, 12336, 22102, 0, 0, 0, 0}, {264, 4128, 768, 343, 1280, 0, 0}, {1032, 4208, 1536, 20560, 0, 0, 0}, {1036, 4454, 1792, 21845, 0, 0, 0}, {4698, 1024, 0, 0, 0, 0, 0}, {4883, 260, 0, 0, 0, 0, 0}, {1036, 4144, 512, 20560, 0, 0, 0}, {1032, 4386, 768, 21845, 0, 0, 0}, {4626, 1028, 0, 0, 0, 0, 0}, {95, 256, 0, 0, 0, 0, 0}, {4192, 512, 5120, 0, 0, 0, 0}, {1083, 1799, 4369, 0, 0, 0, 0}, {5674, 8738, 16448, 0, 0, 0, 0}, {4111, 4403, 512, 4176, 5376, 0, 0}, {520, 4128, 5188, 0, 0, 0, 0}, {1807, 816, 4437, 0, 0, 0, 0}, {2048, 5734, 16384, 0, 0, 0, 0}, {1295, 1079, 1799, 1360, 4112, 0, 0}, {520, 5664, 4160, 0, 0, 0, 0}, {1807, 1075, 5461, 0, 0, 0, 0}, {4714, 13312, 17408, 0, 0, 0, 0}, {4379, 308, 4883, 4420, 5140, 0, 0}, {1132, 512, 4096, 0, 0, 0, 0}, {4386, 4626, 5397, 0, 0, 0, 0}, {2056, 4642, 17476, 0, 0, 0, 0}, {1295, 304, 512, 1360, 4352, 0, 0}, {3072, 5744, 17408, 0, 0, 0, 0}, {1290, 1060, 1542, 1365, 4369, 0, 0}, {1546, 546, 4176, 0, 0, 0, 0}, {780, 4403, 5440, 0, 0, 0, 0}, {5692, 12336, 17476, 0, 0, 0, 0}, {4362, 4128, 768, 4437, 5120, 0, 0}, {1068, 1542, 4112, 0, 0, 0, 0}, {4471, 768, 5376, 0, 0, 0, 0}, {4728, 9728, 16384, 0, 0, 0, 0}, {4127, 294, 4883, 4160, 5397, 0, 0}, {1546, 1056, 5200, 0, 0, 0, 0}, {780, 5683, 4420, 0, 0, 0, 0}, {3084, 4656, 16448, 0, 0, 0, 0}, {1290, 290, 768, 1365, 4096, 0, 0}, {4144, 4626, 5140, 0, 0, 0, 0}, {1151, 768, 4352, 0, 0, 0, 0}, {1152, 4608, 17408, 0, 0, 0, 0}, {95, 289, 771, 1285, 4369, 0, 0}, {1546, 546, 4096, 0, 0, 0, 0}, {4403, 771, 5440, 0, 0, 0, 0}, {4680, 13380, 17476, 0, 0, 0, 0}, {4362, 293, 4613, 4437, 1285, 0, 0}, {1068, 1542, 4160, 0, 0, 0, 0}, {783, 4471, 5376, 0, 0, 0, 0}, {1160, 5632, 16384, 0, 0, 0, 0}, {95, 374, 771, 1285, 4112, 0, 0}, {4618, 4128, 5120, 0, 0, 0, 0}, {5439, 771, 4420, 0, 0, 0, 0}, {5708, 8704, 16448, 0, 0, 0, 0}, {4111, 4386, 4864, 4176, 1285, 0, 0}, {1060, 1542, 5188, 0, 0, 0, 0}, {783, 1904, 4352, 0, 0, 0, 0}, {4144, 512, 5200, 0, 0, 0, 0}, {1800, 819, 4369, 0, 0, 0, 0}, {1224, 4626, 16448, 0, 0, 0, 0}, {95, 307, 512, 1280, 4096, 0, 0}, {520, 4208, 5140, 0, 0, 0, 0}, {1087, 1792, 4437, 0, 0, 0, 0}, {4698, 9830, 16384, 0, 0, 0, 0}, {4127, 311, 4631, 4160, 1280, 0, 0}, {520, 1632, 4112, 0, 0, 0, 0}, {1075, 1792, 5461, 0, 0, 0, 0}, {5722, 12336, 17408, 0, 0, 0, 0}, {4379, 4128, 4883, 4420, 1280, 0, 0}, {5180, 512, 4176, 0, 0, 0, 0}, {4637, 4386, 5397, 0, 0, 0, 0}, {1220, 5654, 17476, 0, 0, 0, 0}, {95, 352, 512, 1280, 4352, 0, 0}, {160, 512, 1024, 4096, 0, 0, 0}, {255, 771, 1028, 4369, 0, 0, 0}, {1032, 4642, 0, 0, 0, 0, 0}, {259, 1360, 0, 0, 0, 0, 0}, {520, 8224, 4160, 1028, 0, 0, 0}, {783, 13056, 4437, 1024, 0, 0, 0}, {1036, 5734, 0, 0, 0, 0, 0}, {263, 1360, 0, 0, 0, 0, 0}, {1032, 4128, 1536, 20480, 0, 0, 0}, {1036, 4454, 771, 21845, 0, 0, 0}, {4778, 12288, 1024, 0, 0, 0, 0}, {267, 771, 340, 1028, 4112, 0, 0}, {1036, 4192, 512, 20480, 0, 0, 0}, {1032, 4386, 1799, 21845, 0, 0, 0}, {4834, 8738, 1028, 0, 0, 0, 0}, {271, 512, 336, 1024, 4352, 0, 0}, {4656, 1088, 0, 0, 0, 0, 0}, {1290, 273, 0, 0, 0, 0, 0}, {1096, 4144, 4626, 20560, 0, 0, 0}, {1100, 4403, 4608, 21760, 0, 0, 0}, {5692, 1092, 0, 0, 0, 0, 0}, {4896, 277, 0, 0, 0, 0, 0}, {1100, 4208, 5654, 20560, 0, 0, 0}, {1096, 4471, 5632, 21760, 0, 0, 0}, {1096, 12336, 22064, 0, 0, 0, 0}, {281, 4128, 4883, 326, 1043, 0, 0}, {554, 1088, 4112, 0, 0, 0, 0}, {819, 4420, 5376, 0, 0, 0, 0}, {1100, 8704, 21104, 0, 0, 0, 0}, {285, 4386, 4864, 322, 1047, 0, 0}, {546, 4176, 5140, 0, 0, 0, 0}, {831, 1088, 4352, 0, 0, 0, 0}, {1216, 5632, 17408, 0, 0, 0, 0}, {95, 353, 514, 1285, 4369, 0, 0}, {5160, 514, 4160, 0, 0, 0, 0}, {4623, 4403, 5376, 0, 0, 0, 0}, {5708, 12288, 17476, 0, 0, 0, 0}, {4362, 4144, 4864, 4437, 1285, 0, 0}, {522, 1638, 4096, 0, 0, 0, 0}, {1079, 1799, 5440, 0, 0, 0, 0}, {4680, 9792, 16448, 0, 0, 0, 0}, {4111, 310, 4613, 4176, 1285, 0, 0}, {522, 4192, 5120, 0, 0, 0, 0}, {1083, 1799, 4420, 0, 0, 0, 0}, {1228, 4608, 16384, 0, 0, 0, 0}, {95, 306, 514, 1285, 4112, 0, 0}, {4128, 514, 5188, 0, 0, 0, 0}, {1807, 816, 4352, 0, 0, 0, 0}, {1056, 1536, 5200, 0, 0, 0, 0}, {780, 1911, 4369, 0, 0, 0, 0}, {5722, 8738, 16384, 0, 0, 0, 0}, {4127, 4403, 4883, 4160, 1280, 0, 0}, {4632, 4144, 5140, 0, 0, 0, 0}, {5418, 768, 4437, 0, 0, 0, 0}, {1164, 5654, 16448, 0, 0, 0, 0}, {95, 375, 768, 1280, 4096, 0, 0}, {1064, 1536, 4176, 0, 0, 0, 0}, {780, 4454, 5397, 0, 0, 0, 0}, {4698, 13424, 17408, 0, 0, 0, 0}, {4379, 292, 4631, 4420, 1280, 0, 0}, {1548, 544, 4112, 0, 0, 0, 0}, {4386, 768, 5461, 0, 0, 0, 0}, {1156, 4626, 17476, 0, 0, 0, 0}, {95, 288, 768, 1280, 4352, 0, 0}, {544, 4160, 5120, 0, 0, 0, 0}, {828, 1092, 4369, 0, 0, 0, 0}, {1096, 8738, 21026, 0, 0, 0, 0}, {284, 4403, 4883, 323, 1043, 0, 0}, {552, 1092, 4096, 0, 0, 0, 0}, {816, 4437, 5397, 0, 0, 0, 0}, {1100, 12288, 22118, 0, 0, 0, 0}, {280, 4144, 4864, 327, 1047, 0, 0}, {1096, 4192, 5632, 20480, 0, 0, 0}, {1100, 4454, 5654, 21845, 0, 0, 0}, {5674, 1088, 0, 0, 0, 0, 0}, {4915, 276, 0, 0, 0, 0, 0}, {1100, 4128, 4608, 20480, 0, 0, 0}, {1096, 4386, 4626, 21845, 0, 0, 0}, {4642, 1092, 0, 0, 0, 0, 0}, {1295, 272, 0, 0, 0, 0, 0}, {4848, 8704, 1024, 0, 0, 0, 0}, {270, 514, 337, 1028, 4369, 0, 0}, {1032, 4208, 514, 20560, 0, 0, 0}, {1036, 4403, 1792, 21760, 0, 0, 0}, {4792, 12336, 1028, 0, 0, 0, 0}, {266, 768, 341, 1024, 4096, 0, 0}, {1036, 4144, 1542, 20560, 0, 0, 0}, {1032, 4471, 768, 21760, 0, 0, 0}, {1032, 5744, 0, 0, 0, 0, 0}, {262, 1365, 0, 0, 0, 0, 0}, {522, 8192, 4176, 1024, 0, 0, 0}, {780, 13107, 4420, 1028, 0, 0, 0}, {1036, 4656, 0, 0, 0, 0, 0}, {258, 1365, 0, 0, 0, 0, 0}, {160, 514, 1028, 4112, 0, 0, 0}, {255, 768, 1024, 4352, 0, 0, 0}, {24320, 0, 0, 0, 0, 0, 0}, {18, 4, 257, 0, 0, 0, 0}, {8, 34, 514, 21760, 0, 0, 0}, {12, 48, 771, 20480, 0, 0, 0}, {4864, 4, 0, 0, 0, 0, 0}, {90, 1285, 0, 0, 0, 0, 0}, {12, 102, 1542, 21760, 0, 0, 0}, {8, 112, 1799, 20480, 0, 0, 0}, {8, 8192, 22272, 0, 0, 0, 0}, {12, 48, 771, 86, 1285, 0, 0}, {170, 2570, 21760, 0, 0, 0, 0}, {48, 771, 4, 4096, 0, 0, 0}, {12, 13056, 21248, 0, 0, 0, 0}, {8, 34, 514, 82, 1285, 0, 0}, {34, 514, 4, 4352, 0, 0, 0}, {240, 3855, 20480, 0, 0, 0, 0}, {3840, 48, 64, 4112, 0, 0, 0}, {2560, 34, 68, 4369, 0, 0, 0}, {18, 1280, 0, 0, 0, 0, 0}, {76, 4883, 0, 0, 0, 0, 0}, {60, 13056, 68, 5140, 0, 0, 0}, {42, 8192, 64, 5397, 0, 0, 0}, {22, 1280, 0, 0, 0, 0, 0}, {72, 5911, 0, 0, 0, 0, 0}, {72, 48, 5968, 20560, 0, 0, 0}, {76, 102, 4949, 21845, 0, 0, 0}, {26, 48, 64, 1280, 4096, 0, 0}, {6939, 13107, 68, 0, 0, 0, 0}, {76, 112, 4944, 20560, 0, 0, 0}, {72, 34, 5973, 21845, 0, 0, 0}, {30, 34, 68, 1280, 4352, 0, 0}, {7967, 8224, 64, 0, 0, 0, 0}, {128, 24352, 8224, 0, 0, 0, 0}, {18, 68, 1297, 4369, 0, 0, 0}, {2560, 34, 21760, 0, 0, 0, 0}, {12, 48, 771, 64, 4112, 0, 0}, {12, 5924, 68, 0, 0, 0, 0}, {1295, 1317, 1365, 0, 0, 0, 0}, {12, 38, 4864, 64, 5376, 0, 0}, {120, 10023, 20560, 0, 0, 0, 0}, {136, 24360, 30464, 0, 0, 0, 0}, {22, 64, 1301, 4096, 0, 0, 0}, {42, 8192, 21760, 0, 0, 0, 0}, {12, 48, 771, 68, 5140, 0, 0}, {12, 4896, 64, 0, 0, 0, 0}, {1295, 34, 1365, 0, 0, 0, 0}, {12, 34, 1536, 68, 4352, 0, 0}, {3855, 112, 20560, 0, 0, 0, 0}, {3840, 48, 20480, 0, 0, 0, 0}, {8, 34, 514, 68, 4369, 0, 0}, {18, 64, 1296, 4112, 0, 0, 0}, {204, 24371, 13107, 0, 0, 0, 0}, {8, 52, 4864, 68, 5120, 0, 0}, {106, 13621, 21845, 0, 0, 0, 0}, {1290, 1334, 1360, 0, 0, 0, 0}, {8, 5943, 64, 0, 0, 0, 0}, {8, 48, 1792, 64, 4096, 0, 0}, {2570, 102, 21845, 0, 0, 0, 0}, {1290, 48, 1360, 0, 0, 0, 0}, {8, 4915, 68, 0, 0, 0, 0}, {60, 13056, 20480, 0, 0, 0, 0}, {8, 34, 514, 64, 5397, 0, 0}, {22, 68, 1300, 4352, 0, 0, 0}, {192, 24383, 24576, 0, 0, 0, 0}, {7936, 8192, 64, 0, 0, 0, 0}, {30, 34, 68, 1285, 4369, 0, 0}, {72, 34, 5954, 21760, 0, 0, 0}, {76, 112, 4931, 20480, 0, 0, 0}, {6912, 13056, 68, 0, 0, 0, 0}, {26, 48, 64, 1285, 4112, 0, 0}, {76, 102, 4934, 21760, 0, 0, 0}, {72, 48, 5959, 20480, 0, 0, 0}, {72, 5888, 0, 0, 0, 0, 0}, {22, 1285, 0, 0, 0, 0, 0}, {42, 8224, 64, 5376, 0, 0, 0}, {60, 13107, 68, 5120, 0, 0, 0}, {76, 4864, 0, 0, 0, 0, 0}, {18, 1285, 0, 0, 0, 0, 0}, {2570, 34, 68, 4352, 0, 0, 0}, {3855, 48, 64, 4096, 0, 0, 0}, {240, 3840, 20560, 0, 0, 0, 0}, {34, 512, 4, 4369, 0, 0, 0}, {8, 34, 512, 82, 1280, 0, 0}, {12, 13107, 21331, 0, 0, 0, 0}, {48, 768, 4, 4112, 0, 0, 0}, {170, 2560, 21845, 0, 0, 0, 0}, {12, 48, 768, 86, 1280, 0, 0}, {8, 8224, 22359, 0, 0, 0, 0}, {8, 112, 1792, 20560, 0, 0, 0}, {12, 102, 1536, 21845, 0, 0, 0}, {90, 1280, 0, 0, 0, 0, 0}, {4883, 4, 0, 0, 0, 0, 0}, {12, 48, 768, 20560, 0, 0, 0}, {8, 34, 512, 21845, 0, 0, 0}, {18, 4, 256, 0, 0, 0, 0}, {24415, 0, 0, 0, 0, 0, 0}, {192, 24416, 24672, 0, 0, 0, 0}, {22, 68, 1297, 4369, 0, 0, 0}, {8, 34, 512, 64, 5376, 0, 0}, {60, 13107, 20560, 0, 0, 0, 0}, {8, 4896, 68, 0, 0, 0, 0}, {1295, 48, 1365, 0, 0, 0, 0}, {2560, 102, 21760, 0, 0, 0, 0}, {8, 48, 1799, 64, 4112, 0, 0}, {8, 5920, 64, 0, 0, 0, 0}, {1295, 1331, 1365, 0, 0, 0, 0}, {106, 13568, 21760, 0, 0, 0, 0}, {8, 52, 4883, 68, 5140, 0, 0}, {204, 24428, 13056, 0, 0, 0, 0}, {18, 64, 1301, 4096, 0, 0, 0}, {8, 34, 512, 68, 4352, 0, 0}, {3855, 48, 20560, 0, 0, 0, 0}, {3840, 112, 20480, 0, 0, 0, 0}, {12, 34, 1542, 68, 4369, 0, 0}, {1290, 34, 1360, 0, 0, 0, 0}, {12, 4915, 64, 0, 0, 0, 0}, {12, 48, 768, 68, 5120, 0, 0}, {42, 8224, 21845, 0, 0, 0, 0}, {22, 64, 1296, 4112, 0, 0, 0}, {136, 24439, 30583, 0, 0, 0, 0}, {120, 9984, 20480, 0, 0, 0, 0}, {12, 38, 4883, 64, 5397, 0, 0}, {1290, 1312, 1360, 0, 0, 0, 0}, {12, 5939, 68, 0, 0, 0, 0}, {12, 48, 768, 64, 4096, 0, 0}, {2570, 34, 21845, 0, 0, 0, 0}, {18, 68, 1300, 4352, 0, 0, 0}, {128, 24447, 8192, 0, 0, 0, 0}, {128, 24320, 8192, 0, 0, 0, 0}, {18, 68, 1285, 4369, 0, 0, 0}, {2570, 34, 21760, 0, 0, 0, 0}, {12, 48, 771, 64, 4096, 0, 0}, {12, 5888, 68, 0, 0, 0, 0}, {90, 112, 1285, 0, 0, 0, 0}, {12, 38, 4870, 64, 5376, 0, 0}, {120, 10103, 20480, 0, 0, 0, 0}, {136, 24320, 30464, 0, 0, 0, 0}, {22, 64, 1285, 4112, 0, 0, 0}, {42, 8224, 21760, 0, 0, 0, 0}, {12, 48, 771, 68, 5120, 0, 0}, {12, 4864, 64, 0, 0, 0, 0}, {90, 34, 1285, 0, 0, 0, 0}, {12, 34, 1542, 68, 4352, 0, 0}, {3855, 112, 20480, 0, 0, 0, 0}, {3840, 48, 20560, 0, 0, 0, 0}, {8, 34, 512, 68, 4369, 0, 0}, {18, 64, 1280, 4096, 0, 0, 0}, {204, 24415, 13107, 0, 0, 0, 0}, {8, 52, 4884, 68, 5140, 0, 0}, {106, 13653, 21845, 0, 0, 0, 0}, {90, 102, 1280, 0, 0, 0, 0}, {8, 5911, 64, 0, 0, 0, 0}, {8, 48, 1792, 64, 4112, 0, 0}, {2560, 102, 21845, 0, 0, 0, 0}, {90, 48, 1280, 0, 0, 0, 0}, {8, 4883, 68, 0, 0, 0, 0}, {60, 13056, 20560, 0, 0, 0, 0}, {8, 34, 512, 64, 5397, 0, 0}, {22, 68, 1280, 4352, 0, 0, 0}, {192, 24415, 24672, 0, 0, 0, 0}, {24480, 0, 0, 0, 0, 0, 0}, {259, 4, 273, 0, 0, 0, 0}, {8, 34, 512, 21760, 0, 0, 0}, {12, 48, 771, 20560, 0, 0, 0}, {4896, 4, 0, 0, 0, 0, 0}, {1295, 1365, 0, 0, 0, 0, 0}, {12, 102, 1536, 21760, 0, 0, 0}, {8, 112, 1799, 20560, 0, 0, 0}, {8, 8224, 22304, 0, 0, 0, 0}, {12, 48, 771, 86, 1283, 0, 0}, {170, 2560, 21760, 0, 0, 0, 0}, {48, 771, 4, 4112, 0, 0, 0}, {12, 13056, 21344, 0, 0, 0, 0}, {8, 34, 512, 82, 1287, 0, 0}, {34, 512, 4, 4352, 0, 0, 0}, {240, 3855, 20560, 0, 0, 0, 0}, {3840, 48, 64, 4096, 0, 0, 0}, {2570, 34, 68, 4369, 0, 0, 0}, {18, 1360, 0, 0, 0, 0, 0}, {76, 4915, 0, 0, 0, 0, 0}, {60, 13056, 68, 5120, 0, 0, 0}, {42, 8224, 64, 5397, 0, 0, 0}, {22, 1360, 0, 0, 0, 0, 0}, {72, 6007, 0, 0, 0, 0, 0}, {72, 48, 5888, 20480, 0, 0, 0}, {76, 102, 4883, 21845, 0, 0, 0}, {26, 48, 64, 1296, 4112, 0, 0}, {6963, 13107, 68, 0, 0, 0, 0}, {76, 112, 4864, 20480, 0, 0, 0}, {72, 34, 5911, 21845, 0, 0, 0}, {30, 34, 68, 1300, 4352, 0, 0}, {7999, 8192, 64, 0, 0, 0, 0}, {192, 24320, 24576, 0, 0, 0, 0}, {22, 68, 1285, 4369, 0, 0, 0}, {8, 34, 514, 64, 5376, 0, 0}, {60, 13107, 20480, 0, 0, 0, 0}, {8, 4864, 68, 0, 0, 0, 0}, {90, 48, 1285, 0, 0, 0, 0}, {2570, 102, 21760, 0, 0, 0, 0}, {8, 48, 1799, 64, 4096, 0, 0}, {8, 5888, 64, 0, 0, 0, 0}, {90, 102, 1285, 0, 0, 0, 0}, {106, 13664, 21760, 0, 0, 0, 0}, {8, 52, 4871, 68, 5120, 0, 0}, {204, 24320, 13056, 0, 0, 0, 0}, {18, 64, 1285, 4112, 0, 0, 0}, {8, 34, 514, 68, 4352, 0, 0}, {3855, 48, 20480, 0, 0, 0, 0}, {3840, 112, 20560, 0, 0, 0, 0}, {12, 34, 1536, 68, 4369, 0, 0}, {90, 34, 1280, 0, 0, 0, 0}, {12, 4883, 64, 0, 0, 0, 0}, {12, 48, 768, 68, 5140, 0, 0}, {42, 8192, 21845, 0, 0, 0, 0}, {22, 64, 1280, 4096, 0, 0, 0}, {136, 24415, 30583, 0, 0, 0, 0}, {120, 10064, 20560, 0, 0, 0, 0}, {12, 38, 4885, 64, 5397, 0, 0}, {90, 112, 1280, 0, 0, 0, 0}, {12, 5911, 68, 0, 0, 0, 0}, {12, 48, 768, 64, 4112, 0, 0}, {2560, 34, 21845, 0, 0, 0, 0}, {18, 68, 1280, 4352, 0, 0, 0}, {128, 24415, 8224, 0, 0, 0, 0}, {7968, 8224, 64, 0, 0, 0, 0}, {30, 34, 68, 1297, 4369, 0, 0}, {72, 34, 5888, 21760, 0, 0, 0}, {76, 112, 4883, 20560, 0, 0, 0}, {6952, 13056, 68, 0, 0, 0, 0}, {26, 48, 64, 1301, 4096, 0, 0}, {76, 102, 4864, 21760, 0, 0, 0}, {72, 48, 5911, 20560, 0, 0, 0}, {72, 5984, 0, 0, 0, 0, 0}, {22, 1365, 0, 0, 0, 0, 0}, {42, 8192, 64, 5376, 0, 0, 0}, {60, 13107, 68, 5140, 0, 0, 0}, {76, 4896, 0, 0, 0, 0, 0}, {18, 1365, 0, 0, 0, 0, 0}, {2560, 34, 68, 4352, 0, 0, 0}, {3855, 48, 64, 4112, 0, 0, 0}, {240, 3840, 20480, 0, 0, 0, 0}, {34, 514, 4, 4369, 0, 0, 0}, {8, 34, 514, 82, 1282, 0, 0}, {12, 13107, 21299, 0, 0, 0, 0}, {48, 768, 4, 4096, 0, 0, 0}, {170, 2570, 21845, 0, 0, 0, 0}, {12, 48, 768, 86, 1286, 0, 0}, {8, 8192, 22391, 0, 0, 0, 0}, {8, 112, 1792, 20480, 0, 0, 0}, {12, 102, 1542, 21845, 0, 0, 0}, {1290, 1360, 0, 0, 0, 0, 0}, {4915, 4, 0, 0, 0, 0, 0}, {12, 48, 768, 20480, 0, 0, 0}, {8, 34, 514, 21845, 0, 0, 0}, {258, 4, 272, 0, 0, 0, 0}, {24575, 0, 0, 0, 0, 0, 0}, {24576, 0, 0, 0, 0, 0, 0}, {7, 17, 257, 0, 0, 0, 0}, {8, 34, 514, 16384, 0, 0, 0}, {15, 51, 771, 20480, 0, 0, 0}, {8, 8192, 68, 1028, 0, 0, 0}, {15, 12288, 85, 1285, 0, 0, 0}, {102, 1542, 0, 0, 0, 0, 0}, {7, 4096, 0, 0, 0, 0, 0}, {8, 8192, 16384, 0, 0, 0, 0}, {15, 51, 771, 85, 1285, 0, 0}, {170, 2570, 24586, 0, 0, 0, 0}, {7, 68, 1028, 4100, 0, 0, 0}, {204, 3084, 24588, 0, 0, 0, 0}, {7, 85, 1285, 4101, 0, 0, 0}, {8, 34, 514, 68, 1028, 0, 0}, {15, 12288, 20480, 0, 0, 0, 0}, {112, 4112, 0, 0, 0, 0, 0}, {1536, 17, 0, 0, 0, 0, 0}, {90, 34, 4626, 20480, 0, 0, 0}, {76, 51, 4883, 16384, 0, 0, 0}, {60, 12288, 68, 5140, 0, 0, 0}, {42, 8192, 85, 5397, 0, 0, 0}, {22, 4096, 0, 0, 0, 0, 0}, {119, 5911, 0, 0, 0, 0, 0}, {120, 12336, 20560, 0, 0, 0, 0}, {25, 51, 4864, 85, 5376, 0, 0}, {4122, 4144, 4160, 0, 0, 0, 0}, {5915, 51, 68, 0, 0, 0, 0}, {4124, 4128, 4176, 0, 0, 0, 0}, {5917, 34, 85, 0, 0, 0, 0}, {30, 34, 4608, 68, 5120, 0, 0}, {127, 8224, 16448, 0, 0, 0, 0}, {128, 8224, 16384, 0, 0, 0, 0}, {15, 771, 1280, 17, 0, 0, 0}, {2560, 34, 16896, 0, 0, 0, 0}, {15, 51, 771, 67, 4112, 0, 0}, {3084, 9252, 68, 0, 0, 0, 0}, {15, 37, 85, 1280, 4096, 0, 0}, {76, 102, 1600, 16448, 0, 0, 0}, {15, 119, 5968, 20560, 0, 0, 0}, {136, 18432, 24616, 0, 0, 0, 0}, {22, 85, 1280, 4117, 0, 0, 0}, {42, 8192, 16384, 0, 0, 0, 0}, {15, 51, 771, 68, 5140, 0, 0}, {76, 8224, 16448, 0, 0, 0, 0}, {15, 34, 4608, 85, 1280, 0, 0}, {1548, 34, 68, 0, 0, 0, 0}, {15, 4128, 4176, 0, 0, 0, 0}, {240, 12336, 20480, 0, 0, 0, 0}, {8, 514, 1024, 17, 0, 0, 0}, {8, 34, 514, 82, 4112, 0, 0}, {3072, 51, 21248, 0, 0, 0, 0}, {8, 52, 68, 1024, 4096, 0, 0}, {2570, 13621, 85, 0, 0, 0, 0}, {90, 102, 1616, 20560, 0, 0, 0}, {8, 119, 5952, 16448, 0, 0, 0}, {8, 4144, 4160, 0, 0, 0, 0}, {1546, 51, 85, 0, 0, 0, 0}, {90, 12336, 20560, 0, 0, 0, 0}, {8, 51, 4864, 68, 1024, 0, 0}, {60, 12288, 20480, 0, 0, 0, 0}, {8, 34, 514, 85, 5397, 0, 0}, {22, 68, 1024, 4116, 0, 0, 0}, {255, 24320, 24639, 0, 0, 0, 0}, {128, 8192, 16448, 0, 0, 0, 0}, {15, 768, 1285, 17, 0, 0, 0}, {2570, 34, 16962, 0, 0, 0, 0}, {15, 51, 768, 67, 4096, 0, 0}, {3072, 9216, 68, 0, 0, 0, 0}, {15, 37, 85, 1285, 4112, 0, 0}, {76, 102, 1606, 16384, 0, 0, 0}, {15, 119, 5959, 20480, 0, 0, 0}, {136, 18504, 24648, 0, 0, 0, 0}, {22, 85, 1285, 4101, 0, 0, 0}, {42, 8224, 16448, 0, 0, 0, 0}, {15, 51, 768, 68, 5120, 0, 0}, {76, 8192, 16384, 0, 0, 0, 0}, {15, 34, 4626, 85, 1285, 0, 0}, {1546, 34, 68, 0, 0, 0, 0}, {15, 4144, 4160, 0, 0, 0, 0}, {240, 12288, 20560, 0, 0, 0, 0}, {8, 512, 1028, 17, 0, 0, 0}, {8, 34, 512, 82, 4096, 0, 0}, {3084, 51, 21331, 0, 0, 0, 0}, {8, 52, 68, 1028, 4112, 0, 0}, {2560, 13568, 85, 0, 0, 0, 0}, {90, 102, 1622, 20480, 0, 0, 0}, {8, 119, 5975, 16384, 0, 0, 0}, {8, 4128, 4176, 0, 0, 0, 0}, {1548, 51, 85, 0, 0, 0, 0}, {90, 12288, 20480, 0, 0, 0, 0}, {8, 51, 4883, 68, 1028, 0, 0}, {60, 12336, 20560, 0, 0, 0, 0}, {8, 34, 512, 85, 5376, 0, 0}, {22, 68, 1028, 4100, 0, 0, 0}, {255, 24415, 24671, 0, 0, 0, 0}, {24672, 0, 0, 0, 0, 0, 0}, {7, 17, 256, 0, 0, 0, 0}, {8, 34, 512, 16448, 0, 0, 0}, {15, 51, 768, 20560, 0, 0, 0}, {8, 8224, 68, 1024, 0, 0, 0}, {15, 12336, 85, 1280, 0, 0, 0}, {102, 1536, 0, 0, 0, 0, 0}, {7, 4112, 0, 0, 0, 0, 0}, {8, 8224, 16448, 0, 0, 0, 0}, {15, 51, 768, 85, 1280, 0, 0}, {170, 2560, 24682, 0, 0, 0, 0}, {7, 68, 1024, 4116, 0, 0, 0}, {204, 3072, 24684, 0, 0, 0, 0}, {7, 85, 1280, 4117, 0, 0, 0}, {8, 34, 512, 68, 1024, 0, 0}, {15, 12336, 20560, 0, 0, 0, 0}, {112, 4096, 0, 0, 0, 0, 0}, {1542, 17, 0, 0, 0, 0, 0}, {90, 34, 4608, 20560, 0, 0, 0}, {76, 51, 4864, 16448, 0, 0, 0}, {60, 12336, 68, 5120, 0, 0, 0}, {42, 8224, 85, 5376, 0, 0, 0}, {22, 4112, 0, 0, 0, 0, 0}, {119, 5888, 0, 0, 0, 0, 0}, {120, 12288, 20480, 0, 0, 0, 0}, {25, 51, 4883, 85, 5397, 0, 0}, {4106, 4128, 4176, 0, 0, 0, 0}, {5900, 51, 68, 0, 0, 0, 0}, {4108, 4144, 4160, 0, 0, 0, 0}, {5898, 34, 85, 0, 0, 0, 0}, {30, 34, 4626, 68, 5140, 0, 0}, {127, 8192, 16384, 0, 0, 0, 0}, {128, 8192, 16384, 0, 0, 0, 0}, {15, 771, 1285, 17, 0, 0, 0}, {2570, 34, 16906, 0, 0, 0, 0}, {15, 51, 771, 67, 4099, 0, 0}, {3084, 9228, 68, 0, 0, 0, 0}, {15, 37, 85, 1285, 4101, 0, 0}, {76, 102, 1542, 16448, 0, 0, 0}, {15, 119, 5888, 20480, 0, 0, 0}, {136, 18432, 24576, 0, 0, 0, 0}, {22, 85, 1285, 4112, 0, 0, 0}, {42, 8224, 16384, 0, 0, 0, 0}, {15, 51, 771, 68, 5120, 0, 0}, {76, 8192, 16448, 0, 0, 0, 0}, {15, 34, 4608, 85, 1285, 0, 0}, {34, 1542, 68, 0, 0, 0, 0}, {15, 112, 4096, 0, 0, 0, 0}, {240, 12336, 20560, 0, 0, 0, 0}, {8, 512, 1024, 17, 0, 0, 0}, {8, 34, 512, 82, 4114, 0, 0}, {3072, 51, 21343, 0, 0, 0, 0}, {8, 52, 68, 1024, 4116, 0, 0}, {2560, 13631, 85, 0, 0, 0, 0}, {90, 102, 1536, 20480, 0, 0, 0}, {8, 119, 5911, 16448, 0, 0, 0}, {8, 112, 4112, 0, 0, 0, 0}, {51, 1536, 85, 0, 0, 0, 0}, {90, 12336, 20480, 0, 0, 0, 0}, {8, 51, 4883, 68, 1024, 0, 0}, {60, 12288, 20560, 0, 0, 0, 0}, {8, 34, 512, 85, 5397, 0, 0}, {22, 68, 1024, 4096, 0, 0, 0}, {255, 24415, 24672, 0, 0, 0, 0}, {24736, 0, 0, 0, 0, 0, 0}, {259, 260, 17, 0, 0, 0, 0}, {8, 34, 512, 16384, 0, 0, 0}, {15, 51, 771, 20560, 0, 0, 0}, {8, 8224, 68, 1028, 0, 0, 0}, {15, 12288, 85, 1280, 0, 0, 0}, {1548, 102, 0, 0, 0, 0, 0}, {7, 4176, 0, 0, 0, 0, 0}, {8, 8224, 16384, 0, 0, 0, 0}, {15, 51, 771, 85, 1280, 0, 0}, {170, 2560, 24576, 0, 0, 0, 0}, {7, 68, 1028, 4112, 0, 0, 0}, {204, 3084, 24672, 0, 0, 0, 0}, {7, 85, 1280, 4096, 0, 0, 0}, {8, 34, 512, 68, 1028, 0, 0}, {15, 12288, 20560, 0, 0, 0, 0}, {4144, 4160, 0, 0, 0, 0, 0}, {1546, 17, 0, 0, 0, 0, 0}, {90, 34, 4626, 20560, 0, 0, 0}, {76, 51, 4864, 16384, 0, 0, 0}, {60, 12288, 68, 5120, 0, 0, 0}, {42, 8224, 85, 5397, 0, 0, 0}, {22, 4176, 0, 0, 0, 0, 0}, {5960, 119, 0, 0, 0, 0, 0}, {120, 12336, 20480, 0, 0, 0, 0}, {25, 51, 4883, 85, 5376, 0, 0}, {90, 112, 4112, 0, 0, 0, 0}, {51, 5888, 68, 0, 0, 0, 0}, {76, 112, 4096, 0, 0, 0, 0}, {34, 5911, 85, 0, 0, 0, 0}, {30, 34, 4608, 68, 5140, 0, 0}, {127, 8192, 16448, 0, 0, 0, 0}, {24768, 0, 0, 0, 0, 0, 0}, {258, 261, 17, 0, 0, 0, 0}, {8, 34, 514, 16448, 0, 0, 0}, {15, 51, 768, 20480, 0, 0, 0}, {8, 8192, 68, 1024, 0, 0, 0}, {15, 12336, 85, 1285, 0, 0, 0}, {1546, 102, 0, 0, 0, 0, 0}, {7, 4160, 0, 0, 0, 0, 0}, {8, 8192, 16448, 0, 0, 0, 0}, {15, 51, 768, 85, 1285, 0, 0}, {170, 2570, 24672, 0, 0, 0, 0}, {7, 68, 1024, 4096, 0, 0, 0}, {204, 3072, 24576, 0, 0, 0, 0}, {7, 85, 1285, 4112, 0, 0, 0}, {8, 34, 514, 68, 1024, 0, 0}, {15, 12336, 20480, 0, 0, 0, 0}, {4128, 4176, 0, 0, 0, 0, 0}, {1548, 17, 0, 0, 0, 0, 0}, {90, 34, 4608, 20480, 0, 0, 0}, {76, 51, 4883, 16448, 0, 0, 0}, {60, 12336, 68, 5140, 0, 0, 0}, {42, 8192, 85, 5376, 0, 0, 0}, {22, 4160, 0, 0, 0, 0, 0}, {5983, 119, 0, 0, 0, 0, 0}, {120, 12288, 20560, 0, 0, 0, 0}, {25, 51, 4864, 85, 5397, 0, 0}, {90, 112, 4096, 0, 0, 0, 0}, {51, 5911, 68, 0, 0, 0, 0}, {76, 112, 4112, 0, 0, 0, 0}, {34, 5888, 85, 0, 0, 0, 0}, {30, 34, 4626, 68, 5120, 0, 0}, {127, 8224, 16384, 0, 0, 0, 0}, {128, 8224, 16448, 0, 0, 0, 0}, {15, 768, 1280, 17, 0, 0, 0}, {2560, 34, 16968, 0, 0, 0, 0}, {15, 51, 768, 67, 4115, 0, 0}, {3072, 9256, 68, 0, 0, 0, 0}, {15, 37, 85, 1280, 4117, 0, 0}, {76, 102, 1536, 16384, 0, 0, 0}, {15, 119, 5911, 20560, 0, 0, 0}, {136, 18504, 24672, 0, 0, 0, 0}, {22, 85, 1280, 4096, 0, 0, 0}, {42, 8192, 16448, 0, 0, 0, 0}, {15, 51, 768, 68, 5140, 0, 0}, {76, 8224, 16384, 0, 0, 0, 0}, {15, 34, 4626, 85, 1280, 0, 0}, {34, 1536, 68, 0, 0, 0, 0}, {15, 112, 4112, 0, 0, 0, 0}, {240, 12288, 20480, 0, 0, 0, 0}, {8, 514, 1028, 17, 0, 0, 0}, {8, 34, 514, 82, 4098, 0, 0}, {3084, 51, 21260, 0, 0, 0, 0}, {8, 52, 68, 1028, 4100, 0, 0}, {2570, 13578, 85, 0, 0, 0, 0}, {90, 102, 1542, 20560, 0, 0, 0}, {8, 119, 5888, 16384, 0, 0, 0}, {8, 112, 4096, 0, 0, 0, 0}, {51, 1542, 85, 0, 0, 0, 0}, {90, 12288, 20560, 0, 0, 0, 0}, {8, 51, 4864, 68, 1028, 0, 0}, {60, 12336, 20480, 0, 0, 0, 0}, {8, 34, 514, 85, 5376, 0, 0}, {22, 68, 1028, 4112, 0, 0, 0}, {255, 24320, 24576, 0, 0, 0, 0}, {1792, 4352, 0, 0, 0, 0, 0}, {96, 257, 0, 0, 0, 0, 0}, {1290, 4386, 514, 20480, 0, 0, 0}, {1036, 4403, 771, 16384, 0, 0, 0}, {780, 12288, 4420, 1028, 0, 0, 0}, {522, 8192, 4437, 1285, 0, 0, 0}, {262, 4096, 0, 0, 0, 0, 0}, {4471, 1799, 0, 0, 0, 0, 0}, {1800, 13056, 21760, 0, 0, 0, 0}, {265, 4144, 771, 4176, 1285, 0, 0}, {4362, 4864, 5120, 0, 0, 0, 0}, {4475, 771, 1028, 0, 0, 0, 0}, {4364, 4608, 5376, 0, 0, 0, 0}, {4477, 514, 1285, 0, 0, 0, 0}, {270, 4128, 514, 4160, 1028, 0, 0}, {1807, 8704, 17408, 0, 0, 0, 0}, {1536, 272, 0, 0, 0, 0, 0}, {1911, 4369, 0, 0, 0, 0, 0}, {1096, 4386, 4626, 16384, 0, 0, 0}, {1375, 4403, 4883, 20480, 0, 0, 0}, {552, 8192, 4420, 5140, 0, 0, 0}, {831, 12288, 4437, 5397, 0, 0, 0}, {4454, 5654, 0, 0, 0, 0, 0}, {279, 4096, 0, 0, 0, 0, 0}, {280, 4144, 4864, 4176, 5376, 0, 0}, {1919, 13107, 21845, 0, 0, 0, 0}, {5658, 816, 1088, 0, 0, 0, 0}, {4379, 4915, 5188, 0, 0, 0, 0}, {5660, 544, 1360, 0, 0, 0, 0}, {4381, 4642, 5461, 0, 0, 0, 0}, {1912, 8738, 17476, 0, 0, 0, 0}, {287, 4128, 4608, 4160, 5120, 0, 0}, {544, 1280, 4352, 0, 0, 0, 0}, {771, 1092, 4369, 0, 0, 0, 0}, {3840, 4386, 17152, 0, 0, 0, 0}, {1295, 291, 771, 323, 4112, 0, 0}, {780, 292, 324, 1280, 4096, 0, 0}, {3855, 9509, 4437, 0, 0, 0, 0}, {1100, 4454, 1856, 16448, 0, 0, 0}, {1295, 4471, 5712, 20560, 0, 0, 0}, {4392, 4864, 1280, 0, 0, 0, 0}, {4441, 771, 5397, 0, 0, 0, 0}, {5674, 13056, 17408, 0, 0, 0, 0}, {4379, 4144, 771, 4176, 5140, 0, 0}, {4364, 4128, 4608, 4160, 1280, 0, 0}, {5722, 8738, 21845, 0, 0, 0, 0}, {780, 4642, 1092, 0, 0, 0, 0}, {1295, 544, 5200, 0, 0, 0, 0}, {816, 1024, 4352, 0, 0, 0, 0}, {514, 1365, 4369, 0, 0, 0, 0}, {1032, 306, 514, 338, 4112, 0, 0}, {2048, 4403, 20992, 0, 0, 0, 0}, {2056, 13364, 4420, 0, 0, 0, 0}, {522, 309, 341, 1024, 4096, 0, 0}, {1370, 4454, 1872, 20560, 0, 0, 0}, {1032, 4471, 5696, 16448, 0, 0, 0}, {1032, 816, 5440, 0, 0, 0, 0}, {522, 4915, 1365, 0, 0, 0, 0}, {4362, 4144, 4864, 4176, 1024, 0, 0}, {5708, 13107, 17476, 0, 0, 0, 0}, {5692, 8704, 21760, 0, 0, 0, 0}, {4381, 4128, 514, 4160, 5397, 0, 0}, {4430, 514, 5140, 0, 0, 0, 0}, {4415, 4608, 1024, 0, 0, 0, 0}, {768, 1088, 4352, 0, 0, 0, 0}, {546, 1285, 4369, 0, 0, 0, 0}, {1290, 290, 768, 322, 4096, 0, 0}, {3855, 4403, 17219, 0, 0, 0, 0}, {3840, 9472, 4420, 0, 0, 0, 0}, {783, 293, 325, 1285, 4112, 0, 0}, {1290, 4454, 5702, 20480, 0, 0, 0}, {1096, 4471, 1863, 16384, 0, 0, 0}, {4424, 768, 5376, 0, 0, 0, 0}, {4409, 4883, 1285, 0, 0, 0, 0}, {4362, 4128, 768, 4160, 5120, 0, 0}, {5692, 13107, 17476, 0, 0, 0, 0}, {5708, 8704, 21760, 0, 0, 0, 0}, {4381, 4144, 4626, 4176, 1285, 0, 0}, {1290, 546, 5188, 0, 0, 0, 0}, {783, 4656, 1088, 0, 0, 0, 0}, {512, 1360, 4352, 0, 0, 0, 0}, {819, 1028, 4369, 0, 0, 0, 0}, {2056, 4386, 21074, 0, 0, 0, 0}, {1036, 307, 512, 339, 4096, 0, 0}, {520, 308, 340, 1028, 4112, 0, 0}, {2048, 13312, 4437, 0, 0, 0, 0}, {1036, 4454, 5718, 16384, 0, 0, 0}, {1375, 4471, 1879, 20480, 0, 0, 0}, {520, 4896, 1360, 0, 0, 0, 0}, {1036, 819, 5461, 0, 0, 0, 0}, {5722, 13056, 17408, 0, 0, 0, 0}, {4379, 4128, 4883, 4160, 1028, 0, 0}, {4364, 4144, 512, 4176, 5376, 0, 0}, {5674, 8738, 21845, 0, 0, 0, 0}, {4398, 4626, 1028, 0, 0, 0, 0}, {4447, 512, 5120, 0, 0, 0, 0}, {96, 256, 0, 0, 0, 0, 0}, {1799, 4369, 0, 0, 0, 0, 0}, {1032, 4386, 768, 16448, 0, 0, 0}, {1295, 4403, 512, 20560, 0, 0, 0}, {520, 8224, 4420, 1280, 0, 0, 0}, {783, 12336, 4437, 1024, 0, 0, 0}, {4454, 1792, 0, 0, 0, 0, 0}, {263, 4112, 0, 0, 0, 0, 0}, {264, 4128, 768, 4160, 1280, 0, 0}, {1807, 13107, 21845, 0, 0, 0, 0}, {4458, 768, 1024, 0, 0, 0, 0}, {4379, 4883, 5140, 0, 0, 0, 0}, {4460, 512, 1280, 0, 0, 0, 0}, {4381, 4626, 5397, 0, 0, 0, 0}, {1800, 8738, 17476, 0, 0, 0, 0}, {271, 4144, 512, 4176, 1024, 0, 0}, {1904, 4352, 0, 0, 0, 0, 0}, {1542, 273, 0, 0, 0, 0, 0}, {1370, 4386, 4864, 20560, 0, 0, 0}, {1100, 4403, 4608, 16448, 0, 0, 0}, {828, 12336, 4420, 5376, 0, 0, 0}, {554, 8224, 4437, 5120, 0, 0, 0}, {278, 4112, 0, 0, 0, 0, 0}, {4471, 5632, 0, 0, 0, 0, 0}, {1912, 13056, 21760, 0, 0, 0, 0}, {281, 4128, 4883, 4160, 5397, 0, 0}, {4362, 4896, 5200, 0, 0, 0, 0}, {5644, 819, 1092, 0, 0, 0, 0}, {4364, 4656, 5440, 0, 0, 0, 0}, {5642, 546, 1365, 0, 0, 0, 0}, {286, 4144, 4626, 4176, 5140, 0, 0}, {1919, 8704, 17408, 0, 0, 0, 0}, {1920, 3840, 4352, 0, 0, 0, 0}, {289, 771, 321, 1285, 4369, 0, 0}, {1290, 4386, 4864, 20480, 0, 0, 0}, {1100, 4403, 771, 16448, 0, 0, 0}, {780, 12288, 4420, 5376, 0, 0, 0}, {554, 8224, 4437, 1285, 0, 0, 0}, {1290, 294, 1542, 326, 4358, 0, 0}, {3855, 4471, 17167, 0, 0, 0, 0}, {4488, 5632, 21760, 0, 0, 0, 0}, {329, 96, 771, 1285, 4112, 0, 0}, {4362, 4896, 5120, 0, 0, 0, 0}, {5439, 771, 1092, 0, 0, 0, 0}, {4364, 4608, 5440, 0, 0, 0, 0}, {4959, 546, 1285, 0, 0, 0, 0}, {1290, 1060, 1542, 1092, 4096, 0, 0}, {3855, 5744, 17408, 0, 0, 0, 0}, {304, 512, 336, 1024, 4352, 0, 0}, {2039, 2056, 4369, 0, 0, 0, 0}, {1032, 4386, 4626, 16448, 0, 0, 0}, {1375, 4403, 512, 20480, 0, 0, 0}, {520, 8224, 4420, 5140, 0, 0, 0}, {831, 12288, 4437, 1024, 0, 0, 0}, {2048, 4454, 21082, 0, 0, 0, 0}, {1032, 311, 1536, 343, 4375, 0, 0}, {1032, 1328, 1536, 1360, 4112, 0, 0}, {2048, 5734, 21845, 0, 0, 0, 0}, {4698, 816, 1024, 0, 0, 0, 0}, {4379, 4883, 5188, 0, 0, 0, 0}, {5180, 512, 1360, 0, 0, 0, 0}, {4381, 4642, 5397, 0, 0, 0, 0}, {4590, 5654, 17476, 0, 0, 0, 0}, {351, 96, 512, 1024, 4096, 0, 0}, {160, 512, 1280, 4352, 0, 0, 0}, {192, 771, 1028, 4369, 0, 0, 0}, {1800, 4386, 0, 0, 0, 0, 0}, {259, 4176, 0, 0, 0, 0, 0}, {4128, 260, 0, 0, 0, 0, 0}, {1807, 4437, 0, 0, 0, 0, 0}, {1036, 4454, 1792, 16384, 0, 0, 0}, {1295, 4471, 1799, 20560, 0, 0, 0}, {520, 4896, 1280, 0, 0, 0, 0}, {1036, 771, 5461, 0, 0, 0, 0}, {4522, 1792, 17408, 0, 0, 0, 0}, {267, 96, 771, 1028, 4112, 0, 0}, {268, 96, 512, 1280, 4096, 0, 0}, {4573, 1799, 21845, 0, 0, 0, 0}, {780, 4642, 1028, 0, 0, 0, 0}, {1295, 512, 5200, 0, 0, 0, 0}, {3072, 816, 1088, 4352, 0, 0, 0}, {2570, 546, 1365, 4369, 0, 0, 0}, {274, 4176, 0, 0, 0, 0, 0}, {5708, 4403, 0, 0, 0, 0, 0}, {5692, 4420, 0, 0, 0, 0, 0}, {4128, 277, 0, 0, 0, 0, 0}, {1370, 4454, 5654, 20560, 0, 0, 0}, {1096, 4471, 5632, 16384, 0, 0, 0}, {4424, 816, 5376, 0, 0, 0, 0}, {4409, 4883, 1365, 0, 0, 0, 0}, {282, 1056, 1808, 1088, 4112, 0, 0}, {7748, 1911, 17476, 0, 0, 0, 0}, {6476, 1904, 21760, 0, 0, 0, 0}, {285, 1333, 1815, 1365, 4096, 0, 0}, {4430, 546, 5140, 0, 0, 0, 0}, {4415, 4608, 1088, 0, 0, 0, 0}, {192, 768, 1024, 4352, 0, 0, 0}, {160, 514, 1285, 4369, 0, 0, 0}, {258, 4160, 0, 0, 0, 0, 0}, {1807, 4403, 0, 0, 0, 0, 0}, {1800, 4420, 0, 0, 0, 0, 0}, {4144, 261, 0, 0, 0, 0, 0}, {1290, 4454, 1792, 20480, 0, 0, 0}, {1032, 4471, 1799, 16448, 0, 0, 0}, {1032, 768, 5440, 0, 0, 0, 0}, {522, 4915, 1285, 0, 0, 0, 0}, {266, 96, 768, 1024, 4096, 0, 0}, {4539, 1799, 17476, 0, 0, 0, 0}, {4556, 1792, 21760, 0, 0, 0, 0}, {269, 96, 514, 1285, 4112, 0, 0}, {1290, 514, 5188, 0, 0, 0, 0}, {783, 4656, 1024, 0, 0, 0, 0}, {2560, 544, 1360, 4352, 0, 0, 0}, {3084, 819, 1092, 4369, 0, 0, 0}, {5722, 4386, 0, 0, 0, 0, 0}, {275, 4160, 0, 0, 0, 0, 0}, {4144, 276, 0, 0, 0, 0, 0}, {5674, 4437, 0, 0, 0, 0, 0}, {1100, 4454, 5654, 16448, 0, 0, 0}, {1375, 4471, 5632, 20480, 0, 0, 0}, {4392, 4864, 1360, 0, 0, 0, 0}, {4441, 819, 5397, 0, 0, 0, 0}, {7770, 1904, 17408, 0, 0, 0, 0}, {283, 1060, 1815, 1092, 4096, 0, 0}, {284, 1328, 1808, 1360, 4112, 0, 0}, {6485, 1911, 21845, 0, 0, 0, 0}, {4398, 4626, 1092, 0, 0, 0, 0}, {4447, 544, 5120, 0, 0, 0, 0}, {288, 768, 320, 1280, 4352, 0, 0}, {1927, 3855, 4369, 0, 0, 0, 0}, {1096, 4386, 768, 16384, 0, 0, 0}, {1295, 4403, 4883, 20560, 0, 0, 0}, {552, 8192, 4420, 1280, 0, 0, 0}, {783, 12336, 4437, 5397, 0, 0, 0}, {3840, 4454, 17228, 0, 0, 0, 0}, {1295, 295, 1536, 327, 4375, 0, 0}, {328, 96, 768, 1280, 4096, 0, 0}, {4505, 5654, 21845, 0, 0, 0, 0}, {5418, 768, 1088, 0, 0, 0, 0}, {4379, 4915, 5140, 0, 0, 0, 0}, {4940, 544, 1280, 0, 0, 0, 0}, {4381, 4626, 5461, 0, 0, 0, 0}, {3840, 5734, 17476, 0, 0, 0, 0}, {1295, 1056, 1536, 1088, 4112, 0, 0}, {2032, 2048, 4352, 0, 0, 0, 0}, {305, 514, 337, 1028, 4369, 0, 0}, {1370, 4386, 514, 20560, 0, 0, 0}, {1036, 4403, 4608, 16384, 0, 0, 0}, {828, 12336, 4420, 1028, 0, 0, 0}, {522, 8192, 4437, 5120, 0, 0, 0}, {1036, 310, 1542, 342, 4358, 0, 0}, {2056, 4471, 21000, 0, 0, 0, 0}, {2056, 5744, 21760, 0, 0, 0, 0}, {1036, 1333, 1542, 1365, 4096, 0, 0}, {4362, 4864, 5200, 0, 0, 0, 0}, {4680, 819, 1028, 0, 0, 0, 0}, {4364, 4656, 5376, 0, 0, 0, 0}, {5160, 514, 1365, 0, 0, 0, 0}, {350, 96, 514, 1028, 4112, 0, 0}, {4607, 5632, 17408, 0, 0, 0, 0}, {2048, 8704, 16384, 0, 0, 0, 0}, {15, 51, 80, 257, 0, 0, 0}, {160, 514, 16416, 0, 0, 0, 0}, {15, 51, 771, 1027, 4352, 0, 0}, {204, 8772, 1028, 0, 0, 0, 0}, {15, 517, 80, 1285, 4096, 0, 0}, {1036, 1120, 1542, 17408, 0, 0, 0}, {15, 5488, 1799, 21760, 0, 0, 0}, {16512, 2056, 25096, 0, 0, 0, 0}, {262, 80, 1285, 4357, 0, 0, 0}, {522, 8192, 16384, 0, 0, 0, 0}, {15, 51, 771, 4420, 1028, 0, 0}, {1036, 8704, 17408, 0, 0, 0, 0}, {15, 4128, 514, 80, 1285, 0, 0}, {108, 514, 1028, 0, 0, 0, 0}, {15, 4608, 5376, 0, 0, 0, 0}, {2560, 544, 80, 4112, 0, 0, 0}, {3072, 51, 1092, 4369, 0, 0, 0}, {240, 4626, 16432, 0, 0, 0, 0}, {95, 51, 531, 1043, 4352, 0, 0}, {60, 532, 80, 1044, 4096, 0, 0}, {255, 8789, 5397, 0, 0, 0, 0}, {1100, 1136, 5654, 17408, 0, 0, 0}, {95, 5472, 5911, 21760, 0, 0, 0}, {4632, 4144, 80, 0, 0, 0, 0}, {5401, 51, 4437, 0, 0, 0, 0}, {4714, 12336, 16448, 0, 0, 0, 0}, {4379, 51, 4864, 4420, 5376, 0, 0}, {4124, 4128, 4608, 80, 5120, 0, 0}, {5482, 8738, 21845, 0, 0, 0, 0}, {4638, 4642, 1092, 0, 0, 0, 0}, {5407, 544, 5440, 0, 0, 0, 0}, {2560, 544, 16896, 0, 0, 0, 0}, {15, 51, 771, 1095, 4369, 0, 0}, {2184, 8738, 16384, 0, 0, 0, 0}, {15, 771, 1280, 272, 0, 0, 0}, {1096, 1060, 580, 17476, 0, 0, 0}, {15, 5413, 4693, 21845, 0, 0, 0}, {3084, 9766, 1088, 0, 0, 0, 0}, {15, 551, 80, 1280, 4096, 0, 0}, {552, 8192, 16384, 0, 0, 0, 0}, {15, 51, 771, 4437, 5397, 0, 0}, {16512, 18432, 25130, 0, 0, 0, 0}, {279, 80, 1280, 4372, 0, 0, 0}, {1548, 544, 1088, 0, 0, 0, 0}, {15, 4642, 5461, 0, 0, 0, 0}, {1096, 8738, 17476, 0, 0, 0, 0}, {15, 4128, 4608, 80, 1280, 0, 0}, {2048, 4656, 20992, 0, 0, 0, 0}, {1032, 51, 514, 1111, 4369, 0, 0}, {514, 80, 4112, 0, 0, 0, 0}, {51, 1024, 4352, 0, 0, 0, 0}, {1032, 1076, 4676, 17476, 0, 0, 0}, {95, 5429, 597, 21845, 0, 0, 0}, {522, 566, 80, 1024, 4096, 0, 0}, {2056, 14135, 5440, 0, 0, 0, 0}, {4680, 12336, 16448, 0, 0, 0, 0}, {4362, 51, 4864, 4437, 1024, 0, 0}, {522, 4144, 80, 0, 0, 0, 0}, {1032, 51, 4420, 0, 0, 0, 0}, {60, 4608, 1024, 0, 0, 0, 0}, {95, 514, 5397, 0, 0, 0, 0}, {4124, 4128, 514, 80, 5140, 0, 0}, {5439, 8704, 21760, 0, 0, 0, 0}, {2176, 8704, 16448, 0, 0, 0, 0}, {15, 768, 1285, 273, 0, 0, 0}, {2570, 546, 16962, 0, 0, 0, 0}, {15, 51, 768, 1091, 4352, 0, 0}, {3072, 9728, 1092, 0, 0, 0, 0}, {15, 549, 80, 1285, 4112, 0, 0}, {1100, 1056, 582, 17408, 0, 0, 0}, {15, 5424, 4679, 21760, 0, 0, 0}, {16576, 18504, 25160, 0, 0, 0, 0}, {278, 80, 1285, 4357, 0, 0, 0}, {554, 8224, 16448, 0, 0, 0, 0}, {15, 51, 768, 4420, 5376, 0, 0}, {1100, 8704, 17408, 0, 0, 0, 0}, {15, 4144, 4626, 80, 1285, 0, 0}, {1546, 546, 1092, 0, 0, 0, 0}, {15, 4656, 5440, 0, 0, 0, 0}, {512, 80, 4096, 0, 0, 0, 0}, {51, 1028, 4369, 0, 0, 0, 0}, {2056, 4642, 21074, 0, 0, 0, 0}, {1036, 51, 512, 1107, 4352, 0, 0}, {520, 564, 80, 1028, 4112, 0, 0}, {2048, 14080, 5461, 0, 0, 0, 0}, {1036, 1072, 4694, 17408, 0, 0, 0}, {95, 5408, 599, 21760, 0, 0, 0}, {520, 4128, 80, 0, 0, 0, 0}, {1036, 51, 4437, 0, 0, 0, 0}, {4698, 12288, 16384, 0, 0, 0, 0}, {4379, 51, 4883, 4420, 1028, 0, 0}, {4108, 4144, 512, 80, 5120, 0, 0}, {5418, 8738, 21845, 0, 0, 0, 0}, {60, 4626, 1028, 0, 0, 0, 0}, {95, 512, 5376, 0, 0, 0, 0}, {160, 512, 16480, 0, 0, 0, 0}, {15, 51, 768, 1031, 4369, 0, 0}, {2056, 8738, 16448, 0, 0, 0, 0}, {15, 51, 80, 256, 0, 0, 0}, {1032, 1124, 1536, 17476, 0, 0, 0}, {15, 5477, 1792, 21845, 0, 0, 0}, {204, 8806, 1024, 0, 0, 0, 0}, {15, 519, 80, 1280, 4112, 0, 0}, {520, 8224, 16448, 0, 0, 0, 0}, {15, 51, 768, 4437, 1024, 0, 0}, {16576, 2048, 25194, 0, 0, 0, 0}, {263, 80, 1280, 4372, 0, 0, 0}, {108, 512, 1024, 0, 0, 0, 0}, {15, 4626, 5397, 0, 0, 0, 0}, {1032, 8738, 17476, 0, 0, 0, 0}, {15, 4144, 512, 80, 1280, 0, 0}, {240, 4608, 16496, 0, 0, 0, 0}, {95, 51, 529, 1047, 4369, 0, 0}, {2570, 546, 80, 4096, 0, 0, 0}, {3084, 51, 1088, 4352, 0, 0, 0}, {1096, 1140, 5632, 17476, 0, 0, 0}, {95, 5493, 5888, 21845, 0, 0, 0}, {60, 534, 80, 1040, 4112, 0, 0}, {255, 8823, 5376, 0, 0, 0, 0}, {4728, 12288, 16384, 0, 0, 0, 0}, {4362, 51, 4883, 4437, 5397, 0, 0}, {4618, 4128, 80, 0, 0, 0, 0}, {5388, 51, 4420, 0, 0, 0, 0}, {4620, 4656, 1088, 0, 0, 0, 0}, {5386, 546, 5461, 0, 0, 0, 0}, {4108, 4144, 4626, 80, 5140, 0, 0}, {5503, 8704, 21760, 0, 0, 0, 0}, {16512, 18432, 8704, 0, 0, 0, 0}, {274, 80, 1285, 4369, 0, 0, 0}, {2570, 546, 16384, 0, 0, 0, 0}, {15, 51, 771, 1088, 4352, 0, 0}, {1096, 8772, 17476, 0, 0, 0, 0}, {15, 4128, 4613, 80, 1285, 0, 0}, {1068, 1542, 1088, 0, 0, 0, 0}, {15, 4727, 5376, 0, 0, 0, 0}, {8840, 10752, 16384, 0, 0, 0, 0}, {51, 771, 277, 4112, 0, 0, 0}, {554, 8224, 16416, 0, 0, 0, 0}, {15, 51, 771, 4420, 5379, 0, 0}, {3084, 8704, 1088, 0, 0, 0, 0}, {15, 546, 80, 1285, 4096, 0, 0}, {1096, 1060, 1542, 17476, 0, 0, 0}, {15, 5488, 4608, 21760, 0, 0, 0}, {4144, 512, 80, 0, 0, 0, 0}, {1032, 51, 4369, 0, 0, 0, 0}, {240, 4626, 16448, 0, 0, 0, 0}, {95, 51, 512, 1024, 4352, 0, 0}, {4124, 4128, 4628, 80, 5140, 0, 0}, {5482, 8789, 21845, 0, 0, 0, 0}, {4698, 4710, 1024, 0, 0, 0, 0}, {5407, 5911, 5440, 0, 0, 0, 0}, {520, 80, 4112, 0, 0, 0, 0}, {51, 4437, 1024, 0, 0, 0, 0}, {4714, 12336, 16432, 0, 0, 0, 0}, {4379, 51, 4883, 4420, 5395, 0, 0}, {60, 512, 80, 1024, 4096, 0, 0}, {255, 8738, 5397, 0, 0, 0, 0}, {1032, 1076, 5654, 17476, 0, 0, 0}, {95, 5472, 512, 21760, 0, 0, 0}, {160, 512, 16384, 0, 0, 0, 0}, {15, 51, 771, 1028, 4369, 0, 0}, {16512, 2056, 8738, 0, 0, 0, 0}, {259, 80, 1280, 4352, 0, 0, 0}, {520, 612, 1028, 0, 0, 0, 0}, {15, 1792, 5461, 0, 0, 0, 0}, {1036, 8806, 17408, 0, 0, 0, 0}, {15, 4128, 519, 80, 1280, 0, 0}, {520, 8224, 16416, 0, 0, 0, 0}, {15, 51, 771, 4437, 1027, 0, 0}, {8874, 2048, 16384, 0, 0, 0, 0}, {51, 771, 260, 4112, 0, 0, 0}, {1036, 1120, 512, 17408, 0, 0, 0}, {15, 5413, 1799, 21845, 0, 0, 0}, {204, 8738, 1028, 0, 0, 0, 0}, {15, 512, 80, 1280, 4096, 0, 0}, {6720, 4656, 16448, 0, 0, 0, 0}, {1051, 51, 529, 1092, 4369, 0, 0}, {4144, 4626, 80, 0, 0, 0, 0}, {1100, 51, 4352, 0, 0, 0, 0}, {60, 5632, 1092, 0, 0, 0, 0}, {95, 629, 5397, 0, 0, 0, 0}, {4124, 4128, 534, 80, 5120, 0, 0}, {5439, 8823, 21760, 0, 0, 0, 0}, {4680, 12336, 16432, 0, 0, 0, 0}, {4362, 51, 4883, 4437, 1043, 0, 0}, {554, 80, 4112, 0, 0, 0, 0}, {51, 4420, 5376, 0, 0, 0, 0}, {1100, 1136, 4608, 17408, 0, 0, 0}, {95, 5429, 5911, 21845, 0, 0, 0}, {542, 546, 80, 1044, 4096, 0, 0}, {7487, 8704, 5440, 0, 0, 0, 0}, {16576, 2048, 8704, 0, 0, 0, 0}, {258, 80, 1285, 4369, 0, 0, 0}, {160, 514, 16448, 0, 0, 0, 0}, {15, 51, 768, 1024, 4352, 0, 0}, {1032, 8772, 17476, 0, 0, 0, 0}, {15, 4144, 517, 80, 1285, 0, 0}, {522, 614, 1024, 0, 0, 0, 0}, {15, 1799, 5440, 0, 0, 0, 0}, {8840, 2056, 16448, 0, 0, 0, 0}, {51, 768, 261, 4096, 0, 0, 0}, {522, 8192, 16480, 0, 0, 0, 0}, {15, 51, 768, 4420, 1031, 0, 0}, {204, 8704, 1024, 0, 0, 0, 0}, {15, 514, 80, 1285, 4112, 0, 0}, {1032, 1124, 514, 17476, 0, 0, 0}, {15, 5424, 1792, 21760, 0, 0, 0}, {4128, 4608, 80, 0, 0, 0, 0}, {1096, 51, 4369, 0, 0, 0, 0}, {6746, 4642, 16384, 0, 0, 0, 0}, {1055, 51, 531, 1088, 4352, 0, 0}, {4108, 4144, 532, 80, 5140, 0, 0}, {5418, 8789, 21845, 0, 0, 0, 0}, {60, 5654, 1088, 0, 0, 0, 0}, {95, 631, 5376, 0, 0, 0, 0}, {552, 80, 4096, 0, 0, 0, 0}, {51, 4437, 5397, 0, 0, 0, 0}, {4698, 12288, 16496, 0, 0, 0, 0}, {4379, 51, 4864, 4420, 1047, 0, 0}, {540, 544, 80, 1040, 4112, 0, 0}, {7458, 8738, 5461, 0, 0, 0, 0}, {1096, 1140, 4626, 17476, 0, 0, 0}, {95, 5408, 5888, 21760, 0, 0, 0}, {2560, 544, 16448, 0, 0, 0, 0}, {15, 51, 768, 1092, 4369, 0, 0}, {16576, 18504, 8738, 0, 0, 0, 0}, {275, 80, 1280, 4352, 0, 0, 0}, {1064, 1536, 1092, 0, 0, 0, 0}, {15, 4709, 5397, 0, 0, 0, 0}, {1100, 8806, 17408, 0, 0, 0, 0}, {15, 4144, 4631, 80, 1280, 0, 0}, {552, 8192, 16480, 0, 0, 0, 0}, {15, 51, 768, 4437, 5398, 0, 0}, {8874, 10794, 16448, 0, 0, 0, 0}, {51, 768, 276, 4096, 0, 0, 0}, {1100, 1056, 1536, 17408, 0, 0, 0}, {15, 5477, 4626, 21845, 0, 0, 0}, {3072, 8738, 1092, 0, 0, 0, 0}, {15, 544, 80, 1280, 4112, 0, 0}, {240, 4608, 16384, 0, 0, 0, 0}, {95, 51, 514, 1028, 4369, 0, 0}, {4128, 514, 80, 0, 0, 0, 0}, {1036, 51, 4352, 0, 0, 0, 0}, {4680, 4724, 1028, 0, 0, 0, 0}, {5386, 5888, 5461, 0, 0, 0, 0}, {4108, 4144, 4614, 80, 5120, 0, 0}, {5503, 8823, 21760, 0, 0, 0, 0}, {4728, 12288, 16496, 0, 0, 0, 0}, {4362, 51, 4864, 4437, 5382, 0, 0}, {522, 80, 4096, 0, 0, 0, 0}, {51, 4420, 1028, 0, 0, 0, 0}, {1036, 1072, 5632, 17408, 0, 0, 0}, {95, 5493, 514, 21845, 0, 0, 0}, {60, 514, 80, 1028, 4112, 0, 0}, {255, 8704, 5376, 0, 0, 0, 0}, {3840, 13056, 20480, 0, 0, 0, 0}, {8, 34, 64, 257, 0, 0, 0}, {8, 34, 514, 1282, 4352, 0, 0}, {192, 771, 20528, 0, 0, 0, 0}, {8, 772, 64, 1028, 4096, 0, 0}, {170, 13141, 1285, 0, 0, 0, 0}, {1290, 1376, 1542, 21760, 0, 0, 0}, {8, 5232, 1799, 17408, 0, 0, 0}, {8, 4864, 5120, 0, 0, 0, 0}, {106, 771, 1285, 0, 0, 0, 0}, {1290, 13056, 21760, 0, 0, 0, 0}, {8, 4144, 771, 64, 1028, 0, 0}, {780, 12288, 20480, 0, 0, 0, 0}, {8, 34, 514, 4437, 1285, 0, 0}, {262, 64, 1028, 4356, 0, 0, 0}, {20720, 3855, 25359, 0, 0, 0, 0}, {3072, 816, 64, 4112, 0, 0, 0}, {2560, 34, 1365, 4369, 0, 0, 0}, {72, 34, 786, 1298, 4352, 0, 0}, {128, 4883, 20512, 0, 0, 0, 0}, {136, 13124, 5140, 0, 0, 0, 0}, {42, 789, 64, 1301, 4096, 0, 0}, {1370, 1392, 5654, 21760, 0, 0, 0}, {72, 5216, 5911, 17408, 0, 0, 0}, {5144, 816, 5200, 0, 0, 0, 0}, {4889, 4915, 1365, 0, 0, 0, 0}, {4122, 4144, 4864, 64, 5376, 0, 0}, {5228, 13107, 17476, 0, 0, 0, 0}, {4972, 8224, 20560, 0, 0, 0, 0}, {4381, 34, 4608, 4437, 5120, 0, 0}, {5150, 34, 4420, 0, 0, 0, 0}, {4895, 4128, 64, 0, 0, 0, 0}, {3840, 4896, 17152, 0, 0, 0, 0}, {1295, 34, 771, 1351, 4369, 0, 0}, {34, 1280, 4352, 0, 0, 0, 0}, {771, 64, 4112, 0, 0, 0, 0}, {72, 5156, 836, 17476, 0, 0, 0}, {1295, 1317, 4949, 21845, 0, 0, 0}, {780, 806, 64, 1280, 4096, 0, 0}, {3855, 10023, 5200, 0, 0, 0, 0}, {5160, 13056, 17408, 0, 0, 0, 0}, {4122, 4144, 771, 64, 5397, 0, 0}, {42, 4864, 1280, 0, 0, 0, 0}, {72, 771, 5140, 0, 0, 0, 0}, {780, 4128, 64, 0, 0, 0, 0}, {1295, 34, 4437, 0, 0, 0, 0}, {4364, 34, 4608, 4420, 1280, 0, 0}, {4959, 8224, 20560, 0, 0, 0, 0}, {3072, 816, 21248, 0, 0, 0, 0}, {8, 34, 514, 1367, 4369, 0, 0}, {8, 514, 1024, 272, 0, 0, 0}, {4095, 13107, 20480, 0, 0, 0, 0}, {8, 5172, 4932, 17476, 0, 0, 0}, {1375, 1333, 853, 21845, 0, 0, 0}, {2570, 13878, 1360, 0, 0, 0, 0}, {8, 823, 64, 1024, 4096, 0, 0}, {8, 4144, 4864, 64, 1024, 0, 0}, {1375, 13107, 21845, 0, 0, 0, 0}, {1546, 816, 1360, 0, 0, 0, 0}, {8, 4915, 5188, 0, 0, 0, 0}, {20720, 24320, 25404, 0, 0, 0, 0}, {279, 64, 1024, 4373, 0, 0, 0}, {8, 34, 514, 4420, 5140, 0, 0}, {831, 12288, 20480, 0, 0, 0, 0}, {768, 64, 4096, 0, 0, 0, 0}, {34, 1285, 4369, 0, 0, 0, 0}, {1290, 34, 768, 1346, 4352, 0, 0}, {3855, 4915, 17219, 0, 0, 0, 0}, {3840, 9984, 5188, 0, 0, 0, 0}, {783, 805, 64, 1285, 4112, 0, 0}, {1290, 1312, 4934, 21760, 0, 0, 0}, {72, 5168, 839, 17408, 0, 0, 0}, {72, 768, 5120, 0, 0, 0, 0}, {42, 4883, 1285, 0, 0, 0, 0}, {4106, 4128, 768, 64, 5376, 0, 0}, {5180, 13107, 17476, 0, 0, 0, 0}, {4940, 8192, 20480, 0, 0, 0, 0}, {4381, 34, 4626, 4437, 1285, 0, 0}, {1290, 34, 4420, 0, 0, 0, 0}, {783, 4144, 64, 0, 0, 0, 0}, {4080, 13056, 20560, 0, 0, 0, 0}, {8, 512, 1028, 273, 0, 0, 0}, {8, 34, 512, 1362, 4352, 0, 0}, {3084, 819, 21331, 0, 0, 0, 0}, {8, 820, 64, 1028, 4112, 0, 0}, {2560, 13824, 1365, 0, 0, 0, 0}, {1370, 1328, 854, 21760, 0, 0, 0}, {8, 5152, 4951, 17408, 0, 0, 0}, {8, 4896, 5200, 0, 0, 0, 0}, {1548, 819, 1365, 0, 0, 0, 0}, {1370, 13056, 21760, 0, 0, 0, 0}, {8, 4128, 4883, 64, 1028, 0, 0}, {828, 12336, 20560, 0, 0, 0, 0}, {8, 34, 512, 4437, 5120, 0, 0}, {278, 64, 1028, 4356, 0, 0, 0}, {20640, 24415, 25439, 0, 0, 0, 0}, {192, 768, 20576, 0, 0, 0, 0}, {8, 34, 512, 1287, 4369, 0, 0}, {8, 34, 64, 256, 0, 0, 0}, {3855, 13107, 20560, 0, 0, 0, 0}, {8, 5220, 1792, 17476, 0, 0, 0}, {1295, 1381, 1536, 21845, 0, 0, 0}, {170, 13158, 1280, 0, 0, 0, 0}, {8, 775, 64, 1024, 4112, 0, 0}, {8, 4128, 768, 64, 1024, 0, 0}, {1295, 13107, 21845, 0, 0, 0, 0}, {106, 768, 1280, 0, 0, 0, 0}, {8, 4883, 5140, 0, 0, 0, 0}, {20640, 3840, 25452, 0, 0, 0, 0}, {263, 64, 1024, 4373, 0, 0, 0}, {8, 34, 512, 4420, 1280, 0, 0}, {783, 12336, 20560, 0, 0, 0, 0}, {128, 4864, 20592, 0, 0, 0, 0}, {72, 34, 785, 1303, 4369, 0, 0}, {2570, 34, 1360, 4352, 0, 0, 0}, {3084, 819, 64, 4096, 0, 0, 0}, {72, 5236, 5888, 17476, 0, 0, 0}, {1375, 1397, 5632, 21845, 0, 0, 0}, {42, 790, 64, 1296, 4112, 0, 0}, {136, 13175, 5120, 0, 0, 0, 0}, {5240, 13056, 17408, 0, 0, 0, 0}, {4106, 4128, 4883, 64, 5397, 0, 0}, {4874, 4896, 1360, 0, 0, 0, 0}, {5132, 819, 5188, 0, 0, 0, 0}, {4876, 4144, 64, 0, 0, 0, 0}, {5130, 34, 4437, 0, 0, 0, 0}, {4364, 34, 4626, 4420, 5140, 0, 0}, {4991, 8192, 20480, 0, 0, 0, 0}, {128, 4864, 20480, 0, 0, 0, 0}, {72, 34, 771, 1285, 4369, 0, 0}, {1290, 34, 4352, 0, 0, 0, 0}, {4144, 771, 64, 0, 0, 0, 0}, {5132, 5888, 5188, 0, 0, 0, 0}, {4959, 4981, 1285, 0, 0, 0, 0}, {4106, 4128, 4870, 64, 5376, 0, 0}, {5240, 13175, 17408, 0, 0, 0, 0}, {136, 13056, 5120, 0, 0, 0, 0}, {42, 771, 64, 1285, 4112, 0, 0}, {1290, 1312, 5632, 21760, 0, 0, 0}, {72, 5236, 771, 17476, 0, 0, 0}, {780, 64, 4096, 0, 0, 0, 0}, {34, 4437, 1285, 0, 0, 0, 0}, {4364, 34, 4608, 4420, 5126, 0, 0}, {4991, 8192, 20592, 0, 0, 0, 0}, {3072, 816, 20560, 0, 0, 0, 0}, {8, 34, 512, 1365, 4369, 0, 0}, {274, 64, 1024, 4352, 0, 0, 0}, {20640, 24415, 13107, 0, 0, 0, 0}, {8, 4964, 5140, 0, 0, 0, 0}, {1343, 1536, 1365, 0, 0, 0, 0}, {1370, 13158, 21760, 0, 0, 0, 0}, {8, 4128, 4887, 64, 1024, 0, 0}, {8, 816, 64, 1024, 4112, 0, 0}, {2560, 13107, 1365, 0, 0, 0, 0}, {1370, 1328, 1536, 21760, 0, 0, 0}, {8, 5220, 4883, 17476, 0, 0, 0}, {13260, 15420, 20560, 0, 0, 0, 0}, {34, 512, 277, 4096, 0, 0, 0}, {8, 34, 512, 4420, 5142, 0, 0}, {831, 12288, 20576, 0, 0, 0, 0}, {20640, 3840, 13056, 0, 0, 0, 0}, {259, 64, 1028, 4369, 0, 0, 0}, {8, 34, 512, 1280, 4352, 0, 0}, {192, 771, 20560, 0, 0, 0, 0}, {8, 4128, 772, 64, 1028, 0, 0}, {1295, 13141, 21845, 0, 0, 0, 0}, {780, 870, 1280, 0, 0, 0, 0}, {8, 1799, 5200, 0, 0, 0, 0}, {8, 5152, 1792, 17408, 0, 0, 0}, {1295, 1381, 771, 21845, 0, 0, 0}, {170, 13056, 1280, 0, 0, 0, 0}, {8, 771, 64, 1028, 4112, 0, 0}, {780, 12288, 20576, 0, 0, 0, 0}, {8, 34, 512, 4437, 1287, 0, 0}, {34, 512, 260, 4096, 0, 0, 0}, {13311, 3855, 20560, 0, 0, 0, 0}, {4144, 4864, 64, 0, 0, 0, 0}, {1375, 34, 4369, 0, 0, 0, 0}, {1304, 34, 786, 1360, 4352, 0, 0}, {7244, 4915, 20480, 0, 0, 0, 0}, {5180, 13124, 17476, 0, 0, 0, 0}, {4106, 4128, 789, 64, 5397, 0, 0}, {42, 5654, 1360, 0, 0, 0, 0}, {72, 887, 5120, 0, 0, 0, 0}, {72, 5168, 5888, 17408, 0, 0, 0}, {1375, 1397, 4883, 21845, 0, 0, 0}, {794, 816, 64, 1296, 4112, 0, 0}, {6963, 13107, 5188, 0, 0, 0, 0}, {4940, 8192, 20592, 0, 0, 0, 0}, {4381, 34, 4608, 4437, 1303, 0, 0}, {34, 4420, 5140, 0, 0, 0, 0}, {831, 64, 4096, 0, 0, 0, 0}, {192, 768, 20480, 0, 0, 0, 0}, {8, 34, 514, 1285, 4369, 0, 0}, {258, 64, 1024, 4352, 0, 0, 0}, {20720, 3855, 13107, 0, 0, 0, 0}, {8, 1792, 5188, 0, 0, 0, 0}, {783, 869, 1285, 0, 0, 0, 0}, {1290, 13158, 21760, 0, 0, 0, 0}, {8, 4144, 775, 64, 1024, 0, 0}, {8, 768, 64, 1024, 4096, 0, 0}, {170, 13107, 1285, 0, 0, 0, 0}, {1290, 1376, 768, 21760, 0, 0, 0}, {8, 5172, 1799, 17476, 0, 0, 0}, {13260, 3840, 20480, 0, 0, 0, 0}, {34, 514, 261, 4112, 0, 0, 0}, {8, 34, 514, 4420, 1282, 0, 0}, {783, 12336, 20528, 0, 0, 0, 0}, {7248, 4896, 20560, 0, 0, 0, 0}, {1309, 34, 785, 1365, 4369, 0, 0}, {1370, 34, 4352, 0, 0, 0, 0}, {4128, 4883, 64, 0, 0, 0, 0}, {72, 884, 5140, 0, 0, 0, 0}, {42, 5632, 1365, 0, 0, 0, 0}, {4122, 4144, 790, 64, 5376, 0, 0}, {5160, 13175, 17408, 0, 0, 0, 0}, {6952, 13056, 5200, 0, 0, 0, 0}, {793, 819, 64, 1301, 4096, 0, 0}, {1370, 1392, 4864, 21760, 0, 0, 0}, {72, 5156, 5911, 17476, 0, 0, 0}, {828, 64, 4112, 0, 0, 0, 0}, {34, 4437, 5120, 0, 0, 0, 0}, {4364, 34, 4626, 4420, 1298, 0, 0}, {4959, 8224, 20512, 0, 0, 0, 0}, {4128, 768, 64, 0, 0, 0, 0}, {1295, 34, 4369, 0, 0, 0, 0}, {72, 34, 768, 1280, 4352, 0, 0}, {128, 4883, 20560, 0, 0, 0, 0}, {5228, 13124, 17476, 0, 0, 0, 0}, {4122, 4144, 4885, 64, 5397, 0, 0}, {4940, 4966, 1280, 0, 0, 0, 0}, {5144, 5911, 5200, 0, 0, 0, 0}, {72, 5216, 768, 17408, 0, 0, 0}, {1295, 1317, 5654, 21845, 0, 0, 0}, {42, 768, 64, 1280, 4096, 0, 0}, {136, 13107, 5140, 0, 0, 0, 0}, {4972, 8224, 20512, 0, 0, 0, 0}, {4381, 34, 4626, 4437, 5138, 0, 0}, {34, 4420, 1280, 0, 0, 0, 0}, {783, 64, 4112, 0, 0, 0, 0}, {20720, 24320, 13056, 0, 0, 0, 0}, {275, 64, 1028, 4369, 0, 0, 0}, {8, 34, 514, 1360, 4352, 0, 0}, {3084, 819, 20480, 0, 0, 0, 0}, {8, 4144, 4868, 64, 1028, 0, 0}, {1375, 13141, 21845, 0, 0, 0, 0}, {1338, 1542, 1360, 0, 0, 0, 0}, {8, 4983, 5120, 0, 0, 0, 0}, {8, 5232, 4864, 17408, 0, 0, 0}, {1375, 1333, 1542, 21845, 0, 0, 0}, {2570, 13056, 1360, 0, 0, 0, 0}, {8, 819, 64, 1028, 4096, 0, 0}, {828, 12336, 20528, 0, 0, 0, 0}, {8, 34, 514, 4437, 5122, 0, 0}, {34, 514, 276, 4112, 0, 0, 0}, {13311, 15360, 20480, 0, 0, 0, 0}, {2048, 8192, 17408, 0, 0, 0, 0}, {15, 48, 85, 257, 0, 0, 0}, {170, 514, 17442, 0, 0, 0, 0}, {15, 48, 771, 1027, 4096, 0, 0}, {192, 8256, 1028, 0, 0, 0, 0}, {15, 517, 85, 1285, 4352, 0, 0}, {1036, 1126, 1542, 16384, 0, 0, 0}, {15, 5239, 1799, 20480, 0, 0, 0}, {17544, 2056, 25608, 0, 0, 0, 0}, {262, 85, 1285, 4101, 0, 0, 0}, {522, 8704, 17408, 0, 0, 0, 0}, {15, 48, 771, 4160, 1028, 0, 0}, {1036, 8192, 16384, 0, 0, 0, 0}, {15, 4386, 514, 85, 1285, 0, 0}, {106, 514, 1028, 0, 0, 0, 0}, {15, 4864, 5120, 0, 0, 0, 0}, {3072, 48, 1088, 4112, 0, 0, 0}, {2560, 546, 85, 4369, 0, 0, 0}, {90, 48, 530, 1042, 4096, 0, 0}, {255, 4883, 17459, 0, 0, 0, 0}, {240, 8272, 5140, 0, 0, 0, 0}, {63, 533, 85, 1045, 4352, 0, 0}, {90, 5222, 5654, 20480, 0, 0, 0}, {1096, 1143, 5911, 16384, 0, 0, 0}, {5144, 48, 4176, 0, 0, 0, 0}, {4889, 4403, 85, 0, 0, 0, 0}, {4122, 48, 4608, 4160, 5120, 0, 0}, {4972, 13107, 17476, 0, 0, 0, 0}, {5228, 8224, 20560, 0, 0, 0, 0}, {4381, 4386, 4864, 85, 5376, 0, 0}, {5150, 546, 5188, 0, 0, 0, 0}, {4895, 4896, 1088, 0, 0, 0, 0}, {2176, 8224, 17408, 0, 0, 0, 0}, {15, 771, 1280, 273, 0, 0, 0}, {2560, 546, 17920, 0, 0, 0, 0}, {15, 48, 771, 1091, 4112, 0, 0}, {3084, 9252, 1092, 0, 0, 0, 0}, {15, 549, 85, 1280, 4352, 0, 0}, {1100, 1062, 576, 16448, 0, 0, 0}, {15, 5159, 4944, 20560, 0, 0, 0}, {17544, 19456, 25640, 0, 0, 0, 0}, {278, 85, 1280, 4117, 0, 0, 0}, {554, 8704, 17408, 0, 0, 0, 0}, {15, 48, 771, 4176, 5140, 0, 0}, {1100, 8224, 16448, 0, 0, 0, 0}, {15, 4386, 4864, 85, 1280, 0, 0}, {1548, 546, 1092, 0, 0, 0, 0}, {15, 4896, 5200, 0, 0, 0, 0}, {48, 1024, 4096, 0, 0, 0, 0}, {514, 85, 4369, 0, 0, 0, 0}, {1032, 48, 514, 1106, 4112, 0, 0}, {2048, 4915, 22272, 0, 0, 0, 0}, {2056, 13364, 5188, 0, 0, 0, 0}, {522, 565, 85, 1024, 4352, 0, 0}, {90, 5174, 592, 20560, 0, 0, 0}, {1032, 1079, 4928, 16448, 0, 0, 0}, {1032, 48, 4160, 0, 0, 0, 0}, {522, 4403, 85, 0, 0, 0, 0}, {4106, 48, 4608, 4176, 1024, 0, 0}, {4940, 13107, 17476, 0, 0, 0, 0}, {5180, 8192, 20480, 0, 0, 0, 0}, {4381, 4386, 514, 85, 5397, 0, 0}, {90, 514, 5140, 0, 0, 0, 0}, {63, 4864, 1024, 0, 0, 0, 0}, {3072, 9216, 1088, 0, 0, 0, 0}, {15, 551, 85, 1285, 4369, 0, 0}, {1096, 1058, 578, 16384, 0, 0, 0}, {15, 5171, 4931, 20480, 0, 0, 0}, {2184, 8192, 17476, 0, 0, 0, 0}, {15, 768, 1285, 272, 0, 0, 0}, {2570, 544, 17990, 0, 0, 0, 0}, {15, 48, 768, 1095, 4096, 0, 0}, {1096, 8192, 16384, 0, 0, 0, 0}, {15, 4403, 4883, 85, 1285, 0, 0}, {1546, 544, 1088, 0, 0, 0, 0}, {15, 4915, 5188, 0, 0, 0, 0}, {17612, 19532, 25676, 0, 0, 0, 0}, {279, 85, 1285, 4101, 0, 0, 0}, {552, 8738, 17476, 0, 0, 0, 0}, {15, 48, 768, 4160, 5120, 0, 0}, {2048, 13312, 5200, 0, 0, 0, 0}, {520, 567, 85, 1028, 4369, 0, 0}, {90, 5154, 594, 20480, 0, 0, 0}, {1036, 1075, 4947, 16384, 0, 0, 0}, {48, 1028, 4112, 0, 0, 0, 0}, {512, 85, 4352, 0, 0, 0, 0}, {1036, 48, 512, 1110, 4096, 0, 0}, {2056, 4896, 22359, 0, 0, 0, 0}, {5160, 8224, 20560, 0, 0, 0, 0}, {4364, 4403, 512, 85, 5376, 0, 0}, {90, 512, 5120, 0, 0, 0, 0}, {63, 4883, 1028, 0, 0, 0, 0}, {1036, 48, 4176, 0, 0, 0, 0}, {520, 4386, 85, 0, 0, 0, 0}, {4122, 48, 4626, 4160, 1028, 0, 0}, {4959, 13056, 17408, 0, 0, 0, 0}, {192, 8288, 1024, 0, 0, 0, 0}, {15, 519, 85, 1280, 4369, 0, 0}, {1032, 1122, 1536, 16448, 0, 0, 0}, {15, 5219, 1792, 20560, 0, 0, 0}, {2056, 8224, 17476, 0, 0, 0, 0}, {15, 48, 85, 256, 0, 0, 0}, {170, 512, 17510, 0, 0, 0, 0}, {15, 48, 768, 1031, 4112, 0, 0}, {1032, 8224, 16448, 0, 0, 0, 0}, {15, 4403, 512, 85, 1280, 0, 0}, {106, 512, 1024, 0, 0, 0, 0}, {15, 4883, 5140, 0, 0, 0, 0}, {17612, 2048, 25708, 0, 0, 0, 0}, {263, 85, 1280, 4117, 0, 0, 0}, {520, 8738, 17476, 0, 0, 0, 0}, {15, 48, 768, 4176, 1024, 0, 0}, {240, 8304, 5120, 0, 0, 0, 0}, {63, 535, 85, 1041, 4369, 0, 0}, {90, 5234, 5632, 20560, 0, 0, 0}, {1100, 1139, 5888, 16448, 0, 0, 0}, {3084, 48, 1092, 4096, 0, 0, 0}, {2570, 544, 85, 4352, 0, 0, 0}, {90, 48, 528, 1046, 4112, 0, 0}, {255, 4864, 17527, 0, 0, 0, 0}, {5240, 8192, 20480, 0, 0, 0, 0}, {4364, 4403, 4883, 85, 5397, 0, 0}, {5130, 544, 5200, 0, 0, 0, 0}, {4876, 4915, 1092, 0, 0, 0, 0}, {5132, 48, 4160, 0, 0, 0, 0}, {4874, 4386, 85, 0, 0, 0, 0}, {4106, 48, 4626, 4176, 5140, 0, 0}, {4991, 13056, 17408, 0, 0, 0, 0}, {8320, 10240, 17408, 0, 0, 0, 0}, {48, 771, 276, 4369, 0, 0, 0}, {552, 8738, 17442, 0, 0, 0, 0}, {15, 48, 771, 4160, 5123, 0, 0}, {3084, 8192, 1092, 0, 0, 0, 0}, {15, 544, 85, 1285, 4352, 0, 0}, {1100, 1062, 1542, 16448, 0, 0, 0}, {15, 5239, 4864, 20480, 0, 0, 0}, {17544, 19456, 8192, 0, 0, 0, 0}, {275, 85, 1285, 4112, 0, 0, 0}, {2570, 544, 17408, 0, 0, 0, 0}, {15, 48, 771, 1092, 4096, 0, 0}, {1100, 8256, 16448, 0, 0, 0, 0}, {15, 4386, 4869, 85, 1285, 0, 0}, {1070, 1542, 1092, 0, 0, 0, 0}, {15, 4976, 5120, 0, 0, 0, 0}, {48, 4176, 1024, 0, 0, 0, 0}, {520, 85, 4369, 0, 0, 0, 0}, {4122, 48, 4626, 4160, 5138, 0, 0}, {4972, 13107, 17459, 0, 0, 0, 0}, {240, 8224, 5140, 0, 0, 0, 0}, {63, 512, 85, 1024, 4352, 0, 0}, {90, 5222, 512, 20480, 0, 0, 0}, {1032, 1079, 5911, 16448, 0, 0, 0}, {1032, 48, 4112, 0, 0, 0, 0}, {4403, 512, 85, 0, 0, 0, 0}, {90, 48, 512, 1024, 4096, 0, 0}, {255, 4883, 17476, 0, 0, 0, 0}, {5228, 8272, 20560, 0, 0, 0, 0}, {4381, 4386, 4885, 85, 5397, 0, 0}, {5150, 5654, 5188, 0, 0, 0, 0}, {4959, 4960, 1024, 0, 0, 0, 0}, {8352, 2048, 17408, 0, 0, 0, 0}, {48, 771, 260, 4369, 0, 0, 0}, {520, 8738, 17442, 0, 0, 0, 0}, {15, 48, 771, 4176, 1027, 0, 0}, {192, 8224, 1028, 0, 0, 0, 0}, {15, 512, 85, 1280, 4352, 0, 0}, {1036, 1126, 512, 16384, 0, 0, 0}, {15, 5159, 1799, 20560, 0, 0, 0}, {17544, 2056, 8224, 0, 0, 0, 0}, {259, 85, 1280, 4096, 0, 0, 0}, {170, 512, 17408, 0, 0, 0, 0}, {15, 48, 771, 1028, 4112, 0, 0}, {1036, 8288, 16384, 0, 0, 0, 0}, {15, 4386, 519, 85, 1280, 0, 0}, {520, 610, 1028, 0, 0, 0, 0}, {15, 1792, 5200, 0, 0, 0, 0}, {48, 4160, 5120, 0, 0, 0, 0}, {552, 85, 4369, 0, 0, 0, 0}, {4106, 48, 4626, 4176, 1042, 0, 0}, {4940, 13107, 17459, 0, 0, 0, 0}, {7228, 8192, 5188, 0, 0, 0, 0}, {543, 544, 85, 1045, 4352, 0, 0}, {90, 5174, 5654, 20560, 0, 0, 0}, {1096, 1143, 4864, 16384, 0, 0, 0}, {1096, 48, 4096, 0, 0, 0, 0}, {4403, 4883, 85, 0, 0, 0, 0}, {1050, 48, 528, 1088, 4112, 0, 0}, {6980, 4915, 17476, 0, 0, 0, 0}, {5180, 8304, 20480, 0, 0, 0, 0}, {4381, 4386, 535, 85, 5376, 0, 0}, {90, 626, 5140, 0, 0, 0, 0}, {63, 5888, 1088, 0, 0, 0, 0}, {192, 8192, 1024, 0, 0, 0, 0}, {15, 514, 85, 1285, 4369, 0, 0}, {1032, 1122, 514, 16448, 0, 0, 0}, {15, 5171, 1792, 20480, 0, 0, 0}, {8320, 2056, 17476, 0, 0, 0, 0}, {48, 768, 261, 4352, 0, 0, 0}, {522, 8704, 17510, 0, 0, 0, 0}, {15, 48, 768, 4160, 1031, 0, 0}, {1032, 8256, 16448, 0, 0, 0, 0}, {15, 4403, 517, 85, 1285, 0, 0}, {522, 608, 1024, 0, 0, 0, 0}, {15, 1799, 5188, 0, 0, 0, 0}, {17612, 2048, 8192, 0, 0, 0, 0}, {258, 85, 1285, 4112, 0, 0, 0}, {170, 514, 17476, 0, 0, 0, 0}, {15, 48, 768, 1024, 4096, 0, 0}, {7200, 8224, 5200, 0, 0, 0, 0}, {541, 546, 85, 1041, 4369, 0, 0}, {90, 5154, 5632, 20480, 0, 0, 0}, {1100, 1139, 4883, 16448, 0, 0, 0}, {48, 4176, 5140, 0, 0, 0, 0}, {554, 85, 4352, 0, 0, 0, 0}, {4122, 48, 4608, 4160, 1046, 0, 0}, {4959, 13056, 17527, 0, 0, 0, 0}, {5160, 8272, 20560, 0, 0, 0, 0}, {4364, 4403, 533, 85, 5397, 0, 0}, {90, 624, 5120, 0, 0, 0, 0}, {63, 5911, 1092, 0, 0, 0, 0}, {1100, 48, 4112, 0, 0, 0, 0}, {4386, 4864, 85, 0, 0, 0, 0}, {1054, 48, 530, 1092, 4096, 0, 0}, {7007, 4896, 17408, 0, 0, 0, 0}, {3072, 8224, 1088, 0, 0, 0, 0}, {15, 546, 85, 1280, 4369, 0, 0}, {1096, 1058, 1536, 16384, 0, 0, 0}, {15, 5219, 4883, 20560, 0, 0, 0}, {8352, 10280, 17476, 0, 0, 0, 0}, {48, 768, 277, 4352, 0, 0, 0}, {554, 8704, 17510, 0, 0, 0, 0}, {15, 48, 768, 4176, 5143, 0, 0}, {1096, 8288, 16384, 0, 0, 0, 0}, {15, 4403, 4886, 85, 1280, 0, 0}, {1066, 1536, 1088, 0, 0, 0, 0}, {15, 4963, 5140, 0, 0, 0, 0}, {17612, 19532, 8224, 0, 0, 0, 0}, {274, 85, 1280, 4096, 0, 0, 0}, {2560, 546, 17476, 0, 0, 0, 0}, {15, 48, 768, 1088, 4112, 0, 0}, {240, 8192, 5120, 0, 0, 0, 0}, {63, 514, 85, 1028, 4369, 0, 0}, {90, 5234, 514, 20560, 0, 0, 0}, {1036, 1075, 5888, 16384, 0, 0, 0}, {48, 4160, 1028, 0, 0, 0, 0}, {522, 85, 4352, 0, 0, 0, 0}, {4106, 48, 4608, 4176, 5126, 0, 0}, {4991, 13056, 17527, 0, 0, 0, 0}, {5240, 8304, 20480, 0, 0, 0, 0}, {4364, 4403, 4870, 85, 5376, 0, 0}, {5130, 5632, 5200, 0, 0, 0, 0}, {4940, 4979, 1028, 0, 0, 0, 0}, {1036, 48, 4096, 0, 0, 0, 0}, {4386, 514, 85, 0, 0, 0, 0}, {90, 48, 514, 1028, 4112, 0, 0}, {255, 4864, 17408, 0, 0, 0, 0}, {3840, 12288, 21760, 0, 0, 0, 0}, {8, 32, 68, 257, 0, 0, 0}, {8, 32, 514, 1282, 4096, 0, 0}, {204, 771, 21811, 0, 0, 0, 0}, {8, 772, 68, 1028, 4352, 0, 0}, {160, 12368, 1285, 0, 0, 0, 0}, {1290, 1382, 1542, 20480, 0, 0, 0}, {8, 5495, 1799, 16384, 0, 0, 0}, {8, 4608, 5376, 0, 0, 0, 0}, {108, 771, 1285, 0, 0, 0, 0}, {1290, 12288, 20480, 0, 0, 0, 0}, {8, 4403, 771, 68, 1028, 0, 0}, {780, 13056, 21760, 0, 0, 0, 0}, {8, 32, 514, 4176, 1285, 0, 0}, {262, 68, 1028, 4100, 0, 0, 0}, {22015, 3855, 25871, 0, 0, 0, 0}, {2560, 32, 1360, 4112, 0, 0, 0}, {3072, 819, 68, 4369, 0, 0, 0}, {136, 4626, 21794, 0, 0, 0, 0}, {76, 32, 787, 1299, 4096, 0, 0}, {40, 788, 68, 1300, 4352, 0, 0}, {128, 12352, 5397, 0, 0, 0, 0}, {76, 5478, 5654, 16384, 0, 0, 0}, {1375, 1399, 5911, 20480, 0, 0, 0}, {4632, 4656, 1360, 0, 0, 0, 0}, {5401, 819, 5461, 0, 0, 0, 0}, {5482, 12336, 16448, 0, 0, 0, 0}, {4379, 4403, 4608, 68, 5120, 0, 0}, {4124, 32, 4864, 4176, 5376, 0, 0}, {4714, 8738, 21845, 0, 0, 0, 0}, {4638, 4386, 68, 0, 0, 0, 0}, {5407, 32, 4160, 0, 0, 0, 0}, {32, 1280, 4096, 0, 0, 0, 0}, {771, 68, 4369, 0, 0, 0, 0}, {3840, 4642, 18176, 0, 0, 0, 0}, {1295, 32, 771, 1347, 4112, 0, 0}, {780, 804, 68, 1280, 4352, 0, 0}, {3855, 9509, 5461, 0, 0, 0, 0}, {76, 5414, 832, 16448, 0, 0, 0}, {1295, 1319, 4688, 20560, 0, 0, 0}, {40, 4608, 1280, 0, 0, 0, 0}, {76, 771, 5397, 0, 0, 0, 0}, {5418, 12288, 16384, 0, 0, 0, 0}, {4379, 4403, 771, 68, 5140, 0, 0}, {4108, 32, 4864, 4160, 1280, 0, 0}, {4698, 8738, 21845, 0, 0, 0, 0}, {780, 4386, 68, 0, 0, 0, 0}, {1295, 32, 4176, 0, 0, 0, 0}, {4080, 12336, 21760, 0, 0, 0, 0}, {8, 514, 1024, 273, 0, 0, 0}, {8, 32, 514, 1362, 4112, 0, 0}, {3072, 819, 22016, 0, 0, 0, 0}, {8, 820, 68, 1024, 4352, 0, 0}, {2570, 13621, 1365, 0, 0, 0, 0}, {1370, 1334, 848, 20560, 0, 0, 0}, {8, 5431, 4672, 16448, 0, 0, 0}, {8, 4656, 5440, 0, 0, 0, 0}, {1546, 819, 1365, 0, 0, 0, 0}, {1370, 12336, 20560, 0, 0, 0, 0}, {8, 4403, 4608, 68, 1024, 0, 0}, {828, 13056, 21760, 0, 0, 0, 0}, {8, 32, 514, 4160, 5397, 0, 0}, {278, 68, 1024, 4116, 0, 0, 0}, {22015, 23040, 25919, 0, 0, 0, 0}, {3840, 9472, 5440, 0, 0, 0, 0}, {783, 807, 68, 1285, 4369, 0, 0}, {1290, 1314, 4674, 20480, 0, 0, 0}, {76, 5427, 835, 16384, 0, 0, 0}, {768, 68, 4352, 0, 0, 0, 0}, {32, 1285, 4112, 0, 0, 0, 0}, {1290, 32, 768, 1350, 4096, 0, 0}, {3855, 4656, 18247, 0, 0, 0, 0}, {4680, 8704, 21760, 0, 0, 0, 0}, {4124, 32, 4883, 4176, 1285, 0, 0}, {1290, 32, 4160, 0, 0, 0, 0}, {783, 4403, 68, 0, 0, 0, 0}, {76, 768, 5376, 0, 0, 0, 0}, {40, 4626, 1285, 0, 0, 0, 0}, {4362, 4386, 768, 68, 5120, 0, 0}, {5439, 12336, 16448, 0, 0, 0, 0}, {2560, 13568, 1360, 0, 0, 0, 0}, {8, 823, 68, 1028, 4369, 0, 0}, {8, 5410, 4690, 16384, 0, 0, 0}, {1375, 1331, 851, 20480, 0, 0, 0}, {8, 512, 1028, 272, 0, 0, 0}, {4095, 12288, 21845, 0, 0, 0, 0}, {3084, 816, 22102, 0, 0, 0, 0}, {8, 32, 512, 1367, 4096, 0, 0}, {8, 32, 512, 4176, 5376, 0, 0}, {831, 13107, 21845, 0, 0, 0, 0}, {21930, 23130, 25946, 0, 0, 0, 0}, {279, 68, 1028, 4100, 0, 0, 0}, {1548, 816, 1360, 0, 0, 0, 0}, {8, 4642, 5461, 0, 0, 0, 0}, {8, 4386, 4626, 68, 1028, 0, 0}, {1375, 12288, 20480, 0, 0, 0, 0}, {160, 12384, 1280, 0, 0, 0, 0}, {8, 775, 68, 1024, 4369, 0, 0}, {8, 5474, 1792, 16448, 0, 0, 0}, {1295, 1379, 1536, 20560, 0, 0, 0}, {8, 32, 68, 256, 0, 0, 0}, {3855, 12336, 21845, 0, 0, 0, 0}, {204, 768, 21862, 0, 0, 0, 0}, {8, 32, 512, 1287, 4112, 0, 0}, {8, 32, 512, 4160, 1280, 0, 0}, {783, 13107, 21845, 0, 0, 0, 0}, {21930, 3840, 25962, 0, 0, 0, 0}, {263, 68, 1024, 4116, 0, 0, 0}, {108, 768, 1280, 0, 0, 0, 0}, {8, 4626, 5397, 0, 0, 0, 0}, {8, 4386, 768, 68, 1024, 0, 0}, {1295, 12336, 20560, 0, 0, 0, 0}, {128, 12400, 5376, 0, 0, 0, 0}, {40, 791, 68, 1297, 4369, 0, 0}, {1370, 1394, 5888, 20560, 0, 0, 0}, {76, 5491, 5632, 16448, 0, 0, 0}, {3084, 816, 68, 4352, 0, 0, 0}, {2570, 32, 1365, 4096, 0, 0, 0}, {76, 32, 784, 1302, 4112, 0, 0}, {136, 4608, 21879, 0, 0, 0, 0}, {4728, 8704, 21760, 0, 0, 0, 0}, {4108, 32, 4883, 4160, 5397, 0, 0}, {5386, 32, 4176, 0, 0, 0, 0}, {4620, 4403, 68, 0, 0, 0, 0}, {5388, 816, 5440, 0, 0, 0, 0}, {4618, 4642, 1365, 0, 0, 0, 0}, {4362, 4386, 4626, 68, 5140, 0, 0}, {5503, 12288, 16384, 0, 0, 0, 0}, {128, 12288, 5376, 0, 0, 0, 0}, {40, 771, 68, 1285, 4369, 0, 0}, {1290, 1314, 5888, 20480, 0, 0, 0}, {76, 5491, 771, 16448, 0, 0, 0}, {780, 68, 4352, 0, 0, 0, 0}, {32, 4176, 1285, 0, 0, 0, 0}, {4108, 32, 4864, 4160, 5382, 0, 0}, {4728, 8704, 21879, 0, 0, 0, 0}, {136, 4608, 21760, 0, 0, 0, 0}, {76, 32, 771, 1285, 4112, 0, 0}, {1290, 32, 4096, 0, 0, 0, 0}, {4403, 771, 68, 0, 0, 0, 0}, {5388, 5632, 5440, 0, 0, 0, 0}, {4698, 4722, 1285, 0, 0, 0, 0}, {4362, 4386, 4614, 68, 5120, 0, 0}, {5503, 12400, 16384, 0, 0, 0, 0}, {2560, 12336, 1360, 0, 0, 0, 0}, {8, 819, 68, 1024, 4369, 0, 0}, {8, 5474, 4626, 16448, 0, 0, 0}, {1375, 1331, 1536, 20480, 0, 0, 0}, {32, 512, 276, 4352, 0, 0, 0}, {12480, 16191, 21845, 0, 0, 0, 0}, {828, 13056, 21862, 0, 0, 0, 0}, {8, 32, 512, 4160, 5399, 0, 0}, {8, 32, 512, 1360, 4112, 0, 0}, {3072, 819, 21845, 0, 0, 0, 0}, {21930, 23130, 12336, 0, 0, 0, 0}, {275, 68, 1024, 4096, 0, 0, 0}, {1340, 1536, 1360, 0, 0, 0, 0}, {8, 4706, 5397, 0, 0, 0, 0}, {8, 4386, 4630, 68, 1024, 0, 0}, {1375, 12384, 20480, 0, 0, 0, 0}, {160, 12288, 1280, 0, 0, 0, 0}, {8, 771, 68, 1028, 4369, 0, 0}, {8, 5410, 1792, 16384, 0, 0, 0}, {1295, 1379, 771, 20560, 0, 0, 0}, {32, 512, 260, 4352, 0, 0, 0}, {12528, 3855, 21845, 0, 0, 0, 0}, {780, 13056, 21862, 0, 0, 0, 0}, {8, 32, 512, 4176, 1287, 0, 0}, {8, 32, 512, 1280, 4096, 0, 0}, {204, 771, 21845, 0, 0, 0, 0}, {21930, 3840, 12288, 0, 0, 0, 0}, {259, 68, 1028, 4112, 0, 0, 0}, {780, 864, 1280, 0, 0, 0, 0}, {8, 1799, 5461, 0, 0, 0, 0}, {8, 4386, 772, 68, 1028, 0, 0}, {1295, 12368, 20560, 0, 0, 0, 0}, {6704, 12336, 5440, 0, 0, 0, 0}, {795, 819, 68, 1297, 4369, 0, 0}, {1370, 1394, 4626, 20560, 0, 0, 0}, {76, 5427, 5632, 16384, 0, 0, 0}, {828, 68, 4352, 0, 0, 0, 0}, {32, 4160, 5397, 0, 0, 0, 0}, {4124, 32, 4864, 4176, 1302, 0, 0}, {4680, 8704, 21879, 0, 0, 0, 0}, {7496, 4656, 21760, 0, 0, 0, 0}, {1305, 32, 787, 1365, 4096, 0, 0}, {1370, 32, 4112, 0, 0, 0, 0}, {4403, 4608, 68, 0, 0, 0, 0}, {76, 880, 5376, 0, 0, 0, 0}, {40, 5911, 1365, 0, 0, 0, 0}, {4362, 4386, 788, 68, 5140, 0, 0}, {5439, 12352, 16448, 0, 0, 0, 0}, {12480, 3840, 21760, 0, 0, 0, 0}, {32, 514, 261, 4369, 0, 0, 0}, {8, 32, 514, 4160, 1282, 0, 0}, {783, 13107, 21811, 0, 0, 0, 0}, {8, 768, 68, 1024, 4352, 0, 0}, {160, 12336, 1285, 0, 0, 0, 0}, {1290, 1382, 768, 20480, 0, 0, 0}, {8, 5431, 1799, 16448, 0, 0, 0}, {8, 1792, 5440, 0, 0, 0, 0}, {783, 867, 1285, 0, 0, 0, 0}, {1290, 12384, 20480, 0, 0, 0, 0}, {8, 4403, 775, 68, 1024, 0, 0}, {204, 768, 21760, 0, 0, 0, 0}, {8, 32, 514, 1285, 4112, 0, 0}, {258, 68, 1024, 4096, 0, 0, 0}, {22015, 3855, 12336, 0, 0, 0, 0}, {32, 4176, 5376, 0, 0, 0, 0}, {831, 68, 4369, 0, 0, 0, 0}, {4698, 8738, 21794, 0, 0, 0, 0}, {4108, 32, 4883, 4160, 1299, 0, 0}, {792, 816, 68, 1300, 4352, 0, 0}, {6698, 12288, 5461, 0, 0, 0, 0}, {76, 5414, 5654, 16448, 0, 0, 0}, {1375, 1399, 4608, 20480, 0, 0, 0}, {40, 5888, 1360, 0, 0, 0, 0}, {76, 883, 5397, 0, 0, 0, 0}, {5418, 12400, 16384, 0, 0, 0, 0}, {4379, 4403, 791, 68, 5120, 0, 0}, {1308, 32, 784, 1360, 4112, 0, 0}, {7509, 4642, 21845, 0, 0, 0, 0}, {4386, 4626, 68, 0, 0, 0, 0}, {1375, 32, 4096, 0, 0, 0, 0}, {32, 4160, 1280, 0, 0, 0, 0}, {783, 68, 4369, 0, 0, 0, 0}, {4714, 8738, 21794, 0, 0, 0, 0}, {4124, 32, 4883, 4176, 5395, 0, 0}, {40, 768, 68, 1280, 4352, 0, 0}, {128, 12336, 5397, 0, 0, 0, 0}, {76, 5478, 768, 16384, 0, 0, 0}, {1295, 1319, 5911, 20560, 0, 0, 0}, {4680, 4704, 1280, 0, 0, 0, 0}, {5401, 5654, 5461, 0, 0, 0, 0}, {5482, 12352, 16448, 0, 0, 0, 0}, {4379, 4403, 4628, 68, 5140, 0, 0}, {76, 32, 768, 1280, 4096, 0, 0}, {136, 4626, 21845, 0, 0, 0, 0}, {4386, 768, 68, 0, 0, 0, 0}, {1295, 32, 4112, 0, 0, 0, 0}, {12528, 16128, 21760, 0, 0, 0, 0}, {32, 514, 277, 4369, 0, 0, 0}, {8, 32, 514, 4176, 5378, 0, 0}, {831, 13107, 21811, 0, 0, 0, 0}, {8, 816, 68, 1028, 4352, 0, 0}, {2570, 12288, 1365, 0, 0, 0, 0}, {1370, 1334, 1542, 20560, 0, 0, 0}, {8, 5495, 4608, 16384, 0, 0, 0}, {8, 4720, 5376, 0, 0, 0, 0}, {1337, 1542, 1365, 0, 0, 0, 0}, {1370, 12368, 20560, 0, 0, 0, 0}, {8, 4403, 4612, 68, 1028, 0, 0}, {3084, 816, 21760, 0, 0, 0, 0}, {8, 32, 514, 1365, 4096, 0, 0}, {274, 68, 1028, 4112, 0, 0, 0}, {22015, 23040, 12288, 0, 0, 0, 0}, {26112, 0, 0, 0, 0, 0, 0}, {7, 16, 257, 0, 0, 0, 0}, {8, 32, 514, 17408, 0, 0, 0}, {15, 48, 771, 21760, 0, 0, 0}, {8, 8704, 64, 1028, 0, 0, 0}, {15, 13056, 80, 1285, 0, 0, 0}, {96, 1542, 0, 0, 0, 0, 0}, {7, 4352, 0, 0, 0, 0, 0}, {8, 8704, 17408, 0, 0, 0, 0}, {15, 48, 771, 80, 1285, 0, 0}, {160, 2570, 26122, 0, 0, 0, 0}, {7, 64, 1028, 4356, 0, 0, 0}, {192, 3084, 26124, 0, 0, 0, 0}, {7, 80, 1285, 4357, 0, 0, 0}, {8, 32, 514, 64, 1028, 0, 0}, {15, 13056, 21760, 0, 0, 0, 0}, {1536, 16, 0, 0, 0, 0, 0}, {119, 4369, 0, 0, 0, 0, 0}, {72, 48, 4626, 17408, 0, 0, 0}, {95, 32, 4883, 21760, 0, 0, 0}, {40, 8704, 80, 5140, 0, 0, 0}, {63, 13056, 64, 5397, 0, 0, 0}, {112, 5654, 0, 0, 0, 0, 0}, {23, 4352, 0, 0, 0, 0, 0}, {24, 48, 4608, 80, 5120, 0, 0}, {127, 13107, 21845, 0, 0, 0, 0}, {5658, 48, 64, 0, 0, 0, 0}, {4379, 4403, 4420, 0, 0, 0, 0}, {5660, 32, 80, 0, 0, 0, 0}, {4381, 4386, 4437, 0, 0, 0, 0}, {120, 8738, 17476, 0, 0, 0, 0}, {31, 32, 4864, 64, 5376, 0, 0}, {2560, 32, 17920, 0, 0, 0, 0}, {15, 48, 771, 71, 4369, 0, 0}, {136, 8738, 17408, 0, 0, 0, 0}, {15, 771, 1280, 16, 0, 0, 0}, {72, 96, 1604, 17476, 0, 0, 0}, {15, 112, 5717, 21845, 0, 0, 0}, {3084, 9766, 64, 0, 0, 0, 0}, {15, 39, 80, 1280, 4352, 0, 0}, {40, 8704, 17408, 0, 0, 0, 0}, {15, 48, 771, 64, 5397, 0, 0}, {128, 19456, 26154, 0, 0, 0, 0}, {23, 80, 1280, 4372, 0, 0, 0}, {1548, 32, 64, 0, 0, 0, 0}, {15, 4386, 4437, 0, 0, 0, 0}, {72, 8738, 17476, 0, 0, 0, 0}, {15, 32, 4864, 80, 1280, 0, 0}, {3072, 48, 22016, 0, 0, 0, 0}, {8, 32, 514, 87, 4369, 0, 0}, {8, 514, 1024, 16, 0, 0, 0}, {255, 13107, 21760, 0, 0, 0, 0}, {8, 112, 5700, 17476, 0, 0, 0}, {95, 96, 1621, 21845, 0, 0, 0}, {2570, 13878, 80, 0, 0, 0, 0}, {8, 55, 64, 1024, 4352, 0, 0}, {8, 48, 4608, 64, 1024, 0, 0}, {95, 13107, 21845, 0, 0, 0, 0}, {1546, 48, 80, 0, 0, 0, 0}, {8, 4403, 4420, 0, 0, 0, 0}, {240, 23040, 26172, 0, 0, 0, 0}, {23, 64, 1024, 4373, 0, 0, 0}, {8, 32, 514, 80, 5140, 0, 0}, {63, 13056, 21760, 0, 0, 0, 0}, {3072, 9728, 64, 0, 0, 0, 0}, {15, 39, 80, 1285, 4369, 0, 0}, {72, 96, 1602, 17408, 0, 0, 0}, {15, 112, 5699, 21760, 0, 0, 0}, {136, 8704, 17476, 0, 0, 0, 0}, {15, 768, 1285, 16, 0, 0, 0}, {2570, 32, 17990, 0, 0, 0, 0}, {15, 48, 768, 71, 4352, 0, 0}, {72, 8704, 17408, 0, 0, 0, 0}, {15, 32, 4883, 80, 1285, 0, 0}, {1546, 32, 64, 0, 0, 0, 0}, {15, 4403, 4420, 0, 0, 0, 0}, {128, 19532, 26188, 0, 0, 0, 0}, {23, 80, 1285, 4357, 0, 0, 0}, {40, 8738, 17476, 0, 0, 0, 0}, {15, 48, 768, 64, 5376, 0, 0}, {2560, 13824, 80, 0, 0, 0, 0}, {8, 55, 64, 1028, 4369, 0, 0}, {8, 112, 5714, 17408, 0, 0, 0}, {95, 96, 1619, 21760, 0, 0, 0}, {8, 512, 1028, 16, 0, 0, 0}, {255, 13056, 21845, 0, 0, 0, 0}, {3084, 48, 22102, 0, 0, 0, 0}, {8, 32, 512, 87, 4352, 0, 0}, {8, 32, 512, 80, 5120, 0, 0}, {63, 13107, 21845, 0, 0, 0, 0}, {240, 23130, 26202, 0, 0, 0, 0}, {23, 64, 1028, 4356, 0, 0, 0}, {1548, 48, 80, 0, 0, 0, 0}, {8, 4386, 4437, 0, 0, 0, 0}, {8, 48, 4626, 64, 1028, 0, 0}, {95, 13056, 21760, 0, 0, 0, 0}, {96, 1536, 0, 0, 0, 0, 0}, {7, 4369, 0, 0, 0, 0, 0}, {8, 8738, 64, 1024, 0, 0, 0}, {15, 13107, 80, 1280, 0, 0, 0}, {8, 32, 512, 17476, 0, 0, 0}, {15, 48, 768, 21845, 0, 0, 0}, {26214, 0, 0, 0, 0, 0, 0}, {7, 16, 256, 0, 0, 0, 0}, {8, 32, 512, 64, 1024, 0, 0}, {15, 13107, 21845, 0, 0, 0, 0}, {192, 3072, 26218, 0, 0, 0, 0}, {7, 80, 1280, 4372, 0, 0, 0}, {160, 2560, 26220, 0, 0, 0, 0}, {7, 64, 1024, 4373, 0, 0, 0}, {8, 8738, 17476, 0, 0, 0, 0}, {15, 48, 768, 80, 1280, 0, 0}, {112, 5632, 0, 0, 0, 0, 0}, {23, 4369, 0, 0, 0, 0, 0}, {40, 8738, 80, 5120, 0, 0, 0}, {63, 13107, 64, 5376, 0, 0, 0}, {72, 48, 4608, 17476, 0, 0, 0}, {95, 32, 4864, 21845, 0, 0, 0}, {1542, 16, 0, 0, 0, 0, 0}, {119, 4352, 0, 0, 0, 0, 0}, {120, 8704, 17408, 0, 0, 0, 0}, {31, 32, 4883, 64, 5397, 0, 0}, {5642, 32, 80, 0, 0, 0, 0}, {4364, 4403, 4420, 0, 0, 0, 0}, {5644, 48, 64, 0, 0, 0, 0}, {4362, 4386, 4437, 0, 0, 0, 0}, {24, 48, 4626, 80, 5140, 0, 0}, {127, 13056, 21760, 0, 0, 0, 0}, {128, 19456, 26112, 0, 0, 0, 0}, {23, 80, 1285, 4369, 0, 0, 0}, {40, 8738, 17408, 0, 0, 0, 0}, {15, 48, 771, 64, 5376, 0, 0}, {72, 8704, 17476, 0, 0, 0, 0}, {15, 32, 4864, 80, 1285, 0, 0}, {32, 1542, 64, 0, 0, 0, 0}, {15, 119, 4352, 0, 0, 0, 0}, {136, 8704, 17408, 0, 0, 0, 0}, {15, 771, 1285, 16, 0, 0, 0}, {2570, 32, 17930, 0, 0, 0, 0}, {15, 48, 771, 71, 4355, 0, 0}, {3084, 9740, 64, 0, 0, 0, 0}, {15, 39, 80, 1285, 4357, 0, 0}, {72, 96, 1542, 17476, 0, 0, 0}, {15, 112, 5632, 21760, 0, 0, 0}, {48, 1536, 80, 0, 0, 0, 0}, {8, 119, 4369, 0, 0, 0, 0}, {8, 48, 4626, 64, 1024, 0, 0}, {95, 13107, 21760, 0, 0, 0, 0}, {8, 32, 512, 80, 5140, 0, 0}, {63, 13056, 21845, 0, 0, 0, 0}, {240, 23130, 26214, 0, 0, 0, 0}, {23, 64, 1024, 4352, 0, 0, 0}, {8, 512, 1024, 16, 0, 0, 0}, {255, 13107, 21845, 0, 0, 0, 0}, {3072, 48, 22106, 0, 0, 0, 0}, {8, 32, 512, 87, 4371, 0, 0}, {2560, 13884, 80, 0, 0, 0, 0}, {8, 55, 64, 1024, 4373, 0, 0}, {8, 112, 5654, 17476, 0, 0, 0}, {95, 96, 1536, 21760, 0, 0, 0}, {160, 2560, 26112, 0, 0, 0, 0}, {7, 64, 1028, 4369, 0, 0, 0}, {8, 8738, 17408, 0, 0, 0, 0}, {15, 48, 771, 80, 1280, 0, 0}, {8, 32, 512, 64, 1028, 0, 0}, {15, 13056, 21845, 0, 0, 0, 0}, {192, 3084, 26214, 0, 0, 0, 0}, {7, 80, 1280, 4352, 0, 0, 0}, {8, 32, 512, 17408, 0, 0, 0}, {15, 48, 771, 21845, 0, 0, 0}, {26282, 0, 0, 0, 0, 0, 0}, {259, 260, 16, 0, 0, 0, 0}, {1548, 96, 0, 0, 0, 0, 0}, {7, 4437, 0, 0, 0, 0, 0}, {8, 8738, 64, 1028, 0, 0, 0}, {15, 13056, 80, 1280, 0, 0, 0}, {48, 5632, 64, 0, 0, 0, 0}, {95, 119, 4369, 0, 0, 0, 0}, {24, 48, 4626, 80, 5120, 0, 0}, {127, 13107, 21760, 0, 0, 0, 0}, {120, 8704, 17476, 0, 0, 0, 0}, {31, 32, 4864, 64, 5397, 0, 0}, {32, 5654, 80, 0, 0, 0, 0}, {72, 119, 4352, 0, 0, 0, 0}, {72, 48, 4608, 17408, 0, 0, 0}, {95, 32, 4883, 21845, 0, 0, 0}, {1546, 16, 0, 0, 0, 0, 0}, {4403, 4420, 0, 0, 0, 0, 0}, {5708, 112, 0, 0, 0, 0, 0}, {23, 4437, 0, 0, 0, 0, 0}, {40, 8738, 80, 5140, 0, 0, 0}, {63, 13056, 64, 5376, 0, 0, 0}, {192, 3072, 26112, 0, 0, 0, 0}, {7, 80, 1285, 4369, 0, 0, 0}, {8, 32, 514, 64, 1024, 0, 0}, {15, 13107, 21760, 0, 0, 0, 0}, {8, 8704, 17476, 0, 0, 0, 0}, {15, 48, 768, 80, 1285, 0, 0}, {160, 2570, 26214, 0, 0, 0, 0}, {7, 64, 1024, 4352, 0, 0, 0}, {8, 8704, 64, 1024, 0, 0, 0}, {15, 13107, 80, 1285, 0, 0, 0}, {1546, 96, 0, 0, 0, 0, 0}, {7, 4420, 0, 0, 0, 0, 0}, {26316, 0, 0, 0, 0, 0, 0}, {258, 261, 16, 0, 0, 0, 0}, {8, 32, 514, 17476, 0, 0, 0}, {15, 48, 768, 21760, 0, 0, 0}, {32, 5632, 80, 0, 0, 0, 0}, {72, 119, 4369, 0, 0, 0, 0}, {120, 8738, 17408, 0, 0, 0, 0}, {31, 32, 4883, 64, 5376, 0, 0}, {24, 48, 4608, 80, 5140, 0, 0}, {127, 13056, 21845, 0, 0, 0, 0}, {48, 5654, 64, 0, 0, 0, 0}, {95, 119, 4352, 0, 0, 0, 0}, {40, 8704, 80, 5120, 0, 0, 0}, {63, 13107, 64, 5397, 0, 0, 0}, {5722, 112, 0, 0, 0, 0, 0}, {23, 4420, 0, 0, 0, 0, 0}, {1548, 16, 0, 0, 0, 0, 0}, {4386, 4437, 0, 0, 0, 0, 0}, {72, 48, 4626, 17476, 0, 0, 0}, {95, 32, 4864, 21760, 0, 0, 0}, {32, 1536, 64, 0, 0, 0, 0}, {15, 119, 4369, 0, 0, 0, 0}, {72, 8738, 17408, 0, 0, 0, 0}, {15, 32, 4883, 80, 1280, 0, 0}, {40, 8704, 17476, 0, 0, 0, 0}, {15, 48, 768, 64, 5397, 0, 0}, {128, 19532, 26214, 0, 0, 0, 0}, {23, 80, 1280, 4352, 0, 0, 0}, {72, 96, 1536, 17408, 0, 0, 0}, {15, 112, 5654, 21845, 0, 0, 0}, {3072, 9770, 64, 0, 0, 0, 0}, {15, 39, 80, 1280, 4372, 0, 0}, {2560, 32, 17996, 0, 0, 0, 0}, {15, 48, 768, 71, 4370, 0, 0}, {136, 8738, 17476, 0, 0, 0, 0}, {15, 768, 1280, 16, 0, 0, 0}, {240, 23040, 26112, 0, 0, 0, 0}, {23, 64, 1028, 4369, 0, 0, 0}, {8, 32, 514, 80, 5120, 0, 0}, {63, 13107, 21760, 0, 0, 0, 0}, {8, 48, 4608, 64, 1028, 0, 0}, {95, 13056, 21845, 0, 0, 0, 0}, {48, 1542, 80, 0, 0, 0, 0}, {8, 119, 4352, 0, 0, 0, 0}, {8, 112, 5632, 17408, 0, 0, 0}, {95, 96, 1542, 21845, 0, 0, 0}, {2570, 13834, 80, 0, 0, 0, 0}, {8, 55, 64, 1028, 4356, 0, 0}, {3084, 48, 22028, 0, 0, 0, 0}, {8, 32, 514, 87, 4354, 0, 0}, {8, 514, 1028, 16, 0, 0, 0}, {255, 13056, 21760, 0, 0, 0, 0}, {1792, 4096, 0, 0, 0, 0, 0}, {102, 257, 0, 0, 0, 0, 0}, {1290, 4128, 514, 21760, 0, 0, 0}, {1036, 4144, 771, 17408, 0, 0, 0}, {780, 13056, 4160, 1028, 0, 0, 0}, {522, 8704, 4176, 1285, 0, 0, 0}, {262, 4352, 0, 0, 0, 0, 0}, {4208, 1799, 0, 0, 0, 0, 0}, {1800, 12288, 20480, 0, 0, 0, 0}, {265, 4403, 771, 4437, 1285, 0, 0}, {4106, 4608, 5376, 0, 0, 0, 0}, {4220, 771, 1028, 0, 0, 0, 0}, {4108, 4864, 5120, 0, 0, 0, 0}, {4218, 514, 1285, 0, 0, 0, 0}, {270, 4386, 514, 4420, 1028, 0, 0}, {1807, 8192, 16384, 0, 0, 0, 0}, {1904, 4112, 0, 0, 0, 0, 0}, {1536, 273, 0, 0, 0, 0, 0}, {1370, 4144, 4626, 21760, 0, 0, 0}, {1100, 4128, 4883, 17408, 0, 0, 0}, {828, 13056, 4176, 5140, 0, 0, 0}, {554, 8704, 4160, 5397, 0, 0, 0}, {278, 4352, 0, 0, 0, 0, 0}, {4192, 5911, 0, 0, 0, 0, 0}, {1912, 12336, 20560, 0, 0, 0, 0}, {281, 4403, 4608, 4437, 5120, 0, 0}, {4122, 4656, 5440, 0, 0, 0, 0}, {5915, 819, 1092, 0, 0, 0, 0}, {4124, 4896, 5200, 0, 0, 0, 0}, {5917, 546, 1365, 0, 0, 0, 0}, {286, 4386, 4864, 4420, 5376, 0, 0}, {1919, 8224, 16448, 0, 0, 0, 0}, {3840, 4128, 18176, 0, 0, 0, 0}, {1295, 289, 771, 327, 4369, 0, 0}, {546, 1280, 4096, 0, 0, 0, 0}, {771, 1088, 4112, 0, 0, 0, 0}, {1096, 4192, 1860, 17476, 0, 0, 0}, {1295, 4208, 5973, 21845, 0, 0, 0}, {780, 294, 320, 1280, 4352, 0, 0}, {3855, 10023, 4176, 0, 0, 0, 0}, {5928, 12288, 16384, 0, 0, 0, 0}, {4122, 4403, 771, 4437, 5397, 0, 0}, {4138, 4608, 1280, 0, 0, 0, 0}, {4188, 771, 5140, 0, 0, 0, 0}, {780, 4896, 1088, 0, 0, 0, 0}, {1295, 546, 5461, 0, 0, 0, 0}, {4108, 4386, 4864, 4420, 1280, 0, 0}, {5983, 8224, 20560, 0, 0, 0, 0}, {2048, 4144, 22272, 0, 0, 0, 0}, {1032, 305, 514, 343, 4369, 0, 0}, {514, 1360, 4112, 0, 0, 0, 0}, {819, 1024, 4096, 0, 0, 0, 0}, {1032, 4208, 5956, 17476, 0, 0, 0}, {1375, 4192, 1877, 21845, 0, 0, 0}, {522, 310, 336, 1024, 4352, 0, 0}, {2056, 14135, 4160, 0, 0, 0, 0}, {5960, 12336, 16448, 0, 0, 0, 0}, {4106, 4403, 4608, 4437, 1024, 0, 0}, {522, 4656, 1360, 0, 0, 0, 0}, {1032, 819, 5188, 0, 0, 0, 0}, {4156, 4864, 1024, 0, 0, 0, 0}, {4170, 514, 5397, 0, 0, 0, 0}, {4124, 4386, 514, 4420, 5140, 0, 0}, {5951, 8192, 20480, 0, 0, 0, 0}, {3840, 9984, 4160, 0, 0, 0, 0}, {783, 295, 321, 1285, 4369, 0, 0}, {1290, 4192, 5954, 21760, 0, 0, 0}, {1100, 4208, 1859, 17408, 0, 0, 0}, {768, 1092, 4096, 0, 0, 0, 0}, {544, 1285, 4112, 0, 0, 0, 0}, {1290, 288, 768, 326, 4352, 0, 0}, {3855, 4144, 18247, 0, 0, 0, 0}, {5960, 8192, 20480, 0, 0, 0, 0}, {4124, 4403, 4883, 4437, 1285, 0, 0}, {1290, 544, 5440, 0, 0, 0, 0}, {783, 4915, 1092, 0, 0, 0, 0}, {4172, 768, 5120, 0, 0, 0, 0}, {4154, 4626, 1285, 0, 0, 0, 0}, {4106, 4386, 768, 4420, 5376, 0, 0}, {5951, 12336, 16448, 0, 0, 0, 0}, {2048, 14080, 4176, 0, 0, 0, 0}, {520, 311, 337, 1028, 4369, 0, 0}, {1370, 4208, 1874, 21760, 0, 0, 0}, {1036, 4192, 5971, 17408, 0, 0, 0}, {816, 1028, 4112, 0, 0, 0, 0}, {512, 1365, 4096, 0, 0, 0, 0}, {1036, 304, 512, 342, 4352, 0, 0}, {2056, 4128, 22359, 0, 0, 0, 0}, {5928, 8224, 20560, 0, 0, 0, 0}, {4108, 4403, 512, 4437, 5120, 0, 0}, {4186, 512, 5376, 0, 0, 0, 0}, {4140, 4883, 1028, 0, 0, 0, 0}, {1036, 816, 5200, 0, 0, 0, 0}, {520, 4642, 1365, 0, 0, 0, 0}, {4122, 4386, 4626, 4420, 1028, 0, 0}, {5983, 12288, 16384, 0, 0, 0, 0}, {4192, 1792, 0, 0, 0, 0, 0}, {263, 4369, 0, 0, 0, 0, 0}, {520, 8738, 4160, 1280, 0, 0, 0}, {783, 13107, 4176, 1024, 0, 0, 0}, {1032, 4128, 768, 17476, 0, 0, 0}, {1295, 4144, 512, 21845, 0, 0, 0}, {102, 256, 0, 0, 0, 0, 0}, {1799, 4112, 0, 0, 0, 0, 0}, {1800, 8224, 16448, 0, 0, 0, 0}, {271, 4403, 512, 4437, 1024, 0, 0}, {4202, 512, 1280, 0, 0, 0, 0}, {4124, 4883, 5140, 0, 0, 0, 0}, {4204, 768, 1024, 0, 0, 0, 0}, {4122, 4626, 5397, 0, 0, 0, 0}, {264, 4386, 768, 4420, 1280, 0, 0}, {1807, 12336, 20560, 0, 0, 0, 0}, {4208, 5888, 0, 0, 0, 0, 0}, {279, 4369, 0, 0, 0, 0, 0}, {552, 8738, 4176, 5376, 0, 0, 0}, {831, 13107, 4160, 5120, 0, 0, 0}, {1096, 4144, 4864, 17476, 0, 0, 0}, {1375, 4128, 4608, 21845, 0, 0, 0}, {1542, 272, 0, 0, 0, 0, 0}, {1911, 4096, 0, 0, 0, 0, 0}, {1912, 8192, 16384, 0, 0, 0, 0}, {287, 4403, 4883, 4437, 5397, 0, 0}, {5898, 544, 1360, 0, 0, 0, 0}, {4108, 4915, 5188, 0, 0, 0, 0}, {5900, 816, 1088, 0, 0, 0, 0}, {4106, 4642, 5461, 0, 0, 0, 0}, {280, 4386, 4626, 4420, 5140, 0, 0}, {1919, 12288, 20480, 0, 0, 0, 0}, {4224, 5888, 20480, 0, 0, 0, 0}, {333, 102, 771, 1285, 4369, 0, 0}, {4106, 4642, 5376, 0, 0, 0, 0}, {5180, 771, 1088, 0, 0, 0, 0}, {4108, 4864, 5188, 0, 0, 0, 0}, {4698, 544, 1285, 0, 0, 0, 0}, {1290, 1062, 1542, 1088, 4352, 0, 0}, {3855, 6007, 16384, 0, 0, 0, 0}, {1928, 3840, 4096, 0, 0, 0, 0}, {291, 771, 325, 1285, 4112, 0, 0}, {1290, 4128, 4608, 21760, 0, 0, 0}, {1096, 4144, 771, 17476, 0, 0, 0}, {780, 13056, 4160, 5120, 0, 0, 0}, {552, 8738, 4176, 1285, 0, 0, 0}, {1290, 292, 1542, 322, 4102, 0, 0}, {3855, 4208, 18191, 0, 0, 0, 0}, {2048, 5984, 20560, 0, 0, 0, 0}, {1032, 1331, 1536, 1365, 4369, 0, 0}, {4122, 4626, 5440, 0, 0, 0, 0}, {4959, 819, 1024, 0, 0, 0, 0}, {4124, 4896, 5140, 0, 0, 0, 0}, {5439, 512, 1365, 0, 0, 0, 0}, {346, 102, 512, 1024, 4352, 0, 0}, {4320, 5911, 16448, 0, 0, 0, 0}, {2040, 2056, 4112, 0, 0, 0, 0}, {307, 512, 341, 1024, 4096, 0, 0}, {1370, 4144, 512, 21760, 0, 0, 0}, {1032, 4128, 4883, 17476, 0, 0, 0}, {828, 13056, 4176, 1024, 0, 0, 0}, {520, 8738, 4160, 5397, 0, 0, 0}, {1032, 308, 1536, 338, 4118, 0, 0}, {2048, 4192, 22367, 0, 0, 0, 0}, {4256, 1792, 16384, 0, 0, 0, 0}, {267, 102, 771, 1028, 4369, 0, 0}, {520, 4642, 1280, 0, 0, 0, 0}, {1036, 771, 5200, 0, 0, 0, 0}, {780, 4896, 1028, 0, 0, 0, 0}, {1295, 512, 5461, 0, 0, 0, 0}, {268, 102, 512, 1280, 4352, 0, 0}, {4304, 1799, 20560, 0, 0, 0, 0}, {1800, 4128, 0, 0, 0, 0, 0}, {259, 4437, 0, 0, 0, 0, 0}, {170, 512, 1280, 4096, 0, 0, 0}, {204, 771, 1028, 4112, 0, 0, 0}, {1036, 4192, 1792, 17408, 0, 0, 0}, {1295, 4208, 1799, 21845, 0, 0, 0}, {4386, 260, 0, 0, 0, 0, 0}, {1807, 4176, 0, 0, 0, 0, 0}, {8000, 1904, 16448, 0, 0, 0, 0}, {283, 1058, 1809, 1092, 4369, 0, 0}, {4154, 4626, 1360, 0, 0, 0, 0}, {4172, 819, 5120, 0, 0, 0, 0}, {4156, 4864, 1092, 0, 0, 0, 0}, {4170, 544, 5397, 0, 0, 0, 0}, {284, 1334, 1814, 1360, 4352, 0, 0}, {6216, 1911, 20480, 0, 0, 0, 0}, {5960, 4144, 0, 0, 0, 0, 0}, {275, 4437, 0, 0, 0, 0, 0}, {2570, 544, 1360, 4112, 0, 0, 0}, {3072, 819, 1092, 4096, 0, 0, 0}, {1100, 4208, 5888, 17408, 0, 0, 0}, {1375, 4192, 5911, 21845, 0, 0, 0}, {4386, 276, 0, 0, 0, 0, 0}, {5951, 4160, 0, 0, 0, 0, 0}, {4288, 1792, 20480, 0, 0, 0, 0}, {269, 102, 514, 1285, 4369, 0, 0}, {1290, 514, 5440, 0, 0, 0, 0}, {783, 4915, 1024, 0, 0, 0, 0}, {1032, 768, 5188, 0, 0, 0, 0}, {522, 4656, 1285, 0, 0, 0, 0}, {266, 102, 768, 1024, 4352, 0, 0}, {4272, 1799, 16448, 0, 0, 0, 0}, {1800, 4160, 0, 0, 0, 0, 0}, {4403, 261, 0, 0, 0, 0, 0}, {1290, 4192, 1792, 21760, 0, 0, 0}, {1032, 4208, 1799, 17476, 0, 0, 0}, {204, 768, 1024, 4096, 0, 0, 0}, {170, 514, 1285, 4112, 0, 0, 0}, {258, 4420, 0, 0, 0, 0, 0}, {1807, 4144, 0, 0, 0, 0, 0}, {6224, 1904, 20560, 0, 0, 0, 0}, {285, 1331, 1809, 1365, 4369, 0, 0}, {4186, 546, 5376, 0, 0, 0, 0}, {4140, 4883, 1088, 0, 0, 0, 0}, {4188, 816, 5140, 0, 0, 0, 0}, {4138, 4608, 1365, 0, 0, 0, 0}, {282, 1062, 1814, 1088, 4352, 0, 0}, {8031, 1911, 16384, 0, 0, 0, 0}, {5928, 4176, 0, 0, 0, 0, 0}, {4403, 277, 0, 0, 0, 0, 0}, {1370, 4208, 5888, 21760, 0, 0, 0}, {1096, 4192, 5911, 17476, 0, 0, 0}, {3084, 816, 1088, 4112, 0, 0, 0}, {2560, 546, 1365, 4096, 0, 0, 0}, {274, 4420, 0, 0, 0, 0, 0}, {5983, 4128, 0, 0, 0, 0, 0}, {3840, 5984, 16448, 0, 0, 0, 0}, {1295, 1058, 1536, 1092, 4369, 0, 0}, {4680, 546, 1280, 0, 0, 0, 0}, {4124, 4883, 5200, 0, 0, 0, 0}, {5160, 768, 1092, 0, 0, 0, 0}, {4122, 4656, 5397, 0, 0, 0, 0}, {332, 102, 768, 1280, 4352, 0, 0}, {4240, 5911, 20560, 0, 0, 0, 0}, {3840, 4192, 18248, 0, 0, 0, 0}, {1295, 293, 1536, 323, 4118, 0, 0}, {554, 8704, 4160, 1280, 0, 0, 0}, {783, 13107, 4176, 5140, 0, 0, 0}, {1100, 4128, 768, 17408, 0, 0, 0}, {1295, 4144, 4626, 21845, 0, 0, 0}, {290, 768, 324, 1280, 4096, 0, 0}, {1935, 3855, 4112, 0, 0, 0, 0}, {4336, 5888, 16384, 0, 0, 0, 0}, {347, 102, 514, 1028, 4369, 0, 0}, {5418, 514, 1360, 0, 0, 0, 0}, {4108, 4915, 5120, 0, 0, 0, 0}, {4940, 816, 1028, 0, 0, 0, 0}, {4106, 4608, 5461, 0, 0, 0, 0}, {1036, 1334, 1542, 1360, 4352, 0, 0}, {2056, 6007, 20480, 0, 0, 0, 0}, {2056, 4208, 22280, 0, 0, 0, 0}, {1036, 309, 1542, 339, 4102, 0, 0}, {522, 8704, 4176, 5376, 0, 0, 0}, {831, 13107, 4160, 1028, 0, 0, 0}, {1036, 4144, 4864, 17408, 0, 0, 0}, {1375, 4128, 514, 21845, 0, 0, 0}, {306, 514, 340, 1028, 4112, 0, 0}, {2047, 2048, 4096, 0, 0, 0, 0}, {2048, 8192, 16384, 0, 0, 0, 0}, {15, 51, 85, 257, 0, 0, 0}, {170, 514, 16426, 0, 0, 0, 0}, {15, 51, 771, 1027, 4099, 0, 0}, {204, 8268, 1028, 0, 0, 0, 0}, {15, 517, 85, 1285, 4101, 0, 0}, {1036, 102, 1542, 17408, 0, 0, 0}, {15, 4208, 1799, 20480, 0, 0, 0}, {16512, 2056, 24576, 0, 0, 0, 0}, {262, 85, 1285, 4352, 0, 0, 0}, {522, 8704, 16384, 0, 0, 0, 0}, {15, 51, 771, 4160, 1028, 0, 0}, {1036, 8192, 17408, 0, 0, 0, 0}, {15, 4128, 514, 85, 1285, 0, 0}, {102, 514, 1028, 0, 0, 0, 0}, {15, 1792, 4096, 0, 0, 0, 0}, {240, 2160, 4112, 0, 0, 0, 0}, {51, 529, 85, 1041, 4369, 0, 0}, {90, 4144, 4626, 20480, 0, 0, 0}, {1100, 51, 4883, 17408, 0, 0, 0}, {60, 12288, 4176, 5140, 0, 0, 0}, {554, 8704, 85, 5397, 0, 0, 0}, {90, 102, 534, 1046, 4118, 0, 0}, {255, 5911, 16447, 0, 0, 0, 0}, {6168, 4192, 20560, 0, 0, 0, 0}, {1049, 51, 1536, 85, 4352, 0, 0}, {4122, 4656, 4160, 0, 0, 0, 0}, {5915, 51, 1092, 0, 0, 0, 0}, {4124, 4128, 5200, 0, 0, 0, 0}, {5917, 546, 85, 0, 0, 0, 0}, {1054, 1058, 1536, 1092, 4096, 0, 0}, {7967, 5984, 16448, 0, 0, 0, 0}, {16512, 18432, 8224, 0, 0, 0, 0}, {274, 85, 1280, 4369, 0, 0, 0}, {2560, 546, 16384, 0, 0, 0, 0}, {15, 51, 771, 1088, 4112, 0, 0}, {1096, 9252, 17476, 0, 0, 0, 0}, {15, 4133, 4608, 85, 1280, 0, 0}, {1548, 1062, 1088, 0, 0, 0, 0}, {15, 5927, 4176, 0, 0, 0, 0}, {8352, 10280, 16384, 0, 0, 0, 0}, {51, 771, 277, 4352, 0, 0, 0}, {554, 8704, 16896, 0, 0, 0, 0}, {15, 51, 771, 4179, 5140, 0, 0}, {3084, 8224, 1088, 0, 0, 0, 0}, {15, 546, 85, 1280, 4096, 0, 0}, {1096, 102, 580, 17476, 0, 0, 0}, {15, 4128, 5968, 20560, 0, 0, 0}, {2048, 4144, 20480, 0, 0, 0, 0}, {1032, 51, 514, 85, 4369, 0, 0}, {90, 514, 4112, 0, 0, 0, 0}, {51, 4864, 1024, 0, 0, 0, 0}, {1032, 1076, 5188, 0, 0, 0, 0}, {522, 5941, 85, 0, 0, 0, 0}, {4106, 4150, 4608, 4176, 1024, 0, 0}, {5960, 14135, 16448, 0, 0, 0, 0}, {2056, 12336, 4160, 0, 0, 0, 0}, {522, 51, 85, 1024, 4352, 0, 0}, {90, 4192, 592, 20560, 0, 0, 0}, {1032, 51, 5956, 17476, 0, 0, 0}, {60, 1024, 4096, 0, 0, 0, 0}, {514, 85, 5397, 0, 0, 0, 0}, {4124, 4128, 514, 4166, 5140, 0, 0}, {5951, 8192, 22272, 0, 0, 0, 0}, {8320, 10240, 16448, 0, 0, 0, 0}, {51, 768, 276, 4369, 0, 0, 0}, {552, 8738, 16962, 0, 0, 0, 0}, {15, 51, 768, 4163, 5120, 0, 0}, {3072, 8192, 1092, 0, 0, 0, 0}, {15, 544, 85, 1285, 4112, 0, 0}, {1100, 102, 582, 17408, 0, 0, 0}, {15, 4144, 5959, 20480, 0, 0, 0}, {16576, 18504, 8192, 0, 0, 0, 0}, {275, 85, 1285, 4352, 0, 0, 0}, {2570, 544, 16448, 0, 0, 0, 0}, {15, 51, 768, 1092, 4096, 0, 0}, {1100, 9216, 17408, 0, 0, 0, 0}, {15, 4149, 4626, 85, 1285, 0, 0}, {1546, 1058, 1092, 0, 0, 0, 0}, {15, 5936, 4160, 0, 0, 0, 0}, {2048, 12288, 4176, 0, 0, 0, 0}, {520, 51, 85, 1028, 4369, 0, 0}, {90, 4208, 594, 20480, 0, 0, 0}, {1036, 51, 5971, 17408, 0, 0, 0}, {60, 1028, 4112, 0, 0, 0, 0}, {512, 85, 5376, 0, 0, 0, 0}, {4108, 4144, 512, 4182, 5120, 0, 0}, {5928, 8224, 22359, 0, 0, 0, 0}, {2056, 4128, 20560, 0, 0, 0, 0}, {1036, 51, 512, 85, 4352, 0, 0}, {90, 512, 4096, 0, 0, 0, 0}, {51, 4883, 1028, 0, 0, 0, 0}, {1036, 1072, 5200, 0, 0, 0, 0}, {520, 5922, 85, 0, 0, 0, 0}, {4122, 4134, 4626, 4160, 1028, 0, 0}, {5983, 14080, 16384, 0, 0, 0, 0}, {16576, 2048, 24672, 0, 0, 0, 0}, {263, 85, 1280, 4369, 0, 0, 0}, {520, 8738, 16448, 0, 0, 0, 0}, {15, 51, 768, 4176, 1024, 0, 0}, {1032, 8224, 17476, 0, 0, 0, 0}, {15, 4144, 512, 85, 1280, 0, 0}, {102, 512, 1024, 0, 0, 0, 0}, {15, 1799, 4112, 0, 0, 0, 0}, {2056, 8224, 16448, 0, 0, 0, 0}, {15, 51, 85, 256, 0, 0, 0}, {170, 512, 16490, 0, 0, 0, 0}, {15, 51, 768, 1031, 4115, 0, 0}, {204, 8300, 1024, 0, 0, 0, 0}, {15, 519, 85, 1280, 4117, 0, 0}, {1032, 102, 1536, 17476, 0, 0, 0}, {15, 4192, 1792, 20560, 0, 0, 0}, {6144, 4208, 20480, 0, 0, 0, 0}, {1053, 51, 1542, 85, 4369, 0, 0}, {4106, 4642, 4176, 0, 0, 0, 0}, {5900, 51, 1088, 0, 0, 0, 0}, {4108, 4144, 5188, 0, 0, 0, 0}, {5898, 544, 85, 0, 0, 0, 0}, {1050, 1062, 1542, 1088, 4112, 0, 0}, {7936, 6007, 16384, 0, 0, 0, 0}, {240, 2168, 4096, 0, 0, 0, 0}, {51, 531, 85, 1045, 4352, 0, 0}, {90, 4128, 4608, 20560, 0, 0, 0}, {1096, 51, 4864, 17476, 0, 0, 0}, {60, 12336, 4160, 5120, 0, 0, 0}, {552, 8738, 85, 5376, 0, 0, 0}, {90, 102, 532, 1042, 4102, 0, 0}, {255, 5888, 16511, 0, 0, 0, 0}, {16512, 18432, 24576, 0, 0, 0, 0}, {279, 85, 1285, 4369, 0, 0, 0}, {552, 8738, 16384, 0, 0, 0, 0}, {15, 51, 771, 4160, 5120, 0, 0}, {1096, 8192, 17476, 0, 0, 0, 0}, {15, 4128, 4608, 85, 1285, 0, 0}, {1062, 1542, 1088, 0, 0, 0, 0}, {15, 1911, 4096, 0, 0, 0, 0}, {2184, 8192, 16384, 0, 0, 0, 0}, {15, 771, 1285, 272, 0, 0, 0}, {2570, 544, 16906, 0, 0, 0, 0}, {15, 51, 771, 1095, 4099, 0, 0}, {3084, 9228, 1088, 0, 0, 0, 0}, {15, 551, 85, 1285, 4101, 0, 0}, {1096, 102, 1542, 17476, 0, 0, 0}, {15, 4208, 5888, 20480, 0, 0, 0}, {2048, 4192, 20560, 0, 0, 0, 0}, {1032, 51, 1536, 85, 4369, 0, 0}, {4122, 4626, 4160, 0, 0, 0, 0}, {4959, 51, 1024, 0, 0, 0, 0}, {4124, 4128, 5140, 0, 0, 0, 0}, {5439, 512, 85, 0, 0, 0, 0}, {90, 102, 512, 1024, 4096, 0, 0}, {255, 5911, 16448, 0, 0, 0, 0}, {240, 2056, 4112, 0, 0, 0, 0}, {51, 512, 85, 1024, 4352, 0, 0}, {90, 4144, 512, 20480, 0, 0, 0}, {1032, 51, 4883, 17476, 0, 0, 0}, {60, 12288, 4176, 1024, 0, 0, 0}, {520, 8738, 85, 5397, 0, 0, 0}, {1032, 1076, 1536, 1106, 4118, 0, 0}, {2048, 5984, 22367, 0, 0, 0, 0}, {8352, 2048, 16384, 0, 0, 0, 0}, {51, 771, 260, 4369, 0, 0, 0}, {520, 8738, 16930, 0, 0, 0, 0}, {15, 51, 771, 4179, 1027, 0, 0}, {204, 8224, 1028, 0, 0, 0, 0}, {15, 512, 85, 1280, 4096, 0, 0}, {1036, 102, 512, 17408, 0, 0, 0}, {15, 4128, 1799, 20560, 0, 0, 0}, {16512, 2056, 8224, 0, 0, 0, 0}, {259, 85, 1280, 4352, 0, 0, 0}, {170, 512, 16384, 0, 0, 0, 0}, {15, 51, 771, 1028, 4112, 0, 0}, {1036, 9312, 17408, 0, 0, 0, 0}, {15, 4133, 519, 85, 1280, 0, 0}, {520, 102, 1028, 0, 0, 0, 0}, {15, 1792, 4176, 0, 0, 0, 0}, {6192, 12336, 4160, 0, 0, 0, 0}, {539, 51, 85, 1041, 4369, 0, 0}, {90, 4192, 4626, 20560, 0, 0, 0}, {1100, 51, 5888, 17408, 0, 0, 0}, {60, 1092, 4096, 0, 0, 0, 0}, {544, 85, 5397, 0, 0, 0, 0}, {4124, 4128, 4608, 4166, 1046, 0, 0}, {5960, 8192, 22391, 0, 0, 0, 0}, {6216, 4144, 20480, 0, 0, 0, 0}, {1049, 51, 531, 85, 4352, 0, 0}, {90, 544, 4112, 0, 0, 0, 0}, {51, 4864, 1092, 0, 0, 0, 0}, {4172, 4208, 5120, 0, 0, 0, 0}, {5439, 5911, 85, 0, 0, 0, 0}, {4106, 4150, 532, 4176, 5140, 0, 0}, {5951, 14144, 16448, 0, 0, 0, 0}, {16576, 2048, 8192, 0, 0, 0, 0}, {258, 85, 1285, 4369, 0, 0, 0}, {170, 514, 16448, 0, 0, 0, 0}, {15, 51, 768, 1024, 4096, 0, 0}, {1032, 9284, 17476, 0, 0, 0, 0}, {15, 4149, 517, 85, 1285, 0, 0}, {522, 102, 1024, 0, 0, 0, 0}, {15, 1799, 4160, 0, 0, 0, 0}, {8320, 2056, 16448, 0, 0, 0, 0}, {51, 768, 261, 4352, 0, 0, 0}, {522, 8704, 16992, 0, 0, 0, 0}, {15, 51, 768, 4163, 1031, 0, 0}, {204, 8192, 1024, 0, 0, 0, 0}, {15, 514, 85, 1285, 4112, 0, 0}, {1032, 102, 514, 17476, 0, 0, 0}, {15, 4144, 1792, 20480, 0, 0, 0}, {6224, 4128, 20560, 0, 0, 0, 0}, {1053, 51, 529, 85, 4369, 0, 0}, {90, 546, 4096, 0, 0, 0, 0}, {51, 4883, 1088, 0, 0, 0, 0}, {4188, 4192, 5140, 0, 0, 0, 0}, {5418, 5888, 85, 0, 0, 0, 0}, {4122, 4134, 534, 4160, 5120, 0, 0}, {5928, 14199, 16384, 0, 0, 0, 0}, {6184, 12288, 4176, 0, 0, 0, 0}, {537, 51, 85, 1045, 4352, 0, 0}, {90, 4208, 4608, 20480, 0, 0, 0}, {1096, 51, 5911, 17476, 0, 0, 0}, {60, 1088, 4112, 0, 0, 0, 0}, {546, 85, 5376, 0, 0, 0, 0}, {4108, 4144, 4626, 4182, 1042, 0, 0}, {5983, 8224, 22304, 0, 0, 0, 0}, {2176, 8224, 16448, 0, 0, 0, 0}, {15, 768, 1280, 273, 0, 0, 0}, {2560, 546, 16968, 0, 0, 0, 0}, {15, 51, 768, 1091, 4115, 0, 0}, {3072, 9256, 1092, 0, 0, 0, 0}, {15, 549, 85, 1280, 4117, 0, 0}, {1100, 102, 1536, 17408, 0, 0, 0}, {15, 4192, 5911, 20560, 0, 0, 0}, {16576, 18504, 24672, 0, 0, 0, 0}, {278, 85, 1280, 4352, 0, 0, 0}, {554, 8704, 16448, 0, 0, 0, 0}, {15, 51, 768, 4176, 5140, 0, 0}, {1100, 8224, 17408, 0, 0, 0, 0}, {15, 4144, 4626, 85, 1280, 0, 0}, {1058, 1536, 1092, 0, 0, 0, 0}, {15, 1904, 4112, 0, 0, 0, 0}, {240, 2048, 4096, 0, 0, 0, 0}, {51, 514, 85, 1028, 4369, 0, 0}, {90, 4128, 514, 20560, 0, 0, 0}, {1036, 51, 4864, 17408, 0, 0, 0}, {60, 12336, 4160, 1028, 0, 0, 0}, {522, 8704, 85, 5376, 0, 0, 0}, {1036, 1072, 1542, 1110, 4102, 0, 0}, {2056, 6007, 22280, 0, 0, 0, 0}, {2056, 4208, 20480, 0, 0, 0, 0}, {1036, 51, 1542, 85, 4352, 0, 0}, {4106, 4608, 4176, 0, 0, 0, 0}, {4940, 51, 1028, 0, 0, 0, 0}, {4108, 4144, 5120, 0, 0, 0, 0}, {5418, 514, 85, 0, 0, 0, 0}, {90, 102, 514, 1028, 4112, 0, 0}, {255, 5888, 16384, 0, 0, 0, 0}, {3840, 13056, 21760, 0, 0, 0, 0}, {8, 32, 64, 257, 0, 0, 0}, {8, 32, 514, 1282, 4354, 0, 0}, {192, 771, 21823, 0, 0, 0, 0}, {8, 772, 64, 1028, 4356, 0, 0}, {160, 13151, 1285, 0, 0, 0, 0}, {1290, 96, 1542, 20480, 0, 0, 0}, {8, 4471, 1799, 17408, 0, 0, 0}, {8, 1792, 4352, 0, 0, 0, 0}, {96, 771, 1285, 0, 0, 0, 0}, {1290, 13056, 20480, 0, 0, 0, 0}, {8, 4403, 771, 64, 1028, 0, 0}, {780, 12288, 21760, 0, 0, 0, 0}, {8, 32, 514, 4437, 1285, 0, 0}, {262, 64, 1028, 4096, 0, 0, 0}, {22015, 3855, 26112, 0, 0, 0, 0}, {32, 784, 64, 1296, 4112, 0, 0}, {136, 3959, 4369, 0, 0, 0, 0}, {72, 4386, 4626, 17408, 0, 0, 0}, {1375, 32, 4883, 20480, 0, 0, 0}, {40, 8704, 4420, 5140, 0, 0, 0}, {831, 12288, 64, 5397, 0, 0, 0}, {128, 5654, 21802, 0, 0, 0, 0}, {72, 96, 791, 1303, 4375, 0, 0}, {1304, 1328, 1536, 1360, 4352, 0, 0}, {6425, 5734, 21845, 0, 0, 0, 0}, {5658, 816, 64, 0, 0, 0, 0}, {4379, 4403, 5188, 0, 0, 0, 0}, {5660, 32, 1360, 0, 0, 0, 0}, {4381, 4642, 4437, 0, 0, 0, 0}, {7710, 4454, 17476, 0, 0, 0, 0}, {1311, 32, 1536, 64, 4096, 0, 0}, {32, 4864, 1280, 0, 0, 0, 0}, {72, 771, 4369, 0, 0, 0, 0}, {3840, 4386, 17408, 0, 0, 0, 0}, {1295, 32, 771, 64, 4112, 0, 0}, {4364, 4388, 4608, 4420, 1280, 0, 0}, {5722, 9509, 21845, 0, 0, 0, 0}, {780, 5670, 64, 0, 0, 0, 0}, {1295, 1319, 5200, 0, 0, 0, 0}, {40, 1280, 4352, 0, 0, 0, 0}, {771, 64, 5397, 0, 0, 0, 0}, {5674, 13056, 17152, 0, 0, 0, 0}, {4379, 4403, 771, 4435, 5140, 0, 0}, {780, 32, 64, 1280, 4096, 0, 0}, {3855, 8738, 4437, 0, 0, 0, 0}, {72, 4454, 836, 17476, 0, 0, 0}, {1295, 32, 5712, 20560, 0, 0, 0}, {3072, 816, 21760, 0, 0, 0, 0}, {8, 32, 514, 1365, 4369, 0, 0}, {274, 64, 1024, 4112, 0, 0, 0}, {22015, 23040, 13107, 0, 0, 0, 0}, {8, 5684, 4420, 0, 0, 0, 0}, {1546, 1333, 1365, 0, 0, 0, 0}, {1370, 13878, 20560, 0, 0, 0, 0}, {8, 4407, 4608, 64, 1024, 0, 0}, {8, 816, 64, 1024, 4352, 0, 0}, {2570, 13107, 1365, 0, 0, 0, 0}, {1370, 96, 848, 20560, 0, 0, 0}, {8, 4403, 5700, 17476, 0, 0, 0}, {13260, 15420, 21760, 0, 0, 0, 0}, {32, 514, 277, 4096, 0, 0, 0}, {8, 32, 514, 4422, 5140, 0, 0}, {831, 12288, 22016, 0, 0, 0, 0}, {768, 64, 5376, 0, 0, 0, 0}, {40, 1285, 4369, 0, 0, 0, 0}, {4362, 4386, 768, 4418, 5120, 0, 0}, {5692, 13107, 17219, 0, 0, 0, 0}, {3840, 8704, 4420, 0, 0, 0, 0}, {783, 32, 64, 1285, 4112, 0, 0}, {1290, 32, 5702, 20480, 0, 0, 0}, {72, 4471, 839, 17408, 0, 0, 0}, {72, 768, 4352, 0, 0, 0, 0}, {32, 4883, 1285, 0, 0, 0, 0}, {1290, 32, 768, 64, 4096, 0, 0}, {3855, 4403, 17476, 0, 0, 0, 0}, {5708, 9472, 21760, 0, 0, 0, 0}, {4381, 4405, 4626, 4437, 1285, 0, 0}, {1290, 1314, 5188, 0, 0, 0, 0}, {783, 5680, 64, 0, 0, 0, 0}, {2560, 13056, 1360, 0, 0, 0, 0}, {8, 819, 64, 1028, 4369, 0, 0}, {8, 4386, 5714, 17408, 0, 0, 0}, {1375, 96, 851, 20480, 0, 0, 0}, {32, 512, 276, 4112, 0, 0, 0}, {13311, 15360, 21845, 0, 0, 0, 0}, {828, 12336, 22102, 0, 0, 0, 0}, {8, 32, 512, 4439, 5120, 0, 0}, {8, 32, 512, 1360, 4352, 0, 0}, {3084, 819, 21845, 0, 0, 0, 0}, {21930, 23130, 13056, 0, 0, 0, 0}, {275, 64, 1028, 4096, 0, 0, 0}, {1548, 1328, 1360, 0, 0, 0, 0}, {8, 5666, 4437, 0, 0, 0, 0}, {8, 4390, 4626, 64, 1028, 0, 0}, {1375, 13824, 20480, 0, 0, 0, 0}, {96, 768, 1280, 0, 0, 0, 0}, {8, 1799, 4369, 0, 0, 0, 0}, {8, 4386, 768, 64, 1024, 0, 0}, {1295, 13107, 20560, 0, 0, 0, 0}, {8, 32, 512, 4420, 1280, 0, 0}, {783, 12336, 21845, 0, 0, 0, 0}, {21930, 3840, 26214, 0, 0, 0, 0}, {263, 64, 1024, 4112, 0, 0, 0}, {8, 32, 64, 256, 0, 0, 0}, {3855, 13107, 21845, 0, 0, 0, 0}, {192, 768, 21866, 0, 0, 0, 0}, {8, 32, 512, 1287, 4371, 0, 0}, {160, 13164, 1280, 0, 0, 0, 0}, {8, 775, 64, 1024, 4373, 0, 0}, {8, 4454, 1792, 17476, 0, 0, 0}, {1295, 96, 1536, 20560, 0, 0, 0}, {6400, 5744, 21760, 0, 0, 0, 0}, {1309, 1333, 1542, 1365, 4369, 0, 0}, {4362, 4386, 5200, 0, 0, 0, 0}, {5644, 819, 64, 0, 0, 0, 0}, {4364, 4656, 4420, 0, 0, 0, 0}, {5642, 32, 1365, 0, 0, 0, 0}, {1306, 32, 1542, 64, 4112, 0, 0}, {7680, 4471, 17408, 0, 0, 0, 0}, {136, 3960, 4352, 0, 0, 0, 0}, {32, 787, 64, 1301, 4096, 0, 0}, {1370, 32, 4864, 20560, 0, 0, 0}, {72, 4403, 4608, 17476, 0, 0, 0}, {828, 12336, 64, 5376, 0, 0, 0}, {40, 8738, 4437, 5120, 0, 0, 0}, {72, 96, 788, 1298, 4358, 0, 0}, {128, 5632, 21887, 0, 0, 0, 0}, {128, 5632, 21760, 0, 0, 0, 0}, {72, 96, 771, 1285, 4369, 0, 0}, {4362, 4386, 5120, 0, 0, 0, 0}, {5439, 771, 64, 0, 0, 0, 0}, {4364, 4608, 4420, 0, 0, 0, 0}, {4959, 32, 1285, 0, 0, 0, 0}, {1290, 32, 1542, 64, 4096, 0, 0}, {3855, 4471, 17408, 0, 0, 0, 0}, {136, 3840, 4352, 0, 0, 0, 0}, {32, 771, 64, 1285, 4112, 0, 0}, {1290, 32, 4864, 20480, 0, 0, 0}, {72, 4403, 771, 17476, 0, 0, 0}, {780, 12288, 64, 5376, 0, 0, 0}, {40, 8738, 4437, 1285, 0, 0, 0}, {1290, 1314, 1542, 1346, 4358, 0, 0}, {3855, 5744, 17167, 0, 0, 0, 0}, {1328, 1536, 1360, 0, 0, 0, 0}, {8, 1911, 4369, 0, 0, 0, 0}, {8, 4386, 4626, 64, 1024, 0, 0}, {1375, 13107, 20480, 0, 0, 0, 0}, {8, 32, 512, 4420, 5140, 0, 0}, {831, 12288, 21845, 0, 0, 0, 0}, {21930, 23130, 26214, 0, 0, 0, 0}, {279, 64, 1024, 4096, 0, 0, 0}, {8, 512, 1024, 272, 0, 0, 0}, {4095, 13107, 21845, 0, 0, 0, 0}, {3072, 816, 22106, 0, 0, 0, 0}, {8, 32, 512, 1367, 4371, 0, 0}, {2560, 13884, 1360, 0, 0, 0, 0}, {8, 823, 64, 1024, 4373, 0, 0}, {8, 4454, 5654, 17476, 0, 0, 0}, {1375, 96, 1536, 20480, 0, 0, 0}, {160, 13056, 1280, 0, 0, 0, 0}, {8, 771, 64, 1028, 4369, 0, 0}, {8, 4386, 1792, 17408, 0, 0, 0}, {1295, 96, 771, 20560, 0, 0, 0}, {32, 512, 260, 4096, 0, 0, 0}, {13311, 3855, 21845, 0, 0, 0, 0}, {780, 12288, 22118, 0, 0, 0, 0}, {8, 32, 512, 4439, 1287, 0, 0}, {8, 32, 512, 1280, 4352, 0, 0}, {192, 771, 21845, 0, 0, 0, 0}, {21930, 3840, 13056, 0, 0, 0, 0}, {259, 64, 1028, 4112, 0, 0, 0}, {780, 96, 1280, 0, 0, 0, 0}, {8, 1799, 4437, 0, 0, 0, 0}, {8, 4390, 772, 64, 1028, 0, 0}, {1295, 13904, 20560, 0, 0, 0, 0}, {816, 64, 5376, 0, 0, 0, 0}, {40, 1365, 4369, 0, 0, 0, 0}, {4362, 4386, 4626, 4418, 1298, 0, 0}, {5708, 13107, 17203, 0, 0, 0, 0}, {7740, 8704, 4420, 0, 0, 0, 0}, {799, 32, 64, 1301, 4096, 0, 0}, {1370, 32, 5654, 20560, 0, 0, 0}, {72, 4471, 4608, 17408, 0, 0, 0}, {72, 816, 4352, 0, 0, 0, 0}, {32, 4883, 1365, 0, 0, 0, 0}, {1306, 32, 784, 64, 4112, 0, 0}, {7748, 4403, 17476, 0, 0, 0, 0}, {5692, 9584, 21760, 0, 0, 0, 0}, {4381, 4405, 791, 4437, 5120, 0, 0}, {4430, 4454, 5140, 0, 0, 0, 0}, {5439, 5632, 64, 0, 0, 0, 0}, {192, 768, 21760, 0, 0, 0, 0}, {8, 32, 514, 1285, 4369, 0, 0}, {258, 64, 1024, 4096, 0, 0, 0}, {22015, 3855, 13107, 0, 0, 0, 0}, {8, 1792, 4420, 0, 0, 0, 0}, {783, 96, 1285, 0, 0, 0, 0}, {1290, 13926, 20480, 0, 0, 0, 0}, {8, 4407, 775, 64, 1024, 0, 0}, {8, 768, 64, 1024, 4352, 0, 0}, {160, 13107, 1285, 0, 0, 0, 0}, {1290, 96, 768, 20480, 0, 0, 0}, {8, 4403, 1799, 17476, 0, 0, 0}, {13260, 3840, 21760, 0, 0, 0, 0}, {32, 514, 261, 4112, 0, 0, 0}, {8, 32, 514, 4422, 1282, 0, 0}, {783, 12336, 22064, 0, 0, 0, 0}, {32, 4864, 1360, 0, 0, 0, 0}, {72, 819, 4369, 0, 0, 0, 0}, {7770, 4386, 17408, 0, 0, 0, 0}, {1311, 32, 787, 64, 4096, 0, 0}, {4364, 4388, 788, 4420, 5140, 0, 0}, {5674, 9557, 21845, 0, 0, 0, 0}, {5418, 5654, 64, 0, 0, 0, 0}, {4447, 4471, 5120, 0, 0, 0, 0}, {40, 1360, 4352, 0, 0, 0, 0}, {819, 64, 5397, 0, 0, 0, 0}, {5722, 13056, 17264, 0, 0, 0, 0}, {4379, 4403, 4608, 4435, 1303, 0, 0}, {796, 32, 64, 1296, 4112, 0, 0}, {7714, 8738, 4437, 0, 0, 0, 0}, {72, 4454, 4626, 17476, 0, 0, 0}, {1375, 32, 5632, 20480, 0, 0, 0}, {32, 768, 64, 1280, 4096, 0, 0}, {136, 3855, 4369, 0, 0, 0, 0}, {72, 4386, 768, 17408, 0, 0, 0}, {1295, 32, 4883, 20560, 0, 0, 0}, {40, 8704, 4420, 1280, 0, 0, 0}, {783, 12336, 64, 5397, 0, 0, 0}, {3840, 5734, 17228, 0, 0, 0, 0}, {1295, 1319, 1536, 1351, 4375, 0, 0}, {72, 96, 768, 1280, 4352, 0, 0}, {128, 5654, 21845, 0, 0, 0, 0}, {5418, 768, 64, 0, 0, 0, 0}, {4379, 4403, 5140, 0, 0, 0, 0}, {4940, 32, 1280, 0, 0, 0, 0}, {4381, 4626, 4437, 0, 0, 0, 0}, {3840, 4454, 17476, 0, 0, 0, 0}, {1295, 32, 1536, 64, 4112, 0, 0}, {4080, 13056, 21760, 0, 0, 0, 0}, {8, 514, 1028, 273, 0, 0, 0}, {8, 32, 514, 1362, 4354, 0, 0}, {3084, 819, 22028, 0, 0, 0, 0}, {8, 820, 64, 1028, 4356, 0, 0}, {2570, 13834, 1365, 0, 0, 0, 0}, {1370, 96, 1542, 20560, 0, 0, 0}, {8, 4471, 5632, 17408, 0, 0, 0}, {8, 1904, 4352, 0, 0, 0, 0}, {1333, 1542, 1365, 0, 0, 0, 0}, {1370, 13056, 20560, 0, 0, 0, 0}, {8, 4403, 4608, 64, 1028, 0, 0}, {828, 12336, 21760, 0, 0, 0, 0}, {8, 32, 514, 4437, 5120, 0, 0}, {278, 64, 1028, 4112, 0, 0, 0}, {22015, 23040, 26112, 0, 0, 0, 0}, {27136, 0, 0, 0, 0, 0, 0}, {19, 20, 257, 0, 0, 0, 0}, {8, 32, 514, 16384, 0, 0, 0}, {15, 51, 771, 21760, 0, 0, 0}, {8, 8704, 68, 1028, 0, 0, 0}, {15, 12288, 80, 1285, 0, 0, 0}, {108, 1542, 0, 0, 0, 0, 0}, {7, 5376, 0, 0, 0, 0, 0}, {8, 8704, 16384, 0, 0, 0, 0}, {15, 51, 771, 80, 1285, 0, 0}, {160, 2570, 24576, 0, 0, 0, 0}, {7, 68, 1028, 4352, 0, 0, 0}, {204, 3084, 26112, 0, 0, 0, 0}, {7, 80, 1285, 4096, 0, 0, 0}, {8, 32, 514, 68, 1028, 0, 0}, {15, 12288, 21760, 0, 0, 0, 0}, {2560, 32, 80, 4112, 0, 0, 0}, {3072, 51, 68, 4369, 0, 0, 0}, {120, 4626, 0, 0, 0, 0, 0}, {19, 5376, 0, 0, 0, 0, 0}, {4608, 20, 0, 0, 0, 0, 0}, {127, 5397, 0, 0, 0, 0, 0}, {76, 112, 5654, 16384, 0, 0, 0}, {95, 119, 5911, 21760, 0, 0, 0}, {4632, 4656, 80, 0, 0, 0, 0}, {5401, 51, 5461, 0, 0, 0, 0}, {6682, 112, 16448, 0, 0, 0, 0}, {27, 51, 1536, 68, 4352, 0, 0}, {28, 32, 1536, 80, 4096, 0, 0}, {7453, 119, 21845, 0, 0, 0, 0}, {4638, 4642, 68, 0, 0, 0, 0}, {5407, 32, 5440, 0, 0, 0, 0}, {2560, 32, 16384, 0, 0, 0, 0}, {15, 51, 771, 68, 4369, 0, 0}, {136, 18432, 8738, 0, 0, 0, 0}, {19, 80, 1280, 4112, 0, 0, 0}, {1548, 1572, 68, 0, 0, 0, 0}, {15, 5413, 5461, 0, 0, 0, 0}, {76, 9766, 16448, 0, 0, 0, 0}, {15, 39, 4608, 80, 1280, 0, 0}, {40, 8704, 16896, 0, 0, 0, 0}, {15, 51, 771, 67, 5397, 0, 0}, {128, 10794, 16384, 0, 0, 0, 0}, {51, 771, 20, 4352, 0, 0, 0}, {76, 32, 1600, 16448, 0, 0, 0}, {15, 119, 4693, 21845, 0, 0, 0}, {3084, 8738, 68, 0, 0, 0, 0}, {15, 32, 80, 1280, 4096, 0, 0}, {240, 23040, 12336, 0, 0, 0, 0}, {19, 68, 1024, 4369, 0, 0, 0}, {8, 32, 514, 80, 4112, 0, 0}, {3072, 51, 21760, 0, 0, 0, 0}, {8, 52, 4608, 68, 1024, 0, 0}, {95, 13621, 21845, 0, 0, 0, 0}, {1546, 1590, 80, 0, 0, 0, 0}, {8, 5431, 5440, 0, 0, 0, 0}, {8, 112, 4672, 16448, 0, 0, 0}, {95, 51, 1621, 21845, 0, 0, 0}, {2570, 12336, 80, 0, 0, 0, 0}, {8, 51, 68, 1024, 4352, 0, 0}, {60, 12288, 22016, 0, 0, 0, 0}, {8, 32, 514, 87, 5397, 0, 0}, {32, 514, 20, 4096, 0, 0, 0}, {255, 16191, 21760, 0, 0, 0, 0}, {128, 10752, 16448, 0, 0, 0, 0}, {51, 768, 20, 4369, 0, 0, 0}, {40, 8738, 16962, 0, 0, 0, 0}, {15, 51, 768, 67, 5376, 0, 0}, {3072, 8704, 68, 0, 0, 0, 0}, {15, 32, 80, 1285, 4112, 0, 0}, {76, 32, 1606, 16384, 0, 0, 0}, {15, 119, 4679, 21760, 0, 0, 0}, {136, 18504, 8704, 0, 0, 0, 0}, {19, 80, 1285, 4096, 0, 0, 0}, {2570, 32, 16448, 0, 0, 0, 0}, {15, 51, 768, 68, 4352, 0, 0}, {76, 9728, 16384, 0, 0, 0, 0}, {15, 39, 4626, 80, 1285, 0, 0}, {1546, 1570, 68, 0, 0, 0, 0}, {15, 5424, 5440, 0, 0, 0, 0}, {2560, 12288, 80, 0, 0, 0, 0}, {8, 51, 68, 1028, 4369, 0, 0}, {8, 112, 4690, 16384, 0, 0, 0}, {95, 51, 1619, 21760, 0, 0, 0}, {32, 512, 20, 4112, 0, 0, 0}, {255, 16128, 21845, 0, 0, 0, 0}, {60, 12336, 22102, 0, 0, 0, 0}, {8, 32, 512, 87, 5376, 0, 0}, {8, 32, 512, 80, 4096, 0, 0}, {3084, 51, 21845, 0, 0, 0, 0}, {240, 23130, 12288, 0, 0, 0, 0}, {19, 68, 1028, 4352, 0, 0, 0}, {1548, 1584, 80, 0, 0, 0, 0}, {8, 5410, 5461, 0, 0, 0, 0}, {8, 52, 4626, 68, 1028, 0, 0}, {95, 13568, 21760, 0, 0, 0, 0}, {160, 2560, 24672, 0, 0, 0, 0}, {7, 68, 1024, 4369, 0, 0, 0}, {8, 8738, 16448, 0, 0, 0, 0}, {15, 51, 768, 80, 1280, 0, 0}, {8, 32, 512, 68, 1024, 0, 0}, {15, 12336, 21845, 0, 0, 0, 0}, {204, 3072, 26214, 0, 0, 0, 0}, {7, 80, 1280, 4112, 0, 0, 0}, {8, 32, 512, 16448, 0, 0, 0}, {15, 51, 768, 21845, 0, 0, 0}, {27242, 0, 0, 0, 0, 0, 0}, {19, 20, 256, 0, 0, 0, 0}, {108, 1536, 0, 0, 0, 0, 0}, {7, 5397, 0, 0, 0, 0, 0}, {8, 8738, 68, 1024, 0, 0, 0}, {15, 12336, 80, 1280, 0, 0, 0}, {6656, 112, 16384, 0, 0, 0, 0}, {27, 51, 1542, 68, 4369, 0, 0}, {4618, 4642, 80, 0, 0, 0, 0}, {5388, 51, 5440, 0, 0, 0, 0}, {4620, 4656, 68, 0, 0, 0, 0}, {5386, 32, 5461, 0, 0, 0, 0}, {28, 32, 1542, 80, 4112, 0, 0}, {7424, 119, 21760, 0, 0, 0, 0}, {120, 4608, 0, 0, 0, 0, 0}, {19, 5397, 0, 0, 0, 0, 0}, {2570, 32, 80, 4096, 0, 0, 0}, {3084, 51, 68, 4352, 0, 0, 0}, {76, 112, 5632, 16448, 0, 0, 0}, {95, 119, 5888, 21845, 0, 0, 0}, {4626, 20, 0, 0, 0, 0, 0}, {127, 5376, 0, 0, 0, 0, 0}, {128, 10752, 16384, 0, 0, 0, 0}, {51, 771, 20, 4369, 0, 0, 0}, {40, 8738, 16930, 0, 0, 0, 0}, {15, 51, 771, 67, 5379, 0, 0}, {3084, 8704, 68, 0, 0, 0, 0}, {15, 32, 80, 1285, 4096, 0, 0}, {76, 32, 1542, 16448, 0, 0, 0}, {15, 119, 4608, 21760, 0, 0, 0}, {136, 18432, 8704, 0, 0, 0, 0}, {19, 80, 1285, 4112, 0, 0, 0}, {2570, 32, 16384, 0, 0, 0, 0}, {15, 51, 771, 68, 4352, 0, 0}, {76, 9792, 16448, 0, 0, 0, 0}, {15, 39, 4613, 80, 1285, 0, 0}, {40, 1542, 68, 0, 0, 0, 0}, {15, 112, 5376, 0, 0, 0, 0}, {2560, 12336, 80, 0, 0, 0, 0}, {8, 51, 68, 1024, 4369, 0, 0}, {8, 112, 4626, 16448, 0, 0, 0}, {95, 51, 1536, 21760, 0, 0, 0}, {32, 512, 20, 4096, 0, 0, 0}, {255, 16191, 21845, 0, 0, 0, 0}, {60, 12288, 22118, 0, 0, 0, 0}, {8, 32, 512, 87, 5399, 0, 0}, {8, 32, 512, 80, 4112, 0, 0}, {3072, 51, 21845, 0, 0, 0, 0}, {240, 23130, 12336, 0, 0, 0, 0}, {19, 68, 1024, 4352, 0, 0, 0}, {60, 1536, 80, 0, 0, 0, 0}, {8, 119, 5397, 0, 0, 0, 0}, {8, 52, 4630, 68, 1024, 0, 0}, {95, 13664, 21760, 0, 0, 0, 0}, {160, 2560, 24576, 0, 0, 0, 0}, {7, 68, 1028, 4369, 0, 0, 0}, {8, 8738, 16384, 0, 0, 0, 0}, {15, 51, 771, 80, 1280, 0, 0}, {8, 32, 512, 68, 1028, 0, 0}, {15, 12288, 21845, 0, 0, 0, 0}, {204, 3084, 26214, 0, 0, 0, 0}, {7, 80, 1280, 4096, 0, 0, 0}, {8, 32, 512, 16384, 0, 0, 0}, {15, 51, 771, 21845, 0, 0, 0}, {27306, 0, 0, 0, 0, 0, 0}, {259, 260, 272, 0, 0, 0, 0}, {1548, 1632, 0, 0, 0, 0, 0}, {7, 5461, 0, 0, 0, 0, 0}, {8, 8738, 68, 1028, 0, 0, 0}, {15, 12288, 80, 1280, 0, 0, 0}, {6720, 112, 16448, 0, 0, 0, 0}, {27, 51, 1553, 68, 4369, 0, 0}, {40, 4626, 80, 0, 0, 0, 0}, {76, 51, 5376, 0, 0, 0, 0}, {60, 4608, 68, 0, 0, 0, 0}, {95, 32, 5397, 0, 0, 0, 0}, {28, 32, 1558, 80, 4096, 0, 0}, {7496, 119, 21760, 0, 0, 0, 0}, {4680, 4656, 0, 0, 0, 0, 0}, {19, 5461, 0, 0, 0, 0, 0}, {2570, 32, 80, 4112, 0, 0, 0}, {3072, 51, 68, 4352, 0, 0, 0}, {76, 112, 5632, 16384, 0, 0, 0}, {95, 119, 5911, 21845, 0, 0, 0}, {4642, 20, 0, 0, 0, 0, 0}, {5439, 5440, 0, 0, 0, 0, 0}, {27328, 0, 0, 0, 0, 0, 0}, {258, 261, 273, 0, 0, 0, 0}, {8, 32, 514, 16448, 0, 0, 0}, {15, 51, 768, 21760, 0, 0, 0}, {8, 8704, 68, 1024, 0, 0, 0}, {15, 12336, 80, 1285, 0, 0, 0}, {1546, 1638, 0, 0, 0, 0, 0}, {7, 5440, 0, 0, 0, 0, 0}, {8, 8704, 16448, 0, 0, 0, 0}, {15, 51, 768, 80, 1285, 0, 0}, {160, 2570, 24672, 0, 0, 0, 0}, {7, 68, 1024, 4352, 0, 0, 0}, {204, 3072, 26112, 0, 0, 0, 0}, {7, 80, 1285, 4112, 0, 0, 0}, {8, 32, 514, 68, 1024, 0, 0}, {15, 12336, 21760, 0, 0, 0, 0}, {2560, 32, 80, 4096, 0, 0, 0}, {3084, 51, 68, 4369, 0, 0, 0}, {4698, 4642, 0, 0, 0, 0, 0}, {19, 5440, 0, 0, 0, 0, 0}, {4656, 20, 0, 0, 0, 0, 0}, {5418, 5461, 0, 0, 0, 0, 0}, {76, 112, 5654, 16448, 0, 0, 0}, {95, 119, 5888, 21760, 0, 0, 0}, {40, 4608, 80, 0, 0, 0, 0}, {76, 51, 5397, 0, 0, 0, 0}, {6746, 112, 16384, 0, 0, 0, 0}, {27, 51, 1559, 68, 4352, 0, 0}, {28, 32, 1552, 80, 4112, 0, 0}, {7509, 119, 21845, 0, 0, 0, 0}, {60, 4626, 68, 0, 0, 0, 0}, {95, 32, 5376, 0, 0, 0, 0}, {2560, 32, 16448, 0, 0, 0, 0}, {15, 51, 768, 68, 4369, 0, 0}, {136, 18504, 8738, 0, 0, 0, 0}, {19, 80, 1280, 4096, 0, 0, 0}, {40, 1536, 68, 0, 0, 0, 0}, {15, 112, 5397, 0, 0, 0, 0}, {76, 9830, 16384, 0, 0, 0, 0}, {15, 39, 4631, 80, 1280, 0, 0}, {40, 8704, 16992, 0, 0, 0, 0}, {15, 51, 768, 67, 5398, 0, 0}, {128, 10794, 16448, 0, 0, 0, 0}, {51, 768, 20, 4352, 0, 0, 0}, {76, 32, 1536, 16384, 0, 0, 0}, {15, 119, 4626, 21845, 0, 0, 0}, {3072, 8738, 68, 0, 0, 0, 0}, {15, 32, 80, 1280, 4112, 0, 0}, {240, 23040, 12288, 0, 0, 0, 0}, {19, 68, 1028, 4369, 0, 0, 0}, {8, 32, 514, 80, 4096, 0, 0}, {3084, 51, 21760, 0, 0, 0, 0}, {8, 52, 4612, 68, 1028, 0, 0}, {95, 13653, 21845, 0, 0, 0, 0}, {60, 1542, 80, 0, 0, 0, 0}, {8, 119, 5376, 0, 0, 0, 0}, {8, 112, 4608, 16384, 0, 0, 0}, {95, 51, 1542, 21845, 0, 0, 0}, {2570, 12288, 80, 0, 0, 0, 0}, {8, 51, 68, 1028, 4352, 0, 0}, {60, 12336, 22064, 0, 0, 0, 0}, {8, 32, 514, 87, 5378, 0, 0}, {32, 514, 20, 4112, 0, 0, 0}, {255, 16128, 21760, 0, 0, 0, 0}, {4864, 5120, 0, 0, 0, 0, 0}, {106, 257, 0, 0, 0, 0, 0}, {1290, 4386, 514, 21760, 0, 0, 0}, {1036, 4144, 771, 16384, 0, 0, 0}, {780, 12288, 4160, 1028, 0, 0, 0}, {522, 8704, 4437, 1285, 0, 0, 0}, {262, 5376, 0, 0, 0, 0, 0}, {5240, 1799, 0, 0, 0, 0, 0}, {1800, 13056, 20480, 0, 0, 0, 0}, {265, 4403, 771, 4176, 1285, 0, 0}, {1290, 1792, 4352, 0, 0, 0, 0}, {4208, 771, 1028, 0, 0, 0, 0}, {1036, 1792, 4096, 0, 0, 0, 0}, {4471, 514, 1285, 0, 0, 0, 0}, {270, 4128, 514, 4420, 1028, 0, 0}, {1807, 8192, 17408, 0, 0, 0, 0}, {3072, 816, 1088, 4112, 0, 0, 0}, {2560, 546, 1365, 4369, 0, 0, 0}, {274, 5376, 0, 0, 0, 0, 0}, {5228, 4883, 0, 0, 0, 0, 0}, {4972, 5140, 0, 0, 0, 0, 0}, {4608, 277, 0, 0, 0, 0, 0}, {1370, 4454, 5654, 21760, 0, 0, 0}, {1096, 4192, 5911, 16384, 0, 0, 0}, {5144, 816, 4176, 0, 0, 0, 0}, {4889, 4403, 1365, 0, 0, 0, 0}, {282, 1328, 1536, 1088, 4352, 0, 0}, {6939, 1911, 17476, 0, 0, 0, 0}, {7196, 1904, 20560, 0, 0, 0, 0}, {285, 1058, 1536, 1365, 4096, 0, 0}, {5150, 546, 4420, 0, 0, 0, 0}, {4895, 4128, 1088, 0, 0, 0, 0}, {3840, 4896, 17408, 0, 0, 0, 0}, {1295, 289, 771, 1092, 4369, 0, 0}, {4386, 4864, 1280, 0, 0, 0, 0}, {1100, 771, 4112, 0, 0, 0, 0}, {780, 5156, 1092, 0, 0, 0, 0}, {1295, 1829, 4437, 0, 0, 0, 0}, {4364, 294, 4608, 4160, 1280, 0, 0}, {4959, 10023, 20560, 0, 0, 0, 0}, {5160, 13056, 17152, 0, 0, 0, 0}, {4122, 4403, 771, 323, 5397, 0, 0}, {554, 1280, 4352, 0, 0, 0, 0}, {771, 4176, 5140, 0, 0, 0, 0}, {1100, 4128, 1856, 16448, 0, 0, 0}, {1295, 4471, 4949, 21845, 0, 0, 0}, {780, 546, 324, 1280, 4096, 0, 0}, {3855, 8224, 5200, 0, 0, 0, 0}, {4144, 4864, 1024, 0, 0, 0, 0}, {1375, 514, 4369, 0, 0, 0, 0}, {1032, 306, 514, 1360, 4112, 0, 0}, {2048, 4915, 20480, 0, 0, 0, 0}, {4940, 13364, 17476, 0, 0, 0, 0}, {4106, 309, 4608, 4437, 1024, 0, 0}, {522, 5174, 1360, 0, 0, 0, 0}, {1032, 1847, 4160, 0, 0, 0, 0}, {1032, 4208, 4928, 16448, 0, 0, 0}, {1375, 4403, 1877, 21845, 0, 0, 0}, {522, 816, 336, 1024, 4352, 0, 0}, {2056, 13107, 5188, 0, 0, 0, 0}, {5180, 8192, 22272, 0, 0, 0, 0}, {4381, 4128, 514, 343, 5397, 0, 0}, {514, 4420, 5140, 0, 0, 0, 0}, {831, 1024, 4096, 0, 0, 0, 0}, {768, 4160, 5120, 0, 0, 0, 0}, {552, 1285, 4369, 0, 0, 0, 0}, {4106, 4386, 768, 322, 5376, 0, 0}, {5180, 13107, 17219, 0, 0, 0, 0}, {3840, 8192, 5188, 0, 0, 0, 0}, {783, 544, 325, 1285, 4112, 0, 0}, {1290, 4454, 4934, 21760, 0, 0, 0}, {1096, 4144, 1863, 16384, 0, 0, 0}, {1096, 768, 4096, 0, 0, 0, 0}, {4403, 4883, 1285, 0, 0, 0, 0}, {1290, 288, 768, 1088, 4352, 0, 0}, {3855, 4915, 17476, 0, 0, 0, 0}, {4940, 9984, 20480, 0, 0, 0, 0}, {4381, 295, 4626, 4176, 1285, 0, 0}, {1290, 1826, 4420, 0, 0, 0, 0}, {783, 5168, 1088, 0, 0, 0, 0}, {2048, 13056, 5200, 0, 0, 0, 0}, {520, 819, 337, 1028, 4369, 0, 0}, {1370, 4386, 1874, 21760, 0, 0, 0}, {1036, 4192, 4947, 16384, 0, 0, 0}, {828, 1028, 4112, 0, 0, 0, 0}, {512, 4437, 5120, 0, 0, 0, 0}, {4364, 4144, 512, 342, 5376, 0, 0}, {5160, 8224, 22359, 0, 0, 0, 0}, {2056, 4896, 20560, 0, 0, 0, 0}, {1036, 307, 512, 1365, 4096, 0, 0}, {1370, 512, 4352, 0, 0, 0, 0}, {4128, 4883, 1028, 0, 0, 0, 0}, {1036, 1840, 4176, 0, 0, 0, 0}, {520, 5154, 1365, 0, 0, 0, 0}, {4122, 308, 4626, 4420, 1028, 0, 0}, {4959, 13312, 17408, 0, 0, 0, 0}, {4192, 768, 1024, 0, 0, 0, 0}, {1295, 1799, 4369, 0, 0, 0, 0}, {264, 4386, 768, 4160, 1280, 0, 0}, {1807, 13107, 20560, 0, 0, 0, 0}, {1800, 8224, 17476, 0, 0, 0, 0}, {271, 4144, 512, 4437, 1024, 0, 0}, {4454, 512, 1280, 0, 0, 0, 0}, {1032, 1799, 4112, 0, 0, 0, 0}, {1032, 4128, 768, 16448, 0, 0, 0}, {1295, 4403, 512, 21845, 0, 0, 0}, {106, 256, 0, 0, 0, 0, 0}, {4883, 5140, 0, 0, 0, 0, 0}, {5228, 1792, 0, 0, 0, 0, 0}, {263, 5397, 0, 0, 0, 0, 0}, {520, 8738, 4420, 1280, 0, 0, 0}, {783, 12336, 4176, 1024, 0, 0, 0}, {6912, 1904, 17408, 0, 0, 0, 0}, {283, 1333, 1542, 1092, 4369, 0, 0}, {4874, 4386, 1360, 0, 0, 0, 0}, {5132, 819, 4160, 0, 0, 0, 0}, {4876, 4144, 1092, 0, 0, 0, 0}, {5130, 544, 4437, 0, 0, 0, 0}, {284, 1062, 1542, 1360, 4112, 0, 0}, {7168, 1911, 20480, 0, 0, 0, 0}, {5240, 4864, 0, 0, 0, 0, 0}, {275, 5397, 0, 0, 0, 0, 0}, {2570, 544, 1360, 4352, 0, 0, 0}, {3084, 819, 1092, 4096, 0, 0, 0}, {1100, 4208, 5888, 16448, 0, 0, 0}, {1375, 4471, 5632, 21845, 0, 0, 0}, {4626, 276, 0, 0, 0, 0, 0}, {4991, 5120, 0, 0, 0, 0, 0}, {4992, 13056, 5120, 0, 0, 0, 0}, {299, 771, 321, 1285, 4369, 0, 0}, {1290, 4386, 5632, 21760, 0, 0, 0}, {1100, 4208, 771, 16448, 0, 0, 0}, {780, 1092, 4096, 0, 0, 0, 0}, {544, 4437, 1285, 0, 0, 0, 0}, {4364, 4128, 4608, 326, 5126, 0, 0}, {5240, 8192, 22391, 0, 0, 0, 0}, {5256, 4864, 20480, 0, 0, 0, 0}, {329, 291, 771, 1285, 4112, 0, 0}, {1290, 544, 4352, 0, 0, 0, 0}, {4144, 771, 1092, 0, 0, 0, 0}, {5132, 5888, 4160, 0, 0, 0, 0}, {4959, 4471, 1285, 0, 0, 0, 0}, {4106, 292, 4870, 4420, 5376, 0, 0}, {4991, 13424, 17408, 0, 0, 0, 0}, {816, 4176, 1024, 0, 0, 0, 0}, {520, 1365, 4369, 0, 0, 0, 0}, {4122, 4386, 4626, 338, 5138, 0, 0}, {5228, 13107, 17203, 0, 0, 0, 0}, {5100, 8224, 5140, 0, 0, 0, 0}, {319, 512, 341, 1024, 4096, 0, 0}, {1370, 4454, 512, 21760, 0, 0, 0}, {1032, 4128, 5911, 16448, 0, 0, 0}, {1032, 816, 4112, 0, 0, 0, 0}, {4403, 512, 1365, 0, 0, 0, 0}, {346, 304, 512, 1024, 4352, 0, 0}, {5348, 4883, 17476, 0, 0, 0, 0}, {4972, 10064, 20560, 0, 0, 0, 0}, {4381, 311, 4885, 4160, 5397, 0, 0}, {5150, 5654, 4420, 0, 0, 0, 0}, {4959, 4192, 1024, 0, 0, 0, 0}, {5280, 1792, 17408, 0, 0, 0, 0}, {267, 353, 771, 1028, 4369, 0, 0}, {520, 4386, 1280, 0, 0, 0, 0}, {1036, 771, 4176, 0, 0, 0, 0}, {780, 4128, 1028, 0, 0, 0, 0}, {1295, 512, 4437, 0, 0, 0, 0}, {268, 358, 512, 1280, 4096, 0, 0}, {5336, 1799, 20560, 0, 0, 0, 0}, {1800, 4896, 0, 0, 0, 0, 0}, {259, 5461, 0, 0, 0, 0, 0}, {170, 512, 1280, 4352, 0, 0, 0}, {192, 771, 1028, 4112, 0, 0, 0}, {1036, 4192, 1792, 16384, 0, 0, 0}, {1295, 4471, 1799, 21845, 0, 0, 0}, {4642, 260, 0, 0, 0, 0, 0}, {1807, 5200, 0, 0, 0, 0, 0}, {5168, 5888, 1088, 0, 0, 0, 0}, {1375, 1911, 4369, 0, 0, 0, 0}, {280, 4386, 4626, 4176, 5376, 0, 0}, {1919, 13107, 20480, 0, 0, 0, 0}, {1912, 8192, 17476, 0, 0, 0, 0}, {287, 4128, 4608, 4437, 5397, 0, 0}, {5174, 5654, 1360, 0, 0, 0, 0}, {1096, 1911, 4096, 0, 0, 0, 0}, {1096, 4144, 4864, 16384, 0, 0, 0}, {1375, 4403, 4883, 21845, 0, 0, 0}, {1546, 272, 0, 0, 0, 0, 0}, {4915, 5188, 0, 0, 0, 0, 0}, {4940, 1904, 0, 0, 0, 0, 0}, {279, 5461, 0, 0, 0, 0, 0}, {552, 8738, 4420, 5140, 0, 0, 0}, {831, 12288, 4160, 5120, 0, 0, 0}, {192, 768, 1024, 4096, 0, 0, 0}, {170, 514, 1285, 4369, 0, 0, 0}, {258, 5440, 0, 0, 0, 0, 0}, {1807, 4915, 0, 0, 0, 0, 0}, {1800, 5188, 0, 0, 0, 0, 0}, {4656, 261, 0, 0, 0, 0, 0}, {1290, 4454, 1792, 21760, 0, 0, 0}, {1032, 4208, 1799, 16448, 0, 0, 0}, {1032, 768, 4160, 0, 0, 0, 0}, {522, 4403, 1285, 0, 0, 0, 0}, {266, 352, 768, 1024, 4352, 0, 0}, {5300, 1799, 17476, 0, 0, 0, 0}, {5324, 1792, 20480, 0, 0, 0, 0}, {269, 359, 514, 1285, 4112, 0, 0}, {1290, 514, 4420, 0, 0, 0, 0}, {783, 4144, 1024, 0, 0, 0, 0}, {4896, 5200, 0, 0, 0, 0, 0}, {1548, 273, 0, 0, 0, 0, 0}, {1370, 4386, 4864, 21760, 0, 0, 0}, {1100, 4128, 4883, 16448, 0, 0, 0}, {828, 12336, 4176, 5140, 0, 0, 0}, {554, 8704, 4437, 5120, 0, 0, 0}, {278, 5440, 0, 0, 0, 0, 0}, {4959, 1911, 0, 0, 0, 0, 0}, {1912, 13056, 20560, 0, 0, 0, 0}, {281, 4403, 4608, 4160, 5397, 0, 0}, {1370, 1904, 4352, 0, 0, 0, 0}, {5156, 5911, 1092, 0, 0, 0, 0}, {1100, 1904, 4112, 0, 0, 0, 0}, {5154, 5632, 1365, 0, 0, 0, 0}, {286, 4144, 4626, 4420, 5376, 0, 0}, {1919, 8224, 17408, 0, 0, 0, 0}, {4128, 768, 1088, 0, 0, 0, 0}, {1295, 546, 4369, 0, 0, 0, 0}, {328, 290, 768, 1280, 4096, 0, 0}, {5276, 4883, 20560, 0, 0, 0, 0}, {4972, 13380, 17476, 0, 0, 0, 0}, {4122, 293, 4885, 4437, 5397, 0, 0}, {4940, 4454, 1280, 0, 0, 0, 0}, {5144, 5911, 4176, 0, 0, 0, 0}, {1096, 4192, 768, 16384, 0, 0, 0}, {1295, 4403, 5654, 21845, 0, 0, 0}, {298, 768, 320, 1280, 4352, 0, 0}, {5011, 13107, 5140, 0, 0, 0, 0}, {5228, 8224, 22304, 0, 0, 0, 0}, {4381, 4144, 4626, 327, 5138, 0, 0}, {546, 4420, 1280, 0, 0, 0, 0}, {783, 1088, 4112, 0, 0, 0, 0}, {5360, 4864, 17408, 0, 0, 0, 0}, {347, 305, 514, 1028, 4369, 0, 0}, {4386, 514, 1360, 0, 0, 0, 0}, {1036, 819, 4096, 0, 0, 0, 0}, {4940, 4208, 1028, 0, 0, 0, 0}, {5130, 5632, 4437, 0, 0, 0, 0}, {4364, 310, 4870, 4176, 5376, 0, 0}, {4991, 10103, 20480, 0, 0, 0, 0}, {5240, 13056, 17264, 0, 0, 0, 0}, {4106, 4403, 4608, 339, 5126, 0, 0}, {522, 1360, 4352, 0, 0, 0, 0}, {819, 4160, 1028, 0, 0, 0, 0}, {1036, 4144, 5888, 16384, 0, 0, 0}, {1375, 4471, 514, 21845, 0, 0, 0}, {318, 514, 340, 1028, 4112, 0, 0}, {5119, 8192, 5120, 0, 0, 0, 0}, {27648, 0, 0, 0, 0, 0, 0}, {18, 21, 257, 0, 0, 0, 0}, {8, 34, 514, 17408, 0, 0, 0}, {15, 48, 771, 20480, 0, 0, 0}, {8, 8192, 64, 1028, 0, 0, 0}, {15, 13056, 85, 1285, 0, 0, 0}, {106, 1542, 0, 0, 0, 0, 0}, {7, 5120, 0, 0, 0, 0, 0}, {8, 8192, 17408, 0, 0, 0, 0}, {15, 48, 771, 85, 1285, 0, 0}, {170, 2570, 26112, 0, 0, 0, 0}, {7, 64, 1028, 4096, 0, 0, 0}, {192, 3084, 24576, 0, 0, 0, 0}, {7, 85, 1285, 4352, 0, 0, 0}, {8, 34, 514, 64, 1028, 0, 0}, {15, 13056, 20480, 0, 0, 0, 0}, {3072, 48, 64, 4112, 0, 0, 0}, {2560, 34, 85, 4369, 0, 0, 0}, {18, 5120, 0, 0, 0, 0, 0}, {127, 4883, 0, 0, 0, 0, 0}, {120, 5140, 0, 0, 0, 0, 0}, {4864, 21, 0, 0, 0, 0, 0}, {90, 112, 5654, 20480, 0, 0, 0}, {72, 119, 5911, 17408, 0, 0, 0}, {5144, 48, 5200, 0, 0, 0, 0}, {4889, 4915, 85, 0, 0, 0, 0}, {26, 48, 1536, 64, 4096, 0, 0}, {6939, 119, 17476, 0, 0, 0, 0}, {7196, 112, 20560, 0, 0, 0, 0}, {29, 34, 1536, 85, 4352, 0, 0}, {5150, 34, 5188, 0, 0, 0, 0}, {4895, 4896, 64, 0, 0, 0, 0}, {128, 19456, 8224, 0, 0, 0, 0}, {18, 85, 1280, 4369, 0, 0, 0}, {2560, 34, 17408, 0, 0, 0, 0}, {15, 48, 771, 64, 4112, 0, 0}, {72, 9252, 17476, 0, 0, 0, 0}, {15, 37, 4864, 85, 1280, 0, 0}, {1548, 1574, 64, 0, 0, 0, 0}, {15, 5159, 5200, 0, 0, 0, 0}, {136, 10280, 17408, 0, 0, 0, 0}, {48, 771, 21, 4096, 0, 0, 0}, {42, 8192, 17920, 0, 0, 0, 0}, {15, 48, 771, 71, 5140, 0, 0}, {3084, 8224, 64, 0, 0, 0, 0}, {15, 34, 85, 1280, 4352, 0, 0}, {72, 34, 1604, 17476, 0, 0, 0}, {15, 112, 4944, 20560, 0, 0, 0}, {3072, 48, 20480, 0, 0, 0, 0}, {8, 34, 514, 85, 4369, 0, 0}, {18, 64, 1024, 4112, 0, 0, 0}, {255, 24320, 13107, 0, 0, 0, 0}, {8, 5172, 5188, 0, 0, 0, 0}, {1546, 1589, 85, 0, 0, 0, 0}, {90, 13878, 20560, 0, 0, 0, 0}, {8, 55, 4864, 64, 1024, 0, 0}, {8, 48, 64, 1024, 4096, 0, 0}, {2570, 13107, 85, 0, 0, 0, 0}, {90, 48, 1616, 20560, 0, 0, 0}, {8, 119, 4932, 17476, 0, 0, 0}, {240, 15420, 20480, 0, 0, 0, 0}, {34, 514, 21, 4352, 0, 0, 0}, {8, 34, 514, 82, 5140, 0, 0}, {63, 13056, 21248, 0, 0, 0, 0}, {3072, 8192, 64, 0, 0, 0, 0}, {15, 34, 85, 1285, 4369, 0, 0}, {72, 34, 1602, 17408, 0, 0, 0}, {15, 112, 4931, 20480, 0, 0, 0}, {136, 10240, 17476, 0, 0, 0, 0}, {48, 768, 21, 4112, 0, 0, 0}, {42, 8224, 17990, 0, 0, 0, 0}, {15, 48, 768, 71, 5120, 0, 0}, {72, 9216, 17408, 0, 0, 0, 0}, {15, 37, 4883, 85, 1285, 0, 0}, {1546, 1568, 64, 0, 0, 0, 0}, {15, 5171, 5188, 0, 0, 0, 0}, {128, 19532, 8192, 0, 0, 0, 0}, {18, 85, 1285, 4352, 0, 0, 0}, {2570, 34, 17476, 0, 0, 0, 0}, {15, 48, 768, 64, 4096, 0, 0}, {240, 15360, 20560, 0, 0, 0, 0}, {34, 512, 21, 4369, 0, 0, 0}, {8, 34, 512, 82, 5120, 0, 0}, {63, 13107, 21331, 0, 0, 0, 0}, {8, 48, 64, 1028, 4112, 0, 0}, {2560, 13056, 85, 0, 0, 0, 0}, {90, 48, 1622, 20480, 0, 0, 0}, {8, 119, 4951, 17408, 0, 0, 0}, {8, 5152, 5200, 0, 0, 0, 0}, {1548, 1587, 85, 0, 0, 0, 0}, {90, 13824, 20480, 0, 0, 0, 0}, {8, 55, 4883, 64, 1028, 0, 0}, {3084, 48, 20560, 0, 0, 0, 0}, {8, 34, 512, 85, 4352, 0, 0}, {18, 64, 1028, 4096, 0, 0, 0}, {255, 24415, 13056, 0, 0, 0, 0}, {192, 3072, 24672, 0, 0, 0, 0}, {7, 85, 1280, 4369, 0, 0, 0}, {8, 34, 512, 64, 1024, 0, 0}, {15, 13107, 20560, 0, 0, 0, 0}, {8, 8224, 17476, 0, 0, 0, 0}, {15, 48, 768, 85, 1280, 0, 0}, {170, 2560, 26214, 0, 0, 0, 0}, {7, 64, 1024, 4112, 0, 0, 0}, {8, 8224, 64, 1024, 0, 0, 0}, {15, 13107, 85, 1280, 0, 0, 0}, {106, 1536, 0, 0, 0, 0, 0}, {7, 5140, 0, 0, 0, 0, 0}, {27756, 0, 0, 0, 0, 0, 0}, {18, 21, 256, 0, 0, 0, 0}, {8, 34, 512, 17476, 0, 0, 0}, {15, 48, 768, 20560, 0, 0, 0}, {7168, 112, 20480, 0, 0, 0, 0}, {29, 34, 1542, 85, 4369, 0, 0}, {5130, 34, 5200, 0, 0, 0, 0}, {4876, 4915, 64, 0, 0, 0, 0}, {5132, 48, 5188, 0, 0, 0, 0}, {4874, 4896, 85, 0, 0, 0, 0}, {26, 48, 1542, 64, 4112, 0, 0}, {6912, 119, 17408, 0, 0, 0, 0}, {120, 5120, 0, 0, 0, 0, 0}, {4883, 21, 0, 0, 0, 0, 0}, {90, 112, 5632, 20560, 0, 0, 0}, {72, 119, 5888, 17476, 0, 0, 0}, {3084, 48, 64, 4096, 0, 0, 0}, {2570, 34, 85, 4352, 0, 0, 0}, {18, 5140, 0, 0, 0, 0, 0}, {127, 4864, 0, 0, 0, 0, 0}, {128, 19456, 8192, 0, 0, 0, 0}, {18, 85, 1285, 4369, 0, 0, 0}, {2570, 34, 17408, 0, 0, 0, 0}, {15, 48, 771, 64, 4096, 0, 0}, {72, 9284, 17476, 0, 0, 0, 0}, {15, 37, 4869, 85, 1285, 0, 0}, {42, 1542, 64, 0, 0, 0, 0}, {15, 119, 5120, 0, 0, 0, 0}, {136, 10240, 17408, 0, 0, 0, 0}, {48, 771, 21, 4112, 0, 0, 0}, {42, 8224, 17952, 0, 0, 0, 0}, {15, 48, 771, 71, 5123, 0, 0}, {3084, 8192, 64, 0, 0, 0, 0}, {15, 34, 85, 1285, 4352, 0, 0}, {72, 34, 1542, 17476, 0, 0, 0}, {15, 112, 4864, 20480, 0, 0, 0}, {3072, 48, 20560, 0, 0, 0, 0}, {8, 34, 512, 85, 4369, 0, 0}, {18, 64, 1024, 4096, 0, 0, 0}, {255, 24415, 13107, 0, 0, 0, 0}, {8, 112, 5140, 0, 0, 0, 0}, {63, 1536, 85, 0, 0, 0, 0}, {90, 13926, 20480, 0, 0, 0, 0}, {8, 55, 4887, 64, 1024, 0, 0}, {8, 48, 64, 1024, 4112, 0, 0}, {2560, 13107, 85, 0, 0, 0, 0}, {90, 48, 1536, 20480, 0, 0, 0}, {8, 119, 4883, 17476, 0, 0, 0}, {240, 15420, 20560, 0, 0, 0, 0}, {34, 512, 21, 4352, 0, 0, 0}, {8, 34, 512, 82, 5142, 0, 0}, {63, 13056, 21344, 0, 0, 0, 0}, {27808, 0, 0, 0, 0, 0, 0}, {259, 260, 273, 0, 0, 0, 0}, {8, 34, 512, 17408, 0, 0, 0}, {15, 48, 771, 20560, 0, 0, 0}, {8, 8224, 64, 1028, 0, 0, 0}, {15, 13056, 85, 1280, 0, 0, 0}, {1548, 1638, 0, 0, 0, 0, 0}, {7, 5200, 0, 0, 0, 0, 0}, {8, 8224, 17408, 0, 0, 0, 0}, {15, 48, 771, 85, 1280, 0, 0}, {170, 2560, 26112, 0, 0, 0, 0}, {7, 64, 1028, 4112, 0, 0, 0}, {192, 3084, 24672, 0, 0, 0, 0}, {7, 85, 1280, 4352, 0, 0, 0}, {8, 34, 512, 64, 1028, 0, 0}, {15, 13056, 20560, 0, 0, 0, 0}, {3072, 48, 64, 4096, 0, 0, 0}, {2570, 34, 85, 4369, 0, 0, 0}, {18, 5200, 0, 0, 0, 0, 0}, {4940, 4915, 0, 0, 0, 0, 0}, {5180, 5188, 0, 0, 0, 0, 0}, {4896, 21, 0, 0, 0, 0, 0}, {90, 112, 5654, 20560, 0, 0, 0}, {72, 119, 5888, 17408, 0, 0, 0}, {72, 48, 5120, 0, 0, 0, 0}, {42, 4883, 85, 0, 0, 0, 0}, {26, 48, 1552, 64, 4112, 0, 0}, {6980, 119, 17476, 0, 0, 0, 0}, {7244, 112, 20480, 0, 0, 0, 0}, {29, 34, 1559, 85, 4352, 0, 0}, {90, 34, 5140, 0, 0, 0, 0}, {63, 4864, 64, 0, 0, 0, 0}, {192, 3072, 24576, 0, 0, 0, 0}, {7, 85, 1285, 4369, 0, 0, 0}, {8, 34, 514, 64, 1024, 0, 0}, {15, 13107, 20480, 0, 0, 0, 0}, {8, 8192, 17476, 0, 0, 0, 0}, {15, 48, 768, 85, 1285, 0, 0}, {170, 2570, 26214, 0, 0, 0, 0}, {7, 64, 1024, 4096, 0, 0, 0}, {8, 8192, 64, 1024, 0, 0, 0}, {15, 13107, 85, 1285, 0, 0, 0}, {1546, 1632, 0, 0, 0, 0, 0}, {7, 5188, 0, 0, 0, 0, 0}, {27852, 0, 0, 0, 0, 0, 0}, {258, 261, 272, 0, 0, 0, 0}, {8, 34, 514, 17476, 0, 0, 0}, {15, 48, 768, 20480, 0, 0, 0}, {7248, 112, 20560, 0, 0, 0, 0}, {29, 34, 1553, 85, 4369, 0, 0}, {90, 34, 5120, 0, 0, 0, 0}, {63, 4883, 64, 0, 0, 0, 0}, {72, 48, 5140, 0, 0, 0, 0}, {42, 4864, 85, 0, 0, 0, 0}, {26, 48, 1558, 64, 4096, 0, 0}, {7007, 119, 17408, 0, 0, 0, 0}, {5160, 5200, 0, 0, 0, 0, 0}, {4915, 21, 0, 0, 0, 0, 0}, {90, 112, 5632, 20480, 0, 0, 0}, {72, 119, 5911, 17476, 0, 0, 0}, {3084, 48, 64, 4112, 0, 0, 0}, {2560, 34, 85, 4352, 0, 0, 0}, {18, 5188, 0, 0, 0, 0, 0}, {4959, 4896, 0, 0, 0, 0, 0}, {3072, 8224, 64, 0, 0, 0, 0}, {15, 34, 85, 1280, 4369, 0, 0}, {72, 34, 1536, 17408, 0, 0, 0}, {15, 112, 4883, 20560, 0, 0, 0}, {136, 10280, 17476, 0, 0, 0, 0}, {48, 768, 21, 4096, 0, 0, 0}, {42, 8192, 18022, 0, 0, 0, 0}, {15, 48, 768, 71, 5143, 0, 0}, {72, 9312, 17408, 0, 0, 0, 0}, {15, 37, 4886, 85, 1280, 0, 0}, {42, 1536, 64, 0, 0, 0, 0}, {15, 119, 5140, 0, 0, 0, 0}, {128, 19532, 8224, 0, 0, 0, 0}, {18, 85, 1280, 4352, 0, 0, 0}, {2560, 34, 17476, 0, 0, 0, 0}, {15, 48, 768, 64, 4112, 0, 0}, {240, 15360, 20480, 0, 0, 0, 0}, {34, 514, 21, 4369, 0, 0, 0}, {8, 34, 514, 82, 5122, 0, 0}, {63, 13107, 21299, 0, 0, 0, 0}, {8, 48, 64, 1028, 4096, 0, 0}, {2570, 13056, 85, 0, 0, 0, 0}, {90, 48, 1542, 20560, 0, 0, 0}, {8, 119, 4864, 17408, 0, 0, 0}, {8, 112, 5120, 0, 0, 0, 0}, {63, 1542, 85, 0, 0, 0, 0}, {90, 13904, 20560, 0, 0, 0, 0}, {8, 55, 4868, 64, 1028, 0, 0}, {3084, 48, 20480, 0, 0, 0, 0}, {8, 34, 514, 85, 4352, 0, 0}, {18, 64, 1028, 4112, 0, 0, 0}, {255, 24320, 13056, 0, 0, 0, 0}, {4608, 5376, 0, 0, 0, 0, 0}, {108, 257, 0, 0, 0, 0, 0}, {1290, 4128, 514, 20480, 0, 0, 0}, {1036, 4403, 771, 17408, 0, 0, 0}, {780, 13056, 4420, 1028, 0, 0, 0}, {522, 8192, 4176, 1285, 0, 0, 0}, {262, 5120, 0, 0, 0, 0, 0}, {5503, 1799, 0, 0, 0, 0, 0}, {1800, 12288, 21760, 0, 0, 0, 0}, {265, 4144, 771, 4437, 1285, 0, 0}, {1290, 1792, 4096, 0, 0, 0, 0}, {4471, 771, 1028, 0, 0, 0, 0}, {1036, 1792, 4352, 0, 0, 0, 0}, {4208, 514, 1285, 0, 0, 0, 0}, {270, 4386, 514, 4160, 1028, 0, 0}, {1807, 8704, 16384, 0, 0, 0, 0}, {2560, 544, 1360, 4112, 0, 0, 0}, {3072, 819, 1092, 4369, 0, 0, 0}, {5482, 4626, 0, 0, 0, 0, 0}, {275, 5120, 0, 0, 0, 0, 0}, {4864, 276, 0, 0, 0, 0, 0}, {4714, 5397, 0, 0, 0, 0, 0}, {1100, 4454, 5654, 17408, 0, 0, 0}, {1375, 4192, 5911, 20480, 0, 0, 0}, {4632, 4144, 1360, 0, 0, 0, 0}, {5401, 819, 4437, 0, 0, 0, 0}, {6682, 1904, 16448, 0, 0, 0, 0}, {283, 1331, 1536, 1092, 4096, 0, 0}, {284, 1056, 1536, 1360, 4352, 0, 0}, {7453, 1911, 21845, 0, 0, 0, 0}, {4638, 4386, 1092, 0, 0, 0, 0}, {5407, 544, 4160, 0, 0, 0, 0}, {4128, 4608, 1280, 0, 0, 0, 0}, {1096, 771, 4369, 0, 0, 0, 0}, {3840, 4642, 16384, 0, 0, 0, 0}, {1295, 291, 771, 1088, 4112, 0, 0}, {4108, 292, 4864, 4420, 1280, 0, 0}, {4698, 9509, 21845, 0, 0, 0, 0}, {780, 5414, 1088, 0, 0, 0, 0}, {1295, 1831, 4176, 0, 0, 0, 0}, {552, 1280, 4096, 0, 0, 0, 0}, {771, 4437, 5397, 0, 0, 0, 0}, {5418, 12288, 18176, 0, 0, 0, 0}, {4379, 4144, 771, 327, 5140, 0, 0}, {780, 544, 320, 1280, 4352, 0, 0}, {3855, 8738, 5461, 0, 0, 0, 0}, {1096, 4386, 1860, 17476, 0, 0, 0}, {1295, 4208, 4688, 20560, 0, 0, 0}, {2048, 4656, 21760, 0, 0, 0, 0}, {1032, 305, 514, 1365, 4369, 0, 0}, {1370, 514, 4112, 0, 0, 0, 0}, {4403, 4608, 1024, 0, 0, 0, 0}, {1032, 1844, 4420, 0, 0, 0, 0}, {522, 5429, 1365, 0, 0, 0, 0}, {4362, 310, 4864, 4176, 1024, 0, 0}, {4680, 14135, 16448, 0, 0, 0, 0}, {2056, 12336, 5440, 0, 0, 0, 0}, {522, 819, 341, 1024, 4096, 0, 0}, {1370, 4144, 1872, 20560, 0, 0, 0}, {1032, 4471, 4676, 17476, 0, 0, 0}, {828, 1024, 4352, 0, 0, 0, 0}, {514, 4160, 5397, 0, 0, 0, 0}, {4124, 4386, 514, 338, 5140, 0, 0}, {5439, 8704, 20992, 0, 0, 0, 0}, {3840, 8704, 5440, 0, 0, 0, 0}, {783, 546, 321, 1285, 4369, 0, 0}, {1290, 4192, 4674, 20480, 0, 0, 0}, {1100, 4403, 1859, 17408, 0, 0, 0}, {768, 4420, 5376, 0, 0, 0, 0}, {554, 1285, 4112, 0, 0, 0, 0}, {4362, 4128, 768, 326, 5120, 0, 0}, {5439, 12336, 18247, 0, 0, 0, 0}, {4680, 9472, 21760, 0, 0, 0, 0}, {4124, 293, 4883, 4437, 1285, 0, 0}, {1290, 1824, 4160, 0, 0, 0, 0}, {783, 5427, 1092, 0, 0, 0, 0}, {1100, 768, 4352, 0, 0, 0, 0}, {4144, 4626, 1285, 0, 0, 0, 0}, {1290, 290, 768, 1092, 4096, 0, 0}, {3855, 4656, 16448, 0, 0, 0, 0}, {512, 4176, 5376, 0, 0, 0, 0}, {831, 1028, 4369, 0, 0, 0, 0}, {5418, 8738, 21074, 0, 0, 0, 0}, {4108, 4403, 512, 339, 5120, 0, 0}, {520, 816, 340, 1028, 4112, 0, 0}, {2048, 12288, 5461, 0, 0, 0, 0}, {1036, 4454, 4694, 17408, 0, 0, 0}, {1375, 4128, 1879, 20480, 0, 0, 0}, {520, 5408, 1360, 0, 0, 0, 0}, {1036, 1843, 4437, 0, 0, 0, 0}, {4698, 14080, 16384, 0, 0, 0, 0}, {4379, 311, 4883, 4160, 1028, 0, 0}, {1036, 304, 512, 1360, 4352, 0, 0}, {2056, 4642, 21845, 0, 0, 0, 0}, {4386, 4626, 1028, 0, 0, 0, 0}, {1375, 512, 4096, 0, 0, 0, 0}, {4192, 512, 1280, 0, 0, 0, 0}, {1032, 1799, 4369, 0, 0, 0, 0}, {1800, 8738, 16448, 0, 0, 0, 0}, {271, 4403, 512, 4176, 1024, 0, 0}, {264, 4128, 768, 4420, 1280, 0, 0}, {1807, 12336, 21845, 0, 0, 0, 0}, {4454, 768, 1024, 0, 0, 0, 0}, {1295, 1799, 4112, 0, 0, 0, 0}, {520, 8224, 4160, 1280, 0, 0, 0}, {783, 13107, 4437, 1024, 0, 0, 0}, {5482, 1792, 0, 0, 0, 0, 0}, {263, 5140, 0, 0, 0, 0, 0}, {108, 256, 0, 0, 0, 0, 0}, {4626, 5397, 0, 0, 0, 0, 0}, {1032, 4386, 768, 17476, 0, 0, 0}, {1295, 4144, 512, 20560, 0, 0, 0}, {7424, 1904, 21760, 0, 0, 0, 0}, {285, 1060, 1542, 1365, 4369, 0, 0}, {5386, 546, 4176, 0, 0, 0, 0}, {4620, 4403, 1088, 0, 0, 0, 0}, {5388, 816, 4420, 0, 0, 0, 0}, {4618, 4128, 1365, 0, 0, 0, 0}, {282, 1334, 1542, 1088, 4112, 0, 0}, {6656, 1911, 16384, 0, 0, 0, 0}, {4728, 5376, 0, 0, 0, 0, 0}, {4883, 277, 0, 0, 0, 0, 0}, {1370, 4208, 5888, 20560, 0, 0, 0}, {1096, 4471, 5632, 17476, 0, 0, 0}, {3084, 816, 1088, 4352, 0, 0, 0}, {2570, 546, 1365, 4096, 0, 0, 0}, {274, 5140, 0, 0, 0, 0, 0}, {5503, 4608, 0, 0, 0, 0, 0}, {5504, 4608, 21760, 0, 0, 0, 0}, {333, 289, 771, 1285, 4369, 0, 0}, {1290, 546, 4096, 0, 0, 0, 0}, {4403, 771, 1088, 0, 0, 0, 0}, {5388, 5632, 4420, 0, 0, 0, 0}, {4698, 4208, 1285, 0, 0, 0, 0}, {4362, 294, 4614, 4160, 5120, 0, 0}, {4728, 14199, 16384, 0, 0, 0, 0}, {4744, 12288, 5376, 0, 0, 0, 0}, {297, 771, 325, 1285, 4112, 0, 0}, {1290, 4128, 5888, 20480, 0, 0, 0}, {1096, 4471, 771, 17476, 0, 0, 0}, {780, 1088, 4352, 0, 0, 0, 0}, {546, 4176, 1285, 0, 0, 0, 0}, {4108, 4386, 4864, 322, 5382, 0, 0}, {5503, 8704, 21104, 0, 0, 0, 0}, {4144, 512, 1360, 0, 0, 0, 0}, {1032, 819, 4369, 0, 0, 0, 0}, {5610, 4626, 16448, 0, 0, 0, 0}, {351, 307, 512, 1024, 4096, 0, 0}, {4124, 308, 4628, 4420, 5140, 0, 0}, {4714, 9557, 21845, 0, 0, 0, 0}, {4698, 4454, 1024, 0, 0, 0, 0}, {5407, 5911, 4160, 0, 0, 0, 0}, {520, 1360, 4112, 0, 0, 0, 0}, {819, 4437, 1024, 0, 0, 0, 0}, {5482, 12336, 18224, 0, 0, 0, 0}, {4379, 4128, 4883, 343, 5395, 0, 0}, {316, 512, 336, 1024, 4352, 0, 0}, {4834, 8738, 5397, 0, 0, 0, 0}, {1032, 4386, 5654, 17476, 0, 0, 0}, {1375, 4192, 512, 20480, 0, 0, 0}, {160, 512, 1280, 4096, 0, 0, 0}, {204, 771, 1028, 4369, 0, 0, 0}, {1800, 4642, 0, 0, 0, 0, 0}, {259, 5200, 0, 0, 0, 0, 0}, {4896, 260, 0, 0, 0, 0, 0}, {1807, 5461, 0, 0, 0, 0, 0}, {1036, 4454, 1792, 17408, 0, 0, 0}, {1295, 4208, 1799, 20560, 0, 0, 0}, {520, 4128, 1280, 0, 0, 0, 0}, {1036, 771, 4437, 0, 0, 0, 0}, {5546, 1792, 16384, 0, 0, 0, 0}, {267, 359, 771, 1028, 4112, 0, 0}, {268, 352, 512, 1280, 4352, 0, 0}, {5589, 1799, 21845, 0, 0, 0, 0}, {780, 4386, 1028, 0, 0, 0, 0}, {1295, 512, 4176, 0, 0, 0, 0}, {4656, 5440, 0, 0, 0, 0, 0}, {1546, 273, 0, 0, 0, 0, 0}, {1370, 4144, 4626, 20560, 0, 0, 0}, {1100, 4403, 4608, 17408, 0, 0, 0}, {828, 13056, 4420, 5376, 0, 0, 0}, {554, 8224, 4160, 5397, 0, 0, 0}, {278, 5200, 0, 0, 0, 0, 0}, {4680, 1911, 0, 0, 0, 0, 0}, {1912, 12336, 21760, 0, 0, 0, 0}, {281, 4128, 4883, 4437, 5120, 0, 0}, {1370, 1904, 4112, 0, 0, 0, 0}, {5427, 5632, 1092, 0, 0, 0, 0}, {1100, 1904, 4352, 0, 0, 0, 0}, {5429, 5911, 1365, 0, 0, 0, 0}, {286, 4386, 4864, 4176, 5140, 0, 0}, {1919, 8704, 16448, 0, 0, 0, 0}, {5568, 1792, 21760, 0, 0, 0, 0}, {269, 353, 514, 1285, 4369, 0, 0}, {1290, 514, 4160, 0, 0, 0, 0}, {783, 4403, 1024, 0, 0, 0, 0}, {1032, 768, 4420, 0, 0, 0, 0}, {522, 4144, 1285, 0, 0, 0, 0}, {266, 358, 768, 1024, 4096, 0, 0}, {5567, 1799, 16448, 0, 0, 0, 0}, {1800, 5440, 0, 0, 0, 0, 0}, {4915, 261, 0, 0, 0, 0, 0}, {1290, 4192, 1792, 20480, 0, 0, 0}, {1032, 4471, 1799, 17476, 0, 0, 0}, {204, 768, 1024, 4352, 0, 0, 0}, {160, 514, 1285, 4112, 0, 0, 0}, {258, 5188, 0, 0, 0, 0, 0}, {1807, 4656, 0, 0, 0, 0, 0}, {5408, 5888, 1360, 0, 0, 0, 0}, {1096, 1911, 4369, 0, 0, 0, 0}, {1912, 8738, 16384, 0, 0, 0, 0}, {287, 4403, 4883, 4160, 5120, 0, 0}, {280, 4144, 4864, 4420, 5140, 0, 0}, {1919, 12288, 21845, 0, 0, 0, 0}, {5414, 5654, 1088, 0, 0, 0, 0}, {1375, 1911, 4096, 0, 0, 0, 0}, {552, 8192, 4176, 5376, 0, 0, 0}, {831, 13107, 4437, 5397, 0, 0, 0}, {4698, 1904, 0, 0, 0, 0, 0}, {279, 5188, 0, 0, 0, 0, 0}, {1548, 272, 0, 0, 0, 0, 0}, {4642, 5461, 0, 0, 0, 0, 0}, {1096, 4386, 4626, 17476, 0, 0, 0}, {1375, 4128, 4608, 20480, 0, 0, 0}, {544, 4160, 1280, 0, 0, 0, 0}, {783, 1092, 4369, 0, 0, 0, 0}, {5482, 8738, 21026, 0, 0, 0, 0}, {4124, 4403, 4883, 323, 5395, 0, 0}, {296, 768, 324, 1280, 4096, 0, 0}, {4762, 12336, 5397, 0, 0, 0, 0}, {1100, 4454, 768, 17408, 0, 0, 0}, {1295, 4144, 5911, 20560, 0, 0, 0}, {4680, 4192, 1280, 0, 0, 0, 0}, {5401, 5654, 4437, 0, 0, 0, 0}, {4714, 14144, 16448, 0, 0, 0, 0}, {4379, 295, 4628, 4176, 5140, 0, 0}, {332, 288, 768, 1280, 4352, 0, 0}, {5525, 4626, 21845, 0, 0, 0, 0}, {4386, 768, 1092, 0, 0, 0, 0}, {1295, 544, 4112, 0, 0, 0, 0}, {4848, 8704, 5376, 0, 0, 0, 0}, {317, 514, 337, 1028, 4369, 0, 0}, {1370, 4208, 514, 20560, 0, 0, 0}, {1036, 4403, 5632, 17408, 0, 0, 0}, {816, 4420, 1028, 0, 0, 0, 0}, {522, 1365, 4096, 0, 0, 0, 0}, {4362, 4144, 4864, 342, 5382, 0, 0}, {5503, 12288, 18295, 0, 0, 0, 0}, {4728, 9584, 21760, 0, 0, 0, 0}, {4108, 309, 4614, 4437, 5120, 0, 0}, {5386, 5888, 4176, 0, 0, 0, 0}, {4680, 4471, 1028, 0, 0, 0, 0}, {1036, 816, 4352, 0, 0, 0, 0}, {4128, 514, 1365, 0, 0, 0, 0}, {350, 306, 514, 1028, 4112, 0, 0}, {5631, 4608, 16384, 0, 0, 0, 0}, {2048, 8704, 17408, 0, 0, 0, 0}, {15, 48, 80, 257, 0, 0, 0}, {160, 514, 17448, 0, 0, 0, 0}, {15, 48, 771, 1027, 4355, 0, 0}, {192, 8776, 1028, 0, 0, 0, 0}, {15, 517, 80, 1285, 4357, 0, 0}, {1036, 96, 1542, 16384, 0, 0, 0}, {15, 4471, 1799, 21760, 0, 0, 0}, {17544, 2056, 26112, 0, 0, 0, 0}, {262, 80, 1285, 4096, 0, 0, 0}, {522, 8192, 17408, 0, 0, 0, 0}, {15, 48, 771, 4420, 1028, 0, 0}, {1036, 8704, 16384, 0, 0, 0, 0}, {15, 4386, 514, 80, 1285, 0, 0}, {96, 514, 1028, 0, 0, 0, 0}, {15, 1792, 4352, 0, 0, 0, 0}, {48, 528, 80, 1040, 4112, 0, 0}, {255, 2167, 4369, 0, 0, 0, 0}, {1096, 48, 4626, 16384, 0, 0, 0}, {95, 4403, 4883, 21760, 0, 0, 0}, {552, 8192, 80, 5140, 0, 0, 0}, {63, 13056, 4437, 5397, 0, 0, 0}, {240, 5654, 17468, 0, 0, 0, 0}, {95, 96, 535, 1047, 4375, 0, 0}, {1048, 48, 1536, 80, 4096, 0, 0}, {6425, 4454, 21845, 0, 0, 0, 0}, {5658, 48, 1088, 0, 0, 0, 0}, {4379, 4915, 4420, 0, 0, 0, 0}, {5660, 544, 80, 0, 0, 0, 0}, {4381, 4386, 5461, 0, 0, 0, 0}, {7710, 5734, 17476, 0, 0, 0, 0}, {1055, 1056, 1536, 1088, 4352, 0, 0}, {2560, 544, 17408, 0, 0, 0, 0}, {15, 48, 771, 1092, 4369, 0, 0}, {17544, 19456, 8738, 0, 0, 0, 0}, {275, 80, 1280, 4112, 0, 0, 0}, {1548, 1060, 1092, 0, 0, 0, 0}, {15, 5669, 4437, 0, 0, 0, 0}, {1100, 9766, 16448, 0, 0, 0, 0}, {15, 4391, 4864, 80, 1280, 0, 0}, {552, 8192, 17920, 0, 0, 0, 0}, {15, 48, 771, 4438, 5397, 0, 0}, {8874, 10794, 17408, 0, 0, 0, 0}, {48, 771, 276, 4096, 0, 0, 0}, {1100, 96, 576, 16448, 0, 0, 0}, {15, 4386, 5717, 21845, 0, 0, 0}, {3084, 8738, 1092, 0, 0, 0, 0}, {15, 544, 80, 1280, 4352, 0, 0}, {48, 4608, 1024, 0, 0, 0, 0}, {95, 514, 4369, 0, 0, 0, 0}, {1032, 48, 514, 80, 4112, 0, 0}, {2048, 4403, 21760, 0, 0, 0, 0}, {5708, 13364, 17476, 0, 0, 0, 0}, {4362, 4405, 4864, 4437, 1024, 0, 0}, {522, 5686, 80, 0, 0, 0, 0}, {1032, 1079, 5440, 0, 0, 0, 0}, {1032, 48, 5696, 16448, 0, 0, 0}, {95, 4454, 597, 21845, 0, 0, 0}, {522, 48, 80, 1024, 4096, 0, 0}, {2056, 13107, 4420, 0, 0, 0, 0}, {5692, 8704, 20992, 0, 0, 0, 0}, {4381, 4386, 514, 4418, 5397, 0, 0}, {514, 80, 5140, 0, 0, 0, 0}, {63, 1024, 4352, 0, 0, 0, 0}, {3072, 8704, 1088, 0, 0, 0, 0}, {15, 546, 80, 1285, 4369, 0, 0}, {1096, 96, 578, 16384, 0, 0, 0}, {15, 4403, 5699, 21760, 0, 0, 0}, {8840, 10752, 17476, 0, 0, 0, 0}, {48, 768, 277, 4112, 0, 0, 0}, {554, 8224, 17990, 0, 0, 0, 0}, {15, 48, 768, 4423, 5376, 0, 0}, {1096, 9728, 16384, 0, 0, 0, 0}, {15, 4406, 4883, 80, 1285, 0, 0}, {1546, 1056, 1088, 0, 0, 0, 0}, {15, 5683, 4420, 0, 0, 0, 0}, {17612, 19532, 8704, 0, 0, 0, 0}, {274, 80, 1285, 4096, 0, 0, 0}, {2570, 546, 17476, 0, 0, 0, 0}, {15, 48, 768, 1088, 4352, 0, 0}, {512, 80, 5120, 0, 0, 0, 0}, {63, 1028, 4369, 0, 0, 0, 0}, {5674, 8738, 21074, 0, 0, 0, 0}, {4364, 4403, 512, 4435, 5376, 0, 0}, {520, 48, 80, 1028, 4112, 0, 0}, {2048, 13056, 4437, 0, 0, 0, 0}, {1036, 48, 5718, 16384, 0, 0, 0}, {95, 4471, 599, 21760, 0, 0, 0}, {520, 5664, 80, 0, 0, 0, 0}, {1036, 1075, 5461, 0, 0, 0, 0}, {5722, 13312, 17408, 0, 0, 0, 0}, {4379, 4388, 4883, 4420, 1028, 0, 0}, {1036, 48, 512, 80, 4096, 0, 0}, {2056, 4386, 21845, 0, 0, 0, 0}, {48, 4626, 1028, 0, 0, 0, 0}, {95, 512, 4352, 0, 0, 0, 0}, {96, 512, 1024, 0, 0, 0, 0}, {15, 1799, 4369, 0, 0, 0, 0}, {1032, 8738, 16448, 0, 0, 0, 0}, {15, 4403, 512, 80, 1280, 0, 0}, {520, 8224, 17476, 0, 0, 0, 0}, {15, 48, 768, 4437, 1024, 0, 0}, {17612, 2048, 26214, 0, 0, 0, 0}, {263, 80, 1280, 4112, 0, 0, 0}, {1032, 96, 1536, 16448, 0, 0, 0}, {15, 4454, 1792, 21845, 0, 0, 0}, {192, 8810, 1024, 0, 0, 0, 0}, {15, 519, 80, 1280, 4372, 0, 0}, {160, 512, 17516, 0, 0, 0, 0}, {15, 48, 768, 1031, 4370, 0, 0}, {2056, 8738, 17476, 0, 0, 0, 0}, {15, 48, 80, 256, 0, 0, 0}, {7680, 5744, 17408, 0, 0, 0, 0}, {1051, 1060, 1542, 1092, 4369, 0, 0}, {5642, 546, 80, 0, 0, 0, 0}, {4364, 4403, 5440, 0, 0, 0, 0}, {5644, 48, 1092, 0, 0, 0, 0}, {4362, 4896, 4437, 0, 0, 0, 0}, {1052, 48, 1542, 80, 4112, 0, 0}, {6400, 4471, 21760, 0, 0, 0, 0}, {240, 5632, 17528, 0, 0, 0, 0}, {95, 96, 533, 1043, 4358, 0, 0}, {554, 8224, 80, 5120, 0, 0, 0}, {63, 13107, 4420, 5376, 0, 0, 0}, {1100, 48, 4608, 16448, 0, 0, 0}, {95, 4386, 4864, 21845, 0, 0, 0}, {48, 530, 80, 1044, 4096, 0, 0}, {255, 2175, 4352, 0, 0, 0, 0}, {2176, 8704, 17408, 0, 0, 0, 0}, {15, 771, 1285, 273, 0, 0, 0}, {2570, 546, 17930, 0, 0, 0, 0}, {15, 48, 771, 1091, 4355, 0, 0}, {3084, 9740, 1092, 0, 0, 0, 0}, {15, 549, 80, 1285, 4357, 0, 0}, {1100, 96, 1542, 16448, 0, 0, 0}, {15, 4471, 5632, 21760, 0, 0, 0}, {17544, 19456, 26112, 0, 0, 0, 0}, {278, 80, 1285, 4112, 0, 0, 0}, {554, 8224, 17408, 0, 0, 0, 0}, {15, 48, 771, 4420, 5376, 0, 0}, {1100, 8704, 16448, 0, 0, 0, 0}, {15, 4386, 4864, 80, 1285, 0, 0}, {1060, 1542, 1092, 0, 0, 0, 0}, {15, 1904, 4352, 0, 0, 0, 0}, {48, 512, 80, 1024, 4096, 0, 0}, {255, 2056, 4369, 0, 0, 0, 0}, {1032, 48, 4626, 16448, 0, 0, 0}, {95, 4403, 512, 21760, 0, 0, 0}, {520, 8224, 80, 5140, 0, 0, 0}, {63, 13056, 4437, 1024, 0, 0, 0}, {2048, 5734, 21082, 0, 0, 0, 0}, {1032, 1079, 1536, 1111, 4375, 0, 0}, {1032, 48, 1536, 80, 4112, 0, 0}, {2048, 4454, 21845, 0, 0, 0, 0}, {4698, 48, 1024, 0, 0, 0, 0}, {4379, 4883, 4420, 0, 0, 0, 0}, {5180, 512, 80, 0, 0, 0, 0}, {4381, 4386, 5397, 0, 0, 0, 0}, {240, 5654, 17476, 0, 0, 0, 0}, {95, 96, 512, 1024, 4352, 0, 0}, {160, 512, 17408, 0, 0, 0, 0}, {15, 48, 771, 1028, 4369, 0, 0}, {17544, 2056, 8738, 0, 0, 0, 0}, {259, 80, 1280, 4096, 0, 0, 0}, {520, 96, 1028, 0, 0, 0, 0}, {15, 1792, 4437, 0, 0, 0, 0}, {1036, 9830, 16384, 0, 0, 0, 0}, {15, 4391, 519, 80, 1280, 0, 0}, {520, 8224, 17952, 0, 0, 0, 0}, {15, 48, 771, 4438, 1027, 0, 0}, {8874, 2048, 17408, 0, 0, 0, 0}, {48, 771, 260, 4112, 0, 0, 0}, {1036, 96, 512, 16384, 0, 0, 0}, {15, 4386, 1799, 21845, 0, 0, 0}, {192, 8738, 1028, 0, 0, 0, 0}, {15, 512, 80, 1280, 4352, 0, 0}, {48, 4608, 1088, 0, 0, 0, 0}, {95, 546, 4369, 0, 0, 0, 0}, {1048, 48, 530, 80, 4096, 0, 0}, {6476, 4403, 21760, 0, 0, 0, 0}, {5692, 13380, 17476, 0, 0, 0, 0}, {4362, 4405, 533, 4437, 5397, 0, 0}, {5180, 5654, 80, 0, 0, 0, 0}, {4424, 4471, 5376, 0, 0, 0, 0}, {1096, 48, 5632, 16384, 0, 0, 0}, {95, 4454, 4883, 21845, 0, 0, 0}, {538, 48, 80, 1040, 4112, 0, 0}, {6451, 13107, 4420, 0, 0, 0, 0}, {5708, 8704, 21104, 0, 0, 0, 0}, {4381, 4386, 4864, 4418, 1047, 0, 0}, {546, 80, 5140, 0, 0, 0, 0}, {63, 1088, 4352, 0, 0, 0, 0}, {192, 8704, 1024, 0, 0, 0, 0}, {15, 514, 80, 1285, 4369, 0, 0}, {1032, 96, 514, 16448, 0, 0, 0}, {15, 4403, 1792, 21760, 0, 0, 0}, {8840, 2056, 17476, 0, 0, 0, 0}, {48, 768, 261, 4096, 0, 0, 0}, {522, 8192, 18022, 0, 0, 0, 0}, {15, 48, 768, 4423, 1031, 0, 0}, {1032, 9792, 16448, 0, 0, 0, 0}, {15, 4406, 517, 80, 1285, 0, 0}, {522, 96, 1024, 0, 0, 0, 0}, {15, 1799, 4420, 0, 0, 0, 0}, {17612, 2048, 8704, 0, 0, 0, 0}, {258, 80, 1285, 4112, 0, 0, 0}, {160, 514, 17476, 0, 0, 0, 0}, {15, 48, 768, 1024, 4352, 0, 0}, {544, 80, 5120, 0, 0, 0, 0}, {63, 1092, 4369, 0, 0, 0, 0}, {5722, 8738, 21026, 0, 0, 0, 0}, {4364, 4403, 4883, 4435, 1043, 0, 0}, {536, 48, 80, 1044, 4096, 0, 0}, {6442, 13056, 4437, 0, 0, 0, 0}, {1100, 48, 5654, 16448, 0, 0, 0}, {95, 4471, 4864, 21760, 0, 0, 0}, {5160, 5632, 80, 0, 0, 0, 0}, {4441, 4454, 5397, 0, 0, 0, 0}, {5674, 13424, 17408, 0, 0, 0, 0}, {4379, 4388, 535, 4420, 5376, 0, 0}, {1052, 48, 528, 80, 4112, 0, 0}, {6485, 4386, 21845, 0, 0, 0, 0}, {48, 4626, 1092, 0, 0, 0, 0}, {95, 544, 4352, 0, 0, 0, 0}, {1056, 1536, 1088, 0, 0, 0, 0}, {15, 1911, 4369, 0, 0, 0, 0}, {1096, 8738, 16384, 0, 0, 0, 0}, {15, 4403, 4883, 80, 1280, 0, 0}, {552, 8192, 17476, 0, 0, 0, 0}, {15, 48, 768, 4437, 5397, 0, 0}, {17612, 19532, 26214, 0, 0, 0, 0}, {279, 80, 1280, 4096, 0, 0, 0}, {1096, 96, 1536, 16384, 0, 0, 0}, {15, 4454, 5654, 21845, 0, 0, 0}, {3072, 9770, 1088, 0, 0, 0, 0}, {15, 551, 80, 1280, 4372, 0, 0}, {2560, 544, 17996, 0, 0, 0, 0}, {15, 48, 768, 1095, 4370, 0, 0}, {2184, 8738, 17476, 0, 0, 0, 0}, {15, 768, 1280, 272, 0, 0, 0}, {240, 5632, 17408, 0, 0, 0, 0}, {95, 96, 514, 1028, 4369, 0, 0}, {5160, 514, 80, 0, 0, 0, 0}, {4364, 4403, 5376, 0, 0, 0, 0}, {4680, 48, 1028, 0, 0, 0, 0}, {4362, 4864, 4437, 0, 0, 0, 0}, {1036, 48, 1542, 80, 4096, 0, 0}, {2056, 4471, 21760, 0, 0, 0, 0}, {2056, 5744, 21000, 0, 0, 0, 0}, {1036, 1075, 1542, 1107, 4358, 0, 0}, {522, 8192, 80, 5120, 0, 0, 0}, {63, 13107, 4420, 1028, 0, 0, 0}, {1036, 48, 4608, 16384, 0, 0, 0}, {95, 4386, 514, 21845, 0, 0, 0}, {48, 514, 80, 1028, 4112, 0, 0}, {255, 2048, 4352, 0, 0, 0, 0}, {3840, 12288, 20480, 0, 0, 0, 0}, {8, 34, 68, 257, 0, 0, 0}, {8, 34, 514, 1282, 4098, 0, 0}, {204, 771, 20540, 0, 0, 0, 0}, {8, 772, 68, 1028, 4100, 0, 0}, {170, 12378, 1285, 0, 0, 0, 0}, {1290, 102, 1542, 21760, 0, 0, 0}, {8, 4208, 1799, 16384, 0, 0, 0}, {8, 1792, 4096, 0, 0, 0, 0}, {102, 771, 1285, 0, 0, 0, 0}, {1290, 12288, 21760, 0, 0, 0, 0}, {8, 4144, 771, 68, 1028, 0, 0}, {780, 13056, 20480, 0, 0, 0, 0}, {8, 34, 514, 4176, 1285, 0, 0}, {262, 68, 1028, 4352, 0, 0, 0}, {20720, 3855, 24576, 0, 0, 0, 0}, {128, 3952, 4112, 0, 0, 0, 0}, {34, 785, 68, 1297, 4369, 0, 0}, {1370, 34, 4626, 21760, 0, 0, 0}, {76, 4128, 4883, 16384, 0, 0, 0}, {828, 13056, 68, 5140, 0, 0, 0}, {42, 8192, 4160, 5397, 0, 0, 0}, {76, 102, 790, 1302, 4118, 0, 0}, {136, 5911, 20520, 0, 0, 0, 0}, {6168, 5984, 20560, 0, 0, 0, 0}, {1305, 1331, 1536, 1365, 4096, 0, 0}, {4122, 4144, 5440, 0, 0, 0, 0}, {5915, 819, 68, 0, 0, 0, 0}, {4124, 4896, 4176, 0, 0, 0, 0}, {5917, 34, 1365, 0, 0, 0, 0}, {1310, 34, 1536, 68, 4352, 0, 0}, {7967, 4192, 16448, 0, 0, 0, 0}, {3840, 4128, 16384, 0, 0, 0, 0}, {1295, 34, 771, 68, 4369, 0, 0}, {34, 4608, 1280, 0, 0, 0, 0}, {76, 771, 4112, 0, 0, 0, 0}, {780, 5924, 68, 0, 0, 0, 0}, {1295, 1317, 5461, 0, 0, 0, 0}, {4108, 4134, 4864, 4160, 1280, 0, 0}, {5983, 10023, 20560, 0, 0, 0, 0}, {5928, 12288, 18176, 0, 0, 0, 0}, {4122, 4144, 771, 4182, 5397, 0, 0}, {42, 1280, 4096, 0, 0, 0, 0}, {771, 68, 5140, 0, 0, 0, 0}, {76, 4192, 832, 16448, 0, 0, 0}, {1295, 34, 5973, 21845, 0, 0, 0}, {780, 34, 68, 1280, 4352, 0, 0}, {3855, 8224, 4176, 0, 0, 0, 0}, {20720, 24320, 12336, 0, 0, 0, 0}, {275, 68, 1024, 4369, 0, 0, 0}, {8, 34, 514, 1360, 4112, 0, 0}, {3072, 819, 20480, 0, 0, 0, 0}, {8, 4148, 4864, 68, 1024, 0, 0}, {1375, 13621, 21845, 0, 0, 0, 0}, {1546, 1334, 1360, 0, 0, 0, 0}, {8, 5943, 4160, 0, 0, 0, 0}, {8, 4144, 5952, 16448, 0, 0, 0}, {1375, 102, 853, 21845, 0, 0, 0}, {2570, 12336, 1360, 0, 0, 0, 0}, {8, 819, 68, 1024, 4096, 0, 0}, {828, 13056, 21248, 0, 0, 0, 0}, {8, 34, 514, 4162, 5397, 0, 0}, {34, 514, 276, 4352, 0, 0, 0}, {12480, 16191, 20480, 0, 0, 0, 0}, {3840, 8192, 4160, 0, 0, 0, 0}, {783, 34, 68, 1285, 4369, 0, 0}, {1290, 34, 5954, 21760, 0, 0, 0}, {76, 4208, 835, 16384, 0, 0, 0}, {768, 68, 5120, 0, 0, 0, 0}, {42, 1285, 4112, 0, 0, 0, 0}, {4106, 4128, 768, 4166, 5376, 0, 0}, {5951, 12336, 18247, 0, 0, 0, 0}, {5960, 9984, 20480, 0, 0, 0, 0}, {4124, 4150, 4883, 4176, 1285, 0, 0}, {1290, 1312, 5440, 0, 0, 0, 0}, {783, 5939, 68, 0, 0, 0, 0}, {76, 768, 4096, 0, 0, 0, 0}, {34, 4626, 1285, 0, 0, 0, 0}, {1290, 34, 768, 68, 4352, 0, 0}, {3855, 4144, 16448, 0, 0, 0, 0}, {12528, 16128, 20560, 0, 0, 0, 0}, {34, 512, 277, 4369, 0, 0, 0}, {8, 34, 512, 4178, 5376, 0, 0}, {831, 13107, 21331, 0, 0, 0, 0}, {8, 816, 68, 1028, 4112, 0, 0}, {2560, 12288, 1365, 0, 0, 0, 0}, {1370, 102, 854, 21760, 0, 0, 0}, {8, 4128, 5975, 16384, 0, 0, 0}, {8, 5920, 4176, 0, 0, 0, 0}, {1548, 1331, 1365, 0, 0, 0, 0}, {1370, 13568, 21760, 0, 0, 0, 0}, {8, 4132, 4883, 68, 1028, 0, 0}, {3084, 816, 20560, 0, 0, 0, 0}, {8, 34, 512, 1365, 4096, 0, 0}, {274, 68, 1028, 4352, 0, 0, 0}, {20640, 24415, 12288, 0, 0, 0, 0}, {20640, 3840, 24672, 0, 0, 0, 0}, {263, 68, 1024, 4369, 0, 0, 0}, {8, 34, 512, 4160, 1280, 0, 0}, {783, 13107, 20560, 0, 0, 0, 0}, {8, 4128, 768, 68, 1024, 0, 0}, {1295, 12336, 21845, 0, 0, 0, 0}, {102, 768, 1280, 0, 0, 0, 0}, {8, 1799, 4112, 0, 0, 0, 0}, {8, 4192, 1792, 16448, 0, 0, 0}, {1295, 102, 1536, 21845, 0, 0, 0}, {170, 12394, 1280, 0, 0, 0, 0}, {8, 775, 68, 1024, 4116, 0, 0}, {204, 768, 20588, 0, 0, 0, 0}, {8, 34, 512, 1287, 4114, 0, 0}, {8, 34, 68, 256, 0, 0, 0}, {3855, 12336, 20560, 0, 0, 0, 0}, {7936, 4208, 16384, 0, 0, 0, 0}, {1307, 34, 1542, 68, 4369, 0, 0}, {5898, 34, 1360, 0, 0, 0, 0}, {4108, 4915, 4160, 0, 0, 0, 0}, {5900, 816, 68, 0, 0, 0, 0}, {4106, 4128, 5461, 0, 0, 0, 0}, {1308, 1334, 1542, 1360, 4112, 0, 0}, {6144, 6007, 20480, 0, 0, 0, 0}, {136, 5888, 20600, 0, 0, 0, 0}, {76, 102, 789, 1299, 4102, 0, 0}, {42, 8224, 4176, 5376, 0, 0, 0}, {831, 13107, 68, 5120, 0, 0, 0}, {76, 4144, 4864, 16448, 0, 0, 0}, {1375, 34, 4608, 21845, 0, 0, 0}, {34, 786, 68, 1300, 4352, 0, 0}, {128, 3967, 4096, 0, 0, 0, 0}, {128, 3840, 4096, 0, 0, 0, 0}, {34, 771, 68, 1285, 4369, 0, 0}, {1290, 34, 4608, 21760, 0, 0, 0}, {76, 4144, 771, 16448, 0, 0, 0}, {780, 13056, 68, 5120, 0, 0, 0}, {42, 8224, 4176, 1285, 0, 0, 0}, {1290, 1312, 1542, 1350, 4102, 0, 0}, {3855, 6007, 18191, 0, 0, 0, 0}, {136, 5888, 20480, 0, 0, 0, 0}, {76, 102, 771, 1285, 4112, 0, 0}, {4106, 4128, 5376, 0, 0, 0, 0}, {5180, 771, 68, 0, 0, 0, 0}, {4108, 4864, 4160, 0, 0, 0, 0}, {4698, 34, 1285, 0, 0, 0, 0}, {1290, 34, 1542, 68, 4352, 0, 0}, {3855, 4208, 16384, 0, 0, 0, 0}, {4080, 12336, 20560, 0, 0, 0, 0}, {8, 512, 1024, 273, 0, 0, 0}, {8, 34, 512, 1362, 4114, 0, 0}, {3072, 819, 21343, 0, 0, 0, 0}, {8, 820, 68, 1024, 4116, 0, 0}, {2560, 13631, 1365, 0, 0, 0, 0}, {1370, 102, 1536, 21760, 0, 0, 0}, {8, 4192, 5911, 16448, 0, 0, 0}, {8, 1904, 4112, 0, 0, 0, 0}, {1331, 1536, 1365, 0, 0, 0, 0}, {1370, 12336, 21760, 0, 0, 0, 0}, {8, 4128, 4883, 68, 1024, 0, 0}, {828, 13056, 20560, 0, 0, 0, 0}, {8, 34, 512, 4160, 5397, 0, 0}, {278, 68, 1024, 4352, 0, 0, 0}, {20640, 24415, 24672, 0, 0, 0, 0}, {20640, 3840, 12288, 0, 0, 0, 0}, {259, 68, 1028, 4369, 0, 0, 0}, {8, 34, 512, 1280, 4096, 0, 0}, {204, 771, 20560, 0, 0, 0, 0}, {8, 4132, 772, 68, 1028, 0, 0}, {1295, 13653, 21845, 0, 0, 0, 0}, {780, 102, 1280, 0, 0, 0, 0}, {8, 1799, 4176, 0, 0, 0, 0}, {8, 4128, 1792, 16384, 0, 0, 0}, {1295, 102, 771, 21845, 0, 0, 0}, {170, 12288, 1280, 0, 0, 0, 0}, {8, 771, 68, 1028, 4112, 0, 0}, {780, 13056, 21344, 0, 0, 0, 0}, {8, 34, 512, 4178, 1287, 0, 0}, {34, 512, 260, 4352, 0, 0, 0}, {12528, 3855, 20560, 0, 0, 0, 0}, {8000, 4144, 16448, 0, 0, 0, 0}, {1307, 34, 785, 68, 4369, 0, 0}, {34, 4626, 1360, 0, 0, 0, 0}, {76, 819, 4096, 0, 0, 0, 0}, {5180, 5888, 68, 0, 0, 0, 0}, {4170, 4192, 5397, 0, 0, 0, 0}, {4124, 4150, 790, 4176, 5376, 0, 0}, {5951, 10103, 20480, 0, 0, 0, 0}, {5960, 12336, 18224, 0, 0, 0, 0}, {4106, 4128, 4883, 4166, 1299, 0, 0}, {42, 1360, 4112, 0, 0, 0, 0}, {819, 68, 5120, 0, 0, 0, 0}, {76, 4208, 4864, 16384, 0, 0, 0}, {1375, 34, 5911, 21845, 0, 0, 0}, {798, 34, 68, 1300, 4352, 0, 0}, {7999, 8192, 4160, 0, 0, 0, 0}, {12480, 3840, 20480, 0, 0, 0, 0}, {34, 514, 261, 4369, 0, 0, 0}, {8, 34, 514, 4162, 1282, 0, 0}, {783, 13107, 21299, 0, 0, 0, 0}, {8, 768, 68, 1024, 4096, 0, 0}, {170, 12336, 1285, 0, 0, 0, 0}, {1290, 102, 768, 21760, 0, 0, 0}, {8, 4144, 1799, 16448, 0, 0, 0}, {8, 1792, 4160, 0, 0, 0, 0}, {783, 102, 1285, 0, 0, 0, 0}, {1290, 13664, 21760, 0, 0, 0, 0}, {8, 4148, 775, 68, 1024, 0, 0}, {204, 768, 20480, 0, 0, 0, 0}, {8, 34, 514, 1285, 4112, 0, 0}, {258, 68, 1024, 4352, 0, 0, 0}, {20720, 3855, 12336, 0, 0, 0, 0}, {7968, 8224, 4176, 0, 0, 0, 0}, {797, 34, 68, 1297, 4369, 0, 0}, {1370, 34, 5888, 21760, 0, 0, 0}, {76, 4192, 4883, 16448, 0, 0, 0}, {816, 68, 5140, 0, 0, 0, 0}, {42, 1365, 4096, 0, 0, 0, 0}, {4122, 4144, 4864, 4182, 1302, 0, 0}, {5983, 12288, 18295, 0, 0, 0, 0}, {5928, 10064, 20560, 0, 0, 0, 0}, {4108, 4134, 789, 4160, 5397, 0, 0}, {4186, 4208, 5376, 0, 0, 0, 0}, {5160, 5911, 68, 0, 0, 0, 0}, {76, 816, 4112, 0, 0, 0, 0}, {34, 4608, 1365, 0, 0, 0, 0}, {1310, 34, 786, 68, 4352, 0, 0}, {8031, 4128, 16384, 0, 0, 0, 0}, {3840, 4192, 16448, 0, 0, 0, 0}, {1295, 34, 1536, 68, 4369, 0, 0}, {4680, 34, 1280, 0, 0, 0, 0}, {4124, 4883, 4176, 0, 0, 0, 0}, {5160, 768, 68, 0, 0, 0, 0}, {4122, 4144, 5397, 0, 0, 0, 0}, {76, 102, 768, 1280, 4096, 0, 0}, {136, 5911, 20560, 0, 0, 0, 0}, {3840, 5984, 18248, 0, 0, 0, 0}, {1295, 1317, 1536, 1347, 4118, 0, 0}, {42, 8192, 4160, 1280, 0, 0, 0}, {783, 13107, 68, 5140, 0, 0, 0}, {76, 4128, 768, 16384, 0, 0, 0}, {1295, 34, 4626, 21845, 0, 0, 0}, {34, 768, 68, 1280, 4352, 0, 0}, {128, 3855, 4112, 0, 0, 0, 0}, {20720, 24320, 24576, 0, 0, 0, 0}, {279, 68, 1028, 4369, 0, 0, 0}, {8, 34, 514, 4176, 5376, 0, 0}, {831, 13107, 20480, 0, 0, 0, 0}, {8, 4144, 4864, 68, 1028, 0, 0}, {1375, 12288, 21845, 0, 0, 0, 0}, {1334, 1542, 1360, 0, 0, 0, 0}, {8, 1911, 4096, 0, 0, 0, 0}, {8, 4208, 5888, 16384, 0, 0, 0}, {1375, 102, 1542, 21845, 0, 0, 0}, {2570, 13578, 1360, 0, 0, 0, 0}, {8, 823, 68, 1028, 4100, 0, 0}, {3084, 816, 21260, 0, 0, 0, 0}, {8, 34, 514, 1367, 4098, 0, 0}, {8, 514, 1028, 272, 0, 0, 0}, {4095, 12288, 20480, 0, 0, 0, 0}, {28672, 0, 0, 0, 0, 0, 0}, {6, 17, 257, 0, 0, 0, 0}, {10, 34, 514, 20480, 0, 0, 0}, {12, 51, 771, 16384, 0, 0, 0}, {12, 12288, 68, 1028, 0, 0, 0}, {10, 8192, 85, 1285, 0, 0, 0}, {6, 4096, 0, 0, 0, 0, 0}, {119, 1799, 0, 0, 0, 0, 0}, {136, 2056, 28680, 0, 0, 0, 0}, {6, 85, 1285, 4101, 0, 0, 0}, {10, 8192, 20480, 0, 0, 0, 0}, {12, 51, 771, 68, 1028, 0, 0}, {12, 12288, 16384, 0, 0, 0, 0}, {10, 34, 514, 85, 1285, 0, 0}, {6, 68, 1028, 4100, 0, 0, 0}, {255, 3855, 28687, 0, 0, 0, 0}, {96, 4112, 0, 0, 0, 0, 0}, {1792, 17, 0, 0, 0, 0, 0}, {72, 34, 4626, 16384, 0, 0, 0}, {95, 51, 4883, 20480, 0, 0, 0}, {40, 8192, 68, 5140, 0, 0, 0}, {63, 12288, 85, 5397, 0, 0, 0}, {102, 5654, 0, 0, 0, 0, 0}, {23, 4096, 0, 0, 0, 0, 0}, {4120, 4144, 4176, 0, 0, 0, 0}, {5657, 51, 85, 0, 0, 0, 0}, {106, 12336, 16448, 0, 0, 0, 0}, {27, 51, 4864, 68, 5120, 0, 0}, {108, 8224, 20560, 0, 0, 0, 0}, {29, 34, 4608, 85, 5376, 0, 0}, {5662, 34, 68, 0, 0, 0, 0}, {4127, 4128, 4160, 0, 0, 0, 0}, {160, 8224, 20480, 0, 0, 0, 0}, {12, 771, 1024, 17, 0, 0, 0}, {2048, 34, 20992, 0, 0, 0, 0}, {12, 51, 771, 83, 4112, 0, 0}, {12, 36, 68, 1024, 4096, 0, 0}, {3855, 9509, 85, 0, 0, 0, 0}, {12, 102, 5696, 16448, 0, 0, 0}, {95, 119, 1872, 20560, 0, 0, 0}, {40, 8192, 20480, 0, 0, 0, 0}, {12, 51, 771, 85, 5397, 0, 0}, {170, 23040, 28714, 0, 0, 0, 0}, {23, 68, 1024, 4116, 0, 0, 0}, {12, 4128, 4160, 0, 0, 0, 0}, {1807, 34, 85, 0, 0, 0, 0}, {12, 34, 4608, 68, 1024, 0, 0}, {95, 8224, 20560, 0, 0, 0, 0}, {192, 12336, 16384, 0, 0, 0, 0}, {10, 514, 1280, 17, 0, 0, 0}, {10, 34, 514, 66, 4112, 0, 0}, {3840, 51, 17152, 0, 0, 0, 0}, {2056, 13364, 68, 0, 0, 0, 0}, {10, 53, 85, 1280, 4096, 0, 0}, {10, 102, 5712, 20560, 0, 0, 0}, {72, 119, 1856, 16448, 0, 0, 0}, {72, 12336, 16448, 0, 0, 0, 0}, {10, 51, 4864, 85, 1280, 0, 0}, {10, 4144, 4176, 0, 0, 0, 0}, {1800, 51, 68, 0, 0, 0, 0}, {204, 19456, 28732, 0, 0, 0, 0}, {23, 85, 1280, 4117, 0, 0, 0}, {10, 34, 514, 68, 5140, 0, 0}, {63, 12288, 16384, 0, 0, 0, 0}, {192, 12288, 16448, 0, 0, 0, 0}, {10, 512, 1285, 17, 0, 0, 0}, {10, 34, 512, 66, 4096, 0, 0}, {3855, 51, 17219, 0, 0, 0, 0}, {2048, 13312, 68, 0, 0, 0, 0}, {10, 53, 85, 1285, 4112, 0, 0}, {10, 102, 5702, 20480, 0, 0, 0}, {72, 119, 1863, 16384, 0, 0, 0}, {72, 12288, 16384, 0, 0, 0, 0}, {10, 51, 4883, 85, 1285, 0, 0}, {10, 4128, 4160, 0, 0, 0, 0}, {1807, 51, 68, 0, 0, 0, 0}, {204, 19532, 28748, 0, 0, 0, 0}, {23, 85, 1285, 4101, 0, 0, 0}, {10, 34, 512, 68, 5120, 0, 0}, {63, 12336, 16448, 0, 0, 0, 0}, {160, 8192, 20560, 0, 0, 0, 0}, {12, 768, 1028, 17, 0, 0, 0}, {2056, 34, 21074, 0, 0, 0, 0}, {12, 51, 768, 83, 4096, 0, 0}, {12, 36, 68, 1028, 4112, 0, 0}, {3840, 9472, 85, 0, 0, 0, 0}, {12, 102, 5718, 16384, 0, 0, 0}, {95, 119, 1879, 20480, 0, 0, 0}, {40, 8224, 20560, 0, 0, 0, 0}, {12, 51, 768, 85, 5376, 0, 0}, {170, 23130, 28762, 0, 0, 0, 0}, {23, 68, 1028, 4100, 0, 0, 0}, {12, 4144, 4176, 0, 0, 0, 0}, {1800, 34, 85, 0, 0, 0, 0}, {12, 34, 4626, 68, 1028, 0, 0}, {95, 8192, 20480, 0, 0, 0, 0}, {96, 4096, 0, 0, 0, 0, 0}, {1799, 17, 0, 0, 0, 0, 0}, {72, 34, 4608, 16448, 0, 0, 0}, {95, 51, 4864, 20560, 0, 0, 0}, {40, 8224, 68, 5120, 0, 0, 0}, {63, 12336, 85, 5376, 0, 0, 0}, {102, 5632, 0, 0, 0, 0, 0}, {23, 4112, 0, 0, 0, 0, 0}, {4104, 4128, 4160, 0, 0, 0, 0}, {5647, 51, 85, 0, 0, 0, 0}, {106, 12288, 16384, 0, 0, 0, 0}, {27, 51, 4883, 68, 5140, 0, 0}, {108, 8192, 20480, 0, 0, 0, 0}, {29, 34, 4626, 85, 5397, 0, 0}, {5640, 34, 68, 0, 0, 0, 0}, {4111, 4144, 4176, 0, 0, 0, 0}, {28784, 0, 0, 0, 0, 0, 0}, {6, 17, 256, 0, 0, 0, 0}, {10, 34, 512, 20560, 0, 0, 0}, {12, 51, 768, 16448, 0, 0, 0}, {12, 12336, 68, 1024, 0, 0, 0}, {10, 8224, 85, 1280, 0, 0, 0}, {6, 4112, 0, 0, 0, 0, 0}, {119, 1792, 0, 0, 0, 0, 0}, {136, 2048, 28792, 0, 0, 0, 0}, {6, 85, 1280, 4117, 0, 0, 0}, {10, 8224, 20560, 0, 0, 0, 0}, {12, 51, 768, 68, 1024, 0, 0}, {12, 12336, 16448, 0, 0, 0, 0}, {10, 34, 512, 85, 1280, 0, 0}, {6, 68, 1024, 4116, 0, 0, 0}, {255, 3840, 28799, 0, 0, 0, 0}, {28800, 0, 0, 0, 0, 0, 0}, {259, 261, 17, 0, 0, 0, 0}, {10, 34, 512, 20480, 0, 0, 0}, {12, 51, 771, 16448, 0, 0, 0}, {12, 12288, 68, 1024, 0, 0, 0}, {10, 8224, 85, 1285, 0, 0, 0}, {6, 4160, 0, 0, 0, 0, 0}, {1807, 119, 0, 0, 0, 0, 0}, {136, 2048, 28672, 0, 0, 0, 0}, {6, 85, 1285, 4112, 0, 0, 0}, {10, 8224, 20480, 0, 0, 0, 0}, {12, 51, 771, 68, 1024, 0, 0}, {12, 12288, 16448, 0, 0, 0, 0}, {10, 34, 512, 85, 1285, 0, 0}, {6, 68, 1024, 4096, 0, 0, 0}, {255, 3855, 28784, 0, 0, 0, 0}, {4144, 4176, 0, 0, 0, 0, 0}, {1800, 17, 0, 0, 0, 0, 0}, {72, 34, 4626, 16448, 0, 0, 0}, {95, 51, 4864, 20480, 0, 0, 0}, {40, 8224, 68, 5140, 0, 0, 0}, {63, 12288, 85, 5376, 0, 0, 0}, {5722, 102, 0, 0, 0, 0, 0}, {23, 4160, 0, 0, 0, 0, 0}, {72, 96, 4112, 0, 0, 0, 0}, {51, 5632, 85, 0, 0, 0, 0}, {106, 12336, 16384, 0, 0, 0, 0}, {27, 51, 4883, 68, 5120, 0, 0}, {108, 8192, 20560, 0, 0, 0, 0}, {29, 34, 4608, 85, 5397, 0, 0}, {34, 5654, 68, 0, 0, 0, 0}, {95, 96, 4096, 0, 0, 0, 0}, {160, 8192, 20480, 0, 0, 0, 0}, {12, 771, 1028, 17, 0, 0, 0}, {2056, 34, 21000, 0, 0, 0, 0}, {12, 51, 771, 83, 4099, 0, 0}, {12, 36, 68, 1028, 4100, 0, 0}, {3855, 9487, 85, 0, 0, 0, 0}, {12, 102, 5632, 16384, 0, 0, 0}, {95, 119, 1799, 20560, 0, 0, 0}, {40, 8224, 20480, 0, 0, 0, 0}, {12, 51, 771, 85, 5376, 0, 0}, {170, 23040, 28672, 0, 0, 0, 0}, {23, 68, 1028, 4112, 0, 0, 0}, {12, 96, 4096, 0, 0, 0, 0}, {34, 1799, 85, 0, 0, 0, 0}, {12, 34, 4608, 68, 1028, 0, 0}, {95, 8192, 20560, 0, 0, 0, 0}, {192, 12336, 16448, 0, 0, 0, 0}, {10, 512, 1280, 17, 0, 0, 0}, {10, 34, 512, 66, 4114, 0, 0}, {3840, 51, 17228, 0, 0, 0, 0}, {2048, 13372, 68, 0, 0, 0, 0}, {10, 53, 85, 1280, 4117, 0, 0}, {10, 102, 5654, 20560, 0, 0, 0}, {72, 119, 1792, 16384, 0, 0, 0}, {72, 12336, 16384, 0, 0, 0, 0}, {10, 51, 4883, 85, 1280, 0, 0}, {10, 96, 4112, 0, 0, 0, 0}, {51, 1792, 68, 0, 0, 0, 0}, {204, 19532, 28784, 0, 0, 0, 0}, {23, 85, 1280, 4096, 0, 0, 0}, {10, 34, 512, 68, 5140, 0, 0}, {63, 12288, 16448, 0, 0, 0, 0}, {192, 12288, 16384, 0, 0, 0, 0}, {10, 514, 1285, 17, 0, 0, 0}, {10, 34, 514, 66, 4098, 0, 0}, {3855, 51, 17167, 0, 0, 0, 0}, {2056, 13320, 68, 0, 0, 0, 0}, {10, 53, 85, 1285, 4101, 0, 0}, {10, 102, 5632, 20480, 0, 0, 0}, {72, 119, 1799, 16448, 0, 0, 0}, {72, 12288, 16448, 0, 0, 0, 0}, {10, 51, 4864, 85, 1285, 0, 0}, {10, 96, 4096, 0, 0, 0, 0}, {51, 1799, 68, 0, 0, 0, 0}, {204, 19456, 28672, 0, 0, 0, 0}, {23, 85, 1285, 4112, 0, 0, 0}, {10, 34, 514, 68, 5120, 0, 0}, {63, 12336, 16384, 0, 0, 0, 0}, {160, 8224, 20560, 0, 0, 0, 0}, {12, 768, 1024, 17, 0, 0, 0}, {2048, 34, 21082, 0, 0, 0, 0}, {12, 51, 768, 83, 4115, 0, 0}, {12, 36, 68, 1024, 4116, 0, 0}, {3840, 9514, 85, 0, 0, 0, 0}, {12, 102, 5654, 16448, 0, 0, 0}, {95, 119, 1792, 20480, 0, 0, 0}, {40, 8192, 20560, 0, 0, 0, 0}, {12, 51, 768, 85, 5397, 0, 0}, {170, 23130, 28784, 0, 0, 0, 0}, {23, 68, 1024, 4096, 0, 0, 0}, {12, 96, 4112, 0, 0, 0, 0}, {34, 1792, 85, 0, 0, 0, 0}, {12, 34, 4626, 68, 1024, 0, 0}, {95, 8224, 20480, 0, 0, 0, 0}, {4128, 4160, 0, 0, 0, 0, 0}, {1807, 17, 0, 0, 0, 0, 0}, {72, 34, 4608, 16384, 0, 0, 0}, {95, 51, 4883, 20560, 0, 0, 0}, {40, 8192, 68, 5120, 0, 0, 0}, {63, 12336, 85, 5397, 0, 0, 0}, {5708, 102, 0, 0, 0, 0, 0}, {23, 4176, 0, 0, 0, 0, 0}, {72, 96, 4096, 0, 0, 0, 0}, {51, 5654, 85, 0, 0, 0, 0}, {106, 12288, 16448, 0, 0, 0, 0}, {27, 51, 4864, 68, 5140, 0, 0}, {108, 8224, 20480, 0, 0, 0, 0}, {29, 34, 4626, 85, 5376, 0, 0}, {34, 5632, 68, 0, 0, 0, 0}, {95, 96, 4112, 0, 0, 0, 0}, {28912, 0, 0, 0, 0, 0, 0}, {258, 260, 17, 0, 0, 0, 0}, {10, 34, 514, 20560, 0, 0, 0}, {12, 51, 768, 16384, 0, 0, 0}, {12, 12336, 68, 1028, 0, 0, 0}, {10, 8192, 85, 1280, 0, 0, 0}, {6, 4176, 0, 0, 0, 0, 0}, {1800, 119, 0, 0, 0, 0, 0}, {136, 2056, 28784, 0, 0, 0, 0}, {6, 85, 1280, 4096, 0, 0, 0}, {10, 8192, 20560, 0, 0, 0, 0}, {12, 51, 768, 68, 1028, 0, 0}, {12, 12336, 16384, 0, 0, 0, 0}, {10, 34, 514, 85, 1280, 0, 0}, {6, 68, 1028, 4112, 0, 0, 0}, {255, 3840, 28672, 0, 0, 0, 0}, {1536, 4352, 0, 0, 0, 0, 0}, {112, 257, 0, 0, 0, 0, 0}, {1032, 4386, 514, 16384, 0, 0, 0}, {1295, 4403, 771, 20480, 0, 0, 0}, {520, 8192, 4420, 1028, 0, 0, 0}, {783, 12288, 4437, 1285, 0, 0, 0}, {4454, 1542, 0, 0, 0, 0, 0}, {263, 4096, 0, 0, 0, 0, 0}, {4360, 4864, 5376, 0, 0, 0, 0}, {4457, 771, 1285, 0, 0, 0, 0}, {1546, 13056, 17408, 0, 0, 0, 0}, {267, 4144, 771, 4160, 1028, 0, 0}, {1548, 8704, 21760, 0, 0, 0, 0}, {269, 4128, 514, 4176, 1285, 0, 0}, {4462, 514, 1028, 0, 0, 0, 0}, {4367, 4608, 5120, 0, 0, 0, 0}, {1792, 272, 0, 0, 0, 0, 0}, {1638, 4369, 0, 0, 0, 0, 0}, {1370, 4386, 4626, 20480, 0, 0, 0}, {1100, 4403, 4883, 16384, 0, 0, 0}, {828, 12288, 4420, 5140, 0, 0, 0}, {554, 8192, 4437, 5397, 0, 0, 0}, {278, 4096, 0, 0, 0, 0, 0}, {4471, 5911, 0, 0, 0, 0, 0}, {5912, 816, 1360, 0, 0, 0, 0}, {4377, 4915, 5461, 0, 0, 0, 0}, {282, 4144, 4864, 4160, 5120, 0, 0}, {1644, 13107, 17476, 0, 0, 0, 0}, {284, 4128, 4608, 4176, 5376, 0, 0}, {1642, 8738, 21845, 0, 0, 0, 0}, {4382, 4642, 5188, 0, 0, 0, 0}, {5919, 544, 1088, 0, 0, 0, 0}, {544, 1024, 4352, 0, 0, 0, 0}, {771, 1365, 4369, 0, 0, 0, 0}, {3072, 4386, 21248, 0, 0, 0, 0}, {1036, 291, 771, 339, 4112, 0, 0}, {3084, 9252, 4420, 0, 0, 0, 0}, {783, 293, 341, 1024, 4096, 0, 0}, {1036, 4454, 5952, 16448, 0, 0, 0}, {1375, 4471, 1616, 20560, 0, 0, 0}, {5928, 13056, 21760, 0, 0, 0, 0}, {4377, 4144, 771, 4160, 5397, 0, 0}, {4394, 4864, 1024, 0, 0, 0, 0}, {4427, 771, 5140, 0, 0, 0, 0}, {1036, 544, 5440, 0, 0, 0, 0}, {783, 4642, 1365, 0, 0, 0, 0}, {5960, 8738, 17476, 0, 0, 0, 0}, {4367, 4128, 4608, 4176, 1024, 0, 0}, {816, 1280, 4352, 0, 0, 0, 0}, {514, 1092, 4369, 0, 0, 0, 0}, {1290, 306, 514, 322, 4112, 0, 0}, {2560, 4403, 16896, 0, 0, 0, 0}, {520, 308, 324, 1280, 4096, 0, 0}, {2570, 13621, 4437, 0, 0, 0, 0}, {1290, 4454, 5968, 20560, 0, 0, 0}, {1096, 4471, 1600, 16448, 0, 0, 0}, {4360, 4144, 4864, 4160, 1280, 0, 0}, {5983, 13107, 21845, 0, 0, 0, 0}, {1290, 816, 5200, 0, 0, 0, 0}, {520, 4915, 1092, 0, 0, 0, 0}, {4412, 4608, 1280, 0, 0, 0, 0}, {4445, 514, 5397, 0, 0, 0, 0}, {4382, 4128, 514, 4176, 5140, 0, 0}, {5951, 8704, 17408, 0, 0, 0, 0}, {512, 1088, 4352, 0, 0, 0, 0}, {819, 1285, 4369, 0, 0, 0, 0}, {2570, 4386, 16962, 0, 0, 0, 0}, {1295, 307, 512, 323, 4096, 0, 0}, {2560, 13568, 4420, 0, 0, 0, 0}, {522, 309, 325, 1285, 4112, 0, 0}, {1100, 4454, 1606, 16384, 0, 0, 0}, {1295, 4471, 5959, 20480, 0, 0, 0}, {5960, 13056, 21760, 0, 0, 0, 0}, {4377, 4128, 4883, 4176, 1285, 0, 0}, {522, 4896, 1088, 0, 0, 0, 0}, {1295, 819, 5188, 0, 0, 0, 0}, {4428, 512, 5376, 0, 0, 0, 0}, {4397, 4626, 1285, 0, 0, 0, 0}, {5928, 8738, 17476, 0, 0, 0, 0}, {4367, 4144, 512, 4160, 5120, 0, 0}, {768, 1360, 4352, 0, 0, 0, 0}, {546, 1028, 4369, 0, 0, 0, 0}, {1032, 290, 768, 338, 4096, 0, 0}, {3084, 4403, 21331, 0, 0, 0, 0}, {780, 292, 340, 1028, 4112, 0, 0}, {3072, 9216, 4437, 0, 0, 0, 0}, {1370, 4454, 1622, 20480, 0, 0, 0}, {1032, 4471, 5975, 16384, 0, 0, 0}, {4360, 4128, 768, 4176, 5376, 0, 0}, {5951, 13107, 21845, 0, 0, 0, 0}, {4442, 768, 5120, 0, 0, 0, 0}, {4411, 4883, 1028, 0, 0, 0, 0}, {780, 4656, 1360, 0, 0, 0, 0}, {1032, 546, 5461, 0, 0, 0, 0}, {4382, 4144, 4626, 4160, 1028, 0, 0}, {5983, 8704, 17408, 0, 0, 0, 0}, {1632, 4352, 0, 0, 0, 0, 0}, {1799, 273, 0, 0, 0, 0, 0}, {1096, 4386, 4864, 16448, 0, 0, 0}, {1375, 4403, 4608, 20560, 0, 0, 0}, {552, 8224, 4420, 5376, 0, 0, 0}, {831, 12336, 4437, 5120, 0, 0, 0}, {4454, 5888, 0, 0, 0, 0, 0}, {279, 4112, 0, 0, 0, 0, 0}, {4360, 4896, 5440, 0, 0, 0, 0}, {5903, 819, 1365, 0, 0, 0, 0}, {1642, 13056, 17408, 0, 0, 0, 0}, {283, 4128, 4883, 4176, 5140, 0, 0}, {1644, 8704, 21760, 0, 0, 0, 0}, {285, 4144, 4626, 4160, 5397, 0, 0}, {5896, 546, 1092, 0, 0, 0, 0}, {4367, 4656, 5200, 0, 0, 0, 0}, {112, 256, 0, 0, 0, 0, 0}, {1542, 4369, 0, 0, 0, 0, 0}, {1290, 4386, 768, 20560, 0, 0, 0}, {1036, 4403, 512, 16448, 0, 0, 0}, {780, 12336, 4420, 1280, 0, 0, 0}, {522, 8224, 4437, 1024, 0, 0, 0}, {262, 4112, 0, 0, 0, 0, 0}, {4471, 1536, 0, 0, 0, 0, 0}, {4472, 768, 1280, 0, 0, 0, 0}, {4377, 4883, 5397, 0, 0, 0, 0}, {266, 4128, 768, 4176, 1024, 0, 0}, {1548, 13107, 17476, 0, 0, 0, 0}, {268, 4144, 512, 4160, 1280, 0, 0}, {1546, 8738, 21845, 0, 0, 0, 0}, {4382, 4626, 5140, 0, 0, 0, 0}, {4479, 512, 1024, 0, 0, 0, 0}, {128, 512, 1024, 4352, 0, 0, 0}, {240, 771, 1285, 4369, 0, 0, 0}, {1546, 4386, 0, 0, 0, 0, 0}, {259, 4160, 0, 0, 0, 0, 0}, {1548, 4420, 0, 0, 0, 0, 0}, {4128, 261, 0, 0, 0, 0, 0}, {1036, 4454, 1542, 16448, 0, 0, 0}, {1295, 4471, 1536, 20480, 0, 0, 0}, {4488, 1536, 21760, 0, 0, 0, 0}, {265, 112, 771, 1285, 4112, 0, 0}, {522, 4896, 1024, 0, 0, 0, 0}, {1295, 771, 5188, 0, 0, 0, 0}, {1036, 512, 5440, 0, 0, 0, 0}, {783, 4642, 1285, 0, 0, 0, 0}, {4590, 1542, 17476, 0, 0, 0, 0}, {271, 112, 512, 1024, 4096, 0, 0}, {3840, 816, 1360, 4352, 0, 0, 0}, {2056, 546, 1092, 4369, 0, 0, 0}, {274, 4160, 0, 0, 0, 0, 0}, {5983, 4403, 0, 0, 0, 0, 0}, {4128, 276, 0, 0, 0, 0, 0}, {5951, 4437, 0, 0, 0, 0, 0}, {1370, 4454, 5888, 20480, 0, 0, 0}, {1096, 4471, 5911, 16448, 0, 0, 0}, {280, 1312, 1552, 1360, 4112, 0, 0}, {7509, 1638, 21845, 0, 0, 0, 0}, {4442, 816, 5120, 0, 0, 0, 0}, {4411, 4883, 1092, 0, 0, 0, 0}, {4412, 4608, 1360, 0, 0, 0, 0}, {4445, 546, 5397, 0, 0, 0, 0}, {286, 1076, 1558, 1092, 4096, 0, 0}, {7007, 1632, 17408, 0, 0, 0, 0}, {1696, 3072, 4352, 0, 0, 0, 0}, {289, 771, 337, 1028, 4369, 0, 0}, {1032, 4386, 4864, 16384, 0, 0, 0}, {1375, 4403, 771, 20560, 0, 0, 0}, {552, 8224, 4420, 1028, 0, 0, 0}, {783, 12288, 4437, 5120, 0, 0, 0}, {3084, 4454, 21260, 0, 0, 0, 0}, {1032, 295, 1799, 343, 4359, 0, 0}, {4360, 4896, 5376, 0, 0, 0, 0}, {5180, 771, 1365, 0, 0, 0, 0}, {4522, 5888, 17408, 0, 0, 0, 0}, {347, 112, 771, 1028, 4112, 0, 0}, {3084, 5984, 21760, 0, 0, 0, 0}, {1032, 1317, 1799, 1365, 4096, 0, 0}, {4940, 546, 1028, 0, 0, 0, 0}, {4367, 4608, 5200, 0, 0, 0, 0}, {304, 512, 320, 1280, 4352, 0, 0}, {1734, 2570, 4369, 0, 0, 0, 0}, {1290, 4386, 4626, 20560, 0, 0, 0}, {1100, 4403, 512, 16384, 0, 0, 0}, {828, 12288, 4420, 1280, 0, 0, 0}, {522, 8224, 4437, 5397, 0, 0, 0}, {1290, 310, 1792, 326, 4374, 0, 0}, {2560, 4471, 16968, 0, 0, 0, 0}, {4680, 816, 1280, 0, 0, 0, 0}, {4377, 4883, 5461, 0, 0, 0, 0}, {1290, 1072, 1792, 1088, 4112, 0, 0}, {2560, 6007, 17476, 0, 0, 0, 0}, {332, 112, 512, 1280, 4096, 0, 0}, {4573, 5911, 21845, 0, 0, 0, 0}, {4382, 4642, 5140, 0, 0, 0, 0}, {5439, 512, 1088, 0, 0, 0, 0}, {1728, 2560, 4352, 0, 0, 0, 0}, {305, 514, 321, 1285, 4369, 0, 0}, {1096, 4386, 514, 16448, 0, 0, 0}, {1295, 4403, 4608, 20480, 0, 0, 0}, {520, 8192, 4420, 5376, 0, 0, 0}, {831, 12336, 4437, 1285, 0, 0, 0}, {2570, 4454, 16906, 0, 0, 0, 0}, {1295, 311, 1799, 327, 4359, 0, 0}, {4360, 4864, 5440, 0, 0, 0, 0}, {4698, 819, 1285, 0, 0, 0, 0}, {2570, 5984, 17408, 0, 0, 0, 0}, {1295, 1076, 1799, 1092, 4096, 0, 0}, {4556, 5888, 21760, 0, 0, 0, 0}, {333, 112, 514, 1285, 4112, 0, 0}, {5418, 514, 1092, 0, 0, 0, 0}, {4367, 4656, 5120, 0, 0, 0, 0}, {288, 768, 336, 1024, 4352, 0, 0}, {1702, 3084, 4369, 0, 0, 0, 0}, {1370, 4386, 768, 20480, 0, 0, 0}, {1036, 4403, 4883, 16448, 0, 0, 0}, {780, 12336, 4420, 5140, 0, 0, 0}, {554, 8192, 4437, 1024, 0, 0, 0}, {1036, 294, 1792, 342, 4374, 0, 0}, {3072, 4471, 21343, 0, 0, 0, 0}, {5160, 768, 1360, 0, 0, 0, 0}, {4377, 4915, 5397, 0, 0, 0, 0}, {346, 112, 768, 1024, 4096, 0, 0}, {4539, 5911, 17476, 0, 0, 0, 0}, {1036, 1312, 1792, 1360, 4112, 0, 0}, {3072, 6007, 21845, 0, 0, 0, 0}, {4382, 4626, 5188, 0, 0, 0, 0}, {4959, 544, 1024, 0, 0, 0, 0}, {2048, 544, 1088, 4352, 0, 0, 0}, {3855, 819, 1365, 4369, 0, 0, 0}, {5960, 4386, 0, 0, 0, 0, 0}, {275, 4176, 0, 0, 0, 0, 0}, {5928, 4420, 0, 0, 0, 0, 0}, {4144, 277, 0, 0, 0, 0, 0}, {1100, 4454, 5888, 16384, 0, 0, 0}, {1375, 4471, 5911, 20560, 0, 0, 0}, {7496, 1632, 21760, 0, 0, 0, 0}, {281, 1317, 1558, 1365, 4096, 0, 0}, {4394, 4864, 1088, 0, 0, 0, 0}, {4427, 819, 5140, 0, 0, 0, 0}, {4428, 544, 5376, 0, 0, 0, 0}, {4397, 4626, 1365, 0, 0, 0, 0}, {6980, 1638, 17476, 0, 0, 0, 0}, {287, 1072, 1552, 1088, 4112, 0, 0}, {240, 768, 1280, 4352, 0, 0, 0}, {128, 514, 1028, 4369, 0, 0, 0}, {258, 4176, 0, 0, 0, 0, 0}, {1548, 4403, 0, 0, 0, 0, 0}, {4144, 260, 0, 0, 0, 0, 0}, {1546, 4437, 0, 0, 0, 0, 0}, {1290, 4454, 1542, 20560, 0, 0, 0}, {1032, 4471, 1536, 16384, 0, 0, 0}, {264, 112, 768, 1280, 4096, 0, 0}, {4505, 1542, 21845, 0, 0, 0, 0}, {1290, 768, 5200, 0, 0, 0, 0}, {520, 4915, 1028, 0, 0, 0, 0}, {780, 4656, 1280, 0, 0, 0, 0}, {1032, 514, 5461, 0, 0, 0, 0}, {270, 112, 514, 1028, 4112, 0, 0}, {4607, 1536, 17408, 0, 0, 0, 0}, {2560, 8704, 20480, 0, 0, 0, 0}, {12, 51, 64, 257, 0, 0, 0}, {128, 514, 20512, 0, 0, 0, 0}, {12, 51, 771, 1283, 4352, 0, 0}, {12, 516, 64, 1028, 4096, 0, 0}, {255, 8789, 1285, 0, 0, 0, 0}, {12, 5216, 1542, 17408, 0, 0, 0}, {1295, 1392, 1799, 21760, 0, 0, 0}, {520, 8192, 20480, 0, 0, 0, 0}, {12, 51, 771, 4437, 1285, 0, 0}, {20640, 2570, 29194, 0, 0, 0, 0}, {263, 64, 1028, 4356, 0, 0, 0}, {12, 4608, 5120, 0, 0, 0, 0}, {127, 514, 1285, 0, 0, 0, 0}, {12, 4128, 514, 64, 1028, 0, 0}, {1295, 8704, 21760, 0, 0, 0, 0}, {2048, 544, 64, 4112, 0, 0, 0}, {3840, 51, 1365, 4369, 0, 0, 0}, {192, 4626, 20528, 0, 0, 0, 0}, {76, 51, 531, 1299, 4352, 0, 0}, {204, 8772, 5140, 0, 0, 0, 0}, {63, 533, 64, 1301, 4096, 0, 0}, {76, 5232, 5654, 17408, 0, 0, 0}, {1375, 1376, 5911, 21760, 0, 0, 0}, {4728, 12336, 20560, 0, 0, 0, 0}, {4377, 51, 4864, 4437, 5120, 0, 0}, {4634, 4144, 64, 0, 0, 0, 0}, {5147, 51, 4420, 0, 0, 0, 0}, {5148, 544, 5200, 0, 0, 0, 0}, {4637, 4642, 1365, 0, 0, 0, 0}, {5240, 8738, 17476, 0, 0, 0, 0}, {4127, 4128, 4608, 64, 5376, 0, 0}, {2048, 544, 20992, 0, 0, 0, 0}, {12, 51, 771, 1366, 4369, 0, 0}, {2730, 8738, 20480, 0, 0, 0, 0}, {12, 771, 1024, 272, 0, 0, 0}, {12, 5156, 4676, 17476, 0, 0, 0}, {1370, 1317, 597, 21845, 0, 0, 0}, {12, 550, 64, 1024, 4096, 0, 0}, {3855, 10023, 1360, 0, 0, 0, 0}, {20640, 23040, 29224, 0, 0, 0, 0}, {278, 64, 1024, 4373, 0, 0, 0}, {554, 8192, 20480, 0, 0, 0, 0}, {12, 51, 771, 4420, 5140, 0, 0}, {12, 4128, 4608, 64, 1024, 0, 0}, {1370, 8738, 21845, 0, 0, 0, 0}, {12, 4642, 5188, 0, 0, 0, 0}, {1807, 544, 1360, 0, 0, 0, 0}, {2560, 4656, 16896, 0, 0, 0, 0}, {1290, 51, 514, 1350, 4369, 0, 0}, {514, 64, 4112, 0, 0, 0, 0}, {51, 1280, 4352, 0, 0, 0, 0}, {76, 5172, 580, 17476, 0, 0, 0}, {1290, 1333, 4693, 21845, 0, 0, 0}, {2570, 13878, 5200, 0, 0, 0, 0}, {520, 567, 64, 1280, 4096, 0, 0}, {520, 4144, 64, 0, 0, 0, 0}, {1290, 51, 4437, 0, 0, 0, 0}, {4698, 12336, 20560, 0, 0, 0, 0}, {4360, 51, 4864, 4420, 1280, 0, 0}, {5180, 8704, 17408, 0, 0, 0, 0}, {4127, 4128, 514, 64, 5397, 0, 0}, {76, 514, 5140, 0, 0, 0, 0}, {63, 4608, 1280, 0, 0, 0, 0}, {512, 64, 4096, 0, 0, 0, 0}, {51, 1285, 4369, 0, 0, 0, 0}, {2570, 4642, 16962, 0, 0, 0, 0}, {1295, 51, 512, 1347, 4352, 0, 0}, {2560, 13824, 5188, 0, 0, 0, 0}, {522, 565, 64, 1285, 4112, 0, 0}, {76, 5152, 582, 17408, 0, 0, 0}, {1295, 1328, 4679, 21760, 0, 0, 0}, {4680, 12288, 20480, 0, 0, 0, 0}, {4377, 51, 4883, 4437, 1285, 0, 0}, {522, 4128, 64, 0, 0, 0, 0}, {1295, 51, 4420, 0, 0, 0, 0}, {76, 512, 5120, 0, 0, 0, 0}, {63, 4626, 1285, 0, 0, 0, 0}, {5160, 8738, 17476, 0, 0, 0, 0}, {4111, 4144, 512, 64, 5376, 0, 0}, {2720, 8704, 20560, 0, 0, 0, 0}, {12, 768, 1028, 273, 0, 0, 0}, {2056, 546, 21074, 0, 0, 0, 0}, {12, 51, 768, 1363, 4352, 0, 0}, {12, 548, 64, 1028, 4112, 0, 0}, {3840, 9984, 1365, 0, 0, 0, 0}, {12, 5168, 4694, 17408, 0, 0, 0}, {1375, 1312, 599, 21760, 0, 0, 0}, {552, 8224, 20560, 0, 0, 0, 0}, {12, 51, 768, 4437, 5120, 0, 0}, {20720, 23130, 29274, 0, 0, 0, 0}, {279, 64, 1028, 4356, 0, 0, 0}, {12, 4656, 5200, 0, 0, 0, 0}, {1800, 546, 1365, 0, 0, 0, 0}, {12, 4144, 4626, 64, 1028, 0, 0}, {1375, 8704, 21760, 0, 0, 0, 0}, {192, 4608, 20576, 0, 0, 0, 0}, {76, 51, 529, 1302, 4369, 0, 0}, {2056, 546, 64, 4096, 0, 0, 0}, {3855, 51, 1360, 4352, 0, 0, 0}, {76, 5220, 5632, 17476, 0, 0, 0}, {1370, 1381, 5888, 21845, 0, 0, 0}, {204, 8806, 5120, 0, 0, 0, 0}, {63, 535, 64, 1296, 4112, 0, 0}, {4616, 4128, 64, 0, 0, 0, 0}, {5135, 51, 4437, 0, 0, 0, 0}, {4714, 12288, 20480, 0, 0, 0, 0}, {4360, 51, 4883, 4420, 5140, 0, 0}, {5228, 8704, 17408, 0, 0, 0, 0}, {4111, 4144, 4626, 64, 5397, 0, 0}, {5128, 546, 5188, 0, 0, 0, 0}, {4623, 4656, 1360, 0, 0, 0, 0}, {128, 512, 20592, 0, 0, 0, 0}, {12, 51, 768, 1286, 4369, 0, 0}, {2570, 8738, 20560, 0, 0, 0, 0}, {12, 51, 64, 256, 0, 0, 0}, {12, 5236, 1536, 17476, 0, 0, 0}, {1290, 1397, 1792, 21845, 0, 0, 0}, {12, 518, 64, 1024, 4112, 0, 0}, {255, 8823, 1280, 0, 0, 0, 0}, {20720, 2560, 29304, 0, 0, 0, 0}, {262, 64, 1024, 4373, 0, 0, 0}, {522, 8224, 20560, 0, 0, 0, 0}, {12, 51, 768, 4420, 1280, 0, 0}, {12, 4144, 512, 64, 1024, 0, 0}, {1290, 8738, 21845, 0, 0, 0, 0}, {12, 4626, 5140, 0, 0, 0, 0}, {127, 512, 1280, 0, 0, 0, 0}, {128, 512, 20480, 0, 0, 0, 0}, {12, 51, 771, 1285, 4369, 0, 0}, {20640, 2570, 8738, 0, 0, 0, 0}, {259, 64, 1024, 4352, 0, 0, 0}, {12, 1536, 5188, 0, 0, 0, 0}, {522, 629, 1285, 0, 0, 0, 0}, {12, 4128, 518, 64, 1024, 0, 0}, {1295, 8823, 21760, 0, 0, 0, 0}, {8840, 2560, 20480, 0, 0, 0, 0}, {51, 771, 261, 4112, 0, 0, 0}, {522, 8224, 20512, 0, 0, 0, 0}, {12, 51, 771, 4420, 1283, 0, 0}, {12, 512, 64, 1024, 4096, 0, 0}, {255, 8738, 1285, 0, 0, 0, 0}, {12, 5156, 1542, 17476, 0, 0, 0}, {1295, 1392, 512, 21760, 0, 0, 0}, {6224, 4656, 20560, 0, 0, 0, 0}, {1305, 51, 529, 1365, 4369, 0, 0}, {4144, 4626, 64, 0, 0, 0, 0}, {1375, 51, 4352, 0, 0, 0, 0}, {76, 612, 5140, 0, 0, 0, 0}, {63, 5888, 1365, 0, 0, 0, 0}, {5180, 8806, 17408, 0, 0, 0, 0}, {4127, 4128, 535, 64, 5376, 0, 0}, {552, 64, 4112, 0, 0, 0, 0}, {51, 4437, 5120, 0, 0, 0, 0}, {4698, 12336, 20528, 0, 0, 0, 0}, {4360, 51, 4883, 4420, 1299, 0, 0}, {7740, 8704, 5200, 0, 0, 0, 0}, {541, 546, 64, 1301, 4096, 0, 0}, {76, 5172, 5654, 17476, 0, 0, 0}, {1375, 1376, 4608, 21760, 0, 0, 0}, {20640, 23040, 8704, 0, 0, 0, 0}, {274, 64, 1028, 4369, 0, 0, 0}, {2056, 546, 20480, 0, 0, 0, 0}, {12, 51, 771, 1360, 4352, 0, 0}, {12, 4128, 4612, 64, 1028, 0, 0}, {1370, 8789, 21845, 0, 0, 0, 0}, {12, 4710, 5120, 0, 0, 0, 0}, {1327, 1799, 1360, 0, 0, 0, 0}, {552, 8224, 20512, 0, 0, 0, 0}, {12, 51, 771, 4437, 5123, 0, 0}, {8874, 10240, 20480, 0, 0, 0, 0}, {51, 771, 276, 4112, 0, 0, 0}, {12, 5216, 4608, 17408, 0, 0, 0}, {1370, 1317, 1799, 21845, 0, 0, 0}, {12, 546, 64, 1028, 4096, 0, 0}, {3855, 8704, 1360, 0, 0, 0, 0}, {4144, 512, 64, 0, 0, 0, 0}, {1290, 51, 4369, 0, 0, 0, 0}, {192, 4626, 20560, 0, 0, 0, 0}, {76, 51, 512, 1280, 4352, 0, 0}, {5240, 8772, 17476, 0, 0, 0, 0}, {4127, 4128, 4629, 64, 5397, 0, 0}, {5148, 5654, 5200, 0, 0, 0, 0}, {4680, 4727, 1280, 0, 0, 0, 0}, {4728, 12336, 20528, 0, 0, 0, 0}, {4377, 51, 4883, 4437, 5139, 0, 0}, {522, 64, 4112, 0, 0, 0, 0}, {51, 4420, 1280, 0, 0, 0, 0}, {76, 5232, 512, 17408, 0, 0, 0}, {1290, 1333, 5911, 21845, 0, 0, 0}, {204, 8738, 5140, 0, 0, 0, 0}, {63, 512, 64, 1280, 4096, 0, 0}, {192, 4608, 20480, 0, 0, 0, 0}, {76, 51, 514, 1285, 4369, 0, 0}, {4128, 514, 64, 0, 0, 0, 0}, {1295, 51, 4352, 0, 0, 0, 0}, {5128, 5632, 5188, 0, 0, 0, 0}, {4698, 4709, 1285, 0, 0, 0, 0}, {5228, 8806, 17408, 0, 0, 0, 0}, {4111, 4144, 4615, 64, 5376, 0, 0}, {520, 64, 4096, 0, 0, 0, 0}, {51, 4437, 1285, 0, 0, 0, 0}, {4714, 12288, 20576, 0, 0, 0, 0}, {4360, 51, 4864, 4420, 5127, 0, 0}, {204, 8704, 5120, 0, 0, 0, 0}, {63, 514, 64, 1285, 4112, 0, 0}, {76, 5220, 514, 17476, 0, 0, 0}, {1295, 1328, 5888, 21760, 0, 0, 0}, {2048, 544, 20560, 0, 0, 0, 0}, {12, 51, 768, 1365, 4369, 0, 0}, {20720, 23130, 8738, 0, 0, 0, 0}, {275, 64, 1024, 4352, 0, 0, 0}, {12, 4724, 5140, 0, 0, 0, 0}, {1322, 1792, 1365, 0, 0, 0, 0}, {12, 4144, 4630, 64, 1024, 0, 0}, {1375, 8823, 21760, 0, 0, 0, 0}, {8840, 10280, 20560, 0, 0, 0, 0}, {51, 768, 277, 4096, 0, 0, 0}, {554, 8192, 20592, 0, 0, 0, 0}, {12, 51, 768, 4420, 5143, 0, 0}, {12, 544, 64, 1024, 4112, 0, 0}, {3840, 8738, 1365, 0, 0, 0, 0}, {12, 5236, 4626, 17476, 0, 0, 0}, {1375, 1312, 1792, 21760, 0, 0, 0}, {4128, 4608, 64, 0, 0, 0, 0}, {1370, 51, 4369, 0, 0, 0, 0}, {6216, 4642, 20480, 0, 0, 0, 0}, {1308, 51, 531, 1360, 4352, 0, 0}, {5160, 8772, 17476, 0, 0, 0, 0}, {4111, 4144, 533, 64, 5397, 0, 0}, {76, 614, 5120, 0, 0, 0, 0}, {63, 5911, 1360, 0, 0, 0, 0}, {4680, 12288, 20576, 0, 0, 0, 0}, {4377, 51, 4864, 4437, 1302, 0, 0}, {554, 64, 4096, 0, 0, 0, 0}, {51, 4420, 5140, 0, 0, 0, 0}, {76, 5152, 5632, 17408, 0, 0, 0}, {1370, 1381, 4626, 21845, 0, 0, 0}, {7714, 8738, 5188, 0, 0, 0, 0}, {543, 544, 64, 1296, 4112, 0, 0}, {20720, 2560, 8704, 0, 0, 0, 0}, {258, 64, 1028, 4369, 0, 0, 0}, {128, 514, 20560, 0, 0, 0, 0}, {12, 51, 768, 1280, 4352, 0, 0}, {12, 4144, 516, 64, 1028, 0, 0}, {1290, 8789, 21845, 0, 0, 0, 0}, {12, 1542, 5200, 0, 0, 0, 0}, {520, 631, 1280, 0, 0, 0, 0}, {520, 8192, 20592, 0, 0, 0, 0}, {12, 51, 768, 4437, 1286, 0, 0}, {8874, 2570, 20560, 0, 0, 0, 0}, {51, 768, 260, 4096, 0, 0, 0}, {12, 5168, 1536, 17408, 0, 0, 0}, {1290, 1397, 514, 21845, 0, 0, 0}, {12, 514, 64, 1028, 4112, 0, 0}, {255, 8704, 1280, 0, 0, 0, 0}, {3072, 13056, 16384, 0, 0, 0, 0}, {10, 34, 80, 257, 0, 0, 0}, {10, 34, 514, 1026, 4352, 0, 0}, {240, 771, 16432, 0, 0, 0, 0}, {136, 13124, 1028, 0, 0, 0, 0}, {10, 773, 80, 1285, 4096, 0, 0}, {10, 5472, 1542, 21760, 0, 0, 0}, {1032, 1136, 1799, 17408, 0, 0, 0}, {1032, 13056, 17408, 0, 0, 0, 0}, {10, 4144, 771, 80, 1285, 0, 0}, {10, 4864, 5376, 0, 0, 0, 0}, {120, 771, 1028, 0, 0, 0, 0}, {16576, 3084, 29452, 0, 0, 0, 0}, {263, 80, 1285, 4357, 0, 0, 0}, {10, 34, 514, 4420, 1028, 0, 0}, {783, 12288, 16384, 0, 0, 0, 0}, {3840, 816, 80, 4112, 0, 0, 0}, {2048, 34, 1092, 4369, 0, 0, 0}, {90, 34, 786, 1042, 4352, 0, 0}, {160, 4883, 16416, 0, 0, 0, 0}, {40, 788, 80, 1044, 4096, 0, 0}, {170, 13141, 5397, 0, 0, 0, 0}, {90, 5488, 5654, 21760, 0, 0, 0}, {1096, 1120, 5911, 17408, 0, 0, 0}, {4120, 4144, 4864, 80, 5120, 0, 0}, {5503, 13107, 21845, 0, 0, 0, 0}, {5402, 816, 5440, 0, 0, 0, 0}, {4891, 4915, 1092, 0, 0, 0, 0}, {4892, 4128, 80, 0, 0, 0, 0}, {5405, 34, 4437, 0, 0, 0, 0}, {4382, 34, 4608, 4420, 5376, 0, 0}, {4991, 8224, 16448, 0, 0, 0, 0}, {3072, 4896, 21248, 0, 0, 0, 0}, {1036, 34, 771, 1110, 4369, 0, 0}, {34, 1024, 4352, 0, 0, 0, 0}, {771, 80, 4112, 0, 0, 0, 0}, {1036, 1060, 4932, 17476, 0, 0, 0}, {90, 5413, 853, 21845, 0, 0, 0}, {3084, 9766, 5440, 0, 0, 0, 0}, {783, 807, 80, 1024, 4096, 0, 0}, {40, 4864, 1024, 0, 0, 0, 0}, {90, 771, 5397, 0, 0, 0, 0}, {5418, 13056, 21760, 0, 0, 0, 0}, {4120, 4144, 771, 80, 5140, 0, 0}, {4940, 8224, 16448, 0, 0, 0, 0}, {4367, 34, 4608, 4437, 1024, 0, 0}, {1036, 34, 4420, 0, 0, 0, 0}, {783, 4128, 80, 0, 0, 0, 0}, {3840, 816, 17152, 0, 0, 0, 0}, {10, 34, 514, 1094, 4369, 0, 0}, {10, 514, 1280, 272, 0, 0, 0}, {3276, 13107, 16384, 0, 0, 0, 0}, {1100, 1076, 836, 17476, 0, 0, 0}, {10, 5429, 4949, 21845, 0, 0, 0}, {10, 822, 80, 1280, 4096, 0, 0}, {2056, 14135, 1088, 0, 0, 0, 0}, {1800, 816, 1088, 0, 0, 0, 0}, {10, 4915, 5461, 0, 0, 0, 0}, {10, 4144, 4864, 80, 1280, 0, 0}, {1100, 13107, 17476, 0, 0, 0, 0}, {828, 12288, 16384, 0, 0, 0, 0}, {10, 34, 514, 4437, 5397, 0, 0}, {278, 80, 1280, 4372, 0, 0, 0}, {16576, 19456, 29503, 0, 0, 0, 0}, {3264, 13056, 16448, 0, 0, 0, 0}, {10, 512, 1285, 273, 0, 0, 0}, {10, 34, 512, 1090, 4352, 0, 0}, {3855, 819, 17219, 0, 0, 0, 0}, {2048, 14080, 1092, 0, 0, 0, 0}, {10, 821, 80, 1285, 4112, 0, 0}, {10, 5408, 4934, 21760, 0, 0, 0}, {1096, 1072, 839, 17408, 0, 0, 0}, {1096, 13056, 17408, 0, 0, 0, 0}, {10, 4128, 4883, 80, 1285, 0, 0}, {10, 4896, 5440, 0, 0, 0, 0}, {1807, 819, 1092, 0, 0, 0, 0}, {16512, 19532, 29516, 0, 0, 0, 0}, {279, 80, 1285, 4357, 0, 0, 0}, {10, 34, 512, 4420, 5376, 0, 0}, {831, 12336, 16448, 0, 0, 0, 0}, {768, 80, 4096, 0, 0, 0, 0}, {34, 1028, 4369, 0, 0, 0, 0}, {1032, 34, 768, 1106, 4352, 0, 0}, {3084, 4915, 21331, 0, 0, 0, 0}, {780, 804, 80, 1028, 4112, 0, 0}, {3072, 9728, 5461, 0, 0, 0, 0}, {90, 5424, 854, 21760, 0, 0, 0}, {1032, 1056, 4951, 17408, 0, 0, 0}, {4104, 4128, 768, 80, 5120, 0, 0}, {5439, 13107, 21845, 0, 0, 0, 0}, {90, 768, 5376, 0, 0, 0, 0}, {40, 4883, 1028, 0, 0, 0, 0}, {780, 4144, 80, 0, 0, 0, 0}, {1032, 34, 4437, 0, 0, 0, 0}, {4382, 34, 4626, 4420, 1028, 0, 0}, {4959, 8192, 16384, 0, 0, 0, 0}, {160, 4864, 16480, 0, 0, 0, 0}, {90, 34, 785, 1046, 4369, 0, 0}, {2056, 34, 1088, 4352, 0, 0, 0}, {3855, 819, 80, 4096, 0, 0, 0}, {1100, 1124, 5888, 17476, 0, 0, 0}, {90, 5477, 5632, 21845, 0, 0, 0}, {170, 13158, 5376, 0, 0, 0, 0}, {40, 791, 80, 1040, 4112, 0, 0}, {4872, 4896, 1088, 0, 0, 0, 0}, {5391, 819, 5461, 0, 0, 0, 0}, {5482, 13056, 21760, 0, 0, 0, 0}, {4104, 4128, 4883, 80, 5140, 0, 0}, {4972, 8192, 16384, 0, 0, 0, 0}, {4367, 34, 4626, 4437, 5397, 0, 0}, {5384, 34, 4420, 0, 0, 0, 0}, {4879, 4144, 80, 0, 0, 0, 0}, {240, 768, 16496, 0, 0, 0, 0}, {10, 34, 512, 1030, 4369, 0, 0}, {10, 34, 80, 256, 0, 0, 0}, {3084, 13107, 16448, 0, 0, 0, 0}, {1036, 1140, 1792, 17476, 0, 0, 0}, {10, 5493, 1536, 21845, 0, 0, 0}, {10, 774, 80, 1280, 4112, 0, 0}, {136, 13175, 1024, 0, 0, 0, 0}, {120, 768, 1024, 0, 0, 0, 0}, {10, 4883, 5397, 0, 0, 0, 0}, {10, 4128, 768, 80, 1280, 0, 0}, {1036, 13107, 17476, 0, 0, 0, 0}, {780, 12336, 16448, 0, 0, 0, 0}, {10, 34, 512, 4437, 1024, 0, 0}, {262, 80, 1280, 4372, 0, 0, 0}, {16512, 3072, 29567, 0, 0, 0, 0}, {16512, 3072, 13056, 0, 0, 0, 0}, {259, 80, 1285, 4369, 0, 0, 0}, {10, 34, 512, 1024, 4352, 0, 0}, {240, 771, 16448, 0, 0, 0, 0}, {1036, 13124, 17476, 0, 0, 0, 0}, {10, 4128, 773, 80, 1285, 0, 0}, {10, 1542, 5440, 0, 0, 0, 0}, {783, 887, 1024, 0, 0, 0, 0}, {136, 13056, 1024, 0, 0, 0, 0}, {10, 771, 80, 1285, 4112, 0, 0}, {10, 5408, 1536, 21760, 0, 0, 0}, {1036, 1140, 771, 17476, 0, 0, 0}, {13260, 3084, 16448, 0, 0, 0, 0}, {34, 512, 261, 4096, 0, 0, 0}, {10, 34, 512, 4420, 1030, 0, 0}, {783, 12288, 16496, 0, 0, 0, 0}, {4144, 4864, 80, 0, 0, 0, 0}, {1100, 34, 4369, 0, 0, 0, 0}, {1050, 34, 786, 1088, 4352, 0, 0}, {8031, 4915, 16384, 0, 0, 0, 0}, {4104, 4128, 788, 80, 5140, 0, 0}, {5439, 13141, 21845, 0, 0, 0, 0}, {90, 870, 5376, 0, 0, 0, 0}, {40, 5911, 1088, 0, 0, 0, 0}, {792, 816, 80, 1040, 4112, 0, 0}, {6451, 13107, 5461, 0, 0, 0, 0}, {90, 5424, 5632, 21760, 0, 0, 0}, {1100, 1124, 4883, 17476, 0, 0, 0}, {828, 80, 4096, 0, 0, 0, 0}, {34, 4437, 5397, 0, 0, 0, 0}, {4382, 34, 4608, 4420, 1046, 0, 0}, {4959, 8192, 16480, 0, 0, 0, 0}, {160, 4864, 16384, 0, 0, 0, 0}, {90, 34, 771, 1028, 4369, 0, 0}, {1032, 34, 4352, 0, 0, 0, 0}, {4144, 771, 80, 0, 0, 0, 0}, {4940, 4964, 1028, 0, 0, 0, 0}, {5391, 5632, 5461, 0, 0, 0, 0}, {5482, 13158, 21760, 0, 0, 0, 0}, {4104, 4128, 4871, 80, 5120, 0, 0}, {1032, 1056, 5888, 17408, 0, 0, 0}, {90, 5477, 771, 21845, 0, 0, 0}, {170, 13056, 5376, 0, 0, 0, 0}, {40, 771, 80, 1028, 4112, 0, 0}, {4972, 8192, 16480, 0, 0, 0, 0}, {4367, 34, 4608, 4437, 5383, 0, 0}, {34, 4420, 1028, 0, 0, 0, 0}, {783, 80, 4096, 0, 0, 0, 0}, {3840, 816, 16448, 0, 0, 0, 0}, {10, 34, 512, 1092, 4369, 0, 0}, {274, 80, 1280, 4352, 0, 0, 0}, {16512, 19532, 13107, 0, 0, 0, 0}, {1084, 1792, 1092, 0, 0, 0, 0}, {10, 4981, 5397, 0, 0, 0, 0}, {10, 4128, 4886, 80, 1280, 0, 0}, {1096, 13175, 17408, 0, 0, 0, 0}, {1096, 1072, 1792, 17408, 0, 0, 0}, {10, 5493, 4883, 21845, 0, 0, 0}, {10, 816, 80, 1280, 4112, 0, 0}, {2048, 13107, 1092, 0, 0, 0, 0}, {828, 12288, 16496, 0, 0, 0, 0}, {10, 34, 512, 4437, 5399, 0, 0}, {34, 512, 276, 4096, 0, 0, 0}, {13311, 16191, 16448, 0, 0, 0, 0}, {16576, 19456, 13056, 0, 0, 0, 0}, {275, 80, 1285, 4369, 0, 0, 0}, {10, 34, 514, 1088, 4352, 0, 0}, {3855, 819, 16384, 0, 0, 0, 0}, {1100, 13124, 17476, 0, 0, 0, 0}, {10, 4144, 4869, 80, 1285, 0, 0}, {10, 4966, 5376, 0, 0, 0, 0}, {1080, 1799, 1088, 0, 0, 0, 0}, {2056, 13056, 1088, 0, 0, 0, 0}, {10, 819, 80, 1285, 4096, 0, 0}, {10, 5472, 4864, 21760, 0, 0, 0}, {1100, 1076, 1799, 17476, 0, 0, 0}, {13260, 16128, 16384, 0, 0, 0, 0}, {34, 514, 277, 4112, 0, 0, 0}, {10, 34, 514, 4420, 5378, 0, 0}, {831, 12336, 16432, 0, 0, 0, 0}, {4128, 768, 80, 0, 0, 0, 0}, {1036, 34, 4369, 0, 0, 0, 0}, {90, 34, 768, 1024, 4352, 0, 0}, {160, 4883, 16448, 0, 0, 0, 0}, {4120, 4144, 4884, 80, 5140, 0, 0}, {5503, 13141, 21845, 0, 0, 0, 0}, {5402, 5654, 5440, 0, 0, 0, 0}, {4959, 4983, 1024, 0, 0, 0, 0}, {40, 768, 80, 1024, 4096, 0, 0}, {170, 13107, 5397, 0, 0, 0, 0}, {90, 5488, 768, 21760, 0, 0, 0}, {1036, 1060, 5911, 17476, 0, 0, 0}, {780, 80, 4112, 0, 0, 0, 0}, {34, 4437, 1024, 0, 0, 0, 0}, {4382, 34, 4626, 4420, 5394, 0, 0}, {4991, 8224, 16416, 0, 0, 0, 0}, {8000, 4896, 16448, 0, 0, 0, 0}, {1054, 34, 785, 1092, 4369, 0, 0}, {1096, 34, 4352, 0, 0, 0, 0}, {4128, 4883, 80, 0, 0, 0, 0}, {40, 5888, 1092, 0, 0, 0, 0}, {90, 869, 5397, 0, 0, 0, 0}, {5418, 13158, 21760, 0, 0, 0, 0}, {4120, 4144, 791, 80, 5120, 0, 0}, {1096, 1120, 4864, 17408, 0, 0, 0}, {90, 5413, 5654, 21845, 0, 0, 0}, {6442, 13056, 5440, 0, 0, 0, 0}, {795, 819, 80, 1044, 4096, 0, 0}, {4940, 8224, 16416, 0, 0, 0, 0}, {4367, 34, 4626, 4437, 1042, 0, 0}, {34, 4420, 5376, 0, 0, 0, 0}, {831, 80, 4112, 0, 0, 0, 0}, {240, 768, 16384, 0, 0, 0, 0}, {10, 34, 514, 1028, 4369, 0, 0}, {258, 80, 1280, 4352, 0, 0, 0}, {16576, 3084, 13107, 0, 0, 0, 0}, {780, 884, 1028, 0, 0, 0, 0}, {10, 1536, 5461, 0, 0, 0, 0}, {10, 4144, 774, 80, 1280, 0, 0}, {1032, 13175, 17408, 0, 0, 0, 0}, {1032, 1136, 768, 17408, 0, 0, 0}, {10, 5429, 1542, 21845, 0, 0, 0}, {10, 768, 80, 1280, 4096, 0, 0}, {136, 13107, 1028, 0, 0, 0, 0}, {780, 12336, 16432, 0, 0, 0, 0}, {10, 34, 514, 4437, 1026, 0, 0}, {34, 514, 260, 4112, 0, 0, 0}, {13311, 3072, 16384, 0, 0, 0, 0}, {3072, 12288, 17408, 0, 0, 0, 0}, {10, 32, 85, 257, 0, 0, 0}, {10, 32, 514, 1026, 4096, 0, 0}, {255, 771, 17459, 0, 0, 0, 0}, {128, 12352, 1028, 0, 0, 0, 0}, {10, 773, 85, 1285, 4352, 0, 0}, {10, 5222, 1542, 20480, 0, 0, 0}, {1032, 1143, 1799, 16384, 0, 0, 0}, {1032, 12288, 16384, 0, 0, 0, 0}, {10, 4403, 771, 85, 1285, 0, 0}, {10, 4608, 5120, 0, 0, 0, 0}, {127, 771, 1028, 0, 0, 0, 0}, {17612, 3084, 29708, 0, 0, 0, 0}, {263, 85, 1285, 4101, 0, 0, 0}, {10, 32, 514, 4160, 1028, 0, 0}, {783, 13056, 17408, 0, 0, 0, 0}, {2048, 32, 1088, 4112, 0, 0, 0}, {3840, 819, 85, 4369, 0, 0, 0}, {170, 4626, 17442, 0, 0, 0, 0}, {95, 32, 787, 1043, 4096, 0, 0}, {160, 12368, 5140, 0, 0, 0, 0}, {42, 789, 85, 1045, 4352, 0, 0}, {1100, 1126, 5654, 16384, 0, 0, 0}, {95, 5239, 5911, 20480, 0, 0, 0}, {5240, 12336, 20560, 0, 0, 0, 0}, {4377, 4403, 4608, 85, 5376, 0, 0}, {4634, 4656, 1088, 0, 0, 0, 0}, {5147, 819, 5188, 0, 0, 0, 0}, {5148, 32, 4176, 0, 0, 0, 0}, {4637, 4386, 85, 0, 0, 0, 0}, {4728, 8738, 17476, 0, 0, 0, 0}, {4127, 32, 4864, 4160, 5120, 0, 0}, {32, 1024, 4096, 0, 0, 0, 0}, {771, 85, 4369, 0, 0, 0, 0}, {3072, 4642, 22016, 0, 0, 0, 0}, {1036, 32, 771, 1107, 4112, 0, 0}, {3084, 9252, 5188, 0, 0, 0, 0}, {783, 805, 85, 1024, 4352, 0, 0}, {1036, 1062, 4672, 16448, 0, 0, 0}, {95, 5159, 848, 20560, 0, 0, 0}, {5160, 12288, 20480, 0, 0, 0, 0}, {4377, 4403, 771, 85, 5397, 0, 0}, {42, 4608, 1024, 0, 0, 0, 0}, {95, 771, 5140, 0, 0, 0, 0}, {1036, 32, 4160, 0, 0, 0, 0}, {783, 4386, 85, 0, 0, 0, 0}, {4680, 8738, 17476, 0, 0, 0, 0}, {4111, 32, 4864, 4176, 1024, 0, 0}, {3264, 12336, 17408, 0, 0, 0, 0}, {10, 514, 1280, 273, 0, 0, 0}, {10, 32, 514, 1090, 4112, 0, 0}, {3840, 819, 18176, 0, 0, 0, 0}, {2056, 13364, 1092, 0, 0, 0, 0}, {10, 821, 85, 1280, 4352, 0, 0}, {10, 5174, 4688, 20560, 0, 0, 0}, {1096, 1079, 832, 16448, 0, 0, 0}, {1096, 12336, 16448, 0, 0, 0, 0}, {10, 4403, 4608, 85, 1280, 0, 0}, {10, 4656, 5200, 0, 0, 0, 0}, {1800, 819, 1092, 0, 0, 0, 0}, {17612, 18432, 29756, 0, 0, 0, 0}, {279, 85, 1280, 4117, 0, 0, 0}, {10, 32, 514, 4176, 5140, 0, 0}, {831, 13056, 17408, 0, 0, 0, 0}, {2048, 13312, 1088, 0, 0, 0, 0}, {10, 822, 85, 1285, 4369, 0, 0}, {10, 5154, 4674, 20480, 0, 0, 0}, {1100, 1075, 835, 16384, 0, 0, 0}, {3276, 12288, 17476, 0, 0, 0, 0}, {10, 512, 1285, 272, 0, 0, 0}, {10, 32, 512, 1094, 4096, 0, 0}, {3855, 816, 18247, 0, 0, 0, 0}, {17544, 18504, 29768, 0, 0, 0, 0}, {278, 85, 1285, 4101, 0, 0, 0}, {10, 32, 512, 4160, 5120, 0, 0}, {828, 13107, 17476, 0, 0, 0, 0}, {1100, 12288, 16384, 0, 0, 0, 0}, {10, 4386, 4626, 85, 1285, 0, 0}, {10, 4642, 5188, 0, 0, 0, 0}, {1807, 816, 1088, 0, 0, 0, 0}, {3072, 9216, 5200, 0, 0, 0, 0}, {780, 806, 85, 1028, 4369, 0, 0}, {1032, 1058, 4690, 16384, 0, 0, 0}, {95, 5171, 851, 20480, 0, 0, 0}, {32, 1028, 4112, 0, 0, 0, 0}, {768, 85, 4352, 0, 0, 0, 0}, {3084, 4656, 22102, 0, 0, 0, 0}, {1032, 32, 768, 1111, 4096, 0, 0}, {1032, 32, 4176, 0, 0, 0, 0}, {780, 4403, 85, 0, 0, 0, 0}, {4698, 8704, 17408, 0, 0, 0, 0}, {4127, 32, 4883, 4160, 1028, 0, 0}, {5180, 12336, 20560, 0, 0, 0, 0}, {4360, 4386, 768, 85, 5376, 0, 0}, {42, 4626, 1028, 0, 0, 0, 0}, {95, 768, 5120, 0, 0, 0, 0}, {160, 12384, 5120, 0, 0, 0, 0}, {42, 790, 85, 1041, 4369, 0, 0}, {1096, 1122, 5632, 16448, 0, 0, 0}, {95, 5219, 5888, 20560, 0, 0, 0}, {2056, 32, 1092, 4096, 0, 0, 0}, {3855, 816, 85, 4352, 0, 0, 0}, {170, 4608, 17510, 0, 0, 0, 0}, {95, 32, 784, 1047, 4112, 0, 0}, {5128, 32, 4160, 0, 0, 0, 0}, {4623, 4403, 85, 0, 0, 0, 0}, {4714, 8704, 17408, 0, 0, 0, 0}, {4111, 32, 4883, 4176, 5140, 0, 0}, {5228, 12288, 20480, 0, 0, 0, 0}, {4360, 4386, 4626, 85, 5397, 0, 0}, {4616, 4642, 1092, 0, 0, 0, 0}, {5135, 816, 5200, 0, 0, 0, 0}, {128, 12400, 1024, 0, 0, 0, 0}, {10, 774, 85, 1280, 4369, 0, 0}, {10, 5234, 1536, 20560, 0, 0, 0}, {1036, 1139, 1792, 16448, 0, 0, 0}, {3084, 12336, 17476, 0, 0, 0, 0}, {10, 32, 85, 256, 0, 0, 0}, {10, 32, 512, 1030, 4112, 0, 0}, {255, 768, 17527, 0, 0, 0, 0}, {17544, 3072, 29816, 0, 0, 0, 0}, {262, 85, 1280, 4117, 0, 0, 0}, {10, 32, 512, 4176, 1024, 0, 0}, {780, 13107, 17476, 0, 0, 0, 0}, {1036, 12336, 16448, 0, 0, 0, 0}, {10, 4386, 768, 85, 1280, 0, 0}, {10, 4626, 5140, 0, 0, 0, 0}, {127, 768, 1024, 0, 0, 0, 0}, {128, 12288, 1024, 0, 0, 0, 0}, {10, 771, 85, 1285, 4369, 0, 0}, {10, 5154, 1536, 20480, 0, 0, 0}, {1036, 1139, 771, 16448, 0, 0, 0}, {12480, 3084, 17476, 0, 0, 0, 0}, {32, 512, 261, 4352, 0, 0, 0}, {10, 32, 512, 4160, 1030, 0, 0}, {783, 13056, 17527, 0, 0, 0, 0}, {17544, 3072, 12288, 0, 0, 0, 0}, {259, 85, 1285, 4112, 0, 0, 0}, {10, 32, 512, 1024, 4096, 0, 0}, {255, 771, 17476, 0, 0, 0, 0}, {1036, 12352, 16448, 0, 0, 0, 0}, {10, 4386, 773, 85, 1285, 0, 0}, {10, 1542, 5188, 0, 0, 0, 0}, {783, 880, 1024, 0, 0, 0, 0}, {6192, 12336, 5200, 0, 0, 0, 0}, {793, 819, 85, 1041, 4369, 0, 0}, {1096, 1122, 4626, 16448, 0, 0, 0}, {95, 5171, 5888, 20480, 0, 0, 0}, {32, 4176, 5140, 0, 0, 0, 0}, {831, 85, 4352, 0, 0, 0, 0}, {4698, 8704, 17510, 0, 0, 0, 0}, {4127, 32, 4864, 4160, 1047, 0, 0}, {1096, 32, 4112, 0, 0, 0, 0}, {4403, 4608, 85, 0, 0, 0, 0}, {7770, 4656, 17408, 0, 0, 0, 0}, {1051, 32, 787, 1092, 4096, 0, 0}, {5180, 12368, 20560, 0, 0, 0, 0}, {4360, 4386, 789, 85, 5397, 0, 0}, {42, 5654, 1092, 0, 0, 0, 0}, {95, 864, 5120, 0, 0, 0, 0}, {160, 12288, 5120, 0, 0, 0, 0}, {42, 771, 85, 1028, 4369, 0, 0}, {1032, 1058, 5632, 16384, 0, 0, 0}, {95, 5219, 771, 20560, 0, 0, 0}, {32, 4160, 1028, 0, 0, 0, 0}, {783, 85, 4352, 0, 0, 0, 0}, {4714, 8704, 17510, 0, 0, 0, 0}, {4111, 32, 4864, 4176, 5127, 0, 0}, {1032, 32, 4096, 0, 0, 0, 0}, {4403, 771, 85, 0, 0, 0, 0}, {170, 4608, 17408, 0, 0, 0, 0}, {95, 32, 771, 1028, 4112, 0, 0}, {5228, 12384, 20480, 0, 0, 0, 0}, {4360, 4386, 4615, 85, 5376, 0, 0}, {4680, 4706, 1028, 0, 0, 0, 0}, {5135, 5888, 5200, 0, 0, 0, 0}, {2048, 12336, 1088, 0, 0, 0, 0}, {10, 819, 85, 1280, 4369, 0, 0}, {10, 5234, 4626, 20560, 0, 0, 0}, {1100, 1075, 1792, 16384, 0, 0, 0}, {12528, 15420, 17476, 0, 0, 0, 0}, {32, 512, 277, 4352, 0, 0, 0}, {10, 32, 512, 4176, 5142, 0, 0}, {831, 13056, 17527, 0, 0, 0, 0}, {17544, 18504, 12336, 0, 0, 0, 0}, {275, 85, 1280, 4096, 0, 0, 0}, {10, 32, 512, 1088, 4112, 0, 0}, {3840, 819, 17476, 0, 0, 0, 0}, {1100, 12400, 16384, 0, 0, 0, 0}, {10, 4386, 4631, 85, 1280, 0, 0}, {10, 4722, 5140, 0, 0, 0, 0}, {1087, 1792, 1088, 0, 0, 0, 0}, {12480, 15360, 17408, 0, 0, 0, 0}, {32, 514, 276, 4369, 0, 0, 0}, {10, 32, 514, 4160, 5122, 0, 0}, {828, 13107, 17459, 0, 0, 0, 0}, {2056, 12288, 1092, 0, 0, 0, 0}, {10, 816, 85, 1285, 4352, 0, 0}, {10, 5222, 4608, 20480, 0, 0, 0}, {1096, 1079, 1799, 16448, 0, 0, 0}, {1096, 12352, 16448, 0, 0, 0, 0}, {10, 4403, 4613, 85, 1285, 0, 0}, {10, 4704, 5120, 0, 0, 0, 0}, {1083, 1799, 1092, 0, 0, 0, 0}, {17612, 18432, 12288, 0, 0, 0, 0}, {274, 85, 1285, 4112, 0, 0, 0}, {10, 32, 514, 1092, 4096, 0, 0}, {3855, 816, 17408, 0, 0, 0, 0}, {32, 4176, 1024, 0, 0, 0, 0}, {780, 85, 4369, 0, 0, 0, 0}, {4728, 8738, 17442, 0, 0, 0, 0}, {4127, 32, 4883, 4160, 5139, 0, 0}, {160, 12336, 5140, 0, 0, 0, 0}, {42, 768, 85, 1024, 4352, 0, 0}, {1036, 1062, 5654, 16448, 0, 0, 0}, {95, 5239, 768, 20480, 0, 0, 0}, {5240, 12368, 20560, 0, 0, 0, 0}, {4377, 4403, 4629, 85, 5397, 0, 0}, {4698, 4720, 1024, 0, 0, 0, 0}, {5147, 5911, 5188, 0, 0, 0, 0}, {1036, 32, 4112, 0, 0, 0, 0}, {4386, 768, 85, 0, 0, 0, 0}, {170, 4626, 17476, 0, 0, 0, 0}, {95, 32, 768, 1024, 4096, 0, 0}, {32, 4160, 5120, 0, 0, 0, 0}, {828, 85, 4369, 0, 0, 0, 0}, {4680, 8738, 17442, 0, 0, 0, 0}, {4111, 32, 4883, 4176, 1043, 0, 0}, {6184, 12288, 5188, 0, 0, 0, 0}, {794, 816, 85, 1045, 4352, 0, 0}, {1100, 1126, 4608, 16384, 0, 0, 0}, {95, 5159, 5911, 20560, 0, 0, 0}, {5160, 12384, 20480, 0, 0, 0, 0}, {4377, 4403, 790, 85, 5376, 0, 0}, {42, 5632, 1088, 0, 0, 0, 0}, {95, 867, 5140, 0, 0, 0, 0}, {1100, 32, 4096, 0, 0, 0, 0}, {4386, 4626, 85, 0, 0, 0, 0}, {7748, 4642, 17476, 0, 0, 0, 0}, {1055, 32, 784, 1088, 4112, 0, 0}, {12528, 3072, 17408, 0, 0, 0, 0}, {32, 514, 260, 4369, 0, 0, 0}, {10, 32, 514, 4176, 1026, 0, 0}, {780, 13107, 17459, 0, 0, 0, 0}, {128, 12336, 1028, 0, 0, 0, 0}, {10, 768, 85, 1280, 4352, 0, 0}, {10, 5174, 1542, 20560, 0, 0, 0}, {1032, 1143, 768, 16384, 0, 0, 0}, {1032, 12400, 16384, 0, 0, 0, 0}, {10, 4403, 774, 85, 1280, 0, 0}, {10, 1536, 5200, 0, 0, 0, 0}, {780, 883, 1028, 0, 0, 0, 0}, {17612, 3084, 12336, 0, 0, 0, 0}, {258, 85, 1280, 4096, 0, 0, 0}, {10, 32, 514, 1028, 4112, 0, 0}, {255, 768, 17408, 0, 0, 0, 0}, {2560, 8192, 21760, 0, 0, 0, 0}, {12, 48, 68, 257, 0, 0, 0}, {136, 514, 21794, 0, 0, 0, 0}, {12, 48, 771, 1283, 4096, 0, 0}, {12, 516, 68, 1028, 4352, 0, 0}, {240, 8272, 1285, 0, 0, 0, 0}, {12, 5478, 1542, 16384, 0, 0, 0}, {1295, 1399, 1799, 20480, 0, 0, 0}, {520, 8704, 21760, 0, 0, 0, 0}, {12, 48, 771, 4176, 1285, 0, 0}, {21930, 2570, 29962, 0, 0, 0, 0}, {263, 68, 1028, 4100, 0, 0, 0}, {12, 4864, 5376, 0, 0, 0, 0}, {120, 514, 1285, 0, 0, 0, 0}, {12, 4386, 514, 68, 1028, 0, 0}, {1295, 8192, 20480, 0, 0, 0, 0}, {3840, 48, 1360, 4112, 0, 0, 0}, {2048, 546, 68, 4369, 0, 0, 0}, {72, 48, 530, 1298, 4096, 0, 0}, {204, 4883, 21811, 0, 0, 0, 0}, {60, 532, 68, 1300, 4352, 0, 0}, {192, 8256, 5397, 0, 0, 0, 0}, {1370, 1382, 5654, 20480, 0, 0, 0}, {72, 5495, 5911, 16384, 0, 0, 0}, {4120, 48, 4608, 4176, 5376, 0, 0}, {4991, 13107, 21845, 0, 0, 0, 0}, {5402, 48, 4160, 0, 0, 0, 0}, {4891, 4403, 68, 0, 0, 0, 0}, {4892, 4896, 1360, 0, 0, 0, 0}, {5405, 546, 5461, 0, 0, 0, 0}, {4382, 4386, 4864, 68, 5120, 0, 0}, {5503, 8224, 16448, 0, 0, 0, 0}, {2720, 8224, 21760, 0, 0, 0, 0}, {12, 771, 1024, 273, 0, 0, 0}, {2048, 546, 22272, 0, 0, 0, 0}, {12, 48, 771, 1363, 4112, 0, 0}, {12, 548, 68, 1024, 4352, 0, 0}, {3855, 9509, 1365, 0, 0, 0, 0}, {12, 5414, 4928, 16448, 0, 0, 0}, {1375, 1319, 592, 20560, 0, 0, 0}, {552, 8704, 21760, 0, 0, 0, 0}, {12, 48, 771, 4160, 5397, 0, 0}, {21930, 24320, 29994, 0, 0, 0, 0}, {279, 68, 1024, 4116, 0, 0, 0}, {12, 4896, 5440, 0, 0, 0, 0}, {1807, 546, 1365, 0, 0, 0, 0}, {12, 4386, 4864, 68, 1024, 0, 0}, {1375, 8224, 20560, 0, 0, 0, 0}, {48, 1280, 4096, 0, 0, 0, 0}, {514, 68, 4369, 0, 0, 0, 0}, {1290, 48, 514, 1346, 4112, 0, 0}, {2560, 4915, 17920, 0, 0, 0, 0}, {520, 564, 68, 1280, 4352, 0, 0}, {2570, 13621, 5461, 0, 0, 0, 0}, {1290, 1334, 4944, 20560, 0, 0, 0}, {72, 5431, 576, 16448, 0, 0, 0}, {4104, 48, 4608, 4160, 1280, 0, 0}, {4959, 13107, 21845, 0, 0, 0, 0}, {1290, 48, 4176, 0, 0, 0, 0}, {520, 4403, 68, 0, 0, 0, 0}, {60, 4864, 1280, 0, 0, 0, 0}, {72, 514, 5397, 0, 0, 0, 0}, {4382, 4386, 514, 68, 5140, 0, 0}, {5439, 8192, 16384, 0, 0, 0, 0}, {2560, 13568, 5440, 0, 0, 0, 0}, {522, 566, 68, 1285, 4369, 0, 0}, {72, 5410, 578, 16384, 0, 0, 0}, {1295, 1331, 4931, 20480, 0, 0, 0}, {512, 68, 4352, 0, 0, 0, 0}, {48, 1285, 4112, 0, 0, 0, 0}, {2570, 4896, 17990, 0, 0, 0, 0}, {1295, 48, 512, 1351, 4096, 0, 0}, {72, 512, 5376, 0, 0, 0, 0}, {60, 4883, 1285, 0, 0, 0, 0}, {5418, 8224, 16448, 0, 0, 0, 0}, {4367, 4403, 512, 68, 5120, 0, 0}, {4940, 13056, 21760, 0, 0, 0, 0}, {4120, 48, 4626, 4176, 1285, 0, 0}, {522, 4386, 68, 0, 0, 0, 0}, {1295, 48, 4160, 0, 0, 0, 0}, {3840, 9472, 1360, 0, 0, 0, 0}, {12, 550, 68, 1028, 4369, 0, 0}, {1370, 1314, 594, 20480, 0, 0, 0}, {12, 5427, 4947, 16384, 0, 0, 0}, {12, 768, 1028, 272, 0, 0, 0}, {2730, 8192, 21845, 0, 0, 0, 0}, {12, 48, 768, 1366, 4096, 0, 0}, {2056, 544, 22359, 0, 0, 0, 0}, {1800, 544, 1360, 0, 0, 0, 0}, {12, 4915, 5461, 0, 0, 0, 0}, {1370, 8192, 20480, 0, 0, 0, 0}, {12, 4403, 4883, 68, 1028, 0, 0}, {12, 48, 768, 4176, 5376, 0, 0}, {554, 8738, 21845, 0, 0, 0, 0}, {278, 68, 1028, 4100, 0, 0, 0}, {22015, 24415, 30047, 0, 0, 0, 0}, {192, 8288, 5376, 0, 0, 0, 0}, {60, 534, 68, 1297, 4369, 0, 0}, {72, 5474, 5888, 16448, 0, 0, 0}, {1375, 1379, 5632, 20560, 0, 0, 0}, {2056, 544, 68, 4352, 0, 0, 0}, {3855, 48, 1365, 4096, 0, 0, 0}, {204, 4864, 21862, 0, 0, 0, 0}, {72, 48, 528, 1303, 4112, 0, 0}, {5384, 544, 5440, 0, 0, 0, 0}, {4879, 4915, 1365, 0, 0, 0, 0}, {5482, 8192, 16384, 0, 0, 0, 0}, {4367, 4403, 4883, 68, 5140, 0, 0}, {4972, 13056, 21760, 0, 0, 0, 0}, {4104, 48, 4626, 4160, 5397, 0, 0}, {4872, 4386, 68, 0, 0, 0, 0}, {5391, 48, 4176, 0, 0, 0, 0}, {240, 8304, 1280, 0, 0, 0, 0}, {12, 518, 68, 1024, 4369, 0, 0}, {1290, 1394, 1792, 20560, 0, 0, 0}, {12, 5491, 1536, 16448, 0, 0, 0}, {12, 48, 68, 256, 0, 0, 0}, {2570, 8224, 21845, 0, 0, 0, 0}, {12, 48, 768, 1286, 4112, 0, 0}, {136, 512, 21879, 0, 0, 0, 0}, {120, 512, 1280, 0, 0, 0, 0}, {12, 4883, 5397, 0, 0, 0, 0}, {1290, 8224, 20560, 0, 0, 0, 0}, {12, 4403, 512, 68, 1024, 0, 0}, {12, 48, 768, 4160, 1280, 0, 0}, {522, 8738, 21845, 0, 0, 0, 0}, {262, 68, 1024, 4116, 0, 0, 0}, {22015, 2560, 30079, 0, 0, 0, 0}, {8320, 2560, 21760, 0, 0, 0, 0}, {48, 771, 261, 4369, 0, 0, 0}, {522, 8738, 21794, 0, 0, 0, 0}, {12, 48, 771, 4160, 1283, 0, 0}, {12, 512, 68, 1024, 4352, 0, 0}, {240, 8224, 1285, 0, 0, 0, 0}, {12, 5414, 1542, 16448, 0, 0, 0}, {1295, 1399, 512, 20480, 0, 0, 0}, {136, 512, 21760, 0, 0, 0, 0}, {12, 48, 771, 1285, 4112, 0, 0}, {21930, 2570, 8224, 0, 0, 0, 0}, {259, 68, 1024, 4096, 0, 0, 0}, {12, 1536, 5440, 0, 0, 0, 0}, {522, 626, 1285, 0, 0, 0, 0}, {12, 4386, 518, 68, 1024, 0, 0}, {1295, 8304, 20480, 0, 0, 0, 0}, {48, 4176, 5376, 0, 0, 0, 0}, {554, 68, 4369, 0, 0, 0, 0}, {4104, 48, 4626, 4160, 1298, 0, 0}, {4959, 13107, 21811, 0, 0, 0, 0}, {540, 544, 68, 1300, 4352, 0, 0}, {7999, 8192, 5461, 0, 0, 0, 0}, {1370, 1382, 4864, 20480, 0, 0, 0}, {72, 5431, 5911, 16448, 0, 0, 0}, {1304, 48, 528, 1360, 4112, 0, 0}, {6485, 4915, 21845, 0, 0, 0, 0}, {1370, 48, 4096, 0, 0, 0, 0}, {4403, 4883, 68, 0, 0, 0, 0}, {60, 5632, 1360, 0, 0, 0, 0}, {72, 610, 5397, 0, 0, 0, 0}, {4382, 4386, 534, 68, 5120, 0, 0}, {5439, 8288, 16384, 0, 0, 0, 0}, {8352, 10752, 21760, 0, 0, 0, 0}, {48, 771, 277, 4369, 0, 0, 0}, {554, 8738, 21794, 0, 0, 0, 0}, {12, 48, 771, 4176, 5379, 0, 0}, {12, 544, 68, 1028, 4352, 0, 0}, {3855, 8192, 1365, 0, 0, 0, 0}, {12, 5478, 4864, 16384, 0, 0, 0}, {1375, 1319, 1799, 20560, 0, 0, 0}, {2056, 544, 21760, 0, 0, 0, 0}, {12, 48, 771, 1365, 4096, 0, 0}, {21930, 24320, 8192, 0, 0, 0, 0}, {275, 68, 1028, 4112, 0, 0, 0}, {12, 4960, 5376, 0, 0, 0, 0}, {1325, 1799, 1365, 0, 0, 0, 0}, {12, 4386, 4868, 68, 1028, 0, 0}, {1375, 8272, 20560, 0, 0, 0, 0}, {48, 4160, 1280, 0, 0, 0, 0}, {522, 68, 4369, 0, 0, 0, 0}, {4120, 48, 4626, 4176, 5394, 0, 0}, {4991, 13107, 21811, 0, 0, 0, 0}, {60, 512, 68, 1280, 4352, 0, 0}, {192, 8224, 5397, 0, 0, 0, 0}, {1290, 1334, 5654, 20560, 0, 0, 0}, {72, 5495, 512, 16384, 0, 0, 0}, {72, 48, 512, 1280, 4096, 0, 0}, {204, 4883, 21845, 0, 0, 0, 0}, {1290, 48, 4112, 0, 0, 0, 0}, {4403, 512, 68, 0, 0, 0, 0}, {4940, 4976, 1280, 0, 0, 0, 0}, {5405, 5911, 5461, 0, 0, 0, 0}, {4382, 4386, 4884, 68, 5140, 0, 0}, {5503, 8256, 16448, 0, 0, 0, 0}, {192, 8192, 5376, 0, 0, 0, 0}, {60, 514, 68, 1285, 4369, 0, 0}, {72, 5474, 514, 16448, 0, 0, 0}, {1295, 1331, 5632, 20480, 0, 0, 0}, {520, 68, 4352, 0, 0, 0, 0}, {48, 4176, 1285, 0, 0, 0, 0}, {4972, 13056, 21862, 0, 0, 0, 0}, {4104, 48, 4608, 4160, 5383, 0, 0}, {5384, 5888, 5440, 0, 0, 0, 0}, {4959, 4963, 1285, 0, 0, 0, 0}, {5482, 8288, 16384, 0, 0, 0, 0}, {4367, 4403, 4871, 68, 5120, 0, 0}, {204, 4864, 21760, 0, 0, 0, 0}, {72, 48, 514, 1285, 4112, 0, 0}, {4386, 514, 68, 0, 0, 0, 0}, {1295, 48, 4096, 0, 0, 0, 0}, {3840, 8224, 1360, 0, 0, 0, 0}, {12, 546, 68, 1024, 4369, 0, 0}, {1370, 1314, 1792, 20480, 0, 0, 0}, {12, 5491, 4883, 16448, 0, 0, 0}, {48, 768, 276, 4352, 0, 0, 0}, {8320, 10794, 21845, 0, 0, 0, 0}, {12, 48, 768, 4160, 5398, 0, 0}, {552, 8704, 21879, 0, 0, 0, 0}, {1320, 1792, 1360, 0, 0, 0, 0}, {12, 4979, 5397, 0, 0, 0, 0}, {1370, 8304, 20480, 0, 0, 0, 0}, {12, 4403, 4887, 68, 1024, 0, 0}, {12, 48, 768, 1360, 4112, 0, 0}, {2048, 546, 21845, 0, 0, 0, 0}, {274, 68, 1024, 4096, 0, 0, 0}, {22015, 24415, 8224, 0, 0, 0, 0}, {7968, 8224, 5440, 0, 0, 0, 0}, {542, 546, 68, 1297, 4369, 0, 0}, {72, 5410, 5888, 16384, 0, 0, 0}, {1375, 1379, 4883, 20560, 0, 0, 0}, {552, 68, 4352, 0, 0, 0, 0}, {48, 4160, 5397, 0, 0, 0, 0}, {4940, 13056, 21862, 0, 0, 0, 0}, {4120, 48, 4608, 4176, 1303, 0, 0}, {72, 608, 5376, 0, 0, 0, 0}, {60, 5654, 1365, 0, 0, 0, 0}, {5418, 8256, 16448, 0, 0, 0, 0}, {4367, 4403, 532, 68, 5140, 0, 0}, {6476, 4896, 21760, 0, 0, 0, 0}, {1309, 48, 530, 1365, 4096, 0, 0}, {4386, 4864, 68, 0, 0, 0, 0}, {1375, 48, 4112, 0, 0, 0, 0}, {240, 8192, 1280, 0, 0, 0, 0}, {12, 514, 68, 1028, 4369, 0, 0}, {1290, 1394, 514, 20560, 0, 0, 0}, {12, 5427, 1536, 16384, 0, 0, 0}, {48, 768, 260, 4352, 0, 0, 0}, {8352, 2570, 21845, 0, 0, 0, 0}, {12, 48, 768, 4176, 1286, 0, 0}, {520, 8704, 21879, 0, 0, 0, 0}, {520, 624, 1280, 0, 0, 0, 0}, {12, 1542, 5461, 0, 0, 0, 0}, {1290, 8272, 20560, 0, 0, 0, 0}, {12, 4403, 516, 68, 1028, 0, 0}, {12, 48, 768, 1280, 4096, 0, 0}, {136, 514, 21845, 0, 0, 0, 0}, {258, 68, 1028, 4112, 0, 0, 0}, {22015, 2560, 8192, 0, 0, 0, 0}, {1536, 4096, 0, 0, 0, 0, 0}, {119, 257, 0, 0, 0, 0, 0}, {1032, 4128, 514, 17408, 0, 0, 0}, {1295, 4144, 771, 21760, 0, 0, 0}, {520, 8704, 4160, 1028, 0, 0, 0}, {783, 13056, 4176, 1285, 0, 0, 0}, {4192, 1542, 0, 0, 0, 0, 0}, {263, 4352, 0, 0, 0, 0, 0}, {4104, 4608, 5120, 0, 0, 0, 0}, {4207, 771, 1285, 0, 0, 0, 0}, {1546, 12288, 16384, 0, 0, 0, 0}, {267, 4403, 771, 4420, 1028, 0, 0}, {1548, 8192, 20480, 0, 0, 0, 0}, {269, 4386, 514, 4437, 1285, 0, 0}, {4200, 514, 1028, 0, 0, 0, 0}, {4111, 4864, 5376, 0, 0, 0, 0}, {1632, 4112, 0, 0, 0, 0, 0}, {1792, 273, 0, 0, 0, 0, 0}, {1096, 4144, 4626, 17408, 0, 0, 0}, {1375, 4128, 4883, 21760, 0, 0, 0}, {552, 8704, 4176, 5140, 0, 0, 0}, {831, 13056, 4160, 5397, 0, 0, 0}, {4208, 5654, 0, 0, 0, 0, 0}, {279, 4352, 0, 0, 0, 0, 0}, {4120, 4656, 5200, 0, 0, 0, 0}, {5657, 819, 1365, 0, 0, 0, 0}, {1642, 12336, 16448, 0, 0, 0, 0}, {283, 4403, 4608, 4420, 5376, 0, 0}, {1644, 8224, 20560, 0, 0, 0, 0}, {285, 4386, 4864, 4437, 5120, 0, 0}, {5662, 546, 1092, 0, 0, 0, 0}, {4127, 4896, 5440, 0, 0, 0, 0}, {3072, 4128, 22016, 0, 0, 0, 0}, {1036, 289, 771, 342, 4369, 0, 0}, {546, 1024, 4096, 0, 0, 0, 0}, {771, 1360, 4112, 0, 0, 0, 0}, {1036, 4192, 5700, 17476, 0, 0, 0}, {1370, 4208, 1621, 21845, 0, 0, 0}, {3084, 9766, 4160, 0, 0, 0, 0}, {783, 295, 336, 1024, 4352, 0, 0}, {4136, 4608, 1024, 0, 0, 0, 0}, {4175, 771, 5397, 0, 0, 0, 0}, {5674, 12288, 20480, 0, 0, 0, 0}, {4120, 4403, 771, 4420, 5140, 0, 0}, {5708, 8224, 16448, 0, 0, 0, 0}, {4111, 4386, 4864, 4437, 1024, 0, 0}, {1036, 546, 5188, 0, 0, 0, 0}, {783, 4896, 1360, 0, 0, 0, 0}, {2560, 4144, 17920, 0, 0, 0, 0}, {1290, 305, 514, 326, 4369, 0, 0}, {514, 1088, 4112, 0, 0, 0, 0}, {819, 1280, 4096, 0, 0, 0, 0}, {1100, 4208, 1604, 17476, 0, 0, 0}, {1290, 4192, 5717, 21845, 0, 0, 0}, {2570, 13878, 4176, 0, 0, 0, 0}, {520, 311, 320, 1280, 4352, 0, 0}, {520, 4656, 1088, 0, 0, 0, 0}, {1290, 819, 5461, 0, 0, 0, 0}, {5722, 12336, 20560, 0, 0, 0, 0}, {4104, 4403, 4608, 4420, 1280, 0, 0}, {5692, 8192, 16384, 0, 0, 0, 0}, {4127, 4386, 514, 4437, 5397, 0, 0}, {4184, 514, 5140, 0, 0, 0, 0}, {4159, 4864, 1280, 0, 0, 0, 0}, {2560, 13824, 4160, 0, 0, 0, 0}, {522, 310, 321, 1285, 4369, 0, 0}, {1096, 4192, 1602, 17408, 0, 0, 0}, {1295, 4208, 5699, 21760, 0, 0, 0}, {512, 1092, 4096, 0, 0, 0, 0}, {816, 1285, 4112, 0, 0, 0, 0}, {2570, 4128, 17990, 0, 0, 0, 0}, {1295, 304, 512, 327, 4352, 0, 0}, {4168, 512, 5120, 0, 0, 0, 0}, {4143, 4883, 1285, 0, 0, 0, 0}, {5674, 8224, 16448, 0, 0, 0, 0}, {4111, 4403, 512, 4420, 5376, 0, 0}, {5708, 12288, 20480, 0, 0, 0, 0}, {4120, 4386, 4626, 4437, 1285, 0, 0}, {522, 4642, 1092, 0, 0, 0, 0}, {1295, 816, 5440, 0, 0, 0, 0}, {3072, 9728, 4176, 0, 0, 0, 0}, {780, 294, 337, 1028, 4369, 0, 0}, {1032, 4208, 5714, 17408, 0, 0, 0}, {1375, 4192, 1619, 21760, 0, 0, 0}, {544, 1028, 4112, 0, 0, 0, 0}, {768, 1365, 4096, 0, 0, 0, 0}, {3084, 4144, 22102, 0, 0, 0, 0}, {1032, 288, 768, 343, 4352, 0, 0}, {1032, 544, 5200, 0, 0, 0, 0}, {780, 4915, 1365, 0, 0, 0, 0}, {5722, 8192, 16384, 0, 0, 0, 0}, {4127, 4403, 4883, 4420, 1028, 0, 0}, {5692, 12336, 20560, 0, 0, 0, 0}, {4104, 4386, 768, 4437, 5120, 0, 0}, {4152, 4626, 1028, 0, 0, 0, 0}, {4191, 768, 5376, 0, 0, 0, 0}, {4192, 5632, 0, 0, 0, 0, 0}, {278, 4369, 0, 0, 0, 0, 0}, {554, 8738, 4160, 5120, 0, 0, 0}, {828, 13107, 4176, 5376, 0, 0, 0}, {1100, 4128, 4608, 17476, 0, 0, 0}, {1370, 4144, 4864, 21845, 0, 0, 0}, {1638, 4096, 0, 0, 0, 0, 0}, {1799, 272, 0, 0, 0, 0, 0}, {5640, 544, 1088, 0, 0, 0, 0}, {4111, 4915, 5461, 0, 0, 0, 0}, {1642, 8192, 20480, 0, 0, 0, 0}, {284, 4403, 4883, 4420, 5140, 0, 0}, {1644, 12288, 16384, 0, 0, 0, 0}, {282, 4386, 4626, 4437, 5397, 0, 0}, {4104, 4642, 5188, 0, 0, 0, 0}, {5647, 816, 1360, 0, 0, 0, 0}, {4208, 1536, 0, 0, 0, 0, 0}, {262, 4369, 0, 0, 0, 0, 0}, {522, 8738, 4176, 1024, 0, 0, 0}, {780, 13107, 4160, 1280, 0, 0, 0}, {1036, 4144, 512, 17476, 0, 0, 0}, {1290, 4128, 768, 21845, 0, 0, 0}, {1542, 4112, 0, 0, 0, 0, 0}, {119, 256, 0, 0, 0, 0, 0}, {4216, 512, 1024, 0, 0, 0, 0}, {4127, 4883, 5397, 0, 0, 0, 0}, {1546, 8224, 20560, 0, 0, 0, 0}, {268, 4403, 512, 4420, 1280, 0, 0}, {1548, 12336, 16448, 0, 0, 0, 0}, {266, 4386, 768, 4437, 1024, 0, 0}, {4120, 4626, 5140, 0, 0, 0, 0}, {4223, 768, 1280, 0, 0, 0, 0}, {4224, 1536, 20480, 0, 0, 0, 0}, {265, 119, 771, 1285, 4369, 0, 0}, {522, 4642, 1024, 0, 0, 0, 0}, {1295, 771, 5440, 0, 0, 0, 0}, {1036, 512, 5188, 0, 0, 0, 0}, {783, 4896, 1285, 0, 0, 0, 0}, {4320, 1542, 16448, 0, 0, 0, 0}, {271, 119, 512, 1024, 4352, 0, 0}, {136, 512, 1024, 4096, 0, 0, 0}, {255, 771, 1285, 4112, 0, 0, 0}, {1546, 4128, 0, 0, 0, 0, 0}, {259, 4420, 0, 0, 0, 0, 0}, {1548, 4160, 0, 0, 0, 0, 0}, {4386, 261, 0, 0, 0, 0, 0}, {1036, 4192, 1542, 17476, 0, 0, 0}, {1295, 4208, 1536, 21760, 0, 0, 0}, {7248, 1632, 20560, 0, 0, 0, 0}, {281, 1314, 1553, 1365, 4369, 0, 0}, {4152, 4626, 1088, 0, 0, 0, 0}, {4191, 819, 5376, 0, 0, 0, 0}, {4184, 544, 5140, 0, 0, 0, 0}, {4159, 4864, 1365, 0, 0, 0, 0}, {6746, 1638, 16384, 0, 0, 0, 0}, {287, 1079, 1559, 1088, 4352, 0, 0}, {2056, 544, 1088, 4112, 0, 0, 0}, {3840, 819, 1365, 4096, 0, 0, 0}, {5722, 4144, 0, 0, 0, 0, 0}, {275, 4420, 0, 0, 0, 0, 0}, {5692, 4176, 0, 0, 0, 0, 0}, {4386, 277, 0, 0, 0, 0, 0}, {1100, 4208, 5654, 17476, 0, 0, 0}, {1375, 4192, 5632, 21760, 0, 0, 0}, {4256, 5632, 16384, 0, 0, 0, 0}, {350, 119, 771, 1028, 4369, 0, 0}, {4104, 4642, 5120, 0, 0, 0, 0}, {5439, 771, 1360, 0, 0, 0, 0}, {4680, 544, 1028, 0, 0, 0, 0}, {4111, 4864, 5461, 0, 0, 0, 0}, {3084, 5734, 20480, 0, 0, 0, 0}, {1032, 1319, 1799, 1360, 4352, 0, 0}, {1032, 4128, 4608, 17408, 0, 0, 0}, {1370, 4144, 771, 21845, 0, 0, 0}, {1706, 3072, 4096, 0, 0, 0, 0}, {291, 771, 340, 1028, 4112, 0, 0}, {3084, 4192, 22028, 0, 0, 0, 0}, {1032, 293, 1799, 338, 4103, 0, 0}, {554, 8738, 4160, 1028, 0, 0, 0}, {783, 13056, 4176, 5376, 0, 0, 0}, {2560, 5744, 16448, 0, 0, 0, 0}, {1290, 1075, 1792, 1092, 4369, 0, 0}, {4120, 4626, 5200, 0, 0, 0, 0}, {4940, 819, 1280, 0, 0, 0, 0}, {5180, 512, 1092, 0, 0, 0, 0}, {4127, 4896, 5397, 0, 0, 0, 0}, {4304, 5654, 20560, 0, 0, 0, 0}, {328, 119, 512, 1280, 4352, 0, 0}, {1096, 4144, 512, 17408, 0, 0, 0}, {1290, 4128, 4883, 21845, 0, 0, 0}, {1738, 2570, 4112, 0, 0, 0, 0}, {307, 512, 324, 1280, 4096, 0, 0}, {2560, 4208, 17996, 0, 0, 0, 0}, {1290, 309, 1792, 322, 4119, 0, 0}, {522, 8738, 4176, 5140, 0, 0, 0}, {831, 13056, 4160, 1280, 0, 0, 0}, {4288, 5632, 20480, 0, 0, 0, 0}, {329, 119, 514, 1285, 4369, 0, 0}, {5160, 514, 1088, 0, 0, 0, 0}, {4111, 4915, 5376, 0, 0, 0, 0}, {4104, 4608, 5188, 0, 0, 0, 0}, {4959, 816, 1285, 0, 0, 0, 0}, {2570, 5734, 16384, 0, 0, 0, 0}, {1295, 1079, 1799, 1088, 4352, 0, 0}, {520, 8704, 4160, 5120, 0, 0, 0}, {828, 13107, 4176, 1285, 0, 0, 0}, {2570, 4192, 17930, 0, 0, 0, 0}, {1295, 308, 1799, 323, 4103, 0, 0}, {1740, 2560, 4096, 0, 0, 0, 0}, {306, 514, 325, 1285, 4112, 0, 0}, {1100, 4128, 514, 17476, 0, 0, 0}, {1295, 4144, 4864, 21760, 0, 0, 0}, {3072, 5744, 20560, 0, 0, 0, 0}, {1036, 1314, 1792, 1365, 4369, 0, 0}, {4698, 546, 1024, 0, 0, 0, 0}, {4127, 4883, 5440, 0, 0, 0, 0}, {4120, 4656, 5140, 0, 0, 0, 0}, {5418, 768, 1365, 0, 0, 0, 0}, {4272, 5654, 16448, 0, 0, 0, 0}, {351, 119, 768, 1024, 4352, 0, 0}, {552, 8704, 4176, 1024, 0, 0, 0}, {780, 13107, 4160, 5397, 0, 0, 0}, {3072, 4208, 22106, 0, 0, 0, 0}, {1036, 292, 1792, 339, 4119, 0, 0}, {1708, 3084, 4112, 0, 0, 0, 0}, {290, 768, 341, 1024, 4096, 0, 0}, {1036, 4144, 4626, 17476, 0, 0, 0}, {1375, 4128, 768, 21760, 0, 0, 0}, {6720, 1632, 16448, 0, 0, 0, 0}, {286, 1075, 1553, 1092, 4369, 0, 0}, {4168, 546, 5120, 0, 0, 0, 0}, {4143, 4883, 1360, 0, 0, 0, 0}, {4136, 4608, 1092, 0, 0, 0, 0}, {4175, 816, 5397, 0, 0, 0, 0}, {7244, 1638, 20480, 0, 0, 0, 0}, {280, 1319, 1559, 1360, 4352, 0, 0}, {1096, 4192, 5632, 17408, 0, 0, 0}, {1370, 4208, 5654, 21845, 0, 0, 0}, {5674, 4160, 0, 0, 0, 0, 0}, {4403, 276, 0, 0, 0, 0, 0}, {5708, 4128, 0, 0, 0, 0, 0}, {274, 4437, 0, 0, 0, 0, 0}, {2048, 546, 1092, 4096, 0, 0, 0}, {3855, 816, 1360, 4112, 0, 0, 0}, {4336, 1536, 16384, 0, 0, 0, 0}, {270, 119, 514, 1028, 4369, 0, 0}, {1032, 514, 5200, 0, 0, 0, 0}, {780, 4915, 1280, 0, 0, 0, 0}, {520, 4656, 1028, 0, 0, 0, 0}, {1290, 768, 5461, 0, 0, 0, 0}, {4240, 1542, 20560, 0, 0, 0, 0}, {264, 119, 768, 1280, 4352, 0, 0}, {1032, 4208, 1536, 17408, 0, 0, 0}, {1290, 4192, 1542, 21845, 0, 0, 0}, {1546, 4176, 0, 0, 0, 0, 0}, {4403, 260, 0, 0, 0, 0, 0}, {1548, 4144, 0, 0, 0, 0, 0}, {258, 4437, 0, 0, 0, 0, 0}, {136, 514, 1028, 4112, 0, 0, 0}, {255, 768, 1280, 4096, 0, 0, 0}, {30464, 0, 0, 0, 0, 0, 0}, {6, 16, 257, 0, 0, 0, 0}, {10, 32, 514, 21760, 0, 0, 0}, {12, 48, 771, 17408, 0, 0, 0}, {12, 13056, 64, 1028, 0, 0, 0}, {10, 8704, 80, 1285, 0, 0, 0}, {6, 4352, 0, 0, 0, 0, 0}, {112, 1799, 0, 0, 0, 0, 0}, {128, 2056, 30472, 0, 0, 0, 0}, {6, 80, 1285, 4357, 0, 0, 0}, {10, 8704, 21760, 0, 0, 0, 0}, {12, 48, 771, 64, 1028, 0, 0}, {12, 13056, 17408, 0, 0, 0, 0}, {10, 32, 514, 80, 1285, 0, 0}, {6, 64, 1028, 4356, 0, 0, 0}, {240, 3855, 30479, 0, 0, 0, 0}, {1792, 16, 0, 0, 0, 0, 0}, {102, 4369, 0, 0, 0, 0, 0}, {90, 48, 4626, 21760, 0, 0, 0}, {76, 32, 4883, 17408, 0, 0, 0}, {60, 13056, 80, 5140, 0, 0, 0}, {42, 8704, 64, 5397, 0, 0, 0}, {22, 4352, 0, 0, 0, 0, 0}, {96, 5911, 0, 0, 0, 0, 0}, {5912, 48, 80, 0, 0, 0, 0}, {4377, 4403, 4437, 0, 0, 0, 0}, {26, 48, 4608, 64, 5376, 0, 0}, {108, 13107, 17476, 0, 0, 0, 0}, {28, 32, 4864, 80, 5120, 0, 0}, {106, 8738, 21845, 0, 0, 0, 0}, {4382, 4386, 4420, 0, 0, 0, 0}, {5919, 32, 64, 0, 0, 0, 0}, {2048, 32, 22272, 0, 0, 0, 0}, {12, 48, 771, 86, 4369, 0, 0}, {170, 8738, 21760, 0, 0, 0, 0}, {12, 771, 1024, 16, 0, 0, 0}, {12, 96, 5956, 17476, 0, 0, 0}, {90, 112, 1877, 21845, 0, 0, 0}, {12, 38, 64, 1024, 4352, 0, 0}, {3855, 10023, 80, 0, 0, 0, 0}, {160, 24320, 30504, 0, 0, 0, 0}, {22, 64, 1024, 4373, 0, 0, 0}, {42, 8704, 21760, 0, 0, 0, 0}, {12, 48, 771, 80, 5140, 0, 0}, {12, 32, 4864, 64, 1024, 0, 0}, {90, 8738, 21845, 0, 0, 0, 0}, {12, 4386, 4420, 0, 0, 0, 0}, {1807, 32, 80, 0, 0, 0, 0}, {3840, 48, 18176, 0, 0, 0, 0}, {10, 32, 514, 70, 4369, 0, 0}, {10, 514, 1280, 16, 0, 0, 0}, {204, 13107, 17408, 0, 0, 0, 0}, {76, 112, 1860, 17476, 0, 0, 0}, {10, 96, 5973, 21845, 0, 0, 0}, {10, 54, 80, 1280, 4352, 0, 0}, {2056, 14135, 64, 0, 0, 0, 0}, {1800, 48, 64, 0, 0, 0, 0}, {10, 4403, 4437, 0, 0, 0, 0}, {10, 48, 4608, 80, 1280, 0, 0}, {76, 13107, 17476, 0, 0, 0, 0}, {60, 13056, 17408, 0, 0, 0, 0}, {10, 32, 514, 64, 5397, 0, 0}, {22, 80, 1280, 4372, 0, 0, 0}, {192, 18432, 30527, 0, 0, 0, 0}, {2048, 14080, 64, 0, 0, 0, 0}, {10, 54, 80, 1285, 4369, 0, 0}, {10, 96, 5954, 21760, 0, 0, 0}, {76, 112, 1859, 17408, 0, 0, 0}, {204, 13056, 17476, 0, 0, 0, 0}, {10, 512, 1285, 16, 0, 0, 0}, {10, 32, 512, 70, 4352, 0, 0}, {3855, 48, 18247, 0, 0, 0, 0}, {192, 18504, 30536, 0, 0, 0, 0}, {22, 80, 1285, 4357, 0, 0, 0}, {10, 32, 512, 64, 5376, 0, 0}, {60, 13107, 17476, 0, 0, 0, 0}, {76, 13056, 17408, 0, 0, 0, 0}, {10, 48, 4626, 80, 1285, 0, 0}, {10, 4386, 4420, 0, 0, 0, 0}, {1807, 48, 64, 0, 0, 0, 0}, {3840, 9984, 80, 0, 0, 0, 0}, {12, 38, 64, 1028, 4369, 0, 0}, {90, 112, 1874, 21760, 0, 0, 0}, {12, 96, 5971, 17408, 0, 0, 0}, {12, 768, 1028, 16, 0, 0, 0}, {170, 8704, 21845, 0, 0, 0, 0}, {12, 48, 768, 86, 4352, 0, 0}, {2056, 32, 22359, 0, 0, 0, 0}, {1800, 32, 80, 0, 0, 0, 0}, {12, 4403, 4437, 0, 0, 0, 0}, {90, 8704, 21760, 0, 0, 0, 0}, {12, 32, 4883, 64, 1028, 0, 0}, {12, 48, 768, 80, 5120, 0, 0}, {42, 8738, 21845, 0, 0, 0, 0}, {22, 64, 1028, 4356, 0, 0, 0}, {160, 24415, 30559, 0, 0, 0, 0}, {96, 5888, 0, 0, 0, 0, 0}, {22, 4369, 0, 0, 0, 0, 0}, {42, 8738, 64, 5376, 0, 0, 0}, {60, 13107, 80, 5120, 0, 0, 0}, {76, 32, 4864, 17476, 0, 0, 0}, {90, 48, 4608, 21845, 0, 0, 0}, {102, 4352, 0, 0, 0, 0, 0}, {1799, 16, 0, 0, 0, 0, 0}, {5896, 32, 64, 0, 0, 0, 0}, {4367, 4403, 4437, 0, 0, 0, 0}, {106, 8704, 21760, 0, 0, 0, 0}, {28, 32, 4883, 80, 5140, 0, 0}, {108, 13056, 17408, 0, 0, 0, 0}, {26, 48, 4626, 64, 5397, 0, 0}, {4360, 4386, 4420, 0, 0, 0, 0}, {5903, 48, 80, 0, 0, 0, 0}, {112, 1792, 0, 0, 0, 0, 0}, {6, 4369, 0, 0, 0, 0, 0}, {10, 8738, 80, 1280, 0, 0, 0}, {12, 13107, 64, 1024, 0, 0, 0}, {12, 48, 768, 17476, 0, 0, 0}, {10, 32, 512, 21845, 0, 0, 0}, {6, 16, 256, 0, 0, 0, 0}, {30583, 0, 0, 0, 0, 0, 0}, {240, 3840, 30584, 0, 0, 0, 0}, {6, 64, 1024, 4373, 0, 0, 0}, {10, 32, 512, 80, 1280, 0, 0}, {12, 13107, 17476, 0, 0, 0, 0}, {12, 48, 768, 64, 1024, 0, 0}, {10, 8738, 21845, 0, 0, 0, 0}, {6, 80, 1280, 4372, 0, 0, 0}, {128, 2048, 30591, 0, 0, 0, 0}, {128, 2048, 30464, 0, 0, 0, 0}, {6, 80, 1285, 4369, 0, 0, 0}, {10, 8738, 21760, 0, 0, 0, 0}, {12, 48, 771, 64, 1024, 0, 0}, {12, 13056, 17476, 0, 0, 0, 0}, {10, 32, 512, 80, 1285, 0, 0}, {6, 64, 1024, 4352, 0, 0, 0}, {240, 3855, 30583, 0, 0, 0, 0}, {30600, 0, 0, 0, 0, 0, 0}, {259, 261, 16, 0, 0, 0, 0}, {10, 32, 512, 21760, 0, 0, 0}, {12, 48, 771, 17476, 0, 0, 0}, {12, 13056, 64, 1024, 0, 0, 0}, {10, 8738, 80, 1285, 0, 0, 0}, {6, 4420, 0, 0, 0, 0, 0}, {1807, 112, 0, 0, 0, 0, 0}, {48, 5888, 80, 0, 0, 0, 0}, {76, 102, 4369, 0, 0, 0, 0}, {26, 48, 4626, 64, 5376, 0, 0}, {108, 13107, 17408, 0, 0, 0, 0}, {28, 32, 4864, 80, 5140, 0, 0}, {106, 8704, 21845, 0, 0, 0, 0}, {90, 102, 4352, 0, 0, 0, 0}, {32, 5911, 64, 0, 0, 0, 0}, {1800, 16, 0, 0, 0, 0, 0}, {4403, 4437, 0, 0, 0, 0, 0}, {90, 48, 4608, 21760, 0, 0, 0}, {76, 32, 4883, 17476, 0, 0, 0}, {60, 13056, 80, 5120, 0, 0, 0}, {42, 8738, 64, 5397, 0, 0, 0}, {22, 4420, 0, 0, 0, 0, 0}, {5983, 96, 0, 0, 0, 0, 0}, {160, 24320, 30464, 0, 0, 0, 0}, {22, 64, 1028, 4369, 0, 0, 0}, {42, 8738, 21760, 0, 0, 0, 0}, {12, 48, 771, 80, 5120, 0, 0}, {12, 32, 4864, 64, 1028, 0, 0}, {90, 8704, 21845, 0, 0, 0, 0}, {12, 102, 4352, 0, 0, 0, 0}, {32, 1799, 80, 0, 0, 0, 0}, {2056, 32, 22280, 0, 0, 0, 0}, {12, 48, 771, 86, 4355, 0, 0}, {170, 8704, 21760, 0, 0, 0, 0}, {12, 771, 1028, 16, 0, 0, 0}, {12, 96, 5888, 17408, 0, 0, 0}, {90, 112, 1799, 21845, 0, 0, 0}, {12, 38, 64, 1028, 4356, 0, 0}, {3855, 9999, 80, 0, 0, 0, 0}, {48, 1792, 64, 0, 0, 0, 0}, {10, 102, 4369, 0, 0, 0, 0}, {10, 48, 4626, 80, 1280, 0, 0}, {76, 13107, 17408, 0, 0, 0, 0}, {60, 13056, 17476, 0, 0, 0, 0}, {10, 32, 512, 64, 5397, 0, 0}, {22, 80, 1280, 4352, 0, 0, 0}, {192, 18504, 30583, 0, 0, 0, 0}, {3840, 48, 18248, 0, 0, 0, 0}, {10, 32, 512, 70, 4371, 0, 0}, {10, 512, 1280, 16, 0, 0, 0}, {204, 13107, 17476, 0, 0, 0, 0}, {76, 112, 1792, 17408, 0, 0, 0}, {10, 96, 5911, 21845, 0, 0, 0}, {10, 54, 80, 1280, 4372, 0, 0}, {2048, 14143, 64, 0, 0, 0, 0}, {192, 18432, 30464, 0, 0, 0, 0}, {22, 80, 1285, 4369, 0, 0, 0}, {10, 32, 514, 64, 5376, 0, 0}, {60, 13107, 17408, 0, 0, 0, 0}, {76, 13056, 17476, 0, 0, 0, 0}, {10, 48, 4608, 80, 1285, 0, 0}, {10, 102, 4352, 0, 0, 0, 0}, {48, 1799, 64, 0, 0, 0, 0}, {2056, 14088, 64, 0, 0, 0, 0}, {10, 54, 80, 1285, 4357, 0, 0}, {10, 96, 5888, 21760, 0, 0, 0}, {76, 112, 1799, 17476, 0, 0, 0}, {204, 13056, 17408, 0, 0, 0, 0}, {10, 514, 1285, 16, 0, 0, 0}, {10, 32, 514, 70, 4354, 0, 0}, {3855, 48, 18191, 0, 0, 0, 0}, {32, 1792, 80, 0, 0, 0, 0}, {12, 102, 4369, 0, 0, 0, 0}, {90, 8738, 21760, 0, 0, 0, 0}, {12, 32, 4883, 64, 1024, 0, 0}, {12, 48, 768, 80, 5140, 0, 0}, {42, 8704, 21845, 0, 0, 0, 0}, {22, 64, 1024, 4352, 0, 0, 0}, {160, 24415, 30583, 0, 0, 0, 0}, {3840, 10024, 80, 0, 0, 0, 0}, {12, 38, 64, 1024, 4373, 0, 0}, {90, 112, 1792, 21760, 0, 0, 0}, {12, 96, 5911, 17476, 0, 0, 0}, {12, 768, 1024, 16, 0, 0, 0}, {170, 8738, 21845, 0, 0, 0, 0}, {12, 48, 768, 86, 4370, 0, 0}, {2048, 32, 22367, 0, 0, 0, 0}, {32, 5888, 64, 0, 0, 0, 0}, {90, 102, 4369, 0, 0, 0, 0}, {106, 8738, 21760, 0, 0, 0, 0}, {28, 32, 4883, 80, 5120, 0, 0}, {108, 13056, 17476, 0, 0, 0, 0}, {26, 48, 4608, 64, 5397, 0, 0}, {76, 102, 4352, 0, 0, 0, 0}, {48, 5911, 80, 0, 0, 0, 0}, {5960, 96, 0, 0, 0, 0, 0}, {22, 4437, 0, 0, 0, 0, 0}, {42, 8704, 64, 5376, 0, 0, 0}, {60, 13107, 80, 5140, 0, 0, 0}, {76, 32, 4864, 17408, 0, 0, 0}, {90, 48, 4626, 21845, 0, 0, 0}, {4386, 4420, 0, 0, 0, 0, 0}, {1807, 16, 0, 0, 0, 0, 0}, {240, 3840, 30464, 0, 0, 0, 0}, {6, 64, 1028, 4369, 0, 0, 0}, {10, 32, 514, 80, 1280, 0, 0}, {12, 13107, 17408, 0, 0, 0, 0}, {12, 48, 768, 64, 1028, 0, 0}, {10, 8704, 21845, 0, 0, 0, 0}, {6, 80, 1280, 4352, 0, 0, 0}, {128, 2056, 30583, 0, 0, 0, 0}, {1800, 112, 0, 0, 0, 0, 0}, {6, 4437, 0, 0, 0, 0, 0}, {10, 8704, 80, 1280, 0, 0, 0}, {12, 13107, 64, 1028, 0, 0, 0}, {12, 48, 768, 17408, 0, 0, 0}, {10, 32, 514, 21845, 0, 0, 0}, {258, 260, 16, 0, 0, 0, 0}, {30719, 0, 0, 0, 0, 0, 0}, {30720, 0, 0, 0, 0, 0, 0}, {19, 21, 257, 0, 0, 0, 0}, {10, 32, 514, 20480, 0, 0, 0}, {12, 51, 771, 17408, 0, 0, 0}, {12, 12288, 64, 1028, 0, 0, 0}, {10, 8704, 85, 1285, 0, 0, 0}, {6, 5120, 0, 0, 0, 0, 0}, {127, 1799, 0, 0, 0, 0, 0}, {128, 2056, 28672, 0, 0, 0, 0}, {6, 85, 1285, 4352, 0, 0, 0}, {10, 8704, 20480, 0, 0, 0, 0}, {12, 51, 771, 64, 1028, 0, 0}, {12, 12288, 17408, 0, 0, 0, 0}, {10, 32, 514, 85, 1285, 0, 0}, {6, 64, 1028, 4096, 0, 0, 0}, {255, 3855, 30464, 0, 0, 0, 0}, {2048, 32, 64, 4112, 0, 0, 0}, {3840, 51, 85, 4369, 0, 0, 0}, {106, 4626, 0, 0, 0, 0, 0}, {19, 5120, 0, 0, 0, 0, 0}, {108, 5140, 0, 0, 0, 0, 0}, {4608, 21, 0, 0, 0, 0, 0}, {76, 102, 5654, 17408, 0, 0, 0}, {95, 96, 5911, 20480, 0, 0, 0}, {6168, 96, 20560, 0, 0, 0, 0}, {25, 51, 1792, 85, 4352, 0, 0}, {4634, 4656, 64, 0, 0, 0, 0}, {5147, 51, 5188, 0, 0, 0, 0}, {5148, 32, 5200, 0, 0, 0, 0}, {4637, 4642, 85, 0, 0, 0, 0}, {7710, 102, 17476, 0, 0, 0, 0}, {31, 32, 1792, 64, 4096, 0, 0}, {2048, 32, 20480, 0, 0, 0, 0}, {12, 51, 771, 85, 4369, 0, 0}, {170, 23040, 8738, 0, 0, 0, 0}, {19, 64, 1024, 4112, 0, 0, 0}, {12, 5156, 5188, 0, 0, 0, 0}, {1807, 1829, 85, 0, 0, 0, 0}, {12, 38, 4608, 64, 1024, 0, 0}, {95, 10023, 20560, 0, 0, 0, 0}, {160, 10280, 20480, 0, 0, 0, 0}, {51, 771, 21, 4352, 0, 0, 0}, {42, 8704, 20992, 0, 0, 0, 0}, {12, 51, 771, 83, 5140, 0, 0}, {12, 32, 64, 1024, 4096, 0, 0}, {3855, 8738, 85, 0, 0, 0, 0}, {12, 102, 4676, 17476, 0, 0, 0}, {95, 32, 1872, 20560, 0, 0, 0}, {192, 18432, 12336, 0, 0, 0, 0}, {19, 85, 1280, 4369, 0, 0, 0}, {10, 32, 514, 64, 4112, 0, 0}, {3840, 51, 17408, 0, 0, 0, 0}, {76, 13364, 17476, 0, 0, 0, 0}, {10, 53, 4608, 85, 1280, 0, 0}, {10, 5174, 5200, 0, 0, 0, 0}, {1800, 1847, 64, 0, 0, 0, 0}, {2056, 12336, 64, 0, 0, 0, 0}, {10, 51, 85, 1280, 4352, 0, 0}, {10, 96, 4688, 20560, 0, 0, 0}, {76, 51, 1860, 17476, 0, 0, 0}, {204, 15420, 17408, 0, 0, 0, 0}, {32, 514, 21, 4096, 0, 0, 0}, {10, 32, 514, 70, 5140, 0, 0}, {63, 12288, 18176, 0, 0, 0, 0}, {2048, 12288, 64, 0, 0, 0, 0}, {10, 51, 85, 1285, 4369, 0, 0}, {10, 96, 4674, 20480, 0, 0, 0}, {76, 51, 1859, 17408, 0, 0, 0}, {204, 15360, 17476, 0, 0, 0, 0}, {32, 512, 21, 4112, 0, 0, 0}, {10, 32, 512, 70, 5120, 0, 0}, {63, 12336, 18247, 0, 0, 0, 0}, {192, 18504, 12288, 0, 0, 0, 0}, {19, 85, 1285, 4352, 0, 0, 0}, {10, 32, 512, 64, 4096, 0, 0}, {3855, 51, 17476, 0, 0, 0, 0}, {76, 13312, 17408, 0, 0, 0, 0}, {10, 53, 4626, 85, 1285, 0, 0}, {10, 5154, 5188, 0, 0, 0, 0}, {1807, 1840, 64, 0, 0, 0, 0}, {160, 10240, 20560, 0, 0, 0, 0}, {51, 768, 21, 4369, 0, 0, 0}, {42, 8738, 21074, 0, 0, 0, 0}, {12, 51, 768, 83, 5120, 0, 0}, {12, 32, 64, 1028, 4112, 0, 0}, {3840, 8704, 85, 0, 0, 0, 0}, {12, 102, 4694, 17408, 0, 0, 0}, {95, 32, 1879, 20480, 0, 0, 0}, {2056, 32, 20560, 0, 0, 0, 0}, {12, 51, 768, 85, 4352, 0, 0}, {170, 23130, 8704, 0, 0, 0, 0}, {19, 64, 1028, 4096, 0, 0, 0}, {12, 5168, 5200, 0, 0, 0, 0}, {1800, 1826, 85, 0, 0, 0, 0}, {12, 38, 4626, 64, 1028, 0, 0}, {95, 9984, 20480, 0, 0, 0, 0}, {6144, 96, 20480, 0, 0, 0, 0}, {25, 51, 1799, 85, 4369, 0, 0}, {4616, 4642, 64, 0, 0, 0, 0}, {5135, 51, 5200, 0, 0, 0, 0}, {5128, 32, 5188, 0, 0, 0, 0}, {4623, 4656, 85, 0, 0, 0, 0}, {7680, 102, 17408, 0, 0, 0, 0}, {31, 32, 1799, 64, 4112, 0, 0}, {2056, 32, 64, 4096, 0, 0, 0}, {3855, 51, 85, 4352, 0, 0, 0}, {106, 4608, 0, 0, 0, 0, 0}, {19, 5140, 0, 0, 0, 0, 0}, {108, 5120, 0, 0, 0, 0, 0}, {4626, 21, 0, 0, 0, 0, 0}, {76, 102, 5632, 17476, 0, 0, 0}, {95, 96, 5888, 20560, 0, 0, 0}, {128, 2048, 28784, 0, 0, 0, 0}, {6, 85, 1280, 4369, 0, 0, 0}, {10, 8738, 20560, 0, 0, 0, 0}, {12, 51, 768, 64, 1024, 0, 0}, {12, 12336, 17476, 0, 0, 0, 0}, {10, 32, 512, 85, 1280, 0, 0}, {6, 64, 1024, 4112, 0, 0, 0}, {255, 3840, 30583, 0, 0, 0, 0}, {30840, 0, 0, 0, 0, 0, 0}, {19, 21, 256, 0, 0, 0, 0}, {10, 32, 512, 20560, 0, 0, 0}, {12, 51, 768, 17476, 0, 0, 0}, {12, 12336, 64, 1024, 0, 0, 0}, {10, 8738, 85, 1280, 0, 0, 0}, {6, 5140, 0, 0, 0, 0, 0}, {127, 1792, 0, 0, 0, 0, 0}, {128, 2048, 28672, 0, 0, 0, 0}, {6, 85, 1285, 4369, 0, 0, 0}, {10, 8738, 20480, 0, 0, 0, 0}, {12, 51, 771, 64, 1024, 0, 0}, {12, 12288, 17476, 0, 0, 0, 0}, {10, 32, 512, 85, 1285, 0, 0}, {6, 64, 1024, 4096, 0, 0, 0}, {255, 3855, 30583, 0, 0, 0, 0}, {30856, 0, 0, 0, 0, 0, 0}, {259, 261, 272, 0, 0, 0, 0}, {10, 32, 512, 20480, 0, 0, 0}, {12, 51, 771, 17476, 0, 0, 0}, {12, 12288, 64, 1024, 0, 0, 0}, {10, 8738, 85, 1285, 0, 0, 0}, {6, 5188, 0, 0, 0, 0, 0}, {1807, 1904, 0, 0, 0, 0, 0}, {6224, 96, 20560, 0, 0, 0, 0}, {25, 51, 1809, 85, 4369, 0, 0}, {42, 4626, 64, 0, 0, 0, 0}, {95, 51, 5120, 0, 0, 0, 0}, {76, 32, 5140, 0, 0, 0, 0}, {63, 4608, 85, 0, 0, 0, 0}, {7770, 102, 17408, 0, 0, 0, 0}, {31, 32, 1815, 64, 4096, 0, 0}, {2056, 32, 64, 4112, 0, 0, 0}, {3840, 51, 85, 4352, 0, 0, 0}, {4698, 4656, 0, 0, 0, 0, 0}, {19, 5188, 0, 0, 0, 0, 0}, {5180, 5200, 0, 0, 0, 0, 0}, {4642, 21, 0, 0, 0, 0, 0}, {76, 102, 5654, 17476, 0, 0, 0}, {95, 96, 5888, 20480, 0, 0, 0}, {160, 10240, 20480, 0, 0, 0, 0}, {51, 771, 21, 4369, 0, 0, 0}, {42, 8738, 21026, 0, 0, 0, 0}, {12, 51, 771, 83, 5123, 0, 0}, {12, 32, 64, 1028, 4096, 0, 0}, {3855, 8704, 85, 0, 0, 0, 0}, {12, 102, 4608, 17408, 0, 0, 0}, {95, 32, 1799, 20560, 0, 0, 0}, {2056, 32, 20480, 0, 0, 0, 0}, {12, 51, 771, 85, 4352, 0, 0}, {170, 23040, 8704, 0, 0, 0, 0}, {19, 64, 1028, 4112, 0, 0, 0}, {12, 96, 5120, 0, 0, 0, 0}, {42, 1799, 85, 0, 0, 0, 0}, {12, 38, 4612, 64, 1028, 0, 0}, {95, 10064, 20560, 0, 0, 0, 0}, {2048, 12336, 64, 0, 0, 0, 0}, {10, 51, 85, 1280, 4369, 0, 0}, {10, 96, 4626, 20560, 0, 0, 0}, {76, 51, 1792, 17408, 0, 0, 0}, {204, 15420, 17476, 0, 0, 0, 0}, {32, 512, 21, 4096, 0, 0, 0}, {10, 32, 512, 70, 5142, 0, 0}, {63, 12288, 18295, 0, 0, 0, 0}, {192, 18504, 12336, 0, 0, 0, 0}, {19, 85, 1280, 4352, 0, 0, 0}, {10, 32, 512, 64, 4112, 0, 0}, {3840, 51, 17476, 0, 0, 0, 0}, {76, 13424, 17408, 0, 0, 0, 0}, {10, 53, 4631, 85, 1280, 0, 0}, {10, 102, 5140, 0, 0, 0, 0}, {63, 1792, 64, 0, 0, 0, 0}, {192, 18432, 12288, 0, 0, 0, 0}, {19, 85, 1285, 4369, 0, 0, 0}, {10, 32, 514, 64, 4096, 0, 0}, {3855, 51, 17408, 0, 0, 0, 0}, {76, 13380, 17476, 0, 0, 0, 0}, {10, 53, 4613, 85, 1285, 0, 0}, {10, 102, 5120, 0, 0, 0, 0}, {63, 1799, 64, 0, 0, 0, 0}, {2056, 12288, 64, 0, 0, 0, 0}, {10, 51, 85, 1285, 4352, 0, 0}, {10, 96, 4608, 20480, 0, 0, 0}, {76, 51, 1799, 17476, 0, 0, 0}, {204, 15360, 17408, 0, 0, 0, 0}, {32, 514, 21, 4112, 0, 0, 0}, {10, 32, 514, 70, 5122, 0, 0}, {63, 12336, 18224, 0, 0, 0, 0}, {2048, 32, 20560, 0, 0, 0, 0}, {12, 51, 768, 85, 4369, 0, 0}, {170, 23130, 8738, 0, 0, 0, 0}, {19, 64, 1024, 4096, 0, 0, 0}, {12, 96, 5140, 0, 0, 0, 0}, {42, 1792, 85, 0, 0, 0, 0}, {12, 38, 4630, 64, 1024, 0, 0}, {95, 10103, 20480, 0, 0, 0, 0}, {160, 10280, 20560, 0, 0, 0, 0}, {51, 768, 21, 4352, 0, 0, 0}, {42, 8704, 21104, 0, 0, 0, 0}, {12, 51, 768, 83, 5143, 0, 0}, {12, 32, 64, 1024, 4112, 0, 0}, {3840, 8738, 85, 0, 0, 0, 0}, {12, 102, 4626, 17476, 0, 0, 0}, {95, 32, 1792, 20480, 0, 0, 0}, {2048, 32, 64, 4096, 0, 0, 0}, {3855, 51, 85, 4369, 0, 0, 0}, {4680, 4642, 0, 0, 0, 0, 0}, {19, 5200, 0, 0, 0, 0, 0}, {5160, 5188, 0, 0, 0, 0, 0}, {4656, 21, 0, 0, 0, 0, 0}, {76, 102, 5632, 17408, 0, 0, 0}, {95, 96, 5911, 20560, 0, 0, 0}, {6216, 96, 20480, 0, 0, 0, 0}, {25, 51, 1814, 85, 4352, 0, 0}, {42, 4608, 64, 0, 0, 0, 0}, {95, 51, 5140, 0, 0, 0, 0}, {76, 32, 5120, 0, 0, 0, 0}, {63, 4626, 85, 0, 0, 0, 0}, {7748, 102, 17476, 0, 0, 0, 0}, {31, 32, 1808, 64, 4112, 0, 0}, {30960, 0, 0, 0, 0, 0, 0}, {258, 260, 273, 0, 0, 0, 0}, {10, 32, 514, 20560, 0, 0, 0}, {12, 51, 768, 17408, 0, 0, 0}, {12, 12336, 64, 1028, 0, 0, 0}, {10, 8704, 85, 1280, 0, 0, 0}, {6, 5200, 0, 0, 0, 0, 0}, {1800, 1911, 0, 0, 0, 0, 0}, {128, 2056, 28784, 0, 0, 0, 0}, {6, 85, 1280, 4352, 0, 0, 0}, {10, 8704, 20560, 0, 0, 0, 0}, {12, 51, 768, 64, 1028, 0, 0}, {12, 12336, 17408, 0, 0, 0, 0}, {10, 32, 514, 85, 1280, 0, 0}, {6, 64, 1028, 4112, 0, 0, 0}, {255, 3840, 30464, 0, 0, 0, 0}, {4864, 5376, 0, 0, 0, 0, 0}, {120, 257, 0, 0, 0, 0, 0}, {1032, 4386, 514, 17408, 0, 0, 0}, {1295, 4144, 771, 20480, 0, 0, 0}, {520, 8704, 4420, 1028, 0, 0, 0}, {783, 12288, 4176, 1285, 0, 0, 0}, {5482, 1542, 0, 0, 0, 0, 0}, {263, 5120, 0, 0, 0, 0, 0}, {1032, 1536, 4352, 0, 0, 0, 0}, {4192, 771, 1285, 0, 0, 0, 0}, {1546, 13056, 16384, 0, 0, 0, 0}, {267, 4403, 771, 4160, 1028, 0, 0}, {1548, 8192, 21760, 0, 0, 0, 0}, {269, 4128, 514, 4437, 1285, 0, 0}, {4454, 514, 1028, 0, 0, 0, 0}, {1295, 1536, 4096, 0, 0, 0, 0}, {3840, 816, 1360, 4112, 0, 0, 0}, {2048, 546, 1092, 4369, 0, 0, 0}, {274, 5120, 0, 0, 0, 0, 0}, {5503, 4883, 0, 0, 0, 0, 0}, {4608, 276, 0, 0, 0, 0, 0}, {4991, 5397, 0, 0, 0, 0, 0}, {1370, 4208, 5654, 20480, 0, 0, 0}, {1096, 4471, 5911, 17408, 0, 0, 0}, {280, 1072, 1792, 1360, 4352, 0, 0}, {6425, 1638, 21845, 0, 0, 0, 0}, {5402, 816, 4160, 0, 0, 0, 0}, {4891, 4403, 1092, 0, 0, 0, 0}, {4892, 4128, 1360, 0, 0, 0, 0}, {5405, 546, 4437, 0, 0, 0, 0}, {286, 1314, 1792, 1092, 4096, 0, 0}, {7967, 1632, 16448, 0, 0, 0, 0}, {3072, 4896, 21760, 0, 0, 0, 0}, {1036, 289, 771, 1365, 4369, 0, 0}, {4386, 4864, 1024, 0, 0, 0, 0}, {1375, 771, 4112, 0, 0, 0, 0}, {1036, 1572, 4420, 0, 0, 0, 0}, {783, 5413, 1365, 0, 0, 0, 0}, {4940, 9766, 16448, 0, 0, 0, 0}, {4367, 295, 4608, 4176, 1024, 0, 0}, {552, 1024, 4352, 0, 0, 0, 0}, {771, 4160, 5397, 0, 0, 0, 0}, {5418, 13056, 21248, 0, 0, 0, 0}, {4120, 4403, 771, 339, 5140, 0, 0}, {3084, 8224, 5440, 0, 0, 0, 0}, {783, 546, 341, 1024, 4096, 0, 0}, {1036, 4454, 4932, 17476, 0, 0, 0}, {1375, 4128, 1616, 20560, 0, 0, 0}, {4144, 4864, 1280, 0, 0, 0, 0}, {1100, 514, 4369, 0, 0, 0, 0}, {1290, 306, 514, 1088, 4112, 0, 0}, {2560, 4915, 16384, 0, 0, 0, 0}, {4104, 308, 4608, 4420, 1280, 0, 0}, {4959, 13621, 21845, 0, 0, 0, 0}, {1290, 1590, 4176, 0, 0, 0, 0}, {520, 5431, 1088, 0, 0, 0, 0}, {520, 816, 320, 1280, 4352, 0, 0}, {2570, 13107, 5461, 0, 0, 0, 0}, {1290, 4192, 4944, 20560, 0, 0, 0}, {1100, 4403, 1604, 17476, 0, 0, 0}, {828, 1280, 4096, 0, 0, 0, 0}, {514, 4437, 5397, 0, 0, 0, 0}, {4382, 4128, 514, 326, 5140, 0, 0}, {5439, 8192, 17920, 0, 0, 0, 0}, {2560, 13056, 5440, 0, 0, 0, 0}, {522, 819, 321, 1285, 4369, 0, 0}, {1096, 4386, 1602, 17408, 0, 0, 0}, {1295, 4208, 4931, 20480, 0, 0, 0}, {512, 4420, 5376, 0, 0, 0, 0}, {831, 1285, 4112, 0, 0, 0, 0}, {5418, 8224, 17990, 0, 0, 0, 0}, {4367, 4144, 512, 327, 5120, 0, 0}, {1096, 512, 4352, 0, 0, 0, 0}, {4128, 4883, 1285, 0, 0, 0, 0}, {2570, 4896, 16448, 0, 0, 0, 0}, {1295, 307, 512, 1092, 4096, 0, 0}, {4940, 13568, 21760, 0, 0, 0, 0}, {4120, 309, 4626, 4437, 1285, 0, 0}, {522, 5410, 1092, 0, 0, 0, 0}, {1295, 1584, 4160, 0, 0, 0, 0}, {768, 4176, 5376, 0, 0, 0, 0}, {554, 1028, 4369, 0, 0, 0, 0}, {4104, 4386, 768, 338, 5120, 0, 0}, {5439, 13107, 21331, 0, 0, 0, 0}, {780, 544, 340, 1028, 4112, 0, 0}, {3072, 8192, 5461, 0, 0, 0, 0}, {1370, 4144, 1622, 20480, 0, 0, 0}, {1032, 4471, 4951, 17408, 0, 0, 0}, {1032, 288, 768, 1360, 4352, 0, 0}, {3084, 4915, 21845, 0, 0, 0, 0}, {1370, 768, 4096, 0, 0, 0, 0}, {4403, 4883, 1028, 0, 0, 0, 0}, {780, 5424, 1360, 0, 0, 0, 0}, {1032, 1570, 4437, 0, 0, 0, 0}, {4382, 294, 4626, 4160, 1028, 0, 0}, {4959, 9728, 16384, 0, 0, 0, 0}, {6400, 1632, 21760, 0, 0, 0, 0}, {281, 1076, 1799, 1365, 4369, 0, 0}, {4872, 4386, 1088, 0, 0, 0, 0}, {5391, 819, 4176, 0, 0, 0, 0}, {5384, 544, 4420, 0, 0, 0, 0}, {4879, 4144, 1365, 0, 0, 0, 0}, {7936, 1638, 16384, 0, 0, 0, 0}, {287, 1319, 1799, 1088, 4112, 0, 0}, {2056, 544, 1088, 4352, 0, 0, 0}, {3855, 819, 1365, 4096, 0, 0, 0}, {5482, 4864, 0, 0, 0, 0, 0}, {275, 5140, 0, 0, 0, 0, 0}, {4972, 5376, 0, 0, 0, 0, 0}, {4626, 277, 0, 0, 0, 0, 0}, {1100, 4454, 5888, 17476, 0, 0, 0}, {1375, 4192, 5632, 20560, 0, 0, 0}, {4208, 768, 1280, 0, 0, 0, 0}, {1036, 1542, 4369, 0, 0, 0, 0}, {266, 4386, 768, 4176, 1024, 0, 0}, {1548, 13107, 16448, 0, 0, 0, 0}, {268, 4144, 512, 4420, 1280, 0, 0}, {1546, 8224, 21845, 0, 0, 0, 0}, {1290, 1542, 4112, 0, 0, 0, 0}, {4471, 512, 1024, 0, 0, 0, 0}, {120, 256, 0, 0, 0, 0, 0}, {4883, 5397, 0, 0, 0, 0, 0}, {1290, 4128, 768, 20560, 0, 0, 0}, {1036, 4403, 512, 17476, 0, 0, 0}, {780, 12336, 4160, 1280, 0, 0, 0}, {522, 8738, 4437, 1024, 0, 0, 0}, {262, 5140, 0, 0, 0, 0, 0}, {5503, 1536, 0, 0, 0, 0, 0}, {5504, 1536, 21760, 0, 0, 0, 0}, {265, 369, 771, 1285, 4369, 0, 0}, {522, 4386, 1024, 0, 0, 0, 0}, {1295, 771, 4160, 0, 0, 0, 0}, {1036, 512, 4420, 0, 0, 0, 0}, {783, 4128, 1285, 0, 0, 0, 0}, {5610, 1542, 16448, 0, 0, 0, 0}, {271, 375, 512, 1024, 4096, 0, 0}, {136, 512, 1024, 4352, 0, 0, 0}, {240, 771, 1285, 4112, 0, 0, 0}, {1546, 4896, 0, 0, 0, 0, 0}, {259, 5188, 0, 0, 0, 0, 0}, {1548, 5440, 0, 0, 0, 0, 0}, {4642, 261, 0, 0, 0, 0, 0}, {1036, 4454, 1542, 17476, 0, 0, 0}, {1295, 4208, 1536, 20480, 0, 0, 0}, {5424, 5632, 1360, 0, 0, 0, 0}, {1100, 1638, 4369, 0, 0, 0, 0}, {282, 4386, 4626, 4160, 5120, 0, 0}, {1644, 13107, 16384, 0, 0, 0, 0}, {284, 4128, 4608, 4420, 5140, 0, 0}, {1642, 8192, 21845, 0, 0, 0, 0}, {1370, 1638, 4096, 0, 0, 0, 0}, {5431, 5911, 1088, 0, 0, 0, 0}, {1800, 272, 0, 0, 0, 0, 0}, {4915, 5461, 0, 0, 0, 0, 0}, {1370, 4144, 4864, 20480, 0, 0, 0}, {1100, 4403, 4883, 17476, 0, 0, 0}, {828, 12288, 4176, 5376, 0, 0, 0}, {554, 8738, 4437, 5397, 0, 0, 0}, {278, 5188, 0, 0, 0, 0, 0}, {4959, 1632, 0, 0, 0, 0, 0}, {5024, 13056, 5376, 0, 0, 0, 0}, {297, 771, 337, 1028, 4369, 0, 0}, {1032, 4386, 5888, 17408, 0, 0, 0}, {1375, 4192, 771, 20560, 0, 0, 0}, {544, 4420, 1028, 0, 0, 0, 0}, {783, 1365, 4096, 0, 0, 0, 0}, {5482, 8192, 18022, 0, 0, 0, 0}, {4367, 4128, 4608, 343, 5383, 0, 0}, {1032, 544, 4352, 0, 0, 0, 0}, {4144, 771, 1365, 0, 0, 0, 0}, {5546, 4864, 16384, 0, 0, 0, 0}, {347, 291, 771, 1028, 4112, 0, 0}, {4972, 13664, 21760, 0, 0, 0, 0}, {4104, 293, 4871, 4437, 5120, 0, 0}, {4940, 4454, 1028, 0, 0, 0, 0}, {5391, 5632, 4176, 0, 0, 0, 0}, {816, 4160, 1280, 0, 0, 0, 0}, {522, 1092, 4369, 0, 0, 0, 0}, {4120, 4386, 4626, 322, 5394, 0, 0}, {5503, 13107, 21299, 0, 0, 0, 0}, {316, 512, 324, 1280, 4096, 0, 0}, {5087, 8224, 5397, 0, 0, 0, 0}, {1290, 4128, 5654, 20560, 0, 0, 0}, {1096, 4471, 512, 17408, 0, 0, 0}, {328, 304, 512, 1280, 4352, 0, 0}, {5589, 4883, 21845, 0, 0, 0, 0}, {1290, 816, 4112, 0, 0, 0, 0}, {4403, 512, 1092, 0, 0, 0, 0}, {4940, 4208, 1280, 0, 0, 0, 0}, {5405, 5911, 4437, 0, 0, 0, 0}, {4382, 310, 4884, 4176, 5140, 0, 0}, {4991, 9792, 16448, 0, 0, 0, 0}, {5568, 4864, 21760, 0, 0, 0, 0}, {329, 305, 514, 1285, 4369, 0, 0}, {4386, 514, 1088, 0, 0, 0, 0}, {1295, 819, 4096, 0, 0, 0, 0}, {5384, 5888, 4420, 0, 0, 0, 0}, {4959, 4192, 1285, 0, 0, 0, 0}, {4972, 9830, 16384, 0, 0, 0, 0}, {4367, 311, 4871, 4160, 5120, 0, 0}, {520, 1088, 4352, 0, 0, 0, 0}, {819, 4176, 1285, 0, 0, 0, 0}, {5482, 13056, 21344, 0, 0, 0, 0}, {4104, 4403, 4608, 323, 5383, 0, 0}, {5068, 8192, 5376, 0, 0, 0, 0}, {317, 514, 325, 1285, 4112, 0, 0}, {1100, 4454, 514, 17476, 0, 0, 0}, {1295, 4144, 5632, 20480, 0, 0, 0}, {4128, 768, 1360, 0, 0, 0, 0}, {1036, 546, 4369, 0, 0, 0, 0}, {346, 290, 768, 1024, 4096, 0, 0}, {5567, 4883, 16448, 0, 0, 0, 0}, {4120, 292, 4884, 4420, 5140, 0, 0}, {4991, 13653, 21845, 0, 0, 0, 0}, {5402, 5654, 4160, 0, 0, 0, 0}, {4959, 4471, 1024, 0, 0, 0, 0}, {296, 768, 336, 1024, 4352, 0, 0}, {5043, 13107, 5397, 0, 0, 0, 0}, {1370, 4208, 768, 20480, 0, 0, 0}, {1036, 4403, 5911, 17476, 0, 0, 0}, {780, 1360, 4112, 0, 0, 0, 0}, {546, 4437, 1024, 0, 0, 0, 0}, {4382, 4144, 4626, 342, 5394, 0, 0}, {5503, 8224, 17952, 0, 0, 0, 0}, {4896, 5440, 0, 0, 0, 0, 0}, {1807, 273, 0, 0, 0, 0, 0}, {1096, 4386, 4864, 17408, 0, 0, 0}, {1375, 4128, 4883, 20560, 0, 0, 0}, {552, 8704, 4420, 5376, 0, 0, 0}, {831, 12336, 4160, 5397, 0, 0, 0}, {4940, 1638, 0, 0, 0, 0, 0}, {279, 5200, 0, 0, 0, 0, 0}, {1096, 1632, 4352, 0, 0, 0, 0}, {5413, 5654, 1365, 0, 0, 0, 0}, {1642, 13056, 16448, 0, 0, 0, 0}, {283, 4403, 4608, 4176, 5140, 0, 0}, {1644, 8224, 21760, 0, 0, 0, 0}, {285, 4144, 4626, 4437, 5120, 0, 0}, {5410, 5888, 1092, 0, 0, 0, 0}, {1375, 1632, 4112, 0, 0, 0, 0}, {240, 768, 1280, 4096, 0, 0, 0}, {136, 514, 1028, 4369, 0, 0, 0}, {258, 5200, 0, 0, 0, 0, 0}, {1548, 4915, 0, 0, 0, 0, 0}, {4656, 260, 0, 0, 0, 0, 0}, {1546, 5461, 0, 0, 0, 0, 0}, {1290, 4192, 1542, 20560, 0, 0, 0}, {1032, 4471, 1536, 17408, 0, 0, 0}, {264, 368, 768, 1280, 4352, 0, 0}, {5525, 1542, 21845, 0, 0, 0, 0}, {1290, 768, 4176, 0, 0, 0, 0}, {520, 4403, 1028, 0, 0, 0, 0}, {780, 4144, 1280, 0, 0, 0, 0}, {1032, 514, 4437, 0, 0, 0, 0}, {270, 374, 514, 1028, 4112, 0, 0}, {5631, 1536, 16384, 0, 0, 0, 0}, {2560, 8192, 20480, 0, 0, 0, 0}, {12, 51, 68, 257, 0, 0, 0}, {136, 514, 20520, 0, 0, 0, 0}, {12, 51, 771, 1283, 4099, 0, 0}, {12, 516, 68, 1028, 4100, 0, 0}, {255, 8287, 1285, 0, 0, 0, 0}, {12, 4192, 1542, 16384, 0, 0, 0}, {1295, 119, 1799, 21760, 0, 0, 0}, {520, 8704, 20480, 0, 0, 0, 0}, {12, 51, 771, 4176, 1285, 0, 0}, {20640, 2570, 28672, 0, 0, 0, 0}, {263, 68, 1028, 4352, 0, 0, 0}, {12, 1536, 4096, 0, 0, 0, 0}, {119, 514, 1285, 0, 0, 0, 0}, {12, 4128, 514, 68, 1028, 0, 0}, {1295, 8192, 21760, 0, 0, 0, 0}, {192, 2656, 4112, 0, 0, 0, 0}, {51, 529, 68, 1297, 4369, 0, 0}, {72, 4144, 4626, 16384, 0, 0, 0}, {1375, 51, 4883, 21760, 0, 0, 0}, {552, 8704, 68, 5140, 0, 0, 0}, {63, 12288, 4160, 5397, 0, 0, 0}, {204, 5654, 20540, 0, 0, 0, 0}, {72, 119, 535, 1303, 4119, 0, 0}, {4120, 4656, 4176, 0, 0, 0, 0}, {5657, 51, 1365, 0, 0, 0, 0}, {6682, 4208, 16448, 0, 0, 0, 0}, {1307, 51, 1792, 68, 4352, 0, 0}, {7196, 5744, 20560, 0, 0, 0, 0}, {1309, 1314, 1792, 1365, 4096, 0, 0}, {5662, 546, 68, 0, 0, 0, 0}, {4127, 4128, 5440, 0, 0, 0, 0}, {20640, 23040, 8224, 0, 0, 0, 0}, {274, 68, 1024, 4369, 0, 0, 0}, {2048, 546, 20480, 0, 0, 0, 0}, {12, 51, 771, 1360, 4112, 0, 0}, {12, 4132, 4608, 68, 1024, 0, 0}, {1370, 9509, 21845, 0, 0, 0, 0}, {12, 5670, 4160, 0, 0, 0, 0}, {1807, 1319, 1360, 0, 0, 0, 0}, {552, 8704, 20992, 0, 0, 0, 0}, {12, 51, 771, 4163, 5397, 0, 0}, {8320, 10794, 20480, 0, 0, 0, 0}, {51, 771, 276, 4352, 0, 0, 0}, {12, 4128, 5696, 16448, 0, 0, 0}, {1370, 119, 597, 21845, 0, 0, 0}, {12, 546, 68, 1024, 4096, 0, 0}, {3855, 8224, 1360, 0, 0, 0, 0}, {2560, 4144, 16384, 0, 0, 0, 0}, {1290, 51, 514, 68, 4369, 0, 0}, {72, 514, 4112, 0, 0, 0, 0}, {51, 4864, 1280, 0, 0, 0, 0}, {520, 5684, 68, 0, 0, 0, 0}, {1290, 1333, 5461, 0, 0, 0, 0}, {5722, 13878, 20560, 0, 0, 0, 0}, {4104, 4151, 4608, 4160, 1280, 0, 0}, {72, 4208, 576, 16448, 0, 0, 0}, {1290, 51, 5717, 21845, 0, 0, 0}, {2570, 12336, 4176, 0, 0, 0, 0}, {520, 51, 68, 1280, 4352, 0, 0}, {5692, 8192, 17920, 0, 0, 0, 0}, {4127, 4128, 514, 4183, 5397, 0, 0}, {514, 68, 5140, 0, 0, 0, 0}, {63, 1280, 4096, 0, 0, 0, 0}, {2560, 12288, 4160, 0, 0, 0, 0}, {522, 51, 68, 1285, 4369, 0, 0}, {72, 4192, 578, 16384, 0, 0, 0}, {1295, 51, 5699, 21760, 0, 0, 0}, {512, 68, 5120, 0, 0, 0, 0}, {63, 1285, 4112, 0, 0, 0, 0}, {5674, 8224, 17990, 0, 0, 0, 0}, {4111, 4144, 512, 4167, 5376, 0, 0}, {72, 512, 4096, 0, 0, 0, 0}, {51, 4883, 1285, 0, 0, 0, 0}, {2570, 4128, 16448, 0, 0, 0, 0}, {1295, 51, 512, 68, 4352, 0, 0}, {5708, 13824, 20480, 0, 0, 0, 0}, {4120, 4135, 4626, 4176, 1285, 0, 0}, {522, 5666, 68, 0, 0, 0, 0}, {1295, 1328, 5440, 0, 0, 0, 0}, {8352, 10752, 20560, 0, 0, 0, 0}, {51, 768, 277, 4369, 0, 0, 0}, {554, 8738, 21074, 0, 0, 0, 0}, {12, 51, 768, 4179, 5376, 0, 0}, {12, 544, 68, 1028, 4112, 0, 0}, {3840, 8192, 1365, 0, 0, 0, 0}, {12, 4144, 5718, 16384, 0, 0, 0}, {1375, 119, 599, 21760, 0, 0, 0}, {2056, 544, 20560, 0, 0, 0, 0}, {12, 51, 768, 1365, 4096, 0, 0}, {20720, 23130, 8192, 0, 0, 0, 0}, {275, 68, 1028, 4352, 0, 0, 0}, {12, 5680, 4176, 0, 0, 0, 0}, {1800, 1314, 1365, 0, 0, 0, 0}, {12, 4148, 4626, 68, 1028, 0, 0}, {1375, 9472, 21760, 0, 0, 0, 0}, {6656, 4192, 16384, 0, 0, 0, 0}, {1310, 51, 1799, 68, 4369, 0, 0}, {4104, 4642, 4160, 0, 0, 0, 0}, {5647, 51, 1360, 0, 0, 0, 0}, {5640, 544, 68, 0, 0, 0, 0}, {4111, 4144, 5461, 0, 0, 0, 0}, {7168, 5734, 20480, 0, 0, 0, 0}, {1304, 1319, 1799, 1360, 4112, 0, 0}, {72, 4128, 4608, 16448, 0, 0, 0}, {1370, 51, 4864, 21845, 0, 0, 0}, {192, 2666, 4096, 0, 0, 0, 0}, {51, 531, 68, 1300, 4352, 0, 0}, {204, 5632, 20588, 0, 0, 0, 0}, {72, 119, 533, 1298, 4103, 0, 0}, {554, 8738, 68, 5120, 0, 0, 0}, {63, 12336, 4176, 5376, 0, 0, 0}, {20720, 2560, 28784, 0, 0, 0, 0}, {262, 68, 1024, 4369, 0, 0, 0}, {522, 8738, 20560, 0, 0, 0, 0}, {12, 51, 768, 4160, 1280, 0, 0}, {12, 4144, 512, 68, 1024, 0, 0}, {1290, 8224, 21845, 0, 0, 0, 0}, {12, 1542, 4112, 0, 0, 0, 0}, {119, 512, 1280, 0, 0, 0, 0}, {136, 512, 20600, 0, 0, 0, 0}, {12, 51, 768, 1286, 4115, 0, 0}, {2570, 8224, 20560, 0, 0, 0, 0}, {12, 51, 68, 256, 0, 0, 0}, {12, 4208, 1536, 16448, 0, 0, 0}, {1290, 119, 1792, 21845, 0, 0, 0}, {12, 518, 68, 1024, 4116, 0, 0}, {255, 8319, 1280, 0, 0, 0, 0}, {8320, 2560, 20480, 0, 0, 0, 0}, {51, 771, 261, 4369, 0, 0, 0}, {522, 8738, 21026, 0, 0, 0, 0}, {12, 51, 771, 4163, 1283, 0, 0}, {12, 512, 68, 1024, 4096, 0, 0}, {255, 8224, 1285, 0, 0, 0, 0}, {12, 4128, 1542, 16448, 0, 0, 0}, {1295, 119, 512, 21760, 0, 0, 0}, {136, 512, 20480, 0, 0, 0, 0}, {12, 51, 771, 1285, 4112, 0, 0}, {20640, 2570, 8224, 0, 0, 0, 0}, {259, 68, 1024, 4352, 0, 0, 0}, {12, 1536, 4160, 0, 0, 0, 0}, {522, 119, 1285, 0, 0, 0, 0}, {12, 4132, 518, 68, 1024, 0, 0}, {1295, 9584, 21760, 0, 0, 0, 0}, {6704, 12336, 4176, 0, 0, 0, 0}, {537, 51, 68, 1297, 4369, 0, 0}, {72, 4208, 4626, 16448, 0, 0, 0}, {1375, 51, 5632, 21760, 0, 0, 0}, {544, 68, 5140, 0, 0, 0, 0}, {63, 1365, 4096, 0, 0, 0, 0}, {5722, 8192, 18022, 0, 0, 0, 0}, {4127, 4128, 4608, 4183, 1303, 0, 0}, {72, 544, 4112, 0, 0, 0, 0}, {51, 4864, 1365, 0, 0, 0, 0}, {6746, 4144, 16384, 0, 0, 0, 0}, {1307, 51, 531, 68, 4352, 0, 0}, {5692, 13904, 20560, 0, 0, 0, 0}, {4104, 4151, 533, 4160, 5397, 0, 0}, {5180, 5654, 68, 0, 0, 0, 0}, {4191, 4192, 5376, 0, 0, 0, 0}, {20640, 23040, 28672, 0, 0, 0, 0}, {278, 68, 1028, 4369, 0, 0, 0}, {554, 8738, 20480, 0, 0, 0, 0}, {12, 51, 771, 4176, 5376, 0, 0}, {12, 4128, 4608, 68, 1028, 0, 0}, {1370, 8192, 21845, 0, 0, 0, 0}, {12, 1638, 4096, 0, 0, 0, 0}, {1319, 1799, 1360, 0, 0, 0, 0}, {2056, 544, 21000, 0, 0, 0, 0}, {12, 51, 771, 1366, 4099, 0, 0}, {2730, 8192, 20480, 0, 0, 0, 0}, {12, 771, 1028, 272, 0, 0, 0}, {12, 4192, 5632, 16384, 0, 0, 0}, {1370, 119, 1799, 21845, 0, 0, 0}, {12, 550, 68, 1028, 4100, 0, 0}, {3855, 9487, 1360, 0, 0, 0, 0}, {2560, 4208, 16448, 0, 0, 0, 0}, {1290, 51, 1792, 68, 4369, 0, 0}, {4120, 4626, 4176, 0, 0, 0, 0}, {4940, 51, 1280, 0, 0, 0, 0}, {5180, 512, 68, 0, 0, 0, 0}, {4127, 4128, 5397, 0, 0, 0, 0}, {204, 5654, 20560, 0, 0, 0, 0}, {72, 119, 512, 1280, 4096, 0, 0}, {72, 4144, 512, 16384, 0, 0, 0}, {1290, 51, 4883, 21845, 0, 0, 0}, {192, 2570, 4112, 0, 0, 0, 0}, {51, 512, 68, 1280, 4352, 0, 0}, {2560, 5744, 17996, 0, 0, 0, 0}, {1290, 1333, 1792, 1346, 4119, 0, 0}, {522, 8738, 68, 5140, 0, 0, 0}, {63, 12288, 4160, 1280, 0, 0, 0}, {192, 2560, 4096, 0, 0, 0, 0}, {51, 514, 68, 1285, 4369, 0, 0}, {72, 4128, 514, 16448, 0, 0, 0}, {1295, 51, 4864, 21760, 0, 0, 0}, {520, 8704, 68, 5120, 0, 0, 0}, {63, 12336, 4176, 1285, 0, 0, 0}, {2570, 5734, 17930, 0, 0, 0, 0}, {1295, 1328, 1799, 1351, 4103, 0, 0}, {4104, 4608, 4160, 0, 0, 0, 0}, {4959, 51, 1285, 0, 0, 0, 0}, {2570, 4192, 16384, 0, 0, 0, 0}, {1295, 51, 1799, 68, 4352, 0, 0}, {204, 5632, 20480, 0, 0, 0, 0}, {72, 119, 514, 1285, 4112, 0, 0}, {5160, 514, 68, 0, 0, 0, 0}, {4111, 4144, 5376, 0, 0, 0, 0}, {2720, 8224, 20560, 0, 0, 0, 0}, {12, 768, 1024, 273, 0, 0, 0}, {2048, 546, 21082, 0, 0, 0, 0}, {12, 51, 768, 1363, 4115, 0, 0}, {12, 548, 68, 1024, 4116, 0, 0}, {3840, 9514, 1365, 0, 0, 0, 0}, {12, 4208, 5654, 16448, 0, 0, 0}, {1375, 119, 1792, 21760, 0, 0, 0}, {552, 8704, 20560, 0, 0, 0, 0}, {12, 51, 768, 4160, 5397, 0, 0}, {20720, 23130, 28784, 0, 0, 0, 0}, {279, 68, 1024, 4352, 0, 0, 0}, {12, 1632, 4112, 0, 0, 0, 0}, {1314, 1792, 1365, 0, 0, 0, 0}, {12, 4144, 4626, 68, 1024, 0, 0}, {1375, 8224, 21760, 0, 0, 0, 0}, {6720, 4128, 16448, 0, 0, 0, 0}, {1310, 51, 529, 68, 4369, 0, 0}, {72, 546, 4096, 0, 0, 0, 0}, {51, 4883, 1360, 0, 0, 0, 0}, {5160, 5632, 68, 0, 0, 0, 0}, {4175, 4208, 5397, 0, 0, 0, 0}, {5674, 13926, 20480, 0, 0, 0, 0}, {4120, 4135, 535, 4176, 5376, 0, 0}, {72, 4192, 4608, 16384, 0, 0, 0}, {1370, 51, 5654, 21845, 0, 0, 0}, {6698, 12288, 4160, 0, 0, 0, 0}, {539, 51, 68, 1300, 4352, 0, 0}, {5708, 8224, 17952, 0, 0, 0, 0}, {4111, 4144, 4626, 4167, 1298, 0, 0}, {546, 68, 5120, 0, 0, 0, 0}, {63, 1360, 4112, 0, 0, 0, 0}, {20720, 2560, 8192, 0, 0, 0, 0}, {258, 68, 1028, 4369, 0, 0, 0}, {136, 514, 20560, 0, 0, 0, 0}, {12, 51, 768, 1280, 4096, 0, 0}, {12, 4148, 516, 68, 1028, 0, 0}, {1290, 9557, 21845, 0, 0, 0, 0}, {12, 1542, 4176, 0, 0, 0, 0}, {520, 119, 1280, 0, 0, 0, 0}, {520, 8704, 21104, 0, 0, 0, 0}, {12, 51, 768, 4179, 1286, 0, 0}, {8352, 2570, 20560, 0, 0, 0, 0}, {51, 768, 260, 4352, 0, 0, 0}, {12, 4144, 1536, 16384, 0, 0, 0}, {1290, 119, 514, 21845, 0, 0, 0}, {12, 514, 68, 1028, 4112, 0, 0}, {255, 8192, 1280, 0, 0, 0, 0}, {3072, 13056, 17408, 0, 0, 0, 0}, {10, 32, 80, 257, 0, 0, 0}, {10, 32, 514, 1026, 4354, 0, 0}, {240, 771, 17468, 0, 0, 0, 0}, {128, 13132, 1028, 0, 0, 0, 0}, {10, 773, 80, 1285, 4357, 0, 0}, {10, 4454, 1542, 21760, 0, 0, 0}, {1032, 112, 1799, 16384, 0, 0, 0}, {1032, 13056, 16384, 0, 0, 0, 0}, {10, 4403, 771, 80, 1285, 0, 0}, {10, 1536, 4352, 0, 0, 0, 0}, {112, 771, 1028, 0, 0, 0, 0}, {17612, 3084, 30464, 0, 0, 0, 0}, {263, 80, 1285, 4096, 0, 0, 0}, {10, 32, 514, 4420, 1028, 0, 0}, {783, 12288, 17408, 0, 0, 0, 0}, {32, 784, 80, 1040, 4112, 0, 0}, {170, 3174, 4369, 0, 0, 0, 0}, {90, 4386, 4626, 21760, 0, 0, 0}, {1100, 32, 4883, 16384, 0, 0, 0}, {828, 12288, 80, 5140, 0, 0, 0}, {42, 8704, 4437, 5397, 0, 0, 0}, {90, 112, 790, 1046, 4374, 0, 0}, {160, 5911, 17448, 0, 0, 0, 0}, {5912, 816, 80, 0, 0, 0, 0}, {4377, 4403, 5461, 0, 0, 0, 0}, {1050, 1072, 1792, 1088, 4352, 0, 0}, {6939, 6007, 17476, 0, 0, 0, 0}, {1052, 32, 1792, 80, 4096, 0, 0}, {7453, 4471, 21845, 0, 0, 0, 0}, {4382, 4642, 4420, 0, 0, 0, 0}, {5919, 32, 1088, 0, 0, 0, 0}, {32, 4864, 1024, 0, 0, 0, 0}, {90, 771, 4369, 0, 0, 0, 0}, {3072, 4386, 21760, 0, 0, 0, 0}, {1036, 32, 771, 80, 4112, 0, 0}, {5960, 9252, 17476, 0, 0, 0, 0}, {4367, 4389, 4608, 4437, 1024, 0, 0}, {1036, 1062, 5440, 0, 0, 0, 0}, {783, 5927, 80, 0, 0, 0, 0}, {5928, 13056, 21248, 0, 0, 0, 0}, {4377, 4403, 771, 4419, 5397, 0, 0}, {42, 1024, 4352, 0, 0, 0, 0}, {771, 80, 5140, 0, 0, 0, 0}, {1036, 32, 5952, 16448, 0, 0, 0}, {90, 4471, 853, 21845, 0, 0, 0}, {3084, 8738, 4420, 0, 0, 0, 0}, {783, 32, 80, 1024, 4096, 0, 0}, {3840, 816, 17408, 0, 0, 0, 0}, {10, 32, 514, 1092, 4369, 0, 0}, {274, 80, 1280, 4112, 0, 0, 0}, {17612, 18432, 13107, 0, 0, 0, 0}, {1800, 1076, 1092, 0, 0, 0, 0}, {10, 5941, 4437, 0, 0, 0, 0}, {10, 4406, 4608, 80, 1280, 0, 0}, {1096, 14135, 16448, 0, 0, 0, 0}, {1096, 112, 832, 16448, 0, 0, 0}, {10, 4403, 5973, 21845, 0, 0, 0}, {10, 816, 80, 1280, 4352, 0, 0}, {2056, 13107, 1092, 0, 0, 0, 0}, {828, 12288, 18176, 0, 0, 0, 0}, {10, 32, 514, 4439, 5397, 0, 0}, {32, 514, 276, 4096, 0, 0, 0}, {13311, 16191, 17408, 0, 0, 0, 0}, {2048, 13056, 1088, 0, 0, 0, 0}, {10, 819, 80, 1285, 4369, 0, 0}, {10, 4386, 5954, 21760, 0, 0, 0}, {1100, 112, 835, 16384, 0, 0, 0}, {13260, 16128, 17476, 0, 0, 0, 0}, {32, 512, 277, 4112, 0, 0, 0}, {10, 32, 512, 4422, 5376, 0, 0}, {831, 12336, 18247, 0, 0, 0, 0}, {17544, 18504, 13056, 0, 0, 0, 0}, {275, 80, 1285, 4096, 0, 0, 0}, {10, 32, 512, 1088, 4352, 0, 0}, {3855, 819, 17476, 0, 0, 0, 0}, {1100, 14080, 16384, 0, 0, 0, 0}, {10, 4391, 4626, 80, 1285, 0, 0}, {10, 5922, 4420, 0, 0, 0, 0}, {1807, 1072, 1088, 0, 0, 0, 0}, {768, 80, 5120, 0, 0, 0, 0}, {42, 1028, 4369, 0, 0, 0, 0}, {4360, 4386, 768, 4434, 5376, 0, 0}, {5951, 13107, 21331, 0, 0, 0, 0}, {780, 32, 80, 1028, 4112, 0, 0}, {3072, 8704, 4437, 0, 0, 0, 0}, {90, 4454, 854, 21760, 0, 0, 0}, {1032, 32, 5975, 16384, 0, 0, 0}, {1032, 32, 768, 80, 4096, 0, 0}, {3084, 4403, 21845, 0, 0, 0, 0}, {90, 768, 4352, 0, 0, 0, 0}, {32, 4883, 1028, 0, 0, 0, 0}, {780, 5936, 80, 0, 0, 0, 0}, {1032, 1058, 5461, 0, 0, 0, 0}, {4382, 4404, 4626, 4420, 1028, 0, 0}, {5983, 9216, 17408, 0, 0, 0, 0}, {6912, 5984, 17408, 0, 0, 0, 0}, {1054, 1076, 1799, 1092, 4369, 0, 0}, {4360, 4386, 5440, 0, 0, 0, 0}, {5903, 819, 80, 0, 0, 0, 0}, {5896, 32, 1092, 0, 0, 0, 0}, {4367, 4656, 4437, 0, 0, 0, 0}, {7424, 4454, 21760, 0, 0, 0, 0}, {1048, 32, 1799, 80, 4112, 0, 0}, {1096, 32, 4864, 16448, 0, 0, 0}, {90, 4403, 4608, 21845, 0, 0, 0}, {170, 3178, 4352, 0, 0, 0, 0}, {32, 787, 80, 1044, 4096, 0, 0}, {160, 5888, 17516, 0, 0, 0, 0}, {90, 112, 789, 1042, 4359, 0, 0}, {42, 8738, 4420, 5376, 0, 0, 0}, {831, 12336, 80, 5120, 0, 0, 0}, {112, 768, 1024, 0, 0, 0, 0}, {10, 1542, 4369, 0, 0, 0, 0}, {10, 4386, 768, 80, 1280, 0, 0}, {1036, 13107, 16448, 0, 0, 0, 0}, {780, 12336, 17476, 0, 0, 0, 0}, {10, 32, 512, 4437, 1024, 0, 0}, {262, 80, 1280, 4112, 0, 0, 0}, {17544, 3072, 30583, 0, 0, 0, 0}, {240, 768, 17528, 0, 0, 0, 0}, {10, 32, 512, 1030, 4371, 0, 0}, {10, 32, 80, 256, 0, 0, 0}, {3084, 13107, 17476, 0, 0, 0, 0}, {1036, 112, 1792, 16448, 0, 0, 0}, {10, 4471, 1536, 21845, 0, 0, 0}, {10, 774, 80, 1280, 4372, 0, 0}, {128, 13183, 1024, 0, 0, 0, 0}, {128, 13056, 1024, 0, 0, 0, 0}, {10, 771, 80, 1285, 4369, 0, 0}, {10, 4386, 1536, 21760, 0, 0, 0}, {1036, 112, 771, 16448, 0, 0, 0}, {13260, 3084, 17476, 0, 0, 0, 0}, {32, 512, 261, 4096, 0, 0, 0}, {10, 32, 512, 4422, 1030, 0, 0}, {783, 12288, 18295, 0, 0, 0, 0}, {17544, 3072, 13056, 0, 0, 0, 0}, {259, 80, 1285, 4112, 0, 0, 0}, {10, 32, 512, 1024, 4352, 0, 0}, {240, 771, 17476, 0, 0, 0, 0}, {1036, 14144, 16448, 0, 0, 0, 0}, {10, 4391, 773, 80, 1285, 0, 0}, {10, 1542, 4420, 0, 0, 0, 0}, {783, 112, 1024, 0, 0, 0, 0}, {816, 80, 5120, 0, 0, 0, 0}, {42, 1092, 4369, 0, 0, 0, 0}, {4360, 4386, 4626, 4434, 1042, 0, 0}, {5983, 13107, 21299, 0, 0, 0, 0}, {796, 32, 80, 1044, 4096, 0, 0}, {7487, 8704, 4437, 0, 0, 0, 0}, {90, 4454, 4608, 21760, 0, 0, 0}, {1096, 32, 5911, 16448, 0, 0, 0}, {1048, 32, 784, 80, 4112, 0, 0}, {7509, 4403, 21845, 0, 0, 0, 0}, {90, 816, 4352, 0, 0, 0, 0}, {32, 4883, 1092, 0, 0, 0, 0}, {5180, 5888, 80, 0, 0, 0, 0}, {4445, 4471, 5397, 0, 0, 0, 0}, {4382, 4404, 790, 4420, 5376, 0, 0}, {5951, 9312, 17408, 0, 0, 0, 0}, {160, 5888, 17408, 0, 0, 0, 0}, {90, 112, 771, 1028, 4369, 0, 0}, {4360, 4386, 5376, 0, 0, 0, 0}, {5180, 771, 80, 0, 0, 0, 0}, {4940, 32, 1028, 0, 0, 0, 0}, {4367, 4608, 4437, 0, 0, 0, 0}, {3084, 4454, 21760, 0, 0, 0, 0}, {1032, 32, 1799, 80, 4096, 0, 0}, {1032, 32, 4864, 16384, 0, 0, 0}, {90, 4403, 771, 21845, 0, 0, 0}, {170, 3072, 4352, 0, 0, 0, 0}, {32, 771, 80, 1028, 4112, 0, 0}, {3084, 5984, 21260, 0, 0, 0, 0}, {1032, 1058, 1799, 1106, 4359, 0, 0}, {42, 8738, 4420, 1028, 0, 0, 0}, {783, 12288, 80, 5120, 0, 0, 0}, {1072, 1792, 1088, 0, 0, 0, 0}, {10, 1638, 4369, 0, 0, 0, 0}, {10, 4386, 4626, 80, 1280, 0, 0}, {1100, 13107, 16384, 0, 0, 0, 0}, {828, 12288, 17476, 0, 0, 0, 0}, {10, 32, 512, 4437, 5397, 0, 0}, {278, 80, 1280, 4096, 0, 0, 0}, {17544, 18504, 30583, 0, 0, 0, 0}, {3840, 816, 18248, 0, 0, 0, 0}, {10, 32, 512, 1094, 4371, 0, 0}, {10, 512, 1280, 272, 0, 0, 0}, {3276, 13107, 17476, 0, 0, 0, 0}, {1100, 112, 1792, 16384, 0, 0, 0}, {10, 4471, 5911, 21845, 0, 0, 0}, {10, 822, 80, 1280, 4372, 0, 0}, {2048, 14143, 1088, 0, 0, 0, 0}, {3264, 13056, 17408, 0, 0, 0, 0}, {10, 514, 1285, 273, 0, 0, 0}, {10, 32, 514, 1090, 4354, 0, 0}, {3855, 819, 18191, 0, 0, 0, 0}, {2056, 14088, 1092, 0, 0, 0, 0}, {10, 821, 80, 1285, 4357, 0, 0}, {10, 4454, 5888, 21760, 0, 0, 0}, {1096, 112, 1799, 16448, 0, 0, 0}, {1096, 13056, 16448, 0, 0, 0, 0}, {10, 4403, 4608, 80, 1285, 0, 0}, {10, 1632, 4352, 0, 0, 0, 0}, {1076, 1799, 1092, 0, 0, 0, 0}, {17612, 18432, 30464, 0, 0, 0, 0}, {279, 80, 1285, 4112, 0, 0, 0}, {10, 32, 514, 4420, 5376, 0, 0}, {831, 12336, 17408, 0, 0, 0, 0}, {32, 768, 80, 1024, 4096, 0, 0}, {170, 3084, 4369, 0, 0, 0, 0}, {90, 4386, 768, 21760, 0, 0, 0}, {1036, 32, 4883, 16448, 0, 0, 0}, {780, 12336, 80, 5140, 0, 0, 0}, {42, 8704, 4437, 1024, 0, 0, 0}, {1036, 1062, 1792, 1110, 4374, 0, 0}, {3072, 6007, 21343, 0, 0, 0, 0}, {5160, 768, 80, 0, 0, 0, 0}, {4377, 4403, 5397, 0, 0, 0, 0}, {90, 112, 768, 1024, 4352, 0, 0}, {160, 5911, 17476, 0, 0, 0, 0}, {1036, 32, 1792, 80, 4112, 0, 0}, {3072, 4471, 21845, 0, 0, 0, 0}, {4382, 4626, 4420, 0, 0, 0, 0}, {4959, 32, 1024, 0, 0, 0, 0}, {32, 4864, 1088, 0, 0, 0, 0}, {90, 819, 4369, 0, 0, 0, 0}, {7496, 4386, 21760, 0, 0, 0, 0}, {1052, 32, 787, 80, 4096, 0, 0}, {5928, 9284, 17476, 0, 0, 0, 0}, {4367, 4389, 789, 4437, 5397, 0, 0}, {4428, 4454, 5376, 0, 0, 0, 0}, {5160, 5911, 80, 0, 0, 0, 0}, {5960, 13056, 21344, 0, 0, 0, 0}, {4377, 4403, 4608, 4419, 1046, 0, 0}, {42, 1088, 4352, 0, 0, 0, 0}, {819, 80, 5140, 0, 0, 0, 0}, {1100, 32, 5888, 16384, 0, 0, 0}, {90, 4471, 4626, 21845, 0, 0, 0}, {7458, 8738, 4420, 0, 0, 0, 0}, {799, 32, 80, 1040, 4112, 0, 0}, {240, 768, 17408, 0, 0, 0, 0}, {10, 32, 514, 1028, 4369, 0, 0}, {258, 80, 1280, 4096, 0, 0, 0}, {17612, 3084, 13107, 0, 0, 0, 0}, {780, 112, 1028, 0, 0, 0, 0}, {10, 1536, 4437, 0, 0, 0, 0}, {10, 4406, 774, 80, 1280, 0, 0}, {1032, 14199, 16384, 0, 0, 0, 0}, {1032, 112, 768, 16384, 0, 0, 0}, {10, 4403, 1542, 21845, 0, 0, 0}, {10, 768, 80, 1280, 4352, 0, 0}, {128, 13107, 1028, 0, 0, 0, 0}, {780, 12336, 18224, 0, 0, 0, 0}, {10, 32, 514, 4439, 1026, 0, 0}, {32, 514, 260, 4112, 0, 0, 0}, {13311, 3072, 17408, 0, 0, 0, 0}, {3072, 12288, 16384, 0, 0, 0, 0}, {10, 34, 85, 257, 0, 0, 0}, {10, 34, 514, 1026, 4098, 0, 0}, {255, 771, 16447, 0, 0, 0, 0}, {136, 12360, 1028, 0, 0, 0, 0}, {10, 773, 85, 1285, 4101, 0, 0}, {10, 4192, 1542, 20480, 0, 0, 0}, {1032, 119, 1799, 17408, 0, 0, 0}, {1032, 12288, 17408, 0, 0, 0, 0}, {10, 4144, 771, 85, 1285, 0, 0}, {10, 1536, 4096, 0, 0, 0, 0}, {119, 771, 1028, 0, 0, 0, 0}, {16576, 3084, 28672, 0, 0, 0, 0}, {263, 85, 1285, 4352, 0, 0, 0}, {10, 34, 514, 4160, 1028, 0, 0}, {783, 13056, 16384, 0, 0, 0, 0}, {160, 3168, 4112, 0, 0, 0, 0}, {34, 785, 85, 1041, 4369, 0, 0}, {1096, 34, 4626, 17408, 0, 0, 0}, {95, 4128, 4883, 20480, 0, 0, 0}, {40, 8192, 4176, 5140, 0, 0, 0}, {831, 13056, 85, 5397, 0, 0, 0}, {170, 5654, 16426, 0, 0, 0, 0}, {95, 119, 791, 1047, 4119, 0, 0}, {4120, 4144, 5200, 0, 0, 0, 0}, {5657, 819, 85, 0, 0, 0, 0}, {6682, 5744, 16448, 0, 0, 0, 0}, {1051, 1075, 1792, 1092, 4096, 0, 0}, {7196, 4208, 20560, 0, 0, 0, 0}, {1053, 34, 1792, 85, 4352, 0, 0}, {5662, 34, 1092, 0, 0, 0, 0}, {4127, 4896, 4160, 0, 0, 0, 0}, {3072, 4128, 20480, 0, 0, 0, 0}, {1036, 34, 771, 85, 4369, 0, 0}, {34, 4608, 1024, 0, 0, 0, 0}, {95, 771, 4112, 0, 0, 0, 0}, {1036, 1060, 5188, 0, 0, 0, 0}, {783, 5669, 85, 0, 0, 0, 0}, {5708, 9766, 16448, 0, 0, 0, 0}, {4111, 4135, 4864, 4176, 1024, 0, 0}, {40, 1024, 4096, 0, 0, 0, 0}, {771, 85, 5397, 0, 0, 0, 0}, {5674, 12288, 22016, 0, 0, 0, 0}, {4120, 4144, 771, 4167, 5140, 0, 0}, {3084, 8224, 4160, 0, 0, 0, 0}, {783, 34, 85, 1024, 4352, 0, 0}, {1036, 34, 5700, 17476, 0, 0, 0}, {95, 4208, 848, 20560, 0, 0, 0}, {16576, 19456, 12336, 0, 0, 0, 0}, {275, 85, 1280, 4369, 0, 0, 0}, {10, 34, 514, 1088, 4112, 0, 0}, {3840, 819, 16384, 0, 0, 0, 0}, {1100, 13364, 17476, 0, 0, 0, 0}, {10, 4149, 4864, 85, 1280, 0, 0}, {10, 5686, 4176, 0, 0, 0, 0}, {1800, 1079, 1088, 0, 0, 0, 0}, {2056, 12336, 1088, 0, 0, 0, 0}, {10, 819, 85, 1280, 4096, 0, 0}, {10, 4144, 5712, 20560, 0, 0, 0}, {1100, 119, 836, 17476, 0, 0, 0}, {12528, 15420, 16384, 0, 0, 0, 0}, {34, 514, 277, 4352, 0, 0, 0}, {10, 34, 514, 4178, 5140, 0, 0}, {831, 13056, 17152, 0, 0, 0, 0}, {12480, 15360, 16448, 0, 0, 0, 0}, {34, 512, 276, 4369, 0, 0, 0}, {10, 34, 512, 4162, 5120, 0, 0}, {828, 13107, 17219, 0, 0, 0, 0}, {2048, 12288, 1092, 0, 0, 0, 0}, {10, 816, 85, 1285, 4112, 0, 0}, {10, 4128, 5702, 20480, 0, 0, 0}, {1096, 119, 839, 17408, 0, 0, 0}, {1096, 13312, 17408, 0, 0, 0, 0}, {10, 4133, 4883, 85, 1285, 0, 0}, {10, 5664, 4160, 0, 0, 0, 0}, {1807, 1075, 1092, 0, 0, 0, 0}, {16512, 19532, 12288, 0, 0, 0, 0}, {274, 85, 1285, 4352, 0, 0, 0}, {10, 34, 512, 1092, 4096, 0, 0}, {3855, 816, 16448, 0, 0, 0, 0}, {3072, 8192, 4176, 0, 0, 0, 0}, {780, 34, 85, 1028, 4369, 0, 0}, {1032, 34, 5714, 17408, 0, 0, 0}, {95, 4192, 851, 20480, 0, 0, 0}, {40, 1028, 4112, 0, 0, 0, 0}, {768, 85, 5376, 0, 0, 0, 0}, {5692, 12336, 22102, 0, 0, 0, 0}, {4104, 4128, 768, 4183, 5120, 0, 0}, {1032, 1056, 5200, 0, 0, 0, 0}, {780, 5683, 85, 0, 0, 0, 0}, {5722, 9728, 16384, 0, 0, 0, 0}, {4127, 4151, 4883, 4160, 1028, 0, 0}, {3084, 4144, 20560, 0, 0, 0, 0}, {1032, 34, 768, 85, 4352, 0, 0}, {34, 4626, 1028, 0, 0, 0, 0}, {95, 768, 4096, 0, 0, 0, 0}, {7168, 4192, 20480, 0, 0, 0, 0}, {1049, 34, 1799, 85, 4369, 0, 0}, {5640, 34, 1088, 0, 0, 0, 0}, {4111, 4915, 4176, 0, 0, 0, 0}, {4104, 4128, 5188, 0, 0, 0, 0}, {5647, 816, 85, 0, 0, 0, 0}, {6656, 5734, 16384, 0, 0, 0, 0}, {1055, 1079, 1799, 1088, 4112, 0, 0}, {40, 8224, 4160, 5120, 0, 0, 0}, {828, 13107, 85, 5376, 0, 0, 0}, {170, 5632, 16490, 0, 0, 0, 0}, {95, 119, 788, 1043, 4103, 0, 0}, {160, 3180, 4096, 0, 0, 0, 0}, {34, 786, 85, 1045, 4352, 0, 0}, {1100, 34, 4608, 17476, 0, 0, 0}, {95, 4144, 4864, 20560, 0, 0, 0}, {16512, 3072, 28784, 0, 0, 0, 0}, {262, 85, 1280, 4369, 0, 0, 0}, {10, 34, 512, 4176, 1024, 0, 0}, {780, 13107, 16448, 0, 0, 0, 0}, {1036, 12336, 17476, 0, 0, 0, 0}, {10, 4128, 768, 85, 1280, 0, 0}, {10, 1542, 4112, 0, 0, 0, 0}, {119, 768, 1024, 0, 0, 0, 0}, {136, 12408, 1024, 0, 0, 0, 0}, {10, 774, 85, 1280, 4117, 0, 0}, {10, 4208, 1536, 20560, 0, 0, 0}, {1036, 119, 1792, 17476, 0, 0, 0}, {3084, 12336, 16448, 0, 0, 0, 0}, {10, 34, 85, 256, 0, 0, 0}, {10, 34, 512, 1030, 4114, 0, 0}, {255, 768, 16511, 0, 0, 0, 0}, {16512, 3072, 12288, 0, 0, 0, 0}, {259, 85, 1285, 4369, 0, 0, 0}, {10, 34, 512, 1024, 4096, 0, 0}, {255, 771, 16448, 0, 0, 0, 0}, {1036, 13380, 17476, 0, 0, 0, 0}, {10, 4133, 773, 85, 1285, 0, 0}, {10, 1542, 4160, 0, 0, 0, 0}, {783, 119, 1024, 0, 0, 0, 0}, {136, 12288, 1024, 0, 0, 0, 0}, {10, 771, 85, 1285, 4112, 0, 0}, {10, 4128, 1536, 20480, 0, 0, 0}, {1036, 119, 771, 17476, 0, 0, 0}, {12480, 3084, 16448, 0, 0, 0, 0}, {34, 512, 261, 4352, 0, 0, 0}, {10, 34, 512, 4162, 1030, 0, 0}, {783, 13056, 17264, 0, 0, 0, 0}, {7248, 4144, 20560, 0, 0, 0, 0}, {1049, 34, 785, 85, 4369, 0, 0}, {34, 4626, 1088, 0, 0, 0, 0}, {95, 819, 4096, 0, 0, 0, 0}, {4184, 4208, 5140, 0, 0, 0, 0}, {5439, 5632, 85, 0, 0, 0, 0}, {5692, 9830, 16384, 0, 0, 0, 0}, {4127, 4151, 791, 4160, 5120, 0, 0}, {40, 1088, 4112, 0, 0, 0, 0}, {819, 85, 5376, 0, 0, 0, 0}, {5722, 12336, 22064, 0, 0, 0, 0}, {4104, 4128, 4883, 4183, 1043, 0, 0}, {7228, 8192, 4176, 0, 0, 0, 0}, {797, 34, 85, 1045, 4352, 0, 0}, {1100, 34, 5654, 17476, 0, 0, 0}, {95, 4192, 4864, 20480, 0, 0, 0}, {160, 3072, 4096, 0, 0, 0, 0}, {34, 771, 85, 1028, 4369, 0, 0}, {1032, 34, 4608, 17408, 0, 0, 0}, {95, 4144, 771, 20560, 0, 0, 0}, {40, 8224, 4160, 1028, 0, 0, 0}, {783, 13056, 85, 5376, 0, 0, 0}, {3084, 5734, 22028, 0, 0, 0, 0}, {1032, 1056, 1799, 1111, 4103, 0, 0}, {4104, 4128, 5120, 0, 0, 0, 0}, {5439, 771, 85, 0, 0, 0, 0}, {170, 5632, 16384, 0, 0, 0, 0}, {95, 119, 771, 1028, 4112, 0, 0}, {3084, 4192, 20480, 0, 0, 0, 0}, {1032, 34, 1799, 85, 4352, 0, 0}, {4680, 34, 1028, 0, 0, 0, 0}, {4111, 4864, 4176, 0, 0, 0, 0}, {3264, 12336, 16448, 0, 0, 0, 0}, {10, 512, 1280, 273, 0, 0, 0}, {10, 34, 512, 1090, 4114, 0, 0}, {3840, 819, 17228, 0, 0, 0, 0}, {2048, 13372, 1092, 0, 0, 0, 0}, {10, 821, 85, 1280, 4117, 0, 0}, {10, 4208, 5654, 20560, 0, 0, 0}, {1096, 119, 1792, 17408, 0, 0, 0}, {1096, 12336, 17408, 0, 0, 0, 0}, {10, 4128, 4883, 85, 1280, 0, 0}, {10, 1632, 4112, 0, 0, 0, 0}, {1075, 1792, 1092, 0, 0, 0, 0}, {16512, 19532, 28784, 0, 0, 0, 0}, {279, 85, 1280, 4352, 0, 0, 0}, {10, 34, 512, 4176, 5140, 0, 0}, {831, 13056, 16448, 0, 0, 0, 0}, {16576, 19456, 28672, 0, 0, 0, 0}, {278, 85, 1285, 4369, 0, 0, 0}, {10, 34, 514, 4160, 5120, 0, 0}, {828, 13107, 16384, 0, 0, 0, 0}, {1100, 12288, 17476, 0, 0, 0, 0}, {10, 4144, 4864, 85, 1285, 0, 0}, {10, 1638, 4096, 0, 0, 0, 0}, {1079, 1799, 1088, 0, 0, 0, 0}, {2056, 13320, 1088, 0, 0, 0, 0}, {10, 822, 85, 1285, 4101, 0, 0}, {10, 4192, 5632, 20480, 0, 0, 0}, {1100, 119, 1799, 17476, 0, 0, 0}, {3276, 12288, 16384, 0, 0, 0, 0}, {10, 514, 1285, 272, 0, 0, 0}, {10, 34, 514, 1094, 4098, 0, 0}, {3855, 816, 17167, 0, 0, 0, 0}, {3072, 4208, 20560, 0, 0, 0, 0}, {1036, 34, 1792, 85, 4369, 0, 0}, {4698, 34, 1024, 0, 0, 0, 0}, {4127, 4883, 4160, 0, 0, 0, 0}, {4120, 4144, 5140, 0, 0, 0, 0}, {5418, 768, 85, 0, 0, 0, 0}, {170, 5654, 16448, 0, 0, 0, 0}, {95, 119, 768, 1024, 4096, 0, 0}, {40, 8192, 4176, 1024, 0, 0, 0}, {780, 13107, 85, 5397, 0, 0, 0}, {3072, 5744, 22106, 0, 0, 0, 0}, {1036, 1060, 1792, 1107, 4119, 0, 0}, {160, 3084, 4112, 0, 0, 0, 0}, {34, 768, 85, 1024, 4352, 0, 0}, {1036, 34, 4626, 17476, 0, 0, 0}, {95, 4128, 768, 20480, 0, 0, 0}, {7200, 8224, 4160, 0, 0, 0, 0}, {798, 34, 85, 1041, 4369, 0, 0}, {1096, 34, 5632, 17408, 0, 0, 0}, {95, 4208, 4883, 20560, 0, 0, 0}, {40, 1092, 4096, 0, 0, 0, 0}, {816, 85, 5397, 0, 0, 0, 0}, {5708, 12288, 22118, 0, 0, 0, 0}, {4120, 4144, 4864, 4167, 1047, 0, 0}, {4168, 4192, 5120, 0, 0, 0, 0}, {5418, 5654, 85, 0, 0, 0, 0}, {5674, 9792, 16448, 0, 0, 0, 0}, {4111, 4135, 788, 4176, 5140, 0, 0}, {7244, 4128, 20480, 0, 0, 0, 0}, {1053, 34, 786, 85, 4352, 0, 0}, {34, 4608, 1092, 0, 0, 0, 0}, {95, 816, 4112, 0, 0, 0, 0}, {12528, 3072, 16384, 0, 0, 0, 0}, {34, 514, 260, 4369, 0, 0, 0}, {10, 34, 514, 4178, 1026, 0, 0}, {780, 13107, 17203, 0, 0, 0, 0}, {136, 12336, 1028, 0, 0, 0, 0}, {10, 768, 85, 1280, 4096, 0, 0}, {10, 4144, 1542, 20560, 0, 0, 0}, {1032, 119, 768, 17408, 0, 0, 0}, {1032, 13424, 17408, 0, 0, 0, 0}, {10, 4149, 774, 85, 1280, 0, 0}, {10, 1536, 4176, 0, 0, 0, 0}, {780, 119, 1028, 0, 0, 0, 0}, {16576, 3084, 12336, 0, 0, 0, 0}, {258, 85, 1280, 4352, 0, 0, 0}, {10, 34, 514, 1028, 4112, 0, 0}, {255, 768, 16384, 0, 0, 0, 0}, {2560, 8704, 21760, 0, 0, 0, 0}, {12, 48, 64, 257, 0, 0, 0}, {128, 514, 21802, 0, 0, 0, 0}, {12, 48, 771, 1283, 4355, 0, 0}, {12, 516, 64, 1028, 4356, 0, 0}, {240, 8794, 1285, 0, 0, 0, 0}, {12, 4454, 1542, 17408, 0, 0, 0}, {1295, 112, 1799, 20480, 0, 0, 0}, {520, 8192, 21760, 0, 0, 0, 0}, {12, 48, 771, 4437, 1285, 0, 0}, {21930, 2570, 30464, 0, 0, 0, 0}, {263, 64, 1028, 4096, 0, 0, 0}, {12, 1536, 4352, 0, 0, 0, 0}, {112, 514, 1285, 0, 0, 0, 0}, {12, 4386, 514, 64, 1028, 0, 0}, {1295, 8704, 20480, 0, 0, 0, 0}, {48, 528, 64, 1296, 4112, 0, 0}, {204, 2662, 4369, 0, 0, 0, 0}, {1370, 48, 4626, 20480, 0, 0, 0}, {76, 4403, 4883, 17408, 0, 0, 0}, {60, 13056, 4420, 5140, 0, 0, 0}, {554, 8192, 64, 5397, 0, 0, 0}, {76, 112, 534, 1302, 4374, 0, 0}, {192, 5911, 21823, 0, 0, 0, 0}, {5912, 48, 1360, 0, 0, 0, 0}, {4377, 4915, 4437, 0, 0, 0, 0}, {1306, 48, 1792, 64, 4096, 0, 0}, {6939, 4471, 17476, 0, 0, 0, 0}, {1308, 1312, 1792, 1360, 4352, 0, 0}, {7453, 6007, 21845, 0, 0, 0, 0}, {4382, 4386, 5188, 0, 0, 0, 0}, {5919, 544, 64, 0, 0, 0, 0}, {2048, 544, 21760, 0, 0, 0, 0}, {12, 48, 771, 1365, 4369, 0, 0}, {21930, 24320, 8738, 0, 0, 0, 0}, {275, 64, 1024, 4112, 0, 0, 0}, {12, 5924, 4420, 0, 0, 0, 0}, {1807, 1317, 1365, 0, 0, 0, 0}, {12, 4390, 4864, 64, 1024, 0, 0}, {1375, 10023, 20560, 0, 0, 0, 0}, {8840, 10280, 21760, 0, 0, 0, 0}, {48, 771, 277, 4096, 0, 0, 0}, {554, 8192, 22272, 0, 0, 0, 0}, {12, 48, 771, 4423, 5140, 0, 0}, {12, 544, 64, 1024, 4352, 0, 0}, {3855, 8738, 1365, 0, 0, 0, 0}, {12, 4386, 5956, 17476, 0, 0, 0}, {1375, 112, 592, 20560, 0, 0, 0}, {48, 4608, 1280, 0, 0, 0, 0}, {76, 514, 4369, 0, 0, 0, 0}, {1290, 48, 514, 64, 4112, 0, 0}, {2560, 4403, 17408, 0, 0, 0, 0}, {4360, 4404, 4864, 4420, 1280, 0, 0}, {5983, 13621, 21845, 0, 0, 0, 0}, {1290, 1334, 5200, 0, 0, 0, 0}, {520, 5943, 64, 0, 0, 0, 0}, {520, 48, 64, 1280, 4096, 0, 0}, {2570, 13107, 4437, 0, 0, 0, 0}, {1290, 48, 5968, 20560, 0, 0, 0}, {76, 4471, 580, 17476, 0, 0, 0}, {60, 1280, 4352, 0, 0, 0, 0}, {514, 64, 5397, 0, 0, 0, 0}, {4382, 4386, 514, 4434, 5140, 0, 0}, {5951, 8704, 16896, 0, 0, 0, 0}, {512, 64, 5376, 0, 0, 0, 0}, {60, 1285, 4369, 0, 0, 0, 0}, {5928, 8738, 16962, 0, 0, 0, 0}, {4367, 4403, 512, 4419, 5120, 0, 0}, {2560, 13056, 4420, 0, 0, 0, 0}, {522, 48, 64, 1285, 4112, 0, 0}, {76, 4454, 582, 17408, 0, 0, 0}, {1295, 48, 5959, 20480, 0, 0, 0}, {5960, 13568, 21760, 0, 0, 0, 0}, {4377, 4389, 4883, 4437, 1285, 0, 0}, {522, 5920, 64, 0, 0, 0, 0}, {1295, 1331, 5188, 0, 0, 0, 0}, {76, 512, 4352, 0, 0, 0, 0}, {48, 4626, 1285, 0, 0, 0, 0}, {2570, 4386, 17476, 0, 0, 0, 0}, {1295, 48, 512, 64, 4096, 0, 0}, {3840, 8704, 1360, 0, 0, 0, 0}, {12, 546, 64, 1028, 4369, 0, 0}, {1370, 112, 594, 20480, 0, 0, 0}, {12, 4403, 5971, 17408, 0, 0, 0}, {48, 768, 276, 4112, 0, 0, 0}, {8874, 10240, 21845, 0, 0, 0, 0}, {12, 48, 768, 4438, 5120, 0, 0}, {552, 8224, 22359, 0, 0, 0, 0}, {1800, 1312, 1360, 0, 0, 0, 0}, {12, 5939, 4437, 0, 0, 0, 0}, {1370, 9984, 20480, 0, 0, 0, 0}, {12, 4407, 4883, 64, 1028, 0, 0}, {12, 48, 768, 1360, 4352, 0, 0}, {2056, 546, 21845, 0, 0, 0, 0}, {274, 64, 1028, 4096, 0, 0, 0}, {22015, 24415, 8704, 0, 0, 0, 0}, {7424, 5984, 21760, 0, 0, 0, 0}, {1305, 1317, 1799, 1365, 4369, 0, 0}, {5896, 546, 64, 0, 0, 0, 0}, {4367, 4403, 5200, 0, 0, 0, 0}, {4360, 4896, 4420, 0, 0, 0, 0}, {5903, 48, 1365, 0, 0, 0, 0}, {6912, 4454, 17408, 0, 0, 0, 0}, {1311, 48, 1799, 64, 4112, 0, 0}, {552, 8224, 64, 5376, 0, 0, 0}, {60, 13107, 4437, 5120, 0, 0, 0}, {192, 5888, 21866, 0, 0, 0, 0}, {76, 112, 532, 1299, 4359, 0, 0}, {204, 2668, 4352, 0, 0, 0, 0}, {48, 530, 64, 1301, 4096, 0, 0}, {76, 4386, 4864, 17476, 0, 0, 0}, {1375, 48, 4608, 20560, 0, 0, 0}, {112, 512, 1280, 0, 0, 0, 0}, {12, 1542, 4369, 0, 0, 0, 0}, {1290, 8738, 20560, 0, 0, 0, 0}, {12, 4403, 512, 64, 1024, 0, 0}, {12, 48, 768, 4420, 1280, 0, 0}, {522, 8224, 21845, 0, 0, 0, 0}, {262, 64, 1024, 4112, 0, 0, 0}, {22015, 2560, 30583, 0, 0, 0, 0}, {240, 8824, 1280, 0, 0, 0, 0}, {12, 518, 64, 1024, 4373, 0, 0}, {1290, 112, 1792, 20560, 0, 0, 0}, {12, 4471, 1536, 17476, 0, 0, 0}, {12, 48, 64, 256, 0, 0, 0}, {2570, 8738, 21845, 0, 0, 0, 0}, {12, 48, 768, 1286, 4370, 0, 0}, {128, 512, 21887, 0, 0, 0, 0}, {128, 512, 21760, 0, 0, 0, 0}, {12, 48, 771, 1285, 4369, 0, 0}, {21930, 2570, 8738, 0, 0, 0, 0}, {259, 64, 1024, 4096, 0, 0, 0}, {12, 1536, 4420, 0, 0, 0, 0}, {522, 112, 1285, 0, 0, 0, 0}, {12, 4390, 518, 64, 1024, 0, 0}, {1295, 10103, 20480, 0, 0, 0, 0}, {8840, 2560, 21760, 0, 0, 0, 0}, {48, 771, 261, 4112, 0, 0, 0}, {522, 8224, 22304, 0, 0, 0, 0}, {12, 48, 771, 4423, 1283, 0, 0}, {12, 512, 64, 1024, 4352, 0, 0}, {240, 8738, 1285, 0, 0, 0, 0}, {12, 4386, 1542, 17476, 0, 0, 0}, {1295, 112, 512, 20480, 0, 0, 0}, {48, 4608, 1360, 0, 0, 0, 0}, {76, 546, 4369, 0, 0, 0, 0}, {1306, 48, 530, 64, 4096, 0, 0}, {7007, 4403, 17408, 0, 0, 0, 0}, {4360, 4404, 532, 4420, 5140, 0, 0}, {5951, 13653, 21845, 0, 0, 0, 0}, {4442, 4454, 5120, 0, 0, 0, 0}, {5439, 5911, 64, 0, 0, 0, 0}, {536, 48, 64, 1296, 4112, 0, 0}, {6963, 13107, 4437, 0, 0, 0, 0}, {1370, 48, 5888, 20480, 0, 0, 0}, {76, 4471, 4883, 17476, 0, 0, 0}, {60, 1360, 4352, 0, 0, 0, 0}, {546, 64, 5397, 0, 0, 0, 0}, {4382, 4386, 4864, 4434, 1302, 0, 0}, {5983, 8704, 16992, 0, 0, 0, 0}, {2720, 8704, 21760, 0, 0, 0, 0}, {12, 771, 1028, 273, 0, 0, 0}, {2056, 546, 22280, 0, 0, 0, 0}, {12, 48, 771, 1363, 4355, 0, 0}, {12, 548, 64, 1028, 4356, 0, 0}, {3855, 9999, 1365, 0, 0, 0, 0}, {12, 4454, 5888, 17408, 0, 0, 0}, {1375, 112, 1799, 20560, 0, 0, 0}, {552, 8224, 21760, 0, 0, 0, 0}, {12, 48, 771, 4437, 5120, 0, 0}, {21930, 24320, 30464, 0, 0, 0, 0}, {279, 64, 1028, 4112, 0, 0, 0}, {12, 1632, 4352, 0, 0, 0, 0}, {1317, 1799, 1365, 0, 0, 0, 0}, {12, 4386, 4864, 64, 1028, 0, 0}, {1375, 8704, 20560, 0, 0, 0, 0}, {48, 512, 64, 1280, 4096, 0, 0}, {204, 2570, 4369, 0, 0, 0, 0}, {1290, 48, 4626, 20560, 0, 0, 0}, {76, 4403, 512, 17408, 0, 0, 0}, {60, 13056, 4420, 1280, 0, 0, 0}, {522, 8224, 64, 5397, 0, 0, 0}, {1290, 1334, 1792, 1350, 4374, 0, 0}, {2560, 6007, 16968, 0, 0, 0, 0}, {4680, 48, 1280, 0, 0, 0, 0}, {4377, 4883, 4437, 0, 0, 0, 0}, {1290, 48, 1792, 64, 4112, 0, 0}, {2560, 4471, 17476, 0, 0, 0, 0}, {76, 112, 512, 1280, 4352, 0, 0}, {192, 5911, 21845, 0, 0, 0, 0}, {4382, 4386, 5140, 0, 0, 0, 0}, {5439, 512, 64, 0, 0, 0, 0}, {192, 5888, 21760, 0, 0, 0, 0}, {76, 112, 514, 1285, 4369, 0, 0}, {5418, 514, 64, 0, 0, 0, 0}, {4367, 4403, 5120, 0, 0, 0, 0}, {4360, 4864, 4420, 0, 0, 0, 0}, {4698, 48, 1285, 0, 0, 0, 0}, {2570, 4454, 17408, 0, 0, 0, 0}, {1295, 48, 1799, 64, 4096, 0, 0}, {520, 8192, 64, 5376, 0, 0, 0}, {60, 13107, 4437, 1285, 0, 0, 0}, {2570, 5984, 16906, 0, 0, 0, 0}, {1295, 1331, 1799, 1347, 4359, 0, 0}, {204, 2560, 4352, 0, 0, 0, 0}, {48, 514, 64, 1285, 4112, 0, 0}, {76, 4386, 514, 17476, 0, 0, 0}, {1295, 48, 4608, 20480, 0, 0, 0}, {1312, 1792, 1360, 0, 0, 0, 0}, {12, 1638, 4369, 0, 0, 0, 0}, {1370, 8738, 20480, 0, 0, 0, 0}, {12, 4403, 4883, 64, 1024, 0, 0}, {12, 48, 768, 4420, 5140, 0, 0}, {554, 8192, 21845, 0, 0, 0, 0}, {278, 64, 1024, 4096, 0, 0, 0}, {22015, 24415, 30583, 0, 0, 0, 0}, {3840, 10024, 1360, 0, 0, 0, 0}, {12, 550, 64, 1024, 4373, 0, 0}, {1370, 112, 1792, 20480, 0, 0, 0}, {12, 4471, 5911, 17476, 0, 0, 0}, {12, 768, 1024, 272, 0, 0, 0}, {2730, 8738, 21845, 0, 0, 0, 0}, {12, 48, 768, 1366, 4370, 0, 0}, {2048, 544, 22367, 0, 0, 0, 0}, {544, 64, 5376, 0, 0, 0, 0}, {60, 1365, 4369, 0, 0, 0, 0}, {5960, 8738, 16930, 0, 0, 0, 0}, {4367, 4403, 4883, 4419, 1299, 0, 0}, {6952, 13056, 4420, 0, 0, 0, 0}, {538, 48, 64, 1301, 4096, 0, 0}, {76, 4454, 4864, 17408, 0, 0, 0}, {1375, 48, 5911, 20560, 0, 0, 0}, {5928, 13664, 21760, 0, 0, 0, 0}, {4377, 4389, 534, 4437, 5120, 0, 0}, {5418, 5888, 64, 0, 0, 0, 0}, {4427, 4471, 5140, 0, 0, 0, 0}, {76, 544, 4352, 0, 0, 0, 0}, {48, 4626, 1365, 0, 0, 0, 0}, {6980, 4386, 17476, 0, 0, 0, 0}, {1311, 48, 528, 64, 4112, 0, 0}, {240, 8704, 1280, 0, 0, 0, 0}, {12, 514, 64, 1028, 4369, 0, 0}, {1290, 112, 514, 20560, 0, 0, 0}, {12, 4403, 1536, 17408, 0, 0, 0}, {48, 768, 260, 4096, 0, 0, 0}, {8874, 2570, 21845, 0, 0, 0, 0}, {12, 48, 768, 4438, 1286, 0, 0}, {520, 8192, 22391, 0, 0, 0, 0}, {520, 112, 1280, 0, 0, 0, 0}, {12, 1542, 4437, 0, 0, 0, 0}, {1290, 10064, 20560, 0, 0, 0, 0}, {12, 4407, 516, 64, 1028, 0, 0}, {12, 48, 768, 1280, 4352, 0, 0}, {128, 514, 21845, 0, 0, 0, 0}, {258, 64, 1028, 4112, 0, 0, 0}, {22015, 2560, 8704, 0, 0, 0, 0}, {4608, 5120, 0, 0, 0, 0, 0}, {127, 257, 0, 0, 0, 0, 0}, {1032, 4128, 514, 16384, 0, 0, 0}, {1295, 4403, 771, 21760, 0, 0, 0}, {520, 8192, 4160, 1028, 0, 0, 0}, {783, 13056, 4437, 1285, 0, 0, 0}, {5228, 1542, 0, 0, 0, 0, 0}, {263, 5376, 0, 0, 0, 0, 0}, {1032, 1536, 4096, 0, 0, 0, 0}, {4454, 771, 1285, 0, 0, 0, 0}, {1546, 12288, 17408, 0, 0, 0, 0}, {267, 4144, 771, 4420, 1028, 0, 0}, {1548, 8704, 20480, 0, 0, 0, 0}, {269, 4386, 514, 4176, 1285, 0, 0}, {4192, 514, 1028, 0, 0, 0, 0}, {1295, 1536, 4352, 0, 0, 0, 0}, {2048, 544, 1088, 4112, 0, 0, 0}, {3840, 819, 1365, 4369, 0, 0, 0}, {5240, 4626, 0, 0, 0, 0, 0}, {275, 5376, 0, 0, 0, 0, 0}, {4728, 5140, 0, 0, 0, 0, 0}, {4864, 277, 0, 0, 0, 0, 0}, {1100, 4208, 5654, 16384, 0, 0, 0}, {1375, 4471, 5911, 21760, 0, 0, 0}, {6168, 1632, 20560, 0, 0, 0, 0}, {281, 1075, 1792, 1365, 4096, 0, 0}, {4634, 4144, 1088, 0, 0, 0, 0}, {5147, 819, 4420, 0, 0, 0, 0}, {5148, 544, 4176, 0, 0, 0, 0}, {4637, 4386, 1365, 0, 0, 0, 0}, {7710, 1638, 17476, 0, 0, 0, 0}, {287, 1312, 1792, 1088, 4352, 0, 0}, {4128, 4608, 1024, 0, 0, 0, 0}, {1370, 771, 4369, 0, 0, 0, 0}, {3072, 4642, 20480, 0, 0, 0, 0}, {1036, 291, 771, 1360, 4112, 0, 0}, {4680, 9252, 17476, 0, 0, 0, 0}, {4111, 293, 4864, 4437, 1024, 0, 0}, {1036, 1574, 4160, 0, 0, 0, 0}, {783, 5159, 1360, 0, 0, 0, 0}, {5160, 12288, 22016, 0, 0, 0, 0}, {4377, 4144, 771, 342, 5397, 0, 0}, {554, 1024, 4096, 0, 0, 0, 0}, {771, 4420, 5140, 0, 0, 0, 0}, {1036, 4192, 4672, 16448, 0, 0, 0}, {1370, 4386, 1621, 21845, 0, 0, 0}, {3084, 8738, 5188, 0, 0, 0, 0}, {783, 544, 336, 1024, 4352, 0, 0}, {2560, 4656, 17408, 0, 0, 0, 0}, {1290, 305, 514, 1092, 4369, 0, 0}, {1096, 514, 4112, 0, 0, 0, 0}, {4403, 4608, 1280, 0, 0, 0, 0}, {520, 5172, 1092, 0, 0, 0, 0}, {1290, 1589, 4437, 0, 0, 0, 0}, {4698, 13878, 20560, 0, 0, 0, 0}, {4360, 311, 4864, 4160, 1280, 0, 0}, {1096, 4144, 1600, 16448, 0, 0, 0}, {1290, 4454, 4693, 21845, 0, 0, 0}, {2570, 12336, 5200, 0, 0, 0, 0}, {520, 819, 324, 1280, 4096, 0, 0}, {5180, 8704, 16896, 0, 0, 0, 0}, {4127, 4386, 514, 322, 5397, 0, 0}, {514, 4176, 5140, 0, 0, 0, 0}, {831, 1280, 4352, 0, 0, 0, 0}, {512, 4160, 5120, 0, 0, 0, 0}, {828, 1285, 4369, 0, 0, 0, 0}, {5160, 8738, 16962, 0, 0, 0, 0}, {4111, 4403, 512, 323, 5376, 0, 0}, {2560, 12288, 5188, 0, 0, 0, 0}, {522, 816, 325, 1285, 4112, 0, 0}, {1100, 4128, 1606, 16384, 0, 0, 0}, {1295, 4471, 4679, 21760, 0, 0, 0}, {4680, 13824, 20480, 0, 0, 0, 0}, {4377, 310, 4883, 4176, 1285, 0, 0}, {522, 5152, 1088, 0, 0, 0, 0}, {1295, 1587, 4420, 0, 0, 0, 0}, {1100, 512, 4096, 0, 0, 0, 0}, {4386, 4626, 1285, 0, 0, 0, 0}, {2570, 4642, 17476, 0, 0, 0, 0}, {1295, 304, 512, 1088, 4352, 0, 0}, {3072, 8704, 5200, 0, 0, 0, 0}, {780, 546, 337, 1028, 4369, 0, 0}, {1032, 4208, 4690, 16384, 0, 0, 0}, {1375, 4403, 1619, 21760, 0, 0, 0}, {552, 1028, 4112, 0, 0, 0, 0}, {768, 4437, 5120, 0, 0, 0, 0}, {5180, 12336, 22102, 0, 0, 0, 0}, {4360, 4128, 768, 343, 5376, 0, 0}, {1032, 1568, 4176, 0, 0, 0, 0}, {780, 5171, 1365, 0, 0, 0, 0}, {4698, 9216, 17408, 0, 0, 0, 0}, {4127, 292, 4883, 4420, 1028, 0, 0}, {3084, 4656, 20560, 0, 0, 0, 0}, {1032, 290, 768, 1365, 4096, 0, 0}, {4144, 4626, 1028, 0, 0, 0, 0}, {1375, 768, 4352, 0, 0, 0, 0}, {7680, 1632, 17408, 0, 0, 0, 0}, {286, 1317, 1799, 1092, 4369, 0, 0}, {5128, 546, 4160, 0, 0, 0, 0}, {4623, 4403, 1360, 0, 0, 0, 0}, {4616, 4128, 1092, 0, 0, 0, 0}, {5135, 816, 4437, 0, 0, 0, 0}, {6144, 1638, 20480, 0, 0, 0, 0}, {280, 1079, 1799, 1360, 4112, 0, 0}, {1096, 4192, 5632, 16448, 0, 0, 0}, {1370, 4454, 5888, 21845, 0, 0, 0}, {4714, 5120, 0, 0, 0, 0, 0}, {4883, 276, 0, 0, 0, 0, 0}, {5228, 4608, 0, 0, 0, 0, 0}, {274, 5397, 0, 0, 0, 0, 0}, {2056, 546, 1092, 4096, 0, 0, 0}, {3855, 816, 1360, 4352, 0, 0, 0}, {4208, 512, 1024, 0, 0, 0, 0}, {1290, 1542, 4369, 0, 0, 0, 0}, {1546, 8738, 20560, 0, 0, 0, 0}, {268, 4403, 512, 4160, 1280, 0, 0}, {1548, 12336, 17476, 0, 0, 0, 0}, {266, 4128, 768, 4437, 1024, 0, 0}, {1036, 1542, 4112, 0, 0, 0, 0}, {4471, 768, 1280, 0, 0, 0, 0}, {5240, 1536, 0, 0, 0, 0, 0}, {262, 5397, 0, 0, 0, 0, 0}, {522, 8224, 4176, 1024, 0, 0, 0}, {780, 13107, 4420, 1280, 0, 0, 0}, {1036, 4144, 512, 16448, 0, 0, 0}, {1290, 4386, 768, 21845, 0, 0, 0}, {4626, 5140, 0, 0, 0, 0, 0}, {127, 256, 0, 0, 0, 0, 0}, {128, 512, 1024, 4096, 0, 0, 0}, {255, 771, 1285, 4369, 0, 0, 0}, {1546, 4642, 0, 0, 0, 0, 0}, {259, 5440, 0, 0, 0, 0, 0}, {1548, 5188, 0, 0, 0, 0, 0}, {4896, 261, 0, 0, 0, 0, 0}, {1036, 4192, 1542, 16448, 0, 0, 0}, {1295, 4471, 1536, 21760, 0, 0, 0}, {5256, 1536, 20480, 0, 0, 0, 0}, {265, 374, 771, 1285, 4112, 0, 0}, {522, 4128, 1024, 0, 0, 0, 0}, {1295, 771, 4420, 0, 0, 0, 0}, {1036, 512, 4160, 0, 0, 0, 0}, {783, 4386, 1285, 0, 0, 0, 0}, {5348, 1542, 17476, 0, 0, 0, 0}, {271, 368, 512, 1024, 4352, 0, 0}, {4656, 5200, 0, 0, 0, 0, 0}, {1800, 273, 0, 0, 0, 0, 0}, {1096, 4144, 4626, 16448, 0, 0, 0}, {1375, 4403, 4608, 21760, 0, 0, 0}, {552, 8224, 4176, 5140, 0, 0, 0}, {831, 13056, 4437, 5120, 0, 0, 0}, {4698, 1638, 0, 0, 0, 0, 0}, {279, 5440, 0, 0, 0, 0, 0}, {1096, 1632, 4112, 0, 0, 0, 0}, {5171, 5888, 1365, 0, 0, 0, 0}, {1642, 12336, 17408, 0, 0, 0, 0}, {283, 4128, 4883, 4420, 5376, 0, 0}, {1644, 8704, 20560, 0, 0, 0, 0}, {285, 4386, 4864, 4160, 5397, 0, 0}, {5172, 5654, 1092, 0, 0, 0, 0}, {1375, 1632, 4352, 0, 0, 0, 0}, {5280, 4608, 17408, 0, 0, 0, 0}, {350, 289, 771, 1028, 4369, 0, 0}, {1032, 546, 4096, 0, 0, 0, 0}, {4403, 771, 1360, 0, 0, 0, 0}, {4680, 4192, 1028, 0, 0, 0, 0}, {5135, 5888, 4437, 0, 0, 0, 0}, {4714, 13926, 20480, 0, 0, 0, 0}, {4360, 295, 4615, 4176, 5376, 0, 0}, {1032, 4128, 5632, 16384, 0, 0, 0}, {1370, 4454, 771, 21845, 0, 0, 0}, {4778, 12288, 5120, 0, 0, 0, 0}, {299, 771, 340, 1028, 4112, 0, 0}, {5228, 8704, 16992, 0, 0, 0, 0}, {4111, 4386, 4864, 338, 5127, 0, 0}, {546, 4160, 1028, 0, 0, 0, 0}, {783, 1360, 4352, 0, 0, 0, 0}, {4144, 512, 1088, 0, 0, 0, 0}, {1290, 819, 4369, 0, 0, 0, 0}, {5336, 4626, 20560, 0, 0, 0, 0}, {332, 307, 512, 1280, 4096, 0, 0}, {4728, 9284, 17476, 0, 0, 0, 0}, {4127, 309, 4629, 4437, 5397, 0, 0}, {5148, 5654, 4176, 0, 0, 0, 0}, {4680, 4471, 1280, 0, 0, 0, 0}, {5240, 12336, 22064, 0, 0, 0, 0}, {4377, 4128, 4883, 326, 5139, 0, 0}, {522, 1088, 4112, 0, 0, 0, 0}, {819, 4420, 1280, 0, 0, 0, 0}, {1100, 4208, 512, 16384, 0, 0, 0}, {1290, 4386, 5911, 21845, 0, 0, 0}, {4818, 8738, 5140, 0, 0, 0, 0}, {319, 512, 320, 1280, 4352, 0, 0}, {4800, 8704, 5120, 0, 0, 0, 0}, {318, 514, 321, 1285, 4369, 0, 0}, {1096, 4192, 514, 16448, 0, 0, 0}, {1295, 4403, 5888, 21760, 0, 0, 0}, {520, 1092, 4096, 0, 0, 0, 0}, {816, 4437, 1285, 0, 0, 0, 0}, {5228, 12288, 22118, 0, 0, 0, 0}, {4360, 4144, 4864, 327, 5127, 0, 0}, {5128, 5632, 4160, 0, 0, 0, 0}, {4698, 4454, 1285, 0, 0, 0, 0}, {4714, 9312, 17408, 0, 0, 0, 0}, {4111, 308, 4615, 4420, 5376, 0, 0}, {5324, 4608, 20480, 0, 0, 0, 0}, {333, 306, 514, 1285, 4112, 0, 0}, {4128, 514, 1092, 0, 0, 0, 0}, {1295, 816, 4352, 0, 0, 0, 0}, {544, 4176, 1024, 0, 0, 0, 0}, {780, 1365, 4369, 0, 0, 0, 0}, {5240, 8738, 16930, 0, 0, 0, 0}, {4127, 4403, 4883, 339, 5139, 0, 0}, {4792, 12336, 5140, 0, 0, 0, 0}, {298, 768, 341, 1024, 4096, 0, 0}, {1036, 4144, 5654, 16448, 0, 0, 0}, {1375, 4471, 768, 21760, 0, 0, 0}, {4728, 13904, 20560, 0, 0, 0, 0}, {4377, 294, 4629, 4160, 5397, 0, 0}, {4698, 4208, 1024, 0, 0, 0, 0}, {5147, 5911, 4420, 0, 0, 0, 0}, {1036, 544, 4112, 0, 0, 0, 0}, {4386, 768, 1365, 0, 0, 0, 0}, {5300, 4626, 17476, 0, 0, 0, 0}, {351, 288, 768, 1024, 4352, 0, 0}, {5152, 5632, 1088, 0, 0, 0, 0}, {1370, 1638, 4369, 0, 0, 0, 0}, {1642, 8738, 20480, 0, 0, 0, 0}, {284, 4403, 4883, 4176, 5376, 0, 0}, {1644, 12288, 17476, 0, 0, 0, 0}, {282, 4144, 4864, 4437, 5397, 0, 0}, {1100, 1638, 4096, 0, 0, 0, 0}, {5159, 5911, 1360, 0, 0, 0, 0}, {4680, 1632, 0, 0, 0, 0, 0}, {278, 5461, 0, 0, 0, 0, 0}, {554, 8192, 4160, 5120, 0, 0, 0}, {828, 13107, 4420, 5140, 0, 0, 0}, {1100, 4128, 4608, 16384, 0, 0, 0}, {1370, 4386, 4626, 21845, 0, 0, 0}, {4642, 5188, 0, 0, 0, 0, 0}, {1807, 272, 0, 0, 0, 0, 0}, {5360, 1536, 17408, 0, 0, 0, 0}, {270, 369, 514, 1028, 4369, 0, 0}, {1032, 514, 4176, 0, 0, 0, 0}, {780, 4403, 1280, 0, 0, 0, 0}, {520, 4144, 1028, 0, 0, 0, 0}, {1290, 768, 4437, 0, 0, 0, 0}, {5276, 1542, 20560, 0, 0, 0, 0}, {264, 375, 768, 1280, 4096, 0, 0}, {1032, 4208, 1536, 16384, 0, 0, 0}, {1290, 4454, 1542, 21845, 0, 0, 0}, {1546, 5200, 0, 0, 0, 0, 0}, {4915, 260, 0, 0, 0, 0, 0}, {1548, 4656, 0, 0, 0, 0, 0}, {258, 5461, 0, 0, 0, 0, 0}, {128, 514, 1028, 4112, 0, 0, 0}, {255, 768, 1280, 4352, 0, 0, 0}, {32512, 0, 0, 0, 0, 0, 0}, {18, 20, 257, 0, 0, 0, 0}, {10, 34, 514, 21760, 0, 0, 0}, {12, 48, 771, 16384, 0, 0, 0}, {12, 13056, 68, 1028, 0, 0, 0}, {10, 8192, 80, 1285, 0, 0, 0}, {6, 5376, 0, 0, 0, 0, 0}, {120, 1799, 0, 0, 0, 0, 0}, {136, 2056, 30464, 0, 0, 0, 0}, {6, 80, 1285, 4096, 0, 0, 0}, {10, 8192, 21760, 0, 0, 0, 0}, {12, 48, 771, 68, 1028, 0, 0}, {12, 13056, 16384, 0, 0, 0, 0}, {10, 34, 514, 80, 1285, 0, 0}, {6, 68, 1028, 4352, 0, 0, 0}, {240, 3855, 28672, 0, 0, 0, 0}, {3840, 48, 80, 4112, 0, 0, 0}, {2048, 34, 68, 4369, 0, 0, 0}, {18, 5376, 0, 0, 0, 0, 0}, {108, 4883, 0, 0, 0, 0, 0}, {4864, 20, 0, 0, 0, 0, 0}, {106, 5397, 0, 0, 0, 0, 0}, {90, 102, 5654, 21760, 0, 0, 0}, {72, 96, 5911, 16384, 0, 0, 0}, {24, 48, 1792, 80, 4096, 0, 0}, {6425, 102, 21845, 0, 0, 0, 0}, {5402, 48, 5440, 0, 0, 0, 0}, {4891, 4915, 68, 0, 0, 0, 0}, {4892, 4896, 80, 0, 0, 0, 0}, {5405, 34, 5461, 0, 0, 0, 0}, {30, 34, 1792, 68, 4352, 0, 0}, {7967, 96, 16448, 0, 0, 0, 0}, {160, 24320, 8224, 0, 0, 0, 0}, {18, 68, 1024, 4369, 0, 0, 0}, {2048, 34, 21760, 0, 0, 0, 0}, {12, 48, 771, 80, 4112, 0, 0}, {12, 36, 4864, 68, 1024, 0, 0}, {90, 9509, 21845, 0, 0, 0, 0}, {12, 5414, 5440, 0, 0, 0, 0}, {1807, 1831, 80, 0, 0, 0, 0}, {40, 8192, 22272, 0, 0, 0, 0}, {12, 48, 771, 86, 5397, 0, 0}, {170, 10794, 21760, 0, 0, 0, 0}, {48, 771, 20, 4096, 0, 0, 0}, {12, 96, 4928, 16448, 0, 0, 0}, {90, 34, 1877, 21845, 0, 0, 0}, {12, 34, 68, 1024, 4352, 0, 0}, {3855, 8224, 80, 0, 0, 0, 0}, {3840, 48, 16384, 0, 0, 0, 0}, {10, 34, 514, 68, 4369, 0, 0}, {18, 80, 1280, 4112, 0, 0, 0}, {204, 19456, 13107, 0, 0, 0, 0}, {1800, 1844, 68, 0, 0, 0, 0}, {10, 5429, 5461, 0, 0, 0, 0}, {10, 54, 4864, 80, 1280, 0, 0}, {72, 14135, 16448, 0, 0, 0, 0}, {72, 48, 1856, 16448, 0, 0, 0}, {10, 102, 4949, 21845, 0, 0, 0}, {10, 48, 80, 1280, 4096, 0, 0}, {2056, 13107, 68, 0, 0, 0, 0}, {60, 13056, 17152, 0, 0, 0, 0}, {10, 34, 514, 66, 5397, 0, 0}, {34, 514, 20, 4352, 0, 0, 0}, {192, 16191, 16384, 0, 0, 0, 0}, {192, 16128, 16448, 0, 0, 0, 0}, {34, 512, 20, 4369, 0, 0, 0}, {10, 34, 512, 66, 5376, 0, 0}, {60, 13107, 17219, 0, 0, 0, 0}, {2048, 13056, 68, 0, 0, 0, 0}, {10, 48, 80, 1285, 4112, 0, 0}, {10, 102, 4934, 21760, 0, 0, 0}, {72, 48, 1863, 16384, 0, 0, 0}, {72, 14080, 16384, 0, 0, 0, 0}, {10, 54, 4883, 80, 1285, 0, 0}, {10, 5408, 5440, 0, 0, 0, 0}, {1807, 1843, 68, 0, 0, 0, 0}, {204, 19532, 13056, 0, 0, 0, 0}, {18, 80, 1285, 4096, 0, 0, 0}, {10, 34, 512, 68, 4352, 0, 0}, {3855, 48, 16448, 0, 0, 0, 0}, {3840, 8192, 80, 0, 0, 0, 0}, {12, 34, 68, 1028, 4369, 0, 0}, {90, 34, 1874, 21760, 0, 0, 0}, {12, 96, 4947, 16384, 0, 0, 0}, {48, 768, 20, 4112, 0, 0, 0}, {170, 10752, 21845, 0, 0, 0, 0}, {12, 48, 768, 86, 5376, 0, 0}, {40, 8224, 22359, 0, 0, 0, 0}, {1800, 1824, 80, 0, 0, 0, 0}, {12, 5427, 5461, 0, 0, 0, 0}, {90, 9472, 21760, 0, 0, 0, 0}, {12, 36, 4883, 68, 1028, 0, 0}, {12, 48, 768, 80, 4096, 0, 0}, {2056, 34, 21845, 0, 0, 0, 0}, {18, 68, 1028, 4352, 0, 0, 0}, {160, 24415, 8192, 0, 0, 0, 0}, {7936, 96, 16384, 0, 0, 0, 0}, {30, 34, 1799, 68, 4369, 0, 0}, {5384, 34, 5440, 0, 0, 0, 0}, {4879, 4915, 80, 0, 0, 0, 0}, {4872, 4896, 68, 0, 0, 0, 0}, {5391, 48, 5461, 0, 0, 0, 0}, {6400, 102, 21760, 0, 0, 0, 0}, {24, 48, 1799, 80, 4112, 0, 0}, {72, 96, 5888, 16448, 0, 0, 0}, {90, 102, 5632, 21845, 0, 0, 0}, {106, 5376, 0, 0, 0, 0, 0}, {4883, 20, 0, 0, 0, 0, 0}, {108, 4864, 0, 0, 0, 0, 0}, {18, 5397, 0, 0, 0, 0, 0}, {2056, 34, 68, 4352, 0, 0, 0}, {3855, 48, 80, 4096, 0, 0, 0}, {240, 3840, 28784, 0, 0, 0, 0}, {6, 68, 1024, 4369, 0, 0, 0}, {10, 34, 512, 80, 1280, 0, 0}, {12, 13107, 16448, 0, 0, 0, 0}, {12, 48, 768, 68, 1024, 0, 0}, {10, 8224, 21845, 0, 0, 0, 0}, {6, 80, 1280, 4112, 0, 0, 0}, {136, 2048, 30583, 0, 0, 0, 0}, {120, 1792, 0, 0, 0, 0, 0}, {6, 5397, 0, 0, 0, 0, 0}, {10, 8224, 80, 1280, 0, 0, 0}, {12, 13107, 68, 1024, 0, 0, 0}, {12, 48, 768, 16448, 0, 0, 0}, {10, 34, 512, 21845, 0, 0, 0}, {18, 20, 256, 0, 0, 0, 0}, {32639, 0, 0, 0, 0, 0, 0}, {32640, 0, 0, 0, 0, 0, 0}, {259, 261, 273, 0, 0, 0, 0}, {10, 34, 512, 21760, 0, 0, 0}, {12, 48, 771, 16448, 0, 0, 0}, {12, 13056, 68, 1024, 0, 0, 0}, {10, 8224, 80, 1285, 0, 0, 0}, {6, 5440, 0, 0, 0, 0, 0}, {1807, 1911, 0, 0, 0, 0, 0}, {136, 2048, 30464, 0, 0, 0, 0}, {6, 80, 1285, 4112, 0, 0, 0}, {10, 8224, 21760, 0, 0, 0, 0}, {12, 48, 771, 68, 1024, 0, 0}, {12, 13056, 16448, 0, 0, 0, 0}, {10, 34, 512, 80, 1285, 0, 0}, {6, 68, 1024, 4352, 0, 0, 0}, {240, 3855, 28784, 0, 0, 0, 0}, {3840, 48, 80, 4096, 0, 0, 0}, {2056, 34, 68, 4369, 0, 0, 0}, {18, 5440, 0, 0, 0, 0, 0}, {4959, 4915, 0, 0, 0, 0, 0}, {4896, 20, 0, 0, 0, 0, 0}, {5439, 5461, 0, 0, 0, 0, 0}, {90, 102, 5632, 21760, 0, 0, 0}, {72, 96, 5911, 16448, 0, 0, 0}, {24, 48, 1808, 80, 4112, 0, 0}, {6485, 102, 21845, 0, 0, 0, 0}, {90, 48, 5376, 0, 0, 0, 0}, {40, 4883, 68, 0, 0, 0, 0}, {60, 4864, 80, 0, 0, 0, 0}, {72, 34, 5397, 0, 0, 0, 0}, {30, 34, 1814, 68, 4352, 0, 0}, {8031, 96, 16384, 0, 0, 0, 0}, {160, 24320, 8192, 0, 0, 0, 0}, {18, 68, 1028, 4369, 0, 0, 0}, {2056, 34, 21760, 0, 0, 0, 0}, {12, 48, 771, 80, 4096, 0, 0}, {12, 36, 4868, 68, 1028, 0, 0}, {90, 9557, 21845, 0, 0, 0, 0}, {12, 102, 5376, 0, 0, 0, 0}, {40, 1799, 80, 0, 0, 0, 0}, {40, 8224, 22304, 0, 0, 0, 0}, {12, 48, 771, 86, 5379, 0, 0}, {170, 10752, 21760, 0, 0, 0, 0}, {48, 771, 20, 4112, 0, 0, 0}, {12, 96, 4864, 16384, 0, 0, 0}, {90, 34, 1799, 21845, 0, 0, 0}, {12, 34, 68, 1028, 4352, 0, 0}, {3855, 8192, 80, 0, 0, 0, 0}, {3840, 48, 16448, 0, 0, 0, 0}, {10, 34, 512, 68, 4369, 0, 0}, {18, 80, 1280, 4096, 0, 0, 0}, {204, 19532, 13107, 0, 0, 0, 0}, {60, 1792, 68, 0, 0, 0, 0}, {10, 96, 5397, 0, 0, 0, 0}, {10, 54, 4886, 80, 1280, 0, 0}, {72, 14199, 16384, 0, 0, 0, 0}, {72, 48, 1792, 16384, 0, 0, 0}, {10, 102, 4883, 21845, 0, 0, 0}, {10, 48, 80, 1280, 4112, 0, 0}, {2048, 13107, 68, 0, 0, 0, 0}, {60, 13056, 17264, 0, 0, 0, 0}, {10, 34, 512, 66, 5399, 0, 0}, {34, 512, 20, 4352, 0, 0, 0}, {192, 16191, 16448, 0, 0, 0, 0}, {192, 16128, 16384, 0, 0, 0, 0}, {34, 514, 20, 4369, 0, 0, 0}, {10, 34, 514, 66, 5378, 0, 0}, {60, 13107, 17203, 0, 0, 0, 0}, {2056, 13056, 68, 0, 0, 0, 0}, {10, 48, 80, 1285, 4096, 0, 0}, {10, 102, 4864, 21760, 0, 0, 0}, {72, 48, 1799, 16448, 0, 0, 0}, {72, 14144, 16448, 0, 0, 0, 0}, {10, 54, 4869, 80, 1285, 0, 0}, {10, 96, 5376, 0, 0, 0, 0}, {60, 1799, 68, 0, 0, 0, 0}, {204, 19456, 13056, 0, 0, 0, 0}, {18, 80, 1285, 4112, 0, 0, 0}, {10, 34, 514, 68, 4352, 0, 0}, {3855, 48, 16384, 0, 0, 0, 0}, {3840, 8224, 80, 0, 0, 0, 0}, {12, 34, 68, 1024, 4369, 0, 0}, {90, 34, 1792, 21760, 0, 0, 0}, {12, 96, 4883, 16448, 0, 0, 0}, {48, 768, 20, 4096, 0, 0, 0}, {170, 10794, 21845, 0, 0, 0, 0}, {12, 48, 768, 86, 5398, 0, 0}, {40, 8192, 22391, 0, 0, 0, 0}, {40, 1792, 80, 0, 0, 0, 0}, {12, 102, 5397, 0, 0, 0, 0}, {90, 9584, 21760, 0, 0, 0, 0}, {12, 36, 4887, 68, 1024, 0, 0}, {12, 48, 768, 80, 4112, 0, 0}, {2048, 34, 21845, 0, 0, 0, 0}, {18, 68, 1024, 4352, 0, 0, 0}, {160, 24415, 8224, 0, 0, 0, 0}, {8000, 96, 16448, 0, 0, 0, 0}, {30, 34, 1809, 68, 4369, 0, 0}, {72, 34, 5376, 0, 0, 0, 0}, {60, 4883, 80, 0, 0, 0, 0}, {40, 4864, 68, 0, 0, 0, 0}, {90, 48, 5397, 0, 0, 0, 0}, {6476, 102, 21760, 0, 0, 0, 0}, {24, 48, 1815, 80, 4096, 0, 0}, {72, 96, 5888, 16384, 0, 0, 0}, {90, 102, 5654, 21845, 0, 0, 0}, {5418, 5440, 0, 0, 0, 0, 0}, {4915, 20, 0, 0, 0, 0, 0}, {4940, 4896, 0, 0, 0, 0, 0}, {18, 5461, 0, 0, 0, 0, 0}, {2048, 34, 68, 4352, 0, 0, 0}, {3855, 48, 80, 4112, 0, 0, 0}, {240, 3840, 28672, 0, 0, 0, 0}, {6, 68, 1028, 4369, 0, 0, 0}, {10, 34, 514, 80, 1280, 0, 0}, {12, 13107, 16384, 0, 0, 0, 0}, {12, 48, 768, 68, 1028, 0, 0}, {10, 8192, 21845, 0, 0, 0, 0}, {6, 80, 1280, 4096, 0, 0, 0}, {136, 2056, 30583, 0, 0, 0, 0}, {1800, 1904, 0, 0, 0, 0, 0}, {6, 5461, 0, 0, 0, 0, 0}, {10, 8192, 80, 1280, 0, 0, 0}, {12, 13107, 68, 1028, 0, 0, 0}, {12, 48, 768, 16384, 0, 0, 0}, {10, 34, 514, 21845, 0, 0, 0}, {258, 260, 272, 0, 0, 0, 0}, {32767, 0, 0, 0, 0, 0, 0}, {32768, 0, 0, 0, 0, 0, 0}, {3, 5, 17, 257, 0, 0, 0}, {10, 34, 514, 0, 0, 0, 0}, {3, 16384, 0, 0, 0, 0, 0}, {12, 68, 1028, 0, 0, 0, 0}, {8192, 5, 0, 0, 0, 0, 0}, {6, 16384, 0, 0, 0, 0, 0}, {15, 119, 1799, 0, 0, 0, 0}, {136, 2056, 0, 0, 0, 0, 0}, {3, 5, 4096, 0, 0, 0, 0}, {10, 8192, 0, 0, 0, 0, 0}, {3, 68, 1028, 0, 0, 0, 0}, {12, 16384, 0, 0, 0, 0, 0}, {34, 514, 5, 0, 0, 0, 0}, {6, 68, 1028, 0, 0, 0, 0}, {15, 28672, 0, 0, 0, 0, 0}, {48, 80, 4112, 0, 0, 0, 0}, {2048, 17, 0, 0, 0, 0, 0}, {18, 16384, 0, 0, 0, 0, 0}, {95, 51, 4883, 0, 0, 0, 0}, {8192, 20, 0, 0, 0, 0, 0}, {63, 85, 5397, 0, 0, 0, 0}, {90, 102, 5654, 0, 0, 0, 0}, {23, 16384, 0, 0, 0, 0, 0}, {24, 48, 80, 4096, 0, 0, 0}, {6425, 51, 85, 0, 0, 0, 0}, {90, 48, 16448, 0, 0, 0, 0}, {27, 51, 4864, 68, 0, 0, 0}, {60, 8224, 80, 0, 0, 0, 0}, {29, 34, 85, 5376, 0, 0, 0}, {30, 34, 5632, 68, 0, 0, 0}, {95, 96, 16448, 0, 0, 0, 0}, {160, 8224, 0, 0, 0, 0, 0}, {3, 1024, 17, 0, 0, 0, 0}, {2048, 34, 0, 0, 0, 0, 0}, {3, 80, 4112, 0, 0, 0, 0}, {12, 36, 68, 1024, 0, 0, 0}, {15, 9509, 85, 0, 0, 0, 0}, {12, 102, 16448, 0, 0, 0, 0}, {15, 39, 1792, 80, 0, 0, 0}, {40, 8192, 0, 0, 0, 0, 0}, {3, 85, 5397, 0, 0, 0, 0}, {170, 10794, 0, 0, 0, 0, 0}, {3, 20, 4096, 0, 0, 0, 0}, {12, 96, 16448, 0, 0, 0, 0}, {15, 34, 1792, 85, 0, 0, 0}, {12, 34, 68, 1024, 0, 0, 0}, {15, 8224, 80, 0, 0, 0, 0}, {48, 16384, 0, 0, 0, 0, 0}, {10, 514, 17, 0, 0, 0, 0}, {18, 80, 4112, 0, 0, 0, 0}, {19456, 51, 0, 0, 0, 0, 0}, {60, 13364, 68, 0, 0, 0, 0}, {10, 53, 85, 5376, 0, 0, 0}, {10, 54, 5632, 80, 0, 0, 0}, {72, 119, 16448, 0, 0, 0, 0}, {72, 48, 16448, 0, 0, 0, 0}, {10, 51, 4864, 85, 0, 0, 0}, {10, 48, 80, 4096, 0, 0, 0}, {2056, 51, 68, 0, 0, 0, 0}, {60, 28672, 0, 0, 0, 0, 0}, {23, 85, 5397, 0, 0, 0, 0}, {34, 514, 20, 0, 0, 0, 0}, {63, 16384, 0, 0, 0, 0, 0}, {192, 16448, 0, 0, 0, 0, 0}, {512, 5, 17, 0, 0, 0, 0}, {10, 34, 512, 66, 0, 0, 0}, {15, 51, 17219, 0, 0, 0, 0}, {2048, 68, 0, 0, 0, 0, 0}, {48, 5, 4112, 0, 0, 0, 0}, {10, 102, 17990, 0, 0, 0, 0}, {15, 48, 1792, 71, 0, 0, 0}, {72, 16384, 0, 0, 0, 0, 0}, {51, 4883, 5, 0, 0, 0, 0}, {10, 96, 16448, 0, 0, 0, 0}, {15, 51, 1792, 68, 0, 0, 0}, {204, 19532, 0, 0, 0, 0, 0}, {18, 5, 4096, 0, 0, 0, 0}, {10, 34, 512, 68, 0, 0, 0}, {15, 48, 16448, 0, 0, 0, 0}, {8192, 80, 0, 0, 0, 0, 0}, {12, 1028, 17, 0, 0, 0, 0}, {90, 34, 21074, 0, 0, 0, 0}, {12, 51, 4864, 83, 0, 0, 0}, {48, 20, 4112, 0, 0, 0, 0}, {10752, 85, 0, 0, 0, 0, 0}, {12, 48, 5632, 86, 0, 0, 0}, {95, 119, 22359, 0, 0, 0, 0}, {40, 8224, 80, 0, 0, 0, 0}, {12, 51, 85, 5376, 0, 0, 0}, {90, 28672, 0, 0, 0, 0, 0}, {23, 68, 1028, 0, 0, 0, 0}, {12, 48, 80, 4096, 0, 0, 0}, {2056, 34, 85, 0, 0, 0, 0}, {18, 68, 1028, 0, 0, 0, 0}, {95, 8192, 0, 0, 0, 0, 0}, {96, 16384, 0, 0, 0, 0, 0}, {15, 1799, 17, 0, 0, 0, 0}, {72, 34, 16448, 0, 0, 0, 0}, {15, 51, 4864, 80, 0, 0, 0}, {40, 8224, 68, 0, 0, 0, 0}, {15, 48, 85, 5376, 0, 0, 0}, {19456, 102, 0, 0, 0, 0, 0}, {23, 80, 4112, 0, 0, 0, 0}, {72, 96, 16448, 0, 0, 0, 0}, {15, 51, 5632, 85, 0, 0, 0}, {106, 16384, 0, 0, 0, 0, 0}, {51, 4883, 20, 0, 0, 0, 0}, {108, 8192, 0, 0, 0, 0, 0}, {18, 85, 5397, 0, 0, 0, 0}, {2056, 34, 68, 0, 0, 0, 0}, {15, 48, 80, 4096, 0, 0, 0}, {240, 28784, 0, 0, 0, 0, 0}, {6, 1024, 17, 0, 0, 0, 0}, {10, 34, 512, 80, 0, 0, 0}, {12, 51, 16448, 0, 0, 0, 0}, {12, 48, 68, 1024, 0, 0, 0}, {10, 8224, 85, 0, 0, 0, 0}, {6, 80, 4112, 0, 0, 0, 0}, {2048, 119, 0, 0, 0, 0, 0}, {120, 28672, 0, 0, 0, 0, 0}, {6, 85, 5397, 0, 0, 0, 0}, {10, 8224, 80, 0, 0, 0, 0}, {12, 51, 68, 1024, 0, 0, 0}, {12, 48, 16448, 0, 0, 0, 0}, {10, 34, 512, 85, 0, 0, 0}, {18, 20, 4096, 0, 0, 0, 0}, {255, 32639, 0, 0, 0, 0, 0}, {32896, 0, 0, 0, 0, 0, 0}, {3, 5, 17, 256, 0, 0, 0}, {10, 34, 512, 0, 0, 0, 0}, {3, 16448, 0, 0, 0, 0, 0}, {12, 68, 1024, 0, 0, 0, 0}, {8224, 5, 0, 0, 0, 0, 0}, {6, 16448, 0, 0, 0, 0, 0}, {15, 119, 1792, 0, 0, 0, 0}, {136, 2048, 0, 0, 0, 0, 0}, {3, 5, 4112, 0, 0, 0, 0}, {10, 8224, 0, 0, 0, 0, 0}, {3, 68, 1024, 0, 0, 0, 0}, {12, 16448, 0, 0, 0, 0, 0}, {34, 512, 5, 0, 0, 0, 0}, {6, 68, 1024, 0, 0, 0, 0}, {15, 28784, 0, 0, 0, 0, 0}, {48, 80, 4096, 0, 0, 0, 0}, {2056, 17, 0, 0, 0, 0, 0}, {18, 16448, 0, 0, 0, 0, 0}, {95, 51, 4864, 0, 0, 0, 0}, {8224, 20, 0, 0, 0, 0, 0}, {63, 85, 5376, 0, 0, 0, 0}, {90, 102, 5632, 0, 0, 0, 0}, {23, 16448, 0, 0, 0, 0, 0}, {24, 48, 80, 4112, 0, 0, 0}, {6400, 51, 85, 0, 0, 0, 0}, {90, 48, 16384, 0, 0, 0, 0}, {27, 51, 4883, 68, 0, 0, 0}, {60, 8192, 80, 0, 0, 0, 0}, {29, 34, 85, 5397, 0, 0, 0}, {30, 34, 5654, 68, 0, 0, 0}, {95, 96, 16384, 0, 0, 0, 0}, {160, 8192, 0, 0, 0, 0, 0}, {3, 1028, 17, 0, 0, 0, 0}, {2056, 34, 0, 0, 0, 0, 0}, {3, 80, 4096, 0, 0, 0, 0}, {12, 36, 68, 1028, 0, 0, 0}, {15, 9472, 85, 0, 0, 0, 0}, {12, 102, 16384, 0, 0, 0, 0}, {15, 39, 1799, 80, 0, 0, 0}, {40, 8224, 0, 0, 0, 0, 0}, {3, 85, 5376, 0, 0, 0, 0}, {170, 10752, 0, 0, 0, 0, 0}, {3, 20, 4112, 0, 0, 0, 0}, {12, 96, 16384, 0, 0, 0, 0}, {15, 34, 1799, 85, 0, 0, 0}, {12, 34, 68, 1028, 0, 0, 0}, {15, 8192, 80, 0, 0, 0, 0}, {48, 16448, 0, 0, 0, 0, 0}, {10, 512, 17, 0, 0, 0, 0}, {18, 80, 4096, 0, 0, 0, 0}, {19532, 51, 0, 0, 0, 0, 0}, {60, 13312, 68, 0, 0, 0, 0}, {10, 53, 85, 5397, 0, 0, 0}, {10, 54, 5654, 80, 0, 0, 0}, {72, 119, 16384, 0, 0, 0, 0}, {72, 48, 16384, 0, 0, 0, 0}, {10, 51, 4883, 85, 0, 0, 0}, {10, 48, 80, 4112, 0, 0, 0}, {2048, 51, 68, 0, 0, 0, 0}, {60, 28784, 0, 0, 0, 0, 0}, {23, 85, 5376, 0, 0, 0, 0}, {34, 512, 20, 0, 0, 0, 0}, {63, 16448, 0, 0, 0, 0, 0}, {192, 16384, 0, 0, 0, 0, 0}, {514, 5, 17, 0, 0, 0, 0}, {10, 34, 514, 66, 0, 0, 0}, {15, 51, 17152, 0, 0, 0, 0}, {2056, 68, 0, 0, 0, 0, 0}, {48, 5, 4096, 0, 0, 0, 0}, {10, 102, 17920, 0, 0, 0, 0}, {15, 48, 1799, 71, 0, 0, 0}, {72, 16448, 0, 0, 0, 0, 0}, {51, 4864, 5, 0, 0, 0, 0}, {10, 96, 16384, 0, 0, 0, 0}, {15, 51, 1799, 68, 0, 0, 0}, {204, 19456, 0, 0, 0, 0, 0}, {18, 5, 4112, 0, 0, 0, 0}, {10, 34, 514, 68, 0, 0, 0}, {15, 48, 16384, 0, 0, 0, 0}, {8224, 80, 0, 0, 0, 0, 0}, {12, 1024, 17, 0, 0, 0, 0}, {90, 34, 20992, 0, 0, 0, 0}, {12, 51, 4883, 83, 0, 0, 0}, {48, 20, 4096, 0, 0, 0, 0}, {10794, 85, 0, 0, 0, 0, 0}, {12, 48, 5654, 86, 0, 0, 0}, {95, 119, 22272, 0, 0, 0, 0}, {40, 8192, 80, 0, 0, 0, 0}, {12, 51, 85, 5397, 0, 0, 0}, {90, 28784, 0, 0, 0, 0, 0}, {23, 68, 1024, 0, 0, 0, 0}, {12, 48, 80, 4112, 0, 0, 0}, {2048, 34, 85, 0, 0, 0, 0}, {18, 68, 1024, 0, 0, 0, 0}, {95, 8224, 0, 0, 0, 0, 0}, {96, 16448, 0, 0, 0, 0, 0}, {15, 1792, 17, 0, 0, 0, 0}, {72, 34, 16384, 0, 0, 0, 0}, {15, 51, 4883, 80, 0, 0, 0}, {40, 8192, 68, 0, 0, 0, 0}, {15, 48, 85, 5397, 0, 0, 0}, {19532, 102, 0, 0, 0, 0, 0}, {23, 80, 4096, 0, 0, 0, 0}, {72, 96, 16384, 0, 0, 0, 0}, {15, 51, 5654, 85, 0, 0, 0}, {106, 16448, 0, 0, 0, 0, 0}, {51, 4864, 20, 0, 0, 0, 0}, {108, 8224, 0, 0, 0, 0, 0}, {18, 85, 5376, 0, 0, 0, 0}, {2048, 34, 68, 0, 0, 0, 0}, {15, 48, 80, 4112, 0, 0, 0}, {240, 28672, 0, 0, 0, 0, 0}, {6, 1028, 17, 0, 0, 0, 0}, {10, 34, 514, 80, 0, 0, 0}, {12, 51, 16384, 0, 0, 0, 0}, {12, 48, 68, 1028, 0, 0, 0}, {10, 8192, 85, 0, 0, 0, 0}, {6, 80, 4096, 0, 0, 0, 0}, {2056, 119, 0, 0, 0, 0, 0}, {120, 28784, 0, 0, 0, 0, 0}, {6, 85, 5376, 0, 0, 0, 0}, {10, 8192, 80, 0, 0, 0, 0}, {12, 51, 68, 1028, 0, 0, 0}, {12, 48, 16384, 0, 0, 0, 0}, {10, 34, 514, 85, 0, 0, 0}, {18, 20, 4112, 0, 0, 0, 0}, {255, 32512, 0, 0, 0, 0, 0}, {768, 1280, 4352, 0, 0, 0, 0}, {128, 257, 0, 0, 0, 0, 0}, {258, 16384, 0, 0, 0, 0, 0}, {1295, 4403, 771, 0, 0, 0, 0}, {8192, 260, 0, 0, 0, 0, 0}, {783, 4437, 1285, 0, 0, 0, 0}, {1290, 4454, 1542, 0, 0, 0, 0}, {263, 16384, 0, 0, 0, 0, 0}, {264, 768, 1280, 4096, 0, 0, 0}, {4505, 771, 1285, 0, 0, 0, 0}, {1290, 768, 17408, 0, 0, 0, 0}, {267, 4144, 771, 1028, 0, 0, 0}, {780, 8704, 1280, 0, 0, 0, 0}, {269, 514, 4176, 1285, 0, 0, 0}, {270, 4192, 514, 1028, 0, 0, 0}, {1295, 1536, 17408, 0, 0, 0, 0}, {2048, 272, 0, 0, 0, 0, 0}, {819, 1365, 4369, 0, 0, 0, 0}, {1370, 4386, 4626, 0, 0, 0, 0}, {275, 16384, 0, 0, 0, 0, 0}, {828, 4420, 5140, 0, 0, 0, 0}, {8192, 277, 0, 0, 0, 0, 0}, {278, 16384, 0, 0, 0, 0, 0}, {1375, 4471, 5911, 0, 0, 0, 0}, {6168, 816, 1360, 0, 0, 0, 0}, {281, 819, 1365, 4096, 0, 0, 0}, {282, 4144, 4864, 1088, 0, 0, 0}, {1375, 819, 17476, 0, 0, 0, 0}, {284, 544, 4176, 5376, 0, 0, 0}, {831, 8738, 1365, 0, 0, 0, 0}, {1370, 1638, 17476, 0, 0, 0, 0}, {287, 5152, 5632, 1088, 0, 0, 0}, {288, 768, 1024, 4352, 0, 0, 0}, {1445, 771, 4369, 0, 0, 0, 0}, {4386, 768, 20480, 0, 0, 0, 0}, {1036, 291, 771, 4112, 0, 0, 0}, {780, 9252, 4420, 0, 0, 0, 0}, {783, 293, 4437, 1024, 0, 0, 0}, {1036, 294, 1792, 4160, 0, 0, 0}, {783, 4471, 20560, 0, 0, 0, 0}, {5160, 768, 21760, 0, 0, 0, 0}, {4377, 4144, 771, 5397, 0, 0, 0}, {298, 768, 1024, 4096, 0, 0, 0}, {4539, 771, 5140, 0, 0, 0, 0}, {1036, 1312, 1792, 5440, 0, 0, 0}, {783, 6007, 21845, 0, 0, 0, 0}, {780, 8738, 5188, 0, 0, 0, 0}, {783, 544, 4176, 1024, 0, 0, 0}, {2560, 816, 4352, 0, 0, 0, 0}, {305, 514, 1092, 4369, 0, 0, 0}, {1096, 306, 514, 4112, 0, 0, 0}, {4403, 4608, 20480, 0, 0, 0, 0}, {520, 308, 4420, 5376, 0, 0, 0}, {831, 13621, 4437, 0, 0, 0, 0}, {4698, 4454, 20560, 0, 0, 0, 0}, {5128, 311, 5632, 4160, 0, 0, 0}, {4360, 4144, 4864, 5440, 0, 0, 0}, {5983, 819, 21845, 0, 0, 0, 0}, {2570, 816, 5200, 0, 0, 0, 0}, {520, 819, 1092, 4096, 0, 0, 0}, {5180, 5888, 21760, 0, 0, 0, 0}, {4445, 4192, 514, 5397, 0, 0, 0}, {318, 514, 4176, 5140, 0, 0, 0}, {831, 8704, 5120, 0, 0, 0, 0}, {512, 320, 1280, 4352, 0, 0, 0}, {963, 1285, 4369, 0, 0, 0, 0}, {1290, 4386, 16962, 0, 0, 0, 0}, {1295, 4403, 512, 323, 0, 0, 0}, {12288, 4420, 1280, 0, 0, 0, 0}, {522, 325, 1285, 4112, 0, 0, 0}, {1290, 4128, 1792, 326, 0, 0, 0}, {1295, 4471, 18247, 0, 0, 0, 0}, {4680, 13056, 1280, 0, 0, 0, 0}, {4377, 4883, 4176, 1285, 0, 0, 0}, {1290, 5152, 1792, 1088, 0, 0, 0}, {1295, 6007, 17476, 0, 0, 0, 0}, {332, 512, 1280, 4096, 0, 0, 0}, {4573, 4626, 1285, 0, 0, 0, 0}, {1290, 4642, 17476, 0, 0, 0, 0}, {1295, 4144, 512, 1088, 0, 0, 0}, {3072, 1360, 4352, 0, 0, 0, 0}, {546, 337, 1028, 4369, 0, 0, 0}, {1032, 4386, 4864, 338, 0, 0, 0}, {1375, 4403, 21331, 0, 0, 0, 0}, {552, 340, 1028, 4112, 0, 0, 0}, {12288, 4437, 5120, 0, 0, 0, 0}, {1370, 4454, 22102, 0, 0, 0, 0}, {1032, 4128, 5632, 343, 0, 0, 0}, {4360, 4896, 4176, 5376, 0, 0, 0}, {5951, 13107, 1365, 0, 0, 0, 0}, {1370, 5888, 17408, 0, 0, 0, 0}, {347, 4192, 4883, 1028, 0, 0, 0}, {3084, 4656, 1360, 0, 0, 0, 0}, {1032, 546, 1365, 4096, 0, 0, 0}, {350, 4144, 4626, 1028, 0, 0, 0}, {1375, 4608, 17408, 0, 0, 0, 0}, {3840, 1632, 4352, 0, 0, 0, 0}, {1317, 1799, 1092, 4369, 0, 0, 0}, {5128, 4386, 4864, 4160, 0, 0, 0}, {5983, 4403, 20560, 0, 0, 0, 0}, {4616, 4128, 4420, 5376, 0, 0, 0}, {5951, 12336, 4437, 0, 0, 0, 0}, {4454, 5888, 20480, 0, 0, 0, 0}, {1096, 359, 1799, 4112, 0, 0, 0}, {4360, 1312, 5632, 5440, 0, 0, 0}, {4698, 1638, 21845, 0, 0, 0, 0}, {4714, 13056, 5120, 0, 0, 0, 0}, {4411, 4883, 4176, 5140, 0, 0, 0}, {5228, 4608, 21760, 0, 0, 0, 0}, {4445, 4144, 4626, 5397, 0, 0, 0}, {1800, 546, 1092, 4096, 0, 0, 0}, {3855, 4656, 5200, 0, 0, 0, 0}, {368, 512, 1024, 4352, 0, 0, 0}, {1525, 1542, 4369, 0, 0, 0, 0}, {1546, 4386, 20560, 0, 0, 0, 0}, {1036, 4403, 512, 4160, 0, 0, 0}, {1548, 12336, 4420, 0, 0, 0, 0}, {522, 4128, 4437, 1024, 0, 0, 0}, {1036, 374, 1542, 4112, 0, 0, 0}, {4471, 1536, 20480, 0, 0, 0, 0}, {5240, 1536, 21760, 0, 0, 0, 0}, {4377, 4192, 4883, 5397, 0, 0, 0}, {522, 4896, 4176, 1024, 0, 0, 0}, {1548, 13107, 5188, 0, 0, 0, 0}, {1036, 4144, 512, 5440, 0, 0, 0}, {1546, 4642, 21845, 0, 0, 0, 0}, {4590, 4626, 5140, 0, 0, 0, 0}, {383, 512, 1024, 4096, 0, 0, 0}, {128, 256, 0, 0, 0, 0, 0}, {771, 1285, 4369, 0, 0, 0, 0}, {1290, 4386, 768, 0, 0, 0, 0}, {259, 16448, 0, 0, 0, 0, 0}, {780, 4420, 1280, 0, 0, 0, 0}, {8224, 261, 0, 0, 0, 0, 0}, {262, 16448, 0, 0, 0, 0, 0}, {1295, 4471, 1536, 0, 0, 0, 0}, {4488, 768, 1280, 0, 0, 0, 0}, {265, 771, 1285, 4112, 0, 0, 0}, {266, 4128, 768, 1024, 0, 0, 0}, {1295, 771, 17476, 0, 0, 0, 0}, {268, 512, 4160, 1280, 0, 0, 0}, {783, 8738, 1285, 0, 0, 0, 0}, {1290, 1542, 17476, 0, 0, 0, 0}, {271, 4208, 512, 1024, 0, 0, 0}, {816, 1360, 4352, 0, 0, 0, 0}, {2056, 273, 0, 0, 0, 0, 0}, {274, 16448, 0, 0, 0, 0, 0}, {1375, 4403, 4608, 0, 0, 0, 0}, {8224, 276, 0, 0, 0, 0, 0}, {831, 4437, 5120, 0, 0, 0, 0}, {1370, 4454, 5888, 0, 0, 0, 0}, {279, 16448, 0, 0, 0, 0, 0}, {280, 816, 1360, 4112, 0, 0, 0}, {6144, 819, 1365, 0, 0, 0, 0}, {1370, 816, 17408, 0, 0, 0, 0}, {283, 4128, 4883, 1092, 0, 0, 0}, {828, 8704, 1360, 0, 0, 0, 0}, {285, 546, 4160, 5397, 0, 0, 0}, {286, 5172, 5654, 1092, 0, 0, 0}, {1375, 1632, 17408, 0, 0, 0, 0}, {1440, 768, 4352, 0, 0, 0, 0}, {289, 771, 1028, 4369, 0, 0, 0}, {1032, 290, 768, 4096, 0, 0, 0}, {4403, 771, 20560, 0, 0, 0, 0}, {780, 292, 4420, 1028, 0, 0, 0}, {783, 9216, 4437, 0, 0, 0, 0}, {780, 4454, 20480, 0, 0, 0, 0}, {1032, 295, 1799, 4176, 0, 0, 0}, {4360, 4128, 768, 5376, 0, 0, 0}, {5180, 771, 21845, 0, 0, 0, 0}, {4522, 768, 5120, 0, 0, 0, 0}, {299, 771, 1028, 4112, 0, 0, 0}, {780, 5984, 21760, 0, 0, 0, 0}, {1032, 1317, 1799, 5461, 0, 0, 0}, {780, 546, 4160, 1028, 0, 0, 0}, {783, 8704, 5200, 0, 0, 0, 0}, {304, 512, 1088, 4352, 0, 0, 0}, {2570, 819, 4369, 0, 0, 0, 0}, {4386, 4626, 20560, 0, 0, 0, 0}, {1100, 307, 512, 4096, 0, 0, 0}, {828, 13568, 4420, 0, 0, 0, 0}, {522, 309, 4437, 5397, 0, 0, 0}, {5148, 310, 5654, 4176, 0, 0, 0}, {4680, 4471, 20480, 0, 0, 0, 0}, {5960, 816, 21760, 0, 0, 0, 0}, {4377, 4128, 4883, 5461, 0, 0, 0}, {522, 816, 1088, 4112, 0, 0, 0}, {2560, 819, 5188, 0, 0, 0, 0}, {4428, 4208, 512, 5376, 0, 0, 0}, {5160, 5911, 21845, 0, 0, 0, 0}, {828, 8738, 5140, 0, 0, 0, 0}, {319, 512, 4160, 5120, 0, 0, 0}, {960, 1280, 4352, 0, 0, 0, 0}, {514, 321, 1285, 4369, 0, 0, 0}, {1290, 4386, 514, 322, 0, 0, 0}, {1295, 4403, 16896, 0, 0, 0, 0}, {520, 324, 1280, 4096, 0, 0, 0}, {12336, 4437, 1285, 0, 0, 0, 0}, {1290, 4454, 18176, 0, 0, 0, 0}, {1295, 4144, 1799, 327, 0, 0, 0}, {4360, 4864, 4160, 1280, 0, 0, 0}, {4698, 13107, 1285, 0, 0, 0, 0}, {1290, 5984, 17408, 0, 0, 0, 0}, {1295, 5172, 1799, 1092, 0, 0, 0}, {4556, 4608, 1280, 0, 0, 0, 0}, {333, 514, 1285, 4112, 0, 0, 0}, {1290, 4128, 514, 1092, 0, 0, 0}, {1295, 4656, 17408, 0, 0, 0, 0}, {544, 336, 1024, 4352, 0, 0, 0}, {3084, 1365, 4369, 0, 0, 0, 0}, {1370, 4386, 21248, 0, 0, 0, 0}, {1036, 4403, 4883, 339, 0, 0, 0}, {12336, 4420, 5140, 0, 0, 0, 0}, {554, 341, 1024, 4096, 0, 0, 0}, {1036, 4144, 5654, 342, 0, 0, 0}, {1375, 4471, 22016, 0, 0, 0, 0}, {5928, 13056, 1360, 0, 0, 0, 0}, {4377, 4915, 4160, 5397, 0, 0, 0}, {346, 4208, 4864, 1024, 0, 0, 0}, {1375, 5911, 17476, 0, 0, 0, 0}, {1036, 544, 1360, 4112, 0, 0, 0}, {3072, 4642, 1365, 0, 0, 0, 0}, {1370, 4626, 17476, 0, 0, 0, 0}, {351, 4128, 4608, 1024, 0, 0, 0}, {1312, 1792, 1088, 4352, 0, 0, 0}, {3855, 1638, 4369, 0, 0, 0, 0}, {5960, 4386, 20480, 0, 0, 0, 0}, {5148, 4403, 4883, 4176, 0, 0, 0}, {5928, 12288, 4420, 0, 0, 0, 0}, {4634, 4144, 4437, 5397, 0, 0, 0}, {1100, 358, 1792, 4096, 0, 0, 0}, {4471, 5911, 20560, 0, 0, 0, 0}, {4680, 1632, 21760, 0, 0, 0, 0}, {4377, 1317, 5654, 5461, 0, 0, 0}, {4394, 4864, 4160, 5120, 0, 0, 0}, {4728, 13107, 5140, 0, 0, 0, 0}, {4428, 4128, 4608, 5376, 0, 0, 0}, {5240, 4626, 21845, 0, 0, 0, 0}, {3840, 4642, 5188, 0, 0, 0, 0}, {1807, 544, 1088, 4112, 0, 0, 0}, {1520, 1536, 4352, 0, 0, 0, 0}, {369, 514, 1028, 4369, 0, 0, 0}, {1032, 4386, 514, 4176, 0, 0, 0}, {1548, 4403, 20480, 0, 0, 0, 0}, {520, 4144, 4420, 1028, 0, 0, 0}, {1546, 12288, 4437, 0, 0, 0, 0}, {4454, 1542, 20560, 0, 0, 0, 0}, {1032, 375, 1536, 4096, 0, 0, 0}, {4360, 4208, 4864, 5376, 0, 0, 0}, {5228, 1542, 21845, 0, 0, 0, 0}, {1546, 13056, 5200, 0, 0, 0, 0}, {520, 4915, 4160, 1028, 0, 0, 0}, {1548, 4656, 21760, 0, 0, 0, 0}, {1032, 4128, 514, 5461, 0, 0, 0}, {382, 514, 1028, 4112, 0, 0, 0}, {4607, 4608, 5120, 0, 0, 0, 0}, {2560, 8704, 0, 0, 0, 0, 0}, {3, 64, 257, 0, 0, 0, 0}, {128, 514, 0, 0, 0, 0, 0}, {3, 1280, 4352, 0, 0, 0, 0}, {12, 516, 64, 1028, 0, 0, 0}, {15, 8789, 1285, 0, 0, 0, 0}, {12, 1542, 17408, 0, 0, 0, 0}, {15, 112, 519, 1280, 0, 0, 0}, {520, 8192, 0, 0, 0, 0, 0}, {3, 4437, 1285, 0, 0, 0, 0}, {8874, 2570, 0, 0, 0, 0, 0}, {3, 260, 4096, 0, 0, 0, 0}, {12, 1536, 17408, 0, 0, 0, 0}, {15, 112, 514, 1285, 0, 0, 0}, {12, 514, 64, 1028, 0, 0, 0}, {15, 8704, 1280, 0, 0, 0, 0}, {48, 528, 64, 4112, 0, 0, 0}, {2645, 51, 4369, 0, 0, 0, 0}, {48, 4626, 20480, 0, 0, 0, 0}, {76, 51, 531, 4352, 0, 0, 0}, {60, 8772, 5140, 0, 0, 0, 0}, {63, 533, 64, 5397, 0, 0, 0}, {76, 112, 534, 5120, 0, 0, 0}, {63, 5911, 21760, 0, 0, 0, 0}, {4680, 48, 20560, 0, 0, 0, 0}, {4377, 51, 4864, 4437, 0, 0, 0}, {538, 48, 64, 4096, 0, 0, 0}, {6939, 51, 4420, 0, 0, 0, 0}, {5148, 5152, 5632, 5200, 0, 0, 0}, {5960, 6007, 21845, 0, 0, 0, 0}, {60, 8738, 5188, 0, 0, 0, 0}, {543, 544, 64, 5376, 0, 0, 0}, {2048, 544, 0, 0, 0, 0, 0}, {3, 1365, 4369, 0, 0, 0, 0}, {2730, 8738, 0, 0, 0, 0, 0}, {3, 1024, 272, 0, 0, 0, 0}, {12, 1632, 17476, 0, 0, 0, 0}, {15, 1317, 1792, 1365, 0, 0, 0}, {12, 550, 64, 1024, 0, 0, 0}, {15, 10023, 1360, 0, 0, 0, 0}, {8840, 10280, 0, 0, 0, 0, 0}, {3, 277, 4096, 0, 0, 0, 0}, {554, 8192, 0, 0, 0, 0, 0}, {3, 4420, 5140, 0, 0, 0, 0}, {12, 544, 64, 1024, 0, 0, 0}, {15, 8738, 1365, 0, 0, 0, 0}, {12, 1638, 17476, 0, 0, 0, 0}, {15, 1312, 1792, 1360, 0, 0, 0}, {48, 4608, 20480, 0, 0, 0, 0}, {76, 51, 514, 4369, 0, 0, 0}, {48, 514, 64, 4112, 0, 0, 0}, {2560, 51, 4352, 0, 0, 0, 0}, {5128, 5172, 5632, 5188, 0, 0, 0}, {5983, 5984, 21845, 0, 0, 0, 0}, {60, 13878, 5200, 0, 0, 0, 0}, {520, 567, 64, 5376, 0, 0, 0}, {520, 48, 64, 4096, 0, 0, 0}, {2570, 51, 4437, 0, 0, 0, 0}, {4698, 48, 20560, 0, 0, 0, 0}, {4360, 51, 4864, 4420, 0, 0, 0}, {60, 8704, 5120, 0, 0, 0, 0}, {63, 514, 64, 5397, 0, 0, 0}, {76, 112, 514, 5140, 0, 0, 0}, {63, 5888, 21760, 0, 0, 0, 0}, {512, 64, 0, 0, 0, 0, 0}, {15, 51, 1285, 4369, 0, 0, 0}, {192, 2570, 8738, 16962, 0, 0, 0}, {15, 51, 512, 67, 1280, 4352, 0}, {204, 2560, 8772, 17476, 0, 0, 0}, {15, 48, 517, 64, 1285, 4112, 0}, {76, 582, 17408, 0, 0, 0, 0}, {15, 48, 4679, 1280, 0, 0, 0}, {192, 2560, 8776, 16968, 0, 0, 0}, {15, 51, 517, 67, 1285, 4374, 0}, {522, 8224, 64, 0, 0, 0, 0}, {15, 51, 4420, 1280, 0, 0, 0}, {76, 512, 17408, 0, 0, 0, 0}, {15, 48, 4626, 1285, 0, 0, 0}, {204, 2570, 8738, 17476, 0, 0, 0}, {15, 48, 512, 64, 1280, 4096, 0}, {240, 2640, 8704, 20560, 0, 0, 0}, {12, 51, 529, 64, 1028, 4369, 0}, {112, 594, 20480, 0, 0, 0, 0}, {12, 51, 1619, 4352, 0, 0, 0}, {12, 48, 532, 64, 1028, 4112, 0}, {255, 2645, 8789, 21845, 0, 0, 0}, {12, 48, 4694, 5120, 0, 0, 0}, {127, 599, 21760, 0, 0, 0, 0}, {600, 112, 20560, 0, 0, 0, 0}, {12, 51, 5888, 4437, 0, 0, 0}, {240, 2650, 8794, 20480, 0, 0, 0}, {12, 51, 535, 64, 1028, 4356, 0}, {12, 48, 4608, 5200, 0, 0, 0}, {605, 546, 21845, 0, 0, 0, 0}, {12, 48, 530, 64, 1028, 4096, 0}, {255, 2655, 8704, 21760, 0, 0, 0}, {192, 2656, 8704, 16992, 0, 0, 0}, {15, 51, 529, 67, 1302, 4369, 0}, {2056, 546, 64, 0, 0, 0, 0}, {15, 51, 1360, 4352, 0, 0, 0}, {76, 612, 17476, 0, 0, 0, 0}, {15, 48, 5888, 1365, 0, 0, 0}, {204, 2662, 8806, 17408, 0, 0, 0}, {15, 48, 535, 64, 1296, 4112, 0}, {552, 8224, 64, 0, 0, 0, 0}, {15, 51, 4437, 5120, 0, 0, 0}, {192, 2666, 8810, 17002, 0, 0, 0}, {15, 51, 532, 67, 1299, 4359, 0}, {204, 2668, 8704, 17408, 0, 0, 0}, {15, 48, 530, 64, 1301, 4096, 0}, {76, 546, 17476, 0, 0, 0, 0}, {15, 48, 4608, 1360, 0, 0, 0}, {112, 512, 20480, 0, 0, 0, 0}, {12, 51, 1542, 4369, 0, 0, 0}, {240, 2570, 8738, 20560, 0, 0, 0}, {12, 51, 512, 64, 1024, 4352, 0}, {12, 48, 1536, 5188, 0, 0, 0}, {522, 629, 21845, 0, 0, 0, 0}, {12, 48, 518, 64, 1024, 4112, 0}, {255, 2560, 8823, 21760, 0, 0, 0}, {240, 2560, 8824, 20480, 0, 0, 0}, {12, 51, 518, 64, 1024, 4373, 0}, {522, 112, 20560, 0, 0, 0, 0}, {12, 51, 1536, 4420, 0, 0, 0}, {12, 48, 512, 64, 1024, 4096, 0}, {255, 2570, 8738, 21845, 0, 0, 0}, {12, 48, 4626, 5140, 0, 0, 0}, {127, 512, 21760, 0, 0, 0, 0}, {128, 512, 0, 0, 0, 0, 0}, {3, 1285, 4369, 0, 0, 0, 0}, {2570, 8738, 0, 0, 0, 0, 0}, {3, 64, 256, 0, 0, 0, 0}, {12, 1536, 17476, 0, 0, 0, 0}, {15, 112, 517, 1285, 0, 0, 0}, {12, 518, 64, 1024, 0, 0, 0}, {15, 8823, 1280, 0, 0, 0, 0}, {8840, 2560, 0, 0, 0, 0, 0}, {3, 261, 4112, 0, 0, 0, 0}, {522, 8224, 0, 0, 0, 0, 0}, {3, 4420, 1280, 0, 0, 0, 0}, {12, 512, 64, 1024, 0, 0, 0}, {15, 8738, 1285, 0, 0, 0, 0}, {12, 1542, 17476, 0, 0, 0, 0}, {15, 112, 512, 1280, 0, 0, 0}, {48, 4608, 20560, 0, 0, 0, 0}, {76, 51, 529, 4369, 0, 0, 0}, {48, 530, 64, 4096, 0, 0, 0}, {2655, 51, 4352, 0, 0, 0, 0}, {76, 112, 532, 5140, 0, 0, 0}, {63, 5888, 21845, 0, 0, 0, 0}, {60, 8806, 5120, 0, 0, 0, 0}, {63, 535, 64, 5376, 0, 0, 0}, {536, 48, 64, 4112, 0, 0, 0}, {6912, 51, 4437, 0, 0, 0, 0}, {4698, 48, 20480, 0, 0, 0, 0}, {4360, 51, 4883, 4420, 0, 0, 0}, {60, 8704, 5200, 0, 0, 0, 0}, {541, 546, 64, 5397, 0, 0, 0}, {5128, 5172, 5654, 5188, 0, 0, 0}, {5983, 5984, 21760, 0, 0, 0, 0}, {2720, 8704, 0, 0, 0, 0, 0}, {3, 1028, 273, 0, 0, 0, 0}, {2056, 546, 0, 0, 0, 0, 0}, {3, 1360, 4352, 0, 0, 0, 0}, {12, 548, 64, 1028, 0, 0, 0}, {15, 9984, 1365, 0, 0, 0, 0}, {12, 1638, 17408, 0, 0, 0, 0}, {15, 1312, 1799, 1360, 0, 0, 0}, {552, 8224, 0, 0, 0, 0, 0}, {3, 4437, 5120, 0, 0, 0, 0}, {8874, 10240, 0, 0, 0, 0, 0}, {3, 276, 4112, 0, 0, 0, 0}, {12, 1632, 17408, 0, 0, 0, 0}, {15, 1317, 1799, 1365, 0, 0, 0}, {12, 546, 64, 1028, 0, 0, 0}, {15, 8704, 1360, 0, 0, 0, 0}, {48, 512, 64, 4096, 0, 0, 0}, {2570, 51, 4369, 0, 0, 0, 0}, {48, 4626, 20560, 0, 0, 0, 0}, {76, 51, 512, 4352, 0, 0, 0}, {60, 13824, 5188, 0, 0, 0, 0}, {522, 565, 64, 5397, 0, 0, 0}, {5148, 5152, 5654, 5200, 0, 0, 0}, {5960, 6007, 21760, 0, 0, 0, 0}, {4680, 48, 20480, 0, 0, 0, 0}, {4377, 51, 4883, 4437, 0, 0, 0}, {522, 48, 64, 4112, 0, 0, 0}, {2560, 51, 4420, 0, 0, 0, 0}, {76, 112, 512, 5120, 0, 0, 0}, {63, 5911, 21845, 0, 0, 0, 0}, {60, 8738, 5140, 0, 0, 0, 0}, {63, 512, 64, 5376, 0, 0, 0}, {192, 2560, 8704, 16896, 0, 0, 0}, {15, 51, 514, 67, 1285, 4369, 0}, {514, 64, 0, 0, 0, 0, 0}, {15, 51, 1280, 4352, 0, 0, 0}, {76, 580, 17476, 0, 0, 0, 0}, {15, 48, 4693, 1285, 0, 0, 0}, {204, 2570, 8806, 17408, 0, 0, 0}, {15, 48, 519, 64, 1280, 4096, 0}, {520, 8192, 64, 0, 0, 0, 0}, {15, 51, 4437, 1285, 0, 0, 0}, {192, 2570, 8810, 16906, 0, 0, 0}, {15, 51, 519, 67, 1280, 4359, 0}, {204, 2560, 8704, 17408, 0, 0, 0}, {15, 48, 514, 64, 1285, 4112, 0}, {76, 514, 17476, 0, 0, 0, 0}, {15, 48, 4608, 1280, 0, 0, 0}, {112, 592, 20560, 0, 0, 0, 0}, {12, 51, 1621, 4369, 0, 0, 0}, {240, 2650, 8738, 20480, 0, 0, 0}, {12, 51, 531, 64, 1024, 4352, 0}, {12, 48, 4676, 5140, 0, 0, 0}, {127, 597, 21845, 0, 0, 0, 0}, {12, 48, 534, 64, 1024, 4096, 0}, {255, 2655, 8823, 21760, 0, 0, 0}, {240, 2640, 8824, 20560, 0, 0, 0}, {12, 51, 533, 64, 1024, 4373, 0}, {602, 112, 20480, 0, 0, 0, 0}, {12, 51, 5911, 4420, 0, 0, 0}, {12, 48, 528, 64, 1024, 4112, 0}, {255, 2645, 8738, 21845, 0, 0, 0}, {12, 48, 4626, 5188, 0, 0, 0}, {607, 544, 21760, 0, 0, 0, 0}, {2048, 544, 64, 0, 0, 0, 0}, {15, 51, 1365, 4369, 0, 0, 0}, {192, 2666, 8738, 16930, 0, 0, 0}, {15, 51, 531, 67, 1299, 4352, 0}, {204, 2668, 8772, 17476, 0, 0, 0}, {15, 48, 533, 64, 1301, 4096, 0}, {76, 614, 17408, 0, 0, 0, 0}, {15, 48, 5911, 1360, 0, 0, 0}, {192, 2656, 8776, 16936, 0, 0, 0}, {15, 51, 534, 67, 1302, 4374, 0}, {554, 8192, 64, 0, 0, 0, 0}, {15, 51, 4420, 5140, 0, 0, 0}, {76, 544, 17408, 0, 0, 0, 0}, {15, 48, 4626, 1365, 0, 0, 0}, {204, 2662, 8738, 17476, 0, 0, 0}, {15, 48, 528, 64, 1296, 4112, 0}, {240, 2560, 8704, 20480, 0, 0, 0}, {12, 51, 514, 64, 1028, 4369, 0}, {112, 514, 20560, 0, 0, 0, 0}, {12, 51, 1536, 4352, 0, 0, 0}, {12, 48, 516, 64, 1028, 4096, 0}, {255, 2570, 8789, 21845, 0, 0, 0}, {12, 48, 1542, 5200, 0, 0, 0}, {520, 631, 21760, 0, 0, 0, 0}, {520, 112, 20480, 0, 0, 0, 0}, {12, 51, 1542, 4437, 0, 0, 0}, {240, 2570, 8794, 20560, 0, 0, 0}, {12, 51, 516, 64, 1028, 4356, 0}, {12, 48, 4608, 5120, 0, 0, 0}, {127, 514, 21845, 0, 0, 0, 0}, {12, 48, 514, 64, 1028, 4112, 0}, {255, 2560, 8704, 21760, 0, 0, 0}, {768, 16384, 0, 0, 0, 0, 0}, {10, 34, 257, 0, 0, 0, 0}, {258, 1280, 4352, 0, 0, 0, 0}, {16576, 771, 0, 0, 0, 0, 0}, {780, 13124, 1028, 0, 0, 0, 0}, {10, 773, 4176, 1285, 0, 0, 0}, {10, 4192, 774, 1280, 0, 0, 0}, {1032, 1799, 17408, 0, 0, 0, 0}, {1032, 768, 17408, 0, 0, 0, 0}, {10, 4144, 771, 1285, 0, 0, 0}, {10, 768, 1280, 4096, 0, 0, 0}, {136, 771, 1028, 0, 0, 0, 0}, {780, 28672, 0, 0, 0, 0, 0}, {263, 4437, 1285, 0, 0, 0, 0}, {34, 514, 260, 0, 0, 0, 0}, {783, 16384, 0, 0, 0, 0, 0}, {3920, 816, 4112, 0, 0, 0, 0}, {34, 785, 1092, 4369, 0, 0, 0}, {1096, 34, 786, 4352, 0, 0, 0}, {4128, 4883, 20480, 0, 0, 0, 0}, {40, 788, 4176, 5140, 0, 0, 0}, {831, 13141, 5397, 0, 0, 0, 0}, {5418, 5654, 21760, 0, 0, 0, 0}, {4168, 4192, 791, 5120, 0, 0, 0}, {4120, 4144, 4864, 5200, 0, 0, 0}, {5708, 819, 21845, 0, 0, 0, 0}, {6682, 816, 5440, 0, 0, 0, 0}, {795, 819, 1092, 4096, 0, 0, 0}, {4940, 4208, 20560, 0, 0, 0, 0}, {5405, 34, 5632, 4437, 0, 0, 0}, {798, 34, 4420, 5376, 0, 0, 0}, {831, 8224, 4160, 0, 0, 0, 0}, {4128, 768, 20480, 0, 0, 0, 0}, {1036, 34, 771, 4369, 0, 0, 0}, {34, 768, 1024, 4352, 0, 0, 0}, {160, 771, 4112, 0, 0, 0, 0}, {1036, 1060, 1792, 5188, 0, 0, 0}, {783, 5744, 21845, 0, 0, 0, 0}, {780, 9766, 5440, 0, 0, 0, 0}, {783, 807, 4176, 1024, 0, 0, 0}, {40, 768, 1024, 4096, 0, 0, 0}, {170, 771, 5397, 0, 0, 0, 0}, {5418, 768, 21760, 0, 0, 0, 0}, {4120, 4144, 771, 5140, 0, 0, 0}, {780, 8224, 4160, 0, 0, 0, 0}, {783, 34, 4437, 1024, 0, 0, 0}, {1036, 34, 1792, 4420, 0, 0, 0}, {783, 4208, 20560, 0, 0, 0, 0}, {19456, 816, 0, 0, 0, 0, 0}, {275, 1365, 4369, 0, 0, 0, 0}, {10, 514, 272, 0, 0, 0, 0}, {819, 16384, 0, 0, 0, 0, 0}, {1100, 1904, 17476, 0, 0, 0, 0}, {10, 5429, 5632, 1365, 0, 0, 0}, {10, 822, 4176, 5376, 0, 0, 0}, {831, 14135, 1088, 0, 0, 0, 0}, {2056, 816, 1088, 0, 0, 0, 0}, {10, 819, 1365, 4096, 0, 0, 0}, {10, 4144, 4864, 1360, 0, 0, 0}, {1100, 819, 17476, 0, 0, 0, 0}, {828, 16384, 0, 0, 0, 0, 0}, {34, 514, 277, 0, 0, 0, 0}, {278, 4420, 5140, 0, 0, 0, 0}, {831, 28672, 0, 0, 0, 0, 0}, {960, 3840, 13056, 16448, 0, 0, 0}, {10, 34, 512, 321, 1285, 4369, 0}, {10, 34, 512, 322, 1280, 4352, 0}, {963, 3855, 13107, 17219, 0, 0, 0}, {1792, 1092, 0, 0, 0, 0, 0}, {10, 869, 1285, 4112, 0, 0, 0}, {10, 4128, 4934, 1280, 0, 0, 0}, {1096, 839, 17408, 0, 0, 0, 0}, {1096, 1792, 17408, 0, 0, 0, 0}, {10, 4208, 4883, 1285, 0, 0, 0}, {10, 4896, 4160, 1280, 0, 0, 0}, {1807, 13107, 1092, 0, 0, 0, 0}, {972, 3840, 12288, 17228, 0, 0, 0}, {10, 34, 512, 327, 1285, 4114, 0}, {10, 34, 512, 324, 1280, 4096, 0}, {975, 3855, 12336, 16448, 0, 0, 0}, {4864, 4176, 0, 0, 0, 0, 0}, {857, 34, 1028, 4369, 0, 0, 0}, {1032, 34, 1874, 4352, 0, 0, 0}, {4192, 851, 20480, 0, 0, 0, 0}, {860, 884, 1028, 4112, 0, 0, 0}, {5632, 5461, 0, 0, 0, 0, 0}, {5482, 854, 21760, 0, 0, 0, 0}, {4104, 4128, 4951, 5120, 0, 0, 0}, {1032, 1056, 5888, 5200, 0, 0, 0}, {857, 5734, 21845, 0, 0, 0, 0}, {858, 13056, 5376, 0, 0, 0, 0}, {40, 4883, 4160, 1028, 0, 0, 0}, {860, 4144, 20560, 0, 0, 0, 0}, {1032, 34, 4608, 4437, 0, 0, 0}, {34, 4626, 4420, 1028, 0, 0, 0}, {863, 4096, 0, 0, 0, 0, 0}, {4192, 4864, 20480, 0, 0, 0, 0}, {1100, 34, 1799, 4369, 0, 0, 0}, {1800, 34, 1088, 4352, 0, 0, 0}, {3855, 4915, 4176, 0, 0, 0, 0}, {4104, 4128, 5888, 5188, 0, 0, 0}, {5722, 869, 21845, 0, 0, 0, 0}, {870, 5376, 0, 0, 0, 0, 0}, {40, 1799, 1088, 4112, 0, 0, 0}, {4872, 4896, 4160, 5120, 0, 0, 0}, {5692, 13107, 5461, 0, 0, 0, 0}, {5482, 5632, 21760, 0, 0, 0, 0}, {4184, 4208, 4883, 5140, 0, 0, 0}, {876, 4096, 0, 0, 0, 0, 0}, {34, 4626, 4437, 5397, 0, 0, 0}, {5384, 34, 4608, 4420, 0, 0, 0}, {4959, 4144, 20560, 0, 0, 0, 0}, {1008, 3072, 13056, 17264, 0, 0, 0}, {10, 34, 512, 339, 1030, 4369, 0}, {10, 34, 512, 336, 1024, 4352, 0}, {1011, 3084, 13107, 16448, 0, 0, 0}, {1036, 884, 17476, 0, 0, 0, 0}, {10, 4128, 1536, 1365, 0, 0, 0}, {10, 1542, 1360, 4112, 0, 0, 0}, {887, 1024, 0, 0, 0, 0, 0}, {888, 13056, 1024, 0, 0, 0, 0}, {10, 4883, 4160, 5397, 0, 0, 0}, {10, 5408, 1536, 1360, 0, 0, 0}, {1036, 1911, 17476, 0, 0, 0, 0}, {1020, 3084, 12336, 16448, 0, 0, 0}, {10, 34, 512, 341, 1024, 4096, 0}, {10, 34, 512, 342, 1030, 4114, 0}, {1023, 3072, 12288, 17279, 0, 0, 0}, {16512, 768, 0, 0, 0, 0, 0}, {259, 1285, 4369, 0, 0, 0, 0}, {10, 34, 256, 0, 0, 0, 0}, {771, 16448, 0, 0, 0, 0, 0}, {1036, 1792, 17476, 0, 0, 0, 0}, {10, 4208, 773, 1285, 0, 0, 0}, {10, 774, 4160, 1280, 0, 0, 0}, {783, 13175, 1024, 0, 0, 0, 0}, {136, 768, 1024, 0, 0, 0, 0}, {10, 771, 1285, 4112, 0, 0, 0}, {10, 4128, 768, 1280, 0, 0, 0}, {1036, 771, 17476, 0, 0, 0, 0}, {780, 16448, 0, 0, 0, 0, 0}, {34, 512, 261, 0, 0, 0, 0}, {262, 4420, 1280, 0, 0, 0, 0}, {783, 28784, 0, 0, 0, 0, 0}, {4144, 4864, 20560, 0, 0, 0, 0}, {1100, 34, 785, 4369, 0, 0, 0}, {34, 786, 1088, 4352, 0, 0, 0}, {3935, 819, 4096, 0, 0, 0, 0}, {4184, 4208, 788, 5140, 0, 0, 0}, {5439, 5632, 21845, 0, 0, 0, 0}, {828, 13158, 5376, 0, 0, 0, 0}, {40, 791, 4160, 5120, 0, 0, 0}, {792, 816, 1088, 4112, 0, 0, 0}, {6656, 819, 5461, 0, 0, 0, 0}, {5722, 816, 21760, 0, 0, 0, 0}, {4104, 4128, 4883, 5188, 0, 0, 0}, {828, 8192, 4176, 0, 0, 0, 0}, {797, 34, 4437, 5397, 0, 0, 0}, {5384, 34, 5654, 4420, 0, 0, 0}, {4959, 4192, 20480, 0, 0, 0, 0}, {160, 768, 4096, 0, 0, 0, 0}, {34, 771, 1028, 4369, 0, 0, 0}, {1032, 34, 768, 4352, 0, 0, 0}, {4144, 771, 20560, 0, 0, 0, 0}, {780, 804, 4160, 1028, 0, 0, 0}, {783, 9728, 5461, 0, 0, 0, 0}, {780, 5734, 21760, 0, 0, 0, 0}, {1032, 1056, 1799, 5200, 0, 0, 0}, {4104, 4128, 768, 5120, 0, 0, 0}, {5439, 771, 21845, 0, 0, 0, 0}, {170, 768, 5376, 0, 0, 0, 0}, {40, 771, 1028, 4112, 0, 0, 0}, {780, 4192, 20480, 0, 0, 0, 0}, {1032, 34, 1799, 4437, 0, 0, 0}, {780, 34, 4420, 1028, 0, 0, 0}, {783, 8192, 4176, 0, 0, 0, 0}, {816, 16448, 0, 0, 0, 0, 0}, {10, 512, 273, 0, 0, 0, 0}, {274, 1360, 4352, 0, 0, 0, 0}, {19532, 819, 0, 0, 0, 0, 0}, {828, 14080, 1092, 0, 0, 0, 0}, {10, 821, 4160, 5397, 0, 0, 0}, {10, 5408, 5654, 1360, 0, 0, 0}, {1096, 1911, 17408, 0, 0, 0, 0}, {1096, 816, 17408, 0, 0, 0, 0}, {10, 4128, 4883, 1365, 0, 0, 0}, {10, 816, 1360, 4112, 0, 0, 0}, {2048, 819, 1092, 0, 0, 0, 0}, {828, 28784, 0, 0, 0, 0, 0}, {279, 4437, 5120, 0, 0, 0, 0}, {34, 512, 276, 0, 0, 0, 0}, {831, 16448, 0, 0, 0, 0, 0}, {960, 3840, 13056, 17152, 0, 0, 0}, {10, 34, 514, 323, 1285, 4369, 0}, {10, 34, 514, 320, 1280, 4352, 0}, {963, 3855, 13107, 16384, 0, 0, 0}, {1100, 836, 17476, 0, 0, 0, 0}, {10, 4144, 4949, 1285, 0, 0, 0}, {10, 870, 1280, 4096, 0, 0, 0}, {1799, 1088, 0, 0, 0, 0, 0}, {1800, 13056, 1088, 0, 0, 0, 0}, {10, 4915, 4176, 1285, 0, 0, 0}, {10, 4192, 4864, 1280, 0, 0, 0}, {1100, 1799, 17476, 0, 0, 0, 0}, {972, 3840, 12288, 16384, 0, 0, 0}, {10, 34, 514, 325, 1285, 4112, 0}, {10, 34, 514, 326, 1280, 4098, 0}, {975, 3855, 12336, 17167, 0, 0, 0}, {4208, 848, 20560, 0, 0, 0, 0}, {1036, 34, 1877, 4369, 0, 0, 0}, {858, 34, 1024, 4352, 0, 0, 0}, {4883, 4160, 0, 0, 0, 0, 0}, {4120, 4144, 4932, 5140, 0, 0, 0}, {5503, 853, 21845, 0, 0, 0, 0}, {5654, 5440, 0, 0, 0, 0, 0}, {863, 887, 1024, 4096, 0, 0, 0}, {40, 4864, 4176, 1024, 0, 0, 0}, {857, 13107, 5397, 0, 0, 0, 0}, {858, 5744, 21760, 0, 0, 0, 0}, {1036, 1060, 5911, 5188, 0, 0, 0}, {860, 4112, 0, 0, 0, 0, 0}, {34, 4608, 4437, 1024, 0, 0, 0}, {1036, 34, 4626, 4420, 0, 0, 0}, {863, 4128, 20480, 0, 0, 0, 0}, {3840, 4896, 4160, 0, 0, 0, 0}, {1807, 34, 1092, 4369, 0, 0, 0}, {1096, 34, 1792, 4352, 0, 0, 0}, {4208, 4883, 20560, 0, 0, 0, 0}, {40, 1792, 1092, 4096, 0, 0, 0}, {869, 5397, 0, 0, 0, 0, 0}, {5708, 870, 21760, 0, 0, 0, 0}, {4120, 4144, 5911, 5200, 0, 0, 0}, {4168, 4192, 4864, 5120, 0, 0, 0}, {5503, 5654, 21845, 0, 0, 0, 0}, {5674, 13056, 5440, 0, 0, 0, 0}, {4891, 4915, 4176, 5140, 0, 0, 0}, {4940, 4128, 20480, 0, 0, 0, 0}, {5405, 34, 4626, 4437, 0, 0, 0}, {34, 4608, 4420, 5376, 0, 0, 0}, {879, 4112, 0, 0, 0, 0, 0}, {1008, 3072, 13056, 16384, 0, 0, 0}, {10, 34, 514, 337, 1028, 4369, 0}, {10, 34, 514, 338, 1026, 4352, 0}, {1011, 3084, 13107, 17203, 0, 0, 0}, {884, 1028, 0, 0, 0, 0, 0}, {10, 1536, 1365, 4096, 0, 0, 0}, {10, 4144, 1542, 1360, 0, 0, 0}, {1032, 887, 17408, 0, 0, 0, 0}, {1032, 1904, 17408, 0, 0, 0, 0}, {10, 5429, 1542, 1365, 0, 0, 0}, {10, 4864, 4176, 5376, 0, 0, 0}, {891, 13107, 1028, 0, 0, 0, 0}, {1020, 3084, 12336, 17212, 0, 0, 0}, {10, 34, 514, 343, 1026, 4098, 0}, {10, 34, 514, 340, 1028, 4112, 0}, {1023, 3072, 12288, 16384, 0, 0, 0}, {3072, 17408, 0, 0, 0, 0, 0}, {32, 5, 257, 0, 0, 0, 0}, {10, 32, 514, 1026, 0, 0, 0}, {15, 771, 17459, 0, 0, 0, 0}, {128, 1028, 0, 0, 0, 0, 0}, {768, 5, 4352, 0, 0, 0, 0}, {10, 1542, 17510, 0, 0, 0, 0}, {15, 112, 768, 1031, 0, 0, 0}, {1032, 16384, 0, 0, 0, 0, 0}, {4403, 771, 5, 0, 0, 0, 0}, {10, 1536, 17408, 0, 0, 0, 0}, {15, 112, 771, 1028, 0, 0, 0}, {17612, 3084, 0, 0, 0, 0, 0}, {258, 5, 4096, 0, 0, 0, 0}, {10, 32, 514, 1028, 0, 0, 0}, {15, 768, 17408, 0, 0, 0, 0}, {32, 80, 1040, 4112, 0, 0, 0}, {3123, 85, 4369, 0, 0, 0, 0}, {90, 4626, 17442, 0, 0, 0, 0}, {95, 32, 4883, 1043, 0, 0, 0}, {12288, 80, 5140, 0, 0, 0, 0}, {42, 85, 1045, 4352, 0, 0, 0}, {90, 112, 4608, 1046, 0, 0, 0}, {95, 5911, 17527, 0, 0, 0, 0}, {5160, 12336, 80, 0, 0, 0, 0}, {4377, 4403, 85, 5376, 0, 0, 0}, {1050, 1072, 5632, 1088, 0, 0, 0}, {95, 6007, 17476, 0, 0, 0, 0}, {1052, 32, 80, 4096, 0, 0, 0}, {7453, 4386, 85, 0, 0, 0, 0}, {90, 4642, 17476, 0, 0, 0, 0}, {1055, 32, 4864, 1088, 0, 0, 0}, {32, 1024, 0, 0, 0, 0, 0}, {15, 771, 85, 4369, 0, 0, 0}, {170, 3072, 8738, 17442, 0, 0, 0}, {15, 32, 771, 80, 1027, 4112, 0}, {160, 3084, 9252, 17476, 0, 0, 0}, {15, 37, 768, 85, 1024, 4352, 0}, {1036, 1062, 16448, 0, 0, 0, 0}, {15, 5159, 768, 80, 0, 0, 0}, {160, 3072, 9256, 17448, 0, 0, 0}, {15, 37, 771, 85, 1027, 4374, 0}, {42, 8704, 1024, 0, 0, 0, 0}, {15, 771, 80, 5140, 0, 0, 0}, {1036, 32, 16448, 0, 0, 0, 0}, {15, 4386, 768, 85, 0, 0, 0}, {170, 3084, 8738, 17476, 0, 0, 0}, {15, 32, 768, 80, 1024, 4096, 0}, {240, 3120, 12336, 17408, 0, 0, 0}, {10, 32, 514, 85, 1041, 4369, 0}, {10, 32, 514, 80, 1042, 4112, 0}, {255, 3123, 13107, 17459, 0, 0, 0}, {2056, 1076, 1092, 0, 0, 0, 0}, {10, 1589, 85, 4352, 0, 0, 0}, {10, 5174, 4608, 80, 0, 0, 0}, {1096, 1079, 16448, 0, 0, 0, 0}, {1096, 112, 16448, 0, 0, 0, 0}, {10, 4403, 5888, 85, 0, 0, 0}, {10, 4656, 80, 5120, 0, 0, 0}, {1083, 13107, 1092, 0, 0, 0, 0}, {240, 3132, 12288, 17468, 0, 0, 0}, {10, 32, 514, 85, 1047, 4354, 0}, {10, 32, 514, 80, 1044, 4096, 0}, {255, 3135, 13056, 17408, 0, 0, 0}, {2048, 1088, 0, 0, 0, 0, 0}, {819, 5, 4369, 0, 0, 0, 0}, {10, 1632, 16962, 0, 0, 0, 0}, {15, 1075, 1792, 1091, 0, 0, 0}, {3276, 17476, 0, 0, 0, 0, 0}, {512, 5, 272, 0, 0, 0, 0}, {10, 32, 512, 1094, 0, 0, 0}, {15, 816, 18247, 0, 0, 0, 0}, {17544, 18504, 0, 0, 0, 0, 0}, {275, 5, 4096, 0, 0, 0, 0}, {10, 32, 512, 1088, 0, 0, 0}, {15, 819, 17476, 0, 0, 0, 0}, {1100, 16384, 0, 0, 0, 0, 0}, {4386, 4626, 5, 0, 0, 0, 0}, {10, 1638, 17476, 0, 0, 0, 0}, {15, 1072, 1792, 1088, 0, 0, 0}, {12288, 80, 5120, 0, 0, 0, 0}, {42, 85, 1028, 4369, 0, 0, 0}, {1032, 1058, 5632, 1106, 0, 0, 0}, {95, 5984, 21331, 0, 0, 0, 0}, {32, 80, 1028, 4112, 0, 0, 0}, {3072, 85, 4352, 0, 0, 0, 0}, {90, 4656, 22102, 0, 0, 0, 0}, {1032, 32, 4864, 1111, 0, 0, 0}, {1032, 32, 80, 4096, 0, 0, 0}, {3084, 4403, 85, 0, 0, 0, 0}, {90, 4608, 17408, 0, 0, 0, 0}, {95, 32, 4883, 1028, 0, 0, 0}, {5180, 12336, 80, 0, 0, 0, 0}, {4360, 4386, 85, 5376, 0, 0, 0}, {90, 112, 4626, 1028, 0, 0, 0}, {95, 5888, 17408, 0, 0, 0, 0}, {160, 3168, 9312, 17408, 0, 0, 0}, {15, 37, 790, 85, 1041, 4369, 0}, {1096, 1122, 16448, 0, 0, 0, 0}, {15, 5171, 5888, 80, 0, 0, 0}, {2056, 32, 1092, 0, 0, 0, 0}, {15, 816, 85, 4352, 0, 0, 0}, {170, 3174, 8704, 17510, 0, 0, 0}, {15, 32, 784, 80, 1047, 4112, 0}, {1096, 32, 16448, 0, 0, 0, 0}, {15, 4403, 4608, 85, 0, 0, 0}, {170, 3178, 8704, 17408, 0, 0, 0}, {15, 32, 787, 80, 1044, 4096, 0}, {160, 3180, 9324, 17516, 0, 0, 0}, {15, 37, 789, 85, 1042, 4359, 0}, {42, 8738, 1092, 0, 0, 0, 0}, {15, 816, 80, 5120, 0, 0, 0}, {112, 1024, 0, 0, 0, 0, 0}, {10, 1542, 85, 4369, 0, 0, 0}, {10, 5154, 1536, 80, 0, 0, 0}, {1036, 1139, 16448, 0, 0, 0, 0}, {240, 3084, 12336, 17476, 0, 0, 0}, {10, 32, 512, 85, 1024, 4352, 0}, {10, 32, 512, 80, 1030, 4112, 0}, {255, 3072, 13056, 17527, 0, 0, 0}, {240, 3072, 12288, 17528, 0, 0, 0}, {10, 32, 512, 85, 1030, 4371, 0}, {10, 32, 512, 80, 1024, 4096, 0}, {255, 3084, 13107, 17476, 0, 0, 0}, {1036, 112, 16448, 0, 0, 0, 0}, {10, 4386, 1536, 85, 0, 0, 0}, {10, 4626, 80, 5140, 0, 0, 0}, {127, 13056, 1024, 0, 0, 0, 0}, {128, 1024, 0, 0, 0, 0, 0}, {771, 5, 4369, 0, 0, 0, 0}, {10, 1536, 17442, 0, 0, 0, 0}, {15, 112, 771, 1027, 0, 0, 0}, {3084, 17476, 0, 0, 0, 0, 0}, {32, 5, 256, 0, 0, 0, 0}, {10, 32, 512, 1030, 0, 0, 0}, {15, 768, 17527, 0, 0, 0, 0}, {17544, 3072, 0, 0, 0, 0, 0}, {259, 5, 4112, 0, 0, 0, 0}, {10, 32, 512, 1024, 0, 0, 0}, {15, 771, 17476, 0, 0, 0, 0}, {1036, 16448, 0, 0, 0, 0, 0}, {4386, 768, 5, 0, 0, 0, 0}, {10, 1542, 17476, 0, 0, 0, 0}, {15, 112, 768, 1024, 0, 0, 0}, {12336, 80, 5120, 0, 0, 0, 0}, {42, 85, 1041, 4369, 0, 0, 0}, {90, 112, 4626, 1042, 0, 0, 0}, {95, 5888, 17459, 0, 0, 0, 0}, {32, 80, 1044, 4096, 0, 0, 0}, {3135, 85, 4352, 0, 0, 0, 0}, {90, 4608, 17510, 0, 0, 0, 0}, {95, 32, 4864, 1047, 0, 0, 0}, {1048, 32, 80, 4112, 0, 0, 0}, {7424, 4403, 85, 0, 0, 0, 0}, {90, 4656, 17408, 0, 0, 0, 0}, {1051, 32, 4883, 1092, 0, 0, 0}, {5180, 12288, 80, 0, 0, 0, 0}, {4360, 4386, 85, 5397, 0, 0, 0}, {1054, 1076, 5654, 1092, 0, 0, 0}, {95, 5984, 17408, 0, 0, 0, 0}, {160, 3072, 9216, 17408, 0, 0, 0}, {15, 37, 771, 85, 1028, 4369, 0}, {1032, 1058, 16384, 0, 0, 0, 0}, {15, 5171, 771, 80, 0, 0, 0}, {32, 1028, 0, 0, 0, 0, 0}, {15, 768, 85, 4352, 0, 0, 0}, {170, 3084, 8704, 17510, 0, 0, 0}, {15, 32, 768, 80, 1031, 4096, 0}, {1032, 32, 16384, 0, 0, 0, 0}, {15, 4403, 771, 85, 0, 0, 0}, {170, 3072, 8704, 17408, 0, 0, 0}, {15, 32, 771, 80, 1028, 4112, 0}, {160, 3084, 9228, 17516, 0, 0, 0}, {15, 37, 768, 85, 1031, 4359, 0}, {42, 8738, 1028, 0, 0, 0, 0}, {15, 768, 80, 5120, 0, 0, 0}, {2048, 1072, 1088, 0, 0, 0, 0}, {10, 1587, 85, 4369, 0, 0, 0}, {10, 5154, 4626, 80, 0, 0, 0}, {1100, 1075, 16384, 0, 0, 0, 0}, {240, 3132, 12288, 17476, 0, 0, 0}, {10, 32, 512, 85, 1045, 4352, 0}, {10, 32, 512, 80, 1046, 4096, 0}, {255, 3135, 13056, 17527, 0, 0, 0}, {240, 3120, 12336, 17528, 0, 0, 0}, {10, 32, 512, 85, 1043, 4371, 0}, {10, 32, 512, 80, 1040, 4112, 0}, {255, 3123, 13107, 17476, 0, 0, 0}, {1100, 112, 16384, 0, 0, 0, 0}, {10, 4386, 5911, 85, 0, 0, 0}, {10, 4642, 80, 5140, 0, 0, 0}, {1087, 13056, 1088, 0, 0, 0, 0}, {3264, 17408, 0, 0, 0, 0, 0}, {514, 5, 273, 0, 0, 0, 0}, {10, 32, 514, 1090, 0, 0, 0}, {15, 819, 18176, 0, 0, 0, 0}, {2056, 1092, 0, 0, 0, 0, 0}, {816, 5, 4352, 0, 0, 0, 0}, {10, 1638, 16896, 0, 0, 0, 0}, {15, 1079, 1799, 1095, 0, 0, 0}, {1096, 16448, 0, 0, 0, 0, 0}, {4403, 4608, 5, 0, 0, 0, 0}, {10, 1632, 17408, 0, 0, 0, 0}, {15, 1076, 1799, 1092, 0, 0, 0}, {17612, 18432, 0, 0, 0, 0, 0}, {274, 5, 4112, 0, 0, 0, 0}, {10, 32, 514, 1092, 0, 0, 0}, {15, 816, 17408, 0, 0, 0, 0}, {32, 80, 1024, 4096, 0, 0, 0}, {3084, 85, 4369, 0, 0, 0, 0}, {90, 4642, 22016, 0, 0, 0, 0}, {1036, 32, 4883, 1107, 0, 0, 0}, {12336, 80, 5140, 0, 0, 0, 0}, {42, 85, 1024, 4352, 0, 0, 0}, {1036, 1062, 5654, 1110, 0, 0, 0}, {95, 6007, 21248, 0, 0, 0, 0}, {5160, 12288, 80, 0, 0, 0, 0}, {4377, 4403, 85, 5397, 0, 0, 0}, {90, 112, 4608, 1024, 0, 0, 0}, {95, 5911, 17476, 0, 0, 0, 0}, {1036, 32, 80, 4112, 0, 0, 0}, {3072, 4386, 85, 0, 0, 0, 0}, {90, 4626, 17476, 0, 0, 0, 0}, {95, 32, 4864, 1024, 0, 0, 0}, {2048, 32, 1088, 0, 0, 0, 0}, {15, 819, 85, 4369, 0, 0, 0}, {170, 3178, 8738, 17442, 0, 0, 0}, {15, 32, 787, 80, 1043, 4096, 0}, {160, 3180, 9284, 17476, 0, 0, 0}, {15, 37, 789, 85, 1045, 4352, 0}, {1100, 1126, 16384, 0, 0, 0, 0}, {15, 5159, 5911, 80, 0, 0, 0}, {160, 3168, 9288, 17448, 0, 0, 0}, {15, 37, 790, 85, 1046, 4374, 0}, {42, 8704, 1088, 0, 0, 0, 0}, {15, 819, 80, 5140, 0, 0, 0}, {1100, 32, 16384, 0, 0, 0, 0}, {15, 4386, 4626, 85, 0, 0, 0}, {170, 3174, 8738, 17476, 0, 0, 0}, {15, 32, 784, 80, 1040, 4112, 0}, {240, 3072, 12288, 17408, 0, 0, 0}, {10, 32, 514, 85, 1028, 4369, 0}, {10, 32, 514, 80, 1026, 4096, 0}, {255, 3084, 13107, 17459, 0, 0, 0}, {112, 1028, 0, 0, 0, 0, 0}, {10, 1536, 85, 4352, 0, 0, 0}, {10, 5174, 1542, 80, 0, 0, 0}, {1032, 1143, 16384, 0, 0, 0, 0}, {1032, 112, 16384, 0, 0, 0, 0}, {10, 4403, 1542, 85, 0, 0, 0}, {10, 4608, 80, 5120, 0, 0, 0}, {127, 13107, 1028, 0, 0, 0, 0}, {240, 3084, 12336, 17468, 0, 0, 0}, {10, 32, 514, 85, 1026, 4354, 0}, {10, 32, 514, 80, 1028, 4112, 0}, {255, 3072, 13056, 17408, 0, 0, 0}, {8192, 1280, 0, 0, 0, 0, 0}, {12, 68, 257, 0, 0, 0, 0}, {1290, 514, 21794, 0, 0, 0, 0}, {12, 4144, 771, 1283, 0, 0, 0}, {768, 260, 4352, 0, 0, 0, 0}, {8352, 1285, 0, 0, 0, 0, 0}, {12, 4192, 768, 1286, 0, 0, 0}, {1295, 1799, 21879, 0, 0, 0, 0}, {520, 8704, 1280, 0, 0, 0, 0}, {12, 771, 4176, 1285, 0, 0, 0}, {1290, 28672, 0, 0, 0, 0, 0}, {263, 68, 1028, 0, 0, 0, 0}, {12, 768, 1280, 4096, 0, 0, 0}, {136, 514, 1285, 0, 0, 0, 0}, {258, 68, 1028, 0, 0, 0, 0}, {1295, 8192, 0, 0, 0, 0, 0}, {3888, 1360, 4112, 0, 0, 0, 0}, {546, 68, 1297, 4369, 0, 0, 0}, {72, 4144, 4626, 1298, 0, 0, 0}, {1375, 4883, 21811, 0, 0, 0, 0}, {552, 68, 1300, 4352, 0, 0, 0}, {12288, 4160, 5397, 0, 0, 0, 0}, {1370, 5654, 21862, 0, 0, 0, 0}, {72, 4192, 4608, 1303, 0, 0, 0}, {4120, 4656, 4176, 5376, 0, 0, 0}, {5674, 13107, 1365, 0, 0, 0, 0}, {1370, 4208, 16448, 0, 0, 0, 0}, {1307, 4403, 5632, 68, 0, 0, 0}, {7196, 4896, 1360, 0, 0, 0, 0}, {1309, 546, 1365, 4096, 0, 0, 0}, {1310, 4386, 4864, 68, 0, 0, 0}, {1375, 4128, 16448, 0, 0, 0, 0}, {1440, 3840, 8224, 21760, 0, 0, 0}, {12, 289, 771, 68, 1024, 4369, 0}, {1314, 1792, 20480, 0, 0, 0, 0}, {12, 1379, 771, 4112, 0, 0, 0}, {12, 292, 768, 68, 1024, 4352, 0}, {1445, 3855, 9509, 21845, 0, 0, 0}, {12, 5414, 768, 4160, 0, 0, 0}, {1807, 1319, 20560, 0, 0, 0, 0}, {1320, 1792, 21760, 0, 0, 0, 0}, {12, 4208, 771, 5397, 0, 0, 0}, {1450, 3840, 9514, 20480, 0, 0, 0}, {12, 295, 771, 68, 1024, 4116, 0}, {12, 4128, 768, 5440, 0, 0, 0}, {1807, 546, 21845, 0, 0, 0, 0}, {12, 290, 768, 68, 1024, 4096, 0}, {1455, 3855, 8224, 20560, 0, 0, 0}, {4144, 5376, 0, 0, 0, 0, 0}, {1337, 514, 68, 4369, 0, 0, 0}, {72, 1394, 514, 4112, 0, 0, 0}, {1331, 5632, 20480, 0, 0, 0, 0}, {520, 1844, 68, 4352, 0, 0, 0}, {2570, 1333, 5461, 0, 0, 0, 0}, {5722, 1334, 20560, 0, 0, 0, 0}, {4104, 5431, 4608, 4160, 0, 0, 0}, {5384, 1328, 5888, 5440, 0, 0, 0}, {4959, 5734, 21845, 0, 0, 0, 0}, {1338, 12336, 4176, 0, 0, 0, 0}, {520, 4403, 68, 5120, 0, 0, 0}, {1340, 4864, 21760, 0, 0, 0, 0}, {72, 4128, 514, 5397, 0, 0, 0}, {4386, 514, 68, 5140, 0, 0, 0}, {1343, 4096, 0, 0, 0, 0, 0}, {12288, 4160, 1280, 0, 0, 0, 0}, {522, 68, 1285, 4369, 0, 0, 0}, {1290, 5410, 1792, 1346, 0, 0, 0}, {1295, 5744, 17219, 0, 0, 0, 0}, {512, 68, 1280, 4352, 0, 0, 0}, {192, 1285, 4112, 0, 0, 0, 0}, {1290, 4896, 17990, 0, 0, 0, 0}, {1295, 4144, 512, 1351, 0, 0, 0}, {72, 512, 1280, 4096, 0, 0, 0}, {204, 4883, 1285, 0, 0, 0, 0}, {1290, 4128, 16448, 0, 0, 0, 0}, {1295, 4403, 512, 68, 0, 0, 0}, {4940, 13056, 1280, 0, 0, 0, 0}, {4120, 4626, 4176, 1285, 0, 0, 0}, {1290, 4386, 1792, 68, 0, 0, 0}, {1295, 4208, 16448, 0, 0, 0, 0}, {10752, 1360, 0, 0, 0, 0, 0}, {819, 277, 4369, 0, 0, 0, 0}, {1370, 1904, 21074, 0, 0, 0, 0}, {12, 5427, 5632, 1363, 0, 0, 0}, {12, 1028, 272, 0, 0, 0, 0}, {8192, 1365, 0, 0, 0, 0, 0}, {12, 4144, 4864, 1366, 0, 0, 0}, {1375, 544, 22359, 0, 0, 0, 0}, {2056, 544, 1360, 0, 0, 0, 0}, {12, 819, 1365, 4096, 0, 0, 0}, {1370, 8192, 0, 0, 0, 0, 0}, {275, 68, 1028, 0, 0, 0, 0}, {12, 816, 4176, 5376, 0, 0, 0}, {554, 8738, 1365, 0, 0, 0, 0}, {278, 68, 1028, 0, 0, 0, 0}, {1375, 28672, 0, 0, 0, 0, 0}, {4192, 5376, 0, 0, 0, 0, 0}, {1325, 1799, 68, 4369, 0, 0, 0}, {4104, 1314, 5888, 4160, 0, 0, 0}, {4959, 1379, 20560, 0, 0, 0, 0}, {1800, 544, 68, 4352, 0, 0, 0}, {3855, 4144, 5461, 0, 0, 0, 0}, {1382, 4864, 20480, 0, 0, 0, 0}, {72, 1319, 1799, 4112, 0, 0, 0}, {5384, 4128, 4608, 5440, 0, 0, 0}, {5722, 4915, 21845, 0, 0, 0, 0}, {1386, 4096, 0, 0, 0, 0, 0}, {4403, 4883, 68, 5140, 0, 0, 0}, {1388, 5632, 21760, 0, 0, 0, 0}, {72, 4208, 4626, 5397, 0, 0, 0}, {4872, 4386, 68, 5120, 0, 0, 0}, {5439, 12336, 4176, 0, 0, 0, 0}, {1520, 2560, 9584, 21760, 0, 0, 0}, {12, 309, 518, 68, 1024, 4369, 0}, {522, 1394, 20560, 0, 0, 0, 0}, {12, 1331, 1536, 4160, 0, 0, 0}, {12, 304, 512, 68, 1024, 4352, 0}, {1525, 2570, 8224, 21845, 0, 0, 0}, {12, 1334, 1542, 4112, 0, 0, 0}, {1399, 512, 20480, 0, 0, 0, 0}, {1400, 512, 21760, 0, 0, 0, 0}, {12, 4128, 4883, 5397, 0, 0, 0}, {1530, 2570, 8224, 20560, 0, 0, 0}, {12, 307, 512, 68, 1024, 4096, 0}, {12, 1328, 1536, 5440, 0, 0, 0}, {522, 1911, 21845, 0, 0, 0, 0}, {12, 310, 518, 68, 1024, 4116, 0}, {1535, 2560, 9599, 20480, 0, 0, 0}, {8320, 1280, 0, 0, 0, 0, 0}, {771, 261, 4369, 0, 0, 0, 0}, {1290, 1792, 21794, 0, 0, 0, 0}, {12, 4208, 771, 1283, 0, 0, 0}, {12, 68, 256, 0, 0, 0, 0}, {8224, 1285, 0, 0, 0, 0, 0}, {12, 4128, 768, 1286, 0, 0, 0}, {1295, 512, 21879, 0, 0, 0, 0}, {136, 512, 1280, 0, 0, 0, 0}, {12, 771, 1285, 4112, 0, 0, 0}, {1290, 8224, 0, 0, 0, 0, 0}, {259, 68, 1024, 0, 0, 0, 0}, {12, 768, 4160, 1280, 0, 0, 0}, {522, 8738, 1285, 0, 0, 0, 0}, {262, 68, 1024, 0, 0, 0, 0}, {1295, 28784, 0, 0, 0, 0, 0}, {12336, 4176, 5376, 0, 0, 0, 0}, {554, 68, 1297, 4369, 0, 0, 0}, {72, 4208, 4626, 1298, 0, 0, 0}, {1375, 5632, 21811, 0, 0, 0, 0}, {544, 68, 1300, 4352, 0, 0, 0}, {3903, 1365, 4096, 0, 0, 0, 0}, {1370, 4864, 21862, 0, 0, 0, 0}, {72, 4128, 4608, 1303, 0, 0, 0}, {1304, 544, 1360, 4112, 0, 0, 0}, {7168, 4915, 1365, 0, 0, 0, 0}, {1370, 4144, 16384, 0, 0, 0, 0}, {1307, 4403, 4883, 68, 0, 0, 0}, {5692, 13056, 1360, 0, 0, 0, 0}, {4104, 4642, 4160, 5397, 0, 0, 0}, {1310, 4386, 5654, 68, 0, 0, 0}, {1375, 4192, 16384, 0, 0, 0, 0}, {1440, 3840, 9472, 21760, 0, 0, 0}, {12, 293, 771, 68, 1028, 4369, 0}, {1800, 1314, 20480, 0, 0, 0, 0}, {12, 5427, 771, 4176, 0, 0, 0}, {12, 288, 768, 68, 1028, 4352, 0}, {1445, 3855, 8192, 21845, 0, 0, 0}, {12, 1382, 768, 4096, 0, 0, 0}, {1319, 1799, 20560, 0, 0, 0, 0}, {1800, 544, 21760, 0, 0, 0, 0}, {12, 4144, 771, 5461, 0, 0, 0}, {1450, 3840, 8192, 20480, 0, 0, 0}, {12, 291, 771, 68, 1028, 4112, 0}, {12, 4192, 768, 5376, 0, 0, 0}, {1325, 1799, 21845, 0, 0, 0, 0}, {12, 294, 768, 68, 1028, 4100, 0}, {1455, 3855, 9487, 20560, 0, 0, 0}, {2560, 1328, 5440, 0, 0, 0, 0}, {522, 1843, 68, 4369, 0, 0, 0}, {4120, 5410, 4626, 4176, 0, 0, 0}, {5708, 1331, 20480, 0, 0, 0, 0}, {1340, 512, 68, 4352, 0, 0, 0}, {4128, 5397, 0, 0, 0, 0, 0}, {1334, 5654, 20560, 0, 0, 0, 0}, {72, 1399, 512, 4096, 0, 0, 0}, {72, 4144, 512, 5376, 0, 0, 0}, {1337, 4883, 21845, 0, 0, 0, 0}, {1338, 4112, 0, 0, 0, 0, 0}, {4403, 512, 68, 5120, 0, 0, 0}, {4940, 5744, 21760, 0, 0, 0, 0}, {5405, 1333, 5911, 5461, 0, 0, 0}, {522, 4386, 68, 5140, 0, 0, 0}, {1343, 12288, 4160, 0, 0, 0, 0}, {192, 1280, 4096, 0, 0, 0, 0}, {514, 68, 1285, 4369, 0, 0, 0}, {1290, 4128, 514, 1346, 0, 0, 0}, {1295, 4915, 17920, 0, 0, 0, 0}, {520, 68, 1280, 4352, 0, 0, 0}, {12336, 4176, 1285, 0, 0, 0, 0}, {1290, 5734, 17152, 0, 0, 0, 0}, {1295, 5431, 1799, 1351, 0, 0, 0}, {4104, 4608, 4160, 1280, 0, 0, 0}, {4959, 13107, 1285, 0, 0, 0, 0}, {1290, 4192, 16384, 0, 0, 0, 0}, {1295, 4403, 1799, 68, 0, 0, 0}, {204, 4864, 1280, 0, 0, 0, 0}, {72, 514, 1285, 4112, 0, 0, 0}, {1290, 4386, 514, 68, 0, 0, 0}, {1295, 4144, 16384, 0, 0, 0, 0}, {8224, 1360, 0, 0, 0, 0, 0}, {12, 1024, 273, 0, 0, 0, 0}, {1370, 546, 22272, 0, 0, 0, 0}, {12, 4128, 4883, 1363, 0, 0, 0}, {816, 276, 4352, 0, 0, 0, 0}, {10794, 1365, 0, 0, 0, 0, 0}, {12, 5414, 5654, 1366, 0, 0, 0}, {1375, 1911, 20992, 0, 0, 0, 0}, {552, 8704, 1360, 0, 0, 0, 0}, {12, 819, 4160, 5397, 0, 0, 0}, {1370, 28784, 0, 0, 0, 0, 0}, {279, 68, 1024, 0, 0, 0, 0}, {12, 816, 1360, 4112, 0, 0, 0}, {2048, 546, 1365, 0, 0, 0, 0}, {274, 68, 1024, 0, 0, 0, 0}, {1375, 8224, 0, 0, 0, 0, 0}, {3840, 4128, 5440, 0, 0, 0, 0}, {1807, 546, 68, 4369, 0, 0, 0}, {72, 1314, 1792, 4096, 0, 0, 0}, {1379, 4883, 20560, 0, 0, 0, 0}, {1320, 1792, 68, 4352, 0, 0, 0}, {4208, 5397, 0, 0, 0, 0, 0}, {4940, 1382, 20480, 0, 0, 0, 0}, {4120, 1319, 5911, 4176, 0, 0, 0}, {72, 4192, 4608, 5376, 0, 0, 0}, {1385, 5654, 21845, 0, 0, 0, 0}, {5418, 12288, 4160, 0, 0, 0, 0}, {4891, 4403, 68, 5140, 0, 0, 0}, {5708, 4896, 21760, 0, 0, 0, 0}, {5405, 4144, 4626, 5461, 0, 0, 0}, {4386, 4864, 68, 5120, 0, 0, 0}, {1391, 4112, 0, 0, 0, 0, 0}, {1520, 2560, 8192, 21760, 0, 0, 0}, {12, 305, 514, 68, 1028, 4369, 0}, {1394, 514, 20560, 0, 0, 0, 0}, {12, 1331, 1536, 4096, 0, 0, 0}, {12, 308, 516, 68, 1028, 4352, 0}, {1525, 2570, 9557, 21845, 0, 0, 0}, {12, 1334, 1542, 4176, 0, 0, 0}, {520, 1399, 20480, 0, 0, 0, 0}, {520, 1904, 21760, 0, 0, 0, 0}, {12, 1333, 1542, 5461, 0, 0, 0}, {1530, 2570, 9562, 20560, 0, 0, 0}, {12, 311, 516, 68, 1028, 4100, 0}, {12, 4144, 4864, 5376, 0, 0, 0}, {1405, 514, 21845, 0, 0, 0, 0}, {12, 306, 514, 68, 1028, 4112, 0}, {1535, 2560, 8192, 20480, 0, 0, 0}, {1536, 16384, 0, 0, 0, 0, 0}, {15, 119, 257, 0, 0, 0, 0}, {1032, 514, 17408, 0, 0, 0, 0}, {15, 4144, 771, 1280, 0, 0, 0}, {520, 8704, 1028, 0, 0, 0, 0}, {15, 768, 4176, 1285, 0, 0, 0}, {16576, 1542, 0, 0, 0, 0, 0}, {263, 1280, 4352, 0, 0, 0, 0}, {1032, 1536, 17408, 0, 0, 0, 0}, {15, 4192, 771, 1285, 0, 0, 0}, {1546, 16384, 0, 0, 0, 0, 0}, {4403, 771, 260, 0, 0, 0, 0}, {1548, 8192, 0, 0, 0, 0, 0}, {258, 4437, 1285, 0, 0, 0, 0}, {136, 514, 1028, 0, 0, 0, 0}, {15, 768, 1280, 4096, 0, 0, 0}, {2640, 1632, 4112, 0, 0, 0, 0}, {1075, 1553, 1092, 4369, 0, 0, 0}, {4168, 4144, 4626, 5120, 0, 0, 0}, {5503, 4883, 21760, 0, 0, 0, 0}, {4136, 4608, 4176, 5140, 0, 0, 0}, {4991, 13056, 5397, 0, 0, 0, 0}, {4208, 5654, 20480, 0, 0, 0, 0}, {1096, 119, 1559, 4352, 0, 0, 0}, {4120, 1072, 5632, 5200, 0, 0, 0}, {4940, 1638, 21845, 0, 0, 0, 0}, {5674, 12336, 4160, 0, 0, 0, 0}, {4891, 4403, 4420, 5376, 0, 0, 0}, {5708, 4128, 20560, 0, 0, 0, 0}, {5405, 4386, 4864, 4437, 0, 0, 0}, {1566, 546, 1092, 4096, 0, 0, 0}, {7967, 4896, 5440, 0, 0, 0, 0}, {1696, 3072, 8224, 17952, 0, 0, 0}, {15, 289, 771, 342, 1027, 4369, 0}, {546, 1024, 0, 0, 0, 0, 0}, {15, 771, 1360, 4112, 0, 0, 0}, {1036, 1572, 17476, 0, 0, 0, 0}, {15, 5413, 768, 1365, 0, 0, 0}, {1702, 3084, 9766, 16448, 0, 0, 0}, {15, 295, 768, 336, 1024, 4352, 0}, {552, 8704, 1024, 0, 0, 0, 0}, {15, 771, 4160, 5397, 0, 0, 0}, {1706, 3072, 9770, 17962, 0, 0, 0}, {15, 292, 771, 339, 1027, 4119, 0}, {1708, 3084, 8224, 16448, 0, 0, 0}, {15, 290, 768, 341, 1024, 4096, 0}, {1036, 546, 17476, 0, 0, 0, 0}, {15, 4128, 768, 1360, 0, 0, 0}, {4144, 5632, 20480, 0, 0, 0, 0}, {1100, 119, 514, 4369, 0, 0, 0}, {1080, 514, 1088, 4112, 0, 0, 0}, {4915, 5376, 0, 0, 0, 0, 0}, {4104, 1076, 4608, 5188, 0, 0, 0}, {4959, 1589, 21845, 0, 0, 0, 0}, {2570, 1590, 4176, 0, 0, 0, 0}, {520, 1079, 1088, 4352, 0, 0, 0}, {520, 4656, 4160, 5120, 0, 0, 0}, {1593, 13107, 5461, 0, 0, 0, 0}, {5722, 4192, 20560, 0, 0, 0, 0}, {5384, 4403, 5888, 4420, 0, 0, 0}, {1596, 4096, 0, 0, 0, 0, 0}, {4386, 514, 4437, 5397, 0, 0, 0}, {4184, 4128, 514, 5140, 0, 0, 0}, {5439, 4864, 21760, 0, 0, 0, 0}, {1728, 2560, 9792, 16448, 0, 0, 0}, {15, 310, 517, 321, 1285, 4369, 0}, {1096, 1602, 17408, 0, 0, 0, 0}, {15, 4208, 4931, 1280, 0, 0, 0}, {512, 1092, 0, 0, 0, 0, 0}, {15, 816, 1285, 4112, 0, 0, 0}, {1734, 2570, 8224, 17990, 0, 0, 0}, {15, 304, 512, 327, 1280, 4352, 0}, {1096, 512, 17408, 0, 0, 0, 0}, {15, 4128, 4883, 1285, 0, 0, 0}, {1738, 2570, 8224, 16448, 0, 0, 0}, {15, 307, 512, 324, 1280, 4096, 0}, {1740, 2560, 9804, 17996, 0, 0, 0}, {15, 309, 517, 322, 1285, 4119, 0}, {522, 8738, 1092, 0, 0, 0, 0}, {15, 816, 4160, 1280, 0, 0, 0}, {5632, 4176, 0, 0, 0, 0, 0}, {605, 119, 1028, 4369, 0, 0, 0}, {4104, 4208, 594, 5120, 0, 0, 0}, {5439, 1619, 21760, 0, 0, 0, 0}, {600, 544, 1028, 4112, 0, 0, 0}, {4864, 5461, 0, 0, 0, 0, 0}, {4144, 1622, 20480, 0, 0, 0, 0}, {1032, 119, 599, 4352, 0, 0, 0}, {1032, 4128, 4608, 5200, 0, 0, 0}, {1625, 4915, 21845, 0, 0, 0, 0}, {1626, 4096, 0, 0, 0, 0, 0}, {4403, 4883, 4420, 1028, 0, 0, 0}, {1628, 4192, 20560, 0, 0, 0, 0}, {1032, 4386, 5888, 4437, 0, 0, 0}, {4152, 4626, 4160, 1028, 0, 0, 0}, {4959, 13056, 5376, 0, 0, 0, 0}, {19456, 1632, 0, 0, 0, 0, 0}, {278, 1365, 4369, 0, 0, 0, 0}, {554, 8738, 1088, 0, 0, 0, 0}, {15, 819, 4176, 5376, 0, 0, 0}, {1100, 544, 17476, 0, 0, 0, 0}, {15, 4144, 4864, 1365, 0, 0, 0}, {1638, 16384, 0, 0, 0, 0, 0}, {15, 1799, 272, 0, 0, 0, 0}, {2056, 544, 1088, 0, 0, 0, 0}, {15, 819, 1365, 4096, 0, 0, 0}, {1642, 8192, 0, 0, 0, 0, 0}, {275, 4420, 5140, 0, 0, 0, 0}, {1644, 16384, 0, 0, 0, 0, 0}, {4386, 4626, 277, 0, 0, 0, 0}, {1100, 1638, 17476, 0, 0, 0, 0}, {15, 5424, 5632, 1360, 0, 0, 0}, {4208, 1536, 20480, 0, 0, 0, 0}, {1036, 119, 1542, 4369, 0, 0, 0}, {522, 4642, 4176, 1024, 0, 0, 0}, {1548, 13107, 5440, 0, 0, 0, 0}, {1036, 4144, 512, 5188, 0, 0, 0}, {1546, 4896, 21845, 0, 0, 0, 0}, {240, 1542, 4112, 0, 0, 0, 0}, {119, 512, 1024, 4352, 0, 0, 0}, {120, 512, 1024, 4096, 0, 0, 0}, {255, 4883, 5397, 0, 0, 0, 0}, {1546, 4128, 20560, 0, 0, 0, 0}, {1036, 4403, 512, 4420, 0, 0, 0}, {1548, 12336, 4160, 0, 0, 0, 0}, {522, 4386, 4437, 1024, 0, 0, 0}, {4120, 4192, 4626, 5140, 0, 0, 0}, {5503, 1536, 21760, 0, 0, 0, 0}, {16512, 1536, 0, 0, 0, 0, 0}, {262, 1285, 4369, 0, 0, 0, 0}, {522, 8738, 1024, 0, 0, 0, 0}, {15, 771, 4160, 1280, 0, 0, 0}, {1036, 512, 17476, 0, 0, 0, 0}, {15, 4128, 768, 1285, 0, 0, 0}, {1542, 16448, 0, 0, 0, 0, 0}, {15, 119, 256, 0, 0, 0, 0}, {136, 512, 1024, 0, 0, 0, 0}, {15, 771, 1285, 4112, 0, 0, 0}, {1546, 8224, 0, 0, 0, 0, 0}, {259, 4420, 1280, 0, 0, 0, 0}, {1548, 16448, 0, 0, 0, 0, 0}, {4386, 768, 261, 0, 0, 0, 0}, {1036, 1542, 17476, 0, 0, 0, 0}, {15, 4208, 768, 1280, 0, 0, 0}, {4192, 5632, 20560, 0, 0, 0, 0}, {1100, 119, 1553, 4369, 0, 0, 0}, {4152, 4626, 4160, 5120, 0, 0, 0}, {4972, 13107, 5376, 0, 0, 0, 0}, {4184, 4128, 4608, 5140, 0, 0, 0}, {5482, 4864, 21845, 0, 0, 0, 0}, {2650, 1638, 4096, 0, 0, 0, 0}, {1079, 1559, 1088, 4352, 0, 0, 0}, {1560, 544, 1088, 4112, 0, 0, 0}, {7936, 4915, 5461, 0, 0, 0, 0}, {5722, 4144, 20480, 0, 0, 0, 0}, {5384, 4403, 4883, 4420, 0, 0, 0}, {5692, 12288, 4176, 0, 0, 0, 0}, {4872, 4386, 4437, 5397, 0, 0, 0}, {4104, 1076, 5654, 5188, 0, 0, 0}, {4959, 1632, 21760, 0, 0, 0, 0}, {1696, 3072, 9728, 16384, 0, 0, 0}, {15, 294, 771, 337, 1028, 4369, 0}, {1032, 1570, 17408, 0, 0, 0, 0}, {15, 5424, 771, 1360, 0, 0, 0}, {544, 1028, 0, 0, 0, 0, 0}, {15, 768, 1365, 4096, 0, 0, 0}, {1702, 3084, 8192, 18022, 0, 0, 0}, {15, 288, 768, 343, 1031, 4352, 0}, {1032, 544, 17408, 0, 0, 0, 0}, {15, 4144, 771, 1365, 0, 0, 0}, {1706, 3072, 8192, 16384, 0, 0, 0}, {15, 291, 771, 340, 1028, 4112, 0}, {1708, 3084, 9740, 18028, 0, 0, 0}, {15, 293, 768, 338, 1031, 4103, 0}, {554, 8738, 1028, 0, 0, 0, 0}, {15, 768, 4176, 5376, 0, 0, 0}, {2560, 1584, 4160, 0, 0, 0, 0}, {522, 1075, 1092, 4369, 0, 0, 0}, {4120, 1072, 4626, 5200, 0, 0, 0}, {4940, 1587, 21760, 0, 0, 0, 0}, {1084, 512, 1092, 4096, 0, 0, 0}, {4896, 5397, 0, 0, 0, 0, 0}, {4128, 5654, 20560, 0, 0, 0, 0}, {1096, 119, 512, 4352, 0, 0, 0}, {4168, 4144, 512, 5120, 0, 0, 0}, {5418, 4883, 21845, 0, 0, 0, 0}, {1594, 4112, 0, 0, 0, 0, 0}, {4403, 512, 4420, 5376, 0, 0, 0}, {5708, 4208, 20480, 0, 0, 0, 0}, {5405, 4386, 5911, 4437, 0, 0, 0}, {522, 4642, 4176, 5140, 0, 0, 0}, {1599, 13056, 5440, 0, 0, 0, 0}, {1728, 2560, 8192, 17920, 0, 0, 0}, {15, 305, 514, 326, 1285, 4369, 0}, {514, 1088, 0, 0, 0, 0, 0}, {15, 819, 1280, 4096, 0, 0, 0}, {1100, 1604, 17476, 0, 0, 0, 0}, {15, 4192, 4944, 1285, 0, 0, 0}, {1734, 2570, 9830, 16384, 0, 0, 0}, {15, 311, 519, 320, 1280, 4352, 0}, {520, 8704, 1088, 0, 0, 0, 0}, {15, 819, 4176, 1285, 0, 0, 0}, {1738, 2570, 9834, 17930, 0, 0, 0}, {15, 308, 519, 323, 1280, 4103, 0}, {1740, 2560, 8192, 16384, 0, 0, 0}, {15, 306, 514, 325, 1285, 4112, 0}, {1100, 514, 17476, 0, 0, 0, 0}, {15, 4144, 4864, 1280, 0, 0, 0}, {4128, 1616, 20560, 0, 0, 0, 0}, {1036, 119, 597, 4369, 0, 0, 0}, {602, 546, 1024, 4096, 0, 0, 0}, {4883, 5440, 0, 0, 0, 0, 0}, {4120, 4192, 592, 5140, 0, 0, 0}, {5418, 1621, 21845, 0, 0, 0, 0}, {5654, 4160, 0, 0, 0, 0, 0}, {607, 119, 1024, 4352, 0, 0, 0}, {4136, 4608, 4176, 1024, 0, 0, 0}, {4940, 13107, 5397, 0, 0, 0, 0}, {1626, 4208, 20480, 0, 0, 0, 0}, {1036, 4403, 5911, 4420, 0, 0, 0}, {1628, 4112, 0, 0, 0, 0, 0}, {4386, 4864, 4437, 1024, 0, 0, 0}, {1036, 4144, 4626, 5188, 0, 0, 0}, {1631, 4896, 21760, 0, 0, 0, 0}, {1632, 16448, 0, 0, 0, 0, 0}, {15, 1792, 273, 0, 0, 0, 0}, {1096, 546, 17408, 0, 0, 0, 0}, {15, 4128, 4883, 1360, 0, 0, 0}, {552, 8704, 1092, 0, 0, 0, 0}, {15, 816, 4160, 5397, 0, 0, 0}, {19532, 1638, 0, 0, 0, 0, 0}, {279, 1360, 4352, 0, 0, 0, 0}, {1096, 1632, 17408, 0, 0, 0, 0}, {15, 5413, 5654, 1365, 0, 0, 0}, {1642, 16448, 0, 0, 0, 0, 0}, {4403, 4608, 276, 0, 0, 0, 0}, {1644, 8224, 0, 0, 0, 0, 0}, {274, 4437, 5120, 0, 0, 0, 0}, {2048, 546, 1092, 0, 0, 0, 0}, {15, 816, 1360, 4112, 0, 0, 0}, {240, 1536, 4096, 0, 0, 0, 0}, {119, 514, 1028, 4369, 0, 0, 0}, {1032, 4128, 514, 5200, 0, 0, 0}, {1548, 4915, 21760, 0, 0, 0, 0}, {520, 4656, 4160, 1028, 0, 0, 0}, {1546, 13056, 5461, 0, 0, 0, 0}, {4192, 1542, 20560, 0, 0, 0, 0}, {1032, 119, 1536, 4352, 0, 0, 0}, {4104, 4208, 4608, 5120, 0, 0, 0}, {5482, 1542, 21845, 0, 0, 0, 0}, {1546, 12288, 4176, 0, 0, 0, 0}, {520, 4403, 4420, 1028, 0, 0, 0}, {1548, 4144, 20480, 0, 0, 0, 0}, {1032, 4386, 514, 4437, 0, 0, 0}, {120, 514, 1028, 4112, 0, 0, 0}, {255, 4864, 5376, 0, 0, 0, 0}, {3840, 30464, 0, 0, 0, 0, 0}, {6, 64, 257, 0, 0, 0, 0}, {10, 32, 514, 1280, 0, 0, 0}, {12, 771, 17408, 0, 0, 0, 0}, {12, 768, 64, 1028, 0, 0, 0}, {10, 8704, 1285, 0, 0, 0, 0}, {6, 1280, 4352, 0, 0, 0, 0}, {128, 1799, 0, 0, 0, 0, 0}, {1800, 28672, 0, 0, 0, 0, 0}, {6, 4437, 1285, 0, 0, 0, 0}, {10, 8704, 1280, 0, 0, 0, 0}, {12, 771, 64, 1028, 0, 0, 0}, {12, 768, 17408, 0, 0, 0, 0}, {10, 32, 514, 1285, 0, 0, 0}, {258, 260, 4096, 0, 0, 0, 0}, {30719, 3855, 0, 0, 0, 0, 0}, {32, 1808, 64, 4112, 0, 0, 0}, {3925, 102, 4369, 0, 0, 0, 0}, {106, 4626, 21760, 0, 0, 0, 0}, {76, 32, 4883, 5120, 0, 0, 0}, {108, 13056, 5140, 0, 0, 0, 0}, {42, 4608, 64, 5397, 0, 0, 0}, {76, 102, 1814, 4352, 0, 0, 0}, {96, 5911, 20480, 0, 0, 0, 0}, {5960, 96, 20560, 0, 0, 0, 0}, {4377, 4403, 5632, 4437, 0, 0, 0}, {4634, 4656, 64, 5376, 0, 0, 0}, {5160, 13107, 5188, 0, 0, 0, 0}, {5148, 32, 4864, 5200, 0, 0, 0}, {4680, 4642, 21845, 0, 0, 0, 0}, {7710, 4386, 4420, 0, 0, 0, 0}, {1823, 32, 64, 4096, 0, 0, 0}, {32, 1792, 20480, 0, 0, 0, 0}, {12, 102, 771, 4369, 0, 0, 0}, {170, 3840, 8738, 21760, 0, 0, 0}, {12, 32, 771, 64, 1024, 4112, 0}, {12, 5156, 768, 5188, 0, 0, 0}, {1807, 1829, 21845, 0, 0, 0, 0}, {12, 38, 768, 64, 1024, 4352, 0}, {160, 3855, 10023, 20560, 0, 0, 0}, {160, 3840, 10024, 20480, 0, 0, 0}, {12, 38, 771, 64, 1024, 4373, 0}, {42, 1792, 21760, 0, 0, 0, 0}, {12, 96, 771, 5140, 0, 0, 0}, {12, 32, 768, 64, 1024, 4096, 0}, {170, 3855, 8738, 21845, 0, 0, 0}, {12, 4386, 768, 4420, 0, 0, 0}, {1807, 32, 20560, 0, 0, 0, 0}, {192, 3888, 12336, 18224, 0, 0, 0}, {10, 32, 514, 70, 1299, 4369, 0}, {10, 32, 514, 64, 1296, 4112, 0}, {204, 3891, 13107, 17408, 0, 0, 0}, {76, 1844, 17476, 0, 0, 0, 0}, {10, 1333, 4608, 1365, 0, 0, 0}, {10, 1334, 1360, 4352, 0, 0, 0}, {2056, 1847, 64, 0, 0, 0, 0}, {1848, 12336, 64, 0, 0, 0, 0}, {10, 4403, 4437, 5120, 0, 0, 0}, {10, 1328, 5888, 1360, 0, 0, 0}, {76, 1911, 17476, 0, 0, 0, 0}, {204, 3900, 13056, 17408, 0, 0, 0}, {10, 32, 514, 64, 1301, 4096, 0}, {10, 32, 514, 70, 1302, 4354, 0}, {192, 3903, 12288, 18239, 0, 0, 0}, {1792, 64, 0, 0, 0, 0, 0}, {10, 102, 1285, 4369, 0, 0, 0}, {10, 96, 4674, 1280, 0, 0, 0}, {76, 1859, 17408, 0, 0, 0, 0}, {204, 3840, 13056, 17476, 0, 0, 0}, {10, 32, 512, 64, 1285, 4112, 0}, {10, 32, 512, 70, 1280, 4352, 0}, {192, 3855, 12336, 18247, 0, 0, 0}, {192, 3840, 12288, 18248, 0, 0, 0}, {10, 32, 512, 70, 1285, 4371, 0}, {10, 32, 512, 64, 1280, 4096, 0}, {204, 3855, 13107, 17476, 0, 0, 0}, {76, 1792, 17408, 0, 0, 0, 0}, {10, 96, 4626, 1285, 0, 0, 0}, {10, 4386, 4420, 1280, 0, 0, 0}, {1807, 12336, 64, 0, 0, 0, 0}, {160, 3920, 10064, 20560, 0, 0, 0}, {12, 38, 789, 64, 1028, 4369, 0}, {42, 1874, 21760, 0, 0, 0, 0}, {12, 96, 851, 5120, 0, 0, 0}, {12, 32, 784, 64, 1028, 4112, 0}, {170, 3925, 8704, 21845, 0, 0, 0}, {12, 102, 854, 4352, 0, 0, 0}, {32, 1879, 20480, 0, 0, 0, 0}, {1880, 32, 20560, 0, 0, 0, 0}, {12, 4403, 4608, 4437, 0, 0, 0}, {170, 3930, 8704, 21760, 0, 0, 0}, {12, 32, 787, 64, 1028, 4096, 0}, {12, 5168, 5888, 5200, 0, 0, 0}, {1885, 1911, 21845, 0, 0, 0, 0}, {12, 38, 790, 64, 1028, 4356, 0}, {160, 3935, 10079, 20480, 0, 0, 0}, {96, 5888, 20480, 0, 0, 0, 0}, {76, 102, 1799, 4369, 0, 0, 0}, {4616, 4642, 64, 5376, 0, 0, 0}, {5180, 13107, 5200, 0, 0, 0, 0}, {5128, 32, 4864, 5188, 0, 0, 0}, {4698, 4656, 21845, 0, 0, 0, 0}, {3840, 102, 4352, 0, 0, 0, 0}, {32, 1799, 64, 4112, 0, 0, 0}, {1800, 32, 64, 4096, 0, 0, 0}, {3855, 4403, 4437, 0, 0, 0, 0}, {106, 4608, 21760, 0, 0, 0, 0}, {76, 32, 4883, 5140, 0, 0, 0}, {108, 13056, 5120, 0, 0, 0, 0}, {42, 4626, 64, 5397, 0, 0, 0}, {4360, 4386, 5632, 4420, 0, 0, 0}, {5983, 96, 20560, 0, 0, 0, 0}, {2048, 1904, 0, 0, 0, 0, 0}, {6, 1365, 4369, 0, 0, 0, 0}, {10, 8738, 1360, 0, 0, 0, 0}, {12, 819, 64, 1024, 0, 0, 0}, {12, 816, 17476, 0, 0, 0, 0}, {10, 32, 512, 1365, 0, 0, 0}, {6, 1024, 272, 0, 0, 0, 0}, {4095, 30583, 0, 0, 0, 0, 0}, {30600, 30840, 0, 0, 0, 0, 0}, {275, 277, 4096, 0, 0, 0, 0}, {10, 32, 512, 1360, 0, 0, 0}, {12, 819, 17476, 0, 0, 0, 0}, {12, 816, 64, 1024, 0, 0, 0}, {10, 8738, 1365, 0, 0, 0, 0}, {6, 4420, 5140, 0, 0, 0, 0}, {1919, 28672, 0, 0, 0, 0, 0}, {128, 1792, 0, 0, 0, 0, 0}, {6, 1285, 4369, 0, 0, 0, 0}, {10, 8738, 1280, 0, 0, 0, 0}, {12, 771, 64, 1024, 0, 0, 0}, {12, 768, 17476, 0, 0, 0, 0}, {10, 32, 512, 1285, 0, 0, 0}, {6, 64, 256, 0, 0, 0, 0}, {3855, 30583, 0, 0, 0, 0, 0}, {30600, 3840, 0, 0, 0, 0, 0}, {259, 261, 4112, 0, 0, 0, 0}, {10, 32, 512, 1280, 0, 0, 0}, {12, 771, 17476, 0, 0, 0, 0}, {12, 768, 64, 1024, 0, 0, 0}, {10, 8738, 1285, 0, 0, 0, 0}, {6, 4420, 1280, 0, 0, 0, 0}, {1807, 28784, 0, 0, 0, 0, 0}, {96, 5888, 20560, 0, 0, 0, 0}, {76, 102, 1809, 4369, 0, 0, 0}, {42, 4626, 64, 5376, 0, 0, 0}, {108, 13107, 5120, 0, 0, 0, 0}, {76, 32, 4864, 5140, 0, 0, 0}, {106, 4608, 21845, 0, 0, 0, 0}, {3930, 102, 4352, 0, 0, 0, 0}, {32, 1815, 64, 4096, 0, 0, 0}, {1816, 32, 64, 4112, 0, 0, 0}, {7680, 4403, 4437, 0, 0, 0, 0}, {4698, 4656, 21760, 0, 0, 0, 0}, {5128, 32, 4883, 5188, 0, 0, 0}, {5180, 13056, 5200, 0, 0, 0, 0}, {4616, 4642, 64, 5397, 0, 0, 0}, {4360, 4386, 5654, 4420, 0, 0, 0}, {5983, 96, 20480, 0, 0, 0, 0}, {160, 3840, 9984, 20480, 0, 0, 0}, {12, 38, 771, 64, 1028, 4369, 0}, {1800, 1826, 21760, 0, 0, 0, 0}, {12, 5168, 771, 5200, 0, 0, 0}, {12, 32, 768, 64, 1028, 4096, 0}, {170, 3855, 8704, 21845, 0, 0, 0}, {12, 102, 768, 4352, 0, 0, 0}, {32, 1799, 20560, 0, 0, 0, 0}, {1800, 32, 20480, 0, 0, 0, 0}, {12, 4403, 771, 4437, 0, 0, 0}, {170, 3840, 8704, 21760, 0, 0, 0}, {12, 32, 771, 64, 1028, 4112, 0}, {12, 96, 768, 5120, 0, 0, 0}, {42, 1799, 21845, 0, 0, 0, 0}, {12, 38, 768, 64, 1028, 4356, 0}, {160, 3855, 9999, 20560, 0, 0, 0}, {2048, 1840, 64, 0, 0, 0, 0}, {10, 1331, 1365, 4369, 0, 0, 0}, {10, 1328, 4626, 1360, 0, 0, 0}, {76, 1843, 17408, 0, 0, 0, 0}, {204, 3900, 13056, 17476, 0, 0, 0}, {10, 32, 512, 64, 1301, 4096, 0}, {10, 32, 512, 70, 1302, 4352, 0}, {192, 3903, 12288, 18295, 0, 0, 0}, {192, 3888, 12336, 18296, 0, 0, 0}, {10, 32, 512, 70, 1299, 4371, 0}, {10, 32, 512, 64, 1296, 4112, 0}, {204, 3891, 13107, 17476, 0, 0, 0}, {76, 1904, 17408, 0, 0, 0, 0}, {10, 1333, 5911, 1365, 0, 0, 0}, {10, 4386, 4420, 5140, 0, 0, 0}, {1855, 12288, 64, 0, 0, 0, 0}, {192, 3840, 12288, 18176, 0, 0, 0}, {10, 32, 514, 70, 1285, 4369, 0}, {10, 32, 514, 64, 1280, 4096, 0}, {204, 3855, 13107, 17408, 0, 0, 0}, {76, 1860, 17476, 0, 0, 0, 0}, {10, 96, 4688, 1285, 0, 0, 0}, {10, 102, 1280, 4352, 0, 0, 0}, {1799, 64, 0, 0, 0, 0, 0}, {1800, 12288, 64, 0, 0, 0, 0}, {10, 4403, 4437, 1285, 0, 0, 0}, {10, 96, 4608, 1280, 0, 0, 0}, {76, 1799, 17476, 0, 0, 0, 0}, {204, 3840, 13056, 17408, 0, 0, 0}, {10, 32, 514, 64, 1285, 4112, 0}, {10, 32, 514, 70, 1280, 4354, 0}, {192, 3855, 12336, 18191, 0, 0, 0}, {32, 1872, 20560, 0, 0, 0, 0}, {12, 102, 853, 4369, 0, 0, 0}, {170, 3930, 8738, 21760, 0, 0, 0}, {12, 32, 787, 64, 1024, 4096, 0}, {12, 96, 848, 5140, 0, 0, 0}, {42, 1877, 21845, 0, 0, 0, 0}, {12, 38, 790, 64, 1024, 4352, 0}, {160, 3935, 10103, 20480, 0, 0, 0}, {160, 3920, 10104, 20560, 0, 0, 0}, {12, 38, 789, 64, 1024, 4373, 0}, {1882, 1904, 21760, 0, 0, 0, 0}, {12, 5156, 5911, 5188, 0, 0, 0}, {12, 32, 784, 64, 1024, 4112, 0}, {170, 3925, 8738, 21845, 0, 0, 0}, {12, 4386, 4626, 4420, 0, 0, 0}, {1887, 32, 20480, 0, 0, 0, 0}, {32, 1792, 64, 4096, 0, 0, 0}, {3855, 102, 4369, 0, 0, 0, 0}, {4680, 4642, 21760, 0, 0, 0, 0}, {5148, 32, 4883, 5200, 0, 0, 0}, {5160, 13056, 5188, 0, 0, 0, 0}, {4634, 4656, 64, 5397, 0, 0, 0}, {76, 102, 1792, 4352, 0, 0, 0}, {96, 5911, 20560, 0, 0, 0, 0}, {5960, 96, 20480, 0, 0, 0, 0}, {4377, 4403, 5654, 4437, 0, 0, 0}, {42, 4608, 64, 5376, 0, 0, 0}, {108, 13107, 5140, 0, 0, 0, 0}, {76, 32, 4864, 5120, 0, 0, 0}, {106, 4626, 21845, 0, 0, 0, 0}, {3840, 4386, 4420, 0, 0, 0, 0}, {1807, 32, 64, 4112, 0, 0, 0}, {4080, 30464, 0, 0, 0, 0, 0}, {6, 1028, 273, 0, 0, 0, 0}, {10, 32, 514, 1360, 0, 0, 0}, {12, 819, 17408, 0, 0, 0, 0}, {12, 816, 64, 1028, 0, 0, 0}, {10, 8704, 1365, 0, 0, 0, 0}, {6, 1360, 4352, 0, 0, 0, 0}, {2056, 1911, 0, 0, 0, 0, 0}, {1912, 28784, 0, 0, 0, 0, 0}, {6, 4437, 5120, 0, 0, 0, 0}, {10, 8704, 1360, 0, 0, 0, 0}, {12, 819, 64, 1028, 0, 0, 0}, {12, 816, 17408, 0, 0, 0, 0}, {10, 32, 514, 1365, 0, 0, 0}, {274, 276, 4112, 0, 0, 0, 0}, {30719, 30720, 0, 0, 0, 0, 0}, {34816, 0, 0, 0, 0, 0, 0}, {3, 5, 16, 257, 0, 0, 0}, {10, 32, 514, 0, 0, 0, 0}, {3, 17408, 0, 0, 0, 0, 0}, {12, 64, 1028, 0, 0, 0, 0}, {8704, 5, 0, 0, 0, 0, 0}, {6, 17408, 0, 0, 0, 0, 0}, {15, 112, 1799, 0, 0, 0, 0}, {128, 2056, 0, 0, 0, 0, 0}, {3, 5, 4352, 0, 0, 0, 0}, {10, 8704, 0, 0, 0, 0, 0}, {3, 64, 1028, 0, 0, 0, 0}, {12, 17408, 0, 0, 0, 0, 0}, {32, 514, 5, 0, 0, 0, 0}, {6, 64, 1028, 0, 0, 0, 0}, {15, 30464, 0, 0, 0, 0, 0}, {2048, 16, 0, 0, 0, 0, 0}, {51, 85, 4369, 0, 0, 0, 0}, {90, 48, 4626, 0, 0, 0, 0}, {19, 17408, 0, 0, 0, 0, 0}, {60, 80, 5140, 0, 0, 0, 0}, {8704, 21, 0, 0, 0, 0, 0}, {22, 17408, 0, 0, 0, 0, 0}, {95, 96, 5911, 0, 0, 0, 0}, {6168, 48, 80, 0, 0, 0, 0}, {25, 51, 85, 4352, 0, 0, 0}, {26, 48, 4608, 64, 0, 0, 0}, {95, 51, 17476, 0, 0, 0, 0}, {28, 32, 80, 5120, 0, 0, 0}, {63, 8738, 85, 0, 0, 0, 0}, {90, 102, 17476, 0, 0, 0, 0}, {31, 32, 5888, 64, 0, 0, 0}, {2048, 32, 0, 0, 0, 0, 0}, {3, 85, 4369, 0, 0, 0, 0}, {170, 8738, 0, 0, 0, 0, 0}, {3, 1024, 16, 0, 0, 0, 0}, {12, 96, 17476, 0, 0, 0, 0}, {15, 37, 1792, 85, 0, 0, 0}, {12, 38, 64, 1024, 0, 0, 0}, {15, 10023, 80, 0, 0, 0, 0}, {160, 10280, 0, 0, 0, 0, 0}, {3, 21, 4352, 0, 0, 0, 0}, {42, 8704, 0, 0, 0, 0, 0}, {3, 80, 5140, 0, 0, 0, 0}, {12, 32, 64, 1024, 0, 0, 0}, {15, 8738, 85, 0, 0, 0, 0}, {12, 102, 17476, 0, 0, 0, 0}, {15, 32, 1792, 80, 0, 0, 0}, {18432, 48, 0, 0, 0, 0, 0}, {19, 85, 4369, 0, 0, 0, 0}, {10, 514, 16, 0, 0, 0, 0}, {51, 17408, 0, 0, 0, 0, 0}, {76, 112, 17476, 0, 0, 0, 0}, {10, 53, 5888, 85, 0, 0, 0}, {10, 54, 80, 5120, 0, 0, 0}, {63, 14135, 64, 0, 0, 0, 0}, {2056, 48, 64, 0, 0, 0, 0}, {10, 51, 85, 4352, 0, 0, 0}, {10, 48, 4608, 80, 0, 0, 0}, {76, 51, 17476, 0, 0, 0, 0}, {60, 17408, 0, 0, 0, 0, 0}, {32, 514, 21, 0, 0, 0, 0}, {22, 80, 5140, 0, 0, 0, 0}, {63, 30464, 0, 0, 0, 0, 0}, {2048, 64, 0, 0, 0, 0, 0}, {51, 5, 4369, 0, 0, 0, 0}, {10, 96, 16962, 0, 0, 0, 0}, {15, 51, 1792, 67, 0, 0, 0}, {204, 17476, 0, 0, 0, 0, 0}, {512, 5, 16, 0, 0, 0, 0}, {10, 32, 512, 70, 0, 0, 0}, {15, 48, 18247, 0, 0, 0, 0}, {192, 18504, 0, 0, 0, 0, 0}, {19, 5, 4352, 0, 0, 0, 0}, {10, 32, 512, 64, 0, 0, 0}, {15, 51, 17476, 0, 0, 0, 0}, {76, 17408, 0, 0, 0, 0, 0}, {48, 4626, 5, 0, 0, 0, 0}, {10, 102, 17476, 0, 0, 0, 0}, {15, 48, 1792, 64, 0, 0, 0}, {10240, 80, 0, 0, 0, 0, 0}, {51, 21, 4369, 0, 0, 0, 0}, {90, 112, 21074, 0, 0, 0, 0}, {12, 51, 5888, 83, 0, 0, 0}, {12, 1028, 16, 0, 0, 0, 0}, {8704, 85, 0, 0, 0, 0, 0}, {12, 48, 4608, 86, 0, 0, 0}, {95, 32, 22359, 0, 0, 0, 0}, {2056, 32, 80, 0, 0, 0, 0}, {12, 51, 85, 4352, 0, 0, 0}, {90, 8704, 0, 0, 0, 0, 0}, {19, 64, 1028, 0, 0, 0, 0}, {12, 48, 80, 5120, 0, 0, 0}, {42, 8738, 85, 0, 0, 0, 0}, {22, 64, 1028, 0, 0, 0, 0}, {95, 30464, 0, 0, 0, 0, 0}, {18432, 96, 0, 0, 0, 0, 0}, {22, 85, 4369, 0, 0, 0, 0}, {42, 8738, 64, 0, 0, 0, 0}, {15, 51, 80, 5120, 0, 0, 0}, {76, 32, 17476, 0, 0, 0, 0}, {15, 48, 4608, 85, 0, 0, 0}, {102, 17408, 0, 0, 0, 0, 0}, {15, 1799, 16, 0, 0, 0, 0}, {2056, 32, 64, 0, 0, 0, 0}, {15, 51, 85, 4352, 0, 0, 0}, {106, 8704, 0, 0, 0, 0, 0}, {19, 80, 5140, 0, 0, 0, 0}, {108, 17408, 0, 0, 0, 0, 0}, {48, 4626, 21, 0, 0, 0, 0}, {76, 102, 17476, 0, 0, 0, 0}, {15, 48, 5888, 80, 0, 0, 0}, {2048, 112, 0, 0, 0, 0, 0}, {6, 85, 4369, 0, 0, 0, 0}, {10, 8738, 80, 0, 0, 0, 0}, {12, 51, 64, 1024, 0, 0, 0}, {12, 48, 17476, 0, 0, 0, 0}, {10, 32, 512, 85, 0, 0, 0}, {6, 1024, 16, 0, 0, 0, 0}, {255, 30583, 0, 0, 0, 0, 0}, {240, 30840, 0, 0, 0, 0, 0}, {19, 21, 4352, 0, 0, 0, 0}, {10, 32, 512, 80, 0, 0, 0}, {12, 51, 17476, 0, 0, 0, 0}, {12, 48, 64, 1024, 0, 0, 0}, {10, 8738, 85, 0, 0, 0, 0}, {6, 80, 5140, 0, 0, 0, 0}, {127, 30464, 0, 0, 0, 0, 0}, {128, 2048, 0, 0, 0, 0, 0}, {3, 5, 4369, 0, 0, 0, 0}, {10, 8738, 0, 0, 0, 0, 0}, {3, 64, 1024, 0, 0, 0, 0}, {12, 17476, 0, 0, 0, 0, 0}, {32, 512, 5, 0, 0, 0, 0}, {6, 64, 1024, 0, 0, 0, 0}, {15, 30583, 0, 0, 0, 0, 0}, {34952, 0, 0, 0, 0, 0, 0}, {3, 5, 16, 256, 0, 0, 0}, {10, 32, 512, 0, 0, 0, 0}, {3, 17476, 0, 0, 0, 0, 0}, {12, 64, 1024, 0, 0, 0, 0}, {8738, 5, 0, 0, 0, 0, 0}, {6, 17476, 0, 0, 0, 0, 0}, {15, 112, 1792, 0, 0, 0, 0}, {6144, 48, 80, 0, 0, 0, 0}, {25, 51, 85, 4369, 0, 0, 0}, {26, 48, 4626, 64, 0, 0, 0}, {95, 51, 17408, 0, 0, 0, 0}, {28, 32, 80, 5140, 0, 0, 0}, {63, 8704, 85, 0, 0, 0, 0}, {90, 102, 17408, 0, 0, 0, 0}, {31, 32, 5911, 64, 0, 0, 0}, {2056, 16, 0, 0, 0, 0, 0}, {51, 85, 4352, 0, 0, 0, 0}, {90, 48, 4608, 0, 0, 0, 0}, {19, 17476, 0, 0, 0, 0, 0}, {60, 80, 5120, 0, 0, 0, 0}, {8738, 21, 0, 0, 0, 0, 0}, {22, 17476, 0, 0, 0, 0, 0}, {95, 96, 5888, 0, 0, 0, 0}, {160, 10240, 0, 0, 0, 0, 0}, {3, 21, 4369, 0, 0, 0, 0}, {42, 8738, 0, 0, 0, 0, 0}, {3, 80, 5120, 0, 0, 0, 0}, {12, 32, 64, 1028, 0, 0, 0}, {15, 8704, 85, 0, 0, 0, 0}, {12, 102, 17408, 0, 0, 0, 0}, {15, 32, 1799, 80, 0, 0, 0}, {2056, 32, 0, 0, 0, 0, 0}, {3, 85, 4352, 0, 0, 0, 0}, {170, 8704, 0, 0, 0, 0, 0}, {3, 1028, 16, 0, 0, 0, 0}, {12, 96, 17408, 0, 0, 0, 0}, {15, 37, 1799, 85, 0, 0, 0}, {12, 38, 64, 1028, 0, 0, 0}, {15, 9984, 80, 0, 0, 0, 0}, {2048, 48, 64, 0, 0, 0, 0}, {10, 51, 85, 4369, 0, 0, 0}, {10, 48, 4626, 80, 0, 0, 0}, {76, 51, 17408, 0, 0, 0, 0}, {60, 17476, 0, 0, 0, 0, 0}, {32, 512, 21, 0, 0, 0, 0}, {22, 80, 5120, 0, 0, 0, 0}, {63, 30583, 0, 0, 0, 0, 0}, {18504, 48, 0, 0, 0, 0, 0}, {19, 85, 4352, 0, 0, 0, 0}, {10, 512, 16, 0, 0, 0, 0}, {51, 17476, 0, 0, 0, 0, 0}, {76, 112, 17408, 0, 0, 0, 0}, {10, 53, 5911, 85, 0, 0, 0}, {10, 54, 80, 5140, 0, 0, 0}, {63, 14080, 64, 0, 0, 0, 0}, {192, 18432, 0, 0, 0, 0, 0}, {19, 5, 4369, 0, 0, 0, 0}, {10, 32, 514, 64, 0, 0, 0}, {15, 51, 17408, 0, 0, 0, 0}, {76, 17476, 0, 0, 0, 0, 0}, {48, 4608, 5, 0, 0, 0, 0}, {10, 102, 17408, 0, 0, 0, 0}, {15, 48, 1799, 64, 0, 0, 0}, {2056, 64, 0, 0, 0, 0, 0}, {51, 5, 4352, 0, 0, 0, 0}, {10, 96, 16896, 0, 0, 0, 0}, {15, 51, 1799, 67, 0, 0, 0}, {204, 17408, 0, 0, 0, 0, 0}, {514, 5, 16, 0, 0, 0, 0}, {10, 32, 514, 70, 0, 0, 0}, {15, 48, 18176, 0, 0, 0, 0}, {2048, 32, 80, 0, 0, 0, 0}, {12, 51, 85, 4369, 0, 0, 0}, {90, 8738, 0, 0, 0, 0, 0}, {19, 64, 1024, 0, 0, 0, 0}, {12, 48, 80, 5140, 0, 0, 0}, {42, 8704, 85, 0, 0, 0, 0}, {22, 64, 1024, 0, 0, 0, 0}, {95, 30583, 0, 0, 0, 0, 0}, {10280, 80, 0, 0, 0, 0, 0}, {51, 21, 4352, 0, 0, 0, 0}, {90, 112, 20992, 0, 0, 0, 0}, {12, 51, 5911, 83, 0, 0, 0}, {12, 1024, 16, 0, 0, 0, 0}, {8738, 85, 0, 0, 0, 0, 0}, {12, 48, 4626, 86, 0, 0, 0}, {95, 32, 22272, 0, 0, 0, 0}, {2048, 32, 64, 0, 0, 0, 0}, {15, 51, 85, 4369, 0, 0, 0}, {106, 8738, 0, 0, 0, 0, 0}, {19, 80, 5120, 0, 0, 0, 0}, {108, 17476, 0, 0, 0, 0, 0}, {48, 4608, 21, 0, 0, 0, 0}, {76, 102, 17408, 0, 0, 0, 0}, {15, 48, 5911, 80, 0, 0, 0}, {18504, 96, 0, 0, 0, 0, 0}, {22, 85, 4352, 0, 0, 0, 0}, {42, 8704, 64, 0, 0, 0, 0}, {15, 51, 80, 5140, 0, 0, 0}, {76, 32, 17408, 0, 0, 0, 0}, {15, 48, 4626, 85, 0, 0, 0}, {102, 17476, 0, 0, 0, 0, 0}, {15, 1792, 16, 0, 0, 0, 0}, {240, 30720, 0, 0, 0, 0, 0}, {19, 21, 4369, 0, 0, 0, 0}, {10, 32, 514, 80, 0, 0, 0}, {12, 51, 17408, 0, 0, 0, 0}, {12, 48, 64, 1028, 0, 0, 0}, {10, 8704, 85, 0, 0, 0, 0}, {6, 80, 5120, 0, 0, 0, 0}, {127, 30583, 0, 0, 0, 0, 0}, {2056, 112, 0, 0, 0, 0, 0}, {6, 85, 4352, 0, 0, 0, 0}, {10, 8704, 80, 0, 0, 0, 0}, {12, 51, 64, 1028, 0, 0, 0}, {12, 48, 17408, 0, 0, 0, 0}, {10, 32, 514, 85, 0, 0, 0}, {6, 1028, 16, 0, 0, 0, 0}, {255, 30464, 0, 0, 0, 0, 0}, {768, 1280, 4096, 0, 0, 0, 0}, {136, 257, 0, 0, 0, 0, 0}, {258, 17408, 0, 0, 0, 0, 0}, {1295, 4144, 771, 0, 0, 0, 0}, {8704, 260, 0, 0, 0, 0, 0}, {783, 4176, 1285, 0, 0, 0, 0}, {1290, 4192, 1542, 0, 0, 0, 0}, {263, 17408, 0, 0, 0, 0, 0}, {264, 768, 1280, 4352, 0, 0, 0}, {4240, 771, 1285, 0, 0, 0, 0}, {1290, 768, 16384, 0, 0, 0, 0}, {267, 4403, 771, 1028, 0, 0, 0}, {780, 8192, 1280, 0, 0, 0, 0}, {269, 514, 4437, 1285, 0, 0, 0}, {270, 4454, 514, 1028, 0, 0, 0}, {1295, 1536, 16384, 0, 0, 0, 0}, {816, 1360, 4112, 0, 0, 0, 0}, {2048, 273, 0, 0, 0, 0, 0}, {274, 17408, 0, 0, 0, 0, 0}, {1375, 4128, 4883, 0, 0, 0, 0}, {8704, 276, 0, 0, 0, 0, 0}, {831, 4160, 5397, 0, 0, 0, 0}, {1370, 4208, 5654, 0, 0, 0, 0}, {279, 17408, 0, 0, 0, 0, 0}, {280, 816, 1360, 4352, 0, 0, 0}, {6425, 819, 1365, 0, 0, 0, 0}, {1370, 816, 16448, 0, 0, 0, 0}, {283, 4403, 4608, 1092, 0, 0, 0}, {828, 8224, 1360, 0, 0, 0, 0}, {285, 546, 4437, 5120, 0, 0, 0}, {286, 5410, 5888, 1092, 0, 0, 0}, {1375, 1632, 16448, 0, 0, 0, 0}, {4128, 768, 21760, 0, 0, 0, 0}, {1036, 289, 771, 4369, 0, 0, 0}, {290, 768, 1024, 4096, 0, 0, 0}, {1455, 771, 4112, 0, 0, 0, 0}, {1036, 292, 1792, 4420, 0, 0, 0}, {783, 4208, 21845, 0, 0, 0, 0}, {780, 9766, 4160, 0, 0, 0, 0}, {783, 295, 4176, 1024, 0, 0, 0}, {296, 768, 1024, 4352, 0, 0, 0}, {4272, 771, 5397, 0, 0, 0, 0}, {5418, 768, 20480, 0, 0, 0, 0}, {4120, 4403, 771, 5140, 0, 0, 0}, {780, 8224, 5440, 0, 0, 0, 0}, {783, 546, 4437, 1024, 0, 0, 0}, {1036, 1314, 1792, 5188, 0, 0, 0}, {783, 5744, 20560, 0, 0, 0, 0}, {4144, 4864, 21760, 0, 0, 0, 0}, {1100, 305, 514, 4369, 0, 0, 0}, {306, 514, 1088, 4112, 0, 0, 0}, {2560, 819, 4096, 0, 0, 0, 0}, {5384, 308, 5888, 4420, 0, 0, 0}, {4959, 4192, 21845, 0, 0, 0, 0}, {828, 13878, 4176, 0, 0, 0, 0}, {520, 311, 4160, 5120, 0, 0, 0}, {520, 816, 1088, 4352, 0, 0, 0}, {2570, 819, 5461, 0, 0, 0, 0}, {5722, 816, 20560, 0, 0, 0, 0}, {4104, 4403, 4608, 5188, 0, 0, 0}, {828, 8192, 5376, 0, 0, 0, 0}, {317, 514, 4437, 5397, 0, 0, 0}, {4184, 4454, 514, 5140, 0, 0, 0}, {5439, 5632, 20480, 0, 0, 0, 0}, {13056, 4160, 1280, 0, 0, 0, 0}, {522, 321, 1285, 4369, 0, 0, 0}, {1290, 4386, 1792, 322, 0, 0, 0}, {1295, 4208, 17219, 0, 0, 0, 0}, {512, 324, 1280, 4096, 0, 0, 0}, {975, 1285, 4112, 0, 0, 0, 0}, {1290, 4128, 17990, 0, 0, 0, 0}, {1295, 4144, 512, 327, 0, 0, 0}, {328, 512, 1280, 4352, 0, 0, 0}, {4304, 4883, 1285, 0, 0, 0, 0}, {1290, 4896, 16448, 0, 0, 0, 0}, {1295, 4403, 512, 1092, 0, 0, 0}, {4940, 12288, 1280, 0, 0, 0, 0}, {4120, 4626, 4437, 1285, 0, 0, 0}, {1290, 5410, 1792, 1092, 0, 0, 0}, {1295, 5744, 16448, 0, 0, 0, 0}, {13056, 4176, 5376, 0, 0, 0, 0}, {554, 337, 1028, 4369, 0, 0, 0}, {1032, 4386, 5888, 338, 0, 0, 0}, {1375, 4192, 21331, 0, 0, 0, 0}, {544, 340, 1028, 4112, 0, 0, 0}, {3072, 1365, 4096, 0, 0, 0, 0}, {1370, 4144, 22102, 0, 0, 0, 0}, {1032, 4128, 4608, 343, 0, 0, 0}, {1032, 544, 1360, 4352, 0, 0, 0}, {3084, 4915, 1365, 0, 0, 0, 0}, {1370, 4864, 16384, 0, 0, 0, 0}, {347, 4403, 4883, 1028, 0, 0, 0}, {5692, 12336, 1360, 0, 0, 0, 0}, {4104, 4642, 4437, 5120, 0, 0, 0}, {350, 4454, 4626, 1028, 0, 0, 0}, {1375, 5632, 16384, 0, 0, 0, 0}, {4192, 5632, 21760, 0, 0, 0, 0}, {1100, 353, 1799, 4369, 0, 0, 0}, {4872, 4386, 4160, 5120, 0, 0, 0}, {5692, 13107, 4176, 0, 0, 0, 0}, {5384, 4128, 4608, 4420, 0, 0, 0}, {5722, 4144, 21845, 0, 0, 0, 0}, {3840, 1638, 4096, 0, 0, 0, 0}, {1319, 1799, 1088, 4112, 0, 0, 0}, {1800, 544, 1088, 4352, 0, 0, 0}, {3855, 4915, 5461, 0, 0, 0, 0}, {5482, 4864, 20480, 0, 0, 0, 0}, {4184, 4403, 4883, 5140, 0, 0, 0}, {4972, 12288, 5376, 0, 0, 0, 0}, {4152, 4626, 4437, 5397, 0, 0, 0}, {4104, 1314, 5888, 5188, 0, 0, 0}, {4959, 1632, 20560, 0, 0, 0, 0}, {4208, 1536, 21760, 0, 0, 0, 0}, {1036, 369, 1542, 4369, 0, 0, 0}, {522, 4386, 4176, 1024, 0, 0, 0}, {1548, 13107, 4160, 0, 0, 0, 0}, {1036, 4144, 512, 4420, 0, 0, 0}, {1546, 4128, 21845, 0, 0, 0, 0}, {1530, 1542, 4112, 0, 0, 0, 0}, {375, 512, 1024, 4096, 0, 0, 0}, {376, 512, 1024, 4352, 0, 0, 0}, {4320, 4883, 5397, 0, 0, 0, 0}, {1546, 4896, 20560, 0, 0, 0, 0}, {1036, 4403, 512, 5188, 0, 0, 0}, {1548, 12336, 5440, 0, 0, 0, 0}, {522, 4642, 4437, 1024, 0, 0, 0}, {4120, 4454, 4626, 5140, 0, 0, 0}, {5503, 1536, 20480, 0, 0, 0, 0}, {4224, 768, 1280, 0, 0, 0, 0}, {265, 771, 1285, 4369, 0, 0, 0}, {266, 4386, 768, 1024, 0, 0, 0}, {1295, 771, 16448, 0, 0, 0, 0}, {268, 512, 4420, 1280, 0, 0, 0}, {783, 8224, 1285, 0, 0, 0, 0}, {1290, 1542, 16448, 0, 0, 0, 0}, {271, 4471, 512, 1024, 0, 0, 0}, {136, 256, 0, 0, 0, 0, 0}, {771, 1285, 4112, 0, 0, 0, 0}, {1290, 4128, 768, 0, 0, 0, 0}, {259, 17476, 0, 0, 0, 0, 0}, {780, 4160, 1280, 0, 0, 0, 0}, {8738, 261, 0, 0, 0, 0, 0}, {262, 17476, 0, 0, 0, 0, 0}, {1295, 4208, 1536, 0, 0, 0, 0}, {6400, 816, 1360, 0, 0, 0, 0}, {281, 819, 1365, 4369, 0, 0, 0}, {282, 4386, 4626, 1088, 0, 0, 0}, {1375, 819, 16384, 0, 0, 0, 0}, {284, 544, 4420, 5140, 0, 0, 0}, {831, 8192, 1365, 0, 0, 0, 0}, {1370, 1638, 16384, 0, 0, 0, 0}, {287, 5431, 5911, 1088, 0, 0, 0}, {2056, 272, 0, 0, 0, 0, 0}, {819, 1365, 4096, 0, 0, 0, 0}, {1370, 4144, 4864, 0, 0, 0, 0}, {275, 17476, 0, 0, 0, 0, 0}, {828, 4176, 5376, 0, 0, 0, 0}, {8738, 277, 0, 0, 0, 0, 0}, {278, 17476, 0, 0, 0, 0, 0}, {1375, 4192, 5632, 0, 0, 0, 0}, {4256, 768, 5376, 0, 0, 0, 0}, {297, 771, 1028, 4369, 0, 0, 0}, {4104, 4386, 768, 5120, 0, 0, 0}, {5439, 771, 20560, 0, 0, 0, 0}, {780, 544, 4420, 1028, 0, 0, 0}, {783, 8192, 5461, 0, 0, 0, 0}, {780, 5734, 20480, 0, 0, 0, 0}, {1032, 1319, 1799, 5200, 0, 0, 0}, {1032, 288, 768, 4352, 0, 0, 0}, {4144, 771, 21845, 0, 0, 0, 0}, {1450, 768, 4096, 0, 0, 0, 0}, {291, 771, 1028, 4112, 0, 0, 0}, {780, 4192, 21760, 0, 0, 0, 0}, {1032, 293, 1799, 4437, 0, 0, 0}, {780, 294, 4160, 1028, 0, 0, 0}, {783, 9728, 4176, 0, 0, 0, 0}, {2560, 816, 5440, 0, 0, 0, 0}, {522, 819, 1092, 4369, 0, 0, 0}, {4120, 4386, 4626, 5200, 0, 0, 0}, {5708, 819, 20480, 0, 0, 0, 0}, {316, 512, 4420, 5376, 0, 0, 0}, {831, 8224, 5397, 0, 0, 0, 0}, {5418, 5654, 20560, 0, 0, 0, 0}, {4168, 4471, 512, 5120, 0, 0, 0}, {1096, 304, 512, 4352, 0, 0, 0}, {4128, 4883, 21845, 0, 0, 0, 0}, {2570, 816, 4112, 0, 0, 0, 0}, {307, 512, 1092, 4096, 0, 0, 0}, {4940, 4208, 21760, 0, 0, 0, 0}, {5405, 309, 5911, 4437, 0, 0, 0}, {522, 310, 4176, 5140, 0, 0, 0}, {831, 13824, 4160, 0, 0, 0, 0}, {4288, 4864, 1280, 0, 0, 0, 0}, {329, 514, 1285, 4369, 0, 0, 0}, {1290, 4386, 514, 1088, 0, 0, 0}, {1295, 4915, 16384, 0, 0, 0, 0}, {4104, 4608, 4420, 1280, 0, 0, 0}, {4959, 12336, 1285, 0, 0, 0, 0}, {1290, 5734, 16384, 0, 0, 0, 0}, {1295, 5431, 1799, 1088, 0, 0, 0}, {520, 320, 1280, 4352, 0, 0, 0}, {13107, 4176, 1285, 0, 0, 0, 0}, {1290, 4192, 17152, 0, 0, 0, 0}, {1295, 4403, 1799, 323, 0, 0, 0}, {972, 1280, 4096, 0, 0, 0, 0}, {514, 325, 1285, 4112, 0, 0, 0}, {1290, 4128, 514, 326, 0, 0, 0}, {1295, 4144, 17920, 0, 0, 0, 0}, {3072, 4896, 1360, 0, 0, 0, 0}, {1036, 546, 1365, 4369, 0, 0, 0}, {346, 4386, 4864, 1024, 0, 0, 0}, {1375, 4883, 16448, 0, 0, 0, 0}, {4120, 4656, 4420, 5140, 0, 0, 0}, {5674, 12288, 1365, 0, 0, 0, 0}, {1370, 5654, 16448, 0, 0, 0, 0}, {351, 4471, 4608, 1024, 0, 0, 0}, {552, 336, 1024, 4352, 0, 0, 0}, {13107, 4160, 5397, 0, 0, 0, 0}, {1370, 4208, 21248, 0, 0, 0, 0}, {1036, 4403, 5911, 339, 0, 0, 0}, {3084, 1360, 4112, 0, 0, 0, 0}, {546, 341, 1024, 4096, 0, 0, 0}, {1036, 4144, 4626, 342, 0, 0, 0}, {1375, 4128, 22016, 0, 0, 0, 0}, {3840, 4896, 5440, 0, 0, 0, 0}, {1807, 546, 1092, 4369, 0, 0, 0}, {4168, 4386, 4864, 5120, 0, 0, 0}, {5503, 4883, 20560, 0, 0, 0, 0}, {4136, 4608, 4420, 5376, 0, 0, 0}, {4991, 12336, 5397, 0, 0, 0, 0}, {4940, 1638, 20480, 0, 0, 0, 0}, {4120, 1319, 5911, 5200, 0, 0, 0}, {1096, 352, 1792, 4352, 0, 0, 0}, {4208, 5654, 21845, 0, 0, 0, 0}, {5674, 13056, 4160, 0, 0, 0, 0}, {4891, 4403, 4176, 5140, 0, 0, 0}, {5708, 4128, 21760, 0, 0, 0, 0}, {5405, 4144, 4626, 4437, 0, 0, 0}, {1314, 1792, 1092, 4096, 0, 0, 0}, {3855, 1632, 4112, 0, 0, 0, 0}, {4336, 4864, 5376, 0, 0, 0, 0}, {377, 514, 1028, 4369, 0, 0, 0}, {1032, 4386, 514, 5200, 0, 0, 0}, {1548, 4915, 20480, 0, 0, 0, 0}, {520, 4656, 4420, 1028, 0, 0, 0}, {1546, 12288, 5461, 0, 0, 0, 0}, {5482, 1542, 20560, 0, 0, 0, 0}, {4104, 4471, 4608, 5120, 0, 0, 0}, {1032, 368, 1536, 4352, 0, 0, 0}, {4192, 1542, 21845, 0, 0, 0, 0}, {1546, 13056, 4176, 0, 0, 0, 0}, {520, 4403, 4160, 1028, 0, 0, 0}, {1548, 4144, 21760, 0, 0, 0, 0}, {1032, 4128, 514, 4437, 0, 0, 0}, {374, 514, 1028, 4112, 0, 0, 0}, {1535, 1536, 4096, 0, 0, 0, 0}, {2560, 8192, 0, 0, 0, 0, 0}, {3, 68, 257, 0, 0, 0, 0}, {136, 514, 0, 0, 0, 0, 0}, {3, 1280, 4096, 0, 0, 0, 0}, {12, 516, 68, 1028, 0, 0, 0}, {15, 8272, 1285, 0, 0, 0, 0}, {12, 1542, 16384, 0, 0, 0, 0}, {15, 119, 519, 1280, 0, 0, 0}, {520, 8704, 0, 0, 0, 0, 0}, {3, 4176, 1285, 0, 0, 0, 0}, {8352, 2570, 0, 0, 0, 0, 0}, {3, 260, 4352, 0, 0, 0, 0}, {12, 1536, 16384, 0, 0, 0, 0}, {15, 119, 514, 1285, 0, 0, 0}, {12, 514, 68, 1028, 0, 0, 0}, {15, 8192, 1280, 0, 0, 0, 0}, {2640, 48, 4112, 0, 0, 0, 0}, {51, 529, 68, 4369, 0, 0, 0}, {72, 48, 530, 4096, 0, 0, 0}, {51, 4883, 21760, 0, 0, 0, 0}, {60, 532, 68, 5140, 0, 0, 0}, {63, 8256, 5397, 0, 0, 0, 0}, {60, 5654, 20480, 0, 0, 0, 0}, {72, 119, 535, 5376, 0, 0, 0}, {4120, 48, 4608, 4176, 0, 0, 0}, {4940, 51, 21845, 0, 0, 0, 0}, {6682, 48, 4160, 0, 0, 0, 0}, {539, 51, 68, 4352, 0, 0, 0}, {5708, 5744, 20560, 0, 0, 0, 0}, {5405, 5410, 5888, 5461, 0, 0, 0}, {542, 546, 68, 5120, 0, 0, 0}, {63, 8224, 5440, 0, 0, 0, 0}, {2720, 8224, 0, 0, 0, 0, 0}, {3, 1024, 273, 0, 0, 0, 0}, {2048, 546, 0, 0, 0, 0, 0}, {3, 1360, 4112, 0, 0, 0, 0}, {12, 548, 68, 1024, 0, 0, 0}, {15, 9509, 1365, 0, 0, 0, 0}, {12, 1638, 16448, 0, 0, 0, 0}, {15, 1319, 1792, 1360, 0, 0, 0}, {552, 8704, 0, 0, 0, 0, 0}, {3, 4160, 5397, 0, 0, 0, 0}, {8320, 10794, 0, 0, 0, 0, 0}, {3, 276, 4352, 0, 0, 0, 0}, {12, 1632, 16448, 0, 0, 0, 0}, {15, 1314, 1792, 1365, 0, 0, 0}, {12, 546, 68, 1024, 0, 0, 0}, {15, 8224, 1360, 0, 0, 0, 0}, {2560, 48, 4096, 0, 0, 0, 0}, {51, 514, 68, 4369, 0, 0, 0}, {72, 48, 514, 4112, 0, 0, 0}, {51, 4864, 21760, 0, 0, 0, 0}, {520, 564, 68, 5120, 0, 0, 0}, {63, 13621, 5461, 0, 0, 0, 0}, {5722, 5734, 20560, 0, 0, 0, 0}, {5384, 5431, 5888, 5440, 0, 0, 0}, {4104, 48, 4608, 4160, 0, 0, 0}, {4959, 51, 21845, 0, 0, 0, 0}, {2570, 48, 4176, 0, 0, 0, 0}, {520, 51, 68, 4352, 0, 0, 0}, {60, 5632, 20480, 0, 0, 0, 0}, {72, 119, 514, 5397, 0, 0, 0}, {60, 514, 68, 5140, 0, 0, 0}, {63, 8192, 5376, 0, 0, 0, 0}, {192, 2560, 8256, 16448, 0, 0, 0}, {15, 51, 517, 68, 1285, 4369, 0}, {72, 578, 16384, 0, 0, 0, 0}, {15, 51, 4931, 1280, 0, 0, 0}, {512, 68, 0, 0, 0, 0, 0}, {15, 48, 1285, 4112, 0, 0, 0}, {204, 2570, 8224, 17990, 0, 0, 0}, {15, 48, 512, 71, 1280, 4096, 0}, {72, 512, 16384, 0, 0, 0, 0}, {15, 51, 4883, 1285, 0, 0, 0}, {192, 2570, 8224, 16448, 0, 0, 0}, {15, 51, 512, 68, 1280, 4352, 0}, {204, 2560, 8268, 17996, 0, 0, 0}, {15, 48, 517, 71, 1285, 4119, 0}, {522, 8738, 68, 0, 0, 0, 0}, {15, 48, 4160, 1280, 0, 0, 0}, {240, 2640, 8272, 20560, 0, 0, 0}, {12, 51, 533, 68, 1028, 4369, 0}, {120, 594, 20480, 0, 0, 0, 0}, {12, 51, 4947, 5376, 0, 0, 0}, {12, 48, 528, 68, 1028, 4112, 0}, {255, 2645, 8192, 21845, 0, 0, 0}, {12, 48, 1622, 4096, 0, 0, 0}, {119, 599, 21760, 0, 0, 0, 0}, {600, 544, 20560, 0, 0, 0, 0}, {12, 51, 4864, 5461, 0, 0, 0}, {240, 2650, 8192, 20480, 0, 0, 0}, {12, 51, 531, 68, 1028, 4352, 0}, {12, 48, 5632, 4176, 0, 0, 0}, {605, 119, 21845, 0, 0, 0, 0}, {12, 48, 534, 68, 1028, 4100, 0}, {255, 2655, 8287, 21760, 0, 0, 0}, {192, 2656, 8288, 16384, 0, 0, 0}, {15, 51, 534, 68, 1297, 4369, 0}, {72, 610, 16448, 0, 0, 0, 0}, {15, 51, 5632, 1360, 0, 0, 0}, {2056, 544, 68, 0, 0, 0, 0}, {15, 48, 1365, 4096, 0, 0, 0}, {204, 2662, 8192, 18022, 0, 0, 0}, {15, 48, 528, 71, 1303, 4112, 0}, {72, 544, 16448, 0, 0, 0, 0}, {15, 51, 4864, 1365, 0, 0, 0}, {192, 2666, 8192, 16384, 0, 0, 0}, {15, 51, 531, 68, 1300, 4352, 0}, {204, 2668, 8300, 18028, 0, 0, 0}, {15, 48, 533, 71, 1298, 4103, 0}, {554, 8738, 68, 0, 0, 0, 0}, {15, 48, 4176, 5376, 0, 0, 0}, {240, 2560, 8304, 20480, 0, 0, 0}, {12, 51, 518, 68, 1024, 4369, 0}, {522, 626, 20560, 0, 0, 0, 0}, {12, 51, 1536, 5440, 0, 0, 0}, {12, 48, 512, 68, 1024, 4096, 0}, {255, 2570, 8224, 21845, 0, 0, 0}, {12, 48, 1542, 4112, 0, 0, 0}, {119, 512, 21760, 0, 0, 0, 0}, {120, 512, 20480, 0, 0, 0, 0}, {12, 51, 4883, 5397, 0, 0, 0}, {240, 2570, 8224, 20560, 0, 0, 0}, {12, 51, 512, 68, 1024, 4352, 0}, {12, 48, 1536, 4160, 0, 0, 0}, {522, 119, 21845, 0, 0, 0, 0}, {12, 48, 518, 68, 1024, 4116, 0}, {255, 2560, 8319, 21760, 0, 0, 0}, {8320, 2560, 0, 0, 0, 0, 0}, {3, 261, 4369, 0, 0, 0, 0}, {522, 8738, 0, 0, 0, 0, 0}, {3, 4160, 1280, 0, 0, 0, 0}, {12, 512, 68, 1024, 0, 0, 0}, {15, 8224, 1285, 0, 0, 0, 0}, {12, 1542, 16448, 0, 0, 0, 0}, {15, 119, 512, 1280, 0, 0, 0}, {136, 512, 0, 0, 0, 0, 0}, {3, 1285, 4112, 0, 0, 0, 0}, {2570, 8224, 0, 0, 0, 0, 0}, {3, 68, 256, 0, 0, 0, 0}, {12, 1536, 16448, 0, 0, 0, 0}, {15, 119, 517, 1285, 0, 0, 0}, {12, 518, 68, 1024, 0, 0, 0}, {15, 8304, 1280, 0, 0, 0, 0}, {6656, 48, 4176, 0, 0, 0, 0}, {537, 51, 68, 4369, 0, 0, 0}, {4104, 48, 4626, 4160, 0, 0, 0}, {4959, 51, 21760, 0, 0, 0, 0}, {540, 544, 68, 5140, 0, 0, 0}, {63, 8192, 5461, 0, 0, 0, 0}, {5722, 5734, 20480, 0, 0, 0, 0}, {5384, 5431, 5911, 5440, 0, 0, 0}, {72, 48, 528, 4112, 0, 0, 0}, {51, 4864, 21845, 0, 0, 0, 0}, {2650, 48, 4096, 0, 0, 0, 0}, {51, 531, 68, 4352, 0, 0, 0}, {60, 5632, 20560, 0, 0, 0, 0}, {72, 119, 533, 5397, 0, 0, 0}, {60, 534, 68, 5120, 0, 0, 0}, {63, 8288, 5376, 0, 0, 0, 0}, {8352, 10752, 0, 0, 0, 0, 0}, {3, 277, 4369, 0, 0, 0, 0}, {554, 8738, 0, 0, 0, 0, 0}, {3, 4176, 5376, 0, 0, 0, 0}, {12, 544, 68, 1028, 0, 0, 0}, {15, 8192, 1365, 0, 0, 0, 0}, {12, 1638, 16384, 0, 0, 0, 0}, {15, 1319, 1799, 1360, 0, 0, 0}, {2056, 544, 0, 0, 0, 0, 0}, {3, 1365, 4096, 0, 0, 0, 0}, {2730, 8192, 0, 0, 0, 0, 0}, {3, 1028, 272, 0, 0, 0, 0}, {12, 1632, 16384, 0, 0, 0, 0}, {15, 1314, 1799, 1365, 0, 0, 0}, {12, 550, 68, 1028, 0, 0, 0}, {15, 9472, 1360, 0, 0, 0, 0}, {2560, 48, 4160, 0, 0, 0, 0}, {522, 51, 68, 4369, 0, 0, 0}, {4120, 48, 4626, 4176, 0, 0, 0}, {4940, 51, 21760, 0, 0, 0, 0}, {60, 512, 68, 5120, 0, 0, 0}, {63, 8224, 5397, 0, 0, 0, 0}, {60, 5654, 20560, 0, 0, 0, 0}, {72, 119, 512, 5376, 0, 0, 0}, {72, 48, 512, 4096, 0, 0, 0}, {51, 4883, 21845, 0, 0, 0, 0}, {2570, 48, 4112, 0, 0, 0, 0}, {51, 512, 68, 4352, 0, 0, 0}, {5708, 5744, 20480, 0, 0, 0, 0}, {5405, 5410, 5911, 5461, 0, 0, 0}, {522, 566, 68, 5140, 0, 0, 0}, {63, 13568, 5440, 0, 0, 0, 0}, {192, 2560, 8192, 16384, 0, 0, 0}, {15, 51, 514, 68, 1285, 4369, 0}, {72, 514, 16448, 0, 0, 0, 0}, {15, 51, 4864, 1280, 0, 0, 0}, {520, 8704, 68, 0, 0, 0, 0}, {15, 48, 4176, 1285, 0, 0, 0}, {204, 2570, 8300, 17930, 0, 0, 0}, {15, 48, 519, 71, 1280, 4103, 0}, {72, 576, 16448, 0, 0, 0, 0}, {15, 51, 4944, 1285, 0, 0, 0}, {192, 2570, 8288, 16384, 0, 0, 0}, {15, 51, 519, 68, 1280, 4352, 0}, {204, 2560, 8192, 17920, 0, 0, 0}, {15, 48, 514, 71, 1285, 4112, 0}, {514, 68, 0, 0, 0, 0, 0}, {15, 48, 1280, 4096, 0, 0, 0}, {240, 2640, 8224, 20560, 0, 0, 0}, {12, 51, 529, 68, 1024, 4369, 0}, {602, 546, 20480, 0, 0, 0, 0}, {12, 51, 4883, 5440, 0, 0, 0}, {12, 48, 532, 68, 1024, 4116, 0}, {255, 2645, 8319, 21845, 0, 0, 0}, {12, 48, 5654, 4160, 0, 0, 0}, {607, 119, 21760, 0, 0, 0, 0}, {120, 592, 20560, 0, 0, 0, 0}, {12, 51, 4928, 5397, 0, 0, 0}, {240, 2650, 8304, 20480, 0, 0, 0}, {12, 51, 535, 68, 1024, 4352, 0}, {12, 48, 1616, 4112, 0, 0, 0}, {119, 597, 21845, 0, 0, 0, 0}, {12, 48, 530, 68, 1024, 4096, 0}, {255, 2655, 8224, 21760, 0, 0, 0}, {192, 2656, 8224, 16448, 0, 0, 0}, {15, 51, 529, 68, 1297, 4369, 0}, {72, 546, 16384, 0, 0, 0, 0}, {15, 51, 4883, 1360, 0, 0, 0}, {552, 8704, 68, 0, 0, 0, 0}, {15, 48, 4160, 5397, 0, 0, 0}, {204, 2662, 8268, 17962, 0, 0, 0}, {15, 48, 535, 71, 1303, 4119, 0}, {72, 608, 16384, 0, 0, 0, 0}, {15, 51, 5654, 1365, 0, 0, 0}, {192, 2666, 8256, 16448, 0, 0, 0}, {15, 51, 532, 68, 1300, 4352, 0}, {204, 2668, 8224, 17952, 0, 0, 0}, {15, 48, 530, 71, 1298, 4096, 0}, {2048, 546, 68, 0, 0, 0, 0}, {15, 48, 1360, 4112, 0, 0, 0}, {240, 2560, 8192, 20480, 0, 0, 0}, {12, 51, 514, 68, 1028, 4369, 0}, {120, 514, 20560, 0, 0, 0, 0}, {12, 51, 4864, 5376, 0, 0, 0}, {12, 48, 516, 68, 1028, 4100, 0}, {255, 2570, 8287, 21845, 0, 0, 0}, {12, 48, 1542, 4176, 0, 0, 0}, {520, 119, 21760, 0, 0, 0, 0}, {520, 624, 20480, 0, 0, 0, 0}, {12, 51, 1542, 5461, 0, 0, 0}, {240, 2570, 8272, 20560, 0, 0, 0}, {12, 51, 516, 68, 1028, 4352, 0}, {12, 48, 1536, 4096, 0, 0, 0}, {119, 514, 21845, 0, 0, 0, 0}, {12, 48, 514, 68, 1028, 4112, 0}, {255, 2560, 8192, 21760, 0, 0, 0}, {768, 17408, 0, 0, 0, 0, 0}, {10, 32, 257, 0, 0, 0, 0}, {258, 1280, 4096, 0, 0, 0, 0}, {17612, 771, 0, 0, 0, 0, 0}, {780, 12352, 1028, 0, 0, 0, 0}, {10, 773, 4437, 1285, 0, 0, 0}, {10, 4454, 774, 1280, 0, 0, 0}, {1032, 1799, 16384, 0, 0, 0, 0}, {1032, 768, 16384, 0, 0, 0, 0}, {10, 4403, 771, 1285, 0, 0, 0}, {10, 768, 1280, 4352, 0, 0, 0}, {128, 771, 1028, 0, 0, 0, 0}, {780, 30464, 0, 0, 0, 0, 0}, {263, 4176, 1285, 0, 0, 0, 0}, {32, 514, 260, 0, 0, 0, 0}, {783, 17408, 0, 0, 0, 0, 0}, {32, 784, 1088, 4112, 0, 0, 0}, {3925, 819, 4369, 0, 0, 0, 0}, {4386, 4626, 21760, 0, 0, 0, 0}, {1100, 32, 787, 4096, 0, 0, 0}, {828, 12368, 5140, 0, 0, 0, 0}, {42, 789, 4437, 5397, 0, 0, 0}, {4428, 4454, 790, 5376, 0, 0, 0}, {5160, 5911, 20480, 0, 0, 0, 0}, {5960, 816, 20560, 0, 0, 0, 0}, {4377, 4403, 4608, 5461, 0, 0, 0}, {794, 816, 1088, 4352, 0, 0, 0}, {6939, 819, 5188, 0, 0, 0, 0}, {5148, 32, 5888, 4176, 0, 0, 0}, {4680, 4471, 21845, 0, 0, 0, 0}, {828, 8738, 4420, 0, 0, 0, 0}, {799, 32, 4160, 5120, 0, 0, 0}, {32, 768, 1024, 4096, 0, 0, 0}, {170, 771, 4369, 0, 0, 0, 0}, {4386, 768, 21760, 0, 0, 0, 0}, {1036, 32, 771, 4112, 0, 0, 0}, {780, 9252, 5188, 0, 0, 0, 0}, {783, 805, 4437, 1024, 0, 0, 0}, {1036, 1062, 1792, 5440, 0, 0, 0}, {783, 6007, 20560, 0, 0, 0, 0}, {5160, 768, 20480, 0, 0, 0, 0}, {4377, 4403, 771, 5397, 0, 0, 0}, {42, 768, 1024, 4352, 0, 0, 0}, {160, 771, 5140, 0, 0, 0, 0}, {1036, 32, 1792, 4160, 0, 0, 0}, {783, 4471, 21845, 0, 0, 0, 0}, {780, 8738, 4420, 0, 0, 0, 0}, {783, 32, 4176, 1024, 0, 0, 0}, {816, 17408, 0, 0, 0, 0, 0}, {10, 514, 273, 0, 0, 0, 0}, {274, 1360, 4112, 0, 0, 0, 0}, {18432, 819, 0, 0, 0, 0, 0}, {828, 13364, 1092, 0, 0, 0, 0}, {10, 821, 4437, 5120, 0, 0, 0}, {10, 5174, 5888, 1360, 0, 0, 0}, {1096, 1911, 16448, 0, 0, 0, 0}, {1096, 816, 16448, 0, 0, 0, 0}, {10, 4403, 4608, 1365, 0, 0, 0}, {10, 816, 1360, 4352, 0, 0, 0}, {2056, 819, 1092, 0, 0, 0, 0}, {828, 30464, 0, 0, 0, 0, 0}, {279, 4160, 5397, 0, 0, 0, 0}, {32, 514, 276, 0, 0, 0, 0}, {831, 17408, 0, 0, 0, 0, 0}, {1792, 1088, 0, 0, 0, 0, 0}, {10, 867, 1285, 4369, 0, 0, 0}, {10, 4386, 4674, 1280, 0, 0, 0}, {1100, 835, 16384, 0, 0, 0, 0}, {972, 3840, 12288, 17476, 0, 0, 0}, {10, 32, 512, 325, 1285, 4112, 0}, {10, 32, 512, 326, 1280, 4096, 0}, {975, 3855, 12336, 18247, 0, 0, 0}, {960, 3840, 13056, 18248, 0, 0, 0}, {10, 32, 512, 323, 1285, 4371, 0}, {10, 32, 512, 320, 1280, 4352, 0}, {963, 3855, 13107, 17476, 0, 0, 0}, {1100, 1792, 16384, 0, 0, 0, 0}, {10, 4471, 4626, 1285, 0, 0, 0}, {10, 4642, 4420, 1280, 0, 0, 0}, {1807, 12336, 1088, 0, 0, 0, 0}, {5888, 5200, 0, 0, 0, 0, 0}, {857, 883, 1028, 4369, 0, 0, 0}, {4360, 4386, 4690, 5376, 0, 0, 0}, {5228, 851, 20480, 0, 0, 0, 0}, {860, 32, 1028, 4112, 0, 0, 0}, {4608, 4437, 0, 0, 0, 0, 0}, {4454, 854, 21760, 0, 0, 0, 0}, {1032, 32, 1879, 4096, 0, 0, 0}, {1032, 32, 4864, 4176, 0, 0, 0}, {857, 4403, 21845, 0, 0, 0, 0}, {858, 4352, 0, 0, 0, 0, 0}, {32, 4883, 4160, 1028, 0, 0, 0}, {860, 5984, 20560, 0, 0, 0, 0}, {1032, 1058, 5632, 5461, 0, 0, 0}, {42, 4626, 4420, 1028, 0, 0, 0}, {863, 12288, 5120, 0, 0, 0, 0}, {864, 5120, 0, 0, 0, 0, 0}, {42, 1799, 1092, 4369, 0, 0, 0}, {4360, 4386, 5632, 5440, 0, 0, 0}, {5983, 867, 20560, 0, 0, 0, 0}, {1800, 32, 1092, 4096, 0, 0, 0}, {3855, 4656, 4437, 0, 0, 0, 0}, {4454, 4608, 21760, 0, 0, 0, 0}, {1096, 32, 1799, 4112, 0, 0, 0}, {5128, 32, 4864, 4160, 0, 0, 0}, {4698, 4403, 21845, 0, 0, 0, 0}, {874, 4352, 0, 0, 0, 0, 0}, {32, 4883, 4176, 5140, 0, 0, 0}, {5228, 5888, 20480, 0, 0, 0, 0}, {4445, 4471, 4626, 5397, 0, 0, 0}, {4616, 4642, 4420, 5376, 0, 0, 0}, {5951, 12336, 5200, 0, 0, 0, 0}, {880, 1024, 0, 0, 0, 0, 0}, {10, 1542, 1365, 4369, 0, 0, 0}, {10, 4386, 1536, 1360, 0, 0, 0}, {1036, 883, 16448, 0, 0, 0, 0}, {1020, 3084, 12336, 17476, 0, 0, 0}, {10, 32, 512, 341, 1024, 4096, 0}, {10, 32, 512, 342, 1030, 4112, 0}, {1023, 3072, 12288, 18295, 0, 0, 0}, {1008, 3072, 13056, 18296, 0, 0, 0}, {10, 32, 512, 339, 1030, 4371, 0}, {10, 32, 512, 336, 1024, 4352, 0}, {1011, 3084, 13107, 17476, 0, 0, 0}, {1036, 1904, 16448, 0, 0, 0, 0}, {10, 5154, 1536, 1365, 0, 0, 0}, {10, 4626, 4420, 5140, 0, 0, 0}, {895, 12288, 1024, 0, 0, 0, 0}, {128, 768, 1024, 0, 0, 0, 0}, {10, 771, 1285, 4369, 0, 0, 0}, {10, 4386, 768, 1280, 0, 0, 0}, {1036, 771, 16448, 0, 0, 0, 0}, {780, 17476, 0, 0, 0, 0, 0}, {32, 512, 261, 0, 0, 0, 0}, {262, 4160, 1280, 0, 0, 0, 0}, {783, 30583, 0, 0, 0, 0, 0}, {17544, 768, 0, 0, 0, 0, 0}, {259, 1285, 4112, 0, 0, 0, 0}, {10, 32, 256, 0, 0, 0, 0}, {771, 17476, 0, 0, 0, 0, 0}, {1036, 1792, 16448, 0, 0, 0, 0}, {10, 4471, 773, 1285, 0, 0, 0}, {10, 774, 4420, 1280, 0, 0, 0}, {783, 12400, 1024, 0, 0, 0, 0}, {6912, 816, 5200, 0, 0, 0, 0}, {793, 819, 1092, 4369, 0, 0, 0}, {4360, 4386, 4626, 5440, 0, 0, 0}, {5983, 819, 20480, 0, 0, 0, 0}, {796, 32, 4176, 5140, 0, 0, 0}, {831, 8704, 4437, 0, 0, 0, 0}, {4698, 4454, 21760, 0, 0, 0, 0}, {5128, 32, 5911, 4160, 0, 0, 0}, {1096, 32, 784, 4112, 0, 0, 0}, {4403, 4608, 21845, 0, 0, 0, 0}, {3930, 816, 4352, 0, 0, 0, 0}, {32, 787, 1092, 4096, 0, 0, 0}, {5180, 5888, 20560, 0, 0, 0, 0}, {4445, 4471, 789, 5397, 0, 0, 0}, {42, 790, 4420, 5376, 0, 0, 0}, {831, 12384, 5120, 0, 0, 0, 0}, {160, 768, 5120, 0, 0, 0, 0}, {42, 771, 1028, 4369, 0, 0, 0}, {4360, 4386, 768, 5376, 0, 0, 0}, {5180, 771, 20560, 0, 0, 0, 0}, {780, 32, 4160, 1028, 0, 0, 0}, {783, 8704, 4437, 0, 0, 0, 0}, {780, 4454, 21760, 0, 0, 0, 0}, {1032, 32, 1799, 4176, 0, 0, 0}, {1032, 32, 768, 4096, 0, 0, 0}, {4403, 771, 21845, 0, 0, 0, 0}, {170, 768, 4352, 0, 0, 0, 0}, {32, 771, 1028, 4112, 0, 0, 0}, {780, 5984, 20480, 0, 0, 0, 0}, {1032, 1058, 1799, 5461, 0, 0, 0}, {780, 806, 4420, 1028, 0, 0, 0}, {783, 9216, 5200, 0, 0, 0, 0}, {2048, 816, 1088, 0, 0, 0, 0}, {10, 819, 1365, 4369, 0, 0, 0}, {10, 4386, 4626, 1360, 0, 0, 0}, {1100, 819, 16384, 0, 0, 0, 0}, {828, 17476, 0, 0, 0, 0, 0}, {32, 512, 277, 0, 0, 0, 0}, {278, 4176, 5376, 0, 0, 0, 0}, {831, 30583, 0, 0, 0, 0, 0}, {18504, 816, 0, 0, 0, 0, 0}, {275, 1365, 4096, 0, 0, 0, 0}, {10, 512, 272, 0, 0, 0, 0}, {819, 17476, 0, 0, 0, 0, 0}, {1100, 1904, 16384, 0, 0, 0, 0}, {10, 5154, 5911, 1365, 0, 0, 0}, {10, 822, 4420, 5140, 0, 0, 0}, {831, 13312, 1088, 0, 0, 0, 0}, {960, 3840, 13056, 17408, 0, 0, 0}, {10, 32, 514, 321, 1285, 4369, 0}, {10, 32, 514, 322, 1280, 4354, 0}, {963, 3855, 13107, 18191, 0, 0, 0}, {1800, 12288, 1092, 0, 0, 0, 0}, {10, 4656, 4437, 1285, 0, 0, 0}, {10, 4454, 4608, 1280, 0, 0, 0}, {1096, 1799, 16448, 0, 0, 0, 0}, {1096, 832, 16448, 0, 0, 0, 0}, {10, 4403, 4688, 1285, 0, 0, 0}, {10, 864, 1280, 4352, 0, 0, 0}, {1799, 1092, 0, 0, 0, 0, 0}, {972, 3840, 12288, 18176, 0, 0, 0}, {10, 32, 514, 327, 1285, 4112, 0}, {10, 32, 514, 324, 1280, 4096, 0}, {975, 3855, 12336, 17408, 0, 0, 0}, {32, 4864, 4176, 1024, 0, 0, 0}, {857, 4369, 0, 0, 0, 0, 0}, {858, 4386, 21760, 0, 0, 0, 0}, {1036, 32, 4883, 4160, 0, 0, 0}, {860, 12336, 5140, 0, 0, 0, 0}, {42, 4608, 4437, 1024, 0, 0, 0}, {1036, 1062, 5654, 5440, 0, 0, 0}, {863, 6007, 20480, 0, 0, 0, 0}, {5240, 848, 20560, 0, 0, 0, 0}, {4377, 4403, 4672, 5397, 0, 0, 0}, {858, 880, 1024, 4352, 0, 0, 0}, {5911, 5188, 0, 0, 0, 0, 0}, {1036, 32, 1872, 4112, 0, 0, 0}, {4471, 853, 21845, 0, 0, 0, 0}, {4626, 4420, 0, 0, 0, 0, 0}, {863, 32, 1024, 4096, 0, 0, 0}, {32, 4864, 4160, 5120, 0, 0, 0}, {873, 4369, 0, 0, 0, 0, 0}, {4680, 4386, 21760, 0, 0, 0, 0}, {5148, 32, 4883, 4176, 0, 0, 0}, {5928, 12288, 5188, 0, 0, 0, 0}, {4634, 4656, 4437, 5397, 0, 0, 0}, {4428, 4454, 4608, 5376, 0, 0, 0}, {5240, 5911, 20560, 0, 0, 0, 0}, {5960, 864, 20480, 0, 0, 0, 0}, {4377, 4403, 5654, 5461, 0, 0, 0}, {42, 1792, 1088, 4352, 0, 0, 0}, {867, 5140, 0, 0, 0, 0, 0}, {1100, 32, 1792, 4096, 0, 0, 0}, {4471, 4626, 21845, 0, 0, 0, 0}, {3840, 4642, 4420, 0, 0, 0, 0}, {1807, 32, 1088, 4112, 0, 0, 0}, {1008, 3072, 13056, 17408, 0, 0, 0}, {10, 32, 514, 337, 1028, 4369, 0}, {10, 32, 514, 338, 1026, 4354, 0}, {1011, 3084, 13107, 18239, 0, 0, 0}, {892, 12336, 1028, 0, 0, 0, 0}, {10, 4608, 4437, 5120, 0, 0, 0}, {10, 5174, 1542, 1360, 0, 0, 0}, {1032, 1911, 16384, 0, 0, 0, 0}, {1032, 880, 16384, 0, 0, 0, 0}, {10, 4403, 1542, 1365, 0, 0, 0}, {10, 1536, 1360, 4352, 0, 0, 0}, {883, 1028, 0, 0, 0, 0, 0}, {1020, 3084, 12336, 18224, 0, 0, 0}, {10, 32, 514, 343, 1026, 4096, 0}, {10, 32, 514, 340, 1028, 4112, 0}, {1023, 3072, 12288, 17408, 0, 0, 0}, {3072, 16384, 0, 0, 0, 0, 0}, {34, 5, 257, 0, 0, 0, 0}, {10, 34, 514, 1026, 0, 0, 0}, {15, 771, 16432, 0, 0, 0, 0}, {136, 1028, 0, 0, 0, 0, 0}, {768, 5, 4096, 0, 0, 0, 0}, {10, 1542, 16480, 0, 0, 0, 0}, {15, 119, 768, 1031, 0, 0, 0}, {1032, 17408, 0, 0, 0, 0, 0}, {4144, 771, 5, 0, 0, 0, 0}, {10, 1536, 16384, 0, 0, 0, 0}, {15, 119, 771, 1028, 0, 0, 0}, {16576, 3084, 0, 0, 0, 0, 0}, {258, 5, 4352, 0, 0, 0, 0}, {10, 34, 514, 1028, 0, 0, 0}, {15, 768, 16384, 0, 0, 0, 0}, {3120, 80, 4112, 0, 0, 0, 0}, {34, 85, 1041, 4369, 0, 0, 0}, {90, 34, 4626, 1042, 0, 0, 0}, {95, 4883, 16416, 0, 0, 0, 0}, {40, 80, 1044, 4096, 0, 0, 0}, {13056, 85, 5397, 0, 0, 0, 0}, {90, 5654, 16496, 0, 0, 0, 0}, {95, 119, 4864, 1047, 0, 0, 0}, {4120, 4144, 80, 5120, 0, 0, 0}, {5418, 13107, 85, 0, 0, 0, 0}, {90, 5744, 16448, 0, 0, 0, 0}, {1051, 1075, 5888, 1092, 0, 0, 0}, {7196, 4128, 80, 0, 0, 0, 0}, {1053, 34, 85, 4352, 0, 0, 0}, {1054, 34, 4608, 1092, 0, 0, 0}, {95, 4896, 16448, 0, 0, 0, 0}, {160, 3072, 8224, 16416, 0, 0, 0}, {15, 34, 771, 85, 1027, 4369, 0}, {34, 1024, 0, 0, 0, 0, 0}, {15, 771, 80, 4112, 0, 0, 0}, {1036, 1060, 17476, 0, 0, 0, 0}, {15, 5413, 768, 85, 0, 0, 0}, {170, 3084, 9766, 16448, 0, 0, 0}, {15, 39, 768, 80, 1024, 4096, 0}, {40, 8192, 1024, 0, 0, 0, 0}, {15, 771, 85, 5397, 0, 0, 0}, {170, 3072, 9770, 16426, 0, 0, 0}, {15, 39, 771, 80, 1027, 4119, 0}, {160, 3084, 8224, 16448, 0, 0, 0}, {15, 34, 768, 85, 1024, 4352, 0}, {1036, 34, 17476, 0, 0, 0, 0}, {15, 4128, 768, 80, 0, 0, 0}, {240, 3120, 12336, 16432, 0, 0, 0}, {10, 34, 514, 85, 1043, 4369, 0}, {10, 34, 514, 80, 1040, 4112, 0}, {255, 3123, 13107, 16384, 0, 0, 0}, {1100, 1076, 17476, 0, 0, 0, 0}, {10, 5429, 4864, 85, 0, 0, 0}, {10, 1590, 80, 4096, 0, 0, 0}, {2056, 1079, 1088, 0, 0, 0, 0}, {1080, 12336, 1088, 0, 0, 0, 0}, {10, 4915, 85, 5376, 0, 0, 0}, {10, 4144, 5632, 80, 0, 0, 0}, {1100, 119, 17476, 0, 0, 0, 0}, {240, 3132, 12288, 16384, 0, 0, 0}, {10, 34, 514, 85, 1045, 4352, 0}, {10, 34, 514, 80, 1046, 4098, 0}, {255, 3135, 13056, 16447, 0, 0, 0}, {3264, 16448, 0, 0, 0, 0, 0}, {512, 5, 273, 0, 0, 0, 0}, {10, 34, 512, 1090, 0, 0, 0}, {15, 819, 17219, 0, 0, 0, 0}, {2048, 1092, 0, 0, 0, 0, 0}, {816, 5, 4112, 0, 0, 0, 0}, {10, 1638, 17990, 0, 0, 0, 0}, {15, 1072, 1792, 1095, 0, 0, 0}, {1096, 17408, 0, 0, 0, 0, 0}, {4128, 4883, 5, 0, 0, 0, 0}, {10, 1632, 16448, 0, 0, 0, 0}, {15, 1075, 1792, 1092, 0, 0, 0}, {16512, 19532, 0, 0, 0, 0, 0}, {274, 5, 4352, 0, 0, 0, 0}, {10, 34, 512, 1092, 0, 0, 0}, {15, 816, 16448, 0, 0, 0, 0}, {3072, 80, 4096, 0, 0, 0, 0}, {34, 85, 1028, 4369, 0, 0, 0}, {1032, 34, 4608, 1106, 0, 0, 0}, {95, 4915, 21331, 0, 0, 0, 0}, {40, 80, 1028, 4112, 0, 0, 0}, {13056, 85, 5376, 0, 0, 0, 0}, {90, 5734, 22102, 0, 0, 0, 0}, {1032, 1056, 5888, 1111, 0, 0, 0}, {4104, 4128, 80, 5120, 0, 0, 0}, {5439, 13107, 85, 0, 0, 0, 0}, {90, 5632, 16384, 0, 0, 0, 0}, {95, 119, 4883, 1028, 0, 0, 0}, {3084, 4144, 80, 0, 0, 0, 0}, {1032, 34, 85, 4352, 0, 0, 0}, {90, 34, 4626, 1028, 0, 0, 0}, {95, 4864, 16384, 0, 0, 0, 0}, {160, 3168, 8192, 16480, 0, 0, 0}, {15, 34, 785, 85, 1046, 4369, 0}, {2056, 34, 1088, 0, 0, 0, 0}, {15, 819, 80, 4096, 0, 0, 0}, {1100, 1124, 17476, 0, 0, 0, 0}, {15, 5424, 5632, 85, 0, 0, 0}, {170, 3174, 9830, 16384, 0, 0, 0}, {15, 39, 791, 80, 1040, 4112, 0}, {40, 8224, 1088, 0, 0, 0, 0}, {15, 819, 85, 5376, 0, 0, 0}, {170, 3178, 9834, 16490, 0, 0, 0}, {15, 39, 788, 80, 1043, 4103, 0}, {160, 3180, 8192, 16384, 0, 0, 0}, {15, 34, 786, 85, 1045, 4352, 0}, {1100, 34, 17476, 0, 0, 0, 0}, {15, 4144, 4864, 80, 0, 0, 0}, {240, 3072, 12288, 16496, 0, 0, 0}, {10, 34, 512, 85, 1030, 4369, 0}, {10, 34, 512, 80, 1024, 4096, 0}, {255, 3084, 13107, 16448, 0, 0, 0}, {1036, 1140, 17476, 0, 0, 0, 0}, {10, 5408, 1536, 85, 0, 0, 0}, {10, 1542, 80, 4112, 0, 0, 0}, {119, 1024, 0, 0, 0, 0, 0}, {120, 12288, 1024, 0, 0, 0, 0}, {10, 4883, 85, 5397, 0, 0, 0}, {10, 4128, 1536, 80, 0, 0, 0}, {1036, 119, 17476, 0, 0, 0, 0}, {240, 3084, 12336, 16448, 0, 0, 0}, {10, 34, 512, 85, 1024, 4352, 0}, {10, 34, 512, 80, 1030, 4114, 0}, {255, 3072, 13056, 16511, 0, 0, 0}, {16512, 3072, 0, 0, 0, 0, 0}, {259, 5, 4369, 0, 0, 0, 0}, {10, 34, 512, 1024, 0, 0, 0}, {15, 771, 16448, 0, 0, 0, 0}, {1036, 17476, 0, 0, 0, 0, 0}, {4128, 768, 5, 0, 0, 0, 0}, {10, 1542, 16448, 0, 0, 0, 0}, {15, 119, 768, 1024, 0, 0, 0}, {136, 1024, 0, 0, 0, 0, 0}, {771, 5, 4112, 0, 0, 0, 0}, {10, 1536, 16416, 0, 0, 0, 0}, {15, 119, 771, 1027, 0, 0, 0}, {3084, 16448, 0, 0, 0, 0, 0}, {34, 5, 256, 0, 0, 0, 0}, {10, 34, 512, 1030, 0, 0, 0}, {15, 768, 16496, 0, 0, 0, 0}, {7168, 4144, 80, 0, 0, 0, 0}, {1049, 34, 85, 4369, 0, 0, 0}, {1050, 34, 4626, 1088, 0, 0, 0}, {95, 4915, 16384, 0, 0, 0, 0}, {4104, 4128, 80, 5140, 0, 0, 0}, {5439, 13056, 85, 0, 0, 0, 0}, {90, 5734, 16384, 0, 0, 0, 0}, {1055, 1079, 5911, 1088, 0, 0, 0}, {40, 80, 1040, 4112, 0, 0, 0}, {13107, 85, 5376, 0, 0, 0, 0}, {90, 5632, 16432, 0, 0, 0, 0}, {95, 119, 4883, 1043, 0, 0, 0}, {3132, 80, 4096, 0, 0, 0, 0}, {34, 85, 1045, 4352, 0, 0, 0}, {90, 34, 4608, 1046, 0, 0, 0}, {95, 4864, 16480, 0, 0, 0, 0}, {160, 3072, 8192, 16384, 0, 0, 0}, {15, 34, 771, 85, 1028, 4369, 0}, {1032, 34, 17408, 0, 0, 0, 0}, {15, 4144, 771, 80, 0, 0, 0}, {40, 8224, 1028, 0, 0, 0, 0}, {15, 768, 85, 5376, 0, 0, 0}, {170, 3084, 9740, 16490, 0, 0, 0}, {15, 39, 768, 80, 1031, 4103, 0}, {1032, 1056, 17408, 0, 0, 0, 0}, {15, 5424, 771, 85, 0, 0, 0}, {170, 3072, 9728, 16384, 0, 0, 0}, {15, 39, 771, 80, 1028, 4112, 0}, {160, 3084, 8192, 16480, 0, 0, 0}, {15, 34, 768, 85, 1031, 4352, 0}, {34, 1028, 0, 0, 0, 0, 0}, {15, 768, 80, 4096, 0, 0, 0}, {240, 3120, 12336, 16448, 0, 0, 0}, {10, 34, 512, 85, 1041, 4369, 0}, {10, 34, 512, 80, 1042, 4114, 0}, {255, 3123, 13107, 16511, 0, 0, 0}, {1084, 12288, 1092, 0, 0, 0, 0}, {10, 4896, 85, 5397, 0, 0, 0}, {10, 4128, 5654, 80, 0, 0, 0}, {1096, 119, 17408, 0, 0, 0, 0}, {1096, 1072, 17408, 0, 0, 0, 0}, {10, 5408, 4883, 85, 0, 0, 0}, {10, 1584, 80, 4112, 0, 0, 0}, {2048, 1075, 1092, 0, 0, 0, 0}, {240, 3132, 12288, 16496, 0, 0, 0}, {10, 34, 512, 85, 1047, 4352, 0}, {10, 34, 512, 80, 1044, 4096, 0}, {255, 3135, 13056, 16448, 0, 0, 0}, {16576, 19456, 0, 0, 0, 0, 0}, {275, 5, 4369, 0, 0, 0, 0}, {10, 34, 514, 1088, 0, 0, 0}, {15, 819, 16384, 0, 0, 0, 0}, {1100, 17476, 0, 0, 0, 0, 0}, {4144, 4864, 5, 0, 0, 0, 0}, {10, 1638, 16384, 0, 0, 0, 0}, {15, 1079, 1799, 1088, 0, 0, 0}, {2056, 1088, 0, 0, 0, 0, 0}, {819, 5, 4096, 0, 0, 0, 0}, {10, 1632, 17920, 0, 0, 0, 0}, {15, 1076, 1799, 1091, 0, 0, 0}, {3276, 16384, 0, 0, 0, 0, 0}, {514, 5, 272, 0, 0, 0, 0}, {10, 34, 514, 1094, 0, 0, 0}, {15, 816, 17152, 0, 0, 0, 0}, {3072, 4128, 80, 0, 0, 0, 0}, {1036, 34, 85, 4369, 0, 0, 0}, {90, 34, 4608, 1024, 0, 0, 0}, {95, 4883, 16448, 0, 0, 0, 0}, {4120, 4144, 80, 5140, 0, 0, 0}, {5418, 13056, 85, 0, 0, 0, 0}, {90, 5654, 16448, 0, 0, 0, 0}, {95, 119, 4864, 1024, 0, 0, 0}, {40, 80, 1024, 4096, 0, 0, 0}, {13107, 85, 5397, 0, 0, 0, 0}, {90, 5744, 22016, 0, 0, 0, 0}, {1036, 1060, 5911, 1107, 0, 0, 0}, {3084, 80, 4112, 0, 0, 0, 0}, {34, 85, 1024, 4352, 0, 0, 0}, {1036, 34, 4626, 1110, 0, 0, 0}, {95, 4896, 21248, 0, 0, 0, 0}, {160, 3168, 8224, 16448, 0, 0, 0}, {15, 34, 785, 85, 1041, 4369, 0}, {1096, 34, 17408, 0, 0, 0, 0}, {15, 4128, 4883, 80, 0, 0, 0}, {40, 8192, 1092, 0, 0, 0, 0}, {15, 816, 85, 5397, 0, 0, 0}, {170, 3174, 9804, 16426, 0, 0, 0}, {15, 39, 791, 80, 1047, 4119, 0}, {1096, 1120, 17408, 0, 0, 0, 0}, {15, 5413, 5654, 85, 0, 0, 0}, {170, 3178, 9792, 16448, 0, 0, 0}, {15, 39, 788, 80, 1044, 4096, 0}, {160, 3180, 8224, 16416, 0, 0, 0}, {15, 34, 786, 85, 1042, 4352, 0}, {2048, 34, 1092, 0, 0, 0, 0}, {15, 816, 80, 4112, 0, 0, 0}, {240, 3072, 12288, 16384, 0, 0, 0}, {10, 34, 514, 85, 1028, 4369, 0}, {10, 34, 514, 80, 1026, 4098, 0}, {255, 3084, 13107, 16447, 0, 0, 0}, {120, 12336, 1028, 0, 0, 0, 0}, {10, 4864, 85, 5376, 0, 0, 0}, {10, 4144, 1542, 80, 0, 0, 0}, {1032, 119, 17408, 0, 0, 0, 0}, {1032, 1136, 17408, 0, 0, 0, 0}, {10, 5429, 1542, 85, 0, 0, 0}, {10, 1536, 80, 4096, 0, 0, 0}, {119, 1028, 0, 0, 0, 0, 0}, {240, 3084, 12336, 16432, 0, 0, 0}, {10, 34, 514, 85, 1026, 4352, 0}, {10, 34, 514, 80, 1028, 4112, 0}, {255, 3072, 13056, 16384, 0, 0, 0}, {8704, 1280, 0, 0, 0, 0, 0}, {12, 64, 257, 0, 0, 0, 0}, {1290, 514, 20512, 0, 0, 0, 0}, {12, 4403, 771, 1283, 0, 0, 0}, {768, 260, 4096, 0, 0, 0, 0}, {8874, 1285, 0, 0, 0, 0, 0}, {12, 4454, 768, 1286, 0, 0, 0}, {1295, 1799, 20592, 0, 0, 0, 0}, {520, 8192, 1280, 0, 0, 0, 0}, {12, 771, 4437, 1285, 0, 0, 0}, {1290, 30464, 0, 0, 0, 0, 0}, {263, 64, 1028, 0, 0, 0, 0}, {12, 768, 1280, 4352, 0, 0, 0}, {128, 514, 1285, 0, 0, 0, 0}, {258, 64, 1028, 0, 0, 0, 0}, {1295, 8704, 0, 0, 0, 0, 0}, {544, 64, 1296, 4112, 0, 0, 0}, {3891, 1365, 4369, 0, 0, 0, 0}, {1370, 4626, 20528, 0, 0, 0, 0}, {76, 4403, 4883, 1299, 0, 0, 0}, {13056, 4420, 5140, 0, 0, 0, 0}, {554, 64, 1301, 4096, 0, 0, 0}, {76, 4454, 4864, 1302, 0, 0, 0}, {1375, 5911, 20576, 0, 0, 0, 0}, {5928, 12336, 1360, 0, 0, 0, 0}, {4377, 4915, 4437, 5120, 0, 0, 0}, {1306, 4144, 5888, 64, 0, 0, 0}, {1375, 4471, 17476, 0, 0, 0, 0}, {1308, 544, 1360, 4352, 0, 0, 0}, {7453, 4642, 1365, 0, 0, 0, 0}, {1370, 4386, 17476, 0, 0, 0, 0}, {1311, 4128, 4608, 64, 0, 0, 0}, {1312, 1792, 21760, 0, 0, 0, 0}, {12, 1381, 771, 4369, 0, 0, 0}, {1450, 3840, 8738, 20480, 0, 0, 0}, {12, 291, 771, 64, 1024, 4112, 0}, {12, 5156, 768, 4420, 0, 0, 0}, {1807, 1317, 21845, 0, 0, 0, 0}, {12, 294, 768, 64, 1024, 4096, 0}, {1455, 3855, 10023, 20560, 0, 0, 0}, {1440, 3840, 10024, 21760, 0, 0, 0}, {12, 293, 771, 64, 1024, 4373, 0}, {1322, 1792, 20480, 0, 0, 0, 0}, {12, 4471, 771, 5140, 0, 0, 0}, {12, 288, 768, 64, 1024, 4352, 0}, {1445, 3855, 8738, 21845, 0, 0, 0}, {12, 4386, 768, 5188, 0, 0, 0}, {1807, 544, 20560, 0, 0, 0, 0}, {1328, 5888, 21760, 0, 0, 0, 0}, {76, 1397, 514, 4369, 0, 0, 0}, {1338, 514, 64, 4112, 0, 0, 0}, {4403, 5120, 0, 0, 0, 0, 0}, {4360, 5172, 4864, 4420, 0, 0, 0}, {5983, 1333, 21845, 0, 0, 0, 0}, {2570, 1334, 5200, 0, 0, 0, 0}, {520, 1847, 64, 4096, 0, 0, 0}, {520, 4144, 64, 5376, 0, 0, 0}, {1337, 13107, 4437, 0, 0, 0, 0}, {4698, 5984, 20560, 0, 0, 0, 0}, {5128, 1331, 5632, 5188, 0, 0, 0}, {1340, 4352, 0, 0, 0, 0, 0}, {4128, 514, 64, 5397, 0, 0, 0}, {76, 4386, 514, 5140, 0, 0, 0}, {1343, 4608, 20480, 0, 0, 0, 0}, {512, 64, 1280, 4096, 0, 0, 0}, {204, 1285, 4369, 0, 0, 0, 0}, {1290, 4642, 16962, 0, 0, 0, 0}, {1295, 4403, 512, 1347, 0, 0, 0}, {13056, 4420, 1280, 0, 0, 0, 0}, {522, 64, 1285, 4112, 0, 0, 0}, {1290, 5152, 1792, 1350, 0, 0, 0}, {1295, 6007, 18247, 0, 0, 0, 0}, {4680, 12288, 1280, 0, 0, 0, 0}, {4377, 4883, 4437, 1285, 0, 0, 0}, {1290, 4128, 1792, 64, 0, 0, 0}, {1295, 4471, 17476, 0, 0, 0, 0}, {76, 512, 1280, 4352, 0, 0, 0}, {192, 4626, 1285, 0, 0, 0, 0}, {1290, 4386, 17476, 0, 0, 0, 0}, {1295, 4144, 512, 64, 0, 0, 0}, {8704, 1360, 0, 0, 0, 0, 0}, {12, 1028, 273, 0, 0, 0, 0}, {1370, 546, 21074, 0, 0, 0, 0}, {12, 4403, 4608, 1363, 0, 0, 0}, {816, 276, 4112, 0, 0, 0, 0}, {10240, 1365, 0, 0, 0, 0, 0}, {12, 5168, 5888, 1366, 0, 0, 0}, {1375, 1911, 22359, 0, 0, 0, 0}, {552, 8224, 1360, 0, 0, 0, 0}, {12, 819, 4437, 5120, 0, 0, 0}, {1370, 30464, 0, 0, 0, 0, 0}, {279, 64, 1028, 0, 0, 0, 0}, {12, 816, 1360, 4352, 0, 0, 0}, {2056, 546, 1365, 0, 0, 0, 0}, {274, 64, 1028, 0, 0, 0, 0}, {1375, 8704, 0, 0, 0, 0, 0}, {1376, 4608, 21760, 0, 0, 0, 0}, {76, 1317, 1799, 4369, 0, 0, 0}, {1800, 546, 64, 4096, 0, 0, 0}, {3855, 4403, 5200, 0, 0, 0, 0}, {4360, 1312, 5632, 4420, 0, 0, 0}, {4698, 1381, 21845, 0, 0, 0, 0}, {4454, 5120, 0, 0, 0, 0, 0}, {1327, 1799, 64, 4112, 0, 0, 0}, {4616, 4128, 64, 5376, 0, 0, 0}, {5180, 13107, 4437, 0, 0, 0, 0}, {1386, 5888, 20480, 0, 0, 0, 0}, {76, 4471, 4883, 5140, 0, 0, 0}, {1388, 4352, 0, 0, 0, 0, 0}, {4144, 4626, 64, 5397, 0, 0, 0}, {5128, 4386, 4864, 5188, 0, 0, 0}, {5983, 4656, 20560, 0, 0, 0, 0}, {1392, 512, 21760, 0, 0, 0, 0}, {12, 1333, 1542, 4369, 0, 0, 0}, {1530, 2570, 8738, 20560, 0, 0, 0}, {12, 307, 512, 64, 1024, 4096, 0}, {12, 1328, 1536, 4420, 0, 0, 0}, {522, 1397, 21845, 0, 0, 0, 0}, {12, 310, 518, 64, 1024, 4112, 0}, {1535, 2560, 10103, 20480, 0, 0, 0}, {1520, 2560, 10104, 21760, 0, 0, 0}, {12, 309, 518, 64, 1024, 4373, 0}, {522, 1904, 20560, 0, 0, 0, 0}, {12, 1331, 1536, 5188, 0, 0, 0}, {12, 304, 512, 64, 1024, 4352, 0}, {1525, 2570, 8738, 21845, 0, 0, 0}, {12, 4386, 4626, 5140, 0, 0, 0}, {1407, 512, 20480, 0, 0, 0, 0}, {128, 512, 1280, 0, 0, 0, 0}, {12, 771, 1285, 4369, 0, 0, 0}, {1290, 8738, 0, 0, 0, 0, 0}, {259, 64, 1024, 0, 0, 0, 0}, {12, 768, 4420, 1280, 0, 0, 0}, {522, 8224, 1285, 0, 0, 0, 0}, {262, 64, 1024, 0, 0, 0, 0}, {1295, 30583, 0, 0, 0, 0, 0}, {8840, 1280, 0, 0, 0, 0, 0}, {771, 261, 4112, 0, 0, 0, 0}, {1290, 1792, 20512, 0, 0, 0, 0}, {12, 4471, 771, 1283, 0, 0, 0}, {12, 64, 256, 0, 0, 0, 0}, {8738, 1285, 0, 0, 0, 0, 0}, {12, 4386, 768, 1286, 0, 0, 0}, {1295, 512, 20592, 0, 0, 0, 0}, {7424, 4656, 1360, 0, 0, 0, 0}, {1305, 546, 1365, 4369, 0, 0, 0}, {1306, 4144, 4626, 64, 0, 0, 0}, {1375, 4403, 17408, 0, 0, 0, 0}, {4360, 4896, 4420, 5140, 0, 0, 0}, {5951, 12288, 1365, 0, 0, 0, 0}, {1370, 4454, 17408, 0, 0, 0, 0}, {1311, 4128, 5911, 64, 0, 0, 0}, {552, 64, 1296, 4112, 0, 0, 0}, {13107, 4437, 5120, 0, 0, 0, 0}, {1370, 5888, 20528, 0, 0, 0, 0}, {76, 4471, 4883, 1299, 0, 0, 0}, {3900, 1360, 4352, 0, 0, 0, 0}, {546, 64, 1301, 4096, 0, 0, 0}, {76, 4386, 4864, 1302, 0, 0, 0}, {1375, 4608, 20576, 0, 0, 0, 0}, {1440, 3840, 8704, 21760, 0, 0, 0}, {12, 289, 771, 64, 1028, 4369, 0}, {1800, 546, 20480, 0, 0, 0, 0}, {12, 4403, 771, 5200, 0, 0, 0}, {12, 292, 768, 64, 1028, 4356, 0}, {1445, 3855, 9999, 21845, 0, 0, 0}, {12, 4454, 768, 5120, 0, 0, 0}, {1327, 1799, 20560, 0, 0, 0, 0}, {1800, 1312, 21760, 0, 0, 0, 0}, {12, 5168, 771, 4437, 0, 0, 0}, {1450, 3840, 9984, 20480, 0, 0, 0}, {12, 295, 771, 64, 1028, 4112, 0}, {12, 1376, 768, 4352, 0, 0, 0}, {1317, 1799, 21845, 0, 0, 0, 0}, {12, 290, 768, 64, 1028, 4096, 0}, {1455, 3855, 8704, 20560, 0, 0, 0}, {4144, 512, 64, 5376, 0, 0, 0}, {1337, 4369, 0, 0, 0, 0, 0}, {1338, 4626, 20560, 0, 0, 0, 0}, {76, 4403, 512, 5120, 0, 0, 0}, {1340, 13056, 4420, 0, 0, 0, 0}, {522, 4128, 64, 5397, 0, 0, 0}, {5148, 1334, 5654, 5200, 0, 0, 0}, {4680, 6007, 20480, 0, 0, 0, 0}, {5960, 1328, 21760, 0, 0, 0, 0}, {4377, 5152, 4883, 4437, 0, 0, 0}, {522, 1840, 64, 4112, 0, 0, 0}, {2560, 1331, 5188, 0, 0, 0, 0}, {76, 1392, 512, 4352, 0, 0, 0}, {1333, 5911, 21845, 0, 0, 0, 0}, {4386, 5140, 0, 0, 0, 0, 0}, {1343, 512, 64, 4096, 0, 0, 0}, {192, 4608, 1280, 0, 0, 0, 0}, {76, 514, 1285, 4369, 0, 0, 0}, {1290, 4128, 514, 64, 0, 0, 0}, {1295, 4403, 17408, 0, 0, 0, 0}, {4360, 4864, 4420, 1280, 0, 0, 0}, {4698, 12336, 1285, 0, 0, 0, 0}, {1290, 4454, 17408, 0, 0, 0, 0}, {1295, 4144, 1799, 64, 0, 0, 0}, {520, 64, 1280, 4096, 0, 0, 0}, {13107, 4437, 1285, 0, 0, 0, 0}, {1290, 5984, 18176, 0, 0, 0, 0}, {1295, 5172, 1799, 1347, 0, 0, 0}, {204, 1280, 4352, 0, 0, 0, 0}, {514, 64, 1285, 4112, 0, 0, 0}, {1290, 4386, 514, 1350, 0, 0, 0}, {1295, 4656, 16896, 0, 0, 0, 0}, {2048, 544, 1360, 0, 0, 0, 0}, {12, 819, 1365, 4369, 0, 0, 0}, {1370, 8738, 0, 0, 0, 0, 0}, {275, 64, 1024, 0, 0, 0, 0}, {12, 816, 4420, 5140, 0, 0, 0}, {554, 8192, 1365, 0, 0, 0, 0}, {278, 64, 1024, 0, 0, 0, 0}, {1375, 30583, 0, 0, 0, 0, 0}, {10280, 1360, 0, 0, 0, 0, 0}, {819, 277, 4096, 0, 0, 0, 0}, {1370, 1904, 22272, 0, 0, 0, 0}, {12, 5156, 5911, 1363, 0, 0, 0}, {12, 1024, 272, 0, 0, 0, 0}, {8738, 1365, 0, 0, 0, 0, 0}, {12, 4386, 4626, 1366, 0, 0, 0}, {1375, 544, 20992, 0, 0, 0, 0}, {4128, 4608, 64, 5376, 0, 0, 0}, {1385, 4369, 0, 0, 0, 0, 0}, {5960, 4642, 20480, 0, 0, 0, 0}, {5148, 4403, 4883, 5200, 0, 0, 0}, {5160, 13056, 4420, 0, 0, 0, 0}, {4634, 4144, 64, 5397, 0, 0, 0}, {76, 4454, 4864, 5120, 0, 0, 0}, {1391, 5911, 20560, 0, 0, 0, 0}, {4680, 1376, 21760, 0, 0, 0, 0}, {4377, 1317, 5654, 4437, 0, 0, 0}, {1322, 1792, 64, 4096, 0, 0, 0}, {4471, 5140, 0, 0, 0, 0, 0}, {76, 1312, 1792, 4352, 0, 0, 0}, {1381, 4626, 21845, 0, 0, 0, 0}, {3840, 4386, 5188, 0, 0, 0, 0}, {1807, 544, 64, 4112, 0, 0, 0}, {1520, 2560, 8704, 21760, 0, 0, 0}, {12, 305, 514, 64, 1028, 4369, 0}, {1402, 514, 20560, 0, 0, 0, 0}, {12, 4403, 4608, 5120, 0, 0, 0}, {12, 308, 516, 64, 1028, 4356, 0}, {1525, 2570, 10079, 21845, 0, 0, 0}, {12, 1334, 1542, 5200, 0, 0, 0}, {520, 1911, 20480, 0, 0, 0, 0}, {520, 1392, 21760, 0, 0, 0, 0}, {12, 1333, 1542, 4437, 0, 0, 0}, {1530, 2570, 10064, 20560, 0, 0, 0}, {12, 311, 516, 64, 1028, 4096, 0}, {12, 1328, 1536, 4352, 0, 0, 0}, {1397, 514, 21845, 0, 0, 0, 0}, {12, 306, 514, 64, 1028, 4112, 0}, {1535, 2560, 8704, 20480, 0, 0, 0}, {1536, 17408, 0, 0, 0, 0, 0}, {15, 112, 257, 0, 0, 0, 0}, {1032, 514, 16384, 0, 0, 0, 0}, {15, 4403, 771, 1280, 0, 0, 0}, {520, 8192, 1028, 0, 0, 0, 0}, {15, 768, 4437, 1285, 0, 0, 0}, {17612, 1542, 0, 0, 0, 0, 0}, {263, 1280, 4096, 0, 0, 0, 0}, {1032, 1536, 16384, 0, 0, 0, 0}, {15, 4454, 771, 1285, 0, 0, 0}, {1546, 17408, 0, 0, 0, 0, 0}, {4144, 771, 260, 0, 0, 0, 0}, {1548, 8704, 0, 0, 0, 0, 0}, {258, 4176, 1285, 0, 0, 0, 0}, {128, 514, 1028, 0, 0, 0, 0}, {15, 768, 1280, 4352, 0, 0, 0}, {1072, 1552, 1088, 4112, 0, 0, 0}, {2645, 1638, 4369, 0, 0, 0, 0}, {5240, 4626, 20480, 0, 0, 0, 0}, {4428, 4403, 4883, 5376, 0, 0, 0}, {4728, 12288, 5140, 0, 0, 0, 0}, {4394, 4864, 4437, 5397, 0, 0, 0}, {1100, 112, 1558, 4096, 0, 0, 0}, {4471, 5911, 21760, 0, 0, 0, 0}, {4680, 1632, 20560, 0, 0, 0, 0}, {4377, 1075, 5888, 5461, 0, 0, 0}, {4634, 4144, 4160, 5120, 0, 0, 0}, {5928, 13107, 4420, 0, 0, 0, 0}, {5148, 4128, 4608, 4176, 0, 0, 0}, {5960, 4386, 21845, 0, 0, 0, 0}, {7710, 4642, 5188, 0, 0, 0, 0}, {1567, 544, 1088, 4352, 0, 0, 0}, {544, 1024, 0, 0, 0, 0, 0}, {15, 771, 1365, 4369, 0, 0, 0}, {1706, 3072, 8738, 16930, 0, 0, 0}, {15, 291, 771, 339, 1027, 4112, 0}, {1708, 3084, 9252, 17476, 0, 0, 0}, {15, 293, 768, 341, 1024, 4096, 0}, {1036, 1574, 16448, 0, 0, 0, 0}, {15, 5159, 768, 1360, 0, 0, 0}, {1696, 3072, 9256, 16936, 0, 0, 0}, {15, 294, 771, 342, 1027, 4374, 0}, {554, 8192, 1024, 0, 0, 0, 0}, {15, 771, 4420, 5140, 0, 0, 0}, {1036, 544, 16448, 0, 0, 0, 0}, {15, 4386, 768, 1365, 0, 0, 0}, {1702, 3084, 8738, 17476, 0, 0, 0}, {15, 288, 768, 336, 1024, 4352, 0}, {4656, 5120, 0, 0, 0, 0, 0}, {1083, 514, 1092, 4369, 0, 0, 0}, {1096, 112, 514, 4112, 0, 0, 0}, {4403, 5888, 21760, 0, 0, 0, 0}, {520, 1076, 1092, 4096, 0, 0, 0}, {2570, 1589, 4437, 0, 0, 0, 0}, {4698, 1590, 20560, 0, 0, 0, 0}, {4360, 1079, 4864, 5440, 0, 0, 0}, {5128, 4144, 5632, 4160, 0, 0, 0}, {5983, 4454, 21845, 0, 0, 0, 0}, {1594, 12336, 5200, 0, 0, 0, 0}, {520, 4915, 4420, 5376, 0, 0, 0}, {5180, 4608, 20480, 0, 0, 0, 0}, {4445, 4386, 514, 5397, 0, 0, 0}, {4128, 514, 4176, 5140, 0, 0, 0}, {1599, 4352, 0, 0, 0, 0, 0}, {512, 1088, 0, 0, 0, 0, 0}, {15, 819, 1285, 4369, 0, 0, 0}, {1738, 2570, 8738, 16962, 0, 0, 0}, {15, 307, 512, 323, 1280, 4096, 0}, {1740, 2560, 9284, 17476, 0, 0, 0}, {15, 309, 517, 325, 1285, 4112, 0}, {1100, 1606, 16384, 0, 0, 0, 0}, {15, 4471, 4679, 1280, 0, 0, 0}, {1728, 2560, 9288, 16968, 0, 0, 0}, {15, 310, 517, 326, 1285, 4374, 0}, {522, 8224, 1088, 0, 0, 0, 0}, {15, 819, 4420, 1280, 0, 0, 0}, {1100, 512, 16384, 0, 0, 0, 0}, {15, 4386, 4626, 1285, 0, 0, 0}, {1734, 2570, 8738, 17476, 0, 0, 0}, {15, 304, 512, 320, 1280, 4352, 0}, {4608, 5200, 0, 0, 0, 0, 0}, {605, 546, 1028, 4369, 0, 0, 0}, {1032, 112, 594, 4096, 0, 0, 0}, {4403, 1619, 21760, 0, 0, 0, 0}, {600, 112, 1028, 4112, 0, 0, 0}, {5888, 4437, 0, 0, 0, 0, 0}, {5180, 1622, 20480, 0, 0, 0, 0}, {4360, 4471, 599, 5376, 0, 0, 0}, {1032, 4128, 5632, 4176, 0, 0, 0}, {1625, 4454, 21845, 0, 0, 0, 0}, {4698, 12288, 5120, 0, 0, 0, 0}, {4411, 4883, 4420, 1028, 0, 0, 0}, {1628, 4656, 20560, 0, 0, 0, 0}, {1032, 4386, 4864, 5461, 0, 0, 0}, {4144, 4626, 4160, 1028, 0, 0, 0}, {1631, 4352, 0, 0, 0, 0, 0}, {1632, 17408, 0, 0, 0, 0, 0}, {15, 1799, 273, 0, 0, 0, 0}, {1096, 546, 16448, 0, 0, 0, 0}, {15, 4403, 4608, 1360, 0, 0, 0}, {552, 8224, 1092, 0, 0, 0, 0}, {15, 816, 4437, 5120, 0, 0, 0}, {18432, 1638, 0, 0, 0, 0, 0}, {279, 1360, 4112, 0, 0, 0, 0}, {1096, 1632, 16448, 0, 0, 0, 0}, {15, 5171, 5888, 1365, 0, 0, 0}, {1642, 17408, 0, 0, 0, 0, 0}, {4128, 4883, 276, 0, 0, 0, 0}, {1644, 8704, 0, 0, 0, 0, 0}, {274, 4160, 5397, 0, 0, 0, 0}, {2056, 546, 1092, 0, 0, 0, 0}, {15, 816, 1360, 4352, 0, 0, 0}, {112, 512, 1024, 4096, 0, 0, 0}, {255, 1542, 4369, 0, 0, 0, 0}, {1546, 4642, 20560, 0, 0, 0, 0}, {1036, 4403, 512, 5440, 0, 0, 0}, {1548, 12336, 5188, 0, 0, 0, 0}, {522, 4896, 4437, 1024, 0, 0, 0}, {1036, 112, 1542, 4112, 0, 0, 0}, {4471, 1536, 21760, 0, 0, 0, 0}, {5240, 1536, 20480, 0, 0, 0, 0}, {4377, 4454, 4883, 5397, 0, 0, 0}, {522, 4128, 4176, 1024, 0, 0, 0}, {1548, 13107, 4420, 0, 0, 0, 0}, {1036, 4144, 512, 4160, 0, 0, 0}, {1546, 4386, 21845, 0, 0, 0, 0}, {240, 4626, 5140, 0, 0, 0, 0}, {127, 512, 1024, 4352, 0, 0, 0}, {128, 512, 1024, 0, 0, 0, 0}, {15, 771, 1285, 4369, 0, 0, 0}, {1546, 8738, 0, 0, 0, 0, 0}, {259, 4160, 1280, 0, 0, 0, 0}, {1548, 17476, 0, 0, 0, 0, 0}, {4128, 768, 261, 0, 0, 0, 0}, {1036, 1542, 16448, 0, 0, 0, 0}, {15, 4471, 768, 1280, 0, 0, 0}, {17544, 1536, 0, 0, 0, 0, 0}, {262, 1285, 4112, 0, 0, 0, 0}, {522, 8224, 1024, 0, 0, 0, 0}, {15, 771, 4420, 1280, 0, 0, 0}, {1036, 512, 16448, 0, 0, 0, 0}, {15, 4386, 768, 1285, 0, 0, 0}, {1542, 17476, 0, 0, 0, 0, 0}, {15, 112, 256, 0, 0, 0, 0}, {7680, 4656, 5200, 0, 0, 0, 0}, {1561, 546, 1092, 4369, 0, 0, 0}, {5128, 4144, 4626, 4160, 0, 0, 0}, {5983, 4403, 21760, 0, 0, 0, 0}, {4616, 4128, 4176, 5140, 0, 0, 0}, {5951, 13056, 4437, 0, 0, 0, 0}, {4698, 1638, 20480, 0, 0, 0, 0}, {4360, 1079, 5911, 5440, 0, 0, 0}, {1096, 112, 1552, 4112, 0, 0, 0}, {4454, 5888, 21845, 0, 0, 0, 0}, {4714, 12336, 5120, 0, 0, 0, 0}, {4411, 4883, 4420, 5376, 0, 0, 0}, {5228, 4608, 20560, 0, 0, 0, 0}, {4445, 4386, 4864, 5397, 0, 0, 0}, {1076, 1558, 1092, 4096, 0, 0, 0}, {2655, 1632, 4352, 0, 0, 0, 0}, {1696, 3072, 8704, 17408, 0, 0, 0}, {15, 289, 771, 337, 1028, 4369, 0}, {1032, 546, 16384, 0, 0, 0, 0}, {15, 4403, 771, 1360, 0, 0, 0}, {552, 8224, 1028, 0, 0, 0, 0}, {15, 768, 4437, 5120, 0, 0, 0}, {1702, 3084, 9228, 17002, 0, 0, 0}, {15, 295, 768, 343, 1031, 4359, 0}, {1032, 1568, 16384, 0, 0, 0, 0}, {15, 5171, 771, 1365, 0, 0, 0}, {1706, 3072, 9216, 17408, 0, 0, 0}, {15, 292, 771, 340, 1028, 4112, 0}, {1708, 3084, 8704, 16992, 0, 0, 0}, {15, 290, 768, 338, 1031, 4096, 0}, {546, 1028, 0, 0, 0, 0, 0}, {15, 768, 1360, 4352, 0, 0, 0}, {4144, 512, 4160, 5120, 0, 0, 0}, {1593, 4369, 0, 0, 0, 0, 0}, {5160, 4626, 20560, 0, 0, 0, 0}, {4428, 4403, 512, 5376, 0, 0, 0}, {1596, 12288, 5188, 0, 0, 0, 0}, {522, 4896, 4437, 5397, 0, 0, 0}, {5148, 4128, 5654, 4176, 0, 0, 0}, {5960, 4471, 21760, 0, 0, 0, 0}, {4680, 1584, 20480, 0, 0, 0, 0}, {4377, 1075, 4883, 5461, 0, 0, 0}, {522, 1072, 1088, 4112, 0, 0, 0}, {2560, 1587, 4420, 0, 0, 0, 0}, {1100, 112, 512, 4096, 0, 0, 0}, {4386, 5911, 21845, 0, 0, 0, 0}, {4642, 5140, 0, 0, 0, 0, 0}, {1087, 512, 1088, 4352, 0, 0, 0}, {1728, 2560, 8704, 17408, 0, 0, 0}, {15, 305, 514, 321, 1285, 4369, 0}, {1096, 514, 16448, 0, 0, 0, 0}, {15, 4403, 4608, 1280, 0, 0, 0}, {520, 8192, 1092, 0, 0, 0, 0}, {15, 816, 4437, 1285, 0, 0, 0}, {1734, 2570, 9324, 16906, 0, 0, 0}, {15, 311, 519, 327, 1280, 4359, 0}, {1096, 1600, 16448, 0, 0, 0, 0}, {15, 4454, 4693, 1285, 0, 0, 0}, {1738, 2570, 9312, 17408, 0, 0, 0}, {15, 308, 519, 324, 1280, 4096, 0}, {1740, 2560, 8704, 16896, 0, 0, 0}, {15, 306, 514, 322, 1285, 4112, 0}, {514, 1092, 0, 0, 0, 0, 0}, {15, 816, 1280, 4352, 0, 0, 0}, {4128, 4608, 4176, 1024, 0, 0, 0}, {1625, 4369, 0, 0, 0, 0, 0}, {1626, 4642, 20480, 0, 0, 0, 0}, {1036, 4403, 4883, 5440, 0, 0, 0}, {4680, 12336, 5140, 0, 0, 0, 0}, {4394, 4864, 4437, 1024, 0, 0, 0}, {1036, 4144, 5654, 4160, 0, 0, 0}, {1631, 4471, 21760, 0, 0, 0, 0}, {5160, 1616, 20560, 0, 0, 0, 0}, {4377, 4454, 597, 5397, 0, 0, 0}, {602, 112, 1024, 4096, 0, 0, 0}, {5911, 4420, 0, 0, 0, 0, 0}, {1036, 112, 592, 4112, 0, 0, 0}, {4386, 1621, 21845, 0, 0, 0, 0}, {4626, 5188, 0, 0, 0, 0, 0}, {607, 544, 1024, 4352, 0, 0, 0}, {2048, 544, 1088, 0, 0, 0, 0}, {15, 819, 1365, 4369, 0, 0, 0}, {1642, 8738, 0, 0, 0, 0, 0}, {275, 4176, 5376, 0, 0, 0, 0}, {1644, 17476, 0, 0, 0, 0, 0}, {4144, 4864, 277, 0, 0, 0, 0}, {1100, 1638, 16384, 0, 0, 0, 0}, {15, 5159, 5911, 1360, 0, 0, 0}, {18504, 1632, 0, 0, 0, 0, 0}, {278, 1365, 4096, 0, 0, 0, 0}, {554, 8192, 1088, 0, 0, 0, 0}, {15, 819, 4420, 5140, 0, 0, 0}, {1100, 544, 16384, 0, 0, 0, 0}, {15, 4386, 4626, 1365, 0, 0, 0}, {1638, 17476, 0, 0, 0, 0, 0}, {15, 1792, 272, 0, 0, 0, 0}, {240, 4608, 5120, 0, 0, 0, 0}, {127, 514, 1028, 4369, 0, 0, 0}, {1032, 4128, 514, 4176, 0, 0, 0}, {1548, 4403, 21760, 0, 0, 0, 0}, {520, 4144, 4160, 1028, 0, 0, 0}, {1546, 13056, 4437, 0, 0, 0, 0}, {5228, 1542, 20560, 0, 0, 0, 0}, {4360, 4471, 4864, 5376, 0, 0, 0}, {1032, 112, 1536, 4096, 0, 0, 0}, {4454, 1542, 21845, 0, 0, 0, 0}, {1546, 12288, 5200, 0, 0, 0, 0}, {520, 4915, 4420, 1028, 0, 0, 0}, {1548, 4656, 20480, 0, 0, 0, 0}, {1032, 4386, 514, 5461, 0, 0, 0}, {112, 514, 1028, 4112, 0, 0, 0}, {255, 1536, 4352, 0, 0, 0, 0}, {3840, 28672, 0, 0, 0, 0, 0}, {6, 68, 257, 0, 0, 0, 0}, {10, 34, 514, 1280, 0, 0, 0}, {12, 771, 16384, 0, 0, 0, 0}, {12, 768, 68, 1028, 0, 0, 0}, {10, 8192, 1285, 0, 0, 0, 0}, {6, 1280, 4096, 0, 0, 0, 0}, {136, 1799, 0, 0, 0, 0, 0}, {1800, 30464, 0, 0, 0, 0, 0}, {6, 4176, 1285, 0, 0, 0, 0}, {10, 8192, 1280, 0, 0, 0, 0}, {12, 771, 68, 1028, 0, 0, 0}, {12, 768, 16384, 0, 0, 0, 0}, {10, 34, 514, 1285, 0, 0, 0}, {258, 260, 4352, 0, 0, 0, 0}, {28912, 3855, 0, 0, 0, 0, 0}, {3920, 96, 4112, 0, 0, 0, 0}, {34, 1809, 68, 4369, 0, 0, 0}, {72, 34, 4626, 5376, 0, 0, 0}, {108, 4883, 20480, 0, 0, 0, 0}, {40, 4864, 68, 5140, 0, 0, 0}, {106, 12288, 5397, 0, 0, 0, 0}, {102, 5654, 21760, 0, 0, 0, 0}, {72, 96, 1815, 4096, 0, 0, 0}, {4120, 4144, 5888, 4176, 0, 0, 0}, {5708, 102, 21845, 0, 0, 0, 0}, {5418, 12336, 5440, 0, 0, 0, 0}, {4891, 4915, 68, 5120, 0, 0, 0}, {4940, 4896, 20560, 0, 0, 0, 0}, {5405, 34, 4608, 5461, 0, 0, 0}, {1822, 34, 68, 4352, 0, 0, 0}, {7967, 4128, 4160, 0, 0, 0, 0}, {160, 3840, 8224, 20480, 0, 0, 0}, {12, 34, 771, 68, 1024, 4369, 0}, {34, 1792, 21760, 0, 0, 0, 0}, {12, 96, 771, 4112, 0, 0, 0}, {12, 36, 768, 68, 1024, 4096, 0}, {170, 3855, 9509, 21845, 0, 0, 0}, {12, 5414, 768, 5440, 0, 0, 0}, {1807, 1831, 20560, 0, 0, 0, 0}, {40, 1792, 20480, 0, 0, 0, 0}, {12, 102, 771, 5397, 0, 0, 0}, {170, 3840, 9514, 21760, 0, 0, 0}, {12, 36, 771, 68, 1024, 4116, 0}, {12, 4128, 768, 4160, 0, 0, 0}, {1807, 34, 21845, 0, 0, 0, 0}, {12, 34, 768, 68, 1024, 4352, 0}, {160, 3855, 8224, 20560, 0, 0, 0}, {192, 3888, 12336, 16384, 0, 0, 0}, {10, 34, 514, 68, 1297, 4369, 0}, {10, 34, 514, 66, 1298, 4112, 0}, {204, 3891, 13107, 17203, 0, 0, 0}, {2056, 1844, 68, 0, 0, 0, 0}, {10, 1333, 1365, 4096, 0, 0, 0}, {10, 1334, 4864, 1360, 0, 0, 0}, {72, 1847, 16448, 0, 0, 0, 0}, {72, 1904, 16448, 0, 0, 0, 0}, {10, 1331, 5632, 1365, 0, 0, 0}, {10, 4144, 4176, 5376, 0, 0, 0}, {1851, 13107, 68, 0, 0, 0, 0}, {204, 3900, 13056, 17212, 0, 0, 0}, {10, 34, 514, 66, 1303, 4098, 0}, {10, 34, 514, 68, 1300, 4352, 0}, {192, 3903, 12288, 16384, 0, 0, 0}, {192, 3840, 12288, 16448, 0, 0, 0}, {10, 34, 512, 68, 1285, 4369, 0}, {10, 34, 512, 66, 1280, 4096, 0}, {204, 3855, 13107, 17219, 0, 0, 0}, {1792, 68, 0, 0, 0, 0, 0}, {10, 96, 1285, 4112, 0, 0, 0}, {10, 102, 4934, 1280, 0, 0, 0}, {72, 1863, 16384, 0, 0, 0, 0}, {72, 1792, 16384, 0, 0, 0, 0}, {10, 102, 4883, 1285, 0, 0, 0}, {10, 4128, 4160, 1280, 0, 0, 0}, {1807, 13107, 68, 0, 0, 0, 0}, {204, 3840, 13056, 17228, 0, 0, 0}, {10, 34, 512, 66, 1285, 4114, 0}, {10, 34, 512, 68, 1280, 4352, 0}, {192, 3855, 12336, 16448, 0, 0, 0}, {160, 3920, 8192, 20560, 0, 0, 0}, {12, 34, 785, 68, 1028, 4369, 0}, {34, 1874, 21760, 0, 0, 0, 0}, {12, 96, 851, 4096, 0, 0, 0}, {12, 36, 788, 68, 1028, 4112, 0}, {170, 3925, 9557, 21845, 0, 0, 0}, {12, 102, 854, 5376, 0, 0, 0}, {40, 1879, 20480, 0, 0, 0, 0}, {1880, 1904, 20560, 0, 0, 0, 0}, {12, 5427, 5632, 5461, 0, 0, 0}, {170, 3930, 9562, 21760, 0, 0, 0}, {12, 36, 791, 68, 1028, 4100, 0}, {12, 4144, 4864, 4176, 0, 0, 0}, {1885, 34, 21845, 0, 0, 0, 0}, {12, 34, 786, 68, 1028, 4352, 0}, {160, 3935, 8192, 20480, 0, 0, 0}, {3840, 96, 4096, 0, 0, 0, 0}, {34, 1799, 68, 4369, 0, 0, 0}, {5384, 34, 4608, 5440, 0, 0, 0}, {4959, 4915, 20560, 0, 0, 0, 0}, {4872, 4896, 68, 5120, 0, 0, 0}, {5439, 12336, 5461, 0, 0, 0, 0}, {102, 5632, 21760, 0, 0, 0, 0}, {72, 96, 1799, 4112, 0, 0, 0}, {4104, 4128, 5888, 4160, 0, 0, 0}, {5722, 102, 21845, 0, 0, 0, 0}, {106, 12288, 5376, 0, 0, 0, 0}, {40, 4883, 68, 5140, 0, 0, 0}, {108, 4864, 20480, 0, 0, 0, 0}, {72, 34, 4626, 5397, 0, 0, 0}, {1800, 34, 68, 4352, 0, 0, 0}, {3855, 4144, 4176, 0, 0, 0, 0}, {4080, 28784, 0, 0, 0, 0, 0}, {6, 1024, 273, 0, 0, 0, 0}, {10, 34, 512, 1360, 0, 0, 0}, {12, 819, 16448, 0, 0, 0, 0}, {12, 816, 68, 1024, 0, 0, 0}, {10, 8224, 1365, 0, 0, 0, 0}, {6, 1360, 4112, 0, 0, 0, 0}, {2048, 1911, 0, 0, 0, 0, 0}, {1912, 30464, 0, 0, 0, 0, 0}, {6, 4160, 5397, 0, 0, 0, 0}, {10, 8224, 1360, 0, 0, 0, 0}, {12, 819, 68, 1024, 0, 0, 0}, {12, 816, 16448, 0, 0, 0, 0}, {10, 34, 512, 1365, 0, 0, 0}, {274, 276, 4352, 0, 0, 0, 0}, {28800, 32639, 0, 0, 0, 0, 0}, {28800, 3840, 0, 0, 0, 0, 0}, {259, 261, 4369, 0, 0, 0, 0}, {10, 34, 512, 1280, 0, 0, 0}, {12, 771, 16448, 0, 0, 0, 0}, {12, 768, 68, 1024, 0, 0, 0}, {10, 8224, 1285, 0, 0, 0, 0}, {6, 4160, 1280, 0, 0, 0, 0}, {1807, 30583, 0, 0, 0, 0, 0}, {136, 1792, 0, 0, 0, 0, 0}, {6, 1285, 4112, 0, 0, 0, 0}, {10, 8224, 1280, 0, 0, 0, 0}, {12, 771, 68, 1024, 0, 0, 0}, {12, 768, 16448, 0, 0, 0, 0}, {10, 34, 512, 1285, 0, 0, 0}, {6, 68, 256, 0, 0, 0, 0}, {3855, 28784, 0, 0, 0, 0, 0}, {7936, 4144, 4176, 0, 0, 0, 0}, {1817, 34, 68, 4369, 0, 0, 0}, {5384, 34, 4626, 5440, 0, 0, 0}, {4959, 4915, 20480, 0, 0, 0, 0}, {4872, 4896, 68, 5140, 0, 0, 0}, {5439, 12288, 5461, 0, 0, 0, 0}, {5722, 102, 21760, 0, 0, 0, 0}, {4104, 4128, 5911, 4160, 0, 0, 0}, {72, 96, 1808, 4112, 0, 0, 0}, {102, 5632, 21845, 0, 0, 0, 0}, {106, 12336, 5376, 0, 0, 0, 0}, {40, 4883, 68, 5120, 0, 0, 0}, {108, 4864, 20560, 0, 0, 0, 0}, {72, 34, 4608, 5397, 0, 0, 0}, {34, 1814, 68, 4352, 0, 0, 0}, {3935, 96, 4096, 0, 0, 0, 0}, {160, 3840, 8192, 20480, 0, 0, 0}, {12, 34, 771, 68, 1028, 4369, 0}, {1800, 34, 21760, 0, 0, 0, 0}, {12, 4144, 771, 4176, 0, 0, 0}, {12, 36, 768, 68, 1028, 4100, 0}, {170, 3855, 9487, 21845, 0, 0, 0}, {12, 102, 768, 5376, 0, 0, 0}, {40, 1799, 20560, 0, 0, 0, 0}, {1800, 1824, 20480, 0, 0, 0, 0}, {12, 5427, 771, 5461, 0, 0, 0}, {170, 3840, 9472, 21760, 0, 0, 0}, {12, 36, 771, 68, 1028, 4112, 0}, {12, 96, 768, 4096, 0, 0, 0}, {34, 1799, 21845, 0, 0, 0, 0}, {12, 34, 768, 68, 1028, 4352, 0}, {160, 3855, 8192, 20560, 0, 0, 0}, {192, 3888, 12336, 16448, 0, 0, 0}, {10, 34, 512, 68, 1297, 4369, 0}, {10, 34, 512, 66, 1298, 4114, 0}, {204, 3891, 13107, 17279, 0, 0, 0}, {1852, 13056, 68, 0, 0, 0, 0}, {10, 4128, 4160, 5397, 0, 0, 0}, {10, 1334, 5654, 1360, 0, 0, 0}, {72, 1911, 16384, 0, 0, 0, 0}, {72, 1840, 16384, 0, 0, 0, 0}, {10, 1331, 4883, 1365, 0, 0, 0}, {10, 1328, 1360, 4112, 0, 0, 0}, {2048, 1843, 68, 0, 0, 0, 0}, {204, 3900, 13056, 17264, 0, 0, 0}, {10, 34, 512, 66, 1303, 4096, 0}, {10, 34, 512, 68, 1300, 4352, 0}, {192, 3903, 12288, 16448, 0, 0, 0}, {192, 3840, 12288, 16384, 0, 0, 0}, {10, 34, 514, 68, 1285, 4369, 0}, {10, 34, 514, 66, 1280, 4098, 0}, {204, 3855, 13107, 17167, 0, 0, 0}, {1800, 13056, 68, 0, 0, 0, 0}, {10, 4144, 4176, 1285, 0, 0, 0}, {10, 102, 4864, 1280, 0, 0, 0}, {72, 1799, 16448, 0, 0, 0, 0}, {72, 1856, 16448, 0, 0, 0, 0}, {10, 102, 4949, 1285, 0, 0, 0}, {10, 96, 1280, 4096, 0, 0, 0}, {1799, 68, 0, 0, 0, 0, 0}, {204, 3840, 13056, 17152, 0, 0, 0}, {10, 34, 514, 66, 1285, 4112, 0}, {10, 34, 514, 68, 1280, 4352, 0}, {192, 3855, 12336, 16384, 0, 0, 0}, {160, 3920, 8224, 20560, 0, 0, 0}, {12, 34, 785, 68, 1024, 4369, 0}, {1882, 34, 21760, 0, 0, 0, 0}, {12, 4128, 4883, 4160, 0, 0, 0}, {12, 36, 788, 68, 1024, 4116, 0}, {170, 3925, 9599, 21845, 0, 0, 0}, {12, 5414, 5654, 5440, 0, 0, 0}, {1887, 1911, 20480, 0, 0, 0, 0}, {40, 1872, 20560, 0, 0, 0, 0}, {12, 102, 853, 5397, 0, 0, 0}, {170, 3930, 9584, 21760, 0, 0, 0}, {12, 36, 791, 68, 1024, 4096, 0}, {12, 96, 848, 4112, 0, 0, 0}, {34, 1877, 21845, 0, 0, 0, 0}, {12, 34, 786, 68, 1024, 4352, 0}, {160, 3935, 8224, 20480, 0, 0, 0}, {3840, 4128, 4160, 0, 0, 0, 0}, {1807, 34, 68, 4369, 0, 0, 0}, {72, 34, 4608, 5376, 0, 0, 0}, {108, 4883, 20560, 0, 0, 0, 0}, {40, 4864, 68, 5120, 0, 0, 0}, {106, 12336, 5397, 0, 0, 0, 0}, {5708, 102, 21760, 0, 0, 0, 0}, {4120, 4144, 5911, 4176, 0, 0, 0}, {72, 96, 1792, 4096, 0, 0, 0}, {102, 5654, 21845, 0, 0, 0, 0}, {5418, 12288, 5440, 0, 0, 0, 0}, {4891, 4915, 68, 5140, 0, 0, 0}, {4940, 4896, 20480, 0, 0, 0, 0}, {5405, 34, 4626, 5461, 0, 0, 0}, {34, 1792, 68, 4352, 0, 0, 0}, {3855, 96, 4112, 0, 0, 0, 0}, {28912, 32512, 0, 0, 0, 0, 0}, {275, 277, 4369, 0, 0, 0, 0}, {10, 34, 514, 1360, 0, 0, 0}, {12, 819, 16384, 0, 0, 0, 0}, {12, 816, 68, 1028, 0, 0, 0}, {10, 8192, 1365, 0, 0, 0, 0}, {6, 4176, 5376, 0, 0, 0, 0}, {1919, 30583, 0, 0, 0, 0, 0}, {2056, 1904, 0, 0, 0, 0, 0}, {6, 1365, 4096, 0, 0, 0, 0}, {10, 8192, 1360, 0, 0, 0, 0}, {12, 819, 68, 1028, 0, 0, 0}, {12, 816, 16384, 0, 0, 0, 0}, {10, 34, 514, 1365, 0, 0, 0}, {6, 1028, 272, 0, 0, 0, 0}, {4095, 28672, 0, 0, 0, 0, 0}, {12288, 20480, 0, 0, 0, 0, 0}, {8, 17, 257, 0, 0, 0, 0}, {8, 34, 514, 4098, 0, 0, 0}, {51, 771, 20495, 0, 0, 0, 0}, {8, 68, 1028, 4100, 0, 0, 0}, {12303, 85, 1285, 0, 0, 0, 0}, {102, 1542, 20490, 0, 0, 0, 0}, {8, 119, 1799, 4103, 0, 0, 0}, {8, 4096, 0, 0, 0, 0, 0}, {51, 771, 85, 1285, 0, 0, 0}, {170, 2570, 12288, 20490, 0, 0, 0}, {8, 51, 771, 68, 1028, 4099, 0}, {204, 3084, 12300, 20480, 0, 0, 0}, {8, 34, 514, 85, 1285, 4101, 0}, {8, 34, 514, 68, 1028, 4102, 0}, {255, 3855, 12303, 20495, 0, 0, 0}, {128, 4112, 0, 0, 0, 0, 0}, {768, 1280, 17, 0, 0, 0, 0}, {34, 4626, 20570, 0, 0, 0, 0}, {76, 51, 768, 4115, 0, 0, 0}, {12348, 68, 5140, 0, 0, 0, 0}, {42, 85, 1280, 4117, 0, 0, 0}, {76, 102, 1536, 4118, 0, 0, 0}, {119, 5911, 20575, 0, 0, 0, 0}, {136, 6168, 12336, 20560, 0, 0, 0}, {25, 51, 768, 85, 1280, 4096, 0}, {4122, 4144, 16448, 0, 0, 0, 0}, {5147, 51, 768, 68, 0, 0, 0}, {4124, 8224, 4176, 0, 0, 0, 0}, {4637, 34, 85, 1280, 0, 0, 0}, {5150, 34, 1536, 68, 0, 0, 0}, {4127, 4192, 16448, 0, 0, 0, 0}, {4128, 16384, 0, 0, 0, 0, 0}, {1295, 771, 17, 0, 0, 0, 0}, {34, 4608, 20480, 0, 0, 0, 0}, {76, 51, 771, 4112, 0, 0, 0}, {5160, 9252, 68, 0, 0, 0, 0}, {4111, 4133, 85, 5376, 0, 0, 0}, {4108, 4134, 5632, 4160, 0, 0, 0}, {5983, 119, 20560, 0, 0, 0, 0}, {136, 6184, 12288, 20520, 0, 0, 0}, {25, 51, 771, 85, 1302, 4099, 0}, {42, 4096, 0, 0, 0, 0, 0}, {51, 771, 68, 5140, 0, 0, 0}, {76, 4192, 16448, 0, 0, 0, 0}, {1295, 34, 5888, 85, 0, 0, 0}, {4620, 34, 68, 5120, 0, 0, 0}, {4143, 8224, 4176, 0, 0, 0, 0}, {20720, 12336, 0, 0, 0, 0, 0}, {258, 1024, 17, 0, 0, 0, 0}, {8, 34, 514, 4112, 0, 0, 0}, {51, 768, 20480, 0, 0, 0, 0}, {8, 4148, 68, 1024, 0, 0, 0}, {1290, 13621, 85, 0, 0, 0, 0}, {1546, 102, 20560, 0, 0, 0, 0}, {8, 4151, 1792, 4160, 0, 0, 0}, {8, 4144, 16448, 0, 0, 0, 0}, {1290, 51, 768, 85, 0, 0, 0}, {170, 2570, 12336, 20560, 0, 0, 0}, {8, 51, 768, 68, 1024, 4096, 0}, {204, 3072, 12348, 20540, 0, 0, 0}, {8, 34, 514, 85, 1282, 4119, 0}, {8, 34, 514, 68, 1024, 4116, 0}, {255, 3840, 12351, 20480, 0, 0, 0}, {8192, 4160, 0, 0, 0, 0, 0}, {783, 1285, 17, 0, 0, 0, 0}, {4680, 34, 16962, 0, 0, 0, 0}, {4111, 51, 4864, 4163, 0, 0, 0}, {12288, 68, 5120, 0, 0, 0, 0}, {42, 85, 1285, 4112, 0, 0, 0}, {4106, 4128, 5632, 4166, 0, 0, 0}, {5960, 119, 18247, 0, 0, 0, 0}, {136, 6216, 12360, 20480, 0, 0, 0}, {25, 51, 790, 85, 1285, 4101, 0}, {4170, 4192, 16448, 0, 0, 0, 0}, {5135, 51, 5888, 68, 0, 0, 0}, {76, 4096, 0, 0, 0, 0, 0}, {34, 4626, 85, 1285, 0, 0, 0}, {5130, 34, 4608, 68, 0, 0, 0}, {4175, 4144, 16448, 0, 0, 0, 0}, {12528, 20560, 0, 0, 0, 0, 0}, {512, 260, 17, 0, 0, 0, 0}, {8, 34, 512, 4178, 0, 0, 0}, {780, 51, 21331, 0, 0, 0, 0}, {8, 68, 1028, 4112, 0, 0, 0}, {12288, 85, 1280, 0, 0, 0, 0}, {1548, 102, 22102, 0, 0, 0, 0}, {8, 4128, 1792, 4183, 0, 0, 0}, {8, 8224, 4176, 0, 0, 0, 0}, {780, 51, 85, 1280, 0, 0, 0}, {170, 2560, 12378, 20570, 0, 0, 0}, {8, 51, 772, 68, 1028, 4119, 0}, {204, 3084, 12336, 20560, 0, 0, 0}, {8, 34, 512, 85, 1280, 4096, 0}, {8, 34, 512, 68, 1028, 4114, 0}, {255, 3840, 12288, 20575, 0, 0, 0}, {20640, 24672, 0, 0, 0, 0, 0}, {263, 1024, 17, 0, 0, 0, 0}, {8, 34, 512, 4160, 0, 0, 0}, {783, 51, 20560, 0, 0, 0, 0}, {8, 4128, 68, 1024, 0, 0, 0}, {1295, 12336, 85, 0, 0, 0, 0}, {102, 1536, 20480, 0, 0, 0, 0}, {8, 119, 1799, 4112, 0, 0, 0}, {8, 4192, 16448, 0, 0, 0, 0}, {1295, 51, 1536, 85, 0, 0, 0}, {170, 2560, 12394, 20480, 0, 0, 0}, {8, 51, 775, 68, 1024, 4116, 0}, {204, 3072, 12288, 20588, 0, 0, 0}, {8, 34, 512, 85, 1287, 4114, 0}, {8, 34, 512, 68, 1024, 4096, 0}, {255, 3855, 12336, 20560, 0, 0, 0}, {4208, 16384, 0, 0, 0, 0, 0}, {1290, 1542, 17, 0, 0, 0, 0}, {4698, 34, 20560, 0, 0, 0, 0}, {4108, 51, 4864, 4160, 0, 0, 0}, {5180, 12336, 68, 0, 0, 0, 0}, {4106, 4128, 85, 5376, 0, 0, 0}, {76, 102, 1542, 4112, 0, 0, 0}, {119, 5888, 20480, 0, 0, 0, 0}, {136, 6264, 12408, 20600, 0, 0, 0}, {25, 51, 789, 85, 1299, 4102, 0}, {42, 8224, 4176, 0, 0, 0, 0}, {780, 51, 68, 5120, 0, 0, 0}, {76, 4144, 16448, 0, 0, 0, 0}, {1290, 34, 4608, 85, 0, 0, 0}, {34, 4626, 68, 5140, 0, 0, 0}, {127, 4096, 0, 0, 0, 0, 0}, {128, 4096, 0, 0, 0, 0, 0}, {771, 1285, 17, 0, 0, 0, 0}, {34, 4608, 20490, 0, 0, 0, 0}, {76, 51, 771, 4099, 0, 0, 0}, {12300, 68, 5120, 0, 0, 0, 0}, {42, 85, 1285, 4101, 0, 0, 0}, {76, 102, 1542, 4102, 0, 0, 0}, {119, 5888, 20495, 0, 0, 0, 0}, {136, 6144, 12288, 20480, 0, 0, 0}, {25, 51, 771, 85, 1285, 4112, 0}, {4106, 4128, 16384, 0, 0, 0, 0}, {5135, 51, 771, 68, 0, 0, 0}, {4108, 8192, 4160, 0, 0, 0, 0}, {4623, 34, 85, 1285, 0, 0, 0}, {5130, 34, 1542, 68, 0, 0, 0}, {4111, 4208, 16384, 0, 0, 0, 0}, {12336, 20560, 0, 0, 0, 0, 0}, {8, 17, 256, 0, 0, 0, 0}, {8, 34, 512, 4114, 0, 0, 0}, {51, 768, 20575, 0, 0, 0, 0}, {8, 68, 1024, 4116, 0, 0, 0}, {12351, 85, 1280, 0, 0, 0, 0}, {102, 1536, 20570, 0, 0, 0, 0}, {8, 119, 1792, 4119, 0, 0, 0}, {8, 4112, 0, 0, 0, 0, 0}, {51, 768, 85, 1280, 0, 0, 0}, {170, 2560, 12336, 20570, 0, 0, 0}, {8, 51, 768, 68, 1024, 4115, 0}, {204, 3072, 12348, 20560, 0, 0, 0}, {8, 34, 512, 85, 1280, 4117, 0}, {8, 34, 512, 68, 1024, 4118, 0}, {255, 3840, 12351, 20575, 0, 0, 0}, {20640, 12288, 0, 0, 0, 0, 0}, {259, 1028, 17, 0, 0, 0, 0}, {8, 34, 512, 4096, 0, 0, 0}, {51, 771, 20560, 0, 0, 0, 0}, {8, 4132, 68, 1028, 0, 0, 0}, {1295, 13568, 85, 0, 0, 0, 0}, {1548, 102, 20480, 0, 0, 0, 0}, {8, 4135, 1799, 4176, 0, 0, 0}, {8, 4128, 16384, 0, 0, 0, 0}, {1295, 51, 771, 85, 0, 0, 0}, {170, 2560, 12288, 20480, 0, 0, 0}, {8, 51, 771, 68, 1028, 4112, 0}, {204, 3084, 12300, 20588, 0, 0, 0}, {8, 34, 512, 85, 1287, 4103, 0}, {8, 34, 512, 68, 1028, 4100, 0}, {255, 3855, 12303, 20560, 0, 0, 0}, {4144, 16448, 0, 0, 0, 0, 0}, {1290, 768, 17, 0, 0, 0, 0}, {34, 4626, 20560, 0, 0, 0, 0}, {76, 51, 768, 4096, 0, 0, 0}, {5180, 9216, 68, 0, 0, 0, 0}, {4127, 4149, 85, 5397, 0, 0, 0}, {4124, 4150, 5654, 4176, 0, 0, 0}, {5960, 119, 20480, 0, 0, 0, 0}, {136, 6192, 12336, 20600, 0, 0, 0}, {25, 51, 768, 85, 1299, 4115, 0}, {42, 4112, 0, 0, 0, 0, 0}, {51, 768, 68, 5120, 0, 0, 0}, {76, 4208, 16384, 0, 0, 0, 0}, {1290, 34, 5911, 85, 0, 0, 0}, {4638, 34, 68, 5140, 0, 0, 0}, {4159, 8192, 4160, 0, 0, 0, 0}, {12480, 20480, 0, 0, 0, 0, 0}, {514, 261, 17, 0, 0, 0, 0}, {8, 34, 514, 4162, 0, 0, 0}, {783, 51, 21248, 0, 0, 0, 0}, {8, 68, 1024, 4096, 0, 0, 0}, {12336, 85, 1285, 0, 0, 0, 0}, {1546, 102, 22016, 0, 0, 0, 0}, {8, 4144, 1799, 4167, 0, 0, 0}, {8, 8192, 4160, 0, 0, 0, 0}, {783, 51, 85, 1285, 0, 0, 0}, {170, 2570, 12394, 20490, 0, 0, 0}, {8, 51, 775, 68, 1024, 4103, 0}, {204, 3072, 12288, 20480, 0, 0, 0}, {8, 34, 514, 85, 1285, 4112, 0}, {8, 34, 514, 68, 1024, 4098, 0}, {255, 3855, 12336, 20495, 0, 0, 0}, {8224, 4176, 0, 0, 0, 0, 0}, {780, 1280, 17, 0, 0, 0, 0}, {4698, 34, 16896, 0, 0, 0, 0}, {4127, 51, 4883, 4179, 0, 0, 0}, {12336, 68, 5140, 0, 0, 0, 0}, {42, 85, 1280, 4096, 0, 0, 0}, {4122, 4144, 5654, 4182, 0, 0, 0}, {5983, 119, 18176, 0, 0, 0, 0}, {136, 6224, 12408, 20560, 0, 0, 0}, {25, 51, 789, 85, 1280, 4117, 0}, {4186, 4208, 16384, 0, 0, 0, 0}, {5147, 51, 5911, 68, 0, 0, 0}, {76, 4112, 0, 0, 0, 0, 0}, {34, 4608, 85, 1280, 0, 0, 0}, {5150, 34, 4626, 68, 0, 0, 0}, {4191, 4128, 16384, 0, 0, 0, 0}, {4192, 16448, 0, 0, 0, 0, 0}, {1295, 1536, 17, 0, 0, 0, 0}, {4680, 34, 20480, 0, 0, 0, 0}, {4124, 51, 4883, 4176, 0, 0, 0}, {5160, 12288, 68, 0, 0, 0, 0}, {4122, 4144, 85, 5397, 0, 0, 0}, {76, 102, 1536, 4096, 0, 0, 0}, {119, 5911, 20560, 0, 0, 0, 0}, {136, 6240, 12360, 20520, 0, 0, 0}, {25, 51, 790, 85, 1302, 4118, 0}, {42, 8192, 4160, 0, 0, 0, 0}, {783, 51, 68, 5140, 0, 0, 0}, {76, 4128, 16384, 0, 0, 0, 0}, {1295, 34, 4626, 85, 0, 0, 0}, {34, 4608, 68, 5120, 0, 0, 0}, {127, 4112, 0, 0, 0, 0, 0}, {20720, 24576, 0, 0, 0, 0, 0}, {262, 1028, 17, 0, 0, 0, 0}, {8, 34, 514, 4176, 0, 0, 0}, {780, 51, 20480, 0, 0, 0, 0}, {8, 4144, 68, 1028, 0, 0, 0}, {1290, 12288, 85, 0, 0, 0, 0}, {102, 1542, 20560, 0, 0, 0, 0}, {8, 119, 1792, 4096, 0, 0, 0}, {8, 4208, 16384, 0, 0, 0, 0}, {1290, 51, 1542, 85, 0, 0, 0}, {170, 2570, 12378, 20560, 0, 0, 0}, {8, 51, 772, 68, 1028, 4100, 0}, {204, 3084, 12336, 20540, 0, 0, 0}, {8, 34, 514, 85, 1282, 4098, 0}, {8, 34, 514, 68, 1028, 4112, 0}, {255, 3840, 12288, 20480, 0, 0, 0}, {2048, 4352, 0, 0, 0, 0, 0}, {48, 80, 257, 0, 0, 0, 0}, {4386, 514, 21770, 0, 0, 0, 0}, {1036, 48, 771, 4355, 0, 0, 0}, {13068, 4420, 1028, 0, 0, 0, 0}, {522, 80, 1285, 4357, 0, 0, 0}, {1036, 96, 1542, 4358, 0, 0, 0}, {4471, 1799, 21775, 0, 0, 0, 0}, {4488, 2056, 13056, 21760, 0, 0, 0}, {265, 48, 771, 80, 1285, 4096, 0}, {4362, 4864, 17408, 0, 0, 0, 0}, {4427, 48, 771, 1028, 0, 0, 0}, {4364, 8704, 5376, 0, 0, 0, 0}, {4397, 514, 80, 1285, 0, 0, 0}, {4430, 96, 514, 1028, 0, 0, 0}, {4367, 5632, 17408, 0, 0, 0, 0}, {768, 1280, 272, 0, 0, 0, 0}, {2184, 4369, 0, 0, 0, 0, 0}, {1096, 48, 768, 4370, 0, 0, 0}, {4403, 4883, 21855, 0, 0, 0, 0}, {552, 80, 1280, 4372, 0, 0, 0}, {13119, 4437, 5397, 0, 0, 0, 0}, {4454, 5654, 21850, 0, 0, 0, 0}, {1096, 96, 1536, 4375, 0, 0, 0}, {280, 48, 768, 80, 1280, 4096, 0}, {4505, 6425, 13107, 21845, 0, 0, 0}, {5402, 48, 768, 1088, 0, 0, 0}, {4379, 4915, 17476, 0, 0, 0, 0}, {4892, 544, 80, 1280, 0, 0, 0}, {4381, 8738, 5461, 0, 0, 0, 0}, {4382, 5734, 17476, 0, 0, 0, 0}, {5407, 1056, 1536, 1088, 0, 0, 0}, {2560, 544, 4352, 0, 0, 0, 0}, {48, 771, 1092, 4369, 0, 0, 0}, {19456, 4386, 0, 0, 0, 0, 0}, {275, 80, 4112, 0, 0, 0, 0}, {4876, 4388, 4420, 5376, 0, 0, 0}, {5674, 9509, 4437, 0, 0, 0, 0}, {1100, 4454, 16448, 0, 0, 0, 0}, {1295, 4391, 5632, 80, 0, 0, 0}, {4392, 4864, 21760, 0, 0, 0, 0}, {4441, 48, 771, 5397, 0, 0, 0}, {4522, 6442, 13056, 17408, 0, 0, 0}, {283, 48, 771, 80, 1044, 4096, 0}, {4364, 5408, 5888, 5440, 0, 0, 0}, {5722, 1911, 21845, 0, 0, 0, 0}, {4398, 8738, 1092, 0, 0, 0, 0}, {4367, 544, 80, 5120, 0, 0, 0}, {48, 768, 1024, 4352, 0, 0, 0}, {160, 514, 4369, 0, 0, 0, 0}, {258, 80, 4112, 0, 0, 0, 0}, {2048, 4403, 0, 0, 0, 0, 0}, {1800, 13364, 4420, 0, 0, 0, 0}, {522, 4405, 4437, 1024, 0, 0, 0}, {1290, 4406, 1792, 80, 0, 0, 0}, {1032, 4471, 16448, 0, 0, 0, 0}, {1032, 48, 768, 5440, 0, 0, 0}, {522, 4915, 21845, 0, 0, 0, 0}, {266, 48, 768, 80, 1024, 4096, 0}, {4539, 2056, 13107, 17476, 0, 0, 0}, {4412, 1792, 21760, 0, 0, 0, 0}, {4381, 96, 514, 5397, 0, 0, 0}, {4382, 514, 80, 5140, 0, 0, 0}, {4415, 8704, 1024, 0, 0, 0, 0}, {3072, 1088, 4352, 0, 0, 0, 0}, {546, 80, 1285, 4369, 0, 0, 0}, {5386, 4386, 4864, 4418, 0, 0, 0}, {5708, 4403, 17219, 0, 0, 0, 0}, {10752, 4420, 0, 0, 0, 0, 0}, {48, 277, 4112, 0, 0, 0, 0}, {4940, 4454, 17990, 0, 0, 0, 0}, {5391, 48, 5632, 4423, 0, 0, 0}, {4424, 13056, 5376, 0, 0, 0, 0}, {4409, 4883, 80, 1285, 0, 0, 0}, {4362, 1056, 5888, 1088, 0, 0, 0}, {4427, 1911, 17476, 0, 0, 0, 0}, {4556, 6476, 8704, 21760, 0, 0, 0}, {285, 48, 530, 80, 1285, 4096, 0}, {4430, 546, 17476, 0, 0, 0, 0}, {4367, 48, 4608, 1088, 0, 0, 0}, {512, 80, 1280, 4352, 0, 0, 0}, {192, 1028, 4369, 0, 0, 0, 0}, {1800, 4386, 21074, 0, 0, 0, 0}, {1036, 4403, 512, 4435, 0, 0, 0}, {48, 260, 4112, 0, 0, 0, 0}, {2048, 4437, 0, 0, 0, 0, 0}, {1036, 48, 1792, 4438, 0, 0, 0}, {520, 4471, 22359, 0, 0, 0, 0}, {520, 4896, 80, 1280, 0, 0, 0}, {1036, 13107, 5461, 0, 0, 0, 0}, {4442, 1792, 17408, 0, 0, 0, 0}, {4379, 96, 4883, 1028, 0, 0, 0}, {268, 48, 512, 80, 1280, 4096, 0}, {4573, 2056, 8738, 21845, 0, 0, 0}, {4382, 48, 4626, 1028, 0, 0, 0}, {4447, 512, 17408, 0, 0, 0, 0}, {96, 512, 1024, 4352, 0, 0, 0}, {240, 1799, 4369, 0, 0, 0, 0}, {1032, 4386, 16448, 0, 0, 0, 0}, {1295, 4403, 512, 80, 0, 0, 0}, {520, 8224, 4420, 0, 0, 0, 0}, {783, 48, 4437, 1024, 0, 0, 0}, {2048, 4454, 0, 0, 0, 0, 0}, {263, 80, 4112, 0, 0, 0, 0}, {1032, 5408, 1536, 5440, 0, 0, 0}, {1807, 5734, 21845, 0, 0, 0, 0}, {4458, 13056, 1024, 0, 0, 0, 0}, {4379, 4883, 80, 5140, 0, 0, 0}, {4460, 512, 21760, 0, 0, 0, 0}, {4381, 48, 4626, 5397, 0, 0, 0}, {4590, 2056, 8738, 17476, 0, 0, 0}, {271, 48, 512, 80, 1024, 4096, 0}, {3840, 1904, 4352, 0, 0, 0, 0}, {1060, 1542, 1092, 4369, 0, 0, 0}, {1290, 4386, 4864, 80, 0, 0, 0}, {1100, 4403, 16448, 0, 0, 0, 0}, {780, 48, 4420, 5376, 0, 0, 0}, {554, 8224, 4437, 0, 0, 0, 0}, {278, 80, 4112, 0, 0, 0, 0}, {19456, 4471, 0, 0, 0, 0, 0}, {4472, 5632, 21760, 0, 0, 0, 0}, {4441, 96, 4883, 5397, 0, 0, 0}, {4362, 4896, 80, 5120, 0, 0, 0}, {5439, 13107, 1092, 0, 0, 0, 0}, {4364, 48, 4608, 5440, 0, 0, 0}, {4959, 546, 21845, 0, 0, 0, 0}, {286, 48, 530, 80, 1044, 4096, 0}, {4607, 6527, 8704, 17408, 0, 0, 0}, {2176, 4352, 0, 0, 0, 0, 0}, {771, 1285, 273, 0, 0, 0, 0}, {4386, 4864, 21770, 0, 0, 0, 0}, {1100, 48, 771, 4355, 0, 0, 0}, {13068, 4420, 5376, 0, 0, 0, 0}, {554, 80, 1285, 4357, 0, 0, 0}, {1100, 96, 1542, 4358, 0, 0, 0}, {4471, 5632, 21775, 0, 0, 0, 0}, {4488, 6400, 13056, 21760, 0, 0, 0}, {281, 48, 771, 80, 1285, 4112, 0}, {4362, 4896, 17408, 0, 0, 0, 0}, {5391, 48, 771, 1092, 0, 0, 0}, {4364, 8704, 5440, 0, 0, 0, 0}, {4879, 546, 80, 1285, 0, 0, 0}, {5386, 1060, 1542, 1092, 0, 0, 0}, {4367, 5744, 17408, 0, 0, 0, 0}, {48, 80, 256, 0, 0, 0, 0}, {2056, 4369, 0, 0, 0, 0, 0}, {1032, 48, 768, 4370, 0, 0, 0}, {4403, 512, 21855, 0, 0, 0, 0}, {520, 80, 1280, 4372, 0, 0, 0}, {13119, 4437, 1024, 0, 0, 0, 0}, {4454, 1792, 21850, 0, 0, 0, 0}, {1032, 96, 1536, 4375, 0, 0, 0}, {264, 48, 768, 80, 1280, 4112, 0}, {4505, 2048, 13107, 21845, 0, 0, 0}, {4442, 48, 768, 1024, 0, 0, 0}, {4379, 4883, 17476, 0, 0, 0, 0}, {4412, 512, 80, 1280, 0, 0, 0}, {4381, 8738, 5397, 0, 0, 0, 0}, {4382, 5654, 17476, 0, 0, 0, 0}, {4447, 96, 512, 1024, 0, 0, 0}, {160, 512, 4352, 0, 0, 0, 0}, {48, 771, 1028, 4369, 0, 0, 0}, {2056, 4386, 0, 0, 0, 0, 0}, {259, 80, 4096, 0, 0, 0, 0}, {520, 4388, 4420, 1028, 0, 0, 0}, {1807, 13312, 4437, 0, 0, 0, 0}, {1036, 4454, 16384, 0, 0, 0, 0}, {1295, 4391, 1799, 80, 0, 0, 0}, {520, 4896, 21760, 0, 0, 0, 0}, {1036, 48, 771, 5461, 0, 0, 0}, {4522, 2048, 13056, 17408, 0, 0, 0}, {267, 48, 771, 80, 1028, 4112, 0}, {4364, 96, 512, 5376, 0, 0, 0}, {4397, 1799, 21845, 0, 0, 0, 0}, {4398, 8738, 1028, 0, 0, 0, 0}, {4367, 512, 80, 5120, 0, 0, 0}, {48, 768, 1088, 4352, 0, 0, 0}, {2570, 546, 4369, 0, 0, 0, 0}, {274, 80, 4096, 0, 0, 0, 0}, {19532, 4403, 0, 0, 0, 0, 0}, {5692, 9472, 4420, 0, 0, 0, 0}, {4895, 4405, 4437, 5397, 0, 0, 0}, {1290, 4406, 5654, 80, 0, 0, 0}, {1096, 4471, 16384, 0, 0, 0, 0}, {4424, 48, 768, 5376, 0, 0, 0}, {4409, 4883, 21845, 0, 0, 0, 0}, {282, 48, 768, 80, 1040, 4112, 0}, {4539, 6451, 13107, 17476, 0, 0, 0}, {5708, 1904, 21760, 0, 0, 0, 0}, {4381, 5429, 5911, 5461, 0, 0, 0}, {4382, 546, 80, 5140, 0, 0, 0}, {4415, 8704, 1088, 0, 0, 0, 0}, {192, 1024, 4352, 0, 0, 0, 0}, {514, 80, 1285, 4369, 0, 0, 0}, {1032, 4386, 514, 4418, 0, 0, 0}, {1807, 4403, 20992, 0, 0, 0, 0}, {2056, 4420, 0, 0, 0, 0, 0}, {48, 261, 4096, 0, 0, 0, 0}, {522, 4454, 22272, 0, 0, 0, 0}, {1032, 48, 1799, 4423, 0, 0, 0}, {1032, 13056, 5440, 0, 0, 0, 0}, {522, 4915, 80, 1285, 0, 0, 0}, {4362, 96, 4864, 1024, 0, 0, 0}, {4427, 1799, 17476, 0, 0, 0, 0}, {4556, 2048, 8704, 21760, 0, 0, 0}, {269, 48, 514, 80, 1285, 4112, 0}, {4430, 514, 17476, 0, 0, 0, 0}, {4367, 48, 4608, 1024, 0, 0, 0}, {544, 80, 1280, 4352, 0, 0, 0}, {3084, 1092, 4369, 0, 0, 0, 0}, {5722, 4386, 17152, 0, 0, 0, 0}, {5407, 4403, 4883, 4435, 0, 0, 0}, {48, 276, 4096, 0, 0, 0, 0}, {10794, 4437, 0, 0, 0, 0, 0}, {5402, 48, 5654, 4438, 0, 0, 0}, {4959, 4471, 17920, 0, 0, 0, 0}, {4392, 4864, 80, 1280, 0, 0, 0}, {4441, 13107, 5397, 0, 0, 0, 0}, {4442, 1904, 17408, 0, 0, 0, 0}, {4379, 1060, 5911, 1092, 0, 0, 0}, {284, 48, 528, 80, 1280, 4112, 0}, {4573, 6485, 8738, 21845, 0, 0, 0}, {4382, 48, 4626, 1092, 0, 0, 0}, {4447, 544, 17408, 0, 0, 0, 0}, {1056, 1536, 1088, 4352, 0, 0, 0}, {3855, 1911, 4369, 0, 0, 0, 0}, {1096, 4386, 16384, 0, 0, 0, 0}, {1295, 4403, 4883, 80, 0, 0, 0}, {552, 8192, 4420, 0, 0, 0, 0}, {783, 48, 4437, 5397, 0, 0, 0}, {19532, 4454, 0, 0, 0, 0, 0}, {279, 80, 4096, 0, 0, 0, 0}, {4424, 96, 4864, 5376, 0, 0, 0}, {4457, 5654, 21845, 0, 0, 0, 0}, {5418, 13056, 1088, 0, 0, 0, 0}, {4379, 4915, 80, 5140, 0, 0, 0}, {4940, 544, 21760, 0, 0, 0, 0}, {4381, 48, 4626, 5461, 0, 0, 0}, {4590, 6502, 8738, 17476, 0, 0, 0}, {287, 48, 528, 80, 1040, 4112, 0}, {240, 1792, 4352, 0, 0, 0, 0}, {96, 514, 1028, 4369, 0, 0, 0}, {1290, 4386, 514, 80, 0, 0, 0}, {1036, 4403, 16384, 0, 0, 0, 0}, {780, 48, 4420, 1028, 0, 0, 0}, {522, 8192, 4437, 0, 0, 0, 0}, {262, 80, 4096, 0, 0, 0, 0}, {2056, 4471, 0, 0, 0, 0, 0}, {1800, 5744, 21760, 0, 0, 0, 0}, {1036, 5429, 1542, 5461, 0, 0, 0}, {4362, 4864, 80, 5120, 0, 0, 0}, {4475, 13107, 1028, 0, 0, 0, 0}, {4364, 48, 4608, 5376, 0, 0, 0}, {4477, 514, 21845, 0, 0, 0, 0}, {270, 48, 514, 80, 1028, 4112, 0}, {4607, 2048, 8704, 17408, 0, 0, 0}, {4608, 16384, 0, 0, 0, 0, 0}, {95, 51, 257, 0, 0, 0, 0}, {4128, 514, 20480, 0, 0, 0, 0}, {1036, 51, 771, 4352, 0, 0, 0}, {4680, 8772, 1028, 0, 0, 0, 0}, {4111, 4613, 4176, 1285, 0, 0, 0}, {4108, 4192, 4614, 5120, 0, 0, 0}, {5503, 1799, 21760, 0, 0, 0, 0}, {4744, 2056, 12288, 21000, 0, 0, 0}, {265, 51, 771, 342, 1285, 4099, 0}, {522, 4096, 0, 0, 0, 0, 0}, {51, 771, 4420, 1028, 0, 0, 0}, {1036, 5632, 17408, 0, 0, 0, 0}, {95, 4208, 514, 1285, 0, 0, 0}, {4140, 514, 4160, 1028, 0, 0, 0}, {4623, 8704, 5376, 0, 0, 0, 0}, {2560, 544, 4112, 0, 0, 0, 0}, {51, 768, 1092, 4369, 0, 0, 0}, {16576, 4626, 0, 0, 0, 0, 0}, {275, 1280, 4352, 0, 0, 0, 0}, {4156, 4628, 4176, 5140, 0, 0, 0}, {4714, 8789, 5397, 0, 0, 0, 0}, {1100, 5654, 17408, 0, 0, 0, 0}, {95, 4192, 4631, 1280, 0, 0, 0}, {4632, 4144, 20560, 0, 0, 0, 0}, {5401, 51, 768, 4437, 0, 0, 0}, {4762, 6682, 12336, 16448, 0, 0, 0}, {283, 51, 768, 324, 1280, 4096, 0}, {4124, 1056, 1536, 5200, 0, 0, 0}, {4637, 1911, 21845, 0, 0, 0, 0}, {4638, 8738, 1092, 0, 0, 0, 0}, {4127, 544, 4160, 1280, 0, 0, 0}, {4128, 4608, 20480, 0, 0, 0, 0}, {1096, 51, 771, 4369, 0, 0, 0}, {4642, 16384, 0, 0, 0, 0, 0}, {1295, 771, 272, 0, 0, 0, 0}, {4108, 1060, 5632, 5188, 0, 0, 0}, {4698, 1904, 21845, 0, 0, 0, 0}, {5674, 9766, 1088, 0, 0, 0, 0}, {4111, 4647, 4176, 5376, 0, 0, 0}, {552, 4096, 0, 0, 0, 0, 0}, {51, 771, 4437, 5397, 0, 0, 0}, {4778, 6698, 12288, 21034, 0, 0, 0}, {280, 51, 771, 327, 1047, 4099, 0}, {4620, 544, 4160, 5120, 0, 0, 0}, {4653, 8738, 5461, 0, 0, 0, 0}, {1096, 5734, 17476, 0, 0, 0, 0}, {1295, 5408, 5888, 1360, 0, 0, 0}, {2048, 4656, 0, 0, 0, 0, 0}, {258, 1365, 4369, 0, 0, 0, 0}, {160, 514, 4112, 0, 0, 0, 0}, {51, 768, 1024, 4352, 0, 0, 0}, {1032, 5744, 17476, 0, 0, 0, 0}, {1290, 5429, 1792, 1365, 0, 0, 0}, {522, 4662, 4176, 1024, 0, 0, 0}, {1800, 14135, 5440, 0, 0, 0, 0}, {4792, 2056, 12336, 16448, 0, 0, 0}, {266, 51, 768, 341, 1024, 4096, 0}, {522, 4144, 20560, 0, 0, 0, 0}, {1032, 51, 768, 4420, 0, 0, 0}, {4668, 8704, 1024, 0, 0, 0, 0}, {4127, 514, 4160, 5397, 0, 0, 0}, {4124, 4208, 514, 5140, 0, 0, 0}, {5439, 1792, 21760, 0, 0, 0, 0}, {4800, 6720, 8704, 16448, 0, 0, 0}, {286, 51, 529, 321, 1285, 4369, 0}, {4192, 4674, 20480, 0, 0, 0, 0}, {1100, 51, 1859, 4352, 0, 0, 0}, {5632, 1092, 0, 0, 0, 0, 0}, {95, 629, 1285, 4112, 0, 0, 0}, {4172, 4128, 582, 5120, 0, 0, 0}, {5439, 4679, 21760, 0, 0, 0, 0}, {4680, 28672, 0, 0, 0, 0, 0}, {278, 4437, 1285, 0, 0, 0, 0}, {554, 8224, 4160, 0, 0, 0, 0}, {783, 51, 4420, 5376, 0, 0, 0}, {1100, 4608, 17408, 0, 0, 0, 0}, {95, 4144, 4626, 1285, 0, 0, 0}, {1546, 546, 1092, 4096, 0, 0, 0}, {3855, 4656, 5440, 0, 0, 0, 0}, {512, 4176, 0, 0, 0, 0, 0}, {780, 51, 1028, 4369, 0, 0, 0}, {4818, 2056, 8738, 21074, 0, 0, 0}, {268, 51, 512, 339, 1280, 4352, 0}, {520, 612, 1028, 4112, 0, 0, 0}, {1792, 5461, 0, 0, 0, 0, 0}, {1036, 4694, 17408, 0, 0, 0, 0}, {95, 4128, 599, 1280, 0, 0, 0}, {520, 4208, 20560, 0, 0, 0, 0}, {1036, 51, 1792, 4437, 0, 0, 0}, {4698, 16384, 0, 0, 0, 0, 0}, {51, 4883, 260, 0, 0, 0, 0}, {1036, 4144, 512, 5200, 0, 0, 0}, {1800, 4642, 21845, 0, 0, 0, 0}, {204, 4626, 1028, 0, 0, 0, 0}, {95, 512, 1280, 4096, 0, 0, 0}, {4192, 512, 20480, 0, 0, 0, 0}, {1032, 51, 1799, 4369, 0, 0, 0}, {4834, 2056, 8738, 16448, 0, 0, 0}, {271, 51, 512, 336, 1024, 4352, 0}, {1032, 4128, 1536, 5188, 0, 0, 0}, {1807, 4709, 21845, 0, 0, 0, 0}, {4710, 1024, 0, 0, 0, 0, 0}, {1295, 1799, 1360, 4112, 0, 0, 0}, {520, 8224, 4160, 0, 0, 0, 0}, {783, 51, 4437, 1024, 0, 0, 0}, {4714, 28672, 0, 0, 0, 0, 0}, {263, 4420, 5140, 0, 0, 0, 0}, {108, 512, 1024, 4096, 0, 0, 0}, {255, 4626, 5397, 0, 0, 0, 0}, {1032, 4642, 17476, 0, 0, 0, 0}, {1295, 4144, 512, 1360, 0, 0, 0}, {4848, 6768, 8704, 21104, 0, 0, 0}, {285, 51, 529, 322, 1047, 4369, 0}, {2570, 546, 4176, 0, 0, 0, 0}, {780, 51, 1088, 4352, 0, 0, 0}, {1096, 4724, 17476, 0, 0, 0, 0}, {1290, 4128, 5888, 1365, 0, 0, 0}, {1068, 1542, 1088, 4112, 0, 0, 0}, {4727, 5376, 0, 0, 0, 0, 0}, {4728, 16384, 0, 0, 0, 0, 0}, {51, 4883, 277, 0, 0, 0, 0}, {4698, 4208, 20560, 0, 0, 0, 0}, {5388, 51, 5632, 4420, 0, 0, 0}, {3084, 4656, 1088, 0, 0, 0, 0}, {1290, 546, 1365, 4096, 0, 0, 0}, {4188, 4144, 4626, 5140, 0, 0, 0}, {5503, 4608, 21760, 0, 0, 0, 0}, {16512, 4608, 0, 0, 0, 0, 0}, {274, 1285, 4369, 0, 0, 0, 0}, {2570, 546, 4096, 0, 0, 0, 0}, {51, 771, 1088, 4352, 0, 0, 0}, {1096, 5632, 17476, 0, 0, 0, 0}, {95, 4208, 4613, 1285, 0, 0, 0}, {4140, 4614, 4160, 5120, 0, 0, 0}, {4728, 8823, 5376, 0, 0, 0, 0}, {4744, 6656, 12288, 16384, 0, 0, 0}, {282, 51, 771, 325, 1285, 4112, 0}, {4618, 4128, 20480, 0, 0, 0, 0}, {5388, 51, 771, 4420, 0, 0, 0}, {4620, 8704, 1088, 0, 0, 0, 0}, {4111, 546, 4176, 1285, 0, 0, 0}, {4108, 1060, 1542, 5188, 0, 0, 0}, {4623, 1904, 21760, 0, 0, 0, 0}, {4144, 512, 20560, 0, 0, 0, 0}, {1032, 51, 768, 4369, 0, 0, 0}, {4626, 16448, 0, 0, 0, 0, 0}, {95, 51, 256, 0, 0, 0, 0}, {4124, 4208, 4628, 5140, 0, 0, 0}, {5482, 1792, 21845, 0, 0, 0, 0}, {4698, 8806, 1024, 0, 0, 0, 0}, {4127, 4631, 4160, 1280, 0, 0, 0}, {520, 4112, 0, 0, 0, 0, 0}, {51, 768, 4437, 1024, 0, 0, 0}, {4762, 2048, 12336, 21082, 0, 0, 0}, {264, 51, 768, 343, 1280, 4115, 0}, {4156, 512, 4176, 1024, 0, 0, 0}, {4637, 8738, 5397, 0, 0, 0, 0}, {1032, 5654, 17476, 0, 0, 0, 0}, {95, 4192, 512, 1280, 0, 0, 0}, {160, 512, 4096, 0, 0, 0, 0}, {51, 771, 1028, 4369, 0, 0, 0}, {2056, 4642, 0, 0, 0, 0, 0}, {259, 1360, 4352, 0, 0, 0, 0}, {520, 4644, 4160, 1028, 0, 0, 0}, {1807, 14080, 5461, 0, 0, 0, 0}, {1036, 5734, 17408, 0, 0, 0, 0}, {1295, 5408, 1799, 1360, 0, 0, 0}, {520, 4128, 20480, 0, 0, 0, 0}, {1036, 51, 771, 4437, 0, 0, 0}, {4778, 2048, 12288, 16384, 0, 0, 0}, {267, 51, 771, 340, 1028, 4112, 0}, {4108, 4192, 512, 5120, 0, 0, 0}, {5418, 1799, 21845, 0, 0, 0, 0}, {4654, 8738, 1028, 0, 0, 0, 0}, {4111, 512, 4176, 5376, 0, 0, 0}, {4656, 16448, 0, 0, 0, 0, 0}, {1290, 768, 273, 0, 0, 0, 0}, {4144, 4626, 20560, 0, 0, 0, 0}, {1100, 51, 768, 4352, 0, 0, 0}, {5692, 9728, 1092, 0, 0, 0, 0}, {4127, 4661, 4160, 5397, 0, 0, 0}, {4124, 1056, 5654, 5200, 0, 0, 0}, {4680, 1911, 21760, 0, 0, 0, 0}, {4792, 6704, 12336, 21112, 0, 0, 0}, {281, 51, 768, 326, 1043, 4115, 0}, {554, 4112, 0, 0, 0, 0, 0}, {51, 768, 4420, 5376, 0, 0, 0}, {1100, 5744, 17408, 0, 0, 0, 0}, {1290, 5429, 5911, 1365, 0, 0, 0}, {4638, 546, 4176, 5140, 0, 0, 0}, {4671, 8704, 5440, 0, 0, 0, 0}, {4800, 2048, 8704, 20992, 0, 0, 0}, {269, 51, 514, 338, 1285, 4369, 0}, {514, 4160, 0, 0, 0, 0, 0}, {783, 51, 1024, 4352, 0, 0, 0}, {1032, 4676, 17476, 0, 0, 0, 0}, {95, 4144, 597, 1285, 0, 0, 0}, {522, 614, 1024, 4096, 0, 0, 0}, {1799, 5440, 0, 0, 0, 0, 0}, {4680, 16448, 0, 0, 0, 0, 0}, {51, 4864, 261, 0, 0, 0, 0}, {522, 4192, 20480, 0, 0, 0, 0}, {1032, 51, 1799, 4420, 0, 0, 0}, {204, 4608, 1024, 0, 0, 0, 0}, {95, 514, 1285, 4112, 0, 0, 0}, {1032, 4128, 514, 5188, 0, 0, 0}, {1807, 4656, 21760, 0, 0, 0, 0}, {4208, 4688, 20560, 0, 0, 0, 0}, {1096, 51, 1860, 4369, 0, 0, 0}, {4818, 6746, 8738, 16384, 0, 0, 0}, {287, 51, 531, 320, 1280, 4352, 0}, {4188, 4144, 580, 5140, 0, 0, 0}, {5418, 4693, 21845, 0, 0, 0, 0}, {5654, 1088, 0, 0, 0, 0, 0}, {95, 631, 1280, 4096, 0, 0, 0}, {552, 8192, 4176, 0, 0, 0, 0}, {780, 51, 4437, 5397, 0, 0, 0}, {4698, 28784, 0, 0, 0, 0, 0}, {279, 4420, 1280, 0, 0, 0, 0}, {1548, 544, 1088, 4112, 0, 0, 0}, {3840, 4642, 5461, 0, 0, 0, 0}, {1096, 4626, 17476, 0, 0, 0, 0}, {95, 4128, 4608, 1280, 0, 0, 0}, {2560, 544, 4160, 0, 0, 0, 0}, {783, 51, 1092, 4369, 0, 0, 0}, {4834, 6762, 8738, 21026, 0, 0, 0}, {284, 51, 531, 323, 1043, 4352, 0}, {1064, 1536, 1092, 4096, 0, 0, 0}, {4709, 5397, 0, 0, 0, 0, 0}, {1100, 4710, 17408, 0, 0, 0, 0}, {1295, 4144, 5911, 1360, 0, 0, 0}, {4680, 4192, 20480, 0, 0, 0, 0}, {5401, 51, 5654, 4437, 0, 0, 0}, {4714, 16448, 0, 0, 0, 0, 0}, {51, 4864, 276, 0, 0, 0, 0}, {4172, 4128, 4608, 5120, 0, 0, 0}, {5482, 4626, 21845, 0, 0, 0, 0}, {3072, 4642, 1092, 0, 0, 0, 0}, {1295, 544, 1360, 4112, 0, 0, 0}, {4848, 2048, 8704, 16384, 0, 0, 0}, {270, 51, 514, 337, 1028, 4369, 0}, {4208, 514, 20560, 0, 0, 0, 0}, {1036, 51, 1792, 4352, 0, 0, 0}, {4724, 1028, 0, 0, 0, 0, 0}, {1290, 1792, 1365, 4096, 0, 0, 0}, {1036, 4144, 1542, 5200, 0, 0, 0}, {1800, 4727, 21760, 0, 0, 0, 0}, {4728, 28784, 0, 0, 0, 0, 0}, {262, 4437, 5120, 0, 0, 0, 0}, {522, 8192, 4176, 0, 0, 0, 0}, {780, 51, 4420, 1028, 0, 0, 0}, {1036, 4656, 17408, 0, 0, 0, 0}, {1290, 4128, 514, 1365, 0, 0, 0}, {108, 514, 1028, 4112, 0, 0, 0}, {255, 4608, 5376, 0, 0, 0, 0}, {24320, 13056, 0, 0, 0, 0, 0}, {18, 64, 257, 0, 0, 0, 0}, {8, 34, 514, 4352, 0, 0, 0}, {48, 771, 20480, 0, 0, 0, 0}, {8, 4868, 64, 1028, 0, 0, 0}, {90, 13141, 1285, 0, 0, 0, 0}, {106, 1542, 21760, 0, 0, 0, 0}, {8, 112, 4871, 5120, 0, 0, 0}, {8, 4864, 17408, 0, 0, 0, 0}, {90, 48, 771, 1285, 0, 0, 0}, {170, 2570, 13056, 21760, 0, 0, 0}, {8, 48, 771, 64, 1028, 4096, 0}, {192, 3084, 13068, 21260, 0, 0, 0}, {8, 34, 514, 82, 1285, 4359, 0}, {8, 34, 514, 64, 1028, 4356, 0}, {240, 3855, 13071, 20480, 0, 0, 0}, {48, 768, 64, 4112, 0, 0, 0}, {2560, 34, 4369, 0, 0, 0, 0}, {18, 1280, 4352, 0, 0, 0, 0}, {128, 4883, 0, 0, 0, 0, 0}, {120, 13124, 5140, 0, 0, 0, 0}, {42, 4885, 64, 5397, 0, 0, 0}, {90, 112, 4886, 1280, 0, 0, 0}, {72, 5911, 17408, 0, 0, 0, 0}, {5144, 48, 768, 5200, 0, 0, 0}, {4889, 4915, 21845, 0, 0, 0, 0}, {26, 48, 768, 64, 1280, 4096, 0}, {136, 6939, 13107, 17476, 0, 0, 0}, {4892, 112, 20560, 0, 0, 0, 0}, {4381, 34, 1536, 4437, 0, 0, 0}, {4382, 34, 4420, 1280, 0, 0, 0}, {4895, 8224, 64, 0, 0, 0, 0}, {19456, 4896, 0, 0, 0, 0, 0}, {18, 1365, 4369, 0, 0, 0, 0}, {2560, 34, 4352, 0, 0, 0, 0}, {48, 771, 64, 4112, 0, 0, 0}, {72, 5984, 17476, 0, 0, 0, 0}, {1295, 1317, 5632, 1365, 0, 0, 0}, {4876, 4902, 64, 5376, 0, 0, 0}, {5160, 10023, 5200, 0, 0, 0, 0}, {136, 6952, 13056, 17408, 0, 0, 0}, {26, 48, 771, 64, 1301, 4096, 0}, {42, 4864, 21760, 0, 0, 0, 0}, {72, 48, 771, 5140, 0, 0, 0}, {4908, 8224, 64, 0, 0, 0, 0}, {4367, 34, 4437, 5120, 0, 0, 0}, {4364, 34, 5888, 4420, 0, 0, 0}, {4959, 112, 20560, 0, 0, 0, 0}, {48, 768, 20480, 0, 0, 0, 0}, {8, 34, 514, 4369, 0, 0, 0}, {258, 1024, 272, 0, 0, 0, 0}, {24575, 13107, 0, 0, 0, 0, 0}, {8, 5172, 1792, 5188, 0, 0, 0}, {1546, 1632, 21845, 0, 0, 0, 0}, {1290, 13878, 1360, 0, 0, 0, 0}, {8, 4919, 64, 1024, 0, 0, 0}, {8, 48, 768, 64, 1024, 4096, 0}, {170, 2570, 13107, 21845, 0, 0, 0}, {1290, 48, 768, 1360, 0, 0, 0}, {8, 4915, 17476, 0, 0, 0, 0}, {240, 3840, 13116, 20480, 0, 0, 0}, {8, 34, 514, 64, 1024, 4373, 0}, {8, 34, 514, 82, 1282, 4374, 0}, {192, 3072, 13119, 21311, 0, 0, 0}, {4864, 64, 0, 0, 0, 0, 0}, {90, 34, 1285, 4369, 0, 0, 0}, {72, 34, 1602, 4352, 0, 0, 0}, {112, 4931, 20480, 0, 0, 0, 0}, {136, 6980, 13124, 17476, 0, 0, 0}, {26, 48, 789, 64, 1285, 4112, 0}, {42, 4934, 21760, 0, 0, 0, 0}, {72, 48, 839, 5120, 0, 0, 0}, {72, 5888, 17408, 0, 0, 0, 0}, {90, 112, 4883, 1285, 0, 0, 0}, {4874, 4896, 64, 5376, 0, 0, 0}, {5180, 13107, 5188, 0, 0, 0, 0}, {4940, 8192, 0, 0, 0, 0, 0}, {18, 4437, 1285, 0, 0, 0, 0}, {2570, 34, 4420, 0, 0, 0, 0}, {783, 48, 64, 4096, 0, 0, 0}, {240, 3840, 13056, 20560, 0, 0, 0}, {8, 34, 512, 64, 1028, 4369, 0}, {8, 34, 512, 82, 1280, 4352, 0}, {192, 3084, 13107, 21331, 0, 0, 0}, {8, 48, 772, 64, 1028, 4112, 0}, {170, 2560, 13141, 21845, 0, 0, 0}, {90, 48, 854, 1280, 0, 0, 0}, {8, 4951, 17408, 0, 0, 0, 0}, {8, 5152, 1792, 5200, 0, 0, 0}, {1548, 1638, 21845, 0, 0, 0, 0}, {90, 13056, 1280, 0, 0, 0, 0}, {8, 4883, 64, 1028, 0, 0, 0}, {780, 48, 20560, 0, 0, 0, 0}, {8, 34, 512, 4437, 0, 0, 0}, {18, 260, 4096, 0, 0, 0, 0}, {13311, 24415, 0, 0, 0, 0, 0}, {192, 3072, 13056, 21344, 0, 0, 0}, {8, 34, 512, 82, 1287, 4369, 0}, {8, 34, 512, 64, 1024, 4352, 0}, {240, 3855, 13107, 20560, 0, 0, 0}, {8, 4964, 17476, 0, 0, 0, 0}, {1295, 48, 1536, 1365, 0, 0, 0}, {170, 2560, 13158, 21760, 0, 0, 0}, {8, 48, 775, 64, 1024, 4112, 0}, {8, 4896, 64, 1024, 0, 0, 0}, {1295, 13107, 1365, 0, 0, 0, 0}, {106, 1536, 21760, 0, 0, 0, 0}, {8, 112, 4883, 5140, 0, 0, 0}, {13260, 27756, 0, 0, 0, 0, 0}, {18, 277, 4096, 0, 0, 0, 0}, {8, 34, 512, 4420, 0, 0, 0}, {783, 48, 20560, 0, 0, 0, 0}, {112, 4864, 20480, 0, 0, 0, 0}, {72, 34, 1542, 4369, 0, 0, 0}, {1290, 34, 1360, 4352, 0, 0, 0}, {3084, 4915, 64, 0, 0, 0, 0}, {5132, 48, 5888, 5188, 0, 0, 0}, {4959, 4981, 21845, 0, 0, 0, 0}, {26, 48, 790, 64, 1296, 4112, 0}, {136, 7031, 13175, 17408, 0, 0, 0}, {120, 13056, 5120, 0, 0, 0, 0}, {42, 4883, 64, 5397, 0, 0, 0}, {1290, 1312, 5632, 1360, 0, 0, 0}, {72, 6007, 17476, 0, 0, 0, 0}, {780, 48, 64, 4096, 0, 0, 0}, {2570, 34, 4437, 0, 0, 0, 0}, {18, 4420, 5140, 0, 0, 0, 0}, {4991, 8192, 0, 0, 0, 0, 0}, {128, 4864, 0, 0, 0, 0, 0}, {18, 1285, 4369, 0, 0, 0, 0}, {2570, 34, 4352, 0, 0, 0, 0}, {48, 771, 64, 4096, 0, 0, 0}, {72, 5888, 17476, 0, 0, 0, 0}, {90, 112, 4869, 1285, 0, 0, 0}, {42, 4870, 64, 5376, 0, 0, 0}, {120, 13175, 5120, 0, 0, 0, 0}, {136, 6912, 13056, 17408, 0, 0, 0}, {26, 48, 771, 64, 1285, 4112, 0}, {4874, 4896, 21760, 0, 0, 0, 0}, {5132, 48, 771, 5188, 0, 0, 0}, {4876, 8192, 64, 0, 0, 0, 0}, {4367, 34, 4437, 1285, 0, 0, 0}, {4364, 34, 1542, 4420, 0, 0, 0}, {4879, 112, 20480, 0, 0, 0, 0}, {48, 768, 20560, 0, 0, 0, 0}, {8, 34, 512, 4369, 0, 0, 0}, {18, 64, 256, 0, 0, 0, 0}, {24415, 13107, 0, 0, 0, 0, 0}, {8, 112, 4884, 5140, 0, 0, 0}, {106, 1536, 21845, 0, 0, 0, 0}, {90, 13158, 1280, 0, 0, 0, 0}, {8, 4887, 64, 1024, 0, 0, 0}, {8, 48, 768, 64, 1024, 4112, 0}, {170, 2560, 13107, 21845, 0, 0, 0}, {90, 48, 768, 1280, 0, 0, 0}, {8, 4883, 17476, 0, 0, 0, 0}, {240, 3840, 13116, 20560, 0, 0, 0}, {8, 34, 512, 64, 1024, 4373, 0}, {8, 34, 512, 82, 1280, 4374, 0}, {192, 3072, 13119, 21343, 0, 0, 0}, {24480, 13056, 0, 0, 0, 0, 0}, {259, 1028, 273, 0, 0, 0, 0}, {8, 34, 512, 4352, 0, 0, 0}, {48, 771, 20560, 0, 0, 0, 0}, {8, 4900, 64, 1028, 0, 0, 0}, {1295, 13824, 1365, 0, 0, 0, 0}, {1548, 1638, 21760, 0, 0, 0, 0}, {8, 5152, 1799, 5200, 0, 0, 0}, {8, 4896, 17408, 0, 0, 0, 0}, {1295, 48, 771, 1365, 0, 0, 0}, {170, 2560, 13056, 21760, 0, 0, 0}, {8, 48, 771, 64, 1028, 4112, 0}, {192, 3084, 13068, 21356, 0, 0, 0}, {8, 34, 512, 82, 1287, 4359, 0}, {8, 34, 512, 64, 1028, 4356, 0}, {240, 3855, 13071, 20560, 0, 0, 0}, {48, 768, 64, 4096, 0, 0, 0}, {2570, 34, 4369, 0, 0, 0, 0}, {18, 1360, 4352, 0, 0, 0, 0}, {19532, 4915, 0, 0, 0, 0, 0}, {5180, 9984, 5188, 0, 0, 0, 0}, {4895, 4917, 64, 5397, 0, 0, 0}, {1290, 1312, 5654, 1360, 0, 0, 0}, {72, 6007, 17408, 0, 0, 0, 0}, {72, 48, 768, 5120, 0, 0, 0}, {42, 4883, 21845, 0, 0, 0, 0}, {26, 48, 768, 64, 1296, 4112, 0}, {136, 6963, 13107, 17476, 0, 0, 0}, {4940, 112, 20480, 0, 0, 0, 0}, {4381, 34, 5911, 4437, 0, 0, 0}, {4382, 34, 4420, 5140, 0, 0, 0}, {4927, 8192, 64, 0, 0, 0, 0}, {192, 3072, 13056, 21248, 0, 0, 0}, {8, 34, 514, 82, 1285, 4369, 0}, {8, 34, 514, 64, 1024, 4352, 0}, {240, 3855, 13107, 20480, 0, 0, 0}, {8, 4932, 17476, 0, 0, 0, 0}, {90, 48, 853, 1285, 0, 0, 0}, {170, 2570, 13158, 21760, 0, 0, 0}, {8, 48, 775, 64, 1024, 4096, 0}, {8, 4864, 64, 1024, 0, 0, 0}, {90, 13107, 1285, 0, 0, 0, 0}, {1546, 1632, 21760, 0, 0, 0, 0}, {8, 5172, 1799, 5188, 0, 0, 0}, {13260, 24320, 0, 0, 0, 0, 0}, {18, 261, 4112, 0, 0, 0, 0}, {8, 34, 514, 4420, 0, 0, 0}, {783, 48, 20480, 0, 0, 0, 0}, {112, 4944, 20560, 0, 0, 0, 0}, {72, 34, 1604, 4369, 0, 0, 0}, {90, 34, 1280, 4352, 0, 0, 0}, {4883, 64, 0, 0, 0, 0, 0}, {72, 48, 836, 5140, 0, 0, 0}, {42, 4949, 21845, 0, 0, 0, 0}, {26, 48, 790, 64, 1280, 4096, 0}, {136, 7007, 13175, 17408, 0, 0, 0}, {5160, 13056, 5200, 0, 0, 0, 0}, {4889, 4915, 64, 5397, 0, 0, 0}, {90, 112, 4864, 1280, 0, 0, 0}, {72, 5911, 17476, 0, 0, 0, 0}, {780, 48, 64, 4112, 0, 0, 0}, {2560, 34, 4437, 0, 0, 0, 0}, {18, 4420, 1280, 0, 0, 0, 0}, {4959, 8224, 0, 0, 0, 0, 0}, {3072, 4896, 64, 0, 0, 0, 0}, {1295, 34, 1365, 4369, 0, 0, 0}, {72, 34, 1536, 4352, 0, 0, 0}, {112, 4883, 20560, 0, 0, 0, 0}, {136, 7020, 13124, 17476, 0, 0, 0}, {26, 48, 789, 64, 1301, 4096, 0}, {4940, 4966, 21760, 0, 0, 0, 0}, {5144, 48, 5911, 5200, 0, 0, 0}, {72, 5984, 17408, 0, 0, 0, 0}, {1295, 1317, 5654, 1365, 0, 0, 0}, {42, 4864, 64, 5376, 0, 0, 0}, {120, 13107, 5140, 0, 0, 0, 0}, {4972, 8224, 0, 0, 0, 0, 0}, {18, 4437, 5120, 0, 0, 0, 0}, {2560, 34, 4420, 0, 0, 0, 0}, {783, 48, 64, 4112, 0, 0, 0}, {240, 3840, 13056, 20480, 0, 0, 0}, {8, 34, 514, 64, 1028, 4369, 0}, {8, 34, 514, 82, 1282, 4352, 0}, {192, 3084, 13107, 21299, 0, 0, 0}, {8, 48, 772, 64, 1028, 4096, 0}, {170, 2570, 13141, 21845, 0, 0, 0}, {1290, 48, 1542, 1360, 0, 0, 0}, {8, 4983, 17408, 0, 0, 0, 0}, {8, 112, 4864, 5120, 0, 0, 0}, {106, 1542, 21845, 0, 0, 0, 0}, {1290, 13056, 1360, 0, 0, 0, 0}, {8, 4915, 64, 1028, 0, 0, 0}, {780, 48, 20480, 0, 0, 0, 0}, {8, 34, 514, 4437, 0, 0, 0}, {18, 276, 4112, 0, 0, 0, 0}, {13311, 27648, 0, 0, 0, 0, 0}, {8192, 5120, 0, 0, 0, 0, 0}, {63, 85, 257, 0, 0, 0, 0}, {5160, 514, 17442, 0, 0, 0, 0}, {4111, 4144, 771, 5123, 0, 0, 0}, {12288, 4160, 1028, 0, 0, 0, 0}, {522, 85, 1285, 4352, 0, 0, 0}, {4106, 4192, 4608, 5126, 0, 0, 0}, {5240, 1799, 17527, 0, 0, 0, 0}, {5256, 2056, 13320, 20480, 0, 0, 0}, {265, 310, 771, 85, 1285, 4101, 0}, {5130, 5632, 17408, 0, 0, 0, 0}, {4175, 4208, 771, 1028, 0, 0, 0}, {1036, 4096, 0, 0, 0, 0, 0}, {4386, 514, 85, 1285, 0, 0, 0}, {4170, 4128, 514, 1028, 0, 0, 0}, {5135, 4864, 17408, 0, 0, 0, 0}, {3072, 1088, 4112, 0, 0, 0, 0}, {546, 85, 1280, 4369, 0, 0, 0}, {4186, 4144, 4626, 5138, 0, 0, 0}, {5228, 4883, 17459, 0, 0, 0, 0}, {8352, 5140, 0, 0, 0, 0, 0}, {768, 277, 4352, 0, 0, 0, 0}, {5180, 5654, 17510, 0, 0, 0, 0}, {4191, 4192, 768, 5143, 0, 0, 0}, {5144, 12336, 4176, 0, 0, 0, 0}, {4889, 4403, 85, 1280, 0, 0, 0}, {4122, 5168, 1536, 1088, 0, 0, 0}, {5147, 1911, 17476, 0, 0, 0, 0}, {5276, 7196, 8224, 20560, 0, 0, 0}, {285, 290, 768, 85, 1280, 4096, 0}, {5150, 546, 17476, 0, 0, 0, 0}, {4127, 4128, 768, 1088, 0, 0, 0}, {5280, 7200, 8224, 17408, 0, 0, 0}, {286, 289, 771, 85, 1041, 4369, 0}, {5154, 5632, 20480, 0, 0, 0, 0}, {1100, 1139, 771, 4112, 0, 0, 0}, {3084, 5156, 1092, 0, 0, 0, 0}, {1295, 1829, 85, 4352, 0, 0, 0}, {5132, 1062, 4608, 4160, 0, 0, 0}, {4959, 5159, 20560, 0, 0, 0, 0}, {5160, 28672, 0, 0, 0, 0, 0}, {278, 85, 5397, 0, 0, 0, 0}, {554, 8704, 5120, 0, 0, 0, 0}, {63, 771, 4176, 5140, 0, 0, 0}, {1100, 4128, 16448, 0, 0, 0, 0}, {1295, 4386, 4864, 85, 0, 0, 0}, {1548, 546, 1092, 4096, 0, 0, 0}, {3855, 4896, 5200, 0, 0, 0, 0}, {4144, 1024, 0, 0, 0, 0, 0}, {1290, 514, 85, 4369, 0, 0, 0}, {1032, 1122, 514, 4112, 0, 0, 0}, {5171, 1792, 20480, 0, 0, 0, 0}, {5300, 2056, 13364, 17476, 0, 0, 0}, {266, 309, 768, 85, 1024, 4352, 0}, {522, 5174, 20560, 0, 0, 0, 0}, {1032, 1079, 768, 4160, 0, 0, 0}, {1032, 4208, 16448, 0, 0, 0, 0}, {1290, 4403, 1792, 85, 0, 0, 0}, {522, 4656, 4176, 1024, 0, 0, 0}, {1800, 13107, 5188, 0, 0, 0, 0}, {5180, 8192, 0, 0, 0, 0, 0}, {258, 85, 5397, 0, 0, 0, 0}, {170, 514, 5140, 0, 0, 0, 0}, {63, 768, 1024, 4096, 0, 0, 0}, {12288, 4160, 5120, 0, 0, 0, 0}, {552, 85, 1285, 4369, 0, 0, 0}, {4106, 1058, 5632, 5186, 0, 0, 0}, {4940, 1904, 17219, 0, 0, 0, 0}, {8192, 5188, 0, 0, 0, 0, 0}, {783, 1285, 272, 0, 0, 0, 0}, {5708, 544, 17990, 0, 0, 0, 0}, {4111, 4144, 4864, 5191, 0, 0, 0}, {1096, 4096, 0, 0, 0, 0, 0}, {4403, 4883, 85, 1285, 0, 0, 0}, {5130, 4128, 4608, 1088, 0, 0, 0}, {5195, 4915, 17476, 0, 0, 0, 0}, {5324, 7244, 13388, 20480, 0, 0, 0}, {280, 295, 535, 85, 1285, 4101, 0}, {5198, 5734, 17476, 0, 0, 0, 0}, {5135, 5168, 5888, 1088, 0, 0, 0}, {2048, 5200, 0, 0, 0, 0, 0}, {819, 260, 4369, 0, 0, 0, 0}, {520, 5744, 21074, 0, 0, 0, 0}, {1036, 1075, 1792, 5203, 0, 0, 0}, {192, 1028, 4112, 0, 0, 0, 0}, {512, 85, 1280, 4352, 0, 0, 0}, {1036, 4144, 512, 5206, 0, 0, 0}, {1800, 4896, 22359, 0, 0, 0, 0}, {5336, 2056, 8224, 20560, 0, 0, 0}, {268, 307, 512, 85, 1280, 4096, 0}, {5210, 512, 17408, 0, 0, 0, 0}, {4127, 4128, 4883, 1028, 0, 0, 0}, {1036, 12336, 4176, 0, 0, 0, 0}, {520, 4386, 85, 1280, 0, 0, 0}, {4122, 4208, 4626, 1028, 0, 0, 0}, {5215, 1792, 17408, 0, 0, 0, 0}, {4192, 1024, 0, 0, 0, 0, 0}, {1295, 1799, 85, 4369, 0, 0, 0}, {1032, 5154, 1536, 4160, 0, 0, 0}, {1807, 5219, 20560, 0, 0, 0, 0}, {5348, 2056, 8224, 17476, 0, 0, 0}, {271, 304, 512, 85, 1024, 4352, 0}, {5222, 512, 20480, 0, 0, 0, 0}, {1032, 1079, 1799, 4112, 0, 0, 0}, {1032, 4128, 16448, 0, 0, 0, 0}, {1295, 4403, 512, 85, 0, 0, 0}, {106, 512, 1024, 4096, 0, 0, 0}, {255, 4883, 5140, 0, 0, 0, 0}, {5228, 28672, 0, 0, 0, 0, 0}, {263, 85, 5397, 0, 0, 0, 0}, {520, 8738, 5188, 0, 0, 0, 0}, {783, 816, 4176, 1024, 0, 0, 0}, {5360, 7280, 13424, 17408, 0, 0, 0}, {283, 292, 535, 85, 1041, 4369, 0}, {5722, 5234, 20560, 0, 0, 0, 0}, {5132, 5171, 5888, 4160, 0, 0, 0}, {3084, 4144, 1092, 0, 0, 0, 0}, {1290, 544, 85, 4352, 0, 0, 0}, {1100, 1062, 1542, 4112, 0, 0, 0}, {5239, 4864, 20480, 0, 0, 0, 0}, {5240, 8192, 0, 0, 0, 0, 0}, {275, 85, 5397, 0, 0, 0, 0}, {2570, 544, 5200, 0, 0, 0, 0}, {780, 819, 1092, 4096, 0, 0, 0}, {1100, 4208, 16448, 0, 0, 0, 0}, {1290, 4386, 5632, 85, 0, 0, 0}, {4154, 4626, 4176, 5140, 0, 0, 0}, {4991, 13056, 5120, 0, 0, 0, 0}, {8320, 5120, 0, 0, 0, 0, 0}, {771, 276, 4369, 0, 0, 0, 0}, {5160, 5632, 17442, 0, 0, 0, 0}, {4175, 4208, 771, 5123, 0, 0, 0}, {3084, 1092, 4096, 0, 0, 0, 0}, {544, 85, 1285, 4352, 0, 0, 0}, {4170, 4128, 4608, 5126, 0, 0, 0}, {5240, 4864, 17527, 0, 0, 0, 0}, {5256, 7168, 8192, 20480, 0, 0, 0}, {284, 291, 771, 85, 1285, 4112, 0}, {5130, 544, 17408, 0, 0, 0, 0}, {4111, 4144, 771, 1092, 0, 0, 0}, {5132, 12288, 4160, 0, 0, 0, 0}, {4874, 4386, 85, 1285, 0, 0, 0}, {4106, 5156, 1542, 1092, 0, 0, 0}, {5135, 1904, 17408, 0, 0, 0, 0}, {12336, 4176, 1024, 0, 0, 0, 0}, {520, 85, 1280, 4369, 0, 0, 0}, {4122, 4208, 4626, 5138, 0, 0, 0}, {5228, 1792, 17459, 0, 0, 0, 0}, {8224, 5140, 0, 0, 0, 0, 0}, {63, 85, 256, 0, 0, 0, 0}, {5180, 512, 17510, 0, 0, 0, 0}, {4127, 4128, 768, 5143, 0, 0, 0}, {1032, 4112, 0, 0, 0, 0, 0}, {4403, 512, 85, 1280, 0, 0, 0}, {4186, 4144, 512, 1024, 0, 0, 0}, {5147, 4883, 17476, 0, 0, 0, 0}, {5276, 2048, 13372, 20560, 0, 0, 0}, {264, 311, 768, 85, 1280, 4117, 0}, {5150, 5654, 17476, 0, 0, 0, 0}, {4191, 4192, 768, 1024, 0, 0, 0}, {5280, 2048, 13312, 17408, 0, 0, 0}, {267, 308, 771, 85, 1028, 4369, 0}, {520, 5154, 20480, 0, 0, 0, 0}, {1036, 1075, 771, 4176, 0, 0, 0}, {4128, 1028, 0, 0, 0, 0, 0}, {1295, 512, 85, 4352, 0, 0, 0}, {1036, 1126, 512, 4096, 0, 0, 0}, {5159, 1799, 20560, 0, 0, 0, 0}, {5160, 8224, 0, 0, 0, 0, 0}, {259, 85, 5376, 0, 0, 0, 0}, {170, 512, 5120, 0, 0, 0, 0}, {63, 771, 1028, 4112, 0, 0, 0}, {1036, 4192, 16384, 0, 0, 0, 0}, {1295, 4386, 1799, 85, 0, 0, 0}, {520, 4642, 4160, 1028, 0, 0, 0}, {1807, 13056, 5200, 0, 0, 0, 0}, {3072, 5168, 1088, 0, 0, 0, 0}, {1290, 1826, 85, 4369, 0, 0, 0}, {5144, 1058, 4626, 4176, 0, 0, 0}, {4940, 5171, 20480, 0, 0, 0, 0}, {5300, 7228, 8192, 17476, 0, 0, 0}, {287, 288, 768, 85, 1045, 4352, 0}, {5174, 5654, 20560, 0, 0, 0, 0}, {1096, 1143, 768, 4096, 0, 0, 0}, {1096, 4144, 16384, 0, 0, 0, 0}, {1290, 4403, 4883, 85, 0, 0, 0}, {1546, 544, 1088, 4112, 0, 0, 0}, {3840, 4915, 5188, 0, 0, 0, 0}, {5180, 28784, 0, 0, 0, 0, 0}, {279, 85, 5376, 0, 0, 0, 0}, {552, 8738, 5140, 0, 0, 0, 0}, {63, 768, 4160, 5120, 0, 0, 0}, {192, 1024, 4096, 0, 0, 0, 0}, {514, 85, 1285, 4369, 0, 0, 0}, {1032, 4128, 514, 5186, 0, 0, 0}, {1807, 4915, 22272, 0, 0, 0, 0}, {2056, 5188, 0, 0, 0, 0, 0}, {816, 261, 4352, 0, 0, 0, 0}, {522, 5734, 20992, 0, 0, 0, 0}, {1032, 1079, 1799, 5191, 0, 0, 0}, {1032, 12288, 4160, 0, 0, 0, 0}, {522, 4403, 85, 1285, 0, 0, 0}, {4106, 4192, 4608, 1024, 0, 0, 0}, {5195, 1799, 17476, 0, 0, 0, 0}, {5324, 2048, 8192, 20480, 0, 0, 0}, {269, 306, 514, 85, 1285, 4112, 0}, {5198, 514, 17476, 0, 0, 0, 0}, {4111, 4144, 4864, 1024, 0, 0, 0}, {8224, 5200, 0, 0, 0, 0, 0}, {780, 1280, 273, 0, 0, 0, 0}, {5722, 546, 17920, 0, 0, 0, 0}, {4127, 4128, 4883, 5203, 0, 0, 0}, {12336, 4176, 5140, 0, 0, 0, 0}, {554, 85, 1280, 4352, 0, 0, 0}, {4122, 1062, 5654, 5206, 0, 0, 0}, {4959, 1911, 17152, 0, 0, 0, 0}, {5336, 7248, 13432, 20560, 0, 0, 0}, {281, 294, 533, 85, 1280, 4117, 0}, {5210, 5744, 17408, 0, 0, 0, 0}, {5147, 5156, 5911, 1092, 0, 0, 0}, {1100, 4112, 0, 0, 0, 0, 0}, {4386, 4864, 85, 1280, 0, 0, 0}, {5150, 4144, 4626, 1092, 0, 0, 0}, {5215, 4896, 17408, 0, 0, 0, 0}, {3072, 4128, 1088, 0, 0, 0, 0}, {1295, 546, 85, 4369, 0, 0, 0}, {1096, 1058, 1536, 4096, 0, 0, 0}, {5219, 4883, 20560, 0, 0, 0, 0}, {5348, 7276, 13380, 17476, 0, 0, 0}, {282, 293, 533, 85, 1045, 4352, 0}, {5708, 5222, 20480, 0, 0, 0, 0}, {5144, 5159, 5911, 4176, 0, 0, 0}, {1096, 4192, 16384, 0, 0, 0, 0}, {1295, 4403, 5654, 85, 0, 0, 0}, {4138, 4608, 4160, 5120, 0, 0, 0}, {4972, 13107, 5140, 0, 0, 0, 0}, {5228, 8224, 0, 0, 0, 0, 0}, {274, 85, 5376, 0, 0, 0, 0}, {2560, 546, 5188, 0, 0, 0, 0}, {783, 816, 1088, 4112, 0, 0, 0}, {5360, 2048, 8192, 17408, 0, 0, 0}, {270, 305, 514, 85, 1028, 4369, 0}, {5234, 514, 20560, 0, 0, 0, 0}, {1036, 1075, 1792, 4096, 0, 0, 0}, {4208, 1028, 0, 0, 0, 0, 0}, {1290, 1792, 85, 4352, 0, 0, 0}, {1036, 5174, 1542, 4176, 0, 0, 0}, {1800, 5239, 20480, 0, 0, 0, 0}, {5240, 28784, 0, 0, 0, 0, 0}, {262, 85, 5376, 0, 0, 0, 0}, {522, 8704, 5200, 0, 0, 0, 0}, {780, 819, 4160, 1028, 0, 0, 0}, {1036, 4144, 16384, 0, 0, 0, 0}, {1290, 4386, 514, 85, 0, 0, 0}, {106, 514, 1028, 4112, 0, 0, 0}, {255, 4864, 5120, 0, 0, 0, 0}, {16128, 21760, 0, 0, 0, 0, 0}, {32, 20, 257, 0, 0, 0, 0}, {8, 32, 514, 5378, 0, 0, 0}, {60, 771, 21811, 0, 0, 0, 0}, {8, 68, 1028, 4352, 0, 0, 0}, {12288, 80, 1285, 0, 0, 0, 0}, {108, 1542, 21862, 0, 0, 0, 0}, {8, 112, 4608, 5383, 0, 0, 0}, {8, 8704, 5376, 0, 0, 0, 0}, {60, 771, 80, 1285, 0, 0, 0}, {160, 2570, 13578, 21770, 0, 0, 0}, {8, 52, 771, 68, 1028, 4359, 0}, {204, 3084, 13056, 21760, 0, 0, 0}, {8, 32, 514, 80, 1285, 4096, 0}, {8, 32, 514, 68, 1028, 4354, 0}, {240, 3855, 12288, 21775, 0, 0, 0}, {32, 80, 1280, 4112, 0, 0, 0}, {3072, 68, 4369, 0, 0, 0, 0}, {120, 4626, 21794, 0, 0, 0, 0}, {76, 32, 4883, 5395, 0, 0, 0}, {768, 20, 4352, 0, 0, 0, 0}, {128, 5397, 0, 0, 0, 0, 0}, {76, 112, 768, 5398, 0, 0, 0}, {40, 5911, 21879, 0, 0, 0, 0}, {4632, 4656, 80, 1280, 0, 0, 0}, {5401, 13107, 5461, 0, 0, 0, 0}, {5402, 112, 16448, 0, 0, 0, 0}, {4379, 4403, 1536, 68, 0, 0, 0}, {28, 32, 768, 80, 1280, 4096, 0}, {136, 7453, 8738, 21845, 0, 0, 0}, {4382, 4386, 768, 68, 0, 0, 0}, {5407, 32, 16448, 0, 0, 0, 0}, {32, 5376, 0, 0, 0, 0, 0}, {60, 771, 68, 4369, 0, 0, 0}, {136, 7458, 8738, 21794, 0, 0, 0}, {28, 32, 771, 80, 1299, 4112, 0}, {1548, 1572, 68, 4352, 0, 0, 0}, {3855, 5413, 5461, 0, 0, 0, 0}, {76, 5414, 16448, 0, 0, 0, 0}, {1295, 1319, 4608, 80, 0, 0, 0}, {40, 5888, 21760, 0, 0, 0, 0}, {76, 112, 771, 5397, 0, 0, 0}, {5418, 16384, 0, 0, 0, 0, 0}, {4403, 771, 20, 0, 0, 0, 0}, {5388, 32, 4864, 5440, 0, 0, 0}, {4698, 4642, 21845, 0, 0, 0, 0}, {3084, 4386, 68, 0, 0, 0, 0}, {1295, 32, 80, 4096, 0, 0, 0}, {240, 3840, 12336, 21760, 0, 0, 0}, {8, 32, 514, 68, 1024, 4369, 0}, {8, 32, 514, 80, 1282, 4112, 0}, {204, 3072, 13107, 21811, 0, 0, 0}, {8, 52, 768, 68, 1024, 4352, 0}, {160, 2570, 13621, 21845, 0, 0, 0}, {1290, 1334, 768, 80, 0, 0, 0}, {8, 5431, 16448, 0, 0, 0, 0}, {8, 5424, 1792, 5440, 0, 0, 0}, {1546, 1638, 21845, 0, 0, 0, 0}, {1290, 12336, 80, 0, 0, 0, 0}, {8, 4403, 68, 1024, 0, 0, 0}, {60, 768, 21760, 0, 0, 0, 0}, {8, 32, 514, 5397, 0, 0, 0}, {258, 20, 4096, 0, 0, 0, 0}, {22015, 16191, 0, 0, 0, 0, 0}, {10752, 5440, 0, 0, 0, 0, 0}, {819, 20, 4369, 0, 0, 0, 0}, {5960, 5984, 16962, 0, 0, 0, 0}, {5391, 5427, 5632, 5443, 0, 0, 0}, {3072, 68, 4352, 0, 0, 0, 0}, {32, 80, 1285, 4112, 0, 0, 0}, {5386, 32, 4864, 5446, 0, 0, 0}, {4680, 4656, 18247, 0, 0, 0, 0}, {136, 7496, 8704, 21760, 0, 0, 0}, {28, 32, 787, 80, 1285, 4096, 0}, {5450, 32, 16448, 0, 0, 0, 0}, {4367, 4403, 4608, 68, 0, 0, 0}, {76, 13056, 5376, 0, 0, 0, 0}, {40, 4626, 80, 1285, 0, 0, 0}, {4362, 4386, 5888, 68, 0, 0, 0}, {5455, 112, 16448, 0, 0, 0, 0}, {12288, 80, 1280, 0, 0, 0, 0}, {8, 68, 1028, 4369, 0, 0, 0}, {8, 5410, 1792, 5458, 0, 0, 0}, {1548, 1632, 21331, 0, 0, 0, 0}, {512, 260, 272, 0, 0, 0, 0}, {16383, 21845, 0, 0, 0, 0, 0}, {780, 816, 22102, 0, 0, 0, 0}, {8, 32, 512, 5463, 0, 0, 0}, {8, 32, 512, 80, 1280, 4096, 0}, {204, 3084, 13107, 21845, 0, 0, 0}, {240, 3840, 12288, 21850, 0, 0, 0}, {8, 32, 512, 68, 1028, 4371, 0}, {780, 816, 80, 1280, 0, 0, 0}, {8, 8738, 5461, 0, 0, 0, 0}, {8, 52, 772, 68, 1028, 4374, 0}, {160, 2560, 13663, 21855, 0, 0, 0}, {160, 2560, 13664, 21760, 0, 0, 0}, {8, 52, 775, 68, 1024, 4369, 0}, {8, 5474, 16448, 0, 0, 0, 0}, {1295, 1331, 1536, 80, 0, 0, 0}, {8, 32, 512, 68, 1024, 4352, 0}, {240, 3855, 12336, 21845, 0, 0, 0}, {204, 3072, 13056, 21862, 0, 0, 0}, {8, 32, 512, 80, 1287, 4112, 0}, {8, 32, 512, 5440, 0, 0, 0}, {783, 819, 21845, 0, 0, 0, 0}, {21930, 27242, 0, 0, 0, 0, 0}, {275, 20, 4096, 0, 0, 0, 0}, {108, 1536, 21760, 0, 0, 0, 0}, {8, 112, 4626, 5397, 0, 0, 0}, {8, 4386, 68, 1024, 0, 0, 0}, {1295, 12336, 80, 0, 0, 0, 0}, {112, 5376, 0, 0, 0, 0, 0}, {40, 1542, 68, 4369, 0, 0, 0}, {1290, 1314, 5888, 80, 0, 0, 0}, {76, 5491, 16448, 0, 0, 0, 0}, {780, 816, 68, 4352, 0, 0, 0}, {2570, 32, 5461, 0, 0, 0, 0}, {28, 32, 784, 80, 1302, 4112, 0}, {136, 7543, 8704, 21879, 0, 0, 0}, {120, 4608, 21760, 0, 0, 0, 0}, {76, 32, 4883, 5397, 0, 0, 0}, {1290, 32, 80, 4096, 0, 0, 0}, {3084, 4403, 68, 0, 0, 0, 0}, {5388, 5424, 5632, 5440, 0, 0, 0}, {5983, 6007, 21845, 0, 0, 0, 0}, {4386, 4626, 20, 0, 0, 0, 0}, {5503, 16384, 0, 0, 0, 0, 0}, {128, 5376, 0, 0, 0, 0, 0}, {771, 20, 4369, 0, 0, 0, 0}, {40, 5888, 21794, 0, 0, 0, 0}, {76, 112, 771, 5379, 0, 0, 0}, {3084, 68, 4352, 0, 0, 0, 0}, {32, 80, 1285, 4096, 0, 0, 0}, {76, 32, 4864, 5382, 0, 0, 0}, {120, 4608, 21879, 0, 0, 0, 0}, {136, 7424, 8704, 21760, 0, 0, 0}, {28, 32, 771, 80, 1285, 4112, 0}, {5386, 32, 16384, 0, 0, 0, 0}, {4367, 4403, 771, 68, 0, 0, 0}, {5388, 13056, 5440, 0, 0, 0, 0}, {4618, 4642, 80, 1285, 0, 0, 0}, {4362, 4386, 1542, 68, 0, 0, 0}, {5391, 112, 16384, 0, 0, 0, 0}, {12336, 80, 1280, 0, 0, 0, 0}, {8, 68, 1024, 4369, 0, 0, 0}, {8, 112, 4626, 5394, 0, 0, 0}, {108, 1536, 21811, 0, 0, 0, 0}, {32, 20, 256, 0, 0, 0, 0}, {16191, 21845, 0, 0, 0, 0, 0}, {60, 768, 21862, 0, 0, 0, 0}, {8, 32, 512, 5399, 0, 0, 0}, {8, 32, 512, 80, 1280, 4112, 0}, {204, 3072, 13107, 21845, 0, 0, 0}, {240, 3840, 12336, 21850, 0, 0, 0}, {8, 32, 512, 68, 1024, 4371, 0}, {60, 768, 80, 1280, 0, 0, 0}, {8, 8738, 5397, 0, 0, 0, 0}, {8, 52, 768, 68, 1024, 4374, 0}, {160, 2560, 13631, 21855, 0, 0, 0}, {160, 2560, 13568, 21760, 0, 0, 0}, {8, 52, 771, 68, 1028, 4369, 0}, {8, 5410, 16384, 0, 0, 0, 0}, {1295, 1331, 771, 80, 0, 0, 0}, {8, 32, 512, 68, 1028, 4352, 0}, {240, 3855, 12288, 21845, 0, 0, 0}, {204, 3084, 13056, 21862, 0, 0, 0}, {8, 32, 512, 80, 1287, 4096, 0}, {8, 32, 512, 5376, 0, 0, 0}, {60, 771, 21845, 0, 0, 0, 0}, {21930, 16128, 0, 0, 0, 0, 0}, {259, 20, 4112, 0, 0, 0, 0}, {1548, 1632, 21760, 0, 0, 0, 0}, {8, 5413, 1799, 5461, 0, 0, 0}, {8, 4386, 68, 1028, 0, 0, 0}, {1295, 12288, 80, 0, 0, 0, 0}, {3840, 5424, 5440, 0, 0, 0, 0}, {1546, 1570, 68, 4369, 0, 0, 0}, {1290, 1314, 4626, 80, 0, 0, 0}, {76, 5427, 16384, 0, 0, 0, 0}, {60, 768, 68, 4352, 0, 0, 0}, {32, 5397, 0, 0, 0, 0, 0}, {28, 32, 768, 80, 1302, 4096, 0}, {136, 7487, 8704, 21879, 0, 0, 0}, {4680, 4656, 21760, 0, 0, 0, 0}, {5401, 32, 4883, 5461, 0, 0, 0}, {1290, 32, 80, 4112, 0, 0, 0}, {3072, 4403, 68, 0, 0, 0, 0}, {76, 112, 768, 5376, 0, 0, 0}, {40, 5911, 21845, 0, 0, 0, 0}, {4386, 768, 20, 0, 0, 0, 0}, {5439, 16448, 0, 0, 0, 0, 0}, {16320, 21760, 0, 0, 0, 0, 0}, {514, 261, 273, 0, 0, 0, 0}, {8, 32, 514, 5442, 0, 0, 0}, {783, 819, 22016, 0, 0, 0, 0}, {8, 68, 1024, 4352, 0, 0, 0}, {12336, 80, 1285, 0, 0, 0, 0}, {1546, 1638, 21248, 0, 0, 0, 0}, {8, 5431, 1799, 5447, 0, 0, 0}, {8, 8704, 5440, 0, 0, 0, 0}, {783, 819, 80, 1285, 0, 0, 0}, {160, 2570, 13674, 21770, 0, 0, 0}, {8, 52, 775, 68, 1024, 4359, 0}, {204, 3072, 13056, 21760, 0, 0, 0}, {8, 32, 514, 80, 1285, 4112, 0}, {8, 32, 514, 68, 1024, 4354, 0}, {240, 3855, 12336, 21775, 0, 0, 0}, {32, 80, 1280, 4096, 0, 0, 0}, {3084, 68, 4369, 0, 0, 0, 0}, {4698, 4642, 18176, 0, 0, 0, 0}, {5407, 32, 4883, 5459, 0, 0, 0}, {816, 20, 4352, 0, 0, 0, 0}, {10794, 5461, 0, 0, 0, 0, 0}, {5402, 5414, 5654, 5462, 0, 0, 0}, {5983, 6007, 16896, 0, 0, 0, 0}, {40, 4608, 80, 1280, 0, 0, 0}, {76, 13107, 5397, 0, 0, 0, 0}, {5466, 112, 16384, 0, 0, 0, 0}, {4379, 4403, 5911, 68, 0, 0, 0}, {28, 32, 784, 80, 1280, 4112, 0}, {136, 7509, 8738, 21845, 0, 0, 0}, {4382, 4386, 4626, 68, 0, 0, 0}, {5471, 32, 16384, 0, 0, 0, 0}, {2560, 32, 5440, 0, 0, 0, 0}, {783, 819, 68, 4369, 0, 0, 0}, {136, 7530, 8738, 21794, 0, 0, 0}, {28, 32, 787, 80, 1299, 4096, 0}, {40, 1536, 68, 4352, 0, 0, 0}, {112, 5397, 0, 0, 0, 0, 0}, {76, 5478, 16384, 0, 0, 0, 0}, {1295, 1319, 5911, 80, 0, 0, 0}, {5960, 5984, 21760, 0, 0, 0, 0}, {5401, 5413, 5654, 5461, 0, 0, 0}, {5482, 16448, 0, 0, 0, 0, 0}, {4403, 4608, 20, 0, 0, 0, 0}, {76, 32, 4864, 5376, 0, 0, 0}, {120, 4626, 21845, 0, 0, 0, 0}, {3072, 4386, 68, 0, 0, 0, 0}, {1295, 32, 80, 4112, 0, 0, 0}, {240, 3840, 12288, 21760, 0, 0, 0}, {8, 32, 514, 68, 1028, 4369, 0}, {8, 32, 514, 80, 1282, 4096, 0}, {204, 3084, 13107, 21811, 0, 0, 0}, {8, 52, 772, 68, 1028, 4352, 0}, {160, 2570, 13653, 21845, 0, 0, 0}, {1290, 1334, 1542, 80, 0, 0, 0}, {8, 5495, 16384, 0, 0, 0, 0}, {8, 112, 4608, 5376, 0, 0, 0}, {108, 1542, 21845, 0, 0, 0, 0}, {1290, 12288, 80, 0, 0, 0, 0}, {8, 4403, 68, 1028, 0, 0, 0}, {780, 816, 21760, 0, 0, 0, 0}, {8, 32, 514, 5461, 0, 0, 0}, {274, 20, 4112, 0, 0, 0, 0}, {22015, 27136, 0, 0, 0, 0, 0}, {23040, 26112, 0, 0, 0, 0, 0}, {23, 64, 257, 0, 0, 0, 0}, {8, 32, 514, 5120, 0, 0, 0}, {63, 771, 21760, 0, 0, 0, 0}, {8, 4608, 64, 1028, 0, 0, 0}, {95, 13056, 1285, 0, 0, 0, 0}, {96, 1542, 20480, 0, 0, 0, 0}, {8, 119, 1799, 4352, 0, 0, 0}, {8, 5632, 17408, 0, 0, 0, 0}, {95, 96, 771, 1285, 0, 0, 0}, {160, 2570, 13834, 20480, 0, 0, 0}, {8, 55, 771, 64, 1028, 4356, 0}, {192, 3084, 12288, 22028, 0, 0, 0}, {8, 32, 514, 87, 1285, 4354, 0}, {8, 32, 514, 64, 1028, 4096, 0}, {255, 3855, 13056, 21760, 0, 0, 0}, {32, 1536, 64, 4112, 0, 0, 0}, {3840, 119, 4369, 0, 0, 0, 0}, {72, 4626, 17408, 0, 0, 0, 0}, {95, 32, 4883, 1280, 0, 0, 0}, {40, 8704, 5140, 0, 0, 0, 0}, {63, 768, 64, 5397, 0, 0, 0}, {128, 5654, 0, 0, 0, 0, 0}, {23, 1280, 4352, 0, 0, 0, 0}, {5144, 5168, 1536, 5200, 0, 0, 0}, {5657, 5734, 21845, 0, 0, 0, 0}, {5658, 12336, 64, 0, 0, 0, 0}, {4379, 4403, 4420, 1280, 0, 0, 0}, {5660, 32, 20560, 0, 0, 0, 0}, {4381, 4386, 768, 4437, 0, 0, 0}, {136, 7710, 8738, 17476, 0, 0, 0}, {31, 32, 768, 64, 1280, 4096, 0}, {32, 5632, 20480, 0, 0, 0, 0}, {72, 119, 771, 4369, 0, 0, 0}, {136, 7714, 8738, 17408, 0, 0, 0}, {31, 32, 771, 64, 1296, 4112, 0}, {5132, 5156, 4608, 5188, 0, 0, 0}, {5722, 5669, 21845, 0, 0, 0, 0}, {3084, 5670, 64, 0, 0, 0, 0}, {1295, 1319, 1360, 4352, 0, 0, 0}, {40, 8704, 5120, 0, 0, 0, 0}, {63, 771, 64, 5397, 0, 0, 0}, {5674, 28672, 0, 0, 0, 0, 0}, {23, 4420, 5140, 0, 0, 0, 0}, {1548, 32, 64, 4096, 0, 0, 0}, {3855, 4386, 4437, 0, 0, 0, 0}, {72, 4642, 17476, 0, 0, 0, 0}, {1295, 32, 4864, 1360, 0, 0, 0}, {192, 3072, 12336, 22064, 0, 0, 0}, {8, 32, 514, 87, 1282, 4369, 0}, {8, 32, 514, 64, 1024, 4112, 0}, {255, 3840, 13107, 21760, 0, 0, 0}, {8, 5684, 17476, 0, 0, 0, 0}, {1290, 1333, 768, 1365, 0, 0, 0}, {160, 2570, 13878, 20560, 0, 0, 0}, {8, 55, 768, 64, 1024, 4352, 0}, {8, 4656, 64, 1024, 0, 0, 0}, {1290, 13107, 1365, 0, 0, 0, 0}, {1546, 96, 20560, 0, 0, 0, 0}, {8, 4403, 1792, 4420, 0, 0, 0}, {26316, 15420, 0, 0, 0, 0, 0}, {258, 277, 4096, 0, 0, 0, 0}, {8, 32, 514, 5140, 0, 0, 0}, {63, 768, 21760, 0, 0, 0, 0}, {5632, 64, 0, 0, 0, 0, 0}, {95, 119, 1285, 4369, 0, 0, 0}, {72, 96, 4674, 5120, 0, 0, 0}, {127, 5699, 21760, 0, 0, 0, 0}, {136, 7748, 8704, 17476, 0, 0, 0}, {31, 32, 784, 64, 1285, 4112, 0}, {32, 5702, 20480, 0, 0, 0, 0}, {72, 119, 839, 4352, 0, 0, 0}, {72, 4608, 17408, 0, 0, 0, 0}, {95, 32, 4883, 1285, 0, 0, 0}, {1546, 32, 64, 4096, 0, 0, 0}, {3855, 4403, 4420, 0, 0, 0, 0}, {5708, 28672, 0, 0, 0, 0, 0}, {23, 4437, 1285, 0, 0, 0, 0}, {40, 8738, 5188, 0, 0, 0, 0}, {783, 816, 64, 5376, 0, 0, 0}, {160, 2560, 13904, 20560, 0, 0, 0}, {8, 55, 772, 64, 1028, 4369, 0}, {8, 5714, 17408, 0, 0, 0, 0}, {95, 96, 851, 1280, 0, 0, 0}, {8, 32, 512, 64, 1028, 4112, 0}, {255, 3840, 13056, 21845, 0, 0, 0}, {192, 3084, 12336, 22102, 0, 0, 0}, {8, 32, 512, 87, 1280, 4352, 0}, {8, 32, 512, 5200, 0, 0, 0}, {780, 819, 21845, 0, 0, 0, 0}, {26282, 23130, 0, 0, 0, 0, 0}, {275, 260, 4096, 0, 0, 0, 0}, {1548, 96, 20560, 0, 0, 0, 0}, {8, 4386, 1792, 4437, 0, 0, 0}, {8, 4626, 64, 1028, 0, 0, 0}, {95, 13056, 1280, 0, 0, 0, 0}, {96, 1536, 20480, 0, 0, 0, 0}, {8, 119, 1799, 4369, 0, 0, 0}, {8, 4642, 64, 1024, 0, 0, 0}, {1295, 13107, 1360, 0, 0, 0, 0}, {8, 32, 512, 5188, 0, 0, 0}, {783, 816, 21845, 0, 0, 0, 0}, {23210, 26214, 0, 0, 0, 0, 0}, {263, 1024, 272, 0, 0, 0, 0}, {8, 32, 512, 64, 1024, 4096, 0}, {255, 3855, 13107, 21845, 0, 0, 0}, {192, 3072, 12288, 22122, 0, 0, 0}, {8, 32, 512, 87, 1287, 4371, 0}, {160, 2560, 13932, 20480, 0, 0, 0}, {8, 55, 775, 64, 1024, 4373, 0}, {8, 5734, 17476, 0, 0, 0, 0}, {1295, 1328, 1536, 1360, 0, 0, 0}, {19456, 5744, 0, 0, 0, 0, 0}, {23, 1365, 4369, 0, 0, 0, 0}, {40, 8738, 5200, 0, 0, 0, 0}, {780, 819, 64, 5376, 0, 0, 0}, {72, 4656, 17476, 0, 0, 0, 0}, {1290, 32, 4864, 1365, 0, 0, 0}, {32, 1542, 64, 4112, 0, 0, 0}, {3840, 119, 4352, 0, 0, 0, 0}, {136, 7800, 8704, 17408, 0, 0, 0}, {31, 32, 787, 64, 1301, 4096, 0}, {5722, 32, 20560, 0, 0, 0, 0}, {4364, 4403, 4608, 4420, 0, 0, 0}, {5692, 12336, 64, 0, 0, 0, 0}, {4362, 4386, 4437, 5120, 0, 0, 0}, {72, 96, 4626, 5140, 0, 0, 0}, {127, 5632, 21760, 0, 0, 0, 0}, {128, 5632, 0, 0, 0, 0, 0}, {23, 1285, 4369, 0, 0, 0, 0}, {40, 8738, 5120, 0, 0, 0, 0}, {63, 771, 64, 5376, 0, 0, 0}, {72, 4608, 17476, 0, 0, 0, 0}, {95, 32, 4864, 1285, 0, 0, 0}, {32, 1542, 64, 4096, 0, 0, 0}, {3855, 119, 4352, 0, 0, 0, 0}, {136, 7680, 8704, 17408, 0, 0, 0}, {31, 32, 771, 64, 1285, 4112, 0}, {5642, 32, 20480, 0, 0, 0, 0}, {4364, 4403, 771, 4420, 0, 0, 0}, {5644, 12288, 64, 0, 0, 0, 0}, {4362, 4386, 4437, 1285, 0, 0, 0}, {5132, 5156, 1542, 5188, 0, 0, 0}, {5647, 5744, 21760, 0, 0, 0, 0}, {96, 1536, 20560, 0, 0, 0, 0}, {8, 119, 1792, 4369, 0, 0, 0}, {8, 4626, 64, 1024, 0, 0, 0}, {95, 13107, 1280, 0, 0, 0, 0}, {8, 32, 512, 5140, 0, 0, 0}, {63, 768, 21845, 0, 0, 0, 0}, {23130, 26214, 0, 0, 0, 0, 0}, {23, 64, 256, 0, 0, 0, 0}, {8, 32, 512, 64, 1024, 4112, 0}, {255, 3840, 13107, 21845, 0, 0, 0}, {192, 3072, 12336, 22106, 0, 0, 0}, {8, 32, 512, 87, 1280, 4371, 0}, {160, 2560, 13884, 20560, 0, 0, 0}, {8, 55, 768, 64, 1024, 4373, 0}, {8, 5654, 17476, 0, 0, 0, 0}, {95, 96, 768, 1280, 0, 0, 0}, {160, 2560, 13824, 20480, 0, 0, 0}, {8, 55, 771, 64, 1028, 4369, 0}, {8, 5666, 17408, 0, 0, 0, 0}, {1295, 1328, 771, 1360, 0, 0, 0}, {8, 32, 512, 64, 1028, 4096, 0}, {255, 3855, 13056, 21845, 0, 0, 0}, {192, 3084, 12288, 22118, 0, 0, 0}, {8, 32, 512, 87, 1287, 4352, 0}, {8, 32, 512, 5120, 0, 0, 0}, {63, 771, 21845, 0, 0, 0, 0}, {26282, 15360, 0, 0, 0, 0, 0}, {259, 276, 4112, 0, 0, 0, 0}, {1548, 96, 20480, 0, 0, 0, 0}, {8, 4386, 1799, 4437, 0, 0, 0}, {8, 4642, 64, 1028, 0, 0, 0}, {1295, 13056, 1360, 0, 0, 0, 0}, {3072, 5680, 64, 0, 0, 0, 0}, {1290, 1314, 1365, 4369, 0, 0, 0}, {5144, 5168, 4626, 5200, 0, 0, 0}, {5708, 5683, 21760, 0, 0, 0, 0}, {136, 7740, 8704, 17476, 0, 0, 0}, {31, 32, 768, 64, 1301, 4096, 0}, {32, 5654, 20560, 0, 0, 0, 0}, {72, 119, 768, 4352, 0, 0, 0}, {72, 4656, 17408, 0, 0, 0, 0}, {1290, 32, 4883, 1365, 0, 0, 0}, {1546, 32, 64, 4112, 0, 0, 0}, {3840, 4403, 4420, 0, 0, 0, 0}, {5692, 28784, 0, 0, 0, 0, 0}, {23, 4437, 5120, 0, 0, 0, 0}, {40, 8738, 5140, 0, 0, 0, 0}, {63, 768, 64, 5376, 0, 0, 0}, {192, 3072, 12288, 22016, 0, 0, 0}, {8, 32, 514, 87, 1285, 4369, 0}, {8, 32, 514, 64, 1024, 4096, 0}, {255, 3855, 13107, 21760, 0, 0, 0}, {8, 5700, 17476, 0, 0, 0, 0}, {95, 96, 848, 1285, 0, 0, 0}, {160, 2570, 13926, 20480, 0, 0, 0}, {8, 55, 775, 64, 1024, 4352, 0}, {8, 4608, 64, 1024, 0, 0, 0}, {95, 13107, 1285, 0, 0, 0, 0}, {1546, 96, 20480, 0, 0, 0, 0}, {8, 4403, 1799, 4420, 0, 0, 0}, {26316, 23040, 0, 0, 0, 0, 0}, {274, 261, 4112, 0, 0, 0, 0}, {8, 32, 514, 5188, 0, 0, 0}, {783, 816, 21760, 0, 0, 0, 0}, {32, 5712, 20560, 0, 0, 0, 0}, {72, 119, 836, 4369, 0, 0, 0}, {136, 7770, 8738, 17408, 0, 0, 0}, {31, 32, 787, 64, 1280, 4096, 0}, {72, 96, 4688, 5140, 0, 0, 0}, {127, 5717, 21845, 0, 0, 0, 0}, {5654, 64, 0, 0, 0, 0, 0}, {95, 119, 1280, 4352, 0, 0, 0}, {40, 8704, 5200, 0, 0, 0, 0}, {780, 819, 64, 5397, 0, 0, 0}, {5722, 28784, 0, 0, 0, 0, 0}, {23, 4420, 1280, 0, 0, 0, 0}, {1548, 32, 64, 4112, 0, 0, 0}, {3840, 4386, 4437, 0, 0, 0, 0}, {72, 4626, 17476, 0, 0, 0, 0}, {95, 32, 4864, 1280, 0, 0, 0}, {32, 1536, 64, 4096, 0, 0, 0}, {3855, 119, 4369, 0, 0, 0, 0}, {72, 4642, 17408, 0, 0, 0, 0}, {1295, 32, 4883, 1360, 0, 0, 0}, {40, 8704, 5188, 0, 0, 0, 0}, {783, 816, 64, 5397, 0, 0, 0}, {19532, 5734, 0, 0, 0, 0, 0}, {23, 1360, 4352, 0, 0, 0, 0}, {72, 96, 4608, 5120, 0, 0, 0}, {127, 5654, 21845, 0, 0, 0, 0}, {5674, 12288, 64, 0, 0, 0, 0}, {4379, 4403, 4420, 5140, 0, 0, 0}, {5708, 32, 20480, 0, 0, 0, 0}, {4381, 4386, 4626, 4437, 0, 0, 0}, {136, 7782, 8738, 17476, 0, 0, 0}, {31, 32, 784, 64, 1296, 4112, 0}, {23280, 26112, 0, 0, 0, 0, 0}, {262, 1028, 273, 0, 0, 0, 0}, {8, 32, 514, 5200, 0, 0, 0}, {780, 819, 21760, 0, 0, 0, 0}, {8, 4656, 64, 1028, 0, 0, 0}, {1290, 13056, 1365, 0, 0, 0, 0}, {96, 1542, 20560, 0, 0, 0, 0}, {8, 119, 1792, 4352, 0, 0, 0}, {8, 5744, 17408, 0, 0, 0, 0}, {1290, 1333, 1542, 1365, 0, 0, 0}, {160, 2570, 13914, 20560, 0, 0, 0}, {8, 55, 772, 64, 1028, 4356, 0}, {192, 3084, 12336, 22076, 0, 0, 0}, {8, 32, 514, 87, 1282, 4354, 0}, {8, 32, 514, 64, 1028, 4112, 0}, {255, 3840, 13056, 21760, 0, 0, 0}, {5888, 16384, 0, 0, 0, 0, 0}, {90, 102, 257, 0, 0, 0, 0}, {5418, 514, 21760, 0, 0, 0, 0}, {4108, 4144, 771, 5120, 0, 0, 0}, {4940, 13056, 1028, 0, 0, 0, 0}, {4106, 4608, 4176, 1285, 0, 0, 0}, {1036, 102, 1542, 4352, 0, 0, 0}, {4208, 1799, 20480, 0, 0, 0, 0}, {6024, 2056, 14088, 22280, 0, 0, 0}, {265, 309, 771, 339, 1285, 4102, 0}, {522, 8704, 5376, 0, 0, 0, 0}, {60, 771, 4160, 1028, 0, 0, 0}, {1036, 4864, 17408, 0, 0, 0, 0}, {90, 4128, 514, 1285, 0, 0, 0}, {4386, 514, 4420, 1028, 0, 0, 0}, {1807, 4096, 0, 0, 0, 0, 0}, {3840, 1904, 4112, 0, 0, 0, 0}, {1058, 1536, 1092, 4369, 0, 0, 0}, {90, 4144, 4626, 1280, 0, 0, 0}, {1100, 4883, 17408, 0, 0, 0, 0}, {60, 768, 4176, 5140, 0, 0, 0}, {554, 8704, 5397, 0, 0, 0, 0}, {278, 1280, 4352, 0, 0, 0, 0}, {16576, 5911, 0, 0, 0, 0, 0}, {5912, 4192, 20560, 0, 0, 0, 0}, {5401, 4403, 1536, 4437, 0, 0, 0}, {4122, 4656, 4160, 1280, 0, 0, 0}, {5915, 13107, 1092, 0, 0, 0, 0}, {4124, 4128, 768, 5200, 0, 0, 0}, {5917, 546, 21845, 0, 0, 0, 0}, {286, 290, 768, 324, 1280, 4096, 0}, {6047, 7967, 8224, 16448, 0, 0, 0}, {6048, 7968, 8224, 22304, 0, 0, 0}, {285, 289, 771, 327, 1042, 4369, 0}, {546, 5376, 0, 0, 0, 0, 0}, {60, 771, 1088, 4112, 0, 0, 0}, {1096, 5924, 17476, 0, 0, 0, 0}, {1295, 5413, 4608, 1365, 0, 0, 0}, {1548, 1062, 1088, 4352, 0, 0, 0}, {3855, 5927, 4176, 0, 0, 0, 0}, {5928, 16384, 0, 0, 0, 0, 0}, {4403, 771, 277, 0, 0, 0, 0}, {5418, 5888, 21760, 0, 0, 0, 0}, {4188, 4192, 771, 5140, 0, 0, 0}, {3084, 4896, 1088, 0, 0, 0, 0}, {1295, 546, 1365, 4096, 0, 0, 0}, {5388, 4386, 4864, 4420, 0, 0, 0}, {5983, 4128, 20560, 0, 0, 0, 0}, {4144, 1792, 20480, 0, 0, 0, 0}, {1032, 102, 514, 4369, 0, 0, 0}, {1290, 514, 1360, 4112, 0, 0, 0}, {4915, 1024, 0, 0, 0, 0, 0}, {1032, 1076, 768, 5188, 0, 0, 0}, {522, 5941, 21845, 0, 0, 0, 0}, {266, 310, 768, 336, 1024, 4352, 0}, {6071, 2056, 14135, 16448, 0, 0, 0}, {1800, 12336, 4160, 0, 0, 0, 0}, {522, 4403, 4437, 1024, 0, 0, 0}, {1290, 5424, 1792, 1360, 0, 0, 0}, {1032, 6007, 17476, 0, 0, 0, 0}, {60, 768, 1024, 4096, 0, 0, 0}, {170, 514, 5397, 0, 0, 0, 0}, {258, 4420, 5140, 0, 0, 0, 0}, {5951, 8192, 0, 0, 0, 0, 0}, {6080, 8000, 14144, 16448, 0, 0, 0}, {283, 295, 532, 321, 1285, 4369, 0}, {5482, 5954, 21760, 0, 0, 0, 0}, {4172, 4208, 4931, 5120, 0, 0, 0}, {4864, 1092, 0, 0, 0, 0, 0}, {90, 544, 1285, 4112, 0, 0, 0}, {1100, 102, 582, 4352, 0, 0, 0}, {4144, 5959, 20480, 0, 0, 0, 0}, {5960, 8192, 0, 0, 0, 0, 0}, {275, 4437, 1285, 0, 0, 0, 0}, {2570, 544, 5440, 0, 0, 0, 0}, {783, 819, 1092, 4096, 0, 0, 0}, {1100, 5888, 17408, 0, 0, 0, 0}, {90, 4192, 4626, 1285, 0, 0, 0}, {4874, 4386, 4420, 5376, 0, 0, 0}, {5951, 12336, 4160, 0, 0, 0, 0}, {1792, 4176, 0, 0, 0, 0, 0}, {520, 102, 1028, 4369, 0, 0, 0}, {90, 4208, 594, 1280, 0, 0, 0}, {1036, 5971, 17408, 0, 0, 0, 0}, {780, 816, 1028, 4112, 0, 0, 0}, {512, 5461, 0, 0, 0, 0, 0}, {268, 304, 512, 342, 1280, 4352, 0}, {6103, 2056, 8224, 22359, 0, 0, 0}, {1800, 4128, 20560, 0, 0, 0, 0}, {1036, 4403, 512, 4437, 0, 0, 0}, {90, 512, 1280, 4096, 0, 0, 0}, {204, 4883, 1028, 0, 0, 0, 0}, {1036, 1072, 1792, 5200, 0, 0, 0}, {520, 6007, 21845, 0, 0, 0, 0}, {4386, 4626, 260, 0, 0, 0, 0}, {5983, 16384, 0, 0, 0, 0, 0}, {2048, 5984, 0, 0, 0, 0, 0}, {263, 1365, 4369, 0, 0, 0, 0}, {520, 8738, 5440, 0, 0, 0, 0}, {783, 819, 4176, 1024, 0, 0, 0}, {1032, 4896, 17476, 0, 0, 0, 0}, {1295, 4144, 512, 1365, 0, 0, 0}, {102, 512, 1024, 4352, 0, 0, 0}, {240, 1799, 4112, 0, 0, 0, 0}, {6120, 2056, 8224, 16448, 0, 0, 0}, {271, 307, 512, 341, 1024, 4096, 0}, {5482, 512, 21760, 0, 0, 0, 0}, {4124, 4128, 4883, 5140, 0, 0, 0}, {4972, 13056, 1024, 0, 0, 0, 0}, {4122, 4626, 4160, 5397, 0, 0, 0}, {1032, 4386, 1536, 4420, 0, 0, 0}, {1807, 4192, 20560, 0, 0, 0, 0}, {4208, 5888, 20480, 0, 0, 0, 0}, {1096, 102, 1542, 4369, 0, 0, 0}, {4106, 4642, 4176, 5376, 0, 0, 0}, {5951, 13107, 1088, 0, 0, 0, 0}, {4108, 4144, 4864, 5188, 0, 0, 0}, {5983, 544, 21845, 0, 0, 0, 0}, {1290, 1542, 272, 0, 0, 0, 0}, {6007, 16384, 0, 0, 0, 0, 0}, {1912, 4096, 0, 0, 0, 0, 0}, {4403, 4883, 4437, 5397, 0, 0, 0}, {1290, 4128, 4608, 1360, 0, 0, 0}, {1096, 4915, 17476, 0, 0, 0, 0}, {780, 816, 4160, 5120, 0, 0, 0}, {552, 8738, 5461, 0, 0, 0, 0}, {280, 292, 532, 322, 1042, 4102, 0}, {6143, 8063, 14207, 22399, 0, 0, 0}, {16512, 5888, 0, 0, 0, 0, 0}, {279, 1285, 4369, 0, 0, 0, 0}, {552, 8738, 5376, 0, 0, 0, 0}, {60, 771, 4160, 5120, 0, 0, 0}, {1096, 4864, 17476, 0, 0, 0, 0}, {90, 4128, 4608, 1285, 0, 0, 0}, {1062, 1542, 1088, 4352, 0, 0, 0}, {3855, 1911, 4096, 0, 0, 0, 0}, {6024, 7936, 8192, 16384, 0, 0, 0}, {287, 291, 771, 325, 1285, 4112, 0}, {5898, 544, 21760, 0, 0, 0, 0}, {4108, 4144, 771, 5188, 0, 0, 0}, {5900, 13056, 1088, 0, 0, 0, 0}, {4106, 4642, 4176, 1285, 0, 0, 0}, {5388, 4386, 1542, 4420, 0, 0, 0}, {5903, 4208, 20480, 0, 0, 0, 0}, {4192, 1792, 20560, 0, 0, 0, 0}, {1032, 102, 1536, 4369, 0, 0, 0}, {4122, 4626, 4160, 1280, 0, 0, 0}, {4959, 13107, 1024, 0, 0, 0, 0}, {4124, 4128, 768, 5140, 0, 0, 0}, {5439, 512, 21845, 0, 0, 0, 0}, {90, 102, 256, 0, 0, 0, 0}, {5911, 16448, 0, 0, 0, 0, 0}, {1800, 4112, 0, 0, 0, 0, 0}, {4403, 512, 4437, 1024, 0, 0, 0}, {90, 4144, 512, 1280, 0, 0, 0}, {1032, 4883, 17476, 0, 0, 0, 0}, {60, 768, 4176, 1024, 0, 0, 0}, {520, 8738, 5397, 0, 0, 0, 0}, {264, 308, 768, 338, 1280, 4118, 0}, {6047, 2048, 14143, 22367, 0, 0, 0}, {6048, 2048, 14080, 16384, 0, 0, 0}, {267, 311, 771, 337, 1028, 4369, 0}, {520, 5922, 21760, 0, 0, 0, 0}, {1036, 1072, 771, 5200, 0, 0, 0}, {4896, 1028, 0, 0, 0, 0, 0}, {1295, 512, 1365, 4096, 0, 0, 0}, {1036, 102, 512, 4352, 0, 0, 0}, {4128, 1799, 20560, 0, 0, 0, 0}, {5928, 8224, 0, 0, 0, 0, 0}, {259, 4437, 5120, 0, 0, 0, 0}, {170, 512, 5376, 0, 0, 0, 0}, {60, 771, 1028, 4112, 0, 0, 0}, {1036, 5984, 17408, 0, 0, 0, 0}, {1295, 5413, 1799, 1365, 0, 0, 0}, {520, 4386, 4420, 1028, 0, 0, 0}, {1807, 12288, 4176, 0, 0, 0, 0}, {3840, 5936, 4160, 0, 0, 0, 0}, {1546, 1058, 1092, 4369, 0, 0, 0}, {1290, 5424, 4626, 1360, 0, 0, 0}, {1100, 5939, 17408, 0, 0, 0, 0}, {60, 768, 1092, 4096, 0, 0, 0}, {544, 5397, 0, 0, 0, 0, 0}, {284, 288, 768, 326, 1046, 4352, 0}, {6071, 7999, 8192, 22391, 0, 0, 0}, {5960, 4144, 20480, 0, 0, 0, 0}, {5401, 4403, 4883, 4437, 0, 0, 0}, {1290, 544, 1360, 4112, 0, 0, 0}, {3072, 4915, 1092, 0, 0, 0, 0}, {4172, 4208, 768, 5120, 0, 0, 0}, {5439, 5911, 21845, 0, 0, 0, 0}, {4386, 768, 276, 0, 0, 0, 0}, {5951, 16448, 0, 0, 0, 0, 0}, {6080, 2048, 8192, 22272, 0, 0, 0}, {269, 305, 514, 343, 1285, 4369, 0}, {514, 5440, 0, 0, 0, 0, 0}, {783, 819, 1024, 4096, 0, 0, 0}, {1032, 5956, 17476, 0, 0, 0, 0}, {90, 4192, 592, 1285, 0, 0, 0}, {522, 102, 1024, 4352, 0, 0, 0}, {1799, 4160, 0, 0, 0, 0, 0}, {5960, 16448, 0, 0, 0, 0, 0}, {4403, 4608, 261, 0, 0, 0, 0}, {522, 5984, 21760, 0, 0, 0, 0}, {1032, 1076, 1799, 5188, 0, 0, 0}, {204, 4864, 1024, 0, 0, 0, 0}, {90, 514, 1285, 4112, 0, 0, 0}, {1032, 4386, 514, 4420, 0, 0, 0}, {1807, 4144, 20480, 0, 0, 0, 0}, {4128, 5968, 20560, 0, 0, 0, 0}, {1096, 102, 580, 4369, 0, 0, 0}, {90, 546, 1280, 4096, 0, 0, 0}, {4883, 1088, 0, 0, 0, 0, 0}, {4188, 4192, 4944, 5140, 0, 0, 0}, {5503, 5973, 21845, 0, 0, 0, 0}, {282, 294, 534, 320, 1280, 4352, 0}, {6103, 8031, 14199, 16384, 0, 0, 0}, {5928, 12288, 4176, 0, 0, 0, 0}, {4889, 4403, 4437, 5397, 0, 0, 0}, {90, 4208, 4608, 1280, 0, 0, 0}, {1096, 5911, 17476, 0, 0, 0, 0}, {780, 816, 1088, 4112, 0, 0, 0}, {2560, 546, 5461, 0, 0, 0, 0}, {274, 4420, 1280, 0, 0, 0, 0}, {5983, 8224, 0, 0, 0, 0, 0}, {5984, 16448, 0, 0, 0, 0, 0}, {1295, 1536, 273, 0, 0, 0, 0}, {5960, 546, 21760, 0, 0, 0, 0}, {4124, 4128, 4883, 5200, 0, 0, 0}, {5928, 13056, 1092, 0, 0, 0, 0}, {4122, 4656, 4160, 5397, 0, 0, 0}, {1100, 102, 1536, 4352, 0, 0, 0}, {4192, 5911, 20560, 0, 0, 0, 0}, {6120, 8032, 14152, 22312, 0, 0, 0}, {281, 293, 534, 323, 1046, 4118, 0}, {554, 8704, 5440, 0, 0, 0, 0}, {783, 819, 4176, 5140, 0, 0, 0}, {1100, 4896, 17408, 0, 0, 0, 0}, {1295, 4144, 4626, 1365, 0, 0, 0}, {4386, 4864, 4420, 5376, 0, 0, 0}, {1919, 4112, 0, 0, 0, 0, 0}, {240, 1792, 4096, 0, 0, 0, 0}, {102, 514, 1028, 4369, 0, 0, 0}, {1290, 4128, 514, 1360, 0, 0, 0}, {1036, 4915, 17408, 0, 0, 0, 0}, {780, 816, 4160, 1028, 0, 0, 0}, {522, 8704, 5461, 0, 0, 0, 0}, {262, 1360, 4352, 0, 0, 0, 0}, {2056, 6007, 0, 0, 0, 0, 0}, {1800, 4208, 20480, 0, 0, 0, 0}, {1036, 4403, 1542, 4437, 0, 0, 0}, {4106, 4608, 4176, 5376, 0, 0, 0}, {4991, 13107, 1028, 0, 0, 0, 0}, {4108, 4144, 4864, 5120, 0, 0, 0}, {5503, 514, 21845, 0, 0, 0, 0}, {270, 306, 514, 340, 1028, 4112, 0}, {6143, 2048, 8192, 16384, 0, 0, 0}, {2048, 4096, 0, 0, 0, 0, 0}, {51, 85, 257, 0, 0, 0, 0}, {4128, 514, 20490, 0, 0, 0, 0}, {1036, 51, 771, 4099, 0, 0, 0}, {12300, 4160, 1028, 0, 0, 0, 0}, {522, 85, 1285, 4101, 0, 0, 0}, {1036, 102, 1542, 4102, 0, 0, 0}, {4208, 1799, 20495, 0, 0, 0, 0}, {4224, 2056, 12288, 20480, 0, 0, 0}, {265, 51, 771, 85, 1285, 4352, 0}, {4106, 4608, 16384, 0, 0, 0, 0}, {4175, 51, 771, 1028, 0, 0, 0}, {4108, 8192, 5120, 0, 0, 0, 0}, {4143, 514, 85, 1285, 0, 0, 0}, {4170, 102, 514, 1028, 0, 0, 0}, {4111, 5888, 16384, 0, 0, 0, 0}, {2176, 4112, 0, 0, 0, 0, 0}, {768, 1280, 273, 0, 0, 0, 0}, {4144, 4626, 20570, 0, 0, 0, 0}, {1100, 51, 768, 4115, 0, 0, 0}, {12348, 4176, 5140, 0, 0, 0, 0}, {554, 85, 1280, 4117, 0, 0, 0}, {1100, 102, 1536, 4118, 0, 0, 0}, {4192, 5911, 20575, 0, 0, 0, 0}, {4240, 6168, 12336, 20560, 0, 0, 0}, {281, 51, 768, 85, 1280, 4352, 0}, {4122, 4656, 16448, 0, 0, 0, 0}, {5147, 51, 768, 1092, 0, 0, 0}, {4124, 8224, 5200, 0, 0, 0, 0}, {4637, 546, 85, 1280, 0, 0, 0}, {5150, 1058, 1536, 1092, 0, 0, 0}, {4127, 5984, 16448, 0, 0, 0, 0}, {18432, 4128, 0, 0, 0, 0, 0}, {274, 85, 4369, 0, 0, 0, 0}, {2560, 546, 4096, 0, 0, 0, 0}, {51, 771, 1088, 4112, 0, 0, 0}, {1096, 4192, 17476, 0, 0, 0, 0}, {1295, 4133, 5888, 85, 0, 0, 0}, {4620, 4134, 4160, 5120, 0, 0, 0}, {5928, 10023, 4176, 0, 0, 0, 0}, {4256, 6184, 12288, 16384, 0, 0, 0}, {282, 51, 771, 85, 1045, 4352, 0}, {4138, 4608, 20480, 0, 0, 0, 0}, {4188, 51, 771, 5140, 0, 0, 0}, {4140, 8224, 1088, 0, 0, 0, 0}, {4111, 546, 85, 5376, 0, 0, 0}, {4108, 5154, 5632, 5188, 0, 0, 0}, {5983, 1904, 20560, 0, 0, 0, 0}, {2048, 4144, 0, 0, 0, 0, 0}, {258, 85, 4369, 0, 0, 0, 0}, {170, 514, 4112, 0, 0, 0, 0}, {51, 768, 1024, 4096, 0, 0, 0}, {1032, 4208, 17476, 0, 0, 0, 0}, {1290, 4149, 1792, 85, 0, 0, 0}, {522, 4150, 4176, 1024, 0, 0, 0}, {1800, 14135, 4160, 0, 0, 0, 0}, {4272, 2056, 12336, 16448, 0, 0, 0}, {266, 51, 768, 85, 1024, 4352, 0}, {522, 4656, 20560, 0, 0, 0, 0}, {1032, 51, 768, 5188, 0, 0, 0}, {4156, 8192, 1024, 0, 0, 0, 0}, {4127, 514, 85, 5397, 0, 0, 0}, {4124, 102, 514, 5140, 0, 0, 0}, {4159, 1792, 20480, 0, 0, 0, 0}, {10240, 4160, 0, 0, 0, 0, 0}, {51, 276, 4369, 0, 0, 0, 0}, {4680, 4192, 16962, 0, 0, 0, 0}, {5135, 51, 5888, 4163, 0, 0, 0}, {3072, 1092, 4096, 0, 0, 0, 0}, {544, 85, 1285, 4112, 0, 0, 0}, {5130, 4128, 4608, 4166, 0, 0, 0}, {5960, 4144, 18247, 0, 0, 0, 0}, {4288, 6216, 8192, 20480, 0, 0, 0}, {284, 51, 531, 85, 1285, 4352, 0}, {4170, 544, 16448, 0, 0, 0, 0}, {4111, 51, 4864, 1092, 0, 0, 0}, {4172, 12288, 5120, 0, 0, 0, 0}, {4154, 4626, 85, 1285, 0, 0, 0}, {4106, 1058, 5632, 1092, 0, 0, 0}, {4175, 1904, 16448, 0, 0, 0, 0}, {2048, 4176, 0, 0, 0, 0, 0}, {51, 260, 4369, 0, 0, 0, 0}, {520, 4208, 21074, 0, 0, 0, 0}, {1036, 51, 1792, 4179, 0, 0, 0}, {204, 1028, 4112, 0, 0, 0, 0}, {512, 85, 1280, 4096, 0, 0, 0}, {1036, 4144, 512, 4182, 0, 0, 0}, {1800, 4128, 22359, 0, 0, 0, 0}, {4304, 2056, 8224, 20560, 0, 0, 0}, {268, 51, 512, 85, 1280, 4352, 0}, {4186, 512, 16384, 0, 0, 0, 0}, {4127, 51, 4883, 1028, 0, 0, 0}, {1036, 12336, 5200, 0, 0, 0, 0}, {520, 4642, 85, 1280, 0, 0, 0}, {4122, 102, 4626, 1028, 0, 0, 0}, {4191, 1792, 16384, 0, 0, 0, 0}, {2048, 4192, 0, 0, 0, 0, 0}, {263, 85, 4369, 0, 0, 0, 0}, {520, 8738, 4160, 0, 0, 0, 0}, {783, 51, 4176, 1024, 0, 0, 0}, {1032, 4128, 17476, 0, 0, 0, 0}, {1295, 4144, 512, 85, 0, 0, 0}, {102, 512, 1024, 4096, 0, 0, 0}, {255, 1799, 4112, 0, 0, 0, 0}, {4320, 2056, 8224, 16448, 0, 0, 0}, {271, 51, 512, 85, 1024, 4352, 0}, {4202, 512, 20480, 0, 0, 0, 0}, {4124, 51, 4883, 5140, 0, 0, 0}, {4204, 12288, 1024, 0, 0, 0, 0}, {4122, 4626, 85, 5397, 0, 0, 0}, {1032, 5154, 1536, 5188, 0, 0, 0}, {1807, 5984, 20560, 0, 0, 0, 0}, {18432, 4208, 0, 0, 0, 0, 0}, {279, 85, 4369, 0, 0, 0, 0}, {552, 8738, 4176, 0, 0, 0, 0}, {780, 51, 4160, 5120, 0, 0, 0}, {1096, 4144, 17476, 0, 0, 0, 0}, {1290, 4128, 4608, 85, 0, 0, 0}, {1062, 1542, 1088, 4112, 0, 0, 0}, {3840, 1911, 4096, 0, 0, 0, 0}, {4336, 6264, 8192, 16384, 0, 0, 0}, {287, 51, 531, 85, 1045, 4352, 0}, {4698, 544, 20560, 0, 0, 0, 0}, {4108, 51, 4864, 5188, 0, 0, 0}, {5180, 12336, 1088, 0, 0, 0, 0}, {4106, 4642, 85, 5376, 0, 0, 0}, {4188, 102, 4626, 5140, 0, 0, 0}, {4223, 5888, 20480, 0, 0, 0, 0}, {4224, 6144, 12288, 20480, 0, 0, 0}, {280, 51, 771, 85, 1285, 4369, 0}, {4106, 4642, 16384, 0, 0, 0, 0}, {5135, 51, 771, 1088, 0, 0, 0}, {4108, 8192, 5188, 0, 0, 0, 0}, {4623, 544, 85, 1285, 0, 0, 0}, {5130, 1062, 1542, 1088, 0, 0, 0}, {4111, 6007, 16384, 0, 0, 0, 0}, {2184, 4096, 0, 0, 0, 0, 0}, {771, 1285, 272, 0, 0, 0, 0}, {4128, 4608, 20490, 0, 0, 0, 0}, {1096, 51, 771, 4099, 0, 0, 0}, {12300, 4160, 5120, 0, 0, 0, 0}, {552, 85, 1285, 4101, 0, 0, 0}, {1096, 102, 1542, 4102, 0, 0, 0}, {4208, 5888, 20495, 0, 0, 0, 0}, {4240, 2048, 12336, 20560, 0, 0, 0}, {264, 51, 768, 85, 1280, 4369, 0}, {4122, 4626, 16448, 0, 0, 0, 0}, {4191, 51, 768, 1024, 0, 0, 0}, {4124, 8224, 5140, 0, 0, 0, 0}, {4159, 512, 85, 1280, 0, 0, 0}, {4186, 102, 512, 1024, 0, 0, 0}, {4127, 5911, 16448, 0, 0, 0, 0}, {2056, 4112, 0, 0, 0, 0, 0}, {51, 85, 256, 0, 0, 0, 0}, {4144, 512, 20570, 0, 0, 0, 0}, {1032, 51, 768, 4115, 0, 0, 0}, {12348, 4176, 1024, 0, 0, 0, 0}, {520, 85, 1280, 4117, 0, 0, 0}, {1032, 102, 1536, 4118, 0, 0, 0}, {4192, 1792, 20575, 0, 0, 0, 0}, {4256, 2048, 12288, 16384, 0, 0, 0}, {267, 51, 771, 85, 1028, 4369, 0}, {520, 4642, 20480, 0, 0, 0, 0}, {1036, 51, 771, 5200, 0, 0, 0}, {4140, 8224, 1028, 0, 0, 0, 0}, {4111, 512, 85, 5376, 0, 0, 0}, {4108, 102, 512, 5120, 0, 0, 0}, {4143, 1799, 20560, 0, 0, 0, 0}, {2056, 4128, 0, 0, 0, 0, 0}, {259, 85, 4352, 0, 0, 0, 0}, {170, 512, 4096, 0, 0, 0, 0}, {51, 771, 1028, 4112, 0, 0, 0}, {1036, 4192, 17408, 0, 0, 0, 0}, {1295, 4133, 1799, 85, 0, 0, 0}, {520, 4134, 4160, 1028, 0, 0, 0}, {1807, 14080, 4176, 0, 0, 0, 0}, {4272, 6192, 12336, 16448, 0, 0, 0}, {283, 51, 768, 85, 1041, 4369, 0}, {4154, 4626, 20560, 0, 0, 0, 0}, {4172, 51, 768, 5120, 0, 0, 0}, {4156, 8192, 1092, 0, 0, 0, 0}, {4127, 544, 85, 5397, 0, 0, 0}, {4124, 5174, 5654, 5200, 0, 0, 0}, {5960, 1911, 20480, 0, 0, 0, 0}, {18504, 4144, 0, 0, 0, 0, 0}, {275, 85, 4352, 0, 0, 0, 0}, {2570, 544, 4112, 0, 0, 0, 0}, {51, 768, 1092, 4096, 0, 0, 0}, {1100, 4208, 17408, 0, 0, 0, 0}, {1290, 4149, 5911, 85, 0, 0, 0}, {4638, 4150, 4176, 5140, 0, 0, 0}, {5951, 9984, 4160, 0, 0, 0, 0}, {4288, 2048, 8192, 20480, 0, 0, 0}, {269, 51, 514, 85, 1285, 4369, 0}, {4170, 514, 16448, 0, 0, 0, 0}, {4111, 51, 4864, 1024, 0, 0, 0}, {1032, 12288, 5188, 0, 0, 0, 0}, {522, 4656, 85, 1285, 0, 0, 0}, {4106, 102, 4608, 1024, 0, 0, 0}, {4175, 1799, 16448, 0, 0, 0, 0}, {2056, 4160, 0, 0, 0, 0, 0}, {51, 261, 4352, 0, 0, 0, 0}, {522, 4192, 20992, 0, 0, 0, 0}, {1032, 51, 1799, 4163, 0, 0, 0}, {204, 1024, 4096, 0, 0, 0, 0}, {514, 85, 1285, 4112, 0, 0, 0}, {1032, 4128, 514, 4166, 0, 0, 0}, {1807, 4144, 22272, 0, 0, 0, 0}, {4304, 6224, 8224, 20560, 0, 0, 0}, {285, 51, 529, 85, 1280, 4369, 0}, {4186, 546, 16384, 0, 0, 0, 0}, {4127, 51, 4883, 1088, 0, 0, 0}, {4188, 12336, 5140, 0, 0, 0, 0}, {4138, 4608, 85, 1280, 0, 0, 0}, {4122, 1062, 5654, 1088, 0, 0, 0}, {4191, 1911, 16384, 0, 0, 0, 0}, {10280, 4176, 0, 0, 0, 0, 0}, {51, 277, 4352, 0, 0, 0, 0}, {4698, 4208, 16896, 0, 0, 0, 0}, {5147, 51, 5911, 4179, 0, 0, 0}, {3084, 1088, 4112, 0, 0, 0, 0}, {546, 85, 1280, 4096, 0, 0, 0}, {5150, 4144, 4626, 4182, 0, 0, 0}, {5983, 4128, 18176, 0, 0, 0, 0}, {4320, 6240, 8224, 16448, 0, 0, 0}, {286, 51, 529, 85, 1041, 4369, 0}, {4680, 546, 20480, 0, 0, 0, 0}, {4124, 51, 4883, 5200, 0, 0, 0}, {5160, 12288, 1092, 0, 0, 0, 0}, {4122, 4656, 85, 5397, 0, 0, 0}, {4172, 102, 4608, 5120, 0, 0, 0}, {4207, 5911, 20560, 0, 0, 0, 0}, {18504, 4192, 0, 0, 0, 0, 0}, {278, 85, 4352, 0, 0, 0, 0}, {554, 8704, 4160, 0, 0, 0, 0}, {783, 51, 4176, 5140, 0, 0, 0}, {1100, 4128, 17408, 0, 0, 0, 0}, {1295, 4144, 4626, 85, 0, 0, 0}, {1058, 1536, 1092, 4096, 0, 0, 0}, {3855, 1904, 4112, 0, 0, 0, 0}, {4336, 2048, 8192, 16384, 0, 0, 0}, {270, 51, 514, 85, 1028, 4369, 0}, {4218, 514, 20560, 0, 0, 0, 0}, {4108, 51, 4864, 5120, 0, 0, 0}, {4220, 12336, 1028, 0, 0, 0, 0}, {4106, 4608, 85, 5376, 0, 0, 0}, {1036, 5174, 1542, 5200, 0, 0, 0}, {1800, 6007, 20480, 0, 0, 0, 0}, {2056, 4208, 0, 0, 0, 0, 0}, {262, 85, 4352, 0, 0, 0, 0}, {522, 8704, 4176, 0, 0, 0, 0}, {780, 51, 4160, 1028, 0, 0, 0}, {1036, 4144, 17408, 0, 0, 0, 0}, {1290, 4128, 514, 85, 0, 0, 0}, {102, 514, 1028, 4112, 0, 0, 0}, {255, 1792, 4096, 0, 0, 0, 0}, {13056, 21760, 0, 0, 0, 0, 0}, {8, 16, 257, 0, 0, 0, 0}, {8, 32, 514, 4354, 0, 0, 0}, {48, 771, 21775, 0, 0, 0, 0}, {8, 64, 1028, 4356, 0, 0, 0}, {13071, 80, 1285, 0, 0, 0, 0}, {96, 1542, 21770, 0, 0, 0, 0}, {8, 112, 1799, 4359, 0, 0, 0}, {8, 4352, 0, 0, 0, 0, 0}, {48, 771, 80, 1285, 0, 0, 0}, {160, 2570, 13056, 21770, 0, 0, 0}, {8, 48, 771, 64, 1028, 4355, 0}, {192, 3084, 13068, 21760, 0, 0, 0}, {8, 32, 514, 80, 1285, 4357, 0}, {8, 32, 514, 64, 1028, 4358, 0}, {240, 3855, 13071, 21775, 0, 0, 0}, {768, 1280, 16, 0, 0, 0, 0}, {136, 4369, 0, 0, 0, 0, 0}, {72, 48, 768, 4370, 0, 0, 0}, {32, 4883, 21855, 0, 0, 0, 0}, {40, 80, 1280, 4372, 0, 0, 0}, {13119, 64, 5397, 0, 0, 0, 0}, {112, 5654, 21850, 0, 0, 0, 0}, {72, 96, 1536, 4375, 0, 0, 0}, {24, 48, 768, 80, 1280, 4352, 0}, {128, 6425, 13107, 21845, 0, 0, 0}, {5402, 48, 768, 64, 0, 0, 0}, {4379, 4403, 17476, 0, 0, 0, 0}, {4892, 32, 80, 1280, 0, 0, 0}, {4381, 8738, 4437, 0, 0, 0, 0}, {4382, 4454, 17476, 0, 0, 0, 0}, {5407, 32, 1536, 64, 0, 0, 0}, {32, 4864, 21760, 0, 0, 0, 0}, {72, 48, 771, 4369, 0, 0, 0}, {4386, 17408, 0, 0, 0, 0, 0}, {1295, 771, 16, 0, 0, 0, 0}, {4364, 4388, 5888, 4420, 0, 0, 0}, {5722, 112, 21845, 0, 0, 0, 0}, {5418, 9766, 64, 0, 0, 0, 0}, {4367, 4391, 80, 5120, 0, 0, 0}, {40, 4352, 0, 0, 0, 0, 0}, {48, 771, 64, 5397, 0, 0, 0}, {128, 6442, 13056, 21802, 0, 0, 0}, {24, 48, 771, 80, 1303, 4355, 0}, {4876, 32, 64, 5376, 0, 0, 0}, {4397, 8738, 4437, 0, 0, 0, 0}, {72, 4454, 17476, 0, 0, 0, 0}, {1295, 32, 5632, 80, 0, 0, 0}, {48, 768, 21760, 0, 0, 0, 0}, {8, 32, 514, 4369, 0, 0, 0}, {258, 1024, 16, 0, 0, 0, 0}, {22015, 13107, 0, 0, 0, 0, 0}, {8, 4404, 1792, 4420, 0, 0, 0}, {1546, 96, 21845, 0, 0, 0, 0}, {1290, 13878, 80, 0, 0, 0, 0}, {8, 4407, 64, 1024, 0, 0, 0}, {8, 48, 768, 64, 1024, 4352, 0}, {160, 2570, 13107, 21845, 0, 0, 0}, {1290, 48, 768, 80, 0, 0, 0}, {8, 4403, 17476, 0, 0, 0, 0}, {240, 3840, 13116, 21760, 0, 0, 0}, {8, 32, 514, 64, 1024, 4373, 0}, {8, 32, 514, 80, 1282, 4374, 0}, {192, 3072, 13119, 21823, 0, 0, 0}, {13056, 64, 5376, 0, 0, 0, 0}, {40, 80, 1285, 4369, 0, 0, 0}, {4362, 4386, 5888, 4418, 0, 0, 0}, {5708, 112, 17219, 0, 0, 0, 0}, {8704, 4420, 0, 0, 0, 0, 0}, {783, 1285, 16, 0, 0, 0, 0}, {4940, 32, 17990, 0, 0, 0, 0}, {4367, 48, 4608, 4423, 0, 0, 0}, {72, 4352, 0, 0, 0, 0, 0}, {32, 4883, 80, 1285, 0, 0, 0}, {5386, 32, 4864, 64, 0, 0, 0}, {4427, 4403, 17476, 0, 0, 0, 0}, {128, 6476, 13132, 21760, 0, 0, 0}, {24, 48, 791, 80, 1285, 4357, 0}, {4430, 4454, 17476, 0, 0, 0, 0}, {5391, 48, 5632, 64, 0, 0, 0}, {13056, 80, 1280, 0, 0, 0, 0}, {8, 64, 1028, 4369, 0, 0, 0}, {8, 4386, 1792, 4434, 0, 0, 0}, {1548, 96, 21331, 0, 0, 0, 0}, {512, 260, 16, 0, 0, 0, 0}, {13311, 21845, 0, 0, 0, 0, 0}, {780, 48, 22102, 0, 0, 0, 0}, {8, 32, 512, 4439, 0, 0, 0}, {8, 32, 512, 80, 1280, 4352, 0}, {192, 3084, 13107, 21845, 0, 0, 0}, {240, 3840, 13056, 21850, 0, 0, 0}, {8, 32, 512, 64, 1028, 4371, 0}, {780, 48, 80, 1280, 0, 0, 0}, {8, 8738, 4437, 0, 0, 0, 0}, {8, 48, 772, 64, 1028, 4374, 0}, {160, 2560, 13151, 21855, 0, 0, 0}, {96, 1536, 21760, 0, 0, 0, 0}, {8, 112, 1799, 4369, 0, 0, 0}, {8, 4386, 64, 1024, 0, 0, 0}, {1295, 13107, 80, 0, 0, 0, 0}, {8, 32, 512, 4420, 0, 0, 0}, {783, 48, 21845, 0, 0, 0, 0}, {21930, 26214, 0, 0, 0, 0, 0}, {263, 1024, 16, 0, 0, 0, 0}, {8, 32, 512, 64, 1024, 4352, 0}, {240, 3855, 13107, 21845, 0, 0, 0}, {192, 3072, 13056, 21866, 0, 0, 0}, {8, 32, 512, 80, 1287, 4371, 0}, {160, 2560, 13164, 21760, 0, 0, 0}, {8, 48, 775, 64, 1024, 4373, 0}, {8, 4454, 17476, 0, 0, 0, 0}, {1295, 48, 1536, 80, 0, 0, 0}, {112, 5632, 21760, 0, 0, 0, 0}, {72, 96, 1542, 4369, 0, 0, 0}, {4362, 4386, 80, 5120, 0, 0, 0}, {5439, 13107, 64, 0, 0, 0, 0}, {4364, 48, 4608, 4420, 0, 0, 0}, {4959, 32, 21845, 0, 0, 0, 0}, {1290, 1542, 16, 0, 0, 0, 0}, {4471, 17408, 0, 0, 0, 0, 0}, {120, 4352, 0, 0, 0, 0, 0}, {32, 4883, 64, 5397, 0, 0, 0}, {1290, 32, 4864, 80, 0, 0, 0}, {72, 4403, 17476, 0, 0, 0, 0}, {780, 48, 64, 5376, 0, 0, 0}, {40, 8738, 4437, 0, 0, 0, 0}, {24, 48, 788, 80, 1298, 4358, 0}, {128, 6527, 13183, 21887, 0, 0, 0}, {128, 6400, 13056, 21760, 0, 0, 0}, {24, 48, 771, 80, 1285, 4369, 0}, {4362, 4386, 17408, 0, 0, 0, 0}, {5391, 48, 771, 64, 0, 0, 0}, {4364, 8704, 4420, 0, 0, 0, 0}, {4879, 32, 80, 1285, 0, 0, 0}, {5386, 32, 1542, 64, 0, 0, 0}, {4367, 4471, 17408, 0, 0, 0, 0}, {136, 4352, 0, 0, 0, 0, 0}, {771, 1285, 16, 0, 0, 0, 0}, {32, 4864, 21770, 0, 0, 0, 0}, {72, 48, 771, 4355, 0, 0, 0}, {13068, 64, 5376, 0, 0, 0, 0}, {40, 80, 1285, 4357, 0, 0, 0}, {72, 96, 1542, 4358, 0, 0, 0}, {112, 5632, 21775, 0, 0, 0, 0}, {48, 768, 80, 1280, 0, 0, 0}, {8, 4369, 0, 0, 0, 0, 0}, {8, 48, 768, 64, 1024, 4370, 0}, {160, 2560, 13107, 21855, 0, 0, 0}, {8, 32, 512, 80, 1280, 4372, 0}, {192, 3072, 13119, 21845, 0, 0, 0}, {240, 3840, 13116, 21850, 0, 0, 0}, {8, 32, 512, 64, 1024, 4375, 0}, {8, 16, 256, 0, 0, 0, 0}, {13107, 21845, 0, 0, 0, 0, 0}, {48, 768, 21850, 0, 0, 0, 0}, {8, 32, 512, 4371, 0, 0, 0}, {13116, 80, 1280, 0, 0, 0, 0}, {8, 64, 1024, 4373, 0, 0, 0}, {8, 112, 1792, 4374, 0, 0, 0}, {96, 1536, 21855, 0, 0, 0, 0}, {160, 2560, 13056, 21760, 0, 0, 0}, {8, 48, 771, 64, 1028, 4369, 0}, {8, 4386, 17408, 0, 0, 0, 0}, {1295, 48, 771, 80, 0, 0, 0}, {8, 32, 512, 64, 1028, 4356, 0}, {240, 3855, 13071, 21845, 0, 0, 0}, {192, 3084, 13068, 21866, 0, 0, 0}, {8, 32, 512, 80, 1287, 4359, 0}, {8, 32, 512, 4352, 0, 0, 0}, {48, 771, 21845, 0, 0, 0, 0}, {21930, 13056, 0, 0, 0, 0, 0}, {259, 1028, 16, 0, 0, 0, 0}, {1548, 96, 21760, 0, 0, 0, 0}, {8, 4389, 1799, 4437, 0, 0, 0}, {8, 4390, 64, 1028, 0, 0, 0}, {1295, 13824, 80, 0, 0, 0, 0}, {48, 768, 64, 5376, 0, 0, 0}, {40, 4369, 0, 0, 0, 0, 0}, {24, 48, 768, 80, 1298, 4370, 0}, {128, 6451, 13107, 21887, 0, 0, 0}, {4412, 8704, 4420, 0, 0, 0, 0}, {4895, 32, 64, 5397, 0, 0, 0}, {1290, 32, 5654, 80, 0, 0, 0}, {72, 4471, 17408, 0, 0, 0, 0}, {72, 48, 768, 4352, 0, 0, 0}, {32, 4883, 21845, 0, 0, 0, 0}, {1290, 768, 16, 0, 0, 0, 0}, {4403, 17476, 0, 0, 0, 0, 0}, {5708, 112, 21760, 0, 0, 0, 0}, {4381, 4405, 5911, 4437, 0, 0, 0}, {4382, 4406, 80, 5140, 0, 0, 0}, {5439, 9728, 64, 0, 0, 0, 0}, {192, 3072, 13056, 21760, 0, 0, 0}, {8, 32, 514, 80, 1285, 4369, 0}, {8, 32, 514, 64, 1024, 4354, 0}, {240, 3855, 13107, 21775, 0, 0, 0}, {8, 8704, 4420, 0, 0, 0, 0}, {783, 48, 80, 1285, 0, 0, 0}, {160, 2570, 13164, 21770, 0, 0, 0}, {8, 48, 775, 64, 1024, 4359, 0}, {8, 64, 1024, 4352, 0, 0, 0}, {13107, 80, 1285, 0, 0, 0, 0}, {1546, 96, 21248, 0, 0, 0, 0}, {8, 4403, 1799, 4419, 0, 0, 0}, {13260, 21760, 0, 0, 0, 0, 0}, {514, 261, 16, 0, 0, 0, 0}, {8, 32, 514, 4422, 0, 0, 0}, {783, 48, 22016, 0, 0, 0, 0}, {32, 4864, 80, 1280, 0, 0, 0}, {72, 4369, 0, 0, 0, 0, 0}, {4442, 4386, 17408, 0, 0, 0, 0}, {5407, 32, 4883, 64, 0, 0, 0}, {24, 48, 788, 80, 1280, 4372, 0}, {128, 6485, 13183, 21845, 0, 0, 0}, {5402, 48, 5654, 64, 0, 0, 0}, {4447, 4471, 17408, 0, 0, 0, 0}, {40, 80, 1280, 4352, 0, 0, 0}, {13107, 64, 5397, 0, 0, 0, 0}, {5722, 112, 17152, 0, 0, 0, 0}, {4379, 4403, 5911, 4435, 0, 0, 0}, {780, 1280, 16, 0, 0, 0, 0}, {8738, 4437, 0, 0, 0, 0, 0}, {4382, 48, 4626, 4438, 0, 0, 0}, {4959, 32, 17920, 0, 0, 0, 0}, {32, 4864, 64, 5376, 0, 0, 0}, {120, 4369, 0, 0, 0, 0, 0}, {72, 4386, 17408, 0, 0, 0, 0}, {1295, 32, 4883, 80, 0, 0, 0}, {40, 8704, 4420, 0, 0, 0, 0}, {783, 48, 64, 5397, 0, 0, 0}, {128, 6502, 13132, 21802, 0, 0, 0}, {24, 48, 791, 80, 1303, 4375, 0}, {72, 96, 1536, 4352, 0, 0, 0}, {112, 5654, 21845, 0, 0, 0, 0}, {5418, 13056, 64, 0, 0, 0, 0}, {4379, 4403, 80, 5140, 0, 0, 0}, {4940, 32, 21760, 0, 0, 0, 0}, {4381, 48, 4626, 4437, 0, 0, 0}, {4454, 17476, 0, 0, 0, 0, 0}, {1295, 1536, 16, 0, 0, 0, 0}, {240, 3840, 13056, 21760, 0, 0, 0}, {8, 32, 514, 64, 1028, 4369, 0}, {8, 32, 514, 80, 1282, 4354, 0}, {192, 3084, 13107, 21823, 0, 0, 0}, {8, 48, 772, 64, 1028, 4356, 0}, {160, 2570, 13151, 21845, 0, 0, 0}, {1290, 48, 1542, 80, 0, 0, 0}, {8, 4471, 17408, 0, 0, 0, 0}, {8, 112, 1792, 4352, 0, 0, 0}, {96, 1542, 21845, 0, 0, 0, 0}, {1290, 13056, 80, 0, 0, 0, 0}, {8, 4403, 64, 1028, 0, 0, 0}, {780, 48, 21760, 0, 0, 0, 0}, {8, 32, 514, 4437, 0, 0, 0}, {262, 1028, 16, 0, 0, 0, 0}, {22015, 26112, 0, 0, 0, 0, 0}, {23040, 12288, 0, 0, 0, 0, 0}, {19, 68, 257, 0, 0, 0, 0}, {8, 32, 514, 4096, 0, 0, 0}, {51, 771, 21760, 0, 0, 0, 0}, {8, 4612, 68, 1028, 0, 0, 0}, {95, 12368, 1285, 0, 0, 0, 0}, {108, 1542, 20480, 0, 0, 0, 0}, {8, 119, 4615, 5376, 0, 0, 0}, {8, 4608, 16384, 0, 0, 0, 0}, {95, 51, 771, 1285, 0, 0, 0}, {160, 2570, 12288, 20480, 0, 0, 0}, {8, 51, 771, 68, 1028, 4352, 0}, {204, 3084, 12300, 22028, 0, 0, 0}, {8, 32, 514, 87, 1285, 4103, 0}, {8, 32, 514, 68, 1028, 4100, 0}, {255, 3855, 12303, 21760, 0, 0, 0}, {2560, 32, 4112, 0, 0, 0, 0}, {51, 768, 68, 4369, 0, 0, 0}, {136, 4626, 0, 0, 0, 0, 0}, {19, 1280, 4096, 0, 0, 0, 0}, {40, 4628, 68, 5140, 0, 0, 0}, {127, 12352, 5397, 0, 0, 0, 0}, {76, 5654, 16384, 0, 0, 0, 0}, {95, 119, 4631, 1280, 0, 0, 0}, {4632, 4656, 20560, 0, 0, 0, 0}, {5401, 51, 768, 5461, 0, 0, 0}, {128, 6682, 12336, 16448, 0, 0, 0}, {27, 51, 768, 68, 1280, 4352, 0}, {4124, 32, 1536, 4176, 0, 0, 0}, {4637, 119, 21845, 0, 0, 0, 0}, {4638, 8738, 68, 0, 0, 0, 0}, {4127, 32, 4160, 1280, 0, 0, 0}, {2560, 32, 4096, 0, 0, 0, 0}, {51, 771, 68, 4369, 0, 0, 0}, {18432, 4642, 0, 0, 0, 0, 0}, {19, 1360, 4112, 0, 0, 0, 0}, {4620, 4644, 68, 5120, 0, 0, 0}, {5418, 9509, 5461, 0, 0, 0, 0}, {76, 5734, 16448, 0, 0, 0, 0}, {1295, 1319, 5888, 1360, 0, 0, 0}, {40, 4608, 20480, 0, 0, 0, 0}, {76, 51, 771, 5397, 0, 0, 0}, {128, 6698, 12288, 16384, 0, 0, 0}, {27, 51, 771, 68, 1300, 4352, 0}, {4108, 32, 5632, 4160, 0, 0, 0}, {4698, 119, 21845, 0, 0, 0, 0}, {4654, 8738, 68, 0, 0, 0, 0}, {4111, 32, 4176, 5376, 0, 0, 0}, {23280, 12336, 0, 0, 0, 0, 0}, {258, 1024, 273, 0, 0, 0, 0}, {8, 32, 514, 4112, 0, 0, 0}, {51, 768, 21760, 0, 0, 0, 0}, {8, 4660, 68, 1024, 0, 0, 0}, {1290, 13621, 1365, 0, 0, 0, 0}, {1546, 1638, 20560, 0, 0, 0, 0}, {8, 5431, 1792, 5440, 0, 0, 0}, {8, 4656, 16448, 0, 0, 0, 0}, {1290, 51, 768, 1365, 0, 0, 0}, {160, 2570, 12336, 20560, 0, 0, 0}, {8, 51, 768, 68, 1024, 4352, 0}, {204, 3072, 12348, 22076, 0, 0, 0}, {8, 32, 514, 87, 1282, 4119, 0}, {8, 32, 514, 68, 1024, 4116, 0}, {255, 3840, 12351, 21760, 0, 0, 0}, {128, 6720, 12352, 16448, 0, 0, 0}, {27, 51, 788, 68, 1285, 4369, 0}, {40, 4674, 20480, 0, 0, 0, 0}, {76, 51, 835, 5376, 0, 0, 0}, {4608, 68, 0, 0, 0, 0, 0}, {95, 32, 1285, 4112, 0, 0, 0}, {76, 32, 1606, 4096, 0, 0, 0}, {119, 4679, 21760, 0, 0, 0, 0}, {4680, 8704, 0, 0, 0, 0, 0}, {19, 4176, 1285, 0, 0, 0, 0}, {2570, 32, 4160, 0, 0, 0, 0}, {783, 51, 68, 4352, 0, 0, 0}, {76, 5632, 16384, 0, 0, 0, 0}, {95, 119, 4626, 1285, 0, 0, 0}, {4618, 4642, 68, 5120, 0, 0, 0}, {5439, 12336, 5440, 0, 0, 0, 0}, {160, 2560, 12368, 20560, 0, 0, 0}, {8, 51, 772, 68, 1028, 4369, 0}, {8, 4690, 16384, 0, 0, 0, 0}, {95, 51, 851, 1280, 0, 0, 0}, {8, 32, 512, 68, 1028, 4112, 0}, {255, 3840, 12288, 21845, 0, 0, 0}, {204, 3084, 12336, 22102, 0, 0, 0}, {8, 32, 512, 87, 1280, 4096, 0}, {8, 32, 512, 4176, 0, 0, 0}, {780, 51, 21845, 0, 0, 0, 0}, {12528, 23130, 0, 0, 0, 0, 0}, {19, 260, 4352, 0, 0, 0, 0}, {1548, 1632, 20560, 0, 0, 0, 0}, {8, 5410, 1792, 5461, 0, 0, 0}, {8, 4626, 68, 1028, 0, 0, 0}, {95, 12288, 1280, 0, 0, 0, 0}, {160, 2560, 12384, 20480, 0, 0, 0}, {8, 51, 775, 68, 1024, 4369, 0}, {8, 4706, 16448, 0, 0, 0, 0}, {1295, 51, 1536, 1360, 0, 0, 0}, {8, 32, 512, 68, 1024, 4096, 0}, {255, 3855, 12336, 21845, 0, 0, 0}, {204, 3072, 12288, 22118, 0, 0, 0}, {8, 32, 512, 87, 1287, 4112, 0}, {8, 32, 512, 4160, 0, 0, 0}, {783, 51, 21845, 0, 0, 0, 0}, {12480, 27242, 0, 0, 0, 0, 0}, {19, 276, 4352, 0, 0, 0, 0}, {108, 1536, 20480, 0, 0, 0, 0}, {8, 119, 4626, 5397, 0, 0, 0}, {8, 4642, 68, 1024, 0, 0, 0}, {1295, 12336, 1360, 0, 0, 0, 0}, {128, 6768, 12400, 16384, 0, 0, 0}, {27, 51, 791, 68, 1297, 4369, 0}, {4698, 4722, 20560, 0, 0, 0, 0}, {5388, 51, 5632, 5440, 0, 0, 0}, {3084, 4656, 68, 0, 0, 0, 0}, {1290, 32, 1365, 4096, 0, 0, 0}, {76, 32, 1542, 4112, 0, 0, 0}, {119, 4608, 21760, 0, 0, 0, 0}, {4728, 8704, 0, 0, 0, 0, 0}, {19, 4160, 5397, 0, 0, 0, 0}, {2570, 32, 4176, 0, 0, 0, 0}, {780, 51, 68, 4352, 0, 0, 0}, {76, 5744, 16448, 0, 0, 0, 0}, {1290, 1314, 5888, 1365, 0, 0, 0}, {40, 4626, 68, 5140, 0, 0, 0}, {127, 12288, 5376, 0, 0, 0, 0}, {128, 6656, 12288, 16384, 0, 0, 0}, {27, 51, 771, 68, 1285, 4369, 0}, {4618, 4642, 20480, 0, 0, 0, 0}, {5388, 51, 771, 5440, 0, 0, 0}, {4620, 8704, 68, 0, 0, 0, 0}, {4111, 32, 4176, 1285, 0, 0, 0}, {4108, 32, 1542, 4160, 0, 0, 0}, {4623, 119, 21760, 0, 0, 0, 0}, {136, 4608, 0, 0, 0, 0, 0}, {19, 1285, 4112, 0, 0, 0, 0}, {2570, 32, 4096, 0, 0, 0, 0}, {51, 771, 68, 4352, 0, 0, 0}, {76, 5632, 16448, 0, 0, 0, 0}, {95, 119, 4613, 1285, 0, 0, 0}, {40, 4614, 68, 5120, 0, 0, 0}, {127, 12400, 5376, 0, 0, 0, 0}, {160, 2560, 12336, 20560, 0, 0, 0}, {8, 51, 768, 68, 1024, 4369, 0}, {8, 4626, 16448, 0, 0, 0, 0}, {95, 51, 768, 1280, 0, 0, 0}, {8, 32, 512, 68, 1024, 4116, 0}, {255, 3840, 12351, 21845, 0, 0, 0}, {204, 3072, 12348, 22106, 0, 0, 0}, {8, 32, 512, 87, 1280, 4119, 0}, {8, 32, 512, 4112, 0, 0, 0}, {51, 768, 21845, 0, 0, 0, 0}, {23130, 12336, 0, 0, 0, 0, 0}, {19, 68, 256, 0, 0, 0, 0}, {108, 1536, 20560, 0, 0, 0, 0}, {8, 119, 4629, 5397, 0, 0, 0}, {8, 4630, 68, 1024, 0, 0, 0}, {95, 12384, 1280, 0, 0, 0, 0}, {160, 2560, 12288, 20480, 0, 0, 0}, {8, 51, 771, 68, 1028, 4369, 0}, {8, 4642, 16384, 0, 0, 0, 0}, {1295, 51, 771, 1360, 0, 0, 0}, {8, 32, 512, 68, 1028, 4100, 0}, {255, 3855, 12303, 21845, 0, 0, 0}, {204, 3084, 12300, 22122, 0, 0, 0}, {8, 32, 512, 87, 1287, 4103, 0}, {8, 32, 512, 4096, 0, 0, 0}, {51, 771, 21845, 0, 0, 0, 0}, {23210, 12288, 0, 0, 0, 0, 0}, {259, 1028, 272, 0, 0, 0, 0}, {1548, 1632, 20480, 0, 0, 0, 0}, {8, 5410, 1799, 5461, 0, 0, 0}, {8, 4646, 68, 1028, 0, 0, 0}, {1295, 13568, 1360, 0, 0, 0, 0}, {128, 6704, 12336, 16448, 0, 0, 0}, {27, 51, 768, 68, 1297, 4369, 0}, {40, 4626, 20560, 0, 0, 0, 0}, {76, 51, 768, 5376, 0, 0, 0}, {4668, 8704, 68, 0, 0, 0, 0}, {4127, 32, 4160, 5397, 0, 0, 0}, {4124, 32, 5654, 4176, 0, 0, 0}, {4680, 119, 21760, 0, 0, 0, 0}, {18504, 4656, 0, 0, 0, 0, 0}, {19, 1365, 4096, 0, 0, 0, 0}, {2570, 32, 4112, 0, 0, 0, 0}, {51, 768, 68, 4352, 0, 0, 0}, {76, 5744, 16384, 0, 0, 0, 0}, {1290, 1314, 5911, 1365, 0, 0, 0}, {4638, 4662, 68, 5140, 0, 0, 0}, {5439, 9472, 5440, 0, 0, 0, 0}, {12480, 23040, 0, 0, 0, 0, 0}, {19, 261, 4369, 0, 0, 0, 0}, {8, 32, 514, 4160, 0, 0, 0}, {783, 51, 21760, 0, 0, 0, 0}, {8, 4608, 68, 1024, 0, 0, 0}, {95, 12336, 1285, 0, 0, 0, 0}, {1546, 1638, 20480, 0, 0, 0, 0}, {8, 5431, 1799, 5440, 0, 0, 0}, {8, 4672, 16448, 0, 0, 0, 0}, {95, 51, 848, 1285, 0, 0, 0}, {160, 2570, 12384, 20480, 0, 0, 0}, {8, 51, 775, 68, 1024, 4352, 0}, {204, 3072, 12288, 22016, 0, 0, 0}, {8, 32, 514, 87, 1285, 4112, 0}, {8, 32, 514, 68, 1024, 4096, 0}, {255, 3855, 12336, 21760, 0, 0, 0}, {2560, 32, 4176, 0, 0, 0, 0}, {780, 51, 68, 4369, 0, 0, 0}, {4698, 8738, 0, 0, 0, 0, 0}, {19, 4160, 1280, 0, 0, 0, 0}, {4632, 4656, 68, 5140, 0, 0, 0}, {5418, 12288, 5461, 0, 0, 0, 0}, {76, 5654, 16448, 0, 0, 0, 0}, {95, 119, 4608, 1280, 0, 0, 0}, {40, 4688, 20560, 0, 0, 0, 0}, {76, 51, 832, 5397, 0, 0, 0}, {128, 6746, 12400, 16384, 0, 0, 0}, {27, 51, 791, 68, 1280, 4352, 0}, {76, 32, 1600, 4112, 0, 0, 0}, {119, 4693, 21845, 0, 0, 0, 0}, {4626, 68, 0, 0, 0, 0, 0}, {95, 32, 1280, 4096, 0, 0, 0}, {2560, 32, 4160, 0, 0, 0, 0}, {783, 51, 68, 4369, 0, 0, 0}, {4714, 8738, 0, 0, 0, 0, 0}, {19, 4176, 5376, 0, 0, 0, 0}, {40, 4608, 68, 5120, 0, 0, 0}, {127, 12336, 5397, 0, 0, 0, 0}, {76, 5734, 16384, 0, 0, 0, 0}, {1295, 1319, 5911, 1360, 0, 0, 0}, {4680, 4704, 20480, 0, 0, 0, 0}, {5401, 51, 5654, 5461, 0, 0, 0}, {128, 6762, 12352, 16448, 0, 0, 0}, {27, 51, 788, 68, 1300, 4352, 0}, {76, 32, 1536, 4096, 0, 0, 0}, {119, 4626, 21845, 0, 0, 0, 0}, {3072, 4642, 68, 0, 0, 0, 0}, {1295, 32, 1360, 4112, 0, 0, 0}, {12528, 27136, 0, 0, 0, 0, 0}, {19, 277, 4369, 0, 0, 0, 0}, {8, 32, 514, 4176, 0, 0, 0}, {780, 51, 21760, 0, 0, 0, 0}, {8, 4656, 68, 1028, 0, 0, 0}, {1290, 12288, 1365, 0, 0, 0, 0}, {108, 1542, 20560, 0, 0, 0, 0}, {8, 119, 4608, 5376, 0, 0, 0}, {8, 4720, 16384, 0, 0, 0, 0}, {1290, 51, 1542, 1365, 0, 0, 0}, {160, 2570, 12368, 20560, 0, 0, 0}, {8, 51, 772, 68, 1028, 4352, 0}, {204, 3084, 12336, 22064, 0, 0, 0}, {8, 32, 514, 87, 1282, 4096, 0}, {8, 32, 514, 68, 1028, 4112, 0}, {255, 3840, 12288, 21760, 0, 0, 0}, {4864, 17408, 0, 0, 0, 0, 0}, {90, 48, 257, 0, 0, 0, 0}, {4386, 514, 21760, 0, 0, 0, 0}, {1036, 48, 771, 4096, 0, 0, 0}, {4940, 8256, 1028, 0, 0, 0, 0}, {4367, 4869, 4437, 1285, 0, 0, 0}, {4364, 4454, 4870, 5376, 0, 0, 0}, {5240, 1799, 20480, 0, 0, 0, 0}, {4992, 2056, 13056, 22280, 0, 0, 0}, {265, 48, 771, 339, 1285, 4355, 0}, {522, 4352, 0, 0, 0, 0, 0}, {48, 771, 4160, 1028, 0, 0, 0}, {1036, 5888, 16384, 0, 0, 0, 0}, {90, 4471, 514, 1285, 0, 0, 0}, {4398, 514, 4420, 1028, 0, 0, 0}, {4879, 8192, 5120, 0, 0, 0, 0}, {48, 768, 1088, 4112, 0, 0, 0}, {2560, 546, 4369, 0, 0, 0, 0}, {274, 1280, 4096, 0, 0, 0, 0}, {17612, 4883, 0, 0, 0, 0, 0}, {4972, 8272, 5140, 0, 0, 0, 0}, {4415, 4885, 4437, 5397, 0, 0, 0}, {90, 4454, 4886, 1280, 0, 0, 0}, {1096, 5911, 16384, 0, 0, 0, 0}, {5144, 48, 768, 4176, 0, 0, 0}, {4889, 4403, 21845, 0, 0, 0, 0}, {282, 48, 768, 320, 1280, 4352, 0}, {5011, 6939, 13107, 17476, 0, 0, 0}, {4892, 1904, 20560, 0, 0, 0, 0}, {4381, 1058, 1536, 5461, 0, 0, 0}, {4382, 546, 4420, 1280, 0, 0, 0}, {4895, 8224, 1088, 0, 0, 0, 0}, {4896, 17408, 0, 0, 0, 0, 0}, {1295, 771, 273, 0, 0, 0, 0}, {4386, 4864, 21760, 0, 0, 0, 0}, {1100, 48, 771, 4112, 0, 0, 0}, {5928, 9252, 1092, 0, 0, 0, 0}, {4367, 4901, 4437, 5120, 0, 0, 0}, {4364, 1062, 5888, 5440, 0, 0, 0}, {4959, 1911, 20560, 0, 0, 0, 0}, {5024, 6952, 13056, 22312, 0, 0, 0}, {281, 48, 771, 323, 1046, 4355, 0}, {554, 4352, 0, 0, 0, 0, 0}, {48, 771, 4176, 5140, 0, 0, 0}, {1100, 5984, 16448, 0, 0, 0, 0}, {1295, 5154, 5632, 1365, 0, 0, 0}, {4876, 546, 4420, 5376, 0, 0, 0}, {4911, 8224, 5200, 0, 0, 0, 0}, {48, 768, 1024, 4096, 0, 0, 0}, {170, 514, 4369, 0, 0, 0, 0}, {258, 1360, 4112, 0, 0, 0, 0}, {2048, 4915, 0, 0, 0, 0, 0}, {1800, 13364, 5188, 0, 0, 0, 0}, {522, 4917, 4437, 1024, 0, 0, 0}, {1290, 5174, 1792, 1360, 0, 0, 0}, {1032, 6007, 16448, 0, 0, 0, 0}, {1032, 48, 768, 4160, 0, 0, 0}, {522, 4403, 21845, 0, 0, 0, 0}, {266, 48, 768, 336, 1024, 4352, 0}, {5043, 2056, 13107, 17476, 0, 0, 0}, {5180, 1792, 20480, 0, 0, 0, 0}, {4381, 4471, 514, 5397, 0, 0, 0}, {4382, 514, 4420, 5140, 0, 0, 0}, {4927, 8192, 1024, 0, 0, 0, 0}, {5888, 1088, 0, 0, 0, 0, 0}, {90, 626, 1285, 4369, 0, 0, 0}, {4424, 4386, 578, 5376, 0, 0, 0}, {5180, 4931, 20480, 0, 0, 0, 0}, {5068, 6980, 8192, 17476, 0, 0, 0}, {287, 48, 528, 325, 1285, 4112, 0}, {4454, 4934, 21760, 0, 0, 0, 0}, {1096, 48, 1863, 4096, 0, 0, 0}, {1096, 4864, 16384, 0, 0, 0, 0}, {90, 4403, 4883, 1285, 0, 0, 0}, {1546, 544, 1088, 4352, 0, 0, 0}, {3855, 4915, 5188, 0, 0, 0, 0}, {4940, 30464, 0, 0, 0, 0, 0}, {279, 4176, 1285, 0, 0, 0, 0}, {552, 8738, 4420, 0, 0, 0, 0}, {783, 48, 4160, 5120, 0, 0, 0}, {1792, 5200, 0, 0, 0, 0, 0}, {520, 610, 1028, 4369, 0, 0, 0}, {90, 4386, 594, 1280, 0, 0, 0}, {1036, 4947, 16384, 0, 0, 0, 0}, {780, 48, 1028, 4112, 0, 0, 0}, {512, 4437, 0, 0, 0, 0, 0}, {268, 48, 512, 342, 1280, 4096, 0}, {5087, 2056, 8224, 22359, 0, 0, 0}, {1800, 4896, 20560, 0, 0, 0, 0}, {1036, 4403, 512, 5461, 0, 0, 0}, {90, 512, 1280, 4352, 0, 0, 0}, {192, 4883, 1028, 0, 0, 0, 0}, {1036, 48, 1792, 4176, 0, 0, 0}, {520, 4471, 21845, 0, 0, 0, 0}, {48, 4626, 260, 0, 0, 0, 0}, {4959, 17408, 0, 0, 0, 0, 0}, {4960, 1024, 0, 0, 0, 0, 0}, {1295, 1799, 1365, 4369, 0, 0, 0}, {1032, 4386, 1536, 5440, 0, 0, 0}, {1807, 4963, 20560, 0, 0, 0, 0}, {5100, 2056, 8224, 17476, 0, 0, 0}, {271, 48, 512, 341, 1024, 4096, 0}, {4454, 512, 21760, 0, 0, 0, 0}, {1032, 48, 1799, 4112, 0, 0, 0}, {1032, 4896, 16448, 0, 0, 0, 0}, {1295, 4403, 512, 1365, 0, 0, 0}, {106, 512, 1024, 4352, 0, 0, 0}, {240, 4883, 5140, 0, 0, 0, 0}, {4972, 30464, 0, 0, 0, 0, 0}, {263, 4160, 5397, 0, 0, 0, 0}, {520, 8738, 4420, 0, 0, 0, 0}, {783, 48, 4176, 1024, 0, 0, 0}, {4976, 5120, 0, 0, 0, 0, 0}, {1070, 1542, 1092, 4369, 0, 0, 0}, {1290, 4386, 5632, 1360, 0, 0, 0}, {1100, 4979, 16448, 0, 0, 0, 0}, {780, 48, 1092, 4096, 0, 0, 0}, {2570, 544, 4437, 0, 0, 0, 0}, {284, 48, 528, 326, 1046, 4112, 0}, {5119, 7031, 8192, 22391, 0, 0, 0}, {5240, 4864, 20480, 0, 0, 0, 0}, {4441, 4403, 4883, 5397, 0, 0, 0}, {1290, 544, 1360, 4352, 0, 0, 0}, {3084, 4915, 1092, 0, 0, 0, 0}, {5132, 48, 5888, 4160, 0, 0, 0}, {4959, 4471, 21845, 0, 0, 0, 0}, {48, 4626, 276, 0, 0, 0, 0}, {4991, 17408, 0, 0, 0, 0, 0}, {4992, 6912, 13056, 17408, 0, 0, 0}, {283, 48, 771, 321, 1285, 4369, 0}, {4874, 4386, 21760, 0, 0, 0, 0}, {5132, 48, 771, 4160, 0, 0, 0}, {4876, 8192, 1092, 0, 0, 0, 0}, {4367, 544, 4437, 1285, 0, 0, 0}, {4364, 1062, 1542, 5440, 0, 0, 0}, {4879, 1911, 20480, 0, 0, 0, 0}, {17544, 4864, 0, 0, 0, 0, 0}, {275, 1285, 4112, 0, 0, 0, 0}, {2570, 544, 4352, 0, 0, 0, 0}, {48, 771, 1092, 4096, 0, 0, 0}, {1100, 5888, 16448, 0, 0, 0, 0}, {90, 4471, 4869, 1285, 0, 0, 0}, {4398, 4870, 4420, 5376, 0, 0, 0}, {4991, 8304, 5120, 0, 0, 0, 0}, {48, 768, 4176, 1024, 0, 0, 0}, {520, 4369, 0, 0, 0, 0, 0}, {264, 48, 768, 338, 1280, 4370, 0}, {5011, 2048, 13107, 22367, 0, 0, 0}, {4892, 8224, 5140, 0, 0, 0, 0}, {4415, 512, 4437, 1024, 0, 0, 0}, {90, 4454, 512, 1280, 0, 0, 0}, {1032, 5911, 16448, 0, 0, 0, 0}, {1032, 48, 768, 4112, 0, 0, 0}, {4403, 512, 21845, 0, 0, 0, 0}, {90, 48, 256, 0, 0, 0, 0}, {4883, 17476, 0, 0, 0, 0, 0}, {5228, 1792, 20560, 0, 0, 0, 0}, {4381, 4471, 4885, 5397, 0, 0, 0}, {4382, 4886, 4420, 1280, 0, 0, 0}, {4959, 8288, 1024, 0, 0, 0, 0}, {5024, 2048, 13056, 17408, 0, 0, 0}, {267, 48, 771, 337, 1028, 4369, 0}, {520, 4386, 21760, 0, 0, 0, 0}, {1036, 48, 771, 4176, 0, 0, 0}, {4908, 8224, 1028, 0, 0, 0, 0}, {4367, 512, 4437, 5120, 0, 0, 0}, {4364, 4454, 512, 5376, 0, 0, 0}, {5160, 1799, 20560, 0, 0, 0, 0}, {2056, 4896, 0, 0, 0, 0, 0}, {259, 1365, 4096, 0, 0, 0, 0}, {170, 512, 4352, 0, 0, 0, 0}, {48, 771, 1028, 4112, 0, 0, 0}, {1036, 5984, 16384, 0, 0, 0, 0}, {1295, 5154, 1799, 1365, 0, 0, 0}, {520, 4902, 4420, 1028, 0, 0, 0}, {1807, 13312, 5200, 0, 0, 0, 0}, {48, 768, 4160, 5120, 0, 0, 0}, {552, 4369, 0, 0, 0, 0, 0}, {280, 48, 768, 322, 1042, 4370, 0}, {5043, 6963, 13107, 22399, 0, 0, 0}, {4924, 8192, 5188, 0, 0, 0, 0}, {4895, 544, 4437, 5397, 0, 0, 0}, {1290, 5174, 5654, 1360, 0, 0, 0}, {1096, 6007, 16384, 0, 0, 0, 0}, {1096, 48, 768, 4096, 0, 0, 0}, {4403, 4883, 21845, 0, 0, 0, 0}, {1290, 768, 272, 0, 0, 0, 0}, {4915, 17476, 0, 0, 0, 0, 0}, {4940, 1904, 20480, 0, 0, 0, 0}, {4381, 1058, 5911, 5461, 0, 0, 0}, {4382, 4918, 4420, 5140, 0, 0, 0}, {5951, 9216, 1088, 0, 0, 0, 0}, {192, 4864, 1024, 0, 0, 0, 0}, {90, 514, 1285, 4369, 0, 0, 0}, {1032, 4386, 514, 5440, 0, 0, 0}, {1807, 4915, 20480, 0, 0, 0, 0}, {4940, 17476, 0, 0, 0, 0, 0}, {48, 4608, 261, 0, 0, 0, 0}, {522, 4454, 21760, 0, 0, 0, 0}, {1032, 48, 1799, 4160, 0, 0, 0}, {1032, 4928, 16448, 0, 0, 0, 0}, {90, 4403, 592, 1285, 0, 0, 0}, {522, 608, 1024, 4352, 0, 0, 0}, {1799, 5188, 0, 0, 0, 0, 0}, {5068, 2048, 8192, 22272, 0, 0, 0}, {269, 48, 514, 343, 1285, 4112, 0}, {514, 4420, 0, 0, 0, 0, 0}, {783, 48, 1024, 4096, 0, 0, 0}, {3840, 4896, 5200, 0, 0, 0, 0}, {1548, 546, 1092, 4369, 0, 0, 0}, {90, 4386, 4864, 1280, 0, 0, 0}, {1100, 4883, 16448, 0, 0, 0, 0}, {780, 48, 4176, 5140, 0, 0, 0}, {554, 8704, 4437, 0, 0, 0, 0}, {278, 4160, 1280, 0, 0, 0, 0}, {4959, 30583, 0, 0, 0, 0, 0}, {5160, 4944, 20560, 0, 0, 0, 0}, {4441, 4403, 576, 5397, 0, 0, 0}, {90, 624, 1280, 4352, 0, 0, 0}, {5911, 1092, 0, 0, 0, 0, 0}, {1100, 48, 1856, 4112, 0, 0, 0}, {4471, 4949, 21845, 0, 0, 0, 0}, {286, 48, 530, 324, 1280, 4096, 0}, {5087, 7007, 8224, 17408, 0, 0, 0}, {3072, 4896, 1088, 0, 0, 0, 0}, {1295, 546, 1365, 4369, 0, 0, 0}, {4424, 4386, 4864, 5376, 0, 0, 0}, {5228, 4883, 20560, 0, 0, 0, 0}, {4972, 17476, 0, 0, 0, 0, 0}, {48, 4608, 277, 0, 0, 0, 0}, {4940, 4454, 21760, 0, 0, 0, 0}, {5144, 48, 5911, 4176, 0, 0, 0}, {1096, 4960, 16384, 0, 0, 0, 0}, {1295, 4403, 5654, 1365, 0, 0, 0}, {1066, 1536, 1088, 4352, 0, 0, 0}, {4963, 5140, 0, 0, 0, 0, 0}, {5100, 7020, 8224, 22304, 0, 0, 0}, {285, 48, 530, 327, 1042, 4096, 0}, {2560, 546, 4420, 0, 0, 0, 0}, {783, 48, 1088, 4112, 0, 0, 0}, {240, 4864, 5120, 0, 0, 0, 0}, {106, 514, 1028, 4369, 0, 0, 0}, {1290, 4386, 514, 1360, 0, 0, 0}, {1036, 4915, 16384, 0, 0, 0, 0}, {780, 48, 4160, 1028, 0, 0, 0}, {522, 8704, 4437, 0, 0, 0, 0}, {262, 4176, 5376, 0, 0, 0, 0}, {4991, 30583, 0, 0, 0, 0, 0}, {1800, 4976, 20480, 0, 0, 0, 0}, {1036, 4403, 1542, 5461, 0, 0, 0}, {1290, 1792, 1360, 4352, 0, 0, 0}, {4979, 1028, 0, 0, 0, 0, 0}, {1036, 48, 1792, 4096, 0, 0, 0}, {4471, 514, 21845, 0, 0, 0, 0}, {270, 48, 514, 340, 1028, 4112, 0}, {5119, 2048, 8192, 17408, 0, 0, 0}, {15360, 20480, 0, 0, 0, 0, 0}, {34, 21, 257, 0, 0, 0, 0}, {8, 34, 514, 5122, 0, 0, 0}, {63, 771, 20528, 0, 0, 0, 0}, {8, 64, 1028, 4096, 0, 0, 0}, {13056, 85, 1285, 0, 0, 0, 0}, {106, 1542, 20576, 0, 0, 0, 0}, {8, 119, 4864, 5127, 0, 0, 0}, {8, 8192, 5120, 0, 0, 0, 0}, {63, 771, 85, 1285, 0, 0, 0}, {170, 2570, 13834, 20490, 0, 0, 0}, {8, 55, 771, 64, 1028, 4103, 0}, {192, 3084, 12288, 20480, 0, 0, 0}, {8, 34, 514, 85, 1285, 4352, 0}, {8, 34, 514, 64, 1028, 4098, 0}, {255, 3855, 13056, 20495, 0, 0, 0}, {3072, 64, 4112, 0, 0, 0, 0}, {34, 85, 1280, 4369, 0, 0, 0}, {72, 34, 4626, 5138, 0, 0, 0}, {127, 4883, 20512, 0, 0, 0, 0}, {136, 5140, 0, 0, 0, 0, 0}, {768, 21, 4096, 0, 0, 0, 0}, {42, 5654, 20592, 0, 0, 0, 0}, {72, 119, 768, 5143, 0, 0, 0}, {5144, 12336, 5200, 0, 0, 0, 0}, {4889, 4915, 85, 1280, 0, 0, 0}, {4122, 4144, 1536, 64, 0, 0, 0}, {5147, 119, 17476, 0, 0, 0, 0}, {128, 7196, 8224, 20560, 0, 0, 0}, {29, 34, 768, 85, 1280, 4352, 0}, {5150, 34, 17476, 0, 0, 0, 0}, {4127, 4128, 768, 64, 0, 0, 0}, {128, 7200, 8224, 20512, 0, 0, 0}, {29, 34, 771, 85, 1298, 4369, 0}, {34, 5120, 0, 0, 0, 0, 0}, {63, 771, 64, 4112, 0, 0, 0}, {72, 5156, 17476, 0, 0, 0, 0}, {1295, 1317, 4864, 85, 0, 0, 0}, {1548, 1574, 64, 4096, 0, 0, 0}, {3855, 5159, 5200, 0, 0, 0, 0}, {5160, 17408, 0, 0, 0, 0, 0}, {4144, 771, 21, 0, 0, 0, 0}, {42, 5632, 20480, 0, 0, 0, 0}, {72, 119, 771, 5140, 0, 0, 0}, {3084, 4128, 64, 0, 0, 0, 0}, {1295, 34, 85, 4352, 0, 0, 0}, {5132, 34, 4608, 5188, 0, 0, 0}, {4959, 4896, 20560, 0, 0, 0, 0}, {192, 3072, 12336, 20528, 0, 0, 0}, {8, 34, 514, 85, 1282, 4369, 0}, {8, 34, 514, 64, 1024, 4112, 0}, {255, 3840, 13107, 20480, 0, 0, 0}, {8, 5172, 17476, 0, 0, 0, 0}, {1290, 1333, 768, 85, 0, 0, 0}, {170, 2570, 13878, 20560, 0, 0, 0}, {8, 55, 768, 64, 1024, 4096, 0}, {8, 4144, 64, 1024, 0, 0, 0}, {1290, 13107, 85, 0, 0, 0, 0}, {1546, 1632, 20560, 0, 0, 0, 0}, {8, 5171, 1792, 5188, 0, 0, 0}, {20720, 15420, 0, 0, 0, 0, 0}, {258, 21, 4352, 0, 0, 0, 0}, {8, 34, 514, 5140, 0, 0, 0}, {63, 768, 20480, 0, 0, 0, 0}, {3072, 64, 4096, 0, 0, 0, 0}, {34, 85, 1285, 4369, 0, 0, 0}, {5130, 34, 4608, 5186, 0, 0, 0}, {4940, 4915, 17219, 0, 0, 0, 0}, {10240, 5188, 0, 0, 0, 0, 0}, {816, 21, 4112, 0, 0, 0, 0}, {5708, 5734, 17990, 0, 0, 0, 0}, {5135, 5168, 5888, 5191, 0, 0, 0}, {72, 12288, 5120, 0, 0, 0, 0}, {42, 4883, 85, 1285, 0, 0, 0}, {4106, 4128, 5632, 64, 0, 0, 0}, {5195, 119, 17476, 0, 0, 0, 0}, {128, 7244, 8192, 20480, 0, 0, 0}, {29, 34, 786, 85, 1285, 4352, 0}, {5198, 34, 17476, 0, 0, 0, 0}, {4111, 4144, 4864, 64, 0, 0, 0}, {15600, 20560, 0, 0, 0, 0, 0}, {512, 260, 273, 0, 0, 0, 0}, {8, 34, 512, 5202, 0, 0, 0}, {780, 819, 21331, 0, 0, 0, 0}, {8, 64, 1028, 4112, 0, 0, 0}, {13056, 85, 1280, 0, 0, 0, 0}, {1548, 1638, 22102, 0, 0, 0, 0}, {8, 5152, 1792, 5207, 0, 0, 0}, {8, 8224, 5200, 0, 0, 0, 0}, {780, 819, 85, 1280, 0, 0, 0}, {170, 2560, 13914, 20570, 0, 0, 0}, {8, 55, 772, 64, 1028, 4119, 0}, {192, 3084, 12336, 20560, 0, 0, 0}, {8, 34, 512, 85, 1280, 4352, 0}, {8, 34, 512, 64, 1028, 4114, 0}, {255, 3840, 13056, 20575, 0, 0, 0}, {192, 3072, 12288, 20576, 0, 0, 0}, {8, 34, 512, 85, 1287, 4369, 0}, {8, 34, 512, 64, 1024, 4096, 0}, {255, 3855, 13107, 20560, 0, 0, 0}, {8, 5220, 17476, 0, 0, 0, 0}, {1295, 1328, 1536, 85, 0, 0, 0}, {170, 2560, 13926, 20480, 0, 0, 0}, {8, 55, 775, 64, 1024, 4112, 0}, {8, 4128, 64, 1024, 0, 0, 0}, {1295, 13107, 85, 0, 0, 0, 0}, {106, 1536, 20480, 0, 0, 0, 0}, {8, 119, 4883, 5140, 0, 0, 0}, {20640, 27756, 0, 0, 0, 0, 0}, {274, 21, 4352, 0, 0, 0, 0}, {8, 34, 512, 5188, 0, 0, 0}, {783, 816, 20560, 0, 0, 0, 0}, {128, 7280, 8192, 20592, 0, 0, 0}, {29, 34, 785, 85, 1303, 4369, 0}, {2570, 34, 5200, 0, 0, 0, 0}, {780, 819, 64, 4096, 0, 0, 0}, {72, 5236, 17476, 0, 0, 0, 0}, {1290, 1312, 5632, 85, 0, 0, 0}, {42, 1542, 64, 4112, 0, 0, 0}, {119, 5120, 0, 0, 0, 0, 0}, {5240, 17408, 0, 0, 0, 0, 0}, {4128, 4883, 21, 0, 0, 0, 0}, {5722, 5744, 20560, 0, 0, 0, 0}, {5132, 5171, 5888, 5188, 0, 0, 0}, {3084, 4144, 64, 0, 0, 0, 0}, {1290, 34, 85, 4352, 0, 0, 0}, {72, 34, 4626, 5140, 0, 0, 0}, {127, 4864, 20480, 0, 0, 0, 0}, {128, 7168, 8192, 20480, 0, 0, 0}, {29, 34, 771, 85, 1285, 4369, 0}, {5130, 34, 17408, 0, 0, 0, 0}, {4111, 4144, 771, 64, 0, 0, 0}, {5132, 12288, 5188, 0, 0, 0, 0}, {4874, 4896, 85, 1285, 0, 0, 0}, {4106, 4128, 1542, 64, 0, 0, 0}, {5135, 119, 17408, 0, 0, 0, 0}, {136, 5120, 0, 0, 0, 0, 0}, {771, 21, 4112, 0, 0, 0, 0}, {42, 5632, 20512, 0, 0, 0, 0}, {72, 119, 771, 5123, 0, 0, 0}, {3084, 64, 4096, 0, 0, 0, 0}, {34, 85, 1285, 4352, 0, 0, 0}, {72, 34, 4608, 5126, 0, 0, 0}, {127, 4864, 20592, 0, 0, 0, 0}, {192, 3072, 12336, 20560, 0, 0, 0}, {8, 34, 512, 85, 1280, 4369, 0}, {8, 34, 512, 64, 1024, 4114, 0}, {255, 3840, 13107, 20575, 0, 0, 0}, {8, 8224, 5140, 0, 0, 0, 0}, {63, 768, 85, 1280, 0, 0, 0}, {170, 2560, 13884, 20570, 0, 0, 0}, {8, 55, 768, 64, 1024, 4119, 0}, {8, 64, 1024, 4112, 0, 0, 0}, {13107, 85, 1280, 0, 0, 0, 0}, {106, 1536, 20528, 0, 0, 0, 0}, {8, 119, 4883, 5139, 0, 0, 0}, {15420, 20560, 0, 0, 0, 0, 0}, {34, 21, 256, 0, 0, 0, 0}, {8, 34, 512, 5142, 0, 0, 0}, {63, 768, 20576, 0, 0, 0, 0}, {20640, 15360, 0, 0, 0, 0, 0}, {259, 21, 4369, 0, 0, 0, 0}, {8, 34, 512, 5120, 0, 0, 0}, {63, 771, 20560, 0, 0, 0, 0}, {8, 4128, 64, 1028, 0, 0, 0}, {1295, 13056, 85, 0, 0, 0, 0}, {1548, 1638, 20480, 0, 0, 0, 0}, {8, 5159, 1799, 5200, 0, 0, 0}, {8, 5152, 17408, 0, 0, 0, 0}, {1295, 1328, 771, 85, 0, 0, 0}, {170, 2560, 13824, 20480, 0, 0, 0}, {8, 55, 771, 64, 1028, 4112, 0}, {192, 3084, 12288, 20576, 0, 0, 0}, {8, 34, 512, 85, 1287, 4352, 0}, {8, 34, 512, 64, 1028, 4096, 0}, {255, 3855, 13056, 20560, 0, 0, 0}, {3072, 4144, 64, 0, 0, 0, 0}, {1290, 34, 85, 4369, 0, 0, 0}, {5144, 34, 4626, 5200, 0, 0, 0}, {4940, 4915, 20480, 0, 0, 0, 0}, {5180, 17476, 0, 0, 0, 0, 0}, {4128, 768, 21, 0, 0, 0, 0}, {42, 5654, 20560, 0, 0, 0, 0}, {72, 119, 768, 5120, 0, 0, 0}, {72, 5168, 17408, 0, 0, 0, 0}, {1290, 1312, 4883, 85, 0, 0, 0}, {1546, 1568, 64, 4112, 0, 0, 0}, {3840, 5171, 5188, 0, 0, 0, 0}, {128, 7228, 8192, 20592, 0, 0, 0}, {29, 34, 768, 85, 1303, 4352, 0}, {34, 5140, 0, 0, 0, 0, 0}, {63, 768, 64, 4096, 0, 0, 0}, {192, 3072, 12288, 20480, 0, 0, 0}, {8, 34, 514, 85, 1285, 4369, 0}, {8, 34, 514, 64, 1024, 4098, 0}, {255, 3855, 13107, 20495, 0, 0, 0}, {8, 8192, 5188, 0, 0, 0, 0}, {783, 816, 85, 1285, 0, 0, 0}, {170, 2570, 13932, 20490, 0, 0, 0}, {8, 55, 775, 64, 1024, 4103, 0}, {8, 64, 1024, 4096, 0, 0, 0}, {13107, 85, 1285, 0, 0, 0, 0}, {1546, 1632, 22016, 0, 0, 0, 0}, {8, 5172, 1799, 5187, 0, 0, 0}, {15564, 20480, 0, 0, 0, 0, 0}, {514, 261, 272, 0, 0, 0, 0}, {8, 34, 514, 5190, 0, 0, 0}, {783, 816, 21248, 0, 0, 0, 0}, {128, 7248, 8224, 20560, 0, 0, 0}, {29, 34, 785, 85, 1280, 4369, 0}, {5210, 34, 17408, 0, 0, 0, 0}, {4127, 4128, 4883, 64, 0, 0, 0}, {72, 12336, 5140, 0, 0, 0, 0}, {42, 4864, 85, 1280, 0, 0, 0}, {4122, 4144, 5654, 64, 0, 0, 0}, {5215, 119, 17408, 0, 0, 0, 0}, {10280, 5200, 0, 0, 0, 0, 0}, {819, 21, 4096, 0, 0, 0, 0}, {5722, 5744, 17920, 0, 0, 0, 0}, {5147, 5156, 5911, 5203, 0, 0, 0}, {3084, 64, 4112, 0, 0, 0, 0}, {34, 85, 1280, 4352, 0, 0, 0}, {5150, 34, 4626, 5206, 0, 0, 0}, {4959, 4896, 17152, 0, 0, 0, 0}, {3072, 4128, 64, 0, 0, 0, 0}, {1295, 34, 85, 4369, 0, 0, 0}, {72, 34, 4608, 5120, 0, 0, 0}, {127, 4883, 20560, 0, 0, 0, 0}, {5228, 17476, 0, 0, 0, 0, 0}, {4144, 4864, 21, 0, 0, 0, 0}, {5708, 5734, 20480, 0, 0, 0, 0}, {5144, 5159, 5911, 5200, 0, 0, 0}, {72, 5216, 17408, 0, 0, 0, 0}, {1295, 1317, 5654, 85, 0, 0, 0}, {42, 1536, 64, 4096, 0, 0, 0}, {119, 5140, 0, 0, 0, 0, 0}, {128, 7276, 8224, 20512, 0, 0, 0}, {29, 34, 786, 85, 1298, 4352, 0}, {2560, 34, 5188, 0, 0, 0, 0}, {783, 816, 64, 4112, 0, 0, 0}, {20720, 27648, 0, 0, 0, 0, 0}, {275, 21, 4369, 0, 0, 0, 0}, {8, 34, 514, 5200, 0, 0, 0}, {780, 819, 20480, 0, 0, 0, 0}, {8, 4144, 64, 1028, 0, 0, 0}, {1290, 13056, 85, 0, 0, 0, 0}, {106, 1542, 20560, 0, 0, 0, 0}, {8, 119, 4864, 5120, 0, 0, 0}, {8, 5232, 17408, 0, 0, 0, 0}, {1290, 1333, 1542, 85, 0, 0, 0}, {170, 2570, 13904, 20560, 0, 0, 0}, {8, 55, 772, 64, 1028, 4096, 0}, {192, 3084, 12336, 20528, 0, 0, 0}, {8, 34, 514, 85, 1282, 4352, 0}, {8, 34, 514, 64, 1028, 4112, 0}, {255, 3840, 13056, 20480, 0, 0, 0}, {8704, 5376, 0, 0, 0, 0, 0}, {60, 80, 257, 0, 0, 0, 0}, {5418, 514, 16416, 0, 0, 0, 0}, {4367, 4403, 771, 5379, 0, 0, 0}, {13056, 4420, 1028, 0, 0, 0, 0}, {522, 80, 1285, 4096, 0, 0, 0}, {4362, 4454, 4864, 5382, 0, 0, 0}, {5503, 1799, 16496, 0, 0, 0, 0}, {5504, 2056, 14088, 21760, 0, 0, 0}, {265, 309, 771, 80, 1285, 4357, 0}, {5386, 5888, 16384, 0, 0, 0, 0}, {4427, 4471, 771, 1028, 0, 0, 0}, {1036, 4352, 0, 0, 0, 0, 0}, {4128, 514, 80, 1285, 0, 0, 0}, {4430, 4386, 514, 1028, 0, 0, 0}, {5391, 4608, 16384, 0, 0, 0, 0}, {544, 80, 1280, 4112, 0, 0, 0}, {3072, 1092, 4369, 0, 0, 0, 0}, {5482, 4626, 16432, 0, 0, 0, 0}, {4447, 4403, 4883, 5395, 0, 0, 0}, {768, 276, 4096, 0, 0, 0, 0}, {8874, 5397, 0, 0, 0, 0, 0}, {4442, 4454, 768, 5398, 0, 0, 0}, {5439, 5911, 16480, 0, 0, 0, 0}, {4632, 4144, 80, 1280, 0, 0, 0}, {5401, 13107, 4437, 0, 0, 0, 0}, {5402, 1904, 16448, 0, 0, 0, 0}, {4379, 5427, 1536, 1092, 0, 0, 0}, {284, 288, 768, 80, 1280, 4352, 0}, {5525, 7453, 8738, 21845, 0, 0, 0}, {4382, 4386, 768, 1092, 0, 0, 0}, {5407, 544, 16448, 0, 0, 0, 0}, {5408, 5888, 21760, 0, 0, 0, 0}, {1096, 1140, 771, 4369, 0, 0, 0}, {5546, 7458, 8738, 16384, 0, 0, 0}, {287, 291, 771, 80, 1040, 4112, 0}, {5388, 1060, 4864, 4420, 0, 0, 0}, {4698, 5413, 21845, 0, 0, 0, 0}, {3084, 5414, 1088, 0, 0, 0, 0}, {1295, 1831, 80, 4096, 0, 0, 0}, {552, 8192, 5376, 0, 0, 0, 0}, {60, 771, 4437, 5397, 0, 0, 0}, {5418, 30464, 0, 0, 0, 0, 0}, {279, 80, 5140, 0, 0, 0, 0}, {1548, 544, 1088, 4352, 0, 0, 0}, {3855, 4642, 5461, 0, 0, 0, 0}, {1096, 4386, 17476, 0, 0, 0, 0}, {1295, 4128, 4608, 80, 0, 0, 0}, {5424, 1792, 21760, 0, 0, 0, 0}, {1032, 1124, 514, 4369, 0, 0, 0}, {1290, 514, 80, 4112, 0, 0, 0}, {4403, 1024, 0, 0, 0, 0, 0}, {1032, 1076, 768, 4420, 0, 0, 0}, {522, 5429, 21845, 0, 0, 0, 0}, {266, 310, 768, 80, 1024, 4096, 0}, {5567, 2056, 14135, 16448, 0, 0, 0}, {1800, 12336, 5440, 0, 0, 0, 0}, {522, 4915, 4437, 1024, 0, 0, 0}, {1290, 4144, 1792, 80, 0, 0, 0}, {1032, 4471, 17476, 0, 0, 0, 0}, {60, 768, 1024, 4352, 0, 0, 0}, {160, 514, 5397, 0, 0, 0, 0}, {258, 80, 5140, 0, 0, 0, 0}, {5439, 8704, 0, 0, 0, 0, 0}, {8704, 5440, 0, 0, 0, 0, 0}, {783, 1285, 273, 0, 0, 0, 0}, {5960, 546, 16962, 0, 0, 0, 0}, {4367, 4403, 4608, 5443, 0, 0, 0}, {13056, 4420, 5376, 0, 0, 0, 0}, {554, 80, 1285, 4112, 0, 0, 0}, {4362, 1056, 5888, 5446, 0, 0, 0}, {4680, 1911, 18247, 0, 0, 0, 0}, {5568, 7496, 14152, 21760, 0, 0, 0}, {281, 293, 534, 80, 1285, 4357, 0}, {5450, 5984, 16448, 0, 0, 0, 0}, {5391, 5427, 5632, 1092, 0, 0, 0}, {1100, 4352, 0, 0, 0, 0, 0}, {4144, 4626, 80, 1285, 0, 0, 0}, {5386, 4386, 4864, 1092, 0, 0, 0}, {5455, 4656, 16448, 0, 0, 0, 0}, {512, 80, 1280, 4096, 0, 0, 0}, {204, 1028, 4369, 0, 0, 0, 0}, {1800, 4642, 21074, 0, 0, 0, 0}, {1036, 4403, 512, 5459, 0, 0, 0}, {816, 260, 4112, 0, 0, 0, 0}, {2048, 5461, 0, 0, 0, 0, 0}, {1036, 1072, 1792, 5462, 0, 0, 0}, {520, 6007, 22359, 0, 0, 0, 0}, {520, 4128, 80, 1280, 0, 0, 0}, {1036, 13107, 4437, 0, 0, 0, 0}, {5466, 1792, 16384, 0, 0, 0, 0}, {4379, 4471, 4883, 1028, 0, 0, 0}, {268, 304, 512, 80, 1280, 4352, 0}, {5589, 2056, 8738, 21845, 0, 0, 0}, {4382, 4386, 4626, 1028, 0, 0, 0}, {5471, 512, 16384, 0, 0, 0, 0}, {5472, 512, 21760, 0, 0, 0, 0}, {1032, 1076, 1799, 4369, 0, 0, 0}, {5610, 2056, 8738, 16448, 0, 0, 0}, {271, 307, 512, 80, 1024, 4096, 0}, {1032, 5408, 1536, 4420, 0, 0, 0}, {1807, 5477, 21845, 0, 0, 0, 0}, {4454, 1024, 0, 0, 0, 0, 0}, {1295, 1799, 80, 4112, 0, 0, 0}, {520, 8224, 5440, 0, 0, 0, 0}, {783, 819, 4437, 1024, 0, 0, 0}, {5482, 30464, 0, 0, 0, 0, 0}, {263, 80, 5140, 0, 0, 0, 0}, {108, 512, 1024, 4352, 0, 0, 0}, {240, 4626, 5397, 0, 0, 0, 0}, {1032, 4386, 17476, 0, 0, 0, 0}, {1295, 4144, 512, 80, 0, 0, 0}, {5488, 4608, 21760, 0, 0, 0, 0}, {1096, 1060, 1542, 4369, 0, 0, 0}, {1290, 546, 80, 4096, 0, 0, 0}, {3084, 4403, 1088, 0, 0, 0, 0}, {5388, 5424, 5632, 4420, 0, 0, 0}, {5983, 5493, 21845, 0, 0, 0, 0}, {282, 294, 534, 80, 1040, 4112, 0}, {5631, 7543, 14199, 16384, 0, 0, 0}, {4728, 12288, 5376, 0, 0, 0, 0}, {4409, 4883, 4437, 5397, 0, 0, 0}, {1290, 4128, 5888, 80, 0, 0, 0}, {1096, 4471, 17476, 0, 0, 0, 0}, {780, 816, 1088, 4352, 0, 0, 0}, {2570, 546, 5461, 0, 0, 0, 0}, {274, 80, 5140, 0, 0, 0, 0}, {5503, 8704, 0, 0, 0, 0, 0}, {5504, 7424, 8704, 21760, 0, 0, 0}, {285, 289, 771, 80, 1285, 4369, 0}, {5386, 546, 16384, 0, 0, 0, 0}, {4367, 4403, 771, 1088, 0, 0, 0}, {5388, 13056, 4420, 0, 0, 0, 0}, {4618, 4128, 80, 1285, 0, 0, 0}, {4362, 5414, 1542, 1088, 0, 0, 0}, {5391, 1911, 16384, 0, 0, 0, 0}, {8840, 5376, 0, 0, 0, 0, 0}, {771, 277, 4112, 0, 0, 0, 0}, {5418, 5888, 16416, 0, 0, 0, 0}, {4427, 4471, 771, 5379, 0, 0, 0}, {3084, 1088, 4352, 0, 0, 0, 0}, {546, 80, 1285, 4096, 0, 0, 0}, {4430, 4386, 4864, 5382, 0, 0, 0}, {5503, 4608, 16496, 0, 0, 0, 0}, {4144, 512, 80, 1280, 0, 0, 0}, {1032, 4369, 0, 0, 0, 0, 0}, {5402, 4626, 16448, 0, 0, 0, 0}, {4447, 4403, 512, 1024, 0, 0, 0}, {264, 308, 768, 80, 1280, 4372, 0}, {5525, 2048, 14143, 21845, 0, 0, 0}, {4442, 4454, 768, 1024, 0, 0, 0}, {5407, 5911, 16448, 0, 0, 0, 0}, {520, 80, 1280, 4112, 0, 0, 0}, {13107, 4437, 1024, 0, 0, 0, 0}, {5482, 1792, 16432, 0, 0, 0, 0}, {4379, 4471, 4883, 5395, 0, 0, 0}, {60, 80, 256, 0, 0, 0, 0}, {8738, 5397, 0, 0, 0, 0, 0}, {4382, 4386, 768, 5398, 0, 0, 0}, {5439, 512, 16480, 0, 0, 0, 0}, {160, 512, 5376, 0, 0, 0, 0}, {60, 771, 1028, 4369, 0, 0, 0}, {5418, 8738, 0, 0, 0, 0, 0}, {259, 80, 5120, 0, 0, 0, 0}, {520, 4896, 4420, 1028, 0, 0, 0}, {1807, 12288, 5461, 0, 0, 0, 0}, {1036, 4454, 17408, 0, 0, 0, 0}, {1295, 4128, 1799, 80, 0, 0, 0}, {520, 5408, 21760, 0, 0, 0, 0}, {1036, 1072, 771, 4437, 0, 0, 0}, {5546, 2048, 14080, 16384, 0, 0, 0}, {267, 311, 771, 80, 1028, 4112, 0}, {1036, 1120, 512, 4352, 0, 0, 0}, {5413, 1799, 21845, 0, 0, 0, 0}, {4386, 1028, 0, 0, 0, 0, 0}, {1295, 512, 80, 4096, 0, 0, 0}, {3840, 4656, 5440, 0, 0, 0, 0}, {1546, 546, 1092, 4369, 0, 0, 0}, {1290, 4144, 4626, 80, 0, 0, 0}, {1100, 4403, 17408, 0, 0, 0, 0}, {60, 768, 4420, 5376, 0, 0, 0}, {554, 8224, 5397, 0, 0, 0, 0}, {278, 80, 5120, 0, 0, 0, 0}, {5439, 30583, 0, 0, 0, 0, 0}, {4680, 5424, 21760, 0, 0, 0, 0}, {5401, 1056, 4883, 4437, 0, 0, 0}, {1290, 1824, 80, 4112, 0, 0, 0}, {3072, 5427, 1092, 0, 0, 0, 0}, {1100, 1136, 768, 4352, 0, 0, 0}, {5429, 5911, 21845, 0, 0, 0, 0}, {286, 290, 768, 80, 1044, 4096, 0}, {5567, 7487, 8704, 16448, 0, 0, 0}, {5568, 2048, 8704, 21760, 0, 0, 0}, {269, 305, 514, 80, 1285, 4369, 0}, {5450, 514, 16448, 0, 0, 0, 0}, {4367, 4403, 4608, 1024, 0, 0, 0}, {1032, 13056, 4420, 0, 0, 0, 0}, {522, 4144, 80, 1285, 0, 0, 0}, {4362, 4454, 4864, 1024, 0, 0, 0}, {5455, 1799, 16448, 0, 0, 0, 0}, {2056, 5440, 0, 0, 0, 0, 0}, {819, 261, 4096, 0, 0, 0, 0}, {522, 5984, 22272, 0, 0, 0, 0}, {1032, 1076, 1799, 5443, 0, 0, 0}, {204, 1024, 4352, 0, 0, 0, 0}, {514, 80, 1285, 4112, 0, 0, 0}, {1032, 4386, 514, 5446, 0, 0, 0}, {1807, 4656, 20992, 0, 0, 0, 0}, {4128, 4608, 80, 1280, 0, 0, 0}, {1096, 4369, 0, 0, 0, 0, 0}, {5466, 4642, 16384, 0, 0, 0, 0}, {5407, 4403, 4883, 1088, 0, 0, 0}, {280, 292, 532, 80, 1280, 4372, 0}, {5589, 7509, 14207, 21845, 0, 0, 0}, {5402, 5414, 5654, 1088, 0, 0, 0}, {5471, 6007, 16384, 0, 0, 0, 0}, {552, 80, 1280, 4096, 0, 0, 0}, {13107, 4437, 5397, 0, 0, 0, 0}, {4698, 1904, 18176, 0, 0, 0, 0}, {4379, 1060, 5911, 5459, 0, 0, 0}, {780, 1280, 272, 0, 0, 0, 0}, {8738, 5461, 0, 0, 0, 0, 0}, {4382, 4386, 4626, 5462, 0, 0, 0}, {5983, 544, 16896, 0, 0, 0, 0}, {2560, 544, 5440, 0, 0, 0, 0}, {783, 819, 1092, 4369, 0, 0, 0}, {5482, 8738, 0, 0, 0, 0, 0}, {275, 80, 5120, 0, 0, 0, 0}, {4392, 4864, 4420, 5376, 0, 0, 0}, {4714, 12336, 5397, 0, 0, 0, 0}, {1100, 4454, 17408, 0, 0, 0, 0}, {1295, 4144, 5911, 80, 0, 0, 0}, {5960, 5472, 21760, 0, 0, 0, 0}, {5401, 5413, 5654, 4437, 0, 0, 0}, {5610, 7530, 14144, 16448, 0, 0, 0}, {283, 295, 532, 80, 1044, 4096, 0}, {1100, 1056, 1536, 4352, 0, 0, 0}, {5477, 4626, 21845, 0, 0, 0, 0}, {3072, 4386, 1092, 0, 0, 0, 0}, {1295, 544, 80, 4112, 0, 0, 0}, {240, 4608, 5376, 0, 0, 0, 0}, {108, 514, 1028, 4369, 0, 0, 0}, {1290, 4128, 514, 80, 0, 0, 0}, {1036, 4403, 17408, 0, 0, 0, 0}, {780, 816, 4420, 1028, 0, 0, 0}, {522, 8192, 5461, 0, 0, 0, 0}, {262, 80, 5120, 0, 0, 0, 0}, {5503, 30583, 0, 0, 0, 0, 0}, {1800, 5488, 21760, 0, 0, 0, 0}, {1036, 5429, 1542, 4437, 0, 0, 0}, {1290, 1792, 80, 4096, 0, 0, 0}, {4471, 1028, 0, 0, 0, 0, 0}, {1036, 1072, 1792, 4352, 0, 0, 0}, {5493, 514, 21845, 0, 0, 0, 0}, {270, 306, 514, 80, 1028, 4112, 0}, {5631, 2048, 8704, 16384, 0, 0, 0}, {5632, 17408, 0, 0, 0, 0, 0}, {95, 96, 257, 0, 0, 0, 0}, {5160, 514, 20480, 0, 0, 0, 0}, {4364, 4403, 771, 5376, 0, 0, 0}, {4680, 12288, 1028, 0, 0, 0, 0}, {4362, 4864, 4437, 1285, 0, 0, 0}, {1036, 96, 1542, 4096, 0, 0, 0}, {4471, 1799, 21760, 0, 0, 0, 0}, {5760, 2056, 13320, 21000, 0, 0, 0}, {265, 310, 771, 342, 1285, 4358, 0}, {522, 8192, 5120, 0, 0, 0, 0}, {63, 771, 4420, 1028, 0, 0, 0}, {1036, 4608, 16384, 0, 0, 0, 0}, {95, 4386, 514, 1285, 0, 0, 0}, {4128, 514, 4160, 1028, 0, 0, 0}, {1807, 4352, 0, 0, 0, 0, 0}, {1056, 1536, 1088, 4112, 0, 0, 0}, {3840, 1911, 4369, 0, 0, 0, 0}, {1096, 4626, 16384, 0, 0, 0, 0}, {95, 4403, 4883, 1280, 0, 0, 0}, {552, 8192, 5140, 0, 0, 0, 0}, {63, 768, 4437, 5397, 0, 0, 0}, {17612, 5654, 0, 0, 0, 0, 0}, {279, 1280, 4096, 0, 0, 0, 0}, {5144, 4144, 1536, 4176, 0, 0, 0}, {5657, 4454, 21845, 0, 0, 0, 0}, {5658, 12336, 1088, 0, 0, 0, 0}, {4379, 4915, 4420, 1280, 0, 0, 0}, {5660, 544, 20560, 0, 0, 0, 0}, {4381, 4386, 768, 5461, 0, 0, 0}, {5782, 7710, 8738, 17476, 0, 0, 0}, {287, 288, 768, 320, 1280, 4352, 0}, {544, 5120, 0, 0, 0, 0, 0}, {63, 771, 1092, 4369, 0, 0, 0}, {5802, 7714, 8738, 21026, 0, 0, 0}, {284, 291, 771, 323, 1043, 4112, 0}, {1548, 1060, 1092, 4096, 0, 0, 0}, {3855, 5669, 4437, 0, 0, 0, 0}, {1100, 5670, 16448, 0, 0, 0, 0}, {1295, 5159, 4864, 1360, 0, 0, 0}, {5160, 5632, 20480, 0, 0, 0, 0}, {4441, 4454, 771, 5397, 0, 0, 0}, {5674, 17408, 0, 0, 0, 0, 0}, {4144, 771, 276, 0, 0, 0, 0}, {5132, 4128, 4608, 4160, 0, 0, 0}, {5722, 4386, 21845, 0, 0, 0, 0}, {3084, 4642, 1092, 0, 0, 0, 0}, {1295, 544, 1360, 4352, 0, 0, 0}, {4656, 1024, 0, 0, 0, 0, 0}, {1290, 514, 1365, 4369, 0, 0, 0}, {1032, 96, 514, 4112, 0, 0, 0}, {4403, 1792, 21760, 0, 0, 0, 0}, {5820, 2056, 13364, 17476, 0, 0, 0}, {266, 309, 768, 341, 1024, 4096, 0}, {522, 5686, 20560, 0, 0, 0, 0}, {1032, 1079, 768, 5440, 0, 0, 0}, {1032, 5744, 16448, 0, 0, 0, 0}, {1290, 5171, 1792, 1365, 0, 0, 0}, {522, 4144, 4176, 1024, 0, 0, 0}, {1800, 13107, 4420, 0, 0, 0, 0}, {5692, 8704, 0, 0, 0, 0, 0}, {258, 4160, 5397, 0, 0, 0, 0}, {160, 514, 5140, 0, 0, 0, 0}, {63, 768, 1024, 4352, 0, 0, 0}, {4608, 1088, 0, 0, 0, 0, 0}, {95, 546, 1285, 4369, 0, 0, 0}, {1096, 96, 578, 4096, 0, 0, 0}, {4403, 5699, 21760, 0, 0, 0, 0}, {5836, 7748, 13380, 17476, 0, 0, 0}, {282, 293, 533, 325, 1285, 4112, 0}, {5228, 5702, 20480, 0, 0, 0, 0}, {4424, 4471, 4679, 5376, 0, 0, 0}, {1096, 5632, 16384, 0, 0, 0, 0}, {95, 4454, 4883, 1285, 0, 0, 0}, {4618, 4128, 4160, 5120, 0, 0, 0}, {5692, 13107, 4420, 0, 0, 0, 0}, {5708, 8704, 0, 0, 0, 0, 0}, {274, 4176, 1285, 0, 0, 0, 0}, {2570, 546, 5188, 0, 0, 0, 0}, {783, 816, 1088, 4352, 0, 0, 0}, {512, 5200, 0, 0, 0, 0, 0}, {780, 819, 1028, 4369, 0, 0, 0}, {5850, 2056, 8738, 21074, 0, 0, 0}, {268, 307, 512, 339, 1280, 4096, 0}, {520, 96, 1028, 4112, 0, 0, 0}, {1792, 4437, 0, 0, 0, 0, 0}, {1036, 5718, 16384, 0, 0, 0, 0}, {95, 4471, 599, 1280, 0, 0, 0}, {520, 5744, 20560, 0, 0, 0, 0}, {1036, 1075, 1792, 5461, 0, 0, 0}, {5722, 17408, 0, 0, 0, 0, 0}, {4128, 4883, 260, 0, 0, 0, 0}, {1036, 4144, 512, 4176, 0, 0, 0}, {1800, 4386, 21845, 0, 0, 0, 0}, {192, 4626, 1028, 0, 0, 0, 0}, {95, 512, 1280, 4352, 0, 0, 0}, {96, 512, 1024, 4096, 0, 0, 0}, {255, 1799, 4369, 0, 0, 0, 0}, {1032, 4642, 16448, 0, 0, 0, 0}, {1295, 4403, 512, 1360, 0, 0, 0}, {520, 8224, 5188, 0, 0, 0, 0}, {783, 816, 4437, 1024, 0, 0, 0}, {2048, 5734, 0, 0, 0, 0, 0}, {263, 1360, 4112, 0, 0, 0, 0}, {1032, 4128, 1536, 4160, 0, 0, 0}, {1807, 4454, 21845, 0, 0, 0, 0}, {4714, 12288, 1024, 0, 0, 0, 0}, {4379, 4883, 4420, 5140, 0, 0, 0}, {5228, 512, 20480, 0, 0, 0, 0}, {4381, 4386, 4626, 5397, 0, 0, 0}, {5862, 2056, 8738, 17476, 0, 0, 0}, {271, 304, 512, 336, 1024, 4352, 0}, {5744, 17408, 0, 0, 0, 0, 0}, {1290, 1542, 273, 0, 0, 0, 0}, {5722, 546, 20560, 0, 0, 0, 0}, {4364, 4403, 4608, 5440, 0, 0, 0}, {5692, 12336, 1092, 0, 0, 0, 0}, {4362, 4896, 4437, 5120, 0, 0, 0}, {1100, 96, 1542, 4112, 0, 0, 0}, {4471, 5632, 21760, 0, 0, 0, 0}, {5872, 7800, 13432, 21112, 0, 0, 0}, {281, 294, 533, 326, 1043, 4358, 0}, {554, 8224, 5200, 0, 0, 0, 0}, {780, 819, 4420, 5376, 0, 0, 0}, {1100, 4656, 16448, 0, 0, 0, 0}, {1290, 4386, 4864, 1365, 0, 0, 0}, {4144, 4626, 4176, 5140, 0, 0, 0}, {1919, 4352, 0, 0, 0, 0, 0}, {5760, 7680, 8704, 17408, 0, 0, 0}, {286, 289, 771, 321, 1285, 4369, 0}, {5642, 546, 20480, 0, 0, 0, 0}, {4364, 4403, 771, 5440, 0, 0, 0}, {5644, 12288, 1092, 0, 0, 0, 0}, {4362, 4896, 4437, 1285, 0, 0, 0}, {5132, 4128, 1542, 4160, 0, 0, 0}, {5647, 4471, 21760, 0, 0, 0, 0}, {17544, 5632, 0, 0, 0, 0, 0}, {278, 1285, 4112, 0, 0, 0, 0}, {554, 8224, 5120, 0, 0, 0, 0}, {63, 771, 4420, 5376, 0, 0, 0}, {1100, 4608, 16448, 0, 0, 0, 0}, {95, 4386, 4864, 1285, 0, 0, 0}, {1060, 1542, 1092, 4096, 0, 0, 0}, {3855, 1904, 4352, 0, 0, 0, 0}, {4144, 512, 4176, 1024, 0, 0, 0}, {1800, 4369, 0, 0, 0, 0, 0}, {1032, 4626, 16448, 0, 0, 0, 0}, {95, 4403, 512, 1280, 0, 0, 0}, {520, 8224, 5140, 0, 0, 0, 0}, {63, 768, 4437, 1024, 0, 0, 0}, {5782, 2048, 13372, 21082, 0, 0, 0}, {264, 311, 768, 343, 1280, 4375, 0}, {1032, 96, 1536, 4112, 0, 0, 0}, {4454, 1792, 21845, 0, 0, 0, 0}, {4698, 12336, 1024, 0, 0, 0, 0}, {4379, 4883, 4420, 1280, 0, 0, 0}, {5180, 512, 20560, 0, 0, 0, 0}, {4381, 4386, 768, 5397, 0, 0, 0}, {5654, 17476, 0, 0, 0, 0, 0}, {95, 96, 256, 0, 0, 0, 0}, {160, 512, 5120, 0, 0, 0, 0}, {63, 771, 1028, 4369, 0, 0, 0}, {5674, 8738, 0, 0, 0, 0, 0}, {259, 4176, 5376, 0, 0, 0, 0}, {520, 4128, 4160, 1028, 0, 0, 0}, {1807, 13056, 4437, 0, 0, 0, 0}, {1036, 5734, 16384, 0, 0, 0, 0}, {1295, 5159, 1799, 1360, 0, 0, 0}, {520, 5664, 20480, 0, 0, 0, 0}, {1036, 1075, 771, 5461, 0, 0, 0}, {5802, 2048, 13312, 17408, 0, 0, 0}, {267, 308, 771, 340, 1028, 4112, 0}, {1036, 96, 512, 4096, 0, 0, 0}, {4386, 1799, 21845, 0, 0, 0, 0}, {4642, 1028, 0, 0, 0, 0, 0}, {1295, 512, 1360, 4352, 0, 0, 0}, {3072, 4656, 1088, 0, 0, 0, 0}, {1290, 546, 1365, 4369, 0, 0, 0}, {5144, 4144, 4626, 4176, 0, 0, 0}, {5708, 4403, 21760, 0, 0, 0, 0}, {5692, 17476, 0, 0, 0, 0, 0}, {4128, 768, 277, 0, 0, 0, 0}, {5180, 5654, 20560, 0, 0, 0, 0}, {4424, 4471, 768, 5376, 0, 0, 0}, {1096, 5680, 16384, 0, 0, 0, 0}, {1290, 5171, 4883, 1365, 0, 0, 0}, {1546, 1056, 1088, 4112, 0, 0, 0}, {3840, 5683, 4420, 0, 0, 0, 0}, {5820, 7740, 8704, 21104, 0, 0, 0}, {285, 290, 768, 322, 1047, 4096, 0}, {546, 5140, 0, 0, 0, 0, 0}, {63, 768, 1088, 4352, 0, 0, 0}, {192, 4608, 1024, 0, 0, 0, 0}, {95, 514, 1285, 4369, 0, 0, 0}, {1032, 4128, 514, 4160, 0, 0, 0}, {1807, 4403, 21760, 0, 0, 0, 0}, {5708, 17476, 0, 0, 0, 0, 0}, {4144, 4864, 261, 0, 0, 0, 0}, {522, 5734, 20480, 0, 0, 0, 0}, {1032, 1079, 1799, 5440, 0, 0, 0}, {1032, 5696, 16448, 0, 0, 0, 0}, {95, 4454, 597, 1285, 0, 0, 0}, {522, 96, 1024, 4096, 0, 0, 0}, {1799, 4420, 0, 0, 0, 0, 0}, {5836, 2048, 8704, 20992, 0, 0, 0}, {269, 306, 514, 338, 1285, 4112, 0}, {514, 5188, 0, 0, 0, 0, 0}, {783, 816, 1024, 4352, 0, 0, 0}, {2560, 544, 5200, 0, 0, 0, 0}, {780, 819, 1092, 4369, 0, 0, 0}, {5722, 8738, 0, 0, 0, 0, 0}, {275, 4160, 1280, 0, 0, 0, 0}, {4632, 4144, 4176, 5140, 0, 0, 0}, {5674, 13056, 4437, 0, 0, 0, 0}, {1100, 5654, 16448, 0, 0, 0, 0}, {95, 4471, 4864, 1280, 0, 0, 0}, {5240, 5712, 20560, 0, 0, 0, 0}, {4441, 4454, 4693, 5397, 0, 0, 0}, {5850, 7770, 13424, 17408, 0, 0, 0}, {283, 292, 535, 324, 1280, 4096, 0}, {1100, 96, 576, 4112, 0, 0, 0}, {4386, 5717, 21845, 0, 0, 0, 0}, {4626, 1092, 0, 0, 0, 0, 0}, {95, 544, 1280, 4352, 0, 0, 0}, {4128, 4608, 4160, 5120, 0, 0, 0}, {1912, 4369, 0, 0, 0, 0, 0}, {1096, 4642, 16384, 0, 0, 0, 0}, {1295, 4403, 4883, 1360, 0, 0, 0}, {552, 8192, 5188, 0, 0, 0, 0}, {783, 816, 4437, 5397, 0, 0, 0}, {5862, 7782, 13388, 21034, 0, 0, 0}, {280, 295, 535, 327, 1047, 4375, 0}, {1096, 96, 1536, 4096, 0, 0, 0}, {4454, 5654, 21845, 0, 0, 0, 0}, {5674, 12288, 1088, 0, 0, 0, 0}, {4379, 4915, 4420, 5140, 0, 0, 0}, {5708, 544, 20480, 0, 0, 0, 0}, {4381, 4386, 4626, 5461, 0, 0, 0}, {5734, 17476, 0, 0, 0, 0, 0}, {1295, 1536, 272, 0, 0, 0, 0}, {5872, 2048, 8704, 17408, 0, 0, 0}, {270, 305, 514, 337, 1028, 4369, 0}, {5240, 514, 20560, 0, 0, 0, 0}, {4364, 4403, 4608, 5376, 0, 0, 0}, {4728, 12336, 1028, 0, 0, 0, 0}, {4362, 4864, 4437, 5120, 0, 0, 0}, {1036, 4144, 1542, 4176, 0, 0, 0}, {1800, 4471, 21760, 0, 0, 0, 0}, {2056, 5744, 0, 0, 0, 0, 0}, {262, 1365, 4096, 0, 0, 0, 0}, {522, 8192, 5200, 0, 0, 0, 0}, {780, 819, 4420, 1028, 0, 0, 0}, {1036, 4656, 16384, 0, 0, 0, 0}, {1290, 4386, 514, 1365, 0, 0, 0}, {96, 514, 1028, 4112, 0, 0, 0}, {255, 1792, 4352, 0, 0, 0, 0}, {24320, 24576, 0, 0, 0, 0, 0}, {22, 68, 257, 0, 0, 0, 0}, {8, 34, 514, 5376, 0, 0, 0}, {60, 771, 20480, 0, 0, 0, 0}, {8, 4864, 68, 1028, 0, 0, 0}, {90, 12288, 1285, 0, 0, 0, 0}, {102, 1542, 21760, 0, 0, 0, 0}, {8, 112, 1799, 4096, 0, 0, 0}, {8, 5888, 16384, 0, 0, 0, 0}, {90, 102, 771, 1285, 0, 0, 0}, {170, 2570, 13578, 21760, 0, 0, 0}, {8, 52, 771, 68, 1028, 4100, 0}, {204, 3084, 13056, 21260, 0, 0, 0}, {8, 34, 514, 82, 1285, 4098, 0}, {8, 34, 514, 68, 1028, 4352, 0}, {240, 3855, 12288, 20480, 0, 0, 0}, {3840, 112, 4112, 0, 0, 0, 0}, {34, 1536, 68, 4369, 0, 0, 0}, {90, 34, 4626, 1280, 0, 0, 0}, {76, 4883, 16384, 0, 0, 0, 0}, {60, 768, 68, 5140, 0, 0, 0}, {42, 8192, 5397, 0, 0, 0, 0}, {22, 1280, 4096, 0, 0, 0, 0}, {136, 5911, 0, 0, 0, 0, 0}, {5912, 5984, 20560, 0, 0, 0, 0}, {5401, 5427, 1536, 5461, 0, 0, 0}, {4122, 4144, 4160, 1280, 0, 0, 0}, {5915, 13107, 68, 0, 0, 0, 0}, {4124, 4128, 768, 4176, 0, 0, 0}, {5917, 34, 21845, 0, 0, 0, 0}, {30, 34, 768, 68, 1280, 4352, 0}, {128, 7967, 8224, 16448, 0, 0, 0}, {128, 7968, 8224, 16384, 0, 0, 0}, {30, 34, 771, 68, 1297, 4369, 0}, {34, 5888, 21760, 0, 0, 0, 0}, {76, 112, 771, 4112, 0, 0, 0}, {3084, 5924, 68, 0, 0, 0, 0}, {1295, 1317, 1365, 4096, 0, 0, 0}, {5388, 5414, 4864, 5440, 0, 0, 0}, {5983, 5927, 20560, 0, 0, 0, 0}, {5928, 30464, 0, 0, 0, 0, 0}, {22, 4160, 5397, 0, 0, 0, 0}, {42, 8192, 5376, 0, 0, 0, 0}, {60, 771, 68, 5140, 0, 0, 0}, {76, 4896, 16448, 0, 0, 0, 0}, {1295, 34, 4608, 1365, 0, 0, 0}, {1548, 34, 68, 4352, 0, 0, 0}, {3855, 4128, 4176, 0, 0, 0, 0}, {240, 3840, 12336, 20480, 0, 0, 0}, {8, 34, 514, 68, 1024, 4369, 0}, {8, 34, 514, 82, 1282, 4112, 0}, {204, 3072, 13107, 21299, 0, 0, 0}, {8, 52, 768, 68, 1024, 4096, 0}, {170, 2570, 13621, 21845, 0, 0, 0}, {1290, 1334, 768, 1360, 0, 0, 0}, {8, 5943, 16448, 0, 0, 0, 0}, {8, 4144, 1792, 4160, 0, 0, 0}, {1546, 102, 21845, 0, 0, 0, 0}, {1290, 12336, 1360, 0, 0, 0, 0}, {8, 4915, 68, 1024, 0, 0, 0}, {60, 768, 20480, 0, 0, 0, 0}, {8, 34, 514, 5397, 0, 0, 0}, {258, 276, 4352, 0, 0, 0, 0}, {24768, 16191, 0, 0, 0, 0, 0}, {128, 8000, 8192, 16448, 0, 0, 0}, {30, 34, 785, 68, 1285, 4369, 0}, {34, 5954, 21760, 0, 0, 0, 0}, {76, 112, 835, 4096, 0, 0, 0}, {5888, 68, 0, 0, 0, 0, 0}, {90, 112, 1285, 4112, 0, 0, 0}, {76, 102, 4934, 5376, 0, 0, 0}, {120, 5959, 20480, 0, 0, 0, 0}, {5960, 30464, 0, 0, 0, 0, 0}, {22, 4176, 1285, 0, 0, 0, 0}, {42, 8224, 5440, 0, 0, 0, 0}, {783, 819, 68, 5120, 0, 0, 0}, {76, 4864, 16384, 0, 0, 0, 0}, {90, 34, 4626, 1285, 0, 0, 0}, {1546, 34, 68, 4352, 0, 0, 0}, {3855, 4144, 4160, 0, 0, 0, 0}, {240, 3840, 12288, 20560, 0, 0, 0}, {8, 34, 512, 68, 1028, 4369, 0}, {8, 34, 512, 82, 1280, 4096, 0}, {204, 3084, 13107, 21331, 0, 0, 0}, {8, 52, 772, 68, 1028, 4112, 0}, {170, 2560, 13653, 21845, 0, 0, 0}, {90, 102, 854, 1280, 0, 0, 0}, {8, 5975, 16384, 0, 0, 0, 0}, {8, 4128, 1792, 4176, 0, 0, 0}, {1548, 102, 21845, 0, 0, 0, 0}, {90, 12288, 1280, 0, 0, 0, 0}, {8, 4883, 68, 1028, 0, 0, 0}, {780, 816, 20560, 0, 0, 0, 0}, {8, 34, 512, 5461, 0, 0, 0}, {274, 260, 4352, 0, 0, 0, 0}, {24736, 24415, 0, 0, 0, 0, 0}, {24480, 24672, 0, 0, 0, 0, 0}, {263, 1024, 273, 0, 0, 0, 0}, {8, 34, 512, 5440, 0, 0, 0}, {783, 819, 20560, 0, 0, 0, 0}, {8, 4896, 68, 1024, 0, 0, 0}, {1295, 12336, 1365, 0, 0, 0, 0}, {102, 1536, 21760, 0, 0, 0, 0}, {8, 112, 1799, 4112, 0, 0, 0}, {8, 5984, 16448, 0, 0, 0, 0}, {1295, 1331, 1536, 1365, 0, 0, 0}, {170, 2560, 13674, 21760, 0, 0, 0}, {8, 52, 775, 68, 1024, 4116, 0}, {204, 3072, 13056, 21356, 0, 0, 0}, {8, 34, 512, 82, 1287, 4114, 0}, {8, 34, 512, 68, 1024, 4352, 0}, {240, 3855, 12336, 20560, 0, 0, 0}, {3840, 112, 4096, 0, 0, 0, 0}, {34, 1542, 68, 4369, 0, 0, 0}, {1290, 34, 4608, 1360, 0, 0, 0}, {76, 4915, 16448, 0, 0, 0, 0}, {780, 816, 68, 5120, 0, 0, 0}, {42, 8224, 5461, 0, 0, 0, 0}, {22, 1360, 4112, 0, 0, 0, 0}, {18432, 6007, 0, 0, 0, 0, 0}, {120, 5888, 20480, 0, 0, 0, 0}, {76, 102, 4883, 5397, 0, 0, 0}, {4106, 4128, 4176, 5376, 0, 0, 0}, {5951, 13107, 68, 0, 0, 0, 0}, {4108, 4144, 4864, 4160, 0, 0, 0}, {5983, 34, 21845, 0, 0, 0, 0}, {30, 34, 786, 68, 1300, 4352, 0}, {128, 8063, 8192, 16384, 0, 0, 0}, {128, 7936, 8192, 16384, 0, 0, 0}, {30, 34, 771, 68, 1285, 4369, 0}, {5898, 34, 21760, 0, 0, 0, 0}, {4108, 4144, 771, 4160, 0, 0, 0}, {5900, 13056, 68, 0, 0, 0, 0}, {4106, 4128, 4176, 1285, 0, 0, 0}, {5388, 5414, 1542, 5440, 0, 0, 0}, {5903, 6007, 20480, 0, 0, 0, 0}, {136, 5888, 0, 0, 0, 0, 0}, {22, 1285, 4112, 0, 0, 0, 0}, {42, 8224, 5376, 0, 0, 0, 0}, {60, 771, 68, 5120, 0, 0, 0}, {76, 4864, 16448, 0, 0, 0, 0}, {90, 34, 4608, 1285, 0, 0, 0}, {34, 1542, 68, 4352, 0, 0, 0}, {3855, 112, 4096, 0, 0, 0, 0}, {240, 3840, 12336, 20560, 0, 0, 0}, {8, 34, 512, 68, 1024, 4369, 0}, {8, 34, 512, 82, 1280, 4114, 0}, {204, 3072, 13107, 21343, 0, 0, 0}, {8, 52, 768, 68, 1024, 4116, 0}, {170, 2560, 13631, 21845, 0, 0, 0}, {90, 102, 768, 1280, 0, 0, 0}, {8, 5911, 16448, 0, 0, 0, 0}, {8, 112, 1792, 4112, 0, 0, 0}, {102, 1536, 21845, 0, 0, 0, 0}, {90, 12336, 1280, 0, 0, 0, 0}, {8, 4883, 68, 1024, 0, 0, 0}, {60, 768, 20560, 0, 0, 0, 0}, {8, 34, 512, 5397, 0, 0, 0}, {22, 68, 256, 0, 0, 0, 0}, {24415, 24672, 0, 0, 0, 0, 0}, {24736, 16128, 0, 0, 0, 0, 0}, {259, 277, 4369, 0, 0, 0, 0}, {8, 34, 512, 5376, 0, 0, 0}, {60, 771, 20560, 0, 0, 0, 0}, {8, 4896, 68, 1028, 0, 0, 0}, {1295, 12288, 1365, 0, 0, 0, 0}, {1548, 102, 21760, 0, 0, 0, 0}, {8, 4128, 1799, 4176, 0, 0, 0}, {8, 5920, 16384, 0, 0, 0, 0}, {1295, 1331, 771, 1365, 0, 0, 0}, {170, 2560, 13568, 21760, 0, 0, 0}, {8, 52, 771, 68, 1028, 4112, 0}, {204, 3084, 13056, 21344, 0, 0, 0}, {8, 34, 512, 82, 1287, 4096, 0}, {8, 34, 512, 68, 1028, 4352, 0}, {240, 3855, 12288, 20560, 0, 0, 0}, {3840, 4144, 4160, 0, 0, 0, 0}, {1546, 34, 68, 4369, 0, 0, 0}, {1290, 34, 4626, 1360, 0, 0, 0}, {76, 4915, 16384, 0, 0, 0, 0}, {60, 768, 68, 5120, 0, 0, 0}, {42, 8224, 5397, 0, 0, 0, 0}, {22, 4176, 5376, 0, 0, 0, 0}, {5951, 30583, 0, 0, 0, 0, 0}, {5960, 5936, 20480, 0, 0, 0, 0}, {5401, 5427, 4883, 5461, 0, 0, 0}, {1290, 1312, 1360, 4112, 0, 0, 0}, {3072, 5939, 68, 0, 0, 0, 0}, {76, 112, 768, 4096, 0, 0, 0}, {34, 5911, 21845, 0, 0, 0, 0}, {30, 34, 768, 68, 1300, 4352, 0}, {128, 7999, 8192, 16448, 0, 0, 0}, {24768, 24320, 0, 0, 0, 0, 0}, {275, 261, 4369, 0, 0, 0, 0}, {8, 34, 514, 5440, 0, 0, 0}, {783, 819, 20480, 0, 0, 0, 0}, {8, 4864, 68, 1024, 0, 0, 0}, {90, 12336, 1285, 0, 0, 0, 0}, {1546, 102, 21760, 0, 0, 0, 0}, {8, 4144, 1799, 4160, 0, 0, 0}, {8, 5952, 16448, 0, 0, 0, 0}, {90, 102, 853, 1285, 0, 0, 0}, {170, 2570, 13664, 21760, 0, 0, 0}, {8, 52, 775, 68, 1024, 4096, 0}, {204, 3072, 13056, 21248, 0, 0, 0}, {8, 34, 514, 82, 1285, 4112, 0}, {8, 34, 514, 68, 1024, 4352, 0}, {240, 3855, 12336, 20480, 0, 0, 0}, {3840, 4128, 4176, 0, 0, 0, 0}, {1548, 34, 68, 4369, 0, 0, 0}, {90, 34, 4608, 1280, 0, 0, 0}, {76, 4883, 16448, 0, 0, 0, 0}, {780, 816, 68, 5140, 0, 0, 0}, {42, 8192, 5461, 0, 0, 0, 0}, {22, 4160, 1280, 0, 0, 0, 0}, {5983, 30583, 0, 0, 0, 0, 0}, {120, 5968, 20560, 0, 0, 0, 0}, {76, 102, 4949, 5397, 0, 0, 0}, {90, 112, 1280, 4096, 0, 0, 0}, {5911, 68, 0, 0, 0, 0, 0}, {76, 112, 832, 4112, 0, 0, 0}, {34, 5973, 21845, 0, 0, 0, 0}, {30, 34, 786, 68, 1280, 4352, 0}, {128, 8031, 8224, 16384, 0, 0, 0}, {128, 8032, 8224, 16448, 0, 0, 0}, {30, 34, 785, 68, 1297, 4369, 0}, {5960, 34, 21760, 0, 0, 0, 0}, {4124, 4128, 4883, 4176, 0, 0, 0}, {5928, 13056, 68, 0, 0, 0, 0}, {4122, 4144, 4160, 5397, 0, 0, 0}, {76, 102, 4864, 5376, 0, 0, 0}, {120, 5911, 20560, 0, 0, 0, 0}, {18504, 5984, 0, 0, 0, 0, 0}, {22, 1365, 4096, 0, 0, 0, 0}, {42, 8192, 5440, 0, 0, 0, 0}, {783, 819, 68, 5140, 0, 0, 0}, {76, 4896, 16384, 0, 0, 0, 0}, {1295, 34, 4626, 1365, 0, 0, 0}, {34, 1536, 68, 4352, 0, 0, 0}, {3855, 112, 4112, 0, 0, 0, 0}, {240, 3840, 12288, 20480, 0, 0, 0}, {8, 34, 514, 68, 1028, 4369, 0}, {8, 34, 514, 82, 1282, 4098, 0}, {204, 3084, 13107, 21311, 0, 0, 0}, {8, 52, 772, 68, 1028, 4100, 0}, {170, 2570, 13663, 21845, 0, 0, 0}, {1290, 1334, 1542, 1360, 0, 0, 0}, {8, 6007, 16384, 0, 0, 0, 0}, {8, 112, 1792, 4096, 0, 0, 0}, {102, 1542, 21845, 0, 0, 0, 0}, {1290, 12288, 1360, 0, 0, 0, 0}, {8, 4915, 68, 1028, 0, 0, 0}, {780, 816, 20480, 0, 0, 0, 0}, {8, 34, 514, 5461, 0, 0, 0}, {262, 1028, 272, 0, 0, 0, 0}, {24575, 24576, 0, 0, 0, 0, 0}, {40960, 0, 0, 0, 0, 0, 0}, {3, 4, 17, 257, 0, 0, 0}, {8, 34, 514, 0, 0, 0, 0}, {3, 20480, 0, 0, 0, 0, 0}, {8192, 4, 0, 0, 0, 0, 0}, {15, 85, 1285, 0, 0, 0, 0}, {12, 102, 1542, 0, 0, 0, 0}, {7, 20480, 0, 0, 0, 0, 0}, {8, 8192, 0, 0, 0, 0, 0}, {3, 85, 1285, 0, 0, 0, 0}, {170, 2570, 0, 0, 0, 0, 0}, {3, 4, 4096, 0, 0, 0, 0}, {12, 24576, 0, 0, 0, 0, 0}, {7, 85, 1285, 0, 0, 0, 0}, {34, 514, 4, 0, 0, 0, 0}, {15, 20480, 0, 0, 0, 0, 0}, {48, 64, 4112, 0, 0, 0, 0}, {2560, 17, 0, 0, 0, 0, 0}, {18, 20480, 0, 0, 0, 0, 0}, {76, 51, 4883, 0, 0, 0, 0}, {60, 68, 5140, 0, 0, 0, 0}, {8192, 21, 0, 0, 0, 0, 0}, {22, 20480, 0, 0, 0, 0, 0}, {72, 119, 5911, 0, 0, 0, 0}, {72, 48, 20560, 0, 0, 0, 0}, {25, 51, 4864, 85, 0, 0, 0}, {26, 48, 64, 4096, 0, 0, 0}, {6939, 51, 68, 0, 0, 0, 0}, {76, 112, 20560, 0, 0, 0, 0}, {29, 34, 5888, 85, 0, 0, 0}, {30, 34, 68, 5120, 0, 0, 0}, {63, 8224, 64, 0, 0, 0, 0}, {128, 8224, 0, 0, 0, 0, 0}, {3, 1280, 17, 0, 0, 0, 0}, {2560, 34, 0, 0, 0, 0, 0}, {3, 64, 4112, 0, 0, 0, 0}, {12, 9252, 68, 0, 0, 0, 0}, {15, 37, 85, 1280, 0, 0, 0}, {12, 38, 1536, 64, 0, 0, 0}, {15, 119, 20560, 0, 0, 0, 0}, {136, 10280, 0, 0, 0, 0, 0}, {3, 21, 4096, 0, 0, 0, 0}, {42, 8192, 0, 0, 0, 0, 0}, {3, 68, 5140, 0, 0, 0, 0}, {12, 8224, 64, 0, 0, 0, 0}, {15, 34, 85, 1280, 0, 0, 0}, {12, 34, 1536, 68, 0, 0, 0}, {15, 112, 20560, 0, 0, 0, 0}, {48, 20480, 0, 0, 0, 0, 0}, {8, 514, 17, 0, 0, 0, 0}, {18, 64, 4112, 0, 0, 0, 0}, {24320, 51, 0, 0, 0, 0, 0}, {8, 52, 68, 5120, 0, 0, 0}, {63, 13621, 85, 0, 0, 0, 0}, {90, 102, 20560, 0, 0, 0, 0}, {8, 55, 5888, 64, 0, 0, 0}, {8, 48, 64, 4096, 0, 0, 0}, {2570, 51, 85, 0, 0, 0, 0}, {90, 48, 20560, 0, 0, 0, 0}, {8, 51, 4864, 68, 0, 0, 0}, {60, 20480, 0, 0, 0, 0, 0}, {34, 514, 21, 0, 0, 0, 0}, {22, 68, 5140, 0, 0, 0, 0}, {63, 24576, 0, 0, 0, 0, 0}, {8192, 64, 0, 0, 0, 0, 0}, {15, 1285, 17, 0, 0, 0, 0}, {72, 34, 16962, 0, 0, 0, 0}, {15, 51, 4864, 67, 0, 0, 0}, {10240, 68, 0, 0, 0, 0, 0}, {48, 21, 4112, 0, 0, 0, 0}, {76, 102, 17990, 0, 0, 0, 0}, {15, 48, 5888, 71, 0, 0, 0}, {72, 24576, 0, 0, 0, 0, 0}, {22, 85, 1285, 0, 0, 0, 0}, {42, 8224, 64, 0, 0, 0, 0}, {15, 51, 68, 5120, 0, 0, 0}, {76, 8192, 0, 0, 0, 0, 0}, {18, 85, 1285, 0, 0, 0, 0}, {2570, 34, 68, 0, 0, 0, 0}, {15, 48, 64, 4096, 0, 0, 0}, {240, 20560, 0, 0, 0, 0, 0}, {512, 4, 17, 0, 0, 0, 0}, {8, 34, 512, 82, 0, 0, 0}, {12, 51, 21331, 0, 0, 0, 0}, {48, 4, 4112, 0, 0, 0, 0}, {2560, 85, 0, 0, 0, 0, 0}, {12, 48, 1536, 86, 0, 0, 0}, {8, 119, 22359, 0, 0, 0, 0}, {8, 112, 20560, 0, 0, 0, 0}, {12, 51, 1536, 85, 0, 0, 0}, {90, 20480, 0, 0, 0, 0, 0}, {51, 4883, 4, 0, 0, 0, 0}, {12, 48, 20560, 0, 0, 0, 0}, {8, 34, 512, 85, 0, 0, 0}, {18, 4, 4096, 0, 0, 0, 0}, {255, 24415, 0, 0, 0, 0, 0}, {192, 24672, 0, 0, 0, 0, 0}, {7, 1280, 17, 0, 0, 0, 0}, {8, 34, 512, 64, 0, 0, 0}, {15, 51, 20560, 0, 0, 0, 0}, {8, 8224, 68, 0, 0, 0, 0}, {15, 48, 85, 1280, 0, 0, 0}, {2560, 102, 0, 0, 0, 0, 0}, {7, 64, 4112, 0, 0, 0, 0}, {8, 8224, 64, 0, 0, 0, 0}, {15, 51, 85, 1280, 0, 0, 0}, {106, 24576, 0, 0, 0, 0, 0}, {7, 68, 5140, 0, 0, 0, 0}, {204, 27756, 0, 0, 0, 0, 0}, {18, 21, 4096, 0, 0, 0, 0}, {8, 34, 512, 68, 0, 0, 0}, {15, 48, 20560, 0, 0, 0, 0}, {112, 20480, 0, 0, 0, 0, 0}, {12, 1542, 17, 0, 0, 0, 0}, {90, 34, 20560, 0, 0, 0, 0}, {12, 51, 4864, 64, 0, 0, 0}, {12, 48, 68, 5120, 0, 0, 0}, {42, 8224, 85, 0, 0, 0, 0}, {22, 64, 4112, 0, 0, 0, 0}, {24320, 119, 0, 0, 0, 0, 0}, {120, 20480, 0, 0, 0, 0, 0}, {51, 4883, 21, 0, 0, 0, 0}, {90, 112, 20560, 0, 0, 0, 0}, {12, 51, 5888, 68, 0, 0, 0}, {12, 48, 64, 4096, 0, 0, 0}, {2570, 34, 85, 0, 0, 0, 0}, {18, 68, 5140, 0, 0, 0, 0}, {127, 8192, 0, 0, 0, 0, 0}, {128, 8192, 0, 0, 0, 0, 0}, {3, 1285, 17, 0, 0, 0, 0}, {2570, 34, 0, 0, 0, 0, 0}, {3, 64, 4096, 0, 0, 0, 0}, {12, 9216, 68, 0, 0, 0, 0}, {15, 37, 85, 1285, 0, 0, 0}, {12, 38, 1542, 64, 0, 0, 0}, {15, 119, 20480, 0, 0, 0, 0}, {136, 10240, 0, 0, 0, 0, 0}, {3, 21, 4112, 0, 0, 0, 0}, {42, 8224, 0, 0, 0, 0, 0}, {3, 68, 5120, 0, 0, 0, 0}, {12, 8192, 64, 0, 0, 0, 0}, {15, 34, 85, 1285, 0, 0, 0}, {12, 34, 1542, 68, 0, 0, 0}, {15, 112, 20480, 0, 0, 0, 0}, {48, 20560, 0, 0, 0, 0, 0}, {8, 512, 17, 0, 0, 0, 0}, {18, 64, 4096, 0, 0, 0, 0}, {24415, 51, 0, 0, 0, 0, 0}, {8, 52, 68, 5140, 0, 0, 0}, {63, 13568, 85, 0, 0, 0, 0}, {90, 102, 20480, 0, 0, 0, 0}, {8, 55, 5911, 64, 0, 0, 0}, {8, 48, 64, 4112, 0, 0, 0}, {2560, 51, 85, 0, 0, 0, 0}, {90, 48, 20480, 0, 0, 0, 0}, {8, 51, 4883, 68, 0, 0, 0}, {60, 20560, 0, 0, 0, 0, 0}, {34, 512, 21, 0, 0, 0, 0}, {22, 68, 5120, 0, 0, 0, 0}, {63, 24672, 0, 0, 0, 0, 0}, {41120, 0, 0, 0, 0, 0, 0}, {3, 4, 17, 256, 0, 0, 0}, {8, 34, 512, 0, 0, 0, 0}, {3, 20560, 0, 0, 0, 0, 0}, {8224, 4, 0, 0, 0, 0, 0}, {15, 85, 1280, 0, 0, 0, 0}, {12, 102, 1536, 0, 0, 0, 0}, {7, 20560, 0, 0, 0, 0, 0}, {8, 8224, 0, 0, 0, 0, 0}, {3, 85, 1280, 0, 0, 0, 0}, {170, 2560, 0, 0, 0, 0, 0}, {3, 4, 4112, 0, 0, 0, 0}, {12, 24672, 0, 0, 0, 0, 0}, {7, 85, 1280, 0, 0, 0, 0}, {34, 512, 4, 0, 0, 0, 0}, {15, 20560, 0, 0, 0, 0, 0}, {48, 64, 4096, 0, 0, 0, 0}, {2570, 17, 0, 0, 0, 0, 0}, {18, 20560, 0, 0, 0, 0, 0}, {76, 51, 4864, 0, 0, 0, 0}, {60, 68, 5120, 0, 0, 0, 0}, {8224, 21, 0, 0, 0, 0, 0}, {22, 20560, 0, 0, 0, 0, 0}, {72, 119, 5888, 0, 0, 0, 0}, {72, 48, 20480, 0, 0, 0, 0}, {25, 51, 4883, 85, 0, 0, 0}, {26, 48, 64, 4112, 0, 0, 0}, {6912, 51, 68, 0, 0, 0, 0}, {76, 112, 20480, 0, 0, 0, 0}, {29, 34, 5911, 85, 0, 0, 0}, {30, 34, 68, 5140, 0, 0, 0}, {63, 8192, 64, 0, 0, 0, 0}, {192, 24576, 0, 0, 0, 0, 0}, {7, 1285, 17, 0, 0, 0, 0}, {8, 34, 514, 64, 0, 0, 0}, {15, 51, 20480, 0, 0, 0, 0}, {8, 8192, 68, 0, 0, 0, 0}, {15, 48, 85, 1285, 0, 0, 0}, {2570, 102, 0, 0, 0, 0, 0}, {7, 64, 4096, 0, 0, 0, 0}, {8, 8192, 64, 0, 0, 0, 0}, {15, 51, 85, 1285, 0, 0, 0}, {106, 24672, 0, 0, 0, 0, 0}, {7, 68, 5120, 0, 0, 0, 0}, {204, 27648, 0, 0, 0, 0, 0}, {18, 21, 4112, 0, 0, 0, 0}, {8, 34, 514, 68, 0, 0, 0}, {15, 48, 20480, 0, 0, 0, 0}, {112, 20560, 0, 0, 0, 0, 0}, {12, 1536, 17, 0, 0, 0, 0}, {90, 34, 20480, 0, 0, 0, 0}, {12, 51, 4883, 64, 0, 0, 0}, {12, 48, 68, 5140, 0, 0, 0}, {42, 8192, 85, 0, 0, 0, 0}, {22, 64, 4096, 0, 0, 0, 0}, {24415, 119, 0, 0, 0, 0, 0}, {120, 20560, 0, 0, 0, 0, 0}, {51, 4864, 21, 0, 0, 0, 0}, {90, 112, 20480, 0, 0, 0, 0}, {12, 51, 5911, 68, 0, 0, 0}, {12, 48, 64, 4112, 0, 0, 0}, {2560, 34, 85, 0, 0, 0, 0}, {18, 68, 5120, 0, 0, 0, 0}, {127, 8224, 0, 0, 0, 0, 0}, {8224, 64, 0, 0, 0, 0, 0}, {15, 1280, 17, 0, 0, 0, 0}, {72, 34, 16896, 0, 0, 0, 0}, {15, 51, 4883, 67, 0, 0, 0}, {10280, 68, 0, 0, 0, 0, 0}, {48, 21, 4096, 0, 0, 0, 0}, {76, 102, 17920, 0, 0, 0, 0}, {15, 48, 5911, 71, 0, 0, 0}, {72, 24672, 0, 0, 0, 0, 0}, {22, 85, 1280, 0, 0, 0, 0}, {42, 8192, 64, 0, 0, 0, 0}, {15, 51, 68, 5140, 0, 0, 0}, {76, 8224, 0, 0, 0, 0, 0}, {18, 85, 1280, 0, 0, 0, 0}, {2560, 34, 68, 0, 0, 0, 0}, {15, 48, 64, 4112, 0, 0, 0}, {240, 20480, 0, 0, 0, 0, 0}, {514, 4, 17, 0, 0, 0, 0}, {8, 34, 514, 82, 0, 0, 0}, {12, 51, 21248, 0, 0, 0, 0}, {48, 4, 4096, 0, 0, 0, 0}, {2570, 85, 0, 0, 0, 0, 0}, {12, 48, 1542, 86, 0, 0, 0}, {8, 119, 22272, 0, 0, 0, 0}, {8, 112, 20480, 0, 0, 0, 0}, {12, 51, 1542, 85, 0, 0, 0}, {90, 20560, 0, 0, 0, 0, 0}, {51, 4864, 4, 0, 0, 0, 0}, {12, 48, 20480, 0, 0, 0, 0}, {8, 34, 514, 85, 0, 0, 0}, {18, 4, 4112, 0, 0, 0, 0}, {255, 24320, 0, 0, 0, 0, 0}, {768, 1024, 4352, 0, 0, 0, 0}, {160, 257, 0, 0, 0, 0, 0}, {258, 20480, 0, 0, 0, 0, 0}, {1036, 4403, 771, 0, 0, 0, 0}, {780, 4420, 1028, 0, 0, 0, 0}, {8192, 261, 0, 0, 0, 0, 0}, {262, 20480, 0, 0, 0, 0, 0}, {1032, 4471, 1799, 0, 0, 0, 0}, {1032, 768, 21760, 0, 0, 0, 0}, {265, 4144, 771, 1285, 0, 0, 0}, {266, 768, 1024, 4096, 0, 0, 0}, {4539, 771, 1028, 0, 0, 0, 0}, {1036, 1792, 21760, 0, 0, 0, 0}, {269, 4208, 514, 1285, 0, 0, 0}, {270, 514, 4160, 1028, 0, 0, 0}, {783, 8704, 1024, 0, 0, 0, 0}, {2560, 272, 0, 0, 0, 0, 0}, {819, 1092, 4369, 0, 0, 0, 0}, {1096, 4386, 4626, 0, 0, 0, 0}, {275, 20480, 0, 0, 0, 0, 0}, {8192, 276, 0, 0, 0, 0, 0}, {831, 4437, 5397, 0, 0, 0, 0}, {1100, 4454, 5654, 0, 0, 0, 0}, {279, 20480, 0, 0, 0, 0, 0}, {280, 4144, 4864, 1360, 0, 0, 0}, {1100, 819, 21845, 0, 0, 0, 0}, {6682, 816, 1088, 0, 0, 0, 0}, {283, 819, 1092, 4096, 0, 0, 0}, {284, 5408, 5888, 1360, 0, 0, 0}, {1096, 1911, 21845, 0, 0, 0, 0}, {828, 8738, 1092, 0, 0, 0, 0}, {287, 544, 4160, 5120, 0, 0, 0}, {288, 768, 1280, 4352, 0, 0, 0}, {1156, 771, 4369, 0, 0, 0, 0}, {4386, 768, 16384, 0, 0, 0, 0}, {1295, 291, 771, 4112, 0, 0, 0}, {780, 292, 4420, 1280, 0, 0, 0}, {783, 9509, 4437, 0, 0, 0, 0}, {780, 4454, 16448, 0, 0, 0, 0}, {1295, 295, 1536, 4176, 0, 0, 0}, {296, 768, 1280, 4096, 0, 0, 0}, {4505, 771, 5397, 0, 0, 0, 0}, {5418, 768, 17408, 0, 0, 0, 0}, {4379, 4144, 771, 5140, 0, 0, 0}, {780, 544, 4160, 1280, 0, 0, 0}, {783, 8738, 5461, 0, 0, 0, 0}, {780, 5734, 17476, 0, 0, 0, 0}, {1295, 1056, 1536, 5200, 0, 0, 0}, {2048, 816, 4352, 0, 0, 0, 0}, {305, 514, 1365, 4369, 0, 0, 0}, {1370, 306, 514, 4112, 0, 0, 0}, {4403, 4608, 16384, 0, 0, 0, 0}, {828, 13364, 4420, 0, 0, 0, 0}, {522, 309, 4437, 5120, 0, 0, 0}, {5386, 310, 5888, 4176, 0, 0, 0}, {4680, 4471, 16448, 0, 0, 0, 0}, {2056, 816, 5440, 0, 0, 0, 0}, {522, 819, 1365, 4096, 0, 0, 0}, {4362, 4144, 4864, 5200, 0, 0, 0}, {5708, 819, 17476, 0, 0, 0, 0}, {828, 8704, 5376, 0, 0, 0, 0}, {317, 514, 4160, 5397, 0, 0, 0}, {4430, 4208, 514, 5140, 0, 0, 0}, {5439, 5632, 17408, 0, 0, 0, 0}, {3840, 1088, 4352, 0, 0, 0, 0}, {546, 321, 1285, 4369, 0, 0, 0}, {1290, 4386, 4864, 322, 0, 0, 0}, {1100, 4403, 17219, 0, 0, 0, 0}, {12288, 4420, 5376, 0, 0, 0, 0}, {554, 325, 1285, 4112, 0, 0, 0}, {1290, 4128, 5888, 326, 0, 0, 0}, {1096, 4471, 18247, 0, 0, 0, 0}, {1096, 5632, 21760, 0, 0, 0, 0}, {329, 4208, 4883, 1285, 0, 0, 0}, {4362, 4896, 4160, 5120, 0, 0, 0}, {5692, 13107, 1092, 0, 0, 0, 0}, {1100, 4608, 21760, 0, 0, 0, 0}, {333, 4144, 4626, 1285, 0, 0, 0}, {1290, 546, 1092, 4096, 0, 0, 0}, {3855, 4656, 1088, 0, 0, 0, 0}, {512, 336, 1024, 4352, 0, 0, 0}, {1011, 1028, 4369, 0, 0, 0, 0}, {1032, 4386, 21074, 0, 0, 0, 0}, {1036, 4403, 512, 339, 0, 0, 0}, {520, 340, 1028, 4112, 0, 0, 0}, {12288, 4437, 1024, 0, 0, 0, 0}, {1036, 4454, 22102, 0, 0, 0, 0}, {1032, 4128, 1536, 343, 0, 0, 0}, {1032, 5408, 1536, 1360, 0, 0, 0}, {1036, 5734, 21845, 0, 0, 0, 0}, {4698, 13056, 1024, 0, 0, 0, 0}, {4379, 4883, 4160, 1028, 0, 0, 0}, {1036, 4144, 512, 1360, 0, 0, 0}, {1032, 4642, 21845, 0, 0, 0, 0}, {4590, 4626, 1028, 0, 0, 0, 0}, {351, 512, 1024, 4096, 0, 0, 0}, {352, 512, 1280, 4352, 0, 0, 0}, {1220, 1799, 4369, 0, 0, 0, 0}, {1800, 4386, 16448, 0, 0, 0, 0}, {1295, 4403, 512, 4176, 0, 0, 0}, {520, 4128, 4420, 1280, 0, 0, 0}, {1807, 12336, 4437, 0, 0, 0, 0}, {4454, 1792, 16384, 0, 0, 0, 0}, {1295, 359, 1799, 4112, 0, 0, 0}, {520, 4896, 4160, 1280, 0, 0, 0}, {1807, 13107, 5461, 0, 0, 0, 0}, {5482, 1792, 17408, 0, 0, 0, 0}, {4379, 4208, 4883, 5140, 0, 0, 0}, {364, 512, 1280, 4096, 0, 0, 0}, {4573, 4626, 5397, 0, 0, 0, 0}, {1800, 4642, 17476, 0, 0, 0, 0}, {1295, 4144, 512, 5200, 0, 0, 0}, {3072, 1904, 4352, 0, 0, 0, 0}, {1060, 1542, 1365, 4369, 0, 0, 0}, {5386, 4386, 4864, 4176, 0, 0, 0}, {5708, 4403, 16448, 0, 0, 0, 0}, {5692, 12336, 4420, 0, 0, 0, 0}, {4618, 4128, 4437, 5120, 0, 0, 0}, {1370, 374, 1542, 4112, 0, 0, 0}, {4471, 5632, 16384, 0, 0, 0, 0}, {4728, 13056, 5376, 0, 0, 0, 0}, {4409, 4883, 4160, 5397, 0, 0, 0}, {4362, 1056, 5888, 5200, 0, 0, 0}, {4680, 1911, 17476, 0, 0, 0, 0}, {3084, 4656, 5440, 0, 0, 0, 0}, {1546, 546, 1365, 4096, 0, 0, 0}, {4430, 4144, 4626, 5140, 0, 0, 0}, {5503, 4608, 17408, 0, 0, 0, 0}, {1152, 768, 4352, 0, 0, 0, 0}, {289, 771, 1285, 4369, 0, 0, 0}, {1290, 290, 768, 4096, 0, 0, 0}, {4403, 771, 16448, 0, 0, 0, 0}, {780, 9472, 4420, 0, 0, 0, 0}, {783, 293, 4437, 1285, 0, 0, 0}, {1290, 294, 1542, 4160, 0, 0, 0}, {783, 4471, 16384, 0, 0, 0, 0}, {4488, 768, 5376, 0, 0, 0, 0}, {297, 771, 1285, 4112, 0, 0, 0}, {4362, 4128, 768, 5120, 0, 0, 0}, {5439, 771, 17476, 0, 0, 0, 0}, {780, 8704, 5440, 0, 0, 0, 0}, {783, 546, 4176, 1285, 0, 0, 0}, {1290, 1060, 1542, 5188, 0, 0, 0}, {783, 5744, 17408, 0, 0, 0, 0}, {304, 512, 1360, 4352, 0, 0, 0}, {2056, 819, 4369, 0, 0, 0, 0}, {4386, 4626, 16448, 0, 0, 0, 0}, {1375, 307, 512, 4096, 0, 0, 0}, {520, 308, 4420, 5140, 0, 0, 0}, {831, 13312, 4437, 0, 0, 0, 0}, {4698, 4454, 16384, 0, 0, 0, 0}, {5407, 311, 5911, 4160, 0, 0, 0}, {520, 816, 1360, 4112, 0, 0, 0}, {2048, 819, 5461, 0, 0, 0, 0}, {5722, 816, 17408, 0, 0, 0, 0}, {4379, 4128, 4883, 5188, 0, 0, 0}, {316, 512, 4176, 5376, 0, 0, 0}, {831, 8738, 5397, 0, 0, 0, 0}, {5418, 5654, 17476, 0, 0, 0, 0}, {4447, 4192, 512, 5120, 0, 0, 0}, {160, 256, 0, 0, 0, 0, 0}, {771, 1028, 4369, 0, 0, 0, 0}, {1032, 4386, 768, 0, 0, 0, 0}, {259, 20560, 0, 0, 0, 0, 0}, {8224, 260, 0, 0, 0, 0, 0}, {783, 4437, 1024, 0, 0, 0, 0}, {1036, 4454, 1792, 0, 0, 0, 0}, {263, 20560, 0, 0, 0, 0, 0}, {264, 4128, 768, 1280, 0, 0, 0}, {1036, 771, 21845, 0, 0, 0, 0}, {4522, 768, 1024, 0, 0, 0, 0}, {267, 771, 1028, 4112, 0, 0, 0}, {268, 4192, 512, 1280, 0, 0, 0}, {1032, 1799, 21845, 0, 0, 0, 0}, {780, 8738, 1028, 0, 0, 0, 0}, {271, 512, 4176, 1024, 0, 0, 0}, {816, 1088, 4352, 0, 0, 0, 0}, {2570, 273, 0, 0, 0, 0, 0}, {274, 20560, 0, 0, 0, 0, 0}, {1100, 4403, 4608, 0, 0, 0, 0}, {828, 4420, 5376, 0, 0, 0, 0}, {8224, 277, 0, 0, 0, 0, 0}, {278, 20560, 0, 0, 0, 0, 0}, {1096, 4471, 5632, 0, 0, 0, 0}, {1096, 816, 21760, 0, 0, 0, 0}, {281, 4128, 4883, 1365, 0, 0, 0}, {282, 816, 1088, 4112, 0, 0, 0}, {6656, 819, 1092, 0, 0, 0, 0}, {1100, 1904, 21760, 0, 0, 0, 0}, {285, 5429, 5911, 1365, 0, 0, 0}, {286, 546, 4176, 5140, 0, 0, 0}, {831, 8704, 1088, 0, 0, 0, 0}, {1216, 1792, 4352, 0, 0, 0, 0}, {353, 514, 1285, 4369, 0, 0, 0}, {1290, 4386, 514, 4160, 0, 0, 0}, {1807, 4403, 16384, 0, 0, 0, 0}, {1800, 12288, 4420, 0, 0, 0, 0}, {522, 4144, 4437, 1285, 0, 0, 0}, {1290, 358, 1792, 4096, 0, 0, 0}, {4471, 1799, 16448, 0, 0, 0, 0}, {1800, 13056, 5440, 0, 0, 0, 0}, {522, 4915, 4176, 1285, 0, 0, 0}, {4362, 4192, 4864, 5120, 0, 0, 0}, {5503, 1799, 17476, 0, 0, 0, 0}, {4556, 4608, 5376, 0, 0, 0, 0}, {365, 514, 1285, 4112, 0, 0, 0}, {1290, 4128, 514, 5188, 0, 0, 0}, {1807, 4656, 17408, 0, 0, 0, 0}, {1056, 1536, 1360, 4352, 0, 0, 0}, {3084, 1911, 4369, 0, 0, 0, 0}, {5722, 4386, 16384, 0, 0, 0, 0}, {5407, 4403, 4883, 4160, 0, 0, 0}, {4632, 4144, 4420, 5140, 0, 0, 0}, {5674, 12288, 4437, 0, 0, 0, 0}, {4454, 5654, 16448, 0, 0, 0, 0}, {1375, 375, 1536, 4096, 0, 0, 0}, {4392, 4864, 4176, 5376, 0, 0, 0}, {4714, 13107, 5397, 0, 0, 0, 0}, {4698, 1904, 17408, 0, 0, 0, 0}, {4379, 1060, 5911, 5188, 0, 0, 0}, {1548, 544, 1360, 4112, 0, 0, 0}, {3072, 4642, 5461, 0, 0, 0, 0}, {5482, 4626, 17476, 0, 0, 0, 0}, {4447, 4128, 4608, 5120, 0, 0, 0}, {544, 320, 1280, 4352, 0, 0, 0}, {3855, 1092, 4369, 0, 0, 0, 0}, {1096, 4386, 17152, 0, 0, 0, 0}, {1295, 4403, 4883, 323, 0, 0, 0}, {552, 324, 1280, 4096, 0, 0, 0}, {12336, 4437, 5397, 0, 0, 0, 0}, {1100, 4454, 18176, 0, 0, 0, 0}, {1295, 4144, 5911, 327, 0, 0, 0}, {328, 4192, 4864, 1280, 0, 0, 0}, {1100, 5654, 21845, 0, 0, 0, 0}, {5674, 13056, 1088, 0, 0, 0, 0}, {4379, 4915, 4176, 5140, 0, 0, 0}, {332, 4128, 4608, 1280, 0, 0, 0}, {1096, 4626, 21845, 0, 0, 0, 0}, {3840, 4642, 1092, 0, 0, 0, 0}, {1295, 544, 1088, 4112, 0, 0, 0}, {1008, 1024, 4352, 0, 0, 0, 0}, {514, 337, 1028, 4369, 0, 0, 0}, {1032, 4386, 514, 338, 0, 0, 0}, {1036, 4403, 20992, 0, 0, 0, 0}, {12336, 4420, 1028, 0, 0, 0, 0}, {522, 341, 1024, 4096, 0, 0, 0}, {1036, 4144, 1542, 342, 0, 0, 0}, {1032, 4471, 22016, 0, 0, 0, 0}, {1032, 5744, 21760, 0, 0, 0, 0}, {1036, 5429, 1542, 1365, 0, 0, 0}, {4362, 4864, 4176, 1024, 0, 0, 0}, {4680, 13107, 1028, 0, 0, 0, 0}, {1036, 4656, 21760, 0, 0, 0, 0}, {1032, 4128, 514, 1365, 0, 0, 0}, {350, 514, 1028, 4112, 0, 0, 0}, {4607, 4608, 1024, 0, 0, 0, 0}, {2048, 8704, 0, 0, 0, 0, 0}, {3, 80, 257, 0, 0, 0, 0}, {160, 514, 0, 0, 0, 0, 0}, {3, 1024, 4352, 0, 0, 0, 0}, {12, 8772, 1028, 0, 0, 0, 0}, {15, 517, 80, 1285, 0, 0, 0}, {12, 96, 518, 1024, 0, 0, 0}, {15, 1799, 21760, 0, 0, 0, 0}, {8840, 2056, 0, 0, 0, 0, 0}, {3, 261, 4096, 0, 0, 0, 0}, {522, 8192, 0, 0, 0, 0, 0}, {3, 4420, 1028, 0, 0, 0, 0}, {12, 8704, 1024, 0, 0, 0, 0}, {15, 514, 80, 1285, 0, 0, 0}, {12, 96, 514, 1028, 0, 0, 0}, {15, 1792, 21760, 0, 0, 0, 0}, {48, 528, 80, 4112, 0, 0, 0}, {2116, 51, 4369, 0, 0, 0, 0}, {48, 4626, 16384, 0, 0, 0, 0}, {95, 51, 531, 4352, 0, 0, 0}, {60, 532, 80, 5140, 0, 0, 0}, {63, 8789, 5397, 0, 0, 0, 0}, {60, 5654, 17408, 0, 0, 0, 0}, {95, 96, 535, 5376, 0, 0, 0}, {536, 48, 80, 4096, 0, 0, 0}, {6425, 51, 4437, 0, 0, 0, 0}, {4698, 48, 16448, 0, 0, 0, 0}, {4379, 51, 4864, 4420, 0, 0, 0}, {540, 544, 80, 5120, 0, 0, 0}, {63, 8738, 5461, 0, 0, 0, 0}, {5722, 5734, 17476, 0, 0, 0, 0}, {5407, 5408, 5888, 5440, 0, 0, 0}, {2560, 544, 0, 0, 0, 0, 0}, {3, 1092, 4369, 0, 0, 0, 0}, {2184, 8738, 0, 0, 0, 0, 0}, {3, 1280, 272, 0, 0, 0, 0}, {12, 1060, 1536, 1092, 0, 0, 0}, {15, 1904, 21845, 0, 0, 0, 0}, {12, 9766, 1088, 0, 0, 0, 0}, {15, 551, 80, 1280, 0, 0, 0}, {552, 8192, 0, 0, 0, 0, 0}, {3, 4437, 5397, 0, 0, 0, 0}, {8874, 10794, 0, 0, 0, 0, 0}, {3, 276, 4096, 0, 0, 0, 0}, {12, 1056, 1536, 1088, 0, 0, 0}, {15, 1911, 21845, 0, 0, 0, 0}, {12, 8738, 1092, 0, 0, 0, 0}, {15, 544, 80, 1280, 0, 0, 0}, {48, 4608, 16384, 0, 0, 0, 0}, {95, 51, 514, 4369, 0, 0, 0}, {48, 514, 80, 4112, 0, 0, 0}, {2048, 51, 4352, 0, 0, 0, 0}, {5708, 5744, 17476, 0, 0, 0, 0}, {5386, 5429, 5888, 5461, 0, 0, 0}, {522, 566, 80, 5120, 0, 0, 0}, {63, 14135, 5440, 0, 0, 0, 0}, {4680, 48, 16448, 0, 0, 0, 0}, {4362, 51, 4864, 4437, 0, 0, 0}, {522, 48, 80, 4096, 0, 0, 0}, {2056, 51, 4420, 0, 0, 0, 0}, {60, 5632, 17408, 0, 0, 0, 0}, {95, 96, 514, 5397, 0, 0, 0}, {60, 514, 80, 5140, 0, 0, 0}, {63, 8704, 5376, 0, 0, 0, 0}, {192, 2112, 8704, 16448, 0, 0, 0}, {15, 51, 529, 80, 1285, 4369, 0}, {96, 578, 16384, 0, 0, 0, 0}, {15, 51, 1859, 4352, 0, 0, 0}, {204, 2116, 8772, 17476, 0, 0, 0}, {15, 48, 533, 80, 1285, 4112, 0}, {108, 582, 17408, 0, 0, 0, 0}, {15, 48, 4679, 5376, 0, 0, 0}, {192, 2120, 8776, 16384, 0, 0, 0}, {15, 51, 534, 80, 1285, 4357, 0}, {586, 96, 16448, 0, 0, 0, 0}, {15, 51, 5632, 4420, 0, 0, 0}, {204, 2124, 8704, 17408, 0, 0, 0}, {15, 48, 530, 80, 1285, 4096, 0}, {590, 546, 17476, 0, 0, 0, 0}, {15, 48, 4608, 5440, 0, 0, 0}, {512, 80, 0, 0, 0, 0, 0}, {12, 51, 1028, 4369, 0, 0, 0}, {240, 2056, 8738, 21074, 0, 0, 0}, {12, 51, 512, 83, 1024, 4352, 0}, {12, 48, 516, 80, 1028, 4112, 0}, {255, 2048, 8789, 21845, 0, 0, 0}, {12, 48, 4694, 1024, 0, 0, 0}, {95, 599, 21760, 0, 0, 0, 0}, {520, 8224, 80, 0, 0, 0, 0}, {12, 51, 4437, 1024, 0, 0, 0}, {240, 2048, 8794, 21082, 0, 0, 0}, {12, 51, 516, 83, 1028, 4375, 0}, {12, 48, 512, 80, 1024, 4096, 0}, {255, 2056, 8738, 21845, 0, 0, 0}, {12, 48, 4626, 1028, 0, 0, 0}, {95, 512, 21760, 0, 0, 0, 0}, {96, 512, 16384, 0, 0, 0, 0}, {15, 51, 1799, 4369, 0, 0, 0}, {192, 2056, 8738, 16448, 0, 0, 0}, {15, 51, 512, 80, 1280, 4352, 0}, {520, 612, 17476, 0, 0, 0, 0}, {15, 48, 1792, 5461, 0, 0, 0}, {204, 2048, 8806, 17408, 0, 0, 0}, {15, 48, 519, 80, 1280, 4112, 0}, {520, 96, 16448, 0, 0, 0, 0}, {15, 51, 1792, 4437, 0, 0, 0}, {192, 2048, 8810, 16384, 0, 0, 0}, {15, 51, 519, 80, 1280, 4372, 0}, {108, 512, 17408, 0, 0, 0, 0}, {15, 48, 4626, 5397, 0, 0, 0}, {204, 2056, 8738, 17476, 0, 0, 0}, {15, 48, 512, 80, 1280, 4096, 0}, {240, 2160, 8704, 21104, 0, 0, 0}, {12, 51, 529, 83, 1047, 4369, 0}, {2570, 546, 80, 0, 0, 0, 0}, {12, 51, 1088, 4352, 0, 0, 0}, {12, 48, 5632, 1092, 0, 0, 0}, {95, 629, 21845, 0, 0, 0, 0}, {12, 48, 534, 80, 1040, 4112, 0}, {255, 2167, 8823, 21760, 0, 0, 0}, {240, 2168, 8824, 21112, 0, 0, 0}, {12, 51, 533, 83, 1043, 4358, 0}, {554, 8224, 80, 0, 0, 0, 0}, {12, 51, 4420, 5376, 0, 0, 0}, {12, 48, 4608, 1088, 0, 0, 0}, {95, 546, 21845, 0, 0, 0, 0}, {12, 48, 530, 80, 1044, 4096, 0}, {255, 2175, 8704, 21760, 0, 0, 0}, {2176, 8704, 0, 0, 0, 0, 0}, {3, 1285, 273, 0, 0, 0, 0}, {2570, 546, 0, 0, 0, 0, 0}, {3, 1088, 4352, 0, 0, 0, 0}, {12, 9728, 1092, 0, 0, 0, 0}, {15, 549, 80, 1285, 0, 0, 0}, {12, 1056, 1542, 1088, 0, 0, 0}, {15, 1911, 21760, 0, 0, 0, 0}, {8840, 10752, 0, 0, 0, 0, 0}, {3, 277, 4112, 0, 0, 0, 0}, {554, 8224, 0, 0, 0, 0, 0}, {3, 4420, 5376, 0, 0, 0, 0}, {12, 8704, 1088, 0, 0, 0, 0}, {15, 546, 80, 1285, 0, 0, 0}, {12, 1060, 1542, 1092, 0, 0, 0}, {15, 1904, 21760, 0, 0, 0, 0}, {48, 512, 80, 4096, 0, 0, 0}, {2056, 51, 4369, 0, 0, 0, 0}, {48, 4626, 16448, 0, 0, 0, 0}, {95, 51, 512, 4352, 0, 0, 0}, {520, 564, 80, 5140, 0, 0, 0}, {63, 14080, 5461, 0, 0, 0, 0}, {5722, 5734, 17408, 0, 0, 0, 0}, {5407, 5408, 5911, 5440, 0, 0, 0}, {520, 48, 80, 4112, 0, 0, 0}, {2048, 51, 4437, 0, 0, 0, 0}, {4698, 48, 16384, 0, 0, 0, 0}, {4379, 51, 4883, 4420, 0, 0, 0}, {60, 512, 80, 5120, 0, 0, 0}, {63, 8738, 5397, 0, 0, 0, 0}, {60, 5654, 17476, 0, 0, 0, 0}, {95, 96, 512, 5376, 0, 0, 0}, {160, 512, 0, 0, 0, 0, 0}, {3, 1028, 4369, 0, 0, 0, 0}, {2056, 8738, 0, 0, 0, 0, 0}, {3, 80, 256, 0, 0, 0, 0}, {12, 96, 516, 1028, 0, 0, 0}, {15, 1792, 21845, 0, 0, 0, 0}, {12, 8806, 1024, 0, 0, 0, 0}, {15, 519, 80, 1280, 0, 0, 0}, {520, 8224, 0, 0, 0, 0, 0}, {3, 4437, 1024, 0, 0, 0, 0}, {8874, 2048, 0, 0, 0, 0, 0}, {3, 260, 4112, 0, 0, 0, 0}, {12, 96, 512, 1024, 0, 0, 0}, {15, 1799, 21845, 0, 0, 0, 0}, {12, 8738, 1028, 0, 0, 0, 0}, {15, 512, 80, 1280, 0, 0, 0}, {48, 4608, 16448, 0, 0, 0, 0}, {95, 51, 529, 4369, 0, 0, 0}, {48, 530, 80, 4096, 0, 0, 0}, {2124, 51, 4352, 0, 0, 0, 0}, {60, 5632, 17476, 0, 0, 0, 0}, {95, 96, 533, 5397, 0, 0, 0}, {60, 534, 80, 5120, 0, 0, 0}, {63, 8823, 5376, 0, 0, 0, 0}, {4680, 48, 16384, 0, 0, 0, 0}, {4362, 51, 4883, 4437, 0, 0, 0}, {538, 48, 80, 4112, 0, 0, 0}, {6400, 51, 4420, 0, 0, 0, 0}, {5708, 5744, 17408, 0, 0, 0, 0}, {5386, 5429, 5911, 5461, 0, 0, 0}, {542, 546, 80, 5140, 0, 0, 0}, {63, 8704, 5440, 0, 0, 0, 0}, {192, 2048, 8704, 16384, 0, 0, 0}, {15, 51, 514, 80, 1285, 4369, 0}, {96, 514, 16448, 0, 0, 0, 0}, {15, 51, 1792, 4352, 0, 0, 0}, {204, 2056, 8772, 17476, 0, 0, 0}, {15, 48, 517, 80, 1285, 4096, 0}, {522, 614, 17408, 0, 0, 0, 0}, {15, 48, 1799, 5440, 0, 0, 0}, {192, 2056, 8776, 16448, 0, 0, 0}, {15, 51, 517, 80, 1285, 4357, 0}, {522, 96, 16384, 0, 0, 0, 0}, {15, 51, 1799, 4420, 0, 0, 0}, {204, 2048, 8704, 17408, 0, 0, 0}, {15, 48, 514, 80, 1285, 4112, 0}, {108, 514, 17476, 0, 0, 0, 0}, {15, 48, 4608, 5376, 0, 0, 0}, {2560, 544, 80, 0, 0, 0, 0}, {12, 51, 1092, 4369, 0, 0, 0}, {240, 2168, 8738, 21026, 0, 0, 0}, {12, 51, 531, 83, 1043, 4352, 0}, {12, 48, 532, 80, 1044, 4096, 0}, {255, 2175, 8789, 21845, 0, 0, 0}, {12, 48, 5654, 1088, 0, 0, 0}, {95, 631, 21760, 0, 0, 0, 0}, {552, 8192, 80, 0, 0, 0, 0}, {12, 51, 4437, 5397, 0, 0, 0}, {240, 2160, 8794, 21034, 0, 0, 0}, {12, 51, 535, 83, 1047, 4375, 0}, {12, 48, 528, 80, 1040, 4112, 0}, {255, 2167, 8738, 21845, 0, 0, 0}, {12, 48, 4626, 1092, 0, 0, 0}, {95, 544, 21760, 0, 0, 0, 0}, {96, 576, 16448, 0, 0, 0, 0}, {15, 51, 1860, 4369, 0, 0, 0}, {192, 2120, 8738, 16384, 0, 0, 0}, {15, 51, 531, 80, 1280, 4352, 0}, {108, 580, 17476, 0, 0, 0, 0}, {15, 48, 4693, 5397, 0, 0, 0}, {204, 2124, 8806, 17408, 0, 0, 0}, {15, 48, 535, 80, 1280, 4096, 0}, {584, 96, 16384, 0, 0, 0, 0}, {15, 51, 5654, 4437, 0, 0, 0}, {192, 2112, 8810, 16448, 0, 0, 0}, {15, 51, 532, 80, 1280, 4372, 0}, {588, 544, 17408, 0, 0, 0, 0}, {15, 48, 4626, 5461, 0, 0, 0}, {204, 2116, 8738, 17476, 0, 0, 0}, {15, 48, 528, 80, 1280, 4112, 0}, {240, 2048, 8704, 20992, 0, 0, 0}, {12, 51, 514, 83, 1028, 4369, 0}, {514, 80, 0, 0, 0, 0, 0}, {12, 51, 1024, 4352, 0, 0, 0}, {12, 48, 4676, 1028, 0, 0, 0}, {95, 597, 21845, 0, 0, 0, 0}, {12, 48, 518, 80, 1024, 4096, 0}, {255, 2056, 8823, 21760, 0, 0, 0}, {240, 2056, 8824, 21000, 0, 0, 0}, {12, 51, 518, 83, 1024, 4358, 0}, {522, 8192, 80, 0, 0, 0, 0}, {12, 51, 4420, 1028, 0, 0, 0}, {12, 48, 4608, 1024, 0, 0, 0}, {95, 514, 21845, 0, 0, 0, 0}, {12, 48, 514, 80, 1028, 4112, 0}, {255, 2048, 8704, 21760, 0, 0, 0}, {768, 20480, 0, 0, 0, 0, 0}, {8, 34, 257, 0, 0, 0, 0}, {258, 1024, 4352, 0, 0, 0, 0}, {20720, 771, 0, 0, 0, 0, 0}, {8, 772, 4160, 1028, 0, 0, 0}, {783, 13141, 1285, 0, 0, 0, 0}, {1290, 1542, 21760, 0, 0, 0, 0}, {8, 4208, 775, 1024, 0, 0, 0}, {8, 768, 1024, 4096, 0, 0, 0}, {170, 771, 1285, 0, 0, 0, 0}, {1290, 768, 21760, 0, 0, 0, 0}, {8, 4144, 771, 1028, 0, 0, 0}, {780, 20480, 0, 0, 0, 0, 0}, {34, 514, 261, 0, 0, 0, 0}, {262, 4420, 1028, 0, 0, 0, 0}, {783, 24576, 0, 0, 0, 0, 0}, {3136, 816, 4112, 0, 0, 0, 0}, {34, 785, 1365, 4369, 0, 0, 0}, {1370, 34, 786, 4352, 0, 0, 0}, {4128, 4883, 16384, 0, 0, 0, 0}, {828, 13124, 5140, 0, 0, 0, 0}, {42, 789, 4160, 5397, 0, 0, 0}, {4186, 4208, 790, 5376, 0, 0, 0}, {5160, 5911, 17408, 0, 0, 0, 0}, {6168, 816, 5200, 0, 0, 0, 0}, {793, 819, 1365, 4096, 0, 0, 0}, {4122, 4144, 4864, 5440, 0, 0, 0}, {5983, 819, 17476, 0, 0, 0, 0}, {828, 8224, 4176, 0, 0, 0, 0}, {797, 34, 4437, 5120, 0, 0, 0}, {5150, 34, 5888, 4420, 0, 0, 0}, {4959, 4192, 16448, 0, 0, 0, 0}, {4128, 768, 16384, 0, 0, 0, 0}, {1295, 34, 771, 4369, 0, 0, 0}, {34, 768, 1280, 4352, 0, 0, 0}, {128, 771, 4112, 0, 0, 0, 0}, {780, 5984, 17476, 0, 0, 0, 0}, {1295, 1317, 1536, 5461, 0, 0, 0}, {780, 806, 4160, 1280, 0, 0, 0}, {783, 10023, 5200, 0, 0, 0, 0}, {5160, 768, 17408, 0, 0, 0, 0}, {4122, 4144, 771, 5397, 0, 0, 0}, {42, 768, 1280, 4096, 0, 0, 0}, {136, 771, 5140, 0, 0, 0, 0}, {780, 4192, 16448, 0, 0, 0, 0}, {1295, 34, 1536, 4437, 0, 0, 0}, {780, 34, 4420, 1280, 0, 0, 0}, {783, 8224, 4176, 0, 0, 0, 0}, {24320, 816, 0, 0, 0, 0, 0}, {275, 1092, 4369, 0, 0, 0, 0}, {8, 514, 272, 0, 0, 0, 0}, {819, 20480, 0, 0, 0, 0, 0}, {8, 5172, 5888, 1092, 0, 0, 0}, {1375, 1632, 21845, 0, 0, 0, 0}, {828, 13878, 1360, 0, 0, 0, 0}, {8, 823, 4160, 5120, 0, 0, 0}, {8, 4144, 4864, 1088, 0, 0, 0}, {1375, 819, 21845, 0, 0, 0, 0}, {2570, 816, 1360, 0, 0, 0, 0}, {8, 819, 1092, 4096, 0, 0, 0}, {828, 24576, 0, 0, 0, 0, 0}, {279, 4437, 5397, 0, 0, 0, 0}, {34, 514, 276, 0, 0, 0, 0}, {831, 20480, 0, 0, 0, 0, 0}, {4864, 4160, 0, 0, 0, 0, 0}, {843, 34, 1285, 4369, 0, 0, 0}, {1290, 34, 1602, 4352, 0, 0, 0}, {4208, 835, 16384, 0, 0, 0, 0}, {5888, 5188, 0, 0, 0, 0, 0}, {847, 869, 1285, 4112, 0, 0, 0}, {4106, 4128, 4934, 5376, 0, 0, 0}, {5240, 839, 17408, 0, 0, 0, 0}, {840, 13056, 5120, 0, 0, 0, 0}, {42, 4883, 4176, 1285, 0, 0, 0}, {1290, 1312, 5632, 5440, 0, 0, 0}, {843, 6007, 17476, 0, 0, 0, 0}, {844, 4096, 0, 0, 0, 0, 0}, {34, 4626, 4437, 1285, 0, 0, 0}, {1290, 34, 4608, 4420, 0, 0, 0}, {847, 4144, 16448, 0, 0, 0, 0}, {1008, 3072, 13056, 20560, 0, 0, 0}, {8, 34, 512, 337, 1028, 4369, 0}, {8, 34, 512, 338, 1024, 4352, 0}, {1011, 3084, 13107, 21331, 0, 0, 0}, {8, 884, 1028, 4112, 0, 0, 0}, {1536, 1365, 0, 0, 0, 0, 0}, {1370, 854, 21760, 0, 0, 0, 0}, {8, 4128, 4951, 1024, 0, 0, 0}, {8, 4896, 4176, 1024, 0, 0, 0}, {1548, 13107, 1365, 0, 0, 0, 0}, {1370, 1536, 21760, 0, 0, 0, 0}, {8, 4192, 4883, 1028, 0, 0, 0}, {1020, 3084, 12336, 20560, 0, 0, 0}, {8, 34, 512, 341, 1024, 4096, 0}, {8, 34, 512, 342, 1028, 4114, 0}, {1023, 3072, 12288, 21343, 0, 0, 0}, {960, 3840, 13056, 21344, 0, 0, 0}, {8, 34, 512, 323, 1287, 4369, 0}, {8, 34, 512, 320, 1280, 4352, 0}, {963, 3855, 13107, 20560, 0, 0, 0}, {8, 4128, 1792, 1092, 0, 0, 0}, {1295, 869, 21845, 0, 0, 0, 0}, {870, 1280, 0, 0, 0, 0, 0}, {8, 1799, 1088, 4112, 0, 0, 0}, {8, 5152, 1792, 1088, 0, 0, 0}, {1295, 1638, 21845, 0, 0, 0, 0}, {874, 13056, 1280, 0, 0, 0, 0}, {8, 4883, 4176, 5140, 0, 0, 0}, {972, 3840, 12288, 21356, 0, 0, 0}, {8, 34, 512, 327, 1287, 4114, 0}, {8, 34, 512, 324, 1280, 4096, 0}, {975, 3855, 12336, 20560, 0, 0, 0}, {4208, 4864, 16384, 0, 0, 0, 0}, {1375, 34, 1542, 4369, 0, 0, 0}, {1546, 34, 1360, 4352, 0, 0, 0}, {3084, 4915, 4160, 0, 0, 0, 0}, {5960, 884, 17476, 0, 0, 0, 0}, {4106, 4128, 5632, 5461, 0, 0, 0}, {42, 1542, 1360, 4112, 0, 0, 0}, {887, 5120, 0, 0, 0, 0, 0}, {5240, 5888, 17408, 0, 0, 0, 0}, {4170, 4192, 4883, 5397, 0, 0, 0}, {4874, 4896, 4176, 5376, 0, 0, 0}, {5951, 13107, 5188, 0, 0, 0, 0}, {4940, 4144, 16448, 0, 0, 0, 0}, {5130, 34, 4608, 4437, 0, 0, 0}, {34, 4626, 4420, 5140, 0, 0, 0}, {895, 4096, 0, 0, 0, 0, 0}, {128, 768, 4096, 0, 0, 0, 0}, {34, 771, 1285, 4369, 0, 0, 0}, {1290, 34, 768, 4352, 0, 0, 0}, {4144, 771, 16448, 0, 0, 0, 0}, {780, 9984, 5188, 0, 0, 0, 0}, {783, 805, 4176, 1285, 0, 0, 0}, {1290, 1312, 1542, 5440, 0, 0, 0}, {783, 6007, 17408, 0, 0, 0, 0}, {136, 768, 5120, 0, 0, 0, 0}, {42, 771, 1285, 4112, 0, 0, 0}, {4106, 4128, 768, 5376, 0, 0, 0}, {5180, 771, 17476, 0, 0, 0, 0}, {780, 8192, 4160, 0, 0, 0, 0}, {783, 34, 4437, 1285, 0, 0, 0}, {1290, 34, 1542, 4420, 0, 0, 0}, {783, 4208, 16384, 0, 0, 0, 0}, {816, 20560, 0, 0, 0, 0, 0}, {8, 512, 273, 0, 0, 0, 0}, {274, 1088, 4352, 0, 0, 0, 0}, {24415, 819, 0, 0, 0, 0, 0}, {8, 820, 4176, 5140, 0, 0, 0}, {831, 13824, 1365, 0, 0, 0, 0}, {1370, 1638, 21760, 0, 0, 0, 0}, {8, 5152, 5911, 1088, 0, 0, 0}, {8, 816, 1088, 4112, 0, 0, 0}, {2560, 819, 1365, 0, 0, 0, 0}, {1370, 816, 21760, 0, 0, 0, 0}, {8, 4128, 4883, 1092, 0, 0, 0}, {828, 20560, 0, 0, 0, 0, 0}, {34, 512, 277, 0, 0, 0, 0}, {278, 4420, 5376, 0, 0, 0, 0}, {831, 24672, 0, 0, 0, 0, 0}, {20640, 768, 0, 0, 0, 0, 0}, {259, 1028, 4369, 0, 0, 0, 0}, {8, 34, 256, 0, 0, 0, 0}, {771, 20560, 0, 0, 0, 0, 0}, {8, 4192, 772, 1028, 0, 0, 0}, {1295, 1536, 21845, 0, 0, 0, 0}, {780, 13158, 1280, 0, 0, 0, 0}, {8, 775, 4176, 1024, 0, 0, 0}, {8, 4128, 768, 1024, 0, 0, 0}, {1295, 771, 21845, 0, 0, 0, 0}, {170, 768, 1280, 0, 0, 0, 0}, {8, 771, 1028, 4112, 0, 0, 0}, {780, 24672, 0, 0, 0, 0, 0}, {263, 4437, 1024, 0, 0, 0, 0}, {34, 512, 260, 0, 0, 0, 0}, {783, 20560, 0, 0, 0, 0, 0}, {4144, 4864, 16448, 0, 0, 0, 0}, {1375, 34, 785, 4369, 0, 0, 0}, {34, 786, 1360, 4352, 0, 0, 0}, {3148, 819, 4096, 0, 0, 0, 0}, {5180, 5888, 17476, 0, 0, 0, 0}, {4170, 4192, 789, 5397, 0, 0, 0}, {42, 790, 4176, 5376, 0, 0, 0}, {831, 13175, 5120, 0, 0, 0, 0}, {5960, 816, 17408, 0, 0, 0, 0}, {4106, 4128, 4883, 5461, 0, 0, 0}, {794, 816, 1360, 4112, 0, 0, 0}, {6144, 819, 5188, 0, 0, 0, 0}, {4940, 4208, 16384, 0, 0, 0, 0}, {5130, 34, 5911, 4437, 0, 0, 0}, {798, 34, 4420, 5140, 0, 0, 0}, {831, 8192, 4160, 0, 0, 0, 0}, {960, 3840, 13056, 20480, 0, 0, 0}, {8, 34, 514, 321, 1285, 4369, 0}, {8, 34, 514, 322, 1282, 4352, 0}, {963, 3855, 13107, 21299, 0, 0, 0}, {8, 1792, 1092, 4096, 0, 0, 0}, {869, 1285, 0, 0, 0, 0, 0}, {1290, 870, 21760, 0, 0, 0, 0}, {8, 4144, 1799, 1088, 0, 0, 0}, {8, 4864, 4160, 5120, 0, 0, 0}, {873, 13107, 1285, 0, 0, 0, 0}, {1290, 1632, 21760, 0, 0, 0, 0}, {8, 5172, 1799, 1092, 0, 0, 0}, {972, 3840, 12288, 20480, 0, 0, 0}, {8, 34, 514, 325, 1285, 4112, 0}, {8, 34, 514, 326, 1282, 4098, 0}, {975, 3855, 12336, 21311, 0, 0, 0}, {3072, 4896, 4176, 0, 0, 0, 0}, {1548, 34, 1365, 4369, 0, 0, 0}, {1370, 34, 1536, 4352, 0, 0, 0}, {4192, 4883, 16448, 0, 0, 0, 0}, {884, 5140, 0, 0, 0, 0, 0}, {42, 1536, 1365, 4096, 0, 0, 0}, {4122, 4144, 5654, 5440, 0, 0, 0}, {5983, 887, 17408, 0, 0, 0, 0}, {5928, 13056, 5200, 0, 0, 0, 0}, {4889, 4915, 4160, 5397, 0, 0, 0}, {4186, 4208, 4864, 5376, 0, 0, 0}, {5228, 5911, 17476, 0, 0, 0, 0}, {892, 4112, 0, 0, 0, 0, 0}, {34, 4608, 4437, 5120, 0, 0, 0}, {5150, 34, 4626, 4420, 0, 0, 0}, {4959, 4128, 16384, 0, 0, 0, 0}, {4192, 832, 16448, 0, 0, 0, 0}, {1295, 34, 1604, 4369, 0, 0, 0}, {840, 34, 1280, 4352, 0, 0, 0}, {4883, 4176, 0, 0, 0, 0, 0}, {5228, 836, 17476, 0, 0, 0, 0}, {4122, 4144, 4949, 5397, 0, 0, 0}, {844, 870, 1280, 4096, 0, 0, 0}, {5911, 5200, 0, 0, 0, 0, 0}, {840, 5984, 17408, 0, 0, 0, 0}, {1295, 1317, 5654, 5461, 0, 0, 0}, {42, 4864, 4160, 1280, 0, 0, 0}, {843, 13107, 5140, 0, 0, 0, 0}, {844, 4128, 16384, 0, 0, 0, 0}, {1295, 34, 4626, 4437, 0, 0, 0}, {34, 4608, 4420, 1280, 0, 0, 0}, {847, 4112, 0, 0, 0, 0, 0}, {1008, 3072, 13056, 21248, 0, 0, 0}, {8, 34, 514, 339, 1028, 4369, 0}, {8, 34, 514, 336, 1024, 4352, 0}, {1011, 3084, 13107, 20480, 0, 0, 0}, {8, 4144, 4932, 1028, 0, 0, 0}, {1375, 853, 21845, 0, 0, 0, 0}, {1542, 1360, 0, 0, 0, 0, 0}, {8, 887, 1024, 4096, 0, 0, 0}, {8, 4208, 4864, 1024, 0, 0, 0}, {1375, 1542, 21845, 0, 0, 0, 0}, {1546, 13056, 1360, 0, 0, 0, 0}, {8, 4915, 4160, 1028, 0, 0, 0}, {1020, 3084, 12336, 21260, 0, 0, 0}, {8, 34, 514, 343, 1024, 4098, 0}, {8, 34, 514, 340, 1028, 4112, 0}, {1023, 3072, 12288, 20480, 0, 0, 0}, {8192, 1024, 0, 0, 0, 0, 0}, {15, 85, 257, 0, 0, 0, 0}, {1032, 514, 17442, 0, 0, 0, 0}, {15, 4144, 771, 1027, 0, 0, 0}, {8320, 1028, 0, 0, 0, 0, 0}, {768, 261, 4352, 0, 0, 0, 0}, {1036, 1542, 17510, 0, 0, 0, 0}, {15, 4208, 768, 1031, 0, 0, 0}, {1032, 24576, 0, 0, 0, 0, 0}, {262, 85, 1285, 0, 0, 0, 0}, {522, 8704, 1024, 0, 0, 0, 0}, {15, 771, 4160, 1028, 0, 0, 0}, {1036, 8192, 0, 0, 0, 0, 0}, {258, 85, 1285, 0, 0, 0, 0}, {170, 514, 1028, 0, 0, 0, 0}, {15, 768, 1024, 4096, 0, 0, 0}, {3120, 1088, 4112, 0, 0, 0, 0}, {546, 85, 1041, 4369, 0, 0, 0}, {90, 4144, 4626, 1042, 0, 0, 0}, {1100, 4883, 17459, 0, 0, 0, 0}, {12288, 4176, 5140, 0, 0, 0, 0}, {554, 85, 1045, 4352, 0, 0, 0}, {90, 4208, 4608, 1046, 0, 0, 0}, {1096, 5911, 17527, 0, 0, 0, 0}, {1096, 4192, 20560, 0, 0, 0, 0}, {1049, 4403, 5888, 85, 0, 0, 0}, {4122, 4656, 4160, 5120, 0, 0, 0}, {5928, 13107, 1092, 0, 0, 0, 0}, {1100, 4128, 20560, 0, 0, 0, 0}, {1053, 4386, 4864, 85, 0, 0, 0}, {1054, 546, 1092, 4096, 0, 0, 0}, {7967, 4896, 1088, 0, 0, 0, 0}, {1152, 3072, 8224, 17408, 0, 0, 0}, {15, 289, 771, 85, 1280, 4369, 0}, {1058, 1536, 16384, 0, 0, 0, 0}, {15, 1139, 771, 4112, 0, 0, 0}, {1156, 3084, 9252, 17476, 0, 0, 0}, {15, 293, 768, 85, 1280, 4352, 0}, {1548, 1062, 16448, 0, 0, 0, 0}, {15, 5159, 768, 4176, 0, 0, 0}, {1160, 3072, 9256, 16384, 0, 0, 0}, {15, 294, 771, 85, 1280, 4117, 0}, {1066, 1536, 17408, 0, 0, 0, 0}, {15, 4192, 771, 5140, 0, 0, 0}, {1164, 3084, 8224, 16448, 0, 0, 0}, {15, 290, 768, 85, 1280, 4096, 0}, {1548, 546, 17476, 0, 0, 0, 0}, {15, 4128, 768, 5200, 0, 0, 0}, {4144, 5120, 0, 0, 0, 0, 0}, {1083, 514, 85, 4369, 0, 0, 0}, {90, 1122, 514, 4112, 0, 0, 0}, {1075, 5888, 16384, 0, 0, 0, 0}, {2056, 1076, 5188, 0, 0, 0, 0}, {522, 1589, 85, 4352, 0, 0, 0}, {4106, 5174, 4608, 4176, 0, 0, 0}, {5960, 1079, 16448, 0, 0, 0, 0}, {1080, 12336, 4160, 0, 0, 0, 0}, {522, 4403, 85, 5376, 0, 0, 0}, {5130, 1072, 5632, 5200, 0, 0, 0}, {4940, 6007, 17476, 0, 0, 0, 0}, {1084, 4096, 0, 0, 0, 0, 0}, {4386, 514, 85, 5397, 0, 0, 0}, {90, 4128, 514, 5140, 0, 0, 0}, {1087, 4864, 17408, 0, 0, 0, 0}, {10240, 1088, 0, 0, 0, 0, 0}, {819, 276, 4369, 0, 0, 0, 0}, {1096, 1632, 16962, 0, 0, 0, 0}, {15, 5171, 5888, 1091, 0, 0, 0}, {8192, 1092, 0, 0, 0, 0, 0}, {15, 1285, 272, 0, 0, 0, 0}, {1100, 544, 17990, 0, 0, 0, 0}, {15, 4144, 4864, 1095, 0, 0, 0}, {1096, 8192, 0, 0, 0, 0, 0}, {275, 85, 1285, 0, 0, 0, 0}, {2570, 544, 1088, 0, 0, 0, 0}, {15, 819, 1092, 4096, 0, 0, 0}, {1100, 24576, 0, 0, 0, 0, 0}, {279, 85, 1285, 0, 0, 0, 0}, {552, 8738, 1092, 0, 0, 0, 0}, {15, 816, 4160, 5120, 0, 0, 0}, {12288, 4176, 1024, 0, 0, 0, 0}, {520, 85, 1028, 4369, 0, 0, 0}, {1032, 5154, 1536, 1106, 0, 0, 0}, {1036, 5984, 21331, 0, 0, 0, 0}, {240, 1028, 4112, 0, 0, 0, 0}, {512, 85, 1024, 4352, 0, 0, 0}, {1036, 4144, 512, 1110, 0, 0, 0}, {1032, 4896, 22359, 0, 0, 0, 0}, {1032, 4128, 20560, 0, 0, 0, 0}, {1036, 4403, 512, 85, 0, 0, 0}, {90, 512, 1024, 4096, 0, 0, 0}, {255, 4883, 1028, 0, 0, 0, 0}, {1036, 4192, 20560, 0, 0, 0, 0}, {1032, 4386, 1536, 85, 0, 0, 0}, {4122, 4626, 4160, 1028, 0, 0, 0}, {4959, 13056, 1024, 0, 0, 0, 0}, {1216, 2048, 9312, 17408, 0, 0, 0}, {15, 308, 519, 85, 1280, 4369, 0}, {520, 1122, 16448, 0, 0, 0, 0}, {15, 1075, 1792, 4176, 0, 0, 0}, {1220, 2056, 8224, 17476, 0, 0, 0}, {15, 304, 512, 85, 1280, 4352, 0}, {1126, 512, 16384, 0, 0, 0, 0}, {15, 1079, 1799, 4112, 0, 0, 0}, {1224, 2056, 8224, 16448, 0, 0, 0}, {15, 307, 512, 85, 1280, 4096, 0}, {1130, 512, 17408, 0, 0, 0, 0}, {15, 4128, 4883, 5140, 0, 0, 0}, {1228, 2048, 9324, 16384, 0, 0, 0}, {15, 311, 519, 85, 1280, 4117, 0}, {520, 1638, 17476, 0, 0, 0, 0}, {15, 1072, 1792, 5200, 0, 0, 0}, {4208, 5120, 0, 0, 0, 0, 0}, {1070, 1542, 85, 4369, 0, 0, 0}, {4106, 1058, 5632, 4176, 0, 0, 0}, {4940, 1139, 16448, 0, 0, 0, 0}, {3084, 4144, 5188, 0, 0, 0, 0}, {1546, 544, 85, 4352, 0, 0, 0}, {90, 1062, 1542, 4112, 0, 0, 0}, {1143, 4864, 16384, 0, 0, 0, 0}, {1144, 4096, 0, 0, 0, 0, 0}, {4403, 4883, 85, 5397, 0, 0, 0}, {5130, 4128, 4608, 5200, 0, 0, 0}, {5960, 4915, 17476, 0, 0, 0, 0}, {5180, 12336, 4160, 0, 0, 0, 0}, {4874, 4386, 85, 5376, 0, 0, 0}, {90, 4192, 4626, 5140, 0, 0, 0}, {1151, 5888, 17408, 0, 0, 0, 0}, {1152, 3072, 9216, 17408, 0, 0, 0}, {15, 292, 771, 85, 1285, 4369, 0}, {1546, 1058, 16384, 0, 0, 0, 0}, {15, 5171, 771, 4160, 0, 0, 0}, {1156, 3084, 8192, 17476, 0, 0, 0}, {15, 288, 768, 85, 1285, 4352, 0}, {1062, 1542, 16448, 0, 0, 0, 0}, {15, 1143, 768, 4096, 0, 0, 0}, {1160, 3072, 8192, 16384, 0, 0, 0}, {15, 291, 771, 85, 1285, 4112, 0}, {1546, 544, 17408, 0, 0, 0, 0}, {15, 4144, 771, 5188, 0, 0, 0}, {1164, 3084, 9228, 16448, 0, 0, 0}, {15, 295, 768, 85, 1285, 4101, 0}, {1070, 1542, 17476, 0, 0, 0, 0}, {15, 4208, 768, 5120, 0, 0, 0}, {2048, 1072, 5200, 0, 0, 0, 0}, {520, 1587, 85, 4369, 0, 0, 0}, {4122, 5154, 4626, 4160, 0, 0, 0}, {5983, 1075, 16384, 0, 0, 0, 0}, {4128, 5140, 0, 0, 0, 0, 0}, {1087, 512, 85, 4352, 0, 0, 0}, {90, 1126, 512, 4096, 0, 0, 0}, {1079, 5911, 16448, 0, 0, 0, 0}, {1080, 4112, 0, 0, 0, 0, 0}, {4403, 512, 85, 5376, 0, 0, 0}, {90, 4144, 512, 5120, 0, 0, 0}, {1083, 4883, 17476, 0, 0, 0, 0}, {1084, 12288, 4176, 0, 0, 0, 0}, {520, 4386, 85, 5397, 0, 0, 0}, {5150, 1076, 5654, 5188, 0, 0, 0}, {4959, 5984, 17408, 0, 0, 0, 0}, {8352, 1024, 0, 0, 0, 0, 0}, {771, 260, 4369, 0, 0, 0, 0}, {1032, 1536, 17442, 0, 0, 0, 0}, {15, 4192, 771, 1027, 0, 0, 0}, {8224, 1028, 0, 0, 0, 0, 0}, {15, 85, 256, 0, 0, 0, 0}, {1036, 512, 17510, 0, 0, 0, 0}, {15, 4128, 768, 1031, 0, 0, 0}, {1032, 8224, 0, 0, 0, 0, 0}, {259, 85, 1280, 0, 0, 0, 0}, {170, 512, 1024, 0, 0, 0, 0}, {15, 771, 1028, 4112, 0, 0, 0}, {1036, 24672, 0, 0, 0, 0, 0}, {263, 85, 1280, 0, 0, 0, 0}, {520, 8738, 1028, 0, 0, 0, 0}, {15, 768, 4176, 1024, 0, 0, 0}, {12336, 4160, 5120, 0, 0, 0, 0}, {552, 85, 1041, 4369, 0, 0, 0}, {90, 4192, 4626, 1042, 0, 0, 0}, {1100, 5888, 17459, 0, 0, 0, 0}, {3132, 1092, 4096, 0, 0, 0, 0}, {544, 85, 1045, 4352, 0, 0, 0}, {90, 4128, 4608, 1046, 0, 0, 0}, {1096, 4864, 17527, 0, 0, 0, 0}, {1096, 4144, 20480, 0, 0, 0, 0}, {1049, 4403, 4883, 85, 0, 0, 0}, {1050, 544, 1088, 4112, 0, 0, 0}, {7936, 4915, 1092, 0, 0, 0, 0}, {1100, 4208, 20480, 0, 0, 0, 0}, {1053, 4386, 5911, 85, 0, 0, 0}, {4106, 4642, 4176, 5140, 0, 0, 0}, {5951, 13056, 1088, 0, 0, 0, 0}, {1216, 2048, 8192, 17408, 0, 0, 0}, {15, 305, 514, 85, 1285, 4369, 0}, {1122, 514, 16448, 0, 0, 0, 0}, {15, 1075, 1792, 4096, 0, 0, 0}, {1220, 2056, 9284, 17476, 0, 0, 0}, {15, 309, 517, 85, 1285, 4352, 0}, {522, 1126, 16384, 0, 0, 0, 0}, {15, 1079, 1799, 4160, 0, 0, 0}, {1224, 2056, 9288, 16448, 0, 0, 0}, {15, 310, 517, 85, 1285, 4101, 0}, {522, 1632, 17408, 0, 0, 0, 0}, {15, 1076, 1799, 5188, 0, 0, 0}, {1228, 2048, 8192, 16384, 0, 0, 0}, {15, 306, 514, 85, 1285, 4112, 0}, {1134, 514, 17476, 0, 0, 0, 0}, {15, 4144, 4864, 5120, 0, 0, 0}, {3072, 4128, 5200, 0, 0, 0, 0}, {1548, 546, 85, 4369, 0, 0, 0}, {90, 1058, 1536, 4096, 0, 0, 0}, {1139, 4883, 16448, 0, 0, 0, 0}, {4192, 5140, 0, 0, 0, 0, 0}, {1066, 1536, 85, 4352, 0, 0, 0}, {4122, 1062, 5654, 4160, 0, 0, 0}, {4959, 1143, 16384, 0, 0, 0, 0}, {5160, 12288, 4176, 0, 0, 0, 0}, {4889, 4403, 85, 5397, 0, 0, 0}, {90, 4208, 4608, 5120, 0, 0, 0}, {1147, 5911, 17476, 0, 0, 0, 0}, {1148, 4112, 0, 0, 0, 0, 0}, {4386, 4864, 85, 5376, 0, 0, 0}, {5150, 4144, 4626, 5188, 0, 0, 0}, {5983, 4896, 17408, 0, 0, 0, 0}, {8224, 1088, 0, 0, 0, 0, 0}, {15, 1280, 273, 0, 0, 0, 0}, {1096, 546, 17920, 0, 0, 0, 0}, {15, 4128, 4883, 1091, 0, 0, 0}, {10280, 1092, 0, 0, 0, 0, 0}, {816, 277, 4352, 0, 0, 0, 0}, {1100, 1638, 16896, 0, 0, 0, 0}, {15, 5159, 5911, 1095, 0, 0, 0}, {1096, 24672, 0, 0, 0, 0, 0}, {278, 85, 1280, 0, 0, 0, 0}, {554, 8704, 1088, 0, 0, 0, 0}, {15, 819, 4176, 5140, 0, 0, 0}, {1100, 8224, 0, 0, 0, 0, 0}, {274, 85, 1280, 0, 0, 0, 0}, {2560, 546, 1092, 0, 0, 0, 0}, {15, 816, 1088, 4112, 0, 0, 0}, {240, 1024, 4096, 0, 0, 0, 0}, {514, 85, 1028, 4369, 0, 0, 0}, {1032, 4128, 514, 1106, 0, 0, 0}, {1036, 4915, 22272, 0, 0, 0, 0}, {12336, 4160, 1028, 0, 0, 0, 0}, {522, 85, 1024, 4352, 0, 0, 0}, {1036, 5174, 1542, 1110, 0, 0, 0}, {1032, 6007, 21248, 0, 0, 0, 0}, {1032, 4208, 20480, 0, 0, 0, 0}, {1036, 4403, 1542, 85, 0, 0, 0}, {4106, 4608, 4176, 1024, 0, 0, 0}, {4940, 13107, 1028, 0, 0, 0, 0}, {1036, 4144, 20480, 0, 0, 0, 0}, {1032, 4386, 514, 85, 0, 0, 0}, {90, 514, 1028, 4112, 0, 0, 0}, {255, 4864, 1024, 0, 0, 0, 0}, {3840, 21760, 0, 0, 0, 0, 0}, {32, 4, 257, 0, 0, 0, 0}, {8, 32, 514, 1282, 0, 0, 0}, {12, 771, 21811, 0, 0, 0, 0}, {768, 4, 4352, 0, 0, 0, 0}, {160, 1285, 0, 0, 0, 0, 0}, {12, 96, 768, 1286, 0, 0, 0}, {8, 1799, 21879, 0, 0, 0, 0}, {8, 1792, 21760, 0, 0, 0, 0}, {12, 96, 771, 1285, 0, 0, 0}, {1290, 20480, 0, 0, 0, 0, 0}, {4403, 771, 4, 0, 0, 0, 0}, {12, 768, 21760, 0, 0, 0, 0}, {8, 32, 514, 1285, 0, 0, 0}, {258, 4, 4096, 0, 0, 0, 0}, {22015, 3855, 0, 0, 0, 0, 0}, {32, 64, 1296, 4112, 0, 0, 0}, {3891, 68, 4369, 0, 0, 0, 0}, {72, 4626, 21794, 0, 0, 0, 0}, {76, 32, 4883, 1299, 0, 0, 0}, {40, 68, 1300, 4352, 0, 0, 0}, {12288, 64, 5397, 0, 0, 0, 0}, {76, 5654, 21862, 0, 0, 0, 0}, {72, 96, 4608, 1303, 0, 0, 0}, {1304, 1328, 5888, 1360, 0, 0, 0}, {76, 5734, 21845, 0, 0, 0, 0}, {5418, 12336, 64, 0, 0, 0, 0}, {4379, 4403, 68, 5120, 0, 0, 0}, {1308, 32, 4864, 1360, 0, 0, 0}, {72, 4642, 21845, 0, 0, 0, 0}, {7710, 4386, 68, 0, 0, 0, 0}, {1311, 32, 64, 4096, 0, 0, 0}, {32, 1280, 0, 0, 0, 0, 0}, {12, 771, 68, 4369, 0, 0, 0}, {136, 3840, 8738, 21794, 0, 0, 0}, {12, 32, 771, 64, 1283, 4112, 0}, {12, 36, 768, 68, 1280, 4352, 0}, {128, 3855, 9509, 21845, 0, 0, 0}, {12, 5414, 768, 64, 0, 0, 0}, {1295, 1319, 20560, 0, 0, 0, 0}, {40, 8704, 1280, 0, 0, 0, 0}, {12, 771, 64, 5397, 0, 0, 0}, {128, 3840, 9514, 21802, 0, 0, 0}, {12, 36, 771, 68, 1283, 4375, 0}, {12, 32, 768, 64, 1280, 4096, 0}, {136, 3855, 8738, 21845, 0, 0, 0}, {12, 4386, 768, 68, 0, 0, 0}, {1295, 32, 20560, 0, 0, 0, 0}, {192, 3888, 12336, 21760, 0, 0, 0}, {8, 32, 514, 68, 1297, 4369, 0}, {8, 32, 514, 64, 1298, 4112, 0}, {204, 3891, 13107, 21811, 0, 0, 0}, {8, 1844, 68, 4352, 0, 0, 0}, {2570, 1333, 1365, 0, 0, 0, 0}, {1370, 1334, 20560, 0, 0, 0, 0}, {8, 5431, 4608, 64, 0, 0, 0}, {8, 4656, 64, 5376, 0, 0, 0}, {1337, 13107, 1365, 0, 0, 0, 0}, {1370, 96, 20560, 0, 0, 0, 0}, {8, 4403, 5632, 68, 0, 0, 0}, {204, 3900, 13056, 21760, 0, 0, 0}, {8, 32, 514, 64, 1301, 4096, 0}, {8, 32, 514, 68, 1302, 4354, 0}, {192, 3903, 12288, 21823, 0, 0, 0}, {12288, 64, 5376, 0, 0, 0, 0}, {40, 68, 1285, 4369, 0, 0, 0}, {1290, 1314, 5888, 1346, 0, 0, 0}, {76, 5744, 17219, 0, 0, 0, 0}, {3840, 68, 4352, 0, 0, 0, 0}, {32, 64, 1285, 4112, 0, 0, 0}, {1290, 32, 4864, 1350, 0, 0, 0}, {72, 4656, 18247, 0, 0, 0, 0}, {72, 4608, 21760, 0, 0, 0, 0}, {76, 32, 4883, 1285, 0, 0, 0}, {1290, 32, 64, 4096, 0, 0, 0}, {3855, 4403, 68, 0, 0, 0, 0}, {76, 5632, 21760, 0, 0, 0, 0}, {72, 96, 4626, 1285, 0, 0, 0}, {4362, 4386, 68, 5120, 0, 0, 0}, {5439, 12336, 64, 0, 0, 0, 0}, {2560, 1360, 0, 0, 0, 0, 0}, {819, 4, 4369, 0, 0, 0, 0}, {8, 1904, 21074, 0, 0, 0, 0}, {12, 1331, 1536, 1363, 0, 0, 0}, {512, 4, 272, 0, 0, 0, 0}, {4095, 21845, 0, 0, 0, 0, 0}, {12, 816, 22102, 0, 0, 0, 0}, {8, 32, 512, 1367, 0, 0, 0}, {8, 32, 512, 1360, 0, 0, 0}, {12, 819, 21845, 0, 0, 0, 0}, {21930, 23130, 0, 0, 0, 0, 0}, {275, 4, 4096, 0, 0, 0, 0}, {12, 1328, 1536, 1360, 0, 0, 0}, {8, 1911, 21845, 0, 0, 0, 0}, {4386, 4626, 4, 0, 0, 0, 0}, {1375, 20480, 0, 0, 0, 0, 0}, {96, 1280, 0, 0, 0, 0, 0}, {8, 1799, 68, 4369, 0, 0, 0}, {8, 5410, 1792, 64, 0, 0, 0}, {1295, 1379, 20560, 0, 0, 0, 0}, {8, 32, 512, 68, 1280, 4352, 0}, {192, 3855, 12336, 21845, 0, 0, 0}, {204, 3840, 13056, 21862, 0, 0, 0}, {8, 32, 512, 64, 1287, 4112, 0}, {8, 32, 512, 64, 1280, 4096, 0}, {204, 3855, 13107, 21845, 0, 0, 0}, {192, 3840, 12288, 21866, 0, 0, 0}, {8, 32, 512, 68, 1287, 4371, 0}, {108, 13056, 1280, 0, 0, 0, 0}, {8, 4626, 64, 5397, 0, 0, 0}, {8, 4386, 1792, 68, 0, 0, 0}, {1295, 96, 20560, 0, 0, 0, 0}, {128, 3952, 9584, 21760, 0, 0, 0}, {12, 36, 791, 68, 1297, 4369, 0}, {1370, 1394, 20560, 0, 0, 0, 0}, {12, 5427, 5632, 64, 0, 0, 0}, {12, 816, 68, 4352, 0, 0, 0}, {2570, 32, 1365, 0, 0, 0, 0}, {12, 32, 784, 64, 1302, 4112, 0}, {136, 3959, 8704, 21879, 0, 0, 0}, {136, 3960, 8704, 21760, 0, 0, 0}, {12, 32, 787, 64, 1301, 4096, 0}, {1370, 32, 20560, 0, 0, 0, 0}, {12, 4403, 4608, 68, 0, 0, 0}, {12, 816, 64, 5376, 0, 0, 0}, {40, 8738, 1365, 0, 0, 0, 0}, {12, 36, 788, 68, 1298, 4358, 0}, {128, 3967, 9599, 21887, 0, 0, 0}, {128, 3840, 9472, 21760, 0, 0, 0}, {12, 36, 771, 68, 1285, 4369, 0}, {1290, 1314, 20480, 0, 0, 0, 0}, {12, 5427, 771, 64, 0, 0, 0}, {12, 768, 68, 4352, 0, 0, 0}, {32, 1285, 0, 0, 0, 0, 0}, {12, 32, 768, 64, 1286, 4096, 0}, {136, 3855, 8704, 21879, 0, 0, 0}, {136, 3840, 8704, 21760, 0, 0, 0}, {12, 32, 771, 64, 1285, 4112, 0}, {1290, 32, 20480, 0, 0, 0, 0}, {12, 4403, 771, 68, 0, 0, 0}, {12, 768, 64, 5376, 0, 0, 0}, {40, 8738, 1285, 0, 0, 0, 0}, {12, 36, 768, 68, 1286, 4358, 0}, {128, 3855, 9487, 21887, 0, 0, 0}, {2560, 1328, 1360, 0, 0, 0, 0}, {8, 1843, 68, 4369, 0, 0, 0}, {8, 5410, 4626, 64, 0, 0, 0}, {1375, 1331, 20480, 0, 0, 0, 0}, {8, 32, 512, 68, 1300, 4352, 0}, {192, 3903, 12288, 21845, 0, 0, 0}, {204, 3900, 13056, 21862, 0, 0, 0}, {8, 32, 512, 64, 1303, 4096, 0}, {8, 32, 512, 64, 1296, 4112, 0}, {204, 3891, 13107, 21845, 0, 0, 0}, {192, 3888, 12336, 21866, 0, 0, 0}, {8, 32, 512, 68, 1299, 4371, 0}, {1340, 13056, 1360, 0, 0, 0, 0}, {8, 4642, 64, 5397, 0, 0, 0}, {8, 4386, 5654, 68, 0, 0, 0}, {1375, 96, 20480, 0, 0, 0, 0}, {160, 1280, 0, 0, 0, 0, 0}, {771, 4, 4369, 0, 0, 0, 0}, {8, 1792, 21794, 0, 0, 0, 0}, {12, 96, 771, 1283, 0, 0, 0}, {32, 4, 256, 0, 0, 0, 0}, {3855, 21845, 0, 0, 0, 0, 0}, {12, 768, 21862, 0, 0, 0, 0}, {8, 32, 512, 1287, 0, 0, 0}, {8, 32, 512, 1280, 0, 0, 0}, {12, 771, 21845, 0, 0, 0, 0}, {21930, 3840, 0, 0, 0, 0, 0}, {259, 4, 4112, 0, 0, 0, 0}, {12, 96, 768, 1280, 0, 0, 0}, {8, 1799, 21845, 0, 0, 0, 0}, {4386, 768, 4, 0, 0, 0, 0}, {1295, 20560, 0, 0, 0, 0, 0}, {12336, 64, 5376, 0, 0, 0, 0}, {40, 68, 1297, 4369, 0, 0, 0}, {72, 96, 4626, 1298, 0, 0, 0}, {76, 5632, 21811, 0, 0, 0, 0}, {3900, 68, 4352, 0, 0, 0, 0}, {32, 64, 1301, 4096, 0, 0, 0}, {76, 32, 4864, 1302, 0, 0, 0}, {72, 4608, 21879, 0, 0, 0, 0}, {72, 4656, 21760, 0, 0, 0, 0}, {1305, 32, 4883, 1365, 0, 0, 0}, {1306, 32, 64, 4112, 0, 0, 0}, {7680, 4403, 68, 0, 0, 0, 0}, {76, 5744, 21760, 0, 0, 0, 0}, {1309, 1333, 5911, 1365, 0, 0, 0}, {4362, 4386, 68, 5140, 0, 0, 0}, {5439, 12288, 64, 0, 0, 0, 0}, {192, 3840, 12288, 21760, 0, 0, 0}, {8, 32, 514, 68, 1285, 4369, 0}, {8, 32, 514, 64, 1282, 4096, 0}, {204, 3855, 13107, 21811, 0, 0, 0}, {8, 1792, 68, 4352, 0, 0, 0}, {96, 1285, 0, 0, 0, 0, 0}, {1290, 1382, 20480, 0, 0, 0, 0}, {8, 5431, 1799, 64, 0, 0, 0}, {8, 4608, 64, 5376, 0, 0, 0}, {108, 13107, 1285, 0, 0, 0, 0}, {1290, 96, 20480, 0, 0, 0, 0}, {8, 4403, 1799, 68, 0, 0, 0}, {204, 3840, 13056, 21760, 0, 0, 0}, {8, 32, 514, 64, 1285, 4112, 0}, {8, 32, 514, 68, 1282, 4354, 0}, {192, 3855, 12336, 21823, 0, 0, 0}, {2560, 32, 1360, 0, 0, 0, 0}, {12, 819, 68, 4369, 0, 0, 0}, {136, 3960, 8738, 21794, 0, 0, 0}, {12, 32, 787, 64, 1299, 4096, 0}, {12, 36, 788, 68, 1300, 4352, 0}, {128, 3967, 9557, 21845, 0, 0, 0}, {12, 5414, 5654, 64, 0, 0, 0}, {1375, 1399, 20480, 0, 0, 0, 0}, {40, 8704, 1360, 0, 0, 0, 0}, {12, 819, 64, 5397, 0, 0, 0}, {128, 3952, 9562, 21802, 0, 0, 0}, {12, 36, 791, 68, 1303, 4375, 0}, {12, 32, 784, 64, 1296, 4112, 0}, {136, 3959, 8738, 21845, 0, 0, 0}, {12, 4386, 4626, 68, 0, 0, 0}, {1375, 32, 20480, 0, 0, 0, 0}, {32, 64, 1280, 4096, 0, 0, 0}, {3855, 68, 4369, 0, 0, 0, 0}, {72, 4642, 18176, 0, 0, 0, 0}, {1295, 32, 4883, 1347, 0, 0, 0}, {40, 68, 1280, 4352, 0, 0, 0}, {12336, 64, 5397, 0, 0, 0, 0}, {76, 5734, 17152, 0, 0, 0, 0}, {1295, 1319, 5911, 1351, 0, 0, 0}, {72, 96, 4608, 1280, 0, 0, 0}, {76, 5654, 21845, 0, 0, 0, 0}, {5418, 12288, 64, 0, 0, 0, 0}, {4379, 4403, 68, 5140, 0, 0, 0}, {76, 32, 4864, 1280, 0, 0, 0}, {72, 4626, 21845, 0, 0, 0, 0}, {3840, 4386, 68, 0, 0, 0, 0}, {1295, 32, 64, 4112, 0, 0, 0}, {4080, 21760, 0, 0, 0, 0, 0}, {514, 4, 273, 0, 0, 0, 0}, {8, 32, 514, 1362, 0, 0, 0}, {12, 819, 22016, 0, 0, 0, 0}, {816, 4, 4352, 0, 0, 0, 0}, {2570, 1365, 0, 0, 0, 0, 0}, {12, 1334, 1542, 1366, 0, 0, 0}, {8, 1911, 20992, 0, 0, 0, 0}, {8, 1904, 21760, 0, 0, 0, 0}, {12, 1333, 1542, 1365, 0, 0, 0}, {1370, 20560, 0, 0, 0, 0, 0}, {4403, 4608, 4, 0, 0, 0, 0}, {12, 816, 21760, 0, 0, 0, 0}, {8, 32, 514, 1365, 0, 0, 0}, {274, 4, 4112, 0, 0, 0, 0}, {22015, 23040, 0, 0, 0, 0, 0}, {3072, 26112, 0, 0, 0, 0, 0}, {7, 80, 257, 0, 0, 0, 0}, {8, 32, 514, 1024, 0, 0, 0}, {15, 771, 21760, 0, 0, 0, 0}, {8, 8704, 1028, 0, 0, 0, 0}, {15, 768, 80, 1285, 0, 0, 0}, {160, 1542, 0, 0, 0, 0, 0}, {7, 1024, 4352, 0, 0, 0, 0}, {8, 8704, 1024, 0, 0, 0, 0}, {15, 771, 80, 1285, 0, 0, 0}, {1546, 24576, 0, 0, 0, 0, 0}, {7, 4420, 1028, 0, 0, 0, 0}, {26316, 3084, 0, 0, 0, 0, 0}, {258, 261, 4096, 0, 0, 0, 0}, {8, 32, 514, 1028, 0, 0, 0}, {15, 768, 21760, 0, 0, 0, 0}, {32, 1552, 80, 4112, 0, 0, 0}, {3140, 119, 4369, 0, 0, 0, 0}, {120, 4626, 17408, 0, 0, 0, 0}, {95, 32, 4883, 5376, 0, 0, 0}, {40, 4608, 80, 5140, 0, 0, 0}, {127, 13056, 5397, 0, 0, 0, 0}, {112, 5654, 16384, 0, 0, 0, 0}, {95, 119, 1559, 4352, 0, 0, 0}, {4632, 4656, 80, 5120, 0, 0, 0}, {5418, 13107, 5461, 0, 0, 0, 0}, {5722, 112, 16448, 0, 0, 0, 0}, {4379, 4403, 5888, 4420, 0, 0, 0}, {1564, 32, 80, 4096, 0, 0, 0}, {7453, 4386, 4437, 0, 0, 0, 0}, {4698, 4642, 17476, 0, 0, 0, 0}, {5407, 32, 4864, 5440, 0, 0, 0}, {32, 1536, 16384, 0, 0, 0, 0}, {15, 119, 771, 4369, 0, 0, 0}, {136, 3072, 8738, 17408, 0, 0, 0}, {15, 32, 771, 80, 1280, 4112, 0}, {1548, 1572, 17476, 0, 0, 0, 0}, {15, 5413, 768, 5461, 0, 0, 0}, {128, 3084, 9766, 16448, 0, 0, 0}, {15, 39, 768, 80, 1280, 4352, 0}, {40, 1536, 17408, 0, 0, 0, 0}, {15, 112, 771, 5397, 0, 0, 0}, {128, 3072, 9770, 16384, 0, 0, 0}, {15, 39, 771, 80, 1280, 4372, 0}, {1548, 32, 16448, 0, 0, 0, 0}, {15, 4386, 768, 4437, 0, 0, 0}, {136, 3084, 8738, 17476, 0, 0, 0}, {15, 32, 768, 80, 1280, 4096, 0}, {240, 3120, 12336, 22064, 0, 0, 0}, {8, 32, 514, 87, 1043, 4369, 0}, {8, 32, 514, 80, 1040, 4112, 0}, {255, 3123, 13107, 21760, 0, 0, 0}, {8, 1076, 4608, 1092, 0, 0, 0}, {95, 1589, 21845, 0, 0, 0, 0}, {2570, 1590, 80, 0, 0, 0, 0}, {8, 1079, 1088, 4352, 0, 0, 0}, {8, 1072, 5632, 1088, 0, 0, 0}, {95, 1638, 21845, 0, 0, 0, 0}, {1594, 12336, 80, 0, 0, 0, 0}, {8, 4403, 4420, 5376, 0, 0, 0}, {240, 3132, 12288, 22076, 0, 0, 0}, {8, 32, 514, 87, 1047, 4354, 0}, {8, 32, 514, 80, 1044, 4096, 0}, {255, 3135, 13056, 21760, 0, 0, 0}, {128, 3136, 9792, 16448, 0, 0, 0}, {15, 39, 788, 80, 1285, 4369, 0}, {40, 1602, 17408, 0, 0, 0, 0}, {15, 112, 835, 5376, 0, 0, 0}, {136, 3140, 8704, 17476, 0, 0, 0}, {15, 32, 784, 80, 1285, 4112, 0}, {32, 1606, 16384, 0, 0, 0, 0}, {15, 119, 839, 4352, 0, 0, 0}, {136, 3144, 8704, 17408, 0, 0, 0}, {15, 32, 787, 80, 1285, 4096, 0}, {1610, 32, 16448, 0, 0, 0, 0}, {15, 4403, 4608, 4420, 0, 0, 0}, {128, 3148, 9804, 16384, 0, 0, 0}, {15, 39, 791, 80, 1285, 4357, 0}, {1614, 1638, 17476, 0, 0, 0, 0}, {15, 5424, 5632, 5440, 0, 0, 0}, {1536, 80, 0, 0, 0, 0, 0}, {8, 119, 1028, 4369, 0, 0, 0}, {8, 112, 4690, 1024, 0, 0, 0}, {95, 1619, 21760, 0, 0, 0, 0}, {8, 32, 512, 80, 1028, 4112, 0}, {255, 3072, 13056, 21845, 0, 0, 0}, {240, 3084, 12336, 22102, 0, 0, 0}, {8, 32, 512, 87, 1024, 4352, 0}, {8, 32, 512, 80, 1024, 4096, 0}, {255, 3084, 13107, 21845, 0, 0, 0}, {240, 3072, 12288, 22106, 0, 0, 0}, {8, 32, 512, 87, 1028, 4371, 0}, {1548, 12336, 80, 0, 0, 0, 0}, {8, 4386, 4437, 1024, 0, 0, 0}, {8, 112, 4626, 1028, 0, 0, 0}, {95, 1536, 21760, 0, 0, 0, 0}, {2560, 1632, 0, 0, 0, 0, 0}, {7, 1092, 4369, 0, 0, 0, 0}, {8, 8738, 1088, 0, 0, 0, 0}, {15, 819, 80, 1280, 0, 0, 0}, {8, 32, 512, 1092, 0, 0, 0}, {15, 816, 21845, 0, 0, 0, 0}, {3276, 26214, 0, 0, 0, 0, 0}, {7, 1280, 272, 0, 0, 0, 0}, {8, 32, 512, 1088, 0, 0, 0}, {15, 819, 21845, 0, 0, 0, 0}, {26282, 27242, 0, 0, 0, 0, 0}, {275, 276, 4096, 0, 0, 0, 0}, {1644, 24576, 0, 0, 0, 0, 0}, {7, 4437, 5397, 0, 0, 0, 0}, {8, 8738, 1092, 0, 0, 0, 0}, {15, 816, 80, 1280, 0, 0, 0}, {112, 5632, 16384, 0, 0, 0, 0}, {95, 119, 1542, 4369, 0, 0, 0}, {4618, 4642, 80, 5120, 0, 0, 0}, {5439, 13107, 5440, 0, 0, 0, 0}, {4680, 4656, 17476, 0, 0, 0, 0}, {5386, 32, 4864, 5461, 0, 0, 0}, {32, 1542, 80, 4112, 0, 0, 0}, {3072, 119, 4352, 0, 0, 0, 0}, {120, 4608, 17408, 0, 0, 0, 0}, {95, 32, 4883, 5397, 0, 0, 0}, {1546, 32, 80, 4096, 0, 0, 0}, {3084, 4403, 4420, 0, 0, 0, 0}, {5708, 112, 16448, 0, 0, 0, 0}, {4362, 4386, 5888, 4437, 0, 0, 0}, {40, 4626, 80, 5140, 0, 0, 0}, {127, 13056, 5376, 0, 0, 0, 0}, {128, 3072, 9728, 16384, 0, 0, 0}, {15, 39, 771, 80, 1285, 4369, 0}, {1546, 1570, 17408, 0, 0, 0, 0}, {15, 5424, 771, 5440, 0, 0, 0}, {136, 3084, 8704, 17476, 0, 0, 0}, {15, 32, 768, 80, 1285, 4096, 0}, {32, 1542, 16448, 0, 0, 0, 0}, {15, 119, 768, 4352, 0, 0, 0}, {136, 3072, 8704, 17408, 0, 0, 0}, {15, 32, 771, 80, 1285, 4112, 0}, {1546, 32, 16384, 0, 0, 0, 0}, {15, 4403, 771, 4420, 0, 0, 0}, {128, 3084, 9740, 16448, 0, 0, 0}, {15, 39, 768, 80, 1285, 4357, 0}, {40, 1542, 17476, 0, 0, 0, 0}, {15, 112, 768, 5376, 0, 0, 0}, {2560, 1584, 80, 0, 0, 0, 0}, {8, 1075, 1092, 4369, 0, 0, 0}, {8, 1072, 4626, 1088, 0, 0, 0}, {95, 1587, 21760, 0, 0, 0, 0}, {8, 32, 512, 80, 1044, 4096, 0}, {255, 3135, 13056, 21845, 0, 0, 0}, {240, 3132, 12288, 22118, 0, 0, 0}, {8, 32, 512, 87, 1047, 4352, 0}, {8, 32, 512, 80, 1040, 4112, 0}, {255, 3123, 13107, 21845, 0, 0, 0}, {240, 3120, 12336, 22122, 0, 0, 0}, {8, 32, 512, 87, 1043, 4371, 0}, {1596, 12288, 80, 0, 0, 0, 0}, {8, 4386, 4437, 5397, 0, 0, 0}, {8, 1076, 5654, 1092, 0, 0, 0}, {95, 1632, 21760, 0, 0, 0, 0}, {160, 1536, 0, 0, 0, 0, 0}, {7, 1028, 4369, 0, 0, 0, 0}, {8, 8738, 1024, 0, 0, 0, 0}, {15, 771, 80, 1280, 0, 0, 0}, {8, 32, 512, 1028, 0, 0, 0}, {15, 768, 21845, 0, 0, 0, 0}, {3084, 26214, 0, 0, 0, 0, 0}, {7, 80, 256, 0, 0, 0, 0}, {8, 32, 512, 1024, 0, 0, 0}, {15, 771, 21845, 0, 0, 0, 0}, {26282, 3072, 0, 0, 0, 0, 0}, {259, 260, 4112, 0, 0, 0, 0}, {1548, 24672, 0, 0, 0, 0, 0}, {7, 4437, 1024, 0, 0, 0, 0}, {8, 8738, 1028, 0, 0, 0, 0}, {15, 768, 80, 1280, 0, 0, 0}, {112, 5632, 16448, 0, 0, 0, 0}, {95, 119, 1553, 4369, 0, 0, 0}, {40, 4626, 80, 5120, 0, 0, 0}, {127, 13107, 5376, 0, 0, 0, 0}, {120, 4608, 17476, 0, 0, 0, 0}, {95, 32, 4864, 5397, 0, 0, 0}, {32, 1558, 80, 4096, 0, 0, 0}, {3144, 119, 4352, 0, 0, 0, 0}, {4680, 4656, 17408, 0, 0, 0, 0}, {5386, 32, 4883, 5461, 0, 0, 0}, {1562, 32, 80, 4112, 0, 0, 0}, {7424, 4403, 4420, 0, 0, 0, 0}, {5708, 112, 16384, 0, 0, 0, 0}, {4362, 4386, 5911, 4437, 0, 0, 0}, {4618, 4642, 80, 5140, 0, 0, 0}, {5439, 13056, 5440, 0, 0, 0, 0}, {3264, 26112, 0, 0, 0, 0, 0}, {7, 1285, 273, 0, 0, 0, 0}, {8, 32, 514, 1088, 0, 0, 0}, {15, 819, 21760, 0, 0, 0, 0}, {8, 8704, 1092, 0, 0, 0, 0}, {15, 816, 80, 1285, 0, 0, 0}, {2570, 1638, 0, 0, 0, 0, 0}, {7, 1088, 4352, 0, 0, 0, 0}, {8, 8704, 1088, 0, 0, 0, 0}, {15, 819, 80, 1285, 0, 0, 0}, {1642, 24672, 0, 0, 0, 0, 0}, {7, 4420, 5376, 0, 0, 0, 0}, {26316, 27136, 0, 0, 0, 0, 0}, {274, 277, 4112, 0, 0, 0, 0}, {8, 32, 514, 1092, 0, 0, 0}, {15, 816, 21760, 0, 0, 0, 0}, {32, 1536, 80, 4096, 0, 0, 0}, {3084, 119, 4369, 0, 0, 0, 0}, {4698, 4642, 17408, 0, 0, 0, 0}, {5407, 32, 4883, 5440, 0, 0, 0}, {4632, 4656, 80, 5140, 0, 0, 0}, {5418, 13056, 5461, 0, 0, 0, 0}, {112, 5654, 16448, 0, 0, 0, 0}, {95, 119, 1536, 4352, 0, 0, 0}, {40, 4608, 80, 5120, 0, 0, 0}, {127, 13107, 5397, 0, 0, 0, 0}, {5722, 112, 16384, 0, 0, 0, 0}, {4379, 4403, 5911, 4420, 0, 0, 0}, {1548, 32, 80, 4112, 0, 0, 0}, {3072, 4386, 4437, 0, 0, 0, 0}, {120, 4626, 17476, 0, 0, 0, 0}, {95, 32, 4864, 5376, 0, 0, 0}, {32, 1600, 16448, 0, 0, 0, 0}, {15, 119, 836, 4369, 0, 0, 0}, {136, 3144, 8738, 17408, 0, 0, 0}, {15, 32, 787, 80, 1280, 4096, 0}, {40, 1604, 17476, 0, 0, 0, 0}, {15, 112, 832, 5397, 0, 0, 0}, {128, 3148, 9830, 16384, 0, 0, 0}, {15, 39, 791, 80, 1280, 4352, 0}, {1608, 1632, 17408, 0, 0, 0, 0}, {15, 5413, 5654, 5461, 0, 0, 0}, {128, 3136, 9834, 16448, 0, 0, 0}, {15, 39, 788, 80, 1280, 4372, 0}, {1612, 32, 16384, 0, 0, 0, 0}, {15, 4386, 4626, 4437, 0, 0, 0}, {136, 3140, 8738, 17476, 0, 0, 0}, {15, 32, 784, 80, 1280, 4112, 0}, {240, 3072, 12288, 22016, 0, 0, 0}, {8, 32, 514, 87, 1028, 4369, 0}, {8, 32, 514, 80, 1024, 4096, 0}, {255, 3084, 13107, 21760, 0, 0, 0}, {8, 112, 4672, 1028, 0, 0, 0}, {95, 1621, 21845, 0, 0, 0, 0}, {1542, 80, 0, 0, 0, 0, 0}, {8, 119, 1024, 4352, 0, 0, 0}, {8, 112, 4608, 1024, 0, 0, 0}, {95, 1542, 21845, 0, 0, 0, 0}, {1546, 12288, 80, 0, 0, 0, 0}, {8, 4403, 4420, 1028, 0, 0, 0}, {240, 3084, 12336, 22028, 0, 0, 0}, {8, 32, 514, 87, 1024, 4354, 0}, {8, 32, 514, 80, 1028, 4112, 0}, {255, 3072, 13056, 21760, 0, 0, 0}, {1792, 20480, 0, 0, 0, 0, 0}, {12, 102, 257, 0, 0, 0, 0}, {1290, 514, 21760, 0, 0, 0, 0}, {12, 4144, 771, 1024, 0, 0, 0}, {12, 768, 4160, 1028, 0, 0, 0}, {522, 8704, 1285, 0, 0, 0, 0}, {262, 1024, 4352, 0, 0, 0, 0}, {20720, 1799, 0, 0, 0, 0, 0}, {1800, 20480, 0, 0, 0, 0, 0}, {4403, 771, 261, 0, 0, 0, 0}, {1290, 1792, 21760, 0, 0, 0, 0}, {12, 4208, 771, 1028, 0, 0, 0}, {12, 768, 1024, 4096, 0, 0, 0}, {170, 514, 1285, 0, 0, 0, 0}, {258, 4420, 1028, 0, 0, 0, 0}, {1807, 8192, 0, 0, 0, 0, 0}, {2112, 1904, 4112, 0, 0, 0, 0}, {1331, 1809, 1365, 4369, 0, 0, 0}, {4186, 4144, 4626, 5376, 0, 0, 0}, {5228, 4883, 17408, 0, 0, 0, 0}, {4972, 13056, 5140, 0, 0, 0, 0}, {4138, 4608, 4160, 5397, 0, 0, 0}, {1370, 102, 1814, 4352, 0, 0, 0}, {4192, 5911, 16384, 0, 0, 0, 0}, {5928, 12336, 4176, 0, 0, 0, 0}, {4889, 4403, 4437, 5120, 0, 0, 0}, {4122, 1328, 5888, 5440, 0, 0, 0}, {4959, 1911, 17476, 0, 0, 0, 0}, {7196, 4896, 5200, 0, 0, 0, 0}, {1821, 546, 1365, 4096, 0, 0, 0}, {5150, 4386, 4864, 4420, 0, 0, 0}, {5983, 4128, 16448, 0, 0, 0, 0}, {1920, 3840, 8224, 22304, 0, 0, 0}, {12, 289, 771, 327, 1283, 4369, 0}, {546, 1280, 0, 0, 0, 0, 0}, {12, 771, 1088, 4112, 0, 0, 0}, {12, 5156, 768, 1092, 0, 0, 0}, {1295, 1829, 21845, 0, 0, 0, 0}, {12, 294, 768, 320, 1280, 4352, 0}, {1927, 3855, 10023, 20560, 0, 0, 0}, {1928, 3840, 10024, 22312, 0, 0, 0}, {12, 293, 771, 323, 1283, 4118, 0}, {554, 8704, 1280, 0, 0, 0, 0}, {12, 771, 4176, 5140, 0, 0, 0}, {12, 4128, 768, 1088, 0, 0, 0}, {1295, 546, 21845, 0, 0, 0, 0}, {12, 290, 768, 324, 1280, 4096, 0}, {1935, 3855, 8224, 20560, 0, 0, 0}, {4144, 5888, 16384, 0, 0, 0, 0}, {1375, 102, 514, 4369, 0, 0, 0}, {1338, 514, 1360, 4112, 0, 0, 0}, {4915, 5120, 0, 0, 0, 0, 0}, {4940, 1844, 17476, 0, 0, 0, 0}, {4106, 1333, 4608, 5461, 0, 0, 0}, {522, 1334, 1360, 4352, 0, 0, 0}, {2056, 1847, 4160, 0, 0, 0, 0}, {5960, 4208, 16448, 0, 0, 0, 0}, {5130, 4403, 5632, 4437, 0, 0, 0}, {522, 4656, 4176, 5376, 0, 0, 0}, {1851, 13107, 5188, 0, 0, 0, 0}, {5180, 4864, 17408, 0, 0, 0, 0}, {4170, 4128, 514, 5397, 0, 0, 0}, {4386, 514, 4420, 5140, 0, 0, 0}, {1855, 4096, 0, 0, 0, 0, 0}, {5888, 4160, 0, 0, 0, 0, 0}, {590, 102, 1285, 4369, 0, 0, 0}, {4106, 4192, 578, 5376, 0, 0, 0}, {5180, 1859, 17408, 0, 0, 0, 0}, {4864, 5188, 0, 0, 0, 0, 0}, {586, 544, 1285, 4112, 0, 0, 0}, {1290, 102, 582, 4352, 0, 0, 0}, {4144, 1863, 16384, 0, 0, 0, 0}, {1864, 4096, 0, 0, 0, 0, 0}, {4403, 4883, 4437, 1285, 0, 0, 0}, {1290, 4128, 4608, 5440, 0, 0, 0}, {1867, 4915, 17476, 0, 0, 0, 0}, {4940, 13056, 5120, 0, 0, 0, 0}, {4154, 4626, 4176, 1285, 0, 0, 0}, {1290, 4386, 5632, 4420, 0, 0, 0}, {1871, 4208, 16448, 0, 0, 0, 0}, {2032, 2048, 10064, 20560, 0, 0, 0}, {12, 311, 516, 337, 1028, 4369, 0}, {1370, 1874, 21760, 0, 0, 0, 0}, {12, 4192, 4947, 1024, 0, 0, 0}, {12, 816, 1028, 4112, 0, 0, 0}, {512, 1365, 0, 0, 0, 0, 0}, {12, 304, 512, 342, 1024, 4352, 0}, {2039, 2056, 8224, 22359, 0, 0, 0}, {2040, 2056, 8224, 20560, 0, 0, 0}, {12, 307, 512, 341, 1024, 4096, 0}, {1370, 512, 21760, 0, 0, 0, 0}, {12, 4128, 4883, 1028, 0, 0, 0}, {12, 816, 4176, 1024, 0, 0, 0}, {520, 8738, 1365, 0, 0, 0, 0}, {12, 308, 516, 338, 1028, 4118, 0}, {2047, 2048, 10079, 22367, 0, 0, 0}, {4192, 1792, 16384, 0, 0, 0, 0}, {1295, 102, 1799, 4369, 0, 0, 0}, {520, 4642, 4160, 1280, 0, 0, 0}, {1807, 13107, 5200, 0, 0, 0, 0}, {1800, 4896, 17476, 0, 0, 0, 0}, {1295, 4144, 512, 5461, 0, 0, 0}, {102, 512, 1280, 4352, 0, 0, 0}, {192, 1799, 4112, 0, 0, 0, 0}, {1800, 4128, 16448, 0, 0, 0, 0}, {1295, 4403, 512, 4437, 0, 0, 0}, {106, 512, 1280, 4096, 0, 0, 0}, {204, 4883, 5140, 0, 0, 0, 0}, {5228, 1792, 17408, 0, 0, 0, 0}, {4122, 4208, 4626, 5397, 0, 0, 0}, {520, 4386, 4420, 1280, 0, 0, 0}, {1807, 12336, 4176, 0, 0, 0, 0}, {24320, 1904, 0, 0, 0, 0, 0}, {279, 1092, 4369, 0, 0, 0, 0}, {552, 8738, 1360, 0, 0, 0, 0}, {12, 819, 4160, 5120, 0, 0, 0}, {12, 4144, 4864, 1092, 0, 0, 0}, {1375, 544, 21845, 0, 0, 0, 0}, {12, 1542, 272, 0, 0, 0, 0}, {1911, 20480, 0, 0, 0, 0, 0}, {1912, 8192, 0, 0, 0, 0, 0}, {275, 4437, 5397, 0, 0, 0, 0}, {2570, 544, 1360, 0, 0, 0, 0}, {12, 819, 1092, 4096, 0, 0, 0}, {12, 5168, 5888, 1088, 0, 0, 0}, {1375, 1911, 21845, 0, 0, 0, 0}, {4386, 4626, 276, 0, 0, 0, 0}, {1919, 20480, 0, 0, 0, 0, 0}, {1920, 3840, 9984, 20480, 0, 0, 0}, {12, 295, 771, 321, 1285, 4369, 0}, {1290, 1826, 21760, 0, 0, 0, 0}, {12, 5168, 771, 1088, 0, 0, 0}, {12, 768, 1092, 4096, 0, 0, 0}, {544, 1285, 0, 0, 0, 0, 0}, {12, 288, 768, 326, 1286, 4352, 0}, {1927, 3855, 8192, 22391, 0, 0, 0}, {1928, 3840, 8192, 20480, 0, 0, 0}, {12, 291, 771, 325, 1285, 4112, 0}, {1290, 544, 21760, 0, 0, 0, 0}, {12, 4144, 771, 1092, 0, 0, 0}, {12, 768, 4160, 5120, 0, 0, 0}, {552, 8738, 1285, 0, 0, 0, 0}, {12, 292, 768, 322, 1286, 4102, 0}, {1935, 3855, 9999, 22399, 0, 0, 0}, {2048, 1840, 4176, 0, 0, 0, 0}, {520, 1331, 1365, 4369, 0, 0, 0}, {4122, 1328, 4626, 5440, 0, 0, 0}, {4959, 1843, 17408, 0, 0, 0, 0}, {4896, 5140, 0, 0, 0, 0, 0}, {1343, 512, 1365, 4096, 0, 0, 0}, {1370, 102, 512, 4352, 0, 0, 0}, {4128, 5911, 16448, 0, 0, 0, 0}, {1848, 4112, 0, 0, 0, 0, 0}, {4403, 512, 4437, 5120, 0, 0, 0}, {4186, 4144, 512, 5376, 0, 0, 0}, {5160, 4883, 17476, 0, 0, 0, 0}, {1852, 13056, 5200, 0, 0, 0, 0}, {520, 4642, 4160, 5397, 0, 0, 0}, {5150, 4386, 5654, 4420, 0, 0, 0}, {5983, 4192, 16384, 0, 0, 0, 0}, {20640, 1792, 0, 0, 0, 0, 0}, {263, 1028, 4369, 0, 0, 0, 0}, {520, 8738, 1280, 0, 0, 0, 0}, {12, 771, 4176, 1024, 0, 0, 0}, {12, 4128, 768, 1028, 0, 0, 0}, {1295, 512, 21845, 0, 0, 0, 0}, {12, 102, 256, 0, 0, 0, 0}, {1799, 20560, 0, 0, 0, 0, 0}, {1800, 8224, 0, 0, 0, 0, 0}, {259, 4437, 1024, 0, 0, 0, 0}, {170, 512, 1280, 0, 0, 0, 0}, {12, 771, 1028, 4112, 0, 0, 0}, {12, 4192, 768, 1024, 0, 0, 0}, {1295, 1799, 21845, 0, 0, 0, 0}, {4386, 768, 260, 0, 0, 0, 0}, {1807, 20560, 0, 0, 0, 0, 0}, {4208, 5888, 16448, 0, 0, 0, 0}, {1375, 102, 1809, 4369, 0, 0, 0}, {4154, 4626, 4176, 5376, 0, 0, 0}, {4991, 13107, 5120, 0, 0, 0, 0}, {5240, 4864, 17476, 0, 0, 0, 0}, {4170, 4128, 4608, 5397, 0, 0, 0}, {1334, 1814, 1360, 4352, 0, 0, 0}, {2120, 1911, 4096, 0, 0, 0, 0}, {5960, 4144, 16384, 0, 0, 0, 0}, {5130, 4403, 4883, 4437, 0, 0, 0}, {1818, 544, 1360, 4112, 0, 0, 0}, {7168, 4915, 5188, 0, 0, 0, 0}, {4940, 1904, 17408, 0, 0, 0, 0}, {4106, 1333, 5911, 5461, 0, 0, 0}, {4874, 4386, 4420, 5140, 0, 0, 0}, {5951, 12288, 4160, 0, 0, 0, 0}, {192, 1792, 4096, 0, 0, 0, 0}, {102, 514, 1285, 4369, 0, 0, 0}, {1290, 4128, 514, 5440, 0, 0, 0}, {1807, 4915, 17408, 0, 0, 0, 0}, {1800, 13056, 5188, 0, 0, 0, 0}, {522, 4656, 4176, 1285, 0, 0, 0}, {1290, 102, 1792, 4352, 0, 0, 0}, {4208, 1799, 16448, 0, 0, 0, 0}, {1800, 12288, 4160, 0, 0, 0, 0}, {522, 4403, 4437, 1285, 0, 0, 0}, {4106, 4192, 4608, 5376, 0, 0, 0}, {5240, 1799, 17476, 0, 0, 0, 0}, {204, 4864, 5120, 0, 0, 0, 0}, {106, 514, 1285, 4112, 0, 0, 0}, {1290, 4386, 514, 4420, 0, 0, 0}, {1807, 4144, 16384, 0, 0, 0, 0}, {1904, 20560, 0, 0, 0, 0, 0}, {12, 1536, 273, 0, 0, 0, 0}, {1370, 546, 21760, 0, 0, 0, 0}, {12, 4128, 4883, 1088, 0, 0, 0}, {12, 816, 4176, 5140, 0, 0, 0}, {554, 8704, 1365, 0, 0, 0, 0}, {278, 1088, 4352, 0, 0, 0, 0}, {24415, 1911, 0, 0, 0, 0, 0}, {1912, 20560, 0, 0, 0, 0, 0}, {4403, 4608, 277, 0, 0, 0, 0}, {1370, 1904, 21760, 0, 0, 0, 0}, {12, 5156, 5911, 1092, 0, 0, 0}, {12, 816, 1088, 4112, 0, 0, 0}, {2560, 546, 1365, 0, 0, 0, 0}, {274, 4420, 5376, 0, 0, 0, 0}, {1919, 8224, 0, 0, 0, 0, 0}, {4128, 1856, 16448, 0, 0, 0, 0}, {1295, 102, 580, 4369, 0, 0, 0}, {584, 546, 1280, 4096, 0, 0, 0}, {4883, 5200, 0, 0, 0, 0, 0}, {5160, 1860, 17476, 0, 0, 0, 0}, {4122, 4208, 576, 5397, 0, 0, 0}, {588, 102, 1280, 4352, 0, 0, 0}, {5911, 4176, 0, 0, 0, 0, 0}, {1864, 4192, 16384, 0, 0, 0, 0}, {1295, 4403, 5654, 4437, 0, 0, 0}, {4138, 4608, 4160, 1280, 0, 0, 0}, {4959, 13107, 5140, 0, 0, 0, 0}, {1868, 4896, 17408, 0, 0, 0, 0}, {1295, 4144, 4626, 5461, 0, 0, 0}, {4386, 4864, 4420, 1280, 0, 0, 0}, {1871, 4112, 0, 0, 0, 0, 0}, {2032, 2048, 8192, 22272, 0, 0, 0}, {12, 305, 514, 343, 1028, 4369, 0}, {514, 1360, 0, 0, 0, 0, 0}, {12, 819, 1024, 4096, 0, 0, 0}, {12, 4208, 4928, 1028, 0, 0, 0}, {1375, 1877, 21845, 0, 0, 0, 0}, {12, 310, 518, 336, 1024, 4352, 0}, {2039, 2056, 10103, 20480, 0, 0, 0}, {2040, 2056, 10104, 22280, 0, 0, 0}, {12, 309, 518, 339, 1024, 4102, 0}, {522, 8704, 1360, 0, 0, 0, 0}, {12, 819, 4160, 1028, 0, 0, 0}, {12, 4144, 4864, 1024, 0, 0, 0}, {1375, 514, 21845, 0, 0, 0, 0}, {12, 306, 514, 340, 1028, 4112, 0}, {2047, 2048, 8192, 20480, 0, 0, 0}, {2048, 8192, 0, 0, 0, 0, 0}, {3, 85, 257, 0, 0, 0, 0}, {170, 514, 0, 0, 0, 0, 0}, {3, 1024, 4096, 0, 0, 0, 0}, {12, 8256, 1028, 0, 0, 0, 0}, {15, 517, 85, 1285, 0, 0, 0}, {12, 102, 518, 1024, 0, 0, 0}, {15, 1799, 20480, 0, 0, 0, 0}, {8320, 2056, 0, 0, 0, 0, 0}, {3, 261, 4352, 0, 0, 0, 0}, {522, 8704, 0, 0, 0, 0, 0}, {3, 4160, 1028, 0, 0, 0, 0}, {12, 8192, 1024, 0, 0, 0, 0}, {15, 514, 85, 1285, 0, 0, 0}, {12, 102, 514, 1028, 0, 0, 0}, {15, 1792, 20480, 0, 0, 0, 0}, {2112, 48, 4112, 0, 0, 0, 0}, {51, 529, 85, 4369, 0, 0, 0}, {90, 48, 530, 4096, 0, 0, 0}, {51, 4883, 17408, 0, 0, 0, 0}, {60, 8272, 5140, 0, 0, 0, 0}, {63, 533, 85, 5397, 0, 0, 0}, {90, 102, 534, 5120, 0, 0, 0}, {63, 5911, 16384, 0, 0, 0, 0}, {6168, 48, 4176, 0, 0, 0, 0}, {537, 51, 85, 4352, 0, 0, 0}, {4122, 48, 4608, 4160, 0, 0, 0}, {4959, 51, 17476, 0, 0, 0, 0}, {60, 8224, 5200, 0, 0, 0, 0}, {541, 546, 85, 5376, 0, 0, 0}, {5150, 5154, 5632, 5188, 0, 0, 0}, {5983, 5984, 16448, 0, 0, 0, 0}, {2176, 8224, 0, 0, 0, 0, 0}, {3, 1280, 273, 0, 0, 0, 0}, {2560, 546, 0, 0, 0, 0, 0}, {3, 1088, 4112, 0, 0, 0, 0}, {12, 9252, 1092, 0, 0, 0, 0}, {15, 549, 85, 1280, 0, 0, 0}, {12, 1062, 1536, 1088, 0, 0, 0}, {15, 1911, 20560, 0, 0, 0, 0}, {8352, 10280, 0, 0, 0, 0, 0}, {3, 277, 4352, 0, 0, 0, 0}, {554, 8704, 0, 0, 0, 0, 0}, {3, 4176, 5140, 0, 0, 0, 0}, {12, 8224, 1088, 0, 0, 0, 0}, {15, 546, 85, 1280, 0, 0, 0}, {12, 1058, 1536, 1092, 0, 0, 0}, {15, 1904, 20560, 0, 0, 0, 0}, {2048, 48, 4096, 0, 0, 0, 0}, {51, 514, 85, 4369, 0, 0, 0}, {90, 48, 514, 4112, 0, 0, 0}, {51, 4864, 17408, 0, 0, 0, 0}, {60, 13364, 5188, 0, 0, 0, 0}, {522, 565, 85, 5376, 0, 0, 0}, {5130, 5174, 5632, 5200, 0, 0, 0}, {5960, 6007, 16448, 0, 0, 0, 0}, {2056, 48, 4160, 0, 0, 0, 0}, {522, 51, 85, 4352, 0, 0, 0}, {4106, 48, 4608, 4176, 0, 0, 0}, {4940, 51, 17476, 0, 0, 0, 0}, {60, 8192, 5120, 0, 0, 0, 0}, {63, 514, 85, 5397, 0, 0, 0}, {90, 102, 514, 5140, 0, 0, 0}, {63, 5888, 16384, 0, 0, 0, 0}, {192, 2112, 8256, 16448, 0, 0, 0}, {15, 51, 532, 85, 1285, 4369, 0}, {106, 578, 16384, 0, 0, 0, 0}, {15, 51, 4931, 5120, 0, 0, 0}, {204, 2116, 8192, 17476, 0, 0, 0}, {15, 48, 528, 85, 1285, 4112, 0}, {102, 582, 17408, 0, 0, 0, 0}, {15, 48, 1863, 4096, 0, 0, 0}, {192, 2120, 8192, 16384, 0, 0, 0}, {15, 51, 531, 85, 1285, 4352, 0}, {586, 544, 16448, 0, 0, 0, 0}, {15, 51, 4864, 5188, 0, 0, 0}, {204, 2124, 8268, 17408, 0, 0, 0}, {15, 48, 535, 85, 1285, 4101, 0}, {590, 102, 17476, 0, 0, 0, 0}, {15, 48, 5888, 4160, 0, 0, 0}, {240, 2048, 8272, 20560, 0, 0, 0}, {12, 51, 516, 85, 1028, 4369, 0}, {90, 594, 20480, 0, 0, 0, 0}, {12, 51, 4947, 1024, 0, 0, 0}, {12, 48, 1028, 4112, 0, 0, 0}, {512, 85, 0, 0, 0, 0, 0}, {12, 48, 512, 86, 1024, 4096, 0}, {255, 2056, 8224, 22359, 0, 0, 0}, {240, 2056, 8224, 20560, 0, 0, 0}, {12, 51, 512, 85, 1024, 4352, 0}, {90, 512, 20480, 0, 0, 0, 0}, {12, 51, 4883, 1028, 0, 0, 0}, {12, 48, 4176, 1024, 0, 0, 0}, {520, 8738, 85, 0, 0, 0, 0}, {12, 48, 516, 86, 1028, 4118, 0}, {255, 2048, 8287, 22367, 0, 0, 0}, {192, 2048, 8288, 16384, 0, 0, 0}, {15, 51, 519, 85, 1280, 4369, 0}, {520, 610, 16448, 0, 0, 0, 0}, {15, 51, 1792, 5200, 0, 0, 0}, {204, 2056, 8224, 17476, 0, 0, 0}, {15, 48, 512, 85, 1280, 4096, 0}, {102, 512, 17408, 0, 0, 0, 0}, {15, 48, 1799, 4112, 0, 0, 0}, {192, 2056, 8224, 16448, 0, 0, 0}, {15, 51, 512, 85, 1280, 4352, 0}, {106, 512, 16384, 0, 0, 0, 0}, {15, 51, 4883, 5140, 0, 0, 0}, {204, 2048, 8300, 17408, 0, 0, 0}, {15, 48, 519, 85, 1280, 4117, 0}, {520, 102, 17476, 0, 0, 0, 0}, {15, 48, 1792, 4176, 0, 0, 0}, {240, 2160, 8304, 20480, 0, 0, 0}, {12, 51, 535, 85, 1041, 4369, 0}, {90, 626, 20560, 0, 0, 0, 0}, {12, 51, 5888, 1088, 0, 0, 0}, {12, 48, 1092, 4096, 0, 0, 0}, {2570, 544, 85, 0, 0, 0, 0}, {12, 48, 528, 86, 1046, 4112, 0}, {255, 2167, 8192, 22391, 0, 0, 0}, {240, 2168, 8192, 20480, 0, 0, 0}, {12, 51, 531, 85, 1045, 4352, 0}, {90, 544, 20560, 0, 0, 0, 0}, {12, 51, 4864, 1092, 0, 0, 0}, {12, 48, 4160, 5120, 0, 0, 0}, {552, 8738, 85, 0, 0, 0, 0}, {12, 48, 532, 86, 1042, 4102, 0}, {255, 2175, 8319, 22399, 0, 0, 0}, {8320, 10240, 0, 0, 0, 0, 0}, {3, 276, 4369, 0, 0, 0, 0}, {552, 8738, 0, 0, 0, 0, 0}, {3, 4160, 5120, 0, 0, 0, 0}, {12, 8192, 1092, 0, 0, 0, 0}, {15, 544, 85, 1285, 0, 0, 0}, {12, 1062, 1542, 1088, 0, 0, 0}, {15, 1911, 20480, 0, 0, 0, 0}, {2184, 8192, 0, 0, 0, 0, 0}, {3, 1285, 272, 0, 0, 0, 0}, {2570, 544, 0, 0, 0, 0, 0}, {3, 1092, 4096, 0, 0, 0, 0}, {12, 9216, 1088, 0, 0, 0, 0}, {15, 551, 85, 1285, 0, 0, 0}, {12, 1058, 1542, 1092, 0, 0, 0}, {15, 1904, 20480, 0, 0, 0, 0}, {2048, 48, 4176, 0, 0, 0, 0}, {520, 51, 85, 4369, 0, 0, 0}, {4122, 48, 4626, 4160, 0, 0, 0}, {4959, 51, 17408, 0, 0, 0, 0}, {60, 8224, 5140, 0, 0, 0, 0}, {63, 512, 85, 5376, 0, 0, 0}, {90, 102, 512, 5120, 0, 0, 0}, {63, 5911, 16448, 0, 0, 0, 0}, {2056, 48, 4112, 0, 0, 0, 0}, {51, 512, 85, 4352, 0, 0, 0}, {90, 48, 512, 4096, 0, 0, 0}, {51, 4883, 17476, 0, 0, 0, 0}, {60, 13312, 5200, 0, 0, 0, 0}, {520, 567, 85, 5397, 0, 0, 0}, {5150, 5154, 5654, 5188, 0, 0, 0}, {5983, 5984, 16384, 0, 0, 0, 0}, {8352, 2048, 0, 0, 0, 0, 0}, {3, 260, 4369, 0, 0, 0, 0}, {520, 8738, 0, 0, 0, 0, 0}, {3, 4176, 1024, 0, 0, 0, 0}, {12, 8224, 1028, 0, 0, 0, 0}, {15, 512, 85, 1280, 0, 0, 0}, {12, 102, 512, 1024, 0, 0, 0}, {15, 1799, 20560, 0, 0, 0, 0}, {2056, 8224, 0, 0, 0, 0, 0}, {3, 85, 256, 0, 0, 0, 0}, {170, 512, 0, 0, 0, 0, 0}, {3, 1028, 4112, 0, 0, 0, 0}, {12, 8288, 1024, 0, 0, 0, 0}, {15, 519, 85, 1280, 0, 0, 0}, {12, 102, 516, 1028, 0, 0, 0}, {15, 1792, 20560, 0, 0, 0, 0}, {6144, 48, 4160, 0, 0, 0, 0}, {539, 51, 85, 4369, 0, 0, 0}, {4106, 48, 4626, 4176, 0, 0, 0}, {4940, 51, 17408, 0, 0, 0, 0}, {60, 8192, 5188, 0, 0, 0, 0}, {543, 544, 85, 5397, 0, 0, 0}, {5130, 5174, 5654, 5200, 0, 0, 0}, {5960, 6007, 16384, 0, 0, 0, 0}, {2120, 48, 4096, 0, 0, 0, 0}, {51, 531, 85, 4352, 0, 0, 0}, {90, 48, 528, 4112, 0, 0, 0}, {51, 4864, 17476, 0, 0, 0, 0}, {60, 8304, 5120, 0, 0, 0, 0}, {63, 535, 85, 5376, 0, 0, 0}, {90, 102, 532, 5140, 0, 0, 0}, {63, 5888, 16448, 0, 0, 0, 0}, {192, 2048, 8192, 16384, 0, 0, 0}, {15, 51, 514, 85, 1285, 4369, 0}, {106, 514, 16448, 0, 0, 0, 0}, {15, 51, 4864, 5120, 0, 0, 0}, {204, 2056, 8268, 17476, 0, 0, 0}, {15, 48, 517, 85, 1285, 4101, 0}, {522, 102, 17408, 0, 0, 0, 0}, {15, 48, 1799, 4160, 0, 0, 0}, {192, 2056, 8256, 16448, 0, 0, 0}, {15, 51, 517, 85, 1285, 4352, 0}, {522, 608, 16384, 0, 0, 0, 0}, {15, 51, 1799, 5188, 0, 0, 0}, {204, 2048, 8192, 17408, 0, 0, 0}, {15, 48, 514, 85, 1285, 4112, 0}, {102, 514, 17476, 0, 0, 0, 0}, {15, 48, 1792, 4096, 0, 0, 0}, {240, 2160, 8224, 20560, 0, 0, 0}, {12, 51, 529, 85, 1041, 4369, 0}, {90, 546, 20480, 0, 0, 0, 0}, {12, 51, 4883, 1088, 0, 0, 0}, {12, 48, 4176, 5140, 0, 0, 0}, {554, 8704, 85, 0, 0, 0, 0}, {12, 48, 534, 86, 1046, 4118, 0}, {255, 2167, 8287, 22312, 0, 0, 0}, {240, 2168, 8272, 20560, 0, 0, 0}, {12, 51, 533, 85, 1045, 4352, 0}, {90, 624, 20480, 0, 0, 0, 0}, {12, 51, 5911, 1092, 0, 0, 0}, {12, 48, 1088, 4112, 0, 0, 0}, {2560, 546, 85, 0, 0, 0, 0}, {12, 48, 530, 86, 1042, 4096, 0}, {255, 2175, 8224, 22304, 0, 0, 0}, {192, 2112, 8224, 16448, 0, 0, 0}, {15, 51, 529, 85, 1280, 4369, 0}, {584, 546, 16384, 0, 0, 0, 0}, {15, 51, 4883, 5200, 0, 0, 0}, {204, 2116, 8300, 17476, 0, 0, 0}, {15, 48, 533, 85, 1280, 4117, 0}, {588, 102, 17408, 0, 0, 0, 0}, {15, 48, 5911, 4176, 0, 0, 0}, {192, 2120, 8288, 16384, 0, 0, 0}, {15, 51, 534, 85, 1280, 4352, 0}, {106, 576, 16448, 0, 0, 0, 0}, {15, 51, 4944, 5140, 0, 0, 0}, {204, 2124, 8224, 17408, 0, 0, 0}, {15, 48, 530, 85, 1280, 4096, 0}, {102, 580, 17476, 0, 0, 0, 0}, {15, 48, 1856, 4112, 0, 0, 0}, {240, 2048, 8192, 20480, 0, 0, 0}, {12, 51, 514, 85, 1028, 4369, 0}, {90, 514, 20560, 0, 0, 0, 0}, {12, 51, 4864, 1024, 0, 0, 0}, {12, 48, 4160, 1028, 0, 0, 0}, {522, 8704, 85, 0, 0, 0, 0}, {12, 48, 518, 86, 1024, 4102, 0}, {255, 2056, 8319, 22280, 0, 0, 0}, {240, 2056, 8304, 20480, 0, 0, 0}, {12, 51, 518, 85, 1024, 4352, 0}, {90, 592, 20560, 0, 0, 0, 0}, {12, 51, 4928, 1028, 0, 0, 0}, {12, 48, 1024, 4096, 0, 0, 0}, {514, 85, 0, 0, 0, 0, 0}, {12, 48, 514, 86, 1028, 4112, 0}, {255, 2048, 8192, 22272, 0, 0, 0}, {768, 21760, 0, 0, 0, 0, 0}, {8, 32, 257, 0, 0, 0, 0}, {258, 1024, 4096, 0, 0, 0, 0}, {22015, 771, 0, 0, 0, 0, 0}, {8, 772, 4420, 1028, 0, 0, 0}, {783, 12368, 1285, 0, 0, 0, 0}, {1290, 1542, 20480, 0, 0, 0, 0}, {8, 4471, 775, 1024, 0, 0, 0}, {8, 768, 1024, 4352, 0, 0, 0}, {160, 771, 1285, 0, 0, 0, 0}, {1290, 768, 20480, 0, 0, 0, 0}, {8, 4403, 771, 1028, 0, 0, 0}, {780, 21760, 0, 0, 0, 0, 0}, {32, 514, 261, 0, 0, 0, 0}, {262, 4160, 1028, 0, 0, 0, 0}, {783, 26112, 0, 0, 0, 0, 0}, {32, 784, 1360, 4112, 0, 0, 0}, {3140, 819, 4369, 0, 0, 0, 0}, {4386, 4626, 17408, 0, 0, 0, 0}, {1375, 32, 787, 4096, 0, 0, 0}, {40, 788, 4420, 5140, 0, 0, 0}, {831, 12352, 5397, 0, 0, 0, 0}, {5418, 5654, 16384, 0, 0, 0, 0}, {4447, 4471, 791, 5120, 0, 0, 0}, {792, 816, 1360, 4352, 0, 0, 0}, {6425, 819, 5461, 0, 0, 0, 0}, {5722, 816, 16448, 0, 0, 0, 0}, {4379, 4403, 4608, 5188, 0, 0, 0}, {796, 32, 4176, 5376, 0, 0, 0}, {831, 8738, 4437, 0, 0, 0, 0}, {4698, 4454, 17476, 0, 0, 0, 0}, {5407, 32, 5632, 4160, 0, 0, 0}, {32, 768, 1280, 4096, 0, 0, 0}, {136, 771, 4369, 0, 0, 0, 0}, {4386, 768, 17408, 0, 0, 0, 0}, {1295, 32, 771, 4112, 0, 0, 0}, {780, 804, 4420, 1280, 0, 0, 0}, {783, 9509, 5461, 0, 0, 0, 0}, {780, 5734, 16448, 0, 0, 0, 0}, {1295, 1319, 1536, 5200, 0, 0, 0}, {40, 768, 1280, 4352, 0, 0, 0}, {128, 771, 5397, 0, 0, 0, 0}, {5418, 768, 16384, 0, 0, 0, 0}, {4379, 4403, 771, 5140, 0, 0, 0}, {780, 32, 4160, 1280, 0, 0, 0}, {783, 8738, 4437, 0, 0, 0, 0}, {780, 4454, 17476, 0, 0, 0, 0}, {1295, 32, 1536, 4176, 0, 0, 0}, {816, 21760, 0, 0, 0, 0, 0}, {8, 514, 273, 0, 0, 0, 0}, {274, 1088, 4112, 0, 0, 0, 0}, {23040, 819, 0, 0, 0, 0, 0}, {8, 820, 4420, 5376, 0, 0, 0}, {831, 13621, 1365, 0, 0, 0, 0}, {1370, 1638, 20560, 0, 0, 0, 0}, {8, 5431, 5632, 1088, 0, 0, 0}, {8, 816, 1088, 4352, 0, 0, 0}, {2570, 819, 1365, 0, 0, 0, 0}, {1370, 816, 20560, 0, 0, 0, 0}, {8, 4403, 4608, 1092, 0, 0, 0}, {828, 21760, 0, 0, 0, 0, 0}, {32, 514, 277, 0, 0, 0, 0}, {278, 4176, 5140, 0, 0, 0, 0}, {831, 26112, 0, 0, 0, 0, 0}, {5632, 5440, 0, 0, 0, 0, 0}, {843, 867, 1285, 4369, 0, 0, 0}, {4362, 4386, 4674, 5120, 0, 0, 0}, {5503, 835, 16384, 0, 0, 0, 0}, {4608, 4420, 0, 0, 0, 0, 0}, {847, 32, 1285, 4112, 0, 0, 0}, {1290, 32, 1606, 4096, 0, 0, 0}, {4471, 839, 17408, 0, 0, 0, 0}, {840, 4352, 0, 0, 0, 0, 0}, {32, 4883, 4176, 1285, 0, 0, 0}, {1290, 32, 4864, 4160, 0, 0, 0}, {843, 4403, 17476, 0, 0, 0, 0}, {844, 12288, 5376, 0, 0, 0, 0}, {40, 4626, 4437, 1285, 0, 0, 0}, {1290, 1314, 5888, 5188, 0, 0, 0}, {847, 5744, 16448, 0, 0, 0, 0}, {1536, 1360, 0, 0, 0, 0, 0}, {8, 883, 1028, 4369, 0, 0, 0}, {8, 4386, 4690, 1024, 0, 0, 0}, {1375, 851, 20480, 0, 0, 0, 0}, {8, 32, 512, 340, 1028, 4112, 0}, {1023, 3072, 12288, 21845, 0, 0, 0}, {1020, 3084, 12336, 22102, 0, 0, 0}, {8, 32, 512, 343, 1024, 4096, 0}, {8, 32, 512, 336, 1024, 4352, 0}, {1011, 3084, 13107, 21845, 0, 0, 0}, {1008, 3072, 13056, 22106, 0, 0, 0}, {8, 32, 512, 339, 1028, 4371, 0}, {1548, 12336, 1360, 0, 0, 0, 0}, {8, 4642, 4437, 1024, 0, 0, 0}, {8, 4454, 4626, 1028, 0, 0, 0}, {1375, 1536, 20480, 0, 0, 0, 0}, {864, 1280, 0, 0, 0, 0, 0}, {8, 1799, 1092, 4369, 0, 0, 0}, {8, 4386, 1792, 1088, 0, 0, 0}, {1295, 867, 20560, 0, 0, 0, 0}, {8, 32, 512, 324, 1280, 4096, 0}, {975, 3855, 12336, 21845, 0, 0, 0}, {972, 3840, 12288, 22118, 0, 0, 0}, {8, 32, 512, 327, 1287, 4112, 0}, {8, 32, 512, 320, 1280, 4352, 0}, {963, 3855, 13107, 21845, 0, 0, 0}, {960, 3840, 13056, 22122, 0, 0, 0}, {8, 32, 512, 323, 1287, 4371, 0}, {876, 12288, 1280, 0, 0, 0, 0}, {8, 4626, 4437, 5397, 0, 0, 0}, {8, 5410, 1792, 1092, 0, 0, 0}, {1295, 1632, 20560, 0, 0, 0, 0}, {880, 5376, 0, 0, 0, 0, 0}, {40, 1542, 1365, 4369, 0, 0, 0}, {4362, 4386, 5888, 5200, 0, 0, 0}, {5708, 883, 16448, 0, 0, 0, 0}, {3084, 4656, 4420, 0, 0, 0, 0}, {1546, 32, 1365, 4096, 0, 0, 0}, {1370, 32, 1542, 4112, 0, 0, 0}, {4471, 4608, 17408, 0, 0, 0, 0}, {888, 4352, 0, 0, 0, 0, 0}, {32, 4883, 4160, 5397, 0, 0, 0}, {5386, 32, 4864, 4176, 0, 0, 0}, {4680, 4403, 17476, 0, 0, 0, 0}, {5692, 12336, 5440, 0, 0, 0, 0}, {4618, 4642, 4437, 5120, 0, 0, 0}, {4430, 4454, 4626, 5140, 0, 0, 0}, {5503, 5632, 16384, 0, 0, 0, 0}, {128, 768, 5376, 0, 0, 0, 0}, {40, 771, 1285, 4369, 0, 0, 0}, {4362, 4386, 768, 5120, 0, 0, 0}, {5439, 771, 16448, 0, 0, 0, 0}, {780, 8704, 4420, 0, 0, 0, 0}, {783, 32, 4176, 1285, 0, 0, 0}, {1290, 32, 1542, 4160, 0, 0, 0}, {783, 4471, 17408, 0, 0, 0, 0}, {136, 768, 4352, 0, 0, 0, 0}, {32, 771, 1285, 4112, 0, 0, 0}, {1290, 32, 768, 4096, 0, 0, 0}, {4403, 771, 17476, 0, 0, 0, 0}, {780, 9472, 5440, 0, 0, 0, 0}, {783, 807, 4437, 1285, 0, 0, 0}, {1290, 1314, 1542, 5188, 0, 0, 0}, {783, 5744, 16384, 0, 0, 0, 0}, {2560, 816, 1360, 0, 0, 0, 0}, {8, 819, 1092, 4369, 0, 0, 0}, {8, 4386, 4626, 1088, 0, 0, 0}, {1375, 819, 20480, 0, 0, 0, 0}, {32, 512, 276, 0, 0, 0, 0}, {831, 21845, 0, 0, 0, 0, 0}, {828, 26214, 0, 0, 0, 0, 0}, {279, 4160, 5120, 0, 0, 0, 0}, {8, 512, 272, 0, 0, 0, 0}, {819, 21845, 0, 0, 0, 0, 0}, {23130, 816, 0, 0, 0, 0, 0}, {275, 1092, 4096, 0, 0, 0, 0}, {828, 13568, 1360, 0, 0, 0, 0}, {8, 823, 4437, 5397, 0, 0, 0}, {8, 5410, 5654, 1092, 0, 0, 0}, {1375, 1632, 20480, 0, 0, 0, 0}, {160, 768, 1280, 0, 0, 0, 0}, {8, 771, 1028, 4369, 0, 0, 0}, {8, 4386, 768, 1024, 0, 0, 0}, {1295, 771, 20560, 0, 0, 0, 0}, {32, 512, 260, 0, 0, 0, 0}, {783, 21845, 0, 0, 0, 0, 0}, {780, 26214, 0, 0, 0, 0, 0}, {263, 4176, 1024, 0, 0, 0, 0}, {8, 32, 256, 0, 0, 0, 0}, {771, 21845, 0, 0, 0, 0, 0}, {21930, 768, 0, 0, 0, 0, 0}, {259, 1028, 4112, 0, 0, 0, 0}, {780, 12384, 1280, 0, 0, 0, 0}, {8, 775, 4437, 1024, 0, 0, 0}, {8, 4454, 772, 1028, 0, 0, 0}, {1295, 1536, 20560, 0, 0, 0, 0}, {6400, 816, 5440, 0, 0, 0, 0}, {795, 819, 1365, 4369, 0, 0, 0}, {4362, 4386, 4626, 5200, 0, 0, 0}, {5708, 819, 16384, 0, 0, 0, 0}, {828, 8704, 4420, 0, 0, 0, 0}, {799, 32, 4160, 5397, 0, 0, 0}, {5386, 32, 5654, 4176, 0, 0, 0}, {4680, 4471, 17408, 0, 0, 0, 0}, {3144, 816, 4352, 0, 0, 0, 0}, {32, 787, 1365, 4096, 0, 0, 0}, {1370, 32, 784, 4112, 0, 0, 0}, {4403, 4608, 17476, 0, 0, 0, 0}, {828, 12400, 5376, 0, 0, 0, 0}, {40, 791, 4437, 5120, 0, 0, 0}, {4430, 4454, 788, 5140, 0, 0, 0}, {5439, 5632, 16448, 0, 0, 0, 0}, {960, 3840, 13056, 21760, 0, 0, 0}, {8, 32, 514, 321, 1285, 4369, 0}, {8, 32, 514, 322, 1282, 4354, 0}, {963, 3855, 13107, 22076, 0, 0, 0}, {8, 4608, 4420, 5376, 0, 0, 0}, {879, 12336, 1285, 0, 0, 0, 0}, {1290, 1638, 20480, 0, 0, 0, 0}, {8, 5431, 1799, 1088, 0, 0, 0}, {8, 1792, 1088, 4352, 0, 0, 0}, {867, 1285, 0, 0, 0, 0, 0}, {1290, 864, 20480, 0, 0, 0, 0}, {8, 4403, 1799, 1092, 0, 0, 0}, {972, 3840, 12288, 21760, 0, 0, 0}, {8, 32, 514, 325, 1285, 4112, 0}, {8, 32, 514, 326, 1282, 4096, 0}, {975, 3855, 12336, 22064, 0, 0, 0}, {32, 4864, 4176, 5376, 0, 0, 0}, {891, 4369, 0, 0, 0, 0, 0}, {4698, 4386, 17408, 0, 0, 0, 0}, {5407, 32, 4883, 4160, 0, 0, 0}, {4632, 4656, 4420, 5140, 0, 0, 0}, {5674, 12288, 5461, 0, 0, 0, 0}, {5482, 5654, 16448, 0, 0, 0, 0}, {4447, 4471, 4608, 5120, 0, 0, 0}, {40, 1536, 1360, 4352, 0, 0, 0}, {883, 5397, 0, 0, 0, 0, 0}, {5722, 880, 16384, 0, 0, 0, 0}, {4379, 4403, 5911, 5188, 0, 0, 0}, {1548, 32, 1360, 4112, 0, 0, 0}, {3072, 4642, 4437, 0, 0, 0, 0}, {4454, 4626, 17476, 0, 0, 0, 0}, {1375, 32, 1536, 4096, 0, 0, 0}, {32, 4864, 4160, 1280, 0, 0, 0}, {843, 4369, 0, 0, 0, 0, 0}, {840, 4386, 17408, 0, 0, 0, 0}, {1295, 32, 4883, 4176, 0, 0, 0}, {40, 4608, 4420, 1280, 0, 0, 0}, {847, 12336, 5397, 0, 0, 0, 0}, {844, 5734, 16384, 0, 0, 0, 0}, {1295, 1319, 5911, 5200, 0, 0, 0}, {840, 864, 1280, 4352, 0, 0, 0}, {5654, 5461, 0, 0, 0, 0, 0}, {5482, 832, 16448, 0, 0, 0, 0}, {4379, 4403, 4688, 5140, 0, 0, 0}, {844, 32, 1280, 4096, 0, 0, 0}, {4626, 4437, 0, 0, 0, 0, 0}, {4454, 836, 17476, 0, 0, 0, 0}, {1295, 32, 1600, 4112, 0, 0, 0}, {1008, 3072, 13056, 21760, 0, 0, 0}, {8, 32, 514, 337, 1028, 4369, 0}, {8, 32, 514, 338, 1024, 4354, 0}, {1011, 3084, 13107, 22028, 0, 0, 0}, {8, 4656, 4420, 1028, 0, 0, 0}, {1546, 12288, 1365, 0, 0, 0, 0}, {1370, 1542, 20560, 0, 0, 0, 0}, {8, 4471, 4608, 1024, 0, 0, 0}, {8, 880, 1024, 4352, 0, 0, 0}, {1542, 1365, 0, 0, 0, 0, 0}, {1370, 848, 20560, 0, 0, 0, 0}, {8, 4403, 4672, 1028, 0, 0, 0}, {1020, 3084, 12336, 21760, 0, 0, 0}, {8, 32, 514, 341, 1024, 4096, 0}, {8, 32, 514, 342, 1028, 4112, 0}, {1023, 3072, 12288, 22016, 0, 0, 0}, {43520, 0, 0, 0, 0, 0, 0}, {3, 4, 16, 257, 0, 0, 0}, {8, 32, 514, 0, 0, 0, 0}, {3, 21760, 0, 0, 0, 0, 0}, {8704, 4, 0, 0, 0, 0, 0}, {15, 80, 1285, 0, 0, 0, 0}, {12, 96, 1542, 0, 0, 0, 0}, {7, 21760, 0, 0, 0, 0, 0}, {8, 8704, 0, 0, 0, 0, 0}, {3, 80, 1285, 0, 0, 0, 0}, {160, 2570, 0, 0, 0, 0, 0}, {3, 4, 4352, 0, 0, 0, 0}, {12, 26112, 0, 0, 0, 0, 0}, {7, 80, 1285, 0, 0, 0, 0}, {32, 514, 4, 0, 0, 0, 0}, {15, 21760, 0, 0, 0, 0, 0}, {2560, 16, 0, 0, 0, 0, 0}, {51, 68, 4369, 0, 0, 0, 0}, {72, 48, 4626, 0, 0, 0, 0}, {19, 21760, 0, 0, 0, 0, 0}, {8704, 20, 0, 0, 0, 0, 0}, {63, 64, 5397, 0, 0, 0, 0}, {76, 112, 5654, 0, 0, 0, 0}, {23, 21760, 0, 0, 0, 0, 0}, {24, 48, 4608, 80, 0, 0, 0}, {76, 51, 21845, 0, 0, 0, 0}, {6682, 48, 64, 0, 0, 0, 0}, {27, 51, 68, 4352, 0, 0, 0}, {28, 32, 5632, 80, 0, 0, 0}, {72, 119, 21845, 0, 0, 0, 0}, {60, 8738, 68, 0, 0, 0, 0}, {31, 32, 64, 5376, 0, 0, 0}, {2560, 32, 0, 0, 0, 0, 0}, {3, 68, 4369, 0, 0, 0, 0}, {136, 8738, 0, 0, 0, 0, 0}, {3, 1280, 16, 0, 0, 0, 0}, {12, 36, 1536, 68, 0, 0, 0}, {15, 112, 21845, 0, 0, 0, 0}, {12, 9766, 64, 0, 0, 0, 0}, {15, 39, 80, 1280, 0, 0, 0}, {40, 8704, 0, 0, 0, 0, 0}, {3, 64, 5397, 0, 0, 0, 0}, {128, 10794, 0, 0, 0, 0, 0}, {3, 20, 4352, 0, 0, 0, 0}, {12, 32, 1536, 64, 0, 0, 0}, {15, 119, 21845, 0, 0, 0, 0}, {12, 8738, 68, 0, 0, 0, 0}, {15, 32, 80, 1280, 0, 0, 0}, {23040, 48, 0, 0, 0, 0, 0}, {19, 68, 4369, 0, 0, 0, 0}, {8, 514, 16, 0, 0, 0, 0}, {51, 21760, 0, 0, 0, 0, 0}, {8, 52, 5632, 68, 0, 0, 0}, {95, 96, 21845, 0, 0, 0, 0}, {60, 13878, 80, 0, 0, 0, 0}, {8, 55, 64, 5376, 0, 0, 0}, {8, 48, 4608, 64, 0, 0, 0}, {95, 51, 21845, 0, 0, 0, 0}, {2570, 48, 80, 0, 0, 0, 0}, {8, 51, 68, 4352, 0, 0, 0}, {60, 26112, 0, 0, 0, 0, 0}, {23, 64, 5397, 0, 0, 0, 0}, {32, 514, 20, 0, 0, 0, 0}, {63, 21760, 0, 0, 0, 0, 0}, {10752, 64, 0, 0, 0, 0, 0}, {51, 20, 4369, 0, 0, 0, 0}, {72, 96, 16962, 0, 0, 0, 0}, {15, 51, 5632, 67, 0, 0, 0}, {8704, 68, 0, 0, 0, 0, 0}, {15, 1285, 16, 0, 0, 0, 0}, {76, 32, 17990, 0, 0, 0, 0}, {15, 48, 4608, 71, 0, 0, 0}, {72, 8704, 0, 0, 0, 0, 0}, {19, 80, 1285, 0, 0, 0, 0}, {2570, 32, 64, 0, 0, 0, 0}, {15, 51, 68, 4352, 0, 0, 0}, {76, 26112, 0, 0, 0, 0, 0}, {23, 80, 1285, 0, 0, 0, 0}, {40, 8738, 68, 0, 0, 0, 0}, {15, 48, 64, 5376, 0, 0, 0}, {2560, 80, 0, 0, 0, 0, 0}, {51, 4, 4369, 0, 0, 0, 0}, {8, 112, 21074, 0, 0, 0, 0}, {12, 51, 1536, 83, 0, 0, 0}, {512, 4, 16, 0, 0, 0, 0}, {255, 21845, 0, 0, 0, 0, 0}, {12, 48, 22102, 0, 0, 0, 0}, {8, 32, 512, 87, 0, 0, 0}, {8, 32, 512, 80, 0, 0, 0}, {12, 51, 21845, 0, 0, 0, 0}, {240, 23130, 0, 0, 0, 0, 0}, {19, 4, 4352, 0, 0, 0, 0}, {12, 48, 1536, 80, 0, 0, 0}, {8, 119, 21845, 0, 0, 0, 0}, {48, 4626, 4, 0, 0, 0, 0}, {95, 21760, 0, 0, 0, 0, 0}, {2560, 96, 0, 0, 0, 0, 0}, {7, 68, 4369, 0, 0, 0, 0}, {8, 8738, 64, 0, 0, 0, 0}, {15, 51, 80, 1280, 0, 0, 0}, {8, 32, 512, 68, 0, 0, 0}, {15, 48, 21845, 0, 0, 0, 0}, {204, 26214, 0, 0, 0, 0, 0}, {7, 1280, 16, 0, 0, 0, 0}, {8, 32, 512, 64, 0, 0, 0}, {15, 51, 21845, 0, 0, 0, 0}, {192, 27242, 0, 0, 0, 0, 0}, {19, 20, 4352, 0, 0, 0, 0}, {108, 26112, 0, 0, 0, 0, 0}, {7, 64, 5397, 0, 0, 0, 0}, {8, 8738, 68, 0, 0, 0, 0}, {15, 48, 80, 1280, 0, 0, 0}, {23040, 112, 0, 0, 0, 0, 0}, {23, 68, 4369, 0, 0, 0, 0}, {40, 8738, 80, 0, 0, 0, 0}, {12, 51, 64, 5376, 0, 0, 0}, {12, 48, 4608, 68, 0, 0, 0}, {95, 32, 21845, 0, 0, 0, 0}, {12, 1542, 16, 0, 0, 0, 0}, {119, 21760, 0, 0, 0, 0, 0}, {120, 8704, 0, 0, 0, 0, 0}, {19, 64, 5397, 0, 0, 0, 0}, {2570, 32, 80, 0, 0, 0, 0}, {12, 51, 68, 4352, 0, 0, 0}, {12, 48, 5632, 64, 0, 0, 0}, {95, 119, 21845, 0, 0, 0, 0}, {48, 4626, 20, 0, 0, 0, 0}, {127, 21760, 0, 0, 0, 0, 0}, {128, 10752, 0, 0, 0, 0, 0}, {3, 20, 4369, 0, 0, 0, 0}, {40, 8738, 0, 0, 0, 0, 0}, {3, 64, 5376, 0, 0, 0, 0}, {12, 8704, 68, 0, 0, 0, 0}, {15, 32, 80, 1285, 0, 0, 0}, {12, 32, 1542, 64, 0, 0, 0}, {15, 119, 21760, 0, 0, 0, 0}, {136, 8704, 0, 0, 0, 0, 0}, {3, 1285, 16, 0, 0, 0, 0}, {2570, 32, 0, 0, 0, 0, 0}, {3, 68, 4352, 0, 0, 0, 0}, {12, 9728, 64, 0, 0, 0, 0}, {15, 39, 80, 1285, 0, 0, 0}, {12, 36, 1542, 68, 0, 0, 0}, {15, 112, 21760, 0, 0, 0, 0}, {2560, 48, 80, 0, 0, 0, 0}, {8, 51, 68, 4369, 0, 0, 0}, {8, 48, 4626, 64, 0, 0, 0}, {95, 51, 21760, 0, 0, 0, 0}, {32, 512, 20, 0, 0, 0, 0}, {63, 21845, 0, 0, 0, 0, 0}, {60, 26214, 0, 0, 0, 0, 0}, {23, 64, 5376, 0, 0, 0, 0}, {8, 512, 16, 0, 0, 0, 0}, {51, 21845, 0, 0, 0, 0, 0}, {23130, 48, 0, 0, 0, 0, 0}, {19, 68, 4352, 0, 0, 0, 0}, {60, 13824, 80, 0, 0, 0, 0}, {8, 55, 64, 5397, 0, 0, 0}, {8, 52, 5654, 68, 0, 0, 0}, {95, 96, 21760, 0, 0, 0, 0}, {160, 2560, 0, 0, 0, 0, 0}, {3, 4, 4369, 0, 0, 0, 0}, {8, 8738, 0, 0, 0, 0, 0}, {3, 80, 1280, 0, 0, 0, 0}, {32, 512, 4, 0, 0, 0, 0}, {15, 21845, 0, 0, 0, 0, 0}, {12, 26214, 0, 0, 0, 0, 0}, {7, 80, 1280, 0, 0, 0, 0}, {8, 32, 512, 0, 0, 0, 0}, {3, 21845, 0, 0, 0, 0, 0}, {43690, 0, 0, 0, 0, 0, 0}, {3, 4, 16, 256, 0, 0, 0}, {12, 96, 1536, 0, 0, 0, 0}, {7, 21845, 0, 0, 0, 0, 0}, {8738, 4, 0, 0, 0, 0, 0}, {15, 80, 1280, 0, 0, 0, 0}, {6656, 48, 64, 0, 0, 0, 0}, {27, 51, 68, 4369, 0, 0, 0}, {24, 48, 4626, 80, 0, 0, 0}, {76, 51, 21760, 0, 0, 0, 0}, {60, 8704, 68, 0, 0, 0, 0}, {31, 32, 64, 5397, 0, 0, 0}, {28, 32, 5654, 80, 0, 0, 0}, {72, 119, 21760, 0, 0, 0, 0}, {72, 48, 4608, 0, 0, 0, 0}, {19, 21845, 0, 0, 0, 0, 0}, {2570, 16, 0, 0, 0, 0, 0}, {51, 68, 4352, 0, 0, 0, 0}, {76, 112, 5632, 0, 0, 0, 0}, {23, 21845, 0, 0, 0, 0, 0}, {8738, 20, 0, 0, 0, 0, 0}, {63, 64, 5376, 0, 0, 0, 0}, {192, 27136, 0, 0, 0, 0, 0}, {19, 20, 4369, 0, 0, 0, 0}, {8, 32, 514, 64, 0, 0, 0}, {15, 51, 21760, 0, 0, 0, 0}, {8, 8704, 68, 0, 0, 0, 0}, {15, 48, 80, 1285, 0, 0, 0}, {108, 26214, 0, 0, 0, 0, 0}, {7, 64, 5376, 0, 0, 0, 0}, {8, 8704, 64, 0, 0, 0, 0}, {15, 51, 80, 1285, 0, 0, 0}, {2570, 96, 0, 0, 0, 0, 0}, {7, 68, 4352, 0, 0, 0, 0}, {204, 26112, 0, 0, 0, 0, 0}, {7, 1285, 16, 0, 0, 0, 0}, {8, 32, 514, 68, 0, 0, 0}, {15, 48, 21760, 0, 0, 0, 0}, {2560, 32, 80, 0, 0, 0, 0}, {12, 51, 68, 4369, 0, 0, 0}, {120, 8738, 0, 0, 0, 0, 0}, {19, 64, 5376, 0, 0, 0, 0}, {48, 4608, 20, 0, 0, 0, 0}, {127, 21845, 0, 0, 0, 0, 0}, {12, 48, 5654, 64, 0, 0, 0}, {95, 119, 21760, 0, 0, 0, 0}, {40, 8704, 80, 0, 0, 0, 0}, {12, 51, 64, 5397, 0, 0, 0}, {23130, 112, 0, 0, 0, 0, 0}, {23, 68, 4352, 0, 0, 0, 0}, {12, 1536, 16, 0, 0, 0, 0}, {119, 21845, 0, 0, 0, 0, 0}, {12, 48, 4626, 68, 0, 0, 0}, {95, 32, 21760, 0, 0, 0, 0}, {2560, 32, 64, 0, 0, 0, 0}, {15, 51, 68, 4369, 0, 0, 0}, {72, 8738, 0, 0, 0, 0, 0}, {19, 80, 1280, 0, 0, 0, 0}, {40, 8704, 68, 0, 0, 0, 0}, {15, 48, 64, 5397, 0, 0, 0}, {76, 26214, 0, 0, 0, 0, 0}, {23, 80, 1280, 0, 0, 0, 0}, {72, 96, 16896, 0, 0, 0, 0}, {15, 51, 5654, 67, 0, 0, 0}, {10794, 64, 0, 0, 0, 0, 0}, {51, 20, 4352, 0, 0, 0, 0}, {76, 32, 17920, 0, 0, 0, 0}, {15, 48, 4626, 71, 0, 0, 0}, {8738, 68, 0, 0, 0, 0, 0}, {15, 1280, 16, 0, 0, 0, 0}, {240, 23040, 0, 0, 0, 0, 0}, {19, 4, 4369, 0, 0, 0, 0}, {8, 32, 514, 80, 0, 0, 0}, {12, 51, 21760, 0, 0, 0, 0}, {48, 4608, 4, 0, 0, 0, 0}, {95, 21845, 0, 0, 0, 0, 0}, {12, 48, 1542, 80, 0, 0, 0}, {8, 119, 21760, 0, 0, 0, 0}, {8, 112, 20992, 0, 0, 0, 0}, {12, 51, 1542, 83, 0, 0, 0}, {2570, 80, 0, 0, 0, 0, 0}, {51, 4, 4352, 0, 0, 0, 0}, {12, 48, 22016, 0, 0, 0, 0}, {8, 32, 514, 87, 0, 0, 0}, {514, 4, 16, 0, 0, 0, 0}, {255, 21760, 0, 0, 0, 0, 0}, {768, 1024, 4096, 0, 0, 0, 0}, {170, 257, 0, 0, 0, 0, 0}, {258, 21760, 0, 0, 0, 0, 0}, {1036, 4144, 771, 0, 0, 0, 0}, {780, 4160, 1028, 0, 0, 0, 0}, {8704, 261, 0, 0, 0, 0, 0}, {262, 21760, 0, 0, 0, 0, 0}, {1032, 4208, 1799, 0, 0, 0, 0}, {1032, 768, 20480, 0, 0, 0, 0}, {265, 4403, 771, 1285, 0, 0, 0}, {266, 768, 1024, 4352, 0, 0, 0}, {4272, 771, 1028, 0, 0, 0, 0}, {1036, 1792, 20480, 0, 0, 0, 0}, {269, 4471, 514, 1285, 0, 0, 0}, {270, 514, 4420, 1028, 0, 0, 0}, {783, 8192, 1024, 0, 0, 0, 0}, {816, 1088, 4112, 0, 0, 0, 0}, {2560, 273, 0, 0, 0, 0, 0}, {274, 21760, 0, 0, 0, 0, 0}, {1100, 4128, 4883, 0, 0, 0, 0}, {828, 4176, 5140, 0, 0, 0, 0}, {8704, 277, 0, 0, 0, 0, 0}, {278, 21760, 0, 0, 0, 0, 0}, {1096, 4192, 5911, 0, 0, 0, 0}, {1096, 816, 20560, 0, 0, 0, 0}, {281, 4403, 4608, 1365, 0, 0, 0}, {282, 816, 1088, 4352, 0, 0, 0}, {6939, 819, 1092, 0, 0, 0, 0}, {1100, 1904, 20560, 0, 0, 0, 0}, {285, 5154, 5632, 1365, 0, 0, 0}, {286, 546, 4420, 5376, 0, 0, 0}, {831, 8224, 1088, 0, 0, 0, 0}, {4128, 768, 17408, 0, 0, 0, 0}, {1295, 289, 771, 4369, 0, 0, 0}, {290, 768, 1280, 4096, 0, 0, 0}, {1164, 771, 4112, 0, 0, 0, 0}, {780, 4192, 17476, 0, 0, 0, 0}, {1295, 293, 1536, 4437, 0, 0, 0}, {780, 294, 4160, 1280, 0, 0, 0}, {783, 10023, 4176, 0, 0, 0, 0}, {5160, 768, 16384, 0, 0, 0, 0}, {4122, 4403, 771, 5397, 0, 0, 0}, {298, 768, 1280, 4352, 0, 0, 0}, {4240, 771, 5140, 0, 0, 0, 0}, {780, 5984, 16448, 0, 0, 0, 0}, {1295, 1058, 1536, 5461, 0, 0, 0}, {780, 546, 4420, 1280, 0, 0, 0}, {783, 8224, 5200, 0, 0, 0, 0}, {4144, 4864, 17408, 0, 0, 0, 0}, {1375, 305, 514, 4369, 0, 0, 0}, {306, 514, 1360, 4112, 0, 0, 0}, {2048, 819, 4096, 0, 0, 0, 0}, {4940, 4208, 17476, 0, 0, 0, 0}, {5130, 309, 5632, 4437, 0, 0, 0}, {522, 310, 4176, 5376, 0, 0, 0}, {831, 14135, 4160, 0, 0, 0, 0}, {5960, 816, 16448, 0, 0, 0, 0}, {4106, 4403, 4608, 5461, 0, 0, 0}, {522, 816, 1360, 4352, 0, 0, 0}, {2056, 819, 5188, 0, 0, 0, 0}, {5180, 5888, 16384, 0, 0, 0, 0}, {4170, 4471, 514, 5397, 0, 0, 0}, {318, 514, 4420, 5140, 0, 0, 0}, {831, 8192, 5120, 0, 0, 0, 0}, {13056, 4160, 5120, 0, 0, 0, 0}, {552, 321, 1285, 4369, 0, 0, 0}, {1290, 4386, 5632, 322, 0, 0, 0}, {1100, 4208, 17219, 0, 0, 0, 0}, {3840, 1092, 4096, 0, 0, 0, 0}, {544, 325, 1285, 4112, 0, 0, 0}, {1290, 4128, 4608, 326, 0, 0, 0}, {1096, 4144, 18247, 0, 0, 0, 0}, {1096, 4864, 20480, 0, 0, 0, 0}, {329, 4403, 4883, 1285, 0, 0, 0}, {1290, 544, 1088, 4352, 0, 0, 0}, {3855, 4915, 1092, 0, 0, 0, 0}, {1100, 5888, 20480, 0, 0, 0, 0}, {333, 4471, 4626, 1285, 0, 0, 0}, {4106, 4642, 4420, 5376, 0, 0, 0}, {5951, 12336, 1088, 0, 0, 0, 0}, {13056, 4176, 1024, 0, 0, 0, 0}, {520, 337, 1028, 4369, 0, 0, 0}, {1032, 4386, 1536, 338, 0, 0, 0}, {1036, 4192, 21331, 0, 0, 0, 0}, {1020, 1028, 4112, 0, 0, 0, 0}, {512, 341, 1024, 4096, 0, 0, 0}, {1036, 4144, 512, 342, 0, 0, 0}, {1032, 4128, 22359, 0, 0, 0, 0}, {1032, 4896, 20560, 0, 0, 0, 0}, {1036, 4403, 512, 1365, 0, 0, 0}, {346, 512, 1024, 4352, 0, 0, 0}, {4320, 4883, 1028, 0, 0, 0, 0}, {1036, 5984, 20560, 0, 0, 0, 0}, {1032, 5154, 1536, 1365, 0, 0, 0}, {4122, 4626, 4420, 1028, 0, 0, 0}, {4959, 12288, 1024, 0, 0, 0, 0}, {4192, 1792, 17408, 0, 0, 0, 0}, {1295, 353, 1799, 4369, 0, 0, 0}, {520, 4386, 4160, 1280, 0, 0, 0}, {1807, 13107, 4176, 0, 0, 0, 0}, {1800, 4128, 17476, 0, 0, 0, 0}, {1295, 4144, 512, 4437, 0, 0, 0}, {358, 512, 1280, 4096, 0, 0, 0}, {1224, 1799, 4112, 0, 0, 0, 0}, {1800, 4896, 16448, 0, 0, 0, 0}, {1295, 4403, 512, 5461, 0, 0, 0}, {362, 512, 1280, 4352, 0, 0, 0}, {4304, 4883, 5140, 0, 0, 0, 0}, {5228, 1792, 16384, 0, 0, 0, 0}, {4122, 4471, 4626, 5397, 0, 0, 0}, {520, 4642, 4420, 1280, 0, 0, 0}, {1807, 12336, 5200, 0, 0, 0, 0}, {4208, 5888, 17408, 0, 0, 0, 0}, {1375, 369, 1542, 4369, 0, 0, 0}, {4874, 4386, 4176, 5376, 0, 0, 0}, {5951, 13107, 4160, 0, 0, 0, 0}, {5960, 4144, 17476, 0, 0, 0, 0}, {5130, 4128, 4608, 4437, 0, 0, 0}, {1062, 1542, 1360, 4112, 0, 0, 0}, {3072, 1911, 4096, 0, 0, 0, 0}, {5240, 4864, 16384, 0, 0, 0, 0}, {4170, 4403, 4883, 5397, 0, 0, 0}, {1546, 544, 1360, 4352, 0, 0, 0}, {3084, 4915, 5188, 0, 0, 0, 0}, {4940, 1904, 16448, 0, 0, 0, 0}, {4106, 1058, 5632, 5461, 0, 0, 0}, {4154, 4626, 4420, 5140, 0, 0, 0}, {4991, 12288, 5120, 0, 0, 0, 0}, {4224, 768, 5120, 0, 0, 0, 0}, {299, 771, 1285, 4369, 0, 0, 0}, {4106, 4386, 768, 5376, 0, 0, 0}, {5180, 771, 16448, 0, 0, 0, 0}, {780, 8192, 5188, 0, 0, 0, 0}, {783, 544, 4437, 1285, 0, 0, 0}, {1290, 1062, 1542, 5440, 0, 0, 0}, {783, 6007, 16384, 0, 0, 0, 0}, {1160, 768, 4096, 0, 0, 0, 0}, {291, 771, 1285, 4112, 0, 0, 0}, {1290, 288, 768, 4352, 0, 0, 0}, {4144, 771, 17476, 0, 0, 0, 0}, {780, 9984, 4160, 0, 0, 0, 0}, {783, 295, 4176, 1285, 0, 0, 0}, {1290, 292, 1542, 4420, 0, 0, 0}, {783, 4208, 17408, 0, 0, 0, 0}, {2048, 816, 5200, 0, 0, 0, 0}, {520, 819, 1365, 4369, 0, 0, 0}, {4122, 4386, 4626, 5440, 0, 0, 0}, {5983, 819, 16384, 0, 0, 0, 0}, {828, 8224, 5140, 0, 0, 0, 0}, {319, 512, 4437, 5120, 0, 0, 0}, {4186, 4454, 512, 5376, 0, 0, 0}, {5160, 5911, 16448, 0, 0, 0, 0}, {2056, 816, 4112, 0, 0, 0, 0}, {307, 512, 1365, 4096, 0, 0, 0}, {1370, 304, 512, 4352, 0, 0, 0}, {4128, 4883, 17476, 0, 0, 0, 0}, {828, 14080, 4176, 0, 0, 0, 0}, {520, 311, 4160, 5397, 0, 0, 0}, {5150, 308, 5654, 4420, 0, 0, 0}, {4959, 4192, 17408, 0, 0, 0, 0}, {4256, 768, 1024, 0, 0, 0, 0}, {267, 771, 1028, 4369, 0, 0, 0}, {264, 4386, 768, 1280, 0, 0, 0}, {1036, 771, 20560, 0, 0, 0, 0}, {780, 8224, 1028, 0, 0, 0, 0}, {271, 512, 4437, 1024, 0, 0, 0}, {268, 4454, 512, 1280, 0, 0, 0}, {1032, 1799, 20560, 0, 0, 0, 0}, {1032, 4128, 768, 0, 0, 0, 0}, {259, 21845, 0, 0, 0, 0, 0}, {170, 256, 0, 0, 0, 0, 0}, {771, 1028, 4112, 0, 0, 0, 0}, {1036, 4192, 1792, 0, 0, 0, 0}, {263, 21845, 0, 0, 0, 0, 0}, {8738, 260, 0, 0, 0, 0, 0}, {783, 4176, 1024, 0, 0, 0, 0}, {6912, 816, 1088, 0, 0, 0, 0}, {283, 819, 1092, 4369, 0, 0, 0}, {280, 4386, 4626, 1360, 0, 0, 0}, {1100, 819, 20480, 0, 0, 0, 0}, {828, 8192, 1092, 0, 0, 0, 0}, {287, 544, 4437, 5397, 0, 0, 0}, {284, 5174, 5654, 1360, 0, 0, 0}, {1096, 1911, 20480, 0, 0, 0, 0}, {1096, 4144, 4864, 0, 0, 0, 0}, {275, 21845, 0, 0, 0, 0, 0}, {2570, 272, 0, 0, 0, 0, 0}, {819, 1092, 4096, 0, 0, 0, 0}, {1100, 4208, 5888, 0, 0, 0, 0}, {279, 21845, 0, 0, 0, 0, 0}, {8738, 276, 0, 0, 0, 0, 0}, {831, 4160, 5120, 0, 0, 0, 0}, {4288, 4864, 5120, 0, 0, 0, 0}, {363, 514, 1285, 4369, 0, 0, 0}, {1290, 4386, 514, 5440, 0, 0, 0}, {1807, 4915, 16384, 0, 0, 0, 0}, {1800, 12288, 5188, 0, 0, 0, 0}, {522, 4656, 4437, 1285, 0, 0, 0}, {4106, 4454, 4608, 5376, 0, 0, 0}, {5240, 1799, 16448, 0, 0, 0, 0}, {1800, 13056, 4160, 0, 0, 0, 0}, {522, 4403, 4176, 1285, 0, 0, 0}, {1290, 352, 1792, 4352, 0, 0, 0}, {4208, 1799, 17476, 0, 0, 0, 0}, {1228, 1792, 4096, 0, 0, 0, 0}, {359, 514, 1285, 4112, 0, 0, 0}, {1290, 4128, 514, 4420, 0, 0, 0}, {1807, 4144, 17408, 0, 0, 0, 0}, {3072, 4896, 5200, 0, 0, 0, 0}, {1548, 546, 1365, 4369, 0, 0, 0}, {4186, 4386, 4864, 5376, 0, 0, 0}, {5228, 4883, 16448, 0, 0, 0, 0}, {4972, 12336, 5140, 0, 0, 0, 0}, {4138, 4608, 4437, 5120, 0, 0, 0}, {4122, 1062, 5654, 5440, 0, 0, 0}, {4959, 1911, 16384, 0, 0, 0, 0}, {5928, 13056, 4176, 0, 0, 0, 0}, {4889, 4403, 4160, 5397, 0, 0, 0}, {1370, 368, 1536, 4352, 0, 0, 0}, {4192, 5911, 17476, 0, 0, 0, 0}, {3084, 1904, 4112, 0, 0, 0, 0}, {1058, 1536, 1365, 4096, 0, 0, 0}, {5150, 4144, 4626, 4420, 0, 0, 0}, {5983, 4128, 17408, 0, 0, 0, 0}, {3840, 4896, 1088, 0, 0, 0, 0}, {1295, 546, 1092, 4369, 0, 0, 0}, {328, 4386, 4864, 1280, 0, 0, 0}, {1100, 4883, 20560, 0, 0, 0, 0}, {5928, 12288, 1092, 0, 0, 0, 0}, {4122, 4656, 4437, 5397, 0, 0, 0}, {332, 4454, 4608, 1280, 0, 0, 0}, {1096, 5911, 20560, 0, 0, 0, 0}, {1096, 4192, 17152, 0, 0, 0, 0}, {1295, 4403, 5654, 323, 0, 0, 0}, {554, 320, 1280, 4352, 0, 0, 0}, {13107, 4176, 5140, 0, 0, 0, 0}, {1100, 4128, 18176, 0, 0, 0, 0}, {1295, 4144, 4626, 327, 0, 0, 0}, {546, 324, 1280, 4096, 0, 0, 0}, {3855, 1088, 4112, 0, 0, 0, 0}, {4336, 4864, 1024, 0, 0, 0, 0}, {347, 514, 1028, 4369, 0, 0, 0}, {1032, 4386, 514, 1360, 0, 0, 0}, {1036, 4915, 20480, 0, 0, 0, 0}, {4940, 12336, 1028, 0, 0, 0, 0}, {4106, 4608, 4437, 1024, 0, 0, 0}, {1036, 5174, 1542, 1360, 0, 0, 0}, {1032, 6007, 20480, 0, 0, 0, 0}, {1032, 4208, 21248, 0, 0, 0, 0}, {1036, 4403, 1542, 339, 0, 0, 0}, {522, 336, 1024, 4352, 0, 0, 0}, {13107, 4160, 1028, 0, 0, 0, 0}, {1036, 4144, 22272, 0, 0, 0, 0}, {1032, 4128, 514, 343, 0, 0, 0}, {514, 340, 1028, 4112, 0, 0, 0}, {1023, 1024, 4096, 0, 0, 0, 0}, {3072, 24576, 0, 0, 0, 0, 0}, {7, 85, 257, 0, 0, 0, 0}, {8, 34, 514, 1024, 0, 0, 0}, {15, 771, 20480, 0, 0, 0, 0}, {8, 8192, 1028, 0, 0, 0, 0}, {15, 768, 85, 1285, 0, 0, 0}, {170, 1542, 0, 0, 0, 0, 0}, {7, 1024, 4096, 0, 0, 0, 0}, {8, 8192, 1024, 0, 0, 0, 0}, {15, 771, 85, 1285, 0, 0, 0}, {1546, 26112, 0, 0, 0, 0, 0}, {7, 4160, 1028, 0, 0, 0, 0}, {24768, 3084, 0, 0, 0, 0, 0}, {258, 261, 4352, 0, 0, 0, 0}, {8, 34, 514, 1028, 0, 0, 0}, {15, 768, 20480, 0, 0, 0, 0}, {3136, 112, 4112, 0, 0, 0, 0}, {34, 1553, 85, 4369, 0, 0, 0}, {90, 34, 4626, 5120, 0, 0, 0}, {127, 4883, 16384, 0, 0, 0, 0}, {120, 12288, 5140, 0, 0, 0, 0}, {42, 4864, 85, 5397, 0, 0, 0}, {90, 112, 1558, 4096, 0, 0, 0}, {119, 5911, 17408, 0, 0, 0, 0}, {5160, 12336, 5200, 0, 0, 0, 0}, {4889, 4915, 85, 5376, 0, 0, 0}, {4122, 4144, 5632, 4160, 0, 0, 0}, {5983, 119, 17476, 0, 0, 0, 0}, {7196, 4128, 4176, 0, 0, 0, 0}, {1565, 34, 85, 4352, 0, 0, 0}, {5150, 34, 4608, 5188, 0, 0, 0}, {4959, 4896, 16448, 0, 0, 0, 0}, {128, 3072, 8224, 16384, 0, 0, 0}, {15, 34, 771, 85, 1280, 4369, 0}, {34, 1536, 17408, 0, 0, 0, 0}, {15, 112, 771, 4112, 0, 0, 0}, {136, 3084, 9252, 17476, 0, 0, 0}, {15, 37, 768, 85, 1280, 4096, 0}, {1548, 1574, 16448, 0, 0, 0, 0}, {15, 5159, 768, 5200, 0, 0, 0}, {136, 3072, 9256, 17408, 0, 0, 0}, {15, 37, 771, 85, 1280, 4117, 0}, {42, 1536, 16384, 0, 0, 0, 0}, {15, 119, 771, 5140, 0, 0, 0}, {128, 3084, 8224, 16448, 0, 0, 0}, {15, 34, 768, 85, 1280, 4352, 0}, {1548, 34, 17476, 0, 0, 0, 0}, {15, 4128, 768, 4176, 0, 0, 0}, {240, 3120, 12336, 20480, 0, 0, 0}, {8, 34, 514, 85, 1041, 4369, 0}, {8, 34, 514, 82, 1042, 4112, 0}, {255, 3123, 13107, 21299, 0, 0, 0}, {8, 1076, 1092, 4096, 0, 0, 0}, {2570, 1589, 85, 0, 0, 0, 0}, {90, 1590, 20560, 0, 0, 0, 0}, {8, 1079, 4864, 1088, 0, 0, 0}, {8, 4144, 4160, 5120, 0, 0, 0}, {1593, 13107, 85, 0, 0, 0, 0}, {90, 1632, 20560, 0, 0, 0, 0}, {8, 1075, 5888, 1092, 0, 0, 0}, {240, 3132, 12288, 20480, 0, 0, 0}, {8, 34, 514, 85, 1045, 4352, 0}, {8, 34, 514, 82, 1046, 4098, 0}, {255, 3135, 13056, 21311, 0, 0, 0}, {128, 3136, 8192, 16448, 0, 0, 0}, {15, 34, 785, 85, 1285, 4369, 0}, {34, 1602, 17408, 0, 0, 0, 0}, {15, 112, 835, 4096, 0, 0, 0}, {136, 3140, 9284, 17476, 0, 0, 0}, {15, 37, 789, 85, 1285, 4112, 0}, {42, 1606, 16384, 0, 0, 0, 0}, {15, 119, 839, 5120, 0, 0, 0}, {136, 3144, 9288, 17408, 0, 0, 0}, {15, 37, 790, 85, 1285, 4101, 0}, {1610, 1632, 16448, 0, 0, 0, 0}, {15, 5171, 5888, 5188, 0, 0, 0}, {128, 3148, 8192, 16384, 0, 0, 0}, {15, 34, 786, 85, 1285, 4352, 0}, {1614, 34, 17476, 0, 0, 0, 0}, {15, 4144, 4864, 4160, 0, 0, 0}, {240, 3072, 12288, 20560, 0, 0, 0}, {8, 34, 512, 85, 1028, 4369, 0}, {8, 34, 512, 82, 1024, 4096, 0}, {255, 3084, 13107, 21331, 0, 0, 0}, {8, 112, 1028, 4112, 0, 0, 0}, {1536, 85, 0, 0, 0, 0, 0}, {90, 1622, 20480, 0, 0, 0, 0}, {8, 119, 4951, 1024, 0, 0, 0}, {8, 4128, 4176, 1024, 0, 0, 0}, {1548, 13107, 85, 0, 0, 0, 0}, {90, 1536, 20480, 0, 0, 0, 0}, {8, 119, 4883, 1028, 0, 0, 0}, {240, 3084, 12336, 20560, 0, 0, 0}, {8, 34, 512, 85, 1024, 4352, 0}, {8, 34, 512, 82, 1028, 4114, 0}, {255, 3072, 13056, 21343, 0, 0, 0}, {3264, 24672, 0, 0, 0, 0, 0}, {7, 1280, 273, 0, 0, 0, 0}, {8, 34, 512, 1088, 0, 0, 0}, {15, 819, 20560, 0, 0, 0, 0}, {8, 8224, 1092, 0, 0, 0, 0}, {15, 816, 85, 1280, 0, 0, 0}, {2560, 1638, 0, 0, 0, 0, 0}, {7, 1088, 4112, 0, 0, 0, 0}, {8, 8224, 1088, 0, 0, 0, 0}, {15, 819, 85, 1280, 0, 0, 0}, {1642, 26112, 0, 0, 0, 0, 0}, {7, 4176, 5140, 0, 0, 0, 0}, {24736, 27756, 0, 0, 0, 0, 0}, {274, 277, 4352, 0, 0, 0, 0}, {8, 34, 512, 1092, 0, 0, 0}, {15, 816, 20560, 0, 0, 0, 0}, {3072, 112, 4096, 0, 0, 0, 0}, {34, 1542, 85, 4369, 0, 0, 0}, {5130, 34, 4608, 5200, 0, 0, 0}, {4940, 4915, 16448, 0, 0, 0, 0}, {5180, 12336, 5188, 0, 0, 0, 0}, {4874, 4896, 85, 5376, 0, 0, 0}, {90, 112, 1542, 4112, 0, 0, 0}, {119, 5888, 17408, 0, 0, 0, 0}, {120, 12288, 5120, 0, 0, 0, 0}, {42, 4883, 85, 5397, 0, 0, 0}, {4106, 4128, 5632, 4176, 0, 0, 0}, {5960, 119, 17476, 0, 0, 0, 0}, {3084, 4144, 4160, 0, 0, 0, 0}, {1546, 34, 85, 4352, 0, 0, 0}, {90, 34, 4626, 5140, 0, 0, 0}, {127, 4864, 16384, 0, 0, 0, 0}, {128, 3072, 8192, 16384, 0, 0, 0}, {15, 34, 771, 85, 1285, 4369, 0}, {1546, 34, 17408, 0, 0, 0, 0}, {15, 4144, 771, 4160, 0, 0, 0}, {136, 3084, 9228, 17476, 0, 0, 0}, {15, 37, 768, 85, 1285, 4101, 0}, {42, 1542, 16448, 0, 0, 0, 0}, {15, 119, 768, 5120, 0, 0, 0}, {136, 3072, 9216, 17408, 0, 0, 0}, {15, 37, 771, 85, 1285, 4112, 0}, {1546, 1568, 16384, 0, 0, 0, 0}, {15, 5171, 771, 5188, 0, 0, 0}, {128, 3084, 8192, 16448, 0, 0, 0}, {15, 34, 768, 85, 1285, 4352, 0}, {34, 1542, 17476, 0, 0, 0, 0}, {15, 112, 768, 4096, 0, 0, 0}, {240, 3120, 12336, 20560, 0, 0, 0}, {8, 34, 512, 85, 1041, 4369, 0}, {8, 34, 512, 82, 1042, 4114, 0}, {255, 3123, 13107, 21356, 0, 0, 0}, {8, 4128, 4176, 5140, 0, 0, 0}, {1599, 13056, 85, 0, 0, 0, 0}, {90, 1638, 20480, 0, 0, 0, 0}, {8, 1079, 5911, 1088, 0, 0, 0}, {8, 1072, 1088, 4112, 0, 0, 0}, {2560, 1587, 85, 0, 0, 0, 0}, {90, 1584, 20480, 0, 0, 0, 0}, {8, 1075, 4883, 1092, 0, 0, 0}, {240, 3132, 12288, 20560, 0, 0, 0}, {8, 34, 512, 85, 1045, 4352, 0}, {8, 34, 512, 82, 1046, 4096, 0}, {255, 3135, 13056, 21344, 0, 0, 0}, {24736, 3072, 0, 0, 0, 0, 0}, {259, 260, 4369, 0, 0, 0, 0}, {8, 34, 512, 1024, 0, 0, 0}, {15, 771, 20560, 0, 0, 0, 0}, {8, 8224, 1028, 0, 0, 0, 0}, {15, 768, 85, 1280, 0, 0, 0}, {1548, 26214, 0, 0, 0, 0, 0}, {7, 4176, 1024, 0, 0, 0, 0}, {8, 8224, 1024, 0, 0, 0, 0}, {15, 771, 85, 1280, 0, 0, 0}, {170, 1536, 0, 0, 0, 0, 0}, {7, 1028, 4112, 0, 0, 0, 0}, {3084, 24672, 0, 0, 0, 0, 0}, {7, 85, 256, 0, 0, 0, 0}, {8, 34, 512, 1028, 0, 0, 0}, {15, 768, 20560, 0, 0, 0, 0}, {7168, 4144, 4160, 0, 0, 0, 0}, {1563, 34, 85, 4369, 0, 0, 0}, {5130, 34, 4626, 5200, 0, 0, 0}, {4940, 4915, 16384, 0, 0, 0, 0}, {5180, 12288, 5188, 0, 0, 0, 0}, {4874, 4896, 85, 5397, 0, 0, 0}, {4106, 4128, 5654, 4176, 0, 0, 0}, {5960, 119, 17408, 0, 0, 0, 0}, {120, 12336, 5120, 0, 0, 0, 0}, {42, 4883, 85, 5376, 0, 0, 0}, {90, 112, 1552, 4112, 0, 0, 0}, {119, 5888, 17476, 0, 0, 0, 0}, {3148, 112, 4096, 0, 0, 0, 0}, {34, 1559, 85, 4352, 0, 0, 0}, {90, 34, 4608, 5140, 0, 0, 0}, {127, 4864, 16448, 0, 0, 0, 0}, {24768, 27648, 0, 0, 0, 0, 0}, {275, 276, 4369, 0, 0, 0, 0}, {8, 34, 514, 1088, 0, 0, 0}, {15, 819, 20480, 0, 0, 0, 0}, {8, 8192, 1092, 0, 0, 0, 0}, {15, 816, 85, 1285, 0, 0, 0}, {1644, 26214, 0, 0, 0, 0, 0}, {7, 4160, 5120, 0, 0, 0, 0}, {8, 8192, 1088, 0, 0, 0, 0}, {15, 819, 85, 1285, 0, 0, 0}, {2570, 1632, 0, 0, 0, 0, 0}, {7, 1092, 4096, 0, 0, 0, 0}, {3276, 24576, 0, 0, 0, 0, 0}, {7, 1285, 272, 0, 0, 0, 0}, {8, 34, 514, 1092, 0, 0, 0}, {15, 816, 20480, 0, 0, 0, 0}, {3072, 4128, 4176, 0, 0, 0, 0}, {1548, 34, 85, 4369, 0, 0, 0}, {90, 34, 4608, 5120, 0, 0, 0}, {127, 4883, 16448, 0, 0, 0, 0}, {120, 12336, 5140, 0, 0, 0, 0}, {42, 4864, 85, 5376, 0, 0, 0}, {4122, 4144, 5654, 4160, 0, 0, 0}, {5983, 119, 17408, 0, 0, 0, 0}, {5160, 12288, 5200, 0, 0, 0, 0}, {4889, 4915, 85, 5397, 0, 0, 0}, {90, 112, 1536, 4096, 0, 0, 0}, {119, 5911, 17476, 0, 0, 0, 0}, {3084, 112, 4112, 0, 0, 0, 0}, {34, 1536, 85, 4352, 0, 0, 0}, {5150, 34, 4626, 5188, 0, 0, 0}, {4959, 4896, 16384, 0, 0, 0, 0}, {128, 3136, 8224, 16448, 0, 0, 0}, {15, 34, 785, 85, 1280, 4369, 0}, {1608, 34, 17408, 0, 0, 0, 0}, {15, 4128, 4883, 4176, 0, 0, 0}, {136, 3140, 9324, 17476, 0, 0, 0}, {15, 37, 789, 85, 1280, 4117, 0}, {1612, 1638, 16384, 0, 0, 0, 0}, {15, 5159, 5911, 5200, 0, 0, 0}, {136, 3144, 9312, 17408, 0, 0, 0}, {15, 37, 790, 85, 1280, 4096, 0}, {42, 1600, 16448, 0, 0, 0, 0}, {15, 119, 836, 5140, 0, 0, 0}, {128, 3148, 8224, 16384, 0, 0, 0}, {15, 34, 786, 85, 1280, 4352, 0}, {34, 1604, 17476, 0, 0, 0, 0}, {15, 112, 832, 4112, 0, 0, 0}, {240, 3072, 12288, 20480, 0, 0, 0}, {8, 34, 514, 85, 1028, 4369, 0}, {8, 34, 514, 82, 1024, 4098, 0}, {255, 3084, 13107, 21260, 0, 0, 0}, {8, 4144, 4160, 1028, 0, 0, 0}, {1546, 13056, 85, 0, 0, 0, 0}, {90, 1542, 20560, 0, 0, 0, 0}, {8, 119, 4864, 1024, 0, 0, 0}, {8, 112, 1024, 4096, 0, 0, 0}, {1542, 85, 0, 0, 0, 0, 0}, {90, 1616, 20560, 0, 0, 0, 0}, {8, 119, 4932, 1028, 0, 0, 0}, {240, 3084, 12336, 20480, 0, 0, 0}, {8, 34, 514, 85, 1024, 4352, 0}, {8, 34, 514, 82, 1028, 4112, 0}, {255, 3072, 13056, 21248, 0, 0, 0}, {1792, 21760, 0, 0, 0, 0, 0}, {12, 96, 257, 0, 0, 0, 0}, {1290, 514, 20480, 0, 0, 0, 0}, {12, 4403, 771, 1024, 0, 0, 0}, {12, 768, 4420, 1028, 0, 0, 0}, {522, 8192, 1285, 0, 0, 0, 0}, {262, 1024, 4096, 0, 0, 0, 0}, {22015, 1799, 0, 0, 0, 0, 0}, {1800, 21760, 0, 0, 0, 0, 0}, {4144, 771, 261, 0, 0, 0, 0}, {1290, 1792, 20480, 0, 0, 0, 0}, {12, 4471, 771, 1028, 0, 0, 0}, {12, 768, 1024, 4352, 0, 0, 0}, {160, 514, 1285, 0, 0, 0, 0}, {258, 4160, 1028, 0, 0, 0, 0}, {1807, 8704, 0, 0, 0, 0, 0}, {1328, 1808, 1360, 4112, 0, 0, 0}, {2116, 1911, 4369, 0, 0, 0, 0}, {5482, 4626, 16384, 0, 0, 0, 0}, {4447, 4403, 4883, 5120, 0, 0, 0}, {4392, 4864, 4420, 5140, 0, 0, 0}, {4714, 12288, 5397, 0, 0, 0, 0}, {4454, 5654, 17408, 0, 0, 0, 0}, {1375, 96, 1815, 4096, 0, 0, 0}, {4632, 4144, 4176, 5376, 0, 0, 0}, {5674, 13107, 4437, 0, 0, 0, 0}, {4698, 1904, 16448, 0, 0, 0, 0}, {4379, 1331, 5632, 5188, 0, 0, 0}, {1820, 544, 1360, 4352, 0, 0, 0}, {7453, 4642, 5461, 0, 0, 0, 0}, {5722, 4386, 17476, 0, 0, 0, 0}, {5407, 4128, 4608, 4160, 0, 0, 0}, {544, 1280, 0, 0, 0, 0, 0}, {12, 771, 1092, 4369, 0, 0, 0}, {1928, 3840, 8738, 21026, 0, 0, 0}, {12, 291, 771, 323, 1283, 4112, 0}, {12, 292, 768, 324, 1280, 4096, 0}, {1935, 3855, 9509, 21845, 0, 0, 0}, {12, 5414, 768, 1088, 0, 0, 0}, {1295, 1831, 20560, 0, 0, 0, 0}, {552, 8192, 1280, 0, 0, 0, 0}, {12, 771, 4437, 5397, 0, 0, 0}, {1920, 3840, 9514, 21034, 0, 0, 0}, {12, 295, 771, 327, 1283, 4375, 0}, {12, 288, 768, 320, 1280, 4352, 0}, {1927, 3855, 8738, 21845, 0, 0, 0}, {12, 4386, 768, 1092, 0, 0, 0}, {1295, 544, 20560, 0, 0, 0, 0}, {4656, 5376, 0, 0, 0, 0, 0}, {1337, 514, 1365, 4369, 0, 0, 0}, {1370, 96, 514, 4112, 0, 0, 0}, {4403, 5632, 17408, 0, 0, 0, 0}, {2056, 1844, 4420, 0, 0, 0, 0}, {522, 1333, 1365, 4096, 0, 0, 0}, {4362, 1334, 4864, 5200, 0, 0, 0}, {4680, 1847, 16448, 0, 0, 0, 0}, {1848, 12336, 5440, 0, 0, 0, 0}, {522, 4915, 4437, 5120, 0, 0, 0}, {5386, 4144, 5888, 4176, 0, 0, 0}, {5708, 4471, 17476, 0, 0, 0, 0}, {1852, 4352, 0, 0, 0, 0, 0}, {4128, 514, 4160, 5397, 0, 0, 0}, {4430, 4386, 514, 5140, 0, 0, 0}, {5439, 4608, 16384, 0, 0, 0, 0}, {4608, 5440, 0, 0, 0, 0, 0}, {590, 546, 1285, 4369, 0, 0, 0}, {1290, 96, 578, 4096, 0, 0, 0}, {4403, 1859, 17408, 0, 0, 0, 0}, {5632, 4420, 0, 0, 0, 0, 0}, {586, 96, 1285, 4112, 0, 0, 0}, {4362, 4454, 582, 5120, 0, 0, 0}, {5439, 1863, 16384, 0, 0, 0, 0}, {4680, 12288, 5376, 0, 0, 0, 0}, {4409, 4883, 4437, 1285, 0, 0, 0}, {1290, 4128, 5888, 4160, 0, 0, 0}, {1867, 4471, 17476, 0, 0, 0, 0}, {1868, 4352, 0, 0, 0, 0, 0}, {4144, 4626, 4176, 1285, 0, 0, 0}, {1290, 4386, 4864, 5188, 0, 0, 0}, {1871, 4656, 16448, 0, 0, 0, 0}, {512, 1360, 0, 0, 0, 0, 0}, {12, 819, 1028, 4369, 0, 0, 0}, {2040, 2056, 8738, 21074, 0, 0, 0}, {12, 307, 512, 339, 1024, 4096, 0}, {12, 308, 516, 340, 1028, 4112, 0}, {2047, 2048, 9557, 21845, 0, 0, 0}, {12, 4454, 4694, 1024, 0, 0, 0}, {1375, 1879, 20480, 0, 0, 0, 0}, {520, 8224, 1360, 0, 0, 0, 0}, {12, 819, 4437, 1024, 0, 0, 0}, {2032, 2048, 9562, 21082, 0, 0, 0}, {12, 311, 516, 343, 1028, 4375, 0}, {12, 304, 512, 336, 1024, 4352, 0}, {2039, 2056, 8738, 21845, 0, 0, 0}, {12, 4386, 4626, 1028, 0, 0, 0}, {1375, 512, 20480, 0, 0, 0, 0}, {96, 512, 1280, 4096, 0, 0, 0}, {204, 1799, 4369, 0, 0, 0, 0}, {1800, 4642, 16448, 0, 0, 0, 0}, {1295, 4403, 512, 5200, 0, 0, 0}, {520, 4896, 4420, 1280, 0, 0, 0}, {1807, 12336, 5461, 0, 0, 0, 0}, {4454, 1792, 17408, 0, 0, 0, 0}, {1295, 96, 1799, 4112, 0, 0, 0}, {520, 4128, 4160, 1280, 0, 0, 0}, {1807, 13107, 4437, 0, 0, 0, 0}, {5482, 1792, 16384, 0, 0, 0, 0}, {4379, 4471, 4883, 5140, 0, 0, 0}, {108, 512, 1280, 4352, 0, 0, 0}, {192, 4626, 5397, 0, 0, 0, 0}, {1800, 4386, 17476, 0, 0, 0, 0}, {1295, 4144, 512, 4176, 0, 0, 0}, {1904, 21760, 0, 0, 0, 0, 0}, {12, 1542, 273, 0, 0, 0, 0}, {1370, 546, 20560, 0, 0, 0, 0}, {12, 4403, 4608, 1088, 0, 0, 0}, {12, 816, 4420, 5376, 0, 0, 0}, {554, 8224, 1365, 0, 0, 0, 0}, {278, 1088, 4112, 0, 0, 0, 0}, {23040, 1911, 0, 0, 0, 0, 0}, {1912, 21760, 0, 0, 0, 0, 0}, {4128, 4883, 277, 0, 0, 0, 0}, {1370, 1904, 20560, 0, 0, 0, 0}, {12, 5427, 5632, 1092, 0, 0, 0}, {12, 816, 1088, 4352, 0, 0, 0}, {2570, 546, 1365, 0, 0, 0, 0}, {274, 4176, 5140, 0, 0, 0, 0}, {1919, 8704, 0, 0, 0, 0, 0}, {1920, 3840, 8704, 21760, 0, 0, 0}, {12, 289, 771, 321, 1285, 4369, 0}, {1290, 546, 20480, 0, 0, 0, 0}, {12, 4403, 771, 1088, 0, 0, 0}, {12, 768, 4420, 5376, 0, 0, 0}, {554, 8224, 1285, 0, 0, 0, 0}, {12, 294, 768, 326, 1286, 4358, 0}, {1927, 3855, 9487, 21112, 0, 0, 0}, {1928, 3840, 9472, 21760, 0, 0, 0}, {12, 293, 771, 325, 1285, 4112, 0}, {1290, 1824, 20480, 0, 0, 0, 0}, {12, 5427, 771, 1092, 0, 0, 0}, {12, 768, 1088, 4352, 0, 0, 0}, {546, 1285, 0, 0, 0, 0, 0}, {12, 290, 768, 322, 1286, 4096, 0}, {1935, 3855, 8704, 21104, 0, 0, 0}, {4144, 512, 4176, 5376, 0, 0, 0}, {1851, 4369, 0, 0, 0, 0, 0}, {5418, 4626, 16448, 0, 0, 0, 0}, {4447, 4403, 512, 5120, 0, 0, 0}, {520, 4896, 4420, 5140, 0, 0, 0}, {1855, 12288, 5461, 0, 0, 0, 0}, {5722, 4454, 17408, 0, 0, 0, 0}, {5407, 4128, 5911, 4160, 0, 0, 0}, {520, 1328, 1360, 4112, 0, 0, 0}, {2048, 1843, 4437, 0, 0, 0, 0}, {4698, 1840, 16384, 0, 0, 0, 0}, {4379, 1331, 4883, 5188, 0, 0, 0}, {1340, 512, 1360, 4352, 0, 0, 0}, {4642, 5397, 0, 0, 0, 0, 0}, {4386, 5654, 17476, 0, 0, 0, 0}, {1375, 96, 512, 4096, 0, 0, 0}, {160, 512, 1280, 0, 0, 0, 0}, {12, 771, 1028, 4369, 0, 0, 0}, {1800, 8738, 0, 0, 0, 0, 0}, {259, 4176, 1024, 0, 0, 0, 0}, {4128, 768, 260, 0, 0, 0, 0}, {1807, 21845, 0, 0, 0, 0, 0}, {12, 4454, 768, 1024, 0, 0, 0}, {1295, 1799, 20560, 0, 0, 0, 0}, {520, 8224, 1280, 0, 0, 0, 0}, {12, 771, 4437, 1024, 0, 0, 0}, {21930, 1792, 0, 0, 0, 0, 0}, {263, 1028, 4112, 0, 0, 0, 0}, {12, 96, 256, 0, 0, 0, 0}, {1799, 21845, 0, 0, 0, 0, 0}, {12, 4386, 768, 1028, 0, 0, 0}, {1295, 512, 20560, 0, 0, 0, 0}, {7424, 4656, 5440, 0, 0, 0, 0}, {1819, 546, 1365, 4369, 0, 0, 0}, {5386, 4144, 4626, 4176, 0, 0, 0}, {5708, 4403, 17408, 0, 0, 0, 0}, {5692, 13056, 4420, 0, 0, 0, 0}, {4618, 4128, 4160, 5397, 0, 0, 0}, {4362, 1334, 5654, 5200, 0, 0, 0}, {4680, 1911, 16384, 0, 0, 0, 0}, {4728, 12336, 5376, 0, 0, 0, 0}, {4409, 4883, 4437, 5120, 0, 0, 0}, {1370, 96, 1808, 4112, 0, 0, 0}, {4471, 5632, 17476, 0, 0, 0, 0}, {2124, 1904, 4352, 0, 0, 0, 0}, {1333, 1815, 1365, 4096, 0, 0, 0}, {4430, 4386, 4864, 5140, 0, 0, 0}, {5503, 4608, 16448, 0, 0, 0, 0}, {192, 4608, 5376, 0, 0, 0, 0}, {108, 514, 1285, 4369, 0, 0, 0}, {1290, 4128, 514, 4160, 0, 0, 0}, {1807, 4403, 17408, 0, 0, 0, 0}, {1800, 13056, 4420, 0, 0, 0, 0}, {522, 4144, 4176, 1285, 0, 0, 0}, {4362, 4454, 4864, 5120, 0, 0, 0}, {5503, 1799, 16448, 0, 0, 0, 0}, {1800, 12288, 5440, 0, 0, 0, 0}, {522, 4915, 4437, 1285, 0, 0, 0}, {1290, 96, 1792, 4096, 0, 0, 0}, {4471, 1799, 17476, 0, 0, 0, 0}, {204, 1792, 4352, 0, 0, 0, 0}, {96, 514, 1285, 4112, 0, 0, 0}, {1290, 4386, 514, 5188, 0, 0, 0}, {1807, 4656, 16384, 0, 0, 0, 0}, {2560, 544, 1360, 0, 0, 0, 0}, {12, 819, 1092, 4369, 0, 0, 0}, {1912, 8738, 0, 0, 0, 0, 0}, {275, 4160, 5120, 0, 0, 0, 0}, {4144, 4864, 276, 0, 0, 0, 0}, {1919, 21845, 0, 0, 0, 0, 0}, {12, 5414, 5654, 1088, 0, 0, 0}, {1375, 1911, 20480, 0, 0, 0, 0}, {552, 8192, 1360, 0, 0, 0, 0}, {12, 819, 4437, 5397, 0, 0, 0}, {23130, 1904, 0, 0, 0, 0, 0}, {279, 1092, 4096, 0, 0, 0, 0}, {12, 1536, 272, 0, 0, 0, 0}, {1911, 21845, 0, 0, 0, 0, 0}, {12, 4386, 4626, 1092, 0, 0, 0}, {1375, 544, 20480, 0, 0, 0, 0}, {4128, 4608, 4160, 1280, 0, 0, 0}, {1867, 4369, 0, 0, 0, 0, 0}, {1864, 4642, 16384, 0, 0, 0, 0}, {1295, 4403, 4883, 5200, 0, 0, 0}, {4392, 4864, 4420, 1280, 0, 0, 0}, {4698, 12336, 5397, 0, 0, 0, 0}, {1868, 4454, 17408, 0, 0, 0, 0}, {1295, 4144, 5911, 4176, 0, 0, 0}, {584, 96, 1280, 4096, 0, 0, 0}, {5654, 4437, 0, 0, 0, 0, 0}, {5418, 1856, 16448, 0, 0, 0, 0}, {4379, 4471, 580, 5140, 0, 0, 0}, {588, 544, 1280, 4352, 0, 0, 0}, {4626, 5461, 0, 0, 0, 0, 0}, {4386, 1860, 17476, 0, 0, 0, 0}, {1295, 96, 576, 4112, 0, 0, 0}, {2032, 2048, 8704, 21760, 0, 0, 0}, {12, 305, 514, 337, 1028, 4369, 0}, {1370, 514, 20560, 0, 0, 0, 0}, {12, 4403, 4608, 1024, 0, 0, 0}, {12, 816, 4420, 1028, 0, 0, 0}, {522, 8192, 1365, 0, 0, 0, 0}, {12, 310, 518, 342, 1024, 4358, 0}, {2039, 2056, 9599, 21000, 0, 0, 0}, {2040, 2056, 9584, 21760, 0, 0, 0}, {12, 309, 518, 341, 1024, 4096, 0}, {1370, 1872, 20560, 0, 0, 0, 0}, {12, 4471, 4676, 1028, 0, 0, 0}, {12, 816, 1024, 4352, 0, 0, 0}, {514, 1365, 0, 0, 0, 0, 0}, {12, 306, 514, 338, 1028, 4112, 0}, {2047, 2048, 8704, 20992, 0, 0, 0}, {8704, 1024, 0, 0, 0, 0, 0}, {15, 80, 257, 0, 0, 0, 0}, {1032, 514, 16416, 0, 0, 0, 0}, {15, 4403, 771, 1027, 0, 0, 0}, {8840, 1028, 0, 0, 0, 0, 0}, {768, 261, 4096, 0, 0, 0, 0}, {1036, 1542, 16480, 0, 0, 0, 0}, {15, 4471, 768, 1031, 0, 0, 0}, {1032, 26112, 0, 0, 0, 0, 0}, {262, 80, 1285, 0, 0, 0, 0}, {522, 8192, 1024, 0, 0, 0, 0}, {15, 771, 4420, 1028, 0, 0, 0}, {1036, 8704, 0, 0, 0, 0, 0}, {258, 80, 1285, 0, 0, 0, 0}, {160, 514, 1028, 0, 0, 0, 0}, {15, 768, 1024, 4352, 0, 0, 0}, {544, 80, 1040, 4112, 0, 0, 0}, {3123, 1092, 4369, 0, 0, 0, 0}, {1096, 4626, 16432, 0, 0, 0, 0}, {95, 4403, 4883, 1043, 0, 0, 0}, {552, 80, 1044, 4096, 0, 0, 0}, {13056, 4437, 5397, 0, 0, 0, 0}, {1100, 5654, 16496, 0, 0, 0, 0}, {95, 4471, 4864, 1047, 0, 0, 0}, {1048, 4144, 5632, 80, 0, 0, 0}, {1100, 4454, 21845, 0, 0, 0, 0}, {5674, 12336, 1088, 0, 0, 0, 0}, {4379, 4915, 4420, 5376, 0, 0, 0}, {1052, 4128, 4608, 80, 0, 0, 0}, {1096, 4386, 21845, 0, 0, 0, 0}, {7710, 4642, 1092, 0, 0, 0, 0}, {1055, 544, 1088, 4352, 0, 0, 0}, {1056, 1536, 17408, 0, 0, 0, 0}, {15, 1140, 771, 4369, 0, 0, 0}, {1160, 3072, 8738, 16384, 0, 0, 0}, {15, 291, 771, 80, 1280, 4112, 0}, {1548, 1060, 17476, 0, 0, 0, 0}, {15, 5413, 768, 4437, 0, 0, 0}, {1164, 3084, 9766, 16448, 0, 0, 0}, {15, 295, 768, 80, 1280, 4096, 0}, {1064, 1536, 16384, 0, 0, 0, 0}, {15, 4454, 771, 5397, 0, 0, 0}, {1152, 3072, 9770, 17408, 0, 0, 0}, {15, 292, 771, 80, 1280, 4372, 0}, {1548, 544, 16448, 0, 0, 0, 0}, {15, 4386, 768, 5461, 0, 0, 0}, {1156, 3084, 8738, 17476, 0, 0, 0}, {15, 288, 768, 80, 1280, 4352, 0}, {1072, 5632, 17408, 0, 0, 0, 0}, {95, 1124, 514, 4369, 0, 0, 0}, {1080, 514, 80, 4112, 0, 0, 0}, {4403, 5376, 0, 0, 0, 0, 0}, {5708, 1076, 17476, 0, 0, 0, 0}, {4362, 5429, 4864, 4437, 0, 0, 0}, {522, 1590, 80, 4096, 0, 0, 0}, {2056, 1079, 5440, 0, 0, 0, 0}, {4680, 5744, 16448, 0, 0, 0, 0}, {5386, 1075, 5888, 5461, 0, 0, 0}, {522, 4144, 80, 5120, 0, 0, 0}, {1083, 13107, 4420, 0, 0, 0, 0}, {1084, 4608, 16384, 0, 0, 0, 0}, {95, 4386, 514, 5397, 0, 0, 0}, {4128, 514, 80, 5140, 0, 0, 0}, {1087, 4352, 0, 0, 0, 0, 0}, {8704, 1088, 0, 0, 0, 0, 0}, {15, 1285, 273, 0, 0, 0, 0}, {1096, 546, 16962, 0, 0, 0, 0}, {15, 4403, 4608, 1091, 0, 0, 0}, {10752, 1092, 0, 0, 0, 0, 0}, {816, 277, 4112, 0, 0, 0, 0}, {1100, 1638, 17990, 0, 0, 0, 0}, {15, 5424, 5632, 1095, 0, 0, 0}, {1096, 26112, 0, 0, 0, 0, 0}, {278, 80, 1285, 0, 0, 0, 0}, {554, 8224, 1088, 0, 0, 0, 0}, {15, 819, 4420, 5376, 0, 0, 0}, {1100, 8704, 0, 0, 0, 0, 0}, {274, 80, 1285, 0, 0, 0, 0}, {2570, 546, 1092, 0, 0, 0, 0}, {15, 816, 1088, 4352, 0, 0, 0}, {512, 80, 1024, 4096, 0, 0, 0}, {255, 1028, 4369, 0, 0, 0, 0}, {1032, 4642, 21074, 0, 0, 0, 0}, {1036, 4403, 512, 1107, 0, 0, 0}, {520, 80, 1028, 4112, 0, 0, 0}, {13056, 4437, 1024, 0, 0, 0, 0}, {1036, 5734, 22102, 0, 0, 0, 0}, {1032, 5408, 1536, 1111, 0, 0, 0}, {1032, 4128, 1536, 80, 0, 0, 0}, {1036, 4454, 21845, 0, 0, 0, 0}, {4698, 12288, 1024, 0, 0, 0, 0}, {4379, 4883, 4420, 1028, 0, 0, 0}, {1036, 4144, 512, 80, 0, 0, 0}, {1032, 4386, 21845, 0, 0, 0, 0}, {240, 4626, 1028, 0, 0, 0, 0}, {95, 512, 1024, 4352, 0, 0, 0}, {1120, 512, 17408, 0, 0, 0, 0}, {15, 1076, 1799, 4369, 0, 0, 0}, {1224, 2056, 8738, 16448, 0, 0, 0}, {15, 307, 512, 80, 1280, 4096, 0}, {520, 1124, 17476, 0, 0, 0, 0}, {15, 1072, 1792, 4437, 0, 0, 0}, {1228, 2048, 9830, 16384, 0, 0, 0}, {15, 311, 519, 80, 1280, 4112, 0}, {520, 1632, 16448, 0, 0, 0, 0}, {15, 1075, 1792, 5461, 0, 0, 0}, {1216, 2048, 9834, 17408, 0, 0, 0}, {15, 308, 519, 80, 1280, 4372, 0}, {1132, 512, 16384, 0, 0, 0, 0}, {15, 4386, 4626, 5397, 0, 0, 0}, {1220, 2056, 8738, 17476, 0, 0, 0}, {15, 304, 512, 80, 1280, 4352, 0}, {1136, 4608, 17408, 0, 0, 0, 0}, {95, 1060, 1542, 4369, 0, 0, 0}, {1546, 546, 80, 4096, 0, 0, 0}, {3084, 4403, 5440, 0, 0, 0, 0}, {4680, 1140, 17476, 0, 0, 0, 0}, {4362, 1056, 5888, 4437, 0, 0, 0}, {1068, 1542, 80, 4112, 0, 0, 0}, {4471, 5376, 0, 0, 0, 0, 0}, {1144, 5632, 16384, 0, 0, 0, 0}, {95, 4454, 4883, 5397, 0, 0, 0}, {4618, 4128, 80, 5120, 0, 0, 0}, {5439, 13107, 4420, 0, 0, 0, 0}, {5708, 4656, 16448, 0, 0, 0, 0}, {5386, 4386, 4864, 5461, 0, 0, 0}, {4144, 4626, 80, 5140, 0, 0, 0}, {1151, 4352, 0, 0, 0, 0, 0}, {1152, 3072, 8704, 17408, 0, 0, 0}, {15, 289, 771, 80, 1285, 4369, 0}, {1546, 546, 16384, 0, 0, 0, 0}, {15, 4403, 771, 5440, 0, 0, 0}, {1156, 3084, 9740, 17476, 0, 0, 0}, {15, 293, 768, 80, 1285, 4357, 0}, {1068, 1542, 16448, 0, 0, 0, 0}, {15, 4471, 768, 5376, 0, 0, 0}, {1160, 3072, 9728, 16384, 0, 0, 0}, {15, 294, 771, 80, 1285, 4112, 0}, {1546, 1056, 17408, 0, 0, 0, 0}, {15, 5424, 771, 4420, 0, 0, 0}, {1164, 3084, 8704, 16448, 0, 0, 0}, {15, 290, 768, 80, 1285, 4096, 0}, {1060, 1542, 17476, 0, 0, 0, 0}, {15, 1136, 768, 4352, 0, 0, 0}, {4144, 512, 80, 5120, 0, 0, 0}, {1083, 4369, 0, 0, 0, 0, 0}, {1080, 4626, 16448, 0, 0, 0, 0}, {95, 4403, 512, 5376, 0, 0, 0}, {520, 4128, 80, 5140, 0, 0, 0}, {1087, 13056, 4437, 0, 0, 0, 0}, {4698, 5734, 16384, 0, 0, 0, 0}, {5407, 1079, 5911, 5440, 0, 0, 0}, {520, 1584, 80, 4112, 0, 0, 0}, {2048, 1075, 5461, 0, 0, 0, 0}, {5722, 1072, 17408, 0, 0, 0, 0}, {4379, 5408, 4883, 4420, 0, 0, 0}, {1084, 512, 80, 4096, 0, 0, 0}, {4386, 5397, 0, 0, 0, 0, 0}, {1076, 5654, 17476, 0, 0, 0, 0}, {95, 1120, 512, 4352, 0, 0, 0}, {160, 512, 1024, 0, 0, 0, 0}, {15, 771, 1028, 4369, 0, 0, 0}, {1032, 8738, 0, 0, 0, 0, 0}, {259, 80, 1280, 0, 0, 0, 0}, {520, 8224, 1028, 0, 0, 0, 0}, {15, 768, 4437, 1024, 0, 0, 0}, {1036, 26214, 0, 0, 0, 0, 0}, {263, 80, 1280, 0, 0, 0, 0}, {1032, 1536, 16416, 0, 0, 0, 0}, {15, 4454, 771, 1027, 0, 0, 0}, {8874, 1024, 0, 0, 0, 0, 0}, {771, 260, 4112, 0, 0, 0, 0}, {1036, 512, 16480, 0, 0, 0, 0}, {15, 4386, 768, 1031, 0, 0, 0}, {8738, 1028, 0, 0, 0, 0, 0}, {15, 80, 256, 0, 0, 0, 0}, {7680, 4656, 1088, 0, 0, 0, 0}, {1051, 546, 1092, 4369, 0, 0, 0}, {1048, 4144, 4626, 80, 0, 0, 0}, {1100, 4403, 21760, 0, 0, 0, 0}, {5692, 12288, 1092, 0, 0, 0, 0}, {4362, 4896, 4437, 5397, 0, 0, 0}, {1052, 4128, 5654, 80, 0, 0, 0}, {1096, 4471, 21760, 0, 0, 0, 0}, {1096, 5632, 16432, 0, 0, 0, 0}, {95, 4454, 4883, 1043, 0, 0, 0}, {554, 80, 1040, 4112, 0, 0, 0}, {13107, 4420, 5376, 0, 0, 0, 0}, {1100, 4608, 16496, 0, 0, 0, 0}, {95, 4386, 4864, 1047, 0, 0, 0}, {546, 80, 1044, 4096, 0, 0, 0}, {3135, 1088, 4352, 0, 0, 0, 0}, {1216, 2048, 8704, 17408, 0, 0, 0}, {15, 305, 514, 80, 1285, 4369, 0}, {1128, 514, 16448, 0, 0, 0, 0}, {15, 4403, 4608, 5376, 0, 0, 0}, {1220, 2056, 9804, 17476, 0, 0, 0}, {15, 309, 517, 80, 1285, 4357, 0}, {522, 1638, 16384, 0, 0, 0, 0}, {15, 1079, 1799, 5440, 0, 0, 0}, {1224, 2056, 9792, 16448, 0, 0, 0}, {15, 310, 517, 80, 1285, 4096, 0}, {522, 1120, 17408, 0, 0, 0, 0}, {15, 1076, 1799, 4420, 0, 0, 0}, {1228, 2048, 8704, 16384, 0, 0, 0}, {15, 306, 514, 80, 1285, 4112, 0}, {1124, 514, 17476, 0, 0, 0, 0}, {15, 1072, 1792, 4352, 0, 0, 0}, {4128, 4608, 80, 5120, 0, 0, 0}, {1147, 4369, 0, 0, 0, 0, 0}, {5722, 4642, 16384, 0, 0, 0, 0}, {5407, 4403, 4883, 5440, 0, 0, 0}, {4632, 4144, 80, 5140, 0, 0, 0}, {5418, 13056, 4437, 0, 0, 0, 0}, {1148, 5654, 16448, 0, 0, 0, 0}, {95, 4471, 4864, 5376, 0, 0, 0}, {1064, 1536, 80, 4096, 0, 0, 0}, {4454, 5397, 0, 0, 0, 0, 0}, {4698, 1136, 17408, 0, 0, 0, 0}, {4379, 1060, 5911, 4420, 0, 0, 0}, {1548, 544, 80, 4112, 0, 0, 0}, {3072, 4386, 5461, 0, 0, 0, 0}, {1140, 4626, 17476, 0, 0, 0, 0}, {95, 1056, 1536, 4352, 0, 0, 0}, {2560, 544, 1088, 0, 0, 0, 0}, {15, 819, 1092, 4369, 0, 0, 0}, {1096, 8738, 0, 0, 0, 0, 0}, {275, 80, 1280, 0, 0, 0, 0}, {552, 8192, 1092, 0, 0, 0, 0}, {15, 816, 4437, 5397, 0, 0, 0}, {1100, 26214, 0, 0, 0, 0, 0}, {279, 80, 1280, 0, 0, 0, 0}, {1096, 1632, 17920, 0, 0, 0, 0}, {15, 5413, 5654, 1091, 0, 0, 0}, {10794, 1088, 0, 0, 0, 0, 0}, {819, 276, 4096, 0, 0, 0, 0}, {1100, 544, 16896, 0, 0, 0, 0}, {15, 4386, 4626, 1095, 0, 0, 0}, {8738, 1092, 0, 0, 0, 0, 0}, {15, 1280, 272, 0, 0, 0, 0}, {240, 4608, 1024, 0, 0, 0, 0}, {95, 514, 1028, 4369, 0, 0, 0}, {1032, 4128, 514, 80, 0, 0, 0}, {1036, 4403, 21760, 0, 0, 0, 0}, {4680, 12336, 1028, 0, 0, 0, 0}, {4362, 4864, 4437, 1024, 0, 0, 0}, {1036, 4144, 1542, 80, 0, 0, 0}, {1032, 4471, 21760, 0, 0, 0, 0}, {1032, 5744, 22016, 0, 0, 0, 0}, {1036, 5429, 1542, 1107, 0, 0, 0}, {522, 80, 1024, 4096, 0, 0, 0}, {13107, 4420, 1028, 0, 0, 0, 0}, {1036, 4656, 20992, 0, 0, 0, 0}, {1032, 4386, 514, 1111, 0, 0, 0}, {514, 80, 1028, 4112, 0, 0, 0}, {255, 1024, 4352, 0, 0, 0, 0}, {3840, 20480, 0, 0, 0, 0, 0}, {34, 4, 257, 0, 0, 0, 0}, {8, 34, 514, 1282, 0, 0, 0}, {12, 771, 20528, 0, 0, 0, 0}, {768, 4, 4096, 0, 0, 0, 0}, {170, 1285, 0, 0, 0, 0, 0}, {12, 102, 768, 1286, 0, 0, 0}, {8, 1799, 20592, 0, 0, 0, 0}, {8, 1792, 20480, 0, 0, 0, 0}, {12, 102, 771, 1285, 0, 0, 0}, {1290, 21760, 0, 0, 0, 0, 0}, {4144, 771, 4, 0, 0, 0, 0}, {12, 768, 20480, 0, 0, 0, 0}, {8, 34, 514, 1285, 0, 0, 0}, {258, 4, 4352, 0, 0, 0, 0}, {20720, 3855, 0, 0, 0, 0, 0}, {3888, 64, 4112, 0, 0, 0, 0}, {34, 68, 1297, 4369, 0, 0, 0}, {72, 34, 4626, 1298, 0, 0, 0}, {76, 4883, 20512, 0, 0, 0, 0}, {13056, 68, 5140, 0, 0, 0, 0}, {42, 64, 1301, 4096, 0, 0, 0}, {76, 102, 4864, 1302, 0, 0, 0}, {72, 5911, 20576, 0, 0, 0, 0}, {72, 5984, 20560, 0, 0, 0, 0}, {1305, 1331, 5632, 1365, 0, 0, 0}, {4122, 4144, 64, 5376, 0, 0, 0}, {5160, 13107, 68, 0, 0, 0, 0}, {76, 4896, 20560, 0, 0, 0, 0}, {1309, 34, 4608, 1365, 0, 0, 0}, {1310, 34, 68, 4352, 0, 0, 0}, {7967, 4128, 64, 0, 0, 0, 0}, {128, 3840, 8224, 20512, 0, 0, 0}, {12, 34, 771, 68, 1283, 4369, 0}, {34, 1280, 0, 0, 0, 0, 0}, {12, 771, 64, 4112, 0, 0, 0}, {12, 5156, 768, 68, 0, 0, 0}, {1295, 1317, 21845, 0, 0, 0, 0}, {12, 38, 768, 64, 1280, 4096, 0}, {136, 3855, 10023, 20560, 0, 0, 0}, {136, 3840, 10024, 20520, 0, 0, 0}, {12, 38, 771, 64, 1283, 4118, 0}, {42, 8192, 1280, 0, 0, 0, 0}, {12, 771, 68, 5140, 0, 0, 0}, {12, 4128, 768, 64, 0, 0, 0}, {1295, 34, 21845, 0, 0, 0, 0}, {12, 34, 768, 68, 1280, 4352, 0}, {128, 3855, 8224, 20560, 0, 0, 0}, {192, 3888, 12336, 20528, 0, 0, 0}, {8, 34, 514, 68, 1299, 4369, 0}, {8, 34, 514, 64, 1296, 4112, 0}, {204, 3891, 13107, 20480, 0, 0, 0}, {8, 5172, 4864, 68, 0, 0, 0}, {1375, 1333, 21845, 0, 0, 0, 0}, {2570, 1334, 1360, 0, 0, 0, 0}, {8, 1847, 64, 4096, 0, 0, 0}, {8, 4144, 5888, 64, 0, 0, 0}, {1375, 102, 21845, 0, 0, 0, 0}, {1338, 12336, 1360, 0, 0, 0, 0}, {8, 4915, 68, 5120, 0, 0, 0}, {204, 3900, 13056, 20540, 0, 0, 0}, {8, 34, 514, 64, 1303, 4098, 0}, {8, 34, 514, 68, 1300, 4352, 0}, {192, 3903, 12288, 20480, 0, 0, 0}, {3840, 64, 4096, 0, 0, 0, 0}, {34, 68, 1285, 4369, 0, 0, 0}, {1290, 34, 4608, 1346, 0, 0, 0}, {76, 4915, 17219, 0, 0, 0, 0}, {13056, 68, 5120, 0, 0, 0, 0}, {42, 64, 1285, 4112, 0, 0, 0}, {1290, 1312, 5632, 1350, 0, 0, 0}, {72, 6007, 18247, 0, 0, 0, 0}, {72, 5888, 20480, 0, 0, 0, 0}, {76, 102, 4883, 1285, 0, 0, 0}, {4106, 4128, 64, 5376, 0, 0, 0}, {5180, 13107, 68, 0, 0, 0, 0}, {76, 4864, 20480, 0, 0, 0, 0}, {72, 34, 4626, 1285, 0, 0, 0}, {1290, 34, 68, 4352, 0, 0, 0}, {3855, 4144, 64, 0, 0, 0, 0}, {4080, 20560, 0, 0, 0, 0, 0}, {512, 4, 273, 0, 0, 0, 0}, {8, 34, 512, 1362, 0, 0, 0}, {12, 819, 21331, 0, 0, 0, 0}, {816, 4, 4112, 0, 0, 0, 0}, {2560, 1365, 0, 0, 0, 0, 0}, {12, 1328, 1536, 1366, 0, 0, 0}, {8, 1911, 22359, 0, 0, 0, 0}, {8, 1904, 20560, 0, 0, 0, 0}, {12, 1331, 1536, 1365, 0, 0, 0}, {1370, 21760, 0, 0, 0, 0, 0}, {4128, 4883, 4, 0, 0, 0, 0}, {12, 816, 20560, 0, 0, 0, 0}, {8, 34, 512, 1365, 0, 0, 0}, {274, 4, 4352, 0, 0, 0, 0}, {20640, 24415, 0, 0, 0, 0, 0}, {192, 3840, 12288, 20576, 0, 0, 0}, {8, 34, 512, 68, 1287, 4369, 0}, {8, 34, 512, 64, 1280, 4096, 0}, {204, 3855, 13107, 20560, 0, 0, 0}, {8, 5152, 1792, 68, 0, 0, 0}, {1295, 1381, 21845, 0, 0, 0, 0}, {102, 1280, 0, 0, 0, 0, 0}, {8, 1799, 64, 4112, 0, 0, 0}, {8, 4128, 1792, 64, 0, 0, 0}, {1295, 102, 21845, 0, 0, 0, 0}, {106, 12288, 1280, 0, 0, 0, 0}, {8, 4883, 68, 5140, 0, 0, 0}, {204, 3840, 13056, 20588, 0, 0, 0}, {8, 34, 512, 64, 1287, 4114, 0}, {8, 34, 512, 68, 1280, 4352, 0}, {192, 3855, 12336, 20560, 0, 0, 0}, {128, 3952, 8192, 20592, 0, 0, 0}, {12, 34, 785, 68, 1303, 4369, 0}, {2570, 34, 1360, 0, 0, 0, 0}, {12, 819, 64, 4096, 0, 0, 0}, {12, 5168, 5888, 68, 0, 0, 0}, {1375, 1397, 21845, 0, 0, 0, 0}, {12, 38, 790, 64, 1296, 4112, 0}, {136, 3959, 10103, 20480, 0, 0, 0}, {136, 3960, 10104, 20600, 0, 0, 0}, {12, 38, 789, 64, 1299, 4102, 0}, {42, 8224, 1360, 0, 0, 0, 0}, {12, 819, 68, 5120, 0, 0, 0}, {12, 4144, 4864, 64, 0, 0, 0}, {1375, 34, 21845, 0, 0, 0, 0}, {12, 34, 786, 68, 1300, 4352, 0}, {128, 3967, 8192, 20480, 0, 0, 0}, {128, 3840, 8192, 20480, 0, 0, 0}, {12, 34, 771, 68, 1285, 4369, 0}, {1290, 34, 21760, 0, 0, 0, 0}, {12, 4144, 771, 64, 0, 0, 0}, {12, 768, 68, 5120, 0, 0, 0}, {42, 8224, 1285, 0, 0, 0, 0}, {12, 38, 768, 64, 1286, 4102, 0}, {136, 3855, 9999, 20600, 0, 0, 0}, {136, 3840, 9984, 20480, 0, 0, 0}, {12, 38, 771, 64, 1285, 4112, 0}, {1290, 1312, 21760, 0, 0, 0, 0}, {12, 5168, 771, 68, 0, 0, 0}, {12, 768, 64, 4096, 0, 0, 0}, {34, 1285, 0, 0, 0, 0, 0}, {12, 34, 768, 68, 1286, 4352, 0}, {128, 3855, 8192, 20592, 0, 0, 0}, {192, 3888, 12336, 20560, 0, 0, 0}, {8, 34, 512, 68, 1297, 4369, 0}, {8, 34, 512, 64, 1298, 4114, 0}, {204, 3891, 13107, 20588, 0, 0, 0}, {8, 4896, 68, 5140, 0, 0, 0}, {1343, 12288, 1365, 0, 0, 0, 0}, {1370, 102, 21760, 0, 0, 0, 0}, {8, 4128, 5911, 64, 0, 0, 0}, {8, 1840, 64, 4112, 0, 0, 0}, {2560, 1331, 1365, 0, 0, 0, 0}, {1370, 1328, 21760, 0, 0, 0, 0}, {8, 5152, 4883, 68, 0, 0, 0}, {204, 3900, 13056, 20560, 0, 0, 0}, {8, 34, 512, 64, 1301, 4096, 0}, {8, 34, 512, 68, 1302, 4352, 0}, {192, 3903, 12288, 20576, 0, 0, 0}, {20640, 3840, 0, 0, 0, 0, 0}, {259, 4, 4369, 0, 0, 0, 0}, {8, 34, 512, 1280, 0, 0, 0}, {12, 771, 20560, 0, 0, 0, 0}, {4128, 768, 4, 0, 0, 0, 0}, {1295, 21845, 0, 0, 0, 0, 0}, {12, 102, 768, 1280, 0, 0, 0}, {8, 1799, 20560, 0, 0, 0, 0}, {8, 1792, 20512, 0, 0, 0, 0}, {12, 102, 771, 1283, 0, 0, 0}, {170, 1280, 0, 0, 0, 0, 0}, {771, 4, 4112, 0, 0, 0, 0}, {12, 768, 20576, 0, 0, 0, 0}, {8, 34, 512, 1287, 0, 0, 0}, {34, 4, 256, 0, 0, 0, 0}, {3855, 20560, 0, 0, 0, 0, 0}, {7936, 4144, 64, 0, 0, 0, 0}, {1307, 34, 68, 4369, 0, 0, 0}, {1304, 34, 4626, 1360, 0, 0, 0}, {76, 4915, 20480, 0, 0, 0, 0}, {5180, 13056, 68, 0, 0, 0, 0}, {4106, 4128, 64, 5397, 0, 0, 0}, {1308, 1334, 5654, 1360, 0, 0, 0}, {72, 6007, 20480, 0, 0, 0, 0}, {72, 5888, 20528, 0, 0, 0, 0}, {76, 102, 4883, 1299, 0, 0, 0}, {42, 64, 1296, 4112, 0, 0, 0}, {13107, 68, 5120, 0, 0, 0, 0}, {76, 4864, 20592, 0, 0, 0, 0}, {72, 34, 4608, 1303, 0, 0, 0}, {34, 68, 1300, 4352, 0, 0, 0}, {3903, 64, 4096, 0, 0, 0, 0}, {192, 3840, 12288, 20480, 0, 0, 0}, {8, 34, 514, 68, 1285, 4369, 0}, {8, 34, 514, 64, 1282, 4098, 0}, {204, 3855, 13107, 20540, 0, 0, 0}, {8, 4864, 68, 5120, 0, 0, 0}, {106, 12336, 1285, 0, 0, 0, 0}, {1290, 102, 21760, 0, 0, 0, 0}, {8, 4144, 1799, 64, 0, 0, 0}, {8, 1792, 64, 4096, 0, 0, 0}, {102, 1285, 0, 0, 0, 0, 0}, {1290, 1376, 21760, 0, 0, 0, 0}, {8, 5172, 1799, 68, 0, 0, 0}, {204, 3840, 13056, 20480, 0, 0, 0}, {8, 34, 514, 64, 1285, 4112, 0}, {8, 34, 514, 68, 1282, 4352, 0}, {192, 3855, 12336, 20528, 0, 0, 0}, {128, 3952, 8224, 20560, 0, 0, 0}, {12, 34, 785, 68, 1297, 4369, 0}, {1370, 34, 21760, 0, 0, 0, 0}, {12, 4128, 4883, 64, 0, 0, 0}, {12, 816, 68, 5140, 0, 0, 0}, {42, 8192, 1365, 0, 0, 0, 0}, {12, 38, 790, 64, 1302, 4118, 0}, {136, 3959, 10079, 20520, 0, 0, 0}, {136, 3960, 10064, 20560, 0, 0, 0}, {12, 38, 789, 64, 1301, 4096, 0}, {1370, 1392, 21760, 0, 0, 0, 0}, {12, 5156, 5911, 68, 0, 0, 0}, {12, 816, 64, 4112, 0, 0, 0}, {2560, 34, 1365, 0, 0, 0, 0}, {12, 34, 786, 68, 1298, 4352, 0}, {128, 3967, 8224, 20512, 0, 0, 0}, {3840, 4128, 64, 0, 0, 0, 0}, {1295, 34, 68, 4369, 0, 0, 0}, {72, 34, 4608, 1280, 0, 0, 0}, {76, 4883, 20560, 0, 0, 0, 0}, {5160, 13056, 68, 0, 0, 0, 0}, {4122, 4144, 64, 5397, 0, 0, 0}, {76, 102, 4864, 1280, 0, 0, 0}, {72, 5911, 20560, 0, 0, 0, 0}, {72, 5984, 18176, 0, 0, 0, 0}, {1295, 1317, 5654, 1347, 0, 0, 0}, {42, 64, 1280, 4096, 0, 0, 0}, {13107, 68, 5140, 0, 0, 0, 0}, {76, 4896, 17152, 0, 0, 0, 0}, {1295, 34, 4626, 1351, 0, 0, 0}, {34, 68, 1280, 4352, 0, 0, 0}, {3855, 64, 4112, 0, 0, 0, 0}, {20720, 24320, 0, 0, 0, 0, 0}, {275, 4, 4369, 0, 0, 0, 0}, {8, 34, 514, 1360, 0, 0, 0}, {12, 819, 20480, 0, 0, 0, 0}, {4144, 4864, 4, 0, 0, 0, 0}, {1375, 21845, 0, 0, 0, 0, 0}, {12, 1334, 1542, 1360, 0, 0, 0}, {8, 1911, 20480, 0, 0, 0, 0}, {8, 1904, 22272, 0, 0, 0, 0}, {12, 1333, 1542, 1363, 0, 0, 0}, {2570, 1360, 0, 0, 0, 0, 0}, {819, 4, 4096, 0, 0, 0, 0}, {12, 816, 21248, 0, 0, 0, 0}, {8, 34, 514, 1367, 0, 0, 0}, {514, 4, 272, 0, 0, 0, 0}, {4095, 20480, 0, 0, 0, 0, 0}, {12288, 16384, 0, 0, 0, 0, 0}, {10, 17, 257, 0, 0, 0, 0}, {10, 34, 514, 4098, 0, 0, 0}, {51, 771, 16396, 0, 0, 0, 0}, {12300, 68, 1028, 0, 0, 0, 0}, {10, 85, 1285, 4101, 0, 0, 0}, {10, 102, 1542, 4102, 0, 0, 0}, {119, 1799, 16392, 0, 0, 0, 0}, {136, 2056, 12288, 16392, 0, 0, 0}, {10, 51, 771, 85, 1285, 4099, 0}, {10, 4096, 0, 0, 0, 0, 0}, {51, 771, 68, 1028, 0, 0, 0}, {204, 3084, 12300, 16396, 0, 0, 0}, {10, 34, 514, 85, 1285, 4103, 0}, {10, 34, 514, 68, 1028, 4100, 0}, {255, 3855, 12303, 16384, 0, 0, 0}, {160, 4112, 0, 0, 0, 0, 0}, {768, 1024, 17, 0, 0, 0, 0}, {34, 4626, 16456, 0, 0, 0, 0}, {95, 51, 768, 4115, 0, 0, 0}, {40, 68, 1024, 4116, 0, 0, 0}, {12351, 85, 5397, 0, 0, 0, 0}, {102, 5654, 16460, 0, 0, 0, 0}, {95, 119, 1792, 4119, 0, 0, 0}, {4120, 4144, 20560, 0, 0, 0, 0}, {5401, 51, 768, 85, 0, 0, 0}, {170, 6682, 12336, 16448, 0, 0, 0}, {27, 51, 768, 68, 1024, 4096, 0}, {4124, 4208, 20560, 0, 0, 0, 0}, {5405, 34, 1792, 85, 0, 0, 0}, {4638, 34, 68, 1024, 0, 0, 0}, {4127, 8224, 4160, 0, 0, 0, 0}, {4128, 20480, 0, 0, 0, 0, 0}, {1036, 771, 17, 0, 0, 0, 0}, {34, 4608, 16384, 0, 0, 0, 0}, {95, 51, 771, 4112, 0, 0, 0}, {4108, 4132, 68, 5120, 0, 0, 0}, {5418, 9509, 85, 0, 0, 0, 0}, {5708, 102, 16448, 0, 0, 0, 0}, {4111, 4135, 5888, 4176, 0, 0, 0}, {40, 4096, 0, 0, 0, 0, 0}, {51, 771, 85, 5397, 0, 0, 0}, {170, 6698, 12288, 16426, 0, 0, 0}, {27, 51, 771, 68, 1047, 4099, 0}, {4140, 8224, 4160, 0, 0, 0, 0}, {4623, 34, 85, 5376, 0, 0, 0}, {1036, 34, 5632, 68, 0, 0, 0}, {95, 4208, 20560, 0, 0, 0, 0}, {16576, 12336, 0, 0, 0, 0, 0}, {258, 1280, 17, 0, 0, 0, 0}, {10, 34, 514, 4112, 0, 0, 0}, {51, 768, 16384, 0, 0, 0, 0}, {1032, 13364, 68, 0, 0, 0, 0}, {10, 4149, 85, 1280, 0, 0, 0}, {10, 4150, 1536, 4176, 0, 0, 0}, {1800, 119, 16448, 0, 0, 0, 0}, {136, 2056, 12336, 16448, 0, 0, 0}, {10, 51, 768, 85, 1280, 4096, 0}, {10, 4144, 20560, 0, 0, 0, 0}, {1032, 51, 768, 68, 0, 0, 0}, {204, 3072, 12348, 16384, 0, 0, 0}, {10, 34, 514, 85, 1280, 4117, 0}, {10, 34, 514, 68, 1026, 4118, 0}, {255, 3840, 12351, 16447, 0, 0, 0}, {12480, 16448, 0, 0, 0, 0, 0}, {512, 261, 17, 0, 0, 0, 0}, {10, 34, 512, 4162, 0, 0, 0}, {783, 51, 17219, 0, 0, 0, 0}, {12288, 68, 1024, 0, 0, 0, 0}, {10, 85, 1285, 4112, 0, 0, 0}, {10, 4128, 1536, 4166, 0, 0, 0}, {1807, 119, 18247, 0, 0, 0, 0}, {136, 2048, 12360, 16456, 0, 0, 0}, {10, 51, 773, 85, 1285, 4118, 0}, {10, 8224, 4160, 0, 0, 0, 0}, {783, 51, 68, 1024, 0, 0, 0}, {204, 3072, 12288, 16460, 0, 0, 0}, {10, 34, 512, 85, 1285, 4114, 0}, {10, 34, 512, 68, 1024, 4096, 0}, {255, 3855, 12336, 16448, 0, 0, 0}, {8192, 4176, 0, 0, 0, 0, 0}, {780, 1028, 17, 0, 0, 0, 0}, {4698, 34, 21074, 0, 0, 0, 0}, {4108, 51, 4864, 4179, 0, 0, 0}, {40, 68, 1028, 4112, 0, 0, 0}, {12288, 85, 5376, 0, 0, 0, 0}, {5722, 102, 22102, 0, 0, 0, 0}, {4104, 4128, 5888, 4183, 0, 0, 0}, {4184, 4208, 20560, 0, 0, 0, 0}, {5388, 51, 5632, 85, 0, 0, 0}, {170, 6746, 12378, 16384, 0, 0, 0}, {27, 51, 791, 68, 1028, 4100, 0}, {4188, 4144, 20560, 0, 0, 0, 0}, {5384, 34, 4608, 85, 0, 0, 0}, {34, 4626, 68, 1028, 0, 0, 0}, {95, 4096, 0, 0, 0, 0, 0}, {4192, 20480, 0, 0, 0, 0, 0}, {1032, 1799, 17, 0, 0, 0, 0}, {4680, 34, 16448, 0, 0, 0, 0}, {4111, 51, 4864, 4176, 0, 0, 0}, {4104, 4128, 68, 5120, 0, 0, 0}, {5439, 12336, 85, 0, 0, 0, 0}, {102, 5632, 16384, 0, 0, 0, 0}, {95, 119, 1799, 4112, 0, 0, 0}, {40, 8224, 4160, 0, 0, 0, 0}, {783, 51, 85, 5376, 0, 0, 0}, {170, 6762, 12394, 16490, 0, 0, 0}, {27, 51, 788, 68, 1043, 4103, 0}, {108, 4096, 0, 0, 0, 0, 0}, {34, 4626, 85, 5397, 0, 0, 0}, {1032, 34, 4608, 68, 0, 0, 0}, {95, 4144, 20560, 0, 0, 0, 0}, {16512, 28784, 0, 0, 0, 0, 0}, {262, 1280, 17, 0, 0, 0, 0}, {10, 34, 512, 4176, 0, 0, 0}, {780, 51, 16448, 0, 0, 0, 0}, {1036, 12336, 68, 0, 0, 0, 0}, {10, 4128, 85, 1280, 0, 0, 0}, {10, 102, 1542, 4112, 0, 0, 0}, {119, 1792, 16384, 0, 0, 0, 0}, {136, 2048, 12408, 16384, 0, 0, 0}, {10, 51, 774, 85, 1280, 4117, 0}, {10, 4208, 20560, 0, 0, 0, 0}, {1036, 51, 1792, 68, 0, 0, 0}, {204, 3084, 12336, 16448, 0, 0, 0}, {10, 34, 512, 85, 1280, 4096, 0}, {10, 34, 512, 68, 1030, 4114, 0}, {255, 3840, 12288, 16511, 0, 0, 0}, {16512, 12288, 0, 0, 0, 0, 0}, {259, 1285, 17, 0, 0, 0, 0}, {10, 34, 512, 4096, 0, 0, 0}, {51, 771, 16448, 0, 0, 0, 0}, {1036, 13312, 68, 0, 0, 0, 0}, {10, 4133, 85, 1285, 0, 0, 0}, {10, 4134, 1542, 4160, 0, 0, 0}, {1807, 119, 16384, 0, 0, 0, 0}, {136, 2048, 12288, 16384, 0, 0, 0}, {10, 51, 771, 85, 1285, 4112, 0}, {10, 4128, 20480, 0, 0, 0, 0}, {1036, 51, 771, 68, 0, 0, 0}, {204, 3084, 12300, 16448, 0, 0, 0}, {10, 34, 512, 85, 1285, 4101, 0}, {10, 34, 512, 68, 1030, 4102, 0}, {255, 3855, 12303, 16511, 0, 0, 0}, {4144, 20560, 0, 0, 0, 0, 0}, {1032, 768, 17, 0, 0, 0, 0}, {34, 4626, 16448, 0, 0, 0, 0}, {95, 51, 768, 4096, 0, 0, 0}, {4124, 4148, 68, 5140, 0, 0, 0}, {5439, 9472, 85, 0, 0, 0, 0}, {5722, 102, 16384, 0, 0, 0, 0}, {4127, 4151, 5911, 4160, 0, 0, 0}, {40, 4112, 0, 0, 0, 0, 0}, {51, 768, 85, 5376, 0, 0, 0}, {170, 6704, 12336, 16490, 0, 0, 0}, {27, 51, 768, 68, 1043, 4115, 0}, {4156, 8192, 4176, 0, 0, 0, 0}, {4637, 34, 85, 5397, 0, 0, 0}, {1032, 34, 5654, 68, 0, 0, 0}, {95, 4192, 20480, 0, 0, 0, 0}, {160, 4096, 0, 0, 0, 0, 0}, {771, 1028, 17, 0, 0, 0, 0}, {34, 4608, 16392, 0, 0, 0, 0}, {95, 51, 771, 4099, 0, 0, 0}, {40, 68, 1028, 4100, 0, 0, 0}, {12303, 85, 5376, 0, 0, 0, 0}, {102, 5632, 16396, 0, 0, 0, 0}, {95, 119, 1799, 4103, 0, 0, 0}, {4104, 4128, 20480, 0, 0, 0, 0}, {5388, 51, 771, 85, 0, 0, 0}, {170, 6656, 12288, 16384, 0, 0, 0}, {27, 51, 771, 68, 1028, 4112, 0}, {4108, 4192, 20480, 0, 0, 0, 0}, {5384, 34, 1799, 85, 0, 0, 0}, {4620, 34, 68, 1028, 0, 0, 0}, {4111, 8192, 4176, 0, 0, 0, 0}, {12336, 16448, 0, 0, 0, 0, 0}, {10, 17, 256, 0, 0, 0, 0}, {10, 34, 512, 4114, 0, 0, 0}, {51, 768, 16460, 0, 0, 0, 0}, {12348, 68, 1024, 0, 0, 0, 0}, {10, 85, 1280, 4117, 0, 0, 0}, {10, 102, 1536, 4118, 0, 0, 0}, {119, 1792, 16456, 0, 0, 0, 0}, {136, 2048, 12336, 16456, 0, 0, 0}, {10, 51, 768, 85, 1280, 4115, 0}, {10, 4112, 0, 0, 0, 0, 0}, {51, 768, 68, 1024, 0, 0, 0}, {204, 3072, 12348, 16460, 0, 0, 0}, {10, 34, 512, 85, 1280, 4119, 0}, {10, 34, 512, 68, 1024, 4116, 0}, {255, 3840, 12351, 16448, 0, 0, 0}, {16576, 28672, 0, 0, 0, 0, 0}, {263, 1285, 17, 0, 0, 0, 0}, {10, 34, 514, 4160, 0, 0, 0}, {783, 51, 16384, 0, 0, 0, 0}, {1032, 12288, 68, 0, 0, 0, 0}, {10, 4144, 85, 1285, 0, 0, 0}, {10, 102, 1536, 4096, 0, 0, 0}, {119, 1799, 16448, 0, 0, 0, 0}, {136, 2056, 12360, 16448, 0, 0, 0}, {10, 51, 773, 85, 1285, 4101, 0}, {10, 4192, 20480, 0, 0, 0, 0}, {1032, 51, 1799, 68, 0, 0, 0}, {204, 3072, 12288, 16384, 0, 0, 0}, {10, 34, 514, 85, 1285, 4112, 0}, {10, 34, 514, 68, 1026, 4098, 0}, {255, 3855, 12336, 16447, 0, 0, 0}, {4208, 20560, 0, 0, 0, 0, 0}, {1036, 1792, 17, 0, 0, 0, 0}, {4698, 34, 16384, 0, 0, 0, 0}, {4127, 51, 4883, 4160, 0, 0, 0}, {4120, 4144, 68, 5140, 0, 0, 0}, {5418, 12288, 85, 0, 0, 0, 0}, {102, 5654, 16448, 0, 0, 0, 0}, {95, 119, 1792, 4096, 0, 0, 0}, {40, 8192, 4176, 0, 0, 0, 0}, {780, 51, 85, 5397, 0, 0, 0}, {170, 6768, 12378, 16426, 0, 0, 0}, {27, 51, 791, 68, 1047, 4119, 0}, {108, 4112, 0, 0, 0, 0, 0}, {34, 4608, 85, 5376, 0, 0, 0}, {1036, 34, 4626, 68, 0, 0, 0}, {95, 4128, 20480, 0, 0, 0, 0}, {8224, 4160, 0, 0, 0, 0, 0}, {783, 1024, 17, 0, 0, 0, 0}, {4680, 34, 20992, 0, 0, 0, 0}, {4124, 51, 4883, 4163, 0, 0, 0}, {40, 68, 1024, 4096, 0, 0, 0}, {12336, 85, 5397, 0, 0, 0, 0}, {5708, 102, 22016, 0, 0, 0, 0}, {4120, 4144, 5911, 4167, 0, 0, 0}, {4168, 4192, 20480, 0, 0, 0, 0}, {5401, 51, 5654, 85, 0, 0, 0}, {170, 6720, 12394, 16448, 0, 0, 0}, {27, 51, 788, 68, 1024, 4116, 0}, {4172, 4128, 20480, 0, 0, 0, 0}, {5405, 34, 4626, 85, 0, 0, 0}, {34, 4608, 68, 1024, 0, 0, 0}, {95, 4112, 0, 0, 0, 0, 0}, {12528, 16384, 0, 0, 0, 0, 0}, {514, 260, 17, 0, 0, 0, 0}, {10, 34, 514, 4178, 0, 0, 0}, {780, 51, 17152, 0, 0, 0, 0}, {12336, 68, 1028, 0, 0, 0, 0}, {10, 85, 1280, 4096, 0, 0, 0}, {10, 4144, 1542, 4182, 0, 0, 0}, {1800, 119, 18176, 0, 0, 0, 0}, {136, 2056, 12408, 16392, 0, 0, 0}, {10, 51, 774, 85, 1280, 4102, 0}, {10, 8192, 4176, 0, 0, 0, 0}, {780, 51, 68, 1028, 0, 0, 0}, {204, 3084, 12336, 16396, 0, 0, 0}, {10, 34, 514, 85, 1280, 4098, 0}, {10, 34, 514, 68, 1028, 4112, 0}, {255, 3840, 12288, 16384, 0, 0, 0}, {2560, 4352, 0, 0, 0, 0, 0}, {48, 64, 257, 0, 0, 0, 0}, {4386, 514, 17416, 0, 0, 0, 0}, {1295, 48, 771, 4355, 0, 0, 0}, {520, 64, 1028, 4356, 0, 0, 0}, {13071, 4437, 1285, 0, 0, 0, 0}, {4454, 1542, 17420, 0, 0, 0, 0}, {1295, 112, 1799, 4359, 0, 0, 0}, {4360, 4864, 21760, 0, 0, 0, 0}, {4441, 48, 771, 1285, 0, 0, 0}, {4522, 2570, 13056, 17408, 0, 0, 0}, {267, 48, 771, 64, 1028, 4096, 0}, {4364, 5888, 21760, 0, 0, 0, 0}, {4445, 112, 514, 1285, 0, 0, 0}, {4398, 514, 64, 1028, 0, 0, 0}, {4367, 8704, 5120, 0, 0, 0, 0}, {768, 1024, 272, 0, 0, 0, 0}, {2730, 4369, 0, 0, 0, 0, 0}, {1370, 48, 768, 4370, 0, 0, 0}, {4403, 4883, 17484, 0, 0, 0, 0}, {13116, 4420, 5140, 0, 0, 0, 0}, {554, 64, 1024, 4373, 0, 0, 0}, {1370, 112, 1792, 4374, 0, 0, 0}, {4471, 5911, 17480, 0, 0, 0, 0}, {5144, 48, 768, 1360, 0, 0, 0}, {4377, 4915, 21845, 0, 0, 0, 0}, {282, 48, 768, 64, 1024, 4096, 0}, {4539, 6939, 13107, 17476, 0, 0, 0}, {5148, 1312, 1792, 1360, 0, 0, 0}, {4381, 6007, 21845, 0, 0, 0, 0}, {4382, 8738, 5188, 0, 0, 0, 0}, {4895, 544, 64, 1024, 0, 0, 0}, {2048, 544, 4352, 0, 0, 0, 0}, {48, 771, 1365, 4369, 0, 0, 0}, {24320, 4386, 0, 0, 0, 0, 0}, {275, 64, 4112, 0, 0, 0, 0}, {5928, 9252, 4420, 0, 0, 0, 0}, {4879, 4389, 4437, 5120, 0, 0, 0}, {1036, 4390, 5888, 64, 0, 0, 0}, {1375, 4471, 20560, 0, 0, 0, 0}, {4488, 6952, 13056, 21760, 0, 0, 0}, {281, 48, 771, 64, 1301, 4096, 0}, {4394, 4864, 17408, 0, 0, 0, 0}, {4427, 48, 771, 5140, 0, 0, 0}, {4364, 544, 64, 5376, 0, 0, 0}, {4397, 8738, 1365, 0, 0, 0, 0}, {5960, 1638, 17476, 0, 0, 0, 0}, {4367, 5152, 5632, 5200, 0, 0, 0}, {48, 768, 1280, 4352, 0, 0, 0}, {128, 514, 4369, 0, 0, 0, 0}, {258, 64, 4112, 0, 0, 0, 0}, {2560, 4403, 0, 0, 0, 0, 0}, {520, 4404, 4420, 1280, 0, 0, 0}, {1546, 13621, 4437, 0, 0, 0, 0}, {1290, 4454, 20560, 0, 0, 0, 0}, {1032, 4407, 1536, 64, 0, 0, 0}, {264, 48, 768, 64, 1280, 4096, 0}, {4505, 2570, 13107, 21845, 0, 0, 0}, {1290, 48, 768, 5200, 0, 0, 0}, {520, 4915, 17476, 0, 0, 0, 0}, {4412, 8704, 1280, 0, 0, 0, 0}, {4381, 514, 64, 5397, 0, 0, 0}, {4382, 112, 514, 5140, 0, 0, 0}, {4415, 1536, 17408, 0, 0, 0, 0}, {512, 64, 1024, 4352, 0, 0, 0}, {240, 1285, 4369, 0, 0, 0, 0}, {1546, 4386, 16962, 0, 0, 0, 0}, {1295, 4403, 512, 4419, 0, 0, 0}, {2560, 4420, 0, 0, 0, 0, 0}, {48, 261, 4112, 0, 0, 0, 0}, {522, 4454, 17990, 0, 0, 0, 0}, {1295, 48, 1536, 4423, 0, 0, 0}, {4424, 1536, 21760, 0, 0, 0, 0}, {4377, 112, 4883, 1285, 0, 0, 0}, {522, 4896, 64, 1024, 0, 0, 0}, {1295, 13107, 5188, 0, 0, 0, 0}, {4428, 512, 21760, 0, 0, 0, 0}, {4381, 48, 4626, 1285, 0, 0, 0}, {4590, 2570, 8738, 17476, 0, 0, 0}, {271, 48, 512, 64, 1024, 4096, 0}, {3840, 1360, 4352, 0, 0, 0, 0}, {546, 64, 1028, 4369, 0, 0, 0}, {5128, 4386, 4864, 4434, 0, 0, 0}, {5983, 4403, 21331, 0, 0, 0, 0}, {48, 276, 4112, 0, 0, 0, 0}, {10240, 4437, 0, 0, 0, 0, 0}, {5132, 48, 5888, 4438, 0, 0, 0}, {4959, 4471, 22359, 0, 0, 0, 0}, {4360, 1312, 5632, 1360, 0, 0, 0}, {4441, 1638, 21845, 0, 0, 0, 0}, {4442, 13056, 5120, 0, 0, 0, 0}, {4411, 4883, 64, 1028, 0, 0, 0}, {4364, 48, 4608, 1360, 0, 0, 0}, {4445, 546, 21845, 0, 0, 0, 0}, {286, 48, 530, 64, 1028, 4096, 0}, {4607, 7007, 8704, 17408, 0, 0, 0}, {3072, 1632, 4352, 0, 0, 0, 0}, {1317, 1799, 1365, 4369, 0, 0, 0}, {1032, 4386, 4864, 64, 0, 0, 0}, {1375, 4403, 20560, 0, 0, 0, 0}, {552, 8224, 4420, 0, 0, 0, 0}, {783, 48, 4437, 5120, 0, 0, 0}, {24320, 4454, 0, 0, 0, 0, 0}, {279, 64, 4112, 0, 0, 0, 0}, {4360, 4896, 64, 5376, 0, 0, 0}, {5180, 13107, 1365, 0, 0, 0, 0}, {4458, 5888, 17408, 0, 0, 0, 0}, {4427, 112, 4883, 5140, 0, 0, 0}, {4556, 7020, 8704, 21760, 0, 0, 0}, {285, 48, 530, 64, 1301, 4096, 0}, {4940, 546, 17476, 0, 0, 0, 0}, {4367, 48, 4608, 5200, 0, 0, 0}, {112, 512, 1280, 4352, 0, 0, 0}, {192, 1542, 4369, 0, 0, 0, 0}, {1290, 4386, 20560, 0, 0, 0, 0}, {1036, 4403, 512, 64, 0, 0, 0}, {780, 48, 4420, 1280, 0, 0, 0}, {522, 8224, 4437, 0, 0, 0, 0}, {262, 64, 4112, 0, 0, 0, 0}, {2560, 4471, 0, 0, 0, 0, 0}, {4472, 13056, 1280, 0, 0, 0, 0}, {4377, 4883, 64, 5397, 0, 0, 0}, {1290, 5152, 1792, 5200, 0, 0, 0}, {1548, 6007, 17476, 0, 0, 0, 0}, {268, 48, 512, 64, 1280, 4096, 0}, {4573, 2570, 8738, 21845, 0, 0, 0}, {4382, 48, 4626, 5140, 0, 0, 0}, {4479, 512, 17408, 0, 0, 0, 0}, {128, 512, 4352, 0, 0, 0, 0}, {48, 771, 1285, 4369, 0, 0, 0}, {2570, 4386, 0, 0, 0, 0, 0}, {259, 64, 4096, 0, 0, 0, 0}, {1548, 13568, 4420, 0, 0, 0, 0}, {522, 4389, 4437, 1285, 0, 0, 0}, {1036, 4390, 1542, 64, 0, 0, 0}, {1295, 4471, 20480, 0, 0, 0, 0}, {4488, 2560, 13056, 21760, 0, 0, 0}, {265, 48, 771, 64, 1285, 4112, 0}, {522, 4896, 17408, 0, 0, 0, 0}, {1295, 48, 771, 5188, 0, 0, 0}, {4364, 512, 64, 5376, 0, 0, 0}, {4397, 8738, 1285, 0, 0, 0, 0}, {4398, 1542, 17476, 0, 0, 0, 0}, {4367, 112, 512, 5120, 0, 0, 0}, {48, 768, 1360, 4352, 0, 0, 0}, {2056, 546, 4369, 0, 0, 0, 0}, {274, 64, 4096, 0, 0, 0, 0}, {24415, 4403, 0, 0, 0, 0, 0}, {4892, 4404, 4420, 5140, 0, 0, 0}, {5951, 9216, 4437, 0, 0, 0, 0}, {1370, 4454, 20480, 0, 0, 0, 0}, {1032, 4407, 5911, 64, 0, 0, 0}, {280, 48, 768, 64, 1296, 4112, 0}, {4505, 6963, 13107, 21845, 0, 0, 0}, {4442, 48, 768, 5120, 0, 0, 0}, {4411, 4883, 17476, 0, 0, 0, 0}, {4412, 8704, 1360, 0, 0, 0, 0}, {4381, 546, 64, 5397, 0, 0, 0}, {4382, 5172, 5654, 5188, 0, 0, 0}, {5983, 1632, 17408, 0, 0, 0, 0}, {2720, 4352, 0, 0, 0, 0, 0}, {771, 1028, 273, 0, 0, 0, 0}, {4386, 4864, 17416, 0, 0, 0, 0}, {1375, 48, 771, 4355, 0, 0, 0}, {552, 64, 1028, 4356, 0, 0, 0}, {13071, 4437, 5120, 0, 0, 0, 0}, {4454, 5888, 17420, 0, 0, 0, 0}, {1375, 112, 1799, 4359, 0, 0, 0}, {4360, 4896, 21760, 0, 0, 0, 0}, {5132, 48, 771, 1365, 0, 0, 0}, {4522, 6912, 13056, 17408, 0, 0, 0}, {283, 48, 771, 64, 1028, 4112, 0}, {4364, 5984, 21760, 0, 0, 0, 0}, {5128, 1317, 1799, 1365, 0, 0, 0}, {4876, 546, 64, 1028, 0, 0, 0}, {4367, 8704, 5200, 0, 0, 0, 0}, {48, 64, 256, 0, 0, 0, 0}, {2570, 4369, 0, 0, 0, 0, 0}, {1290, 48, 768, 4370, 0, 0, 0}, {4403, 512, 17484, 0, 0, 0, 0}, {13116, 4420, 1280, 0, 0, 0, 0}, {522, 64, 1024, 4373, 0, 0, 0}, {1290, 112, 1792, 4374, 0, 0, 0}, {4471, 1536, 17480, 0, 0, 0, 0}, {4424, 48, 768, 1280, 0, 0, 0}, {4377, 4883, 21845, 0, 0, 0, 0}, {266, 48, 768, 64, 1024, 4112, 0}, {4539, 2560, 13107, 17476, 0, 0, 0}, {4428, 112, 512, 1280, 0, 0, 0}, {4381, 5911, 21845, 0, 0, 0, 0}, {4382, 8738, 5140, 0, 0, 0, 0}, {4415, 512, 64, 1024, 0, 0, 0}, {192, 1536, 4352, 0, 0, 0, 0}, {112, 514, 1285, 4369, 0, 0, 0}, {1032, 4386, 514, 64, 0, 0, 0}, {1295, 4403, 20480, 0, 0, 0, 0}, {520, 8192, 4420, 0, 0, 0, 0}, {783, 48, 4437, 1285, 0, 0, 0}, {2570, 4454, 0, 0, 0, 0, 0}, {263, 64, 4096, 0, 0, 0, 0}, {4360, 4864, 64, 5376, 0, 0, 0}, {4457, 13107, 1285, 0, 0, 0, 0}, {1546, 5984, 17408, 0, 0, 0, 0}, {1295, 5172, 1799, 5188, 0, 0, 0}, {4556, 2560, 8704, 21760, 0, 0, 0}, {269, 48, 514, 64, 1285, 4112, 0}, {4462, 514, 17476, 0, 0, 0, 0}, {4367, 48, 4608, 5120, 0, 0, 0}, {1312, 1792, 1360, 4352, 0, 0, 0}, {3084, 1638, 4369, 0, 0, 0, 0}, {1370, 4386, 20480, 0, 0, 0, 0}, {1036, 4403, 4883, 64, 0, 0, 0}, {780, 48, 4420, 5140, 0, 0, 0}, {554, 8192, 4437, 0, 0, 0, 0}, {278, 64, 4096, 0, 0, 0, 0}, {24415, 4471, 0, 0, 0, 0, 0}, {5160, 13056, 1360, 0, 0, 0, 0}, {4377, 4915, 64, 5397, 0, 0, 0}, {4442, 112, 4864, 5120, 0, 0, 0}, {4475, 5911, 17476, 0, 0, 0, 0}, {284, 48, 528, 64, 1296, 4112, 0}, {4573, 7031, 8738, 21845, 0, 0, 0}, {4382, 48, 4626, 5188, 0, 0, 0}, {4959, 544, 17408, 0, 0, 0, 0}, {544, 64, 1024, 4352, 0, 0, 0}, {3855, 1365, 4369, 0, 0, 0, 0}, {5960, 4386, 21248, 0, 0, 0, 0}, {5148, 4403, 4883, 4419, 0, 0, 0}, {10280, 4420, 0, 0, 0, 0, 0}, {48, 277, 4096, 0, 0, 0, 0}, {4940, 4454, 22272, 0, 0, 0, 0}, {5144, 48, 5911, 4423, 0, 0, 0}, {4424, 1632, 21760, 0, 0, 0, 0}, {4377, 1317, 5654, 1365, 0, 0, 0}, {4394, 4864, 64, 1024, 0, 0, 0}, {4427, 13107, 5140, 0, 0, 0, 0}, {4428, 544, 21760, 0, 0, 0, 0}, {4381, 48, 4626, 1365, 0, 0, 0}, {4590, 6980, 8738, 17476, 0, 0, 0}, {287, 48, 528, 64, 1024, 4112, 0}, {240, 1280, 4352, 0, 0, 0, 0}, {514, 64, 1028, 4369, 0, 0, 0}, {1290, 4386, 514, 4434, 0, 0, 0}, {1548, 4403, 16896, 0, 0, 0, 0}, {48, 260, 4096, 0, 0, 0, 0}, {2570, 4437, 0, 0, 0, 0, 0}, {1290, 48, 1542, 4438, 0, 0, 0}, {520, 4471, 17920, 0, 0, 0, 0}, {4360, 112, 4864, 1280, 0, 0, 0}, {4441, 1542, 21845, 0, 0, 0, 0}, {1290, 13056, 5200, 0, 0, 0, 0}, {520, 4915, 64, 1028, 0, 0, 0}, {4364, 48, 4608, 1280, 0, 0, 0}, {4445, 514, 21845, 0, 0, 0, 0}, {270, 48, 514, 64, 1028, 4112, 0}, {4607, 2560, 8704, 17408, 0, 0, 0}, {4608, 20480, 0, 0, 0, 0, 0}, {76, 51, 257, 0, 0, 0, 0}, {4128, 514, 16384, 0, 0, 0, 0}, {1295, 51, 771, 4352, 0, 0, 0}, {4108, 4612, 4160, 1028, 0, 0, 0}, {4698, 8789, 1285, 0, 0, 0, 0}, {5228, 1542, 17408, 0, 0, 0, 0}, {4111, 4208, 4615, 5376, 0, 0, 0}, {520, 4096, 0, 0, 0, 0, 0}, {51, 771, 4437, 1285, 0, 0, 0}, {4778, 2570, 12288, 16906, 0, 0, 0}, {267, 51, 771, 327, 1028, 4099, 0}, {4620, 8704, 5120, 0, 0, 0, 0}, {4143, 514, 4176, 1285, 0, 0, 0}, {76, 4192, 514, 1028, 0, 0, 0}, {1295, 5888, 21760, 0, 0, 0, 0}, {2048, 544, 4112, 0, 0, 0, 0}, {51, 768, 1365, 4369, 0, 0, 0}, {20720, 4626, 0, 0, 0, 0, 0}, {275, 1024, 4352, 0, 0, 0, 0}, {4728, 8772, 5140, 0, 0, 0, 0}, {4159, 4629, 4160, 5397, 0, 0, 0}, {76, 4208, 4630, 1024, 0, 0, 0}, {1375, 5911, 21760, 0, 0, 0, 0}, {4792, 6168, 12336, 20560, 0, 0, 0}, {281, 51, 768, 341, 1024, 4096, 0}, {4634, 4144, 16448, 0, 0, 0, 0}, {5147, 51, 768, 4420, 0, 0, 0}, {4124, 544, 4176, 1024, 0, 0, 0}, {4637, 8738, 1365, 0, 0, 0, 0}, {4638, 1638, 17476, 0, 0, 0, 0}, {4127, 1312, 1792, 5440, 0, 0, 0}, {4128, 4608, 16384, 0, 0, 0, 0}, {1370, 51, 771, 4369, 0, 0, 0}, {4642, 20480, 0, 0, 0, 0, 0}, {1036, 771, 272, 0, 0, 0, 0}, {4680, 1632, 17476, 0, 0, 0, 0}, {4111, 1317, 5888, 5461, 0, 0, 0}, {4108, 4646, 4160, 5120, 0, 0, 0}, {5928, 10023, 1360, 0, 0, 0, 0}, {4744, 6184, 12288, 16936, 0, 0, 0}, {282, 51, 771, 342, 1302, 4099, 0}, {554, 4096, 0, 0, 0, 0, 0}, {51, 771, 4420, 5140, 0, 0, 0}, {1036, 5152, 5632, 1088, 0, 0, 0}, {1370, 6007, 21845, 0, 0, 0, 0}, {4654, 8738, 5188, 0, 0, 0, 0}, {4623, 544, 4176, 5376, 0, 0, 0}, {2560, 4656, 0, 0, 0, 0, 0}, {258, 1092, 4369, 0, 0, 0, 0}, {128, 514, 4112, 0, 0, 0, 0}, {51, 768, 1280, 4352, 0, 0, 0}, {1032, 5172, 1536, 1092, 0, 0, 0}, {1290, 5984, 21845, 0, 0, 0, 0}, {1546, 13878, 5200, 0, 0, 0, 0}, {520, 4663, 4160, 1280, 0, 0, 0}, {520, 4144, 16448, 0, 0, 0, 0}, {1290, 51, 768, 4437, 0, 0, 0}, {4762, 2570, 12336, 20560, 0, 0, 0}, {264, 51, 768, 324, 1280, 4096, 0}, {5180, 1536, 17408, 0, 0, 0, 0}, {4127, 4192, 514, 5397, 0, 0, 0}, {4124, 514, 4176, 5140, 0, 0, 0}, {4671, 8704, 1280, 0, 0, 0, 0}, {512, 4160, 0, 0, 0, 0, 0}, {783, 51, 1285, 4369, 0, 0, 0}, {4834, 2570, 8738, 16962, 0, 0, 0}, {271, 51, 512, 323, 1024, 4352, 0}, {1536, 5188, 0, 0, 0, 0, 0}, {522, 629, 1285, 4112, 0, 0, 0}, {76, 4128, 582, 1024, 0, 0, 0}, {1295, 4679, 21760, 0, 0, 0, 0}, {4680, 20480, 0, 0, 0, 0, 0}, {51, 4883, 261, 0, 0, 0, 0}, {522, 4192, 16448, 0, 0, 0, 0}, {1295, 51, 1536, 4420, 0, 0, 0}, {76, 512, 1024, 4096, 0, 0, 0}, {255, 4626, 1285, 0, 0, 0, 0}, {1546, 4642, 17476, 0, 0, 0, 0}, {1295, 4144, 512, 5440, 0, 0, 0}, {4848, 6224, 8704, 20560, 0, 0, 0}, {285, 51, 529, 337, 1028, 4369, 0}, {4208, 4690, 16384, 0, 0, 0, 0}, {1375, 51, 1619, 4352, 0, 0, 0}, {76, 612, 1028, 4112, 0, 0, 0}, {5888, 1365, 0, 0, 0, 0, 0}, {5180, 4694, 17408, 0, 0, 0, 0}, {4191, 4128, 599, 5376, 0, 0, 0}, {552, 8224, 4176, 0, 0, 0, 0}, {780, 51, 4437, 5120, 0, 0, 0}, {4698, 24576, 0, 0, 0, 0, 0}, {279, 4420, 1028, 0, 0, 0, 0}, {3084, 4656, 5200, 0, 0, 0, 0}, {1800, 546, 1365, 4096, 0, 0, 0}, {76, 4144, 4626, 1028, 0, 0, 0}, {1375, 4608, 21760, 0, 0, 0, 0}, {4800, 6240, 8704, 16992, 0, 0, 0}, {286, 51, 529, 338, 1302, 4369, 0}, {2056, 546, 4160, 0, 0, 0, 0}, {783, 51, 1360, 4352, 0, 0, 0}, {1032, 4128, 5632, 1092, 0, 0, 0}, {1370, 4709, 21845, 0, 0, 0, 0}, {4710, 5120, 0, 0, 0, 0, 0}, {1327, 1799, 1360, 4112, 0, 0, 0}, {4680, 4192, 16448, 0, 0, 0, 0}, {5135, 51, 5888, 4437, 0, 0, 0}, {4714, 20480, 0, 0, 0, 0, 0}, {51, 4883, 276, 0, 0, 0, 0}, {5228, 4608, 17408, 0, 0, 0, 0}, {4175, 4144, 4626, 5397, 0, 0, 0}, {1032, 546, 1092, 4096, 0, 0, 0}, {3855, 4656, 1360, 0, 0, 0, 0}, {4208, 512, 16384, 0, 0, 0, 0}, {1290, 51, 1542, 4369, 0, 0, 0}, {4818, 2570, 8738, 20560, 0, 0, 0}, {268, 51, 512, 320, 1280, 4352, 0}, {1548, 4724, 17476, 0, 0, 0, 0}, {1290, 4128, 1792, 5461, 0, 0, 0}, {1036, 1542, 1088, 4112, 0, 0, 0}, {4727, 1280, 0, 0, 0, 0, 0}, {4728, 24576, 0, 0, 0, 0, 0}, {262, 4437, 5397, 0, 0, 0, 0}, {522, 8224, 4176, 0, 0, 0, 0}, {780, 51, 4420, 1280, 0, 0, 0}, {1036, 4144, 512, 1088, 0, 0, 0}, {1290, 4642, 21845, 0, 0, 0, 0}, {204, 4626, 5140, 0, 0, 0, 0}, {127, 512, 1280, 4096, 0, 0, 0}, {128, 512, 4096, 0, 0, 0, 0}, {51, 771, 1285, 4369, 0, 0, 0}, {2570, 4642, 0, 0, 0, 0, 0}, {259, 1088, 4352, 0, 0, 0, 0}, {1548, 13824, 5188, 0, 0, 0, 0}, {522, 4645, 4176, 1285, 0, 0, 0}, {1036, 5152, 1542, 1088, 0, 0, 0}, {1295, 6007, 21760, 0, 0, 0, 0}, {4744, 2560, 12288, 20480, 0, 0, 0}, {265, 51, 771, 325, 1285, 4112, 0}, {522, 4128, 16384, 0, 0, 0, 0}, {1295, 51, 771, 4420, 0, 0, 0}, {4108, 512, 4160, 5120, 0, 0, 0}, {4653, 8738, 1285, 0, 0, 0, 0}, {5160, 1542, 17476, 0, 0, 0, 0}, {4111, 4208, 512, 5376, 0, 0, 0}, {4656, 20560, 0, 0, 0, 0, 0}, {1032, 768, 273, 0, 0, 0, 0}, {4144, 4626, 16448, 0, 0, 0, 0}, {1375, 51, 768, 4352, 0, 0, 0}, {4124, 4660, 4176, 5140, 0, 0, 0}, {5951, 9984, 1365, 0, 0, 0, 0}, {4698, 1638, 17408, 0, 0, 0, 0}, {4127, 1312, 5911, 5440, 0, 0, 0}, {552, 4112, 0, 0, 0, 0, 0}, {51, 768, 4437, 5120, 0, 0, 0}, {4762, 6192, 12336, 17002, 0, 0, 0}, {283, 51, 768, 343, 1299, 4115, 0}, {4668, 8704, 5200, 0, 0, 0, 0}, {4637, 546, 4160, 5397, 0, 0, 0}, {1032, 5172, 5654, 1092, 0, 0, 0}, {1375, 5984, 21760, 0, 0, 0, 0}, {20640, 4608, 0, 0, 0, 0, 0}, {274, 1028, 4369, 0, 0, 0, 0}, {2056, 546, 4096, 0, 0, 0, 0}, {51, 771, 1360, 4352, 0, 0, 0}, {76, 4192, 4612, 1028, 0, 0, 0}, {1370, 5888, 21845, 0, 0, 0, 0}, {4714, 8806, 5120, 0, 0, 0, 0}, {4143, 4615, 4176, 5376, 0, 0, 0}, {4616, 4128, 16384, 0, 0, 0, 0}, {5135, 51, 771, 4437, 0, 0, 0}, {4778, 6144, 12288, 20480, 0, 0, 0}, {280, 51, 771, 340, 1028, 4112, 0}, {4620, 1632, 17408, 0, 0, 0, 0}, {4111, 1317, 1799, 5461, 0, 0, 0}, {4108, 546, 4160, 1028, 0, 0, 0}, {4623, 8704, 1360, 0, 0, 0, 0}, {4144, 512, 16448, 0, 0, 0, 0}, {1290, 51, 768, 4369, 0, 0, 0}, {4626, 20560, 0, 0, 0, 0, 0}, {76, 51, 256, 0, 0, 0, 0}, {5240, 1536, 17476, 0, 0, 0, 0}, {4127, 4192, 4629, 5397, 0, 0, 0}, {4124, 4630, 4176, 1024, 0, 0, 0}, {4680, 8823, 1280, 0, 0, 0, 0}, {4792, 2560, 12336, 16968, 0, 0, 0}, {266, 51, 768, 326, 1024, 4115, 0}, {522, 4112, 0, 0, 0, 0, 0}, {51, 768, 4420, 1280, 0, 0, 0}, {76, 4208, 512, 1024, 0, 0, 0}, {1290, 5911, 21845, 0, 0, 0, 0}, {4638, 8738, 5140, 0, 0, 0, 0}, {4159, 512, 4160, 1280, 0, 0, 0}, {4800, 2560, 8704, 20480, 0, 0, 0}, {269, 51, 514, 321, 1285, 4369, 0}, {4192, 514, 16448, 0, 0, 0, 0}, {1295, 51, 1536, 4352, 0, 0, 0}, {1032, 1536, 1092, 4096, 0, 0, 0}, {4709, 1285, 0, 0, 0, 0, 0}, {1546, 4710, 17408, 0, 0, 0, 0}, {1295, 4144, 1799, 5440, 0, 0, 0}, {520, 8192, 4160, 0, 0, 0, 0}, {783, 51, 4437, 1285, 0, 0, 0}, {4714, 24672, 0, 0, 0, 0, 0}, {263, 4420, 5376, 0, 0, 0, 0}, {204, 4608, 5120, 0, 0, 0, 0}, {127, 514, 1285, 4112, 0, 0, 0}, {1032, 4128, 514, 1092, 0, 0, 0}, {1295, 4656, 21760, 0, 0, 0, 0}, {2048, 544, 4176, 0, 0, 0, 0}, {780, 51, 1365, 4369, 0, 0, 0}, {4818, 6264, 8738, 16930, 0, 0, 0}, {287, 51, 531, 339, 1299, 4352, 0}, {4724, 5140, 0, 0, 0, 0, 0}, {1322, 1792, 1365, 4096, 0, 0, 0}, {1036, 4144, 5654, 1088, 0, 0, 0}, {1375, 4727, 21760, 0, 0, 0, 0}, {4728, 20560, 0, 0, 0, 0, 0}, {51, 4864, 277, 0, 0, 0, 0}, {4698, 4208, 16384, 0, 0, 0, 0}, {5147, 51, 5911, 4420, 0, 0, 0}, {1036, 544, 1088, 4112, 0, 0, 0}, {3840, 4642, 1365, 0, 0, 0, 0}, {5240, 4626, 17476, 0, 0, 0, 0}, {4191, 4128, 4608, 5376, 0, 0, 0}, {4192, 4672, 16448, 0, 0, 0, 0}, {1370, 51, 1621, 4369, 0, 0, 0}, {4834, 6216, 8738, 20480, 0, 0, 0}, {284, 51, 531, 336, 1024, 4352, 0}, {5160, 4676, 17476, 0, 0, 0, 0}, {4175, 4144, 597, 5397, 0, 0, 0}, {76, 614, 1024, 4096, 0, 0, 0}, {5911, 1360, 0, 0, 0, 0, 0}, {4680, 24672, 0, 0, 0, 0, 0}, {278, 4437, 1024, 0, 0, 0, 0}, {554, 8192, 4160, 0, 0, 0, 0}, {783, 51, 4420, 5140, 0, 0, 0}, {76, 4128, 4608, 1024, 0, 0, 0}, {1370, 4626, 21845, 0, 0, 0, 0}, {3072, 4642, 5188, 0, 0, 0, 0}, {1807, 544, 1360, 4112, 0, 0, 0}, {4848, 2560, 8704, 16896, 0, 0, 0}, {270, 51, 514, 322, 1028, 4369, 0}, {514, 4176, 0, 0, 0, 0, 0}, {780, 51, 1280, 4352, 0, 0, 0}, {76, 4144, 580, 1028, 0, 0, 0}, {1290, 4693, 21845, 0, 0, 0, 0}, {1542, 5200, 0, 0, 0, 0, 0}, {520, 631, 1280, 4096, 0, 0, 0}, {520, 4208, 16384, 0, 0, 0, 0}, {1290, 51, 1542, 4437, 0, 0, 0}, {4698, 20560, 0, 0, 0, 0, 0}, {51, 4864, 260, 0, 0, 0, 0}, {1548, 4656, 17408, 0, 0, 0, 0}, {1290, 4128, 514, 5461, 0, 0, 0}, {76, 514, 1028, 4112, 0, 0, 0}, {255, 4608, 1280, 0, 0, 0, 0}, {19456, 13056, 0, 0, 0, 0, 0}, {18, 80, 257, 0, 0, 0, 0}, {10, 34, 514, 4352, 0, 0, 0}, {48, 771, 16384, 0, 0, 0, 0}, {72, 13124, 1028, 0, 0, 0, 0}, {10, 4869, 80, 1285, 0, 0, 0}, {10, 96, 4870, 5376, 0, 0, 0}, {120, 1799, 17408, 0, 0, 0, 0}, {136, 2056, 13056, 17408, 0, 0, 0}, {10, 48, 771, 80, 1285, 4096, 0}, {10, 4864, 21760, 0, 0, 0, 0}, {72, 48, 771, 1028, 0, 0, 0}, {192, 3084, 13068, 16384, 0, 0, 0}, {10, 34, 514, 80, 1285, 4357, 0}, {10, 34, 514, 66, 1028, 4358, 0}, {240, 3855, 13071, 17167, 0, 0, 0}, {48, 768, 80, 4112, 0, 0, 0}, {2048, 34, 4369, 0, 0, 0, 0}, {18, 1024, 4352, 0, 0, 0, 0}, {160, 4883, 0, 0, 0, 0, 0}, {40, 4884, 80, 5140, 0, 0, 0}, {106, 13141, 5397, 0, 0, 0, 0}, {90, 5654, 21760, 0, 0, 0, 0}, {72, 96, 4887, 1024, 0, 0, 0}, {24, 48, 768, 80, 1024, 4096, 0}, {170, 6425, 13107, 21845, 0, 0, 0}, {5402, 48, 768, 5440, 0, 0, 0}, {4891, 4915, 17476, 0, 0, 0, 0}, {4892, 8224, 80, 0, 0, 0, 0}, {4381, 34, 4437, 1024, 0, 0, 0}, {4382, 34, 1792, 4420, 0, 0, 0}, {4895, 96, 16448, 0, 0, 0, 0}, {24320, 4896, 0, 0, 0, 0, 0}, {18, 1092, 4369, 0, 0, 0, 0}, {2048, 34, 4352, 0, 0, 0, 0}, {48, 771, 80, 4112, 0, 0, 0}, {1036, 1060, 5888, 1092, 0, 0, 0}, {90, 5744, 21845, 0, 0, 0, 0}, {5418, 9766, 5440, 0, 0, 0, 0}, {4879, 4903, 80, 5120, 0, 0, 0}, {40, 4864, 17408, 0, 0, 0, 0}, {90, 48, 771, 5397, 0, 0, 0}, {170, 6442, 13056, 21760, 0, 0, 0}, {24, 48, 771, 80, 1044, 4096, 0}, {4940, 96, 16448, 0, 0, 0, 0}, {4367, 34, 5632, 4437, 0, 0, 0}, {4364, 34, 4420, 5376, 0, 0, 0}, {4911, 8224, 80, 0, 0, 0, 0}, {48, 768, 16384, 0, 0, 0, 0}, {10, 34, 514, 4369, 0, 0, 0}, {258, 1280, 272, 0, 0, 0, 0}, {19660, 13107, 0, 0, 0, 0, 0}, {1800, 1904, 17476, 0, 0, 0, 0}, {10, 5429, 1536, 5461, 0, 0, 0}, {10, 4918, 80, 1280, 0, 0, 0}, {1032, 14135, 1088, 0, 0, 0, 0}, {1032, 48, 768, 1088, 0, 0, 0}, {10, 4915, 21845, 0, 0, 0, 0}, {10, 48, 768, 80, 1280, 4096, 0}, {136, 2056, 13107, 17476, 0, 0, 0}, {240, 3840, 13116, 17212, 0, 0, 0}, {10, 34, 514, 66, 1026, 4375, 0}, {10, 34, 514, 80, 1280, 4372, 0}, {192, 3072, 13119, 16384, 0, 0, 0}, {192, 3072, 13056, 16448, 0, 0, 0}, {10, 34, 512, 80, 1285, 4369, 0}, {10, 34, 512, 66, 1024, 4352, 0}, {240, 3855, 13107, 17219, 0, 0, 0}, {136, 2048, 13124, 17476, 0, 0, 0}, {10, 48, 773, 80, 1285, 4112, 0}, {10, 4934, 21760, 0, 0, 0, 0}, {72, 48, 839, 1024, 0, 0, 0}, {72, 13056, 1024, 0, 0, 0, 0}, {10, 4883, 80, 1285, 0, 0, 0}, {10, 5408, 1536, 5440, 0, 0, 0}, {1807, 1911, 17476, 0, 0, 0, 0}, {13260, 19532, 0, 0, 0, 0, 0}, {18, 261, 4096, 0, 0, 0, 0}, {10, 34, 512, 4420, 0, 0, 0}, {783, 48, 16448, 0, 0, 0, 0}, {4864, 80, 0, 0, 0, 0, 0}, {72, 34, 1028, 4369, 0, 0, 0}, {90, 34, 1874, 4352, 0, 0, 0}, {96, 4947, 16384, 0, 0, 0, 0}, {24, 48, 788, 80, 1028, 4112, 0}, {170, 6485, 13141, 21845, 0, 0, 0}, {90, 48, 854, 5376, 0, 0, 0}, {40, 4951, 17408, 0, 0, 0, 0}, {4872, 4896, 80, 5120, 0, 0, 0}, {5439, 13107, 5461, 0, 0, 0, 0}, {90, 5632, 21760, 0, 0, 0, 0}, {72, 96, 4883, 1028, 0, 0, 0}, {780, 48, 80, 4096, 0, 0, 0}, {2056, 34, 4437, 0, 0, 0, 0}, {18, 4420, 1028, 0, 0, 0, 0}, {4959, 8192, 0, 0, 0, 0, 0}, {96, 4864, 16384, 0, 0, 0, 0}, {90, 34, 1799, 4369, 0, 0, 0}, {1032, 34, 1088, 4352, 0, 0, 0}, {3855, 4915, 80, 0, 0, 0, 0}, {4940, 4964, 17476, 0, 0, 0, 0}, {5391, 48, 5632, 5461, 0, 0, 0}, {170, 6502, 13158, 21760, 0, 0, 0}, {24, 48, 791, 80, 1040, 4112, 0}, {1032, 1056, 5888, 1088, 0, 0, 0}, {90, 5734, 21845, 0, 0, 0, 0}, {106, 13056, 5376, 0, 0, 0, 0}, {40, 4883, 80, 5140, 0, 0, 0}, {4972, 8192, 0, 0, 0, 0, 0}, {18, 4437, 5397, 0, 0, 0, 0}, {2056, 34, 4420, 0, 0, 0, 0}, {783, 48, 80, 4096, 0, 0, 0}, {240, 3840, 13056, 17264, 0, 0, 0}, {10, 34, 512, 66, 1030, 4369, 0}, {10, 34, 512, 80, 1280, 4352, 0}, {192, 3084, 13107, 16448, 0, 0, 0}, {1036, 48, 1792, 1092, 0, 0, 0}, {10, 4981, 21845, 0, 0, 0, 0}, {10, 48, 774, 80, 1280, 4112, 0}, {136, 2048, 13175, 17408, 0, 0, 0}, {120, 1792, 17408, 0, 0, 0, 0}, {10, 96, 4883, 5397, 0, 0, 0}, {10, 4896, 80, 1280, 0, 0, 0}, {1036, 13107, 1092, 0, 0, 0, 0}, {780, 48, 16448, 0, 0, 0, 0}, {10, 34, 512, 4437, 0, 0, 0}, {18, 276, 4096, 0, 0, 0, 0}, {13311, 32639, 0, 0, 0, 0, 0}, {19584, 13056, 0, 0, 0, 0, 0}, {259, 1285, 273, 0, 0, 0, 0}, {10, 34, 512, 4352, 0, 0, 0}, {48, 771, 16448, 0, 0, 0, 0}, {1036, 14080, 1092, 0, 0, 0, 0}, {10, 4901, 80, 1285, 0, 0, 0}, {10, 5408, 1542, 5440, 0, 0, 0}, {1807, 1911, 17408, 0, 0, 0, 0}, {136, 2048, 13056, 17408, 0, 0, 0}, {10, 48, 771, 80, 1285, 4112, 0}, {10, 4896, 21760, 0, 0, 0, 0}, {1036, 48, 771, 1092, 0, 0, 0}, {192, 3084, 13068, 16448, 0, 0, 0}, {10, 34, 512, 80, 1285, 4357, 0}, {10, 34, 512, 66, 1030, 4358, 0}, {240, 3855, 13071, 17279, 0, 0, 0}, {48, 768, 80, 4096, 0, 0, 0}, {2056, 34, 4369, 0, 0, 0, 0}, {18, 1088, 4352, 0, 0, 0, 0}, {24415, 4915, 0, 0, 0, 0, 0}, {4892, 4916, 80, 5140, 0, 0, 0}, {5439, 9728, 5461, 0, 0, 0, 0}, {90, 5734, 21760, 0, 0, 0, 0}, {1032, 1056, 5911, 1088, 0, 0, 0}, {24, 48, 768, 80, 1040, 4112, 0}, {170, 6451, 13107, 21845, 0, 0, 0}, {90, 48, 768, 5376, 0, 0, 0}, {40, 4883, 17476, 0, 0, 0, 0}, {4924, 8192, 80, 0, 0, 0, 0}, {4381, 34, 4437, 5397, 0, 0, 0}, {4382, 34, 5654, 4420, 0, 0, 0}, {4959, 96, 16384, 0, 0, 0, 0}, {160, 4864, 0, 0, 0, 0, 0}, {18, 1028, 4369, 0, 0, 0, 0}, {2056, 34, 4352, 0, 0, 0, 0}, {48, 771, 80, 4096, 0, 0, 0}, {72, 96, 4868, 1028, 0, 0, 0}, {90, 5632, 21845, 0, 0, 0, 0}, {106, 13158, 5376, 0, 0, 0, 0}, {40, 4871, 80, 5120, 0, 0, 0}, {4872, 4896, 17408, 0, 0, 0, 0}, {5391, 48, 771, 5461, 0, 0, 0}, {170, 6400, 13056, 21760, 0, 0, 0}, {24, 48, 771, 80, 1028, 4112, 0}, {4876, 96, 16384, 0, 0, 0, 0}, {4367, 34, 1799, 4437, 0, 0, 0}, {4364, 34, 4420, 1028, 0, 0, 0}, {4879, 8192, 80, 0, 0, 0, 0}, {48, 768, 16448, 0, 0, 0, 0}, {10, 34, 512, 4369, 0, 0, 0}, {18, 80, 256, 0, 0, 0, 0}, {19532, 13107, 0, 0, 0, 0, 0}, {120, 1792, 17476, 0, 0, 0, 0}, {10, 96, 4885, 5397, 0, 0, 0}, {10, 4886, 80, 1280, 0, 0, 0}, {72, 13175, 1024, 0, 0, 0, 0}, {72, 48, 768, 1024, 0, 0, 0}, {10, 4883, 21845, 0, 0, 0, 0}, {10, 48, 768, 80, 1280, 4112, 0}, {136, 2048, 13107, 17476, 0, 0, 0}, {240, 3840, 13116, 17228, 0, 0, 0}, {10, 34, 512, 66, 1024, 4375, 0}, {10, 34, 512, 80, 1280, 4372, 0}, {192, 3072, 13119, 16448, 0, 0, 0}, {192, 3072, 13056, 16384, 0, 0, 0}, {10, 34, 514, 80, 1285, 4369, 0}, {10, 34, 514, 66, 1026, 4352, 0}, {240, 3855, 13107, 17203, 0, 0, 0}, {136, 2056, 13124, 17476, 0, 0, 0}, {10, 48, 773, 80, 1285, 4096, 0}, {10, 4966, 21760, 0, 0, 0, 0}, {1032, 48, 1799, 1088, 0, 0, 0}, {1032, 13056, 1088, 0, 0, 0, 0}, {10, 4915, 80, 1285, 0, 0, 0}, {10, 96, 4864, 5376, 0, 0, 0}, {120, 1799, 17476, 0, 0, 0, 0}, {13260, 32512, 0, 0, 0, 0, 0}, {18, 277, 4112, 0, 0, 0, 0}, {10, 34, 514, 4420, 0, 0, 0}, {783, 48, 16384, 0, 0, 0, 0}, {3840, 4896, 80, 0, 0, 0, 0}, {1036, 34, 1092, 4369, 0, 0, 0}, {90, 34, 1792, 4352, 0, 0, 0}, {96, 4883, 16448, 0, 0, 0, 0}, {24, 48, 788, 80, 1044, 4096, 0}, {170, 6527, 13141, 21845, 0, 0, 0}, {5402, 48, 5654, 5440, 0, 0, 0}, {4959, 4983, 17408, 0, 0, 0, 0}, {40, 4864, 80, 5120, 0, 0, 0}, {106, 13107, 5397, 0, 0, 0, 0}, {90, 5744, 21760, 0, 0, 0, 0}, {1036, 1060, 5911, 1092, 0, 0, 0}, {780, 48, 80, 4112, 0, 0, 0}, {2048, 34, 4437, 0, 0, 0, 0}, {18, 4420, 5376, 0, 0, 0, 0}, {4991, 8224, 0, 0, 0, 0, 0}, {96, 4928, 16448, 0, 0, 0, 0}, {90, 34, 1877, 4369, 0, 0, 0}, {72, 34, 1024, 4352, 0, 0, 0}, {4883, 80, 0, 0, 0, 0, 0}, {40, 4932, 17476, 0, 0, 0, 0}, {90, 48, 853, 5397, 0, 0, 0}, {170, 6476, 13158, 21760, 0, 0, 0}, {24, 48, 791, 80, 1024, 4096, 0}, {72, 96, 4864, 1024, 0, 0, 0}, {90, 5654, 21845, 0, 0, 0, 0}, {5418, 13056, 5440, 0, 0, 0, 0}, {4891, 4915, 80, 5140, 0, 0, 0}, {4940, 8224, 0, 0, 0, 0, 0}, {18, 4437, 1024, 0, 0, 0, 0}, {2048, 34, 4420, 0, 0, 0, 0}, {783, 48, 80, 4112, 0, 0, 0}, {240, 3840, 13056, 17152, 0, 0, 0}, {10, 34, 514, 66, 1028, 4369, 0}, {10, 34, 514, 80, 1280, 4352, 0}, {192, 3084, 13107, 16384, 0, 0, 0}, {72, 48, 836, 1028, 0, 0, 0}, {10, 4949, 21845, 0, 0, 0, 0}, {10, 48, 774, 80, 1280, 4096, 0}, {136, 2056, 13175, 17408, 0, 0, 0}, {1800, 1904, 17408, 0, 0, 0, 0}, {10, 5429, 1542, 5461, 0, 0, 0}, {10, 4864, 80, 1280, 0, 0, 0}, {72, 13107, 1028, 0, 0, 0, 0}, {780, 48, 16384, 0, 0, 0, 0}, {10, 34, 514, 4437, 0, 0, 0}, {18, 260, 4112, 0, 0, 0, 0}, {13311, 19456, 0, 0, 0, 0, 0}, {15360, 17408, 0, 0, 0, 0, 0}, {32, 21, 257, 0, 0, 0, 0}, {10, 32, 514, 5122, 0, 0, 0}, {63, 771, 17459, 0, 0, 0, 0}, {12288, 64, 1028, 0, 0, 0, 0}, {10, 85, 1285, 4352, 0, 0, 0}, {10, 96, 4608, 5126, 0, 0, 0}, {127, 1799, 17527, 0, 0, 0, 0}, {128, 2056, 13320, 17416, 0, 0, 0}, {10, 53, 771, 85, 1285, 4358, 0}, {10, 8704, 5120, 0, 0, 0, 0}, {63, 771, 64, 1028, 0, 0, 0}, {192, 3084, 12288, 17420, 0, 0, 0}, {10, 32, 514, 85, 1285, 4354, 0}, {10, 32, 514, 64, 1028, 4096, 0}, {255, 3855, 13056, 17408, 0, 0, 0}, {32, 64, 1024, 4112, 0, 0, 0}, {3840, 85, 4369, 0, 0, 0, 0}, {106, 4626, 17442, 0, 0, 0, 0}, {95, 32, 4883, 5139, 0, 0, 0}, {160, 5140, 0, 0, 0, 0, 0}, {768, 21, 4352, 0, 0, 0, 0}, {42, 5654, 17510, 0, 0, 0, 0}, {95, 96, 768, 5143, 0, 0, 0}, {5144, 96, 20560, 0, 0, 0, 0}, {4377, 4403, 1792, 85, 0, 0, 0}, {4634, 4656, 64, 1024, 0, 0, 0}, {5147, 13107, 5188, 0, 0, 0, 0}, {5148, 32, 20560, 0, 0, 0, 0}, {4381, 4386, 768, 85, 0, 0, 0}, {170, 7710, 8738, 17476, 0, 0, 0}, {31, 32, 768, 64, 1024, 4096, 0}, {32, 5120, 0, 0, 0, 0, 0}, {63, 771, 85, 4369, 0, 0, 0}, {170, 7714, 8738, 17442, 0, 0, 0}, {31, 32, 771, 64, 1043, 4112, 0}, {3084, 5156, 5188, 0, 0, 0, 0}, {1807, 1829, 85, 4352, 0, 0, 0}, {1036, 1062, 4608, 64, 0, 0, 0}, {95, 5159, 20560, 0, 0, 0, 0}, {5160, 20480, 0, 0, 0, 0, 0}, {4403, 771, 21, 0, 0, 0, 0}, {42, 5632, 17408, 0, 0, 0, 0}, {95, 96, 771, 5140, 0, 0, 0}, {1036, 32, 64, 4096, 0, 0, 0}, {3855, 4386, 85, 0, 0, 0, 0}, {4680, 4642, 17476, 0, 0, 0, 0}, {5135, 32, 4864, 5200, 0, 0, 0}, {192, 3072, 12336, 17408, 0, 0, 0}, {10, 32, 514, 85, 1280, 4369, 0}, {10, 32, 514, 64, 1026, 4112, 0}, {255, 3840, 13107, 17459, 0, 0, 0}, {128, 2056, 13364, 17476, 0, 0, 0}, {10, 53, 768, 85, 1280, 4352, 0}, {10, 5174, 20560, 0, 0, 0, 0}, {1032, 1079, 768, 64, 0, 0, 0}, {1032, 12336, 64, 0, 0, 0, 0}, {10, 4403, 85, 1280, 0, 0, 0}, {10, 5168, 1536, 5200, 0, 0, 0}, {1800, 1911, 17476, 0, 0, 0, 0}, {17612, 15420, 0, 0, 0, 0, 0}, {258, 21, 4096, 0, 0, 0, 0}, {10, 32, 514, 5140, 0, 0, 0}, {63, 768, 17408, 0, 0, 0, 0}, {12288, 64, 1024, 0, 0, 0, 0}, {10, 85, 1285, 4369, 0, 0, 0}, {10, 5154, 1536, 5186, 0, 0, 0}, {1807, 1904, 17219, 0, 0, 0, 0}, {15564, 17476, 0, 0, 0, 0, 0}, {512, 261, 272, 0, 0, 0, 0}, {10, 32, 512, 5190, 0, 0, 0}, {783, 816, 18247, 0, 0, 0, 0}, {192, 3072, 12288, 17480, 0, 0, 0}, {10, 32, 512, 85, 1285, 4371, 0}, {10, 32, 512, 64, 1024, 4096, 0}, {255, 3855, 13107, 17476, 0, 0, 0}, {128, 2048, 13388, 17484, 0, 0, 0}, {10, 53, 773, 85, 1285, 4375, 0}, {10, 8738, 5188, 0, 0, 0, 0}, {783, 816, 64, 1024, 0, 0, 0}, {10240, 5200, 0, 0, 0, 0, 0}, {819, 21, 4369, 0, 0, 0, 0}, {5722, 5744, 21074, 0, 0, 0, 0}, {5132, 5171, 5888, 5203, 0, 0, 0}, {32, 64, 1028, 4112, 0, 0, 0}, {3840, 85, 4352, 0, 0, 0, 0}, {4698, 4656, 22102, 0, 0, 0, 0}, {5128, 32, 4864, 5207, 0, 0, 0}, {5208, 32, 20560, 0, 0, 0, 0}, {4364, 4403, 4608, 85, 0, 0, 0}, {170, 7770, 8704, 17408, 0, 0, 0}, {31, 32, 787, 64, 1028, 4096, 0}, {5212, 96, 20560, 0, 0, 0, 0}, {4360, 4386, 5632, 85, 0, 0, 0}, {42, 4626, 64, 1028, 0, 0, 0}, {95, 13056, 5120, 0, 0, 0, 0}, {96, 5120, 0, 0, 0, 0, 0}, {42, 1799, 85, 4369, 0, 0, 0}, {1032, 1058, 5632, 64, 0, 0, 0}, {95, 5219, 20560, 0, 0, 0, 0}, {2056, 32, 5188, 0, 0, 0, 0}, {783, 816, 85, 4352, 0, 0, 0}, {170, 7782, 8704, 17510, 0, 0, 0}, {31, 32, 784, 64, 1047, 4112, 0}, {1032, 32, 64, 4096, 0, 0, 0}, {3855, 4403, 85, 0, 0, 0, 0}, {106, 4608, 17408, 0, 0, 0, 0}, {95, 32, 4883, 5140, 0, 0, 0}, {5228, 20480, 0, 0, 0, 0, 0}, {4386, 4626, 21, 0, 0, 0, 0}, {5708, 5734, 17476, 0, 0, 0, 0}, {5135, 5168, 5888, 5200, 0, 0, 0}, {128, 2048, 13424, 17408, 0, 0, 0}, {10, 53, 774, 85, 1280, 4369, 0}, {10, 5234, 20560, 0, 0, 0, 0}, {1036, 1075, 1792, 64, 0, 0, 0}, {192, 3084, 12336, 17476, 0, 0, 0}, {10, 32, 512, 85, 1280, 4352, 0}, {10, 32, 512, 64, 1030, 4112, 0}, {255, 3840, 13056, 17527, 0, 0, 0}, {17544, 30840, 0, 0, 0, 0, 0}, {275, 21, 4096, 0, 0, 0, 0}, {10, 32, 512, 5200, 0, 0, 0}, {780, 819, 17476, 0, 0, 0, 0}, {1036, 12336, 64, 0, 0, 0, 0}, {10, 4386, 85, 1280, 0, 0, 0}, {10, 96, 4626, 5140, 0, 0, 0}, {127, 1792, 17408, 0, 0, 0, 0}, {128, 2048, 13312, 17408, 0, 0, 0}, {10, 53, 771, 85, 1285, 4369, 0}, {10, 5154, 20480, 0, 0, 0, 0}, {1036, 1075, 771, 64, 0, 0, 0}, {192, 3084, 12288, 17476, 0, 0, 0}, {10, 32, 512, 85, 1285, 4352, 0}, {10, 32, 512, 64, 1030, 4096, 0}, {255, 3855, 13056, 17527, 0, 0, 0}, {17544, 15360, 0, 0, 0, 0, 0}, {259, 21, 4112, 0, 0, 0, 0}, {10, 32, 512, 5120, 0, 0, 0}, {63, 771, 17476, 0, 0, 0, 0}, {1036, 12288, 64, 0, 0, 0, 0}, {10, 4386, 85, 1285, 0, 0, 0}, {10, 5156, 1542, 5188, 0, 0, 0}, {1807, 1904, 17408, 0, 0, 0, 0}, {3072, 5168, 5200, 0, 0, 0, 0}, {1800, 1826, 85, 4369, 0, 0, 0}, {1032, 1058, 4626, 64, 0, 0, 0}, {95, 5171, 20480, 0, 0, 0, 0}, {32, 5140, 0, 0, 0, 0, 0}, {63, 768, 85, 4352, 0, 0, 0}, {170, 7740, 8704, 17510, 0, 0, 0}, {31, 32, 768, 64, 1047, 4096, 0}, {1032, 32, 64, 4112, 0, 0, 0}, {3840, 4403, 85, 0, 0, 0, 0}, {4698, 4656, 17408, 0, 0, 0, 0}, {5147, 32, 4883, 5188, 0, 0, 0}, {5180, 20560, 0, 0, 0, 0, 0}, {4386, 768, 21, 0, 0, 0, 0}, {42, 5654, 17476, 0, 0, 0, 0}, {95, 96, 768, 5120, 0, 0, 0}, {160, 5120, 0, 0, 0, 0, 0}, {771, 21, 4369, 0, 0, 0, 0}, {42, 5632, 17442, 0, 0, 0, 0}, {95, 96, 771, 5123, 0, 0, 0}, {32, 64, 1028, 4096, 0, 0, 0}, {3855, 85, 4352, 0, 0, 0, 0}, {106, 4608, 17510, 0, 0, 0, 0}, {95, 32, 4864, 5127, 0, 0, 0}, {5128, 32, 20480, 0, 0, 0, 0}, {4364, 4403, 771, 85, 0, 0, 0}, {170, 7680, 8704, 17408, 0, 0, 0}, {31, 32, 771, 64, 1028, 4112, 0}, {5132, 96, 20480, 0, 0, 0, 0}, {4360, 4386, 1799, 85, 0, 0, 0}, {4616, 4642, 64, 1028, 0, 0, 0}, {5135, 13056, 5200, 0, 0, 0, 0}, {12336, 64, 1024, 0, 0, 0, 0}, {10, 85, 1280, 4369, 0, 0, 0}, {10, 96, 4626, 5138, 0, 0, 0}, {127, 1792, 17459, 0, 0, 0, 0}, {15420, 17476, 0, 0, 0, 0, 0}, {32, 21, 256, 0, 0, 0, 0}, {10, 32, 512, 5142, 0, 0, 0}, {63, 768, 17527, 0, 0, 0, 0}, {192, 3072, 12336, 17480, 0, 0, 0}, {10, 32, 512, 85, 1280, 4371, 0}, {10, 32, 512, 64, 1024, 4112, 0}, {255, 3840, 13107, 17476, 0, 0, 0}, {128, 2048, 13372, 17484, 0, 0, 0}, {10, 53, 768, 85, 1280, 4375, 0}, {10, 8738, 5140, 0, 0, 0, 0}, {63, 768, 64, 1024, 0, 0, 0}, {192, 3072, 12288, 17408, 0, 0, 0}, {10, 32, 514, 85, 1285, 4369, 0}, {10, 32, 514, 64, 1026, 4096, 0}, {255, 3855, 13107, 17459, 0, 0, 0}, {128, 2056, 13380, 17476, 0, 0, 0}, {10, 53, 773, 85, 1285, 4352, 0}, {10, 5222, 20480, 0, 0, 0, 0}, {1032, 1079, 1799, 64, 0, 0, 0}, {1032, 12288, 64, 0, 0, 0, 0}, {10, 4403, 85, 1285, 0, 0, 0}, {10, 96, 4608, 5120, 0, 0, 0}, {127, 1799, 17476, 0, 0, 0, 0}, {17612, 30720, 0, 0, 0, 0, 0}, {274, 21, 4112, 0, 0, 0, 0}, {10, 32, 514, 5188, 0, 0, 0}, {783, 816, 17408, 0, 0, 0, 0}, {2048, 32, 5200, 0, 0, 0, 0}, {780, 819, 85, 4369, 0, 0, 0}, {170, 7800, 8738, 17442, 0, 0, 0}, {31, 32, 787, 64, 1043, 4096, 0}, {96, 5140, 0, 0, 0, 0, 0}, {42, 1792, 85, 4352, 0, 0, 0}, {1036, 1062, 5654, 64, 0, 0, 0}, {95, 5239, 20480, 0, 0, 0, 0}, {5240, 20560, 0, 0, 0, 0, 0}, {4403, 4608, 21, 0, 0, 0, 0}, {5722, 5744, 17408, 0, 0, 0, 0}, {5147, 5156, 5911, 5188, 0, 0, 0}, {1036, 32, 64, 4112, 0, 0, 0}, {3840, 4386, 85, 0, 0, 0, 0}, {106, 4626, 17476, 0, 0, 0, 0}, {95, 32, 4864, 5120, 0, 0, 0}, {32, 64, 1024, 4096, 0, 0, 0}, {3855, 85, 4369, 0, 0, 0, 0}, {4680, 4642, 22016, 0, 0, 0, 0}, {5148, 32, 4883, 5187, 0, 0, 0}, {10280, 5188, 0, 0, 0, 0, 0}, {816, 21, 4352, 0, 0, 0, 0}, {5708, 5734, 20992, 0, 0, 0, 0}, {5144, 5159, 5911, 5191, 0, 0, 0}, {5192, 96, 20480, 0, 0, 0, 0}, {4377, 4403, 5654, 85, 0, 0, 0}, {42, 4608, 64, 1024, 0, 0, 0}, {95, 13107, 5140, 0, 0, 0, 0}, {5196, 32, 20480, 0, 0, 0, 0}, {4381, 4386, 4626, 85, 0, 0, 0}, {170, 7748, 8738, 17476, 0, 0, 0}, {31, 32, 784, 64, 1024, 4112, 0}, {15600, 17408, 0, 0, 0, 0, 0}, {514, 260, 273, 0, 0, 0, 0}, {10, 32, 514, 5202, 0, 0, 0}, {780, 819, 18176, 0, 0, 0, 0}, {12336, 64, 1028, 0, 0, 0, 0}, {10, 85, 1280, 4352, 0, 0, 0}, {10, 5174, 1542, 5206, 0, 0, 0}, {1800, 1911, 17152, 0, 0, 0, 0}, {128, 2056, 13432, 17416, 0, 0, 0}, {10, 53, 774, 85, 1280, 4358, 0}, {10, 8704, 5200, 0, 0, 0, 0}, {780, 819, 64, 1028, 0, 0, 0}, {192, 3084, 12336, 17420, 0, 0, 0}, {10, 32, 514, 85, 1280, 4354, 0}, {10, 32, 514, 64, 1028, 4112, 0}, {255, 3840, 13056, 17408, 0, 0, 0}, {8192, 5376, 0, 0, 0, 0, 0}, {60, 68, 257, 0, 0, 0, 0}, {5418, 514, 21794, 0, 0, 0, 0}, {4108, 4144, 771, 5379, 0, 0, 0}, {520, 68, 1028, 4352, 0, 0, 0}, {12288, 4176, 1285, 0, 0, 0, 0}, {5482, 1542, 21862, 0, 0, 0, 0}, {4104, 4208, 4608, 5383, 0, 0, 0}, {5384, 5888, 21760, 0, 0, 0, 0}, {4188, 4192, 771, 1285, 0, 0, 0}, {5546, 2570, 13578, 16384, 0, 0, 0}, {267, 311, 771, 68, 1028, 4100, 0}, {5388, 4864, 21760, 0, 0, 0, 0}, {4184, 4128, 514, 1285, 0, 0, 0}, {4386, 514, 68, 1028, 0, 0, 0}, {1295, 4096, 0, 0, 0, 0, 0}, {3840, 1360, 4112, 0, 0, 0, 0}, {546, 68, 1024, 4369, 0, 0, 0}, {4168, 4144, 4626, 5394, 0, 0, 0}, {5503, 4883, 21811, 0, 0, 0, 0}, {768, 276, 4352, 0, 0, 0, 0}, {8320, 5397, 0, 0, 0, 0, 0}, {4172, 4208, 768, 5398, 0, 0, 0}, {5439, 5911, 21879, 0, 0, 0, 0}, {4120, 5424, 1792, 1360, 0, 0, 0}, {5401, 1638, 21845, 0, 0, 0, 0}, {5402, 12336, 4160, 0, 0, 0, 0}, {4891, 4403, 68, 1024, 0, 0, 0}, {4124, 4128, 768, 1360, 0, 0, 0}, {5405, 546, 21845, 0, 0, 0, 0}, {286, 290, 768, 68, 1024, 4096, 0}, {5567, 7967, 8224, 16448, 0, 0, 0}, {5504, 7968, 8224, 21760, 0, 0, 0}, {285, 289, 771, 68, 1297, 4369, 0}, {5410, 5888, 16384, 0, 0, 0, 0}, {1375, 1379, 771, 4112, 0, 0, 0}, {1036, 1572, 68, 4352, 0, 0, 0}, {3855, 5413, 1365, 0, 0, 0, 0}, {4940, 5414, 16448, 0, 0, 0, 0}, {5391, 1319, 4608, 4176, 0, 0, 0}, {552, 8704, 5376, 0, 0, 0, 0}, {60, 771, 4160, 5397, 0, 0, 0}, {5418, 24576, 0, 0, 0, 0, 0}, {279, 68, 5140, 0, 0, 0, 0}, {3084, 4896, 5440, 0, 0, 0, 0}, {1807, 546, 1365, 4096, 0, 0, 0}, {1036, 4386, 4864, 68, 0, 0, 0}, {1375, 4128, 20560, 0, 0, 0, 0}, {4144, 1280, 0, 0, 0, 0, 0}, {1032, 514, 68, 4369, 0, 0, 0}, {1290, 1394, 514, 4112, 0, 0, 0}, {5427, 1536, 16384, 0, 0, 0, 0}, {264, 308, 768, 68, 1280, 4352, 0}, {5525, 2570, 13621, 21845, 0, 0, 0}, {1290, 1334, 768, 4176, 0, 0, 0}, {520, 5431, 16448, 0, 0, 0, 0}, {520, 4656, 4160, 1280, 0, 0, 0}, {1546, 13107, 5461, 0, 0, 0, 0}, {1290, 4192, 20560, 0, 0, 0, 0}, {1032, 4403, 1536, 68, 0, 0, 0}, {60, 768, 1280, 4096, 0, 0, 0}, {136, 514, 5397, 0, 0, 0, 0}, {258, 68, 5140, 0, 0, 0, 0}, {5439, 8192, 0, 0, 0, 0, 0}, {2560, 5440, 0, 0, 0, 0, 0}, {819, 261, 4369, 0, 0, 0, 0}, {522, 5984, 16962, 0, 0, 0, 0}, {1295, 1331, 1536, 5443, 0, 0, 0}, {512, 68, 1024, 4352, 0, 0, 0}, {240, 1285, 4112, 0, 0, 0, 0}, {1546, 4896, 17990, 0, 0, 0, 0}, {1295, 4144, 512, 5447, 0, 0, 0}, {5448, 512, 21760, 0, 0, 0, 0}, {4124, 4128, 4883, 1285, 0, 0, 0}, {5610, 2570, 8224, 16448, 0, 0, 0}, {271, 307, 512, 68, 1024, 4096, 0}, {5452, 1536, 21760, 0, 0, 0, 0}, {4120, 4192, 4626, 1285, 0, 0, 0}, {522, 4386, 68, 1024, 0, 0, 0}, {1295, 12336, 4160, 0, 0, 0, 0}, {12288, 4176, 5376, 0, 0, 0, 0}, {554, 68, 1028, 4369, 0, 0, 0}, {4104, 1314, 5888, 5458, 0, 0, 0}, {4959, 1632, 21331, 0, 0, 0, 0}, {780, 1028, 272, 0, 0, 0, 0}, {8192, 5461, 0, 0, 0, 0, 0}, {4108, 4144, 4864, 5462, 0, 0, 0}, {5983, 544, 22359, 0, 0, 0, 0}, {5384, 4128, 4608, 1360, 0, 0, 0}, {5465, 4915, 21845, 0, 0, 0, 0}, {1370, 4096, 0, 0, 0, 0, 0}, {4403, 4883, 68, 1028, 0, 0, 0}, {5388, 5424, 5632, 1360, 0, 0, 0}, {5469, 6007, 21845, 0, 0, 0, 0}, {282, 294, 534, 68, 1028, 4100, 0}, {5631, 8031, 13663, 16384, 0, 0, 0}, {5568, 8032, 13664, 21760, 0, 0, 0}, {281, 293, 534, 68, 1297, 4369, 0}, {5960, 5474, 16448, 0, 0, 0, 0}, {5391, 5427, 5632, 4176, 0, 0, 0}, {1032, 544, 68, 4352, 0, 0, 0}, {3855, 4144, 1365, 0, 0, 0, 0}, {5478, 4864, 16384, 0, 0, 0, 0}, {1375, 1319, 1799, 4112, 0, 0, 0}, {2056, 544, 5440, 0, 0, 0, 0}, {783, 819, 1365, 4096, 0, 0, 0}, {5482, 8192, 0, 0, 0, 0, 0}, {275, 68, 5140, 0, 0, 0, 0}, {4972, 13056, 5376, 0, 0, 0, 0}, {4152, 4626, 4160, 5397, 0, 0, 0}, {1032, 4386, 5888, 68, 0, 0, 0}, {1375, 4192, 20560, 0, 0, 0, 0}, {4208, 1280, 0, 0, 0, 0, 0}, {1036, 1542, 68, 4369, 0, 0, 0}, {1290, 5410, 1792, 4176, 0, 0, 0}, {1548, 5491, 16448, 0, 0, 0, 0}, {268, 304, 512, 68, 1280, 4352, 0}, {5589, 2570, 8224, 21845, 0, 0, 0}, {1290, 1334, 1542, 4112, 0, 0, 0}, {5495, 512, 16384, 0, 0, 0, 0}, {120, 512, 1280, 4096, 0, 0, 0}, {204, 4883, 5397, 0, 0, 0, 0}, {1290, 4128, 20560, 0, 0, 0, 0}, {1036, 4403, 512, 68, 0, 0, 0}, {780, 816, 4160, 1280, 0, 0, 0}, {522, 8738, 5461, 0, 0, 0, 0}, {262, 68, 5140, 0, 0, 0, 0}, {5503, 24576, 0, 0, 0, 0, 0}, {5504, 2560, 13568, 21760, 0, 0, 0}, {265, 309, 771, 68, 1285, 4369, 0}, {522, 5410, 16384, 0, 0, 0, 0}, {1295, 1331, 771, 4160, 0, 0, 0}, {1036, 512, 68, 4352, 0, 0, 0}, {4128, 1285, 0, 0, 0, 0, 0}, {5414, 1542, 16448, 0, 0, 0, 0}, {1295, 1399, 512, 4096, 0, 0, 0}, {136, 512, 5376, 0, 0, 0, 0}, {60, 771, 1285, 4112, 0, 0, 0}, {5418, 8224, 0, 0, 0, 0, 0}, {259, 68, 5120, 0, 0, 0, 0}, {1548, 13056, 5440, 0, 0, 0, 0}, {522, 4642, 4176, 1285, 0, 0, 0}, {1036, 4386, 1542, 68, 0, 0, 0}, {1295, 4208, 20480, 0, 0, 0, 0}, {3840, 5424, 1360, 0, 0, 0, 0}, {1032, 1570, 68, 4369, 0, 0, 0}, {5402, 1314, 4626, 4160, 0, 0, 0}, {4959, 5427, 16384, 0, 0, 0, 0}, {284, 288, 768, 68, 1300, 4352, 0}, {5525, 7999, 8192, 21845, 0, 0, 0}, {1370, 1382, 768, 4096, 0, 0, 0}, {5431, 5911, 16448, 0, 0, 0, 0}, {1800, 544, 1360, 4112, 0, 0, 0}, {3072, 4915, 5461, 0, 0, 0, 0}, {1370, 4144, 20480, 0, 0, 0, 0}, {1032, 4403, 4883, 68, 0, 0, 0}, {60, 768, 4176, 5376, 0, 0, 0}, {554, 8738, 5397, 0, 0, 0, 0}, {278, 68, 5120, 0, 0, 0, 0}, {5439, 24672, 0, 0, 0, 0, 0}, {8352, 5376, 0, 0, 0, 0, 0}, {771, 277, 4369, 0, 0, 0, 0}, {5418, 5888, 21794, 0, 0, 0, 0}, {4188, 4192, 771, 5379, 0, 0, 0}, {544, 68, 1028, 4352, 0, 0, 0}, {3855, 1365, 4096, 0, 0, 0, 0}, {5482, 4864, 21862, 0, 0, 0, 0}, {4184, 4128, 4608, 5383, 0, 0, 0}, {5384, 544, 21760, 0, 0, 0, 0}, {4108, 4144, 771, 1365, 0, 0, 0}, {5546, 7936, 8192, 16384, 0, 0, 0}, {287, 291, 771, 68, 1028, 4112, 0}, {5388, 1632, 21760, 0, 0, 0, 0}, {4104, 5413, 1799, 1365, 0, 0, 0}, {4872, 4386, 68, 1028, 0, 0, 0}, {5391, 12288, 4176, 0, 0, 0, 0}, {12336, 4160, 1280, 0, 0, 0, 0}, {522, 68, 1024, 4369, 0, 0, 0}, {4120, 4192, 4626, 5394, 0, 0, 0}, {5503, 1536, 21811, 0, 0, 0, 0}, {60, 68, 256, 0, 0, 0, 0}, {8224, 5397, 0, 0, 0, 0, 0}, {4124, 4128, 768, 5398, 0, 0, 0}, {5439, 512, 21879, 0, 0, 0, 0}, {4168, 4144, 512, 1280, 0, 0, 0}, {5401, 4883, 21845, 0, 0, 0, 0}, {1290, 4112, 0, 0, 0, 0, 0}, {4403, 512, 68, 1024, 0, 0, 0}, {4172, 4208, 768, 1280, 0, 0, 0}, {5405, 5911, 21845, 0, 0, 0, 0}, {266, 310, 768, 68, 1024, 4116, 0}, {5567, 2560, 13631, 16448, 0, 0, 0}, {5568, 2560, 8192, 21760, 0, 0, 0}, {269, 305, 514, 68, 1285, 4369, 0}, {5474, 514, 16448, 0, 0, 0, 0}, {1295, 1331, 1536, 4096, 0, 0, 0}, {1032, 1536, 68, 4352, 0, 0, 0}, {4192, 1285, 0, 0, 0, 0, 0}, {1546, 5478, 16384, 0, 0, 0, 0}, {1295, 5431, 1799, 4160, 0, 0, 0}, {520, 8704, 5440, 0, 0, 0, 0}, {783, 819, 4176, 1285, 0, 0, 0}, {5482, 24672, 0, 0, 0, 0, 0}, {263, 68, 5120, 0, 0, 0, 0}, {204, 4864, 5376, 0, 0, 0, 0}, {120, 514, 1285, 4112, 0, 0, 0}, {1032, 4386, 514, 68, 0, 0, 0}, {1295, 4144, 20480, 0, 0, 0, 0}, {3840, 4128, 1360, 0, 0, 0, 0}, {1036, 546, 68, 4369, 0, 0, 0}, {1370, 1314, 1792, 4096, 0, 0, 0}, {5491, 4883, 16448, 0, 0, 0, 0}, {280, 292, 532, 68, 1300, 4352, 0}, {5589, 8063, 13653, 21845, 0, 0, 0}, {5402, 5414, 5654, 4160, 0, 0, 0}, {5983, 5495, 16384, 0, 0, 0, 0}, {4136, 4608, 4176, 5376, 0, 0, 0}, {4991, 13107, 5397, 0, 0, 0, 0}, {1370, 4208, 20480, 0, 0, 0, 0}, {1036, 4403, 5911, 68, 0, 0, 0}, {780, 816, 1360, 4112, 0, 0, 0}, {2048, 546, 5461, 0, 0, 0, 0}, {274, 68, 5120, 0, 0, 0, 0}, {5503, 8224, 0, 0, 0, 0, 0}, {8224, 5440, 0, 0, 0, 0, 0}, {783, 1024, 273, 0, 0, 0, 0}, {5960, 546, 22272, 0, 0, 0, 0}, {4124, 4128, 4883, 5443, 0, 0, 0}, {552, 68, 1024, 4352, 0, 0, 0}, {12336, 4160, 5397, 0, 0, 0, 0}, {4940, 1638, 21248, 0, 0, 0, 0}, {4120, 1319, 5911, 5447, 0, 0, 0}, {5448, 5984, 21760, 0, 0, 0, 0}, {5401, 5413, 5654, 1365, 0, 0, 0}, {5610, 8000, 13674, 16448, 0, 0, 0}, {283, 295, 532, 68, 1024, 4116, 0}, {5452, 4896, 21760, 0, 0, 0, 0}, {5405, 4144, 4626, 1365, 0, 0, 0}, {4386, 4864, 68, 1024, 0, 0, 0}, {1375, 4112, 0, 0, 0, 0, 0}, {240, 1280, 4096, 0, 0, 0, 0}, {514, 68, 1028, 4369, 0, 0, 0}, {1290, 4128, 514, 5458, 0, 0, 0}, {1548, 4915, 17920, 0, 0, 0, 0}, {816, 260, 4352, 0, 0, 0, 0}, {2570, 5461, 0, 0, 0, 0, 0}, {1290, 1334, 1542, 5462, 0, 0, 0}, {520, 6007, 16896, 0, 0, 0, 0}, {4104, 4208, 4608, 1280, 0, 0, 0}, {5465, 1542, 21845, 0, 0, 0, 0}, {1290, 12288, 4176, 0, 0, 0, 0}, {520, 4403, 68, 1028, 0, 0, 0}, {4108, 4144, 4864, 1280, 0, 0, 0}, {5469, 514, 21845, 0, 0, 0, 0}, {270, 306, 514, 68, 1028, 4112, 0}, {5631, 2560, 8192, 16384, 0, 0, 0}, {5632, 20480, 0, 0, 0, 0, 0}, {72, 119, 257, 0, 0, 0, 0}, {5160, 514, 17408, 0, 0, 0, 0}, {4111, 4144, 771, 5376, 0, 0, 0}, {4104, 4608, 4160, 1028, 0, 0, 0}, {4959, 13056, 1285, 0, 0, 0, 0}, {4192, 1542, 16384, 0, 0, 0, 0}, {1295, 119, 1799, 4352, 0, 0, 0}, {520, 8704, 5120, 0, 0, 0, 0}, {63, 771, 4176, 1285, 0, 0, 0}, {5802, 2570, 13834, 17930, 0, 0, 0}, {267, 308, 771, 323, 1028, 4103, 0}, {1548, 4096, 0, 0, 0, 0, 0}, {4386, 514, 4437, 1285, 0, 0, 0}, {72, 4128, 514, 1028, 0, 0, 0}, {1295, 4864, 21760, 0, 0, 0, 0}, {3072, 1632, 4112, 0, 0, 0, 0}, {1314, 1792, 1365, 4369, 0, 0, 0}, {72, 4144, 4626, 1024, 0, 0, 0}, {1375, 4883, 21760, 0, 0, 0, 0}, {552, 8704, 5140, 0, 0, 0, 0}, {63, 768, 4160, 5397, 0, 0, 0}, {20720, 5654, 0, 0, 0, 0, 0}, {279, 1024, 4352, 0, 0, 0, 0}, {4120, 4656, 4176, 1024, 0, 0, 0}, {5657, 13107, 1365, 0, 0, 0, 0}, {5658, 4208, 16448, 0, 0, 0, 0}, {5147, 4403, 1792, 4420, 0, 0, 0}, {5820, 7196, 8224, 20560, 0, 0, 0}, {285, 290, 768, 341, 1024, 4096, 0}, {5662, 546, 17476, 0, 0, 0, 0}, {4127, 4128, 768, 5440, 0, 0, 0}, {5760, 7200, 8224, 17952, 0, 0, 0}, {286, 289, 771, 342, 1298, 4369, 0}, {546, 5120, 0, 0, 0, 0, 0}, {63, 771, 1360, 4112, 0, 0, 0}, {1036, 5156, 4608, 1092, 0, 0, 0}, {1370, 5669, 21845, 0, 0, 0, 0}, {3084, 5670, 4160, 0, 0, 0, 0}, {1807, 1319, 1360, 4352, 0, 0, 0}, {5160, 5632, 17408, 0, 0, 0, 0}, {4175, 4208, 771, 5397, 0, 0, 0}, {5674, 20480, 0, 0, 0, 0, 0}, {4403, 771, 276, 0, 0, 0, 0}, {5708, 4128, 16448, 0, 0, 0, 0}, {5135, 4386, 4864, 4437, 0, 0, 0}, {1036, 546, 1092, 4096, 0, 0, 0}, {3855, 4896, 1360, 0, 0, 0, 0}, {4144, 1536, 16384, 0, 0, 0, 0}, {1290, 119, 514, 4369, 0, 0, 0}, {1032, 514, 1088, 4112, 0, 0, 0}, {4915, 1280, 0, 0, 0, 0, 0}, {520, 5684, 17476, 0, 0, 0, 0}, {1290, 1333, 768, 5461, 0, 0, 0}, {5782, 2570, 13878, 20560, 0, 0, 0}, {264, 311, 768, 320, 1280, 4352, 0}, {1032, 5168, 1536, 1088, 0, 0, 0}, {1290, 5734, 21845, 0, 0, 0, 0}, {1546, 12336, 4176, 0, 0, 0, 0}, {520, 4403, 4420, 1280, 0, 0, 0}, {5692, 8192, 0, 0, 0, 0, 0}, {258, 4437, 5397, 0, 0, 0, 0}, {136, 514, 5140, 0, 0, 0, 0}, {63, 768, 1280, 4096, 0, 0, 0}, {1536, 4160, 0, 0, 0, 0, 0}, {522, 119, 1285, 4369, 0, 0, 0}, {72, 4192, 578, 1024, 0, 0, 0}, {1295, 5699, 21760, 0, 0, 0, 0}, {512, 5188, 0, 0, 0, 0, 0}, {783, 816, 1285, 4112, 0, 0, 0}, {5862, 2570, 8224, 17990, 0, 0, 0}, {271, 304, 512, 327, 1024, 4352, 0}, {72, 512, 1024, 4096, 0, 0, 0}, {255, 4883, 1285, 0, 0, 0, 0}, {1546, 4128, 16448, 0, 0, 0, 0}, {1295, 4403, 512, 4420, 0, 0, 0}, {5708, 20480, 0, 0, 0, 0, 0}, {4386, 4626, 261, 0, 0, 0, 0}, {522, 5734, 17476, 0, 0, 0, 0}, {1295, 1328, 1536, 5440, 0, 0, 0}, {5872, 7248, 13904, 20560, 0, 0, 0}, {281, 294, 533, 337, 1028, 4369, 0}, {5240, 5714, 17408, 0, 0, 0, 0}, {4191, 4192, 4947, 5376, 0, 0, 0}, {72, 544, 1028, 4112, 0, 0, 0}, {4864, 1365, 0, 0, 0, 0, 0}, {4144, 5718, 16384, 0, 0, 0, 0}, {1375, 119, 599, 4352, 0, 0, 0}, {2056, 544, 5200, 0, 0, 0, 0}, {780, 819, 1365, 4096, 0, 0, 0}, {5722, 8192, 0, 0, 0, 0, 0}, {275, 4420, 1028, 0, 0, 0, 0}, {5692, 12336, 4176, 0, 0, 0, 0}, {4872, 4386, 4437, 5120, 0, 0, 0}, {72, 4208, 4626, 1028, 0, 0, 0}, {1375, 5632, 21760, 0, 0, 0, 0}, {4192, 5632, 16384, 0, 0, 0, 0}, {1370, 119, 1799, 4369, 0, 0, 0}, {4104, 4642, 4160, 5120, 0, 0, 0}, {5692, 13107, 1360, 0, 0, 0, 0}, {5708, 544, 17476, 0, 0, 0, 0}, {4111, 4144, 4864, 5461, 0, 0, 0}, {5734, 20480, 0, 0, 0, 0, 0}, {1032, 1799, 272, 0, 0, 0, 0}, {1032, 4128, 4608, 1088, 0, 0, 0}, {1370, 4915, 21845, 0, 0, 0, 0}, {1642, 4096, 0, 0, 0, 0, 0}, {4403, 4883, 4420, 5140, 0, 0, 0}, {5836, 7276, 13932, 18028, 0, 0, 0}, {282, 293, 533, 338, 1298, 4103, 0}, {554, 8738, 5188, 0, 0, 0, 0}, {783, 816, 4176, 5376, 0, 0, 0}, {2560, 5744, 0, 0, 0, 0, 0}, {262, 1092, 4369, 0, 0, 0, 0}, {522, 8738, 5200, 0, 0, 0, 0}, {780, 819, 4160, 1280, 0, 0, 0}, {1036, 4144, 512, 1092, 0, 0, 0}, {1290, 4896, 21845, 0, 0, 0, 0}, {192, 1542, 4112, 0, 0, 0, 0}, {119, 512, 1280, 4352, 0, 0, 0}, {5240, 512, 17408, 0, 0, 0, 0}, {4127, 4128, 4883, 5397, 0, 0, 0}, {5850, 2570, 8224, 20560, 0, 0, 0}, {268, 307, 512, 324, 1280, 4096, 0}, {1548, 4208, 16448, 0, 0, 0, 0}, {1290, 4386, 1792, 4437, 0, 0, 0}, {4120, 4626, 4176, 5140, 0, 0, 0}, {4991, 13056, 1280, 0, 0, 0, 0}, {5760, 2560, 13824, 20480, 0, 0, 0}, {265, 310, 771, 321, 1285, 4369, 0}, {522, 5666, 17408, 0, 0, 0, 0}, {1295, 1328, 771, 5440, 0, 0, 0}, {1036, 512, 1092, 4096, 0, 0, 0}, {4896, 1285, 0, 0, 0, 0, 0}, {4128, 1542, 16448, 0, 0, 0, 0}, {1295, 119, 512, 4352, 0, 0, 0}, {136, 512, 5120, 0, 0, 0, 0}, {63, 771, 1285, 4112, 0, 0, 0}, {5674, 8224, 0, 0, 0, 0, 0}, {259, 4420, 5376, 0, 0, 0, 0}, {1548, 12288, 4160, 0, 0, 0, 0}, {522, 4386, 4437, 1285, 0, 0, 0}, {1036, 5156, 1542, 1092, 0, 0, 0}, {1295, 5744, 21760, 0, 0, 0, 0}, {3072, 5680, 4176, 0, 0, 0, 0}, {1800, 1314, 1365, 4369, 0, 0, 0}, {1032, 5168, 4626, 1088, 0, 0, 0}, {1375, 5683, 21760, 0, 0, 0, 0}, {544, 5140, 0, 0, 0, 0, 0}, {63, 768, 1365, 4096, 0, 0, 0}, {5782, 7228, 8192, 18022, 0, 0, 0}, {287, 288, 768, 343, 1303, 4352, 0}, {1032, 544, 1088, 4112, 0, 0, 0}, {3840, 4915, 1365, 0, 0, 0, 0}, {5722, 4144, 16384, 0, 0, 0, 0}, {5147, 4403, 4883, 4420, 0, 0, 0}, {5692, 20560, 0, 0, 0, 0, 0}, {4386, 768, 277, 0, 0, 0, 0}, {5180, 5654, 17476, 0, 0, 0, 0}, {4191, 4192, 768, 5376, 0, 0, 0}, {20640, 5632, 0, 0, 0, 0, 0}, {278, 1028, 4369, 0, 0, 0, 0}, {554, 8738, 5120, 0, 0, 0, 0}, {63, 771, 4176, 5376, 0, 0, 0}, {72, 4128, 4608, 1028, 0, 0, 0}, {1370, 4864, 21845, 0, 0, 0, 0}, {3084, 1638, 4096, 0, 0, 0, 0}, {1319, 1799, 1360, 4352, 0, 0, 0}, {5640, 544, 17408, 0, 0, 0, 0}, {4111, 4144, 771, 5461, 0, 0, 0}, {5802, 7168, 8192, 20480, 0, 0, 0}, {284, 291, 771, 340, 1028, 4112, 0}, {5644, 4192, 16384, 0, 0, 0, 0}, {5135, 4386, 1799, 4437, 0, 0, 0}, {4104, 4642, 4160, 1028, 0, 0, 0}, {5647, 13056, 1360, 0, 0, 0, 0}, {4208, 1536, 16448, 0, 0, 0, 0}, {1290, 119, 1792, 4369, 0, 0, 0}, {4120, 4626, 4176, 1024, 0, 0, 0}, {4940, 13107, 1280, 0, 0, 0, 0}, {5180, 512, 17476, 0, 0, 0, 0}, {4127, 4128, 768, 5397, 0, 0, 0}, {5654, 20560, 0, 0, 0, 0, 0}, {72, 119, 256, 0, 0, 0, 0}, {72, 4144, 512, 1024, 0, 0, 0}, {1290, 4883, 21845, 0, 0, 0, 0}, {1546, 4112, 0, 0, 0, 0, 0}, {4403, 512, 4420, 1280, 0, 0, 0}, {5820, 2560, 13884, 17996, 0, 0, 0}, {266, 309, 768, 322, 1024, 4119, 0}, {522, 8738, 5140, 0, 0, 0, 0}, {63, 768, 4160, 1280, 0, 0, 0}, {192, 1536, 4096, 0, 0, 0, 0}, {119, 514, 1285, 4369, 0, 0, 0}, {1032, 4128, 514, 1088, 0, 0, 0}, {1295, 4915, 21760, 0, 0, 0, 0}, {520, 8704, 5188, 0, 0, 0, 0}, {783, 816, 4176, 1285, 0, 0, 0}, {2570, 5734, 0, 0, 0, 0, 0}, {263, 1088, 4352, 0, 0, 0, 0}, {4104, 4608, 4160, 5120, 0, 0, 0}, {4972, 13107, 1285, 0, 0, 0, 0}, {1546, 4192, 16384, 0, 0, 0, 0}, {1295, 4403, 1799, 4420, 0, 0, 0}, {5836, 2560, 8192, 20480, 0, 0, 0}, {269, 306, 514, 325, 1285, 4112, 0}, {5228, 514, 17476, 0, 0, 0, 0}, {4111, 4144, 4864, 5376, 0, 0, 0}, {5744, 20560, 0, 0, 0, 0, 0}, {1036, 1792, 273, 0, 0, 0, 0}, {5722, 546, 17408, 0, 0, 0, 0}, {4127, 4128, 4883, 5440, 0, 0, 0}, {4120, 4656, 4176, 5140, 0, 0, 0}, {5674, 13056, 1365, 0, 0, 0, 0}, {4208, 5654, 16448, 0, 0, 0, 0}, {1375, 119, 1792, 4352, 0, 0, 0}, {552, 8704, 5200, 0, 0, 0, 0}, {780, 819, 4160, 5397, 0, 0, 0}, {5850, 7280, 13914, 17962, 0, 0, 0}, {283, 292, 535, 339, 1303, 4119, 0}, {1644, 4112, 0, 0, 0, 0, 0}, {4386, 4864, 4437, 5120, 0, 0, 0}, {1036, 4144, 4626, 1092, 0, 0, 0}, {1375, 4896, 21760, 0, 0, 0, 0}, {4128, 5696, 16448, 0, 0, 0, 0}, {1370, 119, 597, 4369, 0, 0, 0}, {72, 546, 1024, 4096, 0, 0, 0}, {4883, 1360, 0, 0, 0, 0, 0}, {5228, 5700, 17476, 0, 0, 0, 0}, {4175, 4208, 4928, 5397, 0, 0, 0}, {5862, 7244, 13926, 20480, 0, 0, 0}, {280, 295, 535, 336, 1024, 4352, 0}, {72, 4192, 4608, 1024, 0, 0, 0}, {1370, 5654, 21845, 0, 0, 0, 0}, {5674, 12288, 4160, 0, 0, 0, 0}, {4891, 4403, 4420, 5140, 0, 0, 0}, {5708, 8224, 0, 0, 0, 0, 0}, {274, 4437, 1024, 0, 0, 0, 0}, {2048, 546, 5188, 0, 0, 0, 0}, {783, 816, 1360, 4112, 0, 0, 0}, {5872, 2560, 8192, 17920, 0, 0, 0}, {270, 305, 514, 326, 1028, 4369, 0}, {514, 5200, 0, 0, 0, 0, 0}, {780, 819, 1280, 4096, 0, 0, 0}, {72, 4208, 576, 1028, 0, 0, 0}, {1290, 5717, 21845, 0, 0, 0, 0}, {1542, 4176, 0, 0, 0, 0, 0}, {520, 119, 1280, 4352, 0, 0, 0}, {520, 5744, 17408, 0, 0, 0, 0}, {1290, 1333, 1542, 5461, 0, 0, 0}, {5722, 20560, 0, 0, 0, 0, 0}, {4403, 4608, 260, 0, 0, 0, 0}, {1548, 4144, 16384, 0, 0, 0, 0}, {1290, 4386, 514, 4437, 0, 0, 0}, {72, 514, 1028, 4112, 0, 0, 0}, {255, 4864, 1280, 0, 0, 0, 0}, {18432, 30464, 0, 0, 0, 0, 0}, {22, 80, 257, 0, 0, 0, 0}, {10, 32, 514, 5376, 0, 0, 0}, {60, 771, 17408, 0, 0, 0, 0}, {76, 13056, 1028, 0, 0, 0, 0}, {10, 4608, 80, 1285, 0, 0, 0}, {10, 102, 1542, 4352, 0, 0, 0}, {112, 1799, 16384, 0, 0, 0, 0}, {128, 2056, 14088, 16384, 0, 0, 0}, {10, 54, 771, 80, 1285, 4357, 0}, {10, 5888, 21760, 0, 0, 0, 0}, {76, 112, 771, 1028, 0, 0, 0}, {204, 3084, 13056, 17408, 0, 0, 0}, {10, 32, 514, 80, 1285, 4096, 0}, {10, 32, 514, 70, 1028, 4354, 0}, {240, 3855, 12288, 18191, 0, 0, 0}, {32, 1792, 80, 4112, 0, 0, 0}, {3072, 102, 4369, 0, 0, 0, 0}, {90, 4626, 21760, 0, 0, 0, 0}, {76, 32, 4883, 1024, 0, 0, 0}, {60, 768, 80, 5140, 0, 0, 0}, {42, 8704, 5397, 0, 0, 0, 0}, {22, 1024, 4352, 0, 0, 0, 0}, {160, 5911, 0, 0, 0, 0, 0}, {5912, 12336, 80, 0, 0, 0, 0}, {4377, 4403, 4437, 1024, 0, 0, 0}, {5402, 5424, 1792, 5440, 0, 0, 0}, {5915, 6007, 17476, 0, 0, 0, 0}, {28, 32, 768, 80, 1024, 4096, 0}, {170, 7453, 8738, 21845, 0, 0, 0}, {4382, 4386, 768, 4420, 0, 0, 0}, {5919, 32, 16448, 0, 0, 0, 0}, {32, 5888, 16384, 0, 0, 0, 0}, {90, 102, 771, 4369, 0, 0, 0}, {170, 7458, 8738, 21760, 0, 0, 0}, {28, 32, 771, 80, 1040, 4112, 0}, {5960, 5924, 17476, 0, 0, 0, 0}, {5391, 5413, 4608, 5461, 0, 0, 0}, {1036, 1062, 1088, 4352, 0, 0, 0}, {3855, 5927, 80, 0, 0, 0, 0}, {5928, 24576, 0, 0, 0, 0, 0}, {22, 4437, 5397, 0, 0, 0, 0}, {42, 8704, 5376, 0, 0, 0, 0}, {60, 771, 80, 5140, 0, 0, 0}, {1036, 32, 4864, 1088, 0, 0, 0}, {90, 4642, 21845, 0, 0, 0, 0}, {3084, 4386, 4420, 0, 0, 0, 0}, {1807, 32, 80, 4096, 0, 0, 0}, {240, 3840, 12336, 18224, 0, 0, 0}, {10, 32, 514, 70, 1026, 4369, 0}, {10, 32, 514, 80, 1280, 4112, 0}, {204, 3072, 13107, 17408, 0, 0, 0}, {1032, 1076, 768, 1092, 0, 0, 0}, {10, 5941, 21845, 0, 0, 0, 0}, {10, 54, 768, 80, 1280, 4352, 0}, {128, 2056, 14135, 16448, 0, 0, 0}, {1800, 112, 16448, 0, 0, 0, 0}, {10, 4403, 1536, 4437, 0, 0, 0}, {10, 4656, 80, 1280, 0, 0, 0}, {1032, 13107, 1092, 0, 0, 0, 0}, {60, 768, 17408, 0, 0, 0, 0}, {10, 32, 514, 5397, 0, 0, 0}, {258, 276, 4096, 0, 0, 0, 0}, {30719, 16191, 0, 0, 0, 0, 0}, {128, 2048, 14144, 16448, 0, 0, 0}, {10, 54, 773, 80, 1285, 4369, 0}, {10, 5954, 21760, 0, 0, 0, 0}, {76, 112, 835, 1024, 0, 0, 0}, {204, 3072, 13056, 17476, 0, 0, 0}, {10, 32, 512, 80, 1285, 4112, 0}, {10, 32, 512, 70, 1024, 4352, 0}, {240, 3855, 12336, 18247, 0, 0, 0}, {30600, 18504, 0, 0, 0, 0, 0}, {275, 261, 4096, 0, 0, 0, 0}, {10, 32, 512, 5440, 0, 0, 0}, {783, 819, 17476, 0, 0, 0, 0}, {76, 13056, 1024, 0, 0, 0, 0}, {10, 4626, 80, 1285, 0, 0, 0}, {10, 4386, 1536, 4420, 0, 0, 0}, {1807, 112, 16448, 0, 0, 0, 0}, {5888, 80, 0, 0, 0, 0, 0}, {76, 102, 1028, 4369, 0, 0, 0}, {90, 112, 4690, 5376, 0, 0, 0}, {108, 5971, 17408, 0, 0, 0, 0}, {28, 32, 784, 80, 1028, 4112, 0}, {170, 7509, 8704, 21845, 0, 0, 0}, {90, 102, 854, 4352, 0, 0, 0}, {32, 5975, 16384, 0, 0, 0, 0}, {1800, 32, 80, 4096, 0, 0, 0}, {3084, 4403, 4437, 0, 0, 0, 0}, {90, 4608, 21760, 0, 0, 0, 0}, {76, 32, 4883, 1028, 0, 0, 0}, {780, 816, 80, 5120, 0, 0, 0}, {42, 8738, 5461, 0, 0, 0, 0}, {22, 4420, 1028, 0, 0, 0, 0}, {5983, 24576, 0, 0, 0, 0, 0}, {24320, 5984, 0, 0, 0, 0, 0}, {22, 1092, 4369, 0, 0, 0, 0}, {42, 8738, 5440, 0, 0, 0, 0}, {783, 819, 80, 5120, 0, 0, 0}, {1032, 32, 4864, 1092, 0, 0, 0}, {90, 4656, 21845, 0, 0, 0, 0}, {3072, 102, 4352, 0, 0, 0, 0}, {32, 1799, 80, 4112, 0, 0, 0}, {5960, 32, 16448, 0, 0, 0, 0}, {4367, 4403, 4608, 4437, 0, 0, 0}, {170, 7530, 8704, 21760, 0, 0, 0}, {28, 32, 787, 80, 1044, 4096, 0}, {108, 5888, 17408, 0, 0, 0, 0}, {90, 112, 4626, 5397, 0, 0, 0}, {4360, 4386, 4420, 5376, 0, 0, 0}, {5951, 12336, 80, 0, 0, 0, 0}, {112, 1792, 16384, 0, 0, 0, 0}, {10, 102, 1542, 4369, 0, 0, 0}, {10, 4642, 80, 1280, 0, 0, 0}, {1036, 13107, 1088, 0, 0, 0, 0}, {780, 816, 17476, 0, 0, 0, 0}, {10, 32, 512, 5461, 0, 0, 0}, {262, 1280, 272, 0, 0, 0, 0}, {18568, 30583, 0, 0, 0, 0, 0}, {240, 3840, 12288, 18296, 0, 0, 0}, {10, 32, 512, 70, 1030, 4371, 0}, {10, 32, 512, 80, 1280, 4096, 0}, {204, 3084, 13107, 17476, 0, 0, 0}, {1036, 1072, 1792, 1088, 0, 0, 0}, {10, 6007, 21845, 0, 0, 0, 0}, {10, 54, 774, 80, 1280, 4372, 0}, {128, 2048, 14207, 16384, 0, 0, 0}, {128, 2048, 14080, 16384, 0, 0, 0}, {10, 54, 771, 80, 1285, 4369, 0}, {10, 5922, 21760, 0, 0, 0, 0}, {1036, 1072, 771, 1088, 0, 0, 0}, {204, 3084, 13056, 17476, 0, 0, 0}, {10, 32, 512, 80, 1285, 4096, 0}, {10, 32, 512, 70, 1030, 4352, 0}, {240, 3855, 12288, 18295, 0, 0, 0}, {30600, 16128, 0, 0, 0, 0, 0}, {259, 277, 4112, 0, 0, 0, 0}, {10, 32, 512, 5376, 0, 0, 0}, {60, 771, 17476, 0, 0, 0, 0}, {1036, 13056, 1088, 0, 0, 0, 0}, {10, 4642, 80, 1285, 0, 0, 0}, {10, 4386, 1542, 4420, 0, 0, 0}, {1807, 112, 16384, 0, 0, 0, 0}, {3840, 5936, 80, 0, 0, 0, 0}, {1032, 1058, 1092, 4369, 0, 0, 0}, {5402, 5424, 4626, 5440, 0, 0, 0}, {5983, 5939, 17408, 0, 0, 0, 0}, {28, 32, 768, 80, 1044, 4096, 0}, {170, 7487, 8704, 21845, 0, 0, 0}, {90, 102, 768, 4352, 0, 0, 0}, {32, 5911, 16448, 0, 0, 0, 0}, {1800, 32, 80, 4112, 0, 0, 0}, {3072, 4403, 4437, 0, 0, 0, 0}, {90, 4656, 21760, 0, 0, 0, 0}, {1032, 32, 4883, 1092, 0, 0, 0}, {60, 768, 80, 5120, 0, 0, 0}, {42, 8738, 5397, 0, 0, 0, 0}, {22, 4420, 5376, 0, 0, 0, 0}, {5951, 24672, 0, 0, 0, 0, 0}, {160, 5888, 0, 0, 0, 0, 0}, {22, 1028, 4369, 0, 0, 0, 0}, {42, 8738, 5376, 0, 0, 0, 0}, {60, 771, 80, 5120, 0, 0, 0}, {76, 32, 4864, 1028, 0, 0, 0}, {90, 4608, 21845, 0, 0, 0, 0}, {3084, 102, 4352, 0, 0, 0, 0}, {32, 1799, 80, 4096, 0, 0, 0}, {5896, 32, 16384, 0, 0, 0, 0}, {4367, 4403, 771, 4437, 0, 0, 0}, {170, 7424, 8704, 21760, 0, 0, 0}, {28, 32, 771, 80, 1028, 4112, 0}, {5900, 5984, 17408, 0, 0, 0, 0}, {5391, 5413, 1799, 5461, 0, 0, 0}, {4360, 4386, 4420, 1028, 0, 0, 0}, {5903, 12288, 80, 0, 0, 0, 0}, {112, 1792, 16448, 0, 0, 0, 0}, {10, 102, 1536, 4369, 0, 0, 0}, {10, 4626, 80, 1280, 0, 0, 0}, {76, 13107, 1024, 0, 0, 0, 0}, {60, 768, 17476, 0, 0, 0, 0}, {10, 32, 512, 5397, 0, 0, 0}, {22, 80, 256, 0, 0, 0, 0}, {18504, 30583, 0, 0, 0, 0, 0}, {240, 3840, 12336, 18248, 0, 0, 0}, {10, 32, 512, 70, 1024, 4371, 0}, {10, 32, 512, 80, 1280, 4112, 0}, {204, 3072, 13107, 17476, 0, 0, 0}, {76, 112, 768, 1024, 0, 0, 0}, {10, 5911, 21845, 0, 0, 0, 0}, {10, 54, 768, 80, 1280, 4372, 0}, {128, 2048, 14143, 16448, 0, 0, 0}, {18624, 30464, 0, 0, 0, 0, 0}, {263, 1285, 273, 0, 0, 0, 0}, {10, 32, 514, 5440, 0, 0, 0}, {783, 819, 17408, 0, 0, 0, 0}, {1032, 13056, 1092, 0, 0, 0, 0}, {10, 4656, 80, 1285, 0, 0, 0}, {10, 102, 1536, 4352, 0, 0, 0}, {112, 1799, 16448, 0, 0, 0, 0}, {128, 2056, 14152, 16448, 0, 0, 0}, {10, 54, 773, 80, 1285, 4357, 0}, {10, 5984, 21760, 0, 0, 0, 0}, {1032, 1076, 1799, 1092, 0, 0, 0}, {204, 3072, 13056, 17408, 0, 0, 0}, {10, 32, 514, 80, 1285, 4112, 0}, {10, 32, 514, 70, 1026, 4354, 0}, {240, 3855, 12336, 18239, 0, 0, 0}, {32, 1792, 80, 4096, 0, 0, 0}, {3084, 102, 4369, 0, 0, 0, 0}, {90, 4642, 21760, 0, 0, 0, 0}, {1036, 32, 4883, 1088, 0, 0, 0}, {780, 816, 80, 5140, 0, 0, 0}, {42, 8704, 5461, 0, 0, 0, 0}, {22, 1088, 4352, 0, 0, 0, 0}, {24415, 6007, 0, 0, 0, 0, 0}, {5928, 12288, 80, 0, 0, 0, 0}, {4377, 4403, 4437, 5397, 0, 0, 0}, {90, 112, 4608, 5376, 0, 0, 0}, {108, 5911, 17476, 0, 0, 0, 0}, {28, 32, 784, 80, 1040, 4112, 0}, {170, 7543, 8738, 21845, 0, 0, 0}, {4382, 4386, 4626, 4420, 0, 0, 0}, {5983, 32, 16384, 0, 0, 0, 0}, {32, 5952, 16448, 0, 0, 0, 0}, {90, 102, 853, 4369, 0, 0, 0}, {170, 7496, 8738, 21760, 0, 0, 0}, {28, 32, 787, 80, 1024, 4096, 0}, {108, 5956, 17476, 0, 0, 0, 0}, {90, 112, 4672, 5397, 0, 0, 0}, {76, 102, 1024, 4352, 0, 0, 0}, {5911, 80, 0, 0, 0, 0, 0}, {5960, 24672, 0, 0, 0, 0, 0}, {22, 4437, 1024, 0, 0, 0, 0}, {42, 8704, 5440, 0, 0, 0, 0}, {783, 819, 80, 5140, 0, 0, 0}, {76, 32, 4864, 1024, 0, 0, 0}, {90, 4626, 21845, 0, 0, 0, 0}, {3072, 4386, 4420, 0, 0, 0, 0}, {1807, 32, 80, 4112, 0, 0, 0}, {240, 3840, 12288, 18176, 0, 0, 0}, {10, 32, 514, 70, 1028, 4369, 0}, {10, 32, 514, 80, 1280, 4096, 0}, {204, 3084, 13107, 17408, 0, 0, 0}, {76, 112, 832, 1028, 0, 0, 0}, {10, 5973, 21845, 0, 0, 0, 0}, {10, 54, 774, 80, 1280, 4352, 0}, {128, 2056, 14199, 16384, 0, 0, 0}, {1800, 112, 16384, 0, 0, 0, 0}, {10, 4403, 1542, 4437, 0, 0, 0}, {10, 4608, 80, 1280, 0, 0, 0}, {76, 13107, 1028, 0, 0, 0, 0}, {780, 816, 17408, 0, 0, 0, 0}, {10, 32, 514, 5461, 0, 0, 0}, {274, 260, 4112, 0, 0, 0, 0}, {30719, 18432, 0, 0, 0, 0, 0}, {18432, 12288, 0, 0, 0, 0, 0}, {19, 85, 257, 0, 0, 0, 0}, {10, 32, 514, 4096, 0, 0, 0}, {51, 771, 17408, 0, 0, 0, 0}, {76, 12352, 1028, 0, 0, 0, 0}, {10, 4613, 85, 1285, 0, 0, 0}, {10, 102, 4614, 5120, 0, 0, 0}, {127, 1799, 16384, 0, 0, 0, 0}, {128, 2056, 12288, 16384, 0, 0, 0}, {10, 51, 771, 85, 1285, 4352, 0}, {10, 4608, 20480, 0, 0, 0, 0}, {76, 51, 771, 1028, 0, 0, 0}, {204, 3084, 12300, 17408, 0, 0, 0}, {10, 32, 514, 85, 1285, 4101, 0}, {10, 32, 514, 70, 1028, 4102, 0}, {255, 3855, 12303, 18191, 0, 0, 0}, {2048, 32, 4112, 0, 0, 0, 0}, {51, 768, 85, 4369, 0, 0, 0}, {170, 4626, 0, 0, 0, 0, 0}, {19, 1024, 4096, 0, 0, 0, 0}, {108, 12368, 5140, 0, 0, 0, 0}, {42, 4629, 85, 5397, 0, 0, 0}, {76, 102, 4630, 1024, 0, 0, 0}, {95, 5911, 20480, 0, 0, 0, 0}, {160, 6168, 12336, 20560, 0, 0, 0}, {25, 51, 768, 85, 1024, 4352, 0}, {4634, 4656, 16448, 0, 0, 0, 0}, {5147, 51, 768, 5188, 0, 0, 0}, {4124, 32, 4176, 1024, 0, 0, 0}, {4637, 8738, 85, 0, 0, 0, 0}, {4638, 102, 17476, 0, 0, 0, 0}, {4127, 32, 1792, 4160, 0, 0, 0}, {2048, 32, 4096, 0, 0, 0, 0}, {51, 771, 85, 4369, 0, 0, 0}, {23040, 4642, 0, 0, 0, 0, 0}, {19, 1088, 4112, 0, 0, 0, 0}, {5160, 9252, 5188, 0, 0, 0, 0}, {4623, 4645, 85, 5376, 0, 0, 0}, {1036, 1062, 5632, 1088, 0, 0, 0}, {95, 6007, 20560, 0, 0, 0, 0}, {160, 6184, 12288, 20480, 0, 0, 0}, {25, 51, 771, 85, 1045, 4352, 0}, {42, 4608, 16384, 0, 0, 0, 0}, {95, 51, 771, 5140, 0, 0, 0}, {4108, 32, 4160, 5120, 0, 0, 0}, {4653, 8738, 85, 0, 0, 0, 0}, {4680, 102, 17476, 0, 0, 0, 0}, {4111, 32, 5888, 4176, 0, 0, 0}, {18624, 12336, 0, 0, 0, 0, 0}, {258, 1280, 273, 0, 0, 0, 0}, {10, 32, 514, 4112, 0, 0, 0}, {51, 768, 17408, 0, 0, 0, 0}, {1032, 13364, 1092, 0, 0, 0, 0}, {10, 4661, 85, 1280, 0, 0, 0}, {10, 5174, 1536, 5200, 0, 0, 0}, {1800, 1911, 16448, 0, 0, 0, 0}, {128, 2056, 12336, 16448, 0, 0, 0}, {10, 51, 768, 85, 1280, 4352, 0}, {10, 4656, 20560, 0, 0, 0, 0}, {1032, 51, 768, 1092, 0, 0, 0}, {204, 3072, 12348, 17408, 0, 0, 0}, {10, 32, 514, 85, 1280, 4117, 0}, {10, 32, 514, 70, 1026, 4118, 0}, {255, 3840, 12351, 18239, 0, 0, 0}, {128, 2048, 12352, 16448, 0, 0, 0}, {10, 51, 773, 85, 1285, 4369, 0}, {10, 4674, 20480, 0, 0, 0, 0}, {76, 51, 835, 1024, 0, 0, 0}, {204, 3072, 12288, 17476, 0, 0, 0}, {10, 32, 512, 85, 1285, 4112, 0}, {10, 32, 512, 70, 1024, 4096, 0}, {255, 3855, 12336, 18247, 0, 0, 0}, {12480, 18504, 0, 0, 0, 0, 0}, {19, 261, 4352, 0, 0, 0, 0}, {10, 32, 512, 4160, 0, 0, 0}, {783, 51, 17476, 0, 0, 0, 0}, {76, 12288, 1024, 0, 0, 0, 0}, {10, 4626, 85, 1285, 0, 0, 0}, {10, 5154, 1536, 5188, 0, 0, 0}, {1807, 1904, 16448, 0, 0, 0, 0}, {160, 6224, 12368, 20560, 0, 0, 0}, {25, 51, 789, 85, 1028, 4369, 0}, {42, 4690, 16384, 0, 0, 0, 0}, {95, 51, 851, 5120, 0, 0, 0}, {76, 32, 1028, 4112, 0, 0, 0}, {4608, 85, 0, 0, 0, 0, 0}, {102, 4694, 17408, 0, 0, 0, 0}, {95, 32, 1879, 4096, 0, 0, 0}, {2056, 32, 4176, 0, 0, 0, 0}, {780, 51, 85, 4352, 0, 0, 0}, {4698, 8704, 0, 0, 0, 0, 0}, {19, 4160, 1028, 0, 0, 0, 0}, {5180, 12336, 5200, 0, 0, 0, 0}, {4616, 4642, 85, 5376, 0, 0, 0}, {76, 102, 4626, 1028, 0, 0, 0}, {95, 5888, 20480, 0, 0, 0, 0}, {160, 6240, 12384, 20480, 0, 0, 0}, {25, 51, 790, 85, 1041, 4369, 0}, {4680, 4706, 16448, 0, 0, 0, 0}, {5135, 51, 5888, 5200, 0, 0, 0}, {1032, 32, 1092, 4096, 0, 0, 0}, {3855, 4656, 85, 0, 0, 0, 0}, {102, 4608, 17408, 0, 0, 0, 0}, {95, 32, 1799, 4112, 0, 0, 0}, {2056, 32, 4160, 0, 0, 0, 0}, {783, 51, 85, 4352, 0, 0, 0}, {4714, 8704, 0, 0, 0, 0, 0}, {19, 4176, 5140, 0, 0, 0, 0}, {108, 12288, 5120, 0, 0, 0, 0}, {42, 4626, 85, 5397, 0, 0, 0}, {1032, 1058, 5632, 1092, 0, 0, 0}, {95, 5984, 20560, 0, 0, 0, 0}, {128, 2048, 12400, 16384, 0, 0, 0}, {10, 51, 774, 85, 1280, 4369, 0}, {10, 4722, 20560, 0, 0, 0, 0}, {1036, 51, 1792, 1088, 0, 0, 0}, {204, 3084, 12336, 17476, 0, 0, 0}, {10, 32, 512, 85, 1280, 4096, 0}, {10, 32, 512, 70, 1030, 4112, 0}, {255, 3840, 12288, 18295, 0, 0, 0}, {12528, 30840, 0, 0, 0, 0, 0}, {19, 277, 4352, 0, 0, 0, 0}, {10, 32, 512, 4176, 0, 0, 0}, {780, 51, 17476, 0, 0, 0, 0}, {1036, 12336, 1088, 0, 0, 0, 0}, {10, 4642, 85, 1280, 0, 0, 0}, {10, 102, 4626, 5140, 0, 0, 0}, {127, 1792, 16384, 0, 0, 0, 0}, {128, 2048, 12288, 16384, 0, 0, 0}, {10, 51, 771, 85, 1285, 4369, 0}, {10, 4642, 20480, 0, 0, 0, 0}, {1036, 51, 771, 1088, 0, 0, 0}, {204, 3084, 12300, 17476, 0, 0, 0}, {10, 32, 512, 85, 1285, 4101, 0}, {10, 32, 512, 70, 1030, 4102, 0}, {255, 3855, 12303, 18296, 0, 0, 0}, {18568, 12288, 0, 0, 0, 0, 0}, {259, 1285, 272, 0, 0, 0, 0}, {10, 32, 512, 4096, 0, 0, 0}, {51, 771, 17476, 0, 0, 0, 0}, {1036, 13312, 1088, 0, 0, 0, 0}, {10, 4647, 85, 1285, 0, 0, 0}, {10, 5154, 1542, 5188, 0, 0, 0}, {1807, 1904, 16384, 0, 0, 0, 0}, {160, 6192, 12336, 20560, 0, 0, 0}, {25, 51, 768, 85, 1041, 4369, 0}, {42, 4626, 16448, 0, 0, 0, 0}, {95, 51, 768, 5120, 0, 0, 0}, {4124, 32, 4176, 5140, 0, 0, 0}, {4671, 8704, 85, 0, 0, 0, 0}, {4698, 102, 17408, 0, 0, 0, 0}, {4127, 32, 5911, 4160, 0, 0, 0}, {2056, 32, 4112, 0, 0, 0, 0}, {51, 768, 85, 4352, 0, 0, 0}, {23130, 4656, 0, 0, 0, 0, 0}, {19, 1092, 4096, 0, 0, 0, 0}, {5180, 9216, 5200, 0, 0, 0, 0}, {4637, 4663, 85, 5397, 0, 0, 0}, {1032, 1058, 5654, 1092, 0, 0, 0}, {95, 5984, 20480, 0, 0, 0, 0}, {160, 6144, 12288, 20480, 0, 0, 0}, {25, 51, 771, 85, 1028, 4369, 0}, {4616, 4642, 16384, 0, 0, 0, 0}, {5135, 51, 771, 5200, 0, 0, 0}, {4108, 32, 4160, 1028, 0, 0, 0}, {4623, 8704, 85, 0, 0, 0, 0}, {4620, 102, 17408, 0, 0, 0, 0}, {4111, 32, 1799, 4176, 0, 0, 0}, {2056, 32, 4096, 0, 0, 0, 0}, {51, 771, 85, 4352, 0, 0, 0}, {170, 4608, 0, 0, 0, 0, 0}, {19, 1028, 4112, 0, 0, 0, 0}, {108, 12384, 5120, 0, 0, 0, 0}, {42, 4615, 85, 5376, 0, 0, 0}, {76, 102, 4612, 1028, 0, 0, 0}, {95, 5888, 20560, 0, 0, 0, 0}, {128, 2048, 12336, 16448, 0, 0, 0}, {10, 51, 768, 85, 1280, 4369, 0}, {10, 4626, 20560, 0, 0, 0, 0}, {76, 51, 768, 1024, 0, 0, 0}, {204, 3072, 12348, 17476, 0, 0, 0}, {10, 32, 512, 85, 1280, 4117, 0}, {10, 32, 512, 70, 1024, 4118, 0}, {255, 3840, 12351, 18248, 0, 0, 0}, {18504, 12336, 0, 0, 0, 0, 0}, {19, 85, 256, 0, 0, 0, 0}, {10, 32, 512, 4112, 0, 0, 0}, {51, 768, 17476, 0, 0, 0, 0}, {76, 12400, 1024, 0, 0, 0, 0}, {10, 4631, 85, 1280, 0, 0, 0}, {10, 102, 4628, 5140, 0, 0, 0}, {127, 1792, 16448, 0, 0, 0, 0}, {12480, 30720, 0, 0, 0, 0, 0}, {19, 276, 4369, 0, 0, 0, 0}, {10, 32, 514, 4160, 0, 0, 0}, {783, 51, 17408, 0, 0, 0, 0}, {1032, 12288, 1092, 0, 0, 0, 0}, {10, 4656, 85, 1285, 0, 0, 0}, {10, 102, 4608, 5120, 0, 0, 0}, {127, 1799, 16448, 0, 0, 0, 0}, {128, 2056, 12352, 16448, 0, 0, 0}, {10, 51, 773, 85, 1285, 4352, 0}, {10, 4704, 20480, 0, 0, 0, 0}, {1032, 51, 1799, 1092, 0, 0, 0}, {204, 3072, 12288, 17408, 0, 0, 0}, {10, 32, 514, 85, 1285, 4112, 0}, {10, 32, 514, 70, 1026, 4096, 0}, {255, 3855, 12336, 18224, 0, 0, 0}, {2048, 32, 4176, 0, 0, 0, 0}, {780, 51, 85, 4369, 0, 0, 0}, {4728, 8738, 0, 0, 0, 0, 0}, {19, 4160, 5120, 0, 0, 0, 0}, {108, 12336, 5140, 0, 0, 0, 0}, {42, 4608, 85, 5376, 0, 0, 0}, {1036, 1062, 5654, 1088, 0, 0, 0}, {95, 6007, 20480, 0, 0, 0, 0}, {160, 6264, 12368, 20560, 0, 0, 0}, {25, 51, 789, 85, 1045, 4352, 0}, {4698, 4720, 16384, 0, 0, 0, 0}, {5147, 51, 5911, 5188, 0, 0, 0}, {1036, 32, 1088, 4112, 0, 0, 0}, {3840, 4642, 85, 0, 0, 0, 0}, {102, 4626, 17476, 0, 0, 0, 0}, {95, 32, 1792, 4096, 0, 0, 0}, {2048, 32, 4160, 0, 0, 0, 0}, {783, 51, 85, 4369, 0, 0, 0}, {4680, 8738, 0, 0, 0, 0, 0}, {19, 4176, 1024, 0, 0, 0, 0}, {5160, 12288, 5188, 0, 0, 0, 0}, {4634, 4656, 85, 5397, 0, 0, 0}, {76, 102, 4608, 1024, 0, 0, 0}, {95, 5911, 20560, 0, 0, 0, 0}, {160, 6216, 12384, 20480, 0, 0, 0}, {25, 51, 790, 85, 1024, 4352, 0}, {42, 4672, 16448, 0, 0, 0, 0}, {95, 51, 848, 5140, 0, 0, 0}, {76, 32, 1024, 4096, 0, 0, 0}, {4626, 85, 0, 0, 0, 0, 0}, {102, 4676, 17476, 0, 0, 0, 0}, {95, 32, 1872, 4112, 0, 0, 0}, {12528, 18432, 0, 0, 0, 0, 0}, {19, 260, 4369, 0, 0, 0, 0}, {10, 32, 514, 4176, 0, 0, 0}, {780, 51, 17408, 0, 0, 0, 0}, {76, 12336, 1028, 0, 0, 0, 0}, {10, 4608, 85, 1280, 0, 0, 0}, {10, 5174, 1542, 5200, 0, 0, 0}, {1800, 1911, 16384, 0, 0, 0, 0}, {128, 2056, 12400, 16384, 0, 0, 0}, {10, 51, 774, 85, 1280, 4352, 0}, {10, 4688, 20560, 0, 0, 0, 0}, {76, 51, 832, 1028, 0, 0, 0}, {204, 3084, 12336, 17408, 0, 0, 0}, {10, 32, 514, 85, 1280, 4096, 0}, {10, 32, 514, 70, 1028, 4112, 0}, {255, 3840, 12288, 18176, 0, 0, 0}, {4864, 21760, 0, 0, 0, 0, 0}, {72, 48, 257, 0, 0, 0, 0}, {4386, 514, 17408, 0, 0, 0, 0}, {1295, 48, 771, 4096, 0, 0, 0}, {4364, 4868, 4420, 1028, 0, 0, 0}, {4959, 8272, 1285, 0, 0, 0, 0}, {5482, 1542, 16384, 0, 0, 0, 0}, {4367, 4471, 4871, 5120, 0, 0, 0}, {520, 4352, 0, 0, 0, 0, 0}, {48, 771, 4176, 1285, 0, 0, 0}, {5024, 2570, 13056, 17930, 0, 0, 0}, {267, 48, 771, 323, 1028, 4355, 0}, {4876, 8192, 5376, 0, 0, 0, 0}, {4397, 514, 4437, 1285, 0, 0, 0}, {72, 4454, 514, 1028, 0, 0, 0}, {1295, 5632, 20480, 0, 0, 0, 0}, {48, 768, 1360, 4112, 0, 0, 0}, {2048, 546, 4369, 0, 0, 0, 0}, {274, 1024, 4096, 0, 0, 0, 0}, {22015, 4883, 0, 0, 0, 0, 0}, {4412, 4884, 4420, 5140, 0, 0, 0}, {4991, 8256, 5397, 0, 0, 0, 0}, {1370, 5654, 20480, 0, 0, 0, 0}, {72, 4471, 4887, 1024, 0, 0, 0}, {280, 48, 768, 336, 1024, 4352, 0}, {5043, 6425, 13107, 21845, 0, 0, 0}, {5402, 48, 768, 4160, 0, 0, 0}, {4891, 4403, 17476, 0, 0, 0, 0}, {4892, 8224, 1360, 0, 0, 0, 0}, {4381, 546, 4437, 1024, 0, 0, 0}, {4382, 1314, 1792, 5188, 0, 0, 0}, {4895, 1632, 16448, 0, 0, 0, 0}, {4896, 21760, 0, 0, 0, 0, 0}, {1036, 771, 273, 0, 0, 0, 0}, {4386, 4864, 17408, 0, 0, 0, 0}, {1375, 48, 771, 4112, 0, 0, 0}, {4364, 4900, 4420, 5376, 0, 0, 0}, {5674, 9509, 1365, 0, 0, 0, 0}, {4940, 1638, 16448, 0, 0, 0, 0}, {4367, 1319, 5632, 5200, 0, 0, 0}, {552, 4352, 0, 0, 0, 0, 0}, {48, 771, 4160, 5397, 0, 0, 0}, {4992, 6442, 13056, 17962, 0, 0, 0}, {283, 48, 771, 339, 1303, 4355, 0}, {4908, 8224, 5440, 0, 0, 0, 0}, {4879, 546, 4437, 5120, 0, 0, 0}, {1036, 5410, 5888, 1092, 0, 0, 0}, {1375, 5744, 20560, 0, 0, 0, 0}, {48, 768, 1280, 4096, 0, 0, 0}, {136, 514, 4369, 0, 0, 0, 0}, {258, 1088, 4112, 0, 0, 0, 0}, {2560, 4915, 0, 0, 0, 0, 0}, {520, 4916, 4420, 1280, 0, 0, 0}, {1546, 13621, 5461, 0, 0, 0, 0}, {1290, 5734, 20560, 0, 0, 0, 0}, {1032, 5431, 1536, 1088, 0, 0, 0}, {264, 48, 768, 320, 1280, 4352, 0}, {5011, 2570, 13107, 21845, 0, 0, 0}, {1290, 48, 768, 4176, 0, 0, 0}, {520, 4403, 17476, 0, 0, 0, 0}, {4924, 8192, 1280, 0, 0, 0, 0}, {4381, 514, 4437, 5397, 0, 0, 0}, {4382, 4454, 514, 5140, 0, 0, 0}, {5439, 1536, 16384, 0, 0, 0, 0}, {1536, 5440, 0, 0, 0, 0, 0}, {522, 626, 1285, 4369, 0, 0, 0}, {72, 4386, 578, 1024, 0, 0, 0}, {1295, 4931, 20480, 0, 0, 0, 0}, {512, 4420, 0, 0, 0, 0, 0}, {783, 48, 1285, 4112, 0, 0, 0}, {5100, 2570, 8224, 17990, 0, 0, 0}, {271, 48, 512, 327, 1024, 4096, 0}, {72, 512, 1024, 4352, 0, 0, 0}, {240, 4883, 1285, 0, 0, 0, 0}, {1546, 4896, 16448, 0, 0, 0, 0}, {1295, 4403, 512, 5188, 0, 0, 0}, {4940, 21760, 0, 0, 0, 0, 0}, {48, 4626, 261, 0, 0, 0, 0}, {522, 4454, 17476, 0, 0, 0, 0}, {1295, 48, 1536, 4160, 0, 0, 0}, {5632, 1360, 0, 0, 0, 0, 0}, {72, 610, 1028, 4369, 0, 0, 0}, {4442, 4386, 594, 5120, 0, 0, 0}, {5439, 4947, 16384, 0, 0, 0, 0}, {284, 48, 528, 340, 1028, 4112, 0}, {5119, 6485, 8192, 21845, 0, 0, 0}, {1370, 48, 1622, 4096, 0, 0, 0}, {4471, 4951, 17408, 0, 0, 0, 0}, {1800, 544, 1360, 4352, 0, 0, 0}, {3084, 4915, 5461, 0, 0, 0, 0}, {1370, 4864, 20480, 0, 0, 0, 0}, {72, 4403, 4883, 1028, 0, 0, 0}, {780, 48, 4176, 5376, 0, 0, 0}, {554, 8738, 4437, 0, 0, 0, 0}, {278, 4160, 1028, 0, 0, 0, 0}, {4959, 26112, 0, 0, 0, 0, 0}, {4960, 5376, 0, 0, 0, 0, 0}, {1325, 1799, 1365, 4369, 0, 0, 0}, {1032, 4386, 5888, 1088, 0, 0, 0}, {1375, 4963, 20560, 0, 0, 0, 0}, {2056, 544, 4420, 0, 0, 0, 0}, {783, 48, 1365, 4096, 0, 0, 0}, {5068, 6502, 8192, 18022, 0, 0, 0}, {287, 48, 528, 343, 1303, 4112, 0}, {1032, 544, 1088, 4352, 0, 0, 0}, {3855, 4915, 1365, 0, 0, 0, 0}, {5482, 4864, 16384, 0, 0, 0, 0}, {4427, 4403, 4883, 5140, 0, 0, 0}, {4972, 21760, 0, 0, 0, 0, 0}, {48, 4626, 277, 0, 0, 0, 0}, {4940, 4454, 17476, 0, 0, 0, 0}, {5391, 48, 5632, 4176, 0, 0, 0}, {4976, 1280, 0, 0, 0, 0, 0}, {1036, 1542, 1092, 4369, 0, 0, 0}, {1290, 4386, 1792, 5200, 0, 0, 0}, {1548, 4979, 16448, 0, 0, 0, 0}, {268, 48, 512, 324, 1280, 4096, 0}, {5087, 2570, 8224, 21845, 0, 0, 0}, {1290, 48, 1542, 4112, 0, 0, 0}, {4471, 512, 17408, 0, 0, 0, 0}, {120, 512, 1280, 4352, 0, 0, 0}, {192, 4883, 5397, 0, 0, 0, 0}, {1290, 4896, 20560, 0, 0, 0, 0}, {1036, 4403, 512, 1092, 0, 0, 0}, {780, 48, 4160, 1280, 0, 0, 0}, {522, 8738, 4437, 0, 0, 0, 0}, {262, 4176, 5140, 0, 0, 0, 0}, {4991, 26112, 0, 0, 0, 0, 0}, {4992, 2560, 13056, 21760, 0, 0, 0}, {265, 48, 771, 321, 1285, 4369, 0}, {522, 4386, 17408, 0, 0, 0, 0}, {1295, 48, 771, 4160, 0, 0, 0}, {4364, 512, 4420, 5376, 0, 0, 0}, {4911, 8224, 1285, 0, 0, 0, 0}, {5418, 1542, 16448, 0, 0, 0, 0}, {4367, 4471, 512, 5120, 0, 0, 0}, {136, 512, 4352, 0, 0, 0, 0}, {48, 771, 1285, 4112, 0, 0, 0}, {2570, 4896, 0, 0, 0, 0, 0}, {259, 1092, 4096, 0, 0, 0, 0}, {1548, 13568, 5440, 0, 0, 0, 0}, {522, 4903, 4437, 1285, 0, 0, 0}, {1036, 5410, 1542, 1092, 0, 0, 0}, {1295, 5744, 20480, 0, 0, 0, 0}, {48, 768, 4176, 5376, 0, 0, 0}, {554, 4369, 0, 0, 0, 0, 0}, {282, 48, 768, 338, 1298, 4370, 0}, {5011, 6451, 13107, 18028, 0, 0, 0}, {4892, 544, 4420, 5140, 0, 0, 0}, {4927, 8192, 5461, 0, 0, 0, 0}, {1370, 5734, 20480, 0, 0, 0, 0}, {1032, 5431, 5911, 1088, 0, 0, 0}, {1032, 768, 272, 0, 0, 0, 0}, {4915, 21845, 0, 0, 0, 0, 0}, {1370, 48, 768, 4096, 0, 0, 0}, {4403, 4883, 17476, 0, 0, 0, 0}, {5692, 9472, 1360, 0, 0, 0, 0}, {4381, 4919, 4437, 5397, 0, 0, 0}, {4382, 1314, 5654, 5188, 0, 0, 0}, {4959, 1632, 16384, 0, 0, 0, 0}, {5024, 6400, 13056, 21760, 0, 0, 0}, {281, 48, 771, 337, 1028, 4369, 0}, {4872, 4386, 17408, 0, 0, 0, 0}, {5391, 48, 771, 4176, 0, 0, 0}, {4364, 544, 4420, 1028, 0, 0, 0}, {4879, 8192, 1365, 0, 0, 0, 0}, {4876, 1638, 16384, 0, 0, 0, 0}, {4367, 1319, 1799, 5200, 0, 0, 0}, {2056, 544, 4352, 0, 0, 0, 0}, {48, 771, 1365, 4096, 0, 0, 0}, {21930, 4864, 0, 0, 0, 0, 0}, {275, 1028, 4112, 0, 0, 0, 0}, {4972, 8288, 5376, 0, 0, 0, 0}, {4397, 4871, 4437, 5120, 0, 0, 0}, {72, 4454, 4868, 1028, 0, 0, 0}, {1375, 5632, 20560, 0, 0, 0, 0}, {48, 768, 4160, 1280, 0, 0, 0}, {522, 4369, 0, 0, 0, 0, 0}, {266, 48, 768, 322, 1024, 4370, 0}, {5043, 2560, 13107, 17996, 0, 0, 0}, {4412, 512, 4420, 1280, 0, 0, 0}, {4895, 8224, 5397, 0, 0, 0, 0}, {1290, 5654, 20560, 0, 0, 0, 0}, {72, 4471, 512, 1024, 0, 0, 0}, {72, 48, 256, 0, 0, 0, 0}, {4883, 21845, 0, 0, 0, 0, 0}, {1290, 48, 768, 4112, 0, 0, 0}, {4403, 512, 17476, 0, 0, 0, 0}, {4940, 8304, 1280, 0, 0, 0, 0}, {4381, 4887, 4437, 1024, 0, 0, 0}, {4382, 4454, 4884, 5140, 0, 0, 0}, {5503, 1536, 16448, 0, 0, 0, 0}, {192, 4864, 5376, 0, 0, 0, 0}, {120, 514, 1285, 4369, 0, 0, 0}, {1032, 4386, 514, 1088, 0, 0, 0}, {1295, 4915, 20480, 0, 0, 0, 0}, {520, 8704, 4420, 0, 0, 0, 0}, {783, 48, 4176, 1285, 0, 0, 0}, {4972, 26214, 0, 0, 0, 0, 0}, {263, 4160, 5120, 0, 0, 0, 0}, {1032, 1536, 1088, 4352, 0, 0, 0}, {4963, 1285, 0, 0, 0, 0, 0}, {1546, 4960, 16384, 0, 0, 0, 0}, {1295, 4403, 1799, 5188, 0, 0, 0}, {5068, 2560, 8192, 21760, 0, 0, 0}, {269, 48, 514, 325, 1285, 4112, 0}, {4454, 514, 17476, 0, 0, 0, 0}, {1295, 48, 1536, 4096, 0, 0, 0}, {3840, 4896, 1360, 0, 0, 0, 0}, {1036, 546, 1092, 4369, 0, 0, 0}, {4442, 4386, 4864, 5120, 0, 0, 0}, {5503, 4883, 16448, 0, 0, 0, 0}, {48, 4608, 276, 0, 0, 0, 0}, {4991, 21845, 0, 0, 0, 0, 0}, {5402, 48, 5654, 4160, 0, 0, 0}, {4959, 4471, 17408, 0, 0, 0, 0}, {1320, 1792, 1360, 4352, 0, 0, 0}, {4979, 5397, 0, 0, 0, 0, 0}, {1370, 4976, 20480, 0, 0, 0, 0}, {1036, 4403, 5911, 1092, 0, 0, 0}, {780, 48, 1360, 4112, 0, 0, 0}, {2048, 546, 4437, 0, 0, 0, 0}, {286, 48, 530, 342, 1298, 4096, 0}, {5087, 6527, 8224, 17952, 0, 0, 0}, {3072, 4896, 5440, 0, 0, 0, 0}, {1807, 546, 1365, 4369, 0, 0, 0}, {72, 4386, 4864, 1024, 0, 0, 0}, {1375, 4883, 20560, 0, 0, 0, 0}, {552, 8704, 4420, 0, 0, 0, 0}, {783, 48, 4160, 5397, 0, 0, 0}, {4940, 26214, 0, 0, 0, 0, 0}, {279, 4176, 1024, 0, 0, 0, 0}, {72, 608, 1024, 4352, 0, 0, 0}, {5654, 1365, 0, 0, 0, 0, 0}, {5418, 4928, 16448, 0, 0, 0, 0}, {4427, 4403, 592, 5140, 0, 0, 0}, {5100, 6476, 8224, 21760, 0, 0, 0}, {285, 48, 530, 341, 1024, 4096, 0}, {4454, 4932, 17476, 0, 0, 0, 0}, {1375, 48, 1616, 4112, 0, 0, 0}, {240, 4864, 1280, 0, 0, 0, 0}, {72, 514, 1028, 4369, 0, 0, 0}, {1290, 4386, 514, 5200, 0, 0, 0}, {1548, 4915, 16384, 0, 0, 0, 0}, {48, 4608, 260, 0, 0, 0, 0}, {4959, 21845, 0, 0, 0, 0, 0}, {1290, 48, 1542, 4176, 0, 0, 0}, {520, 4471, 17408, 0, 0, 0, 0}, {520, 624, 1280, 4352, 0, 0, 0}, {1542, 5461, 0, 0, 0, 0, 0}, {1290, 4944, 20560, 0, 0, 0, 0}, {72, 4403, 576, 1028, 0, 0, 0}, {780, 48, 1280, 4096, 0, 0, 0}, {514, 4437, 0, 0, 0, 0, 0}, {270, 48, 514, 326, 1028, 4112, 0}, {5119, 2560, 8192, 17920, 0, 0, 0}, {2560, 4096, 0, 0, 0, 0, 0}, {51, 68, 257, 0, 0, 0, 0}, {4128, 514, 16392, 0, 0, 0, 0}, {1295, 51, 771, 4099, 0, 0, 0}, {520, 68, 1028, 4100, 0, 0, 0}, {12303, 4176, 1285, 0, 0, 0, 0}, {4192, 1542, 16396, 0, 0, 0, 0}, {1295, 119, 1799, 4103, 0, 0, 0}, {4104, 4608, 20480, 0, 0, 0, 0}, {4188, 51, 771, 1285, 0, 0, 0}, {4256, 2570, 12288, 16384, 0, 0, 0}, {267, 51, 771, 68, 1028, 4352, 0}, {4108, 5632, 20480, 0, 0, 0, 0}, {4184, 119, 514, 1285, 0, 0, 0}, {4140, 514, 68, 1028, 0, 0, 0}, {4111, 8192, 5376, 0, 0, 0, 0}, {2720, 4112, 0, 0, 0, 0, 0}, {768, 1024, 273, 0, 0, 0, 0}, {4144, 4626, 16456, 0, 0, 0, 0}, {1375, 51, 768, 4115, 0, 0, 0}, {552, 68, 1024, 4116, 0, 0, 0}, {12351, 4160, 5397, 0, 0, 0, 0}, {4208, 5654, 16460, 0, 0, 0, 0}, {1375, 119, 1792, 4119, 0, 0, 0}, {4120, 4656, 20560, 0, 0, 0, 0}, {5401, 51, 768, 1365, 0, 0, 0}, {4272, 6682, 12336, 16448, 0, 0, 0}, {283, 51, 768, 68, 1024, 4352, 0}, {4124, 5744, 20560, 0, 0, 0, 0}, {5405, 1314, 1792, 1365, 0, 0, 0}, {4638, 546, 68, 1024, 0, 0, 0}, {4127, 8224, 5440, 0, 0, 0, 0}, {23040, 4128, 0, 0, 0, 0, 0}, {274, 68, 4369, 0, 0, 0, 0}, {2048, 546, 4096, 0, 0, 0, 0}, {51, 771, 1360, 4112, 0, 0, 0}, {1036, 4132, 5632, 68, 0, 0, 0}, {1370, 4208, 21845, 0, 0, 0, 0}, {5674, 9766, 4160, 0, 0, 0, 0}, {4623, 4135, 4176, 5376, 0, 0, 0}, {4136, 4608, 16384, 0, 0, 0, 0}, {4175, 51, 771, 5397, 0, 0, 0}, {4224, 6698, 12288, 20480, 0, 0, 0}, {280, 51, 771, 68, 1300, 4352, 0}, {5708, 1632, 16448, 0, 0, 0, 0}, {4111, 5410, 5888, 5461, 0, 0, 0}, {4108, 546, 68, 5120, 0, 0, 0}, {4143, 8224, 1360, 0, 0, 0, 0}, {2560, 4144, 0, 0, 0, 0, 0}, {258, 68, 4369, 0, 0, 0, 0}, {136, 514, 4112, 0, 0, 0, 0}, {51, 768, 1280, 4096, 0, 0, 0}, {1032, 4148, 1536, 68, 0, 0, 0}, {1290, 4192, 21845, 0, 0, 0, 0}, {1546, 13878, 4176, 0, 0, 0, 0}, {520, 4151, 4160, 1280, 0, 0, 0}, {520, 4656, 16448, 0, 0, 0, 0}, {1290, 51, 768, 5461, 0, 0, 0}, {4240, 2570, 12336, 20560, 0, 0, 0}, {264, 51, 768, 68, 1280, 4352, 0}, {4156, 1536, 16384, 0, 0, 0, 0}, {4127, 119, 514, 5397, 0, 0, 0}, {4124, 514, 68, 5140, 0, 0, 0}, {4159, 8192, 1280, 0, 0, 0, 0}, {2560, 4160, 0, 0, 0, 0, 0}, {51, 261, 4369, 0, 0, 0, 0}, {522, 4192, 16962, 0, 0, 0, 0}, {1295, 51, 1536, 4163, 0, 0, 0}, {512, 68, 1024, 4096, 0, 0, 0}, {255, 1285, 4112, 0, 0, 0, 0}, {1546, 4128, 17990, 0, 0, 0, 0}, {1295, 4144, 512, 4167, 0, 0, 0}, {4168, 512, 20480, 0, 0, 0, 0}, {4124, 51, 4883, 1285, 0, 0, 0}, {4320, 2570, 8224, 16448, 0, 0, 0}, {271, 51, 512, 68, 1024, 4352, 0}, {4172, 1536, 20480, 0, 0, 0, 0}, {4120, 119, 4626, 1285, 0, 0, 0}, {522, 4642, 68, 1024, 0, 0, 0}, {1295, 12336, 5440, 0, 0, 0, 0}, {10752, 4176, 0, 0, 0, 0, 0}, {51, 277, 4369, 0, 0, 0, 0}, {4698, 4208, 21074, 0, 0, 0, 0}, {5388, 51, 5632, 4179, 0, 0, 0}, {544, 68, 1028, 4112, 0, 0, 0}, {3840, 1365, 4096, 0, 0, 0, 0}, {5722, 4144, 22102, 0, 0, 0, 0}, {5384, 4128, 4608, 4183, 0, 0, 0}, {4184, 544, 20560, 0, 0, 0, 0}, {4108, 51, 4864, 1365, 0, 0, 0}, {4336, 6746, 8192, 16384, 0, 0, 0}, {287, 51, 531, 68, 1028, 4352, 0}, {4188, 1632, 20560, 0, 0, 0, 0}, {4104, 1314, 5888, 1365, 0, 0, 0}, {4152, 4626, 68, 1028, 0, 0, 0}, {4191, 12288, 5376, 0, 0, 0, 0}, {23040, 4192, 0, 0, 0, 0, 0}, {278, 68, 4369, 0, 0, 0, 0}, {554, 8738, 4160, 0, 0, 0, 0}, {783, 51, 4176, 5376, 0, 0, 0}, {1032, 4128, 4608, 68, 0, 0, 0}, {1370, 4144, 21845, 0, 0, 0, 0}, {3072, 1638, 4096, 0, 0, 0, 0}, {1319, 1799, 1360, 4112, 0, 0, 0}, {4680, 544, 16448, 0, 0, 0, 0}, {4111, 51, 4864, 5461, 0, 0, 0}, {4288, 6762, 8192, 20480, 0, 0, 0}, {284, 51, 531, 68, 1300, 4352, 0}, {4204, 5632, 16384, 0, 0, 0, 0}, {4175, 119, 4626, 5397, 0, 0, 0}, {4104, 4642, 68, 5120, 0, 0, 0}, {5439, 12336, 1360, 0, 0, 0, 0}, {2560, 4208, 0, 0, 0, 0, 0}, {262, 68, 4369, 0, 0, 0, 0}, {522, 8738, 4176, 0, 0, 0, 0}, {780, 51, 4160, 1280, 0, 0, 0}, {1036, 4144, 512, 68, 0, 0, 0}, {1290, 4128, 21845, 0, 0, 0, 0}, {204, 1542, 4112, 0, 0, 0, 0}, {119, 512, 1280, 4096, 0, 0, 0}, {4216, 512, 16384, 0, 0, 0, 0}, {4127, 51, 4883, 5397, 0, 0, 0}, {4304, 2570, 8224, 20560, 0, 0, 0}, {268, 51, 512, 68, 1280, 4352, 0}, {1548, 5744, 16448, 0, 0, 0, 0}, {1290, 5410, 1792, 5461, 0, 0, 0}, {4120, 4626, 68, 5140, 0, 0, 0}, {4223, 12288, 1280, 0, 0, 0, 0}, {4224, 2560, 12288, 20480, 0, 0, 0}, {265, 51, 771, 68, 1285, 4369, 0}, {522, 4642, 16384, 0, 0, 0, 0}, {1295, 51, 771, 5440, 0, 0, 0}, {4108, 512, 68, 5120, 0, 0, 0}, {4143, 8224, 1285, 0, 0, 0, 0}, {4140, 1542, 16448, 0, 0, 0, 0}, {4111, 119, 512, 5376, 0, 0, 0}, {136, 512, 4096, 0, 0, 0, 0}, {51, 771, 1285, 4112, 0, 0, 0}, {2570, 4128, 0, 0, 0, 0, 0}, {259, 68, 4352, 0, 0, 0, 0}, {1548, 13824, 4160, 0, 0, 0, 0}, {522, 4135, 4176, 1285, 0, 0, 0}, {1036, 4132, 1542, 68, 0, 0, 0}, {1295, 4208, 21760, 0, 0, 0, 0}, {4240, 6704, 12336, 20560, 0, 0, 0}, {281, 51, 768, 68, 1297, 4369, 0}, {4152, 4626, 16448, 0, 0, 0, 0}, {4191, 51, 768, 5376, 0, 0, 0}, {4124, 544, 68, 5140, 0, 0, 0}, {4159, 8192, 1365, 0, 0, 0, 0}, {5722, 1638, 16384, 0, 0, 0, 0}, {4127, 5431, 5911, 5440, 0, 0, 0}, {2056, 544, 4112, 0, 0, 0, 0}, {51, 768, 1365, 4096, 0, 0, 0}, {23130, 4144, 0, 0, 0, 0, 0}, {275, 68, 4352, 0, 0, 0, 0}, {5692, 9728, 4176, 0, 0, 0, 0}, {4637, 4151, 4160, 5397, 0, 0, 0}, {1032, 4148, 5654, 68, 0, 0, 0}, {1375, 4192, 21760, 0, 0, 0, 0}, {4256, 6656, 12288, 16384, 0, 0, 0}, {282, 51, 771, 68, 1028, 4369, 0}, {4104, 4642, 20480, 0, 0, 0, 0}, {5388, 51, 771, 1360, 0, 0, 0}, {4620, 544, 68, 1028, 0, 0, 0}, {4111, 8192, 5461, 0, 0, 0, 0}, {4108, 5734, 20480, 0, 0, 0, 0}, {5384, 1319, 1799, 1360, 0, 0, 0}, {4128, 4608, 16392, 0, 0, 0, 0}, {1370, 51, 771, 4099, 0, 0, 0}, {2730, 4096, 0, 0, 0, 0, 0}, {771, 1028, 272, 0, 0, 0, 0}, {4192, 5632, 16396, 0, 0, 0, 0}, {1370, 119, 1799, 4103, 0, 0, 0}, {554, 68, 1028, 4100, 0, 0, 0}, {12303, 4176, 5376, 0, 0, 0, 0}, {4272, 2560, 12336, 16448, 0, 0, 0}, {266, 51, 768, 68, 1024, 4369, 0}, {4120, 4626, 20560, 0, 0, 0, 0}, {4172, 51, 768, 1280, 0, 0, 0}, {4156, 512, 68, 1024, 0, 0, 0}, {4127, 8224, 5397, 0, 0, 0, 0}, {4124, 5654, 20560, 0, 0, 0, 0}, {4168, 119, 512, 1280, 0, 0, 0}, {4144, 512, 16456, 0, 0, 0, 0}, {1290, 51, 768, 4115, 0, 0, 0}, {2570, 4112, 0, 0, 0, 0, 0}, {51, 68, 256, 0, 0, 0, 0}, {4208, 1536, 16460, 0, 0, 0, 0}, {1290, 119, 1792, 4119, 0, 0, 0}, {522, 68, 1024, 4116, 0, 0, 0}, {12351, 4160, 1280, 0, 0, 0, 0}, {4288, 2560, 8192, 20480, 0, 0, 0}, {269, 51, 514, 68, 1285, 4369, 0}, {4200, 514, 16448, 0, 0, 0, 0}, {4111, 51, 4864, 5376, 0, 0, 0}, {4104, 4608, 68, 5120, 0, 0, 0}, {4207, 12336, 1285, 0, 0, 0, 0}, {1546, 5734, 16384, 0, 0, 0, 0}, {1295, 5431, 1799, 5440, 0, 0, 0}, {520, 8704, 4160, 0, 0, 0, 0}, {783, 51, 4176, 1285, 0, 0, 0}, {2570, 4192, 0, 0, 0, 0, 0}, {263, 68, 4352, 0, 0, 0, 0}, {204, 1536, 4096, 0, 0, 0, 0}, {119, 514, 1285, 4112, 0, 0, 0}, {1032, 4128, 514, 68, 0, 0, 0}, {1295, 4144, 21760, 0, 0, 0, 0}, {4304, 6768, 8224, 20560, 0, 0, 0}, {285, 51, 529, 68, 1297, 4369, 0}, {4698, 546, 16384, 0, 0, 0, 0}, {4127, 51, 4883, 5440, 0, 0, 0}, {4120, 4656, 68, 5140, 0, 0, 0}, {5418, 12288, 1365, 0, 0, 0, 0}, {4220, 5654, 16448, 0, 0, 0, 0}, {4191, 119, 4608, 5376, 0, 0, 0}, {552, 8704, 4176, 0, 0, 0, 0}, {780, 51, 4160, 5397, 0, 0, 0}, {23130, 4208, 0, 0, 0, 0, 0}, {279, 68, 4352, 0, 0, 0, 0}, {3084, 1632, 4112, 0, 0, 0, 0}, {1314, 1792, 1365, 4096, 0, 0, 0}, {1036, 4144, 4626, 68, 0, 0, 0}, {1375, 4128, 21760, 0, 0, 0, 0}, {4320, 6720, 8224, 16448, 0, 0, 0}, {286, 51, 529, 68, 1024, 4369, 0}, {4168, 546, 20480, 0, 0, 0, 0}, {4124, 51, 4883, 1360, 0, 0, 0}, {4136, 4608, 68, 1024, 0, 0, 0}, {4175, 12336, 5397, 0, 0, 0, 0}, {4172, 1638, 20480, 0, 0, 0, 0}, {4120, 1319, 5911, 1360, 0, 0, 0}, {4680, 4192, 20992, 0, 0, 0, 0}, {5401, 51, 5654, 4163, 0, 0, 0}, {10794, 4160, 0, 0, 0, 0, 0}, {51, 276, 4352, 0, 0, 0, 0}, {5708, 4128, 22016, 0, 0, 0, 0}, {5405, 4144, 4626, 4167, 0, 0, 0}, {546, 68, 1024, 4096, 0, 0, 0}, {3855, 1360, 4112, 0, 0, 0, 0}, {4336, 2560, 8192, 16384, 0, 0, 0}, {270, 51, 514, 68, 1028, 4369, 0}, {4184, 514, 20560, 0, 0, 0, 0}, {4108, 51, 4864, 1280, 0, 0, 0}, {520, 4656, 68, 1028, 0, 0, 0}, {1290, 12288, 5461, 0, 0, 0, 0}, {4188, 1542, 20560, 0, 0, 0, 0}, {4104, 119, 4608, 1280, 0, 0, 0}, {520, 4208, 16896, 0, 0, 0, 0}, {1290, 51, 1542, 4179, 0, 0, 0}, {2570, 4176, 0, 0, 0, 0, 0}, {51, 260, 4352, 0, 0, 0, 0}, {1548, 4144, 17920, 0, 0, 0, 0}, {1290, 4128, 514, 4183, 0, 0, 0}, {514, 68, 1028, 4112, 0, 0, 0}, {255, 1280, 4096, 0, 0, 0, 0}, {13056, 17408, 0, 0, 0, 0, 0}, {10, 16, 257, 0, 0, 0, 0}, {10, 32, 514, 4354, 0, 0, 0}, {48, 771, 17420, 0, 0, 0, 0}, {13068, 64, 1028, 0, 0, 0, 0}, {10, 80, 1285, 4357, 0, 0, 0}, {10, 96, 1542, 4358, 0, 0, 0}, {112, 1799, 17416, 0, 0, 0, 0}, {128, 2056, 13056, 17416, 0, 0, 0}, {10, 48, 771, 80, 1285, 4355, 0}, {10, 4352, 0, 0, 0, 0, 0}, {48, 771, 64, 1028, 0, 0, 0}, {192, 3084, 13068, 17420, 0, 0, 0}, {10, 32, 514, 80, 1285, 4359, 0}, {10, 32, 514, 64, 1028, 4356, 0}, {240, 3855, 13071, 17408, 0, 0, 0}, {768, 1024, 16, 0, 0, 0, 0}, {170, 4369, 0, 0, 0, 0, 0}, {90, 48, 768, 4370, 0, 0, 0}, {32, 4883, 17484, 0, 0, 0, 0}, {13116, 80, 5140, 0, 0, 0, 0}, {42, 64, 1024, 4373, 0, 0, 0}, {90, 112, 1792, 4374, 0, 0, 0}, {96, 5911, 17480, 0, 0, 0, 0}, {5144, 48, 768, 80, 0, 0, 0}, {4377, 4403, 21845, 0, 0, 0, 0}, {26, 48, 768, 64, 1024, 4352, 0}, {160, 6939, 13107, 17476, 0, 0, 0}, {5148, 32, 1792, 80, 0, 0, 0}, {4381, 4471, 21845, 0, 0, 0, 0}, {4382, 8738, 4420, 0, 0, 0, 0}, {4895, 32, 64, 1024, 0, 0, 0}, {32, 4864, 17408, 0, 0, 0, 0}, {90, 48, 771, 4369, 0, 0, 0}, {4386, 21760, 0, 0, 0, 0, 0}, {1036, 771, 16, 0, 0, 0, 0}, {5960, 96, 17476, 0, 0, 0, 0}, {4367, 4389, 5632, 4437, 0, 0, 0}, {4364, 4390, 64, 5376, 0, 0, 0}, {5160, 10023, 80, 0, 0, 0, 0}, {160, 6952, 13056, 17448, 0, 0, 0}, {26, 48, 771, 64, 1046, 4355, 0}, {42, 4352, 0, 0, 0, 0, 0}, {48, 771, 80, 5140, 0, 0, 0}, {1036, 32, 5888, 64, 0, 0, 0}, {90, 4471, 21845, 0, 0, 0, 0}, {4398, 8738, 4420, 0, 0, 0, 0}, {4879, 32, 80, 5120, 0, 0, 0}, {48, 768, 17408, 0, 0, 0, 0}, {10, 32, 514, 4369, 0, 0, 0}, {258, 1280, 16, 0, 0, 0, 0}, {17612, 13107, 0, 0, 0, 0, 0}, {1800, 112, 17476, 0, 0, 0, 0}, {10, 4405, 1536, 4437, 0, 0, 0}, {10, 4406, 80, 1280, 0, 0, 0}, {1032, 14135, 64, 0, 0, 0, 0}, {1032, 48, 768, 64, 0, 0, 0}, {10, 4403, 21845, 0, 0, 0, 0}, {10, 48, 768, 80, 1280, 4352, 0}, {128, 2056, 13107, 17476, 0, 0, 0}, {240, 3840, 13116, 17468, 0, 0, 0}, {10, 32, 514, 64, 1026, 4375, 0}, {10, 32, 514, 80, 1280, 4372, 0}, {192, 3072, 13119, 17408, 0, 0, 0}, {13056, 64, 1024, 0, 0, 0, 0}, {10, 80, 1285, 4369, 0, 0, 0}, {10, 4386, 1536, 4418, 0, 0, 0}, {1807, 112, 17219, 0, 0, 0, 0}, {13260, 17476, 0, 0, 0, 0, 0}, {512, 261, 16, 0, 0, 0, 0}, {10, 32, 512, 4422, 0, 0, 0}, {783, 48, 18247, 0, 0, 0, 0}, {192, 3072, 13056, 17480, 0, 0, 0}, {10, 32, 512, 80, 1285, 4371, 0}, {10, 32, 512, 64, 1024, 4352, 0}, {240, 3855, 13107, 17476, 0, 0, 0}, {128, 2048, 13132, 17484, 0, 0, 0}, {10, 48, 773, 80, 1285, 4375, 0}, {10, 8738, 4420, 0, 0, 0, 0}, {783, 48, 64, 1024, 0, 0, 0}, {13056, 80, 5120, 0, 0, 0, 0}, {42, 64, 1028, 4369, 0, 0, 0}, {4360, 4386, 5632, 4434, 0, 0, 0}, {5983, 96, 21331, 0, 0, 0, 0}, {780, 1028, 16, 0, 0, 0, 0}, {8704, 4437, 0, 0, 0, 0, 0}, {4364, 48, 4608, 4438, 0, 0, 0}, {4959, 32, 22359, 0, 0, 0, 0}, {5128, 32, 4864, 80, 0, 0, 0}, {4441, 4403, 21845, 0, 0, 0, 0}, {90, 4352, 0, 0, 0, 0, 0}, {32, 4883, 64, 1028, 0, 0, 0}, {5132, 48, 5888, 80, 0, 0, 0}, {4445, 4471, 21845, 0, 0, 0, 0}, {26, 48, 790, 64, 1028, 4356, 0}, {160, 7007, 13151, 17408, 0, 0, 0}, {96, 5888, 17408, 0, 0, 0, 0}, {90, 112, 1799, 4369, 0, 0, 0}, {4360, 4386, 64, 5376, 0, 0, 0}, {5180, 13107, 80, 0, 0, 0, 0}, {4940, 32, 17476, 0, 0, 0, 0}, {4367, 48, 4608, 4437, 0, 0, 0}, {4454, 21760, 0, 0, 0, 0, 0}, {1032, 1799, 16, 0, 0, 0, 0}, {1032, 32, 4864, 64, 0, 0, 0}, {90, 4403, 21845, 0, 0, 0, 0}, {106, 4352, 0, 0, 0, 0, 0}, {32, 4883, 80, 5140, 0, 0, 0}, {160, 7020, 13164, 17516, 0, 0, 0}, {26, 48, 789, 64, 1042, 4359, 0}, {42, 8738, 4420, 0, 0, 0, 0}, {783, 48, 80, 5120, 0, 0, 0}, {112, 1792, 17408, 0, 0, 0, 0}, {10, 96, 1542, 4369, 0, 0, 0}, {10, 4386, 80, 1280, 0, 0, 0}, {1036, 13107, 64, 0, 0, 0, 0}, {780, 48, 17476, 0, 0, 0, 0}, {10, 32, 512, 4437, 0, 0, 0}, {262, 1280, 16, 0, 0, 0, 0}, {17544, 30583, 0, 0, 0, 0, 0}, {240, 3840, 13056, 17528, 0, 0, 0}, {10, 32, 512, 64, 1030, 4371, 0}, {10, 32, 512, 80, 1280, 4352, 0}, {192, 3084, 13107, 17476, 0, 0, 0}, {1036, 48, 1792, 64, 0, 0, 0}, {10, 4471, 21845, 0, 0, 0, 0}, {10, 48, 774, 80, 1280, 4372, 0}, {128, 2048, 13183, 17408, 0, 0, 0}, {128, 2048, 13056, 17408, 0, 0, 0}, {10, 48, 771, 80, 1285, 4369, 0}, {10, 4386, 21760, 0, 0, 0, 0}, {1036, 48, 771, 64, 0, 0, 0}, {192, 3084, 13068, 17476, 0, 0, 0}, {10, 32, 512, 80, 1285, 4357, 0}, {10, 32, 512, 64, 1030, 4358, 0}, {240, 3855, 13071, 17528, 0, 0, 0}, {17544, 13056, 0, 0, 0, 0, 0}, {259, 1285, 16, 0, 0, 0, 0}, {10, 32, 512, 4352, 0, 0, 0}, {48, 771, 17476, 0, 0, 0, 0}, {1036, 14080, 64, 0, 0, 0, 0}, {10, 4391, 80, 1285, 0, 0, 0}, {10, 4388, 1542, 4420, 0, 0, 0}, {1807, 112, 17408, 0, 0, 0, 0}, {48, 768, 80, 5120, 0, 0, 0}, {42, 4369, 0, 0, 0, 0, 0}, {26, 48, 768, 64, 1042, 4370, 0}, {160, 6963, 13107, 17516, 0, 0, 0}, {4892, 32, 80, 5140, 0, 0, 0}, {4415, 8704, 4437, 0, 0, 0, 0}, {90, 4454, 21760, 0, 0, 0, 0}, {1032, 32, 5911, 64, 0, 0, 0}, {1032, 768, 16, 0, 0, 0, 0}, {4403, 21845, 0, 0, 0, 0, 0}, {90, 48, 768, 4352, 0, 0, 0}, {32, 4883, 17476, 0, 0, 0, 0}, {5180, 9984, 80, 0, 0, 0, 0}, {4381, 4407, 64, 5397, 0, 0, 0}, {4382, 4404, 5654, 4420, 0, 0, 0}, {5983, 96, 17408, 0, 0, 0, 0}, {160, 6912, 13056, 17408, 0, 0, 0}, {26, 48, 771, 64, 1028, 4369, 0}, {4360, 4386, 21760, 0, 0, 0, 0}, {5132, 48, 771, 80, 0, 0, 0}, {4876, 32, 64, 1028, 0, 0, 0}, {4367, 8704, 4437, 0, 0, 0, 0}, {4364, 4454, 21760, 0, 0, 0, 0}, {5128, 32, 1799, 80, 0, 0, 0}, {32, 4864, 17416, 0, 0, 0, 0}, {90, 48, 771, 4355, 0, 0, 0}, {170, 4352, 0, 0, 0, 0, 0}, {771, 1028, 16, 0, 0, 0, 0}, {96, 5888, 17420, 0, 0, 0, 0}, {90, 112, 1799, 4359, 0, 0, 0}, {42, 64, 1028, 4356, 0, 0, 0}, {13071, 80, 5120, 0, 0, 0, 0}, {48, 768, 64, 1024, 0, 0, 0}, {10, 4369, 0, 0, 0, 0, 0}, {10, 48, 768, 80, 1280, 4370, 0}, {128, 2048, 13107, 17484, 0, 0, 0}, {240, 3840, 13116, 17476, 0, 0, 0}, {10, 32, 512, 64, 1024, 4373, 0}, {10, 32, 512, 80, 1280, 4374, 0}, {192, 3072, 13119, 17480, 0, 0, 0}, {48, 768, 17480, 0, 0, 0, 0}, {10, 32, 512, 4371, 0, 0, 0}, {10, 16, 256, 0, 0, 0, 0}, {13107, 17476, 0, 0, 0, 0, 0}, {112, 1792, 17484, 0, 0, 0, 0}, {10, 96, 1536, 4375, 0, 0, 0}, {10, 80, 1280, 4372, 0, 0, 0}, {13119, 64, 1024, 0, 0, 0, 0}, {192, 3072, 13056, 17408, 0, 0, 0}, {10, 32, 514, 80, 1285, 4369, 0}, {10, 32, 514, 64, 1026, 4354, 0}, {240, 3855, 13107, 17468, 0, 0, 0}, {128, 2056, 13132, 17476, 0, 0, 0}, {10, 48, 773, 80, 1285, 4357, 0}, {10, 4454, 21760, 0, 0, 0, 0}, {1032, 48, 1799, 64, 0, 0, 0}, {1032, 13056, 64, 0, 0, 0, 0}, {10, 4403, 80, 1285, 0, 0, 0}, {10, 96, 1536, 4352, 0, 0, 0}, {112, 1799, 17476, 0, 0, 0, 0}, {17612, 30464, 0, 0, 0, 0, 0}, {263, 1285, 16, 0, 0, 0, 0}, {10, 32, 514, 4420, 0, 0, 0}, {783, 48, 17408, 0, 0, 0, 0}, {32, 4864, 80, 5120, 0, 0, 0}, {106, 4369, 0, 0, 0, 0, 0}, {90, 4386, 21760, 0, 0, 0, 0}, {1036, 32, 4883, 64, 0, 0, 0}, {780, 48, 80, 5140, 0, 0, 0}, {42, 8704, 4437, 0, 0, 0, 0}, {26, 48, 790, 64, 1046, 4374, 0}, {160, 7031, 13151, 17448, 0, 0, 0}, {5160, 13056, 80, 0, 0, 0, 0}, {4377, 4403, 64, 5397, 0, 0, 0}, {90, 112, 1792, 4352, 0, 0, 0}, {96, 5911, 17476, 0, 0, 0, 0}, {1036, 1792, 16, 0, 0, 0, 0}, {4471, 21845, 0, 0, 0, 0, 0}, {4382, 48, 4626, 4420, 0, 0, 0}, {4959, 32, 17408, 0, 0, 0, 0}, {32, 4864, 64, 1024, 0, 0, 0}, {90, 4369, 0, 0, 0, 0, 0}, {4424, 4386, 21760, 0, 0, 0, 0}, {5148, 32, 4883, 80, 0, 0, 0}, {160, 6980, 13164, 17476, 0, 0, 0}, {26, 48, 789, 64, 1024, 4373, 0}, {4428, 4454, 21760, 0, 0, 0, 0}, {5144, 48, 5911, 80, 0, 0, 0}, {5960, 96, 21248, 0, 0, 0, 0}, {4377, 4403, 5654, 4419, 0, 0, 0}, {42, 64, 1024, 4352, 0, 0, 0}, {13107, 80, 5140, 0, 0, 0, 0}, {4940, 32, 22272, 0, 0, 0, 0}, {4381, 48, 4626, 4423, 0, 0, 0}, {8738, 4420, 0, 0, 0, 0, 0}, {783, 1024, 16, 0, 0, 0, 0}, {240, 3840, 13056, 17408, 0, 0, 0}, {10, 32, 514, 64, 1028, 4369, 0}, {10, 32, 514, 80, 1280, 4354, 0}, {192, 3084, 13107, 17420, 0, 0, 0}, {780, 48, 64, 1028, 0, 0, 0}, {10, 8704, 4437, 0, 0, 0, 0}, {10, 48, 774, 80, 1280, 4358, 0}, {128, 2056, 13183, 17416, 0, 0, 0}, {1800, 112, 17152, 0, 0, 0, 0}, {10, 4403, 1542, 4435, 0, 0, 0}, {10, 80, 1280, 4352, 0, 0, 0}, {13107, 64, 1028, 0, 0, 0, 0}, {780, 48, 18176, 0, 0, 0, 0}, {10, 32, 514, 4439, 0, 0, 0}, {514, 260, 16, 0, 0, 0, 0}, {13311, 17408, 0, 0, 0, 0, 0}, {19456, 28672, 0, 0, 0, 0, 0}, {23, 85, 257, 0, 0, 0, 0}, {10, 34, 514, 5120, 0, 0, 0}, {63, 771, 16384, 0, 0, 0, 0}, {72, 12288, 1028, 0, 0, 0, 0}, {10, 4864, 85, 1285, 0, 0, 0}, {10, 96, 1542, 4096, 0, 0, 0}, {119, 1799, 17408, 0, 0, 0, 0}, {136, 2056, 13320, 17408, 0, 0, 0}, {10, 53, 771, 85, 1285, 4101, 0}, {10, 5632, 20480, 0, 0, 0, 0}, {72, 119, 771, 1028, 0, 0, 0}, {192, 3084, 12288, 16384, 0, 0, 0}, {10, 34, 514, 85, 1285, 4352, 0}, {10, 34, 514, 66, 1028, 4098, 0}, {255, 3855, 13056, 17167, 0, 0, 0}, {3072, 96, 4112, 0, 0, 0, 0}, {34, 1792, 85, 4369, 0, 0, 0}, {72, 34, 4626, 1024, 0, 0, 0}, {95, 4883, 20480, 0, 0, 0, 0}, {40, 8192, 5140, 0, 0, 0, 0}, {63, 768, 85, 5397, 0, 0, 0}, {170, 5654, 0, 0, 0, 0, 0}, {23, 1024, 4096, 0, 0, 0, 0}, {4120, 4144, 4176, 1024, 0, 0, 0}, {5657, 13107, 85, 0, 0, 0, 0}, {5658, 5744, 16448, 0, 0, 0, 0}, {5147, 5171, 1792, 5188, 0, 0, 0}, {160, 7196, 8224, 20560, 0, 0, 0}, {29, 34, 768, 85, 1024, 4352, 0}, {5662, 34, 17476, 0, 0, 0, 0}, {4127, 4128, 768, 4160, 0, 0, 0}, {160, 7200, 8224, 20480, 0, 0, 0}, {29, 34, 771, 85, 1041, 4369, 0}, {34, 5632, 17408, 0, 0, 0, 0}, {95, 96, 771, 4112, 0, 0, 0}, {1036, 1060, 1092, 4096, 0, 0, 0}, {3855, 5669, 85, 0, 0, 0, 0}, {5708, 5670, 16448, 0, 0, 0, 0}, {5135, 5159, 4864, 5200, 0, 0, 0}, {40, 8192, 5120, 0, 0, 0, 0}, {63, 771, 85, 5397, 0, 0, 0}, {5674, 26112, 0, 0, 0, 0, 0}, {23, 4176, 5140, 0, 0, 0, 0}, {3084, 4128, 4160, 0, 0, 0, 0}, {1807, 34, 85, 4352, 0, 0, 0}, {1036, 34, 4608, 1092, 0, 0, 0}, {95, 4896, 20560, 0, 0, 0, 0}, {192, 3072, 12336, 16384, 0, 0, 0}, {10, 34, 514, 85, 1280, 4369, 0}, {10, 34, 514, 66, 1026, 4112, 0}, {255, 3840, 13107, 17203, 0, 0, 0}, {136, 2056, 13364, 17476, 0, 0, 0}, {10, 53, 768, 85, 1280, 4096, 0}, {10, 5686, 20560, 0, 0, 0, 0}, {1032, 1079, 768, 1088, 0, 0, 0}, {1032, 12336, 1088, 0, 0, 0, 0}, {10, 4915, 85, 1280, 0, 0, 0}, {10, 4144, 1536, 4176, 0, 0, 0}, {1800, 119, 17476, 0, 0, 0, 0}, {28912, 15420, 0, 0, 0, 0, 0}, {258, 277, 4352, 0, 0, 0, 0}, {10, 34, 514, 5140, 0, 0, 0}, {63, 768, 16384, 0, 0, 0, 0}, {192, 3072, 12288, 16448, 0, 0, 0}, {10, 34, 512, 85, 1285, 4369, 0}, {10, 34, 512, 66, 1024, 4096, 0}, {255, 3855, 13107, 17219, 0, 0, 0}, {136, 2048, 13380, 17476, 0, 0, 0}, {10, 53, 773, 85, 1285, 4112, 0}, {10, 5702, 20480, 0, 0, 0, 0}, {72, 119, 839, 1024, 0, 0, 0}, {72, 12288, 1024, 0, 0, 0, 0}, {10, 4883, 85, 1285, 0, 0, 0}, {10, 4128, 1536, 4160, 0, 0, 0}, {1807, 119, 17476, 0, 0, 0, 0}, {28800, 19532, 0, 0, 0, 0, 0}, {274, 261, 4352, 0, 0, 0, 0}, {10, 34, 512, 5188, 0, 0, 0}, {783, 816, 16448, 0, 0, 0, 0}, {160, 7248, 8192, 20560, 0, 0, 0}, {29, 34, 785, 85, 1028, 4369, 0}, {34, 5714, 17408, 0, 0, 0, 0}, {95, 96, 851, 4096, 0, 0, 0}, {72, 96, 1028, 4112, 0, 0, 0}, {5632, 85, 0, 0, 0, 0, 0}, {106, 5718, 16384, 0, 0, 0, 0}, {95, 119, 4951, 5120, 0, 0, 0}, {40, 8224, 5200, 0, 0, 0, 0}, {780, 819, 85, 5376, 0, 0, 0}, {5722, 26112, 0, 0, 0, 0, 0}, {23, 4160, 1028, 0, 0, 0, 0}, {3084, 4144, 4176, 0, 0, 0, 0}, {1800, 34, 85, 4352, 0, 0, 0}, {72, 34, 4626, 1028, 0, 0, 0}, {95, 4864, 20480, 0, 0, 0, 0}, {3072, 96, 4096, 0, 0, 0, 0}, {34, 1799, 85, 4369, 0, 0, 0}, {1032, 34, 4608, 1088, 0, 0, 0}, {95, 4915, 20560, 0, 0, 0, 0}, {40, 8224, 5188, 0, 0, 0, 0}, {783, 816, 85, 5376, 0, 0, 0}, {23040, 5734, 0, 0, 0, 0, 0}, {23, 1088, 4112, 0, 0, 0, 0}, {4104, 4128, 4160, 5120, 0, 0, 0}, {5692, 13107, 85, 0, 0, 0, 0}, {106, 5632, 16384, 0, 0, 0, 0}, {95, 119, 4883, 5140, 0, 0, 0}, {160, 7276, 8192, 20480, 0, 0, 0}, {29, 34, 786, 85, 1045, 4352, 0}, {5708, 34, 17476, 0, 0, 0, 0}, {4111, 4144, 4864, 4176, 0, 0, 0}, {19584, 28784, 0, 0, 0, 0, 0}, {262, 1280, 273, 0, 0, 0, 0}, {10, 34, 512, 5200, 0, 0, 0}, {780, 819, 16448, 0, 0, 0, 0}, {1036, 12336, 1092, 0, 0, 0, 0}, {10, 4896, 85, 1280, 0, 0, 0}, {10, 96, 1542, 4112, 0, 0, 0}, {119, 1792, 17408, 0, 0, 0, 0}, {136, 2048, 13432, 17408, 0, 0, 0}, {10, 53, 774, 85, 1280, 4117, 0}, {10, 5744, 20560, 0, 0, 0, 0}, {1036, 1075, 1792, 1092, 0, 0, 0}, {192, 3084, 12336, 16448, 0, 0, 0}, {10, 34, 512, 85, 1280, 4352, 0}, {10, 34, 512, 66, 1030, 4114, 0}, {255, 3840, 13056, 17279, 0, 0, 0}, {28800, 15360, 0, 0, 0, 0, 0}, {259, 276, 4369, 0, 0, 0, 0}, {10, 34, 512, 5120, 0, 0, 0}, {63, 771, 16448, 0, 0, 0, 0}, {1036, 12288, 1092, 0, 0, 0, 0}, {10, 4896, 85, 1285, 0, 0, 0}, {10, 4128, 1542, 4160, 0, 0, 0}, {1807, 119, 17408, 0, 0, 0, 0}, {136, 2048, 13312, 17408, 0, 0, 0}, {10, 53, 771, 85, 1285, 4112, 0}, {10, 5664, 20480, 0, 0, 0, 0}, {1036, 1075, 771, 1092, 0, 0, 0}, {192, 3084, 12288, 16448, 0, 0, 0}, {10, 34, 512, 85, 1285, 4352, 0}, {10, 34, 512, 66, 1030, 4096, 0}, {255, 3855, 13056, 17264, 0, 0, 0}, {3072, 4144, 4176, 0, 0, 0, 0}, {1800, 34, 85, 4369, 0, 0, 0}, {1032, 34, 4626, 1088, 0, 0, 0}, {95, 4915, 20480, 0, 0, 0, 0}, {40, 8224, 5140, 0, 0, 0, 0}, {63, 768, 85, 5376, 0, 0, 0}, {5692, 26214, 0, 0, 0, 0, 0}, {23, 4160, 5120, 0, 0, 0, 0}, {1032, 1056, 1088, 4112, 0, 0, 0}, {3840, 5683, 85, 0, 0, 0, 0}, {5722, 5680, 16384, 0, 0, 0, 0}, {5147, 5171, 4883, 5188, 0, 0, 0}, {160, 7228, 8192, 20560, 0, 0, 0}, {29, 34, 768, 85, 1045, 4352, 0}, {34, 5654, 17476, 0, 0, 0, 0}, {95, 96, 768, 4096, 0, 0, 0}, {160, 7168, 8192, 20480, 0, 0, 0}, {29, 34, 771, 85, 1028, 4369, 0}, {5640, 34, 17408, 0, 0, 0, 0}, {4111, 4144, 771, 4176, 0, 0, 0}, {4104, 4128, 4160, 1028, 0, 0, 0}, {5647, 13056, 85, 0, 0, 0, 0}, {5644, 5734, 16384, 0, 0, 0, 0}, {5135, 5159, 1799, 5200, 0, 0, 0}, {40, 8224, 5120, 0, 0, 0, 0}, {63, 771, 85, 5376, 0, 0, 0}, {170, 5632, 0, 0, 0, 0, 0}, {23, 1028, 4112, 0, 0, 0, 0}, {3084, 96, 4096, 0, 0, 0, 0}, {34, 1799, 85, 4352, 0, 0, 0}, {72, 34, 4608, 1028, 0, 0, 0}, {95, 4864, 20560, 0, 0, 0, 0}, {192, 3072, 12336, 16448, 0, 0, 0}, {10, 34, 512, 85, 1280, 4369, 0}, {10, 34, 512, 66, 1024, 4114, 0}, {255, 3840, 13107, 17228, 0, 0, 0}, {136, 2048, 13372, 17476, 0, 0, 0}, {10, 53, 768, 85, 1280, 4117, 0}, {10, 5654, 20560, 0, 0, 0, 0}, {72, 119, 768, 1024, 0, 0, 0}, {72, 12336, 1024, 0, 0, 0, 0}, {10, 4883, 85, 1280, 0, 0, 0}, {10, 96, 1536, 4112, 0, 0, 0}, {119, 1792, 17476, 0, 0, 0, 0}, {19532, 28784, 0, 0, 0, 0, 0}, {23, 85, 256, 0, 0, 0, 0}, {10, 34, 512, 5140, 0, 0, 0}, {63, 768, 16448, 0, 0, 0, 0}, {192, 3072, 12288, 16384, 0, 0, 0}, {10, 34, 514, 85, 1285, 4369, 0}, {10, 34, 514, 66, 1026, 4098, 0}, {255, 3855, 13107, 17212, 0, 0, 0}, {136, 2056, 13388, 17476, 0, 0, 0}, {10, 53, 773, 85, 1285, 4101, 0}, {10, 5734, 20480, 0, 0, 0, 0}, {1032, 1079, 1799, 1088, 0, 0, 0}, {1032, 12288, 1088, 0, 0, 0, 0}, {10, 4915, 85, 1285, 0, 0, 0}, {10, 96, 1536, 4096, 0, 0, 0}, {119, 1799, 17476, 0, 0, 0, 0}, {19660, 28672, 0, 0, 0, 0, 0}, {263, 1285, 272, 0, 0, 0, 0}, {10, 34, 514, 5188, 0, 0, 0}, {783, 816, 16384, 0, 0, 0, 0}, {160, 7280, 8224, 20560, 0, 0, 0}, {29, 34, 785, 85, 1041, 4369, 0}, {5722, 34, 17408, 0, 0, 0, 0}, {4127, 4128, 4883, 4160, 0, 0, 0}, {4120, 4144, 4176, 5140, 0, 0, 0}, {5674, 13056, 85, 0, 0, 0, 0}, {106, 5654, 16448, 0, 0, 0, 0}, {95, 119, 4864, 5120, 0, 0, 0}, {40, 8192, 5200, 0, 0, 0, 0}, {780, 819, 85, 5397, 0, 0, 0}, {23130, 5744, 0, 0, 0, 0, 0}, {23, 1092, 4096, 0, 0, 0, 0}, {3084, 96, 4112, 0, 0, 0, 0}, {34, 1792, 85, 4352, 0, 0, 0}, {1036, 34, 4626, 1092, 0, 0, 0}, {95, 4896, 20480, 0, 0, 0, 0}, {3072, 4128, 4160, 0, 0, 0, 0}, {1807, 34, 85, 4369, 0, 0, 0}, {72, 34, 4608, 1024, 0, 0, 0}, {95, 4883, 20560, 0, 0, 0, 0}, {40, 8192, 5188, 0, 0, 0, 0}, {783, 816, 85, 5397, 0, 0, 0}, {5708, 26214, 0, 0, 0, 0, 0}, {23, 4176, 1024, 0, 0, 0, 0}, {72, 96, 1024, 4096, 0, 0, 0}, {5654, 85, 0, 0, 0, 0, 0}, {106, 5696, 16448, 0, 0, 0, 0}, {95, 119, 4932, 5140, 0, 0, 0}, {160, 7244, 8224, 20480, 0, 0, 0}, {29, 34, 786, 85, 1024, 4352, 0}, {34, 5700, 17476, 0, 0, 0, 0}, {95, 96, 848, 4112, 0, 0, 0}, {28912, 19456, 0, 0, 0, 0, 0}, {275, 260, 4369, 0, 0, 0, 0}, {10, 34, 514, 5200, 0, 0, 0}, {780, 819, 16384, 0, 0, 0, 0}, {72, 12336, 1028, 0, 0, 0, 0}, {10, 4864, 85, 1280, 0, 0, 0}, {10, 4144, 1542, 4176, 0, 0, 0}, {1800, 119, 17408, 0, 0, 0, 0}, {136, 2056, 13424, 17408, 0, 0, 0}, {10, 53, 774, 85, 1280, 4096, 0}, {10, 5712, 20560, 0, 0, 0, 0}, {72, 119, 836, 1028, 0, 0, 0}, {192, 3084, 12336, 16384, 0, 0, 0}, {10, 34, 514, 85, 1280, 4352, 0}, {10, 34, 514, 66, 1028, 4112, 0}, {255, 3840, 13056, 17152, 0, 0, 0}, {5888, 21760, 0, 0, 0, 0, 0}, {76, 112, 257, 0, 0, 0, 0}, {5418, 514, 16384, 0, 0, 0, 0}, {4367, 4403, 771, 5120, 0, 0, 0}, {4360, 4864, 4420, 1028, 0, 0, 0}, {4698, 12288, 1285, 0, 0, 0, 0}, {4454, 1542, 17408, 0, 0, 0, 0}, {1295, 112, 1799, 4096, 0, 0, 0}, {520, 8192, 5376, 0, 0, 0, 0}, {60, 771, 4437, 1285, 0, 0, 0}, {6048, 2570, 13578, 16906, 0, 0, 0}, {267, 311, 771, 327, 1028, 4359, 0}, {1548, 4352, 0, 0, 0, 0, 0}, {4128, 514, 4176, 1285, 0, 0, 0}, {76, 4386, 514, 1028, 0, 0, 0}, {1295, 4608, 20480, 0, 0, 0, 0}, {1312, 1792, 1360, 4112, 0, 0, 0}, {3072, 1638, 4369, 0, 0, 0, 0}, {1370, 4626, 20480, 0, 0, 0, 0}, {76, 4403, 4883, 1024, 0, 0, 0}, {60, 768, 4420, 5140, 0, 0, 0}, {554, 8192, 5397, 0, 0, 0, 0}, {278, 1024, 4096, 0, 0, 0, 0}, {22015, 5911, 0, 0, 0, 0, 0}, {5912, 12336, 1360, 0, 0, 0, 0}, {4377, 4915, 4437, 1024, 0, 0, 0}, {5402, 4144, 1792, 4160, 0, 0, 0}, {5915, 4471, 17476, 0, 0, 0, 0}, {284, 288, 768, 336, 1024, 4352, 0}, {6071, 7453, 8738, 21845, 0, 0, 0}, {4382, 4386, 768, 5188, 0, 0, 0}, {5919, 544, 16448, 0, 0, 0, 0}, {544, 5376, 0, 0, 0, 0, 0}, {60, 771, 1365, 4369, 0, 0, 0}, {6024, 7458, 8738, 16930, 0, 0, 0}, {287, 291, 771, 339, 1299, 4112, 0}, {3084, 5924, 4420, 0, 0, 0, 0}, {1807, 1317, 1365, 4096, 0, 0, 0}, {1036, 5414, 4864, 1088, 0, 0, 0}, {1375, 5927, 20560, 0, 0, 0, 0}, {5928, 21760, 0, 0, 0, 0, 0}, {4144, 771, 277, 0, 0, 0, 0}, {5418, 5888, 16384, 0, 0, 0, 0}, {4427, 4471, 771, 5140, 0, 0, 0}, {1036, 544, 1088, 4352, 0, 0, 0}, {3855, 4642, 1365, 0, 0, 0, 0}, {5960, 4386, 17476, 0, 0, 0, 0}, {5391, 4128, 4608, 4176, 0, 0, 0}, {4656, 1280, 0, 0, 0, 0, 0}, {1032, 514, 1092, 4369, 0, 0, 0}, {1290, 112, 514, 4112, 0, 0, 0}, {4403, 1536, 17408, 0, 0, 0, 0}, {264, 308, 768, 324, 1280, 4096, 0}, {6047, 2570, 13621, 21845, 0, 0, 0}, {1290, 1334, 768, 5200, 0, 0, 0}, {520, 5943, 16448, 0, 0, 0, 0}, {520, 4144, 4160, 1280, 0, 0, 0}, {1546, 13107, 4437, 0, 0, 0, 0}, {1290, 5984, 20560, 0, 0, 0, 0}, {1032, 5427, 1536, 1092, 0, 0, 0}, {60, 768, 1280, 4352, 0, 0, 0}, {128, 514, 5397, 0, 0, 0, 0}, {258, 4176, 5140, 0, 0, 0, 0}, {5951, 8704, 0, 0, 0, 0, 0}, {512, 5440, 0, 0, 0, 0, 0}, {783, 819, 1285, 4369, 0, 0, 0}, {6120, 2570, 8738, 16962, 0, 0, 0}, {271, 307, 512, 323, 1024, 4096, 0}, {1536, 4420, 0, 0, 0, 0, 0}, {522, 112, 1285, 4112, 0, 0, 0}, {76, 4454, 582, 1024, 0, 0, 0}, {1295, 5959, 20480, 0, 0, 0, 0}, {5960, 21760, 0, 0, 0, 0, 0}, {4128, 4883, 261, 0, 0, 0, 0}, {522, 5984, 16448, 0, 0, 0, 0}, {1295, 1331, 1536, 5188, 0, 0, 0}, {76, 512, 1024, 4352, 0, 0, 0}, {240, 4626, 1285, 0, 0, 0, 0}, {1546, 4386, 17476, 0, 0, 0, 0}, {1295, 4144, 512, 4160, 0, 0, 0}, {4608, 1360, 0, 0, 0, 0, 0}, {76, 546, 1028, 4369, 0, 0, 0}, {1370, 112, 594, 4096, 0, 0, 0}, {4403, 5971, 17408, 0, 0, 0, 0}, {280, 292, 532, 340, 1028, 4112, 0}, {6143, 7509, 13653, 21845, 0, 0, 0}, {4442, 4454, 4694, 5120, 0, 0, 0}, {5503, 5975, 16384, 0, 0, 0, 0}, {4616, 4128, 4176, 5376, 0, 0, 0}, {5951, 13107, 4437, 0, 0, 0, 0}, {1370, 5888, 20480, 0, 0, 0, 0}, {76, 4471, 4883, 1028, 0, 0, 0}, {780, 816, 1360, 4352, 0, 0, 0}, {2056, 546, 5461, 0, 0, 0, 0}, {274, 4160, 1028, 0, 0, 0, 0}, {5983, 8704, 0, 0, 0, 0, 0}, {5984, 21760, 0, 0, 0, 0, 0}, {1032, 1799, 273, 0, 0, 0, 0}, {5960, 546, 16448, 0, 0, 0, 0}, {4367, 4403, 4608, 5200, 0, 0, 0}, {4360, 4896, 4420, 5376, 0, 0, 0}, {5951, 12336, 1365, 0, 0, 0, 0}, {4454, 5888, 17408, 0, 0, 0, 0}, {1375, 112, 1799, 4112, 0, 0, 0}, {552, 8224, 5440, 0, 0, 0, 0}, {783, 819, 4437, 5120, 0, 0, 0}, {6080, 7530, 13674, 17002, 0, 0, 0}, {283, 295, 532, 343, 1299, 4359, 0}, {1644, 4352, 0, 0, 0, 0, 0}, {4144, 4626, 4160, 5397, 0, 0, 0}, {1032, 4386, 4864, 1092, 0, 0, 0}, {1375, 4656, 20560, 0, 0, 0, 0}, {112, 512, 1280, 4096, 0, 0, 0}, {204, 1542, 4369, 0, 0, 0, 0}, {1290, 4642, 20560, 0, 0, 0, 0}, {1036, 4403, 512, 1088, 0, 0, 0}, {780, 816, 4420, 1280, 0, 0, 0}, {522, 8224, 5461, 0, 0, 0, 0}, {262, 1088, 4112, 0, 0, 0, 0}, {2560, 6007, 0, 0, 0, 0, 0}, {4728, 12288, 1280, 0, 0, 0, 0}, {4377, 4883, 4437, 5397, 0, 0, 0}, {1290, 4128, 1792, 4176, 0, 0, 0}, {1548, 4471, 17476, 0, 0, 0, 0}, {268, 304, 512, 320, 1280, 4352, 0}, {6103, 2570, 8738, 21845, 0, 0, 0}, {4382, 4386, 4626, 5140, 0, 0, 0}, {5503, 512, 16384, 0, 0, 0, 0}, {128, 512, 5376, 0, 0, 0, 0}, {60, 771, 1285, 4369, 0, 0, 0}, {5928, 8738, 0, 0, 0, 0, 0}, {259, 4160, 5120, 0, 0, 0, 0}, {1548, 13056, 4420, 0, 0, 0, 0}, {522, 4128, 4176, 1285, 0, 0, 0}, {1036, 5414, 1542, 1088, 0, 0, 0}, {1295, 6007, 20480, 0, 0, 0, 0}, {6024, 2560, 13568, 21760, 0, 0, 0}, {265, 309, 771, 325, 1285, 4112, 0}, {522, 5920, 16384, 0, 0, 0, 0}, {1295, 1331, 771, 5188, 0, 0, 0}, {1036, 512, 1088, 4352, 0, 0, 0}, {4642, 1285, 0, 0, 0, 0, 0}, {4386, 1542, 17476, 0, 0, 0, 0}, {1295, 112, 512, 4096, 0, 0, 0}, {3840, 4656, 1360, 0, 0, 0, 0}, {1032, 546, 1092, 4369, 0, 0, 0}, {5402, 4144, 4626, 4160, 0, 0, 0}, {5983, 4403, 17408, 0, 0, 0, 0}, {4128, 768, 276, 0, 0, 0, 0}, {5951, 21845, 0, 0, 0, 0, 0}, {4442, 4454, 768, 5120, 0, 0, 0}, {5439, 5911, 16448, 0, 0, 0, 0}, {1800, 1312, 1360, 4112, 0, 0, 0}, {3072, 5939, 4437, 0, 0, 0, 0}, {1370, 5936, 20480, 0, 0, 0, 0}, {1032, 5427, 4883, 1092, 0, 0, 0}, {60, 768, 1360, 4352, 0, 0, 0}, {546, 5397, 0, 0, 0, 0, 0}, {286, 290, 768, 338, 1302, 4096, 0}, {6047, 7487, 8704, 16992, 0, 0, 0}, {6048, 7424, 8704, 21760, 0, 0, 0}, {285, 289, 771, 337, 1028, 4369, 0}, {5896, 546, 16384, 0, 0, 0, 0}, {4367, 4403, 771, 5200, 0, 0, 0}, {4360, 4896, 4420, 1028, 0, 0, 0}, {5903, 12288, 1365, 0, 0, 0, 0}, {5900, 4454, 17408, 0, 0, 0, 0}, {5391, 4128, 1799, 4176, 0, 0, 0}, {552, 8224, 5376, 0, 0, 0, 0}, {60, 771, 4437, 5120, 0, 0, 0}, {21930, 5888, 0, 0, 0, 0, 0}, {279, 1028, 4112, 0, 0, 0, 0}, {3084, 1632, 4352, 0, 0, 0, 0}, {1317, 1799, 1365, 4096, 0, 0, 0}, {76, 4386, 4864, 1028, 0, 0, 0}, {1375, 4608, 20560, 0, 0, 0, 0}, {4144, 512, 4160, 1280, 0, 0, 0}, {1546, 4369, 0, 0, 0, 0, 0}, {1290, 4626, 20560, 0, 0, 0, 0}, {76, 4403, 512, 1024, 0, 0, 0}, {60, 768, 4420, 1280, 0, 0, 0}, {522, 8224, 5397, 0, 0, 0, 0}, {266, 310, 768, 326, 1024, 4374, 0}, {6071, 2560, 13631, 16968, 0, 0, 0}, {4680, 12336, 1280, 0, 0, 0, 0}, {4377, 4883, 4437, 1024, 0, 0, 0}, {1290, 112, 1792, 4112, 0, 0, 0}, {4471, 1536, 17476, 0, 0, 0, 0}, {76, 112, 256, 0, 0, 0, 0}, {5911, 21845, 0, 0, 0, 0, 0}, {4382, 4386, 768, 5140, 0, 0, 0}, {5439, 512, 16448, 0, 0, 0, 0}, {6080, 2560, 8704, 21760, 0, 0, 0}, {269, 305, 514, 321, 1285, 4369, 0}, {5482, 514, 16448, 0, 0, 0, 0}, {4367, 4403, 4608, 5120, 0, 0, 0}, {4360, 4864, 4420, 5376, 0, 0, 0}, {4714, 12336, 1285, 0, 0, 0, 0}, {1546, 4454, 17408, 0, 0, 0, 0}, {1295, 4144, 1799, 4160, 0, 0, 0}, {520, 8192, 5440, 0, 0, 0, 0}, {783, 819, 4437, 1285, 0, 0, 0}, {2570, 5984, 0, 0, 0, 0, 0}, {263, 1092, 4096, 0, 0, 0, 0}, {204, 1536, 4352, 0, 0, 0, 0}, {112, 514, 1285, 4112, 0, 0, 0}, {1032, 4386, 514, 1092, 0, 0, 0}, {1295, 4656, 20480, 0, 0, 0, 0}, {4128, 4608, 4176, 5376, 0, 0, 0}, {1642, 4369, 0, 0, 0, 0, 0}, {1370, 4642, 20480, 0, 0, 0, 0}, {1036, 4403, 4883, 1088, 0, 0, 0}, {780, 816, 4420, 5140, 0, 0, 0}, {554, 8192, 5461, 0, 0, 0, 0}, {282, 294, 534, 342, 1302, 4374, 0}, {6103, 7543, 13663, 16936, 0, 0, 0}, {5928, 12288, 1360, 0, 0, 0, 0}, {4377, 4915, 4437, 5397, 0, 0, 0}, {1370, 112, 1792, 4096, 0, 0, 0}, {4471, 5911, 17476, 0, 0, 0, 0}, {1036, 1792, 272, 0, 0, 0, 0}, {6007, 21845, 0, 0, 0, 0, 0}, {4382, 4386, 4626, 5188, 0, 0, 0}, {5983, 544, 16384, 0, 0, 0, 0}, {2048, 544, 5440, 0, 0, 0, 0}, {783, 819, 1365, 4369, 0, 0, 0}, {5960, 8738, 0, 0, 0, 0, 0}, {275, 4176, 1024, 0, 0, 0, 0}, {5928, 13056, 4420, 0, 0, 0, 0}, {4634, 4144, 4160, 5397, 0, 0, 0}, {76, 4454, 4864, 1024, 0, 0, 0}, {1375, 5911, 20560, 0, 0, 0, 0}, {6120, 7496, 13664, 21760, 0, 0, 0}, {281, 293, 534, 341, 1024, 4096, 0}, {5482, 5952, 16448, 0, 0, 0, 0}, {4427, 4471, 4676, 5140, 0, 0, 0}, {76, 544, 1024, 4352, 0, 0, 0}, {4626, 1365, 0, 0, 0, 0, 0}, {4386, 5956, 17476, 0, 0, 0, 0}, {1375, 112, 592, 4112, 0, 0, 0}, {240, 4608, 1280, 0, 0, 0, 0}, {76, 514, 1028, 4369, 0, 0, 0}, {1290, 4128, 514, 4176, 0, 0, 0}, {1548, 4403, 17408, 0, 0, 0, 0}, {4144, 4864, 260, 0, 0, 0, 0}, {5983, 21845, 0, 0, 0, 0, 0}, {1290, 1334, 1542, 5200, 0, 0, 0}, {520, 6007, 16384, 0, 0, 0, 0}, {520, 112, 1280, 4096, 0, 0, 0}, {1542, 4437, 0, 0, 0, 0, 0}, {1290, 5968, 20560, 0, 0, 0, 0}, {76, 4471, 580, 1028, 0, 0, 0}, {780, 816, 1280, 4352, 0, 0, 0}, {514, 5461, 0, 0, 0, 0, 0}, {270, 306, 514, 322, 1028, 4112, 0}, {6143, 2560, 8704, 16896, 0, 0, 0}, {8704, 5120, 0, 0, 0, 0, 0}, {63, 64, 257, 0, 0, 0, 0}, {5160, 514, 20512, 0, 0, 0, 0}, {4364, 4403, 771, 5123, 0, 0, 0}, {520, 64, 1028, 4096, 0, 0, 0}, {13056, 4437, 1285, 0, 0, 0, 0}, {5228, 1542, 20576, 0, 0, 0, 0}, {4360, 4471, 4864, 5127, 0, 0, 0}, {5128, 5632, 20480, 0, 0, 0, 0}, {4441, 4454, 771, 1285, 0, 0, 0}, {5280, 2570, 13834, 17408, 0, 0, 0}, {267, 308, 771, 64, 1028, 4356, 0}, {5132, 4608, 20480, 0, 0, 0, 0}, {4445, 4386, 514, 1285, 0, 0, 0}, {4128, 514, 64, 1028, 0, 0, 0}, {1295, 4352, 0, 0, 0, 0, 0}, {544, 64, 1024, 4112, 0, 0, 0}, {3840, 1365, 4369, 0, 0, 0, 0}, {5240, 4626, 20528, 0, 0, 0, 0}, {4428, 4403, 4883, 5139, 0, 0, 0}, {8840, 5140, 0, 0, 0, 0, 0}, {768, 277, 4096, 0, 0, 0, 0}, {5180, 5654, 20592, 0, 0, 0, 0}, {4424, 4471, 768, 5143, 0, 0, 0}, {5144, 1632, 20560, 0, 0, 0, 0}, {4377, 5171, 1792, 1365, 0, 0, 0}, {4634, 4144, 64, 1024, 0, 0, 0}, {5147, 13107, 4420, 0, 0, 0, 0}, {5148, 544, 20560, 0, 0, 0, 0}, {4381, 4386, 768, 1365, 0, 0, 0}, {5300, 7710, 8738, 17476, 0, 0, 0}, {287, 288, 768, 64, 1024, 4352, 0}, {5152, 5632, 17408, 0, 0, 0, 0}, {1370, 1381, 771, 4369, 0, 0, 0}, {5256, 7714, 8738, 20480, 0, 0, 0}, {284, 291, 771, 64, 1296, 4112, 0}, {4680, 5156, 17476, 0, 0, 0, 0}, {5135, 1317, 4864, 4437, 0, 0, 0}, {1036, 1574, 64, 4096, 0, 0, 0}, {3855, 5159, 1360, 0, 0, 0, 0}, {5160, 26112, 0, 0, 0, 0, 0}, {278, 64, 5397, 0, 0, 0, 0}, {554, 8192, 5120, 0, 0, 0, 0}, {63, 771, 4420, 5140, 0, 0, 0}, {1036, 4128, 4608, 64, 0, 0, 0}, {1370, 4386, 21845, 0, 0, 0, 0}, {3084, 4642, 5188, 0, 0, 0, 0}, {1807, 544, 1360, 4352, 0, 0, 0}, {5168, 1536, 17408, 0, 0, 0, 0}, {1290, 1397, 514, 4369, 0, 0, 0}, {1032, 514, 64, 4112, 0, 0, 0}, {4403, 1280, 0, 0, 0, 0, 0}, {520, 5172, 17476, 0, 0, 0, 0}, {1290, 1333, 768, 4437, 0, 0, 0}, {5276, 2570, 13878, 20560, 0, 0, 0}, {264, 311, 768, 64, 1280, 4096, 0}, {1032, 4144, 1536, 64, 0, 0, 0}, {1290, 4454, 21845, 0, 0, 0, 0}, {1546, 12336, 5200, 0, 0, 0, 0}, {520, 4915, 4420, 1280, 0, 0, 0}, {5180, 8704, 0, 0, 0, 0, 0}, {258, 64, 5397, 0, 0, 0, 0}, {128, 514, 5140, 0, 0, 0, 0}, {63, 768, 1280, 4352, 0, 0, 0}, {512, 64, 1024, 4096, 0, 0, 0}, {255, 1285, 4369, 0, 0, 0, 0}, {1546, 4642, 16962, 0, 0, 0, 0}, {1295, 4403, 512, 5187, 0, 0, 0}, {2560, 5188, 0, 0, 0, 0, 0}, {816, 261, 4112, 0, 0, 0, 0}, {522, 5734, 17990, 0, 0, 0, 0}, {1295, 1328, 1536, 5191, 0, 0, 0}, {5192, 1536, 20480, 0, 0, 0, 0}, {4377, 4454, 4883, 1285, 0, 0, 0}, {522, 4128, 64, 1024, 0, 0, 0}, {1295, 13107, 4420, 0, 0, 0, 0}, {5196, 512, 20480, 0, 0, 0, 0}, {4381, 4386, 4626, 1285, 0, 0, 0}, {5348, 2570, 8738, 17476, 0, 0, 0}, {271, 304, 512, 64, 1024, 4352, 0}, {8704, 5200, 0, 0, 0, 0, 0}, {780, 1028, 273, 0, 0, 0, 0}, {5722, 546, 21074, 0, 0, 0, 0}, {4364, 4403, 4608, 5203, 0, 0, 0}, {552, 64, 1028, 4112, 0, 0, 0}, {13056, 4437, 5120, 0, 0, 0, 0}, {4698, 1638, 22102, 0, 0, 0, 0}, {4360, 1312, 5632, 5207, 0, 0, 0}, {5208, 5744, 20560, 0, 0, 0, 0}, {5132, 5171, 5888, 1365, 0, 0, 0}, {5360, 7770, 13914, 17408, 0, 0, 0}, {283, 292, 535, 64, 1028, 4356, 0}, {5212, 4656, 20560, 0, 0, 0, 0}, {5128, 4386, 4864, 1365, 0, 0, 0}, {4144, 4626, 64, 1028, 0, 0, 0}, {1375, 4352, 0, 0, 0, 0, 0}, {5216, 4608, 17408, 0, 0, 0, 0}, {1370, 1317, 1799, 4369, 0, 0, 0}, {1032, 546, 64, 4096, 0, 0, 0}, {3855, 4403, 1360, 0, 0, 0, 0}, {5708, 5220, 17476, 0, 0, 0, 0}, {5135, 5168, 5888, 4437, 0, 0, 0}, {5324, 7782, 13926, 20480, 0, 0, 0}, {280, 295, 535, 64, 1296, 4112, 0}, {1032, 4128, 5632, 64, 0, 0, 0}, {1370, 4454, 21845, 0, 0, 0, 0}, {4714, 12288, 5120, 0, 0, 0, 0}, {4411, 4883, 4420, 5140, 0, 0, 0}, {5228, 8704, 0, 0, 0, 0, 0}, {274, 64, 5397, 0, 0, 0, 0}, {2056, 546, 5188, 0, 0, 0, 0}, {783, 816, 1360, 4352, 0, 0, 0}, {5232, 512, 17408, 0, 0, 0, 0}, {1290, 1333, 1542, 4369, 0, 0, 0}, {5336, 2570, 8738, 20560, 0, 0, 0}, {268, 307, 512, 64, 1280, 4096, 0}, {1548, 5236, 17476, 0, 0, 0, 0}, {1290, 5152, 1792, 4437, 0, 0, 0}, {1036, 1542, 64, 4112, 0, 0, 0}, {4471, 1280, 0, 0, 0, 0, 0}, {5240, 26112, 0, 0, 0, 0, 0}, {262, 64, 5397, 0, 0, 0, 0}, {522, 8224, 5200, 0, 0, 0, 0}, {780, 819, 4420, 1280, 0, 0, 0}, {1036, 4144, 512, 64, 0, 0, 0}, {1290, 4386, 21845, 0, 0, 0, 0}, {192, 4626, 5140, 0, 0, 0, 0}, {127, 512, 1280, 4352, 0, 0, 0}, {128, 512, 5120, 0, 0, 0, 0}, {63, 771, 1285, 4369, 0, 0, 0}, {5160, 8738, 0, 0, 0, 0, 0}, {259, 64, 5376, 0, 0, 0, 0}, {1548, 12288, 5188, 0, 0, 0, 0}, {522, 4896, 4437, 1285, 0, 0, 0}, {1036, 4128, 1542, 64, 0, 0, 0}, {1295, 4471, 21760, 0, 0, 0, 0}, {5256, 2560, 13824, 20480, 0, 0, 0}, {265, 310, 771, 64, 1285, 4112, 0}, {522, 5152, 17408, 0, 0, 0, 0}, {1295, 1328, 771, 4420, 0, 0, 0}, {1036, 512, 64, 4096, 0, 0, 0}, {4386, 1285, 0, 0, 0, 0, 0}, {5156, 1542, 17476, 0, 0, 0, 0}, {1295, 1392, 512, 4352, 0, 0, 0}, {3072, 4656, 5200, 0, 0, 0, 0}, {1800, 546, 1365, 4369, 0, 0, 0}, {1032, 4144, 4626, 64, 0, 0, 0}, {1375, 4403, 21760, 0, 0, 0, 0}, {552, 8224, 5140, 0, 0, 0, 0}, {63, 768, 4437, 5120, 0, 0, 0}, {5180, 26214, 0, 0, 0, 0, 0}, {279, 64, 5376, 0, 0, 0, 0}, {1032, 1568, 64, 4112, 0, 0, 0}, {3840, 5171, 1365, 0, 0, 0, 0}, {4698, 5168, 17408, 0, 0, 0, 0}, {5147, 1312, 4883, 4420, 0, 0, 0}, {5276, 7740, 8704, 20560, 0, 0, 0}, {285, 290, 768, 64, 1301, 4096, 0}, {5172, 5654, 17476, 0, 0, 0, 0}, {1375, 1376, 768, 4352, 0, 0, 0}, {5280, 7680, 8704, 17408, 0, 0, 0}, {286, 289, 771, 64, 1028, 4369, 0}, {5128, 546, 20480, 0, 0, 0, 0}, {4364, 4403, 771, 1360, 0, 0, 0}, {4616, 4128, 64, 1028, 0, 0, 0}, {5135, 13056, 4437, 0, 0, 0, 0}, {5132, 1638, 20480, 0, 0, 0, 0}, {4360, 5159, 1799, 1360, 0, 0, 0}, {5160, 5632, 20512, 0, 0, 0, 0}, {4441, 4454, 771, 5123, 0, 0, 0}, {8874, 5120, 0, 0, 0, 0, 0}, {771, 276, 4112, 0, 0, 0, 0}, {5228, 4608, 20576, 0, 0, 0, 0}, {4445, 4386, 4864, 5127, 0, 0, 0}, {546, 64, 1028, 4096, 0, 0, 0}, {3855, 1360, 4352, 0, 0, 0, 0}, {4144, 512, 64, 1024, 0, 0, 0}, {1290, 4369, 0, 0, 0, 0, 0}, {5144, 4626, 20560, 0, 0, 0, 0}, {4428, 4403, 512, 1280, 0, 0, 0}, {5300, 2560, 13884, 17476, 0, 0, 0}, {266, 309, 768, 64, 1024, 4373, 0}, {5148, 5654, 20560, 0, 0, 0, 0}, {4424, 4471, 768, 1280, 0, 0, 0}, {5240, 1536, 20528, 0, 0, 0, 0}, {4377, 4454, 4883, 5139, 0, 0, 0}, {522, 64, 1024, 4112, 0, 0, 0}, {13107, 4420, 1280, 0, 0, 0, 0}, {5180, 512, 20592, 0, 0, 0, 0}, {4381, 4386, 768, 5143, 0, 0, 0}, {8738, 5140, 0, 0, 0, 0, 0}, {63, 64, 256, 0, 0, 0, 0}, {192, 4608, 5120, 0, 0, 0, 0}, {127, 514, 1285, 4369, 0, 0, 0}, {1032, 4128, 514, 64, 0, 0, 0}, {1295, 4403, 21760, 0, 0, 0, 0}, {520, 8192, 5188, 0, 0, 0, 0}, {783, 816, 4437, 1285, 0, 0, 0}, {5228, 26214, 0, 0, 0, 0, 0}, {263, 64, 5376, 0, 0, 0, 0}, {1032, 1536, 64, 4096, 0, 0, 0}, {4454, 1285, 0, 0, 0, 0, 0}, {1546, 5216, 17408, 0, 0, 0, 0}, {1295, 5172, 1799, 4420, 0, 0, 0}, {5324, 2560, 8704, 20480, 0, 0, 0}, {269, 306, 514, 64, 1285, 4112, 0}, {5220, 514, 17476, 0, 0, 0, 0}, {1295, 1328, 1536, 4352, 0, 0, 0}, {2048, 544, 5200, 0, 0, 0, 0}, {780, 819, 1365, 4369, 0, 0, 0}, {5240, 8738, 0, 0, 0, 0, 0}, {275, 64, 5376, 0, 0, 0, 0}, {4728, 12336, 5140, 0, 0, 0, 0}, {4394, 4864, 4437, 5120, 0, 0, 0}, {1036, 4144, 5654, 64, 0, 0, 0}, {1375, 4471, 21760, 0, 0, 0, 0}, {5336, 7800, 13904, 20560, 0, 0, 0}, {281, 294, 533, 64, 1301, 4096, 0}, {5722, 5232, 17408, 0, 0, 0, 0}, {5147, 5156, 5911, 4420, 0, 0, 0}, {1036, 544, 64, 4112, 0, 0, 0}, {3840, 4386, 1365, 0, 0, 0, 0}, {5236, 4626, 17476, 0, 0, 0, 0}, {1375, 1312, 1792, 4352, 0, 0, 0}, {4128, 4608, 64, 1024, 0, 0, 0}, {1370, 4369, 0, 0, 0, 0, 0}, {5192, 4642, 20480, 0, 0, 0, 0}, {5148, 4403, 4883, 1360, 0, 0, 0}, {5348, 7748, 13932, 17476, 0, 0, 0}, {282, 293, 533, 64, 1024, 4373, 0}, {5196, 5734, 20480, 0, 0, 0, 0}, {5144, 5159, 5911, 1360, 0, 0, 0}, {4680, 1632, 22016, 0, 0, 0, 0}, {4377, 1317, 5654, 5187, 0, 0, 0}, {554, 64, 1024, 4096, 0, 0, 0}, {13107, 4420, 5140, 0, 0, 0, 0}, {5708, 544, 20992, 0, 0, 0, 0}, {4381, 4386, 4626, 5191, 0, 0, 0}, {8738, 5188, 0, 0, 0, 0, 0}, {783, 1024, 272, 0, 0, 0, 0}, {5360, 2560, 8704, 17408, 0, 0, 0}, {270, 305, 514, 64, 1028, 4369, 0}, {5208, 514, 20560, 0, 0, 0, 0}, {4364, 4403, 4608, 1280, 0, 0, 0}, {520, 4144, 64, 1028, 0, 0, 0}, {1290, 13056, 4437, 0, 0, 0, 0}, {5212, 1542, 20560, 0, 0, 0, 0}, {4360, 4471, 4864, 1280, 0, 0, 0}, {520, 5744, 17920, 0, 0, 0, 0}, {1290, 1333, 1542, 5203, 0, 0, 0}, {2570, 5200, 0, 0, 0, 0, 0}, {819, 260, 4096, 0, 0, 0, 0}, {1548, 4656, 16896, 0, 0, 0, 0}, {1290, 4386, 514, 5207, 0, 0, 0}, {514, 64, 1028, 4112, 0, 0, 0}, {255, 1280, 4352, 0, 0, 0, 0}, {16128, 16384, 0, 0, 0, 0, 0}, {34, 20, 257, 0, 0, 0, 0}, {10, 34, 514, 5378, 0, 0, 0}, {60, 771, 16432, 0, 0, 0, 0}, {13056, 68, 1028, 0, 0, 0, 0}, {10, 80, 1285, 4096, 0, 0, 0}, {10, 102, 4864, 5382, 0, 0, 0}, {120, 1799, 16496, 0, 0, 0, 0}, {136, 2056, 14088, 16392, 0, 0, 0}, {10, 54, 771, 80, 1285, 4102, 0}, {10, 8192, 5376, 0, 0, 0, 0}, {60, 771, 68, 1028, 0, 0, 0}, {204, 3084, 13056, 16396, 0, 0, 0}, {10, 34, 514, 80, 1285, 4098, 0}, {10, 34, 514, 68, 1028, 4352, 0}, {240, 3855, 12288, 16384, 0, 0, 0}, {3840, 80, 4112, 0, 0, 0, 0}, {34, 68, 1024, 4369, 0, 0, 0}, {90, 34, 4626, 5394, 0, 0, 0}, {108, 4883, 16416, 0, 0, 0, 0}, {768, 20, 4096, 0, 0, 0, 0}, {170, 5397, 0, 0, 0, 0, 0}, {90, 102, 768, 5398, 0, 0, 0}, {40, 5911, 16480, 0, 0, 0, 0}, {4120, 4144, 1792, 80, 0, 0, 0}, {5401, 102, 21845, 0, 0, 0, 0}, {5402, 12336, 5440, 0, 0, 0, 0}, {4891, 4915, 68, 1024, 0, 0, 0}, {4124, 4128, 768, 80, 0, 0, 0}, {5405, 34, 21845, 0, 0, 0, 0}, {30, 34, 768, 68, 1024, 4352, 0}, {160, 7967, 8224, 16448, 0, 0, 0}, {160, 7968, 8224, 16416, 0, 0, 0}, {30, 34, 771, 68, 1042, 4369, 0}, {34, 5376, 0, 0, 0, 0, 0}, {60, 771, 80, 4112, 0, 0, 0}, {1036, 1060, 4864, 68, 0, 0, 0}, {90, 5413, 21845, 0, 0, 0, 0}, {3084, 5414, 5440, 0, 0, 0, 0}, {1807, 1831, 80, 4096, 0, 0, 0}, {40, 5888, 16384, 0, 0, 0, 0}, {90, 102, 771, 5397, 0, 0, 0}, {5418, 21760, 0, 0, 0, 0, 0}, {4144, 771, 20, 0, 0, 0, 0}, {4940, 4896, 16448, 0, 0, 0, 0}, {5391, 34, 4608, 5461, 0, 0, 0}, {1036, 34, 68, 4352, 0, 0, 0}, {3855, 4128, 80, 0, 0, 0, 0}, {240, 3840, 12336, 16432, 0, 0, 0}, {10, 34, 514, 68, 1026, 4369, 0}, {10, 34, 514, 80, 1280, 4112, 0}, {204, 3072, 13107, 16384, 0, 0, 0}, {1032, 1076, 768, 68, 0, 0, 0}, {10, 5429, 21845, 0, 0, 0, 0}, {10, 54, 768, 80, 1280, 4096, 0}, {136, 2056, 14135, 16448, 0, 0, 0}, {1800, 1904, 16448, 0, 0, 0, 0}, {10, 5427, 1536, 5461, 0, 0, 0}, {10, 4144, 80, 1280, 0, 0, 0}, {1032, 13107, 68, 0, 0, 0, 0}, {60, 768, 16384, 0, 0, 0, 0}, {10, 34, 514, 5397, 0, 0, 0}, {258, 20, 4352, 0, 0, 0, 0}, {16576, 16191, 0, 0, 0, 0, 0}, {16320, 16448, 0, 0, 0, 0, 0}, {512, 261, 273, 0, 0, 0, 0}, {10, 34, 512, 5442, 0, 0, 0}, {783, 819, 17219, 0, 0, 0, 0}, {13056, 68, 1024, 0, 0, 0, 0}, {10, 80, 1285, 4112, 0, 0, 0}, {10, 5408, 1536, 5446, 0, 0, 0}, {1807, 1911, 18247, 0, 0, 0, 0}, {136, 2048, 14152, 16456, 0, 0, 0}, {10, 54, 773, 80, 1285, 4118, 0}, {10, 8224, 5440, 0, 0, 0, 0}, {783, 819, 68, 1024, 0, 0, 0}, {204, 3072, 13056, 16460, 0, 0, 0}, {10, 34, 512, 80, 1285, 4114, 0}, {10, 34, 512, 68, 1024, 4352, 0}, {240, 3855, 12336, 16448, 0, 0, 0}, {3840, 80, 4096, 0, 0, 0, 0}, {34, 68, 1028, 4369, 0, 0, 0}, {5384, 34, 4608, 5458, 0, 0, 0}, {4959, 4915, 21331, 0, 0, 0, 0}, {816, 20, 4112, 0, 0, 0, 0}, {10752, 5461, 0, 0, 0, 0, 0}, {5388, 5424, 5632, 5462, 0, 0, 0}, {5983, 6007, 22359, 0, 0, 0, 0}, {4104, 4128, 5888, 80, 0, 0, 0}, {5465, 102, 21845, 0, 0, 0, 0}, {90, 12288, 5376, 0, 0, 0, 0}, {40, 4883, 68, 1028, 0, 0, 0}, {4108, 4144, 4864, 80, 0, 0, 0}, {5469, 34, 21845, 0, 0, 0, 0}, {30, 34, 786, 68, 1028, 4352, 0}, {160, 8031, 8192, 16384, 0, 0, 0}, {160, 8032, 8192, 16480, 0, 0, 0}, {30, 34, 785, 68, 1046, 4369, 0}, {2056, 34, 5440, 0, 0, 0, 0}, {783, 819, 80, 4096, 0, 0, 0}, {1032, 1056, 5888, 68, 0, 0, 0}, {90, 5477, 21845, 0, 0, 0, 0}, {102, 5376, 0, 0, 0, 0, 0}, {40, 1799, 80, 4112, 0, 0, 0}, {5960, 5984, 16448, 0, 0, 0, 0}, {5391, 5427, 5632, 5461, 0, 0, 0}, {5482, 21760, 0, 0, 0, 0, 0}, {4128, 4883, 20, 0, 0, 0, 0}, {108, 4864, 16384, 0, 0, 0, 0}, {90, 34, 4626, 5397, 0, 0, 0}, {1032, 34, 68, 4352, 0, 0, 0}, {3855, 4144, 80, 0, 0, 0, 0}, {240, 3840, 12288, 16496, 0, 0, 0}, {10, 34, 512, 68, 1030, 4369, 0}, {10, 34, 512, 80, 1280, 4096, 0}, {204, 3084, 13107, 16448, 0, 0, 0}, {1036, 1072, 1792, 68, 0, 0, 0}, {10, 5493, 21845, 0, 0, 0, 0}, {10, 54, 774, 80, 1280, 4112, 0}, {136, 2048, 14199, 16384, 0, 0, 0}, {120, 1792, 16384, 0, 0, 0, 0}, {10, 102, 4883, 5397, 0, 0, 0}, {10, 4128, 80, 1280, 0, 0, 0}, {1036, 13107, 68, 0, 0, 0, 0}, {780, 816, 16448, 0, 0, 0, 0}, {10, 34, 512, 5461, 0, 0, 0}, {274, 20, 4352, 0, 0, 0, 0}, {16512, 32639, 0, 0, 0, 0, 0}, {16512, 16128, 0, 0, 0, 0, 0}, {259, 20, 4369, 0, 0, 0, 0}, {10, 34, 512, 5376, 0, 0, 0}, {60, 771, 16448, 0, 0, 0, 0}, {1036, 13056, 68, 0, 0, 0, 0}, {10, 4128, 80, 1285, 0, 0, 0}, {10, 5414, 1542, 5440, 0, 0, 0}, {1807, 1911, 16384, 0, 0, 0, 0}, {136, 2048, 14080, 16384, 0, 0, 0}, {10, 54, 771, 80, 1285, 4112, 0}, {10, 5408, 21760, 0, 0, 0, 0}, {1036, 1072, 771, 68, 0, 0, 0}, {204, 3084, 13056, 16448, 0, 0, 0}, {10, 34, 512, 80, 1285, 4096, 0}, {10, 34, 512, 68, 1030, 4352, 0}, {240, 3855, 12288, 16496, 0, 0, 0}, {3840, 4144, 80, 0, 0, 0, 0}, {1032, 34, 68, 4369, 0, 0, 0}, {5402, 34, 4626, 5440, 0, 0, 0}, {4959, 4915, 16384, 0, 0, 0, 0}, {4128, 768, 20, 0, 0, 0, 0}, {5439, 21845, 0, 0, 0, 0, 0}, {90, 102, 768, 5376, 0, 0, 0}, {40, 5911, 16448, 0, 0, 0, 0}, {1800, 1824, 80, 4112, 0, 0, 0}, {3072, 5427, 5461, 0, 0, 0, 0}, {90, 5424, 21760, 0, 0, 0, 0}, {1032, 1056, 4883, 68, 0, 0, 0}, {60, 768, 80, 4096, 0, 0, 0}, {34, 5397, 0, 0, 0, 0, 0}, {30, 34, 768, 68, 1046, 4352, 0}, {160, 7999, 8192, 16480, 0, 0, 0}, {160, 7936, 8192, 16384, 0, 0, 0}, {30, 34, 771, 68, 1028, 4369, 0}, {5384, 34, 21760, 0, 0, 0, 0}, {4108, 4144, 771, 80, 0, 0, 0}, {4872, 4896, 68, 1028, 0, 0, 0}, {5391, 12288, 5461, 0, 0, 0, 0}, {5388, 102, 21760, 0, 0, 0, 0}, {4104, 4128, 1799, 80, 0, 0, 0}, {40, 5888, 16416, 0, 0, 0, 0}, {90, 102, 771, 5379, 0, 0, 0}, {170, 5376, 0, 0, 0, 0, 0}, {771, 20, 4112, 0, 0, 0, 0}, {108, 4864, 16480, 0, 0, 0, 0}, {90, 34, 4608, 5383, 0, 0, 0}, {34, 68, 1028, 4352, 0, 0, 0}, {3855, 80, 4096, 0, 0, 0, 0}, {240, 3840, 12336, 16448, 0, 0, 0}, {10, 34, 512, 68, 1024, 4369, 0}, {10, 34, 512, 80, 1280, 4114, 0}, {204, 3072, 13107, 16460, 0, 0, 0}, {60, 768, 68, 1024, 0, 0, 0}, {10, 8224, 5397, 0, 0, 0, 0}, {10, 54, 768, 80, 1280, 4118, 0}, {136, 2048, 14143, 16456, 0, 0, 0}, {120, 1792, 16432, 0, 0, 0, 0}, {10, 102, 4883, 5395, 0, 0, 0}, {10, 80, 1280, 4112, 0, 0, 0}, {13107, 68, 1024, 0, 0, 0, 0}, {60, 768, 16496, 0, 0, 0, 0}, {10, 34, 512, 5399, 0, 0, 0}, {34, 20, 256, 0, 0, 0, 0}, {16191, 16448, 0, 0, 0, 0, 0}, {16576, 32512, 0, 0, 0, 0, 0}, {275, 20, 4369, 0, 0, 0, 0}, {10, 34, 514, 5440, 0, 0, 0}, {783, 819, 16384, 0, 0, 0, 0}, {1032, 13056, 68, 0, 0, 0, 0}, {10, 4144, 80, 1285, 0, 0, 0}, {10, 102, 4864, 5376, 0, 0, 0}, {120, 1799, 16448, 0, 0, 0, 0}, {136, 2056, 14144, 16448, 0, 0, 0}, {10, 54, 773, 80, 1285, 4096, 0}, {10, 5472, 21760, 0, 0, 0, 0}, {1032, 1076, 1799, 68, 0, 0, 0}, {204, 3072, 13056, 16384, 0, 0, 0}, {10, 34, 514, 80, 1285, 4112, 0}, {10, 34, 514, 68, 1026, 4352, 0}, {240, 3855, 12336, 16432, 0, 0, 0}, {3840, 4128, 80, 0, 0, 0, 0}, {1036, 34, 68, 4369, 0, 0, 0}, {90, 34, 4608, 5376, 0, 0, 0}, {108, 4883, 16448, 0, 0, 0, 0}, {4144, 4864, 20, 0, 0, 0, 0}, {5503, 21845, 0, 0, 0, 0, 0}, {5402, 5414, 5654, 5440, 0, 0, 0}, {5983, 6007, 16384, 0, 0, 0, 0}, {40, 1792, 80, 4096, 0, 0, 0}, {102, 5397, 0, 0, 0, 0, 0}, {90, 5488, 21760, 0, 0, 0, 0}, {1036, 1060, 5911, 68, 0, 0, 0}, {780, 816, 80, 4112, 0, 0, 0}, {2048, 34, 5461, 0, 0, 0, 0}, {30, 34, 786, 68, 1042, 4352, 0}, {160, 8063, 8224, 16416, 0, 0, 0}, {160, 8000, 8224, 16448, 0, 0, 0}, {30, 34, 785, 68, 1024, 4369, 0}, {5448, 34, 21760, 0, 0, 0, 0}, {4124, 4128, 4883, 80, 0, 0, 0}, {40, 4864, 68, 1024, 0, 0, 0}, {90, 12336, 5397, 0, 0, 0, 0}, {5452, 102, 21760, 0, 0, 0, 0}, {4120, 4144, 5911, 80, 0, 0, 0}, {5960, 5984, 22272, 0, 0, 0, 0}, {5401, 5413, 5654, 5443, 0, 0, 0}, {10794, 5440, 0, 0, 0, 0, 0}, {819, 20, 4096, 0, 0, 0, 0}, {4940, 4896, 21248, 0, 0, 0, 0}, {5405, 34, 4626, 5447, 0, 0, 0}, {34, 68, 1024, 4352, 0, 0, 0}, {3855, 80, 4112, 0, 0, 0, 0}, {240, 3840, 12288, 16384, 0, 0, 0}, {10, 34, 514, 68, 1028, 4369, 0}, {10, 34, 514, 80, 1280, 4098, 0}, {204, 3084, 13107, 16396, 0, 0, 0}, {780, 816, 68, 1028, 0, 0, 0}, {10, 8192, 5461, 0, 0, 0, 0}, {10, 54, 774, 80, 1280, 4102, 0}, {136, 2056, 14207, 16392, 0, 0, 0}, {1800, 1904, 18176, 0, 0, 0, 0}, {10, 5429, 1542, 5459, 0, 0, 0}, {10, 80, 1280, 4096, 0, 0, 0}, {13107, 68, 1028, 0, 0, 0, 0}, {780, 816, 17152, 0, 0, 0, 0}, {10, 34, 514, 5463, 0, 0, 0}, {514, 260, 272, 0, 0, 0, 0}, {16383, 16384, 0, 0, 0, 0, 0}, {49152, 0, 0, 0, 0, 0, 0}, {2, 5, 17, 257, 0, 0, 0}, {2, 16384, 0, 0, 0, 0, 0}, {15, 51, 771, 0, 0, 0, 0}, {8, 68, 1028, 0, 0, 0, 0}, {12288, 5, 0, 0, 0, 0, 0}, {10, 102, 1542, 0, 0, 0, 0}, {7, 16384, 0, 0, 0, 0, 0}, {8, 16384, 0, 0, 0, 0, 0}, {51, 771, 5, 0, 0, 0, 0}, {10, 24576, 0, 0, 0, 0, 0}, {7, 68, 1028, 0, 0, 0, 0}, {204, 3084, 0, 0, 0, 0, 0}, {2, 5, 4096, 0, 0, 0, 0}, {2, 68, 1028, 0, 0, 0, 0}, {15, 12288, 0, 0, 0, 0, 0}, {32, 80, 4112, 0, 0, 0, 0}, {3072, 17, 0, 0, 0, 0, 0}, {90, 34, 4626, 0, 0, 0, 0}, {19, 16384, 0, 0, 0, 0, 0}, {12288, 20, 0, 0, 0, 0, 0}, {42, 85, 5397, 0, 0, 0, 0}, {22, 16384, 0, 0, 0, 0, 0}, {95, 119, 5911, 0, 0, 0, 0}, {40, 12336, 80, 0, 0, 0, 0}, {25, 51, 85, 5376, 0, 0, 0}, {90, 112, 16448, 0, 0, 0, 0}, {27, 51, 5888, 68, 0, 0, 0}, {28, 32, 80, 4096, 0, 0, 0}, {7453, 34, 85, 0, 0, 0, 0}, {30, 34, 4608, 68, 0, 0, 0}, {95, 32, 16448, 0, 0, 0, 0}, {32, 16384, 0, 0, 0, 0, 0}, {15, 771, 17, 0, 0, 0, 0}, {18432, 34, 0, 0, 0, 0, 0}, {19, 80, 4112, 0, 0, 0, 0}, {40, 9252, 68, 0, 0, 0, 0}, {15, 37, 85, 5376, 0, 0, 0}, {76, 102, 16448, 0, 0, 0, 0}, {15, 39, 5888, 80, 0, 0, 0}, {40, 24576, 0, 0, 0, 0, 0}, {22, 85, 5397, 0, 0, 0, 0}, {42, 16384, 0, 0, 0, 0, 0}, {51, 771, 20, 0, 0, 0, 0}, {76, 32, 16448, 0, 0, 0, 0}, {15, 34, 4608, 85, 0, 0, 0}, {3084, 34, 68, 0, 0, 0, 0}, {15, 32, 80, 4096, 0, 0, 0}, {240, 12336, 0, 0, 0, 0, 0}, {2, 1024, 17, 0, 0, 0, 0}, {2, 80, 4112, 0, 0, 0, 0}, {3072, 51, 0, 0, 0, 0, 0}, {8, 52, 68, 1024, 0, 0, 0}, {10, 13621, 85, 0, 0, 0, 0}, {10, 54, 1536, 80, 0, 0, 0}, {8, 119, 16448, 0, 0, 0, 0}, {8, 112, 16448, 0, 0, 0, 0}, {10, 51, 1536, 85, 0, 0, 0}, {10, 12336, 80, 0, 0, 0, 0}, {8, 51, 68, 1024, 0, 0, 0}, {60, 12288, 0, 0, 0, 0, 0}, {2, 85, 5397, 0, 0, 0, 0}, {2, 20, 4096, 0, 0, 0, 0}, {255, 16191, 0, 0, 0, 0, 0}, {128, 16448, 0, 0, 0, 0, 0}, {768, 5, 17, 0, 0, 0, 0}, {10, 34, 16962, 0, 0, 0, 0}, {15, 51, 768, 67, 0, 0, 0}, {3072, 68, 0, 0, 0, 0, 0}, {32, 5, 4112, 0, 0, 0, 0}, {10, 32, 1536, 70, 0, 0, 0}, {15, 119, 18247, 0, 0, 0, 0}, {136, 18504, 0, 0, 0, 0, 0}, {19, 5, 4096, 0, 0, 0, 0}, {10, 32, 16448, 0, 0, 0, 0}, {15, 51, 768, 68, 0, 0, 0}, {76, 16384, 0, 0, 0, 0, 0}, {34, 4626, 5, 0, 0, 0, 0}, {10, 34, 1536, 68, 0, 0, 0}, {15, 112, 16448, 0, 0, 0, 0}, {12288, 80, 0, 0, 0, 0, 0}, {8, 1028, 17, 0, 0, 0, 0}, {8, 34, 4608, 82, 0, 0, 0}, {95, 51, 21331, 0, 0, 0, 0}, {32, 20, 4112, 0, 0, 0, 0}, {16128, 85, 0, 0, 0, 0, 0}, {90, 102, 22102, 0, 0, 0, 0}, {8, 32, 5888, 87, 0, 0, 0}, {8, 32, 80, 4096, 0, 0, 0}, {3084, 51, 85, 0, 0, 0, 0}, {90, 12288, 0, 0, 0, 0, 0}, {19, 68, 1028, 0, 0, 0, 0}, {60, 12336, 80, 0, 0, 0, 0}, {8, 34, 85, 5376, 0, 0, 0}, {22, 68, 1028, 0, 0, 0, 0}, {95, 24576, 0, 0, 0, 0, 0}, {160, 24672, 0, 0, 0, 0, 0}, {7, 1024, 17, 0, 0, 0, 0}, {8, 34, 16448, 0, 0, 0, 0}, {15, 51, 768, 80, 0, 0, 0}, {8, 32, 68, 1024, 0, 0, 0}, {15, 12336, 85, 0, 0, 0, 0}, {3072, 102, 0, 0, 0, 0, 0}, {7, 80, 4112, 0, 0, 0, 0}, {8, 32, 16448, 0, 0, 0, 0}, {15, 51, 768, 85, 0, 0, 0}, {170, 27242, 0, 0, 0, 0, 0}, {19, 20, 4096, 0, 0, 0, 0}, {108, 24576, 0, 0, 0, 0, 0}, {7, 85, 5397, 0, 0, 0, 0}, {8, 34, 68, 1024, 0, 0, 0}, {15, 12336, 80, 0, 0, 0, 0}, {112, 16384, 0, 0, 0, 0, 0}, {10, 1542, 17, 0, 0, 0, 0}, {10, 34, 4608, 80, 0, 0, 0}, {76, 51, 16448, 0, 0, 0, 0}, {60, 12336, 68, 0, 0, 0, 0}, {10, 32, 85, 5376, 0, 0, 0}, {22, 80, 4112, 0, 0, 0, 0}, {18432, 119, 0, 0, 0, 0, 0}, {120, 12288, 0, 0, 0, 0, 0}, {19, 85, 5397, 0, 0, 0, 0}, {10, 32, 80, 4096, 0, 0, 0}, {3084, 51, 68, 0, 0, 0, 0}, {76, 112, 16448, 0, 0, 0, 0}, {10, 34, 5888, 85, 0, 0, 0}, {34, 4626, 20, 0, 0, 0, 0}, {127, 16384, 0, 0, 0, 0, 0}, {128, 16384, 0, 0, 0, 0, 0}, {771, 5, 17, 0, 0, 0, 0}, {10, 34, 16896, 0, 0, 0, 0}, {15, 51, 771, 67, 0, 0, 0}, {3084, 68, 0, 0, 0, 0, 0}, {32, 5, 4096, 0, 0, 0, 0}, {10, 32, 1542, 70, 0, 0, 0}, {15, 119, 18176, 0, 0, 0, 0}, {136, 18432, 0, 0, 0, 0, 0}, {19, 5, 4112, 0, 0, 0, 0}, {10, 32, 16384, 0, 0, 0, 0}, {15, 51, 771, 68, 0, 0, 0}, {76, 16448, 0, 0, 0, 0, 0}, {34, 4608, 5, 0, 0, 0, 0}, {10, 34, 1542, 68, 0, 0, 0}, {15, 112, 16384, 0, 0, 0, 0}, {12336, 80, 0, 0, 0, 0, 0}, {8, 1024, 17, 0, 0, 0, 0}, {8, 34, 4626, 82, 0, 0, 0}, {95, 51, 21248, 0, 0, 0, 0}, {32, 20, 4096, 0, 0, 0, 0}, {16191, 85, 0, 0, 0, 0, 0}, {90, 102, 22016, 0, 0, 0, 0}, {8, 32, 5911, 87, 0, 0, 0}, {8, 32, 80, 4112, 0, 0, 0}, {3072, 51, 85, 0, 0, 0, 0}, {90, 12336, 0, 0, 0, 0, 0}, {19, 68, 1024, 0, 0, 0, 0}, {60, 12288, 80, 0, 0, 0, 0}, {8, 34, 85, 5397, 0, 0, 0}, {22, 68, 1024, 0, 0, 0, 0}, {95, 24672, 0, 0, 0, 0, 0}, {160, 24576, 0, 0, 0, 0, 0}, {7, 1028, 17, 0, 0, 0, 0}, {8, 34, 16384, 0, 0, 0, 0}, {15, 51, 771, 80, 0, 0, 0}, {8, 32, 68, 1028, 0, 0, 0}, {15, 12288, 85, 0, 0, 0, 0}, {3084, 102, 0, 0, 0, 0, 0}, {7, 80, 4096, 0, 0, 0, 0}, {8, 32, 16384, 0, 0, 0, 0}, {15, 51, 771, 85, 0, 0, 0}, {170, 27136, 0, 0, 0, 0, 0}, {19, 20, 4112, 0, 0, 0, 0}, {108, 24672, 0, 0, 0, 0, 0}, {7, 85, 5376, 0, 0, 0, 0}, {8, 34, 68, 1028, 0, 0, 0}, {15, 12288, 80, 0, 0, 0, 0}, {112, 16448, 0, 0, 0, 0, 0}, {10, 1536, 17, 0, 0, 0, 0}, {10, 34, 4626, 80, 0, 0, 0}, {76, 51, 16384, 0, 0, 0, 0}, {60, 12288, 68, 0, 0, 0, 0}, {10, 32, 85, 5397, 0, 0, 0}, {22, 80, 4096, 0, 0, 0, 0}, {18504, 119, 0, 0, 0, 0, 0}, {120, 12336, 0, 0, 0, 0, 0}, {19, 85, 5376, 0, 0, 0, 0}, {10, 32, 80, 4112, 0, 0, 0}, {3072, 51, 68, 0, 0, 0, 0}, {76, 112, 16384, 0, 0, 0, 0}, {10, 34, 5911, 85, 0, 0, 0}, {34, 4608, 20, 0, 0, 0, 0}, {127, 16448, 0, 0, 0, 0, 0}, {49344, 0, 0, 0, 0, 0, 0}, {2, 5, 17, 256, 0, 0, 0}, {2, 16448, 0, 0, 0, 0, 0}, {15, 51, 768, 0, 0, 0, 0}, {8, 68, 1024, 0, 0, 0, 0}, {12336, 5, 0, 0, 0, 0, 0}, {10, 102, 1536, 0, 0, 0, 0}, {7, 16448, 0, 0, 0, 0, 0}, {8, 16448, 0, 0, 0, 0, 0}, {51, 768, 5, 0, 0, 0, 0}, {10, 24672, 0, 0, 0, 0, 0}, {7, 68, 1024, 0, 0, 0, 0}, {204, 3072, 0, 0, 0, 0, 0}, {2, 5, 4112, 0, 0, 0, 0}, {2, 68, 1024, 0, 0, 0, 0}, {15, 12336, 0, 0, 0, 0, 0}, {32, 80, 4096, 0, 0, 0, 0}, {3084, 17, 0, 0, 0, 0, 0}, {90, 34, 4608, 0, 0, 0, 0}, {19, 16448, 0, 0, 0, 0, 0}, {12336, 20, 0, 0, 0, 0, 0}, {42, 85, 5376, 0, 0, 0, 0}, {22, 16448, 0, 0, 0, 0, 0}, {95, 119, 5888, 0, 0, 0, 0}, {40, 12288, 80, 0, 0, 0, 0}, {25, 51, 85, 5397, 0, 0, 0}, {90, 112, 16384, 0, 0, 0, 0}, {27, 51, 5911, 68, 0, 0, 0}, {28, 32, 80, 4112, 0, 0, 0}, {7424, 34, 85, 0, 0, 0, 0}, {30, 34, 4626, 68, 0, 0, 0}, {95, 32, 16384, 0, 0, 0, 0}, {32, 16448, 0, 0, 0, 0, 0}, {15, 768, 17, 0, 0, 0, 0}, {18504, 34, 0, 0, 0, 0, 0}, {19, 80, 4096, 0, 0, 0, 0}, {40, 9216, 68, 0, 0, 0, 0}, {15, 37, 85, 5397, 0, 0, 0}, {76, 102, 16384, 0, 0, 0, 0}, {15, 39, 5911, 80, 0, 0, 0}, {40, 24672, 0, 0, 0, 0, 0}, {22, 85, 5376, 0, 0, 0, 0}, {42, 16448, 0, 0, 0, 0, 0}, {51, 768, 20, 0, 0, 0, 0}, {76, 32, 16384, 0, 0, 0, 0}, {15, 34, 4626, 85, 0, 0, 0}, {3072, 34, 68, 0, 0, 0, 0}, {15, 32, 80, 4112, 0, 0, 0}, {240, 12288, 0, 0, 0, 0, 0}, {2, 1028, 17, 0, 0, 0, 0}, {2, 80, 4096, 0, 0, 0, 0}, {3084, 51, 0, 0, 0, 0, 0}, {8, 52, 68, 1028, 0, 0, 0}, {10, 13568, 85, 0, 0, 0, 0}, {10, 54, 1542, 80, 0, 0, 0}, {8, 119, 16384, 0, 0, 0, 0}, {8, 112, 16384, 0, 0, 0, 0}, {10, 51, 1542, 85, 0, 0, 0}, {10, 12288, 80, 0, 0, 0, 0}, {8, 51, 68, 1028, 0, 0, 0}, {60, 12336, 0, 0, 0, 0, 0}, {2, 85, 5376, 0, 0, 0, 0}, {2, 20, 4112, 0, 0, 0, 0}, {255, 16128, 0, 0, 0, 0, 0}, {512, 1280, 4352, 0, 0, 0, 0}, {192, 257, 0, 0, 0, 0, 0}, {1290, 4386, 514, 0, 0, 0, 0}, {259, 16384, 0, 0, 0, 0, 0}, {12288, 260, 0, 0, 0, 0, 0}, {522, 4437, 1285, 0, 0, 0, 0}, {262, 16384, 0, 0, 0, 0, 0}, {1295, 4471, 1799, 0, 0, 0, 0}, {520, 13056, 1280, 0, 0, 0, 0}, {265, 771, 4176, 1285, 0, 0, 0}, {1290, 1792, 17408, 0, 0, 0, 0}, {267, 4208, 771, 1028, 0, 0, 0}, {268, 512, 1280, 4096, 0, 0, 0}, {4573, 514, 1285, 0, 0, 0, 0}, {270, 4128, 514, 1028, 0, 0, 0}, {1295, 512, 17408, 0, 0, 0, 0}, {3072, 272, 0, 0, 0, 0, 0}, {546, 1365, 4369, 0, 0, 0, 0}, {274, 16384, 0, 0, 0, 0, 0}, {1375, 4403, 4883, 0, 0, 0, 0}, {552, 4420, 5140, 0, 0, 0, 0}, {12288, 277, 0, 0, 0, 0, 0}, {1370, 4454, 5654, 0, 0, 0, 0}, {279, 16384, 0, 0, 0, 0, 0}, {280, 816, 4176, 5376, 0, 0, 0}, {554, 13107, 1365, 0, 0, 0, 0}, {282, 5168, 5888, 1088, 0, 0, 0}, {1375, 1911, 17476, 0, 0, 0, 0}, {7196, 544, 1360, 0, 0, 0, 0}, {285, 546, 1365, 4096, 0, 0, 0}, {1370, 546, 17476, 0, 0, 0, 0}, {287, 4128, 4608, 1088, 0, 0, 0}, {3840, 544, 4352, 0, 0, 0, 0}, {289, 771, 1092, 4369, 0, 0, 0}, {4386, 4864, 20480, 0, 0, 0, 0}, {1100, 291, 771, 4112, 0, 0, 0}, {780, 292, 4420, 5376, 0, 0, 0}, {554, 9509, 4437, 0, 0, 0, 0}, {5132, 294, 5888, 4160, 0, 0, 0}, {4959, 4471, 20560, 0, 0, 0, 0}, {5160, 5632, 21760, 0, 0, 0, 0}, {4441, 4208, 771, 5397, 0, 0, 0}, {554, 13056, 5120, 0, 0, 0, 0}, {299, 771, 4176, 5140, 0, 0, 0}, {4364, 4128, 4608, 5440, 0, 0, 0}, {5722, 546, 21845, 0, 0, 0, 0}, {780, 546, 1092, 4096, 0, 0, 0}, {3855, 544, 5200, 0, 0, 0, 0}, {304, 512, 1024, 4352, 0, 0, 0}, {1525, 514, 4369, 0, 0, 0, 0}, {1032, 306, 514, 4112, 0, 0, 0}, {4403, 512, 20480, 0, 0, 0, 0}, {520, 13364, 4420, 0, 0, 0, 0}, {522, 309, 4437, 1024, 0, 0, 0}, {522, 4454, 20560, 0, 0, 0, 0}, {1032, 311, 1536, 4160, 0, 0, 0}, {1032, 1328, 1536, 5440, 0, 0, 0}, {522, 5734, 21845, 0, 0, 0, 0}, {522, 816, 4176, 1024, 0, 0, 0}, {520, 13107, 5188, 0, 0, 0, 0}, {5180, 512, 21760, 0, 0, 0, 0}, {4381, 4128, 514, 5397, 0, 0, 0}, {4590, 514, 5140, 0, 0, 0, 0}, {319, 512, 1024, 4096, 0, 0, 0}, {768, 320, 1280, 4352, 0, 0, 0}, {642, 1285, 4369, 0, 0, 0, 0}, {1290, 4386, 768, 322, 0, 0, 0}, {1295, 4403, 17219, 0, 0, 0, 0}, {8192, 4420, 1280, 0, 0, 0, 0}, {783, 325, 1285, 4112, 0, 0, 0}, {1290, 4454, 17990, 0, 0, 0, 0}, {1295, 4144, 1536, 327, 0, 0, 0}, {328, 768, 1280, 4096, 0, 0, 0}, {4505, 4883, 1285, 0, 0, 0, 0}, {1290, 4128, 768, 1088, 0, 0, 0}, {1295, 4915, 17476, 0, 0, 0, 0}, {4940, 8704, 1280, 0, 0, 0, 0}, {4381, 4626, 4176, 1285, 0, 0, 0}, {1290, 5734, 17476, 0, 0, 0, 0}, {1295, 5168, 1536, 1088, 0, 0, 0}, {2048, 1360, 4352, 0, 0, 0, 0}, {819, 337, 1028, 4369, 0, 0, 0}, {1370, 4386, 21074, 0, 0, 0, 0}, {1036, 4403, 4608, 339, 0, 0, 0}, {828, 340, 1028, 4112, 0, 0, 0}, {8192, 4437, 5120, 0, 0, 0, 0}, {1036, 4144, 5888, 342, 0, 0, 0}, {1375, 4471, 22359, 0, 0, 0, 0}, {2056, 4896, 1360, 0, 0, 0, 0}, {1036, 819, 1365, 4096, 0, 0, 0}, {1370, 4864, 17408, 0, 0, 0, 0}, {347, 4128, 4883, 1028, 0, 0, 0}, {4364, 4656, 4176, 5376, 0, 0, 0}, {5674, 8738, 1365, 0, 0, 0, 0}, {350, 4208, 4626, 1028, 0, 0, 0}, {1375, 5632, 17408, 0, 0, 0, 0}, {352, 768, 1024, 4352, 0, 0, 0}, {1445, 1799, 4369, 0, 0, 0, 0}, {1032, 4386, 768, 4160, 0, 0, 0}, {1807, 4403, 20560, 0, 0, 0, 0}, {1800, 8224, 4420, 0, 0, 0, 0}, {783, 4144, 4437, 1024, 0, 0, 0}, {4454, 1792, 20480, 0, 0, 0, 0}, {1032, 359, 1799, 4112, 0, 0, 0}, {1032, 4128, 768, 5440, 0, 0, 0}, {1807, 4915, 21845, 0, 0, 0, 0}, {362, 768, 1024, 4096, 0, 0, 0}, {4539, 4883, 5140, 0, 0, 0, 0}, {5228, 1792, 21760, 0, 0, 0, 0}, {4381, 4208, 4626, 5397, 0, 0, 0}, {1800, 8738, 5188, 0, 0, 0, 0}, {783, 4656, 4176, 1024, 0, 0, 0}, {2560, 1904, 4352, 0, 0, 0, 0}, {1333, 1542, 1092, 4369, 0, 0, 0}, {5722, 4386, 20560, 0, 0, 0, 0}, {5132, 4403, 4608, 4160, 0, 0, 0}, {4876, 4144, 4420, 5376, 0, 0, 0}, {5674, 8224, 4437, 0, 0, 0, 0}, {1100, 374, 1542, 4112, 0, 0, 0}, {4471, 5632, 20480, 0, 0, 0, 0}, {5240, 4864, 21760, 0, 0, 0, 0}, {4441, 4128, 4883, 5397, 0, 0, 0}, {2570, 4896, 5200, 0, 0, 0, 0}, {1548, 819, 1092, 4096, 0, 0, 0}, {4364, 1328, 5888, 5440, 0, 0, 0}, {4959, 1911, 21845, 0, 0, 0, 0}, {4398, 4626, 4176, 5140, 0, 0, 0}, {4991, 8704, 5120, 0, 0, 0, 0}, {640, 1280, 4352, 0, 0, 0, 0}, {771, 321, 1285, 4369, 0, 0, 0}, {1290, 4386, 17152, 0, 0, 0, 0}, {1295, 4403, 771, 323, 0, 0, 0}, {780, 324, 1280, 4096, 0, 0, 0}, {8224, 4437, 1285, 0, 0, 0, 0}, {1290, 4128, 1542, 326, 0, 0, 0}, {1295, 4471, 17920, 0, 0, 0, 0}, {4488, 4864, 1280, 0, 0, 0, 0}, {329, 771, 1285, 4112, 0, 0, 0}, {1290, 4896, 17408, 0, 0, 0, 0}, {1295, 4144, 771, 1092, 0, 0, 0}, {4364, 4608, 4160, 1280, 0, 0, 0}, {4959, 8738, 1285, 0, 0, 0, 0}, {1290, 5156, 1542, 1092, 0, 0, 0}, {1295, 5744, 17408, 0, 0, 0, 0}, {816, 336, 1024, 4352, 0, 0, 0}, {2056, 1365, 4369, 0, 0, 0, 0}, {1032, 4386, 4626, 338, 0, 0, 0}, {1375, 4403, 20992, 0, 0, 0, 0}, {8224, 4420, 5140, 0, 0, 0, 0}, {831, 341, 1024, 4096, 0, 0, 0}, {1370, 4454, 22272, 0, 0, 0, 0}, {1032, 4128, 5911, 343, 0, 0, 0}, {1032, 816, 1360, 4112, 0, 0, 0}, {2048, 4915, 1365, 0, 0, 0, 0}, {346, 4144, 4864, 1024, 0, 0, 0}, {1375, 4883, 17476, 0, 0, 0, 0}, {5692, 8704, 1360, 0, 0, 0, 0}, {4381, 4642, 4160, 5397, 0, 0, 0}, {1370, 5654, 17476, 0, 0, 0, 0}, {351, 4192, 4608, 1024, 0, 0, 0}, {1440, 1792, 4352, 0, 0, 0, 0}, {353, 771, 1028, 4369, 0, 0, 0}, {1800, 4386, 20480, 0, 0, 0, 0}, {1036, 4403, 771, 4176, 0, 0, 0}, {780, 4128, 4420, 1028, 0, 0, 0}, {1807, 8192, 4437, 0, 0, 0, 0}, {1036, 358, 1792, 4096, 0, 0, 0}, {4471, 1799, 20560, 0, 0, 0, 0}, {1800, 4896, 21760, 0, 0, 0, 0}, {1036, 4144, 771, 5461, 0, 0, 0}, {4522, 4864, 5120, 0, 0, 0, 0}, {363, 771, 1028, 4112, 0, 0, 0}, {4364, 4192, 4608, 5376, 0, 0, 0}, {5240, 1799, 21845, 0, 0, 0, 0}, {780, 4642, 4160, 1028, 0, 0, 0}, {1807, 8704, 5200, 0, 0, 0, 0}, {1328, 1536, 1088, 4352, 0, 0, 0}, {2570, 1911, 4369, 0, 0, 0, 0}, {5144, 4386, 4626, 4176, 0, 0, 0}, {5708, 4403, 20480, 0, 0, 0, 0}, {5692, 8192, 4420, 0, 0, 0, 0}, {4895, 4128, 4437, 5397, 0, 0, 0}, {4454, 5654, 20560, 0, 0, 0, 0}, {1096, 375, 1536, 4096, 0, 0, 0}, {4424, 4144, 4864, 5376, 0, 0, 0}, {5228, 4883, 21845, 0, 0, 0, 0}, {1546, 816, 1088, 4112, 0, 0, 0}, {2560, 4915, 5188, 0, 0, 0, 0}, {4940, 1904, 21760, 0, 0, 0, 0}, {4381, 1333, 5911, 5461, 0, 0, 0}, {4972, 8738, 5140, 0, 0, 0, 0}, {4415, 4608, 4160, 5120, 0, 0, 0}, {192, 256, 0, 0, 0, 0, 0}, {514, 1285, 4369, 0, 0, 0, 0}, {258, 16448, 0, 0, 0, 0, 0}, {1295, 4403, 512, 0, 0, 0, 0}, {520, 4420, 1280, 0, 0, 0, 0}, {12336, 261, 0, 0, 0, 0, 0}, {1290, 4454, 1792, 0, 0, 0, 0}, {263, 16448, 0, 0, 0, 0, 0}, {264, 768, 4160, 1280, 0, 0, 0}, {522, 13107, 1285, 0, 0, 0, 0}, {266, 4192, 768, 1024, 0, 0, 0}, {1295, 1799, 17476, 0, 0, 0, 0}, {4556, 512, 1280, 0, 0, 0, 0}, {269, 514, 1285, 4112, 0, 0, 0}, {1290, 514, 17476, 0, 0, 0, 0}, {271, 4144, 512, 1024, 0, 0, 0}, {544, 1360, 4352, 0, 0, 0, 0}, {3084, 273, 0, 0, 0, 0, 0}, {1370, 4386, 4864, 0, 0, 0, 0}, {275, 16448, 0, 0, 0, 0, 0}, {12336, 276, 0, 0, 0, 0, 0}, {554, 4437, 5120, 0, 0, 0, 0}, {278, 16448, 0, 0, 0, 0, 0}, {1375, 4471, 5632, 0, 0, 0, 0}, {552, 13056, 1360, 0, 0, 0, 0}, {281, 819, 4160, 5397, 0, 0, 0}, {1370, 1904, 17408, 0, 0, 0, 0}, {283, 5156, 5911, 1092, 0, 0, 0}, {284, 544, 1360, 4112, 0, 0, 0}, {7168, 546, 1365, 0, 0, 0, 0}, {286, 4144, 4626, 1092, 0, 0, 0}, {1375, 544, 17408, 0, 0, 0, 0}, {288, 768, 1088, 4352, 0, 0, 0}, {3855, 546, 4369, 0, 0, 0, 0}, {1096, 290, 768, 4096, 0, 0, 0}, {4403, 4883, 20560, 0, 0, 0, 0}, {552, 9472, 4420, 0, 0, 0, 0}, {783, 293, 4437, 5397, 0, 0, 0}, {4940, 4454, 20480, 0, 0, 0, 0}, {5144, 295, 5911, 4176, 0, 0, 0}, {4424, 4192, 768, 5376, 0, 0, 0}, {5180, 5654, 21845, 0, 0, 0, 0}, {298, 768, 4160, 5120, 0, 0, 0}, {552, 13107, 5140, 0, 0, 0, 0}, {5708, 544, 21760, 0, 0, 0, 0}, {4381, 4144, 4626, 5461, 0, 0, 0}, {3840, 546, 5188, 0, 0, 0, 0}, {783, 544, 1088, 4112, 0, 0, 0}, {1520, 512, 4352, 0, 0, 0, 0}, {305, 514, 1028, 4369, 0, 0, 0}, {4386, 514, 20560, 0, 0, 0, 0}, {1036, 307, 512, 4096, 0, 0, 0}, {520, 308, 4420, 1028, 0, 0, 0}, {522, 13312, 4437, 0, 0, 0, 0}, {1036, 310, 1542, 4176, 0, 0, 0}, {520, 4471, 20480, 0, 0, 0, 0}, {520, 5744, 21760, 0, 0, 0, 0}, {1036, 1333, 1542, 5461, 0, 0, 0}, {522, 13056, 5200, 0, 0, 0, 0}, {520, 819, 4160, 1028, 0, 0, 0}, {4364, 4144, 512, 5376, 0, 0, 0}, {5160, 514, 21845, 0, 0, 0, 0}, {318, 514, 1028, 4112, 0, 0, 0}, {4607, 512, 5120, 0, 0, 0, 0}, {512, 16384, 0, 0, 0, 0, 0}, {15, 51, 257, 0, 0, 0, 0}, {16512, 514, 0, 0, 0, 0, 0}, {259, 1280, 4352, 0, 0, 0, 0}, {520, 8772, 1028, 0, 0, 0, 0}, {15, 517, 4176, 1285, 0, 0, 0}, {1036, 1542, 17408, 0, 0, 0, 0}, {15, 4208, 519, 1280, 0, 0, 0}, {520, 24576, 0, 0, 0, 0, 0}, {262, 4437, 1285, 0, 0, 0, 0}, {522, 16384, 0, 0, 0, 0, 0}, {51, 771, 260, 0, 0, 0, 0}, {1036, 512, 17408, 0, 0, 0, 0}, {15, 4128, 514, 1285, 0, 0, 0}, {204, 514, 1028, 0, 0, 0, 0}, {15, 512, 1280, 4096, 0, 0, 0}, {2640, 544, 4112, 0, 0, 0, 0}, {51, 529, 1092, 4369, 0, 0, 0}, {4144, 4626, 20480, 0, 0, 0, 0}, {1100, 51, 531, 4352, 0, 0, 0}, {60, 532, 4176, 5140, 0, 0, 0}, {554, 8789, 5397, 0, 0, 0, 0}, {4172, 4208, 534, 5120, 0, 0, 0}, {5439, 5911, 21760, 0, 0, 0, 0}, {4680, 4192, 20560, 0, 0, 0, 0}, {5401, 51, 5888, 4437, 0, 0, 0}, {554, 12336, 4160, 0, 0, 0, 0}, {539, 51, 4420, 5376, 0, 0, 0}, {4124, 4128, 4608, 5200, 0, 0, 0}, {5960, 546, 21845, 0, 0, 0, 0}, {542, 546, 1092, 4096, 0, 0, 0}, {7967, 544, 5440, 0, 0, 0, 0}, {18432, 544, 0, 0, 0, 0, 0}, {274, 1365, 4369, 0, 0, 0, 0}, {546, 16384, 0, 0, 0, 0, 0}, {15, 771, 272, 0, 0, 0, 0}, {1096, 1632, 17476, 0, 0, 0, 0}, {15, 5413, 5888, 1365, 0, 0, 0}, {554, 9766, 1088, 0, 0, 0, 0}, {15, 551, 4176, 5376, 0, 0, 0}, {552, 16384, 0, 0, 0, 0, 0}, {51, 771, 277, 0, 0, 0, 0}, {554, 24576, 0, 0, 0, 0, 0}, {279, 4420, 5140, 0, 0, 0, 0}, {3084, 544, 1088, 0, 0, 0, 0}, {15, 546, 1365, 4096, 0, 0, 0}, {1096, 546, 17476, 0, 0, 0, 0}, {15, 4128, 4608, 1360, 0, 0, 0}, {4144, 512, 20480, 0, 0, 0, 0}, {1032, 51, 514, 4369, 0, 0, 0}, {240, 514, 4112, 0, 0, 0, 0}, {51, 512, 1024, 4352, 0, 0, 0}, {1032, 1076, 1536, 5188, 0, 0, 0}, {522, 5984, 21845, 0, 0, 0, 0}, {522, 566, 4176, 1024, 0, 0, 0}, {520, 14135, 5440, 0, 0, 0, 0}, {520, 12336, 4160, 0, 0, 0, 0}, {522, 51, 4437, 1024, 0, 0, 0}, {522, 4192, 20560, 0, 0, 0, 0}, {1032, 51, 1536, 4420, 0, 0, 0}, {60, 512, 1024, 4096, 0, 0, 0}, {255, 514, 5397, 0, 0, 0, 0}, {4124, 4128, 514, 5140, 0, 0, 0}, {5439, 512, 21760, 0, 0, 0, 0}, {640, 2560, 8704, 16448, 0, 0, 0}, {15, 51, 768, 321, 1285, 4369, 0}, {642, 2570, 8738, 16962, 0, 0, 0}, {15, 51, 768, 323, 1280, 4352, 0}, {1536, 1092, 0, 0, 0, 0, 0}, {15, 629, 1285, 4112, 0, 0, 0}, {1100, 582, 17408, 0, 0, 0, 0}, {15, 4144, 4679, 1280, 0, 0, 0}, {648, 2560, 8192, 16968, 0, 0, 0}, {15, 51, 768, 326, 1285, 4115, 0}, {650, 2570, 8224, 16448, 0, 0, 0}, {15, 51, 768, 324, 1280, 4096, 0}, {1100, 1536, 17408, 0, 0, 0, 0}, {15, 4192, 4626, 1285, 0, 0, 0}, {1546, 8738, 1092, 0, 0, 0, 0}, {15, 4656, 4160, 1280, 0, 0, 0}, {4608, 4176, 0, 0, 0, 0, 0}, {605, 51, 1028, 4369, 0, 0, 0}, {4208, 594, 20480, 0, 0, 0, 0}, {1036, 51, 1619, 4352, 0, 0, 0}, {600, 612, 1028, 4112, 0, 0, 0}, {5888, 5461, 0, 0, 0, 0, 0}, {4108, 4144, 4694, 5120, 0, 0, 0}, {5503, 599, 21760, 0, 0, 0, 0}, {600, 4128, 20560, 0, 0, 0, 0}, {1036, 51, 4864, 4437, 0, 0, 0}, {602, 4096, 0, 0, 0, 0, 0}, {51, 4883, 4420, 1028, 0, 0, 0}, {1036, 1072, 5632, 5200, 0, 0, 0}, {605, 6007, 21845, 0, 0, 0, 0}, {60, 4626, 4160, 1028, 0, 0, 0}, {607, 8704, 5376, 0, 0, 0, 0}, {672, 2048, 8704, 16992, 0, 0, 0}, {15, 51, 768, 338, 1031, 4369, 0}, {674, 2056, 8738, 16448, 0, 0, 0}, {15, 51, 768, 336, 1024, 4352, 0}, {1032, 612, 17476, 0, 0, 0, 0}, {15, 4144, 1792, 1365, 0, 0, 0}, {614, 1024, 0, 0, 0, 0, 0}, {15, 1799, 1360, 4112, 0, 0, 0}, {680, 2056, 8224, 16448, 0, 0, 0}, {15, 51, 768, 341, 1024, 4096, 0}, {682, 2048, 8192, 17002, 0, 0, 0}, {15, 51, 768, 343, 1031, 4115, 0}, {620, 8704, 1024, 0, 0, 0, 0}, {15, 4626, 4160, 5397, 0, 0, 0}, {1032, 1638, 17476, 0, 0, 0, 0}, {15, 5424, 1792, 1360, 0, 0, 0}, {4208, 4608, 20480, 0, 0, 0, 0}, {1096, 51, 1542, 4369, 0, 0, 0}, {2570, 4642, 4176, 0, 0, 0, 0}, {1548, 51, 1088, 4352, 0, 0, 0}, {4108, 4144, 5632, 5188, 0, 0, 0}, {5983, 629, 21845, 0, 0, 0, 0}, {60, 1542, 1088, 4112, 0, 0, 0}, {631, 5376, 0, 0, 0, 0, 0}, {632, 4096, 0, 0, 0, 0, 0}, {51, 4883, 4437, 5397, 0, 0, 0}, {4698, 4128, 20560, 0, 0, 0, 0}, {5388, 51, 4864, 4420, 0, 0, 0}, {4620, 4656, 4160, 5120, 0, 0, 0}, {5928, 8738, 5461, 0, 0, 0, 0}, {4188, 4192, 4626, 5140, 0, 0, 0}, {5503, 5888, 21760, 0, 0, 0, 0}, {640, 2560, 8704, 16896, 0, 0, 0}, {15, 51, 771, 322, 1285, 4369, 0}, {642, 2570, 8738, 16384, 0, 0, 0}, {15, 51, 771, 320, 1280, 4352, 0}, {1096, 580, 17476, 0, 0, 0, 0}, {15, 4128, 4693, 1285, 0, 0, 0}, {1542, 1088, 0, 0, 0, 0, 0}, {15, 631, 1280, 4096, 0, 0, 0}, {648, 2560, 8192, 16384, 0, 0, 0}, {15, 51, 771, 325, 1285, 4112, 0}, {650, 2570, 8224, 16906, 0, 0, 0}, {15, 51, 771, 327, 1280, 4099, 0}, {1548, 8704, 1088, 0, 0, 0, 0}, {15, 4642, 4176, 1285, 0, 0, 0}, {1096, 1542, 17476, 0, 0, 0, 0}, {15, 4208, 4608, 1280, 0, 0, 0}, {4192, 592, 20560, 0, 0, 0, 0}, {1032, 51, 1621, 4369, 0, 0, 0}, {4626, 4160, 0, 0, 0, 0, 0}, {607, 51, 1024, 4352, 0, 0, 0}, {4124, 4128, 4676, 5140, 0, 0, 0}, {5482, 597, 21845, 0, 0, 0, 0}, {602, 614, 1024, 4096, 0, 0, 0}, {5911, 5440, 0, 0, 0, 0, 0}, {600, 4112, 0, 0, 0, 0, 0}, {51, 4864, 4437, 1024, 0, 0, 0}, {602, 4144, 20480, 0, 0, 0, 0}, {1032, 51, 4883, 4420, 0, 0, 0}, {60, 4608, 4176, 1024, 0, 0, 0}, {605, 8738, 5397, 0, 0, 0, 0}, {1032, 1076, 5654, 5188, 0, 0, 0}, {607, 5984, 21760, 0, 0, 0, 0}, {672, 2048, 8704, 16384, 0, 0, 0}, {15, 51, 771, 337, 1028, 4369, 0}, {674, 2056, 8738, 16930, 0, 0, 0}, {15, 51, 771, 339, 1027, 4352, 0}, {612, 1028, 0, 0, 0, 0, 0}, {15, 1792, 1365, 4096, 0, 0, 0}, {1036, 614, 17408, 0, 0, 0, 0}, {15, 4128, 1799, 1360, 0, 0, 0}, {680, 2056, 8224, 16936, 0, 0, 0}, {15, 51, 771, 342, 1027, 4099, 0}, {682, 2048, 8192, 16384, 0, 0, 0}, {15, 51, 771, 340, 1028, 4112, 0}, {1036, 1632, 17408, 0, 0, 0, 0}, {15, 5413, 1799, 1365, 0, 0, 0}, {622, 8738, 1028, 0, 0, 0, 0}, {15, 4608, 4176, 5376, 0, 0, 0}, {2560, 4656, 4160, 0, 0, 0, 0}, {1546, 51, 1092, 4369, 0, 0, 0}, {4192, 4626, 20560, 0, 0, 0, 0}, {1100, 51, 1536, 4352, 0, 0, 0}, {60, 1536, 1092, 4096, 0, 0, 0}, {629, 5397, 0, 0, 0, 0, 0}, {4124, 4128, 5654, 5200, 0, 0, 0}, {5960, 631, 21760, 0, 0, 0, 0}, {4680, 4144, 20480, 0, 0, 0, 0}, {5401, 51, 4883, 4437, 0, 0, 0}, {634, 4112, 0, 0, 0, 0, 0}, {51, 4864, 4420, 5376, 0, 0, 0}, {4172, 4208, 4608, 5120, 0, 0, 0}, {5482, 5911, 21845, 0, 0, 0, 0}, {4638, 4642, 4176, 5140, 0, 0, 0}, {5951, 8704, 5440, 0, 0, 0, 0}, {16576, 512, 0, 0, 0, 0, 0}, {258, 1285, 4369, 0, 0, 0, 0}, {514, 16448, 0, 0, 0, 0, 0}, {15, 51, 256, 0, 0, 0, 0}, {1032, 1536, 17476, 0, 0, 0, 0}, {15, 4192, 517, 1285, 0, 0, 0}, {522, 8806, 1024, 0, 0, 0, 0}, {15, 519, 4160, 1280, 0, 0, 0}, {520, 16448, 0, 0, 0, 0, 0}, {51, 768, 261, 0, 0, 0, 0}, {522, 24672, 0, 0, 0, 0, 0}, {263, 4420, 1280, 0, 0, 0, 0}, {204, 512, 1024, 0, 0, 0, 0}, {15, 514, 1285, 4112, 0, 0, 0}, {1032, 514, 17476, 0, 0, 0, 0}, {15, 4144, 512, 1280, 0, 0, 0}, {4128, 4608, 20560, 0, 0, 0, 0}, {1096, 51, 529, 4369, 0, 0, 0}, {2650, 546, 4096, 0, 0, 0, 0}, {51, 531, 1088, 4352, 0, 0, 0}, {4188, 4192, 532, 5140, 0, 0, 0}, {5418, 5888, 21845, 0, 0, 0, 0}, {60, 534, 4160, 5120, 0, 0, 0}, {552, 8823, 5376, 0, 0, 0, 0}, {552, 12288, 4176, 0, 0, 0, 0}, {537, 51, 4437, 5397, 0, 0, 0}, {4698, 4208, 20480, 0, 0, 0, 0}, {5388, 51, 5911, 4420, 0, 0, 0}, {540, 544, 1088, 4112, 0, 0, 0}, {7936, 546, 5461, 0, 0, 0, 0}, {4108, 4144, 4626, 5188, 0, 0, 0}, {5983, 544, 21760, 0, 0, 0, 0}, {544, 16448, 0, 0, 0, 0, 0}, {15, 768, 273, 0, 0, 0, 0}, {18504, 546, 0, 0, 0, 0, 0}, {275, 1360, 4352, 0, 0, 0, 0}, {552, 9728, 1092, 0, 0, 0, 0}, {15, 549, 4160, 5397, 0, 0, 0}, {1100, 1638, 17408, 0, 0, 0, 0}, {15, 5424, 5911, 1360, 0, 0, 0}, {552, 24672, 0, 0, 0, 0, 0}, {278, 4437, 5120, 0, 0, 0, 0}, {554, 16448, 0, 0, 0, 0, 0}, {51, 768, 276, 0, 0, 0, 0}, {1100, 544, 17408, 0, 0, 0, 0}, {15, 4144, 4626, 1365, 0, 0, 0}, {3072, 546, 1092, 0, 0, 0, 0}, {15, 544, 1360, 4112, 0, 0, 0}, {240, 512, 4096, 0, 0, 0, 0}, {51, 514, 1028, 4369, 0, 0, 0}, {4128, 514, 20560, 0, 0, 0, 0}, {1036, 51, 512, 4352, 0, 0, 0}, {520, 564, 4160, 1028, 0, 0, 0}, {522, 14080, 5461, 0, 0, 0, 0}, {1036, 1072, 1542, 5200, 0, 0, 0}, {520, 6007, 21760, 0, 0, 0, 0}, {520, 4208, 20480, 0, 0, 0, 0}, {1036, 51, 1542, 4437, 0, 0, 0}, {522, 12288, 4176, 0, 0, 0, 0}, {520, 51, 4420, 1028, 0, 0, 0}, {4108, 4144, 512, 5120, 0, 0, 0}, {5418, 514, 21845, 0, 0, 0, 0}, {60, 514, 1028, 4112, 0, 0, 0}, {255, 512, 5376, 0, 0, 0, 0}, {3840, 13056, 0, 0, 0, 0, 0}, {2, 64, 257, 0, 0, 0, 0}, {2, 1280, 4352, 0, 0, 0, 0}, {192, 771, 0, 0, 0, 0, 0}, {8, 772, 64, 1028, 0, 0, 0}, {10, 13141, 1285, 0, 0, 0, 0}, {10, 96, 774, 1280, 0, 0, 0}, {8, 1799, 17408, 0, 0, 0, 0}, {8, 1792, 17408, 0, 0, 0, 0}, {10, 96, 771, 1285, 0, 0, 0}, {10, 13056, 1280, 0, 0, 0, 0}, {8, 771, 64, 1028, 0, 0, 0}, {780, 12288, 0, 0, 0, 0, 0}, {2, 4437, 1285, 0, 0, 0, 0}, {2, 260, 4096, 0, 0, 0, 0}, {13311, 3855, 0, 0, 0, 0, 0}, {32, 784, 64, 4112, 0, 0, 0}, {3925, 34, 4369, 0, 0, 0, 0}, {72, 34, 786, 4352, 0, 0, 0}, {32, 4883, 20480, 0, 0, 0, 0}, {40, 13124, 5140, 0, 0, 0, 0}, {42, 789, 64, 5397, 0, 0, 0}, {42, 5654, 21760, 0, 0, 0, 0}, {72, 96, 791, 5120, 0, 0, 0}, {5144, 5168, 5888, 5200, 0, 0, 0}, {5708, 5734, 21845, 0, 0, 0, 0}, {794, 816, 64, 5376, 0, 0, 0}, {40, 13107, 5188, 0, 0, 0, 0}, {4940, 32, 20560, 0, 0, 0, 0}, {4381, 34, 4608, 4437, 0, 0, 0}, {7710, 34, 4420, 0, 0, 0, 0}, {799, 32, 64, 4096, 0, 0, 0}, {32, 4864, 20480, 0, 0, 0, 0}, {72, 34, 771, 4369, 0, 0, 0}, {3840, 34, 4352, 0, 0, 0, 0}, {32, 771, 64, 4112, 0, 0, 0}, {5132, 5156, 5888, 5188, 0, 0, 0}, {5722, 5744, 21845, 0, 0, 0, 0}, {780, 806, 64, 5376, 0, 0, 0}, {40, 10023, 5200, 0, 0, 0, 0}, {40, 13056, 5120, 0, 0, 0, 0}, {42, 771, 64, 5397, 0, 0, 0}, {42, 5632, 21760, 0, 0, 0, 0}, {72, 96, 771, 5140, 0, 0, 0}, {780, 32, 64, 4096, 0, 0, 0}, {3855, 34, 4437, 0, 0, 0, 0}, {4364, 34, 4608, 4420, 0, 0, 0}, {4959, 32, 20560, 0, 0, 0, 0}, {3072, 816, 0, 0, 0, 0, 0}, {2, 1365, 4369, 0, 0, 0, 0}, {2, 1024, 272, 0, 0, 0, 0}, {4095, 13107, 0, 0, 0, 0, 0}, {8, 1904, 17476, 0, 0, 0, 0}, {10, 1333, 1536, 1365, 0, 0, 0}, {10, 13878, 1360, 0, 0, 0, 0}, {8, 823, 64, 1024, 0, 0, 0}, {8, 816, 64, 1024, 0, 0, 0}, {10, 13107, 1365, 0, 0, 0, 0}, {10, 1328, 1536, 1360, 0, 0, 0}, {8, 1911, 17476, 0, 0, 0, 0}, {13260, 15420, 0, 0, 0, 0, 0}, {2, 277, 4096, 0, 0, 0, 0}, {2, 4420, 5140, 0, 0, 0, 0}, {831, 12288, 0, 0, 0, 0, 0}, {768, 64, 0, 0, 0, 0, 0}, {10, 34, 1285, 4369, 0, 0, 0}, {10, 34, 768, 66, 1280, 4352, 0}, {128, 3855, 13107, 17219, 0, 0, 0}, {136, 3840, 13124, 17476, 0, 0, 0}, {10, 32, 773, 64, 1285, 4112, 0}, {10, 32, 4934, 1280, 0, 0, 0}, {72, 839, 17408, 0, 0, 0, 0}, {72, 768, 17408, 0, 0, 0, 0}, {10, 32, 4883, 1285, 0, 0, 0}, {10, 32, 768, 64, 1280, 4096, 0}, {136, 3855, 13107, 17476, 0, 0, 0}, {128, 3840, 13132, 17228, 0, 0, 0}, {10, 34, 773, 66, 1285, 4375, 0}, {10, 34, 4420, 1280, 0, 0, 0}, {783, 12336, 64, 0, 0, 0, 0}, {160, 3920, 13056, 20560, 0, 0, 0}, {8, 34, 785, 64, 1028, 4369, 0}, {8, 34, 1874, 4352, 0, 0, 0}, {96, 851, 20480, 0, 0, 0, 0}, {8, 32, 788, 64, 1028, 4112, 0}, {170, 3925, 13141, 21845, 0, 0, 0}, {106, 854, 21760, 0, 0, 0, 0}, {8, 32, 4951, 5120, 0, 0, 0}, {8, 32, 4864, 5200, 0, 0, 0}, {857, 819, 21845, 0, 0, 0, 0}, {170, 3930, 13056, 21760, 0, 0, 0}, {8, 32, 787, 64, 1028, 4096, 0}, {860, 96, 20560, 0, 0, 0, 0}, {8, 34, 5632, 4437, 0, 0, 0}, {8, 34, 790, 64, 1028, 4356, 0}, {160, 3935, 13151, 20480, 0, 0, 0}, {96, 768, 20480, 0, 0, 0, 0}, {8, 34, 1799, 4369, 0, 0, 0}, {8, 34, 768, 64, 1024, 4352, 0}, {160, 3855, 13107, 20560, 0, 0, 0}, {8, 32, 1792, 5188, 0, 0, 0}, {783, 869, 21845, 0, 0, 0, 0}, {170, 3840, 13158, 21760, 0, 0, 0}, {8, 32, 775, 64, 1024, 4112, 0}, {8, 32, 768, 64, 1024, 4096, 0}, {170, 3855, 13107, 21845, 0, 0, 0}, {106, 768, 21760, 0, 0, 0, 0}, {8, 32, 4883, 5140, 0, 0, 0}, {160, 3840, 13164, 20480, 0, 0, 0}, {8, 34, 775, 64, 1024, 4373, 0}, {8, 34, 1792, 4420, 0, 0, 0}, {783, 96, 20560, 0, 0, 0, 0}, {128, 3952, 13056, 17264, 0, 0, 0}, {10, 34, 785, 66, 1303, 4369, 0}, {10, 34, 1360, 4352, 0, 0, 0}, {3084, 819, 64, 0, 0, 0, 0}, {72, 884, 17476, 0, 0, 0, 0}, {10, 32, 5632, 1365, 0, 0, 0}, {10, 32, 790, 64, 1296, 4112, 0}, {136, 3959, 13175, 17408, 0, 0, 0}, {136, 3960, 13056, 17408, 0, 0, 0}, {10, 32, 787, 64, 1301, 4096, 0}, {10, 32, 4864, 1360, 0, 0, 0}, {72, 819, 17476, 0, 0, 0, 0}, {828, 12336, 64, 0, 0, 0, 0}, {10, 34, 4437, 5120, 0, 0, 0}, {10, 34, 788, 66, 1298, 4358, 0}, {128, 3967, 13183, 17279, 0, 0, 0}, {128, 3840, 13056, 17152, 0, 0, 0}, {10, 34, 771, 66, 1285, 4369, 0}, {10, 34, 1280, 4352, 0, 0, 0}, {771, 64, 0, 0, 0, 0, 0}, {72, 836, 17476, 0, 0, 0, 0}, {10, 32, 4949, 1285, 0, 0, 0}, {10, 32, 774, 64, 1280, 4096, 0}, {136, 3855, 13175, 17408, 0, 0, 0}, {136, 3840, 13056, 17408, 0, 0, 0}, {10, 32, 771, 64, 1285, 4112, 0}, {10, 32, 4864, 1280, 0, 0, 0}, {72, 771, 17476, 0, 0, 0, 0}, {780, 12288, 64, 0, 0, 0, 0}, {10, 34, 4437, 1285, 0, 0, 0}, {10, 34, 774, 66, 1280, 4358, 0}, {128, 3855, 13183, 17167, 0, 0, 0}, {96, 848, 20560, 0, 0, 0, 0}, {8, 34, 1877, 4369, 0, 0, 0}, {8, 34, 786, 64, 1024, 4352, 0}, {160, 3935, 13107, 20480, 0, 0, 0}, {8, 32, 4932, 5140, 0, 0, 0}, {106, 853, 21845, 0, 0, 0, 0}, {170, 3930, 13158, 21760, 0, 0, 0}, {8, 32, 791, 64, 1024, 4096, 0}, {8, 32, 784, 64, 1024, 4112, 0}, {170, 3925, 13107, 21845, 0, 0, 0}, {858, 816, 21760, 0, 0, 0, 0}, {8, 32, 4883, 5188, 0, 0, 0}, {160, 3920, 13164, 20560, 0, 0, 0}, {8, 34, 789, 64, 1024, 4373, 0}, {8, 34, 5654, 4420, 0, 0, 0}, {863, 96, 20480, 0, 0, 0, 0}, {160, 3840, 13056, 20480, 0, 0, 0}, {8, 34, 771, 64, 1028, 4369, 0}, {8, 34, 1792, 4352, 0, 0, 0}, {96, 771, 20560, 0, 0, 0, 0}, {8, 32, 772, 64, 1028, 4096, 0}, {170, 3855, 13141, 21845, 0, 0, 0}, {780, 870, 21760, 0, 0, 0, 0}, {8, 32, 1799, 5200, 0, 0, 0}, {8, 32, 4864, 5120, 0, 0, 0}, {106, 771, 21845, 0, 0, 0, 0}, {170, 3840, 13056, 21760, 0, 0, 0}, {8, 32, 771, 64, 1028, 4112, 0}, {780, 96, 20480, 0, 0, 0, 0}, {8, 34, 1799, 4437, 0, 0, 0}, {8, 34, 772, 64, 1028, 4356, 0}, {160, 3855, 13151, 20560, 0, 0, 0}, {3072, 816, 64, 0, 0, 0, 0}, {10, 34, 1365, 4369, 0, 0, 0}, {10, 34, 786, 66, 1298, 4352, 0}, {128, 3967, 13107, 17203, 0, 0, 0}, {136, 3960, 13124, 17476, 0, 0, 0}, {10, 32, 789, 64, 1301, 4096, 0}, {10, 32, 5654, 1360, 0, 0, 0}, {72, 887, 17408, 0, 0, 0, 0}, {72, 816, 17408, 0, 0, 0, 0}, {10, 32, 4883, 1365, 0, 0, 0}, {10, 32, 784, 64, 1296, 4112, 0}, {136, 3959, 13107, 17476, 0, 0, 0}, {128, 3952, 13132, 17212, 0, 0, 0}, {10, 34, 791, 66, 1303, 4375, 0}, {10, 34, 4420, 5140, 0, 0, 0}, {831, 12288, 64, 0, 0, 0, 0}, {192, 768, 0, 0, 0, 0, 0}, {2, 1285, 4369, 0, 0, 0, 0}, {2, 64, 256, 0, 0, 0, 0}, {3855, 13107, 0, 0, 0, 0, 0}, {8, 1792, 17476, 0, 0, 0, 0}, {10, 96, 773, 1285, 0, 0, 0}, {10, 13158, 1280, 0, 0, 0, 0}, {8, 775, 64, 1024, 0, 0, 0}, {8, 768, 64, 1024, 0, 0, 0}, {10, 13107, 1285, 0, 0, 0, 0}, {10, 96, 768, 1280, 0, 0, 0}, {8, 1799, 17476, 0, 0, 0, 0}, {13260, 3840, 0, 0, 0, 0, 0}, {2, 261, 4112, 0, 0, 0, 0}, {2, 4420, 1280, 0, 0, 0, 0}, {783, 12336, 0, 0, 0, 0, 0}, {32, 4864, 20560, 0, 0, 0, 0}, {72, 34, 785, 4369, 0, 0, 0}, {3930, 34, 4352, 0, 0, 0, 0}, {32, 787, 64, 4096, 0, 0, 0}, {72, 96, 788, 5140, 0, 0, 0}, {42, 5632, 21845, 0, 0, 0, 0}, {42, 790, 64, 5376, 0, 0, 0}, {40, 13175, 5120, 0, 0, 0, 0}, {40, 13056, 5200, 0, 0, 0, 0}, {793, 819, 64, 5397, 0, 0, 0}, {5722, 5744, 21760, 0, 0, 0, 0}, {5132, 5156, 5911, 5188, 0, 0, 0}, {796, 32, 64, 4112, 0, 0, 0}, {7680, 34, 4437, 0, 0, 0, 0}, {4364, 34, 4626, 4420, 0, 0, 0}, {4959, 32, 20480, 0, 0, 0, 0}, {32, 768, 64, 4096, 0, 0, 0}, {3855, 34, 4369, 0, 0, 0, 0}, {72, 34, 768, 4352, 0, 0, 0}, {32, 4883, 20560, 0, 0, 0, 0}, {40, 9984, 5188, 0, 0, 0, 0}, {783, 805, 64, 5397, 0, 0, 0}, {5708, 5734, 21760, 0, 0, 0, 0}, {5144, 5168, 5911, 5200, 0, 0, 0}, {72, 96, 768, 5120, 0, 0, 0}, {42, 5654, 21845, 0, 0, 0, 0}, {42, 768, 64, 5376, 0, 0, 0}, {40, 13107, 5140, 0, 0, 0, 0}, {4940, 32, 20480, 0, 0, 0, 0}, {4381, 34, 4626, 4437, 0, 0, 0}, {3840, 34, 4420, 0, 0, 0, 0}, {783, 32, 64, 4112, 0, 0, 0}, {4080, 13056, 0, 0, 0, 0, 0}, {2, 1028, 273, 0, 0, 0, 0}, {2, 1360, 4352, 0, 0, 0, 0}, {3084, 819, 0, 0, 0, 0, 0}, {8, 820, 64, 1028, 0, 0, 0}, {10, 13824, 1365, 0, 0, 0, 0}, {10, 1328, 1542, 1360, 0, 0, 0}, {8, 1911, 17408, 0, 0, 0, 0}, {8, 1904, 17408, 0, 0, 0, 0}, {10, 1333, 1542, 1365, 0, 0, 0}, {10, 13056, 1360, 0, 0, 0, 0}, {8, 819, 64, 1028, 0, 0, 0}, {828, 12336, 0, 0, 0, 0, 0}, {2, 4437, 5120, 0, 0, 0, 0}, {2, 276, 4112, 0, 0, 0, 0}, {13311, 15360, 0, 0, 0, 0, 0}, {2048, 17408, 0, 0, 0, 0, 0}, {48, 5, 257, 0, 0, 0, 0}, {10, 514, 17442, 0, 0, 0, 0}, {15, 48, 771, 1027, 0, 0, 0}, {192, 1028, 0, 0, 0, 0, 0}, {512, 5, 4352, 0, 0, 0, 0}, {10, 96, 512, 1030, 0, 0, 0}, {15, 1799, 17527, 0, 0, 0, 0}, {17544, 2056, 0, 0, 0, 0, 0}, {259, 5, 4096, 0, 0, 0, 0}, {10, 512, 17408, 0, 0, 0, 0}, {15, 48, 771, 1028, 0, 0, 0}, {1036, 16384, 0, 0, 0, 0, 0}, {4386, 514, 5, 0, 0, 0, 0}, {10, 96, 514, 1028, 0, 0, 0}, {15, 1792, 17408, 0, 0, 0, 0}, {48, 80, 1040, 4112, 0, 0, 0}, {2082, 85, 4369, 0, 0, 0, 0}, {90, 48, 4626, 1042, 0, 0, 0}, {95, 4883, 17459, 0, 0, 0, 0}, {8192, 80, 5140, 0, 0, 0, 0}, {63, 85, 1045, 4352, 0, 0, 0}, {90, 5654, 17510, 0, 0, 0, 0}, {95, 96, 4864, 1047, 0, 0, 0}, {1048, 48, 80, 4096, 0, 0, 0}, {6425, 4403, 85, 0, 0, 0, 0}, {1050, 48, 4608, 1088, 0, 0, 0}, {95, 4915, 17476, 0, 0, 0, 0}, {5180, 8224, 80, 0, 0, 0, 0}, {4381, 4386, 85, 5376, 0, 0, 0}, {90, 5734, 17476, 0, 0, 0, 0}, {1055, 1056, 5888, 1088, 0, 0, 0}, {160, 2080, 8224, 17408, 0, 0, 0}, {15, 48, 771, 85, 1041, 4369, 0}, {170, 2082, 8738, 17442, 0, 0, 0}, {15, 48, 771, 80, 1043, 4112, 0}, {3084, 1060, 1092, 0, 0, 0, 0}, {15, 1829, 85, 4352, 0, 0, 0}, {1100, 1062, 16448, 0, 0, 0, 0}, {15, 5159, 4864, 80, 0, 0, 0}, {160, 2088, 8192, 17448, 0, 0, 0}, {15, 48, 771, 85, 1046, 4355, 0}, {170, 2090, 8704, 17408, 0, 0, 0}, {15, 48, 771, 80, 1044, 4096, 0}, {1100, 96, 16448, 0, 0, 0, 0}, {15, 4386, 5632, 85, 0, 0, 0}, {1070, 8738, 1092, 0, 0, 0, 0}, {15, 4896, 80, 5120, 0, 0, 0}, {48, 1024, 0, 0, 0, 0, 0}, {10, 514, 85, 4369, 0, 0, 0}, {10, 48, 514, 80, 1026, 4112, 0}, {255, 2048, 13107, 17459, 0, 0, 0}, {240, 2056, 13364, 17476, 0, 0, 0}, {10, 53, 512, 85, 1024, 4352, 0}, {10, 5174, 512, 80, 0, 0, 0}, {1032, 1079, 16448, 0, 0, 0, 0}, {1032, 48, 16448, 0, 0, 0, 0}, {10, 4403, 512, 85, 0, 0, 0}, {10, 48, 512, 80, 1024, 4096, 0}, {255, 2056, 13107, 17476, 0, 0, 0}, {240, 2048, 13372, 17468, 0, 0, 0}, {10, 53, 514, 85, 1026, 4375, 0}, {10, 514, 80, 5140, 0, 0, 0}, {63, 13056, 1024, 0, 0, 0, 0}, {3072, 1088, 0, 0, 0, 0, 0}, {546, 5, 4369, 0, 0, 0, 0}, {10, 1058, 1536, 1090, 0, 0, 0}, {15, 1904, 17219, 0, 0, 0, 0}, {2184, 17476, 0, 0, 0, 0, 0}, {768, 5, 272, 0, 0, 0, 0}, {10, 544, 17990, 0, 0, 0, 0}, {15, 48, 768, 1095, 0, 0, 0}, {1096, 16384, 0, 0, 0, 0, 0}, {4403, 4883, 5, 0, 0, 0, 0}, {10, 1056, 1536, 1088, 0, 0, 0}, {15, 1911, 17476, 0, 0, 0, 0}, {17612, 19532, 0, 0, 0, 0, 0}, {274, 5, 4096, 0, 0, 0, 0}, {10, 546, 17476, 0, 0, 0, 0}, {15, 48, 768, 1088, 0, 0, 0}, {8192, 80, 5120, 0, 0, 0, 0}, {63, 85, 1028, 4369, 0, 0, 0}, {90, 5744, 21074, 0, 0, 0, 0}, {1036, 1075, 5888, 1107, 0, 0, 0}, {48, 80, 1028, 4112, 0, 0, 0}, {2048, 85, 4352, 0, 0, 0, 0}, {1036, 48, 4608, 1110, 0, 0, 0}, {95, 4896, 22359, 0, 0, 0, 0}, {5160, 8224, 80, 0, 0, 0, 0}, {4364, 4403, 85, 5376, 0, 0, 0}, {90, 5632, 17408, 0, 0, 0, 0}, {95, 96, 4883, 1028, 0, 0, 0}, {1036, 48, 80, 4096, 0, 0, 0}, {2056, 4386, 85, 0, 0, 0, 0}, {90, 48, 4626, 1028, 0, 0, 0}, {95, 4864, 17408, 0, 0, 0, 0}, {96, 1024, 0, 0, 0, 0, 0}, {15, 1799, 85, 4369, 0, 0, 0}, {1032, 1122, 16448, 0, 0, 0, 0}, {15, 5171, 1792, 80, 0, 0, 0}, {160, 2056, 8224, 17476, 0, 0, 0}, {15, 48, 768, 85, 1024, 4352, 0}, {170, 2048, 8704, 17510, 0, 0, 0}, {15, 48, 768, 80, 1031, 4112, 0}, {1032, 96, 16448, 0, 0, 0, 0}, {15, 4403, 1792, 85, 0, 0, 0}, {106, 8704, 1024, 0, 0, 0, 0}, {15, 4883, 80, 5140, 0, 0, 0}, {160, 2048, 8192, 17516, 0, 0, 0}, {15, 48, 768, 85, 1031, 4370, 0}, {170, 2056, 8738, 17476, 0, 0, 0}, {15, 48, 768, 80, 1024, 4096, 0}, {240, 2160, 13424, 17408, 0, 0, 0}, {10, 53, 535, 85, 1041, 4369, 0}, {10, 5154, 5632, 80, 0, 0, 0}, {1100, 1139, 16448, 0, 0, 0, 0}, {3084, 48, 1092, 0, 0, 0, 0}, {10, 544, 85, 4352, 0, 0, 0}, {10, 48, 528, 80, 1046, 4112, 0}, {255, 2167, 13056, 17527, 0, 0, 0}, {240, 2168, 13432, 17528, 0, 0, 0}, {10, 53, 533, 85, 1043, 4358, 0}, {10, 544, 80, 5120, 0, 0, 0}, {63, 13107, 1092, 0, 0, 0, 0}, {1100, 48, 16448, 0, 0, 0, 0}, {10, 4386, 4864, 85, 0, 0, 0}, {10, 48, 530, 80, 1044, 4096, 0}, {255, 2175, 13056, 17408, 0, 0, 0}, {2176, 17408, 0, 0, 0, 0, 0}, {771, 5, 273, 0, 0, 0, 0}, {10, 546, 17920, 0, 0, 0, 0}, {15, 48, 771, 1091, 0, 0, 0}, {3084, 1092, 0, 0, 0, 0, 0}, {544, 5, 4352, 0, 0, 0, 0}, {10, 1062, 1542, 1094, 0, 0, 0}, {15, 1911, 17152, 0, 0, 0, 0}, {17544, 19456, 0, 0, 0, 0, 0}, {275, 5, 4112, 0, 0, 0, 0}, {10, 544, 17408, 0, 0, 0, 0}, {15, 48, 771, 1092, 0, 0, 0}, {1100, 16448, 0, 0, 0, 0, 0}, {4386, 4864, 5, 0, 0, 0, 0}, {10, 1060, 1542, 1092, 0, 0, 0}, {15, 1904, 17408, 0, 0, 0, 0}, {48, 80, 1024, 4096, 0, 0, 0}, {2056, 85, 4369, 0, 0, 0, 0}, {1032, 48, 4626, 1106, 0, 0, 0}, {95, 4915, 22272, 0, 0, 0, 0}, {8224, 80, 5140, 0, 0, 0, 0}, {63, 85, 1024, 4352, 0, 0, 0}, {90, 5734, 20992, 0, 0, 0, 0}, {1032, 1079, 5911, 1111, 0, 0, 0}, {1032, 48, 80, 4112, 0, 0, 0}, {2048, 4403, 85, 0, 0, 0, 0}, {90, 48, 4608, 1024, 0, 0, 0}, {95, 4883, 17476, 0, 0, 0, 0}, {5180, 8192, 80, 0, 0, 0, 0}, {4381, 4386, 85, 5397, 0, 0, 0}, {90, 5654, 17476, 0, 0, 0, 0}, {95, 96, 4864, 1024, 0, 0, 0}, {160, 2048, 8192, 17408, 0, 0, 0}, {15, 48, 771, 85, 1028, 4369, 0}, {170, 2056, 8738, 17442, 0, 0, 0}, {15, 48, 771, 80, 1027, 4096, 0}, {96, 1028, 0, 0, 0, 0, 0}, {15, 1792, 85, 4352, 0, 0, 0}, {1036, 1126, 16384, 0, 0, 0, 0}, {15, 5159, 1799, 80, 0, 0, 0}, {160, 2056, 8224, 17448, 0, 0, 0}, {15, 48, 771, 85, 1027, 4355, 0}, {170, 2048, 8704, 17408, 0, 0, 0}, {15, 48, 771, 80, 1028, 4112, 0}, {1036, 96, 16384, 0, 0, 0, 0}, {15, 4386, 1799, 85, 0, 0, 0}, {106, 8738, 1028, 0, 0, 0, 0}, {15, 4864, 80, 5120, 0, 0, 0}, {3072, 48, 1088, 0, 0, 0, 0}, {10, 546, 85, 4369, 0, 0, 0}, {10, 48, 530, 80, 1042, 4096, 0}, {255, 2175, 13107, 17459, 0, 0, 0}, {240, 2168, 13380, 17476, 0, 0, 0}, {10, 53, 533, 85, 1045, 4352, 0}, {10, 5174, 5654, 80, 0, 0, 0}, {1096, 1143, 16384, 0, 0, 0, 0}, {1096, 48, 16384, 0, 0, 0, 0}, {10, 4403, 4883, 85, 0, 0, 0}, {10, 48, 528, 80, 1040, 4112, 0}, {255, 2167, 13107, 17476, 0, 0, 0}, {240, 2160, 13388, 17468, 0, 0, 0}, {10, 53, 535, 85, 1047, 4375, 0}, {10, 546, 80, 5140, 0, 0, 0}, {63, 13056, 1088, 0, 0, 0, 0}, {192, 1024, 0, 0, 0, 0, 0}, {514, 5, 4369, 0, 0, 0, 0}, {10, 96, 514, 1026, 0, 0, 0}, {15, 1792, 17459, 0, 0, 0, 0}, {2056, 17476, 0, 0, 0, 0, 0}, {48, 5, 256, 0, 0, 0, 0}, {10, 512, 17510, 0, 0, 0, 0}, {15, 48, 768, 1031, 0, 0, 0}, {1032, 16448, 0, 0, 0, 0, 0}, {4403, 512, 5, 0, 0, 0, 0}, {10, 96, 512, 1024, 0, 0, 0}, {15, 1799, 17476, 0, 0, 0, 0}, {17612, 2048, 0, 0, 0, 0, 0}, {258, 5, 4112, 0, 0, 0, 0}, {10, 514, 17476, 0, 0, 0, 0}, {15, 48, 768, 1024, 0, 0, 0}, {8224, 80, 5120, 0, 0, 0, 0}, {63, 85, 1041, 4369, 0, 0, 0}, {90, 5632, 17442, 0, 0, 0, 0}, {95, 96, 4883, 1043, 0, 0, 0}, {48, 80, 1044, 4096, 0, 0, 0}, {2090, 85, 4352, 0, 0, 0, 0}, {90, 48, 4608, 1046, 0, 0, 0}, {95, 4864, 17527, 0, 0, 0, 0}, {5160, 8192, 80, 0, 0, 0, 0}, {4364, 4403, 85, 5397, 0, 0, 0}, {90, 5744, 17408, 0, 0, 0, 0}, {1051, 1060, 5911, 1092, 0, 0, 0}, {1052, 48, 80, 4112, 0, 0, 0}, {6400, 4386, 85, 0, 0, 0, 0}, {1054, 48, 4626, 1092, 0, 0, 0}, {95, 4896, 17408, 0, 0, 0, 0}, {3072, 1056, 1088, 0, 0, 0, 0}, {15, 1826, 85, 4369, 0, 0, 0}, {1096, 1058, 16384, 0, 0, 0, 0}, {15, 5171, 4883, 80, 0, 0, 0}, {160, 2088, 8192, 17476, 0, 0, 0}, {15, 48, 768, 85, 1045, 4352, 0}, {170, 2090, 8704, 17510, 0, 0, 0}, {15, 48, 768, 80, 1047, 4096, 0}, {1096, 96, 16384, 0, 0, 0, 0}, {15, 4403, 5654, 85, 0, 0, 0}, {1066, 8704, 1088, 0, 0, 0, 0}, {15, 4915, 80, 5140, 0, 0, 0}, {160, 2080, 8224, 17516, 0, 0, 0}, {15, 48, 768, 85, 1042, 4370, 0}, {170, 2082, 8738, 17476, 0, 0, 0}, {15, 48, 768, 80, 1040, 4112, 0}, {240, 2048, 13312, 17408, 0, 0, 0}, {10, 53, 514, 85, 1028, 4369, 0}, {10, 5154, 514, 80, 0, 0, 0}, {1036, 1075, 16384, 0, 0, 0, 0}, {48, 1028, 0, 0, 0, 0, 0}, {10, 512, 85, 4352, 0, 0, 0}, {10, 48, 512, 80, 1030, 4096, 0}, {255, 2056, 13056, 17527, 0, 0, 0}, {240, 2056, 13320, 17528, 0, 0, 0}, {10, 53, 512, 85, 1030, 4358, 0}, {10, 512, 80, 5120, 0, 0, 0}, {63, 13107, 1028, 0, 0, 0, 0}, {1036, 48, 16384, 0, 0, 0, 0}, {10, 4386, 514, 85, 0, 0, 0}, {10, 48, 514, 80, 1028, 4112, 0}, {255, 2048, 13056, 17408, 0, 0, 0}, {12288, 1280, 0, 0, 0, 0, 0}, {8, 68, 257, 0, 0, 0, 0}, {8, 4128, 514, 1282, 0, 0, 0}, {1295, 771, 21811, 0, 0, 0, 0}, {512, 260, 4352, 0, 0, 0, 0}, {12528, 1285, 0, 0, 0, 0, 0}, {1290, 1542, 21862, 0, 0, 0, 0}, {8, 4208, 512, 1287, 0, 0, 0}, {8, 512, 1280, 4096, 0, 0, 0}, {204, 771, 1285, 0, 0, 0, 0}, {1290, 12288, 0, 0, 0, 0, 0}, {259, 68, 1028, 0, 0, 0, 0}, {780, 13056, 1280, 0, 0, 0, 0}, {8, 514, 4176, 1285, 0, 0, 0}, {262, 68, 1028, 0, 0, 0, 0}, {1295, 24576, 0, 0, 0, 0, 0}, {2592, 1360, 4112, 0, 0, 0, 0}, {819, 68, 1297, 4369, 0, 0, 0}, {1370, 4626, 21794, 0, 0, 0, 0}, {76, 4128, 4883, 1299, 0, 0, 0}, {828, 68, 1300, 4352, 0, 0, 0}, {8192, 4160, 5397, 0, 0, 0, 0}, {76, 4208, 4864, 1302, 0, 0, 0}, {1375, 5911, 21879, 0, 0, 0, 0}, {6168, 4656, 1360, 0, 0, 0, 0}, {1305, 819, 1365, 4096, 0, 0, 0}, {1370, 4144, 16448, 0, 0, 0, 0}, {1307, 4403, 4608, 68, 0, 0, 0}, {4124, 4896, 4176, 5376, 0, 0, 0}, {5951, 8738, 1365, 0, 0, 0, 0}, {1310, 4386, 5888, 68, 0, 0, 0}, {1375, 4192, 16448, 0, 0, 0, 0}, {4128, 5376, 0, 0, 0, 0, 0}, {1325, 771, 68, 4369, 0, 0, 0}, {1314, 5888, 20480, 0, 0, 0, 0}, {76, 1379, 771, 4112, 0, 0, 0}, {780, 1572, 68, 4352, 0, 0, 0}, {3855, 1317, 5461, 0, 0, 0, 0}, {4108, 5414, 4864, 4160, 0, 0, 0}, {5983, 1319, 20560, 0, 0, 0, 0}, {1320, 4608, 21760, 0, 0, 0, 0}, {76, 4144, 771, 5397, 0, 0, 0}, {1322, 4096, 0, 0, 0, 0, 0}, {4403, 771, 68, 5140, 0, 0, 0}, {5388, 1312, 5632, 5440, 0, 0, 0}, {4698, 6007, 21845, 0, 0, 0, 0}, {780, 4386, 68, 5120, 0, 0, 0}, {1327, 8224, 4176, 0, 0, 0, 0}, {1520, 2560, 12336, 21760, 0, 0, 0}, {8, 305, 514, 68, 1024, 4369, 0}, {8, 1394, 514, 4112, 0, 0, 0}, {1331, 1536, 20480, 0, 0, 0, 0}, {8, 308, 512, 68, 1024, 4352, 0}, {1525, 2570, 13621, 21845, 0, 0, 0}, {1546, 1334, 20560, 0, 0, 0, 0}, {8, 5431, 512, 4160, 0, 0, 0}, {8, 4144, 512, 5440, 0, 0, 0}, {1546, 819, 21845, 0, 0, 0, 0}, {1530, 2570, 12336, 20560, 0, 0, 0}, {8, 307, 512, 68, 1024, 4096, 0}, {1340, 1536, 21760, 0, 0, 0, 0}, {8, 4192, 514, 5397, 0, 0, 0}, {8, 310, 514, 68, 1024, 4116, 0}, {1535, 2560, 13631, 20480, 0, 0, 0}, {8192, 4160, 1280, 0, 0, 0, 0}, {783, 68, 1285, 4369, 0, 0, 0}, {1290, 5984, 16962, 0, 0, 0, 0}, {1295, 5427, 1536, 1347, 0, 0, 0}, {768, 68, 1280, 4352, 0, 0, 0}, {128, 1285, 4112, 0, 0, 0, 0}, {1290, 4128, 768, 1350, 0, 0, 0}, {1295, 4656, 18247, 0, 0, 0, 0}, {4680, 8704, 1280, 0, 0, 0, 0}, {4124, 4883, 4176, 1285, 0, 0, 0}, {1290, 4192, 16448, 0, 0, 0, 0}, {1295, 4403, 1536, 68, 0, 0, 0}, {76, 768, 1280, 4096, 0, 0, 0}, {136, 4626, 1285, 0, 0, 0, 0}, {1290, 4386, 768, 68, 0, 0, 0}, {1295, 4144, 16448, 0, 0, 0, 0}, {16128, 1360, 0, 0, 0, 0, 0}, {546, 277, 4369, 0, 0, 0, 0}, {8, 5410, 5888, 1362, 0, 0, 0}, {1375, 1632, 21331, 0, 0, 0, 0}, {8, 1028, 272, 0, 0, 0, 0}, {12288, 1365, 0, 0, 0, 0, 0}, {1370, 816, 22102, 0, 0, 0, 0}, {8, 4128, 4608, 1367, 0, 0, 0}, {8, 544, 4176, 5376, 0, 0, 0}, {831, 13107, 1365, 0, 0, 0, 0}, {1370, 24576, 0, 0, 0, 0, 0}, {279, 68, 1028, 0, 0, 0, 0}, {3084, 816, 1360, 0, 0, 0, 0}, {8, 546, 1365, 4096, 0, 0, 0}, {274, 68, 1028, 0, 0, 0, 0}, {1375, 12288, 0, 0, 0, 0, 0}, {1440, 3840, 13664, 21760, 0, 0, 0}, {8, 293, 775, 68, 1024, 4369, 0}, {8, 1314, 1792, 4160, 0, 0, 0}, {783, 1379, 20560, 0, 0, 0, 0}, {8, 288, 768, 68, 1024, 4352, 0}, {1445, 3855, 12336, 21845, 0, 0, 0}, {1382, 768, 20480, 0, 0, 0, 0}, {8, 1319, 1799, 4112, 0, 0, 0}, {8, 1312, 1792, 5440, 0, 0, 0}, {783, 1638, 21845, 0, 0, 0, 0}, {1450, 3840, 13674, 20480, 0, 0, 0}, {8, 295, 775, 68, 1024, 4116, 0}, {1388, 768, 21760, 0, 0, 0, 0}, {8, 4144, 4626, 5397, 0, 0, 0}, {8, 290, 768, 68, 1024, 4096, 0}, {1455, 3855, 12336, 20560, 0, 0, 0}, {4208, 5376, 0, 0, 0, 0, 0}, {1337, 1542, 68, 4369, 0, 0, 0}, {4698, 1394, 20560, 0, 0, 0, 0}, {4108, 1331, 5632, 4160, 0, 0, 0}, {1548, 816, 68, 4352, 0, 0, 0}, {2570, 4128, 5461, 0, 0, 0, 0}, {76, 1334, 1542, 4112, 0, 0, 0}, {1399, 4608, 20480, 0, 0, 0, 0}, {1400, 5888, 21760, 0, 0, 0, 0}, {76, 4192, 4883, 5397, 0, 0, 0}, {5418, 8224, 4176, 0, 0, 0, 0}, {4620, 4403, 68, 5120, 0, 0, 0}, {5388, 4144, 4864, 5440, 0, 0, 0}, {5983, 4642, 21845, 0, 0, 0, 0}, {4386, 4626, 68, 5140, 0, 0, 0}, {1407, 4096, 0, 0, 0, 0, 0}, {128, 1280, 4096, 0, 0, 0, 0}, {771, 68, 1285, 4369, 0, 0, 0}, {1290, 4642, 18176, 0, 0, 0, 0}, {1295, 4144, 771, 1347, 0, 0, 0}, {780, 68, 1280, 4352, 0, 0, 0}, {8224, 4176, 1285, 0, 0, 0, 0}, {1290, 5414, 1542, 1350, 0, 0, 0}, {1295, 6007, 16896, 0, 0, 0, 0}, {136, 4608, 1280, 0, 0, 0, 0}, {76, 771, 1285, 4112, 0, 0, 0}, {1290, 4128, 16384, 0, 0, 0, 0}, {1295, 4403, 771, 68, 0, 0, 0}, {4108, 4864, 4160, 1280, 0, 0, 0}, {4698, 8738, 1285, 0, 0, 0, 0}, {1290, 4386, 1542, 68, 0, 0, 0}, {1295, 4208, 16384, 0, 0, 0, 0}, {12336, 1360, 0, 0, 0, 0, 0}, {8, 1024, 273, 0, 0, 0, 0}, {8, 4144, 4626, 1362, 0, 0, 0}, {1375, 819, 22016, 0, 0, 0, 0}, {544, 276, 4352, 0, 0, 0, 0}, {16191, 1365, 0, 0, 0, 0, 0}, {1370, 1638, 21248, 0, 0, 0, 0}, {8, 5431, 5911, 1367, 0, 0, 0}, {8, 544, 1360, 4112, 0, 0, 0}, {3072, 819, 1365, 0, 0, 0, 0}, {1370, 12336, 0, 0, 0, 0, 0}, {275, 68, 1024, 0, 0, 0, 0}, {828, 13056, 1360, 0, 0, 0, 0}, {8, 546, 4160, 5397, 0, 0, 0}, {278, 68, 1024, 0, 0, 0, 0}, {1375, 24672, 0, 0, 0, 0, 0}, {1440, 3840, 12288, 21760, 0, 0, 0}, {8, 289, 771, 68, 1028, 4369, 0}, {8, 1314, 1792, 4096, 0, 0, 0}, {1379, 771, 20560, 0, 0, 0, 0}, {8, 292, 772, 68, 1028, 4352, 0}, {1445, 3855, 13653, 21845, 0, 0, 0}, {780, 1382, 20480, 0, 0, 0, 0}, {8, 1319, 1799, 4176, 0, 0, 0}, {8, 4128, 4608, 5376, 0, 0, 0}, {1385, 771, 21845, 0, 0, 0, 0}, {1450, 3840, 12288, 20480, 0, 0, 0}, {8, 291, 771, 68, 1028, 4112, 0}, {780, 1632, 21760, 0, 0, 0, 0}, {8, 1317, 1799, 5461, 0, 0, 0}, {8, 294, 772, 68, 1028, 4100, 0}, {1455, 3855, 13663, 20560, 0, 0, 0}, {2560, 4144, 5440, 0, 0, 0, 0}, {1546, 819, 68, 4369, 0, 0, 0}, {1394, 4626, 20560, 0, 0, 0, 0}, {76, 1331, 1536, 4096, 0, 0, 0}, {1340, 1536, 68, 4352, 0, 0, 0}, {4192, 5397, 0, 0, 0, 0, 0}, {4124, 1334, 5654, 4176, 0, 0, 0}, {4680, 1399, 20480, 0, 0, 0, 0}, {5960, 4656, 21760, 0, 0, 0, 0}, {5401, 4128, 4883, 5461, 0, 0, 0}, {1402, 4112, 0, 0, 0, 0, 0}, {4403, 4608, 68, 5120, 0, 0, 0}, {76, 4208, 4864, 5376, 0, 0, 0}, {1405, 5911, 21845, 0, 0, 0, 0}, {4638, 4386, 68, 5140, 0, 0, 0}, {5439, 8192, 4160, 0, 0, 0, 0}, {12480, 1280, 0, 0, 0, 0, 0}, {514, 261, 4369, 0, 0, 0, 0}, {8, 4192, 514, 1282, 0, 0, 0}, {1295, 1536, 21811, 0, 0, 0, 0}, {8, 68, 256, 0, 0, 0, 0}, {12336, 1285, 0, 0, 0, 0, 0}, {1290, 768, 21862, 0, 0, 0, 0}, {8, 4144, 512, 1287, 0, 0, 0}, {8, 512, 4160, 1280, 0, 0, 0}, {783, 13107, 1285, 0, 0, 0, 0}, {1290, 24672, 0, 0, 0, 0, 0}, {263, 68, 1024, 0, 0, 0, 0}, {204, 768, 1280, 0, 0, 0, 0}, {8, 514, 1285, 4112, 0, 0, 0}, {258, 68, 1024, 0, 0, 0, 0}, {1295, 12336, 0, 0, 0, 0, 0}, {8224, 4176, 5376, 0, 0, 0, 0}, {831, 68, 1297, 4369, 0, 0, 0}, {1370, 5888, 21794, 0, 0, 0, 0}, {76, 4192, 4883, 1299, 0, 0, 0}, {816, 68, 1300, 4352, 0, 0, 0}, {2602, 1365, 4096, 0, 0, 0, 0}, {76, 4144, 4864, 1302, 0, 0, 0}, {1375, 4608, 21879, 0, 0, 0, 0}, {5928, 8704, 1360, 0, 0, 0, 0}, {4108, 4915, 4160, 5397, 0, 0, 0}, {1370, 4208, 16384, 0, 0, 0, 0}, {1307, 4403, 5911, 68, 0, 0, 0}, {1308, 816, 1360, 4112, 0, 0, 0}, {6144, 4642, 1365, 0, 0, 0, 0}, {1310, 4386, 4626, 68, 0, 0, 0}, {1375, 4128, 16384, 0, 0, 0, 0}, {3840, 1312, 5440, 0, 0, 0, 0}, {783, 1570, 68, 4369, 0, 0, 0}, {5960, 1314, 20480, 0, 0, 0, 0}, {4124, 5427, 4883, 4176, 0, 0, 0}, {1320, 768, 68, 4352, 0, 0, 0}, {4144, 5397, 0, 0, 0, 0, 0}, {76, 1382, 768, 4096, 0, 0, 0}, {1319, 5911, 20560, 0, 0, 0, 0}, {4680, 5984, 21760, 0, 0, 0, 0}, {5401, 1317, 5654, 5461, 0, 0, 0}, {1322, 8192, 4160, 0, 0, 0, 0}, {783, 4403, 68, 5140, 0, 0, 0}, {76, 4128, 768, 5376, 0, 0, 0}, {1325, 4626, 21845, 0, 0, 0, 0}, {4386, 768, 68, 5120, 0, 0, 0}, {1327, 4112, 0, 0, 0, 0, 0}, {1520, 2560, 13568, 21760, 0, 0, 0}, {8, 309, 514, 68, 1028, 4369, 0}, {8, 5410, 514, 4176, 0, 0, 0}, {1548, 1331, 20480, 0, 0, 0, 0}, {8, 304, 512, 68, 1028, 4352, 0}, {1525, 2570, 12288, 21845, 0, 0, 0}, {1334, 1542, 20560, 0, 0, 0, 0}, {8, 1399, 512, 4096, 0, 0, 0}, {8, 4208, 512, 5376, 0, 0, 0}, {1337, 1542, 21845, 0, 0, 0, 0}, {1530, 2570, 13578, 20560, 0, 0, 0}, {8, 311, 512, 68, 1028, 4100, 0}, {1548, 816, 21760, 0, 0, 0, 0}, {8, 4128, 514, 5461, 0, 0, 0}, {8, 306, 514, 68, 1028, 4112, 0}, {1535, 2560, 12288, 20480, 0, 0, 0}, {2560, 26112, 0, 0, 0, 0, 0}, {7, 64, 257, 0, 0, 0, 0}, {8, 514, 17408, 0, 0, 0, 0}, {15, 48, 771, 1280, 0, 0, 0}, {8, 512, 64, 1028, 0, 0, 0}, {15, 13056, 1285, 0, 0, 0, 0}, {192, 1542, 0, 0, 0, 0, 0}, {7, 1280, 4352, 0, 0, 0, 0}, {8, 512, 17408, 0, 0, 0, 0}, {15, 48, 771, 1285, 0, 0, 0}, {26282, 2570, 0, 0, 0, 0, 0}, {259, 260, 4096, 0, 0, 0, 0}, {1548, 24576, 0, 0, 0, 0, 0}, {7, 4437, 1285, 0, 0, 0, 0}, {8, 514, 64, 1028, 0, 0, 0}, {15, 13056, 1280, 0, 0, 0, 0}, {48, 1552, 64, 4112, 0, 0, 0}, {2645, 119, 4369, 0, 0, 0, 0}, {72, 48, 4626, 5120, 0, 0, 0}, {127, 4883, 21760, 0, 0, 0, 0}, {120, 8704, 5140, 0, 0, 0, 0}, {63, 4864, 64, 5397, 0, 0, 0}, {112, 5654, 20480, 0, 0, 0, 0}, {72, 119, 1559, 4352, 0, 0, 0}, {5144, 48, 4608, 5200, 0, 0, 0}, {4940, 4915, 21845, 0, 0, 0, 0}, {1562, 48, 64, 4096, 0, 0, 0}, {6939, 4403, 4420, 0, 0, 0, 0}, {5708, 112, 20560, 0, 0, 0, 0}, {4381, 4386, 5888, 4437, 0, 0, 0}, {5180, 8738, 5188, 0, 0, 0, 0}, {4895, 4896, 64, 5376, 0, 0, 0}, {128, 2592, 8224, 17952, 0, 0, 0}, {15, 48, 771, 71, 1298, 4369, 0}, {136, 2594, 8738, 17408, 0, 0, 0}, {15, 48, 771, 64, 1296, 4112, 0}, {72, 1572, 17476, 0, 0, 0, 0}, {15, 1317, 4864, 1365, 0, 0, 0}, {3084, 1574, 64, 0, 0, 0, 0}, {15, 1319, 1360, 4352, 0, 0, 0}, {136, 2600, 8704, 17408, 0, 0, 0}, {15, 48, 771, 64, 1301, 4096, 0}, {128, 2602, 8192, 17962, 0, 0, 0}, {15, 48, 771, 71, 1303, 4355, 0}, {1580, 8224, 64, 0, 0, 0, 0}, {15, 4386, 4437, 5120, 0, 0, 0}, {72, 1638, 17476, 0, 0, 0, 0}, {15, 1312, 5632, 1360, 0, 0, 0}, {48, 1536, 20480, 0, 0, 0, 0}, {8, 119, 514, 4369, 0, 0, 0}, {8, 48, 514, 64, 1024, 4112, 0}, {255, 2560, 13107, 21760, 0, 0, 0}, {8, 5172, 512, 5188, 0, 0, 0}, {1546, 1589, 21845, 0, 0, 0, 0}, {240, 2570, 13878, 20560, 0, 0, 0}, {8, 55, 512, 64, 1024, 4352, 0}, {8, 48, 512, 64, 1024, 4096, 0}, {255, 2570, 13107, 21845, 0, 0, 0}, {1546, 48, 20560, 0, 0, 0, 0}, {8, 4403, 512, 4420, 0, 0, 0}, {240, 2560, 13884, 20480, 0, 0, 0}, {8, 55, 514, 64, 1024, 4373, 0}, {8, 112, 514, 5140, 0, 0, 0}, {63, 1536, 21760, 0, 0, 0, 0}, {1536, 64, 0, 0, 0, 0, 0}, {15, 119, 1285, 4369, 0, 0, 0}, {72, 1602, 17408, 0, 0, 0, 0}, {15, 112, 4931, 1280, 0, 0, 0}, {136, 2560, 8704, 17476, 0, 0, 0}, {15, 48, 768, 64, 1285, 4112, 0}, {128, 2570, 8224, 17990, 0, 0, 0}, {15, 48, 768, 71, 1280, 4352, 0}, {72, 1536, 17408, 0, 0, 0, 0}, {15, 112, 4883, 1285, 0, 0, 0}, {1546, 8224, 64, 0, 0, 0, 0}, {15, 4403, 4420, 1280, 0, 0, 0}, {128, 2560, 8192, 17996, 0, 0, 0}, {15, 48, 768, 71, 1285, 4370, 0}, {136, 2570, 8738, 17476, 0, 0, 0}, {15, 48, 768, 64, 1280, 4096, 0}, {240, 2640, 13904, 20560, 0, 0, 0}, {8, 55, 533, 64, 1028, 4369, 0}, {8, 112, 594, 5120, 0, 0, 0}, {63, 1619, 21760, 0, 0, 0, 0}, {8, 48, 528, 64, 1028, 4112, 0}, {255, 2645, 13056, 21845, 0, 0, 0}, {48, 1622, 20480, 0, 0, 0, 0}, {8, 119, 599, 4352, 0, 0, 0}, {8, 5152, 5632, 5200, 0, 0, 0}, {1625, 1638, 21845, 0, 0, 0, 0}, {240, 2650, 13914, 20480, 0, 0, 0}, {8, 55, 535, 64, 1028, 4356, 0}, {1628, 48, 20560, 0, 0, 0, 0}, {8, 4386, 4864, 4437, 0, 0, 0}, {8, 48, 530, 64, 1028, 4096, 0}, {255, 2655, 13056, 21760, 0, 0, 0}, {3072, 1632, 0, 0, 0, 0, 0}, {7, 1365, 4369, 0, 0, 0, 0}, {8, 546, 64, 1024, 0, 0, 0}, {15, 13107, 1360, 0, 0, 0, 0}, {8, 544, 17476, 0, 0, 0, 0}, {15, 48, 768, 1365, 0, 0, 0}, {2730, 26214, 0, 0, 0, 0, 0}, {7, 1024, 272, 0, 0, 0, 0}, {8, 544, 64, 1024, 0, 0, 0}, {15, 13107, 1365, 0, 0, 0, 0}, {1642, 24576, 0, 0, 0, 0, 0}, {7, 4420, 5140, 0, 0, 0, 0}, {26316, 27756, 0, 0, 0, 0, 0}, {274, 277, 4096, 0, 0, 0, 0}, {8, 546, 17476, 0, 0, 0, 0}, {15, 48, 768, 1360, 0, 0, 0}, {112, 5632, 20480, 0, 0, 0, 0}, {72, 119, 1542, 4369, 0, 0, 0}, {5160, 8738, 5200, 0, 0, 0, 0}, {4876, 4915, 64, 5376, 0, 0, 0}, {5132, 48, 4608, 5188, 0, 0, 0}, {4959, 4896, 21845, 0, 0, 0, 0}, {48, 1542, 64, 4112, 0, 0, 0}, {2560, 119, 4352, 0, 0, 0, 0}, {120, 8704, 5120, 0, 0, 0, 0}, {63, 4883, 64, 5397, 0, 0, 0}, {5722, 112, 20560, 0, 0, 0, 0}, {4364, 4403, 5888, 4420, 0, 0, 0}, {1548, 48, 64, 4096, 0, 0, 0}, {2570, 4386, 4437, 0, 0, 0, 0}, {72, 48, 4626, 5140, 0, 0, 0}, {127, 4864, 21760, 0, 0, 0, 0}, {128, 2560, 8192, 17920, 0, 0, 0}, {15, 48, 771, 71, 1285, 4369, 0}, {136, 2570, 8738, 17408, 0, 0, 0}, {15, 48, 771, 64, 1280, 4096, 0}, {72, 1604, 17476, 0, 0, 0, 0}, {15, 112, 4944, 1285, 0, 0, 0}, {1542, 64, 0, 0, 0, 0, 0}, {15, 119, 1280, 4352, 0, 0, 0}, {136, 2560, 8704, 17408, 0, 0, 0}, {15, 48, 771, 64, 1285, 4112, 0}, {128, 2570, 8224, 17930, 0, 0, 0}, {15, 48, 771, 71, 1280, 4355, 0}, {1548, 8192, 64, 0, 0, 0, 0}, {15, 4386, 4437, 1285, 0, 0, 0}, {72, 1542, 17476, 0, 0, 0, 0}, {15, 112, 4864, 1280, 0, 0, 0}, {48, 1616, 20560, 0, 0, 0, 0}, {8, 119, 597, 4369, 0, 0, 0}, {8, 48, 530, 64, 1024, 4096, 0}, {255, 2655, 13107, 21760, 0, 0, 0}, {8, 112, 592, 5140, 0, 0, 0}, {63, 1621, 21845, 0, 0, 0, 0}, {240, 2650, 13926, 20480, 0, 0, 0}, {8, 55, 535, 64, 1024, 4352, 0}, {8, 48, 528, 64, 1024, 4112, 0}, {255, 2645, 13107, 21845, 0, 0, 0}, {1626, 48, 20480, 0, 0, 0, 0}, {8, 4403, 4883, 4420, 0, 0, 0}, {240, 2640, 13932, 20560, 0, 0, 0}, {8, 55, 533, 64, 1024, 4373, 0}, {8, 5172, 5654, 5188, 0, 0, 0}, {1631, 1632, 21760, 0, 0, 0, 0}, {2720, 26112, 0, 0, 0, 0, 0}, {7, 1028, 273, 0, 0, 0, 0}, {8, 546, 17408, 0, 0, 0, 0}, {15, 48, 771, 1360, 0, 0, 0}, {8, 544, 64, 1028, 0, 0, 0}, {15, 13056, 1365, 0, 0, 0, 0}, {3084, 1638, 0, 0, 0, 0, 0}, {7, 1360, 4352, 0, 0, 0, 0}, {8, 544, 17408, 0, 0, 0, 0}, {15, 48, 771, 1365, 0, 0, 0}, {26282, 27648, 0, 0, 0, 0, 0}, {275, 276, 4112, 0, 0, 0, 0}, {1644, 24672, 0, 0, 0, 0, 0}, {7, 4437, 5120, 0, 0, 0, 0}, {8, 546, 64, 1028, 0, 0, 0}, {15, 13056, 1360, 0, 0, 0, 0}, {48, 1536, 64, 4096, 0, 0, 0}, {2570, 119, 4369, 0, 0, 0, 0}, {5144, 48, 4626, 5200, 0, 0, 0}, {4940, 4915, 21760, 0, 0, 0, 0}, {5180, 8704, 5188, 0, 0, 0, 0}, {4895, 4896, 64, 5397, 0, 0, 0}, {112, 5654, 20560, 0, 0, 0, 0}, {72, 119, 1536, 4352, 0, 0, 0}, {72, 48, 4608, 5120, 0, 0, 0}, {127, 4883, 21845, 0, 0, 0, 0}, {1546, 48, 64, 4112, 0, 0, 0}, {2560, 4403, 4420, 0, 0, 0, 0}, {5708, 112, 20480, 0, 0, 0, 0}, {4381, 4386, 5911, 4437, 0, 0, 0}, {120, 8738, 5140, 0, 0, 0, 0}, {63, 4864, 64, 5376, 0, 0, 0}, {192, 1536, 0, 0, 0, 0, 0}, {7, 1285, 4369, 0, 0, 0, 0}, {8, 514, 64, 1024, 0, 0, 0}, {15, 13107, 1280, 0, 0, 0, 0}, {8, 512, 17476, 0, 0, 0, 0}, {15, 48, 768, 1285, 0, 0, 0}, {2570, 26214, 0, 0, 0, 0, 0}, {7, 64, 256, 0, 0, 0, 0}, {8, 512, 64, 1024, 0, 0, 0}, {15, 13107, 1285, 0, 0, 0, 0}, {1546, 24672, 0, 0, 0, 0, 0}, {7, 4420, 1280, 0, 0, 0, 0}, {26316, 2560, 0, 0, 0, 0, 0}, {258, 261, 4112, 0, 0, 0, 0}, {8, 514, 17476, 0, 0, 0, 0}, {15, 48, 768, 1280, 0, 0, 0}, {112, 5632, 20560, 0, 0, 0, 0}, {72, 119, 1553, 4369, 0, 0, 0}, {120, 8738, 5120, 0, 0, 0, 0}, {63, 4883, 64, 5376, 0, 0, 0}, {72, 48, 4608, 5140, 0, 0, 0}, {127, 4864, 21845, 0, 0, 0, 0}, {48, 1558, 64, 4096, 0, 0, 0}, {2655, 119, 4352, 0, 0, 0, 0}, {5160, 8704, 5200, 0, 0, 0, 0}, {4876, 4915, 64, 5397, 0, 0, 0}, {5722, 112, 20480, 0, 0, 0, 0}, {4364, 4403, 5911, 4420, 0, 0, 0}, {1564, 48, 64, 4112, 0, 0, 0}, {6912, 4386, 4437, 0, 0, 0, 0}, {5132, 48, 4626, 5188, 0, 0, 0}, {4959, 4896, 21760, 0, 0, 0, 0}, {3072, 1568, 64, 0, 0, 0, 0}, {15, 1314, 1365, 4369, 0, 0, 0}, {72, 1570, 17408, 0, 0, 0, 0}, {15, 1312, 4883, 1360, 0, 0, 0}, {136, 2600, 8704, 17476, 0, 0, 0}, {15, 48, 768, 64, 1301, 4096, 0}, {128, 2602, 8192, 18022, 0, 0, 0}, {15, 48, 768, 71, 1303, 4352, 0}, {72, 1632, 17408, 0, 0, 0, 0}, {15, 1317, 5654, 1365, 0, 0, 0}, {1578, 8192, 64, 0, 0, 0, 0}, {15, 4403, 4420, 5140, 0, 0, 0}, {128, 2592, 8224, 18028, 0, 0, 0}, {15, 48, 768, 71, 1298, 4370, 0}, {136, 2594, 8738, 17476, 0, 0, 0}, {15, 48, 768, 64, 1296, 4112, 0}, {240, 2560, 13824, 20480, 0, 0, 0}, {8, 55, 514, 64, 1028, 4369, 0}, {8, 5152, 514, 5200, 0, 0, 0}, {1548, 1587, 21760, 0, 0, 0, 0}, {8, 48, 512, 64, 1028, 4096, 0}, {255, 2570, 13056, 21845, 0, 0, 0}, {48, 1542, 20560, 0, 0, 0, 0}, {8, 119, 512, 4352, 0, 0, 0}, {8, 112, 512, 5120, 0, 0, 0}, {63, 1542, 21845, 0, 0, 0, 0}, {240, 2570, 13834, 20560, 0, 0, 0}, {8, 55, 512, 64, 1028, 4356, 0}, {1548, 48, 20480, 0, 0, 0, 0}, {8, 4386, 514, 4437, 0, 0, 0}, {8, 48, 514, 64, 1028, 4112, 0}, {255, 2560, 13056, 21760, 0, 0, 0}, {1792, 16384, 0, 0, 0, 0, 0}, {10, 102, 257, 0, 0, 0, 0}, {10, 4128, 514, 1280, 0, 0, 0}, {1036, 771, 17408, 0, 0, 0, 0}, {780, 13056, 1028, 0, 0, 0, 0}, {10, 512, 4176, 1285, 0, 0, 0}, {262, 1280, 4352, 0, 0, 0, 0}, {16512, 1799, 0, 0, 0, 0, 0}, {1800, 12288, 0, 0, 0, 0, 0}, {259, 4437, 1285, 0, 0, 0, 0}, {10, 512, 1280, 4096, 0, 0, 0}, {204, 771, 1028, 0, 0, 0, 0}, {1036, 1792, 17408, 0, 0, 0, 0}, {10, 4208, 514, 1285, 0, 0, 0}, {4386, 514, 260, 0, 0, 0, 0}, {1807, 16384, 0, 0, 0, 0, 0}, {3920, 1904, 4112, 0, 0, 0, 0}, {1058, 1809, 1092, 4369, 0, 0, 0}, {5482, 4626, 21760, 0, 0, 0, 0}, {4172, 4128, 4883, 5120, 0, 0, 0}, {4156, 4864, 4176, 5140, 0, 0, 0}, {4714, 8704, 5397, 0, 0, 0, 0}, {1100, 102, 1814, 4352, 0, 0, 0}, {4192, 5911, 20480, 0, 0, 0, 0}, {5960, 4144, 20560, 0, 0, 0, 0}, {5401, 4403, 4608, 4437, 0, 0, 0}, {6682, 4656, 5440, 0, 0, 0, 0}, {1819, 819, 1092, 4096, 0, 0, 0}, {4124, 1056, 5888, 5200, 0, 0, 0}, {4680, 1911, 21845, 0, 0, 0, 0}, {4638, 4386, 4420, 5376, 0, 0, 0}, {5951, 8224, 4160, 0, 0, 0, 0}, {4128, 5888, 20480, 0, 0, 0, 0}, {1096, 102, 771, 4369, 0, 0, 0}, {4642, 5376, 0, 0, 0, 0, 0}, {1068, 771, 1088, 4112, 0, 0, 0}, {4108, 1060, 4864, 5188, 0, 0, 0}, {4698, 1829, 21845, 0, 0, 0, 0}, {780, 1062, 1088, 4352, 0, 0, 0}, {3855, 1831, 4176, 0, 0, 0, 0}, {1832, 4096, 0, 0, 0, 0, 0}, {4403, 771, 4437, 5397, 0, 0, 0}, {5418, 4608, 21760, 0, 0, 0, 0}, {4188, 4144, 771, 5140, 0, 0, 0}, {780, 4896, 4160, 5120, 0, 0, 0}, {1837, 8738, 5461, 0, 0, 0, 0}, {5388, 4386, 5632, 4420, 0, 0, 0}, {5983, 4208, 20560, 0, 0, 0, 0}, {2032, 2048, 12336, 18224, 0, 0, 0}, {10, 305, 514, 343, 1026, 4369, 0}, {10, 514, 1360, 4112, 0, 0, 0}, {819, 1024, 0, 0, 0, 0, 0}, {1032, 1844, 17476, 0, 0, 0, 0}, {10, 5429, 512, 1365, 0, 0, 0}, {10, 310, 512, 336, 1024, 4352, 0}, {2039, 2056, 14135, 16448, 0, 0, 0}, {2040, 2056, 12336, 16448, 0, 0, 0}, {10, 307, 512, 341, 1024, 4096, 0}, {10, 4144, 512, 1360, 0, 0, 0}, {1032, 819, 17476, 0, 0, 0, 0}, {828, 13056, 1024, 0, 0, 0, 0}, {10, 514, 4160, 5397, 0, 0, 0}, {10, 308, 514, 338, 1026, 4118, 0}, {2047, 2048, 14143, 18239, 0, 0, 0}, {1920, 3840, 14144, 16448, 0, 0, 0}, {10, 295, 773, 321, 1285, 4369, 0}, {10, 4192, 4674, 1280, 0, 0, 0}, {1100, 1859, 17408, 0, 0, 0, 0}, {768, 1092, 0, 0, 0, 0, 0}, {10, 544, 1285, 4112, 0, 0, 0}, {10, 288, 768, 326, 1280, 4352, 0}, {1927, 3855, 12336, 18247, 0, 0, 0}, {1928, 3840, 14152, 18248, 0, 0, 0}, {10, 293, 773, 323, 1285, 4118, 0}, {10, 544, 4160, 1280, 0, 0, 0}, {783, 13107, 1092, 0, 0, 0, 0}, {1100, 768, 17408, 0, 0, 0, 0}, {10, 4144, 4626, 1285, 0, 0, 0}, {10, 290, 768, 324, 1280, 4096, 0}, {1935, 3855, 12336, 16448, 0, 0, 0}, {5888, 4176, 0, 0, 0, 0, 0}, {857, 102, 1028, 4369, 0, 0, 0}, {5418, 1874, 21760, 0, 0, 0, 0}, {4108, 4192, 851, 5120, 0, 0, 0}, {860, 816, 1028, 4112, 0, 0, 0}, {4608, 5461, 0, 0, 0, 0, 0}, {1036, 102, 854, 4352, 0, 0, 0}, {4128, 1879, 20480, 0, 0, 0, 0}, {1880, 4208, 20560, 0, 0, 0, 0}, {1036, 4403, 5632, 4437, 0, 0, 0}, {4698, 8704, 5376, 0, 0, 0, 0}, {4140, 4883, 4160, 1028, 0, 0, 0}, {1036, 4144, 4864, 5200, 0, 0, 0}, {1885, 4642, 21845, 0, 0, 0, 0}, {4386, 4626, 4420, 1028, 0, 0, 0}, {1887, 4096, 0, 0, 0, 0, 0}, {4192, 1792, 20480, 0, 0, 0, 0}, {1032, 102, 1799, 4369, 0, 0, 0}, {1800, 8738, 5440, 0, 0, 0, 0}, {783, 4915, 4176, 1024, 0, 0, 0}, {1032, 4128, 768, 5188, 0, 0, 0}, {1807, 4656, 21845, 0, 0, 0, 0}, {102, 768, 1024, 4352, 0, 0, 0}, {160, 1799, 4112, 0, 0, 0, 0}, {1800, 8224, 4160, 0, 0, 0, 0}, {783, 4403, 4437, 1024, 0, 0, 0}, {5482, 1792, 21760, 0, 0, 0, 0}, {4124, 4208, 4883, 5140, 0, 0, 0}, {108, 768, 1024, 4096, 0, 0, 0}, {170, 4626, 5397, 0, 0, 0, 0}, {1032, 4386, 768, 4420, 0, 0, 0}, {1807, 4144, 20560, 0, 0, 0, 0}, {18432, 1904, 0, 0, 0, 0, 0}, {279, 1365, 4369, 0, 0, 0, 0}, {10, 546, 4176, 5376, 0, 0, 0}, {831, 13107, 1088, 0, 0, 0, 0}, {1096, 816, 17476, 0, 0, 0, 0}, {10, 4128, 4608, 1365, 0, 0, 0}, {10, 1542, 272, 0, 0, 0, 0}, {1911, 16384, 0, 0, 0, 0, 0}, {1912, 16384, 0, 0, 0, 0, 0}, {4403, 4883, 277, 0, 0, 0, 0}, {10, 5408, 5888, 1360, 0, 0, 0}, {1096, 1911, 17476, 0, 0, 0, 0}, {3084, 816, 1088, 0, 0, 0, 0}, {10, 546, 1365, 4096, 0, 0, 0}, {274, 4420, 5140, 0, 0, 0, 0}, {1919, 12288, 0, 0, 0, 0, 0}, {1920, 3840, 12288, 18176, 0, 0, 0}, {10, 289, 771, 327, 1285, 4369, 0}, {10, 546, 1280, 4096, 0, 0, 0}, {771, 1088, 0, 0, 0, 0, 0}, {1096, 1860, 17476, 0, 0, 0, 0}, {10, 4208, 4688, 1285, 0, 0, 0}, {10, 294, 774, 320, 1280, 4352, 0}, {1927, 3855, 14199, 16384, 0, 0, 0}, {1928, 3840, 12288, 16384, 0, 0, 0}, {10, 291, 771, 325, 1285, 4112, 0}, {10, 4128, 4608, 1280, 0, 0, 0}, {1096, 771, 17476, 0, 0, 0, 0}, {780, 13056, 1088, 0, 0, 0, 0}, {10, 546, 4176, 1285, 0, 0, 0}, {10, 292, 774, 322, 1280, 4102, 0}, {1935, 3855, 14207, 18191, 0, 0, 0}, {4144, 1872, 20560, 0, 0, 0, 0}, {1032, 102, 853, 4369, 0, 0, 0}, {4626, 5440, 0, 0, 0, 0, 0}, {863, 819, 1024, 4096, 0, 0, 0}, {4124, 4208, 848, 5140, 0, 0, 0}, {5439, 1877, 21845, 0, 0, 0, 0}, {858, 102, 1024, 4352, 0, 0, 0}, {5911, 4160, 0, 0, 0, 0, 0}, {1880, 4112, 0, 0, 0, 0, 0}, {4403, 4608, 4437, 1024, 0, 0, 0}, {1882, 4656, 21760, 0, 0, 0, 0}, {1032, 4128, 4883, 5188, 0, 0, 0}, {4156, 4864, 4176, 1024, 0, 0, 0}, {4680, 8738, 5397, 0, 0, 0, 0}, {1032, 4386, 5654, 4420, 0, 0, 0}, {1887, 4192, 20480, 0, 0, 0, 0}, {160, 1792, 4096, 0, 0, 0, 0}, {102, 771, 1028, 4369, 0, 0, 0}, {1800, 4642, 21760, 0, 0, 0, 0}, {1036, 4144, 771, 5200, 0, 0, 0}, {780, 4896, 4160, 1028, 0, 0, 0}, {1807, 8704, 5461, 0, 0, 0, 0}, {1036, 102, 1792, 4352, 0, 0, 0}, {4208, 1799, 20560, 0, 0, 0, 0}, {1800, 4128, 20480, 0, 0, 0, 0}, {1036, 4403, 771, 4437, 0, 0, 0}, {170, 4608, 5376, 0, 0, 0, 0}, {108, 771, 1028, 4112, 0, 0, 0}, {4108, 4192, 4864, 5120, 0, 0, 0}, {5503, 1799, 21845, 0, 0, 0, 0}, {780, 4386, 4420, 1028, 0, 0, 0}, {1807, 8192, 4176, 0, 0, 0, 0}, {1904, 16448, 0, 0, 0, 0, 0}, {10, 1536, 273, 0, 0, 0, 0}, {10, 4144, 4626, 1360, 0, 0, 0}, {1100, 819, 17408, 0, 0, 0, 0}, {828, 13056, 1092, 0, 0, 0, 0}, {10, 544, 4160, 5397, 0, 0, 0}, {278, 1360, 4352, 0, 0, 0, 0}, {18504, 1911, 0, 0, 0, 0, 0}, {1912, 12336, 0, 0, 0, 0, 0}, {275, 4437, 5120, 0, 0, 0, 0}, {10, 544, 1360, 4112, 0, 0, 0}, {3072, 819, 1092, 0, 0, 0, 0}, {1100, 1904, 17408, 0, 0, 0, 0}, {10, 5429, 5911, 1365, 0, 0, 0}, {4386, 4864, 276, 0, 0, 0, 0}, {1919, 16448, 0, 0, 0, 0, 0}, {16576, 1792, 0, 0, 0, 0, 0}, {263, 1285, 4369, 0, 0, 0, 0}, {10, 514, 4160, 1280, 0, 0, 0}, {783, 13107, 1024, 0, 0, 0, 0}, {1032, 768, 17476, 0, 0, 0, 0}, {10, 4144, 512, 1285, 0, 0, 0}, {10, 102, 256, 0, 0, 0, 0}, {1799, 16448, 0, 0, 0, 0, 0}, {1800, 16448, 0, 0, 0, 0, 0}, {4403, 512, 261, 0, 0, 0, 0}, {10, 4192, 512, 1280, 0, 0, 0}, {1032, 1799, 17476, 0, 0, 0, 0}, {204, 768, 1024, 0, 0, 0, 0}, {10, 514, 1285, 4112, 0, 0, 0}, {258, 4420, 1280, 0, 0, 0, 0}, {1807, 12336, 0, 0, 0, 0, 0}, {4208, 5888, 20560, 0, 0, 0, 0}, {1096, 102, 1809, 4369, 0, 0, 0}, {4728, 8738, 5376, 0, 0, 0, 0}, {4140, 4883, 4160, 5120, 0, 0, 0}, {4188, 4144, 4864, 5140, 0, 0, 0}, {5503, 4608, 21845, 0, 0, 0, 0}, {1062, 1814, 1088, 4352, 0, 0, 0}, {3935, 1911, 4096, 0, 0, 0, 0}, {5928, 8192, 4176, 0, 0, 0, 0}, {4620, 4403, 4437, 5397, 0, 0, 0}, {4698, 1904, 21760, 0, 0, 0, 0}, {4108, 1060, 5911, 5188, 0, 0, 0}, {1820, 816, 1088, 4112, 0, 0, 0}, {6656, 4642, 5461, 0, 0, 0, 0}, {5388, 4386, 4626, 4420, 0, 0, 0}, {5983, 4128, 20480, 0, 0, 0, 0}, {3840, 1824, 4160, 0, 0, 0, 0}, {783, 1058, 1092, 4369, 0, 0, 0}, {4680, 1826, 21760, 0, 0, 0, 0}, {4124, 1056, 4883, 5200, 0, 0, 0}, {1064, 768, 1092, 4096, 0, 0, 0}, {4656, 5397, 0, 0, 0, 0, 0}, {1100, 102, 768, 4352, 0, 0, 0}, {4144, 5911, 20560, 0, 0, 0, 0}, {5960, 4192, 20480, 0, 0, 0, 0}, {5401, 4403, 5654, 4437, 0, 0, 0}, {1834, 8704, 5440, 0, 0, 0, 0}, {783, 4915, 4176, 5140, 0, 0, 0}, {4172, 4128, 768, 5120, 0, 0, 0}, {5439, 4626, 21845, 0, 0, 0, 0}, {4386, 768, 4420, 5376, 0, 0, 0}, {1839, 4112, 0, 0, 0, 0, 0}, {2032, 2048, 14080, 16384, 0, 0, 0}, {10, 311, 514, 337, 1028, 4369, 0}, {10, 5408, 514, 1360, 0, 0, 0}, {1036, 1843, 17408, 0, 0, 0, 0}, {816, 1028, 0, 0, 0, 0, 0}, {10, 512, 1365, 4096, 0, 0, 0}, {10, 304, 512, 342, 1030, 4352, 0}, {2039, 2056, 12288, 18295, 0, 0, 0}, {2040, 2056, 14088, 18296, 0, 0, 0}, {10, 309, 512, 339, 1030, 4102, 0}, {10, 512, 4176, 5376, 0, 0, 0}, {831, 13107, 1028, 0, 0, 0, 0}, {1036, 816, 17408, 0, 0, 0, 0}, {10, 4128, 514, 1365, 0, 0, 0}, {10, 306, 514, 340, 1028, 4112, 0}, {2047, 2048, 12288, 16384, 0, 0, 0}, {2048, 16384, 0, 0, 0, 0, 0}, {51, 5, 257, 0, 0, 0, 0}, {10, 514, 16416, 0, 0, 0, 0}, {15, 51, 771, 1027, 0, 0, 0}, {204, 1028, 0, 0, 0, 0, 0}, {512, 5, 4096, 0, 0, 0, 0}, {10, 102, 512, 1030, 0, 0, 0}, {15, 1799, 16496, 0, 0, 0, 0}, {16512, 2056, 0, 0, 0, 0, 0}, {259, 5, 4352, 0, 0, 0, 0}, {10, 512, 16384, 0, 0, 0, 0}, {15, 51, 771, 1028, 0, 0, 0}, {1036, 17408, 0, 0, 0, 0, 0}, {4128, 514, 5, 0, 0, 0, 0}, {10, 102, 514, 1028, 0, 0, 0}, {15, 1792, 16384, 0, 0, 0, 0}, {2080, 80, 4112, 0, 0, 0, 0}, {51, 85, 1041, 4369, 0, 0, 0}, {90, 4626, 16432, 0, 0, 0, 0}, {95, 51, 4883, 1043, 0, 0, 0}, {60, 80, 1044, 4096, 0, 0, 0}, {8704, 85, 5397, 0, 0, 0, 0}, {90, 102, 4608, 1046, 0, 0, 0}, {95, 5911, 16480, 0, 0, 0, 0}, {6168, 4144, 80, 0, 0, 0, 0}, {1049, 51, 85, 4352, 0, 0, 0}, {90, 4656, 16448, 0, 0, 0, 0}, {1051, 51, 4864, 1092, 0, 0, 0}, {4124, 4128, 80, 5120, 0, 0, 0}, {5439, 8738, 85, 0, 0, 0, 0}, {1054, 1058, 5632, 1092, 0, 0, 0}, {95, 5984, 16448, 0, 0, 0, 0}, {160, 2080, 8224, 16416, 0, 0, 0}, {15, 51, 771, 85, 1042, 4369, 0}, {170, 2082, 8738, 16384, 0, 0, 0}, {15, 51, 771, 80, 1040, 4112, 0}, {1096, 1060, 17476, 0, 0, 0, 0}, {15, 5413, 4608, 85, 0, 0, 0}, {3084, 1062, 1088, 0, 0, 0, 0}, {15, 1831, 80, 4096, 0, 0, 0}, {160, 2088, 8192, 16384, 0, 0, 0}, {15, 51, 771, 85, 1045, 4352, 0}, {170, 2090, 8704, 16426, 0, 0, 0}, {15, 51, 771, 80, 1047, 4099, 0}, {1068, 8224, 1088, 0, 0, 0, 0}, {15, 4642, 85, 5376, 0, 0, 0}, {1096, 102, 17476, 0, 0, 0, 0}, {15, 4128, 5888, 80, 0, 0, 0}, {240, 2048, 12336, 16432, 0, 0, 0}, {10, 51, 514, 85, 1026, 4369, 0}, {10, 514, 80, 4112, 0, 0, 0}, {51, 1024, 0, 0, 0, 0, 0}, {1032, 1076, 17476, 0, 0, 0, 0}, {10, 5429, 512, 85, 0, 0, 0}, {10, 54, 512, 80, 1024, 4096, 0}, {255, 2056, 14135, 16448, 0, 0, 0}, {240, 2056, 12336, 16448, 0, 0, 0}, {10, 51, 512, 85, 1024, 4352, 0}, {10, 4144, 512, 80, 0, 0, 0}, {1032, 51, 17476, 0, 0, 0, 0}, {60, 12288, 1024, 0, 0, 0, 0}, {10, 514, 85, 5397, 0, 0, 0}, {10, 54, 514, 80, 1026, 4118, 0}, {255, 2048, 14143, 16447, 0, 0, 0}, {2176, 16448, 0, 0, 0, 0, 0}, {768, 5, 273, 0, 0, 0, 0}, {10, 546, 16962, 0, 0, 0, 0}, {15, 51, 768, 1091, 0, 0, 0}, {3072, 1092, 0, 0, 0, 0, 0}, {544, 5, 4112, 0, 0, 0, 0}, {10, 1056, 1536, 1094, 0, 0, 0}, {15, 1911, 18247, 0, 0, 0, 0}, {16576, 18504, 0, 0, 0, 0, 0}, {275, 5, 4352, 0, 0, 0, 0}, {10, 544, 16448, 0, 0, 0, 0}, {15, 51, 768, 1092, 0, 0, 0}, {1100, 17408, 0, 0, 0, 0, 0}, {4144, 4626, 5, 0, 0, 0, 0}, {10, 1058, 1536, 1092, 0, 0, 0}, {15, 1904, 16448, 0, 0, 0, 0}, {2048, 80, 4096, 0, 0, 0, 0}, {51, 85, 1028, 4369, 0, 0, 0}, {90, 4642, 21074, 0, 0, 0, 0}, {1036, 51, 4864, 1107, 0, 0, 0}, {60, 80, 1028, 4112, 0, 0, 0}, {8704, 85, 5376, 0, 0, 0, 0}, {1036, 1072, 5632, 1110, 0, 0, 0}, {95, 6007, 22359, 0, 0, 0, 0}, {2056, 4128, 80, 0, 0, 0, 0}, {1036, 51, 85, 4352, 0, 0, 0}, {90, 4608, 16384, 0, 0, 0, 0}, {95, 51, 4883, 1028, 0, 0, 0}, {4108, 4144, 80, 5120, 0, 0, 0}, {5418, 8738, 85, 0, 0, 0, 0}, {90, 102, 4626, 1028, 0, 0, 0}, {95, 5888, 16384, 0, 0, 0, 0}, {160, 2048, 8192, 16480, 0, 0, 0}, {15, 51, 768, 85, 1031, 4369, 0}, {170, 2056, 8738, 16448, 0, 0, 0}, {15, 51, 768, 80, 1024, 4096, 0}, {1032, 1124, 17476, 0, 0, 0, 0}, {15, 5424, 1792, 85, 0, 0, 0}, {102, 1024, 0, 0, 0, 0, 0}, {15, 1799, 80, 4112, 0, 0, 0}, {160, 2056, 8224, 16448, 0, 0, 0}, {15, 51, 768, 85, 1024, 4352, 0}, {170, 2048, 8704, 16490, 0, 0, 0}, {15, 51, 768, 80, 1031, 4115, 0}, {108, 8192, 1024, 0, 0, 0, 0}, {15, 4626, 85, 5397, 0, 0, 0}, {1032, 102, 17476, 0, 0, 0, 0}, {15, 4144, 1792, 80, 0, 0, 0}, {240, 2160, 12288, 16496, 0, 0, 0}, {10, 51, 529, 85, 1047, 4369, 0}, {10, 546, 80, 4096, 0, 0, 0}, {3084, 51, 1088, 0, 0, 0, 0}, {1096, 1140, 17476, 0, 0, 0, 0}, {10, 5408, 5888, 85, 0, 0, 0}, {10, 54, 534, 80, 1040, 4112, 0}, {255, 2167, 14199, 16384, 0, 0, 0}, {240, 2168, 12288, 16384, 0, 0, 0}, {10, 51, 531, 85, 1045, 4352, 0}, {10, 4128, 4608, 80, 0, 0, 0}, {1096, 51, 17476, 0, 0, 0, 0}, {60, 12336, 1088, 0, 0, 0, 0}, {10, 546, 85, 5376, 0, 0, 0}, {10, 54, 532, 80, 1042, 4102, 0}, {255, 2175, 14207, 16511, 0, 0, 0}, {16512, 18432, 0, 0, 0, 0, 0}, {274, 5, 4369, 0, 0, 0, 0}, {10, 546, 16384, 0, 0, 0, 0}, {15, 51, 771, 1088, 0, 0, 0}, {1096, 17476, 0, 0, 0, 0, 0}, {4128, 4608, 5, 0, 0, 0, 0}, {10, 1062, 1542, 1088, 0, 0, 0}, {15, 1911, 16384, 0, 0, 0, 0}, {2184, 16384, 0, 0, 0, 0, 0}, {771, 5, 272, 0, 0, 0, 0}, {10, 544, 16896, 0, 0, 0, 0}, {15, 51, 771, 1095, 0, 0, 0}, {3084, 1088, 0, 0, 0, 0, 0}, {546, 5, 4096, 0, 0, 0, 0}, {10, 1060, 1542, 1090, 0, 0, 0}, {15, 1904, 18176, 0, 0, 0, 0}, {2048, 4144, 80, 0, 0, 0, 0}, {1032, 51, 85, 4369, 0, 0, 0}, {90, 4626, 16448, 0, 0, 0, 0}, {95, 51, 4864, 1024, 0, 0, 0}, {4124, 4128, 80, 5140, 0, 0, 0}, {5439, 8704, 85, 0, 0, 0, 0}, {90, 102, 4608, 1024, 0, 0, 0}, {95, 5911, 16448, 0, 0, 0, 0}, {2056, 80, 4112, 0, 0, 0, 0}, {51, 85, 1024, 4352, 0, 0, 0}, {90, 4656, 20992, 0, 0, 0, 0}, {1032, 51, 4883, 1111, 0, 0, 0}, {60, 80, 1024, 4096, 0, 0, 0}, {8738, 85, 5397, 0, 0, 0, 0}, {1032, 1076, 5654, 1106, 0, 0, 0}, {95, 5984, 22272, 0, 0, 0, 0}, {160, 2048, 8192, 16384, 0, 0, 0}, {15, 51, 771, 85, 1028, 4369, 0}, {170, 2056, 8738, 16426, 0, 0, 0}, {15, 51, 771, 80, 1027, 4099, 0}, {108, 8224, 1028, 0, 0, 0, 0}, {15, 4608, 85, 5376, 0, 0, 0}, {1036, 102, 17408, 0, 0, 0, 0}, {15, 4128, 1799, 80, 0, 0, 0}, {160, 2056, 8224, 16416, 0, 0, 0}, {15, 51, 771, 85, 1027, 4352, 0}, {170, 2048, 8704, 16384, 0, 0, 0}, {15, 51, 771, 80, 1028, 4112, 0}, {1036, 1120, 17408, 0, 0, 0, 0}, {15, 5413, 1799, 85, 0, 0, 0}, {102, 1028, 0, 0, 0, 0, 0}, {15, 1792, 80, 4096, 0, 0, 0}, {240, 2160, 12336, 16448, 0, 0, 0}, {10, 51, 529, 85, 1041, 4369, 0}, {10, 4144, 4626, 80, 0, 0, 0}, {1100, 51, 17408, 0, 0, 0, 0}, {60, 12288, 1092, 0, 0, 0, 0}, {10, 544, 85, 5397, 0, 0, 0}, {10, 54, 534, 80, 1046, 4118, 0}, {255, 2167, 14152, 16447, 0, 0, 0}, {240, 2168, 12336, 16432, 0, 0, 0}, {10, 51, 531, 85, 1043, 4352, 0}, {10, 544, 80, 4112, 0, 0, 0}, {3072, 51, 1092, 0, 0, 0, 0}, {1100, 1136, 17408, 0, 0, 0, 0}, {10, 5429, 5911, 85, 0, 0, 0}, {10, 54, 532, 80, 1044, 4096, 0}, {255, 2175, 14144, 16448, 0, 0, 0}, {16576, 2048, 0, 0, 0, 0, 0}, {258, 5, 4369, 0, 0, 0, 0}, {10, 514, 16448, 0, 0, 0, 0}, {15, 51, 768, 1024, 0, 0, 0}, {1032, 17476, 0, 0, 0, 0, 0}, {4144, 512, 5, 0, 0, 0, 0}, {10, 102, 512, 1024, 0, 0, 0}, {15, 1799, 16448, 0, 0, 0, 0}, {2056, 16448, 0, 0, 0, 0, 0}, {51, 5, 256, 0, 0, 0, 0}, {10, 512, 16480, 0, 0, 0, 0}, {15, 51, 768, 1031, 0, 0, 0}, {204, 1024, 0, 0, 0, 0, 0}, {514, 5, 4112, 0, 0, 0, 0}, {10, 102, 514, 1026, 0, 0, 0}, {15, 1792, 16432, 0, 0, 0, 0}, {6144, 4128, 80, 0, 0, 0, 0}, {1053, 51, 85, 4369, 0, 0, 0}, {90, 4642, 16384, 0, 0, 0, 0}, {1055, 51, 4883, 1088, 0, 0, 0}, {4108, 4144, 80, 5140, 0, 0, 0}, {5418, 8704, 85, 0, 0, 0, 0}, {1050, 1062, 5654, 1088, 0, 0, 0}, {95, 6007, 16384, 0, 0, 0, 0}, {2088, 80, 4096, 0, 0, 0, 0}, {51, 85, 1045, 4352, 0, 0, 0}, {90, 4608, 16496, 0, 0, 0, 0}, {95, 51, 4864, 1047, 0, 0, 0}, {60, 80, 1040, 4112, 0, 0, 0}, {8738, 85, 5376, 0, 0, 0, 0}, {90, 102, 4626, 1042, 0, 0, 0}, {95, 5888, 16416, 0, 0, 0, 0}, {160, 2080, 8224, 16448, 0, 0, 0}, {15, 51, 768, 85, 1041, 4369, 0}, {170, 2082, 8738, 16490, 0, 0, 0}, {15, 51, 768, 80, 1043, 4115, 0}, {1064, 8192, 1092, 0, 0, 0, 0}, {15, 4656, 85, 5397, 0, 0, 0}, {1100, 102, 17408, 0, 0, 0, 0}, {15, 4144, 5911, 80, 0, 0, 0}, {160, 2088, 8192, 16480, 0, 0, 0}, {15, 51, 768, 85, 1046, 4352, 0}, {170, 2090, 8704, 16448, 0, 0, 0}, {15, 51, 768, 80, 1044, 4096, 0}, {1100, 1056, 17408, 0, 0, 0, 0}, {15, 5424, 4626, 85, 0, 0, 0}, {3072, 1058, 1092, 0, 0, 0, 0}, {15, 1824, 80, 4112, 0, 0, 0}, {240, 2048, 12288, 16384, 0, 0, 0}, {10, 51, 514, 85, 1028, 4369, 0}, {10, 4128, 514, 80, 0, 0, 0}, {1036, 51, 17408, 0, 0, 0, 0}, {60, 12336, 1028, 0, 0, 0, 0}, {10, 512, 85, 5376, 0, 0, 0}, {10, 54, 512, 80, 1030, 4102, 0}, {255, 2056, 14088, 16511, 0, 0, 0}, {240, 2056, 12288, 16496, 0, 0, 0}, {10, 51, 512, 85, 1030, 4352, 0}, {10, 512, 80, 4096, 0, 0, 0}, {51, 1028, 0, 0, 0, 0, 0}, {1036, 1072, 17408, 0, 0, 0, 0}, {10, 5408, 514, 85, 0, 0, 0}, {10, 54, 514, 80, 1028, 4112, 0}, {255, 2048, 14080, 16384, 0, 0, 0}, {13056, 1280, 0, 0, 0, 0, 0}, {8, 64, 257, 0, 0, 0, 0}, {8, 4386, 514, 1282, 0, 0, 0}, {1295, 771, 20528, 0, 0, 0, 0}, {512, 260, 4096, 0, 0, 0, 0}, {13311, 1285, 0, 0, 0, 0, 0}, {1290, 1542, 20576, 0, 0, 0, 0}, {8, 4471, 512, 1287, 0, 0, 0}, {8, 512, 1280, 4352, 0, 0, 0}, {192, 771, 1285, 0, 0, 0, 0}, {1290, 13056, 0, 0, 0, 0, 0}, {259, 64, 1028, 0, 0, 0, 0}, {780, 12288, 1280, 0, 0, 0, 0}, {8, 514, 4437, 1285, 0, 0, 0}, {262, 64, 1028, 0, 0, 0, 0}, {1295, 26112, 0, 0, 0, 0, 0}, {816, 64, 1296, 4112, 0, 0, 0}, {2594, 1365, 4369, 0, 0, 0, 0}, {72, 4386, 4626, 1298, 0, 0, 0}, {1375, 4883, 20512, 0, 0, 0, 0}, {8704, 4420, 5140, 0, 0, 0, 0}, {831, 64, 1301, 4096, 0, 0, 0}, {1370, 5654, 20592, 0, 0, 0, 0}, {72, 4471, 4608, 1303, 0, 0, 0}, {1304, 816, 1360, 4352, 0, 0, 0}, {6425, 4915, 1365, 0, 0, 0, 0}, {1306, 4144, 4864, 64, 0, 0, 0}, {1375, 4403, 17476, 0, 0, 0, 0}, {5692, 8224, 1360, 0, 0, 0, 0}, {4381, 4642, 4437, 5120, 0, 0, 0}, {1370, 4454, 17476, 0, 0, 0, 0}, {1311, 4128, 5632, 64, 0, 0, 0}, {1312, 5632, 21760, 0, 0, 0, 0}, {72, 1381, 771, 4369, 0, 0, 0}, {4386, 5120, 0, 0, 0, 0, 0}, {1327, 771, 64, 4112, 0, 0, 0}, {4364, 5156, 4608, 4420, 0, 0, 0}, {5722, 1317, 21845, 0, 0, 0, 0}, {780, 1574, 64, 4096, 0, 0, 0}, {3855, 1319, 5200, 0, 0, 0, 0}, {1320, 4352, 0, 0, 0, 0, 0}, {4144, 771, 64, 5397, 0, 0, 0}, {1322, 4864, 20480, 0, 0, 0, 0}, {72, 4403, 771, 5140, 0, 0, 0}, {780, 4128, 64, 5376, 0, 0, 0}, {1325, 8738, 4437, 0, 0, 0, 0}, {5132, 1314, 5888, 5188, 0, 0, 0}, {4959, 5744, 20560, 0, 0, 0, 0}, {1328, 1536, 21760, 0, 0, 0, 0}, {8, 1397, 514, 4369, 0, 0, 0}, {8, 306, 514, 64, 1024, 4112, 0}, {1535, 2560, 13107, 20480, 0, 0, 0}, {8, 5172, 512, 4420, 0, 0, 0}, {1546, 1333, 21845, 0, 0, 0, 0}, {1530, 2570, 13878, 20560, 0, 0, 0}, {8, 311, 512, 64, 1024, 4096, 0}, {8, 304, 512, 64, 1024, 4352, 0}, {1525, 2570, 13107, 21845, 0, 0, 0}, {1546, 816, 20560, 0, 0, 0, 0}, {8, 4403, 512, 5188, 0, 0, 0}, {1520, 2560, 13884, 21760, 0, 0, 0}, {8, 309, 514, 64, 1024, 4373, 0}, {8, 4454, 514, 5140, 0, 0, 0}, {1343, 1536, 20480, 0, 0, 0, 0}, {768, 64, 1280, 4096, 0, 0, 0}, {136, 1285, 4369, 0, 0, 0, 0}, {1290, 4386, 768, 1346, 0, 0, 0}, {1295, 4915, 17219, 0, 0, 0, 0}, {8704, 4420, 1280, 0, 0, 0, 0}, {783, 64, 1285, 4112, 0, 0, 0}, {1290, 5734, 17990, 0, 0, 0, 0}, {1295, 5168, 1536, 1351, 0, 0, 0}, {72, 768, 1280, 4352, 0, 0, 0}, {128, 4883, 1285, 0, 0, 0, 0}, {1290, 4128, 768, 64, 0, 0, 0}, {1295, 4403, 17476, 0, 0, 0, 0}, {4940, 8192, 1280, 0, 0, 0, 0}, {4381, 4626, 4437, 1285, 0, 0, 0}, {1290, 4454, 17476, 0, 0, 0, 0}, {1295, 4144, 1536, 64, 0, 0, 0}, {13056, 1360, 0, 0, 0, 0, 0}, {8, 1028, 273, 0, 0, 0, 0}, {8, 4386, 4864, 1362, 0, 0, 0}, {1375, 819, 21331, 0, 0, 0, 0}, {544, 276, 4112, 0, 0, 0, 0}, {15360, 1365, 0, 0, 0, 0, 0}, {1370, 1638, 22102, 0, 0, 0, 0}, {8, 5152, 5632, 1367, 0, 0, 0}, {8, 544, 1360, 4352, 0, 0, 0}, {3084, 819, 1365, 0, 0, 0, 0}, {1370, 13056, 0, 0, 0, 0, 0}, {275, 64, 1028, 0, 0, 0, 0}, {828, 12336, 1360, 0, 0, 0, 0}, {8, 546, 4437, 5120, 0, 0, 0}, {278, 64, 1028, 0, 0, 0, 0}, {1375, 26112, 0, 0, 0, 0, 0}, {1376, 768, 21760, 0, 0, 0, 0}, {8, 1317, 1799, 4369, 0, 0, 0}, {8, 290, 768, 64, 1024, 4096, 0}, {1455, 3855, 13107, 20560, 0, 0, 0}, {8, 1312, 1792, 4420, 0, 0, 0}, {783, 1381, 21845, 0, 0, 0, 0}, {1450, 3840, 13926, 20480, 0, 0, 0}, {8, 295, 775, 64, 1024, 4112, 0}, {8, 288, 768, 64, 1024, 4352, 0}, {1445, 3855, 13107, 21845, 0, 0, 0}, {1386, 768, 20480, 0, 0, 0, 0}, {8, 4403, 4883, 5140, 0, 0, 0}, {1440, 3840, 13932, 21760, 0, 0, 0}, {8, 293, 775, 64, 1024, 4373, 0}, {8, 1314, 1792, 5188, 0, 0, 0}, {783, 1632, 20560, 0, 0, 0, 0}, {1392, 4864, 21760, 0, 0, 0, 0}, {72, 1333, 1542, 4369, 0, 0, 0}, {2570, 4386, 5200, 0, 0, 0, 0}, {1548, 819, 64, 4096, 0, 0, 0}, {4364, 1328, 5888, 4420, 0, 0, 0}, {4959, 1397, 21845, 0, 0, 0, 0}, {1338, 1542, 64, 4112, 0, 0, 0}, {4471, 5120, 0, 0, 0, 0, 0}, {1400, 4352, 0, 0, 0, 0, 0}, {4128, 4883, 64, 5397, 0, 0, 0}, {5722, 4896, 20560, 0, 0, 0, 0}, {5132, 4403, 4608, 5188, 0, 0, 0}, {4876, 4144, 64, 5376, 0, 0, 0}, {5160, 8738, 4437, 0, 0, 0, 0}, {72, 4454, 4626, 5140, 0, 0, 0}, {1407, 5632, 20480, 0, 0, 0, 0}, {128, 4864, 1280, 0, 0, 0, 0}, {72, 771, 1285, 4369, 0, 0, 0}, {1290, 4386, 17408, 0, 0, 0, 0}, {1295, 4144, 771, 64, 0, 0, 0}, {4364, 4608, 4420, 1280, 0, 0, 0}, {4959, 8224, 1285, 0, 0, 0, 0}, {1290, 4128, 1542, 64, 0, 0, 0}, {1295, 4471, 17408, 0, 0, 0, 0}, {136, 1280, 4352, 0, 0, 0, 0}, {771, 64, 1285, 4112, 0, 0, 0}, {1290, 4896, 17152, 0, 0, 0, 0}, {1295, 4403, 771, 1351, 0, 0, 0}, {780, 64, 1280, 4096, 0, 0, 0}, {8738, 4437, 1285, 0, 0, 0, 0}, {1290, 5156, 1542, 1346, 0, 0, 0}, {1295, 5744, 17920, 0, 0, 0, 0}, {3072, 816, 1360, 0, 0, 0, 0}, {8, 546, 1365, 4369, 0, 0, 0}, {274, 64, 1024, 0, 0, 0, 0}, {1375, 13107, 0, 0, 0, 0, 0}, {8, 544, 4420, 5140, 0, 0, 0}, {831, 12288, 1365, 0, 0, 0, 0}, {1370, 26214, 0, 0, 0, 0, 0}, {279, 64, 1024, 0, 0, 0, 0}, {8, 1024, 272, 0, 0, 0, 0}, {13107, 1365, 0, 0, 0, 0, 0}, {1370, 816, 21248, 0, 0, 0, 0}, {8, 4403, 4883, 1367, 0, 0, 0}, {15420, 1360, 0, 0, 0, 0, 0}, {546, 277, 4096, 0, 0, 0, 0}, {8, 5172, 5654, 1362, 0, 0, 0}, {1375, 1632, 22016, 0, 0, 0, 0}, {1440, 3840, 13056, 21760, 0, 0, 0}, {8, 289, 771, 64, 1028, 4369, 0}, {8, 4386, 4864, 5120, 0, 0, 0}, {1391, 771, 20560, 0, 0, 0, 0}, {8, 292, 772, 64, 1028, 4356, 0}, {1445, 3855, 13914, 21845, 0, 0, 0}, {780, 1638, 20480, 0, 0, 0, 0}, {8, 1319, 1799, 5200, 0, 0, 0}, {8, 1312, 1792, 4352, 0, 0, 0}, {1381, 771, 21845, 0, 0, 0, 0}, {1450, 3840, 13056, 20480, 0, 0, 0}, {8, 291, 771, 64, 1028, 4112, 0}, {780, 1376, 21760, 0, 0, 0, 0}, {8, 1317, 1799, 4437, 0, 0, 0}, {8, 294, 772, 64, 1028, 4096, 0}, {1455, 3855, 13904, 20560, 0, 0, 0}, {4144, 4864, 64, 5376, 0, 0, 0}, {1405, 4369, 0, 0, 0, 0, 0}, {5144, 4386, 4626, 5200, 0, 0, 0}, {5708, 4915, 20480, 0, 0, 0, 0}, {5180, 8704, 4420, 0, 0, 0, 0}, {4895, 4128, 64, 5397, 0, 0, 0}, {1402, 5654, 20560, 0, 0, 0, 0}, {72, 4471, 4608, 5120, 0, 0, 0}, {72, 1328, 1536, 4352, 0, 0, 0}, {1397, 4883, 21845, 0, 0, 0, 0}, {1546, 816, 64, 4112, 0, 0, 0}, {2560, 4403, 5188, 0, 0, 0, 0}, {4940, 1392, 21760, 0, 0, 0, 0}, {4381, 1333, 5911, 4437, 0, 0, 0}, {4454, 5140, 0, 0, 0, 0, 0}, {1343, 1536, 64, 4096, 0, 0, 0}, {192, 768, 1280, 0, 0, 0, 0}, {8, 514, 1285, 4369, 0, 0, 0}, {258, 64, 1024, 0, 0, 0, 0}, {1295, 13107, 0, 0, 0, 0, 0}, {8, 512, 4420, 1280, 0, 0, 0}, {783, 12336, 1285, 0, 0, 0, 0}, {1290, 26214, 0, 0, 0, 0, 0}, {263, 64, 1024, 0, 0, 0, 0}, {8, 64, 256, 0, 0, 0, 0}, {13107, 1285, 0, 0, 0, 0, 0}, {1290, 768, 20576, 0, 0, 0, 0}, {8, 4403, 512, 1287, 0, 0, 0}, {13260, 1280, 0, 0, 0, 0, 0}, {514, 261, 4112, 0, 0, 0, 0}, {8, 4454, 514, 1282, 0, 0, 0}, {1295, 1536, 20528, 0, 0, 0, 0}, {6400, 4896, 1360, 0, 0, 0, 0}, {1309, 819, 1365, 4369, 0, 0, 0}, {1370, 4386, 17408, 0, 0, 0, 0}, {1311, 4128, 4883, 64, 0, 0, 0}, {4364, 4656, 4420, 5140, 0, 0, 0}, {5674, 8192, 1365, 0, 0, 0, 0}, {1306, 4144, 5654, 64, 0, 0, 0}, {1375, 4471, 17408, 0, 0, 0, 0}, {2600, 1360, 4352, 0, 0, 0, 0}, {819, 64, 1301, 4096, 0, 0, 0}, {1370, 4864, 20592, 0, 0, 0, 0}, {72, 4403, 4608, 1303, 0, 0, 0}, {828, 64, 1296, 4112, 0, 0, 0}, {8738, 4437, 5120, 0, 0, 0, 0}, {72, 4454, 4626, 1298, 0, 0, 0}, {1375, 5632, 20512, 0, 0, 0, 0}, {4128, 768, 64, 5376, 0, 0, 0}, {1325, 4369, 0, 0, 0, 0, 0}, {72, 4386, 768, 5120, 0, 0, 0}, {1327, 4883, 20560, 0, 0, 0, 0}, {1320, 8704, 4420, 0, 0, 0, 0}, {783, 4144, 64, 5397, 0, 0, 0}, {4940, 5734, 20480, 0, 0, 0, 0}, {5144, 1319, 5911, 5200, 0, 0, 0}, {72, 1376, 768, 4352, 0, 0, 0}, {1317, 5654, 21845, 0, 0, 0, 0}, {1322, 768, 64, 4096, 0, 0, 0}, {4403, 5140, 0, 0, 0, 0, 0}, {5708, 1312, 21760, 0, 0, 0, 0}, {4381, 5168, 4626, 4437, 0, 0, 0}, {3840, 1314, 5188, 0, 0, 0, 0}, {783, 1568, 64, 4112, 0, 0, 0}, {1520, 2560, 13056, 21760, 0, 0, 0}, {8, 305, 514, 64, 1028, 4369, 0}, {8, 4386, 514, 5200, 0, 0, 0}, {1548, 819, 20480, 0, 0, 0, 0}, {8, 308, 512, 64, 1028, 4356, 0}, {1525, 2570, 13834, 21845, 0, 0, 0}, {1338, 1542, 20560, 0, 0, 0, 0}, {8, 4471, 512, 5120, 0, 0, 0}, {8, 1392, 512, 4352, 0, 0, 0}, {1333, 1542, 21845, 0, 0, 0, 0}, {1530, 2570, 13056, 20560, 0, 0, 0}, {8, 307, 512, 64, 1028, 4096, 0}, {1548, 1328, 21760, 0, 0, 0, 0}, {8, 5152, 514, 4437, 0, 0, 0}, {8, 310, 514, 64, 1028, 4112, 0}, {1535, 2560, 13824, 20480, 0, 0, 0}, {2560, 24576, 0, 0, 0, 0, 0}, {7, 68, 257, 0, 0, 0, 0}, {8, 514, 16384, 0, 0, 0, 0}, {15, 51, 771, 1280, 0, 0, 0}, {8, 512, 68, 1028, 0, 0, 0}, {15, 12288, 1285, 0, 0, 0, 0}, {204, 1542, 0, 0, 0, 0, 0}, {7, 1280, 4096, 0, 0, 0, 0}, {8, 512, 16384, 0, 0, 0, 0}, {15, 51, 771, 1285, 0, 0, 0}, {24736, 2570, 0, 0, 0, 0, 0}, {259, 260, 4352, 0, 0, 0, 0}, {1548, 26112, 0, 0, 0, 0, 0}, {7, 4176, 1285, 0, 0, 0, 0}, {8, 514, 68, 1028, 0, 0, 0}, {15, 12288, 1280, 0, 0, 0, 0}, {2640, 112, 4112, 0, 0, 0, 0}, {51, 1553, 68, 4369, 0, 0, 0}, {120, 4626, 20480, 0, 0, 0, 0}, {76, 51, 4883, 5376, 0, 0, 0}, {60, 4608, 68, 5140, 0, 0, 0}, {127, 8192, 5397, 0, 0, 0, 0}, {76, 112, 1558, 4096, 0, 0, 0}, {119, 5911, 21760, 0, 0, 0, 0}, {4680, 4656, 20560, 0, 0, 0, 0}, {5401, 51, 4864, 5461, 0, 0, 0}, {6682, 4144, 4160, 0, 0, 0, 0}, {1563, 51, 68, 4352, 0, 0, 0}, {4124, 4128, 5632, 4176, 0, 0, 0}, {5960, 119, 21845, 0, 0, 0, 0}, {4638, 4642, 68, 5120, 0, 0, 0}, {5439, 8224, 5440, 0, 0, 0, 0}, {128, 2592, 8224, 16384, 0, 0, 0}, {15, 51, 771, 68, 1297, 4369, 0}, {136, 2594, 8738, 16930, 0, 0, 0}, {15, 51, 771, 67, 1299, 4112, 0}, {3084, 1572, 68, 0, 0, 0, 0}, {15, 1317, 1365, 4096, 0, 0, 0}, {76, 1574, 16448, 0, 0, 0, 0}, {15, 1319, 4608, 1360, 0, 0, 0}, {136, 2600, 8704, 16936, 0, 0, 0}, {15, 51, 771, 67, 1302, 4099, 0}, {128, 2602, 8192, 16384, 0, 0, 0}, {15, 51, 771, 68, 1300, 4352, 0}, {76, 1632, 16448, 0, 0, 0, 0}, {15, 1314, 5888, 1365, 0, 0, 0}, {1582, 8738, 68, 0, 0, 0, 0}, {15, 4128, 4176, 5376, 0, 0, 0}, {240, 2560, 12336, 20480, 0, 0, 0}, {8, 51, 514, 68, 1024, 4369, 0}, {8, 112, 514, 4112, 0, 0, 0}, {51, 1536, 21760, 0, 0, 0, 0}, {8, 52, 512, 68, 1024, 4096, 0}, {255, 2570, 13621, 21845, 0, 0, 0}, {1546, 1590, 20560, 0, 0, 0, 0}, {8, 5431, 512, 5440, 0, 0, 0}, {8, 4144, 512, 4160, 0, 0, 0}, {1546, 51, 21845, 0, 0, 0, 0}, {240, 2570, 12336, 20560, 0, 0, 0}, {8, 51, 512, 68, 1024, 4352, 0}, {60, 1536, 20480, 0, 0, 0, 0}, {8, 119, 514, 5397, 0, 0, 0}, {8, 52, 514, 68, 1024, 4116, 0}, {255, 2560, 13631, 21760, 0, 0, 0}, {128, 2560, 8192, 16448, 0, 0, 0}, {15, 51, 768, 68, 1285, 4369, 0}, {136, 2570, 8738, 16962, 0, 0, 0}, {15, 51, 768, 67, 1280, 4096, 0}, {1536, 68, 0, 0, 0, 0, 0}, {15, 112, 1285, 4112, 0, 0, 0}, {76, 1606, 16384, 0, 0, 0, 0}, {15, 119, 4679, 1280, 0, 0, 0}, {136, 2560, 8704, 16968, 0, 0, 0}, {15, 51, 768, 67, 1285, 4115, 0}, {128, 2570, 8224, 16448, 0, 0, 0}, {15, 51, 768, 68, 1280, 4352, 0}, {76, 1536, 16384, 0, 0, 0, 0}, {15, 119, 4626, 1285, 0, 0, 0}, {1546, 8738, 68, 0, 0, 0, 0}, {15, 4144, 4160, 1280, 0, 0, 0}, {240, 2640, 12288, 20560, 0, 0, 0}, {8, 51, 529, 68, 1028, 4369, 0}, {8, 112, 594, 4096, 0, 0, 0}, {51, 1619, 21760, 0, 0, 0, 0}, {8, 52, 532, 68, 1028, 4112, 0}, {255, 2645, 13653, 21845, 0, 0, 0}, {60, 1622, 20480, 0, 0, 0, 0}, {8, 119, 599, 5376, 0, 0, 0}, {8, 4128, 4608, 4176, 0, 0, 0}, {1625, 51, 21845, 0, 0, 0, 0}, {240, 2650, 12288, 20480, 0, 0, 0}, {8, 51, 531, 68, 1028, 4352, 0}, {1628, 1632, 20560, 0, 0, 0, 0}, {8, 5410, 5888, 5461, 0, 0, 0}, {8, 52, 534, 68, 1028, 4100, 0}, {255, 2655, 13663, 21760, 0, 0, 0}, {2720, 24672, 0, 0, 0, 0, 0}, {7, 1024, 273, 0, 0, 0, 0}, {8, 546, 16448, 0, 0, 0, 0}, {15, 51, 768, 1360, 0, 0, 0}, {8, 544, 68, 1024, 0, 0, 0}, {15, 12336, 1365, 0, 0, 0, 0}, {3072, 1638, 0, 0, 0, 0, 0}, {7, 1360, 4112, 0, 0, 0, 0}, {8, 544, 16448, 0, 0, 0, 0}, {15, 51, 768, 1365, 0, 0, 0}, {24768, 27242, 0, 0, 0, 0, 0}, {275, 276, 4352, 0, 0, 0, 0}, {1644, 26112, 0, 0, 0, 0, 0}, {7, 4160, 5397, 0, 0, 0, 0}, {8, 546, 68, 1024, 0, 0, 0}, {15, 12336, 1360, 0, 0, 0, 0}, {2560, 112, 4096, 0, 0, 0, 0}, {51, 1542, 68, 4369, 0, 0, 0}, {4698, 4642, 20560, 0, 0, 0, 0}, {5388, 51, 4864, 5440, 0, 0, 0}, {4620, 4656, 68, 5120, 0, 0, 0}, {5418, 8224, 5461, 0, 0, 0, 0}, {76, 112, 1542, 4112, 0, 0, 0}, {119, 5888, 21760, 0, 0, 0, 0}, {120, 4608, 20480, 0, 0, 0, 0}, {76, 51, 4883, 5397, 0, 0, 0}, {2570, 4128, 4176, 0, 0, 0, 0}, {1548, 51, 68, 4352, 0, 0, 0}, {4108, 4144, 5632, 4160, 0, 0, 0}, {5983, 119, 21845, 0, 0, 0, 0}, {60, 4626, 68, 5140, 0, 0, 0}, {127, 8192, 5376, 0, 0, 0, 0}, {128, 2560, 8192, 16384, 0, 0, 0}, {15, 51, 771, 68, 1285, 4369, 0}, {136, 2570, 8738, 16906, 0, 0, 0}, {15, 51, 771, 67, 1280, 4099, 0}, {1548, 8704, 68, 0, 0, 0, 0}, {15, 4128, 4176, 1285, 0, 0, 0}, {76, 1542, 16448, 0, 0, 0, 0}, {15, 119, 4608, 1280, 0, 0, 0}, {136, 2560, 8704, 16896, 0, 0, 0}, {15, 51, 771, 67, 1285, 4112, 0}, {128, 2570, 8224, 16384, 0, 0, 0}, {15, 51, 771, 68, 1280, 4352, 0}, {76, 1600, 16448, 0, 0, 0, 0}, {15, 119, 4693, 1285, 0, 0, 0}, {1542, 68, 0, 0, 0, 0, 0}, {15, 112, 1280, 4096, 0, 0, 0}, {240, 2640, 12336, 20560, 0, 0, 0}, {8, 51, 529, 68, 1024, 4369, 0}, {8, 4144, 4626, 4160, 0, 0, 0}, {1631, 51, 21760, 0, 0, 0, 0}, {8, 52, 532, 68, 1024, 4116, 0}, {255, 2645, 13674, 21845, 0, 0, 0}, {1626, 1638, 20480, 0, 0, 0, 0}, {8, 5431, 5911, 5440, 0, 0, 0}, {8, 112, 592, 4112, 0, 0, 0}, {51, 1621, 21845, 0, 0, 0, 0}, {240, 2650, 12336, 20480, 0, 0, 0}, {8, 51, 531, 68, 1024, 4352, 0}, {60, 1616, 20560, 0, 0, 0, 0}, {8, 119, 597, 5397, 0, 0, 0}, {8, 52, 534, 68, 1024, 4096, 0}, {255, 2655, 13664, 21760, 0, 0, 0}, {24736, 27136, 0, 0, 0, 0, 0}, {274, 277, 4369, 0, 0, 0, 0}, {8, 546, 16384, 0, 0, 0, 0}, {15, 51, 771, 1360, 0, 0, 0}, {8, 544, 68, 1028, 0, 0, 0}, {15, 12288, 1365, 0, 0, 0, 0}, {1642, 26214, 0, 0, 0, 0, 0}, {7, 4176, 5376, 0, 0, 0, 0}, {8, 544, 16384, 0, 0, 0, 0}, {15, 51, 771, 1365, 0, 0, 0}, {2730, 24576, 0, 0, 0, 0, 0}, {7, 1028, 272, 0, 0, 0, 0}, {3084, 1632, 0, 0, 0, 0, 0}, {7, 1365, 4096, 0, 0, 0, 0}, {8, 546, 68, 1028, 0, 0, 0}, {15, 12288, 1360, 0, 0, 0, 0}, {2560, 4144, 4160, 0, 0, 0, 0}, {1546, 51, 68, 4369, 0, 0, 0}, {120, 4626, 20560, 0, 0, 0, 0}, {76, 51, 4864, 5376, 0, 0, 0}, {60, 4608, 68, 5120, 0, 0, 0}, {127, 8224, 5397, 0, 0, 0, 0}, {4124, 4128, 5654, 4176, 0, 0, 0}, {5960, 119, 21760, 0, 0, 0, 0}, {4680, 4656, 20480, 0, 0, 0, 0}, {5401, 51, 4883, 5461, 0, 0, 0}, {2570, 112, 4112, 0, 0, 0, 0}, {51, 1536, 68, 4352, 0, 0, 0}, {76, 112, 1536, 4096, 0, 0, 0}, {119, 5911, 21845, 0, 0, 0, 0}, {4638, 4642, 68, 5140, 0, 0, 0}, {5439, 8192, 5440, 0, 0, 0, 0}, {24768, 2560, 0, 0, 0, 0, 0}, {258, 261, 4369, 0, 0, 0, 0}, {8, 514, 16448, 0, 0, 0, 0}, {15, 51, 768, 1280, 0, 0, 0}, {8, 512, 68, 1024, 0, 0, 0}, {15, 12336, 1285, 0, 0, 0, 0}, {1546, 26214, 0, 0, 0, 0, 0}, {7, 4160, 1280, 0, 0, 0, 0}, {8, 512, 16448, 0, 0, 0, 0}, {15, 51, 768, 1285, 0, 0, 0}, {2570, 24672, 0, 0, 0, 0, 0}, {7, 68, 256, 0, 0, 0, 0}, {204, 1536, 0, 0, 0, 0, 0}, {7, 1285, 4112, 0, 0, 0, 0}, {8, 514, 68, 1024, 0, 0, 0}, {15, 12336, 1280, 0, 0, 0, 0}, {6656, 4128, 4176, 0, 0, 0, 0}, {1565, 51, 68, 4369, 0, 0, 0}, {4698, 4642, 20480, 0, 0, 0, 0}, {5388, 51, 4883, 5440, 0, 0, 0}, {4620, 4656, 68, 5140, 0, 0, 0}, {5418, 8192, 5461, 0, 0, 0, 0}, {4108, 4144, 5654, 4160, 0, 0, 0}, {5983, 119, 21760, 0, 0, 0, 0}, {120, 4608, 20560, 0, 0, 0, 0}, {76, 51, 4864, 5397, 0, 0, 0}, {2650, 112, 4096, 0, 0, 0, 0}, {51, 1559, 68, 4352, 0, 0, 0}, {76, 112, 1552, 4112, 0, 0, 0}, {119, 5888, 21845, 0, 0, 0, 0}, {60, 4626, 68, 5120, 0, 0, 0}, {127, 8224, 5376, 0, 0, 0, 0}, {128, 2592, 8224, 16448, 0, 0, 0}, {15, 51, 768, 68, 1297, 4369, 0}, {136, 2594, 8738, 17002, 0, 0, 0}, {15, 51, 768, 67, 1299, 4115, 0}, {1576, 8704, 68, 0, 0, 0, 0}, {15, 4144, 4160, 5397, 0, 0, 0}, {76, 1638, 16384, 0, 0, 0, 0}, {15, 1319, 5911, 1360, 0, 0, 0}, {136, 2600, 8704, 16992, 0, 0, 0}, {15, 51, 768, 67, 1302, 4096, 0}, {128, 2602, 8192, 16448, 0, 0, 0}, {15, 51, 768, 68, 1300, 4352, 0}, {76, 1568, 16384, 0, 0, 0, 0}, {15, 1314, 4626, 1365, 0, 0, 0}, {3072, 1570, 68, 0, 0, 0, 0}, {15, 1312, 1360, 4112, 0, 0, 0}, {240, 2560, 12288, 20480, 0, 0, 0}, {8, 51, 514, 68, 1028, 4369, 0}, {8, 4128, 514, 4176, 0, 0, 0}, {1548, 51, 21760, 0, 0, 0, 0}, {8, 52, 512, 68, 1028, 4100, 0}, {255, 2570, 13578, 21845, 0, 0, 0}, {60, 1542, 20560, 0, 0, 0, 0}, {8, 119, 512, 5376, 0, 0, 0}, {8, 112, 512, 4096, 0, 0, 0}, {51, 1542, 21845, 0, 0, 0, 0}, {240, 2570, 12288, 20560, 0, 0, 0}, {8, 51, 512, 68, 1028, 4352, 0}, {1548, 1584, 20480, 0, 0, 0, 0}, {8, 5410, 514, 5461, 0, 0, 0}, {8, 52, 514, 68, 1028, 4112, 0}, {255, 2560, 13568, 21760, 0, 0, 0}, {1792, 17408, 0, 0, 0, 0, 0}, {10, 96, 257, 0, 0, 0, 0}, {10, 4386, 514, 1280, 0, 0, 0}, {1036, 771, 16384, 0, 0, 0, 0}, {780, 12288, 1028, 0, 0, 0, 0}, {10, 512, 4437, 1285, 0, 0, 0}, {262, 1280, 4096, 0, 0, 0, 0}, {17544, 1799, 0, 0, 0, 0, 0}, {1800, 13056, 0, 0, 0, 0, 0}, {259, 4176, 1285, 0, 0, 0, 0}, {10, 512, 1280, 4352, 0, 0, 0}, {192, 771, 1028, 0, 0, 0, 0}, {1036, 1792, 16384, 0, 0, 0, 0}, {10, 4471, 514, 1285, 0, 0, 0}, {4128, 514, 260, 0, 0, 0, 0}, {1807, 17408, 0, 0, 0, 0, 0}, {1056, 1808, 1088, 4112, 0, 0, 0}, {3925, 1911, 4369, 0, 0, 0, 0}, {4424, 4386, 4626, 5376, 0, 0, 0}, {5228, 4883, 20480, 0, 0, 0, 0}, {4972, 8192, 5140, 0, 0, 0, 0}, {4415, 4608, 4437, 5397, 0, 0, 0}, {4454, 5654, 21760, 0, 0, 0, 0}, {1096, 96, 1815, 4096, 0, 0, 0}, {5144, 4144, 4864, 4176, 0, 0, 0}, {5708, 4403, 21845, 0, 0, 0, 0}, {1818, 816, 1088, 4352, 0, 0, 0}, {6939, 4915, 5188, 0, 0, 0, 0}, {4940, 1904, 20560, 0, 0, 0, 0}, {4381, 1058, 5632, 5461, 0, 0, 0}, {5692, 8738, 4420, 0, 0, 0, 0}, {4895, 4128, 4160, 5120, 0, 0, 0}, {4896, 5120, 0, 0, 0, 0, 0}, {1070, 771, 1092, 4369, 0, 0, 0}, {4386, 5632, 21760, 0, 0, 0, 0}, {1100, 96, 771, 4112, 0, 0, 0}, {780, 1060, 1092, 4096, 0, 0, 0}, {3855, 1829, 4437, 0, 0, 0, 0}, {4364, 1062, 4608, 5440, 0, 0, 0}, {4959, 1831, 20560, 0, 0, 0, 0}, {5160, 4864, 20480, 0, 0, 0, 0}, {4441, 4403, 771, 5397, 0, 0, 0}, {1834, 4352, 0, 0, 0, 0, 0}, {4144, 771, 4176, 5140, 0, 0, 0}, {5132, 4128, 5888, 4160, 0, 0, 0}, {5722, 4471, 21845, 0, 0, 0, 0}, {780, 4642, 4420, 5376, 0, 0, 0}, {1839, 8224, 5200, 0, 0, 0, 0}, {816, 1024, 0, 0, 0, 0, 0}, {10, 514, 1365, 4369, 0, 0, 0}, {10, 306, 514, 338, 1026, 4112, 0}, {2047, 2048, 13107, 17203, 0, 0, 0}, {2040, 2056, 13364, 17476, 0, 0, 0}, {10, 309, 512, 341, 1024, 4096, 0}, {10, 5174, 512, 1360, 0, 0, 0}, {1032, 1847, 16448, 0, 0, 0, 0}, {1032, 816, 16448, 0, 0, 0, 0}, {10, 4403, 512, 1365, 0, 0, 0}, {10, 304, 512, 336, 1024, 4352, 0}, {2039, 2056, 13107, 17476, 0, 0, 0}, {2032, 2048, 13372, 17212, 0, 0, 0}, {10, 311, 514, 343, 1026, 4375, 0}, {10, 514, 4420, 5140, 0, 0, 0}, {831, 12288, 1024, 0, 0, 0, 0}, {768, 1088, 0, 0, 0, 0, 0}, {10, 546, 1285, 4369, 0, 0, 0}, {10, 290, 768, 322, 1280, 4096, 0}, {1935, 3855, 13107, 17219, 0, 0, 0}, {1928, 3840, 13380, 17476, 0, 0, 0}, {10, 293, 773, 325, 1285, 4112, 0}, {10, 4454, 4934, 1280, 0, 0, 0}, {1096, 1863, 16384, 0, 0, 0, 0}, {1096, 768, 16384, 0, 0, 0, 0}, {10, 4403, 4883, 1285, 0, 0, 0}, {10, 288, 768, 320, 1280, 4352, 0}, {1927, 3855, 13107, 17476, 0, 0, 0}, {1920, 3840, 13388, 17228, 0, 0, 0}, {10, 295, 773, 327, 1285, 4375, 0}, {10, 546, 4420, 1280, 0, 0, 0}, {783, 12336, 1088, 0, 0, 0, 0}, {4864, 5200, 0, 0, 0, 0, 0}, {857, 819, 1028, 4369, 0, 0, 0}, {4386, 1874, 21760, 0, 0, 0, 0}, {1036, 96, 851, 4096, 0, 0, 0}, {860, 96, 1028, 4112, 0, 0, 0}, {5632, 4437, 0, 0, 0, 0, 0}, {4364, 4454, 854, 5376, 0, 0, 0}, {5160, 1879, 20480, 0, 0, 0, 0}, {1880, 4896, 20560, 0, 0, 0, 0}, {1036, 4403, 4608, 5461, 0, 0, 0}, {1882, 4352, 0, 0, 0, 0, 0}, {4128, 4883, 4160, 1028, 0, 0, 0}, {1036, 4144, 5888, 4176, 0, 0, 0}, {1885, 4471, 21845, 0, 0, 0, 0}, {4398, 4626, 4420, 1028, 0, 0, 0}, {4959, 8192, 5120, 0, 0, 0, 0}, {96, 768, 1024, 4096, 0, 0, 0}, {170, 1799, 4369, 0, 0, 0, 0}, {1032, 4386, 768, 5440, 0, 0, 0}, {1807, 4915, 20560, 0, 0, 0, 0}, {1800, 8224, 5188, 0, 0, 0, 0}, {783, 4656, 4437, 1024, 0, 0, 0}, {4454, 1792, 21760, 0, 0, 0, 0}, {1032, 96, 1799, 4112, 0, 0, 0}, {1032, 4128, 768, 4160, 0, 0, 0}, {1807, 4403, 21845, 0, 0, 0, 0}, {106, 768, 1024, 4352, 0, 0, 0}, {160, 4883, 5140, 0, 0, 0, 0}, {5228, 1792, 20480, 0, 0, 0, 0}, {4381, 4471, 4626, 5397, 0, 0, 0}, {1800, 8738, 4420, 0, 0, 0, 0}, {783, 4144, 4176, 1024, 0, 0, 0}, {1904, 17408, 0, 0, 0, 0, 0}, {10, 1542, 273, 0, 0, 0, 0}, {10, 4386, 4864, 1360, 0, 0, 0}, {1100, 819, 16448, 0, 0, 0, 0}, {828, 12336, 1092, 0, 0, 0, 0}, {10, 544, 4437, 5120, 0, 0, 0}, {278, 1360, 4112, 0, 0, 0, 0}, {19456, 1911, 0, 0, 0, 0, 0}, {1912, 13056, 0, 0, 0, 0, 0}, {275, 4160, 5397, 0, 0, 0, 0}, {10, 544, 1360, 4352, 0, 0, 0}, {3084, 819, 1092, 0, 0, 0, 0}, {1100, 1904, 16448, 0, 0, 0, 0}, {10, 5154, 5632, 1365, 0, 0, 0}, {4144, 4626, 276, 0, 0, 0, 0}, {1919, 17408, 0, 0, 0, 0, 0}, {1920, 3840, 13056, 17408, 0, 0, 0}, {10, 289, 771, 321, 1285, 4369, 0}, {10, 4386, 4864, 1280, 0, 0, 0}, {1100, 771, 16448, 0, 0, 0, 0}, {780, 12288, 1092, 0, 0, 0, 0}, {10, 544, 4437, 1285, 0, 0, 0}, {10, 294, 774, 326, 1280, 4358, 0}, {1927, 3855, 13432, 17167, 0, 0, 0}, {1928, 3840, 13056, 17152, 0, 0, 0}, {10, 291, 771, 323, 1285, 4112, 0}, {10, 544, 1280, 4352, 0, 0, 0}, {771, 1092, 0, 0, 0, 0, 0}, {1100, 1856, 16448, 0, 0, 0, 0}, {10, 4471, 4949, 1285, 0, 0, 0}, {10, 292, 774, 324, 1280, 4096, 0}, {1935, 3855, 13424, 17408, 0, 0, 0}, {4144, 4864, 4176, 1024, 0, 0, 0}, {1885, 4369, 0, 0, 0, 0, 0}, {1032, 4386, 4626, 5440, 0, 0, 0}, {1887, 4915, 20480, 0, 0, 0, 0}, {4940, 8224, 5140, 0, 0, 0, 0}, {4415, 4608, 4437, 1024, 0, 0, 0}, {1882, 4454, 21760, 0, 0, 0, 0}, {1032, 4128, 5911, 4160, 0, 0, 0}, {1032, 96, 848, 4112, 0, 0, 0}, {4403, 1877, 21845, 0, 0, 0, 0}, {858, 816, 1024, 4352, 0, 0, 0}, {4883, 5188, 0, 0, 0, 0, 0}, {5180, 1872, 20560, 0, 0, 0, 0}, {4381, 4471, 853, 5397, 0, 0, 0}, {5654, 4420, 0, 0, 0, 0, 0}, {863, 96, 1024, 4096, 0, 0, 0}, {160, 4864, 5120, 0, 0, 0, 0}, {106, 771, 1028, 4369, 0, 0, 0}, {1800, 4386, 21760, 0, 0, 0, 0}, {1036, 4144, 771, 4176, 0, 0, 0}, {780, 4128, 4160, 1028, 0, 0, 0}, {1807, 8704, 4437, 0, 0, 0, 0}, {4364, 4454, 4608, 5376, 0, 0, 0}, {5240, 1799, 20560, 0, 0, 0, 0}, {1800, 4896, 20480, 0, 0, 0, 0}, {1036, 4403, 771, 5461, 0, 0, 0}, {170, 1792, 4352, 0, 0, 0, 0}, {96, 771, 1028, 4112, 0, 0, 0}, {1036, 96, 1792, 4096, 0, 0, 0}, {4471, 1799, 21845, 0, 0, 0, 0}, {780, 4642, 4420, 1028, 0, 0, 0}, {1807, 8192, 5200, 0, 0, 0, 0}, {3072, 816, 1088, 0, 0, 0, 0}, {10, 546, 1365, 4369, 0, 0, 0}, {274, 4176, 5376, 0, 0, 0, 0}, {1919, 13107, 0, 0, 0, 0, 0}, {1912, 17476, 0, 0, 0, 0, 0}, {4128, 4608, 277, 0, 0, 0, 0}, {10, 5174, 5654, 1360, 0, 0, 0}, {1096, 1911, 16384, 0, 0, 0, 0}, {1096, 816, 16384, 0, 0, 0, 0}, {10, 4403, 4883, 1365, 0, 0, 0}, {10, 1536, 272, 0, 0, 0, 0}, {1911, 17476, 0, 0, 0, 0, 0}, {19532, 1904, 0, 0, 0, 0, 0}, {279, 1365, 4096, 0, 0, 0, 0}, {10, 546, 4420, 5140, 0, 0, 0}, {831, 12288, 1088, 0, 0, 0, 0}, {192, 768, 1024, 0, 0, 0, 0}, {10, 514, 1285, 4369, 0, 0, 0}, {258, 4160, 1280, 0, 0, 0, 0}, {1807, 13107, 0, 0, 0, 0, 0}, {1800, 17476, 0, 0, 0, 0, 0}, {4144, 512, 261, 0, 0, 0, 0}, {10, 4454, 512, 1280, 0, 0, 0}, {1032, 1799, 16448, 0, 0, 0, 0}, {1032, 768, 16448, 0, 0, 0, 0}, {10, 4403, 512, 1285, 0, 0, 0}, {10, 96, 256, 0, 0, 0, 0}, {1799, 17476, 0, 0, 0, 0, 0}, {17612, 1792, 0, 0, 0, 0, 0}, {263, 1285, 4112, 0, 0, 0, 0}, {10, 514, 4420, 1280, 0, 0, 0}, {783, 12336, 1024, 0, 0, 0, 0}, {6912, 4896, 5200, 0, 0, 0, 0}, {1821, 819, 1092, 4369, 0, 0, 0}, {5722, 4386, 21760, 0, 0, 0, 0}, {5132, 4128, 4883, 4160, 0, 0, 0}, {4876, 4144, 4176, 5140, 0, 0, 0}, {5674, 8704, 4437, 0, 0, 0, 0}, {4364, 1062, 5654, 5440, 0, 0, 0}, {4959, 1911, 20480, 0, 0, 0, 0}, {5240, 4864, 20560, 0, 0, 0, 0}, {4441, 4403, 4608, 5397, 0, 0, 0}, {3930, 1904, 4352, 0, 0, 0, 0}, {1060, 1815, 1092, 4096, 0, 0, 0}, {1100, 96, 1808, 4112, 0, 0, 0}, {4471, 5632, 21845, 0, 0, 0, 0}, {4398, 4626, 4420, 5376, 0, 0, 0}, {4991, 8224, 5120, 0, 0, 0, 0}, {4128, 768, 4160, 5120, 0, 0, 0}, {1837, 4369, 0, 0, 0, 0, 0}, {4424, 4386, 768, 5376, 0, 0, 0}, {5180, 4883, 20560, 0, 0, 0, 0}, {1832, 8192, 5188, 0, 0, 0, 0}, {783, 4656, 4437, 5397, 0, 0, 0}, {5708, 4454, 21760, 0, 0, 0, 0}, {5144, 4144, 5911, 4176, 0, 0, 0}, {1096, 96, 768, 4096, 0, 0, 0}, {4403, 5654, 21845, 0, 0, 0, 0}, {1066, 768, 1088, 4352, 0, 0, 0}, {4915, 5140, 0, 0, 0, 0, 0}, {4940, 1824, 20480, 0, 0, 0, 0}, {4381, 1058, 4626, 5461, 0, 0, 0}, {3840, 1826, 4420, 0, 0, 0, 0}, {783, 1056, 1088, 4112, 0, 0, 0}, {2032, 2048, 13056, 17408, 0, 0, 0}, {10, 305, 514, 337, 1028, 4369, 0}, {10, 4386, 514, 1360, 0, 0, 0}, {1036, 819, 16384, 0, 0, 0, 0}, {828, 12336, 1028, 0, 0, 0, 0}, {10, 512, 4437, 5120, 0, 0, 0}, {10, 310, 512, 342, 1030, 4358, 0}, {2039, 2056, 13320, 17279, 0, 0, 0}, {2040, 2056, 13056, 17264, 0, 0, 0}, {10, 307, 512, 339, 1030, 4096, 0}, {10, 512, 1360, 4352, 0, 0, 0}, {819, 1028, 0, 0, 0, 0, 0}, {1036, 1840, 16384, 0, 0, 0, 0}, {10, 5154, 514, 1365, 0, 0, 0}, {10, 308, 514, 340, 1028, 4112, 0}, {2047, 2048, 13312, 17408, 0, 0, 0}, {52224, 0, 0, 0, 0, 0, 0}, {2, 5, 16, 257, 0, 0, 0}, {2, 17408, 0, 0, 0, 0, 0}, {15, 48, 771, 0, 0, 0, 0}, {8, 64, 1028, 0, 0, 0, 0}, {13056, 5, 0, 0, 0, 0, 0}, {10, 96, 1542, 0, 0, 0, 0}, {7, 17408, 0, 0, 0, 0, 0}, {8, 17408, 0, 0, 0, 0, 0}, {48, 771, 5, 0, 0, 0, 0}, {10, 26112, 0, 0, 0, 0, 0}, {7, 64, 1028, 0, 0, 0, 0}, {192, 3084, 0, 0, 0, 0, 0}, {2, 5, 4352, 0, 0, 0, 0}, {2, 64, 1028, 0, 0, 0, 0}, {15, 13056, 0, 0, 0, 0, 0}, {3072, 16, 0, 0, 0, 0, 0}, {34, 85, 4369, 0, 0, 0, 0}, {18, 17408, 0, 0, 0, 0, 0}, {95, 32, 4883, 0, 0, 0, 0}, {40, 80, 5140, 0, 0, 0, 0}, {13056, 21, 0, 0, 0, 0, 0}, {90, 112, 5654, 0, 0, 0, 0}, {23, 17408, 0, 0, 0, 0, 0}, {24, 48, 80, 5120, 0, 0, 0}, {42, 13107, 85, 0, 0, 0, 0}, {26, 48, 5632, 64, 0, 0, 0}, {95, 119, 17476, 0, 0, 0, 0}, {7196, 32, 80, 0, 0, 0, 0}, {29, 34, 85, 4352, 0, 0, 0}, {90, 34, 17476, 0, 0, 0, 0}, {31, 32, 4864, 64, 0, 0, 0}, {19456, 32, 0, 0, 0, 0, 0}, {18, 85, 4369, 0, 0, 0, 0}, {34, 17408, 0, 0, 0, 0, 0}, {15, 771, 16, 0, 0, 0, 0}, {72, 96, 17476, 0, 0, 0, 0}, {15, 37, 5632, 85, 0, 0, 0}, {42, 9766, 64, 0, 0, 0, 0}, {15, 39, 80, 5120, 0, 0, 0}, {40, 17408, 0, 0, 0, 0, 0}, {48, 771, 21, 0, 0, 0, 0}, {42, 26112, 0, 0, 0, 0, 0}, {23, 80, 5140, 0, 0, 0, 0}, {3084, 32, 64, 0, 0, 0, 0}, {15, 34, 85, 4352, 0, 0, 0}, {72, 34, 17476, 0, 0, 0, 0}, {15, 32, 4864, 80, 0, 0, 0}, {3072, 48, 0, 0, 0, 0, 0}, {2, 85, 4369, 0, 0, 0, 0}, {2, 1024, 16, 0, 0, 0, 0}, {255, 13107, 0, 0, 0, 0, 0}, {8, 112, 17476, 0, 0, 0, 0}, {10, 53, 1536, 85, 0, 0, 0}, {10, 13878, 80, 0, 0, 0, 0}, {8, 55, 64, 1024, 0, 0, 0}, {8, 48, 64, 1024, 0, 0, 0}, {10, 13107, 85, 0, 0, 0, 0}, {10, 48, 1536, 80, 0, 0, 0}, {8, 119, 17476, 0, 0, 0, 0}, {240, 15420, 0, 0, 0, 0, 0}, {2, 21, 4352, 0, 0, 0, 0}, {2, 80, 5140, 0, 0, 0, 0}, {63, 13056, 0, 0, 0, 0, 0}, {3072, 64, 0, 0, 0, 0, 0}, {34, 5, 4369, 0, 0, 0, 0}, {10, 34, 1536, 66, 0, 0, 0}, {15, 112, 17219, 0, 0, 0, 0}, {136, 17476, 0, 0, 0, 0, 0}, {768, 5, 16, 0, 0, 0, 0}, {10, 32, 17990, 0, 0, 0, 0}, {15, 48, 768, 71, 0, 0, 0}, {72, 17408, 0, 0, 0, 0, 0}, {32, 4883, 5, 0, 0, 0, 0}, {10, 32, 1536, 64, 0, 0, 0}, {15, 119, 17476, 0, 0, 0, 0}, {128, 19532, 0, 0, 0, 0, 0}, {18, 5, 4352, 0, 0, 0, 0}, {10, 34, 17476, 0, 0, 0, 0}, {15, 48, 768, 64, 0, 0, 0}, {15360, 80, 0, 0, 0, 0, 0}, {34, 21, 4369, 0, 0, 0, 0}, {8, 34, 5632, 82, 0, 0, 0}, {95, 96, 21331, 0, 0, 0, 0}, {8, 1028, 16, 0, 0, 0, 0}, {13056, 85, 0, 0, 0, 0, 0}, {90, 48, 22102, 0, 0, 0, 0}, {8, 32, 4864, 87, 0, 0, 0}, {8, 32, 80, 5120, 0, 0, 0}, {63, 13107, 85, 0, 0, 0, 0}, {90, 26112, 0, 0, 0, 0, 0}, {23, 64, 1028, 0, 0, 0, 0}, {3084, 48, 80, 0, 0, 0, 0}, {8, 34, 85, 4352, 0, 0, 0}, {18, 64, 1028, 0, 0, 0, 0}, {95, 13056, 0, 0, 0, 0, 0}, {3072, 96, 0, 0, 0, 0, 0}, {7, 85, 4369, 0, 0, 0, 0}, {8, 34, 64, 1024, 0, 0, 0}, {15, 13107, 80, 0, 0, 0, 0}, {8, 32, 17476, 0, 0, 0, 0}, {15, 48, 768, 85, 0, 0, 0}, {170, 26214, 0, 0, 0, 0, 0}, {7, 1024, 16, 0, 0, 0, 0}, {8, 32, 64, 1024, 0, 0, 0}, {15, 13107, 85, 0, 0, 0, 0}, {106, 26112, 0, 0, 0, 0, 0}, {7, 80, 5140, 0, 0, 0, 0}, {160, 27756, 0, 0, 0, 0, 0}, {18, 21, 4352, 0, 0, 0, 0}, {8, 34, 17476, 0, 0, 0, 0}, {15, 48, 768, 80, 0, 0, 0}, {19456, 112, 0, 0, 0, 0, 0}, {23, 85, 4369, 0, 0, 0, 0}, {10, 34, 80, 5120, 0, 0, 0}, {63, 13107, 64, 0, 0, 0, 0}, {72, 48, 17476, 0, 0, 0, 0}, {10, 32, 4864, 85, 0, 0, 0}, {10, 1542, 16, 0, 0, 0, 0}, {119, 17408, 0, 0, 0, 0, 0}, {120, 17408, 0, 0, 0, 0, 0}, {32, 4883, 21, 0, 0, 0, 0}, {10, 32, 5632, 80, 0, 0, 0}, {72, 119, 17476, 0, 0, 0, 0}, {3084, 48, 64, 0, 0, 0, 0}, {10, 34, 85, 4352, 0, 0, 0}, {18, 80, 5140, 0, 0, 0, 0}, {127, 13056, 0, 0, 0, 0, 0}, {128, 19456, 0, 0, 0, 0, 0}, {18, 5, 4369, 0, 0, 0, 0}, {10, 34, 17408, 0, 0, 0, 0}, {15, 48, 771, 64, 0, 0, 0}, {72, 17476, 0, 0, 0, 0, 0}, {32, 4864, 5, 0, 0, 0, 0}, {10, 32, 1542, 64, 0, 0, 0}, {15, 119, 17408, 0, 0, 0, 0}, {136, 17408, 0, 0, 0, 0, 0}, {771, 5, 16, 0, 0, 0, 0}, {10, 32, 17920, 0, 0, 0, 0}, {15, 48, 771, 71, 0, 0, 0}, {3084, 64, 0, 0, 0, 0, 0}, {34, 5, 4352, 0, 0, 0, 0}, {10, 34, 1542, 66, 0, 0, 0}, {15, 112, 17152, 0, 0, 0, 0}, {3072, 48, 80, 0, 0, 0, 0}, {8, 34, 85, 4369, 0, 0, 0}, {18, 64, 1024, 0, 0, 0, 0}, {95, 13107, 0, 0, 0, 0, 0}, {8, 32, 80, 5140, 0, 0, 0}, {63, 13056, 85, 0, 0, 0, 0}, {90, 26214, 0, 0, 0, 0, 0}, {23, 64, 1024, 0, 0, 0, 0}, {8, 1024, 16, 0, 0, 0, 0}, {13107, 85, 0, 0, 0, 0, 0}, {90, 48, 22016, 0, 0, 0, 0}, {8, 32, 4883, 87, 0, 0, 0}, {15420, 80, 0, 0, 0, 0, 0}, {34, 21, 4352, 0, 0, 0, 0}, {8, 34, 5654, 82, 0, 0, 0}, {95, 96, 21248, 0, 0, 0, 0}, {160, 27648, 0, 0, 0, 0, 0}, {18, 21, 4369, 0, 0, 0, 0}, {8, 34, 17408, 0, 0, 0, 0}, {15, 48, 771, 80, 0, 0, 0}, {8, 32, 64, 1028, 0, 0, 0}, {15, 13056, 85, 0, 0, 0, 0}, {106, 26214, 0, 0, 0, 0, 0}, {7, 80, 5120, 0, 0, 0, 0}, {8, 32, 17408, 0, 0, 0, 0}, {15, 48, 771, 85, 0, 0, 0}, {170, 26112, 0, 0, 0, 0, 0}, {7, 1028, 16, 0, 0, 0, 0}, {3084, 96, 0, 0, 0, 0, 0}, {7, 85, 4352, 0, 0, 0, 0}, {8, 34, 64, 1028, 0, 0, 0}, {15, 13056, 80, 0, 0, 0, 0}, {3072, 48, 64, 0, 0, 0, 0}, {10, 34, 85, 4369, 0, 0, 0}, {18, 80, 5120, 0, 0, 0, 0}, {127, 13107, 0, 0, 0, 0, 0}, {120, 17476, 0, 0, 0, 0, 0}, {32, 4864, 21, 0, 0, 0, 0}, {10, 32, 5654, 80, 0, 0, 0}, {72, 119, 17408, 0, 0, 0, 0}, {72, 48, 17408, 0, 0, 0, 0}, {10, 32, 4883, 85, 0, 0, 0}, {10, 1536, 16, 0, 0, 0, 0}, {119, 17476, 0, 0, 0, 0, 0}, {19532, 112, 0, 0, 0, 0, 0}, {23, 85, 4352, 0, 0, 0, 0}, {10, 34, 80, 5140, 0, 0, 0}, {63, 13056, 64, 0, 0, 0, 0}, {192, 3072, 0, 0, 0, 0, 0}, {2, 5, 4369, 0, 0, 0, 0}, {2, 64, 1024, 0, 0, 0, 0}, {15, 13107, 0, 0, 0, 0, 0}, {8, 17476, 0, 0, 0, 0, 0}, {48, 768, 5, 0, 0, 0, 0}, {10, 26214, 0, 0, 0, 0, 0}, {7, 64, 1024, 0, 0, 0, 0}, {8, 64, 1024, 0, 0, 0, 0}, {13107, 5, 0, 0, 0, 0, 0}, {10, 96, 1536, 0, 0, 0, 0}, {7, 17476, 0, 0, 0, 0, 0}, {52428, 0, 0, 0, 0, 0, 0}, {2, 5, 16, 256, 0, 0, 0}, {2, 17476, 0, 0, 0, 0, 0}, {15, 48, 768, 0, 0, 0, 0}, {7168, 32, 80, 0, 0, 0, 0}, {29, 34, 85, 4369, 0, 0, 0}, {90, 34, 17408, 0, 0, 0, 0}, {31, 32, 4883, 64, 0, 0, 0}, {24, 48, 80, 5140, 0, 0, 0}, {42, 13056, 85, 0, 0, 0, 0}, {26, 48, 5654, 64, 0, 0, 0}, {95, 119, 17408, 0, 0, 0, 0}, {40, 80, 5120, 0, 0, 0, 0}, {13107, 21, 0, 0, 0, 0, 0}, {90, 112, 5632, 0, 0, 0, 0}, {23, 17476, 0, 0, 0, 0, 0}, {3084, 16, 0, 0, 0, 0, 0}, {34, 85, 4352, 0, 0, 0, 0}, {18, 17476, 0, 0, 0, 0, 0}, {95, 32, 4864, 0, 0, 0, 0}, {3072, 32, 64, 0, 0, 0, 0}, {15, 34, 85, 4369, 0, 0, 0}, {72, 34, 17408, 0, 0, 0, 0}, {15, 32, 4883, 80, 0, 0, 0}, {40, 17476, 0, 0, 0, 0, 0}, {48, 768, 21, 0, 0, 0, 0}, {42, 26214, 0, 0, 0, 0, 0}, {23, 80, 5120, 0, 0, 0, 0}, {72, 96, 17408, 0, 0, 0, 0}, {15, 37, 5654, 85, 0, 0, 0}, {42, 9728, 64, 0, 0, 0, 0}, {15, 39, 80, 5140, 0, 0, 0}, {19532, 32, 0, 0, 0, 0, 0}, {18, 85, 4352, 0, 0, 0, 0}, {34, 17476, 0, 0, 0, 0, 0}, {15, 768, 16, 0, 0, 0, 0}, {240, 15360, 0, 0, 0, 0, 0}, {2, 21, 4369, 0, 0, 0, 0}, {2, 80, 5120, 0, 0, 0, 0}, {63, 13107, 0, 0, 0, 0, 0}, {8, 48, 64, 1028, 0, 0, 0}, {10, 13056, 85, 0, 0, 0, 0}, {10, 48, 1542, 80, 0, 0, 0}, {8, 119, 17408, 0, 0, 0, 0}, {8, 112, 17408, 0, 0, 0, 0}, {10, 53, 1542, 85, 0, 0, 0}, {10, 13824, 80, 0, 0, 0, 0}, {8, 55, 64, 1028, 0, 0, 0}, {3084, 48, 0, 0, 0, 0, 0}, {2, 85, 4352, 0, 0, 0, 0}, {2, 1028, 16, 0, 0, 0, 0}, {255, 13056, 0, 0, 0, 0, 0}, {512, 1280, 4096, 0, 0, 0, 0}, {204, 257, 0, 0, 0, 0, 0}, {1290, 4128, 514, 0, 0, 0, 0}, {259, 17408, 0, 0, 0, 0, 0}, {13056, 260, 0, 0, 0, 0, 0}, {522, 4176, 1285, 0, 0, 0, 0}, {262, 17408, 0, 0, 0, 0, 0}, {1295, 4208, 1799, 0, 0, 0, 0}, {520, 12288, 1280, 0, 0, 0, 0}, {265, 771, 4437, 1285, 0, 0, 0}, {1290, 1792, 16384, 0, 0, 0, 0}, {267, 4471, 771, 1028, 0, 0, 0}, {268, 512, 1280, 4352, 0, 0, 0}, {4304, 514, 1285, 0, 0, 0, 0}, {270, 4386, 514, 1028, 0, 0, 0}, {1295, 512, 16384, 0, 0, 0, 0}, {544, 1360, 4112, 0, 0, 0, 0}, {3072, 273, 0, 0, 0, 0, 0}, {1370, 4144, 4626, 0, 0, 0, 0}, {275, 17408, 0, 0, 0, 0, 0}, {13056, 276, 0, 0, 0, 0, 0}, {554, 4160, 5397, 0, 0, 0, 0}, {278, 17408, 0, 0, 0, 0, 0}, {1375, 4192, 5911, 0, 0, 0, 0}, {552, 12336, 1360, 0, 0, 0, 0}, {281, 819, 4437, 5120, 0, 0, 0}, {1370, 1904, 16448, 0, 0, 0, 0}, {283, 5427, 5632, 1092, 0, 0, 0}, {284, 544, 1360, 4352, 0, 0, 0}, {7453, 546, 1365, 0, 0, 0, 0}, {286, 4386, 4864, 1092, 0, 0, 0}, {1375, 544, 16448, 0, 0, 0, 0}, {4128, 4608, 21760, 0, 0, 0, 0}, {1096, 289, 771, 4369, 0, 0, 0}, {3840, 546, 4096, 0, 0, 0, 0}, {291, 771, 1088, 4112, 0, 0, 0}, {5388, 292, 5632, 4420, 0, 0, 0}, {4698, 4208, 21845, 0, 0, 0, 0}, {780, 294, 4160, 5120, 0, 0, 0}, {552, 10023, 4176, 0, 0, 0, 0}, {552, 12288, 5376, 0, 0, 0, 0}, {297, 771, 4437, 5397, 0, 0, 0}, {5418, 5888, 20480, 0, 0, 0, 0}, {4188, 4471, 771, 5140, 0, 0, 0}, {780, 544, 1088, 4352, 0, 0, 0}, {3855, 546, 5461, 0, 0, 0, 0}, {4108, 4386, 4864, 5188, 0, 0, 0}, {5983, 544, 20560, 0, 0, 0, 0}, {4144, 512, 21760, 0, 0, 0, 0}, {1032, 305, 514, 4369, 0, 0, 0}, {1530, 514, 4112, 0, 0, 0, 0}, {307, 512, 1024, 4096, 0, 0, 0}, {1032, 308, 1536, 4420, 0, 0, 0}, {522, 4192, 21845, 0, 0, 0, 0}, {522, 310, 4176, 1024, 0, 0, 0}, {520, 14135, 4160, 0, 0, 0, 0}, {520, 12336, 5440, 0, 0, 0, 0}, {522, 819, 4437, 1024, 0, 0, 0}, {522, 5984, 20560, 0, 0, 0, 0}, {1032, 1331, 1536, 5188, 0, 0, 0}, {316, 512, 1024, 4352, 0, 0, 0}, {4320, 514, 5397, 0, 0, 0, 0}, {4124, 4386, 514, 5140, 0, 0, 0}, {5439, 512, 20480, 0, 0, 0, 0}, {8704, 4160, 1280, 0, 0, 0, 0}, {783, 321, 1285, 4369, 0, 0, 0}, {1290, 4192, 16962, 0, 0, 0, 0}, {1295, 4403, 1536, 323, 0, 0, 0}, {768, 324, 1280, 4096, 0, 0, 0}, {650, 1285, 4112, 0, 0, 0, 0}, {1290, 4128, 768, 326, 0, 0, 0}, {1295, 4144, 18247, 0, 0, 0, 0}, {4680, 8192, 1280, 0, 0, 0, 0}, {4124, 4883, 4437, 1285, 0, 0, 0}, {1290, 5984, 16448, 0, 0, 0, 0}, {1295, 5427, 1536, 1092, 0, 0, 0}, {332, 768, 1280, 4352, 0, 0, 0}, {4240, 4626, 1285, 0, 0, 0, 0}, {1290, 4386, 768, 1092, 0, 0, 0}, {1295, 4656, 16448, 0, 0, 0, 0}, {8704, 4176, 5376, 0, 0, 0, 0}, {831, 337, 1028, 4369, 0, 0, 0}, {1370, 4208, 21074, 0, 0, 0, 0}, {1036, 4403, 5632, 339, 0, 0, 0}, {816, 340, 1028, 4112, 0, 0, 0}, {2048, 1365, 4096, 0, 0, 0, 0}, {1036, 4144, 4864, 342, 0, 0, 0}, {1375, 4128, 22359, 0, 0, 0, 0}, {5928, 8224, 1360, 0, 0, 0, 0}, {4108, 4915, 4437, 5120, 0, 0, 0}, {1370, 5888, 16384, 0, 0, 0, 0}, {347, 4471, 4883, 1028, 0, 0, 0}, {1036, 816, 1360, 4352, 0, 0, 0}, {2056, 4642, 1365, 0, 0, 0, 0}, {350, 4386, 4626, 1028, 0, 0, 0}, {1375, 4608, 16384, 0, 0, 0, 0}, {4192, 1792, 21760, 0, 0, 0, 0}, {1032, 353, 1799, 4369, 0, 0, 0}, {1800, 8738, 4160, 0, 0, 0, 0}, {783, 4403, 4176, 1024, 0, 0, 0}, {1032, 4128, 768, 4420, 0, 0, 0}, {1807, 4144, 21845, 0, 0, 0, 0}, {358, 768, 1024, 4096, 0, 0, 0}, {1455, 1799, 4112, 0, 0, 0, 0}, {1800, 8224, 5440, 0, 0, 0, 0}, {783, 4915, 4437, 1024, 0, 0, 0}, {5482, 1792, 20480, 0, 0, 0, 0}, {4124, 4471, 4883, 5140, 0, 0, 0}, {364, 768, 1024, 4352, 0, 0, 0}, {4272, 4626, 5397, 0, 0, 0, 0}, {1032, 4386, 768, 5188, 0, 0, 0}, {1807, 4656, 20560, 0, 0, 0, 0}, {4208, 5888, 21760, 0, 0, 0, 0}, {1096, 369, 1542, 4369, 0, 0, 0}, {5928, 8738, 4176, 0, 0, 0, 0}, {4620, 4403, 4160, 5120, 0, 0, 0}, {5388, 4144, 4864, 4420, 0, 0, 0}, {5983, 4128, 21845, 0, 0, 0, 0}, {1334, 1542, 1088, 4112, 0, 0, 0}, {2560, 1911, 4096, 0, 0, 0, 0}, {4728, 8192, 5376, 0, 0, 0, 0}, {4140, 4883, 4437, 5397, 0, 0, 0}, {4698, 1904, 20560, 0, 0, 0, 0}, {4108, 1331, 5632, 5188, 0, 0, 0}, {1548, 816, 1088, 4352, 0, 0, 0}, {2570, 4642, 5461, 0, 0, 0, 0}, {4188, 4386, 4626, 5140, 0, 0, 0}, {5503, 4608, 20480, 0, 0, 0, 0}, {4224, 4608, 1280, 0, 0, 0, 0}, {333, 771, 1285, 4369, 0, 0, 0}, {1290, 4642, 16384, 0, 0, 0, 0}, {1295, 4403, 771, 1088, 0, 0, 0}, {4108, 4864, 4420, 1280, 0, 0, 0}, {4698, 8224, 1285, 0, 0, 0, 0}, {1290, 5414, 1542, 1088, 0, 0, 0}, {1295, 6007, 16384, 0, 0, 0, 0}, {648, 1280, 4096, 0, 0, 0, 0}, {771, 325, 1285, 4112, 0, 0, 0}, {1290, 4128, 18176, 0, 0, 0, 0}, {1295, 4144, 771, 327, 0, 0, 0}, {780, 320, 1280, 4352, 0, 0, 0}, {8738, 4176, 1285, 0, 0, 0, 0}, {1290, 4386, 1542, 322, 0, 0, 0}, {1295, 4208, 16896, 0, 0, 0, 0}, {2048, 4656, 1360, 0, 0, 0, 0}, {1032, 819, 1365, 4369, 0, 0, 0}, {1370, 4626, 16448, 0, 0, 0, 0}, {351, 4403, 4608, 1024, 0, 0, 0}, {4124, 4896, 4420, 5140, 0, 0, 0}, {5951, 8192, 1365, 0, 0, 0, 0}, {346, 4454, 4864, 1024, 0, 0, 0}, {1375, 5911, 16448, 0, 0, 0, 0}, {2056, 1360, 4112, 0, 0, 0, 0}, {819, 341, 1024, 4096, 0, 0, 0}, {1370, 4144, 22272, 0, 0, 0, 0}, {1032, 4128, 4883, 343, 0, 0, 0}, {828, 336, 1024, 4352, 0, 0, 0}, {8738, 4160, 5397, 0, 0, 0, 0}, {1032, 4386, 5654, 338, 0, 0, 0}, {1375, 4192, 20992, 0, 0, 0, 0}, {4256, 4608, 5376, 0, 0, 0, 0}, {365, 771, 1028, 4369, 0, 0, 0}, {1800, 4642, 20480, 0, 0, 0, 0}, {1036, 4403, 771, 5200, 0, 0, 0}, {780, 4896, 4420, 1028, 0, 0, 0}, {1807, 8192, 5461, 0, 0, 0, 0}, {4108, 4454, 4864, 5120, 0, 0, 0}, {5503, 1799, 20560, 0, 0, 0, 0}, {1800, 4128, 21760, 0, 0, 0, 0}, {1036, 4144, 771, 4437, 0, 0, 0}, {1450, 1792, 4096, 0, 0, 0, 0}, {359, 771, 1028, 4112, 0, 0, 0}, {1036, 352, 1792, 4352, 0, 0, 0}, {4208, 1799, 21845, 0, 0, 0, 0}, {780, 4386, 4160, 1028, 0, 0, 0}, {1807, 8704, 4176, 0, 0, 0, 0}, {2560, 4656, 5440, 0, 0, 0, 0}, {1546, 819, 1092, 4369, 0, 0, 0}, {5482, 4626, 20560, 0, 0, 0, 0}, {4172, 4403, 4608, 5120, 0, 0, 0}, {4156, 4864, 4420, 5376, 0, 0, 0}, {4714, 8224, 5397, 0, 0, 0, 0}, {4124, 1334, 5654, 5200, 0, 0, 0}, {4680, 1911, 20480, 0, 0, 0, 0}, {5960, 4144, 21760, 0, 0, 0, 0}, {5401, 4128, 4883, 4437, 0, 0, 0}, {2570, 1904, 4112, 0, 0, 0, 0}, {1331, 1536, 1092, 4096, 0, 0, 0}, {1100, 368, 1536, 4352, 0, 0, 0}, {4192, 5911, 21845, 0, 0, 0, 0}, {4638, 4386, 4176, 5140, 0, 0, 0}, {5951, 8704, 4160, 0, 0, 0, 0}, {4288, 512, 1280, 0, 0, 0, 0}, {269, 514, 1285, 4369, 0, 0, 0}, {1290, 514, 16448, 0, 0, 0, 0}, {271, 4403, 512, 1024, 0, 0, 0}, {264, 768, 4420, 1280, 0, 0, 0}, {522, 12336, 1285, 0, 0, 0, 0}, {266, 4454, 768, 1024, 0, 0, 0}, {1295, 1799, 16448, 0, 0, 0, 0}, {520, 4160, 1280, 0, 0, 0, 0}, {13107, 261, 0, 0, 0, 0, 0}, {1290, 4192, 1792, 0, 0, 0, 0}, {263, 17476, 0, 0, 0, 0, 0}, {204, 256, 0, 0, 0, 0, 0}, {514, 1285, 4112, 0, 0, 0, 0}, {258, 17476, 0, 0, 0, 0, 0}, {1295, 4144, 512, 0, 0, 0, 0}, {7424, 544, 1360, 0, 0, 0, 0}, {285, 546, 1365, 4369, 0, 0, 0}, {1370, 546, 16384, 0, 0, 0, 0}, {287, 4403, 4883, 1088, 0, 0, 0}, {280, 816, 4420, 5140, 0, 0, 0}, {554, 12288, 1365, 0, 0, 0, 0}, {282, 5414, 5654, 1088, 0, 0, 0}, {1375, 1911, 16384, 0, 0, 0, 0}, {552, 4176, 5376, 0, 0, 0, 0}, {13107, 277, 0, 0, 0, 0, 0}, {1370, 4208, 5888, 0, 0, 0, 0}, {279, 17476, 0, 0, 0, 0, 0}, {3084, 272, 0, 0, 0, 0, 0}, {546, 1365, 4096, 0, 0, 0, 0}, {274, 17476, 0, 0, 0, 0, 0}, {1375, 4128, 4608, 0, 0, 0, 0}, {3840, 544, 5440, 0, 0, 0, 0}, {783, 546, 1092, 4369, 0, 0, 0}, {5960, 546, 20480, 0, 0, 0, 0}, {4124, 4403, 4883, 5200, 0, 0, 0}, {296, 768, 4420, 5376, 0, 0, 0}, {554, 12336, 5397, 0, 0, 0, 0}, {4172, 4454, 768, 5120, 0, 0, 0}, {5439, 5911, 20560, 0, 0, 0, 0}, {4680, 4192, 21760, 0, 0, 0, 0}, {5401, 293, 5654, 4437, 0, 0, 0}, {554, 9984, 4160, 0, 0, 0, 0}, {783, 295, 4176, 5140, 0, 0, 0}, {1100, 288, 768, 4352, 0, 0, 0}, {4144, 4626, 21845, 0, 0, 0, 0}, {290, 768, 1092, 4096, 0, 0, 0}, {3855, 544, 4112, 0, 0, 0, 0}, {4336, 512, 5376, 0, 0, 0, 0}, {317, 514, 1028, 4369, 0, 0, 0}, {5418, 514, 20560, 0, 0, 0, 0}, {4108, 4403, 512, 5120, 0, 0, 0}, {520, 816, 4420, 1028, 0, 0, 0}, {522, 12288, 5461, 0, 0, 0, 0}, {1036, 1334, 1542, 5200, 0, 0, 0}, {520, 6007, 20480, 0, 0, 0, 0}, {520, 4208, 21760, 0, 0, 0, 0}, {1036, 309, 1542, 4437, 0, 0, 0}, {522, 14080, 4176, 0, 0, 0, 0}, {520, 311, 4160, 1028, 0, 0, 0}, {1036, 304, 512, 4352, 0, 0, 0}, {4128, 514, 21845, 0, 0, 0, 0}, {306, 514, 1028, 4112, 0, 0, 0}, {1535, 512, 4096, 0, 0, 0, 0}, {512, 17408, 0, 0, 0, 0, 0}, {15, 48, 257, 0, 0, 0, 0}, {17544, 514, 0, 0, 0, 0, 0}, {259, 1280, 4096, 0, 0, 0, 0}, {520, 8256, 1028, 0, 0, 0, 0}, {15, 517, 4437, 1285, 0, 0, 0}, {1036, 1542, 16384, 0, 0, 0, 0}, {15, 4471, 519, 1280, 0, 0, 0}, {520, 26112, 0, 0, 0, 0, 0}, {262, 4176, 1285, 0, 0, 0, 0}, {522, 17408, 0, 0, 0, 0, 0}, {48, 771, 260, 0, 0, 0, 0}, {1036, 512, 16384, 0, 0, 0, 0}, {15, 4386, 514, 1285, 0, 0, 0}, {192, 514, 1028, 0, 0, 0, 0}, {15, 512, 1280, 4352, 0, 0, 0}, {48, 528, 1088, 4112, 0, 0, 0}, {2645, 546, 4369, 0, 0, 0, 0}, {1096, 48, 530, 4096, 0, 0, 0}, {4403, 4883, 21760, 0, 0, 0, 0}, {552, 8272, 5140, 0, 0, 0, 0}, {63, 533, 4437, 5397, 0, 0, 0}, {5180, 5654, 20480, 0, 0, 0, 0}, {4424, 4471, 535, 5376, 0, 0, 0}, {5144, 48, 5632, 4176, 0, 0, 0}, {4940, 4454, 21845, 0, 0, 0, 0}, {538, 48, 4160, 5120, 0, 0, 0}, {552, 13107, 4420, 0, 0, 0, 0}, {5708, 544, 20560, 0, 0, 0, 0}, {4381, 4386, 4864, 5461, 0, 0, 0}, {7710, 546, 5188, 0, 0, 0, 0}, {543, 544, 1088, 4352, 0, 0, 0}, {544, 17408, 0, 0, 0, 0, 0}, {15, 771, 273, 0, 0, 0, 0}, {19456, 546, 0, 0, 0, 0, 0}, {275, 1360, 4112, 0, 0, 0, 0}, {552, 9252, 1092, 0, 0, 0, 0}, {15, 549, 4437, 5120, 0, 0, 0}, {1100, 1638, 16448, 0, 0, 0, 0}, {15, 5159, 5632, 1360, 0, 0, 0}, {552, 26112, 0, 0, 0, 0, 0}, {278, 4160, 5397, 0, 0, 0, 0}, {554, 17408, 0, 0, 0, 0, 0}, {48, 771, 276, 0, 0, 0, 0}, {1100, 544, 16448, 0, 0, 0, 0}, {15, 4386, 4864, 1365, 0, 0, 0}, {3084, 546, 1092, 0, 0, 0, 0}, {15, 544, 1360, 4352, 0, 0, 0}, {48, 512, 1024, 4096, 0, 0, 0}, {255, 514, 4369, 0, 0, 0, 0}, {1032, 48, 514, 4112, 0, 0, 0}, {4403, 512, 21760, 0, 0, 0, 0}, {520, 13364, 5188, 0, 0, 0, 0}, {522, 565, 4437, 1024, 0, 0, 0}, {522, 5734, 20560, 0, 0, 0, 0}, {1032, 1079, 1536, 5440, 0, 0, 0}, {1032, 48, 1536, 4160, 0, 0, 0}, {522, 4454, 21845, 0, 0, 0, 0}, {522, 48, 4176, 1024, 0, 0, 0}, {520, 13107, 4420, 0, 0, 0, 0}, {5180, 512, 20480, 0, 0, 0, 0}, {4381, 4386, 514, 5397, 0, 0, 0}, {240, 514, 5140, 0, 0, 0, 0}, {63, 512, 1024, 4352, 0, 0, 0}, {1536, 1088, 0, 0, 0, 0, 0}, {15, 626, 1285, 4369, 0, 0, 0}, {1096, 578, 16384, 0, 0, 0, 0}, {15, 4403, 4931, 1280, 0, 0, 0}, {648, 2560, 8192, 17476, 0, 0, 0}, {15, 48, 768, 325, 1285, 4112, 0}, {650, 2570, 8224, 17990, 0, 0, 0}, {15, 48, 768, 327, 1280, 4096, 0}, {1096, 1536, 16384, 0, 0, 0, 0}, {15, 4454, 4883, 1285, 0, 0, 0}, {1546, 8224, 1088, 0, 0, 0, 0}, {15, 4915, 4420, 1280, 0, 0, 0}, {640, 2560, 8704, 17996, 0, 0, 0}, {15, 48, 768, 322, 1285, 4370, 0}, {642, 2570, 8738, 17476, 0, 0, 0}, {15, 48, 768, 320, 1280, 4352, 0}, {5632, 5200, 0, 0, 0, 0, 0}, {605, 610, 1028, 4369, 0, 0, 0}, {5240, 594, 20480, 0, 0, 0, 0}, {4364, 4403, 4947, 5376, 0, 0, 0}, {600, 48, 1028, 4112, 0, 0, 0}, {4864, 4437, 0, 0, 0, 0, 0}, {1036, 48, 1622, 4096, 0, 0, 0}, {4471, 599, 21760, 0, 0, 0, 0}, {600, 5744, 20560, 0, 0, 0, 0}, {1036, 1075, 5888, 5461, 0, 0, 0}, {602, 8192, 5120, 0, 0, 0, 0}, {63, 4883, 4420, 1028, 0, 0, 0}, {1036, 48, 4608, 4176, 0, 0, 0}, {605, 4386, 21845, 0, 0, 0, 0}, {48, 4626, 4160, 1028, 0, 0, 0}, {607, 4352, 0, 0, 0, 0, 0}, {608, 1024, 0, 0, 0, 0, 0}, {15, 1799, 1365, 4369, 0, 0, 0}, {1032, 610, 16448, 0, 0, 0, 0}, {15, 4403, 1792, 1360, 0, 0, 0}, {680, 2056, 8224, 17476, 0, 0, 0}, {15, 48, 768, 341, 1024, 4096, 0}, {682, 2048, 8192, 18022, 0, 0, 0}, {15, 48, 768, 343, 1031, 4112, 0}, {1032, 1632, 16448, 0, 0, 0, 0}, {15, 5171, 1792, 1365, 0, 0, 0}, {618, 8192, 1024, 0, 0, 0, 0}, {15, 4883, 4420, 5140, 0, 0, 0}, {672, 2048, 8704, 18028, 0, 0, 0}, {15, 48, 768, 338, 1031, 4370, 0}, {674, 2056, 8738, 17476, 0, 0, 0}, {15, 48, 768, 336, 1024, 4352, 0}, {624, 5120, 0, 0, 0, 0, 0}, {63, 1542, 1092, 4369, 0, 0, 0}, {5722, 626, 20560, 0, 0, 0, 0}, {4364, 4403, 5888, 5440, 0, 0, 0}, {1548, 48, 1092, 4096, 0, 0, 0}, {2570, 4896, 4437, 0, 0, 0, 0}, {1100, 48, 1542, 4112, 0, 0, 0}, {4471, 4864, 21760, 0, 0, 0, 0}, {5240, 5632, 20480, 0, 0, 0, 0}, {4441, 4454, 4883, 5397, 0, 0, 0}, {5674, 8224, 5200, 0, 0, 0, 0}, {4876, 4915, 4420, 5376, 0, 0, 0}, {5132, 48, 4608, 4160, 0, 0, 0}, {4959, 4386, 21845, 0, 0, 0, 0}, {48, 4626, 4176, 5140, 0, 0, 0}, {639, 4352, 0, 0, 0, 0, 0}, {640, 2560, 8704, 17408, 0, 0, 0}, {15, 48, 771, 321, 1285, 4369, 0}, {642, 2570, 8738, 17930, 0, 0, 0}, {15, 48, 771, 323, 1280, 4355, 0}, {1548, 8192, 1092, 0, 0, 0, 0}, {15, 4896, 4437, 1285, 0, 0, 0}, {1100, 1542, 16448, 0, 0, 0, 0}, {15, 4471, 4864, 1280, 0, 0, 0}, {648, 2560, 8192, 17920, 0, 0, 0}, {15, 48, 771, 326, 1285, 4112, 0}, {650, 2570, 8224, 17408, 0, 0, 0}, {15, 48, 771, 324, 1280, 4096, 0}, {1100, 576, 16448, 0, 0, 0, 0}, {15, 4386, 4944, 1285, 0, 0, 0}, {1542, 1092, 0, 0, 0, 0, 0}, {15, 624, 1280, 4352, 0, 0, 0}, {48, 4608, 4176, 1024, 0, 0, 0}, {605, 4369, 0, 0, 0, 0, 0}, {1032, 48, 4626, 4160, 0, 0, 0}, {607, 4403, 21760, 0, 0, 0, 0}, {600, 8224, 5140, 0, 0, 0, 0}, {63, 4864, 4437, 1024, 0, 0, 0}, {602, 5734, 20480, 0, 0, 0, 0}, {1032, 1079, 5911, 5440, 0, 0, 0}, {1032, 48, 1616, 4112, 0, 0, 0}, {4454, 597, 21845, 0, 0, 0, 0}, {602, 48, 1024, 4096, 0, 0, 0}, {4883, 4420, 0, 0, 0, 0, 0}, {5228, 592, 20560, 0, 0, 0, 0}, {4381, 4386, 4928, 5397, 0, 0, 0}, {5654, 5188, 0, 0, 0, 0, 0}, {607, 608, 1024, 4352, 0, 0, 0}, {672, 2048, 8704, 17408, 0, 0, 0}, {15, 48, 771, 337, 1028, 4369, 0}, {674, 2056, 8738, 17962, 0, 0, 0}, {15, 48, 771, 339, 1027, 4355, 0}, {616, 8224, 1028, 0, 0, 0, 0}, {15, 4864, 4437, 5120, 0, 0, 0}, {1036, 1638, 16384, 0, 0, 0, 0}, {15, 5159, 1799, 1360, 0, 0, 0}, {680, 2056, 8224, 17952, 0, 0, 0}, {15, 48, 771, 342, 1027, 4096, 0}, {682, 2048, 8192, 17408, 0, 0, 0}, {15, 48, 771, 340, 1028, 4112, 0}, {1036, 608, 16384, 0, 0, 0, 0}, {15, 4386, 1799, 1365, 0, 0, 0}, {610, 1028, 0, 0, 0, 0, 0}, {15, 1792, 1360, 4352, 0, 0, 0}, {48, 4608, 4160, 5120, 0, 0, 0}, {637, 4369, 0, 0, 0, 0, 0}, {5144, 48, 4626, 4176, 0, 0, 0}, {4940, 4403, 21760, 0, 0, 0, 0}, {5692, 8192, 5188, 0, 0, 0, 0}, {4895, 4896, 4437, 5397, 0, 0, 0}, {5228, 5654, 20560, 0, 0, 0, 0}, {4424, 4471, 4864, 5376, 0, 0, 0}, {1096, 48, 1536, 4096, 0, 0, 0}, {4454, 4883, 21845, 0, 0, 0, 0}, {1546, 48, 1088, 4112, 0, 0, 0}, {2560, 4915, 4420, 0, 0, 0, 0}, {5708, 624, 20480, 0, 0, 0, 0}, {4381, 4386, 5911, 5461, 0, 0, 0}, {626, 5140, 0, 0, 0, 0, 0}, {63, 1536, 1088, 4352, 0, 0, 0}, {192, 512, 1024, 0, 0, 0, 0}, {15, 514, 1285, 4369, 0, 0, 0}, {1032, 514, 16448, 0, 0, 0, 0}, {15, 4403, 512, 1280, 0, 0, 0}, {520, 17476, 0, 0, 0, 0, 0}, {48, 768, 261, 0, 0, 0, 0}, {522, 26214, 0, 0, 0, 0, 0}, {263, 4160, 1280, 0, 0, 0, 0}, {1032, 1536, 16448, 0, 0, 0, 0}, {15, 4454, 517, 1285, 0, 0, 0}, {522, 8288, 1024, 0, 0, 0, 0}, {15, 519, 4420, 1280, 0, 0, 0}, {17612, 512, 0, 0, 0, 0, 0}, {258, 1285, 4112, 0, 0, 0, 0}, {514, 17476, 0, 0, 0, 0, 0}, {15, 48, 256, 0, 0, 0, 0}, {7680, 544, 5200, 0, 0, 0, 0}, {541, 546, 1092, 4369, 0, 0, 0}, {5722, 546, 20480, 0, 0, 0, 0}, {4364, 4403, 4883, 5440, 0, 0, 0}, {536, 48, 4176, 5140, 0, 0, 0}, {554, 13056, 4437, 0, 0, 0, 0}, {5132, 48, 5654, 4160, 0, 0, 0}, {4959, 4471, 21760, 0, 0, 0, 0}, {5160, 5632, 20560, 0, 0, 0, 0}, {4441, 4454, 533, 5397, 0, 0, 0}, {554, 8304, 5120, 0, 0, 0, 0}, {63, 535, 4420, 5376, 0, 0, 0}, {1100, 48, 528, 4112, 0, 0, 0}, {4386, 4864, 21845, 0, 0, 0, 0}, {48, 530, 1092, 4096, 0, 0, 0}, {2655, 544, 4352, 0, 0, 0, 0}, {3072, 544, 1088, 0, 0, 0, 0}, {15, 546, 1365, 4369, 0, 0, 0}, {1096, 546, 16384, 0, 0, 0, 0}, {15, 4403, 4883, 1360, 0, 0, 0}, {552, 17476, 0, 0, 0, 0, 0}, {48, 768, 277, 0, 0, 0, 0}, {554, 26214, 0, 0, 0, 0, 0}, {279, 4176, 5376, 0, 0, 0, 0}, {1096, 1632, 16384, 0, 0, 0, 0}, {15, 5171, 5654, 1365, 0, 0, 0}, {554, 9216, 1088, 0, 0, 0, 0}, {15, 551, 4420, 5140, 0, 0, 0}, {19532, 544, 0, 0, 0, 0, 0}, {274, 1365, 4096, 0, 0, 0, 0}, {546, 17476, 0, 0, 0, 0, 0}, {15, 768, 272, 0, 0, 0, 0}, {240, 512, 5120, 0, 0, 0, 0}, {63, 514, 1028, 4369, 0, 0, 0}, {5160, 514, 20560, 0, 0, 0, 0}, {4364, 4403, 512, 5376, 0, 0, 0}, {520, 48, 4160, 1028, 0, 0, 0}, {522, 13056, 4437, 0, 0, 0, 0}, {1036, 48, 1542, 4176, 0, 0, 0}, {520, 4471, 21760, 0, 0, 0, 0}, {520, 5744, 20480, 0, 0, 0, 0}, {1036, 1075, 1542, 5461, 0, 0, 0}, {522, 13312, 5200, 0, 0, 0, 0}, {520, 567, 4420, 1028, 0, 0, 0}, {1036, 48, 512, 4096, 0, 0, 0}, {4386, 514, 21845, 0, 0, 0, 0}, {48, 514, 1028, 4112, 0, 0, 0}, {255, 512, 4352, 0, 0, 0, 0}, {3840, 12288, 0, 0, 0, 0, 0}, {2, 68, 257, 0, 0, 0, 0}, {2, 1280, 4096, 0, 0, 0, 0}, {204, 771, 0, 0, 0, 0, 0}, {8, 772, 68, 1028, 0, 0, 0}, {10, 12368, 1285, 0, 0, 0, 0}, {10, 102, 774, 1280, 0, 0, 0}, {8, 1799, 16384, 0, 0, 0, 0}, {8, 1792, 16384, 0, 0, 0, 0}, {10, 102, 771, 1285, 0, 0, 0}, {10, 12288, 1280, 0, 0, 0, 0}, {8, 771, 68, 1028, 0, 0, 0}, {780, 13056, 0, 0, 0, 0, 0}, {2, 4176, 1285, 0, 0, 0, 0}, {2, 260, 4352, 0, 0, 0, 0}, {12528, 3855, 0, 0, 0, 0, 0}, {3920, 32, 4112, 0, 0, 0, 0}, {34, 785, 68, 4369, 0, 0, 0}, {34, 4626, 21760, 0, 0, 0, 0}, {76, 32, 787, 4096, 0, 0, 0}, {40, 788, 68, 5140, 0, 0, 0}, {42, 12352, 5397, 0, 0, 0, 0}, {76, 102, 790, 5376, 0, 0, 0}, {40, 5911, 20480, 0, 0, 0, 0}, {5960, 5984, 20560, 0, 0, 0, 0}, {5401, 5427, 5632, 5461, 0, 0, 0}, {42, 12336, 5440, 0, 0, 0, 0}, {795, 819, 68, 5120, 0, 0, 0}, {4124, 32, 4864, 4176, 0, 0, 0}, {4680, 34, 21845, 0, 0, 0, 0}, {798, 34, 68, 4352, 0, 0, 0}, {7967, 32, 4160, 0, 0, 0, 0}, {3840, 32, 4096, 0, 0, 0, 0}, {34, 771, 68, 4369, 0, 0, 0}, {34, 4608, 21760, 0, 0, 0, 0}, {76, 32, 771, 4112, 0, 0, 0}, {780, 804, 68, 5120, 0, 0, 0}, {42, 9509, 5461, 0, 0, 0, 0}, {5388, 5414, 5632, 5440, 0, 0, 0}, {5983, 6007, 20560, 0, 0, 0, 0}, {40, 5888, 20480, 0, 0, 0, 0}, {76, 102, 771, 5397, 0, 0, 0}, {42, 12288, 5376, 0, 0, 0, 0}, {40, 771, 68, 5140, 0, 0, 0}, {4108, 32, 4864, 4160, 0, 0, 0}, {4698, 34, 21845, 0, 0, 0, 0}, {780, 34, 68, 4352, 0, 0, 0}, {3855, 32, 4176, 0, 0, 0, 0}, {4080, 12336, 0, 0, 0, 0, 0}, {2, 1024, 273, 0, 0, 0, 0}, {2, 1360, 4112, 0, 0, 0, 0}, {3072, 819, 0, 0, 0, 0, 0}, {8, 820, 68, 1024, 0, 0, 0}, {10, 13621, 1365, 0, 0, 0, 0}, {10, 1334, 1536, 1360, 0, 0, 0}, {8, 1911, 16448, 0, 0, 0, 0}, {8, 1904, 16448, 0, 0, 0, 0}, {10, 1331, 1536, 1365, 0, 0, 0}, {10, 12336, 1360, 0, 0, 0, 0}, {8, 819, 68, 1024, 0, 0, 0}, {828, 13056, 0, 0, 0, 0, 0}, {2, 4160, 5397, 0, 0, 0, 0}, {2, 276, 4352, 0, 0, 0, 0}, {12480, 16191, 0, 0, 0, 0, 0}, {128, 3840, 12352, 16448, 0, 0, 0}, {10, 34, 773, 68, 1285, 4369, 0}, {10, 34, 4674, 1280, 0, 0, 0}, {76, 835, 16384, 0, 0, 0, 0}, {768, 68, 0, 0, 0, 0, 0}, {10, 32, 1285, 4112, 0, 0, 0}, {10, 32, 768, 70, 1280, 4096, 0}, {136, 3855, 12336, 18247, 0, 0, 0}, {136, 3840, 12360, 18248, 0, 0, 0}, {10, 32, 773, 70, 1285, 4118, 0}, {10, 32, 4160, 1280, 0, 0, 0}, {783, 13107, 68, 0, 0, 0, 0}, {76, 768, 16384, 0, 0, 0, 0}, {10, 34, 4626, 1285, 0, 0, 0}, {10, 34, 768, 68, 1280, 4352, 0}, {128, 3855, 12336, 16448, 0, 0, 0}, {160, 3920, 12368, 20560, 0, 0, 0}, {8, 34, 789, 68, 1028, 4369, 0}, {8, 34, 4690, 5376, 0, 0, 0}, {108, 851, 20480, 0, 0, 0, 0}, {8, 32, 784, 68, 1028, 4112, 0}, {170, 3925, 12288, 21845, 0, 0, 0}, {102, 854, 21760, 0, 0, 0, 0}, {8, 32, 1879, 4096, 0, 0, 0}, {8, 32, 5888, 4176, 0, 0, 0}, {857, 102, 21845, 0, 0, 0, 0}, {170, 3930, 12378, 21760, 0, 0, 0}, {8, 32, 791, 68, 1028, 4100, 0}, {860, 816, 20560, 0, 0, 0, 0}, {8, 34, 4608, 5461, 0, 0, 0}, {8, 34, 786, 68, 1028, 4352, 0}, {160, 3935, 12288, 20480, 0, 0, 0}, {160, 3840, 12384, 20480, 0, 0, 0}, {8, 34, 775, 68, 1024, 4369, 0}, {8, 34, 1792, 5440, 0, 0, 0}, {783, 867, 20560, 0, 0, 0, 0}, {8, 32, 768, 68, 1024, 4096, 0}, {170, 3855, 12336, 21845, 0, 0, 0}, {102, 768, 21760, 0, 0, 0, 0}, {8, 32, 1799, 4112, 0, 0, 0}, {8, 32, 1792, 4160, 0, 0, 0}, {783, 102, 21845, 0, 0, 0, 0}, {170, 3840, 12394, 21760, 0, 0, 0}, {8, 32, 775, 68, 1024, 4116, 0}, {108, 768, 20480, 0, 0, 0, 0}, {8, 34, 4626, 5397, 0, 0, 0}, {8, 34, 768, 68, 1024, 4352, 0}, {160, 3855, 12336, 20560, 0, 0, 0}, {128, 3952, 12400, 16384, 0, 0, 0}, {10, 34, 791, 68, 1297, 4369, 0}, {10, 34, 5888, 1360, 0, 0, 0}, {76, 883, 16448, 0, 0, 0, 0}, {3084, 816, 68, 0, 0, 0, 0}, {10, 32, 1365, 4096, 0, 0, 0}, {10, 32, 784, 70, 1302, 4112, 0}, {136, 3959, 12288, 18295, 0, 0, 0}, {136, 3960, 12408, 18296, 0, 0, 0}, {10, 32, 789, 70, 1299, 4102, 0}, {10, 32, 4176, 5376, 0, 0, 0}, {831, 13107, 68, 0, 0, 0, 0}, {76, 816, 16448, 0, 0, 0, 0}, {10, 34, 4608, 1365, 0, 0, 0}, {10, 34, 786, 68, 1300, 4352, 0}, {128, 3967, 12288, 16384, 0, 0, 0}, {128, 3840, 12288, 16384, 0, 0, 0}, {10, 34, 771, 68, 1285, 4369, 0}, {10, 34, 4608, 1280, 0, 0, 0}, {76, 771, 16448, 0, 0, 0, 0}, {780, 13056, 68, 0, 0, 0, 0}, {10, 32, 4176, 1285, 0, 0, 0}, {10, 32, 774, 70, 1280, 4102, 0}, {136, 3855, 12408, 18191, 0, 0, 0}, {136, 3840, 12288, 18176, 0, 0, 0}, {10, 32, 771, 70, 1285, 4112, 0}, {10, 32, 1280, 4096, 0, 0, 0}, {771, 68, 0, 0, 0, 0, 0}, {76, 832, 16448, 0, 0, 0, 0}, {10, 34, 4688, 1285, 0, 0, 0}, {10, 34, 774, 68, 1280, 4352, 0}, {128, 3855, 12400, 16384, 0, 0, 0}, {160, 3920, 12336, 20560, 0, 0, 0}, {8, 34, 785, 68, 1024, 4369, 0}, {8, 34, 4626, 5440, 0, 0, 0}, {863, 819, 20480, 0, 0, 0, 0}, {8, 32, 788, 68, 1024, 4116, 0}, {170, 3925, 12394, 21845, 0, 0, 0}, {858, 102, 21760, 0, 0, 0, 0}, {8, 32, 5911, 4160, 0, 0, 0}, {8, 32, 1872, 4112, 0, 0, 0}, {102, 853, 21845, 0, 0, 0, 0}, {170, 3930, 12336, 21760, 0, 0, 0}, {8, 32, 787, 68, 1024, 4096, 0}, {108, 848, 20560, 0, 0, 0, 0}, {8, 34, 4672, 5397, 0, 0, 0}, {8, 34, 790, 68, 1024, 4352, 0}, {160, 3935, 12384, 20480, 0, 0, 0}, {160, 3840, 12288, 20480, 0, 0, 0}, {8, 34, 771, 68, 1028, 4369, 0}, {8, 34, 4608, 5376, 0, 0, 0}, {108, 771, 20560, 0, 0, 0, 0}, {8, 32, 772, 68, 1028, 4100, 0}, {170, 3855, 12378, 21845, 0, 0, 0}, {780, 102, 21760, 0, 0, 0, 0}, {8, 32, 1799, 4176, 0, 0, 0}, {8, 32, 1792, 4096, 0, 0, 0}, {102, 771, 21845, 0, 0, 0, 0}, {170, 3840, 12288, 21760, 0, 0, 0}, {8, 32, 771, 68, 1028, 4112, 0}, {780, 864, 20480, 0, 0, 0, 0}, {8, 34, 1799, 5461, 0, 0, 0}, {8, 34, 772, 68, 1028, 4352, 0}, {160, 3855, 12368, 20560, 0, 0, 0}, {128, 3952, 12336, 16448, 0, 0, 0}, {10, 34, 785, 68, 1297, 4369, 0}, {10, 34, 4626, 1360, 0, 0, 0}, {76, 819, 16384, 0, 0, 0, 0}, {828, 13056, 68, 0, 0, 0, 0}, {10, 32, 4160, 5397, 0, 0, 0}, {10, 32, 790, 70, 1302, 4118, 0}, {136, 3959, 12360, 18239, 0, 0, 0}, {136, 3960, 12336, 18224, 0, 0, 0}, {10, 32, 787, 70, 1299, 4096, 0}, {10, 32, 1360, 4112, 0, 0, 0}, {3072, 819, 68, 0, 0, 0, 0}, {76, 880, 16384, 0, 0, 0, 0}, {10, 34, 5911, 1365, 0, 0, 0}, {10, 34, 788, 68, 1300, 4352, 0}, {128, 3967, 12352, 16448, 0, 0, 0}, {12480, 3840, 0, 0, 0, 0, 0}, {2, 261, 4369, 0, 0, 0, 0}, {2, 4160, 1280, 0, 0, 0, 0}, {783, 13107, 0, 0, 0, 0, 0}, {8, 768, 68, 1024, 0, 0, 0}, {10, 12336, 1285, 0, 0, 0, 0}, {10, 102, 768, 1280, 0, 0, 0}, {8, 1799, 16448, 0, 0, 0, 0}, {8, 1792, 16448, 0, 0, 0, 0}, {10, 102, 773, 1285, 0, 0, 0}, {10, 12384, 1280, 0, 0, 0, 0}, {8, 775, 68, 1024, 0, 0, 0}, {204, 768, 0, 0, 0, 0, 0}, {2, 1285, 4112, 0, 0, 0, 0}, {2, 68, 256, 0, 0, 0, 0}, {3855, 12336, 0, 0, 0, 0, 0}, {7936, 32, 4176, 0, 0, 0, 0}, {797, 34, 68, 4369, 0, 0, 0}, {4698, 34, 21760, 0, 0, 0, 0}, {4108, 32, 4883, 4160, 0, 0, 0}, {792, 816, 68, 5140, 0, 0, 0}, {42, 12288, 5461, 0, 0, 0, 0}, {5388, 5414, 5654, 5440, 0, 0, 0}, {5983, 6007, 20480, 0, 0, 0, 0}, {40, 5888, 20560, 0, 0, 0, 0}, {76, 102, 789, 5397, 0, 0, 0}, {42, 12400, 5376, 0, 0, 0, 0}, {40, 791, 68, 5120, 0, 0, 0}, {76, 32, 784, 4112, 0, 0, 0}, {34, 4608, 21845, 0, 0, 0, 0}, {34, 786, 68, 4352, 0, 0, 0}, {3935, 32, 4096, 0, 0, 0, 0}, {3840, 32, 4160, 0, 0, 0, 0}, {783, 34, 68, 4369, 0, 0, 0}, {4680, 34, 21760, 0, 0, 0, 0}, {4124, 32, 4883, 4176, 0, 0, 0}, {40, 768, 68, 5120, 0, 0, 0}, {42, 12336, 5397, 0, 0, 0, 0}, {76, 102, 768, 5376, 0, 0, 0}, {40, 5911, 20560, 0, 0, 0, 0}, {5960, 5984, 20480, 0, 0, 0, 0}, {5401, 5427, 5654, 5461, 0, 0, 0}, {42, 9472, 5440, 0, 0, 0, 0}, {783, 807, 68, 5140, 0, 0, 0}, {76, 32, 768, 4096, 0, 0, 0}, {34, 4626, 21845, 0, 0, 0, 0}, {34, 768, 68, 4352, 0, 0, 0}, {3855, 32, 4112, 0, 0, 0, 0}, {12528, 16128, 0, 0, 0, 0, 0}, {2, 277, 4369, 0, 0, 0, 0}, {2, 4176, 5376, 0, 0, 0, 0}, {831, 13107, 0, 0, 0, 0, 0}, {8, 816, 68, 1028, 0, 0, 0}, {10, 12288, 1365, 0, 0, 0, 0}, {10, 1334, 1542, 1360, 0, 0, 0}, {8, 1911, 16384, 0, 0, 0, 0}, {8, 1904, 16384, 0, 0, 0, 0}, {10, 1331, 1542, 1365, 0, 0, 0}, {10, 13568, 1360, 0, 0, 0, 0}, {8, 823, 68, 1028, 0, 0, 0}, {3084, 816, 0, 0, 0, 0, 0}, {2, 1365, 4096, 0, 0, 0, 0}, {2, 1028, 272, 0, 0, 0, 0}, {4095, 12288, 0, 0, 0, 0, 0}, {8192, 20480, 0, 0, 0, 0, 0}, {12, 17, 257, 0, 0, 0, 0}, {34, 514, 20490, 0, 0, 0, 0}, {12, 51, 771, 4099, 0, 0, 0}, {12, 68, 1028, 4100, 0, 0, 0}, {8202, 85, 1285, 0, 0, 0, 0}, {12, 102, 1542, 4102, 0, 0, 0}, {119, 1799, 20495, 0, 0, 0, 0}, {136, 2056, 8200, 20480, 0, 0, 0}, {12, 51, 771, 85, 1285, 4101, 0}, {170, 2570, 8202, 20490, 0, 0, 0}, {12, 51, 771, 68, 1028, 4103, 0}, {12, 4096, 0, 0, 0, 0, 0}, {34, 514, 85, 1285, 0, 0, 0}, {12, 34, 514, 68, 1028, 4098, 0}, {255, 3855, 8192, 20495, 0, 0, 0}, {192, 4112, 0, 0, 0, 0, 0}, {512, 1280, 17, 0, 0, 0, 0}, {72, 34, 512, 4114, 0, 0, 0}, {51, 4883, 20575, 0, 0, 0, 0}, {8232, 68, 5140, 0, 0, 0, 0}, {63, 85, 1280, 4117, 0, 0, 0}, {102, 5654, 20570, 0, 0, 0, 0}, {72, 119, 1792, 4119, 0, 0, 0}, {4120, 12336, 4176, 0, 0, 0, 0}, {4889, 51, 85, 1280, 0, 0, 0}, {4122, 4208, 16448, 0, 0, 0, 0}, {5147, 51, 1792, 68, 0, 0, 0}, {204, 7196, 8224, 20560, 0, 0, 0}, {29, 34, 512, 85, 1280, 4096, 0}, {5150, 34, 512, 68, 0, 0, 0}, {4127, 4128, 16448, 0, 0, 0, 0}, {20640, 8224, 0, 0, 0, 0, 0}, {259, 1024, 17, 0, 0, 0, 0}, {34, 512, 20480, 0, 0, 0, 0}, {12, 51, 771, 4112, 0, 0, 0}, {12, 4132, 68, 1024, 0, 0, 0}, {1295, 9509, 85, 0, 0, 0, 0}, {12, 4134, 1536, 4160, 0, 0, 0}, {1807, 119, 20560, 0, 0, 0, 0}, {136, 2048, 8232, 20520, 0, 0, 0}, {12, 51, 771, 85, 1283, 4118, 0}, {170, 2560, 8234, 20480, 0, 0, 0}, {12, 51, 771, 68, 1024, 4116, 0}, {12, 4128, 16448, 0, 0, 0, 0}, {1295, 34, 512, 85, 0, 0, 0}, {12, 34, 512, 68, 1024, 4096, 0}, {255, 3855, 8224, 20560, 0, 0, 0}, {4144, 16384, 0, 0, 0, 0, 0}, {1290, 514, 17, 0, 0, 0, 0}, {72, 34, 514, 4112, 0, 0, 0}, {51, 4864, 20480, 0, 0, 0, 0}, {5180, 13364, 68, 0, 0, 0, 0}, {4106, 4149, 85, 5376, 0, 0, 0}, {5722, 102, 20560, 0, 0, 0, 0}, {4104, 4151, 5888, 4160, 0, 0, 0}, {72, 4208, 16448, 0, 0, 0, 0}, {1290, 51, 5632, 85, 0, 0, 0}, {4154, 12336, 4176, 0, 0, 0, 0}, {4872, 51, 68, 5120, 0, 0, 0}, {204, 7228, 8192, 20540, 0, 0, 0}, {29, 34, 514, 85, 1303, 4098, 0}, {34, 514, 68, 5140, 0, 0, 0}, {63, 4096, 0, 0, 0, 0, 0}, {12288, 4160, 0, 0, 0, 0, 0}, {522, 1285, 17, 0, 0, 0, 0}, {4106, 34, 4608, 4162, 0, 0, 0}, {4940, 51, 17219, 0, 0, 0, 0}, {8192, 68, 5120, 0, 0, 0, 0}, {63, 85, 1285, 4112, 0, 0, 0}, {5708, 102, 17990, 0, 0, 0, 0}, {4111, 4144, 5888, 4167, 0, 0, 0}, {72, 4096, 0, 0, 0, 0, 0}, {51, 4883, 85, 1285, 0, 0, 0}, {4170, 4128, 16448, 0, 0, 0, 0}, {5135, 51, 4864, 68, 0, 0, 0}, {204, 7244, 8268, 20480, 0, 0, 0}, {29, 34, 535, 85, 1285, 4101, 0}, {5130, 34, 5632, 68, 0, 0, 0}, {4175, 4208, 16448, 0, 0, 0, 0}, {8352, 20560, 0, 0, 0, 0, 0}, {768, 260, 17, 0, 0, 0, 0}, {520, 34, 21074, 0, 0, 0, 0}, {12, 51, 768, 4179, 0, 0, 0}, {12, 68, 1028, 4112, 0, 0, 0}, {8192, 85, 1280, 0, 0, 0, 0}, {12, 4144, 1536, 4182, 0, 0, 0}, {1800, 119, 22359, 0, 0, 0, 0}, {136, 2056, 8224, 20560, 0, 0, 0}, {12, 51, 768, 85, 1280, 4096, 0}, {170, 2560, 8192, 20570, 0, 0, 0}, {12, 51, 768, 68, 1028, 4115, 0}, {12, 12336, 4176, 0, 0, 0, 0}, {520, 34, 85, 1280, 0, 0, 0}, {12, 34, 516, 68, 1028, 4118, 0}, {255, 3840, 8287, 20575, 0, 0, 0}, {4192, 16384, 0, 0, 0, 0, 0}, {1295, 1799, 17, 0, 0, 0, 0}, {4104, 34, 4608, 4160, 0, 0, 0}, {4959, 51, 20560, 0, 0, 0, 0}, {5160, 8224, 68, 0, 0, 0, 0}, {4111, 4144, 85, 5376, 0, 0, 0}, {102, 5632, 20480, 0, 0, 0, 0}, {72, 119, 1799, 4112, 0, 0, 0}, {72, 4128, 16448, 0, 0, 0, 0}, {1295, 51, 4864, 85, 0, 0, 0}, {106, 4096, 0, 0, 0, 0, 0}, {51, 4883, 68, 5140, 0, 0, 0}, {204, 7276, 8300, 20588, 0, 0, 0}, {29, 34, 533, 85, 1298, 4103, 0}, {520, 34, 68, 5120, 0, 0, 0}, {63, 12336, 4176, 0, 0, 0, 0}, {20720, 28784, 0, 0, 0, 0, 0}, {262, 1024, 17, 0, 0, 0, 0}, {522, 34, 20560, 0, 0, 0, 0}, {12, 51, 768, 4160, 0, 0, 0}, {12, 4144, 68, 1024, 0, 0, 0}, {1290, 8224, 85, 0, 0, 0, 0}, {12, 102, 1542, 4112, 0, 0, 0}, {119, 1792, 20480, 0, 0, 0, 0}, {136, 2048, 8192, 20600, 0, 0, 0}, {12, 51, 768, 85, 1286, 4115, 0}, {170, 2570, 8224, 20560, 0, 0, 0}, {12, 51, 768, 68, 1024, 4096, 0}, {12, 4208, 16448, 0, 0, 0, 0}, {1290, 34, 1792, 85, 0, 0, 0}, {12, 34, 518, 68, 1024, 4116, 0}, {255, 3840, 8319, 20480, 0, 0, 0}, {8320, 20480, 0, 0, 0, 0, 0}, {771, 261, 17, 0, 0, 0, 0}, {522, 34, 20992, 0, 0, 0, 0}, {12, 51, 771, 4163, 0, 0, 0}, {12, 68, 1024, 4096, 0, 0, 0}, {8224, 85, 1285, 0, 0, 0, 0}, {12, 4128, 1542, 4166, 0, 0, 0}, {1807, 119, 22272, 0, 0, 0, 0}, {136, 2048, 8192, 20480, 0, 0, 0}, {12, 51, 771, 85, 1285, 4112, 0}, {170, 2570, 8224, 20490, 0, 0, 0}, {12, 51, 771, 68, 1024, 4099, 0}, {12, 12288, 4160, 0, 0, 0, 0}, {522, 34, 85, 1285, 0, 0, 0}, {12, 34, 518, 68, 1024, 4102, 0}, {255, 3855, 8319, 20495, 0, 0, 0}, {12336, 4176, 0, 0, 0, 0, 0}, {520, 1280, 17, 0, 0, 0, 0}, {4122, 34, 4626, 4178, 0, 0, 0}, {4959, 51, 17152, 0, 0, 0, 0}, {8224, 68, 5140, 0, 0, 0, 0}, {63, 85, 1280, 4096, 0, 0, 0}, {5722, 102, 17920, 0, 0, 0, 0}, {4127, 4128, 5911, 4183, 0, 0, 0}, {72, 4112, 0, 0, 0, 0, 0}, {51, 4864, 85, 1280, 0, 0, 0}, {4186, 4144, 16384, 0, 0, 0, 0}, {5147, 51, 4883, 68, 0, 0, 0}, {204, 7248, 8300, 20560, 0, 0, 0}, {29, 34, 533, 85, 1280, 4117, 0}, {5150, 34, 5654, 68, 0, 0, 0}, {4191, 4192, 16384, 0, 0, 0, 0}, {20640, 28672, 0, 0, 0, 0, 0}, {263, 1028, 17, 0, 0, 0, 0}, {520, 34, 20480, 0, 0, 0, 0}, {12, 51, 771, 4176, 0, 0, 0}, {12, 4128, 68, 1028, 0, 0, 0}, {1295, 8192, 85, 0, 0, 0, 0}, {12, 102, 1536, 4096, 0, 0, 0}, {119, 1799, 20560, 0, 0, 0, 0}, {136, 2056, 8224, 20520, 0, 0, 0}, {12, 51, 771, 85, 1283, 4099, 0}, {170, 2560, 8192, 20480, 0, 0, 0}, {12, 51, 771, 68, 1028, 4112, 0}, {12, 4192, 16384, 0, 0, 0, 0}, {1295, 34, 1799, 85, 0, 0, 0}, {12, 34, 516, 68, 1028, 4100, 0}, {255, 3855, 8287, 20560, 0, 0, 0}, {4208, 16448, 0, 0, 0, 0, 0}, {1290, 1792, 17, 0, 0, 0, 0}, {4120, 34, 4626, 4176, 0, 0, 0}, {4940, 51, 20480, 0, 0, 0, 0}, {5180, 8192, 68, 0, 0, 0, 0}, {4127, 4128, 85, 5397, 0, 0, 0}, {102, 5654, 20560, 0, 0, 0, 0}, {72, 119, 1792, 4096, 0, 0, 0}, {72, 4144, 16384, 0, 0, 0, 0}, {1290, 51, 4883, 85, 0, 0, 0}, {106, 4112, 0, 0, 0, 0, 0}, {51, 4864, 68, 5120, 0, 0, 0}, {204, 7280, 8268, 20540, 0, 0, 0}, {29, 34, 535, 85, 1303, 4119, 0}, {522, 34, 68, 5140, 0, 0, 0}, {63, 12288, 4160, 0, 0, 0, 0}, {192, 4096, 0, 0, 0, 0, 0}, {514, 1285, 17, 0, 0, 0, 0}, {72, 34, 514, 4098, 0, 0, 0}, {51, 4864, 20495, 0, 0, 0, 0}, {8200, 68, 5120, 0, 0, 0, 0}, {63, 85, 1285, 4101, 0, 0, 0}, {102, 5632, 20490, 0, 0, 0, 0}, {72, 119, 1799, 4103, 0, 0, 0}, {4104, 12288, 4160, 0, 0, 0, 0}, {4874, 51, 85, 1285, 0, 0, 0}, {4106, 4192, 16384, 0, 0, 0, 0}, {5135, 51, 1799, 68, 0, 0, 0}, {204, 7168, 8192, 20480, 0, 0, 0}, {29, 34, 514, 85, 1285, 4112, 0}, {5130, 34, 514, 68, 0, 0, 0}, {4111, 4144, 16384, 0, 0, 0, 0}, {8224, 20560, 0, 0, 0, 0, 0}, {12, 17, 256, 0, 0, 0, 0}, {34, 512, 20570, 0, 0, 0, 0}, {12, 51, 768, 4115, 0, 0, 0}, {12, 68, 1024, 4116, 0, 0, 0}, {8234, 85, 1280, 0, 0, 0, 0}, {12, 102, 1536, 4118, 0, 0, 0}, {119, 1792, 20575, 0, 0, 0, 0}, {136, 2048, 8232, 20560, 0, 0, 0}, {12, 51, 768, 85, 1280, 4117, 0}, {170, 2560, 8234, 20570, 0, 0, 0}, {12, 51, 768, 68, 1024, 4119, 0}, {12, 4112, 0, 0, 0, 0, 0}, {34, 512, 85, 1280, 0, 0, 0}, {12, 34, 512, 68, 1024, 4114, 0}, {255, 3840, 8224, 20575, 0, 0, 0}, {4128, 16448, 0, 0, 0, 0, 0}, {1295, 512, 17, 0, 0, 0, 0}, {72, 34, 512, 4096, 0, 0, 0}, {51, 4883, 20560, 0, 0, 0, 0}, {5160, 13312, 68, 0, 0, 0, 0}, {4122, 4133, 85, 5397, 0, 0, 0}, {5708, 102, 20480, 0, 0, 0, 0}, {4120, 4135, 5911, 4176, 0, 0, 0}, {72, 4192, 16384, 0, 0, 0, 0}, {1295, 51, 5654, 85, 0, 0, 0}, {4138, 12288, 4160, 0, 0, 0, 0}, {4891, 51, 68, 5140, 0, 0, 0}, {204, 7200, 8224, 20588, 0, 0, 0}, {29, 34, 512, 85, 1298, 4114, 0}, {34, 512, 68, 5120, 0, 0, 0}, {63, 4112, 0, 0, 0, 0, 0}, {20720, 8192, 0, 0, 0, 0, 0}, {258, 1028, 17, 0, 0, 0, 0}, {34, 514, 20560, 0, 0, 0, 0}, {12, 51, 768, 4096, 0, 0, 0}, {12, 4148, 68, 1028, 0, 0, 0}, {1290, 9472, 85, 0, 0, 0, 0}, {12, 4150, 1542, 4176, 0, 0, 0}, {1800, 119, 20480, 0, 0, 0, 0}, {136, 2056, 8200, 20600, 0, 0, 0}, {12, 51, 768, 85, 1286, 4102, 0}, {170, 2570, 8202, 20560, 0, 0, 0}, {12, 51, 768, 68, 1028, 4100, 0}, {12, 4144, 16384, 0, 0, 0, 0}, {1290, 34, 514, 85, 0, 0, 0}, {12, 34, 514, 68, 1028, 4112, 0}, {255, 3840, 8192, 20480, 0, 0, 0}, {3072, 4352, 0, 0, 0, 0, 0}, {32, 80, 257, 0, 0, 0, 0}, {1032, 32, 514, 4354, 0, 0, 0}, {4403, 771, 21775, 0, 0, 0, 0}, {8712, 4420, 1028, 0, 0, 0, 0}, {783, 80, 1285, 4357, 0, 0, 0}, {4454, 1542, 21770, 0, 0, 0, 0}, {1032, 112, 1799, 4359, 0, 0, 0}, {4360, 13056, 5376, 0, 0, 0, 0}, {4409, 771, 80, 1285, 0, 0, 0}, {4362, 5888, 17408, 0, 0, 0, 0}, {4427, 112, 771, 1028, 0, 0, 0}, {4556, 3084, 8704, 21760, 0, 0, 0}, {269, 32, 514, 80, 1285, 4096, 0}, {4430, 32, 514, 1028, 0, 0, 0}, {4367, 4608, 17408, 0, 0, 0, 0}, {512, 1280, 272, 0, 0, 0, 0}, {3276, 4369, 0, 0, 0, 0, 0}, {4386, 4626, 21850, 0, 0, 0, 0}, {1100, 32, 512, 4371, 0, 0, 0}, {828, 80, 1280, 4372, 0, 0, 0}, {8746, 4437, 5397, 0, 0, 0, 0}, {1100, 112, 1792, 4374, 0, 0, 0}, {4471, 5911, 21855, 0, 0, 0, 0}, {4632, 816, 80, 1280, 0, 0, 0}, {4377, 13107, 5461, 0, 0, 0, 0}, {5402, 1072, 1792, 1088, 0, 0, 0}, {4379, 6007, 17476, 0, 0, 0, 0}, {284, 32, 512, 80, 1280, 4096, 0}, {4573, 7453, 8738, 21845, 0, 0, 0}, {4382, 4642, 17476, 0, 0, 0, 0}, {5407, 32, 512, 1088, 0, 0, 0}, {32, 512, 1024, 4352, 0, 0, 0}, {240, 771, 4369, 0, 0, 0, 0}, {3072, 4386, 0, 0, 0, 0, 0}, {259, 80, 4112, 0, 0, 0, 0}, {1548, 9252, 4420, 0, 0, 0, 0}, {783, 4389, 4437, 1024, 0, 0, 0}, {1036, 4454, 16448, 0, 0, 0, 0}, {1295, 4391, 1536, 80, 0, 0, 0}, {4392, 1536, 21760, 0, 0, 0, 0}, {4377, 112, 771, 5397, 0, 0, 0}, {4394, 13056, 1024, 0, 0, 0, 0}, {4379, 771, 80, 5140, 0, 0, 0}, {1036, 32, 512, 5440, 0, 0, 0}, {783, 4642, 21845, 0, 0, 0, 0}, {4590, 3084, 8738, 17476, 0, 0, 0}, {271, 32, 512, 80, 1024, 4096, 0}, {3840, 816, 4352, 0, 0, 0, 0}, {32, 514, 1092, 4369, 0, 0, 0}, {274, 80, 4112, 0, 0, 0, 0}, {18432, 4403, 0, 0, 0, 0, 0}, {4616, 4404, 4420, 5376, 0, 0, 0}, {5951, 13621, 4437, 0, 0, 0, 0}, {1290, 4406, 5888, 80, 0, 0, 0}, {1096, 4471, 16448, 0, 0, 0, 0}, {4360, 5424, 5632, 5440, 0, 0, 0}, {5983, 1638, 21845, 0, 0, 0, 0}, {4362, 816, 80, 5120, 0, 0, 0}, {4411, 13107, 1092, 0, 0, 0, 0}, {4412, 4608, 21760, 0, 0, 0, 0}, {4445, 32, 514, 5397, 0, 0, 0}, {286, 32, 514, 80, 1044, 4096, 0}, {4607, 7487, 8704, 17408, 0, 0, 0}, {2048, 1088, 4352, 0, 0, 0, 0}, {819, 80, 1285, 4369, 0, 0, 0}, {5960, 4386, 16962, 0, 0, 0, 0}, {5391, 4403, 4608, 4419, 0, 0, 0}, {16128, 4420, 0, 0, 0, 0, 0}, {32, 277, 4112, 0, 0, 0, 0}, {5386, 32, 5888, 4422, 0, 0, 0}, {4680, 4471, 18247, 0, 0, 0, 0}, {4488, 7496, 13056, 21760, 0, 0, 0}, {281, 32, 787, 80, 1285, 4096, 0}, {4362, 32, 4864, 1088, 0, 0, 0}, {4427, 819, 17476, 0, 0, 0, 0}, {4428, 8704, 5376, 0, 0, 0, 0}, {4397, 4626, 80, 1285, 0, 0, 0}, {4430, 1638, 17476, 0, 0, 0, 0}, {4367, 1072, 5632, 1088, 0, 0, 0}, {768, 80, 1280, 4352, 0, 0, 0}, {128, 1028, 4369, 0, 0, 0, 0}, {1032, 4386, 768, 4434, 0, 0, 0}, {1548, 4403, 21331, 0, 0, 0, 0}, {32, 260, 4112, 0, 0, 0, 0}, {3072, 4437, 0, 0, 0, 0, 0}, {780, 4454, 22102, 0, 0, 0, 0}, {1032, 32, 1536, 4439, 0, 0, 0}, {264, 32, 768, 80, 1280, 4096, 0}, {4505, 3084, 13107, 21845, 0, 0, 0}, {4442, 768, 17408, 0, 0, 0, 0}, {4379, 32, 4883, 1028, 0, 0, 0}, {780, 4656, 80, 1280, 0, 0, 0}, {1032, 8738, 5461, 0, 0, 0, 0}, {4382, 112, 4626, 1028, 0, 0, 0}, {4447, 1536, 17408, 0, 0, 0, 0}, {2560, 1632, 4352, 0, 0, 0, 0}, {1076, 1799, 1092, 4369, 0, 0, 0}, {1096, 4386, 16448, 0, 0, 0, 0}, {1295, 4403, 4608, 80, 0, 0, 0}, {520, 32, 4420, 5376, 0, 0, 0}, {831, 12336, 4437, 0, 0, 0, 0}, {18432, 4454, 0, 0, 0, 0, 0}, {279, 80, 4112, 0, 0, 0, 0}, {4360, 32, 4864, 5440, 0, 0, 0}, {4698, 819, 21845, 0, 0, 0, 0}, {4522, 7530, 13056, 17408, 0, 0, 0}, {283, 32, 787, 80, 1044, 4096, 0}, {4460, 5888, 21760, 0, 0, 0, 0}, {4445, 112, 4626, 5397, 0, 0, 0}, {5418, 8738, 1092, 0, 0, 0, 0}, {4367, 4656, 80, 5120, 0, 0, 0}, {112, 768, 1024, 4352, 0, 0, 0}, {160, 1542, 4369, 0, 0, 0, 0}, {1290, 4386, 768, 80, 0, 0, 0}, {1036, 4403, 16448, 0, 0, 0, 0}, {780, 12336, 4420, 0, 0, 0, 0}, {522, 32, 4437, 1024, 0, 0, 0}, {262, 80, 4112, 0, 0, 0, 0}, {3072, 4471, 0, 0, 0, 0, 0}, {4472, 768, 21760, 0, 0, 0, 0}, {4377, 32, 4883, 5397, 0, 0, 0}, {266, 32, 768, 80, 1024, 4096, 0}, {4539, 3084, 13107, 17476, 0, 0, 0}, {1036, 5424, 1792, 5440, 0, 0, 0}, {1546, 6007, 21845, 0, 0, 0, 0}, {4382, 4626, 80, 5140, 0, 0, 0}, {4479, 8704, 1024, 0, 0, 0, 0}, {128, 1024, 4352, 0, 0, 0, 0}, {771, 80, 1285, 4369, 0, 0, 0}, {1546, 4386, 21248, 0, 0, 0, 0}, {1036, 4403, 771, 4419, 0, 0, 0}, {3084, 4420, 0, 0, 0, 0, 0}, {32, 261, 4096, 0, 0, 0, 0}, {1036, 32, 1542, 4422, 0, 0, 0}, {783, 4471, 22016, 0, 0, 0, 0}, {4488, 3072, 13056, 21760, 0, 0, 0}, {265, 32, 771, 80, 1285, 4112, 0}, {4362, 32, 4864, 1024, 0, 0, 0}, {4427, 771, 17476, 0, 0, 0, 0}, {1036, 8704, 5440, 0, 0, 0, 0}, {783, 4642, 80, 1285, 0, 0, 0}, {4430, 1542, 17476, 0, 0, 0, 0}, {4367, 112, 4608, 1024, 0, 0, 0}, {816, 80, 1280, 4352, 0, 0, 0}, {2056, 1092, 4369, 0, 0, 0, 0}, {5402, 4386, 4626, 4434, 0, 0, 0}, {5983, 4403, 16896, 0, 0, 0, 0}, {32, 276, 4096, 0, 0, 0, 0}, {16191, 4437, 0, 0, 0, 0, 0}, {4698, 4454, 18176, 0, 0, 0, 0}, {5407, 32, 5911, 4439, 0, 0, 0}, {280, 32, 784, 80, 1280, 4112, 0}, {4505, 7509, 13107, 21845, 0, 0, 0}, {4442, 816, 17408, 0, 0, 0, 0}, {4379, 32, 4883, 1092, 0, 0, 0}, {4412, 4608, 80, 1280, 0, 0, 0}, {4445, 8738, 5397, 0, 0, 0, 0}, {4382, 1076, 5654, 1092, 0, 0, 0}, {4447, 1632, 17408, 0, 0, 0, 0}, {160, 1536, 4352, 0, 0, 0, 0}, {112, 771, 1028, 4369, 0, 0, 0}, {1032, 4386, 16384, 0, 0, 0, 0}, {1295, 4403, 771, 80, 0, 0, 0}, {520, 32, 4420, 1028, 0, 0, 0}, {783, 12288, 4437, 0, 0, 0, 0}, {3084, 4454, 0, 0, 0, 0, 0}, {263, 80, 4096, 0, 0, 0, 0}, {4360, 32, 4864, 5376, 0, 0, 0}, {4457, 771, 21845, 0, 0, 0, 0}, {4522, 3072, 13056, 17408, 0, 0, 0}, {267, 32, 771, 80, 1028, 4112, 0}, {1548, 5984, 21760, 0, 0, 0, 0}, {1032, 5413, 1799, 5461, 0, 0, 0}, {4462, 8738, 1028, 0, 0, 0, 0}, {4367, 4608, 80, 5120, 0, 0, 0}, {1072, 1792, 1088, 4352, 0, 0, 0}, {2570, 1638, 4369, 0, 0, 0, 0}, {1290, 4386, 4626, 80, 0, 0, 0}, {1100, 4403, 16384, 0, 0, 0, 0}, {828, 12288, 4420, 0, 0, 0, 0}, {522, 32, 4437, 5397, 0, 0, 0}, {278, 80, 4096, 0, 0, 0, 0}, {18504, 4471, 0, 0, 0, 0, 0}, {4680, 816, 21760, 0, 0, 0, 0}, {4377, 32, 4883, 5461, 0, 0, 0}, {282, 32, 784, 80, 1040, 4112, 0}, {4539, 7543, 13107, 17476, 0, 0, 0}, {4428, 112, 4608, 5376, 0, 0, 0}, {4477, 5911, 21845, 0, 0, 0, 0}, {4382, 4642, 80, 5140, 0, 0, 0}, {5439, 8704, 1088, 0, 0, 0, 0}, {3264, 4352, 0, 0, 0, 0, 0}, {514, 1285, 273, 0, 0, 0, 0}, {1096, 32, 514, 4354, 0, 0, 0}, {4403, 4608, 21775, 0, 0, 0, 0}, {8712, 4420, 5376, 0, 0, 0, 0}, {831, 80, 1285, 4357, 0, 0, 0}, {4454, 5888, 21770, 0, 0, 0, 0}, {1096, 112, 1799, 4359, 0, 0, 0}, {4360, 13056, 5440, 0, 0, 0, 0}, {4618, 819, 80, 1285, 0, 0, 0}, {4362, 5984, 17408, 0, 0, 0, 0}, {5391, 1076, 1799, 1092, 0, 0, 0}, {4556, 7424, 8704, 21760, 0, 0, 0}, {285, 32, 514, 80, 1285, 4112, 0}, {5386, 32, 514, 1092, 0, 0, 0}, {4367, 4656, 17408, 0, 0, 0, 0}, {32, 80, 256, 0, 0, 0, 0}, {3084, 4369, 0, 0, 0, 0, 0}, {4386, 768, 21850, 0, 0, 0, 0}, {1036, 32, 512, 4371, 0, 0, 0}, {780, 80, 1280, 4372, 0, 0, 0}, {8746, 4437, 1024, 0, 0, 0, 0}, {1036, 112, 1792, 4374, 0, 0, 0}, {4471, 1536, 21855, 0, 0, 0, 0}, {4392, 768, 80, 1280, 0, 0, 0}, {4377, 13107, 5397, 0, 0, 0, 0}, {4442, 112, 768, 1024, 0, 0, 0}, {4379, 5911, 17476, 0, 0, 0, 0}, {268, 32, 512, 80, 1280, 4112, 0}, {4573, 3072, 8738, 21845, 0, 0, 0}, {4382, 4626, 17476, 0, 0, 0, 0}, {4447, 32, 512, 1024, 0, 0, 0}, {32, 512, 1088, 4352, 0, 0, 0}, {3855, 819, 4369, 0, 0, 0, 0}, {18504, 4386, 0, 0, 0, 0, 0}, {275, 80, 4096, 0, 0, 0, 0}, {5928, 13568, 4420, 0, 0, 0, 0}, {4634, 4389, 4437, 5397, 0, 0, 0}, {1100, 4454, 16384, 0, 0, 0, 0}, {1295, 4391, 5911, 80, 0, 0, 0}, {5960, 1632, 21760, 0, 0, 0, 0}, {4377, 5413, 5654, 5461, 0, 0, 0}, {4394, 13056, 1088, 0, 0, 0, 0}, {4379, 819, 80, 5140, 0, 0, 0}, {4428, 32, 512, 5376, 0, 0, 0}, {4397, 4626, 21845, 0, 0, 0, 0}, {4590, 7458, 8738, 17476, 0, 0, 0}, {287, 32, 512, 80, 1040, 4112, 0}, {240, 768, 4352, 0, 0, 0, 0}, {32, 514, 1028, 4369, 0, 0, 0}, {258, 80, 4096, 0, 0, 0, 0}, {3084, 4403, 0, 0, 0, 0, 0}, {780, 4404, 4420, 1028, 0, 0, 0}, {1546, 9216, 4437, 0, 0, 0, 0}, {1290, 4406, 1542, 80, 0, 0, 0}, {1032, 4471, 16384, 0, 0, 0, 0}, {4360, 112, 768, 5376, 0, 0, 0}, {4409, 1542, 21845, 0, 0, 0, 0}, {4362, 768, 80, 5120, 0, 0, 0}, {4411, 13107, 1028, 0, 0, 0, 0}, {780, 4656, 21760, 0, 0, 0, 0}, {1032, 32, 514, 5461, 0, 0, 0}, {270, 32, 514, 80, 1028, 4112, 0}, {4607, 3072, 8704, 17408, 0, 0, 0}, {23040, 8704, 0, 0, 0, 0, 0}, {19, 64, 257, 0, 0, 0, 0}, {32, 514, 20480, 0, 0, 0, 0}, {12, 51, 771, 4352, 0, 0, 0}, {12, 4612, 64, 1028, 0, 0, 0}, {95, 8789, 1285, 0, 0, 0, 0}, {12, 96, 4614, 5120, 0, 0, 0}, {127, 1799, 21760, 0, 0, 0, 0}, {128, 2056, 8712, 21000, 0, 0, 0}, {12, 51, 771, 83, 1285, 4358, 0}, {160, 2570, 8714, 20480, 0, 0, 0}, {12, 51, 771, 64, 1028, 4356, 0}, {12, 4608, 17408, 0, 0, 0, 0}, {95, 32, 514, 1285, 0, 0, 0}, {12, 32, 514, 64, 1028, 4096, 0}, {255, 3855, 8704, 21760, 0, 0, 0}, {32, 512, 64, 4112, 0, 0, 0}, {3840, 51, 4369, 0, 0, 0, 0}, {192, 4626, 0, 0, 0, 0, 0}, {19, 1280, 4352, 0, 0, 0, 0}, {108, 8772, 5140, 0, 0, 0, 0}, {63, 4629, 64, 5397, 0, 0, 0}, {76, 5654, 17408, 0, 0, 0, 0}, {95, 96, 4631, 1280, 0, 0, 0}, {4632, 96, 20560, 0, 0, 0, 0}, {4377, 51, 1792, 4437, 0, 0, 0}, {4634, 12336, 64, 0, 0, 0, 0}, {4379, 51, 4420, 1280, 0, 0, 0}, {5148, 32, 512, 5200, 0, 0, 0}, {4637, 4642, 21845, 0, 0, 0, 0}, {204, 7710, 8738, 17476, 0, 0, 0}, {31, 32, 512, 64, 1280, 4096, 0}, {32, 512, 20480, 0, 0, 0, 0}, {12, 51, 771, 4369, 0, 0, 0}, {23210, 8738, 0, 0, 0, 0, 0}, {259, 1024, 272, 0, 0, 0, 0}, {12, 5156, 1536, 5188, 0, 0, 0}, {1807, 1904, 21845, 0, 0, 0, 0}, {12, 4646, 64, 1024, 0, 0, 0}, {1295, 10023, 1360, 0, 0, 0, 0}, {160, 2560, 8744, 20480, 0, 0, 0}, {12, 51, 771, 64, 1024, 4373, 0}, {128, 2048, 8746, 21034, 0, 0, 0}, {12, 51, 771, 83, 1283, 4375, 0}, {12, 32, 512, 64, 1024, 4096, 0}, {255, 3855, 8738, 21845, 0, 0, 0}, {12, 4642, 17476, 0, 0, 0, 0}, {1295, 32, 512, 1360, 0, 0, 0}, {18432, 4656, 0, 0, 0, 0, 0}, {19, 1365, 4369, 0, 0, 0, 0}, {32, 514, 64, 4112, 0, 0, 0}, {3840, 51, 4352, 0, 0, 0, 0}, {76, 5744, 17476, 0, 0, 0, 0}, {1290, 1333, 5888, 1365, 0, 0, 0}, {5180, 13878, 5200, 0, 0, 0, 0}, {4616, 4663, 64, 5376, 0, 0, 0}, {4664, 12336, 64, 0, 0, 0, 0}, {4362, 51, 4437, 5120, 0, 0, 0}, {4698, 96, 20560, 0, 0, 0, 0}, {4360, 51, 5632, 4420, 0, 0, 0}, {204, 7740, 8704, 17408, 0, 0, 0}, {31, 32, 514, 64, 1301, 4096, 0}, {76, 32, 514, 5140, 0, 0, 0}, {63, 4608, 21760, 0, 0, 0, 0}, {4608, 64, 0, 0, 0, 0, 0}, {95, 51, 1285, 4369, 0, 0, 0}, {96, 4674, 20480, 0, 0, 0, 0}, {76, 51, 1859, 4352, 0, 0, 0}, {204, 7748, 8772, 17476, 0, 0, 0}, {31, 32, 533, 64, 1285, 4112, 0}, {76, 32, 582, 5120, 0, 0, 0}, {63, 4679, 21760, 0, 0, 0, 0}, {4680, 12288, 0, 0, 0, 0, 0}, {19, 4437, 1285, 0, 0, 0, 0}, {522, 32, 64, 4096, 0, 0, 0}, {3855, 51, 4420, 0, 0, 0, 0}, {76, 5632, 17408, 0, 0, 0, 0}, {95, 96, 4626, 1285, 0, 0, 0}, {5160, 8738, 5188, 0, 0, 0, 0}, {4623, 4656, 64, 5376, 0, 0, 0}, {160, 2560, 8704, 20560, 0, 0, 0}, {12, 51, 768, 64, 1028, 4369, 0}, {128, 2056, 8738, 21074, 0, 0, 0}, {12, 51, 768, 83, 1280, 4352, 0}, {12, 32, 516, 64, 1028, 4112, 0}, {255, 3840, 8789, 21845, 0, 0, 0}, {12, 4694, 17408, 0, 0, 0, 0}, {95, 32, 599, 1280, 0, 0, 0}, {520, 32, 20560, 0, 0, 0, 0}, {12, 51, 768, 4437, 0, 0, 0}, {8874, 23130, 0, 0, 0, 0, 0}, {19, 260, 4096, 0, 0, 0, 0}, {12, 5168, 1536, 5200, 0, 0, 0}, {1800, 1911, 21845, 0, 0, 0, 0}, {12, 4626, 64, 1028, 0, 0, 0}, {95, 8704, 1280, 0, 0, 0, 0}, {96, 4608, 20480, 0, 0, 0, 0}, {76, 51, 1799, 4369, 0, 0, 0}, {2056, 4642, 64, 0, 0, 0, 0}, {1295, 51, 1360, 4352, 0, 0, 0}, {5128, 32, 5632, 5188, 0, 0, 0}, {4698, 4709, 21845, 0, 0, 0, 0}, {204, 7782, 8806, 17408, 0, 0, 0}, {31, 32, 535, 64, 1296, 4112, 0}, {520, 32, 64, 4096, 0, 0, 0}, {3855, 51, 4437, 0, 0, 0, 0}, {4714, 12288, 0, 0, 0, 0, 0}, {19, 4420, 5140, 0, 0, 0, 0}, {108, 8704, 5120, 0, 0, 0, 0}, {63, 4626, 64, 5397, 0, 0, 0}, {76, 5734, 17476, 0, 0, 0, 0}, {1295, 1328, 5888, 1360, 0, 0, 0}, {128, 2048, 8704, 21104, 0, 0, 0}, {12, 51, 768, 83, 1286, 4369, 0}, {160, 2570, 8738, 20560, 0, 0, 0}, {12, 51, 768, 64, 1024, 4352, 0}, {12, 4724, 17476, 0, 0, 0, 0}, {1290, 32, 1792, 1365, 0, 0, 0}, {12, 32, 518, 64, 1024, 4112, 0}, {255, 3840, 8823, 21760, 0, 0, 0}, {8840, 30840, 0, 0, 0, 0, 0}, {19, 277, 4096, 0, 0, 0, 0}, {522, 32, 20560, 0, 0, 0, 0}, {12, 51, 768, 4420, 0, 0, 0}, {12, 4656, 64, 1024, 0, 0, 0}, {1290, 8738, 1365, 0, 0, 0, 0}, {12, 96, 4626, 5140, 0, 0, 0}, {127, 1792, 21760, 0, 0, 0, 0}, {128, 2048, 8704, 20992, 0, 0, 0}, {12, 51, 771, 83, 1285, 4369, 0}, {160, 2570, 8738, 20480, 0, 0, 0}, {12, 51, 771, 64, 1024, 4352, 0}, {12, 4676, 17476, 0, 0, 0, 0}, {95, 32, 597, 1285, 0, 0, 0}, {12, 32, 518, 64, 1024, 4096, 0}, {255, 3855, 8823, 21760, 0, 0, 0}, {8840, 23040, 0, 0, 0, 0, 0}, {19, 261, 4112, 0, 0, 0, 0}, {522, 32, 20480, 0, 0, 0, 0}, {12, 51, 771, 4420, 0, 0, 0}, {12, 4608, 64, 1024, 0, 0, 0}, {95, 8738, 1285, 0, 0, 0, 0}, {12, 5156, 1542, 5188, 0, 0, 0}, {1807, 1904, 21760, 0, 0, 0, 0}, {96, 4688, 20560, 0, 0, 0, 0}, {76, 51, 1860, 4369, 0, 0, 0}, {4626, 64, 0, 0, 0, 0, 0}, {95, 51, 1280, 4352, 0, 0, 0}, {76, 32, 580, 5140, 0, 0, 0}, {63, 4693, 21845, 0, 0, 0, 0}, {204, 7770, 8806, 17408, 0, 0, 0}, {31, 32, 535, 64, 1280, 4096, 0}, {520, 32, 64, 4112, 0, 0, 0}, {3840, 51, 4437, 0, 0, 0, 0}, {4698, 12336, 0, 0, 0, 0, 0}, {19, 4420, 1280, 0, 0, 0, 0}, {5180, 8704, 5200, 0, 0, 0, 0}, {4637, 4642, 64, 5397, 0, 0, 0}, {76, 5654, 17476, 0, 0, 0, 0}, {95, 96, 4608, 1280, 0, 0, 0}, {160, 2560, 8704, 20480, 0, 0, 0}, {12, 51, 771, 64, 1028, 4369, 0}, {128, 2056, 8738, 21026, 0, 0, 0}, {12, 51, 771, 83, 1283, 4352, 0}, {12, 32, 516, 64, 1028, 4096, 0}, {255, 3855, 8789, 21845, 0, 0, 0}, {12, 4710, 17408, 0, 0, 0, 0}, {1295, 32, 1799, 1360, 0, 0, 0}, {520, 32, 20480, 0, 0, 0, 0}, {12, 51, 771, 4437, 0, 0, 0}, {8874, 30720, 0, 0, 0, 0, 0}, {19, 276, 4112, 0, 0, 0, 0}, {12, 96, 4608, 5120, 0, 0, 0}, {127, 1799, 21845, 0, 0, 0, 0}, {12, 4642, 64, 1028, 0, 0, 0}, {1295, 8704, 1360, 0, 0, 0, 0}, {2048, 4656, 64, 0, 0, 0, 0}, {1290, 51, 1365, 4369, 0, 0, 0}, {96, 4626, 20560, 0, 0, 0, 0}, {76, 51, 1792, 4352, 0, 0, 0}, {204, 7800, 8772, 17476, 0, 0, 0}, {31, 32, 533, 64, 1301, 4096, 0}, {5148, 32, 5654, 5200, 0, 0, 0}, {4680, 4727, 21760, 0, 0, 0, 0}, {4728, 12336, 0, 0, 0, 0, 0}, {19, 4437, 5120, 0, 0, 0, 0}, {522, 32, 64, 4112, 0, 0, 0}, {3840, 51, 4420, 0, 0, 0, 0}, {76, 5744, 17408, 0, 0, 0, 0}, {1290, 1333, 5911, 1365, 0, 0, 0}, {108, 8738, 5140, 0, 0, 0, 0}, {63, 4608, 64, 5376, 0, 0, 0}, {192, 4608, 0, 0, 0, 0, 0}, {19, 1285, 4369, 0, 0, 0, 0}, {32, 514, 64, 4096, 0, 0, 0}, {3855, 51, 4352, 0, 0, 0, 0}, {76, 5632, 17476, 0, 0, 0, 0}, {95, 96, 4613, 1285, 0, 0, 0}, {108, 8806, 5120, 0, 0, 0, 0}, {63, 4615, 64, 5376, 0, 0, 0}, {4616, 12288, 64, 0, 0, 0, 0}, {4362, 51, 4437, 1285, 0, 0, 0}, {4618, 96, 20480, 0, 0, 0, 0}, {4360, 51, 1799, 4420, 0, 0, 0}, {204, 7680, 8704, 17408, 0, 0, 0}, {31, 32, 514, 64, 1285, 4112, 0}, {5128, 32, 514, 5188, 0, 0, 0}, {4623, 4656, 21760, 0, 0, 0, 0}, {32, 512, 20560, 0, 0, 0, 0}, {12, 51, 768, 4369, 0, 0, 0}, {23130, 8738, 0, 0, 0, 0, 0}, {19, 64, 256, 0, 0, 0, 0}, {12, 96, 4628, 5140, 0, 0, 0}, {127, 1792, 21845, 0, 0, 0, 0}, {12, 4630, 64, 1024, 0, 0, 0}, {95, 8823, 1280, 0, 0, 0, 0}, {160, 2560, 8744, 20560, 0, 0, 0}, {12, 51, 768, 64, 1024, 4373, 0}, {128, 2048, 8746, 21082, 0, 0, 0}, {12, 51, 768, 83, 1280, 4375, 0}, {12, 32, 512, 64, 1024, 4112, 0}, {255, 3840, 8738, 21845, 0, 0, 0}, {12, 4626, 17476, 0, 0, 0, 0}, {95, 32, 512, 1280, 0, 0, 0}, {32, 512, 64, 4096, 0, 0, 0}, {3855, 51, 4369, 0, 0, 0, 0}, {18504, 4642, 0, 0, 0, 0, 0}, {19, 1360, 4352, 0, 0, 0, 0}, {5160, 13824, 5188, 0, 0, 0, 0}, {4634, 4645, 64, 5397, 0, 0, 0}, {76, 5734, 17408, 0, 0, 0, 0}, {1295, 1328, 5911, 1360, 0, 0, 0}, {4680, 96, 20480, 0, 0, 0, 0}, {4377, 51, 5654, 4437, 0, 0, 0}, {4650, 12288, 64, 0, 0, 0, 0}, {4379, 51, 4420, 5140, 0, 0, 0}, {76, 32, 512, 5120, 0, 0, 0}, {63, 4626, 21845, 0, 0, 0, 0}, {204, 7714, 8738, 17476, 0, 0, 0}, {31, 32, 512, 64, 1296, 4112, 0}, {23280, 8704, 0, 0, 0, 0, 0}, {258, 1028, 273, 0, 0, 0, 0}, {32, 514, 20560, 0, 0, 0, 0}, {12, 51, 768, 4352, 0, 0, 0}, {12, 4660, 64, 1028, 0, 0, 0}, {1290, 9984, 1365, 0, 0, 0, 0}, {12, 5168, 1542, 5200, 0, 0, 0}, {1800, 1911, 21760, 0, 0, 0, 0}, {128, 2056, 8712, 21112, 0, 0, 0}, {12, 51, 768, 83, 1286, 4358, 0}, {160, 2570, 8714, 20560, 0, 0, 0}, {12, 51, 768, 64, 1028, 4356, 0}, {12, 4656, 17408, 0, 0, 0, 0}, {1290, 32, 514, 1365, 0, 0, 0}, {12, 32, 514, 64, 1028, 4112, 0}, {255, 3840, 8704, 21760, 0, 0, 0}, {4864, 16384, 0, 0, 0, 0, 0}, {90, 34, 257, 0, 0, 0, 0}, {1032, 34, 514, 4352, 0, 0, 0}, {4144, 771, 20480, 0, 0, 0, 0}, {4940, 13124, 1028, 0, 0, 0, 0}, {4106, 4869, 4176, 1285, 0, 0, 0}, {5482, 1542, 21760, 0, 0, 0, 0}, {4104, 4208, 4871, 5120, 0, 0, 0}, {1032, 5888, 17408, 0, 0, 0, 0}, {90, 4192, 771, 1285, 0, 0, 0}, {4874, 13056, 5376, 0, 0, 0, 0}, {4152, 771, 4160, 1028, 0, 0, 0}, {5068, 3084, 8192, 21260, 0, 0, 0}, {269, 34, 514, 343, 1285, 4098, 0}, {34, 514, 4420, 1028, 0, 0, 0}, {783, 4096, 0, 0, 0, 0, 0}, {3840, 816, 4112, 0, 0, 0, 0}, {34, 512, 1092, 4369, 0, 0, 0}, {274, 1280, 4352, 0, 0, 0, 0}, {16512, 4883, 0, 0, 0, 0, 0}, {4136, 4884, 4176, 5140, 0, 0, 0}, {4991, 13141, 5397, 0, 0, 0, 0}, {90, 4208, 4886, 1280, 0, 0, 0}, {1096, 5911, 17408, 0, 0, 0, 0}, {4120, 1072, 1792, 5200, 0, 0, 0}, {4889, 1638, 21845, 0, 0, 0, 0}, {4122, 816, 4160, 1280, 0, 0, 0}, {4891, 13107, 1092, 0, 0, 0, 0}, {4892, 4128, 20560, 0, 0, 0, 0}, {5405, 34, 512, 4437, 0, 0, 0}, {286, 34, 512, 324, 1280, 4096, 0}, {5087, 7967, 8224, 16448, 0, 0, 0}, {3072, 4896, 0, 0, 0, 0, 0}, {259, 1365, 4369, 0, 0, 0, 0}, {34, 512, 1024, 4352, 0, 0, 0}, {240, 771, 4112, 0, 0, 0, 0}, {1036, 5984, 17476, 0, 0, 0, 0}, {1295, 5413, 1536, 1365, 0, 0, 0}, {1548, 9766, 5440, 0, 0, 0, 0}, {783, 4903, 4176, 1024, 0, 0, 0}, {4904, 13056, 1024, 0, 0, 0, 0}, {4122, 771, 4160, 5397, 0, 0, 0}, {5418, 1536, 21760, 0, 0, 0, 0}, {4120, 4192, 771, 5140, 0, 0, 0}, {5100, 3084, 8224, 16448, 0, 0, 0}, {271, 34, 512, 341, 1024, 4096, 0}, {1036, 34, 512, 4420, 0, 0, 0}, {783, 4128, 20560, 0, 0, 0, 0}, {4144, 4864, 20480, 0, 0, 0, 0}, {1100, 34, 514, 4369, 0, 0, 0}, {1290, 514, 272, 0, 0, 0, 0}, {4915, 16384, 0, 0, 0, 0, 0}, {4104, 1076, 5888, 5188, 0, 0, 0}, {4959, 1632, 21845, 0, 0, 0, 0}, {4106, 4918, 4176, 5376, 0, 0, 0}, {5951, 14135, 1088, 0, 0, 0, 0}, {4872, 816, 4160, 5120, 0, 0, 0}, {4921, 13107, 5461, 0, 0, 0, 0}, {1290, 5424, 5632, 1360, 0, 0, 0}, {1100, 6007, 17476, 0, 0, 0, 0}, {828, 4096, 0, 0, 0, 0, 0}, {34, 514, 4437, 5397, 0, 0, 0}, {284, 34, 514, 326, 1046, 4098, 0}, {5119, 7999, 8192, 21311, 0, 0, 0}, {4992, 8000, 13056, 16448, 0, 0, 0}, {283, 34, 785, 321, 1285, 4369, 0}, {1096, 34, 1602, 4352, 0, 0, 0}, {4208, 4931, 20480, 0, 0, 0, 0}, {5888, 1092, 0, 0, 0, 0, 0}, {90, 869, 1285, 4112, 0, 0, 0}, {5418, 4934, 21760, 0, 0, 0, 0}, {4168, 4144, 839, 5120, 0, 0, 0}, {1096, 4864, 17408, 0, 0, 0, 0}, {90, 4128, 4883, 1285, 0, 0, 0}, {2570, 4896, 5440, 0, 0, 0, 0}, {1807, 819, 1092, 4096, 0, 0, 0}, {4940, 24576, 0, 0, 0, 0, 0}, {279, 4437, 1285, 0, 0, 0, 0}, {522, 34, 4420, 5376, 0, 0, 0}, {831, 12336, 4160, 0, 0, 0, 0}, {768, 4176, 0, 0, 0, 0, 0}, {520, 34, 1028, 4369, 0, 0, 0}, {264, 34, 768, 338, 1280, 4352, 0}, {5011, 3084, 13107, 21331, 0, 0, 0}, {780, 884, 1028, 4112, 0, 0, 0}, {1536, 5461, 0, 0, 0, 0, 0}, {90, 4144, 854, 1280, 0, 0, 0}, {1032, 4951, 17408, 0, 0, 0, 0}, {1032, 4128, 768, 5200, 0, 0, 0}, {1548, 4915, 21845, 0, 0, 0, 0}, {90, 768, 1280, 4096, 0, 0, 0}, {136, 4883, 1028, 0, 0, 0, 0}, {780, 4192, 20560, 0, 0, 0, 0}, {1032, 34, 1536, 4437, 0, 0, 0}, {34, 4626, 260, 0, 0, 0, 0}, {4959, 16384, 0, 0, 0, 0, 0}, {5024, 8032, 13056, 21344, 0, 0, 0}, {281, 34, 785, 323, 1046, 4369, 0}, {520, 34, 1088, 4352, 0, 0, 0}, {3855, 819, 4176, 0, 0, 0, 0}, {1100, 4964, 17476, 0, 0, 0, 0}, {1295, 4144, 5632, 1365, 0, 0, 0}, {4966, 5376, 0, 0, 0, 0, 0}, {1080, 1799, 1088, 4112, 0, 0, 0}, {2056, 4896, 1088, 0, 0, 0, 0}, {1295, 819, 1365, 4096, 0, 0, 0}, {5482, 4864, 21760, 0, 0, 0, 0}, {4184, 4128, 4883, 5140, 0, 0, 0}, {4972, 16384, 0, 0, 0, 0, 0}, {34, 4626, 277, 0, 0, 0, 0}, {5384, 34, 5888, 4420, 0, 0, 0}, {4959, 4192, 20560, 0, 0, 0, 0}, {4208, 768, 20480, 0, 0, 0, 0}, {1036, 34, 1542, 4369, 0, 0, 0}, {266, 34, 768, 336, 1024, 4352, 0}, {5043, 3084, 13107, 16448, 0, 0, 0}, {1036, 4144, 1792, 5188, 0, 0, 0}, {1546, 4981, 21845, 0, 0, 0, 0}, {1290, 1542, 1360, 4112, 0, 0, 0}, {4983, 1024, 0, 0, 0, 0, 0}, {120, 768, 1024, 4096, 0, 0, 0}, {170, 4883, 5397, 0, 0, 0, 0}, {1290, 4128, 768, 1360, 0, 0, 0}, {1036, 4915, 17476, 0, 0, 0, 0}, {780, 12336, 4160, 0, 0, 0, 0}, {522, 34, 4437, 1024, 0, 0, 0}, {262, 4420, 5140, 0, 0, 0, 0}, {4991, 24576, 0, 0, 0, 0, 0}, {4992, 3072, 13056, 21248, 0, 0, 0}, {265, 34, 771, 339, 1285, 4369, 0}, {522, 34, 1024, 4352, 0, 0, 0}, {771, 4160, 0, 0, 0, 0, 0}, {1036, 4932, 17476, 0, 0, 0, 0}, {90, 4128, 853, 1285, 0, 0, 0}, {1542, 5440, 0, 0, 0, 0, 0}, {783, 887, 1024, 4096, 0, 0, 0}, {136, 4864, 1024, 0, 0, 0, 0}, {90, 771, 1285, 4112, 0, 0, 0}, {1546, 4896, 21760, 0, 0, 0, 0}, {1036, 4144, 771, 5188, 0, 0, 0}, {4940, 16448, 0, 0, 0, 0, 0}, {34, 4608, 261, 0, 0, 0, 0}, {1036, 34, 1542, 4420, 0, 0, 0}, {783, 4208, 20480, 0, 0, 0, 0}, {4192, 4944, 20560, 0, 0, 0, 0}, {1100, 34, 1604, 4369, 0, 0, 0}, {282, 34, 786, 320, 1280, 4352, 0}, {5011, 8031, 13107, 16384, 0, 0, 0}, {4184, 4128, 836, 5140, 0, 0, 0}, {5439, 4949, 21845, 0, 0, 0, 0}, {90, 870, 1280, 4096, 0, 0, 0}, {5911, 1088, 0, 0, 0, 0, 0}, {1800, 816, 1088, 4112, 0, 0, 0}, {2560, 4915, 5461, 0, 0, 0, 0}, {90, 4144, 4864, 1280, 0, 0, 0}, {1100, 4883, 17476, 0, 0, 0, 0}, {828, 12288, 4176, 0, 0, 0, 0}, {520, 34, 4437, 5397, 0, 0, 0}, {278, 4420, 1280, 0, 0, 0, 0}, {4959, 24672, 0, 0, 0, 0, 0}, {5024, 3072, 13056, 16384, 0, 0, 0}, {267, 34, 771, 337, 1028, 4369, 0}, {1032, 34, 1536, 4352, 0, 0, 0}, {4192, 771, 20560, 0, 0, 0, 0}, {4964, 1028, 0, 0, 0, 0, 0}, {1295, 1536, 1365, 4096, 0, 0, 0}, {1548, 4966, 21760, 0, 0, 0, 0}, {1032, 4128, 1799, 5200, 0, 0, 0}, {1032, 4896, 17408, 0, 0, 0, 0}, {1295, 4144, 771, 1365, 0, 0, 0}, {170, 4864, 5376, 0, 0, 0, 0}, {120, 771, 1028, 4112, 0, 0, 0}, {4972, 24672, 0, 0, 0, 0, 0}, {263, 4437, 5120, 0, 0, 0, 0}, {520, 34, 4420, 1028, 0, 0, 0}, {783, 12288, 4176, 0, 0, 0, 0}, {3840, 816, 4160, 0, 0, 0, 0}, {522, 34, 1092, 4369, 0, 0, 0}, {280, 34, 786, 322, 1042, 4352, 0}, {5043, 8063, 13107, 21299, 0, 0, 0}, {1084, 1792, 1092, 4096, 0, 0, 0}, {4981, 5397, 0, 0, 0, 0, 0}, {1290, 4128, 5654, 1360, 0, 0, 0}, {1096, 4983, 17408, 0, 0, 0, 0}, {4168, 4144, 4864, 5120, 0, 0, 0}, {5503, 4883, 21845, 0, 0, 0, 0}, {1290, 816, 1360, 4112, 0, 0, 0}, {2048, 4915, 1092, 0, 0, 0, 0}, {4940, 4208, 20480, 0, 0, 0, 0}, {5405, 34, 5911, 4437, 0, 0, 0}, {34, 4608, 276, 0, 0, 0, 0}, {4991, 16448, 0, 0, 0, 0, 0}, {16576, 4864, 0, 0, 0, 0, 0}, {275, 1285, 4369, 0, 0, 0, 0}, {34, 514, 1088, 4352, 0, 0, 0}, {3855, 819, 4096, 0, 0, 0, 0}, {1100, 5888, 17476, 0, 0, 0, 0}, {90, 4192, 4869, 1285, 0, 0, 0}, {4972, 13158, 5376, 0, 0, 0, 0}, {4152, 4871, 4160, 5120, 0, 0, 0}, {4872, 13056, 1088, 0, 0, 0, 0}, {4106, 819, 4176, 1285, 0, 0, 0}, {4874, 1632, 21760, 0, 0, 0, 0}, {4104, 1076, 1799, 5188, 0, 0, 0}, {5068, 7936, 8192, 16384, 0, 0, 0}, {287, 34, 514, 325, 1285, 4112, 0}, {5384, 34, 514, 4420, 0, 0, 0}, {4879, 4144, 20480, 0, 0, 0, 0}, {4128, 768, 20560, 0, 0, 0, 0}, {1036, 34, 512, 4369, 0, 0, 0}, {90, 34, 256, 0, 0, 0, 0}, {4883, 16448, 0, 0, 0, 0, 0}, {4120, 4192, 4884, 5140, 0, 0, 0}, {5503, 1536, 21845, 0, 0, 0, 0}, {4122, 4886, 4160, 1280, 0, 0, 0}, {4959, 13175, 1024, 0, 0, 0, 0}, {4136, 768, 4176, 1024, 0, 0, 0}, {4889, 13107, 5397, 0, 0, 0, 0}, {90, 4208, 768, 1280, 0, 0, 0}, {1036, 5911, 17476, 0, 0, 0, 0}, {780, 4112, 0, 0, 0, 0, 0}, {34, 512, 4437, 1024, 0, 0, 0}, {268, 34, 512, 342, 1280, 4114, 0}, {5087, 3072, 8224, 21343, 0, 0, 0}, {4896, 16448, 0, 0, 0, 0, 0}, {1295, 512, 273, 0, 0, 0, 0}, {1096, 34, 512, 4352, 0, 0, 0}, {4128, 4883, 20560, 0, 0, 0, 0}, {5928, 14080, 1092, 0, 0, 0, 0}, {4122, 4901, 4160, 5397, 0, 0, 0}, {4940, 1638, 21760, 0, 0, 0, 0}, {4120, 1072, 5911, 5200, 0, 0, 0}, {1096, 5984, 17408, 0, 0, 0, 0}, {1295, 5413, 5654, 1365, 0, 0, 0}, {4906, 13056, 5440, 0, 0, 0, 0}, {4891, 819, 4176, 5140, 0, 0, 0}, {5100, 7968, 8224, 21356, 0, 0, 0}, {285, 34, 512, 327, 1042, 4114, 0}, {34, 512, 4420, 5376, 0, 0, 0}, {831, 4112, 0, 0, 0, 0, 0}, {240, 768, 4096, 0, 0, 0, 0}, {34, 514, 1028, 4369, 0, 0, 0}, {258, 1360, 4352, 0, 0, 0, 0}, {3084, 4915, 0, 0, 0, 0, 0}, {780, 4916, 4160, 1028, 0, 0, 0}, {1546, 9728, 5461, 0, 0, 0, 0}, {1290, 5424, 1542, 1360, 0, 0, 0}, {1032, 6007, 17408, 0, 0, 0, 0}, {4104, 4208, 768, 5120, 0, 0, 0}, {5439, 1542, 21845, 0, 0, 0, 0}, {4106, 768, 4176, 5376, 0, 0, 0}, {4923, 13107, 1028, 0, 0, 0, 0}, {780, 4144, 20480, 0, 0, 0, 0}, {1032, 34, 514, 4437, 0, 0, 0}, {270, 34, 514, 340, 1028, 4112, 0}, {5119, 3072, 8192, 16384, 0, 0, 0}, {12288, 5120, 0, 0, 0, 0, 0}, {42, 85, 257, 0, 0, 0, 0}, {4106, 4128, 514, 5122, 0, 0, 0}, {5180, 771, 17459, 0, 0, 0, 0}, {8192, 4160, 1028, 0, 0, 0, 0}, {783, 85, 1285, 4352, 0, 0, 0}, {5228, 1542, 17510, 0, 0, 0, 0}, {4111, 4208, 4864, 5127, 0, 0, 0}, {1032, 4096, 0, 0, 0, 0, 0}, {4403, 771, 85, 1285, 0, 0, 0}, {5130, 4608, 17408, 0, 0, 0, 0}, {4175, 4144, 771, 1028, 0, 0, 0}, {5324, 3084, 9228, 20480, 0, 0, 0}, {269, 295, 514, 85, 1285, 4101, 0}, {4170, 4192, 514, 1028, 0, 0, 0}, {5135, 5888, 17408, 0, 0, 0, 0}, {2048, 1088, 4112, 0, 0, 0, 0}, {819, 85, 1280, 4369, 0, 0, 0}, {5240, 4626, 17442, 0, 0, 0, 0}, {4191, 4128, 4883, 5139, 0, 0, 0}, {12528, 5140, 0, 0, 0, 0, 0}, {512, 277, 4352, 0, 0, 0, 0}, {4186, 4208, 512, 5142, 0, 0, 0}, {5160, 5911, 17527, 0, 0, 0, 0}, {5336, 6168, 12336, 20560, 0, 0, 0}, {281, 307, 512, 85, 1280, 4096, 0}, {4122, 4144, 512, 1088, 0, 0, 0}, {5147, 819, 17476, 0, 0, 0, 0}, {5148, 8224, 4176, 0, 0, 0, 0}, {4637, 4386, 85, 1280, 0, 0, 0}, {5150, 1638, 17476, 0, 0, 0, 0}, {4127, 5152, 1792, 1088, 0, 0, 0}, {4128, 1024, 0, 0, 0, 0, 0}, {1295, 771, 85, 4369, 0, 0, 0}, {5154, 1536, 20480, 0, 0, 0, 0}, {1036, 1139, 771, 4112, 0, 0, 0}, {5348, 3084, 9252, 17476, 0, 0, 0}, {271, 293, 512, 85, 1024, 4352, 0}, {1036, 1062, 512, 4160, 0, 0, 0}, {783, 5159, 20560, 0, 0, 0, 0}, {5160, 12288, 0, 0, 0, 0, 0}, {259, 85, 5397, 0, 0, 0, 0}, {42, 512, 1024, 4096, 0, 0, 0}, {255, 771, 5140, 0, 0, 0, 0}, {1036, 4192, 16448, 0, 0, 0, 0}, {1295, 4386, 1536, 85, 0, 0, 0}, {1548, 8738, 5188, 0, 0, 0, 0}, {783, 4896, 4176, 1024, 0, 0, 0}, {5360, 6192, 12336, 17408, 0, 0, 0}, {283, 305, 514, 85, 1041, 4369, 0}, {1096, 1122, 514, 4112, 0, 0, 0}, {5171, 5888, 20480, 0, 0, 0, 0}, {2056, 5172, 1092, 0, 0, 0, 0}, {1290, 1589, 85, 4352, 0, 0, 0}, {4698, 5174, 20560, 0, 0, 0, 0}, {5128, 1079, 4864, 4160, 0, 0, 0}, {1096, 4144, 16448, 0, 0, 0, 0}, {1290, 4403, 4608, 85, 0, 0, 0}, {2570, 4656, 5200, 0, 0, 0, 0}, {1800, 819, 1092, 4096, 0, 0, 0}, {5180, 24576, 0, 0, 0, 0, 0}, {279, 85, 5397, 0, 0, 0, 0}, {42, 514, 4176, 5140, 0, 0, 0}, {831, 13056, 5120, 0, 0, 0, 0}, {8192, 4160, 5120, 0, 0, 0, 0}, {828, 85, 1285, 4369, 0, 0, 0}, {4680, 1632, 16962, 0, 0, 0, 0}, {4111, 1075, 5888, 5187, 0, 0, 0}, {12288, 5188, 0, 0, 0, 0, 0}, {522, 1285, 272, 0, 0, 0, 0}, {4106, 4128, 4608, 5190, 0, 0, 0}, {5960, 816, 18247, 0, 0, 0, 0}, {5256, 6216, 9288, 20480, 0, 0, 0}, {284, 310, 790, 85, 1285, 4101, 0}, {5130, 5152, 5632, 1088, 0, 0, 0}, {5195, 6007, 17476, 0, 0, 0, 0}, {1100, 4096, 0, 0, 0, 0, 0}, {4386, 4626, 85, 1285, 0, 0, 0}, {5198, 4642, 17476, 0, 0, 0, 0}, {5135, 4144, 4864, 1088, 0, 0, 0}, {3072, 5200, 0, 0, 0, 0, 0}, {546, 260, 4369, 0, 0, 0, 0}, {1032, 1058, 1536, 5202, 0, 0, 0}, {780, 5984, 21331, 0, 0, 0, 0}, {128, 1028, 4112, 0, 0, 0, 0}, {768, 85, 1280, 4352, 0, 0, 0}, {1548, 4656, 22102, 0, 0, 0, 0}, {1032, 4128, 768, 5207, 0, 0, 0}, {1032, 8224, 4176, 0, 0, 0, 0}, {780, 4403, 85, 1280, 0, 0, 0}, {5210, 1536, 17408, 0, 0, 0, 0}, {4127, 4192, 4883, 1028, 0, 0, 0}, {5276, 3084, 12336, 20560, 0, 0, 0}, {264, 290, 768, 85, 1280, 4096, 0}, {4122, 4144, 4626, 1028, 0, 0, 0}, {5215, 768, 17408, 0, 0, 0, 0}, {5280, 6240, 9312, 17408, 0, 0, 0}, {286, 308, 790, 85, 1041, 4369, 0}, {5128, 5154, 5632, 4160, 0, 0, 0}, {5983, 5219, 20560, 0, 0, 0, 0}, {2056, 4128, 1092, 0, 0, 0, 0}, {1295, 816, 85, 4352, 0, 0, 0}, {5222, 4608, 20480, 0, 0, 0, 0}, {1096, 1079, 1799, 4112, 0, 0, 0}, {1096, 4192, 16448, 0, 0, 0, 0}, {1295, 4403, 5888, 85, 0, 0, 0}, {4714, 8704, 5120, 0, 0, 0, 0}, {4143, 4883, 4176, 5140, 0, 0, 0}, {5228, 12288, 0, 0, 0, 0, 0}, {274, 85, 5397, 0, 0, 0, 0}, {520, 546, 1092, 4096, 0, 0, 0}, {3855, 816, 5200, 0, 0, 0, 0}, {4208, 1024, 0, 0, 0, 0, 0}, {1290, 1542, 85, 4369, 0, 0, 0}, {1546, 5234, 20560, 0, 0, 0, 0}, {1036, 5171, 1792, 4160, 0, 0, 0}, {5300, 3084, 12336, 17476, 0, 0, 0}, {266, 288, 768, 85, 1024, 4352, 0}, {1036, 1062, 1542, 4112, 0, 0, 0}, {5239, 768, 20480, 0, 0, 0, 0}, {5240, 24576, 0, 0, 0, 0, 0}, {262, 85, 5397, 0, 0, 0, 0}, {522, 544, 4176, 1024, 0, 0, 0}, {780, 13107, 5188, 0, 0, 0, 0}, {1036, 4144, 16448, 0, 0, 0, 0}, {1290, 4386, 768, 85, 0, 0, 0}, {170, 4626, 5140, 0, 0, 0, 0}, {127, 768, 1024, 4096, 0, 0, 0}, {128, 1024, 4096, 0, 0, 0, 0}, {771, 85, 1285, 4369, 0, 0, 0}, {1546, 4642, 22016, 0, 0, 0, 0}, {1036, 4144, 771, 5187, 0, 0, 0}, {3084, 5188, 0, 0, 0, 0, 0}, {544, 261, 4352, 0, 0, 0, 0}, {1036, 1062, 1542, 5190, 0, 0, 0}, {783, 6007, 21248, 0, 0, 0, 0}, {5256, 3072, 12288, 20480, 0, 0, 0}, {265, 291, 771, 85, 1285, 4112, 0}, {4106, 4128, 4608, 1024, 0, 0, 0}, {5195, 771, 17476, 0, 0, 0, 0}, {1036, 8192, 4160, 0, 0, 0, 0}, {783, 4386, 85, 1285, 0, 0, 0}, {5198, 1542, 17476, 0, 0, 0, 0}, {4111, 4208, 4864, 1024, 0, 0, 0}, {12336, 5200, 0, 0, 0, 0, 0}, {520, 1280, 273, 0, 0, 0, 0}, {4122, 4144, 4626, 5202, 0, 0, 0}, {5983, 819, 18176, 0, 0, 0, 0}, {8224, 4176, 5140, 0, 0, 0, 0}, {831, 85, 1280, 4352, 0, 0, 0}, {4698, 1638, 16896, 0, 0, 0, 0}, {4127, 1079, 5911, 5207, 0, 0, 0}, {1096, 4112, 0, 0, 0, 0, 0}, {4403, 4608, 85, 1280, 0, 0, 0}, {5210, 4656, 17408, 0, 0, 0, 0}, {5147, 4128, 4883, 1092, 0, 0, 0}, {5276, 6224, 9324, 20560, 0, 0, 0}, {285, 311, 789, 85, 1280, 4117, 0}, {5150, 5172, 5654, 1092, 0, 0, 0}, {5215, 5984, 17408, 0, 0, 0, 0}, {5280, 3072, 12288, 17408, 0, 0, 0}, {267, 289, 771, 85, 1028, 4369, 0}, {1032, 1058, 1536, 4096, 0, 0, 0}, {5219, 771, 20560, 0, 0, 0, 0}, {4192, 1028, 0, 0, 0, 0, 0}, {1295, 1536, 85, 4352, 0, 0, 0}, {1548, 5222, 20480, 0, 0, 0, 0}, {1032, 5159, 1799, 4176, 0, 0, 0}, {1032, 4128, 16384, 0, 0, 0, 0}, {1295, 4403, 771, 85, 0, 0, 0}, {170, 4608, 5120, 0, 0, 0, 0}, {127, 771, 1028, 4112, 0, 0, 0}, {5228, 24672, 0, 0, 0, 0, 0}, {263, 85, 5376, 0, 0, 0, 0}, {520, 546, 4160, 1028, 0, 0, 0}, {783, 13056, 5200, 0, 0, 0, 0}, {2048, 4144, 1088, 0, 0, 0, 0}, {1290, 819, 85, 4369, 0, 0, 0}, {5234, 4626, 20560, 0, 0, 0, 0}, {1100, 1075, 1792, 4096, 0, 0, 0}, {5300, 6264, 9284, 17476, 0, 0, 0}, {287, 309, 789, 85, 1045, 4352, 0}, {5148, 5174, 5654, 4176, 0, 0, 0}, {5960, 5239, 20480, 0, 0, 0, 0}, {5240, 12336, 0, 0, 0, 0, 0}, {275, 85, 5376, 0, 0, 0, 0}, {522, 544, 1088, 4112, 0, 0, 0}, {3840, 819, 5188, 0, 0, 0, 0}, {1100, 4208, 16384, 0, 0, 0, 0}, {1290, 4386, 5911, 85, 0, 0, 0}, {4728, 8738, 5140, 0, 0, 0, 0}, {4159, 4864, 4160, 5120, 0, 0, 0}, {12480, 5120, 0, 0, 0, 0, 0}, {514, 276, 4369, 0, 0, 0, 0}, {4170, 4192, 514, 5122, 0, 0, 0}, {5180, 5888, 17459, 0, 0, 0, 0}, {2056, 1092, 4096, 0, 0, 0, 0}, {816, 85, 1285, 4352, 0, 0, 0}, {5228, 4608, 17510, 0, 0, 0, 0}, {4175, 4144, 4864, 5127, 0, 0, 0}, {5128, 8192, 4160, 0, 0, 0, 0}, {4623, 4403, 85, 1285, 0, 0, 0}, {5130, 1632, 17408, 0, 0, 0, 0}, {4111, 5172, 1799, 1092, 0, 0, 0}, {5324, 6144, 12288, 20480, 0, 0, 0}, {280, 306, 514, 85, 1285, 4112, 0}, {4106, 4128, 514, 1092, 0, 0, 0}, {5135, 816, 17408, 0, 0, 0, 0}, {8224, 4176, 1024, 0, 0, 0, 0}, {780, 85, 1280, 4369, 0, 0, 0}, {5240, 1536, 17442, 0, 0, 0, 0}, {4127, 4192, 4883, 5139, 0, 0, 0}, {12336, 5140, 0, 0, 0, 0, 0}, {42, 85, 256, 0, 0, 0, 0}, {4122, 4144, 512, 5142, 0, 0, 0}, {5160, 768, 17527, 0, 0, 0, 0}, {5336, 3072, 9256, 20560, 0, 0, 0}, {268, 294, 512, 85, 1280, 4117, 0}, {4186, 4208, 512, 1024, 0, 0, 0}, {5147, 5911, 17476, 0, 0, 0, 0}, {1036, 4112, 0, 0, 0, 0, 0}, {4386, 768, 85, 1280, 0, 0, 0}, {5150, 4626, 17476, 0, 0, 0, 0}, {4191, 4128, 768, 1024, 0, 0, 0}, {2048, 5152, 1088, 0, 0, 0, 0}, {1295, 1587, 85, 4369, 0, 0, 0}, {4680, 5154, 20480, 0, 0, 0, 0}, {5148, 1075, 4883, 4176, 0, 0, 0}, {5348, 6184, 12288, 17476, 0, 0, 0}, {282, 304, 512, 85, 1045, 4352, 0}, {1100, 1126, 512, 4096, 0, 0, 0}, {5159, 5911, 20560, 0, 0, 0, 0}, {5160, 24672, 0, 0, 0, 0, 0}, {278, 85, 5376, 0, 0, 0, 0}, {42, 512, 4160, 5120, 0, 0, 0}, {828, 13107, 5140, 0, 0, 0, 0}, {1100, 4128, 16384, 0, 0, 0, 0}, {1295, 4386, 4626, 85, 0, 0, 0}, {2560, 4642, 5188, 0, 0, 0, 0}, {1807, 816, 1088, 4112, 0, 0, 0}, {5360, 3072, 9216, 17408, 0, 0, 0}, {270, 292, 514, 85, 1028, 4369, 0}, {1032, 1058, 514, 4176, 0, 0, 0}, {780, 5171, 20480, 0, 0, 0, 0}, {4144, 1028, 0, 0, 0, 0, 0}, {1290, 768, 85, 4352, 0, 0, 0}, {5174, 1542, 20560, 0, 0, 0, 0}, {1032, 1143, 768, 4096, 0, 0, 0}, {1032, 4208, 16384, 0, 0, 0, 0}, {1290, 4403, 1542, 85, 0, 0, 0}, {1546, 8704, 5200, 0, 0, 0, 0}, {780, 4915, 4160, 1028, 0, 0, 0}, {5180, 12336, 0, 0, 0, 0, 0}, {258, 85, 5376, 0, 0, 0, 0}, {42, 514, 1028, 4112, 0, 0, 0}, {255, 768, 5120, 0, 0, 0, 0}, {10752, 21760, 0, 0, 0, 0, 0}, {48, 20, 257, 0, 0, 0, 0}, {40, 514, 21794, 0, 0, 0, 0}, {12, 48, 771, 5379, 0, 0, 0}, {12, 68, 1028, 4352, 0, 0, 0}, {8192, 80, 1285, 0, 0, 0, 0}, {12, 96, 4864, 5382, 0, 0, 0}, {120, 1799, 21879, 0, 0, 0, 0}, {136, 2056, 8704, 21760, 0, 0, 0}, {12, 48, 771, 80, 1285, 4096, 0}, {160, 2570, 8192, 21770, 0, 0, 0}, {12, 48, 771, 68, 1028, 4355, 0}, {12, 13056, 5376, 0, 0, 0, 0}, {40, 514, 80, 1285, 0, 0, 0}, {12, 36, 514, 68, 1028, 4358, 0}, {240, 3855, 9487, 21775, 0, 0, 0}, {48, 80, 1280, 4112, 0, 0, 0}, {2048, 68, 4369, 0, 0, 0, 0}, {72, 48, 4626, 5394, 0, 0, 0}, {108, 4883, 21811, 0, 0, 0, 0}, {512, 20, 4352, 0, 0, 0, 0}, {192, 5397, 0, 0, 0, 0, 0}, {60, 5654, 21862, 0, 0, 0, 0}, {72, 96, 512, 5399, 0, 0, 0}, {24, 48, 512, 80, 1280, 4096, 0}, {204, 6425, 13107, 21845, 0, 0, 0}, {5402, 48, 16448, 0, 0, 0, 0}, {4379, 4403, 512, 68, 0, 0, 0}, {4892, 4896, 80, 1280, 0, 0, 0}, {5405, 8738, 5461, 0, 0, 0, 0}, {4382, 4386, 1792, 68, 0, 0, 0}, {5407, 96, 16448, 0, 0, 0, 0}, {160, 2560, 8224, 21760, 0, 0, 0}, {12, 48, 771, 68, 1024, 4369, 0}, {136, 2048, 8738, 21794, 0, 0, 0}, {12, 48, 771, 80, 1283, 4112, 0}, {12, 36, 512, 68, 1024, 4352, 0}, {240, 3855, 9509, 21845, 0, 0, 0}, {12, 5414, 16448, 0, 0, 0, 0}, {1295, 1319, 512, 80, 0, 0, 0}, {40, 512, 21760, 0, 0, 0, 0}, {12, 48, 771, 5397, 0, 0, 0}, {21930, 10794, 0, 0, 0, 0, 0}, {259, 20, 4096, 0, 0, 0, 0}, {12, 5408, 1536, 5440, 0, 0, 0}, {1807, 1911, 21845, 0, 0, 0, 0}, {12, 4386, 68, 1024, 0, 0, 0}, {1295, 8224, 80, 0, 0, 0, 0}, {48, 5376, 0, 0, 0, 0, 0}, {40, 514, 68, 4369, 0, 0, 0}, {24, 48, 514, 80, 1298, 4112, 0}, {204, 6451, 13107, 21811, 0, 0, 0}, {1800, 1844, 68, 4352, 0, 0, 0}, {2570, 5429, 5461, 0, 0, 0, 0}, {1290, 1334, 4864, 80, 0, 0, 0}, {72, 5431, 16448, 0, 0, 0, 0}, {5384, 48, 4608, 5440, 0, 0, 0}, {4959, 4915, 21845, 0, 0, 0, 0}, {1290, 48, 80, 4096, 0, 0, 0}, {2056, 4403, 68, 0, 0, 0, 0}, {60, 5632, 21760, 0, 0, 0, 0}, {72, 96, 514, 5397, 0, 0, 0}, {4386, 514, 20, 0, 0, 0, 0}, {5439, 16384, 0, 0, 0, 0, 0}, {16128, 5440, 0, 0, 0, 0, 0}, {546, 20, 4369, 0, 0, 0, 0}, {5386, 5410, 5888, 5442, 0, 0, 0}, {5708, 5744, 17219, 0, 0, 0, 0}, {2048, 68, 4352, 0, 0, 0, 0}, {48, 80, 1285, 4112, 0, 0, 0}, {4940, 4896, 17990, 0, 0, 0, 0}, {5391, 48, 4608, 5447, 0, 0, 0}, {72, 8704, 5376, 0, 0, 0, 0}, {60, 4883, 80, 1285, 0, 0, 0}, {5450, 96, 16448, 0, 0, 0, 0}, {4367, 4403, 5632, 68, 0, 0, 0}, {204, 6476, 13056, 21760, 0, 0, 0}, {24, 48, 530, 80, 1285, 4096, 0}, {4362, 4386, 4864, 68, 0, 0, 0}, {5455, 48, 16448, 0, 0, 0, 0}, {8192, 80, 1280, 0, 0, 0, 0}, {12, 68, 1028, 4369, 0, 0, 0}, {1800, 1904, 21074, 0, 0, 0, 0}, {12, 5427, 1536, 5459, 0, 0, 0}, {768, 260, 272, 0, 0, 0, 0}, {10922, 21845, 0, 0, 0, 0, 0}, {12, 48, 768, 5462, 0, 0, 0}, {520, 544, 22359, 0, 0, 0, 0}, {520, 544, 80, 1280, 0, 0, 0}, {12, 13107, 5461, 0, 0, 0, 0}, {240, 3840, 9562, 21850, 0, 0, 0}, {12, 36, 516, 68, 1028, 4375, 0}, {12, 48, 768, 80, 1280, 4096, 0}, {136, 2056, 8738, 21845, 0, 0, 0}, {12, 48, 768, 68, 1028, 4370, 0}, {160, 2560, 8192, 21855, 0, 0, 0}, {96, 5376, 0, 0, 0, 0, 0}, {60, 1799, 68, 4369, 0, 0, 0}, {72, 5474, 16448, 0, 0, 0, 0}, {1295, 1331, 5632, 80, 0, 0, 0}, {520, 544, 68, 4352, 0, 0, 0}, {3855, 48, 5461, 0, 0, 0, 0}, {204, 6502, 13056, 21862, 0, 0, 0}, {24, 48, 528, 80, 1303, 4112, 0}, {5384, 5408, 5888, 5440, 0, 0, 0}, {5722, 5734, 21845, 0, 0, 0, 0}, {5482, 16384, 0, 0, 0, 0, 0}, {4403, 4883, 20, 0, 0, 0, 0}, {108, 4864, 21760, 0, 0, 0, 0}, {72, 48, 4626, 5397, 0, 0, 0}, {2056, 4386, 68, 0, 0, 0, 0}, {1295, 48, 80, 4096, 0, 0, 0}, {240, 3840, 9584, 21760, 0, 0, 0}, {12, 36, 518, 68, 1024, 4369, 0}, {1290, 1314, 1792, 80, 0, 0, 0}, {12, 5491, 16448, 0, 0, 0, 0}, {12, 48, 768, 68, 1024, 4352, 0}, {160, 2570, 8224, 21845, 0, 0, 0}, {12, 48, 768, 80, 1286, 4112, 0}, {136, 2048, 8704, 21879, 0, 0, 0}, {120, 1792, 21760, 0, 0, 0, 0}, {12, 96, 4883, 5397, 0, 0, 0}, {1290, 8224, 80, 0, 0, 0, 0}, {12, 4403, 68, 1024, 0, 0, 0}, {12, 48, 768, 5440, 0, 0, 0}, {522, 546, 21845, 0, 0, 0, 0}, {274, 20, 4096, 0, 0, 0, 0}, {22015, 32639, 0, 0, 0, 0, 0}, {10880, 21760, 0, 0, 0, 0, 0}, {771, 261, 273, 0, 0, 0, 0}, {522, 546, 22272, 0, 0, 0, 0}, {12, 48, 771, 5443, 0, 0, 0}, {12, 68, 1024, 4352, 0, 0, 0}, {8224, 80, 1285, 0, 0, 0, 0}, {12, 5414, 1542, 5446, 0, 0, 0}, {1807, 1911, 20992, 0, 0, 0, 0}, {136, 2048, 8704, 21760, 0, 0, 0}, {12, 48, 771, 80, 1285, 4112, 0}, {160, 2570, 8224, 21770, 0, 0, 0}, {12, 48, 771, 68, 1024, 4355, 0}, {12, 13056, 5440, 0, 0, 0, 0}, {522, 546, 80, 1285, 0, 0, 0}, {12, 36, 518, 68, 1024, 4358, 0}, {240, 3855, 9599, 21775, 0, 0, 0}, {48, 80, 1280, 4096, 0, 0, 0}, {2056, 68, 4369, 0, 0, 0, 0}, {5402, 48, 4626, 5458, 0, 0, 0}, {4959, 4915, 17920, 0, 0, 0, 0}, {544, 20, 4352, 0, 0, 0, 0}, {16191, 5461, 0, 0, 0, 0, 0}, {5722, 5734, 17152, 0, 0, 0, 0}, {5407, 5431, 5911, 5463, 0, 0, 0}, {24, 48, 528, 80, 1280, 4112, 0}, {204, 6485, 13107, 21845, 0, 0, 0}, {5466, 48, 16384, 0, 0, 0, 0}, {4379, 4403, 4883, 68, 0, 0, 0}, {60, 4864, 80, 1280, 0, 0, 0}, {72, 8738, 5397, 0, 0, 0, 0}, {4382, 4386, 5654, 68, 0, 0, 0}, {5471, 96, 16384, 0, 0, 0, 0}, {160, 2560, 8192, 21760, 0, 0, 0}, {12, 48, 771, 68, 1028, 4369, 0}, {136, 2056, 8738, 21794, 0, 0, 0}, {12, 48, 771, 80, 1283, 4096, 0}, {12, 36, 516, 68, 1028, 4352, 0}, {240, 3855, 9557, 21845, 0, 0, 0}, {12, 5478, 16384, 0, 0, 0, 0}, {1295, 1319, 1799, 80, 0, 0, 0}, {520, 544, 21760, 0, 0, 0, 0}, {12, 48, 771, 5461, 0, 0, 0}, {21930, 32512, 0, 0, 0, 0, 0}, {275, 20, 4112, 0, 0, 0, 0}, {12, 96, 4864, 5376, 0, 0, 0}, {120, 1799, 21845, 0, 0, 0, 0}, {12, 4386, 68, 1028, 0, 0, 0}, {1295, 8192, 80, 0, 0, 0, 0}, {3840, 48, 5440, 0, 0, 0, 0}, {522, 546, 68, 4369, 0, 0, 0}, {24, 48, 530, 80, 1298, 4096, 0}, {204, 6527, 13107, 21811, 0, 0, 0}, {60, 1792, 68, 4352, 0, 0, 0}, {96, 5397, 0, 0, 0, 0, 0}, {1290, 1334, 5654, 80, 0, 0, 0}, {72, 5495, 16384, 0, 0, 0, 0}, {72, 48, 4608, 5376, 0, 0, 0}, {108, 4883, 21845, 0, 0, 0, 0}, {1290, 48, 80, 4112, 0, 0, 0}, {2048, 4403, 68, 0, 0, 0, 0}, {5708, 5744, 21760, 0, 0, 0, 0}, {5405, 5429, 5911, 5461, 0, 0, 0}, {4386, 4864, 20, 0, 0, 0, 0}, {5503, 16448, 0, 0, 0, 0, 0}, {192, 5376, 0, 0, 0, 0, 0}, {514, 20, 4369, 0, 0, 0, 0}, {72, 96, 514, 5378, 0, 0, 0}, {60, 5632, 21811, 0, 0, 0, 0}, {2056, 68, 4352, 0, 0, 0, 0}, {48, 80, 1285, 4096, 0, 0, 0}, {108, 4864, 21862, 0, 0, 0, 0}, {72, 48, 4608, 5383, 0, 0, 0}, {5384, 8704, 5440, 0, 0, 0, 0}, {4879, 4915, 80, 1285, 0, 0, 0}, {5386, 96, 16384, 0, 0, 0, 0}, {4367, 4403, 1799, 68, 0, 0, 0}, {204, 6400, 13056, 21760, 0, 0, 0}, {24, 48, 514, 80, 1285, 4112, 0}, {4362, 4386, 514, 68, 0, 0, 0}, {5391, 48, 16384, 0, 0, 0, 0}, {8224, 80, 1280, 0, 0, 0, 0}, {12, 68, 1024, 4369, 0, 0, 0}, {120, 1792, 21794, 0, 0, 0, 0}, {12, 96, 4883, 5395, 0, 0, 0}, {48, 20, 256, 0, 0, 0, 0}, {10794, 21845, 0, 0, 0, 0, 0}, {12, 48, 768, 5398, 0, 0, 0}, {40, 512, 21879, 0, 0, 0, 0}, {40, 512, 80, 1280, 0, 0, 0}, {12, 13107, 5397, 0, 0, 0, 0}, {240, 3840, 9514, 21850, 0, 0, 0}, {12, 36, 512, 68, 1024, 4375, 0}, {12, 48, 768, 80, 1280, 4112, 0}, {136, 2048, 8738, 21845, 0, 0, 0}, {12, 48, 768, 68, 1024, 4370, 0}, {160, 2560, 8224, 21855, 0, 0, 0}, {2560, 5408, 5440, 0, 0, 0, 0}, {1807, 1843, 68, 4369, 0, 0, 0}, {72, 5410, 16384, 0, 0, 0, 0}, {1295, 1331, 4883, 80, 0, 0, 0}, {40, 512, 68, 4352, 0, 0, 0}, {48, 5397, 0, 0, 0, 0, 0}, {204, 6442, 13056, 21862, 0, 0, 0}, {24, 48, 512, 80, 1303, 4096, 0}, {72, 96, 512, 5376, 0, 0, 0}, {60, 5654, 21845, 0, 0, 0, 0}, {5418, 16448, 0, 0, 0, 0, 0}, {4403, 512, 20, 0, 0, 0, 0}, {4940, 4896, 21760, 0, 0, 0, 0}, {5405, 48, 4626, 5461, 0, 0, 0}, {2048, 4386, 68, 0, 0, 0, 0}, {1295, 48, 80, 4112, 0, 0, 0}, {240, 3840, 9472, 21760, 0, 0, 0}, {12, 36, 514, 68, 1028, 4369, 0}, {1290, 1314, 514, 80, 0, 0, 0}, {12, 5427, 16384, 0, 0, 0, 0}, {12, 48, 768, 68, 1028, 4352, 0}, {160, 2570, 8192, 21845, 0, 0, 0}, {12, 48, 768, 80, 1286, 4096, 0}, {136, 2056, 8704, 21879, 0, 0, 0}, {1800, 1904, 21760, 0, 0, 0, 0}, {12, 5429, 1542, 5461, 0, 0, 0}, {1290, 8192, 80, 0, 0, 0, 0}, {12, 4403, 68, 1028, 0, 0, 0}, {12, 48, 768, 5376, 0, 0, 0}, {40, 514, 21845, 0, 0, 0, 0}, {258, 20, 4112, 0, 0, 0, 0}, {22015, 10752, 0, 0, 0, 0, 0}, {5632, 16384, 0, 0, 0, 0, 0}, {95, 119, 257, 0, 0, 0, 0}, {4104, 4128, 514, 5120, 0, 0, 0}, {5439, 771, 21760, 0, 0, 0, 0}, {4680, 8704, 1028, 0, 0, 0, 0}, {4111, 4864, 4176, 1285, 0, 0, 0}, {4192, 1542, 20480, 0, 0, 0, 0}, {1032, 119, 1799, 4352, 0, 0, 0}, {1032, 4608, 17408, 0, 0, 0, 0}, {95, 4144, 771, 1285, 0, 0, 0}, {1546, 4096, 0, 0, 0, 0, 0}, {4403, 771, 4420, 1028, 0, 0, 0}, {5836, 3084, 9740, 22028, 0, 0, 0}, {269, 293, 514, 338, 1285, 4103, 0}, {40, 514, 4160, 1028, 0, 0, 0}, {783, 13056, 5376, 0, 0, 0, 0}, {2560, 1632, 4112, 0, 0, 0, 0}, {1075, 1792, 1092, 4369, 0, 0, 0}, {1096, 4626, 17408, 0, 0, 0, 0}, {95, 4128, 4883, 1280, 0, 0, 0}, {40, 512, 4176, 5140, 0, 0, 0}, {831, 13056, 5397, 0, 0, 0, 0}, {16512, 5654, 0, 0, 0, 0, 0}, {279, 1280, 4352, 0, 0, 0, 0}, {4120, 4144, 512, 5200, 0, 0, 0}, {5657, 819, 21845, 0, 0, 0, 0}, {5850, 6682, 12336, 16448, 0, 0, 0}, {283, 307, 512, 324, 1280, 4096, 0}, {5660, 4208, 20560, 0, 0, 0, 0}, {5405, 4386, 1792, 4437, 0, 0, 0}, {5662, 8738, 1092, 0, 0, 0, 0}, {4127, 4896, 4160, 1280, 0, 0, 0}, {4128, 1536, 20480, 0, 0, 0, 0}, {1036, 119, 771, 4369, 0, 0, 0}, {4642, 1024, 0, 0, 0, 0, 0}, {1295, 771, 1360, 4112, 0, 0, 0}, {1036, 1060, 512, 5188, 0, 0, 0}, {783, 5669, 21845, 0, 0, 0, 0}, {5862, 3084, 9766, 16448, 0, 0, 0}, {271, 295, 512, 336, 1024, 4352, 0}, {40, 512, 1024, 4096, 0, 0, 0}, {255, 771, 5397, 0, 0, 0, 0}, {5674, 12288, 0, 0, 0, 0, 0}, {259, 4420, 5140, 0, 0, 0, 0}, {1548, 8224, 4160, 0, 0, 0, 0}, {783, 4386, 4437, 1024, 0, 0, 0}, {1036, 5734, 17476, 0, 0, 0, 0}, {1295, 5408, 1536, 1360, 0, 0, 0}, {5872, 6704, 12336, 22064, 0, 0, 0}, {281, 305, 514, 326, 1043, 4369, 0}, {40, 514, 1088, 4112, 0, 0, 0}, {819, 5376, 0, 0, 0, 0, 0}, {1100, 5684, 17476, 0, 0, 0, 0}, {1290, 5429, 4864, 1365, 0, 0, 0}, {2570, 5686, 4176, 0, 0, 0, 0}, {1800, 1079, 1088, 4352, 0, 0, 0}, {2056, 4656, 1088, 0, 0, 0, 0}, {1290, 819, 1365, 4096, 0, 0, 0}, {5722, 4144, 20560, 0, 0, 0, 0}, {5384, 4403, 4608, 4420, 0, 0, 0}, {5692, 16384, 0, 0, 0, 0, 0}, {4386, 514, 277, 0, 0, 0, 0}, {4184, 4208, 514, 5140, 0, 0, 0}, {5439, 5632, 21760, 0, 0, 0, 0}, {5760, 6720, 9792, 16448, 0, 0, 0}, {286, 310, 788, 321, 1285, 4369, 0}, {4168, 4192, 4674, 5120, 0, 0, 0}, {5503, 5699, 21760, 0, 0, 0, 0}, {4608, 1092, 0, 0, 0, 0, 0}, {95, 816, 1285, 4112, 0, 0, 0}, {4128, 5702, 20480, 0, 0, 0, 0}, {1096, 119, 839, 4352, 0, 0, 0}, {1096, 5632, 17408, 0, 0, 0, 0}, {95, 4208, 4883, 1285, 0, 0, 0}, {5674, 8224, 4160, 0, 0, 0, 0}, {4623, 4403, 4420, 5376, 0, 0, 0}, {5708, 12288, 0, 0, 0, 0, 0}, {274, 4437, 1285, 0, 0, 0, 0}, {522, 546, 1092, 4096, 0, 0, 0}, {3855, 816, 5440, 0, 0, 0, 0}, {1536, 4176, 0, 0, 0, 0, 0}, {780, 119, 1028, 4369, 0, 0, 0}, {1032, 5714, 17408, 0, 0, 0, 0}, {95, 4192, 851, 1280, 0, 0, 0}, {520, 544, 1028, 4112, 0, 0, 0}, {768, 5461, 0, 0, 0, 0, 0}, {5782, 3084, 12336, 22102, 0, 0, 0}, {264, 288, 768, 343, 1280, 4352, 0}, {1032, 1056, 1536, 5200, 0, 0, 0}, {780, 5734, 21845, 0, 0, 0, 0}, {5722, 16384, 0, 0, 0, 0, 0}, {4403, 4883, 260, 0, 0, 0, 0}, {1548, 4144, 20560, 0, 0, 0, 0}, {1032, 4386, 768, 4437, 0, 0, 0}, {136, 4626, 1028, 0, 0, 0, 0}, {95, 768, 1280, 4096, 0, 0, 0}, {4192, 5632, 20480, 0, 0, 0, 0}, {1100, 119, 1799, 4369, 0, 0, 0}, {5674, 8738, 1088, 0, 0, 0, 0}, {4111, 4915, 4176, 5376, 0, 0, 0}, {4104, 4128, 4608, 5188, 0, 0, 0}, {5722, 816, 21845, 0, 0, 0, 0}, {5734, 16384, 0, 0, 0, 0, 0}, {1295, 1799, 272, 0, 0, 0, 0}, {520, 544, 4160, 5120, 0, 0, 0}, {828, 13107, 5461, 0, 0, 0, 0}, {5802, 6762, 9834, 22122, 0, 0, 0}, {284, 308, 788, 323, 1043, 4103, 0}, {1644, 4096, 0, 0, 0, 0, 0}, {4386, 4626, 4437, 5397, 0, 0, 0}, {1100, 4642, 17476, 0, 0, 0, 0}, {1295, 4144, 4864, 1360, 0, 0, 0}, {3072, 5744, 0, 0, 0, 0, 0}, {262, 1365, 4369, 0, 0, 0, 0}, {522, 546, 4176, 1024, 0, 0, 0}, {780, 13107, 5440, 0, 0, 0, 0}, {1036, 4656, 17476, 0, 0, 0, 0}, {1290, 4128, 768, 1365, 0, 0, 0}, {160, 1542, 4112, 0, 0, 0, 0}, {119, 768, 1024, 4352, 0, 0, 0}, {4728, 8704, 1024, 0, 0, 0, 0}, {4127, 4883, 4160, 5397, 0, 0, 0}, {1546, 4208, 20560, 0, 0, 0, 0}, {1036, 4403, 1792, 4420, 0, 0, 0}, {5820, 3084, 12336, 16448, 0, 0, 0}, {266, 290, 768, 341, 1024, 4096, 0}, {4120, 4144, 4626, 5140, 0, 0, 0}, {5503, 768, 21760, 0, 0, 0, 0}, {5760, 3072, 12288, 22016, 0, 0, 0}, {265, 289, 771, 342, 1285, 4369, 0}, {522, 546, 1024, 4096, 0, 0, 0}, {771, 5440, 0, 0, 0, 0, 0}, {1036, 5700, 17476, 0, 0, 0, 0}, {95, 4208, 848, 1285, 0, 0, 0}, {1542, 4160, 0, 0, 0, 0, 0}, {783, 119, 1024, 4352, 0, 0, 0}, {136, 4608, 1024, 0, 0, 0, 0}, {95, 771, 1285, 4112, 0, 0, 0}, {1546, 4128, 20480, 0, 0, 0, 0}, {1036, 4403, 771, 4420, 0, 0, 0}, {5708, 16448, 0, 0, 0, 0, 0}, {4386, 4864, 261, 0, 0, 0, 0}, {1036, 1060, 1542, 5188, 0, 0, 0}, {783, 5744, 21760, 0, 0, 0, 0}, {4144, 5712, 20560, 0, 0, 0, 0}, {1100, 119, 836, 4369, 0, 0, 0}, {4626, 1088, 0, 0, 0, 0, 0}, {95, 819, 1280, 4096, 0, 0, 0}, {4184, 4208, 4688, 5140, 0, 0, 0}, {5482, 5717, 21845, 0, 0, 0, 0}, {5782, 6746, 9830, 16384, 0, 0, 0}, {287, 311, 791, 320, 1280, 4352, 0}, {520, 544, 1088, 4112, 0, 0, 0}, {3840, 819, 5461, 0, 0, 0, 0}, {5722, 12336, 0, 0, 0, 0, 0}, {275, 4420, 1280, 0, 0, 0, 0}, {5692, 8192, 4176, 0, 0, 0, 0}, {4637, 4386, 4437, 5397, 0, 0, 0}, {1100, 5654, 17476, 0, 0, 0, 0}, {95, 4192, 4864, 1280, 0, 0, 0}, {160, 1536, 4096, 0, 0, 0, 0}, {119, 771, 1028, 4369, 0, 0, 0}, {1032, 4642, 17408, 0, 0, 0, 0}, {1295, 4144, 771, 1360, 0, 0, 0}, {520, 544, 4160, 1028, 0, 0, 0}, {783, 13056, 5461, 0, 0, 0, 0}, {3084, 5734, 0, 0, 0, 0, 0}, {263, 1360, 4352, 0, 0, 0, 0}, {4104, 4128, 4608, 5120, 0, 0, 0}, {5482, 771, 21845, 0, 0, 0, 0}, {5802, 3072, 12288, 16384, 0, 0, 0}, {267, 291, 771, 340, 1028, 4112, 0}, {1548, 4192, 20480, 0, 0, 0, 0}, {1032, 4386, 1799, 4437, 0, 0, 0}, {4714, 8738, 1028, 0, 0, 0, 0}, {4111, 4864, 4176, 5376, 0, 0, 0}, {5744, 16448, 0, 0, 0, 0, 0}, {1290, 1792, 273, 0, 0, 0, 0}, {4120, 4144, 4626, 5200, 0, 0, 0}, {5708, 819, 21760, 0, 0, 0, 0}, {5692, 8704, 1092, 0, 0, 0, 0}, {4127, 4896, 4160, 5397, 0, 0, 0}, {4208, 5654, 20560, 0, 0, 0, 0}, {1096, 119, 1792, 4352, 0, 0, 0}, {1096, 4656, 17408, 0, 0, 0, 0}, {1290, 4128, 4883, 1365, 0, 0, 0}, {1642, 4112, 0, 0, 0, 0, 0}, {4403, 4608, 4420, 5376, 0, 0, 0}, {5820, 6768, 9804, 22076, 0, 0, 0}, {285, 309, 791, 322, 1047, 4119, 0}, {522, 546, 4176, 5140, 0, 0, 0}, {831, 13056, 5440, 0, 0, 0, 0}, {16576, 5632, 0, 0, 0, 0, 0}, {278, 1285, 4369, 0, 0, 0, 0}, {40, 514, 4160, 5120, 0, 0, 0}, {828, 13107, 5376, 0, 0, 0, 0}, {1100, 4608, 17476, 0, 0, 0, 0}, {95, 4144, 4864, 1285, 0, 0, 0}, {2570, 1638, 4096, 0, 0, 0, 0}, {1079, 1799, 1088, 4352, 0, 0, 0}, {5640, 8704, 1088, 0, 0, 0, 0}, {4111, 4915, 4176, 1285, 0, 0, 0}, {5642, 4192, 20480, 0, 0, 0, 0}, {5384, 4403, 1799, 4420, 0, 0, 0}, {5836, 6656, 12288, 16384, 0, 0, 0}, {282, 306, 514, 325, 1285, 4112, 0}, {4104, 4128, 514, 5188, 0, 0, 0}, {5647, 816, 21760, 0, 0, 0, 0}, {4208, 1536, 20560, 0, 0, 0, 0}, {1036, 119, 1792, 4369, 0, 0, 0}, {4698, 8738, 1024, 0, 0, 0, 0}, {4127, 4883, 4160, 1280, 0, 0, 0}, {4120, 4144, 512, 5140, 0, 0, 0}, {5418, 768, 21845, 0, 0, 0, 0}, {5654, 16448, 0, 0, 0, 0, 0}, {95, 119, 256, 0, 0, 0, 0}, {40, 512, 4176, 1024, 0, 0, 0}, {780, 13107, 5397, 0, 0, 0, 0}, {5850, 3072, 9770, 22106, 0, 0, 0}, {268, 292, 512, 339, 1280, 4119, 0}, {1548, 4112, 0, 0, 0, 0, 0}, {4386, 768, 4437, 1024, 0, 0, 0}, {1036, 4626, 17476, 0, 0, 0, 0}, {95, 4128, 768, 1280, 0, 0, 0}, {2560, 5664, 4160, 0, 0, 0, 0}, {1807, 1075, 1092, 4369, 0, 0, 0}, {1096, 5666, 17408, 0, 0, 0, 0}, {1295, 5408, 4883, 1360, 0, 0, 0}, {40, 512, 1092, 4096, 0, 0, 0}, {816, 5397, 0, 0, 0, 0, 0}, {5862, 6698, 12288, 22118, 0, 0, 0}, {280, 304, 512, 327, 1047, 4352, 0}, {4168, 4192, 512, 5120, 0, 0, 0}, {5418, 5654, 21845, 0, 0, 0, 0}, {5674, 16448, 0, 0, 0, 0, 0}, {4403, 512, 276, 0, 0, 0, 0}, {5708, 4128, 20480, 0, 0, 0, 0}, {5405, 4386, 4626, 4437, 0, 0, 0}, {2048, 4642, 1092, 0, 0, 0, 0}, {1295, 816, 1360, 4112, 0, 0, 0}, {5872, 3072, 9728, 16384, 0, 0, 0}, {270, 294, 514, 337, 1028, 4369, 0}, {1032, 1056, 514, 5200, 0, 0, 0}, {780, 5683, 21760, 0, 0, 0, 0}, {4656, 1028, 0, 0, 0, 0, 0}, {1290, 768, 1365, 4096, 0, 0, 0}, {4144, 1542, 20560, 0, 0, 0, 0}, {1032, 119, 768, 4352, 0, 0, 0}, {1032, 5744, 17408, 0, 0, 0, 0}, {1290, 5429, 1542, 1365, 0, 0, 0}, {1546, 8192, 4176, 0, 0, 0, 0}, {780, 4403, 4420, 1028, 0, 0, 0}, {5692, 12336, 0, 0, 0, 0, 0}, {258, 4437, 5120, 0, 0, 0, 0}, {40, 514, 1028, 4112, 0, 0, 0}, {255, 768, 5376, 0, 0, 0, 0}, {24320, 30464, 0, 0, 0, 0, 0}, {22, 64, 257, 0, 0, 0, 0}, {42, 514, 21760, 0, 0, 0, 0}, {12, 48, 771, 5120, 0, 0, 0}, {12, 4864, 64, 1028, 0, 0, 0}, {90, 8704, 1285, 0, 0, 0, 0}, {12, 102, 1542, 4352, 0, 0, 0}, {112, 1799, 20480, 0, 0, 0, 0}, {128, 2056, 8192, 22280, 0, 0, 0}, {12, 48, 771, 86, 1285, 4355, 0}, {170, 2570, 8704, 21760, 0, 0, 0}, {12, 48, 771, 64, 1028, 4096, 0}, {12, 5888, 17408, 0, 0, 0, 0}, {90, 112, 514, 1285, 0, 0, 0}, {12, 38, 514, 64, 1028, 4356, 0}, {240, 3855, 9999, 20480, 0, 0, 0}, {48, 1792, 64, 4112, 0, 0, 0}, {2560, 102, 4369, 0, 0, 0, 0}, {90, 48, 4626, 1280, 0, 0, 0}, {76, 4883, 17408, 0, 0, 0, 0}, {60, 13056, 5140, 0, 0, 0, 0}, {42, 512, 64, 5397, 0, 0, 0}, {22, 1280, 4352, 0, 0, 0, 0}, {192, 5911, 0, 0, 0, 0, 0}, {5912, 48, 20560, 0, 0, 0, 0}, {4377, 4403, 512, 4437, 0, 0, 0}, {26, 48, 512, 64, 1280, 4096, 0}, {204, 6939, 13107, 17476, 0, 0, 0}, {5148, 5152, 1792, 5200, 0, 0, 0}, {5917, 6007, 21845, 0, 0, 0, 0}, {4382, 4386, 4420, 1280, 0, 0, 0}, {5919, 8224, 64, 0, 0, 0, 0}, {128, 2048, 8224, 22304, 0, 0, 0}, {12, 48, 771, 86, 1283, 4369, 0}, {170, 2560, 8738, 21760, 0, 0, 0}, {12, 48, 771, 64, 1024, 4112, 0}, {12, 5924, 17476, 0, 0, 0, 0}, {1295, 1317, 512, 1365, 0, 0, 0}, {12, 38, 512, 64, 1024, 4352, 0}, {240, 3855, 10023, 20560, 0, 0, 0}, {30600, 10280, 0, 0, 0, 0, 0}, {259, 277, 4096, 0, 0, 0, 0}, {42, 512, 21760, 0, 0, 0, 0}, {12, 48, 771, 5140, 0, 0, 0}, {12, 4896, 64, 1024, 0, 0, 0}, {1295, 8738, 1365, 0, 0, 0, 0}, {12, 4386, 1536, 4420, 0, 0, 0}, {1807, 112, 20560, 0, 0, 0, 0}, {48, 5888, 20480, 0, 0, 0, 0}, {76, 102, 514, 4369, 0, 0, 0}, {26, 48, 514, 64, 1296, 4112, 0}, {204, 6963, 13107, 17408, 0, 0, 0}, {5128, 5172, 4864, 5188, 0, 0, 0}, {5983, 5941, 21845, 0, 0, 0, 0}, {1290, 1334, 1360, 4352, 0, 0, 0}, {2056, 5943, 64, 0, 0, 0, 0}, {1800, 48, 64, 4096, 0, 0, 0}, {2570, 4403, 4437, 0, 0, 0, 0}, {1290, 48, 4608, 1360, 0, 0, 0}, {76, 4915, 17476, 0, 0, 0, 0}, {60, 13056, 5120, 0, 0, 0, 0}, {42, 514, 64, 5397, 0, 0, 0}, {22, 4420, 5140, 0, 0, 0, 0}, {5951, 24576, 0, 0, 0, 0, 0}, {5888, 64, 0, 0, 0, 0, 0}, {90, 102, 1285, 4369, 0, 0, 0}, {106, 5954, 21760, 0, 0, 0, 0}, {76, 112, 4931, 5120, 0, 0, 0}, {204, 6980, 13056, 17476, 0, 0, 0}, {26, 48, 528, 64, 1285, 4112, 0}, {76, 102, 582, 4352, 0, 0, 0}, {48, 5959, 20480, 0, 0, 0, 0}, {5960, 24576, 0, 0, 0, 0, 0}, {22, 4437, 1285, 0, 0, 0, 0}, {522, 544, 64, 5376, 0, 0, 0}, {60, 13107, 5188, 0, 0, 0, 0}, {76, 4864, 17408, 0, 0, 0, 0}, {90, 48, 4626, 1285, 0, 0, 0}, {2570, 4386, 4420, 0, 0, 0, 0}, {1807, 48, 64, 4096, 0, 0, 0}, {240, 3840, 10064, 20560, 0, 0, 0}, {12, 38, 516, 64, 1028, 4369, 0}, {90, 112, 594, 1280, 0, 0, 0}, {12, 5971, 17408, 0, 0, 0, 0}, {12, 48, 768, 64, 1028, 4112, 0}, {170, 2560, 8704, 21845, 0, 0, 0}, {12, 48, 768, 86, 1280, 4352, 0}, {128, 2056, 8224, 22359, 0, 0, 0}, {1800, 112, 20560, 0, 0, 0, 0}, {12, 4403, 1536, 4437, 0, 0, 0}, {90, 8704, 1280, 0, 0, 0, 0}, {12, 4883, 64, 1028, 0, 0, 0}, {12, 48, 768, 5200, 0, 0, 0}, {520, 546, 21845, 0, 0, 0, 0}, {274, 260, 4096, 0, 0, 0, 0}, {30719, 24415, 0, 0, 0, 0, 0}, {18432, 5984, 0, 0, 0, 0, 0}, {22, 1365, 4369, 0, 0, 0, 0}, {520, 546, 64, 5376, 0, 0, 0}, {60, 13107, 5200, 0, 0, 0, 0}, {76, 4896, 17476, 0, 0, 0, 0}, {1295, 48, 4608, 1365, 0, 0, 0}, {2560, 102, 4352, 0, 0, 0, 0}, {48, 1799, 64, 4112, 0, 0, 0}, {5928, 8224, 64, 0, 0, 0, 0}, {4367, 4403, 4437, 5120, 0, 0, 0}, {106, 5888, 21760, 0, 0, 0, 0}, {76, 112, 4883, 5140, 0, 0, 0}, {204, 7020, 13056, 17408, 0, 0, 0}, {26, 48, 530, 64, 1301, 4096, 0}, {4360, 4386, 4864, 4420, 0, 0, 0}, {5983, 48, 20560, 0, 0, 0, 0}, {112, 1792, 20480, 0, 0, 0, 0}, {12, 102, 1542, 4369, 0, 0, 0}, {1290, 8738, 1360, 0, 0, 0, 0}, {12, 4915, 64, 1024, 0, 0, 0}, {12, 48, 768, 5188, 0, 0, 0}, {522, 544, 21845, 0, 0, 0, 0}, {262, 1024, 272, 0, 0, 0, 0}, {24575, 30583, 0, 0, 0, 0, 0}, {240, 3840, 10104, 20480, 0, 0, 0}, {12, 38, 518, 64, 1024, 4373, 0}, {1290, 1312, 1792, 1360, 0, 0, 0}, {12, 6007, 17476, 0, 0, 0, 0}, {12, 48, 768, 64, 1024, 4096, 0}, {170, 2570, 8738, 21845, 0, 0, 0}, {12, 48, 768, 86, 1286, 4370, 0}, {128, 2048, 8192, 22399, 0, 0, 0}, {128, 2048, 8192, 22272, 0, 0, 0}, {12, 48, 771, 86, 1285, 4369, 0}, {170, 2570, 8738, 21760, 0, 0, 0}, {12, 48, 771, 64, 1024, 4096, 0}, {12, 5956, 17476, 0, 0, 0, 0}, {90, 112, 592, 1285, 0, 0, 0}, {12, 38, 518, 64, 1024, 4352, 0}, {240, 3855, 10103, 20480, 0, 0, 0}, {30600, 24320, 0, 0, 0, 0, 0}, {275, 261, 4112, 0, 0, 0, 0}, {522, 544, 21760, 0, 0, 0, 0}, {12, 48, 771, 5188, 0, 0, 0}, {12, 4864, 64, 1024, 0, 0, 0}, {90, 8738, 1285, 0, 0, 0, 0}, {12, 4386, 1542, 4420, 0, 0, 0}, {1807, 112, 20480, 0, 0, 0, 0}, {48, 5968, 20560, 0, 0, 0, 0}, {76, 102, 580, 4369, 0, 0, 0}, {26, 48, 530, 64, 1280, 4096, 0}, {204, 7007, 13107, 17408, 0, 0, 0}, {76, 112, 4944, 5140, 0, 0, 0}, {106, 5973, 21845, 0, 0, 0, 0}, {90, 102, 1280, 4352, 0, 0, 0}, {5911, 64, 0, 0, 0, 0, 0}, {1800, 48, 64, 4112, 0, 0, 0}, {2560, 4403, 4437, 0, 0, 0, 0}, {90, 48, 4608, 1280, 0, 0, 0}, {76, 4883, 17476, 0, 0, 0, 0}, {60, 13056, 5200, 0, 0, 0, 0}, {520, 546, 64, 5397, 0, 0, 0}, {22, 4420, 1280, 0, 0, 0, 0}, {5983, 24672, 0, 0, 0, 0, 0}, {24480, 30464, 0, 0, 0, 0, 0}, {263, 1028, 273, 0, 0, 0, 0}, {520, 546, 21760, 0, 0, 0, 0}, {12, 48, 771, 5200, 0, 0, 0}, {12, 4896, 64, 1028, 0, 0, 0}, {1295, 8704, 1365, 0, 0, 0, 0}, {12, 102, 1536, 4352, 0, 0, 0}, {112, 1799, 20560, 0, 0, 0, 0}, {128, 2056, 8224, 22312, 0, 0, 0}, {12, 48, 771, 86, 1283, 4355, 0}, {170, 2560, 8704, 21760, 0, 0, 0}, {12, 48, 771, 64, 1028, 4112, 0}, {12, 5984, 17408, 0, 0, 0, 0}, {1295, 1317, 1799, 1365, 0, 0, 0}, {12, 38, 516, 64, 1028, 4356, 0}, {240, 3855, 10079, 20560, 0, 0, 0}, {48, 1792, 64, 4096, 0, 0, 0}, {2570, 102, 4369, 0, 0, 0, 0}, {1290, 48, 4626, 1360, 0, 0, 0}, {76, 4915, 17408, 0, 0, 0, 0}, {60, 13056, 5188, 0, 0, 0, 0}, {522, 544, 64, 5397, 0, 0, 0}, {22, 1360, 4352, 0, 0, 0, 0}, {18504, 6007, 0, 0, 0, 0, 0}, {5960, 48, 20480, 0, 0, 0, 0}, {4377, 4403, 4883, 4437, 0, 0, 0}, {26, 48, 528, 64, 1296, 4112, 0}, {204, 7031, 13107, 17476, 0, 0, 0}, {76, 112, 4864, 5120, 0, 0, 0}, {106, 5911, 21845, 0, 0, 0, 0}, {4382, 4386, 4420, 5140, 0, 0, 0}, {5951, 8192, 64, 0, 0, 0, 0}, {192, 5888, 0, 0, 0, 0, 0}, {22, 1285, 4369, 0, 0, 0, 0}, {42, 514, 64, 5376, 0, 0, 0}, {60, 13107, 5120, 0, 0, 0, 0}, {76, 4864, 17476, 0, 0, 0, 0}, {90, 48, 4608, 1285, 0, 0, 0}, {2570, 102, 4352, 0, 0, 0, 0}, {48, 1799, 64, 4096, 0, 0, 0}, {5896, 8192, 64, 0, 0, 0, 0}, {4367, 4403, 4437, 1285, 0, 0, 0}, {5898, 5984, 21760, 0, 0, 0, 0}, {5128, 5172, 1799, 5188, 0, 0, 0}, {204, 6912, 13056, 17408, 0, 0, 0}, {26, 48, 514, 64, 1285, 4112, 0}, {4360, 4386, 514, 4420, 0, 0, 0}, {5903, 48, 20480, 0, 0, 0, 0}, {112, 1792, 20560, 0, 0, 0, 0}, {12, 102, 1536, 4369, 0, 0, 0}, {90, 8738, 1280, 0, 0, 0, 0}, {12, 4883, 64, 1024, 0, 0, 0}, {12, 48, 768, 5140, 0, 0, 0}, {42, 512, 21845, 0, 0, 0, 0}, {22, 64, 256, 0, 0, 0, 0}, {24415, 30583, 0, 0, 0, 0, 0}, {240, 3840, 10024, 20560, 0, 0, 0}, {12, 38, 512, 64, 1024, 4373, 0}, {90, 112, 512, 1280, 0, 0, 0}, {12, 5911, 17476, 0, 0, 0, 0}, {12, 48, 768, 64, 1024, 4112, 0}, {170, 2560, 8738, 21845, 0, 0, 0}, {12, 48, 768, 86, 1280, 4370, 0}, {128, 2048, 8224, 22367, 0, 0, 0}, {2048, 5920, 64, 0, 0, 0, 0}, {1295, 1331, 1365, 4369, 0, 0, 0}, {5960, 5922, 21760, 0, 0, 0, 0}, {5148, 5152, 4883, 5200, 0, 0, 0}, {204, 6952, 13056, 17476, 0, 0, 0}, {26, 48, 512, 64, 1301, 4096, 0}, {76, 102, 512, 4352, 0, 0, 0}, {48, 5911, 20560, 0, 0, 0, 0}, {5928, 24672, 0, 0, 0, 0, 0}, {22, 4437, 5120, 0, 0, 0, 0}, {42, 512, 64, 5376, 0, 0, 0}, {60, 13107, 5140, 0, 0, 0, 0}, {76, 4896, 17408, 0, 0, 0, 0}, {1295, 48, 4626, 1365, 0, 0, 0}, {2560, 4386, 4420, 0, 0, 0, 0}, {1807, 48, 64, 4112, 0, 0, 0}, {240, 3840, 9984, 20480, 0, 0, 0}, {12, 38, 514, 64, 1028, 4369, 0}, {1290, 1312, 514, 1360, 0, 0, 0}, {12, 5939, 17408, 0, 0, 0, 0}, {12, 48, 768, 64, 1028, 4096, 0}, {170, 2570, 8704, 21845, 0, 0, 0}, {12, 48, 768, 86, 1286, 4352, 0}, {128, 2056, 8192, 22391, 0, 0, 0}, {1800, 112, 20480, 0, 0, 0, 0}, {12, 4403, 1542, 4437, 0, 0, 0}, {1290, 8704, 1360, 0, 0, 0, 0}, {12, 4915, 64, 1028, 0, 0, 0}, {12, 48, 768, 5120, 0, 0, 0}, {42, 514, 21845, 0, 0, 0, 0}, {258, 276, 4112, 0, 0, 0, 0}, {30719, 10240, 0, 0, 0, 0, 0}, {10240, 20480, 0, 0, 0, 0, 0}, {51, 21, 257, 0, 0, 0, 0}, {42, 514, 20512, 0, 0, 0, 0}, {12, 51, 771, 5123, 0, 0, 0}, {12, 64, 1028, 4096, 0, 0, 0}, {8704, 85, 1285, 0, 0, 0, 0}, {12, 102, 4608, 5126, 0, 0, 0}, {127, 1799, 20592, 0, 0, 0, 0}, {128, 2056, 8192, 20480, 0, 0, 0}, {12, 51, 771, 85, 1285, 4352, 0}, {170, 2570, 8704, 20490, 0, 0, 0}, {12, 51, 771, 64, 1028, 4099, 0}, {12, 12288, 5120, 0, 0, 0, 0}, {42, 514, 85, 1285, 0, 0, 0}, {12, 38, 514, 64, 1028, 4102, 0}, {255, 3855, 9999, 20495, 0, 0, 0}, {2048, 64, 4112, 0, 0, 0, 0}, {51, 85, 1280, 4369, 0, 0, 0}, {106, 4626, 20528, 0, 0, 0, 0}, {76, 51, 4883, 5139, 0, 0, 0}, {204, 5140, 0, 0, 0, 0, 0}, {512, 21, 4096, 0, 0, 0, 0}, {76, 102, 512, 5142, 0, 0, 0}, {63, 5911, 20576, 0, 0, 0, 0}, {192, 6168, 12336, 20560, 0, 0, 0}, {25, 51, 512, 85, 1280, 4352, 0}, {4122, 4144, 512, 64, 0, 0, 0}, {5147, 51, 17476, 0, 0, 0, 0}, {5148, 8224, 5200, 0, 0, 0, 0}, {4637, 4642, 85, 1280, 0, 0, 0}, {5150, 102, 17476, 0, 0, 0, 0}, {4127, 4128, 1792, 64, 0, 0, 0}, {128, 2048, 8224, 20512, 0, 0, 0}, {12, 51, 771, 85, 1283, 4369, 0}, {170, 2560, 8738, 20480, 0, 0, 0}, {12, 51, 771, 64, 1024, 4112, 0}, {12, 5156, 17476, 0, 0, 0, 0}, {1295, 1317, 512, 85, 0, 0, 0}, {12, 38, 512, 64, 1024, 4096, 0}, {255, 3855, 10023, 20560, 0, 0, 0}, {20640, 10280, 0, 0, 0, 0, 0}, {259, 21, 4352, 0, 0, 0, 0}, {42, 512, 20480, 0, 0, 0, 0}, {12, 51, 771, 5140, 0, 0, 0}, {12, 4128, 64, 1024, 0, 0, 0}, {1295, 8738, 85, 0, 0, 0, 0}, {12, 5154, 1536, 5188, 0, 0, 0}, {1807, 1904, 20560, 0, 0, 0, 0}, {192, 6192, 12336, 20528, 0, 0, 0}, {25, 51, 514, 85, 1299, 4369, 0}, {42, 514, 64, 4112, 0, 0, 0}, {51, 5120, 0, 0, 0, 0, 0}, {76, 5172, 17476, 0, 0, 0, 0}, {1290, 1333, 4608, 85, 0, 0, 0}, {2570, 5174, 5200, 0, 0, 0, 0}, {1800, 1847, 64, 4096, 0, 0, 0}, {2056, 4144, 64, 0, 0, 0, 0}, {1290, 51, 85, 4352, 0, 0, 0}, {4698, 4656, 20560, 0, 0, 0, 0}, {5128, 51, 4864, 5188, 0, 0, 0}, {5180, 17408, 0, 0, 0, 0, 0}, {4128, 514, 21, 0, 0, 0, 0}, {76, 102, 514, 5140, 0, 0, 0}, {63, 5888, 20480, 0, 0, 0, 0}, {2048, 64, 4096, 0, 0, 0, 0}, {51, 85, 1285, 4369, 0, 0, 0}, {4680, 4642, 16962, 0, 0, 0, 0}, {5135, 51, 4864, 5187, 0, 0, 0}, {15360, 5188, 0, 0, 0, 0, 0}, {544, 21, 4112, 0, 0, 0, 0}, {5130, 5152, 5632, 5190, 0, 0, 0}, {5960, 6007, 18247, 0, 0, 0, 0}, {192, 6216, 12288, 20480, 0, 0, 0}, {25, 51, 531, 85, 1285, 4352, 0}, {4106, 4128, 4608, 64, 0, 0, 0}, {5195, 51, 17476, 0, 0, 0, 0}, {76, 8192, 5120, 0, 0, 0, 0}, {63, 4626, 85, 1285, 0, 0, 0}, {5198, 102, 17476, 0, 0, 0, 0}, {4111, 4144, 5888, 64, 0, 0, 0}, {10400, 20560, 0, 0, 0, 0, 0}, {768, 260, 273, 0, 0, 0, 0}, {520, 546, 21074, 0, 0, 0, 0}, {12, 51, 768, 5203, 0, 0, 0}, {12, 64, 1028, 4112, 0, 0, 0}, {8704, 85, 1280, 0, 0, 0, 0}, {12, 5168, 1536, 5206, 0, 0, 0}, {1800, 1911, 22359, 0, 0, 0, 0}, {128, 2056, 8224, 20560, 0, 0, 0}, {12, 51, 768, 85, 1280, 4352, 0}, {170, 2560, 8704, 20570, 0, 0, 0}, {12, 51, 768, 64, 1028, 4115, 0}, {12, 12336, 5200, 0, 0, 0, 0}, {520, 546, 85, 1280, 0, 0, 0}, {12, 38, 516, 64, 1028, 4118, 0}, {255, 3840, 10079, 20575, 0, 0, 0}, {192, 6240, 12288, 20576, 0, 0, 0}, {25, 51, 529, 85, 1302, 4369, 0}, {520, 546, 64, 4096, 0, 0, 0}, {3855, 51, 5200, 0, 0, 0, 0}, {76, 5220, 17476, 0, 0, 0, 0}, {1295, 1328, 5888, 85, 0, 0, 0}, {102, 5120, 0, 0, 0, 0, 0}, {63, 1799, 64, 4112, 0, 0, 0}, {2056, 4128, 64, 0, 0, 0, 0}, {1295, 51, 85, 4352, 0, 0, 0}, {106, 4608, 20480, 0, 0, 0, 0}, {76, 51, 4883, 5140, 0, 0, 0}, {5228, 17408, 0, 0, 0, 0, 0}, {4144, 4626, 21, 0, 0, 0, 0}, {5128, 5154, 5632, 5188, 0, 0, 0}, {5983, 5984, 20560, 0, 0, 0, 0}, {128, 2048, 8192, 20592, 0, 0, 0}, {12, 51, 768, 85, 1286, 4369, 0}, {170, 2570, 8738, 20560, 0, 0, 0}, {12, 51, 768, 64, 1024, 4096, 0}, {12, 5236, 17476, 0, 0, 0, 0}, {1290, 1312, 1792, 85, 0, 0, 0}, {12, 38, 518, 64, 1024, 4112, 0}, {255, 3840, 10103, 20480, 0, 0, 0}, {20720, 30840, 0, 0, 0, 0, 0}, {275, 21, 4352, 0, 0, 0, 0}, {522, 544, 20560, 0, 0, 0, 0}, {12, 51, 768, 5188, 0, 0, 0}, {12, 4144, 64, 1024, 0, 0, 0}, {1290, 8738, 85, 0, 0, 0, 0}, {12, 102, 4626, 5140, 0, 0, 0}, {127, 1792, 20480, 0, 0, 0, 0}, {128, 2048, 8192, 20480, 0, 0, 0}, {12, 51, 771, 85, 1285, 4369, 0}, {170, 2570, 8738, 20490, 0, 0, 0}, {12, 51, 771, 64, 1024, 4099, 0}, {12, 12288, 5188, 0, 0, 0, 0}, {522, 544, 85, 1285, 0, 0, 0}, {12, 38, 518, 64, 1024, 4102, 0}, {255, 3855, 10104, 20495, 0, 0, 0}, {10376, 20480, 0, 0, 0, 0, 0}, {771, 261, 272, 0, 0, 0, 0}, {522, 544, 20992, 0, 0, 0, 0}, {12, 51, 771, 5191, 0, 0, 0}, {12, 64, 1024, 4096, 0, 0, 0}, {8738, 85, 1285, 0, 0, 0, 0}, {12, 5156, 1542, 5186, 0, 0, 0}, {1807, 1904, 22272, 0, 0, 0, 0}, {192, 6224, 12336, 20560, 0, 0, 0}, {25, 51, 529, 85, 1280, 4369, 0}, {4122, 4144, 4626, 64, 0, 0, 0}, {5215, 51, 17408, 0, 0, 0, 0}, {76, 8224, 5140, 0, 0, 0, 0}, {63, 4608, 85, 1280, 0, 0, 0}, {5210, 102, 17408, 0, 0, 0, 0}, {4127, 4128, 5911, 64, 0, 0, 0}, {2056, 64, 4112, 0, 0, 0, 0}, {51, 85, 1280, 4352, 0, 0, 0}, {4698, 4656, 16896, 0, 0, 0, 0}, {5147, 51, 4883, 5207, 0, 0, 0}, {15420, 5200, 0, 0, 0, 0, 0}, {546, 21, 4096, 0, 0, 0, 0}, {5150, 5172, 5654, 5202, 0, 0, 0}, {5983, 5984, 18176, 0, 0, 0, 0}, {20640, 30720, 0, 0, 0, 0, 0}, {274, 21, 4369, 0, 0, 0, 0}, {520, 546, 20480, 0, 0, 0, 0}, {12, 51, 771, 5200, 0, 0, 0}, {12, 4128, 64, 1028, 0, 0, 0}, {1295, 8704, 85, 0, 0, 0, 0}, {12, 102, 4608, 5120, 0, 0, 0}, {127, 1799, 20560, 0, 0, 0, 0}, {128, 2056, 8224, 20512, 0, 0, 0}, {12, 51, 771, 85, 1283, 4352, 0}, {170, 2560, 8704, 20480, 0, 0, 0}, {12, 51, 771, 64, 1028, 4112, 0}, {12, 5216, 17408, 0, 0, 0, 0}, {1295, 1317, 1799, 85, 0, 0, 0}, {12, 38, 516, 64, 1028, 4096, 0}, {255, 3855, 10064, 20560, 0, 0, 0}, {2048, 4144, 64, 0, 0, 0, 0}, {1290, 51, 85, 4369, 0, 0, 0}, {106, 4626, 20560, 0, 0, 0, 0}, {76, 51, 4864, 5120, 0, 0, 0}, {5240, 17476, 0, 0, 0, 0, 0}, {4128, 4608, 21, 0, 0, 0, 0}, {5148, 5174, 5654, 5200, 0, 0, 0}, {5960, 6007, 20480, 0, 0, 0, 0}, {192, 6264, 12336, 20528, 0, 0, 0}, {25, 51, 531, 85, 1299, 4352, 0}, {522, 544, 64, 4112, 0, 0, 0}, {3840, 51, 5188, 0, 0, 0, 0}, {76, 5232, 17408, 0, 0, 0, 0}, {1290, 1333, 5911, 85, 0, 0, 0}, {102, 5140, 0, 0, 0, 0, 0}, {63, 1792, 64, 4096, 0, 0, 0}, {192, 6144, 12288, 20480, 0, 0, 0}, {25, 51, 514, 85, 1285, 4369, 0}, {4106, 4128, 514, 64, 0, 0, 0}, {5135, 51, 17408, 0, 0, 0, 0}, {5128, 8192, 5188, 0, 0, 0, 0}, {4623, 4656, 85, 1285, 0, 0, 0}, {5130, 102, 17408, 0, 0, 0, 0}, {4111, 4144, 1799, 64, 0, 0, 0}, {2056, 64, 4096, 0, 0, 0, 0}, {51, 85, 1285, 4352, 0, 0, 0}, {106, 4608, 20576, 0, 0, 0, 0}, {76, 51, 4864, 5127, 0, 0, 0}, {204, 5120, 0, 0, 0, 0, 0}, {514, 21, 4112, 0, 0, 0, 0}, {76, 102, 514, 5122, 0, 0, 0}, {63, 5888, 20528, 0, 0, 0, 0}, {128, 2048, 8224, 20560, 0, 0, 0}, {12, 51, 768, 85, 1280, 4369, 0}, {170, 2560, 8738, 20570, 0, 0, 0}, {12, 51, 768, 64, 1024, 4115, 0}, {12, 12336, 5140, 0, 0, 0, 0}, {42, 512, 85, 1280, 0, 0, 0}, {12, 38, 512, 64, 1024, 4118, 0}, {255, 3840, 10024, 20575, 0, 0, 0}, {10280, 20560, 0, 0, 0, 0, 0}, {51, 21, 256, 0, 0, 0, 0}, {42, 512, 20592, 0, 0, 0, 0}, {12, 51, 768, 5143, 0, 0, 0}, {12, 64, 1024, 4112, 0, 0, 0}, {8738, 85, 1280, 0, 0, 0, 0}, {12, 102, 4626, 5138, 0, 0, 0}, {127, 1792, 20512, 0, 0, 0, 0}, {2048, 4128, 64, 0, 0, 0, 0}, {1295, 51, 85, 4369, 0, 0, 0}, {4680, 4642, 20480, 0, 0, 0, 0}, {5148, 51, 4883, 5200, 0, 0, 0}, {5160, 17476, 0, 0, 0, 0, 0}, {4144, 512, 21, 0, 0, 0, 0}, {76, 102, 512, 5120, 0, 0, 0}, {63, 5911, 20560, 0, 0, 0, 0}, {192, 6184, 12288, 20576, 0, 0, 0}, {25, 51, 512, 85, 1302, 4352, 0}, {42, 512, 64, 4096, 0, 0, 0}, {51, 5140, 0, 0, 0, 0, 0}, {76, 5152, 17408, 0, 0, 0, 0}, {1295, 1328, 4626, 85, 0, 0, 0}, {2560, 5154, 5188, 0, 0, 0, 0}, {1807, 1840, 64, 4112, 0, 0, 0}, {20720, 10240, 0, 0, 0, 0, 0}, {258, 21, 4369, 0, 0, 0, 0}, {42, 514, 20560, 0, 0, 0, 0}, {12, 51, 768, 5120, 0, 0, 0}, {12, 4144, 64, 1028, 0, 0, 0}, {1290, 8704, 85, 0, 0, 0, 0}, {12, 5174, 1542, 5200, 0, 0, 0}, {1800, 1911, 20480, 0, 0, 0, 0}, {128, 2056, 8192, 20592, 0, 0, 0}, {12, 51, 768, 85, 1286, 4352, 0}, {170, 2570, 8704, 20560, 0, 0, 0}, {12, 51, 768, 64, 1028, 4096, 0}, {12, 5168, 17408, 0, 0, 0, 0}, {1290, 1312, 514, 85, 0, 0, 0}, {12, 38, 514, 64, 1028, 4112, 0}, {255, 3840, 9984, 20480, 0, 0, 0}, {13056, 5376, 0, 0, 0, 0, 0}, {40, 80, 257, 0, 0, 0, 0}, {4362, 4386, 514, 5378, 0, 0, 0}, {5439, 771, 16432, 0, 0, 0, 0}, {8704, 4420, 1028, 0, 0, 0, 0}, {783, 80, 1285, 4096, 0, 0, 0}, {5482, 1542, 16480, 0, 0, 0, 0}, {4367, 4471, 4608, 5383, 0, 0, 0}, {1032, 4352, 0, 0, 0, 0, 0}, {4144, 771, 80, 1285, 0, 0, 0}, {5386, 4864, 16384, 0, 0, 0, 0}, {4427, 4403, 771, 1028, 0, 0, 0}, {5568, 3084, 9740, 21760, 0, 0, 0}, {269, 293, 514, 80, 1285, 4357, 0}, {4430, 4454, 514, 1028, 0, 0, 0}, {5391, 5632, 16384, 0, 0, 0, 0}, {816, 80, 1280, 4112, 0, 0, 0}, {2048, 1092, 4369, 0, 0, 0, 0}, {4442, 4386, 4626, 5394, 0, 0, 0}, {5503, 4883, 16416, 0, 0, 0, 0}, {512, 276, 4096, 0, 0, 0, 0}, {13311, 5397, 0, 0, 0, 0, 0}, {5418, 5654, 16496, 0, 0, 0, 0}, {4447, 4471, 512, 5399, 0, 0, 0}, {280, 304, 512, 80, 1280, 4352, 0}, {5589, 6425, 13107, 21845, 0, 0, 0}, {5402, 816, 16448, 0, 0, 0, 0}, {4379, 4403, 512, 1092, 0, 0, 0}, {4892, 4128, 80, 1280, 0, 0, 0}, {5405, 8738, 4437, 0, 0, 0, 0}, {4382, 5410, 1792, 1092, 0, 0, 0}, {5407, 1632, 16448, 0, 0, 0, 0}, {5408, 1536, 21760, 0, 0, 0, 0}, {1036, 1140, 771, 4369, 0, 0, 0}, {4386, 1024, 0, 0, 0, 0, 0}, {1295, 771, 80, 4112, 0, 0, 0}, {1036, 1060, 512, 4420, 0, 0, 0}, {783, 5413, 21845, 0, 0, 0, 0}, {5610, 3084, 9766, 16448, 0, 0, 0}, {271, 295, 512, 80, 1024, 4096, 0}, {40, 512, 1024, 4352, 0, 0, 0}, {240, 771, 5397, 0, 0, 0, 0}, {5418, 13056, 0, 0, 0, 0, 0}, {259, 80, 5140, 0, 0, 0, 0}, {1548, 8224, 5440, 0, 0, 0, 0}, {783, 4642, 4437, 1024, 0, 0, 0}, {1036, 4454, 17476, 0, 0, 0, 0}, {1295, 4128, 1536, 80, 0, 0, 0}, {5424, 5632, 21760, 0, 0, 0, 0}, {1100, 1124, 514, 4369, 0, 0, 0}, {282, 306, 514, 80, 1040, 4112, 0}, {5631, 6451, 13107, 16384, 0, 0, 0}, {5384, 1076, 4608, 4420, 0, 0, 0}, {4959, 5429, 21845, 0, 0, 0, 0}, {1290, 1590, 80, 4096, 0, 0, 0}, {2056, 5431, 1088, 0, 0, 0, 0}, {1800, 816, 1088, 4352, 0, 0, 0}, {2570, 4915, 5461, 0, 0, 0, 0}, {1290, 4144, 4864, 80, 0, 0, 0}, {1100, 4403, 17476, 0, 0, 0, 0}, {828, 12288, 5376, 0, 0, 0, 0}, {40, 514, 4437, 5397, 0, 0, 0}, {278, 80, 5140, 0, 0, 0, 0}, {5439, 26112, 0, 0, 0, 0, 0}, {13056, 5440, 0, 0, 0, 0, 0}, {522, 1285, 273, 0, 0, 0, 0}, {4362, 4386, 4864, 5442, 0, 0, 0}, {5708, 819, 17219, 0, 0, 0, 0}, {8704, 4420, 5376, 0, 0, 0, 0}, {831, 80, 1285, 4112, 0, 0, 0}, {4940, 1638, 17990, 0, 0, 0, 0}, {4367, 1072, 5632, 5447, 0, 0, 0}, {1096, 4352, 0, 0, 0, 0, 0}, {4128, 4883, 80, 1285, 0, 0, 0}, {5450, 4896, 16448, 0, 0, 0, 0}, {5391, 4403, 4608, 1092, 0, 0, 0}, {5504, 6476, 9804, 21760, 0, 0, 0}, {285, 309, 791, 80, 1285, 4357, 0}, {5386, 5410, 5888, 1092, 0, 0, 0}, {5455, 5744, 16448, 0, 0, 0, 0}, {768, 80, 1280, 4096, 0, 0, 0}, {136, 1028, 4369, 0, 0, 0, 0}, {1032, 4386, 768, 5458, 0, 0, 0}, {1548, 4915, 21331, 0, 0, 0, 0}, {544, 260, 4112, 0, 0, 0, 0}, {3072, 5461, 0, 0, 0, 0, 0}, {780, 5734, 22102, 0, 0, 0, 0}, {1032, 1056, 1536, 5463, 0, 0, 0}, {264, 288, 768, 80, 1280, 4352, 0}, {5525, 3084, 13107, 21845, 0, 0, 0}, {5466, 768, 16384, 0, 0, 0, 0}, {4379, 4403, 4883, 1028, 0, 0, 0}, {780, 4144, 80, 1280, 0, 0, 0}, {1032, 8738, 4437, 0, 0, 0, 0}, {4382, 4454, 4626, 1028, 0, 0, 0}, {5471, 1536, 16384, 0, 0, 0, 0}, {5472, 4864, 21760, 0, 0, 0, 0}, {1100, 1076, 1799, 4369, 0, 0, 0}, {2056, 4386, 1088, 0, 0, 0, 0}, {1295, 819, 80, 4096, 0, 0, 0}, {5384, 5408, 5888, 4420, 0, 0, 0}, {5722, 5477, 21845, 0, 0, 0, 0}, {5546, 6502, 9830, 16384, 0, 0, 0}, {287, 311, 791, 80, 1040, 4112, 0}, {520, 544, 1088, 4352, 0, 0, 0}, {3855, 819, 5461, 0, 0, 0, 0}, {5482, 13056, 0, 0, 0, 0, 0}, {275, 80, 5140, 0, 0, 0, 0}, {4972, 8192, 5376, 0, 0, 0, 0}, {4397, 4626, 4437, 5397, 0, 0, 0}, {1100, 4454, 17476, 0, 0, 0, 0}, {1295, 4144, 5632, 80, 0, 0, 0}, {5488, 768, 21760, 0, 0, 0, 0}, {1036, 1060, 1542, 4369, 0, 0, 0}, {266, 290, 768, 80, 1024, 4096, 0}, {5567, 3084, 13107, 16448, 0, 0, 0}, {1036, 5424, 1792, 4420, 0, 0, 0}, {1546, 5493, 21845, 0, 0, 0, 0}, {1290, 1542, 80, 4112, 0, 0, 0}, {4471, 1024, 0, 0, 0, 0, 0}, {120, 768, 1024, 4352, 0, 0, 0}, {160, 4883, 5397, 0, 0, 0, 0}, {1290, 4128, 768, 80, 0, 0, 0}, {1036, 4403, 17476, 0, 0, 0, 0}, {780, 12336, 5440, 0, 0, 0, 0}, {522, 546, 4437, 1024, 0, 0, 0}, {262, 80, 5140, 0, 0, 0, 0}, {5503, 26112, 0, 0, 0, 0, 0}, {5504, 3072, 13056, 21760, 0, 0, 0}, {265, 289, 771, 80, 1285, 4369, 0}, {4362, 4386, 4864, 1024, 0, 0, 0}, {5455, 771, 16448, 0, 0, 0, 0}, {1036, 8704, 4420, 0, 0, 0, 0}, {783, 4128, 80, 1285, 0, 0, 0}, {5450, 1542, 16448, 0, 0, 0, 0}, {4367, 4471, 4608, 1024, 0, 0, 0}, {136, 1024, 4352, 0, 0, 0, 0}, {771, 80, 1285, 4112, 0, 0, 0}, {1546, 4896, 21248, 0, 0, 0, 0}, {1036, 4403, 771, 5447, 0, 0, 0}, {3084, 5440, 0, 0, 0, 0, 0}, {546, 261, 4096, 0, 0, 0, 0}, {1036, 1060, 1542, 5442, 0, 0, 0}, {783, 5744, 22016, 0, 0, 0, 0}, {4144, 4864, 80, 1280, 0, 0, 0}, {1100, 4369, 0, 0, 0, 0, 0}, {5402, 4386, 4626, 1088, 0, 0, 0}, {5471, 4915, 16384, 0, 0, 0, 0}, {284, 308, 788, 80, 1280, 4372, 0}, {5525, 6485, 9834, 21845, 0, 0, 0}, {5466, 5734, 16384, 0, 0, 0, 0}, {5407, 5431, 5911, 1088, 0, 0, 0}, {520, 1280, 272, 0, 0, 0, 0}, {13107, 5461, 0, 0, 0, 0, 0}, {5722, 816, 17152, 0, 0, 0, 0}, {4379, 4403, 4883, 5463, 0, 0, 0}, {828, 80, 1280, 4096, 0, 0, 0}, {8738, 4437, 5397, 0, 0, 0, 0}, {4382, 1076, 5654, 5458, 0, 0, 0}, {4959, 1632, 17920, 0, 0, 0, 0}, {160, 4864, 5376, 0, 0, 0, 0}, {120, 771, 1028, 4369, 0, 0, 0}, {1032, 4386, 17408, 0, 0, 0, 0}, {1295, 4144, 771, 80, 0, 0, 0}, {520, 544, 4420, 1028, 0, 0, 0}, {783, 12288, 5461, 0, 0, 0, 0}, {5482, 26214, 0, 0, 0, 0, 0}, {263, 80, 5120, 0, 0, 0, 0}, {1032, 1056, 1536, 4352, 0, 0, 0}, {5477, 771, 21845, 0, 0, 0, 0}, {5546, 3072, 13056, 16384, 0, 0, 0}, {267, 291, 771, 80, 1028, 4112, 0}, {1548, 5472, 21760, 0, 0, 0, 0}, {1032, 5413, 1799, 4437, 0, 0, 0}, {4454, 1028, 0, 0, 0, 0, 0}, {1295, 1536, 80, 4096, 0, 0, 0}, {3840, 816, 5440, 0, 0, 0, 0}, {522, 546, 1092, 4369, 0, 0, 0}, {274, 80, 5120, 0, 0, 0, 0}, {5503, 13107, 0, 0, 0, 0, 0}, {4412, 4608, 4420, 5376, 0, 0, 0}, {4991, 8224, 5397, 0, 0, 0, 0}, {1290, 4128, 5654, 80, 0, 0, 0}, {1096, 4471, 17408, 0, 0, 0, 0}, {1096, 1072, 1792, 4352, 0, 0, 0}, {5493, 4883, 21845, 0, 0, 0, 0}, {1290, 816, 80, 4112, 0, 0, 0}, {2048, 4403, 1092, 0, 0, 0, 0}, {5708, 5488, 21760, 0, 0, 0, 0}, {5405, 5429, 5911, 4437, 0, 0, 0}, {286, 310, 788, 80, 1044, 4096, 0}, {5567, 6527, 9792, 16448, 0, 0, 0}, {5568, 6400, 13056, 21760, 0, 0, 0}, {281, 305, 514, 80, 1285, 4369, 0}, {4362, 4386, 514, 1088, 0, 0, 0}, {5391, 819, 16384, 0, 0, 0, 0}, {5384, 8704, 4420, 0, 0, 0, 0}, {4879, 4144, 80, 1285, 0, 0, 0}, {5386, 1638, 16384, 0, 0, 0, 0}, {4367, 5431, 1799, 1088, 0, 0, 0}, {2056, 1088, 4352, 0, 0, 0, 0}, {819, 80, 1285, 4096, 0, 0, 0}, {5482, 4864, 16480, 0, 0, 0, 0}, {4427, 4403, 4608, 5383, 0, 0, 0}, {13260, 5376, 0, 0, 0, 0, 0}, {514, 277, 4112, 0, 0, 0, 0}, {4430, 4454, 514, 5378, 0, 0, 0}, {5439, 5632, 16432, 0, 0, 0, 0}, {4128, 768, 80, 1280, 0, 0, 0}, {1036, 4369, 0, 0, 0, 0, 0}, {4442, 4386, 768, 1024, 0, 0, 0}, {5407, 4883, 16448, 0, 0, 0, 0}, {268, 292, 512, 80, 1280, 4372, 0}, {5589, 3072, 9770, 21845, 0, 0, 0}, {5402, 5654, 16448, 0, 0, 0, 0}, {4447, 4471, 512, 1024, 0, 0, 0}, {40, 80, 256, 0, 0, 0, 0}, {13107, 5397, 0, 0, 0, 0, 0}, {5418, 768, 16496, 0, 0, 0, 0}, {4379, 4403, 512, 5399, 0, 0, 0}, {780, 80, 1280, 4112, 0, 0, 0}, {8738, 4437, 1024, 0, 0, 0, 0}, {4382, 4454, 4626, 5394, 0, 0, 0}, {5503, 1536, 16416, 0, 0, 0, 0}, {2560, 4896, 5440, 0, 0, 0, 0}, {1807, 819, 1092, 4369, 0, 0, 0}, {1096, 4386, 17408, 0, 0, 0, 0}, {1295, 4128, 4883, 80, 0, 0, 0}, {40, 512, 4420, 5376, 0, 0, 0}, {831, 12336, 5397, 0, 0, 0, 0}, {5418, 26214, 0, 0, 0, 0, 0}, {279, 80, 5120, 0, 0, 0, 0}, {1096, 1120, 512, 4352, 0, 0, 0}, {5413, 5654, 21845, 0, 0, 0, 0}, {5610, 6442, 13056, 16448, 0, 0, 0}, {283, 307, 512, 80, 1044, 4096, 0}, {4940, 5408, 21760, 0, 0, 0, 0}, {5405, 1072, 4626, 4437, 0, 0, 0}, {2048, 5410, 1092, 0, 0, 0, 0}, {1295, 1584, 80, 4112, 0, 0, 0}, {240, 768, 5376, 0, 0, 0, 0}, {40, 514, 1028, 4369, 0, 0, 0}, {258, 80, 5120, 0, 0, 0, 0}, {5439, 13107, 0, 0, 0, 0, 0}, {780, 4656, 4420, 1028, 0, 0, 0}, {1546, 8192, 5461, 0, 0, 0, 0}, {1290, 4144, 1542, 80, 0, 0, 0}, {1032, 4471, 17408, 0, 0, 0, 0}, {1032, 1136, 768, 4352, 0, 0, 0}, {5429, 1542, 21845, 0, 0, 0, 0}, {1290, 768, 80, 4096, 0, 0, 0}, {4403, 1028, 0, 0, 0, 0, 0}, {780, 5424, 21760, 0, 0, 0, 0}, {1032, 1056, 514, 4437, 0, 0, 0}, {270, 294, 514, 80, 1028, 4112, 0}, {5631, 3072, 9728, 16384, 0, 0, 0}, {23040, 28672, 0, 0, 0, 0, 0}, {23, 68, 257, 0, 0, 0, 0}, {40, 514, 20480, 0, 0, 0, 0}, {12, 51, 771, 5376, 0, 0, 0}, {12, 4608, 68, 1028, 0, 0, 0}, {95, 8192, 1285, 0, 0, 0, 0}, {12, 96, 1542, 4096, 0, 0, 0}, {119, 1799, 21760, 0, 0, 0, 0}, {136, 2056, 8704, 21000, 0, 0, 0}, {12, 51, 771, 83, 1285, 4099, 0}, {160, 2570, 8192, 20480, 0, 0, 0}, {12, 51, 771, 68, 1028, 4352, 0}, {12, 5632, 16384, 0, 0, 0, 0}, {95, 119, 514, 1285, 0, 0, 0}, {12, 36, 514, 68, 1028, 4100, 0}, {255, 3855, 9487, 21760, 0, 0, 0}, {2560, 96, 4112, 0, 0, 0, 0}, {51, 1792, 68, 4369, 0, 0, 0}, {72, 4626, 16384, 0, 0, 0, 0}, {95, 51, 4883, 1280, 0, 0, 0}, {40, 512, 68, 5140, 0, 0, 0}, {63, 12288, 5397, 0, 0, 0, 0}, {204, 5654, 0, 0, 0, 0, 0}, {23, 1280, 4096, 0, 0, 0, 0}, {4120, 4144, 512, 4176, 0, 0, 0}, {5657, 51, 21845, 0, 0, 0, 0}, {192, 6682, 12336, 16448, 0, 0, 0}, {27, 51, 512, 68, 1280, 4352, 0}, {5660, 5744, 20560, 0, 0, 0, 0}, {5405, 5410, 1792, 5461, 0, 0, 0}, {5662, 8738, 68, 0, 0, 0, 0}, {4127, 4128, 4160, 1280, 0, 0, 0}, {160, 2560, 8224, 20480, 0, 0, 0}, {12, 51, 771, 68, 1024, 4369, 0}, {136, 2048, 8738, 21026, 0, 0, 0}, {12, 51, 771, 83, 1283, 4112, 0}, {12, 36, 512, 68, 1024, 4096, 0}, {255, 3855, 9509, 21845, 0, 0, 0}, {12, 5670, 16448, 0, 0, 0, 0}, {1295, 1319, 512, 1360, 0, 0, 0}, {40, 512, 20480, 0, 0, 0, 0}, {12, 51, 771, 5397, 0, 0, 0}, {28800, 10794, 0, 0, 0, 0, 0}, {259, 276, 4352, 0, 0, 0, 0}, {12, 4128, 1536, 4160, 0, 0, 0}, {1807, 119, 21845, 0, 0, 0, 0}, {12, 4642, 68, 1024, 0, 0, 0}, {1295, 8224, 1360, 0, 0, 0, 0}, {192, 6704, 12336, 16384, 0, 0, 0}, {27, 51, 514, 68, 1297, 4369, 0}, {72, 96, 514, 4112, 0, 0, 0}, {51, 5632, 21760, 0, 0, 0, 0}, {2056, 5684, 68, 0, 0, 0, 0}, {1290, 1333, 1365, 4096, 0, 0, 0}, {5722, 5686, 20560, 0, 0, 0, 0}, {5384, 5431, 4608, 5440, 0, 0, 0}, {72, 4656, 16448, 0, 0, 0, 0}, {1290, 51, 4864, 1365, 0, 0, 0}, {2570, 4144, 4176, 0, 0, 0, 0}, {1800, 51, 68, 4352, 0, 0, 0}, {5692, 26112, 0, 0, 0, 0, 0}, {23, 4160, 5397, 0, 0, 0, 0}, {40, 514, 68, 5140, 0, 0, 0}, {63, 12288, 5376, 0, 0, 0, 0}, {192, 6720, 12288, 16448, 0, 0, 0}, {27, 51, 529, 68, 1285, 4369, 0}, {72, 96, 578, 4096, 0, 0, 0}, {51, 5699, 21760, 0, 0, 0, 0}, {5632, 68, 0, 0, 0, 0, 0}, {95, 96, 1285, 4112, 0, 0, 0}, {108, 5702, 20480, 0, 0, 0, 0}, {72, 119, 4679, 5376, 0, 0, 0}, {72, 4608, 16384, 0, 0, 0, 0}, {95, 51, 4883, 1285, 0, 0, 0}, {2570, 4128, 4160, 0, 0, 0, 0}, {1807, 51, 68, 4352, 0, 0, 0}, {5708, 26112, 0, 0, 0, 0, 0}, {23, 4176, 1285, 0, 0, 0, 0}, {522, 546, 68, 5120, 0, 0, 0}, {63, 12336, 5440, 0, 0, 0, 0}, {160, 2560, 8192, 20560, 0, 0, 0}, {12, 51, 768, 68, 1028, 4369, 0}, {136, 2056, 8738, 21074, 0, 0, 0}, {12, 51, 768, 83, 1280, 4096, 0}, {12, 36, 516, 68, 1028, 4112, 0}, {255, 3840, 9557, 21845, 0, 0, 0}, {12, 5718, 16384, 0, 0, 0, 0}, {95, 119, 599, 1280, 0, 0, 0}, {520, 544, 20560, 0, 0, 0, 0}, {12, 51, 768, 5461, 0, 0, 0}, {28912, 23130, 0, 0, 0, 0, 0}, {275, 260, 4352, 0, 0, 0, 0}, {12, 4144, 1536, 4176, 0, 0, 0}, {1800, 119, 21845, 0, 0, 0, 0}, {12, 4626, 68, 1028, 0, 0, 0}, {95, 8192, 1280, 0, 0, 0, 0}, {2560, 96, 4096, 0, 0, 0, 0}, {51, 1799, 68, 4369, 0, 0, 0}, {72, 4642, 16448, 0, 0, 0, 0}, {1295, 51, 4864, 1360, 0, 0, 0}, {520, 544, 68, 5120, 0, 0, 0}, {63, 12336, 5461, 0, 0, 0, 0}, {19456, 5734, 0, 0, 0, 0, 0}, {23, 1360, 4112, 0, 0, 0, 0}, {4104, 4128, 4608, 4160, 0, 0, 0}, {5722, 51, 21845, 0, 0, 0, 0}, {192, 6762, 12288, 16384, 0, 0, 0}, {27, 51, 531, 68, 1300, 4352, 0}, {108, 5632, 20480, 0, 0, 0, 0}, {72, 119, 4626, 5397, 0, 0, 0}, {5674, 8738, 68, 0, 0, 0, 0}, {4111, 4144, 4176, 5376, 0, 0, 0}, {23280, 28784, 0, 0, 0, 0, 0}, {262, 1024, 273, 0, 0, 0, 0}, {522, 546, 20560, 0, 0, 0, 0}, {12, 51, 768, 5440, 0, 0, 0}, {12, 4656, 68, 1024, 0, 0, 0}, {1290, 8224, 1365, 0, 0, 0, 0}, {12, 96, 1542, 4112, 0, 0, 0}, {119, 1792, 21760, 0, 0, 0, 0}, {136, 2048, 8704, 21112, 0, 0, 0}, {12, 51, 768, 83, 1286, 4115, 0}, {160, 2570, 8224, 20560, 0, 0, 0}, {12, 51, 768, 68, 1024, 4352, 0}, {12, 5744, 16448, 0, 0, 0, 0}, {1290, 1314, 1792, 1365, 0, 0, 0}, {12, 36, 518, 68, 1024, 4116, 0}, {255, 3840, 9599, 21760, 0, 0, 0}, {28800, 23040, 0, 0, 0, 0, 0}, {274, 261, 4369, 0, 0, 0, 0}, {522, 546, 20480, 0, 0, 0, 0}, {12, 51, 771, 5440, 0, 0, 0}, {12, 4608, 68, 1024, 0, 0, 0}, {95, 8224, 1285, 0, 0, 0, 0}, {12, 4128, 1542, 4160, 0, 0, 0}, {1807, 119, 21760, 0, 0, 0, 0}, {136, 2048, 8704, 20992, 0, 0, 0}, {12, 51, 771, 83, 1285, 4112, 0}, {160, 2570, 8224, 20480, 0, 0, 0}, {12, 51, 771, 68, 1024, 4352, 0}, {12, 5696, 16448, 0, 0, 0, 0}, {95, 119, 597, 1285, 0, 0, 0}, {12, 36, 518, 68, 1024, 4096, 0}, {255, 3855, 9584, 21760, 0, 0, 0}, {2560, 4144, 4176, 0, 0, 0, 0}, {1800, 51, 68, 4369, 0, 0, 0}, {72, 4626, 16448, 0, 0, 0, 0}, {95, 51, 4864, 1280, 0, 0, 0}, {520, 544, 68, 5140, 0, 0, 0}, {63, 12288, 5461, 0, 0, 0, 0}, {5722, 26214, 0, 0, 0, 0, 0}, {23, 4160, 1280, 0, 0, 0, 0}, {72, 96, 576, 4112, 0, 0, 0}, {51, 5717, 21845, 0, 0, 0, 0}, {192, 6746, 12336, 16384, 0, 0, 0}, {27, 51, 531, 68, 1280, 4352, 0}, {108, 5712, 20560, 0, 0, 0, 0}, {72, 119, 4693, 5397, 0, 0, 0}, {5654, 68, 0, 0, 0, 0, 0}, {95, 96, 1280, 4096, 0, 0, 0}, {160, 2560, 8192, 20480, 0, 0, 0}, {12, 51, 771, 68, 1028, 4369, 0}, {136, 2056, 8738, 21034, 0, 0, 0}, {12, 51, 771, 83, 1283, 4099, 0}, {12, 36, 516, 68, 1028, 4100, 0}, {255, 3855, 9562, 21845, 0, 0, 0}, {12, 5734, 16384, 0, 0, 0, 0}, {1295, 1319, 1799, 1360, 0, 0, 0}, {520, 544, 20480, 0, 0, 0, 0}, {12, 51, 771, 5461, 0, 0, 0}, {23210, 28672, 0, 0, 0, 0, 0}, {263, 1028, 272, 0, 0, 0, 0}, {12, 96, 1536, 4096, 0, 0, 0}, {119, 1799, 21845, 0, 0, 0, 0}, {12, 4642, 68, 1028, 0, 0, 0}, {1295, 8192, 1360, 0, 0, 0, 0}, {192, 6768, 12336, 16448, 0, 0, 0}, {27, 51, 529, 68, 1297, 4369, 0}, {4120, 4144, 4626, 4176, 0, 0, 0}, {5708, 51, 21760, 0, 0, 0, 0}, {5692, 8704, 68, 0, 0, 0, 0}, {4127, 4128, 4160, 5397, 0, 0, 0}, {108, 5654, 20560, 0, 0, 0, 0}, {72, 119, 4608, 5376, 0, 0, 0}, {72, 4656, 16384, 0, 0, 0, 0}, {1290, 51, 4883, 1365, 0, 0, 0}, {2570, 96, 4112, 0, 0, 0, 0}, {51, 1792, 68, 4352, 0, 0, 0}, {19532, 5744, 0, 0, 0, 0, 0}, {23, 1365, 4096, 0, 0, 0, 0}, {522, 546, 68, 5140, 0, 0, 0}, {63, 12288, 5440, 0, 0, 0, 0}, {192, 6656, 12288, 16384, 0, 0, 0}, {27, 51, 514, 68, 1285, 4369, 0}, {4104, 4128, 514, 4160, 0, 0, 0}, {5647, 51, 21760, 0, 0, 0, 0}, {5640, 8704, 68, 0, 0, 0, 0}, {4111, 4144, 4176, 1285, 0, 0, 0}, {5642, 5734, 20480, 0, 0, 0, 0}, {5384, 5431, 1799, 5440, 0, 0, 0}, {72, 4608, 16448, 0, 0, 0, 0}, {95, 51, 4864, 1285, 0, 0, 0}, {2570, 96, 4096, 0, 0, 0, 0}, {51, 1799, 68, 4352, 0, 0, 0}, {204, 5632, 0, 0, 0, 0, 0}, {23, 1285, 4112, 0, 0, 0, 0}, {40, 514, 68, 5120, 0, 0, 0}, {63, 12336, 5376, 0, 0, 0, 0}, {160, 2560, 8224, 20560, 0, 0, 0}, {12, 51, 768, 68, 1024, 4369, 0}, {136, 2048, 8738, 21082, 0, 0, 0}, {12, 51, 768, 83, 1280, 4115, 0}, {12, 36, 512, 68, 1024, 4116, 0}, {255, 3840, 9514, 21845, 0, 0, 0}, {12, 5654, 16448, 0, 0, 0, 0}, {95, 119, 512, 1280, 0, 0, 0}, {40, 512, 20560, 0, 0, 0, 0}, {12, 51, 768, 5397, 0, 0, 0}, {23130, 28784, 0, 0, 0, 0, 0}, {23, 68, 256, 0, 0, 0, 0}, {12, 96, 1536, 4112, 0, 0, 0}, {119, 1792, 21845, 0, 0, 0, 0}, {12, 4626, 68, 1024, 0, 0, 0}, {95, 8224, 1280, 0, 0, 0, 0}, {2560, 4128, 4160, 0, 0, 0, 0}, {1807, 51, 68, 4369, 0, 0, 0}, {72, 4642, 16384, 0, 0, 0, 0}, {1295, 51, 4883, 1360, 0, 0, 0}, {40, 512, 68, 5120, 0, 0, 0}, {63, 12336, 5397, 0, 0, 0, 0}, {5674, 26214, 0, 0, 0, 0, 0}, {23, 4176, 5376, 0, 0, 0, 0}, {72, 96, 512, 4096, 0, 0, 0}, {51, 5654, 21845, 0, 0, 0, 0}, {192, 6698, 12288, 16448, 0, 0, 0}, {27, 51, 512, 68, 1300, 4352, 0}, {5708, 5664, 20480, 0, 0, 0, 0}, {5405, 5410, 4626, 5461, 0, 0, 0}, {2048, 5666, 68, 0, 0, 0, 0}, {1295, 1328, 1360, 4112, 0, 0, 0}, {28912, 10752, 0, 0, 0, 0, 0}, {258, 277, 4369, 0, 0, 0, 0}, {40, 514, 20560, 0, 0, 0, 0}, {12, 51, 768, 5376, 0, 0, 0}, {12, 4656, 68, 1028, 0, 0, 0}, {1290, 8192, 1365, 0, 0, 0, 0}, {12, 4144, 1542, 4176, 0, 0, 0}, {1800, 119, 21760, 0, 0, 0, 0}, {136, 2056, 8704, 21104, 0, 0, 0}, {12, 51, 768, 83, 1286, 4096, 0}, {160, 2570, 8192, 20560, 0, 0, 0}, {12, 51, 768, 68, 1028, 4352, 0}, {12, 5680, 16384, 0, 0, 0, 0}, {1290, 1314, 514, 1365, 0, 0, 0}, {12, 36, 514, 68, 1028, 4112, 0}, {255, 3840, 9472, 21760, 0, 0, 0}, {5888, 17408, 0, 0, 0, 0, 0}, {90, 112, 257, 0, 0, 0, 0}, {4360, 4386, 514, 5376, 0, 0, 0}, {5180, 771, 20480, 0, 0, 0, 0}, {4940, 8192, 1028, 0, 0, 0, 0}, {4367, 4608, 4437, 1285, 0, 0, 0}, {4454, 1542, 21760, 0, 0, 0, 0}, {1032, 112, 1799, 4096, 0, 0, 0}, {1032, 4864, 16384, 0, 0, 0, 0}, {90, 4403, 771, 1285, 0, 0, 0}, {1546, 4352, 0, 0, 0, 0, 0}, {4144, 771, 4160, 1028, 0, 0, 0}, {6080, 3084, 9228, 21260, 0, 0, 0}, {269, 295, 514, 343, 1285, 4359, 0}, {42, 514, 4420, 1028, 0, 0, 0}, {783, 12288, 5120, 0, 0, 0, 0}, {1072, 1792, 1088, 4112, 0, 0, 0}, {2560, 1638, 4369, 0, 0, 0, 0}, {90, 4386, 4626, 1280, 0, 0, 0}, {1100, 4883, 16384, 0, 0, 0, 0}, {828, 12288, 5140, 0, 0, 0, 0}, {42, 512, 4437, 5397, 0, 0, 0}, {278, 1280, 4096, 0, 0, 0, 0}, {17544, 5911, 0, 0, 0, 0, 0}, {5912, 816, 20560, 0, 0, 0, 0}, {4377, 4403, 512, 5461, 0, 0, 0}, {282, 304, 512, 320, 1280, 4352, 0}, {6103, 6939, 13107, 17476, 0, 0, 0}, {5148, 4128, 1792, 4176, 0, 0, 0}, {5917, 4471, 21845, 0, 0, 0, 0}, {4382, 4642, 4420, 1280, 0, 0, 0}, {5919, 8224, 1088, 0, 0, 0, 0}, {4896, 1024, 0, 0, 0, 0, 0}, {1295, 771, 1365, 4369, 0, 0, 0}, {4386, 1536, 21760, 0, 0, 0, 0}, {1036, 112, 771, 4112, 0, 0, 0}, {6120, 3084, 9252, 17476, 0, 0, 0}, {271, 293, 512, 341, 1024, 4096, 0}, {1036, 1062, 512, 5440, 0, 0, 0}, {783, 5927, 20560, 0, 0, 0, 0}, {5928, 13056, 0, 0, 0, 0, 0}, {259, 4160, 5397, 0, 0, 0, 0}, {42, 512, 1024, 4352, 0, 0, 0}, {240, 771, 5140, 0, 0, 0, 0}, {1036, 5984, 16448, 0, 0, 0, 0}, {1295, 5154, 1536, 1365, 0, 0, 0}, {1548, 8738, 4420, 0, 0, 0, 0}, {783, 4128, 4176, 1024, 0, 0, 0}, {816, 5120, 0, 0, 0, 0, 0}, {42, 514, 1092, 4369, 0, 0, 0}, {280, 306, 514, 322, 1042, 4112, 0}, {6143, 6963, 13107, 21299, 0, 0, 0}, {1800, 1076, 1092, 4096, 0, 0, 0}, {2570, 5941, 4437, 0, 0, 0, 0}, {1290, 5174, 4608, 1360, 0, 0, 0}, {1096, 5943, 16448, 0, 0, 0, 0}, {5128, 4144, 4864, 4160, 0, 0, 0}, {5983, 4403, 21845, 0, 0, 0, 0}, {1290, 816, 1360, 4352, 0, 0, 0}, {2056, 4915, 1092, 0, 0, 0, 0}, {5180, 5888, 20480, 0, 0, 0, 0}, {4445, 4471, 514, 5397, 0, 0, 0}, {4128, 514, 276, 0, 0, 0, 0}, {5951, 17408, 0, 0, 0, 0, 0}, {4864, 1088, 0, 0, 0, 0, 0}, {90, 819, 1285, 4369, 0, 0, 0}, {4386, 5954, 21760, 0, 0, 0, 0}, {1100, 112, 835, 4096, 0, 0, 0}, {6024, 6980, 9284, 17476, 0, 0, 0}, {287, 309, 789, 325, 1285, 4112, 0}, {4428, 4454, 4934, 5376, 0, 0, 0}, {5240, 5959, 20480, 0, 0, 0, 0}, {5960, 13056, 0, 0, 0, 0, 0}, {275, 4176, 1285, 0, 0, 0, 0}, {522, 544, 1088, 4352, 0, 0, 0}, {3855, 819, 5188, 0, 0, 0, 0}, {1100, 5888, 16384, 0, 0, 0, 0}, {90, 4471, 4626, 1285, 0, 0, 0}, {5928, 8738, 4420, 0, 0, 0, 0}, {4879, 4144, 4160, 5120, 0, 0, 0}, {768, 5200, 0, 0, 0, 0, 0}, {520, 546, 1028, 4369, 0, 0, 0}, {264, 290, 768, 338, 1280, 4096, 0}, {6047, 3084, 13107, 21331, 0, 0, 0}, {780, 112, 1028, 4112, 0, 0, 0}, {1536, 4437, 0, 0, 0, 0, 0}, {90, 4454, 854, 1280, 0, 0, 0}, {1032, 5975, 16384, 0, 0, 0, 0}, {1032, 4128, 768, 4176, 0, 0, 0}, {1548, 4403, 21845, 0, 0, 0, 0}, {90, 768, 1280, 4352, 0, 0, 0}, {128, 4883, 1028, 0, 0, 0, 0}, {780, 5984, 20560, 0, 0, 0, 0}, {1032, 1058, 1536, 5461, 0, 0, 0}, {4144, 4626, 260, 0, 0, 0, 0}, {5983, 17408, 0, 0, 0, 0, 0}, {5984, 17408, 0, 0, 0, 0, 0}, {1295, 1799, 273, 0, 0, 0, 0}, {4360, 4386, 4864, 5440, 0, 0, 0}, {5983, 819, 20560, 0, 0, 0, 0}, {5928, 8224, 1092, 0, 0, 0, 0}, {4367, 4656, 4437, 5120, 0, 0, 0}, {4454, 5888, 21760, 0, 0, 0, 0}, {1096, 112, 1799, 4112, 0, 0, 0}, {1096, 4896, 16448, 0, 0, 0, 0}, {1295, 4403, 4608, 1365, 0, 0, 0}, {1642, 4352, 0, 0, 0, 0, 0}, {4128, 4883, 4176, 5140, 0, 0, 0}, {6048, 7020, 9324, 21356, 0, 0, 0}, {285, 311, 789, 327, 1042, 4359, 0}, {520, 546, 4420, 5376, 0, 0, 0}, {831, 12336, 5200, 0, 0, 0, 0}, {112, 768, 1024, 4096, 0, 0, 0}, {170, 1542, 4369, 0, 0, 0, 0}, {1290, 4386, 768, 1360, 0, 0, 0}, {1036, 4915, 16448, 0, 0, 0, 0}, {780, 12336, 5188, 0, 0, 0, 0}, {522, 544, 4437, 1024, 0, 0, 0}, {262, 1360, 4112, 0, 0, 0, 0}, {3072, 6007, 0, 0, 0, 0, 0}, {5240, 768, 20480, 0, 0, 0, 0}, {4377, 4403, 4883, 5397, 0, 0, 0}, {266, 288, 768, 336, 1024, 4352, 0}, {6071, 3084, 13107, 17476, 0, 0, 0}, {1036, 4144, 1792, 4160, 0, 0, 0}, {1546, 4471, 21845, 0, 0, 0, 0}, {4382, 4626, 4420, 5140, 0, 0, 0}, {4991, 8192, 1024, 0, 0, 0, 0}, {128, 4864, 1024, 0, 0, 0, 0}, {90, 771, 1285, 4369, 0, 0, 0}, {1546, 4386, 21760, 0, 0, 0, 0}, {1036, 4144, 771, 4160, 0, 0, 0}, {5960, 17476, 0, 0, 0, 0, 0}, {4128, 4608, 261, 0, 0, 0, 0}, {1036, 1062, 1542, 5440, 0, 0, 0}, {783, 6007, 20480, 0, 0, 0, 0}, {6024, 3072, 13056, 21248, 0, 0, 0}, {265, 291, 771, 339, 1285, 4112, 0}, {522, 544, 1024, 4352, 0, 0, 0}, {771, 5188, 0, 0, 0, 0, 0}, {1036, 5952, 16448, 0, 0, 0, 0}, {90, 4471, 853, 1285, 0, 0, 0}, {1542, 4420, 0, 0, 0, 0, 0}, {783, 112, 1024, 4096, 0, 0, 0}, {3840, 816, 5200, 0, 0, 0, 0}, {520, 546, 1092, 4369, 0, 0, 0}, {274, 4160, 1280, 0, 0, 0, 0}, {5983, 13107, 0, 0, 0, 0, 0}, {4892, 4128, 4176, 5140, 0, 0, 0}, {5951, 8704, 4437, 0, 0, 0, 0}, {90, 4454, 4608, 1280, 0, 0, 0}, {1096, 5911, 16448, 0, 0, 0, 0}, {1096, 112, 832, 4112, 0, 0, 0}, {4403, 5973, 21845, 0, 0, 0, 0}, {90, 816, 1280, 4352, 0, 0, 0}, {4883, 1092, 0, 0, 0, 0, 0}, {5228, 5968, 20560, 0, 0, 0, 0}, {4445, 4471, 4949, 5397, 0, 0, 0}, {286, 308, 790, 324, 1280, 4096, 0}, {6047, 7007, 9312, 17408, 0, 0, 0}, {6048, 3072, 13056, 17408, 0, 0, 0}, {267, 289, 771, 337, 1028, 4369, 0}, {4360, 4386, 4864, 5376, 0, 0, 0}, {5228, 771, 20560, 0, 0, 0, 0}, {4972, 8224, 1028, 0, 0, 0, 0}, {4367, 4608, 4437, 5120, 0, 0, 0}, {1548, 4454, 21760, 0, 0, 0, 0}, {1032, 4128, 1799, 4176, 0, 0, 0}, {1032, 4896, 16384, 0, 0, 0, 0}, {1295, 4403, 771, 1365, 0, 0, 0}, {170, 1536, 4352, 0, 0, 0, 0}, {112, 771, 1028, 4112, 0, 0, 0}, {3084, 5984, 0, 0, 0, 0, 0}, {263, 1365, 4096, 0, 0, 0, 0}, {520, 546, 4420, 1028, 0, 0, 0}, {783, 12288, 5200, 0, 0, 0, 0}, {4144, 4864, 4160, 5120, 0, 0, 0}, {1644, 4369, 0, 0, 0, 0, 0}, {1290, 4386, 4626, 1360, 0, 0, 0}, {1100, 4915, 16384, 0, 0, 0, 0}, {828, 12288, 5188, 0, 0, 0, 0}, {522, 544, 4437, 5397, 0, 0, 0}, {284, 310, 790, 326, 1046, 4374, 0}, {6071, 7031, 9288, 21311, 0, 0, 0}, {5960, 816, 20480, 0, 0, 0, 0}, {4377, 4403, 4883, 5461, 0, 0, 0}, {1290, 1792, 272, 0, 0, 0, 0}, {6007, 17476, 0, 0, 0, 0, 0}, {1100, 112, 1792, 4096, 0, 0, 0}, {4471, 5911, 21845, 0, 0, 0, 0}, {4382, 4642, 4420, 5140, 0, 0, 0}, {5951, 8192, 1088, 0, 0, 0, 0}, {6080, 6912, 13056, 17408, 0, 0, 0}, {283, 305, 514, 321, 1285, 4369, 0}, {4360, 4386, 514, 5440, 0, 0, 0}, {5903, 819, 20480, 0, 0, 0, 0}, {5896, 8192, 1092, 0, 0, 0, 0}, {4367, 4656, 4437, 1285, 0, 0, 0}, {5898, 4454, 21760, 0, 0, 0, 0}, {5128, 4144, 1799, 4160, 0, 0, 0}, {1096, 4864, 16448, 0, 0, 0, 0}, {90, 4403, 4608, 1285, 0, 0, 0}, {2570, 1632, 4352, 0, 0, 0, 0}, {1076, 1799, 1092, 4096, 0, 0, 0}, {17612, 5888, 0, 0, 0, 0, 0}, {279, 1285, 4112, 0, 0, 0, 0}, {42, 514, 4420, 5376, 0, 0, 0}, {831, 12336, 5120, 0, 0, 0, 0}, {4128, 768, 4176, 1024, 0, 0, 0}, {1548, 4369, 0, 0, 0, 0, 0}, {90, 4386, 768, 1280, 0, 0, 0}, {1036, 4883, 16448, 0, 0, 0, 0}, {780, 12336, 5140, 0, 0, 0, 0}, {42, 512, 4437, 1024, 0, 0, 0}, {268, 294, 512, 342, 1280, 4374, 0}, {6103, 3072, 9256, 21343, 0, 0, 0}, {5160, 768, 20560, 0, 0, 0, 0}, {4377, 4403, 512, 5397, 0, 0, 0}, {90, 112, 256, 0, 0, 0, 0}, {5911, 17476, 0, 0, 0, 0, 0}, {1036, 112, 1792, 4112, 0, 0, 0}, {4471, 1536, 21845, 0, 0, 0, 0}, {4382, 4626, 4420, 1280, 0, 0, 0}, {4959, 8224, 1024, 0, 0, 0, 0}, {2048, 4896, 1088, 0, 0, 0, 0}, {1295, 819, 1365, 4369, 0, 0, 0}, {5960, 4386, 21760, 0, 0, 0, 0}, {5148, 4128, 4883, 4176, 0, 0, 0}, {5928, 17476, 0, 0, 0, 0, 0}, {4144, 512, 277, 0, 0, 0, 0}, {4428, 4454, 512, 5376, 0, 0, 0}, {5160, 5911, 20560, 0, 0, 0, 0}, {6120, 6952, 13056, 21344, 0, 0, 0}, {281, 307, 512, 323, 1046, 4096, 0}, {42, 512, 1088, 4352, 0, 0, 0}, {819, 5140, 0, 0, 0, 0, 0}, {1100, 5920, 16384, 0, 0, 0, 0}, {1295, 5154, 4626, 1365, 0, 0, 0}, {2560, 5922, 4420, 0, 0, 0, 0}, {1807, 1072, 1088, 4112, 0, 0, 0}, {240, 768, 5120, 0, 0, 0, 0}, {42, 514, 1028, 4369, 0, 0, 0}, {258, 4176, 5376, 0, 0, 0, 0}, {5951, 13107, 0, 0, 0, 0, 0}, {780, 4144, 4160, 1028, 0, 0, 0}, {1546, 8704, 4437, 0, 0, 0, 0}, {1290, 5174, 1542, 1360, 0, 0, 0}, {1032, 6007, 16384, 0, 0, 0, 0}, {1032, 112, 768, 4096, 0, 0, 0}, {4403, 1542, 21845, 0, 0, 0, 0}, {1290, 768, 1360, 4352, 0, 0, 0}, {4915, 1028, 0, 0, 0, 0, 0}, {780, 5936, 20480, 0, 0, 0, 0}, {1032, 1058, 514, 5461, 0, 0, 0}, {270, 292, 514, 340, 1028, 4112, 0}, {6143, 3072, 9216, 17408, 0, 0, 0}, {3072, 4096, 0, 0, 0, 0, 0}, {34, 85, 257, 0, 0, 0, 0}, {1032, 34, 514, 4098, 0, 0, 0}, {4144, 771, 20495, 0, 0, 0, 0}, {8200, 4160, 1028, 0, 0, 0, 0}, {783, 85, 1285, 4101, 0, 0, 0}, {4192, 1542, 20490, 0, 0, 0, 0}, {1032, 119, 1799, 4103, 0, 0, 0}, {4104, 12288, 5120, 0, 0, 0, 0}, {4154, 771, 85, 1285, 0, 0, 0}, {4106, 5632, 16384, 0, 0, 0, 0}, {4175, 119, 771, 1028, 0, 0, 0}, {4288, 3084, 8192, 20480, 0, 0, 0}, {269, 34, 514, 85, 1285, 4352, 0}, {4170, 34, 514, 1028, 0, 0, 0}, {4111, 4864, 16384, 0, 0, 0, 0}, {3264, 4112, 0, 0, 0, 0, 0}, {512, 1280, 273, 0, 0, 0, 0}, {1096, 34, 512, 4114, 0, 0, 0}, {4128, 4883, 20575, 0, 0, 0, 0}, {8232, 4176, 5140, 0, 0, 0, 0}, {831, 85, 1280, 4117, 0, 0, 0}, {4208, 5654, 20570, 0, 0, 0, 0}, {1096, 119, 1792, 4119, 0, 0, 0}, {4120, 12336, 5200, 0, 0, 0, 0}, {4889, 819, 85, 1280, 0, 0, 0}, {4122, 5744, 16448, 0, 0, 0, 0}, {5147, 1075, 1792, 1092, 0, 0, 0}, {4304, 7196, 8224, 20560, 0, 0, 0}, {285, 34, 512, 85, 1280, 4352, 0}, {5150, 34, 512, 1092, 0, 0, 0}, {4127, 4896, 16448, 0, 0, 0, 0}, {3072, 4128, 0, 0, 0, 0, 0}, {259, 85, 4369, 0, 0, 0, 0}, {34, 512, 1024, 4096, 0, 0, 0}, {255, 771, 4112, 0, 0, 0, 0}, {1036, 4192, 17476, 0, 0, 0, 0}, {1295, 4133, 1536, 85, 0, 0, 0}, {1548, 9766, 4160, 0, 0, 0, 0}, {783, 4135, 4176, 1024, 0, 0, 0}, {4136, 12288, 1024, 0, 0, 0, 0}, {4122, 771, 85, 5397, 0, 0, 0}, {4138, 1536, 20480, 0, 0, 0, 0}, {4120, 119, 771, 5140, 0, 0, 0}, {4320, 3084, 8224, 16448, 0, 0, 0}, {271, 34, 512, 85, 1024, 4352, 0}, {1036, 34, 512, 5188, 0, 0, 0}, {783, 4896, 20560, 0, 0, 0, 0}, {19456, 4144, 0, 0, 0, 0, 0}, {275, 85, 4369, 0, 0, 0, 0}, {34, 514, 1088, 4112, 0, 0, 0}, {3840, 819, 4096, 0, 0, 0, 0}, {1100, 4208, 17476, 0, 0, 0, 0}, {1290, 4149, 5632, 85, 0, 0, 0}, {5692, 13878, 4176, 0, 0, 0, 0}, {4872, 4151, 4160, 5120, 0, 0, 0}, {4152, 12336, 1088, 0, 0, 0, 0}, {4106, 819, 85, 5376, 0, 0, 0}, {5722, 1632, 20560, 0, 0, 0, 0}, {4104, 5171, 5888, 5188, 0, 0, 0}, {4336, 7228, 8192, 16384, 0, 0, 0}, {287, 34, 514, 85, 1045, 4352, 0}, {4184, 34, 514, 5140, 0, 0, 0}, {4159, 4864, 20480, 0, 0, 0, 0}, {15360, 4160, 0, 0, 0, 0, 0}, {34, 276, 4369, 0, 0, 0, 0}, {5130, 34, 5632, 4162, 0, 0, 0}, {4940, 4208, 17219, 0, 0, 0, 0}, {2048, 1092, 4096, 0, 0, 0, 0}, {816, 85, 1285, 4112, 0, 0, 0}, {5708, 4128, 17990, 0, 0, 0, 0}, {5135, 4144, 4864, 4167, 0, 0, 0}, {4168, 8192, 5120, 0, 0, 0, 0}, {4143, 4883, 85, 1285, 0, 0, 0}, {4170, 1632, 16448, 0, 0, 0, 0}, {4111, 1075, 5888, 1092, 0, 0, 0}, {4224, 7244, 12288, 20480, 0, 0, 0}, {280, 34, 786, 85, 1285, 4352, 0}, {4106, 34, 4608, 1092, 0, 0, 0}, {4175, 816, 16448, 0, 0, 0, 0}, {3072, 4176, 0, 0, 0, 0, 0}, {34, 260, 4369, 0, 0, 0, 0}, {1032, 34, 1536, 4178, 0, 0, 0}, {780, 4192, 21331, 0, 0, 0, 0}, {136, 1028, 4112, 0, 0, 0, 0}, {768, 85, 1280, 4096, 0, 0, 0}, {1548, 4144, 22102, 0, 0, 0, 0}, {1032, 4128, 768, 4183, 0, 0, 0}, {1032, 8224, 5200, 0, 0, 0, 0}, {780, 4915, 85, 1280, 0, 0, 0}, {4186, 1536, 16384, 0, 0, 0, 0}, {4127, 119, 4883, 1028, 0, 0, 0}, {4240, 3084, 12336, 20560, 0, 0, 0}, {264, 34, 768, 85, 1280, 4352, 0}, {4122, 34, 4626, 1028, 0, 0, 0}, {4191, 768, 16384, 0, 0, 0, 0}, {19456, 4192, 0, 0, 0, 0, 0}, {278, 85, 4369, 0, 0, 0, 0}, {520, 34, 4160, 5120, 0, 0, 0}, {828, 13107, 4176, 0, 0, 0, 0}, {1100, 4128, 17476, 0, 0, 0, 0}, {1295, 4144, 4864, 85, 0, 0, 0}, {2560, 1638, 4096, 0, 0, 0, 0}, {1079, 1799, 1088, 4112, 0, 0, 0}, {5160, 8224, 1088, 0, 0, 0, 0}, {4111, 4915, 85, 5376, 0, 0, 0}, {4202, 5632, 20480, 0, 0, 0, 0}, {4184, 119, 4883, 5140, 0, 0, 0}, {4256, 7276, 12288, 16384, 0, 0, 0}, {282, 34, 786, 85, 1045, 4352, 0}, {4104, 34, 4608, 5188, 0, 0, 0}, {4959, 816, 20560, 0, 0, 0, 0}, {3072, 4208, 0, 0, 0, 0, 0}, {262, 85, 4369, 0, 0, 0, 0}, {522, 34, 4176, 1024, 0, 0, 0}, {780, 13107, 4160, 0, 0, 0, 0}, {1036, 4144, 17476, 0, 0, 0, 0}, {1290, 4128, 768, 85, 0, 0, 0}, {170, 1542, 4112, 0, 0, 0, 0}, {119, 768, 1024, 4096, 0, 0, 0}, {4216, 8192, 1024, 0, 0, 0, 0}, {4127, 4883, 85, 5397, 0, 0, 0}, {1546, 5744, 20560, 0, 0, 0, 0}, {1036, 5171, 1792, 5188, 0, 0, 0}, {4272, 3084, 12336, 16448, 0, 0, 0}, {266, 34, 768, 85, 1024, 4352, 0}, {4120, 34, 4626, 5140, 0, 0, 0}, {4223, 768, 20480, 0, 0, 0, 0}, {4224, 3072, 12288, 20480, 0, 0, 0}, {265, 34, 771, 85, 1285, 4369, 0}, {4106, 34, 4608, 1024, 0, 0, 0}, {4175, 771, 16448, 0, 0, 0, 0}, {1036, 8192, 5188, 0, 0, 0, 0}, {783, 4896, 85, 1285, 0, 0, 0}, {4170, 1542, 16448, 0, 0, 0, 0}, {4111, 119, 4864, 1024, 0, 0, 0}, {136, 1024, 4096, 0, 0, 0, 0}, {771, 85, 1285, 4112, 0, 0, 0}, {1546, 4128, 22016, 0, 0, 0, 0}, {1036, 4144, 771, 4167, 0, 0, 0}, {3084, 4160, 0, 0, 0, 0, 0}, {34, 261, 4352, 0, 0, 0, 0}, {1036, 34, 1542, 4162, 0, 0, 0}, {783, 4208, 21248, 0, 0, 0, 0}, {4240, 7248, 12336, 20560, 0, 0, 0}, {281, 34, 785, 85, 1280, 4369, 0}, {4122, 34, 4626, 1088, 0, 0, 0}, {4191, 819, 16384, 0, 0, 0, 0}, {4184, 8224, 5140, 0, 0, 0, 0}, {4159, 4864, 85, 1280, 0, 0, 0}, {4186, 1638, 16384, 0, 0, 0, 0}, {4127, 1079, 5911, 1088, 0, 0, 0}, {2056, 1088, 4112, 0, 0, 0, 0}, {819, 85, 1280, 4096, 0, 0, 0}, {5722, 4144, 17920, 0, 0, 0, 0}, {5147, 4128, 4883, 4183, 0, 0, 0}, {15420, 4176, 0, 0, 0, 0, 0}, {34, 277, 4352, 0, 0, 0, 0}, {5150, 34, 5654, 4178, 0, 0, 0}, {4959, 4192, 17152, 0, 0, 0, 0}, {4256, 3072, 12288, 16384, 0, 0, 0}, {267, 34, 771, 85, 1028, 4369, 0}, {4104, 34, 4608, 5120, 0, 0, 0}, {4207, 771, 20560, 0, 0, 0, 0}, {4200, 8224, 1028, 0, 0, 0, 0}, {4111, 4864, 85, 5376, 0, 0, 0}, {1548, 5734, 20480, 0, 0, 0, 0}, {1032, 5159, 1799, 5200, 0, 0, 0}, {1032, 4128, 17408, 0, 0, 0, 0}, {1295, 4144, 771, 85, 0, 0, 0}, {170, 1536, 4096, 0, 0, 0, 0}, {119, 771, 1028, 4112, 0, 0, 0}, {3084, 4192, 0, 0, 0, 0, 0}, {263, 85, 4352, 0, 0, 0, 0}, {520, 34, 4160, 1028, 0, 0, 0}, {783, 13056, 4176, 0, 0, 0, 0}, {4272, 7280, 12336, 16448, 0, 0, 0}, {283, 34, 785, 85, 1041, 4369, 0}, {4120, 34, 4626, 5200, 0, 0, 0}, {4940, 819, 20480, 0, 0, 0, 0}, {5180, 8192, 1092, 0, 0, 0, 0}, {4127, 4896, 85, 5397, 0, 0, 0}, {4218, 5654, 20560, 0, 0, 0, 0}, {4168, 119, 4864, 5120, 0, 0, 0}, {1096, 4144, 17408, 0, 0, 0, 0}, {1290, 4128, 4883, 85, 0, 0, 0}, {2570, 1632, 4112, 0, 0, 0, 0}, {1075, 1792, 1092, 4096, 0, 0, 0}, {19532, 4208, 0, 0, 0, 0, 0}, {279, 85, 4352, 0, 0, 0, 0}, {522, 34, 4176, 5140, 0, 0, 0}, {831, 13056, 4160, 0, 0, 0, 0}, {4288, 7168, 8192, 20480, 0, 0, 0}, {284, 34, 514, 85, 1285, 4369, 0}, {5130, 34, 514, 1088, 0, 0, 0}, {4111, 4915, 16384, 0, 0, 0, 0}, {4104, 12288, 5188, 0, 0, 0, 0}, {4874, 816, 85, 1285, 0, 0, 0}, {4106, 5734, 16384, 0, 0, 0, 0}, {5135, 1079, 1799, 1088, 0, 0, 0}, {8200, 4160, 5120, 0, 0, 0, 0}, {828, 85, 1285, 4101, 0, 0, 0}, {4192, 5632, 20490, 0, 0, 0, 0}, {1100, 119, 1799, 4103, 0, 0, 0}, {3276, 4096, 0, 0, 0, 0, 0}, {514, 1285, 272, 0, 0, 0, 0}, {1100, 34, 514, 4098, 0, 0, 0}, {4144, 4864, 20495, 0, 0, 0, 0}, {4304, 3072, 8224, 20560, 0, 0, 0}, {268, 34, 512, 85, 1280, 4369, 0}, {4186, 34, 512, 1024, 0, 0, 0}, {4127, 4883, 16448, 0, 0, 0, 0}, {4120, 12336, 5140, 0, 0, 0, 0}, {4138, 768, 85, 1280, 0, 0, 0}, {4122, 5654, 16448, 0, 0, 0, 0}, {4191, 119, 768, 1024, 0, 0, 0}, {8232, 4176, 1024, 0, 0, 0, 0}, {780, 85, 1280, 4117, 0, 0, 0}, {4208, 1536, 20570, 0, 0, 0, 0}, {1036, 119, 1792, 4119, 0, 0, 0}, {3084, 4112, 0, 0, 0, 0, 0}, {34, 85, 256, 0, 0, 0, 0}, {1036, 34, 512, 4114, 0, 0, 0}, {4128, 768, 20575, 0, 0, 0, 0}, {4320, 7200, 8224, 16448, 0, 0, 0}, {286, 34, 512, 85, 1041, 4369, 0}, {4168, 34, 512, 5120, 0, 0, 0}, {4143, 4883, 20560, 0, 0, 0, 0}, {4136, 12288, 1092, 0, 0, 0, 0}, {4122, 816, 85, 5397, 0, 0, 0}, {5708, 1638, 20480, 0, 0, 0, 0}, {4120, 5159, 5911, 5200, 0, 0, 0}, {1096, 4192, 17408, 0, 0, 0, 0}, {1295, 4133, 5654, 85, 0, 0, 0}, {5674, 13824, 4160, 0, 0, 0, 0}, {4891, 4135, 4176, 5140, 0, 0, 0}, {19532, 4128, 0, 0, 0, 0, 0}, {274, 85, 4352, 0, 0, 0, 0}, {34, 512, 1092, 4096, 0, 0, 0}, {3855, 816, 4112, 0, 0, 0, 0}, {4336, 3072, 8192, 16384, 0, 0, 0}, {270, 34, 514, 85, 1028, 4369, 0}, {1032, 34, 514, 5200, 0, 0, 0}, {780, 4915, 20480, 0, 0, 0, 0}, {4152, 12336, 1028, 0, 0, 0, 0}, {4106, 768, 85, 5376, 0, 0, 0}, {4154, 1542, 20560, 0, 0, 0, 0}, {4104, 119, 768, 5120, 0, 0, 0}, {1032, 4208, 17408, 0, 0, 0, 0}, {1290, 4149, 1542, 85, 0, 0, 0}, {1546, 9728, 4176, 0, 0, 0, 0}, {780, 4151, 4160, 1028, 0, 0, 0}, {3084, 4144, 0, 0, 0, 0, 0}, {258, 85, 4352, 0, 0, 0, 0}, {34, 514, 1028, 4112, 0, 0, 0}, {255, 768, 4096, 0, 0, 0, 0}, {8704, 21760, 0, 0, 0, 0, 0}, {12, 16, 257, 0, 0, 0, 0}, {32, 514, 21770, 0, 0, 0, 0}, {12, 48, 771, 4355, 0, 0, 0}, {12, 64, 1028, 4356, 0, 0, 0}, {8714, 80, 1285, 0, 0, 0, 0}, {12, 96, 1542, 4358, 0, 0, 0}, {112, 1799, 21775, 0, 0, 0, 0}, {128, 2056, 8712, 21760, 0, 0, 0}, {12, 48, 771, 80, 1285, 4357, 0}, {160, 2570, 8714, 21770, 0, 0, 0}, {12, 48, 771, 64, 1028, 4359, 0}, {12, 4352, 0, 0, 0, 0, 0}, {32, 514, 80, 1285, 0, 0, 0}, {12, 32, 514, 64, 1028, 4354, 0}, {240, 3855, 8704, 21775, 0, 0, 0}, {512, 1280, 16, 0, 0, 0, 0}, {204, 4369, 0, 0, 0, 0, 0}, {48, 4626, 21850, 0, 0, 0, 0}, {76, 32, 512, 4371, 0, 0, 0}, {60, 80, 1280, 4372, 0, 0, 0}, {8746, 64, 5397, 0, 0, 0, 0}, {76, 112, 1792, 4374, 0, 0, 0}, {96, 5911, 21855, 0, 0, 0, 0}, {4632, 48, 80, 1280, 0, 0, 0}, {4377, 13107, 4437, 0, 0, 0, 0}, {5402, 48, 1792, 64, 0, 0, 0}, {4379, 4471, 17476, 0, 0, 0, 0}, {28, 32, 512, 80, 1280, 4352, 0}, {192, 7453, 8738, 21845, 0, 0, 0}, {4382, 4386, 17476, 0, 0, 0, 0}, {5407, 32, 512, 64, 0, 0, 0}, {32, 512, 21760, 0, 0, 0, 0}, {12, 48, 771, 4369, 0, 0, 0}, {21930, 8738, 0, 0, 0, 0, 0}, {259, 1024, 16, 0, 0, 0, 0}, {12, 4388, 1536, 4420, 0, 0, 0}, {1807, 112, 21845, 0, 0, 0, 0}, {12, 4390, 64, 1024, 0, 0, 0}, {1295, 10023, 80, 0, 0, 0, 0}, {160, 2560, 8744, 21760, 0, 0, 0}, {12, 48, 771, 64, 1024, 4373, 0}, {128, 2048, 8746, 21802, 0, 0, 0}, {12, 48, 771, 80, 1283, 4375, 0}, {12, 32, 512, 64, 1024, 4352, 0}, {240, 3855, 8738, 21845, 0, 0, 0}, {12, 4386, 17476, 0, 0, 0, 0}, {1295, 32, 512, 80, 0, 0, 0}, {48, 4608, 21760, 0, 0, 0, 0}, {76, 32, 514, 4369, 0, 0, 0}, {1290, 514, 16, 0, 0, 0, 0}, {4403, 17408, 0, 0, 0, 0, 0}, {4360, 4404, 5632, 4420, 0, 0, 0}, {5983, 96, 21845, 0, 0, 0, 0}, {4362, 4406, 80, 5120, 0, 0, 0}, {5439, 14135, 64, 0, 0, 0, 0}, {4616, 48, 64, 5376, 0, 0, 0}, {4409, 13107, 4437, 0, 0, 0, 0}, {1290, 48, 5888, 80, 0, 0, 0}, {76, 4471, 17476, 0, 0, 0, 0}, {60, 4352, 0, 0, 0, 0, 0}, {32, 514, 64, 5397, 0, 0, 0}, {28, 32, 514, 80, 1302, 4354, 0}, {192, 7487, 8704, 21823, 0, 0, 0}, {8704, 64, 5376, 0, 0, 0, 0}, {60, 80, 1285, 4369, 0, 0, 0}, {5960, 96, 16962, 0, 0, 0, 0}, {4367, 4403, 5632, 4419, 0, 0, 0}, {13056, 4420, 0, 0, 0, 0, 0}, {522, 1285, 16, 0, 0, 0, 0}, {4362, 32, 4864, 4422, 0, 0, 0}, {4680, 48, 18247, 0, 0, 0, 0}, {192, 7496, 8776, 21760, 0, 0, 0}, {28, 32, 534, 80, 1285, 4357, 0}, {5386, 32, 5888, 64, 0, 0, 0}, {4427, 4471, 17476, 0, 0, 0, 0}, {76, 4352, 0, 0, 0, 0, 0}, {48, 4626, 80, 1285, 0, 0, 0}, {4430, 4386, 17476, 0, 0, 0, 0}, {5391, 48, 4608, 64, 0, 0, 0}, {8704, 80, 1280, 0, 0, 0, 0}, {12, 64, 1028, 4369, 0, 0, 0}, {1800, 112, 21074, 0, 0, 0, 0}, {12, 4403, 1536, 4435, 0, 0, 0}, {768, 260, 16, 0, 0, 0, 0}, {8874, 21845, 0, 0, 0, 0, 0}, {12, 48, 768, 4438, 0, 0, 0}, {520, 32, 22359, 0, 0, 0, 0}, {520, 32, 80, 1280, 0, 0, 0}, {12, 13107, 4437, 0, 0, 0, 0}, {240, 3840, 8794, 21850, 0, 0, 0}, {12, 32, 516, 64, 1028, 4375, 0}, {12, 48, 768, 80, 1280, 4352, 0}, {128, 2056, 8738, 21845, 0, 0, 0}, {12, 48, 768, 64, 1028, 4370, 0}, {160, 2560, 8704, 21855, 0, 0, 0}, {96, 5888, 21760, 0, 0, 0, 0}, {76, 112, 1799, 4369, 0, 0, 0}, {5418, 8738, 64, 0, 0, 0, 0}, {4367, 4403, 80, 5120, 0, 0, 0}, {4360, 32, 4864, 4420, 0, 0, 0}, {4698, 48, 21845, 0, 0, 0, 0}, {4454, 17408, 0, 0, 0, 0, 0}, {1295, 1799, 16, 0, 0, 0, 0}, {520, 32, 64, 5376, 0, 0, 0}, {60, 13107, 4437, 0, 0, 0, 0}, {192, 7530, 8810, 21866, 0, 0, 0}, {28, 32, 532, 80, 1299, 4359, 0}, {108, 4352, 0, 0, 0, 0, 0}, {48, 4626, 64, 5397, 0, 0, 0}, {76, 4386, 17476, 0, 0, 0, 0}, {1295, 48, 4608, 80, 0, 0, 0}, {112, 1792, 21760, 0, 0, 0, 0}, {12, 96, 1542, 4369, 0, 0, 0}, {1290, 8738, 80, 0, 0, 0, 0}, {12, 4403, 64, 1024, 0, 0, 0}, {12, 48, 768, 4420, 0, 0, 0}, {522, 32, 21845, 0, 0, 0, 0}, {262, 1024, 16, 0, 0, 0, 0}, {22015, 30583, 0, 0, 0, 0, 0}, {240, 3840, 8824, 21760, 0, 0, 0}, {12, 32, 518, 64, 1024, 4373, 0}, {1290, 32, 1792, 80, 0, 0, 0}, {12, 4471, 17476, 0, 0, 0, 0}, {12, 48, 768, 64, 1024, 4352, 0}, {160, 2570, 8738, 21845, 0, 0, 0}, {12, 48, 768, 80, 1286, 4370, 0}, {128, 2048, 8704, 21887, 0, 0, 0}, {128, 2048, 8704, 21760, 0, 0, 0}, {12, 48, 771, 80, 1285, 4369, 0}, {160, 2570, 8738, 21770, 0, 0, 0}, {12, 48, 771, 64, 1024, 4355, 0}, {12, 13056, 4420, 0, 0, 0, 0}, {522, 32, 80, 1285, 0, 0, 0}, {12, 32, 518, 64, 1024, 4358, 0}, {240, 3855, 8824, 21775, 0, 0, 0}, {8840, 21760, 0, 0, 0, 0, 0}, {771, 261, 16, 0, 0, 0, 0}, {522, 32, 22272, 0, 0, 0, 0}, {12, 48, 771, 4423, 0, 0, 0}, {12, 64, 1024, 4352, 0, 0, 0}, {8738, 80, 1285, 0, 0, 0, 0}, {12, 4386, 1542, 4418, 0, 0, 0}, {1807, 112, 20992, 0, 0, 0, 0}, {48, 4608, 80, 1280, 0, 0, 0}, {76, 4369, 0, 0, 0, 0, 0}, {5402, 48, 4626, 64, 0, 0, 0}, {4447, 4403, 17408, 0, 0, 0, 0}, {28, 32, 532, 80, 1280, 4372, 0}, {192, 7509, 8810, 21845, 0, 0, 0}, {4442, 4454, 17408, 0, 0, 0, 0}, {5407, 32, 5911, 64, 0, 0, 0}, {520, 1280, 16, 0, 0, 0, 0}, {13107, 4437, 0, 0, 0, 0, 0}, {4698, 48, 18176, 0, 0, 0, 0}, {4379, 32, 4883, 4439, 0, 0, 0}, {60, 80, 1280, 4352, 0, 0, 0}, {8738, 64, 5397, 0, 0, 0, 0}, {4382, 4386, 5654, 4434, 0, 0, 0}, {5983, 96, 16896, 0, 0, 0, 0}, {160, 2560, 8704, 21760, 0, 0, 0}, {12, 48, 771, 64, 1028, 4369, 0}, {128, 2056, 8738, 21802, 0, 0, 0}, {12, 48, 771, 80, 1283, 4355, 0}, {12, 32, 516, 64, 1028, 4356, 0}, {240, 3855, 8794, 21845, 0, 0, 0}, {12, 4454, 17408, 0, 0, 0, 0}, {1295, 32, 1799, 80, 0, 0, 0}, {520, 32, 21760, 0, 0, 0, 0}, {12, 48, 771, 4437, 0, 0, 0}, {21930, 30464, 0, 0, 0, 0, 0}, {263, 1028, 16, 0, 0, 0, 0}, {12, 96, 1536, 4352, 0, 0, 0}, {112, 1799, 21845, 0, 0, 0, 0}, {12, 4386, 64, 1028, 0, 0, 0}, {1295, 8704, 80, 0, 0, 0, 0}, {48, 4608, 64, 5376, 0, 0, 0}, {108, 4369, 0, 0, 0, 0, 0}, {1290, 48, 4626, 80, 0, 0, 0}, {76, 4403, 17408, 0, 0, 0, 0}, {60, 13056, 4420, 0, 0, 0, 0}, {522, 32, 64, 5397, 0, 0, 0}, {28, 32, 534, 80, 1302, 4374, 0}, {192, 7543, 8776, 21823, 0, 0, 0}, {4680, 48, 21760, 0, 0, 0, 0}, {4377, 32, 4883, 4437, 0, 0, 0}, {1290, 1792, 16, 0, 0, 0, 0}, {4471, 17476, 0, 0, 0, 0, 0}, {76, 112, 1792, 4352, 0, 0, 0}, {96, 5911, 21845, 0, 0, 0, 0}, {4382, 4386, 80, 5140, 0, 0, 0}, {5439, 8704, 64, 0, 0, 0, 0}, {192, 7424, 8704, 21760, 0, 0, 0}, {28, 32, 514, 80, 1285, 4369, 0}, {5386, 32, 514, 64, 0, 0, 0}, {4367, 4403, 17408, 0, 0, 0, 0}, {4360, 13056, 4420, 0, 0, 0, 0}, {4618, 48, 80, 1285, 0, 0, 0}, {4362, 4454, 17408, 0, 0, 0, 0}, {5391, 48, 1799, 64, 0, 0, 0}, {8712, 64, 5376, 0, 0, 0, 0}, {60, 80, 1285, 4357, 0, 0, 0}, {96, 5888, 21770, 0, 0, 0, 0}, {76, 112, 1799, 4359, 0, 0, 0}, {204, 4352, 0, 0, 0, 0, 0}, {514, 1285, 16, 0, 0, 0, 0}, {76, 32, 514, 4354, 0, 0, 0}, {48, 4608, 21775, 0, 0, 0, 0}, {32, 512, 80, 1280, 0, 0, 0}, {12, 4369, 0, 0, 0, 0, 0}, {240, 3840, 8738, 21850, 0, 0, 0}, {12, 32, 512, 64, 1024, 4371, 0}, {12, 48, 768, 80, 1280, 4372, 0}, {128, 2048, 8746, 21845, 0, 0, 0}, {12, 48, 768, 64, 1024, 4374, 0}, {160, 2560, 8744, 21855, 0, 0, 0}, {8744, 80, 1280, 0, 0, 0, 0}, {12, 64, 1024, 4373, 0, 0, 0}, {112, 1792, 21850, 0, 0, 0, 0}, {12, 96, 1536, 4375, 0, 0, 0}, {12, 16, 256, 0, 0, 0, 0}, {8738, 21845, 0, 0, 0, 0, 0}, {12, 48, 768, 4370, 0, 0, 0}, {32, 512, 21855, 0, 0, 0, 0}, {32, 512, 64, 5376, 0, 0, 0}, {60, 4369, 0, 0, 0, 0, 0}, {192, 7458, 8738, 21866, 0, 0, 0}, {28, 32, 512, 80, 1299, 4371, 0}, {4392, 13056, 4420, 0, 0, 0, 0}, {4634, 48, 64, 5397, 0, 0, 0}, {76, 4454, 17408, 0, 0, 0, 0}, {1295, 48, 5911, 80, 0, 0, 0}, {5960, 96, 21760, 0, 0, 0, 0}, {4377, 4389, 5654, 4437, 0, 0, 0}, {5418, 14080, 64, 0, 0, 0, 0}, {4379, 4391, 80, 5140, 0, 0, 0}, {76, 32, 512, 4352, 0, 0, 0}, {48, 4626, 21845, 0, 0, 0, 0}, {4386, 17476, 0, 0, 0, 0, 0}, {1295, 512, 16, 0, 0, 0, 0}, {240, 3840, 8704, 21760, 0, 0, 0}, {12, 32, 514, 64, 1028, 4369, 0}, {1290, 32, 514, 80, 0, 0, 0}, {12, 4403, 17408, 0, 0, 0, 0}, {12, 48, 768, 64, 1028, 4356, 0}, {160, 2570, 8714, 21845, 0, 0, 0}, {12, 48, 768, 80, 1286, 4358, 0}, {128, 2056, 8712, 21887, 0, 0, 0}, {1800, 112, 21760, 0, 0, 0, 0}, {12, 4405, 1542, 4437, 0, 0, 0}, {1290, 9984, 80, 0, 0, 0, 0}, {12, 4407, 64, 1028, 0, 0, 0}, {12, 48, 768, 4352, 0, 0, 0}, {32, 514, 21845, 0, 0, 0, 0}, {258, 1028, 16, 0, 0, 0, 0}, {22015, 8704, 0, 0, 0, 0, 0}, {4608, 17408, 0, 0, 0, 0, 0}, {95, 32, 257, 0, 0, 0, 0}, {1032, 32, 514, 4096, 0, 0, 0}, {4403, 771, 21760, 0, 0, 0, 0}, {4680, 12352, 1028, 0, 0, 0, 0}, {4362, 4613, 4437, 1285, 0, 0, 0}, {5228, 1542, 20480, 0, 0, 0, 0}, {4360, 4471, 4615, 5376, 0, 0, 0}, {1032, 5632, 16384, 0, 0, 0, 0}, {95, 4454, 771, 1285, 0, 0, 0}, {4618, 12288, 5120, 0, 0, 0, 0}, {4411, 771, 4420, 1028, 0, 0, 0}, {4800, 3084, 8704, 22028, 0, 0, 0}, {269, 32, 514, 338, 1285, 4354, 0}, {32, 514, 4160, 1028, 0, 0, 0}, {783, 4352, 0, 0, 0, 0, 0}, {32, 512, 1088, 4112, 0, 0, 0}, {3840, 819, 4369, 0, 0, 0, 0}, {17544, 4626, 0, 0, 0, 0, 0}, {275, 1280, 4096, 0, 0, 0, 0}, {4728, 12368, 5140, 0, 0, 0, 0}, {4394, 4629, 4437, 5397, 0, 0, 0}, {1100, 5654, 16384, 0, 0, 0, 0}, {95, 4471, 4631, 1280, 0, 0, 0}, {4632, 1632, 20560, 0, 0, 0, 0}, {4377, 1075, 1792, 5461, 0, 0, 0}, {4634, 12336, 1088, 0, 0, 0, 0}, {4379, 819, 4420, 1280, 0, 0, 0}, {5148, 32, 512, 4176, 0, 0, 0}, {4637, 4386, 21845, 0, 0, 0, 0}, {4818, 7710, 8738, 17476, 0, 0, 0}, {287, 32, 512, 320, 1280, 4352, 0}, {32, 512, 1024, 4096, 0, 0, 0}, {255, 771, 4369, 0, 0, 0, 0}, {3072, 4642, 0, 0, 0, 0, 0}, {259, 1360, 4112, 0, 0, 0, 0}, {1548, 9252, 5188, 0, 0, 0, 0}, {783, 4645, 4437, 1024, 0, 0, 0}, {1036, 5734, 16448, 0, 0, 0, 0}, {1295, 5159, 1536, 1360, 0, 0, 0}, {5160, 1536, 20480, 0, 0, 0, 0}, {4377, 4454, 771, 5397, 0, 0, 0}, {4650, 12288, 1024, 0, 0, 0, 0}, {4379, 771, 4420, 5140, 0, 0, 0}, {1036, 32, 512, 4160, 0, 0, 0}, {783, 4386, 21845, 0, 0, 0, 0}, {4834, 3084, 8738, 17476, 0, 0, 0}, {271, 32, 512, 336, 1024, 4352, 0}, {4656, 17408, 0, 0, 0, 0, 0}, {1290, 514, 273, 0, 0, 0, 0}, {1096, 32, 514, 4112, 0, 0, 0}, {4403, 4608, 21760, 0, 0, 0, 0}, {5692, 13364, 1092, 0, 0, 0, 0}, {4362, 4661, 4437, 5120, 0, 0, 0}, {4698, 1638, 20560, 0, 0, 0, 0}, {4360, 1079, 5632, 5440, 0, 0, 0}, {1096, 5744, 16448, 0, 0, 0, 0}, {1290, 5171, 5888, 1365, 0, 0, 0}, {4666, 12336, 5200, 0, 0, 0, 0}, {4616, 819, 4420, 5376, 0, 0, 0}, {4848, 7740, 8704, 22076, 0, 0, 0}, {285, 32, 514, 322, 1047, 4354, 0}, {32, 514, 4176, 5140, 0, 0, 0}, {831, 4352, 0, 0, 0, 0, 0}, {5632, 1088, 0, 0, 0, 0, 0}, {95, 867, 1285, 4369, 0, 0, 0}, {5160, 4674, 20480, 0, 0, 0, 0}, {4428, 4403, 835, 5376, 0, 0, 0}, {4744, 7748, 12288, 17476, 0, 0, 0}, {282, 32, 784, 325, 1285, 4112, 0}, {1100, 32, 1606, 4096, 0, 0, 0}, {4471, 4679, 21760, 0, 0, 0, 0}, {4680, 26112, 0, 0, 0, 0, 0}, {278, 4176, 1285, 0, 0, 0, 0}, {522, 32, 4160, 5120, 0, 0, 0}, {828, 13107, 4420, 0, 0, 0, 0}, {1100, 4608, 16384, 0, 0, 0, 0}, {95, 4386, 4626, 1285, 0, 0, 0}, {2570, 4642, 5188, 0, 0, 0, 0}, {1807, 816, 1088, 4352, 0, 0, 0}, {1536, 5200, 0, 0, 0, 0, 0}, {780, 883, 1028, 4369, 0, 0, 0}, {1032, 4690, 16384, 0, 0, 0, 0}, {95, 4403, 851, 1280, 0, 0, 0}, {520, 32, 1028, 4112, 0, 0, 0}, {768, 4437, 0, 0, 0, 0, 0}, {4762, 3084, 12336, 22102, 0, 0, 0}, {264, 32, 768, 343, 1280, 4096, 0}, {1032, 32, 1536, 4176, 0, 0, 0}, {780, 4454, 21845, 0, 0, 0, 0}, {4698, 17408, 0, 0, 0, 0, 0}, {32, 4883, 260, 0, 0, 0, 0}, {1548, 4656, 20560, 0, 0, 0, 0}, {1032, 4386, 768, 5461, 0, 0, 0}, {128, 4626, 1028, 0, 0, 0, 0}, {95, 768, 1280, 4352, 0, 0, 0}, {4704, 5120, 0, 0, 0, 0, 0}, {1083, 1799, 1092, 4369, 0, 0, 0}, {1096, 4706, 16448, 0, 0, 0, 0}, {1295, 4403, 5888, 1360, 0, 0, 0}, {520, 32, 1092, 4096, 0, 0, 0}, {3855, 816, 4437, 0, 0, 0, 0}, {4778, 7782, 12288, 22118, 0, 0, 0}, {280, 32, 784, 327, 1047, 4112, 0}, {5128, 32, 5632, 4160, 0, 0, 0}, {4698, 4454, 21845, 0, 0, 0, 0}, {4714, 17408, 0, 0, 0, 0, 0}, {32, 4883, 276, 0, 0, 0, 0}, {5228, 4608, 20480, 0, 0, 0, 0}, {4445, 4386, 4626, 5397, 0, 0, 0}, {2056, 4642, 1092, 0, 0, 0, 0}, {1295, 816, 1360, 4352, 0, 0, 0}, {4720, 1024, 0, 0, 0, 0, 0}, {1290, 1542, 1365, 4369, 0, 0, 0}, {1546, 4722, 20560, 0, 0, 0, 0}, {1036, 4403, 1792, 5440, 0, 0, 0}, {4792, 3084, 12336, 17476, 0, 0, 0}, {266, 32, 768, 341, 1024, 4096, 0}, {1036, 32, 1542, 4112, 0, 0, 0}, {4471, 768, 21760, 0, 0, 0, 0}, {4728, 26112, 0, 0, 0, 0, 0}, {262, 4160, 5397, 0, 0, 0, 0}, {522, 32, 4176, 1024, 0, 0, 0}, {780, 13107, 4420, 0, 0, 0, 0}, {1036, 4656, 16448, 0, 0, 0, 0}, {1290, 4386, 768, 1365, 0, 0, 0}, {160, 4626, 5140, 0, 0, 0, 0}, {127, 768, 1024, 4352, 0, 0, 0}, {128, 4608, 1024, 0, 0, 0, 0}, {95, 771, 1285, 4369, 0, 0, 0}, {1546, 4642, 20480, 0, 0, 0, 0}, {1036, 4403, 771, 5440, 0, 0, 0}, {4680, 17476, 0, 0, 0, 0, 0}, {32, 4864, 261, 0, 0, 0, 0}, {1036, 32, 1542, 4160, 0, 0, 0}, {783, 4471, 21760, 0, 0, 0, 0}, {4744, 3072, 12288, 22016, 0, 0, 0}, {265, 32, 771, 342, 1285, 4112, 0}, {522, 32, 1024, 4096, 0, 0, 0}, {771, 4420, 0, 0, 0, 0, 0}, {1036, 4672, 16448, 0, 0, 0, 0}, {95, 4386, 848, 1285, 0, 0, 0}, {1542, 5188, 0, 0, 0, 0, 0}, {783, 880, 1024, 4352, 0, 0, 0}, {2560, 4656, 5200, 0, 0, 0, 0}, {1800, 819, 1092, 4369, 0, 0, 0}, {1096, 4626, 16448, 0, 0, 0, 0}, {95, 4403, 4608, 1280, 0, 0, 0}, {520, 32, 4176, 5140, 0, 0, 0}, {831, 13056, 4437, 0, 0, 0, 0}, {4698, 26214, 0, 0, 0, 0, 0}, {279, 4160, 1280, 0, 0, 0, 0}, {1096, 32, 1600, 4112, 0, 0, 0}, {4454, 4693, 21845, 0, 0, 0, 0}, {4762, 7770, 12336, 17408, 0, 0, 0}, {283, 32, 787, 324, 1280, 4096, 0}, {5180, 4688, 20560, 0, 0, 0, 0}, {4445, 4386, 832, 5397, 0, 0, 0}, {5654, 1092, 0, 0, 0, 0, 0}, {95, 864, 1280, 4352, 0, 0, 0}, {160, 4608, 5120, 0, 0, 0, 0}, {127, 771, 1028, 4369, 0, 0, 0}, {1032, 4642, 16384, 0, 0, 0, 0}, {1295, 4403, 771, 1360, 0, 0, 0}, {520, 32, 4160, 1028, 0, 0, 0}, {783, 13056, 4437, 0, 0, 0, 0}, {4714, 26214, 0, 0, 0, 0, 0}, {263, 4176, 5376, 0, 0, 0, 0}, {1032, 32, 1536, 4096, 0, 0, 0}, {4454, 771, 21845, 0, 0, 0, 0}, {4778, 3072, 12288, 17408, 0, 0, 0}, {267, 32, 771, 340, 1028, 4112, 0}, {1548, 4704, 20480, 0, 0, 0, 0}, {1032, 4386, 1799, 5461, 0, 0, 0}, {4706, 1028, 0, 0, 0, 0, 0}, {1295, 1536, 1360, 4352, 0, 0, 0}, {2048, 4656, 1088, 0, 0, 0, 0}, {1290, 819, 1365, 4369, 0, 0, 0}, {5240, 4626, 20560, 0, 0, 0, 0}, {4428, 4403, 4608, 5376, 0, 0, 0}, {4728, 17476, 0, 0, 0, 0, 0}, {32, 4864, 277, 0, 0, 0, 0}, {5148, 32, 5654, 4176, 0, 0, 0}, {4680, 4471, 21760, 0, 0, 0, 0}, {4792, 7800, 12336, 22064, 0, 0, 0}, {281, 32, 787, 326, 1043, 4096, 0}, {522, 32, 1088, 4112, 0, 0, 0}, {3840, 819, 4420, 0, 0, 0, 0}, {1100, 4720, 16384, 0, 0, 0, 0}, {1290, 4386, 5911, 1365, 0, 0, 0}, {4722, 5140, 0, 0, 0, 0, 0}, {1087, 1792, 1088, 4352, 0, 0, 0}, {4800, 7680, 8704, 17408, 0, 0, 0}, {286, 32, 514, 321, 1285, 4369, 0}, {5128, 32, 514, 4160, 0, 0, 0}, {4623, 4403, 21760, 0, 0, 0, 0}, {4616, 12288, 1092, 0, 0, 0, 0}, {4362, 816, 4437, 1285, 0, 0, 0}, {4618, 1638, 20480, 0, 0, 0, 0}, {4360, 1079, 1799, 5440, 0, 0, 0}, {1096, 5632, 16448, 0, 0, 0, 0}, {95, 4454, 4613, 1285, 0, 0, 0}, {4714, 12384, 5120, 0, 0, 0, 0}, {4411, 4615, 4420, 5376, 0, 0, 0}, {17612, 4608, 0, 0, 0, 0, 0}, {274, 1285, 4112, 0, 0, 0, 0}, {32, 514, 1092, 4096, 0, 0, 0}, {3855, 816, 4352, 0, 0, 0, 0}, {32, 512, 4176, 1024, 0, 0, 0}, {780, 4369, 0, 0, 0, 0, 0}, {4818, 3072, 8738, 22106, 0, 0, 0}, {268, 32, 512, 339, 1280, 4371, 0}, {4632, 12336, 5140, 0, 0, 0, 0}, {4394, 768, 4437, 1024, 0, 0, 0}, {1036, 5654, 16448, 0, 0, 0, 0}, {95, 4471, 768, 1280, 0, 0, 0}, {5240, 1536, 20560, 0, 0, 0, 0}, {4377, 4454, 4629, 5397, 0, 0, 0}, {4698, 12400, 1024, 0, 0, 0, 0}, {4379, 4631, 4420, 1280, 0, 0, 0}, {1036, 32, 512, 4112, 0, 0, 0}, {4386, 768, 21845, 0, 0, 0, 0}, {4626, 17476, 0, 0, 0, 0, 0}, {95, 32, 256, 0, 0, 0, 0}, {32, 512, 4160, 5120, 0, 0, 0}, {828, 4369, 0, 0, 0, 0, 0}, {4834, 7714, 8738, 22122, 0, 0, 0}, {284, 32, 512, 323, 1043, 4371, 0}, {4648, 12288, 5188, 0, 0, 0, 0}, {4634, 816, 4437, 5397, 0, 0, 0}, {1100, 5734, 16384, 0, 0, 0, 0}, {1295, 5159, 5911, 1360, 0, 0, 0}, {4680, 1632, 20480, 0, 0, 0, 0}, {4377, 1075, 5654, 5461, 0, 0, 0}, {5674, 13312, 1088, 0, 0, 0, 0}, {4379, 4647, 4420, 5140, 0, 0, 0}, {1100, 32, 512, 4096, 0, 0, 0}, {4386, 4626, 21845, 0, 0, 0, 0}, {4642, 17476, 0, 0, 0, 0, 0}, {1295, 512, 272, 0, 0, 0, 0}, {4848, 3072, 8704, 17408, 0, 0, 0}, {270, 32, 514, 337, 1028, 4369, 0}, {1032, 32, 514, 4176, 0, 0, 0}, {780, 4403, 21760, 0, 0, 0, 0}, {4664, 12336, 1028, 0, 0, 0, 0}, {4362, 768, 4437, 5120, 0, 0, 0}, {5180, 1542, 20560, 0, 0, 0, 0}, {4360, 4471, 768, 5376, 0, 0, 0}, {1032, 5744, 16384, 0, 0, 0, 0}, {1290, 5171, 1542, 1365, 0, 0, 0}, {1546, 9216, 5200, 0, 0, 0, 0}, {780, 4663, 4420, 1028, 0, 0, 0}, {3084, 4656, 0, 0, 0, 0, 0}, {258, 1365, 4096, 0, 0, 0, 0}, {32, 514, 1028, 4112, 0, 0, 0}, {255, 768, 4352, 0, 0, 0, 0}, {24320, 8192, 0, 0, 0, 0, 0}, {18, 68, 257, 0, 0, 0, 0}, {34, 514, 21760, 0, 0, 0, 0}, {12, 48, 771, 4096, 0, 0, 0}, {12, 4868, 68, 1028, 0, 0, 0}, {90, 8272, 1285, 0, 0, 0, 0}, {12, 102, 4870, 5376, 0, 0, 0}, {120, 1799, 20480, 0, 0, 0, 0}, {136, 2056, 8200, 22280, 0, 0, 0}, {12, 48, 771, 86, 1285, 4102, 0}, {170, 2570, 8202, 21760, 0, 0, 0}, {12, 48, 771, 68, 1028, 4100, 0}, {12, 4864, 16384, 0, 0, 0, 0}, {90, 34, 514, 1285, 0, 0, 0}, {12, 34, 514, 68, 1028, 4352, 0}, {240, 3855, 8192, 20480, 0, 0, 0}, {3840, 48, 4112, 0, 0, 0, 0}, {34, 512, 68, 4369, 0, 0, 0}, {18, 1280, 4096, 0, 0, 0, 0}, {204, 4883, 0, 0, 0, 0, 0}, {60, 4884, 68, 5140, 0, 0, 0}, {106, 8256, 5397, 0, 0, 0, 0}, {90, 102, 4886, 1280, 0, 0, 0}, {72, 5911, 16384, 0, 0, 0, 0}, {4120, 48, 1792, 4176, 0, 0, 0}, {4889, 102, 21845, 0, 0, 0, 0}, {4122, 48, 4160, 1280, 0, 0, 0}, {4891, 13107, 68, 0, 0, 0, 0}, {4892, 4896, 20560, 0, 0, 0, 0}, {5405, 34, 512, 5461, 0, 0, 0}, {30, 34, 512, 68, 1280, 4352, 0}, {192, 7967, 8224, 16448, 0, 0, 0}, {24480, 8224, 0, 0, 0, 0, 0}, {259, 1024, 273, 0, 0, 0, 0}, {34, 512, 21760, 0, 0, 0, 0}, {12, 48, 771, 4112, 0, 0, 0}, {12, 4900, 68, 1024, 0, 0, 0}, {1295, 9509, 1365, 0, 0, 0, 0}, {12, 5414, 1536, 5440, 0, 0, 0}, {1807, 1911, 20560, 0, 0, 0, 0}, {136, 2048, 8232, 22312, 0, 0, 0}, {12, 48, 771, 86, 1283, 4118, 0}, {170, 2560, 8234, 21760, 0, 0, 0}, {12, 48, 771, 68, 1024, 4116, 0}, {12, 4896, 16448, 0, 0, 0, 0}, {1295, 34, 512, 1365, 0, 0, 0}, {12, 34, 512, 68, 1024, 4352, 0}, {240, 3855, 8224, 20560, 0, 0, 0}, {3840, 48, 4096, 0, 0, 0, 0}, {34, 514, 68, 4369, 0, 0, 0}, {18, 1360, 4112, 0, 0, 0, 0}, {19456, 4915, 0, 0, 0, 0, 0}, {4872, 4916, 68, 5120, 0, 0, 0}, {5439, 13621, 5461, 0, 0, 0, 0}, {1290, 1334, 5632, 1360, 0, 0, 0}, {72, 6007, 16448, 0, 0, 0, 0}, {4104, 48, 5888, 4160, 0, 0, 0}, {4959, 102, 21845, 0, 0, 0, 0}, {4106, 48, 4176, 5376, 0, 0, 0}, {4923, 13107, 68, 0, 0, 0, 0}, {60, 4864, 20480, 0, 0, 0, 0}, {72, 34, 514, 5397, 0, 0, 0}, {30, 34, 514, 68, 1300, 4352, 0}, {192, 7999, 8192, 16384, 0, 0, 0}, {192, 8000, 8256, 16448, 0, 0, 0}, {30, 34, 532, 68, 1285, 4369, 0}, {72, 34, 578, 5376, 0, 0, 0}, {60, 4931, 20480, 0, 0, 0, 0}, {4864, 68, 0, 0, 0, 0, 0}, {90, 48, 1285, 4112, 0, 0, 0}, {102, 4934, 21760, 0, 0, 0, 0}, {72, 48, 1863, 4096, 0, 0, 0}, {72, 5888, 16384, 0, 0, 0, 0}, {90, 102, 4883, 1285, 0, 0, 0}, {5418, 8224, 5440, 0, 0, 0, 0}, {4879, 4915, 68, 5120, 0, 0, 0}, {4940, 13056, 0, 0, 0, 0, 0}, {18, 4176, 1285, 0, 0, 0, 0}, {522, 34, 68, 4352, 0, 0, 0}, {3855, 48, 4160, 0, 0, 0, 0}, {240, 3840, 8272, 20560, 0, 0, 0}, {12, 34, 516, 68, 1028, 4369, 0}, {90, 34, 594, 1280, 0, 0, 0}, {12, 4947, 16384, 0, 0, 0, 0}, {12, 48, 768, 68, 1028, 4112, 0}, {170, 2560, 8192, 21845, 0, 0, 0}, {12, 48, 768, 86, 1280, 4096, 0}, {136, 2056, 8224, 22359, 0, 0, 0}, {1800, 1904, 20560, 0, 0, 0, 0}, {12, 5427, 1536, 5461, 0, 0, 0}, {90, 8192, 1280, 0, 0, 0, 0}, {12, 4883, 68, 1028, 0, 0, 0}, {12, 48, 768, 4176, 0, 0, 0}, {520, 34, 21845, 0, 0, 0, 0}, {18, 260, 4352, 0, 0, 0, 0}, {8352, 24415, 0, 0, 0, 0, 0}, {192, 8032, 8288, 16384, 0, 0, 0}, {30, 34, 534, 68, 1297, 4369, 0}, {5384, 34, 5888, 5440, 0, 0, 0}, {4959, 4963, 20560, 0, 0, 0, 0}, {2056, 4896, 68, 0, 0, 0, 0}, {1295, 48, 1365, 4096, 0, 0, 0}, {102, 4864, 21760, 0, 0, 0, 0}, {72, 48, 1799, 4112, 0, 0, 0}, {72, 5984, 16448, 0, 0, 0, 0}, {1295, 1331, 5632, 1365, 0, 0, 0}, {106, 8192, 5376, 0, 0, 0, 0}, {60, 4883, 68, 5140, 0, 0, 0}, {4972, 13056, 0, 0, 0, 0, 0}, {18, 4160, 5397, 0, 0, 0, 0}, {520, 34, 68, 4352, 0, 0, 0}, {3855, 48, 4176, 0, 0, 0, 0}, {240, 3840, 8304, 20480, 0, 0, 0}, {12, 34, 518, 68, 1024, 4369, 0}, {1290, 34, 1792, 1360, 0, 0, 0}, {12, 4979, 16448, 0, 0, 0, 0}, {12, 48, 768, 68, 1024, 4096, 0}, {170, 2570, 8224, 21845, 0, 0, 0}, {12, 48, 768, 86, 1286, 4112, 0}, {136, 2048, 8192, 22391, 0, 0, 0}, {120, 1792, 20480, 0, 0, 0, 0}, {12, 102, 4883, 5397, 0, 0, 0}, {1290, 8224, 1360, 0, 0, 0, 0}, {12, 4915, 68, 1024, 0, 0, 0}, {12, 48, 768, 4160, 0, 0, 0}, {522, 34, 21845, 0, 0, 0, 0}, {18, 276, 4352, 0, 0, 0, 0}, {8320, 32639, 0, 0, 0, 0, 0}, {8320, 24320, 0, 0, 0, 0, 0}, {18, 261, 4369, 0, 0, 0, 0}, {522, 34, 21760, 0, 0, 0, 0}, {12, 48, 771, 4160, 0, 0, 0}, {12, 4864, 68, 1024, 0, 0, 0}, {90, 8224, 1285, 0, 0, 0, 0}, {12, 5414, 1542, 5440, 0, 0, 0}, {1807, 1911, 20480, 0, 0, 0, 0}, {136, 2048, 8192, 22272, 0, 0, 0}, {12, 48, 771, 86, 1285, 4112, 0}, {170, 2570, 8224, 21760, 0, 0, 0}, {12, 48, 771, 68, 1024, 4096, 0}, {12, 4928, 16448, 0, 0, 0, 0}, {90, 34, 592, 1285, 0, 0, 0}, {12, 34, 518, 68, 1024, 4352, 0}, {240, 3855, 8304, 20480, 0, 0, 0}, {3840, 48, 4176, 0, 0, 0, 0}, {520, 34, 68, 4369, 0, 0, 0}, {18, 4160, 1280, 0, 0, 0, 0}, {4959, 13107, 0, 0, 0, 0, 0}, {4892, 4896, 68, 5140, 0, 0, 0}, {5439, 8192, 5461, 0, 0, 0, 0}, {90, 102, 4864, 1280, 0, 0, 0}, {72, 5911, 16448, 0, 0, 0, 0}, {72, 48, 1856, 4112, 0, 0, 0}, {102, 4949, 21845, 0, 0, 0, 0}, {90, 48, 1280, 4096, 0, 0, 0}, {4883, 68, 0, 0, 0, 0, 0}, {60, 4944, 20560, 0, 0, 0, 0}, {72, 34, 576, 5397, 0, 0, 0}, {30, 34, 534, 68, 1280, 4352, 0}, {192, 8031, 8288, 16384, 0, 0, 0}, {8352, 32512, 0, 0, 0, 0, 0}, {18, 277, 4369, 0, 0, 0, 0}, {520, 34, 21760, 0, 0, 0, 0}, {12, 48, 771, 4176, 0, 0, 0}, {12, 4896, 68, 1028, 0, 0, 0}, {1295, 8192, 1365, 0, 0, 0, 0}, {12, 102, 4864, 5376, 0, 0, 0}, {120, 1799, 20560, 0, 0, 0, 0}, {136, 2056, 8224, 22304, 0, 0, 0}, {12, 48, 771, 86, 1283, 4096, 0}, {170, 2560, 8192, 21760, 0, 0, 0}, {12, 48, 771, 68, 1028, 4112, 0}, {12, 4960, 16384, 0, 0, 0, 0}, {1295, 34, 1799, 1365, 0, 0, 0}, {12, 34, 516, 68, 1028, 4352, 0}, {240, 3855, 8272, 20560, 0, 0, 0}, {3840, 48, 4160, 0, 0, 0, 0}, {522, 34, 68, 4369, 0, 0, 0}, {18, 4176, 5376, 0, 0, 0, 0}, {4991, 13107, 0, 0, 0, 0, 0}, {60, 4864, 68, 5120, 0, 0, 0}, {106, 8224, 5397, 0, 0, 0, 0}, {1290, 1334, 5654, 1360, 0, 0, 0}, {72, 6007, 16384, 0, 0, 0, 0}, {72, 48, 1792, 4096, 0, 0, 0}, {102, 4883, 21845, 0, 0, 0, 0}, {1290, 48, 1360, 4112, 0, 0, 0}, {2048, 4915, 68, 0, 0, 0, 0}, {4940, 4976, 20480, 0, 0, 0, 0}, {5405, 34, 5911, 5461, 0, 0, 0}, {30, 34, 532, 68, 1300, 4352, 0}, {192, 8063, 8256, 16448, 0, 0, 0}, {192, 7936, 8192, 16384, 0, 0, 0}, {30, 34, 514, 68, 1285, 4369, 0}, {5384, 34, 514, 5440, 0, 0, 0}, {4879, 4915, 20480, 0, 0, 0, 0}, {4872, 13056, 68, 0, 0, 0, 0}, {4106, 48, 4176, 1285, 0, 0, 0}, {4874, 102, 21760, 0, 0, 0, 0}, {4104, 48, 1799, 4160, 0, 0, 0}, {72, 5888, 16448, 0, 0, 0, 0}, {90, 102, 4869, 1285, 0, 0, 0}, {106, 8288, 5376, 0, 0, 0, 0}, {60, 4871, 68, 5120, 0, 0, 0}, {204, 4864, 0, 0, 0, 0, 0}, {18, 1285, 4112, 0, 0, 0, 0}, {34, 514, 68, 4352, 0, 0, 0}, {3855, 48, 4096, 0, 0, 0, 0}, {240, 3840, 8224, 20560, 0, 0, 0}, {12, 34, 512, 68, 1024, 4369, 0}, {90, 34, 512, 1280, 0, 0, 0}, {12, 4883, 16448, 0, 0, 0, 0}, {12, 48, 768, 68, 1024, 4116, 0}, {170, 2560, 8234, 21845, 0, 0, 0}, {12, 48, 768, 86, 1280, 4118, 0}, {136, 2048, 8232, 22367, 0, 0, 0}, {120, 1792, 20560, 0, 0, 0, 0}, {12, 102, 4885, 5397, 0, 0, 0}, {90, 8304, 1280, 0, 0, 0, 0}, {12, 4887, 68, 1024, 0, 0, 0}, {12, 48, 768, 4112, 0, 0, 0}, {34, 512, 21845, 0, 0, 0, 0}, {18, 68, 256, 0, 0, 0, 0}, {24415, 8224, 0, 0, 0, 0, 0}, {192, 7968, 8224, 16448, 0, 0, 0}, {30, 34, 512, 68, 1297, 4369, 0}, {72, 34, 512, 5376, 0, 0, 0}, {60, 4883, 20560, 0, 0, 0, 0}, {4904, 13056, 68, 0, 0, 0, 0}, {4122, 48, 4160, 5397, 0, 0, 0}, {4940, 102, 21760, 0, 0, 0, 0}, {4120, 48, 5911, 4176, 0, 0, 0}, {72, 5984, 16384, 0, 0, 0, 0}, {1295, 1331, 5654, 1365, 0, 0, 0}, {5418, 13568, 5440, 0, 0, 0, 0}, {4891, 4903, 68, 5140, 0, 0, 0}, {19532, 4896, 0, 0, 0, 0, 0}, {18, 1365, 4096, 0, 0, 0, 0}, {34, 512, 68, 4352, 0, 0, 0}, {3855, 48, 4112, 0, 0, 0, 0}, {240, 3840, 8192, 20480, 0, 0, 0}, {12, 34, 514, 68, 1028, 4369, 0}, {1290, 34, 514, 1360, 0, 0, 0}, {12, 4915, 16384, 0, 0, 0, 0}, {12, 48, 768, 68, 1028, 4100, 0}, {170, 2570, 8202, 21845, 0, 0, 0}, {12, 48, 768, 86, 1286, 4102, 0}, {136, 2056, 8200, 22399, 0, 0, 0}, {1800, 1904, 20480, 0, 0, 0, 0}, {12, 5427, 1542, 5461, 0, 0, 0}, {1290, 9472, 1360, 0, 0, 0, 0}, {12, 4919, 68, 1028, 0, 0, 0}, {12, 48, 768, 4096, 0, 0, 0}, {34, 514, 21845, 0, 0, 0, 0}, {258, 1028, 272, 0, 0, 0, 0}, {24575, 8192, 0, 0, 0, 0, 0}, {8192, 16384, 0, 0, 0, 0, 0}, {15, 17, 257, 0, 0, 0, 0}, {34, 514, 16392, 0, 0, 0, 0}, {15, 51, 771, 4099, 0, 0, 0}, {8200, 68, 1028, 0, 0, 0, 0}, {15, 85, 1285, 4101, 0, 0, 0}, {102, 1542, 16396, 0, 0, 0, 0}, {15, 119, 1799, 4103, 0, 0, 0}, {136, 2056, 8200, 16392, 0, 0, 0}, {15, 51, 771, 85, 1285, 4102, 0}, {170, 2570, 8202, 16384, 0, 0, 0}, {15, 51, 771, 68, 1028, 4100, 0}, {204, 3084, 8192, 16396, 0, 0, 0}, {15, 34, 514, 85, 1285, 4098, 0}, {34, 514, 68, 1028, 0, 0, 0}, {15, 4096, 0, 0, 0, 0, 0}, {240, 4112, 0, 0, 0, 0, 0}, {512, 1024, 17, 0, 0, 0, 0}, {90, 34, 512, 4114, 0, 0, 0}, {51, 4883, 16460, 0, 0, 0, 0}, {60, 68, 1024, 4116, 0, 0, 0}, {8234, 85, 5397, 0, 0, 0, 0}, {90, 102, 1536, 4118, 0, 0, 0}, {119, 5911, 16456, 0, 0, 0, 0}, {4120, 4192, 20560, 0, 0, 0, 0}, {5401, 51, 1536, 85, 0, 0, 0}, {4122, 12336, 4160, 0, 0, 0, 0}, {4891, 51, 68, 1024, 0, 0, 0}, {4124, 4128, 20560, 0, 0, 0, 0}, {5405, 34, 512, 85, 0, 0, 0}, {30, 34, 512, 68, 1024, 4096, 0}, {255, 7967, 8224, 16448, 0, 0, 0}, {16512, 8224, 0, 0, 0, 0, 0}, {259, 1280, 17, 0, 0, 0, 0}, {34, 512, 16384, 0, 0, 0, 0}, {15, 51, 771, 4112, 0, 0, 0}, {1036, 9252, 68, 0, 0, 0, 0}, {15, 4133, 85, 1280, 0, 0, 0}, {1548, 102, 16448, 0, 0, 0, 0}, {15, 4135, 1792, 4176, 0, 0, 0}, {136, 2048, 8232, 16384, 0, 0, 0}, {15, 51, 771, 85, 1280, 4117, 0}, {170, 2560, 8234, 16426, 0, 0, 0}, {15, 51, 771, 68, 1027, 4119, 0}, {204, 3084, 8224, 16448, 0, 0, 0}, {15, 34, 512, 85, 1280, 4096, 0}, {1036, 34, 512, 68, 0, 0, 0}, {15, 4128, 20560, 0, 0, 0, 0}, {4144, 20480, 0, 0, 0, 0, 0}, {1032, 514, 17, 0, 0, 0, 0}, {90, 34, 514, 4112, 0, 0, 0}, {51, 4864, 16384, 0, 0, 0, 0}, {4104, 4148, 68, 5120, 0, 0, 0}, {5439, 13621, 85, 0, 0, 0, 0}, {4106, 4150, 5632, 4176, 0, 0, 0}, {5960, 119, 16448, 0, 0, 0, 0}, {4152, 12336, 4160, 0, 0, 0, 0}, {4874, 51, 85, 5376, 0, 0, 0}, {90, 4192, 20560, 0, 0, 0, 0}, {1032, 51, 5888, 68, 0, 0, 0}, {60, 4096, 0, 0, 0, 0, 0}, {34, 514, 85, 5397, 0, 0, 0}, {30, 34, 514, 68, 1046, 4098, 0}, {255, 7999, 8192, 16447, 0, 0, 0}, {8320, 16448, 0, 0, 0, 0, 0}, {768, 261, 17, 0, 0, 0, 0}, {522, 34, 16962, 0, 0, 0, 0}, {15, 51, 768, 4163, 0, 0, 0}, {8192, 68, 1024, 0, 0, 0, 0}, {15, 85, 1285, 4112, 0, 0, 0}, {1546, 102, 17990, 0, 0, 0, 0}, {15, 4144, 1792, 4167, 0, 0, 0}, {136, 2048, 8192, 16456, 0, 0, 0}, {15, 51, 768, 85, 1285, 4115, 0}, {170, 2570, 8224, 16448, 0, 0, 0}, {15, 51, 768, 68, 1024, 4096, 0}, {204, 3072, 8268, 16460, 0, 0, 0}, {15, 34, 517, 85, 1285, 4119, 0}, {522, 34, 68, 1024, 0, 0, 0}, {15, 12336, 4160, 0, 0, 0, 0}, {12288, 4176, 0, 0, 0, 0, 0}, {520, 1028, 17, 0, 0, 0, 0}, {4104, 34, 4608, 4178, 0, 0, 0}, {4959, 51, 21331, 0, 0, 0, 0}, {60, 68, 1028, 4112, 0, 0, 0}, {8192, 85, 5376, 0, 0, 0, 0}, {4108, 4144, 5632, 4182, 0, 0, 0}, {5983, 119, 22359, 0, 0, 0, 0}, {4184, 4128, 20560, 0, 0, 0, 0}, {5388, 51, 4864, 85, 0, 0, 0}, {90, 4096, 0, 0, 0, 0, 0}, {51, 4883, 68, 1028, 0, 0, 0}, {4188, 4192, 20560, 0, 0, 0, 0}, {5384, 34, 5888, 85, 0, 0, 0}, {30, 34, 534, 68, 1028, 4100, 0}, {255, 8031, 8287, 16384, 0, 0, 0}, {16576, 24672, 0, 0, 0, 0, 0}, {263, 1280, 17, 0, 0, 0, 0}, {520, 34, 16448, 0, 0, 0, 0}, {15, 51, 768, 4176, 0, 0, 0}, {1032, 8224, 68, 0, 0, 0, 0}, {15, 4144, 85, 1280, 0, 0, 0}, {102, 1536, 16384, 0, 0, 0, 0}, {15, 119, 1799, 4112, 0, 0, 0}, {136, 2056, 8224, 16448, 0, 0, 0}, {15, 51, 768, 85, 1280, 4096, 0}, {170, 2560, 8192, 16490, 0, 0, 0}, {15, 51, 768, 68, 1031, 4115, 0}, {204, 3072, 8300, 16384, 0, 0, 0}, {15, 34, 519, 85, 1280, 4117, 0}, {1032, 34, 1536, 68, 0, 0, 0}, {15, 4192, 20560, 0, 0, 0, 0}, {4208, 20480, 0, 0, 0, 0, 0}, {1036, 1542, 17, 0, 0, 0, 0}, {4106, 34, 4608, 4176, 0, 0, 0}, {4940, 51, 16448, 0, 0, 0, 0}, {4108, 4144, 68, 5120, 0, 0, 0}, {5418, 8224, 85, 0, 0, 0, 0}, {90, 102, 1542, 4112, 0, 0, 0}, {119, 5888, 16384, 0, 0, 0, 0}, {120, 4096, 0, 0, 0, 0, 0}, {51, 4883, 85, 5397, 0, 0, 0}, {90, 4128, 20560, 0, 0, 0, 0}, {1036, 51, 4864, 68, 0, 0, 0}, {60, 12336, 4160, 0, 0, 0, 0}, {522, 34, 85, 5376, 0, 0, 0}, {30, 34, 532, 68, 1042, 4102, 0}, {255, 8063, 8319, 16511, 0, 0, 0}, {16512, 24576, 0, 0, 0, 0, 0}, {262, 1285, 17, 0, 0, 0, 0}, {522, 34, 16384, 0, 0, 0, 0}, {15, 51, 771, 4160, 0, 0, 0}, {1036, 8192, 68, 0, 0, 0, 0}, {15, 4128, 85, 1285, 0, 0, 0}, {102, 1542, 16448, 0, 0, 0, 0}, {15, 119, 1792, 4096, 0, 0, 0}, {136, 2048, 8192, 16384, 0, 0, 0}, {15, 51, 771, 85, 1285, 4112, 0}, {170, 2570, 8224, 16426, 0, 0, 0}, {15, 51, 771, 68, 1027, 4099, 0}, {204, 3084, 8268, 16448, 0, 0, 0}, {15, 34, 517, 85, 1285, 4101, 0}, {1036, 34, 1542, 68, 0, 0, 0}, {15, 4208, 20480, 0, 0, 0, 0}, {4192, 20560, 0, 0, 0, 0, 0}, {1032, 1536, 17, 0, 0, 0, 0}, {4122, 34, 4626, 4160, 0, 0, 0}, {4959, 51, 16384, 0, 0, 0, 0}, {4124, 4128, 68, 5140, 0, 0, 0}, {5439, 8192, 85, 0, 0, 0, 0}, {90, 102, 1536, 4096, 0, 0, 0}, {119, 5911, 16448, 0, 0, 0, 0}, {120, 4112, 0, 0, 0, 0, 0}, {51, 4864, 85, 5376, 0, 0, 0}, {90, 4144, 20480, 0, 0, 0, 0}, {1032, 51, 4883, 68, 0, 0, 0}, {60, 12288, 4176, 0, 0, 0, 0}, {520, 34, 85, 5397, 0, 0, 0}, {30, 34, 534, 68, 1046, 4118, 0}, {255, 8032, 8287, 16447, 0, 0, 0}, {8352, 16384, 0, 0, 0, 0, 0}, {771, 260, 17, 0, 0, 0, 0}, {520, 34, 16896, 0, 0, 0, 0}, {15, 51, 771, 4179, 0, 0, 0}, {8224, 68, 1028, 0, 0, 0, 0}, {15, 85, 1280, 4096, 0, 0, 0}, {1548, 102, 17920, 0, 0, 0, 0}, {15, 4128, 1799, 4183, 0, 0, 0}, {136, 2056, 8224, 16392, 0, 0, 0}, {15, 51, 771, 85, 1280, 4099, 0}, {170, 2560, 8192, 16384, 0, 0, 0}, {15, 51, 771, 68, 1028, 4112, 0}, {204, 3084, 8300, 16396, 0, 0, 0}, {15, 34, 519, 85, 1280, 4103, 0}, {520, 34, 68, 1028, 0, 0, 0}, {15, 12288, 4176, 0, 0, 0, 0}, {12336, 4160, 0, 0, 0, 0, 0}, {522, 1024, 17, 0, 0, 0, 0}, {4120, 34, 4626, 4162, 0, 0, 0}, {4940, 51, 21248, 0, 0, 0, 0}, {60, 68, 1024, 4096, 0, 0, 0}, {8224, 85, 5397, 0, 0, 0, 0}, {4124, 4128, 5654, 4166, 0, 0, 0}, {5960, 119, 22272, 0, 0, 0, 0}, {4168, 4144, 20480, 0, 0, 0, 0}, {5401, 51, 4883, 85, 0, 0, 0}, {90, 4112, 0, 0, 0, 0, 0}, {51, 4864, 68, 1024, 0, 0, 0}, {4172, 4208, 20480, 0, 0, 0, 0}, {5405, 34, 5911, 85, 0, 0, 0}, {30, 34, 532, 68, 1024, 4116, 0}, {255, 8000, 8319, 16448, 0, 0, 0}, {16576, 8192, 0, 0, 0, 0, 0}, {258, 1285, 17, 0, 0, 0, 0}, {34, 514, 16448, 0, 0, 0, 0}, {15, 51, 768, 4096, 0, 0, 0}, {1032, 9216, 68, 0, 0, 0, 0}, {15, 4149, 85, 1285, 0, 0, 0}, {1546, 102, 16384, 0, 0, 0, 0}, {15, 4151, 1799, 4160, 0, 0, 0}, {136, 2056, 8200, 16448, 0, 0, 0}, {15, 51, 768, 85, 1285, 4101, 0}, {170, 2570, 8202, 16490, 0, 0, 0}, {15, 51, 768, 68, 1031, 4103, 0}, {204, 3072, 8192, 16384, 0, 0, 0}, {15, 34, 514, 85, 1285, 4112, 0}, {1032, 34, 514, 68, 0, 0, 0}, {15, 4144, 20480, 0, 0, 0, 0}, {4128, 20560, 0, 0, 0, 0, 0}, {1036, 512, 17, 0, 0, 0, 0}, {90, 34, 512, 4096, 0, 0, 0}, {51, 4883, 16448, 0, 0, 0, 0}, {4120, 4132, 68, 5140, 0, 0, 0}, {5418, 13568, 85, 0, 0, 0, 0}, {4122, 4134, 5654, 4160, 0, 0, 0}, {5983, 119, 16384, 0, 0, 0, 0}, {4136, 12288, 4176, 0, 0, 0, 0}, {4889, 51, 85, 5397, 0, 0, 0}, {90, 4208, 20480, 0, 0, 0, 0}, {1036, 51, 5911, 68, 0, 0, 0}, {60, 4112, 0, 0, 0, 0, 0}, {34, 512, 85, 5376, 0, 0, 0}, {30, 34, 512, 68, 1042, 4114, 0}, {255, 7968, 8224, 16511, 0, 0, 0}, {8224, 16448, 0, 0, 0, 0, 0}, {15, 17, 256, 0, 0, 0, 0}, {34, 512, 16456, 0, 0, 0, 0}, {15, 51, 768, 4115, 0, 0, 0}, {8232, 68, 1024, 0, 0, 0, 0}, {15, 85, 1280, 4117, 0, 0, 0}, {102, 1536, 16460, 0, 0, 0, 0}, {15, 119, 1792, 4119, 0, 0, 0}, {136, 2048, 8232, 16456, 0, 0, 0}, {15, 51, 768, 85, 1280, 4118, 0}, {170, 2560, 8234, 16448, 0, 0, 0}, {15, 51, 768, 68, 1024, 4116, 0}, {204, 3072, 8224, 16460, 0, 0, 0}, {15, 34, 512, 85, 1280, 4114, 0}, {34, 512, 68, 1024, 0, 0, 0}, {15, 4112, 0, 0, 0, 0, 0}, {240, 4096, 0, 0, 0, 0, 0}, {514, 1028, 17, 0, 0, 0, 0}, {90, 34, 514, 4098, 0, 0, 0}, {51, 4864, 16396, 0, 0, 0, 0}, {60, 68, 1028, 4100, 0, 0, 0}, {8202, 85, 5376, 0, 0, 0, 0}, {90, 102, 1542, 4102, 0, 0, 0}, {119, 5888, 16392, 0, 0, 0, 0}, {4104, 4208, 20480, 0, 0, 0, 0}, {5388, 51, 1542, 85, 0, 0, 0}, {4106, 12288, 4176, 0, 0, 0, 0}, {4872, 51, 68, 1028, 0, 0, 0}, {4108, 4144, 20480, 0, 0, 0, 0}, {5384, 34, 514, 85, 0, 0, 0}, {30, 34, 514, 68, 1028, 4112, 0}, {255, 7936, 8192, 16384, 0, 0, 0}, {3840, 4352, 0, 0, 0, 0, 0}, {32, 64, 257, 0, 0, 0, 0}, {1290, 32, 514, 4354, 0, 0, 0}, {4403, 771, 17420, 0, 0, 0, 0}, {780, 64, 1028, 4356, 0, 0, 0}, {8714, 4437, 1285, 0, 0, 0, 0}, {1290, 96, 1542, 4358, 0, 0, 0}, {4471, 1799, 17416, 0, 0, 0, 0}, {4360, 5632, 21760, 0, 0, 0, 0}, {4441, 96, 771, 1285, 0, 0, 0}, {4362, 13056, 5120, 0, 0, 0, 0}, {4411, 771, 64, 1028, 0, 0, 0}, {4364, 4608, 21760, 0, 0, 0, 0}, {4445, 32, 514, 1285, 0, 0, 0}, {270, 32, 514, 64, 1028, 4096, 0}, {4607, 3855, 8704, 17408, 0, 0, 0}, {512, 1024, 272, 0, 0, 0, 0}, {4095, 4369, 0, 0, 0, 0, 0}, {4386, 4626, 17480, 0, 0, 0, 0}, {1375, 32, 512, 4371, 0, 0, 0}, {8744, 4420, 5140, 0, 0, 0, 0}, {831, 64, 1024, 4373, 0, 0, 0}, {4454, 5654, 17484, 0, 0, 0, 0}, {1375, 96, 1536, 4375, 0, 0, 0}, {5144, 1328, 1536, 1360, 0, 0, 0}, {4377, 5734, 21845, 0, 0, 0, 0}, {4634, 816, 64, 1024, 0, 0, 0}, {4379, 13107, 5188, 0, 0, 0, 0}, {5148, 32, 512, 1360, 0, 0, 0}, {4381, 4642, 21845, 0, 0, 0, 0}, {4590, 7710, 8738, 17476, 0, 0, 0}, {287, 32, 512, 64, 1024, 4096, 0}, {32, 512, 1280, 4352, 0, 0, 0}, {192, 771, 4369, 0, 0, 0, 0}, {3840, 4386, 0, 0, 0, 0, 0}, {259, 64, 4112, 0, 0, 0, 0}, {780, 4388, 4420, 1280, 0, 0, 0}, {1807, 9509, 4437, 0, 0, 0, 0}, {1036, 4390, 1792, 64, 0, 0, 0}, {1295, 4471, 20560, 0, 0, 0, 0}, {4392, 13056, 1280, 0, 0, 0, 0}, {4377, 771, 64, 5397, 0, 0, 0}, {4394, 1792, 17408, 0, 0, 0, 0}, {4379, 96, 771, 5140, 0, 0, 0}, {268, 32, 512, 64, 1280, 4096, 0}, {4573, 3855, 8738, 21845, 0, 0, 0}, {780, 4642, 17476, 0, 0, 0, 0}, {1295, 32, 512, 5200, 0, 0, 0}, {3072, 816, 4352, 0, 0, 0, 0}, {32, 514, 1365, 4369, 0, 0, 0}, {274, 64, 4112, 0, 0, 0, 0}, {23040, 4403, 0, 0, 0, 0, 0}, {5692, 13364, 4420, 0, 0, 0, 0}, {4618, 4405, 4437, 5120, 0, 0, 0}, {1370, 4454, 20560, 0, 0, 0, 0}, {1032, 4407, 5632, 64, 0, 0, 0}, {4360, 816, 64, 5376, 0, 0, 0}, {4409, 13107, 1365, 0, 0, 0, 0}, {4362, 5168, 5888, 5200, 0, 0, 0}, {5708, 1911, 17476, 0, 0, 0, 0}, {4556, 7740, 8704, 21760, 0, 0, 0}, {285, 32, 514, 64, 1301, 4096, 0}, {4430, 32, 514, 5140, 0, 0, 0}, {4415, 4608, 17408, 0, 0, 0, 0}, {768, 64, 1024, 4352, 0, 0, 0}, {160, 1285, 4369, 0, 0, 0, 0}, {1290, 4386, 768, 4418, 0, 0, 0}, {1807, 4403, 17219, 0, 0, 0, 0}, {3840, 4420, 0, 0, 0, 0, 0}, {32, 261, 4112, 0, 0, 0, 0}, {1290, 32, 1792, 4422, 0, 0, 0}, {783, 4471, 18247, 0, 0, 0, 0}, {4424, 768, 21760, 0, 0, 0, 0}, {4377, 32, 4883, 1285, 0, 0, 0}, {266, 32, 768, 64, 1024, 4096, 0}, {4539, 3855, 13107, 17476, 0, 0, 0}, {4428, 1792, 21760, 0, 0, 0, 0}, {4381, 96, 4626, 1285, 0, 0, 0}, {1290, 8738, 5188, 0, 0, 0, 0}, {783, 4656, 64, 1024, 0, 0, 0}, {2560, 1360, 4352, 0, 0, 0, 0}, {819, 64, 1028, 4369, 0, 0, 0}, {5722, 4386, 21074, 0, 0, 0, 0}, {5132, 4403, 4608, 4435, 0, 0, 0}, {32, 276, 4112, 0, 0, 0, 0}, {15360, 4437, 0, 0, 0, 0, 0}, {4698, 4454, 22102, 0, 0, 0, 0}, {5128, 32, 5632, 4439, 0, 0, 0}, {4360, 32, 4864, 1360, 0, 0, 0}, {4441, 819, 21845, 0, 0, 0, 0}, {4522, 7770, 13056, 17408, 0, 0, 0}, {283, 32, 787, 64, 1028, 4096, 0}, {4364, 1328, 5888, 1360, 0, 0, 0}, {4445, 1911, 21845, 0, 0, 0, 0}, {4398, 4626, 64, 1028, 0, 0, 0}, {4447, 8704, 5120, 0, 0, 0, 0}, {96, 768, 1280, 4352, 0, 0, 0}, {128, 1799, 4369, 0, 0, 0, 0}, {1032, 4386, 768, 64, 0, 0, 0}, {1295, 4403, 20560, 0, 0, 0, 0}, {520, 32, 4420, 1280, 0, 0, 0}, {783, 12336, 4437, 0, 0, 0, 0}, {3840, 4454, 0, 0, 0, 0, 0}, {263, 64, 4112, 0, 0, 0, 0}, {264, 32, 768, 64, 1280, 4096, 0}, {4505, 3855, 13107, 21845, 0, 0, 0}, {4458, 768, 17408, 0, 0, 0, 0}, {4379, 32, 4883, 5140, 0, 0, 0}, {4460, 8704, 1280, 0, 0, 0, 0}, {4381, 4626, 64, 5397, 0, 0, 0}, {1800, 5734, 17476, 0, 0, 0, 0}, {1295, 5168, 1536, 5200, 0, 0, 0}, {2048, 1904, 4352, 0, 0, 0, 0}, {1333, 1542, 1365, 4369, 0, 0, 0}, {1370, 4386, 20560, 0, 0, 0, 0}, {1036, 4403, 4608, 64, 0, 0, 0}, {828, 12336, 4420, 0, 0, 0, 0}, {522, 32, 4437, 5120, 0, 0, 0}, {278, 64, 4112, 0, 0, 0, 0}, {23040, 4471, 0, 0, 0, 0, 0}, {4488, 7800, 13056, 21760, 0, 0, 0}, {281, 32, 787, 64, 1301, 4096, 0}, {4362, 32, 4864, 5200, 0, 0, 0}, {4680, 819, 17476, 0, 0, 0, 0}, {4364, 4656, 64, 5376, 0, 0, 0}, {5160, 8738, 1365, 0, 0, 0, 0}, {4430, 96, 4626, 5140, 0, 0, 0}, {4479, 5632, 17408, 0, 0, 0, 0}, {128, 1792, 4352, 0, 0, 0, 0}, {96, 771, 1285, 4369, 0, 0, 0}, {1290, 4386, 20480, 0, 0, 0, 0}, {1036, 4403, 771, 64, 0, 0, 0}, {780, 12288, 4420, 0, 0, 0, 0}, {522, 32, 4437, 1285, 0, 0, 0}, {262, 64, 4096, 0, 0, 0, 0}, {3855, 4471, 0, 0, 0, 0, 0}, {4488, 3840, 13056, 21760, 0, 0, 0}, {265, 32, 771, 64, 1285, 4112, 0}, {4362, 32, 4864, 5120, 0, 0, 0}, {4475, 771, 17476, 0, 0, 0, 0}, {4364, 4608, 64, 5376, 0, 0, 0}, {4477, 8738, 1285, 0, 0, 0, 0}, {1290, 5156, 1542, 5188, 0, 0, 0}, {1807, 5744, 17408, 0, 0, 0, 0}, {1328, 1536, 1360, 4352, 0, 0, 0}, {2056, 1911, 4369, 0, 0, 0, 0}, {1032, 4386, 4626, 64, 0, 0, 0}, {1375, 4403, 20480, 0, 0, 0, 0}, {520, 32, 4420, 5140, 0, 0, 0}, {831, 12288, 4437, 0, 0, 0, 0}, {23130, 4454, 0, 0, 0, 0, 0}, {279, 64, 4096, 0, 0, 0, 0}, {280, 32, 784, 64, 1296, 4112, 0}, {4505, 7782, 13107, 21845, 0, 0, 0}, {4698, 816, 17408, 0, 0, 0, 0}, {4379, 32, 4883, 5188, 0, 0, 0}, {5180, 8704, 1360, 0, 0, 0, 0}, {4381, 4642, 64, 5397, 0, 0, 0}, {4462, 5654, 17476, 0, 0, 0, 0}, {4447, 96, 4608, 5120, 0, 0, 0}, {160, 1280, 4352, 0, 0, 0, 0}, {771, 64, 1028, 4369, 0, 0, 0}, {1800, 4386, 17152, 0, 0, 0, 0}, {1295, 4403, 771, 4435, 0, 0, 0}, {32, 260, 4096, 0, 0, 0, 0}, {3855, 4437, 0, 0, 0, 0, 0}, {780, 4454, 18176, 0, 0, 0, 0}, {1295, 32, 1799, 4439, 0, 0, 0}, {4360, 32, 4864, 1280, 0, 0, 0}, {4441, 771, 21845, 0, 0, 0, 0}, {4522, 3840, 13056, 17408, 0, 0, 0}, {267, 32, 771, 64, 1028, 4112, 0}, {4364, 96, 4608, 1280, 0, 0, 0}, {4445, 1799, 21845, 0, 0, 0, 0}, {780, 4642, 64, 1028, 0, 0, 0}, {1295, 8704, 5200, 0, 0, 0, 0}, {816, 64, 1024, 4352, 0, 0, 0}, {2570, 1365, 4369, 0, 0, 0, 0}, {5144, 4386, 4626, 4418, 0, 0, 0}, {5708, 4403, 20992, 0, 0, 0, 0}, {15420, 4420, 0, 0, 0, 0, 0}, {32, 277, 4096, 0, 0, 0, 0}, {5148, 32, 5654, 4422, 0, 0, 0}, {4680, 4471, 22016, 0, 0, 0, 0}, {4424, 816, 21760, 0, 0, 0, 0}, {4377, 32, 4883, 1365, 0, 0, 0}, {282, 32, 784, 64, 1024, 4112, 0}, {4539, 7748, 13107, 17476, 0, 0, 0}, {4428, 1904, 21760, 0, 0, 0, 0}, {4381, 1333, 5911, 1365, 0, 0, 0}, {4430, 8738, 5140, 0, 0, 0, 0}, {4415, 4608, 64, 1024, 0, 0, 0}, {192, 768, 4352, 0, 0, 0, 0}, {32, 514, 1285, 4369, 0, 0, 0}, {258, 64, 4096, 0, 0, 0, 0}, {3855, 4403, 0, 0, 0, 0, 0}, {1800, 9472, 4420, 0, 0, 0, 0}, {783, 4405, 4437, 1285, 0, 0, 0}, {1290, 4454, 20480, 0, 0, 0, 0}, {1032, 4407, 1799, 64, 0, 0, 0}, {4360, 768, 64, 5376, 0, 0, 0}, {4409, 13107, 1285, 0, 0, 0, 0}, {4362, 96, 768, 5120, 0, 0, 0}, {4411, 1799, 17476, 0, 0, 0, 0}, {4556, 3840, 8704, 21760, 0, 0, 0}, {269, 32, 514, 64, 1285, 4112, 0}, {1290, 32, 514, 5188, 0, 0, 0}, {783, 4656, 17408, 0, 0, 0, 0}, {32, 512, 1360, 4352, 0, 0, 0}, {3084, 819, 4369, 0, 0, 0, 0}, {23130, 4386, 0, 0, 0, 0, 0}, {275, 64, 4096, 0, 0, 0, 0}, {4632, 4388, 4420, 5140, 0, 0, 0}, {5674, 13312, 4437, 0, 0, 0, 0}, {1036, 4390, 5654, 64, 0, 0, 0}, {1375, 4471, 20480, 0, 0, 0, 0}, {4392, 13056, 1360, 0, 0, 0, 0}, {4377, 819, 64, 5397, 0, 0, 0}, {5722, 1904, 17408, 0, 0, 0, 0}, {4379, 5156, 5911, 5188, 0, 0, 0}, {284, 32, 512, 64, 1296, 4112, 0}, {4573, 7714, 8738, 21845, 0, 0, 0}, {4398, 4626, 17476, 0, 0, 0, 0}, {4447, 32, 512, 5120, 0, 0, 0}, {32, 64, 256, 0, 0, 0, 0}, {3855, 4369, 0, 0, 0, 0, 0}, {4386, 768, 17480, 0, 0, 0, 0}, {1295, 32, 512, 4371, 0, 0, 0}, {8744, 4420, 1280, 0, 0, 0, 0}, {783, 64, 1024, 4373, 0, 0, 0}, {4454, 1792, 17484, 0, 0, 0, 0}, {1295, 96, 1536, 4375, 0, 0, 0}, {4424, 96, 768, 1280, 0, 0, 0}, {4377, 5654, 21845, 0, 0, 0, 0}, {4394, 768, 64, 1024, 0, 0, 0}, {4379, 13107, 5140, 0, 0, 0, 0}, {4428, 32, 512, 1280, 0, 0, 0}, {4381, 4626, 21845, 0, 0, 0, 0}, {4590, 3840, 8738, 17476, 0, 0, 0}, {271, 32, 512, 64, 1024, 4112, 0}, {4080, 4352, 0, 0, 0, 0, 0}, {514, 1028, 273, 0, 0, 0, 0}, {1370, 32, 514, 4354, 0, 0, 0}, {4403, 4608, 17420, 0, 0, 0, 0}, {828, 64, 1028, 4356, 0, 0, 0}, {8714, 4437, 5120, 0, 0, 0, 0}, {1370, 96, 1542, 4358, 0, 0, 0}, {4471, 5632, 17416, 0, 0, 0, 0}, {4360, 5744, 21760, 0, 0, 0, 0}, {5132, 1333, 1542, 1365, 0, 0, 0}, {4362, 13056, 5200, 0, 0, 0, 0}, {4616, 819, 64, 1028, 0, 0, 0}, {4364, 4656, 21760, 0, 0, 0, 0}, {5128, 32, 514, 1365, 0, 0, 0}, {286, 32, 514, 64, 1028, 4112, 0}, {4607, 7680, 8704, 17408, 0, 0, 0}, {18432, 8704, 0, 0, 0, 0, 0}, {19, 80, 257, 0, 0, 0, 0}, {32, 514, 16384, 0, 0, 0, 0}, {15, 51, 771, 4352, 0, 0, 0}, {76, 8772, 1028, 0, 0, 0, 0}, {15, 4613, 80, 1285, 0, 0, 0}, {108, 1542, 17408, 0, 0, 0, 0}, {15, 112, 4615, 5376, 0, 0, 0}, {128, 2056, 8712, 16384, 0, 0, 0}, {15, 51, 771, 80, 1285, 4357, 0}, {160, 2570, 8714, 16906, 0, 0, 0}, {15, 51, 771, 67, 1028, 4359, 0}, {204, 3084, 8704, 17408, 0, 0, 0}, {15, 32, 514, 80, 1285, 4096, 0}, {76, 32, 514, 1028, 0, 0, 0}, {15, 4608, 21760, 0, 0, 0, 0}, {32, 512, 80, 4112, 0, 0, 0}, {3072, 51, 4369, 0, 0, 0, 0}, {240, 4626, 0, 0, 0, 0, 0}, {19, 1024, 4352, 0, 0, 0, 0}, {60, 4628, 80, 5140, 0, 0, 0}, {127, 8789, 5397, 0, 0, 0, 0}, {76, 112, 4630, 1024, 0, 0, 0}, {95, 5911, 21760, 0, 0, 0, 0}, {4632, 12336, 80, 0, 0, 0, 0}, {4377, 51, 4437, 1024, 0, 0, 0}, {4634, 112, 16448, 0, 0, 0, 0}, {4379, 51, 1536, 4420, 0, 0, 0}, {28, 32, 512, 80, 1024, 4096, 0}, {255, 7453, 8738, 21845, 0, 0, 0}, {4638, 4642, 17476, 0, 0, 0, 0}, {5407, 32, 512, 5440, 0, 0, 0}, {32, 512, 16384, 0, 0, 0, 0}, {15, 51, 771, 4369, 0, 0, 0}, {18568, 8738, 0, 0, 0, 0, 0}, {259, 1280, 272, 0, 0, 0, 0}, {1548, 1632, 17476, 0, 0, 0, 0}, {15, 5413, 1792, 5461, 0, 0, 0}, {1036, 9766, 1088, 0, 0, 0, 0}, {15, 4647, 80, 1280, 0, 0, 0}, {160, 2560, 8744, 16936, 0, 0, 0}, {15, 51, 771, 67, 1027, 4374, 0}, {128, 2048, 8746, 16384, 0, 0, 0}, {15, 51, 771, 80, 1280, 4372, 0}, {1036, 32, 512, 1088, 0, 0, 0}, {15, 4642, 21845, 0, 0, 0, 0}, {204, 3084, 8738, 17476, 0, 0, 0}, {15, 32, 512, 80, 1280, 4096, 0}, {23040, 4656, 0, 0, 0, 0, 0}, {19, 1092, 4369, 0, 0, 0, 0}, {32, 514, 80, 4112, 0, 0, 0}, {3072, 51, 4352, 0, 0, 0, 0}, {1032, 1076, 5632, 1092, 0, 0, 0}, {95, 5984, 21845, 0, 0, 0, 0}, {4618, 4662, 80, 5120, 0, 0, 0}, {5439, 14135, 5440, 0, 0, 0, 0}, {4680, 112, 16448, 0, 0, 0, 0}, {4362, 51, 5888, 4437, 0, 0, 0}, {4666, 12336, 80, 0, 0, 0, 0}, {4360, 51, 4420, 5376, 0, 0, 0}, {60, 4608, 17408, 0, 0, 0, 0}, {95, 32, 514, 5397, 0, 0, 0}, {28, 32, 514, 80, 1044, 4096, 0}, {255, 7487, 8704, 21760, 0, 0, 0}, {128, 2048, 8704, 16448, 0, 0, 0}, {15, 51, 768, 80, 1285, 4369, 0}, {160, 2570, 8738, 16962, 0, 0, 0}, {15, 51, 768, 67, 1024, 4352, 0}, {204, 3072, 8772, 17476, 0, 0, 0}, {15, 32, 517, 80, 1285, 4112, 0}, {76, 32, 582, 1024, 0, 0, 0}, {15, 4679, 21760, 0, 0, 0, 0}, {8840, 18504, 0, 0, 0, 0, 0}, {19, 261, 4096, 0, 0, 0, 0}, {522, 32, 16448, 0, 0, 0, 0}, {15, 51, 768, 4420, 0, 0, 0}, {76, 8704, 1024, 0, 0, 0, 0}, {15, 4626, 80, 1285, 0, 0, 0}, {1546, 1638, 17476, 0, 0, 0, 0}, {15, 5424, 1792, 5440, 0, 0, 0}, {4608, 80, 0, 0, 0, 0, 0}, {76, 51, 1028, 4369, 0, 0, 0}, {112, 4690, 16384, 0, 0, 0, 0}, {95, 51, 1619, 4352, 0, 0, 0}, {28, 32, 532, 80, 1028, 4112, 0}, {255, 7509, 8789, 21845, 0, 0, 0}, {60, 4694, 17408, 0, 0, 0, 0}, {95, 32, 599, 5376, 0, 0, 0}, {520, 32, 80, 4096, 0, 0, 0}, {3084, 51, 4437, 0, 0, 0, 0}, {4698, 12288, 0, 0, 0, 0, 0}, {19, 4420, 1028, 0, 0, 0, 0}, {4620, 4656, 80, 5120, 0, 0, 0}, {5418, 8738, 5461, 0, 0, 0, 0}, {76, 112, 4626, 1028, 0, 0, 0}, {95, 5888, 21760, 0, 0, 0, 0}, {160, 2560, 8704, 16992, 0, 0, 0}, {15, 51, 768, 67, 1031, 4369, 0}, {128, 2056, 8738, 16448, 0, 0, 0}, {15, 51, 768, 80, 1280, 4352, 0}, {1032, 32, 1536, 1092, 0, 0, 0}, {15, 4709, 21845, 0, 0, 0, 0}, {204, 3072, 8806, 17408, 0, 0, 0}, {15, 32, 519, 80, 1280, 4112, 0}, {520, 32, 16448, 0, 0, 0, 0}, {15, 51, 768, 4437, 0, 0, 0}, {8874, 27242, 0, 0, 0, 0, 0}, {19, 276, 4096, 0, 0, 0, 0}, {108, 1536, 17408, 0, 0, 0, 0}, {15, 112, 4626, 5397, 0, 0, 0}, {1032, 8738, 1092, 0, 0, 0, 0}, {15, 4656, 80, 1280, 0, 0, 0}, {112, 4608, 16384, 0, 0, 0, 0}, {95, 51, 1542, 4369, 0, 0, 0}, {2570, 4642, 80, 0, 0, 0, 0}, {1036, 51, 1088, 4352, 0, 0, 0}, {4680, 4724, 17476, 0, 0, 0, 0}, {5386, 32, 5888, 5461, 0, 0, 0}, {28, 32, 534, 80, 1040, 4112, 0}, {255, 7543, 8823, 21760, 0, 0, 0}, {4728, 12288, 0, 0, 0, 0, 0}, {19, 4437, 5397, 0, 0, 0, 0}, {522, 32, 80, 4096, 0, 0, 0}, {3084, 51, 4420, 0, 0, 0, 0}, {1036, 1072, 5632, 1088, 0, 0, 0}, {95, 6007, 21845, 0, 0, 0, 0}, {60, 4626, 80, 5140, 0, 0, 0}, {127, 8704, 5376, 0, 0, 0, 0}, {128, 2048, 8704, 16384, 0, 0, 0}, {15, 51, 771, 80, 1285, 4369, 0}, {160, 2570, 8738, 16930, 0, 0, 0}, {15, 51, 771, 67, 1027, 4352, 0}, {204, 3084, 8772, 17476, 0, 0, 0}, {15, 32, 517, 80, 1285, 4096, 0}, {1036, 32, 1542, 1088, 0, 0, 0}, {15, 4727, 21760, 0, 0, 0, 0}, {8840, 27136, 0, 0, 0, 0, 0}, {19, 277, 4112, 0, 0, 0, 0}, {522, 32, 16384, 0, 0, 0, 0}, {15, 51, 771, 4420, 0, 0, 0}, {1036, 8704, 1088, 0, 0, 0, 0}, {15, 4642, 80, 1285, 0, 0, 0}, {108, 1542, 17476, 0, 0, 0, 0}, {15, 112, 4608, 5376, 0, 0, 0}, {2560, 4656, 80, 0, 0, 0, 0}, {1032, 51, 1092, 4369, 0, 0, 0}, {112, 4626, 16448, 0, 0, 0, 0}, {95, 51, 1536, 4352, 0, 0, 0}, {28, 32, 532, 80, 1044, 4096, 0}, {255, 7530, 8789, 21845, 0, 0, 0}, {4698, 4710, 17408, 0, 0, 0, 0}, {5407, 32, 5911, 5440, 0, 0, 0}, {520, 32, 80, 4112, 0, 0, 0}, {3072, 51, 4437, 0, 0, 0, 0}, {4714, 12336, 0, 0, 0, 0, 0}, {19, 4420, 5376, 0, 0, 0, 0}, {60, 4608, 80, 5120, 0, 0, 0}, {127, 8738, 5397, 0, 0, 0, 0}, {1032, 1076, 5654, 1092, 0, 0, 0}, {95, 5984, 21760, 0, 0, 0, 0}, {160, 2560, 8704, 16896, 0, 0, 0}, {15, 51, 771, 67, 1028, 4369, 0}, {128, 2056, 8738, 16384, 0, 0, 0}, {15, 51, 771, 80, 1280, 4352, 0}, {76, 32, 580, 1028, 0, 0, 0}, {15, 4693, 21845, 0, 0, 0, 0}, {204, 3084, 8806, 17408, 0, 0, 0}, {15, 32, 519, 80, 1280, 4096, 0}, {520, 32, 16384, 0, 0, 0, 0}, {15, 51, 771, 4437, 0, 0, 0}, {8874, 18432, 0, 0, 0, 0, 0}, {19, 260, 4112, 0, 0, 0, 0}, {1548, 1632, 17408, 0, 0, 0, 0}, {15, 5413, 1799, 5461, 0, 0, 0}, {76, 8738, 1028, 0, 0, 0, 0}, {15, 4608, 80, 1280, 0, 0, 0}, {112, 4672, 16448, 0, 0, 0, 0}, {95, 51, 1621, 4369, 0, 0, 0}, {4626, 80, 0, 0, 0, 0, 0}, {76, 51, 1024, 4352, 0, 0, 0}, {60, 4676, 17476, 0, 0, 0, 0}, {95, 32, 597, 5397, 0, 0, 0}, {28, 32, 534, 80, 1024, 4096, 0}, {255, 7496, 8823, 21760, 0, 0, 0}, {4680, 12336, 0, 0, 0, 0, 0}, {19, 4437, 1024, 0, 0, 0, 0}, {522, 32, 80, 4112, 0, 0, 0}, {3072, 51, 4420, 0, 0, 0, 0}, {76, 112, 4608, 1024, 0, 0, 0}, {95, 5911, 21845, 0, 0, 0, 0}, {4638, 4642, 80, 5140, 0, 0, 0}, {5439, 8704, 5440, 0, 0, 0, 0}, {18624, 8704, 0, 0, 0, 0, 0}, {258, 1285, 273, 0, 0, 0, 0}, {32, 514, 16448, 0, 0, 0, 0}, {15, 51, 768, 4352, 0, 0, 0}, {1032, 9728, 1092, 0, 0, 0, 0}, {15, 4661, 80, 1285, 0, 0, 0}, {1546, 1638, 17408, 0, 0, 0, 0}, {15, 5424, 1799, 5440, 0, 0, 0}, {128, 2056, 8712, 16448, 0, 0, 0}, {15, 51, 768, 80, 1285, 4357, 0}, {160, 2570, 8714, 17002, 0, 0, 0}, {15, 51, 768, 67, 1031, 4359, 0}, {204, 3072, 8704, 17408, 0, 0, 0}, {15, 32, 514, 80, 1285, 4112, 0}, {1032, 32, 514, 1092, 0, 0, 0}, {15, 4656, 21760, 0, 0, 0, 0}, {32, 512, 80, 4096, 0, 0, 0}, {3084, 51, 4369, 0, 0, 0, 0}, {23130, 4642, 0, 0, 0, 0, 0}, {19, 1088, 4352, 0, 0, 0, 0}, {4632, 4644, 80, 5140, 0, 0, 0}, {5418, 14080, 5461, 0, 0, 0, 0}, {1036, 1072, 5654, 1088, 0, 0, 0}, {95, 6007, 21760, 0, 0, 0, 0}, {4648, 12288, 80, 0, 0, 0, 0}, {4377, 51, 4437, 5397, 0, 0, 0}, {4698, 112, 16384, 0, 0, 0, 0}, {4379, 51, 5911, 4420, 0, 0, 0}, {28, 32, 512, 80, 1040, 4112, 0}, {255, 7458, 8738, 21845, 0, 0, 0}, {60, 4626, 17476, 0, 0, 0, 0}, {95, 32, 512, 5376, 0, 0, 0}, {32, 512, 16448, 0, 0, 0, 0}, {15, 51, 768, 4369, 0, 0, 0}, {18504, 8738, 0, 0, 0, 0, 0}, {19, 80, 256, 0, 0, 0, 0}, {108, 1536, 17476, 0, 0, 0, 0}, {15, 112, 4629, 5397, 0, 0, 0}, {76, 8806, 1024, 0, 0, 0, 0}, {15, 4631, 80, 1280, 0, 0, 0}, {160, 2560, 8744, 16968, 0, 0, 0}, {15, 51, 768, 67, 1024, 4374, 0}, {128, 2048, 8746, 16448, 0, 0, 0}, {15, 51, 768, 80, 1280, 4372, 0}, {76, 32, 512, 1024, 0, 0, 0}, {15, 4626, 21845, 0, 0, 0, 0}, {204, 3072, 8738, 17476, 0, 0, 0}, {15, 32, 512, 80, 1280, 4112, 0}, {240, 4608, 0, 0, 0, 0, 0}, {19, 1028, 4369, 0, 0, 0, 0}, {32, 514, 80, 4096, 0, 0, 0}, {3084, 51, 4352, 0, 0, 0, 0}, {76, 112, 4612, 1028, 0, 0, 0}, {95, 5888, 21845, 0, 0, 0, 0}, {60, 4614, 80, 5120, 0, 0, 0}, {127, 8823, 5376, 0, 0, 0, 0}, {4616, 112, 16384, 0, 0, 0, 0}, {4362, 51, 1542, 4437, 0, 0, 0}, {4618, 12288, 80, 0, 0, 0, 0}, {4360, 51, 4420, 1028, 0, 0, 0}, {4620, 4656, 17408, 0, 0, 0, 0}, {5386, 32, 514, 5461, 0, 0, 0}, {28, 32, 514, 80, 1028, 4112, 0}, {255, 7424, 8704, 21760, 0, 0, 0}, {4864, 20480, 0, 0, 0, 0, 0}, {72, 34, 257, 0, 0, 0, 0}, {1290, 34, 514, 4352, 0, 0, 0}, {4144, 771, 16384, 0, 0, 0, 0}, {4104, 4868, 4160, 1028, 0, 0, 0}, {4959, 13141, 1285, 0, 0, 0, 0}, {4106, 4192, 4870, 5376, 0, 0, 0}, {5240, 1799, 17408, 0, 0, 0, 0}, {4872, 13056, 5120, 0, 0, 0, 0}, {4154, 771, 4176, 1285, 0, 0, 0}, {1290, 5632, 21760, 0, 0, 0, 0}, {72, 4208, 771, 1028, 0, 0, 0}, {780, 4096, 0, 0, 0, 0, 0}, {34, 514, 4437, 1285, 0, 0, 0}, {270, 34, 514, 326, 1028, 4098, 0}, {5119, 3855, 8192, 17167, 0, 0, 0}, {3072, 816, 4112, 0, 0, 0, 0}, {34, 512, 1365, 4369, 0, 0, 0}, {274, 1024, 4352, 0, 0, 0, 0}, {20640, 4883, 0, 0, 0, 0, 0}, {4972, 13124, 5140, 0, 0, 0, 0}, {4138, 4885, 4160, 5397, 0, 0, 0}, {1370, 5654, 21760, 0, 0, 0, 0}, {72, 4192, 4887, 1024, 0, 0, 0}, {4120, 816, 4176, 1024, 0, 0, 0}, {4889, 13107, 1365, 0, 0, 0, 0}, {4122, 1328, 1536, 5440, 0, 0, 0}, {4891, 1911, 17476, 0, 0, 0, 0}, {5100, 7196, 8224, 20560, 0, 0, 0}, {285, 34, 512, 341, 1024, 4096, 0}, {5150, 34, 512, 4420, 0, 0, 0}, {4895, 4128, 16448, 0, 0, 0, 0}, {3840, 4896, 0, 0, 0, 0, 0}, {259, 1092, 4369, 0, 0, 0, 0}, {34, 512, 1280, 4352, 0, 0, 0}, {192, 771, 4112, 0, 0, 0, 0}, {1036, 5156, 1792, 1092, 0, 0, 0}, {1295, 5744, 21845, 0, 0, 0, 0}, {780, 4902, 4160, 1280, 0, 0, 0}, {1807, 10023, 5200, 0, 0, 0, 0}, {5160, 1792, 17408, 0, 0, 0, 0}, {4122, 4208, 771, 5397, 0, 0, 0}, {4906, 13056, 1280, 0, 0, 0, 0}, {4120, 771, 4176, 5140, 0, 0, 0}, {780, 4128, 16448, 0, 0, 0, 0}, {1295, 34, 512, 4437, 0, 0, 0}, {268, 34, 512, 324, 1280, 4096, 0}, {5087, 3855, 8224, 20560, 0, 0, 0}, {4144, 4864, 16384, 0, 0, 0, 0}, {1375, 34, 514, 4369, 0, 0, 0}, {1032, 514, 272, 0, 0, 0, 0}, {4915, 20480, 0, 0, 0, 0, 0}, {4940, 1904, 17476, 0, 0, 0, 0}, {4106, 1333, 5632, 5461, 0, 0, 0}, {5692, 13878, 1360, 0, 0, 0, 0}, {4104, 4919, 4160, 5120, 0, 0, 0}, {1032, 5168, 5888, 1088, 0, 0, 0}, {1375, 5734, 21845, 0, 0, 0, 0}, {4874, 816, 4176, 5376, 0, 0, 0}, {4923, 13107, 5188, 0, 0, 0, 0}, {5068, 7228, 8192, 17212, 0, 0, 0}, {287, 34, 514, 343, 1303, 4098, 0}, {34, 514, 4420, 5140, 0, 0, 0}, {831, 4096, 0, 0, 0, 0, 0}, {768, 4160, 0, 0, 0, 0, 0}, {522, 34, 1285, 4369, 0, 0, 0}, {266, 34, 768, 322, 1024, 4352, 0}, {5043, 3855, 13107, 17219, 0, 0, 0}, {1792, 5188, 0, 0, 0, 0, 0}, {783, 869, 1285, 4112, 0, 0, 0}, {1290, 4934, 21760, 0, 0, 0, 0}, {72, 4144, 839, 1024, 0, 0, 0}, {72, 768, 1024, 4096, 0, 0, 0}, {170, 4883, 1285, 0, 0, 0, 0}, {1290, 4128, 768, 5440, 0, 0, 0}, {1807, 4915, 17476, 0, 0, 0, 0}, {4940, 20480, 0, 0, 0, 0, 0}, {34, 4626, 261, 0, 0, 0, 0}, {1290, 34, 1792, 4420, 0, 0, 0}, {783, 4208, 16448, 0, 0, 0, 0}, {5024, 7248, 13056, 20560, 0, 0, 0}, {281, 34, 785, 337, 1028, 4369, 0}, {1370, 34, 1874, 4352, 0, 0, 0}, {4192, 4947, 16384, 0, 0, 0, 0}, {72, 884, 1028, 4112, 0, 0, 0}, {5632, 1365, 0, 0, 0, 0, 0}, {4186, 4144, 854, 5376, 0, 0, 0}, {5160, 4951, 17408, 0, 0, 0, 0}, {2056, 4896, 5200, 0, 0, 0, 0}, {1548, 819, 1365, 4096, 0, 0, 0}, {1370, 4864, 21760, 0, 0, 0, 0}, {72, 4128, 4883, 1028, 0, 0, 0}, {828, 12336, 4176, 0, 0, 0, 0}, {520, 34, 4437, 5120, 0, 0, 0}, {278, 4420, 1028, 0, 0, 0, 0}, {4959, 28672, 0, 0, 0, 0, 0}, {4192, 768, 16384, 0, 0, 0, 0}, {1295, 34, 1799, 4369, 0, 0, 0}, {264, 34, 768, 320, 1280, 4352, 0}, {5011, 3855, 13107, 20560, 0, 0, 0}, {1800, 4964, 17476, 0, 0, 0, 0}, {1295, 4144, 1536, 5461, 0, 0, 0}, {4966, 1280, 0, 0, 0, 0, 0}, {1032, 1799, 1088, 4112, 0, 0, 0}, {1032, 4128, 768, 1088, 0, 0, 0}, {1295, 4915, 21845, 0, 0, 0, 0}, {106, 768, 1280, 4096, 0, 0, 0}, {136, 4883, 5140, 0, 0, 0, 0}, {4972, 28672, 0, 0, 0, 0, 0}, {263, 4437, 5397, 0, 0, 0, 0}, {520, 34, 4420, 1280, 0, 0, 0}, {783, 12336, 4176, 0, 0, 0, 0}, {4992, 7280, 13056, 17264, 0, 0, 0}, {283, 34, 785, 339, 1303, 4369, 0}, {522, 34, 1360, 4352, 0, 0, 0}, {3084, 819, 4160, 0, 0, 0, 0}, {1036, 4144, 5888, 1092, 0, 0, 0}, {1375, 4981, 21845, 0, 0, 0, 0}, {1338, 1542, 1360, 4112, 0, 0, 0}, {4983, 5120, 0, 0, 0, 0, 0}, {5240, 4864, 17408, 0, 0, 0, 0}, {4170, 4128, 4883, 5397, 0, 0, 0}, {2570, 4896, 1360, 0, 0, 0, 0}, {1036, 819, 1092, 4096, 0, 0, 0}, {4940, 4208, 16448, 0, 0, 0, 0}, {5130, 34, 5632, 4437, 0, 0, 0}, {34, 4626, 276, 0, 0, 0, 0}, {4991, 20480, 0, 0, 0, 0, 0}, {4992, 3840, 13056, 20480, 0, 0, 0}, {265, 34, 771, 321, 1285, 4369, 0}, {1290, 34, 1792, 4352, 0, 0, 0}, {4208, 771, 16448, 0, 0, 0, 0}, {1036, 1792, 1092, 4096, 0, 0, 0}, {4981, 1285, 0, 0, 0, 0, 0}, {1290, 4128, 1542, 5440, 0, 0, 0}, {1807, 4983, 17408, 0, 0, 0, 0}, {136, 4864, 5120, 0, 0, 0, 0}, {106, 771, 1285, 4112, 0, 0, 0}, {1290, 4896, 21760, 0, 0, 0, 0}, {1036, 4144, 771, 1092, 0, 0, 0}, {780, 12288, 4160, 0, 0, 0, 0}, {522, 34, 4437, 1285, 0, 0, 0}, {262, 4420, 5376, 0, 0, 0, 0}, {4991, 28784, 0, 0, 0, 0, 0}, {3072, 816, 4176, 0, 0, 0, 0}, {520, 34, 1365, 4369, 0, 0, 0}, {282, 34, 786, 338, 1298, 4352, 0}, {5011, 7276, 13107, 17203, 0, 0, 0}, {4964, 5140, 0, 0, 0, 0, 0}, {1343, 1536, 1365, 4096, 0, 0, 0}, {1370, 4966, 21760, 0, 0, 0, 0}, {1032, 4128, 5911, 1088, 0, 0, 0}, {1032, 816, 1088, 4112, 0, 0, 0}, {2560, 4915, 1365, 0, 0, 0, 0}, {4186, 4144, 4864, 5376, 0, 0, 0}, {5228, 4883, 17476, 0, 0, 0, 0}, {4972, 20560, 0, 0, 0, 0, 0}, {34, 4608, 277, 0, 0, 0, 0}, {5150, 34, 5654, 4420, 0, 0, 0}, {4959, 4192, 16384, 0, 0, 0, 0}, {5024, 3840, 13056, 17152, 0, 0, 0}, {267, 34, 771, 323, 1028, 4369, 0}, {520, 34, 1280, 4352, 0, 0, 0}, {771, 4176, 0, 0, 0, 0, 0}, {72, 4128, 836, 1028, 0, 0, 0}, {1295, 4949, 21845, 0, 0, 0, 0}, {780, 870, 1280, 4096, 0, 0, 0}, {1799, 5200, 0, 0, 0, 0, 0}, {1800, 4896, 17408, 0, 0, 0, 0}, {1295, 4144, 771, 5461, 0, 0, 0}, {170, 4864, 1280, 0, 0, 0, 0}, {72, 771, 1028, 4112, 0, 0, 0}, {780, 4192, 16384, 0, 0, 0, 0}, {1295, 34, 1799, 4437, 0, 0, 0}, {34, 4608, 260, 0, 0, 0, 0}, {4959, 20560, 0, 0, 0, 0, 0}, {4208, 4928, 16448, 0, 0, 0, 0}, {1375, 34, 1877, 4369, 0, 0, 0}, {280, 34, 786, 336, 1024, 4352, 0}, {5043, 7244, 13107, 20480, 0, 0, 0}, {5180, 4932, 17476, 0, 0, 0, 0}, {4170, 4128, 853, 5397, 0, 0, 0}, {5654, 1360, 0, 0, 0, 0, 0}, {72, 887, 1024, 4096, 0, 0, 0}, {72, 4144, 4864, 1024, 0, 0, 0}, {1375, 4883, 21845, 0, 0, 0, 0}, {1546, 816, 1360, 4112, 0, 0, 0}, {2048, 4915, 5188, 0, 0, 0, 0}, {4940, 28784, 0, 0, 0, 0, 0}, {279, 4437, 1024, 0, 0, 0, 0}, {522, 34, 4420, 5140, 0, 0, 0}, {831, 12288, 4160, 0, 0, 0, 0}, {192, 768, 4096, 0, 0, 0, 0}, {34, 514, 1285, 4369, 0, 0, 0}, {258, 1088, 4352, 0, 0, 0, 0}, {3855, 4915, 0, 0, 0, 0, 0}, {1800, 9984, 5188, 0, 0, 0, 0}, {783, 4917, 4176, 1285, 0, 0, 0}, {1290, 5734, 21760, 0, 0, 0, 0}, {1032, 5168, 1799, 1088, 0, 0, 0}, {4104, 768, 4160, 5120, 0, 0, 0}, {4921, 13107, 1285, 0, 0, 0, 0}, {4106, 4192, 768, 5376, 0, 0, 0}, {5180, 1799, 17476, 0, 0, 0, 0}, {5068, 3840, 8192, 20480, 0, 0, 0}, {269, 34, 514, 325, 1285, 4112, 0}, {1290, 34, 514, 4420, 0, 0, 0}, {783, 4144, 16384, 0, 0, 0, 0}, {4896, 20560, 0, 0, 0, 0, 0}, {1036, 512, 273, 0, 0, 0, 0}, {1370, 34, 512, 4352, 0, 0, 0}, {4128, 4883, 16448, 0, 0, 0, 0}, {4120, 4900, 4176, 5140, 0, 0, 0}, {5674, 13824, 1365, 0, 0, 0, 0}, {4122, 1328, 5654, 5440, 0, 0, 0}, {4959, 1911, 17408, 0, 0, 0, 0}, {4904, 13056, 5200, 0, 0, 0, 0}, {4889, 819, 4160, 5397, 0, 0, 0}, {1370, 5744, 21760, 0, 0, 0, 0}, {1036, 5156, 5911, 1092, 0, 0, 0}, {828, 4112, 0, 0, 0, 0, 0}, {34, 512, 4437, 5120, 0, 0, 0}, {286, 34, 512, 342, 1298, 4114, 0}, {5087, 7200, 8224, 17279, 0, 0, 0}, {4128, 768, 16448, 0, 0, 0, 0}, {1295, 34, 512, 4369, 0, 0, 0}, {72, 34, 256, 0, 0, 0, 0}, {4883, 20560, 0, 0, 0, 0, 0}, {5228, 1792, 17476, 0, 0, 0, 0}, {4122, 4208, 4885, 5397, 0, 0, 0}, {4940, 13158, 1280, 0, 0, 0, 0}, {4120, 4887, 4176, 1024, 0, 0, 0}, {72, 4192, 768, 1024, 0, 0, 0}, {1295, 5654, 21845, 0, 0, 0, 0}, {4138, 768, 4160, 1280, 0, 0, 0}, {4891, 13107, 5140, 0, 0, 0, 0}, {5100, 3840, 8224, 17228, 0, 0, 0}, {271, 34, 512, 327, 1024, 4114, 0}, {34, 512, 4420, 1280, 0, 0, 0}, {783, 4112, 0, 0, 0, 0, 0}, {20720, 4864, 0, 0, 0, 0, 0}, {275, 1028, 4369, 0, 0, 0, 0}, {34, 514, 1360, 4352, 0, 0, 0}, {3084, 819, 4096, 0, 0, 0, 0}, {72, 4208, 4868, 1028, 0, 0, 0}, {1375, 5632, 21845, 0, 0, 0, 0}, {4154, 4870, 4176, 5376, 0, 0, 0}, {4991, 13175, 5120, 0, 0, 0, 0}, {4872, 1904, 17408, 0, 0, 0, 0}, {4106, 1333, 1542, 5461, 0, 0, 0}, {4874, 13056, 1360, 0, 0, 0, 0}, {4104, 819, 4160, 1028, 0, 0, 0}, {4876, 4144, 16384, 0, 0, 0, 0}, {5130, 34, 514, 4437, 0, 0, 0}, {284, 34, 514, 340, 1028, 4112, 0}, {5119, 7168, 8192, 20480, 0, 0, 0}, {10240, 17408, 0, 0, 0, 0, 0}, {48, 21, 257, 0, 0, 0, 0}, {42, 514, 17442, 0, 0, 0, 0}, {15, 48, 771, 5123, 0, 0, 0}, {8192, 64, 1028, 0, 0, 0, 0}, {15, 85, 1285, 4352, 0, 0, 0}, {106, 1542, 17510, 0, 0, 0, 0}, {15, 112, 4864, 5127, 0, 0, 0}, {128, 2056, 8192, 17416, 0, 0, 0}, {15, 48, 771, 85, 1285, 4355, 0}, {170, 2570, 8704, 17408, 0, 0, 0}, {15, 48, 771, 64, 1028, 4096, 0}, {192, 3084, 9228, 17420, 0, 0, 0}, {15, 37, 514, 85, 1285, 4359, 0}, {42, 514, 64, 1028, 0, 0, 0}, {15, 13056, 5120, 0, 0, 0, 0}, {48, 64, 1024, 4112, 0, 0, 0}, {2560, 85, 4369, 0, 0, 0, 0}, {90, 48, 4626, 5138, 0, 0, 0}, {127, 4883, 17459, 0, 0, 0, 0}, {240, 5140, 0, 0, 0, 0, 0}, {512, 21, 4352, 0, 0, 0, 0}, {90, 112, 512, 5142, 0, 0, 0}, {63, 5911, 17527, 0, 0, 0, 0}, {5144, 48, 20560, 0, 0, 0, 0}, {4377, 4403, 512, 85, 0, 0, 0}, {26, 48, 512, 64, 1024, 4096, 0}, {255, 6939, 13107, 17476, 0, 0, 0}, {5148, 112, 20560, 0, 0, 0, 0}, {4381, 4386, 1536, 85, 0, 0, 0}, {5150, 8738, 5188, 0, 0, 0, 0}, {4895, 4896, 64, 1024, 0, 0, 0}, {128, 2048, 8224, 17408, 0, 0, 0}, {15, 48, 771, 85, 1280, 4369, 0}, {170, 2560, 8738, 17442, 0, 0, 0}, {15, 48, 771, 64, 1027, 4112, 0}, {192, 3084, 9252, 17476, 0, 0, 0}, {15, 37, 512, 85, 1280, 4352, 0}, {1036, 1062, 512, 64, 0, 0, 0}, {15, 5159, 20560, 0, 0, 0, 0}, {17544, 10280, 0, 0, 0, 0, 0}, {259, 21, 4096, 0, 0, 0, 0}, {42, 512, 17408, 0, 0, 0, 0}, {15, 48, 771, 5140, 0, 0, 0}, {1036, 8224, 64, 0, 0, 0, 0}, {15, 4386, 85, 1280, 0, 0, 0}, {1548, 1638, 17476, 0, 0, 0, 0}, {15, 5152, 1792, 5200, 0, 0, 0}, {48, 5120, 0, 0, 0, 0, 0}, {42, 514, 85, 4369, 0, 0, 0}, {26, 48, 514, 64, 1042, 4112, 0}, {255, 6963, 13107, 17459, 0, 0, 0}, {2056, 5172, 5188, 0, 0, 0, 0}, {1546, 1589, 85, 4352, 0, 0, 0}, {90, 5174, 20560, 0, 0, 0, 0}, {1032, 1079, 4864, 64, 0, 0, 0}, {1032, 48, 64, 4096, 0, 0, 0}, {2570, 4403, 85, 0, 0, 0, 0}, {5130, 48, 4608, 5200, 0, 0, 0}, {4940, 4915, 17476, 0, 0, 0, 0}, {5180, 20480, 0, 0, 0, 0, 0}, {4386, 514, 21, 0, 0, 0, 0}, {90, 112, 514, 5140, 0, 0, 0}, {63, 5888, 17408, 0, 0, 0, 0}, {8192, 64, 1024, 0, 0, 0, 0}, {15, 85, 1285, 4369, 0, 0, 0}, {1546, 1632, 16962, 0, 0, 0, 0}, {15, 5171, 1792, 5187, 0, 0, 0}, {10376, 17476, 0, 0, 0, 0, 0}, {768, 261, 272, 0, 0, 0, 0}, {522, 544, 17990, 0, 0, 0, 0}, {15, 48, 768, 5191, 0, 0, 0}, {192, 3072, 9288, 17480, 0, 0, 0}, {15, 37, 517, 85, 1285, 4374, 0}, {522, 544, 64, 1024, 0, 0, 0}, {15, 13107, 5188, 0, 0, 0, 0}, {128, 2048, 8192, 17484, 0, 0, 0}, {15, 48, 768, 85, 1285, 4370, 0}, {170, 2570, 8738, 17476, 0, 0, 0}, {15, 48, 768, 64, 1024, 4096, 0}, {15360, 5200, 0, 0, 0, 0, 0}, {546, 21, 4369, 0, 0, 0, 0}, {5128, 5154, 5632, 5202, 0, 0, 0}, {5983, 5984, 21331, 0, 0, 0, 0}, {48, 64, 1028, 4112, 0, 0, 0}, {2560, 85, 4352, 0, 0, 0, 0}, {5132, 48, 4608, 5206, 0, 0, 0}, {4959, 4896, 22359, 0, 0, 0, 0}, {5208, 112, 20560, 0, 0, 0, 0}, {4364, 4403, 5888, 85, 0, 0, 0}, {90, 8704, 5120, 0, 0, 0, 0}, {63, 4883, 64, 1028, 0, 0, 0}, {5212, 48, 20560, 0, 0, 0, 0}, {4360, 4386, 4864, 85, 0, 0, 0}, {26, 48, 530, 64, 1028, 4096, 0}, {255, 7007, 13056, 17408, 0, 0, 0}, {192, 3072, 9312, 17408, 0, 0, 0}, {15, 37, 519, 85, 1280, 4369, 0}, {1032, 1058, 1536, 64, 0, 0, 0}, {15, 5219, 20560, 0, 0, 0, 0}, {128, 2056, 8224, 17476, 0, 0, 0}, {15, 48, 768, 85, 1280, 4352, 0}, {170, 2560, 8704, 17510, 0, 0, 0}, {15, 48, 768, 64, 1031, 4112, 0}, {1032, 8224, 64, 0, 0, 0, 0}, {15, 4403, 85, 1280, 0, 0, 0}, {106, 1536, 17408, 0, 0, 0, 0}, {15, 112, 4883, 5140, 0, 0, 0}, {17612, 27756, 0, 0, 0, 0, 0}, {274, 21, 4096, 0, 0, 0, 0}, {520, 546, 17476, 0, 0, 0, 0}, {15, 48, 768, 5200, 0, 0, 0}, {112, 5120, 0, 0, 0, 0, 0}, {63, 1542, 85, 4369, 0, 0, 0}, {90, 5234, 20560, 0, 0, 0, 0}, {1036, 1075, 5888, 64, 0, 0, 0}, {3084, 48, 5188, 0, 0, 0, 0}, {522, 544, 85, 4352, 0, 0, 0}, {26, 48, 528, 64, 1046, 4112, 0}, {255, 7031, 13056, 17527, 0, 0, 0}, {5240, 20480, 0, 0, 0, 0, 0}, {4403, 4883, 21, 0, 0, 0, 0}, {5130, 5152, 5632, 5200, 0, 0, 0}, {5960, 6007, 17476, 0, 0, 0, 0}, {1036, 48, 64, 4096, 0, 0, 0}, {2570, 4386, 85, 0, 0, 0, 0}, {90, 48, 4626, 5140, 0, 0, 0}, {127, 4864, 17408, 0, 0, 0, 0}, {128, 2048, 8192, 17408, 0, 0, 0}, {15, 48, 771, 85, 1285, 4369, 0}, {170, 2570, 8738, 17442, 0, 0, 0}, {15, 48, 771, 64, 1027, 4096, 0}, {192, 3084, 9284, 17476, 0, 0, 0}, {15, 37, 517, 85, 1285, 4352, 0}, {1036, 1062, 1542, 64, 0, 0, 0}, {15, 5239, 20480, 0, 0, 0, 0}, {17544, 27648, 0, 0, 0, 0, 0}, {275, 21, 4112, 0, 0, 0, 0}, {522, 544, 17408, 0, 0, 0, 0}, {15, 48, 771, 5188, 0, 0, 0}, {1036, 8192, 64, 0, 0, 0, 0}, {15, 4386, 85, 1285, 0, 0, 0}, {106, 1542, 17476, 0, 0, 0, 0}, {15, 112, 4864, 5120, 0, 0, 0}, {3072, 48, 5200, 0, 0, 0, 0}, {520, 546, 85, 4369, 0, 0, 0}, {26, 48, 530, 64, 1042, 4096, 0}, {255, 7020, 13107, 17459, 0, 0, 0}, {112, 5140, 0, 0, 0, 0, 0}, {63, 1536, 85, 4352, 0, 0, 0}, {90, 5222, 20480, 0, 0, 0, 0}, {1032, 1079, 5911, 64, 0, 0, 0}, {1032, 48, 64, 4112, 0, 0, 0}, {2560, 4403, 85, 0, 0, 0, 0}, {90, 48, 4608, 5120, 0, 0, 0}, {127, 4883, 17476, 0, 0, 0, 0}, {5228, 20560, 0, 0, 0, 0, 0}, {4386, 4864, 21, 0, 0, 0, 0}, {5150, 5172, 5654, 5188, 0, 0, 0}, {5983, 5984, 17408, 0, 0, 0, 0}, {10400, 17408, 0, 0, 0, 0, 0}, {771, 260, 273, 0, 0, 0, 0}, {520, 546, 17920, 0, 0, 0, 0}, {15, 48, 771, 5203, 0, 0, 0}, {8224, 64, 1028, 0, 0, 0, 0}, {15, 85, 1280, 4352, 0, 0, 0}, {1548, 1638, 16896, 0, 0, 0, 0}, {15, 5159, 1799, 5207, 0, 0, 0}, {128, 2056, 8224, 17416, 0, 0, 0}, {15, 48, 771, 85, 1280, 4355, 0}, {170, 2560, 8704, 17408, 0, 0, 0}, {15, 48, 771, 64, 1028, 4112, 0}, {192, 3084, 9324, 17420, 0, 0, 0}, {15, 37, 519, 85, 1280, 4359, 0}, {520, 546, 64, 1028, 0, 0, 0}, {15, 13056, 5200, 0, 0, 0, 0}, {48, 64, 1024, 4096, 0, 0, 0}, {2570, 85, 4369, 0, 0, 0, 0}, {5144, 48, 4626, 5186, 0, 0, 0}, {4940, 4915, 22272, 0, 0, 0, 0}, {15420, 5188, 0, 0, 0, 0, 0}, {544, 21, 4352, 0, 0, 0, 0}, {5148, 5174, 5654, 5190, 0, 0, 0}, {5960, 6007, 21248, 0, 0, 0, 0}, {5192, 48, 20480, 0, 0, 0, 0}, {4377, 4403, 4883, 85, 0, 0, 0}, {26, 48, 528, 64, 1024, 4112, 0}, {255, 6980, 13107, 17476, 0, 0, 0}, {5196, 112, 20480, 0, 0, 0, 0}, {4381, 4386, 5911, 85, 0, 0, 0}, {90, 8738, 5140, 0, 0, 0, 0}, {63, 4864, 64, 1024, 0, 0, 0}, {192, 3072, 9216, 17408, 0, 0, 0}, {15, 37, 514, 85, 1285, 4369, 0}, {1032, 1058, 514, 64, 0, 0, 0}, {15, 5171, 20480, 0, 0, 0, 0}, {128, 2056, 8192, 17476, 0, 0, 0}, {15, 48, 768, 85, 1285, 4352, 0}, {170, 2570, 8704, 17510, 0, 0, 0}, {15, 48, 768, 64, 1031, 4096, 0}, {1032, 8192, 64, 0, 0, 0, 0}, {15, 4403, 85, 1285, 0, 0, 0}, {1546, 1632, 17408, 0, 0, 0, 0}, {15, 5172, 1799, 5188, 0, 0, 0}, {17612, 10240, 0, 0, 0, 0, 0}, {258, 21, 4112, 0, 0, 0, 0}, {42, 514, 17476, 0, 0, 0, 0}, {15, 48, 768, 5120, 0, 0, 0}, {2048, 5152, 5200, 0, 0, 0, 0}, {1548, 1587, 85, 4369, 0, 0, 0}, {90, 5154, 20480, 0, 0, 0, 0}, {1036, 1075, 4883, 64, 0, 0, 0}, {48, 5140, 0, 0, 0, 0, 0}, {42, 512, 85, 4352, 0, 0, 0}, {26, 48, 512, 64, 1046, 4096, 0}, {255, 6952, 13056, 17527, 0, 0, 0}, {5160, 20560, 0, 0, 0, 0, 0}, {4403, 512, 21, 0, 0, 0, 0}, {90, 112, 512, 5120, 0, 0, 0}, {63, 5911, 17476, 0, 0, 0, 0}, {1036, 48, 64, 4112, 0, 0, 0}, {2560, 4386, 85, 0, 0, 0, 0}, {5150, 48, 4626, 5188, 0, 0, 0}, {4959, 4896, 17408, 0, 0, 0, 0}, {8224, 64, 1024, 0, 0, 0, 0}, {15, 85, 1280, 4369, 0, 0, 0}, {106, 1536, 17442, 0, 0, 0, 0}, {15, 112, 4883, 5139, 0, 0, 0}, {10280, 17476, 0, 0, 0, 0, 0}, {48, 21, 256, 0, 0, 0, 0}, {42, 512, 17510, 0, 0, 0, 0}, {15, 48, 768, 5143, 0, 0, 0}, {192, 3072, 9256, 17480, 0, 0, 0}, {15, 37, 512, 85, 1280, 4374, 0}, {42, 512, 64, 1024, 0, 0, 0}, {15, 13107, 5140, 0, 0, 0, 0}, {128, 2048, 8224, 17484, 0, 0, 0}, {15, 48, 768, 85, 1280, 4370, 0}, {170, 2560, 8738, 17476, 0, 0, 0}, {15, 48, 768, 64, 1024, 4112, 0}, {240, 5120, 0, 0, 0, 0, 0}, {514, 21, 4369, 0, 0, 0, 0}, {90, 112, 514, 5122, 0, 0, 0}, {63, 5888, 17459, 0, 0, 0, 0}, {48, 64, 1028, 4096, 0, 0, 0}, {2570, 85, 4352, 0, 0, 0, 0}, {90, 48, 4608, 5126, 0, 0, 0}, {127, 4864, 17527, 0, 0, 0, 0}, {5128, 112, 20480, 0, 0, 0, 0}, {4364, 4403, 1542, 85, 0, 0, 0}, {5130, 8704, 5200, 0, 0, 0, 0}, {4876, 4915, 64, 1028, 0, 0, 0}, {5132, 48, 20480, 0, 0, 0, 0}, {4360, 4386, 514, 85, 0, 0, 0}, {26, 48, 514, 64, 1028, 4112, 0}, {255, 6912, 13056, 17408, 0, 0, 0}, {12288, 5376, 0, 0, 0, 0, 0}, {40, 68, 257, 0, 0, 0, 0}, {4104, 4128, 514, 5378, 0, 0, 0}, {5439, 771, 21811, 0, 0, 0, 0}, {780, 68, 1028, 4352, 0, 0, 0}, {8192, 4176, 1285, 0, 0, 0, 0}, {4108, 4192, 4864, 5382, 0, 0, 0}, {5503, 1799, 21879, 0, 0, 0, 0}, {5384, 4608, 21760, 0, 0, 0, 0}, {4188, 4144, 771, 1285, 0, 0, 0}, {1290, 4096, 0, 0, 0, 0, 0}, {4403, 771, 68, 1028, 0, 0, 0}, {5388, 5632, 21760, 0, 0, 0, 0}, {4184, 4208, 514, 1285, 0, 0, 0}, {270, 294, 514, 68, 1028, 4100, 0}, {5631, 3855, 9487, 16384, 0, 0, 0}, {2560, 1360, 4112, 0, 0, 0, 0}, {819, 68, 1024, 4369, 0, 0, 0}, {5482, 4626, 21794, 0, 0, 0, 0}, {4172, 4128, 4883, 5395, 0, 0, 0}, {512, 276, 4352, 0, 0, 0, 0}, {12480, 5397, 0, 0, 0, 0, 0}, {5418, 5654, 21862, 0, 0, 0, 0}, {4168, 4192, 512, 5399, 0, 0, 0}, {4120, 4144, 512, 1360, 0, 0, 0}, {5401, 819, 21845, 0, 0, 0, 0}, {5610, 6682, 12336, 16448, 0, 0, 0}, {283, 307, 512, 68, 1024, 4096, 0}, {4124, 5408, 1536, 1360, 0, 0, 0}, {5405, 1911, 21845, 0, 0, 0, 0}, {4638, 4386, 68, 1024, 0, 0, 0}, {5407, 8224, 4160, 0, 0, 0, 0}, {4128, 1280, 0, 0, 0, 0, 0}, {1036, 771, 68, 4369, 0, 0, 0}, {5410, 1792, 16384, 0, 0, 0, 0}, {1295, 1379, 771, 4112, 0, 0, 0}, {268, 292, 512, 68, 1280, 4352, 0}, {5589, 3855, 9509, 21845, 0, 0, 0}, {780, 5414, 16448, 0, 0, 0, 0}, {1295, 1319, 512, 4176, 0, 0, 0}, {40, 512, 1280, 4096, 0, 0, 0}, {204, 771, 5397, 0, 0, 0, 0}, {5418, 12288, 0, 0, 0, 0, 0}, {259, 68, 5140, 0, 0, 0, 0}, {780, 4896, 4160, 1280, 0, 0, 0}, {1807, 8738, 5461, 0, 0, 0, 0}, {1036, 4386, 1792, 68, 0, 0, 0}, {1295, 4208, 20560, 0, 0, 0, 0}, {5568, 6704, 12336, 21760, 0, 0, 0}, {281, 305, 514, 68, 1297, 4369, 0}, {1370, 1394, 514, 4112, 0, 0, 0}, {5427, 5632, 16384, 0, 0, 0, 0}, {1032, 1844, 68, 4352, 0, 0, 0}, {2570, 5429, 1365, 0, 0, 0, 0}, {5386, 1334, 4864, 4176, 0, 0, 0}, {4680, 5431, 16448, 0, 0, 0, 0}, {2056, 4656, 5440, 0, 0, 0, 0}, {1546, 819, 1365, 4096, 0, 0, 0}, {1370, 4144, 20560, 0, 0, 0, 0}, {1032, 4403, 4608, 68, 0, 0, 0}, {828, 13056, 5376, 0, 0, 0, 0}, {40, 514, 4160, 5397, 0, 0, 0}, {278, 68, 5140, 0, 0, 0, 0}, {5439, 28672, 0, 0, 0, 0, 0}, {3840, 5440, 0, 0, 0, 0, 0}, {546, 261, 4369, 0, 0, 0, 0}, {1290, 1314, 1792, 5442, 0, 0, 0}, {783, 5744, 17219, 0, 0, 0, 0}, {768, 68, 1024, 4352, 0, 0, 0}, {160, 1285, 4112, 0, 0, 0, 0}, {1290, 4128, 768, 5446, 0, 0, 0}, {1807, 4656, 18247, 0, 0, 0, 0}, {5448, 1792, 21760, 0, 0, 0, 0}, {4124, 4208, 4883, 1285, 0, 0, 0}, {1290, 8224, 4160, 0, 0, 0, 0}, {783, 4403, 68, 1024, 0, 0, 0}, {5452, 768, 21760, 0, 0, 0, 0}, {4120, 4144, 4626, 1285, 0, 0, 0}, {266, 290, 768, 68, 1024, 4096, 0}, {5567, 3855, 12336, 16448, 0, 0, 0}, {8192, 4176, 5376, 0, 0, 0, 0}, {831, 68, 1028, 4369, 0, 0, 0}, {4698, 1904, 21074, 0, 0, 0, 0}, {4108, 1331, 5632, 5459, 0, 0, 0}, {520, 1028, 272, 0, 0, 0, 0}, {12288, 5461, 0, 0, 0, 0, 0}, {5722, 816, 22102, 0, 0, 0, 0}, {4104, 4128, 4608, 5463, 0, 0, 0}, {5384, 5408, 5888, 1360, 0, 0, 0}, {5465, 5734, 21845, 0, 0, 0, 0}, {5546, 6746, 9562, 16384, 0, 0, 0}, {287, 311, 791, 68, 1028, 4100, 0}, {5388, 4144, 4864, 1360, 0, 0, 0}, {5469, 4642, 21845, 0, 0, 0, 0}, {4386, 4626, 68, 1028, 0, 0, 0}, {1375, 4096, 0, 0, 0, 0, 0}, {4192, 1280, 0, 0, 0, 0, 0}, {1032, 1799, 68, 4369, 0, 0, 0}, {1800, 5474, 16448, 0, 0, 0, 0}, {1295, 5427, 1536, 4176, 0, 0, 0}, {264, 288, 768, 68, 1280, 4352, 0}, {5525, 3855, 12336, 21845, 0, 0, 0}, {5478, 768, 16384, 0, 0, 0, 0}, {1295, 1319, 1799, 4112, 0, 0, 0}, {520, 544, 4160, 1280, 0, 0, 0}, {783, 13107, 5461, 0, 0, 0, 0}, {5482, 28672, 0, 0, 0, 0, 0}, {263, 68, 5140, 0, 0, 0, 0}, {108, 768, 1280, 4096, 0, 0, 0}, {136, 4626, 5397, 0, 0, 0, 0}, {1032, 4386, 768, 68, 0, 0, 0}, {1295, 4144, 20560, 0, 0, 0, 0}, {5504, 6768, 9584, 21760, 0, 0, 0}, {285, 309, 791, 68, 1297, 4369, 0}, {5386, 5410, 5888, 4176, 0, 0, 0}, {5708, 5491, 16448, 0, 0, 0, 0}, {1036, 816, 68, 4352, 0, 0, 0}, {2570, 4128, 1365, 0, 0, 0, 0}, {1370, 1334, 1542, 4112, 0, 0, 0}, {5495, 4608, 16384, 0, 0, 0, 0}, {4728, 8704, 5376, 0, 0, 0, 0}, {4140, 4883, 4160, 5397, 0, 0, 0}, {1370, 4208, 20560, 0, 0, 0, 0}, {1036, 4403, 5632, 68, 0, 0, 0}, {3084, 816, 5440, 0, 0, 0, 0}, {522, 546, 1365, 4096, 0, 0, 0}, {274, 68, 5140, 0, 0, 0, 0}, {5503, 12288, 0, 0, 0, 0, 0}, {5504, 3840, 12288, 21760, 0, 0, 0}, {265, 289, 771, 68, 1285, 4369, 0}, {1290, 1314, 1792, 4096, 0, 0, 0}, {5491, 771, 16448, 0, 0, 0, 0}, {1036, 1792, 68, 4352, 0, 0, 0}, {4208, 1285, 0, 0, 0, 0, 0}, {1290, 5414, 1542, 4160, 0, 0, 0}, {1807, 5495, 16384, 0, 0, 0, 0}, {136, 4608, 5376, 0, 0, 0, 0}, {108, 771, 1285, 4112, 0, 0, 0}, {1290, 4128, 20480, 0, 0, 0, 0}, {1036, 4403, 771, 68, 0, 0, 0}, {780, 13056, 5440, 0, 0, 0, 0}, {522, 546, 4176, 1285, 0, 0, 0}, {262, 68, 5120, 0, 0, 0, 0}, {5503, 28784, 0, 0, 0, 0, 0}, {2560, 4144, 1360, 0, 0, 0, 0}, {1032, 819, 68, 4369, 0, 0, 0}, {5474, 4626, 16448, 0, 0, 0, 0}, {1375, 1331, 1536, 4096, 0, 0, 0}, {284, 308, 788, 68, 1300, 4352, 0}, {5525, 6762, 9557, 21845, 0, 0, 0}, {5722, 5478, 16384, 0, 0, 0, 0}, {5407, 5431, 5911, 4160, 0, 0, 0}, {520, 544, 1360, 4112, 0, 0, 0}, {3072, 819, 5461, 0, 0, 0, 0}, {5482, 12336, 0, 0, 0, 0, 0}, {275, 68, 5120, 0, 0, 0, 0}, {4156, 4864, 4176, 5376, 0, 0, 0}, {4714, 8738, 5397, 0, 0, 0, 0}, {1032, 4386, 5654, 68, 0, 0, 0}, {1375, 4192, 20480, 0, 0, 0, 0}, {160, 1280, 4096, 0, 0, 0, 0}, {771, 68, 1028, 4369, 0, 0, 0}, {1800, 4642, 18176, 0, 0, 0, 0}, {1295, 4144, 771, 5459, 0, 0, 0}, {544, 260, 4352, 0, 0, 0, 0}, {3855, 5461, 0, 0, 0, 0, 0}, {780, 5734, 17152, 0, 0, 0, 0}, {1295, 1319, 1799, 5463, 0, 0, 0}, {4104, 4128, 4608, 1280, 0, 0, 0}, {5465, 771, 21845, 0, 0, 0, 0}, {5546, 3840, 12288, 16384, 0, 0, 0}, {267, 291, 771, 68, 1028, 4112, 0}, {4108, 4192, 4864, 1280, 0, 0, 0}, {5469, 1799, 21845, 0, 0, 0, 0}, {780, 4386, 68, 1028, 0, 0, 0}, {1295, 8192, 4176, 0, 0, 0, 0}, {12336, 5440, 0, 0, 0, 0, 0}, {522, 1024, 273, 0, 0, 0, 0}, {4120, 4144, 4626, 5442, 0, 0, 0}, {5708, 819, 22016, 0, 0, 0, 0}, {828, 68, 1024, 4352, 0, 0, 0}, {8224, 4160, 5397, 0, 0, 0, 0}, {4124, 1334, 5654, 5446, 0, 0, 0}, {4680, 1911, 20992, 0, 0, 0, 0}, {5448, 4656, 21760, 0, 0, 0, 0}, {5401, 4128, 4883, 1365, 0, 0, 0}, {1370, 4112, 0, 0, 0, 0, 0}, {4403, 4608, 68, 1024, 0, 0, 0}, {5452, 5744, 21760, 0, 0, 0, 0}, {5405, 5429, 5911, 1365, 0, 0, 0}, {286, 310, 788, 68, 1024, 4116, 0}, {5567, 6720, 9599, 16448, 0, 0, 0}, {5568, 3840, 9472, 21760, 0, 0, 0}, {269, 293, 514, 68, 1285, 4369, 0}, {1290, 1314, 514, 4160, 0, 0, 0}, {783, 5427, 16384, 0, 0, 0, 0}, {1032, 768, 68, 4352, 0, 0, 0}, {4144, 1285, 0, 0, 0, 0, 0}, {1290, 1382, 768, 4096, 0, 0, 0}, {5431, 1799, 16448, 0, 0, 0, 0}, {1800, 8704, 5440, 0, 0, 0, 0}, {783, 4915, 4176, 1285, 0, 0, 0}, {1290, 4192, 20480, 0, 0, 0, 0}, {1032, 4403, 1799, 68, 0, 0, 0}, {204, 768, 5376, 0, 0, 0, 0}, {40, 514, 1285, 4112, 0, 0, 0}, {258, 68, 5120, 0, 0, 0, 0}, {5439, 12336, 0, 0, 0, 0, 0}, {2560, 5408, 1360, 0, 0, 0, 0}, {1036, 1843, 68, 4369, 0, 0, 0}, {4698, 5410, 16384, 0, 0, 0, 0}, {5407, 1331, 4883, 4160, 0, 0, 0}, {280, 304, 512, 68, 1300, 4352, 0}, {5589, 6698, 12288, 21845, 0, 0, 0}, {5414, 5654, 16448, 0, 0, 0, 0}, {1375, 1399, 512, 4096, 0, 0, 0}, {40, 512, 4176, 5376, 0, 0, 0}, {831, 13107, 5397, 0, 0, 0, 0}, {5418, 28784, 0, 0, 0, 0, 0}, {279, 68, 5120, 0, 0, 0, 0}, {1548, 816, 1360, 4112, 0, 0, 0}, {2048, 4642, 5461, 0, 0, 0, 0}, {1036, 4386, 4626, 68, 0, 0, 0}, {1375, 4128, 20480, 0, 0, 0, 0}, {8224, 4160, 1280, 0, 0, 0, 0}, {783, 68, 1024, 4369, 0, 0, 0}, {5482, 1792, 21794, 0, 0, 0, 0}, {4124, 4208, 4883, 5395, 0, 0, 0}, {40, 68, 256, 0, 0, 0, 0}, {12336, 5397, 0, 0, 0, 0, 0}, {5418, 768, 21862, 0, 0, 0, 0}, {4120, 4144, 512, 5399, 0, 0, 0}, {4168, 4192, 512, 1280, 0, 0, 0}, {5401, 5654, 21845, 0, 0, 0, 0}, {5610, 3840, 9514, 16448, 0, 0, 0}, {271, 295, 512, 68, 1024, 4116, 0}, {4172, 4128, 768, 1280, 0, 0, 0}, {5405, 4626, 21845, 0, 0, 0, 0}, {4386, 768, 68, 1024, 0, 0, 0}, {1295, 4112, 0, 0, 0, 0, 0}, {12528, 5376, 0, 0, 0, 0, 0}, {514, 277, 4369, 0, 0, 0, 0}, {4184, 4208, 514, 5378, 0, 0, 0}, {5439, 5632, 21811, 0, 0, 0, 0}, {816, 68, 1028, 4352, 0, 0, 0}, {2570, 1365, 4096, 0, 0, 0, 0}, {4188, 4144, 4864, 5382, 0, 0, 0}, {5503, 4608, 21879, 0, 0, 0, 0}, {5384, 1904, 21760, 0, 0, 0, 0}, {4108, 5429, 1542, 1365, 0, 0, 0}, {5386, 8192, 4176, 0, 0, 0, 0}, {4620, 4403, 68, 1028, 0, 0, 0}, {5388, 816, 21760, 0, 0, 0, 0}, {4104, 4128, 514, 1365, 0, 0, 0}, {282, 306, 514, 68, 1028, 4112, 0}, {5631, 6656, 12288, 16384, 0, 0, 0}, {19456, 26112, 0, 0, 0, 0, 0}, {23, 80, 257, 0, 0, 0, 0}, {40, 514, 17408, 0, 0, 0, 0}, {15, 48, 771, 5376, 0, 0, 0}, {72, 8704, 1028, 0, 0, 0, 0}, {15, 4864, 80, 1285, 0, 0, 0}, {96, 1542, 16384, 0, 0, 0, 0}, {15, 119, 1799, 4352, 0, 0, 0}, {136, 2056, 8704, 17408, 0, 0, 0}, {15, 48, 771, 80, 1285, 4096, 0}, {160, 2570, 8192, 17930, 0, 0, 0}, {15, 48, 771, 71, 1028, 4355, 0}, {192, 3084, 9740, 16384, 0, 0, 0}, {15, 39, 514, 80, 1285, 4357, 0}, {72, 96, 514, 1028, 0, 0, 0}, {15, 5632, 21760, 0, 0, 0, 0}, {48, 1536, 80, 4112, 0, 0, 0}, {2048, 119, 4369, 0, 0, 0, 0}, {72, 48, 4626, 1024, 0, 0, 0}, {95, 4883, 21760, 0, 0, 0, 0}, {40, 512, 80, 5140, 0, 0, 0}, {63, 13056, 5397, 0, 0, 0, 0}, {240, 5654, 0, 0, 0, 0, 0}, {23, 1024, 4352, 0, 0, 0, 0}, {24, 48, 512, 80, 1024, 4096, 0}, {255, 6425, 13107, 21845, 0, 0, 0}, {5658, 48, 16448, 0, 0, 0, 0}, {4379, 4403, 512, 4420, 0, 0, 0}, {5660, 8224, 80, 0, 0, 0, 0}, {4381, 4386, 4437, 1024, 0, 0, 0}, {5662, 5734, 17476, 0, 0, 0, 0}, {5407, 5408, 1536, 5440, 0, 0, 0}, {160, 2560, 8224, 17952, 0, 0, 0}, {15, 48, 771, 71, 1027, 4369, 0}, {136, 2048, 8738, 17408, 0, 0, 0}, {15, 48, 771, 80, 1280, 4112, 0}, {1036, 1060, 512, 1092, 0, 0, 0}, {15, 5669, 21845, 0, 0, 0, 0}, {192, 3084, 9766, 16448, 0, 0, 0}, {15, 39, 512, 80, 1280, 4352, 0}, {40, 512, 17408, 0, 0, 0, 0}, {15, 48, 771, 5397, 0, 0, 0}, {26282, 10794, 0, 0, 0, 0, 0}, {259, 276, 4096, 0, 0, 0, 0}, {1548, 96, 16448, 0, 0, 0, 0}, {15, 4386, 1792, 4437, 0, 0, 0}, {1036, 8738, 1092, 0, 0, 0, 0}, {15, 4896, 80, 1280, 0, 0, 0}, {48, 5632, 16384, 0, 0, 0, 0}, {95, 119, 514, 4369, 0, 0, 0}, {24, 48, 514, 80, 1040, 4112, 0}, {255, 6451, 13107, 21760, 0, 0, 0}, {5708, 5684, 17476, 0, 0, 0, 0}, {5386, 5429, 4864, 5461, 0, 0, 0}, {2570, 5686, 80, 0, 0, 0, 0}, {1032, 1079, 1088, 4352, 0, 0, 0}, {1032, 48, 4608, 1088, 0, 0, 0}, {95, 4915, 21845, 0, 0, 0, 0}, {1546, 48, 80, 4096, 0, 0, 0}, {2056, 4403, 4420, 0, 0, 0, 0}, {5692, 28672, 0, 0, 0, 0, 0}, {23, 4437, 5397, 0, 0, 0, 0}, {40, 514, 80, 5140, 0, 0, 0}, {63, 13056, 5376, 0, 0, 0, 0}, {192, 3072, 9792, 16448, 0, 0, 0}, {15, 39, 517, 80, 1285, 4369, 0}, {72, 96, 578, 1024, 0, 0, 0}, {15, 5699, 21760, 0, 0, 0, 0}, {136, 2048, 8704, 17476, 0, 0, 0}, {15, 48, 768, 80, 1285, 4112, 0}, {160, 2570, 8224, 17990, 0, 0, 0}, {15, 48, 768, 71, 1024, 4352, 0}, {72, 8704, 1024, 0, 0, 0, 0}, {15, 4883, 80, 1285, 0, 0, 0}, {1546, 96, 16448, 0, 0, 0, 0}, {15, 4403, 1792, 4420, 0, 0, 0}, {26316, 19532, 0, 0, 0, 0, 0}, {274, 261, 4096, 0, 0, 0, 0}, {522, 546, 17476, 0, 0, 0, 0}, {15, 48, 768, 5440, 0, 0, 0}, {5632, 80, 0, 0, 0, 0, 0}, {72, 119, 1028, 4369, 0, 0, 0}, {120, 5714, 17408, 0, 0, 0, 0}, {95, 96, 4947, 5376, 0, 0, 0}, {24, 48, 528, 80, 1028, 4112, 0}, {255, 6485, 13056, 21845, 0, 0, 0}, {48, 5718, 16384, 0, 0, 0, 0}, {95, 119, 599, 4352, 0, 0, 0}, {520, 544, 80, 5120, 0, 0, 0}, {63, 13107, 5461, 0, 0, 0, 0}, {5722, 28672, 0, 0, 0, 0, 0}, {23, 4420, 1028, 0, 0, 0, 0}, {1548, 48, 80, 4096, 0, 0, 0}, {2056, 4386, 4437, 0, 0, 0, 0}, {72, 48, 4626, 1028, 0, 0, 0}, {95, 4864, 21760, 0, 0, 0, 0}, {96, 1536, 16384, 0, 0, 0, 0}, {15, 119, 1799, 4369, 0, 0, 0}, {1032, 8738, 1088, 0, 0, 0, 0}, {15, 4915, 80, 1280, 0, 0, 0}, {520, 544, 17476, 0, 0, 0, 0}, {15, 48, 768, 5461, 0, 0, 0}, {19660, 26214, 0, 0, 0, 0, 0}, {263, 1280, 272, 0, 0, 0, 0}, {1032, 1056, 1536, 1088, 0, 0, 0}, {15, 5734, 21845, 0, 0, 0, 0}, {192, 3072, 9834, 16384, 0, 0, 0}, {15, 39, 519, 80, 1280, 4372, 0}, {160, 2560, 8192, 18028, 0, 0, 0}, {15, 48, 768, 71, 1031, 4370, 0}, {136, 2056, 8738, 17476, 0, 0, 0}, {15, 48, 768, 80, 1280, 4096, 0}, {23040, 5744, 0, 0, 0, 0, 0}, {23, 1092, 4369, 0, 0, 0, 0}, {522, 546, 80, 5120, 0, 0, 0}, {63, 13107, 5440, 0, 0, 0, 0}, {1036, 48, 4608, 1092, 0, 0, 0}, {95, 4896, 21845, 0, 0, 0, 0}, {48, 1542, 80, 4112, 0, 0, 0}, {2048, 119, 4352, 0, 0, 0, 0}, {120, 5632, 17408, 0, 0, 0, 0}, {95, 96, 4883, 5397, 0, 0, 0}, {5674, 8224, 80, 0, 0, 0, 0}, {4364, 4403, 4420, 5376, 0, 0, 0}, {5708, 48, 16448, 0, 0, 0, 0}, {4362, 4386, 4864, 4437, 0, 0, 0}, {24, 48, 530, 80, 1044, 4096, 0}, {255, 6527, 13056, 21760, 0, 0, 0}, {19584, 26112, 0, 0, 0, 0, 0}, {262, 1285, 273, 0, 0, 0, 0}, {522, 546, 17408, 0, 0, 0, 0}, {15, 48, 771, 5440, 0, 0, 0}, {1036, 8704, 1092, 0, 0, 0, 0}, {15, 4896, 80, 1285, 0, 0, 0}, {96, 1542, 16448, 0, 0, 0, 0}, {15, 119, 1792, 4352, 0, 0, 0}, {136, 2048, 8704, 17408, 0, 0, 0}, {15, 48, 771, 80, 1285, 4112, 0}, {160, 2570, 8224, 17962, 0, 0, 0}, {15, 48, 771, 71, 1027, 4355, 0}, {192, 3084, 9804, 16448, 0, 0, 0}, {15, 39, 517, 80, 1285, 4357, 0}, {1036, 1060, 1542, 1092, 0, 0, 0}, {15, 5744, 21760, 0, 0, 0, 0}, {48, 1536, 80, 4096, 0, 0, 0}, {2056, 119, 4369, 0, 0, 0, 0}, {1032, 48, 4626, 1088, 0, 0, 0}, {95, 4915, 21760, 0, 0, 0, 0}, {520, 544, 80, 5140, 0, 0, 0}, {63, 13056, 5461, 0, 0, 0, 0}, {23130, 5734, 0, 0, 0, 0, 0}, {23, 1088, 4352, 0, 0, 0, 0}, {24, 48, 528, 80, 1040, 4112, 0}, {255, 6502, 13107, 21845, 0, 0, 0}, {5722, 48, 16384, 0, 0, 0, 0}, {4379, 4403, 4883, 4420, 0, 0, 0}, {5692, 8192, 80, 0, 0, 0, 0}, {4381, 4386, 4437, 5397, 0, 0, 0}, {120, 5654, 17476, 0, 0, 0, 0}, {95, 96, 4864, 5376, 0, 0, 0}, {160, 2560, 8192, 17920, 0, 0, 0}, {15, 48, 771, 71, 1028, 4369, 0}, {136, 2056, 8738, 17408, 0, 0, 0}, {15, 48, 771, 80, 1280, 4096, 0}, {72, 96, 576, 1028, 0, 0, 0}, {15, 5717, 21845, 0, 0, 0, 0}, {192, 3084, 9830, 16384, 0, 0, 0}, {15, 39, 519, 80, 1280, 4352, 0}, {520, 544, 17408, 0, 0, 0, 0}, {15, 48, 771, 5461, 0, 0, 0}, {26282, 19456, 0, 0, 0, 0, 0}, {275, 260, 4112, 0, 0, 0, 0}, {1548, 96, 16384, 0, 0, 0, 0}, {15, 4386, 1799, 4437, 0, 0, 0}, {72, 8738, 1028, 0, 0, 0, 0}, {15, 4864, 80, 1280, 0, 0, 0}, {48, 5696, 16448, 0, 0, 0, 0}, {95, 119, 597, 4369, 0, 0, 0}, {24, 48, 530, 80, 1024, 4096, 0}, {255, 6476, 13107, 21760, 0, 0, 0}, {120, 5700, 17476, 0, 0, 0, 0}, {95, 96, 4928, 5397, 0, 0, 0}, {5654, 80, 0, 0, 0, 0, 0}, {72, 119, 1024, 4352, 0, 0, 0}, {72, 48, 4608, 1024, 0, 0, 0}, {95, 4883, 21845, 0, 0, 0, 0}, {1546, 48, 80, 4112, 0, 0, 0}, {2048, 4403, 4420, 0, 0, 0, 0}, {5708, 28784, 0, 0, 0, 0, 0}, {23, 4437, 1024, 0, 0, 0, 0}, {522, 546, 80, 5140, 0, 0, 0}, {63, 13056, 5440, 0, 0, 0, 0}, {192, 3072, 9728, 16384, 0, 0, 0}, {15, 39, 514, 80, 1285, 4369, 0}, {1032, 1056, 514, 1088, 0, 0, 0}, {15, 5683, 21760, 0, 0, 0, 0}, {136, 2056, 8704, 17476, 0, 0, 0}, {15, 48, 768, 80, 1285, 4096, 0}, {160, 2570, 8192, 18022, 0, 0, 0}, {15, 48, 768, 71, 1031, 4352, 0}, {1032, 8704, 1088, 0, 0, 0, 0}, {15, 4915, 80, 1285, 0, 0, 0}, {1546, 96, 16384, 0, 0, 0, 0}, {15, 4403, 1799, 4420, 0, 0, 0}, {26316, 10752, 0, 0, 0, 0, 0}, {258, 277, 4112, 0, 0, 0, 0}, {40, 514, 17476, 0, 0, 0, 0}, {15, 48, 768, 5376, 0, 0, 0}, {2560, 5664, 80, 0, 0, 0, 0}, {1036, 1075, 1092, 4369, 0, 0, 0}, {5722, 5666, 17408, 0, 0, 0, 0}, {5407, 5408, 4883, 5440, 0, 0, 0}, {24, 48, 512, 80, 1044, 4096, 0}, {255, 6442, 13056, 21845, 0, 0, 0}, {48, 5654, 16448, 0, 0, 0, 0}, {95, 119, 512, 4352, 0, 0, 0}, {40, 512, 80, 5120, 0, 0, 0}, {63, 13107, 5397, 0, 0, 0, 0}, {5674, 28784, 0, 0, 0, 0, 0}, {23, 4420, 5376, 0, 0, 0, 0}, {1548, 48, 80, 4112, 0, 0, 0}, {2048, 4386, 4437, 0, 0, 0, 0}, {1036, 48, 4626, 1092, 0, 0, 0}, {95, 4896, 21760, 0, 0, 0, 0}, {96, 1536, 16448, 0, 0, 0, 0}, {15, 119, 1792, 4369, 0, 0, 0}, {72, 8738, 1024, 0, 0, 0, 0}, {15, 4883, 80, 1280, 0, 0, 0}, {40, 512, 17476, 0, 0, 0, 0}, {15, 48, 768, 5397, 0, 0, 0}, {19532, 26214, 0, 0, 0, 0, 0}, {23, 80, 256, 0, 0, 0, 0}, {72, 96, 512, 1024, 0, 0, 0}, {15, 5654, 21845, 0, 0, 0, 0}, {192, 3072, 9770, 16448, 0, 0, 0}, {15, 39, 512, 80, 1280, 4372, 0}, {160, 2560, 8224, 17996, 0, 0, 0}, {15, 48, 768, 71, 1024, 4370, 0}, {136, 2048, 8738, 17476, 0, 0, 0}, {15, 48, 768, 80, 1280, 4112, 0}, {240, 5632, 0, 0, 0, 0, 0}, {23, 1028, 4369, 0, 0, 0, 0}, {40, 514, 80, 5120, 0, 0, 0}, {63, 13107, 5376, 0, 0, 0, 0}, {72, 48, 4608, 1028, 0, 0, 0}, {95, 4864, 21845, 0, 0, 0, 0}, {48, 1542, 80, 4096, 0, 0, 0}, {2056, 119, 4352, 0, 0, 0, 0}, {5640, 5744, 17408, 0, 0, 0, 0}, {5386, 5429, 1542, 5461, 0, 0, 0}, {5642, 8192, 80, 0, 0, 0, 0}, {4364, 4403, 4420, 1028, 0, 0, 0}, {5644, 48, 16384, 0, 0, 0, 0}, {4362, 4386, 514, 4437, 0, 0, 0}, {24, 48, 514, 80, 1028, 4112, 0}, {255, 6400, 13056, 21760, 0, 0, 0}, {5888, 20480, 0, 0, 0, 0, 0}, {76, 102, 257, 0, 0, 0, 0}, {4106, 4128, 514, 5376, 0, 0, 0}, {5180, 771, 17408, 0, 0, 0, 0}, {4108, 4864, 4160, 1028, 0, 0, 0}, {4698, 8704, 1285, 0, 0, 0, 0}, {1290, 102, 1542, 4352, 0, 0, 0}, {4208, 1799, 16384, 0, 0, 0, 0}, {1800, 4096, 0, 0, 0, 0, 0}, {4403, 771, 4437, 1285, 0, 0, 0}, {1290, 4608, 21760, 0, 0, 0, 0}, {76, 4144, 771, 1028, 0, 0, 0}, {780, 13056, 5120, 0, 0, 0, 0}, {42, 514, 4176, 1285, 0, 0, 0}, {270, 292, 514, 322, 1028, 4102, 0}, {6143, 3855, 9999, 18191, 0, 0, 0}, {2048, 1904, 4112, 0, 0, 0, 0}, {1331, 1536, 1365, 4369, 0, 0, 0}, {1370, 4626, 21760, 0, 0, 0, 0}, {76, 4128, 4883, 1024, 0, 0, 0}, {828, 13056, 5140, 0, 0, 0, 0}, {42, 512, 4160, 5397, 0, 0, 0}, {278, 1024, 4352, 0, 0, 0, 0}, {20640, 5911, 0, 0, 0, 0, 0}, {6120, 6168, 12336, 20560, 0, 0, 0}, {281, 307, 512, 341, 1024, 4096, 0}, {4122, 4144, 512, 5440, 0, 0, 0}, {5915, 819, 17476, 0, 0, 0, 0}, {4124, 4896, 4176, 1024, 0, 0, 0}, {5917, 8738, 1365, 0, 0, 0, 0}, {5150, 4386, 1536, 4420, 0, 0, 0}, {5919, 4192, 16448, 0, 0, 0, 0}, {4128, 1792, 16384, 0, 0, 0, 0}, {1295, 102, 771, 4369, 0, 0, 0}, {4642, 1280, 0, 0, 0, 0, 0}, {1036, 771, 1088, 4112, 0, 0, 0}, {780, 5924, 17476, 0, 0, 0, 0}, {1295, 1317, 512, 5461, 0, 0, 0}, {268, 294, 512, 320, 1280, 4352, 0}, {6103, 3855, 10023, 20560, 0, 0, 0}, {5928, 12288, 0, 0, 0, 0, 0}, {259, 4437, 5397, 0, 0, 0, 0}, {42, 512, 1280, 4096, 0, 0, 0}, {204, 771, 5140, 0, 0, 0, 0}, {1036, 5152, 1792, 1088, 0, 0, 0}, {1295, 6007, 21845, 0, 0, 0, 0}, {780, 4386, 4420, 1280, 0, 0, 0}, {1807, 8224, 4176, 0, 0, 0, 0}, {6080, 6192, 12336, 18224, 0, 0, 0}, {283, 305, 514, 343, 1299, 4369, 0}, {42, 514, 1360, 4112, 0, 0, 0}, {819, 5120, 0, 0, 0, 0, 0}, {1032, 5172, 4864, 1092, 0, 0, 0}, {1375, 5941, 21845, 0, 0, 0, 0}, {1546, 1334, 1360, 4352, 0, 0, 0}, {2056, 5943, 4160, 0, 0, 0, 0}, {5960, 4144, 16448, 0, 0, 0, 0}, {5130, 4403, 4608, 4437, 0, 0, 0}, {2570, 4656, 1360, 0, 0, 0, 0}, {1032, 819, 1092, 4096, 0, 0, 0}, {5180, 5888, 17408, 0, 0, 0, 0}, {4170, 4192, 514, 5397, 0, 0, 0}, {4386, 514, 276, 0, 0, 0, 0}, {5951, 20480, 0, 0, 0, 0, 0}, {1792, 4160, 0, 0, 0, 0, 0}, {783, 102, 1285, 4369, 0, 0, 0}, {1290, 5954, 21760, 0, 0, 0, 0}, {76, 4208, 835, 1024, 0, 0, 0}, {768, 5188, 0, 0, 0, 0, 0}, {522, 544, 1285, 4112, 0, 0, 0}, {266, 288, 768, 326, 1024, 4352, 0}, {6071, 3855, 12336, 18247, 0, 0, 0}, {5960, 20480, 0, 0, 0, 0, 0}, {4403, 4883, 261, 0, 0, 0, 0}, {1290, 1312, 1792, 5440, 0, 0, 0}, {783, 6007, 17476, 0, 0, 0, 0}, {76, 768, 1024, 4096, 0, 0, 0}, {170, 4626, 1285, 0, 0, 0, 0}, {1290, 4386, 768, 4420, 0, 0, 0}, {1807, 4144, 16448, 0, 0, 0, 0}, {6048, 6224, 10064, 20560, 0, 0, 0}, {285, 311, 789, 337, 1028, 4369, 0}, {4186, 4208, 4690, 5376, 0, 0, 0}, {5228, 5971, 17408, 0, 0, 0, 0}, {76, 816, 1028, 4112, 0, 0, 0}, {4608, 1365, 0, 0, 0, 0, 0}, {1370, 102, 854, 4352, 0, 0, 0}, {4128, 5975, 16384, 0, 0, 0, 0}, {5928, 8224, 4176, 0, 0, 0, 0}, {4620, 4403, 4437, 5120, 0, 0, 0}, {1370, 5888, 21760, 0, 0, 0, 0}, {76, 4192, 4883, 1028, 0, 0, 0}, {3084, 816, 5200, 0, 0, 0, 0}, {520, 546, 1365, 4096, 0, 0, 0}, {274, 4420, 1028, 0, 0, 0, 0}, {5983, 12288, 0, 0, 0, 0, 0}, {3840, 5984, 0, 0, 0, 0, 0}, {263, 1092, 4369, 0, 0, 0, 0}, {520, 546, 4160, 1280, 0, 0, 0}, {783, 13107, 5200, 0, 0, 0, 0}, {1032, 4128, 768, 1092, 0, 0, 0}, {1295, 4656, 21845, 0, 0, 0, 0}, {102, 768, 1280, 4352, 0, 0, 0}, {128, 1799, 4112, 0, 0, 0, 0}, {1800, 4192, 16448, 0, 0, 0, 0}, {1295, 4403, 1536, 4437, 0, 0, 0}, {4714, 8704, 1280, 0, 0, 0, 0}, {4124, 4883, 4176, 5140, 0, 0, 0}, {5228, 768, 17408, 0, 0, 0, 0}, {4122, 4144, 4626, 5397, 0, 0, 0}, {264, 290, 768, 324, 1280, 4096, 0}, {6047, 3855, 12336, 20560, 0, 0, 0}, {4208, 5888, 16384, 0, 0, 0, 0}, {1375, 102, 1542, 4369, 0, 0, 0}, {5928, 8738, 1360, 0, 0, 0, 0}, {4108, 4915, 4160, 5120, 0, 0, 0}, {5960, 816, 17476, 0, 0, 0, 0}, {4106, 4128, 4608, 5461, 0, 0, 0}, {1036, 1542, 272, 0, 0, 0, 0}, {6007, 20480, 0, 0, 0, 0, 0}, {6024, 6264, 10104, 18296, 0, 0, 0}, {287, 309, 789, 339, 1299, 4102, 0}, {522, 544, 4176, 5376, 0, 0, 0}, {831, 13107, 5188, 0, 0, 0, 0}, {1036, 4144, 4864, 1088, 0, 0, 0}, {1375, 4642, 21845, 0, 0, 0, 0}, {4386, 4626, 4420, 5140, 0, 0, 0}, {1919, 4096, 0, 0, 0, 0, 0}, {128, 1792, 4096, 0, 0, 0, 0}, {102, 771, 1285, 4369, 0, 0, 0}, {1290, 4642, 21760, 0, 0, 0, 0}, {1036, 4144, 771, 1088, 0, 0, 0}, {780, 13056, 5188, 0, 0, 0, 0}, {522, 544, 4176, 1285, 0, 0, 0}, {262, 1088, 4352, 0, 0, 0, 0}, {3855, 6007, 0, 0, 0, 0, 0}, {6024, 3840, 12288, 20480, 0, 0, 0}, {265, 291, 771, 325, 1285, 4112, 0}, {4106, 4128, 4608, 5376, 0, 0, 0}, {5240, 771, 17476, 0, 0, 0, 0}, {4108, 4864, 4160, 5120, 0, 0, 0}, {4728, 8738, 1285, 0, 0, 0, 0}, {1290, 4386, 1542, 4420, 0, 0, 0}, {1807, 4208, 16384, 0, 0, 0, 0}, {5984, 20560, 0, 0, 0, 0, 0}, {1032, 1536, 273, 0, 0, 0, 0}, {4122, 4144, 4626, 5440, 0, 0, 0}, {5983, 819, 17408, 0, 0, 0, 0}, {4124, 4896, 4176, 5140, 0, 0, 0}, {5951, 8704, 1365, 0, 0, 0, 0}, {1370, 102, 1536, 4352, 0, 0, 0}, {4192, 5911, 16448, 0, 0, 0, 0}, {1912, 4112, 0, 0, 0, 0, 0}, {4403, 4608, 4437, 5120, 0, 0, 0}, {1370, 4656, 21760, 0, 0, 0, 0}, {1032, 4128, 4883, 1092, 0, 0, 0}, {828, 13056, 5200, 0, 0, 0, 0}, {520, 546, 4160, 5397, 0, 0, 0}, {286, 308, 790, 338, 1302, 4118, 0}, {6047, 6240, 10079, 18239, 0, 0, 0}, {6048, 3840, 12288, 18176, 0, 0, 0}, {267, 289, 771, 327, 1028, 4369, 0}, {520, 546, 1280, 4096, 0, 0, 0}, {771, 5200, 0, 0, 0, 0, 0}, {76, 4192, 832, 1028, 0, 0, 0}, {1295, 5973, 21845, 0, 0, 0, 0}, {780, 102, 1280, 4352, 0, 0, 0}, {1799, 4176, 0, 0, 0, 0, 0}, {1800, 4128, 16384, 0, 0, 0, 0}, {1295, 4403, 771, 4437, 0, 0, 0}, {170, 4608, 1280, 0, 0, 0, 0}, {76, 771, 1028, 4112, 0, 0, 0}, {780, 5984, 17408, 0, 0, 0, 0}, {1295, 1317, 1799, 5461, 0, 0, 0}, {4386, 4864, 260, 0, 0, 0, 0}, {5983, 20560, 0, 0, 0, 0, 0}, {4144, 5952, 16448, 0, 0, 0, 0}, {1375, 102, 853, 4369, 0, 0, 0}, {4626, 1360, 0, 0, 0, 0, 0}, {76, 819, 1024, 4096, 0, 0, 0}, {5240, 5956, 17476, 0, 0, 0, 0}, {4170, 4192, 4672, 5397, 0, 0, 0}, {284, 310, 790, 336, 1024, 4352, 0}, {6071, 6216, 10103, 20480, 0, 0, 0}, {5960, 12336, 0, 0, 0, 0, 0}, {275, 4437, 1024, 0, 0, 0, 0}, {522, 544, 1360, 4112, 0, 0, 0}, {3072, 819, 5188, 0, 0, 0, 0}, {76, 4208, 4864, 1024, 0, 0, 0}, {1375, 5911, 21845, 0, 0, 0, 0}, {4638, 4386, 4420, 5140, 0, 0, 0}, {5951, 8192, 4160, 0, 0, 0, 0}, {6080, 3840, 9984, 20480, 0, 0, 0}, {269, 295, 514, 321, 1285, 4369, 0}, {1290, 1312, 514, 5440, 0, 0, 0}, {783, 5939, 17408, 0, 0, 0, 0}, {1032, 768, 1092, 4096, 0, 0, 0}, {4656, 1285, 0, 0, 0, 0, 0}, {1290, 102, 768, 4352, 0, 0, 0}, {4144, 1799, 16448, 0, 0, 0, 0}, {1800, 8192, 4160, 0, 0, 0, 0}, {783, 4403, 4437, 1285, 0, 0, 0}, {1290, 5984, 21760, 0, 0, 0, 0}, {1032, 5172, 1799, 1092, 0, 0, 0}, {204, 768, 5120, 0, 0, 0, 0}, {42, 514, 1285, 4112, 0, 0, 0}, {258, 4420, 5376, 0, 0, 0, 0}, {5951, 12336, 0, 0, 0, 0, 0}, {2048, 5920, 4176, 0, 0, 0, 0}, {1548, 1331, 1365, 4369, 0, 0, 0}, {1370, 5922, 21760, 0, 0, 0, 0}, {1036, 5152, 4883, 1088, 0, 0, 0}, {816, 5140, 0, 0, 0, 0, 0}, {42, 512, 1365, 4096, 0, 0, 0}, {282, 304, 512, 342, 1302, 4352, 0}, {6103, 6184, 12288, 18295, 0, 0, 0}, {5928, 20560, 0, 0, 0, 0, 0}, {4403, 512, 277, 0, 0, 0, 0}, {4186, 4208, 512, 5376, 0, 0, 0}, {5160, 5911, 17476, 0, 0, 0, 0}, {1036, 816, 1088, 4112, 0, 0, 0}, {2560, 4642, 1365, 0, 0, 0, 0}, {5150, 4386, 4626, 4420, 0, 0, 0}, {5983, 4128, 16384, 0, 0, 0, 0}, {4192, 1792, 16448, 0, 0, 0, 0}, {1295, 102, 1536, 4369, 0, 0, 0}, {4680, 8738, 1280, 0, 0, 0, 0}, {4124, 4883, 4176, 1024, 0, 0, 0}, {5160, 768, 17476, 0, 0, 0, 0}, {4122, 4144, 512, 5397, 0, 0, 0}, {76, 102, 256, 0, 0, 0, 0}, {5911, 20560, 0, 0, 0, 0, 0}, {6120, 3840, 10024, 18248, 0, 0, 0}, {271, 293, 512, 323, 1024, 4118, 0}, {42, 512, 4160, 1280, 0, 0, 0}, {783, 13107, 5140, 0, 0, 0, 0}, {76, 4128, 768, 1024, 0, 0, 0}, {1295, 4626, 21845, 0, 0, 0, 0}, {4386, 768, 4420, 1280, 0, 0, 0}, {1807, 4112, 0, 0, 0, 0, 0}, {20720, 5888, 0, 0, 0, 0, 0}, {279, 1028, 4369, 0, 0, 0, 0}, {42, 514, 4176, 5376, 0, 0, 0}, {831, 13107, 5120, 0, 0, 0, 0}, {76, 4144, 4864, 1028, 0, 0, 0}, {1375, 4608, 21845, 0, 0, 0, 0}, {1334, 1542, 1360, 4352, 0, 0, 0}, {2056, 1911, 4096, 0, 0, 0, 0}, {5896, 4208, 16384, 0, 0, 0, 0}, {5130, 4403, 1542, 4437, 0, 0, 0}, {5898, 8704, 1360, 0, 0, 0, 0}, {4108, 4915, 4160, 1028, 0, 0, 0}, {5900, 816, 17408, 0, 0, 0, 0}, {4106, 4128, 514, 5461, 0, 0, 0}, {280, 306, 514, 340, 1028, 4112, 0}, {6143, 6144, 12288, 20480, 0, 0, 0}, {18432, 24576, 0, 0, 0, 0, 0}, {22, 85, 257, 0, 0, 0, 0}, {42, 514, 16384, 0, 0, 0, 0}, {15, 51, 771, 5120, 0, 0, 0}, {76, 8192, 1028, 0, 0, 0, 0}, {15, 4608, 85, 1285, 0, 0, 0}, {102, 1542, 17408, 0, 0, 0, 0}, {15, 112, 1799, 4096, 0, 0, 0}, {128, 2056, 8192, 16384, 0, 0, 0}, {15, 51, 771, 85, 1285, 4352, 0}, {170, 2570, 8704, 16906, 0, 0, 0}, {15, 51, 771, 67, 1028, 4099, 0}, {204, 3084, 9228, 17408, 0, 0, 0}, {15, 37, 514, 85, 1285, 4101, 0}, {76, 102, 514, 1028, 0, 0, 0}, {15, 5888, 20480, 0, 0, 0, 0}, {2048, 112, 4112, 0, 0, 0, 0}, {51, 1536, 85, 4369, 0, 0, 0}, {90, 4626, 20480, 0, 0, 0, 0}, {76, 51, 4883, 1024, 0, 0, 0}, {60, 12288, 5140, 0, 0, 0, 0}, {42, 512, 85, 5397, 0, 0, 0}, {22, 1024, 4096, 0, 0, 0, 0}, {255, 5911, 0, 0, 0, 0, 0}, {240, 6168, 12336, 20560, 0, 0, 0}, {25, 51, 512, 85, 1024, 4352, 0}, {4122, 4144, 512, 4160, 0, 0, 0}, {5915, 51, 17476, 0, 0, 0, 0}, {4124, 4128, 4176, 1024, 0, 0, 0}, {5917, 8738, 85, 0, 0, 0, 0}, {5150, 5154, 1536, 5188, 0, 0, 0}, {5919, 5984, 16448, 0, 0, 0, 0}, {128, 2048, 8224, 16384, 0, 0, 0}, {15, 51, 771, 85, 1280, 4369, 0}, {170, 2560, 8738, 16930, 0, 0, 0}, {15, 51, 771, 67, 1027, 4112, 0}, {204, 3084, 9252, 17476, 0, 0, 0}, {15, 37, 512, 85, 1280, 4096, 0}, {1036, 1062, 512, 1088, 0, 0, 0}, {15, 5927, 20560, 0, 0, 0, 0}, {24736, 10280, 0, 0, 0, 0, 0}, {259, 277, 4352, 0, 0, 0, 0}, {42, 512, 16384, 0, 0, 0, 0}, {15, 51, 771, 5140, 0, 0, 0}, {1036, 8224, 1088, 0, 0, 0, 0}, {15, 4642, 85, 1280, 0, 0, 0}, {1548, 102, 17476, 0, 0, 0, 0}, {15, 4128, 1792, 4176, 0, 0, 0}, {240, 6192, 12336, 20480, 0, 0, 0}, {25, 51, 514, 85, 1041, 4369, 0}, {90, 112, 514, 4112, 0, 0, 0}, {51, 5888, 17408, 0, 0, 0, 0}, {1032, 1076, 1092, 4096, 0, 0, 0}, {2570, 5941, 85, 0, 0, 0, 0}, {5130, 5174, 4608, 5200, 0, 0, 0}, {5960, 5943, 16448, 0, 0, 0, 0}, {2056, 4144, 4160, 0, 0, 0, 0}, {1546, 51, 85, 4352, 0, 0, 0}, {90, 4656, 20560, 0, 0, 0, 0}, {1032, 51, 4864, 1092, 0, 0, 0}, {60, 12288, 5120, 0, 0, 0, 0}, {42, 514, 85, 5397, 0, 0, 0}, {22, 4176, 5140, 0, 0, 0, 0}, {5951, 30464, 0, 0, 0, 0, 0}, {128, 2048, 8192, 16448, 0, 0, 0}, {15, 51, 768, 85, 1285, 4369, 0}, {170, 2570, 8738, 16962, 0, 0, 0}, {15, 51, 768, 67, 1024, 4096, 0}, {204, 3072, 9284, 17476, 0, 0, 0}, {15, 37, 517, 85, 1285, 4112, 0}, {76, 102, 582, 1024, 0, 0, 0}, {15, 5959, 20480, 0, 0, 0, 0}, {24768, 18504, 0, 0, 0, 0, 0}, {275, 261, 4352, 0, 0, 0, 0}, {522, 544, 16448, 0, 0, 0, 0}, {15, 51, 768, 5188, 0, 0, 0}, {76, 8192, 1024, 0, 0, 0, 0}, {15, 4626, 85, 1285, 0, 0, 0}, {1546, 102, 17476, 0, 0, 0, 0}, {15, 4144, 1792, 4160, 0, 0, 0}, {240, 6224, 12288, 20560, 0, 0, 0}, {25, 51, 529, 85, 1028, 4369, 0}, {90, 112, 594, 4096, 0, 0, 0}, {51, 5971, 17408, 0, 0, 0, 0}, {76, 112, 1028, 4112, 0, 0, 0}, {5888, 85, 0, 0, 0, 0, 0}, {90, 102, 4694, 5120, 0, 0, 0}, {127, 5975, 16384, 0, 0, 0, 0}, {2056, 4128, 4176, 0, 0, 0, 0}, {1548, 51, 85, 4352, 0, 0, 0}, {90, 4608, 20480, 0, 0, 0, 0}, {76, 51, 4883, 1028, 0, 0, 0}, {60, 12336, 5200, 0, 0, 0, 0}, {520, 546, 85, 5376, 0, 0, 0}, {22, 4160, 1028, 0, 0, 0, 0}, {5983, 30464, 0, 0, 0, 0, 0}, {18624, 24672, 0, 0, 0, 0, 0}, {263, 1280, 273, 0, 0, 0, 0}, {520, 546, 16448, 0, 0, 0, 0}, {15, 51, 768, 5200, 0, 0, 0}, {1032, 8224, 1092, 0, 0, 0, 0}, {15, 4656, 85, 1280, 0, 0, 0}, {102, 1536, 17408, 0, 0, 0, 0}, {15, 112, 1799, 4112, 0, 0, 0}, {128, 2056, 8224, 16448, 0, 0, 0}, {15, 51, 768, 85, 1280, 4352, 0}, {170, 2560, 8704, 17002, 0, 0, 0}, {15, 51, 768, 67, 1031, 4115, 0}, {204, 3072, 9324, 17408, 0, 0, 0}, {15, 37, 519, 85, 1280, 4117, 0}, {1032, 1058, 1536, 1092, 0, 0, 0}, {15, 5984, 20560, 0, 0, 0, 0}, {2048, 112, 4096, 0, 0, 0, 0}, {51, 1542, 85, 4369, 0, 0, 0}, {90, 4642, 20560, 0, 0, 0, 0}, {1036, 51, 4864, 1088, 0, 0, 0}, {60, 12336, 5188, 0, 0, 0, 0}, {522, 544, 85, 5376, 0, 0, 0}, {22, 1088, 4112, 0, 0, 0, 0}, {24320, 6007, 0, 0, 0, 0, 0}, {240, 6264, 12288, 20480, 0, 0, 0}, {25, 51, 531, 85, 1045, 4352, 0}, {4106, 4128, 4608, 4176, 0, 0, 0}, {5960, 51, 17476, 0, 0, 0, 0}, {4108, 4144, 4160, 5120, 0, 0, 0}, {5928, 8738, 85, 0, 0, 0, 0}, {90, 102, 4626, 5140, 0, 0, 0}, {127, 5888, 16384, 0, 0, 0, 0}, {128, 2048, 8192, 16384, 0, 0, 0}, {15, 51, 771, 85, 1285, 4369, 0}, {170, 2570, 8738, 16936, 0, 0, 0}, {15, 51, 771, 67, 1027, 4099, 0}, {204, 3084, 9288, 17476, 0, 0, 0}, {15, 37, 517, 85, 1285, 4101, 0}, {1036, 1062, 1542, 1088, 0, 0, 0}, {15, 6007, 20480, 0, 0, 0, 0}, {18568, 24576, 0, 0, 0, 0, 0}, {262, 1285, 272, 0, 0, 0, 0}, {522, 544, 16384, 0, 0, 0, 0}, {15, 51, 771, 5188, 0, 0, 0}, {1036, 8192, 1088, 0, 0, 0, 0}, {15, 4642, 85, 1285, 0, 0, 0}, {102, 1542, 17476, 0, 0, 0, 0}, {15, 112, 1792, 4096, 0, 0, 0}, {240, 6240, 12336, 20560, 0, 0, 0}, {25, 51, 529, 85, 1041, 4369, 0}, {4122, 4144, 4626, 4160, 0, 0, 0}, {5983, 51, 17408, 0, 0, 0, 0}, {4124, 4128, 4176, 5140, 0, 0, 0}, {5951, 8704, 85, 0, 0, 0, 0}, {90, 102, 4608, 5120, 0, 0, 0}, {127, 5911, 16448, 0, 0, 0, 0}, {2056, 112, 4112, 0, 0, 0, 0}, {51, 1536, 85, 4352, 0, 0, 0}, {90, 4656, 20480, 0, 0, 0, 0}, {1032, 51, 4883, 1092, 0, 0, 0}, {60, 12288, 5200, 0, 0, 0, 0}, {520, 546, 85, 5397, 0, 0, 0}, {22, 1092, 4096, 0, 0, 0, 0}, {24415, 5984, 0, 0, 0, 0, 0}, {24736, 18432, 0, 0, 0, 0, 0}, {274, 260, 4369, 0, 0, 0, 0}, {520, 546, 16384, 0, 0, 0, 0}, {15, 51, 771, 5200, 0, 0, 0}, {76, 8224, 1028, 0, 0, 0, 0}, {15, 4608, 85, 1280, 0, 0, 0}, {1548, 102, 17408, 0, 0, 0, 0}, {15, 4128, 1799, 4176, 0, 0, 0}, {128, 2056, 8224, 16384, 0, 0, 0}, {15, 51, 771, 85, 1280, 4352, 0}, {170, 2560, 8704, 16896, 0, 0, 0}, {15, 51, 771, 67, 1028, 4112, 0}, {204, 3084, 9312, 17408, 0, 0, 0}, {15, 37, 519, 85, 1280, 4096, 0}, {76, 102, 580, 1028, 0, 0, 0}, {15, 5968, 20560, 0, 0, 0, 0}, {2048, 4144, 4160, 0, 0, 0, 0}, {1546, 51, 85, 4369, 0, 0, 0}, {90, 4626, 20560, 0, 0, 0, 0}, {76, 51, 4864, 1024, 0, 0, 0}, {60, 12288, 5188, 0, 0, 0, 0}, {522, 544, 85, 5397, 0, 0, 0}, {22, 4176, 1024, 0, 0, 0, 0}, {5960, 30583, 0, 0, 0, 0, 0}, {240, 6216, 12336, 20480, 0, 0, 0}, {25, 51, 531, 85, 1024, 4352, 0}, {90, 112, 592, 4112, 0, 0, 0}, {51, 5956, 17476, 0, 0, 0, 0}, {76, 112, 1024, 4096, 0, 0, 0}, {5911, 85, 0, 0, 0, 0, 0}, {90, 102, 4676, 5140, 0, 0, 0}, {127, 5952, 16448, 0, 0, 0, 0}, {24768, 10240, 0, 0, 0, 0, 0}, {258, 276, 4369, 0, 0, 0, 0}, {42, 514, 16448, 0, 0, 0, 0}, {15, 51, 768, 5120, 0, 0, 0}, {1032, 8192, 1092, 0, 0, 0, 0}, {15, 4656, 85, 1285, 0, 0, 0}, {1546, 102, 17408, 0, 0, 0, 0}, {15, 4144, 1799, 4160, 0, 0, 0}, {128, 2056, 8192, 16448, 0, 0, 0}, {15, 51, 768, 85, 1285, 4352, 0}, {170, 2570, 8704, 16992, 0, 0, 0}, {15, 51, 768, 67, 1031, 4096, 0}, {204, 3072, 9216, 17408, 0, 0, 0}, {15, 37, 514, 85, 1285, 4112, 0}, {1032, 1058, 514, 1092, 0, 0, 0}, {15, 5936, 20480, 0, 0, 0, 0}, {2048, 4128, 4176, 0, 0, 0, 0}, {1548, 51, 85, 4369, 0, 0, 0}, {90, 4642, 20480, 0, 0, 0, 0}, {1036, 51, 4883, 1088, 0, 0, 0}, {60, 12336, 5140, 0, 0, 0, 0}, {42, 512, 85, 5376, 0, 0, 0}, {22, 4160, 5120, 0, 0, 0, 0}, {5928, 30583, 0, 0, 0, 0, 0}, {240, 6184, 12288, 20560, 0, 0, 0}, {25, 51, 512, 85, 1045, 4352, 0}, {90, 112, 512, 4096, 0, 0, 0}, {51, 5911, 17476, 0, 0, 0, 0}, {1036, 1072, 1088, 4112, 0, 0, 0}, {2560, 5922, 85, 0, 0, 0, 0}, {5150, 5154, 4626, 5188, 0, 0, 0}, {5983, 5920, 16384, 0, 0, 0, 0}, {128, 2048, 8224, 16448, 0, 0, 0}, {15, 51, 768, 85, 1280, 4369, 0}, {170, 2560, 8738, 16968, 0, 0, 0}, {15, 51, 768, 67, 1024, 4115, 0}, {204, 3072, 9256, 17476, 0, 0, 0}, {15, 37, 512, 85, 1280, 4117, 0}, {76, 102, 512, 1024, 0, 0, 0}, {15, 5911, 20560, 0, 0, 0, 0}, {18504, 24672, 0, 0, 0, 0, 0}, {22, 85, 256, 0, 0, 0, 0}, {42, 512, 16448, 0, 0, 0, 0}, {15, 51, 768, 5140, 0, 0, 0}, {76, 8224, 1024, 0, 0, 0, 0}, {15, 4626, 85, 1280, 0, 0, 0}, {102, 1536, 17476, 0, 0, 0, 0}, {15, 112, 1792, 4112, 0, 0, 0}, {240, 6144, 12288, 20480, 0, 0, 0}, {25, 51, 514, 85, 1028, 4369, 0}, {4106, 4128, 514, 4176, 0, 0, 0}, {5900, 51, 17408, 0, 0, 0, 0}, {4108, 4144, 4160, 1028, 0, 0, 0}, {5898, 8704, 85, 0, 0, 0, 0}, {5130, 5174, 1542, 5200, 0, 0, 0}, {5896, 6007, 16384, 0, 0, 0, 0}, {2056, 112, 4096, 0, 0, 0, 0}, {51, 1542, 85, 4352, 0, 0, 0}, {90, 4608, 20560, 0, 0, 0, 0}, {76, 51, 4864, 1028, 0, 0, 0}, {60, 12336, 5120, 0, 0, 0, 0}, {42, 514, 85, 5376, 0, 0, 0}, {22, 1028, 4112, 0, 0, 0, 0}, {255, 5888, 0, 0, 0, 0, 0}, {5632, 21760, 0, 0, 0, 0, 0}, {72, 96, 257, 0, 0, 0, 0}, {4362, 4386, 514, 5120, 0, 0, 0}, {5439, 771, 16384, 0, 0, 0, 0}, {4364, 4608, 4420, 1028, 0, 0, 0}, {4959, 8192, 1285, 0, 0, 0, 0}, {1290, 96, 1542, 4096, 0, 0, 0}, {4471, 1799, 17408, 0, 0, 0, 0}, {1800, 4352, 0, 0, 0, 0, 0}, {4144, 771, 4176, 1285, 0, 0, 0}, {1290, 4864, 20480, 0, 0, 0, 0}, {72, 4403, 771, 1028, 0, 0, 0}, {780, 12288, 5376, 0, 0, 0, 0}, {40, 514, 4437, 1285, 0, 0, 0}, {270, 294, 514, 326, 1028, 4358, 0}, {5872, 3855, 9487, 17167, 0, 0, 0}, {1328, 1536, 1360, 4112, 0, 0, 0}, {2048, 1911, 4369, 0, 0, 0, 0}, {72, 4386, 4626, 1024, 0, 0, 0}, {1375, 4883, 20480, 0, 0, 0, 0}, {40, 512, 4420, 5140, 0, 0, 0}, {831, 12288, 5397, 0, 0, 0, 0}, {21930, 5654, 0, 0, 0, 0, 0}, {279, 1024, 4096, 0, 0, 0, 0}, {280, 304, 512, 336, 1024, 4352, 0}, {5862, 6425, 13107, 21845, 0, 0, 0}, {5658, 816, 16448, 0, 0, 0, 0}, {4379, 4403, 512, 5188, 0, 0, 0}, {5660, 8224, 1360, 0, 0, 0, 0}, {4381, 4642, 4437, 1024, 0, 0, 0}, {5662, 4454, 17476, 0, 0, 0, 0}, {5407, 4128, 1536, 4160, 0, 0, 0}, {4896, 1280, 0, 0, 0, 0, 0}, {1036, 771, 1092, 4369, 0, 0, 0}, {4386, 1792, 17408, 0, 0, 0, 0}, {1295, 96, 771, 4112, 0, 0, 0}, {268, 292, 512, 324, 1280, 4096, 0}, {5850, 3855, 9509, 21845, 0, 0, 0}, {780, 5670, 16448, 0, 0, 0, 0}, {1295, 1319, 512, 5200, 0, 0, 0}, {40, 512, 1280, 4352, 0, 0, 0}, {192, 771, 5397, 0, 0, 0, 0}, {5674, 13056, 0, 0, 0, 0, 0}, {259, 4176, 5140, 0, 0, 0, 0}, {780, 4128, 4160, 1280, 0, 0, 0}, {1807, 8738, 4437, 0, 0, 0, 0}, {1036, 5410, 1792, 1092, 0, 0, 0}, {1295, 5744, 20560, 0, 0, 0, 0}, {816, 5376, 0, 0, 0, 0, 0}, {40, 514, 1365, 4369, 0, 0, 0}, {282, 306, 514, 338, 1298, 4112, 0}, {5836, 6451, 13107, 17203, 0, 0, 0}, {2056, 5684, 4420, 0, 0, 0, 0}, {1546, 1333, 1365, 4096, 0, 0, 0}, {1370, 5686, 20560, 0, 0, 0, 0}, {1032, 5431, 4608, 1088, 0, 0, 0}, {1032, 816, 1088, 4352, 0, 0, 0}, {2570, 4915, 1365, 0, 0, 0, 0}, {5386, 4144, 4864, 4176, 0, 0, 0}, {5708, 4403, 17476, 0, 0, 0, 0}, {5692, 21760, 0, 0, 0, 0, 0}, {4128, 514, 277, 0, 0, 0, 0}, {4430, 4454, 514, 5140, 0, 0, 0}, {5439, 5632, 16384, 0, 0, 0, 0}, {768, 5440, 0, 0, 0, 0, 0}, {522, 546, 1285, 4369, 0, 0, 0}, {266, 290, 768, 322, 1024, 4096, 0}, {5820, 3855, 13107, 17219, 0, 0, 0}, {1792, 4420, 0, 0, 0, 0, 0}, {783, 96, 1285, 4112, 0, 0, 0}, {1290, 5702, 20480, 0, 0, 0, 0}, {72, 4471, 839, 1024, 0, 0, 0}, {72, 768, 1024, 4352, 0, 0, 0}, {160, 4883, 1285, 0, 0, 0, 0}, {1290, 4128, 768, 4160, 0, 0, 0}, {1807, 4403, 17476, 0, 0, 0, 0}, {5708, 21760, 0, 0, 0, 0, 0}, {4144, 4626, 261, 0, 0, 0, 0}, {1290, 1314, 1792, 5188, 0, 0, 0}, {783, 5744, 16448, 0, 0, 0, 0}, {4864, 1360, 0, 0, 0, 0, 0}, {72, 819, 1028, 4369, 0, 0, 0}, {4386, 5714, 17408, 0, 0, 0, 0}, {1375, 96, 851, 4096, 0, 0, 0}, {284, 308, 788, 340, 1028, 4112, 0}, {5802, 6485, 9557, 21845, 0, 0, 0}, {5482, 5718, 16384, 0, 0, 0, 0}, {4447, 4471, 4951, 5120, 0, 0, 0}, {520, 544, 1360, 4352, 0, 0, 0}, {3084, 819, 5461, 0, 0, 0, 0}, {5722, 13056, 0, 0, 0, 0, 0}, {275, 4160, 1028, 0, 0, 0, 0}, {4876, 4144, 4176, 5376, 0, 0, 0}, {5674, 8738, 4437, 0, 0, 0, 0}, {72, 4454, 4626, 1028, 0, 0, 0}, {1375, 5632, 20480, 0, 0, 0, 0}, {96, 768, 1280, 4096, 0, 0, 0}, {136, 1799, 4369, 0, 0, 0, 0}, {1032, 4386, 768, 1088, 0, 0, 0}, {1295, 4915, 20560, 0, 0, 0, 0}, {520, 544, 4420, 1280, 0, 0, 0}, {783, 12336, 5461, 0, 0, 0, 0}, {3840, 5734, 0, 0, 0, 0, 0}, {263, 1088, 4112, 0, 0, 0, 0}, {264, 288, 768, 320, 1280, 4352, 0}, {5782, 3855, 13107, 21845, 0, 0, 0}, {5482, 768, 16384, 0, 0, 0, 0}, {4379, 4403, 4883, 5140, 0, 0, 0}, {4972, 8192, 1280, 0, 0, 0, 0}, {4381, 4626, 4437, 5397, 0, 0, 0}, {1800, 4454, 17476, 0, 0, 0, 0}, {1295, 4144, 1536, 4176, 0, 0, 0}, {5744, 21760, 0, 0, 0, 0, 0}, {1036, 1542, 273, 0, 0, 0, 0}, {4362, 4386, 4864, 5200, 0, 0, 0}, {5708, 819, 16448, 0, 0, 0, 0}, {4364, 4656, 4420, 5376, 0, 0, 0}, {5674, 8224, 1365, 0, 0, 0, 0}, {1370, 96, 1542, 4112, 0, 0, 0}, {4471, 5632, 17408, 0, 0, 0, 0}, {1912, 4352, 0, 0, 0, 0, 0}, {4128, 4883, 4160, 5397, 0, 0, 0}, {1370, 4896, 20560, 0, 0, 0, 0}, {1036, 4403, 4608, 1092, 0, 0, 0}, {828, 12336, 5440, 0, 0, 0, 0}, {522, 546, 4437, 5120, 0, 0, 0}, {286, 310, 788, 342, 1298, 4358, 0}, {5760, 6527, 9599, 17279, 0, 0, 0}, {5760, 3840, 13056, 21760, 0, 0, 0}, {265, 289, 771, 321, 1285, 4369, 0}, {4362, 4386, 4864, 5120, 0, 0, 0}, {5503, 771, 16448, 0, 0, 0, 0}, {4364, 4608, 4420, 5376, 0, 0, 0}, {4991, 8224, 1285, 0, 0, 0, 0}, {1290, 4128, 1542, 4160, 0, 0, 0}, {1807, 4471, 17408, 0, 0, 0, 0}, {136, 1792, 4352, 0, 0, 0, 0}, {96, 771, 1285, 4112, 0, 0, 0}, {1290, 4896, 20480, 0, 0, 0, 0}, {1036, 4403, 771, 1092, 0, 0, 0}, {780, 12288, 5440, 0, 0, 0, 0}, {522, 546, 4437, 1285, 0, 0, 0}, {262, 1092, 4096, 0, 0, 0, 0}, {3855, 5744, 0, 0, 0, 0, 0}, {4144, 4864, 4176, 5376, 0, 0, 0}, {1919, 4369, 0, 0, 0, 0, 0}, {1032, 4386, 4626, 1088, 0, 0, 0}, {1375, 4915, 20480, 0, 0, 0, 0}, {520, 544, 4420, 5140, 0, 0, 0}, {831, 12288, 5461, 0, 0, 0, 0}, {5782, 6502, 9562, 17212, 0, 0, 0}, {287, 311, 791, 343, 1303, 4375, 0}, {1032, 1536, 272, 0, 0, 0, 0}, {5734, 21845, 0, 0, 0, 0, 0}, {5722, 816, 16384, 0, 0, 0, 0}, {4379, 4403, 4883, 5188, 0, 0, 0}, {5692, 8192, 1360, 0, 0, 0, 0}, {4381, 4642, 4437, 5397, 0, 0, 0}, {4454, 5654, 17476, 0, 0, 0, 0}, {1375, 96, 1536, 4096, 0, 0, 0}, {160, 4864, 1280, 0, 0, 0, 0}, {72, 771, 1028, 4369, 0, 0, 0}, {1800, 4386, 17408, 0, 0, 0, 0}, {1295, 4144, 771, 4176, 0, 0, 0}, {4128, 4608, 260, 0, 0, 0, 0}, {5722, 21845, 0, 0, 0, 0, 0}, {780, 5734, 16384, 0, 0, 0, 0}, {1295, 1319, 1799, 5200, 0, 0, 0}, {520, 544, 1280, 4352, 0, 0, 0}, {771, 5461, 0, 0, 0, 0, 0}, {5802, 3840, 13056, 17152, 0, 0, 0}, {267, 291, 771, 323, 1028, 4112, 0}, {780, 96, 1280, 4096, 0, 0, 0}, {1799, 4437, 0, 0, 0, 0, 0}, {72, 4454, 836, 1028, 0, 0, 0}, {1295, 5712, 20560, 0, 0, 0, 0}, {3072, 816, 5440, 0, 0, 0, 0}, {522, 546, 1365, 4369, 0, 0, 0}, {274, 4176, 1024, 0, 0, 0, 0}, {5708, 13107, 0, 0, 0, 0, 0}, {5692, 8704, 4420, 0, 0, 0, 0}, {4895, 4128, 4160, 5397, 0, 0, 0}, {1370, 5654, 20560, 0, 0, 0, 0}, {72, 4471, 4608, 1024, 0, 0, 0}, {72, 816, 1024, 4352, 0, 0, 0}, {4883, 1365, 0, 0, 0, 0, 0}, {1370, 96, 848, 4112, 0, 0, 0}, {4403, 5700, 17476, 0, 0, 0, 0}, {5820, 6476, 9584, 21760, 0, 0, 0}, {285, 309, 791, 341, 1024, 4096, 0}, {4430, 4454, 4932, 5140, 0, 0, 0}, {5503, 5696, 16448, 0, 0, 0, 0}, {192, 768, 5376, 0, 0, 0, 0}, {40, 514, 1285, 4369, 0, 0, 0}, {258, 4160, 5120, 0, 0, 0, 0}, {5692, 13107, 0, 0, 0, 0, 0}, {1800, 8704, 4420, 0, 0, 0, 0}, {783, 4144, 4176, 1285, 0, 0, 0}, {1290, 5734, 20480, 0, 0, 0, 0}, {1032, 5431, 1799, 1088, 0, 0, 0}, {1032, 768, 1088, 4352, 0, 0, 0}, {4915, 1285, 0, 0, 0, 0, 0}, {1290, 96, 768, 4096, 0, 0, 0}, {4403, 1799, 17476, 0, 0, 0, 0}, {5836, 3840, 9472, 21760, 0, 0, 0}, {269, 293, 514, 325, 1285, 4112, 0}, {1290, 1314, 514, 5188, 0, 0, 0}, {783, 5680, 16384, 0, 0, 0, 0}, {2560, 4896, 1360, 0, 0, 0, 0}, {1036, 819, 1092, 4369, 0, 0, 0}, {5722, 4386, 17408, 0, 0, 0, 0}, {5407, 4128, 4883, 4160, 0, 0, 0}, {4144, 512, 276, 0, 0, 0, 0}, {5674, 21845, 0, 0, 0, 0, 0}, {5418, 5654, 16448, 0, 0, 0, 0}, {4447, 4471, 512, 5120, 0, 0, 0}, {40, 512, 1360, 4352, 0, 0, 0}, {819, 5397, 0, 0, 0, 0, 0}, {5850, 6442, 13056, 17264, 0, 0, 0}, {283, 307, 512, 339, 1303, 4096, 0}, {1548, 1328, 1360, 4112, 0, 0, 0}, {2048, 5666, 4437, 0, 0, 0, 0}, {1036, 5410, 4626, 1092, 0, 0, 0}, {1375, 5664, 20480, 0, 0, 0, 0}, {4128, 768, 4160, 1280, 0, 0, 0}, {1807, 4369, 0, 0, 0, 0, 0}, {72, 4386, 768, 1024, 0, 0, 0}, {1295, 4883, 20560, 0, 0, 0, 0}, {40, 512, 4420, 1280, 0, 0, 0}, {783, 12336, 5397, 0, 0, 0, 0}, {5862, 3840, 9514, 17228, 0, 0, 0}, {271, 295, 512, 327, 1024, 4375, 0}, {72, 96, 256, 0, 0, 0, 0}, {5654, 21845, 0, 0, 0, 0, 0}, {5418, 768, 16448, 0, 0, 0, 0}, {4379, 4403, 512, 5140, 0, 0, 0}, {4940, 8224, 1280, 0, 0, 0, 0}, {4381, 4626, 4437, 1024, 0, 0, 0}, {4454, 1792, 17476, 0, 0, 0, 0}, {1295, 96, 1536, 4112, 0, 0, 0}, {5872, 6400, 13056, 21760, 0, 0, 0}, {281, 305, 514, 337, 1028, 4369, 0}, {4362, 4386, 514, 5200, 0, 0, 0}, {5644, 819, 16384, 0, 0, 0, 0}, {4364, 4656, 4420, 1028, 0, 0, 0}, {5642, 8192, 1365, 0, 0, 0, 0}, {5386, 4144, 1542, 4176, 0, 0, 0}, {5640, 4471, 17408, 0, 0, 0, 0}, {2056, 1904, 4352, 0, 0, 0, 0}, {1333, 1542, 1365, 4096, 0, 0, 0}, {1370, 4864, 20560, 0, 0, 0, 0}, {72, 4403, 4608, 1028, 0, 0, 0}, {828, 12336, 5376, 0, 0, 0, 0}, {40, 514, 4437, 5120, 0, 0, 0}, {278, 1028, 4112, 0, 0, 0, 0}, {22015, 5632, 0, 0, 0, 0, 0}, {10752, 16384, 0, 0, 0, 0, 0}, {51, 20, 257, 0, 0, 0, 0}, {40, 514, 16416, 0, 0, 0, 0}, {15, 51, 771, 5379, 0, 0, 0}, {8704, 68, 1028, 0, 0, 0, 0}, {15, 80, 1285, 4096, 0, 0, 0}, {108, 1542, 16480, 0, 0, 0, 0}, {15, 119, 4608, 5383, 0, 0, 0}, {136, 2056, 8704, 16392, 0, 0, 0}, {15, 51, 771, 80, 1285, 4099, 0}, {160, 2570, 8192, 16384, 0, 0, 0}, {15, 51, 771, 68, 1028, 4352, 0}, {204, 3084, 9740, 16396, 0, 0, 0}, {15, 39, 514, 80, 1285, 4103, 0}, {40, 514, 68, 1028, 0, 0, 0}, {15, 12288, 5376, 0, 0, 0, 0}, {2560, 80, 4112, 0, 0, 0, 0}, {51, 68, 1024, 4369, 0, 0, 0}, {120, 4626, 16432, 0, 0, 0, 0}, {95, 51, 4883, 5395, 0, 0, 0}, {512, 20, 4096, 0, 0, 0, 0}, {255, 5397, 0, 0, 0, 0, 0}, {60, 5654, 16496, 0, 0, 0, 0}, {95, 119, 512, 5399, 0, 0, 0}, {4120, 4144, 512, 80, 0, 0, 0}, {5401, 51, 21845, 0, 0, 0, 0}, {240, 6682, 12336, 16448, 0, 0, 0}, {27, 51, 512, 68, 1024, 4352, 0}, {4124, 4128, 1536, 80, 0, 0, 0}, {5405, 119, 21845, 0, 0, 0, 0}, {4638, 4642, 68, 1024, 0, 0, 0}, {5407, 8224, 5440, 0, 0, 0, 0}, {160, 2560, 8224, 16416, 0, 0, 0}, {15, 51, 771, 68, 1027, 4369, 0}, {136, 2048, 8738, 16384, 0, 0, 0}, {15, 51, 771, 80, 1280, 4112, 0}, {1036, 1060, 512, 68, 0, 0, 0}, {15, 5413, 21845, 0, 0, 0, 0}, {204, 3084, 9766, 16448, 0, 0, 0}, {15, 39, 512, 80, 1280, 4096, 0}, {40, 512, 16384, 0, 0, 0, 0}, {15, 51, 771, 5397, 0, 0, 0}, {16512, 10794, 0, 0, 0, 0, 0}, {259, 20, 4352, 0, 0, 0, 0}, {1548, 1632, 16448, 0, 0, 0, 0}, {15, 5410, 1792, 5461, 0, 0, 0}, {1036, 8738, 68, 0, 0, 0, 0}, {15, 4128, 80, 1280, 0, 0, 0}, {240, 6704, 12336, 16432, 0, 0, 0}, {27, 51, 514, 68, 1043, 4369, 0}, {40, 514, 80, 4112, 0, 0, 0}, {51, 5376, 0, 0, 0, 0, 0}, {1032, 1076, 4608, 68, 0, 0, 0}, {95, 5429, 21845, 0, 0, 0, 0}, {1546, 1590, 80, 4096, 0, 0, 0}, {2056, 5431, 5440, 0, 0, 0, 0}, {4680, 4656, 16448, 0, 0, 0, 0}, {5386, 51, 4864, 5461, 0, 0, 0}, {2570, 4144, 80, 0, 0, 0, 0}, {1032, 51, 68, 4352, 0, 0, 0}, {60, 5632, 16384, 0, 0, 0, 0}, {95, 119, 514, 5397, 0, 0, 0}, {4128, 514, 20, 0, 0, 0, 0}, {5439, 21760, 0, 0, 0, 0, 0}, {10880, 16448, 0, 0, 0, 0, 0}, {768, 261, 273, 0, 0, 0, 0}, {522, 546, 16962, 0, 0, 0, 0}, {15, 51, 768, 5443, 0, 0, 0}, {8704, 68, 1024, 0, 0, 0, 0}, {15, 80, 1285, 4112, 0, 0, 0}, {1546, 1638, 17990, 0, 0, 0, 0}, {15, 5424, 1792, 5447, 0, 0, 0}, {136, 2048, 8704, 16456, 0, 0, 0}, {15, 51, 768, 80, 1285, 4115, 0}, {160, 2570, 8224, 16448, 0, 0, 0}, {15, 51, 768, 68, 1024, 4352, 0}, {204, 3072, 9804, 16460, 0, 0, 0}, {15, 39, 517, 80, 1285, 4119, 0}, {522, 546, 68, 1024, 0, 0, 0}, {15, 12336, 5440, 0, 0, 0, 0}, {2560, 80, 4096, 0, 0, 0, 0}, {51, 68, 1028, 4369, 0, 0, 0}, {4698, 4642, 21074, 0, 0, 0, 0}, {5388, 51, 4864, 5459, 0, 0, 0}, {544, 20, 4112, 0, 0, 0, 0}, {16128, 5461, 0, 0, 0, 0, 0}, {5722, 5734, 22102, 0, 0, 0, 0}, {5384, 5408, 5888, 5463, 0, 0, 0}, {4104, 4128, 4608, 80, 0, 0, 0}, {5465, 51, 21845, 0, 0, 0, 0}, {240, 6746, 12288, 16384, 0, 0, 0}, {27, 51, 531, 68, 1028, 4352, 0}, {4108, 4144, 5632, 80, 0, 0, 0}, {5469, 119, 21845, 0, 0, 0, 0}, {60, 4626, 68, 1028, 0, 0, 0}, {95, 8192, 5376, 0, 0, 0, 0}, {160, 2560, 8192, 16480, 0, 0, 0}, {15, 51, 768, 68, 1031, 4369, 0}, {136, 2056, 8738, 16448, 0, 0, 0}, {15, 51, 768, 80, 1280, 4096, 0}, {1032, 1056, 1536, 68, 0, 0, 0}, {15, 5477, 21845, 0, 0, 0, 0}, {204, 3072, 9830, 16384, 0, 0, 0}, {15, 39, 519, 80, 1280, 4112, 0}, {520, 544, 16448, 0, 0, 0, 0}, {15, 51, 768, 5461, 0, 0, 0}, {16576, 27242, 0, 0, 0, 0, 0}, {275, 20, 4352, 0, 0, 0, 0}, {108, 1536, 16384, 0, 0, 0, 0}, {15, 119, 4626, 5397, 0, 0, 0}, {1032, 8738, 68, 0, 0, 0, 0}, {15, 4144, 80, 1280, 0, 0, 0}, {240, 6768, 12288, 16496, 0, 0, 0}, {27, 51, 529, 68, 1047, 4369, 0}, {522, 546, 80, 4096, 0, 0, 0}, {3084, 51, 5440, 0, 0, 0, 0}, {1036, 1072, 5632, 68, 0, 0, 0}, {95, 5493, 21845, 0, 0, 0, 0}, {60, 1542, 80, 4112, 0, 0, 0}, {119, 5376, 0, 0, 0, 0, 0}, {120, 4608, 16384, 0, 0, 0, 0}, {95, 51, 4883, 5397, 0, 0, 0}, {2570, 4128, 80, 0, 0, 0, 0}, {1036, 51, 68, 4352, 0, 0, 0}, {5708, 5744, 16448, 0, 0, 0, 0}, {5386, 5410, 5888, 5461, 0, 0, 0}, {4144, 4626, 20, 0, 0, 0, 0}, {5503, 21760, 0, 0, 0, 0, 0}, {16512, 27136, 0, 0, 0, 0, 0}, {274, 20, 4369, 0, 0, 0, 0}, {522, 546, 16384, 0, 0, 0, 0}, {15, 51, 771, 5440, 0, 0, 0}, {1036, 8704, 68, 0, 0, 0, 0}, {15, 4128, 80, 1285, 0, 0, 0}, {108, 1542, 16448, 0, 0, 0, 0}, {15, 119, 4608, 5376, 0, 0, 0}, {136, 2048, 8704, 16384, 0, 0, 0}, {15, 51, 771, 80, 1285, 4112, 0}, {160, 2570, 8224, 16416, 0, 0, 0}, {15, 51, 771, 68, 1027, 4352, 0}, {204, 3084, 9792, 16448, 0, 0, 0}, {15, 39, 517, 80, 1285, 4096, 0}, {1036, 1060, 1542, 68, 0, 0, 0}, {15, 5488, 21760, 0, 0, 0, 0}, {2560, 4144, 80, 0, 0, 0, 0}, {1032, 51, 68, 4369, 0, 0, 0}, {120, 4626, 16448, 0, 0, 0, 0}, {95, 51, 4864, 5376, 0, 0, 0}, {4128, 4608, 20, 0, 0, 0, 0}, {5482, 21845, 0, 0, 0, 0, 0}, {5722, 5734, 16384, 0, 0, 0, 0}, {5407, 5431, 5911, 5440, 0, 0, 0}, {520, 544, 80, 4112, 0, 0, 0}, {3072, 51, 5461, 0, 0, 0, 0}, {240, 6762, 12336, 16432, 0, 0, 0}, {27, 51, 531, 68, 1043, 4352, 0}, {60, 1536, 80, 4096, 0, 0, 0}, {119, 5397, 0, 0, 0, 0, 0}, {1032, 1076, 5654, 68, 0, 0, 0}, {95, 5472, 21760, 0, 0, 0, 0}, {160, 2560, 8192, 16384, 0, 0, 0}, {15, 51, 771, 68, 1028, 4369, 0}, {136, 2056, 8738, 16392, 0, 0, 0}, {15, 51, 771, 80, 1280, 4099, 0}, {520, 544, 68, 1028, 0, 0, 0}, {15, 12288, 5461, 0, 0, 0, 0}, {204, 3084, 9834, 16396, 0, 0, 0}, {15, 39, 519, 80, 1280, 4103, 0}, {520, 544, 16896, 0, 0, 0, 0}, {15, 51, 771, 5462, 0, 0, 0}, {10922, 16384, 0, 0, 0, 0, 0}, {771, 260, 272, 0, 0, 0, 0}, {1548, 1632, 17920, 0, 0, 0, 0}, {15, 5413, 1799, 5458, 0, 0, 0}, {8738, 68, 1028, 0, 0, 0, 0}, {15, 80, 1280, 4096, 0, 0, 0}, {240, 6720, 12336, 16448, 0, 0, 0}, {27, 51, 529, 68, 1024, 4369, 0}, {4120, 4144, 4626, 80, 0, 0, 0}, {5452, 51, 21760, 0, 0, 0, 0}, {60, 4608, 68, 1024, 0, 0, 0}, {95, 8224, 5397, 0, 0, 0, 0}, {4124, 4128, 5654, 80, 0, 0, 0}, {5448, 119, 21760, 0, 0, 0, 0}, {4680, 4656, 20992, 0, 0, 0, 0}, {5401, 51, 4883, 5446, 0, 0, 0}, {2570, 80, 4112, 0, 0, 0, 0}, {51, 68, 1024, 4352, 0, 0, 0}, {5708, 5744, 22016, 0, 0, 0, 0}, {5405, 5429, 5911, 5442, 0, 0, 0}, {546, 20, 4096, 0, 0, 0, 0}, {16191, 5440, 0, 0, 0, 0, 0}, {16576, 10752, 0, 0, 0, 0, 0}, {258, 20, 4369, 0, 0, 0, 0}, {40, 514, 16448, 0, 0, 0, 0}, {15, 51, 768, 5376, 0, 0, 0}, {1032, 8704, 68, 0, 0, 0, 0}, {15, 4144, 80, 1285, 0, 0, 0}, {1546, 1638, 16384, 0, 0, 0, 0}, {15, 5431, 1799, 5440, 0, 0, 0}, {136, 2056, 8704, 16448, 0, 0, 0}, {15, 51, 768, 80, 1285, 4096, 0}, {160, 2570, 8192, 16480, 0, 0, 0}, {15, 51, 768, 68, 1031, 4352, 0}, {204, 3072, 9728, 16384, 0, 0, 0}, {15, 39, 514, 80, 1285, 4112, 0}, {1032, 1056, 514, 68, 0, 0, 0}, {15, 5424, 21760, 0, 0, 0, 0}, {2560, 4128, 80, 0, 0, 0, 0}, {1036, 51, 68, 4369, 0, 0, 0}, {4698, 4642, 16384, 0, 0, 0, 0}, {5407, 51, 4883, 5440, 0, 0, 0}, {4144, 512, 20, 0, 0, 0, 0}, {5418, 21845, 0, 0, 0, 0, 0}, {60, 5654, 16448, 0, 0, 0, 0}, {95, 119, 512, 5376, 0, 0, 0}, {40, 512, 80, 4096, 0, 0, 0}, {51, 5397, 0, 0, 0, 0, 0}, {240, 6698, 12288, 16496, 0, 0, 0}, {27, 51, 512, 68, 1047, 4352, 0}, {1548, 1584, 80, 4112, 0, 0, 0}, {2048, 5410, 5461, 0, 0, 0, 0}, {1036, 1072, 4626, 68, 0, 0, 0}, {95, 5408, 21760, 0, 0, 0, 0}, {160, 2560, 8224, 16448, 0, 0, 0}, {15, 51, 768, 68, 1024, 4369, 0}, {136, 2048, 8738, 16456, 0, 0, 0}, {15, 51, 768, 80, 1280, 4115, 0}, {40, 512, 68, 1024, 0, 0, 0}, {15, 12336, 5397, 0, 0, 0, 0}, {204, 3072, 9770, 16460, 0, 0, 0}, {15, 39, 512, 80, 1280, 4119, 0}, {40, 512, 16480, 0, 0, 0, 0}, {15, 51, 768, 5398, 0, 0, 0}, {10794, 16448, 0, 0, 0, 0, 0}, {51, 20, 256, 0, 0, 0, 0}, {108, 1536, 16416, 0, 0, 0, 0}, {15, 119, 4626, 5394, 0, 0, 0}, {8738, 68, 1024, 0, 0, 0, 0}, {15, 80, 1280, 4112, 0, 0, 0}, {240, 6656, 12288, 16384, 0, 0, 0}, {27, 51, 514, 68, 1028, 4369, 0}, {4104, 4128, 514, 80, 0, 0, 0}, {5388, 51, 21760, 0, 0, 0, 0}, {4620, 4656, 68, 1028, 0, 0, 0}, {5386, 8192, 5461, 0, 0, 0, 0}, {4108, 4144, 1542, 80, 0, 0, 0}, {5384, 119, 21760, 0, 0, 0, 0}, {120, 4608, 16496, 0, 0, 0, 0}, {95, 51, 4864, 5382, 0, 0, 0}, {2570, 80, 4096, 0, 0, 0, 0}, {51, 68, 1028, 4352, 0, 0, 0}, {60, 5632, 16432, 0, 0, 0, 0}, {95, 119, 514, 5378, 0, 0, 0}, {514, 20, 4112, 0, 0, 0, 0}, {255, 5376, 0, 0, 0, 0, 0}, {13056, 5120, 0, 0, 0, 0, 0}, {42, 64, 257, 0, 0, 0, 0}, {4360, 4386, 514, 5122, 0, 0, 0}, {5180, 771, 20528, 0, 0, 0, 0}, {780, 64, 1028, 4096, 0, 0, 0}, {8704, 4437, 1285, 0, 0, 0, 0}, {4364, 4454, 4608, 5126, 0, 0, 0}, {5240, 1799, 20592, 0, 0, 0, 0}, {5128, 4864, 20480, 0, 0, 0, 0}, {4441, 4403, 771, 1285, 0, 0, 0}, {1290, 4352, 0, 0, 0, 0, 0}, {4144, 771, 64, 1028, 0, 0, 0}, {5132, 5888, 20480, 0, 0, 0, 0}, {4445, 4471, 514, 1285, 0, 0, 0}, {270, 292, 514, 64, 1028, 4356, 0}, {5360, 3855, 9999, 17408, 0, 0, 0}, {816, 64, 1024, 4112, 0, 0, 0}, {2560, 1365, 4369, 0, 0, 0, 0}, {4424, 4386, 4626, 5138, 0, 0, 0}, {5228, 4883, 20512, 0, 0, 0, 0}, {13260, 5140, 0, 0, 0, 0, 0}, {512, 277, 4096, 0, 0, 0, 0}, {4428, 4454, 512, 5142, 0, 0, 0}, {5160, 5911, 20576, 0, 0, 0, 0}, {5144, 816, 20560, 0, 0, 0, 0}, {4377, 4403, 512, 1365, 0, 0, 0}, {282, 304, 512, 64, 1024, 4352, 0}, {5348, 6939, 13107, 17476, 0, 0, 0}, {5148, 1904, 20560, 0, 0, 0, 0}, {4381, 5154, 1536, 1365, 0, 0, 0}, {5150, 8738, 4420, 0, 0, 0, 0}, {4895, 4128, 64, 1024, 0, 0, 0}, {5152, 1792, 17408, 0, 0, 0, 0}, {1295, 1381, 771, 4369, 0, 0, 0}, {4386, 1280, 0, 0, 0, 0, 0}, {1036, 771, 64, 4112, 0, 0, 0}, {780, 5156, 17476, 0, 0, 0, 0}, {1295, 1317, 512, 4437, 0, 0, 0}, {268, 294, 512, 64, 1280, 4096, 0}, {5336, 3855, 10023, 20560, 0, 0, 0}, {5160, 13056, 0, 0, 0, 0, 0}, {259, 64, 5397, 0, 0, 0, 0}, {42, 512, 1280, 4352, 0, 0, 0}, {192, 771, 5140, 0, 0, 0, 0}, {1036, 4128, 1792, 64, 0, 0, 0}, {1295, 4471, 21845, 0, 0, 0, 0}, {780, 4642, 4420, 1280, 0, 0, 0}, {1807, 8224, 5200, 0, 0, 0, 0}, {5168, 5888, 17408, 0, 0, 0, 0}, {1375, 1397, 514, 4369, 0, 0, 0}, {280, 306, 514, 64, 1296, 4112, 0}, {5324, 6963, 13107, 20480, 0, 0, 0}, {4940, 5172, 17476, 0, 0, 0, 0}, {5130, 1333, 4608, 4437, 0, 0, 0}, {2570, 5174, 1360, 0, 0, 0, 0}, {1032, 1847, 64, 4096, 0, 0, 0}, {1032, 4144, 4864, 64, 0, 0, 0}, {1375, 4403, 21845, 0, 0, 0, 0}, {1546, 816, 1360, 4352, 0, 0, 0}, {2056, 4915, 5188, 0, 0, 0, 0}, {5180, 30464, 0, 0, 0, 0, 0}, {279, 64, 5397, 0, 0, 0, 0}, {42, 514, 4420, 5140, 0, 0, 0}, {831, 12288, 5120, 0, 0, 0, 0}, {768, 64, 1024, 4096, 0, 0, 0}, {170, 1285, 4369, 0, 0, 0, 0}, {1290, 4386, 768, 5186, 0, 0, 0}, {1807, 4915, 17219, 0, 0, 0, 0}, {3840, 5188, 0, 0, 0, 0, 0}, {544, 261, 4112, 0, 0, 0, 0}, {1290, 1312, 1792, 5190, 0, 0, 0}, {783, 6007, 18247, 0, 0, 0, 0}, {5192, 768, 20480, 0, 0, 0, 0}, {4377, 4403, 4883, 1285, 0, 0, 0}, {266, 288, 768, 64, 1024, 4352, 0}, {5300, 3855, 13107, 17476, 0, 0, 0}, {5196, 1792, 20480, 0, 0, 0, 0}, {4381, 4471, 4626, 1285, 0, 0, 0}, {1290, 8738, 4420, 0, 0, 0, 0}, {783, 4144, 64, 1024, 0, 0, 0}, {13056, 5200, 0, 0, 0, 0, 0}, {520, 1028, 273, 0, 0, 0, 0}, {4360, 4386, 4864, 5202, 0, 0, 0}, {5983, 819, 21331, 0, 0, 0, 0}, {828, 64, 1028, 4112, 0, 0, 0}, {8704, 4437, 5120, 0, 0, 0, 0}, {4364, 1328, 5888, 5206, 0, 0, 0}, {4959, 1911, 22359, 0, 0, 0, 0}, {5208, 4896, 20560, 0, 0, 0, 0}, {5132, 4403, 4608, 1365, 0, 0, 0}, {1370, 4352, 0, 0, 0, 0, 0}, {4128, 4883, 64, 1028, 0, 0, 0}, {5212, 5984, 20560, 0, 0, 0, 0}, {5128, 5154, 5632, 1365, 0, 0, 0}, {286, 308, 790, 64, 1028, 4356, 0}, {5280, 7007, 10079, 17408, 0, 0, 0}, {5216, 768, 17408, 0, 0, 0, 0}, {1295, 1317, 1799, 4369, 0, 0, 0}, {264, 290, 768, 64, 1280, 4096, 0}, {5276, 3855, 13107, 20560, 0, 0, 0}, {1800, 5220, 17476, 0, 0, 0, 0}, {1295, 5168, 1536, 4437, 0, 0, 0}, {4454, 1280, 0, 0, 0, 0, 0}, {1032, 1799, 64, 4112, 0, 0, 0}, {1032, 4128, 768, 64, 0, 0, 0}, {1295, 4403, 21845, 0, 0, 0, 0}, {106, 768, 1280, 4352, 0, 0, 0}, {128, 4883, 5140, 0, 0, 0, 0}, {5228, 30464, 0, 0, 0, 0, 0}, {263, 64, 5397, 0, 0, 0, 0}, {520, 546, 4420, 1280, 0, 0, 0}, {783, 12336, 5200, 0, 0, 0, 0}, {5232, 4864, 17408, 0, 0, 0, 0}, {1375, 1333, 1542, 4369, 0, 0, 0}, {2570, 4386, 1360, 0, 0, 0, 0}, {1036, 819, 64, 4096, 0, 0, 0}, {5960, 5236, 17476, 0, 0, 0, 0}, {5130, 5152, 5632, 4437, 0, 0, 0}, {284, 310, 790, 64, 1296, 4112, 0}, {5256, 7031, 10103, 20480, 0, 0, 0}, {5240, 13056, 0, 0, 0, 0, 0}, {275, 64, 5397, 0, 0, 0, 0}, {522, 544, 1360, 4352, 0, 0, 0}, {3084, 819, 5188, 0, 0, 0, 0}, {1036, 4144, 5888, 64, 0, 0, 0}, {1375, 4471, 21845, 0, 0, 0, 0}, {4398, 4626, 4420, 5140, 0, 0, 0}, {4991, 8192, 5120, 0, 0, 0, 0}, {128, 4864, 5120, 0, 0, 0, 0}, {106, 771, 1285, 4369, 0, 0, 0}, {1290, 4386, 21760, 0, 0, 0, 0}, {1036, 4144, 771, 64, 0, 0, 0}, {780, 12288, 5188, 0, 0, 0, 0}, {522, 544, 4437, 1285, 0, 0, 0}, {262, 64, 5376, 0, 0, 0, 0}, {5240, 30583, 0, 0, 0, 0, 0}, {5256, 3840, 13056, 20480, 0, 0, 0}, {265, 291, 771, 64, 1285, 4112, 0}, {1290, 1312, 1792, 4352, 0, 0, 0}, {5236, 771, 17476, 0, 0, 0, 0}, {1036, 1792, 64, 4096, 0, 0, 0}, {4471, 1285, 0, 0, 0, 0, 0}, {1290, 5156, 1542, 4420, 0, 0, 0}, {1807, 5232, 17408, 0, 0, 0, 0}, {3072, 816, 5200, 0, 0, 0, 0}, {520, 546, 1365, 4369, 0, 0, 0}, {274, 64, 5376, 0, 0, 0, 0}, {5228, 13107, 0, 0, 0, 0, 0}, {4972, 8224, 5140, 0, 0, 0, 0}, {4415, 4608, 4437, 5120, 0, 0, 0}, {1370, 4454, 21760, 0, 0, 0, 0}, {1032, 4128, 5911, 64, 0, 0, 0}, {1032, 816, 64, 4112, 0, 0, 0}, {2560, 4403, 1365, 0, 0, 0, 0}, {1370, 1328, 1536, 4352, 0, 0, 0}, {5220, 4883, 17476, 0, 0, 0, 0}, {5276, 7020, 10064, 20560, 0, 0, 0}, {285, 311, 789, 64, 1301, 4096, 0}, {5150, 5172, 5654, 4420, 0, 0, 0}, {5983, 5216, 17408, 0, 0, 0, 0}, {5280, 3840, 13056, 17408, 0, 0, 0}, {267, 289, 771, 64, 1028, 4369, 0}, {4360, 4386, 4864, 1280, 0, 0, 0}, {5212, 771, 20560, 0, 0, 0, 0}, {780, 4128, 64, 1028, 0, 0, 0}, {1295, 8704, 4437, 0, 0, 0, 0}, {4364, 4454, 4608, 1280, 0, 0, 0}, {5208, 1799, 20560, 0, 0, 0, 0}, {1800, 4896, 17152, 0, 0, 0, 0}, {1295, 4403, 771, 5206, 0, 0, 0}, {170, 1280, 4352, 0, 0, 0, 0}, {771, 64, 1028, 4112, 0, 0, 0}, {780, 5984, 18176, 0, 0, 0, 0}, {1295, 1317, 1799, 5202, 0, 0, 0}, {546, 260, 4096, 0, 0, 0, 0}, {3855, 5200, 0, 0, 0, 0, 0}, {4144, 4864, 64, 1024, 0, 0, 0}, {1375, 4369, 0, 0, 0, 0, 0}, {5144, 4386, 4626, 1360, 0, 0, 0}, {5196, 4915, 20480, 0, 0, 0, 0}, {5300, 6980, 10104, 17476, 0, 0, 0}, {287, 309, 789, 64, 1024, 4373, 0}, {5148, 5174, 5654, 1360, 0, 0, 0}, {5192, 6007, 20480, 0, 0, 0, 0}, {5960, 816, 21248, 0, 0, 0, 0}, {4377, 4403, 4883, 5190, 0, 0, 0}, {522, 1024, 272, 0, 0, 0, 0}, {13107, 5188, 0, 0, 0, 0, 0}, {4940, 1904, 22272, 0, 0, 0, 0}, {4381, 1333, 5911, 5186, 0, 0, 0}, {8738, 4420, 5140, 0, 0, 0, 0}, {831, 64, 1024, 4096, 0, 0, 0}, {192, 768, 5120, 0, 0, 0, 0}, {42, 514, 1285, 4369, 0, 0, 0}, {258, 64, 5376, 0, 0, 0, 0}, {5180, 13107, 0, 0, 0, 0, 0}, {1800, 8192, 5188, 0, 0, 0, 0}, {783, 4656, 4437, 1285, 0, 0, 0}, {1290, 4454, 21760, 0, 0, 0, 0}, {1032, 4144, 1799, 64, 0, 0, 0}, {1032, 768, 64, 4096, 0, 0, 0}, {4403, 1285, 0, 0, 0, 0, 0}, {1290, 1376, 768, 4352, 0, 0, 0}, {5172, 1799, 17476, 0, 0, 0, 0}, {5324, 3840, 9984, 20480, 0, 0, 0}, {269, 295, 514, 64, 1285, 4112, 0}, {1290, 1312, 514, 4420, 0, 0, 0}, {783, 5168, 17408, 0, 0, 0, 0}, {2048, 4896, 5200, 0, 0, 0, 0}, {1548, 819, 1365, 4369, 0, 0, 0}, {1370, 4386, 21760, 0, 0, 0, 0}, {1036, 4128, 4883, 64, 0, 0, 0}, {828, 12336, 5140, 0, 0, 0, 0}, {42, 512, 4437, 5120, 0, 0, 0}, {278, 64, 5376, 0, 0, 0, 0}, {5160, 30583, 0, 0, 0, 0, 0}, {5336, 6952, 13056, 20560, 0, 0, 0}, {281, 307, 512, 64, 1301, 4096, 0}, {1370, 1392, 512, 4352, 0, 0, 0}, {5156, 5911, 17476, 0, 0, 0, 0}, {1036, 1840, 64, 4112, 0, 0, 0}, {2560, 5154, 1365, 0, 0, 0, 0}, {5150, 1328, 4626, 4420, 0, 0, 0}, {4959, 5152, 17408, 0, 0, 0, 0}, {4128, 768, 64, 1024, 0, 0, 0}, {1295, 4369, 0, 0, 0, 0, 0}, {4424, 4386, 768, 1280, 0, 0, 0}, {5148, 4883, 20560, 0, 0, 0, 0}, {5348, 3840, 10024, 17476, 0, 0, 0}, {271, 293, 512, 64, 1024, 4373, 0}, {4428, 4454, 512, 1280, 0, 0, 0}, {5144, 5911, 20560, 0, 0, 0, 0}, {5160, 768, 20576, 0, 0, 0, 0}, {4377, 4403, 512, 5142, 0, 0, 0}, {42, 64, 256, 0, 0, 0, 0}, {13107, 5140, 0, 0, 0, 0, 0}, {5228, 1792, 20512, 0, 0, 0, 0}, {4381, 4471, 4626, 5138, 0, 0, 0}, {8738, 4420, 1280, 0, 0, 0, 0}, {783, 64, 1024, 4112, 0, 0, 0}, {5360, 6912, 13056, 17408, 0, 0, 0}, {283, 305, 514, 64, 1028, 4369, 0}, {4360, 4386, 514, 1360, 0, 0, 0}, {5132, 819, 20480, 0, 0, 0, 0}, {4876, 4144, 64, 1028, 0, 0, 0}, {5130, 8704, 4437, 0, 0, 0, 0}, {4364, 5174, 1542, 1360, 0, 0, 0}, {5128, 1911, 20480, 0, 0, 0, 0}, {5240, 4864, 20592, 0, 0, 0, 0}, {4441, 4403, 4608, 5126, 0, 0, 0}, {2570, 1360, 4352, 0, 0, 0, 0}, {819, 64, 1028, 4096, 0, 0, 0}, {5180, 5888, 20528, 0, 0, 0, 0}, {4445, 4471, 514, 5122, 0, 0, 0}, {514, 276, 4112, 0, 0, 0, 0}, {13311, 5120, 0, 0, 0, 0, 0}, {19456, 8192, 0, 0, 0, 0, 0}, {18, 85, 257, 0, 0, 0, 0}, {34, 514, 17408, 0, 0, 0, 0}, {15, 48, 771, 4096, 0, 0, 0}, {72, 8256, 1028, 0, 0, 0, 0}, {15, 4869, 85, 1285, 0, 0, 0}, {106, 1542, 16384, 0, 0, 0, 0}, {15, 119, 4871, 5120, 0, 0, 0}, {136, 2056, 8200, 17408, 0, 0, 0}, {15, 48, 771, 85, 1285, 4101, 0}, {170, 2570, 8202, 17930, 0, 0, 0}, {15, 48, 771, 71, 1028, 4103, 0}, {192, 3084, 8192, 16384, 0, 0, 0}, {15, 34, 514, 85, 1285, 4352, 0}, {72, 34, 514, 1028, 0, 0, 0}, {15, 4864, 20480, 0, 0, 0, 0}, {3072, 48, 4112, 0, 0, 0, 0}, {34, 512, 85, 4369, 0, 0, 0}, {18, 1024, 4096, 0, 0, 0, 0}, {255, 4883, 0, 0, 0, 0, 0}, {120, 8272, 5140, 0, 0, 0, 0}, {63, 4885, 85, 5397, 0, 0, 0}, {90, 5654, 20480, 0, 0, 0, 0}, {72, 119, 4887, 1024, 0, 0, 0}, {4120, 48, 4176, 1024, 0, 0, 0}, {4889, 13107, 85, 0, 0, 0, 0}, {4122, 48, 1536, 4160, 0, 0, 0}, {4891, 119, 17476, 0, 0, 0, 0}, {240, 7196, 8224, 20560, 0, 0, 0}, {29, 34, 512, 85, 1024, 4352, 0}, {5150, 34, 512, 5188, 0, 0, 0}, {4895, 4896, 16448, 0, 0, 0, 0}, {19584, 8224, 0, 0, 0, 0, 0}, {259, 1280, 273, 0, 0, 0, 0}, {34, 512, 17408, 0, 0, 0, 0}, {15, 48, 771, 4112, 0, 0, 0}, {1036, 9252, 1092, 0, 0, 0, 0}, {15, 4901, 85, 1280, 0, 0, 0}, {1548, 1638, 16448, 0, 0, 0, 0}, {15, 5159, 1792, 5200, 0, 0, 0}, {136, 2048, 8232, 17408, 0, 0, 0}, {15, 48, 771, 85, 1280, 4117, 0}, {170, 2560, 8234, 17962, 0, 0, 0}, {15, 48, 771, 71, 1027, 4119, 0}, {192, 3084, 8224, 16448, 0, 0, 0}, {15, 34, 512, 85, 1280, 4352, 0}, {1036, 34, 512, 1092, 0, 0, 0}, {15, 4896, 20560, 0, 0, 0, 0}, {3072, 48, 4096, 0, 0, 0, 0}, {34, 514, 85, 4369, 0, 0, 0}, {18, 1088, 4112, 0, 0, 0, 0}, {24320, 4915, 0, 0, 0, 0, 0}, {5180, 13364, 5188, 0, 0, 0, 0}, {4874, 4917, 85, 5376, 0, 0, 0}, {90, 5734, 20560, 0, 0, 0, 0}, {1032, 1079, 5888, 1088, 0, 0, 0}, {4104, 48, 4160, 5120, 0, 0, 0}, {4921, 13107, 85, 0, 0, 0, 0}, {4106, 48, 5632, 4176, 0, 0, 0}, {4940, 119, 17476, 0, 0, 0, 0}, {240, 7228, 8192, 20480, 0, 0, 0}, {29, 34, 514, 85, 1045, 4352, 0}, {90, 34, 514, 5140, 0, 0, 0}, {63, 4864, 16384, 0, 0, 0, 0}, {192, 3072, 8256, 16448, 0, 0, 0}, {15, 34, 517, 85, 1285, 4369, 0}, {72, 34, 578, 1024, 0, 0, 0}, {15, 4931, 20480, 0, 0, 0, 0}, {136, 2048, 8192, 17476, 0, 0, 0}, {15, 48, 768, 85, 1285, 4112, 0}, {170, 2570, 8224, 17990, 0, 0, 0}, {15, 48, 768, 71, 1024, 4096, 0}, {72, 8192, 1024, 0, 0, 0, 0}, {15, 4883, 85, 1285, 0, 0, 0}, {1546, 1632, 16448, 0, 0, 0, 0}, {15, 5171, 1792, 5188, 0, 0, 0}, {8320, 19532, 0, 0, 0, 0, 0}, {18, 261, 4352, 0, 0, 0, 0}, {522, 34, 17476, 0, 0, 0, 0}, {15, 48, 768, 4160, 0, 0, 0}, {240, 7248, 8272, 20560, 0, 0, 0}, {29, 34, 533, 85, 1028, 4369, 0}, {90, 34, 594, 5120, 0, 0, 0}, {63, 4947, 16384, 0, 0, 0, 0}, {72, 48, 1028, 4112, 0, 0, 0}, {4864, 85, 0, 0, 0, 0, 0}, {90, 48, 1622, 4096, 0, 0, 0}, {119, 4951, 17408, 0, 0, 0, 0}, {5160, 8224, 5200, 0, 0, 0, 0}, {4876, 4915, 85, 5376, 0, 0, 0}, {90, 5632, 20480, 0, 0, 0, 0}, {72, 119, 4883, 1028, 0, 0, 0}, {3084, 48, 4176, 0, 0, 0, 0}, {520, 34, 85, 4352, 0, 0, 0}, {18, 4160, 1028, 0, 0, 0, 0}, {4959, 13056, 0, 0, 0, 0, 0}, {192, 3072, 8288, 16384, 0, 0, 0}, {15, 34, 519, 85, 1280, 4369, 0}, {1032, 34, 1536, 1088, 0, 0, 0}, {15, 4963, 20560, 0, 0, 0, 0}, {136, 2056, 8224, 17476, 0, 0, 0}, {15, 48, 768, 85, 1280, 4096, 0}, {170, 2560, 8192, 18022, 0, 0, 0}, {15, 48, 768, 71, 1031, 4112, 0}, {1032, 8224, 1088, 0, 0, 0, 0}, {15, 4915, 85, 1280, 0, 0, 0}, {106, 1536, 16384, 0, 0, 0, 0}, {15, 119, 4883, 5140, 0, 0, 0}, {8352, 27756, 0, 0, 0, 0, 0}, {18, 277, 4352, 0, 0, 0, 0}, {520, 34, 17476, 0, 0, 0, 0}, {15, 48, 768, 4176, 0, 0, 0}, {240, 7280, 8304, 20480, 0, 0, 0}, {29, 34, 535, 85, 1041, 4369, 0}, {5130, 34, 5632, 5200, 0, 0, 0}, {4940, 4979, 16448, 0, 0, 0, 0}, {1036, 48, 1092, 4096, 0, 0, 0}, {2570, 4896, 85, 0, 0, 0, 0}, {90, 48, 1542, 4112, 0, 0, 0}, {119, 4864, 17408, 0, 0, 0, 0}, {120, 8192, 5120, 0, 0, 0, 0}, {63, 4883, 85, 5397, 0, 0, 0}, {90, 5744, 20560, 0, 0, 0, 0}, {1036, 1075, 5888, 1092, 0, 0, 0}, {3084, 48, 4160, 0, 0, 0, 0}, {522, 34, 85, 4352, 0, 0, 0}, {18, 4176, 5140, 0, 0, 0, 0}, {4991, 13056, 0, 0, 0, 0, 0}, {8320, 27648, 0, 0, 0, 0, 0}, {18, 276, 4369, 0, 0, 0, 0}, {522, 34, 17408, 0, 0, 0, 0}, {15, 48, 771, 4160, 0, 0, 0}, {1036, 8192, 1092, 0, 0, 0, 0}, {15, 4896, 85, 1285, 0, 0, 0}, {106, 1542, 16448, 0, 0, 0, 0}, {15, 119, 4864, 5120, 0, 0, 0}, {136, 2048, 8192, 17408, 0, 0, 0}, {15, 48, 771, 85, 1285, 4112, 0}, {170, 2570, 8224, 17952, 0, 0, 0}, {15, 48, 771, 71, 1027, 4096, 0}, {192, 3084, 8256, 16448, 0, 0, 0}, {15, 34, 517, 85, 1285, 4352, 0}, {1036, 34, 1542, 1092, 0, 0, 0}, {15, 4976, 20480, 0, 0, 0, 0}, {3072, 48, 4176, 0, 0, 0, 0}, {520, 34, 85, 4369, 0, 0, 0}, {18, 4160, 5120, 0, 0, 0, 0}, {4972, 13107, 0, 0, 0, 0, 0}, {120, 8224, 5140, 0, 0, 0, 0}, {63, 4864, 85, 5376, 0, 0, 0}, {90, 5734, 20480, 0, 0, 0, 0}, {1032, 1079, 5911, 1088, 0, 0, 0}, {1032, 48, 1088, 4112, 0, 0, 0}, {2560, 4915, 85, 0, 0, 0, 0}, {90, 48, 1536, 4096, 0, 0, 0}, {119, 4883, 17476, 0, 0, 0, 0}, {240, 7276, 8272, 20560, 0, 0, 0}, {29, 34, 533, 85, 1045, 4352, 0}, {5150, 34, 5654, 5188, 0, 0, 0}, {4959, 4960, 16384, 0, 0, 0, 0}, {8352, 19456, 0, 0, 0, 0, 0}, {18, 260, 4369, 0, 0, 0, 0}, {520, 34, 17408, 0, 0, 0, 0}, {15, 48, 771, 4176, 0, 0, 0}, {72, 8224, 1028, 0, 0, 0, 0}, {15, 4864, 85, 1280, 0, 0, 0}, {1548, 1638, 16384, 0, 0, 0, 0}, {15, 5159, 1799, 5200, 0, 0, 0}, {136, 2056, 8224, 17408, 0, 0, 0}, {15, 48, 771, 85, 1280, 4096, 0}, {170, 2560, 8192, 17920, 0, 0, 0}, {15, 48, 771, 71, 1028, 4112, 0}, {192, 3084, 8288, 16384, 0, 0, 0}, {15, 34, 519, 85, 1280, 4352, 0}, {72, 34, 576, 1028, 0, 0, 0}, {15, 4944, 20560, 0, 0, 0, 0}, {3072, 48, 4160, 0, 0, 0, 0}, {522, 34, 85, 4369, 0, 0, 0}, {18, 4176, 1024, 0, 0, 0, 0}, {4940, 13107, 0, 0, 0, 0, 0}, {5180, 8192, 5188, 0, 0, 0, 0}, {4895, 4896, 85, 5397, 0, 0, 0}, {90, 5654, 20560, 0, 0, 0, 0}, {72, 119, 4864, 1024, 0, 0, 0}, {72, 48, 1024, 4096, 0, 0, 0}, {4883, 85, 0, 0, 0, 0, 0}, {90, 48, 1616, 4112, 0, 0, 0}, {119, 4932, 17476, 0, 0, 0, 0}, {240, 7244, 8304, 20480, 0, 0, 0}, {29, 34, 535, 85, 1024, 4352, 0}, {90, 34, 592, 5140, 0, 0, 0}, {63, 4928, 16448, 0, 0, 0, 0}, {192, 3072, 8192, 16384, 0, 0, 0}, {15, 34, 514, 85, 1285, 4369, 0}, {1032, 34, 514, 1088, 0, 0, 0}, {15, 4915, 20480, 0, 0, 0, 0}, {136, 2056, 8200, 17476, 0, 0, 0}, {15, 48, 768, 85, 1285, 4101, 0}, {170, 2570, 8202, 18028, 0, 0, 0}, {15, 48, 768, 71, 1031, 4103, 0}, {1032, 9216, 1088, 0, 0, 0, 0}, {15, 4918, 85, 1285, 0, 0, 0}, {1546, 1632, 16384, 0, 0, 0, 0}, {15, 5171, 1799, 5188, 0, 0, 0}, {19660, 8192, 0, 0, 0, 0, 0}, {258, 1285, 272, 0, 0, 0, 0}, {34, 514, 17476, 0, 0, 0, 0}, {15, 48, 768, 4096, 0, 0, 0}, {240, 7200, 8224, 20560, 0, 0, 0}, {29, 34, 512, 85, 1041, 4369, 0}, {90, 34, 512, 5120, 0, 0, 0}, {63, 4883, 16448, 0, 0, 0, 0}, {4120, 48, 4176, 5140, 0, 0, 0}, {4906, 13056, 85, 0, 0, 0, 0}, {4122, 48, 5654, 4160, 0, 0, 0}, {4959, 119, 17408, 0, 0, 0, 0}, {5160, 13312, 5200, 0, 0, 0, 0}, {4889, 4902, 85, 5397, 0, 0, 0}, {90, 5744, 20480, 0, 0, 0, 0}, {1036, 1075, 5911, 1092, 0, 0, 0}, {3084, 48, 4112, 0, 0, 0, 0}, {34, 512, 85, 4352, 0, 0, 0}, {18, 1092, 4096, 0, 0, 0, 0}, {24415, 4896, 0, 0, 0, 0, 0}, {192, 3072, 8224, 16448, 0, 0, 0}, {15, 34, 512, 85, 1280, 4369, 0}, {72, 34, 512, 1024, 0, 0, 0}, {15, 4883, 20560, 0, 0, 0, 0}, {136, 2048, 8232, 17476, 0, 0, 0}, {15, 48, 768, 85, 1280, 4117, 0}, {170, 2560, 8234, 17996, 0, 0, 0}, {15, 48, 768, 71, 1024, 4119, 0}, {72, 8288, 1024, 0, 0, 0, 0}, {15, 4886, 85, 1280, 0, 0, 0}, {106, 1536, 16448, 0, 0, 0, 0}, {15, 119, 4884, 5140, 0, 0, 0}, {19532, 8224, 0, 0, 0, 0, 0}, {18, 85, 256, 0, 0, 0, 0}, {34, 512, 17476, 0, 0, 0, 0}, {15, 48, 768, 4112, 0, 0, 0}, {240, 7168, 8192, 20480, 0, 0, 0}, {29, 34, 514, 85, 1028, 4369, 0}, {5130, 34, 514, 5200, 0, 0, 0}, {4876, 4915, 16384, 0, 0, 0, 0}, {4104, 48, 4160, 1028, 0, 0, 0}, {4874, 13056, 85, 0, 0, 0, 0}, {4106, 48, 1542, 4176, 0, 0, 0}, {4872, 119, 17408, 0, 0, 0, 0}, {120, 8304, 5120, 0, 0, 0, 0}, {63, 4870, 85, 5376, 0, 0, 0}, {90, 5632, 20560, 0, 0, 0, 0}, {72, 119, 4868, 1028, 0, 0, 0}, {3084, 48, 4096, 0, 0, 0, 0}, {34, 514, 85, 4352, 0, 0, 0}, {18, 1028, 4112, 0, 0, 0, 0}, {255, 4864, 0, 0, 0, 0, 0}, {4608, 21760, 0, 0, 0, 0, 0}, {76, 32, 257, 0, 0, 0, 0}, {1290, 32, 514, 4096, 0, 0, 0}, {4403, 771, 17408, 0, 0, 0, 0}, {4360, 4612, 4420, 1028, 0, 0, 0}, {4698, 12368, 1285, 0, 0, 0, 0}, {4362, 4454, 4614, 5120, 0, 0, 0}, {5503, 1799, 16384, 0, 0, 0, 0}, {4616, 12288, 5376, 0, 0, 0, 0}, {4409, 771, 4437, 1285, 0, 0, 0}, {1290, 5888, 20480, 0, 0, 0, 0}, {76, 4471, 771, 1028, 0, 0, 0}, {780, 4352, 0, 0, 0, 0, 0}, {32, 514, 4176, 1285, 0, 0, 0}, {270, 32, 514, 322, 1028, 4354, 0}, {4848, 3855, 8704, 18191, 0, 0, 0}, {32, 512, 1360, 4112, 0, 0, 0}, {3072, 819, 4369, 0, 0, 0, 0}, {21930, 4626, 0, 0, 0, 0, 0}, {275, 1024, 4096, 0, 0, 0, 0}, {4392, 4628, 4420, 5140, 0, 0, 0}, {4714, 12352, 5397, 0, 0, 0, 0}, {76, 4454, 4630, 1024, 0, 0, 0}, {1375, 5911, 20480, 0, 0, 0, 0}, {4632, 12336, 1360, 0, 0, 0, 0}, {4377, 819, 4437, 1024, 0, 0, 0}, {4634, 1904, 16448, 0, 0, 0, 0}, {4379, 1331, 1536, 5188, 0, 0, 0}, {284, 32, 512, 336, 1024, 4352, 0}, {4834, 7453, 8738, 21845, 0, 0, 0}, {4638, 4386, 17476, 0, 0, 0, 0}, {5407, 32, 512, 4160, 0, 0, 0}, {32, 512, 1280, 4096, 0, 0, 0}, {204, 771, 4369, 0, 0, 0, 0}, {3840, 4642, 0, 0, 0, 0, 0}, {259, 1088, 4112, 0, 0, 0, 0}, {780, 4644, 4420, 1280, 0, 0, 0}, {1807, 9509, 5461, 0, 0, 0, 0}, {1036, 5414, 1792, 1088, 0, 0, 0}, {1295, 6007, 20560, 0, 0, 0, 0}, {4648, 12288, 1280, 0, 0, 0, 0}, {4377, 771, 4437, 5397, 0, 0, 0}, {5418, 1792, 16384, 0, 0, 0, 0}, {4379, 4471, 771, 5140, 0, 0, 0}, {268, 32, 512, 320, 1280, 4352, 0}, {4818, 3855, 8738, 21845, 0, 0, 0}, {780, 4386, 17476, 0, 0, 0, 0}, {1295, 32, 512, 4176, 0, 0, 0}, {4656, 21760, 0, 0, 0, 0, 0}, {1032, 514, 273, 0, 0, 0, 0}, {1370, 32, 514, 4112, 0, 0, 0}, {4403, 4608, 17408, 0, 0, 0, 0}, {4360, 4660, 4420, 5376, 0, 0, 0}, {5951, 13621, 1365, 0, 0, 0, 0}, {4362, 1334, 5888, 5200, 0, 0, 0}, {4680, 1911, 16448, 0, 0, 0, 0}, {4664, 12336, 5440, 0, 0, 0, 0}, {4618, 819, 4437, 5120, 0, 0, 0}, {1370, 5984, 20560, 0, 0, 0, 0}, {1032, 5427, 5632, 1092, 0, 0, 0}, {828, 4352, 0, 0, 0, 0, 0}, {32, 514, 4160, 5397, 0, 0, 0}, {286, 32, 514, 338, 1302, 4354, 0}, {4800, 7487, 8704, 18239, 0, 0, 0}, {1792, 5440, 0, 0, 0, 0, 0}, {783, 867, 1285, 4369, 0, 0, 0}, {1290, 4674, 20480, 0, 0, 0, 0}, {76, 4403, 835, 1024, 0, 0, 0}, {768, 4420, 0, 0, 0, 0, 0}, {522, 32, 1285, 4112, 0, 0, 0}, {266, 32, 768, 326, 1024, 4096, 0}, {4792, 3855, 12336, 18247, 0, 0, 0}, {4680, 21760, 0, 0, 0, 0, 0}, {32, 4883, 261, 0, 0, 0, 0}, {1290, 32, 1792, 4160, 0, 0, 0}, {783, 4471, 17476, 0, 0, 0, 0}, {76, 768, 1024, 4352, 0, 0, 0}, {160, 4626, 1285, 0, 0, 0, 0}, {1290, 4386, 768, 5188, 0, 0, 0}, {1807, 4656, 16448, 0, 0, 0, 0}, {5888, 1360, 0, 0, 0, 0, 0}, {76, 883, 1028, 4369, 0, 0, 0}, {5418, 4690, 16384, 0, 0, 0, 0}, {4447, 4403, 851, 5120, 0, 0, 0}, {280, 32, 784, 340, 1028, 4112, 0}, {4778, 7509, 12288, 21845, 0, 0, 0}, {4454, 4694, 17408, 0, 0, 0, 0}, {1375, 32, 1879, 4096, 0, 0, 0}, {520, 32, 4176, 5376, 0, 0, 0}, {831, 13107, 4437, 0, 0, 0, 0}, {4698, 30464, 0, 0, 0, 0, 0}, {279, 4160, 1028, 0, 0, 0, 0}, {1548, 816, 1360, 4352, 0, 0, 0}, {2056, 4642, 5461, 0, 0, 0, 0}, {76, 4386, 4626, 1028, 0, 0, 0}, {1375, 4608, 20480, 0, 0, 0, 0}, {4704, 1280, 0, 0, 0, 0, 0}, {1032, 1799, 1092, 4369, 0, 0, 0}, {1800, 4706, 16448, 0, 0, 0, 0}, {1295, 4403, 1536, 5200, 0, 0, 0}, {264, 32, 768, 324, 1280, 4096, 0}, {4762, 3855, 12336, 21845, 0, 0, 0}, {4454, 768, 17408, 0, 0, 0, 0}, {1295, 32, 1799, 4112, 0, 0, 0}, {520, 32, 4160, 1280, 0, 0, 0}, {783, 13107, 4437, 0, 0, 0, 0}, {4714, 30464, 0, 0, 0, 0, 0}, {263, 4176, 5140, 0, 0, 0, 0}, {108, 768, 1280, 4352, 0, 0, 0}, {128, 4626, 5397, 0, 0, 0, 0}, {1032, 4386, 768, 1092, 0, 0, 0}, {1295, 4656, 20560, 0, 0, 0, 0}, {4720, 5376, 0, 0, 0, 0, 0}, {1337, 1542, 1365, 4369, 0, 0, 0}, {1370, 4722, 20560, 0, 0, 0, 0}, {1036, 4403, 5632, 1088, 0, 0, 0}, {3084, 816, 4420, 0, 0, 0, 0}, {522, 32, 1365, 4096, 0, 0, 0}, {282, 32, 784, 342, 1302, 4112, 0}, {4744, 7543, 12288, 18295, 0, 0, 0}, {4728, 21760, 0, 0, 0, 0, 0}, {32, 4883, 277, 0, 0, 0, 0}, {5386, 32, 5888, 4176, 0, 0, 0}, {4680, 4471, 17476, 0, 0, 0, 0}, {1036, 816, 1088, 4352, 0, 0, 0}, {2570, 4642, 1365, 0, 0, 0, 0}, {4430, 4386, 4626, 5140, 0, 0, 0}, {5503, 4608, 16384, 0, 0, 0, 0}, {128, 4608, 5376, 0, 0, 0, 0}, {108, 771, 1285, 4369, 0, 0, 0}, {1290, 4642, 20480, 0, 0, 0, 0}, {1036, 4403, 771, 1088, 0, 0, 0}, {780, 13056, 4420, 0, 0, 0, 0}, {522, 32, 4176, 1285, 0, 0, 0}, {262, 4160, 5120, 0, 0, 0, 0}, {4728, 30583, 0, 0, 0, 0, 0}, {4744, 3840, 12288, 21760, 0, 0, 0}, {265, 32, 771, 325, 1285, 4112, 0}, {1290, 32, 1792, 4096, 0, 0, 0}, {4471, 771, 17476, 0, 0, 0, 0}, {1036, 1792, 1088, 4352, 0, 0, 0}, {4722, 1285, 0, 0, 0, 0, 0}, {1290, 4386, 1542, 5188, 0, 0, 0}, {1807, 4720, 16384, 0, 0, 0, 0}, {2560, 4656, 1360, 0, 0, 0, 0}, {1032, 819, 1092, 4369, 0, 0, 0}, {5482, 4626, 16448, 0, 0, 0, 0}, {4447, 4403, 4608, 5120, 0, 0, 0}, {32, 4864, 276, 0, 0, 0, 0}, {4714, 21845, 0, 0, 0, 0, 0}, {4698, 4454, 17408, 0, 0, 0, 0}, {5407, 32, 5911, 4160, 0, 0, 0}, {520, 32, 1360, 4112, 0, 0, 0}, {3072, 819, 4437, 0, 0, 0, 0}, {4762, 7530, 12336, 18224, 0, 0, 0}, {283, 32, 787, 343, 1299, 4096, 0}, {1340, 1536, 1360, 4352, 0, 0, 0}, {4706, 5397, 0, 0, 0, 0, 0}, {1032, 4386, 5654, 1092, 0, 0, 0}, {1375, 4704, 20480, 0, 0, 0, 0}, {160, 4608, 1280, 0, 0, 0, 0}, {76, 771, 1028, 4369, 0, 0, 0}, {1800, 4642, 16384, 0, 0, 0, 0}, {1295, 4403, 771, 5200, 0, 0, 0}, {32, 4864, 260, 0, 0, 0, 0}, {4698, 21845, 0, 0, 0, 0, 0}, {780, 4454, 17408, 0, 0, 0, 0}, {1295, 32, 1799, 4176, 0, 0, 0}, {520, 32, 1280, 4096, 0, 0, 0}, {771, 4437, 0, 0, 0, 0, 0}, {4778, 3840, 12288, 18176, 0, 0, 0}, {267, 32, 771, 327, 1028, 4112, 0}, {780, 864, 1280, 4352, 0, 0, 0}, {1799, 5461, 0, 0, 0, 0, 0}, {76, 4386, 832, 1028, 0, 0, 0}, {1295, 4688, 20560, 0, 0, 0, 0}, {2048, 4656, 5440, 0, 0, 0, 0}, {1546, 819, 1365, 4369, 0, 0, 0}, {1370, 4626, 20560, 0, 0, 0, 0}, {76, 4403, 4608, 1024, 0, 0, 0}, {828, 13056, 4420, 0, 0, 0, 0}, {522, 32, 4160, 5397, 0, 0, 0}, {278, 4176, 1024, 0, 0, 0, 0}, {4680, 30583, 0, 0, 0, 0, 0}, {4792, 7496, 12336, 21760, 0, 0, 0}, {281, 32, 787, 341, 1024, 4096, 0}, {1370, 32, 1872, 4112, 0, 0, 0}, {4471, 4676, 17476, 0, 0, 0, 0}, {76, 880, 1024, 4352, 0, 0, 0}, {5911, 1365, 0, 0, 0, 0, 0}, {4430, 4386, 848, 5140, 0, 0, 0}, {5439, 4672, 16448, 0, 0, 0, 0}, {4800, 3840, 8704, 21760, 0, 0, 0}, {269, 32, 514, 321, 1285, 4369, 0}, {1290, 32, 514, 4160, 0, 0, 0}, {783, 4403, 17408, 0, 0, 0, 0}, {4360, 768, 4420, 5376, 0, 0, 0}, {4666, 12336, 1285, 0, 0, 0, 0}, {4362, 4454, 768, 5120, 0, 0, 0}, {5439, 1799, 16448, 0, 0, 0, 0}, {1800, 9472, 5440, 0, 0, 0, 0}, {783, 4662, 4437, 1285, 0, 0, 0}, {1290, 5984, 20480, 0, 0, 0, 0}, {1032, 5427, 1799, 1092, 0, 0, 0}, {204, 768, 4352, 0, 0, 0, 0}, {32, 514, 1285, 4112, 0, 0, 0}, {258, 1092, 4096, 0, 0, 0, 0}, {3855, 4656, 0, 0, 0, 0, 0}, {32, 512, 4176, 5376, 0, 0, 0}, {831, 4369, 0, 0, 0, 0, 0}, {4818, 7458, 8738, 18296, 0, 0, 0}, {287, 32, 512, 339, 1299, 4371, 0}, {4632, 816, 4420, 5140, 0, 0, 0}, {4650, 12288, 5461, 0, 0, 0, 0}, {1036, 5414, 5654, 1088, 0, 0, 0}, {1375, 6007, 20480, 0, 0, 0, 0}, {5928, 13568, 1360, 0, 0, 0, 0}, {4377, 4646, 4437, 5397, 0, 0, 0}, {4698, 1904, 16384, 0, 0, 0, 0}, {4379, 1331, 5911, 5188, 0, 0, 0}, {1036, 512, 272, 0, 0, 0, 0}, {4642, 21845, 0, 0, 0, 0, 0}, {4386, 4626, 17476, 0, 0, 0, 0}, {1375, 32, 512, 4096, 0, 0, 0}, {32, 512, 4160, 1280, 0, 0, 0}, {783, 4369, 0, 0, 0, 0, 0}, {4834, 3840, 8738, 18248, 0, 0, 0}, {271, 32, 512, 323, 1024, 4371, 0}, {4392, 768, 4420, 1280, 0, 0, 0}, {4634, 12336, 5397, 0, 0, 0, 0}, {76, 4454, 768, 1024, 0, 0, 0}, {1295, 5911, 20560, 0, 0, 0, 0}, {4680, 12384, 1280, 0, 0, 0, 0}, {4377, 4630, 4437, 1024, 0, 0, 0}, {5482, 1792, 16448, 0, 0, 0, 0}, {4379, 4471, 4628, 5140, 0, 0, 0}, {76, 32, 256, 0, 0, 0, 0}, {4626, 21845, 0, 0, 0, 0, 0}, {4386, 768, 17476, 0, 0, 0, 0}, {1295, 32, 512, 4112, 0, 0, 0}, {4848, 7424, 8704, 21760, 0, 0, 0}, {285, 32, 514, 337, 1028, 4369, 0}, {5386, 32, 514, 4176, 0, 0, 0}, {4620, 4403, 17408, 0, 0, 0, 0}, {4360, 816, 4420, 1028, 0, 0, 0}, {4618, 12288, 1365, 0, 0, 0, 0}, {4362, 1334, 1542, 5200, 0, 0, 0}, {4616, 1911, 16384, 0, 0, 0, 0}, {4728, 12400, 5376, 0, 0, 0, 0}, {4409, 4614, 4437, 5120, 0, 0, 0}, {1370, 5888, 20560, 0, 0, 0, 0}, {76, 4471, 4612, 1028, 0, 0, 0}, {3084, 816, 4352, 0, 0, 0, 0}, {32, 514, 1365, 4096, 0, 0, 0}, {274, 1028, 4112, 0, 0, 0, 0}, {22015, 4608, 0, 0, 0, 0, 0}, {8704, 17408, 0, 0, 0, 0, 0}, {15, 16, 257, 0, 0, 0, 0}, {32, 514, 17416, 0, 0, 0, 0}, {15, 48, 771, 4355, 0, 0, 0}, {8712, 64, 1028, 0, 0, 0, 0}, {15, 80, 1285, 4357, 0, 0, 0}, {96, 1542, 17420, 0, 0, 0, 0}, {15, 112, 1799, 4359, 0, 0, 0}, {128, 2056, 8712, 17416, 0, 0, 0}, {15, 48, 771, 80, 1285, 4358, 0}, {160, 2570, 8714, 17408, 0, 0, 0}, {15, 48, 771, 64, 1028, 4356, 0}, {192, 3084, 8704, 17420, 0, 0, 0}, {15, 32, 514, 80, 1285, 4354, 0}, {32, 514, 64, 1028, 0, 0, 0}, {15, 4352, 0, 0, 0, 0, 0}, {512, 1024, 16, 0, 0, 0, 0}, {255, 4369, 0, 0, 0, 0, 0}, {48, 4626, 17480, 0, 0, 0, 0}, {95, 32, 512, 4371, 0, 0, 0}, {8744, 80, 5140, 0, 0, 0, 0}, {63, 64, 1024, 4373, 0, 0, 0}, {112, 5654, 17484, 0, 0, 0, 0}, {95, 96, 1536, 4375, 0, 0, 0}, {5144, 48, 1536, 80, 0, 0, 0}, {4377, 4454, 21845, 0, 0, 0, 0}, {4634, 48, 64, 1024, 0, 0, 0}, {4379, 13107, 4420, 0, 0, 0, 0}, {5148, 32, 512, 80, 0, 0, 0}, {4381, 4386, 21845, 0, 0, 0, 0}, {240, 7710, 8738, 17476, 0, 0, 0}, {31, 32, 512, 64, 1024, 4352, 0}, {32, 512, 17408, 0, 0, 0, 0}, {15, 48, 771, 4369, 0, 0, 0}, {17544, 8738, 0, 0, 0, 0, 0}, {259, 1280, 16, 0, 0, 0, 0}, {1548, 96, 17476, 0, 0, 0, 0}, {15, 4389, 1792, 4437, 0, 0, 0}, {1036, 9766, 64, 0, 0, 0, 0}, {15, 4391, 80, 1280, 0, 0, 0}, {160, 2560, 8744, 17448, 0, 0, 0}, {15, 48, 771, 64, 1027, 4374, 0}, {128, 2048, 8746, 17408, 0, 0, 0}, {15, 48, 771, 80, 1280, 4372, 0}, {1036, 32, 512, 64, 0, 0, 0}, {15, 4386, 21845, 0, 0, 0, 0}, {192, 3084, 8738, 17476, 0, 0, 0}, {15, 32, 512, 80, 1280, 4352, 0}, {48, 4608, 17408, 0, 0, 0, 0}, {95, 32, 514, 4369, 0, 0, 0}, {1032, 514, 16, 0, 0, 0, 0}, {4403, 21760, 0, 0, 0, 0, 0}, {5708, 112, 17476, 0, 0, 0, 0}, {4362, 4405, 5888, 4437, 0, 0, 0}, {5180, 13878, 80, 0, 0, 0, 0}, {4360, 4407, 64, 5376, 0, 0, 0}, {1032, 48, 5632, 64, 0, 0, 0}, {95, 4454, 21845, 0, 0, 0, 0}, {4618, 48, 80, 5120, 0, 0, 0}, {4411, 13107, 4420, 0, 0, 0, 0}, {240, 7740, 8704, 17468, 0, 0, 0}, {31, 32, 514, 64, 1047, 4354, 0}, {32, 514, 80, 5140, 0, 0, 0}, {63, 4352, 0, 0, 0, 0, 0}, {8704, 64, 1024, 0, 0, 0, 0}, {15, 80, 1285, 4369, 0, 0, 0}, {1546, 96, 16962, 0, 0, 0, 0}, {15, 4403, 1792, 4419, 0, 0, 0}, {8840, 17476, 0, 0, 0, 0, 0}, {768, 261, 16, 0, 0, 0, 0}, {522, 32, 17990, 0, 0, 0, 0}, {15, 48, 768, 4423, 0, 0, 0}, {192, 3072, 8776, 17480, 0, 0, 0}, {15, 32, 517, 80, 1285, 4374, 0}, {522, 32, 64, 1024, 0, 0, 0}, {15, 13107, 4420, 0, 0, 0, 0}, {128, 2048, 8704, 17484, 0, 0, 0}, {15, 48, 768, 80, 1285, 4370, 0}, {160, 2570, 8738, 17476, 0, 0, 0}, {15, 48, 768, 64, 1024, 4352, 0}, {8704, 80, 5120, 0, 0, 0, 0}, {63, 64, 1028, 4369, 0, 0, 0}, {5722, 112, 21074, 0, 0, 0, 0}, {4364, 4403, 5888, 4435, 0, 0, 0}, {520, 1028, 16, 0, 0, 0, 0}, {13056, 4437, 0, 0, 0, 0, 0}, {4698, 48, 22102, 0, 0, 0, 0}, {4360, 32, 4864, 4439, 0, 0, 0}, {5128, 32, 5632, 80, 0, 0, 0}, {4441, 4454, 21845, 0, 0, 0, 0}, {240, 7770, 8794, 17408, 0, 0, 0}, {31, 32, 535, 64, 1028, 4356, 0}, {5132, 48, 4608, 80, 0, 0, 0}, {4445, 4386, 21845, 0, 0, 0, 0}, {48, 4626, 64, 1028, 0, 0, 0}, {95, 4352, 0, 0, 0, 0, 0}, {96, 1536, 17408, 0, 0, 0, 0}, {15, 112, 1799, 4369, 0, 0, 0}, {1032, 8738, 64, 0, 0, 0, 0}, {15, 4403, 80, 1280, 0, 0, 0}, {520, 32, 17476, 0, 0, 0, 0}, {15, 48, 768, 4437, 0, 0, 0}, {17612, 26214, 0, 0, 0, 0, 0}, {263, 1280, 16, 0, 0, 0, 0}, {1032, 32, 1536, 64, 0, 0, 0}, {15, 4454, 21845, 0, 0, 0, 0}, {192, 3072, 8810, 17408, 0, 0, 0}, {15, 32, 519, 80, 1280, 4372, 0}, {160, 2560, 8704, 17516, 0, 0, 0}, {15, 48, 768, 64, 1031, 4370, 0}, {128, 2056, 8738, 17476, 0, 0, 0}, {15, 48, 768, 80, 1280, 4352, 0}, {112, 5632, 17408, 0, 0, 0, 0}, {95, 96, 1542, 4369, 0, 0, 0}, {5160, 8738, 80, 0, 0, 0, 0}, {4364, 4403, 64, 5376, 0, 0, 0}, {4680, 48, 17476, 0, 0, 0, 0}, {4362, 32, 4864, 4437, 0, 0, 0}, {1036, 1542, 16, 0, 0, 0, 0}, {4471, 21760, 0, 0, 0, 0, 0}, {240, 7800, 8824, 17528, 0, 0, 0}, {31, 32, 533, 64, 1043, 4358, 0}, {522, 32, 80, 5120, 0, 0, 0}, {63, 13107, 4420, 0, 0, 0, 0}, {1036, 48, 4608, 64, 0, 0, 0}, {95, 4386, 21845, 0, 0, 0, 0}, {48, 4626, 80, 5140, 0, 0, 0}, {127, 4352, 0, 0, 0, 0, 0}, {128, 2048, 8704, 17408, 0, 0, 0}, {15, 48, 771, 80, 1285, 4369, 0}, {160, 2570, 8738, 17448, 0, 0, 0}, {15, 48, 771, 64, 1027, 4355, 0}, {192, 3084, 8776, 17476, 0, 0, 0}, {15, 32, 517, 80, 1285, 4357, 0}, {1036, 32, 1542, 64, 0, 0, 0}, {15, 4471, 21760, 0, 0, 0, 0}, {17544, 26112, 0, 0, 0, 0, 0}, {262, 1285, 16, 0, 0, 0, 0}, {522, 32, 17408, 0, 0, 0, 0}, {15, 48, 771, 4420, 0, 0, 0}, {1036, 8704, 64, 0, 0, 0, 0}, {15, 4386, 80, 1285, 0, 0, 0}, {96, 1542, 17476, 0, 0, 0, 0}, {15, 112, 1792, 4352, 0, 0, 0}, {48, 4608, 80, 5120, 0, 0, 0}, {127, 4369, 0, 0, 0, 0, 0}, {1032, 48, 4626, 64, 0, 0, 0}, {95, 4403, 21760, 0, 0, 0, 0}, {520, 32, 80, 5140, 0, 0, 0}, {63, 13056, 4437, 0, 0, 0, 0}, {240, 7782, 8794, 17468, 0, 0, 0}, {31, 32, 535, 64, 1047, 4375, 0}, {1032, 1536, 16, 0, 0, 0, 0}, {4454, 21845, 0, 0, 0, 0, 0}, {4698, 48, 17408, 0, 0, 0, 0}, {4379, 32, 4883, 4420, 0, 0, 0}, {5180, 8704, 80, 0, 0, 0, 0}, {4381, 4386, 64, 5397, 0, 0, 0}, {112, 5654, 17476, 0, 0, 0, 0}, {95, 96, 1536, 4352, 0, 0, 0}, {160, 2560, 8704, 17408, 0, 0, 0}, {15, 48, 771, 64, 1028, 4369, 0}, {128, 2056, 8738, 17416, 0, 0, 0}, {15, 48, 771, 80, 1280, 4355, 0}, {520, 32, 64, 1028, 0, 0, 0}, {15, 13056, 4437, 0, 0, 0, 0}, {192, 3084, 8810, 17420, 0, 0, 0}, {15, 32, 519, 80, 1280, 4359, 0}, {520, 32, 17920, 0, 0, 0, 0}, {15, 48, 771, 4438, 0, 0, 0}, {8874, 17408, 0, 0, 0, 0, 0}, {771, 260, 16, 0, 0, 0, 0}, {1548, 96, 16896, 0, 0, 0, 0}, {15, 4386, 1799, 4434, 0, 0, 0}, {8738, 64, 1028, 0, 0, 0, 0}, {15, 80, 1280, 4352, 0, 0, 0}, {48, 4608, 64, 1024, 0, 0, 0}, {95, 4369, 0, 0, 0, 0, 0}, {5144, 48, 4626, 80, 0, 0, 0}, {4428, 4403, 21760, 0, 0, 0, 0}, {240, 7748, 8824, 17476, 0, 0, 0}, {31, 32, 533, 64, 1024, 4373, 0}, {5148, 32, 5654, 80, 0, 0, 0}, {4424, 4471, 21760, 0, 0, 0, 0}, {4680, 48, 22016, 0, 0, 0, 0}, {4377, 32, 4883, 4422, 0, 0, 0}, {522, 1024, 16, 0, 0, 0, 0}, {13107, 4420, 0, 0, 0, 0, 0}, {5708, 112, 20992, 0, 0, 0, 0}, {4381, 4386, 5911, 4418, 0, 0, 0}, {8738, 80, 5140, 0, 0, 0, 0}, {63, 64, 1024, 4352, 0, 0, 0}, {192, 3072, 8704, 17408, 0, 0, 0}, {15, 32, 514, 80, 1285, 4369, 0}, {1032, 32, 514, 64, 0, 0, 0}, {15, 4403, 21760, 0, 0, 0, 0}, {128, 2056, 8712, 17476, 0, 0, 0}, {15, 48, 768, 80, 1285, 4357, 0}, {160, 2570, 8714, 17516, 0, 0, 0}, {15, 48, 768, 64, 1031, 4359, 0}, {1032, 9728, 64, 0, 0, 0, 0}, {15, 4406, 80, 1285, 0, 0, 0}, {1546, 96, 17408, 0, 0, 0, 0}, {15, 4404, 1799, 4420, 0, 0, 0}, {17612, 8704, 0, 0, 0, 0, 0}, {258, 1285, 16, 0, 0, 0, 0}, {32, 514, 17476, 0, 0, 0, 0}, {15, 48, 768, 4352, 0, 0, 0}, {32, 512, 80, 5120, 0, 0, 0}, {63, 4369, 0, 0, 0, 0, 0}, {240, 7714, 8738, 17528, 0, 0, 0}, {31, 32, 512, 64, 1043, 4371, 0}, {4632, 48, 80, 5140, 0, 0, 0}, {4394, 13056, 4437, 0, 0, 0, 0}, {1036, 48, 5654, 64, 0, 0, 0}, {95, 4471, 21760, 0, 0, 0, 0}, {5160, 13824, 80, 0, 0, 0, 0}, {4377, 4390, 64, 5397, 0, 0, 0}, {5722, 112, 17408, 0, 0, 0, 0}, {4379, 4388, 5911, 4420, 0, 0, 0}, {1036, 512, 16, 0, 0, 0, 0}, {4386, 21845, 0, 0, 0, 0, 0}, {48, 4626, 17476, 0, 0, 0, 0}, {95, 32, 512, 4352, 0, 0, 0}, {32, 512, 64, 1024, 0, 0, 0}, {15, 4369, 0, 0, 0, 0, 0}, {192, 3072, 8738, 17480, 0, 0, 0}, {15, 32, 512, 80, 1280, 4371, 0}, {160, 2560, 8744, 17476, 0, 0, 0}, {15, 48, 768, 64, 1024, 4373, 0}, {128, 2048, 8746, 17484, 0, 0, 0}, {15, 48, 768, 80, 1280, 4375, 0}, {96, 1536, 17480, 0, 0, 0, 0}, {15, 112, 1792, 4374, 0, 0, 0}, {8746, 64, 1024, 0, 0, 0, 0}, {15, 80, 1280, 4372, 0, 0, 0}, {32, 512, 17484, 0, 0, 0, 0}, {15, 48, 768, 4370, 0, 0, 0}, {8738, 17476, 0, 0, 0, 0, 0}, {15, 16, 256, 0, 0, 0, 0}, {240, 7680, 8704, 17408, 0, 0, 0}, {31, 32, 514, 64, 1028, 4369, 0}, {5128, 32, 514, 80, 0, 0, 0}, {4364, 4403, 21760, 0, 0, 0, 0}, {4616, 48, 64, 1028, 0, 0, 0}, {4362, 13056, 4437, 0, 0, 0, 0}, {5132, 48, 1542, 80, 0, 0, 0}, {4360, 4471, 21760, 0, 0, 0, 0}, {112, 5632, 17416, 0, 0, 0, 0}, {95, 96, 1542, 4358, 0, 0, 0}, {8714, 80, 5120, 0, 0, 0, 0}, {63, 64, 1028, 4356, 0, 0, 0}, {48, 4608, 17420, 0, 0, 0, 0}, {95, 32, 514, 4354, 0, 0, 0}, {514, 1028, 16, 0, 0, 0, 0}, {255, 4352, 0, 0, 0, 0, 0}, {3840, 4096, 0, 0, 0, 0, 0}, {34, 68, 257, 0, 0, 0, 0}, {1290, 34, 514, 4098, 0, 0, 0}, {4144, 771, 16396, 0, 0, 0, 0}, {780, 68, 1028, 4100, 0, 0, 0}, {8202, 4176, 1285, 0, 0, 0, 0}, {1290, 102, 1542, 4102, 0, 0, 0}, {4208, 1799, 16392, 0, 0, 0, 0}, {4104, 5888, 20480, 0, 0, 0, 0}, {4188, 102, 771, 1285, 0, 0, 0}, {4106, 12288, 5376, 0, 0, 0, 0}, {4152, 771, 68, 1028, 0, 0, 0}, {4108, 4864, 20480, 0, 0, 0, 0}, {4184, 34, 514, 1285, 0, 0, 0}, {270, 34, 514, 68, 1028, 4352, 0}, {4336, 3855, 8192, 16384, 0, 0, 0}, {4080, 4112, 0, 0, 0, 0, 0}, {512, 1024, 273, 0, 0, 0, 0}, {1370, 34, 512, 4114, 0, 0, 0}, {4128, 4883, 16460, 0, 0, 0, 0}, {828, 68, 1024, 4116, 0, 0, 0}, {8234, 4160, 5397, 0, 0, 0, 0}, {1370, 102, 1536, 4118, 0, 0, 0}, {4192, 5911, 16456, 0, 0, 0, 0}, {4120, 5984, 20560, 0, 0, 0, 0}, {5401, 1331, 1536, 1365, 0, 0, 0}, {4122, 12336, 5440, 0, 0, 0, 0}, {4891, 819, 68, 1024, 0, 0, 0}, {4124, 4896, 20560, 0, 0, 0, 0}, {5405, 34, 512, 1365, 0, 0, 0}, {286, 34, 512, 68, 1024, 4352, 0}, {4320, 7967, 8224, 16448, 0, 0, 0}, {3840, 4128, 0, 0, 0, 0, 0}, {259, 68, 4369, 0, 0, 0, 0}, {34, 512, 1280, 4096, 0, 0, 0}, {204, 771, 4112, 0, 0, 0, 0}, {1036, 4132, 1792, 68, 0, 0, 0}, {1295, 4208, 21845, 0, 0, 0, 0}, {780, 4134, 4160, 1280, 0, 0, 0}, {1807, 10023, 4176, 0, 0, 0, 0}, {4136, 1792, 16384, 0, 0, 0, 0}, {4122, 102, 771, 5397, 0, 0, 0}, {4138, 12288, 1280, 0, 0, 0, 0}, {4120, 771, 68, 5140, 0, 0, 0}, {780, 4896, 16448, 0, 0, 0, 0}, {1295, 34, 512, 5461, 0, 0, 0}, {268, 34, 512, 68, 1280, 4352, 0}, {4304, 3855, 8224, 20560, 0, 0, 0}, {24320, 4144, 0, 0, 0, 0, 0}, {275, 68, 4369, 0, 0, 0, 0}, {34, 514, 1360, 4112, 0, 0, 0}, {3072, 819, 4096, 0, 0, 0, 0}, {1032, 4148, 5888, 68, 0, 0, 0}, {1375, 4192, 21845, 0, 0, 0, 0}, {4874, 4150, 4176, 5376, 0, 0, 0}, {5951, 14135, 4160, 0, 0, 0, 0}, {5960, 1904, 16448, 0, 0, 0, 0}, {4106, 5427, 5632, 5461, 0, 0, 0}, {4154, 12336, 1360, 0, 0, 0, 0}, {4104, 819, 68, 5120, 0, 0, 0}, {4156, 4864, 16384, 0, 0, 0, 0}, {4170, 34, 514, 5397, 0, 0, 0}, {284, 34, 514, 68, 1300, 4352, 0}, {4288, 7999, 8192, 20480, 0, 0, 0}, {3840, 4160, 0, 0, 0, 0, 0}, {34, 261, 4369, 0, 0, 0, 0}, {1290, 34, 1792, 4162, 0, 0, 0}, {783, 4208, 17219, 0, 0, 0, 0}, {768, 68, 1024, 4096, 0, 0, 0}, {170, 1285, 4112, 0, 0, 0, 0}, {1290, 4128, 768, 4166, 0, 0, 0}, {1807, 4144, 18247, 0, 0, 0, 0}, {4168, 1792, 20480, 0, 0, 0, 0}, {4124, 102, 4883, 1285, 0, 0, 0}, {1290, 8224, 5440, 0, 0, 0, 0}, {783, 4915, 68, 1024, 0, 0, 0}, {4172, 768, 20480, 0, 0, 0, 0}, {4120, 34, 4626, 1285, 0, 0, 0}, {266, 34, 768, 68, 1024, 4352, 0}, {4272, 3855, 12336, 16448, 0, 0, 0}, {16128, 4176, 0, 0, 0, 0, 0}, {34, 277, 4369, 0, 0, 0, 0}, {5384, 34, 5888, 4178, 0, 0, 0}, {4959, 4192, 21331, 0, 0, 0, 0}, {816, 68, 1028, 4112, 0, 0, 0}, {2560, 1365, 4096, 0, 0, 0, 0}, {5388, 4144, 4864, 4182, 0, 0, 0}, {5983, 4128, 22359, 0, 0, 0, 0}, {4184, 1904, 20560, 0, 0, 0, 0}, {4108, 1331, 5632, 1365, 0, 0, 0}, {4186, 8192, 5376, 0, 0, 0, 0}, {4140, 4883, 68, 1028, 0, 0, 0}, {4188, 816, 20560, 0, 0, 0, 0}, {4104, 34, 4608, 1365, 0, 0, 0}, {282, 34, 786, 68, 1028, 4352, 0}, {4256, 8031, 12288, 16384, 0, 0, 0}, {3840, 4192, 0, 0, 0, 0, 0}, {263, 68, 4369, 0, 0, 0, 0}, {520, 34, 4160, 1280, 0, 0, 0}, {783, 13107, 4176, 0, 0, 0, 0}, {1032, 4128, 768, 68, 0, 0, 0}, {1295, 4144, 21845, 0, 0, 0, 0}, {102, 768, 1280, 4096, 0, 0, 0}, {136, 1799, 4112, 0, 0, 0, 0}, {1800, 5984, 16448, 0, 0, 0, 0}, {1295, 5427, 1536, 5461, 0, 0, 0}, {4202, 8192, 1280, 0, 0, 0, 0}, {4124, 4883, 68, 5140, 0, 0, 0}, {4204, 768, 16384, 0, 0, 0, 0}, {4122, 34, 4626, 5397, 0, 0, 0}, {264, 34, 768, 68, 1280, 4352, 0}, {4240, 3855, 12336, 20560, 0, 0, 0}, {24320, 4208, 0, 0, 0, 0, 0}, {279, 68, 4369, 0, 0, 0, 0}, {522, 34, 4176, 5376, 0, 0, 0}, {831, 13107, 4160, 0, 0, 0, 0}, {1036, 4144, 4864, 68, 0, 0, 0}, {1375, 4128, 21845, 0, 0, 0, 0}, {1334, 1542, 1360, 4112, 0, 0, 0}, {2048, 1911, 4096, 0, 0, 0, 0}, {4216, 5888, 16384, 0, 0, 0, 0}, {4170, 102, 4883, 5397, 0, 0, 0}, {5418, 8224, 1360, 0, 0, 0, 0}, {4108, 4915, 68, 5120, 0, 0, 0}, {4940, 816, 16448, 0, 0, 0, 0}, {4106, 34, 4608, 5461, 0, 0, 0}, {280, 34, 786, 68, 1300, 4352, 0}, {4224, 8063, 12288, 20480, 0, 0, 0}, {4224, 3840, 12288, 20480, 0, 0, 0}, {265, 34, 771, 68, 1285, 4369, 0}, {4106, 34, 4608, 5376, 0, 0, 0}, {4220, 771, 16448, 0, 0, 0, 0}, {4108, 4864, 68, 5120, 0, 0, 0}, {4218, 8224, 1285, 0, 0, 0, 0}, {1290, 5414, 1542, 5440, 0, 0, 0}, {1807, 6007, 16384, 0, 0, 0, 0}, {136, 1792, 4096, 0, 0, 0, 0}, {102, 771, 1285, 4112, 0, 0, 0}, {1290, 4128, 21760, 0, 0, 0, 0}, {1036, 4144, 771, 68, 0, 0, 0}, {780, 13056, 4160, 0, 0, 0, 0}, {522, 34, 4176, 1285, 0, 0, 0}, {262, 68, 4352, 0, 0, 0, 0}, {3855, 4208, 0, 0, 0, 0, 0}, {4240, 8032, 12336, 20560, 0, 0, 0}, {281, 34, 785, 68, 1297, 4369, 0}, {4122, 34, 4626, 5440, 0, 0, 0}, {4959, 819, 16384, 0, 0, 0, 0}, {4124, 4896, 68, 5140, 0, 0, 0}, {5439, 8192, 1365, 0, 0, 0, 0}, {4186, 102, 4864, 5376, 0, 0, 0}, {4200, 5911, 16448, 0, 0, 0, 0}, {2056, 1904, 4112, 0, 0, 0, 0}, {1331, 1536, 1365, 4096, 0, 0, 0}, {1370, 4144, 21760, 0, 0, 0, 0}, {1032, 4128, 4883, 68, 0, 0, 0}, {828, 13056, 4176, 0, 0, 0, 0}, {520, 34, 4160, 5397, 0, 0, 0}, {278, 68, 4352, 0, 0, 0, 0}, {24415, 4192, 0, 0, 0, 0, 0}, {4256, 3840, 12288, 16384, 0, 0, 0}, {267, 34, 771, 68, 1028, 4369, 0}, {4104, 34, 4608, 1280, 0, 0, 0}, {4188, 771, 20560, 0, 0, 0, 0}, {780, 4896, 68, 1028, 0, 0, 0}, {1295, 8192, 5461, 0, 0, 0, 0}, {4108, 102, 4864, 1280, 0, 0, 0}, {4184, 1799, 20560, 0, 0, 0, 0}, {1800, 4128, 18176, 0, 0, 0, 0}, {1295, 4144, 771, 4182, 0, 0, 0}, {170, 1280, 4096, 0, 0, 0, 0}, {771, 68, 1028, 4112, 0, 0, 0}, {780, 4192, 17152, 0, 0, 0, 0}, {1295, 34, 1799, 4178, 0, 0, 0}, {34, 260, 4352, 0, 0, 0, 0}, {3855, 4176, 0, 0, 0, 0, 0}, {4272, 8000, 12336, 16448, 0, 0, 0}, {283, 34, 785, 68, 1024, 4369, 0}, {4120, 34, 4626, 1360, 0, 0, 0}, {4172, 819, 20480, 0, 0, 0, 0}, {4156, 4864, 68, 1024, 0, 0, 0}, {4170, 8224, 5397, 0, 0, 0, 0}, {4124, 1334, 5654, 1360, 0, 0, 0}, {4168, 1911, 20480, 0, 0, 0, 0}, {5960, 4144, 22272, 0, 0, 0, 0}, {5401, 4128, 4883, 4166, 0, 0, 0}, {2570, 1360, 4112, 0, 0, 0, 0}, {819, 68, 1024, 4096, 0, 0, 0}, {4940, 4208, 21248, 0, 0, 0, 0}, {5405, 34, 5911, 4162, 0, 0, 0}, {34, 276, 4352, 0, 0, 0, 0}, {16191, 4160, 0, 0, 0, 0, 0}, {4288, 3840, 8192, 20480, 0, 0, 0}, {269, 34, 514, 68, 1285, 4369, 0}, {1290, 34, 514, 5440, 0, 0, 0}, {783, 4915, 16384, 0, 0, 0, 0}, {4104, 768, 68, 5120, 0, 0, 0}, {4154, 12336, 1285, 0, 0, 0, 0}, {4106, 102, 768, 5376, 0, 0, 0}, {4152, 1799, 16448, 0, 0, 0, 0}, {1800, 9984, 4160, 0, 0, 0, 0}, {783, 4150, 4176, 1285, 0, 0, 0}, {1290, 4192, 21760, 0, 0, 0, 0}, {1032, 4148, 1799, 68, 0, 0, 0}, {204, 768, 4096, 0, 0, 0, 0}, {34, 514, 1285, 4112, 0, 0, 0}, {258, 68, 4352, 0, 0, 0, 0}, {3855, 4144, 0, 0, 0, 0, 0}, {4304, 7968, 8224, 20560, 0, 0, 0}, {285, 34, 512, 68, 1297, 4369, 0}, {4186, 34, 512, 5376, 0, 0, 0}, {4140, 4883, 16448, 0, 0, 0, 0}, {4120, 816, 68, 5140, 0, 0, 0}, {4138, 12288, 1365, 0, 0, 0, 0}, {4122, 5414, 5654, 5440, 0, 0, 0}, {5983, 1911, 16384, 0, 0, 0, 0}, {5928, 14080, 4176, 0, 0, 0, 0}, {4889, 4134, 4160, 5397, 0, 0, 0}, {1370, 4208, 21760, 0, 0, 0, 0}, {1036, 4132, 5911, 68, 0, 0, 0}, {3084, 816, 4112, 0, 0, 0, 0}, {34, 512, 1365, 4096, 0, 0, 0}, {274, 68, 4352, 0, 0, 0, 0}, {24415, 4128, 0, 0, 0, 0, 0}, {4320, 3840, 8224, 16448, 0, 0, 0}, {271, 34, 512, 68, 1024, 4369, 0}, {4168, 34, 512, 1280, 0, 0, 0}, {4124, 4883, 20560, 0, 0, 0, 0}, {4136, 768, 68, 1024, 0, 0, 0}, {4122, 12336, 5397, 0, 0, 0, 0}, {4172, 102, 768, 1280, 0, 0, 0}, {4120, 5911, 20560, 0, 0, 0, 0}, {4192, 1792, 16456, 0, 0, 0, 0}, {1295, 102, 1536, 4118, 0, 0, 0}, {8234, 4160, 1280, 0, 0, 0, 0}, {783, 68, 1024, 4116, 0, 0, 0}, {4128, 768, 16460, 0, 0, 0, 0}, {1295, 34, 512, 4114, 0, 0, 0}, {34, 68, 256, 0, 0, 0, 0}, {3855, 4112, 0, 0, 0, 0, 0}, {4336, 7936, 8192, 16384, 0, 0, 0}, {287, 34, 514, 68, 1028, 4369, 0}, {5384, 34, 514, 1360, 0, 0, 0}, {4108, 4915, 20480, 0, 0, 0, 0}, {4872, 816, 68, 1028, 0, 0, 0}, {4106, 12288, 5461, 0, 0, 0, 0}, {5388, 1334, 1542, 1360, 0, 0, 0}, {4104, 6007, 20480, 0, 0, 0, 0}, {4208, 5888, 16392, 0, 0, 0, 0}, {1375, 102, 1542, 4102, 0, 0, 0}, {8202, 4176, 5376, 0, 0, 0, 0}, {831, 68, 1028, 4100, 0, 0, 0}, {4144, 4864, 16396, 0, 0, 0, 0}, {1375, 34, 514, 4098, 0, 0, 0}, {514, 1028, 272, 0, 0, 0, 0}, {4095, 4096, 0, 0, 0, 0, 0}, {61440, 0, 0, 0, 0, 0, 0}, {2, 4, 17, 257, 0, 0, 0}, {2, 20480, 0, 0, 0, 0, 0}, {12, 51, 771, 0, 0, 0, 0}, {12288, 4, 0, 0, 0, 0, 0}, {10, 85, 1285, 0, 0, 0, 0}, {6, 20480, 0, 0, 0, 0, 0}, {8, 119, 1799, 0, 0, 0, 0}, {8, 28672, 0, 0, 0, 0, 0}, {6, 85, 1285, 0, 0, 0, 0}, {10, 20480, 0, 0, 0, 0, 0}, {51, 771, 4, 0, 0, 0, 0}, {12, 12288, 0, 0, 0, 0, 0}, {2, 85, 1285, 0, 0, 0, 0}, {2, 4, 4096, 0, 0, 0, 0}, {255, 3855, 0, 0, 0, 0, 0}, {32, 64, 4112, 0, 0, 0, 0}, {3840, 17, 0, 0, 0, 0, 0}, {72, 34, 4626, 0, 0, 0, 0}, {19, 20480, 0, 0, 0, 0, 0}, {40, 68, 5140, 0, 0, 0, 0}, {12288, 21, 0, 0, 0, 0, 0}, {76, 102, 5654, 0, 0, 0, 0}, {23, 20480, 0, 0, 0, 0, 0}, {72, 96, 20560, 0, 0, 0, 0}, {25, 51, 5632, 85, 0, 0, 0}, {42, 12336, 64, 0, 0, 0, 0}, {27, 51, 68, 5120, 0, 0, 0}, {76, 32, 20560, 0, 0, 0, 0}, {29, 34, 4608, 85, 0, 0, 0}, {7710, 34, 68, 0, 0, 0, 0}, {31, 32, 64, 4096, 0, 0, 0}, {32, 20480, 0, 0, 0, 0, 0}, {12, 771, 17, 0, 0, 0, 0}, {23040, 34, 0, 0, 0, 0, 0}, {19, 64, 4112, 0, 0, 0, 0}, {12, 36, 68, 5120, 0, 0, 0}, {42, 9509, 85, 0, 0, 0, 0}, {12, 38, 5632, 64, 0, 0, 0}, {95, 119, 20560, 0, 0, 0, 0}, {40, 20480, 0, 0, 0, 0, 0}, {51, 771, 21, 0, 0, 0, 0}, {42, 28672, 0, 0, 0, 0, 0}, {23, 68, 5140, 0, 0, 0, 0}, {12, 32, 64, 4096, 0, 0, 0}, {3855, 34, 85, 0, 0, 0, 0}, {12, 34, 4608, 68, 0, 0, 0}, {95, 32, 20560, 0, 0, 0, 0}, {192, 12336, 0, 0, 0, 0, 0}, {2, 1280, 17, 0, 0, 0, 0}, {2, 64, 4112, 0, 0, 0, 0}, {3840, 51, 0, 0, 0, 0, 0}, {8, 13364, 68, 0, 0, 0, 0}, {10, 53, 85, 1280, 0, 0, 0}, {10, 102, 20560, 0, 0, 0, 0}, {8, 55, 1792, 64, 0, 0, 0}, {8, 12336, 64, 0, 0, 0, 0}, {10, 51, 85, 1280, 0, 0, 0}, {10, 96, 20560, 0, 0, 0, 0}, {8, 51, 1792, 68, 0, 0, 0}, {204, 15420, 0, 0, 0, 0, 0}, {2, 21, 4096, 0, 0, 0, 0}, {2, 68, 5140, 0, 0, 0, 0}, {63, 12288, 0, 0, 0, 0, 0}, {12288, 64, 0, 0, 0, 0, 0}, {10, 1285, 17, 0, 0, 0, 0}, {10, 34, 4608, 66, 0, 0, 0}, {76, 51, 17219, 0, 0, 0, 0}, {15360, 68, 0, 0, 0, 0, 0}, {32, 21, 4112, 0, 0, 0, 0}, {10, 32, 5632, 70, 0, 0, 0}, {72, 119, 18247, 0, 0, 0, 0}, {72, 12288, 0, 0, 0, 0, 0}, {19, 85, 1285, 0, 0, 0, 0}, {10, 32, 64, 4096, 0, 0, 0}, {3855, 51, 68, 0, 0, 0, 0}, {76, 28672, 0, 0, 0, 0, 0}, {23, 85, 1285, 0, 0, 0, 0}, {10, 34, 68, 5120, 0, 0, 0}, {63, 12336, 64, 0, 0, 0, 0}, {160, 20560, 0, 0, 0, 0, 0}, {768, 4, 17, 0, 0, 0, 0}, {8, 34, 21074, 0, 0, 0, 0}, {12, 51, 768, 83, 0, 0, 0}, {32, 4, 4112, 0, 0, 0, 0}, {3840, 85, 0, 0, 0, 0, 0}, {12, 102, 22102, 0, 0, 0, 0}, {8, 32, 1792, 87, 0, 0, 0}, {8, 32, 20560, 0, 0, 0, 0}, {12, 51, 768, 85, 0, 0, 0}, {170, 23130, 0, 0, 0, 0, 0}, {19, 4, 4096, 0, 0, 0, 0}, {12, 96, 20560, 0, 0, 0, 0}, {8, 34, 1792, 85, 0, 0, 0}, {34, 4626, 4, 0, 0, 0, 0}, {95, 20480, 0, 0, 0, 0, 0}, {96, 20480, 0, 0, 0, 0, 0}, {8, 1799, 17, 0, 0, 0, 0}, {8, 34, 4608, 64, 0, 0, 0}, {95, 51, 20560, 0, 0, 0, 0}, {8, 32, 68, 5120, 0, 0, 0}, {63, 12336, 85, 0, 0, 0, 0}, {23040, 102, 0, 0, 0, 0, 0}, {23, 64, 4112, 0, 0, 0, 0}, {8, 32, 64, 4096, 0, 0, 0}, {3855, 51, 85, 0, 0, 0, 0}, {106, 12288, 0, 0, 0, 0, 0}, {19, 68, 5140, 0, 0, 0, 0}, {108, 20480, 0, 0, 0, 0, 0}, {34, 4626, 21, 0, 0, 0, 0}, {8, 34, 5632, 68, 0, 0, 0}, {95, 96, 20560, 0, 0, 0, 0}, {128, 28784, 0, 0, 0, 0, 0}, {6, 1280, 17, 0, 0, 0, 0}, {10, 34, 20560, 0, 0, 0, 0}, {12, 51, 768, 64, 0, 0, 0}, {12, 12336, 68, 0, 0, 0, 0}, {10, 32, 85, 1280, 0, 0, 0}, {6, 64, 4112, 0, 0, 0, 0}, {3840, 119, 0, 0, 0, 0, 0}, {136, 30840, 0, 0, 0, 0, 0}, {19, 21, 4096, 0, 0, 0, 0}, {10, 32, 20560, 0, 0, 0, 0}, {12, 51, 768, 68, 0, 0, 0}, {12, 12336, 64, 0, 0, 0, 0}, {10, 34, 85, 1280, 0, 0, 0}, {6, 68, 5140, 0, 0, 0, 0}, {127, 28672, 0, 0, 0, 0, 0}, {128, 28672, 0, 0, 0, 0, 0}, {6, 1285, 17, 0, 0, 0, 0}, {10, 34, 20480, 0, 0, 0, 0}, {12, 51, 771, 64, 0, 0, 0}, {12, 12288, 68, 0, 0, 0, 0}, {10, 32, 85, 1285, 0, 0, 0}, {6, 64, 4096, 0, 0, 0, 0}, {3855, 119, 0, 0, 0, 0, 0}, {136, 30720, 0, 0, 0, 0, 0}, {19, 21, 4112, 0, 0, 0, 0}, {10, 32, 20480, 0, 0, 0, 0}, {12, 51, 771, 68, 0, 0, 0}, {12, 12288, 64, 0, 0, 0, 0}, {10, 34, 85, 1285, 0, 0, 0}, {6, 68, 5120, 0, 0, 0, 0}, {127, 28784, 0, 0, 0, 0, 0}, {96, 20560, 0, 0, 0, 0, 0}, {8, 1792, 17, 0, 0, 0, 0}, {8, 34, 4626, 64, 0, 0, 0}, {95, 51, 20480, 0, 0, 0, 0}, {8, 32, 68, 5140, 0, 0, 0}, {63, 12288, 85, 0, 0, 0, 0}, {23130, 102, 0, 0, 0, 0, 0}, {23, 64, 4096, 0, 0, 0, 0}, {8, 32, 64, 4112, 0, 0, 0}, {3840, 51, 85, 0, 0, 0, 0}, {106, 12336, 0, 0, 0, 0, 0}, {19, 68, 5120, 0, 0, 0, 0}, {108, 20560, 0, 0, 0, 0, 0}, {34, 4608, 21, 0, 0, 0, 0}, {8, 34, 5654, 68, 0, 0, 0}, {95, 96, 20480, 0, 0, 0, 0}, {160, 20480, 0, 0, 0, 0, 0}, {771, 4, 17, 0, 0, 0, 0}, {8, 34, 20992, 0, 0, 0, 0}, {12, 51, 771, 83, 0, 0, 0}, {32, 4, 4096, 0, 0, 0, 0}, {3855, 85, 0, 0, 0, 0, 0}, {12, 102, 22016, 0, 0, 0, 0}, {8, 32, 1799, 87, 0, 0, 0}, {8, 32, 20480, 0, 0, 0, 0}, {12, 51, 771, 85, 0, 0, 0}, {170, 23040, 0, 0, 0, 0, 0}, {19, 4, 4112, 0, 0, 0, 0}, {12, 96, 20480, 0, 0, 0, 0}, {8, 34, 1799, 85, 0, 0, 0}, {34, 4608, 4, 0, 0, 0, 0}, {95, 20560, 0, 0, 0, 0, 0}, {12336, 64, 0, 0, 0, 0, 0}, {10, 1280, 17, 0, 0, 0, 0}, {10, 34, 4626, 66, 0, 0, 0}, {76, 51, 17152, 0, 0, 0, 0}, {15420, 68, 0, 0, 0, 0, 0}, {32, 21, 4096, 0, 0, 0, 0}, {10, 32, 5654, 70, 0, 0, 0}, {72, 119, 18176, 0, 0, 0, 0}, {72, 12336, 0, 0, 0, 0, 0}, {19, 85, 1280, 0, 0, 0, 0}, {10, 32, 64, 4112, 0, 0, 0}, {3840, 51, 68, 0, 0, 0, 0}, {76, 28784, 0, 0, 0, 0, 0}, {23, 85, 1280, 0, 0, 0, 0}, {10, 34, 68, 5140, 0, 0, 0}, {63, 12288, 64, 0, 0, 0, 0}, {192, 12288, 0, 0, 0, 0, 0}, {2, 1285, 17, 0, 0, 0, 0}, {2, 64, 4096, 0, 0, 0, 0}, {3855, 51, 0, 0, 0, 0, 0}, {8, 13312, 68, 0, 0, 0, 0}, {10, 53, 85, 1285, 0, 0, 0}, {10, 102, 20480, 0, 0, 0, 0}, {8, 55, 1799, 64, 0, 0, 0}, {8, 12288, 64, 0, 0, 0, 0}, {10, 51, 85, 1285, 0, 0, 0}, {10, 96, 20480, 0, 0, 0, 0}, {8, 51, 1799, 68, 0, 0, 0}, {204, 15360, 0, 0, 0, 0, 0}, {2, 21, 4112, 0, 0, 0, 0}, {2, 68, 5120, 0, 0, 0, 0}, {63, 12336, 0, 0, 0, 0, 0}, {32, 20560, 0, 0, 0, 0, 0}, {12, 768, 17, 0, 0, 0, 0}, {23130, 34, 0, 0, 0, 0, 0}, {19, 64, 4096, 0, 0, 0, 0}, {12, 36, 68, 5140, 0, 0, 0}, {42, 9472, 85, 0, 0, 0, 0}, {12, 38, 5654, 64, 0, 0, 0}, {95, 119, 20480, 0, 0, 0, 0}, {40, 20560, 0, 0, 0, 0, 0}, {51, 768, 21, 0, 0, 0, 0}, {42, 28784, 0, 0, 0, 0, 0}, {23, 68, 5120, 0, 0, 0, 0}, {12, 32, 64, 4112, 0, 0, 0}, {3840, 34, 85, 0, 0, 0, 0}, {12, 34, 4626, 68, 0, 0, 0}, {95, 32, 20480, 0, 0, 0, 0}, {32, 64, 4096, 0, 0, 0, 0}, {3855, 17, 0, 0, 0, 0, 0}, {72, 34, 4608, 0, 0, 0, 0}, {19, 20560, 0, 0, 0, 0, 0}, {40, 68, 5120, 0, 0, 0, 0}, {12336, 21, 0, 0, 0, 0, 0}, {76, 102, 5632, 0, 0, 0, 0}, {23, 20560, 0, 0, 0, 0, 0}, {72, 96, 20480, 0, 0, 0, 0}, {25, 51, 5654, 85, 0, 0, 0}, {42, 12288, 64, 0, 0, 0, 0}, {27, 51, 68, 5140, 0, 0, 0}, {76, 32, 20480, 0, 0, 0, 0}, {29, 34, 4626, 85, 0, 0, 0}, {7680, 34, 68, 0, 0, 0, 0}, {31, 32, 64, 4112, 0, 0, 0}, {61680, 0, 0, 0, 0, 0, 0}, {2, 4, 17, 256, 0, 0, 0}, {2, 20560, 0, 0, 0, 0, 0}, {12, 51, 768, 0, 0, 0, 0}, {12336, 4, 0, 0, 0, 0, 0}, {10, 85, 1280, 0, 0, 0, 0}, {6, 20560, 0, 0, 0, 0, 0}, {8, 119, 1792, 0, 0, 0, 0}, {8, 28784, 0, 0, 0, 0, 0}, {6, 85, 1280, 0, 0, 0, 0}, {10, 20560, 0, 0, 0, 0, 0}, {51, 768, 4, 0, 0, 0, 0}, {12, 12336, 0, 0, 0, 0, 0}, {2, 85, 1280, 0, 0, 0, 0}, {2, 4, 4112, 0, 0, 0, 0}, {255, 3840, 0, 0, 0, 0, 0}, {512, 1024, 4352, 0, 0, 0, 0}, {240, 257, 0, 0, 0, 0, 0}, {1032, 4386, 514, 0, 0, 0, 0}, {259, 20480, 0, 0, 0, 0, 0}, {520, 4420, 1028, 0, 0, 0, 0}, {12288, 261, 0, 0, 0, 0, 0}, {1036, 4454, 1542, 0, 0, 0, 0}, {263, 20480, 0, 0, 0, 0, 0}, {1032, 1536, 21760, 0, 0, 0, 0}, {265, 4192, 771, 1285, 0, 0, 0}, {522, 13056, 1024, 0, 0, 0, 0}, {267, 771, 4160, 1028, 0, 0, 0}, {1036, 512, 21760, 0, 0, 0, 0}, {269, 4128, 514, 1285, 0, 0, 0}, {4590, 514, 1028, 0, 0, 0, 0}, {271, 512, 1024, 4096, 0, 0, 0}, {3840, 272, 0, 0, 0, 0, 0}, {546, 1092, 4369, 0, 0, 0, 0}, {274, 20480, 0, 0, 0, 0, 0}, {1100, 4403, 4883, 0, 0, 0, 0}, {12288, 276, 0, 0, 0, 0, 0}, {554, 4437, 5397, 0, 0, 0, 0}, {278, 20480, 0, 0, 0, 0, 0}, {1096, 4471, 5911, 0, 0, 0, 0}, {280, 5424, 5632, 1360, 0, 0, 0}, {1100, 1638, 21845, 0, 0, 0, 0}, {282, 816, 4160, 5120, 0, 0, 0}, {552, 13107, 1092, 0, 0, 0, 0}, {284, 4128, 4608, 1360, 0, 0, 0}, {1096, 546, 21845, 0, 0, 0, 0}, {286, 546, 1092, 4096, 0, 0, 0}, {7967, 544, 1088, 0, 0, 0, 0}, {3072, 544, 4352, 0, 0, 0, 0}, {289, 771, 1365, 4369, 0, 0, 0}, {4386, 4864, 16384, 0, 0, 0, 0}, {1375, 291, 771, 4112, 0, 0, 0}, {552, 9252, 4420, 0, 0, 0, 0}, {783, 293, 4437, 5120, 0, 0, 0}, {4940, 4454, 16448, 0, 0, 0, 0}, {5391, 295, 5632, 4176, 0, 0, 0}, {552, 13056, 5376, 0, 0, 0, 0}, {297, 771, 4160, 5397, 0, 0, 0}, {5418, 5888, 17408, 0, 0, 0, 0}, {4427, 4192, 771, 5140, 0, 0, 0}, {3084, 544, 5440, 0, 0, 0, 0}, {783, 546, 1365, 4096, 0, 0, 0}, {5960, 546, 17476, 0, 0, 0, 0}, {4367, 4128, 4608, 5200, 0, 0, 0}, {304, 512, 1280, 4352, 0, 0, 0}, {1220, 514, 4369, 0, 0, 0, 0}, {1290, 306, 514, 4112, 0, 0, 0}, {4403, 512, 16384, 0, 0, 0, 0}, {520, 308, 4420, 1280, 0, 0, 0}, {522, 13621, 4437, 0, 0, 0, 0}, {1290, 310, 1792, 4176, 0, 0, 0}, {520, 4471, 16448, 0, 0, 0, 0}, {520, 816, 4160, 1280, 0, 0, 0}, {522, 13107, 5461, 0, 0, 0, 0}, {1290, 1072, 1792, 5200, 0, 0, 0}, {520, 6007, 17476, 0, 0, 0, 0}, {316, 512, 1280, 4096, 0, 0, 0}, {4573, 514, 5397, 0, 0, 0, 0}, {4382, 4128, 514, 5140, 0, 0, 0}, {5439, 512, 17408, 0, 0, 0, 0}, {2560, 1088, 4352, 0, 0, 0, 0}, {819, 321, 1285, 4369, 0, 0, 0}, {1096, 4386, 16962, 0, 0, 0, 0}, {1295, 4403, 4608, 323, 0, 0, 0}, {8192, 4420, 5376, 0, 0, 0, 0}, {831, 325, 1285, 4112, 0, 0, 0}, {1100, 4454, 17990, 0, 0, 0, 0}, {1295, 4144, 5632, 327, 0, 0, 0}, {1096, 4864, 21760, 0, 0, 0, 0}, {329, 4128, 4883, 1285, 0, 0, 0}, {2570, 4896, 1088, 0, 0, 0, 0}, {1295, 819, 1092, 4096, 0, 0, 0}, {1100, 5888, 21760, 0, 0, 0, 0}, {333, 4192, 4626, 1285, 0, 0, 0}, {5928, 8738, 1092, 0, 0, 0, 0}, {4367, 4656, 4160, 5120, 0, 0, 0}, {768, 336, 1024, 4352, 0, 0, 0}, {674, 1028, 4369, 0, 0, 0, 0}, {1032, 4386, 768, 338, 0, 0, 0}, {1036, 4403, 21331, 0, 0, 0, 0}, {780, 340, 1028, 4112, 0, 0, 0}, {8192, 4437, 1024, 0, 0, 0, 0}, {1036, 4144, 1792, 342, 0, 0, 0}, {1032, 4471, 22359, 0, 0, 0, 0}, {1032, 4128, 768, 1360, 0, 0, 0}, {1036, 4915, 21845, 0, 0, 0, 0}, {346, 768, 1024, 4096, 0, 0, 0}, {4539, 4883, 1028, 0, 0, 0, 0}, {1036, 5424, 1792, 1360, 0, 0, 0}, {1032, 6007, 21845, 0, 0, 0, 0}, {4382, 4626, 4160, 1028, 0, 0, 0}, {4959, 8704, 1024, 0, 0, 0, 0}, {2048, 1632, 4352, 0, 0, 0, 0}, {1076, 1799, 1365, 4369, 0, 0, 0}, {5960, 4386, 16448, 0, 0, 0, 0}, {5391, 4403, 4608, 4176, 0, 0, 0}, {5928, 8224, 4420, 0, 0, 0, 0}, {4879, 4144, 4437, 5120, 0, 0, 0}, {4454, 5888, 16384, 0, 0, 0, 0}, {1375, 359, 1799, 4112, 0, 0, 0}, {2056, 4896, 5440, 0, 0, 0, 0}, {1807, 819, 1365, 4096, 0, 0, 0}, {5482, 4864, 17408, 0, 0, 0, 0}, {4427, 4128, 4883, 5140, 0, 0, 0}, {4972, 8704, 5376, 0, 0, 0, 0}, {4397, 4626, 4160, 5397, 0, 0, 0}, {4940, 1638, 17476, 0, 0, 0, 0}, {4367, 1072, 5632, 5200, 0, 0, 0}, {368, 768, 1280, 4352, 0, 0, 0}, {1156, 1542, 4369, 0, 0, 0, 0}, {1290, 4386, 768, 4176, 0, 0, 0}, {1548, 4403, 16448, 0, 0, 0, 0}, {780, 4144, 4420, 1280, 0, 0, 0}, {1546, 8224, 4437, 0, 0, 0, 0}, {1290, 374, 1542, 4112, 0, 0, 0}, {4471, 1536, 16384, 0, 0, 0, 0}, {376, 768, 1280, 4096, 0, 0, 0}, {4505, 4883, 5397, 0, 0, 0, 0}, {1290, 4128, 768, 5200, 0, 0, 0}, {1548, 4915, 17476, 0, 0, 0, 0}, {780, 4656, 4160, 1280, 0, 0, 0}, {1546, 8738, 5461, 0, 0, 0, 0}, {4382, 4192, 4626, 5140, 0, 0, 0}, {5503, 1536, 17408, 0, 0, 0, 0}, {1152, 1536, 4352, 0, 0, 0, 0}, {369, 771, 1285, 4369, 0, 0, 0}, {1546, 4386, 16384, 0, 0, 0, 0}, {1295, 4403, 771, 4160, 0, 0, 0}, {1548, 8192, 4420, 0, 0, 0, 0}, {783, 4128, 4437, 1285, 0, 0, 0}, {4454, 1542, 16448, 0, 0, 0, 0}, {1295, 375, 1536, 4096, 0, 0, 0}, {4488, 4864, 5376, 0, 0, 0, 0}, {377, 771, 1285, 4112, 0, 0, 0}, {1546, 4896, 17408, 0, 0, 0, 0}, {1295, 4144, 771, 5188, 0, 0, 0}, {1548, 8704, 5440, 0, 0, 0, 0}, {783, 4642, 4176, 1285, 0, 0, 0}, {5482, 1542, 17476, 0, 0, 0, 0}, {4367, 4208, 4608, 5120, 0, 0, 0}, {1072, 1792, 1360, 4352, 0, 0, 0}, {2056, 1638, 4369, 0, 0, 0, 0}, {5402, 4386, 4626, 4160, 0, 0, 0}, {5983, 4403, 16384, 0, 0, 0, 0}, {4892, 4128, 4420, 5140, 0, 0, 0}, {5951, 8192, 4437, 0, 0, 0, 0}, {1370, 358, 1792, 4096, 0, 0, 0}, {4471, 5911, 16448, 0, 0, 0, 0}, {1800, 816, 1360, 4112, 0, 0, 0}, {2048, 4915, 5461, 0, 0, 0, 0}, {4442, 4144, 4864, 5120, 0, 0, 0}, {5503, 4883, 17476, 0, 0, 0, 0}, {4412, 4608, 4176, 5376, 0, 0, 0}, {4991, 8738, 5397, 0, 0, 0, 0}, {4382, 1076, 5654, 5188, 0, 0, 0}, {4959, 1632, 17408, 0, 0, 0, 0}, {672, 1024, 4352, 0, 0, 0, 0}, {771, 337, 1028, 4369, 0, 0, 0}, {1032, 4386, 21248, 0, 0, 0, 0}, {1036, 4403, 771, 339, 0, 0, 0}, {8224, 4420, 1028, 0, 0, 0, 0}, {783, 341, 1024, 4096, 0, 0, 0}, {1036, 4454, 22272, 0, 0, 0, 0}, {1032, 4128, 1799, 343, 0, 0, 0}, {1032, 4896, 21760, 0, 0, 0, 0}, {1036, 4144, 771, 1365, 0, 0, 0}, {4522, 4864, 1024, 0, 0, 0, 0}, {347, 771, 1028, 4112, 0, 0, 0}, {1036, 5984, 21760, 0, 0, 0, 0}, {1032, 5413, 1799, 1365, 0, 0, 0}, {4940, 8738, 1028, 0, 0, 0, 0}, {4367, 4608, 4176, 1024, 0, 0, 0}, {816, 320, 1280, 4352, 0, 0, 0}, {2570, 1092, 4369, 0, 0, 0, 0}, {1290, 4386, 4626, 322, 0, 0, 0}, {1100, 4403, 16896, 0, 0, 0, 0}, {828, 324, 1280, 4096, 0, 0, 0}, {8224, 4437, 5397, 0, 0, 0, 0}, {1290, 4128, 5654, 326, 0, 0, 0}, {1096, 4471, 17920, 0, 0, 0, 0}, {328, 4144, 4864, 1280, 0, 0, 0}, {1100, 4883, 21845, 0, 0, 0, 0}, {1290, 816, 1088, 4112, 0, 0, 0}, {2560, 4915, 1092, 0, 0, 0, 0}, {332, 4208, 4608, 1280, 0, 0, 0}, {1096, 5911, 21845, 0, 0, 0, 0}, {4382, 4642, 4176, 5140, 0, 0, 0}, {5951, 8704, 1088, 0, 0, 0, 0}, {1216, 512, 4352, 0, 0, 0, 0}, {305, 514, 1285, 4369, 0, 0, 0}, {4386, 514, 16448, 0, 0, 0, 0}, {1295, 307, 512, 4096, 0, 0, 0}, {520, 13568, 4420, 0, 0, 0, 0}, {522, 309, 4437, 1285, 0, 0, 0}, {522, 4454, 16384, 0, 0, 0, 0}, {1295, 311, 1799, 4160, 0, 0, 0}, {520, 13056, 5440, 0, 0, 0, 0}, {522, 819, 4176, 1285, 0, 0, 0}, {522, 5984, 17408, 0, 0, 0, 0}, {1295, 1076, 1799, 5188, 0, 0, 0}, {4556, 512, 5376, 0, 0, 0, 0}, {317, 514, 1285, 4112, 0, 0, 0}, {5418, 514, 17476, 0, 0, 0, 0}, {4367, 4144, 512, 5120, 0, 0, 0}, {288, 768, 1360, 4352, 0, 0, 0}, {3084, 546, 4369, 0, 0, 0, 0}, {1370, 290, 768, 4096, 0, 0, 0}, {4403, 4883, 16448, 0, 0, 0, 0}, {780, 292, 4420, 5140, 0, 0, 0}, {554, 9216, 4437, 0, 0, 0, 0}, {5402, 294, 5654, 4160, 0, 0, 0}, {4959, 4471, 16384, 0, 0, 0, 0}, {296, 768, 4176, 5376, 0, 0, 0}, {554, 13107, 5397, 0, 0, 0, 0}, {4442, 4208, 768, 5120, 0, 0, 0}, {5439, 5911, 17476, 0, 0, 0, 0}, {780, 544, 1360, 4112, 0, 0, 0}, {3072, 546, 5461, 0, 0, 0, 0}, {4382, 4144, 4626, 5188, 0, 0, 0}, {5983, 544, 17408, 0, 0, 0, 0}, {544, 1088, 4352, 0, 0, 0, 0}, {3855, 273, 0, 0, 0, 0, 0}, {1096, 4386, 4864, 0, 0, 0, 0}, {275, 20560, 0, 0, 0, 0, 0}, {552, 4420, 5376, 0, 0, 0, 0}, {12336, 277, 0, 0, 0, 0, 0}, {1100, 4454, 5888, 0, 0, 0, 0}, {279, 20560, 0, 0, 0, 0, 0}, {1096, 1632, 21760, 0, 0, 0, 0}, {281, 5413, 5654, 1365, 0, 0, 0}, {554, 13056, 1088, 0, 0, 0, 0}, {283, 819, 4176, 5140, 0, 0, 0}, {1100, 544, 21760, 0, 0, 0, 0}, {285, 4144, 4626, 1365, 0, 0, 0}, {7936, 546, 1092, 0, 0, 0, 0}, {287, 544, 1088, 4112, 0, 0, 0}, {240, 256, 0, 0, 0, 0, 0}, {514, 1028, 4369, 0, 0, 0, 0}, {258, 20560, 0, 0, 0, 0, 0}, {1036, 4403, 512, 0, 0, 0, 0}, {12336, 260, 0, 0, 0, 0, 0}, {522, 4437, 1024, 0, 0, 0, 0}, {262, 20560, 0, 0, 0, 0, 0}, {1032, 4471, 1536, 0, 0, 0, 0}, {264, 4208, 768, 1280, 0, 0, 0}, {1036, 1542, 21845, 0, 0, 0, 0}, {266, 768, 4176, 1024, 0, 0, 0}, {520, 13107, 1028, 0, 0, 0, 0}, {268, 4144, 512, 1280, 0, 0, 0}, {1032, 514, 21845, 0, 0, 0, 0}, {270, 514, 1028, 4112, 0, 0, 0}, {4607, 512, 1024, 0, 0, 0, 0}, {512, 20480, 0, 0, 0, 0, 0}, {12, 51, 257, 0, 0, 0, 0}, {20640, 514, 0, 0, 0, 0, 0}, {259, 1024, 4352, 0, 0, 0, 0}, {12, 516, 4160, 1028, 0, 0, 0}, {522, 8789, 1285, 0, 0, 0, 0}, {12, 4192, 518, 1024, 0, 0, 0}, {1295, 1799, 21760, 0, 0, 0, 0}, {520, 20480, 0, 0, 0, 0, 0}, {51, 771, 261, 0, 0, 0, 0}, {522, 28672, 0, 0, 0, 0, 0}, {263, 4420, 1028, 0, 0, 0, 0}, {12, 512, 1024, 4096, 0, 0, 0}, {255, 514, 1285, 0, 0, 0, 0}, {12, 4128, 514, 1028, 0, 0, 0}, {1295, 512, 21760, 0, 0, 0, 0}, {2112, 544, 4112, 0, 0, 0, 0}, {51, 529, 1365, 4369, 0, 0, 0}, {4144, 4626, 16384, 0, 0, 0, 0}, {1375, 51, 531, 4352, 0, 0, 0}, {552, 8772, 5140, 0, 0, 0, 0}, {63, 533, 4160, 5397, 0, 0, 0}, {5180, 5654, 17408, 0, 0, 0, 0}, {4191, 4192, 535, 5376, 0, 0, 0}, {552, 12336, 4176, 0, 0, 0, 0}, {537, 51, 4437, 5120, 0, 0, 0}, {4698, 4208, 16448, 0, 0, 0, 0}, {5147, 51, 5632, 4420, 0, 0, 0}, {7196, 544, 5200, 0, 0, 0, 0}, {541, 546, 1365, 4096, 0, 0, 0}, {5722, 546, 17476, 0, 0, 0, 0}, {4127, 4128, 4608, 5440, 0, 0, 0}, {23040, 544, 0, 0, 0, 0, 0}, {274, 1092, 4369, 0, 0, 0, 0}, {546, 20480, 0, 0, 0, 0, 0}, {12, 771, 272, 0, 0, 0, 0}, {12, 5156, 5632, 1092, 0, 0, 0}, {1370, 1904, 21845, 0, 0, 0, 0}, {12, 550, 4160, 5120, 0, 0, 0}, {552, 10023, 1360, 0, 0, 0, 0}, {552, 28672, 0, 0, 0, 0, 0}, {278, 4437, 5397, 0, 0, 0, 0}, {554, 20480, 0, 0, 0, 0, 0}, {51, 771, 276, 0, 0, 0, 0}, {12, 4128, 4608, 1088, 0, 0, 0}, {1370, 546, 21845, 0, 0, 0, 0}, {12, 546, 1092, 4096, 0, 0, 0}, {3855, 544, 1360, 0, 0, 0, 0}, {4144, 512, 16384, 0, 0, 0, 0}, {1290, 51, 514, 4369, 0, 0, 0}, {192, 514, 4112, 0, 0, 0, 0}, {51, 512, 1280, 4352, 0, 0, 0}, {520, 5744, 17476, 0, 0, 0, 0}, {1290, 1333, 1792, 5461, 0, 0, 0}, {522, 13878, 5200, 0, 0, 0, 0}, {520, 567, 4160, 1280, 0, 0, 0}, {520, 4208, 16448, 0, 0, 0, 0}, {1290, 51, 1792, 4437, 0, 0, 0}, {522, 12336, 4176, 0, 0, 0, 0}, {520, 51, 4420, 1280, 0, 0, 0}, {5180, 512, 17408, 0, 0, 0, 0}, {4127, 4128, 514, 5397, 0, 0, 0}, {204, 514, 5140, 0, 0, 0, 0}, {63, 512, 1280, 4096, 0, 0, 0}, {4608, 4160, 0, 0, 0, 0, 0}, {590, 51, 1285, 4369, 0, 0, 0}, {4192, 578, 16384, 0, 0, 0, 0}, {1295, 51, 1859, 4352, 0, 0, 0}, {5632, 5188, 0, 0, 0, 0, 0}, {586, 629, 1285, 4112, 0, 0, 0}, {5228, 582, 17408, 0, 0, 0, 0}, {4111, 4144, 4679, 5376, 0, 0, 0}, {584, 4096, 0, 0, 0, 0, 0}, {51, 4883, 4437, 1285, 0, 0, 0}, {586, 4128, 16448, 0, 0, 0, 0}, {1295, 51, 4864, 4420, 0, 0, 0}, {588, 8704, 5120, 0, 0, 0, 0}, {63, 4626, 4176, 1285, 0, 0, 0}, {590, 5734, 17476, 0, 0, 0, 0}, {1295, 1328, 5888, 5440, 0, 0, 0}, {672, 2048, 8704, 20560, 0, 0, 0}, {12, 51, 768, 337, 1028, 4369, 0}, {674, 2056, 8738, 21074, 0, 0, 0}, {12, 51, 768, 339, 1024, 4352, 0}, {12, 612, 1028, 4112, 0, 0, 0}, {1792, 1365, 0, 0, 0, 0, 0}, {12, 4144, 4694, 1024, 0, 0, 0}, {1375, 599, 21760, 0, 0, 0, 0}, {680, 2056, 8224, 20560, 0, 0, 0}, {12, 51, 768, 341, 1024, 4096, 0}, {682, 2048, 8192, 21082, 0, 0, 0}, {12, 51, 768, 343, 1028, 4115, 0}, {12, 4656, 4176, 1024, 0, 0, 0}, {1800, 8738, 1365, 0, 0, 0, 0}, {12, 4208, 4626, 1028, 0, 0, 0}, {1375, 1792, 21760, 0, 0, 0, 0}, {4192, 4608, 16384, 0, 0, 0, 0}, {1370, 51, 1799, 4369, 0, 0, 0}, {2056, 4642, 4160, 0, 0, 0, 0}, {1807, 51, 1360, 4352, 0, 0, 0}, {5708, 612, 17476, 0, 0, 0, 0}, {4111, 4144, 5888, 5461, 0, 0, 0}, {614, 5120, 0, 0, 0, 0, 0}, {63, 1799, 1360, 4112, 0, 0, 0}, {4680, 4128, 16448, 0, 0, 0, 0}, {5135, 51, 4864, 4437, 0, 0, 0}, {618, 4096, 0, 0, 0, 0, 0}, {51, 4883, 4420, 5140, 0, 0, 0}, {5228, 5632, 17408, 0, 0, 0, 0}, {4175, 4208, 4626, 5397, 0, 0, 0}, {5674, 8738, 5188, 0, 0, 0, 0}, {4623, 4656, 4176, 5376, 0, 0, 0}, {640, 2560, 8704, 21104, 0, 0, 0}, {12, 51, 768, 322, 1286, 4369, 0}, {642, 2570, 8738, 20560, 0, 0, 0}, {12, 51, 768, 320, 1280, 4352, 0}, {12, 4144, 1536, 1092, 0, 0, 0}, {1290, 629, 21845, 0, 0, 0, 0}, {12, 1542, 1088, 4112, 0, 0, 0}, {631, 1280, 0, 0, 0, 0, 0}, {648, 2560, 8192, 21112, 0, 0, 0}, {12, 51, 768, 326, 1286, 4115, 0}, {650, 2570, 8224, 20560, 0, 0, 0}, {12, 51, 768, 324, 1280, 4096, 0}, {12, 5168, 1536, 1088, 0, 0, 0}, {1290, 1911, 21845, 0, 0, 0, 0}, {12, 4626, 4176, 5140, 0, 0, 0}, {639, 8704, 1280, 0, 0, 0, 0}, {640, 2560, 8704, 20480, 0, 0, 0}, {12, 51, 771, 321, 1285, 4369, 0}, {642, 2570, 8738, 21026, 0, 0, 0}, {12, 51, 771, 323, 1283, 4352, 0}, {12, 1536, 1092, 4096, 0, 0, 0}, {629, 1285, 0, 0, 0, 0, 0}, {12, 4128, 1542, 1088, 0, 0, 0}, {1295, 631, 21760, 0, 0, 0, 0}, {648, 2560, 8192, 20480, 0, 0, 0}, {12, 51, 771, 325, 1285, 4112, 0}, {650, 2570, 8224, 21034, 0, 0, 0}, {12, 51, 771, 327, 1283, 4099, 0}, {12, 4608, 4160, 5120, 0, 0, 0}, {637, 8738, 1285, 0, 0, 0, 0}, {12, 5156, 1542, 1092, 0, 0, 0}, {1295, 1904, 21760, 0, 0, 0, 0}, {2048, 4656, 4176, 0, 0, 0, 0}, {1800, 51, 1365, 4369, 0, 0, 0}, {4208, 4626, 16448, 0, 0, 0, 0}, {1375, 51, 1792, 4352, 0, 0, 0}, {612, 5140, 0, 0, 0, 0, 0}, {63, 1792, 1365, 4096, 0, 0, 0}, {5722, 614, 17408, 0, 0, 0, 0}, {4127, 4128, 5911, 5440, 0, 0, 0}, {616, 4112, 0, 0, 0, 0, 0}, {51, 4864, 4437, 5120, 0, 0, 0}, {4698, 4144, 16384, 0, 0, 0, 0}, {5147, 51, 4883, 4420, 0, 0, 0}, {5692, 8704, 5200, 0, 0, 0, 0}, {4637, 4642, 4160, 5397, 0, 0, 0}, {5240, 5654, 17476, 0, 0, 0, 0}, {4191, 4192, 4608, 5376, 0, 0, 0}, {672, 2048, 8704, 20992, 0, 0, 0}, {12, 51, 771, 338, 1028, 4369, 0}, {674, 2056, 8738, 20480, 0, 0, 0}, {12, 51, 771, 336, 1024, 4352, 0}, {12, 4128, 4676, 1028, 0, 0, 0}, {1370, 597, 21845, 0, 0, 0, 0}, {12, 614, 1024, 4096, 0, 0, 0}, {1799, 1360, 0, 0, 0, 0, 0}, {680, 2056, 8224, 21000, 0, 0, 0}, {12, 51, 771, 342, 1024, 4099, 0}, {682, 2048, 8192, 20480, 0, 0, 0}, {12, 51, 771, 340, 1028, 4112, 0}, {12, 4192, 4608, 1024, 0, 0, 0}, {1370, 1799, 21845, 0, 0, 0, 0}, {12, 4642, 4160, 1028, 0, 0, 0}, {1807, 8704, 1360, 0, 0, 0, 0}, {4208, 576, 16448, 0, 0, 0, 0}, {1290, 51, 1860, 4369, 0, 0, 0}, {4626, 4176, 0, 0, 0, 0, 0}, {588, 51, 1280, 4352, 0, 0, 0}, {5240, 580, 17476, 0, 0, 0, 0}, {4127, 4128, 4693, 5397, 0, 0, 0}, {5654, 5200, 0, 0, 0, 0, 0}, {584, 631, 1280, 4096, 0, 0, 0}, {584, 4144, 16384, 0, 0, 0, 0}, {1290, 51, 4883, 4437, 0, 0, 0}, {586, 4112, 0, 0, 0, 0, 0}, {51, 4864, 4420, 1280, 0, 0, 0}, {588, 5744, 17408, 0, 0, 0, 0}, {1290, 1333, 5911, 5461, 0, 0, 0}, {590, 8738, 5140, 0, 0, 0, 0}, {63, 4608, 4160, 1280, 0, 0, 0}, {192, 512, 4096, 0, 0, 0, 0}, {51, 514, 1285, 4369, 0, 0, 0}, {4128, 514, 16448, 0, 0, 0, 0}, {1295, 51, 512, 4352, 0, 0, 0}, {520, 13824, 5188, 0, 0, 0, 0}, {522, 565, 4176, 1285, 0, 0, 0}, {522, 5734, 17408, 0, 0, 0, 0}, {1295, 1328, 1799, 5440, 0, 0, 0}, {520, 12288, 4160, 0, 0, 0, 0}, {522, 51, 4437, 1285, 0, 0, 0}, {522, 4192, 16384, 0, 0, 0, 0}, {1295, 51, 1799, 4420, 0, 0, 0}, {204, 512, 5120, 0, 0, 0, 0}, {63, 514, 1285, 4112, 0, 0, 0}, {5160, 514, 17476, 0, 0, 0, 0}, {4111, 4144, 512, 5376, 0, 0, 0}, {544, 20560, 0, 0, 0, 0, 0}, {12, 768, 273, 0, 0, 0, 0}, {23130, 546, 0, 0, 0, 0, 0}, {275, 1088, 4352, 0, 0, 0, 0}, {12, 548, 4176, 5140, 0, 0, 0}, {554, 9984, 1365, 0, 0, 0, 0}, {12, 5168, 5654, 1088, 0, 0, 0}, {1375, 1911, 21760, 0, 0, 0, 0}, {552, 20560, 0, 0, 0, 0, 0}, {51, 768, 277, 0, 0, 0, 0}, {554, 28784, 0, 0, 0, 0, 0}, {279, 4420, 5376, 0, 0, 0, 0}, {12, 544, 1088, 4112, 0, 0, 0}, {3840, 546, 1365, 0, 0, 0, 0}, {12, 4144, 4626, 1092, 0, 0, 0}, {1375, 544, 21760, 0, 0, 0, 0}, {4128, 4608, 16448, 0, 0, 0, 0}, {1370, 51, 529, 4369, 0, 0, 0}, {2120, 546, 4096, 0, 0, 0, 0}, {51, 531, 1360, 4352, 0, 0, 0}, {5160, 5632, 17476, 0, 0, 0, 0}, {4175, 4208, 533, 5397, 0, 0, 0}, {554, 8806, 5120, 0, 0, 0, 0}, {63, 535, 4176, 5376, 0, 0, 0}, {4680, 4192, 16384, 0, 0, 0, 0}, {5135, 51, 5654, 4437, 0, 0, 0}, {554, 12288, 4160, 0, 0, 0, 0}, {539, 51, 4420, 5140, 0, 0, 0}, {5708, 544, 17408, 0, 0, 0, 0}, {4111, 4144, 4626, 5461, 0, 0, 0}, {7168, 546, 5188, 0, 0, 0, 0}, {543, 544, 1360, 4112, 0, 0, 0}, {20720, 512, 0, 0, 0, 0, 0}, {258, 1028, 4369, 0, 0, 0, 0}, {514, 20560, 0, 0, 0, 0, 0}, {12, 51, 256, 0, 0, 0, 0}, {12, 4208, 516, 1028, 0, 0, 0}, {1290, 1792, 21845, 0, 0, 0, 0}, {12, 518, 4176, 1024, 0, 0, 0}, {520, 8823, 1280, 0, 0, 0, 0}, {520, 28784, 0, 0, 0, 0, 0}, {262, 4437, 1024, 0, 0, 0, 0}, {522, 20560, 0, 0, 0, 0, 0}, {51, 768, 260, 0, 0, 0, 0}, {12, 4144, 512, 1024, 0, 0, 0}, {1290, 514, 21845, 0, 0, 0, 0}, {12, 514, 1028, 4112, 0, 0, 0}, {255, 512, 1280, 0, 0, 0, 0}, {3072, 13056, 0, 0, 0, 0, 0}, {2, 80, 257, 0, 0, 0, 0}, {2, 1024, 4352, 0, 0, 0, 0}, {240, 771, 0, 0, 0, 0, 0}, {8, 13124, 1028, 0, 0, 0, 0}, {10, 773, 80, 1285, 0, 0, 0}, {10, 1542, 21760, 0, 0, 0, 0}, {8, 112, 775, 1024, 0, 0, 0}, {8, 13056, 1024, 0, 0, 0, 0}, {10, 771, 80, 1285, 0, 0, 0}, {10, 1536, 21760, 0, 0, 0, 0}, {8, 112, 771, 1028, 0, 0, 0}, {13260, 3084, 0, 0, 0, 0, 0}, {2, 261, 4096, 0, 0, 0, 0}, {2, 4420, 1028, 0, 0, 0, 0}, {783, 12288, 0, 0, 0, 0, 0}, {32, 784, 80, 4112, 0, 0, 0}, {3140, 34, 4369, 0, 0, 0, 0}, {90, 34, 786, 4352, 0, 0, 0}, {32, 4883, 16384, 0, 0, 0, 0}, {40, 788, 80, 5140, 0, 0, 0}, {42, 13141, 5397, 0, 0, 0, 0}, {90, 112, 790, 5376, 0, 0, 0}, {40, 5911, 17408, 0, 0, 0, 0}, {792, 816, 80, 5120, 0, 0, 0}, {42, 13107, 5461, 0, 0, 0, 0}, {5402, 5424, 5632, 5440, 0, 0, 0}, {5983, 6007, 17476, 0, 0, 0, 0}, {796, 32, 80, 4096, 0, 0, 0}, {7453, 34, 4437, 0, 0, 0, 0}, {4382, 34, 4608, 4420, 0, 0, 0}, {4959, 32, 16448, 0, 0, 0, 0}, {32, 4864, 16384, 0, 0, 0, 0}, {90, 34, 771, 4369, 0, 0, 0}, {3072, 34, 4352, 0, 0, 0, 0}, {32, 771, 80, 4112, 0, 0, 0}, {5960, 5984, 17476, 0, 0, 0, 0}, {5391, 5413, 5632, 5461, 0, 0, 0}, {42, 9766, 5440, 0, 0, 0, 0}, {783, 807, 80, 5120, 0, 0, 0}, {40, 5888, 17408, 0, 0, 0, 0}, {90, 112, 771, 5397, 0, 0, 0}, {42, 13056, 5376, 0, 0, 0, 0}, {40, 771, 80, 5140, 0, 0, 0}, {4940, 32, 16448, 0, 0, 0, 0}, {4367, 34, 4608, 4437, 0, 0, 0}, {3084, 34, 4420, 0, 0, 0, 0}, {783, 32, 80, 4096, 0, 0, 0}, {3840, 816, 0, 0, 0, 0, 0}, {2, 1092, 4369, 0, 0, 0, 0}, {2, 1280, 272, 0, 0, 0, 0}, {3276, 13107, 0, 0, 0, 0, 0}, {8, 1076, 1792, 1092, 0, 0, 0}, {10, 1632, 21845, 0, 0, 0, 0}, {10, 822, 80, 1280, 0, 0, 0}, {8, 14135, 1088, 0, 0, 0, 0}, {8, 1072, 1792, 1088, 0, 0, 0}, {10, 1638, 21845, 0, 0, 0, 0}, {10, 816, 80, 1280, 0, 0, 0}, {8, 13107, 1092, 0, 0, 0, 0}, {828, 12288, 0, 0, 0, 0, 0}, {2, 4437, 5397, 0, 0, 0, 0}, {2, 276, 4096, 0, 0, 0, 0}, {13311, 16191, 0, 0, 0, 0, 0}, {128, 3136, 13056, 16448, 0, 0, 0}, {10, 34, 785, 80, 1285, 4369, 0}, {10, 34, 1602, 4352, 0, 0, 0}, {112, 835, 16384, 0, 0, 0, 0}, {136, 3140, 13124, 17476, 0, 0, 0}, {10, 32, 789, 80, 1285, 4112, 0}, {10, 32, 4934, 5376, 0, 0, 0}, {120, 839, 17408, 0, 0, 0, 0}, {136, 3144, 13056, 17408, 0, 0, 0}, {10, 32, 787, 80, 1285, 4096, 0}, {10, 32, 4864, 5440, 0, 0, 0}, {843, 819, 17476, 0, 0, 0, 0}, {128, 3148, 13132, 16384, 0, 0, 0}, {10, 34, 791, 80, 1285, 4357, 0}, {10, 34, 5888, 4420, 0, 0, 0}, {847, 112, 16448, 0, 0, 0, 0}, {768, 80, 0, 0, 0, 0, 0}, {8, 34, 1028, 4369, 0, 0, 0}, {8, 34, 768, 82, 1024, 4352, 0}, {160, 3084, 13107, 21331, 0, 0, 0}, {8, 32, 772, 80, 1028, 4112, 0}, {170, 3072, 13141, 21845, 0, 0, 0}, {90, 854, 21760, 0, 0, 0, 0}, {8, 32, 4951, 1024, 0, 0, 0}, {8, 32, 768, 80, 1024, 4096, 0}, {170, 3084, 13107, 21845, 0, 0, 0}, {90, 768, 21760, 0, 0, 0, 0}, {8, 32, 4883, 1028, 0, 0, 0}, {780, 12336, 80, 0, 0, 0, 0}, {8, 34, 4437, 1024, 0, 0, 0}, {8, 34, 772, 82, 1028, 4374, 0}, {160, 3072, 13151, 21343, 0, 0, 0}, {160, 3168, 13056, 21344, 0, 0, 0}, {8, 34, 785, 82, 1046, 4369, 0}, {8, 34, 1088, 4352, 0, 0, 0}, {3855, 819, 80, 0, 0, 0, 0}, {8, 32, 5888, 1092, 0, 0, 0}, {90, 869, 21845, 0, 0, 0, 0}, {170, 3174, 13158, 21760, 0, 0, 0}, {8, 32, 791, 80, 1040, 4112, 0}, {8, 32, 4864, 1088, 0, 0, 0}, {90, 819, 21845, 0, 0, 0, 0}, {170, 3178, 13056, 21760, 0, 0, 0}, {8, 32, 787, 80, 1044, 4096, 0}, {160, 3180, 13164, 21356, 0, 0, 0}, {8, 34, 789, 82, 1042, 4359, 0}, {8, 34, 4420, 5376, 0, 0, 0}, {831, 12336, 80, 0, 0, 0, 0}, {112, 768, 16384, 0, 0, 0, 0}, {10, 34, 1542, 4369, 0, 0, 0}, {10, 34, 768, 80, 1280, 4352, 0}, {128, 3084, 13107, 16448, 0, 0, 0}, {780, 884, 17476, 0, 0, 0, 0}, {10, 32, 1536, 5461, 0, 0, 0}, {10, 32, 774, 80, 1280, 4112, 0}, {136, 3072, 13175, 17408, 0, 0, 0}, {120, 768, 17408, 0, 0, 0, 0}, {10, 32, 4883, 5397, 0, 0, 0}, {10, 32, 768, 80, 1280, 4096, 0}, {136, 3084, 13107, 17476, 0, 0, 0}, {780, 112, 16448, 0, 0, 0, 0}, {10, 34, 1536, 4437, 0, 0, 0}, {10, 34, 774, 80, 1280, 4372, 0}, {128, 3072, 13183, 16384, 0, 0, 0}, {128, 3072, 13056, 16384, 0, 0, 0}, {10, 34, 771, 80, 1285, 4369, 0}, {10, 34, 1536, 4352, 0, 0, 0}, {112, 771, 16448, 0, 0, 0, 0}, {136, 3084, 13124, 17476, 0, 0, 0}, {10, 32, 773, 80, 1285, 4096, 0}, {10, 32, 1542, 5440, 0, 0, 0}, {783, 887, 17408, 0, 0, 0, 0}, {136, 3072, 13056, 17408, 0, 0, 0}, {10, 32, 771, 80, 1285, 4112, 0}, {10, 32, 4864, 5376, 0, 0, 0}, {120, 771, 17476, 0, 0, 0, 0}, {128, 3084, 13132, 16448, 0, 0, 0}, {10, 34, 773, 80, 1285, 4357, 0}, {10, 34, 1542, 4420, 0, 0, 0}, {783, 112, 16384, 0, 0, 0, 0}, {3840, 816, 80, 0, 0, 0, 0}, {8, 34, 1092, 4369, 0, 0, 0}, {8, 34, 786, 82, 1042, 4352, 0}, {160, 3180, 13107, 21299, 0, 0, 0}, {8, 32, 788, 80, 1044, 4096, 0}, {170, 3178, 13141, 21845, 0, 0, 0}, {90, 870, 21760, 0, 0, 0, 0}, {8, 32, 5911, 1088, 0, 0, 0}, {8, 32, 784, 80, 1040, 4112, 0}, {170, 3174, 13107, 21845, 0, 0, 0}, {90, 816, 21760, 0, 0, 0, 0}, {8, 32, 4883, 1092, 0, 0, 0}, {828, 12288, 80, 0, 0, 0, 0}, {8, 34, 4437, 5397, 0, 0, 0}, {8, 34, 790, 82, 1046, 4374, 0}, {160, 3168, 13151, 21311, 0, 0, 0}, {160, 3072, 13056, 21248, 0, 0, 0}, {8, 34, 771, 82, 1028, 4369, 0}, {8, 34, 1024, 4352, 0, 0, 0}, {771, 80, 0, 0, 0, 0, 0}, {8, 32, 4932, 1028, 0, 0, 0}, {90, 853, 21845, 0, 0, 0, 0}, {170, 3084, 13158, 21760, 0, 0, 0}, {8, 32, 775, 80, 1024, 4096, 0}, {8, 32, 4864, 1024, 0, 0, 0}, {90, 771, 21845, 0, 0, 0, 0}, {170, 3072, 13056, 21760, 0, 0, 0}, {8, 32, 771, 80, 1028, 4112, 0}, {160, 3084, 13164, 21260, 0, 0, 0}, {8, 34, 775, 82, 1024, 4359, 0}, {8, 34, 4420, 1028, 0, 0, 0}, {783, 12288, 80, 0, 0, 0, 0}, {112, 832, 16448, 0, 0, 0, 0}, {10, 34, 1604, 4369, 0, 0, 0}, {10, 34, 786, 80, 1280, 4352, 0}, {128, 3148, 13107, 16384, 0, 0, 0}, {120, 836, 17476, 0, 0, 0, 0}, {10, 32, 4949, 5397, 0, 0, 0}, {10, 32, 790, 80, 1280, 4096, 0}, {136, 3144, 13175, 17408, 0, 0, 0}, {840, 816, 17408, 0, 0, 0, 0}, {10, 32, 4883, 5461, 0, 0, 0}, {10, 32, 784, 80, 1280, 4112, 0}, {136, 3140, 13107, 17476, 0, 0, 0}, {844, 112, 16384, 0, 0, 0, 0}, {10, 34, 5911, 4437, 0, 0, 0}, {10, 34, 788, 80, 1280, 4372, 0}, {128, 3136, 13183, 16448, 0, 0, 0}, {3264, 13056, 0, 0, 0, 0, 0}, {2, 1285, 273, 0, 0, 0, 0}, {2, 1088, 4352, 0, 0, 0, 0}, {3855, 819, 0, 0, 0, 0, 0}, {8, 14080, 1092, 0, 0, 0, 0}, {10, 821, 80, 1285, 0, 0, 0}, {10, 1638, 21760, 0, 0, 0, 0}, {8, 1072, 1799, 1088, 0, 0, 0}, {8, 13056, 1088, 0, 0, 0, 0}, {10, 819, 80, 1285, 0, 0, 0}, {10, 1632, 21760, 0, 0, 0, 0}, {8, 1076, 1799, 1092, 0, 0, 0}, {13260, 16128, 0, 0, 0, 0, 0}, {2, 277, 4112, 0, 0, 0, 0}, {2, 4420, 5376, 0, 0, 0, 0}, {831, 12336, 0, 0, 0, 0, 0}, {32, 768, 80, 4096, 0, 0, 0}, {3084, 34, 4369, 0, 0, 0, 0}, {90, 34, 768, 4352, 0, 0, 0}, {32, 4883, 16448, 0, 0, 0, 0}, {780, 804, 80, 5140, 0, 0, 0}, {42, 9728, 5461, 0, 0, 0, 0}, {5402, 5424, 5654, 5440, 0, 0, 0}, {5983, 6007, 17408, 0, 0, 0, 0}, {40, 768, 80, 5120, 0, 0, 0}, {42, 13107, 5397, 0, 0, 0, 0}, {90, 112, 768, 5376, 0, 0, 0}, {40, 5911, 17476, 0, 0, 0, 0}, {780, 32, 80, 4112, 0, 0, 0}, {3072, 34, 4437, 0, 0, 0, 0}, {4382, 34, 4626, 4420, 0, 0, 0}, {4959, 32, 16384, 0, 0, 0, 0}, {32, 4864, 16448, 0, 0, 0, 0}, {90, 34, 785, 4369, 0, 0, 0}, {3144, 34, 4352, 0, 0, 0, 0}, {32, 787, 80, 4096, 0, 0, 0}, {40, 5888, 17476, 0, 0, 0, 0}, {90, 112, 789, 5397, 0, 0, 0}, {42, 13158, 5376, 0, 0, 0, 0}, {40, 791, 80, 5120, 0, 0, 0}, {5960, 5984, 17408, 0, 0, 0, 0}, {5391, 5413, 5654, 5461, 0, 0, 0}, {42, 13056, 5440, 0, 0, 0, 0}, {795, 819, 80, 5140, 0, 0, 0}, {4940, 32, 16384, 0, 0, 0, 0}, {4367, 34, 4626, 4437, 0, 0, 0}, {7424, 34, 4420, 0, 0, 0, 0}, {799, 32, 80, 4112, 0, 0, 0}, {240, 768, 0, 0, 0, 0, 0}, {2, 1028, 4369, 0, 0, 0, 0}, {2, 80, 256, 0, 0, 0, 0}, {3084, 13107, 0, 0, 0, 0, 0}, {8, 112, 772, 1028, 0, 0, 0}, {10, 1536, 21845, 0, 0, 0, 0}, {10, 774, 80, 1280, 0, 0, 0}, {8, 13175, 1024, 0, 0, 0, 0}, {8, 112, 768, 1024, 0, 0, 0}, {10, 1542, 21845, 0, 0, 0, 0}, {10, 768, 80, 1280, 0, 0, 0}, {8, 13107, 1028, 0, 0, 0, 0}, {780, 12336, 0, 0, 0, 0, 0}, {2, 4437, 1024, 0, 0, 0, 0}, {2, 260, 4112, 0, 0, 0, 0}, {13311, 3072, 0, 0, 0, 0, 0}, {12288, 1024, 0, 0, 0, 0, 0}, {10, 85, 257, 0, 0, 0, 0}, {10, 4128, 514, 1026, 0, 0, 0}, {1036, 771, 17459, 0, 0, 0, 0}, {12480, 1028, 0, 0, 0, 0, 0}, {512, 261, 4352, 0, 0, 0, 0}, {10, 4192, 512, 1030, 0, 0, 0}, {1032, 1799, 17527, 0, 0, 0, 0}, {1032, 12288, 0, 0, 0, 0, 0}, {259, 85, 1285, 0, 0, 0, 0}, {10, 512, 1024, 4096, 0, 0, 0}, {255, 771, 1028, 0, 0, 0, 0}, {1036, 28672, 0, 0, 0, 0, 0}, {263, 85, 1285, 0, 0, 0, 0}, {10, 514, 4160, 1028, 0, 0, 0}, {783, 13056, 1024, 0, 0, 0, 0}, {2080, 1088, 4112, 0, 0, 0, 0}, {819, 85, 1041, 4369, 0, 0, 0}, {1096, 4626, 17442, 0, 0, 0, 0}, {95, 4128, 4883, 1043, 0, 0, 0}, {8192, 4176, 5140, 0, 0, 0, 0}, {831, 85, 1045, 4352, 0, 0, 0}, {1100, 5654, 17510, 0, 0, 0, 0}, {95, 4192, 4864, 1047, 0, 0, 0}, {1096, 4144, 20560, 0, 0, 0, 0}, {1049, 4403, 4608, 85, 0, 0, 0}, {6682, 4656, 1088, 0, 0, 0, 0}, {1051, 819, 1092, 4096, 0, 0, 0}, {1100, 4208, 20560, 0, 0, 0, 0}, {1053, 4386, 5632, 85, 0, 0, 0}, {5692, 8738, 1092, 0, 0, 0, 0}, {4127, 4896, 4160, 5120, 0, 0, 0}, {4128, 5120, 0, 0, 0, 0, 0}, {1070, 771, 85, 4369, 0, 0, 0}, {1058, 5632, 16384, 0, 0, 0, 0}, {95, 1139, 771, 4112, 0, 0, 0}, {3084, 1060, 5188, 0, 0, 0, 0}, {783, 1829, 85, 4352, 0, 0, 0}, {5708, 1062, 16448, 0, 0, 0, 0}, {4111, 5159, 4864, 4176, 0, 0, 0}, {1064, 4096, 0, 0, 0, 0, 0}, {4403, 771, 85, 5397, 0, 0, 0}, {1066, 4608, 17408, 0, 0, 0, 0}, {95, 4144, 771, 5140, 0, 0, 0}, {1068, 8224, 4160, 0, 0, 0, 0}, {783, 4386, 85, 5376, 0, 0, 0}, {4680, 5734, 17476, 0, 0, 0, 0}, {5135, 1056, 5888, 5200, 0, 0, 0}, {1216, 2048, 12336, 17408, 0, 0, 0}, {10, 305, 514, 85, 1280, 4369, 0}, {10, 1122, 514, 4112, 0, 0, 0}, {1075, 1792, 16384, 0, 0, 0, 0}, {1220, 2056, 13364, 17476, 0, 0, 0}, {10, 309, 512, 85, 1280, 4352, 0}, {10, 5174, 512, 4176, 0, 0, 0}, {1800, 1079, 16448, 0, 0, 0, 0}, {1224, 2056, 12336, 16448, 0, 0, 0}, {10, 307, 512, 85, 1280, 4096, 0}, {10, 4144, 512, 5200, 0, 0, 0}, {1800, 819, 17476, 0, 0, 0, 0}, {1228, 2048, 13372, 16384, 0, 0, 0}, {10, 311, 514, 85, 1280, 4117, 0}, {10, 4208, 514, 5140, 0, 0, 0}, {1087, 1792, 17408, 0, 0, 0, 0}, {15360, 1088, 0, 0, 0, 0, 0}, {546, 276, 4369, 0, 0, 0, 0}, {10, 5154, 5632, 1090, 0, 0, 0}, {1100, 1904, 17219, 0, 0, 0, 0}, {12288, 1092, 0, 0, 0, 0, 0}, {10, 1285, 272, 0, 0, 0, 0}, {10, 4128, 4608, 1094, 0, 0, 0}, {1096, 816, 18247, 0, 0, 0, 0}, {1096, 28672, 0, 0, 0, 0, 0}, {278, 85, 1285, 0, 0, 0, 0}, {10, 544, 4160, 5120, 0, 0, 0}, {828, 13107, 1092, 0, 0, 0, 0}, {1100, 12288, 0, 0, 0, 0, 0}, {274, 85, 1285, 0, 0, 0, 0}, {10, 546, 1092, 4096, 0, 0, 0}, {3855, 816, 1088, 0, 0, 0, 0}, {8192, 4176, 1024, 0, 0, 0, 0}, {780, 85, 1028, 4369, 0, 0, 0}, {1032, 5744, 21074, 0, 0, 0, 0}, {1036, 5171, 1792, 1107, 0, 0, 0}, {160, 1028, 4112, 0, 0, 0, 0}, {768, 85, 1024, 4352, 0, 0, 0}, {1036, 4656, 22102, 0, 0, 0, 0}, {1032, 4128, 768, 1111, 0, 0, 0}, {1032, 4208, 20560, 0, 0, 0, 0}, {1036, 4403, 1792, 85, 0, 0, 0}, {4698, 8704, 1024, 0, 0, 0, 0}, {4127, 4883, 4160, 1028, 0, 0, 0}, {1036, 4144, 20560, 0, 0, 0, 0}, {1032, 4386, 768, 85, 0, 0, 0}, {170, 4626, 1028, 0, 0, 0, 0}, {95, 768, 1024, 4096, 0, 0, 0}, {4192, 5120, 0, 0, 0, 0, 0}, {1083, 1799, 85, 4369, 0, 0, 0}, {4680, 1122, 16448, 0, 0, 0, 0}, {4111, 1075, 5888, 4176, 0, 0, 0}, {2056, 4128, 5188, 0, 0, 0, 0}, {1807, 816, 85, 4352, 0, 0, 0}, {1126, 4608, 16384, 0, 0, 0, 0}, {95, 1079, 1799, 4112, 0, 0, 0}, {5160, 8224, 4160, 0, 0, 0, 0}, {4623, 4403, 85, 5376, 0, 0, 0}, {1130, 5632, 17408, 0, 0, 0, 0}, {95, 4208, 4883, 5140, 0, 0, 0}, {1132, 4096, 0, 0, 0, 0, 0}, {4386, 4626, 85, 5397, 0, 0, 0}, {5708, 4642, 17476, 0, 0, 0, 0}, {5135, 4144, 4864, 5200, 0, 0, 0}, {1152, 3072, 13424, 17408, 0, 0, 0}, {10, 292, 774, 85, 1280, 4369, 0}, {10, 1058, 1536, 4176, 0, 0, 0}, {780, 1139, 16448, 0, 0, 0, 0}, {1156, 3084, 12336, 17476, 0, 0, 0}, {10, 288, 768, 85, 1280, 4352, 0}, {10, 1062, 1542, 4112, 0, 0, 0}, {1143, 768, 16384, 0, 0, 0, 0}, {1160, 3072, 13432, 16384, 0, 0, 0}, {10, 294, 774, 85, 1280, 4117, 0}, {10, 1056, 1536, 5200, 0, 0, 0}, {780, 1911, 17476, 0, 0, 0, 0}, {1164, 3084, 12336, 16448, 0, 0, 0}, {10, 290, 768, 85, 1280, 4096, 0}, {10, 4144, 4626, 5140, 0, 0, 0}, {1151, 768, 17408, 0, 0, 0, 0}, {1152, 3072, 12288, 17408, 0, 0, 0}, {10, 289, 771, 85, 1285, 4369, 0}, {10, 1058, 1536, 4096, 0, 0, 0}, {1139, 771, 16448, 0, 0, 0, 0}, {1156, 3084, 13380, 17476, 0, 0, 0}, {10, 293, 773, 85, 1285, 4352, 0}, {10, 1062, 1542, 4160, 0, 0, 0}, {783, 1143, 16384, 0, 0, 0, 0}, {1160, 3072, 12288, 16384, 0, 0, 0}, {10, 291, 771, 85, 1285, 4112, 0}, {10, 4128, 4608, 5120, 0, 0, 0}, {1147, 771, 17476, 0, 0, 0, 0}, {1164, 3084, 13388, 16448, 0, 0, 0}, {10, 295, 773, 85, 1285, 4101, 0}, {10, 1060, 1542, 5188, 0, 0, 0}, {783, 1904, 17408, 0, 0, 0, 0}, {2048, 4144, 5200, 0, 0, 0, 0}, {1800, 819, 85, 4369, 0, 0, 0}, {1122, 4626, 16448, 0, 0, 0, 0}, {95, 1075, 1792, 4096, 0, 0, 0}, {4208, 5140, 0, 0, 0, 0, 0}, {1087, 1792, 85, 4352, 0, 0, 0}, {4698, 1126, 16384, 0, 0, 0, 0}, {4127, 1079, 5911, 4160, 0, 0, 0}, {1128, 4112, 0, 0, 0, 0, 0}, {4403, 4608, 85, 5376, 0, 0, 0}, {5722, 4656, 17408, 0, 0, 0, 0}, {5147, 4128, 4883, 5188, 0, 0, 0}, {5180, 8192, 4176, 0, 0, 0, 0}, {4637, 4386, 85, 5397, 0, 0, 0}, {1134, 5654, 17476, 0, 0, 0, 0}, {95, 4192, 4864, 5120, 0, 0, 0}, {160, 1024, 4096, 0, 0, 0, 0}, {771, 85, 1028, 4369, 0, 0, 0}, {1032, 4642, 22016, 0, 0, 0, 0}, {1036, 4144, 771, 1107, 0, 0, 0}, {8224, 4160, 1028, 0, 0, 0, 0}, {783, 85, 1024, 4352, 0, 0, 0}, {1036, 5734, 20992, 0, 0, 0, 0}, {1032, 5159, 1799, 1111, 0, 0, 0}, {1032, 4128, 20480, 0, 0, 0, 0}, {1036, 4403, 771, 85, 0, 0, 0}, {170, 4608, 1024, 0, 0, 0, 0}, {95, 771, 1028, 4112, 0, 0, 0}, {1036, 4192, 20480, 0, 0, 0, 0}, {1032, 4386, 1799, 85, 0, 0, 0}, {4680, 8738, 1028, 0, 0, 0, 0}, {4111, 4864, 4176, 1024, 0, 0, 0}, {12336, 1088, 0, 0, 0, 0, 0}, {10, 1280, 273, 0, 0, 0, 0}, {10, 4144, 4626, 1090, 0, 0, 0}, {1100, 819, 18176, 0, 0, 0, 0}, {15420, 1092, 0, 0, 0, 0, 0}, {544, 277, 4352, 0, 0, 0, 0}, {10, 5174, 5654, 1094, 0, 0, 0}, {1096, 1911, 17152, 0, 0, 0, 0}, {1096, 12336, 0, 0, 0, 0, 0}, {275, 85, 1280, 0, 0, 0, 0}, {10, 544, 1088, 4112, 0, 0, 0}, {3840, 819, 1092, 0, 0, 0, 0}, {1100, 28784, 0, 0, 0, 0, 0}, {279, 85, 1280, 0, 0, 0, 0}, {10, 546, 4176, 5140, 0, 0, 0}, {831, 13056, 1088, 0, 0, 0, 0}, {1216, 2048, 13312, 17408, 0, 0, 0}, {10, 308, 514, 85, 1285, 4369, 0}, {10, 5154, 514, 4160, 0, 0, 0}, {1807, 1075, 16384, 0, 0, 0, 0}, {1220, 2056, 12288, 17476, 0, 0, 0}, {10, 304, 512, 85, 1285, 4352, 0}, {10, 1126, 512, 4096, 0, 0, 0}, {1079, 1799, 16448, 0, 0, 0, 0}, {1224, 2056, 13320, 16448, 0, 0, 0}, {10, 310, 512, 85, 1285, 4101, 0}, {10, 4192, 512, 5120, 0, 0, 0}, {1083, 1799, 17476, 0, 0, 0, 0}, {1228, 2048, 12288, 16384, 0, 0, 0}, {10, 306, 514, 85, 1285, 4112, 0}, {10, 4128, 514, 5188, 0, 0, 0}, {1807, 816, 17408, 0, 0, 0, 0}, {3072, 1056, 5200, 0, 0, 0, 0}, {780, 1826, 85, 4369, 0, 0, 0}, {5722, 1058, 16384, 0, 0, 0, 0}, {4127, 5171, 4883, 4160, 0, 0, 0}, {4144, 5140, 0, 0, 0, 0, 0}, {1066, 768, 85, 4352, 0, 0, 0}, {1062, 5654, 16448, 0, 0, 0, 0}, {95, 1143, 768, 4096, 0, 0, 0}, {1064, 8192, 4176, 0, 0, 0, 0}, {780, 4403, 85, 5397, 0, 0, 0}, {4698, 5744, 17408, 0, 0, 0, 0}, {5147, 1060, 5911, 5188, 0, 0, 0}, {1068, 4112, 0, 0, 0, 0, 0}, {4386, 768, 85, 5376, 0, 0, 0}, {1070, 4626, 17476, 0, 0, 0, 0}, {95, 4128, 768, 5120, 0, 0, 0}, {8224, 4160, 5120, 0, 0, 0, 0}, {828, 85, 1041, 4369, 0, 0, 0}, {1096, 5632, 17442, 0, 0, 0, 0}, {95, 4208, 4883, 1043, 0, 0, 0}, {2088, 1092, 4096, 0, 0, 0, 0}, {816, 85, 1045, 4352, 0, 0, 0}, {1100, 4608, 17510, 0, 0, 0, 0}, {95, 4144, 4864, 1047, 0, 0, 0}, {1096, 4192, 20480, 0, 0, 0, 0}, {1049, 4403, 5654, 85, 0, 0, 0}, {5674, 8704, 1088, 0, 0, 0, 0}, {4111, 4915, 4176, 5140, 0, 0, 0}, {1100, 4128, 20480, 0, 0, 0, 0}, {1053, 4386, 4626, 85, 0, 0, 0}, {6656, 4642, 1092, 0, 0, 0, 0}, {1055, 816, 1088, 4112, 0, 0, 0}, {12528, 1024, 0, 0, 0, 0, 0}, {514, 260, 4369, 0, 0, 0, 0}, {10, 4208, 514, 1026, 0, 0, 0}, {1036, 1792, 17459, 0, 0, 0, 0}, {12336, 1028, 0, 0, 0, 0, 0}, {10, 85, 256, 0, 0, 0, 0}, {10, 4144, 512, 1030, 0, 0, 0}, {1032, 768, 17527, 0, 0, 0, 0}, {1032, 28784, 0, 0, 0, 0, 0}, {262, 85, 1280, 0, 0, 0, 0}, {10, 512, 4176, 1024, 0, 0, 0}, {780, 13107, 1028, 0, 0, 0, 0}, {1036, 12336, 0, 0, 0, 0, 0}, {258, 85, 1280, 0, 0, 0, 0}, {10, 514, 1028, 4112, 0, 0, 0}, {255, 768, 1024, 0, 0, 0, 0}, {2560, 21760, 0, 0, 0, 0, 0}, {48, 4, 257, 0, 0, 0, 0}, {8, 514, 21794, 0, 0, 0, 0}, {12, 48, 771, 1283, 0, 0, 0}, {512, 4, 4352, 0, 0, 0, 0}, {240, 1285, 0, 0, 0, 0, 0}, {12, 1542, 21862, 0, 0, 0, 0}, {8, 112, 512, 1287, 0, 0, 0}, {8, 512, 21760, 0, 0, 0, 0}, {12, 48, 771, 1285, 0, 0, 0}, {21930, 2570, 0, 0, 0, 0, 0}, {259, 4, 4096, 0, 0, 0, 0}, {12, 1536, 21760, 0, 0, 0, 0}, {8, 112, 514, 1285, 0, 0, 0}, {4386, 514, 4, 0, 0, 0, 0}, {1295, 20480, 0, 0, 0, 0, 0}, {48, 64, 1296, 4112, 0, 0, 0}, {2594, 68, 4369, 0, 0, 0, 0}, {72, 48, 4626, 1298, 0, 0, 0}, {76, 4883, 21811, 0, 0, 0, 0}, {60, 68, 1300, 4352, 0, 0, 0}, {8192, 64, 5397, 0, 0, 0, 0}, {76, 112, 4864, 1302, 0, 0, 0}, {72, 5911, 21879, 0, 0, 0, 0}, {1304, 48, 4608, 1360, 0, 0, 0}, {76, 4915, 21845, 0, 0, 0, 0}, {1306, 48, 64, 4096, 0, 0, 0}, {6939, 4403, 68, 0, 0, 0, 0}, {1308, 1312, 5632, 1360, 0, 0, 0}, {72, 6007, 21845, 0, 0, 0, 0}, {4382, 4386, 68, 5120, 0, 0, 0}, {5439, 8224, 64, 0, 0, 0, 0}, {128, 2592, 8224, 21760, 0, 0, 0}, {12, 48, 771, 68, 1297, 4369, 0}, {136, 2594, 8738, 21794, 0, 0, 0}, {12, 48, 771, 64, 1299, 4112, 0}, {12, 1572, 68, 4352, 0, 0, 0}, {3855, 1317, 1365, 0, 0, 0, 0}, {12, 5414, 4864, 64, 0, 0, 0}, {1375, 1319, 20560, 0, 0, 0, 0}, {136, 2600, 8704, 21760, 0, 0, 0}, {12, 48, 771, 64, 1301, 4096, 0}, {128, 2602, 8192, 21802, 0, 0, 0}, {12, 48, 771, 68, 1303, 4355, 0}, {12, 4896, 64, 5376, 0, 0, 0}, {1325, 8738, 1365, 0, 0, 0, 0}, {12, 4386, 5888, 68, 0, 0, 0}, {1375, 112, 20560, 0, 0, 0, 0}, {48, 1280, 0, 0, 0, 0, 0}, {8, 514, 68, 4369, 0, 0, 0}, {8, 48, 514, 64, 1282, 4112, 0}, {204, 2560, 13107, 21811, 0, 0, 0}, {8, 52, 512, 68, 1280, 4352, 0}, {192, 2570, 13621, 21845, 0, 0, 0}, {1290, 1334, 20560, 0, 0, 0, 0}, {8, 5431, 512, 64, 0, 0, 0}, {8, 48, 512, 64, 1280, 4096, 0}, {204, 2570, 13107, 21845, 0, 0, 0}, {1290, 48, 20560, 0, 0, 0, 0}, {8, 4403, 512, 68, 0, 0, 0}, {60, 13056, 1280, 0, 0, 0, 0}, {8, 514, 64, 5397, 0, 0, 0}, {8, 52, 514, 68, 1282, 4374, 0}, {192, 2560, 13631, 21823, 0, 0, 0}, {8192, 64, 5376, 0, 0, 0, 0}, {60, 68, 1285, 4369, 0, 0, 0}, {72, 5984, 16962, 0, 0, 0, 0}, {1295, 1331, 5632, 1347, 0, 0, 0}, {2560, 68, 4352, 0, 0, 0, 0}, {48, 64, 1285, 4112, 0, 0, 0}, {76, 4896, 17990, 0, 0, 0, 0}, {1295, 48, 4608, 1351, 0, 0, 0}, {72, 5888, 21760, 0, 0, 0, 0}, {76, 112, 4883, 1285, 0, 0, 0}, {5418, 8224, 64, 0, 0, 0, 0}, {4367, 4403, 68, 5120, 0, 0, 0}, {76, 4864, 21760, 0, 0, 0, 0}, {72, 48, 4626, 1285, 0, 0, 0}, {2570, 4386, 68, 0, 0, 0, 0}, {1295, 48, 64, 4096, 0, 0, 0}, {3840, 1360, 0, 0, 0, 0, 0}, {546, 4, 4369, 0, 0, 0, 0}, {8, 1314, 1792, 1362, 0, 0, 0}, {12, 1632, 21331, 0, 0, 0, 0}, {768, 4, 272, 0, 0, 0, 0}, {2730, 21845, 0, 0, 0, 0, 0}, {12, 48, 768, 1366, 0, 0, 0}, {8, 544, 22359, 0, 0, 0, 0}, {8, 1312, 1792, 1360, 0, 0, 0}, {12, 1638, 21845, 0, 0, 0, 0}, {1370, 20480, 0, 0, 0, 0, 0}, {4403, 4883, 4, 0, 0, 0, 0}, {12, 48, 768, 1360, 0, 0, 0}, {8, 546, 21845, 0, 0, 0, 0}, {274, 4, 4096, 0, 0, 0, 0}, {22015, 24415, 0, 0, 0, 0, 0}, {192, 2656, 13664, 21760, 0, 0, 0}, {8, 52, 534, 68, 1297, 4369, 0}, {8, 5410, 5888, 64, 0, 0, 0}, {1375, 1379, 20560, 0, 0, 0, 0}, {8, 544, 68, 4352, 0, 0, 0}, {3855, 48, 1365, 0, 0, 0, 0}, {204, 2662, 13056, 21862, 0, 0, 0}, {8, 48, 528, 64, 1303, 4112, 0}, {8, 544, 64, 5376, 0, 0, 0}, {60, 13107, 1365, 0, 0, 0, 0}, {192, 2666, 13674, 21866, 0, 0, 0}, {8, 52, 532, 68, 1299, 4359, 0}, {204, 2668, 13056, 21760, 0, 0, 0}, {8, 48, 530, 64, 1301, 4096, 0}, {8, 4386, 4864, 68, 0, 0, 0}, {1375, 48, 20560, 0, 0, 0, 0}, {112, 1280, 0, 0, 0, 0, 0}, {12, 1542, 68, 4369, 0, 0, 0}, {1290, 1394, 20560, 0, 0, 0, 0}, {12, 5427, 1536, 64, 0, 0, 0}, {12, 48, 768, 68, 1280, 4352, 0}, {128, 2570, 8224, 21845, 0, 0, 0}, {12, 48, 768, 64, 1286, 4112, 0}, {136, 2560, 8704, 21879, 0, 0, 0}, {120, 8704, 1280, 0, 0, 0, 0}, {12, 4883, 64, 5397, 0, 0, 0}, {1290, 112, 20560, 0, 0, 0, 0}, {12, 4403, 1536, 68, 0, 0, 0}, {12, 48, 768, 64, 1280, 4096, 0}, {136, 2570, 8738, 21845, 0, 0, 0}, {12, 48, 768, 68, 1286, 4370, 0}, {128, 2560, 8192, 21887, 0, 0, 0}, {128, 2560, 8192, 21760, 0, 0, 0}, {12, 48, 771, 68, 1285, 4369, 0}, {136, 2570, 8738, 21794, 0, 0, 0}, {12, 48, 771, 64, 1283, 4096, 0}, {12, 1536, 68, 4352, 0, 0, 0}, {112, 1285, 0, 0, 0, 0, 0}, {12, 5414, 1542, 64, 0, 0, 0}, {1295, 1399, 20480, 0, 0, 0, 0}, {136, 2560, 8704, 21760, 0, 0, 0}, {12, 48, 771, 64, 1285, 4112, 0}, {128, 2570, 8224, 21802, 0, 0, 0}, {12, 48, 771, 68, 1283, 4355, 0}, {12, 4864, 64, 5376, 0, 0, 0}, {120, 8738, 1285, 0, 0, 0, 0}, {12, 4386, 1542, 68, 0, 0, 0}, {1295, 112, 20480, 0, 0, 0, 0}, {3840, 48, 1360, 0, 0, 0, 0}, {8, 546, 68, 4369, 0, 0, 0}, {8, 48, 530, 64, 1298, 4096, 0}, {204, 2668, 13107, 21811, 0, 0, 0}, {8, 52, 532, 68, 1300, 4352, 0}, {192, 2666, 13653, 21845, 0, 0, 0}, {1370, 1382, 20480, 0, 0, 0, 0}, {8, 5431, 5911, 64, 0, 0, 0}, {8, 48, 528, 64, 1296, 4112, 0}, {204, 2662, 13107, 21845, 0, 0, 0}, {1370, 48, 20480, 0, 0, 0, 0}, {8, 4403, 4883, 68, 0, 0, 0}, {60, 13056, 1360, 0, 0, 0, 0}, {8, 546, 64, 5397, 0, 0, 0}, {8, 52, 534, 68, 1302, 4374, 0}, {192, 2656, 13663, 21823, 0, 0, 0}, {2720, 21760, 0, 0, 0, 0, 0}, {771, 4, 273, 0, 0, 0, 0}, {8, 546, 22272, 0, 0, 0, 0}, {12, 48, 771, 1363, 0, 0, 0}, {544, 4, 4352, 0, 0, 0, 0}, {3855, 1365, 0, 0, 0, 0, 0}, {12, 1638, 21248, 0, 0, 0, 0}, {8, 1319, 1799, 1367, 0, 0, 0}, {8, 544, 21760, 0, 0, 0, 0}, {12, 48, 771, 1365, 0, 0, 0}, {21930, 24320, 0, 0, 0, 0, 0}, {275, 4, 4112, 0, 0, 0, 0}, {12, 1632, 21760, 0, 0, 0, 0}, {8, 1317, 1799, 1365, 0, 0, 0}, {4386, 4864, 4, 0, 0, 0, 0}, {1375, 20560, 0, 0, 0, 0, 0}, {48, 64, 1280, 4096, 0, 0, 0}, {2570, 68, 4369, 0, 0, 0, 0}, {1290, 48, 4626, 1346, 0, 0, 0}, {76, 4915, 17920, 0, 0, 0, 0}, {60, 68, 1280, 4352, 0, 0, 0}, {8224, 64, 5397, 0, 0, 0, 0}, {1290, 1334, 5654, 1350, 0, 0, 0}, {72, 6007, 16896, 0, 0, 0, 0}, {72, 48, 4608, 1280, 0, 0, 0}, {76, 4883, 21845, 0, 0, 0, 0}, {1290, 48, 64, 4112, 0, 0, 0}, {2560, 4403, 68, 0, 0, 0, 0}, {76, 112, 4864, 1280, 0, 0, 0}, {72, 5911, 21845, 0, 0, 0, 0}, {4382, 4386, 68, 5140, 0, 0, 0}, {5439, 8192, 64, 0, 0, 0, 0}, {192, 2560, 13568, 21760, 0, 0, 0}, {8, 52, 514, 68, 1285, 4369, 0}, {8, 5410, 514, 64, 0, 0, 0}, {1295, 1331, 20480, 0, 0, 0, 0}, {8, 512, 68, 4352, 0, 0, 0}, {48, 1285, 0, 0, 0, 0, 0}, {204, 2570, 13056, 21862, 0, 0, 0}, {8, 48, 512, 64, 1287, 4096, 0}, {8, 512, 64, 5376, 0, 0, 0}, {60, 13107, 1285, 0, 0, 0, 0}, {192, 2570, 13578, 21866, 0, 0, 0}, {8, 52, 512, 68, 1287, 4359, 0}, {204, 2560, 13056, 21760, 0, 0, 0}, {8, 48, 514, 64, 1285, 4112, 0}, {8, 4386, 514, 68, 0, 0, 0}, {1295, 48, 20480, 0, 0, 0, 0}, {3840, 1312, 1360, 0, 0, 0, 0}, {12, 1570, 68, 4369, 0, 0, 0}, {1370, 1314, 20480, 0, 0, 0, 0}, {12, 5427, 4883, 64, 0, 0, 0}, {12, 48, 768, 68, 1300, 4352, 0}, {128, 2602, 8192, 21845, 0, 0, 0}, {12, 48, 768, 64, 1302, 4096, 0}, {136, 2600, 8704, 21879, 0, 0, 0}, {1320, 8704, 1360, 0, 0, 0, 0}, {12, 4915, 64, 5397, 0, 0, 0}, {1370, 112, 20480, 0, 0, 0, 0}, {12, 4403, 5911, 68, 0, 0, 0}, {12, 48, 768, 64, 1296, 4112, 0}, {136, 2594, 8738, 21845, 0, 0, 0}, {12, 48, 768, 68, 1298, 4370, 0}, {128, 2592, 8224, 21887, 0, 0, 0}, {8224, 64, 5376, 0, 0, 0, 0}, {60, 68, 1297, 4369, 0, 0, 0}, {72, 5888, 21794, 0, 0, 0, 0}, {76, 112, 4883, 1299, 0, 0, 0}, {2600, 68, 4352, 0, 0, 0, 0}, {48, 64, 1301, 4096, 0, 0, 0}, {76, 4864, 21862, 0, 0, 0, 0}, {72, 48, 4608, 1303, 0, 0, 0}, {72, 5984, 21760, 0, 0, 0, 0}, {1305, 1317, 5654, 1365, 0, 0, 0}, {5418, 8192, 64, 0, 0, 0, 0}, {4367, 4403, 68, 5140, 0, 0, 0}, {76, 4896, 21760, 0, 0, 0, 0}, {1309, 48, 4626, 1365, 0, 0, 0}, {6912, 4386, 68, 0, 0, 0, 0}, {1311, 48, 64, 4112, 0, 0, 0}, {240, 1280, 0, 0, 0, 0, 0}, {514, 4, 4369, 0, 0, 0, 0}, {8, 112, 514, 1282, 0, 0, 0}, {12, 1536, 21811, 0, 0, 0, 0}, {48, 4, 256, 0, 0, 0, 0}, {2570, 21845, 0, 0, 0, 0, 0}, {12, 48, 768, 1286, 0, 0, 0}, {8, 512, 21879, 0, 0, 0, 0}, {8, 112, 512, 1280, 0, 0, 0}, {12, 1542, 21845, 0, 0, 0, 0}, {1290, 20560, 0, 0, 0, 0, 0}, {4403, 512, 4, 0, 0, 0, 0}, {12, 48, 768, 1280, 0, 0, 0}, {8, 514, 21845, 0, 0, 0, 0}, {258, 4, 4112, 0, 0, 0, 0}, {22015, 2560, 0, 0, 0, 0, 0}, {1536, 20480, 0, 0, 0, 0, 0}, {8, 119, 257, 0, 0, 0, 0}, {8, 4128, 514, 1024, 0, 0, 0}, {1295, 771, 21760, 0, 0, 0, 0}, {8, 512, 4160, 1028, 0, 0, 0}, {783, 13056, 1285, 0, 0, 0, 0}, {20640, 1542, 0, 0, 0, 0, 0}, {263, 1024, 4352, 0, 0, 0, 0}, {8, 512, 1024, 4096, 0, 0, 0}, {255, 771, 1285, 0, 0, 0, 0}, {1546, 12288, 0, 0, 0, 0, 0}, {259, 4420, 1028, 0, 0, 0, 0}, {1548, 20480, 0, 0, 0, 0, 0}, {4386, 514, 261, 0, 0, 0, 0}, {8, 4192, 514, 1028, 0, 0, 0}, {1295, 1536, 21760, 0, 0, 0, 0}, {3136, 1632, 4112, 0, 0, 0, 0}, {1314, 1553, 1365, 4369, 0, 0, 0}, {5240, 4626, 17408, 0, 0, 0, 0}, {4191, 4128, 4883, 5376, 0, 0, 0}, {4728, 8704, 5140, 0, 0, 0, 0}, {4159, 4864, 4160, 5397, 0, 0, 0}, {4208, 5654, 16384, 0, 0, 0, 0}, {1375, 119, 1559, 4352, 0, 0, 0}, {6168, 4656, 5200, 0, 0, 0, 0}, {1561, 819, 1365, 4096, 0, 0, 0}, {5722, 4144, 16448, 0, 0, 0, 0}, {5147, 4403, 4608, 4420, 0, 0, 0}, {5692, 8224, 4176, 0, 0, 0, 0}, {4637, 4386, 4437, 5120, 0, 0, 0}, {4698, 1638, 17476, 0, 0, 0, 0}, {4127, 1312, 5632, 5440, 0, 0, 0}, {4128, 5632, 16384, 0, 0, 0, 0}, {1370, 119, 771, 4369, 0, 0, 0}, {4642, 5120, 0, 0, 0, 0, 0}, {1327, 771, 1360, 4112, 0, 0, 0}, {4680, 1572, 17476, 0, 0, 0, 0}, {4111, 1317, 4864, 5461, 0, 0, 0}, {3084, 1574, 4160, 0, 0, 0, 0}, {783, 1319, 1360, 4352, 0, 0, 0}, {5160, 4608, 17408, 0, 0, 0, 0}, {4175, 4144, 771, 5397, 0, 0, 0}, {1578, 4096, 0, 0, 0, 0, 0}, {4403, 771, 4420, 5140, 0, 0, 0}, {5708, 4192, 16448, 0, 0, 0, 0}, {5135, 4386, 5888, 4437, 0, 0, 0}, {1582, 8738, 5188, 0, 0, 0, 0}, {783, 4896, 4176, 5376, 0, 0, 0}, {1728, 2560, 12336, 22064, 0, 0, 0}, {8, 305, 514, 326, 1282, 4369, 0}, {8, 514, 1088, 4112, 0, 0, 0}, {819, 1280, 0, 0, 0, 0, 0}, {8, 5172, 512, 1092, 0, 0, 0}, {1290, 1589, 21845, 0, 0, 0, 0}, {1734, 2570, 13878, 20560, 0, 0, 0}, {8, 311, 512, 320, 1280, 4352, 0}, {8, 4144, 512, 1088, 0, 0, 0}, {1290, 819, 21845, 0, 0, 0, 0}, {1738, 2570, 12336, 20560, 0, 0, 0}, {8, 307, 512, 324, 1280, 4096, 0}, {1740, 2560, 13884, 22076, 0, 0, 0}, {8, 309, 514, 322, 1282, 4119, 0}, {8, 514, 4176, 5140, 0, 0, 0}, {831, 13056, 1280, 0, 0, 0, 0}, {5632, 4160, 0, 0, 0, 0, 0}, {843, 119, 1285, 4369, 0, 0, 0}, {5160, 1602, 17408, 0, 0, 0, 0}, {4111, 4208, 835, 5376, 0, 0, 0}, {4608, 5188, 0, 0, 0, 0, 0}, {847, 816, 1285, 4112, 0, 0, 0}, {4128, 1606, 16384, 0, 0, 0, 0}, {1295, 119, 839, 4352, 0, 0, 0}, {4680, 8704, 5120, 0, 0, 0, 0}, {4143, 4883, 4176, 1285, 0, 0, 0}, {1610, 4192, 16448, 0, 0, 0, 0}, {1295, 4403, 5888, 4420, 0, 0, 0}, {1612, 4096, 0, 0, 0, 0, 0}, {4386, 4626, 4437, 1285, 0, 0, 0}, {1614, 4642, 17476, 0, 0, 0, 0}, {1295, 4144, 4864, 5440, 0, 0, 0}, {1696, 3072, 13904, 20560, 0, 0, 0}, {8, 294, 772, 337, 1028, 4369, 0}, {8, 4208, 4690, 1024, 0, 0, 0}, {1375, 1619, 21760, 0, 0, 0, 0}, {8, 544, 1028, 4112, 0, 0, 0}, {768, 1365, 0, 0, 0, 0, 0}, {1702, 3084, 12336, 22102, 0, 0, 0}, {8, 288, 768, 343, 1024, 4352, 0}, {8, 544, 4176, 1024, 0, 0, 0}, {780, 13107, 1365, 0, 0, 0, 0}, {1706, 3072, 13914, 22106, 0, 0, 0}, {8, 292, 772, 339, 1028, 4119, 0}, {1708, 3084, 12336, 20560, 0, 0, 0}, {8, 290, 768, 341, 1024, 4096, 0}, {8, 4144, 4626, 1028, 0, 0, 0}, {1375, 768, 21760, 0, 0, 0, 0}, {23040, 1632, 0, 0, 0, 0, 0}, {278, 1092, 4369, 0, 0, 0, 0}, {8, 546, 4160, 5120, 0, 0, 0}, {828, 13107, 1360, 0, 0, 0, 0}, {8, 4128, 4608, 1092, 0, 0, 0}, {1370, 816, 21845, 0, 0, 0, 0}, {1638, 20480, 0, 0, 0, 0, 0}, {8, 1799, 272, 0, 0, 0, 0}, {8, 5152, 5632, 1088, 0, 0, 0}, {1370, 1638, 21845, 0, 0, 0, 0}, {1642, 20480, 0, 0, 0, 0, 0}, {4403, 4883, 276, 0, 0, 0, 0}, {1644, 12288, 0, 0, 0, 0, 0}, {274, 4437, 5397, 0, 0, 0, 0}, {8, 546, 1092, 4096, 0, 0, 0}, {3855, 816, 1360, 0, 0, 0, 0}, {4208, 1536, 16384, 0, 0, 0, 0}, {1290, 119, 1542, 4369, 0, 0, 0}, {1546, 8738, 5200, 0, 0, 0, 0}, {780, 4915, 4160, 1280, 0, 0, 0}, {1548, 4656, 17476, 0, 0, 0, 0}, {1290, 4128, 768, 5461, 0, 0, 0}, {128, 1542, 4112, 0, 0, 0, 0}, {119, 768, 1280, 4352, 0, 0, 0}, {5240, 1536, 17408, 0, 0, 0, 0}, {4127, 4192, 4883, 5397, 0, 0, 0}, {1546, 8224, 4176, 0, 0, 0, 0}, {780, 4403, 4420, 1280, 0, 0, 0}, {1548, 4144, 16448, 0, 0, 0, 0}, {1290, 4386, 768, 4437, 0, 0, 0}, {136, 4626, 5140, 0, 0, 0, 0}, {127, 768, 1280, 4096, 0, 0, 0}, {128, 1536, 4096, 0, 0, 0, 0}, {119, 771, 1285, 4369, 0, 0, 0}, {1546, 4642, 17408, 0, 0, 0, 0}, {1295, 4144, 771, 5440, 0, 0, 0}, {1548, 8704, 5188, 0, 0, 0, 0}, {783, 4896, 4176, 1285, 0, 0, 0}, {4192, 1542, 16448, 0, 0, 0, 0}, {1295, 119, 1536, 4352, 0, 0, 0}, {136, 4608, 5120, 0, 0, 0, 0}, {127, 771, 1285, 4112, 0, 0, 0}, {1546, 4128, 16384, 0, 0, 0, 0}, {1295, 4403, 771, 4420, 0, 0, 0}, {1548, 8192, 4160, 0, 0, 0, 0}, {783, 4386, 4437, 1285, 0, 0, 0}, {5228, 1542, 17476, 0, 0, 0, 0}, {4111, 4208, 4864, 5376, 0, 0, 0}, {1632, 20560, 0, 0, 0, 0, 0}, {8, 1792, 273, 0, 0, 0, 0}, {8, 4144, 4626, 1088, 0, 0, 0}, {1375, 819, 21760, 0, 0, 0, 0}, {8, 544, 4176, 5140, 0, 0, 0}, {831, 13056, 1365, 0, 0, 0, 0}, {23130, 1638, 0, 0, 0, 0, 0}, {279, 1088, 4352, 0, 0, 0, 0}, {8, 544, 1088, 4112, 0, 0, 0}, {3840, 819, 1365, 0, 0, 0, 0}, {1642, 12336, 0, 0, 0, 0, 0}, {275, 4420, 5376, 0, 0, 0, 0}, {1644, 20560, 0, 0, 0, 0, 0}, {4386, 4864, 277, 0, 0, 0, 0}, {8, 5172, 5654, 1092, 0, 0, 0}, {1375, 1632, 21760, 0, 0, 0, 0}, {1696, 3072, 12288, 22016, 0, 0, 0}, {8, 289, 771, 342, 1028, 4369, 0}, {8, 546, 1024, 4096, 0, 0, 0}, {771, 1360, 0, 0, 0, 0, 0}, {8, 4192, 4672, 1028, 0, 0, 0}, {1370, 1621, 21845, 0, 0, 0, 0}, {1702, 3084, 13926, 20480, 0, 0, 0}, {8, 295, 775, 336, 1024, 4352, 0}, {8, 4128, 4608, 1024, 0, 0, 0}, {1370, 771, 21845, 0, 0, 0, 0}, {1706, 3072, 12288, 20480, 0, 0, 0}, {8, 291, 771, 340, 1028, 4112, 0}, {1708, 3084, 13932, 22028, 0, 0, 0}, {8, 293, 775, 338, 1024, 4103, 0}, {8, 546, 4160, 1028, 0, 0, 0}, {783, 13056, 1360, 0, 0, 0, 0}, {4144, 1600, 16448, 0, 0, 0, 0}, {1290, 119, 836, 4369, 0, 0, 0}, {4626, 5200, 0, 0, 0, 0, 0}, {844, 819, 1280, 4096, 0, 0, 0}, {5180, 1604, 17476, 0, 0, 0, 0}, {4127, 4192, 832, 5397, 0, 0, 0}, {5654, 4176, 0, 0, 0, 0, 0}, {840, 119, 1280, 4352, 0, 0, 0}, {1608, 4656, 17408, 0, 0, 0, 0}, {1290, 4128, 4883, 5461, 0, 0, 0}, {1610, 4112, 0, 0, 0, 0, 0}, {4403, 4608, 4420, 1280, 0, 0, 0}, {1612, 4208, 16384, 0, 0, 0, 0}, {1290, 4386, 5911, 4437, 0, 0, 0}, {4698, 8738, 5140, 0, 0, 0, 0}, {4159, 4864, 4160, 1280, 0, 0, 0}, {1728, 2560, 13824, 20480, 0, 0, 0}, {8, 310, 514, 321, 1285, 4369, 0}, {8, 5152, 514, 1088, 0, 0, 0}, {1295, 1587, 21760, 0, 0, 0, 0}, {8, 512, 1092, 4096, 0, 0, 0}, {816, 1285, 0, 0, 0, 0, 0}, {1734, 2570, 12288, 22118, 0, 0, 0}, {8, 304, 512, 327, 1287, 4352, 0}, {8, 512, 4160, 5120, 0, 0, 0}, {828, 13107, 1285, 0, 0, 0, 0}, {1738, 2570, 13834, 22122, 0, 0, 0}, {8, 308, 512, 323, 1287, 4103, 0}, {1740, 2560, 12288, 20480, 0, 0, 0}, {8, 306, 514, 325, 1285, 4112, 0}, {8, 4128, 514, 1092, 0, 0, 0}, {1295, 816, 21760, 0, 0, 0, 0}, {3072, 1568, 4176, 0, 0, 0, 0}, {780, 1314, 1365, 4369, 0, 0, 0}, {4698, 1570, 17408, 0, 0, 0, 0}, {4127, 1312, 4883, 5440, 0, 0, 0}, {4656, 5140, 0, 0, 0, 0, 0}, {1322, 768, 1365, 4096, 0, 0, 0}, {4144, 5654, 16448, 0, 0, 0, 0}, {1375, 119, 768, 4352, 0, 0, 0}, {1576, 8704, 5200, 0, 0, 0, 0}, {780, 4915, 4160, 5397, 0, 0, 0}, {5722, 4208, 16384, 0, 0, 0, 0}, {5147, 4403, 5911, 4420, 0, 0, 0}, {1580, 4112, 0, 0, 0, 0, 0}, {4386, 768, 4437, 5120, 0, 0, 0}, {5180, 4626, 17476, 0, 0, 0, 0}, {4191, 4128, 768, 5376, 0, 0, 0}, {4192, 5632, 16448, 0, 0, 0, 0}, {1370, 119, 1553, 4369, 0, 0, 0}, {4714, 8738, 5120, 0, 0, 0, 0}, {4143, 4883, 4176, 5376, 0, 0, 0}, {5228, 4608, 17476, 0, 0, 0, 0}, {4175, 4144, 4864, 5397, 0, 0, 0}, {3148, 1638, 4096, 0, 0, 0, 0}, {1319, 1559, 1360, 4352, 0, 0, 0}, {4680, 1632, 17408, 0, 0, 0, 0}, {4111, 1317, 5654, 5461, 0, 0, 0}, {5674, 8192, 4160, 0, 0, 0, 0}, {4623, 4403, 4420, 5140, 0, 0, 0}, {5708, 4128, 16384, 0, 0, 0, 0}, {5135, 4386, 4626, 4437, 0, 0, 0}, {6144, 4642, 5188, 0, 0, 0, 0}, {1567, 816, 1360, 4112, 0, 0, 0}, {20720, 1536, 0, 0, 0, 0, 0}, {262, 1028, 4369, 0, 0, 0, 0}, {8, 514, 4176, 1024, 0, 0, 0}, {780, 13107, 1280, 0, 0, 0, 0}, {8, 4144, 512, 1028, 0, 0, 0}, {1290, 768, 21845, 0, 0, 0, 0}, {1542, 20560, 0, 0, 0, 0, 0}, {8, 119, 256, 0, 0, 0, 0}, {8, 4208, 512, 1024, 0, 0, 0}, {1290, 1542, 21845, 0, 0, 0, 0}, {1546, 20560, 0, 0, 0, 0, 0}, {4403, 512, 260, 0, 0, 0, 0}, {1548, 12336, 0, 0, 0, 0, 0}, {258, 4437, 1024, 0, 0, 0, 0}, {8, 514, 1028, 4112, 0, 0, 0}, {255, 768, 1280, 0, 0, 0, 0}, {2048, 30464, 0, 0, 0, 0, 0}, {6, 80, 257, 0, 0, 0, 0}, {10, 514, 21760, 0, 0, 0, 0}, {12, 48, 771, 1024, 0, 0, 0}, {12, 13056, 1028, 0, 0, 0, 0}, {10, 512, 80, 1285, 0, 0, 0}, {6, 1024, 4352, 0, 0, 0, 0}, {240, 1799, 0, 0, 0, 0, 0}, {30600, 2056, 0, 0, 0, 0, 0}, {259, 261, 4096, 0, 0, 0, 0}, {10, 512, 21760, 0, 0, 0, 0}, {12, 48, 771, 1028, 0, 0, 0}, {12, 13056, 1024, 0, 0, 0, 0}, {10, 514, 80, 1285, 0, 0, 0}, {6, 4420, 1028, 0, 0, 0, 0}, {1807, 28672, 0, 0, 0, 0, 0}, {48, 1808, 80, 4112, 0, 0, 0}, {2116, 102, 4369, 0, 0, 0, 0}, {90, 48, 4626, 5376, 0, 0, 0}, {108, 4883, 17408, 0, 0, 0, 0}, {60, 4864, 80, 5140, 0, 0, 0}, {106, 8704, 5397, 0, 0, 0, 0}, {90, 102, 1814, 4352, 0, 0, 0}, {96, 5911, 16384, 0, 0, 0, 0}, {1816, 48, 80, 4096, 0, 0, 0}, {6425, 4403, 4437, 0, 0, 0, 0}, {5402, 48, 4608, 5440, 0, 0, 0}, {4959, 4915, 17476, 0, 0, 0, 0}, {4892, 4896, 80, 5120, 0, 0, 0}, {5439, 8738, 5461, 0, 0, 0, 0}, {4382, 4386, 5632, 4420, 0, 0, 0}, {5983, 96, 16448, 0, 0, 0, 0}, {160, 2080, 8224, 22304, 0, 0, 0}, {12, 48, 771, 86, 1042, 4369, 0}, {170, 2082, 8738, 21760, 0, 0, 0}, {12, 48, 771, 80, 1040, 4112, 0}, {12, 1060, 4864, 1092, 0, 0, 0}, {90, 1829, 21845, 0, 0, 0, 0}, {12, 1062, 1088, 4352, 0, 0, 0}, {3855, 1831, 80, 0, 0, 0, 0}, {160, 2088, 8192, 22312, 0, 0, 0}, {12, 48, 771, 86, 1046, 4355, 0}, {170, 2090, 8704, 21760, 0, 0, 0}, {12, 48, 771, 80, 1044, 4096, 0}, {12, 1056, 5888, 1088, 0, 0, 0}, {90, 1911, 21845, 0, 0, 0, 0}, {12, 4386, 4420, 5376, 0, 0, 0}, {1839, 8224, 80, 0, 0, 0, 0}, {48, 1792, 16384, 0, 0, 0, 0}, {10, 102, 514, 4369, 0, 0, 0}, {10, 48, 514, 80, 1280, 4112, 0}, {204, 2048, 13107, 17408, 0, 0, 0}, {1800, 1844, 17476, 0, 0, 0, 0}, {10, 5429, 512, 5461, 0, 0, 0}, {10, 54, 512, 80, 1280, 4352, 0}, {192, 2056, 14135, 16448, 0, 0, 0}, {1800, 48, 16448, 0, 0, 0, 0}, {10, 4403, 512, 4437, 0, 0, 0}, {10, 48, 512, 80, 1280, 4096, 0}, {204, 2056, 13107, 17476, 0, 0, 0}, {60, 1792, 17408, 0, 0, 0, 0}, {10, 96, 514, 5397, 0, 0, 0}, {10, 54, 514, 80, 1280, 4372, 0}, {192, 2048, 14143, 16384, 0, 0, 0}, {192, 2112, 14144, 16448, 0, 0, 0}, {10, 54, 532, 80, 1285, 4369, 0}, {10, 96, 578, 5376, 0, 0, 0}, {60, 1859, 17408, 0, 0, 0, 0}, {204, 2116, 13056, 17476, 0, 0, 0}, {10, 48, 528, 80, 1285, 4112, 0}, {10, 102, 582, 4352, 0, 0, 0}, {48, 1863, 16384, 0, 0, 0, 0}, {192, 2120, 14152, 16384, 0, 0, 0}, {10, 54, 534, 80, 1285, 4357, 0}, {10, 5408, 5888, 5440, 0, 0, 0}, {1867, 1911, 17476, 0, 0, 0, 0}, {204, 2124, 13056, 17408, 0, 0, 0}, {10, 48, 530, 80, 1285, 4096, 0}, {10, 4386, 4864, 4420, 0, 0, 0}, {1871, 48, 16448, 0, 0, 0, 0}, {1792, 80, 0, 0, 0, 0, 0}, {12, 102, 1028, 4369, 0, 0, 0}, {90, 1874, 21760, 0, 0, 0, 0}, {12, 96, 4947, 1024, 0, 0, 0}, {12, 48, 768, 80, 1028, 4112, 0}, {170, 2048, 8704, 21845, 0, 0, 0}, {12, 48, 768, 86, 1024, 4352, 0}, {160, 2056, 8224, 22359, 0, 0, 0}, {1800, 8224, 80, 0, 0, 0, 0}, {12, 4403, 4437, 1024, 0, 0, 0}, {90, 1792, 21760, 0, 0, 0, 0}, {12, 96, 4883, 1028, 0, 0, 0}, {12, 48, 768, 80, 1024, 4096, 0}, {170, 2056, 8738, 21845, 0, 0, 0}, {12, 48, 768, 86, 1028, 4370, 0}, {160, 2048, 8192, 22367, 0, 0, 0}, {96, 5888, 16384, 0, 0, 0, 0}, {90, 102, 1799, 4369, 0, 0, 0}, {5418, 8738, 5440, 0, 0, 0, 0}, {4879, 4915, 80, 5120, 0, 0, 0}, {4940, 4896, 17476, 0, 0, 0, 0}, {5391, 48, 4608, 5461, 0, 0, 0}, {2048, 102, 4352, 0, 0, 0, 0}, {48, 1799, 80, 4112, 0, 0, 0}, {5960, 96, 16448, 0, 0, 0, 0}, {4367, 4403, 5632, 4437, 0, 0, 0}, {106, 8704, 5376, 0, 0, 0, 0}, {60, 4883, 80, 5140, 0, 0, 0}, {108, 4864, 17408, 0, 0, 0, 0}, {90, 48, 4626, 5397, 0, 0, 0}, {2056, 4386, 4420, 0, 0, 0, 0}, {1807, 48, 80, 4096, 0, 0, 0}, {3840, 1904, 0, 0, 0, 0, 0}, {6, 1092, 4369, 0, 0, 0, 0}, {10, 546, 80, 1280, 0, 0, 0}, {12, 13107, 1088, 0, 0, 0, 0}, {12, 48, 768, 1092, 0, 0, 0}, {10, 544, 21845, 0, 0, 0, 0}, {6, 1280, 272, 0, 0, 0, 0}, {2184, 30583, 0, 0, 0, 0, 0}, {1912, 28672, 0, 0, 0, 0, 0}, {6, 4437, 5397, 0, 0, 0, 0}, {10, 544, 80, 1280, 0, 0, 0}, {12, 13107, 1092, 0, 0, 0, 0}, {12, 48, 768, 1088, 0, 0, 0}, {10, 546, 21845, 0, 0, 0, 0}, {274, 276, 4096, 0, 0, 0, 0}, {30719, 32639, 0, 0, 0, 0, 0}, {2176, 30464, 0, 0, 0, 0, 0}, {6, 1285, 273, 0, 0, 0, 0}, {10, 546, 21760, 0, 0, 0, 0}, {12, 48, 771, 1088, 0, 0, 0}, {12, 13056, 1092, 0, 0, 0, 0}, {10, 544, 80, 1285, 0, 0, 0}, {6, 1088, 4352, 0, 0, 0, 0}, {3855, 1911, 0, 0, 0, 0, 0}, {30600, 32512, 0, 0, 0, 0, 0}, {275, 277, 4112, 0, 0, 0, 0}, {10, 544, 21760, 0, 0, 0, 0}, {12, 48, 771, 1092, 0, 0, 0}, {12, 13056, 1088, 0, 0, 0, 0}, {10, 546, 80, 1285, 0, 0, 0}, {6, 4420, 5376, 0, 0, 0, 0}, {1919, 28784, 0, 0, 0, 0, 0}, {48, 1792, 80, 4096, 0, 0, 0}, {2056, 102, 4369, 0, 0, 0, 0}, {5402, 48, 4626, 5440, 0, 0, 0}, {4959, 4915, 17408, 0, 0, 0, 0}, {4892, 4896, 80, 5140, 0, 0, 0}, {5439, 8704, 5461, 0, 0, 0, 0}, {90, 102, 1792, 4352, 0, 0, 0}, {96, 5911, 16448, 0, 0, 0, 0}, {1800, 48, 80, 4112, 0, 0, 0}, {2048, 4403, 4437, 0, 0, 0, 0}, {90, 48, 4608, 5376, 0, 0, 0}, {108, 4883, 17476, 0, 0, 0, 0}, {60, 4864, 80, 5120, 0, 0, 0}, {106, 8738, 5397, 0, 0, 0, 0}, {4382, 4386, 5654, 4420, 0, 0, 0}, {5983, 96, 16384, 0, 0, 0, 0}, {160, 2048, 8192, 22272, 0, 0, 0}, {12, 48, 771, 86, 1028, 4369, 0}, {170, 2056, 8738, 21760, 0, 0, 0}, {12, 48, 771, 80, 1024, 4096, 0}, {12, 96, 4928, 1028, 0, 0, 0}, {90, 1877, 21845, 0, 0, 0, 0}, {12, 102, 1024, 4352, 0, 0, 0}, {1799, 80, 0, 0, 0, 0, 0}, {160, 2056, 8224, 22280, 0, 0, 0}, {12, 48, 771, 86, 1024, 4355, 0}, {170, 2048, 8704, 21760, 0, 0, 0}, {12, 48, 771, 80, 1028, 4112, 0}, {12, 96, 4864, 1024, 0, 0, 0}, {90, 1799, 21845, 0, 0, 0, 0}, {12, 4386, 4420, 1028, 0, 0, 0}, {1807, 8192, 80, 0, 0, 0, 0}, {48, 1856, 16448, 0, 0, 0, 0}, {10, 102, 580, 4369, 0, 0, 0}, {10, 48, 530, 80, 1280, 4096, 0}, {204, 2124, 13107, 17408, 0, 0, 0}, {60, 1860, 17476, 0, 0, 0, 0}, {10, 96, 576, 5397, 0, 0, 0}, {10, 54, 534, 80, 1280, 4352, 0}, {192, 2120, 14199, 16384, 0, 0, 0}, {1864, 48, 16384, 0, 0, 0, 0}, {10, 4403, 4883, 4437, 0, 0, 0}, {10, 48, 528, 80, 1280, 4112, 0}, {204, 2116, 13107, 17476, 0, 0, 0}, {1868, 1904, 17408, 0, 0, 0, 0}, {10, 5429, 5911, 5461, 0, 0, 0}, {10, 54, 532, 80, 1280, 4372, 0}, {192, 2112, 14207, 16448, 0, 0, 0}, {192, 2048, 14080, 16384, 0, 0, 0}, {10, 54, 514, 80, 1285, 4369, 0}, {10, 5408, 514, 5440, 0, 0, 0}, {1807, 1843, 17408, 0, 0, 0, 0}, {204, 2056, 13056, 17476, 0, 0, 0}, {10, 48, 512, 80, 1285, 4096, 0}, {10, 102, 512, 4352, 0, 0, 0}, {48, 1799, 16448, 0, 0, 0, 0}, {192, 2056, 14088, 16448, 0, 0, 0}, {10, 54, 512, 80, 1285, 4357, 0}, {10, 96, 512, 5376, 0, 0, 0}, {60, 1799, 17476, 0, 0, 0, 0}, {204, 2048, 13056, 17408, 0, 0, 0}, {10, 48, 514, 80, 1285, 4112, 0}, {10, 4386, 514, 4420, 0, 0, 0}, {1807, 48, 16384, 0, 0, 0, 0}, {3840, 1824, 80, 0, 0, 0, 0}, {12, 1058, 1092, 4369, 0, 0, 0}, {90, 1826, 21760, 0, 0, 0, 0}, {12, 1056, 4883, 1088, 0, 0, 0}, {12, 48, 768, 80, 1044, 4096, 0}, {170, 2090, 8704, 21845, 0, 0, 0}, {12, 48, 768, 86, 1046, 4352, 0}, {160, 2088, 8192, 22391, 0, 0, 0}, {1832, 8192, 80, 0, 0, 0, 0}, {12, 4403, 4437, 5397, 0, 0, 0}, {90, 1904, 21760, 0, 0, 0, 0}, {12, 1060, 5911, 1092, 0, 0, 0}, {12, 48, 768, 80, 1040, 4112, 0}, {170, 2082, 8738, 21845, 0, 0, 0}, {12, 48, 768, 86, 1042, 4370, 0}, {160, 2080, 8224, 22399, 0, 0, 0}, {96, 5888, 16448, 0, 0, 0, 0}, {90, 102, 1809, 4369, 0, 0, 0}, {106, 8738, 5376, 0, 0, 0, 0}, {60, 4883, 80, 5120, 0, 0, 0}, {108, 4864, 17476, 0, 0, 0, 0}, {90, 48, 4608, 5397, 0, 0, 0}, {2124, 102, 4352, 0, 0, 0, 0}, {48, 1815, 80, 4096, 0, 0, 0}, {5960, 96, 16384, 0, 0, 0, 0}, {4367, 4403, 5654, 4437, 0, 0, 0}, {5418, 8704, 5440, 0, 0, 0, 0}, {4879, 4915, 80, 5140, 0, 0, 0}, {4940, 4896, 17408, 0, 0, 0, 0}, {5391, 48, 4626, 5461, 0, 0, 0}, {6400, 4386, 4420, 0, 0, 0, 0}, {1823, 48, 80, 4112, 0, 0, 0}, {240, 1792, 0, 0, 0, 0, 0}, {6, 1028, 4369, 0, 0, 0, 0}, {10, 514, 80, 1280, 0, 0, 0}, {12, 13107, 1024, 0, 0, 0, 0}, {12, 48, 768, 1028, 0, 0, 0}, {10, 512, 21845, 0, 0, 0, 0}, {6, 80, 256, 0, 0, 0, 0}, {2056, 30583, 0, 0, 0, 0, 0}, {1800, 28784, 0, 0, 0, 0, 0}, {6, 4437, 1024, 0, 0, 0, 0}, {10, 512, 80, 1280, 0, 0, 0}, {12, 13107, 1028, 0, 0, 0, 0}, {12, 48, 768, 1024, 0, 0, 0}, {10, 514, 21845, 0, 0, 0, 0}, {258, 260, 4112, 0, 0, 0, 0}, {30719, 2048, 0, 0, 0, 0, 0}, {2048, 28672, 0, 0, 0, 0, 0}, {6, 85, 257, 0, 0, 0, 0}, {10, 514, 20480, 0, 0, 0, 0}, {12, 51, 771, 1024, 0, 0, 0}, {12, 12288, 1028, 0, 0, 0, 0}, {10, 512, 85, 1285, 0, 0, 0}, {6, 1024, 4096, 0, 0, 0, 0}, {255, 1799, 0, 0, 0, 0, 0}, {28800, 2056, 0, 0, 0, 0, 0}, {259, 261, 4352, 0, 0, 0, 0}, {10, 512, 20480, 0, 0, 0, 0}, {12, 51, 771, 1028, 0, 0, 0}, {12, 12288, 1024, 0, 0, 0, 0}, {10, 514, 85, 1285, 0, 0, 0}, {6, 4160, 1028, 0, 0, 0, 0}, {1807, 30464, 0, 0, 0, 0, 0}, {2112, 96, 4112, 0, 0, 0, 0}, {51, 1809, 85, 4369, 0, 0, 0}, {106, 4626, 16384, 0, 0, 0, 0}, {95, 51, 4883, 5120, 0, 0, 0}, {108, 8192, 5140, 0, 0, 0, 0}, {63, 4608, 85, 5397, 0, 0, 0}, {102, 5654, 17408, 0, 0, 0, 0}, {95, 96, 1815, 4096, 0, 0, 0}, {6168, 4144, 4176, 0, 0, 0, 0}, {1817, 51, 85, 4352, 0, 0, 0}, {4698, 4656, 16448, 0, 0, 0, 0}, {5147, 51, 4864, 5188, 0, 0, 0}, {5180, 8224, 5200, 0, 0, 0, 0}, {4637, 4642, 85, 5376, 0, 0, 0}, {5722, 102, 17476, 0, 0, 0, 0}, {4127, 4128, 5888, 4160, 0, 0, 0}, {160, 2080, 8224, 20480, 0, 0, 0}, {12, 51, 771, 85, 1041, 4369, 0}, {170, 2082, 8738, 21026, 0, 0, 0}, {12, 51, 771, 83, 1043, 4112, 0}, {12, 1060, 1092, 4096, 0, 0, 0}, {3855, 1829, 85, 0, 0, 0, 0}, {12, 1062, 4608, 1088, 0, 0, 0}, {95, 1831, 20560, 0, 0, 0, 0}, {160, 2088, 8192, 20480, 0, 0, 0}, {12, 51, 771, 85, 1045, 4352, 0}, {170, 2090, 8704, 21034, 0, 0, 0}, {12, 51, 771, 83, 1047, 4099, 0}, {12, 4128, 4160, 5120, 0, 0, 0}, {1837, 8738, 85, 0, 0, 0, 0}, {12, 1058, 5632, 1092, 0, 0, 0}, {95, 1904, 20560, 0, 0, 0, 0}, {192, 2048, 12336, 16384, 0, 0, 0}, {10, 51, 514, 85, 1280, 4369, 0}, {10, 96, 514, 4112, 0, 0, 0}, {51, 1792, 17408, 0, 0, 0, 0}, {204, 2056, 13364, 17476, 0, 0, 0}, {10, 53, 512, 85, 1280, 4096, 0}, {10, 5174, 512, 5200, 0, 0, 0}, {1800, 1847, 16448, 0, 0, 0, 0}, {192, 2056, 12336, 16448, 0, 0, 0}, {10, 51, 512, 85, 1280, 4352, 0}, {10, 4144, 512, 4176, 0, 0, 0}, {1800, 51, 17476, 0, 0, 0, 0}, {204, 2048, 13372, 17408, 0, 0, 0}, {10, 53, 514, 85, 1280, 4117, 0}, {10, 102, 514, 5140, 0, 0, 0}, {63, 1792, 16384, 0, 0, 0, 0}, {192, 2112, 12288, 16448, 0, 0, 0}, {10, 51, 529, 85, 1285, 4369, 0}, {10, 96, 578, 4096, 0, 0, 0}, {51, 1859, 17408, 0, 0, 0, 0}, {204, 2116, 13380, 17476, 0, 0, 0}, {10, 53, 533, 85, 1285, 4112, 0}, {10, 102, 582, 5120, 0, 0, 0}, {63, 1863, 16384, 0, 0, 0, 0}, {192, 2120, 12288, 16384, 0, 0, 0}, {10, 51, 531, 85, 1285, 4352, 0}, {10, 4128, 4608, 4160, 0, 0, 0}, {1867, 51, 17476, 0, 0, 0, 0}, {204, 2124, 13388, 17408, 0, 0, 0}, {10, 53, 535, 85, 1285, 4101, 0}, {10, 5154, 5632, 5188, 0, 0, 0}, {1871, 1904, 16448, 0, 0, 0, 0}, {160, 2048, 8192, 20560, 0, 0, 0}, {12, 51, 768, 85, 1028, 4369, 0}, {170, 2056, 8738, 21074, 0, 0, 0}, {12, 51, 768, 83, 1024, 4096, 0}, {12, 96, 1028, 4112, 0, 0, 0}, {1792, 85, 0, 0, 0, 0, 0}, {12, 102, 4694, 1024, 0, 0, 0}, {95, 1879, 20480, 0, 0, 0, 0}, {160, 2056, 8224, 20560, 0, 0, 0}, {12, 51, 768, 85, 1024, 4352, 0}, {170, 2048, 8704, 21082, 0, 0, 0}, {12, 51, 768, 83, 1028, 4115, 0}, {12, 4144, 4176, 1024, 0, 0, 0}, {1800, 8738, 85, 0, 0, 0, 0}, {12, 102, 4626, 1028, 0, 0, 0}, {95, 1792, 20480, 0, 0, 0, 0}, {2048, 96, 4096, 0, 0, 0, 0}, {51, 1799, 85, 4369, 0, 0, 0}, {4680, 4642, 16448, 0, 0, 0, 0}, {5135, 51, 4864, 5200, 0, 0, 0}, {5160, 8224, 5188, 0, 0, 0, 0}, {4623, 4656, 85, 5376, 0, 0, 0}, {102, 5632, 17408, 0, 0, 0, 0}, {95, 96, 1799, 4112, 0, 0, 0}, {2056, 4128, 4160, 0, 0, 0, 0}, {1807, 51, 85, 4352, 0, 0, 0}, {106, 4608, 16384, 0, 0, 0, 0}, {95, 51, 4883, 5140, 0, 0, 0}, {108, 8192, 5120, 0, 0, 0, 0}, {63, 4626, 85, 5397, 0, 0, 0}, {5708, 102, 17476, 0, 0, 0, 0}, {4111, 4144, 5888, 4176, 0, 0, 0}, {2176, 28784, 0, 0, 0, 0, 0}, {6, 1280, 273, 0, 0, 0, 0}, {10, 546, 20560, 0, 0, 0, 0}, {12, 51, 768, 1088, 0, 0, 0}, {12, 12336, 1092, 0, 0, 0, 0}, {10, 544, 85, 1280, 0, 0, 0}, {6, 1088, 4112, 0, 0, 0, 0}, {3840, 1911, 0, 0, 0, 0, 0}, {28912, 30840, 0, 0, 0, 0, 0}, {275, 277, 4352, 0, 0, 0, 0}, {10, 544, 20560, 0, 0, 0, 0}, {12, 51, 768, 1092, 0, 0, 0}, {12, 12336, 1088, 0, 0, 0, 0}, {10, 546, 85, 1280, 0, 0, 0}, {6, 4176, 5140, 0, 0, 0, 0}, {1919, 30464, 0, 0, 0, 0, 0}, {28800, 30720, 0, 0, 0, 0, 0}, {274, 276, 4369, 0, 0, 0, 0}, {10, 546, 20480, 0, 0, 0, 0}, {12, 51, 771, 1088, 0, 0, 0}, {12, 12288, 1092, 0, 0, 0, 0}, {10, 544, 85, 1285, 0, 0, 0}, {6, 4160, 5120, 0, 0, 0, 0}, {1912, 30583, 0, 0, 0, 0, 0}, {2184, 28672, 0, 0, 0, 0, 0}, {6, 1285, 272, 0, 0, 0, 0}, {10, 544, 20480, 0, 0, 0, 0}, {12, 51, 771, 1092, 0, 0, 0}, {12, 12288, 1088, 0, 0, 0, 0}, {10, 546, 85, 1285, 0, 0, 0}, {6, 1092, 4096, 0, 0, 0, 0}, {3855, 1904, 0, 0, 0, 0, 0}, {2048, 4144, 4176, 0, 0, 0, 0}, {1800, 51, 85, 4369, 0, 0, 0}, {106, 4626, 16448, 0, 0, 0, 0}, {95, 51, 4864, 5120, 0, 0, 0}, {108, 8224, 5140, 0, 0, 0, 0}, {63, 4608, 85, 5376, 0, 0, 0}, {5722, 102, 17408, 0, 0, 0, 0}, {4127, 4128, 5911, 4160, 0, 0, 0}, {2056, 96, 4112, 0, 0, 0, 0}, {51, 1792, 85, 4352, 0, 0, 0}, {4698, 4656, 16384, 0, 0, 0, 0}, {5147, 51, 4883, 5188, 0, 0, 0}, {5180, 8192, 5200, 0, 0, 0, 0}, {4637, 4642, 85, 5397, 0, 0, 0}, {102, 5654, 17476, 0, 0, 0, 0}, {95, 96, 1792, 4096, 0, 0, 0}, {160, 2048, 8192, 20480, 0, 0, 0}, {12, 51, 771, 85, 1028, 4369, 0}, {170, 2056, 8738, 21000, 0, 0, 0}, {12, 51, 771, 83, 1024, 4099, 0}, {12, 4128, 4160, 1028, 0, 0, 0}, {1807, 8704, 85, 0, 0, 0, 0}, {12, 102, 4608, 1024, 0, 0, 0}, {95, 1799, 20560, 0, 0, 0, 0}, {160, 2056, 8224, 20480, 0, 0, 0}, {12, 51, 771, 85, 1024, 4352, 0}, {170, 2048, 8704, 20992, 0, 0, 0}, {12, 51, 771, 83, 1028, 4112, 0}, {12, 96, 1024, 4096, 0, 0, 0}, {1799, 85, 0, 0, 0, 0, 0}, {12, 102, 4676, 1028, 0, 0, 0}, {95, 1872, 20560, 0, 0, 0, 0}, {192, 2112, 12336, 16448, 0, 0, 0}, {10, 51, 529, 85, 1280, 4369, 0}, {10, 4144, 4626, 4176, 0, 0, 0}, {1868, 51, 17408, 0, 0, 0, 0}, {204, 2116, 13432, 17476, 0, 0, 0}, {10, 53, 533, 85, 1280, 4117, 0}, {10, 5174, 5654, 5200, 0, 0, 0}, {1864, 1911, 16384, 0, 0, 0, 0}, {192, 2120, 12336, 16384, 0, 0, 0}, {10, 51, 531, 85, 1280, 4352, 0}, {10, 96, 576, 4112, 0, 0, 0}, {51, 1860, 17476, 0, 0, 0, 0}, {204, 2124, 13424, 17408, 0, 0, 0}, {10, 53, 535, 85, 1280, 4096, 0}, {10, 102, 580, 5140, 0, 0, 0}, {63, 1856, 16448, 0, 0, 0, 0}, {192, 2048, 12288, 16384, 0, 0, 0}, {10, 51, 514, 85, 1285, 4369, 0}, {10, 4128, 514, 4160, 0, 0, 0}, {1807, 51, 17408, 0, 0, 0, 0}, {204, 2056, 13320, 17476, 0, 0, 0}, {10, 53, 512, 85, 1285, 4101, 0}, {10, 102, 512, 5120, 0, 0, 0}, {63, 1799, 16448, 0, 0, 0, 0}, {192, 2056, 12288, 16448, 0, 0, 0}, {10, 51, 512, 85, 1285, 4352, 0}, {10, 96, 512, 4096, 0, 0, 0}, {51, 1799, 17476, 0, 0, 0, 0}, {204, 2048, 13312, 17408, 0, 0, 0}, {10, 53, 514, 85, 1285, 4112, 0}, {10, 5154, 514, 5188, 0, 0, 0}, {1807, 1840, 16384, 0, 0, 0, 0}, {160, 2080, 8224, 20560, 0, 0, 0}, {12, 51, 768, 85, 1041, 4369, 0}, {170, 2082, 8738, 21112, 0, 0, 0}, {12, 51, 768, 83, 1043, 4115, 0}, {12, 4144, 4176, 5140, 0, 0, 0}, {1834, 8704, 85, 0, 0, 0, 0}, {12, 1062, 5654, 1088, 0, 0, 0}, {95, 1911, 20480, 0, 0, 0, 0}, {160, 2088, 8192, 20560, 0, 0, 0}, {12, 51, 768, 85, 1045, 4352, 0}, {170, 2090, 8704, 21104, 0, 0, 0}, {12, 51, 768, 83, 1047, 4096, 0}, {12, 1056, 1088, 4112, 0, 0, 0}, {3840, 1826, 85, 0, 0, 0, 0}, {12, 1058, 4626, 1092, 0, 0, 0}, {95, 1824, 20480, 0, 0, 0, 0}, {6144, 4128, 4160, 0, 0, 0, 0}, {1822, 51, 85, 4369, 0, 0, 0}, {4680, 4642, 16384, 0, 0, 0, 0}, {5135, 51, 4883, 5200, 0, 0, 0}, {5160, 8192, 5188, 0, 0, 0, 0}, {4623, 4656, 85, 5397, 0, 0, 0}, {5708, 102, 17408, 0, 0, 0, 0}, {4111, 4144, 5911, 4176, 0, 0, 0}, {2120, 96, 4096, 0, 0, 0, 0}, {51, 1814, 85, 4352, 0, 0, 0}, {106, 4608, 16448, 0, 0, 0, 0}, {95, 51, 4864, 5140, 0, 0, 0}, {108, 8224, 5120, 0, 0, 0, 0}, {63, 4626, 85, 5376, 0, 0, 0}, {102, 5632, 17476, 0, 0, 0, 0}, {95, 96, 1808, 4112, 0, 0, 0}, {28912, 2048, 0, 0, 0, 0, 0}, {258, 260, 4369, 0, 0, 0, 0}, {10, 514, 20560, 0, 0, 0, 0}, {12, 51, 768, 1024, 0, 0, 0}, {12, 12336, 1028, 0, 0, 0, 0}, {10, 512, 85, 1280, 0, 0, 0}, {6, 4176, 1024, 0, 0, 0, 0}, {1800, 30583, 0, 0, 0, 0, 0}, {2056, 28784, 0, 0, 0, 0, 0}, {6, 85, 256, 0, 0, 0, 0}, {10, 512, 20560, 0, 0, 0, 0}, {12, 51, 768, 1028, 0, 0, 0}, {12, 12336, 1024, 0, 0, 0, 0}, {10, 514, 85, 1280, 0, 0, 0}, {6, 1028, 4112, 0, 0, 0, 0}, {255, 1792, 0, 0, 0, 0, 0}, {1536, 21760, 0, 0, 0, 0, 0}, {8, 112, 257, 0, 0, 0, 0}, {8, 4386, 514, 1024, 0, 0, 0}, {1295, 771, 20480, 0, 0, 0, 0}, {8, 512, 4420, 1028, 0, 0, 0}, {783, 12288, 1285, 0, 0, 0, 0}, {21930, 1542, 0, 0, 0, 0, 0}, {263, 1024, 4096, 0, 0, 0, 0}, {8, 512, 1024, 4352, 0, 0, 0}, {240, 771, 1285, 0, 0, 0, 0}, {1546, 13056, 0, 0, 0, 0, 0}, {259, 4160, 1028, 0, 0, 0, 0}, {1548, 21760, 0, 0, 0, 0, 0}, {4128, 514, 261, 0, 0, 0, 0}, {8, 4454, 514, 1028, 0, 0, 0}, {1295, 1536, 20480, 0, 0, 0, 0}, {1312, 1552, 1360, 4112, 0, 0, 0}, {3140, 1638, 4369, 0, 0, 0, 0}, {4442, 4386, 4626, 5120, 0, 0, 0}, {5503, 4883, 16384, 0, 0, 0, 0}, {4412, 4608, 4420, 5140, 0, 0, 0}, {4991, 8192, 5397, 0, 0, 0, 0}, {1370, 112, 1558, 4096, 0, 0, 0}, {4471, 5911, 17408, 0, 0, 0, 0}, {1560, 816, 1360, 4352, 0, 0, 0}, {6425, 4915, 5461, 0, 0, 0, 0}, {5402, 4144, 4864, 4160, 0, 0, 0}, {5983, 4403, 17476, 0, 0, 0, 0}, {4892, 4128, 4176, 5376, 0, 0, 0}, {5951, 8738, 4437, 0, 0, 0, 0}, {4382, 1314, 5888, 5188, 0, 0, 0}, {4959, 1632, 16448, 0, 0, 0, 0}, {4896, 5376, 0, 0, 0, 0, 0}, {1325, 771, 1365, 4369, 0, 0, 0}, {4386, 5888, 17408, 0, 0, 0, 0}, {1375, 112, 771, 4112, 0, 0, 0}, {3084, 1572, 4420, 0, 0, 0, 0}, {783, 1317, 1365, 4096, 0, 0, 0}, {4940, 1574, 16448, 0, 0, 0, 0}, {4367, 1319, 4608, 5200, 0, 0, 0}, {1576, 4352, 0, 0, 0, 0, 0}, {4144, 771, 4160, 5397, 0, 0, 0}, {5418, 4864, 16384, 0, 0, 0, 0}, {4427, 4403, 771, 5140, 0, 0, 0}, {1580, 8224, 5440, 0, 0, 0, 0}, {783, 4642, 4437, 5120, 0, 0, 0}, {5960, 4454, 17476, 0, 0, 0, 0}, {5391, 4128, 5632, 4176, 0, 0, 0}, {816, 1280, 0, 0, 0, 0, 0}, {8, 514, 1092, 4369, 0, 0, 0}, {8, 306, 514, 322, 1282, 4112, 0}, {1740, 2560, 13107, 21299, 0, 0, 0}, {8, 308, 512, 324, 1280, 4096, 0}, {1738, 2570, 13621, 21845, 0, 0, 0}, {1290, 1590, 20560, 0, 0, 0, 0}, {8, 5431, 512, 1088, 0, 0, 0}, {8, 304, 512, 320, 1280, 4352, 0}, {1734, 2570, 13107, 21845, 0, 0, 0}, {1290, 816, 20560, 0, 0, 0, 0}, {8, 4403, 512, 1092, 0, 0, 0}, {828, 12288, 1280, 0, 0, 0, 0}, {8, 514, 4437, 5397, 0, 0, 0}, {8, 310, 514, 326, 1282, 4374, 0}, {1728, 2560, 13631, 21311, 0, 0, 0}, {4864, 5440, 0, 0, 0, 0, 0}, {843, 819, 1285, 4369, 0, 0, 0}, {4386, 1602, 17408, 0, 0, 0, 0}, {1295, 112, 835, 4096, 0, 0, 0}, {5888, 4420, 0, 0, 0, 0, 0}, {847, 112, 1285, 4112, 0, 0, 0}, {5418, 1606, 16384, 0, 0, 0, 0}, {4367, 4471, 839, 5120, 0, 0, 0}, {1608, 4352, 0, 0, 0, 0, 0}, {4128, 4883, 4176, 1285, 0, 0, 0}, {1610, 4896, 16448, 0, 0, 0, 0}, {1295, 4403, 4608, 5188, 0, 0, 0}, {4940, 8192, 5376, 0, 0, 0, 0}, {4397, 4626, 4437, 1285, 0, 0, 0}, {1614, 4454, 17476, 0, 0, 0, 0}, {1295, 4144, 5632, 4160, 0, 0, 0}, {768, 1360, 0, 0, 0, 0, 0}, {8, 546, 1028, 4369, 0, 0, 0}, {8, 290, 768, 338, 1024, 4096, 0}, {1708, 3084, 13107, 21331, 0, 0, 0}, {8, 292, 772, 340, 1028, 4112, 0}, {1706, 3072, 13653, 21845, 0, 0, 0}, {1370, 1622, 20480, 0, 0, 0, 0}, {8, 4471, 4951, 1024, 0, 0, 0}, {8, 288, 768, 336, 1024, 4352, 0}, {1702, 3084, 13107, 21845, 0, 0, 0}, {1370, 768, 20480, 0, 0, 0, 0}, {8, 4403, 4883, 1028, 0, 0, 0}, {780, 12336, 1360, 0, 0, 0, 0}, {8, 546, 4437, 1024, 0, 0, 0}, {8, 294, 772, 342, 1028, 4374, 0}, {1696, 3072, 13663, 21343, 0, 0, 0}, {1632, 21760, 0, 0, 0, 0, 0}, {8, 1799, 273, 0, 0, 0, 0}, {8, 4386, 4864, 1088, 0, 0, 0}, {1375, 819, 20560, 0, 0, 0, 0}, {8, 544, 4420, 5376, 0, 0, 0}, {831, 12336, 1365, 0, 0, 0, 0}, {24320, 1638, 0, 0, 0, 0, 0}, {279, 1088, 4112, 0, 0, 0, 0}, {8, 544, 1088, 4352, 0, 0, 0}, {3855, 819, 1365, 0, 0, 0, 0}, {1642, 13056, 0, 0, 0, 0, 0}, {275, 4176, 5140, 0, 0, 0, 0}, {1644, 21760, 0, 0, 0, 0, 0}, {4144, 4626, 277, 0, 0, 0, 0}, {8, 5410, 5888, 1092, 0, 0, 0}, {1375, 1632, 20560, 0, 0, 0, 0}, {112, 768, 1280, 4096, 0, 0, 0}, {136, 1542, 4369, 0, 0, 0, 0}, {1290, 4386, 768, 5200, 0, 0, 0}, {1548, 4915, 16448, 0, 0, 0, 0}, {780, 4656, 4420, 1280, 0, 0, 0}, {1546, 8224, 5461, 0, 0, 0, 0}, {1290, 112, 1542, 4112, 0, 0, 0}, {4471, 1536, 17408, 0, 0, 0, 0}, {120, 768, 1280, 4352, 0, 0, 0}, {128, 4883, 5397, 0, 0, 0, 0}, {1290, 4128, 768, 4176, 0, 0, 0}, {1548, 4403, 17476, 0, 0, 0, 0}, {780, 4144, 4160, 1280, 0, 0, 0}, {1546, 8738, 4437, 0, 0, 0, 0}, {4382, 4454, 4626, 5140, 0, 0, 0}, {5503, 1536, 16384, 0, 0, 0, 0}, {128, 4864, 5376, 0, 0, 0, 0}, {120, 771, 1285, 4369, 0, 0, 0}, {1546, 4386, 17408, 0, 0, 0, 0}, {1295, 4144, 771, 4160, 0, 0, 0}, {1548, 8704, 4420, 0, 0, 0, 0}, {783, 4128, 4176, 1285, 0, 0, 0}, {5482, 1542, 16448, 0, 0, 0, 0}, {4367, 4471, 4608, 5120, 0, 0, 0}, {136, 1536, 4352, 0, 0, 0, 0}, {112, 771, 1285, 4112, 0, 0, 0}, {1546, 4896, 16384, 0, 0, 0, 0}, {1295, 4403, 771, 5188, 0, 0, 0}, {1548, 8192, 5440, 0, 0, 0, 0}, {783, 4642, 4437, 1285, 0, 0, 0}, {4454, 1542, 17476, 0, 0, 0, 0}, {1295, 112, 1536, 4096, 0, 0, 0}, {3840, 816, 1360, 0, 0, 0, 0}, {8, 546, 1092, 4369, 0, 0, 0}, {274, 4160, 5120, 0, 0, 0, 0}, {1644, 13107, 0, 0, 0, 0, 0}, {4128, 4608, 276, 0, 0, 0, 0}, {1642, 21845, 0, 0, 0, 0, 0}, {1370, 1638, 20480, 0, 0, 0, 0}, {8, 5431, 5911, 1088, 0, 0, 0}, {8, 1792, 272, 0, 0, 0, 0}, {1638, 21845, 0, 0, 0, 0, 0}, {1370, 816, 20480, 0, 0, 0, 0}, {8, 4403, 4883, 1092, 0, 0, 0}, {828, 12288, 1360, 0, 0, 0, 0}, {8, 546, 4437, 5397, 0, 0, 0}, {278, 1092, 4096, 0, 0, 0, 0}, {24415, 1632, 0, 0, 0, 0, 0}, {1696, 3072, 13056, 21760, 0, 0, 0}, {8, 289, 771, 337, 1028, 4369, 0}, {8, 4386, 4864, 1024, 0, 0, 0}, {1375, 771, 20560, 0, 0, 0, 0}, {8, 544, 4420, 1028, 0, 0, 0}, {783, 12288, 1365, 0, 0, 0, 0}, {1702, 3084, 13674, 21260, 0, 0, 0}, {8, 295, 775, 343, 1024, 4359, 0}, {8, 544, 1024, 4352, 0, 0, 0}, {771, 1365, 0, 0, 0, 0, 0}, {1706, 3072, 13056, 21248, 0, 0, 0}, {8, 291, 771, 339, 1028, 4112, 0}, {1708, 3084, 13664, 21760, 0, 0, 0}, {8, 293, 775, 341, 1024, 4096, 0}, {8, 4454, 4932, 1028, 0, 0, 0}, {1375, 1616, 20560, 0, 0, 0, 0}, {4144, 4864, 4160, 1280, 0, 0, 0}, {1614, 4369, 0, 0, 0, 0, 0}, {1290, 4386, 4626, 5200, 0, 0, 0}, {1612, 4915, 16384, 0, 0, 0, 0}, {4412, 4608, 4420, 1280, 0, 0, 0}, {4959, 8224, 5397, 0, 0, 0, 0}, {1290, 4128, 5654, 4176, 0, 0, 0}, {1608, 4471, 17408, 0, 0, 0, 0}, {840, 816, 1280, 4352, 0, 0, 0}, {4883, 5461, 0, 0, 0, 0, 0}, {1290, 112, 832, 4112, 0, 0, 0}, {4403, 1604, 17476, 0, 0, 0, 0}, {844, 112, 1280, 4096, 0, 0, 0}, {5911, 4437, 0, 0, 0, 0, 0}, {4382, 4454, 836, 5140, 0, 0, 0}, {5439, 1600, 16448, 0, 0, 0, 0}, {1728, 2560, 13056, 21760, 0, 0, 0}, {8, 305, 514, 321, 1285, 4369, 0}, {8, 4386, 514, 1088, 0, 0, 0}, {1295, 819, 20480, 0, 0, 0, 0}, {8, 512, 4420, 5376, 0, 0, 0}, {831, 12336, 1285, 0, 0, 0, 0}, {1734, 2570, 13578, 21356, 0, 0, 0}, {8, 311, 512, 327, 1287, 4359, 0}, {8, 512, 1088, 4352, 0, 0, 0}, {819, 1285, 0, 0, 0, 0, 0}, {1738, 2570, 13056, 21344, 0, 0, 0}, {8, 307, 512, 323, 1287, 4096, 0}, {1740, 2560, 13568, 21760, 0, 0, 0}, {8, 309, 514, 325, 1285, 4112, 0}, {8, 5410, 514, 1092, 0, 0, 0}, {1295, 1584, 20480, 0, 0, 0, 0}, {4128, 768, 4176, 5376, 0, 0, 0}, {1582, 4369, 0, 0, 0, 0, 0}, {4442, 4386, 768, 5120, 0, 0, 0}, {5439, 4883, 16448, 0, 0, 0, 0}, {780, 4656, 4420, 5140, 0, 0, 0}, {1578, 8192, 5461, 0, 0, 0, 0}, {5402, 4144, 5654, 4160, 0, 0, 0}, {5983, 4471, 17408, 0, 0, 0, 0}, {1320, 768, 1360, 4352, 0, 0, 0}, {4915, 5397, 0, 0, 0, 0, 0}, {1370, 112, 768, 4096, 0, 0, 0}, {4403, 5911, 17476, 0, 0, 0, 0}, {780, 1312, 1360, 4112, 0, 0, 0}, {3072, 1570, 4437, 0, 0, 0, 0}, {4382, 1314, 4626, 5188, 0, 0, 0}, {4959, 1568, 16384, 0, 0, 0, 0}, {6400, 4896, 5440, 0, 0, 0, 0}, {1566, 819, 1365, 4369, 0, 0, 0}, {5960, 4386, 17408, 0, 0, 0, 0}, {5391, 4128, 4883, 4176, 0, 0, 0}, {5928, 8704, 4420, 0, 0, 0, 0}, {4879, 4144, 4160, 5397, 0, 0, 0}, {4940, 1638, 16384, 0, 0, 0, 0}, {4367, 1319, 5911, 5200, 0, 0, 0}, {3144, 1632, 4352, 0, 0, 0, 0}, {1317, 1558, 1365, 4096, 0, 0, 0}, {5482, 4864, 16448, 0, 0, 0, 0}, {4427, 4403, 4608, 5140, 0, 0, 0}, {4972, 8224, 5376, 0, 0, 0, 0}, {4397, 4626, 4437, 5120, 0, 0, 0}, {4454, 5888, 17476, 0, 0, 0, 0}, {1375, 112, 1552, 4112, 0, 0, 0}, {240, 768, 1280, 0, 0, 0, 0}, {8, 514, 1028, 4369, 0, 0, 0}, {258, 4176, 1024, 0, 0, 0, 0}, {1548, 13107, 0, 0, 0, 0, 0}, {4144, 512, 260, 0, 0, 0, 0}, {1546, 21845, 0, 0, 0, 0, 0}, {1290, 1542, 20560, 0, 0, 0, 0}, {8, 4471, 512, 1024, 0, 0, 0}, {8, 112, 256, 0, 0, 0, 0}, {1542, 21845, 0, 0, 0, 0, 0}, {1290, 768, 20560, 0, 0, 0, 0}, {8, 4403, 512, 1028, 0, 0, 0}, {780, 12336, 1280, 0, 0, 0, 0}, {8, 514, 4437, 1024, 0, 0, 0}, {262, 1028, 4112, 0, 0, 0, 0}, {22015, 1536, 0, 0, 0, 0, 0}, {2560, 20480, 0, 0, 0, 0, 0}, {51, 4, 257, 0, 0, 0, 0}, {8, 514, 20512, 0, 0, 0, 0}, {12, 51, 771, 1283, 0, 0, 0}, {512, 4, 4096, 0, 0, 0, 0}, {255, 1285, 0, 0, 0, 0, 0}, {12, 1542, 20576, 0, 0, 0, 0}, {8, 119, 512, 1287, 0, 0, 0}, {8, 512, 20480, 0, 0, 0, 0}, {12, 51, 771, 1285, 0, 0, 0}, {20640, 2570, 0, 0, 0, 0, 0}, {259, 4, 4352, 0, 0, 0, 0}, {12, 1536, 20480, 0, 0, 0, 0}, {8, 119, 514, 1285, 0, 0, 0}, {4128, 514, 4, 0, 0, 0, 0}, {1295, 21760, 0, 0, 0, 0, 0}, {2592, 64, 4112, 0, 0, 0, 0}, {51, 68, 1297, 4369, 0, 0, 0}, {72, 4626, 20528, 0, 0, 0, 0}, {76, 51, 4883, 1299, 0, 0, 0}, {8704, 68, 5140, 0, 0, 0, 0}, {63, 64, 1301, 4096, 0, 0, 0}, {76, 5654, 20592, 0, 0, 0, 0}, {72, 119, 4608, 1303, 0, 0, 0}, {72, 4656, 20560, 0, 0, 0, 0}, {1305, 51, 4864, 1365, 0, 0, 0}, {6682, 4144, 64, 0, 0, 0, 0}, {1307, 51, 68, 4352, 0, 0, 0}, {76, 5744, 20560, 0, 0, 0, 0}, {1309, 1314, 5888, 1365, 0, 0, 0}, {5180, 8738, 68, 0, 0, 0, 0}, {4127, 4128, 64, 5376, 0, 0, 0}, {128, 2592, 8224, 20512, 0, 0, 0}, {12, 51, 771, 68, 1298, 4369, 0}, {136, 2594, 8738, 20480, 0, 0, 0}, {12, 51, 771, 64, 1296, 4112, 0}, {12, 5156, 4608, 68, 0, 0, 0}, {1370, 1317, 21845, 0, 0, 0, 0}, {12, 1574, 64, 4096, 0, 0, 0}, {3855, 1319, 1360, 0, 0, 0, 0}, {136, 2600, 8704, 20520, 0, 0, 0}, {12, 51, 771, 64, 1302, 4099, 0}, {128, 2602, 8192, 20480, 0, 0, 0}, {12, 51, 771, 68, 1300, 4352, 0}, {12, 4128, 5632, 64, 0, 0, 0}, {1370, 119, 21845, 0, 0, 0, 0}, {12, 4642, 68, 5120, 0, 0, 0}, {1327, 8224, 1360, 0, 0, 0, 0}, {192, 2560, 12336, 20528, 0, 0, 0}, {8, 51, 514, 68, 1282, 4369, 0}, {8, 514, 64, 4112, 0, 0, 0}, {51, 1280, 0, 0, 0, 0, 0}, {8, 5172, 512, 68, 0, 0, 0}, {1290, 1333, 21845, 0, 0, 0, 0}, {204, 2570, 13878, 20560, 0, 0, 0}, {8, 55, 512, 64, 1280, 4096, 0}, {8, 4144, 512, 64, 0, 0, 0}, {1290, 51, 21845, 0, 0, 0, 0}, {192, 2570, 12336, 20560, 0, 0, 0}, {8, 51, 512, 68, 1280, 4352, 0}, {204, 2560, 13884, 20540, 0, 0, 0}, {8, 55, 514, 64, 1282, 4119, 0}, {8, 514, 68, 5140, 0, 0, 0}, {63, 12288, 1280, 0, 0, 0, 0}, {2560, 64, 4096, 0, 0, 0, 0}, {51, 68, 1285, 4369, 0, 0, 0}, {72, 4642, 16962, 0, 0, 0, 0}, {1295, 51, 4864, 1347, 0, 0, 0}, {8704, 68, 5120, 0, 0, 0, 0}, {63, 64, 1285, 4112, 0, 0, 0}, {76, 5734, 17990, 0, 0, 0, 0}, {1295, 1328, 5888, 1351, 0, 0, 0}, {72, 4608, 20480, 0, 0, 0, 0}, {76, 51, 4883, 1285, 0, 0, 0}, {2570, 4128, 64, 0, 0, 0, 0}, {1295, 51, 68, 4352, 0, 0, 0}, {76, 5632, 20480, 0, 0, 0, 0}, {72, 119, 4626, 1285, 0, 0, 0}, {5160, 8738, 68, 0, 0, 0, 0}, {4111, 4144, 64, 5376, 0, 0, 0}, {2720, 20560, 0, 0, 0, 0, 0}, {768, 4, 273, 0, 0, 0, 0}, {8, 546, 21074, 0, 0, 0, 0}, {12, 51, 768, 1363, 0, 0, 0}, {544, 4, 4112, 0, 0, 0, 0}, {3840, 1365, 0, 0, 0, 0, 0}, {12, 1638, 22102, 0, 0, 0, 0}, {8, 1312, 1792, 1367, 0, 0, 0}, {8, 544, 20560, 0, 0, 0, 0}, {12, 51, 768, 1365, 0, 0, 0}, {20720, 23130, 0, 0, 0, 0, 0}, {275, 4, 4352, 0, 0, 0, 0}, {12, 1632, 20560, 0, 0, 0, 0}, {8, 1314, 1792, 1365, 0, 0, 0}, {4144, 4626, 4, 0, 0, 0, 0}, {1375, 21760, 0, 0, 0, 0, 0}, {192, 2656, 12288, 20576, 0, 0, 0}, {8, 51, 529, 68, 1302, 4369, 0}, {8, 546, 64, 4096, 0, 0, 0}, {3855, 51, 1360, 0, 0, 0, 0}, {8, 5152, 5632, 68, 0, 0, 0}, {1370, 1381, 21845, 0, 0, 0, 0}, {204, 2662, 13926, 20480, 0, 0, 0}, {8, 55, 535, 64, 1296, 4112, 0}, {8, 4128, 4608, 64, 0, 0, 0}, {1370, 51, 21845, 0, 0, 0, 0}, {192, 2666, 12288, 20480, 0, 0, 0}, {8, 51, 531, 68, 1300, 4352, 0}, {204, 2668, 13932, 20588, 0, 0, 0}, {8, 55, 533, 64, 1298, 4103, 0}, {8, 546, 68, 5120, 0, 0, 0}, {63, 12336, 1360, 0, 0, 0, 0}, {128, 2560, 8192, 20592, 0, 0, 0}, {12, 51, 768, 68, 1286, 4369, 0}, {136, 2570, 8738, 20560, 0, 0, 0}, {12, 51, 768, 64, 1280, 4096, 0}, {12, 5168, 1536, 68, 0, 0, 0}, {1290, 1397, 21845, 0, 0, 0, 0}, {12, 1542, 64, 4112, 0, 0, 0}, {119, 1280, 0, 0, 0, 0, 0}, {136, 2560, 8704, 20600, 0, 0, 0}, {12, 51, 768, 64, 1286, 4115, 0}, {128, 2570, 8224, 20560, 0, 0, 0}, {12, 51, 768, 68, 1280, 4352, 0}, {12, 4144, 1536, 64, 0, 0, 0}, {1290, 119, 21845, 0, 0, 0, 0}, {12, 4626, 68, 5140, 0, 0, 0}, {127, 8192, 1280, 0, 0, 0, 0}, {128, 2560, 8192, 20480, 0, 0, 0}, {12, 51, 771, 68, 1285, 4369, 0}, {136, 2570, 8738, 20520, 0, 0, 0}, {12, 51, 771, 64, 1283, 4099, 0}, {12, 4608, 68, 5120, 0, 0, 0}, {127, 8224, 1285, 0, 0, 0, 0}, {12, 4128, 1542, 64, 0, 0, 0}, {1295, 119, 21760, 0, 0, 0, 0}, {136, 2560, 8704, 20480, 0, 0, 0}, {12, 51, 771, 64, 1285, 4112, 0}, {128, 2570, 8224, 20512, 0, 0, 0}, {12, 51, 771, 68, 1283, 4352, 0}, {12, 1536, 64, 4096, 0, 0, 0}, {119, 1285, 0, 0, 0, 0, 0}, {12, 5156, 1542, 68, 0, 0, 0}, {1295, 1392, 21760, 0, 0, 0, 0}, {192, 2656, 12336, 20560, 0, 0, 0}, {8, 51, 529, 68, 1297, 4369, 0}, {8, 4144, 4626, 64, 0, 0, 0}, {1375, 51, 21760, 0, 0, 0, 0}, {8, 544, 68, 5140, 0, 0, 0}, {63, 12288, 1365, 0, 0, 0, 0}, {204, 2662, 13914, 20540, 0, 0, 0}, {8, 55, 535, 64, 1303, 4119, 0}, {8, 544, 64, 4112, 0, 0, 0}, {3840, 51, 1365, 0, 0, 0, 0}, {192, 2666, 12336, 20528, 0, 0, 0}, {8, 51, 531, 68, 1299, 4352, 0}, {204, 2668, 13904, 20560, 0, 0, 0}, {8, 55, 533, 64, 1301, 4096, 0}, {8, 5172, 5654, 68, 0, 0, 0}, {1375, 1376, 21760, 0, 0, 0, 0}, {20640, 23040, 0, 0, 0, 0, 0}, {274, 4, 4369, 0, 0, 0, 0}, {8, 546, 20480, 0, 0, 0, 0}, {12, 51, 771, 1360, 0, 0, 0}, {4128, 4608, 4, 0, 0, 0, 0}, {1370, 21845, 0, 0, 0, 0, 0}, {12, 1638, 20480, 0, 0, 0, 0}, {8, 1319, 1799, 1360, 0, 0, 0}, {8, 544, 20992, 0, 0, 0, 0}, {12, 51, 771, 1366, 0, 0, 0}, {2730, 20480, 0, 0, 0, 0, 0}, {771, 4, 272, 0, 0, 0, 0}, {12, 1632, 22016, 0, 0, 0, 0}, {8, 1317, 1799, 1362, 0, 0, 0}, {546, 4, 4096, 0, 0, 0, 0}, {3855, 1360, 0, 0, 0, 0, 0}, {2560, 4144, 64, 0, 0, 0, 0}, {1290, 51, 68, 4369, 0, 0, 0}, {72, 4626, 20560, 0, 0, 0, 0}, {76, 51, 4864, 1280, 0, 0, 0}, {5180, 8704, 68, 0, 0, 0, 0}, {4127, 4128, 64, 5397, 0, 0, 0}, {76, 5654, 20560, 0, 0, 0, 0}, {72, 119, 4608, 1280, 0, 0, 0}, {72, 4656, 16896, 0, 0, 0, 0}, {1290, 51, 4883, 1350, 0, 0, 0}, {2570, 64, 4112, 0, 0, 0, 0}, {51, 68, 1280, 4352, 0, 0, 0}, {76, 5744, 17920, 0, 0, 0, 0}, {1290, 1333, 5911, 1346, 0, 0, 0}, {8738, 68, 5140, 0, 0, 0, 0}, {63, 64, 1280, 4096, 0, 0, 0}, {192, 2560, 12288, 20480, 0, 0, 0}, {8, 51, 514, 68, 1285, 4369, 0}, {8, 4128, 514, 64, 0, 0, 0}, {1295, 51, 21760, 0, 0, 0, 0}, {8, 512, 68, 5120, 0, 0, 0}, {63, 12336, 1285, 0, 0, 0, 0}, {204, 2570, 13834, 20588, 0, 0, 0}, {8, 55, 512, 64, 1287, 4103, 0}, {8, 512, 64, 4096, 0, 0, 0}, {51, 1285, 0, 0, 0, 0, 0}, {192, 2570, 12288, 20576, 0, 0, 0}, {8, 51, 512, 68, 1287, 4352, 0}, {204, 2560, 13824, 20480, 0, 0, 0}, {8, 55, 514, 64, 1285, 4112, 0}, {8, 5152, 514, 68, 0, 0, 0}, {1295, 1328, 21760, 0, 0, 0, 0}, {128, 2592, 8224, 20560, 0, 0, 0}, {12, 51, 768, 68, 1297, 4369, 0}, {136, 2594, 8738, 20600, 0, 0, 0}, {12, 51, 768, 64, 1299, 4115, 0}, {12, 4656, 68, 5140, 0, 0, 0}, {1322, 8192, 1365, 0, 0, 0, 0}, {12, 4144, 5654, 64, 0, 0, 0}, {1375, 119, 21760, 0, 0, 0, 0}, {136, 2600, 8704, 20560, 0, 0, 0}, {12, 51, 768, 64, 1301, 4096, 0}, {128, 2602, 8192, 20592, 0, 0, 0}, {12, 51, 768, 68, 1303, 4352, 0}, {12, 1568, 64, 4112, 0, 0, 0}, {3840, 1314, 1365, 0, 0, 0, 0}, {12, 5168, 4626, 68, 0, 0, 0}, {1375, 1312, 21760, 0, 0, 0, 0}, {6656, 4128, 64, 0, 0, 0, 0}, {1310, 51, 68, 4369, 0, 0, 0}, {72, 4642, 20480, 0, 0, 0, 0}, {1308, 51, 4883, 1360, 0, 0, 0}, {5160, 8704, 68, 0, 0, 0, 0}, {4111, 4144, 64, 5397, 0, 0, 0}, {76, 5734, 20480, 0, 0, 0, 0}, {1304, 1319, 5911, 1360, 0, 0, 0}, {72, 4608, 20576, 0, 0, 0, 0}, {76, 51, 4864, 1302, 0, 0, 0}, {2602, 64, 4096, 0, 0, 0, 0}, {51, 68, 1300, 4352, 0, 0, 0}, {76, 5632, 20512, 0, 0, 0, 0}, {72, 119, 4626, 1298, 0, 0, 0}, {8738, 68, 5120, 0, 0, 0, 0}, {63, 64, 1296, 4112, 0, 0, 0}, {20720, 2560, 0, 0, 0, 0, 0}, {258, 4, 4369, 0, 0, 0, 0}, {8, 514, 20560, 0, 0, 0, 0}, {12, 51, 768, 1280, 0, 0, 0}, {4144, 512, 4, 0, 0, 0, 0}, {1290, 21845, 0, 0, 0, 0, 0}, {12, 1542, 20560, 0, 0, 0, 0}, {8, 119, 512, 1280, 0, 0, 0}, {8, 512, 20592, 0, 0, 0, 0}, {12, 51, 768, 1286, 0, 0, 0}, {2570, 20560, 0, 0, 0, 0, 0}, {51, 4, 256, 0, 0, 0, 0}, {12, 1536, 20528, 0, 0, 0, 0}, {8, 119, 514, 1282, 0, 0, 0}, {514, 4, 4112, 0, 0, 0, 0}, {255, 1280, 0, 0, 0, 0, 0}, {13056, 1024, 0, 0, 0, 0, 0}, {10, 80, 257, 0, 0, 0, 0}, {10, 4386, 514, 1026, 0, 0, 0}, {1036, 771, 16432, 0, 0, 0, 0}, {13260, 1028, 0, 0, 0, 0, 0}, {512, 261, 4096, 0, 0, 0, 0}, {10, 4454, 512, 1030, 0, 0, 0}, {1032, 1799, 16496, 0, 0, 0, 0}, {1032, 13056, 0, 0, 0, 0, 0}, {259, 80, 1285, 0, 0, 0, 0}, {10, 512, 1024, 4352, 0, 0, 0}, {240, 771, 1028, 0, 0, 0, 0}, {1036, 30464, 0, 0, 0, 0, 0}, {263, 80, 1285, 0, 0, 0, 0}, {10, 514, 4420, 1028, 0, 0, 0}, {783, 12288, 1024, 0, 0, 0, 0}, {816, 80, 1040, 4112, 0, 0, 0}, {2082, 1092, 4369, 0, 0, 0, 0}, {90, 4386, 4626, 1042, 0, 0, 0}, {1100, 4883, 16416, 0, 0, 0, 0}, {828, 80, 1044, 4096, 0, 0, 0}, {8704, 4437, 5397, 0, 0, 0, 0}, {90, 4454, 4608, 1046, 0, 0, 0}, {1096, 5911, 16480, 0, 0, 0, 0}, {1048, 4144, 4864, 80, 0, 0, 0}, {1100, 4403, 21845, 0, 0, 0, 0}, {1050, 816, 1088, 4352, 0, 0, 0}, {6939, 4915, 1092, 0, 0, 0, 0}, {1052, 4128, 5888, 80, 0, 0, 0}, {1096, 4471, 21845, 0, 0, 0, 0}, {4382, 4642, 4420, 5376, 0, 0, 0}, {5951, 8224, 1088, 0, 0, 0, 0}, {1056, 5888, 17408, 0, 0, 0, 0}, {90, 1140, 771, 4369, 0, 0, 0}, {4386, 5376, 0, 0, 0, 0, 0}, {1068, 771, 80, 4112, 0, 0, 0}, {5960, 1060, 17476, 0, 0, 0, 0}, {4367, 5413, 4608, 4437, 0, 0, 0}, {3084, 1062, 5440, 0, 0, 0, 0}, {783, 1831, 80, 4096, 0, 0, 0}, {1064, 4864, 16384, 0, 0, 0, 0}, {90, 4403, 771, 5397, 0, 0, 0}, {1066, 4352, 0, 0, 0, 0, 0}, {4144, 771, 80, 5140, 0, 0, 0}, {4940, 5984, 16448, 0, 0, 0, 0}, {5391, 1058, 5632, 5461, 0, 0, 0}, {1070, 8738, 4420, 0, 0, 0, 0}, {783, 4128, 80, 5120, 0, 0, 0}, {1072, 1792, 17408, 0, 0, 0, 0}, {10, 1124, 514, 4369, 0, 0, 0}, {10, 306, 514, 80, 1280, 4112, 0}, {1228, 2048, 13107, 16384, 0, 0, 0}, {1800, 1076, 17476, 0, 0, 0, 0}, {10, 5429, 512, 4437, 0, 0, 0}, {10, 310, 512, 80, 1280, 4096, 0}, {1224, 2056, 14135, 16448, 0, 0, 0}, {1800, 816, 16448, 0, 0, 0, 0}, {10, 4403, 512, 5461, 0, 0, 0}, {10, 304, 512, 80, 1280, 4352, 0}, {1220, 2056, 13107, 17476, 0, 0, 0}, {1084, 1792, 16384, 0, 0, 0, 0}, {10, 4471, 514, 5397, 0, 0, 0}, {10, 308, 514, 80, 1280, 4372, 0}, {1216, 2048, 14143, 17408, 0, 0, 0}, {13056, 1088, 0, 0, 0, 0, 0}, {10, 1285, 273, 0, 0, 0, 0}, {10, 4386, 4864, 1090, 0, 0, 0}, {1100, 819, 17219, 0, 0, 0, 0}, {16128, 1092, 0, 0, 0, 0, 0}, {544, 277, 4112, 0, 0, 0, 0}, {10, 5408, 5888, 1094, 0, 0, 0}, {1096, 1911, 18247, 0, 0, 0, 0}, {1096, 13056, 0, 0, 0, 0, 0}, {275, 80, 1285, 0, 0, 0, 0}, {10, 544, 1088, 4352, 0, 0, 0}, {3855, 819, 1092, 0, 0, 0, 0}, {1100, 30464, 0, 0, 0, 0, 0}, {279, 80, 1285, 0, 0, 0, 0}, {10, 546, 4420, 5376, 0, 0, 0}, {831, 12336, 1088, 0, 0, 0, 0}, {768, 80, 1024, 4096, 0, 0, 0}, {170, 1028, 4369, 0, 0, 0, 0}, {1032, 4386, 768, 1106, 0, 0, 0}, {1036, 4915, 21331, 0, 0, 0, 0}, {780, 80, 1028, 4112, 0, 0, 0}, {8704, 4437, 1024, 0, 0, 0, 0}, {1036, 5424, 1792, 1110, 0, 0, 0}, {1032, 6007, 22359, 0, 0, 0, 0}, {1032, 4128, 768, 80, 0, 0, 0}, {1036, 4403, 21845, 0, 0, 0, 0}, {90, 768, 1024, 4352, 0, 0, 0}, {160, 4883, 1028, 0, 0, 0, 0}, {1036, 4144, 1792, 80, 0, 0, 0}, {1032, 4471, 21845, 0, 0, 0, 0}, {4382, 4626, 4420, 1028, 0, 0, 0}, {4959, 8192, 1024, 0, 0, 0, 0}, {1120, 4864, 17408, 0, 0, 0, 0}, {90, 1076, 1799, 4369, 0, 0, 0}, {2056, 4386, 5440, 0, 0, 0, 0}, {1807, 819, 80, 4096, 0, 0, 0}, {4940, 1124, 17476, 0, 0, 0, 0}, {4367, 1072, 5632, 4437, 0, 0, 0}, {4454, 5376, 0, 0, 0, 0, 0}, {1080, 1799, 80, 4112, 0, 0, 0}, {5960, 4896, 16448, 0, 0, 0, 0}, {5391, 4403, 4608, 5461, 0, 0, 0}, {1130, 4352, 0, 0, 0, 0, 0}, {4128, 4883, 80, 5140, 0, 0, 0}, {1132, 5888, 16384, 0, 0, 0, 0}, {90, 4471, 4626, 5397, 0, 0, 0}, {5418, 8738, 4420, 0, 0, 0, 0}, {4879, 4144, 80, 5120, 0, 0, 0}, {1136, 768, 17408, 0, 0, 0, 0}, {10, 1060, 1542, 4369, 0, 0, 0}, {10, 290, 768, 80, 1280, 4096, 0}, {1164, 3084, 13107, 16448, 0, 0, 0}, {780, 1140, 17476, 0, 0, 0, 0}, {10, 1056, 1536, 4437, 0, 0, 0}, {10, 294, 774, 80, 1280, 4112, 0}, {1160, 3072, 14199, 16384, 0, 0, 0}, {1144, 768, 16384, 0, 0, 0, 0}, {10, 4403, 4883, 5397, 0, 0, 0}, {10, 288, 768, 80, 1280, 4352, 0}, {1156, 3084, 13107, 17476, 0, 0, 0}, {780, 1904, 16448, 0, 0, 0, 0}, {10, 1058, 1536, 5461, 0, 0, 0}, {10, 292, 774, 80, 1280, 4372, 0}, {1152, 3072, 14207, 17408, 0, 0, 0}, {1152, 3072, 13056, 17408, 0, 0, 0}, {10, 289, 771, 80, 1285, 4369, 0}, {10, 4386, 4864, 5376, 0, 0, 0}, {1148, 771, 16448, 0, 0, 0, 0}, {1156, 3084, 14152, 17476, 0, 0, 0}, {10, 293, 773, 80, 1285, 4357, 0}, {10, 1062, 1542, 5440, 0, 0, 0}, {783, 1911, 16384, 0, 0, 0, 0}, {1160, 3072, 13056, 16384, 0, 0, 0}, {10, 291, 771, 80, 1285, 4112, 0}, {10, 1056, 1536, 4352, 0, 0, 0}, {1140, 771, 17476, 0, 0, 0, 0}, {1164, 3084, 14144, 16448, 0, 0, 0}, {10, 295, 773, 80, 1285, 4096, 0}, {10, 1060, 1542, 4420, 0, 0, 0}, {783, 1136, 17408, 0, 0, 0, 0}, {4144, 4864, 80, 5120, 0, 0, 0}, {1134, 4369, 0, 0, 0, 0, 0}, {5402, 4386, 4626, 5440, 0, 0, 0}, {5983, 4915, 16384, 0, 0, 0, 0}, {4892, 4128, 80, 5140, 0, 0, 0}, {5439, 8704, 4437, 0, 0, 0, 0}, {90, 4454, 4608, 5376, 0, 0, 0}, {1128, 5911, 16448, 0, 0, 0, 0}, {1800, 816, 80, 4112, 0, 0, 0}, {2048, 4403, 5461, 0, 0, 0, 0}, {90, 1072, 1792, 4352, 0, 0, 0}, {1124, 4883, 17476, 0, 0, 0, 0}, {1084, 1792, 80, 4096, 0, 0, 0}, {4471, 5397, 0, 0, 0, 0, 0}, {4382, 1076, 5654, 4420, 0, 0, 0}, {4959, 1120, 17408, 0, 0, 0, 0}, {160, 4864, 1024, 0, 0, 0, 0}, {90, 771, 1028, 4369, 0, 0, 0}, {1032, 4386, 21760, 0, 0, 0, 0}, {1036, 4144, 771, 80, 0, 0, 0}, {4940, 8224, 1028, 0, 0, 0, 0}, {4367, 4608, 4437, 1024, 0, 0, 0}, {1036, 4454, 21760, 0, 0, 0, 0}, {1032, 4128, 1799, 80, 0, 0, 0}, {1032, 4896, 21248, 0, 0, 0, 0}, {1036, 4403, 771, 1110, 0, 0, 0}, {170, 1024, 4352, 0, 0, 0, 0}, {771, 80, 1028, 4112, 0, 0, 0}, {1036, 5984, 22272, 0, 0, 0, 0}, {1032, 5413, 1799, 1106, 0, 0, 0}, {8738, 4420, 1028, 0, 0, 0, 0}, {783, 80, 1024, 4096, 0, 0, 0}, {3840, 816, 1088, 0, 0, 0, 0}, {10, 546, 1092, 4369, 0, 0, 0}, {274, 80, 1280, 0, 0, 0, 0}, {1100, 13107, 0, 0, 0, 0, 0}, {828, 12288, 1092, 0, 0, 0, 0}, {10, 544, 4437, 5397, 0, 0, 0}, {278, 80, 1280, 0, 0, 0, 0}, {1096, 30583, 0, 0, 0, 0, 0}, {1096, 816, 17152, 0, 0, 0, 0}, {10, 4403, 4883, 1094, 0, 0, 0}, {10, 1280, 272, 0, 0, 0, 0}, {13107, 1092, 0, 0, 0, 0, 0}, {1100, 1904, 18176, 0, 0, 0, 0}, {10, 5429, 5911, 1090, 0, 0, 0}, {546, 276, 4096, 0, 0, 0, 0}, {16191, 1088, 0, 0, 0, 0, 0}, {1216, 2048, 13056, 17408, 0, 0, 0}, {10, 305, 514, 80, 1285, 4369, 0}, {10, 4386, 514, 5440, 0, 0, 0}, {1807, 819, 16384, 0, 0, 0, 0}, {1220, 2056, 14088, 17476, 0, 0, 0}, {10, 309, 512, 80, 1285, 4357, 0}, {10, 4454, 512, 5376, 0, 0, 0}, {1080, 1799, 16448, 0, 0, 0, 0}, {1224, 2056, 13056, 16448, 0, 0, 0}, {10, 307, 512, 80, 1285, 4096, 0}, {10, 1120, 512, 4352, 0, 0, 0}, {1076, 1799, 17476, 0, 0, 0, 0}, {1228, 2048, 14080, 16384, 0, 0, 0}, {10, 311, 514, 80, 1285, 4112, 0}, {10, 5408, 514, 4420, 0, 0, 0}, {1807, 1072, 17408, 0, 0, 0, 0}, {4128, 768, 80, 5120, 0, 0, 0}, {1070, 4369, 0, 0, 0, 0, 0}, {90, 4386, 768, 5376, 0, 0, 0}, {1068, 4883, 16448, 0, 0, 0, 0}, {780, 4144, 80, 5140, 0, 0, 0}, {1066, 8704, 4437, 0, 0, 0, 0}, {5402, 1062, 5654, 5440, 0, 0, 0}, {4959, 6007, 16384, 0, 0, 0, 0}, {1064, 768, 80, 4096, 0, 0, 0}, {4403, 5397, 0, 0, 0, 0, 0}, {90, 1136, 768, 4352, 0, 0, 0}, {1060, 5911, 17476, 0, 0, 0, 0}, {780, 1824, 80, 4112, 0, 0, 0}, {3072, 1058, 5461, 0, 0, 0, 0}, {4382, 5424, 4626, 4420, 0, 0, 0}, {5983, 1056, 17408, 0, 0, 0, 0}, {6912, 4896, 1088, 0, 0, 0, 0}, {1054, 819, 1092, 4369, 0, 0, 0}, {1096, 4386, 21760, 0, 0, 0, 0}, {1052, 4128, 4883, 80, 0, 0, 0}, {5928, 8192, 1092, 0, 0, 0, 0}, {4367, 4656, 4437, 5397, 0, 0, 0}, {1100, 4454, 21760, 0, 0, 0, 0}, {1048, 4144, 5911, 80, 0, 0, 0}, {1096, 4864, 16480, 0, 0, 0, 0}, {90, 4403, 4608, 1046, 0, 0, 0}, {2090, 1088, 4352, 0, 0, 0, 0}, {819, 80, 1044, 4096, 0, 0, 0}, {1100, 5888, 16416, 0, 0, 0, 0}, {90, 4471, 4626, 1042, 0, 0, 0}, {8738, 4420, 5376, 0, 0, 0, 0}, {831, 80, 1040, 4112, 0, 0, 0}, {240, 768, 1024, 0, 0, 0, 0}, {10, 514, 1028, 4369, 0, 0, 0}, {258, 80, 1280, 0, 0, 0, 0}, {1036, 13107, 0, 0, 0, 0, 0}, {780, 12336, 1028, 0, 0, 0, 0}, {10, 512, 4437, 1024, 0, 0, 0}, {262, 80, 1280, 0, 0, 0, 0}, {1032, 30583, 0, 0, 0, 0, 0}, {1032, 768, 16496, 0, 0, 0, 0}, {10, 4403, 512, 1030, 0, 0, 0}, {10, 80, 256, 0, 0, 0, 0}, {13107, 1028, 0, 0, 0, 0, 0}, {1036, 1792, 16432, 0, 0, 0, 0}, {10, 4471, 514, 1026, 0, 0, 0}, {514, 260, 4112, 0, 0, 0, 0}, {13311, 1024, 0, 0, 0, 0, 0}, {3072, 12288, 0, 0, 0, 0, 0}, {2, 85, 257, 0, 0, 0, 0}, {2, 1024, 4096, 0, 0, 0, 0}, {255, 771, 0, 0, 0, 0, 0}, {8, 12352, 1028, 0, 0, 0, 0}, {10, 773, 85, 1285, 0, 0, 0}, {10, 1542, 20480, 0, 0, 0, 0}, {8, 119, 775, 1024, 0, 0, 0}, {8, 12288, 1024, 0, 0, 0, 0}, {10, 771, 85, 1285, 0, 0, 0}, {10, 1536, 20480, 0, 0, 0, 0}, {8, 119, 771, 1028, 0, 0, 0}, {12480, 3084, 0, 0, 0, 0, 0}, {2, 261, 4352, 0, 0, 0, 0}, {2, 4160, 1028, 0, 0, 0, 0}, {783, 13056, 0, 0, 0, 0, 0}, {3136, 32, 4112, 0, 0, 0, 0}, {34, 785, 85, 4369, 0, 0, 0}, {34, 4626, 17408, 0, 0, 0, 0}, {95, 32, 787, 4096, 0, 0, 0}, {40, 12368, 5140, 0, 0, 0, 0}, {42, 789, 85, 5397, 0, 0, 0}, {42, 5654, 16384, 0, 0, 0, 0}, {95, 119, 791, 5120, 0, 0, 0}, {40, 12336, 5200, 0, 0, 0, 0}, {793, 819, 85, 5376, 0, 0, 0}, {5722, 5744, 16448, 0, 0, 0, 0}, {5147, 5171, 5888, 5188, 0, 0, 0}, {7196, 32, 4176, 0, 0, 0, 0}, {797, 34, 85, 4352, 0, 0, 0}, {4698, 34, 17476, 0, 0, 0, 0}, {4127, 32, 4864, 4160, 0, 0, 0}, {3072, 32, 4096, 0, 0, 0, 0}, {34, 771, 85, 4369, 0, 0, 0}, {34, 4608, 17408, 0, 0, 0, 0}, {95, 32, 771, 4112, 0, 0, 0}, {40, 9252, 5188, 0, 0, 0, 0}, {783, 805, 85, 5376, 0, 0, 0}, {5708, 5734, 16448, 0, 0, 0, 0}, {5135, 5159, 5888, 5200, 0, 0, 0}, {40, 12288, 5120, 0, 0, 0, 0}, {42, 771, 85, 5397, 0, 0, 0}, {42, 5632, 16384, 0, 0, 0, 0}, {95, 119, 771, 5140, 0, 0, 0}, {3084, 32, 4160, 0, 0, 0, 0}, {783, 34, 85, 4352, 0, 0, 0}, {4680, 34, 17476, 0, 0, 0, 0}, {4111, 32, 4864, 4176, 0, 0, 0}, {3264, 12336, 0, 0, 0, 0, 0}, {2, 1280, 273, 0, 0, 0, 0}, {2, 1088, 4112, 0, 0, 0, 0}, {3840, 819, 0, 0, 0, 0, 0}, {8, 13364, 1092, 0, 0, 0, 0}, {10, 821, 85, 1280, 0, 0, 0}, {10, 1638, 20560, 0, 0, 0, 0}, {8, 1079, 1792, 1088, 0, 0, 0}, {8, 12336, 1088, 0, 0, 0, 0}, {10, 819, 85, 1280, 0, 0, 0}, {10, 1632, 20560, 0, 0, 0, 0}, {8, 1075, 1792, 1092, 0, 0, 0}, {12528, 15420, 0, 0, 0, 0, 0}, {2, 277, 4352, 0, 0, 0, 0}, {2, 4176, 5140, 0, 0, 0, 0}, {831, 13056, 0, 0, 0, 0, 0}, {128, 3136, 12352, 16448, 0, 0, 0}, {10, 34, 788, 85, 1285, 4369, 0}, {10, 34, 4674, 5120, 0, 0, 0}, {127, 835, 16384, 0, 0, 0, 0}, {136, 3140, 12288, 17476, 0, 0, 0}, {10, 32, 784, 85, 1285, 4112, 0}, {10, 32, 1606, 4096, 0, 0, 0}, {119, 839, 17408, 0, 0, 0, 0}, {136, 3144, 12360, 17408, 0, 0, 0}, {10, 32, 790, 85, 1285, 4101, 0}, {10, 32, 5632, 4160, 0, 0, 0}, {843, 119, 17476, 0, 0, 0, 0}, {128, 3148, 12288, 16384, 0, 0, 0}, {10, 34, 786, 85, 1285, 4352, 0}, {10, 34, 4608, 5188, 0, 0, 0}, {847, 816, 16448, 0, 0, 0, 0}, {160, 3072, 12368, 20560, 0, 0, 0}, {8, 34, 772, 85, 1028, 4369, 0}, {8, 34, 4690, 1024, 0, 0, 0}, {95, 851, 20480, 0, 0, 0, 0}, {8, 32, 1028, 4112, 0, 0, 0}, {768, 85, 0, 0, 0, 0, 0}, {170, 3084, 12336, 22102, 0, 0, 0}, {8, 32, 768, 87, 1024, 4096, 0}, {8, 32, 4176, 1024, 0, 0, 0}, {780, 13107, 85, 0, 0, 0, 0}, {170, 3072, 12378, 22106, 0, 0, 0}, {8, 32, 772, 87, 1028, 4119, 0}, {160, 3084, 12336, 20560, 0, 0, 0}, {8, 34, 768, 85, 1024, 4352, 0}, {8, 34, 4626, 1028, 0, 0, 0}, {95, 768, 20480, 0, 0, 0, 0}, {160, 3168, 12384, 20480, 0, 0, 0}, {8, 34, 790, 85, 1041, 4369, 0}, {8, 34, 5632, 1088, 0, 0, 0}, {95, 867, 20560, 0, 0, 0, 0}, {8, 32, 1092, 4096, 0, 0, 0}, {3855, 816, 85, 0, 0, 0, 0}, {170, 3174, 12288, 22118, 0, 0, 0}, {8, 32, 784, 87, 1047, 4112, 0}, {8, 32, 4160, 5120, 0, 0, 0}, {828, 13107, 85, 0, 0, 0, 0}, {170, 3178, 12394, 22122, 0, 0, 0}, {8, 32, 788, 87, 1043, 4103, 0}, {160, 3180, 12288, 20480, 0, 0, 0}, {8, 34, 786, 85, 1045, 4352, 0}, {8, 34, 4608, 1092, 0, 0, 0}, {95, 816, 20560, 0, 0, 0, 0}, {128, 3072, 12400, 16384, 0, 0, 0}, {10, 34, 774, 85, 1280, 4369, 0}, {10, 34, 1536, 5200, 0, 0, 0}, {780, 883, 16448, 0, 0, 0, 0}, {136, 3084, 12336, 17476, 0, 0, 0}, {10, 32, 768, 85, 1280, 4096, 0}, {10, 32, 1542, 4112, 0, 0, 0}, {119, 768, 17408, 0, 0, 0, 0}, {136, 3072, 12408, 17408, 0, 0, 0}, {10, 32, 774, 85, 1280, 4117, 0}, {10, 32, 1536, 4176, 0, 0, 0}, {780, 119, 17476, 0, 0, 0, 0}, {128, 3084, 12336, 16448, 0, 0, 0}, {10, 34, 768, 85, 1280, 4352, 0}, {10, 34, 4626, 5140, 0, 0, 0}, {127, 768, 16384, 0, 0, 0, 0}, {128, 3072, 12288, 16384, 0, 0, 0}, {10, 34, 771, 85, 1285, 4369, 0}, {10, 34, 4608, 5120, 0, 0, 0}, {127, 771, 16448, 0, 0, 0, 0}, {136, 3084, 12360, 17476, 0, 0, 0}, {10, 32, 773, 85, 1285, 4101, 0}, {10, 32, 1542, 4160, 0, 0, 0}, {783, 119, 17408, 0, 0, 0, 0}, {136, 3072, 12288, 17408, 0, 0, 0}, {10, 32, 771, 85, 1285, 4112, 0}, {10, 32, 1536, 4096, 0, 0, 0}, {119, 771, 17476, 0, 0, 0, 0}, {128, 3084, 12352, 16448, 0, 0, 0}, {10, 34, 773, 85, 1285, 4352, 0}, {10, 34, 1542, 5188, 0, 0, 0}, {783, 880, 16384, 0, 0, 0, 0}, {160, 3168, 12336, 20560, 0, 0, 0}, {8, 34, 785, 85, 1041, 4369, 0}, {8, 34, 4626, 1088, 0, 0, 0}, {95, 819, 20480, 0, 0, 0, 0}, {8, 32, 4176, 5140, 0, 0, 0}, {831, 13056, 85, 0, 0, 0, 0}, {170, 3174, 12378, 22076, 0, 0, 0}, {8, 32, 791, 87, 1047, 4119, 0}, {8, 32, 1088, 4112, 0, 0, 0}, {3840, 819, 85, 0, 0, 0, 0}, {170, 3178, 12336, 22064, 0, 0, 0}, {8, 32, 787, 87, 1043, 4096, 0}, {160, 3180, 12368, 20560, 0, 0, 0}, {8, 34, 789, 85, 1045, 4352, 0}, {8, 34, 5654, 1092, 0, 0, 0}, {95, 864, 20480, 0, 0, 0, 0}, {160, 3072, 12288, 20480, 0, 0, 0}, {8, 34, 771, 85, 1028, 4369, 0}, {8, 34, 4608, 1024, 0, 0, 0}, {95, 771, 20560, 0, 0, 0, 0}, {8, 32, 4160, 1028, 0, 0, 0}, {783, 13056, 85, 0, 0, 0, 0}, {170, 3084, 12394, 22028, 0, 0, 0}, {8, 32, 775, 87, 1024, 4103, 0}, {8, 32, 1024, 4096, 0, 0, 0}, {771, 85, 0, 0, 0, 0, 0}, {170, 3072, 12288, 22016, 0, 0, 0}, {8, 32, 771, 87, 1028, 4112, 0}, {160, 3084, 12384, 20480, 0, 0, 0}, {8, 34, 775, 85, 1024, 4352, 0}, {8, 34, 4672, 1028, 0, 0, 0}, {95, 848, 20560, 0, 0, 0, 0}, {128, 3136, 12336, 16448, 0, 0, 0}, {10, 34, 785, 85, 1280, 4369, 0}, {10, 34, 4626, 5200, 0, 0, 0}, {844, 819, 16384, 0, 0, 0, 0}, {136, 3140, 12408, 17476, 0, 0, 0}, {10, 32, 789, 85, 1280, 4117, 0}, {10, 32, 5654, 4176, 0, 0, 0}, {840, 119, 17408, 0, 0, 0, 0}, {136, 3144, 12336, 17408, 0, 0, 0}, {10, 32, 787, 85, 1280, 4096, 0}, {10, 32, 1600, 4112, 0, 0, 0}, {119, 836, 17476, 0, 0, 0, 0}, {128, 3148, 12400, 16384, 0, 0, 0}, {10, 34, 791, 85, 1280, 4352, 0}, {10, 34, 4688, 5140, 0, 0, 0}, {127, 832, 16448, 0, 0, 0, 0}, {12480, 15360, 0, 0, 0, 0, 0}, {2, 276, 4369, 0, 0, 0, 0}, {2, 4160, 5120, 0, 0, 0, 0}, {828, 13107, 0, 0, 0, 0, 0}, {8, 12288, 1092, 0, 0, 0, 0}, {10, 816, 85, 1285, 0, 0, 0}, {10, 1638, 20480, 0, 0, 0, 0}, {8, 1079, 1799, 1088, 0, 0, 0}, {8, 13312, 1088, 0, 0, 0, 0}, {10, 822, 85, 1285, 0, 0, 0}, {10, 1632, 20480, 0, 0, 0, 0}, {8, 1075, 1799, 1092, 0, 0, 0}, {3276, 12288, 0, 0, 0, 0, 0}, {2, 1285, 272, 0, 0, 0, 0}, {2, 1092, 4096, 0, 0, 0, 0}, {3855, 816, 0, 0, 0, 0, 0}, {3072, 32, 4176, 0, 0, 0, 0}, {780, 34, 85, 4369, 0, 0, 0}, {4698, 34, 17408, 0, 0, 0, 0}, {4127, 32, 4883, 4160, 0, 0, 0}, {40, 12336, 5140, 0, 0, 0, 0}, {42, 768, 85, 5376, 0, 0, 0}, {42, 5654, 16448, 0, 0, 0, 0}, {95, 119, 768, 5120, 0, 0, 0}, {40, 9216, 5200, 0, 0, 0, 0}, {780, 806, 85, 5397, 0, 0, 0}, {5722, 5744, 16384, 0, 0, 0, 0}, {5147, 5171, 5911, 5188, 0, 0, 0}, {3084, 32, 4112, 0, 0, 0, 0}, {34, 768, 85, 4352, 0, 0, 0}, {34, 4626, 17476, 0, 0, 0, 0}, {95, 32, 768, 4096, 0, 0, 0}, {7168, 32, 4160, 0, 0, 0, 0}, {798, 34, 85, 4369, 0, 0, 0}, {4680, 34, 17408, 0, 0, 0, 0}, {4111, 32, 4883, 4176, 0, 0, 0}, {40, 12288, 5188, 0, 0, 0, 0}, {794, 816, 85, 5397, 0, 0, 0}, {5708, 5734, 16384, 0, 0, 0, 0}, {5135, 5159, 5911, 5200, 0, 0, 0}, {40, 12384, 5120, 0, 0, 0, 0}, {42, 790, 85, 5376, 0, 0, 0}, {42, 5632, 16448, 0, 0, 0, 0}, {95, 119, 788, 5140, 0, 0, 0}, {3148, 32, 4096, 0, 0, 0, 0}, {34, 786, 85, 4352, 0, 0, 0}, {34, 4608, 17476, 0, 0, 0, 0}, {95, 32, 784, 4112, 0, 0, 0}, {12528, 3072, 0, 0, 0, 0, 0}, {2, 260, 4369, 0, 0, 0, 0}, {2, 4176, 1024, 0, 0, 0, 0}, {780, 13107, 0, 0, 0, 0, 0}, {8, 12336, 1028, 0, 0, 0, 0}, {10, 768, 85, 1280, 0, 0, 0}, {10, 1542, 20560, 0, 0, 0, 0}, {8, 119, 768, 1024, 0, 0, 0}, {8, 12400, 1024, 0, 0, 0, 0}, {10, 774, 85, 1280, 0, 0, 0}, {10, 1536, 20560, 0, 0, 0, 0}, {8, 119, 772, 1028, 0, 0, 0}, {3084, 12336, 0, 0, 0, 0, 0}, {2, 85, 256, 0, 0, 0, 0}, {2, 1028, 4112, 0, 0, 0, 0}, {255, 768, 0, 0, 0, 0, 0}, {512, 21760, 0, 0, 0, 0, 0}, {12, 48, 257, 0, 0, 0, 0}, {21930, 514, 0, 0, 0, 0, 0}, {259, 1024, 4096, 0, 0, 0, 0}, {12, 516, 4420, 1028, 0, 0, 0}, {522, 8272, 1285, 0, 0, 0, 0}, {12, 4454, 518, 1024, 0, 0, 0}, {1295, 1799, 20480, 0, 0, 0, 0}, {520, 21760, 0, 0, 0, 0, 0}, {48, 771, 261, 0, 0, 0, 0}, {522, 30464, 0, 0, 0, 0, 0}, {263, 4160, 1028, 0, 0, 0, 0}, {12, 512, 1024, 4352, 0, 0, 0}, {240, 514, 1285, 0, 0, 0, 0}, {12, 4386, 514, 1028, 0, 0, 0}, {1295, 512, 20480, 0, 0, 0, 0}, {48, 528, 1360, 4112, 0, 0, 0}, {2116, 546, 4369, 0, 0, 0, 0}, {1370, 48, 530, 4096, 0, 0, 0}, {4403, 4883, 17408, 0, 0, 0, 0}, {60, 532, 4420, 5140, 0, 0, 0}, {554, 8256, 5397, 0, 0, 0, 0}, {4442, 4454, 534, 5120, 0, 0, 0}, {5439, 5911, 16384, 0, 0, 0, 0}, {536, 48, 4176, 5376, 0, 0, 0}, {554, 13107, 4437, 0, 0, 0, 0}, {5402, 48, 5888, 4160, 0, 0, 0}, {4959, 4471, 17476, 0, 0, 0, 0}, {540, 544, 1360, 4352, 0, 0, 0}, {7453, 546, 5461, 0, 0, 0, 0}, {4382, 4386, 4864, 5188, 0, 0, 0}, {5983, 544, 16448, 0, 0, 0, 0}, {544, 21760, 0, 0, 0, 0, 0}, {12, 771, 273, 0, 0, 0, 0}, {24320, 546, 0, 0, 0, 0, 0}, {275, 1088, 4112, 0, 0, 0, 0}, {12, 548, 4420, 5376, 0, 0, 0}, {554, 9509, 1365, 0, 0, 0, 0}, {12, 5414, 5888, 1088, 0, 0, 0}, {1375, 1911, 20560, 0, 0, 0, 0}, {552, 21760, 0, 0, 0, 0, 0}, {48, 771, 277, 0, 0, 0, 0}, {554, 30464, 0, 0, 0, 0, 0}, {279, 4176, 5140, 0, 0, 0, 0}, {12, 544, 1088, 4352, 0, 0, 0}, {3855, 546, 1365, 0, 0, 0, 0}, {12, 4386, 4864, 1092, 0, 0, 0}, {1375, 544, 20560, 0, 0, 0, 0}, {48, 512, 1280, 4096, 0, 0, 0}, {204, 514, 4369, 0, 0, 0, 0}, {1290, 48, 514, 4112, 0, 0, 0}, {4403, 512, 17408, 0, 0, 0, 0}, {520, 564, 4420, 1280, 0, 0, 0}, {522, 13621, 5461, 0, 0, 0, 0}, {1290, 1334, 1792, 5200, 0, 0, 0}, {520, 6007, 16448, 0, 0, 0, 0}, {520, 48, 4160, 1280, 0, 0, 0}, {522, 13107, 4437, 0, 0, 0, 0}, {1290, 48, 1792, 4176, 0, 0, 0}, {520, 4471, 17476, 0, 0, 0, 0}, {60, 512, 1280, 4352, 0, 0, 0}, {192, 514, 5397, 0, 0, 0, 0}, {4382, 4386, 514, 5140, 0, 0, 0}, {5439, 512, 16384, 0, 0, 0, 0}, {5888, 5440, 0, 0, 0, 0, 0}, {590, 626, 1285, 4369, 0, 0, 0}, {5482, 578, 16384, 0, 0, 0, 0}, {4367, 4403, 4931, 5120, 0, 0, 0}, {4864, 4420, 0, 0, 0, 0, 0}, {586, 48, 1285, 4112, 0, 0, 0}, {4454, 582, 17408, 0, 0, 0, 0}, {1295, 48, 1863, 4096, 0, 0, 0}, {584, 8192, 5376, 0, 0, 0, 0}, {60, 4883, 4437, 1285, 0, 0, 0}, {586, 5984, 16448, 0, 0, 0, 0}, {1295, 1331, 5632, 5188, 0, 0, 0}, {588, 4352, 0, 0, 0, 0, 0}, {48, 4626, 4176, 1285, 0, 0, 0}, {590, 4386, 17476, 0, 0, 0, 0}, {1295, 48, 4608, 4160, 0, 0, 0}, {1792, 1360, 0, 0, 0, 0, 0}, {12, 610, 1028, 4369, 0, 0, 0}, {1370, 594, 20480, 0, 0, 0, 0}, {12, 4403, 4947, 1024, 0, 0, 0}, {12, 48, 768, 340, 1028, 4112, 0}, {682, 2048, 8192, 21845, 0, 0, 0}, {12, 48, 768, 342, 1024, 4096, 0}, {680, 2056, 8224, 22359, 0, 0, 0}, {1800, 8224, 1360, 0, 0, 0, 0}, {12, 4915, 4437, 1024, 0, 0, 0}, {1370, 1792, 20480, 0, 0, 0, 0}, {12, 4471, 4883, 1028, 0, 0, 0}, {12, 48, 768, 336, 1024, 4352, 0}, {674, 2056, 8738, 21845, 0, 0, 0}, {12, 48, 768, 338, 1028, 4370, 0}, {672, 2048, 8704, 22367, 0, 0, 0}, {608, 5376, 0, 0, 0, 0, 0}, {60, 1799, 1365, 4369, 0, 0, 0}, {5960, 610, 16448, 0, 0, 0, 0}, {4367, 4403, 5632, 5200, 0, 0, 0}, {2056, 4896, 4420, 0, 0, 0, 0}, {1807, 48, 1365, 4096, 0, 0, 0}, {4454, 4864, 17408, 0, 0, 0, 0}, {1375, 48, 1799, 4112, 0, 0, 0}, {5928, 8224, 5440, 0, 0, 0, 0}, {4879, 4915, 4437, 5120, 0, 0, 0}, {5482, 5888, 16384, 0, 0, 0, 0}, {4427, 4471, 4883, 5140, 0, 0, 0}, {620, 4352, 0, 0, 0, 0, 0}, {48, 4626, 4160, 5397, 0, 0, 0}, {4940, 4386, 17476, 0, 0, 0, 0}, {5391, 48, 4608, 4176, 0, 0, 0}, {624, 1280, 0, 0, 0, 0, 0}, {12, 1542, 1092, 4369, 0, 0, 0}, {1290, 626, 20560, 0, 0, 0, 0}, {12, 4403, 1536, 1088, 0, 0, 0}, {12, 48, 768, 324, 1280, 4096, 0}, {650, 2570, 8224, 21845, 0, 0, 0}, {12, 48, 768, 326, 1286, 4112, 0}, {648, 2560, 8192, 22391, 0, 0, 0}, {632, 8192, 1280, 0, 0, 0, 0}, {12, 4883, 4437, 5397, 0, 0, 0}, {1290, 1904, 20560, 0, 0, 0, 0}, {12, 5427, 1536, 1092, 0, 0, 0}, {12, 48, 768, 320, 1280, 4352, 0}, {642, 2570, 8738, 21845, 0, 0, 0}, {12, 48, 768, 322, 1286, 4370, 0}, {640, 2560, 8704, 22399, 0, 0, 0}, {640, 2560, 8704, 21760, 0, 0, 0}, {12, 48, 771, 321, 1285, 4369, 0}, {642, 2570, 8738, 22312, 0, 0, 0}, {12, 48, 771, 323, 1283, 4355, 0}, {12, 4864, 4420, 5376, 0, 0, 0}, {634, 8224, 1285, 0, 0, 0, 0}, {12, 5414, 1542, 1088, 0, 0, 0}, {1295, 1911, 20480, 0, 0, 0, 0}, {648, 2560, 8192, 21760, 0, 0, 0}, {12, 48, 771, 325, 1285, 4112, 0}, {650, 2570, 8224, 22304, 0, 0, 0}, {12, 48, 771, 327, 1283, 4096, 0}, {12, 1536, 1088, 4352, 0, 0, 0}, {626, 1285, 0, 0, 0, 0, 0}, {12, 4386, 1542, 1092, 0, 0, 0}, {1295, 624, 20480, 0, 0, 0, 0}, {48, 4608, 4176, 5376, 0, 0, 0}, {622, 4369, 0, 0, 0, 0, 0}, {5402, 48, 4626, 4160, 0, 0, 0}, {4959, 4403, 17408, 0, 0, 0, 0}, {4892, 4896, 4420, 5140, 0, 0, 0}, {5951, 8192, 5461, 0, 0, 0, 0}, {4442, 4454, 4864, 5120, 0, 0, 0}, {5503, 5911, 16448, 0, 0, 0, 0}, {1800, 48, 1360, 4112, 0, 0, 0}, {2048, 4915, 4437, 0, 0, 0, 0}, {1370, 48, 1792, 4096, 0, 0, 0}, {4471, 4883, 17476, 0, 0, 0, 0}, {60, 1792, 1360, 4352, 0, 0, 0}, {610, 5397, 0, 0, 0, 0, 0}, {4382, 4386, 5654, 5188, 0, 0, 0}, {5983, 608, 16384, 0, 0, 0, 0}, {672, 2048, 8704, 21760, 0, 0, 0}, {12, 48, 771, 337, 1028, 4369, 0}, {674, 2056, 8738, 22280, 0, 0, 0}, {12, 48, 771, 339, 1024, 4355, 0}, {12, 4896, 4420, 1028, 0, 0, 0}, {1807, 8192, 1365, 0, 0, 0, 0}, {12, 4454, 4864, 1024, 0, 0, 0}, {1375, 1799, 20560, 0, 0, 0, 0}, {680, 2056, 8224, 21760, 0, 0, 0}, {12, 48, 771, 341, 1024, 4096, 0}, {682, 2048, 8192, 22272, 0, 0, 0}, {12, 48, 771, 343, 1028, 4112, 0}, {12, 608, 1024, 4352, 0, 0, 0}, {1799, 1365, 0, 0, 0, 0, 0}, {12, 4386, 4928, 1028, 0, 0, 0}, {1375, 592, 20560, 0, 0, 0, 0}, {48, 4608, 4160, 1280, 0, 0, 0}, {590, 4369, 0, 0, 0, 0, 0}, {1290, 48, 4626, 4176, 0, 0, 0}, {588, 4403, 17408, 0, 0, 0, 0}, {60, 4864, 4420, 1280, 0, 0, 0}, {586, 8224, 5397, 0, 0, 0, 0}, {1290, 1334, 5654, 5200, 0, 0, 0}, {584, 6007, 16384, 0, 0, 0, 0}, {584, 48, 1280, 4096, 0, 0, 0}, {4883, 4437, 0, 0, 0, 0, 0}, {1290, 48, 1856, 4112, 0, 0, 0}, {4471, 580, 17476, 0, 0, 0, 0}, {588, 624, 1280, 4352, 0, 0, 0}, {5911, 5461, 0, 0, 0, 0, 0}, {4382, 4386, 4944, 5140, 0, 0, 0}, {5503, 576, 16448, 0, 0, 0, 0}, {192, 512, 5376, 0, 0, 0, 0}, {60, 514, 1285, 4369, 0, 0, 0}, {5418, 514, 16448, 0, 0, 0, 0}, {4367, 4403, 512, 5120, 0, 0, 0}, {520, 13056, 4420, 0, 0, 0, 0}, {522, 48, 4176, 1285, 0, 0, 0}, {522, 4454, 17408, 0, 0, 0, 0}, {1295, 48, 1799, 4160, 0, 0, 0}, {520, 13568, 5440, 0, 0, 0, 0}, {522, 566, 4437, 1285, 0, 0, 0}, {522, 5984, 16384, 0, 0, 0, 0}, {1295, 1331, 1799, 5188, 0, 0, 0}, {204, 512, 4352, 0, 0, 0, 0}, {48, 514, 1285, 4112, 0, 0, 0}, {4386, 514, 17476, 0, 0, 0, 0}, {1295, 48, 512, 4096, 0, 0, 0}, {3840, 544, 1360, 0, 0, 0, 0}, {12, 546, 1092, 4369, 0, 0, 0}, {1370, 546, 20480, 0, 0, 0, 0}, {12, 4403, 4883, 1088, 0, 0, 0}, {48, 768, 276, 0, 0, 0, 0}, {554, 21845, 0, 0, 0, 0, 0}, {278, 4160, 5120, 0, 0, 0, 0}, {552, 30583, 0, 0, 0, 0, 0}, {552, 9472, 1360, 0, 0, 0, 0}, {12, 550, 4437, 5397, 0, 0, 0}, {1370, 1904, 20480, 0, 0, 0, 0}, {12, 5427, 5911, 1092, 0, 0, 0}, {12, 768, 272, 0, 0, 0, 0}, {546, 21845, 0, 0, 0, 0, 0}, {274, 1092, 4096, 0, 0, 0, 0}, {24415, 544, 0, 0, 0, 0, 0}, {7424, 544, 5440, 0, 0, 0, 0}, {542, 546, 1365, 4369, 0, 0, 0}, {5960, 546, 16384, 0, 0, 0, 0}, {4367, 4403, 4883, 5200, 0, 0, 0}, {552, 13056, 4420, 0, 0, 0, 0}, {538, 48, 4160, 5397, 0, 0, 0}, {4940, 4454, 17408, 0, 0, 0, 0}, {5391, 48, 5911, 4176, 0, 0, 0}, {552, 8288, 5376, 0, 0, 0, 0}, {60, 534, 4437, 5120, 0, 0, 0}, {5418, 5888, 16448, 0, 0, 0, 0}, {4427, 4471, 532, 5140, 0, 0, 0}, {2124, 544, 4352, 0, 0, 0, 0}, {48, 530, 1365, 4096, 0, 0, 0}, {4386, 4864, 17476, 0, 0, 0, 0}, {1375, 48, 528, 4112, 0, 0, 0}, {240, 512, 1280, 0, 0, 0, 0}, {12, 514, 1028, 4369, 0, 0, 0}, {1290, 514, 20560, 0, 0, 0, 0}, {12, 4403, 512, 1024, 0, 0, 0}, {48, 768, 260, 0, 0, 0, 0}, {522, 21845, 0, 0, 0, 0, 0}, {262, 4176, 1024, 0, 0, 0, 0}, {520, 30583, 0, 0, 0, 0, 0}, {520, 8304, 1280, 0, 0, 0, 0}, {12, 518, 4437, 1024, 0, 0, 0}, {1290, 1792, 20560, 0, 0, 0, 0}, {12, 4471, 516, 1028, 0, 0, 0}, {12, 48, 256, 0, 0, 0, 0}, {514, 21845, 0, 0, 0, 0, 0}, {258, 1028, 4112, 0, 0, 0, 0}, {22015, 512, 0, 0, 0, 0, 0}, {512, 1024, 4096, 0, 0, 0, 0}, {255, 257, 0, 0, 0, 0, 0}, {1032, 4128, 514, 0, 0, 0, 0}, {259, 21760, 0, 0, 0, 0, 0}, {520, 4160, 1028, 0, 0, 0, 0}, {13056, 261, 0, 0, 0, 0, 0}, {1036, 4192, 1542, 0, 0, 0, 0}, {263, 21760, 0, 0, 0, 0, 0}, {1032, 1536, 20480, 0, 0, 0, 0}, {265, 4454, 771, 1285, 0, 0, 0}, {522, 12288, 1024, 0, 0, 0, 0}, {267, 771, 4420, 1028, 0, 0, 0}, {1036, 512, 20480, 0, 0, 0, 0}, {269, 4386, 514, 1285, 0, 0, 0}, {4320, 514, 1028, 0, 0, 0, 0}, {271, 512, 1024, 4352, 0, 0, 0}, {544, 1088, 4112, 0, 0, 0, 0}, {3840, 273, 0, 0, 0, 0, 0}, {1096, 4144, 4626, 0, 0, 0, 0}, {275, 21760, 0, 0, 0, 0, 0}, {552, 4176, 5140, 0, 0, 0, 0}, {13056, 277, 0, 0, 0, 0, 0}, {1100, 4208, 5654, 0, 0, 0, 0}, {279, 21760, 0, 0, 0, 0, 0}, {1096, 1632, 20560, 0, 0, 0, 0}, {281, 5171, 5888, 1365, 0, 0, 0}, {554, 12336, 1088, 0, 0, 0, 0}, {283, 819, 4420, 5376, 0, 0, 0}, {1100, 544, 20560, 0, 0, 0, 0}, {285, 4386, 4864, 1365, 0, 0, 0}, {7710, 546, 1092, 0, 0, 0, 0}, {287, 544, 1088, 4352, 0, 0, 0}, {4128, 4608, 17408, 0, 0, 0, 0}, {1370, 289, 771, 4369, 0, 0, 0}, {3072, 546, 4096, 0, 0, 0, 0}, {291, 771, 1360, 4112, 0, 0, 0}, {4680, 4192, 17476, 0, 0, 0, 0}, {5135, 293, 5888, 4437, 0, 0, 0}, {554, 9766, 4160, 0, 0, 0, 0}, {783, 295, 4176, 5376, 0, 0, 0}, {5160, 5632, 16384, 0, 0, 0, 0}, {4175, 4454, 771, 5397, 0, 0, 0}, {554, 12288, 5120, 0, 0, 0, 0}, {299, 771, 4420, 5140, 0, 0, 0}, {5708, 544, 16448, 0, 0, 0, 0}, {4111, 4386, 4864, 5461, 0, 0, 0}, {3084, 546, 5188, 0, 0, 0, 0}, {783, 544, 1360, 4352, 0, 0, 0}, {4144, 512, 17408, 0, 0, 0, 0}, {1290, 305, 514, 4369, 0, 0, 0}, {1224, 514, 4112, 0, 0, 0, 0}, {307, 512, 1280, 4096, 0, 0, 0}, {520, 4208, 17476, 0, 0, 0, 0}, {1290, 309, 1792, 4437, 0, 0, 0}, {522, 13878, 4176, 0, 0, 0, 0}, {520, 311, 4160, 1280, 0, 0, 0}, {520, 5744, 16448, 0, 0, 0, 0}, {1290, 1075, 1792, 5461, 0, 0, 0}, {522, 12336, 5200, 0, 0, 0, 0}, {520, 819, 4420, 1280, 0, 0, 0}, {5180, 512, 16384, 0, 0, 0, 0}, {4127, 4386, 514, 5397, 0, 0, 0}, {4304, 514, 5140, 0, 0, 0, 0}, {319, 512, 1280, 4352, 0, 0, 0}, {8704, 4160, 5120, 0, 0, 0, 0}, {828, 321, 1285, 4369, 0, 0, 0}, {1096, 4192, 16962, 0, 0, 0, 0}, {1295, 4403, 5888, 323, 0, 0, 0}, {2560, 1092, 4096, 0, 0, 0, 0}, {816, 325, 1285, 4112, 0, 0, 0}, {1100, 4128, 17990, 0, 0, 0, 0}, {1295, 4144, 4864, 327, 0, 0, 0}, {1096, 5632, 20480, 0, 0, 0, 0}, {329, 4454, 4883, 1285, 0, 0, 0}, {5674, 8224, 1088, 0, 0, 0, 0}, {4111, 4915, 4420, 5376, 0, 0, 0}, {1100, 4608, 20480, 0, 0, 0, 0}, {333, 4386, 4626, 1285, 0, 0, 0}, {2570, 4642, 1092, 0, 0, 0, 0}, {1295, 816, 1088, 4352, 0, 0, 0}, {8704, 4176, 1024, 0, 0, 0, 0}, {780, 337, 1028, 4369, 0, 0, 0}, {1032, 4208, 21074, 0, 0, 0, 0}, {1036, 4403, 1792, 339, 0, 0, 0}, {680, 1028, 4112, 0, 0, 0, 0}, {768, 341, 1024, 4096, 0, 0, 0}, {1036, 4144, 22102, 0, 0, 0, 0}, {1032, 4128, 768, 343, 0, 0, 0}, {1032, 5744, 20560, 0, 0, 0, 0}, {1036, 5171, 1792, 1365, 0, 0, 0}, {4698, 8192, 1024, 0, 0, 0, 0}, {4127, 4883, 4420, 1028, 0, 0, 0}, {1036, 4656, 20560, 0, 0, 0, 0}, {1032, 4386, 768, 1365, 0, 0, 0}, {4272, 4626, 1028, 0, 0, 0, 0}, {351, 768, 1024, 4352, 0, 0, 0}, {4192, 5632, 17408, 0, 0, 0, 0}, {1370, 353, 1799, 4369, 0, 0, 0}, {5674, 8738, 4160, 0, 0, 0, 0}, {4623, 4403, 4176, 5376, 0, 0, 0}, {5708, 4128, 17476, 0, 0, 0, 0}, {5135, 4144, 4864, 4437, 0, 0, 0}, {2048, 1638, 4096, 0, 0, 0, 0}, {1079, 1799, 1360, 4112, 0, 0, 0}, {4680, 1632, 16448, 0, 0, 0, 0}, {4111, 1075, 5888, 5461, 0, 0, 0}, {4714, 8192, 5120, 0, 0, 0, 0}, {4143, 4883, 4420, 5140, 0, 0, 0}, {5228, 4608, 16384, 0, 0, 0, 0}, {4175, 4386, 4626, 5397, 0, 0, 0}, {2056, 4642, 5188, 0, 0, 0, 0}, {1807, 816, 1360, 4352, 0, 0, 0}, {4208, 1536, 17408, 0, 0, 0, 0}, {1290, 369, 1542, 4369, 0, 0, 0}, {1546, 8738, 4176, 0, 0, 0, 0}, {780, 4403, 4160, 1280, 0, 0, 0}, {1548, 4144, 17476, 0, 0, 0, 0}, {1290, 4128, 768, 4437, 0, 0, 0}, {1164, 1542, 4112, 0, 0, 0, 0}, {375, 768, 1280, 4096, 0, 0, 0}, {5240, 1536, 16384, 0, 0, 0, 0}, {4127, 4454, 4883, 5397, 0, 0, 0}, {1546, 8224, 5200, 0, 0, 0, 0}, {780, 4915, 4420, 1280, 0, 0, 0}, {1548, 4656, 16448, 0, 0, 0, 0}, {1290, 4386, 768, 5461, 0, 0, 0}, {4240, 4626, 5140, 0, 0, 0, 0}, {383, 768, 1280, 4352, 0, 0, 0}, {4224, 4608, 5120, 0, 0, 0, 0}, {382, 771, 1285, 4369, 0, 0, 0}, {1546, 4642, 16384, 0, 0, 0, 0}, {1295, 4403, 771, 5440, 0, 0, 0}, {1548, 8192, 5188, 0, 0, 0, 0}, {783, 4896, 4437, 1285, 0, 0, 0}, {5228, 1542, 16448, 0, 0, 0, 0}, {4111, 4471, 4864, 5376, 0, 0, 0}, {1160, 1536, 4096, 0, 0, 0, 0}, {374, 771, 1285, 4112, 0, 0, 0}, {1546, 4128, 17408, 0, 0, 0, 0}, {1295, 4144, 771, 4420, 0, 0, 0}, {1548, 8704, 4160, 0, 0, 0, 0}, {783, 4386, 4176, 1285, 0, 0, 0}, {4192, 1542, 17476, 0, 0, 0, 0}, {1295, 368, 1536, 4352, 0, 0, 0}, {2048, 4656, 5200, 0, 0, 0, 0}, {1800, 819, 1365, 4369, 0, 0, 0}, {5240, 4626, 16448, 0, 0, 0, 0}, {4191, 4403, 4608, 5376, 0, 0, 0}, {4728, 8224, 5140, 0, 0, 0, 0}, {4159, 4864, 4437, 5120, 0, 0, 0}, {4698, 1638, 16384, 0, 0, 0, 0}, {4127, 1079, 5911, 5440, 0, 0, 0}, {2056, 1632, 4112, 0, 0, 0, 0}, {1075, 1792, 1365, 4096, 0, 0, 0}, {5722, 4144, 17408, 0, 0, 0, 0}, {5147, 4128, 4883, 4420, 0, 0, 0}, {5692, 8704, 4176, 0, 0, 0, 0}, {4637, 4386, 4160, 5397, 0, 0, 0}, {4208, 5654, 17476, 0, 0, 0, 0}, {1375, 352, 1792, 4352, 0, 0, 0}, {4256, 4608, 1024, 0, 0, 0, 0}, {350, 771, 1028, 4369, 0, 0, 0}, {1032, 4642, 20480, 0, 0, 0, 0}, {1036, 4403, 771, 1360, 0, 0, 0}, {4680, 8224, 1028, 0, 0, 0, 0}, {4111, 4864, 4437, 1024, 0, 0, 0}, {1036, 5734, 20480, 0, 0, 0, 0}, {1032, 5159, 1799, 1360, 0, 0, 0}, {1032, 4128, 22016, 0, 0, 0, 0}, {1036, 4144, 771, 342, 0, 0, 0}, {682, 1024, 4096, 0, 0, 0, 0}, {771, 340, 1028, 4112, 0, 0, 0}, {1036, 4192, 20992, 0, 0, 0, 0}, {1032, 4386, 1799, 338, 0, 0, 0}, {8738, 4160, 1028, 0, 0, 0, 0}, {783, 336, 1024, 4352, 0, 0, 0}, {2560, 4656, 1088, 0, 0, 0, 0}, {1290, 819, 1092, 4369, 0, 0, 0}, {1096, 4626, 20560, 0, 0, 0, 0}, {332, 4403, 4608, 1280, 0, 0, 0}, {5692, 8192, 1092, 0, 0, 0, 0}, {4127, 4896, 4437, 5397, 0, 0, 0}, {1100, 5654, 20560, 0, 0, 0, 0}, {328, 4471, 4864, 1280, 0, 0, 0}, {1096, 4144, 17920, 0, 0, 0, 0}, {1290, 4128, 4883, 326, 0, 0, 0}, {2570, 1088, 4112, 0, 0, 0, 0}, {819, 324, 1280, 4096, 0, 0, 0}, {1100, 4208, 16896, 0, 0, 0, 0}, {1290, 4386, 5911, 322, 0, 0, 0}, {8738, 4176, 5140, 0, 0, 0, 0}, {831, 320, 1280, 4352, 0, 0, 0}, {4288, 512, 5120, 0, 0, 0, 0}, {318, 514, 1285, 4369, 0, 0, 0}, {5160, 514, 16448, 0, 0, 0, 0}, {4111, 4403, 512, 5376, 0, 0, 0}, {520, 12288, 5188, 0, 0, 0, 0}, {522, 816, 4437, 1285, 0, 0, 0}, {522, 5734, 16384, 0, 0, 0, 0}, {1295, 1079, 1799, 5440, 0, 0, 0}, {520, 13824, 4160, 0, 0, 0, 0}, {522, 310, 4176, 1285, 0, 0, 0}, {522, 4192, 17408, 0, 0, 0, 0}, {1295, 308, 1799, 4420, 0, 0, 0}, {1228, 512, 4096, 0, 0, 0, 0}, {306, 514, 1285, 4112, 0, 0, 0}, {4128, 514, 17476, 0, 0, 0, 0}, {1295, 304, 512, 4352, 0, 0, 0}, {3072, 544, 5200, 0, 0, 0, 0}, {780, 546, 1365, 4369, 0, 0, 0}, {5722, 546, 16384, 0, 0, 0, 0}, {4127, 4403, 4883, 5440, 0, 0, 0}, {552, 12336, 5140, 0, 0, 0, 0}, {298, 768, 4437, 5120, 0, 0, 0}, {5180, 5654, 16448, 0, 0, 0, 0}, {4191, 4471, 768, 5376, 0, 0, 0}, {552, 9728, 4176, 0, 0, 0, 0}, {780, 294, 4160, 5397, 0, 0, 0}, {4698, 4208, 17408, 0, 0, 0, 0}, {5147, 292, 5911, 4420, 0, 0, 0}, {3084, 544, 4112, 0, 0, 0, 0}, {290, 768, 1365, 4096, 0, 0, 0}, {4144, 4626, 17476, 0, 0, 0, 0}, {1375, 288, 768, 4352, 0, 0, 0}, {7680, 544, 1088, 0, 0, 0, 0}, {286, 546, 1092, 4369, 0, 0, 0}, {1096, 546, 20480, 0, 0, 0, 0}, {284, 4403, 4883, 1360, 0, 0, 0}, {552, 12288, 1092, 0, 0, 0, 0}, {282, 816, 4437, 5397, 0, 0, 0}, {1100, 1638, 20480, 0, 0, 0, 0}, {280, 5159, 5911, 1360, 0, 0, 0}, {1096, 4192, 5632, 0, 0, 0, 0}, {278, 21845, 0, 0, 0, 0, 0}, {554, 4160, 5120, 0, 0, 0, 0}, {13107, 276, 0, 0, 0, 0, 0}, {1100, 4128, 4608, 0, 0, 0, 0}, {274, 21845, 0, 0, 0, 0, 0}, {546, 1092, 4096, 0, 0, 0, 0}, {3855, 272, 0, 0, 0, 0, 0}, {4336, 512, 1024, 0, 0, 0, 0}, {270, 514, 1028, 4369, 0, 0, 0}, {1032, 514, 20560, 0, 0, 0, 0}, {268, 4403, 512, 1280, 0, 0, 0}, {520, 12336, 1028, 0, 0, 0, 0}, {266, 768, 4437, 1024, 0, 0, 0}, {1036, 1542, 20560, 0, 0, 0, 0}, {264, 4471, 768, 1280, 0, 0, 0}, {1032, 4208, 1536, 0, 0, 0, 0}, {262, 21845, 0, 0, 0, 0, 0}, {522, 4176, 1024, 0, 0, 0, 0}, {13107, 260, 0, 0, 0, 0, 0}, {1036, 4144, 512, 0, 0, 0, 0}, {258, 21845, 0, 0, 0, 0, 0}, {514, 1028, 4112, 0, 0, 0, 0}, {255, 256, 0, 0, 0, 0, 0}, {65280, 0, 0, 0, 0, 0, 0}, {2, 4, 16, 257, 0, 0, 0}, {2, 21760, 0, 0, 0, 0, 0}, {12, 48, 771, 0, 0, 0, 0}, {13056, 4, 0, 0, 0, 0, 0}, {10, 80, 1285, 0, 0, 0, 0}, {6, 21760, 0, 0, 0, 0, 0}, {8, 112, 1799, 0, 0, 0, 0}, {8, 30464, 0, 0, 0, 0, 0}, {6, 80, 1285, 0, 0, 0, 0}, {10, 21760, 0, 0, 0, 0, 0}, {48, 771, 4, 0, 0, 0, 0}, {12, 13056, 0, 0, 0, 0, 0}, {2, 80, 1285, 0, 0, 0, 0}, {2, 4, 4352, 0, 0, 0, 0}, {240, 3855, 0, 0, 0, 0, 0}, {3840, 16, 0, 0, 0, 0, 0}, {34, 68, 4369, 0, 0, 0, 0}, {18, 21760, 0, 0, 0, 0, 0}, {76, 32, 4883, 0, 0, 0, 0}, {13056, 20, 0, 0, 0, 0, 0}, {42, 64, 5397, 0, 0, 0, 0}, {22, 21760, 0, 0, 0, 0, 0}, {72, 96, 5911, 0, 0, 0, 0}, {24, 48, 5888, 80, 0, 0, 0}, {76, 102, 21845, 0, 0, 0, 0}, {26, 48, 64, 5376, 0, 0, 0}, {40, 13107, 68, 0, 0, 0, 0}, {28, 32, 4864, 80, 0, 0, 0}, {72, 34, 21845, 0, 0, 0, 0}, {30, 34, 68, 4352, 0, 0, 0}, {7967, 32, 64, 0, 0, 0, 0}, {24320, 32, 0, 0, 0, 0, 0}, {18, 68, 4369, 0, 0, 0, 0}, {34, 21760, 0, 0, 0, 0, 0}, {12, 771, 16, 0, 0, 0, 0}, {12, 36, 5888, 68, 0, 0, 0}, {90, 112, 21845, 0, 0, 0, 0}, {12, 38, 64, 5376, 0, 0, 0}, {40, 10023, 80, 0, 0, 0, 0}, {40, 30464, 0, 0, 0, 0, 0}, {22, 64, 5397, 0, 0, 0, 0}, {42, 21760, 0, 0, 0, 0, 0}, {48, 771, 20, 0, 0, 0, 0}, {12, 32, 4864, 64, 0, 0, 0}, {90, 34, 21845, 0, 0, 0, 0}, {12, 34, 68, 4352, 0, 0, 0}, {3855, 32, 80, 0, 0, 0, 0}, {3840, 48, 0, 0, 0, 0, 0}, {2, 68, 4369, 0, 0, 0, 0}, {2, 1280, 16, 0, 0, 0, 0}, {204, 13107, 0, 0, 0, 0, 0}, {8, 52, 1792, 68, 0, 0, 0}, {10, 96, 21845, 0, 0, 0, 0}, {10, 54, 80, 1280, 0, 0, 0}, {8, 14135, 64, 0, 0, 0, 0}, {8, 48, 1792, 64, 0, 0, 0}, {10, 102, 21845, 0, 0, 0, 0}, {10, 48, 80, 1280, 0, 0, 0}, {8, 13107, 68, 0, 0, 0, 0}, {60, 13056, 0, 0, 0, 0, 0}, {2, 64, 5397, 0, 0, 0, 0}, {2, 20, 4352, 0, 0, 0, 0}, {192, 16191, 0, 0, 0, 0, 0}, {16128, 64, 0, 0, 0, 0, 0}, {34, 20, 4369, 0, 0, 0, 0}, {10, 34, 5888, 66, 0, 0, 0}, {76, 112, 17219, 0, 0, 0, 0}, {13056, 68, 0, 0, 0, 0, 0}, {10, 1285, 16, 0, 0, 0, 0}, {10, 32, 4864, 70, 0, 0, 0}, {72, 48, 18247, 0, 0, 0, 0}, {72, 30464, 0, 0, 0, 0, 0}, {22, 80, 1285, 0, 0, 0, 0}, {10, 32, 64, 5376, 0, 0, 0}, {60, 13107, 68, 0, 0, 0, 0}, {76, 13056, 0, 0, 0, 0, 0}, {18, 80, 1285, 0, 0, 0, 0}, {10, 34, 68, 4352, 0, 0, 0}, {3855, 48, 64, 0, 0, 0, 0}, {3840, 80, 0, 0, 0, 0, 0}, {34, 4, 4369, 0, 0, 0, 0}, {8, 34, 1792, 82, 0, 0, 0}, {12, 96, 21331, 0, 0, 0, 0}, {768, 4, 16, 0, 0, 0, 0}, {170, 21845, 0, 0, 0, 0, 0}, {12, 48, 768, 86, 0, 0, 0}, {8, 32, 22359, 0, 0, 0, 0}, {8, 32, 1792, 80, 0, 0, 0}, {12, 102, 21845, 0, 0, 0, 0}, {90, 21760, 0, 0, 0, 0, 0}, {32, 4883, 4, 0, 0, 0, 0}, {12, 48, 768, 80, 0, 0, 0}, {8, 34, 21845, 0, 0, 0, 0}, {18, 4, 4352, 0, 0, 0, 0}, {160, 24415, 0, 0, 0, 0, 0}, {24320, 96, 0, 0, 0, 0, 0}, {22, 68, 4369, 0, 0, 0, 0}, {8, 34, 64, 5376, 0, 0, 0}, {60, 13107, 80, 0, 0, 0, 0}, {8, 32, 4864, 68, 0, 0, 0}, {90, 48, 21845, 0, 0, 0, 0}, {102, 21760, 0, 0, 0, 0, 0}, {8, 1799, 16, 0, 0, 0, 0}, {8, 32, 5888, 64, 0, 0, 0}, {90, 102, 21845, 0, 0, 0, 0}, {106, 21760, 0, 0, 0, 0, 0}, {32, 4883, 20, 0, 0, 0, 0}, {108, 13056, 0, 0, 0, 0, 0}, {18, 64, 5397, 0, 0, 0, 0}, {8, 34, 68, 4352, 0, 0, 0}, {3855, 48, 80, 0, 0, 0, 0}, {3840, 112, 0, 0, 0, 0, 0}, {6, 68, 4369, 0, 0, 0, 0}, {10, 34, 80, 1280, 0, 0, 0}, {12, 13107, 64, 0, 0, 0, 0}, {12, 48, 768, 68, 0, 0, 0}, {10, 32, 21845, 0, 0, 0, 0}, {6, 1280, 16, 0, 0, 0, 0}, {136, 30583, 0, 0, 0, 0, 0}, {120, 30464, 0, 0, 0, 0, 0}, {6, 64, 5397, 0, 0, 0, 0}, {10, 32, 80, 1280, 0, 0, 0}, {12, 13107, 68, 0, 0, 0, 0}, {12, 48, 768, 64, 0, 0, 0}, {10, 34, 21845, 0, 0, 0, 0}, {18, 20, 4352, 0, 0, 0, 0}, {128, 32639, 0, 0, 0, 0, 0}, {128, 32512, 0, 0, 0, 0, 0}, {18, 20, 4369, 0, 0, 0, 0}, {10, 34, 21760, 0, 0, 0, 0}, {12, 48, 771, 64, 0, 0, 0}, {12, 13056, 68, 0, 0, 0, 0}, {10, 32, 80, 1285, 0, 0, 0}, {6, 64, 5376, 0, 0, 0, 0}, {120, 30583, 0, 0, 0, 0, 0}, {136, 30464, 0, 0, 0, 0, 0}, {6, 1285, 16, 0, 0, 0, 0}, {10, 32, 21760, 0, 0, 0, 0}, {12, 48, 771, 68, 0, 0, 0}, {12, 13056, 64, 0, 0, 0, 0}, {10, 34, 80, 1285, 0, 0, 0}, {6, 68, 4352, 0, 0, 0, 0}, {3855, 112, 0, 0, 0, 0, 0}, {3840, 48, 80, 0, 0, 0, 0}, {8, 34, 68, 4369, 0, 0, 0}, {18, 64, 5376, 0, 0, 0, 0}, {108, 13107, 0, 0, 0, 0, 0}, {32, 4864, 20, 0, 0, 0, 0}, {106, 21845, 0, 0, 0, 0, 0}, {90, 102, 21760, 0, 0, 0, 0}, {8, 32, 5911, 64, 0, 0, 0}, {8, 1792, 16, 0, 0, 0, 0}, {102, 21845, 0, 0, 0, 0, 0}, {90, 48, 21760, 0, 0, 0, 0}, {8, 32, 4883, 68, 0, 0, 0}, {60, 13056, 80, 0, 0, 0, 0}, {8, 34, 64, 5397, 0, 0, 0}, {22, 68, 4352, 0, 0, 0, 0}, {24415, 96, 0, 0, 0, 0, 0}, {160, 24320, 0, 0, 0, 0, 0}, {18, 4, 4369, 0, 0, 0, 0}, {8, 34, 21760, 0, 0, 0, 0}, {12, 48, 771, 80, 0, 0, 0}, {32, 4864, 4, 0, 0, 0, 0}, {90, 21845, 0, 0, 0, 0, 0}, {12, 102, 21760, 0, 0, 0, 0}, {8, 32, 1799, 80, 0, 0, 0}, {8, 32, 22272, 0, 0, 0, 0}, {12, 48, 771, 86, 0, 0, 0}, {170, 21760, 0, 0, 0, 0, 0}, {771, 4, 16, 0, 0, 0, 0}, {12, 96, 21248, 0, 0, 0, 0}, {8, 34, 1799, 82, 0, 0, 0}, {34, 4, 4352, 0, 0, 0, 0}, {3855, 80, 0, 0, 0, 0, 0}, {3840, 48, 64, 0, 0, 0, 0}, {10, 34, 68, 4369, 0, 0, 0}, {18, 80, 1280, 0, 0, 0, 0}, {76, 13107, 0, 0, 0, 0, 0}, {60, 13056, 68, 0, 0, 0, 0}, {10, 32, 64, 5397, 0, 0, 0}, {22, 80, 1280, 0, 0, 0, 0}, {72, 30583, 0, 0, 0, 0, 0}, {72, 48, 18176, 0, 0, 0, 0}, {10, 32, 4883, 70, 0, 0, 0}, {10, 1280, 16, 0, 0, 0, 0}, {13107, 68, 0, 0, 0, 0, 0}, {76, 112, 17152, 0, 0, 0, 0}, {10, 34, 5911, 66, 0, 0, 0}, {34, 20, 4352, 0, 0, 0, 0}, {16191, 64, 0, 0, 0, 0, 0}, {192, 16128, 0, 0, 0, 0, 0}, {2, 20, 4369, 0, 0, 0, 0}, {2, 64, 5376, 0, 0, 0, 0}, {60, 13107, 0, 0, 0, 0, 0}, {8, 13056, 68, 0, 0, 0, 0}, {10, 48, 80, 1285, 0, 0, 0}, {10, 102, 21760, 0, 0, 0, 0}, {8, 48, 1799, 64, 0, 0, 0}, {8, 14080, 64, 0, 0, 0, 0}, {10, 54, 80, 1285, 0, 0, 0}, {10, 96, 21760, 0, 0, 0, 0}, {8, 52, 1799, 68, 0, 0, 0}, {204, 13056, 0, 0, 0, 0, 0}, {2, 1285, 16, 0, 0, 0, 0}, {2, 68, 4352, 0, 0, 0, 0}, {3855, 48, 0, 0, 0, 0, 0}, {3840, 32, 80, 0, 0, 0, 0}, {12, 34, 68, 4369, 0, 0, 0}, {90, 34, 21760, 0, 0, 0, 0}, {12, 32, 4883, 64, 0, 0, 0}, {48, 768, 20, 0, 0, 0, 0}, {42, 21845, 0, 0, 0, 0, 0}, {22, 64, 5376, 0, 0, 0, 0}, {40, 30583, 0, 0, 0, 0, 0}, {40, 9984, 80, 0, 0, 0, 0}, {12, 38, 64, 5397, 0, 0, 0}, {90, 112, 21760, 0, 0, 0, 0}, {12, 36, 5911, 68, 0, 0, 0}, {12, 768, 16, 0, 0, 0, 0}, {34, 21845, 0, 0, 0, 0, 0}, {18, 68, 4352, 0, 0, 0, 0}, {24415, 32, 0, 0, 0, 0, 0}, {7936, 32, 64, 0, 0, 0, 0}, {30, 34, 68, 4369, 0, 0, 0}, {72, 34, 21760, 0, 0, 0, 0}, {28, 32, 4883, 80, 0, 0, 0}, {40, 13056, 68, 0, 0, 0, 0}, {26, 48, 64, 5397, 0, 0, 0}, {76, 102, 21760, 0, 0, 0, 0}, {24, 48, 5911, 80, 0, 0, 0}, {72, 96, 5888, 0, 0, 0, 0}, {22, 21845, 0, 0, 0, 0, 0}, {42, 64, 5376, 0, 0, 0, 0}, {13107, 20, 0, 0, 0, 0, 0}, {76, 32, 4864, 0, 0, 0, 0}, {18, 21845, 0, 0, 0, 0, 0}, {34, 68, 4352, 0, 0, 0, 0}, {3855, 16, 0, 0, 0, 0, 0}, {240, 3840, 0, 0, 0, 0, 0}, {2, 4, 4369, 0, 0, 0, 0}, {2, 80, 1280, 0, 0, 0, 0}, {12, 13107, 0, 0, 0, 0, 0}, {48, 768, 4, 0, 0, 0, 0}, {10, 21845, 0, 0, 0, 0, 0}, {6, 80, 1280, 0, 0, 0, 0}, {8, 30583, 0, 0, 0, 0, 0}, {8, 112, 1792, 0, 0, 0, 0}, {6, 21845, 0, 0, 0, 0, 0}, {10, 80, 1280, 0, 0, 0, 0}, {13107, 4, 0, 0, 0, 0, 0}, {12, 48, 768, 0, 0, 0, 0}, {2, 21845, 0, 0, 0, 0, 0}, {2, 4, 16, 256, 0, 0, 0}, {65535, 0, 0, 0, 0, 0, 0}, }; END_NAMESPACE_PBORIGB BRiAl-1.2.12/groebner/src/dp_asc4data.cc000066400000000000000000106122611436062512100176070ustar00rootroot00000000000000/* Copyright (c) 2005-2007 by The PolyBoRi Team */ // The content of this file is intellectual property of Michael Brickenstein // Note, that choosing GPL3+ we made a clear statement against software // patents. // The method using this tables is actually described in // http://arxiv.org/abs/0801.1177 #include BEGIN_NAMESPACE_PBORIGB const unsigned short dp_asc4var_data[][7]={ {0, 0, 0, 0, 0, 0, 0}, {1, 0, 0, 0, 0, 0, 0}, {2, 0, 0, 0, 0, 0, 0}, {3, 0, 0, 0, 0, 0, 0}, {4, 0, 0, 0, 0, 0, 0}, {5, 0, 0, 0, 0, 0, 0}, {6, 0, 0, 0, 0, 0, 0}, {7, 0, 0, 0, 0, 0, 0}, {8, 0, 0, 0, 0, 0, 0}, {3, 5, 0, 0, 0, 0, 0}, {10, 0, 0, 0, 0, 0, 0}, {3, 4, 0, 0, 0, 0, 0}, {12, 0, 0, 0, 0, 0, 0}, {2, 5, 0, 0, 0, 0, 0}, {2, 4, 0, 0, 0, 0, 0}, {15, 0, 0, 0, 0, 0, 0}, {16, 0, 0, 0, 0, 0, 0}, {17, 0, 0, 0, 0, 0, 0}, {18, 0, 0, 0, 0, 0, 0}, {19, 0, 0, 0, 0, 0, 0}, {20, 0, 0, 0, 0, 0, 0}, {21, 0, 0, 0, 0, 0, 0}, {22, 0, 0, 0, 0, 0, 0}, {23, 0, 0, 0, 0, 0, 0}, {24, 48, 80, 0, 0, 0, 0}, {25, 51, 85, 0, 0, 0, 0}, {26, 48, 64, 0, 0, 0, 0}, {27, 51, 68, 0, 0, 0, 0}, {28, 32, 80, 0, 0, 0, 0}, {29, 34, 85, 0, 0, 0, 0}, {30, 34, 68, 0, 0, 0, 0}, {31, 32, 64, 0, 0, 0, 0}, {32, 0, 0, 0, 0, 0, 0}, {3, 17, 0, 0, 0, 0, 0}, {34, 0, 0, 0, 0, 0, 0}, {3, 16, 0, 0, 0, 0, 0}, {12, 36, 68, 0, 0, 0, 0}, {15, 37, 85, 0, 0, 0, 0}, {12, 38, 64, 0, 0, 0, 0}, {15, 39, 80, 0, 0, 0, 0}, {40, 0, 0, 0, 0, 0, 0}, {3, 21, 0, 0, 0, 0, 0}, {42, 0, 0, 0, 0, 0, 0}, {3, 20, 0, 0, 0, 0, 0}, {12, 32, 64, 0, 0, 0, 0}, {15, 34, 85, 0, 0, 0, 0}, {12, 34, 68, 0, 0, 0, 0}, {15, 32, 80, 0, 0, 0, 0}, {48, 0, 0, 0, 0, 0, 0}, {2, 17, 0, 0, 0, 0, 0}, {2, 16, 0, 0, 0, 0, 0}, {51, 0, 0, 0, 0, 0, 0}, {8, 52, 68, 0, 0, 0, 0}, {10, 53, 85, 0, 0, 0, 0}, {10, 54, 80, 0, 0, 0, 0}, {8, 55, 64, 0, 0, 0, 0}, {8, 48, 64, 0, 0, 0, 0}, {10, 51, 85, 0, 0, 0, 0}, {10, 48, 80, 0, 0, 0, 0}, {8, 51, 68, 0, 0, 0, 0}, {60, 0, 0, 0, 0, 0, 0}, {2, 21, 0, 0, 0, 0, 0}, {2, 20, 0, 0, 0, 0, 0}, {63, 0, 0, 0, 0, 0, 0}, {64, 0, 0, 0, 0, 0, 0}, {5, 17, 0, 0, 0, 0, 0}, {10, 34, 66, 0, 0, 0, 0}, {15, 51, 67, 0, 0, 0, 0}, {68, 0, 0, 0, 0, 0, 0}, {5, 16, 0, 0, 0, 0, 0}, {10, 32, 70, 0, 0, 0, 0}, {15, 48, 71, 0, 0, 0, 0}, {72, 0, 0, 0, 0, 0, 0}, {5, 19, 0, 0, 0, 0, 0}, {10, 32, 64, 0, 0, 0, 0}, {15, 51, 68, 0, 0, 0, 0}, {76, 0, 0, 0, 0, 0, 0}, {5, 18, 0, 0, 0, 0, 0}, {10, 34, 68, 0, 0, 0, 0}, {15, 48, 64, 0, 0, 0, 0}, {80, 0, 0, 0, 0, 0, 0}, {4, 17, 0, 0, 0, 0, 0}, {8, 34, 82, 0, 0, 0, 0}, {12, 51, 83, 0, 0, 0, 0}, {4, 16, 0, 0, 0, 0, 0}, {85, 0, 0, 0, 0, 0, 0}, {12, 48, 86, 0, 0, 0, 0}, {8, 32, 87, 0, 0, 0, 0}, {8, 32, 80, 0, 0, 0, 0}, {12, 51, 85, 0, 0, 0, 0}, {90, 0, 0, 0, 0, 0, 0}, {4, 19, 0, 0, 0, 0, 0}, {12, 48, 80, 0, 0, 0, 0}, {8, 34, 85, 0, 0, 0, 0}, {4, 18, 0, 0, 0, 0, 0}, {95, 0, 0, 0, 0, 0, 0}, {96, 0, 0, 0, 0, 0, 0}, {7, 17, 0, 0, 0, 0, 0}, {8, 34, 64, 0, 0, 0, 0}, {15, 51, 80, 0, 0, 0, 0}, {8, 32, 68, 0, 0, 0, 0}, {15, 48, 85, 0, 0, 0, 0}, {102, 0, 0, 0, 0, 0, 0}, {7, 16, 0, 0, 0, 0, 0}, {8, 32, 64, 0, 0, 0, 0}, {15, 51, 85, 0, 0, 0, 0}, {106, 0, 0, 0, 0, 0, 0}, {7, 19, 0, 0, 0, 0, 0}, {108, 0, 0, 0, 0, 0, 0}, {7, 18, 0, 0, 0, 0, 0}, {8, 34, 68, 0, 0, 0, 0}, {15, 48, 80, 0, 0, 0, 0}, {112, 0, 0, 0, 0, 0, 0}, {6, 17, 0, 0, 0, 0, 0}, {10, 34, 80, 0, 0, 0, 0}, {12, 51, 64, 0, 0, 0, 0}, {12, 48, 68, 0, 0, 0, 0}, {10, 32, 85, 0, 0, 0, 0}, {6, 16, 0, 0, 0, 0, 0}, {119, 0, 0, 0, 0, 0, 0}, {120, 0, 0, 0, 0, 0, 0}, {6, 19, 0, 0, 0, 0, 0}, {10, 32, 80, 0, 0, 0, 0}, {12, 51, 68, 0, 0, 0, 0}, {12, 48, 64, 0, 0, 0, 0}, {10, 34, 85, 0, 0, 0, 0}, {6, 18, 0, 0, 0, 0, 0}, {127, 0, 0, 0, 0, 0, 0}, {128, 0, 0, 0, 0, 0, 0}, {3, 5, 17, 0, 0, 0, 0}, {10, 34, 0, 0, 0, 0, 0}, {3, 64, 0, 0, 0, 0, 0}, {12, 68, 0, 0, 0, 0, 0}, {32, 5, 0, 0, 0, 0, 0}, {32, 6, 0, 0, 0, 0, 0}, {15, 119, 0, 0, 0, 0, 0}, {136, 0, 0, 0, 0, 0, 0}, {3, 5, 16, 0, 0, 0, 0}, {10, 32, 0, 0, 0, 0, 0}, {3, 68, 0, 0, 0, 0, 0}, {12, 64, 0, 0, 0, 0, 0}, {34, 5, 0, 0, 0, 0, 0}, {34, 6, 0, 0, 0, 0, 0}, {15, 112, 0, 0, 0, 0, 0}, {48, 80, 0, 0, 0, 0, 0}, {8, 17, 0, 0, 0, 0, 0}, {8, 18, 0, 0, 0, 0, 0}, {51, 95, 0, 0, 0, 0, 0}, {8, 20, 0, 0, 0, 0, 0}, {63, 85, 0, 0, 0, 0, 0}, {60, 90, 0, 0, 0, 0, 0}, {8, 23, 0, 0, 0, 0, 0}, {8, 16, 0, 0, 0, 0, 0}, {51, 85, 0, 0, 0, 0, 0}, {48, 90, 0, 0, 0, 0, 0}, {8, 19, 0, 0, 0, 0, 0}, {60, 80, 0, 0, 0, 0, 0}, {8, 21, 0, 0, 0, 0, 0}, {8, 22, 0, 0, 0, 0, 0}, {63, 95, 0, 0, 0, 0, 0}, {160, 0, 0, 0, 0, 0, 0}, {3, 4, 17, 0, 0, 0, 0}, {8, 34, 0, 0, 0, 0, 0}, {3, 80, 0, 0, 0, 0, 0}, {32, 4, 0, 0, 0, 0, 0}, {15, 85, 0, 0, 0, 0, 0}, {12, 102, 0, 0, 0, 0, 0}, {32, 7, 0, 0, 0, 0, 0}, {8, 32, 0, 0, 0, 0, 0}, {3, 85, 0, 0, 0, 0, 0}, {170, 0, 0, 0, 0, 0, 0}, {3, 4, 16, 0, 0, 0, 0}, {12, 96, 0, 0, 0, 0, 0}, {34, 7, 0, 0, 0, 0, 0}, {34, 4, 0, 0, 0, 0, 0}, {15, 80, 0, 0, 0, 0, 0}, {48, 64, 0, 0, 0, 0, 0}, {10, 17, 0, 0, 0, 0, 0}, {10, 18, 0, 0, 0, 0, 0}, {51, 76, 0, 0, 0, 0, 0}, {60, 68, 0, 0, 0, 0, 0}, {10, 21, 0, 0, 0, 0, 0}, {10, 22, 0, 0, 0, 0, 0}, {63, 72, 0, 0, 0, 0, 0}, {48, 72, 0, 0, 0, 0, 0}, {10, 19, 0, 0, 0, 0, 0}, {10, 16, 0, 0, 0, 0, 0}, {51, 68, 0, 0, 0, 0, 0}, {60, 76, 0, 0, 0, 0, 0}, {10, 23, 0, 0, 0, 0, 0}, {10, 20, 0, 0, 0, 0, 0}, {63, 64, 0, 0, 0, 0, 0}, {192, 0, 0, 0, 0, 0, 0}, {2, 5, 17, 0, 0, 0, 0}, {2, 64, 0, 0, 0, 0, 0}, {15, 51, 0, 0, 0, 0, 0}, {8, 68, 0, 0, 0, 0, 0}, {48, 5, 0, 0, 0, 0, 0}, {10, 102, 0, 0, 0, 0, 0}, {48, 7, 0, 0, 0, 0, 0}, {8, 64, 0, 0, 0, 0, 0}, {51, 5, 0, 0, 0, 0, 0}, {10, 96, 0, 0, 0, 0, 0}, {51, 7, 0, 0, 0, 0, 0}, {204, 0, 0, 0, 0, 0, 0}, {2, 5, 16, 0, 0, 0, 0}, {2, 68, 0, 0, 0, 0, 0}, {15, 48, 0, 0, 0, 0, 0}, {32, 80, 0, 0, 0, 0, 0}, {12, 17, 0, 0, 0, 0, 0}, {34, 90, 0, 0, 0, 0, 0}, {12, 19, 0, 0, 0, 0, 0}, {12, 20, 0, 0, 0, 0, 0}, {42, 85, 0, 0, 0, 0, 0}, {12, 22, 0, 0, 0, 0, 0}, {40, 95, 0, 0, 0, 0, 0}, {40, 80, 0, 0, 0, 0, 0}, {12, 21, 0, 0, 0, 0, 0}, {42, 90, 0, 0, 0, 0, 0}, {12, 23, 0, 0, 0, 0, 0}, {12, 16, 0, 0, 0, 0, 0}, {34, 85, 0, 0, 0, 0, 0}, {12, 18, 0, 0, 0, 0, 0}, {32, 95, 0, 0, 0, 0, 0}, {32, 64, 0, 0, 0, 0, 0}, {15, 17, 0, 0, 0, 0, 0}, {34, 72, 0, 0, 0, 0, 0}, {15, 19, 0, 0, 0, 0, 0}, {40, 68, 0, 0, 0, 0, 0}, {15, 21, 0, 0, 0, 0, 0}, {42, 76, 0, 0, 0, 0, 0}, {15, 23, 0, 0, 0, 0, 0}, {40, 72, 0, 0, 0, 0, 0}, {15, 22, 0, 0, 0, 0, 0}, {42, 64, 0, 0, 0, 0, 0}, {15, 20, 0, 0, 0, 0, 0}, {32, 76, 0, 0, 0, 0, 0}, {15, 18, 0, 0, 0, 0, 0}, {34, 68, 0, 0, 0, 0, 0}, {15, 16, 0, 0, 0, 0, 0}, {240, 0, 0, 0, 0, 0, 0}, {2, 4, 17, 0, 0, 0, 0}, {2, 80, 0, 0, 0, 0, 0}, {12, 51, 0, 0, 0, 0, 0}, {48, 4, 0, 0, 0, 0, 0}, {10, 85, 0, 0, 0, 0, 0}, {48, 6, 0, 0, 0, 0, 0}, {8, 119, 0, 0, 0, 0, 0}, {8, 112, 0, 0, 0, 0, 0}, {51, 6, 0, 0, 0, 0, 0}, {10, 80, 0, 0, 0, 0, 0}, {51, 4, 0, 0, 0, 0, 0}, {12, 48, 0, 0, 0, 0, 0}, {2, 85, 0, 0, 0, 0, 0}, {2, 4, 16, 0, 0, 0, 0}, {255, 0, 0, 0, 0, 0, 0}, {256, 0, 0, 0, 0, 0, 0}, {257, 0, 0, 0, 0, 0, 0}, {258, 0, 0, 0, 0, 0, 0}, {259, 0, 0, 0, 0, 0, 0}, {260, 0, 0, 0, 0, 0, 0}, {261, 0, 0, 0, 0, 0, 0}, {262, 0, 0, 0, 0, 0, 0}, {263, 0, 0, 0, 0, 0, 0}, {264, 768, 1280, 0, 0, 0, 0}, {265, 771, 1285, 0, 0, 0, 0}, {266, 768, 1024, 0, 0, 0, 0}, {267, 771, 1028, 0, 0, 0, 0}, {268, 512, 1280, 0, 0, 0, 0}, {269, 514, 1285, 0, 0, 0, 0}, {270, 514, 1028, 0, 0, 0, 0}, {271, 512, 1024, 0, 0, 0, 0}, {272, 0, 0, 0, 0, 0, 0}, {273, 0, 0, 0, 0, 0, 0}, {274, 0, 0, 0, 0, 0, 0}, {275, 0, 0, 0, 0, 0, 0}, {276, 0, 0, 0, 0, 0, 0}, {277, 0, 0, 0, 0, 0, 0}, {278, 0, 0, 0, 0, 0, 0}, {279, 0, 0, 0, 0, 0, 0}, {280, 816, 1360, 0, 0, 0, 0}, {281, 819, 1365, 0, 0, 0, 0}, {282, 816, 1088, 0, 0, 0, 0}, {283, 819, 1092, 0, 0, 0, 0}, {284, 544, 1360, 0, 0, 0, 0}, {285, 546, 1365, 0, 0, 0, 0}, {286, 546, 1092, 0, 0, 0, 0}, {287, 544, 1088, 0, 0, 0, 0}, {288, 768, 4352, 0, 0, 0, 0}, {289, 771, 4369, 0, 0, 0, 0}, {290, 768, 4096, 0, 0, 0, 0}, {291, 771, 4112, 0, 0, 0, 0}, {292, 780, 4420, 0, 0, 0, 0}, {293, 783, 4437, 0, 0, 0, 0}, {294, 780, 4160, 0, 0, 0, 0}, {295, 783, 4176, 0, 0, 0, 0}, {296, 768, 5376, 0, 0, 0, 0}, {297, 771, 5397, 0, 0, 0, 0}, {298, 768, 5120, 0, 0, 0, 0}, {299, 771, 5140, 0, 0, 0, 0}, {300, 780, 5440, 0, 0, 0, 0}, {301, 783, 5461, 0, 0, 0, 0}, {302, 780, 5188, 0, 0, 0, 0}, {303, 783, 5200, 0, 0, 0, 0}, {304, 512, 4352, 0, 0, 0, 0}, {305, 514, 4369, 0, 0, 0, 0}, {306, 514, 4112, 0, 0, 0, 0}, {307, 512, 4096, 0, 0, 0, 0}, {308, 520, 4420, 0, 0, 0, 0}, {309, 522, 4437, 0, 0, 0, 0}, {310, 522, 4176, 0, 0, 0, 0}, {311, 520, 4160, 0, 0, 0, 0}, {312, 520, 5440, 0, 0, 0, 0}, {313, 522, 5461, 0, 0, 0, 0}, {314, 522, 5200, 0, 0, 0, 0}, {315, 520, 5188, 0, 0, 0, 0}, {316, 512, 5376, 0, 0, 0, 0}, {317, 514, 5397, 0, 0, 0, 0}, {318, 514, 5140, 0, 0, 0, 0}, {319, 512, 5120, 0, 0, 0, 0}, {320, 1280, 4352, 0, 0, 0, 0}, {321, 1285, 4369, 0, 0, 0, 0}, {322, 1290, 4386, 0, 0, 0, 0}, {323, 1295, 4403, 0, 0, 0, 0}, {324, 1280, 4096, 0, 0, 0, 0}, {325, 1285, 4112, 0, 0, 0, 0}, {326, 1290, 4128, 0, 0, 0, 0}, {327, 1295, 4144, 0, 0, 0, 0}, {328, 1280, 4864, 0, 0, 0, 0}, {329, 1285, 4883, 0, 0, 0, 0}, {330, 1290, 4896, 0, 0, 0, 0}, {331, 1295, 4915, 0, 0, 0, 0}, {332, 1280, 4608, 0, 0, 0, 0}, {333, 1285, 4626, 0, 0, 0, 0}, {334, 1290, 4642, 0, 0, 0, 0}, {335, 1295, 4656, 0, 0, 0, 0}, {336, 1024, 4352, 0, 0, 0, 0}, {337, 1028, 4369, 0, 0, 0, 0}, {338, 1032, 4386, 0, 0, 0, 0}, {339, 1036, 4403, 0, 0, 0, 0}, {340, 1028, 4112, 0, 0, 0, 0}, {341, 1024, 4096, 0, 0, 0, 0}, {342, 1036, 4144, 0, 0, 0, 0}, {343, 1032, 4128, 0, 0, 0, 0}, {344, 1032, 4896, 0, 0, 0, 0}, {345, 1036, 4915, 0, 0, 0, 0}, {346, 1024, 4864, 0, 0, 0, 0}, {347, 1028, 4883, 0, 0, 0, 0}, {348, 1036, 4656, 0, 0, 0, 0}, {349, 1032, 4642, 0, 0, 0, 0}, {350, 1028, 4626, 0, 0, 0, 0}, {351, 1024, 4608, 0, 0, 0, 0}, {352, 1792, 4352, 0, 0, 0, 0}, {353, 1799, 4369, 0, 0, 0, 0}, {354, 1800, 4386, 0, 0, 0, 0}, {355, 1807, 4403, 0, 0, 0, 0}, {356, 1800, 4128, 0, 0, 0, 0}, {357, 1807, 4144, 0, 0, 0, 0}, {358, 1792, 4096, 0, 0, 0, 0}, {359, 1799, 4112, 0, 0, 0, 0}, {360, 1800, 4896, 0, 0, 0, 0}, {361, 1807, 4915, 0, 0, 0, 0}, {362, 1792, 4864, 0, 0, 0, 0}, {363, 1799, 4883, 0, 0, 0, 0}, {364, 1792, 4608, 0, 0, 0, 0}, {365, 1799, 4626, 0, 0, 0, 0}, {366, 1800, 4642, 0, 0, 0, 0}, {367, 1807, 4656, 0, 0, 0, 0}, {368, 1536, 4352, 0, 0, 0, 0}, {369, 1542, 4369, 0, 0, 0, 0}, {370, 1546, 4386, 0, 0, 0, 0}, {371, 1548, 4403, 0, 0, 0, 0}, {372, 1548, 4144, 0, 0, 0, 0}, {373, 1546, 4128, 0, 0, 0, 0}, {374, 1542, 4112, 0, 0, 0, 0}, {375, 1536, 4096, 0, 0, 0, 0}, {376, 1536, 4864, 0, 0, 0, 0}, {377, 1542, 4883, 0, 0, 0, 0}, {378, 1546, 4896, 0, 0, 0, 0}, {379, 1548, 4915, 0, 0, 0, 0}, {380, 1548, 4656, 0, 0, 0, 0}, {381, 1546, 4642, 0, 0, 0, 0}, {382, 1542, 4626, 0, 0, 0, 0}, {383, 1536, 4608, 0, 0, 0, 0}, {384, 768, 1280, 4352, 0, 0, 0}, {385, 771, 1285, 4369, 0, 0, 0}, {386, 768, 1290, 4386, 0, 0, 0}, {387, 771, 1295, 4403, 0, 0, 0}, {388, 780, 1280, 4420, 0, 0, 0}, {389, 783, 1285, 4437, 0, 0, 0}, {390, 780, 1290, 4454, 0, 0, 0}, {391, 783, 1295, 4471, 0, 0, 0}, {392, 768, 1280, 4096, 0, 0, 0}, {393, 771, 1285, 4112, 0, 0, 0}, {394, 768, 1290, 4128, 0, 0, 0}, {395, 771, 1295, 4144, 0, 0, 0}, {396, 780, 1280, 4160, 0, 0, 0}, {397, 783, 1285, 4176, 0, 0, 0}, {398, 780, 1290, 4192, 0, 0, 0}, {399, 783, 1295, 4208, 0, 0, 0}, {400, 816, 1360, 4352, 0, 0, 0}, {401, 819, 1365, 4369, 0, 0, 0}, {402, 816, 1370, 4386, 0, 0, 0}, {403, 819, 1375, 4403, 0, 0, 0}, {404, 828, 1360, 4420, 0, 0, 0}, {405, 831, 1365, 4437, 0, 0, 0}, {406, 828, 1370, 4454, 0, 0, 0}, {407, 831, 1375, 4471, 0, 0, 0}, {408, 816, 1360, 4112, 0, 0, 0}, {409, 819, 1365, 4096, 0, 0, 0}, {410, 816, 1370, 4144, 0, 0, 0}, {411, 819, 1375, 4128, 0, 0, 0}, {412, 828, 1360, 4176, 0, 0, 0}, {413, 831, 1365, 4160, 0, 0, 0}, {414, 828, 1370, 4208, 0, 0, 0}, {415, 831, 1375, 4192, 0, 0, 0}, {416, 768, 1024, 4352, 0, 0, 0}, {417, 771, 1028, 4369, 0, 0, 0}, {418, 768, 1032, 4386, 0, 0, 0}, {419, 771, 1036, 4403, 0, 0, 0}, {420, 780, 1028, 4420, 0, 0, 0}, {421, 783, 1024, 4437, 0, 0, 0}, {422, 780, 1036, 4454, 0, 0, 0}, {423, 783, 1032, 4471, 0, 0, 0}, {424, 768, 1032, 4128, 0, 0, 0}, {425, 771, 1036, 4144, 0, 0, 0}, {426, 768, 1024, 4096, 0, 0, 0}, {427, 771, 1028, 4112, 0, 0, 0}, {428, 780, 1036, 4192, 0, 0, 0}, {429, 783, 1032, 4208, 0, 0, 0}, {430, 780, 1028, 4160, 0, 0, 0}, {431, 783, 1024, 4176, 0, 0, 0}, {432, 816, 1088, 4352, 0, 0, 0}, {433, 819, 1092, 4369, 0, 0, 0}, {434, 816, 1096, 4386, 0, 0, 0}, {435, 819, 1100, 4403, 0, 0, 0}, {436, 828, 1092, 4420, 0, 0, 0}, {437, 831, 1088, 4437, 0, 0, 0}, {438, 828, 1100, 4454, 0, 0, 0}, {439, 831, 1096, 4471, 0, 0, 0}, {440, 816, 1096, 4144, 0, 0, 0}, {441, 819, 1100, 4128, 0, 0, 0}, {442, 816, 1088, 4112, 0, 0, 0}, {443, 819, 1092, 4096, 0, 0, 0}, {444, 828, 1100, 4208, 0, 0, 0}, {445, 831, 1096, 4192, 0, 0, 0}, {446, 828, 1092, 4176, 0, 0, 0}, {447, 831, 1088, 4160, 0, 0, 0}, {448, 512, 1280, 4352, 0, 0, 0}, {449, 514, 1285, 4369, 0, 0, 0}, {450, 514, 1290, 4386, 0, 0, 0}, {451, 512, 1295, 4403, 0, 0, 0}, {452, 520, 1280, 4420, 0, 0, 0}, {453, 522, 1285, 4437, 0, 0, 0}, {454, 522, 1290, 4454, 0, 0, 0}, {455, 520, 1295, 4471, 0, 0, 0}, {456, 520, 1280, 4160, 0, 0, 0}, {457, 522, 1285, 4176, 0, 0, 0}, {458, 522, 1290, 4192, 0, 0, 0}, {459, 520, 1295, 4208, 0, 0, 0}, {460, 512, 1280, 4096, 0, 0, 0}, {461, 514, 1285, 4112, 0, 0, 0}, {462, 514, 1290, 4128, 0, 0, 0}, {463, 512, 1295, 4144, 0, 0, 0}, {464, 544, 1360, 4352, 0, 0, 0}, {465, 546, 1365, 4369, 0, 0, 0}, {466, 546, 1370, 4386, 0, 0, 0}, {467, 544, 1375, 4403, 0, 0, 0}, {468, 552, 1360, 4420, 0, 0, 0}, {469, 554, 1365, 4437, 0, 0, 0}, {470, 554, 1370, 4454, 0, 0, 0}, {471, 552, 1375, 4471, 0, 0, 0}, {472, 552, 1360, 4176, 0, 0, 0}, {473, 554, 1365, 4160, 0, 0, 0}, {474, 554, 1370, 4208, 0, 0, 0}, {475, 552, 1375, 4192, 0, 0, 0}, {476, 544, 1360, 4112, 0, 0, 0}, {477, 546, 1365, 4096, 0, 0, 0}, {478, 546, 1370, 4144, 0, 0, 0}, {479, 544, 1375, 4128, 0, 0, 0}, {480, 544, 1088, 4352, 0, 0, 0}, {481, 546, 1092, 4369, 0, 0, 0}, {482, 546, 1096, 4386, 0, 0, 0}, {483, 544, 1100, 4403, 0, 0, 0}, {484, 552, 1092, 4420, 0, 0, 0}, {485, 554, 1088, 4437, 0, 0, 0}, {486, 554, 1100, 4454, 0, 0, 0}, {487, 552, 1096, 4471, 0, 0, 0}, {488, 552, 1096, 4192, 0, 0, 0}, {489, 554, 1100, 4208, 0, 0, 0}, {490, 554, 1088, 4160, 0, 0, 0}, {491, 552, 1092, 4176, 0, 0, 0}, {492, 544, 1100, 4128, 0, 0, 0}, {493, 546, 1096, 4144, 0, 0, 0}, {494, 546, 1092, 4096, 0, 0, 0}, {495, 544, 1088, 4112, 0, 0, 0}, {496, 512, 1024, 4352, 0, 0, 0}, {497, 514, 1028, 4369, 0, 0, 0}, {498, 514, 1032, 4386, 0, 0, 0}, {499, 512, 1036, 4403, 0, 0, 0}, {500, 520, 1028, 4420, 0, 0, 0}, {501, 522, 1024, 4437, 0, 0, 0}, {502, 522, 1036, 4454, 0, 0, 0}, {503, 520, 1032, 4471, 0, 0, 0}, {504, 520, 1032, 4208, 0, 0, 0}, {505, 522, 1036, 4192, 0, 0, 0}, {506, 522, 1024, 4176, 0, 0, 0}, {507, 520, 1028, 4160, 0, 0, 0}, {508, 512, 1036, 4144, 0, 0, 0}, {509, 514, 1032, 4128, 0, 0, 0}, {510, 514, 1028, 4112, 0, 0, 0}, {511, 512, 1024, 4096, 0, 0, 0}, {512, 0, 0, 0, 0, 0, 0}, {3, 257, 0, 0, 0, 0, 0}, {514, 0, 0, 0, 0, 0, 0}, {3, 256, 0, 0, 0, 0, 0}, {12, 516, 1028, 0, 0, 0, 0}, {15, 517, 1285, 0, 0, 0, 0}, {12, 518, 1024, 0, 0, 0, 0}, {15, 519, 1280, 0, 0, 0, 0}, {520, 0, 0, 0, 0, 0, 0}, {3, 261, 0, 0, 0, 0, 0}, {522, 0, 0, 0, 0, 0, 0}, {3, 260, 0, 0, 0, 0, 0}, {12, 512, 1024, 0, 0, 0, 0}, {15, 514, 1285, 0, 0, 0, 0}, {12, 514, 1028, 0, 0, 0, 0}, {15, 512, 1280, 0, 0, 0, 0}, {48, 528, 4112, 0, 0, 0, 0}, {51, 529, 4369, 0, 0, 0, 0}, {48, 530, 4096, 0, 0, 0, 0}, {51, 531, 4352, 0, 0, 0, 0}, {60, 532, 5140, 0, 0, 0, 0}, {63, 533, 5397, 0, 0, 0, 0}, {60, 534, 5120, 0, 0, 0, 0}, {63, 535, 5376, 0, 0, 0, 0}, {48, 536, 4176, 0, 0, 0, 0}, {51, 537, 4437, 0, 0, 0, 0}, {48, 538, 4160, 0, 0, 0, 0}, {51, 539, 4420, 0, 0, 0, 0}, {60, 540, 5200, 0, 0, 0, 0}, {63, 541, 5461, 0, 0, 0, 0}, {60, 542, 5188, 0, 0, 0, 0}, {63, 543, 5440, 0, 0, 0, 0}, {544, 0, 0, 0, 0, 0, 0}, {3, 273, 0, 0, 0, 0, 0}, {546, 0, 0, 0, 0, 0, 0}, {3, 272, 0, 0, 0, 0, 0}, {12, 548, 1092, 0, 0, 0, 0}, {15, 549, 1365, 0, 0, 0, 0}, {12, 550, 1088, 0, 0, 0, 0}, {15, 551, 1360, 0, 0, 0, 0}, {552, 0, 0, 0, 0, 0, 0}, {3, 277, 0, 0, 0, 0, 0}, {554, 0, 0, 0, 0, 0, 0}, {3, 276, 0, 0, 0, 0, 0}, {12, 544, 1088, 0, 0, 0, 0}, {15, 546, 1365, 0, 0, 0, 0}, {12, 546, 1092, 0, 0, 0, 0}, {15, 544, 1360, 0, 0, 0, 0}, {48, 512, 4096, 0, 0, 0, 0}, {51, 514, 4369, 0, 0, 0, 0}, {48, 514, 4112, 0, 0, 0, 0}, {51, 512, 4352, 0, 0, 0, 0}, {60, 520, 5188, 0, 0, 0, 0}, {63, 522, 5461, 0, 0, 0, 0}, {60, 522, 5200, 0, 0, 0, 0}, {63, 520, 5440, 0, 0, 0, 0}, {48, 520, 4160, 0, 0, 0, 0}, {51, 522, 4437, 0, 0, 0, 0}, {48, 522, 4176, 0, 0, 0, 0}, {51, 520, 4420, 0, 0, 0, 0}, {60, 512, 5120, 0, 0, 0, 0}, {63, 514, 5397, 0, 0, 0, 0}, {60, 514, 5140, 0, 0, 0, 0}, {63, 512, 5376, 0, 0, 0, 0}, {2560, 8704, 576, 0, 0, 0, 0}, {15, 51, 577, 1285, 4369, 0, 0}, {2570, 8738, 578, 0, 0, 0, 0}, {15, 51, 579, 1280, 4352, 0, 0}, {2560, 8192, 580, 0, 0, 0, 0}, {15, 48, 581, 1285, 4112, 0, 0}, {2570, 8224, 582, 0, 0, 0, 0}, {15, 48, 583, 1280, 4096, 0, 0}, {2560, 8192, 584, 0, 0, 0, 0}, {15, 51, 582, 1285, 4883, 0, 0}, {2570, 8224, 586, 0, 0, 0, 0}, {15, 51, 580, 1280, 4864, 0, 0}, {2560, 8704, 588, 0, 0, 0, 0}, {15, 48, 578, 1285, 4626, 0, 0}, {2570, 8738, 590, 0, 0, 0, 0}, {15, 48, 576, 1280, 4608, 0, 0}, {2048, 8704, 592, 0, 0, 0, 0}, {12, 51, 593, 1028, 4369, 0, 0}, {2056, 8738, 594, 0, 0, 0, 0}, {12, 51, 595, 1024, 4352, 0, 0}, {12, 48, 596, 1028, 4112, 0, 0}, {2048, 8192, 597, 0, 0, 0, 0}, {12, 48, 598, 1024, 4096, 0, 0}, {2056, 8224, 599, 0, 0, 0, 0}, {2056, 8224, 600, 0, 0, 0, 0}, {12, 51, 597, 1024, 4864, 0, 0}, {2048, 8192, 602, 0, 0, 0, 0}, {12, 51, 599, 1028, 4883, 0, 0}, {12, 48, 592, 1024, 4608, 0, 0}, {2056, 8738, 605, 0, 0, 0, 0}, {12, 48, 594, 1028, 4626, 0, 0}, {2048, 8704, 607, 0, 0, 0, 0}, {2048, 8704, 608, 0, 0, 0, 0}, {15, 51, 594, 1799, 4369, 0, 0}, {2056, 8738, 610, 0, 0, 0, 0}, {15, 51, 592, 1792, 4352, 0, 0}, {2056, 8224, 612, 0, 0, 0, 0}, {15, 48, 597, 1792, 4096, 0, 0}, {2048, 8192, 614, 0, 0, 0, 0}, {15, 48, 599, 1799, 4112, 0, 0}, {2056, 8224, 616, 0, 0, 0, 0}, {15, 51, 597, 1792, 4864, 0, 0}, {2048, 8192, 618, 0, 0, 0, 0}, {15, 51, 599, 1799, 4883, 0, 0}, {2048, 8704, 620, 0, 0, 0, 0}, {15, 48, 594, 1799, 4626, 0, 0}, {2056, 8738, 622, 0, 0, 0, 0}, {15, 48, 592, 1792, 4608, 0, 0}, {2560, 8704, 624, 0, 0, 0, 0}, {12, 51, 578, 1542, 4369, 0, 0}, {2570, 8738, 626, 0, 0, 0, 0}, {12, 51, 576, 1536, 4352, 0, 0}, {12, 48, 580, 1536, 4096, 0, 0}, {2570, 8224, 629, 0, 0, 0, 0}, {12, 48, 582, 1542, 4112, 0, 0}, {2560, 8192, 631, 0, 0, 0, 0}, {2560, 8192, 632, 0, 0, 0, 0}, {12, 51, 582, 1542, 4883, 0, 0}, {2570, 8224, 634, 0, 0, 0, 0}, {12, 51, 580, 1536, 4864, 0, 0}, {12, 48, 576, 1536, 4608, 0, 0}, {2570, 8738, 637, 0, 0, 0, 0}, {12, 48, 578, 1542, 4626, 0, 0}, {2560, 8704, 639, 0, 0, 0, 0}, {640, 2560, 8704, 0, 0, 0, 0}, {3, 321, 1285, 4369, 0, 0, 0}, {642, 2570, 8738, 0, 0, 0, 0}, {3, 320, 1280, 4352, 0, 0, 0}, {12, 8192, 580, 1536, 0, 0, 0}, {15, 8224, 629, 1285, 0, 0, 0}, {12, 8224, 582, 1542, 0, 0, 0}, {15, 8192, 631, 1280, 0, 0, 0}, {648, 2560, 8192, 0, 0, 0, 0}, {3, 325, 1285, 4112, 0, 0, 0}, {650, 2570, 8224, 0, 0, 0, 0}, {3, 324, 1280, 4096, 0, 0, 0}, {12, 8704, 576, 1536, 0, 0, 0}, {15, 8738, 626, 1285, 0, 0, 0}, {12, 8738, 578, 1542, 0, 0, 0}, {15, 8704, 624, 1280, 0, 0, 0}, {2048, 48, 592, 4608, 0, 0, 0}, {2056, 51, 605, 4369, 0, 0, 0}, {2056, 48, 594, 4626, 0, 0, 0}, {2048, 51, 607, 4352, 0, 0, 0}, {2056, 60, 600, 5140, 0, 0, 0}, {2048, 63, 597, 5888, 0, 0, 0}, {2048, 60, 602, 5120, 0, 0, 0}, {2056, 63, 599, 5911, 0, 0, 0}, {2056, 48, 600, 4112, 0, 0, 0}, {2048, 51, 597, 4864, 0, 0, 0}, {2048, 48, 602, 4096, 0, 0, 0}, {2056, 51, 599, 4883, 0, 0, 0}, {2048, 60, 592, 5632, 0, 0, 0}, {2056, 63, 605, 5397, 0, 0, 0}, {2056, 60, 594, 5654, 0, 0, 0}, {2048, 63, 607, 5376, 0, 0, 0}, {672, 2048, 8704, 0, 0, 0, 0}, {3, 337, 1028, 4369, 0, 0, 0}, {674, 2056, 8738, 0, 0, 0, 0}, {3, 336, 1024, 4352, 0, 0, 0}, {12, 8224, 612, 1028, 0, 0, 0}, {15, 8192, 597, 1792, 0, 0, 0}, {12, 8192, 614, 1024, 0, 0, 0}, {15, 8224, 599, 1799, 0, 0, 0}, {680, 2056, 8224, 0, 0, 0, 0}, {3, 341, 1024, 4096, 0, 0, 0}, {682, 2048, 8192, 0, 0, 0, 0}, {3, 340, 1028, 4112, 0, 0, 0}, {12, 8704, 608, 1024, 0, 0, 0}, {15, 8738, 594, 1799, 0, 0, 0}, {12, 8738, 610, 1028, 0, 0, 0}, {15, 8704, 592, 1792, 0, 0, 0}, {2560, 48, 576, 4608, 0, 0, 0}, {2570, 51, 590, 4369, 0, 0, 0}, {2570, 48, 578, 4626, 0, 0, 0}, {2560, 51, 588, 4352, 0, 0, 0}, {2560, 60, 580, 5632, 0, 0, 0}, {2570, 63, 586, 5397, 0, 0, 0}, {2570, 60, 582, 5654, 0, 0, 0}, {2560, 63, 584, 5376, 0, 0, 0}, {2560, 48, 584, 4096, 0, 0, 0}, {2570, 51, 582, 4883, 0, 0, 0}, {2570, 48, 586, 4112, 0, 0, 0}, {2560, 51, 580, 4864, 0, 0, 0}, {2560, 60, 588, 5120, 0, 0, 0}, {2570, 63, 578, 5911, 0, 0, 0}, {2570, 60, 590, 5140, 0, 0, 0}, {2560, 63, 576, 5888, 0, 0, 0}, {192, 512, 16384, 0, 0, 0, 0}, {15, 51, 514, 1285, 4369, 0, 0}, {192, 514, 16448, 0, 0, 0, 0}, {15, 51, 512, 1280, 4352, 0, 0}, {204, 520, 17476, 0, 0, 0, 0}, {15, 48, 517, 1285, 4176, 0, 0}, {204, 522, 17408, 0, 0, 0, 0}, {15, 48, 519, 1280, 4160, 0, 0}, {192, 520, 16448, 0, 0, 0, 0}, {15, 51, 517, 1285, 4437, 0, 0}, {192, 522, 16384, 0, 0, 0, 0}, {15, 51, 519, 1280, 4420, 0, 0}, {204, 512, 17408, 0, 0, 0, 0}, {15, 48, 514, 1285, 4112, 0, 0}, {204, 514, 17476, 0, 0, 0, 0}, {15, 48, 512, 1280, 4096, 0, 0}, {240, 544, 20560, 0, 0, 0, 0}, {12, 51, 529, 1092, 4369, 0, 0}, {240, 546, 20480, 0, 0, 0, 0}, {12, 51, 531, 1088, 4352, 0, 0}, {12, 48, 532, 1092, 4176, 0, 0}, {255, 554, 21845, 0, 0, 0, 0}, {12, 48, 534, 1088, 4160, 0, 0}, {255, 552, 21760, 0, 0, 0, 0}, {240, 552, 20560, 0, 0, 0, 0}, {12, 51, 533, 1088, 4437, 0, 0}, {240, 554, 20480, 0, 0, 0, 0}, {12, 51, 535, 1092, 4420, 0, 0}, {12, 48, 528, 1088, 4112, 0, 0}, {255, 546, 21845, 0, 0, 0, 0}, {12, 48, 530, 1092, 4096, 0, 0}, {255, 544, 21760, 0, 0, 0, 0}, {192, 544, 16448, 0, 0, 0, 0}, {15, 51, 529, 1365, 4369, 0, 0}, {192, 546, 16384, 0, 0, 0, 0}, {15, 51, 531, 1360, 4352, 0, 0}, {204, 552, 17476, 0, 0, 0, 0}, {15, 48, 533, 1365, 4160, 0, 0}, {204, 554, 17408, 0, 0, 0, 0}, {15, 48, 535, 1360, 4176, 0, 0}, {192, 552, 16384, 0, 0, 0, 0}, {15, 51, 534, 1365, 4437, 0, 0}, {192, 554, 16448, 0, 0, 0, 0}, {15, 51, 532, 1360, 4420, 0, 0}, {204, 544, 17408, 0, 0, 0, 0}, {15, 48, 530, 1365, 4096, 0, 0}, {204, 546, 17476, 0, 0, 0, 0}, {15, 48, 528, 1360, 4112, 0, 0}, {240, 512, 20480, 0, 0, 0, 0}, {12, 51, 514, 1028, 4369, 0, 0}, {240, 514, 20560, 0, 0, 0, 0}, {12, 51, 512, 1024, 4352, 0, 0}, {12, 48, 516, 1028, 4160, 0, 0}, {255, 522, 21845, 0, 0, 0, 0}, {12, 48, 518, 1024, 4176, 0, 0}, {255, 520, 21760, 0, 0, 0, 0}, {240, 520, 20480, 0, 0, 0, 0}, {12, 51, 518, 1024, 4437, 0, 0}, {240, 522, 20560, 0, 0, 0, 0}, {12, 51, 516, 1028, 4420, 0, 0}, {12, 48, 512, 1024, 4096, 0, 0}, {255, 514, 21845, 0, 0, 0, 0}, {12, 48, 514, 1028, 4112, 0, 0}, {255, 512, 21760, 0, 0, 0, 0}, {768, 0, 0, 0, 0, 0, 0}, {2, 257, 0, 0, 0, 0, 0}, {2, 256, 0, 0, 0, 0, 0}, {771, 0, 0, 0, 0, 0, 0}, {8, 772, 1028, 0, 0, 0, 0}, {10, 773, 1285, 0, 0, 0, 0}, {10, 774, 1280, 0, 0, 0, 0}, {8, 775, 1024, 0, 0, 0, 0}, {8, 768, 1024, 0, 0, 0, 0}, {10, 771, 1285, 0, 0, 0, 0}, {10, 768, 1280, 0, 0, 0, 0}, {8, 771, 1028, 0, 0, 0, 0}, {780, 0, 0, 0, 0, 0, 0}, {2, 261, 0, 0, 0, 0, 0}, {2, 260, 0, 0, 0, 0, 0}, {783, 0, 0, 0, 0, 0, 0}, {32, 784, 4112, 0, 0, 0, 0}, {34, 785, 4369, 0, 0, 0, 0}, {34, 786, 4352, 0, 0, 0, 0}, {32, 787, 4096, 0, 0, 0, 0}, {40, 788, 5140, 0, 0, 0, 0}, {42, 789, 5397, 0, 0, 0, 0}, {42, 790, 5376, 0, 0, 0, 0}, {40, 791, 5120, 0, 0, 0, 0}, {40, 792, 5200, 0, 0, 0, 0}, {42, 793, 5461, 0, 0, 0, 0}, {42, 794, 5440, 0, 0, 0, 0}, {40, 795, 5188, 0, 0, 0, 0}, {32, 796, 4176, 0, 0, 0, 0}, {34, 797, 4437, 0, 0, 0, 0}, {34, 798, 4420, 0, 0, 0, 0}, {32, 799, 4160, 0, 0, 0, 0}, {32, 768, 4096, 0, 0, 0, 0}, {34, 771, 4369, 0, 0, 0, 0}, {34, 768, 4352, 0, 0, 0, 0}, {32, 771, 4112, 0, 0, 0, 0}, {40, 780, 5188, 0, 0, 0, 0}, {42, 783, 5461, 0, 0, 0, 0}, {42, 780, 5440, 0, 0, 0, 0}, {40, 783, 5200, 0, 0, 0, 0}, {40, 768, 5120, 0, 0, 0, 0}, {42, 771, 5397, 0, 0, 0, 0}, {42, 768, 5376, 0, 0, 0, 0}, {40, 771, 5140, 0, 0, 0, 0}, {32, 780, 4160, 0, 0, 0, 0}, {34, 783, 4437, 0, 0, 0, 0}, {34, 780, 4420, 0, 0, 0, 0}, {32, 783, 4176, 0, 0, 0, 0}, {816, 0, 0, 0, 0, 0, 0}, {2, 273, 0, 0, 0, 0, 0}, {2, 272, 0, 0, 0, 0, 0}, {819, 0, 0, 0, 0, 0, 0}, {8, 820, 1092, 0, 0, 0, 0}, {10, 821, 1365, 0, 0, 0, 0}, {10, 822, 1360, 0, 0, 0, 0}, {8, 823, 1088, 0, 0, 0, 0}, {8, 816, 1088, 0, 0, 0, 0}, {10, 819, 1365, 0, 0, 0, 0}, {10, 816, 1360, 0, 0, 0, 0}, {8, 819, 1092, 0, 0, 0, 0}, {828, 0, 0, 0, 0, 0, 0}, {2, 277, 0, 0, 0, 0, 0}, {2, 276, 0, 0, 0, 0, 0}, {831, 0, 0, 0, 0, 0, 0}, {3840, 13056, 832, 0, 0, 0, 0}, {10, 34, 833, 1285, 4369, 0, 0}, {10, 34, 834, 1280, 4352, 0, 0}, {3855, 13107, 835, 0, 0, 0, 0}, {3840, 12288, 836, 0, 0, 0, 0}, {10, 32, 837, 1285, 4112, 0, 0}, {10, 32, 838, 1280, 4096, 0, 0}, {3855, 12336, 839, 0, 0, 0, 0}, {3840, 13056, 840, 0, 0, 0, 0}, {10, 32, 835, 1285, 4883, 0, 0}, {10, 32, 832, 1280, 4864, 0, 0}, {3855, 13107, 843, 0, 0, 0, 0}, {3840, 12288, 844, 0, 0, 0, 0}, {10, 34, 839, 1285, 4626, 0, 0}, {10, 34, 836, 1280, 4608, 0, 0}, {3855, 12336, 847, 0, 0, 0, 0}, {3072, 13056, 848, 0, 0, 0, 0}, {8, 34, 849, 1028, 4369, 0, 0}, {8, 34, 850, 1024, 4352, 0, 0}, {3084, 13107, 851, 0, 0, 0, 0}, {8, 32, 852, 1028, 4112, 0, 0}, {3072, 12288, 853, 0, 0, 0, 0}, {3084, 12336, 854, 0, 0, 0, 0}, {8, 32, 855, 1024, 4096, 0, 0}, {8, 32, 848, 1024, 4864, 0, 0}, {3084, 13107, 857, 0, 0, 0, 0}, {3072, 13056, 858, 0, 0, 0, 0}, {8, 32, 851, 1028, 4883, 0, 0}, {3084, 12336, 860, 0, 0, 0, 0}, {8, 34, 853, 1024, 4608, 0, 0}, {8, 34, 854, 1028, 4626, 0, 0}, {3072, 12288, 863, 0, 0, 0, 0}, {3840, 13056, 864, 0, 0, 0, 0}, {8, 34, 835, 1799, 4369, 0, 0}, {8, 34, 832, 1792, 4352, 0, 0}, {3855, 13107, 867, 0, 0, 0, 0}, {8, 32, 836, 1792, 4096, 0, 0}, {3855, 12336, 869, 0, 0, 0, 0}, {3840, 12288, 870, 0, 0, 0, 0}, {8, 32, 839, 1799, 4112, 0, 0}, {8, 32, 832, 1792, 4864, 0, 0}, {3855, 13107, 873, 0, 0, 0, 0}, {3840, 13056, 874, 0, 0, 0, 0}, {8, 32, 835, 1799, 4883, 0, 0}, {3840, 12288, 876, 0, 0, 0, 0}, {8, 34, 839, 1799, 4626, 0, 0}, {8, 34, 836, 1792, 4608, 0, 0}, {3855, 12336, 879, 0, 0, 0, 0}, {3072, 13056, 880, 0, 0, 0, 0}, {10, 34, 851, 1542, 4369, 0, 0}, {10, 34, 848, 1536, 4352, 0, 0}, {3084, 13107, 883, 0, 0, 0, 0}, {3084, 12336, 884, 0, 0, 0, 0}, {10, 32, 853, 1536, 4096, 0, 0}, {10, 32, 854, 1542, 4112, 0, 0}, {3072, 12288, 887, 0, 0, 0, 0}, {3072, 13056, 888, 0, 0, 0, 0}, {10, 32, 851, 1542, 4883, 0, 0}, {10, 32, 848, 1536, 4864, 0, 0}, {3084, 13107, 891, 0, 0, 0, 0}, {3084, 12336, 892, 0, 0, 0, 0}, {10, 34, 853, 1536, 4608, 0, 0}, {10, 34, 854, 1542, 4626, 0, 0}, {3072, 12288, 895, 0, 0, 0, 0}, {128, 768, 16384, 0, 0, 0, 0}, {10, 34, 771, 1285, 4369, 0, 0}, {10, 34, 768, 1280, 4352, 0, 0}, {128, 771, 16448, 0, 0, 0, 0}, {136, 780, 17476, 0, 0, 0, 0}, {10, 32, 773, 1285, 4176, 0, 0}, {10, 32, 774, 1280, 4160, 0, 0}, {136, 783, 17408, 0, 0, 0, 0}, {136, 768, 17408, 0, 0, 0, 0}, {10, 32, 771, 1285, 4112, 0, 0}, {10, 32, 768, 1280, 4096, 0, 0}, {136, 771, 17476, 0, 0, 0, 0}, {128, 780, 16448, 0, 0, 0, 0}, {10, 34, 773, 1285, 4437, 0, 0}, {10, 34, 774, 1280, 4420, 0, 0}, {128, 783, 16384, 0, 0, 0, 0}, {160, 816, 20560, 0, 0, 0, 0}, {8, 34, 785, 1092, 4369, 0, 0}, {8, 34, 786, 1088, 4352, 0, 0}, {160, 819, 20480, 0, 0, 0, 0}, {8, 32, 788, 1092, 4176, 0, 0}, {170, 831, 21845, 0, 0, 0, 0}, {170, 828, 21760, 0, 0, 0, 0}, {8, 32, 791, 1088, 4160, 0, 0}, {8, 32, 784, 1088, 4112, 0, 0}, {170, 819, 21845, 0, 0, 0, 0}, {170, 816, 21760, 0, 0, 0, 0}, {8, 32, 787, 1092, 4096, 0, 0}, {160, 828, 20560, 0, 0, 0, 0}, {8, 34, 789, 1088, 4437, 0, 0}, {8, 34, 790, 1092, 4420, 0, 0}, {160, 831, 20480, 0, 0, 0, 0}, {160, 768, 20480, 0, 0, 0, 0}, {8, 34, 771, 1028, 4369, 0, 0}, {8, 34, 768, 1024, 4352, 0, 0}, {160, 771, 20560, 0, 0, 0, 0}, {8, 32, 772, 1028, 4160, 0, 0}, {170, 783, 21845, 0, 0, 0, 0}, {170, 780, 21760, 0, 0, 0, 0}, {8, 32, 775, 1024, 4176, 0, 0}, {8, 32, 768, 1024, 4096, 0, 0}, {170, 771, 21845, 0, 0, 0, 0}, {170, 768, 21760, 0, 0, 0, 0}, {8, 32, 771, 1028, 4112, 0, 0}, {160, 780, 20480, 0, 0, 0, 0}, {8, 34, 775, 1024, 4437, 0, 0}, {8, 34, 772, 1028, 4420, 0, 0}, {160, 783, 20560, 0, 0, 0, 0}, {128, 816, 16448, 0, 0, 0, 0}, {10, 34, 785, 1365, 4369, 0, 0}, {10, 34, 786, 1360, 4352, 0, 0}, {128, 819, 16384, 0, 0, 0, 0}, {136, 828, 17476, 0, 0, 0, 0}, {10, 32, 789, 1365, 4160, 0, 0}, {10, 32, 790, 1360, 4176, 0, 0}, {136, 831, 17408, 0, 0, 0, 0}, {136, 816, 17408, 0, 0, 0, 0}, {10, 32, 787, 1365, 4096, 0, 0}, {10, 32, 784, 1360, 4112, 0, 0}, {136, 819, 17476, 0, 0, 0, 0}, {128, 828, 16384, 0, 0, 0, 0}, {10, 34, 791, 1365, 4437, 0, 0}, {10, 34, 788, 1360, 4420, 0, 0}, {128, 831, 16448, 0, 0, 0, 0}, {960, 3840, 13056, 0, 0, 0, 0}, {2, 321, 1285, 4369, 0, 0, 0}, {2, 320, 1280, 4352, 0, 0, 0}, {963, 3855, 13107, 0, 0, 0, 0}, {8, 12288, 836, 1792, 0, 0, 0}, {10, 12336, 869, 1285, 0, 0, 0}, {10, 12288, 870, 1280, 0, 0, 0}, {8, 12336, 839, 1799, 0, 0, 0}, {8, 13056, 832, 1792, 0, 0, 0}, {10, 13107, 867, 1285, 0, 0, 0}, {10, 13056, 864, 1280, 0, 0, 0}, {8, 13107, 835, 1799, 0, 0, 0}, {972, 3840, 12288, 0, 0, 0, 0}, {2, 325, 1285, 4112, 0, 0, 0}, {2, 324, 1280, 4096, 0, 0, 0}, {975, 3855, 12336, 0, 0, 0, 0}, {3072, 32, 848, 4864, 0, 0, 0}, {3084, 34, 857, 4369, 0, 0, 0}, {3072, 34, 858, 4352, 0, 0, 0}, {3084, 32, 851, 4883, 0, 0, 0}, {3084, 40, 860, 5140, 0, 0, 0}, {3072, 42, 853, 5632, 0, 0, 0}, {3084, 42, 854, 5654, 0, 0, 0}, {3072, 40, 863, 5120, 0, 0, 0}, {3072, 40, 848, 5888, 0, 0, 0}, {3084, 42, 857, 5397, 0, 0, 0}, {3072, 42, 858, 5376, 0, 0, 0}, {3084, 40, 851, 5911, 0, 0, 0}, {3084, 32, 860, 4112, 0, 0, 0}, {3072, 34, 853, 4608, 0, 0, 0}, {3084, 34, 854, 4626, 0, 0, 0}, {3072, 32, 863, 4096, 0, 0, 0}, {3840, 32, 832, 4864, 0, 0, 0}, {3855, 34, 843, 4369, 0, 0, 0}, {3840, 34, 840, 4352, 0, 0, 0}, {3855, 32, 835, 4883, 0, 0, 0}, {3840, 40, 836, 5888, 0, 0, 0}, {3855, 42, 847, 5397, 0, 0, 0}, {3840, 42, 844, 5376, 0, 0, 0}, {3855, 40, 839, 5911, 0, 0, 0}, {3840, 40, 840, 5120, 0, 0, 0}, {3855, 42, 835, 5654, 0, 0, 0}, {3840, 42, 832, 5632, 0, 0, 0}, {3855, 40, 843, 5140, 0, 0, 0}, {3840, 32, 844, 4096, 0, 0, 0}, {3855, 34, 839, 4626, 0, 0, 0}, {3840, 34, 836, 4608, 0, 0, 0}, {3855, 32, 847, 4112, 0, 0, 0}, {1008, 3072, 13056, 0, 0, 0, 0}, {2, 337, 1028, 4369, 0, 0, 0}, {2, 336, 1024, 4352, 0, 0, 0}, {1011, 3084, 13107, 0, 0, 0, 0}, {8, 12336, 884, 1028, 0, 0, 0}, {10, 12288, 853, 1536, 0, 0, 0}, {10, 12336, 854, 1542, 0, 0, 0}, {8, 12288, 887, 1024, 0, 0, 0}, {8, 13056, 880, 1024, 0, 0, 0}, {10, 13107, 851, 1542, 0, 0, 0}, {10, 13056, 848, 1536, 0, 0, 0}, {8, 13107, 883, 1028, 0, 0, 0}, {1020, 3084, 12336, 0, 0, 0, 0}, {2, 341, 1024, 4096, 0, 0, 0}, {2, 340, 1028, 4112, 0, 0, 0}, {1023, 3072, 12288, 0, 0, 0, 0}, {1024, 0, 0, 0, 0, 0, 0}, {5, 257, 0, 0, 0, 0, 0}, {10, 514, 1026, 0, 0, 0, 0}, {15, 771, 1027, 0, 0, 0, 0}, {1028, 0, 0, 0, 0, 0, 0}, {5, 256, 0, 0, 0, 0, 0}, {10, 512, 1030, 0, 0, 0, 0}, {15, 768, 1031, 0, 0, 0, 0}, {1032, 0, 0, 0, 0, 0, 0}, {5, 259, 0, 0, 0, 0, 0}, {10, 512, 1024, 0, 0, 0, 0}, {15, 771, 1028, 0, 0, 0, 0}, {1036, 0, 0, 0, 0, 0, 0}, {5, 258, 0, 0, 0, 0, 0}, {10, 514, 1028, 0, 0, 0, 0}, {15, 768, 1024, 0, 0, 0, 0}, {80, 1040, 4112, 0, 0, 0, 0}, {85, 1041, 4369, 0, 0, 0, 0}, {90, 1042, 4626, 0, 0, 0, 0}, {95, 1043, 4883, 0, 0, 0, 0}, {80, 1044, 4096, 0, 0, 0, 0}, {85, 1045, 4352, 0, 0, 0, 0}, {90, 1046, 4608, 0, 0, 0, 0}, {95, 1047, 4864, 0, 0, 0, 0}, {80, 1048, 4144, 0, 0, 0, 0}, {85, 1049, 4403, 0, 0, 0, 0}, {90, 1050, 4656, 0, 0, 0, 0}, {95, 1051, 4915, 0, 0, 0, 0}, {80, 1052, 4128, 0, 0, 0, 0}, {85, 1053, 4386, 0, 0, 0, 0}, {90, 1054, 4642, 0, 0, 0, 0}, {95, 1055, 4896, 0, 0, 0, 0}, {160, 8224, 1056, 0, 0, 0, 0}, {15, 771, 85, 1057, 4369, 0, 0}, {170, 8738, 1058, 0, 0, 0, 0}, {15, 771, 80, 1059, 4112, 0, 0}, {160, 8192, 1060, 0, 0, 0, 0}, {15, 768, 85, 1061, 4352, 0, 0}, {170, 8704, 1062, 0, 0, 0, 0}, {15, 768, 80, 1063, 4096, 0, 0}, {160, 8192, 1064, 0, 0, 0, 0}, {15, 771, 85, 1062, 4403, 0, 0}, {170, 8704, 1066, 0, 0, 0, 0}, {15, 771, 80, 1060, 4144, 0, 0}, {160, 8224, 1068, 0, 0, 0, 0}, {15, 768, 85, 1058, 4386, 0, 0}, {170, 8738, 1070, 0, 0, 0, 0}, {15, 768, 80, 1056, 4128, 0, 0}, {240, 12336, 1072, 0, 0, 0, 0}, {10, 514, 85, 1073, 4369, 0, 0}, {10, 514, 80, 1074, 4112, 0, 0}, {255, 13107, 1075, 0, 0, 0, 0}, {240, 12288, 1076, 0, 0, 0, 0}, {10, 512, 85, 1077, 4352, 0, 0}, {10, 512, 80, 1078, 4096, 0, 0}, {255, 13056, 1079, 0, 0, 0, 0}, {240, 12336, 1080, 0, 0, 0, 0}, {10, 512, 85, 1075, 4403, 0, 0}, {10, 512, 80, 1072, 4144, 0, 0}, {255, 13107, 1083, 0, 0, 0, 0}, {240, 12288, 1084, 0, 0, 0, 0}, {10, 514, 85, 1079, 4386, 0, 0}, {10, 514, 80, 1076, 4128, 0, 0}, {255, 13056, 1087, 0, 0, 0, 0}, {1088, 0, 0, 0, 0, 0, 0}, {5, 273, 0, 0, 0, 0, 0}, {10, 546, 1090, 0, 0, 0, 0}, {15, 819, 1091, 0, 0, 0, 0}, {1092, 0, 0, 0, 0, 0, 0}, {5, 272, 0, 0, 0, 0, 0}, {10, 544, 1094, 0, 0, 0, 0}, {15, 816, 1095, 0, 0, 0, 0}, {1096, 0, 0, 0, 0, 0, 0}, {5, 275, 0, 0, 0, 0, 0}, {10, 544, 1088, 0, 0, 0, 0}, {15, 819, 1092, 0, 0, 0, 0}, {1100, 0, 0, 0, 0, 0, 0}, {5, 274, 0, 0, 0, 0, 0}, {10, 546, 1092, 0, 0, 0, 0}, {15, 816, 1088, 0, 0, 0, 0}, {80, 1024, 4096, 0, 0, 0, 0}, {85, 1028, 4369, 0, 0, 0, 0}, {90, 1032, 4642, 0, 0, 0, 0}, {95, 1036, 4915, 0, 0, 0, 0}, {80, 1028, 4112, 0, 0, 0, 0}, {85, 1024, 4352, 0, 0, 0, 0}, {90, 1036, 4656, 0, 0, 0, 0}, {95, 1032, 4896, 0, 0, 0, 0}, {80, 1032, 4128, 0, 0, 0, 0}, {85, 1036, 4403, 0, 0, 0, 0}, {90, 1024, 4608, 0, 0, 0, 0}, {95, 1028, 4883, 0, 0, 0, 0}, {80, 1036, 4144, 0, 0, 0, 0}, {85, 1032, 4386, 0, 0, 0, 0}, {90, 1028, 4626, 0, 0, 0, 0}, {95, 1024, 4864, 0, 0, 0, 0}, {160, 8192, 1120, 0, 0, 0, 0}, {15, 819, 85, 1076, 4369, 0, 0}, {170, 8738, 1122, 0, 0, 0, 0}, {15, 819, 80, 1075, 4096, 0, 0}, {160, 8224, 1124, 0, 0, 0, 0}, {15, 816, 85, 1072, 4352, 0, 0}, {170, 8704, 1126, 0, 0, 0, 0}, {15, 816, 80, 1079, 4112, 0, 0}, {160, 8224, 1128, 0, 0, 0, 0}, {15, 819, 85, 1075, 4403, 0, 0}, {170, 8704, 1130, 0, 0, 0, 0}, {15, 819, 80, 1076, 4128, 0, 0}, {160, 8192, 1132, 0, 0, 0, 0}, {15, 816, 85, 1079, 4386, 0, 0}, {170, 8738, 1134, 0, 0, 0, 0}, {15, 816, 80, 1072, 4144, 0, 0}, {240, 12288, 1136, 0, 0, 0, 0}, {10, 546, 85, 1060, 4369, 0, 0}, {10, 546, 80, 1058, 4096, 0, 0}, {255, 13107, 1139, 0, 0, 0, 0}, {240, 12336, 1140, 0, 0, 0, 0}, {10, 544, 85, 1056, 4352, 0, 0}, {10, 544, 80, 1062, 4112, 0, 0}, {255, 13056, 1143, 0, 0, 0, 0}, {240, 12288, 1144, 0, 0, 0, 0}, {10, 544, 85, 1062, 4403, 0, 0}, {10, 544, 80, 1056, 4128, 0, 0}, {255, 13107, 1147, 0, 0, 0, 0}, {240, 12336, 1148, 0, 0, 0, 0}, {10, 546, 85, 1058, 4386, 0, 0}, {10, 546, 80, 1060, 4144, 0, 0}, {255, 13056, 1151, 0, 0, 0, 0}, {1152, 3072, 17408, 0, 0, 0, 0}, {289, 771, 5, 4369, 0, 0, 0}, {10, 546, 1058, 0, 0, 0, 0}, {15, 771, 1139, 0, 0, 0, 0}, {1156, 3084, 17476, 0, 0, 0, 0}, {288, 768, 5, 4352, 0, 0, 0}, {10, 544, 1062, 0, 0, 0, 0}, {15, 768, 1143, 0, 0, 0, 0}, {1160, 3072, 16384, 0, 0, 0, 0}, {291, 771, 5, 4112, 0, 0, 0}, {10, 544, 1056, 0, 0, 0, 0}, {15, 771, 1140, 0, 0, 0, 0}, {1164, 3084, 16448, 0, 0, 0, 0}, {290, 768, 5, 4096, 0, 0, 0}, {10, 546, 1060, 0, 0, 0, 0}, {15, 768, 1136, 0, 0, 0, 0}, {80, 1072, 4144, 0, 0, 0, 0}, {85, 1083, 4369, 0, 0, 0, 0}, {90, 1080, 4626, 0, 0, 0, 0}, {95, 1075, 4915, 0, 0, 0, 0}, {80, 1076, 4128, 0, 0, 0, 0}, {85, 1087, 4352, 0, 0, 0, 0}, {90, 1084, 4608, 0, 0, 0, 0}, {95, 1079, 4896, 0, 0, 0, 0}, {80, 1080, 4112, 0, 0, 0, 0}, {85, 1075, 4403, 0, 0, 0, 0}, {90, 1072, 4656, 0, 0, 0, 0}, {95, 1083, 4883, 0, 0, 0, 0}, {80, 1084, 4096, 0, 0, 0, 0}, {85, 1079, 4386, 0, 0, 0, 0}, {90, 1076, 4642, 0, 0, 0, 0}, {95, 1087, 4864, 0, 0, 0, 0}, {160, 8192, 1024, 0, 0, 0, 0}, {15, 771, 85, 1028, 4369, 0, 0}, {170, 8738, 1032, 0, 0, 0, 0}, {15, 771, 80, 1027, 4144, 0, 0}, {160, 8224, 1028, 0, 0, 0, 0}, {15, 768, 85, 1024, 4352, 0, 0}, {170, 8704, 1036, 0, 0, 0, 0}, {15, 768, 80, 1031, 4128, 0, 0}, {160, 8224, 1032, 0, 0, 0, 0}, {15, 771, 85, 1027, 4403, 0, 0}, {170, 8704, 1024, 0, 0, 0, 0}, {15, 771, 80, 1028, 4112, 0, 0}, {160, 8192, 1036, 0, 0, 0, 0}, {15, 768, 85, 1031, 4386, 0, 0}, {170, 8738, 1028, 0, 0, 0, 0}, {15, 768, 80, 1024, 4096, 0, 0}, {240, 12336, 1088, 0, 0, 0, 0}, {10, 546, 85, 1041, 4369, 0, 0}, {10, 546, 80, 1042, 4144, 0, 0}, {255, 13107, 1100, 0, 0, 0, 0}, {240, 12288, 1092, 0, 0, 0, 0}, {10, 544, 85, 1045, 4352, 0, 0}, {10, 544, 80, 1046, 4128, 0, 0}, {255, 13056, 1096, 0, 0, 0, 0}, {240, 12336, 1096, 0, 0, 0, 0}, {10, 544, 85, 1043, 4403, 0, 0}, {10, 544, 80, 1040, 4112, 0, 0}, {255, 13107, 1092, 0, 0, 0, 0}, {240, 12288, 1100, 0, 0, 0, 0}, {10, 546, 85, 1047, 4386, 0, 0}, {10, 546, 80, 1044, 4096, 0, 0}, {255, 13056, 1088, 0, 0, 0, 0}, {1216, 2048, 17408, 0, 0, 0, 0}, {305, 514, 5, 4369, 0, 0, 0}, {10, 514, 1122, 0, 0, 0, 0}, {15, 819, 1075, 0, 0, 0, 0}, {1220, 2056, 17476, 0, 0, 0, 0}, {304, 512, 5, 4352, 0, 0, 0}, {10, 512, 1126, 0, 0, 0, 0}, {15, 816, 1079, 0, 0, 0, 0}, {1224, 2056, 16448, 0, 0, 0, 0}, {307, 512, 5, 4096, 0, 0, 0}, {10, 512, 1120, 0, 0, 0, 0}, {15, 819, 1076, 0, 0, 0, 0}, {1228, 2048, 16384, 0, 0, 0, 0}, {306, 514, 5, 4112, 0, 0, 0}, {10, 514, 1124, 0, 0, 0, 0}, {15, 816, 1072, 0, 0, 0, 0}, {80, 1056, 4128, 0, 0, 0, 0}, {85, 1070, 4369, 0, 0, 0, 0}, {90, 1058, 4642, 0, 0, 0, 0}, {95, 1068, 4883, 0, 0, 0, 0}, {80, 1060, 4144, 0, 0, 0, 0}, {85, 1066, 4352, 0, 0, 0, 0}, {90, 1062, 4656, 0, 0, 0, 0}, {95, 1064, 4864, 0, 0, 0, 0}, {80, 1064, 4096, 0, 0, 0, 0}, {85, 1062, 4403, 0, 0, 0, 0}, {90, 1066, 4608, 0, 0, 0, 0}, {95, 1060, 4915, 0, 0, 0, 0}, {80, 1068, 4112, 0, 0, 0, 0}, {85, 1058, 4386, 0, 0, 0, 0}, {90, 1070, 4626, 0, 0, 0, 0}, {95, 1056, 4896, 0, 0, 0, 0}, {160, 8224, 1088, 0, 0, 0, 0}, {15, 819, 85, 1041, 4369, 0, 0}, {170, 8738, 1096, 0, 0, 0, 0}, {15, 819, 80, 1043, 4128, 0, 0}, {160, 8192, 1092, 0, 0, 0, 0}, {15, 816, 85, 1045, 4352, 0, 0}, {170, 8704, 1100, 0, 0, 0, 0}, {15, 816, 80, 1047, 4144, 0, 0}, {160, 8192, 1096, 0, 0, 0, 0}, {15, 819, 85, 1046, 4403, 0, 0}, {170, 8704, 1088, 0, 0, 0, 0}, {15, 819, 80, 1044, 4096, 0, 0}, {160, 8224, 1100, 0, 0, 0, 0}, {15, 816, 85, 1042, 4386, 0, 0}, {170, 8738, 1092, 0, 0, 0, 0}, {15, 816, 80, 1040, 4112, 0, 0}, {240, 12288, 1024, 0, 0, 0, 0}, {10, 514, 85, 1028, 4369, 0, 0}, {10, 514, 80, 1026, 4128, 0, 0}, {255, 13107, 1036, 0, 0, 0, 0}, {240, 12336, 1028, 0, 0, 0, 0}, {10, 512, 85, 1024, 4352, 0, 0}, {10, 512, 80, 1030, 4144, 0, 0}, {255, 13056, 1032, 0, 0, 0, 0}, {240, 12288, 1032, 0, 0, 0, 0}, {10, 512, 85, 1030, 4403, 0, 0}, {10, 512, 80, 1024, 4096, 0, 0}, {255, 13107, 1028, 0, 0, 0, 0}, {240, 12336, 1036, 0, 0, 0, 0}, {10, 514, 85, 1026, 4386, 0, 0}, {10, 514, 80, 1028, 4112, 0, 0}, {255, 13056, 1024, 0, 0, 0, 0}, {1280, 0, 0, 0, 0, 0, 0}, {4, 257, 0, 0, 0, 0, 0}, {8, 514, 1282, 0, 0, 0, 0}, {12, 771, 1283, 0, 0, 0, 0}, {4, 256, 0, 0, 0, 0, 0}, {1285, 0, 0, 0, 0, 0, 0}, {12, 768, 1286, 0, 0, 0, 0}, {8, 512, 1287, 0, 0, 0, 0}, {8, 512, 1280, 0, 0, 0, 0}, {12, 771, 1285, 0, 0, 0, 0}, {1290, 0, 0, 0, 0, 0, 0}, {4, 259, 0, 0, 0, 0, 0}, {12, 768, 1280, 0, 0, 0, 0}, {8, 514, 1285, 0, 0, 0, 0}, {4, 258, 0, 0, 0, 0, 0}, {1295, 0, 0, 0, 0, 0, 0}, {64, 1296, 4112, 0, 0, 0, 0}, {68, 1297, 4369, 0, 0, 0, 0}, {72, 1298, 4626, 0, 0, 0, 0}, {76, 1299, 4883, 0, 0, 0, 0}, {68, 1300, 4352, 0, 0, 0, 0}, {64, 1301, 4096, 0, 0, 0, 0}, {76, 1302, 4864, 0, 0, 0, 0}, {72, 1303, 4608, 0, 0, 0, 0}, {72, 1304, 4656, 0, 0, 0, 0}, {76, 1305, 4915, 0, 0, 0, 0}, {64, 1306, 4144, 0, 0, 0, 0}, {68, 1307, 4403, 0, 0, 0, 0}, {76, 1308, 4896, 0, 0, 0, 0}, {72, 1309, 4642, 0, 0, 0, 0}, {68, 1310, 4386, 0, 0, 0, 0}, {64, 1311, 4128, 0, 0, 0, 0}, {128, 8224, 1312, 0, 0, 0, 0}, {12, 771, 68, 1313, 4369, 0, 0}, {136, 8738, 1314, 0, 0, 0, 0}, {12, 771, 64, 1315, 4112, 0, 0}, {12, 768, 68, 1316, 4352, 0, 0}, {128, 8192, 1317, 0, 0, 0, 0}, {12, 768, 64, 1318, 4096, 0, 0}, {136, 8704, 1319, 0, 0, 0, 0}, {136, 8704, 1320, 0, 0, 0, 0}, {12, 771, 64, 1317, 4144, 0, 0}, {128, 8192, 1322, 0, 0, 0, 0}, {12, 771, 68, 1319, 4403, 0, 0}, {12, 768, 64, 1312, 4128, 0, 0}, {136, 8738, 1325, 0, 0, 0, 0}, {12, 768, 68, 1314, 4386, 0, 0}, {128, 8224, 1327, 0, 0, 0, 0}, {192, 12336, 1328, 0, 0, 0, 0}, {8, 514, 68, 1329, 4369, 0, 0}, {8, 514, 64, 1330, 4112, 0, 0}, {204, 13107, 1331, 0, 0, 0, 0}, {8, 512, 68, 1332, 4352, 0, 0}, {192, 12288, 1333, 0, 0, 0, 0}, {204, 13056, 1334, 0, 0, 0, 0}, {8, 512, 64, 1335, 4096, 0, 0}, {8, 512, 64, 1328, 4144, 0, 0}, {204, 13107, 1337, 0, 0, 0, 0}, {192, 12336, 1338, 0, 0, 0, 0}, {8, 512, 68, 1331, 4403, 0, 0}, {204, 13056, 1340, 0, 0, 0, 0}, {8, 514, 64, 1333, 4128, 0, 0}, {8, 514, 68, 1334, 4386, 0, 0}, {192, 12288, 1343, 0, 0, 0, 0}, {64, 1280, 4096, 0, 0, 0, 0}, {68, 1285, 4369, 0, 0, 0, 0}, {72, 1290, 4642, 0, 0, 0, 0}, {76, 1295, 4915, 0, 0, 0, 0}, {68, 1280, 4352, 0, 0, 0, 0}, {64, 1285, 4112, 0, 0, 0, 0}, {76, 1290, 4896, 0, 0, 0, 0}, {72, 1295, 4656, 0, 0, 0, 0}, {72, 1280, 4608, 0, 0, 0, 0}, {76, 1285, 4883, 0, 0, 0, 0}, {64, 1290, 4128, 0, 0, 0, 0}, {68, 1295, 4403, 0, 0, 0, 0}, {76, 1280, 4864, 0, 0, 0, 0}, {72, 1285, 4626, 0, 0, 0, 0}, {68, 1290, 4386, 0, 0, 0, 0}, {64, 1295, 4144, 0, 0, 0, 0}, {1360, 0, 0, 0, 0, 0, 0}, {4, 273, 0, 0, 0, 0, 0}, {8, 546, 1362, 0, 0, 0, 0}, {12, 819, 1363, 0, 0, 0, 0}, {4, 272, 0, 0, 0, 0, 0}, {1365, 0, 0, 0, 0, 0, 0}, {12, 816, 1366, 0, 0, 0, 0}, {8, 544, 1367, 0, 0, 0, 0}, {8, 544, 1360, 0, 0, 0, 0}, {12, 819, 1365, 0, 0, 0, 0}, {1370, 0, 0, 0, 0, 0, 0}, {4, 275, 0, 0, 0, 0, 0}, {12, 816, 1360, 0, 0, 0, 0}, {8, 546, 1365, 0, 0, 0, 0}, {4, 274, 0, 0, 0, 0, 0}, {1375, 0, 0, 0, 0, 0, 0}, {192, 12288, 1376, 0, 0, 0, 0}, {8, 546, 68, 1317, 4369, 0, 0}, {8, 546, 64, 1314, 4096, 0, 0}, {204, 13107, 1379, 0, 0, 0, 0}, {8, 544, 68, 1312, 4352, 0, 0}, {192, 12336, 1381, 0, 0, 0, 0}, {204, 13056, 1382, 0, 0, 0, 0}, {8, 544, 64, 1319, 4112, 0, 0}, {8, 544, 64, 1312, 4128, 0, 0}, {204, 13107, 1385, 0, 0, 0, 0}, {192, 12288, 1386, 0, 0, 0, 0}, {8, 544, 68, 1319, 4403, 0, 0}, {204, 13056, 1388, 0, 0, 0, 0}, {8, 546, 64, 1317, 4144, 0, 0}, {8, 546, 68, 1314, 4386, 0, 0}, {192, 12336, 1391, 0, 0, 0, 0}, {128, 8192, 1392, 0, 0, 0, 0}, {12, 819, 68, 1333, 4369, 0, 0}, {136, 8738, 1394, 0, 0, 0, 0}, {12, 819, 64, 1331, 4096, 0, 0}, {12, 816, 68, 1328, 4352, 0, 0}, {128, 8224, 1397, 0, 0, 0, 0}, {12, 816, 64, 1334, 4112, 0, 0}, {136, 8704, 1399, 0, 0, 0, 0}, {136, 8704, 1400, 0, 0, 0, 0}, {12, 819, 64, 1333, 4128, 0, 0}, {128, 8224, 1402, 0, 0, 0, 0}, {12, 819, 68, 1331, 4403, 0, 0}, {12, 816, 64, 1328, 4144, 0, 0}, {136, 8738, 1405, 0, 0, 0, 0}, {12, 816, 68, 1334, 4386, 0, 0}, {128, 8192, 1407, 0, 0, 0, 0}, {128, 8192, 1280, 0, 0, 0, 0}, {12, 771, 68, 1285, 4369, 0, 0}, {136, 8738, 1290, 0, 0, 0, 0}, {12, 771, 64, 1283, 4144, 0, 0}, {12, 768, 68, 1280, 4352, 0, 0}, {128, 8224, 1285, 0, 0, 0, 0}, {12, 768, 64, 1286, 4128, 0, 0}, {136, 8704, 1295, 0, 0, 0, 0}, {136, 8704, 1280, 0, 0, 0, 0}, {12, 771, 64, 1285, 4112, 0, 0}, {128, 8224, 1290, 0, 0, 0, 0}, {12, 771, 68, 1283, 4403, 0, 0}, {12, 768, 64, 1280, 4096, 0, 0}, {136, 8738, 1285, 0, 0, 0, 0}, {12, 768, 68, 1286, 4386, 0, 0}, {128, 8192, 1295, 0, 0, 0, 0}, {192, 12336, 1360, 0, 0, 0, 0}, {8, 546, 68, 1297, 4369, 0, 0}, {8, 546, 64, 1298, 4144, 0, 0}, {204, 13107, 1375, 0, 0, 0, 0}, {8, 544, 68, 1300, 4352, 0, 0}, {192, 12288, 1365, 0, 0, 0, 0}, {204, 13056, 1370, 0, 0, 0, 0}, {8, 544, 64, 1303, 4128, 0, 0}, {8, 544, 64, 1296, 4112, 0, 0}, {204, 13107, 1365, 0, 0, 0, 0}, {192, 12336, 1370, 0, 0, 0, 0}, {8, 544, 68, 1299, 4403, 0, 0}, {204, 13056, 1360, 0, 0, 0, 0}, {8, 546, 64, 1301, 4096, 0, 0}, {8, 546, 68, 1302, 4386, 0, 0}, {192, 12288, 1375, 0, 0, 0, 0}, {1440, 3840, 21760, 0, 0, 0, 0}, {289, 771, 4, 4369, 0, 0, 0}, {8, 546, 1314, 0, 0, 0, 0}, {12, 771, 1379, 0, 0, 0, 0}, {288, 768, 4, 4352, 0, 0, 0}, {1445, 3855, 21845, 0, 0, 0, 0}, {12, 768, 1382, 0, 0, 0, 0}, {8, 544, 1319, 0, 0, 0, 0}, {8, 544, 1312, 0, 0, 0, 0}, {12, 771, 1381, 0, 0, 0, 0}, {1450, 3840, 20480, 0, 0, 0, 0}, {291, 771, 4, 4112, 0, 0, 0}, {12, 768, 1376, 0, 0, 0, 0}, {8, 546, 1317, 0, 0, 0, 0}, {290, 768, 4, 4096, 0, 0, 0}, {1455, 3855, 20560, 0, 0, 0, 0}, {64, 1328, 4144, 0, 0, 0, 0}, {68, 1337, 4369, 0, 0, 0, 0}, {72, 1338, 4626, 0, 0, 0, 0}, {76, 1331, 4915, 0, 0, 0, 0}, {68, 1340, 4352, 0, 0, 0, 0}, {64, 1333, 4128, 0, 0, 0, 0}, {76, 1334, 4896, 0, 0, 0, 0}, {72, 1343, 4608, 0, 0, 0, 0}, {72, 1328, 4656, 0, 0, 0, 0}, {76, 1337, 4883, 0, 0, 0, 0}, {64, 1338, 4112, 0, 0, 0, 0}, {68, 1331, 4403, 0, 0, 0, 0}, {76, 1340, 4864, 0, 0, 0, 0}, {72, 1333, 4642, 0, 0, 0, 0}, {68, 1334, 4386, 0, 0, 0, 0}, {64, 1343, 4096, 0, 0, 0, 0}, {192, 12288, 1280, 0, 0, 0, 0}, {8, 514, 68, 1285, 4369, 0, 0}, {8, 514, 64, 1282, 4128, 0, 0}, {204, 13107, 1295, 0, 0, 0, 0}, {8, 512, 68, 1280, 4352, 0, 0}, {192, 12336, 1285, 0, 0, 0, 0}, {204, 13056, 1290, 0, 0, 0, 0}, {8, 512, 64, 1287, 4144, 0, 0}, {8, 512, 64, 1280, 4096, 0, 0}, {204, 13107, 1285, 0, 0, 0, 0}, {192, 12288, 1290, 0, 0, 0, 0}, {8, 512, 68, 1287, 4403, 0, 0}, {204, 13056, 1280, 0, 0, 0, 0}, {8, 514, 64, 1285, 4112, 0, 0}, {8, 514, 68, 1282, 4386, 0, 0}, {192, 12336, 1295, 0, 0, 0, 0}, {128, 8224, 1360, 0, 0, 0, 0}, {12, 819, 68, 1297, 4369, 0, 0}, {136, 8738, 1370, 0, 0, 0, 0}, {12, 819, 64, 1299, 4128, 0, 0}, {12, 816, 68, 1300, 4352, 0, 0}, {128, 8192, 1365, 0, 0, 0, 0}, {12, 816, 64, 1302, 4144, 0, 0}, {136, 8704, 1375, 0, 0, 0, 0}, {136, 8704, 1360, 0, 0, 0, 0}, {12, 819, 64, 1301, 4096, 0, 0}, {128, 8192, 1370, 0, 0, 0, 0}, {12, 819, 68, 1303, 4403, 0, 0}, {12, 816, 64, 1296, 4112, 0, 0}, {136, 8738, 1365, 0, 0, 0, 0}, {12, 816, 68, 1298, 4386, 0, 0}, {128, 8224, 1375, 0, 0, 0, 0}, {64, 1312, 4128, 0, 0, 0, 0}, {68, 1325, 4369, 0, 0, 0, 0}, {72, 1314, 4642, 0, 0, 0, 0}, {76, 1327, 4883, 0, 0, 0, 0}, {68, 1320, 4352, 0, 0, 0, 0}, {64, 1317, 4144, 0, 0, 0, 0}, {76, 1322, 4864, 0, 0, 0, 0}, {72, 1319, 4656, 0, 0, 0, 0}, {72, 1320, 4608, 0, 0, 0, 0}, {76, 1317, 4915, 0, 0, 0, 0}, {64, 1322, 4096, 0, 0, 0, 0}, {68, 1319, 4403, 0, 0, 0, 0}, {76, 1312, 4896, 0, 0, 0, 0}, {72, 1325, 4626, 0, 0, 0, 0}, {68, 1314, 4386, 0, 0, 0, 0}, {64, 1327, 4112, 0, 0, 0, 0}, {1520, 2560, 21760, 0, 0, 0, 0}, {305, 514, 4, 4369, 0, 0, 0}, {8, 514, 1394, 0, 0, 0, 0}, {12, 819, 1331, 0, 0, 0, 0}, {304, 512, 4, 4352, 0, 0, 0}, {1525, 2570, 21845, 0, 0, 0, 0}, {12, 816, 1334, 0, 0, 0, 0}, {8, 512, 1399, 0, 0, 0, 0}, {8, 512, 1392, 0, 0, 0, 0}, {12, 819, 1333, 0, 0, 0, 0}, {1530, 2570, 20560, 0, 0, 0, 0}, {307, 512, 4, 4096, 0, 0, 0}, {12, 816, 1328, 0, 0, 0, 0}, {8, 514, 1397, 0, 0, 0, 0}, {306, 514, 4, 4112, 0, 0, 0}, {1535, 2560, 20480, 0, 0, 0, 0}, {1536, 0, 0, 0, 0, 0, 0}, {7, 257, 0, 0, 0, 0, 0}, {8, 514, 1024, 0, 0, 0, 0}, {15, 771, 1280, 0, 0, 0, 0}, {8, 512, 1028, 0, 0, 0, 0}, {15, 768, 1285, 0, 0, 0, 0}, {1542, 0, 0, 0, 0, 0, 0}, {7, 256, 0, 0, 0, 0, 0}, {8, 512, 1024, 0, 0, 0, 0}, {15, 771, 1285, 0, 0, 0, 0}, {1546, 0, 0, 0, 0, 0, 0}, {7, 259, 0, 0, 0, 0, 0}, {1548, 0, 0, 0, 0, 0, 0}, {7, 258, 0, 0, 0, 0, 0}, {8, 514, 1028, 0, 0, 0, 0}, {15, 768, 1280, 0, 0, 0, 0}, {112, 1552, 4112, 0, 0, 0, 0}, {119, 1553, 4369, 0, 0, 0, 0}, {120, 1554, 4626, 0, 0, 0, 0}, {127, 1555, 4883, 0, 0, 0, 0}, {120, 1556, 4608, 0, 0, 0, 0}, {127, 1557, 4864, 0, 0, 0, 0}, {112, 1558, 4096, 0, 0, 0, 0}, {119, 1559, 4352, 0, 0, 0, 0}, {120, 1560, 4656, 0, 0, 0, 0}, {127, 1561, 4915, 0, 0, 0, 0}, {112, 1562, 4144, 0, 0, 0, 0}, {119, 1563, 4403, 0, 0, 0, 0}, {112, 1564, 4128, 0, 0, 0, 0}, {119, 1565, 4386, 0, 0, 0, 0}, {120, 1566, 4642, 0, 0, 0, 0}, {127, 1567, 4896, 0, 0, 0, 0}, {128, 8224, 1568, 0, 0, 0, 0}, {15, 771, 119, 1314, 4369, 0, 0}, {136, 8738, 1570, 0, 0, 0, 0}, {15, 771, 112, 1312, 4112, 0, 0}, {136, 8704, 1572, 0, 0, 0, 0}, {15, 768, 112, 1317, 4096, 0, 0}, {128, 8192, 1574, 0, 0, 0, 0}, {15, 768, 119, 1319, 4352, 0, 0}, {136, 8704, 1576, 0, 0, 0, 0}, {15, 771, 112, 1317, 4144, 0, 0}, {128, 8192, 1578, 0, 0, 0, 0}, {15, 771, 119, 1319, 4403, 0, 0}, {128, 8224, 1580, 0, 0, 0, 0}, {15, 768, 119, 1314, 4386, 0, 0}, {136, 8738, 1582, 0, 0, 0, 0}, {15, 768, 112, 1312, 4128, 0, 0}, {240, 12336, 1584, 0, 0, 0, 0}, {8, 514, 119, 1075, 4369, 0, 0}, {8, 514, 112, 1072, 4112, 0, 0}, {255, 13107, 1587, 0, 0, 0, 0}, {8, 512, 112, 1076, 4096, 0, 0}, {255, 13056, 1589, 0, 0, 0, 0}, {240, 12288, 1590, 0, 0, 0, 0}, {8, 512, 119, 1079, 4352, 0, 0}, {8, 512, 112, 1072, 4144, 0, 0}, {255, 13107, 1593, 0, 0, 0, 0}, {240, 12336, 1594, 0, 0, 0, 0}, {8, 512, 119, 1075, 4403, 0, 0}, {240, 12288, 1596, 0, 0, 0, 0}, {8, 514, 119, 1079, 4386, 0, 0}, {8, 514, 112, 1076, 4128, 0, 0}, {255, 13056, 1599, 0, 0, 0, 0}, {128, 8192, 1600, 0, 0, 0, 0}, {15, 819, 119, 1285, 4369, 0, 0}, {136, 8738, 1602, 0, 0, 0, 0}, {15, 819, 112, 1280, 4096, 0, 0}, {136, 8704, 1604, 0, 0, 0, 0}, {15, 816, 112, 1285, 4112, 0, 0}, {128, 8224, 1606, 0, 0, 0, 0}, {15, 816, 119, 1280, 4352, 0, 0}, {136, 8704, 1608, 0, 0, 0, 0}, {15, 819, 112, 1285, 4128, 0, 0}, {128, 8224, 1610, 0, 0, 0, 0}, {15, 819, 119, 1280, 4403, 0, 0}, {128, 8192, 1612, 0, 0, 0, 0}, {15, 816, 119, 1285, 4386, 0, 0}, {136, 8738, 1614, 0, 0, 0, 0}, {15, 816, 112, 1280, 4144, 0, 0}, {240, 12288, 1616, 0, 0, 0, 0}, {8, 546, 119, 1028, 4369, 0, 0}, {8, 546, 112, 1024, 4096, 0, 0}, {255, 13107, 1619, 0, 0, 0, 0}, {8, 544, 112, 1028, 4112, 0, 0}, {255, 13056, 1621, 0, 0, 0, 0}, {240, 12336, 1622, 0, 0, 0, 0}, {8, 544, 119, 1024, 4352, 0, 0}, {8, 544, 112, 1024, 4128, 0, 0}, {255, 13107, 1625, 0, 0, 0, 0}, {240, 12288, 1626, 0, 0, 0, 0}, {8, 544, 119, 1028, 4403, 0, 0}, {240, 12336, 1628, 0, 0, 0, 0}, {8, 546, 119, 1024, 4386, 0, 0}, {8, 546, 112, 1028, 4144, 0, 0}, {255, 13056, 1631, 0, 0, 0, 0}, {1632, 0, 0, 0, 0, 0, 0}, {7, 273, 0, 0, 0, 0, 0}, {8, 546, 1088, 0, 0, 0, 0}, {15, 819, 1360, 0, 0, 0, 0}, {8, 544, 1092, 0, 0, 0, 0}, {15, 816, 1365, 0, 0, 0, 0}, {1638, 0, 0, 0, 0, 0, 0}, {7, 272, 0, 0, 0, 0, 0}, {8, 544, 1088, 0, 0, 0, 0}, {15, 819, 1365, 0, 0, 0, 0}, {1642, 0, 0, 0, 0, 0, 0}, {7, 275, 0, 0, 0, 0, 0}, {1644, 0, 0, 0, 0, 0, 0}, {7, 274, 0, 0, 0, 0, 0}, {8, 546, 1092, 0, 0, 0, 0}, {15, 816, 1360, 0, 0, 0, 0}, {112, 1536, 4096, 0, 0, 0, 0}, {119, 1542, 4369, 0, 0, 0, 0}, {120, 1546, 4642, 0, 0, 0, 0}, {127, 1548, 4915, 0, 0, 0, 0}, {120, 1548, 4656, 0, 0, 0, 0}, {127, 1546, 4896, 0, 0, 0, 0}, {112, 1542, 4112, 0, 0, 0, 0}, {119, 1536, 4352, 0, 0, 0, 0}, {120, 1536, 4608, 0, 0, 0, 0}, {127, 1542, 4883, 0, 0, 0, 0}, {112, 1546, 4128, 0, 0, 0, 0}, {119, 1548, 4403, 0, 0, 0, 0}, {112, 1548, 4144, 0, 0, 0, 0}, {119, 1546, 4386, 0, 0, 0, 0}, {120, 1542, 4626, 0, 0, 0, 0}, {127, 1536, 4864, 0, 0, 0, 0}, {128, 8192, 1536, 0, 0, 0, 0}, {15, 771, 119, 1285, 4369, 0, 0}, {136, 8738, 1546, 0, 0, 0, 0}, {15, 771, 112, 1280, 4144, 0, 0}, {136, 8704, 1548, 0, 0, 0, 0}, {15, 768, 112, 1285, 4128, 0, 0}, {128, 8224, 1542, 0, 0, 0, 0}, {15, 768, 119, 1280, 4352, 0, 0}, {136, 8704, 1536, 0, 0, 0, 0}, {15, 771, 112, 1285, 4112, 0, 0}, {128, 8224, 1546, 0, 0, 0, 0}, {15, 771, 119, 1280, 4403, 0, 0}, {128, 8192, 1548, 0, 0, 0, 0}, {15, 768, 119, 1285, 4386, 0, 0}, {136, 8738, 1542, 0, 0, 0, 0}, {15, 768, 112, 1280, 4096, 0, 0}, {240, 12336, 1632, 0, 0, 0, 0}, {8, 546, 119, 1075, 4369, 0, 0}, {8, 546, 112, 1072, 4144, 0, 0}, {255, 13107, 1644, 0, 0, 0, 0}, {8, 544, 112, 1076, 4128, 0, 0}, {255, 13056, 1642, 0, 0, 0, 0}, {240, 12288, 1638, 0, 0, 0, 0}, {8, 544, 119, 1079, 4352, 0, 0}, {8, 544, 112, 1072, 4112, 0, 0}, {255, 13107, 1638, 0, 0, 0, 0}, {240, 12336, 1642, 0, 0, 0, 0}, {8, 544, 119, 1075, 4403, 0, 0}, {240, 12288, 1644, 0, 0, 0, 0}, {8, 546, 119, 1079, 4386, 0, 0}, {8, 546, 112, 1076, 4096, 0, 0}, {255, 13056, 1632, 0, 0, 0, 0}, {1696, 3072, 26112, 0, 0, 0, 0}, {289, 771, 7, 4369, 0, 0, 0}, {8, 546, 1024, 0, 0, 0, 0}, {15, 771, 1360, 0, 0, 0, 0}, {8, 544, 1028, 0, 0, 0, 0}, {15, 768, 1365, 0, 0, 0, 0}, {1702, 3084, 26214, 0, 0, 0, 0}, {288, 768, 7, 4352, 0, 0, 0}, {8, 544, 1024, 0, 0, 0, 0}, {15, 771, 1365, 0, 0, 0, 0}, {1706, 3072, 24576, 0, 0, 0, 0}, {291, 771, 7, 4112, 0, 0, 0}, {1708, 3084, 24672, 0, 0, 0, 0}, {290, 768, 7, 4096, 0, 0, 0}, {8, 546, 1028, 0, 0, 0, 0}, {15, 768, 1360, 0, 0, 0, 0}, {112, 1584, 4144, 0, 0, 0, 0}, {119, 1593, 4369, 0, 0, 0, 0}, {120, 1594, 4626, 0, 0, 0, 0}, {127, 1587, 4915, 0, 0, 0, 0}, {120, 1596, 4608, 0, 0, 0, 0}, {127, 1589, 4896, 0, 0, 0, 0}, {112, 1590, 4128, 0, 0, 0, 0}, {119, 1599, 4352, 0, 0, 0, 0}, {120, 1584, 4656, 0, 0, 0, 0}, {127, 1593, 4883, 0, 0, 0, 0}, {112, 1594, 4112, 0, 0, 0, 0}, {119, 1587, 4403, 0, 0, 0, 0}, {112, 1596, 4096, 0, 0, 0, 0}, {119, 1589, 4386, 0, 0, 0, 0}, {120, 1590, 4642, 0, 0, 0, 0}, {127, 1599, 4864, 0, 0, 0, 0}, {1728, 2560, 26112, 0, 0, 0, 0}, {305, 514, 7, 4369, 0, 0, 0}, {8, 514, 1088, 0, 0, 0, 0}, {15, 819, 1280, 0, 0, 0, 0}, {8, 512, 1092, 0, 0, 0, 0}, {15, 816, 1285, 0, 0, 0, 0}, {1734, 2570, 26214, 0, 0, 0, 0}, {304, 512, 7, 4352, 0, 0, 0}, {8, 512, 1088, 0, 0, 0, 0}, {15, 819, 1285, 0, 0, 0, 0}, {1738, 2570, 24672, 0, 0, 0, 0}, {307, 512, 7, 4096, 0, 0, 0}, {1740, 2560, 24576, 0, 0, 0, 0}, {306, 514, 7, 4112, 0, 0, 0}, {8, 514, 1092, 0, 0, 0, 0}, {15, 816, 1280, 0, 0, 0, 0}, {112, 1568, 4128, 0, 0, 0, 0}, {119, 1582, 4369, 0, 0, 0, 0}, {120, 1570, 4642, 0, 0, 0, 0}, {127, 1580, 4883, 0, 0, 0, 0}, {120, 1572, 4656, 0, 0, 0, 0}, {127, 1578, 4864, 0, 0, 0, 0}, {112, 1574, 4144, 0, 0, 0, 0}, {119, 1576, 4352, 0, 0, 0, 0}, {120, 1576, 4608, 0, 0, 0, 0}, {127, 1574, 4915, 0, 0, 0, 0}, {112, 1578, 4096, 0, 0, 0, 0}, {119, 1572, 4403, 0, 0, 0, 0}, {112, 1580, 4112, 0, 0, 0, 0}, {119, 1570, 4386, 0, 0, 0, 0}, {120, 1582, 4626, 0, 0, 0, 0}, {127, 1568, 4896, 0, 0, 0, 0}, {128, 8224, 1632, 0, 0, 0, 0}, {15, 819, 119, 1314, 4369, 0, 0}, {136, 8738, 1642, 0, 0, 0, 0}, {15, 819, 112, 1312, 4128, 0, 0}, {136, 8704, 1644, 0, 0, 0, 0}, {15, 816, 112, 1317, 4144, 0, 0}, {128, 8192, 1638, 0, 0, 0, 0}, {15, 816, 119, 1319, 4352, 0, 0}, {136, 8704, 1632, 0, 0, 0, 0}, {15, 819, 112, 1317, 4096, 0, 0}, {128, 8192, 1642, 0, 0, 0, 0}, {15, 819, 119, 1319, 4403, 0, 0}, {128, 8224, 1644, 0, 0, 0, 0}, {15, 816, 119, 1314, 4386, 0, 0}, {136, 8738, 1638, 0, 0, 0, 0}, {15, 816, 112, 1312, 4112, 0, 0}, {240, 12288, 1536, 0, 0, 0, 0}, {8, 514, 119, 1028, 4369, 0, 0}, {8, 514, 112, 1024, 4128, 0, 0}, {255, 13107, 1548, 0, 0, 0, 0}, {8, 512, 112, 1028, 4144, 0, 0}, {255, 13056, 1546, 0, 0, 0, 0}, {240, 12336, 1542, 0, 0, 0, 0}, {8, 512, 119, 1024, 4352, 0, 0}, {8, 512, 112, 1024, 4096, 0, 0}, {255, 13107, 1542, 0, 0, 0, 0}, {240, 12288, 1546, 0, 0, 0, 0}, {8, 512, 119, 1028, 4403, 0, 0}, {240, 12336, 1548, 0, 0, 0, 0}, {8, 514, 119, 1024, 4386, 0, 0}, {8, 514, 112, 1028, 4112, 0, 0}, {255, 13056, 1536, 0, 0, 0, 0}, {1792, 0, 0, 0, 0, 0, 0}, {6, 257, 0, 0, 0, 0, 0}, {10, 514, 1280, 0, 0, 0, 0}, {12, 771, 1024, 0, 0, 0, 0}, {12, 768, 1028, 0, 0, 0, 0}, {10, 512, 1285, 0, 0, 0, 0}, {6, 256, 0, 0, 0, 0, 0}, {1799, 0, 0, 0, 0, 0, 0}, {1800, 0, 0, 0, 0, 0, 0}, {6, 259, 0, 0, 0, 0, 0}, {10, 512, 1280, 0, 0, 0, 0}, {12, 771, 1028, 0, 0, 0, 0}, {12, 768, 1024, 0, 0, 0, 0}, {10, 514, 1285, 0, 0, 0, 0}, {6, 258, 0, 0, 0, 0, 0}, {1807, 0, 0, 0, 0, 0, 0}, {96, 1808, 4112, 0, 0, 0, 0}, {102, 1809, 4369, 0, 0, 0, 0}, {106, 1810, 4626, 0, 0, 0, 0}, {108, 1811, 4883, 0, 0, 0, 0}, {108, 1812, 4864, 0, 0, 0, 0}, {106, 1813, 4608, 0, 0, 0, 0}, {102, 1814, 4352, 0, 0, 0, 0}, {96, 1815, 4096, 0, 0, 0, 0}, {96, 1816, 4144, 0, 0, 0, 0}, {102, 1817, 4403, 0, 0, 0, 0}, {106, 1818, 4656, 0, 0, 0, 0}, {108, 1819, 4915, 0, 0, 0, 0}, {108, 1820, 4896, 0, 0, 0, 0}, {106, 1821, 4642, 0, 0, 0, 0}, {102, 1822, 4386, 0, 0, 0, 0}, {96, 1823, 4128, 0, 0, 0, 0}, {160, 8224, 1824, 0, 0, 0, 0}, {12, 771, 102, 1058, 4369, 0, 0}, {170, 8738, 1826, 0, 0, 0, 0}, {12, 771, 96, 1056, 4112, 0, 0}, {12, 768, 96, 1060, 4096, 0, 0}, {170, 8704, 1829, 0, 0, 0, 0}, {12, 768, 102, 1062, 4352, 0, 0}, {160, 8192, 1831, 0, 0, 0, 0}, {160, 8192, 1832, 0, 0, 0, 0}, {12, 771, 102, 1062, 4403, 0, 0}, {170, 8704, 1834, 0, 0, 0, 0}, {12, 771, 96, 1060, 4144, 0, 0}, {12, 768, 96, 1056, 4128, 0, 0}, {170, 8738, 1837, 0, 0, 0, 0}, {12, 768, 102, 1058, 4386, 0, 0}, {160, 8224, 1839, 0, 0, 0, 0}, {192, 12336, 1840, 0, 0, 0, 0}, {10, 514, 102, 1331, 4369, 0, 0}, {10, 514, 96, 1328, 4112, 0, 0}, {204, 13107, 1843, 0, 0, 0, 0}, {204, 13056, 1844, 0, 0, 0, 0}, {10, 512, 96, 1333, 4096, 0, 0}, {10, 512, 102, 1334, 4352, 0, 0}, {192, 12288, 1847, 0, 0, 0, 0}, {192, 12336, 1848, 0, 0, 0, 0}, {10, 512, 102, 1331, 4403, 0, 0}, {10, 512, 96, 1328, 4144, 0, 0}, {204, 13107, 1851, 0, 0, 0, 0}, {204, 13056, 1852, 0, 0, 0, 0}, {10, 514, 96, 1333, 4128, 0, 0}, {10, 514, 102, 1334, 4386, 0, 0}, {192, 12288, 1855, 0, 0, 0, 0}, {192, 12288, 1856, 0, 0, 0, 0}, {10, 546, 102, 1285, 4369, 0, 0}, {10, 546, 96, 1280, 4096, 0, 0}, {204, 13107, 1859, 0, 0, 0, 0}, {204, 13056, 1860, 0, 0, 0, 0}, {10, 544, 96, 1285, 4112, 0, 0}, {10, 544, 102, 1280, 4352, 0, 0}, {192, 12336, 1863, 0, 0, 0, 0}, {192, 12288, 1864, 0, 0, 0, 0}, {10, 544, 102, 1285, 4403, 0, 0}, {10, 544, 96, 1280, 4128, 0, 0}, {204, 13107, 1867, 0, 0, 0, 0}, {204, 13056, 1868, 0, 0, 0, 0}, {10, 546, 96, 1285, 4144, 0, 0}, {10, 546, 102, 1280, 4386, 0, 0}, {192, 12336, 1871, 0, 0, 0, 0}, {160, 8192, 1872, 0, 0, 0, 0}, {12, 819, 102, 1028, 4369, 0, 0}, {170, 8738, 1874, 0, 0, 0, 0}, {12, 819, 96, 1024, 4096, 0, 0}, {12, 816, 96, 1028, 4112, 0, 0}, {170, 8704, 1877, 0, 0, 0, 0}, {12, 816, 102, 1024, 4352, 0, 0}, {160, 8224, 1879, 0, 0, 0, 0}, {160, 8224, 1880, 0, 0, 0, 0}, {12, 819, 102, 1024, 4403, 0, 0}, {170, 8704, 1882, 0, 0, 0, 0}, {12, 819, 96, 1028, 4128, 0, 0}, {12, 816, 96, 1024, 4144, 0, 0}, {170, 8738, 1885, 0, 0, 0, 0}, {12, 816, 102, 1028, 4386, 0, 0}, {160, 8192, 1887, 0, 0, 0, 0}, {96, 1792, 4096, 0, 0, 0, 0}, {102, 1799, 4369, 0, 0, 0, 0}, {106, 1800, 4642, 0, 0, 0, 0}, {108, 1807, 4915, 0, 0, 0, 0}, {108, 1800, 4896, 0, 0, 0, 0}, {106, 1807, 4656, 0, 0, 0, 0}, {102, 1792, 4352, 0, 0, 0, 0}, {96, 1799, 4112, 0, 0, 0, 0}, {96, 1800, 4128, 0, 0, 0, 0}, {102, 1807, 4403, 0, 0, 0, 0}, {106, 1792, 4608, 0, 0, 0, 0}, {108, 1799, 4883, 0, 0, 0, 0}, {108, 1792, 4864, 0, 0, 0, 0}, {106, 1799, 4626, 0, 0, 0, 0}, {102, 1800, 4386, 0, 0, 0, 0}, {96, 1807, 4144, 0, 0, 0, 0}, {1904, 0, 0, 0, 0, 0, 0}, {6, 273, 0, 0, 0, 0, 0}, {10, 546, 1360, 0, 0, 0, 0}, {12, 819, 1088, 0, 0, 0, 0}, {12, 816, 1092, 0, 0, 0, 0}, {10, 544, 1365, 0, 0, 0, 0}, {6, 272, 0, 0, 0, 0, 0}, {1911, 0, 0, 0, 0, 0, 0}, {1912, 0, 0, 0, 0, 0, 0}, {6, 275, 0, 0, 0, 0, 0}, {10, 544, 1360, 0, 0, 0, 0}, {12, 819, 1092, 0, 0, 0, 0}, {12, 816, 1088, 0, 0, 0, 0}, {10, 546, 1365, 0, 0, 0, 0}, {6, 274, 0, 0, 0, 0, 0}, {1919, 0, 0, 0, 0, 0, 0}, {1920, 3840, 30464, 0, 0, 0, 0}, {289, 771, 6, 4369, 0, 0, 0}, {10, 546, 1280, 0, 0, 0, 0}, {12, 771, 1088, 0, 0, 0, 0}, {12, 768, 1092, 0, 0, 0, 0}, {10, 544, 1285, 0, 0, 0, 0}, {288, 768, 6, 4352, 0, 0, 0}, {1927, 3855, 30583, 0, 0, 0, 0}, {1928, 3840, 28672, 0, 0, 0, 0}, {291, 771, 6, 4112, 0, 0, 0}, {10, 544, 1280, 0, 0, 0, 0}, {12, 771, 1092, 0, 0, 0, 0}, {12, 768, 1088, 0, 0, 0, 0}, {10, 546, 1285, 0, 0, 0, 0}, {290, 768, 6, 4096, 0, 0, 0}, {1935, 3855, 28784, 0, 0, 0, 0}, {96, 1840, 4144, 0, 0, 0, 0}, {102, 1851, 4369, 0, 0, 0, 0}, {106, 1848, 4626, 0, 0, 0, 0}, {108, 1843, 4915, 0, 0, 0, 0}, {108, 1844, 4896, 0, 0, 0, 0}, {106, 1855, 4608, 0, 0, 0, 0}, {102, 1852, 4352, 0, 0, 0, 0}, {96, 1847, 4128, 0, 0, 0, 0}, {96, 1848, 4112, 0, 0, 0, 0}, {102, 1843, 4403, 0, 0, 0, 0}, {106, 1840, 4656, 0, 0, 0, 0}, {108, 1851, 4883, 0, 0, 0, 0}, {108, 1852, 4864, 0, 0, 0, 0}, {106, 1847, 4642, 0, 0, 0, 0}, {102, 1844, 4386, 0, 0, 0, 0}, {96, 1855, 4096, 0, 0, 0, 0}, {160, 8192, 1792, 0, 0, 0, 0}, {12, 771, 102, 1028, 4369, 0, 0}, {170, 8738, 1800, 0, 0, 0, 0}, {12, 771, 96, 1024, 4144, 0, 0}, {12, 768, 96, 1028, 4128, 0, 0}, {170, 8704, 1807, 0, 0, 0, 0}, {12, 768, 102, 1024, 4352, 0, 0}, {160, 8224, 1799, 0, 0, 0, 0}, {160, 8224, 1800, 0, 0, 0, 0}, {12, 771, 102, 1024, 4403, 0, 0}, {170, 8704, 1792, 0, 0, 0, 0}, {12, 771, 96, 1028, 4112, 0, 0}, {12, 768, 96, 1024, 4096, 0, 0}, {170, 8738, 1799, 0, 0, 0, 0}, {12, 768, 102, 1028, 4386, 0, 0}, {160, 8192, 1807, 0, 0, 0, 0}, {192, 12336, 1904, 0, 0, 0, 0}, {10, 546, 102, 1331, 4369, 0, 0}, {10, 546, 96, 1328, 4144, 0, 0}, {204, 13107, 1919, 0, 0, 0, 0}, {204, 13056, 1912, 0, 0, 0, 0}, {10, 544, 96, 1333, 4128, 0, 0}, {10, 544, 102, 1334, 4352, 0, 0}, {192, 12288, 1911, 0, 0, 0, 0}, {192, 12336, 1912, 0, 0, 0, 0}, {10, 544, 102, 1331, 4403, 0, 0}, {10, 544, 96, 1328, 4112, 0, 0}, {204, 13107, 1911, 0, 0, 0, 0}, {204, 13056, 1904, 0, 0, 0, 0}, {10, 546, 96, 1333, 4096, 0, 0}, {10, 546, 102, 1334, 4386, 0, 0}, {192, 12288, 1919, 0, 0, 0, 0}, {192, 12288, 1792, 0, 0, 0, 0}, {10, 514, 102, 1285, 4369, 0, 0}, {10, 514, 96, 1280, 4128, 0, 0}, {204, 13107, 1807, 0, 0, 0, 0}, {204, 13056, 1800, 0, 0, 0, 0}, {10, 512, 96, 1285, 4144, 0, 0}, {10, 512, 102, 1280, 4352, 0, 0}, {192, 12336, 1799, 0, 0, 0, 0}, {192, 12288, 1800, 0, 0, 0, 0}, {10, 512, 102, 1285, 4403, 0, 0}, {10, 512, 96, 1280, 4096, 0, 0}, {204, 13107, 1799, 0, 0, 0, 0}, {204, 13056, 1792, 0, 0, 0, 0}, {10, 514, 96, 1285, 4112, 0, 0}, {10, 514, 102, 1280, 4386, 0, 0}, {192, 12336, 1807, 0, 0, 0, 0}, {160, 8224, 1904, 0, 0, 0, 0}, {12, 819, 102, 1058, 4369, 0, 0}, {170, 8738, 1912, 0, 0, 0, 0}, {12, 819, 96, 1056, 4128, 0, 0}, {12, 816, 96, 1060, 4144, 0, 0}, {170, 8704, 1919, 0, 0, 0, 0}, {12, 816, 102, 1062, 4352, 0, 0}, {160, 8192, 1911, 0, 0, 0, 0}, {160, 8192, 1912, 0, 0, 0, 0}, {12, 819, 102, 1062, 4403, 0, 0}, {170, 8704, 1904, 0, 0, 0, 0}, {12, 819, 96, 1060, 4096, 0, 0}, {12, 816, 96, 1056, 4112, 0, 0}, {170, 8738, 1911, 0, 0, 0, 0}, {12, 816, 102, 1058, 4386, 0, 0}, {160, 8224, 1919, 0, 0, 0, 0}, {96, 1824, 4128, 0, 0, 0, 0}, {102, 1837, 4369, 0, 0, 0, 0}, {106, 1826, 4642, 0, 0, 0, 0}, {108, 1839, 4883, 0, 0, 0, 0}, {108, 1832, 4864, 0, 0, 0, 0}, {106, 1829, 4656, 0, 0, 0, 0}, {102, 1834, 4352, 0, 0, 0, 0}, {96, 1831, 4144, 0, 0, 0, 0}, {96, 1832, 4096, 0, 0, 0, 0}, {102, 1829, 4403, 0, 0, 0, 0}, {106, 1834, 4608, 0, 0, 0, 0}, {108, 1831, 4915, 0, 0, 0, 0}, {108, 1824, 4896, 0, 0, 0, 0}, {106, 1837, 4626, 0, 0, 0, 0}, {102, 1826, 4386, 0, 0, 0, 0}, {96, 1839, 4112, 0, 0, 0, 0}, {2032, 2048, 30464, 0, 0, 0, 0}, {305, 514, 6, 4369, 0, 0, 0}, {10, 514, 1360, 0, 0, 0, 0}, {12, 819, 1024, 0, 0, 0, 0}, {12, 816, 1028, 0, 0, 0, 0}, {10, 512, 1365, 0, 0, 0, 0}, {304, 512, 6, 4352, 0, 0, 0}, {2039, 2056, 30583, 0, 0, 0, 0}, {2040, 2056, 28784, 0, 0, 0, 0}, {307, 512, 6, 4096, 0, 0, 0}, {10, 512, 1360, 0, 0, 0, 0}, {12, 819, 1028, 0, 0, 0, 0}, {12, 816, 1024, 0, 0, 0, 0}, {10, 514, 1365, 0, 0, 0, 0}, {306, 514, 6, 4112, 0, 0, 0}, {2047, 2048, 28672, 0, 0, 0, 0}, {2048, 0, 0, 0, 0, 0, 0}, {3, 5, 257, 0, 0, 0, 0}, {10, 514, 0, 0, 0, 0, 0}, {3, 1024, 0, 0, 0, 0, 0}, {12, 1028, 0, 0, 0, 0, 0}, {512, 5, 0, 0, 0, 0, 0}, {512, 6, 0, 0, 0, 0, 0}, {15, 1799, 0, 0, 0, 0, 0}, {2056, 0, 0, 0, 0, 0, 0}, {3, 5, 256, 0, 0, 0, 0}, {10, 512, 0, 0, 0, 0, 0}, {3, 1028, 0, 0, 0, 0, 0}, {12, 1024, 0, 0, 0, 0, 0}, {514, 5, 0, 0, 0, 0, 0}, {514, 6, 0, 0, 0, 0, 0}, {15, 1792, 0, 0, 0, 0, 0}, {2064, 48, 80, 4112, 0, 0, 0}, {2065, 51, 85, 4369, 0, 0, 0}, {2066, 48, 90, 4626, 0, 0, 0}, {2067, 51, 95, 4883, 0, 0, 0}, {2068, 60, 80, 5140, 0, 0, 0}, {2069, 63, 85, 5397, 0, 0, 0}, {2070, 60, 90, 5654, 0, 0, 0}, {2071, 63, 95, 5911, 0, 0, 0}, {2072, 48, 80, 4096, 0, 0, 0}, {2073, 51, 85, 4352, 0, 0, 0}, {2074, 48, 90, 4608, 0, 0, 0}, {2075, 51, 95, 4864, 0, 0, 0}, {2076, 60, 80, 5120, 0, 0, 0}, {2077, 63, 85, 5376, 0, 0, 0}, {2078, 60, 90, 5632, 0, 0, 0}, {2079, 63, 95, 5888, 0, 0, 0}, {160, 2080, 8224, 0, 0, 0, 0}, {3, 85, 1041, 4369, 0, 0, 0}, {170, 2082, 8738, 0, 0, 0, 0}, {3, 80, 1040, 4112, 0, 0, 0}, {12, 8192, 96, 1060, 0, 0, 0}, {15, 8704, 85, 1829, 0, 0, 0}, {12, 8704, 102, 1062, 0, 0, 0}, {15, 8192, 80, 1831, 0, 0, 0}, {160, 2088, 8192, 0, 0, 0, 0}, {3, 85, 1045, 4352, 0, 0, 0}, {170, 2090, 8704, 0, 0, 0, 0}, {3, 80, 1044, 4096, 0, 0, 0}, {12, 8224, 96, 1056, 0, 0, 0}, {15, 8738, 85, 1826, 0, 0, 0}, {12, 8738, 102, 1058, 0, 0, 0}, {15, 8224, 80, 1824, 0, 0, 0}, {2048, 48, 16384, 0, 0, 0, 0}, {10, 51, 514, 85, 4369, 0, 0}, {10, 48, 514, 80, 4112, 0, 0}, {2048, 51, 17408, 0, 0, 0, 0}, {2056, 60, 17476, 0, 0, 0, 0}, {10, 53, 512, 85, 5376, 0, 0}, {10, 54, 512, 80, 5120, 0, 0}, {2056, 63, 16448, 0, 0, 0, 0}, {2056, 48, 16448, 0, 0, 0, 0}, {10, 51, 512, 85, 4352, 0, 0}, {10, 48, 512, 80, 4096, 0, 0}, {2056, 51, 17476, 0, 0, 0, 0}, {2048, 60, 17408, 0, 0, 0, 0}, {10, 53, 514, 85, 5397, 0, 0}, {10, 54, 514, 80, 5140, 0, 0}, {2048, 63, 16384, 0, 0, 0, 0}, {192, 2112, 16448, 0, 0, 0, 0}, {51, 529, 5, 4369, 0, 0, 0}, {10, 546, 96, 0, 0, 0, 0}, {15, 51, 1859, 0, 0, 0, 0}, {204, 2116, 17476, 0, 0, 0, 0}, {48, 528, 5, 4112, 0, 0, 0}, {10, 544, 102, 0, 0, 0, 0}, {15, 48, 1863, 0, 0, 0, 0}, {192, 2120, 16384, 0, 0, 0, 0}, {51, 531, 5, 4352, 0, 0, 0}, {10, 544, 96, 0, 0, 0, 0}, {15, 51, 1860, 0, 0, 0, 0}, {204, 2124, 17408, 0, 0, 0, 0}, {48, 530, 5, 4096, 0, 0, 0}, {10, 546, 102, 0, 0, 0, 0}, {15, 48, 1856, 0, 0, 0, 0}, {2048, 8192, 80, 0, 0, 0, 0}, {12, 51, 85, 1028, 4369, 0, 0}, {2056, 8738, 90, 0, 0, 0, 0}, {12, 51, 83, 1024, 4864, 0, 0}, {12, 48, 80, 1028, 4112, 0, 0}, {2048, 8704, 85, 0, 0, 0, 0}, {12, 48, 86, 1024, 4608, 0, 0}, {2056, 8224, 95, 0, 0, 0, 0}, {2056, 8224, 80, 0, 0, 0, 0}, {12, 51, 85, 1024, 4352, 0, 0}, {2048, 8704, 90, 0, 0, 0, 0}, {12, 51, 83, 1028, 4883, 0, 0}, {12, 48, 80, 1024, 4096, 0, 0}, {2056, 8738, 85, 0, 0, 0, 0}, {12, 48, 86, 1028, 4626, 0, 0}, {2048, 8192, 95, 0, 0, 0, 0}, {2048, 8192, 96, 0, 0, 0, 0}, {15, 51, 85, 1799, 4369, 0, 0}, {2056, 8738, 106, 0, 0, 0, 0}, {15, 51, 80, 1792, 4864, 0, 0}, {2056, 8224, 108, 0, 0, 0, 0}, {15, 48, 85, 1792, 4608, 0, 0}, {2048, 8704, 102, 0, 0, 0, 0}, {15, 48, 80, 1799, 4112, 0, 0}, {2056, 8224, 96, 0, 0, 0, 0}, {15, 51, 85, 1792, 4352, 0, 0}, {2048, 8704, 106, 0, 0, 0, 0}, {15, 51, 80, 1799, 4883, 0, 0}, {2048, 8192, 108, 0, 0, 0, 0}, {15, 48, 85, 1799, 4626, 0, 0}, {2056, 8738, 102, 0, 0, 0, 0}, {15, 48, 80, 1792, 4096, 0, 0}, {240, 2160, 28784, 0, 0, 0, 0}, {51, 529, 6, 4369, 0, 0, 0}, {10, 546, 80, 0, 0, 0, 0}, {12, 51, 1088, 0, 0, 0, 0}, {12, 48, 1092, 0, 0, 0, 0}, {10, 544, 85, 0, 0, 0, 0}, {48, 528, 6, 4112, 0, 0, 0}, {255, 2167, 30583, 0, 0, 0, 0}, {240, 2168, 28672, 0, 0, 0, 0}, {51, 531, 6, 4352, 0, 0, 0}, {10, 544, 80, 0, 0, 0, 0}, {12, 51, 1092, 0, 0, 0, 0}, {12, 48, 1088, 0, 0, 0, 0}, {10, 546, 85, 0, 0, 0, 0}, {48, 530, 6, 4096, 0, 0, 0}, {255, 2175, 30464, 0, 0, 0, 0}, {2176, 0, 0, 0, 0, 0, 0}, {3, 5, 273, 0, 0, 0, 0}, {10, 546, 0, 0, 0, 0, 0}, {3, 1088, 0, 0, 0, 0, 0}, {12, 1092, 0, 0, 0, 0, 0}, {544, 5, 0, 0, 0, 0, 0}, {544, 6, 0, 0, 0, 0, 0}, {15, 1911, 0, 0, 0, 0, 0}, {2184, 0, 0, 0, 0, 0, 0}, {3, 5, 272, 0, 0, 0, 0}, {10, 544, 0, 0, 0, 0, 0}, {3, 1092, 0, 0, 0, 0, 0}, {12, 1088, 0, 0, 0, 0, 0}, {546, 5, 0, 0, 0, 0, 0}, {546, 6, 0, 0, 0, 0, 0}, {15, 1904, 0, 0, 0, 0, 0}, {2048, 48, 80, 4096, 0, 0, 0}, {2056, 51, 85, 4369, 0, 0, 0}, {2056, 48, 90, 4626, 0, 0, 0}, {2048, 51, 95, 4864, 0, 0, 0}, {2056, 60, 80, 5140, 0, 0, 0}, {2048, 63, 85, 5376, 0, 0, 0}, {2048, 60, 90, 5632, 0, 0, 0}, {2056, 63, 95, 5911, 0, 0, 0}, {2056, 48, 80, 4112, 0, 0, 0}, {2048, 51, 85, 4352, 0, 0, 0}, {2048, 48, 90, 4608, 0, 0, 0}, {2056, 51, 95, 4883, 0, 0, 0}, {2048, 60, 80, 5120, 0, 0, 0}, {2056, 63, 85, 5397, 0, 0, 0}, {2056, 60, 90, 5654, 0, 0, 0}, {2048, 63, 95, 5888, 0, 0, 0}, {160, 2048, 8192, 0, 0, 0, 0}, {3, 85, 1028, 4369, 0, 0, 0}, {170, 2056, 8738, 0, 0, 0, 0}, {3, 80, 1024, 4096, 0, 0, 0}, {12, 8224, 96, 1028, 0, 0, 0}, {15, 8704, 85, 1792, 0, 0, 0}, {12, 8704, 102, 1024, 0, 0, 0}, {15, 8224, 80, 1799, 0, 0, 0}, {160, 2056, 8224, 0, 0, 0, 0}, {3, 85, 1024, 4352, 0, 0, 0}, {170, 2048, 8704, 0, 0, 0, 0}, {3, 80, 1028, 4112, 0, 0, 0}, {12, 8192, 96, 1024, 0, 0, 0}, {15, 8738, 85, 1799, 0, 0, 0}, {12, 8738, 102, 1028, 0, 0, 0}, {15, 8192, 80, 1792, 0, 0, 0}, {2112, 48, 16448, 0, 0, 0, 0}, {10, 51, 529, 85, 4369, 0, 0}, {10, 48, 530, 80, 4096, 0, 0}, {2124, 51, 17408, 0, 0, 0, 0}, {2116, 60, 17476, 0, 0, 0, 0}, {10, 53, 533, 85, 5397, 0, 0}, {10, 54, 534, 80, 5120, 0, 0}, {2120, 63, 16384, 0, 0, 0, 0}, {2120, 48, 16384, 0, 0, 0, 0}, {10, 51, 531, 85, 4352, 0, 0}, {10, 48, 528, 80, 4112, 0, 0}, {2116, 51, 17476, 0, 0, 0, 0}, {2124, 60, 17408, 0, 0, 0, 0}, {10, 53, 535, 85, 5376, 0, 0}, {10, 54, 532, 80, 5140, 0, 0}, {2112, 63, 16448, 0, 0, 0, 0}, {192, 2048, 16384, 0, 0, 0, 0}, {51, 514, 5, 4369, 0, 0, 0}, {10, 514, 96, 0, 0, 0, 0}, {15, 51, 1792, 0, 0, 0, 0}, {204, 2056, 17476, 0, 0, 0, 0}, {48, 512, 5, 4096, 0, 0, 0}, {10, 512, 102, 0, 0, 0, 0}, {15, 48, 1799, 0, 0, 0, 0}, {192, 2056, 16448, 0, 0, 0, 0}, {51, 512, 5, 4352, 0, 0, 0}, {10, 512, 96, 0, 0, 0, 0}, {15, 51, 1799, 0, 0, 0, 0}, {204, 2048, 17408, 0, 0, 0, 0}, {48, 514, 5, 4112, 0, 0, 0}, {10, 514, 102, 0, 0, 0, 0}, {15, 48, 1792, 0, 0, 0, 0}, {2080, 8224, 80, 0, 0, 0, 0}, {12, 51, 85, 1041, 4369, 0, 0}, {2082, 8738, 90, 0, 0, 0, 0}, {12, 51, 83, 1043, 4883, 0, 0}, {12, 48, 80, 1044, 4096, 0, 0}, {2090, 8704, 85, 0, 0, 0, 0}, {12, 48, 86, 1046, 4608, 0, 0}, {2088, 8192, 95, 0, 0, 0, 0}, {2088, 8192, 80, 0, 0, 0, 0}, {12, 51, 85, 1045, 4352, 0, 0}, {2090, 8704, 90, 0, 0, 0, 0}, {12, 51, 83, 1047, 4864, 0, 0}, {12, 48, 80, 1040, 4112, 0, 0}, {2082, 8738, 85, 0, 0, 0, 0}, {12, 48, 86, 1042, 4626, 0, 0}, {2080, 8224, 95, 0, 0, 0, 0}, {2080, 8224, 96, 0, 0, 0, 0}, {15, 51, 85, 1809, 4369, 0, 0}, {2082, 8738, 106, 0, 0, 0, 0}, {15, 51, 80, 1811, 4883, 0, 0}, {2088, 8192, 108, 0, 0, 0, 0}, {15, 48, 85, 1813, 4608, 0, 0}, {2090, 8704, 102, 0, 0, 0, 0}, {15, 48, 80, 1815, 4096, 0, 0}, {2088, 8192, 96, 0, 0, 0, 0}, {15, 51, 85, 1814, 4352, 0, 0}, {2090, 8704, 106, 0, 0, 0, 0}, {15, 51, 80, 1812, 4864, 0, 0}, {2080, 8224, 108, 0, 0, 0, 0}, {15, 48, 85, 1810, 4626, 0, 0}, {2082, 8738, 102, 0, 0, 0, 0}, {15, 48, 80, 1808, 4112, 0, 0}, {240, 2048, 28672, 0, 0, 0, 0}, {51, 514, 6, 4369, 0, 0, 0}, {10, 514, 80, 0, 0, 0, 0}, {12, 51, 1024, 0, 0, 0, 0}, {12, 48, 1028, 0, 0, 0, 0}, {10, 512, 85, 0, 0, 0, 0}, {48, 512, 6, 4096, 0, 0, 0}, {255, 2056, 30583, 0, 0, 0, 0}, {240, 2056, 28784, 0, 0, 0, 0}, {51, 512, 6, 4352, 0, 0, 0}, {10, 512, 80, 0, 0, 0, 0}, {12, 51, 1028, 0, 0, 0, 0}, {12, 48, 1024, 0, 0, 0, 0}, {10, 514, 85, 0, 0, 0, 0}, {48, 514, 6, 4112, 0, 0, 0}, {255, 2048, 30464, 0, 0, 0, 0}, {768, 1280, 0, 0, 0, 0, 0}, {8, 257, 0, 0, 0, 0, 0}, {8, 258, 0, 0, 0, 0, 0}, {771, 1295, 0, 0, 0, 0, 0}, {8, 260, 0, 0, 0, 0, 0}, {783, 1285, 0, 0, 0, 0, 0}, {780, 1290, 0, 0, 0, 0, 0}, {8, 263, 0, 0, 0, 0, 0}, {8, 256, 0, 0, 0, 0, 0}, {771, 1285, 0, 0, 0, 0, 0}, {768, 1290, 0, 0, 0, 0, 0}, {8, 259, 0, 0, 0, 0, 0}, {780, 1280, 0, 0, 0, 0, 0}, {8, 261, 0, 0, 0, 0, 0}, {8, 262, 0, 0, 0, 0, 0}, {783, 1295, 0, 0, 0, 0, 0}, {128, 816, 1360, 4112, 0, 0, 0}, {136, 819, 1365, 4369, 0, 0, 0}, {136, 816, 1370, 4386, 0, 0, 0}, {128, 819, 1375, 4128, 0, 0, 0}, {136, 828, 1360, 4420, 0, 0, 0}, {128, 831, 1365, 4160, 0, 0, 0}, {128, 828, 1370, 4208, 0, 0, 0}, {136, 831, 1375, 4471, 0, 0, 0}, {136, 816, 1360, 4352, 0, 0, 0}, {128, 819, 1365, 4096, 0, 0, 0}, {128, 816, 1370, 4144, 0, 0, 0}, {136, 819, 1375, 4403, 0, 0, 0}, {128, 828, 1360, 4176, 0, 0, 0}, {136, 831, 1365, 4437, 0, 0, 0}, {136, 828, 1370, 4454, 0, 0, 0}, {128, 831, 1375, 4192, 0, 0, 0}, {128, 768, 1312, 4128, 0, 0, 0}, {136, 771, 1325, 4369, 0, 0, 0}, {136, 768, 1314, 4386, 0, 0, 0}, {128, 771, 1327, 4112, 0, 0, 0}, {136, 780, 1320, 4420, 0, 0, 0}, {128, 783, 1317, 4208, 0, 0, 0}, {128, 780, 1322, 4160, 0, 0, 0}, {136, 783, 1319, 4471, 0, 0, 0}, {136, 768, 1320, 4352, 0, 0, 0}, {128, 771, 1317, 4144, 0, 0, 0}, {128, 768, 1322, 4096, 0, 0, 0}, {136, 771, 1319, 4403, 0, 0, 0}, {128, 780, 1312, 4192, 0, 0, 0}, {136, 783, 1325, 4437, 0, 0, 0}, {136, 780, 1314, 4454, 0, 0, 0}, {128, 783, 1327, 4176, 0, 0, 0}, {1520, 816, 21760, 0, 0, 0, 0}, {8, 305, 514, 1092, 4369, 0, 0}, {8, 306, 514, 1088, 4112, 0, 0}, {1535, 819, 20480, 0, 0, 0, 0}, {8, 308, 512, 1092, 4420, 0, 0}, {1525, 831, 21845, 0, 0, 0, 0}, {1530, 828, 20560, 0, 0, 0, 0}, {8, 311, 512, 1088, 4160, 0, 0}, {8, 304, 512, 1088, 4352, 0, 0}, {1525, 819, 21845, 0, 0, 0, 0}, {1530, 816, 20560, 0, 0, 0, 0}, {8, 307, 512, 1092, 4096, 0, 0}, {1520, 828, 21760, 0, 0, 0, 0}, {8, 309, 514, 1088, 4437, 0, 0}, {8, 310, 514, 1092, 4176, 0, 0}, {1535, 831, 20480, 0, 0, 0, 0}, {832, 1280, 4864, 0, 0, 0, 0}, {843, 1285, 4369, 0, 0, 0, 0}, {840, 1290, 4386, 0, 0, 0, 0}, {835, 1295, 4915, 0, 0, 0, 0}, {836, 1280, 4608, 0, 0, 0, 0}, {847, 1285, 4112, 0, 0, 0, 0}, {844, 1290, 4128, 0, 0, 0, 0}, {839, 1295, 4656, 0, 0, 0, 0}, {840, 1280, 4352, 0, 0, 0, 0}, {835, 1285, 4883, 0, 0, 0, 0}, {832, 1290, 4896, 0, 0, 0, 0}, {843, 1295, 4403, 0, 0, 0, 0}, {844, 1280, 4096, 0, 0, 0, 0}, {839, 1285, 4626, 0, 0, 0, 0}, {836, 1290, 4642, 0, 0, 0, 0}, {847, 1295, 4144, 0, 0, 0, 0}, {1008, 13056, 1360, 0, 0, 0, 0}, {8, 546, 337, 1028, 4369, 0, 0}, {8, 546, 338, 1024, 4386, 0, 0}, {1011, 13107, 1375, 0, 0, 0, 0}, {8, 544, 340, 1028, 4112, 0, 0}, {1023, 12288, 1365, 0, 0, 0, 0}, {1020, 12336, 1370, 0, 0, 0, 0}, {8, 544, 343, 1024, 4128, 0, 0}, {8, 544, 336, 1024, 4352, 0, 0}, {1011, 13107, 1365, 0, 0, 0, 0}, {1008, 13056, 1370, 0, 0, 0, 0}, {8, 544, 339, 1028, 4403, 0, 0}, {1020, 12336, 1360, 0, 0, 0, 0}, {8, 546, 341, 1024, 4096, 0, 0}, {8, 546, 342, 1028, 4144, 0, 0}, {1023, 12288, 1375, 0, 0, 0, 0}, {960, 13056, 1632, 0, 0, 0, 0}, {8, 546, 353, 1317, 4369, 0, 0}, {8, 546, 354, 1314, 4386, 0, 0}, {963, 13107, 1644, 0, 0, 0, 0}, {8, 544, 356, 1312, 4128, 0, 0}, {975, 12336, 1642, 0, 0, 0, 0}, {972, 12288, 1638, 0, 0, 0, 0}, {8, 544, 359, 1319, 4112, 0, 0}, {8, 544, 352, 1312, 4352, 0, 0}, {963, 13107, 1638, 0, 0, 0, 0}, {960, 13056, 1642, 0, 0, 0, 0}, {8, 544, 355, 1319, 4403, 0, 0}, {972, 12288, 1644, 0, 0, 0, 0}, {8, 546, 357, 1317, 4144, 0, 0}, {8, 546, 358, 1314, 4096, 0, 0}, {975, 12336, 1632, 0, 0, 0, 0}, {880, 1536, 4864, 0, 0, 0, 0}, {891, 1542, 4369, 0, 0, 0, 0}, {888, 1546, 4386, 0, 0, 0, 0}, {883, 1548, 4915, 0, 0, 0, 0}, {884, 1548, 4656, 0, 0, 0, 0}, {895, 1546, 4128, 0, 0, 0, 0}, {892, 1542, 4112, 0, 0, 0, 0}, {887, 1536, 4608, 0, 0, 0, 0}, {888, 1536, 4352, 0, 0, 0, 0}, {883, 1542, 4883, 0, 0, 0, 0}, {880, 1546, 4896, 0, 0, 0, 0}, {891, 1548, 4403, 0, 0, 0, 0}, {892, 1548, 4144, 0, 0, 0, 0}, {887, 1546, 4642, 0, 0, 0, 0}, {884, 1542, 4626, 0, 0, 0, 0}, {895, 1536, 4096, 0, 0, 0, 0}, {128, 768, 1280, 4096, 0, 0, 0}, {136, 771, 1285, 4369, 0, 0, 0}, {136, 768, 1290, 4386, 0, 0, 0}, {128, 771, 1295, 4144, 0, 0, 0}, {136, 780, 1280, 4420, 0, 0, 0}, {128, 783, 1285, 4176, 0, 0, 0}, {128, 780, 1290, 4192, 0, 0, 0}, {136, 783, 1295, 4471, 0, 0, 0}, {136, 768, 1280, 4352, 0, 0, 0}, {128, 771, 1285, 4112, 0, 0, 0}, {128, 768, 1290, 4128, 0, 0, 0}, {136, 771, 1295, 4403, 0, 0, 0}, {128, 780, 1280, 4160, 0, 0, 0}, {136, 783, 1285, 4437, 0, 0, 0}, {136, 780, 1290, 4454, 0, 0, 0}, {128, 783, 1295, 4208, 0, 0, 0}, {816, 1360, 0, 0, 0, 0, 0}, {8, 273, 0, 0, 0, 0, 0}, {8, 274, 0, 0, 0, 0, 0}, {819, 1375, 0, 0, 0, 0, 0}, {8, 276, 0, 0, 0, 0, 0}, {831, 1365, 0, 0, 0, 0, 0}, {828, 1370, 0, 0, 0, 0, 0}, {8, 279, 0, 0, 0, 0, 0}, {8, 272, 0, 0, 0, 0, 0}, {819, 1365, 0, 0, 0, 0, 0}, {816, 1370, 0, 0, 0, 0, 0}, {8, 275, 0, 0, 0, 0, 0}, {828, 1360, 0, 0, 0, 0, 0}, {8, 277, 0, 0, 0, 0, 0}, {8, 278, 0, 0, 0, 0, 0}, {831, 1375, 0, 0, 0, 0, 0}, {1440, 768, 21760, 0, 0, 0, 0}, {8, 289, 771, 1028, 4369, 0, 0}, {8, 290, 768, 1024, 4096, 0, 0}, {1455, 771, 20560, 0, 0, 0, 0}, {8, 292, 772, 1028, 4420, 0, 0}, {1445, 783, 21845, 0, 0, 0, 0}, {1450, 780, 20480, 0, 0, 0, 0}, {8, 295, 775, 1024, 4176, 0, 0}, {8, 288, 768, 1024, 4352, 0, 0}, {1445, 771, 21845, 0, 0, 0, 0}, {1450, 768, 20480, 0, 0, 0, 0}, {8, 291, 771, 1028, 4112, 0, 0}, {1440, 780, 21760, 0, 0, 0, 0}, {8, 293, 775, 1024, 4437, 0, 0}, {8, 294, 772, 1028, 4160, 0, 0}, {1455, 783, 20560, 0, 0, 0, 0}, {128, 816, 1392, 4144, 0, 0, 0}, {136, 819, 1405, 4369, 0, 0, 0}, {136, 816, 1394, 4386, 0, 0, 0}, {128, 819, 1407, 4096, 0, 0, 0}, {136, 828, 1400, 4420, 0, 0, 0}, {128, 831, 1397, 4192, 0, 0, 0}, {128, 828, 1402, 4176, 0, 0, 0}, {136, 831, 1399, 4471, 0, 0, 0}, {136, 816, 1400, 4352, 0, 0, 0}, {128, 819, 1397, 4128, 0, 0, 0}, {128, 816, 1402, 4112, 0, 0, 0}, {136, 819, 1399, 4403, 0, 0, 0}, {128, 828, 1392, 4208, 0, 0, 0}, {136, 831, 1405, 4437, 0, 0, 0}, {136, 828, 1394, 4454, 0, 0, 0}, {128, 831, 1407, 4160, 0, 0, 0}, {960, 13056, 1280, 0, 0, 0, 0}, {8, 514, 321, 1285, 4369, 0, 0}, {8, 514, 322, 1282, 4386, 0, 0}, {963, 13107, 1295, 0, 0, 0, 0}, {8, 512, 324, 1280, 4096, 0, 0}, {975, 12336, 1285, 0, 0, 0, 0}, {972, 12288, 1290, 0, 0, 0, 0}, {8, 512, 327, 1287, 4144, 0, 0}, {8, 512, 320, 1280, 4352, 0, 0}, {963, 13107, 1285, 0, 0, 0, 0}, {960, 13056, 1290, 0, 0, 0, 0}, {8, 512, 323, 1287, 4403, 0, 0}, {972, 12288, 1280, 0, 0, 0, 0}, {8, 514, 325, 1285, 4112, 0, 0}, {8, 514, 326, 1282, 4128, 0, 0}, {975, 12336, 1295, 0, 0, 0, 0}, {880, 1568, 4896, 0, 0, 0, 0}, {891, 1582, 4369, 0, 0, 0, 0}, {888, 1570, 4386, 0, 0, 0, 0}, {883, 1580, 4883, 0, 0, 0, 0}, {884, 1572, 4656, 0, 0, 0, 0}, {895, 1578, 4096, 0, 0, 0, 0}, {892, 1574, 4144, 0, 0, 0, 0}, {887, 1576, 4608, 0, 0, 0, 0}, {888, 1576, 4352, 0, 0, 0, 0}, {883, 1574, 4915, 0, 0, 0, 0}, {880, 1578, 4864, 0, 0, 0, 0}, {891, 1572, 4403, 0, 0, 0, 0}, {892, 1580, 4112, 0, 0, 0, 0}, {887, 1570, 4642, 0, 0, 0, 0}, {884, 1582, 4626, 0, 0, 0, 0}, {895, 1568, 4128, 0, 0, 0, 0}, {832, 1312, 4896, 0, 0, 0, 0}, {843, 1325, 4369, 0, 0, 0, 0}, {840, 1314, 4386, 0, 0, 0, 0}, {835, 1327, 4883, 0, 0, 0, 0}, {836, 1320, 4608, 0, 0, 0, 0}, {847, 1317, 4144, 0, 0, 0, 0}, {844, 1322, 4096, 0, 0, 0, 0}, {839, 1319, 4656, 0, 0, 0, 0}, {840, 1320, 4352, 0, 0, 0, 0}, {835, 1317, 4915, 0, 0, 0, 0}, {832, 1322, 4864, 0, 0, 0, 0}, {843, 1319, 4403, 0, 0, 0, 0}, {844, 1312, 4128, 0, 0, 0, 0}, {839, 1325, 4626, 0, 0, 0, 0}, {836, 1314, 4642, 0, 0, 0, 0}, {847, 1327, 4112, 0, 0, 0, 0}, {1008, 13056, 1536, 0, 0, 0, 0}, {8, 514, 369, 1028, 4369, 0, 0}, {8, 514, 370, 1024, 4386, 0, 0}, {1011, 13107, 1548, 0, 0, 0, 0}, {8, 512, 372, 1028, 4144, 0, 0}, {1023, 12288, 1546, 0, 0, 0, 0}, {1020, 12336, 1542, 0, 0, 0, 0}, {8, 512, 375, 1024, 4096, 0, 0}, {8, 512, 368, 1024, 4352, 0, 0}, {1011, 13107, 1542, 0, 0, 0, 0}, {1008, 13056, 1546, 0, 0, 0, 0}, {8, 512, 371, 1028, 4403, 0, 0}, {1020, 12336, 1548, 0, 0, 0, 0}, {8, 514, 373, 1024, 4128, 0, 0}, {8, 514, 374, 1028, 4112, 0, 0}, {1023, 12288, 1536, 0, 0, 0, 0}, {2560, 0, 0, 0, 0, 0, 0}, {3, 4, 257, 0, 0, 0, 0}, {8, 514, 0, 0, 0, 0, 0}, {3, 1280, 0, 0, 0, 0, 0}, {512, 4, 0, 0, 0, 0, 0}, {15, 1285, 0, 0, 0, 0, 0}, {12, 1542, 0, 0, 0, 0, 0}, {512, 7, 0, 0, 0, 0, 0}, {8, 512, 0, 0, 0, 0, 0}, {3, 1285, 0, 0, 0, 0, 0}, {2570, 0, 0, 0, 0, 0, 0}, {3, 4, 256, 0, 0, 0, 0}, {12, 1536, 0, 0, 0, 0, 0}, {514, 7, 0, 0, 0, 0, 0}, {514, 4, 0, 0, 0, 0, 0}, {15, 1280, 0, 0, 0, 0, 0}, {2576, 48, 64, 4112, 0, 0, 0}, {2577, 51, 68, 4369, 0, 0, 0}, {2578, 48, 72, 4626, 0, 0, 0}, {2579, 51, 76, 4883, 0, 0, 0}, {2580, 60, 68, 5140, 0, 0, 0}, {2581, 63, 64, 5397, 0, 0, 0}, {2582, 60, 76, 5654, 0, 0, 0}, {2583, 63, 72, 5911, 0, 0, 0}, {2584, 48, 72, 4608, 0, 0, 0}, {2585, 51, 76, 4864, 0, 0, 0}, {2586, 48, 64, 4096, 0, 0, 0}, {2587, 51, 68, 4352, 0, 0, 0}, {2588, 60, 76, 5632, 0, 0, 0}, {2589, 63, 72, 5888, 0, 0, 0}, {2590, 60, 68, 5120, 0, 0, 0}, {2591, 63, 64, 5376, 0, 0, 0}, {128, 2592, 8224, 0, 0, 0, 0}, {3, 68, 1297, 4369, 0, 0, 0}, {136, 2594, 8738, 0, 0, 0, 0}, {3, 64, 1296, 4112, 0, 0, 0}, {12, 8704, 68, 1572, 0, 0, 0}, {15, 8192, 112, 1317, 0, 0, 0}, {12, 8192, 64, 1574, 0, 0, 0}, {15, 8704, 119, 1319, 0, 0, 0}, {136, 2600, 8704, 0, 0, 0, 0}, {3, 64, 1301, 4096, 0, 0, 0}, {128, 2602, 8192, 0, 0, 0, 0}, {3, 68, 1300, 4352, 0, 0, 0}, {12, 8224, 64, 1568, 0, 0, 0}, {15, 8738, 119, 1314, 0, 0, 0}, {12, 8738, 68, 1570, 0, 0, 0}, {15, 8224, 112, 1312, 0, 0, 0}, {2560, 48, 20480, 0, 0, 0, 0}, {8, 51, 514, 68, 4369, 0, 0}, {8, 48, 514, 64, 4112, 0, 0}, {2560, 51, 21760, 0, 0, 0, 0}, {8, 52, 512, 68, 5120, 0, 0}, {2570, 63, 21845, 0, 0, 0, 0}, {2570, 60, 20560, 0, 0, 0, 0}, {8, 55, 512, 64, 5376, 0, 0}, {8, 48, 512, 64, 4096, 0, 0}, {2570, 51, 21845, 0, 0, 0, 0}, {2570, 48, 20560, 0, 0, 0, 0}, {8, 51, 512, 68, 4352, 0, 0}, {2560, 60, 20480, 0, 0, 0, 0}, {8, 55, 514, 64, 5397, 0, 0}, {8, 52, 514, 68, 5140, 0, 0}, {2560, 63, 21760, 0, 0, 0, 0}, {2560, 8192, 64, 0, 0, 0, 0}, {15, 51, 68, 1285, 4369, 0, 0}, {2570, 8738, 72, 0, 0, 0, 0}, {15, 51, 67, 1280, 4864, 0, 0}, {2560, 8704, 68, 0, 0, 0, 0}, {15, 48, 64, 1285, 4112, 0, 0}, {2570, 8224, 76, 0, 0, 0, 0}, {15, 48, 71, 1280, 4608, 0, 0}, {2560, 8704, 72, 0, 0, 0, 0}, {15, 51, 67, 1285, 4883, 0, 0}, {2570, 8224, 64, 0, 0, 0, 0}, {15, 51, 68, 1280, 4352, 0, 0}, {2560, 8192, 76, 0, 0, 0, 0}, {15, 48, 71, 1285, 4626, 0, 0}, {2570, 8738, 68, 0, 0, 0, 0}, {15, 48, 64, 1280, 4096, 0, 0}, {240, 2640, 20560, 0, 0, 0, 0}, {51, 529, 4, 4369, 0, 0, 0}, {8, 546, 112, 0, 0, 0, 0}, {12, 51, 1619, 0, 0, 0, 0}, {48, 528, 4, 4112, 0, 0, 0}, {255, 2645, 21845, 0, 0, 0, 0}, {12, 48, 1622, 0, 0, 0, 0}, {8, 544, 119, 0, 0, 0, 0}, {8, 544, 112, 0, 0, 0, 0}, {12, 51, 1621, 0, 0, 0, 0}, {240, 2650, 20480, 0, 0, 0, 0}, {51, 531, 4, 4352, 0, 0, 0}, {12, 48, 1616, 0, 0, 0, 0}, {8, 546, 119, 0, 0, 0, 0}, {48, 530, 4, 4096, 0, 0, 0}, {255, 2655, 21760, 0, 0, 0, 0}, {192, 2656, 24672, 0, 0, 0, 0}, {51, 529, 7, 4369, 0, 0, 0}, {8, 546, 64, 0, 0, 0, 0}, {15, 51, 1360, 0, 0, 0, 0}, {8, 544, 68, 0, 0, 0, 0}, {15, 48, 1365, 0, 0, 0, 0}, {204, 2662, 26214, 0, 0, 0, 0}, {48, 528, 7, 4112, 0, 0, 0}, {8, 544, 64, 0, 0, 0, 0}, {15, 51, 1365, 0, 0, 0, 0}, {192, 2666, 24576, 0, 0, 0, 0}, {51, 531, 7, 4352, 0, 0, 0}, {204, 2668, 26112, 0, 0, 0, 0}, {48, 530, 7, 4096, 0, 0, 0}, {8, 546, 68, 0, 0, 0, 0}, {15, 48, 1360, 0, 0, 0, 0}, {2560, 8192, 112, 0, 0, 0, 0}, {12, 51, 68, 1542, 4369, 0, 0}, {2570, 8738, 120, 0, 0, 0, 0}, {12, 51, 64, 1536, 4864, 0, 0}, {12, 48, 68, 1536, 4608, 0, 0}, {2570, 8224, 127, 0, 0, 0, 0}, {12, 48, 64, 1542, 4112, 0, 0}, {2560, 8704, 119, 0, 0, 0, 0}, {2560, 8704, 120, 0, 0, 0, 0}, {12, 51, 64, 1542, 4883, 0, 0}, {2570, 8224, 112, 0, 0, 0, 0}, {12, 51, 68, 1536, 4352, 0, 0}, {12, 48, 64, 1536, 4096, 0, 0}, {2570, 8738, 119, 0, 0, 0, 0}, {12, 48, 68, 1542, 4626, 0, 0}, {2560, 8192, 127, 0, 0, 0, 0}, {128, 2560, 8192, 0, 0, 0, 0}, {3, 68, 1285, 4369, 0, 0, 0}, {136, 2570, 8738, 0, 0, 0, 0}, {3, 64, 1280, 4096, 0, 0, 0}, {12, 8704, 68, 1536, 0, 0, 0}, {15, 8224, 112, 1285, 0, 0, 0}, {12, 8224, 64, 1542, 0, 0, 0}, {15, 8704, 119, 1280, 0, 0, 0}, {136, 2560, 8704, 0, 0, 0, 0}, {3, 64, 1285, 4112, 0, 0, 0}, {128, 2570, 8224, 0, 0, 0, 0}, {3, 68, 1280, 4352, 0, 0, 0}, {12, 8192, 64, 1536, 0, 0, 0}, {15, 8738, 119, 1285, 0, 0, 0}, {12, 8738, 68, 1542, 0, 0, 0}, {15, 8192, 112, 1280, 0, 0, 0}, {2640, 48, 20560, 0, 0, 0, 0}, {8, 51, 529, 68, 4369, 0, 0}, {8, 48, 530, 64, 4096, 0, 0}, {2655, 51, 21760, 0, 0, 0, 0}, {8, 52, 532, 68, 5140, 0, 0}, {2645, 63, 21845, 0, 0, 0, 0}, {2650, 60, 20480, 0, 0, 0, 0}, {8, 55, 535, 64, 5376, 0, 0}, {8, 48, 528, 64, 4112, 0, 0}, {2645, 51, 21845, 0, 0, 0, 0}, {2650, 48, 20480, 0, 0, 0, 0}, {8, 51, 531, 68, 4352, 0, 0}, {2640, 60, 20560, 0, 0, 0, 0}, {8, 55, 533, 64, 5397, 0, 0}, {8, 52, 534, 68, 5120, 0, 0}, {2655, 63, 21760, 0, 0, 0, 0}, {2720, 0, 0, 0, 0, 0, 0}, {3, 4, 273, 0, 0, 0, 0}, {8, 546, 0, 0, 0, 0, 0}, {3, 1360, 0, 0, 0, 0, 0}, {544, 4, 0, 0, 0, 0, 0}, {15, 1365, 0, 0, 0, 0, 0}, {12, 1638, 0, 0, 0, 0, 0}, {544, 7, 0, 0, 0, 0, 0}, {8, 544, 0, 0, 0, 0, 0}, {3, 1365, 0, 0, 0, 0, 0}, {2730, 0, 0, 0, 0, 0, 0}, {3, 4, 272, 0, 0, 0, 0}, {12, 1632, 0, 0, 0, 0, 0}, {546, 7, 0, 0, 0, 0, 0}, {546, 4, 0, 0, 0, 0, 0}, {15, 1360, 0, 0, 0, 0, 0}, {2560, 48, 64, 4096, 0, 0, 0}, {2570, 51, 68, 4369, 0, 0, 0}, {2570, 48, 72, 4626, 0, 0, 0}, {2560, 51, 76, 4864, 0, 0, 0}, {2560, 60, 68, 5120, 0, 0, 0}, {2570, 63, 64, 5397, 0, 0, 0}, {2570, 60, 76, 5654, 0, 0, 0}, {2560, 63, 72, 5888, 0, 0, 0}, {2560, 48, 72, 4608, 0, 0, 0}, {2570, 51, 76, 4883, 0, 0, 0}, {2570, 48, 64, 4112, 0, 0, 0}, {2560, 51, 68, 4352, 0, 0, 0}, {2560, 60, 76, 5632, 0, 0, 0}, {2570, 63, 72, 5911, 0, 0, 0}, {2570, 60, 68, 5140, 0, 0, 0}, {2560, 63, 64, 5376, 0, 0, 0}, {192, 2560, 24576, 0, 0, 0, 0}, {51, 514, 7, 4369, 0, 0, 0}, {8, 514, 64, 0, 0, 0, 0}, {15, 51, 1280, 0, 0, 0, 0}, {8, 512, 68, 0, 0, 0, 0}, {15, 48, 1285, 0, 0, 0, 0}, {204, 2570, 26214, 0, 0, 0, 0}, {48, 512, 7, 4096, 0, 0, 0}, {8, 512, 64, 0, 0, 0, 0}, {15, 51, 1285, 0, 0, 0, 0}, {192, 2570, 24672, 0, 0, 0, 0}, {51, 512, 7, 4352, 0, 0, 0}, {204, 2560, 26112, 0, 0, 0, 0}, {48, 514, 7, 4112, 0, 0, 0}, {8, 514, 68, 0, 0, 0, 0}, {15, 48, 1280, 0, 0, 0, 0}, {2592, 8224, 112, 0, 0, 0, 0}, {12, 51, 68, 1553, 4369, 0, 0}, {2594, 8738, 120, 0, 0, 0, 0}, {12, 51, 64, 1555, 4883, 0, 0}, {12, 48, 68, 1556, 4608, 0, 0}, {2602, 8192, 127, 0, 0, 0, 0}, {12, 48, 64, 1558, 4096, 0, 0}, {2600, 8704, 119, 0, 0, 0, 0}, {2600, 8704, 120, 0, 0, 0, 0}, {12, 51, 64, 1557, 4864, 0, 0}, {2602, 8192, 112, 0, 0, 0, 0}, {12, 51, 68, 1559, 4352, 0, 0}, {12, 48, 64, 1552, 4112, 0, 0}, {2594, 8738, 119, 0, 0, 0, 0}, {12, 48, 68, 1554, 4626, 0, 0}, {2592, 8224, 127, 0, 0, 0, 0}, {2592, 8224, 64, 0, 0, 0, 0}, {15, 51, 68, 1297, 4369, 0, 0}, {2594, 8738, 72, 0, 0, 0, 0}, {15, 51, 67, 1299, 4883, 0, 0}, {2600, 8704, 68, 0, 0, 0, 0}, {15, 48, 64, 1301, 4096, 0, 0}, {2602, 8192, 76, 0, 0, 0, 0}, {15, 48, 71, 1303, 4608, 0, 0}, {2600, 8704, 72, 0, 0, 0, 0}, {15, 51, 67, 1302, 4864, 0, 0}, {2602, 8192, 64, 0, 0, 0, 0}, {15, 51, 68, 1300, 4352, 0, 0}, {2592, 8224, 76, 0, 0, 0, 0}, {15, 48, 71, 1298, 4626, 0, 0}, {2594, 8738, 68, 0, 0, 0, 0}, {15, 48, 64, 1296, 4112, 0, 0}, {240, 2560, 20480, 0, 0, 0, 0}, {51, 514, 4, 4369, 0, 0, 0}, {8, 514, 112, 0, 0, 0, 0}, {12, 51, 1536, 0, 0, 0, 0}, {48, 512, 4, 4096, 0, 0, 0}, {255, 2570, 21845, 0, 0, 0, 0}, {12, 48, 1542, 0, 0, 0, 0}, {8, 512, 119, 0, 0, 0, 0}, {8, 512, 112, 0, 0, 0, 0}, {12, 51, 1542, 0, 0, 0, 0}, {240, 2570, 20560, 0, 0, 0, 0}, {51, 512, 4, 4352, 0, 0, 0}, {12, 48, 1536, 0, 0, 0, 0}, {8, 514, 119, 0, 0, 0, 0}, {48, 514, 4, 4112, 0, 0, 0}, {255, 2560, 21760, 0, 0, 0, 0}, {768, 1024, 0, 0, 0, 0, 0}, {10, 257, 0, 0, 0, 0, 0}, {10, 258, 0, 0, 0, 0, 0}, {771, 1036, 0, 0, 0, 0, 0}, {780, 1028, 0, 0, 0, 0, 0}, {10, 261, 0, 0, 0, 0, 0}, {10, 262, 0, 0, 0, 0, 0}, {783, 1032, 0, 0, 0, 0, 0}, {768, 1032, 0, 0, 0, 0, 0}, {10, 259, 0, 0, 0, 0, 0}, {10, 256, 0, 0, 0, 0, 0}, {771, 1028, 0, 0, 0, 0, 0}, {780, 1036, 0, 0, 0, 0, 0}, {10, 263, 0, 0, 0, 0, 0}, {10, 260, 0, 0, 0, 0, 0}, {783, 1024, 0, 0, 0, 0, 0}, {160, 816, 1088, 4112, 0, 0, 0}, {170, 819, 1092, 4369, 0, 0, 0}, {170, 816, 1096, 4386, 0, 0, 0}, {160, 819, 1100, 4128, 0, 0, 0}, {160, 828, 1092, 4176, 0, 0, 0}, {170, 831, 1088, 4437, 0, 0, 0}, {170, 828, 1100, 4454, 0, 0, 0}, {160, 831, 1096, 4192, 0, 0, 0}, {160, 816, 1096, 4144, 0, 0, 0}, {170, 819, 1100, 4403, 0, 0, 0}, {170, 816, 1088, 4352, 0, 0, 0}, {160, 819, 1092, 4096, 0, 0, 0}, {160, 828, 1100, 4208, 0, 0, 0}, {170, 831, 1096, 4471, 0, 0, 0}, {170, 828, 1092, 4420, 0, 0, 0}, {160, 831, 1088, 4160, 0, 0, 0}, {160, 768, 1056, 4128, 0, 0, 0}, {170, 771, 1070, 4369, 0, 0, 0}, {170, 768, 1058, 4386, 0, 0, 0}, {160, 771, 1068, 4112, 0, 0, 0}, {160, 780, 1060, 4192, 0, 0, 0}, {170, 783, 1066, 4437, 0, 0, 0}, {170, 780, 1062, 4454, 0, 0, 0}, {160, 783, 1064, 4176, 0, 0, 0}, {160, 768, 1064, 4096, 0, 0, 0}, {170, 771, 1062, 4403, 0, 0, 0}, {170, 768, 1066, 4352, 0, 0, 0}, {160, 771, 1060, 4144, 0, 0, 0}, {160, 780, 1068, 4160, 0, 0, 0}, {170, 783, 1058, 4471, 0, 0, 0}, {170, 780, 1070, 4420, 0, 0, 0}, {160, 783, 1056, 4208, 0, 0, 0}, {1216, 816, 17408, 0, 0, 0, 0}, {10, 305, 514, 1365, 4369, 0, 0}, {10, 306, 514, 1360, 4112, 0, 0}, {1228, 819, 16384, 0, 0, 0, 0}, {1220, 828, 17476, 0, 0, 0, 0}, {10, 309, 512, 1365, 4437, 0, 0}, {10, 310, 512, 1360, 4176, 0, 0}, {1224, 831, 16448, 0, 0, 0, 0}, {1224, 816, 16448, 0, 0, 0, 0}, {10, 307, 512, 1365, 4096, 0, 0}, {10, 304, 512, 1360, 4352, 0, 0}, {1220, 819, 17476, 0, 0, 0, 0}, {1228, 828, 16384, 0, 0, 0, 0}, {10, 311, 514, 1365, 4160, 0, 0}, {10, 308, 514, 1360, 4420, 0, 0}, {1216, 831, 17408, 0, 0, 0, 0}, {960, 13056, 1088, 0, 0, 0, 0}, {10, 546, 321, 1285, 4369, 0, 0}, {10, 546, 322, 1280, 4386, 0, 0}, {963, 13107, 1100, 0, 0, 0, 0}, {972, 12288, 1092, 0, 0, 0, 0}, {10, 544, 325, 1285, 4112, 0, 0}, {10, 544, 326, 1280, 4128, 0, 0}, {975, 12336, 1096, 0, 0, 0, 0}, {960, 13056, 1096, 0, 0, 0, 0}, {10, 544, 323, 1285, 4403, 0, 0}, {10, 544, 320, 1280, 4352, 0, 0}, {963, 13107, 1092, 0, 0, 0, 0}, {972, 12288, 1100, 0, 0, 0, 0}, {10, 546, 327, 1285, 4144, 0, 0}, {10, 546, 324, 1280, 4096, 0, 0}, {975, 12336, 1088, 0, 0, 0, 0}, {848, 1024, 4864, 0, 0, 0, 0}, {857, 1028, 4369, 0, 0, 0, 0}, {858, 1032, 4386, 0, 0, 0, 0}, {851, 1036, 4915, 0, 0, 0, 0}, {860, 1028, 4112, 0, 0, 0, 0}, {853, 1024, 4608, 0, 0, 0, 0}, {854, 1036, 4656, 0, 0, 0, 0}, {863, 1032, 4128, 0, 0, 0, 0}, {848, 1032, 4896, 0, 0, 0, 0}, {857, 1036, 4403, 0, 0, 0, 0}, {858, 1024, 4352, 0, 0, 0, 0}, {851, 1028, 4883, 0, 0, 0, 0}, {860, 1036, 4144, 0, 0, 0, 0}, {853, 1032, 4642, 0, 0, 0, 0}, {854, 1028, 4626, 0, 0, 0, 0}, {863, 1024, 4096, 0, 0, 0, 0}, {864, 1792, 4864, 0, 0, 0, 0}, {873, 1799, 4369, 0, 0, 0, 0}, {874, 1800, 4386, 0, 0, 0, 0}, {867, 1807, 4915, 0, 0, 0, 0}, {876, 1800, 4128, 0, 0, 0, 0}, {869, 1807, 4656, 0, 0, 0, 0}, {870, 1792, 4608, 0, 0, 0, 0}, {879, 1799, 4112, 0, 0, 0, 0}, {864, 1800, 4896, 0, 0, 0, 0}, {873, 1807, 4403, 0, 0, 0, 0}, {874, 1792, 4352, 0, 0, 0, 0}, {867, 1799, 4883, 0, 0, 0, 0}, {876, 1792, 4096, 0, 0, 0, 0}, {869, 1799, 4626, 0, 0, 0, 0}, {870, 1800, 4642, 0, 0, 0, 0}, {879, 1807, 4144, 0, 0, 0, 0}, {1008, 13056, 1904, 0, 0, 0, 0}, {10, 546, 369, 1060, 4369, 0, 0}, {10, 546, 370, 1058, 4386, 0, 0}, {1011, 13107, 1919, 0, 0, 0, 0}, {1020, 12336, 1912, 0, 0, 0, 0}, {10, 544, 373, 1056, 4128, 0, 0}, {10, 544, 374, 1062, 4112, 0, 0}, {1023, 12288, 1911, 0, 0, 0, 0}, {1008, 13056, 1912, 0, 0, 0, 0}, {10, 544, 371, 1062, 4403, 0, 0}, {10, 544, 368, 1056, 4352, 0, 0}, {1011, 13107, 1911, 0, 0, 0, 0}, {1020, 12336, 1904, 0, 0, 0, 0}, {10, 546, 375, 1058, 4096, 0, 0}, {10, 546, 372, 1060, 4144, 0, 0}, {1023, 12288, 1919, 0, 0, 0, 0}, {1152, 768, 17408, 0, 0, 0, 0}, {10, 289, 771, 1285, 4369, 0, 0}, {10, 290, 768, 1280, 4096, 0, 0}, {1164, 771, 16448, 0, 0, 0, 0}, {1156, 780, 17476, 0, 0, 0, 0}, {10, 293, 773, 1285, 4437, 0, 0}, {10, 294, 774, 1280, 4160, 0, 0}, {1160, 783, 16384, 0, 0, 0, 0}, {1160, 768, 16384, 0, 0, 0, 0}, {10, 291, 771, 1285, 4112, 0, 0}, {10, 288, 768, 1280, 4352, 0, 0}, {1156, 771, 17476, 0, 0, 0, 0}, {1164, 780, 16448, 0, 0, 0, 0}, {10, 295, 773, 1285, 4176, 0, 0}, {10, 292, 774, 1280, 4420, 0, 0}, {1152, 783, 17408, 0, 0, 0, 0}, {160, 816, 1120, 4144, 0, 0, 0}, {170, 819, 1134, 4369, 0, 0, 0}, {170, 816, 1122, 4386, 0, 0, 0}, {160, 819, 1132, 4096, 0, 0, 0}, {160, 828, 1124, 4208, 0, 0, 0}, {170, 831, 1130, 4437, 0, 0, 0}, {170, 828, 1126, 4454, 0, 0, 0}, {160, 831, 1128, 4160, 0, 0, 0}, {160, 816, 1128, 4112, 0, 0, 0}, {170, 819, 1126, 4403, 0, 0, 0}, {170, 816, 1130, 4352, 0, 0, 0}, {160, 819, 1124, 4128, 0, 0, 0}, {160, 828, 1132, 4176, 0, 0, 0}, {170, 831, 1122, 4471, 0, 0, 0}, {170, 828, 1134, 4420, 0, 0, 0}, {160, 831, 1120, 4192, 0, 0, 0}, {160, 768, 1024, 4096, 0, 0, 0}, {170, 771, 1028, 4369, 0, 0, 0}, {170, 768, 1032, 4386, 0, 0, 0}, {160, 771, 1036, 4144, 0, 0, 0}, {160, 780, 1028, 4160, 0, 0, 0}, {170, 783, 1024, 4437, 0, 0, 0}, {170, 780, 1036, 4454, 0, 0, 0}, {160, 783, 1032, 4208, 0, 0, 0}, {160, 768, 1032, 4128, 0, 0, 0}, {170, 771, 1036, 4403, 0, 0, 0}, {170, 768, 1024, 4352, 0, 0, 0}, {160, 771, 1028, 4112, 0, 0, 0}, {160, 780, 1036, 4192, 0, 0, 0}, {170, 783, 1032, 4471, 0, 0, 0}, {170, 780, 1028, 4420, 0, 0, 0}, {160, 783, 1024, 4176, 0, 0, 0}, {816, 1088, 0, 0, 0, 0, 0}, {10, 273, 0, 0, 0, 0, 0}, {10, 274, 0, 0, 0, 0, 0}, {819, 1100, 0, 0, 0, 0, 0}, {828, 1092, 0, 0, 0, 0, 0}, {10, 277, 0, 0, 0, 0, 0}, {10, 278, 0, 0, 0, 0, 0}, {831, 1096, 0, 0, 0, 0, 0}, {816, 1096, 0, 0, 0, 0, 0}, {10, 275, 0, 0, 0, 0, 0}, {10, 272, 0, 0, 0, 0, 0}, {819, 1092, 0, 0, 0, 0, 0}, {828, 1100, 0, 0, 0, 0, 0}, {10, 279, 0, 0, 0, 0, 0}, {10, 276, 0, 0, 0, 0, 0}, {831, 1088, 0, 0, 0, 0, 0}, {960, 13056, 1792, 0, 0, 0, 0}, {10, 514, 353, 1285, 4369, 0, 0}, {10, 514, 354, 1280, 4386, 0, 0}, {963, 13107, 1807, 0, 0, 0, 0}, {972, 12288, 1800, 0, 0, 0, 0}, {10, 512, 357, 1285, 4144, 0, 0}, {10, 512, 358, 1280, 4096, 0, 0}, {975, 12336, 1799, 0, 0, 0, 0}, {960, 13056, 1800, 0, 0, 0, 0}, {10, 512, 355, 1285, 4403, 0, 0}, {10, 512, 352, 1280, 4352, 0, 0}, {963, 13107, 1799, 0, 0, 0, 0}, {972, 12288, 1792, 0, 0, 0, 0}, {10, 514, 359, 1285, 4112, 0, 0}, {10, 514, 356, 1280, 4128, 0, 0}, {975, 12336, 1807, 0, 0, 0, 0}, {848, 1056, 4896, 0, 0, 0, 0}, {857, 1070, 4369, 0, 0, 0, 0}, {858, 1058, 4386, 0, 0, 0, 0}, {851, 1068, 4883, 0, 0, 0, 0}, {860, 1060, 4144, 0, 0, 0, 0}, {853, 1066, 4608, 0, 0, 0, 0}, {854, 1062, 4656, 0, 0, 0, 0}, {863, 1064, 4096, 0, 0, 0, 0}, {848, 1064, 4864, 0, 0, 0, 0}, {857, 1062, 4403, 0, 0, 0, 0}, {858, 1066, 4352, 0, 0, 0, 0}, {851, 1060, 4915, 0, 0, 0, 0}, {860, 1068, 4112, 0, 0, 0, 0}, {853, 1058, 4642, 0, 0, 0, 0}, {854, 1070, 4626, 0, 0, 0, 0}, {863, 1056, 4128, 0, 0, 0, 0}, {864, 1824, 4896, 0, 0, 0, 0}, {873, 1837, 4369, 0, 0, 0, 0}, {874, 1826, 4386, 0, 0, 0, 0}, {867, 1839, 4883, 0, 0, 0, 0}, {876, 1832, 4096, 0, 0, 0, 0}, {869, 1829, 4656, 0, 0, 0, 0}, {870, 1834, 4608, 0, 0, 0, 0}, {879, 1831, 4144, 0, 0, 0, 0}, {864, 1832, 4864, 0, 0, 0, 0}, {873, 1829, 4403, 0, 0, 0, 0}, {874, 1834, 4352, 0, 0, 0, 0}, {867, 1831, 4915, 0, 0, 0, 0}, {876, 1824, 4128, 0, 0, 0, 0}, {869, 1837, 4626, 0, 0, 0, 0}, {870, 1826, 4642, 0, 0, 0, 0}, {879, 1839, 4112, 0, 0, 0, 0}, {1008, 13056, 1024, 0, 0, 0, 0}, {10, 514, 337, 1028, 4369, 0, 0}, {10, 514, 338, 1026, 4386, 0, 0}, {1011, 13107, 1036, 0, 0, 0, 0}, {1020, 12336, 1028, 0, 0, 0, 0}, {10, 512, 341, 1024, 4096, 0, 0}, {10, 512, 342, 1030, 4144, 0, 0}, {1023, 12288, 1032, 0, 0, 0, 0}, {1008, 13056, 1032, 0, 0, 0, 0}, {10, 512, 339, 1030, 4403, 0, 0}, {10, 512, 336, 1024, 4352, 0, 0}, {1011, 13107, 1028, 0, 0, 0, 0}, {1020, 12336, 1036, 0, 0, 0, 0}, {10, 514, 343, 1026, 4128, 0, 0}, {10, 514, 340, 1028, 4112, 0, 0}, {1023, 12288, 1024, 0, 0, 0, 0}, {3072, 0, 0, 0, 0, 0, 0}, {2, 5, 257, 0, 0, 0, 0}, {2, 1024, 0, 0, 0, 0, 0}, {15, 771, 0, 0, 0, 0, 0}, {8, 1028, 0, 0, 0, 0, 0}, {768, 5, 0, 0, 0, 0, 0}, {10, 1542, 0, 0, 0, 0, 0}, {768, 7, 0, 0, 0, 0, 0}, {8, 1024, 0, 0, 0, 0, 0}, {771, 5, 0, 0, 0, 0, 0}, {10, 1536, 0, 0, 0, 0, 0}, {771, 7, 0, 0, 0, 0, 0}, {3084, 0, 0, 0, 0, 0, 0}, {2, 5, 256, 0, 0, 0, 0}, {2, 1028, 0, 0, 0, 0, 0}, {15, 768, 0, 0, 0, 0, 0}, {3088, 32, 80, 4112, 0, 0, 0}, {3089, 34, 85, 4369, 0, 0, 0}, {3090, 34, 90, 4626, 0, 0, 0}, {3091, 32, 95, 4883, 0, 0, 0}, {3092, 40, 80, 5140, 0, 0, 0}, {3093, 42, 85, 5397, 0, 0, 0}, {3094, 42, 90, 5654, 0, 0, 0}, {3095, 40, 95, 5911, 0, 0, 0}, {3096, 40, 80, 5120, 0, 0, 0}, {3097, 42, 85, 5376, 0, 0, 0}, {3098, 42, 90, 5632, 0, 0, 0}, {3099, 40, 95, 5888, 0, 0, 0}, {3100, 32, 80, 4096, 0, 0, 0}, {3101, 34, 85, 4352, 0, 0, 0}, {3102, 34, 90, 4608, 0, 0, 0}, {3103, 32, 95, 4864, 0, 0, 0}, {3072, 32, 16384, 0, 0, 0, 0}, {15, 34, 771, 85, 4369, 0, 0}, {3072, 34, 17408, 0, 0, 0, 0}, {15, 32, 771, 80, 4112, 0, 0}, {3084, 40, 17476, 0, 0, 0, 0}, {15, 37, 768, 85, 5376, 0, 0}, {3084, 42, 16448, 0, 0, 0, 0}, {15, 39, 768, 80, 5120, 0, 0}, {3072, 40, 17408, 0, 0, 0, 0}, {15, 37, 771, 85, 5397, 0, 0}, {3072, 42, 16384, 0, 0, 0, 0}, {15, 39, 771, 80, 5140, 0, 0}, {3084, 32, 16448, 0, 0, 0, 0}, {15, 34, 768, 85, 4352, 0, 0}, {3084, 34, 17476, 0, 0, 0, 0}, {15, 32, 768, 80, 4096, 0, 0}, {240, 3120, 12336, 0, 0, 0, 0}, {2, 85, 1041, 4369, 0, 0, 0}, {2, 80, 1040, 4112, 0, 0, 0}, {255, 3123, 13107, 0, 0, 0, 0}, {8, 12288, 112, 1076, 0, 0, 0}, {10, 13056, 85, 1589, 0, 0, 0}, {10, 12288, 80, 1590, 0, 0, 0}, {8, 13056, 119, 1079, 0, 0, 0}, {8, 12336, 112, 1072, 0, 0, 0}, {10, 13107, 85, 1587, 0, 0, 0}, {10, 12336, 80, 1584, 0, 0, 0}, {8, 13107, 119, 1075, 0, 0, 0}, {240, 3132, 12288, 0, 0, 0, 0}, {2, 85, 1045, 4352, 0, 0, 0}, {2, 80, 1044, 4096, 0, 0, 0}, {255, 3135, 13056, 0, 0, 0, 0}, {128, 3136, 16448, 0, 0, 0, 0}, {34, 785, 5, 4369, 0, 0, 0}, {10, 34, 1602, 0, 0, 0, 0}, {15, 819, 112, 0, 0, 0, 0}, {136, 3140, 17476, 0, 0, 0, 0}, {32, 784, 5, 4112, 0, 0, 0}, {10, 32, 1606, 0, 0, 0, 0}, {15, 816, 119, 0, 0, 0, 0}, {136, 3144, 17408, 0, 0, 0, 0}, {32, 787, 5, 4096, 0, 0, 0}, {10, 32, 1600, 0, 0, 0, 0}, {15, 819, 119, 0, 0, 0, 0}, {128, 3148, 16384, 0, 0, 0, 0}, {34, 786, 5, 4352, 0, 0, 0}, {10, 34, 1604, 0, 0, 0, 0}, {15, 816, 112, 0, 0, 0, 0}, {3072, 12288, 80, 0, 0, 0, 0}, {8, 34, 85, 1028, 4369, 0, 0}, {8, 34, 82, 1024, 4608, 0, 0}, {3084, 13107, 95, 0, 0, 0, 0}, {8, 32, 80, 1028, 4112, 0, 0}, {3072, 13056, 85, 0, 0, 0, 0}, {3084, 12336, 90, 0, 0, 0, 0}, {8, 32, 87, 1024, 4864, 0, 0}, {8, 32, 80, 1024, 4096, 0, 0}, {3084, 13107, 85, 0, 0, 0, 0}, {3072, 12288, 90, 0, 0, 0, 0}, {8, 32, 87, 1028, 4883, 0, 0}, {3084, 12336, 80, 0, 0, 0, 0}, {8, 34, 85, 1024, 4352, 0, 0}, {8, 34, 82, 1028, 4626, 0, 0}, {3072, 13056, 95, 0, 0, 0, 0}, {160, 3168, 24672, 0, 0, 0, 0}, {34, 785, 7, 4369, 0, 0, 0}, {8, 34, 1088, 0, 0, 0, 0}, {15, 819, 80, 0, 0, 0, 0}, {8, 32, 1092, 0, 0, 0, 0}, {15, 816, 85, 0, 0, 0, 0}, {170, 3174, 26214, 0, 0, 0, 0}, {32, 784, 7, 4112, 0, 0, 0}, {8, 32, 1088, 0, 0, 0, 0}, {15, 819, 85, 0, 0, 0, 0}, {170, 3178, 26112, 0, 0, 0, 0}, {32, 787, 7, 4096, 0, 0, 0}, {160, 3180, 24576, 0, 0, 0, 0}, {34, 786, 7, 4352, 0, 0, 0}, {8, 34, 1092, 0, 0, 0, 0}, {15, 816, 80, 0, 0, 0, 0}, {3072, 12288, 112, 0, 0, 0, 0}, {10, 34, 85, 1542, 4369, 0, 0}, {10, 34, 80, 1536, 4608, 0, 0}, {3084, 13107, 127, 0, 0, 0, 0}, {3084, 12336, 120, 0, 0, 0, 0}, {10, 32, 85, 1536, 4864, 0, 0}, {10, 32, 80, 1542, 4112, 0, 0}, {3072, 13056, 119, 0, 0, 0, 0}, {3072, 12288, 120, 0, 0, 0, 0}, {10, 32, 85, 1542, 4883, 0, 0}, {10, 32, 80, 1536, 4096, 0, 0}, {3084, 13107, 119, 0, 0, 0, 0}, {3084, 12336, 112, 0, 0, 0, 0}, {10, 34, 85, 1536, 4352, 0, 0}, {10, 34, 80, 1542, 4626, 0, 0}, {3072, 13056, 127, 0, 0, 0, 0}, {128, 3072, 16384, 0, 0, 0, 0}, {34, 771, 5, 4369, 0, 0, 0}, {10, 34, 1536, 0, 0, 0, 0}, {15, 771, 112, 0, 0, 0, 0}, {136, 3084, 17476, 0, 0, 0, 0}, {32, 768, 5, 4096, 0, 0, 0}, {10, 32, 1542, 0, 0, 0, 0}, {15, 768, 119, 0, 0, 0, 0}, {136, 3072, 17408, 0, 0, 0, 0}, {32, 771, 5, 4112, 0, 0, 0}, {10, 32, 1536, 0, 0, 0, 0}, {15, 771, 119, 0, 0, 0, 0}, {128, 3084, 16448, 0, 0, 0, 0}, {34, 768, 5, 4352, 0, 0, 0}, {10, 34, 1542, 0, 0, 0, 0}, {15, 768, 112, 0, 0, 0, 0}, {3120, 12336, 80, 0, 0, 0, 0}, {8, 34, 85, 1041, 4369, 0, 0}, {8, 34, 82, 1042, 4626, 0, 0}, {3123, 13107, 95, 0, 0, 0, 0}, {8, 32, 80, 1044, 4096, 0, 0}, {3135, 13056, 85, 0, 0, 0, 0}, {3132, 12288, 90, 0, 0, 0, 0}, {8, 32, 87, 1047, 4864, 0, 0}, {8, 32, 80, 1040, 4112, 0, 0}, {3123, 13107, 85, 0, 0, 0, 0}, {3120, 12336, 90, 0, 0, 0, 0}, {8, 32, 87, 1043, 4883, 0, 0}, {3132, 12288, 80, 0, 0, 0, 0}, {8, 34, 85, 1045, 4352, 0, 0}, {8, 34, 82, 1046, 4608, 0, 0}, {3135, 13056, 95, 0, 0, 0, 0}, {160, 3072, 24576, 0, 0, 0, 0}, {34, 771, 7, 4369, 0, 0, 0}, {8, 34, 1024, 0, 0, 0, 0}, {15, 771, 80, 0, 0, 0, 0}, {8, 32, 1028, 0, 0, 0, 0}, {15, 768, 85, 0, 0, 0, 0}, {170, 3084, 26214, 0, 0, 0, 0}, {32, 768, 7, 4096, 0, 0, 0}, {8, 32, 1024, 0, 0, 0, 0}, {15, 771, 85, 0, 0, 0, 0}, {170, 3072, 26112, 0, 0, 0, 0}, {32, 771, 7, 4112, 0, 0, 0}, {160, 3084, 24672, 0, 0, 0, 0}, {34, 768, 7, 4352, 0, 0, 0}, {8, 34, 1028, 0, 0, 0, 0}, {15, 768, 80, 0, 0, 0, 0}, {3120, 12336, 112, 0, 0, 0, 0}, {10, 34, 85, 1553, 4369, 0, 0}, {10, 34, 80, 1554, 4626, 0, 0}, {3123, 13107, 127, 0, 0, 0, 0}, {3132, 12288, 120, 0, 0, 0, 0}, {10, 32, 85, 1557, 4864, 0, 0}, {10, 32, 80, 1558, 4096, 0, 0}, {3135, 13056, 119, 0, 0, 0, 0}, {3120, 12336, 120, 0, 0, 0, 0}, {10, 32, 85, 1555, 4883, 0, 0}, {10, 32, 80, 1552, 4112, 0, 0}, {3123, 13107, 119, 0, 0, 0, 0}, {3132, 12288, 112, 0, 0, 0, 0}, {10, 34, 85, 1559, 4352, 0, 0}, {10, 34, 80, 1556, 4608, 0, 0}, {3135, 13056, 127, 0, 0, 0, 0}, {3264, 0, 0, 0, 0, 0, 0}, {2, 5, 273, 0, 0, 0, 0}, {2, 1088, 0, 0, 0, 0, 0}, {15, 819, 0, 0, 0, 0, 0}, {8, 1092, 0, 0, 0, 0, 0}, {816, 5, 0, 0, 0, 0, 0}, {10, 1638, 0, 0, 0, 0, 0}, {816, 7, 0, 0, 0, 0, 0}, {8, 1088, 0, 0, 0, 0, 0}, {819, 5, 0, 0, 0, 0, 0}, {10, 1632, 0, 0, 0, 0, 0}, {819, 7, 0, 0, 0, 0, 0}, {3276, 0, 0, 0, 0, 0, 0}, {2, 5, 272, 0, 0, 0, 0}, {2, 1092, 0, 0, 0, 0, 0}, {15, 816, 0, 0, 0, 0, 0}, {3072, 32, 80, 4096, 0, 0, 0}, {3084, 34, 85, 4369, 0, 0, 0}, {3072, 34, 90, 4608, 0, 0, 0}, {3084, 32, 95, 4883, 0, 0, 0}, {3084, 40, 80, 5140, 0, 0, 0}, {3072, 42, 85, 5376, 0, 0, 0}, {3084, 42, 90, 5654, 0, 0, 0}, {3072, 40, 95, 5888, 0, 0, 0}, {3072, 40, 80, 5120, 0, 0, 0}, {3084, 42, 85, 5397, 0, 0, 0}, {3072, 42, 90, 5632, 0, 0, 0}, {3084, 40, 95, 5911, 0, 0, 0}, {3084, 32, 80, 4112, 0, 0, 0}, {3072, 34, 85, 4352, 0, 0, 0}, {3084, 34, 90, 4626, 0, 0, 0}, {3072, 32, 95, 4864, 0, 0, 0}, {3136, 32, 16448, 0, 0, 0, 0}, {15, 34, 785, 85, 4369, 0, 0}, {3144, 34, 17408, 0, 0, 0, 0}, {15, 32, 787, 80, 4096, 0, 0}, {3140, 40, 17476, 0, 0, 0, 0}, {15, 37, 789, 85, 5397, 0, 0}, {3148, 42, 16384, 0, 0, 0, 0}, {15, 39, 791, 80, 5120, 0, 0}, {3144, 40, 17408, 0, 0, 0, 0}, {15, 37, 790, 85, 5376, 0, 0}, {3136, 42, 16448, 0, 0, 0, 0}, {15, 39, 788, 80, 5140, 0, 0}, {3148, 32, 16384, 0, 0, 0, 0}, {15, 34, 786, 85, 4352, 0, 0}, {3140, 34, 17476, 0, 0, 0, 0}, {15, 32, 784, 80, 4112, 0, 0}, {240, 3072, 12288, 0, 0, 0, 0}, {2, 85, 1028, 4369, 0, 0, 0}, {2, 80, 1024, 4096, 0, 0, 0}, {255, 3084, 13107, 0, 0, 0, 0}, {8, 12336, 112, 1028, 0, 0, 0}, {10, 13056, 85, 1536, 0, 0, 0}, {10, 12336, 80, 1542, 0, 0, 0}, {8, 13056, 119, 1024, 0, 0, 0}, {8, 12288, 112, 1024, 0, 0, 0}, {10, 13107, 85, 1542, 0, 0, 0}, {10, 12288, 80, 1536, 0, 0, 0}, {8, 13107, 119, 1028, 0, 0, 0}, {240, 3084, 12336, 0, 0, 0, 0}, {2, 85, 1024, 4352, 0, 0, 0}, {2, 80, 1028, 4112, 0, 0, 0}, {255, 3072, 13056, 0, 0, 0, 0}, {512, 1280, 0, 0, 0, 0, 0}, {12, 257, 0, 0, 0, 0, 0}, {514, 1290, 0, 0, 0, 0, 0}, {12, 259, 0, 0, 0, 0, 0}, {12, 260, 0, 0, 0, 0, 0}, {522, 1285, 0, 0, 0, 0, 0}, {12, 262, 0, 0, 0, 0, 0}, {520, 1295, 0, 0, 0, 0, 0}, {520, 1280, 0, 0, 0, 0, 0}, {12, 261, 0, 0, 0, 0, 0}, {522, 1290, 0, 0, 0, 0, 0}, {12, 263, 0, 0, 0, 0, 0}, {12, 256, 0, 0, 0, 0, 0}, {514, 1285, 0, 0, 0, 0, 0}, {12, 258, 0, 0, 0, 0, 0}, {512, 1295, 0, 0, 0, 0, 0}, {192, 544, 1360, 4112, 0, 0, 0}, {204, 546, 1365, 4369, 0, 0, 0}, {192, 546, 1370, 4144, 0, 0, 0}, {204, 544, 1375, 4403, 0, 0, 0}, {204, 552, 1360, 4420, 0, 0, 0}, {192, 554, 1365, 4160, 0, 0, 0}, {204, 554, 1370, 4454, 0, 0, 0}, {192, 552, 1375, 4192, 0, 0, 0}, {192, 552, 1360, 4176, 0, 0, 0}, {204, 554, 1365, 4437, 0, 0, 0}, {192, 554, 1370, 4208, 0, 0, 0}, {204, 552, 1375, 4471, 0, 0, 0}, {204, 544, 1360, 4352, 0, 0, 0}, {192, 546, 1365, 4096, 0, 0, 0}, {204, 546, 1370, 4386, 0, 0, 0}, {192, 544, 1375, 4128, 0, 0, 0}, {1440, 544, 21760, 0, 0, 0, 0}, {12, 289, 771, 1092, 4369, 0, 0}, {1450, 546, 20480, 0, 0, 0, 0}, {12, 291, 771, 1088, 4112, 0, 0}, {12, 292, 768, 1092, 4420, 0, 0}, {1445, 554, 21845, 0, 0, 0, 0}, {12, 294, 768, 1088, 4160, 0, 0}, {1455, 552, 20560, 0, 0, 0, 0}, {1440, 552, 21760, 0, 0, 0, 0}, {12, 293, 771, 1088, 4437, 0, 0}, {1450, 554, 20480, 0, 0, 0, 0}, {12, 295, 771, 1092, 4176, 0, 0}, {12, 288, 768, 1088, 4352, 0, 0}, {1445, 546, 21845, 0, 0, 0, 0}, {12, 290, 768, 1092, 4096, 0, 0}, {1455, 544, 20560, 0, 0, 0, 0}, {192, 512, 1328, 4144, 0, 0, 0}, {204, 514, 1337, 4369, 0, 0, 0}, {192, 514, 1338, 4112, 0, 0, 0}, {204, 512, 1331, 4403, 0, 0, 0}, {204, 520, 1340, 4420, 0, 0, 0}, {192, 522, 1333, 4192, 0, 0, 0}, {204, 522, 1334, 4454, 0, 0, 0}, {192, 520, 1343, 4160, 0, 0, 0}, {192, 520, 1328, 4208, 0, 0, 0}, {204, 522, 1337, 4437, 0, 0, 0}, {192, 522, 1338, 4176, 0, 0, 0}, {204, 520, 1331, 4471, 0, 0, 0}, {204, 512, 1340, 4352, 0, 0, 0}, {192, 514, 1333, 4128, 0, 0, 0}, {204, 514, 1334, 4386, 0, 0, 0}, {192, 512, 1343, 4096, 0, 0, 0}, {576, 1280, 4608, 0, 0, 0, 0}, {590, 1285, 4369, 0, 0, 0, 0}, {578, 1290, 4642, 0, 0, 0, 0}, {588, 1295, 4403, 0, 0, 0, 0}, {580, 1280, 4864, 0, 0, 0, 0}, {586, 1285, 4112, 0, 0, 0, 0}, {582, 1290, 4896, 0, 0, 0, 0}, {584, 1295, 4144, 0, 0, 0, 0}, {584, 1280, 4096, 0, 0, 0, 0}, {582, 1285, 4883, 0, 0, 0, 0}, {586, 1290, 4128, 0, 0, 0, 0}, {580, 1295, 4915, 0, 0, 0, 0}, {588, 1280, 4352, 0, 0, 0, 0}, {578, 1285, 4626, 0, 0, 0, 0}, {590, 1290, 4386, 0, 0, 0, 0}, {576, 1295, 4656, 0, 0, 0, 0}, {672, 8704, 1360, 0, 0, 0, 0}, {12, 819, 337, 1028, 4369, 0, 0}, {674, 8738, 1370, 0, 0, 0, 0}, {12, 819, 339, 1024, 4403, 0, 0}, {12, 816, 340, 1028, 4112, 0, 0}, {682, 8192, 1365, 0, 0, 0, 0}, {12, 816, 342, 1024, 4144, 0, 0}, {680, 8224, 1375, 0, 0, 0, 0}, {680, 8224, 1360, 0, 0, 0, 0}, {12, 819, 341, 1024, 4096, 0, 0}, {682, 8192, 1370, 0, 0, 0, 0}, {12, 819, 343, 1028, 4128, 0, 0}, {12, 816, 336, 1024, 4352, 0, 0}, {674, 8738, 1365, 0, 0, 0, 0}, {12, 816, 338, 1028, 4386, 0, 0}, {672, 8704, 1375, 0, 0, 0, 0}, {608, 1792, 4608, 0, 0, 0, 0}, {622, 1799, 4369, 0, 0, 0, 0}, {610, 1800, 4642, 0, 0, 0, 0}, {620, 1807, 4403, 0, 0, 0, 0}, {612, 1800, 4896, 0, 0, 0, 0}, {618, 1807, 4144, 0, 0, 0, 0}, {614, 1792, 4864, 0, 0, 0, 0}, {616, 1799, 4112, 0, 0, 0, 0}, {616, 1800, 4128, 0, 0, 0, 0}, {614, 1807, 4915, 0, 0, 0, 0}, {618, 1792, 4096, 0, 0, 0, 0}, {612, 1799, 4883, 0, 0, 0, 0}, {620, 1792, 4352, 0, 0, 0, 0}, {610, 1799, 4626, 0, 0, 0, 0}, {622, 1800, 4386, 0, 0, 0, 0}, {608, 1807, 4656, 0, 0, 0, 0}, {640, 8704, 1904, 0, 0, 0, 0}, {12, 819, 369, 1333, 4369, 0, 0}, {642, 8738, 1912, 0, 0, 0, 0}, {12, 819, 371, 1331, 4403, 0, 0}, {12, 816, 372, 1328, 4144, 0, 0}, {650, 8224, 1919, 0, 0, 0, 0}, {12, 816, 374, 1334, 4112, 0, 0}, {648, 8192, 1911, 0, 0, 0, 0}, {648, 8192, 1912, 0, 0, 0, 0}, {12, 819, 373, 1333, 4128, 0, 0}, {650, 8224, 1904, 0, 0, 0, 0}, {12, 819, 375, 1331, 4096, 0, 0}, {12, 816, 368, 1328, 4352, 0, 0}, {642, 8738, 1911, 0, 0, 0, 0}, {12, 816, 370, 1334, 4386, 0, 0}, {640, 8704, 1919, 0, 0, 0, 0}, {640, 8704, 1280, 0, 0, 0, 0}, {12, 771, 321, 1285, 4369, 0, 0}, {642, 8738, 1290, 0, 0, 0, 0}, {12, 771, 323, 1283, 4403, 0, 0}, {12, 768, 324, 1280, 4096, 0, 0}, {650, 8224, 1285, 0, 0, 0, 0}, {12, 768, 326, 1286, 4128, 0, 0}, {648, 8192, 1295, 0, 0, 0, 0}, {648, 8192, 1280, 0, 0, 0, 0}, {12, 771, 325, 1285, 4112, 0, 0}, {650, 8224, 1290, 0, 0, 0, 0}, {12, 771, 327, 1283, 4144, 0, 0}, {12, 768, 320, 1280, 4352, 0, 0}, {642, 8738, 1285, 0, 0, 0, 0}, {12, 768, 322, 1286, 4386, 0, 0}, {640, 8704, 1295, 0, 0, 0, 0}, {608, 1840, 4656, 0, 0, 0, 0}, {622, 1851, 4369, 0, 0, 0, 0}, {610, 1848, 4626, 0, 0, 0, 0}, {620, 1843, 4403, 0, 0, 0, 0}, {612, 1844, 4896, 0, 0, 0, 0}, {618, 1855, 4096, 0, 0, 0, 0}, {614, 1852, 4864, 0, 0, 0, 0}, {616, 1847, 4128, 0, 0, 0, 0}, {616, 1848, 4112, 0, 0, 0, 0}, {614, 1843, 4915, 0, 0, 0, 0}, {618, 1840, 4144, 0, 0, 0, 0}, {612, 1851, 4883, 0, 0, 0, 0}, {620, 1852, 4352, 0, 0, 0, 0}, {610, 1847, 4642, 0, 0, 0, 0}, {622, 1844, 4386, 0, 0, 0, 0}, {608, 1855, 4608, 0, 0, 0, 0}, {672, 8704, 1792, 0, 0, 0, 0}, {12, 771, 353, 1028, 4369, 0, 0}, {674, 8738, 1800, 0, 0, 0, 0}, {12, 771, 355, 1024, 4403, 0, 0}, {12, 768, 356, 1028, 4128, 0, 0}, {682, 8192, 1807, 0, 0, 0, 0}, {12, 768, 358, 1024, 4096, 0, 0}, {680, 8224, 1799, 0, 0, 0, 0}, {680, 8224, 1800, 0, 0, 0, 0}, {12, 771, 357, 1024, 4144, 0, 0}, {682, 8192, 1792, 0, 0, 0, 0}, {12, 771, 359, 1028, 4112, 0, 0}, {12, 768, 352, 1024, 4352, 0, 0}, {674, 8738, 1799, 0, 0, 0, 0}, {12, 768, 354, 1028, 4386, 0, 0}, {672, 8704, 1807, 0, 0, 0, 0}, {576, 1328, 4656, 0, 0, 0, 0}, {590, 1337, 4369, 0, 0, 0, 0}, {578, 1338, 4626, 0, 0, 0, 0}, {588, 1331, 4403, 0, 0, 0, 0}, {580, 1340, 4864, 0, 0, 0, 0}, {586, 1333, 4128, 0, 0, 0, 0}, {582, 1334, 4896, 0, 0, 0, 0}, {584, 1343, 4096, 0, 0, 0, 0}, {584, 1328, 4144, 0, 0, 0, 0}, {582, 1337, 4883, 0, 0, 0, 0}, {586, 1338, 4112, 0, 0, 0, 0}, {580, 1331, 4915, 0, 0, 0, 0}, {588, 1340, 4352, 0, 0, 0, 0}, {578, 1333, 4642, 0, 0, 0, 0}, {590, 1334, 4386, 0, 0, 0, 0}, {576, 1343, 4608, 0, 0, 0, 0}, {192, 512, 1280, 4096, 0, 0, 0}, {204, 514, 1285, 4369, 0, 0, 0}, {192, 514, 1290, 4128, 0, 0, 0}, {204, 512, 1295, 4403, 0, 0, 0}, {204, 520, 1280, 4420, 0, 0, 0}, {192, 522, 1285, 4176, 0, 0, 0}, {204, 522, 1290, 4454, 0, 0, 0}, {192, 520, 1295, 4208, 0, 0, 0}, {192, 520, 1280, 4160, 0, 0, 0}, {204, 522, 1285, 4437, 0, 0, 0}, {192, 522, 1290, 4192, 0, 0, 0}, {204, 520, 1295, 4471, 0, 0, 0}, {204, 512, 1280, 4352, 0, 0, 0}, {192, 514, 1285, 4112, 0, 0, 0}, {204, 514, 1290, 4386, 0, 0, 0}, {192, 512, 1295, 4144, 0, 0, 0}, {544, 1360, 0, 0, 0, 0, 0}, {12, 273, 0, 0, 0, 0, 0}, {546, 1370, 0, 0, 0, 0, 0}, {12, 275, 0, 0, 0, 0, 0}, {12, 276, 0, 0, 0, 0, 0}, {554, 1365, 0, 0, 0, 0, 0}, {12, 278, 0, 0, 0, 0, 0}, {552, 1375, 0, 0, 0, 0, 0}, {552, 1360, 0, 0, 0, 0, 0}, {12, 277, 0, 0, 0, 0, 0}, {554, 1370, 0, 0, 0, 0, 0}, {12, 279, 0, 0, 0, 0, 0}, {12, 272, 0, 0, 0, 0, 0}, {546, 1365, 0, 0, 0, 0, 0}, {12, 274, 0, 0, 0, 0, 0}, {544, 1375, 0, 0, 0, 0, 0}, {192, 544, 1376, 4128, 0, 0, 0}, {204, 546, 1385, 4369, 0, 0, 0}, {192, 546, 1386, 4096, 0, 0, 0}, {204, 544, 1379, 4403, 0, 0, 0}, {204, 552, 1388, 4420, 0, 0, 0}, {192, 554, 1381, 4208, 0, 0, 0}, {204, 554, 1382, 4454, 0, 0, 0}, {192, 552, 1391, 4176, 0, 0, 0}, {192, 552, 1376, 4192, 0, 0, 0}, {204, 554, 1385, 4437, 0, 0, 0}, {192, 554, 1386, 4160, 0, 0, 0}, {204, 552, 1379, 4471, 0, 0, 0}, {204, 544, 1388, 4352, 0, 0, 0}, {192, 546, 1381, 4144, 0, 0, 0}, {204, 546, 1382, 4386, 0, 0, 0}, {192, 544, 1391, 4112, 0, 0, 0}, {1520, 512, 21760, 0, 0, 0, 0}, {12, 305, 514, 1028, 4369, 0, 0}, {1530, 514, 20560, 0, 0, 0, 0}, {12, 307, 512, 1024, 4096, 0, 0}, {12, 308, 516, 1028, 4420, 0, 0}, {1525, 522, 21845, 0, 0, 0, 0}, {12, 310, 518, 1024, 4176, 0, 0}, {1535, 520, 20480, 0, 0, 0, 0}, {1520, 520, 21760, 0, 0, 0, 0}, {12, 309, 518, 1024, 4437, 0, 0}, {1530, 522, 20560, 0, 0, 0, 0}, {12, 311, 516, 1028, 4160, 0, 0}, {12, 304, 512, 1024, 4352, 0, 0}, {1525, 514, 21845, 0, 0, 0, 0}, {12, 306, 514, 1028, 4112, 0, 0}, {1535, 512, 20480, 0, 0, 0, 0}, {512, 1024, 0, 0, 0, 0, 0}, {15, 257, 0, 0, 0, 0, 0}, {514, 1032, 0, 0, 0, 0, 0}, {15, 259, 0, 0, 0, 0, 0}, {520, 1028, 0, 0, 0, 0, 0}, {15, 261, 0, 0, 0, 0, 0}, {522, 1036, 0, 0, 0, 0, 0}, {15, 263, 0, 0, 0, 0, 0}, {520, 1032, 0, 0, 0, 0, 0}, {15, 262, 0, 0, 0, 0, 0}, {522, 1024, 0, 0, 0, 0, 0}, {15, 260, 0, 0, 0, 0, 0}, {512, 1036, 0, 0, 0, 0, 0}, {15, 258, 0, 0, 0, 0, 0}, {514, 1028, 0, 0, 0, 0, 0}, {15, 256, 0, 0, 0, 0, 0}, {240, 544, 1088, 4112, 0, 0, 0}, {255, 546, 1092, 4369, 0, 0, 0}, {240, 546, 1096, 4144, 0, 0, 0}, {255, 544, 1100, 4403, 0, 0, 0}, {240, 552, 1092, 4176, 0, 0, 0}, {255, 554, 1088, 4437, 0, 0, 0}, {240, 554, 1100, 4208, 0, 0, 0}, {255, 552, 1096, 4471, 0, 0, 0}, {240, 552, 1096, 4192, 0, 0, 0}, {255, 554, 1100, 4454, 0, 0, 0}, {240, 554, 1088, 4160, 0, 0, 0}, {255, 552, 1092, 4420, 0, 0, 0}, {240, 544, 1100, 4128, 0, 0, 0}, {255, 546, 1096, 4386, 0, 0, 0}, {240, 546, 1092, 4096, 0, 0, 0}, {255, 544, 1088, 4352, 0, 0, 0}, {1152, 544, 17408, 0, 0, 0, 0}, {15, 289, 771, 1365, 4369, 0, 0}, {1160, 546, 16384, 0, 0, 0, 0}, {15, 291, 771, 1360, 4112, 0, 0}, {1156, 552, 17476, 0, 0, 0, 0}, {15, 293, 768, 1365, 4437, 0, 0}, {1164, 554, 16448, 0, 0, 0, 0}, {15, 295, 768, 1360, 4176, 0, 0}, {1160, 552, 16384, 0, 0, 0, 0}, {15, 294, 771, 1365, 4160, 0, 0}, {1152, 554, 17408, 0, 0, 0, 0}, {15, 292, 771, 1360, 4420, 0, 0}, {1164, 544, 16448, 0, 0, 0, 0}, {15, 290, 768, 1365, 4096, 0, 0}, {1156, 546, 17476, 0, 0, 0, 0}, {15, 288, 768, 1360, 4352, 0, 0}, {240, 512, 1072, 4144, 0, 0, 0}, {255, 514, 1083, 4369, 0, 0, 0}, {240, 514, 1080, 4112, 0, 0, 0}, {255, 512, 1075, 4403, 0, 0, 0}, {240, 520, 1076, 4208, 0, 0, 0}, {255, 522, 1087, 4437, 0, 0, 0}, {240, 522, 1084, 4176, 0, 0, 0}, {255, 520, 1079, 4471, 0, 0, 0}, {240, 520, 1080, 4160, 0, 0, 0}, {255, 522, 1075, 4454, 0, 0, 0}, {240, 522, 1072, 4192, 0, 0, 0}, {255, 520, 1083, 4420, 0, 0, 0}, {240, 512, 1084, 4096, 0, 0, 0}, {255, 514, 1079, 4386, 0, 0, 0}, {240, 514, 1076, 4128, 0, 0, 0}, {255, 512, 1087, 4352, 0, 0, 0}, {640, 8704, 1088, 0, 0, 0, 0}, {15, 819, 321, 1285, 4369, 0, 0}, {642, 8738, 1096, 0, 0, 0, 0}, {15, 819, 323, 1280, 4403, 0, 0}, {648, 8192, 1092, 0, 0, 0, 0}, {15, 816, 325, 1285, 4112, 0, 0}, {650, 8224, 1100, 0, 0, 0, 0}, {15, 816, 327, 1280, 4144, 0, 0}, {648, 8192, 1096, 0, 0, 0, 0}, {15, 819, 326, 1285, 4128, 0, 0}, {650, 8224, 1088, 0, 0, 0, 0}, {15, 819, 324, 1280, 4096, 0, 0}, {640, 8704, 1100, 0, 0, 0, 0}, {15, 816, 322, 1285, 4386, 0, 0}, {642, 8738, 1092, 0, 0, 0, 0}, {15, 816, 320, 1280, 4352, 0, 0}, {592, 1024, 4608, 0, 0, 0, 0}, {605, 1028, 4369, 0, 0, 0, 0}, {594, 1032, 4642, 0, 0, 0, 0}, {607, 1036, 4403, 0, 0, 0, 0}, {600, 1028, 4112, 0, 0, 0, 0}, {597, 1024, 4864, 0, 0, 0, 0}, {602, 1036, 4144, 0, 0, 0, 0}, {599, 1032, 4896, 0, 0, 0, 0}, {600, 1032, 4128, 0, 0, 0, 0}, {597, 1036, 4915, 0, 0, 0, 0}, {602, 1024, 4096, 0, 0, 0, 0}, {599, 1028, 4883, 0, 0, 0, 0}, {592, 1036, 4656, 0, 0, 0, 0}, {605, 1032, 4386, 0, 0, 0, 0}, {594, 1028, 4626, 0, 0, 0, 0}, {607, 1024, 4352, 0, 0, 0, 0}, {672, 8704, 1632, 0, 0, 0, 0}, {15, 819, 353, 1076, 4369, 0, 0}, {674, 8738, 1642, 0, 0, 0, 0}, {15, 819, 355, 1075, 4403, 0, 0}, {680, 8224, 1644, 0, 0, 0, 0}, {15, 816, 357, 1072, 4144, 0, 0}, {682, 8192, 1638, 0, 0, 0, 0}, {15, 816, 359, 1079, 4112, 0, 0}, {680, 8224, 1632, 0, 0, 0, 0}, {15, 819, 358, 1075, 4096, 0, 0}, {682, 8192, 1642, 0, 0, 0, 0}, {15, 819, 356, 1076, 4128, 0, 0}, {672, 8704, 1644, 0, 0, 0, 0}, {15, 816, 354, 1079, 4386, 0, 0}, {674, 8738, 1638, 0, 0, 0, 0}, {15, 816, 352, 1072, 4352, 0, 0}, {624, 1536, 4608, 0, 0, 0, 0}, {637, 1542, 4369, 0, 0, 0, 0}, {626, 1546, 4642, 0, 0, 0, 0}, {639, 1548, 4403, 0, 0, 0, 0}, {632, 1548, 4144, 0, 0, 0, 0}, {629, 1546, 4896, 0, 0, 0, 0}, {634, 1542, 4112, 0, 0, 0, 0}, {631, 1536, 4864, 0, 0, 0, 0}, {632, 1536, 4096, 0, 0, 0, 0}, {629, 1542, 4883, 0, 0, 0, 0}, {634, 1546, 4128, 0, 0, 0, 0}, {631, 1548, 4915, 0, 0, 0, 0}, {624, 1548, 4656, 0, 0, 0, 0}, {637, 1546, 4386, 0, 0, 0, 0}, {626, 1542, 4626, 0, 0, 0, 0}, {639, 1536, 4352, 0, 0, 0, 0}, {640, 8704, 1536, 0, 0, 0, 0}, {15, 771, 369, 1285, 4369, 0, 0}, {642, 8738, 1546, 0, 0, 0, 0}, {15, 771, 371, 1280, 4403, 0, 0}, {648, 8192, 1548, 0, 0, 0, 0}, {15, 768, 373, 1285, 4128, 0, 0}, {650, 8224, 1542, 0, 0, 0, 0}, {15, 768, 375, 1280, 4096, 0, 0}, {648, 8192, 1536, 0, 0, 0, 0}, {15, 771, 374, 1285, 4112, 0, 0}, {650, 8224, 1546, 0, 0, 0, 0}, {15, 771, 372, 1280, 4144, 0, 0}, {640, 8704, 1548, 0, 0, 0, 0}, {15, 768, 370, 1285, 4386, 0, 0}, {642, 8738, 1542, 0, 0, 0, 0}, {15, 768, 368, 1280, 4352, 0, 0}, {592, 1072, 4656, 0, 0, 0, 0}, {605, 1083, 4369, 0, 0, 0, 0}, {594, 1080, 4626, 0, 0, 0, 0}, {607, 1075, 4403, 0, 0, 0, 0}, {600, 1076, 4128, 0, 0, 0, 0}, {597, 1087, 4864, 0, 0, 0, 0}, {602, 1084, 4096, 0, 0, 0, 0}, {599, 1079, 4896, 0, 0, 0, 0}, {600, 1080, 4112, 0, 0, 0, 0}, {597, 1075, 4915, 0, 0, 0, 0}, {602, 1072, 4144, 0, 0, 0, 0}, {599, 1083, 4883, 0, 0, 0, 0}, {592, 1084, 4608, 0, 0, 0, 0}, {605, 1079, 4386, 0, 0, 0, 0}, {594, 1076, 4642, 0, 0, 0, 0}, {607, 1087, 4352, 0, 0, 0, 0}, {672, 8704, 1024, 0, 0, 0, 0}, {15, 771, 337, 1028, 4369, 0, 0}, {674, 8738, 1032, 0, 0, 0, 0}, {15, 771, 339, 1027, 4403, 0, 0}, {680, 8224, 1028, 0, 0, 0, 0}, {15, 768, 341, 1024, 4096, 0, 0}, {682, 8192, 1036, 0, 0, 0, 0}, {15, 768, 343, 1031, 4128, 0, 0}, {680, 8224, 1032, 0, 0, 0, 0}, {15, 771, 342, 1027, 4144, 0, 0}, {682, 8192, 1024, 0, 0, 0, 0}, {15, 771, 340, 1028, 4112, 0, 0}, {672, 8704, 1036, 0, 0, 0, 0}, {15, 768, 338, 1031, 4386, 0, 0}, {674, 8738, 1028, 0, 0, 0, 0}, {15, 768, 336, 1024, 4352, 0, 0}, {624, 1584, 4656, 0, 0, 0, 0}, {637, 1593, 4369, 0, 0, 0, 0}, {626, 1594, 4626, 0, 0, 0, 0}, {639, 1587, 4403, 0, 0, 0, 0}, {632, 1596, 4096, 0, 0, 0, 0}, {629, 1589, 4896, 0, 0, 0, 0}, {634, 1590, 4128, 0, 0, 0, 0}, {631, 1599, 4864, 0, 0, 0, 0}, {632, 1584, 4144, 0, 0, 0, 0}, {629, 1593, 4883, 0, 0, 0, 0}, {634, 1594, 4112, 0, 0, 0, 0}, {631, 1587, 4915, 0, 0, 0, 0}, {624, 1596, 4608, 0, 0, 0, 0}, {637, 1589, 4386, 0, 0, 0, 0}, {626, 1590, 4642, 0, 0, 0, 0}, {639, 1599, 4352, 0, 0, 0, 0}, {1216, 512, 17408, 0, 0, 0, 0}, {15, 305, 514, 1285, 4369, 0, 0}, {1224, 514, 16448, 0, 0, 0, 0}, {15, 307, 512, 1280, 4096, 0, 0}, {1220, 520, 17476, 0, 0, 0, 0}, {15, 309, 517, 1285, 4437, 0, 0}, {1228, 522, 16384, 0, 0, 0, 0}, {15, 311, 519, 1280, 4160, 0, 0}, {1224, 520, 16448, 0, 0, 0, 0}, {15, 310, 517, 1285, 4176, 0, 0}, {1216, 522, 17408, 0, 0, 0, 0}, {15, 308, 519, 1280, 4420, 0, 0}, {1228, 512, 16384, 0, 0, 0, 0}, {15, 306, 514, 1285, 4112, 0, 0}, {1220, 514, 17476, 0, 0, 0, 0}, {15, 304, 512, 1280, 4352, 0, 0}, {240, 544, 1136, 4128, 0, 0, 0}, {255, 546, 1147, 4369, 0, 0, 0}, {240, 546, 1144, 4096, 0, 0, 0}, {255, 544, 1139, 4403, 0, 0, 0}, {240, 552, 1140, 4192, 0, 0, 0}, {255, 554, 1151, 4437, 0, 0, 0}, {240, 554, 1148, 4160, 0, 0, 0}, {255, 552, 1143, 4471, 0, 0, 0}, {240, 552, 1144, 4176, 0, 0, 0}, {255, 554, 1139, 4454, 0, 0, 0}, {240, 554, 1136, 4208, 0, 0, 0}, {255, 552, 1147, 4420, 0, 0, 0}, {240, 544, 1148, 4112, 0, 0, 0}, {255, 546, 1143, 4386, 0, 0, 0}, {240, 546, 1140, 4144, 0, 0, 0}, {255, 544, 1151, 4352, 0, 0, 0}, {544, 1088, 0, 0, 0, 0, 0}, {15, 273, 0, 0, 0, 0, 0}, {546, 1096, 0, 0, 0, 0, 0}, {15, 275, 0, 0, 0, 0, 0}, {552, 1092, 0, 0, 0, 0, 0}, {15, 277, 0, 0, 0, 0, 0}, {554, 1100, 0, 0, 0, 0, 0}, {15, 279, 0, 0, 0, 0, 0}, {552, 1096, 0, 0, 0, 0, 0}, {15, 278, 0, 0, 0, 0, 0}, {554, 1088, 0, 0, 0, 0, 0}, {15, 276, 0, 0, 0, 0, 0}, {544, 1100, 0, 0, 0, 0, 0}, {15, 274, 0, 0, 0, 0, 0}, {546, 1092, 0, 0, 0, 0, 0}, {15, 272, 0, 0, 0, 0, 0}, {240, 512, 1024, 4096, 0, 0, 0}, {255, 514, 1028, 4369, 0, 0, 0}, {240, 514, 1032, 4128, 0, 0, 0}, {255, 512, 1036, 4403, 0, 0, 0}, {240, 520, 1028, 4160, 0, 0, 0}, {255, 522, 1024, 4437, 0, 0, 0}, {240, 522, 1036, 4192, 0, 0, 0}, {255, 520, 1032, 4471, 0, 0, 0}, {240, 520, 1032, 4208, 0, 0, 0}, {255, 522, 1036, 4454, 0, 0, 0}, {240, 522, 1024, 4176, 0, 0, 0}, {255, 520, 1028, 4420, 0, 0, 0}, {240, 512, 1036, 4144, 0, 0, 0}, {255, 514, 1032, 4386, 0, 0, 0}, {240, 514, 1028, 4112, 0, 0, 0}, {255, 512, 1024, 4352, 0, 0, 0}, {3840, 0, 0, 0, 0, 0, 0}, {2, 4, 257, 0, 0, 0, 0}, {2, 1280, 0, 0, 0, 0, 0}, {12, 771, 0, 0, 0, 0, 0}, {768, 4, 0, 0, 0, 0, 0}, {10, 1285, 0, 0, 0, 0, 0}, {768, 6, 0, 0, 0, 0, 0}, {8, 1799, 0, 0, 0, 0, 0}, {8, 1792, 0, 0, 0, 0, 0}, {771, 6, 0, 0, 0, 0, 0}, {10, 1280, 0, 0, 0, 0, 0}, {771, 4, 0, 0, 0, 0, 0}, {12, 768, 0, 0, 0, 0, 0}, {2, 1285, 0, 0, 0, 0, 0}, {2, 4, 256, 0, 0, 0, 0}, {3855, 0, 0, 0, 0, 0, 0}, {3856, 32, 64, 4112, 0, 0, 0}, {3857, 34, 68, 4369, 0, 0, 0}, {3858, 34, 72, 4626, 0, 0, 0}, {3859, 32, 76, 4883, 0, 0, 0}, {3860, 40, 68, 5140, 0, 0, 0}, {3861, 42, 64, 5397, 0, 0, 0}, {3862, 42, 76, 5654, 0, 0, 0}, {3863, 40, 72, 5911, 0, 0, 0}, {3864, 40, 72, 5888, 0, 0, 0}, {3865, 42, 76, 5632, 0, 0, 0}, {3866, 42, 64, 5376, 0, 0, 0}, {3867, 40, 68, 5120, 0, 0, 0}, {3868, 32, 76, 4864, 0, 0, 0}, {3869, 34, 72, 4608, 0, 0, 0}, {3870, 34, 68, 4352, 0, 0, 0}, {3871, 32, 64, 4096, 0, 0, 0}, {3840, 32, 20480, 0, 0, 0, 0}, {12, 34, 771, 68, 4369, 0, 0}, {3840, 34, 21760, 0, 0, 0, 0}, {12, 32, 771, 64, 4112, 0, 0}, {12, 36, 768, 68, 5120, 0, 0}, {3855, 42, 21845, 0, 0, 0, 0}, {12, 38, 768, 64, 5376, 0, 0}, {3855, 40, 20560, 0, 0, 0, 0}, {3840, 40, 20480, 0, 0, 0, 0}, {12, 38, 771, 64, 5397, 0, 0}, {3840, 42, 21760, 0, 0, 0, 0}, {12, 36, 771, 68, 5140, 0, 0}, {12, 32, 768, 64, 4096, 0, 0}, {3855, 34, 21845, 0, 0, 0, 0}, {12, 34, 768, 68, 4352, 0, 0}, {3855, 32, 20560, 0, 0, 0, 0}, {192, 3888, 12336, 0, 0, 0, 0}, {2, 68, 1297, 4369, 0, 0, 0}, {2, 64, 1296, 4112, 0, 0, 0}, {204, 3891, 13107, 0, 0, 0, 0}, {8, 13056, 68, 1844, 0, 0, 0}, {10, 12288, 96, 1333, 0, 0, 0}, {10, 13056, 102, 1334, 0, 0, 0}, {8, 12288, 64, 1847, 0, 0, 0}, {8, 12336, 64, 1840, 0, 0, 0}, {10, 13107, 102, 1331, 0, 0, 0}, {10, 12336, 96, 1328, 0, 0, 0}, {8, 13107, 68, 1843, 0, 0, 0}, {204, 3900, 13056, 0, 0, 0, 0}, {2, 64, 1301, 4096, 0, 0, 0}, {2, 68, 1300, 4352, 0, 0, 0}, {192, 3903, 12288, 0, 0, 0, 0}, {3840, 12288, 64, 0, 0, 0, 0}, {10, 34, 68, 1285, 4369, 0, 0}, {10, 34, 66, 1280, 4608, 0, 0}, {3855, 13107, 76, 0, 0, 0, 0}, {3840, 13056, 68, 0, 0, 0, 0}, {10, 32, 64, 1285, 4112, 0, 0}, {10, 32, 70, 1280, 4864, 0, 0}, {3855, 12336, 72, 0, 0, 0, 0}, {3840, 12288, 72, 0, 0, 0, 0}, {10, 32, 70, 1285, 4883, 0, 0}, {10, 32, 64, 1280, 4096, 0, 0}, {3855, 13107, 68, 0, 0, 0, 0}, {3840, 13056, 76, 0, 0, 0, 0}, {10, 34, 66, 1285, 4626, 0, 0}, {10, 34, 68, 1280, 4352, 0, 0}, {3855, 12336, 64, 0, 0, 0, 0}, {160, 3920, 20560, 0, 0, 0, 0}, {34, 785, 4, 4369, 0, 0, 0}, {8, 34, 1874, 0, 0, 0, 0}, {12, 819, 96, 0, 0, 0, 0}, {32, 784, 4, 4112, 0, 0, 0}, {170, 3925, 21845, 0, 0, 0, 0}, {12, 816, 102, 0, 0, 0, 0}, {8, 32, 1879, 0, 0, 0, 0}, {8, 32, 1872, 0, 0, 0, 0}, {12, 819, 102, 0, 0, 0, 0}, {170, 3930, 21760, 0, 0, 0, 0}, {32, 787, 4, 4096, 0, 0, 0}, {12, 816, 96, 0, 0, 0, 0}, {8, 34, 1877, 0, 0, 0, 0}, {34, 786, 4, 4352, 0, 0, 0}, {160, 3935, 20480, 0, 0, 0, 0}, {3840, 12288, 96, 0, 0, 0, 0}, {8, 34, 68, 1799, 4369, 0, 0}, {8, 34, 64, 1792, 4608, 0, 0}, {3855, 13107, 108, 0, 0, 0, 0}, {8, 32, 68, 1792, 4864, 0, 0}, {3855, 12336, 106, 0, 0, 0, 0}, {3840, 13056, 102, 0, 0, 0, 0}, {8, 32, 64, 1799, 4112, 0, 0}, {8, 32, 64, 1792, 4096, 0, 0}, {3855, 13107, 102, 0, 0, 0, 0}, {3840, 12288, 106, 0, 0, 0, 0}, {8, 32, 68, 1799, 4883, 0, 0}, {3840, 13056, 108, 0, 0, 0, 0}, {8, 34, 64, 1799, 4626, 0, 0}, {8, 34, 68, 1792, 4352, 0, 0}, {3855, 12336, 96, 0, 0, 0, 0}, {128, 3952, 28784, 0, 0, 0, 0}, {34, 785, 6, 4369, 0, 0, 0}, {10, 34, 1360, 0, 0, 0, 0}, {12, 819, 64, 0, 0, 0, 0}, {12, 816, 68, 0, 0, 0, 0}, {10, 32, 1365, 0, 0, 0, 0}, {32, 784, 6, 4112, 0, 0, 0}, {136, 3959, 30583, 0, 0, 0, 0}, {136, 3960, 30464, 0, 0, 0, 0}, {32, 787, 6, 4096, 0, 0, 0}, {10, 32, 1360, 0, 0, 0, 0}, {12, 819, 68, 0, 0, 0, 0}, {12, 816, 64, 0, 0, 0, 0}, {10, 34, 1365, 0, 0, 0, 0}, {34, 786, 6, 4352, 0, 0, 0}, {128, 3967, 28672, 0, 0, 0, 0}, {128, 3840, 28672, 0, 0, 0, 0}, {34, 771, 6, 4369, 0, 0, 0}, {10, 34, 1280, 0, 0, 0, 0}, {12, 771, 64, 0, 0, 0, 0}, {12, 768, 68, 0, 0, 0, 0}, {10, 32, 1285, 0, 0, 0, 0}, {32, 768, 6, 4096, 0, 0, 0}, {136, 3855, 30583, 0, 0, 0, 0}, {136, 3840, 30464, 0, 0, 0, 0}, {32, 771, 6, 4112, 0, 0, 0}, {10, 32, 1280, 0, 0, 0, 0}, {12, 771, 68, 0, 0, 0, 0}, {12, 768, 64, 0, 0, 0, 0}, {10, 34, 1285, 0, 0, 0, 0}, {34, 768, 6, 4352, 0, 0, 0}, {128, 3855, 28784, 0, 0, 0, 0}, {3888, 12336, 96, 0, 0, 0, 0}, {8, 34, 68, 1809, 4369, 0, 0}, {8, 34, 64, 1810, 4626, 0, 0}, {3891, 13107, 108, 0, 0, 0, 0}, {8, 32, 68, 1812, 4864, 0, 0}, {3903, 12288, 106, 0, 0, 0, 0}, {3900, 13056, 102, 0, 0, 0, 0}, {8, 32, 64, 1815, 4096, 0, 0}, {8, 32, 64, 1808, 4112, 0, 0}, {3891, 13107, 102, 0, 0, 0, 0}, {3888, 12336, 106, 0, 0, 0, 0}, {8, 32, 68, 1811, 4883, 0, 0}, {3900, 13056, 108, 0, 0, 0, 0}, {8, 34, 64, 1813, 4608, 0, 0}, {8, 34, 68, 1814, 4352, 0, 0}, {3903, 12288, 96, 0, 0, 0, 0}, {160, 3840, 20480, 0, 0, 0, 0}, {34, 771, 4, 4369, 0, 0, 0}, {8, 34, 1792, 0, 0, 0, 0}, {12, 771, 96, 0, 0, 0, 0}, {32, 768, 4, 4096, 0, 0, 0}, {170, 3855, 21845, 0, 0, 0, 0}, {12, 768, 102, 0, 0, 0, 0}, {8, 32, 1799, 0, 0, 0, 0}, {8, 32, 1792, 0, 0, 0, 0}, {12, 771, 102, 0, 0, 0, 0}, {170, 3840, 21760, 0, 0, 0, 0}, {32, 771, 4, 4112, 0, 0, 0}, {12, 768, 96, 0, 0, 0, 0}, {8, 34, 1799, 0, 0, 0, 0}, {34, 768, 4, 4352, 0, 0, 0}, {160, 3855, 20560, 0, 0, 0, 0}, {3888, 12336, 64, 0, 0, 0, 0}, {10, 34, 68, 1297, 4369, 0, 0}, {10, 34, 66, 1298, 4626, 0, 0}, {3891, 13107, 76, 0, 0, 0, 0}, {3900, 13056, 68, 0, 0, 0, 0}, {10, 32, 64, 1301, 4096, 0, 0}, {10, 32, 70, 1302, 4864, 0, 0}, {3903, 12288, 72, 0, 0, 0, 0}, {3888, 12336, 72, 0, 0, 0, 0}, {10, 32, 70, 1299, 4883, 0, 0}, {10, 32, 64, 1296, 4112, 0, 0}, {3891, 13107, 68, 0, 0, 0, 0}, {3900, 13056, 76, 0, 0, 0, 0}, {10, 34, 66, 1303, 4608, 0, 0}, {10, 34, 68, 1300, 4352, 0, 0}, {3903, 12288, 64, 0, 0, 0, 0}, {192, 3840, 12288, 0, 0, 0, 0}, {2, 68, 1285, 4369, 0, 0, 0}, {2, 64, 1280, 4096, 0, 0, 0}, {204, 3855, 13107, 0, 0, 0, 0}, {8, 13056, 68, 1792, 0, 0, 0}, {10, 12336, 96, 1285, 0, 0, 0}, {10, 13056, 102, 1280, 0, 0, 0}, {8, 12336, 64, 1799, 0, 0, 0}, {8, 12288, 64, 1792, 0, 0, 0}, {10, 13107, 102, 1285, 0, 0, 0}, {10, 12288, 96, 1280, 0, 0, 0}, {8, 13107, 68, 1799, 0, 0, 0}, {204, 3840, 13056, 0, 0, 0, 0}, {2, 64, 1285, 4112, 0, 0, 0}, {2, 68, 1280, 4352, 0, 0, 0}, {192, 3855, 12336, 0, 0, 0, 0}, {3920, 32, 20560, 0, 0, 0, 0}, {12, 34, 785, 68, 4369, 0, 0}, {3930, 34, 21760, 0, 0, 0, 0}, {12, 32, 787, 64, 4096, 0, 0}, {12, 36, 788, 68, 5140, 0, 0}, {3925, 42, 21845, 0, 0, 0, 0}, {12, 38, 790, 64, 5376, 0, 0}, {3935, 40, 20480, 0, 0, 0, 0}, {3920, 40, 20560, 0, 0, 0, 0}, {12, 38, 789, 64, 5397, 0, 0}, {3930, 42, 21760, 0, 0, 0, 0}, {12, 36, 791, 68, 5120, 0, 0}, {12, 32, 784, 64, 4112, 0, 0}, {3925, 34, 21845, 0, 0, 0, 0}, {12, 34, 786, 68, 4352, 0, 0}, {3935, 32, 20480, 0, 0, 0, 0}, {3840, 32, 64, 4096, 0, 0, 0}, {3855, 34, 68, 4369, 0, 0, 0}, {3840, 34, 72, 4608, 0, 0, 0}, {3855, 32, 76, 4883, 0, 0, 0}, {3840, 40, 68, 5120, 0, 0, 0}, {3855, 42, 64, 5397, 0, 0, 0}, {3840, 42, 76, 5632, 0, 0, 0}, {3855, 40, 72, 5911, 0, 0, 0}, {3840, 40, 72, 5888, 0, 0, 0}, {3855, 42, 76, 5654, 0, 0, 0}, {3840, 42, 64, 5376, 0, 0, 0}, {3855, 40, 68, 5140, 0, 0, 0}, {3840, 32, 76, 4864, 0, 0, 0}, {3855, 34, 72, 4626, 0, 0, 0}, {3840, 34, 68, 4352, 0, 0, 0}, {3855, 32, 64, 4112, 0, 0, 0}, {4080, 0, 0, 0, 0, 0, 0}, {2, 4, 273, 0, 0, 0, 0}, {2, 1360, 0, 0, 0, 0, 0}, {12, 819, 0, 0, 0, 0, 0}, {816, 4, 0, 0, 0, 0, 0}, {10, 1365, 0, 0, 0, 0, 0}, {816, 6, 0, 0, 0, 0, 0}, {8, 1911, 0, 0, 0, 0, 0}, {8, 1904, 0, 0, 0, 0, 0}, {819, 6, 0, 0, 0, 0, 0}, {10, 1360, 0, 0, 0, 0, 0}, {819, 4, 0, 0, 0, 0, 0}, {12, 816, 0, 0, 0, 0, 0}, {2, 1365, 0, 0, 0, 0, 0}, {2, 4, 272, 0, 0, 0, 0}, {4095, 0, 0, 0, 0, 0, 0}, {4096, 0, 0, 0, 0, 0, 0}, {17, 257, 0, 0, 0, 0, 0}, {34, 514, 4098, 0, 0, 0, 0}, {51, 771, 4099, 0, 0, 0, 0}, {68, 1028, 4100, 0, 0, 0, 0}, {85, 1285, 4101, 0, 0, 0, 0}, {102, 1542, 4102, 0, 0, 0, 0}, {119, 1799, 4103, 0, 0, 0, 0}, {136, 2056, 4104, 0, 0, 0, 0}, {51, 771, 85, 1285, 4105, 0, 0}, {170, 2570, 4106, 0, 0, 0, 0}, {51, 771, 68, 1028, 4107, 0, 0}, {204, 3084, 4108, 0, 0, 0, 0}, {34, 514, 85, 1285, 4109, 0, 0}, {34, 514, 68, 1028, 4110, 0, 0}, {255, 3855, 4111, 0, 0, 0, 0}, {4112, 0, 0, 0, 0, 0, 0}, {17, 256, 0, 0, 0, 0, 0}, {34, 512, 4114, 0, 0, 0, 0}, {51, 768, 4115, 0, 0, 0, 0}, {68, 1024, 4116, 0, 0, 0, 0}, {85, 1280, 4117, 0, 0, 0, 0}, {102, 1536, 4118, 0, 0, 0, 0}, {119, 1792, 4119, 0, 0, 0, 0}, {136, 2048, 4120, 0, 0, 0, 0}, {51, 768, 85, 1280, 4121, 0, 0}, {170, 2560, 4122, 0, 0, 0, 0}, {51, 768, 68, 1024, 4123, 0, 0}, {204, 3072, 4124, 0, 0, 0, 0}, {34, 512, 85, 1280, 4125, 0, 0}, {34, 512, 68, 1024, 4126, 0, 0}, {255, 3840, 4127, 0, 0, 0, 0}, {4128, 0, 0, 0, 0, 0, 0}, {17, 259, 0, 0, 0, 0, 0}, {34, 512, 4096, 0, 0, 0, 0}, {51, 771, 4112, 0, 0, 0, 0}, {68, 1036, 4132, 0, 0, 0, 0}, {85, 1295, 4133, 0, 0, 0, 0}, {102, 1548, 4134, 0, 0, 0, 0}, {119, 1807, 4135, 0, 0, 0, 0}, {136, 2048, 4136, 0, 0, 0, 0}, {51, 771, 85, 1295, 4122, 0, 0}, {170, 2560, 4138, 0, 0, 0, 0}, {51, 771, 68, 1036, 4120, 0, 0}, {204, 3084, 4140, 0, 0, 0, 0}, {34, 512, 85, 1295, 4111, 0, 0}, {34, 512, 68, 1036, 4108, 0, 0}, {255, 3855, 4143, 0, 0, 0, 0}, {4144, 0, 0, 0, 0, 0, 0}, {17, 258, 0, 0, 0, 0, 0}, {34, 514, 4112, 0, 0, 0, 0}, {51, 768, 4096, 0, 0, 0, 0}, {68, 1032, 4148, 0, 0, 0, 0}, {85, 1290, 4149, 0, 0, 0, 0}, {102, 1546, 4150, 0, 0, 0, 0}, {119, 1800, 4151, 0, 0, 0, 0}, {136, 2056, 4152, 0, 0, 0, 0}, {51, 768, 85, 1290, 4106, 0, 0}, {170, 2570, 4154, 0, 0, 0, 0}, {51, 768, 68, 1032, 4104, 0, 0}, {204, 3072, 4156, 0, 0, 0, 0}, {34, 514, 85, 1290, 4127, 0, 0}, {34, 514, 68, 1032, 4124, 0, 0}, {255, 3840, 4159, 0, 0, 0, 0}, {4160, 0, 0, 0, 0, 0, 0}, {17, 261, 0, 0, 0, 0, 0}, {34, 522, 4162, 0, 0, 0, 0}, {51, 783, 4163, 0, 0, 0, 0}, {68, 1024, 4096, 0, 0, 0, 0}, {85, 1285, 4112, 0, 0, 0, 0}, {102, 1546, 4128, 0, 0, 0, 0}, {119, 1807, 4144, 0, 0, 0, 0}, {136, 2048, 4168, 0, 0, 0, 0}, {51, 783, 85, 1285, 4124, 0, 0}, {170, 2570, 4170, 0, 0, 0, 0}, {51, 783, 68, 1024, 4111, 0, 0}, {204, 3072, 4172, 0, 0, 0, 0}, {34, 522, 85, 1285, 4120, 0, 0}, {34, 522, 68, 1024, 4106, 0, 0}, {255, 3855, 4175, 0, 0, 0, 0}, {4176, 0, 0, 0, 0, 0, 0}, {17, 260, 0, 0, 0, 0, 0}, {34, 520, 4178, 0, 0, 0, 0}, {51, 780, 4179, 0, 0, 0, 0}, {68, 1028, 4112, 0, 0, 0, 0}, {85, 1280, 4096, 0, 0, 0, 0}, {102, 1548, 4144, 0, 0, 0, 0}, {119, 1800, 4128, 0, 0, 0, 0}, {136, 2056, 4184, 0, 0, 0, 0}, {51, 780, 85, 1280, 4108, 0, 0}, {170, 2560, 4186, 0, 0, 0, 0}, {51, 780, 68, 1028, 4127, 0, 0}, {204, 3084, 4188, 0, 0, 0, 0}, {34, 520, 85, 1280, 4104, 0, 0}, {34, 520, 68, 1028, 4122, 0, 0}, {255, 3840, 4191, 0, 0, 0, 0}, {4192, 0, 0, 0, 0, 0, 0}, {17, 263, 0, 0, 0, 0, 0}, {34, 520, 4160, 0, 0, 0, 0}, {51, 783, 4176, 0, 0, 0, 0}, {68, 1032, 4128, 0, 0, 0, 0}, {85, 1295, 4144, 0, 0, 0, 0}, {102, 1536, 4096, 0, 0, 0, 0}, {119, 1799, 4112, 0, 0, 0, 0}, {136, 2056, 4200, 0, 0, 0, 0}, {51, 783, 85, 1295, 4111, 0, 0}, {170, 2560, 4202, 0, 0, 0, 0}, {51, 783, 68, 1032, 4124, 0, 0}, {204, 3072, 4204, 0, 0, 0, 0}, {34, 520, 85, 1295, 4122, 0, 0}, {34, 520, 68, 1032, 4104, 0, 0}, {255, 3855, 4207, 0, 0, 0, 0}, {4208, 0, 0, 0, 0, 0, 0}, {17, 262, 0, 0, 0, 0, 0}, {34, 522, 4176, 0, 0, 0, 0}, {51, 780, 4160, 0, 0, 0, 0}, {68, 1036, 4144, 0, 0, 0, 0}, {85, 1290, 4128, 0, 0, 0, 0}, {102, 1542, 4112, 0, 0, 0, 0}, {119, 1792, 4096, 0, 0, 0, 0}, {136, 2048, 4216, 0, 0, 0, 0}, {51, 780, 85, 1290, 4127, 0, 0}, {170, 2570, 4218, 0, 0, 0, 0}, {51, 780, 68, 1036, 4108, 0, 0}, {204, 3084, 4220, 0, 0, 0, 0}, {34, 522, 85, 1290, 4106, 0, 0}, {34, 522, 68, 1036, 4120, 0, 0}, {255, 3840, 4223, 0, 0, 0, 0}, {4224, 12288, 20480, 0, 0, 0, 0}, {265, 771, 1285, 17, 0, 0, 0}, {34, 522, 4106, 0, 0, 0, 0}, {51, 771, 4175, 0, 0, 0, 0}, {68, 1036, 4108, 0, 0, 0, 0}, {85, 1285, 4143, 0, 0, 0, 0}, {102, 1542, 4140, 0, 0, 0, 0}, {119, 1807, 4111, 0, 0, 0, 0}, {136, 2048, 4096, 0, 0, 0, 0}, {51, 771, 85, 1285, 4112, 0, 0}, {170, 2570, 4128, 0, 0, 0, 0}, {51, 771, 68, 1036, 4099, 0, 0}, {204, 3084, 4160, 0, 0, 0, 0}, {34, 522, 85, 1285, 4101, 0, 0}, {34, 522, 68, 1036, 4102, 0, 0}, {255, 3855, 4208, 0, 0, 0, 0}, {4240, 12336, 20560, 0, 0, 0, 0}, {264, 768, 1280, 17, 0, 0, 0}, {34, 520, 4122, 0, 0, 0, 0}, {51, 768, 4191, 0, 0, 0, 0}, {68, 1032, 4124, 0, 0, 0, 0}, {85, 1280, 4159, 0, 0, 0, 0}, {102, 1536, 4156, 0, 0, 0, 0}, {119, 1800, 4127, 0, 0, 0, 0}, {136, 2056, 4112, 0, 0, 0, 0}, {51, 768, 85, 1280, 4096, 0, 0}, {170, 2560, 4144, 0, 0, 0, 0}, {51, 768, 68, 1032, 4115, 0, 0}, {204, 3072, 4176, 0, 0, 0, 0}, {34, 520, 85, 1280, 4117, 0, 0}, {34, 520, 68, 1032, 4118, 0, 0}, {255, 3840, 4192, 0, 0, 0, 0}, {4256, 12288, 16384, 0, 0, 0, 0}, {267, 771, 1028, 17, 0, 0, 0}, {34, 520, 4104, 0, 0, 0, 0}, {51, 771, 4188, 0, 0, 0, 0}, {68, 1028, 4140, 0, 0, 0, 0}, {85, 1295, 4111, 0, 0, 0, 0}, {102, 1548, 4108, 0, 0, 0, 0}, {119, 1799, 4143, 0, 0, 0, 0}, {136, 2056, 4128, 0, 0, 0, 0}, {51, 771, 85, 1295, 4099, 0, 0}, {170, 2560, 4096, 0, 0, 0, 0}, {51, 771, 68, 1028, 4112, 0, 0}, {204, 3084, 4192, 0, 0, 0, 0}, {34, 520, 85, 1295, 4103, 0, 0}, {34, 520, 68, 1028, 4100, 0, 0}, {255, 3855, 4176, 0, 0, 0, 0}, {4272, 12336, 16448, 0, 0, 0, 0}, {266, 768, 1024, 17, 0, 0, 0}, {34, 522, 4120, 0, 0, 0, 0}, {51, 768, 4172, 0, 0, 0, 0}, {68, 1024, 4156, 0, 0, 0, 0}, {85, 1290, 4127, 0, 0, 0, 0}, {102, 1546, 4124, 0, 0, 0, 0}, {119, 1792, 4159, 0, 0, 0, 0}, {136, 2048, 4144, 0, 0, 0, 0}, {51, 768, 85, 1290, 4115, 0, 0}, {170, 2570, 4112, 0, 0, 0, 0}, {51, 768, 68, 1024, 4096, 0, 0}, {204, 3072, 4208, 0, 0, 0, 0}, {34, 522, 85, 1290, 4119, 0, 0}, {34, 522, 68, 1024, 4116, 0, 0}, {255, 3840, 4160, 0, 0, 0, 0}, {4288, 8192, 20480, 0, 0, 0, 0}, {269, 514, 1285, 17, 0, 0, 0}, {34, 514, 4170, 0, 0, 0, 0}, {51, 783, 4111, 0, 0, 0, 0}, {68, 1032, 4104, 0, 0, 0, 0}, {85, 1285, 4154, 0, 0, 0, 0}, {102, 1546, 4106, 0, 0, 0, 0}, {119, 1799, 4152, 0, 0, 0, 0}, {136, 2056, 4160, 0, 0, 0, 0}, {51, 783, 85, 1285, 4101, 0, 0}, {170, 2570, 4192, 0, 0, 0, 0}, {51, 783, 68, 1032, 4103, 0, 0}, {204, 3072, 4096, 0, 0, 0, 0}, {34, 514, 85, 1285, 4112, 0, 0}, {34, 514, 68, 1032, 4098, 0, 0}, {255, 3855, 4144, 0, 0, 0, 0}, {4304, 8224, 20560, 0, 0, 0, 0}, {268, 512, 1280, 17, 0, 0, 0}, {34, 512, 4186, 0, 0, 0, 0}, {51, 780, 4127, 0, 0, 0, 0}, {68, 1036, 4120, 0, 0, 0, 0}, {85, 1280, 4138, 0, 0, 0, 0}, {102, 1548, 4122, 0, 0, 0, 0}, {119, 1792, 4136, 0, 0, 0, 0}, {136, 2048, 4176, 0, 0, 0, 0}, {51, 780, 85, 1280, 4117, 0, 0}, {170, 2560, 4208, 0, 0, 0, 0}, {51, 780, 68, 1036, 4119, 0, 0}, {204, 3084, 4112, 0, 0, 0, 0}, {34, 512, 85, 1280, 4096, 0, 0}, {34, 512, 68, 1036, 4114, 0, 0}, {255, 3840, 4128, 0, 0, 0, 0}, {4320, 8224, 16448, 0, 0, 0, 0}, {271, 512, 1024, 17, 0, 0, 0}, {34, 512, 4168, 0, 0, 0, 0}, {51, 783, 4124, 0, 0, 0, 0}, {68, 1024, 4136, 0, 0, 0, 0}, {85, 1295, 4122, 0, 0, 0, 0}, {102, 1536, 4138, 0, 0, 0, 0}, {119, 1807, 4120, 0, 0, 0, 0}, {136, 2048, 4192, 0, 0, 0, 0}, {51, 783, 85, 1295, 4118, 0, 0}, {170, 2560, 4160, 0, 0, 0, 0}, {51, 783, 68, 1024, 4116, 0, 0}, {204, 3072, 4128, 0, 0, 0, 0}, {34, 512, 85, 1295, 4114, 0, 0}, {34, 512, 68, 1024, 4096, 0, 0}, {255, 3855, 4112, 0, 0, 0, 0}, {4336, 8192, 16384, 0, 0, 0, 0}, {270, 514, 1028, 17, 0, 0, 0}, {34, 514, 4184, 0, 0, 0, 0}, {51, 780, 4108, 0, 0, 0, 0}, {68, 1028, 4152, 0, 0, 0, 0}, {85, 1290, 4106, 0, 0, 0, 0}, {102, 1542, 4154, 0, 0, 0, 0}, {119, 1800, 4104, 0, 0, 0, 0}, {136, 2056, 4208, 0, 0, 0, 0}, {51, 780, 85, 1290, 4102, 0, 0}, {170, 2570, 4176, 0, 0, 0, 0}, {51, 780, 68, 1028, 4100, 0, 0}, {204, 3084, 4144, 0, 0, 0, 0}, {34, 514, 85, 1290, 4098, 0, 0}, {34, 514, 68, 1028, 4112, 0, 0}, {255, 3840, 4096, 0, 0, 0, 0}, {4352, 0, 0, 0, 0, 0, 0}, {16, 257, 0, 0, 0, 0, 0}, {32, 514, 4354, 0, 0, 0, 0}, {48, 771, 4355, 0, 0, 0, 0}, {64, 1028, 4356, 0, 0, 0, 0}, {80, 1285, 4357, 0, 0, 0, 0}, {96, 1542, 4358, 0, 0, 0, 0}, {112, 1799, 4359, 0, 0, 0, 0}, {128, 2056, 4360, 0, 0, 0, 0}, {48, 771, 80, 1285, 4361, 0, 0}, {160, 2570, 4362, 0, 0, 0, 0}, {48, 771, 64, 1028, 4363, 0, 0}, {192, 3084, 4364, 0, 0, 0, 0}, {32, 514, 80, 1285, 4365, 0, 0}, {32, 514, 64, 1028, 4366, 0, 0}, {240, 3855, 4367, 0, 0, 0, 0}, {16, 256, 0, 0, 0, 0, 0}, {4369, 0, 0, 0, 0, 0, 0}, {48, 768, 4370, 0, 0, 0, 0}, {32, 512, 4371, 0, 0, 0, 0}, {80, 1280, 4372, 0, 0, 0, 0}, {64, 1024, 4373, 0, 0, 0, 0}, {112, 1792, 4374, 0, 0, 0, 0}, {96, 1536, 4375, 0, 0, 0, 0}, {48, 768, 80, 1280, 4376, 0, 0}, {128, 2048, 4377, 0, 0, 0, 0}, {48, 768, 64, 1024, 4378, 0, 0}, {160, 2560, 4379, 0, 0, 0, 0}, {32, 512, 80, 1280, 4380, 0, 0}, {192, 3072, 4381, 0, 0, 0, 0}, {240, 3840, 4382, 0, 0, 0, 0}, {32, 512, 64, 1024, 4383, 0, 0}, {32, 512, 4352, 0, 0, 0, 0}, {48, 771, 4369, 0, 0, 0, 0}, {4386, 0, 0, 0, 0, 0, 0}, {16, 259, 0, 0, 0, 0, 0}, {96, 1548, 4388, 0, 0, 0, 0}, {112, 1807, 4389, 0, 0, 0, 0}, {64, 1036, 4390, 0, 0, 0, 0}, {80, 1295, 4391, 0, 0, 0, 0}, {160, 2560, 4392, 0, 0, 0, 0}, {48, 771, 64, 1036, 4377, 0, 0}, {128, 2048, 4394, 0, 0, 0, 0}, {48, 771, 80, 1295, 4379, 0, 0}, {32, 512, 64, 1036, 4364, 0, 0}, {240, 3855, 4397, 0, 0, 0, 0}, {192, 3084, 4398, 0, 0, 0, 0}, {32, 512, 80, 1295, 4367, 0, 0}, {48, 768, 4352, 0, 0, 0, 0}, {32, 514, 4369, 0, 0, 0, 0}, {16, 258, 0, 0, 0, 0, 0}, {4403, 0, 0, 0, 0, 0, 0}, {112, 1800, 4404, 0, 0, 0, 0}, {96, 1546, 4405, 0, 0, 0, 0}, {80, 1290, 4406, 0, 0, 0, 0}, {64, 1032, 4407, 0, 0, 0, 0}, {48, 768, 64, 1032, 4360, 0, 0}, {160, 2570, 4409, 0, 0, 0, 0}, {48, 768, 80, 1290, 4362, 0, 0}, {128, 2056, 4411, 0, 0, 0, 0}, {240, 3840, 4412, 0, 0, 0, 0}, {32, 514, 64, 1032, 4381, 0, 0}, {32, 514, 80, 1290, 4382, 0, 0}, {192, 3072, 4415, 0, 0, 0, 0}, {64, 1024, 4352, 0, 0, 0, 0}, {80, 1285, 4369, 0, 0, 0, 0}, {96, 1546, 4386, 0, 0, 0, 0}, {112, 1807, 4403, 0, 0, 0, 0}, {4420, 0, 0, 0, 0, 0, 0}, {16, 261, 0, 0, 0, 0, 0}, {32, 522, 4422, 0, 0, 0, 0}, {48, 783, 4423, 0, 0, 0, 0}, {192, 3072, 4424, 0, 0, 0, 0}, {32, 522, 80, 1285, 4377, 0, 0}, {32, 522, 64, 1024, 4362, 0, 0}, {240, 3855, 4427, 0, 0, 0, 0}, {128, 2048, 4428, 0, 0, 0, 0}, {48, 783, 80, 1285, 4381, 0, 0}, {160, 2570, 4430, 0, 0, 0, 0}, {48, 783, 64, 1024, 4367, 0, 0}, {80, 1280, 4352, 0, 0, 0, 0}, {64, 1028, 4369, 0, 0, 0, 0}, {112, 1800, 4386, 0, 0, 0, 0}, {96, 1548, 4403, 0, 0, 0, 0}, {16, 260, 0, 0, 0, 0, 0}, {4437, 0, 0, 0, 0, 0, 0}, {48, 780, 4438, 0, 0, 0, 0}, {32, 520, 4439, 0, 0, 0, 0}, {32, 520, 80, 1280, 4360, 0, 0}, {192, 3084, 4441, 0, 0, 0, 0}, {240, 3840, 4442, 0, 0, 0, 0}, {32, 520, 64, 1028, 4379, 0, 0}, {48, 780, 80, 1280, 4364, 0, 0}, {128, 2056, 4445, 0, 0, 0, 0}, {48, 780, 64, 1028, 4382, 0, 0}, {160, 2560, 4447, 0, 0, 0, 0}, {96, 1536, 4352, 0, 0, 0, 0}, {112, 1799, 4369, 0, 0, 0, 0}, {64, 1032, 4386, 0, 0, 0, 0}, {80, 1295, 4403, 0, 0, 0, 0}, {32, 520, 4420, 0, 0, 0, 0}, {48, 783, 4437, 0, 0, 0, 0}, {4454, 0, 0, 0, 0, 0, 0}, {16, 263, 0, 0, 0, 0, 0}, {32, 520, 64, 1032, 4360, 0, 0}, {240, 3855, 4457, 0, 0, 0, 0}, {192, 3072, 4458, 0, 0, 0, 0}, {32, 520, 80, 1295, 4379, 0, 0}, {160, 2560, 4460, 0, 0, 0, 0}, {48, 783, 64, 1032, 4381, 0, 0}, {128, 2056, 4462, 0, 0, 0, 0}, {48, 783, 80, 1295, 4367, 0, 0}, {112, 1792, 4352, 0, 0, 0, 0}, {96, 1542, 4369, 0, 0, 0, 0}, {80, 1290, 4386, 0, 0, 0, 0}, {64, 1036, 4403, 0, 0, 0, 0}, {48, 780, 4420, 0, 0, 0, 0}, {32, 522, 4437, 0, 0, 0, 0}, {16, 262, 0, 0, 0, 0, 0}, {4471, 0, 0, 0, 0, 0, 0}, {240, 3840, 4472, 0, 0, 0, 0}, {32, 522, 64, 1036, 4377, 0, 0}, {32, 522, 80, 1290, 4362, 0, 0}, {192, 3084, 4475, 0, 0, 0, 0}, {48, 780, 64, 1036, 4364, 0, 0}, {160, 2570, 4477, 0, 0, 0, 0}, {48, 780, 80, 1290, 4382, 0, 0}, {128, 2048, 4479, 0, 0, 0, 0}, {128, 2048, 4352, 0, 0, 0, 0}, {48, 771, 80, 1285, 4369, 0, 0}, {160, 2570, 4386, 0, 0, 0, 0}, {48, 771, 64, 1036, 4355, 0, 0}, {192, 3084, 4420, 0, 0, 0, 0}, {32, 522, 80, 1285, 4357, 0, 0}, {32, 522, 64, 1036, 4358, 0, 0}, {240, 3855, 4471, 0, 0, 0, 0}, {4488, 13056, 21760, 0, 0, 0, 0}, {265, 771, 1285, 16, 0, 0, 0}, {32, 522, 4362, 0, 0, 0, 0}, {48, 771, 4427, 0, 0, 0, 0}, {64, 1036, 4364, 0, 0, 0, 0}, {80, 1285, 4397, 0, 0, 0, 0}, {96, 1542, 4398, 0, 0, 0, 0}, {112, 1807, 4367, 0, 0, 0, 0}, {48, 768, 80, 1280, 4352, 0, 0}, {128, 2056, 4369, 0, 0, 0, 0}, {48, 768, 64, 1032, 4370, 0, 0}, {160, 2560, 4403, 0, 0, 0, 0}, {32, 520, 80, 1280, 4372, 0, 0}, {192, 3072, 4437, 0, 0, 0, 0}, {240, 3840, 4454, 0, 0, 0, 0}, {32, 520, 64, 1032, 4375, 0, 0}, {264, 768, 1280, 16, 0, 0, 0}, {4505, 13107, 21845, 0, 0, 0, 0}, {48, 768, 4442, 0, 0, 0, 0}, {32, 520, 4379, 0, 0, 0, 0}, {80, 1280, 4412, 0, 0, 0, 0}, {64, 1032, 4381, 0, 0, 0, 0}, {112, 1800, 4382, 0, 0, 0, 0}, {96, 1536, 4415, 0, 0, 0, 0}, {160, 2560, 4352, 0, 0, 0, 0}, {48, 771, 64, 1028, 4369, 0, 0}, {128, 2056, 4386, 0, 0, 0, 0}, {48, 771, 80, 1295, 4355, 0, 0}, {32, 520, 64, 1028, 4356, 0, 0}, {240, 3855, 4437, 0, 0, 0, 0}, {192, 3084, 4454, 0, 0, 0, 0}, {32, 520, 80, 1295, 4359, 0, 0}, {32, 520, 4360, 0, 0, 0, 0}, {48, 771, 4441, 0, 0, 0, 0}, {4522, 13056, 17408, 0, 0, 0, 0}, {267, 771, 1028, 16, 0, 0, 0}, {96, 1548, 4364, 0, 0, 0, 0}, {112, 1799, 4397, 0, 0, 0, 0}, {64, 1028, 4398, 0, 0, 0, 0}, {80, 1295, 4367, 0, 0, 0, 0}, {48, 768, 64, 1024, 4352, 0, 0}, {160, 2570, 4369, 0, 0, 0, 0}, {48, 768, 80, 1290, 4370, 0, 0}, {128, 2048, 4403, 0, 0, 0, 0}, {240, 3840, 4420, 0, 0, 0, 0}, {32, 522, 64, 1024, 4373, 0, 0}, {32, 522, 80, 1290, 4374, 0, 0}, {192, 3072, 4471, 0, 0, 0, 0}, {48, 768, 4424, 0, 0, 0, 0}, {32, 522, 4377, 0, 0, 0, 0}, {266, 768, 1024, 16, 0, 0, 0}, {4539, 13107, 17476, 0, 0, 0, 0}, {112, 1792, 4412, 0, 0, 0, 0}, {96, 1546, 4381, 0, 0, 0, 0}, {80, 1290, 4382, 0, 0, 0, 0}, {64, 1024, 4415, 0, 0, 0, 0}, {192, 3072, 4352, 0, 0, 0, 0}, {32, 514, 80, 1285, 4369, 0, 0}, {32, 514, 64, 1032, 4354, 0, 0}, {240, 3855, 4403, 0, 0, 0, 0}, {128, 2056, 4420, 0, 0, 0, 0}, {48, 783, 80, 1285, 4357, 0, 0}, {160, 2570, 4454, 0, 0, 0, 0}, {48, 783, 64, 1032, 4359, 0, 0}, {64, 1032, 4360, 0, 0, 0, 0}, {80, 1285, 4409, 0, 0, 0, 0}, {96, 1546, 4362, 0, 0, 0, 0}, {112, 1799, 4411, 0, 0, 0, 0}, {4556, 8704, 21760, 0, 0, 0, 0}, {269, 514, 1285, 16, 0, 0, 0}, {32, 514, 4430, 0, 0, 0, 0}, {48, 783, 4367, 0, 0, 0, 0}, {32, 512, 80, 1280, 4352, 0, 0}, {192, 3084, 4369, 0, 0, 0, 0}, {240, 3840, 4386, 0, 0, 0, 0}, {32, 512, 64, 1036, 4371, 0, 0}, {48, 780, 80, 1280, 4372, 0, 0}, {128, 2048, 4437, 0, 0, 0, 0}, {48, 780, 64, 1036, 4374, 0, 0}, {160, 2560, 4471, 0, 0, 0, 0}, {80, 1280, 4392, 0, 0, 0, 0}, {64, 1036, 4377, 0, 0, 0, 0}, {112, 1792, 4394, 0, 0, 0, 0}, {96, 1548, 4379, 0, 0, 0, 0}, {268, 512, 1280, 16, 0, 0, 0}, {4573, 8738, 21845, 0, 0, 0, 0}, {48, 780, 4382, 0, 0, 0, 0}, {32, 512, 4447, 0, 0, 0, 0}, {32, 512, 64, 1024, 4352, 0, 0}, {240, 3855, 4369, 0, 0, 0, 0}, {192, 3072, 4386, 0, 0, 0, 0}, {32, 512, 80, 1295, 4371, 0, 0}, {160, 2560, 4420, 0, 0, 0, 0}, {48, 783, 64, 1024, 4373, 0, 0}, {128, 2048, 4454, 0, 0, 0, 0}, {48, 783, 80, 1295, 4375, 0, 0}, {96, 1536, 4392, 0, 0, 0, 0}, {112, 1807, 4377, 0, 0, 0, 0}, {64, 1024, 4394, 0, 0, 0, 0}, {80, 1295, 4379, 0, 0, 0, 0}, {32, 512, 4428, 0, 0, 0, 0}, {48, 783, 4381, 0, 0, 0, 0}, {4590, 8738, 17476, 0, 0, 0, 0}, {271, 512, 1024, 16, 0, 0, 0}, {240, 3840, 4352, 0, 0, 0, 0}, {32, 514, 64, 1028, 4369, 0, 0}, {32, 514, 80, 1290, 4354, 0, 0}, {192, 3084, 4403, 0, 0, 0, 0}, {48, 780, 64, 1028, 4356, 0, 0}, {160, 2570, 4437, 0, 0, 0, 0}, {48, 780, 80, 1290, 4358, 0, 0}, {128, 2056, 4471, 0, 0, 0, 0}, {112, 1800, 4360, 0, 0, 0, 0}, {96, 1542, 4409, 0, 0, 0, 0}, {80, 1290, 4362, 0, 0, 0, 0}, {64, 1028, 4411, 0, 0, 0, 0}, {48, 780, 4364, 0, 0, 0, 0}, {32, 514, 4445, 0, 0, 0, 0}, {270, 514, 1028, 16, 0, 0, 0}, {4607, 8704, 17408, 0, 0, 0, 0}, {4608, 0, 0, 0, 0, 0, 0}, {19, 257, 0, 0, 0, 0, 0}, {32, 514, 4096, 0, 0, 0, 0}, {51, 771, 4352, 0, 0, 0, 0}, {76, 1028, 4612, 0, 0, 0, 0}, {95, 1285, 4613, 0, 0, 0, 0}, {108, 1542, 4614, 0, 0, 0, 0}, {127, 1799, 4615, 0, 0, 0, 0}, {128, 2056, 4616, 0, 0, 0, 0}, {51, 771, 95, 1285, 4362, 0, 0}, {160, 2570, 4618, 0, 0, 0, 0}, {51, 771, 76, 1028, 4360, 0, 0}, {204, 3084, 4620, 0, 0, 0, 0}, {32, 514, 95, 1285, 4111, 0, 0}, {32, 514, 76, 1028, 4108, 0, 0}, {255, 3855, 4623, 0, 0, 0, 0}, {32, 512, 4112, 0, 0, 0, 0}, {51, 768, 4369, 0, 0, 0, 0}, {4626, 0, 0, 0, 0, 0, 0}, {19, 256, 0, 0, 0, 0, 0}, {108, 1536, 4628, 0, 0, 0, 0}, {127, 1792, 4629, 0, 0, 0, 0}, {76, 1024, 4630, 0, 0, 0, 0}, {95, 1280, 4631, 0, 0, 0, 0}, {160, 2560, 4632, 0, 0, 0, 0}, {51, 768, 76, 1024, 4377, 0, 0}, {128, 2048, 4634, 0, 0, 0, 0}, {51, 768, 95, 1280, 4379, 0, 0}, {32, 512, 76, 1024, 4124, 0, 0}, {255, 3840, 4637, 0, 0, 0, 0}, {204, 3072, 4638, 0, 0, 0, 0}, {32, 512, 95, 1280, 4127, 0, 0}, {32, 512, 4096, 0, 0, 0, 0}, {51, 771, 4369, 0, 0, 0, 0}, {4642, 0, 0, 0, 0, 0, 0}, {19, 259, 0, 0, 0, 0, 0}, {108, 1548, 4644, 0, 0, 0, 0}, {127, 1807, 4645, 0, 0, 0, 0}, {76, 1036, 4646, 0, 0, 0, 0}, {95, 1295, 4647, 0, 0, 0, 0}, {160, 2560, 4648, 0, 0, 0, 0}, {51, 771, 76, 1036, 4377, 0, 0}, {128, 2048, 4650, 0, 0, 0, 0}, {51, 771, 95, 1295, 4379, 0, 0}, {32, 512, 76, 1036, 4108, 0, 0}, {255, 3855, 4653, 0, 0, 0, 0}, {204, 3084, 4654, 0, 0, 0, 0}, {32, 512, 95, 1295, 4111, 0, 0}, {4656, 0, 0, 0, 0, 0, 0}, {19, 258, 0, 0, 0, 0, 0}, {32, 514, 4112, 0, 0, 0, 0}, {51, 768, 4352, 0, 0, 0, 0}, {76, 1032, 4660, 0, 0, 0, 0}, {95, 1290, 4661, 0, 0, 0, 0}, {108, 1546, 4662, 0, 0, 0, 0}, {127, 1800, 4663, 0, 0, 0, 0}, {128, 2056, 4664, 0, 0, 0, 0}, {51, 768, 95, 1290, 4362, 0, 0}, {160, 2570, 4666, 0, 0, 0, 0}, {51, 768, 76, 1032, 4360, 0, 0}, {204, 3072, 4668, 0, 0, 0, 0}, {32, 514, 95, 1290, 4127, 0, 0}, {32, 514, 76, 1032, 4124, 0, 0}, {255, 3840, 4671, 0, 0, 0, 0}, {128, 2048, 4672, 0, 0, 0, 0}, {51, 783, 95, 1285, 4369, 0, 0}, {160, 2570, 4674, 0, 0, 0, 0}, {51, 783, 76, 1024, 4352, 0, 0}, {204, 3072, 4676, 0, 0, 0, 0}, {32, 522, 95, 1285, 4112, 0, 0}, {32, 522, 76, 1024, 4096, 0, 0}, {255, 3855, 4679, 0, 0, 0, 0}, {4680, 0, 0, 0, 0, 0, 0}, {19, 261, 0, 0, 0, 0, 0}, {32, 522, 4160, 0, 0, 0, 0}, {51, 783, 4420, 0, 0, 0, 0}, {76, 1024, 4608, 0, 0, 0, 0}, {95, 1285, 4626, 0, 0, 0, 0}, {108, 1546, 4642, 0, 0, 0, 0}, {127, 1807, 4656, 0, 0, 0, 0}, {160, 2560, 4688, 0, 0, 0, 0}, {51, 780, 76, 1028, 4369, 0, 0}, {128, 2056, 4690, 0, 0, 0, 0}, {51, 780, 95, 1280, 4352, 0, 0}, {32, 520, 76, 1028, 4112, 0, 0}, {255, 3840, 4693, 0, 0, 0, 0}, {204, 3084, 4694, 0, 0, 0, 0}, {32, 520, 95, 1280, 4096, 0, 0}, {32, 520, 4176, 0, 0, 0, 0}, {51, 780, 4437, 0, 0, 0, 0}, {4698, 0, 0, 0, 0, 0, 0}, {19, 260, 0, 0, 0, 0, 0}, {108, 1548, 4656, 0, 0, 0, 0}, {127, 1800, 4642, 0, 0, 0, 0}, {76, 1028, 4626, 0, 0, 0, 0}, {95, 1280, 4608, 0, 0, 0, 0}, {160, 2560, 4704, 0, 0, 0, 0}, {51, 783, 76, 1032, 4369, 0, 0}, {128, 2056, 4706, 0, 0, 0, 0}, {51, 783, 95, 1295, 4352, 0, 0}, {32, 520, 76, 1032, 4096, 0, 0}, {255, 3855, 4709, 0, 0, 0, 0}, {204, 3072, 4710, 0, 0, 0, 0}, {32, 520, 95, 1295, 4112, 0, 0}, {32, 520, 4160, 0, 0, 0, 0}, {51, 783, 4437, 0, 0, 0, 0}, {4714, 0, 0, 0, 0, 0, 0}, {19, 263, 0, 0, 0, 0, 0}, {108, 1536, 4608, 0, 0, 0, 0}, {127, 1799, 4626, 0, 0, 0, 0}, {76, 1032, 4642, 0, 0, 0, 0}, {95, 1295, 4656, 0, 0, 0, 0}, {128, 2048, 4720, 0, 0, 0, 0}, {51, 780, 95, 1290, 4369, 0, 0}, {160, 2570, 4722, 0, 0, 0, 0}, {51, 780, 76, 1036, 4352, 0, 0}, {204, 3084, 4724, 0, 0, 0, 0}, {32, 522, 95, 1290, 4096, 0, 0}, {32, 522, 76, 1036, 4112, 0, 0}, {255, 3840, 4727, 0, 0, 0, 0}, {4728, 0, 0, 0, 0, 0, 0}, {19, 262, 0, 0, 0, 0, 0}, {32, 522, 4176, 0, 0, 0, 0}, {51, 780, 4420, 0, 0, 0, 0}, {76, 1036, 4656, 0, 0, 0, 0}, {95, 1290, 4642, 0, 0, 0, 0}, {108, 1542, 4626, 0, 0, 0, 0}, {127, 1792, 4608, 0, 0, 0, 0}, {128, 2048, 4608, 0, 0, 0, 0}, {51, 771, 95, 1285, 4369, 0, 0}, {160, 2570, 4642, 0, 0, 0, 0}, {51, 771, 76, 1036, 4352, 0, 0}, {204, 3084, 4680, 0, 0, 0, 0}, {32, 522, 95, 1285, 4111, 0, 0}, {32, 522, 76, 1036, 4108, 0, 0}, {255, 3855, 4728, 0, 0, 0, 0}, {4744, 12288, 23040, 0, 0, 0, 0}, {265, 771, 1285, 19, 0, 0, 0}, {32, 522, 4096, 0, 0, 0, 0}, {51, 771, 4420, 0, 0, 0, 0}, {76, 1036, 4620, 0, 0, 0, 0}, {95, 1285, 4653, 0, 0, 0, 0}, {108, 1542, 4654, 0, 0, 0, 0}, {127, 1807, 4623, 0, 0, 0, 0}, {160, 2560, 4656, 0, 0, 0, 0}, {51, 768, 76, 1032, 4369, 0, 0}, {128, 2056, 4626, 0, 0, 0, 0}, {51, 768, 95, 1280, 4352, 0, 0}, {32, 520, 76, 1032, 4124, 0, 0}, {255, 3840, 4714, 0, 0, 0, 0}, {204, 3072, 4698, 0, 0, 0, 0}, {32, 520, 95, 1280, 4127, 0, 0}, {32, 520, 4112, 0, 0, 0, 0}, {51, 768, 4437, 0, 0, 0, 0}, {4762, 12336, 23130, 0, 0, 0, 0}, {264, 768, 1280, 19, 0, 0, 0}, {108, 1536, 4668, 0, 0, 0, 0}, {127, 1800, 4637, 0, 0, 0, 0}, {76, 1032, 4638, 0, 0, 0, 0}, {95, 1280, 4671, 0, 0, 0, 0}, {160, 2560, 4608, 0, 0, 0, 0}, {51, 771, 76, 1028, 4369, 0, 0}, {128, 2056, 4642, 0, 0, 0, 0}, {51, 771, 95, 1295, 4352, 0, 0}, {32, 520, 76, 1028, 4108, 0, 0}, {255, 3855, 4698, 0, 0, 0, 0}, {204, 3084, 4714, 0, 0, 0, 0}, {32, 520, 95, 1295, 4111, 0, 0}, {32, 520, 4096, 0, 0, 0, 0}, {51, 771, 4437, 0, 0, 0, 0}, {4778, 12288, 18432, 0, 0, 0, 0}, {267, 771, 1028, 19, 0, 0, 0}, {108, 1548, 4620, 0, 0, 0, 0}, {127, 1799, 4653, 0, 0, 0, 0}, {76, 1028, 4654, 0, 0, 0, 0}, {95, 1295, 4623, 0, 0, 0, 0}, {128, 2048, 4656, 0, 0, 0, 0}, {51, 768, 95, 1290, 4369, 0, 0}, {160, 2570, 4626, 0, 0, 0, 0}, {51, 768, 76, 1024, 4352, 0, 0}, {204, 3072, 4728, 0, 0, 0, 0}, {32, 522, 95, 1290, 4127, 0, 0}, {32, 522, 76, 1024, 4124, 0, 0}, {255, 3840, 4680, 0, 0, 0, 0}, {4792, 12336, 18504, 0, 0, 0, 0}, {266, 768, 1024, 19, 0, 0, 0}, {32, 522, 4112, 0, 0, 0, 0}, {51, 768, 4420, 0, 0, 0, 0}, {76, 1024, 4668, 0, 0, 0, 0}, {95, 1290, 4637, 0, 0, 0, 0}, {108, 1546, 4638, 0, 0, 0, 0}, {127, 1792, 4671, 0, 0, 0, 0}, {4800, 8704, 23040, 0, 0, 0, 0}, {269, 514, 1285, 19, 0, 0, 0}, {32, 514, 4160, 0, 0, 0, 0}, {51, 783, 4352, 0, 0, 0, 0}, {76, 1032, 4616, 0, 0, 0, 0}, {95, 1285, 4666, 0, 0, 0, 0}, {108, 1546, 4618, 0, 0, 0, 0}, {127, 1799, 4664, 0, 0, 0, 0}, {128, 2056, 4680, 0, 0, 0, 0}, {51, 783, 95, 1285, 4362, 0, 0}, {160, 2570, 4714, 0, 0, 0, 0}, {51, 783, 76, 1032, 4360, 0, 0}, {204, 3072, 4608, 0, 0, 0, 0}, {32, 514, 95, 1285, 4112, 0, 0}, {32, 514, 76, 1032, 4096, 0, 0}, {255, 3855, 4656, 0, 0, 0, 0}, {32, 512, 4176, 0, 0, 0, 0}, {51, 780, 4369, 0, 0, 0, 0}, {4818, 8738, 23130, 0, 0, 0, 0}, {268, 512, 1280, 19, 0, 0, 0}, {108, 1548, 4632, 0, 0, 0, 0}, {127, 1792, 4650, 0, 0, 0, 0}, {76, 1036, 4634, 0, 0, 0, 0}, {95, 1280, 4648, 0, 0, 0, 0}, {160, 2560, 4728, 0, 0, 0, 0}, {51, 780, 76, 1036, 4377, 0, 0}, {128, 2048, 4698, 0, 0, 0, 0}, {51, 780, 95, 1280, 4379, 0, 0}, {32, 512, 76, 1036, 4112, 0, 0}, {255, 3840, 4642, 0, 0, 0, 0}, {204, 3084, 4626, 0, 0, 0, 0}, {32, 512, 95, 1280, 4096, 0, 0}, {32, 512, 4160, 0, 0, 0, 0}, {51, 783, 4369, 0, 0, 0, 0}, {4834, 8738, 18504, 0, 0, 0, 0}, {271, 512, 1024, 19, 0, 0, 0}, {108, 1536, 4648, 0, 0, 0, 0}, {127, 1807, 4634, 0, 0, 0, 0}, {76, 1024, 4650, 0, 0, 0, 0}, {95, 1295, 4632, 0, 0, 0, 0}, {160, 2560, 4680, 0, 0, 0, 0}, {51, 783, 76, 1024, 4377, 0, 0}, {128, 2048, 4714, 0, 0, 0, 0}, {51, 783, 95, 1295, 4379, 0, 0}, {32, 512, 76, 1024, 4096, 0, 0}, {255, 3855, 4626, 0, 0, 0, 0}, {204, 3072, 4642, 0, 0, 0, 0}, {32, 512, 95, 1295, 4112, 0, 0}, {4848, 8704, 18432, 0, 0, 0, 0}, {270, 514, 1028, 19, 0, 0, 0}, {32, 514, 4176, 0, 0, 0, 0}, {51, 780, 4352, 0, 0, 0, 0}, {76, 1028, 4664, 0, 0, 0, 0}, {95, 1290, 4618, 0, 0, 0, 0}, {108, 1542, 4666, 0, 0, 0, 0}, {127, 1800, 4616, 0, 0, 0, 0}, {128, 2056, 4728, 0, 0, 0, 0}, {51, 780, 95, 1290, 4362, 0, 0}, {160, 2570, 4698, 0, 0, 0, 0}, {51, 780, 76, 1028, 4360, 0, 0}, {204, 3084, 4656, 0, 0, 0, 0}, {32, 514, 95, 1290, 4096, 0, 0}, {32, 514, 76, 1028, 4112, 0, 0}, {255, 3840, 4608, 0, 0, 0, 0}, {4864, 0, 0, 0, 0, 0, 0}, {18, 257, 0, 0, 0, 0, 0}, {34, 514, 4352, 0, 0, 0, 0}, {48, 771, 4096, 0, 0, 0, 0}, {72, 1028, 4868, 0, 0, 0, 0}, {90, 1285, 4869, 0, 0, 0, 0}, {106, 1542, 4870, 0, 0, 0, 0}, {120, 1799, 4871, 0, 0, 0, 0}, {136, 2056, 4872, 0, 0, 0, 0}, {48, 771, 90, 1285, 4106, 0, 0}, {170, 2570, 4874, 0, 0, 0, 0}, {48, 771, 72, 1028, 4104, 0, 0}, {192, 3084, 4876, 0, 0, 0, 0}, {34, 514, 90, 1285, 4367, 0, 0}, {34, 514, 72, 1028, 4364, 0, 0}, {240, 3855, 4879, 0, 0, 0, 0}, {48, 768, 4112, 0, 0, 0, 0}, {34, 512, 4369, 0, 0, 0, 0}, {18, 256, 0, 0, 0, 0, 0}, {4883, 0, 0, 0, 0, 0, 0}, {120, 1792, 4884, 0, 0, 0, 0}, {106, 1536, 4885, 0, 0, 0, 0}, {90, 1280, 4886, 0, 0, 0, 0}, {72, 1024, 4887, 0, 0, 0, 0}, {48, 768, 72, 1024, 4120, 0, 0}, {170, 2560, 4889, 0, 0, 0, 0}, {48, 768, 90, 1280, 4122, 0, 0}, {136, 2048, 4891, 0, 0, 0, 0}, {240, 3840, 4892, 0, 0, 0, 0}, {34, 512, 72, 1024, 4381, 0, 0}, {34, 512, 90, 1280, 4382, 0, 0}, {192, 3072, 4895, 0, 0, 0, 0}, {4896, 0, 0, 0, 0, 0, 0}, {18, 259, 0, 0, 0, 0, 0}, {34, 512, 4352, 0, 0, 0, 0}, {48, 771, 4112, 0, 0, 0, 0}, {72, 1036, 4900, 0, 0, 0, 0}, {90, 1295, 4901, 0, 0, 0, 0}, {106, 1548, 4902, 0, 0, 0, 0}, {120, 1807, 4903, 0, 0, 0, 0}, {136, 2048, 4904, 0, 0, 0, 0}, {48, 771, 90, 1295, 4122, 0, 0}, {170, 2560, 4906, 0, 0, 0, 0}, {48, 771, 72, 1036, 4120, 0, 0}, {192, 3084, 4908, 0, 0, 0, 0}, {34, 512, 90, 1295, 4367, 0, 0}, {34, 512, 72, 1036, 4364, 0, 0}, {240, 3855, 4911, 0, 0, 0, 0}, {48, 768, 4096, 0, 0, 0, 0}, {34, 514, 4369, 0, 0, 0, 0}, {18, 258, 0, 0, 0, 0, 0}, {4915, 0, 0, 0, 0, 0, 0}, {120, 1800, 4916, 0, 0, 0, 0}, {106, 1546, 4917, 0, 0, 0, 0}, {90, 1290, 4918, 0, 0, 0, 0}, {72, 1032, 4919, 0, 0, 0, 0}, {48, 768, 72, 1032, 4104, 0, 0}, {170, 2570, 4921, 0, 0, 0, 0}, {48, 768, 90, 1290, 4106, 0, 0}, {136, 2056, 4923, 0, 0, 0, 0}, {240, 3840, 4924, 0, 0, 0, 0}, {34, 514, 72, 1032, 4381, 0, 0}, {34, 514, 90, 1290, 4382, 0, 0}, {192, 3072, 4927, 0, 0, 0, 0}, {192, 3072, 4928, 0, 0, 0, 0}, {34, 522, 90, 1285, 4369, 0, 0}, {34, 522, 72, 1024, 4352, 0, 0}, {240, 3855, 4931, 0, 0, 0, 0}, {136, 2048, 4932, 0, 0, 0, 0}, {48, 783, 90, 1285, 4112, 0, 0}, {170, 2570, 4934, 0, 0, 0, 0}, {48, 783, 72, 1024, 4096, 0, 0}, {72, 1024, 4864, 0, 0, 0, 0}, {90, 1285, 4883, 0, 0, 0, 0}, {106, 1546, 4896, 0, 0, 0, 0}, {120, 1807, 4915, 0, 0, 0, 0}, {4940, 0, 0, 0, 0, 0, 0}, {18, 261, 0, 0, 0, 0, 0}, {34, 522, 4420, 0, 0, 0, 0}, {48, 783, 4160, 0, 0, 0, 0}, {240, 3840, 4944, 0, 0, 0, 0}, {34, 520, 72, 1028, 4369, 0, 0}, {34, 520, 90, 1280, 4352, 0, 0}, {192, 3084, 4947, 0, 0, 0, 0}, {48, 780, 72, 1028, 4112, 0, 0}, {170, 2560, 4949, 0, 0, 0, 0}, {48, 780, 90, 1280, 4096, 0, 0}, {136, 2056, 4951, 0, 0, 0, 0}, {120, 1800, 4896, 0, 0, 0, 0}, {106, 1548, 4915, 0, 0, 0, 0}, {90, 1280, 4864, 0, 0, 0, 0}, {72, 1028, 4883, 0, 0, 0, 0}, {48, 780, 4176, 0, 0, 0, 0}, {34, 520, 4437, 0, 0, 0, 0}, {18, 260, 0, 0, 0, 0, 0}, {4959, 0, 0, 0, 0, 0, 0}, {192, 3072, 4960, 0, 0, 0, 0}, {34, 520, 90, 1295, 4369, 0, 0}, {34, 520, 72, 1032, 4352, 0, 0}, {240, 3855, 4963, 0, 0, 0, 0}, {136, 2056, 4964, 0, 0, 0, 0}, {48, 783, 90, 1295, 4096, 0, 0}, {170, 2560, 4966, 0, 0, 0, 0}, {48, 783, 72, 1032, 4112, 0, 0}, {72, 1032, 4896, 0, 0, 0, 0}, {90, 1295, 4915, 0, 0, 0, 0}, {106, 1536, 4864, 0, 0, 0, 0}, {120, 1799, 4883, 0, 0, 0, 0}, {4972, 0, 0, 0, 0, 0, 0}, {18, 263, 0, 0, 0, 0, 0}, {34, 520, 4420, 0, 0, 0, 0}, {48, 783, 4176, 0, 0, 0, 0}, {240, 3840, 4976, 0, 0, 0, 0}, {34, 522, 72, 1036, 4369, 0, 0}, {34, 522, 90, 1290, 4352, 0, 0}, {192, 3084, 4979, 0, 0, 0, 0}, {48, 780, 72, 1036, 4096, 0, 0}, {170, 2570, 4981, 0, 0, 0, 0}, {48, 780, 90, 1290, 4112, 0, 0}, {136, 2048, 4983, 0, 0, 0, 0}, {120, 1792, 4864, 0, 0, 0, 0}, {106, 1542, 4883, 0, 0, 0, 0}, {90, 1290, 4896, 0, 0, 0, 0}, {72, 1036, 4915, 0, 0, 0, 0}, {48, 780, 4160, 0, 0, 0, 0}, {34, 522, 4437, 0, 0, 0, 0}, {18, 262, 0, 0, 0, 0, 0}, {4991, 0, 0, 0, 0, 0, 0}, {4992, 13056, 24320, 0, 0, 0, 0}, {265, 771, 1285, 18, 0, 0, 0}, {34, 522, 4352, 0, 0, 0, 0}, {48, 771, 4160, 0, 0, 0, 0}, {72, 1036, 4876, 0, 0, 0, 0}, {90, 1285, 4911, 0, 0, 0, 0}, {106, 1542, 4908, 0, 0, 0, 0}, {120, 1807, 4879, 0, 0, 0, 0}, {136, 2048, 4864, 0, 0, 0, 0}, {48, 771, 90, 1285, 4112, 0, 0}, {170, 2570, 4896, 0, 0, 0, 0}, {48, 771, 72, 1036, 4096, 0, 0}, {192, 3084, 4940, 0, 0, 0, 0}, {34, 522, 90, 1285, 4367, 0, 0}, {34, 522, 72, 1036, 4364, 0, 0}, {240, 3855, 4991, 0, 0, 0, 0}, {48, 768, 4176, 0, 0, 0, 0}, {34, 520, 4369, 0, 0, 0, 0}, {264, 768, 1280, 18, 0, 0, 0}, {5011, 13107, 24415, 0, 0, 0, 0}, {120, 1800, 4892, 0, 0, 0, 0}, {106, 1536, 4927, 0, 0, 0, 0}, {90, 1280, 4924, 0, 0, 0, 0}, {72, 1032, 4895, 0, 0, 0, 0}, {48, 768, 72, 1032, 4112, 0, 0}, {170, 2560, 4915, 0, 0, 0, 0}, {48, 768, 90, 1280, 4096, 0, 0}, {136, 2056, 4883, 0, 0, 0, 0}, {240, 3840, 4972, 0, 0, 0, 0}, {34, 520, 72, 1032, 4381, 0, 0}, {34, 520, 90, 1280, 4382, 0, 0}, {192, 3072, 4959, 0, 0, 0, 0}, {5024, 13056, 19456, 0, 0, 0, 0}, {267, 771, 1028, 18, 0, 0, 0}, {34, 520, 4352, 0, 0, 0, 0}, {48, 771, 4176, 0, 0, 0, 0}, {72, 1028, 4908, 0, 0, 0, 0}, {90, 1295, 4879, 0, 0, 0, 0}, {106, 1548, 4876, 0, 0, 0, 0}, {120, 1799, 4911, 0, 0, 0, 0}, {136, 2056, 4896, 0, 0, 0, 0}, {48, 771, 90, 1295, 4096, 0, 0}, {170, 2560, 4864, 0, 0, 0, 0}, {48, 771, 72, 1028, 4112, 0, 0}, {192, 3084, 4972, 0, 0, 0, 0}, {34, 520, 90, 1295, 4367, 0, 0}, {34, 520, 72, 1028, 4364, 0, 0}, {240, 3855, 4959, 0, 0, 0, 0}, {48, 768, 4160, 0, 0, 0, 0}, {34, 522, 4369, 0, 0, 0, 0}, {266, 768, 1024, 18, 0, 0, 0}, {5043, 13107, 19532, 0, 0, 0, 0}, {120, 1792, 4924, 0, 0, 0, 0}, {106, 1546, 4895, 0, 0, 0, 0}, {90, 1290, 4892, 0, 0, 0, 0}, {72, 1024, 4927, 0, 0, 0, 0}, {48, 768, 72, 1024, 4096, 0, 0}, {170, 2570, 4883, 0, 0, 0, 0}, {48, 768, 90, 1290, 4112, 0, 0}, {136, 2048, 4915, 0, 0, 0, 0}, {240, 3840, 4940, 0, 0, 0, 0}, {34, 522, 72, 1024, 4381, 0, 0}, {34, 522, 90, 1290, 4382, 0, 0}, {192, 3072, 4991, 0, 0, 0, 0}, {192, 3072, 4864, 0, 0, 0, 0}, {34, 514, 90, 1285, 4369, 0, 0}, {34, 514, 72, 1032, 4352, 0, 0}, {240, 3855, 4915, 0, 0, 0, 0}, {136, 2056, 4940, 0, 0, 0, 0}, {48, 783, 90, 1285, 4106, 0, 0}, {170, 2570, 4972, 0, 0, 0, 0}, {48, 783, 72, 1032, 4104, 0, 0}, {72, 1032, 4872, 0, 0, 0, 0}, {90, 1285, 4921, 0, 0, 0, 0}, {106, 1546, 4874, 0, 0, 0, 0}, {120, 1799, 4923, 0, 0, 0, 0}, {5068, 8192, 24320, 0, 0, 0, 0}, {269, 514, 1285, 18, 0, 0, 0}, {34, 514, 4420, 0, 0, 0, 0}, {48, 783, 4096, 0, 0, 0, 0}, {240, 3840, 4896, 0, 0, 0, 0}, {34, 512, 72, 1036, 4369, 0, 0}, {34, 512, 90, 1280, 4352, 0, 0}, {192, 3084, 4883, 0, 0, 0, 0}, {48, 780, 72, 1036, 4120, 0, 0}, {170, 2560, 4991, 0, 0, 0, 0}, {48, 780, 90, 1280, 4122, 0, 0}, {136, 2048, 4959, 0, 0, 0, 0}, {120, 1792, 4904, 0, 0, 0, 0}, {106, 1548, 4889, 0, 0, 0, 0}, {90, 1280, 4906, 0, 0, 0, 0}, {72, 1036, 4891, 0, 0, 0, 0}, {48, 780, 4112, 0, 0, 0, 0}, {34, 512, 4437, 0, 0, 0, 0}, {268, 512, 1280, 18, 0, 0, 0}, {5087, 8224, 24415, 0, 0, 0, 0}, {192, 3072, 4896, 0, 0, 0, 0}, {34, 512, 90, 1295, 4369, 0, 0}, {34, 512, 72, 1024, 4352, 0, 0}, {240, 3855, 4883, 0, 0, 0, 0}, {136, 2048, 4972, 0, 0, 0, 0}, {48, 783, 90, 1295, 4122, 0, 0}, {170, 2560, 4940, 0, 0, 0, 0}, {48, 783, 72, 1024, 4120, 0, 0}, {72, 1024, 4904, 0, 0, 0, 0}, {90, 1295, 4889, 0, 0, 0, 0}, {106, 1536, 4906, 0, 0, 0, 0}, {120, 1807, 4891, 0, 0, 0, 0}, {5100, 8224, 19532, 0, 0, 0, 0}, {271, 512, 1024, 18, 0, 0, 0}, {34, 512, 4420, 0, 0, 0, 0}, {48, 783, 4112, 0, 0, 0, 0}, {240, 3840, 4864, 0, 0, 0, 0}, {34, 514, 72, 1028, 4369, 0, 0}, {34, 514, 90, 1290, 4352, 0, 0}, {192, 3084, 4915, 0, 0, 0, 0}, {48, 780, 72, 1028, 4104, 0, 0}, {170, 2570, 4959, 0, 0, 0, 0}, {48, 780, 90, 1290, 4106, 0, 0}, {136, 2056, 4991, 0, 0, 0, 0}, {120, 1800, 4872, 0, 0, 0, 0}, {106, 1542, 4921, 0, 0, 0, 0}, {90, 1290, 4874, 0, 0, 0, 0}, {72, 1028, 4923, 0, 0, 0, 0}, {48, 780, 4096, 0, 0, 0, 0}, {34, 514, 4437, 0, 0, 0, 0}, {270, 514, 1028, 18, 0, 0, 0}, {5119, 8192, 19456, 0, 0, 0, 0}, {5120, 0, 0, 0, 0, 0, 0}, {21, 257, 0, 0, 0, 0, 0}, {42, 514, 5122, 0, 0, 0, 0}, {63, 771, 5123, 0, 0, 0, 0}, {64, 1028, 4096, 0, 0, 0, 0}, {85, 1285, 4352, 0, 0, 0, 0}, {106, 1542, 4608, 0, 0, 0, 0}, {127, 1799, 4864, 0, 0, 0, 0}, {128, 2056, 5128, 0, 0, 0, 0}, {63, 771, 85, 1285, 4364, 0, 0}, {170, 2570, 5130, 0, 0, 0, 0}, {63, 771, 64, 1028, 4111, 0, 0}, {192, 3084, 5132, 0, 0, 0, 0}, {42, 514, 85, 1285, 4360, 0, 0}, {42, 514, 64, 1028, 4106, 0, 0}, {255, 3855, 5135, 0, 0, 0, 0}, {64, 1024, 4112, 0, 0, 0, 0}, {85, 1280, 4369, 0, 0, 0, 0}, {106, 1536, 4626, 0, 0, 0, 0}, {127, 1792, 4883, 0, 0, 0, 0}, {5140, 0, 0, 0, 0, 0, 0}, {21, 256, 0, 0, 0, 0, 0}, {42, 512, 5142, 0, 0, 0, 0}, {63, 768, 5143, 0, 0, 0, 0}, {192, 3072, 5144, 0, 0, 0, 0}, {42, 512, 85, 1280, 4377, 0, 0}, {42, 512, 64, 1024, 4122, 0, 0}, {255, 3840, 5147, 0, 0, 0, 0}, {128, 2048, 5148, 0, 0, 0, 0}, {63, 768, 85, 1280, 4381, 0, 0}, {170, 2560, 5150, 0, 0, 0, 0}, {63, 768, 64, 1024, 4127, 0, 0}, {128, 2048, 5152, 0, 0, 0, 0}, {63, 771, 85, 1295, 4369, 0, 0}, {170, 2560, 5154, 0, 0, 0, 0}, {63, 771, 64, 1036, 4112, 0, 0}, {192, 3084, 5156, 0, 0, 0, 0}, {42, 512, 85, 1295, 4352, 0, 0}, {42, 512, 64, 1036, 4096, 0, 0}, {255, 3855, 5159, 0, 0, 0, 0}, {5160, 0, 0, 0, 0, 0, 0}, {21, 259, 0, 0, 0, 0, 0}, {42, 512, 5120, 0, 0, 0, 0}, {63, 771, 5140, 0, 0, 0, 0}, {64, 1036, 4128, 0, 0, 0, 0}, {85, 1295, 4386, 0, 0, 0, 0}, {106, 1548, 4642, 0, 0, 0, 0}, {127, 1807, 4896, 0, 0, 0, 0}, {192, 3072, 5168, 0, 0, 0, 0}, {42, 514, 85, 1290, 4369, 0, 0}, {42, 514, 64, 1032, 4112, 0, 0}, {255, 3840, 5171, 0, 0, 0, 0}, {128, 2056, 5172, 0, 0, 0, 0}, {63, 768, 85, 1290, 4352, 0, 0}, {170, 2570, 5174, 0, 0, 0, 0}, {63, 768, 64, 1032, 4096, 0, 0}, {64, 1032, 4144, 0, 0, 0, 0}, {85, 1290, 4403, 0, 0, 0, 0}, {106, 1546, 4656, 0, 0, 0, 0}, {127, 1800, 4915, 0, 0, 0, 0}, {5180, 0, 0, 0, 0, 0, 0}, {21, 258, 0, 0, 0, 0, 0}, {42, 514, 5140, 0, 0, 0, 0}, {63, 768, 5120, 0, 0, 0, 0}, {64, 1024, 4096, 0, 0, 0, 0}, {85, 1285, 4369, 0, 0, 0, 0}, {106, 1546, 4642, 0, 0, 0, 0}, {127, 1807, 4915, 0, 0, 0, 0}, {5188, 0, 0, 0, 0, 0, 0}, {21, 261, 0, 0, 0, 0, 0}, {42, 522, 5190, 0, 0, 0, 0}, {63, 783, 5191, 0, 0, 0, 0}, {192, 3072, 5192, 0, 0, 0, 0}, {42, 522, 85, 1285, 4377, 0, 0}, {42, 522, 64, 1024, 4106, 0, 0}, {255, 3855, 5195, 0, 0, 0, 0}, {128, 2048, 5196, 0, 0, 0, 0}, {63, 783, 85, 1285, 4381, 0, 0}, {170, 2570, 5198, 0, 0, 0, 0}, {63, 783, 64, 1024, 4111, 0, 0}, {5200, 0, 0, 0, 0, 0, 0}, {21, 260, 0, 0, 0, 0, 0}, {42, 520, 5202, 0, 0, 0, 0}, {63, 780, 5203, 0, 0, 0, 0}, {64, 1028, 4112, 0, 0, 0, 0}, {85, 1280, 4352, 0, 0, 0, 0}, {106, 1548, 4656, 0, 0, 0, 0}, {127, 1800, 4896, 0, 0, 0, 0}, {128, 2056, 5208, 0, 0, 0, 0}, {63, 780, 85, 1280, 4364, 0, 0}, {170, 2560, 5210, 0, 0, 0, 0}, {63, 780, 64, 1028, 4127, 0, 0}, {192, 3084, 5212, 0, 0, 0, 0}, {42, 520, 85, 1280, 4360, 0, 0}, {42, 520, 64, 1028, 4122, 0, 0}, {255, 3840, 5215, 0, 0, 0, 0}, {192, 3072, 5216, 0, 0, 0, 0}, {42, 520, 85, 1295, 4369, 0, 0}, {42, 520, 64, 1032, 4096, 0, 0}, {255, 3855, 5219, 0, 0, 0, 0}, {128, 2056, 5220, 0, 0, 0, 0}, {63, 783, 85, 1295, 4352, 0, 0}, {170, 2560, 5222, 0, 0, 0, 0}, {63, 783, 64, 1032, 4112, 0, 0}, {64, 1032, 4128, 0, 0, 0, 0}, {85, 1295, 4403, 0, 0, 0, 0}, {106, 1536, 4608, 0, 0, 0, 0}, {127, 1799, 4883, 0, 0, 0, 0}, {5228, 0, 0, 0, 0, 0, 0}, {21, 263, 0, 0, 0, 0, 0}, {42, 520, 5188, 0, 0, 0, 0}, {63, 783, 5200, 0, 0, 0, 0}, {128, 2048, 5232, 0, 0, 0, 0}, {63, 780, 85, 1290, 4369, 0, 0}, {170, 2570, 5234, 0, 0, 0, 0}, {63, 780, 64, 1036, 4096, 0, 0}, {192, 3084, 5236, 0, 0, 0, 0}, {42, 522, 85, 1290, 4352, 0, 0}, {42, 522, 64, 1036, 4112, 0, 0}, {255, 3840, 5239, 0, 0, 0, 0}, {5240, 0, 0, 0, 0, 0, 0}, {21, 262, 0, 0, 0, 0, 0}, {42, 522, 5200, 0, 0, 0, 0}, {63, 780, 5188, 0, 0, 0, 0}, {64, 1036, 4144, 0, 0, 0, 0}, {85, 1290, 4386, 0, 0, 0, 0}, {106, 1542, 4626, 0, 0, 0, 0}, {127, 1792, 4864, 0, 0, 0, 0}, {128, 2048, 5120, 0, 0, 0, 0}, {63, 771, 85, 1285, 4369, 0, 0}, {170, 2570, 5160, 0, 0, 0, 0}, {63, 771, 64, 1036, 4111, 0, 0}, {192, 3084, 5188, 0, 0, 0, 0}, {42, 522, 85, 1285, 4352, 0, 0}, {42, 522, 64, 1036, 4106, 0, 0}, {255, 3855, 5240, 0, 0, 0, 0}, {5256, 15360, 20480, 0, 0, 0, 0}, {265, 771, 1285, 21, 0, 0, 0}, {42, 522, 5130, 0, 0, 0, 0}, {63, 771, 5195, 0, 0, 0, 0}, {64, 1036, 4096, 0, 0, 0, 0}, {85, 1285, 4386, 0, 0, 0, 0}, {106, 1542, 4642, 0, 0, 0, 0}, {127, 1807, 4864, 0, 0, 0, 0}, {192, 3072, 5200, 0, 0, 0, 0}, {42, 520, 85, 1280, 4369, 0, 0}, {42, 520, 64, 1032, 4122, 0, 0}, {255, 3840, 5228, 0, 0, 0, 0}, {128, 2056, 5140, 0, 0, 0, 0}, {63, 768, 85, 1280, 4352, 0, 0}, {170, 2560, 5180, 0, 0, 0, 0}, {63, 768, 64, 1032, 4127, 0, 0}, {64, 1032, 4112, 0, 0, 0, 0}, {85, 1280, 4403, 0, 0, 0, 0}, {106, 1536, 4656, 0, 0, 0, 0}, {127, 1800, 4883, 0, 0, 0, 0}, {5276, 15420, 20560, 0, 0, 0, 0}, {264, 768, 1280, 21, 0, 0, 0}, {42, 520, 5150, 0, 0, 0, 0}, {63, 768, 5215, 0, 0, 0, 0}, {5280, 15360, 17408, 0, 0, 0, 0}, {267, 771, 1028, 21, 0, 0, 0}, {42, 520, 5128, 0, 0, 0, 0}, {63, 771, 5212, 0, 0, 0, 0}, {64, 1028, 4128, 0, 0, 0, 0}, {85, 1295, 4352, 0, 0, 0, 0}, {106, 1548, 4608, 0, 0, 0, 0}, {127, 1799, 4896, 0, 0, 0, 0}, {128, 2056, 5160, 0, 0, 0, 0}, {63, 771, 85, 1295, 4364, 0, 0}, {170, 2560, 5120, 0, 0, 0, 0}, {63, 771, 64, 1028, 4112, 0, 0}, {192, 3084, 5228, 0, 0, 0, 0}, {42, 520, 85, 1295, 4360, 0, 0}, {42, 520, 64, 1028, 4096, 0, 0}, {255, 3855, 5200, 0, 0, 0, 0}, {64, 1024, 4144, 0, 0, 0, 0}, {85, 1290, 4369, 0, 0, 0, 0}, {106, 1546, 4626, 0, 0, 0, 0}, {127, 1792, 4915, 0, 0, 0, 0}, {5300, 15420, 17476, 0, 0, 0, 0}, {266, 768, 1024, 21, 0, 0, 0}, {42, 522, 5148, 0, 0, 0, 0}, {63, 768, 5192, 0, 0, 0, 0}, {192, 3072, 5240, 0, 0, 0, 0}, {42, 522, 85, 1290, 4377, 0, 0}, {42, 522, 64, 1024, 4112, 0, 0}, {255, 3840, 5188, 0, 0, 0, 0}, {128, 2048, 5180, 0, 0, 0, 0}, {63, 768, 85, 1290, 4381, 0, 0}, {170, 2570, 5140, 0, 0, 0, 0}, {63, 768, 64, 1024, 4096, 0, 0}, {192, 3072, 5120, 0, 0, 0, 0}, {42, 514, 85, 1285, 4369, 0, 0}, {42, 514, 64, 1032, 4106, 0, 0}, {255, 3855, 5180, 0, 0, 0, 0}, {128, 2056, 5188, 0, 0, 0, 0}, {63, 783, 85, 1285, 4352, 0, 0}, {170, 2570, 5228, 0, 0, 0, 0}, {63, 783, 64, 1032, 4111, 0, 0}, {64, 1032, 4096, 0, 0, 0, 0}, {85, 1285, 4403, 0, 0, 0, 0}, {106, 1546, 4608, 0, 0, 0, 0}, {127, 1799, 4915, 0, 0, 0, 0}, {5324, 10240, 20480, 0, 0, 0, 0}, {269, 514, 1285, 21, 0, 0, 0}, {42, 514, 5198, 0, 0, 0, 0}, {63, 783, 5135, 0, 0, 0, 0}, {128, 2048, 5200, 0, 0, 0, 0}, {63, 780, 85, 1280, 4369, 0, 0}, {170, 2560, 5240, 0, 0, 0, 0}, {63, 780, 64, 1036, 4127, 0, 0}, {192, 3084, 5140, 0, 0, 0, 0}, {42, 512, 85, 1280, 4352, 0, 0}, {42, 512, 64, 1036, 4122, 0, 0}, {255, 3840, 5160, 0, 0, 0, 0}, {5336, 10280, 20560, 0, 0, 0, 0}, {268, 512, 1280, 21, 0, 0, 0}, {42, 512, 5210, 0, 0, 0, 0}, {63, 780, 5147, 0, 0, 0, 0}, {64, 1036, 4112, 0, 0, 0, 0}, {85, 1280, 4386, 0, 0, 0, 0}, {106, 1548, 4626, 0, 0, 0, 0}, {127, 1792, 4896, 0, 0, 0, 0}, {64, 1024, 4128, 0, 0, 0, 0}, {85, 1295, 4369, 0, 0, 0, 0}, {106, 1536, 4642, 0, 0, 0, 0}, {127, 1807, 4883, 0, 0, 0, 0}, {5348, 10280, 17476, 0, 0, 0, 0}, {271, 512, 1024, 21, 0, 0, 0}, {42, 512, 5196, 0, 0, 0, 0}, {63, 783, 5144, 0, 0, 0, 0}, {192, 3072, 5160, 0, 0, 0, 0}, {42, 512, 85, 1295, 4377, 0, 0}, {42, 512, 64, 1024, 4096, 0, 0}, {255, 3855, 5140, 0, 0, 0, 0}, {128, 2048, 5228, 0, 0, 0, 0}, {63, 783, 85, 1295, 4381, 0, 0}, {170, 2560, 5188, 0, 0, 0, 0}, {63, 783, 64, 1024, 4112, 0, 0}, {5360, 10240, 17408, 0, 0, 0, 0}, {270, 514, 1028, 21, 0, 0, 0}, {42, 514, 5208, 0, 0, 0, 0}, {63, 780, 5132, 0, 0, 0, 0}, {64, 1028, 4144, 0, 0, 0, 0}, {85, 1290, 4352, 0, 0, 0, 0}, {106, 1542, 4656, 0, 0, 0, 0}, {127, 1800, 4864, 0, 0, 0, 0}, {128, 2056, 5240, 0, 0, 0, 0}, {63, 780, 85, 1290, 4364, 0, 0}, {170, 2570, 5200, 0, 0, 0, 0}, {63, 780, 64, 1028, 4096, 0, 0}, {192, 3084, 5180, 0, 0, 0, 0}, {42, 514, 85, 1290, 4360, 0, 0}, {42, 514, 64, 1028, 4112, 0, 0}, {255, 3840, 5120, 0, 0, 0, 0}, {5376, 0, 0, 0, 0, 0, 0}, {20, 257, 0, 0, 0, 0, 0}, {40, 514, 5378, 0, 0, 0, 0}, {60, 771, 5379, 0, 0, 0, 0}, {68, 1028, 4352, 0, 0, 0, 0}, {80, 1285, 4096, 0, 0, 0, 0}, {108, 1542, 4864, 0, 0, 0, 0}, {120, 1799, 4608, 0, 0, 0, 0}, {136, 2056, 5384, 0, 0, 0, 0}, {60, 771, 80, 1285, 4108, 0, 0}, {160, 2570, 5386, 0, 0, 0, 0}, {60, 771, 68, 1028, 4367, 0, 0}, {204, 3084, 5388, 0, 0, 0, 0}, {40, 514, 80, 1285, 4104, 0, 0}, {40, 514, 68, 1028, 4362, 0, 0}, {240, 3855, 5391, 0, 0, 0, 0}, {80, 1280, 4112, 0, 0, 0, 0}, {68, 1024, 4369, 0, 0, 0, 0}, {120, 1792, 4626, 0, 0, 0, 0}, {108, 1536, 4883, 0, 0, 0, 0}, {20, 256, 0, 0, 0, 0, 0}, {5397, 0, 0, 0, 0, 0, 0}, {60, 768, 5398, 0, 0, 0, 0}, {40, 512, 5399, 0, 0, 0, 0}, {40, 512, 80, 1280, 4120, 0, 0}, {204, 3072, 5401, 0, 0, 0, 0}, {240, 3840, 5402, 0, 0, 0, 0}, {40, 512, 68, 1024, 4379, 0, 0}, {60, 768, 80, 1280, 4124, 0, 0}, {136, 2048, 5405, 0, 0, 0, 0}, {60, 768, 68, 1024, 4382, 0, 0}, {160, 2560, 5407, 0, 0, 0, 0}, {160, 2560, 5408, 0, 0, 0, 0}, {60, 771, 68, 1036, 4369, 0, 0}, {136, 2048, 5410, 0, 0, 0, 0}, {60, 771, 80, 1295, 4112, 0, 0}, {40, 512, 68, 1036, 4352, 0, 0}, {240, 3855, 5413, 0, 0, 0, 0}, {204, 3084, 5414, 0, 0, 0, 0}, {40, 512, 80, 1295, 4096, 0, 0}, {40, 512, 5376, 0, 0, 0, 0}, {60, 771, 5397, 0, 0, 0, 0}, {5418, 0, 0, 0, 0, 0, 0}, {20, 259, 0, 0, 0, 0, 0}, {108, 1548, 4896, 0, 0, 0, 0}, {120, 1807, 4642, 0, 0, 0, 0}, {68, 1036, 4386, 0, 0, 0, 0}, {80, 1295, 4128, 0, 0, 0, 0}, {240, 3840, 5424, 0, 0, 0, 0}, {40, 514, 68, 1032, 4369, 0, 0}, {40, 514, 80, 1290, 4112, 0, 0}, {204, 3072, 5427, 0, 0, 0, 0}, {60, 768, 68, 1032, 4352, 0, 0}, {160, 2570, 5429, 0, 0, 0, 0}, {60, 768, 80, 1290, 4096, 0, 0}, {136, 2056, 5431, 0, 0, 0, 0}, {120, 1800, 4656, 0, 0, 0, 0}, {108, 1546, 4915, 0, 0, 0, 0}, {80, 1290, 4144, 0, 0, 0, 0}, {68, 1032, 4403, 0, 0, 0, 0}, {60, 768, 5376, 0, 0, 0, 0}, {40, 514, 5397, 0, 0, 0, 0}, {20, 258, 0, 0, 0, 0, 0}, {5439, 0, 0, 0, 0, 0, 0}, {5440, 0, 0, 0, 0, 0, 0}, {20, 261, 0, 0, 0, 0, 0}, {40, 522, 5442, 0, 0, 0, 0}, {60, 783, 5443, 0, 0, 0, 0}, {68, 1024, 4352, 0, 0, 0, 0}, {80, 1285, 4112, 0, 0, 0, 0}, {108, 1546, 4896, 0, 0, 0, 0}, {120, 1807, 4656, 0, 0, 0, 0}, {136, 2048, 5448, 0, 0, 0, 0}, {60, 783, 80, 1285, 4124, 0, 0}, {160, 2570, 5450, 0, 0, 0, 0}, {60, 783, 68, 1024, 4367, 0, 0}, {204, 3072, 5452, 0, 0, 0, 0}, {40, 522, 80, 1285, 4120, 0, 0}, {40, 522, 68, 1024, 4362, 0, 0}, {240, 3855, 5455, 0, 0, 0, 0}, {80, 1280, 4096, 0, 0, 0, 0}, {68, 1028, 4369, 0, 0, 0, 0}, {120, 1800, 4642, 0, 0, 0, 0}, {108, 1548, 4915, 0, 0, 0, 0}, {20, 260, 0, 0, 0, 0, 0}, {5461, 0, 0, 0, 0, 0, 0}, {60, 780, 5462, 0, 0, 0, 0}, {40, 520, 5463, 0, 0, 0, 0}, {40, 520, 80, 1280, 4104, 0, 0}, {204, 3084, 5465, 0, 0, 0, 0}, {240, 3840, 5466, 0, 0, 0, 0}, {40, 520, 68, 1028, 4379, 0, 0}, {60, 780, 80, 1280, 4108, 0, 0}, {136, 2056, 5469, 0, 0, 0, 0}, {60, 780, 68, 1028, 4382, 0, 0}, {160, 2560, 5471, 0, 0, 0, 0}, {160, 2560, 5472, 0, 0, 0, 0}, {60, 783, 68, 1032, 4369, 0, 0}, {136, 2056, 5474, 0, 0, 0, 0}, {60, 783, 80, 1295, 4096, 0, 0}, {40, 520, 68, 1032, 4352, 0, 0}, {240, 3855, 5477, 0, 0, 0, 0}, {204, 3072, 5478, 0, 0, 0, 0}, {40, 520, 80, 1295, 4112, 0, 0}, {40, 520, 5440, 0, 0, 0, 0}, {60, 783, 5461, 0, 0, 0, 0}, {5482, 0, 0, 0, 0, 0, 0}, {20, 263, 0, 0, 0, 0, 0}, {108, 1536, 4864, 0, 0, 0, 0}, {120, 1799, 4626, 0, 0, 0, 0}, {68, 1032, 4386, 0, 0, 0, 0}, {80, 1295, 4144, 0, 0, 0, 0}, {240, 3840, 5488, 0, 0, 0, 0}, {40, 522, 68, 1036, 4369, 0, 0}, {40, 522, 80, 1290, 4096, 0, 0}, {204, 3084, 5491, 0, 0, 0, 0}, {60, 780, 68, 1036, 4352, 0, 0}, {160, 2570, 5493, 0, 0, 0, 0}, {60, 780, 80, 1290, 4112, 0, 0}, {136, 2048, 5495, 0, 0, 0, 0}, {120, 1792, 4608, 0, 0, 0, 0}, {108, 1542, 4883, 0, 0, 0, 0}, {80, 1290, 4128, 0, 0, 0, 0}, {68, 1036, 4403, 0, 0, 0, 0}, {60, 780, 5440, 0, 0, 0, 0}, {40, 522, 5461, 0, 0, 0, 0}, {20, 262, 0, 0, 0, 0, 0}, {5503, 0, 0, 0, 0, 0, 0}, {5504, 16128, 21760, 0, 0, 0, 0}, {265, 771, 1285, 20, 0, 0, 0}, {40, 522, 5386, 0, 0, 0, 0}, {60, 771, 5455, 0, 0, 0, 0}, {68, 1036, 4352, 0, 0, 0, 0}, {80, 1285, 4128, 0, 0, 0, 0}, {108, 1542, 4896, 0, 0, 0, 0}, {120, 1807, 4608, 0, 0, 0, 0}, {136, 2048, 5376, 0, 0, 0, 0}, {60, 771, 80, 1285, 4112, 0, 0}, {160, 2570, 5418, 0, 0, 0, 0}, {60, 771, 68, 1036, 4367, 0, 0}, {204, 3084, 5440, 0, 0, 0, 0}, {40, 522, 80, 1285, 4096, 0, 0}, {40, 522, 68, 1036, 4362, 0, 0}, {240, 3855, 5503, 0, 0, 0, 0}, {80, 1280, 4144, 0, 0, 0, 0}, {68, 1032, 4369, 0, 0, 0, 0}, {120, 1800, 4626, 0, 0, 0, 0}, {108, 1536, 4915, 0, 0, 0, 0}, {264, 768, 1280, 20, 0, 0, 0}, {5525, 16191, 21845, 0, 0, 0, 0}, {60, 768, 5466, 0, 0, 0, 0}, {40, 520, 5407, 0, 0, 0, 0}, {40, 520, 80, 1280, 4112, 0, 0}, {204, 3072, 5461, 0, 0, 0, 0}, {240, 3840, 5482, 0, 0, 0, 0}, {40, 520, 68, 1032, 4379, 0, 0}, {60, 768, 80, 1280, 4096, 0, 0}, {136, 2056, 5397, 0, 0, 0, 0}, {60, 768, 68, 1032, 4382, 0, 0}, {160, 2560, 5439, 0, 0, 0, 0}, {160, 2560, 5376, 0, 0, 0, 0}, {60, 771, 68, 1028, 4369, 0, 0}, {136, 2056, 5418, 0, 0, 0, 0}, {60, 771, 80, 1295, 4108, 0, 0}, {40, 520, 68, 1028, 4352, 0, 0}, {240, 3855, 5461, 0, 0, 0, 0}, {204, 3084, 5482, 0, 0, 0, 0}, {40, 520, 80, 1295, 4104, 0, 0}, {40, 520, 5384, 0, 0, 0, 0}, {60, 771, 5465, 0, 0, 0, 0}, {5546, 16128, 16384, 0, 0, 0, 0}, {267, 771, 1028, 20, 0, 0, 0}, {108, 1548, 4864, 0, 0, 0, 0}, {120, 1799, 4642, 0, 0, 0, 0}, {68, 1028, 4386, 0, 0, 0, 0}, {80, 1295, 4096, 0, 0, 0, 0}, {240, 3840, 5440, 0, 0, 0, 0}, {40, 522, 68, 1024, 4369, 0, 0}, {40, 522, 80, 1290, 4120, 0, 0}, {204, 3072, 5503, 0, 0, 0, 0}, {60, 768, 68, 1024, 4352, 0, 0}, {160, 2570, 5397, 0, 0, 0, 0}, {60, 768, 80, 1290, 4124, 0, 0}, {136, 2048, 5439, 0, 0, 0, 0}, {120, 1792, 4656, 0, 0, 0, 0}, {108, 1546, 4883, 0, 0, 0, 0}, {80, 1290, 4112, 0, 0, 0, 0}, {68, 1024, 4403, 0, 0, 0, 0}, {60, 768, 5452, 0, 0, 0, 0}, {40, 522, 5405, 0, 0, 0, 0}, {266, 768, 1024, 20, 0, 0, 0}, {5567, 16191, 16448, 0, 0, 0, 0}, {5568, 10752, 21760, 0, 0, 0, 0}, {269, 514, 1285, 20, 0, 0, 0}, {40, 514, 5450, 0, 0, 0, 0}, {60, 783, 5391, 0, 0, 0, 0}, {68, 1032, 4352, 0, 0, 0, 0}, {80, 1285, 4144, 0, 0, 0, 0}, {108, 1546, 4864, 0, 0, 0, 0}, {120, 1799, 4656, 0, 0, 0, 0}, {136, 2056, 5440, 0, 0, 0, 0}, {60, 783, 80, 1285, 4096, 0, 0}, {160, 2570, 5482, 0, 0, 0, 0}, {60, 783, 68, 1032, 4367, 0, 0}, {204, 3072, 5376, 0, 0, 0, 0}, {40, 514, 80, 1285, 4112, 0, 0}, {40, 514, 68, 1032, 4362, 0, 0}, {240, 3855, 5439, 0, 0, 0, 0}, {80, 1280, 4128, 0, 0, 0, 0}, {68, 1036, 4369, 0, 0, 0, 0}, {120, 1792, 4642, 0, 0, 0, 0}, {108, 1548, 4883, 0, 0, 0, 0}, {268, 512, 1280, 20, 0, 0, 0}, {5589, 10794, 21845, 0, 0, 0, 0}, {60, 780, 5402, 0, 0, 0, 0}, {40, 512, 5471, 0, 0, 0, 0}, {40, 512, 80, 1280, 4096, 0, 0}, {204, 3084, 5397, 0, 0, 0, 0}, {240, 3840, 5418, 0, 0, 0, 0}, {40, 512, 68, 1036, 4379, 0, 0}, {60, 780, 80, 1280, 4112, 0, 0}, {136, 2048, 5461, 0, 0, 0, 0}, {60, 780, 68, 1036, 4382, 0, 0}, {160, 2560, 5503, 0, 0, 0, 0}, {160, 2560, 5440, 0, 0, 0, 0}, {60, 783, 68, 1024, 4369, 0, 0}, {136, 2048, 5482, 0, 0, 0, 0}, {60, 783, 80, 1295, 4124, 0, 0}, {40, 512, 68, 1024, 4352, 0, 0}, {240, 3855, 5397, 0, 0, 0, 0}, {204, 3072, 5418, 0, 0, 0, 0}, {40, 512, 80, 1295, 4120, 0, 0}, {40, 512, 5448, 0, 0, 0, 0}, {60, 783, 5401, 0, 0, 0, 0}, {5610, 10794, 16448, 0, 0, 0, 0}, {271, 512, 1024, 20, 0, 0, 0}, {108, 1536, 4896, 0, 0, 0, 0}, {120, 1807, 4626, 0, 0, 0, 0}, {68, 1024, 4386, 0, 0, 0, 0}, {80, 1295, 4112, 0, 0, 0, 0}, {240, 3840, 5376, 0, 0, 0, 0}, {40, 514, 68, 1028, 4369, 0, 0}, {40, 514, 80, 1290, 4104, 0, 0}, {204, 3084, 5439, 0, 0, 0, 0}, {60, 780, 68, 1028, 4352, 0, 0}, {160, 2570, 5461, 0, 0, 0, 0}, {60, 780, 80, 1290, 4108, 0, 0}, {136, 2056, 5503, 0, 0, 0, 0}, {120, 1800, 4608, 0, 0, 0, 0}, {108, 1542, 4915, 0, 0, 0, 0}, {80, 1290, 4096, 0, 0, 0, 0}, {68, 1028, 4403, 0, 0, 0, 0}, {60, 780, 5388, 0, 0, 0, 0}, {40, 514, 5469, 0, 0, 0, 0}, {270, 514, 1028, 20, 0, 0, 0}, {5631, 10752, 16384, 0, 0, 0, 0}, {5632, 0, 0, 0, 0, 0, 0}, {23, 257, 0, 0, 0, 0, 0}, {40, 514, 5120, 0, 0, 0, 0}, {63, 771, 5376, 0, 0, 0, 0}, {72, 1028, 4608, 0, 0, 0, 0}, {95, 1285, 4864, 0, 0, 0, 0}, {96, 1542, 4096, 0, 0, 0, 0}, {119, 1799, 4352, 0, 0, 0, 0}, {136, 2056, 5640, 0, 0, 0, 0}, {63, 771, 95, 1285, 4111, 0, 0}, {160, 2570, 5642, 0, 0, 0, 0}, {63, 771, 72, 1028, 4364, 0, 0}, {192, 3084, 5644, 0, 0, 0, 0}, {40, 514, 95, 1285, 4362, 0, 0}, {40, 514, 72, 1028, 4104, 0, 0}, {255, 3855, 5647, 0, 0, 0, 0}, {96, 1536, 4112, 0, 0, 0, 0}, {119, 1792, 4369, 0, 0, 0, 0}, {72, 1024, 4626, 0, 0, 0, 0}, {95, 1280, 4883, 0, 0, 0, 0}, {40, 512, 5140, 0, 0, 0, 0}, {63, 768, 5397, 0, 0, 0, 0}, {5654, 0, 0, 0, 0, 0, 0}, {23, 256, 0, 0, 0, 0, 0}, {40, 512, 72, 1024, 4120, 0, 0}, {255, 3840, 5657, 0, 0, 0, 0}, {192, 3072, 5658, 0, 0, 0, 0}, {40, 512, 95, 1280, 4379, 0, 0}, {160, 2560, 5660, 0, 0, 0, 0}, {63, 768, 72, 1024, 4381, 0, 0}, {136, 2048, 5662, 0, 0, 0, 0}, {63, 768, 95, 1280, 4127, 0, 0}, {160, 2560, 5664, 0, 0, 0, 0}, {63, 771, 72, 1036, 4369, 0, 0}, {136, 2048, 5666, 0, 0, 0, 0}, {63, 771, 95, 1295, 4112, 0, 0}, {40, 512, 72, 1036, 4096, 0, 0}, {255, 3855, 5669, 0, 0, 0, 0}, {192, 3084, 5670, 0, 0, 0, 0}, {40, 512, 95, 1295, 4352, 0, 0}, {40, 512, 5120, 0, 0, 0, 0}, {63, 771, 5397, 0, 0, 0, 0}, {5674, 0, 0, 0, 0, 0, 0}, {23, 259, 0, 0, 0, 0, 0}, {96, 1548, 4128, 0, 0, 0, 0}, {119, 1807, 4386, 0, 0, 0, 0}, {72, 1036, 4642, 0, 0, 0, 0}, {95, 1295, 4896, 0, 0, 0, 0}, {192, 3072, 5680, 0, 0, 0, 0}, {40, 514, 95, 1290, 4369, 0, 0}, {40, 514, 72, 1032, 4112, 0, 0}, {255, 3840, 5683, 0, 0, 0, 0}, {136, 2056, 5684, 0, 0, 0, 0}, {63, 768, 95, 1290, 4096, 0, 0}, {160, 2570, 5686, 0, 0, 0, 0}, {63, 768, 72, 1032, 4352, 0, 0}, {72, 1032, 4656, 0, 0, 0, 0}, {95, 1290, 4915, 0, 0, 0, 0}, {96, 1546, 4144, 0, 0, 0, 0}, {119, 1800, 4403, 0, 0, 0, 0}, {5692, 0, 0, 0, 0, 0, 0}, {23, 258, 0, 0, 0, 0, 0}, {40, 514, 5140, 0, 0, 0, 0}, {63, 768, 5376, 0, 0, 0, 0}, {192, 3072, 5696, 0, 0, 0, 0}, {40, 522, 95, 1285, 4369, 0, 0}, {40, 522, 72, 1024, 4096, 0, 0}, {255, 3855, 5699, 0, 0, 0, 0}, {136, 2048, 5700, 0, 0, 0, 0}, {63, 783, 95, 1285, 4112, 0, 0}, {160, 2570, 5702, 0, 0, 0, 0}, {63, 783, 72, 1024, 4352, 0, 0}, {72, 1024, 4608, 0, 0, 0, 0}, {95, 1285, 4883, 0, 0, 0, 0}, {96, 1546, 4128, 0, 0, 0, 0}, {119, 1807, 4403, 0, 0, 0, 0}, {5708, 0, 0, 0, 0, 0, 0}, {23, 261, 0, 0, 0, 0, 0}, {40, 522, 5188, 0, 0, 0, 0}, {63, 783, 5440, 0, 0, 0, 0}, {160, 2560, 5712, 0, 0, 0, 0}, {63, 780, 72, 1028, 4369, 0, 0}, {136, 2056, 5714, 0, 0, 0, 0}, {63, 780, 95, 1280, 4096, 0, 0}, {40, 520, 72, 1028, 4112, 0, 0}, {255, 3840, 5717, 0, 0, 0, 0}, {192, 3084, 5718, 0, 0, 0, 0}, {40, 520, 95, 1280, 4352, 0, 0}, {40, 520, 5200, 0, 0, 0, 0}, {63, 780, 5461, 0, 0, 0, 0}, {5722, 0, 0, 0, 0, 0, 0}, {23, 260, 0, 0, 0, 0, 0}, {96, 1548, 4144, 0, 0, 0, 0}, {119, 1800, 4386, 0, 0, 0, 0}, {72, 1028, 4626, 0, 0, 0, 0}, {95, 1280, 4864, 0, 0, 0, 0}, {96, 1536, 4096, 0, 0, 0, 0}, {119, 1799, 4369, 0, 0, 0, 0}, {72, 1032, 4642, 0, 0, 0, 0}, {95, 1295, 4915, 0, 0, 0, 0}, {40, 520, 5188, 0, 0, 0, 0}, {63, 783, 5461, 0, 0, 0, 0}, {5734, 0, 0, 0, 0, 0, 0}, {23, 263, 0, 0, 0, 0, 0}, {40, 520, 72, 1032, 4104, 0, 0}, {255, 3855, 5737, 0, 0, 0, 0}, {192, 3072, 5738, 0, 0, 0, 0}, {40, 520, 95, 1295, 4379, 0, 0}, {160, 2560, 5740, 0, 0, 0, 0}, {63, 783, 72, 1032, 4381, 0, 0}, {136, 2056, 5742, 0, 0, 0, 0}, {63, 783, 95, 1295, 4111, 0, 0}, {5744, 0, 0, 0, 0, 0, 0}, {23, 262, 0, 0, 0, 0, 0}, {40, 522, 5200, 0, 0, 0, 0}, {63, 780, 5440, 0, 0, 0, 0}, {72, 1036, 4656, 0, 0, 0, 0}, {95, 1290, 4896, 0, 0, 0, 0}, {96, 1542, 4112, 0, 0, 0, 0}, {119, 1792, 4352, 0, 0, 0, 0}, {136, 2048, 5752, 0, 0, 0, 0}, {63, 780, 95, 1290, 4127, 0, 0}, {160, 2570, 5754, 0, 0, 0, 0}, {63, 780, 72, 1036, 4364, 0, 0}, {192, 3084, 5756, 0, 0, 0, 0}, {40, 522, 95, 1290, 4362, 0, 0}, {40, 522, 72, 1036, 4120, 0, 0}, {255, 3840, 5759, 0, 0, 0, 0}, {5760, 15360, 23040, 0, 0, 0, 0}, {265, 771, 1285, 23, 0, 0, 0}, {40, 522, 5120, 0, 0, 0, 0}, {63, 771, 5440, 0, 0, 0, 0}, {72, 1036, 4608, 0, 0, 0, 0}, {95, 1285, 4896, 0, 0, 0, 0}, {96, 1542, 4128, 0, 0, 0, 0}, {119, 1807, 4352, 0, 0, 0, 0}, {136, 2048, 5632, 0, 0, 0, 0}, {63, 771, 95, 1285, 4112, 0, 0}, {160, 2570, 5674, 0, 0, 0, 0}, {63, 771, 72, 1036, 4364, 0, 0}, {192, 3084, 5708, 0, 0, 0, 0}, {40, 522, 95, 1285, 4362, 0, 0}, {40, 522, 72, 1036, 4096, 0, 0}, {255, 3855, 5744, 0, 0, 0, 0}, {96, 1536, 4144, 0, 0, 0, 0}, {119, 1800, 4369, 0, 0, 0, 0}, {72, 1032, 4626, 0, 0, 0, 0}, {95, 1280, 4915, 0, 0, 0, 0}, {40, 520, 5140, 0, 0, 0, 0}, {63, 768, 5461, 0, 0, 0, 0}, {5782, 15420, 23130, 0, 0, 0, 0}, {264, 768, 1280, 23, 0, 0, 0}, {40, 520, 72, 1032, 4112, 0, 0}, {255, 3840, 5734, 0, 0, 0, 0}, {192, 3072, 5722, 0, 0, 0, 0}, {40, 520, 95, 1280, 4379, 0, 0}, {160, 2560, 5692, 0, 0, 0, 0}, {63, 768, 72, 1032, 4381, 0, 0}, {136, 2056, 5654, 0, 0, 0, 0}, {63, 768, 95, 1280, 4096, 0, 0}, {160, 2560, 5632, 0, 0, 0, 0}, {63, 771, 72, 1028, 4369, 0, 0}, {136, 2056, 5674, 0, 0, 0, 0}, {63, 771, 95, 1295, 4111, 0, 0}, {40, 520, 72, 1028, 4104, 0, 0}, {255, 3855, 5722, 0, 0, 0, 0}, {192, 3084, 5734, 0, 0, 0, 0}, {40, 520, 95, 1295, 4352, 0, 0}, {40, 520, 5120, 0, 0, 0, 0}, {63, 771, 5461, 0, 0, 0, 0}, {5802, 15360, 19456, 0, 0, 0, 0}, {267, 771, 1028, 23, 0, 0, 0}, {96, 1548, 4096, 0, 0, 0, 0}, {119, 1799, 4386, 0, 0, 0, 0}, {72, 1028, 4642, 0, 0, 0, 0}, {95, 1295, 4864, 0, 0, 0, 0}, {192, 3072, 5744, 0, 0, 0, 0}, {40, 522, 95, 1290, 4369, 0, 0}, {40, 522, 72, 1024, 4120, 0, 0}, {255, 3840, 5708, 0, 0, 0, 0}, {136, 2048, 5692, 0, 0, 0, 0}, {63, 768, 95, 1290, 4127, 0, 0}, {160, 2570, 5654, 0, 0, 0, 0}, {63, 768, 72, 1024, 4352, 0, 0}, {72, 1024, 4656, 0, 0, 0, 0}, {95, 1290, 4883, 0, 0, 0, 0}, {96, 1546, 4112, 0, 0, 0, 0}, {119, 1792, 4403, 0, 0, 0, 0}, {5820, 15420, 19532, 0, 0, 0, 0}, {266, 768, 1024, 23, 0, 0, 0}, {40, 522, 5140, 0, 0, 0, 0}, {63, 768, 5440, 0, 0, 0, 0}, {192, 3072, 5632, 0, 0, 0, 0}, {40, 514, 95, 1285, 4369, 0, 0}, {40, 514, 72, 1032, 4104, 0, 0}, {255, 3855, 5692, 0, 0, 0, 0}, {136, 2056, 5708, 0, 0, 0, 0}, {63, 783, 95, 1285, 4111, 0, 0}, {160, 2570, 5734, 0, 0, 0, 0}, {63, 783, 72, 1032, 4352, 0, 0}, {72, 1032, 4608, 0, 0, 0, 0}, {95, 1285, 4915, 0, 0, 0, 0}, {96, 1546, 4096, 0, 0, 0, 0}, {119, 1799, 4403, 0, 0, 0, 0}, {5836, 10752, 23040, 0, 0, 0, 0}, {269, 514, 1285, 23, 0, 0, 0}, {40, 514, 5188, 0, 0, 0, 0}, {63, 783, 5376, 0, 0, 0, 0}, {160, 2560, 5744, 0, 0, 0, 0}, {63, 780, 72, 1036, 4369, 0, 0}, {136, 2048, 5722, 0, 0, 0, 0}, {63, 780, 95, 1280, 4127, 0, 0}, {40, 512, 72, 1036, 4120, 0, 0}, {255, 3840, 5674, 0, 0, 0, 0}, {192, 3084, 5654, 0, 0, 0, 0}, {40, 512, 95, 1280, 4352, 0, 0}, {40, 512, 5200, 0, 0, 0, 0}, {63, 780, 5397, 0, 0, 0, 0}, {5850, 10794, 23130, 0, 0, 0, 0}, {268, 512, 1280, 23, 0, 0, 0}, {96, 1548, 4112, 0, 0, 0, 0}, {119, 1792, 4386, 0, 0, 0, 0}, {72, 1036, 4626, 0, 0, 0, 0}, {95, 1280, 4896, 0, 0, 0, 0}, {96, 1536, 4128, 0, 0, 0, 0}, {119, 1807, 4369, 0, 0, 0, 0}, {72, 1024, 4642, 0, 0, 0, 0}, {95, 1295, 4883, 0, 0, 0, 0}, {40, 512, 5188, 0, 0, 0, 0}, {63, 783, 5397, 0, 0, 0, 0}, {5862, 10794, 19532, 0, 0, 0, 0}, {271, 512, 1024, 23, 0, 0, 0}, {40, 512, 72, 1024, 4096, 0, 0}, {255, 3855, 5654, 0, 0, 0, 0}, {192, 3072, 5674, 0, 0, 0, 0}, {40, 512, 95, 1295, 4379, 0, 0}, {160, 2560, 5708, 0, 0, 0, 0}, {63, 783, 72, 1024, 4381, 0, 0}, {136, 2048, 5734, 0, 0, 0, 0}, {63, 783, 95, 1295, 4112, 0, 0}, {5872, 10752, 19456, 0, 0, 0, 0}, {270, 514, 1028, 23, 0, 0, 0}, {40, 514, 5200, 0, 0, 0, 0}, {63, 780, 5376, 0, 0, 0, 0}, {72, 1028, 4656, 0, 0, 0, 0}, {95, 1290, 4864, 0, 0, 0, 0}, {96, 1542, 4144, 0, 0, 0, 0}, {119, 1800, 4352, 0, 0, 0, 0}, {136, 2056, 5744, 0, 0, 0, 0}, {63, 780, 95, 1290, 4096, 0, 0}, {160, 2570, 5722, 0, 0, 0, 0}, {63, 780, 72, 1028, 4364, 0, 0}, {192, 3084, 5692, 0, 0, 0, 0}, {40, 514, 95, 1290, 4362, 0, 0}, {40, 514, 72, 1028, 4112, 0, 0}, {255, 3840, 5632, 0, 0, 0, 0}, {5888, 0, 0, 0, 0, 0, 0}, {22, 257, 0, 0, 0, 0, 0}, {42, 514, 5376, 0, 0, 0, 0}, {60, 771, 5120, 0, 0, 0, 0}, {76, 1028, 4864, 0, 0, 0, 0}, {90, 1285, 4608, 0, 0, 0, 0}, {102, 1542, 4352, 0, 0, 0, 0}, {112, 1799, 4096, 0, 0, 0, 0}, {128, 2056, 5896, 0, 0, 0, 0}, {60, 771, 90, 1285, 4367, 0, 0}, {170, 2570, 5898, 0, 0, 0, 0}, {60, 771, 76, 1028, 4108, 0, 0}, {204, 3084, 5900, 0, 0, 0, 0}, {42, 514, 90, 1285, 4106, 0, 0}, {42, 514, 76, 1028, 4360, 0, 0}, {240, 3855, 5903, 0, 0, 0, 0}, {112, 1792, 4112, 0, 0, 0, 0}, {102, 1536, 4369, 0, 0, 0, 0}, {90, 1280, 4626, 0, 0, 0, 0}, {76, 1024, 4883, 0, 0, 0, 0}, {60, 768, 5140, 0, 0, 0, 0}, {42, 512, 5397, 0, 0, 0, 0}, {22, 256, 0, 0, 0, 0, 0}, {5911, 0, 0, 0, 0, 0, 0}, {240, 3840, 5912, 0, 0, 0, 0}, {42, 512, 76, 1024, 4377, 0, 0}, {42, 512, 90, 1280, 4122, 0, 0}, {204, 3072, 5915, 0, 0, 0, 0}, {60, 768, 76, 1024, 4124, 0, 0}, {170, 2560, 5917, 0, 0, 0, 0}, {60, 768, 90, 1280, 4382, 0, 0}, {128, 2048, 5919, 0, 0, 0, 0}, {128, 2048, 5920, 0, 0, 0, 0}, {60, 771, 90, 1295, 4369, 0, 0}, {170, 2560, 5922, 0, 0, 0, 0}, {60, 771, 76, 1036, 4112, 0, 0}, {204, 3084, 5924, 0, 0, 0, 0}, {42, 512, 90, 1295, 4096, 0, 0}, {42, 512, 76, 1036, 4352, 0, 0}, {240, 3855, 5927, 0, 0, 0, 0}, {5928, 0, 0, 0, 0, 0, 0}, {22, 259, 0, 0, 0, 0, 0}, {42, 512, 5376, 0, 0, 0, 0}, {60, 771, 5140, 0, 0, 0, 0}, {76, 1036, 4896, 0, 0, 0, 0}, {90, 1295, 4642, 0, 0, 0, 0}, {102, 1548, 4386, 0, 0, 0, 0}, {112, 1807, 4128, 0, 0, 0, 0}, {240, 3840, 5936, 0, 0, 0, 0}, {42, 514, 76, 1032, 4369, 0, 0}, {42, 514, 90, 1290, 4112, 0, 0}, {204, 3072, 5939, 0, 0, 0, 0}, {60, 768, 76, 1032, 4096, 0, 0}, {170, 2570, 5941, 0, 0, 0, 0}, {60, 768, 90, 1290, 4352, 0, 0}, {128, 2056, 5943, 0, 0, 0, 0}, {112, 1800, 4144, 0, 0, 0, 0}, {102, 1546, 4403, 0, 0, 0, 0}, {90, 1290, 4656, 0, 0, 0, 0}, {76, 1032, 4915, 0, 0, 0, 0}, {60, 768, 5120, 0, 0, 0, 0}, {42, 514, 5397, 0, 0, 0, 0}, {22, 258, 0, 0, 0, 0, 0}, {5951, 0, 0, 0, 0, 0, 0}, {128, 2048, 5952, 0, 0, 0, 0}, {60, 783, 90, 1285, 4369, 0, 0}, {170, 2570, 5954, 0, 0, 0, 0}, {60, 783, 76, 1024, 4096, 0, 0}, {204, 3072, 5956, 0, 0, 0, 0}, {42, 522, 90, 1285, 4112, 0, 0}, {42, 522, 76, 1024, 4352, 0, 0}, {240, 3855, 5959, 0, 0, 0, 0}, {5960, 0, 0, 0, 0, 0, 0}, {22, 261, 0, 0, 0, 0, 0}, {42, 522, 5440, 0, 0, 0, 0}, {60, 783, 5188, 0, 0, 0, 0}, {76, 1024, 4864, 0, 0, 0, 0}, {90, 1285, 4626, 0, 0, 0, 0}, {102, 1546, 4386, 0, 0, 0, 0}, {112, 1807, 4144, 0, 0, 0, 0}, {240, 3840, 5968, 0, 0, 0, 0}, {42, 520, 76, 1028, 4369, 0, 0}, {42, 520, 90, 1280, 4096, 0, 0}, {204, 3084, 5971, 0, 0, 0, 0}, {60, 780, 76, 1028, 4112, 0, 0}, {170, 2560, 5973, 0, 0, 0, 0}, {60, 780, 90, 1280, 4352, 0, 0}, {128, 2056, 5975, 0, 0, 0, 0}, {112, 1800, 4128, 0, 0, 0, 0}, {102, 1548, 4403, 0, 0, 0, 0}, {90, 1280, 4608, 0, 0, 0, 0}, {76, 1028, 4883, 0, 0, 0, 0}, {60, 780, 5200, 0, 0, 0, 0}, {42, 520, 5461, 0, 0, 0, 0}, {22, 260, 0, 0, 0, 0, 0}, {5983, 0, 0, 0, 0, 0, 0}, {5984, 0, 0, 0, 0, 0, 0}, {22, 263, 0, 0, 0, 0, 0}, {42, 520, 5440, 0, 0, 0, 0}, {60, 783, 5200, 0, 0, 0, 0}, {76, 1032, 4896, 0, 0, 0, 0}, {90, 1295, 4656, 0, 0, 0, 0}, {102, 1536, 4352, 0, 0, 0, 0}, {112, 1799, 4112, 0, 0, 0, 0}, {128, 2056, 5992, 0, 0, 0, 0}, {60, 783, 90, 1295, 4367, 0, 0}, {170, 2560, 5994, 0, 0, 0, 0}, {60, 783, 76, 1032, 4124, 0, 0}, {204, 3072, 5996, 0, 0, 0, 0}, {42, 520, 90, 1295, 4122, 0, 0}, {42, 520, 76, 1032, 4360, 0, 0}, {240, 3855, 5999, 0, 0, 0, 0}, {112, 1792, 4096, 0, 0, 0, 0}, {102, 1542, 4369, 0, 0, 0, 0}, {90, 1290, 4642, 0, 0, 0, 0}, {76, 1036, 4915, 0, 0, 0, 0}, {60, 780, 5188, 0, 0, 0, 0}, {42, 522, 5461, 0, 0, 0, 0}, {22, 262, 0, 0, 0, 0, 0}, {6007, 0, 0, 0, 0, 0, 0}, {240, 3840, 6008, 0, 0, 0, 0}, {42, 522, 76, 1036, 4377, 0, 0}, {42, 522, 90, 1290, 4106, 0, 0}, {204, 3084, 6011, 0, 0, 0, 0}, {60, 780, 76, 1036, 4108, 0, 0}, {170, 2570, 6013, 0, 0, 0, 0}, {60, 780, 90, 1290, 4382, 0, 0}, {128, 2048, 6015, 0, 0, 0, 0}, {128, 2048, 5888, 0, 0, 0, 0}, {60, 771, 90, 1285, 4369, 0, 0}, {170, 2570, 5928, 0, 0, 0, 0}, {60, 771, 76, 1036, 4108, 0, 0}, {204, 3084, 5960, 0, 0, 0, 0}, {42, 522, 90, 1285, 4106, 0, 0}, {42, 522, 76, 1036, 4352, 0, 0}, {240, 3855, 6007, 0, 0, 0, 0}, {6024, 16128, 24320, 0, 0, 0, 0}, {265, 771, 1285, 22, 0, 0, 0}, {42, 522, 5376, 0, 0, 0, 0}, {60, 771, 5188, 0, 0, 0, 0}, {76, 1036, 4864, 0, 0, 0, 0}, {90, 1285, 4642, 0, 0, 0, 0}, {102, 1542, 4386, 0, 0, 0, 0}, {112, 1807, 4096, 0, 0, 0, 0}, {240, 3840, 5984, 0, 0, 0, 0}, {42, 520, 76, 1032, 4369, 0, 0}, {42, 520, 90, 1280, 4122, 0, 0}, {204, 3072, 5983, 0, 0, 0, 0}, {60, 768, 76, 1032, 4124, 0, 0}, {170, 2560, 5951, 0, 0, 0, 0}, {60, 768, 90, 1280, 4352, 0, 0}, {128, 2056, 5911, 0, 0, 0, 0}, {112, 1800, 4112, 0, 0, 0, 0}, {102, 1536, 4403, 0, 0, 0, 0}, {90, 1280, 4656, 0, 0, 0, 0}, {76, 1032, 4883, 0, 0, 0, 0}, {60, 768, 5200, 0, 0, 0, 0}, {42, 520, 5397, 0, 0, 0, 0}, {264, 768, 1280, 22, 0, 0, 0}, {6047, 16191, 24415, 0, 0, 0, 0}, {6048, 16128, 18432, 0, 0, 0, 0}, {267, 771, 1028, 22, 0, 0, 0}, {42, 520, 5376, 0, 0, 0, 0}, {60, 771, 5200, 0, 0, 0, 0}, {76, 1028, 4896, 0, 0, 0, 0}, {90, 1295, 4608, 0, 0, 0, 0}, {102, 1548, 4352, 0, 0, 0, 0}, {112, 1799, 4128, 0, 0, 0, 0}, {128, 2056, 5928, 0, 0, 0, 0}, {60, 771, 90, 1295, 4367, 0, 0}, {170, 2560, 5888, 0, 0, 0, 0}, {60, 771, 76, 1028, 4112, 0, 0}, {204, 3084, 5984, 0, 0, 0, 0}, {42, 520, 90, 1295, 4096, 0, 0}, {42, 520, 76, 1028, 4360, 0, 0}, {240, 3855, 5983, 0, 0, 0, 0}, {112, 1792, 4144, 0, 0, 0, 0}, {102, 1546, 4369, 0, 0, 0, 0}, {90, 1290, 4626, 0, 0, 0, 0}, {76, 1024, 4915, 0, 0, 0, 0}, {60, 768, 5188, 0, 0, 0, 0}, {42, 522, 5397, 0, 0, 0, 0}, {266, 768, 1024, 22, 0, 0, 0}, {6071, 16191, 18504, 0, 0, 0, 0}, {240, 3840, 5960, 0, 0, 0, 0}, {42, 522, 76, 1024, 4377, 0, 0}, {42, 522, 90, 1290, 4112, 0, 0}, {204, 3072, 6007, 0, 0, 0, 0}, {60, 768, 76, 1024, 4096, 0, 0}, {170, 2570, 5911, 0, 0, 0, 0}, {60, 768, 90, 1290, 4382, 0, 0}, {128, 2048, 5951, 0, 0, 0, 0}, {6080, 10240, 24320, 0, 0, 0, 0}, {269, 514, 1285, 22, 0, 0, 0}, {42, 514, 5440, 0, 0, 0, 0}, {60, 783, 5120, 0, 0, 0, 0}, {76, 1032, 4864, 0, 0, 0, 0}, {90, 1285, 4656, 0, 0, 0, 0}, {102, 1546, 4352, 0, 0, 0, 0}, {112, 1799, 4144, 0, 0, 0, 0}, {128, 2056, 5960, 0, 0, 0, 0}, {60, 783, 90, 1285, 4367, 0, 0}, {170, 2570, 5984, 0, 0, 0, 0}, {60, 783, 76, 1032, 4096, 0, 0}, {204, 3072, 5888, 0, 0, 0, 0}, {42, 514, 90, 1285, 4112, 0, 0}, {42, 514, 76, 1032, 4360, 0, 0}, {240, 3855, 5951, 0, 0, 0, 0}, {112, 1792, 4128, 0, 0, 0, 0}, {102, 1548, 4369, 0, 0, 0, 0}, {90, 1280, 4642, 0, 0, 0, 0}, {76, 1036, 4883, 0, 0, 0, 0}, {60, 780, 5140, 0, 0, 0, 0}, {42, 512, 5461, 0, 0, 0, 0}, {268, 512, 1280, 22, 0, 0, 0}, {6103, 10280, 24415, 0, 0, 0, 0}, {240, 3840, 5928, 0, 0, 0, 0}, {42, 512, 76, 1036, 4377, 0, 0}, {42, 512, 90, 1280, 4096, 0, 0}, {204, 3084, 5911, 0, 0, 0, 0}, {60, 780, 76, 1036, 4112, 0, 0}, {170, 2560, 6007, 0, 0, 0, 0}, {60, 780, 90, 1280, 4382, 0, 0}, {128, 2048, 5983, 0, 0, 0, 0}, {128, 2048, 5984, 0, 0, 0, 0}, {60, 783, 90, 1295, 4369, 0, 0}, {170, 2560, 5960, 0, 0, 0, 0}, {60, 783, 76, 1024, 4124, 0, 0}, {204, 3072, 5928, 0, 0, 0, 0}, {42, 512, 90, 1295, 4122, 0, 0}, {42, 512, 76, 1024, 4352, 0, 0}, {240, 3855, 5911, 0, 0, 0, 0}, {6120, 10280, 18504, 0, 0, 0, 0}, {271, 512, 1024, 22, 0, 0, 0}, {42, 512, 5440, 0, 0, 0, 0}, {60, 783, 5140, 0, 0, 0, 0}, {76, 1024, 4896, 0, 0, 0, 0}, {90, 1295, 4626, 0, 0, 0, 0}, {102, 1536, 4386, 0, 0, 0, 0}, {112, 1807, 4112, 0, 0, 0, 0}, {240, 3840, 5888, 0, 0, 0, 0}, {42, 514, 76, 1028, 4369, 0, 0}, {42, 514, 90, 1290, 4106, 0, 0}, {204, 3084, 5951, 0, 0, 0, 0}, {60, 780, 76, 1028, 4108, 0, 0}, {170, 2570, 5983, 0, 0, 0, 0}, {60, 780, 90, 1290, 4352, 0, 0}, {128, 2056, 6007, 0, 0, 0, 0}, {112, 1800, 4096, 0, 0, 0, 0}, {102, 1542, 4403, 0, 0, 0, 0}, {90, 1290, 4608, 0, 0, 0, 0}, {76, 1028, 4915, 0, 0, 0, 0}, {60, 780, 5120, 0, 0, 0, 0}, {42, 514, 5461, 0, 0, 0, 0}, {270, 514, 1028, 22, 0, 0, 0}, {6143, 10240, 18432, 0, 0, 0, 0}, {6144, 12288, 20480, 0, 0, 0, 0}, {25, 51, 85, 257, 0, 0, 0}, {42, 514, 4106, 0, 0, 0, 0}, {51, 771, 5135, 0, 0, 0, 0}, {76, 1028, 4108, 0, 0, 0, 0}, {85, 1285, 4623, 0, 0, 0, 0}, {102, 1542, 4620, 0, 0, 0, 0}, {127, 1799, 4111, 0, 0, 0, 0}, {128, 2056, 4096, 0, 0, 0, 0}, {51, 771, 85, 1285, 4352, 0, 0}, {170, 2570, 4608, 0, 0, 0, 0}, {51, 771, 76, 1028, 4099, 0, 0}, {204, 3084, 5120, 0, 0, 0, 0}, {42, 514, 85, 1285, 4101, 0, 0}, {42, 514, 76, 1028, 4102, 0, 0}, {255, 3855, 5888, 0, 0, 0, 0}, {128, 2048, 4112, 0, 0, 0, 0}, {51, 768, 85, 1280, 4369, 0, 0}, {170, 2560, 4626, 0, 0, 0, 0}, {51, 768, 76, 1024, 4115, 0, 0}, {204, 3072, 5140, 0, 0, 0, 0}, {42, 512, 85, 1280, 4117, 0, 0}, {42, 512, 76, 1024, 4118, 0, 0}, {255, 3840, 5911, 0, 0, 0, 0}, {6168, 12336, 20560, 0, 0, 0, 0}, {25, 51, 85, 256, 0, 0, 0}, {42, 512, 4122, 0, 0, 0, 0}, {51, 768, 5147, 0, 0, 0, 0}, {76, 1024, 4124, 0, 0, 0, 0}, {85, 1280, 4637, 0, 0, 0, 0}, {102, 1536, 4638, 0, 0, 0, 0}, {127, 1792, 4127, 0, 0, 0, 0}, {128, 2048, 4128, 0, 0, 0, 0}, {51, 771, 85, 1295, 4369, 0, 0}, {170, 2560, 4642, 0, 0, 0, 0}, {51, 771, 76, 1036, 4112, 0, 0}, {204, 3084, 5160, 0, 0, 0, 0}, {42, 512, 85, 1295, 4111, 0, 0}, {42, 512, 76, 1036, 4108, 0, 0}, {255, 3855, 5928, 0, 0, 0, 0}, {6184, 12288, 20640, 0, 0, 0, 0}, {25, 51, 85, 259, 0, 0, 0}, {42, 512, 4096, 0, 0, 0, 0}, {51, 771, 5140, 0, 0, 0, 0}, {76, 1036, 4140, 0, 0, 0, 0}, {85, 1295, 4653, 0, 0, 0, 0}, {102, 1548, 4654, 0, 0, 0, 0}, {127, 1807, 4143, 0, 0, 0, 0}, {6192, 12336, 20720, 0, 0, 0, 0}, {25, 51, 85, 258, 0, 0, 0}, {42, 514, 4112, 0, 0, 0, 0}, {51, 768, 5120, 0, 0, 0, 0}, {76, 1032, 4156, 0, 0, 0, 0}, {85, 1290, 4671, 0, 0, 0, 0}, {102, 1546, 4668, 0, 0, 0, 0}, {127, 1800, 4159, 0, 0, 0, 0}, {128, 2056, 4144, 0, 0, 0, 0}, {51, 768, 85, 1290, 4352, 0, 0}, {170, 2570, 4656, 0, 0, 0, 0}, {51, 768, 76, 1032, 4096, 0, 0}, {204, 3072, 5180, 0, 0, 0, 0}, {42, 514, 85, 1290, 4127, 0, 0}, {42, 514, 76, 1032, 4124, 0, 0}, {255, 3840, 5951, 0, 0, 0, 0}, {128, 2048, 4160, 0, 0, 0, 0}, {51, 783, 85, 1285, 4369, 0, 0}, {170, 2570, 4680, 0, 0, 0, 0}, {51, 783, 76, 1024, 4111, 0, 0}, {204, 3072, 5188, 0, 0, 0, 0}, {42, 522, 85, 1285, 4112, 0, 0}, {42, 522, 76, 1024, 4106, 0, 0}, {255, 3855, 5960, 0, 0, 0, 0}, {6216, 12480, 20480, 0, 0, 0, 0}, {25, 51, 85, 261, 0, 0, 0}, {42, 522, 4170, 0, 0, 0, 0}, {51, 783, 5195, 0, 0, 0, 0}, {76, 1024, 4096, 0, 0, 0, 0}, {85, 1285, 4626, 0, 0, 0, 0}, {102, 1546, 4642, 0, 0, 0, 0}, {127, 1807, 4144, 0, 0, 0, 0}, {6224, 12528, 20560, 0, 0, 0, 0}, {25, 51, 85, 260, 0, 0, 0}, {42, 520, 4186, 0, 0, 0, 0}, {51, 780, 5215, 0, 0, 0, 0}, {76, 1028, 4112, 0, 0, 0, 0}, {85, 1280, 4608, 0, 0, 0, 0}, {102, 1548, 4656, 0, 0, 0, 0}, {127, 1800, 4128, 0, 0, 0, 0}, {128, 2056, 4176, 0, 0, 0, 0}, {51, 780, 85, 1280, 4352, 0, 0}, {170, 2560, 4698, 0, 0, 0, 0}, {51, 780, 76, 1028, 4127, 0, 0}, {204, 3084, 5200, 0, 0, 0, 0}, {42, 520, 85, 1280, 4096, 0, 0}, {42, 520, 76, 1028, 4122, 0, 0}, {255, 3840, 5983, 0, 0, 0, 0}, {6240, 12480, 20640, 0, 0, 0, 0}, {25, 51, 85, 263, 0, 0, 0}, {42, 520, 4160, 0, 0, 0, 0}, {51, 783, 5200, 0, 0, 0, 0}, {76, 1032, 4128, 0, 0, 0, 0}, {85, 1295, 4656, 0, 0, 0, 0}, {102, 1536, 4608, 0, 0, 0, 0}, {127, 1799, 4112, 0, 0, 0, 0}, {128, 2056, 4192, 0, 0, 0, 0}, {51, 783, 85, 1295, 4352, 0, 0}, {170, 2560, 4714, 0, 0, 0, 0}, {51, 783, 76, 1032, 4124, 0, 0}, {204, 3072, 5228, 0, 0, 0, 0}, {42, 520, 85, 1295, 4122, 0, 0}, {42, 520, 76, 1032, 4096, 0, 0}, {255, 3855, 5984, 0, 0, 0, 0}, {128, 2048, 4208, 0, 0, 0, 0}, {51, 780, 85, 1290, 4369, 0, 0}, {170, 2570, 4728, 0, 0, 0, 0}, {51, 780, 76, 1036, 4108, 0, 0}, {204, 3084, 5240, 0, 0, 0, 0}, {42, 522, 85, 1290, 4106, 0, 0}, {42, 522, 76, 1036, 4112, 0, 0}, {255, 3840, 6007, 0, 0, 0, 0}, {6264, 12528, 20720, 0, 0, 0, 0}, {25, 51, 85, 262, 0, 0, 0}, {42, 522, 4176, 0, 0, 0, 0}, {51, 780, 5188, 0, 0, 0, 0}, {76, 1036, 4144, 0, 0, 0, 0}, {85, 1290, 4642, 0, 0, 0, 0}, {102, 1542, 4626, 0, 0, 0, 0}, {127, 1792, 4096, 0, 0, 0, 0}, {128, 2048, 4096, 0, 0, 0, 0}, {51, 771, 85, 1285, 4369, 0, 0}, {170, 2570, 4642, 0, 0, 0, 0}, {51, 771, 76, 1036, 4099, 0, 0}, {204, 3084, 5188, 0, 0, 0, 0}, {42, 522, 85, 1285, 4101, 0, 0}, {42, 522, 76, 1036, 4102, 0, 0}, {255, 3855, 6007, 0, 0, 0, 0}, {6280, 12288, 20480, 0, 0, 0, 0}, {25, 51, 85, 272, 0, 0, 0}, {42, 522, 4106, 0, 0, 0, 0}, {51, 771, 5195, 0, 0, 0, 0}, {76, 1036, 4108, 0, 0, 0, 0}, {85, 1285, 4653, 0, 0, 0, 0}, {102, 1542, 4654, 0, 0, 0, 0}, {127, 1807, 4111, 0, 0, 0, 0}, {6288, 12336, 20560, 0, 0, 0, 0}, {25, 51, 85, 273, 0, 0, 0}, {42, 520, 4122, 0, 0, 0, 0}, {51, 768, 5215, 0, 0, 0, 0}, {76, 1032, 4124, 0, 0, 0, 0}, {85, 1280, 4671, 0, 0, 0, 0}, {102, 1536, 4668, 0, 0, 0, 0}, {127, 1800, 4127, 0, 0, 0, 0}, {128, 2056, 4112, 0, 0, 0, 0}, {51, 768, 85, 1280, 4352, 0, 0}, {170, 2560, 4656, 0, 0, 0, 0}, {51, 768, 76, 1032, 4115, 0, 0}, {204, 3072, 5200, 0, 0, 0, 0}, {42, 520, 85, 1280, 4117, 0, 0}, {42, 520, 76, 1032, 4118, 0, 0}, {255, 3840, 5984, 0, 0, 0, 0}, {6304, 12288, 20640, 0, 0, 0, 0}, {25, 51, 85, 274, 0, 0, 0}, {42, 520, 4096, 0, 0, 0, 0}, {51, 771, 5200, 0, 0, 0, 0}, {76, 1028, 4140, 0, 0, 0, 0}, {85, 1295, 4623, 0, 0, 0, 0}, {102, 1548, 4620, 0, 0, 0, 0}, {127, 1799, 4143, 0, 0, 0, 0}, {128, 2056, 4128, 0, 0, 0, 0}, {51, 771, 85, 1295, 4352, 0, 0}, {170, 2560, 4608, 0, 0, 0, 0}, {51, 771, 76, 1028, 4112, 0, 0}, {204, 3084, 5228, 0, 0, 0, 0}, {42, 520, 85, 1295, 4111, 0, 0}, {42, 520, 76, 1028, 4108, 0, 0}, {255, 3855, 5983, 0, 0, 0, 0}, {128, 2048, 4144, 0, 0, 0, 0}, {51, 768, 85, 1290, 4369, 0, 0}, {170, 2570, 4626, 0, 0, 0, 0}, {51, 768, 76, 1024, 4096, 0, 0}, {204, 3072, 5240, 0, 0, 0, 0}, {42, 522, 85, 1290, 4127, 0, 0}, {42, 522, 76, 1024, 4124, 0, 0}, {255, 3840, 5960, 0, 0, 0, 0}, {6328, 12336, 20720, 0, 0, 0, 0}, {25, 51, 85, 275, 0, 0, 0}, {42, 522, 4112, 0, 0, 0, 0}, {51, 768, 5188, 0, 0, 0, 0}, {76, 1024, 4156, 0, 0, 0, 0}, {85, 1290, 4637, 0, 0, 0, 0}, {102, 1546, 4638, 0, 0, 0, 0}, {127, 1792, 4159, 0, 0, 0, 0}, {6336, 12480, 20480, 0, 0, 0, 0}, {25, 51, 85, 276, 0, 0, 0}, {42, 514, 4170, 0, 0, 0, 0}, {51, 783, 5135, 0, 0, 0, 0}, {76, 1032, 4096, 0, 0, 0, 0}, {85, 1285, 4656, 0, 0, 0, 0}, {102, 1546, 4608, 0, 0, 0, 0}, {127, 1799, 4144, 0, 0, 0, 0}, {128, 2056, 4160, 0, 0, 0, 0}, {51, 783, 85, 1285, 4352, 0, 0}, {170, 2570, 4714, 0, 0, 0, 0}, {51, 783, 76, 1032, 4111, 0, 0}, {204, 3072, 5120, 0, 0, 0, 0}, {42, 514, 85, 1285, 4112, 0, 0}, {42, 514, 76, 1032, 4106, 0, 0}, {255, 3855, 5951, 0, 0, 0, 0}, {128, 2048, 4176, 0, 0, 0, 0}, {51, 780, 85, 1280, 4369, 0, 0}, {170, 2560, 4728, 0, 0, 0, 0}, {51, 780, 76, 1036, 4127, 0, 0}, {204, 3084, 5140, 0, 0, 0, 0}, {42, 512, 85, 1280, 4096, 0, 0}, {42, 512, 76, 1036, 4122, 0, 0}, {255, 3840, 5928, 0, 0, 0, 0}, {6360, 12528, 20560, 0, 0, 0, 0}, {25, 51, 85, 277, 0, 0, 0}, {42, 512, 4186, 0, 0, 0, 0}, {51, 780, 5147, 0, 0, 0, 0}, {76, 1036, 4112, 0, 0, 0, 0}, {85, 1280, 4642, 0, 0, 0, 0}, {102, 1548, 4626, 0, 0, 0, 0}, {127, 1792, 4128, 0, 0, 0, 0}, {128, 2048, 4192, 0, 0, 0, 0}, {51, 783, 85, 1295, 4369, 0, 0}, {170, 2560, 4680, 0, 0, 0, 0}, {51, 783, 76, 1024, 4124, 0, 0}, {204, 3072, 5160, 0, 0, 0, 0}, {42, 512, 85, 1295, 4122, 0, 0}, {42, 512, 76, 1024, 4096, 0, 0}, {255, 3855, 5911, 0, 0, 0, 0}, {6376, 12480, 20640, 0, 0, 0, 0}, {25, 51, 85, 278, 0, 0, 0}, {42, 512, 4160, 0, 0, 0, 0}, {51, 783, 5140, 0, 0, 0, 0}, {76, 1024, 4128, 0, 0, 0, 0}, {85, 1295, 4626, 0, 0, 0, 0}, {102, 1536, 4642, 0, 0, 0, 0}, {127, 1807, 4112, 0, 0, 0, 0}, {6384, 12528, 20720, 0, 0, 0, 0}, {25, 51, 85, 279, 0, 0, 0}, {42, 514, 4176, 0, 0, 0, 0}, {51, 780, 5120, 0, 0, 0, 0}, {76, 1028, 4144, 0, 0, 0, 0}, {85, 1290, 4608, 0, 0, 0, 0}, {102, 1542, 4656, 0, 0, 0, 0}, {127, 1800, 4096, 0, 0, 0, 0}, {128, 2056, 4208, 0, 0, 0, 0}, {51, 780, 85, 1290, 4352, 0, 0}, {170, 2570, 4698, 0, 0, 0, 0}, {51, 780, 76, 1028, 4108, 0, 0}, {204, 3084, 5180, 0, 0, 0, 0}, {42, 514, 85, 1290, 4106, 0, 0}, {42, 514, 76, 1028, 4112, 0, 0}, {255, 3840, 5888, 0, 0, 0, 0}, {6400, 13056, 21760, 0, 0, 0, 0}, {24, 48, 80, 257, 0, 0, 0}, {40, 514, 4362, 0, 0, 0, 0}, {48, 771, 5391, 0, 0, 0, 0}, {72, 1028, 4364, 0, 0, 0, 0}, {80, 1285, 4879, 0, 0, 0, 0}, {96, 1542, 4876, 0, 0, 0, 0}, {120, 1799, 4367, 0, 0, 0, 0}, {136, 2056, 4352, 0, 0, 0, 0}, {48, 771, 80, 1285, 4096, 0, 0}, {160, 2570, 4864, 0, 0, 0, 0}, {48, 771, 72, 1028, 4355, 0, 0}, {192, 3084, 5376, 0, 0, 0, 0}, {40, 514, 80, 1285, 4357, 0, 0}, {40, 514, 72, 1028, 4358, 0, 0}, {240, 3855, 5632, 0, 0, 0, 0}, {48, 768, 80, 1280, 4112, 0, 0}, {136, 2048, 4369, 0, 0, 0, 0}, {48, 768, 72, 1024, 4370, 0, 0}, {160, 2560, 4883, 0, 0, 0, 0}, {40, 512, 80, 1280, 4372, 0, 0}, {192, 3072, 5397, 0, 0, 0, 0}, {240, 3840, 5654, 0, 0, 0, 0}, {40, 512, 72, 1024, 4375, 0, 0}, {24, 48, 80, 256, 0, 0, 0}, {6425, 13107, 21845, 0, 0, 0, 0}, {48, 768, 5402, 0, 0, 0, 0}, {40, 512, 4379, 0, 0, 0, 0}, {80, 1280, 4892, 0, 0, 0, 0}, {72, 1024, 4381, 0, 0, 0, 0}, {120, 1792, 4382, 0, 0, 0, 0}, {96, 1536, 4895, 0, 0, 0, 0}, {160, 2560, 4896, 0, 0, 0, 0}, {48, 771, 72, 1036, 4369, 0, 0}, {136, 2048, 4386, 0, 0, 0, 0}, {48, 771, 80, 1295, 4112, 0, 0}, {40, 512, 72, 1036, 4364, 0, 0}, {240, 3855, 5674, 0, 0, 0, 0}, {192, 3084, 5418, 0, 0, 0, 0}, {40, 512, 80, 1295, 4367, 0, 0}, {40, 512, 4352, 0, 0, 0, 0}, {48, 771, 5397, 0, 0, 0, 0}, {6442, 13056, 21930, 0, 0, 0, 0}, {24, 48, 80, 259, 0, 0, 0}, {96, 1548, 4908, 0, 0, 0, 0}, {120, 1807, 4397, 0, 0, 0, 0}, {72, 1036, 4398, 0, 0, 0, 0}, {80, 1295, 4911, 0, 0, 0, 0}, {48, 768, 5376, 0, 0, 0, 0}, {40, 514, 4369, 0, 0, 0, 0}, {24, 48, 80, 258, 0, 0, 0}, {6451, 13107, 22015, 0, 0, 0, 0}, {120, 1800, 4412, 0, 0, 0, 0}, {96, 1546, 4927, 0, 0, 0, 0}, {80, 1290, 4924, 0, 0, 0, 0}, {72, 1032, 4415, 0, 0, 0, 0}, {48, 768, 72, 1032, 4352, 0, 0}, {160, 2570, 4915, 0, 0, 0, 0}, {48, 768, 80, 1290, 4096, 0, 0}, {136, 2056, 4403, 0, 0, 0, 0}, {240, 3840, 5692, 0, 0, 0, 0}, {40, 514, 72, 1032, 4381, 0, 0}, {40, 514, 80, 1290, 4382, 0, 0}, {192, 3072, 5439, 0, 0, 0, 0}, {192, 3072, 5440, 0, 0, 0, 0}, {40, 522, 80, 1285, 4369, 0, 0}, {40, 522, 72, 1024, 4362, 0, 0}, {240, 3855, 5708, 0, 0, 0, 0}, {136, 2048, 4420, 0, 0, 0, 0}, {48, 783, 80, 1285, 4112, 0, 0}, {160, 2570, 4940, 0, 0, 0, 0}, {48, 783, 72, 1024, 4367, 0, 0}, {72, 1024, 4352, 0, 0, 0, 0}, {80, 1285, 4883, 0, 0, 0, 0}, {96, 1546, 4896, 0, 0, 0, 0}, {120, 1807, 4403, 0, 0, 0, 0}, {6476, 13260, 21760, 0, 0, 0, 0}, {24, 48, 80, 261, 0, 0, 0}, {40, 522, 4430, 0, 0, 0, 0}, {48, 783, 5455, 0, 0, 0, 0}, {80, 1280, 4864, 0, 0, 0, 0}, {72, 1028, 4369, 0, 0, 0, 0}, {120, 1800, 4386, 0, 0, 0, 0}, {96, 1548, 4915, 0, 0, 0, 0}, {24, 48, 80, 260, 0, 0, 0}, {6485, 13311, 21845, 0, 0, 0, 0}, {48, 780, 5466, 0, 0, 0, 0}, {40, 520, 4447, 0, 0, 0, 0}, {40, 520, 80, 1280, 4352, 0, 0}, {192, 3084, 5461, 0, 0, 0, 0}, {240, 3840, 5722, 0, 0, 0, 0}, {40, 520, 72, 1028, 4379, 0, 0}, {48, 780, 80, 1280, 4096, 0, 0}, {136, 2056, 4437, 0, 0, 0, 0}, {48, 780, 72, 1028, 4382, 0, 0}, {160, 2560, 4959, 0, 0, 0, 0}, {96, 1536, 4864, 0, 0, 0, 0}, {120, 1799, 4369, 0, 0, 0, 0}, {72, 1032, 4386, 0, 0, 0, 0}, {80, 1295, 4915, 0, 0, 0, 0}, {40, 520, 4420, 0, 0, 0, 0}, {48, 783, 5461, 0, 0, 0, 0}, {6502, 13260, 21930, 0, 0, 0, 0}, {24, 48, 80, 263, 0, 0, 0}, {40, 520, 72, 1032, 4352, 0, 0}, {240, 3855, 5734, 0, 0, 0, 0}, {192, 3072, 5482, 0, 0, 0, 0}, {40, 520, 80, 1295, 4379, 0, 0}, {160, 2560, 4972, 0, 0, 0, 0}, {48, 783, 72, 1032, 4381, 0, 0}, {136, 2056, 4454, 0, 0, 0, 0}, {48, 783, 80, 1295, 4096, 0, 0}, {240, 3840, 5744, 0, 0, 0, 0}, {40, 522, 72, 1036, 4369, 0, 0}, {40, 522, 80, 1290, 4362, 0, 0}, {192, 3084, 5503, 0, 0, 0, 0}, {48, 780, 72, 1036, 4364, 0, 0}, {160, 2570, 4991, 0, 0, 0, 0}, {48, 780, 80, 1290, 4112, 0, 0}, {136, 2048, 4471, 0, 0, 0, 0}, {120, 1792, 4352, 0, 0, 0, 0}, {96, 1542, 4883, 0, 0, 0, 0}, {80, 1290, 4896, 0, 0, 0, 0}, {72, 1036, 4403, 0, 0, 0, 0}, {48, 780, 5440, 0, 0, 0, 0}, {40, 522, 4437, 0, 0, 0, 0}, {24, 48, 80, 262, 0, 0, 0}, {6527, 13311, 22015, 0, 0, 0, 0}, {6528, 13056, 21760, 0, 0, 0, 0}, {24, 48, 80, 273, 0, 0, 0}, {40, 522, 4362, 0, 0, 0, 0}, {48, 771, 5455, 0, 0, 0, 0}, {72, 1036, 4364, 0, 0, 0, 0}, {80, 1285, 4911, 0, 0, 0, 0}, {96, 1542, 4908, 0, 0, 0, 0}, {120, 1807, 4367, 0, 0, 0, 0}, {136, 2048, 4352, 0, 0, 0, 0}, {48, 771, 80, 1285, 4112, 0, 0}, {160, 2570, 4896, 0, 0, 0, 0}, {48, 771, 72, 1036, 4355, 0, 0}, {192, 3084, 5440, 0, 0, 0, 0}, {40, 522, 80, 1285, 4357, 0, 0}, {40, 522, 72, 1036, 4358, 0, 0}, {240, 3855, 5744, 0, 0, 0, 0}, {48, 768, 80, 1280, 4096, 0, 0}, {136, 2056, 4369, 0, 0, 0, 0}, {48, 768, 72, 1032, 4370, 0, 0}, {160, 2560, 4915, 0, 0, 0, 0}, {40, 520, 80, 1280, 4372, 0, 0}, {192, 3072, 5461, 0, 0, 0, 0}, {240, 3840, 5734, 0, 0, 0, 0}, {40, 520, 72, 1032, 4375, 0, 0}, {24, 48, 80, 272, 0, 0, 0}, {6553, 13107, 21845, 0, 0, 0, 0}, {48, 768, 5466, 0, 0, 0, 0}, {40, 520, 4379, 0, 0, 0, 0}, {80, 1280, 4924, 0, 0, 0, 0}, {72, 1032, 4381, 0, 0, 0, 0}, {120, 1800, 4382, 0, 0, 0, 0}, {96, 1536, 4927, 0, 0, 0, 0}, {160, 2560, 4864, 0, 0, 0, 0}, {48, 771, 72, 1028, 4369, 0, 0}, {136, 2056, 4386, 0, 0, 0, 0}, {48, 771, 80, 1295, 4096, 0, 0}, {40, 520, 72, 1028, 4364, 0, 0}, {240, 3855, 5722, 0, 0, 0, 0}, {192, 3084, 5482, 0, 0, 0, 0}, {40, 520, 80, 1295, 4367, 0, 0}, {40, 520, 4352, 0, 0, 0, 0}, {48, 771, 5461, 0, 0, 0, 0}, {6570, 13056, 21930, 0, 0, 0, 0}, {24, 48, 80, 275, 0, 0, 0}, {96, 1548, 4876, 0, 0, 0, 0}, {120, 1799, 4397, 0, 0, 0, 0}, {72, 1028, 4398, 0, 0, 0, 0}, {80, 1295, 4879, 0, 0, 0, 0}, {48, 768, 5440, 0, 0, 0, 0}, {40, 522, 4369, 0, 0, 0, 0}, {24, 48, 80, 274, 0, 0, 0}, {6579, 13107, 22015, 0, 0, 0, 0}, {120, 1792, 4412, 0, 0, 0, 0}, {96, 1546, 4895, 0, 0, 0, 0}, {80, 1290, 4892, 0, 0, 0, 0}, {72, 1024, 4415, 0, 0, 0, 0}, {48, 768, 72, 1024, 4352, 0, 0}, {160, 2570, 4883, 0, 0, 0, 0}, {48, 768, 80, 1290, 4112, 0, 0}, {136, 2048, 4403, 0, 0, 0, 0}, {240, 3840, 5708, 0, 0, 0, 0}, {40, 522, 72, 1024, 4381, 0, 0}, {40, 522, 80, 1290, 4382, 0, 0}, {192, 3072, 5503, 0, 0, 0, 0}, {192, 3072, 5376, 0, 0, 0, 0}, {40, 514, 80, 1285, 4369, 0, 0}, {40, 514, 72, 1032, 4362, 0, 0}, {240, 3855, 5692, 0, 0, 0, 0}, {136, 2056, 4420, 0, 0, 0, 0}, {48, 783, 80, 1285, 4096, 0, 0}, {160, 2570, 4972, 0, 0, 0, 0}, {48, 783, 72, 1032, 4367, 0, 0}, {72, 1032, 4352, 0, 0, 0, 0}, {80, 1285, 4915, 0, 0, 0, 0}, {96, 1546, 4864, 0, 0, 0, 0}, {120, 1799, 4403, 0, 0, 0, 0}, {6604, 13260, 21760, 0, 0, 0, 0}, {24, 48, 80, 277, 0, 0, 0}, {40, 514, 4430, 0, 0, 0, 0}, {48, 783, 5391, 0, 0, 0, 0}, {80, 1280, 4896, 0, 0, 0, 0}, {72, 1036, 4369, 0, 0, 0, 0}, {120, 1792, 4386, 0, 0, 0, 0}, {96, 1548, 4883, 0, 0, 0, 0}, {24, 48, 80, 276, 0, 0, 0}, {6613, 13311, 21845, 0, 0, 0, 0}, {48, 780, 5402, 0, 0, 0, 0}, {40, 512, 4447, 0, 0, 0, 0}, {40, 512, 80, 1280, 4352, 0, 0}, {192, 3084, 5397, 0, 0, 0, 0}, {240, 3840, 5674, 0, 0, 0, 0}, {40, 512, 72, 1036, 4379, 0, 0}, {48, 780, 80, 1280, 4112, 0, 0}, {136, 2048, 4437, 0, 0, 0, 0}, {48, 780, 72, 1036, 4382, 0, 0}, {160, 2560, 4991, 0, 0, 0, 0}, {96, 1536, 4896, 0, 0, 0, 0}, {120, 1807, 4369, 0, 0, 0, 0}, {72, 1024, 4386, 0, 0, 0, 0}, {80, 1295, 4883, 0, 0, 0, 0}, {40, 512, 4420, 0, 0, 0, 0}, {48, 783, 5397, 0, 0, 0, 0}, {6630, 13260, 21930, 0, 0, 0, 0}, {24, 48, 80, 279, 0, 0, 0}, {40, 512, 72, 1024, 4352, 0, 0}, {240, 3855, 5654, 0, 0, 0, 0}, {192, 3072, 5418, 0, 0, 0, 0}, {40, 512, 80, 1295, 4379, 0, 0}, {160, 2560, 4940, 0, 0, 0, 0}, {48, 783, 72, 1024, 4381, 0, 0}, {136, 2048, 4454, 0, 0, 0, 0}, {48, 783, 80, 1295, 4112, 0, 0}, {240, 3840, 5632, 0, 0, 0, 0}, {40, 514, 72, 1028, 4369, 0, 0}, {40, 514, 80, 1290, 4362, 0, 0}, {192, 3084, 5439, 0, 0, 0, 0}, {48, 780, 72, 1028, 4364, 0, 0}, {160, 2570, 4959, 0, 0, 0, 0}, {48, 780, 80, 1290, 4096, 0, 0}, {136, 2056, 4471, 0, 0, 0, 0}, {120, 1800, 4352, 0, 0, 0, 0}, {96, 1542, 4915, 0, 0, 0, 0}, {80, 1290, 4864, 0, 0, 0, 0}, {72, 1028, 4403, 0, 0, 0, 0}, {48, 780, 5376, 0, 0, 0, 0}, {40, 514, 4437, 0, 0, 0, 0}, {24, 48, 80, 278, 0, 0, 0}, {6655, 13311, 22015, 0, 0, 0, 0}, {6656, 12288, 16384, 0, 0, 0, 0}, {27, 51, 68, 257, 0, 0, 0}, {40, 514, 4104, 0, 0, 0, 0}, {51, 771, 5388, 0, 0, 0, 0}, {68, 1028, 4620, 0, 0, 0, 0}, {95, 1285, 4111, 0, 0, 0, 0}, {108, 1542, 4108, 0, 0, 0, 0}, {119, 1799, 4623, 0, 0, 0, 0}, {136, 2056, 4608, 0, 0, 0, 0}, {51, 771, 95, 1285, 4099, 0, 0}, {160, 2570, 4096, 0, 0, 0, 0}, {51, 771, 68, 1028, 4352, 0, 0}, {204, 3084, 5632, 0, 0, 0, 0}, {40, 514, 95, 1285, 4103, 0, 0}, {40, 514, 68, 1028, 4100, 0, 0}, {255, 3855, 5376, 0, 0, 0, 0}, {160, 2560, 4112, 0, 0, 0, 0}, {51, 768, 68, 1024, 4369, 0, 0}, {136, 2048, 4626, 0, 0, 0, 0}, {51, 768, 95, 1280, 4115, 0, 0}, {40, 512, 68, 1024, 4116, 0, 0}, {255, 3840, 5397, 0, 0, 0, 0}, {204, 3072, 5654, 0, 0, 0, 0}, {40, 512, 95, 1280, 4119, 0, 0}, {40, 512, 4120, 0, 0, 0, 0}, {51, 768, 5401, 0, 0, 0, 0}, {6682, 12336, 16448, 0, 0, 0, 0}, {27, 51, 68, 256, 0, 0, 0}, {108, 1536, 4124, 0, 0, 0, 0}, {119, 1792, 4637, 0, 0, 0, 0}, {68, 1024, 4638, 0, 0, 0, 0}, {95, 1280, 4127, 0, 0, 0, 0}, {160, 2560, 4128, 0, 0, 0, 0}, {51, 771, 68, 1036, 4369, 0, 0}, {136, 2048, 4642, 0, 0, 0, 0}, {51, 771, 95, 1295, 4112, 0, 0}, {40, 512, 68, 1036, 4108, 0, 0}, {255, 3855, 5418, 0, 0, 0, 0}, {204, 3084, 5674, 0, 0, 0, 0}, {40, 512, 95, 1295, 4111, 0, 0}, {40, 512, 4096, 0, 0, 0, 0}, {51, 771, 5397, 0, 0, 0, 0}, {6698, 12288, 16512, 0, 0, 0, 0}, {27, 51, 68, 259, 0, 0, 0}, {108, 1548, 4140, 0, 0, 0, 0}, {119, 1807, 4653, 0, 0, 0, 0}, {68, 1036, 4654, 0, 0, 0, 0}, {95, 1295, 4143, 0, 0, 0, 0}, {6704, 12336, 16576, 0, 0, 0, 0}, {27, 51, 68, 258, 0, 0, 0}, {40, 514, 4112, 0, 0, 0, 0}, {51, 768, 5376, 0, 0, 0, 0}, {68, 1032, 4668, 0, 0, 0, 0}, {95, 1290, 4159, 0, 0, 0, 0}, {108, 1546, 4156, 0, 0, 0, 0}, {119, 1800, 4671, 0, 0, 0, 0}, {136, 2056, 4656, 0, 0, 0, 0}, {51, 768, 95, 1290, 4096, 0, 0}, {160, 2570, 4144, 0, 0, 0, 0}, {51, 768, 68, 1032, 4352, 0, 0}, {204, 3072, 5692, 0, 0, 0, 0}, {40, 514, 95, 1290, 4127, 0, 0}, {40, 514, 68, 1032, 4124, 0, 0}, {255, 3840, 5439, 0, 0, 0, 0}, {6720, 12480, 16448, 0, 0, 0, 0}, {27, 51, 68, 261, 0, 0, 0}, {40, 522, 4168, 0, 0, 0, 0}, {51, 783, 5452, 0, 0, 0, 0}, {68, 1024, 4608, 0, 0, 0, 0}, {95, 1285, 4112, 0, 0, 0, 0}, {108, 1546, 4128, 0, 0, 0, 0}, {119, 1807, 4656, 0, 0, 0, 0}, {136, 2048, 4680, 0, 0, 0, 0}, {51, 783, 95, 1285, 4124, 0, 0}, {160, 2570, 4160, 0, 0, 0, 0}, {51, 783, 68, 1024, 4352, 0, 0}, {204, 3072, 5708, 0, 0, 0, 0}, {40, 522, 95, 1285, 4120, 0, 0}, {40, 522, 68, 1024, 4096, 0, 0}, {255, 3855, 5440, 0, 0, 0, 0}, {160, 2560, 4176, 0, 0, 0, 0}, {51, 780, 68, 1028, 4369, 0, 0}, {136, 2056, 4698, 0, 0, 0, 0}, {51, 780, 95, 1280, 4108, 0, 0}, {40, 520, 68, 1028, 4112, 0, 0}, {255, 3840, 5461, 0, 0, 0, 0}, {204, 3084, 5722, 0, 0, 0, 0}, {40, 520, 95, 1280, 4104, 0, 0}, {40, 520, 4184, 0, 0, 0, 0}, {51, 780, 5465, 0, 0, 0, 0}, {6746, 12528, 16384, 0, 0, 0, 0}, {27, 51, 68, 260, 0, 0, 0}, {108, 1548, 4144, 0, 0, 0, 0}, {119, 1800, 4642, 0, 0, 0, 0}, {68, 1028, 4626, 0, 0, 0, 0}, {95, 1280, 4096, 0, 0, 0, 0}, {160, 2560, 4192, 0, 0, 0, 0}, {51, 783, 68, 1032, 4369, 0, 0}, {136, 2056, 4714, 0, 0, 0, 0}, {51, 783, 95, 1295, 4111, 0, 0}, {40, 520, 68, 1032, 4104, 0, 0}, {255, 3855, 5482, 0, 0, 0, 0}, {204, 3072, 5734, 0, 0, 0, 0}, {40, 520, 95, 1295, 4112, 0, 0}, {40, 520, 4160, 0, 0, 0, 0}, {51, 783, 5461, 0, 0, 0, 0}, {6762, 12480, 16576, 0, 0, 0, 0}, {27, 51, 68, 263, 0, 0, 0}, {108, 1536, 4096, 0, 0, 0, 0}, {119, 1799, 4626, 0, 0, 0, 0}, {68, 1032, 4642, 0, 0, 0, 0}, {95, 1295, 4144, 0, 0, 0, 0}, {6768, 12528, 16512, 0, 0, 0, 0}, {27, 51, 68, 262, 0, 0, 0}, {40, 522, 4176, 0, 0, 0, 0}, {51, 780, 5440, 0, 0, 0, 0}, {68, 1036, 4656, 0, 0, 0, 0}, {95, 1290, 4128, 0, 0, 0, 0}, {108, 1542, 4112, 0, 0, 0, 0}, {119, 1792, 4608, 0, 0, 0, 0}, {136, 2048, 4728, 0, 0, 0, 0}, {51, 780, 95, 1290, 4127, 0, 0}, {160, 2570, 4208, 0, 0, 0, 0}, {51, 780, 68, 1036, 4352, 0, 0}, {204, 3084, 5744, 0, 0, 0, 0}, {40, 522, 95, 1290, 4096, 0, 0}, {40, 522, 68, 1036, 4120, 0, 0}, {255, 3840, 5503, 0, 0, 0, 0}, {6784, 12288, 16512, 0, 0, 0, 0}, {27, 51, 68, 274, 0, 0, 0}, {40, 522, 4096, 0, 0, 0, 0}, {51, 771, 5440, 0, 0, 0, 0}, {68, 1036, 4620, 0, 0, 0, 0}, {95, 1285, 4143, 0, 0, 0, 0}, {108, 1542, 4140, 0, 0, 0, 0}, {119, 1807, 4623, 0, 0, 0, 0}, {136, 2048, 4608, 0, 0, 0, 0}, {51, 771, 95, 1285, 4112, 0, 0}, {160, 2570, 4128, 0, 0, 0, 0}, {51, 771, 68, 1036, 4352, 0, 0}, {204, 3084, 5708, 0, 0, 0, 0}, {40, 522, 95, 1285, 4111, 0, 0}, {40, 522, 68, 1036, 4108, 0, 0}, {255, 3855, 5503, 0, 0, 0, 0}, {160, 2560, 4144, 0, 0, 0, 0}, {51, 768, 68, 1032, 4369, 0, 0}, {136, 2056, 4626, 0, 0, 0, 0}, {51, 768, 95, 1280, 4096, 0, 0}, {40, 520, 68, 1032, 4124, 0, 0}, {255, 3840, 5482, 0, 0, 0, 0}, {204, 3072, 5722, 0, 0, 0, 0}, {40, 520, 95, 1280, 4127, 0, 0}, {40, 520, 4112, 0, 0, 0, 0}, {51, 768, 5461, 0, 0, 0, 0}, {6810, 12336, 16576, 0, 0, 0, 0}, {27, 51, 68, 275, 0, 0, 0}, {108, 1536, 4156, 0, 0, 0, 0}, {119, 1800, 4637, 0, 0, 0, 0}, {68, 1032, 4638, 0, 0, 0, 0}, {95, 1280, 4159, 0, 0, 0, 0}, {160, 2560, 4096, 0, 0, 0, 0}, {51, 771, 68, 1028, 4369, 0, 0}, {136, 2056, 4642, 0, 0, 0, 0}, {51, 771, 95, 1295, 4099, 0, 0}, {40, 520, 68, 1028, 4100, 0, 0}, {255, 3855, 5461, 0, 0, 0, 0}, {204, 3084, 5734, 0, 0, 0, 0}, {40, 520, 95, 1295, 4103, 0, 0}, {40, 520, 4104, 0, 0, 0, 0}, {51, 771, 5465, 0, 0, 0, 0}, {6826, 12288, 16384, 0, 0, 0, 0}, {27, 51, 68, 272, 0, 0, 0}, {108, 1548, 4108, 0, 0, 0, 0}, {119, 1799, 4653, 0, 0, 0, 0}, {68, 1028, 4654, 0, 0, 0, 0}, {95, 1295, 4111, 0, 0, 0, 0}, {6832, 12336, 16448, 0, 0, 0, 0}, {27, 51, 68, 273, 0, 0, 0}, {40, 522, 4120, 0, 0, 0, 0}, {51, 768, 5452, 0, 0, 0, 0}, {68, 1024, 4668, 0, 0, 0, 0}, {95, 1290, 4127, 0, 0, 0, 0}, {108, 1546, 4124, 0, 0, 0, 0}, {119, 1792, 4671, 0, 0, 0, 0}, {136, 2048, 4656, 0, 0, 0, 0}, {51, 768, 95, 1290, 4115, 0, 0}, {160, 2570, 4112, 0, 0, 0, 0}, {51, 768, 68, 1024, 4352, 0, 0}, {204, 3072, 5744, 0, 0, 0, 0}, {40, 522, 95, 1290, 4119, 0, 0}, {40, 522, 68, 1024, 4116, 0, 0}, {255, 3840, 5440, 0, 0, 0, 0}, {6848, 12480, 16576, 0, 0, 0, 0}, {27, 51, 68, 278, 0, 0, 0}, {40, 514, 4160, 0, 0, 0, 0}, {51, 783, 5376, 0, 0, 0, 0}, {68, 1032, 4608, 0, 0, 0, 0}, {95, 1285, 4144, 0, 0, 0, 0}, {108, 1546, 4096, 0, 0, 0, 0}, {119, 1799, 4656, 0, 0, 0, 0}, {136, 2056, 4680, 0, 0, 0, 0}, {51, 783, 95, 1285, 4111, 0, 0}, {160, 2570, 4192, 0, 0, 0, 0}, {51, 783, 68, 1032, 4352, 0, 0}, {204, 3072, 5632, 0, 0, 0, 0}, {40, 514, 95, 1285, 4112, 0, 0}, {40, 514, 68, 1032, 4104, 0, 0}, {255, 3855, 5439, 0, 0, 0, 0}, {160, 2560, 4208, 0, 0, 0, 0}, {51, 780, 68, 1036, 4369, 0, 0}, {136, 2048, 4698, 0, 0, 0, 0}, {51, 780, 95, 1280, 4127, 0, 0}, {40, 512, 68, 1036, 4120, 0, 0}, {255, 3840, 5418, 0, 0, 0, 0}, {204, 3084, 5654, 0, 0, 0, 0}, {40, 512, 95, 1280, 4096, 0, 0}, {40, 512, 4176, 0, 0, 0, 0}, {51, 780, 5397, 0, 0, 0, 0}, {6874, 12528, 16512, 0, 0, 0, 0}, {27, 51, 68, 279, 0, 0, 0}, {108, 1548, 4112, 0, 0, 0, 0}, {119, 1792, 4642, 0, 0, 0, 0}, {68, 1036, 4626, 0, 0, 0, 0}, {95, 1280, 4128, 0, 0, 0, 0}, {160, 2560, 4160, 0, 0, 0, 0}, {51, 783, 68, 1024, 4369, 0, 0}, {136, 2048, 4714, 0, 0, 0, 0}, {51, 783, 95, 1295, 4124, 0, 0}, {40, 512, 68, 1024, 4096, 0, 0}, {255, 3855, 5397, 0, 0, 0, 0}, {204, 3072, 5674, 0, 0, 0, 0}, {40, 512, 95, 1295, 4120, 0, 0}, {40, 512, 4168, 0, 0, 0, 0}, {51, 783, 5401, 0, 0, 0, 0}, {6890, 12480, 16448, 0, 0, 0, 0}, {27, 51, 68, 276, 0, 0, 0}, {108, 1536, 4128, 0, 0, 0, 0}, {119, 1807, 4626, 0, 0, 0, 0}, {68, 1024, 4642, 0, 0, 0, 0}, {95, 1295, 4112, 0, 0, 0, 0}, {6896, 12528, 16384, 0, 0, 0, 0}, {27, 51, 68, 277, 0, 0, 0}, {40, 514, 4184, 0, 0, 0, 0}, {51, 780, 5388, 0, 0, 0, 0}, {68, 1028, 4656, 0, 0, 0, 0}, {95, 1290, 4096, 0, 0, 0, 0}, {108, 1542, 4144, 0, 0, 0, 0}, {119, 1800, 4608, 0, 0, 0, 0}, {136, 2056, 4728, 0, 0, 0, 0}, {51, 780, 95, 1290, 4108, 0, 0}, {160, 2570, 4176, 0, 0, 0, 0}, {51, 780, 68, 1028, 4352, 0, 0}, {204, 3084, 5692, 0, 0, 0, 0}, {40, 514, 95, 1290, 4104, 0, 0}, {40, 514, 68, 1028, 4112, 0, 0}, {255, 3840, 5376, 0, 0, 0, 0}, {6912, 13056, 17408, 0, 0, 0, 0}, {26, 48, 64, 257, 0, 0, 0}, {42, 514, 4360, 0, 0, 0, 0}, {48, 771, 5132, 0, 0, 0, 0}, {64, 1028, 4876, 0, 0, 0, 0}, {90, 1285, 4367, 0, 0, 0, 0}, {106, 1542, 4364, 0, 0, 0, 0}, {112, 1799, 4879, 0, 0, 0, 0}, {128, 2056, 4864, 0, 0, 0, 0}, {48, 771, 90, 1285, 4355, 0, 0}, {170, 2570, 4352, 0, 0, 0, 0}, {48, 771, 64, 1028, 4096, 0, 0}, {192, 3084, 5888, 0, 0, 0, 0}, {42, 514, 90, 1285, 4359, 0, 0}, {42, 514, 64, 1028, 4356, 0, 0}, {240, 3855, 5120, 0, 0, 0, 0}, {48, 768, 64, 1024, 4112, 0, 0}, {170, 2560, 4369, 0, 0, 0, 0}, {48, 768, 90, 1280, 4370, 0, 0}, {128, 2048, 4883, 0, 0, 0, 0}, {240, 3840, 5140, 0, 0, 0, 0}, {42, 512, 64, 1024, 4373, 0, 0}, {42, 512, 90, 1280, 4374, 0, 0}, {192, 3072, 5911, 0, 0, 0, 0}, {48, 768, 5144, 0, 0, 0, 0}, {42, 512, 4377, 0, 0, 0, 0}, {26, 48, 64, 256, 0, 0, 0}, {6939, 13107, 17476, 0, 0, 0, 0}, {112, 1792, 4892, 0, 0, 0, 0}, {106, 1536, 4381, 0, 0, 0, 0}, {90, 1280, 4382, 0, 0, 0, 0}, {64, 1024, 4895, 0, 0, 0, 0}, {128, 2048, 4896, 0, 0, 0, 0}, {48, 771, 90, 1295, 4369, 0, 0}, {170, 2560, 4386, 0, 0, 0, 0}, {48, 771, 64, 1036, 4112, 0, 0}, {192, 3084, 5928, 0, 0, 0, 0}, {42, 512, 90, 1295, 4367, 0, 0}, {42, 512, 64, 1036, 4364, 0, 0}, {240, 3855, 5160, 0, 0, 0, 0}, {6952, 13056, 17544, 0, 0, 0, 0}, {26, 48, 64, 259, 0, 0, 0}, {42, 512, 4352, 0, 0, 0, 0}, {48, 771, 5140, 0, 0, 0, 0}, {64, 1036, 4908, 0, 0, 0, 0}, {90, 1295, 4397, 0, 0, 0, 0}, {106, 1548, 4398, 0, 0, 0, 0}, {112, 1807, 4911, 0, 0, 0, 0}, {48, 768, 5120, 0, 0, 0, 0}, {42, 514, 4369, 0, 0, 0, 0}, {26, 48, 64, 258, 0, 0, 0}, {6963, 13107, 17612, 0, 0, 0, 0}, {112, 1800, 4924, 0, 0, 0, 0}, {106, 1546, 4415, 0, 0, 0, 0}, {90, 1290, 4412, 0, 0, 0, 0}, {64, 1032, 4927, 0, 0, 0, 0}, {48, 768, 64, 1032, 4096, 0, 0}, {170, 2570, 4403, 0, 0, 0, 0}, {48, 768, 90, 1290, 4352, 0, 0}, {128, 2056, 4915, 0, 0, 0, 0}, {240, 3840, 5180, 0, 0, 0, 0}, {42, 514, 64, 1032, 4381, 0, 0}, {42, 514, 90, 1290, 4382, 0, 0}, {192, 3072, 5951, 0, 0, 0, 0}, {64, 1024, 4864, 0, 0, 0, 0}, {90, 1285, 4369, 0, 0, 0, 0}, {106, 1546, 4386, 0, 0, 0, 0}, {112, 1807, 4915, 0, 0, 0, 0}, {6980, 13260, 17476, 0, 0, 0, 0}, {26, 48, 64, 261, 0, 0, 0}, {42, 522, 4428, 0, 0, 0, 0}, {48, 783, 5192, 0, 0, 0, 0}, {192, 3072, 5960, 0, 0, 0, 0}, {42, 522, 90, 1285, 4377, 0, 0}, {42, 522, 64, 1024, 4352, 0, 0}, {240, 3855, 5188, 0, 0, 0, 0}, {128, 2048, 4940, 0, 0, 0, 0}, {48, 783, 90, 1285, 4381, 0, 0}, {170, 2570, 4420, 0, 0, 0, 0}, {48, 783, 64, 1024, 4096, 0, 0}, {240, 3840, 5200, 0, 0, 0, 0}, {42, 520, 64, 1028, 4369, 0, 0}, {42, 520, 90, 1280, 4360, 0, 0}, {192, 3084, 5983, 0, 0, 0, 0}, {48, 780, 64, 1028, 4112, 0, 0}, {170, 2560, 4437, 0, 0, 0, 0}, {48, 780, 90, 1280, 4364, 0, 0}, {128, 2056, 4959, 0, 0, 0, 0}, {112, 1800, 4896, 0, 0, 0, 0}, {106, 1548, 4403, 0, 0, 0, 0}, {90, 1280, 4352, 0, 0, 0, 0}, {64, 1028, 4883, 0, 0, 0, 0}, {48, 780, 5212, 0, 0, 0, 0}, {42, 520, 4445, 0, 0, 0, 0}, {26, 48, 64, 260, 0, 0, 0}, {7007, 13311, 17408, 0, 0, 0, 0}, {192, 3072, 5984, 0, 0, 0, 0}, {42, 520, 90, 1295, 4369, 0, 0}, {42, 520, 64, 1032, 4360, 0, 0}, {240, 3855, 5228, 0, 0, 0, 0}, {128, 2056, 4972, 0, 0, 0, 0}, {48, 783, 90, 1295, 4367, 0, 0}, {170, 2560, 4454, 0, 0, 0, 0}, {48, 783, 64, 1032, 4112, 0, 0}, {64, 1032, 4896, 0, 0, 0, 0}, {90, 1295, 4403, 0, 0, 0, 0}, {106, 1536, 4352, 0, 0, 0, 0}, {112, 1799, 4883, 0, 0, 0, 0}, {7020, 13260, 17612, 0, 0, 0, 0}, {26, 48, 64, 263, 0, 0, 0}, {42, 520, 4420, 0, 0, 0, 0}, {48, 783, 5200, 0, 0, 0, 0}, {112, 1792, 4864, 0, 0, 0, 0}, {106, 1542, 4369, 0, 0, 0, 0}, {90, 1290, 4386, 0, 0, 0, 0}, {64, 1036, 4915, 0, 0, 0, 0}, {48, 780, 5188, 0, 0, 0, 0}, {42, 522, 4437, 0, 0, 0, 0}, {26, 48, 64, 262, 0, 0, 0}, {7031, 13311, 17544, 0, 0, 0, 0}, {240, 3840, 5240, 0, 0, 0, 0}, {42, 522, 64, 1036, 4377, 0, 0}, {42, 522, 90, 1290, 4352, 0, 0}, {192, 3084, 6007, 0, 0, 0, 0}, {48, 780, 64, 1036, 4096, 0, 0}, {170, 2570, 4471, 0, 0, 0, 0}, {48, 780, 90, 1290, 4382, 0, 0}, {128, 2048, 4991, 0, 0, 0, 0}, {128, 2048, 4864, 0, 0, 0, 0}, {48, 771, 90, 1285, 4369, 0, 0}, {170, 2570, 4386, 0, 0, 0, 0}, {48, 771, 64, 1036, 4096, 0, 0}, {192, 3084, 5960, 0, 0, 0, 0}, {42, 522, 90, 1285, 4367, 0, 0}, {42, 522, 64, 1036, 4364, 0, 0}, {240, 3855, 5240, 0, 0, 0, 0}, {7048, 13056, 17544, 0, 0, 0, 0}, {26, 48, 64, 275, 0, 0, 0}, {42, 522, 4352, 0, 0, 0, 0}, {48, 771, 5188, 0, 0, 0, 0}, {64, 1036, 4876, 0, 0, 0, 0}, {90, 1285, 4397, 0, 0, 0, 0}, {106, 1542, 4398, 0, 0, 0, 0}, {112, 1807, 4879, 0, 0, 0, 0}, {48, 768, 5200, 0, 0, 0, 0}, {42, 520, 4369, 0, 0, 0, 0}, {26, 48, 64, 274, 0, 0, 0}, {7059, 13107, 17612, 0, 0, 0, 0}, {112, 1800, 4892, 0, 0, 0, 0}, {106, 1536, 4415, 0, 0, 0, 0}, {90, 1280, 4412, 0, 0, 0, 0}, {64, 1032, 4895, 0, 0, 0, 0}, {48, 768, 64, 1032, 4112, 0, 0}, {170, 2560, 4403, 0, 0, 0, 0}, {48, 768, 90, 1280, 4352, 0, 0}, {128, 2056, 4883, 0, 0, 0, 0}, {240, 3840, 5228, 0, 0, 0, 0}, {42, 520, 64, 1032, 4381, 0, 0}, {42, 520, 90, 1280, 4382, 0, 0}, {192, 3072, 5983, 0, 0, 0, 0}, {7072, 13056, 17408, 0, 0, 0, 0}, {26, 48, 64, 273, 0, 0, 0}, {42, 520, 4360, 0, 0, 0, 0}, {48, 771, 5212, 0, 0, 0, 0}, {64, 1028, 4908, 0, 0, 0, 0}, {90, 1295, 4367, 0, 0, 0, 0}, {106, 1548, 4364, 0, 0, 0, 0}, {112, 1799, 4911, 0, 0, 0, 0}, {128, 2056, 4896, 0, 0, 0, 0}, {48, 771, 90, 1295, 4355, 0, 0}, {170, 2560, 4352, 0, 0, 0, 0}, {48, 771, 64, 1028, 4112, 0, 0}, {192, 3084, 5984, 0, 0, 0, 0}, {42, 520, 90, 1295, 4359, 0, 0}, {42, 520, 64, 1028, 4356, 0, 0}, {240, 3855, 5200, 0, 0, 0, 0}, {48, 768, 64, 1024, 4096, 0, 0}, {170, 2570, 4369, 0, 0, 0, 0}, {48, 768, 90, 1290, 4370, 0, 0}, {128, 2048, 4915, 0, 0, 0, 0}, {240, 3840, 5188, 0, 0, 0, 0}, {42, 522, 64, 1024, 4373, 0, 0}, {42, 522, 90, 1290, 4374, 0, 0}, {192, 3072, 6007, 0, 0, 0, 0}, {48, 768, 5192, 0, 0, 0, 0}, {42, 522, 4377, 0, 0, 0, 0}, {26, 48, 64, 272, 0, 0, 0}, {7099, 13107, 17476, 0, 0, 0, 0}, {112, 1792, 4924, 0, 0, 0, 0}, {106, 1546, 4381, 0, 0, 0, 0}, {90, 1290, 4382, 0, 0, 0, 0}, {64, 1024, 4927, 0, 0, 0, 0}, {192, 3072, 5888, 0, 0, 0, 0}, {42, 514, 90, 1285, 4369, 0, 0}, {42, 514, 64, 1032, 4360, 0, 0}, {240, 3855, 5180, 0, 0, 0, 0}, {128, 2056, 4940, 0, 0, 0, 0}, {48, 783, 90, 1285, 4367, 0, 0}, {170, 2570, 4454, 0, 0, 0, 0}, {48, 783, 64, 1032, 4096, 0, 0}, {64, 1032, 4864, 0, 0, 0, 0}, {90, 1285, 4403, 0, 0, 0, 0}, {106, 1546, 4352, 0, 0, 0, 0}, {112, 1799, 4915, 0, 0, 0, 0}, {7116, 13260, 17612, 0, 0, 0, 0}, {26, 48, 64, 279, 0, 0, 0}, {42, 514, 4420, 0, 0, 0, 0}, {48, 783, 5120, 0, 0, 0, 0}, {112, 1792, 4896, 0, 0, 0, 0}, {106, 1548, 4369, 0, 0, 0, 0}, {90, 1280, 4386, 0, 0, 0, 0}, {64, 1036, 4883, 0, 0, 0, 0}, {48, 780, 5140, 0, 0, 0, 0}, {42, 512, 4437, 0, 0, 0, 0}, {26, 48, 64, 278, 0, 0, 0}, {7127, 13311, 17544, 0, 0, 0, 0}, {240, 3840, 5160, 0, 0, 0, 0}, {42, 512, 64, 1036, 4377, 0, 0}, {42, 512, 90, 1280, 4352, 0, 0}, {192, 3084, 5911, 0, 0, 0, 0}, {48, 780, 64, 1036, 4112, 0, 0}, {170, 2560, 4471, 0, 0, 0, 0}, {48, 780, 90, 1280, 4382, 0, 0}, {128, 2048, 4959, 0, 0, 0, 0}, {64, 1024, 4896, 0, 0, 0, 0}, {90, 1295, 4369, 0, 0, 0, 0}, {106, 1536, 4386, 0, 0, 0, 0}, {112, 1807, 4883, 0, 0, 0, 0}, {7140, 13260, 17476, 0, 0, 0, 0}, {26, 48, 64, 277, 0, 0, 0}, {42, 512, 4428, 0, 0, 0, 0}, {48, 783, 5144, 0, 0, 0, 0}, {192, 3072, 5928, 0, 0, 0, 0}, {42, 512, 90, 1295, 4377, 0, 0}, {42, 512, 64, 1024, 4352, 0, 0}, {240, 3855, 5140, 0, 0, 0, 0}, {128, 2048, 4972, 0, 0, 0, 0}, {48, 783, 90, 1295, 4381, 0, 0}, {170, 2560, 4420, 0, 0, 0, 0}, {48, 783, 64, 1024, 4112, 0, 0}, {240, 3840, 5120, 0, 0, 0, 0}, {42, 514, 64, 1028, 4369, 0, 0}, {42, 514, 90, 1290, 4360, 0, 0}, {192, 3084, 5951, 0, 0, 0, 0}, {48, 780, 64, 1028, 4096, 0, 0}, {170, 2570, 4437, 0, 0, 0, 0}, {48, 780, 90, 1290, 4364, 0, 0}, {128, 2056, 4991, 0, 0, 0, 0}, {112, 1800, 4864, 0, 0, 0, 0}, {106, 1542, 4403, 0, 0, 0, 0}, {90, 1290, 4352, 0, 0, 0, 0}, {64, 1028, 4915, 0, 0, 0, 0}, {48, 780, 5132, 0, 0, 0, 0}, {42, 514, 4445, 0, 0, 0, 0}, {26, 48, 64, 276, 0, 0, 0}, {7167, 13311, 17408, 0, 0, 0, 0}, {7168, 8192, 20480, 0, 0, 0, 0}, {29, 34, 85, 257, 0, 0, 0}, {34, 514, 5130, 0, 0, 0, 0}, {63, 771, 4111, 0, 0, 0, 0}, {72, 1028, 4104, 0, 0, 0, 0}, {85, 1285, 4874, 0, 0, 0, 0}, {106, 1542, 4106, 0, 0, 0, 0}, {119, 1799, 4872, 0, 0, 0, 0}, {136, 2056, 5120, 0, 0, 0, 0}, {63, 771, 85, 1285, 4101, 0, 0}, {170, 2570, 5632, 0, 0, 0, 0}, {63, 771, 72, 1028, 4103, 0, 0}, {192, 3084, 4096, 0, 0, 0, 0}, {34, 514, 85, 1285, 4352, 0, 0}, {34, 514, 72, 1028, 4098, 0, 0}, {255, 3855, 4864, 0, 0, 0, 0}, {192, 3072, 4112, 0, 0, 0, 0}, {34, 512, 85, 1280, 4369, 0, 0}, {34, 512, 72, 1024, 4114, 0, 0}, {255, 3840, 4883, 0, 0, 0, 0}, {136, 2048, 5140, 0, 0, 0, 0}, {63, 768, 85, 1280, 4117, 0, 0}, {170, 2560, 5654, 0, 0, 0, 0}, {63, 768, 72, 1024, 4119, 0, 0}, {72, 1024, 4120, 0, 0, 0, 0}, {85, 1280, 4889, 0, 0, 0, 0}, {106, 1536, 4122, 0, 0, 0, 0}, {119, 1792, 4891, 0, 0, 0, 0}, {7196, 8224, 20560, 0, 0, 0, 0}, {29, 34, 85, 256, 0, 0, 0}, {34, 512, 5150, 0, 0, 0, 0}, {63, 768, 4127, 0, 0, 0, 0}, {7200, 8224, 20640, 0, 0, 0, 0}, {29, 34, 85, 259, 0, 0, 0}, {34, 512, 5120, 0, 0, 0, 0}, {63, 771, 4112, 0, 0, 0, 0}, {72, 1036, 4136, 0, 0, 0, 0}, {85, 1295, 4906, 0, 0, 0, 0}, {106, 1548, 4138, 0, 0, 0, 0}, {119, 1807, 4904, 0, 0, 0, 0}, {136, 2048, 5160, 0, 0, 0, 0}, {63, 771, 85, 1295, 4122, 0, 0}, {170, 2560, 5674, 0, 0, 0, 0}, {63, 771, 72, 1036, 4120, 0, 0}, {192, 3084, 4128, 0, 0, 0, 0}, {34, 512, 85, 1295, 4352, 0, 0}, {34, 512, 72, 1036, 4096, 0, 0}, {255, 3855, 4896, 0, 0, 0, 0}, {192, 3072, 4144, 0, 0, 0, 0}, {34, 514, 85, 1290, 4369, 0, 0}, {34, 514, 72, 1032, 4112, 0, 0}, {255, 3840, 4915, 0, 0, 0, 0}, {136, 2056, 5180, 0, 0, 0, 0}, {63, 768, 85, 1290, 4106, 0, 0}, {170, 2570, 5692, 0, 0, 0, 0}, {63, 768, 72, 1032, 4104, 0, 0}, {72, 1032, 4152, 0, 0, 0, 0}, {85, 1290, 4921, 0, 0, 0, 0}, {106, 1546, 4154, 0, 0, 0, 0}, {119, 1800, 4923, 0, 0, 0, 0}, {7228, 8192, 20720, 0, 0, 0, 0}, {29, 34, 85, 258, 0, 0, 0}, {34, 514, 5140, 0, 0, 0, 0}, {63, 768, 4096, 0, 0, 0, 0}, {192, 3072, 4160, 0, 0, 0, 0}, {34, 522, 85, 1285, 4369, 0, 0}, {34, 522, 72, 1024, 4106, 0, 0}, {255, 3855, 4940, 0, 0, 0, 0}, {136, 2048, 5188, 0, 0, 0, 0}, {63, 783, 85, 1285, 4112, 0, 0}, {170, 2570, 5708, 0, 0, 0, 0}, {63, 783, 72, 1024, 4111, 0, 0}, {72, 1024, 4096, 0, 0, 0, 0}, {85, 1285, 4883, 0, 0, 0, 0}, {106, 1546, 4128, 0, 0, 0, 0}, {119, 1807, 4915, 0, 0, 0, 0}, {7244, 8320, 20480, 0, 0, 0, 0}, {29, 34, 85, 261, 0, 0, 0}, {34, 522, 5198, 0, 0, 0, 0}, {63, 783, 4175, 0, 0, 0, 0}, {7248, 8352, 20560, 0, 0, 0, 0}, {29, 34, 85, 260, 0, 0, 0}, {34, 520, 5210, 0, 0, 0, 0}, {63, 780, 4191, 0, 0, 0, 0}, {72, 1028, 4112, 0, 0, 0, 0}, {85, 1280, 4864, 0, 0, 0, 0}, {106, 1548, 4144, 0, 0, 0, 0}, {119, 1800, 4896, 0, 0, 0, 0}, {136, 2056, 5200, 0, 0, 0, 0}, {63, 780, 85, 1280, 4096, 0, 0}, {170, 2560, 5722, 0, 0, 0, 0}, {63, 780, 72, 1028, 4127, 0, 0}, {192, 3084, 4176, 0, 0, 0, 0}, {34, 520, 85, 1280, 4352, 0, 0}, {34, 520, 72, 1028, 4122, 0, 0}, {255, 3840, 4959, 0, 0, 0, 0}, {192, 3072, 4192, 0, 0, 0, 0}, {34, 520, 85, 1295, 4369, 0, 0}, {34, 520, 72, 1032, 4104, 0, 0}, {255, 3855, 4972, 0, 0, 0, 0}, {136, 2056, 5228, 0, 0, 0, 0}, {63, 783, 85, 1295, 4111, 0, 0}, {170, 2560, 5734, 0, 0, 0, 0}, {63, 783, 72, 1032, 4112, 0, 0}, {72, 1032, 4128, 0, 0, 0, 0}, {85, 1295, 4915, 0, 0, 0, 0}, {106, 1536, 4096, 0, 0, 0, 0}, {119, 1799, 4883, 0, 0, 0, 0}, {7276, 8352, 20640, 0, 0, 0, 0}, {29, 34, 85, 263, 0, 0, 0}, {34, 520, 5188, 0, 0, 0, 0}, {63, 783, 4176, 0, 0, 0, 0}, {7280, 8320, 20720, 0, 0, 0, 0}, {29, 34, 85, 262, 0, 0, 0}, {34, 522, 5200, 0, 0, 0, 0}, {63, 780, 4160, 0, 0, 0, 0}, {72, 1036, 4144, 0, 0, 0, 0}, {85, 1290, 4896, 0, 0, 0, 0}, {106, 1542, 4112, 0, 0, 0, 0}, {119, 1792, 4864, 0, 0, 0, 0}, {136, 2048, 5240, 0, 0, 0, 0}, {63, 780, 85, 1290, 4127, 0, 0}, {170, 2570, 5744, 0, 0, 0, 0}, {63, 780, 72, 1036, 4096, 0, 0}, {192, 3084, 4208, 0, 0, 0, 0}, {34, 522, 85, 1290, 4352, 0, 0}, {34, 522, 72, 1036, 4120, 0, 0}, {255, 3840, 4991, 0, 0, 0, 0}, {7296, 8320, 20480, 0, 0, 0, 0}, {29, 34, 85, 276, 0, 0, 0}, {34, 522, 5130, 0, 0, 0, 0}, {63, 771, 4175, 0, 0, 0, 0}, {72, 1036, 4096, 0, 0, 0, 0}, {85, 1285, 4896, 0, 0, 0, 0}, {106, 1542, 4128, 0, 0, 0, 0}, {119, 1807, 4864, 0, 0, 0, 0}, {136, 2048, 5120, 0, 0, 0, 0}, {63, 771, 85, 1285, 4112, 0, 0}, {170, 2570, 5674, 0, 0, 0, 0}, {63, 771, 72, 1036, 4111, 0, 0}, {192, 3084, 4160, 0, 0, 0, 0}, {34, 522, 85, 1285, 4352, 0, 0}, {34, 522, 72, 1036, 4106, 0, 0}, {255, 3855, 4991, 0, 0, 0, 0}, {192, 3072, 4176, 0, 0, 0, 0}, {34, 520, 85, 1280, 4369, 0, 0}, {34, 520, 72, 1032, 4122, 0, 0}, {255, 3840, 4972, 0, 0, 0, 0}, {136, 2056, 5140, 0, 0, 0, 0}, {63, 768, 85, 1280, 4096, 0, 0}, {170, 2560, 5692, 0, 0, 0, 0}, {63, 768, 72, 1032, 4127, 0, 0}, {72, 1032, 4112, 0, 0, 0, 0}, {85, 1280, 4915, 0, 0, 0, 0}, {106, 1536, 4144, 0, 0, 0, 0}, {119, 1800, 4883, 0, 0, 0, 0}, {7324, 8352, 20560, 0, 0, 0, 0}, {29, 34, 85, 277, 0, 0, 0}, {34, 520, 5150, 0, 0, 0, 0}, {63, 768, 4191, 0, 0, 0, 0}, {7328, 8352, 20640, 0, 0, 0, 0}, {29, 34, 85, 278, 0, 0, 0}, {34, 520, 5120, 0, 0, 0, 0}, {63, 771, 4176, 0, 0, 0, 0}, {72, 1028, 4128, 0, 0, 0, 0}, {85, 1295, 4864, 0, 0, 0, 0}, {106, 1548, 4096, 0, 0, 0, 0}, {119, 1799, 4896, 0, 0, 0, 0}, {136, 2056, 5160, 0, 0, 0, 0}, {63, 771, 85, 1295, 4111, 0, 0}, {170, 2560, 5632, 0, 0, 0, 0}, {63, 771, 72, 1028, 4112, 0, 0}, {192, 3084, 4192, 0, 0, 0, 0}, {34, 520, 85, 1295, 4352, 0, 0}, {34, 520, 72, 1028, 4104, 0, 0}, {255, 3855, 4959, 0, 0, 0, 0}, {192, 3072, 4208, 0, 0, 0, 0}, {34, 522, 85, 1290, 4369, 0, 0}, {34, 522, 72, 1024, 4120, 0, 0}, {255, 3840, 4940, 0, 0, 0, 0}, {136, 2048, 5180, 0, 0, 0, 0}, {63, 768, 85, 1290, 4127, 0, 0}, {170, 2570, 5654, 0, 0, 0, 0}, {63, 768, 72, 1024, 4096, 0, 0}, {72, 1024, 4144, 0, 0, 0, 0}, {85, 1290, 4883, 0, 0, 0, 0}, {106, 1546, 4112, 0, 0, 0, 0}, {119, 1792, 4915, 0, 0, 0, 0}, {7356, 8320, 20720, 0, 0, 0, 0}, {29, 34, 85, 279, 0, 0, 0}, {34, 522, 5140, 0, 0, 0, 0}, {63, 768, 4160, 0, 0, 0, 0}, {192, 3072, 4096, 0, 0, 0, 0}, {34, 514, 85, 1285, 4369, 0, 0}, {34, 514, 72, 1032, 4098, 0, 0}, {255, 3855, 4915, 0, 0, 0, 0}, {136, 2056, 5188, 0, 0, 0, 0}, {63, 783, 85, 1285, 4101, 0, 0}, {170, 2570, 5734, 0, 0, 0, 0}, {63, 783, 72, 1032, 4103, 0, 0}, {72, 1032, 4104, 0, 0, 0, 0}, {85, 1285, 4921, 0, 0, 0, 0}, {106, 1546, 4106, 0, 0, 0, 0}, {119, 1799, 4923, 0, 0, 0, 0}, {7372, 8192, 20480, 0, 0, 0, 0}, {29, 34, 85, 272, 0, 0, 0}, {34, 514, 5198, 0, 0, 0, 0}, {63, 783, 4111, 0, 0, 0, 0}, {7376, 8224, 20560, 0, 0, 0, 0}, {29, 34, 85, 273, 0, 0, 0}, {34, 512, 5210, 0, 0, 0, 0}, {63, 780, 4127, 0, 0, 0, 0}, {72, 1036, 4120, 0, 0, 0, 0}, {85, 1280, 4906, 0, 0, 0, 0}, {106, 1548, 4122, 0, 0, 0, 0}, {119, 1792, 4904, 0, 0, 0, 0}, {136, 2048, 5200, 0, 0, 0, 0}, {63, 780, 85, 1280, 4117, 0, 0}, {170, 2560, 5744, 0, 0, 0, 0}, {63, 780, 72, 1036, 4119, 0, 0}, {192, 3084, 4112, 0, 0, 0, 0}, {34, 512, 85, 1280, 4352, 0, 0}, {34, 512, 72, 1036, 4114, 0, 0}, {255, 3840, 4896, 0, 0, 0, 0}, {192, 3072, 4128, 0, 0, 0, 0}, {34, 512, 85, 1295, 4369, 0, 0}, {34, 512, 72, 1024, 4096, 0, 0}, {255, 3855, 4883, 0, 0, 0, 0}, {136, 2048, 5228, 0, 0, 0, 0}, {63, 783, 85, 1295, 4122, 0, 0}, {170, 2560, 5708, 0, 0, 0, 0}, {63, 783, 72, 1024, 4120, 0, 0}, {72, 1024, 4136, 0, 0, 0, 0}, {85, 1295, 4889, 0, 0, 0, 0}, {106, 1536, 4138, 0, 0, 0, 0}, {119, 1807, 4891, 0, 0, 0, 0}, {7404, 8224, 20640, 0, 0, 0, 0}, {29, 34, 85, 274, 0, 0, 0}, {34, 512, 5188, 0, 0, 0, 0}, {63, 783, 4112, 0, 0, 0, 0}, {7408, 8192, 20720, 0, 0, 0, 0}, {29, 34, 85, 275, 0, 0, 0}, {34, 514, 5200, 0, 0, 0, 0}, {63, 780, 4096, 0, 0, 0, 0}, {72, 1028, 4152, 0, 0, 0, 0}, {85, 1290, 4874, 0, 0, 0, 0}, {106, 1542, 4154, 0, 0, 0, 0}, {119, 1800, 4872, 0, 0, 0, 0}, {136, 2056, 5240, 0, 0, 0, 0}, {63, 780, 85, 1290, 4106, 0, 0}, {170, 2570, 5722, 0, 0, 0, 0}, {63, 780, 72, 1028, 4104, 0, 0}, {192, 3084, 4144, 0, 0, 0, 0}, {34, 514, 85, 1290, 4352, 0, 0}, {34, 514, 72, 1028, 4112, 0, 0}, {255, 3840, 4864, 0, 0, 0, 0}, {7424, 8704, 21760, 0, 0, 0, 0}, {28, 32, 80, 257, 0, 0, 0}, {32, 514, 5386, 0, 0, 0, 0}, {60, 771, 4367, 0, 0, 0, 0}, {76, 1028, 4360, 0, 0, 0, 0}, {80, 1285, 4618, 0, 0, 0, 0}, {108, 1542, 4362, 0, 0, 0, 0}, {112, 1799, 4616, 0, 0, 0, 0}, {128, 2056, 5376, 0, 0, 0, 0}, {60, 771, 80, 1285, 4357, 0, 0}, {160, 2570, 5888, 0, 0, 0, 0}, {60, 771, 76, 1028, 4359, 0, 0}, {204, 3084, 4352, 0, 0, 0, 0}, {32, 514, 80, 1285, 4096, 0, 0}, {32, 514, 76, 1028, 4354, 0, 0}, {240, 3855, 4608, 0, 0, 0, 0}, {32, 512, 80, 1280, 4112, 0, 0}, {204, 3072, 4369, 0, 0, 0, 0}, {240, 3840, 4626, 0, 0, 0, 0}, {32, 512, 76, 1024, 4371, 0, 0}, {60, 768, 80, 1280, 4372, 0, 0}, {128, 2048, 5397, 0, 0, 0, 0}, {60, 768, 76, 1024, 4374, 0, 0}, {160, 2560, 5911, 0, 0, 0, 0}, {80, 1280, 4632, 0, 0, 0, 0}, {76, 1024, 4377, 0, 0, 0, 0}, {112, 1792, 4634, 0, 0, 0, 0}, {108, 1536, 4379, 0, 0, 0, 0}, {28, 32, 80, 256, 0, 0, 0}, {7453, 8738, 21845, 0, 0, 0, 0}, {60, 768, 4382, 0, 0, 0, 0}, {32, 512, 5407, 0, 0, 0, 0}, {32, 512, 5376, 0, 0, 0, 0}, {60, 771, 4369, 0, 0, 0, 0}, {7458, 8738, 21930, 0, 0, 0, 0}, {28, 32, 80, 259, 0, 0, 0}, {108, 1548, 4392, 0, 0, 0, 0}, {112, 1807, 4650, 0, 0, 0, 0}, {76, 1036, 4394, 0, 0, 0, 0}, {80, 1295, 4648, 0, 0, 0, 0}, {160, 2560, 5928, 0, 0, 0, 0}, {60, 771, 76, 1036, 4377, 0, 0}, {128, 2048, 5418, 0, 0, 0, 0}, {60, 771, 80, 1295, 4379, 0, 0}, {32, 512, 76, 1036, 4352, 0, 0}, {240, 3855, 4642, 0, 0, 0, 0}, {204, 3084, 4386, 0, 0, 0, 0}, {32, 512, 80, 1295, 4096, 0, 0}, {240, 3840, 4656, 0, 0, 0, 0}, {32, 514, 76, 1032, 4369, 0, 0}, {32, 514, 80, 1290, 4112, 0, 0}, {204, 3072, 4403, 0, 0, 0, 0}, {60, 768, 76, 1032, 4360, 0, 0}, {160, 2570, 5951, 0, 0, 0, 0}, {60, 768, 80, 1290, 4362, 0, 0}, {128, 2056, 5439, 0, 0, 0, 0}, {112, 1800, 4664, 0, 0, 0, 0}, {108, 1546, 4409, 0, 0, 0, 0}, {80, 1290, 4666, 0, 0, 0, 0}, {76, 1032, 4411, 0, 0, 0, 0}, {60, 768, 4352, 0, 0, 0, 0}, {32, 514, 5397, 0, 0, 0, 0}, {28, 32, 80, 258, 0, 0, 0}, {7487, 8704, 22015, 0, 0, 0, 0}, {128, 2048, 5440, 0, 0, 0, 0}, {60, 783, 80, 1285, 4369, 0, 0}, {160, 2570, 5960, 0, 0, 0, 0}, {60, 783, 76, 1024, 4367, 0, 0}, {204, 3072, 4420, 0, 0, 0, 0}, {32, 522, 80, 1285, 4112, 0, 0}, {32, 522, 76, 1024, 4362, 0, 0}, {240, 3855, 4680, 0, 0, 0, 0}, {7496, 8840, 21760, 0, 0, 0, 0}, {28, 32, 80, 261, 0, 0, 0}, {32, 522, 5450, 0, 0, 0, 0}, {60, 783, 4427, 0, 0, 0, 0}, {76, 1024, 4352, 0, 0, 0, 0}, {80, 1285, 4626, 0, 0, 0, 0}, {108, 1546, 4386, 0, 0, 0, 0}, {112, 1807, 4656, 0, 0, 0, 0}, {80, 1280, 4608, 0, 0, 0, 0}, {76, 1028, 4369, 0, 0, 0, 0}, {112, 1800, 4642, 0, 0, 0, 0}, {108, 1548, 4403, 0, 0, 0, 0}, {28, 32, 80, 260, 0, 0, 0}, {7509, 8874, 21845, 0, 0, 0, 0}, {60, 780, 4442, 0, 0, 0, 0}, {32, 520, 5471, 0, 0, 0, 0}, {32, 520, 80, 1280, 4096, 0, 0}, {204, 3084, 4437, 0, 0, 0, 0}, {240, 3840, 4698, 0, 0, 0, 0}, {32, 520, 76, 1028, 4379, 0, 0}, {60, 780, 80, 1280, 4352, 0, 0}, {128, 2056, 5461, 0, 0, 0, 0}, {60, 780, 76, 1028, 4382, 0, 0}, {160, 2560, 5983, 0, 0, 0, 0}, {160, 2560, 5984, 0, 0, 0, 0}, {60, 783, 76, 1032, 4369, 0, 0}, {128, 2056, 5482, 0, 0, 0, 0}, {60, 783, 80, 1295, 4367, 0, 0}, {32, 520, 76, 1032, 4360, 0, 0}, {240, 3855, 4714, 0, 0, 0, 0}, {204, 3072, 4454, 0, 0, 0, 0}, {32, 520, 80, 1295, 4112, 0, 0}, {32, 520, 5440, 0, 0, 0, 0}, {60, 783, 4437, 0, 0, 0, 0}, {7530, 8874, 21930, 0, 0, 0, 0}, {28, 32, 80, 263, 0, 0, 0}, {108, 1536, 4352, 0, 0, 0, 0}, {112, 1799, 4626, 0, 0, 0, 0}, {76, 1032, 4386, 0, 0, 0, 0}, {80, 1295, 4656, 0, 0, 0, 0}, {112, 1792, 4608, 0, 0, 0, 0}, {108, 1542, 4369, 0, 0, 0, 0}, {80, 1290, 4642, 0, 0, 0, 0}, {76, 1036, 4403, 0, 0, 0, 0}, {60, 780, 4420, 0, 0, 0, 0}, {32, 522, 5461, 0, 0, 0, 0}, {28, 32, 80, 262, 0, 0, 0}, {7543, 8840, 22015, 0, 0, 0, 0}, {240, 3840, 4728, 0, 0, 0, 0}, {32, 522, 76, 1036, 4377, 0, 0}, {32, 522, 80, 1290, 4096, 0, 0}, {204, 3084, 4471, 0, 0, 0, 0}, {60, 780, 76, 1036, 4352, 0, 0}, {160, 2570, 6007, 0, 0, 0, 0}, {60, 780, 80, 1290, 4382, 0, 0}, {128, 2048, 5503, 0, 0, 0, 0}, {128, 2048, 5376, 0, 0, 0, 0}, {60, 771, 80, 1285, 4369, 0, 0}, {160, 2570, 5928, 0, 0, 0, 0}, {60, 771, 76, 1036, 4367, 0, 0}, {204, 3084, 4420, 0, 0, 0, 0}, {32, 522, 80, 1285, 4096, 0, 0}, {32, 522, 76, 1036, 4362, 0, 0}, {240, 3855, 4728, 0, 0, 0, 0}, {7560, 8840, 21760, 0, 0, 0, 0}, {28, 32, 80, 277, 0, 0, 0}, {32, 522, 5386, 0, 0, 0, 0}, {60, 771, 4427, 0, 0, 0, 0}, {76, 1036, 4352, 0, 0, 0, 0}, {80, 1285, 4642, 0, 0, 0, 0}, {108, 1542, 4386, 0, 0, 0, 0}, {112, 1807, 4608, 0, 0, 0, 0}, {80, 1280, 4656, 0, 0, 0, 0}, {76, 1032, 4369, 0, 0, 0, 0}, {112, 1800, 4626, 0, 0, 0, 0}, {108, 1536, 4403, 0, 0, 0, 0}, {28, 32, 80, 276, 0, 0, 0}, {7573, 8874, 21845, 0, 0, 0, 0}, {60, 768, 4442, 0, 0, 0, 0}, {32, 520, 5407, 0, 0, 0, 0}, {32, 520, 80, 1280, 4112, 0, 0}, {204, 3072, 4437, 0, 0, 0, 0}, {240, 3840, 4714, 0, 0, 0, 0}, {32, 520, 76, 1032, 4379, 0, 0}, {60, 768, 80, 1280, 4352, 0, 0}, {128, 2056, 5397, 0, 0, 0, 0}, {60, 768, 76, 1032, 4382, 0, 0}, {160, 2560, 5951, 0, 0, 0, 0}, {160, 2560, 5888, 0, 0, 0, 0}, {60, 771, 76, 1028, 4369, 0, 0}, {128, 2056, 5418, 0, 0, 0, 0}, {60, 771, 80, 1295, 4367, 0, 0}, {32, 520, 76, 1028, 4360, 0, 0}, {240, 3855, 4698, 0, 0, 0, 0}, {204, 3084, 4454, 0, 0, 0, 0}, {32, 520, 80, 1295, 4096, 0, 0}, {32, 520, 5376, 0, 0, 0, 0}, {60, 771, 4437, 0, 0, 0, 0}, {7594, 8874, 21930, 0, 0, 0, 0}, {28, 32, 80, 279, 0, 0, 0}, {108, 1548, 4352, 0, 0, 0, 0}, {112, 1799, 4642, 0, 0, 0, 0}, {76, 1028, 4386, 0, 0, 0, 0}, {80, 1295, 4608, 0, 0, 0, 0}, {112, 1792, 4656, 0, 0, 0, 0}, {108, 1546, 4369, 0, 0, 0, 0}, {80, 1290, 4626, 0, 0, 0, 0}, {76, 1024, 4403, 0, 0, 0, 0}, {60, 768, 4420, 0, 0, 0, 0}, {32, 522, 5397, 0, 0, 0, 0}, {28, 32, 80, 278, 0, 0, 0}, {7607, 8840, 22015, 0, 0, 0, 0}, {240, 3840, 4680, 0, 0, 0, 0}, {32, 522, 76, 1024, 4377, 0, 0}, {32, 522, 80, 1290, 4112, 0, 0}, {204, 3072, 4471, 0, 0, 0, 0}, {60, 768, 76, 1024, 4352, 0, 0}, {160, 2570, 5911, 0, 0, 0, 0}, {60, 768, 80, 1290, 4382, 0, 0}, {128, 2048, 5439, 0, 0, 0, 0}, {7616, 8704, 21760, 0, 0, 0, 0}, {28, 32, 80, 273, 0, 0, 0}, {32, 514, 5450, 0, 0, 0, 0}, {60, 783, 4367, 0, 0, 0, 0}, {76, 1032, 4360, 0, 0, 0, 0}, {80, 1285, 4666, 0, 0, 0, 0}, {108, 1546, 4362, 0, 0, 0, 0}, {112, 1799, 4664, 0, 0, 0, 0}, {128, 2056, 5440, 0, 0, 0, 0}, {60, 783, 80, 1285, 4357, 0, 0}, {160, 2570, 5984, 0, 0, 0, 0}, {60, 783, 76, 1032, 4359, 0, 0}, {204, 3072, 4352, 0, 0, 0, 0}, {32, 514, 80, 1285, 4112, 0, 0}, {32, 514, 76, 1032, 4354, 0, 0}, {240, 3855, 4656, 0, 0, 0, 0}, {32, 512, 80, 1280, 4096, 0, 0}, {204, 3084, 4369, 0, 0, 0, 0}, {240, 3840, 4642, 0, 0, 0, 0}, {32, 512, 76, 1036, 4371, 0, 0}, {60, 780, 80, 1280, 4372, 0, 0}, {128, 2048, 5461, 0, 0, 0, 0}, {60, 780, 76, 1036, 4374, 0, 0}, {160, 2560, 6007, 0, 0, 0, 0}, {80, 1280, 4648, 0, 0, 0, 0}, {76, 1036, 4377, 0, 0, 0, 0}, {112, 1792, 4650, 0, 0, 0, 0}, {108, 1548, 4379, 0, 0, 0, 0}, {28, 32, 80, 272, 0, 0, 0}, {7645, 8738, 21845, 0, 0, 0, 0}, {60, 780, 4382, 0, 0, 0, 0}, {32, 512, 5471, 0, 0, 0, 0}, {32, 512, 5440, 0, 0, 0, 0}, {60, 783, 4369, 0, 0, 0, 0}, {7650, 8738, 21930, 0, 0, 0, 0}, {28, 32, 80, 275, 0, 0, 0}, {108, 1536, 4392, 0, 0, 0, 0}, {112, 1807, 4634, 0, 0, 0, 0}, {76, 1024, 4394, 0, 0, 0, 0}, {80, 1295, 4632, 0, 0, 0, 0}, {160, 2560, 5960, 0, 0, 0, 0}, {60, 783, 76, 1024, 4377, 0, 0}, {128, 2048, 5482, 0, 0, 0, 0}, {60, 783, 80, 1295, 4379, 0, 0}, {32, 512, 76, 1024, 4352, 0, 0}, {240, 3855, 4626, 0, 0, 0, 0}, {204, 3072, 4386, 0, 0, 0, 0}, {32, 512, 80, 1295, 4112, 0, 0}, {240, 3840, 4608, 0, 0, 0, 0}, {32, 514, 76, 1028, 4369, 0, 0}, {32, 514, 80, 1290, 4096, 0, 0}, {204, 3084, 4403, 0, 0, 0, 0}, {60, 780, 76, 1028, 4360, 0, 0}, {160, 2570, 5983, 0, 0, 0, 0}, {60, 780, 80, 1290, 4362, 0, 0}, {128, 2056, 5503, 0, 0, 0, 0}, {112, 1800, 4616, 0, 0, 0, 0}, {108, 1542, 4409, 0, 0, 0, 0}, {80, 1290, 4618, 0, 0, 0, 0}, {76, 1028, 4411, 0, 0, 0, 0}, {60, 780, 4352, 0, 0, 0, 0}, {32, 514, 5461, 0, 0, 0, 0}, {28, 32, 80, 274, 0, 0, 0}, {7679, 8704, 22015, 0, 0, 0, 0}, {7680, 8704, 17408, 0, 0, 0, 0}, {31, 32, 64, 257, 0, 0, 0}, {32, 514, 5128, 0, 0, 0, 0}, {63, 771, 4364, 0, 0, 0, 0}, {64, 1028, 4616, 0, 0, 0, 0}, {95, 1285, 4362, 0, 0, 0, 0}, {96, 1542, 4618, 0, 0, 0, 0}, {127, 1799, 4360, 0, 0, 0, 0}, {128, 2056, 5632, 0, 0, 0, 0}, {63, 771, 95, 1285, 4358, 0, 0}, {160, 2570, 5120, 0, 0, 0, 0}, {63, 771, 64, 1028, 4356, 0, 0}, {192, 3084, 4608, 0, 0, 0, 0}, {32, 514, 95, 1285, 4354, 0, 0}, {32, 514, 64, 1028, 4096, 0, 0}, {255, 3855, 4352, 0, 0, 0, 0}, {32, 512, 64, 1024, 4112, 0, 0}, {255, 3840, 4369, 0, 0, 0, 0}, {192, 3072, 4626, 0, 0, 0, 0}, {32, 512, 95, 1280, 4371, 0, 0}, {160, 2560, 5140, 0, 0, 0, 0}, {63, 768, 64, 1024, 4373, 0, 0}, {128, 2048, 5654, 0, 0, 0, 0}, {63, 768, 95, 1280, 4375, 0, 0}, {96, 1536, 4632, 0, 0, 0, 0}, {127, 1792, 4377, 0, 0, 0, 0}, {64, 1024, 4634, 0, 0, 0, 0}, {95, 1280, 4379, 0, 0, 0, 0}, {32, 512, 5148, 0, 0, 0, 0}, {63, 768, 4381, 0, 0, 0, 0}, {7710, 8738, 17476, 0, 0, 0, 0}, {31, 32, 64, 256, 0, 0, 0}, {32, 512, 5120, 0, 0, 0, 0}, {63, 771, 4369, 0, 0, 0, 0}, {7714, 8738, 17544, 0, 0, 0, 0}, {31, 32, 64, 259, 0, 0, 0}, {96, 1548, 4648, 0, 0, 0, 0}, {127, 1807, 4394, 0, 0, 0, 0}, {64, 1036, 4650, 0, 0, 0, 0}, {95, 1295, 4392, 0, 0, 0, 0}, {160, 2560, 5160, 0, 0, 0, 0}, {63, 771, 64, 1036, 4377, 0, 0}, {128, 2048, 5674, 0, 0, 0, 0}, {63, 771, 95, 1295, 4379, 0, 0}, {32, 512, 64, 1036, 4096, 0, 0}, {255, 3855, 4386, 0, 0, 0, 0}, {192, 3084, 4642, 0, 0, 0, 0}, {32, 512, 95, 1295, 4352, 0, 0}, {192, 3072, 4656, 0, 0, 0, 0}, {32, 514, 95, 1290, 4369, 0, 0}, {32, 514, 64, 1032, 4112, 0, 0}, {255, 3840, 4403, 0, 0, 0, 0}, {128, 2056, 5692, 0, 0, 0, 0}, {63, 768, 95, 1290, 4362, 0, 0}, {160, 2570, 5180, 0, 0, 0, 0}, {63, 768, 64, 1032, 4360, 0, 0}, {64, 1032, 4664, 0, 0, 0, 0}, {95, 1290, 4409, 0, 0, 0, 0}, {96, 1546, 4666, 0, 0, 0, 0}, {127, 1800, 4411, 0, 0, 0, 0}, {7740, 8704, 17612, 0, 0, 0, 0}, {31, 32, 64, 258, 0, 0, 0}, {32, 514, 5140, 0, 0, 0, 0}, {63, 768, 4352, 0, 0, 0, 0}, {64, 1024, 4608, 0, 0, 0, 0}, {95, 1285, 4369, 0, 0, 0, 0}, {96, 1546, 4642, 0, 0, 0, 0}, {127, 1807, 4403, 0, 0, 0, 0}, {7748, 8840, 17476, 0, 0, 0, 0}, {31, 32, 64, 261, 0, 0, 0}, {32, 522, 5196, 0, 0, 0, 0}, {63, 783, 4424, 0, 0, 0, 0}, {192, 3072, 4680, 0, 0, 0, 0}, {32, 522, 95, 1285, 4377, 0, 0}, {32, 522, 64, 1024, 4096, 0, 0}, {255, 3855, 4420, 0, 0, 0, 0}, {128, 2048, 5708, 0, 0, 0, 0}, {63, 783, 95, 1285, 4381, 0, 0}, {160, 2570, 5188, 0, 0, 0, 0}, {63, 783, 64, 1024, 4352, 0, 0}, {160, 2560, 5200, 0, 0, 0, 0}, {63, 780, 64, 1028, 4369, 0, 0}, {128, 2056, 5722, 0, 0, 0, 0}, {63, 780, 95, 1280, 4364, 0, 0}, {32, 520, 64, 1028, 4112, 0, 0}, {255, 3840, 4437, 0, 0, 0, 0}, {192, 3084, 4698, 0, 0, 0, 0}, {32, 520, 95, 1280, 4360, 0, 0}, {32, 520, 5208, 0, 0, 0, 0}, {63, 780, 4441, 0, 0, 0, 0}, {7770, 8874, 17408, 0, 0, 0, 0}, {31, 32, 64, 260, 0, 0, 0}, {96, 1548, 4656, 0, 0, 0, 0}, {127, 1800, 4386, 0, 0, 0, 0}, {64, 1028, 4626, 0, 0, 0, 0}, {95, 1280, 4352, 0, 0, 0, 0}, {96, 1536, 4608, 0, 0, 0, 0}, {127, 1799, 4369, 0, 0, 0, 0}, {64, 1032, 4642, 0, 0, 0, 0}, {95, 1295, 4403, 0, 0, 0, 0}, {32, 520, 5188, 0, 0, 0, 0}, {63, 783, 4437, 0, 0, 0, 0}, {7782, 8874, 17612, 0, 0, 0, 0}, {31, 32, 64, 263, 0, 0, 0}, {32, 520, 64, 1032, 4096, 0, 0}, {255, 3855, 4454, 0, 0, 0, 0}, {192, 3072, 4714, 0, 0, 0, 0}, {32, 520, 95, 1295, 4379, 0, 0}, {160, 2560, 5228, 0, 0, 0, 0}, {63, 783, 64, 1032, 4381, 0, 0}, {128, 2056, 5734, 0, 0, 0, 0}, {63, 783, 95, 1295, 4352, 0, 0}, {128, 2048, 5744, 0, 0, 0, 0}, {63, 780, 95, 1290, 4369, 0, 0}, {160, 2570, 5240, 0, 0, 0, 0}, {63, 780, 64, 1036, 4364, 0, 0}, {192, 3084, 4728, 0, 0, 0, 0}, {32, 522, 95, 1290, 4362, 0, 0}, {32, 522, 64, 1036, 4112, 0, 0}, {255, 3840, 4471, 0, 0, 0, 0}, {7800, 8840, 17544, 0, 0, 0, 0}, {31, 32, 64, 262, 0, 0, 0}, {32, 522, 5200, 0, 0, 0, 0}, {63, 780, 4420, 0, 0, 0, 0}, {64, 1036, 4656, 0, 0, 0, 0}, {95, 1290, 4386, 0, 0, 0, 0}, {96, 1542, 4626, 0, 0, 0, 0}, {127, 1792, 4352, 0, 0, 0, 0}, {128, 2048, 5632, 0, 0, 0, 0}, {63, 771, 95, 1285, 4369, 0, 0}, {160, 2570, 5160, 0, 0, 0, 0}, {63, 771, 64, 1036, 4364, 0, 0}, {192, 3084, 4680, 0, 0, 0, 0}, {32, 522, 95, 1285, 4362, 0, 0}, {32, 522, 64, 1036, 4096, 0, 0}, {255, 3855, 4471, 0, 0, 0, 0}, {7816, 8840, 17544, 0, 0, 0, 0}, {31, 32, 64, 278, 0, 0, 0}, {32, 522, 5120, 0, 0, 0, 0}, {63, 771, 4420, 0, 0, 0, 0}, {64, 1036, 4608, 0, 0, 0, 0}, {95, 1285, 4386, 0, 0, 0, 0}, {96, 1542, 4642, 0, 0, 0, 0}, {127, 1807, 4352, 0, 0, 0, 0}, {96, 1536, 4656, 0, 0, 0, 0}, {127, 1800, 4369, 0, 0, 0, 0}, {64, 1032, 4626, 0, 0, 0, 0}, {95, 1280, 4403, 0, 0, 0, 0}, {32, 520, 5140, 0, 0, 0, 0}, {63, 768, 4437, 0, 0, 0, 0}, {7830, 8874, 17612, 0, 0, 0, 0}, {31, 32, 64, 279, 0, 0, 0}, {32, 520, 64, 1032, 4112, 0, 0}, {255, 3840, 4454, 0, 0, 0, 0}, {192, 3072, 4698, 0, 0, 0, 0}, {32, 520, 95, 1280, 4379, 0, 0}, {160, 2560, 5180, 0, 0, 0, 0}, {63, 768, 64, 1032, 4381, 0, 0}, {128, 2056, 5654, 0, 0, 0, 0}, {63, 768, 95, 1280, 4352, 0, 0}, {160, 2560, 5120, 0, 0, 0, 0}, {63, 771, 64, 1028, 4369, 0, 0}, {128, 2056, 5674, 0, 0, 0, 0}, {63, 771, 95, 1295, 4364, 0, 0}, {32, 520, 64, 1028, 4096, 0, 0}, {255, 3855, 4437, 0, 0, 0, 0}, {192, 3084, 4714, 0, 0, 0, 0}, {32, 520, 95, 1295, 4360, 0, 0}, {32, 520, 5128, 0, 0, 0, 0}, {63, 771, 4441, 0, 0, 0, 0}, {7850, 8874, 17408, 0, 0, 0, 0}, {31, 32, 64, 276, 0, 0, 0}, {96, 1548, 4608, 0, 0, 0, 0}, {127, 1799, 4386, 0, 0, 0, 0}, {64, 1028, 4642, 0, 0, 0, 0}, {95, 1295, 4352, 0, 0, 0, 0}, {64, 1024, 4656, 0, 0, 0, 0}, {95, 1290, 4369, 0, 0, 0, 0}, {96, 1546, 4626, 0, 0, 0, 0}, {127, 1792, 4403, 0, 0, 0, 0}, {7860, 8840, 17476, 0, 0, 0, 0}, {31, 32, 64, 277, 0, 0, 0}, {32, 522, 5148, 0, 0, 0, 0}, {63, 768, 4424, 0, 0, 0, 0}, {192, 3072, 4728, 0, 0, 0, 0}, {32, 522, 95, 1290, 4377, 0, 0}, {32, 522, 64, 1024, 4112, 0, 0}, {255, 3840, 4420, 0, 0, 0, 0}, {128, 2048, 5692, 0, 0, 0, 0}, {63, 768, 95, 1290, 4381, 0, 0}, {160, 2570, 5140, 0, 0, 0, 0}, {63, 768, 64, 1024, 4352, 0, 0}, {192, 3072, 4608, 0, 0, 0, 0}, {32, 514, 95, 1285, 4369, 0, 0}, {32, 514, 64, 1032, 4096, 0, 0}, {255, 3855, 4403, 0, 0, 0, 0}, {128, 2056, 5708, 0, 0, 0, 0}, {63, 783, 95, 1285, 4362, 0, 0}, {160, 2570, 5228, 0, 0, 0, 0}, {63, 783, 64, 1032, 4360, 0, 0}, {64, 1032, 4616, 0, 0, 0, 0}, {95, 1285, 4409, 0, 0, 0, 0}, {96, 1546, 4618, 0, 0, 0, 0}, {127, 1799, 4411, 0, 0, 0, 0}, {7884, 8704, 17612, 0, 0, 0, 0}, {31, 32, 64, 274, 0, 0, 0}, {32, 514, 5188, 0, 0, 0, 0}, {63, 783, 4352, 0, 0, 0, 0}, {32, 512, 5200, 0, 0, 0, 0}, {63, 780, 4369, 0, 0, 0, 0}, {7890, 8738, 17544, 0, 0, 0, 0}, {31, 32, 64, 275, 0, 0, 0}, {96, 1548, 4632, 0, 0, 0, 0}, {127, 1792, 4394, 0, 0, 0, 0}, {64, 1036, 4634, 0, 0, 0, 0}, {95, 1280, 4392, 0, 0, 0, 0}, {160, 2560, 5240, 0, 0, 0, 0}, {63, 780, 64, 1036, 4377, 0, 0}, {128, 2048, 5722, 0, 0, 0, 0}, {63, 780, 95, 1280, 4379, 0, 0}, {32, 512, 64, 1036, 4112, 0, 0}, {255, 3840, 4386, 0, 0, 0, 0}, {192, 3084, 4626, 0, 0, 0, 0}, {32, 512, 95, 1280, 4352, 0, 0}, {32, 512, 64, 1024, 4096, 0, 0}, {255, 3855, 4369, 0, 0, 0, 0}, {192, 3072, 4642, 0, 0, 0, 0}, {32, 512, 95, 1295, 4371, 0, 0}, {160, 2560, 5188, 0, 0, 0, 0}, {63, 783, 64, 1024, 4373, 0, 0}, {128, 2048, 5734, 0, 0, 0, 0}, {63, 783, 95, 1295, 4375, 0, 0}, {96, 1536, 4648, 0, 0, 0, 0}, {127, 1807, 4377, 0, 0, 0, 0}, {64, 1024, 4650, 0, 0, 0, 0}, {95, 1295, 4379, 0, 0, 0, 0}, {32, 512, 5196, 0, 0, 0, 0}, {63, 783, 4381, 0, 0, 0, 0}, {7918, 8738, 17476, 0, 0, 0, 0}, {31, 32, 64, 272, 0, 0, 0}, {7920, 8704, 17408, 0, 0, 0, 0}, {31, 32, 64, 273, 0, 0, 0}, {32, 514, 5208, 0, 0, 0, 0}, {63, 780, 4364, 0, 0, 0, 0}, {64, 1028, 4664, 0, 0, 0, 0}, {95, 1290, 4362, 0, 0, 0, 0}, {96, 1542, 4666, 0, 0, 0, 0}, {127, 1800, 4360, 0, 0, 0, 0}, {128, 2056, 5744, 0, 0, 0, 0}, {63, 780, 95, 1290, 4358, 0, 0}, {160, 2570, 5200, 0, 0, 0, 0}, {63, 780, 64, 1028, 4356, 0, 0}, {192, 3084, 4656, 0, 0, 0, 0}, {32, 514, 95, 1290, 4354, 0, 0}, {32, 514, 64, 1028, 4112, 0, 0}, {255, 3840, 4352, 0, 0, 0, 0}, {7936, 8192, 16384, 0, 0, 0, 0}, {30, 34, 68, 257, 0, 0, 0}, {34, 514, 5384, 0, 0, 0, 0}, {60, 771, 4108, 0, 0, 0, 0}, {68, 1028, 4872, 0, 0, 0, 0}, {90, 1285, 4106, 0, 0, 0, 0}, {102, 1542, 4874, 0, 0, 0, 0}, {120, 1799, 4104, 0, 0, 0, 0}, {136, 2056, 5888, 0, 0, 0, 0}, {60, 771, 90, 1285, 4102, 0, 0}, {170, 2570, 5376, 0, 0, 0, 0}, {60, 771, 68, 1028, 4100, 0, 0}, {204, 3084, 4864, 0, 0, 0, 0}, {34, 514, 90, 1285, 4098, 0, 0}, {34, 514, 68, 1028, 4352, 0, 0}, {240, 3855, 4096, 0, 0, 0, 0}, {240, 3840, 4112, 0, 0, 0, 0}, {34, 512, 68, 1024, 4369, 0, 0}, {34, 512, 90, 1280, 4114, 0, 0}, {204, 3072, 4883, 0, 0, 0, 0}, {60, 768, 68, 1024, 4116, 0, 0}, {170, 2560, 5397, 0, 0, 0, 0}, {60, 768, 90, 1280, 4118, 0, 0}, {136, 2048, 5911, 0, 0, 0, 0}, {120, 1792, 4120, 0, 0, 0, 0}, {102, 1536, 4889, 0, 0, 0, 0}, {90, 1280, 4122, 0, 0, 0, 0}, {68, 1024, 4891, 0, 0, 0, 0}, {60, 768, 4124, 0, 0, 0, 0}, {34, 512, 5405, 0, 0, 0, 0}, {30, 34, 68, 256, 0, 0, 0}, {7967, 8224, 16448, 0, 0, 0, 0}, {7968, 8224, 16512, 0, 0, 0, 0}, {30, 34, 68, 259, 0, 0, 0}, {34, 512, 5376, 0, 0, 0, 0}, {60, 771, 4112, 0, 0, 0, 0}, {68, 1036, 4904, 0, 0, 0, 0}, {90, 1295, 4138, 0, 0, 0, 0}, {102, 1548, 4906, 0, 0, 0, 0}, {120, 1807, 4136, 0, 0, 0, 0}, {136, 2048, 5928, 0, 0, 0, 0}, {60, 771, 90, 1295, 4122, 0, 0}, {170, 2560, 5418, 0, 0, 0, 0}, {60, 771, 68, 1036, 4120, 0, 0}, {204, 3084, 4896, 0, 0, 0, 0}, {34, 512, 90, 1295, 4096, 0, 0}, {34, 512, 68, 1036, 4352, 0, 0}, {240, 3855, 4128, 0, 0, 0, 0}, {240, 3840, 4144, 0, 0, 0, 0}, {34, 514, 68, 1032, 4369, 0, 0}, {34, 514, 90, 1290, 4112, 0, 0}, {204, 3072, 4915, 0, 0, 0, 0}, {60, 768, 68, 1032, 4104, 0, 0}, {170, 2570, 5439, 0, 0, 0, 0}, {60, 768, 90, 1290, 4106, 0, 0}, {136, 2056, 5951, 0, 0, 0, 0}, {120, 1800, 4152, 0, 0, 0, 0}, {102, 1546, 4921, 0, 0, 0, 0}, {90, 1290, 4154, 0, 0, 0, 0}, {68, 1032, 4923, 0, 0, 0, 0}, {60, 768, 4096, 0, 0, 0, 0}, {34, 514, 5397, 0, 0, 0, 0}, {30, 34, 68, 258, 0, 0, 0}, {7999, 8192, 16576, 0, 0, 0, 0}, {8000, 8320, 16448, 0, 0, 0, 0}, {30, 34, 68, 261, 0, 0, 0}, {34, 522, 5448, 0, 0, 0, 0}, {60, 783, 4172, 0, 0, 0, 0}, {68, 1024, 4864, 0, 0, 0, 0}, {90, 1285, 4112, 0, 0, 0, 0}, {102, 1546, 4896, 0, 0, 0, 0}, {120, 1807, 4144, 0, 0, 0, 0}, {136, 2048, 5960, 0, 0, 0, 0}, {60, 783, 90, 1285, 4124, 0, 0}, {170, 2570, 5440, 0, 0, 0, 0}, {60, 783, 68, 1024, 4096, 0, 0}, {204, 3072, 4940, 0, 0, 0, 0}, {34, 522, 90, 1285, 4120, 0, 0}, {34, 522, 68, 1024, 4352, 0, 0}, {240, 3855, 4160, 0, 0, 0, 0}, {240, 3840, 4176, 0, 0, 0, 0}, {34, 520, 68, 1028, 4369, 0, 0}, {34, 520, 90, 1280, 4104, 0, 0}, {204, 3084, 4959, 0, 0, 0, 0}, {60, 780, 68, 1028, 4112, 0, 0}, {170, 2560, 5461, 0, 0, 0, 0}, {60, 780, 90, 1280, 4108, 0, 0}, {136, 2056, 5983, 0, 0, 0, 0}, {120, 1800, 4128, 0, 0, 0, 0}, {102, 1548, 4915, 0, 0, 0, 0}, {90, 1280, 4096, 0, 0, 0, 0}, {68, 1028, 4883, 0, 0, 0, 0}, {60, 780, 4188, 0, 0, 0, 0}, {34, 520, 5469, 0, 0, 0, 0}, {30, 34, 68, 260, 0, 0, 0}, {8031, 8352, 16384, 0, 0, 0, 0}, {8032, 8352, 16576, 0, 0, 0, 0}, {30, 34, 68, 263, 0, 0, 0}, {34, 520, 5440, 0, 0, 0, 0}, {60, 783, 4176, 0, 0, 0, 0}, {68, 1032, 4896, 0, 0, 0, 0}, {90, 1295, 4144, 0, 0, 0, 0}, {102, 1536, 4864, 0, 0, 0, 0}, {120, 1799, 4112, 0, 0, 0, 0}, {136, 2056, 5984, 0, 0, 0, 0}, {60, 783, 90, 1295, 4096, 0, 0}, {170, 2560, 5482, 0, 0, 0, 0}, {60, 783, 68, 1032, 4124, 0, 0}, {204, 3072, 4972, 0, 0, 0, 0}, {34, 520, 90, 1295, 4122, 0, 0}, {34, 520, 68, 1032, 4352, 0, 0}, {240, 3855, 4192, 0, 0, 0, 0}, {240, 3840, 4208, 0, 0, 0, 0}, {34, 522, 68, 1036, 4369, 0, 0}, {34, 522, 90, 1290, 4106, 0, 0}, {204, 3084, 4991, 0, 0, 0, 0}, {60, 780, 68, 1036, 4108, 0, 0}, {170, 2570, 5503, 0, 0, 0, 0}, {60, 780, 90, 1290, 4112, 0, 0}, {136, 2048, 6007, 0, 0, 0, 0}, {120, 1792, 4096, 0, 0, 0, 0}, {102, 1542, 4883, 0, 0, 0, 0}, {90, 1290, 4128, 0, 0, 0, 0}, {68, 1036, 4915, 0, 0, 0, 0}, {60, 780, 4160, 0, 0, 0, 0}, {34, 522, 5461, 0, 0, 0, 0}, {30, 34, 68, 262, 0, 0, 0}, {8063, 8320, 16512, 0, 0, 0, 0}, {8064, 8320, 16512, 0, 0, 0, 0}, {30, 34, 68, 279, 0, 0, 0}, {34, 522, 5376, 0, 0, 0, 0}, {60, 771, 4160, 0, 0, 0, 0}, {68, 1036, 4864, 0, 0, 0, 0}, {90, 1285, 4128, 0, 0, 0, 0}, {102, 1542, 4896, 0, 0, 0, 0}, {120, 1807, 4096, 0, 0, 0, 0}, {136, 2048, 5888, 0, 0, 0, 0}, {60, 771, 90, 1285, 4112, 0, 0}, {170, 2570, 5418, 0, 0, 0, 0}, {60, 771, 68, 1036, 4108, 0, 0}, {204, 3084, 4940, 0, 0, 0, 0}, {34, 522, 90, 1285, 4106, 0, 0}, {34, 522, 68, 1036, 4352, 0, 0}, {240, 3855, 4208, 0, 0, 0, 0}, {240, 3840, 4192, 0, 0, 0, 0}, {34, 520, 68, 1032, 4369, 0, 0}, {34, 520, 90, 1280, 4122, 0, 0}, {204, 3072, 4959, 0, 0, 0, 0}, {60, 768, 68, 1032, 4124, 0, 0}, {170, 2560, 5439, 0, 0, 0, 0}, {60, 768, 90, 1280, 4096, 0, 0}, {136, 2056, 5911, 0, 0, 0, 0}, {120, 1800, 4112, 0, 0, 0, 0}, {102, 1536, 4915, 0, 0, 0, 0}, {90, 1280, 4144, 0, 0, 0, 0}, {68, 1032, 4883, 0, 0, 0, 0}, {60, 768, 4176, 0, 0, 0, 0}, {34, 520, 5397, 0, 0, 0, 0}, {30, 34, 68, 278, 0, 0, 0}, {8095, 8352, 16576, 0, 0, 0, 0}, {8096, 8352, 16384, 0, 0, 0, 0}, {30, 34, 68, 277, 0, 0, 0}, {34, 520, 5384, 0, 0, 0, 0}, {60, 771, 4188, 0, 0, 0, 0}, {68, 1028, 4896, 0, 0, 0, 0}, {90, 1295, 4096, 0, 0, 0, 0}, {102, 1548, 4864, 0, 0, 0, 0}, {120, 1799, 4128, 0, 0, 0, 0}, {136, 2056, 5928, 0, 0, 0, 0}, {60, 771, 90, 1295, 4108, 0, 0}, {170, 2560, 5376, 0, 0, 0, 0}, {60, 771, 68, 1028, 4112, 0, 0}, {204, 3084, 4972, 0, 0, 0, 0}, {34, 520, 90, 1295, 4104, 0, 0}, {34, 520, 68, 1028, 4352, 0, 0}, {240, 3855, 4176, 0, 0, 0, 0}, {240, 3840, 4160, 0, 0, 0, 0}, {34, 522, 68, 1024, 4369, 0, 0}, {34, 522, 90, 1290, 4120, 0, 0}, {204, 3072, 4991, 0, 0, 0, 0}, {60, 768, 68, 1024, 4096, 0, 0}, {170, 2570, 5397, 0, 0, 0, 0}, {60, 768, 90, 1290, 4124, 0, 0}, {136, 2048, 5951, 0, 0, 0, 0}, {120, 1792, 4144, 0, 0, 0, 0}, {102, 1546, 4883, 0, 0, 0, 0}, {90, 1290, 4112, 0, 0, 0, 0}, {68, 1024, 4915, 0, 0, 0, 0}, {60, 768, 4172, 0, 0, 0, 0}, {34, 522, 5405, 0, 0, 0, 0}, {30, 34, 68, 276, 0, 0, 0}, {8127, 8320, 16448, 0, 0, 0, 0}, {8128, 8192, 16576, 0, 0, 0, 0}, {30, 34, 68, 275, 0, 0, 0}, {34, 514, 5440, 0, 0, 0, 0}, {60, 783, 4096, 0, 0, 0, 0}, {68, 1032, 4872, 0, 0, 0, 0}, {90, 1285, 4154, 0, 0, 0, 0}, {102, 1546, 4874, 0, 0, 0, 0}, {120, 1799, 4152, 0, 0, 0, 0}, {136, 2056, 5960, 0, 0, 0, 0}, {60, 783, 90, 1285, 4106, 0, 0}, {170, 2570, 5482, 0, 0, 0, 0}, {60, 783, 68, 1032, 4104, 0, 0}, {204, 3072, 4864, 0, 0, 0, 0}, {34, 514, 90, 1285, 4112, 0, 0}, {34, 514, 68, 1032, 4352, 0, 0}, {240, 3855, 4144, 0, 0, 0, 0}, {240, 3840, 4128, 0, 0, 0, 0}, {34, 512, 68, 1036, 4369, 0, 0}, {34, 512, 90, 1280, 4096, 0, 0}, {204, 3084, 4883, 0, 0, 0, 0}, {60, 780, 68, 1036, 4120, 0, 0}, {170, 2560, 5503, 0, 0, 0, 0}, {60, 780, 90, 1280, 4122, 0, 0}, {136, 2048, 5983, 0, 0, 0, 0}, {120, 1792, 4136, 0, 0, 0, 0}, {102, 1548, 4889, 0, 0, 0, 0}, {90, 1280, 4138, 0, 0, 0, 0}, {68, 1036, 4891, 0, 0, 0, 0}, {60, 780, 4112, 0, 0, 0, 0}, {34, 512, 5461, 0, 0, 0, 0}, {30, 34, 68, 274, 0, 0, 0}, {8159, 8224, 16512, 0, 0, 0, 0}, {8160, 8224, 16448, 0, 0, 0, 0}, {30, 34, 68, 273, 0, 0, 0}, {34, 512, 5448, 0, 0, 0, 0}, {60, 783, 4124, 0, 0, 0, 0}, {68, 1024, 4904, 0, 0, 0, 0}, {90, 1295, 4122, 0, 0, 0, 0}, {102, 1536, 4906, 0, 0, 0, 0}, {120, 1807, 4120, 0, 0, 0, 0}, {136, 2048, 5984, 0, 0, 0, 0}, {60, 783, 90, 1295, 4118, 0, 0}, {170, 2560, 5440, 0, 0, 0, 0}, {60, 783, 68, 1024, 4116, 0, 0}, {204, 3072, 4896, 0, 0, 0, 0}, {34, 512, 90, 1295, 4114, 0, 0}, {34, 512, 68, 1024, 4352, 0, 0}, {240, 3855, 4112, 0, 0, 0, 0}, {240, 3840, 4096, 0, 0, 0, 0}, {34, 514, 68, 1028, 4369, 0, 0}, {34, 514, 90, 1290, 4098, 0, 0}, {204, 3084, 4915, 0, 0, 0, 0}, {60, 780, 68, 1028, 4100, 0, 0}, {170, 2570, 5461, 0, 0, 0, 0}, {60, 780, 90, 1290, 4102, 0, 0}, {136, 2056, 6007, 0, 0, 0, 0}, {120, 1800, 4104, 0, 0, 0, 0}, {102, 1542, 4921, 0, 0, 0, 0}, {90, 1290, 4106, 0, 0, 0, 0}, {68, 1028, 4923, 0, 0, 0, 0}, {60, 780, 4108, 0, 0, 0, 0}, {34, 514, 5469, 0, 0, 0, 0}, {30, 34, 68, 272, 0, 0, 0}, {8191, 8192, 16384, 0, 0, 0, 0}, {8192, 0, 0, 0, 0, 0, 0}, {3, 17, 257, 0, 0, 0, 0}, {34, 514, 0, 0, 0, 0, 0}, {3, 4096, 0, 0, 0, 0, 0}, {12, 8196, 68, 1028, 0, 0, 0}, {15, 8197, 85, 1285, 0, 0, 0}, {12, 8198, 102, 1542, 0, 0, 0}, {15, 8199, 119, 1799, 0, 0, 0}, {136, 2056, 8200, 0, 0, 0, 0}, {3, 85, 1285, 4101, 0, 0, 0}, {170, 2570, 8202, 0, 0, 0, 0}, {3, 68, 1028, 4100, 0, 0, 0}, {12, 8192, 16384, 0, 0, 0, 0}, {15, 34, 514, 85, 1285, 0, 0}, {12, 34, 514, 68, 1028, 0, 0}, {15, 8192, 20480, 0, 0, 0, 0}, {48, 4112, 0, 0, 0, 0, 0}, {512, 17, 0, 0, 0, 0, 0}, {512, 18, 0, 0, 0, 0, 0}, {51, 4883, 0, 0, 0, 0, 0}, {2048, 60, 68, 5140, 0, 0, 0}, {2560, 63, 85, 5397, 0, 0, 0}, {2560, 60, 90, 5654, 0, 0, 0}, {2048, 63, 72, 5911, 0, 0, 0}, {2048, 48, 72, 4120, 0, 0, 0}, {2560, 51, 85, 4889, 0, 0, 0}, {2560, 48, 90, 4122, 0, 0, 0}, {2048, 51, 68, 4891, 0, 0, 0}, {7196, 60, 20560, 0, 0, 0, 0}, {29, 34, 512, 85, 5376, 0, 0}, {30, 34, 512, 68, 5120, 0, 0}, {7967, 63, 16448, 0, 0, 0, 0}, {8224, 0, 0, 0, 0, 0, 0}, {3, 17, 256, 0, 0, 0, 0}, {34, 512, 0, 0, 0, 0, 0}, {3, 4112, 0, 0, 0, 0, 0}, {12, 8228, 68, 1024, 0, 0, 0}, {15, 8229, 85, 1280, 0, 0, 0}, {12, 8230, 102, 1536, 0, 0, 0}, {15, 8231, 119, 1792, 0, 0, 0}, {136, 2048, 8232, 0, 0, 0, 0}, {3, 85, 1280, 4117, 0, 0, 0}, {170, 2560, 8234, 0, 0, 0, 0}, {3, 68, 1024, 4116, 0, 0, 0}, {12, 8224, 16448, 0, 0, 0, 0}, {15, 34, 512, 85, 1280, 0, 0}, {12, 34, 512, 68, 1024, 0, 0}, {15, 8224, 20560, 0, 0, 0, 0}, {48, 4096, 0, 0, 0, 0, 0}, {514, 17, 0, 0, 0, 0, 0}, {514, 18, 0, 0, 0, 0, 0}, {51, 4864, 0, 0, 0, 0, 0}, {2056, 60, 68, 5120, 0, 0, 0}, {2570, 63, 85, 5376, 0, 0, 0}, {2570, 60, 90, 5632, 0, 0, 0}, {2056, 63, 72, 5888, 0, 0, 0}, {2056, 48, 72, 4104, 0, 0, 0}, {2570, 51, 85, 4874, 0, 0, 0}, {2570, 48, 90, 4106, 0, 0, 0}, {2056, 51, 68, 4872, 0, 0, 0}, {7168, 60, 20480, 0, 0, 0, 0}, {29, 34, 514, 85, 5397, 0, 0}, {30, 34, 514, 68, 5140, 0, 0}, {7936, 63, 16384, 0, 0, 0, 0}, {192, 8256, 16448, 0, 0, 0, 0}, {15, 517, 1285, 17, 0, 0, 0}, {34, 522, 72, 0, 0, 0, 0}, {15, 51, 4931, 0, 0, 0, 0}, {2048, 8192, 68, 0, 0, 0, 0}, {15, 48, 85, 1285, 4112, 0, 0}, {2570, 8224, 102, 0, 0, 0, 0}, {15, 48, 71, 1792, 4096, 0, 0}, {2048, 8192, 72, 0, 0, 0, 0}, {15, 51, 85, 1285, 4883, 0, 0}, {2570, 8224, 106, 0, 0, 0, 0}, {15, 51, 68, 1792, 4864, 0, 0}, {204, 8268, 19532, 0, 0, 0, 0}, {15, 517, 1285, 18, 0, 0, 0}, {34, 522, 68, 0, 0, 0, 0}, {15, 48, 4160, 0, 0, 0, 0}, {240, 8272, 20560, 0, 0, 0, 0}, {12, 516, 1028, 17, 0, 0, 0}, {34, 520, 90, 0, 0, 0, 0}, {12, 51, 4947, 0, 0, 0, 0}, {12, 48, 68, 1028, 4112, 0, 0}, {2560, 8192, 85, 0, 0, 0, 0}, {12, 48, 86, 1536, 4096, 0, 0}, {2056, 8224, 119, 0, 0, 0, 0}, {2056, 8224, 120, 0, 0, 0, 0}, {12, 51, 85, 1536, 4864, 0, 0}, {2560, 8192, 90, 0, 0, 0, 0}, {12, 51, 68, 1028, 4883, 0, 0}, {12, 48, 4176, 0, 0, 0, 0}, {34, 520, 85, 0, 0, 0, 0}, {12, 516, 1028, 18, 0, 0, 0}, {255, 8287, 24415, 0, 0, 0, 0}, {192, 8288, 16384, 0, 0, 0, 0}, {15, 519, 1280, 17, 0, 0, 0}, {34, 520, 72, 0, 0, 0, 0}, {15, 51, 4944, 0, 0, 0, 0}, {2056, 8224, 68, 0, 0, 0, 0}, {15, 48, 85, 1280, 4096, 0, 0}, {2560, 8192, 102, 0, 0, 0, 0}, {15, 48, 71, 1799, 4112, 0, 0}, {2056, 8224, 72, 0, 0, 0, 0}, {15, 51, 85, 1280, 4864, 0, 0}, {2560, 8192, 106, 0, 0, 0, 0}, {15, 51, 68, 1799, 4883, 0, 0}, {204, 8300, 19456, 0, 0, 0, 0}, {15, 519, 1280, 18, 0, 0, 0}, {34, 520, 68, 0, 0, 0, 0}, {15, 48, 4176, 0, 0, 0, 0}, {240, 8304, 20480, 0, 0, 0, 0}, {12, 518, 1024, 17, 0, 0, 0}, {34, 522, 90, 0, 0, 0, 0}, {12, 51, 4928, 0, 0, 0, 0}, {12, 48, 68, 1024, 4096, 0, 0}, {2570, 8224, 85, 0, 0, 0, 0}, {12, 48, 86, 1542, 4112, 0, 0}, {2048, 8192, 119, 0, 0, 0, 0}, {2048, 8192, 120, 0, 0, 0, 0}, {12, 51, 85, 1542, 4883, 0, 0}, {2570, 8224, 90, 0, 0, 0, 0}, {12, 51, 68, 1024, 4864, 0, 0}, {12, 48, 4160, 0, 0, 0, 0}, {34, 522, 85, 0, 0, 0, 0}, {12, 518, 1024, 18, 0, 0, 0}, {255, 8319, 24320, 0, 0, 0, 0}, {8320, 0, 0, 0, 0, 0, 0}, {3, 17, 261, 0, 0, 0, 0}, {34, 522, 0, 0, 0, 0, 0}, {3, 4160, 0, 0, 0, 0, 0}, {12, 8192, 68, 1024, 0, 0, 0}, {15, 8224, 85, 1285, 0, 0, 0}, {12, 8224, 102, 1542, 0, 0, 0}, {15, 8192, 119, 1792, 0, 0, 0}, {136, 2048, 8192, 0, 0, 0, 0}, {3, 85, 1285, 4112, 0, 0, 0}, {170, 2570, 8224, 0, 0, 0, 0}, {3, 68, 1024, 4096, 0, 0, 0}, {12, 8256, 16448, 0, 0, 0, 0}, {15, 34, 517, 85, 1285, 0, 0}, {12, 34, 518, 68, 1024, 0, 0}, {15, 8304, 20480, 0, 0, 0, 0}, {48, 4176, 0, 0, 0, 0, 0}, {520, 17, 0, 0, 0, 0, 0}, {520, 18, 0, 0, 0, 0, 0}, {51, 4959, 0, 0, 0, 0, 0}, {2056, 60, 68, 5140, 0, 0, 0}, {2560, 63, 85, 5376, 0, 0, 0}, {2560, 60, 90, 5632, 0, 0, 0}, {2056, 63, 72, 5911, 0, 0, 0}, {2056, 48, 72, 4112, 0, 0, 0}, {2560, 51, 85, 4864, 0, 0, 0}, {2560, 48, 90, 4096, 0, 0, 0}, {2056, 51, 68, 4883, 0, 0, 0}, {7248, 60, 20560, 0, 0, 0, 0}, {29, 34, 533, 85, 5397, 0, 0}, {30, 34, 534, 68, 5120, 0, 0}, {8031, 63, 16384, 0, 0, 0, 0}, {8352, 0, 0, 0, 0, 0, 0}, {3, 17, 260, 0, 0, 0, 0}, {34, 520, 0, 0, 0, 0, 0}, {3, 4176, 0, 0, 0, 0, 0}, {12, 8224, 68, 1028, 0, 0, 0}, {15, 8192, 85, 1280, 0, 0, 0}, {12, 8192, 102, 1536, 0, 0, 0}, {15, 8224, 119, 1799, 0, 0, 0}, {136, 2056, 8224, 0, 0, 0, 0}, {3, 85, 1280, 4096, 0, 0, 0}, {170, 2560, 8192, 0, 0, 0, 0}, {3, 68, 1028, 4112, 0, 0, 0}, {12, 8288, 16384, 0, 0, 0, 0}, {15, 34, 519, 85, 1280, 0, 0}, {12, 34, 516, 68, 1028, 0, 0}, {15, 8272, 20560, 0, 0, 0, 0}, {48, 4160, 0, 0, 0, 0, 0}, {522, 17, 0, 0, 0, 0, 0}, {522, 18, 0, 0, 0, 0, 0}, {51, 4940, 0, 0, 0, 0, 0}, {2048, 60, 68, 5120, 0, 0, 0}, {2570, 63, 85, 5397, 0, 0, 0}, {2570, 60, 90, 5654, 0, 0, 0}, {2048, 63, 72, 5888, 0, 0, 0}, {2048, 48, 72, 4096, 0, 0, 0}, {2570, 51, 85, 4883, 0, 0, 0}, {2570, 48, 90, 4112, 0, 0, 0}, {2048, 51, 68, 4864, 0, 0, 0}, {7244, 60, 20480, 0, 0, 0, 0}, {29, 34, 535, 85, 5376, 0, 0}, {30, 34, 532, 68, 5140, 0, 0}, {8000, 63, 16448, 0, 0, 0, 0}, {192, 8192, 16384, 0, 0, 0, 0}, {15, 514, 1285, 17, 0, 0, 0}, {34, 514, 72, 0, 0, 0, 0}, {15, 51, 4864, 0, 0, 0, 0}, {2056, 8200, 68, 0, 0, 0, 0}, {15, 48, 85, 1285, 4101, 0, 0}, {2570, 8202, 102, 0, 0, 0, 0}, {15, 48, 71, 1799, 4103, 0, 0}, {2056, 8200, 72, 0, 0, 0, 0}, {15, 51, 85, 1285, 4869, 0, 0}, {2570, 8202, 106, 0, 0, 0, 0}, {15, 51, 68, 1799, 4871, 0, 0}, {204, 8192, 19456, 0, 0, 0, 0}, {15, 514, 1285, 18, 0, 0, 0}, {34, 514, 68, 0, 0, 0, 0}, {15, 48, 4096, 0, 0, 0, 0}, {240, 8224, 20560, 0, 0, 0, 0}, {12, 512, 1024, 17, 0, 0, 0}, {34, 512, 90, 0, 0, 0, 0}, {12, 51, 4883, 0, 0, 0, 0}, {12, 48, 68, 1024, 4116, 0, 0}, {2560, 8234, 85, 0, 0, 0, 0}, {12, 48, 86, 1536, 4118, 0, 0}, {2048, 8232, 119, 0, 0, 0, 0}, {2048, 8232, 120, 0, 0, 0, 0}, {12, 51, 85, 1536, 4885, 0, 0}, {2560, 8234, 90, 0, 0, 0, 0}, {12, 51, 68, 1024, 4887, 0, 0}, {12, 48, 4112, 0, 0, 0, 0}, {34, 512, 85, 0, 0, 0, 0}, {12, 512, 1024, 18, 0, 0, 0}, {255, 8224, 24415, 0, 0, 0, 0}, {192, 8224, 16448, 0, 0, 0, 0}, {15, 512, 1280, 17, 0, 0, 0}, {34, 512, 72, 0, 0, 0, 0}, {15, 51, 4883, 0, 0, 0, 0}, {2048, 8232, 68, 0, 0, 0, 0}, {15, 48, 85, 1280, 4117, 0, 0}, {2560, 8234, 102, 0, 0, 0, 0}, {15, 48, 71, 1792, 4119, 0, 0}, {2048, 8232, 72, 0, 0, 0, 0}, {15, 51, 85, 1280, 4886, 0, 0}, {2560, 8234, 106, 0, 0, 0, 0}, {15, 51, 68, 1792, 4884, 0, 0}, {204, 8224, 19532, 0, 0, 0, 0}, {15, 512, 1280, 18, 0, 0, 0}, {34, 512, 68, 0, 0, 0, 0}, {15, 48, 4112, 0, 0, 0, 0}, {240, 8192, 20480, 0, 0, 0, 0}, {12, 514, 1028, 17, 0, 0, 0}, {34, 514, 90, 0, 0, 0, 0}, {12, 51, 4864, 0, 0, 0, 0}, {12, 48, 68, 1028, 4100, 0, 0}, {2570, 8202, 85, 0, 0, 0, 0}, {12, 48, 86, 1542, 4102, 0, 0}, {2056, 8200, 119, 0, 0, 0, 0}, {2056, 8200, 120, 0, 0, 0, 0}, {12, 51, 85, 1542, 4870, 0, 0}, {2570, 8202, 90, 0, 0, 0, 0}, {12, 51, 68, 1028, 4868, 0, 0}, {12, 48, 4096, 0, 0, 0, 0}, {34, 514, 85, 0, 0, 0, 0}, {12, 514, 1028, 18, 0, 0, 0}, {255, 8192, 24320, 0, 0, 0, 0}, {768, 4352, 0, 0, 0, 0, 0}, {32, 257, 0, 0, 0, 0, 0}, {32, 258, 0, 0, 0, 0, 0}, {771, 4403, 0, 0, 0, 0, 0}, {128, 780, 1028, 4420, 0, 0, 0}, {160, 783, 1285, 4437, 0, 0, 0}, {160, 780, 1290, 4454, 0, 0, 0}, {128, 783, 1032, 4471, 0, 0, 0}, {128, 768, 1032, 4360, 0, 0, 0}, {160, 771, 1285, 4409, 0, 0, 0}, {160, 768, 1290, 4362, 0, 0, 0}, {128, 771, 1028, 4411, 0, 0, 0}, {4556, 780, 21760, 0, 0, 0, 0}, {269, 32, 514, 1285, 4176, 0, 0}, {270, 32, 514, 1028, 4160, 0, 0}, {4607, 783, 17408, 0, 0, 0, 0}, {32, 272, 0, 0, 0, 0, 0}, {819, 4369, 0, 0, 0, 0, 0}, {816, 4386, 0, 0, 0, 0, 0}, {32, 275, 0, 0, 0, 0, 0}, {160, 828, 1360, 4420, 0, 0, 0}, {128, 831, 1088, 4437, 0, 0, 0}, {128, 828, 1100, 4454, 0, 0, 0}, {160, 831, 1375, 4471, 0, 0, 0}, {160, 816, 1360, 4392, 0, 0, 0}, {128, 819, 1100, 4377, 0, 0, 0}, {128, 816, 1088, 4394, 0, 0, 0}, {160, 819, 1375, 4379, 0, 0, 0}, {284, 32, 512, 1360, 4176, 0, 0}, {4573, 831, 21845, 0, 0, 0, 0}, {4590, 828, 17476, 0, 0, 0, 0}, {287, 32, 512, 1088, 4160, 0, 0}, {32, 256, 0, 0, 0, 0, 0}, {771, 4369, 0, 0, 0, 0, 0}, {768, 4386, 0, 0, 0, 0, 0}, {32, 259, 0, 0, 0, 0, 0}, {160, 780, 1280, 4420, 0, 0, 0}, {128, 783, 1024, 4437, 0, 0, 0}, {128, 780, 1036, 4454, 0, 0, 0}, {160, 783, 1295, 4471, 0, 0, 0}, {160, 768, 1280, 4392, 0, 0, 0}, {128, 771, 1036, 4377, 0, 0, 0}, {128, 768, 1024, 4394, 0, 0, 0}, {160, 771, 1295, 4379, 0, 0, 0}, {268, 32, 512, 1280, 4160, 0, 0}, {4573, 783, 21845, 0, 0, 0, 0}, {4590, 780, 17476, 0, 0, 0, 0}, {271, 32, 512, 1024, 4176, 0, 0}, {816, 4352, 0, 0, 0, 0, 0}, {32, 273, 0, 0, 0, 0, 0}, {32, 274, 0, 0, 0, 0, 0}, {819, 4403, 0, 0, 0, 0, 0}, {128, 828, 1092, 4420, 0, 0, 0}, {160, 831, 1365, 4437, 0, 0, 0}, {160, 828, 1370, 4454, 0, 0, 0}, {128, 831, 1096, 4471, 0, 0, 0}, {128, 816, 1096, 4360, 0, 0, 0}, {160, 819, 1365, 4409, 0, 0, 0}, {160, 816, 1370, 4362, 0, 0, 0}, {128, 819, 1092, 4411, 0, 0, 0}, {4556, 828, 21760, 0, 0, 0, 0}, {285, 32, 514, 1365, 4160, 0, 0}, {286, 32, 514, 1092, 4176, 0, 0}, {4607, 831, 17408, 0, 0, 0, 0}, {832, 1792, 4352, 0, 0, 0, 0}, {867, 1285, 4369, 0, 0, 0, 0}, {864, 1290, 4386, 0, 0, 0, 0}, {835, 1807, 4403, 0, 0, 0, 0}, {972, 3840, 4420, 0, 0, 0, 0}, {32, 522, 325, 1285, 4112, 0, 0}, {32, 522, 326, 1290, 4096, 0, 0}, {975, 3855, 4471, 0, 0, 0, 0}, {960, 3840, 4680, 0, 0, 0, 0}, {32, 522, 329, 1285, 4377, 0, 0}, {32, 522, 330, 1290, 4362, 0, 0}, {963, 3855, 4728, 0, 0, 0, 0}, {844, 1792, 4608, 0, 0, 0, 0}, {879, 1285, 4626, 0, 0, 0, 0}, {876, 1290, 4642, 0, 0, 0, 0}, {847, 1807, 4656, 0, 0, 0, 0}, {848, 1536, 4352, 0, 0, 0, 0}, {883, 1028, 4369, 0, 0, 0, 0}, {880, 1032, 4386, 0, 0, 0, 0}, {851, 1548, 4403, 0, 0, 0, 0}, {32, 520, 340, 1028, 4112, 0, 0}, {1023, 3072, 4437, 0, 0, 0, 0}, {1020, 3084, 4454, 0, 0, 0, 0}, {32, 520, 343, 1032, 4096, 0, 0}, {32, 520, 344, 1032, 4360, 0, 0}, {1011, 3084, 4714, 0, 0, 0, 0}, {1008, 3072, 4698, 0, 0, 0, 0}, {32, 520, 347, 1028, 4379, 0, 0}, {860, 1548, 4656, 0, 0, 0, 0}, {895, 1032, 4642, 0, 0, 0, 0}, {892, 1028, 4626, 0, 0, 0, 0}, {863, 1536, 4608, 0, 0, 0, 0}, {864, 1280, 4352, 0, 0, 0, 0}, {835, 1799, 4369, 0, 0, 0, 0}, {832, 1800, 4386, 0, 0, 0, 0}, {867, 1295, 4403, 0, 0, 0, 0}, {32, 520, 324, 1280, 4096, 0, 0}, {975, 3855, 4437, 0, 0, 0, 0}, {972, 3840, 4454, 0, 0, 0, 0}, {32, 520, 327, 1295, 4112, 0, 0}, {32, 520, 328, 1280, 4360, 0, 0}, {963, 3855, 4698, 0, 0, 0, 0}, {960, 3840, 4714, 0, 0, 0, 0}, {32, 520, 331, 1295, 4379, 0, 0}, {876, 1280, 4608, 0, 0, 0, 0}, {847, 1799, 4626, 0, 0, 0, 0}, {844, 1800, 4642, 0, 0, 0, 0}, {879, 1295, 4656, 0, 0, 0, 0}, {880, 1024, 4352, 0, 0, 0, 0}, {851, 1542, 4369, 0, 0, 0, 0}, {848, 1546, 4386, 0, 0, 0, 0}, {883, 1036, 4403, 0, 0, 0, 0}, {1020, 3084, 4420, 0, 0, 0, 0}, {32, 522, 341, 1024, 4096, 0, 0}, {32, 522, 342, 1036, 4112, 0, 0}, {1023, 3072, 4471, 0, 0, 0, 0}, {1008, 3072, 4728, 0, 0, 0, 0}, {32, 522, 345, 1036, 4377, 0, 0}, {32, 522, 346, 1024, 4362, 0, 0}, {1011, 3084, 4680, 0, 0, 0, 0}, {892, 1036, 4656, 0, 0, 0, 0}, {863, 1546, 4642, 0, 0, 0, 0}, {860, 1542, 4626, 0, 0, 0, 0}, {895, 1024, 4608, 0, 0, 0, 0}, {128, 768, 1024, 4352, 0, 0, 0}, {160, 771, 1285, 4369, 0, 0, 0}, {160, 768, 1290, 4386, 0, 0, 0}, {128, 771, 1036, 4403, 0, 0, 0}, {780, 4420, 0, 0, 0, 0, 0}, {32, 261, 0, 0, 0, 0, 0}, {32, 262, 0, 0, 0, 0, 0}, {783, 4471, 0, 0, 0, 0, 0}, {4488, 768, 21760, 0, 0, 0, 0}, {265, 32, 771, 1285, 4112, 0, 0}, {266, 32, 768, 1024, 4096, 0, 0}, {4539, 771, 17476, 0, 0, 0, 0}, {128, 780, 1036, 4428, 0, 0, 0}, {160, 783, 1285, 4477, 0, 0, 0}, {160, 780, 1290, 4430, 0, 0, 0}, {128, 783, 1024, 4479, 0, 0, 0}, {160, 816, 1360, 4352, 0, 0, 0}, {128, 819, 1092, 4369, 0, 0, 0}, {128, 816, 1096, 4386, 0, 0, 0}, {160, 819, 1375, 4403, 0, 0, 0}, {32, 276, 0, 0, 0, 0, 0}, {831, 4437, 0, 0, 0, 0, 0}, {828, 4454, 0, 0, 0, 0, 0}, {32, 279, 0, 0, 0, 0, 0}, {280, 32, 784, 1360, 4112, 0, 0}, {4505, 819, 21845, 0, 0, 0, 0}, {4522, 816, 17408, 0, 0, 0, 0}, {283, 32, 787, 1092, 4096, 0, 0}, {160, 828, 1360, 4460, 0, 0, 0}, {128, 831, 1096, 4445, 0, 0, 0}, {128, 828, 1092, 4462, 0, 0, 0}, {160, 831, 1375, 4447, 0, 0, 0}, {160, 768, 1280, 4352, 0, 0, 0}, {128, 771, 1028, 4369, 0, 0, 0}, {128, 768, 1032, 4386, 0, 0, 0}, {160, 771, 1295, 4403, 0, 0, 0}, {32, 260, 0, 0, 0, 0, 0}, {783, 4437, 0, 0, 0, 0, 0}, {780, 4454, 0, 0, 0, 0, 0}, {32, 263, 0, 0, 0, 0, 0}, {264, 32, 768, 1280, 4096, 0, 0}, {4505, 771, 21845, 0, 0, 0, 0}, {4522, 768, 17408, 0, 0, 0, 0}, {267, 32, 771, 1028, 4112, 0, 0}, {160, 780, 1280, 4460, 0, 0, 0}, {128, 783, 1032, 4445, 0, 0, 0}, {128, 780, 1028, 4462, 0, 0, 0}, {160, 783, 1295, 4447, 0, 0, 0}, {128, 816, 1088, 4352, 0, 0, 0}, {160, 819, 1365, 4369, 0, 0, 0}, {160, 816, 1370, 4386, 0, 0, 0}, {128, 819, 1100, 4403, 0, 0, 0}, {828, 4420, 0, 0, 0, 0, 0}, {32, 277, 0, 0, 0, 0, 0}, {32, 278, 0, 0, 0, 0, 0}, {831, 4471, 0, 0, 0, 0, 0}, {4488, 816, 21760, 0, 0, 0, 0}, {281, 32, 787, 1365, 4096, 0, 0}, {282, 32, 784, 1088, 4112, 0, 0}, {4539, 819, 17476, 0, 0, 0, 0}, {128, 828, 1100, 4428, 0, 0, 0}, {160, 831, 1365, 4477, 0, 0, 0}, {160, 828, 1370, 4430, 0, 0, 0}, {128, 831, 1088, 4479, 0, 0, 0}, {960, 3840, 4352, 0, 0, 0, 0}, {32, 514, 321, 1285, 4369, 0, 0}, {32, 514, 322, 1290, 4354, 0, 0}, {963, 3855, 4403, 0, 0, 0, 0}, {844, 1800, 4616, 0, 0, 0, 0}, {879, 1285, 4666, 0, 0, 0, 0}, {876, 1290, 4618, 0, 0, 0, 0}, {847, 1799, 4664, 0, 0, 0, 0}, {832, 1800, 4360, 0, 0, 0, 0}, {867, 1285, 4409, 0, 0, 0, 0}, {864, 1290, 4362, 0, 0, 0, 0}, {835, 1799, 4411, 0, 0, 0, 0}, {972, 3840, 4608, 0, 0, 0, 0}, {32, 514, 333, 1285, 4112, 0, 0}, {32, 514, 334, 1290, 4096, 0, 0}, {975, 3855, 4656, 0, 0, 0, 0}, {32, 512, 336, 1024, 4352, 0, 0}, {1011, 3084, 4369, 0, 0, 0, 0}, {1008, 3072, 4386, 0, 0, 0, 0}, {32, 512, 339, 1036, 4371, 0, 0}, {860, 1548, 4632, 0, 0, 0, 0}, {895, 1024, 4650, 0, 0, 0, 0}, {892, 1036, 4634, 0, 0, 0, 0}, {863, 1536, 4648, 0, 0, 0, 0}, {848, 1536, 4392, 0, 0, 0, 0}, {883, 1036, 4377, 0, 0, 0, 0}, {880, 1024, 4394, 0, 0, 0, 0}, {851, 1548, 4379, 0, 0, 0, 0}, {32, 512, 348, 1036, 4112, 0, 0}, {1023, 3072, 4642, 0, 0, 0, 0}, {1020, 3084, 4626, 0, 0, 0, 0}, {32, 512, 351, 1024, 4096, 0, 0}, {32, 512, 320, 1280, 4352, 0, 0}, {963, 3855, 4369, 0, 0, 0, 0}, {960, 3840, 4386, 0, 0, 0, 0}, {32, 512, 323, 1295, 4371, 0, 0}, {876, 1280, 4648, 0, 0, 0, 0}, {847, 1807, 4634, 0, 0, 0, 0}, {844, 1792, 4650, 0, 0, 0, 0}, {879, 1295, 4632, 0, 0, 0, 0}, {864, 1280, 4392, 0, 0, 0, 0}, {835, 1807, 4377, 0, 0, 0, 0}, {832, 1792, 4394, 0, 0, 0, 0}, {867, 1295, 4379, 0, 0, 0, 0}, {32, 512, 332, 1280, 4096, 0, 0}, {975, 3855, 4626, 0, 0, 0, 0}, {972, 3840, 4642, 0, 0, 0, 0}, {32, 512, 335, 1295, 4112, 0, 0}, {1008, 3072, 4352, 0, 0, 0, 0}, {32, 514, 337, 1028, 4369, 0, 0}, {32, 514, 338, 1032, 4354, 0, 0}, {1011, 3084, 4403, 0, 0, 0, 0}, {892, 1028, 4664, 0, 0, 0, 0}, {863, 1546, 4618, 0, 0, 0, 0}, {860, 1542, 4666, 0, 0, 0, 0}, {895, 1032, 4616, 0, 0, 0, 0}, {880, 1032, 4360, 0, 0, 0, 0}, {851, 1542, 4409, 0, 0, 0, 0}, {848, 1546, 4362, 0, 0, 0, 0}, {883, 1028, 4411, 0, 0, 0, 0}, {1020, 3084, 4656, 0, 0, 0, 0}, {32, 514, 349, 1032, 4096, 0, 0}, {32, 514, 350, 1028, 4112, 0, 0}, {1023, 3072, 4608, 0, 0, 0, 0}, {8704, 0, 0, 0, 0, 0, 0}, {3, 16, 257, 0, 0, 0, 0}, {32, 514, 0, 0, 0, 0, 0}, {3, 4352, 0, 0, 0, 0, 0}, {12, 8708, 64, 1028, 0, 0, 0}, {15, 8709, 80, 1285, 0, 0, 0}, {12, 8710, 96, 1542, 0, 0, 0}, {15, 8711, 112, 1799, 0, 0, 0}, {128, 2056, 8712, 0, 0, 0, 0}, {3, 80, 1285, 4357, 0, 0, 0}, {160, 2570, 8714, 0, 0, 0, 0}, {3, 64, 1028, 4356, 0, 0, 0}, {12, 8704, 17408, 0, 0, 0, 0}, {15, 32, 514, 80, 1285, 0, 0}, {12, 32, 514, 64, 1028, 0, 0}, {15, 8704, 21760, 0, 0, 0, 0}, {512, 16, 0, 0, 0, 0, 0}, {51, 4369, 0, 0, 0, 0, 0}, {48, 4626, 0, 0, 0, 0, 0}, {512, 19, 0, 0, 0, 0, 0}, {2560, 60, 80, 5140, 0, 0, 0}, {2048, 63, 64, 5397, 0, 0, 0}, {2048, 60, 76, 5654, 0, 0, 0}, {2560, 63, 95, 5911, 0, 0, 0}, {2560, 48, 80, 4632, 0, 0, 0}, {2048, 51, 76, 4377, 0, 0, 0}, {2048, 48, 64, 4634, 0, 0, 0}, {2560, 51, 95, 4379, 0, 0, 0}, {28, 32, 512, 80, 5120, 0, 0}, {7453, 63, 21845, 0, 0, 0, 0}, {7710, 60, 17476, 0, 0, 0, 0}, {31, 32, 512, 64, 5376, 0, 0}, {32, 512, 0, 0, 0, 0, 0}, {3, 4369, 0, 0, 0, 0, 0}, {8738, 0, 0, 0, 0, 0, 0}, {3, 16, 256, 0, 0, 0, 0}, {12, 8740, 96, 1536, 0, 0, 0}, {15, 8741, 112, 1792, 0, 0, 0}, {12, 8742, 64, 1024, 0, 0, 0}, {15, 8743, 80, 1280, 0, 0, 0}, {160, 2560, 8744, 0, 0, 0, 0}, {3, 64, 1024, 4373, 0, 0, 0}, {128, 2048, 8746, 0, 0, 0, 0}, {3, 80, 1280, 4372, 0, 0, 0}, {12, 32, 512, 64, 1024, 0, 0}, {15, 8738, 21845, 0, 0, 0, 0}, {12, 8738, 17476, 0, 0, 0, 0}, {15, 32, 512, 80, 1280, 0, 0}, {48, 4608, 0, 0, 0, 0, 0}, {514, 19, 0, 0, 0, 0, 0}, {514, 16, 0, 0, 0, 0, 0}, {51, 4352, 0, 0, 0, 0, 0}, {2056, 60, 76, 5632, 0, 0, 0}, {2570, 63, 95, 5888, 0, 0, 0}, {2570, 60, 80, 5120, 0, 0, 0}, {2056, 63, 64, 5376, 0, 0, 0}, {2056, 48, 64, 4616, 0, 0, 0}, {2570, 51, 95, 4362, 0, 0, 0}, {2570, 48, 80, 4618, 0, 0, 0}, {2056, 51, 76, 4360, 0, 0, 0}, {7680, 60, 17408, 0, 0, 0, 0}, {31, 32, 514, 64, 5397, 0, 0}, {28, 32, 514, 80, 5140, 0, 0}, {7424, 63, 21760, 0, 0, 0, 0}, {2048, 8704, 64, 0, 0, 0, 0}, {15, 51, 80, 1285, 4369, 0, 0}, {2570, 8738, 96, 0, 0, 0, 0}, {15, 51, 67, 1792, 4352, 0, 0}, {204, 8772, 17476, 0, 0, 0, 0}, {15, 517, 1285, 16, 0, 0, 0}, {32, 522, 76, 0, 0, 0, 0}, {15, 48, 4679, 0, 0, 0, 0}, {192, 8776, 18504, 0, 0, 0, 0}, {15, 517, 1285, 19, 0, 0, 0}, {32, 522, 64, 0, 0, 0, 0}, {15, 51, 4420, 0, 0, 0, 0}, {2048, 8704, 76, 0, 0, 0, 0}, {15, 48, 80, 1285, 4626, 0, 0}, {2570, 8738, 108, 0, 0, 0, 0}, {15, 48, 64, 1792, 4608, 0, 0}, {2560, 8704, 80, 0, 0, 0, 0}, {12, 51, 64, 1028, 4369, 0, 0}, {2056, 8738, 112, 0, 0, 0, 0}, {12, 51, 83, 1536, 4352, 0, 0}, {12, 516, 1028, 16, 0, 0, 0}, {255, 8789, 21845, 0, 0, 0, 0}, {12, 48, 4694, 0, 0, 0, 0}, {32, 520, 95, 0, 0, 0, 0}, {32, 520, 80, 0, 0, 0, 0}, {12, 51, 4437, 0, 0, 0, 0}, {240, 8794, 23130, 0, 0, 0, 0}, {12, 516, 1028, 19, 0, 0, 0}, {12, 48, 80, 1536, 4608, 0, 0}, {2056, 8738, 127, 0, 0, 0, 0}, {12, 48, 64, 1028, 4626, 0, 0}, {2560, 8704, 95, 0, 0, 0, 0}, {2560, 8704, 96, 0, 0, 0, 0}, {15, 51, 67, 1799, 4369, 0, 0}, {2056, 8738, 64, 0, 0, 0, 0}, {15, 51, 80, 1280, 4352, 0, 0}, {32, 520, 76, 0, 0, 0, 0}, {15, 48, 4693, 0, 0, 0, 0}, {204, 8806, 17408, 0, 0, 0, 0}, {15, 519, 1280, 16, 0, 0, 0}, {32, 520, 64, 0, 0, 0, 0}, {15, 51, 4437, 0, 0, 0, 0}, {192, 8810, 18432, 0, 0, 0, 0}, {15, 519, 1280, 19, 0, 0, 0}, {2560, 8704, 108, 0, 0, 0, 0}, {15, 48, 64, 1799, 4626, 0, 0}, {2056, 8738, 76, 0, 0, 0, 0}, {15, 48, 80, 1280, 4608, 0, 0}, {2048, 8704, 112, 0, 0, 0, 0}, {12, 51, 83, 1542, 4369, 0, 0}, {2570, 8738, 80, 0, 0, 0, 0}, {12, 51, 64, 1024, 4352, 0, 0}, {12, 48, 4676, 0, 0, 0, 0}, {32, 522, 95, 0, 0, 0, 0}, {12, 518, 1024, 16, 0, 0, 0}, {255, 8823, 21760, 0, 0, 0, 0}, {240, 8824, 23040, 0, 0, 0, 0}, {12, 518, 1024, 19, 0, 0, 0}, {32, 522, 80, 0, 0, 0, 0}, {12, 51, 4420, 0, 0, 0, 0}, {12, 48, 64, 1024, 4608, 0, 0}, {2570, 8738, 95, 0, 0, 0, 0}, {12, 48, 80, 1542, 4626, 0, 0}, {2048, 8704, 127, 0, 0, 0, 0}, {128, 2048, 8704, 0, 0, 0, 0}, {3, 80, 1285, 4369, 0, 0, 0}, {160, 2570, 8738, 0, 0, 0, 0}, {3, 64, 1024, 4352, 0, 0, 0}, {12, 8772, 17476, 0, 0, 0, 0}, {15, 32, 517, 80, 1285, 0, 0}, {12, 32, 518, 64, 1024, 0, 0}, {15, 8823, 21760, 0, 0, 0, 0}, {8840, 0, 0, 0, 0, 0, 0}, {3, 16, 261, 0, 0, 0, 0}, {32, 522, 0, 0, 0, 0, 0}, {3, 4420, 0, 0, 0, 0, 0}, {12, 8704, 64, 1024, 0, 0, 0}, {15, 8738, 80, 1285, 0, 0, 0}, {12, 8738, 96, 1542, 0, 0, 0}, {15, 8704, 112, 1792, 0, 0, 0}, {2560, 48, 80, 4608, 0, 0, 0}, {2056, 51, 76, 4369, 0, 0, 0}, {2056, 48, 64, 4626, 0, 0, 0}, {2560, 51, 95, 4352, 0, 0, 0}, {28, 32, 532, 80, 5140, 0, 0}, {7509, 63, 21845, 0, 0, 0, 0}, {7770, 60, 17408, 0, 0, 0, 0}, {31, 32, 535, 64, 5376, 0, 0}, {520, 16, 0, 0, 0, 0, 0}, {51, 4437, 0, 0, 0, 0, 0}, {48, 4698, 0, 0, 0, 0, 0}, {520, 19, 0, 0, 0, 0, 0}, {2560, 60, 80, 5120, 0, 0, 0}, {2056, 63, 64, 5397, 0, 0, 0}, {2056, 60, 76, 5654, 0, 0, 0}, {2560, 63, 95, 5888, 0, 0, 0}, {160, 2560, 8704, 0, 0, 0, 0}, {3, 64, 1028, 4369, 0, 0, 0}, {128, 2056, 8738, 0, 0, 0, 0}, {3, 80, 1280, 4352, 0, 0, 0}, {12, 32, 516, 64, 1028, 0, 0}, {15, 8789, 21845, 0, 0, 0, 0}, {12, 8806, 17408, 0, 0, 0, 0}, {15, 32, 519, 80, 1280, 0, 0}, {32, 520, 0, 0, 0, 0, 0}, {3, 4437, 0, 0, 0, 0, 0}, {8874, 0, 0, 0, 0, 0, 0}, {3, 16, 260, 0, 0, 0, 0}, {12, 8704, 96, 1536, 0, 0, 0}, {15, 8738, 112, 1799, 0, 0, 0}, {12, 8738, 64, 1028, 0, 0, 0}, {15, 8704, 80, 1280, 0, 0, 0}, {2048, 48, 64, 4608, 0, 0, 0}, {2570, 51, 95, 4369, 0, 0, 0}, {2570, 48, 80, 4626, 0, 0, 0}, {2048, 51, 76, 4352, 0, 0, 0}, {7748, 60, 17476, 0, 0, 0, 0}, {31, 32, 533, 64, 5397, 0, 0}, {28, 32, 534, 80, 5120, 0, 0}, {7496, 63, 21760, 0, 0, 0, 0}, {48, 4680, 0, 0, 0, 0, 0}, {522, 19, 0, 0, 0, 0, 0}, {522, 16, 0, 0, 0, 0, 0}, {51, 4420, 0, 0, 0, 0, 0}, {2048, 60, 76, 5632, 0, 0, 0}, {2570, 63, 95, 5911, 0, 0, 0}, {2570, 60, 80, 5140, 0, 0, 0}, {2048, 63, 64, 5376, 0, 0, 0}, {192, 8704, 18432, 0, 0, 0, 0}, {15, 514, 1285, 19, 0, 0, 0}, {32, 514, 64, 0, 0, 0, 0}, {15, 51, 4352, 0, 0, 0, 0}, {2056, 8712, 76, 0, 0, 0, 0}, {15, 48, 80, 1285, 4613, 0, 0}, {2570, 8714, 108, 0, 0, 0, 0}, {15, 48, 64, 1799, 4615, 0, 0}, {2056, 8712, 64, 0, 0, 0, 0}, {15, 51, 80, 1285, 4357, 0, 0}, {2570, 8714, 96, 0, 0, 0, 0}, {15, 51, 67, 1799, 4359, 0, 0}, {204, 8704, 17408, 0, 0, 0, 0}, {15, 514, 1285, 16, 0, 0, 0}, {32, 514, 76, 0, 0, 0, 0}, {15, 48, 4608, 0, 0, 0, 0}, {32, 512, 80, 0, 0, 0, 0}, {12, 51, 4369, 0, 0, 0, 0}, {240, 8738, 23130, 0, 0, 0, 0}, {12, 512, 1024, 19, 0, 0, 0}, {12, 48, 80, 1536, 4628, 0, 0}, {2048, 8746, 127, 0, 0, 0, 0}, {12, 48, 64, 1024, 4630, 0, 0}, {2560, 8744, 95, 0, 0, 0, 0}, {2560, 8744, 80, 0, 0, 0, 0}, {12, 51, 64, 1024, 4373, 0, 0}, {2048, 8746, 112, 0, 0, 0, 0}, {12, 51, 83, 1536, 4375, 0, 0}, {12, 512, 1024, 16, 0, 0, 0}, {255, 8738, 21845, 0, 0, 0, 0}, {12, 48, 4626, 0, 0, 0, 0}, {32, 512, 95, 0, 0, 0, 0}, {32, 512, 64, 0, 0, 0, 0}, {15, 51, 4369, 0, 0, 0, 0}, {192, 8738, 18504, 0, 0, 0, 0}, {15, 512, 1280, 19, 0, 0, 0}, {2560, 8744, 108, 0, 0, 0, 0}, {15, 48, 64, 1792, 4629, 0, 0}, {2048, 8746, 76, 0, 0, 0, 0}, {15, 48, 80, 1280, 4631, 0, 0}, {2560, 8744, 96, 0, 0, 0, 0}, {15, 51, 67, 1792, 4374, 0, 0}, {2048, 8746, 64, 0, 0, 0, 0}, {15, 51, 80, 1280, 4372, 0, 0}, {32, 512, 76, 0, 0, 0, 0}, {15, 48, 4626, 0, 0, 0, 0}, {204, 8738, 17476, 0, 0, 0, 0}, {15, 512, 1280, 16, 0, 0, 0}, {240, 8704, 23040, 0, 0, 0, 0}, {12, 514, 1028, 19, 0, 0, 0}, {32, 514, 80, 0, 0, 0, 0}, {12, 51, 4352, 0, 0, 0, 0}, {12, 48, 64, 1028, 4612, 0, 0}, {2570, 8714, 95, 0, 0, 0, 0}, {12, 48, 80, 1542, 4614, 0, 0}, {2056, 8712, 127, 0, 0, 0, 0}, {2056, 8712, 112, 0, 0, 0, 0}, {12, 51, 83, 1542, 4358, 0, 0}, {2570, 8714, 80, 0, 0, 0, 0}, {12, 51, 64, 1028, 4356, 0, 0}, {12, 48, 4608, 0, 0, 0, 0}, {32, 514, 95, 0, 0, 0, 0}, {12, 514, 1028, 16, 0, 0, 0}, {255, 8704, 21760, 0, 0, 0, 0}, {768, 4096, 0, 0, 0, 0, 0}, {34, 257, 0, 0, 0, 0, 0}, {34, 258, 0, 0, 0, 0, 0}, {771, 4144, 0, 0, 0, 0, 0}, {136, 780, 1028, 4160, 0, 0, 0}, {170, 783, 1285, 4176, 0, 0, 0}, {170, 780, 1290, 4192, 0, 0, 0}, {136, 783, 1032, 4208, 0, 0, 0}, {136, 768, 1032, 4104, 0, 0, 0}, {170, 771, 1285, 4154, 0, 0, 0}, {170, 768, 1290, 4106, 0, 0, 0}, {136, 771, 1028, 4152, 0, 0, 0}, {4288, 780, 20480, 0, 0, 0, 0}, {269, 34, 514, 1285, 4437, 0, 0}, {270, 34, 514, 1028, 4420, 0, 0}, {4336, 783, 16384, 0, 0, 0, 0}, {816, 4112, 0, 0, 0, 0, 0}, {34, 273, 0, 0, 0, 0, 0}, {34, 274, 0, 0, 0, 0, 0}, {819, 4128, 0, 0, 0, 0, 0}, {136, 828, 1092, 4176, 0, 0, 0}, {170, 831, 1365, 4160, 0, 0, 0}, {170, 828, 1370, 4208, 0, 0, 0}, {136, 831, 1096, 4192, 0, 0, 0}, {136, 816, 1096, 4120, 0, 0, 0}, {170, 819, 1365, 4138, 0, 0, 0}, {170, 816, 1370, 4122, 0, 0, 0}, {136, 819, 1092, 4136, 0, 0, 0}, {4304, 828, 20560, 0, 0, 0, 0}, {285, 34, 512, 1365, 4437, 0, 0}, {286, 34, 512, 1092, 4420, 0, 0}, {4320, 831, 16448, 0, 0, 0, 0}, {768, 4128, 0, 0, 0, 0, 0}, {34, 259, 0, 0, 0, 0, 0}, {34, 256, 0, 0, 0, 0, 0}, {771, 4112, 0, 0, 0, 0, 0}, {136, 780, 1036, 4192, 0, 0, 0}, {170, 783, 1295, 4208, 0, 0, 0}, {170, 780, 1280, 4160, 0, 0, 0}, {136, 783, 1024, 4176, 0, 0, 0}, {136, 768, 1024, 4136, 0, 0, 0}, {170, 771, 1295, 4122, 0, 0, 0}, {170, 768, 1280, 4138, 0, 0, 0}, {136, 771, 1036, 4120, 0, 0, 0}, {4320, 780, 16448, 0, 0, 0, 0}, {271, 34, 512, 1024, 4437, 0, 0}, {268, 34, 512, 1280, 4420, 0, 0}, {4304, 783, 20560, 0, 0, 0, 0}, {816, 4144, 0, 0, 0, 0, 0}, {34, 275, 0, 0, 0, 0, 0}, {34, 272, 0, 0, 0, 0, 0}, {819, 4096, 0, 0, 0, 0, 0}, {136, 828, 1100, 4208, 0, 0, 0}, {170, 831, 1375, 4192, 0, 0, 0}, {170, 828, 1360, 4176, 0, 0, 0}, {136, 831, 1088, 4160, 0, 0, 0}, {136, 816, 1088, 4152, 0, 0, 0}, {170, 819, 1375, 4106, 0, 0, 0}, {170, 816, 1360, 4154, 0, 0, 0}, {136, 819, 1100, 4104, 0, 0, 0}, {4336, 828, 16384, 0, 0, 0, 0}, {287, 34, 514, 1088, 4437, 0, 0}, {284, 34, 514, 1360, 4420, 0, 0}, {4288, 831, 20480, 0, 0, 0, 0}, {960, 3840, 4160, 0, 0, 0, 0}, {34, 522, 321, 1285, 4369, 0, 0}, {34, 522, 322, 1290, 4352, 0, 0}, {963, 3855, 4208, 0, 0, 0, 0}, {836, 1792, 4096, 0, 0, 0, 0}, {869, 1285, 4112, 0, 0, 0, 0}, {870, 1290, 4128, 0, 0, 0, 0}, {839, 1807, 4144, 0, 0, 0, 0}, {840, 1792, 4864, 0, 0, 0, 0}, {873, 1285, 4883, 0, 0, 0, 0}, {874, 1290, 4896, 0, 0, 0, 0}, {843, 1807, 4915, 0, 0, 0, 0}, {972, 3840, 4940, 0, 0, 0, 0}, {34, 522, 333, 1285, 4120, 0, 0}, {34, 522, 334, 1290, 4106, 0, 0}, {975, 3855, 4991, 0, 0, 0, 0}, {1008, 3072, 4176, 0, 0, 0, 0}, {34, 520, 337, 1028, 4369, 0, 0}, {34, 520, 338, 1032, 4352, 0, 0}, {1011, 3084, 4192, 0, 0, 0, 0}, {884, 1028, 4112, 0, 0, 0, 0}, {853, 1536, 4096, 0, 0, 0, 0}, {854, 1548, 4144, 0, 0, 0, 0}, {887, 1032, 4128, 0, 0, 0, 0}, {888, 1032, 4896, 0, 0, 0, 0}, {857, 1548, 4915, 0, 0, 0, 0}, {858, 1536, 4864, 0, 0, 0, 0}, {891, 1028, 4883, 0, 0, 0, 0}, {1020, 3084, 4972, 0, 0, 0, 0}, {34, 520, 349, 1032, 4104, 0, 0}, {34, 520, 350, 1028, 4122, 0, 0}, {1023, 3072, 4959, 0, 0, 0, 0}, {960, 3840, 4192, 0, 0, 0, 0}, {34, 520, 323, 1295, 4369, 0, 0}, {34, 520, 320, 1280, 4352, 0, 0}, {963, 3855, 4176, 0, 0, 0, 0}, {836, 1800, 4128, 0, 0, 0, 0}, {869, 1295, 4144, 0, 0, 0, 0}, {870, 1280, 4096, 0, 0, 0, 0}, {839, 1799, 4112, 0, 0, 0, 0}, {840, 1800, 4896, 0, 0, 0, 0}, {873, 1295, 4915, 0, 0, 0, 0}, {874, 1280, 4864, 0, 0, 0, 0}, {843, 1799, 4883, 0, 0, 0, 0}, {972, 3840, 4972, 0, 0, 0, 0}, {34, 520, 335, 1295, 4122, 0, 0}, {34, 520, 332, 1280, 4104, 0, 0}, {975, 3855, 4959, 0, 0, 0, 0}, {1008, 3072, 4208, 0, 0, 0, 0}, {34, 522, 339, 1036, 4369, 0, 0}, {34, 522, 336, 1024, 4352, 0, 0}, {1011, 3084, 4160, 0, 0, 0, 0}, {884, 1036, 4144, 0, 0, 0, 0}, {853, 1546, 4128, 0, 0, 0, 0}, {854, 1542, 4112, 0, 0, 0, 0}, {887, 1024, 4096, 0, 0, 0, 0}, {888, 1024, 4864, 0, 0, 0, 0}, {857, 1542, 4883, 0, 0, 0, 0}, {858, 1546, 4896, 0, 0, 0, 0}, {891, 1036, 4915, 0, 0, 0, 0}, {1020, 3084, 4940, 0, 0, 0, 0}, {34, 522, 351, 1024, 4106, 0, 0}, {34, 522, 348, 1036, 4120, 0, 0}, {1023, 3072, 4991, 0, 0, 0, 0}, {4224, 768, 20480, 0, 0, 0, 0}, {265, 34, 771, 1285, 4369, 0, 0}, {266, 34, 768, 1024, 4352, 0, 0}, {4272, 771, 16448, 0, 0, 0, 0}, {136, 780, 1036, 4168, 0, 0, 0}, {170, 783, 1285, 4218, 0, 0, 0}, {170, 780, 1290, 4170, 0, 0, 0}, {136, 783, 1024, 4216, 0, 0, 0}, {136, 768, 1024, 4096, 0, 0, 0}, {170, 771, 1285, 4112, 0, 0, 0}, {170, 768, 1290, 4128, 0, 0, 0}, {136, 771, 1036, 4144, 0, 0, 0}, {780, 4160, 0, 0, 0, 0, 0}, {34, 261, 0, 0, 0, 0, 0}, {34, 262, 0, 0, 0, 0, 0}, {783, 4208, 0, 0, 0, 0, 0}, {4240, 816, 20560, 0, 0, 0, 0}, {281, 34, 785, 1365, 4369, 0, 0}, {282, 34, 786, 1088, 4352, 0, 0}, {4256, 819, 16384, 0, 0, 0, 0}, {136, 828, 1100, 4184, 0, 0, 0}, {170, 831, 1365, 4202, 0, 0, 0}, {170, 828, 1370, 4186, 0, 0, 0}, {136, 831, 1088, 4200, 0, 0, 0}, {136, 816, 1088, 4112, 0, 0, 0}, {170, 819, 1365, 4096, 0, 0, 0}, {170, 816, 1370, 4144, 0, 0, 0}, {136, 819, 1100, 4128, 0, 0, 0}, {828, 4176, 0, 0, 0, 0, 0}, {34, 277, 0, 0, 0, 0, 0}, {34, 278, 0, 0, 0, 0, 0}, {831, 4192, 0, 0, 0, 0, 0}, {4256, 768, 16384, 0, 0, 0, 0}, {267, 34, 771, 1028, 4369, 0, 0}, {264, 34, 768, 1280, 4352, 0, 0}, {4240, 771, 20560, 0, 0, 0, 0}, {136, 780, 1028, 4200, 0, 0, 0}, {170, 783, 1295, 4186, 0, 0, 0}, {170, 780, 1280, 4202, 0, 0, 0}, {136, 783, 1032, 4184, 0, 0, 0}, {136, 768, 1032, 4128, 0, 0, 0}, {170, 771, 1295, 4144, 0, 0, 0}, {170, 768, 1280, 4096, 0, 0, 0}, {136, 771, 1028, 4112, 0, 0, 0}, {780, 4192, 0, 0, 0, 0, 0}, {34, 263, 0, 0, 0, 0, 0}, {34, 260, 0, 0, 0, 0, 0}, {783, 4176, 0, 0, 0, 0, 0}, {4272, 816, 16448, 0, 0, 0, 0}, {283, 34, 785, 1092, 4369, 0, 0}, {280, 34, 786, 1360, 4352, 0, 0}, {4224, 819, 20480, 0, 0, 0, 0}, {136, 828, 1092, 4216, 0, 0, 0}, {170, 831, 1375, 4170, 0, 0, 0}, {170, 828, 1360, 4218, 0, 0, 0}, {136, 831, 1096, 4168, 0, 0, 0}, {136, 816, 1096, 4144, 0, 0, 0}, {170, 819, 1375, 4128, 0, 0, 0}, {170, 816, 1360, 4112, 0, 0, 0}, {136, 819, 1092, 4096, 0, 0, 0}, {828, 4208, 0, 0, 0, 0, 0}, {34, 279, 0, 0, 0, 0, 0}, {34, 276, 0, 0, 0, 0, 0}, {831, 4160, 0, 0, 0, 0, 0}, {960, 3840, 4864, 0, 0, 0, 0}, {34, 514, 329, 1285, 4369, 0, 0}, {34, 514, 330, 1290, 4352, 0, 0}, {963, 3855, 4915, 0, 0, 0, 0}, {836, 1800, 4104, 0, 0, 0, 0}, {869, 1285, 4154, 0, 0, 0, 0}, {870, 1290, 4106, 0, 0, 0, 0}, {839, 1799, 4152, 0, 0, 0, 0}, {840, 1800, 4872, 0, 0, 0, 0}, {873, 1285, 4921, 0, 0, 0, 0}, {874, 1290, 4874, 0, 0, 0, 0}, {843, 1799, 4923, 0, 0, 0, 0}, {972, 3840, 4096, 0, 0, 0, 0}, {34, 514, 325, 1285, 4112, 0, 0}, {34, 514, 326, 1290, 4098, 0, 0}, {975, 3855, 4144, 0, 0, 0, 0}, {1008, 3072, 4896, 0, 0, 0, 0}, {34, 512, 345, 1036, 4369, 0, 0}, {34, 512, 346, 1024, 4352, 0, 0}, {1011, 3084, 4883, 0, 0, 0, 0}, {884, 1036, 4120, 0, 0, 0, 0}, {853, 1536, 4138, 0, 0, 0, 0}, {854, 1548, 4122, 0, 0, 0, 0}, {887, 1024, 4136, 0, 0, 0, 0}, {888, 1024, 4904, 0, 0, 0, 0}, {857, 1548, 4889, 0, 0, 0, 0}, {858, 1536, 4906, 0, 0, 0, 0}, {891, 1036, 4891, 0, 0, 0, 0}, {1020, 3084, 4112, 0, 0, 0, 0}, {34, 512, 341, 1024, 4096, 0, 0}, {34, 512, 342, 1036, 4114, 0, 0}, {1023, 3072, 4128, 0, 0, 0, 0}, {960, 3840, 4896, 0, 0, 0, 0}, {34, 512, 331, 1295, 4369, 0, 0}, {34, 512, 328, 1280, 4352, 0, 0}, {963, 3855, 4883, 0, 0, 0, 0}, {836, 1792, 4136, 0, 0, 0, 0}, {869, 1295, 4122, 0, 0, 0, 0}, {870, 1280, 4138, 0, 0, 0, 0}, {839, 1807, 4120, 0, 0, 0, 0}, {840, 1792, 4904, 0, 0, 0, 0}, {873, 1295, 4889, 0, 0, 0, 0}, {874, 1280, 4906, 0, 0, 0, 0}, {843, 1807, 4891, 0, 0, 0, 0}, {972, 3840, 4128, 0, 0, 0, 0}, {34, 512, 327, 1295, 4114, 0, 0}, {34, 512, 324, 1280, 4096, 0, 0}, {975, 3855, 4112, 0, 0, 0, 0}, {1008, 3072, 4864, 0, 0, 0, 0}, {34, 514, 347, 1028, 4369, 0, 0}, {34, 514, 344, 1032, 4352, 0, 0}, {1011, 3084, 4915, 0, 0, 0, 0}, {884, 1028, 4152, 0, 0, 0, 0}, {853, 1546, 4106, 0, 0, 0, 0}, {854, 1542, 4154, 0, 0, 0, 0}, {887, 1032, 4104, 0, 0, 0, 0}, {888, 1032, 4872, 0, 0, 0, 0}, {857, 1542, 4921, 0, 0, 0, 0}, {858, 1546, 4874, 0, 0, 0, 0}, {891, 1028, 4923, 0, 0, 0, 0}, {1020, 3084, 4144, 0, 0, 0, 0}, {34, 514, 343, 1032, 4098, 0, 0}, {34, 514, 340, 1028, 4112, 0, 0}, {1023, 3072, 4096, 0, 0, 0, 0}, {3072, 9216, 17408, 0, 0, 0, 0}, {15, 37, 85, 257, 0, 0, 0}, {42, 514, 1032, 0, 0, 0, 0}, {15, 771, 5171, 0, 0, 0, 0}, {128, 8192, 1028, 0, 0, 0, 0}, {15, 768, 85, 1285, 4352, 0, 0}, {170, 8704, 1542, 0, 0, 0, 0}, {15, 768, 112, 1031, 4096, 0, 0}, {128, 8192, 1032, 0, 0, 0, 0}, {15, 771, 85, 1285, 4403, 0, 0}, {170, 8704, 1546, 0, 0, 0, 0}, {15, 771, 112, 1028, 4144, 0, 0}, {3084, 9228, 17612, 0, 0, 0, 0}, {15, 37, 85, 258, 0, 0, 0}, {42, 514, 1028, 0, 0, 0, 0}, {15, 768, 5120, 0, 0, 0, 0}, {112, 1072, 4112, 0, 0, 0, 0}, {85, 1587, 4369, 0, 0, 0, 0}, {90, 1584, 4626, 0, 0, 0, 0}, {127, 1075, 4883, 0, 0, 0, 0}, {240, 3132, 5140, 0, 0, 0, 0}, {42, 512, 85, 1045, 4352, 0, 0}, {42, 512, 90, 1046, 4096, 0, 0}, {255, 3135, 5911, 0, 0, 0, 0}, {240, 3120, 5160, 0, 0, 0, 0}, {42, 512, 85, 1049, 4377, 0, 0}, {42, 512, 90, 1050, 4122, 0, 0}, {255, 3123, 5928, 0, 0, 0, 0}, {112, 1084, 4128, 0, 0, 0, 0}, {85, 1599, 4386, 0, 0, 0, 0}, {90, 1596, 4642, 0, 0, 0, 0}, {127, 1087, 4896, 0, 0, 0, 0}, {128, 8224, 1024, 0, 0, 0, 0}, {15, 771, 85, 1280, 4369, 0, 0}, {170, 8738, 1536, 0, 0, 0, 0}, {15, 771, 112, 1027, 4112, 0, 0}, {3084, 9252, 17476, 0, 0, 0, 0}, {15, 37, 85, 256, 0, 0, 0}, {42, 512, 1036, 0, 0, 0, 0}, {15, 768, 5159, 0, 0, 0, 0}, {3072, 9256, 17544, 0, 0, 0, 0}, {15, 37, 85, 259, 0, 0, 0}, {42, 512, 1024, 0, 0, 0, 0}, {15, 771, 5140, 0, 0, 0, 0}, {128, 8224, 1036, 0, 0, 0, 0}, {15, 768, 85, 1280, 4386, 0, 0}, {170, 8738, 1548, 0, 0, 0, 0}, {15, 768, 112, 1024, 4128, 0, 0}, {240, 3120, 5120, 0, 0, 0, 0}, {42, 514, 85, 1041, 4369, 0, 0}, {42, 514, 90, 1042, 4112, 0, 0}, {255, 3123, 5888, 0, 0, 0, 0}, {112, 1076, 4096, 0, 0, 0, 0}, {85, 1589, 4352, 0, 0, 0, 0}, {90, 1590, 4608, 0, 0, 0, 0}, {127, 1079, 4864, 0, 0, 0, 0}, {112, 1080, 4144, 0, 0, 0, 0}, {85, 1593, 4403, 0, 0, 0, 0}, {90, 1594, 4656, 0, 0, 0, 0}, {127, 1083, 4915, 0, 0, 0, 0}, {240, 3132, 5180, 0, 0, 0, 0}, {42, 514, 85, 1053, 4360, 0, 0}, {42, 514, 90, 1054, 4106, 0, 0}, {255, 3135, 5951, 0, 0, 0, 0}, {128, 8192, 1088, 0, 0, 0, 0}, {15, 819, 85, 1285, 4369, 0, 0}, {170, 8738, 1632, 0, 0, 0, 0}, {15, 819, 112, 1075, 4096, 0, 0}, {3276, 9284, 17476, 0, 0, 0, 0}, {15, 37, 85, 272, 0, 0, 0}, {42, 522, 1100, 0, 0, 0, 0}, {15, 816, 5239, 0, 0, 0, 0}, {3264, 9288, 17544, 0, 0, 0, 0}, {15, 37, 85, 275, 0, 0, 0}, {42, 522, 1088, 0, 0, 0, 0}, {15, 819, 5188, 0, 0, 0, 0}, {128, 8192, 1100, 0, 0, 0, 0}, {15, 816, 85, 1285, 4386, 0, 0}, {170, 8738, 1644, 0, 0, 0, 0}, {15, 816, 112, 1072, 4144, 0, 0}, {240, 3072, 5200, 0, 0, 0, 0}, {42, 520, 85, 1028, 4369, 0, 0}, {42, 520, 90, 1032, 4096, 0, 0}, {255, 3084, 5984, 0, 0, 0, 0}, {112, 1028, 4112, 0, 0, 0, 0}, {85, 1536, 4352, 0, 0, 0, 0}, {90, 1548, 4656, 0, 0, 0, 0}, {127, 1032, 4896, 0, 0, 0, 0}, {112, 1032, 4128, 0, 0, 0, 0}, {85, 1548, 4403, 0, 0, 0, 0}, {90, 1536, 4608, 0, 0, 0, 0}, {127, 1028, 4883, 0, 0, 0, 0}, {240, 3084, 5228, 0, 0, 0, 0}, {42, 520, 85, 1032, 4360, 0, 0}, {42, 520, 90, 1028, 4122, 0, 0}, {255, 3072, 5983, 0, 0, 0, 0}, {3264, 9312, 17408, 0, 0, 0, 0}, {15, 37, 85, 273, 0, 0, 0}, {42, 520, 1096, 0, 0, 0, 0}, {15, 819, 5219, 0, 0, 0, 0}, {128, 8224, 1092, 0, 0, 0, 0}, {15, 816, 85, 1280, 4352, 0, 0}, {170, 8704, 1638, 0, 0, 0, 0}, {15, 816, 112, 1079, 4112, 0, 0}, {128, 8224, 1096, 0, 0, 0, 0}, {15, 819, 85, 1280, 4403, 0, 0}, {170, 8704, 1642, 0, 0, 0, 0}, {15, 819, 112, 1076, 4128, 0, 0}, {3276, 9324, 17612, 0, 0, 0, 0}, {15, 37, 85, 274, 0, 0, 0}, {42, 520, 1092, 0, 0, 0, 0}, {15, 816, 5200, 0, 0, 0, 0}, {112, 1024, 4096, 0, 0, 0, 0}, {85, 1542, 4369, 0, 0, 0, 0}, {90, 1546, 4642, 0, 0, 0, 0}, {127, 1036, 4915, 0, 0, 0, 0}, {240, 3084, 5188, 0, 0, 0, 0}, {42, 522, 85, 1024, 4352, 0, 0}, {42, 522, 90, 1036, 4112, 0, 0}, {255, 3072, 6007, 0, 0, 0, 0}, {240, 3072, 5240, 0, 0, 0, 0}, {42, 522, 85, 1036, 4377, 0, 0}, {42, 522, 90, 1024, 4106, 0, 0}, {255, 3084, 5960, 0, 0, 0, 0}, {112, 1036, 4144, 0, 0, 0, 0}, {85, 1546, 4386, 0, 0, 0, 0}, {90, 1542, 4626, 0, 0, 0, 0}, {127, 1024, 4864, 0, 0, 0, 0}, {128, 8192, 1024, 0, 0, 0, 0}, {15, 771, 85, 1285, 4369, 0, 0}, {170, 8738, 1546, 0, 0, 0, 0}, {15, 771, 112, 1027, 4144, 0, 0}, {3084, 9348, 17476, 0, 0, 0, 0}, {15, 37, 85, 261, 0, 0, 0}, {42, 522, 1036, 0, 0, 0, 0}, {15, 768, 5239, 0, 0, 0, 0}, {3072, 9352, 17544, 0, 0, 0, 0}, {15, 37, 85, 262, 0, 0, 0}, {42, 522, 1024, 0, 0, 0, 0}, {15, 771, 5188, 0, 0, 0, 0}, {128, 8192, 1036, 0, 0, 0, 0}, {15, 768, 85, 1285, 4386, 0, 0}, {170, 8738, 1542, 0, 0, 0, 0}, {15, 768, 112, 1024, 4096, 0, 0}, {240, 3120, 5200, 0, 0, 0, 0}, {42, 520, 85, 1041, 4369, 0, 0}, {42, 520, 90, 1042, 4122, 0, 0}, {255, 3123, 5983, 0, 0, 0, 0}, {112, 1076, 4128, 0, 0, 0, 0}, {85, 1599, 4352, 0, 0, 0, 0}, {90, 1596, 4608, 0, 0, 0, 0}, {127, 1079, 4896, 0, 0, 0, 0}, {112, 1080, 4112, 0, 0, 0, 0}, {85, 1587, 4403, 0, 0, 0, 0}, {90, 1584, 4656, 0, 0, 0, 0}, {127, 1083, 4883, 0, 0, 0, 0}, {240, 3132, 5228, 0, 0, 0, 0}, {42, 520, 85, 1053, 4360, 0, 0}, {42, 520, 90, 1054, 4096, 0, 0}, {255, 3135, 5984, 0, 0, 0, 0}, {3072, 9376, 17408, 0, 0, 0, 0}, {15, 37, 85, 260, 0, 0, 0}, {42, 520, 1032, 0, 0, 0, 0}, {15, 771, 5219, 0, 0, 0, 0}, {128, 8224, 1028, 0, 0, 0, 0}, {15, 768, 85, 1280, 4352, 0, 0}, {170, 8704, 1548, 0, 0, 0, 0}, {15, 768, 112, 1031, 4128, 0, 0}, {128, 8224, 1032, 0, 0, 0, 0}, {15, 771, 85, 1280, 4403, 0, 0}, {170, 8704, 1536, 0, 0, 0, 0}, {15, 771, 112, 1028, 4112, 0, 0}, {3084, 9388, 17612, 0, 0, 0, 0}, {15, 37, 85, 263, 0, 0, 0}, {42, 520, 1028, 0, 0, 0, 0}, {15, 768, 5200, 0, 0, 0, 0}, {112, 1072, 4144, 0, 0, 0, 0}, {85, 1593, 4369, 0, 0, 0, 0}, {90, 1594, 4626, 0, 0, 0, 0}, {127, 1075, 4915, 0, 0, 0, 0}, {240, 3132, 5188, 0, 0, 0, 0}, {42, 522, 85, 1045, 4352, 0, 0}, {42, 522, 90, 1046, 4106, 0, 0}, {255, 3135, 5960, 0, 0, 0, 0}, {240, 3120, 5240, 0, 0, 0, 0}, {42, 522, 85, 1049, 4377, 0, 0}, {42, 522, 90, 1050, 4112, 0, 0}, {255, 3123, 6007, 0, 0, 0, 0}, {112, 1084, 4096, 0, 0, 0, 0}, {85, 1589, 4386, 0, 0, 0, 0}, {90, 1590, 4642, 0, 0, 0, 0}, {127, 1087, 4864, 0, 0, 0, 0}, {3264, 9408, 17408, 0, 0, 0, 0}, {15, 37, 85, 276, 0, 0, 0}, {42, 514, 1096, 0, 0, 0, 0}, {15, 819, 5171, 0, 0, 0, 0}, {128, 8192, 1092, 0, 0, 0, 0}, {15, 816, 85, 1285, 4352, 0, 0}, {170, 8704, 1644, 0, 0, 0, 0}, {15, 816, 112, 1079, 4144, 0, 0}, {128, 8192, 1096, 0, 0, 0, 0}, {15, 819, 85, 1285, 4403, 0, 0}, {170, 8704, 1632, 0, 0, 0, 0}, {15, 819, 112, 1076, 4096, 0, 0}, {3276, 9420, 17612, 0, 0, 0, 0}, {15, 37, 85, 279, 0, 0, 0}, {42, 514, 1092, 0, 0, 0, 0}, {15, 816, 5120, 0, 0, 0, 0}, {112, 1024, 4128, 0, 0, 0, 0}, {85, 1548, 4369, 0, 0, 0, 0}, {90, 1536, 4642, 0, 0, 0, 0}, {127, 1036, 4883, 0, 0, 0, 0}, {240, 3084, 5140, 0, 0, 0, 0}, {42, 512, 85, 1024, 4352, 0, 0}, {42, 512, 90, 1036, 4122, 0, 0}, {255, 3072, 5928, 0, 0, 0, 0}, {240, 3072, 5160, 0, 0, 0, 0}, {42, 512, 85, 1036, 4377, 0, 0}, {42, 512, 90, 1024, 4096, 0, 0}, {255, 3084, 5911, 0, 0, 0, 0}, {112, 1036, 4112, 0, 0, 0, 0}, {85, 1536, 4386, 0, 0, 0, 0}, {90, 1548, 4626, 0, 0, 0, 0}, {127, 1024, 4896, 0, 0, 0, 0}, {128, 8224, 1088, 0, 0, 0, 0}, {15, 819, 85, 1280, 4369, 0, 0}, {170, 8738, 1642, 0, 0, 0, 0}, {15, 819, 112, 1075, 4128, 0, 0}, {3276, 9444, 17476, 0, 0, 0, 0}, {15, 37, 85, 277, 0, 0, 0}, {42, 512, 1100, 0, 0, 0, 0}, {15, 816, 5159, 0, 0, 0, 0}, {3264, 9448, 17544, 0, 0, 0, 0}, {15, 37, 85, 278, 0, 0, 0}, {42, 512, 1088, 0, 0, 0, 0}, {15, 819, 5140, 0, 0, 0, 0}, {128, 8224, 1100, 0, 0, 0, 0}, {15, 816, 85, 1280, 4386, 0, 0}, {170, 8738, 1638, 0, 0, 0, 0}, {15, 816, 112, 1072, 4112, 0, 0}, {240, 3072, 5120, 0, 0, 0, 0}, {42, 514, 85, 1028, 4369, 0, 0}, {42, 514, 90, 1032, 4106, 0, 0}, {255, 3084, 5951, 0, 0, 0, 0}, {112, 1028, 4144, 0, 0, 0, 0}, {85, 1546, 4352, 0, 0, 0, 0}, {90, 1542, 4656, 0, 0, 0, 0}, {127, 1032, 4864, 0, 0, 0, 0}, {112, 1032, 4096, 0, 0, 0, 0}, {85, 1542, 4403, 0, 0, 0, 0}, {90, 1546, 4608, 0, 0, 0, 0}, {127, 1028, 4915, 0, 0, 0, 0}, {240, 3084, 5180, 0, 0, 0, 0}, {42, 514, 85, 1032, 4360, 0, 0}, {42, 514, 90, 1028, 4112, 0, 0}, {255, 3072, 5888, 0, 0, 0, 0}, {3840, 9472, 21760, 0, 0, 0, 0}, {12, 36, 68, 257, 0, 0, 0}, {40, 514, 1290, 0, 0, 0, 0}, {12, 771, 5427, 0, 0, 0, 0}, {12, 768, 68, 1028, 4352, 0, 0}, {160, 8192, 1285, 0, 0, 0, 0}, {12, 768, 96, 1286, 4096, 0, 0}, {136, 8704, 1799, 0, 0, 0, 0}, {136, 8704, 1800, 0, 0, 0, 0}, {12, 771, 96, 1285, 4144, 0, 0}, {160, 8192, 1290, 0, 0, 0, 0}, {12, 771, 68, 1028, 4403, 0, 0}, {12, 768, 5376, 0, 0, 0, 0}, {40, 514, 1285, 0, 0, 0, 0}, {12, 36, 68, 258, 0, 0, 0}, {3855, 9487, 22015, 0, 0, 0, 0}, {96, 1328, 4112, 0, 0, 0, 0}, {68, 1843, 4369, 0, 0, 0, 0}, {72, 1840, 4626, 0, 0, 0, 0}, {108, 1331, 4883, 0, 0, 0, 0}, {40, 512, 68, 1300, 4352, 0, 0}, {192, 3903, 5397, 0, 0, 0, 0}, {204, 3900, 5654, 0, 0, 0, 0}, {40, 512, 72, 1303, 4096, 0, 0}, {40, 512, 72, 1304, 4120, 0, 0}, {204, 3891, 5674, 0, 0, 0, 0}, {192, 3888, 5418, 0, 0, 0, 0}, {40, 512, 68, 1307, 4379, 0, 0}, {108, 1340, 4896, 0, 0, 0, 0}, {72, 1855, 4642, 0, 0, 0, 0}, {68, 1852, 4386, 0, 0, 0, 0}, {96, 1343, 4128, 0, 0, 0, 0}, {160, 8224, 1280, 0, 0, 0, 0}, {12, 771, 68, 1024, 4369, 0, 0}, {136, 8738, 1792, 0, 0, 0, 0}, {12, 771, 96, 1283, 4112, 0, 0}, {12, 36, 68, 256, 0, 0, 0}, {3855, 9509, 21845, 0, 0, 0, 0}, {12, 768, 5414, 0, 0, 0, 0}, {40, 512, 1295, 0, 0, 0, 0}, {40, 512, 1280, 0, 0, 0, 0}, {12, 771, 5397, 0, 0, 0, 0}, {3840, 9514, 21930, 0, 0, 0, 0}, {12, 36, 68, 259, 0, 0, 0}, {12, 768, 96, 1280, 4128, 0, 0}, {136, 8738, 1807, 0, 0, 0, 0}, {12, 768, 68, 1024, 4386, 0, 0}, {160, 8224, 1295, 0, 0, 0, 0}, {192, 3888, 5376, 0, 0, 0, 0}, {40, 514, 68, 1297, 4369, 0, 0}, {40, 514, 72, 1298, 4112, 0, 0}, {204, 3891, 5632, 0, 0, 0, 0}, {68, 1844, 4352, 0, 0, 0, 0}, {96, 1333, 4096, 0, 0, 0, 0}, {108, 1334, 4864, 0, 0, 0, 0}, {72, 1847, 4608, 0, 0, 0, 0}, {72, 1848, 4656, 0, 0, 0, 0}, {108, 1337, 4915, 0, 0, 0, 0}, {96, 1338, 4144, 0, 0, 0, 0}, {68, 1851, 4403, 0, 0, 0, 0}, {204, 3900, 5692, 0, 0, 0, 0}, {40, 514, 72, 1309, 4104, 0, 0}, {40, 514, 68, 1310, 4362, 0, 0}, {192, 3903, 5439, 0, 0, 0, 0}, {192, 3840, 5440, 0, 0, 0, 0}, {40, 522, 68, 1285, 4369, 0, 0}, {40, 522, 72, 1290, 4096, 0, 0}, {204, 3855, 5744, 0, 0, 0, 0}, {68, 1792, 4352, 0, 0, 0, 0}, {96, 1285, 4112, 0, 0, 0, 0}, {108, 1290, 4896, 0, 0, 0, 0}, {72, 1807, 4656, 0, 0, 0, 0}, {72, 1792, 4608, 0, 0, 0, 0}, {108, 1285, 4883, 0, 0, 0, 0}, {96, 1290, 4128, 0, 0, 0, 0}, {68, 1807, 4403, 0, 0, 0, 0}, {204, 3840, 5708, 0, 0, 0, 0}, {40, 522, 72, 1285, 4120, 0, 0}, {40, 522, 68, 1290, 4362, 0, 0}, {192, 3855, 5503, 0, 0, 0, 0}, {160, 8192, 1360, 0, 0, 0, 0}, {12, 819, 68, 1028, 4369, 0, 0}, {136, 8738, 1904, 0, 0, 0, 0}, {12, 819, 96, 1331, 4096, 0, 0}, {12, 36, 68, 272, 0, 0, 0}, {4095, 9557, 21845, 0, 0, 0, 0}, {12, 816, 5478, 0, 0, 0, 0}, {40, 520, 1375, 0, 0, 0, 0}, {40, 520, 1360, 0, 0, 0, 0}, {12, 819, 5461, 0, 0, 0, 0}, {4080, 9562, 21930, 0, 0, 0, 0}, {12, 36, 68, 275, 0, 0, 0}, {12, 816, 96, 1328, 4144, 0, 0}, {136, 8738, 1919, 0, 0, 0, 0}, {12, 816, 68, 1028, 4386, 0, 0}, {160, 8192, 1375, 0, 0, 0, 0}, {96, 1280, 4096, 0, 0, 0, 0}, {68, 1799, 4369, 0, 0, 0, 0}, {72, 1800, 4642, 0, 0, 0, 0}, {108, 1295, 4915, 0, 0, 0, 0}, {40, 520, 68, 1280, 4352, 0, 0}, {192, 3855, 5461, 0, 0, 0, 0}, {204, 3840, 5734, 0, 0, 0, 0}, {40, 520, 72, 1295, 4112, 0, 0}, {40, 520, 72, 1280, 4104, 0, 0}, {204, 3855, 5722, 0, 0, 0, 0}, {192, 3840, 5482, 0, 0, 0, 0}, {40, 520, 68, 1295, 4379, 0, 0}, {108, 1280, 4864, 0, 0, 0, 0}, {72, 1799, 4626, 0, 0, 0, 0}, {68, 1800, 4386, 0, 0, 0, 0}, {96, 1295, 4144, 0, 0, 0, 0}, {4080, 9584, 21760, 0, 0, 0, 0}, {12, 36, 68, 273, 0, 0, 0}, {40, 522, 1370, 0, 0, 0, 0}, {12, 819, 5491, 0, 0, 0, 0}, {12, 816, 68, 1024, 4352, 0, 0}, {160, 8224, 1365, 0, 0, 0, 0}, {12, 816, 96, 1334, 4112, 0, 0}, {136, 8704, 1911, 0, 0, 0, 0}, {136, 8704, 1912, 0, 0, 0, 0}, {12, 819, 96, 1333, 4128, 0, 0}, {160, 8224, 1370, 0, 0, 0, 0}, {12, 819, 68, 1024, 4403, 0, 0}, {12, 816, 5440, 0, 0, 0, 0}, {40, 522, 1365, 0, 0, 0, 0}, {12, 36, 68, 274, 0, 0, 0}, {4095, 9599, 22015, 0, 0, 0, 0}, {3840, 9600, 21760, 0, 0, 0, 0}, {12, 36, 68, 261, 0, 0, 0}, {40, 522, 1290, 0, 0, 0, 0}, {12, 771, 5491, 0, 0, 0, 0}, {12, 768, 68, 1024, 4352, 0, 0}, {160, 8224, 1285, 0, 0, 0, 0}, {12, 768, 96, 1286, 4128, 0, 0}, {136, 8704, 1807, 0, 0, 0, 0}, {136, 8704, 1792, 0, 0, 0, 0}, {12, 771, 96, 1285, 4112, 0, 0}, {160, 8224, 1290, 0, 0, 0, 0}, {12, 771, 68, 1024, 4403, 0, 0}, {12, 768, 5440, 0, 0, 0, 0}, {40, 522, 1285, 0, 0, 0, 0}, {12, 36, 68, 262, 0, 0, 0}, {3855, 9615, 22015, 0, 0, 0, 0}, {96, 1328, 4144, 0, 0, 0, 0}, {68, 1851, 4369, 0, 0, 0, 0}, {72, 1848, 4626, 0, 0, 0, 0}, {108, 1331, 4915, 0, 0, 0, 0}, {40, 520, 68, 1300, 4352, 0, 0}, {192, 3903, 5461, 0, 0, 0, 0}, {204, 3900, 5722, 0, 0, 0, 0}, {40, 520, 72, 1303, 4104, 0, 0}, {40, 520, 72, 1304, 4112, 0, 0}, {204, 3891, 5734, 0, 0, 0, 0}, {192, 3888, 5482, 0, 0, 0, 0}, {40, 520, 68, 1307, 4379, 0, 0}, {108, 1340, 4864, 0, 0, 0, 0}, {72, 1847, 4642, 0, 0, 0, 0}, {68, 1844, 4386, 0, 0, 0, 0}, {96, 1343, 4096, 0, 0, 0, 0}, {160, 8192, 1280, 0, 0, 0, 0}, {12, 771, 68, 1028, 4369, 0, 0}, {136, 8738, 1800, 0, 0, 0, 0}, {12, 771, 96, 1283, 4144, 0, 0}, {12, 36, 68, 260, 0, 0, 0}, {3855, 9637, 21845, 0, 0, 0, 0}, {12, 768, 5478, 0, 0, 0, 0}, {40, 520, 1295, 0, 0, 0, 0}, {40, 520, 1280, 0, 0, 0, 0}, {12, 771, 5461, 0, 0, 0, 0}, {3840, 9642, 21930, 0, 0, 0, 0}, {12, 36, 68, 263, 0, 0, 0}, {12, 768, 96, 1280, 4096, 0, 0}, {136, 8738, 1799, 0, 0, 0, 0}, {12, 768, 68, 1028, 4386, 0, 0}, {160, 8192, 1295, 0, 0, 0, 0}, {192, 3888, 5440, 0, 0, 0, 0}, {40, 522, 68, 1297, 4369, 0, 0}, {40, 522, 72, 1298, 4120, 0, 0}, {204, 3891, 5708, 0, 0, 0, 0}, {68, 1852, 4352, 0, 0, 0, 0}, {96, 1333, 4128, 0, 0, 0, 0}, {108, 1334, 4896, 0, 0, 0, 0}, {72, 1855, 4608, 0, 0, 0, 0}, {72, 1840, 4656, 0, 0, 0, 0}, {108, 1337, 4883, 0, 0, 0, 0}, {96, 1338, 4112, 0, 0, 0, 0}, {68, 1843, 4403, 0, 0, 0, 0}, {204, 3900, 5744, 0, 0, 0, 0}, {40, 522, 72, 1309, 4096, 0, 0}, {40, 522, 68, 1310, 4362, 0, 0}, {192, 3903, 5503, 0, 0, 0, 0}, {192, 3840, 5376, 0, 0, 0, 0}, {40, 514, 68, 1285, 4369, 0, 0}, {40, 514, 72, 1290, 4104, 0, 0}, {204, 3855, 5692, 0, 0, 0, 0}, {68, 1800, 4352, 0, 0, 0, 0}, {96, 1285, 4144, 0, 0, 0, 0}, {108, 1290, 4864, 0, 0, 0, 0}, {72, 1799, 4656, 0, 0, 0, 0}, {72, 1800, 4608, 0, 0, 0, 0}, {108, 1285, 4915, 0, 0, 0, 0}, {96, 1290, 4096, 0, 0, 0, 0}, {68, 1799, 4403, 0, 0, 0, 0}, {204, 3840, 5632, 0, 0, 0, 0}, {40, 514, 72, 1285, 4112, 0, 0}, {40, 514, 68, 1290, 4362, 0, 0}, {192, 3855, 5439, 0, 0, 0, 0}, {160, 8224, 1360, 0, 0, 0, 0}, {12, 819, 68, 1024, 4369, 0, 0}, {136, 8738, 1912, 0, 0, 0, 0}, {12, 819, 96, 1331, 4128, 0, 0}, {12, 36, 68, 276, 0, 0, 0}, {4095, 9685, 21845, 0, 0, 0, 0}, {12, 816, 5414, 0, 0, 0, 0}, {40, 512, 1375, 0, 0, 0, 0}, {40, 512, 1360, 0, 0, 0, 0}, {12, 819, 5397, 0, 0, 0, 0}, {4080, 9690, 21930, 0, 0, 0, 0}, {12, 36, 68, 279, 0, 0, 0}, {12, 816, 96, 1328, 4112, 0, 0}, {136, 8738, 1911, 0, 0, 0, 0}, {12, 816, 68, 1024, 4386, 0, 0}, {160, 8224, 1375, 0, 0, 0, 0}, {96, 1280, 4128, 0, 0, 0, 0}, {68, 1807, 4369, 0, 0, 0, 0}, {72, 1792, 4642, 0, 0, 0, 0}, {108, 1295, 4883, 0, 0, 0, 0}, {40, 512, 68, 1280, 4352, 0, 0}, {192, 3855, 5397, 0, 0, 0, 0}, {204, 3840, 5674, 0, 0, 0, 0}, {40, 512, 72, 1295, 4120, 0, 0}, {40, 512, 72, 1280, 4096, 0, 0}, {204, 3855, 5654, 0, 0, 0, 0}, {192, 3840, 5418, 0, 0, 0, 0}, {40, 512, 68, 1295, 4379, 0, 0}, {108, 1280, 4896, 0, 0, 0, 0}, {72, 1807, 4626, 0, 0, 0, 0}, {68, 1792, 4386, 0, 0, 0, 0}, {96, 1295, 4112, 0, 0, 0, 0}, {4080, 9712, 21760, 0, 0, 0, 0}, {12, 36, 68, 277, 0, 0, 0}, {40, 514, 1370, 0, 0, 0, 0}, {12, 819, 5427, 0, 0, 0, 0}, {12, 816, 68, 1028, 4352, 0, 0}, {160, 8192, 1365, 0, 0, 0, 0}, {12, 816, 96, 1334, 4144, 0, 0}, {136, 8704, 1919, 0, 0, 0, 0}, {136, 8704, 1904, 0, 0, 0, 0}, {12, 819, 96, 1333, 4096, 0, 0}, {160, 8192, 1370, 0, 0, 0, 0}, {12, 819, 68, 1028, 4403, 0, 0}, {12, 816, 5376, 0, 0, 0, 0}, {40, 514, 1365, 0, 0, 0, 0}, {12, 36, 68, 278, 0, 0, 0}, {4095, 9727, 22015, 0, 0, 0, 0}, {3072, 9728, 16384, 0, 0, 0, 0}, {15, 39, 80, 257, 0, 0, 0}, {40, 514, 1032, 0, 0, 0, 0}, {15, 771, 5424, 0, 0, 0, 0}, {136, 8704, 1028, 0, 0, 0, 0}, {15, 768, 80, 1285, 4096, 0, 0}, {160, 8192, 1542, 0, 0, 0, 0}, {15, 768, 119, 1031, 4352, 0, 0}, {136, 8704, 1032, 0, 0, 0, 0}, {15, 771, 80, 1285, 4144, 0, 0}, {160, 8192, 1546, 0, 0, 0, 0}, {15, 771, 119, 1028, 4403, 0, 0}, {3084, 9740, 16576, 0, 0, 0, 0}, {15, 39, 80, 258, 0, 0, 0}, {40, 514, 1028, 0, 0, 0, 0}, {15, 768, 5376, 0, 0, 0, 0}, {80, 1584, 4112, 0, 0, 0, 0}, {119, 1075, 4369, 0, 0, 0, 0}, {120, 1072, 4626, 0, 0, 0, 0}, {95, 1587, 4883, 0, 0, 0, 0}, {40, 512, 80, 1044, 4096, 0, 0}, {255, 3135, 5397, 0, 0, 0, 0}, {240, 3132, 5654, 0, 0, 0, 0}, {40, 512, 95, 1047, 4352, 0, 0}, {40, 512, 80, 1048, 4120, 0, 0}, {255, 3123, 5418, 0, 0, 0, 0}, {240, 3120, 5674, 0, 0, 0, 0}, {40, 512, 95, 1051, 4379, 0, 0}, {80, 1596, 4128, 0, 0, 0, 0}, {119, 1087, 4386, 0, 0, 0, 0}, {120, 1084, 4642, 0, 0, 0, 0}, {95, 1599, 4896, 0, 0, 0, 0}, {160, 8224, 1536, 0, 0, 0, 0}, {15, 771, 119, 1027, 4369, 0, 0}, {136, 8738, 1024, 0, 0, 0, 0}, {15, 771, 80, 1280, 4112, 0, 0}, {40, 512, 1036, 0, 0, 0, 0}, {15, 768, 5413, 0, 0, 0, 0}, {3084, 9766, 16448, 0, 0, 0, 0}, {15, 39, 80, 256, 0, 0, 0}, {40, 512, 1024, 0, 0, 0, 0}, {15, 771, 5397, 0, 0, 0, 0}, {3072, 9770, 16512, 0, 0, 0, 0}, {15, 39, 80, 259, 0, 0, 0}, {160, 8224, 1548, 0, 0, 0, 0}, {15, 768, 119, 1024, 4386, 0, 0}, {136, 8738, 1036, 0, 0, 0, 0}, {15, 768, 80, 1280, 4128, 0, 0}, {240, 3120, 5632, 0, 0, 0, 0}, {40, 514, 95, 1043, 4369, 0, 0}, {40, 514, 80, 1040, 4112, 0, 0}, {255, 3123, 5376, 0, 0, 0, 0}, {120, 1076, 4608, 0, 0, 0, 0}, {95, 1589, 4864, 0, 0, 0, 0}, {80, 1590, 4096, 0, 0, 0, 0}, {119, 1079, 4352, 0, 0, 0, 0}, {120, 1080, 4656, 0, 0, 0, 0}, {95, 1593, 4915, 0, 0, 0, 0}, {80, 1594, 4144, 0, 0, 0, 0}, {119, 1083, 4403, 0, 0, 0, 0}, {240, 3132, 5692, 0, 0, 0, 0}, {40, 514, 95, 1055, 4362, 0, 0}, {40, 514, 80, 1052, 4104, 0, 0}, {255, 3135, 5439, 0, 0, 0, 0}, {3264, 9792, 16448, 0, 0, 0, 0}, {15, 39, 80, 273, 0, 0, 0}, {40, 522, 1096, 0, 0, 0, 0}, {15, 819, 5488, 0, 0, 0, 0}, {136, 8704, 1092, 0, 0, 0, 0}, {15, 816, 80, 1285, 4112, 0, 0}, {160, 8224, 1638, 0, 0, 0, 0}, {15, 816, 119, 1072, 4352, 0, 0}, {136, 8704, 1096, 0, 0, 0, 0}, {15, 819, 80, 1285, 4128, 0, 0}, {160, 8224, 1642, 0, 0, 0, 0}, {15, 819, 119, 1075, 4403, 0, 0}, {3276, 9804, 16512, 0, 0, 0, 0}, {15, 39, 80, 274, 0, 0, 0}, {40, 522, 1092, 0, 0, 0, 0}, {15, 816, 5440, 0, 0, 0, 0}, {80, 1536, 4096, 0, 0, 0, 0}, {119, 1028, 4369, 0, 0, 0, 0}, {120, 1032, 4642, 0, 0, 0, 0}, {95, 1548, 4915, 0, 0, 0, 0}, {40, 520, 80, 1028, 4112, 0, 0}, {255, 3072, 5461, 0, 0, 0, 0}, {240, 3084, 5734, 0, 0, 0, 0}, {40, 520, 95, 1032, 4352, 0, 0}, {40, 520, 80, 1032, 4104, 0, 0}, {255, 3084, 5482, 0, 0, 0, 0}, {240, 3072, 5722, 0, 0, 0, 0}, {40, 520, 95, 1028, 4379, 0, 0}, {80, 1548, 4144, 0, 0, 0, 0}, {119, 1032, 4386, 0, 0, 0, 0}, {120, 1028, 4626, 0, 0, 0, 0}, {95, 1536, 4864, 0, 0, 0, 0}, {160, 8192, 1632, 0, 0, 0, 0}, {15, 819, 119, 1076, 4369, 0, 0}, {136, 8738, 1088, 0, 0, 0, 0}, {15, 819, 80, 1280, 4096, 0, 0}, {40, 520, 1100, 0, 0, 0, 0}, {15, 816, 5477, 0, 0, 0, 0}, {3276, 9830, 16384, 0, 0, 0, 0}, {15, 39, 80, 272, 0, 0, 0}, {40, 520, 1088, 0, 0, 0, 0}, {15, 819, 5461, 0, 0, 0, 0}, {3264, 9834, 16576, 0, 0, 0, 0}, {15, 39, 80, 275, 0, 0, 0}, {160, 8192, 1644, 0, 0, 0, 0}, {15, 816, 119, 1079, 4386, 0, 0}, {136, 8738, 1100, 0, 0, 0, 0}, {15, 816, 80, 1280, 4144, 0, 0}, {240, 3072, 5744, 0, 0, 0, 0}, {40, 522, 95, 1036, 4369, 0, 0}, {40, 522, 80, 1024, 4096, 0, 0}, {255, 3084, 5440, 0, 0, 0, 0}, {120, 1036, 4656, 0, 0, 0, 0}, {95, 1546, 4896, 0, 0, 0, 0}, {80, 1542, 4112, 0, 0, 0, 0}, {119, 1024, 4352, 0, 0, 0, 0}, {120, 1024, 4608, 0, 0, 0, 0}, {95, 1542, 4883, 0, 0, 0, 0}, {80, 1546, 4128, 0, 0, 0, 0}, {119, 1036, 4403, 0, 0, 0, 0}, {240, 3084, 5708, 0, 0, 0, 0}, {40, 522, 95, 1024, 4362, 0, 0}, {40, 522, 80, 1036, 4120, 0, 0}, {255, 3072, 5503, 0, 0, 0, 0}, {3072, 9856, 16512, 0, 0, 0, 0}, {15, 39, 80, 262, 0, 0, 0}, {40, 522, 1024, 0, 0, 0, 0}, {15, 771, 5440, 0, 0, 0, 0}, {136, 8704, 1036, 0, 0, 0, 0}, {15, 768, 80, 1285, 4128, 0, 0}, {160, 8224, 1542, 0, 0, 0, 0}, {15, 768, 119, 1024, 4352, 0, 0}, {136, 8704, 1024, 0, 0, 0, 0}, {15, 771, 80, 1285, 4112, 0, 0}, {160, 8224, 1546, 0, 0, 0, 0}, {15, 771, 119, 1027, 4403, 0, 0}, {3084, 9868, 16448, 0, 0, 0, 0}, {15, 39, 80, 261, 0, 0, 0}, {40, 522, 1036, 0, 0, 0, 0}, {15, 768, 5488, 0, 0, 0, 0}, {80, 1584, 4144, 0, 0, 0, 0}, {119, 1083, 4369, 0, 0, 0, 0}, {120, 1080, 4626, 0, 0, 0, 0}, {95, 1587, 4915, 0, 0, 0, 0}, {40, 520, 80, 1052, 4104, 0, 0}, {255, 3135, 5482, 0, 0, 0, 0}, {240, 3132, 5734, 0, 0, 0, 0}, {40, 520, 95, 1055, 4352, 0, 0}, {40, 520, 80, 1040, 4112, 0, 0}, {255, 3123, 5461, 0, 0, 0, 0}, {240, 3120, 5722, 0, 0, 0, 0}, {40, 520, 95, 1043, 4379, 0, 0}, {80, 1596, 4096, 0, 0, 0, 0}, {119, 1079, 4386, 0, 0, 0, 0}, {120, 1076, 4642, 0, 0, 0, 0}, {95, 1599, 4864, 0, 0, 0, 0}, {160, 8192, 1536, 0, 0, 0, 0}, {15, 771, 119, 1028, 4369, 0, 0}, {136, 8738, 1032, 0, 0, 0, 0}, {15, 771, 80, 1280, 4144, 0, 0}, {40, 520, 1028, 0, 0, 0, 0}, {15, 768, 5461, 0, 0, 0, 0}, {3084, 9894, 16576, 0, 0, 0, 0}, {15, 39, 80, 263, 0, 0, 0}, {40, 520, 1032, 0, 0, 0, 0}, {15, 771, 5477, 0, 0, 0, 0}, {3072, 9898, 16384, 0, 0, 0, 0}, {15, 39, 80, 260, 0, 0, 0}, {160, 8192, 1548, 0, 0, 0, 0}, {15, 768, 119, 1031, 4386, 0, 0}, {136, 8738, 1028, 0, 0, 0, 0}, {15, 768, 80, 1280, 4096, 0, 0}, {240, 3120, 5744, 0, 0, 0, 0}, {40, 522, 95, 1051, 4369, 0, 0}, {40, 522, 80, 1048, 4120, 0, 0}, {255, 3123, 5503, 0, 0, 0, 0}, {120, 1084, 4608, 0, 0, 0, 0}, {95, 1589, 4896, 0, 0, 0, 0}, {80, 1590, 4128, 0, 0, 0, 0}, {119, 1087, 4352, 0, 0, 0, 0}, {120, 1072, 4656, 0, 0, 0, 0}, {95, 1593, 4883, 0, 0, 0, 0}, {80, 1594, 4112, 0, 0, 0, 0}, {119, 1075, 4403, 0, 0, 0, 0}, {240, 3132, 5708, 0, 0, 0, 0}, {40, 522, 95, 1047, 4362, 0, 0}, {40, 522, 80, 1044, 4096, 0, 0}, {255, 3135, 5440, 0, 0, 0, 0}, {3264, 9920, 16576, 0, 0, 0, 0}, {15, 39, 80, 278, 0, 0, 0}, {40, 514, 1088, 0, 0, 0, 0}, {15, 819, 5376, 0, 0, 0, 0}, {136, 8704, 1100, 0, 0, 0, 0}, {15, 816, 80, 1285, 4144, 0, 0}, {160, 8192, 1638, 0, 0, 0, 0}, {15, 816, 119, 1079, 4352, 0, 0}, {136, 8704, 1088, 0, 0, 0, 0}, {15, 819, 80, 1285, 4096, 0, 0}, {160, 8192, 1642, 0, 0, 0, 0}, {15, 819, 119, 1076, 4403, 0, 0}, {3276, 9932, 16384, 0, 0, 0, 0}, {15, 39, 80, 277, 0, 0, 0}, {40, 514, 1100, 0, 0, 0, 0}, {15, 816, 5424, 0, 0, 0, 0}, {80, 1536, 4128, 0, 0, 0, 0}, {119, 1036, 4369, 0, 0, 0, 0}, {120, 1024, 4642, 0, 0, 0, 0}, {95, 1548, 4883, 0, 0, 0, 0}, {40, 512, 80, 1036, 4120, 0, 0}, {255, 3072, 5418, 0, 0, 0, 0}, {240, 3084, 5654, 0, 0, 0, 0}, {40, 512, 95, 1024, 4352, 0, 0}, {40, 512, 80, 1024, 4096, 0, 0}, {255, 3084, 5397, 0, 0, 0, 0}, {240, 3072, 5674, 0, 0, 0, 0}, {40, 512, 95, 1036, 4379, 0, 0}, {80, 1548, 4112, 0, 0, 0, 0}, {119, 1024, 4386, 0, 0, 0, 0}, {120, 1036, 4626, 0, 0, 0, 0}, {95, 1536, 4896, 0, 0, 0, 0}, {160, 8224, 1632, 0, 0, 0, 0}, {15, 819, 119, 1075, 4369, 0, 0}, {136, 8738, 1096, 0, 0, 0, 0}, {15, 819, 80, 1280, 4128, 0, 0}, {40, 512, 1092, 0, 0, 0, 0}, {15, 816, 5397, 0, 0, 0, 0}, {3276, 9958, 16512, 0, 0, 0, 0}, {15, 39, 80, 279, 0, 0, 0}, {40, 512, 1096, 0, 0, 0, 0}, {15, 819, 5413, 0, 0, 0, 0}, {3264, 9962, 16448, 0, 0, 0, 0}, {15, 39, 80, 276, 0, 0, 0}, {160, 8224, 1644, 0, 0, 0, 0}, {15, 816, 119, 1072, 4386, 0, 0}, {136, 8738, 1092, 0, 0, 0, 0}, {15, 816, 80, 1280, 4112, 0, 0}, {240, 3072, 5632, 0, 0, 0, 0}, {40, 514, 95, 1028, 4369, 0, 0}, {40, 514, 80, 1032, 4104, 0, 0}, {255, 3084, 5439, 0, 0, 0, 0}, {120, 1028, 4656, 0, 0, 0, 0}, {95, 1546, 4864, 0, 0, 0, 0}, {80, 1542, 4144, 0, 0, 0, 0}, {119, 1032, 4352, 0, 0, 0, 0}, {120, 1032, 4608, 0, 0, 0, 0}, {95, 1542, 4915, 0, 0, 0, 0}, {80, 1546, 4096, 0, 0, 0, 0}, {119, 1028, 4403, 0, 0, 0, 0}, {240, 3084, 5692, 0, 0, 0, 0}, {40, 514, 95, 1032, 4362, 0, 0}, {40, 514, 80, 1028, 4112, 0, 0}, {255, 3072, 5376, 0, 0, 0, 0}, {3840, 9984, 20480, 0, 0, 0, 0}, {12, 38, 64, 257, 0, 0, 0}, {42, 514, 1290, 0, 0, 0, 0}, {12, 771, 5168, 0, 0, 0, 0}, {12, 768, 64, 1028, 4096, 0, 0}, {170, 8704, 1285, 0, 0, 0, 0}, {12, 768, 102, 1286, 4352, 0, 0}, {128, 8192, 1799, 0, 0, 0, 0}, {128, 8192, 1800, 0, 0, 0, 0}, {12, 771, 102, 1285, 4403, 0, 0}, {170, 8704, 1290, 0, 0, 0, 0}, {12, 771, 64, 1028, 4144, 0, 0}, {12, 768, 5120, 0, 0, 0, 0}, {42, 514, 1285, 0, 0, 0, 0}, {12, 38, 64, 258, 0, 0, 0}, {3855, 9999, 20720, 0, 0, 0, 0}, {64, 1840, 4112, 0, 0, 0, 0}, {102, 1331, 4369, 0, 0, 0, 0}, {106, 1328, 4626, 0, 0, 0, 0}, {76, 1843, 4883, 0, 0, 0, 0}, {204, 3900, 5140, 0, 0, 0, 0}, {42, 512, 64, 1301, 4096, 0, 0}, {42, 512, 76, 1302, 4352, 0, 0}, {192, 3903, 5911, 0, 0, 0, 0}, {192, 3888, 5928, 0, 0, 0, 0}, {42, 512, 76, 1305, 4377, 0, 0}, {42, 512, 64, 1306, 4122, 0, 0}, {204, 3891, 5160, 0, 0, 0, 0}, {76, 1852, 4896, 0, 0, 0, 0}, {106, 1343, 4642, 0, 0, 0, 0}, {102, 1340, 4386, 0, 0, 0, 0}, {64, 1855, 4128, 0, 0, 0, 0}, {128, 8224, 1792, 0, 0, 0, 0}, {12, 771, 102, 1283, 4369, 0, 0}, {170, 8738, 1280, 0, 0, 0, 0}, {12, 771, 64, 1024, 4112, 0, 0}, {12, 768, 5156, 0, 0, 0, 0}, {42, 512, 1295, 0, 0, 0, 0}, {12, 38, 64, 256, 0, 0, 0}, {3855, 10023, 20560, 0, 0, 0, 0}, {3840, 10024, 20640, 0, 0, 0, 0}, {12, 38, 64, 259, 0, 0, 0}, {42, 512, 1280, 0, 0, 0, 0}, {12, 771, 5140, 0, 0, 0, 0}, {12, 768, 64, 1024, 4128, 0, 0}, {170, 8738, 1295, 0, 0, 0, 0}, {12, 768, 102, 1280, 4386, 0, 0}, {128, 8224, 1807, 0, 0, 0, 0}, {192, 3888, 5888, 0, 0, 0, 0}, {42, 514, 76, 1299, 4369, 0, 0}, {42, 514, 64, 1296, 4112, 0, 0}, {204, 3891, 5120, 0, 0, 0, 0}, {76, 1844, 4864, 0, 0, 0, 0}, {106, 1333, 4608, 0, 0, 0, 0}, {102, 1334, 4352, 0, 0, 0, 0}, {64, 1847, 4096, 0, 0, 0, 0}, {64, 1848, 4144, 0, 0, 0, 0}, {102, 1337, 4403, 0, 0, 0, 0}, {106, 1338, 4656, 0, 0, 0, 0}, {76, 1851, 4915, 0, 0, 0, 0}, {204, 3900, 5180, 0, 0, 0, 0}, {42, 514, 64, 1311, 4106, 0, 0}, {42, 514, 76, 1308, 4360, 0, 0}, {192, 3903, 5951, 0, 0, 0, 0}, {64, 1792, 4096, 0, 0, 0, 0}, {102, 1285, 4369, 0, 0, 0, 0}, {106, 1290, 4642, 0, 0, 0, 0}, {76, 1807, 4915, 0, 0, 0, 0}, {204, 3840, 5188, 0, 0, 0, 0}, {42, 522, 64, 1285, 4112, 0, 0}, {42, 522, 76, 1290, 4352, 0, 0}, {192, 3855, 6007, 0, 0, 0, 0}, {192, 3840, 5960, 0, 0, 0, 0}, {42, 522, 76, 1285, 4377, 0, 0}, {42, 522, 64, 1290, 4106, 0, 0}, {204, 3855, 5240, 0, 0, 0, 0}, {76, 1792, 4864, 0, 0, 0, 0}, {106, 1285, 4626, 0, 0, 0, 0}, {102, 1290, 4386, 0, 0, 0, 0}, {64, 1807, 4144, 0, 0, 0, 0}, {4080, 10064, 20560, 0, 0, 0, 0}, {12, 38, 64, 273, 0, 0, 0}, {42, 520, 1370, 0, 0, 0, 0}, {12, 819, 5216, 0, 0, 0, 0}, {12, 816, 64, 1028, 4112, 0, 0}, {170, 8704, 1365, 0, 0, 0, 0}, {12, 816, 102, 1328, 4352, 0, 0}, {128, 8224, 1911, 0, 0, 0, 0}, {128, 8224, 1912, 0, 0, 0, 0}, {12, 819, 102, 1331, 4403, 0, 0}, {170, 8704, 1370, 0, 0, 0, 0}, {12, 819, 64, 1028, 4128, 0, 0}, {12, 816, 5200, 0, 0, 0, 0}, {42, 520, 1365, 0, 0, 0, 0}, {12, 38, 64, 274, 0, 0, 0}, {4095, 10079, 20640, 0, 0, 0, 0}, {192, 3840, 5984, 0, 0, 0, 0}, {42, 520, 76, 1295, 4369, 0, 0}, {42, 520, 64, 1280, 4096, 0, 0}, {204, 3855, 5200, 0, 0, 0, 0}, {76, 1800, 4896, 0, 0, 0, 0}, {106, 1295, 4656, 0, 0, 0, 0}, {102, 1280, 4352, 0, 0, 0, 0}, {64, 1799, 4112, 0, 0, 0, 0}, {64, 1800, 4128, 0, 0, 0, 0}, {102, 1295, 4403, 0, 0, 0, 0}, {106, 1280, 4608, 0, 0, 0, 0}, {76, 1799, 4883, 0, 0, 0, 0}, {204, 3840, 5228, 0, 0, 0, 0}, {42, 520, 64, 1295, 4122, 0, 0}, {42, 520, 76, 1280, 4360, 0, 0}, {192, 3855, 5983, 0, 0, 0, 0}, {128, 8192, 1904, 0, 0, 0, 0}, {12, 819, 102, 1333, 4369, 0, 0}, {170, 8738, 1360, 0, 0, 0, 0}, {12, 819, 64, 1024, 4096, 0, 0}, {12, 816, 5236, 0, 0, 0, 0}, {42, 522, 1375, 0, 0, 0, 0}, {12, 38, 64, 272, 0, 0, 0}, {4095, 10103, 20480, 0, 0, 0, 0}, {4080, 10104, 20720, 0, 0, 0, 0}, {12, 38, 64, 275, 0, 0, 0}, {42, 522, 1360, 0, 0, 0, 0}, {12, 819, 5188, 0, 0, 0, 0}, {12, 816, 64, 1024, 4144, 0, 0}, {170, 8738, 1375, 0, 0, 0, 0}, {12, 816, 102, 1334, 4386, 0, 0}, {128, 8192, 1919, 0, 0, 0, 0}, {128, 8192, 1792, 0, 0, 0, 0}, {12, 771, 102, 1285, 4369, 0, 0}, {170, 8738, 1290, 0, 0, 0, 0}, {12, 771, 64, 1024, 4144, 0, 0}, {12, 768, 5188, 0, 0, 0, 0}, {42, 522, 1285, 0, 0, 0, 0}, {12, 38, 64, 262, 0, 0, 0}, {3855, 10119, 20720, 0, 0, 0, 0}, {3840, 10120, 20480, 0, 0, 0, 0}, {12, 38, 64, 261, 0, 0, 0}, {42, 522, 1290, 0, 0, 0, 0}, {12, 771, 5236, 0, 0, 0, 0}, {12, 768, 64, 1024, 4096, 0, 0}, {170, 8738, 1285, 0, 0, 0, 0}, {12, 768, 102, 1286, 4386, 0, 0}, {128, 8192, 1807, 0, 0, 0, 0}, {192, 3888, 5984, 0, 0, 0, 0}, {42, 520, 76, 1305, 4369, 0, 0}, {42, 520, 64, 1306, 4122, 0, 0}, {204, 3891, 5228, 0, 0, 0, 0}, {76, 1844, 4896, 0, 0, 0, 0}, {106, 1343, 4608, 0, 0, 0, 0}, {102, 1340, 4352, 0, 0, 0, 0}, {64, 1847, 4128, 0, 0, 0, 0}, {64, 1848, 4112, 0, 0, 0, 0}, {102, 1331, 4403, 0, 0, 0, 0}, {106, 1328, 4656, 0, 0, 0, 0}, {76, 1851, 4883, 0, 0, 0, 0}, {204, 3900, 5200, 0, 0, 0, 0}, {42, 520, 64, 1301, 4096, 0, 0}, {42, 520, 76, 1302, 4360, 0, 0}, {192, 3903, 5983, 0, 0, 0, 0}, {3840, 10144, 20640, 0, 0, 0, 0}, {12, 38, 64, 263, 0, 0, 0}, {42, 520, 1280, 0, 0, 0, 0}, {12, 771, 5200, 0, 0, 0, 0}, {12, 768, 64, 1028, 4128, 0, 0}, {170, 8704, 1295, 0, 0, 0, 0}, {12, 768, 102, 1280, 4352, 0, 0}, {128, 8224, 1799, 0, 0, 0, 0}, {128, 8224, 1800, 0, 0, 0, 0}, {12, 771, 102, 1283, 4403, 0, 0}, {170, 8704, 1280, 0, 0, 0, 0}, {12, 771, 64, 1028, 4112, 0, 0}, {12, 768, 5216, 0, 0, 0, 0}, {42, 520, 1295, 0, 0, 0, 0}, {12, 38, 64, 260, 0, 0, 0}, {3855, 10159, 20560, 0, 0, 0, 0}, {64, 1840, 4144, 0, 0, 0, 0}, {102, 1337, 4369, 0, 0, 0, 0}, {106, 1338, 4626, 0, 0, 0, 0}, {76, 1843, 4915, 0, 0, 0, 0}, {204, 3900, 5240, 0, 0, 0, 0}, {42, 522, 64, 1311, 4106, 0, 0}, {42, 522, 76, 1308, 4352, 0, 0}, {192, 3903, 6007, 0, 0, 0, 0}, {192, 3888, 5960, 0, 0, 0, 0}, {42, 522, 76, 1299, 4377, 0, 0}, {42, 522, 64, 1296, 4112, 0, 0}, {204, 3891, 5188, 0, 0, 0, 0}, {76, 1852, 4864, 0, 0, 0, 0}, {106, 1333, 4642, 0, 0, 0, 0}, {102, 1334, 4386, 0, 0, 0, 0}, {64, 1855, 4096, 0, 0, 0, 0}, {192, 3840, 5888, 0, 0, 0, 0}, {42, 514, 76, 1285, 4369, 0, 0}, {42, 514, 64, 1290, 4106, 0, 0}, {204, 3855, 5180, 0, 0, 0, 0}, {76, 1800, 4864, 0, 0, 0, 0}, {106, 1285, 4656, 0, 0, 0, 0}, {102, 1290, 4352, 0, 0, 0, 0}, {64, 1799, 4144, 0, 0, 0, 0}, {64, 1800, 4096, 0, 0, 0, 0}, {102, 1285, 4403, 0, 0, 0, 0}, {106, 1290, 4608, 0, 0, 0, 0}, {76, 1799, 4915, 0, 0, 0, 0}, {204, 3840, 5120, 0, 0, 0, 0}, {42, 514, 64, 1285, 4112, 0, 0}, {42, 514, 76, 1290, 4360, 0, 0}, {192, 3855, 5951, 0, 0, 0, 0}, {128, 8224, 1904, 0, 0, 0, 0}, {12, 819, 102, 1331, 4369, 0, 0}, {170, 8738, 1370, 0, 0, 0, 0}, {12, 819, 64, 1024, 4128, 0, 0}, {12, 816, 5140, 0, 0, 0, 0}, {42, 512, 1365, 0, 0, 0, 0}, {12, 38, 64, 278, 0, 0, 0}, {4095, 10199, 20640, 0, 0, 0, 0}, {4080, 10200, 20560, 0, 0, 0, 0}, {12, 38, 64, 277, 0, 0, 0}, {42, 512, 1370, 0, 0, 0, 0}, {12, 819, 5156, 0, 0, 0, 0}, {12, 816, 64, 1024, 4112, 0, 0}, {170, 8738, 1365, 0, 0, 0, 0}, {12, 816, 102, 1328, 4386, 0, 0}, {128, 8224, 1919, 0, 0, 0, 0}, {64, 1792, 4128, 0, 0, 0, 0}, {102, 1295, 4369, 0, 0, 0, 0}, {106, 1280, 4642, 0, 0, 0, 0}, {76, 1807, 4883, 0, 0, 0, 0}, {204, 3840, 5160, 0, 0, 0, 0}, {42, 512, 64, 1295, 4122, 0, 0}, {42, 512, 76, 1280, 4352, 0, 0}, {192, 3855, 5911, 0, 0, 0, 0}, {192, 3840, 5928, 0, 0, 0, 0}, {42, 512, 76, 1295, 4377, 0, 0}, {42, 512, 64, 1280, 4096, 0, 0}, {204, 3855, 5140, 0, 0, 0, 0}, {76, 1792, 4896, 0, 0, 0, 0}, {106, 1295, 4626, 0, 0, 0, 0}, {102, 1280, 4386, 0, 0, 0, 0}, {64, 1807, 4112, 0, 0, 0, 0}, {4080, 10224, 20720, 0, 0, 0, 0}, {12, 38, 64, 279, 0, 0, 0}, {42, 514, 1360, 0, 0, 0, 0}, {12, 819, 5120, 0, 0, 0, 0}, {12, 816, 64, 1028, 4144, 0, 0}, {170, 8704, 1375, 0, 0, 0, 0}, {12, 816, 102, 1334, 4352, 0, 0}, {128, 8192, 1911, 0, 0, 0, 0}, {128, 8192, 1912, 0, 0, 0, 0}, {12, 819, 102, 1333, 4403, 0, 0}, {170, 8704, 1360, 0, 0, 0, 0}, {12, 819, 64, 1028, 4096, 0, 0}, {12, 816, 5168, 0, 0, 0, 0}, {42, 514, 1375, 0, 0, 0, 0}, {12, 38, 64, 276, 0, 0, 0}, {4095, 10239, 20480, 0, 0, 0, 0}, {10240, 0, 0, 0, 0, 0, 0}, {3, 21, 257, 0, 0, 0, 0}, {42, 514, 0, 0, 0, 0, 0}, {3, 5120, 0, 0, 0, 0, 0}, {12, 8192, 64, 1028, 0, 0, 0}, {15, 8704, 85, 1285, 0, 0, 0}, {12, 8704, 102, 1542, 0, 0, 0}, {15, 8192, 112, 1799, 0, 0, 0}, {128, 2056, 8192, 0, 0, 0, 0}, {3, 85, 1285, 4352, 0, 0, 0}, {170, 2570, 8704, 0, 0, 0, 0}, {3, 64, 1028, 4096, 0, 0, 0}, {12, 9216, 17408, 0, 0, 0, 0}, {15, 37, 514, 85, 1285, 0, 0}, {12, 38, 514, 64, 1028, 0, 0}, {15, 9984, 20480, 0, 0, 0, 0}, {2048, 48, 64, 4112, 0, 0, 0}, {2560, 51, 85, 4369, 0, 0, 0}, {2560, 48, 90, 4626, 0, 0, 0}, {2048, 51, 76, 4883, 0, 0, 0}, {60, 5140, 0, 0, 0, 0, 0}, {512, 21, 0, 0, 0, 0, 0}, {512, 22, 0, 0, 0, 0, 0}, {63, 5911, 0, 0, 0, 0, 0}, {6168, 48, 20560, 0, 0, 0, 0}, {25, 51, 512, 85, 4352, 0, 0}, {26, 48, 512, 64, 4096, 0, 0}, {6939, 51, 17476, 0, 0, 0, 0}, {2048, 60, 76, 5148, 0, 0, 0}, {2560, 63, 85, 5917, 0, 0, 0}, {2560, 60, 90, 5150, 0, 0, 0}, {2048, 63, 64, 5919, 0, 0, 0}, {128, 2048, 8224, 0, 0, 0, 0}, {3, 85, 1280, 4369, 0, 0, 0}, {170, 2560, 8738, 0, 0, 0, 0}, {3, 64, 1024, 4112, 0, 0, 0}, {12, 9252, 17476, 0, 0, 0, 0}, {15, 37, 512, 85, 1280, 0, 0}, {12, 38, 512, 64, 1024, 0, 0}, {15, 10023, 20560, 0, 0, 0, 0}, {10280, 0, 0, 0, 0, 0, 0}, {3, 21, 256, 0, 0, 0, 0}, {42, 512, 0, 0, 0, 0, 0}, {3, 5140, 0, 0, 0, 0, 0}, {12, 8224, 64, 1024, 0, 0, 0}, {15, 8738, 85, 1280, 0, 0, 0}, {12, 8738, 102, 1536, 0, 0, 0}, {15, 8224, 112, 1792, 0, 0, 0}, {6144, 48, 20480, 0, 0, 0, 0}, {25, 51, 514, 85, 4369, 0, 0}, {26, 48, 514, 64, 4112, 0, 0}, {6912, 51, 17408, 0, 0, 0, 0}, {2056, 60, 76, 5128, 0, 0, 0}, {2570, 63, 85, 5898, 0, 0, 0}, {2570, 60, 90, 5130, 0, 0, 0}, {2056, 63, 64, 5896, 0, 0, 0}, {2056, 48, 64, 4096, 0, 0, 0}, {2570, 51, 85, 4352, 0, 0, 0}, {2570, 48, 90, 4608, 0, 0, 0}, {2056, 51, 76, 4864, 0, 0, 0}, {60, 5120, 0, 0, 0, 0, 0}, {514, 21, 0, 0, 0, 0, 0}, {514, 22, 0, 0, 0, 0, 0}, {63, 5888, 0, 0, 0, 0, 0}, {2048, 8192, 64, 0, 0, 0, 0}, {15, 51, 85, 1285, 4369, 0, 0}, {2570, 8738, 106, 0, 0, 0, 0}, {15, 51, 67, 1792, 4864, 0, 0}, {204, 10308, 17476, 0, 0, 0, 0}, {15, 517, 1285, 21, 0, 0, 0}, {42, 522, 76, 0, 0, 0, 0}, {15, 48, 5959, 0, 0, 0, 0}, {192, 10312, 18504, 0, 0, 0, 0}, {15, 517, 1285, 22, 0, 0, 0}, {42, 522, 64, 0, 0, 0, 0}, {15, 51, 5188, 0, 0, 0, 0}, {2048, 8192, 76, 0, 0, 0, 0}, {15, 48, 85, 1285, 4626, 0, 0}, {2570, 8738, 102, 0, 0, 0, 0}, {15, 48, 64, 1792, 4096, 0, 0}, {240, 10320, 20560, 0, 0, 0, 0}, {12, 516, 1028, 21, 0, 0, 0}, {42, 520, 90, 0, 0, 0, 0}, {12, 51, 5971, 0, 0, 0, 0}, {12, 48, 64, 1028, 4112, 0, 0}, {2560, 8704, 85, 0, 0, 0, 0}, {12, 48, 86, 1536, 4608, 0, 0}, {2056, 8224, 127, 0, 0, 0, 0}, {2056, 8224, 112, 0, 0, 0, 0}, {12, 51, 85, 1536, 4352, 0, 0}, {2560, 8704, 90, 0, 0, 0, 0}, {12, 51, 64, 1028, 4883, 0, 0}, {12, 48, 5200, 0, 0, 0, 0}, {42, 520, 85, 0, 0, 0, 0}, {12, 516, 1028, 22, 0, 0, 0}, {255, 10335, 24415, 0, 0, 0, 0}, {192, 10336, 18432, 0, 0, 0, 0}, {15, 519, 1280, 22, 0, 0, 0}, {42, 520, 64, 0, 0, 0, 0}, {15, 51, 5200, 0, 0, 0, 0}, {2056, 8224, 76, 0, 0, 0, 0}, {15, 48, 85, 1280, 4608, 0, 0}, {2560, 8704, 102, 0, 0, 0, 0}, {15, 48, 64, 1799, 4112, 0, 0}, {2056, 8224, 64, 0, 0, 0, 0}, {15, 51, 85, 1280, 4352, 0, 0}, {2560, 8704, 106, 0, 0, 0, 0}, {15, 51, 67, 1799, 4883, 0, 0}, {204, 10348, 17408, 0, 0, 0, 0}, {15, 519, 1280, 21, 0, 0, 0}, {42, 520, 76, 0, 0, 0, 0}, {15, 48, 5968, 0, 0, 0, 0}, {2048, 8192, 112, 0, 0, 0, 0}, {12, 51, 85, 1542, 4369, 0, 0}, {2570, 8738, 90, 0, 0, 0, 0}, {12, 51, 64, 1024, 4864, 0, 0}, {12, 48, 5188, 0, 0, 0, 0}, {42, 522, 85, 0, 0, 0, 0}, {12, 518, 1024, 22, 0, 0, 0}, {255, 10359, 24320, 0, 0, 0, 0}, {240, 10360, 20480, 0, 0, 0, 0}, {12, 518, 1024, 21, 0, 0, 0}, {42, 522, 90, 0, 0, 0, 0}, {12, 51, 5956, 0, 0, 0, 0}, {12, 48, 64, 1024, 4096, 0, 0}, {2570, 8738, 85, 0, 0, 0, 0}, {12, 48, 86, 1542, 4626, 0, 0}, {2048, 8192, 127, 0, 0, 0, 0}, {128, 2048, 8192, 0, 0, 0, 0}, {3, 85, 1285, 4369, 0, 0, 0}, {170, 2570, 8738, 0, 0, 0, 0}, {3, 64, 1024, 4096, 0, 0, 0}, {12, 9284, 17476, 0, 0, 0, 0}, {15, 37, 517, 85, 1285, 0, 0}, {12, 38, 518, 64, 1024, 0, 0}, {15, 10103, 20480, 0, 0, 0, 0}, {10376, 0, 0, 0, 0, 0, 0}, {3, 21, 261, 0, 0, 0, 0}, {42, 522, 0, 0, 0, 0, 0}, {3, 5188, 0, 0, 0, 0, 0}, {12, 8192, 64, 1024, 0, 0, 0}, {15, 8738, 85, 1285, 0, 0, 0}, {12, 8738, 102, 1542, 0, 0, 0}, {15, 8192, 112, 1792, 0, 0, 0}, {6224, 48, 20560, 0, 0, 0, 0}, {25, 51, 529, 85, 4369, 0, 0}, {26, 48, 530, 64, 4096, 0, 0}, {7007, 51, 17408, 0, 0, 0, 0}, {2056, 60, 76, 5140, 0, 0, 0}, {2560, 63, 85, 5888, 0, 0, 0}, {2560, 60, 90, 5120, 0, 0, 0}, {2056, 63, 64, 5911, 0, 0, 0}, {2056, 48, 64, 4112, 0, 0, 0}, {2560, 51, 85, 4352, 0, 0, 0}, {2560, 48, 90, 4608, 0, 0, 0}, {2056, 51, 76, 4883, 0, 0, 0}, {60, 5200, 0, 0, 0, 0, 0}, {520, 21, 0, 0, 0, 0, 0}, {520, 22, 0, 0, 0, 0, 0}, {63, 5983, 0, 0, 0, 0, 0}, {10400, 0, 0, 0, 0, 0, 0}, {3, 21, 260, 0, 0, 0, 0}, {42, 520, 0, 0, 0, 0, 0}, {3, 5200, 0, 0, 0, 0, 0}, {12, 8224, 64, 1028, 0, 0, 0}, {15, 8704, 85, 1280, 0, 0, 0}, {12, 8704, 102, 1536, 0, 0, 0}, {15, 8224, 112, 1799, 0, 0, 0}, {128, 2056, 8224, 0, 0, 0, 0}, {3, 85, 1280, 4352, 0, 0, 0}, {170, 2560, 8704, 0, 0, 0, 0}, {3, 64, 1028, 4112, 0, 0, 0}, {12, 9312, 17408, 0, 0, 0, 0}, {15, 37, 519, 85, 1280, 0, 0}, {12, 38, 516, 64, 1028, 0, 0}, {15, 10064, 20560, 0, 0, 0, 0}, {2048, 48, 64, 4096, 0, 0, 0}, {2570, 51, 85, 4369, 0, 0, 0}, {2570, 48, 90, 4626, 0, 0, 0}, {2048, 51, 76, 4864, 0, 0, 0}, {60, 5188, 0, 0, 0, 0, 0}, {522, 21, 0, 0, 0, 0, 0}, {522, 22, 0, 0, 0, 0, 0}, {63, 5960, 0, 0, 0, 0, 0}, {6216, 48, 20480, 0, 0, 0, 0}, {25, 51, 531, 85, 4352, 0, 0}, {26, 48, 528, 64, 4112, 0, 0}, {6980, 51, 17476, 0, 0, 0, 0}, {2048, 60, 76, 5120, 0, 0, 0}, {2570, 63, 85, 5911, 0, 0, 0}, {2570, 60, 90, 5140, 0, 0, 0}, {2048, 63, 64, 5888, 0, 0, 0}, {192, 10240, 18432, 0, 0, 0, 0}, {15, 514, 1285, 22, 0, 0, 0}, {42, 514, 64, 0, 0, 0, 0}, {15, 51, 5120, 0, 0, 0, 0}, {2056, 8192, 76, 0, 0, 0, 0}, {15, 48, 85, 1285, 4608, 0, 0}, {2570, 8704, 102, 0, 0, 0, 0}, {15, 48, 64, 1799, 4096, 0, 0}, {2056, 8192, 64, 0, 0, 0, 0}, {15, 51, 85, 1285, 4352, 0, 0}, {2570, 8704, 106, 0, 0, 0, 0}, {15, 51, 67, 1799, 4864, 0, 0}, {204, 10240, 17408, 0, 0, 0, 0}, {15, 514, 1285, 21, 0, 0, 0}, {42, 514, 76, 0, 0, 0, 0}, {15, 48, 5888, 0, 0, 0, 0}, {2048, 8224, 112, 0, 0, 0, 0}, {12, 51, 85, 1536, 4369, 0, 0}, {2560, 8738, 90, 0, 0, 0, 0}, {12, 51, 64, 1024, 4883, 0, 0}, {12, 48, 5140, 0, 0, 0, 0}, {42, 512, 85, 0, 0, 0, 0}, {12, 512, 1024, 22, 0, 0, 0}, {255, 10280, 24415, 0, 0, 0, 0}, {240, 10280, 20560, 0, 0, 0, 0}, {12, 512, 1024, 21, 0, 0, 0}, {42, 512, 90, 0, 0, 0, 0}, {12, 51, 5911, 0, 0, 0, 0}, {12, 48, 64, 1024, 4112, 0, 0}, {2560, 8738, 85, 0, 0, 0, 0}, {12, 48, 86, 1536, 4626, 0, 0}, {2048, 8224, 127, 0, 0, 0, 0}, {2048, 8224, 64, 0, 0, 0, 0}, {15, 51, 85, 1280, 4369, 0, 0}, {2560, 8738, 106, 0, 0, 0, 0}, {15, 51, 67, 1792, 4883, 0, 0}, {204, 10280, 17476, 0, 0, 0, 0}, {15, 512, 1280, 21, 0, 0, 0}, {42, 512, 76, 0, 0, 0, 0}, {15, 48, 5911, 0, 0, 0, 0}, {192, 10280, 18504, 0, 0, 0, 0}, {15, 512, 1280, 22, 0, 0, 0}, {42, 512, 64, 0, 0, 0, 0}, {15, 51, 5140, 0, 0, 0, 0}, {2048, 8224, 76, 0, 0, 0, 0}, {15, 48, 85, 1280, 4626, 0, 0}, {2560, 8738, 102, 0, 0, 0, 0}, {15, 48, 64, 1792, 4112, 0, 0}, {240, 10240, 20480, 0, 0, 0, 0}, {12, 514, 1028, 21, 0, 0, 0}, {42, 514, 90, 0, 0, 0, 0}, {12, 51, 5888, 0, 0, 0, 0}, {12, 48, 64, 1028, 4096, 0, 0}, {2570, 8704, 85, 0, 0, 0, 0}, {12, 48, 86, 1542, 4608, 0, 0}, {2056, 8192, 127, 0, 0, 0, 0}, {2056, 8192, 112, 0, 0, 0, 0}, {12, 51, 85, 1542, 4352, 0, 0}, {2570, 8704, 90, 0, 0, 0, 0}, {12, 51, 64, 1028, 4864, 0, 0}, {12, 48, 5120, 0, 0, 0, 0}, {42, 514, 85, 0, 0, 0, 0}, {12, 514, 1028, 22, 0, 0, 0}, {255, 10240, 24320, 0, 0, 0, 0}, {768, 5376, 0, 0, 0, 0, 0}, {40, 257, 0, 0, 0, 0, 0}, {40, 258, 0, 0, 0, 0, 0}, {771, 5439, 0, 0, 0, 0, 0}, {136, 780, 1028, 4420, 0, 0, 0}, {160, 783, 1285, 4176, 0, 0, 0}, {160, 780, 1290, 4192, 0, 0, 0}, {136, 783, 1032, 4471, 0, 0, 0}, {136, 768, 1032, 4352, 0, 0, 0}, {160, 771, 1285, 4144, 0, 0, 0}, {160, 768, 1290, 4096, 0, 0, 0}, {136, 771, 1028, 4403, 0, 0, 0}, {5568, 780, 21760, 0, 0, 0, 0}, {269, 293, 514, 1285, 4437, 0, 0}, {270, 294, 514, 1028, 4160, 0, 0}, {5631, 783, 16384, 0, 0, 0, 0}, {160, 816, 1360, 4112, 0, 0, 0}, {136, 819, 1092, 4369, 0, 0, 0}, {136, 816, 1096, 4386, 0, 0, 0}, {160, 819, 1375, 4128, 0, 0, 0}, {40, 276, 0, 0, 0, 0, 0}, {831, 5397, 0, 0, 0, 0, 0}, {828, 5418, 0, 0, 0, 0, 0}, {40, 279, 0, 0, 0, 0, 0}, {280, 304, 512, 1360, 4352, 0, 0}, {5589, 819, 21845, 0, 0, 0, 0}, {5610, 816, 16448, 0, 0, 0, 0}, {283, 307, 512, 1092, 4096, 0, 0}, {160, 828, 1360, 4208, 0, 0, 0}, {136, 831, 1096, 4437, 0, 0, 0}, {136, 828, 1092, 4454, 0, 0, 0}, {160, 831, 1375, 4160, 0, 0, 0}, {160, 768, 1280, 4128, 0, 0, 0}, {136, 771, 1036, 4369, 0, 0, 0}, {136, 768, 1024, 4386, 0, 0, 0}, {160, 771, 1295, 4112, 0, 0, 0}, {268, 292, 512, 1280, 4420, 0, 0}, {5589, 783, 21845, 0, 0, 0, 0}, {5610, 780, 16448, 0, 0, 0, 0}, {271, 295, 512, 1024, 4176, 0, 0}, {40, 256, 0, 0, 0, 0, 0}, {771, 5397, 0, 0, 0, 0, 0}, {768, 5418, 0, 0, 0, 0, 0}, {40, 259, 0, 0, 0, 0, 0}, {160, 780, 1280, 4160, 0, 0, 0}, {136, 783, 1024, 4437, 0, 0, 0}, {136, 780, 1036, 4454, 0, 0, 0}, {160, 783, 1295, 4208, 0, 0, 0}, {5568, 816, 21760, 0, 0, 0, 0}, {281, 305, 514, 1365, 4369, 0, 0}, {282, 306, 514, 1088, 4112, 0, 0}, {5631, 819, 16384, 0, 0, 0, 0}, {136, 828, 1100, 4420, 0, 0, 0}, {160, 831, 1365, 4192, 0, 0, 0}, {160, 828, 1370, 4176, 0, 0, 0}, {136, 831, 1088, 4471, 0, 0, 0}, {136, 816, 1088, 4352, 0, 0, 0}, {160, 819, 1365, 4096, 0, 0, 0}, {160, 816, 1370, 4144, 0, 0, 0}, {136, 819, 1100, 4403, 0, 0, 0}, {828, 5376, 0, 0, 0, 0, 0}, {40, 277, 0, 0, 0, 0, 0}, {40, 278, 0, 0, 0, 0, 0}, {831, 5439, 0, 0, 0, 0, 0}, {960, 3840, 5440, 0, 0, 0, 0}, {40, 522, 321, 1285, 4369, 0, 0}, {40, 522, 322, 1290, 4362, 0, 0}, {963, 3855, 5503, 0, 0, 0, 0}, {836, 1792, 4608, 0, 0, 0, 0}, {879, 1285, 4112, 0, 0, 0, 0}, {876, 1290, 4128, 0, 0, 0, 0}, {839, 1807, 4656, 0, 0, 0, 0}, {840, 1792, 4352, 0, 0, 0, 0}, {867, 1285, 4883, 0, 0, 0, 0}, {864, 1290, 4896, 0, 0, 0, 0}, {843, 1807, 4403, 0, 0, 0, 0}, {972, 3840, 5708, 0, 0, 0, 0}, {40, 522, 333, 1285, 4120, 0, 0}, {40, 522, 334, 1290, 4096, 0, 0}, {975, 3855, 5744, 0, 0, 0, 0}, {848, 1536, 4864, 0, 0, 0, 0}, {891, 1028, 4369, 0, 0, 0, 0}, {888, 1032, 4386, 0, 0, 0, 0}, {851, 1548, 4915, 0, 0, 0, 0}, {40, 520, 340, 1028, 4112, 0, 0}, {1023, 3072, 5461, 0, 0, 0, 0}, {1020, 3084, 5482, 0, 0, 0, 0}, {40, 520, 343, 1032, 4104, 0, 0}, {40, 520, 344, 1032, 4352, 0, 0}, {1011, 3084, 5734, 0, 0, 0, 0}, {1008, 3072, 5722, 0, 0, 0, 0}, {40, 520, 347, 1028, 4379, 0, 0}, {860, 1548, 4144, 0, 0, 0, 0}, {887, 1032, 4642, 0, 0, 0, 0}, {884, 1028, 4626, 0, 0, 0, 0}, {863, 1536, 4096, 0, 0, 0, 0}, {864, 1280, 4864, 0, 0, 0, 0}, {843, 1799, 4369, 0, 0, 0, 0}, {840, 1800, 4386, 0, 0, 0, 0}, {867, 1295, 4915, 0, 0, 0, 0}, {40, 520, 332, 1280, 4104, 0, 0}, {975, 3855, 5722, 0, 0, 0, 0}, {972, 3840, 5734, 0, 0, 0, 0}, {40, 520, 335, 1295, 4112, 0, 0}, {40, 520, 320, 1280, 4352, 0, 0}, {963, 3855, 5461, 0, 0, 0, 0}, {960, 3840, 5482, 0, 0, 0, 0}, {40, 520, 323, 1295, 4379, 0, 0}, {876, 1280, 4096, 0, 0, 0, 0}, {839, 1799, 4626, 0, 0, 0, 0}, {836, 1800, 4642, 0, 0, 0, 0}, {879, 1295, 4144, 0, 0, 0, 0}, {1008, 3072, 5744, 0, 0, 0, 0}, {40, 522, 345, 1036, 4369, 0, 0}, {40, 522, 346, 1024, 4362, 0, 0}, {1011, 3084, 5708, 0, 0, 0, 0}, {884, 1036, 4656, 0, 0, 0, 0}, {863, 1546, 4128, 0, 0, 0, 0}, {860, 1542, 4112, 0, 0, 0, 0}, {887, 1024, 4608, 0, 0, 0, 0}, {888, 1024, 4352, 0, 0, 0, 0}, {851, 1542, 4883, 0, 0, 0, 0}, {848, 1546, 4896, 0, 0, 0, 0}, {891, 1036, 4403, 0, 0, 0, 0}, {1020, 3084, 5440, 0, 0, 0, 0}, {40, 522, 341, 1024, 4096, 0, 0}, {40, 522, 342, 1036, 4120, 0, 0}, {1023, 3072, 5503, 0, 0, 0, 0}, {5504, 768, 21760, 0, 0, 0, 0}, {265, 289, 771, 1285, 4369, 0, 0}, {266, 290, 768, 1024, 4096, 0, 0}, {5567, 771, 16448, 0, 0, 0, 0}, {136, 780, 1036, 4420, 0, 0, 0}, {160, 783, 1285, 4208, 0, 0, 0}, {160, 780, 1290, 4160, 0, 0, 0}, {136, 783, 1024, 4471, 0, 0, 0}, {136, 768, 1024, 4352, 0, 0, 0}, {160, 771, 1285, 4112, 0, 0, 0}, {160, 768, 1290, 4128, 0, 0, 0}, {136, 771, 1036, 4403, 0, 0, 0}, {780, 5440, 0, 0, 0, 0, 0}, {40, 261, 0, 0, 0, 0, 0}, {40, 262, 0, 0, 0, 0, 0}, {783, 5503, 0, 0, 0, 0, 0}, {160, 816, 1360, 4144, 0, 0, 0}, {136, 819, 1100, 4369, 0, 0, 0}, {136, 816, 1088, 4386, 0, 0, 0}, {160, 819, 1375, 4096, 0, 0, 0}, {284, 308, 788, 1360, 4420, 0, 0}, {5525, 831, 21845, 0, 0, 0, 0}, {5546, 828, 16384, 0, 0, 0, 0}, {287, 311, 791, 1088, 4160, 0, 0}, {40, 272, 0, 0, 0, 0, 0}, {819, 5461, 0, 0, 0, 0, 0}, {816, 5482, 0, 0, 0, 0, 0}, {40, 275, 0, 0, 0, 0, 0}, {160, 828, 1360, 4176, 0, 0, 0}, {136, 831, 1088, 4437, 0, 0, 0}, {136, 828, 1100, 4454, 0, 0, 0}, {160, 831, 1375, 4192, 0, 0, 0}, {160, 768, 1280, 4096, 0, 0, 0}, {136, 771, 1028, 4369, 0, 0, 0}, {136, 768, 1032, 4386, 0, 0, 0}, {160, 771, 1295, 4144, 0, 0, 0}, {40, 260, 0, 0, 0, 0, 0}, {783, 5461, 0, 0, 0, 0, 0}, {780, 5482, 0, 0, 0, 0, 0}, {40, 263, 0, 0, 0, 0, 0}, {264, 288, 768, 1280, 4352, 0, 0}, {5525, 771, 21845, 0, 0, 0, 0}, {5546, 768, 16384, 0, 0, 0, 0}, {267, 291, 771, 1028, 4112, 0, 0}, {160, 780, 1280, 4192, 0, 0, 0}, {136, 783, 1032, 4437, 0, 0, 0}, {136, 780, 1028, 4454, 0, 0, 0}, {160, 783, 1295, 4176, 0, 0, 0}, {816, 5440, 0, 0, 0, 0, 0}, {40, 273, 0, 0, 0, 0, 0}, {40, 274, 0, 0, 0, 0, 0}, {819, 5503, 0, 0, 0, 0, 0}, {136, 828, 1092, 4420, 0, 0, 0}, {160, 831, 1365, 4160, 0, 0, 0}, {160, 828, 1370, 4208, 0, 0, 0}, {136, 831, 1096, 4471, 0, 0, 0}, {136, 816, 1096, 4352, 0, 0, 0}, {160, 819, 1365, 4128, 0, 0, 0}, {160, 816, 1370, 4112, 0, 0, 0}, {136, 819, 1092, 4403, 0, 0, 0}, {5504, 828, 21760, 0, 0, 0, 0}, {285, 309, 791, 1365, 4437, 0, 0}, {286, 310, 788, 1092, 4176, 0, 0}, {5567, 831, 16448, 0, 0, 0, 0}, {960, 3840, 5632, 0, 0, 0, 0}, {40, 514, 329, 1285, 4369, 0, 0}, {40, 514, 330, 1290, 4362, 0, 0}, {963, 3855, 5692, 0, 0, 0, 0}, {836, 1800, 4608, 0, 0, 0, 0}, {879, 1285, 4144, 0, 0, 0, 0}, {876, 1290, 4096, 0, 0, 0, 0}, {839, 1799, 4656, 0, 0, 0, 0}, {840, 1800, 4352, 0, 0, 0, 0}, {867, 1285, 4915, 0, 0, 0, 0}, {864, 1290, 4864, 0, 0, 0, 0}, {843, 1799, 4403, 0, 0, 0, 0}, {972, 3840, 5376, 0, 0, 0, 0}, {40, 514, 325, 1285, 4112, 0, 0}, {40, 514, 326, 1290, 4104, 0, 0}, {975, 3855, 5439, 0, 0, 0, 0}, {848, 1536, 4896, 0, 0, 0, 0}, {891, 1036, 4369, 0, 0, 0, 0}, {888, 1024, 4386, 0, 0, 0, 0}, {851, 1548, 4883, 0, 0, 0, 0}, {40, 512, 348, 1036, 4120, 0, 0}, {1023, 3072, 5674, 0, 0, 0, 0}, {1020, 3084, 5654, 0, 0, 0, 0}, {40, 512, 351, 1024, 4096, 0, 0}, {40, 512, 336, 1024, 4352, 0, 0}, {1011, 3084, 5397, 0, 0, 0, 0}, {1008, 3072, 5418, 0, 0, 0, 0}, {40, 512, 339, 1036, 4379, 0, 0}, {860, 1548, 4112, 0, 0, 0, 0}, {887, 1024, 4642, 0, 0, 0, 0}, {884, 1036, 4626, 0, 0, 0, 0}, {863, 1536, 4128, 0, 0, 0, 0}, {864, 1280, 4896, 0, 0, 0, 0}, {843, 1807, 4369, 0, 0, 0, 0}, {840, 1792, 4386, 0, 0, 0, 0}, {867, 1295, 4883, 0, 0, 0, 0}, {40, 512, 324, 1280, 4096, 0, 0}, {975, 3855, 5397, 0, 0, 0, 0}, {972, 3840, 5418, 0, 0, 0, 0}, {40, 512, 327, 1295, 4120, 0, 0}, {40, 512, 328, 1280, 4352, 0, 0}, {963, 3855, 5654, 0, 0, 0, 0}, {960, 3840, 5674, 0, 0, 0, 0}, {40, 512, 331, 1295, 4379, 0, 0}, {876, 1280, 4128, 0, 0, 0, 0}, {839, 1807, 4626, 0, 0, 0, 0}, {836, 1792, 4642, 0, 0, 0, 0}, {879, 1295, 4112, 0, 0, 0, 0}, {1008, 3072, 5376, 0, 0, 0, 0}, {40, 514, 337, 1028, 4369, 0, 0}, {40, 514, 338, 1032, 4362, 0, 0}, {1011, 3084, 5439, 0, 0, 0, 0}, {884, 1028, 4656, 0, 0, 0, 0}, {863, 1546, 4096, 0, 0, 0, 0}, {860, 1542, 4144, 0, 0, 0, 0}, {887, 1032, 4608, 0, 0, 0, 0}, {888, 1032, 4352, 0, 0, 0, 0}, {851, 1542, 4915, 0, 0, 0, 0}, {848, 1546, 4864, 0, 0, 0, 0}, {891, 1028, 4403, 0, 0, 0, 0}, {1020, 3084, 5692, 0, 0, 0, 0}, {40, 514, 349, 1032, 4104, 0, 0}, {40, 514, 350, 1028, 4112, 0, 0}, {1023, 3072, 5632, 0, 0, 0, 0}, {10752, 0, 0, 0, 0, 0, 0}, {3, 20, 257, 0, 0, 0, 0}, {40, 514, 0, 0, 0, 0, 0}, {3, 5376, 0, 0, 0, 0, 0}, {12, 8704, 68, 1028, 0, 0, 0}, {15, 8192, 80, 1285, 0, 0, 0}, {12, 8192, 96, 1542, 0, 0, 0}, {15, 8704, 119, 1799, 0, 0, 0}, {136, 2056, 8704, 0, 0, 0, 0}, {3, 80, 1285, 4096, 0, 0, 0}, {160, 2570, 8192, 0, 0, 0, 0}, {3, 68, 1028, 4352, 0, 0, 0}, {12, 9728, 16384, 0, 0, 0, 0}, {15, 39, 514, 80, 1285, 0, 0}, {12, 36, 514, 68, 1028, 0, 0}, {15, 9472, 21760, 0, 0, 0, 0}, {2560, 48, 80, 4112, 0, 0, 0}, {2048, 51, 68, 4369, 0, 0, 0}, {2048, 48, 72, 4626, 0, 0, 0}, {2560, 51, 95, 4883, 0, 0, 0}, {512, 20, 0, 0, 0, 0, 0}, {63, 5397, 0, 0, 0, 0, 0}, {60, 5654, 0, 0, 0, 0, 0}, {512, 23, 0, 0, 0, 0, 0}, {24, 48, 512, 80, 4096, 0, 0}, {6425, 51, 21845, 0, 0, 0, 0}, {6682, 48, 16448, 0, 0, 0, 0}, {27, 51, 512, 68, 4352, 0, 0}, {2560, 60, 80, 5660, 0, 0, 0}, {2048, 63, 72, 5405, 0, 0, 0}, {2048, 60, 68, 5662, 0, 0, 0}, {2560, 63, 95, 5407, 0, 0, 0}, {160, 2560, 8224, 0, 0, 0, 0}, {3, 68, 1024, 4369, 0, 0, 0}, {136, 2048, 8738, 0, 0, 0, 0}, {3, 80, 1280, 4112, 0, 0, 0}, {12, 36, 512, 68, 1024, 0, 0}, {15, 9509, 21845, 0, 0, 0, 0}, {12, 9766, 16448, 0, 0, 0, 0}, {15, 39, 512, 80, 1280, 0, 0}, {40, 512, 0, 0, 0, 0, 0}, {3, 5397, 0, 0, 0, 0, 0}, {10794, 0, 0, 0, 0, 0, 0}, {3, 20, 256, 0, 0, 0, 0}, {12, 8224, 96, 1536, 0, 0, 0}, {15, 8738, 119, 1792, 0, 0, 0}, {12, 8738, 68, 1024, 0, 0, 0}, {15, 8224, 80, 1280, 0, 0, 0}, {6656, 48, 16384, 0, 0, 0, 0}, {27, 51, 514, 68, 4369, 0, 0}, {24, 48, 514, 80, 4112, 0, 0}, {6400, 51, 21760, 0, 0, 0, 0}, {2056, 60, 68, 5640, 0, 0, 0}, {2570, 63, 95, 5386, 0, 0, 0}, {2570, 60, 80, 5642, 0, 0, 0}, {2056, 63, 72, 5384, 0, 0, 0}, {2056, 48, 72, 4608, 0, 0, 0}, {2570, 51, 95, 4864, 0, 0, 0}, {2570, 48, 80, 4096, 0, 0, 0}, {2056, 51, 68, 4352, 0, 0, 0}, {60, 5632, 0, 0, 0, 0, 0}, {514, 23, 0, 0, 0, 0, 0}, {514, 20, 0, 0, 0, 0, 0}, {63, 5376, 0, 0, 0, 0, 0}, {192, 10816, 16448, 0, 0, 0, 0}, {15, 517, 1285, 20, 0, 0, 0}, {40, 522, 72, 0, 0, 0, 0}, {15, 51, 5699, 0, 0, 0, 0}, {2048, 8704, 68, 0, 0, 0, 0}, {15, 48, 80, 1285, 4112, 0, 0}, {2570, 8224, 108, 0, 0, 0, 0}, {15, 48, 71, 1792, 4608, 0, 0}, {2048, 8704, 72, 0, 0, 0, 0}, {15, 51, 80, 1285, 4883, 0, 0}, {2570, 8224, 96, 0, 0, 0, 0}, {15, 51, 68, 1792, 4352, 0, 0}, {204, 10828, 19532, 0, 0, 0, 0}, {15, 517, 1285, 23, 0, 0, 0}, {40, 522, 68, 0, 0, 0, 0}, {15, 48, 5440, 0, 0, 0, 0}, {2560, 8192, 80, 0, 0, 0, 0}, {12, 51, 68, 1028, 4369, 0, 0}, {2056, 8738, 120, 0, 0, 0, 0}, {12, 51, 83, 1536, 4864, 0, 0}, {12, 516, 1028, 20, 0, 0, 0}, {255, 10837, 21845, 0, 0, 0, 0}, {12, 48, 5718, 0, 0, 0, 0}, {40, 520, 95, 0, 0, 0, 0}, {40, 520, 80, 0, 0, 0, 0}, {12, 51, 5461, 0, 0, 0, 0}, {240, 10842, 23130, 0, 0, 0, 0}, {12, 516, 1028, 23, 0, 0, 0}, {12, 48, 80, 1536, 4096, 0, 0}, {2056, 8738, 119, 0, 0, 0, 0}, {12, 48, 68, 1028, 4626, 0, 0}, {2560, 8192, 95, 0, 0, 0, 0}, {2560, 8192, 96, 0, 0, 0, 0}, {15, 51, 68, 1799, 4369, 0, 0}, {2056, 8738, 72, 0, 0, 0, 0}, {15, 51, 80, 1280, 4864, 0, 0}, {40, 520, 68, 0, 0, 0, 0}, {15, 48, 5461, 0, 0, 0, 0}, {204, 10854, 19456, 0, 0, 0, 0}, {15, 519, 1280, 23, 0, 0, 0}, {40, 520, 72, 0, 0, 0, 0}, {15, 51, 5717, 0, 0, 0, 0}, {192, 10858, 16384, 0, 0, 0, 0}, {15, 519, 1280, 20, 0, 0, 0}, {2560, 8192, 108, 0, 0, 0, 0}, {15, 48, 71, 1799, 4626, 0, 0}, {2056, 8738, 68, 0, 0, 0, 0}, {15, 48, 80, 1280, 4096, 0, 0}, {240, 10864, 23040, 0, 0, 0, 0}, {12, 518, 1024, 23, 0, 0, 0}, {40, 522, 80, 0, 0, 0, 0}, {12, 51, 5440, 0, 0, 0, 0}, {12, 48, 68, 1024, 4608, 0, 0}, {2570, 8224, 95, 0, 0, 0, 0}, {12, 48, 80, 1542, 4112, 0, 0}, {2048, 8704, 119, 0, 0, 0, 0}, {2048, 8704, 120, 0, 0, 0, 0}, {12, 51, 83, 1542, 4883, 0, 0}, {2570, 8224, 80, 0, 0, 0, 0}, {12, 51, 68, 1024, 4352, 0, 0}, {12, 48, 5696, 0, 0, 0, 0}, {40, 522, 95, 0, 0, 0, 0}, {12, 518, 1024, 20, 0, 0, 0}, {255, 10879, 21760, 0, 0, 0, 0}, {10880, 0, 0, 0, 0, 0, 0}, {3, 20, 261, 0, 0, 0, 0}, {40, 522, 0, 0, 0, 0, 0}, {3, 5440, 0, 0, 0, 0, 0}, {12, 8704, 68, 1024, 0, 0, 0}, {15, 8224, 80, 1285, 0, 0, 0}, {12, 8224, 96, 1542, 0, 0, 0}, {15, 8704, 119, 1792, 0, 0, 0}, {136, 2048, 8704, 0, 0, 0, 0}, {3, 80, 1285, 4112, 0, 0, 0}, {160, 2570, 8224, 0, 0, 0, 0}, {3, 68, 1024, 4352, 0, 0, 0}, {12, 9792, 16448, 0, 0, 0, 0}, {15, 39, 517, 80, 1285, 0, 0}, {12, 36, 518, 68, 1024, 0, 0}, {15, 9584, 21760, 0, 0, 0, 0}, {2560, 48, 80, 4096, 0, 0, 0}, {2056, 51, 68, 4369, 0, 0, 0}, {2056, 48, 72, 4626, 0, 0, 0}, {2560, 51, 95, 4864, 0, 0, 0}, {520, 20, 0, 0, 0, 0, 0}, {63, 5461, 0, 0, 0, 0, 0}, {60, 5722, 0, 0, 0, 0, 0}, {520, 23, 0, 0, 0, 0, 0}, {24, 48, 528, 80, 4112, 0, 0}, {6485, 51, 21845, 0, 0, 0, 0}, {6746, 48, 16384, 0, 0, 0, 0}, {27, 51, 531, 68, 4352, 0, 0}, {2560, 60, 80, 5632, 0, 0, 0}, {2056, 63, 72, 5397, 0, 0, 0}, {2056, 60, 68, 5654, 0, 0, 0}, {2560, 63, 95, 5376, 0, 0, 0}, {160, 2560, 8192, 0, 0, 0, 0}, {3, 68, 1028, 4369, 0, 0, 0}, {136, 2056, 8738, 0, 0, 0, 0}, {3, 80, 1280, 4096, 0, 0, 0}, {12, 36, 516, 68, 1028, 0, 0}, {15, 9557, 21845, 0, 0, 0, 0}, {12, 9830, 16384, 0, 0, 0, 0}, {15, 39, 519, 80, 1280, 0, 0}, {40, 520, 0, 0, 0, 0, 0}, {3, 5461, 0, 0, 0, 0, 0}, {10922, 0, 0, 0, 0, 0, 0}, {3, 20, 260, 0, 0, 0, 0}, {12, 8192, 96, 1536, 0, 0, 0}, {15, 8738, 119, 1799, 0, 0, 0}, {12, 8738, 68, 1028, 0, 0, 0}, {15, 8192, 80, 1280, 0, 0, 0}, {6720, 48, 16448, 0, 0, 0, 0}, {27, 51, 529, 68, 4369, 0, 0}, {24, 48, 530, 80, 4096, 0, 0}, {6476, 51, 21760, 0, 0, 0, 0}, {2048, 60, 68, 5632, 0, 0, 0}, {2570, 63, 95, 5397, 0, 0, 0}, {2570, 60, 80, 5654, 0, 0, 0}, {2048, 63, 72, 5376, 0, 0, 0}, {2048, 48, 72, 4608, 0, 0, 0}, {2570, 51, 95, 4883, 0, 0, 0}, {2570, 48, 80, 4112, 0, 0, 0}, {2048, 51, 68, 4352, 0, 0, 0}, {60, 5708, 0, 0, 0, 0, 0}, {522, 23, 0, 0, 0, 0, 0}, {522, 20, 0, 0, 0, 0, 0}, {63, 5440, 0, 0, 0, 0, 0}, {192, 10752, 16384, 0, 0, 0, 0}, {15, 514, 1285, 20, 0, 0, 0}, {40, 514, 72, 0, 0, 0, 0}, {15, 51, 5632, 0, 0, 0, 0}, {2056, 8704, 68, 0, 0, 0, 0}, {15, 48, 80, 1285, 4096, 0, 0}, {2570, 8192, 108, 0, 0, 0, 0}, {15, 48, 71, 1799, 4608, 0, 0}, {2056, 8704, 72, 0, 0, 0, 0}, {15, 51, 80, 1285, 4864, 0, 0}, {2570, 8192, 96, 0, 0, 0, 0}, {15, 51, 68, 1799, 4352, 0, 0}, {204, 10752, 19456, 0, 0, 0, 0}, {15, 514, 1285, 23, 0, 0, 0}, {40, 514, 68, 0, 0, 0, 0}, {15, 48, 5376, 0, 0, 0, 0}, {2560, 8224, 80, 0, 0, 0, 0}, {12, 51, 68, 1024, 4369, 0, 0}, {2048, 8738, 120, 0, 0, 0, 0}, {12, 51, 83, 1536, 4883, 0, 0}, {12, 512, 1024, 20, 0, 0, 0}, {255, 10794, 21845, 0, 0, 0, 0}, {12, 48, 5654, 0, 0, 0, 0}, {40, 512, 95, 0, 0, 0, 0}, {40, 512, 80, 0, 0, 0, 0}, {12, 51, 5397, 0, 0, 0, 0}, {240, 10794, 23130, 0, 0, 0, 0}, {12, 512, 1024, 23, 0, 0, 0}, {12, 48, 80, 1536, 4112, 0, 0}, {2048, 8738, 119, 0, 0, 0, 0}, {12, 48, 68, 1024, 4626, 0, 0}, {2560, 8224, 95, 0, 0, 0, 0}, {2560, 8224, 96, 0, 0, 0, 0}, {15, 51, 68, 1792, 4369, 0, 0}, {2048, 8738, 72, 0, 0, 0, 0}, {15, 51, 80, 1280, 4883, 0, 0}, {40, 512, 68, 0, 0, 0, 0}, {15, 48, 5397, 0, 0, 0, 0}, {204, 10794, 19532, 0, 0, 0, 0}, {15, 512, 1280, 23, 0, 0, 0}, {40, 512, 72, 0, 0, 0, 0}, {15, 51, 5654, 0, 0, 0, 0}, {192, 10794, 16448, 0, 0, 0, 0}, {15, 512, 1280, 20, 0, 0, 0}, {2560, 8224, 108, 0, 0, 0, 0}, {15, 48, 71, 1792, 4626, 0, 0}, {2048, 8738, 68, 0, 0, 0, 0}, {15, 48, 80, 1280, 4112, 0, 0}, {240, 10752, 23040, 0, 0, 0, 0}, {12, 514, 1028, 23, 0, 0, 0}, {40, 514, 80, 0, 0, 0, 0}, {12, 51, 5376, 0, 0, 0, 0}, {12, 48, 68, 1028, 4608, 0, 0}, {2570, 8192, 95, 0, 0, 0, 0}, {12, 48, 80, 1542, 4096, 0, 0}, {2056, 8704, 119, 0, 0, 0, 0}, {2056, 8704, 120, 0, 0, 0, 0}, {12, 51, 83, 1542, 4864, 0, 0}, {2570, 8192, 80, 0, 0, 0, 0}, {12, 51, 68, 1028, 4352, 0, 0}, {12, 48, 5632, 0, 0, 0, 0}, {40, 514, 95, 0, 0, 0, 0}, {12, 514, 1028, 20, 0, 0, 0}, {255, 10752, 21760, 0, 0, 0, 0}, {768, 5120, 0, 0, 0, 0, 0}, {42, 257, 0, 0, 0, 0, 0}, {42, 258, 0, 0, 0, 0, 0}, {771, 5180, 0, 0, 0, 0, 0}, {128, 780, 1028, 4160, 0, 0, 0}, {170, 783, 1285, 4437, 0, 0, 0}, {170, 780, 1290, 4454, 0, 0, 0}, {128, 783, 1032, 4208, 0, 0, 0}, {128, 768, 1032, 4096, 0, 0, 0}, {170, 771, 1285, 4403, 0, 0, 0}, {170, 768, 1290, 4352, 0, 0, 0}, {128, 771, 1028, 4144, 0, 0, 0}, {5324, 780, 20480, 0, 0, 0, 0}, {269, 295, 514, 1285, 4176, 0, 0}, {270, 292, 514, 1028, 4420, 0, 0}, {5360, 783, 17408, 0, 0, 0, 0}, {128, 816, 1088, 4112, 0, 0, 0}, {170, 819, 1365, 4369, 0, 0, 0}, {170, 816, 1370, 4386, 0, 0, 0}, {128, 819, 1100, 4128, 0, 0, 0}, {828, 5140, 0, 0, 0, 0, 0}, {42, 277, 0, 0, 0, 0, 0}, {42, 278, 0, 0, 0, 0, 0}, {831, 5160, 0, 0, 0, 0, 0}, {5336, 816, 20560, 0, 0, 0, 0}, {281, 307, 512, 1365, 4096, 0, 0}, {282, 304, 512, 1088, 4352, 0, 0}, {5348, 819, 17476, 0, 0, 0, 0}, {128, 828, 1100, 4176, 0, 0, 0}, {170, 831, 1365, 4471, 0, 0, 0}, {170, 828, 1370, 4420, 0, 0, 0}, {128, 831, 1088, 4192, 0, 0, 0}, {128, 768, 1024, 4128, 0, 0, 0}, {170, 771, 1295, 4369, 0, 0, 0}, {170, 768, 1280, 4386, 0, 0, 0}, {128, 771, 1036, 4112, 0, 0, 0}, {5348, 780, 17476, 0, 0, 0, 0}, {271, 293, 512, 1024, 4437, 0, 0}, {268, 294, 512, 1280, 4160, 0, 0}, {5336, 783, 20560, 0, 0, 0, 0}, {768, 5160, 0, 0, 0, 0, 0}, {42, 259, 0, 0, 0, 0, 0}, {42, 256, 0, 0, 0, 0, 0}, {771, 5140, 0, 0, 0, 0, 0}, {128, 780, 1036, 4192, 0, 0, 0}, {170, 783, 1295, 4471, 0, 0, 0}, {170, 780, 1280, 4420, 0, 0, 0}, {128, 783, 1024, 4176, 0, 0, 0}, {5360, 816, 17408, 0, 0, 0, 0}, {283, 305, 514, 1092, 4369, 0, 0}, {280, 306, 514, 1360, 4112, 0, 0}, {5324, 819, 20480, 0, 0, 0, 0}, {128, 828, 1092, 4208, 0, 0, 0}, {170, 831, 1375, 4437, 0, 0, 0}, {170, 828, 1360, 4454, 0, 0, 0}, {128, 831, 1096, 4160, 0, 0, 0}, {128, 816, 1096, 4144, 0, 0, 0}, {170, 819, 1375, 4403, 0, 0, 0}, {170, 816, 1360, 4352, 0, 0, 0}, {128, 819, 1092, 4096, 0, 0, 0}, {828, 5180, 0, 0, 0, 0, 0}, {42, 279, 0, 0, 0, 0, 0}, {42, 276, 0, 0, 0, 0, 0}, {831, 5120, 0, 0, 0, 0, 0}, {832, 1792, 4864, 0, 0, 0, 0}, {873, 1285, 4369, 0, 0, 0, 0}, {874, 1290, 4386, 0, 0, 0, 0}, {835, 1807, 4915, 0, 0, 0, 0}, {972, 3840, 5188, 0, 0, 0, 0}, {42, 522, 325, 1285, 4112, 0, 0}, {42, 522, 326, 1290, 4106, 0, 0}, {975, 3855, 5240, 0, 0, 0, 0}, {960, 3840, 5960, 0, 0, 0, 0}, {42, 522, 329, 1285, 4377, 0, 0}, {42, 522, 330, 1290, 4352, 0, 0}, {963, 3855, 6007, 0, 0, 0, 0}, {844, 1792, 4096, 0, 0, 0, 0}, {869, 1285, 4626, 0, 0, 0, 0}, {870, 1290, 4642, 0, 0, 0, 0}, {847, 1807, 4144, 0, 0, 0, 0}, {1008, 3072, 5200, 0, 0, 0, 0}, {42, 520, 337, 1028, 4369, 0, 0}, {42, 520, 338, 1032, 4360, 0, 0}, {1011, 3084, 5228, 0, 0, 0, 0}, {892, 1028, 4112, 0, 0, 0, 0}, {853, 1536, 4608, 0, 0, 0, 0}, {854, 1548, 4656, 0, 0, 0, 0}, {895, 1032, 4128, 0, 0, 0, 0}, {880, 1032, 4896, 0, 0, 0, 0}, {857, 1548, 4403, 0, 0, 0, 0}, {858, 1536, 4352, 0, 0, 0, 0}, {883, 1028, 4883, 0, 0, 0, 0}, {1020, 3084, 5984, 0, 0, 0, 0}, {42, 520, 349, 1032, 4096, 0, 0}, {42, 520, 350, 1028, 4122, 0, 0}, {1023, 3072, 5983, 0, 0, 0, 0}, {960, 3840, 5984, 0, 0, 0, 0}, {42, 520, 331, 1295, 4369, 0, 0}, {42, 520, 328, 1280, 4360, 0, 0}, {963, 3855, 5983, 0, 0, 0, 0}, {844, 1800, 4128, 0, 0, 0, 0}, {869, 1295, 4656, 0, 0, 0, 0}, {870, 1280, 4608, 0, 0, 0, 0}, {847, 1799, 4112, 0, 0, 0, 0}, {832, 1800, 4896, 0, 0, 0, 0}, {873, 1295, 4403, 0, 0, 0, 0}, {874, 1280, 4352, 0, 0, 0, 0}, {835, 1799, 4883, 0, 0, 0, 0}, {972, 3840, 5228, 0, 0, 0, 0}, {42, 520, 327, 1295, 4122, 0, 0}, {42, 520, 324, 1280, 4096, 0, 0}, {975, 3855, 5200, 0, 0, 0, 0}, {880, 1024, 4864, 0, 0, 0, 0}, {857, 1542, 4369, 0, 0, 0, 0}, {858, 1546, 4386, 0, 0, 0, 0}, {883, 1036, 4915, 0, 0, 0, 0}, {1020, 3084, 5960, 0, 0, 0, 0}, {42, 522, 351, 1024, 4106, 0, 0}, {42, 522, 348, 1036, 4112, 0, 0}, {1023, 3072, 6007, 0, 0, 0, 0}, {1008, 3072, 5240, 0, 0, 0, 0}, {42, 522, 339, 1036, 4377, 0, 0}, {42, 522, 336, 1024, 4352, 0, 0}, {1011, 3084, 5188, 0, 0, 0, 0}, {892, 1036, 4144, 0, 0, 0, 0}, {853, 1546, 4642, 0, 0, 0, 0}, {854, 1542, 4626, 0, 0, 0, 0}, {895, 1024, 4096, 0, 0, 0, 0}, {128, 768, 1024, 4096, 0, 0, 0}, {170, 771, 1285, 4369, 0, 0, 0}, {170, 768, 1290, 4386, 0, 0, 0}, {128, 771, 1036, 4144, 0, 0, 0}, {780, 5188, 0, 0, 0, 0, 0}, {42, 261, 0, 0, 0, 0, 0}, {42, 262, 0, 0, 0, 0, 0}, {783, 5240, 0, 0, 0, 0, 0}, {5256, 768, 20480, 0, 0, 0, 0}, {265, 291, 771, 1285, 4112, 0, 0}, {266, 288, 768, 1024, 4352, 0, 0}, {5300, 771, 17476, 0, 0, 0, 0}, {128, 780, 1036, 4160, 0, 0, 0}, {170, 783, 1285, 4471, 0, 0, 0}, {170, 780, 1290, 4420, 0, 0, 0}, {128, 783, 1024, 4208, 0, 0, 0}, {816, 5200, 0, 0, 0, 0, 0}, {42, 273, 0, 0, 0, 0, 0}, {42, 274, 0, 0, 0, 0, 0}, {819, 5228, 0, 0, 0, 0, 0}, {128, 828, 1092, 4176, 0, 0, 0}, {170, 831, 1365, 4437, 0, 0, 0}, {170, 828, 1370, 4454, 0, 0, 0}, {128, 831, 1096, 4192, 0, 0, 0}, {128, 816, 1096, 4112, 0, 0, 0}, {170, 819, 1365, 4403, 0, 0, 0}, {170, 816, 1370, 4352, 0, 0, 0}, {128, 819, 1092, 4128, 0, 0, 0}, {5276, 828, 20560, 0, 0, 0, 0}, {285, 311, 789, 1365, 4160, 0, 0}, {286, 308, 790, 1092, 4420, 0, 0}, {5280, 831, 17408, 0, 0, 0, 0}, {5280, 768, 17408, 0, 0, 0, 0}, {267, 289, 771, 1028, 4369, 0, 0}, {264, 290, 768, 1280, 4096, 0, 0}, {5276, 771, 20560, 0, 0, 0, 0}, {128, 780, 1028, 4192, 0, 0, 0}, {170, 783, 1295, 4437, 0, 0, 0}, {170, 780, 1280, 4454, 0, 0, 0}, {128, 783, 1032, 4176, 0, 0, 0}, {128, 768, 1032, 4128, 0, 0, 0}, {170, 771, 1295, 4403, 0, 0, 0}, {170, 768, 1280, 4352, 0, 0, 0}, {128, 771, 1028, 4112, 0, 0, 0}, {780, 5228, 0, 0, 0, 0, 0}, {42, 263, 0, 0, 0, 0, 0}, {42, 260, 0, 0, 0, 0, 0}, {783, 5200, 0, 0, 0, 0, 0}, {128, 816, 1088, 4144, 0, 0, 0}, {170, 819, 1375, 4369, 0, 0, 0}, {170, 816, 1360, 4386, 0, 0, 0}, {128, 819, 1100, 4096, 0, 0, 0}, {5300, 828, 17476, 0, 0, 0, 0}, {287, 309, 789, 1088, 4437, 0, 0}, {284, 310, 790, 1360, 4176, 0, 0}, {5256, 831, 20480, 0, 0, 0, 0}, {816, 5240, 0, 0, 0, 0, 0}, {42, 275, 0, 0, 0, 0, 0}, {42, 272, 0, 0, 0, 0, 0}, {819, 5188, 0, 0, 0, 0, 0}, {128, 828, 1100, 4208, 0, 0, 0}, {170, 831, 1375, 4471, 0, 0, 0}, {170, 828, 1360, 4420, 0, 0, 0}, {128, 831, 1088, 4160, 0, 0, 0}, {960, 3840, 5120, 0, 0, 0, 0}, {42, 514, 321, 1285, 4369, 0, 0}, {42, 514, 322, 1290, 4360, 0, 0}, {963, 3855, 5180, 0, 0, 0, 0}, {844, 1800, 4096, 0, 0, 0, 0}, {869, 1285, 4656, 0, 0, 0, 0}, {870, 1290, 4608, 0, 0, 0, 0}, {847, 1799, 4144, 0, 0, 0, 0}, {832, 1800, 4864, 0, 0, 0, 0}, {873, 1285, 4403, 0, 0, 0, 0}, {874, 1290, 4352, 0, 0, 0, 0}, {835, 1799, 4915, 0, 0, 0, 0}, {972, 3840, 5888, 0, 0, 0, 0}, {42, 514, 333, 1285, 4112, 0, 0}, {42, 514, 334, 1290, 4106, 0, 0}, {975, 3855, 5951, 0, 0, 0, 0}, {880, 1024, 4896, 0, 0, 0, 0}, {857, 1548, 4369, 0, 0, 0, 0}, {858, 1536, 4386, 0, 0, 0, 0}, {883, 1036, 4883, 0, 0, 0, 0}, {1020, 3084, 5140, 0, 0, 0, 0}, {42, 512, 341, 1024, 4096, 0, 0}, {42, 512, 342, 1036, 4122, 0, 0}, {1023, 3072, 5160, 0, 0, 0, 0}, {1008, 3072, 5928, 0, 0, 0, 0}, {42, 512, 345, 1036, 4377, 0, 0}, {42, 512, 346, 1024, 4352, 0, 0}, {1011, 3084, 5911, 0, 0, 0, 0}, {892, 1036, 4112, 0, 0, 0, 0}, {853, 1536, 4642, 0, 0, 0, 0}, {854, 1548, 4626, 0, 0, 0, 0}, {895, 1024, 4128, 0, 0, 0, 0}, {832, 1792, 4896, 0, 0, 0, 0}, {873, 1295, 4369, 0, 0, 0, 0}, {874, 1280, 4386, 0, 0, 0, 0}, {835, 1807, 4883, 0, 0, 0, 0}, {972, 3840, 5928, 0, 0, 0, 0}, {42, 512, 335, 1295, 4122, 0, 0}, {42, 512, 332, 1280, 4096, 0, 0}, {975, 3855, 5911, 0, 0, 0, 0}, {960, 3840, 5160, 0, 0, 0, 0}, {42, 512, 323, 1295, 4377, 0, 0}, {42, 512, 320, 1280, 4352, 0, 0}, {963, 3855, 5140, 0, 0, 0, 0}, {844, 1792, 4128, 0, 0, 0, 0}, {869, 1295, 4626, 0, 0, 0, 0}, {870, 1280, 4642, 0, 0, 0, 0}, {847, 1807, 4112, 0, 0, 0, 0}, {1008, 3072, 5888, 0, 0, 0, 0}, {42, 514, 347, 1028, 4369, 0, 0}, {42, 514, 344, 1032, 4360, 0, 0}, {1011, 3084, 5951, 0, 0, 0, 0}, {892, 1028, 4144, 0, 0, 0, 0}, {853, 1546, 4608, 0, 0, 0, 0}, {854, 1542, 4656, 0, 0, 0, 0}, {895, 1032, 4096, 0, 0, 0, 0}, {880, 1032, 4864, 0, 0, 0, 0}, {857, 1542, 4403, 0, 0, 0, 0}, {858, 1546, 4352, 0, 0, 0, 0}, {883, 1028, 4915, 0, 0, 0, 0}, {1020, 3084, 5180, 0, 0, 0, 0}, {42, 514, 343, 1032, 4106, 0, 0}, {42, 514, 340, 1028, 4112, 0, 0}, {1023, 3072, 5120, 0, 0, 0, 0}, {3072, 8192, 16384, 0, 0, 0, 0}, {15, 34, 85, 257, 0, 0, 0}, {34, 514, 1032, 0, 0, 0, 0}, {15, 771, 4144, 0, 0, 0, 0}, {136, 8200, 1028, 0, 0, 0, 0}, {15, 768, 85, 1285, 4101, 0, 0}, {170, 8202, 1542, 0, 0, 0, 0}, {15, 768, 119, 1031, 4103, 0, 0}, {136, 8200, 1032, 0, 0, 0, 0}, {15, 771, 85, 1285, 4149, 0, 0}, {170, 8202, 1546, 0, 0, 0, 0}, {15, 771, 119, 1028, 4151, 0, 0}, {3084, 8192, 16576, 0, 0, 0, 0}, {15, 34, 85, 258, 0, 0, 0}, {34, 514, 1028, 0, 0, 0, 0}, {15, 768, 4096, 0, 0, 0, 0}, {240, 3120, 4112, 0, 0, 0, 0}, {34, 512, 85, 1041, 4369, 0, 0}, {34, 512, 90, 1042, 4114, 0, 0}, {255, 3123, 4883, 0, 0, 0, 0}, {120, 1084, 4136, 0, 0, 0, 0}, {85, 1599, 4906, 0, 0, 0, 0}, {90, 1596, 4138, 0, 0, 0, 0}, {119, 1087, 4904, 0, 0, 0, 0}, {120, 1072, 4120, 0, 0, 0, 0}, {85, 1587, 4889, 0, 0, 0, 0}, {90, 1584, 4122, 0, 0, 0, 0}, {119, 1075, 4891, 0, 0, 0, 0}, {240, 3132, 4128, 0, 0, 0, 0}, {34, 512, 85, 1053, 4352, 0, 0}, {34, 512, 90, 1054, 4096, 0, 0}, {255, 3135, 4896, 0, 0, 0, 0}, {3072, 8224, 16512, 0, 0, 0, 0}, {15, 34, 85, 259, 0, 0, 0}, {34, 512, 1024, 0, 0, 0, 0}, {15, 771, 4112, 0, 0, 0, 0}, {136, 8232, 1036, 0, 0, 0, 0}, {15, 768, 85, 1280, 4133, 0, 0}, {170, 8234, 1548, 0, 0, 0, 0}, {15, 768, 119, 1024, 4135, 0, 0}, {136, 8232, 1024, 0, 0, 0, 0}, {15, 771, 85, 1280, 4117, 0, 0}, {170, 8234, 1536, 0, 0, 0, 0}, {15, 771, 119, 1027, 4119, 0, 0}, {3084, 8224, 16448, 0, 0, 0, 0}, {15, 34, 85, 256, 0, 0, 0}, {34, 512, 1036, 0, 0, 0, 0}, {15, 768, 4128, 0, 0, 0, 0}, {240, 3120, 4144, 0, 0, 0, 0}, {34, 514, 85, 1049, 4369, 0, 0}, {34, 514, 90, 1050, 4112, 0, 0}, {255, 3123, 4915, 0, 0, 0, 0}, {120, 1076, 4104, 0, 0, 0, 0}, {85, 1589, 4874, 0, 0, 0, 0}, {90, 1590, 4106, 0, 0, 0, 0}, {119, 1079, 4872, 0, 0, 0, 0}, {120, 1080, 4152, 0, 0, 0, 0}, {85, 1593, 4921, 0, 0, 0, 0}, {90, 1594, 4154, 0, 0, 0, 0}, {119, 1083, 4923, 0, 0, 0, 0}, {240, 3132, 4096, 0, 0, 0, 0}, {34, 514, 85, 1045, 4352, 0, 0}, {34, 514, 90, 1046, 4098, 0, 0}, {255, 3135, 4864, 0, 0, 0, 0}, {3264, 8320, 16448, 0, 0, 0, 0}, {15, 34, 85, 276, 0, 0, 0}, {34, 522, 1096, 0, 0, 0, 0}, {15, 819, 4208, 0, 0, 0, 0}, {136, 8192, 1092, 0, 0, 0, 0}, {15, 816, 85, 1285, 4112, 0, 0}, {170, 8224, 1644, 0, 0, 0, 0}, {15, 816, 119, 1072, 4144, 0, 0}, {136, 8192, 1096, 0, 0, 0, 0}, {15, 819, 85, 1285, 4128, 0, 0}, {170, 8224, 1632, 0, 0, 0, 0}, {15, 819, 119, 1075, 4096, 0, 0}, {3276, 8320, 16512, 0, 0, 0, 0}, {15, 34, 85, 279, 0, 0, 0}, {34, 522, 1092, 0, 0, 0, 0}, {15, 816, 4160, 0, 0, 0, 0}, {240, 3072, 4176, 0, 0, 0, 0}, {34, 520, 85, 1028, 4369, 0, 0}, {34, 520, 90, 1032, 4104, 0, 0}, {255, 3084, 4972, 0, 0, 0, 0}, {120, 1028, 4112, 0, 0, 0, 0}, {85, 1536, 4864, 0, 0, 0, 0}, {90, 1548, 4144, 0, 0, 0, 0}, {119, 1032, 4896, 0, 0, 0, 0}, {120, 1032, 4128, 0, 0, 0, 0}, {85, 1548, 4915, 0, 0, 0, 0}, {90, 1536, 4096, 0, 0, 0, 0}, {119, 1028, 4883, 0, 0, 0, 0}, {240, 3084, 4192, 0, 0, 0, 0}, {34, 520, 85, 1032, 4352, 0, 0}, {34, 520, 90, 1028, 4122, 0, 0}, {255, 3072, 4959, 0, 0, 0, 0}, {3264, 8352, 16576, 0, 0, 0, 0}, {15, 34, 85, 278, 0, 0, 0}, {34, 520, 1088, 0, 0, 0, 0}, {15, 819, 4176, 0, 0, 0, 0}, {136, 8224, 1100, 0, 0, 0, 0}, {15, 816, 85, 1280, 4144, 0, 0}, {170, 8192, 1638, 0, 0, 0, 0}, {15, 816, 119, 1079, 4112, 0, 0}, {136, 8224, 1088, 0, 0, 0, 0}, {15, 819, 85, 1280, 4096, 0, 0}, {170, 8192, 1642, 0, 0, 0, 0}, {15, 819, 119, 1076, 4128, 0, 0}, {3276, 8352, 16384, 0, 0, 0, 0}, {15, 34, 85, 277, 0, 0, 0}, {34, 520, 1100, 0, 0, 0, 0}, {15, 816, 4192, 0, 0, 0, 0}, {240, 3072, 4208, 0, 0, 0, 0}, {34, 522, 85, 1036, 4369, 0, 0}, {34, 522, 90, 1024, 4106, 0, 0}, {255, 3084, 4940, 0, 0, 0, 0}, {120, 1036, 4144, 0, 0, 0, 0}, {85, 1546, 4896, 0, 0, 0, 0}, {90, 1542, 4112, 0, 0, 0, 0}, {119, 1024, 4864, 0, 0, 0, 0}, {120, 1024, 4096, 0, 0, 0, 0}, {85, 1542, 4883, 0, 0, 0, 0}, {90, 1546, 4128, 0, 0, 0, 0}, {119, 1036, 4915, 0, 0, 0, 0}, {240, 3084, 4160, 0, 0, 0, 0}, {34, 522, 85, 1024, 4352, 0, 0}, {34, 522, 90, 1036, 4120, 0, 0}, {255, 3072, 4991, 0, 0, 0, 0}, {3072, 8320, 16512, 0, 0, 0, 0}, {15, 34, 85, 262, 0, 0, 0}, {34, 522, 1024, 0, 0, 0, 0}, {15, 771, 4160, 0, 0, 0, 0}, {136, 8192, 1036, 0, 0, 0, 0}, {15, 768, 85, 1285, 4128, 0, 0}, {170, 8224, 1542, 0, 0, 0, 0}, {15, 768, 119, 1024, 4096, 0, 0}, {136, 8192, 1024, 0, 0, 0, 0}, {15, 771, 85, 1285, 4112, 0, 0}, {170, 8224, 1546, 0, 0, 0, 0}, {15, 771, 119, 1027, 4144, 0, 0}, {3084, 8320, 16448, 0, 0, 0, 0}, {15, 34, 85, 261, 0, 0, 0}, {34, 522, 1036, 0, 0, 0, 0}, {15, 768, 4208, 0, 0, 0, 0}, {240, 3120, 4192, 0, 0, 0, 0}, {34, 520, 85, 1049, 4369, 0, 0}, {34, 520, 90, 1050, 4122, 0, 0}, {255, 3123, 4972, 0, 0, 0, 0}, {120, 1076, 4128, 0, 0, 0, 0}, {85, 1599, 4864, 0, 0, 0, 0}, {90, 1596, 4096, 0, 0, 0, 0}, {119, 1079, 4896, 0, 0, 0, 0}, {120, 1080, 4112, 0, 0, 0, 0}, {85, 1587, 4915, 0, 0, 0, 0}, {90, 1584, 4144, 0, 0, 0, 0}, {119, 1083, 4883, 0, 0, 0, 0}, {240, 3132, 4176, 0, 0, 0, 0}, {34, 520, 85, 1045, 4352, 0, 0}, {34, 520, 90, 1046, 4104, 0, 0}, {255, 3135, 4959, 0, 0, 0, 0}, {3072, 8352, 16384, 0, 0, 0, 0}, {15, 34, 85, 260, 0, 0, 0}, {34, 520, 1032, 0, 0, 0, 0}, {15, 771, 4192, 0, 0, 0, 0}, {136, 8224, 1028, 0, 0, 0, 0}, {15, 768, 85, 1280, 4096, 0, 0}, {170, 8192, 1548, 0, 0, 0, 0}, {15, 768, 119, 1031, 4128, 0, 0}, {136, 8224, 1032, 0, 0, 0, 0}, {15, 771, 85, 1280, 4144, 0, 0}, {170, 8192, 1536, 0, 0, 0, 0}, {15, 771, 119, 1028, 4112, 0, 0}, {3084, 8352, 16576, 0, 0, 0, 0}, {15, 34, 85, 263, 0, 0, 0}, {34, 520, 1028, 0, 0, 0, 0}, {15, 768, 4176, 0, 0, 0, 0}, {240, 3120, 4160, 0, 0, 0, 0}, {34, 522, 85, 1041, 4369, 0, 0}, {34, 522, 90, 1042, 4120, 0, 0}, {255, 3123, 4940, 0, 0, 0, 0}, {120, 1084, 4096, 0, 0, 0, 0}, {85, 1589, 4896, 0, 0, 0, 0}, {90, 1590, 4128, 0, 0, 0, 0}, {119, 1087, 4864, 0, 0, 0, 0}, {120, 1072, 4144, 0, 0, 0, 0}, {85, 1593, 4883, 0, 0, 0, 0}, {90, 1594, 4112, 0, 0, 0, 0}, {119, 1075, 4915, 0, 0, 0, 0}, {240, 3132, 4208, 0, 0, 0, 0}, {34, 522, 85, 1053, 4352, 0, 0}, {34, 522, 90, 1054, 4106, 0, 0}, {255, 3135, 4991, 0, 0, 0, 0}, {3264, 8192, 16576, 0, 0, 0, 0}, {15, 34, 85, 275, 0, 0, 0}, {34, 514, 1088, 0, 0, 0, 0}, {15, 819, 4096, 0, 0, 0, 0}, {136, 8200, 1100, 0, 0, 0, 0}, {15, 816, 85, 1285, 4149, 0, 0}, {170, 8202, 1644, 0, 0, 0, 0}, {15, 816, 119, 1079, 4151, 0, 0}, {136, 8200, 1088, 0, 0, 0, 0}, {15, 819, 85, 1285, 4101, 0, 0}, {170, 8202, 1632, 0, 0, 0, 0}, {15, 819, 119, 1076, 4103, 0, 0}, {3276, 8192, 16384, 0, 0, 0, 0}, {15, 34, 85, 272, 0, 0, 0}, {34, 514, 1100, 0, 0, 0, 0}, {15, 816, 4144, 0, 0, 0, 0}, {240, 3072, 4128, 0, 0, 0, 0}, {34, 512, 85, 1036, 4369, 0, 0}, {34, 512, 90, 1024, 4096, 0, 0}, {255, 3084, 4883, 0, 0, 0, 0}, {120, 1036, 4120, 0, 0, 0, 0}, {85, 1536, 4906, 0, 0, 0, 0}, {90, 1548, 4122, 0, 0, 0, 0}, {119, 1024, 4904, 0, 0, 0, 0}, {120, 1024, 4136, 0, 0, 0, 0}, {85, 1548, 4889, 0, 0, 0, 0}, {90, 1536, 4138, 0, 0, 0, 0}, {119, 1036, 4891, 0, 0, 0, 0}, {240, 3084, 4112, 0, 0, 0, 0}, {34, 512, 85, 1024, 4352, 0, 0}, {34, 512, 90, 1036, 4114, 0, 0}, {255, 3072, 4896, 0, 0, 0, 0}, {3264, 8224, 16448, 0, 0, 0, 0}, {15, 34, 85, 273, 0, 0, 0}, {34, 512, 1096, 0, 0, 0, 0}, {15, 819, 4128, 0, 0, 0, 0}, {136, 8232, 1092, 0, 0, 0, 0}, {15, 816, 85, 1280, 4117, 0, 0}, {170, 8234, 1638, 0, 0, 0, 0}, {15, 816, 119, 1072, 4119, 0, 0}, {136, 8232, 1096, 0, 0, 0, 0}, {15, 819, 85, 1280, 4133, 0, 0}, {170, 8234, 1642, 0, 0, 0, 0}, {15, 819, 119, 1075, 4135, 0, 0}, {3276, 8224, 16512, 0, 0, 0, 0}, {15, 34, 85, 274, 0, 0, 0}, {34, 512, 1092, 0, 0, 0, 0}, {15, 816, 4112, 0, 0, 0, 0}, {240, 3072, 4096, 0, 0, 0, 0}, {34, 514, 85, 1028, 4369, 0, 0}, {34, 514, 90, 1032, 4098, 0, 0}, {255, 3084, 4915, 0, 0, 0, 0}, {120, 1028, 4152, 0, 0, 0, 0}, {85, 1546, 4874, 0, 0, 0, 0}, {90, 1542, 4154, 0, 0, 0, 0}, {119, 1032, 4872, 0, 0, 0, 0}, {120, 1032, 4104, 0, 0, 0, 0}, {85, 1542, 4921, 0, 0, 0, 0}, {90, 1546, 4106, 0, 0, 0, 0}, {119, 1028, 4923, 0, 0, 0, 0}, {240, 3084, 4144, 0, 0, 0, 0}, {34, 514, 85, 1032, 4352, 0, 0}, {34, 514, 90, 1028, 4112, 0, 0}, {255, 3072, 4864, 0, 0, 0, 0}, {3840, 8704, 21760, 0, 0, 0, 0}, {12, 32, 64, 257, 0, 0, 0}, {32, 514, 1290, 0, 0, 0, 0}, {12, 771, 4403, 0, 0, 0, 0}, {12, 768, 64, 1028, 4356, 0, 0}, {160, 8714, 1285, 0, 0, 0, 0}, {12, 768, 96, 1286, 4358, 0, 0}, {128, 8712, 1799, 0, 0, 0, 0}, {128, 8712, 1800, 0, 0, 0, 0}, {12, 771, 96, 1285, 4405, 0, 0}, {160, 8714, 1290, 0, 0, 0, 0}, {12, 771, 64, 1028, 4407, 0, 0}, {12, 768, 4352, 0, 0, 0, 0}, {32, 514, 1285, 0, 0, 0, 0}, {12, 32, 64, 258, 0, 0, 0}, {3855, 8704, 22015, 0, 0, 0, 0}, {32, 512, 64, 1296, 4112, 0, 0}, {204, 3891, 4369, 0, 0, 0, 0}, {192, 3888, 4626, 0, 0, 0, 0}, {32, 512, 76, 1299, 4371, 0, 0}, {108, 1340, 4392, 0, 0, 0, 0}, {64, 1855, 4650, 0, 0, 0, 0}, {76, 1852, 4394, 0, 0, 0, 0}, {96, 1343, 4648, 0, 0, 0, 0}, {96, 1328, 4632, 0, 0, 0, 0}, {76, 1843, 4377, 0, 0, 0, 0}, {64, 1840, 4634, 0, 0, 0, 0}, {108, 1331, 4379, 0, 0, 0, 0}, {32, 512, 76, 1308, 4352, 0, 0}, {192, 3903, 4642, 0, 0, 0, 0}, {204, 3900, 4386, 0, 0, 0, 0}, {32, 512, 64, 1311, 4096, 0, 0}, {32, 512, 1280, 0, 0, 0, 0}, {12, 771, 4369, 0, 0, 0, 0}, {3840, 8738, 21930, 0, 0, 0, 0}, {12, 32, 64, 259, 0, 0, 0}, {12, 768, 96, 1280, 4388, 0, 0}, {128, 8746, 1807, 0, 0, 0, 0}, {12, 768, 64, 1024, 4390, 0, 0}, {160, 8744, 1295, 0, 0, 0, 0}, {160, 8744, 1280, 0, 0, 0, 0}, {12, 771, 64, 1024, 4373, 0, 0}, {128, 8746, 1792, 0, 0, 0, 0}, {12, 771, 96, 1283, 4375, 0, 0}, {12, 32, 64, 256, 0, 0, 0}, {3855, 8738, 21845, 0, 0, 0, 0}, {12, 768, 4386, 0, 0, 0, 0}, {32, 512, 1295, 0, 0, 0, 0}, {192, 3888, 4656, 0, 0, 0, 0}, {32, 514, 76, 1305, 4369, 0, 0}, {32, 514, 64, 1306, 4112, 0, 0}, {204, 3891, 4403, 0, 0, 0, 0}, {76, 1844, 4360, 0, 0, 0, 0}, {96, 1333, 4618, 0, 0, 0, 0}, {108, 1334, 4362, 0, 0, 0, 0}, {64, 1847, 4616, 0, 0, 0, 0}, {64, 1848, 4664, 0, 0, 0, 0}, {108, 1337, 4409, 0, 0, 0, 0}, {96, 1338, 4666, 0, 0, 0, 0}, {76, 1851, 4411, 0, 0, 0, 0}, {204, 3900, 4352, 0, 0, 0, 0}, {32, 514, 64, 1301, 4096, 0, 0}, {32, 514, 76, 1302, 4354, 0, 0}, {192, 3903, 4608, 0, 0, 0, 0}, {64, 1792, 4608, 0, 0, 0, 0}, {108, 1285, 4369, 0, 0, 0, 0}, {96, 1290, 4642, 0, 0, 0, 0}, {76, 1807, 4403, 0, 0, 0, 0}, {204, 3840, 4420, 0, 0, 0, 0}, {32, 522, 64, 1285, 4112, 0, 0}, {32, 522, 76, 1290, 4362, 0, 0}, {192, 3855, 4728, 0, 0, 0, 0}, {192, 3840, 4680, 0, 0, 0, 0}, {32, 522, 76, 1285, 4377, 0, 0}, {32, 522, 64, 1290, 4096, 0, 0}, {204, 3855, 4471, 0, 0, 0, 0}, {76, 1792, 4352, 0, 0, 0, 0}, {96, 1285, 4626, 0, 0, 0, 0}, {108, 1290, 4386, 0, 0, 0, 0}, {64, 1807, 4656, 0, 0, 0, 0}, {160, 8704, 1360, 0, 0, 0, 0}, {12, 819, 64, 1028, 4369, 0, 0}, {128, 8738, 1912, 0, 0, 0, 0}, {12, 819, 96, 1331, 4403, 0, 0}, {12, 32, 64, 276, 0, 0, 0}, {4095, 8874, 21845, 0, 0, 0, 0}, {12, 816, 4454, 0, 0, 0, 0}, {32, 520, 1375, 0, 0, 0, 0}, {32, 520, 1360, 0, 0, 0, 0}, {12, 819, 4437, 0, 0, 0, 0}, {4080, 8874, 21930, 0, 0, 0, 0}, {12, 32, 64, 279, 0, 0, 0}, {12, 816, 96, 1328, 4352, 0, 0}, {128, 8738, 1911, 0, 0, 0, 0}, {12, 816, 64, 1028, 4386, 0, 0}, {160, 8704, 1375, 0, 0, 0, 0}, {96, 1280, 4608, 0, 0, 0, 0}, {76, 1799, 4369, 0, 0, 0, 0}, {64, 1800, 4642, 0, 0, 0, 0}, {108, 1295, 4403, 0, 0, 0, 0}, {32, 520, 76, 1280, 4360, 0, 0}, {192, 3855, 4698, 0, 0, 0, 0}, {204, 3840, 4454, 0, 0, 0, 0}, {32, 520, 64, 1295, 4112, 0, 0}, {32, 520, 64, 1280, 4096, 0, 0}, {204, 3855, 4437, 0, 0, 0, 0}, {192, 3840, 4714, 0, 0, 0, 0}, {32, 520, 76, 1295, 4379, 0, 0}, {108, 1280, 4352, 0, 0, 0, 0}, {64, 1799, 4626, 0, 0, 0, 0}, {76, 1800, 4386, 0, 0, 0, 0}, {96, 1295, 4656, 0, 0, 0, 0}, {128, 8704, 1904, 0, 0, 0, 0}, {12, 819, 96, 1333, 4369, 0, 0}, {160, 8738, 1370, 0, 0, 0, 0}, {12, 819, 64, 1024, 4403, 0, 0}, {12, 816, 4420, 0, 0, 0, 0}, {32, 522, 1365, 0, 0, 0, 0}, {12, 32, 64, 278, 0, 0, 0}, {4095, 8840, 22015, 0, 0, 0, 0}, {4080, 8840, 21760, 0, 0, 0, 0}, {12, 32, 64, 277, 0, 0, 0}, {32, 522, 1370, 0, 0, 0, 0}, {12, 819, 4471, 0, 0, 0, 0}, {12, 816, 64, 1024, 4352, 0, 0}, {160, 8738, 1365, 0, 0, 0, 0}, {12, 816, 96, 1334, 4386, 0, 0}, {128, 8704, 1919, 0, 0, 0, 0}, {128, 8704, 1792, 0, 0, 0, 0}, {12, 771, 96, 1285, 4369, 0, 0}, {160, 8738, 1290, 0, 0, 0, 0}, {12, 771, 64, 1024, 4403, 0, 0}, {12, 768, 4420, 0, 0, 0, 0}, {32, 522, 1285, 0, 0, 0, 0}, {12, 32, 64, 262, 0, 0, 0}, {3855, 8840, 22015, 0, 0, 0, 0}, {3840, 8840, 21760, 0, 0, 0, 0}, {12, 32, 64, 261, 0, 0, 0}, {32, 522, 1290, 0, 0, 0, 0}, {12, 771, 4471, 0, 0, 0, 0}, {12, 768, 64, 1024, 4352, 0, 0}, {160, 8738, 1285, 0, 0, 0, 0}, {12, 768, 96, 1286, 4386, 0, 0}, {128, 8704, 1807, 0, 0, 0, 0}, {96, 1328, 4656, 0, 0, 0, 0}, {76, 1851, 4369, 0, 0, 0, 0}, {64, 1848, 4626, 0, 0, 0, 0}, {108, 1331, 4403, 0, 0, 0, 0}, {32, 520, 76, 1308, 4360, 0, 0}, {192, 3903, 4714, 0, 0, 0, 0}, {204, 3900, 4454, 0, 0, 0, 0}, {32, 520, 64, 1311, 4096, 0, 0}, {32, 520, 64, 1296, 4112, 0, 0}, {204, 3891, 4437, 0, 0, 0, 0}, {192, 3888, 4698, 0, 0, 0, 0}, {32, 520, 76, 1299, 4379, 0, 0}, {108, 1340, 4352, 0, 0, 0, 0}, {64, 1847, 4642, 0, 0, 0, 0}, {76, 1844, 4386, 0, 0, 0, 0}, {96, 1343, 4608, 0, 0, 0, 0}, {160, 8704, 1280, 0, 0, 0, 0}, {12, 771, 64, 1028, 4369, 0, 0}, {128, 8738, 1800, 0, 0, 0, 0}, {12, 771, 96, 1283, 4403, 0, 0}, {12, 32, 64, 260, 0, 0, 0}, {3855, 8874, 21845, 0, 0, 0, 0}, {12, 768, 4454, 0, 0, 0, 0}, {32, 520, 1295, 0, 0, 0, 0}, {32, 520, 1280, 0, 0, 0, 0}, {12, 771, 4437, 0, 0, 0, 0}, {3840, 8874, 21930, 0, 0, 0, 0}, {12, 32, 64, 263, 0, 0, 0}, {12, 768, 96, 1280, 4352, 0, 0}, {128, 8738, 1799, 0, 0, 0, 0}, {12, 768, 64, 1028, 4386, 0, 0}, {160, 8704, 1295, 0, 0, 0, 0}, {64, 1840, 4656, 0, 0, 0, 0}, {108, 1337, 4369, 0, 0, 0, 0}, {96, 1338, 4626, 0, 0, 0, 0}, {76, 1843, 4403, 0, 0, 0, 0}, {204, 3900, 4420, 0, 0, 0, 0}, {32, 522, 64, 1301, 4096, 0, 0}, {32, 522, 76, 1302, 4362, 0, 0}, {192, 3903, 4680, 0, 0, 0, 0}, {192, 3888, 4728, 0, 0, 0, 0}, {32, 522, 76, 1305, 4377, 0, 0}, {32, 522, 64, 1306, 4112, 0, 0}, {204, 3891, 4471, 0, 0, 0, 0}, {76, 1852, 4352, 0, 0, 0, 0}, {96, 1333, 4642, 0, 0, 0, 0}, {108, 1334, 4386, 0, 0, 0, 0}, {64, 1855, 4608, 0, 0, 0, 0}, {192, 3840, 4608, 0, 0, 0, 0}, {32, 514, 76, 1285, 4369, 0, 0}, {32, 514, 64, 1290, 4096, 0, 0}, {204, 3855, 4403, 0, 0, 0, 0}, {76, 1800, 4360, 0, 0, 0, 0}, {96, 1285, 4666, 0, 0, 0, 0}, {108, 1290, 4362, 0, 0, 0, 0}, {64, 1799, 4664, 0, 0, 0, 0}, {64, 1800, 4616, 0, 0, 0, 0}, {108, 1285, 4409, 0, 0, 0, 0}, {96, 1290, 4618, 0, 0, 0, 0}, {76, 1799, 4411, 0, 0, 0, 0}, {204, 3840, 4352, 0, 0, 0, 0}, {32, 514, 64, 1285, 4112, 0, 0}, {32, 514, 76, 1290, 4354, 0, 0}, {192, 3855, 4656, 0, 0, 0, 0}, {32, 512, 1360, 0, 0, 0, 0}, {12, 819, 4369, 0, 0, 0, 0}, {4080, 8738, 21930, 0, 0, 0, 0}, {12, 32, 64, 275, 0, 0, 0}, {12, 816, 96, 1328, 4388, 0, 0}, {128, 8746, 1919, 0, 0, 0, 0}, {12, 816, 64, 1024, 4390, 0, 0}, {160, 8744, 1375, 0, 0, 0, 0}, {160, 8744, 1360, 0, 0, 0, 0}, {12, 819, 64, 1024, 4373, 0, 0}, {128, 8746, 1904, 0, 0, 0, 0}, {12, 819, 96, 1331, 4375, 0, 0}, {12, 32, 64, 272, 0, 0, 0}, {4095, 8738, 21845, 0, 0, 0, 0}, {12, 816, 4386, 0, 0, 0, 0}, {32, 512, 1375, 0, 0, 0, 0}, {32, 512, 64, 1280, 4096, 0, 0}, {204, 3855, 4369, 0, 0, 0, 0}, {192, 3840, 4642, 0, 0, 0, 0}, {32, 512, 76, 1295, 4371, 0, 0}, {108, 1280, 4392, 0, 0, 0, 0}, {64, 1807, 4634, 0, 0, 0, 0}, {76, 1792, 4394, 0, 0, 0, 0}, {96, 1295, 4632, 0, 0, 0, 0}, {96, 1280, 4648, 0, 0, 0, 0}, {76, 1807, 4377, 0, 0, 0, 0}, {64, 1792, 4650, 0, 0, 0, 0}, {108, 1295, 4379, 0, 0, 0, 0}, {32, 512, 76, 1280, 4352, 0, 0}, {192, 3855, 4626, 0, 0, 0, 0}, {204, 3840, 4386, 0, 0, 0, 0}, {32, 512, 64, 1295, 4112, 0, 0}, {4080, 8704, 21760, 0, 0, 0, 0}, {12, 32, 64, 273, 0, 0, 0}, {32, 514, 1370, 0, 0, 0, 0}, {12, 819, 4403, 0, 0, 0, 0}, {12, 816, 64, 1028, 4356, 0, 0}, {160, 8714, 1365, 0, 0, 0, 0}, {12, 816, 96, 1334, 4358, 0, 0}, {128, 8712, 1911, 0, 0, 0, 0}, {128, 8712, 1912, 0, 0, 0, 0}, {12, 819, 96, 1333, 4405, 0, 0}, {160, 8714, 1370, 0, 0, 0, 0}, {12, 819, 64, 1028, 4407, 0, 0}, {12, 816, 4352, 0, 0, 0, 0}, {32, 514, 1365, 0, 0, 0, 0}, {12, 32, 64, 274, 0, 0, 0}, {4095, 8704, 22015, 0, 0, 0, 0}, {3072, 8704, 17408, 0, 0, 0, 0}, {15, 32, 80, 257, 0, 0, 0}, {32, 514, 1032, 0, 0, 0, 0}, {15, 771, 4403, 0, 0, 0, 0}, {128, 8712, 1028, 0, 0, 0, 0}, {15, 768, 80, 1285, 4357, 0, 0}, {160, 8714, 1542, 0, 0, 0, 0}, {15, 768, 112, 1031, 4359, 0, 0}, {128, 8712, 1032, 0, 0, 0, 0}, {15, 771, 80, 1285, 4406, 0, 0}, {160, 8714, 1546, 0, 0, 0, 0}, {15, 771, 112, 1028, 4404, 0, 0}, {3084, 8704, 17612, 0, 0, 0, 0}, {15, 32, 80, 258, 0, 0, 0}, {32, 514, 1028, 0, 0, 0, 0}, {15, 768, 4352, 0, 0, 0, 0}, {32, 512, 80, 1040, 4112, 0, 0}, {255, 3123, 4369, 0, 0, 0, 0}, {240, 3120, 4626, 0, 0, 0, 0}, {32, 512, 95, 1043, 4371, 0, 0}, {80, 1596, 4648, 0, 0, 0, 0}, {127, 1087, 4394, 0, 0, 0, 0}, {112, 1084, 4650, 0, 0, 0, 0}, {95, 1599, 4392, 0, 0, 0, 0}, {80, 1584, 4632, 0, 0, 0, 0}, {127, 1075, 4377, 0, 0, 0, 0}, {112, 1072, 4634, 0, 0, 0, 0}, {95, 1587, 4379, 0, 0, 0, 0}, {32, 512, 80, 1052, 4096, 0, 0}, {255, 3135, 4386, 0, 0, 0, 0}, {240, 3132, 4642, 0, 0, 0, 0}, {32, 512, 95, 1055, 4352, 0, 0}, {32, 512, 1024, 0, 0, 0, 0}, {15, 771, 4369, 0, 0, 0, 0}, {3072, 8738, 17544, 0, 0, 0, 0}, {15, 32, 80, 259, 0, 0, 0}, {160, 8744, 1548, 0, 0, 0, 0}, {15, 768, 112, 1024, 4389, 0, 0}, {128, 8746, 1036, 0, 0, 0, 0}, {15, 768, 80, 1280, 4391, 0, 0}, {160, 8744, 1536, 0, 0, 0, 0}, {15, 771, 112, 1027, 4374, 0, 0}, {128, 8746, 1024, 0, 0, 0, 0}, {15, 771, 80, 1280, 4372, 0, 0}, {32, 512, 1036, 0, 0, 0, 0}, {15, 768, 4386, 0, 0, 0, 0}, {3084, 8738, 17476, 0, 0, 0, 0}, {15, 32, 80, 256, 0, 0, 0}, {240, 3120, 4656, 0, 0, 0, 0}, {32, 514, 95, 1051, 4369, 0, 0}, {32, 514, 80, 1048, 4112, 0, 0}, {255, 3123, 4403, 0, 0, 0, 0}, {112, 1076, 4616, 0, 0, 0, 0}, {95, 1589, 4362, 0, 0, 0, 0}, {80, 1590, 4618, 0, 0, 0, 0}, {127, 1079, 4360, 0, 0, 0, 0}, {112, 1080, 4664, 0, 0, 0, 0}, {95, 1593, 4409, 0, 0, 0, 0}, {80, 1594, 4666, 0, 0, 0, 0}, {127, 1083, 4411, 0, 0, 0, 0}, {240, 3132, 4608, 0, 0, 0, 0}, {32, 514, 95, 1047, 4354, 0, 0}, {32, 514, 80, 1044, 4096, 0, 0}, {255, 3135, 4352, 0, 0, 0, 0}, {128, 8704, 1088, 0, 0, 0, 0}, {15, 819, 80, 1285, 4369, 0, 0}, {160, 8738, 1642, 0, 0, 0, 0}, {15, 819, 112, 1075, 4403, 0, 0}, {3276, 8840, 17476, 0, 0, 0, 0}, {15, 32, 80, 277, 0, 0, 0}, {32, 522, 1100, 0, 0, 0, 0}, {15, 816, 4471, 0, 0, 0, 0}, {3264, 8840, 17544, 0, 0, 0, 0}, {15, 32, 80, 278, 0, 0, 0}, {32, 522, 1088, 0, 0, 0, 0}, {15, 819, 4420, 0, 0, 0, 0}, {128, 8704, 1100, 0, 0, 0, 0}, {15, 816, 80, 1285, 4386, 0, 0}, {160, 8738, 1638, 0, 0, 0, 0}, {15, 816, 112, 1072, 4352, 0, 0}, {80, 1536, 4608, 0, 0, 0, 0}, {127, 1028, 4369, 0, 0, 0, 0}, {112, 1032, 4642, 0, 0, 0, 0}, {95, 1548, 4403, 0, 0, 0, 0}, {32, 520, 80, 1028, 4112, 0, 0}, {255, 3072, 4437, 0, 0, 0, 0}, {240, 3084, 4714, 0, 0, 0, 0}, {32, 520, 95, 1032, 4360, 0, 0}, {32, 520, 80, 1032, 4096, 0, 0}, {255, 3084, 4454, 0, 0, 0, 0}, {240, 3072, 4698, 0, 0, 0, 0}, {32, 520, 95, 1028, 4379, 0, 0}, {80, 1548, 4656, 0, 0, 0, 0}, {127, 1032, 4386, 0, 0, 0, 0}, {112, 1028, 4626, 0, 0, 0, 0}, {95, 1536, 4352, 0, 0, 0, 0}, {160, 8704, 1632, 0, 0, 0, 0}, {15, 819, 112, 1076, 4369, 0, 0}, {128, 8738, 1096, 0, 0, 0, 0}, {15, 819, 80, 1280, 4403, 0, 0}, {32, 520, 1092, 0, 0, 0, 0}, {15, 816, 4437, 0, 0, 0, 0}, {3276, 8874, 17612, 0, 0, 0, 0}, {15, 32, 80, 279, 0, 0, 0}, {32, 520, 1096, 0, 0, 0, 0}, {15, 819, 4454, 0, 0, 0, 0}, {3264, 8874, 17408, 0, 0, 0, 0}, {15, 32, 80, 276, 0, 0, 0}, {160, 8704, 1644, 0, 0, 0, 0}, {15, 816, 112, 1079, 4386, 0, 0}, {128, 8738, 1092, 0, 0, 0, 0}, {15, 816, 80, 1280, 4352, 0, 0}, {112, 1024, 4608, 0, 0, 0, 0}, {95, 1542, 4369, 0, 0, 0, 0}, {80, 1546, 4642, 0, 0, 0, 0}, {127, 1036, 4403, 0, 0, 0, 0}, {240, 3084, 4680, 0, 0, 0, 0}, {32, 522, 95, 1024, 4362, 0, 0}, {32, 522, 80, 1036, 4112, 0, 0}, {255, 3072, 4471, 0, 0, 0, 0}, {240, 3072, 4728, 0, 0, 0, 0}, {32, 522, 95, 1036, 4377, 0, 0}, {32, 522, 80, 1024, 4096, 0, 0}, {255, 3084, 4420, 0, 0, 0, 0}, {112, 1036, 4656, 0, 0, 0, 0}, {95, 1546, 4386, 0, 0, 0, 0}, {80, 1542, 4626, 0, 0, 0, 0}, {127, 1024, 4352, 0, 0, 0, 0}, {128, 8704, 1024, 0, 0, 0, 0}, {15, 771, 80, 1285, 4369, 0, 0}, {160, 8738, 1546, 0, 0, 0, 0}, {15, 771, 112, 1027, 4403, 0, 0}, {3084, 8840, 17476, 0, 0, 0, 0}, {15, 32, 80, 261, 0, 0, 0}, {32, 522, 1036, 0, 0, 0, 0}, {15, 768, 4471, 0, 0, 0, 0}, {3072, 8840, 17544, 0, 0, 0, 0}, {15, 32, 80, 262, 0, 0, 0}, {32, 522, 1024, 0, 0, 0, 0}, {15, 771, 4420, 0, 0, 0, 0}, {128, 8704, 1036, 0, 0, 0, 0}, {15, 768, 80, 1285, 4386, 0, 0}, {160, 8738, 1542, 0, 0, 0, 0}, {15, 768, 112, 1024, 4352, 0, 0}, {80, 1584, 4656, 0, 0, 0, 0}, {127, 1083, 4369, 0, 0, 0, 0}, {112, 1080, 4626, 0, 0, 0, 0}, {95, 1587, 4403, 0, 0, 0, 0}, {32, 520, 80, 1044, 4096, 0, 0}, {255, 3135, 4437, 0, 0, 0, 0}, {240, 3132, 4698, 0, 0, 0, 0}, {32, 520, 95, 1047, 4360, 0, 0}, {32, 520, 80, 1048, 4112, 0, 0}, {255, 3123, 4454, 0, 0, 0, 0}, {240, 3120, 4714, 0, 0, 0, 0}, {32, 520, 95, 1051, 4379, 0, 0}, {80, 1596, 4608, 0, 0, 0, 0}, {127, 1079, 4386, 0, 0, 0, 0}, {112, 1076, 4642, 0, 0, 0, 0}, {95, 1599, 4352, 0, 0, 0, 0}, {160, 8704, 1536, 0, 0, 0, 0}, {15, 771, 112, 1028, 4369, 0, 0}, {128, 8738, 1032, 0, 0, 0, 0}, {15, 771, 80, 1280, 4403, 0, 0}, {32, 520, 1028, 0, 0, 0, 0}, {15, 768, 4437, 0, 0, 0, 0}, {3084, 8874, 17612, 0, 0, 0, 0}, {15, 32, 80, 263, 0, 0, 0}, {32, 520, 1032, 0, 0, 0, 0}, {15, 771, 4454, 0, 0, 0, 0}, {3072, 8874, 17408, 0, 0, 0, 0}, {15, 32, 80, 260, 0, 0, 0}, {160, 8704, 1548, 0, 0, 0, 0}, {15, 768, 112, 1031, 4386, 0, 0}, {128, 8738, 1028, 0, 0, 0, 0}, {15, 768, 80, 1280, 4352, 0, 0}, {112, 1072, 4656, 0, 0, 0, 0}, {95, 1593, 4369, 0, 0, 0, 0}, {80, 1594, 4626, 0, 0, 0, 0}, {127, 1075, 4403, 0, 0, 0, 0}, {240, 3132, 4728, 0, 0, 0, 0}, {32, 522, 95, 1055, 4362, 0, 0}, {32, 522, 80, 1052, 4096, 0, 0}, {255, 3135, 4471, 0, 0, 0, 0}, {240, 3120, 4680, 0, 0, 0, 0}, {32, 522, 95, 1043, 4377, 0, 0}, {32, 522, 80, 1040, 4112, 0, 0}, {255, 3123, 4420, 0, 0, 0, 0}, {112, 1084, 4608, 0, 0, 0, 0}, {95, 1589, 4386, 0, 0, 0, 0}, {80, 1590, 4642, 0, 0, 0, 0}, {127, 1087, 4352, 0, 0, 0, 0}, {3264, 8704, 17408, 0, 0, 0, 0}, {15, 32, 80, 273, 0, 0, 0}, {32, 514, 1096, 0, 0, 0, 0}, {15, 819, 4403, 0, 0, 0, 0}, {128, 8712, 1092, 0, 0, 0, 0}, {15, 816, 80, 1285, 4357, 0, 0}, {160, 8714, 1638, 0, 0, 0, 0}, {15, 816, 112, 1079, 4359, 0, 0}, {128, 8712, 1096, 0, 0, 0, 0}, {15, 819, 80, 1285, 4406, 0, 0}, {160, 8714, 1642, 0, 0, 0, 0}, {15, 819, 112, 1076, 4404, 0, 0}, {3276, 8704, 17612, 0, 0, 0, 0}, {15, 32, 80, 274, 0, 0, 0}, {32, 514, 1092, 0, 0, 0, 0}, {15, 816, 4352, 0, 0, 0, 0}, {32, 512, 80, 1024, 4096, 0, 0}, {255, 3084, 4369, 0, 0, 0, 0}, {240, 3072, 4642, 0, 0, 0, 0}, {32, 512, 95, 1036, 4371, 0, 0}, {80, 1548, 4632, 0, 0, 0, 0}, {127, 1024, 4394, 0, 0, 0, 0}, {112, 1036, 4634, 0, 0, 0, 0}, {95, 1536, 4392, 0, 0, 0, 0}, {80, 1536, 4648, 0, 0, 0, 0}, {127, 1036, 4377, 0, 0, 0, 0}, {112, 1024, 4650, 0, 0, 0, 0}, {95, 1548, 4379, 0, 0, 0, 0}, {32, 512, 80, 1036, 4112, 0, 0}, {255, 3072, 4386, 0, 0, 0, 0}, {240, 3084, 4626, 0, 0, 0, 0}, {32, 512, 95, 1024, 4352, 0, 0}, {32, 512, 1088, 0, 0, 0, 0}, {15, 819, 4369, 0, 0, 0, 0}, {3264, 8738, 17544, 0, 0, 0, 0}, {15, 32, 80, 275, 0, 0, 0}, {160, 8744, 1644, 0, 0, 0, 0}, {15, 816, 112, 1072, 4389, 0, 0}, {128, 8746, 1100, 0, 0, 0, 0}, {15, 816, 80, 1280, 4391, 0, 0}, {160, 8744, 1632, 0, 0, 0, 0}, {15, 819, 112, 1075, 4374, 0, 0}, {128, 8746, 1088, 0, 0, 0, 0}, {15, 819, 80, 1280, 4372, 0, 0}, {32, 512, 1100, 0, 0, 0, 0}, {15, 816, 4386, 0, 0, 0, 0}, {3276, 8738, 17476, 0, 0, 0, 0}, {15, 32, 80, 272, 0, 0, 0}, {240, 3072, 4608, 0, 0, 0, 0}, {32, 514, 95, 1028, 4369, 0, 0}, {32, 514, 80, 1032, 4096, 0, 0}, {255, 3084, 4403, 0, 0, 0, 0}, {112, 1028, 4664, 0, 0, 0, 0}, {95, 1546, 4362, 0, 0, 0, 0}, {80, 1542, 4666, 0, 0, 0, 0}, {127, 1032, 4360, 0, 0, 0, 0}, {112, 1032, 4616, 0, 0, 0, 0}, {95, 1542, 4409, 0, 0, 0, 0}, {80, 1546, 4618, 0, 0, 0, 0}, {127, 1028, 4411, 0, 0, 0, 0}, {240, 3084, 4656, 0, 0, 0, 0}, {32, 514, 95, 1032, 4354, 0, 0}, {32, 514, 80, 1028, 4112, 0, 0}, {255, 3072, 4352, 0, 0, 0, 0}, {3840, 8192, 20480, 0, 0, 0, 0}, {12, 34, 68, 257, 0, 0, 0}, {34, 514, 1290, 0, 0, 0, 0}, {12, 771, 4144, 0, 0, 0, 0}, {12, 768, 68, 1028, 4100, 0, 0}, {170, 8202, 1285, 0, 0, 0, 0}, {12, 768, 102, 1286, 4102, 0, 0}, {136, 8200, 1799, 0, 0, 0, 0}, {136, 8200, 1800, 0, 0, 0, 0}, {12, 771, 102, 1285, 4150, 0, 0}, {170, 8202, 1290, 0, 0, 0, 0}, {12, 771, 68, 1028, 4148, 0, 0}, {12, 768, 4096, 0, 0, 0, 0}, {34, 514, 1285, 0, 0, 0, 0}, {12, 34, 68, 258, 0, 0, 0}, {3855, 8192, 20720, 0, 0, 0, 0}, {192, 3888, 4112, 0, 0, 0, 0}, {34, 512, 68, 1297, 4369, 0, 0}, {34, 512, 72, 1298, 4114, 0, 0}, {204, 3891, 4883, 0, 0, 0, 0}, {68, 1852, 4904, 0, 0, 0, 0}, {106, 1343, 4138, 0, 0, 0, 0}, {102, 1340, 4906, 0, 0, 0, 0}, {72, 1855, 4136, 0, 0, 0, 0}, {72, 1840, 4120, 0, 0, 0, 0}, {102, 1331, 4889, 0, 0, 0, 0}, {106, 1328, 4122, 0, 0, 0, 0}, {68, 1843, 4891, 0, 0, 0, 0}, {204, 3900, 4896, 0, 0, 0, 0}, {34, 512, 72, 1309, 4096, 0, 0}, {34, 512, 68, 1310, 4352, 0, 0}, {192, 3903, 4128, 0, 0, 0, 0}, {3840, 8224, 20640, 0, 0, 0, 0}, {12, 34, 68, 259, 0, 0, 0}, {34, 512, 1280, 0, 0, 0, 0}, {12, 771, 4112, 0, 0, 0, 0}, {12, 768, 68, 1024, 4132, 0, 0}, {170, 8234, 1295, 0, 0, 0, 0}, {12, 768, 102, 1280, 4134, 0, 0}, {136, 8232, 1807, 0, 0, 0, 0}, {136, 8232, 1792, 0, 0, 0, 0}, {12, 771, 102, 1283, 4118, 0, 0}, {170, 8234, 1280, 0, 0, 0, 0}, {12, 771, 68, 1024, 4116, 0, 0}, {12, 768, 4128, 0, 0, 0, 0}, {34, 512, 1295, 0, 0, 0, 0}, {12, 34, 68, 256, 0, 0, 0}, {3855, 8224, 20560, 0, 0, 0, 0}, {192, 3888, 4144, 0, 0, 0, 0}, {34, 514, 68, 1307, 4369, 0, 0}, {34, 514, 72, 1304, 4112, 0, 0}, {204, 3891, 4915, 0, 0, 0, 0}, {68, 1844, 4872, 0, 0, 0, 0}, {106, 1333, 4106, 0, 0, 0, 0}, {102, 1334, 4874, 0, 0, 0, 0}, {72, 1847, 4104, 0, 0, 0, 0}, {72, 1848, 4152, 0, 0, 0, 0}, {102, 1337, 4921, 0, 0, 0, 0}, {106, 1338, 4154, 0, 0, 0, 0}, {68, 1851, 4923, 0, 0, 0, 0}, {204, 3900, 4864, 0, 0, 0, 0}, {34, 514, 72, 1303, 4098, 0, 0}, {34, 514, 68, 1300, 4352, 0, 0}, {192, 3903, 4096, 0, 0, 0, 0}, {192, 3840, 4160, 0, 0, 0, 0}, {34, 522, 68, 1285, 4369, 0, 0}, {34, 522, 72, 1290, 4106, 0, 0}, {204, 3855, 4991, 0, 0, 0, 0}, {68, 1792, 4864, 0, 0, 0, 0}, {106, 1285, 4112, 0, 0, 0, 0}, {102, 1290, 4896, 0, 0, 0, 0}, {72, 1807, 4144, 0, 0, 0, 0}, {72, 1792, 4096, 0, 0, 0, 0}, {102, 1285, 4883, 0, 0, 0, 0}, {106, 1290, 4128, 0, 0, 0, 0}, {68, 1807, 4915, 0, 0, 0, 0}, {204, 3840, 4940, 0, 0, 0, 0}, {34, 522, 72, 1285, 4120, 0, 0}, {34, 522, 68, 1290, 4352, 0, 0}, {192, 3855, 4208, 0, 0, 0, 0}, {4080, 8352, 20560, 0, 0, 0, 0}, {12, 34, 68, 277, 0, 0, 0}, {34, 520, 1370, 0, 0, 0, 0}, {12, 819, 4192, 0, 0, 0, 0}, {12, 816, 68, 1028, 4112, 0, 0}, {170, 8192, 1365, 0, 0, 0, 0}, {12, 816, 102, 1328, 4144, 0, 0}, {136, 8224, 1919, 0, 0, 0, 0}, {136, 8224, 1904, 0, 0, 0, 0}, {12, 819, 102, 1331, 4096, 0, 0}, {170, 8192, 1370, 0, 0, 0, 0}, {12, 819, 68, 1028, 4128, 0, 0}, {12, 816, 4176, 0, 0, 0, 0}, {34, 520, 1365, 0, 0, 0, 0}, {12, 34, 68, 278, 0, 0, 0}, {4095, 8352, 20640, 0, 0, 0, 0}, {192, 3840, 4192, 0, 0, 0, 0}, {34, 520, 68, 1295, 4369, 0, 0}, {34, 520, 72, 1280, 4104, 0, 0}, {204, 3855, 4959, 0, 0, 0, 0}, {68, 1800, 4896, 0, 0, 0, 0}, {106, 1295, 4144, 0, 0, 0, 0}, {102, 1280, 4864, 0, 0, 0, 0}, {72, 1799, 4112, 0, 0, 0, 0}, {72, 1800, 4128, 0, 0, 0, 0}, {102, 1295, 4915, 0, 0, 0, 0}, {106, 1280, 4096, 0, 0, 0, 0}, {68, 1799, 4883, 0, 0, 0, 0}, {204, 3840, 4972, 0, 0, 0, 0}, {34, 520, 72, 1295, 4122, 0, 0}, {34, 520, 68, 1280, 4352, 0, 0}, {192, 3855, 4176, 0, 0, 0, 0}, {4080, 8320, 20720, 0, 0, 0, 0}, {12, 34, 68, 279, 0, 0, 0}, {34, 522, 1360, 0, 0, 0, 0}, {12, 819, 4160, 0, 0, 0, 0}, {12, 816, 68, 1024, 4144, 0, 0}, {170, 8224, 1375, 0, 0, 0, 0}, {12, 816, 102, 1334, 4112, 0, 0}, {136, 8192, 1911, 0, 0, 0, 0}, {136, 8192, 1912, 0, 0, 0, 0}, {12, 819, 102, 1333, 4128, 0, 0}, {170, 8224, 1360, 0, 0, 0, 0}, {12, 819, 68, 1024, 4096, 0, 0}, {12, 816, 4208, 0, 0, 0, 0}, {34, 522, 1375, 0, 0, 0, 0}, {12, 34, 68, 276, 0, 0, 0}, {4095, 8320, 20480, 0, 0, 0, 0}, {3840, 8320, 20480, 0, 0, 0, 0}, {12, 34, 68, 261, 0, 0, 0}, {34, 522, 1290, 0, 0, 0, 0}, {12, 771, 4208, 0, 0, 0, 0}, {12, 768, 68, 1024, 4096, 0, 0}, {170, 8224, 1285, 0, 0, 0, 0}, {12, 768, 102, 1286, 4128, 0, 0}, {136, 8192, 1807, 0, 0, 0, 0}, {136, 8192, 1792, 0, 0, 0, 0}, {12, 771, 102, 1285, 4112, 0, 0}, {170, 8224, 1290, 0, 0, 0, 0}, {12, 771, 68, 1024, 4144, 0, 0}, {12, 768, 4160, 0, 0, 0, 0}, {34, 522, 1285, 0, 0, 0, 0}, {12, 34, 68, 262, 0, 0, 0}, {3855, 8320, 20720, 0, 0, 0, 0}, {192, 3888, 4176, 0, 0, 0, 0}, {34, 520, 68, 1297, 4369, 0, 0}, {34, 520, 72, 1298, 4122, 0, 0}, {204, 3891, 4959, 0, 0, 0, 0}, {68, 1844, 4896, 0, 0, 0, 0}, {106, 1343, 4096, 0, 0, 0, 0}, {102, 1340, 4864, 0, 0, 0, 0}, {72, 1847, 4128, 0, 0, 0, 0}, {72, 1848, 4112, 0, 0, 0, 0}, {102, 1331, 4915, 0, 0, 0, 0}, {106, 1328, 4144, 0, 0, 0, 0}, {68, 1851, 4883, 0, 0, 0, 0}, {204, 3900, 4972, 0, 0, 0, 0}, {34, 520, 72, 1309, 4104, 0, 0}, {34, 520, 68, 1310, 4352, 0, 0}, {192, 3903, 4192, 0, 0, 0, 0}, {3840, 8352, 20640, 0, 0, 0, 0}, {12, 34, 68, 263, 0, 0, 0}, {34, 520, 1280, 0, 0, 0, 0}, {12, 771, 4176, 0, 0, 0, 0}, {12, 768, 68, 1028, 4128, 0, 0}, {170, 8192, 1295, 0, 0, 0, 0}, {12, 768, 102, 1280, 4096, 0, 0}, {136, 8224, 1799, 0, 0, 0, 0}, {136, 8224, 1800, 0, 0, 0, 0}, {12, 771, 102, 1283, 4144, 0, 0}, {170, 8192, 1280, 0, 0, 0, 0}, {12, 771, 68, 1028, 4112, 0, 0}, {12, 768, 4192, 0, 0, 0, 0}, {34, 520, 1295, 0, 0, 0, 0}, {12, 34, 68, 260, 0, 0, 0}, {3855, 8352, 20560, 0, 0, 0, 0}, {192, 3888, 4208, 0, 0, 0, 0}, {34, 522, 68, 1307, 4369, 0, 0}, {34, 522, 72, 1304, 4120, 0, 0}, {204, 3891, 4991, 0, 0, 0, 0}, {68, 1852, 4864, 0, 0, 0, 0}, {106, 1333, 4128, 0, 0, 0, 0}, {102, 1334, 4896, 0, 0, 0, 0}, {72, 1855, 4096, 0, 0, 0, 0}, {72, 1840, 4144, 0, 0, 0, 0}, {102, 1337, 4883, 0, 0, 0, 0}, {106, 1338, 4112, 0, 0, 0, 0}, {68, 1843, 4915, 0, 0, 0, 0}, {204, 3900, 4940, 0, 0, 0, 0}, {34, 522, 72, 1303, 4106, 0, 0}, {34, 522, 68, 1300, 4352, 0, 0}, {192, 3903, 4160, 0, 0, 0, 0}, {192, 3840, 4096, 0, 0, 0, 0}, {34, 514, 68, 1285, 4369, 0, 0}, {34, 514, 72, 1290, 4098, 0, 0}, {204, 3855, 4915, 0, 0, 0, 0}, {68, 1800, 4872, 0, 0, 0, 0}, {106, 1285, 4154, 0, 0, 0, 0}, {102, 1290, 4874, 0, 0, 0, 0}, {72, 1799, 4152, 0, 0, 0, 0}, {72, 1800, 4104, 0, 0, 0, 0}, {102, 1285, 4921, 0, 0, 0, 0}, {106, 1290, 4106, 0, 0, 0, 0}, {68, 1799, 4923, 0, 0, 0, 0}, {204, 3840, 4864, 0, 0, 0, 0}, {34, 514, 72, 1285, 4112, 0, 0}, {34, 514, 68, 1290, 4352, 0, 0}, {192, 3855, 4144, 0, 0, 0, 0}, {4080, 8224, 20560, 0, 0, 0, 0}, {12, 34, 68, 273, 0, 0, 0}, {34, 512, 1370, 0, 0, 0, 0}, {12, 819, 4128, 0, 0, 0, 0}, {12, 816, 68, 1024, 4116, 0, 0}, {170, 8234, 1365, 0, 0, 0, 0}, {12, 816, 102, 1328, 4118, 0, 0}, {136, 8232, 1911, 0, 0, 0, 0}, {136, 8232, 1912, 0, 0, 0, 0}, {12, 819, 102, 1331, 4134, 0, 0}, {170, 8234, 1370, 0, 0, 0, 0}, {12, 819, 68, 1024, 4132, 0, 0}, {12, 816, 4112, 0, 0, 0, 0}, {34, 512, 1365, 0, 0, 0, 0}, {12, 34, 68, 274, 0, 0, 0}, {4095, 8224, 20640, 0, 0, 0, 0}, {192, 3840, 4128, 0, 0, 0, 0}, {34, 512, 68, 1295, 4369, 0, 0}, {34, 512, 72, 1280, 4096, 0, 0}, {204, 3855, 4883, 0, 0, 0, 0}, {68, 1792, 4904, 0, 0, 0, 0}, {106, 1295, 4122, 0, 0, 0, 0}, {102, 1280, 4906, 0, 0, 0, 0}, {72, 1807, 4120, 0, 0, 0, 0}, {72, 1792, 4136, 0, 0, 0, 0}, {102, 1295, 4889, 0, 0, 0, 0}, {106, 1280, 4138, 0, 0, 0, 0}, {68, 1807, 4891, 0, 0, 0, 0}, {204, 3840, 4896, 0, 0, 0, 0}, {34, 512, 72, 1295, 4114, 0, 0}, {34, 512, 68, 1280, 4352, 0, 0}, {192, 3855, 4112, 0, 0, 0, 0}, {4080, 8192, 20720, 0, 0, 0, 0}, {12, 34, 68, 275, 0, 0, 0}, {34, 514, 1360, 0, 0, 0, 0}, {12, 819, 4096, 0, 0, 0, 0}, {12, 816, 68, 1028, 4148, 0, 0}, {170, 8202, 1375, 0, 0, 0, 0}, {12, 816, 102, 1334, 4150, 0, 0}, {136, 8200, 1919, 0, 0, 0, 0}, {136, 8200, 1904, 0, 0, 0, 0}, {12, 819, 102, 1333, 4102, 0, 0}, {170, 8202, 1360, 0, 0, 0, 0}, {12, 819, 68, 1028, 4100, 0, 0}, {12, 816, 4144, 0, 0, 0, 0}, {34, 514, 1375, 0, 0, 0, 0}, {12, 34, 68, 272, 0, 0, 0}, {4095, 8192, 20480, 0, 0, 0, 0}, {12288, 0, 0, 0, 0, 0, 0}, {2, 17, 257, 0, 0, 0, 0}, {2, 4096, 0, 0, 0, 0, 0}, {51, 771, 0, 0, 0, 0, 0}, {8, 12292, 68, 1028, 0, 0, 0}, {10, 12293, 85, 1285, 0, 0, 0}, {10, 12294, 102, 1542, 0, 0, 0}, {8, 12295, 119, 1799, 0, 0, 0}, {8, 12288, 16384, 0, 0, 0, 0}, {10, 51, 771, 85, 1285, 0, 0}, {10, 12288, 20480, 0, 0, 0, 0}, {8, 51, 771, 68, 1028, 0, 0}, {204, 3084, 12300, 0, 0, 0, 0}, {2, 85, 1285, 4101, 0, 0, 0}, {2, 68, 1028, 4100, 0, 0, 0}, {255, 3855, 12303, 0, 0, 0, 0}, {32, 4112, 0, 0, 0, 0, 0}, {768, 17, 0, 0, 0, 0, 0}, {34, 4626, 0, 0, 0, 0, 0}, {768, 19, 0, 0, 0, 0, 0}, {3072, 40, 68, 5140, 0, 0, 0}, {3840, 42, 85, 5397, 0, 0, 0}, {3072, 42, 76, 5654, 0, 0, 0}, {3840, 40, 95, 5911, 0, 0, 0}, {6168, 40, 20560, 0, 0, 0, 0}, {25, 51, 768, 85, 5376, 0, 0}, {6682, 42, 16448, 0, 0, 0, 0}, {27, 51, 768, 68, 5120, 0, 0}, {3072, 32, 76, 4124, 0, 0, 0}, {3840, 34, 85, 4637, 0, 0, 0}, {3072, 34, 68, 4638, 0, 0, 0}, {3840, 32, 95, 4127, 0, 0, 0}, {32, 4096, 0, 0, 0, 0, 0}, {771, 17, 0, 0, 0, 0, 0}, {34, 4608, 0, 0, 0, 0, 0}, {771, 19, 0, 0, 0, 0, 0}, {3084, 40, 68, 5120, 0, 0, 0}, {3855, 42, 85, 5376, 0, 0, 0}, {3084, 42, 76, 5632, 0, 0, 0}, {3855, 40, 95, 5888, 0, 0, 0}, {6144, 40, 20480, 0, 0, 0, 0}, {25, 51, 771, 85, 5397, 0, 0}, {6656, 42, 16384, 0, 0, 0, 0}, {27, 51, 771, 68, 5140, 0, 0}, {3084, 32, 76, 4108, 0, 0, 0}, {3855, 34, 85, 4623, 0, 0, 0}, {3084, 34, 68, 4620, 0, 0, 0}, {3855, 32, 95, 4111, 0, 0, 0}, {12336, 0, 0, 0, 0, 0, 0}, {2, 17, 256, 0, 0, 0, 0}, {2, 4112, 0, 0, 0, 0, 0}, {51, 768, 0, 0, 0, 0, 0}, {8, 12340, 68, 1024, 0, 0, 0}, {10, 12341, 85, 1280, 0, 0, 0}, {10, 12342, 102, 1536, 0, 0, 0}, {8, 12343, 119, 1792, 0, 0, 0}, {8, 12336, 16448, 0, 0, 0, 0}, {10, 51, 768, 85, 1280, 0, 0}, {10, 12336, 20560, 0, 0, 0, 0}, {8, 51, 768, 68, 1024, 0, 0}, {204, 3072, 12348, 0, 0, 0, 0}, {2, 85, 1280, 4117, 0, 0, 0}, {2, 68, 1024, 4116, 0, 0, 0}, {255, 3840, 12351, 0, 0, 0, 0}, {128, 12352, 16448, 0, 0, 0, 0}, {10, 773, 1285, 17, 0, 0, 0}, {10, 34, 4674, 0, 0, 0, 0}, {51, 783, 76, 0, 0, 0, 0}, {3072, 12288, 68, 0, 0, 0, 0}, {10, 32, 85, 1285, 4112, 0, 0}, {10, 32, 70, 1536, 4096, 0, 0}, {3855, 12336, 119, 0, 0, 0, 0}, {136, 12360, 18504, 0, 0, 0, 0}, {10, 773, 1285, 19, 0, 0, 0}, {10, 32, 4160, 0, 0, 0, 0}, {51, 783, 68, 0, 0, 0, 0}, {3072, 12288, 76, 0, 0, 0, 0}, {10, 34, 85, 1285, 4626, 0, 0}, {10, 34, 68, 1536, 4608, 0, 0}, {3855, 12336, 127, 0, 0, 0, 0}, {160, 12368, 20560, 0, 0, 0, 0}, {8, 772, 1028, 17, 0, 0, 0}, {8, 34, 4690, 0, 0, 0, 0}, {51, 780, 95, 0, 0, 0, 0}, {8, 32, 68, 1028, 4112, 0, 0}, {3840, 12288, 85, 0, 0, 0, 0}, {3084, 12336, 102, 0, 0, 0, 0}, {8, 32, 87, 1792, 4096, 0, 0}, {8, 32, 4176, 0, 0, 0, 0}, {51, 780, 85, 0, 0, 0, 0}, {170, 12378, 23130, 0, 0, 0, 0}, {8, 772, 1028, 19, 0, 0, 0}, {3084, 12336, 108, 0, 0, 0, 0}, {8, 34, 85, 1792, 4608, 0, 0}, {8, 34, 68, 1028, 4626, 0, 0}, {3840, 12288, 95, 0, 0, 0, 0}, {160, 12384, 20480, 0, 0, 0, 0}, {8, 775, 1024, 17, 0, 0, 0}, {8, 34, 4672, 0, 0, 0, 0}, {51, 783, 95, 0, 0, 0, 0}, {8, 32, 68, 1024, 4096, 0, 0}, {3855, 12336, 85, 0, 0, 0, 0}, {3072, 12288, 102, 0, 0, 0, 0}, {8, 32, 87, 1799, 4112, 0, 0}, {8, 32, 4160, 0, 0, 0, 0}, {51, 783, 85, 0, 0, 0, 0}, {170, 12394, 23040, 0, 0, 0, 0}, {8, 775, 1024, 19, 0, 0, 0}, {3072, 12288, 108, 0, 0, 0, 0}, {8, 34, 85, 1799, 4626, 0, 0}, {8, 34, 68, 1024, 4608, 0, 0}, {3855, 12336, 95, 0, 0, 0, 0}, {128, 12400, 16384, 0, 0, 0, 0}, {10, 774, 1280, 17, 0, 0, 0}, {10, 34, 4688, 0, 0, 0, 0}, {51, 780, 76, 0, 0, 0, 0}, {3084, 12336, 68, 0, 0, 0, 0}, {10, 32, 85, 1280, 4096, 0, 0}, {10, 32, 70, 1542, 4112, 0, 0}, {3840, 12288, 119, 0, 0, 0, 0}, {136, 12408, 18432, 0, 0, 0, 0}, {10, 774, 1280, 19, 0, 0, 0}, {10, 32, 4176, 0, 0, 0, 0}, {51, 780, 68, 0, 0, 0, 0}, {3084, 12336, 76, 0, 0, 0, 0}, {10, 34, 85, 1280, 4608, 0, 0}, {10, 34, 68, 1542, 4626, 0, 0}, {3840, 12288, 127, 0, 0, 0, 0}, {128, 12288, 16384, 0, 0, 0, 0}, {10, 771, 1285, 17, 0, 0, 0}, {10, 34, 4608, 0, 0, 0, 0}, {51, 771, 76, 0, 0, 0, 0}, {3084, 12300, 68, 0, 0, 0, 0}, {10, 32, 85, 1285, 4101, 0, 0}, {10, 32, 70, 1542, 4102, 0, 0}, {3855, 12303, 119, 0, 0, 0, 0}, {136, 12288, 18432, 0, 0, 0, 0}, {10, 771, 1285, 19, 0, 0, 0}, {10, 32, 4096, 0, 0, 0, 0}, {51, 771, 68, 0, 0, 0, 0}, {3084, 12300, 76, 0, 0, 0, 0}, {10, 34, 85, 1285, 4613, 0, 0}, {10, 34, 68, 1542, 4614, 0, 0}, {3855, 12303, 127, 0, 0, 0, 0}, {160, 12336, 20560, 0, 0, 0, 0}, {8, 768, 1024, 17, 0, 0, 0}, {8, 34, 4626, 0, 0, 0, 0}, {51, 768, 95, 0, 0, 0, 0}, {8, 32, 68, 1024, 4116, 0, 0}, {3840, 12351, 85, 0, 0, 0, 0}, {3072, 12348, 102, 0, 0, 0, 0}, {8, 32, 87, 1792, 4119, 0, 0}, {8, 32, 4112, 0, 0, 0, 0}, {51, 768, 85, 0, 0, 0, 0}, {170, 12336, 23130, 0, 0, 0, 0}, {8, 768, 1024, 19, 0, 0, 0}, {3072, 12348, 108, 0, 0, 0, 0}, {8, 34, 85, 1792, 4629, 0, 0}, {8, 34, 68, 1024, 4630, 0, 0}, {3840, 12351, 95, 0, 0, 0, 0}, {160, 12288, 20480, 0, 0, 0, 0}, {8, 771, 1028, 17, 0, 0, 0}, {8, 34, 4608, 0, 0, 0, 0}, {51, 771, 95, 0, 0, 0, 0}, {8, 32, 68, 1028, 4100, 0, 0}, {3855, 12303, 85, 0, 0, 0, 0}, {3084, 12300, 102, 0, 0, 0, 0}, {8, 32, 87, 1799, 4103, 0, 0}, {8, 32, 4096, 0, 0, 0, 0}, {51, 771, 85, 0, 0, 0, 0}, {170, 12288, 23040, 0, 0, 0, 0}, {8, 771, 1028, 19, 0, 0, 0}, {3084, 12300, 108, 0, 0, 0, 0}, {8, 34, 85, 1799, 4615, 0, 0}, {8, 34, 68, 1028, 4612, 0, 0}, {3855, 12303, 95, 0, 0, 0, 0}, {128, 12336, 16448, 0, 0, 0, 0}, {10, 768, 1280, 17, 0, 0, 0}, {10, 34, 4626, 0, 0, 0, 0}, {51, 768, 76, 0, 0, 0, 0}, {3072, 12348, 68, 0, 0, 0, 0}, {10, 32, 85, 1280, 4117, 0, 0}, {10, 32, 70, 1536, 4118, 0, 0}, {3840, 12351, 119, 0, 0, 0, 0}, {136, 12336, 18504, 0, 0, 0, 0}, {10, 768, 1280, 19, 0, 0, 0}, {10, 32, 4112, 0, 0, 0, 0}, {51, 768, 68, 0, 0, 0, 0}, {3072, 12348, 76, 0, 0, 0, 0}, {10, 34, 85, 1280, 4631, 0, 0}, {10, 34, 68, 1536, 4628, 0, 0}, {3840, 12351, 127, 0, 0, 0, 0}, {12480, 0, 0, 0, 0, 0, 0}, {2, 17, 261, 0, 0, 0, 0}, {2, 4160, 0, 0, 0, 0, 0}, {51, 783, 0, 0, 0, 0, 0}, {8, 12288, 68, 1024, 0, 0, 0}, {10, 12336, 85, 1285, 0, 0, 0}, {10, 12288, 102, 1536, 0, 0, 0}, {8, 12336, 119, 1799, 0, 0, 0}, {8, 12352, 16448, 0, 0, 0, 0}, {10, 51, 773, 85, 1285, 0, 0}, {10, 12384, 20480, 0, 0, 0, 0}, {8, 51, 775, 68, 1024, 0, 0}, {204, 3072, 12288, 0, 0, 0, 0}, {2, 85, 1285, 4112, 0, 0, 0}, {2, 68, 1024, 4096, 0, 0, 0}, {255, 3855, 12336, 0, 0, 0, 0}, {32, 4176, 0, 0, 0, 0, 0}, {780, 17, 0, 0, 0, 0, 0}, {34, 4698, 0, 0, 0, 0, 0}, {780, 19, 0, 0, 0, 0, 0}, {3084, 40, 68, 5140, 0, 0, 0}, {3840, 42, 85, 5376, 0, 0, 0}, {3084, 42, 76, 5654, 0, 0, 0}, {3840, 40, 95, 5888, 0, 0, 0}, {6224, 40, 20560, 0, 0, 0, 0}, {25, 51, 789, 85, 5397, 0, 0}, {6746, 42, 16384, 0, 0, 0, 0}, {27, 51, 791, 68, 5120, 0, 0}, {3084, 32, 76, 4112, 0, 0, 0}, {3840, 34, 85, 4608, 0, 0, 0}, {3084, 34, 68, 4626, 0, 0, 0}, {3840, 32, 95, 4096, 0, 0, 0}, {32, 4160, 0, 0, 0, 0, 0}, {783, 17, 0, 0, 0, 0, 0}, {34, 4680, 0, 0, 0, 0, 0}, {783, 19, 0, 0, 0, 0, 0}, {3072, 40, 68, 5120, 0, 0, 0}, {3855, 42, 85, 5397, 0, 0, 0}, {3072, 42, 76, 5632, 0, 0, 0}, {3855, 40, 95, 5911, 0, 0, 0}, {6216, 40, 20480, 0, 0, 0, 0}, {25, 51, 790, 85, 5376, 0, 0}, {6720, 42, 16448, 0, 0, 0, 0}, {27, 51, 788, 68, 5140, 0, 0}, {3072, 32, 76, 4096, 0, 0, 0}, {3855, 34, 85, 4626, 0, 0, 0}, {3072, 34, 68, 4608, 0, 0, 0}, {3855, 32, 95, 4112, 0, 0, 0}, {12528, 0, 0, 0, 0, 0, 0}, {2, 17, 260, 0, 0, 0, 0}, {2, 4176, 0, 0, 0, 0, 0}, {51, 780, 0, 0, 0, 0, 0}, {8, 12336, 68, 1028, 0, 0, 0}, {10, 12288, 85, 1280, 0, 0, 0}, {10, 12336, 102, 1542, 0, 0, 0}, {8, 12288, 119, 1792, 0, 0, 0}, {8, 12400, 16384, 0, 0, 0, 0}, {10, 51, 774, 85, 1280, 0, 0}, {10, 12368, 20560, 0, 0, 0, 0}, {8, 51, 772, 68, 1028, 0, 0}, {204, 3084, 12336, 0, 0, 0, 0}, {2, 85, 1280, 4096, 0, 0, 0}, {2, 68, 1028, 4112, 0, 0, 0}, {255, 3840, 12288, 0, 0, 0, 0}, {512, 4352, 0, 0, 0, 0, 0}, {48, 257, 0, 0, 0, 0, 0}, {514, 4386, 0, 0, 0, 0, 0}, {48, 259, 0, 0, 0, 0, 0}, {192, 520, 1028, 4420, 0, 0, 0}, {240, 522, 1285, 4437, 0, 0, 0}, {192, 522, 1036, 4454, 0, 0, 0}, {240, 520, 1295, 4471, 0, 0, 0}, {4488, 520, 21760, 0, 0, 0, 0}, {265, 48, 771, 1285, 4176, 0, 0}, {4522, 522, 17408, 0, 0, 0, 0}, {267, 48, 771, 1028, 4160, 0, 0}, {192, 512, 1036, 4364, 0, 0, 0}, {240, 514, 1285, 4397, 0, 0, 0}, {192, 514, 1028, 4398, 0, 0, 0}, {240, 512, 1295, 4367, 0, 0, 0}, {48, 272, 0, 0, 0, 0, 0}, {546, 4369, 0, 0, 0, 0, 0}, {48, 274, 0, 0, 0, 0, 0}, {544, 4403, 0, 0, 0, 0, 0}, {240, 552, 1360, 4420, 0, 0, 0}, {192, 554, 1088, 4437, 0, 0, 0}, {240, 554, 1370, 4454, 0, 0, 0}, {192, 552, 1096, 4471, 0, 0, 0}, {280, 48, 768, 1360, 4176, 0, 0}, {4505, 554, 21845, 0, 0, 0, 0}, {282, 48, 768, 1088, 4160, 0, 0}, {4539, 552, 17476, 0, 0, 0, 0}, {240, 544, 1360, 4412, 0, 0, 0}, {192, 546, 1096, 4381, 0, 0, 0}, {240, 546, 1370, 4382, 0, 0, 0}, {192, 544, 1088, 4415, 0, 0, 0}, {544, 4352, 0, 0, 0, 0, 0}, {48, 273, 0, 0, 0, 0, 0}, {546, 4386, 0, 0, 0, 0, 0}, {48, 275, 0, 0, 0, 0, 0}, {192, 552, 1092, 4420, 0, 0, 0}, {240, 554, 1365, 4437, 0, 0, 0}, {192, 554, 1100, 4454, 0, 0, 0}, {240, 552, 1375, 4471, 0, 0, 0}, {4488, 552, 21760, 0, 0, 0, 0}, {281, 48, 771, 1365, 4160, 0, 0}, {4522, 554, 17408, 0, 0, 0, 0}, {283, 48, 771, 1092, 4176, 0, 0}, {192, 544, 1100, 4364, 0, 0, 0}, {240, 546, 1365, 4397, 0, 0, 0}, {192, 546, 1092, 4398, 0, 0, 0}, {240, 544, 1375, 4367, 0, 0, 0}, {48, 256, 0, 0, 0, 0, 0}, {514, 4369, 0, 0, 0, 0, 0}, {48, 258, 0, 0, 0, 0, 0}, {512, 4403, 0, 0, 0, 0, 0}, {240, 520, 1280, 4420, 0, 0, 0}, {192, 522, 1024, 4437, 0, 0, 0}, {240, 522, 1290, 4454, 0, 0, 0}, {192, 520, 1032, 4471, 0, 0, 0}, {264, 48, 768, 1280, 4160, 0, 0}, {4505, 522, 21845, 0, 0, 0, 0}, {266, 48, 768, 1024, 4176, 0, 0}, {4539, 520, 17476, 0, 0, 0, 0}, {240, 512, 1280, 4412, 0, 0, 0}, {192, 514, 1032, 4381, 0, 0, 0}, {240, 514, 1290, 4382, 0, 0, 0}, {192, 512, 1024, 4415, 0, 0, 0}, {576, 1536, 4352, 0, 0, 0, 0}, {626, 1285, 4369, 0, 0, 0, 0}, {578, 1546, 4386, 0, 0, 0, 0}, {624, 1295, 4403, 0, 0, 0, 0}, {648, 2560, 4420, 0, 0, 0, 0}, {48, 783, 325, 1285, 4112, 0, 0}, {650, 2570, 4454, 0, 0, 0, 0}, {48, 783, 327, 1295, 4096, 0, 0}, {584, 1536, 4864, 0, 0, 0, 0}, {634, 1285, 4883, 0, 0, 0, 0}, {586, 1546, 4896, 0, 0, 0, 0}, {632, 1295, 4915, 0, 0, 0, 0}, {640, 2560, 4940, 0, 0, 0, 0}, {48, 783, 333, 1285, 4381, 0, 0}, {642, 2570, 4972, 0, 0, 0, 0}, {48, 783, 335, 1295, 4367, 0, 0}, {592, 1792, 4352, 0, 0, 0, 0}, {610, 1028, 4369, 0, 0, 0, 0}, {594, 1800, 4386, 0, 0, 0, 0}, {608, 1036, 4403, 0, 0, 0, 0}, {48, 780, 340, 1028, 4112, 0, 0}, {682, 2048, 4437, 0, 0, 0, 0}, {48, 780, 342, 1036, 4096, 0, 0}, {680, 2056, 4471, 0, 0, 0, 0}, {600, 1800, 4896, 0, 0, 0, 0}, {618, 1036, 4915, 0, 0, 0, 0}, {602, 1792, 4864, 0, 0, 0, 0}, {616, 1028, 4883, 0, 0, 0, 0}, {48, 780, 348, 1036, 4364, 0, 0}, {674, 2056, 4991, 0, 0, 0, 0}, {48, 780, 350, 1028, 4382, 0, 0}, {672, 2048, 4959, 0, 0, 0, 0}, {608, 1024, 4352, 0, 0, 0, 0}, {594, 1799, 4369, 0, 0, 0, 0}, {610, 1032, 4386, 0, 0, 0, 0}, {592, 1807, 4403, 0, 0, 0, 0}, {680, 2056, 4420, 0, 0, 0, 0}, {48, 783, 341, 1024, 4096, 0, 0}, {682, 2048, 4454, 0, 0, 0, 0}, {48, 783, 343, 1032, 4112, 0, 0}, {616, 1032, 4896, 0, 0, 0, 0}, {602, 1807, 4915, 0, 0, 0, 0}, {618, 1024, 4864, 0, 0, 0, 0}, {600, 1799, 4883, 0, 0, 0, 0}, {672, 2048, 4972, 0, 0, 0, 0}, {48, 783, 349, 1032, 4381, 0, 0}, {674, 2056, 4940, 0, 0, 0, 0}, {48, 783, 351, 1024, 4367, 0, 0}, {624, 1280, 4352, 0, 0, 0, 0}, {578, 1542, 4369, 0, 0, 0, 0}, {626, 1290, 4386, 0, 0, 0, 0}, {576, 1548, 4403, 0, 0, 0, 0}, {48, 780, 324, 1280, 4096, 0, 0}, {650, 2570, 4437, 0, 0, 0, 0}, {48, 780, 326, 1290, 4112, 0, 0}, {648, 2560, 4471, 0, 0, 0, 0}, {632, 1280, 4864, 0, 0, 0, 0}, {586, 1542, 4883, 0, 0, 0, 0}, {634, 1290, 4896, 0, 0, 0, 0}, {584, 1548, 4915, 0, 0, 0, 0}, {48, 780, 332, 1280, 4364, 0, 0}, {642, 2570, 4959, 0, 0, 0, 0}, {48, 780, 334, 1290, 4382, 0, 0}, {640, 2560, 4991, 0, 0, 0, 0}, {640, 2560, 4352, 0, 0, 0, 0}, {48, 771, 321, 1285, 4369, 0, 0}, {642, 2570, 4386, 0, 0, 0, 0}, {48, 771, 323, 1295, 4355, 0, 0}, {584, 1548, 4876, 0, 0, 0, 0}, {634, 1285, 4911, 0, 0, 0, 0}, {586, 1542, 4908, 0, 0, 0, 0}, {632, 1295, 4879, 0, 0, 0, 0}, {648, 2560, 4864, 0, 0, 0, 0}, {48, 771, 329, 1285, 4112, 0, 0}, {650, 2570, 4896, 0, 0, 0, 0}, {48, 771, 331, 1295, 4096, 0, 0}, {576, 1548, 4364, 0, 0, 0, 0}, {626, 1285, 4397, 0, 0, 0, 0}, {578, 1542, 4398, 0, 0, 0, 0}, {624, 1295, 4367, 0, 0, 0, 0}, {48, 768, 336, 1024, 4352, 0, 0}, {674, 2056, 4369, 0, 0, 0, 0}, {48, 768, 338, 1032, 4370, 0, 0}, {672, 2048, 4403, 0, 0, 0, 0}, {600, 1800, 4892, 0, 0, 0, 0}, {618, 1024, 4927, 0, 0, 0, 0}, {602, 1792, 4924, 0, 0, 0, 0}, {616, 1032, 4895, 0, 0, 0, 0}, {48, 768, 344, 1032, 4112, 0, 0}, {682, 2048, 4915, 0, 0, 0, 0}, {48, 768, 346, 1024, 4096, 0, 0}, {680, 2056, 4883, 0, 0, 0, 0}, {592, 1792, 4412, 0, 0, 0, 0}, {610, 1032, 4381, 0, 0, 0, 0}, {594, 1800, 4382, 0, 0, 0, 0}, {608, 1024, 4415, 0, 0, 0, 0}, {672, 2048, 4352, 0, 0, 0, 0}, {48, 771, 337, 1028, 4369, 0, 0}, {674, 2056, 4386, 0, 0, 0, 0}, {48, 771, 339, 1036, 4355, 0, 0}, {616, 1028, 4908, 0, 0, 0, 0}, {602, 1807, 4879, 0, 0, 0, 0}, {618, 1036, 4876, 0, 0, 0, 0}, {600, 1799, 4911, 0, 0, 0, 0}, {680, 2056, 4896, 0, 0, 0, 0}, {48, 771, 345, 1036, 4096, 0, 0}, {682, 2048, 4864, 0, 0, 0, 0}, {48, 771, 347, 1028, 4112, 0, 0}, {608, 1036, 4364, 0, 0, 0, 0}, {594, 1799, 4397, 0, 0, 0, 0}, {610, 1028, 4398, 0, 0, 0, 0}, {592, 1807, 4367, 0, 0, 0, 0}, {48, 768, 320, 1280, 4352, 0, 0}, {642, 2570, 4369, 0, 0, 0, 0}, {48, 768, 322, 1290, 4370, 0, 0}, {640, 2560, 4403, 0, 0, 0, 0}, {632, 1280, 4924, 0, 0, 0, 0}, {586, 1546, 4895, 0, 0, 0, 0}, {634, 1290, 4892, 0, 0, 0, 0}, {584, 1536, 4927, 0, 0, 0, 0}, {48, 768, 328, 1280, 4096, 0, 0}, {650, 2570, 4883, 0, 0, 0, 0}, {48, 768, 330, 1290, 4112, 0, 0}, {648, 2560, 4915, 0, 0, 0, 0}, {624, 1280, 4412, 0, 0, 0, 0}, {578, 1546, 4381, 0, 0, 0, 0}, {626, 1290, 4382, 0, 0, 0, 0}, {576, 1536, 4415, 0, 0, 0, 0}, {192, 512, 1024, 4352, 0, 0, 0}, {240, 514, 1285, 4369, 0, 0, 0}, {192, 514, 1032, 4386, 0, 0, 0}, {240, 512, 1295, 4403, 0, 0, 0}, {520, 4420, 0, 0, 0, 0, 0}, {48, 261, 0, 0, 0, 0, 0}, {522, 4454, 0, 0, 0, 0, 0}, {48, 263, 0, 0, 0, 0, 0}, {192, 520, 1032, 4424, 0, 0, 0}, {240, 522, 1285, 4457, 0, 0, 0}, {192, 522, 1024, 4458, 0, 0, 0}, {240, 520, 1295, 4427, 0, 0, 0}, {4556, 512, 21760, 0, 0, 0, 0}, {269, 48, 514, 1285, 4112, 0, 0}, {4590, 514, 17476, 0, 0, 0, 0}, {271, 48, 512, 1024, 4096, 0, 0}, {240, 544, 1360, 4352, 0, 0, 0}, {192, 546, 1092, 4369, 0, 0, 0}, {240, 546, 1370, 4386, 0, 0, 0}, {192, 544, 1100, 4403, 0, 0, 0}, {48, 276, 0, 0, 0, 0, 0}, {554, 4437, 0, 0, 0, 0, 0}, {48, 278, 0, 0, 0, 0, 0}, {552, 4471, 0, 0, 0, 0, 0}, {240, 552, 1360, 4472, 0, 0, 0}, {192, 554, 1100, 4441, 0, 0, 0}, {240, 554, 1370, 4442, 0, 0, 0}, {192, 552, 1092, 4475, 0, 0, 0}, {284, 48, 528, 1360, 4112, 0, 0}, {4573, 546, 21845, 0, 0, 0, 0}, {286, 48, 530, 1092, 4096, 0, 0}, {4607, 544, 17408, 0, 0, 0, 0}, {192, 544, 1088, 4352, 0, 0, 0}, {240, 546, 1365, 4369, 0, 0, 0}, {192, 546, 1096, 4386, 0, 0, 0}, {240, 544, 1375, 4403, 0, 0, 0}, {552, 4420, 0, 0, 0, 0, 0}, {48, 277, 0, 0, 0, 0, 0}, {554, 4454, 0, 0, 0, 0, 0}, {48, 279, 0, 0, 0, 0, 0}, {192, 552, 1096, 4424, 0, 0, 0}, {240, 554, 1365, 4457, 0, 0, 0}, {192, 554, 1088, 4458, 0, 0, 0}, {240, 552, 1375, 4427, 0, 0, 0}, {4556, 544, 21760, 0, 0, 0, 0}, {285, 48, 530, 1365, 4096, 0, 0}, {4590, 546, 17476, 0, 0, 0, 0}, {287, 48, 528, 1088, 4112, 0, 0}, {240, 512, 1280, 4352, 0, 0, 0}, {192, 514, 1028, 4369, 0, 0, 0}, {240, 514, 1290, 4386, 0, 0, 0}, {192, 512, 1036, 4403, 0, 0, 0}, {48, 260, 0, 0, 0, 0, 0}, {522, 4437, 0, 0, 0, 0, 0}, {48, 262, 0, 0, 0, 0, 0}, {520, 4471, 0, 0, 0, 0, 0}, {240, 520, 1280, 4472, 0, 0, 0}, {192, 522, 1036, 4441, 0, 0, 0}, {240, 522, 1290, 4442, 0, 0, 0}, {192, 520, 1028, 4475, 0, 0, 0}, {268, 48, 512, 1280, 4096, 0, 0}, {4573, 514, 21845, 0, 0, 0, 0}, {270, 48, 514, 1028, 4112, 0, 0}, {4607, 512, 17408, 0, 0, 0, 0}, {512, 4096, 0, 0, 0, 0, 0}, {51, 257, 0, 0, 0, 0, 0}, {514, 4128, 0, 0, 0, 0, 0}, {51, 259, 0, 0, 0, 0, 0}, {204, 520, 1028, 4160, 0, 0, 0}, {255, 522, 1285, 4176, 0, 0, 0}, {204, 522, 1036, 4192, 0, 0, 0}, {255, 520, 1295, 4208, 0, 0, 0}, {4224, 520, 20480, 0, 0, 0, 0}, {265, 51, 771, 1285, 4437, 0, 0}, {4256, 522, 16384, 0, 0, 0, 0}, {267, 51, 771, 1028, 4420, 0, 0}, {204, 512, 1036, 4108, 0, 0, 0}, {255, 514, 1285, 4143, 0, 0, 0}, {204, 514, 1028, 4140, 0, 0, 0}, {255, 512, 1295, 4111, 0, 0, 0}, {544, 4112, 0, 0, 0, 0, 0}, {51, 273, 0, 0, 0, 0, 0}, {546, 4144, 0, 0, 0, 0, 0}, {51, 275, 0, 0, 0, 0, 0}, {204, 552, 1092, 4176, 0, 0, 0}, {255, 554, 1365, 4160, 0, 0, 0}, {204, 554, 1100, 4208, 0, 0, 0}, {255, 552, 1375, 4192, 0, 0, 0}, {4240, 552, 20560, 0, 0, 0, 0}, {281, 51, 768, 1365, 4437, 0, 0}, {4272, 554, 16448, 0, 0, 0, 0}, {283, 51, 768, 1092, 4420, 0, 0}, {204, 544, 1100, 4124, 0, 0, 0}, {255, 546, 1365, 4159, 0, 0, 0}, {204, 546, 1092, 4156, 0, 0, 0}, {255, 544, 1375, 4127, 0, 0, 0}, {544, 4128, 0, 0, 0, 0, 0}, {51, 274, 0, 0, 0, 0, 0}, {546, 4096, 0, 0, 0, 0, 0}, {51, 272, 0, 0, 0, 0, 0}, {204, 552, 1096, 4192, 0, 0, 0}, {255, 554, 1370, 4208, 0, 0, 0}, {204, 554, 1088, 4160, 0, 0, 0}, {255, 552, 1360, 4176, 0, 0, 0}, {4256, 552, 16384, 0, 0, 0, 0}, {282, 51, 771, 1088, 4437, 0, 0}, {4224, 554, 20480, 0, 0, 0, 0}, {280, 51, 771, 1360, 4420, 0, 0}, {204, 544, 1088, 4140, 0, 0, 0}, {255, 546, 1370, 4111, 0, 0, 0}, {204, 546, 1096, 4108, 0, 0, 0}, {255, 544, 1360, 4143, 0, 0, 0}, {512, 4144, 0, 0, 0, 0, 0}, {51, 258, 0, 0, 0, 0, 0}, {514, 4112, 0, 0, 0, 0, 0}, {51, 256, 0, 0, 0, 0, 0}, {204, 520, 1032, 4208, 0, 0, 0}, {255, 522, 1290, 4192, 0, 0, 0}, {204, 522, 1024, 4176, 0, 0, 0}, {255, 520, 1280, 4160, 0, 0, 0}, {4272, 520, 16448, 0, 0, 0, 0}, {266, 51, 768, 1024, 4437, 0, 0}, {4240, 522, 20560, 0, 0, 0, 0}, {264, 51, 768, 1280, 4420, 0, 0}, {204, 512, 1024, 4156, 0, 0, 0}, {255, 514, 1290, 4127, 0, 0, 0}, {204, 514, 1032, 4124, 0, 0, 0}, {255, 512, 1280, 4159, 0, 0, 0}, {640, 2560, 4160, 0, 0, 0, 0}, {51, 783, 321, 1285, 4369, 0, 0}, {642, 2570, 4192, 0, 0, 0, 0}, {51, 783, 323, 1295, 4352, 0, 0}, {580, 1536, 4096, 0, 0, 0, 0}, {629, 1285, 4112, 0, 0, 0, 0}, {582, 1546, 4128, 0, 0, 0, 0}, {631, 1295, 4144, 0, 0, 0, 0}, {648, 2560, 4680, 0, 0, 0, 0}, {51, 783, 329, 1285, 4124, 0, 0}, {650, 2570, 4714, 0, 0, 0, 0}, {51, 783, 331, 1295, 4111, 0, 0}, {588, 1536, 4608, 0, 0, 0, 0}, {637, 1285, 4626, 0, 0, 0, 0}, {590, 1546, 4642, 0, 0, 0, 0}, {639, 1295, 4656, 0, 0, 0, 0}, {672, 2048, 4176, 0, 0, 0, 0}, {51, 780, 337, 1028, 4369, 0, 0}, {674, 2056, 4208, 0, 0, 0, 0}, {51, 780, 339, 1036, 4352, 0, 0}, {612, 1028, 4112, 0, 0, 0, 0}, {597, 1792, 4096, 0, 0, 0, 0}, {614, 1036, 4144, 0, 0, 0, 0}, {599, 1800, 4128, 0, 0, 0, 0}, {680, 2056, 4728, 0, 0, 0, 0}, {51, 780, 345, 1036, 4108, 0, 0}, {682, 2048, 4698, 0, 0, 0, 0}, {51, 780, 347, 1028, 4127, 0, 0}, {620, 1036, 4656, 0, 0, 0, 0}, {605, 1800, 4642, 0, 0, 0, 0}, {622, 1028, 4626, 0, 0, 0, 0}, {607, 1792, 4608, 0, 0, 0, 0}, {672, 2048, 4192, 0, 0, 0, 0}, {51, 783, 338, 1032, 4369, 0, 0}, {674, 2056, 4160, 0, 0, 0, 0}, {51, 783, 336, 1024, 4352, 0, 0}, {612, 1032, 4128, 0, 0, 0, 0}, {597, 1807, 4144, 0, 0, 0, 0}, {614, 1024, 4096, 0, 0, 0, 0}, {599, 1799, 4112, 0, 0, 0, 0}, {680, 2056, 4680, 0, 0, 0, 0}, {51, 783, 346, 1024, 4111, 0, 0}, {682, 2048, 4714, 0, 0, 0, 0}, {51, 783, 344, 1032, 4124, 0, 0}, {620, 1024, 4608, 0, 0, 0, 0}, {605, 1799, 4626, 0, 0, 0, 0}, {622, 1032, 4642, 0, 0, 0, 0}, {607, 1807, 4656, 0, 0, 0, 0}, {640, 2560, 4208, 0, 0, 0, 0}, {51, 780, 322, 1290, 4369, 0, 0}, {642, 2570, 4176, 0, 0, 0, 0}, {51, 780, 320, 1280, 4352, 0, 0}, {580, 1548, 4144, 0, 0, 0, 0}, {629, 1290, 4128, 0, 0, 0, 0}, {582, 1542, 4112, 0, 0, 0, 0}, {631, 1280, 4096, 0, 0, 0, 0}, {648, 2560, 4728, 0, 0, 0, 0}, {51, 780, 330, 1290, 4127, 0, 0}, {650, 2570, 4698, 0, 0, 0, 0}, {51, 780, 328, 1280, 4108, 0, 0}, {588, 1548, 4656, 0, 0, 0, 0}, {637, 1290, 4642, 0, 0, 0, 0}, {590, 1542, 4626, 0, 0, 0, 0}, {639, 1280, 4608, 0, 0, 0, 0}, {640, 2560, 4608, 0, 0, 0, 0}, {51, 771, 333, 1285, 4369, 0, 0}, {642, 2570, 4642, 0, 0, 0, 0}, {51, 771, 335, 1295, 4352, 0, 0}, {580, 1548, 4108, 0, 0, 0, 0}, {629, 1285, 4143, 0, 0, 0, 0}, {582, 1542, 4140, 0, 0, 0, 0}, {631, 1295, 4111, 0, 0, 0, 0}, {648, 2560, 4096, 0, 0, 0, 0}, {51, 771, 325, 1285, 4112, 0, 0}, {650, 2570, 4128, 0, 0, 0, 0}, {51, 771, 327, 1295, 4099, 0, 0}, {588, 1548, 4620, 0, 0, 0, 0}, {637, 1285, 4653, 0, 0, 0, 0}, {590, 1542, 4654, 0, 0, 0, 0}, {639, 1295, 4623, 0, 0, 0, 0}, {672, 2048, 4656, 0, 0, 0, 0}, {51, 768, 349, 1032, 4369, 0, 0}, {674, 2056, 4626, 0, 0, 0, 0}, {51, 768, 351, 1024, 4352, 0, 0}, {612, 1032, 4124, 0, 0, 0, 0}, {597, 1792, 4159, 0, 0, 0, 0}, {614, 1024, 4156, 0, 0, 0, 0}, {599, 1800, 4127, 0, 0, 0, 0}, {680, 2056, 4112, 0, 0, 0, 0}, {51, 768, 341, 1024, 4096, 0, 0}, {682, 2048, 4144, 0, 0, 0, 0}, {51, 768, 343, 1032, 4115, 0, 0}, {620, 1024, 4668, 0, 0, 0, 0}, {605, 1800, 4637, 0, 0, 0, 0}, {622, 1032, 4638, 0, 0, 0, 0}, {607, 1792, 4671, 0, 0, 0, 0}, {672, 2048, 4608, 0, 0, 0, 0}, {51, 771, 350, 1028, 4369, 0, 0}, {674, 2056, 4642, 0, 0, 0, 0}, {51, 771, 348, 1036, 4352, 0, 0}, {612, 1028, 4140, 0, 0, 0, 0}, {597, 1807, 4111, 0, 0, 0, 0}, {614, 1036, 4108, 0, 0, 0, 0}, {599, 1799, 4143, 0, 0, 0, 0}, {680, 2056, 4128, 0, 0, 0, 0}, {51, 771, 342, 1036, 4099, 0, 0}, {682, 2048, 4096, 0, 0, 0, 0}, {51, 771, 340, 1028, 4112, 0, 0}, {620, 1036, 4620, 0, 0, 0, 0}, {605, 1799, 4653, 0, 0, 0, 0}, {622, 1028, 4654, 0, 0, 0, 0}, {607, 1807, 4623, 0, 0, 0, 0}, {640, 2560, 4656, 0, 0, 0, 0}, {51, 768, 334, 1290, 4369, 0, 0}, {642, 2570, 4626, 0, 0, 0, 0}, {51, 768, 332, 1280, 4352, 0, 0}, {580, 1536, 4156, 0, 0, 0, 0}, {629, 1290, 4127, 0, 0, 0, 0}, {582, 1546, 4124, 0, 0, 0, 0}, {631, 1280, 4159, 0, 0, 0, 0}, {648, 2560, 4144, 0, 0, 0, 0}, {51, 768, 326, 1290, 4115, 0, 0}, {650, 2570, 4112, 0, 0, 0, 0}, {51, 768, 324, 1280, 4096, 0, 0}, {588, 1536, 4668, 0, 0, 0, 0}, {637, 1290, 4637, 0, 0, 0, 0}, {590, 1546, 4638, 0, 0, 0, 0}, {639, 1280, 4671, 0, 0, 0, 0}, {4288, 512, 20480, 0, 0, 0, 0}, {269, 51, 514, 1285, 4369, 0, 0}, {4320, 514, 16448, 0, 0, 0, 0}, {271, 51, 512, 1024, 4352, 0, 0}, {204, 520, 1032, 4172, 0, 0, 0}, {255, 522, 1285, 4207, 0, 0, 0}, {204, 522, 1024, 4204, 0, 0, 0}, {255, 520, 1295, 4175, 0, 0, 0}, {520, 4160, 0, 0, 0, 0, 0}, {51, 261, 0, 0, 0, 0, 0}, {522, 4192, 0, 0, 0, 0, 0}, {51, 263, 0, 0, 0, 0, 0}, {204, 512, 1024, 4096, 0, 0, 0}, {255, 514, 1285, 4112, 0, 0, 0}, {204, 514, 1032, 4128, 0, 0, 0}, {255, 512, 1295, 4144, 0, 0, 0}, {4304, 544, 20560, 0, 0, 0, 0}, {285, 51, 529, 1365, 4369, 0, 0}, {4336, 546, 16384, 0, 0, 0, 0}, {287, 51, 531, 1088, 4352, 0, 0}, {204, 552, 1096, 4188, 0, 0, 0}, {255, 554, 1365, 4223, 0, 0, 0}, {204, 554, 1088, 4220, 0, 0, 0}, {255, 552, 1375, 4191, 0, 0, 0}, {552, 4176, 0, 0, 0, 0, 0}, {51, 277, 0, 0, 0, 0, 0}, {554, 4208, 0, 0, 0, 0, 0}, {51, 279, 0, 0, 0, 0, 0}, {204, 544, 1088, 4112, 0, 0, 0}, {255, 546, 1365, 4096, 0, 0, 0}, {204, 546, 1096, 4144, 0, 0, 0}, {255, 544, 1375, 4128, 0, 0, 0}, {4320, 544, 16448, 0, 0, 0, 0}, {286, 51, 529, 1092, 4369, 0, 0}, {4288, 546, 20480, 0, 0, 0, 0}, {284, 51, 531, 1360, 4352, 0, 0}, {204, 552, 1092, 4204, 0, 0, 0}, {255, 554, 1370, 4175, 0, 0, 0}, {204, 554, 1100, 4172, 0, 0, 0}, {255, 552, 1360, 4207, 0, 0, 0}, {552, 4192, 0, 0, 0, 0, 0}, {51, 278, 0, 0, 0, 0, 0}, {554, 4160, 0, 0, 0, 0, 0}, {51, 276, 0, 0, 0, 0, 0}, {204, 544, 1100, 4128, 0, 0, 0}, {255, 546, 1370, 4144, 0, 0, 0}, {204, 546, 1092, 4096, 0, 0, 0}, {255, 544, 1360, 4112, 0, 0, 0}, {4336, 512, 16384, 0, 0, 0, 0}, {270, 51, 514, 1028, 4369, 0, 0}, {4304, 514, 20560, 0, 0, 0, 0}, {268, 51, 512, 1280, 4352, 0, 0}, {204, 520, 1028, 4220, 0, 0, 0}, {255, 522, 1290, 4191, 0, 0, 0}, {204, 522, 1036, 4188, 0, 0, 0}, {255, 520, 1280, 4223, 0, 0, 0}, {520, 4208, 0, 0, 0, 0, 0}, {51, 262, 0, 0, 0, 0, 0}, {522, 4176, 0, 0, 0, 0, 0}, {51, 260, 0, 0, 0, 0, 0}, {204, 512, 1036, 4144, 0, 0, 0}, {255, 514, 1290, 4128, 0, 0, 0}, {204, 514, 1028, 4112, 0, 0, 0}, {255, 512, 1280, 4096, 0, 0, 0}, {13056, 0, 0, 0, 0, 0, 0}, {2, 16, 257, 0, 0, 0, 0}, {2, 4352, 0, 0, 0, 0, 0}, {48, 771, 0, 0, 0, 0, 0}, {8, 13060, 64, 1028, 0, 0, 0}, {10, 13061, 80, 1285, 0, 0, 0}, {10, 13062, 96, 1542, 0, 0, 0}, {8, 13063, 112, 1799, 0, 0, 0}, {8, 13056, 17408, 0, 0, 0, 0}, {10, 48, 771, 80, 1285, 0, 0}, {10, 13056, 21760, 0, 0, 0, 0}, {8, 48, 771, 64, 1028, 0, 0}, {192, 3084, 13068, 0, 0, 0, 0}, {2, 80, 1285, 4357, 0, 0, 0}, {2, 64, 1028, 4356, 0, 0, 0}, {240, 3855, 13071, 0, 0, 0, 0}, {768, 16, 0, 0, 0, 0, 0}, {34, 4369, 0, 0, 0, 0, 0}, {768, 18, 0, 0, 0, 0, 0}, {32, 4883, 0, 0, 0, 0, 0}, {3840, 40, 80, 5140, 0, 0, 0}, {3072, 42, 64, 5397, 0, 0, 0}, {3840, 42, 90, 5654, 0, 0, 0}, {3072, 40, 72, 5911, 0, 0, 0}, {24, 48, 768, 80, 5120, 0, 0}, {6425, 42, 21845, 0, 0, 0, 0}, {26, 48, 768, 64, 5376, 0, 0}, {6939, 40, 17476, 0, 0, 0, 0}, {3840, 32, 80, 4892, 0, 0, 0}, {3072, 34, 72, 4381, 0, 0, 0}, {3840, 34, 90, 4382, 0, 0, 0}, {3072, 32, 64, 4895, 0, 0, 0}, {32, 4864, 0, 0, 0, 0, 0}, {771, 18, 0, 0, 0, 0, 0}, {34, 4352, 0, 0, 0, 0, 0}, {771, 16, 0, 0, 0, 0, 0}, {3084, 40, 72, 5888, 0, 0, 0}, {3855, 42, 90, 5632, 0, 0, 0}, {3084, 42, 64, 5376, 0, 0, 0}, {3855, 40, 80, 5120, 0, 0, 0}, {6912, 40, 17408, 0, 0, 0, 0}, {26, 48, 771, 64, 5397, 0, 0}, {6400, 42, 21760, 0, 0, 0, 0}, {24, 48, 771, 80, 5140, 0, 0}, {3084, 32, 64, 4876, 0, 0, 0}, {3855, 34, 90, 4367, 0, 0, 0}, {3084, 34, 72, 4364, 0, 0, 0}, {3855, 32, 80, 4879, 0, 0, 0}, {48, 768, 0, 0, 0, 0, 0}, {2, 4369, 0, 0, 0, 0, 0}, {2, 16, 256, 0, 0, 0, 0}, {13107, 0, 0, 0, 0, 0, 0}, {8, 13108, 112, 1792, 0, 0, 0}, {10, 13109, 96, 1536, 0, 0, 0}, {10, 13110, 80, 1280, 0, 0, 0}, {8, 13111, 64, 1024, 0, 0, 0}, {8, 48, 768, 64, 1024, 0, 0}, {10, 13107, 21845, 0, 0, 0, 0}, {10, 48, 768, 80, 1280, 0, 0}, {8, 13107, 17476, 0, 0, 0, 0}, {240, 3840, 13116, 0, 0, 0, 0}, {2, 64, 1024, 4373, 0, 0, 0}, {2, 80, 1280, 4372, 0, 0, 0}, {192, 3072, 13119, 0, 0, 0, 0}, {3072, 13056, 64, 0, 0, 0, 0}, {10, 34, 80, 1285, 4369, 0, 0}, {10, 34, 66, 1536, 4352, 0, 0}, {3855, 13107, 112, 0, 0, 0, 0}, {136, 13124, 17476, 0, 0, 0, 0}, {10, 773, 1285, 16, 0, 0, 0}, {10, 32, 4934, 0, 0, 0, 0}, {48, 783, 72, 0, 0, 0, 0}, {3072, 13056, 72, 0, 0, 0, 0}, {10, 32, 80, 1285, 4883, 0, 0}, {10, 32, 64, 1536, 4864, 0, 0}, {3855, 13107, 120, 0, 0, 0, 0}, {128, 13132, 19532, 0, 0, 0, 0}, {10, 773, 1285, 18, 0, 0, 0}, {10, 34, 4420, 0, 0, 0, 0}, {48, 783, 64, 0, 0, 0, 0}, {3840, 13056, 80, 0, 0, 0, 0}, {8, 34, 64, 1028, 4369, 0, 0}, {8, 34, 82, 1792, 4352, 0, 0}, {3084, 13107, 96, 0, 0, 0, 0}, {8, 772, 1028, 16, 0, 0, 0}, {170, 13141, 21845, 0, 0, 0, 0}, {48, 780, 90, 0, 0, 0, 0}, {8, 32, 4951, 0, 0, 0, 0}, {8, 32, 80, 1792, 4864, 0, 0}, {3084, 13107, 106, 0, 0, 0, 0}, {3840, 13056, 90, 0, 0, 0, 0}, {8, 32, 64, 1028, 4883, 0, 0}, {48, 780, 80, 0, 0, 0, 0}, {8, 34, 4437, 0, 0, 0, 0}, {8, 772, 1028, 18, 0, 0, 0}, {160, 13151, 24415, 0, 0, 0, 0}, {3072, 13056, 96, 0, 0, 0, 0}, {8, 34, 82, 1799, 4369, 0, 0}, {8, 34, 64, 1024, 4352, 0, 0}, {3855, 13107, 80, 0, 0, 0, 0}, {8, 32, 4932, 0, 0, 0, 0}, {48, 783, 90, 0, 0, 0, 0}, {170, 13158, 21760, 0, 0, 0, 0}, {8, 775, 1024, 16, 0, 0, 0}, {8, 32, 64, 1024, 4864, 0, 0}, {3855, 13107, 90, 0, 0, 0, 0}, {3072, 13056, 106, 0, 0, 0, 0}, {8, 32, 80, 1799, 4883, 0, 0}, {160, 13164, 24320, 0, 0, 0, 0}, {8, 775, 1024, 18, 0, 0, 0}, {8, 34, 4420, 0, 0, 0, 0}, {48, 783, 80, 0, 0, 0, 0}, {3840, 13056, 112, 0, 0, 0, 0}, {10, 34, 66, 1542, 4369, 0, 0}, {10, 34, 80, 1280, 4352, 0, 0}, {3084, 13107, 64, 0, 0, 0, 0}, {48, 780, 72, 0, 0, 0, 0}, {10, 32, 4949, 0, 0, 0, 0}, {10, 774, 1280, 16, 0, 0, 0}, {136, 13175, 17408, 0, 0, 0, 0}, {3840, 13056, 120, 0, 0, 0, 0}, {10, 32, 64, 1542, 4883, 0, 0}, {10, 32, 80, 1280, 4864, 0, 0}, {3084, 13107, 72, 0, 0, 0, 0}, {48, 780, 64, 0, 0, 0, 0}, {10, 34, 4437, 0, 0, 0, 0}, {10, 774, 1280, 18, 0, 0, 0}, {128, 13183, 19456, 0, 0, 0, 0}, {128, 13056, 19456, 0, 0, 0, 0}, {10, 771, 1285, 18, 0, 0, 0}, {10, 34, 4352, 0, 0, 0, 0}, {48, 771, 64, 0, 0, 0, 0}, {3084, 13068, 72, 0, 0, 0, 0}, {10, 32, 80, 1285, 4869, 0, 0}, {10, 32, 64, 1542, 4870, 0, 0}, {3855, 13071, 120, 0, 0, 0, 0}, {136, 13056, 17408, 0, 0, 0, 0}, {10, 771, 1285, 16, 0, 0, 0}, {10, 32, 4864, 0, 0, 0, 0}, {48, 771, 72, 0, 0, 0, 0}, {3084, 13068, 64, 0, 0, 0, 0}, {10, 34, 80, 1285, 4357, 0, 0}, {10, 34, 66, 1542, 4358, 0, 0}, {3855, 13071, 112, 0, 0, 0, 0}, {48, 768, 80, 0, 0, 0, 0}, {8, 34, 4369, 0, 0, 0, 0}, {8, 768, 1024, 18, 0, 0, 0}, {160, 13107, 24415, 0, 0, 0, 0}, {8, 32, 80, 1792, 4884, 0, 0}, {3072, 13119, 106, 0, 0, 0, 0}, {3840, 13116, 90, 0, 0, 0, 0}, {8, 32, 64, 1024, 4887, 0, 0}, {8, 768, 1024, 16, 0, 0, 0}, {170, 13107, 21845, 0, 0, 0, 0}, {48, 768, 90, 0, 0, 0, 0}, {8, 32, 4883, 0, 0, 0, 0}, {3840, 13116, 80, 0, 0, 0, 0}, {8, 34, 64, 1024, 4373, 0, 0}, {8, 34, 82, 1792, 4374, 0, 0}, {3072, 13119, 96, 0, 0, 0, 0}, {160, 13056, 24320, 0, 0, 0, 0}, {8, 771, 1028, 18, 0, 0, 0}, {8, 34, 4352, 0, 0, 0, 0}, {48, 771, 80, 0, 0, 0, 0}, {8, 32, 64, 1028, 4868, 0, 0}, {3855, 13071, 90, 0, 0, 0, 0}, {3084, 13068, 106, 0, 0, 0, 0}, {8, 32, 80, 1799, 4871, 0, 0}, {8, 32, 4864, 0, 0, 0, 0}, {48, 771, 90, 0, 0, 0, 0}, {170, 13056, 21760, 0, 0, 0, 0}, {8, 771, 1028, 16, 0, 0, 0}, {3084, 13068, 96, 0, 0, 0, 0}, {8, 34, 82, 1799, 4359, 0, 0}, {8, 34, 64, 1028, 4356, 0, 0}, {3855, 13071, 80, 0, 0, 0, 0}, {48, 768, 64, 0, 0, 0, 0}, {10, 34, 4369, 0, 0, 0, 0}, {10, 768, 1280, 18, 0, 0, 0}, {128, 13107, 19532, 0, 0, 0, 0}, {3840, 13116, 120, 0, 0, 0, 0}, {10, 32, 64, 1536, 4885, 0, 0}, {10, 32, 80, 1280, 4886, 0, 0}, {3072, 13119, 72, 0, 0, 0, 0}, {48, 768, 72, 0, 0, 0, 0}, {10, 32, 4883, 0, 0, 0, 0}, {10, 768, 1280, 16, 0, 0, 0}, {136, 13107, 17476, 0, 0, 0, 0}, {3840, 13116, 112, 0, 0, 0, 0}, {10, 34, 66, 1536, 4375, 0, 0}, {10, 34, 80, 1280, 4372, 0, 0}, {3072, 13119, 64, 0, 0, 0, 0}, {192, 3072, 13056, 0, 0, 0, 0}, {2, 80, 1285, 4369, 0, 0, 0}, {2, 64, 1024, 4352, 0, 0, 0}, {240, 3855, 13107, 0, 0, 0, 0}, {8, 13124, 17476, 0, 0, 0, 0}, {10, 48, 773, 80, 1285, 0, 0}, {10, 13158, 21760, 0, 0, 0, 0}, {8, 48, 775, 64, 1024, 0, 0}, {8, 13056, 64, 1024, 0, 0, 0}, {10, 13107, 80, 1285, 0, 0, 0}, {10, 13056, 96, 1536, 0, 0, 0}, {8, 13107, 112, 1799, 0, 0, 0}, {13260, 0, 0, 0, 0, 0, 0}, {2, 16, 261, 0, 0, 0, 0}, {2, 4420, 0, 0, 0, 0, 0}, {48, 783, 0, 0, 0, 0, 0}, {3840, 32, 80, 4864, 0, 0, 0}, {3084, 34, 72, 4369, 0, 0, 0}, {3840, 34, 90, 4352, 0, 0, 0}, {3084, 32, 64, 4883, 0, 0, 0}, {24, 48, 788, 80, 5140, 0, 0}, {6485, 42, 21845, 0, 0, 0, 0}, {26, 48, 790, 64, 5376, 0, 0}, {7007, 40, 17408, 0, 0, 0, 0}, {3840, 40, 80, 5120, 0, 0, 0}, {3084, 42, 64, 5397, 0, 0, 0}, {3840, 42, 90, 5632, 0, 0, 0}, {3084, 40, 72, 5911, 0, 0, 0}, {780, 16, 0, 0, 0, 0, 0}, {34, 4437, 0, 0, 0, 0, 0}, {780, 18, 0, 0, 0, 0, 0}, {32, 4959, 0, 0, 0, 0, 0}, {3072, 32, 64, 4864, 0, 0, 0}, {3855, 34, 90, 4369, 0, 0, 0}, {3072, 34, 72, 4352, 0, 0, 0}, {3855, 32, 80, 4883, 0, 0, 0}, {6980, 40, 17476, 0, 0, 0, 0}, {26, 48, 789, 64, 5397, 0, 0}, {6476, 42, 21760, 0, 0, 0, 0}, {24, 48, 791, 80, 5120, 0, 0}, {3072, 40, 72, 5888, 0, 0, 0}, {3855, 42, 90, 5654, 0, 0, 0}, {3072, 42, 64, 5376, 0, 0, 0}, {3855, 40, 80, 5140, 0, 0, 0}, {32, 4940, 0, 0, 0, 0, 0}, {783, 18, 0, 0, 0, 0, 0}, {34, 4420, 0, 0, 0, 0, 0}, {783, 16, 0, 0, 0, 0, 0}, {240, 3840, 13056, 0, 0, 0, 0}, {2, 64, 1028, 4369, 0, 0, 0}, {2, 80, 1280, 4352, 0, 0, 0}, {192, 3084, 13107, 0, 0, 0, 0}, {8, 48, 772, 64, 1028, 0, 0}, {10, 13141, 21845, 0, 0, 0, 0}, {10, 48, 774, 80, 1280, 0, 0}, {8, 13175, 17408, 0, 0, 0, 0}, {8, 13056, 112, 1792, 0, 0, 0}, {10, 13107, 96, 1542, 0, 0, 0}, {10, 13056, 80, 1280, 0, 0, 0}, {8, 13107, 64, 1028, 0, 0, 0}, {48, 780, 0, 0, 0, 0, 0}, {2, 4437, 0, 0, 0, 0, 0}, {2, 16, 260, 0, 0, 0, 0}, {13311, 0, 0, 0, 0, 0, 0}, {2048, 13312, 17408, 0, 0, 0, 0}, {10, 53, 85, 257, 0, 0, 0}, {10, 514, 5154, 0, 0, 0, 0}, {63, 771, 1036, 0, 0, 0, 0}, {192, 12288, 1028, 0, 0, 0, 0}, {10, 512, 85, 1285, 4352, 0, 0}, {10, 512, 96, 1030, 4096, 0, 0}, {255, 13056, 1799, 0, 0, 0, 0}, {2056, 13320, 17544, 0, 0, 0, 0}, {10, 53, 85, 259, 0, 0, 0}, {10, 512, 5120, 0, 0, 0, 0}, {63, 771, 1028, 0, 0, 0, 0}, {192, 12288, 1036, 0, 0, 0, 0}, {10, 514, 85, 1285, 4386, 0, 0}, {10, 514, 96, 1028, 4128, 0, 0}, {255, 13056, 1807, 0, 0, 0, 0}, {96, 1056, 4112, 0, 0, 0, 0}, {85, 1826, 4369, 0, 0, 0, 0}, {106, 1058, 4626, 0, 0, 0, 0}, {95, 1824, 4883, 0, 0, 0, 0}, {160, 2088, 5140, 0, 0, 0, 0}, {63, 768, 85, 1045, 4352, 0, 0}, {170, 2090, 5654, 0, 0, 0, 0}, {63, 768, 95, 1047, 4096, 0, 0}, {96, 1064, 4144, 0, 0, 0, 0}, {85, 1834, 4403, 0, 0, 0, 0}, {106, 1066, 4656, 0, 0, 0, 0}, {95, 1832, 4915, 0, 0, 0, 0}, {160, 2080, 5180, 0, 0, 0, 0}, {63, 768, 85, 1053, 4381, 0, 0}, {170, 2082, 5692, 0, 0, 0, 0}, {63, 768, 95, 1055, 4127, 0, 0}, {160, 2080, 5120, 0, 0, 0, 0}, {63, 771, 85, 1041, 4369, 0, 0}, {170, 2082, 5632, 0, 0, 0, 0}, {63, 771, 95, 1043, 4112, 0, 0}, {96, 1060, 4096, 0, 0, 0, 0}, {85, 1829, 4352, 0, 0, 0, 0}, {106, 1062, 4608, 0, 0, 0, 0}, {95, 1831, 4864, 0, 0, 0, 0}, {160, 2088, 5160, 0, 0, 0, 0}, {63, 771, 85, 1049, 4364, 0, 0}, {170, 2090, 5674, 0, 0, 0, 0}, {63, 771, 95, 1051, 4111, 0, 0}, {96, 1068, 4128, 0, 0, 0, 0}, {85, 1837, 4386, 0, 0, 0, 0}, {106, 1070, 4642, 0, 0, 0, 0}, {95, 1839, 4896, 0, 0, 0, 0}, {192, 12336, 1024, 0, 0, 0, 0}, {10, 514, 85, 1280, 4369, 0, 0}, {10, 514, 96, 1026, 4112, 0, 0}, {255, 13107, 1792, 0, 0, 0, 0}, {2056, 13364, 17476, 0, 0, 0, 0}, {10, 53, 85, 256, 0, 0, 0}, {10, 512, 5174, 0, 0, 0, 0}, {63, 768, 1032, 0, 0, 0, 0}, {192, 12336, 1032, 0, 0, 0, 0}, {10, 512, 85, 1280, 4403, 0, 0}, {10, 512, 96, 1024, 4144, 0, 0}, {255, 13107, 1800, 0, 0, 0, 0}, {2048, 13372, 17612, 0, 0, 0, 0}, {10, 53, 85, 258, 0, 0, 0}, {10, 514, 5140, 0, 0, 0, 0}, {63, 768, 1024, 0, 0, 0, 0}, {192, 12288, 1088, 0, 0, 0, 0}, {10, 546, 85, 1285, 4369, 0, 0}, {10, 546, 96, 1058, 4096, 0, 0}, {255, 13107, 1904, 0, 0, 0, 0}, {2184, 13380, 17476, 0, 0, 0, 0}, {10, 53, 85, 272, 0, 0, 0}, {10, 544, 5222, 0, 0, 0, 0}, {63, 783, 1096, 0, 0, 0, 0}, {192, 12288, 1096, 0, 0, 0, 0}, {10, 544, 85, 1285, 4403, 0, 0}, {10, 544, 96, 1056, 4128, 0, 0}, {255, 13107, 1912, 0, 0, 0, 0}, {2176, 13388, 17612, 0, 0, 0, 0}, {10, 53, 85, 274, 0, 0, 0}, {10, 546, 5188, 0, 0, 0, 0}, {63, 783, 1088, 0, 0, 0, 0}, {160, 2048, 5200, 0, 0, 0, 0}, {63, 780, 85, 1028, 4369, 0, 0}, {170, 2056, 5744, 0, 0, 0, 0}, {63, 780, 95, 1036, 4096, 0, 0}, {96, 1028, 4112, 0, 0, 0, 0}, {85, 1792, 4352, 0, 0, 0, 0}, {106, 1036, 4656, 0, 0, 0, 0}, {95, 1800, 4896, 0, 0, 0, 0}, {160, 2056, 5240, 0, 0, 0, 0}, {63, 780, 85, 1036, 4364, 0, 0}, {170, 2048, 5722, 0, 0, 0, 0}, {63, 780, 95, 1028, 4127, 0, 0}, {96, 1036, 4144, 0, 0, 0, 0}, {85, 1800, 4386, 0, 0, 0, 0}, {106, 1028, 4626, 0, 0, 0, 0}, {95, 1792, 4864, 0, 0, 0, 0}, {96, 1024, 4096, 0, 0, 0, 0}, {85, 1799, 4369, 0, 0, 0, 0}, {106, 1032, 4642, 0, 0, 0, 0}, {95, 1807, 4915, 0, 0, 0, 0}, {160, 2056, 5188, 0, 0, 0, 0}, {63, 783, 85, 1024, 4352, 0, 0}, {170, 2048, 5734, 0, 0, 0, 0}, {63, 783, 95, 1032, 4112, 0, 0}, {96, 1032, 4128, 0, 0, 0, 0}, {85, 1807, 4403, 0, 0, 0, 0}, {106, 1024, 4608, 0, 0, 0, 0}, {95, 1799, 4883, 0, 0, 0, 0}, {160, 2048, 5228, 0, 0, 0, 0}, {63, 783, 85, 1032, 4381, 0, 0}, {170, 2056, 5708, 0, 0, 0, 0}, {63, 783, 95, 1024, 4111, 0, 0}, {2176, 13424, 17408, 0, 0, 0, 0}, {10, 53, 85, 273, 0, 0, 0}, {10, 546, 5234, 0, 0, 0, 0}, {63, 780, 1100, 0, 0, 0, 0}, {192, 12336, 1092, 0, 0, 0, 0}, {10, 544, 85, 1280, 4352, 0, 0}, {10, 544, 96, 1062, 4112, 0, 0}, {255, 13056, 1911, 0, 0, 0, 0}, {2184, 13432, 17544, 0, 0, 0, 0}, {10, 53, 85, 275, 0, 0, 0}, {10, 544, 5200, 0, 0, 0, 0}, {63, 780, 1092, 0, 0, 0, 0}, {192, 12336, 1100, 0, 0, 0, 0}, {10, 546, 85, 1280, 4386, 0, 0}, {10, 546, 96, 1060, 4144, 0, 0}, {255, 13056, 1919, 0, 0, 0, 0}, {2176, 13440, 17408, 0, 0, 0, 0}, {10, 53, 85, 276, 0, 0, 0}, {10, 546, 5154, 0, 0, 0, 0}, {63, 771, 1100, 0, 0, 0, 0}, {192, 12288, 1092, 0, 0, 0, 0}, {10, 544, 85, 1285, 4352, 0, 0}, {10, 544, 96, 1062, 4128, 0, 0}, {255, 13056, 1912, 0, 0, 0, 0}, {2184, 13448, 17544, 0, 0, 0, 0}, {10, 53, 85, 278, 0, 0, 0}, {10, 544, 5120, 0, 0, 0, 0}, {63, 771, 1092, 0, 0, 0, 0}, {192, 12288, 1100, 0, 0, 0, 0}, {10, 546, 85, 1285, 4386, 0, 0}, {10, 546, 96, 1060, 4096, 0, 0}, {255, 13056, 1904, 0, 0, 0, 0}, {96, 1024, 4144, 0, 0, 0, 0}, {85, 1800, 4369, 0, 0, 0, 0}, {106, 1032, 4626, 0, 0, 0, 0}, {95, 1792, 4915, 0, 0, 0, 0}, {160, 2056, 5140, 0, 0, 0, 0}, {63, 768, 85, 1024, 4352, 0, 0}, {170, 2048, 5692, 0, 0, 0, 0}, {63, 768, 95, 1032, 4127, 0, 0}, {96, 1032, 4112, 0, 0, 0, 0}, {85, 1792, 4403, 0, 0, 0, 0}, {106, 1024, 4656, 0, 0, 0, 0}, {95, 1800, 4883, 0, 0, 0, 0}, {160, 2048, 5180, 0, 0, 0, 0}, {63, 768, 85, 1032, 4381, 0, 0}, {170, 2056, 5654, 0, 0, 0, 0}, {63, 768, 95, 1024, 4096, 0, 0}, {160, 2048, 5120, 0, 0, 0, 0}, {63, 771, 85, 1028, 4369, 0, 0}, {170, 2056, 5674, 0, 0, 0, 0}, {63, 771, 95, 1036, 4111, 0, 0}, {96, 1028, 4128, 0, 0, 0, 0}, {85, 1807, 4352, 0, 0, 0, 0}, {106, 1036, 4608, 0, 0, 0, 0}, {95, 1799, 4896, 0, 0, 0, 0}, {160, 2056, 5160, 0, 0, 0, 0}, {63, 771, 85, 1036, 4364, 0, 0}, {170, 2048, 5632, 0, 0, 0, 0}, {63, 771, 95, 1028, 4112, 0, 0}, {96, 1036, 4096, 0, 0, 0, 0}, {85, 1799, 4386, 0, 0, 0, 0}, {106, 1028, 4642, 0, 0, 0, 0}, {95, 1807, 4864, 0, 0, 0, 0}, {192, 12336, 1088, 0, 0, 0, 0}, {10, 546, 85, 1280, 4369, 0, 0}, {10, 546, 96, 1058, 4144, 0, 0}, {255, 13107, 1919, 0, 0, 0, 0}, {2184, 13492, 17476, 0, 0, 0, 0}, {10, 53, 85, 277, 0, 0, 0}, {10, 544, 5174, 0, 0, 0, 0}, {63, 768, 1096, 0, 0, 0, 0}, {192, 12336, 1096, 0, 0, 0, 0}, {10, 544, 85, 1280, 4403, 0, 0}, {10, 544, 96, 1056, 4112, 0, 0}, {255, 13107, 1911, 0, 0, 0, 0}, {2176, 13500, 17612, 0, 0, 0, 0}, {10, 53, 85, 279, 0, 0, 0}, {10, 546, 5140, 0, 0, 0, 0}, {63, 768, 1088, 0, 0, 0, 0}, {192, 12288, 1024, 0, 0, 0, 0}, {10, 514, 85, 1285, 4369, 0, 0}, {10, 514, 96, 1026, 4128, 0, 0}, {255, 13107, 1807, 0, 0, 0, 0}, {2056, 13508, 17476, 0, 0, 0, 0}, {10, 53, 85, 261, 0, 0, 0}, {10, 512, 5222, 0, 0, 0, 0}, {63, 783, 1032, 0, 0, 0, 0}, {192, 12288, 1032, 0, 0, 0, 0}, {10, 512, 85, 1285, 4403, 0, 0}, {10, 512, 96, 1024, 4096, 0, 0}, {255, 13107, 1799, 0, 0, 0, 0}, {2048, 13516, 17612, 0, 0, 0, 0}, {10, 53, 85, 263, 0, 0, 0}, {10, 514, 5188, 0, 0, 0, 0}, {63, 783, 1024, 0, 0, 0, 0}, {160, 2080, 5200, 0, 0, 0, 0}, {63, 780, 85, 1041, 4369, 0, 0}, {170, 2082, 5722, 0, 0, 0, 0}, {63, 780, 95, 1043, 4127, 0, 0}, {96, 1060, 4144, 0, 0, 0, 0}, {85, 1834, 4352, 0, 0, 0, 0}, {106, 1062, 4656, 0, 0, 0, 0}, {95, 1832, 4864, 0, 0, 0, 0}, {160, 2088, 5240, 0, 0, 0, 0}, {63, 780, 85, 1049, 4364, 0, 0}, {170, 2090, 5744, 0, 0, 0, 0}, {63, 780, 95, 1051, 4096, 0, 0}, {96, 1068, 4112, 0, 0, 0, 0}, {85, 1826, 4386, 0, 0, 0, 0}, {106, 1070, 4626, 0, 0, 0, 0}, {95, 1824, 4896, 0, 0, 0, 0}, {96, 1056, 4128, 0, 0, 0, 0}, {85, 1837, 4369, 0, 0, 0, 0}, {106, 1058, 4642, 0, 0, 0, 0}, {95, 1839, 4883, 0, 0, 0, 0}, {160, 2088, 5188, 0, 0, 0, 0}, {63, 783, 85, 1045, 4352, 0, 0}, {170, 2090, 5708, 0, 0, 0, 0}, {63, 783, 95, 1047, 4111, 0, 0}, {96, 1064, 4096, 0, 0, 0, 0}, {85, 1829, 4403, 0, 0, 0, 0}, {106, 1066, 4608, 0, 0, 0, 0}, {95, 1831, 4915, 0, 0, 0, 0}, {160, 2080, 5228, 0, 0, 0, 0}, {63, 783, 85, 1053, 4381, 0, 0}, {170, 2082, 5734, 0, 0, 0, 0}, {63, 783, 95, 1055, 4112, 0, 0}, {2048, 13552, 17408, 0, 0, 0, 0}, {10, 53, 85, 260, 0, 0, 0}, {10, 514, 5234, 0, 0, 0, 0}, {63, 780, 1036, 0, 0, 0, 0}, {192, 12336, 1028, 0, 0, 0, 0}, {10, 512, 85, 1280, 4352, 0, 0}, {10, 512, 96, 1030, 4144, 0, 0}, {255, 13056, 1800, 0, 0, 0, 0}, {2056, 13560, 17544, 0, 0, 0, 0}, {10, 53, 85, 262, 0, 0, 0}, {10, 512, 5200, 0, 0, 0, 0}, {63, 780, 1028, 0, 0, 0, 0}, {192, 12336, 1036, 0, 0, 0, 0}, {10, 514, 85, 1280, 4386, 0, 0}, {10, 514, 96, 1028, 4112, 0, 0}, {255, 13056, 1792, 0, 0, 0, 0}, {2560, 13568, 21760, 0, 0, 0, 0}, {8, 52, 68, 257, 0, 0, 0}, {8, 514, 5410, 0, 0, 0, 0}, {60, 771, 1295, 0, 0, 0, 0}, {8, 512, 68, 1028, 4352, 0, 0}, {240, 12288, 1285, 0, 0, 0, 0}, {204, 13056, 1542, 0, 0, 0, 0}, {8, 512, 112, 1287, 4096, 0, 0}, {8, 512, 5376, 0, 0, 0, 0}, {60, 771, 1285, 0, 0, 0, 0}, {2570, 13578, 21930, 0, 0, 0, 0}, {8, 52, 68, 259, 0, 0, 0}, {204, 13056, 1548, 0, 0, 0, 0}, {8, 514, 112, 1285, 4128, 0, 0}, {8, 514, 68, 1028, 4386, 0, 0}, {240, 12288, 1295, 0, 0, 0, 0}, {112, 1312, 4112, 0, 0, 0, 0}, {68, 1570, 4369, 0, 0, 0, 0}, {120, 1314, 4626, 0, 0, 0, 0}, {76, 1568, 4883, 0, 0, 0, 0}, {60, 768, 68, 1300, 4352, 0, 0}, {128, 2602, 5397, 0, 0, 0, 0}, {60, 768, 76, 1302, 4096, 0, 0}, {136, 2600, 5911, 0, 0, 0, 0}, {120, 1320, 4656, 0, 0, 0, 0}, {76, 1578, 4915, 0, 0, 0, 0}, {112, 1322, 4144, 0, 0, 0, 0}, {68, 1576, 4403, 0, 0, 0, 0}, {60, 768, 76, 1308, 4124, 0, 0}, {136, 2594, 5951, 0, 0, 0, 0}, {60, 768, 68, 1310, 4382, 0, 0}, {128, 2592, 5439, 0, 0, 0, 0}, {128, 2592, 5376, 0, 0, 0, 0}, {60, 771, 68, 1297, 4369, 0, 0}, {136, 2594, 5888, 0, 0, 0, 0}, {60, 771, 76, 1299, 4112, 0, 0}, {68, 1572, 4352, 0, 0, 0, 0}, {112, 1317, 4096, 0, 0, 0, 0}, {76, 1574, 4864, 0, 0, 0, 0}, {120, 1319, 4608, 0, 0, 0, 0}, {136, 2600, 5928, 0, 0, 0, 0}, {60, 771, 76, 1305, 4108, 0, 0}, {128, 2602, 5418, 0, 0, 0, 0}, {60, 771, 68, 1307, 4367, 0, 0}, {76, 1580, 4896, 0, 0, 0, 0}, {120, 1325, 4642, 0, 0, 0, 0}, {68, 1582, 4386, 0, 0, 0, 0}, {112, 1327, 4128, 0, 0, 0, 0}, {240, 12336, 1280, 0, 0, 0, 0}, {8, 514, 68, 1024, 4369, 0, 0}, {8, 514, 112, 1282, 4112, 0, 0}, {204, 13107, 1536, 0, 0, 0, 0}, {8, 52, 68, 256, 0, 0, 0}, {2570, 13621, 21845, 0, 0, 0, 0}, {60, 768, 1290, 0, 0, 0, 0}, {8, 512, 5431, 0, 0, 0, 0}, {8, 512, 112, 1280, 4144, 0, 0}, {204, 13107, 1546, 0, 0, 0, 0}, {240, 12336, 1290, 0, 0, 0, 0}, {8, 512, 68, 1024, 4403, 0, 0}, {60, 768, 1280, 0, 0, 0, 0}, {8, 514, 5397, 0, 0, 0, 0}, {8, 52, 68, 258, 0, 0, 0}, {2560, 13631, 22015, 0, 0, 0, 0}, {128, 2560, 5440, 0, 0, 0, 0}, {60, 783, 68, 1285, 4369, 0, 0}, {136, 2570, 5984, 0, 0, 0, 0}, {60, 783, 76, 1295, 4096, 0, 0}, {68, 1536, 4352, 0, 0, 0, 0}, {112, 1285, 4112, 0, 0, 0, 0}, {76, 1546, 4896, 0, 0, 0, 0}, {120, 1295, 4656, 0, 0, 0, 0}, {136, 2560, 5960, 0, 0, 0, 0}, {60, 783, 76, 1285, 4124, 0, 0}, {128, 2570, 5482, 0, 0, 0, 0}, {60, 783, 68, 1295, 4367, 0, 0}, {76, 1536, 4864, 0, 0, 0, 0}, {120, 1285, 4626, 0, 0, 0, 0}, {68, 1546, 4386, 0, 0, 0, 0}, {112, 1295, 4144, 0, 0, 0, 0}, {240, 12288, 1360, 0, 0, 0, 0}, {8, 546, 68, 1028, 4369, 0, 0}, {8, 546, 112, 1314, 4096, 0, 0}, {204, 13107, 1632, 0, 0, 0, 0}, {8, 52, 68, 272, 0, 0, 0}, {2730, 13653, 21845, 0, 0, 0, 0}, {60, 780, 1370, 0, 0, 0, 0}, {8, 544, 5495, 0, 0, 0, 0}, {8, 544, 112, 1312, 4128, 0, 0}, {204, 13107, 1642, 0, 0, 0, 0}, {240, 12288, 1370, 0, 0, 0, 0}, {8, 544, 68, 1028, 4403, 0, 0}, {60, 780, 1360, 0, 0, 0, 0}, {8, 546, 5461, 0, 0, 0, 0}, {8, 52, 68, 274, 0, 0, 0}, {2720, 13663, 22015, 0, 0, 0, 0}, {2720, 13664, 21760, 0, 0, 0, 0}, {8, 52, 68, 273, 0, 0, 0}, {8, 546, 5474, 0, 0, 0, 0}, {60, 783, 1375, 0, 0, 0, 0}, {8, 544, 68, 1024, 4352, 0, 0}, {240, 12336, 1365, 0, 0, 0, 0}, {204, 13056, 1638, 0, 0, 0, 0}, {8, 544, 112, 1319, 4112, 0, 0}, {8, 544, 5440, 0, 0, 0, 0}, {60, 783, 1365, 0, 0, 0, 0}, {2730, 13674, 21930, 0, 0, 0, 0}, {8, 52, 68, 275, 0, 0, 0}, {204, 13056, 1644, 0, 0, 0, 0}, {8, 546, 112, 1317, 4144, 0, 0}, {8, 546, 68, 1024, 4386, 0, 0}, {240, 12336, 1375, 0, 0, 0, 0}, {112, 1280, 4096, 0, 0, 0, 0}, {68, 1542, 4369, 0, 0, 0, 0}, {120, 1290, 4642, 0, 0, 0, 0}, {76, 1548, 4915, 0, 0, 0, 0}, {60, 780, 68, 1280, 4352, 0, 0}, {128, 2570, 5461, 0, 0, 0, 0}, {60, 780, 76, 1290, 4112, 0, 0}, {136, 2560, 6007, 0, 0, 0, 0}, {120, 1280, 4608, 0, 0, 0, 0}, {76, 1542, 4883, 0, 0, 0, 0}, {112, 1290, 4128, 0, 0, 0, 0}, {68, 1548, 4403, 0, 0, 0, 0}, {60, 780, 76, 1280, 4108, 0, 0}, {136, 2570, 5983, 0, 0, 0, 0}, {60, 780, 68, 1290, 4382, 0, 0}, {128, 2560, 5503, 0, 0, 0, 0}, {128, 2560, 5376, 0, 0, 0, 0}, {60, 771, 68, 1285, 4369, 0, 0}, {136, 2570, 5928, 0, 0, 0, 0}, {60, 771, 76, 1295, 4108, 0, 0}, {68, 1548, 4352, 0, 0, 0, 0}, {112, 1285, 4128, 0, 0, 0, 0}, {76, 1542, 4896, 0, 0, 0, 0}, {120, 1295, 4608, 0, 0, 0, 0}, {136, 2560, 5888, 0, 0, 0, 0}, {60, 771, 76, 1285, 4112, 0, 0}, {128, 2570, 5418, 0, 0, 0, 0}, {60, 771, 68, 1295, 4367, 0, 0}, {76, 1548, 4864, 0, 0, 0, 0}, {120, 1285, 4642, 0, 0, 0, 0}, {68, 1542, 4386, 0, 0, 0, 0}, {112, 1295, 4096, 0, 0, 0, 0}, {240, 12336, 1360, 0, 0, 0, 0}, {8, 546, 68, 1024, 4369, 0, 0}, {8, 546, 112, 1314, 4144, 0, 0}, {204, 13107, 1644, 0, 0, 0, 0}, {8, 52, 68, 276, 0, 0, 0}, {2730, 13717, 21845, 0, 0, 0, 0}, {60, 768, 1370, 0, 0, 0, 0}, {8, 544, 5431, 0, 0, 0, 0}, {8, 544, 112, 1312, 4112, 0, 0}, {204, 13107, 1638, 0, 0, 0, 0}, {240, 12336, 1370, 0, 0, 0, 0}, {8, 544, 68, 1024, 4403, 0, 0}, {60, 768, 1360, 0, 0, 0, 0}, {8, 546, 5397, 0, 0, 0, 0}, {8, 52, 68, 278, 0, 0, 0}, {2720, 13727, 22015, 0, 0, 0, 0}, {2720, 13728, 21760, 0, 0, 0, 0}, {8, 52, 68, 277, 0, 0, 0}, {8, 546, 5410, 0, 0, 0, 0}, {60, 771, 1375, 0, 0, 0, 0}, {8, 544, 68, 1028, 4352, 0, 0}, {240, 12288, 1365, 0, 0, 0, 0}, {204, 13056, 1642, 0, 0, 0, 0}, {8, 544, 112, 1319, 4128, 0, 0}, {8, 544, 5376, 0, 0, 0, 0}, {60, 771, 1365, 0, 0, 0, 0}, {2730, 13738, 21930, 0, 0, 0, 0}, {8, 52, 68, 279, 0, 0, 0}, {204, 13056, 1632, 0, 0, 0, 0}, {8, 546, 112, 1317, 4096, 0, 0}, {8, 546, 68, 1028, 4386, 0, 0}, {240, 12288, 1375, 0, 0, 0, 0}, {112, 1280, 4144, 0, 0, 0, 0}, {68, 1546, 4369, 0, 0, 0, 0}, {120, 1290, 4626, 0, 0, 0, 0}, {76, 1536, 4915, 0, 0, 0, 0}, {60, 768, 68, 1280, 4352, 0, 0}, {128, 2570, 5397, 0, 0, 0, 0}, {60, 768, 76, 1290, 4124, 0, 0}, {136, 2560, 5951, 0, 0, 0, 0}, {120, 1280, 4656, 0, 0, 0, 0}, {76, 1546, 4883, 0, 0, 0, 0}, {112, 1290, 4112, 0, 0, 0, 0}, {68, 1536, 4403, 0, 0, 0, 0}, {60, 768, 76, 1280, 4096, 0, 0}, {136, 2570, 5911, 0, 0, 0, 0}, {60, 768, 68, 1290, 4382, 0, 0}, {128, 2560, 5439, 0, 0, 0, 0}, {2560, 13760, 21760, 0, 0, 0, 0}, {8, 52, 68, 261, 0, 0, 0}, {8, 514, 5474, 0, 0, 0, 0}, {60, 783, 1295, 0, 0, 0, 0}, {8, 512, 68, 1024, 4352, 0, 0}, {240, 12336, 1285, 0, 0, 0, 0}, {204, 13056, 1546, 0, 0, 0, 0}, {8, 512, 112, 1287, 4144, 0, 0}, {8, 512, 5440, 0, 0, 0, 0}, {60, 783, 1285, 0, 0, 0, 0}, {2570, 13770, 21930, 0, 0, 0, 0}, {8, 52, 68, 263, 0, 0, 0}, {204, 13056, 1536, 0, 0, 0, 0}, {8, 514, 112, 1285, 4112, 0, 0}, {8, 514, 68, 1024, 4386, 0, 0}, {240, 12336, 1295, 0, 0, 0, 0}, {112, 1312, 4128, 0, 0, 0, 0}, {68, 1582, 4369, 0, 0, 0, 0}, {120, 1314, 4642, 0, 0, 0, 0}, {76, 1580, 4883, 0, 0, 0, 0}, {60, 780, 68, 1300, 4352, 0, 0}, {128, 2602, 5461, 0, 0, 0, 0}, {60, 780, 76, 1302, 4108, 0, 0}, {136, 2600, 5983, 0, 0, 0, 0}, {120, 1320, 4608, 0, 0, 0, 0}, {76, 1574, 4915, 0, 0, 0, 0}, {112, 1322, 4096, 0, 0, 0, 0}, {68, 1572, 4403, 0, 0, 0, 0}, {60, 780, 76, 1308, 4112, 0, 0}, {136, 2594, 6007, 0, 0, 0, 0}, {60, 780, 68, 1310, 4382, 0, 0}, {128, 2592, 5503, 0, 0, 0, 0}, {128, 2592, 5440, 0, 0, 0, 0}, {60, 783, 68, 1297, 4369, 0, 0}, {136, 2594, 5960, 0, 0, 0, 0}, {60, 783, 76, 1299, 4124, 0, 0}, {68, 1576, 4352, 0, 0, 0, 0}, {112, 1317, 4144, 0, 0, 0, 0}, {76, 1578, 4864, 0, 0, 0, 0}, {120, 1319, 4656, 0, 0, 0, 0}, {136, 2600, 5984, 0, 0, 0, 0}, {60, 783, 76, 1305, 4096, 0, 0}, {128, 2602, 5482, 0, 0, 0, 0}, {60, 783, 68, 1307, 4367, 0, 0}, {76, 1568, 4896, 0, 0, 0, 0}, {120, 1325, 4626, 0, 0, 0, 0}, {68, 1570, 4386, 0, 0, 0, 0}, {112, 1327, 4112, 0, 0, 0, 0}, {240, 12288, 1280, 0, 0, 0, 0}, {8, 514, 68, 1028, 4369, 0, 0}, {8, 514, 112, 1282, 4128, 0, 0}, {204, 13107, 1548, 0, 0, 0, 0}, {8, 52, 68, 260, 0, 0, 0}, {2570, 13813, 21845, 0, 0, 0, 0}, {60, 780, 1290, 0, 0, 0, 0}, {8, 512, 5495, 0, 0, 0, 0}, {8, 512, 112, 1280, 4096, 0, 0}, {204, 13107, 1542, 0, 0, 0, 0}, {240, 12288, 1290, 0, 0, 0, 0}, {8, 512, 68, 1028, 4403, 0, 0}, {60, 780, 1280, 0, 0, 0, 0}, {8, 514, 5461, 0, 0, 0, 0}, {8, 52, 68, 262, 0, 0, 0}, {2560, 13823, 22015, 0, 0, 0, 0}, {2560, 13824, 20480, 0, 0, 0, 0}, {8, 55, 64, 257, 0, 0, 0}, {8, 514, 5152, 0, 0, 0, 0}, {63, 771, 1295, 0, 0, 0, 0}, {8, 512, 64, 1028, 4096, 0, 0}, {255, 13056, 1285, 0, 0, 0, 0}, {192, 12288, 1542, 0, 0, 0, 0}, {8, 512, 119, 1287, 4352, 0, 0}, {8, 512, 5120, 0, 0, 0, 0}, {63, 771, 1285, 0, 0, 0, 0}, {2570, 13834, 20640, 0, 0, 0, 0}, {8, 55, 64, 259, 0, 0, 0}, {192, 12288, 1548, 0, 0, 0, 0}, {8, 514, 119, 1285, 4386, 0, 0}, {8, 514, 64, 1028, 4128, 0, 0}, {255, 13056, 1295, 0, 0, 0, 0}, {64, 1568, 4112, 0, 0, 0, 0}, {119, 1314, 4369, 0, 0, 0, 0}, {72, 1570, 4626, 0, 0, 0, 0}, {127, 1312, 4883, 0, 0, 0, 0}, {136, 2600, 5140, 0, 0, 0, 0}, {63, 768, 64, 1301, 4096, 0, 0}, {128, 2602, 5654, 0, 0, 0, 0}, {63, 768, 72, 1303, 4352, 0, 0}, {72, 1576, 4656, 0, 0, 0, 0}, {127, 1322, 4915, 0, 0, 0, 0}, {64, 1578, 4144, 0, 0, 0, 0}, {119, 1320, 4403, 0, 0, 0, 0}, {128, 2592, 5692, 0, 0, 0, 0}, {63, 768, 72, 1309, 4381, 0, 0}, {136, 2594, 5180, 0, 0, 0, 0}, {63, 768, 64, 1311, 4127, 0, 0}, {128, 2592, 5632, 0, 0, 0, 0}, {63, 771, 72, 1298, 4369, 0, 0}, {136, 2594, 5120, 0, 0, 0, 0}, {63, 771, 64, 1296, 4112, 0, 0}, {72, 1572, 4608, 0, 0, 0, 0}, {127, 1317, 4864, 0, 0, 0, 0}, {64, 1574, 4096, 0, 0, 0, 0}, {119, 1319, 4352, 0, 0, 0, 0}, {136, 2600, 5160, 0, 0, 0, 0}, {63, 771, 64, 1306, 4111, 0, 0}, {128, 2602, 5674, 0, 0, 0, 0}, {63, 771, 72, 1304, 4364, 0, 0}, {64, 1580, 4128, 0, 0, 0, 0}, {119, 1325, 4386, 0, 0, 0, 0}, {72, 1582, 4642, 0, 0, 0, 0}, {127, 1327, 4896, 0, 0, 0, 0}, {192, 12336, 1536, 0, 0, 0, 0}, {8, 514, 119, 1282, 4369, 0, 0}, {8, 514, 64, 1024, 4112, 0, 0}, {255, 13107, 1280, 0, 0, 0, 0}, {8, 512, 5172, 0, 0, 0, 0}, {63, 768, 1290, 0, 0, 0, 0}, {2570, 13878, 20560, 0, 0, 0, 0}, {8, 55, 64, 256, 0, 0, 0}, {8, 512, 64, 1024, 4144, 0, 0}, {255, 13107, 1290, 0, 0, 0, 0}, {192, 12336, 1546, 0, 0, 0, 0}, {8, 512, 119, 1280, 4403, 0, 0}, {2560, 13884, 20720, 0, 0, 0, 0}, {8, 55, 64, 258, 0, 0, 0}, {8, 514, 5140, 0, 0, 0, 0}, {63, 768, 1280, 0, 0, 0, 0}, {64, 1536, 4096, 0, 0, 0, 0}, {119, 1285, 4369, 0, 0, 0, 0}, {72, 1546, 4642, 0, 0, 0, 0}, {127, 1295, 4915, 0, 0, 0, 0}, {136, 2560, 5188, 0, 0, 0, 0}, {63, 783, 64, 1285, 4112, 0, 0}, {128, 2570, 5734, 0, 0, 0, 0}, {63, 783, 72, 1295, 4352, 0, 0}, {72, 1536, 4608, 0, 0, 0, 0}, {127, 1285, 4883, 0, 0, 0, 0}, {64, 1546, 4128, 0, 0, 0, 0}, {119, 1295, 4403, 0, 0, 0, 0}, {128, 2560, 5708, 0, 0, 0, 0}, {63, 783, 72, 1285, 4381, 0, 0}, {136, 2570, 5228, 0, 0, 0, 0}, {63, 783, 64, 1295, 4111, 0, 0}, {2720, 13904, 20560, 0, 0, 0, 0}, {8, 55, 64, 273, 0, 0, 0}, {8, 546, 5232, 0, 0, 0, 0}, {63, 780, 1375, 0, 0, 0, 0}, {8, 544, 64, 1028, 4112, 0, 0}, {255, 13056, 1365, 0, 0, 0, 0}, {192, 12336, 1638, 0, 0, 0, 0}, {8, 544, 119, 1312, 4352, 0, 0}, {8, 544, 5200, 0, 0, 0, 0}, {63, 780, 1365, 0, 0, 0, 0}, {2730, 13914, 20720, 0, 0, 0, 0}, {8, 55, 64, 275, 0, 0, 0}, {192, 12336, 1644, 0, 0, 0, 0}, {8, 546, 119, 1314, 4386, 0, 0}, {8, 546, 64, 1028, 4144, 0, 0}, {255, 13056, 1375, 0, 0, 0, 0}, {192, 12288, 1632, 0, 0, 0, 0}, {8, 546, 119, 1317, 4369, 0, 0}, {8, 546, 64, 1024, 4096, 0, 0}, {255, 13107, 1360, 0, 0, 0, 0}, {8, 544, 5220, 0, 0, 0, 0}, {63, 783, 1370, 0, 0, 0, 0}, {2730, 13926, 20480, 0, 0, 0, 0}, {8, 55, 64, 272, 0, 0, 0}, {8, 544, 64, 1024, 4128, 0, 0}, {255, 13107, 1370, 0, 0, 0, 0}, {192, 12288, 1642, 0, 0, 0, 0}, {8, 544, 119, 1319, 4403, 0, 0}, {2720, 13932, 20640, 0, 0, 0, 0}, {8, 55, 64, 274, 0, 0, 0}, {8, 546, 5188, 0, 0, 0, 0}, {63, 783, 1360, 0, 0, 0, 0}, {128, 2560, 5744, 0, 0, 0, 0}, {63, 780, 72, 1290, 4369, 0, 0}, {136, 2570, 5200, 0, 0, 0, 0}, {63, 780, 64, 1280, 4096, 0, 0}, {72, 1548, 4656, 0, 0, 0, 0}, {127, 1290, 4896, 0, 0, 0, 0}, {64, 1542, 4112, 0, 0, 0, 0}, {119, 1280, 4352, 0, 0, 0, 0}, {136, 2560, 5240, 0, 0, 0, 0}, {63, 780, 64, 1290, 4127, 0, 0}, {128, 2570, 5722, 0, 0, 0, 0}, {63, 780, 72, 1280, 4364, 0, 0}, {64, 1548, 4144, 0, 0, 0, 0}, {119, 1290, 4386, 0, 0, 0, 0}, {72, 1542, 4626, 0, 0, 0, 0}, {127, 1280, 4864, 0, 0, 0, 0}, {128, 2560, 5632, 0, 0, 0, 0}, {63, 771, 72, 1285, 4369, 0, 0}, {136, 2570, 5160, 0, 0, 0, 0}, {63, 771, 64, 1295, 4111, 0, 0}, {72, 1548, 4608, 0, 0, 0, 0}, {127, 1285, 4896, 0, 0, 0, 0}, {64, 1542, 4128, 0, 0, 0, 0}, {119, 1295, 4352, 0, 0, 0, 0}, {136, 2560, 5120, 0, 0, 0, 0}, {63, 771, 64, 1285, 4112, 0, 0}, {128, 2570, 5674, 0, 0, 0, 0}, {63, 771, 72, 1295, 4364, 0, 0}, {64, 1548, 4096, 0, 0, 0, 0}, {119, 1285, 4386, 0, 0, 0, 0}, {72, 1542, 4642, 0, 0, 0, 0}, {127, 1295, 4864, 0, 0, 0, 0}, {192, 12336, 1632, 0, 0, 0, 0}, {8, 546, 119, 1314, 4369, 0, 0}, {8, 546, 64, 1024, 4144, 0, 0}, {255, 13107, 1375, 0, 0, 0, 0}, {8, 544, 5140, 0, 0, 0, 0}, {63, 768, 1365, 0, 0, 0, 0}, {2730, 13974, 20720, 0, 0, 0, 0}, {8, 55, 64, 279, 0, 0, 0}, {8, 544, 64, 1024, 4112, 0, 0}, {255, 13107, 1365, 0, 0, 0, 0}, {192, 12336, 1642, 0, 0, 0, 0}, {8, 544, 119, 1312, 4403, 0, 0}, {2720, 13980, 20560, 0, 0, 0, 0}, {8, 55, 64, 277, 0, 0, 0}, {8, 546, 5172, 0, 0, 0, 0}, {63, 768, 1375, 0, 0, 0, 0}, {2720, 13984, 20640, 0, 0, 0, 0}, {8, 55, 64, 278, 0, 0, 0}, {8, 546, 5120, 0, 0, 0, 0}, {63, 771, 1360, 0, 0, 0, 0}, {8, 544, 64, 1028, 4128, 0, 0}, {255, 13056, 1370, 0, 0, 0, 0}, {192, 12288, 1638, 0, 0, 0, 0}, {8, 544, 119, 1319, 4352, 0, 0}, {8, 544, 5152, 0, 0, 0, 0}, {63, 771, 1370, 0, 0, 0, 0}, {2730, 13994, 20480, 0, 0, 0, 0}, {8, 55, 64, 276, 0, 0, 0}, {192, 12288, 1644, 0, 0, 0, 0}, {8, 546, 119, 1317, 4386, 0, 0}, {8, 546, 64, 1028, 4096, 0, 0}, {255, 13056, 1360, 0, 0, 0, 0}, {64, 1536, 4144, 0, 0, 0, 0}, {119, 1290, 4369, 0, 0, 0, 0}, {72, 1546, 4626, 0, 0, 0, 0}, {127, 1280, 4915, 0, 0, 0, 0}, {136, 2560, 5180, 0, 0, 0, 0}, {63, 768, 64, 1290, 4127, 0, 0}, {128, 2570, 5654, 0, 0, 0, 0}, {63, 768, 72, 1280, 4352, 0, 0}, {72, 1536, 4656, 0, 0, 0, 0}, {127, 1290, 4883, 0, 0, 0, 0}, {64, 1546, 4112, 0, 0, 0, 0}, {119, 1280, 4403, 0, 0, 0, 0}, {128, 2560, 5692, 0, 0, 0, 0}, {63, 768, 72, 1290, 4381, 0, 0}, {136, 2570, 5140, 0, 0, 0, 0}, {63, 768, 64, 1280, 4096, 0, 0}, {192, 12288, 1536, 0, 0, 0, 0}, {8, 514, 119, 1285, 4369, 0, 0}, {8, 514, 64, 1024, 4128, 0, 0}, {255, 13107, 1295, 0, 0, 0, 0}, {8, 512, 5188, 0, 0, 0, 0}, {63, 783, 1285, 0, 0, 0, 0}, {2570, 14022, 20640, 0, 0, 0, 0}, {8, 55, 64, 263, 0, 0, 0}, {8, 512, 64, 1024, 4096, 0, 0}, {255, 13107, 1285, 0, 0, 0, 0}, {192, 12288, 1546, 0, 0, 0, 0}, {8, 512, 119, 1287, 4403, 0, 0}, {2560, 14028, 20480, 0, 0, 0, 0}, {8, 55, 64, 261, 0, 0, 0}, {8, 514, 5220, 0, 0, 0, 0}, {63, 783, 1295, 0, 0, 0, 0}, {128, 2592, 5744, 0, 0, 0, 0}, {63, 780, 72, 1309, 4369, 0, 0}, {136, 2594, 5240, 0, 0, 0, 0}, {63, 780, 64, 1311, 4127, 0, 0}, {72, 1572, 4656, 0, 0, 0, 0}, {127, 1322, 4864, 0, 0, 0, 0}, {64, 1574, 4144, 0, 0, 0, 0}, {119, 1320, 4352, 0, 0, 0, 0}, {136, 2600, 5200, 0, 0, 0, 0}, {63, 780, 64, 1301, 4096, 0, 0}, {128, 2602, 5722, 0, 0, 0, 0}, {63, 780, 72, 1303, 4364, 0, 0}, {64, 1580, 4112, 0, 0, 0, 0}, {119, 1314, 4386, 0, 0, 0, 0}, {72, 1582, 4626, 0, 0, 0, 0}, {127, 1312, 4896, 0, 0, 0, 0}, {64, 1568, 4128, 0, 0, 0, 0}, {119, 1325, 4369, 0, 0, 0, 0}, {72, 1570, 4642, 0, 0, 0, 0}, {127, 1327, 4883, 0, 0, 0, 0}, {136, 2600, 5228, 0, 0, 0, 0}, {63, 783, 64, 1306, 4111, 0, 0}, {128, 2602, 5734, 0, 0, 0, 0}, {63, 783, 72, 1304, 4352, 0, 0}, {72, 1576, 4608, 0, 0, 0, 0}, {127, 1317, 4915, 0, 0, 0, 0}, {64, 1578, 4096, 0, 0, 0, 0}, {119, 1319, 4403, 0, 0, 0, 0}, {128, 2592, 5708, 0, 0, 0, 0}, {63, 783, 72, 1298, 4381, 0, 0}, {136, 2594, 5188, 0, 0, 0, 0}, {63, 783, 64, 1296, 4112, 0, 0}, {2560, 14064, 20720, 0, 0, 0, 0}, {8, 55, 64, 262, 0, 0, 0}, {8, 514, 5200, 0, 0, 0, 0}, {63, 780, 1280, 0, 0, 0, 0}, {8, 512, 64, 1028, 4144, 0, 0}, {255, 13056, 1290, 0, 0, 0, 0}, {192, 12336, 1542, 0, 0, 0, 0}, {8, 512, 119, 1280, 4352, 0, 0}, {8, 512, 5232, 0, 0, 0, 0}, {63, 780, 1290, 0, 0, 0, 0}, {2570, 14074, 20560, 0, 0, 0, 0}, {8, 55, 64, 260, 0, 0, 0}, {192, 12336, 1548, 0, 0, 0, 0}, {8, 514, 119, 1282, 4386, 0, 0}, {8, 514, 64, 1028, 4112, 0, 0}, {255, 13056, 1280, 0, 0, 0, 0}, {2048, 14080, 16384, 0, 0, 0, 0}, {10, 54, 80, 257, 0, 0, 0}, {10, 514, 5408, 0, 0, 0, 0}, {60, 771, 1036, 0, 0, 0, 0}, {204, 13056, 1028, 0, 0, 0, 0}, {10, 512, 80, 1285, 4096, 0, 0}, {10, 512, 102, 1030, 4352, 0, 0}, {240, 12288, 1799, 0, 0, 0, 0}, {2056, 14088, 16512, 0, 0, 0, 0}, {10, 54, 80, 259, 0, 0, 0}, {10, 512, 5376, 0, 0, 0, 0}, {60, 771, 1028, 0, 0, 0, 0}, {204, 13056, 1036, 0, 0, 0, 0}, {10, 514, 80, 1285, 4128, 0, 0}, {10, 514, 102, 1028, 4386, 0, 0}, {240, 12288, 1807, 0, 0, 0, 0}, {80, 1824, 4112, 0, 0, 0, 0}, {102, 1058, 4369, 0, 0, 0, 0}, {90, 1826, 4626, 0, 0, 0, 0}, {108, 1056, 4883, 0, 0, 0, 0}, {60, 768, 80, 1044, 4096, 0, 0}, {170, 2090, 5397, 0, 0, 0, 0}, {60, 768, 90, 1046, 4352, 0, 0}, {160, 2088, 5911, 0, 0, 0, 0}, {80, 1832, 4144, 0, 0, 0, 0}, {102, 1066, 4403, 0, 0, 0, 0}, {90, 1834, 4656, 0, 0, 0, 0}, {108, 1064, 4915, 0, 0, 0, 0}, {60, 768, 80, 1052, 4124, 0, 0}, {170, 2082, 5439, 0, 0, 0, 0}, {60, 768, 90, 1054, 4382, 0, 0}, {160, 2080, 5951, 0, 0, 0, 0}, {160, 2080, 5888, 0, 0, 0, 0}, {60, 771, 90, 1042, 4369, 0, 0}, {170, 2082, 5376, 0, 0, 0, 0}, {60, 771, 80, 1040, 4112, 0, 0}, {108, 1060, 4864, 0, 0, 0, 0}, {90, 1829, 4608, 0, 0, 0, 0}, {102, 1062, 4352, 0, 0, 0, 0}, {80, 1831, 4096, 0, 0, 0, 0}, {160, 2088, 5928, 0, 0, 0, 0}, {60, 771, 90, 1050, 4367, 0, 0}, {170, 2090, 5418, 0, 0, 0, 0}, {60, 771, 80, 1048, 4108, 0, 0}, {108, 1068, 4896, 0, 0, 0, 0}, {90, 1837, 4642, 0, 0, 0, 0}, {102, 1070, 4386, 0, 0, 0, 0}, {80, 1839, 4128, 0, 0, 0, 0}, {240, 12336, 1792, 0, 0, 0, 0}, {10, 514, 102, 1026, 4369, 0, 0}, {10, 514, 80, 1280, 4112, 0, 0}, {204, 13107, 1024, 0, 0, 0, 0}, {60, 768, 1032, 0, 0, 0, 0}, {10, 512, 5429, 0, 0, 0, 0}, {10, 54, 80, 256, 0, 0, 0}, {2056, 14135, 16448, 0, 0, 0, 0}, {240, 12336, 1800, 0, 0, 0, 0}, {10, 512, 102, 1024, 4403, 0, 0}, {10, 512, 80, 1280, 4144, 0, 0}, {204, 13107, 1032, 0, 0, 0, 0}, {60, 768, 1024, 0, 0, 0, 0}, {10, 514, 5397, 0, 0, 0, 0}, {10, 54, 80, 258, 0, 0, 0}, {2048, 14143, 16576, 0, 0, 0, 0}, {2176, 14144, 16448, 0, 0, 0, 0}, {10, 54, 80, 273, 0, 0, 0}, {10, 546, 5472, 0, 0, 0, 0}, {60, 783, 1100, 0, 0, 0, 0}, {204, 13056, 1092, 0, 0, 0, 0}, {10, 544, 80, 1285, 4112, 0, 0}, {10, 544, 102, 1056, 4352, 0, 0}, {240, 12336, 1911, 0, 0, 0, 0}, {2184, 14152, 16576, 0, 0, 0, 0}, {10, 54, 80, 275, 0, 0, 0}, {10, 544, 5440, 0, 0, 0, 0}, {60, 783, 1092, 0, 0, 0, 0}, {204, 13056, 1100, 0, 0, 0, 0}, {10, 546, 80, 1285, 4144, 0, 0}, {10, 546, 102, 1058, 4386, 0, 0}, {240, 12336, 1919, 0, 0, 0, 0}, {80, 1792, 4096, 0, 0, 0, 0}, {102, 1028, 4369, 0, 0, 0, 0}, {90, 1800, 4642, 0, 0, 0, 0}, {108, 1036, 4915, 0, 0, 0, 0}, {60, 780, 80, 1028, 4112, 0, 0}, {170, 2048, 5461, 0, 0, 0, 0}, {60, 780, 90, 1036, 4352, 0, 0}, {160, 2056, 6007, 0, 0, 0, 0}, {80, 1800, 4128, 0, 0, 0, 0}, {102, 1036, 4403, 0, 0, 0, 0}, {90, 1792, 4608, 0, 0, 0, 0}, {108, 1028, 4883, 0, 0, 0, 0}, {60, 780, 80, 1036, 4108, 0, 0}, {170, 2056, 5503, 0, 0, 0, 0}, {60, 780, 90, 1028, 4382, 0, 0}, {160, 2048, 5983, 0, 0, 0, 0}, {160, 2048, 5984, 0, 0, 0, 0}, {60, 783, 90, 1032, 4369, 0, 0}, {170, 2056, 5440, 0, 0, 0, 0}, {60, 783, 80, 1024, 4096, 0, 0}, {108, 1032, 4896, 0, 0, 0, 0}, {90, 1807, 4656, 0, 0, 0, 0}, {102, 1024, 4352, 0, 0, 0, 0}, {80, 1799, 4112, 0, 0, 0, 0}, {160, 2056, 5960, 0, 0, 0, 0}, {60, 783, 90, 1024, 4367, 0, 0}, {170, 2048, 5482, 0, 0, 0, 0}, {60, 783, 80, 1032, 4124, 0, 0}, {108, 1024, 4864, 0, 0, 0, 0}, {90, 1799, 4626, 0, 0, 0, 0}, {102, 1032, 4386, 0, 0, 0, 0}, {80, 1807, 4144, 0, 0, 0, 0}, {240, 12288, 1904, 0, 0, 0, 0}, {10, 546, 102, 1060, 4369, 0, 0}, {10, 546, 80, 1280, 4096, 0, 0}, {204, 13107, 1088, 0, 0, 0, 0}, {60, 780, 1096, 0, 0, 0, 0}, {10, 544, 5493, 0, 0, 0, 0}, {10, 54, 80, 272, 0, 0, 0}, {2184, 14199, 16384, 0, 0, 0, 0}, {240, 12288, 1912, 0, 0, 0, 0}, {10, 544, 102, 1062, 4403, 0, 0}, {10, 544, 80, 1280, 4128, 0, 0}, {204, 13107, 1096, 0, 0, 0, 0}, {60, 780, 1088, 0, 0, 0, 0}, {10, 546, 5461, 0, 0, 0, 0}, {10, 54, 80, 274, 0, 0, 0}, {2176, 14207, 16512, 0, 0, 0, 0}, {2176, 14208, 16512, 0, 0, 0, 0}, {10, 54, 80, 279, 0, 0, 0}, {10, 546, 5376, 0, 0, 0, 0}, {60, 771, 1088, 0, 0, 0, 0}, {204, 13056, 1096, 0, 0, 0, 0}, {10, 544, 80, 1285, 4128, 0, 0}, {10, 544, 102, 1062, 4352, 0, 0}, {240, 12288, 1911, 0, 0, 0, 0}, {2184, 14216, 16384, 0, 0, 0, 0}, {10, 54, 80, 277, 0, 0, 0}, {10, 544, 5408, 0, 0, 0, 0}, {60, 771, 1096, 0, 0, 0, 0}, {204, 13056, 1088, 0, 0, 0, 0}, {10, 546, 80, 1285, 4096, 0, 0}, {10, 546, 102, 1060, 4386, 0, 0}, {240, 12288, 1919, 0, 0, 0, 0}, {80, 1792, 4144, 0, 0, 0, 0}, {102, 1032, 4369, 0, 0, 0, 0}, {90, 1800, 4626, 0, 0, 0, 0}, {108, 1024, 4915, 0, 0, 0, 0}, {60, 768, 80, 1032, 4124, 0, 0}, {170, 2048, 5439, 0, 0, 0, 0}, {60, 768, 90, 1024, 4352, 0, 0}, {160, 2056, 5911, 0, 0, 0, 0}, {80, 1800, 4112, 0, 0, 0, 0}, {102, 1024, 4403, 0, 0, 0, 0}, {90, 1792, 4656, 0, 0, 0, 0}, {108, 1032, 4883, 0, 0, 0, 0}, {60, 768, 80, 1024, 4096, 0, 0}, {170, 2056, 5397, 0, 0, 0, 0}, {60, 768, 90, 1032, 4382, 0, 0}, {160, 2048, 5951, 0, 0, 0, 0}, {160, 2048, 5888, 0, 0, 0, 0}, {60, 771, 90, 1028, 4369, 0, 0}, {170, 2056, 5418, 0, 0, 0, 0}, {60, 771, 80, 1036, 4108, 0, 0}, {108, 1028, 4896, 0, 0, 0, 0}, {90, 1807, 4608, 0, 0, 0, 0}, {102, 1036, 4352, 0, 0, 0, 0}, {80, 1799, 4128, 0, 0, 0, 0}, {160, 2056, 5928, 0, 0, 0, 0}, {60, 771, 90, 1036, 4367, 0, 0}, {170, 2048, 5376, 0, 0, 0, 0}, {60, 771, 80, 1028, 4112, 0, 0}, {108, 1036, 4864, 0, 0, 0, 0}, {90, 1799, 4642, 0, 0, 0, 0}, {102, 1028, 4386, 0, 0, 0, 0}, {80, 1807, 4096, 0, 0, 0, 0}, {240, 12336, 1904, 0, 0, 0, 0}, {10, 546, 102, 1058, 4369, 0, 0}, {10, 546, 80, 1280, 4144, 0, 0}, {204, 13107, 1100, 0, 0, 0, 0}, {60, 768, 1092, 0, 0, 0, 0}, {10, 544, 5397, 0, 0, 0, 0}, {10, 54, 80, 278, 0, 0, 0}, {2184, 14263, 16576, 0, 0, 0, 0}, {240, 12336, 1912, 0, 0, 0, 0}, {10, 544, 102, 1056, 4403, 0, 0}, {10, 544, 80, 1280, 4112, 0, 0}, {204, 13107, 1092, 0, 0, 0, 0}, {60, 768, 1100, 0, 0, 0, 0}, {10, 546, 5429, 0, 0, 0, 0}, {10, 54, 80, 276, 0, 0, 0}, {2176, 14271, 16448, 0, 0, 0, 0}, {2048, 14272, 16576, 0, 0, 0, 0}, {10, 54, 80, 263, 0, 0, 0}, {10, 514, 5440, 0, 0, 0, 0}, {60, 783, 1024, 0, 0, 0, 0}, {204, 13056, 1032, 0, 0, 0, 0}, {10, 512, 80, 1285, 4144, 0, 0}, {10, 512, 102, 1024, 4352, 0, 0}, {240, 12336, 1799, 0, 0, 0, 0}, {2056, 14280, 16448, 0, 0, 0, 0}, {10, 54, 80, 261, 0, 0, 0}, {10, 512, 5472, 0, 0, 0, 0}, {60, 783, 1032, 0, 0, 0, 0}, {204, 13056, 1024, 0, 0, 0, 0}, {10, 514, 80, 1285, 4112, 0, 0}, {10, 514, 102, 1026, 4386, 0, 0}, {240, 12336, 1807, 0, 0, 0, 0}, {80, 1824, 4128, 0, 0, 0, 0}, {102, 1070, 4369, 0, 0, 0, 0}, {90, 1826, 4642, 0, 0, 0, 0}, {108, 1068, 4883, 0, 0, 0, 0}, {60, 780, 80, 1048, 4108, 0, 0}, {170, 2090, 5503, 0, 0, 0, 0}, {60, 780, 90, 1050, 4352, 0, 0}, {160, 2088, 6007, 0, 0, 0, 0}, {80, 1832, 4096, 0, 0, 0, 0}, {102, 1062, 4403, 0, 0, 0, 0}, {90, 1834, 4608, 0, 0, 0, 0}, {108, 1060, 4915, 0, 0, 0, 0}, {60, 780, 80, 1040, 4112, 0, 0}, {170, 2082, 5461, 0, 0, 0, 0}, {60, 780, 90, 1042, 4382, 0, 0}, {160, 2080, 5983, 0, 0, 0, 0}, {160, 2080, 5984, 0, 0, 0, 0}, {60, 783, 90, 1054, 4369, 0, 0}, {170, 2082, 5482, 0, 0, 0, 0}, {60, 783, 80, 1052, 4124, 0, 0}, {108, 1064, 4864, 0, 0, 0, 0}, {90, 1829, 4656, 0, 0, 0, 0}, {102, 1066, 4352, 0, 0, 0, 0}, {80, 1831, 4144, 0, 0, 0, 0}, {160, 2088, 5960, 0, 0, 0, 0}, {60, 783, 90, 1046, 4367, 0, 0}, {170, 2090, 5440, 0, 0, 0, 0}, {60, 783, 80, 1044, 4096, 0, 0}, {108, 1056, 4896, 0, 0, 0, 0}, {90, 1837, 4626, 0, 0, 0, 0}, {102, 1058, 4386, 0, 0, 0, 0}, {80, 1839, 4112, 0, 0, 0, 0}, {240, 12288, 1792, 0, 0, 0, 0}, {10, 514, 102, 1028, 4369, 0, 0}, {10, 514, 80, 1280, 4128, 0, 0}, {204, 13107, 1036, 0, 0, 0, 0}, {60, 780, 1028, 0, 0, 0, 0}, {10, 512, 5461, 0, 0, 0, 0}, {10, 54, 80, 262, 0, 0, 0}, {2056, 14327, 16512, 0, 0, 0, 0}, {240, 12288, 1800, 0, 0, 0, 0}, {10, 512, 102, 1030, 4403, 0, 0}, {10, 512, 80, 1280, 4096, 0, 0}, {204, 13107, 1028, 0, 0, 0, 0}, {60, 780, 1036, 0, 0, 0, 0}, {10, 514, 5493, 0, 0, 0, 0}, {10, 54, 80, 260, 0, 0, 0}, {2048, 14335, 16384, 0, 0, 0, 0}, {2048, 12288, 16384, 0, 0, 0, 0}, {10, 51, 85, 257, 0, 0, 0}, {10, 514, 4128, 0, 0, 0, 0}, {51, 771, 1036, 0, 0, 0, 0}, {204, 12300, 1028, 0, 0, 0, 0}, {10, 512, 85, 1285, 4101, 0, 0}, {10, 512, 102, 1030, 4102, 0, 0}, {255, 12303, 1799, 0, 0, 0, 0}, {2056, 12288, 16512, 0, 0, 0, 0}, {10, 51, 85, 259, 0, 0, 0}, {10, 512, 4096, 0, 0, 0, 0}, {51, 771, 1028, 0, 0, 0, 0}, {204, 12300, 1036, 0, 0, 0, 0}, {10, 514, 85, 1285, 4133, 0, 0}, {10, 514, 102, 1028, 4134, 0, 0}, {255, 12303, 1807, 0, 0, 0, 0}, {160, 2080, 4112, 0, 0, 0, 0}, {51, 768, 85, 1041, 4369, 0, 0}, {170, 2082, 4626, 0, 0, 0, 0}, {51, 768, 95, 1043, 4115, 0, 0}, {108, 1064, 4156, 0, 0, 0, 0}, {85, 1834, 4671, 0, 0, 0, 0}, {102, 1066, 4668, 0, 0, 0, 0}, {95, 1832, 4159, 0, 0, 0, 0}, {160, 2088, 4144, 0, 0, 0, 0}, {51, 768, 85, 1049, 4352, 0, 0}, {170, 2090, 4656, 0, 0, 0, 0}, {51, 768, 95, 1051, 4096, 0, 0}, {108, 1056, 4124, 0, 0, 0, 0}, {85, 1826, 4637, 0, 0, 0, 0}, {102, 1058, 4638, 0, 0, 0, 0}, {95, 1824, 4127, 0, 0, 0, 0}, {160, 2080, 4128, 0, 0, 0, 0}, {51, 771, 85, 1053, 4369, 0, 0}, {170, 2082, 4642, 0, 0, 0, 0}, {51, 771, 95, 1055, 4112, 0, 0}, {108, 1060, 4108, 0, 0, 0, 0}, {85, 1829, 4623, 0, 0, 0, 0}, {102, 1062, 4620, 0, 0, 0, 0}, {95, 1831, 4111, 0, 0, 0, 0}, {160, 2088, 4096, 0, 0, 0, 0}, {51, 771, 85, 1045, 4352, 0, 0}, {170, 2090, 4608, 0, 0, 0, 0}, {51, 771, 95, 1047, 4099, 0, 0}, {108, 1068, 4140, 0, 0, 0, 0}, {85, 1837, 4653, 0, 0, 0, 0}, {102, 1070, 4654, 0, 0, 0, 0}, {95, 1839, 4143, 0, 0, 0, 0}, {2048, 12336, 16576, 0, 0, 0, 0}, {10, 51, 85, 258, 0, 0, 0}, {10, 514, 4112, 0, 0, 0, 0}, {51, 768, 1024, 0, 0, 0, 0}, {204, 12348, 1032, 0, 0, 0, 0}, {10, 512, 85, 1280, 4149, 0, 0}, {10, 512, 102, 1024, 4150, 0, 0}, {255, 12351, 1800, 0, 0, 0, 0}, {2056, 12336, 16448, 0, 0, 0, 0}, {10, 51, 85, 256, 0, 0, 0}, {10, 512, 4144, 0, 0, 0, 0}, {51, 768, 1032, 0, 0, 0, 0}, {204, 12348, 1024, 0, 0, 0, 0}, {10, 514, 85, 1280, 4117, 0, 0}, {10, 514, 102, 1026, 4118, 0, 0}, {255, 12351, 1792, 0, 0, 0, 0}, {2176, 12480, 16448, 0, 0, 0, 0}, {10, 51, 85, 276, 0, 0, 0}, {10, 546, 4192, 0, 0, 0, 0}, {51, 783, 1100, 0, 0, 0, 0}, {204, 12288, 1092, 0, 0, 0, 0}, {10, 544, 85, 1285, 4112, 0, 0}, {10, 544, 102, 1056, 4128, 0, 0}, {255, 12336, 1912, 0, 0, 0, 0}, {2184, 12480, 16576, 0, 0, 0, 0}, {10, 51, 85, 278, 0, 0, 0}, {10, 544, 4160, 0, 0, 0, 0}, {51, 783, 1092, 0, 0, 0, 0}, {204, 12288, 1100, 0, 0, 0, 0}, {10, 546, 85, 1285, 4144, 0, 0}, {10, 546, 102, 1058, 4096, 0, 0}, {255, 12336, 1904, 0, 0, 0, 0}, {160, 2048, 4176, 0, 0, 0, 0}, {51, 780, 85, 1028, 4369, 0, 0}, {170, 2056, 4728, 0, 0, 0, 0}, {51, 780, 95, 1036, 4108, 0, 0}, {108, 1028, 4112, 0, 0, 0, 0}, {85, 1792, 4608, 0, 0, 0, 0}, {102, 1036, 4656, 0, 0, 0, 0}, {95, 1800, 4128, 0, 0, 0, 0}, {160, 2056, 4208, 0, 0, 0, 0}, {51, 780, 85, 1036, 4352, 0, 0}, {170, 2048, 4698, 0, 0, 0, 0}, {51, 780, 95, 1028, 4127, 0, 0}, {108, 1036, 4144, 0, 0, 0, 0}, {85, 1800, 4642, 0, 0, 0, 0}, {102, 1028, 4626, 0, 0, 0, 0}, {95, 1792, 4096, 0, 0, 0, 0}, {160, 2048, 4192, 0, 0, 0, 0}, {51, 783, 85, 1032, 4369, 0, 0}, {170, 2056, 4680, 0, 0, 0, 0}, {51, 783, 95, 1024, 4111, 0, 0}, {108, 1032, 4128, 0, 0, 0, 0}, {85, 1807, 4656, 0, 0, 0, 0}, {102, 1024, 4608, 0, 0, 0, 0}, {95, 1799, 4112, 0, 0, 0, 0}, {160, 2056, 4160, 0, 0, 0, 0}, {51, 783, 85, 1024, 4352, 0, 0}, {170, 2048, 4714, 0, 0, 0, 0}, {51, 783, 95, 1032, 4124, 0, 0}, {108, 1024, 4096, 0, 0, 0, 0}, {85, 1799, 4626, 0, 0, 0, 0}, {102, 1032, 4642, 0, 0, 0, 0}, {95, 1807, 4144, 0, 0, 0, 0}, {2176, 12528, 16512, 0, 0, 0, 0}, {10, 51, 85, 279, 0, 0, 0}, {10, 546, 4176, 0, 0, 0, 0}, {51, 780, 1088, 0, 0, 0, 0}, {204, 12336, 1096, 0, 0, 0, 0}, {10, 544, 85, 1280, 4128, 0, 0}, {10, 544, 102, 1062, 4112, 0, 0}, {255, 12288, 1911, 0, 0, 0, 0}, {2184, 12528, 16384, 0, 0, 0, 0}, {10, 51, 85, 277, 0, 0, 0}, {10, 544, 4208, 0, 0, 0, 0}, {51, 780, 1096, 0, 0, 0, 0}, {204, 12336, 1088, 0, 0, 0, 0}, {10, 546, 85, 1280, 4096, 0, 0}, {10, 546, 102, 1060, 4144, 0, 0}, {255, 12288, 1919, 0, 0, 0, 0}, {2176, 12288, 16512, 0, 0, 0, 0}, {10, 51, 85, 274, 0, 0, 0}, {10, 546, 4096, 0, 0, 0, 0}, {51, 771, 1088, 0, 0, 0, 0}, {204, 12300, 1096, 0, 0, 0, 0}, {10, 544, 85, 1285, 4133, 0, 0}, {10, 544, 102, 1062, 4134, 0, 0}, {255, 12303, 1912, 0, 0, 0, 0}, {2184, 12288, 16384, 0, 0, 0, 0}, {10, 51, 85, 272, 0, 0, 0}, {10, 544, 4128, 0, 0, 0, 0}, {51, 771, 1096, 0, 0, 0, 0}, {204, 12300, 1088, 0, 0, 0, 0}, {10, 546, 85, 1285, 4101, 0, 0}, {10, 546, 102, 1060, 4102, 0, 0}, {255, 12303, 1904, 0, 0, 0, 0}, {160, 2048, 4144, 0, 0, 0, 0}, {51, 768, 85, 1032, 4369, 0, 0}, {170, 2056, 4626, 0, 0, 0, 0}, {51, 768, 95, 1024, 4096, 0, 0}, {108, 1032, 4124, 0, 0, 0, 0}, {85, 1792, 4671, 0, 0, 0, 0}, {102, 1024, 4668, 0, 0, 0, 0}, {95, 1800, 4127, 0, 0, 0, 0}, {160, 2056, 4112, 0, 0, 0, 0}, {51, 768, 85, 1024, 4352, 0, 0}, {170, 2048, 4656, 0, 0, 0, 0}, {51, 768, 95, 1032, 4115, 0, 0}, {108, 1024, 4156, 0, 0, 0, 0}, {85, 1800, 4637, 0, 0, 0, 0}, {102, 1032, 4638, 0, 0, 0, 0}, {95, 1792, 4159, 0, 0, 0, 0}, {160, 2048, 4096, 0, 0, 0, 0}, {51, 771, 85, 1028, 4369, 0, 0}, {170, 2056, 4642, 0, 0, 0, 0}, {51, 771, 95, 1036, 4099, 0, 0}, {108, 1028, 4140, 0, 0, 0, 0}, {85, 1807, 4623, 0, 0, 0, 0}, {102, 1036, 4620, 0, 0, 0, 0}, {95, 1799, 4143, 0, 0, 0, 0}, {160, 2056, 4128, 0, 0, 0, 0}, {51, 771, 85, 1036, 4352, 0, 0}, {170, 2048, 4608, 0, 0, 0, 0}, {51, 771, 95, 1028, 4112, 0, 0}, {108, 1036, 4108, 0, 0, 0, 0}, {85, 1799, 4653, 0, 0, 0, 0}, {102, 1028, 4654, 0, 0, 0, 0}, {95, 1807, 4111, 0, 0, 0, 0}, {2176, 12336, 16448, 0, 0, 0, 0}, {10, 51, 85, 273, 0, 0, 0}, {10, 546, 4144, 0, 0, 0, 0}, {51, 768, 1100, 0, 0, 0, 0}, {204, 12348, 1092, 0, 0, 0, 0}, {10, 544, 85, 1280, 4117, 0, 0}, {10, 544, 102, 1056, 4118, 0, 0}, {255, 12351, 1911, 0, 0, 0, 0}, {2184, 12336, 16576, 0, 0, 0, 0}, {10, 51, 85, 275, 0, 0, 0}, {10, 544, 4112, 0, 0, 0, 0}, {51, 768, 1092, 0, 0, 0, 0}, {204, 12348, 1100, 0, 0, 0, 0}, {10, 546, 85, 1280, 4149, 0, 0}, {10, 546, 102, 1058, 4150, 0, 0}, {255, 12351, 1919, 0, 0, 0, 0}, {2048, 12480, 16576, 0, 0, 0, 0}, {10, 51, 85, 263, 0, 0, 0}, {10, 514, 4160, 0, 0, 0, 0}, {51, 783, 1024, 0, 0, 0, 0}, {204, 12288, 1032, 0, 0, 0, 0}, {10, 512, 85, 1285, 4144, 0, 0}, {10, 512, 102, 1024, 4096, 0, 0}, {255, 12336, 1799, 0, 0, 0, 0}, {2056, 12480, 16448, 0, 0, 0, 0}, {10, 51, 85, 261, 0, 0, 0}, {10, 512, 4192, 0, 0, 0, 0}, {51, 783, 1032, 0, 0, 0, 0}, {204, 12288, 1024, 0, 0, 0, 0}, {10, 514, 85, 1285, 4112, 0, 0}, {10, 514, 102, 1026, 4128, 0, 0}, {255, 12336, 1807, 0, 0, 0, 0}, {160, 2080, 4208, 0, 0, 0, 0}, {51, 780, 85, 1053, 4369, 0, 0}, {170, 2082, 4728, 0, 0, 0, 0}, {51, 780, 95, 1055, 4127, 0, 0}, {108, 1060, 4144, 0, 0, 0, 0}, {85, 1834, 4608, 0, 0, 0, 0}, {102, 1062, 4656, 0, 0, 0, 0}, {95, 1832, 4096, 0, 0, 0, 0}, {160, 2088, 4176, 0, 0, 0, 0}, {51, 780, 85, 1045, 4352, 0, 0}, {170, 2090, 4698, 0, 0, 0, 0}, {51, 780, 95, 1047, 4108, 0, 0}, {108, 1068, 4112, 0, 0, 0, 0}, {85, 1826, 4642, 0, 0, 0, 0}, {102, 1070, 4626, 0, 0, 0, 0}, {95, 1824, 4128, 0, 0, 0, 0}, {160, 2080, 4160, 0, 0, 0, 0}, {51, 783, 85, 1041, 4369, 0, 0}, {170, 2082, 4680, 0, 0, 0, 0}, {51, 783, 95, 1043, 4124, 0, 0}, {108, 1064, 4096, 0, 0, 0, 0}, {85, 1829, 4656, 0, 0, 0, 0}, {102, 1066, 4608, 0, 0, 0, 0}, {95, 1831, 4144, 0, 0, 0, 0}, {160, 2088, 4192, 0, 0, 0, 0}, {51, 783, 85, 1049, 4352, 0, 0}, {170, 2090, 4714, 0, 0, 0, 0}, {51, 783, 95, 1051, 4111, 0, 0}, {108, 1056, 4128, 0, 0, 0, 0}, {85, 1837, 4626, 0, 0, 0, 0}, {102, 1058, 4642, 0, 0, 0, 0}, {95, 1839, 4112, 0, 0, 0, 0}, {2048, 12528, 16384, 0, 0, 0, 0}, {10, 51, 85, 260, 0, 0, 0}, {10, 514, 4208, 0, 0, 0, 0}, {51, 780, 1036, 0, 0, 0, 0}, {204, 12336, 1028, 0, 0, 0, 0}, {10, 512, 85, 1280, 4096, 0, 0}, {10, 512, 102, 1030, 4144, 0, 0}, {255, 12288, 1800, 0, 0, 0, 0}, {2056, 12528, 16512, 0, 0, 0, 0}, {10, 51, 85, 262, 0, 0, 0}, {10, 512, 4176, 0, 0, 0, 0}, {51, 780, 1028, 0, 0, 0, 0}, {204, 12336, 1036, 0, 0, 0, 0}, {10, 514, 85, 1280, 4128, 0, 0}, {10, 514, 102, 1028, 4112, 0, 0}, {255, 12288, 1792, 0, 0, 0, 0}, {2560, 13056, 21760, 0, 0, 0, 0}, {8, 48, 64, 257, 0, 0, 0}, {8, 514, 4386, 0, 0, 0, 0}, {48, 771, 1295, 0, 0, 0, 0}, {8, 512, 64, 1028, 4356, 0, 0}, {240, 13071, 1285, 0, 0, 0, 0}, {192, 13068, 1542, 0, 0, 0, 0}, {8, 512, 112, 1287, 4359, 0, 0}, {8, 512, 4352, 0, 0, 0, 0}, {48, 771, 1285, 0, 0, 0, 0}, {2570, 13056, 21930, 0, 0, 0, 0}, {8, 48, 64, 259, 0, 0, 0}, {192, 13068, 1548, 0, 0, 0, 0}, {8, 514, 112, 1285, 4389, 0, 0}, {8, 514, 64, 1028, 4390, 0, 0}, {240, 13071, 1295, 0, 0, 0, 0}, {48, 768, 64, 1296, 4112, 0, 0}, {136, 2594, 4369, 0, 0, 0, 0}, {48, 768, 72, 1298, 4370, 0, 0}, {128, 2592, 4883, 0, 0, 0, 0}, {120, 1320, 4412, 0, 0, 0, 0}, {64, 1578, 4927, 0, 0, 0, 0}, {112, 1322, 4924, 0, 0, 0, 0}, {72, 1576, 4415, 0, 0, 0, 0}, {48, 768, 72, 1304, 4352, 0, 0}, {128, 2602, 4915, 0, 0, 0, 0}, {48, 768, 64, 1306, 4096, 0, 0}, {136, 2600, 4403, 0, 0, 0, 0}, {112, 1312, 4892, 0, 0, 0, 0}, {72, 1570, 4381, 0, 0, 0, 0}, {120, 1314, 4382, 0, 0, 0, 0}, {64, 1568, 4895, 0, 0, 0, 0}, {128, 2592, 4896, 0, 0, 0, 0}, {48, 771, 72, 1309, 4369, 0, 0}, {136, 2594, 4386, 0, 0, 0, 0}, {48, 771, 64, 1311, 4112, 0, 0}, {72, 1572, 4364, 0, 0, 0, 0}, {112, 1317, 4879, 0, 0, 0, 0}, {64, 1574, 4876, 0, 0, 0, 0}, {120, 1319, 4367, 0, 0, 0, 0}, {136, 2600, 4352, 0, 0, 0, 0}, {48, 771, 64, 1301, 4096, 0, 0}, {128, 2602, 4864, 0, 0, 0, 0}, {48, 771, 72, 1303, 4355, 0, 0}, {64, 1580, 4908, 0, 0, 0, 0}, {120, 1325, 4397, 0, 0, 0, 0}, {72, 1582, 4398, 0, 0, 0, 0}, {112, 1327, 4911, 0, 0, 0, 0}, {48, 768, 1280, 0, 0, 0, 0}, {8, 514, 4369, 0, 0, 0, 0}, {8, 48, 64, 258, 0, 0, 0}, {2560, 13107, 22015, 0, 0, 0, 0}, {8, 512, 112, 1280, 4404, 0, 0}, {192, 13119, 1546, 0, 0, 0, 0}, {240, 13116, 1290, 0, 0, 0, 0}, {8, 512, 64, 1024, 4407, 0, 0}, {8, 48, 64, 256, 0, 0, 0}, {2570, 13107, 21845, 0, 0, 0, 0}, {48, 768, 1290, 0, 0, 0, 0}, {8, 512, 4403, 0, 0, 0, 0}, {240, 13116, 1280, 0, 0, 0, 0}, {8, 514, 64, 1024, 4373, 0, 0}, {8, 514, 112, 1282, 4374, 0, 0}, {192, 13119, 1536, 0, 0, 0, 0}, {64, 1536, 4864, 0, 0, 0, 0}, {120, 1285, 4369, 0, 0, 0, 0}, {72, 1546, 4386, 0, 0, 0, 0}, {112, 1295, 4915, 0, 0, 0, 0}, {136, 2560, 4420, 0, 0, 0, 0}, {48, 783, 64, 1285, 4112, 0, 0}, {128, 2570, 4972, 0, 0, 0, 0}, {48, 783, 72, 1295, 4367, 0, 0}, {72, 1536, 4352, 0, 0, 0, 0}, {112, 1285, 4883, 0, 0, 0, 0}, {64, 1546, 4896, 0, 0, 0, 0}, {120, 1295, 4403, 0, 0, 0, 0}, {128, 2560, 4940, 0, 0, 0, 0}, {48, 783, 72, 1285, 4381, 0, 0}, {136, 2570, 4454, 0, 0, 0, 0}, {48, 783, 64, 1295, 4096, 0, 0}, {240, 13056, 1360, 0, 0, 0, 0}, {8, 546, 64, 1028, 4369, 0, 0}, {8, 546, 112, 1314, 4386, 0, 0}, {192, 13107, 1644, 0, 0, 0, 0}, {8, 48, 64, 276, 0, 0, 0}, {2730, 13311, 21845, 0, 0, 0, 0}, {48, 780, 1370, 0, 0, 0, 0}, {8, 544, 4471, 0, 0, 0, 0}, {8, 544, 112, 1312, 4352, 0, 0}, {192, 13107, 1638, 0, 0, 0, 0}, {240, 13056, 1370, 0, 0, 0, 0}, {8, 544, 64, 1028, 4403, 0, 0}, {48, 780, 1360, 0, 0, 0, 0}, {8, 546, 4437, 0, 0, 0, 0}, {8, 48, 64, 278, 0, 0, 0}, {2720, 13311, 22015, 0, 0, 0, 0}, {192, 13056, 1632, 0, 0, 0, 0}, {8, 546, 112, 1317, 4369, 0, 0}, {8, 546, 64, 1024, 4386, 0, 0}, {240, 13107, 1375, 0, 0, 0, 0}, {8, 544, 4420, 0, 0, 0, 0}, {48, 783, 1365, 0, 0, 0, 0}, {2730, 13260, 21930, 0, 0, 0, 0}, {8, 48, 64, 279, 0, 0, 0}, {8, 544, 64, 1024, 4352, 0, 0}, {240, 13107, 1365, 0, 0, 0, 0}, {192, 13056, 1642, 0, 0, 0, 0}, {8, 544, 112, 1319, 4403, 0, 0}, {2720, 13260, 21760, 0, 0, 0, 0}, {8, 48, 64, 277, 0, 0, 0}, {8, 546, 4454, 0, 0, 0, 0}, {48, 783, 1375, 0, 0, 0, 0}, {112, 1280, 4864, 0, 0, 0, 0}, {72, 1542, 4369, 0, 0, 0, 0}, {120, 1290, 4386, 0, 0, 0, 0}, {64, 1548, 4915, 0, 0, 0, 0}, {48, 780, 72, 1280, 4364, 0, 0}, {128, 2570, 4959, 0, 0, 0, 0}, {48, 780, 64, 1290, 4112, 0, 0}, {136, 2560, 4471, 0, 0, 0, 0}, {120, 1280, 4352, 0, 0, 0, 0}, {64, 1542, 4883, 0, 0, 0, 0}, {112, 1290, 4896, 0, 0, 0, 0}, {72, 1548, 4403, 0, 0, 0, 0}, {48, 780, 64, 1280, 4096, 0, 0}, {136, 2570, 4437, 0, 0, 0, 0}, {48, 780, 72, 1290, 4382, 0, 0}, {128, 2560, 4991, 0, 0, 0, 0}, {128, 2560, 4864, 0, 0, 0, 0}, {48, 771, 72, 1285, 4369, 0, 0}, {136, 2570, 4386, 0, 0, 0, 0}, {48, 771, 64, 1295, 4096, 0, 0}, {72, 1548, 4364, 0, 0, 0, 0}, {112, 1285, 4911, 0, 0, 0, 0}, {64, 1542, 4908, 0, 0, 0, 0}, {120, 1295, 4367, 0, 0, 0, 0}, {136, 2560, 4352, 0, 0, 0, 0}, {48, 771, 64, 1285, 4112, 0, 0}, {128, 2570, 4896, 0, 0, 0, 0}, {48, 771, 72, 1295, 4355, 0, 0}, {64, 1548, 4876, 0, 0, 0, 0}, {120, 1285, 4397, 0, 0, 0, 0}, {72, 1542, 4398, 0, 0, 0, 0}, {112, 1295, 4879, 0, 0, 0, 0}, {48, 768, 1360, 0, 0, 0, 0}, {8, 546, 4369, 0, 0, 0, 0}, {8, 48, 64, 274, 0, 0, 0}, {2720, 13107, 22015, 0, 0, 0, 0}, {8, 544, 112, 1312, 4404, 0, 0}, {192, 13119, 1642, 0, 0, 0, 0}, {240, 13116, 1370, 0, 0, 0, 0}, {8, 544, 64, 1024, 4407, 0, 0}, {8, 48, 64, 272, 0, 0, 0}, {2730, 13107, 21845, 0, 0, 0, 0}, {48, 768, 1370, 0, 0, 0, 0}, {8, 544, 4403, 0, 0, 0, 0}, {240, 13116, 1360, 0, 0, 0, 0}, {8, 546, 64, 1024, 4373, 0, 0}, {8, 546, 112, 1314, 4374, 0, 0}, {192, 13119, 1632, 0, 0, 0, 0}, {2720, 13056, 21760, 0, 0, 0, 0}, {8, 48, 64, 273, 0, 0, 0}, {8, 546, 4386, 0, 0, 0, 0}, {48, 771, 1375, 0, 0, 0, 0}, {8, 544, 64, 1028, 4356, 0, 0}, {240, 13071, 1365, 0, 0, 0, 0}, {192, 13068, 1638, 0, 0, 0, 0}, {8, 544, 112, 1319, 4359, 0, 0}, {8, 544, 4352, 0, 0, 0, 0}, {48, 771, 1365, 0, 0, 0, 0}, {2730, 13056, 21930, 0, 0, 0, 0}, {8, 48, 64, 275, 0, 0, 0}, {192, 13068, 1644, 0, 0, 0, 0}, {8, 546, 112, 1317, 4389, 0, 0}, {8, 546, 64, 1028, 4390, 0, 0}, {240, 13071, 1375, 0, 0, 0, 0}, {48, 768, 64, 1280, 4096, 0, 0}, {136, 2570, 4369, 0, 0, 0, 0}, {48, 768, 72, 1290, 4370, 0, 0}, {128, 2560, 4915, 0, 0, 0, 0}, {120, 1280, 4412, 0, 0, 0, 0}, {64, 1546, 4895, 0, 0, 0, 0}, {112, 1290, 4892, 0, 0, 0, 0}, {72, 1536, 4415, 0, 0, 0, 0}, {48, 768, 72, 1280, 4352, 0, 0}, {128, 2570, 4883, 0, 0, 0, 0}, {48, 768, 64, 1290, 4112, 0, 0}, {136, 2560, 4403, 0, 0, 0, 0}, {112, 1280, 4924, 0, 0, 0, 0}, {72, 1546, 4381, 0, 0, 0, 0}, {120, 1290, 4382, 0, 0, 0, 0}, {64, 1536, 4927, 0, 0, 0, 0}, {192, 13056, 1536, 0, 0, 0, 0}, {8, 514, 112, 1285, 4369, 0, 0}, {8, 514, 64, 1024, 4386, 0, 0}, {240, 13107, 1295, 0, 0, 0, 0}, {8, 512, 4420, 0, 0, 0, 0}, {48, 783, 1285, 0, 0, 0, 0}, {2570, 13260, 21930, 0, 0, 0, 0}, {8, 48, 64, 263, 0, 0, 0}, {8, 512, 64, 1024, 4352, 0, 0}, {240, 13107, 1285, 0, 0, 0, 0}, {192, 13056, 1546, 0, 0, 0, 0}, {8, 512, 112, 1287, 4403, 0, 0}, {2560, 13260, 21760, 0, 0, 0, 0}, {8, 48, 64, 261, 0, 0, 0}, {8, 514, 4454, 0, 0, 0, 0}, {48, 783, 1295, 0, 0, 0, 0}, {112, 1312, 4896, 0, 0, 0, 0}, {72, 1582, 4369, 0, 0, 0, 0}, {120, 1314, 4386, 0, 0, 0, 0}, {64, 1580, 4883, 0, 0, 0, 0}, {48, 780, 72, 1304, 4364, 0, 0}, {128, 2602, 4991, 0, 0, 0, 0}, {48, 780, 64, 1306, 4096, 0, 0}, {136, 2600, 4471, 0, 0, 0, 0}, {120, 1320, 4352, 0, 0, 0, 0}, {64, 1574, 4915, 0, 0, 0, 0}, {112, 1322, 4864, 0, 0, 0, 0}, {72, 1572, 4403, 0, 0, 0, 0}, {48, 780, 64, 1296, 4112, 0, 0}, {136, 2594, 4437, 0, 0, 0, 0}, {48, 780, 72, 1298, 4382, 0, 0}, {128, 2592, 4959, 0, 0, 0, 0}, {64, 1568, 4896, 0, 0, 0, 0}, {120, 1325, 4369, 0, 0, 0, 0}, {72, 1570, 4386, 0, 0, 0, 0}, {112, 1327, 4883, 0, 0, 0, 0}, {136, 2600, 4420, 0, 0, 0, 0}, {48, 783, 64, 1301, 4096, 0, 0}, {128, 2602, 4940, 0, 0, 0, 0}, {48, 783, 72, 1303, 4367, 0, 0}, {72, 1576, 4352, 0, 0, 0, 0}, {112, 1317, 4915, 0, 0, 0, 0}, {64, 1578, 4864, 0, 0, 0, 0}, {120, 1319, 4403, 0, 0, 0, 0}, {128, 2592, 4972, 0, 0, 0, 0}, {48, 783, 72, 1309, 4381, 0, 0}, {136, 2594, 4454, 0, 0, 0, 0}, {48, 783, 64, 1311, 4112, 0, 0}, {240, 13056, 1280, 0, 0, 0, 0}, {8, 514, 64, 1028, 4369, 0, 0}, {8, 514, 112, 1282, 4386, 0, 0}, {192, 13107, 1548, 0, 0, 0, 0}, {8, 48, 64, 260, 0, 0, 0}, {2570, 13311, 21845, 0, 0, 0, 0}, {48, 780, 1290, 0, 0, 0, 0}, {8, 512, 4471, 0, 0, 0, 0}, {8, 512, 112, 1280, 4352, 0, 0}, {192, 13107, 1542, 0, 0, 0, 0}, {240, 13056, 1290, 0, 0, 0, 0}, {8, 512, 64, 1028, 4403, 0, 0}, {48, 780, 1280, 0, 0, 0, 0}, {8, 514, 4437, 0, 0, 0, 0}, {8, 48, 64, 262, 0, 0, 0}, {2560, 13311, 22015, 0, 0, 0, 0}, {2560, 12288, 20480, 0, 0, 0, 0}, {8, 51, 68, 257, 0, 0, 0}, {8, 514, 4128, 0, 0, 0, 0}, {51, 771, 1295, 0, 0, 0, 0}, {8, 512, 68, 1028, 4100, 0, 0}, {255, 12303, 1285, 0, 0, 0, 0}, {204, 12300, 1542, 0, 0, 0, 0}, {8, 512, 119, 1287, 4103, 0, 0}, {8, 512, 4096, 0, 0, 0, 0}, {51, 771, 1285, 0, 0, 0, 0}, {2570, 12288, 20640, 0, 0, 0, 0}, {8, 51, 68, 259, 0, 0, 0}, {204, 12300, 1548, 0, 0, 0, 0}, {8, 514, 119, 1285, 4135, 0, 0}, {8, 514, 68, 1028, 4132, 0, 0}, {255, 12303, 1295, 0, 0, 0, 0}, {128, 2592, 4112, 0, 0, 0, 0}, {51, 768, 68, 1297, 4369, 0, 0}, {136, 2594, 4626, 0, 0, 0, 0}, {51, 768, 76, 1299, 4115, 0, 0}, {68, 1576, 4668, 0, 0, 0, 0}, {127, 1322, 4159, 0, 0, 0, 0}, {76, 1578, 4156, 0, 0, 0, 0}, {119, 1320, 4671, 0, 0, 0, 0}, {136, 2600, 4656, 0, 0, 0, 0}, {51, 768, 76, 1305, 4096, 0, 0}, {128, 2602, 4144, 0, 0, 0, 0}, {51, 768, 68, 1307, 4352, 0, 0}, {76, 1568, 4124, 0, 0, 0, 0}, {119, 1314, 4637, 0, 0, 0, 0}, {68, 1570, 4638, 0, 0, 0, 0}, {127, 1312, 4127, 0, 0, 0, 0}, {128, 2592, 4128, 0, 0, 0, 0}, {51, 771, 68, 1310, 4369, 0, 0}, {136, 2594, 4642, 0, 0, 0, 0}, {51, 771, 76, 1308, 4112, 0, 0}, {68, 1572, 4620, 0, 0, 0, 0}, {127, 1317, 4111, 0, 0, 0, 0}, {76, 1574, 4108, 0, 0, 0, 0}, {119, 1319, 4623, 0, 0, 0, 0}, {136, 2600, 4608, 0, 0, 0, 0}, {51, 771, 76, 1302, 4099, 0, 0}, {128, 2602, 4096, 0, 0, 0, 0}, {51, 771, 68, 1300, 4352, 0, 0}, {76, 1580, 4140, 0, 0, 0, 0}, {119, 1325, 4653, 0, 0, 0, 0}, {68, 1582, 4654, 0, 0, 0, 0}, {127, 1327, 4143, 0, 0, 0, 0}, {2560, 12336, 20720, 0, 0, 0, 0}, {8, 51, 68, 258, 0, 0, 0}, {8, 514, 4112, 0, 0, 0, 0}, {51, 768, 1280, 0, 0, 0, 0}, {8, 512, 68, 1024, 4148, 0, 0}, {255, 12351, 1290, 0, 0, 0, 0}, {204, 12348, 1546, 0, 0, 0, 0}, {8, 512, 119, 1280, 4151, 0, 0}, {8, 512, 4144, 0, 0, 0, 0}, {51, 768, 1290, 0, 0, 0, 0}, {2570, 12336, 20560, 0, 0, 0, 0}, {8, 51, 68, 256, 0, 0, 0}, {204, 12348, 1536, 0, 0, 0, 0}, {8, 514, 119, 1282, 4119, 0, 0}, {8, 514, 68, 1024, 4116, 0, 0}, {255, 12351, 1280, 0, 0, 0, 0}, {128, 2560, 4160, 0, 0, 0, 0}, {51, 783, 68, 1285, 4369, 0, 0}, {136, 2570, 4714, 0, 0, 0, 0}, {51, 783, 76, 1295, 4111, 0, 0}, {68, 1536, 4608, 0, 0, 0, 0}, {127, 1285, 4112, 0, 0, 0, 0}, {76, 1546, 4128, 0, 0, 0, 0}, {119, 1295, 4656, 0, 0, 0, 0}, {136, 2560, 4680, 0, 0, 0, 0}, {51, 783, 76, 1285, 4124, 0, 0}, {128, 2570, 4192, 0, 0, 0, 0}, {51, 783, 68, 1295, 4352, 0, 0}, {76, 1536, 4096, 0, 0, 0, 0}, {119, 1285, 4626, 0, 0, 0, 0}, {68, 1546, 4642, 0, 0, 0, 0}, {127, 1295, 4144, 0, 0, 0, 0}, {2720, 12528, 20560, 0, 0, 0, 0}, {8, 51, 68, 277, 0, 0, 0}, {8, 546, 4208, 0, 0, 0, 0}, {51, 780, 1375, 0, 0, 0, 0}, {8, 544, 68, 1028, 4112, 0, 0}, {255, 12288, 1365, 0, 0, 0, 0}, {204, 12336, 1642, 0, 0, 0, 0}, {8, 544, 119, 1312, 4128, 0, 0}, {8, 544, 4176, 0, 0, 0, 0}, {51, 780, 1365, 0, 0, 0, 0}, {2730, 12528, 20720, 0, 0, 0, 0}, {8, 51, 68, 279, 0, 0, 0}, {204, 12336, 1632, 0, 0, 0, 0}, {8, 546, 119, 1314, 4096, 0, 0}, {8, 546, 68, 1028, 4144, 0, 0}, {255, 12288, 1375, 0, 0, 0, 0}, {2720, 12480, 20640, 0, 0, 0, 0}, {8, 51, 68, 278, 0, 0, 0}, {8, 546, 4160, 0, 0, 0, 0}, {51, 783, 1360, 0, 0, 0, 0}, {8, 544, 68, 1024, 4128, 0, 0}, {255, 12336, 1370, 0, 0, 0, 0}, {204, 12288, 1638, 0, 0, 0, 0}, {8, 544, 119, 1319, 4112, 0, 0}, {8, 544, 4192, 0, 0, 0, 0}, {51, 783, 1370, 0, 0, 0, 0}, {2730, 12480, 20480, 0, 0, 0, 0}, {8, 51, 68, 276, 0, 0, 0}, {204, 12288, 1644, 0, 0, 0, 0}, {8, 546, 119, 1317, 4144, 0, 0}, {8, 546, 68, 1024, 4096, 0, 0}, {255, 12336, 1360, 0, 0, 0, 0}, {128, 2560, 4208, 0, 0, 0, 0}, {51, 780, 68, 1290, 4369, 0, 0}, {136, 2570, 4698, 0, 0, 0, 0}, {51, 780, 76, 1280, 4108, 0, 0}, {68, 1548, 4656, 0, 0, 0, 0}, {127, 1290, 4128, 0, 0, 0, 0}, {76, 1542, 4112, 0, 0, 0, 0}, {119, 1280, 4608, 0, 0, 0, 0}, {136, 2560, 4728, 0, 0, 0, 0}, {51, 780, 76, 1290, 4127, 0, 0}, {128, 2570, 4176, 0, 0, 0, 0}, {51, 780, 68, 1280, 4352, 0, 0}, {76, 1548, 4144, 0, 0, 0, 0}, {119, 1290, 4642, 0, 0, 0, 0}, {68, 1542, 4626, 0, 0, 0, 0}, {127, 1280, 4096, 0, 0, 0, 0}, {128, 2560, 4096, 0, 0, 0, 0}, {51, 771, 68, 1285, 4369, 0, 0}, {136, 2570, 4642, 0, 0, 0, 0}, {51, 771, 76, 1295, 4099, 0, 0}, {68, 1548, 4620, 0, 0, 0, 0}, {127, 1285, 4143, 0, 0, 0, 0}, {76, 1542, 4140, 0, 0, 0, 0}, {119, 1295, 4623, 0, 0, 0, 0}, {136, 2560, 4608, 0, 0, 0, 0}, {51, 771, 76, 1285, 4112, 0, 0}, {128, 2570, 4128, 0, 0, 0, 0}, {51, 771, 68, 1295, 4352, 0, 0}, {76, 1548, 4108, 0, 0, 0, 0}, {119, 1285, 4653, 0, 0, 0, 0}, {68, 1542, 4654, 0, 0, 0, 0}, {127, 1295, 4111, 0, 0, 0, 0}, {2720, 12336, 20560, 0, 0, 0, 0}, {8, 51, 68, 273, 0, 0, 0}, {8, 546, 4144, 0, 0, 0, 0}, {51, 768, 1375, 0, 0, 0, 0}, {8, 544, 68, 1024, 4116, 0, 0}, {255, 12351, 1365, 0, 0, 0, 0}, {204, 12348, 1638, 0, 0, 0, 0}, {8, 544, 119, 1312, 4119, 0, 0}, {8, 544, 4112, 0, 0, 0, 0}, {51, 768, 1365, 0, 0, 0, 0}, {2730, 12336, 20720, 0, 0, 0, 0}, {8, 51, 68, 275, 0, 0, 0}, {204, 12348, 1644, 0, 0, 0, 0}, {8, 546, 119, 1314, 4151, 0, 0}, {8, 546, 68, 1024, 4148, 0, 0}, {255, 12351, 1375, 0, 0, 0, 0}, {2720, 12288, 20640, 0, 0, 0, 0}, {8, 51, 68, 274, 0, 0, 0}, {8, 546, 4096, 0, 0, 0, 0}, {51, 771, 1360, 0, 0, 0, 0}, {8, 544, 68, 1028, 4132, 0, 0}, {255, 12303, 1370, 0, 0, 0, 0}, {204, 12300, 1642, 0, 0, 0, 0}, {8, 544, 119, 1319, 4135, 0, 0}, {8, 544, 4128, 0, 0, 0, 0}, {51, 771, 1370, 0, 0, 0, 0}, {2730, 12288, 20480, 0, 0, 0, 0}, {8, 51, 68, 272, 0, 0, 0}, {204, 12300, 1632, 0, 0, 0, 0}, {8, 546, 119, 1317, 4103, 0, 0}, {8, 546, 68, 1028, 4100, 0, 0}, {255, 12303, 1360, 0, 0, 0, 0}, {128, 2560, 4144, 0, 0, 0, 0}, {51, 768, 68, 1290, 4369, 0, 0}, {136, 2570, 4626, 0, 0, 0, 0}, {51, 768, 76, 1280, 4096, 0, 0}, {68, 1536, 4668, 0, 0, 0, 0}, {127, 1290, 4127, 0, 0, 0, 0}, {76, 1546, 4124, 0, 0, 0, 0}, {119, 1280, 4671, 0, 0, 0, 0}, {136, 2560, 4656, 0, 0, 0, 0}, {51, 768, 76, 1290, 4115, 0, 0}, {128, 2570, 4112, 0, 0, 0, 0}, {51, 768, 68, 1280, 4352, 0, 0}, {76, 1536, 4156, 0, 0, 0, 0}, {119, 1290, 4637, 0, 0, 0, 0}, {68, 1546, 4638, 0, 0, 0, 0}, {127, 1280, 4159, 0, 0, 0, 0}, {2560, 12480, 20480, 0, 0, 0, 0}, {8, 51, 68, 261, 0, 0, 0}, {8, 514, 4192, 0, 0, 0, 0}, {51, 783, 1295, 0, 0, 0, 0}, {8, 512, 68, 1024, 4096, 0, 0}, {255, 12336, 1285, 0, 0, 0, 0}, {204, 12288, 1546, 0, 0, 0, 0}, {8, 512, 119, 1287, 4144, 0, 0}, {8, 512, 4160, 0, 0, 0, 0}, {51, 783, 1285, 0, 0, 0, 0}, {2570, 12480, 20640, 0, 0, 0, 0}, {8, 51, 68, 263, 0, 0, 0}, {204, 12288, 1536, 0, 0, 0, 0}, {8, 514, 119, 1285, 4112, 0, 0}, {8, 514, 68, 1024, 4128, 0, 0}, {255, 12336, 1295, 0, 0, 0, 0}, {128, 2592, 4176, 0, 0, 0, 0}, {51, 780, 68, 1297, 4369, 0, 0}, {136, 2594, 4698, 0, 0, 0, 0}, {51, 780, 76, 1299, 4127, 0, 0}, {68, 1572, 4656, 0, 0, 0, 0}, {127, 1322, 4096, 0, 0, 0, 0}, {76, 1574, 4144, 0, 0, 0, 0}, {119, 1320, 4608, 0, 0, 0, 0}, {136, 2600, 4728, 0, 0, 0, 0}, {51, 780, 76, 1305, 4108, 0, 0}, {128, 2602, 4208, 0, 0, 0, 0}, {51, 780, 68, 1307, 4352, 0, 0}, {76, 1580, 4112, 0, 0, 0, 0}, {119, 1314, 4642, 0, 0, 0, 0}, {68, 1582, 4626, 0, 0, 0, 0}, {127, 1312, 4128, 0, 0, 0, 0}, {128, 2592, 4192, 0, 0, 0, 0}, {51, 783, 68, 1310, 4369, 0, 0}, {136, 2594, 4714, 0, 0, 0, 0}, {51, 783, 76, 1308, 4124, 0, 0}, {68, 1576, 4608, 0, 0, 0, 0}, {127, 1317, 4144, 0, 0, 0, 0}, {76, 1578, 4096, 0, 0, 0, 0}, {119, 1319, 4656, 0, 0, 0, 0}, {136, 2600, 4680, 0, 0, 0, 0}, {51, 783, 76, 1302, 4111, 0, 0}, {128, 2602, 4160, 0, 0, 0, 0}, {51, 783, 68, 1300, 4352, 0, 0}, {76, 1568, 4128, 0, 0, 0, 0}, {119, 1325, 4626, 0, 0, 0, 0}, {68, 1570, 4642, 0, 0, 0, 0}, {127, 1327, 4112, 0, 0, 0, 0}, {2560, 12528, 20720, 0, 0, 0, 0}, {8, 51, 68, 262, 0, 0, 0}, {8, 514, 4176, 0, 0, 0, 0}, {51, 780, 1280, 0, 0, 0, 0}, {8, 512, 68, 1028, 4144, 0, 0}, {255, 12288, 1290, 0, 0, 0, 0}, {204, 12336, 1542, 0, 0, 0, 0}, {8, 512, 119, 1280, 4096, 0, 0}, {8, 512, 4208, 0, 0, 0, 0}, {51, 780, 1290, 0, 0, 0, 0}, {2570, 12528, 20560, 0, 0, 0, 0}, {8, 51, 68, 260, 0, 0, 0}, {204, 12336, 1548, 0, 0, 0, 0}, {8, 514, 119, 1282, 4128, 0, 0}, {8, 514, 68, 1028, 4112, 0, 0}, {255, 12288, 1280, 0, 0, 0, 0}, {2048, 13056, 17408, 0, 0, 0, 0}, {10, 48, 80, 257, 0, 0, 0}, {10, 514, 4386, 0, 0, 0, 0}, {48, 771, 1036, 0, 0, 0, 0}, {192, 13068, 1028, 0, 0, 0, 0}, {10, 512, 80, 1285, 4357, 0, 0}, {10, 512, 96, 1030, 4358, 0, 0}, {240, 13071, 1799, 0, 0, 0, 0}, {2056, 13056, 17544, 0, 0, 0, 0}, {10, 48, 80, 259, 0, 0, 0}, {10, 512, 4352, 0, 0, 0, 0}, {48, 771, 1028, 0, 0, 0, 0}, {192, 13068, 1036, 0, 0, 0, 0}, {10, 514, 80, 1285, 4391, 0, 0}, {10, 514, 96, 1028, 4388, 0, 0}, {240, 13071, 1807, 0, 0, 0, 0}, {48, 768, 80, 1040, 4112, 0, 0}, {170, 2082, 4369, 0, 0, 0, 0}, {48, 768, 90, 1042, 4370, 0, 0}, {160, 2080, 4883, 0, 0, 0, 0}, {80, 1832, 4924, 0, 0, 0, 0}, {106, 1066, 4415, 0, 0, 0, 0}, {90, 1834, 4412, 0, 0, 0, 0}, {96, 1064, 4927, 0, 0, 0, 0}, {48, 768, 80, 1048, 4096, 0, 0}, {170, 2090, 4403, 0, 0, 0, 0}, {48, 768, 90, 1050, 4352, 0, 0}, {160, 2088, 4915, 0, 0, 0, 0}, {80, 1824, 4892, 0, 0, 0, 0}, {106, 1058, 4381, 0, 0, 0, 0}, {90, 1826, 4382, 0, 0, 0, 0}, {96, 1056, 4895, 0, 0, 0, 0}, {160, 2080, 4896, 0, 0, 0, 0}, {48, 771, 90, 1054, 4369, 0, 0}, {170, 2082, 4386, 0, 0, 0, 0}, {48, 771, 80, 1052, 4112, 0, 0}, {96, 1060, 4876, 0, 0, 0, 0}, {90, 1829, 4367, 0, 0, 0, 0}, {106, 1062, 4364, 0, 0, 0, 0}, {80, 1831, 4879, 0, 0, 0, 0}, {160, 2088, 4864, 0, 0, 0, 0}, {48, 771, 90, 1046, 4355, 0, 0}, {170, 2090, 4352, 0, 0, 0, 0}, {48, 771, 80, 1044, 4096, 0, 0}, {96, 1068, 4908, 0, 0, 0, 0}, {90, 1837, 4397, 0, 0, 0, 0}, {106, 1070, 4398, 0, 0, 0, 0}, {80, 1839, 4911, 0, 0, 0, 0}, {48, 768, 1024, 0, 0, 0, 0}, {10, 514, 4369, 0, 0, 0, 0}, {10, 48, 80, 258, 0, 0, 0}, {2048, 13107, 17612, 0, 0, 0, 0}, {240, 13116, 1800, 0, 0, 0, 0}, {10, 512, 96, 1024, 4405, 0, 0}, {10, 512, 80, 1280, 4406, 0, 0}, {192, 13119, 1032, 0, 0, 0, 0}, {48, 768, 1032, 0, 0, 0, 0}, {10, 512, 4403, 0, 0, 0, 0}, {10, 48, 80, 256, 0, 0, 0}, {2056, 13107, 17476, 0, 0, 0, 0}, {240, 13116, 1792, 0, 0, 0, 0}, {10, 514, 96, 1026, 4375, 0, 0}, {10, 514, 80, 1280, 4372, 0, 0}, {192, 13119, 1024, 0, 0, 0, 0}, {192, 13056, 1088, 0, 0, 0, 0}, {10, 546, 80, 1285, 4369, 0, 0}, {10, 546, 96, 1058, 4386, 0, 0}, {240, 13107, 1919, 0, 0, 0, 0}, {2184, 13260, 17476, 0, 0, 0, 0}, {10, 48, 80, 277, 0, 0, 0}, {10, 544, 4454, 0, 0, 0, 0}, {48, 783, 1096, 0, 0, 0, 0}, {192, 13056, 1096, 0, 0, 0, 0}, {10, 544, 80, 1285, 4403, 0, 0}, {10, 544, 96, 1056, 4352, 0, 0}, {240, 13107, 1911, 0, 0, 0, 0}, {2176, 13260, 17612, 0, 0, 0, 0}, {10, 48, 80, 279, 0, 0, 0}, {10, 546, 4420, 0, 0, 0, 0}, {48, 783, 1088, 0, 0, 0, 0}, {80, 1792, 4864, 0, 0, 0, 0}, {106, 1028, 4369, 0, 0, 0, 0}, {90, 1800, 4386, 0, 0, 0, 0}, {96, 1036, 4915, 0, 0, 0, 0}, {48, 780, 80, 1028, 4112, 0, 0}, {170, 2048, 4437, 0, 0, 0, 0}, {48, 780, 90, 1036, 4364, 0, 0}, {160, 2056, 4991, 0, 0, 0, 0}, {80, 1800, 4896, 0, 0, 0, 0}, {106, 1036, 4403, 0, 0, 0, 0}, {90, 1792, 4352, 0, 0, 0, 0}, {96, 1028, 4883, 0, 0, 0, 0}, {48, 780, 80, 1036, 4096, 0, 0}, {170, 2056, 4471, 0, 0, 0, 0}, {48, 780, 90, 1028, 4382, 0, 0}, {160, 2048, 4959, 0, 0, 0, 0}, {96, 1024, 4864, 0, 0, 0, 0}, {90, 1799, 4369, 0, 0, 0, 0}, {106, 1032, 4386, 0, 0, 0, 0}, {80, 1807, 4915, 0, 0, 0, 0}, {160, 2056, 4940, 0, 0, 0, 0}, {48, 783, 90, 1024, 4367, 0, 0}, {170, 2048, 4454, 0, 0, 0, 0}, {48, 783, 80, 1032, 4112, 0, 0}, {96, 1032, 4896, 0, 0, 0, 0}, {90, 1807, 4403, 0, 0, 0, 0}, {106, 1024, 4352, 0, 0, 0, 0}, {80, 1799, 4883, 0, 0, 0, 0}, {160, 2048, 4972, 0, 0, 0, 0}, {48, 783, 90, 1032, 4381, 0, 0}, {170, 2056, 4420, 0, 0, 0, 0}, {48, 783, 80, 1024, 4096, 0, 0}, {240, 13056, 1904, 0, 0, 0, 0}, {10, 546, 96, 1060, 4369, 0, 0}, {10, 546, 80, 1280, 4386, 0, 0}, {192, 13107, 1100, 0, 0, 0, 0}, {48, 780, 1092, 0, 0, 0, 0}, {10, 544, 4437, 0, 0, 0, 0}, {10, 48, 80, 278, 0, 0, 0}, {2184, 13311, 17544, 0, 0, 0, 0}, {240, 13056, 1912, 0, 0, 0, 0}, {10, 544, 96, 1062, 4403, 0, 0}, {10, 544, 80, 1280, 4352, 0, 0}, {192, 13107, 1092, 0, 0, 0, 0}, {48, 780, 1100, 0, 0, 0, 0}, {10, 546, 4471, 0, 0, 0, 0}, {10, 48, 80, 276, 0, 0, 0}, {2176, 13311, 17408, 0, 0, 0, 0}, {2176, 13056, 17408, 0, 0, 0, 0}, {10, 48, 80, 273, 0, 0, 0}, {10, 546, 4386, 0, 0, 0, 0}, {48, 771, 1100, 0, 0, 0, 0}, {192, 13068, 1092, 0, 0, 0, 0}, {10, 544, 80, 1285, 4357, 0, 0}, {10, 544, 96, 1062, 4358, 0, 0}, {240, 13071, 1911, 0, 0, 0, 0}, {2184, 13056, 17544, 0, 0, 0, 0}, {10, 48, 80, 275, 0, 0, 0}, {10, 544, 4352, 0, 0, 0, 0}, {48, 771, 1092, 0, 0, 0, 0}, {192, 13068, 1100, 0, 0, 0, 0}, {10, 546, 80, 1285, 4391, 0, 0}, {10, 546, 96, 1060, 4388, 0, 0}, {240, 13071, 1919, 0, 0, 0, 0}, {48, 768, 80, 1024, 4096, 0, 0}, {170, 2056, 4369, 0, 0, 0, 0}, {48, 768, 90, 1032, 4370, 0, 0}, {160, 2048, 4915, 0, 0, 0, 0}, {80, 1800, 4892, 0, 0, 0, 0}, {106, 1024, 4415, 0, 0, 0, 0}, {90, 1792, 4412, 0, 0, 0, 0}, {96, 1032, 4895, 0, 0, 0, 0}, {48, 768, 80, 1032, 4112, 0, 0}, {170, 2048, 4403, 0, 0, 0, 0}, {48, 768, 90, 1024, 4352, 0, 0}, {160, 2056, 4883, 0, 0, 0, 0}, {80, 1792, 4924, 0, 0, 0, 0}, {106, 1032, 4381, 0, 0, 0, 0}, {90, 1800, 4382, 0, 0, 0, 0}, {96, 1024, 4927, 0, 0, 0, 0}, {160, 2048, 4864, 0, 0, 0, 0}, {48, 771, 90, 1028, 4369, 0, 0}, {170, 2056, 4386, 0, 0, 0, 0}, {48, 771, 80, 1036, 4096, 0, 0}, {96, 1028, 4908, 0, 0, 0, 0}, {90, 1807, 4367, 0, 0, 0, 0}, {106, 1036, 4364, 0, 0, 0, 0}, {80, 1799, 4911, 0, 0, 0, 0}, {160, 2056, 4896, 0, 0, 0, 0}, {48, 771, 90, 1036, 4355, 0, 0}, {170, 2048, 4352, 0, 0, 0, 0}, {48, 771, 80, 1028, 4112, 0, 0}, {96, 1036, 4876, 0, 0, 0, 0}, {90, 1799, 4397, 0, 0, 0, 0}, {106, 1028, 4398, 0, 0, 0, 0}, {80, 1807, 4879, 0, 0, 0, 0}, {48, 768, 1088, 0, 0, 0, 0}, {10, 546, 4369, 0, 0, 0, 0}, {10, 48, 80, 274, 0, 0, 0}, {2176, 13107, 17612, 0, 0, 0, 0}, {240, 13116, 1912, 0, 0, 0, 0}, {10, 544, 96, 1056, 4405, 0, 0}, {10, 544, 80, 1280, 4406, 0, 0}, {192, 13119, 1096, 0, 0, 0, 0}, {48, 768, 1096, 0, 0, 0, 0}, {10, 544, 4403, 0, 0, 0, 0}, {10, 48, 80, 272, 0, 0, 0}, {2184, 13107, 17476, 0, 0, 0, 0}, {240, 13116, 1904, 0, 0, 0, 0}, {10, 546, 96, 1058, 4375, 0, 0}, {10, 546, 80, 1280, 4372, 0, 0}, {192, 13119, 1088, 0, 0, 0, 0}, {192, 13056, 1024, 0, 0, 0, 0}, {10, 514, 80, 1285, 4369, 0, 0}, {10, 514, 96, 1026, 4386, 0, 0}, {240, 13107, 1807, 0, 0, 0, 0}, {2056, 13260, 17476, 0, 0, 0, 0}, {10, 48, 80, 261, 0, 0, 0}, {10, 512, 4454, 0, 0, 0, 0}, {48, 783, 1032, 0, 0, 0, 0}, {192, 13056, 1032, 0, 0, 0, 0}, {10, 512, 80, 1285, 4403, 0, 0}, {10, 512, 96, 1024, 4352, 0, 0}, {240, 13107, 1799, 0, 0, 0, 0}, {2048, 13260, 17612, 0, 0, 0, 0}, {10, 48, 80, 263, 0, 0, 0}, {10, 514, 4420, 0, 0, 0, 0}, {48, 783, 1024, 0, 0, 0, 0}, {80, 1824, 4896, 0, 0, 0, 0}, {106, 1070, 4369, 0, 0, 0, 0}, {90, 1826, 4386, 0, 0, 0, 0}, {96, 1068, 4883, 0, 0, 0, 0}, {48, 780, 80, 1044, 4096, 0, 0}, {170, 2090, 4437, 0, 0, 0, 0}, {48, 780, 90, 1046, 4364, 0, 0}, {160, 2088, 4959, 0, 0, 0, 0}, {80, 1832, 4864, 0, 0, 0, 0}, {106, 1062, 4403, 0, 0, 0, 0}, {90, 1834, 4352, 0, 0, 0, 0}, {96, 1060, 4915, 0, 0, 0, 0}, {48, 780, 80, 1052, 4112, 0, 0}, {170, 2082, 4471, 0, 0, 0, 0}, {48, 780, 90, 1054, 4382, 0, 0}, {160, 2080, 4991, 0, 0, 0, 0}, {96, 1056, 4896, 0, 0, 0, 0}, {90, 1837, 4369, 0, 0, 0, 0}, {106, 1058, 4386, 0, 0, 0, 0}, {80, 1839, 4883, 0, 0, 0, 0}, {160, 2088, 4972, 0, 0, 0, 0}, {48, 783, 90, 1050, 4367, 0, 0}, {170, 2090, 4454, 0, 0, 0, 0}, {48, 783, 80, 1048, 4096, 0, 0}, {96, 1064, 4864, 0, 0, 0, 0}, {90, 1829, 4403, 0, 0, 0, 0}, {106, 1066, 4352, 0, 0, 0, 0}, {80, 1831, 4915, 0, 0, 0, 0}, {160, 2080, 4940, 0, 0, 0, 0}, {48, 783, 90, 1042, 4381, 0, 0}, {170, 2082, 4420, 0, 0, 0, 0}, {48, 783, 80, 1040, 4112, 0, 0}, {240, 13056, 1792, 0, 0, 0, 0}, {10, 514, 96, 1028, 4369, 0, 0}, {10, 514, 80, 1280, 4386, 0, 0}, {192, 13107, 1036, 0, 0, 0, 0}, {48, 780, 1028, 0, 0, 0, 0}, {10, 512, 4437, 0, 0, 0, 0}, {10, 48, 80, 262, 0, 0, 0}, {2056, 13311, 17544, 0, 0, 0, 0}, {240, 13056, 1800, 0, 0, 0, 0}, {10, 512, 96, 1030, 4403, 0, 0}, {10, 512, 80, 1280, 4352, 0, 0}, {192, 13107, 1028, 0, 0, 0, 0}, {48, 780, 1036, 0, 0, 0, 0}, {10, 514, 4471, 0, 0, 0, 0}, {10, 48, 80, 260, 0, 0, 0}, {2048, 13311, 17408, 0, 0, 0, 0}, {15360, 0, 0, 0, 0, 0, 0}, {2, 21, 257, 0, 0, 0, 0}, {2, 5120, 0, 0, 0, 0, 0}, {63, 771, 0, 0, 0, 0, 0}, {8, 12288, 64, 1028, 0, 0, 0}, {10, 13056, 85, 1285, 0, 0, 0}, {10, 12288, 96, 1542, 0, 0, 0}, {8, 13056, 119, 1799, 0, 0, 0}, {8, 13312, 17408, 0, 0, 0, 0}, {10, 53, 771, 85, 1285, 0, 0}, {10, 13824, 20480, 0, 0, 0, 0}, {8, 55, 771, 64, 1028, 0, 0}, {192, 3084, 12288, 0, 0, 0, 0}, {2, 85, 1285, 4352, 0, 0, 0}, {2, 64, 1028, 4096, 0, 0, 0}, {255, 3855, 13056, 0, 0, 0, 0}, {3072, 32, 64, 4112, 0, 0, 0}, {3840, 34, 85, 4369, 0, 0, 0}, {3072, 34, 72, 4626, 0, 0, 0}, {3840, 32, 95, 4883, 0, 0, 0}, {40, 5140, 0, 0, 0, 0, 0}, {768, 21, 0, 0, 0, 0, 0}, {42, 5654, 0, 0, 0, 0, 0}, {768, 23, 0, 0, 0, 0, 0}, {3072, 40, 72, 5144, 0, 0, 0}, {3840, 42, 85, 5657, 0, 0, 0}, {3072, 42, 64, 5658, 0, 0, 0}, {3840, 40, 95, 5147, 0, 0, 0}, {7196, 32, 20560, 0, 0, 0, 0}, {29, 34, 768, 85, 4352, 0, 0}, {7710, 34, 17476, 0, 0, 0, 0}, {31, 32, 768, 64, 4096, 0, 0}, {7168, 32, 20480, 0, 0, 0, 0}, {29, 34, 771, 85, 4369, 0, 0}, {7680, 34, 17408, 0, 0, 0, 0}, {31, 32, 771, 64, 4112, 0, 0}, {3084, 40, 72, 5132, 0, 0, 0}, {3855, 42, 85, 5647, 0, 0, 0}, {3084, 42, 64, 5644, 0, 0, 0}, {3855, 40, 95, 5135, 0, 0, 0}, {40, 5120, 0, 0, 0, 0, 0}, {771, 21, 0, 0, 0, 0, 0}, {42, 5632, 0, 0, 0, 0, 0}, {771, 23, 0, 0, 0, 0, 0}, {3084, 32, 64, 4096, 0, 0, 0}, {3855, 34, 85, 4352, 0, 0, 0}, {3084, 34, 72, 4608, 0, 0, 0}, {3855, 32, 95, 4864, 0, 0, 0}, {192, 3072, 12336, 0, 0, 0, 0}, {2, 85, 1280, 4369, 0, 0, 0}, {2, 64, 1024, 4112, 0, 0, 0}, {255, 3840, 13107, 0, 0, 0, 0}, {8, 13364, 17476, 0, 0, 0, 0}, {10, 53, 768, 85, 1280, 0, 0}, {10, 13878, 20560, 0, 0, 0, 0}, {8, 55, 768, 64, 1024, 0, 0}, {8, 12336, 64, 1024, 0, 0, 0}, {10, 13107, 85, 1280, 0, 0, 0}, {10, 12336, 96, 1536, 0, 0, 0}, {8, 13107, 119, 1792, 0, 0, 0}, {15420, 0, 0, 0, 0, 0, 0}, {2, 21, 256, 0, 0, 0, 0}, {2, 5140, 0, 0, 0, 0, 0}, {63, 768, 0, 0, 0, 0, 0}, {3072, 12288, 64, 0, 0, 0, 0}, {10, 34, 85, 1285, 4369, 0, 0}, {10, 34, 66, 1536, 4608, 0, 0}, {3855, 13107, 127, 0, 0, 0, 0}, {136, 15428, 17476, 0, 0, 0, 0}, {10, 773, 1285, 21, 0, 0, 0}, {10, 32, 5702, 0, 0, 0, 0}, {63, 783, 72, 0, 0, 0, 0}, {3072, 12288, 72, 0, 0, 0, 0}, {10, 32, 85, 1285, 4883, 0, 0}, {10, 32, 64, 1536, 4096, 0, 0}, {3855, 13107, 119, 0, 0, 0, 0}, {128, 15436, 19532, 0, 0, 0, 0}, {10, 773, 1285, 23, 0, 0, 0}, {10, 34, 5188, 0, 0, 0, 0}, {63, 783, 64, 0, 0, 0, 0}, {160, 15440, 20560, 0, 0, 0, 0}, {8, 772, 1028, 21, 0, 0, 0}, {8, 34, 5714, 0, 0, 0, 0}, {63, 780, 95, 0, 0, 0, 0}, {8, 32, 64, 1028, 4112, 0, 0}, {3840, 13056, 85, 0, 0, 0, 0}, {3084, 12336, 106, 0, 0, 0, 0}, {8, 32, 87, 1792, 4864, 0, 0}, {8, 32, 5200, 0, 0, 0, 0}, {63, 780, 85, 0, 0, 0, 0}, {170, 15450, 23130, 0, 0, 0, 0}, {8, 772, 1028, 23, 0, 0, 0}, {3084, 12336, 96, 0, 0, 0, 0}, {8, 34, 85, 1792, 4352, 0, 0}, {8, 34, 64, 1028, 4626, 0, 0}, {3840, 13056, 95, 0, 0, 0, 0}, {3072, 12288, 96, 0, 0, 0, 0}, {8, 34, 85, 1799, 4369, 0, 0}, {8, 34, 64, 1024, 4608, 0, 0}, {3855, 13107, 95, 0, 0, 0, 0}, {8, 32, 5188, 0, 0, 0, 0}, {63, 783, 85, 0, 0, 0, 0}, {170, 15462, 23040, 0, 0, 0, 0}, {8, 775, 1024, 23, 0, 0, 0}, {8, 32, 64, 1024, 4096, 0, 0}, {3855, 13107, 85, 0, 0, 0, 0}, {3072, 12288, 106, 0, 0, 0, 0}, {8, 32, 87, 1799, 4883, 0, 0}, {160, 15468, 20480, 0, 0, 0, 0}, {8, 775, 1024, 21, 0, 0, 0}, {8, 34, 5700, 0, 0, 0, 0}, {63, 783, 95, 0, 0, 0, 0}, {128, 15472, 19456, 0, 0, 0, 0}, {10, 774, 1280, 23, 0, 0, 0}, {10, 34, 5200, 0, 0, 0, 0}, {63, 780, 64, 0, 0, 0, 0}, {3084, 12336, 72, 0, 0, 0, 0}, {10, 32, 85, 1280, 4864, 0, 0}, {10, 32, 64, 1542, 4112, 0, 0}, {3840, 13056, 119, 0, 0, 0, 0}, {136, 15480, 17408, 0, 0, 0, 0}, {10, 774, 1280, 21, 0, 0, 0}, {10, 32, 5712, 0, 0, 0, 0}, {63, 780, 72, 0, 0, 0, 0}, {3084, 12336, 64, 0, 0, 0, 0}, {10, 34, 85, 1280, 4352, 0, 0}, {10, 34, 66, 1542, 4626, 0, 0}, {3840, 13056, 127, 0, 0, 0, 0}, {128, 15360, 19456, 0, 0, 0, 0}, {10, 771, 1285, 23, 0, 0, 0}, {10, 34, 5120, 0, 0, 0, 0}, {63, 771, 64, 0, 0, 0, 0}, {3084, 12288, 72, 0, 0, 0, 0}, {10, 32, 85, 1285, 4864, 0, 0}, {10, 32, 64, 1542, 4096, 0, 0}, {3855, 13056, 119, 0, 0, 0, 0}, {136, 15360, 17408, 0, 0, 0, 0}, {10, 771, 1285, 21, 0, 0, 0}, {10, 32, 5632, 0, 0, 0, 0}, {63, 771, 72, 0, 0, 0, 0}, {3084, 12288, 64, 0, 0, 0, 0}, {10, 34, 85, 1285, 4352, 0, 0}, {10, 34, 66, 1542, 4608, 0, 0}, {3855, 13056, 127, 0, 0, 0, 0}, {3072, 12336, 96, 0, 0, 0, 0}, {8, 34, 85, 1792, 4369, 0, 0}, {8, 34, 64, 1024, 4626, 0, 0}, {3840, 13107, 95, 0, 0, 0, 0}, {8, 32, 5140, 0, 0, 0, 0}, {63, 768, 85, 0, 0, 0, 0}, {170, 15420, 23130, 0, 0, 0, 0}, {8, 768, 1024, 23, 0, 0, 0}, {8, 32, 64, 1024, 4112, 0, 0}, {3840, 13107, 85, 0, 0, 0, 0}, {3072, 12336, 106, 0, 0, 0, 0}, {8, 32, 87, 1792, 4883, 0, 0}, {160, 15420, 20560, 0, 0, 0, 0}, {8, 768, 1024, 21, 0, 0, 0}, {8, 34, 5654, 0, 0, 0, 0}, {63, 768, 95, 0, 0, 0, 0}, {160, 15360, 20480, 0, 0, 0, 0}, {8, 771, 1028, 21, 0, 0, 0}, {8, 34, 5632, 0, 0, 0, 0}, {63, 771, 95, 0, 0, 0, 0}, {8, 32, 64, 1028, 4096, 0, 0}, {3855, 13056, 85, 0, 0, 0, 0}, {3084, 12288, 106, 0, 0, 0, 0}, {8, 32, 87, 1799, 4864, 0, 0}, {8, 32, 5120, 0, 0, 0, 0}, {63, 771, 85, 0, 0, 0, 0}, {170, 15360, 23040, 0, 0, 0, 0}, {8, 771, 1028, 23, 0, 0, 0}, {3084, 12288, 96, 0, 0, 0, 0}, {8, 34, 85, 1799, 4352, 0, 0}, {8, 34, 64, 1028, 4608, 0, 0}, {3855, 13056, 95, 0, 0, 0, 0}, {3072, 12336, 64, 0, 0, 0, 0}, {10, 34, 85, 1280, 4369, 0, 0}, {10, 34, 66, 1536, 4626, 0, 0}, {3840, 13107, 127, 0, 0, 0, 0}, {136, 15420, 17476, 0, 0, 0, 0}, {10, 768, 1280, 21, 0, 0, 0}, {10, 32, 5654, 0, 0, 0, 0}, {63, 768, 72, 0, 0, 0, 0}, {3072, 12336, 72, 0, 0, 0, 0}, {10, 32, 85, 1280, 4883, 0, 0}, {10, 32, 64, 1536, 4112, 0, 0}, {3840, 13107, 119, 0, 0, 0, 0}, {128, 15420, 19532, 0, 0, 0, 0}, {10, 768, 1280, 23, 0, 0, 0}, {10, 34, 5140, 0, 0, 0, 0}, {63, 768, 64, 0, 0, 0, 0}, {192, 3072, 12288, 0, 0, 0, 0}, {2, 85, 1285, 4369, 0, 0, 0}, {2, 64, 1024, 4096, 0, 0, 0}, {255, 3855, 13107, 0, 0, 0, 0}, {8, 13380, 17476, 0, 0, 0, 0}, {10, 53, 773, 85, 1285, 0, 0}, {10, 13926, 20480, 0, 0, 0, 0}, {8, 55, 775, 64, 1024, 0, 0}, {8, 12288, 64, 1024, 0, 0, 0}, {10, 13107, 85, 1285, 0, 0, 0}, {10, 12288, 96, 1536, 0, 0, 0}, {8, 13107, 119, 1799, 0, 0, 0}, {15564, 0, 0, 0, 0, 0, 0}, {2, 21, 261, 0, 0, 0, 0}, {2, 5188, 0, 0, 0, 0, 0}, {63, 783, 0, 0, 0, 0, 0}, {7248, 32, 20560, 0, 0, 0, 0}, {29, 34, 785, 85, 4369, 0, 0}, {7770, 34, 17408, 0, 0, 0, 0}, {31, 32, 787, 64, 4096, 0, 0}, {3084, 40, 72, 5140, 0, 0, 0}, {3840, 42, 85, 5632, 0, 0, 0}, {3084, 42, 64, 5654, 0, 0, 0}, {3840, 40, 95, 5120, 0, 0, 0}, {40, 5200, 0, 0, 0, 0, 0}, {780, 21, 0, 0, 0, 0, 0}, {42, 5722, 0, 0, 0, 0, 0}, {780, 23, 0, 0, 0, 0, 0}, {3084, 32, 64, 4112, 0, 0, 0}, {3840, 34, 85, 4352, 0, 0, 0}, {3084, 34, 72, 4626, 0, 0, 0}, {3840, 32, 95, 4864, 0, 0, 0}, {3072, 32, 64, 4096, 0, 0, 0}, {3855, 34, 85, 4369, 0, 0, 0}, {3072, 34, 72, 4608, 0, 0, 0}, {3855, 32, 95, 4883, 0, 0, 0}, {40, 5188, 0, 0, 0, 0, 0}, {783, 21, 0, 0, 0, 0, 0}, {42, 5708, 0, 0, 0, 0, 0}, {783, 23, 0, 0, 0, 0, 0}, {3072, 40, 72, 5120, 0, 0, 0}, {3855, 42, 85, 5654, 0, 0, 0}, {3072, 42, 64, 5632, 0, 0, 0}, {3855, 40, 95, 5140, 0, 0, 0}, {7244, 32, 20480, 0, 0, 0, 0}, {29, 34, 786, 85, 4352, 0, 0}, {7748, 34, 17476, 0, 0, 0, 0}, {31, 32, 784, 64, 4112, 0, 0}, {15600, 0, 0, 0, 0, 0, 0}, {2, 21, 260, 0, 0, 0, 0}, {2, 5200, 0, 0, 0, 0, 0}, {63, 780, 0, 0, 0, 0, 0}, {8, 12336, 64, 1028, 0, 0, 0}, {10, 13056, 85, 1280, 0, 0, 0}, {10, 12336, 96, 1542, 0, 0, 0}, {8, 13056, 119, 1792, 0, 0, 0}, {8, 13424, 17408, 0, 0, 0, 0}, {10, 53, 774, 85, 1280, 0, 0}, {10, 13904, 20560, 0, 0, 0, 0}, {8, 55, 772, 64, 1028, 0, 0}, {192, 3084, 12336, 0, 0, 0, 0}, {2, 85, 1280, 4352, 0, 0, 0}, {2, 64, 1028, 4112, 0, 0, 0}, {255, 3840, 13056, 0, 0, 0, 0}, {512, 5376, 0, 0, 0, 0, 0}, {60, 257, 0, 0, 0, 0, 0}, {514, 5418, 0, 0, 0, 0, 0}, {60, 259, 0, 0, 0, 0, 0}, {204, 520, 1028, 4420, 0, 0, 0}, {240, 522, 1285, 4176, 0, 0, 0}, {204, 522, 1036, 4454, 0, 0, 0}, {240, 520, 1295, 4208, 0, 0, 0}, {5504, 520, 21760, 0, 0, 0, 0}, {265, 309, 771, 1285, 4437, 0, 0}, {5546, 522, 16384, 0, 0, 0, 0}, {267, 311, 771, 1028, 4160, 0, 0}, {204, 512, 1036, 4352, 0, 0, 0}, {240, 514, 1285, 4128, 0, 0, 0}, {204, 514, 1028, 4386, 0, 0, 0}, {240, 512, 1295, 4096, 0, 0, 0}, {240, 544, 1360, 4112, 0, 0, 0}, {204, 546, 1092, 4369, 0, 0, 0}, {240, 546, 1370, 4144, 0, 0, 0}, {204, 544, 1100, 4403, 0, 0, 0}, {60, 276, 0, 0, 0, 0, 0}, {554, 5397, 0, 0, 0, 0, 0}, {60, 278, 0, 0, 0, 0, 0}, {552, 5439, 0, 0, 0, 0, 0}, {240, 552, 1360, 4192, 0, 0, 0}, {204, 554, 1100, 4437, 0, 0, 0}, {240, 554, 1370, 4160, 0, 0, 0}, {204, 552, 1092, 4471, 0, 0, 0}, {284, 288, 768, 1360, 4352, 0, 0}, {5525, 546, 21845, 0, 0, 0, 0}, {286, 290, 768, 1092, 4096, 0, 0}, {5567, 544, 16448, 0, 0, 0, 0}, {5504, 544, 21760, 0, 0, 0, 0}, {285, 289, 771, 1365, 4369, 0, 0}, {5546, 546, 16384, 0, 0, 0, 0}, {287, 291, 771, 1088, 4112, 0, 0}, {204, 552, 1096, 4420, 0, 0, 0}, {240, 554, 1365, 4208, 0, 0, 0}, {204, 554, 1088, 4454, 0, 0, 0}, {240, 552, 1375, 4176, 0, 0, 0}, {552, 5376, 0, 0, 0, 0, 0}, {60, 277, 0, 0, 0, 0, 0}, {554, 5418, 0, 0, 0, 0, 0}, {60, 279, 0, 0, 0, 0, 0}, {204, 544, 1088, 4352, 0, 0, 0}, {240, 546, 1365, 4096, 0, 0, 0}, {204, 546, 1096, 4386, 0, 0, 0}, {240, 544, 1375, 4128, 0, 0, 0}, {240, 512, 1280, 4144, 0, 0, 0}, {204, 514, 1032, 4369, 0, 0, 0}, {240, 514, 1290, 4112, 0, 0, 0}, {204, 512, 1024, 4403, 0, 0, 0}, {264, 308, 768, 1280, 4420, 0, 0}, {5525, 522, 21845, 0, 0, 0, 0}, {266, 310, 768, 1024, 4176, 0, 0}, {5567, 520, 16448, 0, 0, 0, 0}, {240, 520, 1280, 4160, 0, 0, 0}, {204, 522, 1024, 4437, 0, 0, 0}, {240, 522, 1290, 4192, 0, 0, 0}, {204, 520, 1032, 4471, 0, 0, 0}, {60, 256, 0, 0, 0, 0, 0}, {514, 5397, 0, 0, 0, 0, 0}, {60, 258, 0, 0, 0, 0, 0}, {512, 5439, 0, 0, 0, 0, 0}, {640, 2560, 5440, 0, 0, 0, 0}, {60, 783, 321, 1285, 4369, 0, 0}, {642, 2570, 5482, 0, 0, 0, 0}, {60, 783, 323, 1295, 4367, 0, 0}, {580, 1536, 4864, 0, 0, 0, 0}, {634, 1285, 4112, 0, 0, 0, 0}, {582, 1546, 4896, 0, 0, 0, 0}, {632, 1295, 4144, 0, 0, 0, 0}, {648, 2560, 5960, 0, 0, 0, 0}, {60, 783, 329, 1285, 4124, 0, 0}, {650, 2570, 5984, 0, 0, 0, 0}, {60, 783, 331, 1295, 4096, 0, 0}, {588, 1536, 4352, 0, 0, 0, 0}, {626, 1285, 4626, 0, 0, 0, 0}, {590, 1546, 4386, 0, 0, 0, 0}, {624, 1295, 4656, 0, 0, 0, 0}, {592, 1792, 4608, 0, 0, 0, 0}, {622, 1028, 4369, 0, 0, 0, 0}, {594, 1800, 4642, 0, 0, 0, 0}, {620, 1036, 4403, 0, 0, 0, 0}, {60, 780, 340, 1028, 4112, 0, 0}, {682, 2048, 5461, 0, 0, 0, 0}, {60, 780, 342, 1036, 4108, 0, 0}, {680, 2056, 5503, 0, 0, 0, 0}, {600, 1800, 4128, 0, 0, 0, 0}, {614, 1036, 4915, 0, 0, 0, 0}, {602, 1792, 4096, 0, 0, 0, 0}, {612, 1028, 4883, 0, 0, 0, 0}, {60, 780, 348, 1036, 4352, 0, 0}, {674, 2056, 6007, 0, 0, 0, 0}, {60, 780, 350, 1028, 4382, 0, 0}, {672, 2048, 5983, 0, 0, 0, 0}, {672, 2048, 5984, 0, 0, 0, 0}, {60, 783, 349, 1032, 4369, 0, 0}, {674, 2056, 5960, 0, 0, 0, 0}, {60, 783, 351, 1024, 4367, 0, 0}, {612, 1032, 4896, 0, 0, 0, 0}, {602, 1807, 4144, 0, 0, 0, 0}, {614, 1024, 4864, 0, 0, 0, 0}, {600, 1799, 4112, 0, 0, 0, 0}, {680, 2056, 5440, 0, 0, 0, 0}, {60, 783, 341, 1024, 4096, 0, 0}, {682, 2048, 5482, 0, 0, 0, 0}, {60, 783, 343, 1032, 4124, 0, 0}, {620, 1024, 4352, 0, 0, 0, 0}, {594, 1799, 4626, 0, 0, 0, 0}, {622, 1032, 4386, 0, 0, 0, 0}, {592, 1807, 4656, 0, 0, 0, 0}, {624, 1280, 4608, 0, 0, 0, 0}, {590, 1542, 4369, 0, 0, 0, 0}, {626, 1290, 4642, 0, 0, 0, 0}, {588, 1548, 4403, 0, 0, 0, 0}, {60, 780, 328, 1280, 4108, 0, 0}, {650, 2570, 5983, 0, 0, 0, 0}, {60, 780, 330, 1290, 4112, 0, 0}, {648, 2560, 6007, 0, 0, 0, 0}, {632, 1280, 4096, 0, 0, 0, 0}, {582, 1542, 4883, 0, 0, 0, 0}, {634, 1290, 4128, 0, 0, 0, 0}, {580, 1548, 4915, 0, 0, 0, 0}, {60, 780, 320, 1280, 4352, 0, 0}, {642, 2570, 5461, 0, 0, 0, 0}, {60, 780, 322, 1290, 4382, 0, 0}, {640, 2560, 5503, 0, 0, 0, 0}, {640, 2560, 5888, 0, 0, 0, 0}, {60, 771, 333, 1285, 4369, 0, 0}, {642, 2570, 5928, 0, 0, 0, 0}, {60, 771, 335, 1295, 4367, 0, 0}, {580, 1548, 4864, 0, 0, 0, 0}, {634, 1285, 4128, 0, 0, 0, 0}, {582, 1542, 4896, 0, 0, 0, 0}, {632, 1295, 4096, 0, 0, 0, 0}, {648, 2560, 5376, 0, 0, 0, 0}, {60, 771, 325, 1285, 4112, 0, 0}, {650, 2570, 5418, 0, 0, 0, 0}, {60, 771, 327, 1295, 4108, 0, 0}, {588, 1548, 4352, 0, 0, 0, 0}, {626, 1285, 4642, 0, 0, 0, 0}, {590, 1542, 4386, 0, 0, 0, 0}, {624, 1295, 4608, 0, 0, 0, 0}, {592, 1792, 4656, 0, 0, 0, 0}, {622, 1032, 4369, 0, 0, 0, 0}, {594, 1800, 4626, 0, 0, 0, 0}, {620, 1024, 4403, 0, 0, 0, 0}, {60, 768, 344, 1032, 4124, 0, 0}, {682, 2048, 5951, 0, 0, 0, 0}, {60, 768, 346, 1024, 4096, 0, 0}, {680, 2056, 5911, 0, 0, 0, 0}, {600, 1800, 4112, 0, 0, 0, 0}, {614, 1024, 4915, 0, 0, 0, 0}, {602, 1792, 4144, 0, 0, 0, 0}, {612, 1032, 4883, 0, 0, 0, 0}, {60, 768, 336, 1024, 4352, 0, 0}, {674, 2056, 5397, 0, 0, 0, 0}, {60, 768, 338, 1032, 4382, 0, 0}, {672, 2048, 5439, 0, 0, 0, 0}, {672, 2048, 5376, 0, 0, 0, 0}, {60, 771, 337, 1028, 4369, 0, 0}, {674, 2056, 5418, 0, 0, 0, 0}, {60, 771, 339, 1036, 4367, 0, 0}, {612, 1028, 4896, 0, 0, 0, 0}, {602, 1807, 4096, 0, 0, 0, 0}, {614, 1036, 4864, 0, 0, 0, 0}, {600, 1799, 4128, 0, 0, 0, 0}, {680, 2056, 5928, 0, 0, 0, 0}, {60, 771, 345, 1036, 4108, 0, 0}, {682, 2048, 5888, 0, 0, 0, 0}, {60, 771, 347, 1028, 4112, 0, 0}, {620, 1036, 4352, 0, 0, 0, 0}, {594, 1799, 4642, 0, 0, 0, 0}, {622, 1028, 4386, 0, 0, 0, 0}, {592, 1807, 4608, 0, 0, 0, 0}, {624, 1280, 4656, 0, 0, 0, 0}, {590, 1546, 4369, 0, 0, 0, 0}, {626, 1290, 4626, 0, 0, 0, 0}, {588, 1536, 4403, 0, 0, 0, 0}, {60, 768, 324, 1280, 4096, 0, 0}, {650, 2570, 5397, 0, 0, 0, 0}, {60, 768, 326, 1290, 4124, 0, 0}, {648, 2560, 5439, 0, 0, 0, 0}, {632, 1280, 4144, 0, 0, 0, 0}, {582, 1546, 4883, 0, 0, 0, 0}, {634, 1290, 4112, 0, 0, 0, 0}, {580, 1536, 4915, 0, 0, 0, 0}, {60, 768, 332, 1280, 4352, 0, 0}, {642, 2570, 5911, 0, 0, 0, 0}, {60, 768, 334, 1290, 4382, 0, 0}, {640, 2560, 5951, 0, 0, 0, 0}, {5568, 512, 21760, 0, 0, 0, 0}, {269, 305, 514, 1285, 4369, 0, 0}, {5610, 514, 16448, 0, 0, 0, 0}, {271, 307, 512, 1024, 4096, 0, 0}, {204, 520, 1032, 4420, 0, 0, 0}, {240, 522, 1285, 4192, 0, 0, 0}, {204, 522, 1024, 4454, 0, 0, 0}, {240, 520, 1295, 4160, 0, 0, 0}, {520, 5440, 0, 0, 0, 0, 0}, {60, 261, 0, 0, 0, 0, 0}, {522, 5482, 0, 0, 0, 0, 0}, {60, 263, 0, 0, 0, 0, 0}, {204, 512, 1024, 4352, 0, 0, 0}, {240, 514, 1285, 4112, 0, 0, 0}, {204, 514, 1032, 4386, 0, 0, 0}, {240, 512, 1295, 4144, 0, 0, 0}, {240, 544, 1360, 4128, 0, 0, 0}, {204, 546, 1096, 4369, 0, 0, 0}, {240, 546, 1370, 4096, 0, 0, 0}, {204, 544, 1088, 4403, 0, 0, 0}, {280, 292, 532, 1360, 4420, 0, 0}, {5589, 554, 21845, 0, 0, 0, 0}, {282, 294, 534, 1088, 4160, 0, 0}, {5631, 552, 16384, 0, 0, 0, 0}, {240, 552, 1360, 4176, 0, 0, 0}, {204, 554, 1088, 4437, 0, 0, 0}, {240, 554, 1370, 4208, 0, 0, 0}, {204, 552, 1096, 4471, 0, 0, 0}, {60, 272, 0, 0, 0, 0, 0}, {546, 5461, 0, 0, 0, 0, 0}, {60, 274, 0, 0, 0, 0, 0}, {544, 5503, 0, 0, 0, 0, 0}, {544, 5440, 0, 0, 0, 0, 0}, {60, 273, 0, 0, 0, 0, 0}, {546, 5482, 0, 0, 0, 0, 0}, {60, 275, 0, 0, 0, 0, 0}, {204, 552, 1092, 4420, 0, 0, 0}, {240, 554, 1365, 4160, 0, 0, 0}, {204, 554, 1100, 4454, 0, 0, 0}, {240, 552, 1375, 4192, 0, 0, 0}, {5568, 552, 21760, 0, 0, 0, 0}, {281, 293, 534, 1365, 4437, 0, 0}, {5610, 554, 16448, 0, 0, 0, 0}, {283, 295, 532, 1092, 4176, 0, 0}, {204, 544, 1100, 4352, 0, 0, 0}, {240, 546, 1365, 4144, 0, 0, 0}, {204, 546, 1092, 4386, 0, 0, 0}, {240, 544, 1375, 4112, 0, 0, 0}, {240, 512, 1280, 4096, 0, 0, 0}, {204, 514, 1028, 4369, 0, 0, 0}, {240, 514, 1290, 4128, 0, 0, 0}, {204, 512, 1036, 4403, 0, 0, 0}, {60, 260, 0, 0, 0, 0, 0}, {522, 5461, 0, 0, 0, 0, 0}, {60, 262, 0, 0, 0, 0, 0}, {520, 5503, 0, 0, 0, 0, 0}, {240, 520, 1280, 4208, 0, 0, 0}, {204, 522, 1036, 4437, 0, 0, 0}, {240, 522, 1290, 4176, 0, 0, 0}, {204, 520, 1028, 4471, 0, 0, 0}, {268, 304, 512, 1280, 4352, 0, 0}, {5589, 514, 21845, 0, 0, 0, 0}, {270, 306, 514, 1028, 4112, 0, 0}, {5631, 512, 16384, 0, 0, 0, 0}, {512, 5120, 0, 0, 0, 0, 0}, {63, 257, 0, 0, 0, 0, 0}, {514, 5160, 0, 0, 0, 0, 0}, {63, 259, 0, 0, 0, 0, 0}, {192, 520, 1028, 4160, 0, 0, 0}, {255, 522, 1285, 4437, 0, 0, 0}, {192, 522, 1036, 4192, 0, 0, 0}, {255, 520, 1295, 4471, 0, 0, 0}, {5256, 520, 20480, 0, 0, 0, 0}, {265, 310, 771, 1285, 4176, 0, 0}, {5280, 522, 17408, 0, 0, 0, 0}, {267, 308, 771, 1028, 4420, 0, 0}, {192, 512, 1036, 4096, 0, 0, 0}, {255, 514, 1285, 4386, 0, 0, 0}, {192, 514, 1028, 4128, 0, 0, 0}, {255, 512, 1295, 4352, 0, 0, 0}, {192, 544, 1088, 4112, 0, 0, 0}, {255, 546, 1365, 4369, 0, 0, 0}, {192, 546, 1096, 4144, 0, 0, 0}, {255, 544, 1375, 4403, 0, 0, 0}, {552, 5140, 0, 0, 0, 0, 0}, {63, 277, 0, 0, 0, 0, 0}, {554, 5180, 0, 0, 0, 0, 0}, {63, 279, 0, 0, 0, 0, 0}, {192, 552, 1096, 4176, 0, 0, 0}, {255, 554, 1365, 4454, 0, 0, 0}, {192, 554, 1088, 4208, 0, 0, 0}, {255, 552, 1375, 4420, 0, 0, 0}, {5276, 544, 20560, 0, 0, 0, 0}, {285, 290, 768, 1365, 4096, 0, 0}, {5300, 546, 17476, 0, 0, 0, 0}, {287, 288, 768, 1088, 4352, 0, 0}, {5280, 544, 17408, 0, 0, 0, 0}, {286, 289, 771, 1092, 4369, 0, 0}, {5256, 546, 20480, 0, 0, 0, 0}, {284, 291, 771, 1360, 4112, 0, 0}, {192, 552, 1092, 4192, 0, 0, 0}, {255, 554, 1370, 4437, 0, 0, 0}, {192, 554, 1100, 4160, 0, 0, 0}, {255, 552, 1360, 4471, 0, 0, 0}, {552, 5160, 0, 0, 0, 0, 0}, {63, 278, 0, 0, 0, 0, 0}, {554, 5120, 0, 0, 0, 0, 0}, {63, 276, 0, 0, 0, 0, 0}, {192, 544, 1100, 4128, 0, 0, 0}, {255, 546, 1370, 4386, 0, 0, 0}, {192, 546, 1092, 4096, 0, 0, 0}, {255, 544, 1360, 4352, 0, 0, 0}, {192, 512, 1024, 4144, 0, 0, 0}, {255, 514, 1290, 4369, 0, 0, 0}, {192, 514, 1032, 4112, 0, 0, 0}, {255, 512, 1280, 4403, 0, 0, 0}, {5300, 520, 17476, 0, 0, 0, 0}, {266, 309, 768, 1024, 4437, 0, 0}, {5276, 522, 20560, 0, 0, 0, 0}, {264, 311, 768, 1280, 4160, 0, 0}, {192, 520, 1032, 4208, 0, 0, 0}, {255, 522, 1290, 4454, 0, 0, 0}, {192, 522, 1024, 4176, 0, 0, 0}, {255, 520, 1280, 4420, 0, 0, 0}, {512, 5180, 0, 0, 0, 0, 0}, {63, 258, 0, 0, 0, 0, 0}, {514, 5140, 0, 0, 0, 0, 0}, {63, 256, 0, 0, 0, 0, 0}, {576, 1536, 4608, 0, 0, 0, 0}, {637, 1285, 4369, 0, 0, 0, 0}, {578, 1546, 4642, 0, 0, 0, 0}, {639, 1295, 4403, 0, 0, 0, 0}, {648, 2560, 5188, 0, 0, 0, 0}, {63, 783, 325, 1285, 4112, 0, 0}, {650, 2570, 5228, 0, 0, 0, 0}, {63, 783, 327, 1295, 4111, 0, 0}, {584, 1536, 4096, 0, 0, 0, 0}, {629, 1285, 4883, 0, 0, 0, 0}, {586, 1546, 4128, 0, 0, 0, 0}, {631, 1295, 4915, 0, 0, 0, 0}, {640, 2560, 5708, 0, 0, 0, 0}, {63, 783, 333, 1285, 4381, 0, 0}, {642, 2570, 5734, 0, 0, 0, 0}, {63, 783, 335, 1295, 4352, 0, 0}, {672, 2048, 5200, 0, 0, 0, 0}, {63, 780, 337, 1028, 4369, 0, 0}, {674, 2056, 5240, 0, 0, 0, 0}, {63, 780, 339, 1036, 4364, 0, 0}, {616, 1028, 4112, 0, 0, 0, 0}, {597, 1792, 4864, 0, 0, 0, 0}, {618, 1036, 4144, 0, 0, 0, 0}, {599, 1800, 4896, 0, 0, 0, 0}, {680, 2056, 5744, 0, 0, 0, 0}, {63, 780, 345, 1036, 4096, 0, 0}, {682, 2048, 5722, 0, 0, 0, 0}, {63, 780, 347, 1028, 4127, 0, 0}, {608, 1036, 4656, 0, 0, 0, 0}, {605, 1800, 4386, 0, 0, 0, 0}, {610, 1028, 4626, 0, 0, 0, 0}, {607, 1792, 4352, 0, 0, 0, 0}, {608, 1024, 4608, 0, 0, 0, 0}, {605, 1799, 4369, 0, 0, 0, 0}, {610, 1032, 4642, 0, 0, 0, 0}, {607, 1807, 4403, 0, 0, 0, 0}, {680, 2056, 5708, 0, 0, 0, 0}, {63, 783, 346, 1024, 4111, 0, 0}, {682, 2048, 5734, 0, 0, 0, 0}, {63, 783, 344, 1032, 4112, 0, 0}, {616, 1032, 4128, 0, 0, 0, 0}, {597, 1807, 4915, 0, 0, 0, 0}, {618, 1024, 4096, 0, 0, 0, 0}, {599, 1799, 4883, 0, 0, 0, 0}, {672, 2048, 5228, 0, 0, 0, 0}, {63, 783, 338, 1032, 4381, 0, 0}, {674, 2056, 5188, 0, 0, 0, 0}, {63, 783, 336, 1024, 4352, 0, 0}, {640, 2560, 5744, 0, 0, 0, 0}, {63, 780, 334, 1290, 4369, 0, 0}, {642, 2570, 5722, 0, 0, 0, 0}, {63, 780, 332, 1280, 4364, 0, 0}, {584, 1548, 4144, 0, 0, 0, 0}, {629, 1290, 4896, 0, 0, 0, 0}, {586, 1542, 4112, 0, 0, 0, 0}, {631, 1280, 4864, 0, 0, 0, 0}, {648, 2560, 5240, 0, 0, 0, 0}, {63, 780, 326, 1290, 4127, 0, 0}, {650, 2570, 5200, 0, 0, 0, 0}, {63, 780, 324, 1280, 4096, 0, 0}, {576, 1548, 4656, 0, 0, 0, 0}, {637, 1290, 4386, 0, 0, 0, 0}, {578, 1542, 4626, 0, 0, 0, 0}, {639, 1280, 4352, 0, 0, 0, 0}, {640, 2560, 5120, 0, 0, 0, 0}, {63, 771, 321, 1285, 4369, 0, 0}, {642, 2570, 5160, 0, 0, 0, 0}, {63, 771, 323, 1295, 4364, 0, 0}, {584, 1548, 4096, 0, 0, 0, 0}, {629, 1285, 4896, 0, 0, 0, 0}, {586, 1542, 4128, 0, 0, 0, 0}, {631, 1295, 4864, 0, 0, 0, 0}, {648, 2560, 5632, 0, 0, 0, 0}, {63, 771, 329, 1285, 4112, 0, 0}, {650, 2570, 5674, 0, 0, 0, 0}, {63, 771, 331, 1295, 4111, 0, 0}, {576, 1548, 4608, 0, 0, 0, 0}, {637, 1285, 4386, 0, 0, 0, 0}, {578, 1542, 4642, 0, 0, 0, 0}, {639, 1295, 4352, 0, 0, 0, 0}, {608, 1024, 4656, 0, 0, 0, 0}, {605, 1800, 4369, 0, 0, 0, 0}, {610, 1032, 4626, 0, 0, 0, 0}, {607, 1792, 4403, 0, 0, 0, 0}, {680, 2056, 5140, 0, 0, 0, 0}, {63, 768, 341, 1024, 4096, 0, 0}, {682, 2048, 5180, 0, 0, 0, 0}, {63, 768, 343, 1032, 4127, 0, 0}, {616, 1032, 4112, 0, 0, 0, 0}, {597, 1792, 4915, 0, 0, 0, 0}, {618, 1024, 4144, 0, 0, 0, 0}, {599, 1800, 4883, 0, 0, 0, 0}, {672, 2048, 5692, 0, 0, 0, 0}, {63, 768, 349, 1032, 4381, 0, 0}, {674, 2056, 5654, 0, 0, 0, 0}, {63, 768, 351, 1024, 4352, 0, 0}, {672, 2048, 5632, 0, 0, 0, 0}, {63, 771, 350, 1028, 4369, 0, 0}, {674, 2056, 5674, 0, 0, 0, 0}, {63, 771, 348, 1036, 4364, 0, 0}, {616, 1028, 4128, 0, 0, 0, 0}, {597, 1807, 4864, 0, 0, 0, 0}, {618, 1036, 4096, 0, 0, 0, 0}, {599, 1799, 4896, 0, 0, 0, 0}, {680, 2056, 5160, 0, 0, 0, 0}, {63, 771, 342, 1036, 4111, 0, 0}, {682, 2048, 5120, 0, 0, 0, 0}, {63, 771, 340, 1028, 4112, 0, 0}, {608, 1036, 4608, 0, 0, 0, 0}, {605, 1799, 4386, 0, 0, 0, 0}, {610, 1028, 4642, 0, 0, 0, 0}, {607, 1807, 4352, 0, 0, 0, 0}, {576, 1536, 4656, 0, 0, 0, 0}, {637, 1290, 4369, 0, 0, 0, 0}, {578, 1546, 4626, 0, 0, 0, 0}, {639, 1280, 4403, 0, 0, 0, 0}, {648, 2560, 5692, 0, 0, 0, 0}, {63, 768, 330, 1290, 4127, 0, 0}, {650, 2570, 5654, 0, 0, 0, 0}, {63, 768, 328, 1280, 4096, 0, 0}, {584, 1536, 4144, 0, 0, 0, 0}, {629, 1290, 4883, 0, 0, 0, 0}, {586, 1546, 4112, 0, 0, 0, 0}, {631, 1280, 4915, 0, 0, 0, 0}, {640, 2560, 5180, 0, 0, 0, 0}, {63, 768, 322, 1290, 4381, 0, 0}, {642, 2570, 5140, 0, 0, 0, 0}, {63, 768, 320, 1280, 4352, 0, 0}, {192, 512, 1024, 4096, 0, 0, 0}, {255, 514, 1285, 4369, 0, 0, 0}, {192, 514, 1032, 4128, 0, 0, 0}, {255, 512, 1295, 4403, 0, 0, 0}, {520, 5188, 0, 0, 0, 0, 0}, {63, 261, 0, 0, 0, 0, 0}, {522, 5228, 0, 0, 0, 0, 0}, {63, 263, 0, 0, 0, 0, 0}, {192, 520, 1032, 4160, 0, 0, 0}, {255, 522, 1285, 4454, 0, 0, 0}, {192, 522, 1024, 4192, 0, 0, 0}, {255, 520, 1295, 4420, 0, 0, 0}, {5324, 512, 20480, 0, 0, 0, 0}, {269, 306, 514, 1285, 4112, 0, 0}, {5348, 514, 17476, 0, 0, 0, 0}, {271, 304, 512, 1024, 4352, 0, 0}, {544, 5200, 0, 0, 0, 0, 0}, {63, 273, 0, 0, 0, 0, 0}, {546, 5240, 0, 0, 0, 0, 0}, {63, 275, 0, 0, 0, 0, 0}, {192, 552, 1092, 4176, 0, 0, 0}, {255, 554, 1365, 4437, 0, 0, 0}, {192, 554, 1100, 4208, 0, 0, 0}, {255, 552, 1375, 4471, 0, 0, 0}, {5336, 552, 20560, 0, 0, 0, 0}, {281, 294, 533, 1365, 4160, 0, 0}, {5360, 554, 17408, 0, 0, 0, 0}, {283, 292, 535, 1092, 4420, 0, 0}, {192, 544, 1100, 4112, 0, 0, 0}, {255, 546, 1365, 4386, 0, 0, 0}, {192, 546, 1092, 4144, 0, 0, 0}, {255, 544, 1375, 4352, 0, 0, 0}, {192, 544, 1088, 4128, 0, 0, 0}, {255, 546, 1370, 4369, 0, 0, 0}, {192, 546, 1096, 4096, 0, 0, 0}, {255, 544, 1360, 4403, 0, 0, 0}, {5348, 552, 17476, 0, 0, 0, 0}, {282, 293, 533, 1088, 4437, 0, 0}, {5324, 554, 20480, 0, 0, 0, 0}, {280, 295, 535, 1360, 4176, 0, 0}, {192, 552, 1096, 4192, 0, 0, 0}, {255, 554, 1370, 4454, 0, 0, 0}, {192, 554, 1088, 4160, 0, 0, 0}, {255, 552, 1360, 4420, 0, 0, 0}, {544, 5228, 0, 0, 0, 0, 0}, {63, 274, 0, 0, 0, 0, 0}, {546, 5188, 0, 0, 0, 0, 0}, {63, 272, 0, 0, 0, 0, 0}, {5360, 512, 17408, 0, 0, 0, 0}, {270, 305, 514, 1028, 4369, 0, 0}, {5336, 514, 20560, 0, 0, 0, 0}, {268, 307, 512, 1280, 4096, 0, 0}, {192, 520, 1028, 4208, 0, 0, 0}, {255, 522, 1290, 4437, 0, 0, 0}, {192, 522, 1036, 4176, 0, 0, 0}, {255, 520, 1280, 4471, 0, 0, 0}, {520, 5240, 0, 0, 0, 0, 0}, {63, 262, 0, 0, 0, 0, 0}, {522, 5200, 0, 0, 0, 0, 0}, {63, 260, 0, 0, 0, 0, 0}, {192, 512, 1036, 4144, 0, 0, 0}, {255, 514, 1290, 4386, 0, 0, 0}, {192, 514, 1028, 4112, 0, 0, 0}, {255, 512, 1280, 4352, 0, 0, 0}, {16128, 0, 0, 0, 0, 0, 0}, {2, 20, 257, 0, 0, 0, 0}, {2, 5376, 0, 0, 0, 0, 0}, {60, 771, 0, 0, 0, 0, 0}, {8, 13056, 68, 1028, 0, 0, 0}, {10, 12288, 80, 1285, 0, 0, 0}, {10, 13056, 102, 1542, 0, 0, 0}, {8, 12288, 112, 1799, 0, 0, 0}, {8, 14080, 16384, 0, 0, 0, 0}, {10, 54, 771, 80, 1285, 0, 0}, {10, 13568, 21760, 0, 0, 0, 0}, {8, 52, 771, 68, 1028, 0, 0}, {204, 3084, 13056, 0, 0, 0, 0}, {2, 80, 1285, 4096, 0, 0, 0}, {2, 68, 1028, 4352, 0, 0, 0}, {240, 3855, 12288, 0, 0, 0, 0}, {3840, 32, 80, 4112, 0, 0, 0}, {3072, 34, 68, 4369, 0, 0, 0}, {3840, 34, 90, 4626, 0, 0, 0}, {3072, 32, 76, 4883, 0, 0, 0}, {768, 20, 0, 0, 0, 0, 0}, {42, 5397, 0, 0, 0, 0, 0}, {768, 22, 0, 0, 0, 0, 0}, {40, 5911, 0, 0, 0, 0, 0}, {3840, 40, 80, 5912, 0, 0, 0}, {3072, 42, 76, 5401, 0, 0, 0}, {3840, 42, 90, 5402, 0, 0, 0}, {3072, 40, 68, 5915, 0, 0, 0}, {28, 32, 768, 80, 4096, 0, 0}, {7453, 34, 21845, 0, 0, 0, 0}, {30, 34, 768, 68, 4352, 0, 0}, {7967, 32, 16448, 0, 0, 0, 0}, {7936, 32, 16384, 0, 0, 0, 0}, {30, 34, 771, 68, 4369, 0, 0}, {7424, 34, 21760, 0, 0, 0, 0}, {28, 32, 771, 80, 4112, 0, 0}, {3084, 40, 68, 5900, 0, 0, 0}, {3855, 42, 90, 5391, 0, 0, 0}, {3084, 42, 76, 5388, 0, 0, 0}, {3855, 40, 80, 5903, 0, 0, 0}, {40, 5888, 0, 0, 0, 0, 0}, {771, 22, 0, 0, 0, 0, 0}, {42, 5376, 0, 0, 0, 0, 0}, {771, 20, 0, 0, 0, 0, 0}, {3084, 32, 76, 4864, 0, 0, 0}, {3855, 34, 90, 4608, 0, 0, 0}, {3084, 34, 68, 4352, 0, 0, 0}, {3855, 32, 80, 4096, 0, 0, 0}, {240, 3840, 12336, 0, 0, 0, 0}, {2, 68, 1024, 4369, 0, 0, 0}, {2, 80, 1280, 4112, 0, 0, 0}, {204, 3072, 13107, 0, 0, 0, 0}, {8, 52, 768, 68, 1024, 0, 0}, {10, 13621, 21845, 0, 0, 0, 0}, {10, 54, 768, 80, 1280, 0, 0}, {8, 14135, 16448, 0, 0, 0, 0}, {8, 12336, 112, 1792, 0, 0, 0}, {10, 13107, 102, 1536, 0, 0, 0}, {10, 12336, 80, 1280, 0, 0, 0}, {8, 13107, 68, 1024, 0, 0, 0}, {60, 768, 0, 0, 0, 0, 0}, {2, 5397, 0, 0, 0, 0, 0}, {2, 20, 256, 0, 0, 0, 0}, {16191, 0, 0, 0, 0, 0, 0}, {128, 16192, 16448, 0, 0, 0, 0}, {10, 773, 1285, 20, 0, 0, 0}, {10, 34, 5954, 0, 0, 0, 0}, {60, 783, 76, 0, 0, 0, 0}, {3072, 13056, 68, 0, 0, 0, 0}, {10, 32, 80, 1285, 4112, 0, 0}, {10, 32, 70, 1536, 4864, 0, 0}, {3855, 12336, 120, 0, 0, 0, 0}, {136, 16200, 18504, 0, 0, 0, 0}, {10, 773, 1285, 22, 0, 0, 0}, {10, 32, 5440, 0, 0, 0, 0}, {60, 783, 68, 0, 0, 0, 0}, {3072, 13056, 76, 0, 0, 0, 0}, {10, 34, 80, 1285, 4626, 0, 0}, {10, 34, 68, 1536, 4352, 0, 0}, {3855, 12336, 112, 0, 0, 0, 0}, {3840, 12288, 80, 0, 0, 0, 0}, {8, 34, 68, 1028, 4369, 0, 0}, {8, 34, 82, 1792, 4608, 0, 0}, {3084, 13107, 108, 0, 0, 0, 0}, {8, 772, 1028, 20, 0, 0, 0}, {170, 16213, 21845, 0, 0, 0, 0}, {60, 780, 90, 0, 0, 0, 0}, {8, 32, 5975, 0, 0, 0, 0}, {8, 32, 80, 1792, 4096, 0, 0}, {3084, 13107, 102, 0, 0, 0, 0}, {3840, 12288, 90, 0, 0, 0, 0}, {8, 32, 68, 1028, 4883, 0, 0}, {60, 780, 80, 0, 0, 0, 0}, {8, 34, 5461, 0, 0, 0, 0}, {8, 772, 1028, 22, 0, 0, 0}, {160, 16223, 24415, 0, 0, 0, 0}, {160, 16224, 24320, 0, 0, 0, 0}, {8, 775, 1024, 22, 0, 0, 0}, {8, 34, 5440, 0, 0, 0, 0}, {60, 783, 80, 0, 0, 0, 0}, {8, 32, 68, 1024, 4864, 0, 0}, {3855, 12336, 90, 0, 0, 0, 0}, {3072, 13056, 102, 0, 0, 0, 0}, {8, 32, 80, 1799, 4112, 0, 0}, {8, 32, 5952, 0, 0, 0, 0}, {60, 783, 90, 0, 0, 0, 0}, {170, 16234, 21760, 0, 0, 0, 0}, {8, 775, 1024, 20, 0, 0, 0}, {3072, 13056, 108, 0, 0, 0, 0}, {8, 34, 82, 1799, 4626, 0, 0}, {8, 34, 68, 1024, 4352, 0, 0}, {3855, 12336, 80, 0, 0, 0, 0}, {3840, 12288, 112, 0, 0, 0, 0}, {10, 34, 68, 1542, 4369, 0, 0}, {10, 34, 80, 1280, 4608, 0, 0}, {3084, 13107, 76, 0, 0, 0, 0}, {60, 780, 68, 0, 0, 0, 0}, {10, 32, 5461, 0, 0, 0, 0}, {10, 774, 1280, 22, 0, 0, 0}, {136, 16247, 18432, 0, 0, 0, 0}, {3840, 12288, 120, 0, 0, 0, 0}, {10, 32, 70, 1542, 4883, 0, 0}, {10, 32, 80, 1280, 4096, 0, 0}, {3084, 13107, 68, 0, 0, 0, 0}, {60, 780, 76, 0, 0, 0, 0}, {10, 34, 5973, 0, 0, 0, 0}, {10, 774, 1280, 20, 0, 0, 0}, {128, 16255, 16384, 0, 0, 0, 0}, {128, 16128, 16384, 0, 0, 0, 0}, {10, 771, 1285, 20, 0, 0, 0}, {10, 34, 5888, 0, 0, 0, 0}, {60, 771, 76, 0, 0, 0, 0}, {3084, 13056, 68, 0, 0, 0, 0}, {10, 32, 80, 1285, 4096, 0, 0}, {10, 32, 70, 1542, 4864, 0, 0}, {3855, 12288, 120, 0, 0, 0, 0}, {136, 16128, 18432, 0, 0, 0, 0}, {10, 771, 1285, 22, 0, 0, 0}, {10, 32, 5376, 0, 0, 0, 0}, {60, 771, 68, 0, 0, 0, 0}, {3084, 13056, 76, 0, 0, 0, 0}, {10, 34, 80, 1285, 4608, 0, 0}, {10, 34, 68, 1542, 4352, 0, 0}, {3855, 12288, 112, 0, 0, 0, 0}, {3840, 12336, 80, 0, 0, 0, 0}, {8, 34, 68, 1024, 4369, 0, 0}, {8, 34, 82, 1792, 4626, 0, 0}, {3072, 13107, 108, 0, 0, 0, 0}, {8, 768, 1024, 20, 0, 0, 0}, {170, 16191, 21845, 0, 0, 0, 0}, {60, 768, 90, 0, 0, 0, 0}, {8, 32, 5911, 0, 0, 0, 0}, {8, 32, 80, 1792, 4112, 0, 0}, {3072, 13107, 102, 0, 0, 0, 0}, {3840, 12336, 90, 0, 0, 0, 0}, {8, 32, 68, 1024, 4883, 0, 0}, {60, 768, 80, 0, 0, 0, 0}, {8, 34, 5397, 0, 0, 0, 0}, {8, 768, 1024, 22, 0, 0, 0}, {160, 16191, 24415, 0, 0, 0, 0}, {160, 16128, 24320, 0, 0, 0, 0}, {8, 771, 1028, 22, 0, 0, 0}, {8, 34, 5376, 0, 0, 0, 0}, {60, 771, 80, 0, 0, 0, 0}, {8, 32, 68, 1028, 4864, 0, 0}, {3855, 12288, 90, 0, 0, 0, 0}, {3084, 13056, 102, 0, 0, 0, 0}, {8, 32, 80, 1799, 4096, 0, 0}, {8, 32, 5888, 0, 0, 0, 0}, {60, 771, 90, 0, 0, 0, 0}, {170, 16128, 21760, 0, 0, 0, 0}, {8, 771, 1028, 20, 0, 0, 0}, {3084, 13056, 108, 0, 0, 0, 0}, {8, 34, 82, 1799, 4608, 0, 0}, {8, 34, 68, 1028, 4352, 0, 0}, {3855, 12288, 80, 0, 0, 0, 0}, {3840, 12336, 112, 0, 0, 0, 0}, {10, 34, 68, 1536, 4369, 0, 0}, {10, 34, 80, 1280, 4626, 0, 0}, {3072, 13107, 76, 0, 0, 0, 0}, {60, 768, 68, 0, 0, 0, 0}, {10, 32, 5397, 0, 0, 0, 0}, {10, 768, 1280, 22, 0, 0, 0}, {136, 16191, 18504, 0, 0, 0, 0}, {3840, 12336, 120, 0, 0, 0, 0}, {10, 32, 70, 1536, 4883, 0, 0}, {10, 32, 80, 1280, 4112, 0, 0}, {3072, 13107, 68, 0, 0, 0, 0}, {60, 768, 76, 0, 0, 0, 0}, {10, 34, 5911, 0, 0, 0, 0}, {10, 768, 1280, 20, 0, 0, 0}, {128, 16191, 16448, 0, 0, 0, 0}, {16320, 0, 0, 0, 0, 0, 0}, {2, 20, 261, 0, 0, 0, 0}, {2, 5440, 0, 0, 0, 0, 0}, {60, 783, 0, 0, 0, 0, 0}, {8, 13056, 68, 1024, 0, 0, 0}, {10, 12336, 80, 1285, 0, 0, 0}, {10, 13056, 102, 1536, 0, 0, 0}, {8, 12336, 112, 1799, 0, 0, 0}, {8, 14144, 16448, 0, 0, 0, 0}, {10, 54, 773, 80, 1285, 0, 0}, {10, 13664, 21760, 0, 0, 0, 0}, {8, 52, 775, 68, 1024, 0, 0}, {204, 3072, 13056, 0, 0, 0, 0}, {2, 80, 1285, 4112, 0, 0, 0}, {2, 68, 1024, 4352, 0, 0, 0}, {240, 3855, 12336, 0, 0, 0, 0}, {3840, 32, 80, 4096, 0, 0, 0}, {3084, 34, 68, 4369, 0, 0, 0}, {3840, 34, 90, 4608, 0, 0, 0}, {3084, 32, 76, 4883, 0, 0, 0}, {780, 20, 0, 0, 0, 0, 0}, {42, 5461, 0, 0, 0, 0, 0}, {780, 22, 0, 0, 0, 0, 0}, {40, 5983, 0, 0, 0, 0, 0}, {3840, 40, 80, 5888, 0, 0, 0}, {3084, 42, 76, 5397, 0, 0, 0}, {3840, 42, 90, 5376, 0, 0, 0}, {3084, 40, 68, 5911, 0, 0, 0}, {28, 32, 784, 80, 4112, 0, 0}, {7509, 34, 21845, 0, 0, 0, 0}, {30, 34, 786, 68, 4352, 0, 0}, {8031, 32, 16384, 0, 0, 0, 0}, {8000, 32, 16448, 0, 0, 0, 0}, {30, 34, 785, 68, 4369, 0, 0}, {7496, 34, 21760, 0, 0, 0, 0}, {28, 32, 787, 80, 4096, 0, 0}, {3072, 40, 68, 5888, 0, 0, 0}, {3855, 42, 90, 5397, 0, 0, 0}, {3072, 42, 76, 5376, 0, 0, 0}, {3855, 40, 80, 5911, 0, 0, 0}, {40, 5960, 0, 0, 0, 0, 0}, {783, 22, 0, 0, 0, 0, 0}, {42, 5440, 0, 0, 0, 0, 0}, {783, 20, 0, 0, 0, 0, 0}, {3072, 32, 76, 4864, 0, 0, 0}, {3855, 34, 90, 4626, 0, 0, 0}, {3072, 34, 68, 4352, 0, 0, 0}, {3855, 32, 80, 4112, 0, 0, 0}, {240, 3840, 12288, 0, 0, 0, 0}, {2, 68, 1028, 4369, 0, 0, 0}, {2, 80, 1280, 4096, 0, 0, 0}, {204, 3084, 13107, 0, 0, 0, 0}, {8, 52, 772, 68, 1028, 0, 0}, {10, 13653, 21845, 0, 0, 0, 0}, {10, 54, 774, 80, 1280, 0, 0}, {8, 14199, 16384, 0, 0, 0, 0}, {8, 12288, 112, 1792, 0, 0, 0}, {10, 13107, 102, 1542, 0, 0, 0}, {10, 12288, 80, 1280, 0, 0, 0}, {8, 13107, 68, 1028, 0, 0, 0}, {60, 780, 0, 0, 0, 0, 0}, {2, 5461, 0, 0, 0, 0, 0}, {2, 20, 260, 0, 0, 0, 0}, {16383, 0, 0, 0, 0, 0, 0}, {16384, 0, 0, 0, 0, 0, 0}, {5, 17, 257, 0, 0, 0, 0}, {10, 34, 514, 16386, 0, 0, 0}, {15, 51, 771, 16387, 0, 0, 0}, {68, 1028, 0, 0, 0, 0, 0}, {5, 4096, 0, 0, 0, 0, 0}, {10, 8192, 102, 1542, 0, 0, 0}, {15, 12288, 119, 1799, 0, 0, 0}, {136, 2056, 16392, 0, 0, 0, 0}, {51, 771, 5, 4099, 0, 0, 0}, {10, 8192, 16384, 0, 0, 0, 0}, {15, 51, 771, 68, 1028, 0, 0}, {204, 3084, 16396, 0, 0, 0, 0}, {34, 514, 5, 4098, 0, 0, 0}, {10, 34, 514, 68, 1028, 0, 0}, {15, 12288, 16384, 0, 0, 0, 0}, {80, 4112, 0, 0, 0, 0, 0}, {1024, 17, 0, 0, 0, 0, 0}, {2048, 34, 90, 4626, 0, 0, 0}, {3072, 51, 95, 4883, 0, 0, 0}, {1024, 20, 0, 0, 0, 0, 0}, {85, 5397, 0, 0, 0, 0, 0}, {3072, 60, 90, 5654, 0, 0, 0}, {2048, 40, 95, 5911, 0, 0, 0}, {2048, 40, 80, 4120, 0, 0, 0}, {3072, 51, 85, 5401, 0, 0, 0}, {6682, 12336, 90, 0, 0, 0, 0}, {27, 51, 68, 1024, 4864, 0, 0}, {3072, 60, 80, 4124, 0, 0, 0}, {2048, 34, 85, 5405, 0, 0, 0}, {30, 34, 68, 1024, 4608, 0, 0}, {7967, 8224, 95, 0, 0, 0, 0}, {160, 8224, 16416, 0, 0, 0, 0}, {15, 771, 1027, 17, 0, 0, 0}, {2048, 34, 16384, 0, 0, 0, 0}, {15, 51, 771, 80, 4112, 0, 0}, {40, 68, 1036, 0, 0, 0, 0}, {15, 85, 5413, 0, 0, 0, 0}, {3084, 9766, 102, 0, 0, 0, 0}, {15, 39, 80, 1792, 4096, 0, 0}, {2048, 40, 16384, 0, 0, 0, 0}, {15, 51, 771, 85, 5397, 0, 0}, {170, 10794, 16426, 0, 0, 0, 0}, {15, 771, 1027, 20, 0, 0, 0}, {3084, 8224, 108, 0, 0, 0, 0}, {15, 34, 85, 1792, 4608, 0, 0}, {34, 68, 1036, 0, 0, 0, 0}, {15, 80, 4128, 0, 0, 0, 0}, {240, 12336, 16432, 0, 0, 0, 0}, {10, 514, 1026, 17, 0, 0, 0}, {10, 34, 514, 80, 4112, 0, 0}, {3072, 51, 16384, 0, 0, 0, 0}, {60, 68, 1032, 0, 0, 0, 0}, {10, 85, 5429, 0, 0, 0, 0}, {10, 54, 80, 1536, 4096, 0, 0}, {2056, 14135, 119, 0, 0, 0, 0}, {2056, 12336, 120, 0, 0, 0, 0}, {10, 51, 85, 1536, 4864, 0, 0}, {10, 80, 4144, 0, 0, 0, 0}, {51, 68, 1032, 0, 0, 0, 0}, {3072, 60, 16384, 0, 0, 0, 0}, {10, 34, 514, 85, 5397, 0, 0}, {10, 514, 1026, 20, 0, 0, 0}, {255, 16191, 16447, 0, 0, 0, 0}, {16448, 0, 0, 0, 0, 0, 0}, {5, 17, 256, 0, 0, 0, 0}, {10, 34, 512, 16450, 0, 0, 0}, {15, 51, 768, 16451, 0, 0, 0}, {68, 1024, 0, 0, 0, 0, 0}, {5, 4112, 0, 0, 0, 0, 0}, {10, 8224, 102, 1536, 0, 0, 0}, {15, 12336, 119, 1792, 0, 0, 0}, {136, 2048, 16456, 0, 0, 0, 0}, {51, 768, 5, 4115, 0, 0, 0}, {10, 8224, 16448, 0, 0, 0, 0}, {15, 51, 768, 68, 1024, 0, 0}, {204, 3072, 16460, 0, 0, 0, 0}, {34, 512, 5, 4114, 0, 0, 0}, {10, 34, 512, 68, 1024, 0, 0}, {15, 12336, 16448, 0, 0, 0, 0}, {80, 4096, 0, 0, 0, 0, 0}, {1028, 17, 0, 0, 0, 0, 0}, {2056, 34, 90, 4608, 0, 0, 0}, {3084, 51, 95, 4864, 0, 0, 0}, {1028, 20, 0, 0, 0, 0, 0}, {85, 5376, 0, 0, 0, 0, 0}, {3084, 60, 90, 5632, 0, 0, 0}, {2056, 40, 95, 5888, 0, 0, 0}, {2056, 40, 80, 4104, 0, 0, 0}, {3084, 51, 85, 5388, 0, 0, 0}, {6656, 12288, 90, 0, 0, 0, 0}, {27, 51, 68, 1028, 4883, 0, 0}, {3084, 60, 80, 4108, 0, 0, 0}, {2056, 34, 85, 5384, 0, 0, 0}, {30, 34, 68, 1028, 4626, 0, 0}, {7936, 8192, 95, 0, 0, 0, 0}, {160, 8192, 16480, 0, 0, 0, 0}, {15, 768, 1031, 17, 0, 0, 0}, {2056, 34, 16448, 0, 0, 0, 0}, {15, 51, 768, 80, 4096, 0, 0}, {40, 68, 1032, 0, 0, 0, 0}, {15, 85, 5424, 0, 0, 0, 0}, {3072, 9728, 102, 0, 0, 0, 0}, {15, 39, 80, 1799, 4112, 0, 0}, {2056, 40, 16448, 0, 0, 0, 0}, {15, 51, 768, 85, 5376, 0, 0}, {170, 10752, 16490, 0, 0, 0, 0}, {15, 768, 1031, 20, 0, 0, 0}, {3072, 8192, 108, 0, 0, 0, 0}, {15, 34, 85, 1799, 4626, 0, 0}, {34, 68, 1032, 0, 0, 0, 0}, {15, 80, 4144, 0, 0, 0, 0}, {240, 12288, 16496, 0, 0, 0, 0}, {10, 512, 1030, 17, 0, 0, 0}, {10, 34, 512, 80, 4096, 0, 0}, {3084, 51, 16448, 0, 0, 0, 0}, {60, 68, 1036, 0, 0, 0, 0}, {10, 85, 5408, 0, 0, 0, 0}, {10, 54, 80, 1542, 4112, 0, 0}, {2048, 14080, 119, 0, 0, 0, 0}, {2048, 12288, 120, 0, 0, 0, 0}, {10, 51, 85, 1542, 4883, 0, 0}, {10, 80, 4128, 0, 0, 0, 0}, {51, 68, 1036, 0, 0, 0, 0}, {3084, 60, 16448, 0, 0, 0, 0}, {10, 34, 512, 85, 5376, 0, 0}, {10, 512, 1030, 20, 0, 0, 0}, {255, 16128, 16511, 0, 0, 0, 0}, {16512, 0, 0, 0, 0, 0, 0}, {5, 17, 259, 0, 0, 0, 0}, {10, 34, 512, 16384, 0, 0, 0}, {15, 51, 771, 16448, 0, 0, 0}, {68, 1036, 0, 0, 0, 0, 0}, {5, 4128, 0, 0, 0, 0, 0}, {10, 8224, 102, 1542, 0, 0, 0}, {15, 12288, 119, 1792, 0, 0, 0}, {136, 2048, 16384, 0, 0, 0, 0}, {51, 771, 5, 4112, 0, 0, 0}, {10, 8224, 16416, 0, 0, 0, 0}, {15, 51, 771, 68, 1027, 0, 0}, {204, 3084, 16448, 0, 0, 0, 0}, {34, 512, 5, 4096, 0, 0, 0}, {10, 34, 512, 68, 1030, 0, 0}, {15, 12288, 16496, 0, 0, 0, 0}, {80, 4144, 0, 0, 0, 0, 0}, {1032, 17, 0, 0, 0, 0, 0}, {2056, 34, 90, 4626, 0, 0, 0}, {3072, 51, 95, 4864, 0, 0, 0}, {1032, 20, 0, 0, 0, 0, 0}, {85, 5439, 0, 0, 0, 0, 0}, {3072, 60, 90, 5632, 0, 0, 0}, {2056, 40, 95, 5911, 0, 0, 0}, {2056, 40, 80, 4112, 0, 0, 0}, {3072, 51, 85, 5376, 0, 0, 0}, {6704, 12336, 90, 0, 0, 0, 0}, {27, 51, 68, 1043, 4883, 0, 0}, {3072, 60, 80, 4096, 0, 0, 0}, {2056, 34, 85, 5397, 0, 0, 0}, {30, 34, 68, 1046, 4608, 0, 0}, {7999, 8192, 95, 0, 0, 0, 0}, {160, 8192, 16384, 0, 0, 0, 0}, {15, 771, 1028, 17, 0, 0, 0}, {2056, 34, 16392, 0, 0, 0, 0}, {15, 51, 771, 80, 4099, 0, 0}, {40, 68, 1028, 0, 0, 0, 0}, {15, 85, 5376, 0, 0, 0, 0}, {3084, 9740, 102, 0, 0, 0, 0}, {15, 39, 80, 1799, 4103, 0, 0}, {2056, 40, 16392, 0, 0, 0, 0}, {15, 51, 771, 85, 5379, 0, 0}, {170, 10752, 16384, 0, 0, 0, 0}, {15, 771, 1028, 20, 0, 0, 0}, {3084, 8192, 108, 0, 0, 0, 0}, {15, 34, 85, 1799, 4608, 0, 0}, {34, 68, 1028, 0, 0, 0, 0}, {15, 80, 4096, 0, 0, 0, 0}, {240, 12336, 16448, 0, 0, 0, 0}, {10, 512, 1024, 17, 0, 0, 0}, {10, 34, 512, 80, 4114, 0, 0}, {3072, 51, 16460, 0, 0, 0, 0}, {60, 68, 1024, 0, 0, 0, 0}, {10, 85, 5397, 0, 0, 0, 0}, {10, 54, 80, 1536, 4118, 0, 0}, {2048, 14143, 119, 0, 0, 0, 0}, {2048, 12336, 120, 0, 0, 0, 0}, {10, 51, 85, 1536, 4883, 0, 0}, {10, 80, 4112, 0, 0, 0, 0}, {51, 68, 1024, 0, 0, 0, 0}, {3072, 60, 16460, 0, 0, 0, 0}, {10, 34, 512, 85, 5399, 0, 0}, {10, 512, 1024, 20, 0, 0, 0}, {255, 16191, 16448, 0, 0, 0, 0}, {16576, 0, 0, 0, 0, 0, 0}, {5, 17, 258, 0, 0, 0, 0}, {10, 34, 514, 16448, 0, 0, 0}, {15, 51, 768, 16384, 0, 0, 0}, {68, 1032, 0, 0, 0, 0, 0}, {5, 4144, 0, 0, 0, 0, 0}, {10, 8192, 102, 1536, 0, 0, 0}, {15, 12336, 119, 1799, 0, 0, 0}, {136, 2056, 16448, 0, 0, 0, 0}, {51, 768, 5, 4096, 0, 0, 0}, {10, 8192, 16480, 0, 0, 0, 0}, {15, 51, 768, 68, 1031, 0, 0}, {204, 3072, 16384, 0, 0, 0, 0}, {34, 514, 5, 4112, 0, 0, 0}, {10, 34, 514, 68, 1026, 0, 0}, {15, 12336, 16432, 0, 0, 0, 0}, {80, 4128, 0, 0, 0, 0, 0}, {1036, 17, 0, 0, 0, 0, 0}, {2048, 34, 90, 4608, 0, 0, 0}, {3084, 51, 95, 4883, 0, 0, 0}, {1036, 20, 0, 0, 0, 0, 0}, {85, 5418, 0, 0, 0, 0, 0}, {3084, 60, 90, 5654, 0, 0, 0}, {2048, 40, 95, 5888, 0, 0, 0}, {2048, 40, 80, 4096, 0, 0, 0}, {3084, 51, 85, 5397, 0, 0, 0}, {6698, 12288, 90, 0, 0, 0, 0}, {27, 51, 68, 1047, 4864, 0, 0}, {3084, 60, 80, 4112, 0, 0, 0}, {2048, 34, 85, 5376, 0, 0, 0}, {30, 34, 68, 1042, 4626, 0, 0}, {7968, 8224, 95, 0, 0, 0, 0}, {160, 8224, 16448, 0, 0, 0, 0}, {15, 768, 1024, 17, 0, 0, 0}, {2048, 34, 16456, 0, 0, 0, 0}, {15, 51, 768, 80, 4115, 0, 0}, {40, 68, 1024, 0, 0, 0, 0}, {15, 85, 5397, 0, 0, 0, 0}, {3072, 9770, 102, 0, 0, 0, 0}, {15, 39, 80, 1792, 4119, 0, 0}, {2048, 40, 16456, 0, 0, 0, 0}, {15, 51, 768, 85, 5398, 0, 0}, {170, 10794, 16448, 0, 0, 0, 0}, {15, 768, 1024, 20, 0, 0, 0}, {3072, 8224, 108, 0, 0, 0, 0}, {15, 34, 85, 1792, 4626, 0, 0}, {34, 68, 1024, 0, 0, 0, 0}, {15, 80, 4112, 0, 0, 0, 0}, {240, 12288, 16384, 0, 0, 0, 0}, {10, 514, 1028, 17, 0, 0, 0}, {10, 34, 514, 80, 4098, 0, 0}, {3084, 51, 16396, 0, 0, 0, 0}, {60, 68, 1028, 0, 0, 0, 0}, {10, 85, 5376, 0, 0, 0, 0}, {10, 54, 80, 1542, 4102, 0, 0}, {2056, 14088, 119, 0, 0, 0, 0}, {2056, 12288, 120, 0, 0, 0, 0}, {10, 51, 85, 1542, 4864, 0, 0}, {10, 80, 4096, 0, 0, 0, 0}, {51, 68, 1028, 0, 0, 0, 0}, {3084, 60, 16396, 0, 0, 0, 0}, {10, 34, 514, 85, 5378, 0, 0}, {10, 514, 1028, 20, 0, 0, 0}, {255, 16128, 16384, 0, 0, 0, 0}, {1280, 4352, 0, 0, 0, 0, 0}, {64, 257, 0, 0, 0, 0, 0}, {128, 514, 1290, 4386, 0, 0, 0}, {192, 771, 1295, 4403, 0, 0, 0}, {64, 260, 0, 0, 0, 0, 0}, {1285, 4437, 0, 0, 0, 0, 0}, {192, 780, 1290, 4454, 0, 0, 0}, {128, 520, 1295, 4471, 0, 0, 0}, {128, 520, 1280, 4360, 0, 0, 0}, {192, 771, 1285, 4441, 0, 0, 0}, {4522, 13056, 1290, 0, 0, 0, 0}, {267, 771, 64, 1028, 4144, 0, 0}, {192, 780, 1280, 4364, 0, 0, 0}, {128, 514, 1285, 4445, 0, 0, 0}, {270, 514, 64, 1028, 4128, 0, 0}, {4607, 8704, 1295, 0, 0, 0, 0}, {64, 272, 0, 0, 0, 0, 0}, {1365, 4369, 0, 0, 0, 0, 0}, {192, 816, 1370, 4386, 0, 0, 0}, {128, 544, 1375, 4403, 0, 0, 0}, {1360, 4420, 0, 0, 0, 0, 0}, {64, 277, 0, 0, 0, 0, 0}, {128, 554, 1370, 4454, 0, 0, 0}, {192, 831, 1375, 4471, 0, 0, 0}, {192, 816, 1360, 4424, 0, 0, 0}, {128, 554, 1365, 4377, 0, 0, 0}, {282, 816, 64, 1024, 4144, 0, 0}, {4539, 13107, 1375, 0, 0, 0, 0}, {128, 544, 1360, 4428, 0, 0, 0}, {192, 831, 1365, 4381, 0, 0, 0}, {4590, 8738, 1370, 0, 0, 0, 0}, {287, 544, 64, 1024, 4128, 0, 0}, {128, 544, 1312, 4352, 0, 0, 0}, {192, 771, 1381, 4369, 0, 0, 0}, {1450, 3840, 4386, 0, 0, 0, 0}, {291, 771, 64, 1036, 4112, 0, 0}, {192, 780, 1376, 4420, 0, 0, 0}, {128, 554, 1317, 4437, 0, 0, 0}, {294, 780, 64, 1036, 4096, 0, 0}, {1455, 3855, 4471, 0, 0, 0, 0}, {1440, 3840, 5160, 0, 0, 0, 0}, {297, 771, 64, 1036, 4377, 0, 0}, {128, 554, 1322, 4394, 0, 0, 0}, {192, 771, 1391, 4475, 0, 0, 0}, {300, 780, 64, 1036, 4364, 0, 0}, {1445, 3855, 5240, 0, 0, 0, 0}, {192, 780, 1386, 4398, 0, 0, 0}, {128, 544, 1327, 4479, 0, 0, 0}, {192, 816, 1328, 4352, 0, 0, 0}, {128, 514, 1397, 4369, 0, 0, 0}, {306, 514, 64, 1032, 4112, 0, 0}, {1535, 2560, 4403, 0, 0, 0, 0}, {128, 520, 1392, 4420, 0, 0, 0}, {192, 831, 1333, 4437, 0, 0, 0}, {1530, 2570, 4454, 0, 0, 0, 0}, {311, 520, 64, 1032, 4096, 0, 0}, {312, 520, 64, 1032, 4360, 0, 0}, {1525, 2570, 5228, 0, 0, 0, 0}, {192, 816, 1338, 4458, 0, 0, 0}, {128, 520, 1407, 4411, 0, 0, 0}, {1520, 2560, 5180, 0, 0, 0, 0}, {317, 514, 64, 1032, 4381, 0, 0}, {128, 514, 1402, 4462, 0, 0, 0}, {192, 831, 1343, 4415, 0, 0, 0}, {64, 256, 0, 0, 0, 0, 0}, {1285, 4369, 0, 0, 0, 0, 0}, {192, 768, 1290, 4386, 0, 0, 0}, {128, 512, 1295, 4403, 0, 0, 0}, {1280, 4420, 0, 0, 0, 0, 0}, {64, 261, 0, 0, 0, 0, 0}, {128, 522, 1290, 4454, 0, 0, 0}, {192, 783, 1295, 4471, 0, 0, 0}, {192, 768, 1280, 4424, 0, 0, 0}, {128, 522, 1285, 4377, 0, 0, 0}, {266, 768, 64, 1024, 4128, 0, 0}, {4539, 13107, 1295, 0, 0, 0, 0}, {128, 512, 1280, 4428, 0, 0, 0}, {192, 783, 1285, 4381, 0, 0, 0}, {4590, 8738, 1290, 0, 0, 0, 0}, {271, 512, 64, 1024, 4144, 0, 0}, {1360, 4352, 0, 0, 0, 0, 0}, {64, 273, 0, 0, 0, 0, 0}, {128, 546, 1370, 4386, 0, 0, 0}, {192, 819, 1375, 4403, 0, 0, 0}, {64, 276, 0, 0, 0, 0, 0}, {1365, 4437, 0, 0, 0, 0, 0}, {192, 828, 1370, 4454, 0, 0, 0}, {128, 552, 1375, 4471, 0, 0, 0}, {128, 552, 1360, 4360, 0, 0, 0}, {192, 819, 1365, 4441, 0, 0, 0}, {4522, 13056, 1370, 0, 0, 0, 0}, {283, 819, 64, 1028, 4128, 0, 0}, {192, 828, 1360, 4364, 0, 0, 0}, {128, 546, 1365, 4445, 0, 0, 0}, {286, 546, 64, 1028, 4144, 0, 0}, {4607, 8704, 1375, 0, 0, 0, 0}, {192, 768, 1376, 4352, 0, 0, 0}, {128, 546, 1317, 4369, 0, 0, 0}, {290, 768, 64, 1032, 4096, 0, 0}, {1455, 3855, 4403, 0, 0, 0, 0}, {128, 552, 1312, 4420, 0, 0, 0}, {192, 783, 1381, 4437, 0, 0, 0}, {1450, 3840, 4454, 0, 0, 0, 0}, {295, 783, 64, 1032, 4112, 0, 0}, {296, 768, 64, 1032, 4360, 0, 0}, {1445, 3855, 5180, 0, 0, 0, 0}, {192, 768, 1386, 4458, 0, 0, 0}, {128, 552, 1327, 4411, 0, 0, 0}, {1440, 3840, 5228, 0, 0, 0, 0}, {301, 783, 64, 1032, 4381, 0, 0}, {128, 546, 1322, 4462, 0, 0, 0}, {192, 783, 1391, 4415, 0, 0, 0}, {128, 512, 1392, 4352, 0, 0, 0}, {192, 819, 1333, 4369, 0, 0, 0}, {1530, 2570, 4386, 0, 0, 0, 0}, {307, 512, 64, 1036, 4096, 0, 0}, {192, 828, 1328, 4420, 0, 0, 0}, {128, 522, 1397, 4437, 0, 0, 0}, {310, 522, 64, 1036, 4112, 0, 0}, {1535, 2560, 4471, 0, 0, 0, 0}, {1520, 2560, 5240, 0, 0, 0, 0}, {313, 522, 64, 1036, 4377, 0, 0}, {128, 522, 1402, 4394, 0, 0, 0}, {192, 819, 1343, 4475, 0, 0, 0}, {316, 512, 64, 1036, 4364, 0, 0}, {1525, 2570, 5160, 0, 0, 0, 0}, {192, 828, 1338, 4398, 0, 0, 0}, {128, 512, 1407, 4479, 0, 0, 0}, {128, 512, 1280, 4352, 0, 0, 0}, {192, 771, 1285, 4369, 0, 0, 0}, {1290, 4386, 0, 0, 0, 0, 0}, {64, 259, 0, 0, 0, 0, 0}, {192, 780, 1280, 4420, 0, 0, 0}, {128, 522, 1285, 4437, 0, 0, 0}, {64, 262, 0, 0, 0, 0, 0}, {1295, 4471, 0, 0, 0, 0, 0}, {4488, 13056, 1280, 0, 0, 0, 0}, {265, 771, 64, 1285, 4112, 0, 0}, {128, 522, 1290, 4394, 0, 0, 0}, {192, 771, 1295, 4475, 0, 0, 0}, {268, 512, 64, 1280, 4096, 0, 0}, {4573, 8738, 1285, 0, 0, 0, 0}, {192, 780, 1290, 4398, 0, 0, 0}, {128, 512, 1295, 4479, 0, 0, 0}, {192, 816, 1360, 4352, 0, 0, 0}, {128, 546, 1365, 4369, 0, 0, 0}, {64, 274, 0, 0, 0, 0, 0}, {1375, 4403, 0, 0, 0, 0, 0}, {128, 552, 1360, 4420, 0, 0, 0}, {192, 831, 1365, 4437, 0, 0, 0}, {1370, 4454, 0, 0, 0, 0, 0}, {64, 279, 0, 0, 0, 0, 0}, {280, 816, 64, 1296, 4112, 0, 0}, {4505, 13107, 1365, 0, 0, 0, 0}, {192, 816, 1370, 4458, 0, 0, 0}, {128, 552, 1375, 4411, 0, 0, 0}, {4556, 8704, 1360, 0, 0, 0, 0}, {285, 546, 64, 1301, 4096, 0, 0}, {128, 546, 1370, 4462, 0, 0, 0}, {192, 831, 1375, 4415, 0, 0, 0}, {1440, 3840, 4352, 0, 0, 0, 0}, {289, 771, 64, 1028, 4369, 0, 0}, {128, 546, 1322, 4386, 0, 0, 0}, {192, 771, 1391, 4403, 0, 0, 0}, {292, 780, 64, 1028, 4356, 0, 0}, {1445, 3855, 4437, 0, 0, 0, 0}, {192, 780, 1386, 4454, 0, 0, 0}, {128, 552, 1327, 4471, 0, 0, 0}, {128, 552, 1312, 4360, 0, 0, 0}, {192, 771, 1381, 4441, 0, 0, 0}, {1450, 3840, 5120, 0, 0, 0, 0}, {299, 771, 64, 1028, 4112, 0, 0}, {192, 780, 1376, 4364, 0, 0, 0}, {128, 546, 1317, 4445, 0, 0, 0}, {302, 780, 64, 1028, 4096, 0, 0}, {1455, 3855, 5200, 0, 0, 0, 0}, {304, 512, 64, 1024, 4352, 0, 0}, {1525, 2570, 4369, 0, 0, 0, 0}, {192, 816, 1338, 4386, 0, 0, 0}, {128, 512, 1407, 4403, 0, 0, 0}, {1520, 2560, 4420, 0, 0, 0, 0}, {309, 522, 64, 1024, 4373, 0, 0}, {128, 522, 1402, 4454, 0, 0, 0}, {192, 831, 1343, 4471, 0, 0, 0}, {192, 816, 1328, 4424, 0, 0, 0}, {128, 522, 1397, 4377, 0, 0, 0}, {314, 522, 64, 1024, 4112, 0, 0}, {1535, 2560, 5188, 0, 0, 0, 0}, {128, 512, 1392, 4428, 0, 0, 0}, {192, 831, 1333, 4381, 0, 0, 0}, {1530, 2570, 5140, 0, 0, 0, 0}, {319, 512, 64, 1024, 4096, 0, 0}, {192, 768, 1280, 4352, 0, 0, 0}, {128, 514, 1285, 4369, 0, 0, 0}, {64, 258, 0, 0, 0, 0, 0}, {1295, 4403, 0, 0, 0, 0, 0}, {128, 520, 1280, 4420, 0, 0, 0}, {192, 783, 1285, 4437, 0, 0, 0}, {1290, 4454, 0, 0, 0, 0, 0}, {64, 263, 0, 0, 0, 0, 0}, {264, 768, 64, 1280, 4096, 0, 0}, {4505, 13107, 1285, 0, 0, 0, 0}, {192, 768, 1290, 4458, 0, 0, 0}, {128, 520, 1295, 4411, 0, 0, 0}, {4556, 8704, 1280, 0, 0, 0, 0}, {269, 514, 64, 1285, 4112, 0, 0}, {128, 514, 1290, 4462, 0, 0, 0}, {192, 783, 1295, 4415, 0, 0, 0}, {128, 544, 1360, 4352, 0, 0, 0}, {192, 819, 1365, 4369, 0, 0, 0}, {1370, 4386, 0, 0, 0, 0, 0}, {64, 275, 0, 0, 0, 0, 0}, {192, 828, 1360, 4420, 0, 0, 0}, {128, 554, 1365, 4437, 0, 0, 0}, {64, 278, 0, 0, 0, 0, 0}, {1375, 4471, 0, 0, 0, 0, 0}, {4488, 13056, 1360, 0, 0, 0, 0}, {281, 819, 64, 1301, 4096, 0, 0}, {128, 554, 1370, 4394, 0, 0, 0}, {192, 819, 1375, 4475, 0, 0, 0}, {284, 544, 64, 1296, 4112, 0, 0}, {4573, 8738, 1365, 0, 0, 0, 0}, {192, 828, 1370, 4398, 0, 0, 0}, {128, 544, 1375, 4479, 0, 0, 0}, {288, 768, 64, 1024, 4352, 0, 0}, {1445, 3855, 4369, 0, 0, 0, 0}, {192, 768, 1386, 4386, 0, 0, 0}, {128, 544, 1327, 4403, 0, 0, 0}, {1440, 3840, 4420, 0, 0, 0, 0}, {293, 783, 64, 1024, 4373, 0, 0}, {128, 554, 1322, 4454, 0, 0, 0}, {192, 783, 1391, 4471, 0, 0, 0}, {192, 768, 1376, 4424, 0, 0, 0}, {128, 554, 1317, 4377, 0, 0, 0}, {298, 768, 64, 1024, 4096, 0, 0}, {1455, 3855, 5140, 0, 0, 0, 0}, {128, 544, 1312, 4428, 0, 0, 0}, {192, 783, 1381, 4381, 0, 0, 0}, {1450, 3840, 5188, 0, 0, 0, 0}, {303, 783, 64, 1024, 4112, 0, 0}, {1520, 2560, 4352, 0, 0, 0, 0}, {305, 514, 64, 1028, 4369, 0, 0}, {128, 514, 1402, 4386, 0, 0, 0}, {192, 819, 1343, 4403, 0, 0, 0}, {308, 520, 64, 1028, 4356, 0, 0}, {1525, 2570, 4437, 0, 0, 0, 0}, {192, 828, 1338, 4454, 0, 0, 0}, {128, 520, 1407, 4471, 0, 0, 0}, {128, 520, 1392, 4360, 0, 0, 0}, {192, 819, 1333, 4441, 0, 0, 0}, {1530, 2570, 5200, 0, 0, 0, 0}, {315, 520, 64, 1028, 4096, 0, 0}, {192, 828, 1328, 4364, 0, 0, 0}, {128, 514, 1397, 4445, 0, 0, 0}, {318, 514, 64, 1028, 4112, 0, 0}, {1535, 2560, 5120, 0, 0, 0, 0}, {2560, 8704, 16896, 0, 0, 0, 0}, {15, 51, 67, 257, 0, 0, 0}, {128, 514, 16384, 0, 0, 0, 0}, {15, 51, 771, 1280, 4352, 0, 0}, {520, 76, 1028, 0, 0, 0, 0}, {15, 1285, 4693, 0, 0, 0, 0}, {204, 8806, 1542, 0, 0, 0, 0}, {15, 519, 112, 1280, 4096, 0, 0}, {128, 520, 16384, 0, 0, 0, 0}, {15, 51, 771, 1285, 4437, 0, 0}, {2570, 8874, 16906, 0, 0, 0, 0}, {15, 51, 67, 260, 0, 0, 0}, {204, 8704, 1548, 0, 0, 0, 0}, {15, 514, 112, 1285, 4128, 0, 0}, {514, 76, 1028, 0, 0, 0, 0}, {15, 1280, 4608, 0, 0, 0, 0}, {544, 112, 4112, 0, 0, 0, 0}, {51, 1621, 4369, 0, 0, 0, 0}, {240, 2650, 4626, 0, 0, 0, 0}, {51, 531, 76, 1024, 4352, 0, 0}, {60, 1616, 4676, 0, 0, 0, 0}, {554, 127, 5397, 0, 0, 0, 0}, {60, 534, 76, 1024, 4096, 0, 0}, {255, 2655, 5911, 0, 0, 0, 0}, {240, 2640, 4680, 0, 0, 0, 0}, {51, 537, 76, 1024, 4377, 0, 0}, {554, 112, 4144, 0, 0, 0, 0}, {51, 1631, 4420, 0, 0, 0, 0}, {60, 540, 76, 1024, 4124, 0, 0}, {255, 2645, 5960, 0, 0, 0, 0}, {60, 1626, 4638, 0, 0, 0, 0}, {544, 127, 5439, 0, 0, 0, 0}, {128, 544, 16384, 0, 0, 0, 0}, {15, 51, 771, 1365, 4369, 0, 0}, {2730, 8738, 16930, 0, 0, 0, 0}, {15, 51, 67, 272, 0, 0, 0}, {204, 8772, 1632, 0, 0, 0, 0}, {15, 549, 112, 1317, 4096, 0, 0}, {554, 76, 1036, 0, 0, 0, 0}, {15, 1360, 4727, 0, 0, 0, 0}, {2720, 8840, 16936, 0, 0, 0, 0}, {15, 51, 67, 277, 0, 0, 0}, {128, 554, 16384, 0, 0, 0, 0}, {15, 51, 771, 1360, 4420, 0, 0}, {544, 76, 1036, 0, 0, 0, 0}, {15, 1365, 4642, 0, 0, 0, 0}, {204, 8738, 1642, 0, 0, 0, 0}, {15, 544, 112, 1312, 4128, 0, 0}, {240, 2560, 4656, 0, 0, 0, 0}, {51, 514, 76, 1032, 4369, 0, 0}, {514, 112, 4112, 0, 0, 0, 0}, {51, 1536, 4352, 0, 0, 0, 0}, {60, 520, 76, 1032, 4096, 0, 0}, {255, 2570, 5984, 0, 0, 0, 0}, {60, 1546, 4698, 0, 0, 0, 0}, {520, 127, 5439, 0, 0, 0, 0}, {520, 112, 4144, 0, 0, 0, 0}, {51, 1546, 4437, 0, 0, 0, 0}, {240, 2570, 4714, 0, 0, 0, 0}, {51, 520, 76, 1032, 4360, 0, 0}, {60, 1536, 4608, 0, 0, 0, 0}, {514, 127, 5397, 0, 0, 0, 0}, {60, 514, 76, 1032, 4124, 0, 0}, {255, 2560, 5951, 0, 0, 0, 0}, {128, 512, 16448, 0, 0, 0, 0}, {15, 51, 768, 1285, 4369, 0, 0}, {2570, 8738, 16962, 0, 0, 0, 0}, {15, 51, 67, 256, 0, 0, 0}, {204, 8772, 1536, 0, 0, 0, 0}, {15, 517, 112, 1285, 4112, 0, 0}, {522, 76, 1024, 0, 0, 0, 0}, {15, 1280, 4679, 0, 0, 0, 0}, {2560, 8840, 16968, 0, 0, 0, 0}, {15, 51, 67, 261, 0, 0, 0}, {128, 522, 16448, 0, 0, 0, 0}, {15, 51, 768, 1280, 4420, 0, 0}, {512, 76, 1024, 0, 0, 0, 0}, {15, 1285, 4626, 0, 0, 0, 0}, {204, 8738, 1546, 0, 0, 0, 0}, {15, 512, 112, 1280, 4144, 0, 0}, {240, 2640, 4608, 0, 0, 0, 0}, {51, 529, 76, 1028, 4369, 0, 0}, {546, 112, 4096, 0, 0, 0, 0}, {51, 1619, 4352, 0, 0, 0, 0}, {60, 532, 76, 1028, 4112, 0, 0}, {255, 2645, 5888, 0, 0, 0, 0}, {60, 1622, 4694, 0, 0, 0, 0}, {552, 127, 5376, 0, 0, 0, 0}, {552, 112, 4128, 0, 0, 0, 0}, {51, 1625, 4437, 0, 0, 0, 0}, {240, 2650, 4698, 0, 0, 0, 0}, {51, 539, 76, 1028, 4360, 0, 0}, {60, 1628, 4620, 0, 0, 0, 0}, {546, 127, 5418, 0, 0, 0, 0}, {60, 542, 76, 1028, 4108, 0, 0}, {255, 2655, 5983, 0, 0, 0, 0}, {2720, 8704, 16992, 0, 0, 0, 0}, {15, 51, 67, 273, 0, 0, 0}, {128, 546, 16448, 0, 0, 0, 0}, {15, 51, 768, 1360, 4352, 0, 0}, {552, 76, 1032, 0, 0, 0, 0}, {15, 1365, 4709, 0, 0, 0, 0}, {204, 8806, 1638, 0, 0, 0, 0}, {15, 551, 112, 1312, 4112, 0, 0}, {128, 552, 16448, 0, 0, 0, 0}, {15, 51, 768, 1365, 4437, 0, 0}, {2730, 8874, 17002, 0, 0, 0, 0}, {15, 51, 67, 276, 0, 0, 0}, {204, 8704, 1644, 0, 0, 0, 0}, {15, 546, 112, 1317, 4144, 0, 0}, {546, 76, 1032, 0, 0, 0, 0}, {15, 1360, 4656, 0, 0, 0, 0}, {512, 112, 4096, 0, 0, 0, 0}, {51, 1542, 4369, 0, 0, 0, 0}, {240, 2570, 4642, 0, 0, 0, 0}, {51, 512, 76, 1036, 4352, 0, 0}, {60, 1548, 4680, 0, 0, 0, 0}, {522, 127, 5418, 0, 0, 0, 0}, {60, 522, 76, 1036, 4112, 0, 0}, {255, 2560, 6007, 0, 0, 0, 0}, {240, 2560, 4728, 0, 0, 0, 0}, {51, 522, 76, 1036, 4377, 0, 0}, {522, 112, 4128, 0, 0, 0, 0}, {51, 1548, 4420, 0, 0, 0, 0}, {60, 512, 76, 1036, 4108, 0, 0}, {255, 2570, 5928, 0, 0, 0, 0}, {60, 1542, 4626, 0, 0, 0, 0}, {512, 127, 5376, 0, 0, 0, 0}, {128, 512, 16384, 0, 0, 0, 0}, {15, 51, 771, 1285, 4369, 0, 0}, {2570, 8738, 17026, 0, 0, 0, 0}, {15, 51, 67, 259, 0, 0, 0}, {204, 8772, 1548, 0, 0, 0, 0}, {15, 517, 112, 1285, 4128, 0, 0}, {522, 76, 1036, 0, 0, 0, 0}, {15, 1280, 4727, 0, 0, 0, 0}, {2560, 8840, 17032, 0, 0, 0, 0}, {15, 51, 67, 262, 0, 0, 0}, {128, 522, 16384, 0, 0, 0, 0}, {15, 51, 771, 1280, 4420, 0, 0}, {512, 76, 1036, 0, 0, 0, 0}, {15, 1285, 4642, 0, 0, 0, 0}, {204, 8738, 1542, 0, 0, 0, 0}, {15, 512, 112, 1280, 4096, 0, 0}, {240, 2640, 4656, 0, 0, 0, 0}, {51, 529, 76, 1032, 4369, 0, 0}, {546, 112, 4144, 0, 0, 0, 0}, {51, 1631, 4352, 0, 0, 0, 0}, {60, 532, 76, 1032, 4124, 0, 0}, {255, 2645, 5951, 0, 0, 0, 0}, {60, 1626, 4698, 0, 0, 0, 0}, {552, 127, 5439, 0, 0, 0, 0}, {552, 112, 4112, 0, 0, 0, 0}, {51, 1621, 4437, 0, 0, 0, 0}, {240, 2650, 4714, 0, 0, 0, 0}, {51, 539, 76, 1032, 4360, 0, 0}, {60, 1616, 4608, 0, 0, 0, 0}, {546, 127, 5397, 0, 0, 0, 0}, {60, 542, 76, 1032, 4096, 0, 0}, {255, 2655, 5984, 0, 0, 0, 0}, {2720, 8704, 17056, 0, 0, 0, 0}, {15, 51, 67, 274, 0, 0, 0}, {128, 546, 16384, 0, 0, 0, 0}, {15, 51, 771, 1360, 4352, 0, 0}, {552, 76, 1028, 0, 0, 0, 0}, {15, 1365, 4693, 0, 0, 0, 0}, {204, 8806, 1642, 0, 0, 0, 0}, {15, 551, 112, 1312, 4128, 0, 0}, {128, 552, 16384, 0, 0, 0, 0}, {15, 51, 771, 1365, 4437, 0, 0}, {2730, 8874, 17066, 0, 0, 0, 0}, {15, 51, 67, 279, 0, 0, 0}, {204, 8704, 1632, 0, 0, 0, 0}, {15, 546, 112, 1317, 4096, 0, 0}, {546, 76, 1028, 0, 0, 0, 0}, {15, 1360, 4608, 0, 0, 0, 0}, {512, 112, 4144, 0, 0, 0, 0}, {51, 1546, 4369, 0, 0, 0, 0}, {240, 2570, 4626, 0, 0, 0, 0}, {51, 512, 76, 1024, 4352, 0, 0}, {60, 1536, 4676, 0, 0, 0, 0}, {522, 127, 5397, 0, 0, 0, 0}, {60, 522, 76, 1024, 4124, 0, 0}, {255, 2560, 5960, 0, 0, 0, 0}, {240, 2560, 4680, 0, 0, 0, 0}, {51, 522, 76, 1024, 4377, 0, 0}, {522, 112, 4112, 0, 0, 0, 0}, {51, 1536, 4420, 0, 0, 0, 0}, {60, 512, 76, 1024, 4096, 0, 0}, {255, 2570, 5911, 0, 0, 0, 0}, {60, 1546, 4638, 0, 0, 0, 0}, {512, 127, 5439, 0, 0, 0, 0}, {2560, 8704, 17088, 0, 0, 0, 0}, {15, 51, 67, 258, 0, 0, 0}, {128, 514, 16448, 0, 0, 0, 0}, {15, 51, 768, 1280, 4352, 0, 0}, {520, 76, 1032, 0, 0, 0, 0}, {15, 1285, 4709, 0, 0, 0, 0}, {204, 8806, 1546, 0, 0, 0, 0}, {15, 519, 112, 1280, 4144, 0, 0}, {128, 520, 16448, 0, 0, 0, 0}, {15, 51, 768, 1285, 4437, 0, 0}, {2570, 8874, 17098, 0, 0, 0, 0}, {15, 51, 67, 263, 0, 0, 0}, {204, 8704, 1536, 0, 0, 0, 0}, {15, 514, 112, 1285, 4112, 0, 0}, {514, 76, 1032, 0, 0, 0, 0}, {15, 1280, 4656, 0, 0, 0, 0}, {544, 112, 4128, 0, 0, 0, 0}, {51, 1625, 4369, 0, 0, 0, 0}, {240, 2650, 4642, 0, 0, 0, 0}, {51, 531, 76, 1036, 4352, 0, 0}, {60, 1628, 4680, 0, 0, 0, 0}, {554, 127, 5418, 0, 0, 0, 0}, {60, 534, 76, 1036, 4108, 0, 0}, {255, 2655, 5928, 0, 0, 0, 0}, {240, 2640, 4728, 0, 0, 0, 0}, {51, 537, 76, 1036, 4377, 0, 0}, {554, 112, 4096, 0, 0, 0, 0}, {51, 1619, 4420, 0, 0, 0, 0}, {60, 540, 76, 1036, 4112, 0, 0}, {255, 2645, 6007, 0, 0, 0, 0}, {60, 1622, 4626, 0, 0, 0, 0}, {544, 127, 5376, 0, 0, 0, 0}, {128, 544, 16448, 0, 0, 0, 0}, {15, 51, 768, 1365, 4369, 0, 0}, {2730, 8738, 17122, 0, 0, 0, 0}, {15, 51, 67, 275, 0, 0, 0}, {204, 8772, 1644, 0, 0, 0, 0}, {15, 549, 112, 1317, 4144, 0, 0}, {554, 76, 1024, 0, 0, 0, 0}, {15, 1360, 4679, 0, 0, 0, 0}, {2720, 8840, 17128, 0, 0, 0, 0}, {15, 51, 67, 278, 0, 0, 0}, {128, 554, 16448, 0, 0, 0, 0}, {15, 51, 768, 1360, 4420, 0, 0}, {544, 76, 1024, 0, 0, 0, 0}, {15, 1365, 4626, 0, 0, 0, 0}, {204, 8738, 1638, 0, 0, 0, 0}, {15, 544, 112, 1312, 4112, 0, 0}, {240, 2560, 4608, 0, 0, 0, 0}, {51, 514, 76, 1028, 4369, 0, 0}, {514, 112, 4128, 0, 0, 0, 0}, {51, 1548, 4352, 0, 0, 0, 0}, {60, 520, 76, 1028, 4108, 0, 0}, {255, 2570, 5983, 0, 0, 0, 0}, {60, 1542, 4694, 0, 0, 0, 0}, {520, 127, 5376, 0, 0, 0, 0}, {520, 112, 4096, 0, 0, 0, 0}, {51, 1542, 4437, 0, 0, 0, 0}, {240, 2570, 4698, 0, 0, 0, 0}, {51, 520, 76, 1028, 4360, 0, 0}, {60, 1548, 4620, 0, 0, 0, 0}, {514, 127, 5418, 0, 0, 0, 0}, {60, 514, 76, 1028, 4112, 0, 0}, {255, 2560, 5888, 0, 0, 0, 0}, {3840, 13056, 17152, 0, 0, 0, 0}, {10, 34, 66, 257, 0, 0, 0}, {10, 34, 514, 1280, 4352, 0, 0}, {192, 771, 16384, 0, 0, 0, 0}, {780, 72, 1028, 0, 0, 0, 0}, {10, 1285, 4949, 0, 0, 0, 0}, {10, 774, 96, 1280, 4096, 0, 0}, {136, 13175, 1799, 0, 0, 0, 0}, {136, 13056, 1800, 0, 0, 0, 0}, {10, 771, 96, 1285, 4144, 0, 0}, {10, 1280, 4864, 0, 0, 0, 0}, {771, 72, 1028, 0, 0, 0, 0}, {192, 780, 16384, 0, 0, 0, 0}, {10, 34, 514, 1285, 4437, 0, 0}, {10, 34, 66, 260, 0, 0, 0}, {3855, 13311, 17167, 0, 0, 0, 0}, {816, 96, 4112, 0, 0, 0, 0}, {34, 1877, 4369, 0, 0, 0, 0}, {34, 786, 72, 1024, 4352, 0, 0}, {160, 3935, 4883, 0, 0, 0, 0}, {40, 1872, 4932, 0, 0, 0, 0}, {831, 106, 5397, 0, 0, 0, 0}, {170, 3930, 5654, 0, 0, 0, 0}, {40, 791, 72, 1024, 4096, 0, 0}, {40, 792, 72, 1024, 4120, 0, 0}, {170, 3925, 5708, 0, 0, 0, 0}, {816, 106, 5418, 0, 0, 0, 0}, {40, 1887, 4891, 0, 0, 0, 0}, {160, 3920, 4940, 0, 0, 0, 0}, {34, 797, 72, 1024, 4381, 0, 0}, {34, 1882, 4420, 0, 0, 0, 0}, {831, 96, 4128, 0, 0, 0, 0}, {160, 3840, 4896, 0, 0, 0, 0}, {34, 771, 72, 1036, 4369, 0, 0}, {34, 1792, 4352, 0, 0, 0, 0}, {771, 96, 4112, 0, 0, 0, 0}, {40, 780, 72, 1036, 4096, 0, 0}, {170, 3855, 5744, 0, 0, 0, 0}, {780, 106, 5418, 0, 0, 0, 0}, {40, 1807, 4959, 0, 0, 0, 0}, {40, 1792, 4864, 0, 0, 0, 0}, {771, 106, 5397, 0, 0, 0, 0}, {170, 3840, 5674, 0, 0, 0, 0}, {40, 771, 72, 1036, 4120, 0, 0}, {780, 96, 4128, 0, 0, 0, 0}, {34, 1807, 4437, 0, 0, 0, 0}, {34, 780, 72, 1036, 4364, 0, 0}, {160, 3855, 4991, 0, 0, 0, 0}, {192, 816, 16384, 0, 0, 0, 0}, {10, 34, 514, 1365, 4369, 0, 0}, {10, 34, 66, 272, 0, 0, 0}, {4095, 13107, 17203, 0, 0, 0, 0}, {136, 13124, 1904, 0, 0, 0, 0}, {10, 821, 96, 1333, 4096, 0, 0}, {10, 1360, 4966, 0, 0, 0, 0}, {831, 72, 1032, 0, 0, 0, 0}, {816, 72, 1032, 0, 0, 0, 0}, {10, 1365, 4915, 0, 0, 0, 0}, {10, 816, 96, 1328, 4144, 0, 0}, {136, 13107, 1919, 0, 0, 0, 0}, {4080, 13260, 17212, 0, 0, 0, 0}, {10, 34, 66, 277, 0, 0, 0}, {10, 34, 514, 1360, 4420, 0, 0}, {192, 831, 16384, 0, 0, 0, 0}, {192, 768, 16448, 0, 0, 0, 0}, {10, 34, 512, 1285, 4369, 0, 0}, {10, 34, 66, 256, 0, 0, 0}, {3855, 13107, 17219, 0, 0, 0, 0}, {136, 13124, 1792, 0, 0, 0, 0}, {10, 773, 96, 1285, 4112, 0, 0}, {10, 1280, 4934, 0, 0, 0, 0}, {783, 72, 1024, 0, 0, 0, 0}, {768, 72, 1024, 0, 0, 0, 0}, {10, 1285, 4883, 0, 0, 0, 0}, {10, 768, 96, 1280, 4128, 0, 0}, {136, 13107, 1807, 0, 0, 0, 0}, {3840, 13260, 17228, 0, 0, 0, 0}, {10, 34, 66, 261, 0, 0, 0}, {10, 34, 512, 1280, 4420, 0, 0}, {192, 783, 16448, 0, 0, 0, 0}, {160, 3920, 4864, 0, 0, 0, 0}, {34, 785, 72, 1028, 4369, 0, 0}, {34, 1874, 4352, 0, 0, 0, 0}, {819, 96, 4096, 0, 0, 0, 0}, {40, 788, 72, 1028, 4112, 0, 0}, {170, 3925, 5632, 0, 0, 0, 0}, {828, 106, 5376, 0, 0, 0, 0}, {40, 1879, 4951, 0, 0, 0, 0}, {40, 1880, 4872, 0, 0, 0, 0}, {819, 106, 5439, 0, 0, 0, 0}, {170, 3930, 5722, 0, 0, 0, 0}, {40, 795, 72, 1028, 4104, 0, 0}, {828, 96, 4144, 0, 0, 0, 0}, {34, 1885, 4437, 0, 0, 0, 0}, {34, 798, 72, 1028, 4364, 0, 0}, {160, 3935, 4959, 0, 0, 0, 0}, {768, 96, 4096, 0, 0, 0, 0}, {34, 1799, 4369, 0, 0, 0, 0}, {34, 768, 72, 1032, 4352, 0, 0}, {160, 3855, 4915, 0, 0, 0, 0}, {40, 1800, 4940, 0, 0, 0, 0}, {783, 106, 5439, 0, 0, 0, 0}, {170, 3840, 5734, 0, 0, 0, 0}, {40, 783, 72, 1032, 4112, 0, 0}, {40, 768, 72, 1032, 4104, 0, 0}, {170, 3855, 5692, 0, 0, 0, 0}, {768, 106, 5376, 0, 0, 0, 0}, {40, 1799, 4883, 0, 0, 0, 0}, {160, 3840, 4972, 0, 0, 0, 0}, {34, 783, 72, 1032, 4381, 0, 0}, {34, 1800, 4420, 0, 0, 0, 0}, {783, 96, 4144, 0, 0, 0, 0}, {4080, 13056, 17264, 0, 0, 0, 0}, {10, 34, 66, 273, 0, 0, 0}, {10, 34, 512, 1360, 4352, 0, 0}, {192, 819, 16448, 0, 0, 0, 0}, {828, 72, 1036, 0, 0, 0, 0}, {10, 1365, 4981, 0, 0, 0, 0}, {10, 822, 96, 1328, 4112, 0, 0}, {136, 13175, 1911, 0, 0, 0, 0}, {136, 13056, 1912, 0, 0, 0, 0}, {10, 819, 96, 1333, 4128, 0, 0}, {10, 1360, 4896, 0, 0, 0, 0}, {819, 72, 1036, 0, 0, 0, 0}, {192, 828, 16448, 0, 0, 0, 0}, {10, 34, 512, 1365, 4437, 0, 0}, {10, 34, 66, 276, 0, 0, 0}, {4095, 13311, 17279, 0, 0, 0, 0}, {3840, 13056, 17280, 0, 0, 0, 0}, {10, 34, 66, 259, 0, 0, 0}, {10, 34, 512, 1280, 4352, 0, 0}, {192, 771, 16448, 0, 0, 0, 0}, {780, 72, 1036, 0, 0, 0, 0}, {10, 1285, 4981, 0, 0, 0, 0}, {10, 774, 96, 1280, 4128, 0, 0}, {136, 13175, 1807, 0, 0, 0, 0}, {136, 13056, 1792, 0, 0, 0, 0}, {10, 771, 96, 1285, 4112, 0, 0}, {10, 1280, 4896, 0, 0, 0, 0}, {771, 72, 1036, 0, 0, 0, 0}, {192, 780, 16448, 0, 0, 0, 0}, {10, 34, 512, 1285, 4437, 0, 0}, {10, 34, 66, 262, 0, 0, 0}, {3855, 13311, 17295, 0, 0, 0, 0}, {816, 96, 4144, 0, 0, 0, 0}, {34, 1885, 4369, 0, 0, 0, 0}, {34, 786, 72, 1032, 4352, 0, 0}, {160, 3935, 4915, 0, 0, 0, 0}, {40, 1880, 4940, 0, 0, 0, 0}, {831, 106, 5439, 0, 0, 0, 0}, {170, 3930, 5692, 0, 0, 0, 0}, {40, 791, 72, 1032, 4104, 0, 0}, {40, 792, 72, 1032, 4112, 0, 0}, {170, 3925, 5734, 0, 0, 0, 0}, {816, 106, 5376, 0, 0, 0, 0}, {40, 1879, 4883, 0, 0, 0, 0}, {160, 3920, 4972, 0, 0, 0, 0}, {34, 797, 72, 1032, 4381, 0, 0}, {34, 1874, 4420, 0, 0, 0, 0}, {831, 96, 4096, 0, 0, 0, 0}, {160, 3840, 4864, 0, 0, 0, 0}, {34, 771, 72, 1028, 4369, 0, 0}, {34, 1800, 4352, 0, 0, 0, 0}, {771, 96, 4144, 0, 0, 0, 0}, {40, 780, 72, 1028, 4104, 0, 0}, {170, 3855, 5722, 0, 0, 0, 0}, {780, 106, 5376, 0, 0, 0, 0}, {40, 1799, 4951, 0, 0, 0, 0}, {40, 1800, 4872, 0, 0, 0, 0}, {771, 106, 5439, 0, 0, 0, 0}, {170, 3840, 5632, 0, 0, 0, 0}, {40, 771, 72, 1028, 4112, 0, 0}, {780, 96, 4096, 0, 0, 0, 0}, {34, 1799, 4437, 0, 0, 0, 0}, {34, 780, 72, 1028, 4364, 0, 0}, {160, 3855, 4959, 0, 0, 0, 0}, {192, 816, 16448, 0, 0, 0, 0}, {10, 34, 512, 1365, 4369, 0, 0}, {10, 34, 66, 274, 0, 0, 0}, {4095, 13107, 17331, 0, 0, 0, 0}, {136, 13124, 1912, 0, 0, 0, 0}, {10, 821, 96, 1333, 4128, 0, 0}, {10, 1360, 4934, 0, 0, 0, 0}, {831, 72, 1024, 0, 0, 0, 0}, {816, 72, 1024, 0, 0, 0, 0}, {10, 1365, 4883, 0, 0, 0, 0}, {10, 816, 96, 1328, 4112, 0, 0}, {136, 13107, 1911, 0, 0, 0, 0}, {4080, 13260, 17340, 0, 0, 0, 0}, {10, 34, 66, 279, 0, 0, 0}, {10, 34, 512, 1360, 4420, 0, 0}, {192, 831, 16448, 0, 0, 0, 0}, {192, 768, 16384, 0, 0, 0, 0}, {10, 34, 514, 1285, 4369, 0, 0}, {10, 34, 66, 258, 0, 0, 0}, {3855, 13107, 17347, 0, 0, 0, 0}, {136, 13124, 1800, 0, 0, 0, 0}, {10, 773, 96, 1285, 4144, 0, 0}, {10, 1280, 4966, 0, 0, 0, 0}, {783, 72, 1032, 0, 0, 0, 0}, {768, 72, 1032, 0, 0, 0, 0}, {10, 1285, 4915, 0, 0, 0, 0}, {10, 768, 96, 1280, 4096, 0, 0}, {136, 13107, 1799, 0, 0, 0, 0}, {3840, 13260, 17356, 0, 0, 0, 0}, {10, 34, 66, 263, 0, 0, 0}, {10, 34, 514, 1280, 4420, 0, 0}, {192, 783, 16384, 0, 0, 0, 0}, {160, 3920, 4896, 0, 0, 0, 0}, {34, 785, 72, 1036, 4369, 0, 0}, {34, 1882, 4352, 0, 0, 0, 0}, {819, 96, 4128, 0, 0, 0, 0}, {40, 788, 72, 1036, 4120, 0, 0}, {170, 3925, 5674, 0, 0, 0, 0}, {828, 106, 5418, 0, 0, 0, 0}, {40, 1887, 4959, 0, 0, 0, 0}, {40, 1872, 4864, 0, 0, 0, 0}, {819, 106, 5397, 0, 0, 0, 0}, {170, 3930, 5744, 0, 0, 0, 0}, {40, 795, 72, 1036, 4096, 0, 0}, {828, 96, 4112, 0, 0, 0, 0}, {34, 1877, 4437, 0, 0, 0, 0}, {34, 798, 72, 1036, 4364, 0, 0}, {160, 3935, 4991, 0, 0, 0, 0}, {768, 96, 4128, 0, 0, 0, 0}, {34, 1807, 4369, 0, 0, 0, 0}, {34, 768, 72, 1024, 4352, 0, 0}, {160, 3855, 4883, 0, 0, 0, 0}, {40, 1792, 4932, 0, 0, 0, 0}, {783, 106, 5397, 0, 0, 0, 0}, {170, 3840, 5708, 0, 0, 0, 0}, {40, 783, 72, 1024, 4120, 0, 0}, {40, 768, 72, 1024, 4096, 0, 0}, {170, 3855, 5654, 0, 0, 0, 0}, {768, 106, 5418, 0, 0, 0, 0}, {40, 1807, 4891, 0, 0, 0, 0}, {160, 3840, 4940, 0, 0, 0, 0}, {34, 783, 72, 1024, 4381, 0, 0}, {34, 1792, 4420, 0, 0, 0, 0}, {783, 96, 4112, 0, 0, 0, 0}, {4080, 13056, 17392, 0, 0, 0, 0}, {10, 34, 66, 275, 0, 0, 0}, {10, 34, 514, 1360, 4352, 0, 0}, {192, 819, 16384, 0, 0, 0, 0}, {828, 72, 1028, 0, 0, 0, 0}, {10, 1365, 4949, 0, 0, 0, 0}, {10, 822, 96, 1328, 4144, 0, 0}, {136, 13175, 1919, 0, 0, 0, 0}, {136, 13056, 1904, 0, 0, 0, 0}, {10, 819, 96, 1333, 4096, 0, 0}, {10, 1360, 4864, 0, 0, 0, 0}, {819, 72, 1028, 0, 0, 0, 0}, {192, 828, 16384, 0, 0, 0, 0}, {10, 34, 514, 1365, 4437, 0, 0}, {10, 34, 66, 278, 0, 0, 0}, {4095, 13311, 17407, 0, 0, 0, 0}, {17408, 0, 0, 0, 0, 0, 0}, {5, 16, 257, 0, 0, 0, 0}, {10, 32, 514, 17410, 0, 0, 0}, {15, 48, 771, 17411, 0, 0, 0}, {64, 1028, 0, 0, 0, 0, 0}, {5, 4352, 0, 0, 0, 0, 0}, {10, 8704, 96, 1542, 0, 0, 0}, {15, 13056, 112, 1799, 0, 0, 0}, {128, 2056, 17416, 0, 0, 0, 0}, {48, 771, 5, 4355, 0, 0, 0}, {10, 8704, 17408, 0, 0, 0, 0}, {15, 48, 771, 64, 1028, 0, 0}, {192, 3084, 17420, 0, 0, 0, 0}, {32, 514, 5, 4354, 0, 0, 0}, {10, 32, 514, 64, 1028, 0, 0}, {15, 13056, 17408, 0, 0, 0, 0}, {1024, 16, 0, 0, 0, 0, 0}, {85, 4369, 0, 0, 0, 0, 0}, {3072, 48, 90, 4626, 0, 0, 0}, {2048, 32, 95, 4883, 0, 0, 0}, {80, 5140, 0, 0, 0, 0, 0}, {1024, 21, 0, 0, 0, 0, 0}, {2048, 42, 90, 5654, 0, 0, 0}, {3072, 63, 95, 5911, 0, 0, 0}, {3072, 48, 80, 5144, 0, 0, 0}, {2048, 42, 85, 4377, 0, 0, 0}, {26, 48, 64, 1024, 4608, 0, 0}, {6939, 13107, 95, 0, 0, 0, 0}, {2048, 32, 80, 5148, 0, 0, 0}, {3072, 63, 85, 4381, 0, 0, 0}, {7710, 8738, 90, 0, 0, 0, 0}, {31, 32, 64, 1024, 4864, 0, 0}, {2048, 32, 17408, 0, 0, 0, 0}, {15, 48, 771, 85, 4369, 0, 0}, {170, 8738, 17442, 0, 0, 0, 0}, {15, 771, 1027, 16, 0, 0, 0}, {3084, 9252, 96, 0, 0, 0, 0}, {15, 37, 85, 1792, 4352, 0, 0}, {42, 64, 1036, 0, 0, 0, 0}, {15, 80, 5159, 0, 0, 0, 0}, {160, 10280, 17448, 0, 0, 0, 0}, {15, 771, 1027, 21, 0, 0, 0}, {2048, 42, 17408, 0, 0, 0, 0}, {15, 48, 771, 80, 5140, 0, 0}, {32, 64, 1036, 0, 0, 0, 0}, {15, 85, 4386, 0, 0, 0, 0}, {3084, 8738, 106, 0, 0, 0, 0}, {15, 32, 80, 1792, 4864, 0, 0}, {3072, 48, 17408, 0, 0, 0, 0}, {10, 32, 514, 85, 4369, 0, 0}, {10, 514, 1026, 16, 0, 0, 0}, {255, 13107, 17459, 0, 0, 0, 0}, {2056, 13364, 112, 0, 0, 0, 0}, {10, 53, 85, 1536, 4352, 0, 0}, {10, 80, 5174, 0, 0, 0, 0}, {63, 64, 1032, 0, 0, 0, 0}, {48, 64, 1032, 0, 0, 0, 0}, {10, 85, 4403, 0, 0, 0, 0}, {10, 48, 80, 1536, 4608, 0, 0}, {2056, 13107, 127, 0, 0, 0, 0}, {240, 15420, 17468, 0, 0, 0, 0}, {10, 514, 1026, 21, 0, 0, 0}, {10, 32, 514, 80, 5140, 0, 0}, {3072, 63, 17408, 0, 0, 0, 0}, {64, 1024, 0, 0, 0, 0, 0}, {5, 4369, 0, 0, 0, 0, 0}, {10, 8738, 96, 1536, 0, 0, 0}, {15, 13107, 112, 1792, 0, 0, 0}, {17476, 0, 0, 0, 0, 0, 0}, {5, 16, 256, 0, 0, 0, 0}, {10, 32, 512, 17478, 0, 0, 0}, {15, 48, 768, 17479, 0, 0, 0}, {192, 3072, 17480, 0, 0, 0, 0}, {32, 512, 5, 4371, 0, 0, 0}, {10, 32, 512, 64, 1024, 0, 0}, {15, 13107, 17476, 0, 0, 0, 0}, {128, 2048, 17484, 0, 0, 0, 0}, {48, 768, 5, 4370, 0, 0, 0}, {10, 8738, 17476, 0, 0, 0, 0}, {15, 48, 768, 64, 1024, 0, 0}, {80, 5120, 0, 0, 0, 0, 0}, {1028, 21, 0, 0, 0, 0, 0}, {2056, 42, 90, 5632, 0, 0, 0}, {3084, 63, 95, 5888, 0, 0, 0}, {1028, 16, 0, 0, 0, 0, 0}, {85, 4352, 0, 0, 0, 0, 0}, {3084, 48, 90, 4608, 0, 0, 0}, {2056, 32, 95, 4864, 0, 0, 0}, {2056, 32, 80, 5128, 0, 0, 0}, {3084, 63, 85, 4364, 0, 0, 0}, {7680, 8704, 90, 0, 0, 0, 0}, {31, 32, 64, 1028, 4883, 0, 0}, {3084, 48, 80, 5132, 0, 0, 0}, {2056, 42, 85, 4360, 0, 0, 0}, {26, 48, 64, 1028, 4626, 0, 0}, {6912, 13056, 95, 0, 0, 0, 0}, {3072, 9216, 96, 0, 0, 0, 0}, {15, 37, 85, 1799, 4369, 0, 0}, {42, 64, 1032, 0, 0, 0, 0}, {15, 80, 5171, 0, 0, 0, 0}, {2056, 32, 17476, 0, 0, 0, 0}, {15, 48, 768, 85, 4352, 0, 0}, {170, 8704, 17510, 0, 0, 0, 0}, {15, 768, 1031, 16, 0, 0, 0}, {32, 64, 1032, 0, 0, 0, 0}, {15, 85, 4403, 0, 0, 0, 0}, {3072, 8704, 106, 0, 0, 0, 0}, {15, 32, 80, 1799, 4883, 0, 0}, {160, 10240, 17516, 0, 0, 0, 0}, {15, 768, 1031, 21, 0, 0, 0}, {2056, 42, 17476, 0, 0, 0, 0}, {15, 48, 768, 80, 5120, 0, 0}, {2048, 13312, 112, 0, 0, 0, 0}, {10, 53, 85, 1542, 4369, 0, 0}, {10, 80, 5154, 0, 0, 0, 0}, {63, 64, 1036, 0, 0, 0, 0}, {3084, 48, 17476, 0, 0, 0, 0}, {10, 32, 512, 85, 4352, 0, 0}, {10, 512, 1030, 16, 0, 0, 0}, {255, 13056, 17527, 0, 0, 0, 0}, {240, 15360, 17528, 0, 0, 0, 0}, {10, 512, 1030, 21, 0, 0, 0}, {10, 32, 512, 80, 5120, 0, 0}, {3084, 63, 17476, 0, 0, 0, 0}, {48, 64, 1036, 0, 0, 0, 0}, {10, 85, 4386, 0, 0, 0, 0}, {10, 48, 80, 1542, 4626, 0, 0}, {2048, 13056, 127, 0, 0, 0, 0}, {128, 2048, 17408, 0, 0, 0, 0}, {48, 771, 5, 4369, 0, 0, 0}, {10, 8738, 17442, 0, 0, 0, 0}, {15, 48, 771, 64, 1027, 0, 0}, {192, 3084, 17476, 0, 0, 0, 0}, {32, 512, 5, 4352, 0, 0, 0}, {10, 32, 512, 64, 1030, 0, 0}, {15, 13056, 17527, 0, 0, 0, 0}, {17544, 0, 0, 0, 0, 0, 0}, {5, 16, 259, 0, 0, 0, 0}, {10, 32, 512, 17408, 0, 0, 0}, {15, 48, 771, 17476, 0, 0, 0}, {64, 1036, 0, 0, 0, 0, 0}, {5, 4386, 0, 0, 0, 0, 0}, {10, 8738, 96, 1542, 0, 0, 0}, {15, 13056, 112, 1792, 0, 0, 0}, {3072, 48, 80, 5120, 0, 0, 0}, {2056, 42, 85, 4369, 0, 0, 0}, {26, 48, 64, 1042, 4626, 0, 0}, {6963, 13107, 95, 0, 0, 0, 0}, {2056, 32, 80, 5140, 0, 0, 0}, {3072, 63, 85, 4352, 0, 0, 0}, {7740, 8704, 90, 0, 0, 0, 0}, {31, 32, 64, 1047, 4864, 0, 0}, {1032, 16, 0, 0, 0, 0, 0}, {85, 4403, 0, 0, 0, 0, 0}, {3072, 48, 90, 4608, 0, 0, 0}, {2056, 32, 95, 4883, 0, 0, 0}, {80, 5180, 0, 0, 0, 0, 0}, {1032, 21, 0, 0, 0, 0, 0}, {2056, 42, 90, 5654, 0, 0, 0}, {3072, 63, 95, 5888, 0, 0, 0}, {160, 10240, 17408, 0, 0, 0, 0}, {15, 771, 1028, 21, 0, 0, 0}, {2056, 42, 17416, 0, 0, 0, 0}, {15, 48, 771, 80, 5123, 0, 0}, {32, 64, 1028, 0, 0, 0, 0}, {15, 85, 4352, 0, 0, 0, 0}, {3084, 8704, 106, 0, 0, 0, 0}, {15, 32, 80, 1799, 4864, 0, 0}, {2056, 32, 17416, 0, 0, 0, 0}, {15, 48, 771, 85, 4355, 0, 0}, {170, 8704, 17408, 0, 0, 0, 0}, {15, 771, 1028, 16, 0, 0, 0}, {3084, 9228, 96, 0, 0, 0, 0}, {15, 37, 85, 1799, 4359, 0, 0}, {42, 64, 1028, 0, 0, 0, 0}, {15, 80, 5120, 0, 0, 0, 0}, {48, 64, 1024, 0, 0, 0, 0}, {10, 85, 4369, 0, 0, 0, 0}, {10, 48, 80, 1536, 4626, 0, 0}, {2048, 13107, 127, 0, 0, 0, 0}, {240, 15420, 17476, 0, 0, 0, 0}, {10, 512, 1024, 21, 0, 0, 0}, {10, 32, 512, 80, 5142, 0, 0}, {3072, 63, 17480, 0, 0, 0, 0}, {3072, 48, 17480, 0, 0, 0, 0}, {10, 32, 512, 85, 4371, 0, 0}, {10, 512, 1024, 16, 0, 0, 0}, {255, 13107, 17476, 0, 0, 0, 0}, {2048, 13372, 112, 0, 0, 0, 0}, {10, 53, 85, 1536, 4375, 0, 0}, {10, 80, 5140, 0, 0, 0, 0}, {63, 64, 1024, 0, 0, 0, 0}, {192, 3072, 17408, 0, 0, 0, 0}, {32, 514, 5, 4369, 0, 0, 0}, {10, 32, 514, 64, 1026, 0, 0}, {15, 13107, 17459, 0, 0, 0, 0}, {128, 2056, 17476, 0, 0, 0, 0}, {48, 768, 5, 4352, 0, 0, 0}, {10, 8704, 17510, 0, 0, 0, 0}, {15, 48, 768, 64, 1031, 0, 0}, {64, 1032, 0, 0, 0, 0, 0}, {5, 4403, 0, 0, 0, 0, 0}, {10, 8704, 96, 1536, 0, 0, 0}, {15, 13107, 112, 1799, 0, 0, 0}, {17612, 0, 0, 0, 0, 0, 0}, {5, 16, 258, 0, 0, 0, 0}, {10, 32, 514, 17476, 0, 0, 0}, {15, 48, 768, 17408, 0, 0, 0}, {2048, 32, 80, 5120, 0, 0, 0}, {3084, 63, 85, 4369, 0, 0, 0}, {7714, 8738, 90, 0, 0, 0, 0}, {31, 32, 64, 1043, 4883, 0, 0}, {3084, 48, 80, 5140, 0, 0, 0}, {2048, 42, 85, 4352, 0, 0, 0}, {26, 48, 64, 1046, 4608, 0, 0}, {6952, 13056, 95, 0, 0, 0, 0}, {80, 5160, 0, 0, 0, 0, 0}, {1036, 21, 0, 0, 0, 0, 0}, {2048, 42, 90, 5632, 0, 0, 0}, {3084, 63, 95, 5911, 0, 0, 0}, {1036, 16, 0, 0, 0, 0, 0}, {85, 4386, 0, 0, 0, 0, 0}, {3084, 48, 90, 4626, 0, 0, 0}, {2048, 32, 95, 4864, 0, 0, 0}, {32, 64, 1024, 0, 0, 0, 0}, {15, 85, 4369, 0, 0, 0, 0}, {3072, 8738, 106, 0, 0, 0, 0}, {15, 32, 80, 1792, 4883, 0, 0}, {160, 10280, 17476, 0, 0, 0, 0}, {15, 768, 1024, 21, 0, 0, 0}, {2048, 42, 17484, 0, 0, 0, 0}, {15, 48, 768, 80, 5143, 0, 0}, {3072, 9256, 96, 0, 0, 0, 0}, {15, 37, 85, 1792, 4374, 0, 0}, {42, 64, 1024, 0, 0, 0, 0}, {15, 80, 5140, 0, 0, 0, 0}, {2048, 32, 17484, 0, 0, 0, 0}, {15, 48, 768, 85, 4370, 0, 0}, {170, 8738, 17476, 0, 0, 0, 0}, {15, 768, 1024, 16, 0, 0, 0}, {240, 15360, 17408, 0, 0, 0, 0}, {10, 514, 1028, 21, 0, 0, 0}, {10, 32, 514, 80, 5122, 0, 0}, {3084, 63, 17420, 0, 0, 0, 0}, {48, 64, 1028, 0, 0, 0, 0}, {10, 85, 4352, 0, 0, 0, 0}, {10, 48, 80, 1542, 4608, 0, 0}, {2056, 13056, 127, 0, 0, 0, 0}, {2056, 13320, 112, 0, 0, 0, 0}, {10, 53, 85, 1542, 4358, 0, 0}, {10, 80, 5120, 0, 0, 0, 0}, {63, 64, 1028, 0, 0, 0, 0}, {3084, 48, 17420, 0, 0, 0, 0}, {10, 32, 514, 85, 4354, 0, 0}, {10, 514, 1028, 16, 0, 0, 0}, {255, 13056, 17408, 0, 0, 0, 0}, {1280, 4096, 0, 0, 0, 0, 0}, {68, 257, 0, 0, 0, 0, 0}, {136, 514, 1290, 4128, 0, 0, 0}, {204, 771, 1295, 4144, 0, 0, 0}, {68, 260, 0, 0, 0, 0, 0}, {1285, 4176, 0, 0, 0, 0, 0}, {204, 780, 1290, 4192, 0, 0, 0}, {136, 520, 1295, 4208, 0, 0, 0}, {136, 520, 1280, 4104, 0, 0, 0}, {204, 771, 1285, 4188, 0, 0, 0}, {4256, 12288, 1290, 0, 0, 0, 0}, {267, 771, 68, 1028, 4403, 0, 0}, {204, 780, 1280, 4108, 0, 0, 0}, {136, 514, 1285, 4184, 0, 0, 0}, {270, 514, 68, 1028, 4386, 0, 0}, {4336, 8192, 1295, 0, 0, 0, 0}, {1360, 4112, 0, 0, 0, 0, 0}, {68, 273, 0, 0, 0, 0, 0}, {136, 546, 1370, 4144, 0, 0, 0}, {204, 819, 1375, 4128, 0, 0, 0}, {68, 276, 0, 0, 0, 0, 0}, {1365, 4160, 0, 0, 0, 0, 0}, {204, 828, 1370, 4208, 0, 0, 0}, {136, 552, 1375, 4192, 0, 0, 0}, {136, 552, 1360, 4120, 0, 0, 0}, {204, 819, 1365, 4172, 0, 0, 0}, {4272, 12336, 1370, 0, 0, 0, 0}, {283, 819, 68, 1024, 4403, 0, 0}, {204, 828, 1360, 4124, 0, 0, 0}, {136, 546, 1365, 4168, 0, 0, 0}, {286, 546, 68, 1024, 4386, 0, 0}, {4320, 8224, 1375, 0, 0, 0, 0}, {1440, 3840, 4128, 0, 0, 0, 0}, {289, 771, 68, 1036, 4369, 0, 0}, {136, 546, 1314, 4096, 0, 0, 0}, {204, 771, 1379, 4112, 0, 0, 0}, {292, 780, 68, 1036, 4352, 0, 0}, {1445, 3855, 4208, 0, 0, 0, 0}, {204, 780, 1382, 4160, 0, 0, 0}, {136, 552, 1319, 4176, 0, 0, 0}, {136, 552, 1320, 4136, 0, 0, 0}, {204, 771, 1385, 4220, 0, 0, 0}, {1450, 3840, 5418, 0, 0, 0, 0}, {299, 771, 68, 1036, 4120, 0, 0}, {204, 780, 1388, 4140, 0, 0, 0}, {136, 546, 1325, 4216, 0, 0, 0}, {302, 780, 68, 1036, 4108, 0, 0}, {1455, 3855, 5503, 0, 0, 0, 0}, {1520, 2560, 4144, 0, 0, 0, 0}, {305, 514, 68, 1032, 4369, 0, 0}, {136, 514, 1394, 4112, 0, 0, 0}, {204, 819, 1331, 4096, 0, 0, 0}, {308, 520, 68, 1032, 4352, 0, 0}, {1525, 2570, 4192, 0, 0, 0, 0}, {204, 828, 1334, 4176, 0, 0, 0}, {136, 520, 1399, 4160, 0, 0, 0}, {136, 520, 1400, 4152, 0, 0, 0}, {204, 819, 1337, 4204, 0, 0, 0}, {1530, 2570, 5482, 0, 0, 0, 0}, {315, 520, 68, 1032, 4104, 0, 0}, {204, 828, 1340, 4156, 0, 0, 0}, {136, 514, 1405, 4200, 0, 0, 0}, {318, 514, 68, 1032, 4124, 0, 0}, {1535, 2560, 5439, 0, 0, 0, 0}, {1280, 4160, 0, 0, 0, 0, 0}, {68, 261, 0, 0, 0, 0, 0}, {136, 522, 1290, 4192, 0, 0, 0}, {204, 783, 1295, 4208, 0, 0, 0}, {68, 256, 0, 0, 0, 0, 0}, {1285, 4112, 0, 0, 0, 0, 0}, {204, 768, 1290, 4128, 0, 0, 0}, {136, 512, 1295, 4144, 0, 0, 0}, {136, 512, 1280, 4168, 0, 0, 0}, {204, 783, 1285, 4124, 0, 0, 0}, {4320, 8224, 1290, 0, 0, 0, 0}, {271, 512, 68, 1024, 4403, 0, 0}, {204, 768, 1280, 4172, 0, 0, 0}, {136, 522, 1285, 4120, 0, 0, 0}, {266, 768, 68, 1024, 4386, 0, 0}, {4272, 12336, 1295, 0, 0, 0, 0}, {1360, 4176, 0, 0, 0, 0, 0}, {68, 277, 0, 0, 0, 0, 0}, {136, 554, 1370, 4208, 0, 0, 0}, {204, 831, 1375, 4192, 0, 0, 0}, {68, 272, 0, 0, 0, 0, 0}, {1365, 4096, 0, 0, 0, 0, 0}, {204, 816, 1370, 4144, 0, 0, 0}, {136, 544, 1375, 4128, 0, 0, 0}, {136, 544, 1360, 4184, 0, 0, 0}, {204, 831, 1365, 4108, 0, 0, 0}, {4336, 8192, 1370, 0, 0, 0, 0}, {287, 544, 68, 1028, 4403, 0, 0}, {204, 816, 1360, 4188, 0, 0, 0}, {136, 554, 1365, 4104, 0, 0, 0}, {282, 816, 68, 1028, 4386, 0, 0}, {4256, 12288, 1375, 0, 0, 0, 0}, {1440, 3840, 4192, 0, 0, 0, 0}, {293, 783, 68, 1032, 4369, 0, 0}, {136, 554, 1314, 4160, 0, 0, 0}, {204, 783, 1379, 4176, 0, 0, 0}, {288, 768, 68, 1032, 4352, 0, 0}, {1445, 3855, 4144, 0, 0, 0, 0}, {204, 768, 1382, 4096, 0, 0, 0}, {136, 544, 1319, 4112, 0, 0, 0}, {136, 544, 1320, 4200, 0, 0, 0}, {204, 783, 1385, 4156, 0, 0, 0}, {1450, 3840, 5482, 0, 0, 0, 0}, {303, 783, 68, 1032, 4124, 0, 0}, {204, 768, 1388, 4204, 0, 0, 0}, {136, 554, 1325, 4152, 0, 0, 0}, {298, 768, 68, 1032, 4104, 0, 0}, {1455, 3855, 5439, 0, 0, 0, 0}, {1520, 2560, 4208, 0, 0, 0, 0}, {309, 522, 68, 1036, 4369, 0, 0}, {136, 522, 1394, 4176, 0, 0, 0}, {204, 831, 1331, 4160, 0, 0, 0}, {304, 512, 68, 1036, 4352, 0, 0}, {1525, 2570, 4128, 0, 0, 0, 0}, {204, 816, 1334, 4112, 0, 0, 0}, {136, 512, 1399, 4096, 0, 0, 0}, {136, 512, 1400, 4216, 0, 0, 0}, {204, 831, 1337, 4140, 0, 0, 0}, {1530, 2570, 5418, 0, 0, 0, 0}, {319, 512, 68, 1036, 4108, 0, 0}, {204, 816, 1340, 4220, 0, 0, 0}, {136, 522, 1405, 4136, 0, 0, 0}, {314, 522, 68, 1036, 4120, 0, 0}, {1535, 2560, 5503, 0, 0, 0, 0}, {4224, 12288, 1280, 0, 0, 0, 0}, {265, 771, 68, 1285, 4369, 0, 0}, {136, 522, 1290, 4136, 0, 0, 0}, {204, 771, 1295, 4220, 0, 0, 0}, {268, 512, 68, 1280, 4352, 0, 0}, {4304, 8224, 1285, 0, 0, 0, 0}, {204, 780, 1290, 4140, 0, 0, 0}, {136, 512, 1295, 4216, 0, 0, 0}, {136, 512, 1280, 4096, 0, 0, 0}, {204, 771, 1285, 4112, 0, 0, 0}, {1290, 4128, 0, 0, 0, 0, 0}, {68, 259, 0, 0, 0, 0, 0}, {204, 780, 1280, 4160, 0, 0, 0}, {136, 522, 1285, 4176, 0, 0, 0}, {68, 262, 0, 0, 0, 0, 0}, {1295, 4208, 0, 0, 0, 0, 0}, {4240, 12336, 1360, 0, 0, 0, 0}, {281, 819, 68, 1297, 4369, 0, 0}, {136, 554, 1370, 4152, 0, 0, 0}, {204, 819, 1375, 4204, 0, 0, 0}, {284, 544, 68, 1300, 4352, 0, 0}, {4288, 8192, 1365, 0, 0, 0, 0}, {204, 828, 1370, 4156, 0, 0, 0}, {136, 544, 1375, 4200, 0, 0, 0}, {136, 544, 1360, 4112, 0, 0, 0}, {204, 819, 1365, 4096, 0, 0, 0}, {1370, 4144, 0, 0, 0, 0, 0}, {68, 275, 0, 0, 0, 0, 0}, {204, 828, 1360, 4176, 0, 0, 0}, {136, 554, 1365, 4160, 0, 0, 0}, {68, 278, 0, 0, 0, 0, 0}, {1375, 4192, 0, 0, 0, 0, 0}, {1440, 3840, 5376, 0, 0, 0, 0}, {297, 771, 68, 1028, 4369, 0, 0}, {136, 554, 1314, 4104, 0, 0, 0}, {204, 771, 1379, 4188, 0, 0, 0}, {300, 780, 68, 1028, 4352, 0, 0}, {1445, 3855, 5461, 0, 0, 0, 0}, {204, 780, 1382, 4108, 0, 0, 0}, {136, 544, 1319, 4184, 0, 0, 0}, {136, 544, 1320, 4128, 0, 0, 0}, {204, 771, 1385, 4144, 0, 0, 0}, {1450, 3840, 4096, 0, 0, 0, 0}, {291, 771, 68, 1028, 4112, 0, 0}, {204, 780, 1388, 4192, 0, 0, 0}, {136, 554, 1325, 4208, 0, 0, 0}, {294, 780, 68, 1028, 4100, 0, 0}, {1455, 3855, 4176, 0, 0, 0, 0}, {1520, 2560, 5440, 0, 0, 0, 0}, {313, 522, 68, 1024, 4369, 0, 0}, {136, 522, 1394, 4120, 0, 0, 0}, {204, 819, 1331, 4172, 0, 0, 0}, {316, 512, 68, 1024, 4352, 0, 0}, {1525, 2570, 5397, 0, 0, 0, 0}, {204, 828, 1334, 4124, 0, 0, 0}, {136, 512, 1399, 4168, 0, 0, 0}, {136, 512, 1400, 4144, 0, 0, 0}, {204, 819, 1337, 4128, 0, 0, 0}, {1530, 2570, 4112, 0, 0, 0, 0}, {307, 512, 68, 1024, 4096, 0, 0}, {204, 828, 1340, 4208, 0, 0, 0}, {136, 522, 1405, 4192, 0, 0, 0}, {310, 522, 68, 1024, 4116, 0, 0}, {1535, 2560, 4160, 0, 0, 0, 0}, {4288, 8192, 1280, 0, 0, 0, 0}, {269, 514, 68, 1285, 4369, 0, 0}, {136, 514, 1290, 4200, 0, 0, 0}, {204, 783, 1295, 4156, 0, 0, 0}, {264, 768, 68, 1280, 4352, 0, 0}, {4240, 12336, 1285, 0, 0, 0, 0}, {204, 768, 1290, 4204, 0, 0, 0}, {136, 520, 1295, 4152, 0, 0, 0}, {136, 520, 1280, 4160, 0, 0, 0}, {204, 783, 1285, 4176, 0, 0, 0}, {1290, 4192, 0, 0, 0, 0, 0}, {68, 263, 0, 0, 0, 0, 0}, {204, 768, 1280, 4096, 0, 0, 0}, {136, 514, 1285, 4112, 0, 0, 0}, {68, 258, 0, 0, 0, 0, 0}, {1295, 4144, 0, 0, 0, 0, 0}, {4304, 8224, 1360, 0, 0, 0, 0}, {285, 546, 68, 1297, 4369, 0, 0}, {136, 546, 1370, 4216, 0, 0, 0}, {204, 831, 1375, 4140, 0, 0, 0}, {280, 816, 68, 1300, 4352, 0, 0}, {4224, 12288, 1365, 0, 0, 0, 0}, {204, 816, 1370, 4220, 0, 0, 0}, {136, 552, 1375, 4136, 0, 0, 0}, {136, 552, 1360, 4176, 0, 0, 0}, {204, 831, 1365, 4160, 0, 0, 0}, {1370, 4208, 0, 0, 0, 0, 0}, {68, 279, 0, 0, 0, 0, 0}, {204, 816, 1360, 4112, 0, 0, 0}, {136, 546, 1365, 4096, 0, 0, 0}, {68, 274, 0, 0, 0, 0, 0}, {1375, 4128, 0, 0, 0, 0, 0}, {1440, 3840, 5440, 0, 0, 0, 0}, {301, 783, 68, 1024, 4369, 0, 0}, {136, 546, 1314, 4168, 0, 0, 0}, {204, 783, 1379, 4124, 0, 0, 0}, {296, 768, 68, 1024, 4352, 0, 0}, {1445, 3855, 5397, 0, 0, 0, 0}, {204, 768, 1382, 4172, 0, 0, 0}, {136, 552, 1319, 4120, 0, 0, 0}, {136, 552, 1320, 4192, 0, 0, 0}, {204, 783, 1385, 4208, 0, 0, 0}, {1450, 3840, 4160, 0, 0, 0, 0}, {295, 783, 68, 1024, 4116, 0, 0}, {204, 768, 1388, 4128, 0, 0, 0}, {136, 546, 1325, 4144, 0, 0, 0}, {290, 768, 68, 1024, 4096, 0, 0}, {1455, 3855, 4112, 0, 0, 0, 0}, {1520, 2560, 5376, 0, 0, 0, 0}, {317, 514, 68, 1028, 4369, 0, 0}, {136, 514, 1394, 4184, 0, 0, 0}, {204, 831, 1331, 4108, 0, 0, 0}, {312, 520, 68, 1028, 4352, 0, 0}, {1525, 2570, 5461, 0, 0, 0, 0}, {204, 816, 1334, 4188, 0, 0, 0}, {136, 520, 1399, 4104, 0, 0, 0}, {136, 520, 1400, 4208, 0, 0, 0}, {204, 831, 1337, 4192, 0, 0, 0}, {1530, 2570, 4176, 0, 0, 0, 0}, {311, 520, 68, 1028, 4100, 0, 0}, {204, 816, 1340, 4144, 0, 0, 0}, {136, 514, 1405, 4128, 0, 0, 0}, {306, 514, 68, 1028, 4112, 0, 0}, {1535, 2560, 4096, 0, 0, 0, 0}, {2560, 8192, 17920, 0, 0, 0, 0}, {15, 48, 71, 257, 0, 0, 0}, {136, 514, 17408, 0, 0, 0, 0}, {15, 48, 771, 1280, 4096, 0, 0}, {520, 72, 1028, 0, 0, 0, 0}, {15, 1285, 4944, 0, 0, 0, 0}, {192, 8288, 1542, 0, 0, 0, 0}, {15, 519, 119, 1280, 4352, 0, 0}, {136, 520, 17408, 0, 0, 0, 0}, {15, 48, 771, 1285, 4176, 0, 0}, {2570, 8352, 17930, 0, 0, 0, 0}, {15, 48, 71, 260, 0, 0, 0}, {192, 8192, 1548, 0, 0, 0, 0}, {15, 514, 119, 1285, 4386, 0, 0}, {514, 72, 1028, 0, 0, 0, 0}, {15, 1280, 4864, 0, 0, 0, 0}, {48, 1616, 4112, 0, 0, 0, 0}, {546, 119, 4369, 0, 0, 0, 0}, {48, 530, 72, 1024, 4096, 0, 0}, {255, 2655, 4883, 0, 0, 0, 0}, {552, 120, 5140, 0, 0, 0, 0}, {63, 1621, 4928, 0, 0, 0, 0}, {240, 2650, 5654, 0, 0, 0, 0}, {63, 535, 72, 1024, 4352, 0, 0}, {48, 536, 72, 1024, 4120, 0, 0}, {255, 2645, 4940, 0, 0, 0, 0}, {48, 1626, 4160, 0, 0, 0, 0}, {552, 119, 4403, 0, 0, 0, 0}, {240, 2640, 5708, 0, 0, 0, 0}, {63, 541, 72, 1024, 4381, 0, 0}, {546, 120, 5180, 0, 0, 0, 0}, {63, 1631, 4895, 0, 0, 0, 0}, {2720, 8224, 17952, 0, 0, 0, 0}, {15, 48, 71, 273, 0, 0, 0}, {136, 546, 17408, 0, 0, 0, 0}, {15, 48, 771, 1360, 4112, 0, 0}, {552, 72, 1036, 0, 0, 0, 0}, {15, 1365, 4976, 0, 0, 0, 0}, {192, 8256, 1638, 0, 0, 0, 0}, {15, 551, 119, 1319, 4352, 0, 0}, {136, 552, 17408, 0, 0, 0, 0}, {15, 48, 771, 1365, 4160, 0, 0}, {2730, 8320, 17962, 0, 0, 0, 0}, {15, 48, 71, 276, 0, 0, 0}, {192, 8224, 1644, 0, 0, 0, 0}, {15, 546, 119, 1314, 4386, 0, 0}, {546, 72, 1036, 0, 0, 0, 0}, {15, 1360, 4896, 0, 0, 0, 0}, {48, 1536, 4096, 0, 0, 0, 0}, {514, 119, 4369, 0, 0, 0, 0}, {48, 514, 72, 1032, 4112, 0, 0}, {255, 2560, 4915, 0, 0, 0, 0}, {520, 120, 5180, 0, 0, 0, 0}, {63, 1546, 4959, 0, 0, 0, 0}, {240, 2570, 5734, 0, 0, 0, 0}, {63, 520, 72, 1032, 4352, 0, 0}, {48, 520, 72, 1032, 4104, 0, 0}, {255, 2570, 4972, 0, 0, 0, 0}, {48, 1546, 4176, 0, 0, 0, 0}, {520, 119, 4403, 0, 0, 0, 0}, {240, 2560, 5692, 0, 0, 0, 0}, {63, 514, 72, 1032, 4381, 0, 0}, {514, 120, 5140, 0, 0, 0, 0}, {63, 1536, 4864, 0, 0, 0, 0}, {192, 8256, 1536, 0, 0, 0, 0}, {15, 517, 119, 1285, 4369, 0, 0}, {522, 72, 1024, 0, 0, 0, 0}, {15, 1280, 4931, 0, 0, 0, 0}, {136, 512, 17476, 0, 0, 0, 0}, {15, 48, 768, 1285, 4112, 0, 0}, {2570, 8224, 17990, 0, 0, 0, 0}, {15, 48, 71, 256, 0, 0, 0}, {512, 72, 1024, 0, 0, 0, 0}, {15, 1285, 4883, 0, 0, 0, 0}, {192, 8224, 1546, 0, 0, 0, 0}, {15, 512, 119, 1280, 4403, 0, 0}, {2560, 8320, 17996, 0, 0, 0, 0}, {15, 48, 71, 261, 0, 0, 0}, {136, 522, 17476, 0, 0, 0, 0}, {15, 48, 768, 1280, 4160, 0, 0}, {240, 2640, 5632, 0, 0, 0, 0}, {63, 533, 72, 1028, 4369, 0, 0}, {554, 120, 5120, 0, 0, 0, 0}, {63, 1619, 4947, 0, 0, 0, 0}, {48, 528, 72, 1028, 4112, 0, 0}, {255, 2645, 4864, 0, 0, 0, 0}, {48, 1622, 4096, 0, 0, 0, 0}, {544, 119, 4352, 0, 0, 0, 0}, {544, 120, 5160, 0, 0, 0, 0}, {63, 1625, 4876, 0, 0, 0, 0}, {240, 2650, 5722, 0, 0, 0, 0}, {63, 543, 72, 1028, 4364, 0, 0}, {48, 1628, 4176, 0, 0, 0, 0}, {554, 119, 4386, 0, 0, 0, 0}, {48, 538, 72, 1028, 4104, 0, 0}, {255, 2655, 4959, 0, 0, 0, 0}, {192, 8288, 1632, 0, 0, 0, 0}, {15, 549, 119, 1314, 4369, 0, 0}, {554, 72, 1032, 0, 0, 0, 0}, {15, 1360, 4963, 0, 0, 0, 0}, {136, 544, 17476, 0, 0, 0, 0}, {15, 48, 768, 1365, 4096, 0, 0}, {2730, 8192, 18022, 0, 0, 0, 0}, {15, 48, 71, 272, 0, 0, 0}, {544, 72, 1032, 0, 0, 0, 0}, {15, 1365, 4915, 0, 0, 0, 0}, {192, 8192, 1642, 0, 0, 0, 0}, {15, 544, 119, 1319, 4403, 0, 0}, {2720, 8352, 18028, 0, 0, 0, 0}, {15, 48, 71, 277, 0, 0, 0}, {136, 554, 17476, 0, 0, 0, 0}, {15, 48, 768, 1360, 4176, 0, 0}, {240, 2560, 5744, 0, 0, 0, 0}, {63, 522, 72, 1036, 4369, 0, 0}, {522, 120, 5160, 0, 0, 0, 0}, {63, 1548, 4940, 0, 0, 0, 0}, {48, 512, 72, 1036, 4096, 0, 0}, {255, 2570, 4896, 0, 0, 0, 0}, {48, 1542, 4112, 0, 0, 0, 0}, {512, 119, 4352, 0, 0, 0, 0}, {512, 120, 5120, 0, 0, 0, 0}, {63, 1542, 4883, 0, 0, 0, 0}, {240, 2570, 5674, 0, 0, 0, 0}, {63, 512, 72, 1036, 4364, 0, 0}, {48, 1548, 4160, 0, 0, 0, 0}, {522, 119, 4386, 0, 0, 0, 0}, {48, 522, 72, 1036, 4120, 0, 0}, {255, 2560, 4991, 0, 0, 0, 0}, {2560, 8320, 18048, 0, 0, 0, 0}, {15, 48, 71, 262, 0, 0, 0}, {136, 522, 17408, 0, 0, 0, 0}, {15, 48, 771, 1280, 4160, 0, 0}, {512, 72, 1036, 0, 0, 0, 0}, {15, 1285, 4896, 0, 0, 0, 0}, {192, 8224, 1542, 0, 0, 0, 0}, {15, 512, 119, 1280, 4352, 0, 0}, {136, 512, 17408, 0, 0, 0, 0}, {15, 48, 771, 1285, 4112, 0, 0}, {2570, 8224, 18058, 0, 0, 0, 0}, {15, 48, 71, 259, 0, 0, 0}, {192, 8256, 1548, 0, 0, 0, 0}, {15, 517, 119, 1285, 4386, 0, 0}, {522, 72, 1036, 0, 0, 0, 0}, {15, 1280, 4976, 0, 0, 0, 0}, {48, 1616, 4176, 0, 0, 0, 0}, {554, 119, 4369, 0, 0, 0, 0}, {48, 538, 72, 1032, 4104, 0, 0}, {255, 2655, 4972, 0, 0, 0, 0}, {544, 120, 5140, 0, 0, 0, 0}, {63, 1621, 4864, 0, 0, 0, 0}, {240, 2650, 5734, 0, 0, 0, 0}, {63, 543, 72, 1032, 4352, 0, 0}, {48, 528, 72, 1032, 4112, 0, 0}, {255, 2645, 4915, 0, 0, 0, 0}, {48, 1626, 4096, 0, 0, 0, 0}, {544, 119, 4403, 0, 0, 0, 0}, {240, 2640, 5692, 0, 0, 0, 0}, {63, 533, 72, 1032, 4381, 0, 0}, {554, 120, 5180, 0, 0, 0, 0}, {63, 1631, 4959, 0, 0, 0, 0}, {2720, 8352, 18080, 0, 0, 0, 0}, {15, 48, 71, 278, 0, 0, 0}, {136, 554, 17408, 0, 0, 0, 0}, {15, 48, 771, 1360, 4176, 0, 0}, {544, 72, 1028, 0, 0, 0, 0}, {15, 1365, 4864, 0, 0, 0, 0}, {192, 8192, 1638, 0, 0, 0, 0}, {15, 544, 119, 1319, 4352, 0, 0}, {136, 544, 17408, 0, 0, 0, 0}, {15, 48, 771, 1365, 4096, 0, 0}, {2730, 8192, 18090, 0, 0, 0, 0}, {15, 48, 71, 275, 0, 0, 0}, {192, 8288, 1644, 0, 0, 0, 0}, {15, 549, 119, 1314, 4386, 0, 0}, {554, 72, 1028, 0, 0, 0, 0}, {15, 1360, 4944, 0, 0, 0, 0}, {48, 1536, 4160, 0, 0, 0, 0}, {522, 119, 4369, 0, 0, 0, 0}, {48, 522, 72, 1024, 4120, 0, 0}, {255, 2560, 4940, 0, 0, 0, 0}, {512, 120, 5180, 0, 0, 0, 0}, {63, 1546, 4895, 0, 0, 0, 0}, {240, 2570, 5654, 0, 0, 0, 0}, {63, 512, 72, 1024, 4352, 0, 0}, {48, 512, 72, 1024, 4096, 0, 0}, {255, 2570, 4883, 0, 0, 0, 0}, {48, 1546, 4112, 0, 0, 0, 0}, {512, 119, 4403, 0, 0, 0, 0}, {240, 2560, 5708, 0, 0, 0, 0}, {63, 522, 72, 1024, 4381, 0, 0}, {522, 120, 5140, 0, 0, 0, 0}, {63, 1536, 4928, 0, 0, 0, 0}, {192, 8192, 1536, 0, 0, 0, 0}, {15, 514, 119, 1285, 4369, 0, 0}, {514, 72, 1032, 0, 0, 0, 0}, {15, 1280, 4915, 0, 0, 0, 0}, {136, 520, 17476, 0, 0, 0, 0}, {15, 48, 768, 1285, 4176, 0, 0}, {2570, 8352, 18118, 0, 0, 0, 0}, {15, 48, 71, 263, 0, 0, 0}, {520, 72, 1032, 0, 0, 0, 0}, {15, 1285, 4963, 0, 0, 0, 0}, {192, 8288, 1546, 0, 0, 0, 0}, {15, 519, 119, 1280, 4403, 0, 0}, {2560, 8192, 18124, 0, 0, 0, 0}, {15, 48, 71, 258, 0, 0, 0}, {136, 514, 17476, 0, 0, 0, 0}, {15, 48, 768, 1280, 4096, 0, 0}, {240, 2640, 5744, 0, 0, 0, 0}, {63, 541, 72, 1036, 4369, 0, 0}, {546, 120, 5120, 0, 0, 0, 0}, {63, 1619, 4883, 0, 0, 0, 0}, {48, 536, 72, 1036, 4120, 0, 0}, {255, 2645, 4991, 0, 0, 0, 0}, {48, 1622, 4160, 0, 0, 0, 0}, {552, 119, 4352, 0, 0, 0, 0}, {552, 120, 5160, 0, 0, 0, 0}, {63, 1625, 4940, 0, 0, 0, 0}, {240, 2650, 5674, 0, 0, 0, 0}, {63, 535, 72, 1036, 4364, 0, 0}, {48, 1628, 4112, 0, 0, 0, 0}, {546, 119, 4386, 0, 0, 0, 0}, {48, 530, 72, 1036, 4096, 0, 0}, {255, 2655, 4896, 0, 0, 0, 0}, {192, 8224, 1632, 0, 0, 0, 0}, {15, 546, 119, 1314, 4369, 0, 0}, {546, 72, 1024, 0, 0, 0, 0}, {15, 1360, 4883, 0, 0, 0, 0}, {136, 552, 17476, 0, 0, 0, 0}, {15, 48, 768, 1365, 4160, 0, 0}, {2730, 8320, 18150, 0, 0, 0, 0}, {15, 48, 71, 279, 0, 0, 0}, {552, 72, 1024, 0, 0, 0, 0}, {15, 1365, 4931, 0, 0, 0, 0}, {192, 8256, 1642, 0, 0, 0, 0}, {15, 551, 119, 1319, 4403, 0, 0}, {2720, 8224, 18156, 0, 0, 0, 0}, {15, 48, 71, 274, 0, 0, 0}, {136, 546, 17476, 0, 0, 0, 0}, {15, 48, 768, 1360, 4112, 0, 0}, {240, 2560, 5632, 0, 0, 0, 0}, {63, 514, 72, 1028, 4369, 0, 0}, {514, 120, 5160, 0, 0, 0, 0}, {63, 1548, 4876, 0, 0, 0, 0}, {48, 520, 72, 1028, 4104, 0, 0}, {255, 2570, 4959, 0, 0, 0, 0}, {48, 1542, 4176, 0, 0, 0, 0}, {520, 119, 4352, 0, 0, 0, 0}, {520, 120, 5120, 0, 0, 0, 0}, {63, 1542, 4947, 0, 0, 0, 0}, {240, 2570, 5722, 0, 0, 0, 0}, {63, 520, 72, 1028, 4364, 0, 0}, {48, 1548, 4096, 0, 0, 0, 0}, {514, 119, 4386, 0, 0, 0, 0}, {48, 514, 72, 1028, 4112, 0, 0}, {255, 2560, 4864, 0, 0, 0, 0}, {3840, 12288, 18176, 0, 0, 0, 0}, {10, 32, 70, 257, 0, 0, 0}, {10, 32, 514, 1280, 4096, 0, 0}, {204, 771, 17408, 0, 0, 0, 0}, {780, 76, 1028, 0, 0, 0, 0}, {10, 1285, 4688, 0, 0, 0, 0}, {10, 774, 102, 1280, 4352, 0, 0}, {128, 12400, 1799, 0, 0, 0, 0}, {128, 12288, 1800, 0, 0, 0, 0}, {10, 771, 102, 1285, 4403, 0, 0}, {10, 1280, 4608, 0, 0, 0, 0}, {771, 76, 1028, 0, 0, 0, 0}, {204, 780, 17408, 0, 0, 0, 0}, {10, 32, 514, 1285, 4176, 0, 0}, {10, 32, 70, 260, 0, 0, 0}, {3855, 12528, 18191, 0, 0, 0, 0}, {32, 1872, 4112, 0, 0, 0, 0}, {819, 102, 4369, 0, 0, 0, 0}, {170, 3930, 4626, 0, 0, 0, 0}, {32, 787, 76, 1024, 4096, 0, 0}, {828, 108, 5140, 0, 0, 0, 0}, {42, 1877, 4672, 0, 0, 0, 0}, {42, 790, 76, 1024, 4352, 0, 0}, {160, 3935, 5911, 0, 0, 0, 0}, {160, 3920, 5960, 0, 0, 0, 0}, {42, 793, 76, 1024, 4377, 0, 0}, {42, 1882, 4634, 0, 0, 0, 0}, {819, 108, 5160, 0, 0, 0, 0}, {32, 796, 76, 1024, 4124, 0, 0}, {170, 3925, 4680, 0, 0, 0, 0}, {828, 102, 4386, 0, 0, 0, 0}, {32, 1887, 4160, 0, 0, 0, 0}, {32, 1792, 4096, 0, 0, 0, 0}, {771, 102, 4369, 0, 0, 0, 0}, {170, 3840, 4642, 0, 0, 0, 0}, {32, 771, 76, 1036, 4112, 0, 0}, {780, 108, 5160, 0, 0, 0, 0}, {42, 1807, 4698, 0, 0, 0, 0}, {42, 780, 76, 1036, 4352, 0, 0}, {160, 3855, 6007, 0, 0, 0, 0}, {160, 3840, 5928, 0, 0, 0, 0}, {42, 771, 76, 1036, 4377, 0, 0}, {42, 1792, 4608, 0, 0, 0, 0}, {771, 108, 5140, 0, 0, 0, 0}, {32, 780, 76, 1036, 4108, 0, 0}, {170, 3855, 4728, 0, 0, 0, 0}, {780, 102, 4386, 0, 0, 0, 0}, {32, 1807, 4176, 0, 0, 0, 0}, {4080, 12336, 18224, 0, 0, 0, 0}, {10, 32, 70, 273, 0, 0, 0}, {10, 32, 514, 1360, 4112, 0, 0}, {204, 819, 17408, 0, 0, 0, 0}, {828, 76, 1032, 0, 0, 0, 0}, {10, 1365, 4704, 0, 0, 0, 0}, {10, 822, 102, 1334, 4352, 0, 0}, {128, 12352, 1911, 0, 0, 0, 0}, {128, 12336, 1912, 0, 0, 0, 0}, {10, 819, 102, 1331, 4403, 0, 0}, {10, 1360, 4656, 0, 0, 0, 0}, {819, 76, 1032, 0, 0, 0, 0}, {204, 828, 17408, 0, 0, 0, 0}, {10, 32, 514, 1365, 4160, 0, 0}, {10, 32, 70, 276, 0, 0, 0}, {4095, 12480, 18239, 0, 0, 0, 0}, {128, 12352, 1792, 0, 0, 0, 0}, {10, 773, 102, 1285, 4369, 0, 0}, {10, 1280, 4674, 0, 0, 0, 0}, {783, 76, 1024, 0, 0, 0, 0}, {204, 768, 17476, 0, 0, 0, 0}, {10, 32, 512, 1285, 4112, 0, 0}, {10, 32, 70, 256, 0, 0, 0}, {3855, 12336, 18247, 0, 0, 0, 0}, {3840, 12480, 18248, 0, 0, 0, 0}, {10, 32, 70, 261, 0, 0, 0}, {10, 32, 512, 1280, 4160, 0, 0}, {204, 783, 17476, 0, 0, 0, 0}, {768, 76, 1024, 0, 0, 0, 0}, {10, 1285, 4626, 0, 0, 0, 0}, {10, 768, 102, 1280, 4386, 0, 0}, {128, 12336, 1807, 0, 0, 0, 0}, {160, 3920, 5888, 0, 0, 0, 0}, {42, 789, 76, 1028, 4369, 0, 0}, {42, 1874, 4690, 0, 0, 0, 0}, {831, 108, 5120, 0, 0, 0, 0}, {32, 784, 76, 1028, 4112, 0, 0}, {170, 3925, 4608, 0, 0, 0, 0}, {816, 102, 4352, 0, 0, 0, 0}, {32, 1879, 4096, 0, 0, 0, 0}, {32, 1880, 4176, 0, 0, 0, 0}, {831, 102, 4403, 0, 0, 0, 0}, {170, 3930, 4698, 0, 0, 0, 0}, {32, 799, 76, 1028, 4108, 0, 0}, {816, 108, 5180, 0, 0, 0, 0}, {42, 1885, 4616, 0, 0, 0, 0}, {42, 794, 76, 1028, 4360, 0, 0}, {160, 3935, 5983, 0, 0, 0, 0}, {160, 3840, 5984, 0, 0, 0, 0}, {42, 783, 76, 1032, 4369, 0, 0}, {42, 1800, 4680, 0, 0, 0, 0}, {783, 108, 5180, 0, 0, 0, 0}, {32, 768, 76, 1032, 4096, 0, 0}, {170, 3855, 4656, 0, 0, 0, 0}, {768, 102, 4352, 0, 0, 0, 0}, {32, 1799, 4112, 0, 0, 0, 0}, {32, 1800, 4160, 0, 0, 0, 0}, {783, 102, 4403, 0, 0, 0, 0}, {170, 3840, 4714, 0, 0, 0, 0}, {32, 783, 76, 1032, 4124, 0, 0}, {768, 108, 5120, 0, 0, 0, 0}, {42, 1799, 4626, 0, 0, 0, 0}, {42, 768, 76, 1032, 4360, 0, 0}, {160, 3855, 5951, 0, 0, 0, 0}, {128, 12400, 1904, 0, 0, 0, 0}, {10, 821, 102, 1331, 4369, 0, 0}, {10, 1360, 4722, 0, 0, 0, 0}, {831, 76, 1036, 0, 0, 0, 0}, {204, 816, 17476, 0, 0, 0, 0}, {10, 32, 512, 1365, 4096, 0, 0}, {10, 32, 70, 272, 0, 0, 0}, {4095, 12288, 18295, 0, 0, 0, 0}, {4080, 12528, 18296, 0, 0, 0, 0}, {10, 32, 70, 277, 0, 0, 0}, {10, 32, 512, 1360, 4176, 0, 0}, {204, 831, 17476, 0, 0, 0, 0}, {816, 76, 1036, 0, 0, 0, 0}, {10, 1365, 4642, 0, 0, 0, 0}, {10, 816, 102, 1334, 4386, 0, 0}, {128, 12288, 1919, 0, 0, 0, 0}, {128, 12288, 1792, 0, 0, 0, 0}, {10, 771, 102, 1285, 4369, 0, 0}, {10, 1280, 4642, 0, 0, 0, 0}, {771, 76, 1036, 0, 0, 0, 0}, {204, 780, 17476, 0, 0, 0, 0}, {10, 32, 512, 1285, 4176, 0, 0}, {10, 32, 70, 262, 0, 0, 0}, {3855, 12528, 18311, 0, 0, 0, 0}, {3840, 12288, 18312, 0, 0, 0, 0}, {10, 32, 70, 259, 0, 0, 0}, {10, 32, 512, 1280, 4096, 0, 0}, {204, 771, 17476, 0, 0, 0, 0}, {780, 76, 1036, 0, 0, 0, 0}, {10, 1285, 4722, 0, 0, 0, 0}, {10, 774, 102, 1280, 4386, 0, 0}, {128, 12400, 1807, 0, 0, 0, 0}, {160, 3920, 5984, 0, 0, 0, 0}, {42, 793, 76, 1032, 4369, 0, 0}, {42, 1874, 4626, 0, 0, 0, 0}, {819, 108, 5120, 0, 0, 0, 0}, {32, 796, 76, 1032, 4124, 0, 0}, {170, 3925, 4714, 0, 0, 0, 0}, {828, 102, 4352, 0, 0, 0, 0}, {32, 1879, 4160, 0, 0, 0, 0}, {32, 1880, 4112, 0, 0, 0, 0}, {819, 102, 4403, 0, 0, 0, 0}, {170, 3930, 4656, 0, 0, 0, 0}, {32, 787, 76, 1032, 4096, 0, 0}, {828, 108, 5180, 0, 0, 0, 0}, {42, 1885, 4680, 0, 0, 0, 0}, {42, 790, 76, 1032, 4360, 0, 0}, {160, 3935, 5951, 0, 0, 0, 0}, {160, 3840, 5888, 0, 0, 0, 0}, {42, 771, 76, 1028, 4369, 0, 0}, {42, 1800, 4616, 0, 0, 0, 0}, {771, 108, 5180, 0, 0, 0, 0}, {32, 780, 76, 1028, 4108, 0, 0}, {170, 3855, 4698, 0, 0, 0, 0}, {780, 102, 4352, 0, 0, 0, 0}, {32, 1799, 4176, 0, 0, 0, 0}, {32, 1800, 4096, 0, 0, 0, 0}, {771, 102, 4403, 0, 0, 0, 0}, {170, 3840, 4608, 0, 0, 0, 0}, {32, 771, 76, 1028, 4112, 0, 0}, {780, 108, 5120, 0, 0, 0, 0}, {42, 1799, 4690, 0, 0, 0, 0}, {42, 780, 76, 1028, 4360, 0, 0}, {160, 3855, 5983, 0, 0, 0, 0}, {128, 12336, 1904, 0, 0, 0, 0}, {10, 819, 102, 1331, 4369, 0, 0}, {10, 1360, 4626, 0, 0, 0, 0}, {819, 76, 1024, 0, 0, 0, 0}, {204, 828, 17476, 0, 0, 0, 0}, {10, 32, 512, 1365, 4160, 0, 0}, {10, 32, 70, 278, 0, 0, 0}, {4095, 12480, 18359, 0, 0, 0, 0}, {4080, 12336, 18360, 0, 0, 0, 0}, {10, 32, 70, 275, 0, 0, 0}, {10, 32, 512, 1360, 4112, 0, 0}, {204, 819, 17476, 0, 0, 0, 0}, {828, 76, 1024, 0, 0, 0, 0}, {10, 1365, 4674, 0, 0, 0, 0}, {10, 822, 102, 1334, 4386, 0, 0}, {128, 12352, 1919, 0, 0, 0, 0}, {3840, 12480, 18368, 0, 0, 0, 0}, {10, 32, 70, 263, 0, 0, 0}, {10, 32, 514, 1280, 4160, 0, 0}, {204, 783, 17408, 0, 0, 0, 0}, {768, 76, 1032, 0, 0, 0, 0}, {10, 1285, 4656, 0, 0, 0, 0}, {10, 768, 102, 1280, 4352, 0, 0}, {128, 12336, 1799, 0, 0, 0, 0}, {128, 12352, 1800, 0, 0, 0, 0}, {10, 773, 102, 1285, 4403, 0, 0}, {10, 1280, 4704, 0, 0, 0, 0}, {783, 76, 1032, 0, 0, 0, 0}, {204, 768, 17408, 0, 0, 0, 0}, {10, 32, 514, 1285, 4112, 0, 0}, {10, 32, 70, 258, 0, 0, 0}, {3855, 12336, 18383, 0, 0, 0, 0}, {32, 1872, 4176, 0, 0, 0, 0}, {831, 102, 4369, 0, 0, 0, 0}, {170, 3930, 4728, 0, 0, 0, 0}, {32, 799, 76, 1036, 4108, 0, 0}, {816, 108, 5140, 0, 0, 0, 0}, {42, 1877, 4608, 0, 0, 0, 0}, {42, 794, 76, 1036, 4352, 0, 0}, {160, 3935, 6007, 0, 0, 0, 0}, {160, 3920, 5928, 0, 0, 0, 0}, {42, 789, 76, 1036, 4377, 0, 0}, {42, 1882, 4698, 0, 0, 0, 0}, {831, 108, 5160, 0, 0, 0, 0}, {32, 784, 76, 1036, 4112, 0, 0}, {170, 3925, 4642, 0, 0, 0, 0}, {816, 102, 4386, 0, 0, 0, 0}, {32, 1887, 4096, 0, 0, 0, 0}, {32, 1792, 4160, 0, 0, 0, 0}, {783, 102, 4369, 0, 0, 0, 0}, {170, 3840, 4680, 0, 0, 0, 0}, {32, 783, 76, 1024, 4124, 0, 0}, {768, 108, 5160, 0, 0, 0, 0}, {42, 1807, 4634, 0, 0, 0, 0}, {42, 768, 76, 1024, 4352, 0, 0}, {160, 3855, 5911, 0, 0, 0, 0}, {160, 3840, 5960, 0, 0, 0, 0}, {42, 783, 76, 1024, 4377, 0, 0}, {42, 1792, 4672, 0, 0, 0, 0}, {783, 108, 5140, 0, 0, 0, 0}, {32, 768, 76, 1024, 4096, 0, 0}, {170, 3855, 4626, 0, 0, 0, 0}, {768, 102, 4386, 0, 0, 0, 0}, {32, 1807, 4112, 0, 0, 0, 0}, {4080, 12528, 18416, 0, 0, 0, 0}, {10, 32, 70, 279, 0, 0, 0}, {10, 32, 514, 1360, 4176, 0, 0}, {204, 831, 17408, 0, 0, 0, 0}, {816, 76, 1028, 0, 0, 0, 0}, {10, 1365, 4608, 0, 0, 0, 0}, {10, 816, 102, 1334, 4352, 0, 0}, {128, 12288, 1911, 0, 0, 0, 0}, {128, 12400, 1912, 0, 0, 0, 0}, {10, 821, 102, 1331, 4403, 0, 0}, {10, 1360, 4688, 0, 0, 0, 0}, {831, 76, 1028, 0, 0, 0, 0}, {204, 816, 17408, 0, 0, 0, 0}, {10, 32, 514, 1365, 4096, 0, 0}, {10, 32, 70, 274, 0, 0, 0}, {4095, 12288, 18431, 0, 0, 0, 0}, {18432, 0, 0, 0, 0, 0, 0}, {5, 19, 257, 0, 0, 0, 0}, {10, 32, 514, 16384, 0, 0, 0}, {15, 51, 771, 17408, 0, 0, 0}, {76, 1028, 0, 0, 0, 0, 0}, {5, 4608, 0, 0, 0, 0, 0}, {10, 8704, 102, 1542, 0, 0, 0}, {15, 12288, 112, 1799, 0, 0, 0}, {128, 2056, 16384, 0, 0, 0, 0}, {51, 771, 5, 4352, 0, 0, 0}, {10, 8704, 16896, 0, 0, 0, 0}, {15, 51, 771, 67, 1028, 0, 0}, {204, 3084, 17408, 0, 0, 0, 0}, {32, 514, 5, 4096, 0, 0, 0}, {10, 32, 514, 70, 1028, 0, 0}, {15, 12288, 18176, 0, 0, 0, 0}, {2048, 32, 80, 4112, 0, 0, 0}, {3072, 51, 85, 4369, 0, 0, 0}, {90, 4626, 0, 0, 0, 0, 0}, {1024, 19, 0, 0, 0, 0, 0}, {3072, 60, 80, 5140, 0, 0, 0}, {2048, 42, 85, 5397, 0, 0, 0}, {1024, 22, 0, 0, 0, 0, 0}, {95, 5911, 0, 0, 0, 0, 0}, {6168, 12336, 80, 0, 0, 0, 0}, {25, 51, 85, 1024, 4352, 0, 0}, {2048, 42, 90, 4634, 0, 0, 0}, {3072, 51, 95, 5915, 0, 0, 0}, {28, 32, 80, 1024, 4096, 0, 0}, {7453, 8738, 85, 0, 0, 0, 0}, {3072, 60, 90, 4638, 0, 0, 0}, {2048, 32, 95, 5919, 0, 0, 0}, {2048, 32, 16384, 0, 0, 0, 0}, {15, 51, 771, 85, 4369, 0, 0}, {170, 8738, 18466, 0, 0, 0, 0}, {15, 771, 1027, 19, 0, 0, 0}, {3084, 9252, 108, 0, 0, 0, 0}, {15, 37, 85, 1792, 4608, 0, 0}, {42, 76, 1036, 0, 0, 0, 0}, {15, 80, 5927, 0, 0, 0, 0}, {160, 10280, 18472, 0, 0, 0, 0}, {15, 771, 1027, 22, 0, 0, 0}, {2048, 42, 16384, 0, 0, 0, 0}, {15, 51, 771, 80, 5140, 0, 0}, {32, 76, 1036, 0, 0, 0, 0}, {15, 85, 4642, 0, 0, 0, 0}, {3084, 8738, 102, 0, 0, 0, 0}, {15, 32, 80, 1792, 4096, 0, 0}, {240, 12336, 18480, 0, 0, 0, 0}, {10, 514, 1026, 19, 0, 0, 0}, {10, 32, 514, 80, 4112, 0, 0}, {3072, 51, 17408, 0, 0, 0, 0}, {60, 76, 1032, 0, 0, 0, 0}, {10, 85, 5941, 0, 0, 0, 0}, {10, 54, 80, 1536, 4608, 0, 0}, {2056, 14135, 127, 0, 0, 0, 0}, {2056, 12336, 112, 0, 0, 0, 0}, {10, 51, 85, 1536, 4352, 0, 0}, {10, 80, 4656, 0, 0, 0, 0}, {51, 76, 1032, 0, 0, 0, 0}, {3072, 60, 17408, 0, 0, 0, 0}, {10, 32, 514, 85, 5397, 0, 0}, {10, 514, 1026, 22, 0, 0, 0}, {255, 16191, 18495, 0, 0, 0, 0}, {128, 2048, 16448, 0, 0, 0, 0}, {51, 768, 5, 4369, 0, 0, 0}, {10, 8738, 16962, 0, 0, 0, 0}, {15, 51, 768, 67, 1024, 0, 0}, {204, 3072, 17476, 0, 0, 0, 0}, {32, 512, 5, 4112, 0, 0, 0}, {10, 32, 512, 70, 1024, 0, 0}, {15, 12336, 18247, 0, 0, 0, 0}, {18504, 0, 0, 0, 0, 0, 0}, {5, 19, 256, 0, 0, 0, 0}, {10, 32, 512, 16448, 0, 0, 0}, {15, 51, 768, 17476, 0, 0, 0}, {76, 1024, 0, 0, 0, 0, 0}, {5, 4626, 0, 0, 0, 0, 0}, {10, 8738, 102, 1536, 0, 0, 0}, {15, 12336, 112, 1792, 0, 0, 0}, {6144, 12288, 80, 0, 0, 0, 0}, {25, 51, 85, 1028, 4369, 0, 0}, {2056, 42, 90, 4616, 0, 0, 0}, {3084, 51, 95, 5900, 0, 0, 0}, {28, 32, 80, 1028, 4112, 0, 0}, {7424, 8704, 85, 0, 0, 0, 0}, {3084, 60, 90, 4620, 0, 0, 0}, {2056, 32, 95, 5896, 0, 0, 0}, {2056, 32, 80, 4096, 0, 0, 0}, {3084, 51, 85, 4352, 0, 0, 0}, {90, 4608, 0, 0, 0, 0, 0}, {1028, 19, 0, 0, 0, 0, 0}, {3084, 60, 80, 5120, 0, 0, 0}, {2056, 42, 85, 5376, 0, 0, 0}, {1028, 22, 0, 0, 0, 0, 0}, {95, 5888, 0, 0, 0, 0, 0}, {160, 10240, 18528, 0, 0, 0, 0}, {15, 768, 1031, 22, 0, 0, 0}, {2056, 42, 16448, 0, 0, 0, 0}, {15, 51, 768, 80, 5120, 0, 0}, {32, 76, 1032, 0, 0, 0, 0}, {15, 85, 4656, 0, 0, 0, 0}, {3072, 8704, 102, 0, 0, 0, 0}, {15, 32, 80, 1799, 4112, 0, 0}, {2056, 32, 16448, 0, 0, 0, 0}, {15, 51, 768, 85, 4352, 0, 0}, {170, 8704, 18538, 0, 0, 0, 0}, {15, 768, 1031, 19, 0, 0, 0}, {3072, 9216, 108, 0, 0, 0, 0}, {15, 37, 85, 1799, 4626, 0, 0}, {42, 76, 1032, 0, 0, 0, 0}, {15, 80, 5936, 0, 0, 0, 0}, {2048, 12288, 112, 0, 0, 0, 0}, {10, 51, 85, 1542, 4369, 0, 0}, {10, 80, 4642, 0, 0, 0, 0}, {51, 76, 1036, 0, 0, 0, 0}, {3084, 60, 17476, 0, 0, 0, 0}, {10, 32, 512, 85, 5376, 0, 0}, {10, 512, 1030, 22, 0, 0, 0}, {255, 16128, 18551, 0, 0, 0, 0}, {240, 12288, 18552, 0, 0, 0, 0}, {10, 512, 1030, 19, 0, 0, 0}, {10, 32, 512, 80, 4096, 0, 0}, {3084, 51, 17476, 0, 0, 0, 0}, {60, 76, 1036, 0, 0, 0, 0}, {10, 85, 5922, 0, 0, 0, 0}, {10, 54, 80, 1542, 4626, 0, 0}, {2048, 14080, 127, 0, 0, 0, 0}, {128, 2048, 16384, 0, 0, 0, 0}, {51, 771, 5, 4369, 0, 0, 0}, {10, 8738, 16930, 0, 0, 0, 0}, {15, 51, 771, 67, 1027, 0, 0}, {204, 3084, 17476, 0, 0, 0, 0}, {32, 512, 5, 4096, 0, 0, 0}, {10, 32, 512, 70, 1030, 0, 0}, {15, 12288, 18295, 0, 0, 0, 0}, {18568, 0, 0, 0, 0, 0, 0}, {5, 19, 259, 0, 0, 0, 0}, {10, 32, 512, 16384, 0, 0, 0}, {15, 51, 771, 17476, 0, 0, 0}, {76, 1036, 0, 0, 0, 0, 0}, {5, 4642, 0, 0, 0, 0, 0}, {10, 8738, 102, 1542, 0, 0, 0}, {15, 12288, 112, 1792, 0, 0, 0}, {6192, 12336, 80, 0, 0, 0, 0}, {25, 51, 85, 1041, 4369, 0, 0}, {2056, 42, 90, 4626, 0, 0, 0}, {3072, 51, 95, 5888, 0, 0, 0}, {28, 32, 80, 1044, 4096, 0, 0}, {7487, 8704, 85, 0, 0, 0, 0}, {3072, 60, 90, 4608, 0, 0, 0}, {2056, 32, 95, 5911, 0, 0, 0}, {2056, 32, 80, 4112, 0, 0, 0}, {3072, 51, 85, 4352, 0, 0, 0}, {90, 4656, 0, 0, 0, 0, 0}, {1032, 19, 0, 0, 0, 0, 0}, {3072, 60, 80, 5120, 0, 0, 0}, {2056, 42, 85, 5397, 0, 0, 0}, {1032, 22, 0, 0, 0, 0, 0}, {95, 5951, 0, 0, 0, 0, 0}, {160, 10240, 18432, 0, 0, 0, 0}, {15, 771, 1028, 22, 0, 0, 0}, {2056, 42, 16384, 0, 0, 0, 0}, {15, 51, 771, 80, 5120, 0, 0}, {32, 76, 1028, 0, 0, 0, 0}, {15, 85, 4608, 0, 0, 0, 0}, {3084, 8704, 102, 0, 0, 0, 0}, {15, 32, 80, 1799, 4096, 0, 0}, {2056, 32, 16384, 0, 0, 0, 0}, {15, 51, 771, 85, 4352, 0, 0}, {170, 8704, 18432, 0, 0, 0, 0}, {15, 771, 1028, 19, 0, 0, 0}, {3084, 9228, 108, 0, 0, 0, 0}, {15, 37, 85, 1799, 4615, 0, 0}, {42, 76, 1028, 0, 0, 0, 0}, {15, 80, 5888, 0, 0, 0, 0}, {2048, 12336, 112, 0, 0, 0, 0}, {10, 51, 85, 1536, 4369, 0, 0}, {10, 80, 4626, 0, 0, 0, 0}, {51, 76, 1024, 0, 0, 0, 0}, {3072, 60, 17476, 0, 0, 0, 0}, {10, 32, 512, 85, 5397, 0, 0}, {10, 512, 1024, 22, 0, 0, 0}, {255, 16191, 18504, 0, 0, 0, 0}, {240, 12336, 18504, 0, 0, 0, 0}, {10, 512, 1024, 19, 0, 0, 0}, {10, 32, 512, 80, 4112, 0, 0}, {3072, 51, 17476, 0, 0, 0, 0}, {60, 76, 1024, 0, 0, 0, 0}, {10, 85, 5911, 0, 0, 0, 0}, {10, 54, 80, 1536, 4628, 0, 0}, {2048, 14143, 127, 0, 0, 0, 0}, {18624, 0, 0, 0, 0, 0, 0}, {5, 19, 258, 0, 0, 0, 0}, {10, 32, 514, 16448, 0, 0, 0}, {15, 51, 768, 17408, 0, 0, 0}, {76, 1032, 0, 0, 0, 0, 0}, {5, 4656, 0, 0, 0, 0, 0}, {10, 8704, 102, 1536, 0, 0, 0}, {15, 12336, 112, 1799, 0, 0, 0}, {128, 2056, 16448, 0, 0, 0, 0}, {51, 768, 5, 4352, 0, 0, 0}, {10, 8704, 16992, 0, 0, 0, 0}, {15, 51, 768, 67, 1031, 0, 0}, {204, 3072, 17408, 0, 0, 0, 0}, {32, 514, 5, 4112, 0, 0, 0}, {10, 32, 514, 70, 1026, 0, 0}, {15, 12336, 18224, 0, 0, 0, 0}, {2048, 32, 80, 4096, 0, 0, 0}, {3084, 51, 85, 4369, 0, 0, 0}, {90, 4642, 0, 0, 0, 0, 0}, {1036, 19, 0, 0, 0, 0, 0}, {3084, 60, 80, 5140, 0, 0, 0}, {2048, 42, 85, 5376, 0, 0, 0}, {1036, 22, 0, 0, 0, 0, 0}, {95, 5928, 0, 0, 0, 0, 0}, {6184, 12288, 80, 0, 0, 0, 0}, {25, 51, 85, 1045, 4352, 0, 0}, {2048, 42, 90, 4608, 0, 0, 0}, {3084, 51, 95, 5911, 0, 0, 0}, {28, 32, 80, 1040, 4112, 0, 0}, {7458, 8738, 85, 0, 0, 0, 0}, {3084, 60, 90, 4626, 0, 0, 0}, {2048, 32, 95, 5888, 0, 0, 0}, {2048, 32, 16448, 0, 0, 0, 0}, {15, 51, 768, 85, 4369, 0, 0}, {170, 8738, 18504, 0, 0, 0, 0}, {15, 768, 1024, 19, 0, 0, 0}, {3072, 9256, 108, 0, 0, 0, 0}, {15, 37, 85, 1792, 4629, 0, 0}, {42, 76, 1024, 0, 0, 0, 0}, {15, 80, 5911, 0, 0, 0, 0}, {160, 10280, 18504, 0, 0, 0, 0}, {15, 768, 1024, 22, 0, 0, 0}, {2048, 42, 16448, 0, 0, 0, 0}, {15, 51, 768, 80, 5140, 0, 0}, {32, 76, 1024, 0, 0, 0, 0}, {15, 85, 4626, 0, 0, 0, 0}, {3072, 8738, 102, 0, 0, 0, 0}, {15, 32, 80, 1792, 4112, 0, 0}, {240, 12288, 18432, 0, 0, 0, 0}, {10, 514, 1028, 19, 0, 0, 0}, {10, 32, 514, 80, 4096, 0, 0}, {3084, 51, 17408, 0, 0, 0, 0}, {60, 76, 1028, 0, 0, 0, 0}, {10, 85, 5888, 0, 0, 0, 0}, {10, 54, 80, 1542, 4614, 0, 0}, {2056, 14088, 127, 0, 0, 0, 0}, {2056, 12288, 112, 0, 0, 0, 0}, {10, 51, 85, 1542, 4352, 0, 0}, {10, 80, 4608, 0, 0, 0, 0}, {51, 76, 1028, 0, 0, 0, 0}, {3084, 60, 17408, 0, 0, 0, 0}, {10, 32, 514, 85, 5376, 0, 0}, {10, 514, 1028, 22, 0, 0, 0}, {255, 16128, 18432, 0, 0, 0, 0}, {1280, 4864, 0, 0, 0, 0, 0}, {72, 257, 0, 0, 0, 0, 0}, {136, 514, 1290, 4386, 0, 0, 0}, {192, 771, 1295, 4144, 0, 0, 0}, {72, 260, 0, 0, 0, 0, 0}, {1285, 4959, 0, 0, 0, 0, 0}, {192, 780, 1290, 4192, 0, 0, 0}, {136, 520, 1295, 4471, 0, 0, 0}, {136, 520, 1280, 4352, 0, 0, 0}, {192, 771, 1285, 4176, 0, 0, 0}, {5024, 13056, 1290, 0, 0, 0, 0}, {267, 771, 323, 1028, 4403, 0, 0}, {192, 780, 1280, 4096, 0, 0, 0}, {136, 514, 1285, 4437, 0, 0, 0}, {270, 514, 326, 1028, 4128, 0, 0}, {5119, 8192, 1295, 0, 0, 0, 0}, {192, 816, 1360, 4112, 0, 0, 0}, {136, 546, 1365, 4369, 0, 0, 0}, {72, 274, 0, 0, 0, 0, 0}, {1375, 4883, 0, 0, 0, 0, 0}, {136, 552, 1360, 4420, 0, 0, 0}, {192, 831, 1365, 4160, 0, 0, 0}, {1370, 4940, 0, 0, 0, 0, 0}, {72, 279, 0, 0, 0, 0, 0}, {280, 816, 336, 1024, 4352, 0, 0}, {5043, 13107, 1365, 0, 0, 0, 0}, {192, 816, 1370, 4208, 0, 0, 0}, {136, 552, 1375, 4403, 0, 0, 0}, {5100, 8224, 1360, 0, 0, 0, 0}, {285, 546, 341, 1024, 4096, 0, 0}, {136, 546, 1370, 4454, 0, 0, 0}, {192, 831, 1375, 4128, 0, 0, 0}, {1440, 3840, 4896, 0, 0, 0, 0}, {289, 771, 72, 1036, 4369, 0, 0}, {136, 546, 1314, 4386, 0, 0, 0}, {192, 771, 1391, 4112, 0, 0, 0}, {292, 780, 72, 1036, 4364, 0, 0}, {1445, 3855, 4991, 0, 0, 0, 0}, {192, 780, 1386, 4160, 0, 0, 0}, {136, 552, 1319, 4471, 0, 0, 0}, {136, 552, 1320, 4352, 0, 0, 0}, {192, 771, 1381, 4208, 0, 0, 0}, {1450, 3840, 5674, 0, 0, 0, 0}, {299, 771, 72, 1036, 4120, 0, 0}, {192, 780, 1376, 4128, 0, 0, 0}, {136, 546, 1325, 4437, 0, 0, 0}, {302, 780, 72, 1036, 4096, 0, 0}, {1455, 3855, 5744, 0, 0, 0, 0}, {192, 816, 1328, 4144, 0, 0, 0}, {136, 514, 1405, 4369, 0, 0, 0}, {306, 514, 72, 1032, 4112, 0, 0}, {1535, 2560, 4915, 0, 0, 0, 0}, {136, 520, 1400, 4420, 0, 0, 0}, {192, 831, 1333, 4192, 0, 0, 0}, {1530, 2570, 4972, 0, 0, 0, 0}, {311, 520, 72, 1032, 4104, 0, 0}, {312, 520, 72, 1032, 4352, 0, 0}, {1525, 2570, 5734, 0, 0, 0, 0}, {192, 816, 1338, 4176, 0, 0, 0}, {136, 520, 1399, 4403, 0, 0, 0}, {1520, 2560, 5692, 0, 0, 0, 0}, {317, 514, 72, 1032, 4381, 0, 0}, {136, 514, 1394, 4454, 0, 0, 0}, {192, 831, 1343, 4096, 0, 0, 0}, {192, 768, 1280, 4160, 0, 0, 0}, {136, 522, 1285, 4369, 0, 0, 0}, {266, 768, 322, 1024, 4386, 0, 0}, {5043, 13107, 1295, 0, 0, 0, 0}, {136, 512, 1280, 4420, 0, 0, 0}, {192, 783, 1285, 4112, 0, 0, 0}, {5100, 8224, 1290, 0, 0, 0, 0}, {271, 512, 327, 1024, 4144, 0, 0}, {72, 256, 0, 0, 0, 0, 0}, {1285, 4883, 0, 0, 0, 0, 0}, {192, 768, 1290, 4128, 0, 0, 0}, {136, 512, 1295, 4403, 0, 0, 0}, {1280, 4940, 0, 0, 0, 0, 0}, {72, 261, 0, 0, 0, 0, 0}, {136, 522, 1290, 4454, 0, 0, 0}, {192, 783, 1295, 4208, 0, 0, 0}, {5024, 13056, 1360, 0, 0, 0, 0}, {281, 819, 337, 1028, 4369, 0, 0}, {136, 554, 1370, 4386, 0, 0, 0}, {192, 819, 1375, 4192, 0, 0, 0}, {284, 544, 340, 1028, 4112, 0, 0}, {5119, 8192, 1365, 0, 0, 0, 0}, {192, 828, 1370, 4144, 0, 0, 0}, {136, 544, 1375, 4471, 0, 0, 0}, {136, 544, 1360, 4352, 0, 0, 0}, {192, 819, 1365, 4096, 0, 0, 0}, {1370, 4864, 0, 0, 0, 0, 0}, {72, 275, 0, 0, 0, 0, 0}, {192, 828, 1360, 4176, 0, 0, 0}, {136, 554, 1365, 4437, 0, 0, 0}, {72, 278, 0, 0, 0, 0, 0}, {1375, 4959, 0, 0, 0, 0, 0}, {192, 768, 1376, 4192, 0, 0, 0}, {136, 554, 1325, 4369, 0, 0, 0}, {298, 768, 72, 1032, 4104, 0, 0}, {1455, 3855, 5692, 0, 0, 0, 0}, {136, 544, 1320, 4420, 0, 0, 0}, {192, 783, 1381, 4144, 0, 0, 0}, {1450, 3840, 5734, 0, 0, 0, 0}, {303, 783, 72, 1032, 4112, 0, 0}, {288, 768, 72, 1032, 4352, 0, 0}, {1445, 3855, 4915, 0, 0, 0, 0}, {192, 768, 1386, 4096, 0, 0, 0}, {136, 544, 1319, 4403, 0, 0, 0}, {1440, 3840, 4972, 0, 0, 0, 0}, {293, 783, 72, 1032, 4381, 0, 0}, {136, 554, 1314, 4454, 0, 0, 0}, {192, 783, 1391, 4176, 0, 0, 0}, {1520, 2560, 5744, 0, 0, 0, 0}, {313, 522, 72, 1036, 4369, 0, 0}, {136, 522, 1394, 4386, 0, 0, 0}, {192, 819, 1343, 4160, 0, 0, 0}, {316, 512, 72, 1036, 4364, 0, 0}, {1525, 2570, 5674, 0, 0, 0, 0}, {192, 828, 1338, 4112, 0, 0, 0}, {136, 512, 1399, 4471, 0, 0, 0}, {136, 512, 1400, 4352, 0, 0, 0}, {192, 819, 1333, 4128, 0, 0, 0}, {1530, 2570, 4896, 0, 0, 0, 0}, {307, 512, 72, 1036, 4096, 0, 0}, {192, 828, 1328, 4208, 0, 0, 0}, {136, 522, 1405, 4437, 0, 0, 0}, {310, 522, 72, 1036, 4120, 0, 0}, {1535, 2560, 4991, 0, 0, 0, 0}, {4992, 13056, 1280, 0, 0, 0, 0}, {265, 771, 321, 1285, 4369, 0, 0}, {136, 522, 1290, 4386, 0, 0, 0}, {192, 771, 1295, 4208, 0, 0, 0}, {268, 512, 324, 1280, 4096, 0, 0}, {5087, 8224, 1285, 0, 0, 0, 0}, {192, 780, 1290, 4128, 0, 0, 0}, {136, 512, 1295, 4471, 0, 0, 0}, {136, 512, 1280, 4352, 0, 0, 0}, {192, 771, 1285, 4112, 0, 0, 0}, {1290, 4896, 0, 0, 0, 0, 0}, {72, 259, 0, 0, 0, 0, 0}, {192, 780, 1280, 4160, 0, 0, 0}, {136, 522, 1285, 4437, 0, 0, 0}, {72, 262, 0, 0, 0, 0, 0}, {1295, 4991, 0, 0, 0, 0, 0}, {192, 816, 1360, 4176, 0, 0, 0}, {136, 554, 1365, 4369, 0, 0, 0}, {282, 816, 338, 1298, 4386, 0, 0}, {5011, 13107, 1375, 0, 0, 0, 0}, {136, 544, 1360, 4420, 0, 0, 0}, {192, 831, 1365, 4096, 0, 0, 0}, {5068, 8192, 1370, 0, 0, 0, 0}, {287, 544, 343, 1303, 4128, 0, 0}, {72, 272, 0, 0, 0, 0, 0}, {1365, 4915, 0, 0, 0, 0, 0}, {192, 816, 1370, 4144, 0, 0, 0}, {136, 544, 1375, 4403, 0, 0, 0}, {1360, 4972, 0, 0, 0, 0, 0}, {72, 277, 0, 0, 0, 0, 0}, {136, 554, 1370, 4454, 0, 0, 0}, {192, 831, 1375, 4192, 0, 0, 0}, {1440, 3840, 5632, 0, 0, 0, 0}, {297, 771, 72, 1028, 4369, 0, 0}, {136, 554, 1314, 4386, 0, 0, 0}, {192, 771, 1391, 4176, 0, 0, 0}, {300, 780, 72, 1028, 4364, 0, 0}, {1445, 3855, 5722, 0, 0, 0, 0}, {192, 780, 1386, 4096, 0, 0, 0}, {136, 544, 1319, 4471, 0, 0, 0}, {136, 544, 1320, 4352, 0, 0, 0}, {192, 771, 1381, 4144, 0, 0, 0}, {1450, 3840, 4864, 0, 0, 0, 0}, {291, 771, 72, 1028, 4112, 0, 0}, {192, 780, 1376, 4192, 0, 0, 0}, {136, 554, 1325, 4437, 0, 0, 0}, {294, 780, 72, 1028, 4104, 0, 0}, {1455, 3855, 4959, 0, 0, 0, 0}, {192, 816, 1328, 4208, 0, 0, 0}, {136, 522, 1405, 4369, 0, 0, 0}, {314, 522, 72, 1024, 4120, 0, 0}, {1535, 2560, 5708, 0, 0, 0, 0}, {136, 512, 1400, 4420, 0, 0, 0}, {192, 831, 1333, 4128, 0, 0, 0}, {1530, 2570, 5654, 0, 0, 0, 0}, {319, 512, 72, 1024, 4096, 0, 0}, {304, 512, 72, 1024, 4352, 0, 0}, {1525, 2570, 4883, 0, 0, 0, 0}, {192, 816, 1338, 4112, 0, 0, 0}, {136, 512, 1399, 4403, 0, 0, 0}, {1520, 2560, 4940, 0, 0, 0, 0}, {309, 522, 72, 1024, 4381, 0, 0}, {136, 522, 1394, 4454, 0, 0, 0}, {192, 831, 1343, 4160, 0, 0, 0}, {192, 768, 1280, 4096, 0, 0, 0}, {136, 514, 1285, 4369, 0, 0, 0}, {72, 258, 0, 0, 0, 0, 0}, {1295, 4915, 0, 0, 0, 0, 0}, {136, 520, 1280, 4420, 0, 0, 0}, {192, 783, 1285, 4176, 0, 0, 0}, {1290, 4972, 0, 0, 0, 0, 0}, {72, 263, 0, 0, 0, 0, 0}, {264, 768, 320, 1280, 4352, 0, 0}, {5011, 13107, 1285, 0, 0, 0, 0}, {192, 768, 1290, 4192, 0, 0, 0}, {136, 520, 1295, 4403, 0, 0, 0}, {5068, 8192, 1280, 0, 0, 0, 0}, {269, 514, 325, 1285, 4112, 0, 0}, {136, 514, 1290, 4454, 0, 0, 0}, {192, 783, 1295, 4144, 0, 0, 0}, {1360, 4896, 0, 0, 0, 0, 0}, {72, 273, 0, 0, 0, 0, 0}, {136, 546, 1370, 4386, 0, 0, 0}, {192, 819, 1375, 4128, 0, 0, 0}, {72, 276, 0, 0, 0, 0, 0}, {1365, 4991, 0, 0, 0, 0, 0}, {192, 828, 1370, 4208, 0, 0, 0}, {136, 552, 1375, 4471, 0, 0, 0}, {136, 552, 1360, 4352, 0, 0, 0}, {192, 819, 1365, 4160, 0, 0, 0}, {4992, 13056, 1370, 0, 0, 0, 0}, {283, 819, 339, 1303, 4403, 0, 0}, {192, 828, 1360, 4112, 0, 0, 0}, {136, 546, 1365, 4437, 0, 0, 0}, {286, 546, 342, 1298, 4144, 0, 0}, {5087, 8224, 1375, 0, 0, 0, 0}, {192, 768, 1376, 4128, 0, 0, 0}, {136, 546, 1325, 4369, 0, 0, 0}, {290, 768, 72, 1024, 4096, 0, 0}, {1455, 3855, 4883, 0, 0, 0, 0}, {136, 552, 1320, 4420, 0, 0, 0}, {192, 783, 1381, 4208, 0, 0, 0}, {1450, 3840, 4940, 0, 0, 0, 0}, {295, 783, 72, 1024, 4120, 0, 0}, {296, 768, 72, 1024, 4352, 0, 0}, {1445, 3855, 5654, 0, 0, 0, 0}, {192, 768, 1386, 4160, 0, 0, 0}, {136, 552, 1319, 4403, 0, 0, 0}, {1440, 3840, 5708, 0, 0, 0, 0}, {301, 783, 72, 1024, 4381, 0, 0}, {136, 546, 1314, 4454, 0, 0, 0}, {192, 783, 1391, 4112, 0, 0, 0}, {1520, 2560, 4864, 0, 0, 0, 0}, {305, 514, 72, 1028, 4369, 0, 0}, {136, 514, 1394, 4386, 0, 0, 0}, {192, 819, 1343, 4096, 0, 0, 0}, {308, 520, 72, 1028, 4364, 0, 0}, {1525, 2570, 4959, 0, 0, 0, 0}, {192, 828, 1338, 4176, 0, 0, 0}, {136, 520, 1399, 4471, 0, 0, 0}, {136, 520, 1400, 4352, 0, 0, 0}, {192, 819, 1333, 4192, 0, 0, 0}, {1530, 2570, 5722, 0, 0, 0, 0}, {315, 520, 72, 1028, 4104, 0, 0}, {192, 828, 1328, 4144, 0, 0, 0}, {136, 514, 1405, 4437, 0, 0, 0}, {318, 514, 72, 1028, 4112, 0, 0}, {1535, 2560, 5632, 0, 0, 0, 0}, {2560, 8192, 16384, 0, 0, 0, 0}, {15, 51, 68, 257, 0, 0, 0}, {136, 514, 16392, 0, 0, 0, 0}, {15, 51, 771, 1280, 4099, 0, 0}, {520, 68, 1028, 0, 0, 0, 0}, {15, 1285, 4176, 0, 0, 0, 0}, {204, 8300, 1542, 0, 0, 0, 0}, {15, 519, 119, 1280, 4103, 0, 0}, {136, 520, 16392, 0, 0, 0, 0}, {15, 51, 771, 1285, 4179, 0, 0}, {2570, 8352, 16384, 0, 0, 0, 0}, {15, 51, 68, 260, 0, 0, 0}, {204, 8192, 1548, 0, 0, 0, 0}, {15, 514, 119, 1285, 4128, 0, 0}, {514, 68, 1028, 0, 0, 0, 0}, {15, 1280, 4096, 0, 0, 0, 0}, {240, 2640, 4112, 0, 0, 0, 0}, {51, 529, 68, 1024, 4369, 0, 0}, {546, 120, 4144, 0, 0, 0, 0}, {51, 1631, 4883, 0, 0, 0, 0}, {60, 532, 68, 1024, 4116, 0, 0}, {255, 2645, 5397, 0, 0, 0, 0}, {60, 1626, 4172, 0, 0, 0, 0}, {552, 119, 5439, 0, 0, 0, 0}, {552, 120, 4120, 0, 0, 0, 0}, {51, 1621, 4940, 0, 0, 0, 0}, {240, 2650, 4160, 0, 0, 0, 0}, {51, 539, 68, 1024, 4352, 0, 0}, {60, 1616, 4124, 0, 0, 0, 0}, {546, 119, 5405, 0, 0, 0, 0}, {60, 542, 68, 1024, 4096, 0, 0}, {255, 2655, 5440, 0, 0, 0, 0}, {2720, 8224, 16512, 0, 0, 0, 0}, {15, 51, 68, 274, 0, 0, 0}, {136, 546, 16384, 0, 0, 0, 0}, {15, 51, 771, 1360, 4112, 0, 0}, {552, 68, 1036, 0, 0, 0, 0}, {15, 1365, 4208, 0, 0, 0, 0}, {204, 8268, 1642, 0, 0, 0, 0}, {15, 551, 119, 1319, 4135, 0, 0}, {136, 552, 16384, 0, 0, 0, 0}, {15, 51, 771, 1365, 4160, 0, 0}, {2730, 8320, 16512, 0, 0, 0, 0}, {15, 51, 68, 279, 0, 0, 0}, {204, 8224, 1632, 0, 0, 0, 0}, {15, 546, 119, 1314, 4096, 0, 0}, {546, 68, 1036, 0, 0, 0, 0}, {15, 1360, 4128, 0, 0, 0, 0}, {240, 2560, 4144, 0, 0, 0, 0}, {51, 514, 68, 1032, 4369, 0, 0}, {514, 120, 4112, 0, 0, 0, 0}, {51, 1536, 4864, 0, 0, 0, 0}, {60, 520, 68, 1032, 4104, 0, 0}, {255, 2570, 5482, 0, 0, 0, 0}, {60, 1546, 4176, 0, 0, 0, 0}, {520, 119, 5431, 0, 0, 0, 0}, {520, 120, 4152, 0, 0, 0, 0}, {51, 1546, 4959, 0, 0, 0, 0}, {240, 2570, 4192, 0, 0, 0, 0}, {51, 520, 68, 1032, 4352, 0, 0}, {60, 1536, 4096, 0, 0, 0, 0}, {514, 119, 5397, 0, 0, 0, 0}, {60, 514, 68, 1032, 4124, 0, 0}, {255, 2560, 5439, 0, 0, 0, 0}, {2560, 8320, 16448, 0, 0, 0, 0}, {15, 51, 68, 261, 0, 0, 0}, {136, 522, 16456, 0, 0, 0, 0}, {15, 51, 768, 1280, 4163, 0, 0}, {512, 68, 1024, 0, 0, 0, 0}, {15, 1285, 4112, 0, 0, 0, 0}, {204, 8224, 1546, 0, 0, 0, 0}, {15, 512, 119, 1280, 4144, 0, 0}, {136, 512, 16456, 0, 0, 0, 0}, {15, 51, 768, 1285, 4115, 0, 0}, {2570, 8224, 16448, 0, 0, 0, 0}, {15, 51, 68, 256, 0, 0, 0}, {204, 8268, 1536, 0, 0, 0, 0}, {15, 517, 119, 1285, 4119, 0, 0}, {522, 68, 1024, 0, 0, 0, 0}, {15, 1280, 4160, 0, 0, 0, 0}, {240, 2640, 4176, 0, 0, 0, 0}, {51, 537, 68, 1028, 4369, 0, 0}, {554, 120, 4104, 0, 0, 0, 0}, {51, 1619, 4959, 0, 0, 0, 0}, {60, 540, 68, 1028, 4112, 0, 0}, {255, 2645, 5461, 0, 0, 0, 0}, {60, 1622, 4108, 0, 0, 0, 0}, {544, 119, 5384, 0, 0, 0, 0}, {544, 120, 4128, 0, 0, 0, 0}, {51, 1625, 4864, 0, 0, 0, 0}, {240, 2650, 4096, 0, 0, 0, 0}, {51, 531, 68, 1028, 4352, 0, 0}, {60, 1628, 4188, 0, 0, 0, 0}, {554, 119, 5418, 0, 0, 0, 0}, {60, 534, 68, 1028, 4100, 0, 0}, {255, 2655, 5376, 0, 0, 0, 0}, {2720, 8352, 16576, 0, 0, 0, 0}, {15, 51, 68, 278, 0, 0, 0}, {136, 554, 16448, 0, 0, 0, 0}, {15, 51, 768, 1360, 4176, 0, 0}, {544, 68, 1032, 0, 0, 0, 0}, {15, 1365, 4144, 0, 0, 0, 0}, {204, 8192, 1638, 0, 0, 0, 0}, {15, 544, 119, 1319, 4112, 0, 0}, {136, 544, 16448, 0, 0, 0, 0}, {15, 51, 768, 1365, 4096, 0, 0}, {2730, 8192, 16576, 0, 0, 0, 0}, {15, 51, 68, 275, 0, 0, 0}, {204, 8300, 1644, 0, 0, 0, 0}, {15, 549, 119, 1314, 4151, 0, 0}, {554, 68, 1032, 0, 0, 0, 0}, {15, 1360, 4192, 0, 0, 0, 0}, {240, 2560, 4208, 0, 0, 0, 0}, {51, 522, 68, 1036, 4369, 0, 0}, {522, 120, 4136, 0, 0, 0, 0}, {51, 1548, 4940, 0, 0, 0, 0}, {60, 512, 68, 1036, 4108, 0, 0}, {255, 2570, 5418, 0, 0, 0, 0}, {60, 1542, 4112, 0, 0, 0, 0}, {512, 119, 5376, 0, 0, 0, 0}, {512, 120, 4096, 0, 0, 0, 0}, {51, 1542, 4883, 0, 0, 0, 0}, {240, 2570, 4128, 0, 0, 0, 0}, {51, 512, 68, 1036, 4352, 0, 0}, {60, 1548, 4160, 0, 0, 0, 0}, {522, 119, 5410, 0, 0, 0, 0}, {60, 522, 68, 1036, 4120, 0, 0}, {255, 2560, 5503, 0, 0, 0, 0}, {2560, 8320, 16512, 0, 0, 0, 0}, {15, 51, 68, 262, 0, 0, 0}, {136, 522, 16384, 0, 0, 0, 0}, {15, 51, 771, 1280, 4160, 0, 0}, {512, 68, 1036, 0, 0, 0, 0}, {15, 1285, 4128, 0, 0, 0, 0}, {204, 8224, 1542, 0, 0, 0, 0}, {15, 512, 119, 1280, 4096, 0, 0}, {136, 512, 16384, 0, 0, 0, 0}, {15, 51, 771, 1285, 4112, 0, 0}, {2570, 8224, 16512, 0, 0, 0, 0}, {15, 51, 68, 259, 0, 0, 0}, {204, 8268, 1548, 0, 0, 0, 0}, {15, 517, 119, 1285, 4135, 0, 0}, {522, 68, 1036, 0, 0, 0, 0}, {15, 1280, 4208, 0, 0, 0, 0}, {240, 2640, 4192, 0, 0, 0, 0}, {51, 537, 68, 1032, 4369, 0, 0}, {554, 120, 4152, 0, 0, 0, 0}, {51, 1631, 4959, 0, 0, 0, 0}, {60, 540, 68, 1032, 4124, 0, 0}, {255, 2645, 5482, 0, 0, 0, 0}, {60, 1626, 4096, 0, 0, 0, 0}, {544, 119, 5431, 0, 0, 0, 0}, {544, 120, 4112, 0, 0, 0, 0}, {51, 1621, 4864, 0, 0, 0, 0}, {240, 2650, 4144, 0, 0, 0, 0}, {51, 531, 68, 1032, 4352, 0, 0}, {60, 1616, 4176, 0, 0, 0, 0}, {554, 119, 5397, 0, 0, 0, 0}, {60, 534, 68, 1032, 4104, 0, 0}, {255, 2655, 5439, 0, 0, 0, 0}, {2720, 8352, 16384, 0, 0, 0, 0}, {15, 51, 68, 277, 0, 0, 0}, {136, 554, 16392, 0, 0, 0, 0}, {15, 51, 771, 1360, 4179, 0, 0}, {544, 68, 1028, 0, 0, 0, 0}, {15, 1365, 4096, 0, 0, 0, 0}, {204, 8192, 1642, 0, 0, 0, 0}, {15, 544, 119, 1319, 4128, 0, 0}, {136, 544, 16392, 0, 0, 0, 0}, {15, 51, 771, 1365, 4099, 0, 0}, {2730, 8192, 16384, 0, 0, 0, 0}, {15, 51, 68, 272, 0, 0, 0}, {204, 8300, 1632, 0, 0, 0, 0}, {15, 549, 119, 1314, 4103, 0, 0}, {554, 68, 1028, 0, 0, 0, 0}, {15, 1360, 4176, 0, 0, 0, 0}, {240, 2560, 4160, 0, 0, 0, 0}, {51, 522, 68, 1024, 4369, 0, 0}, {522, 120, 4120, 0, 0, 0, 0}, {51, 1536, 4940, 0, 0, 0, 0}, {60, 512, 68, 1024, 4096, 0, 0}, {255, 2570, 5397, 0, 0, 0, 0}, {60, 1546, 4124, 0, 0, 0, 0}, {512, 119, 5439, 0, 0, 0, 0}, {512, 120, 4144, 0, 0, 0, 0}, {51, 1546, 4883, 0, 0, 0, 0}, {240, 2570, 4112, 0, 0, 0, 0}, {51, 512, 68, 1024, 4352, 0, 0}, {60, 1536, 4172, 0, 0, 0, 0}, {522, 119, 5405, 0, 0, 0, 0}, {60, 522, 68, 1024, 4116, 0, 0}, {255, 2560, 5440, 0, 0, 0, 0}, {2560, 8192, 16576, 0, 0, 0, 0}, {15, 51, 68, 258, 0, 0, 0}, {136, 514, 16448, 0, 0, 0, 0}, {15, 51, 768, 1280, 4096, 0, 0}, {520, 68, 1032, 0, 0, 0, 0}, {15, 1285, 4192, 0, 0, 0, 0}, {204, 8300, 1546, 0, 0, 0, 0}, {15, 519, 119, 1280, 4151, 0, 0}, {136, 520, 16448, 0, 0, 0, 0}, {15, 51, 768, 1285, 4176, 0, 0}, {2570, 8352, 16576, 0, 0, 0, 0}, {15, 51, 68, 263, 0, 0, 0}, {204, 8192, 1536, 0, 0, 0, 0}, {15, 514, 119, 1285, 4112, 0, 0}, {514, 68, 1032, 0, 0, 0, 0}, {15, 1280, 4144, 0, 0, 0, 0}, {240, 2640, 4128, 0, 0, 0, 0}, {51, 529, 68, 1036, 4369, 0, 0}, {546, 120, 4096, 0, 0, 0, 0}, {51, 1619, 4883, 0, 0, 0, 0}, {60, 532, 68, 1036, 4120, 0, 0}, {255, 2645, 5418, 0, 0, 0, 0}, {60, 1622, 4160, 0, 0, 0, 0}, {552, 119, 5376, 0, 0, 0, 0}, {552, 120, 4136, 0, 0, 0, 0}, {51, 1625, 4940, 0, 0, 0, 0}, {240, 2650, 4208, 0, 0, 0, 0}, {51, 539, 68, 1036, 4352, 0, 0}, {60, 1628, 4112, 0, 0, 0, 0}, {546, 119, 5410, 0, 0, 0, 0}, {60, 542, 68, 1036, 4108, 0, 0}, {255, 2655, 5503, 0, 0, 0, 0}, {2720, 8224, 16448, 0, 0, 0, 0}, {15, 51, 68, 273, 0, 0, 0}, {136, 546, 16456, 0, 0, 0, 0}, {15, 51, 768, 1360, 4115, 0, 0}, {552, 68, 1024, 0, 0, 0, 0}, {15, 1365, 4160, 0, 0, 0, 0}, {204, 8268, 1638, 0, 0, 0, 0}, {15, 551, 119, 1319, 4119, 0, 0}, {136, 552, 16456, 0, 0, 0, 0}, {15, 51, 768, 1365, 4163, 0, 0}, {2730, 8320, 16448, 0, 0, 0, 0}, {15, 51, 68, 276, 0, 0, 0}, {204, 8224, 1644, 0, 0, 0, 0}, {15, 546, 119, 1314, 4144, 0, 0}, {546, 68, 1024, 0, 0, 0, 0}, {15, 1360, 4112, 0, 0, 0, 0}, {240, 2560, 4096, 0, 0, 0, 0}, {51, 514, 68, 1028, 4369, 0, 0}, {514, 120, 4128, 0, 0, 0, 0}, {51, 1548, 4864, 0, 0, 0, 0}, {60, 520, 68, 1028, 4100, 0, 0}, {255, 2570, 5461, 0, 0, 0, 0}, {60, 1542, 4188, 0, 0, 0, 0}, {520, 119, 5384, 0, 0, 0, 0}, {520, 120, 4104, 0, 0, 0, 0}, {51, 1542, 4959, 0, 0, 0, 0}, {240, 2570, 4176, 0, 0, 0, 0}, {51, 520, 68, 1028, 4352, 0, 0}, {60, 1548, 4108, 0, 0, 0, 0}, {514, 119, 5418, 0, 0, 0, 0}, {60, 514, 68, 1028, 4112, 0, 0}, {255, 2560, 5376, 0, 0, 0, 0}, {3840, 13056, 17408, 0, 0, 0, 0}, {10, 32, 64, 257, 0, 0, 0}, {10, 32, 514, 1280, 4354, 0, 0}, {192, 771, 17420, 0, 0, 0, 0}, {780, 64, 1028, 0, 0, 0, 0}, {10, 1285, 4437, 0, 0, 0, 0}, {10, 774, 96, 1280, 4358, 0, 0}, {128, 13183, 1799, 0, 0, 0, 0}, {128, 13056, 1800, 0, 0, 0, 0}, {10, 771, 96, 1285, 4403, 0, 0}, {10, 1280, 4352, 0, 0, 0, 0}, {771, 64, 1028, 0, 0, 0, 0}, {192, 780, 17420, 0, 0, 0, 0}, {10, 32, 514, 1285, 4439, 0, 0}, {10, 32, 64, 260, 0, 0, 0}, {3855, 13311, 17408, 0, 0, 0, 0}, {32, 784, 64, 1024, 4112, 0, 0}, {170, 3925, 4369, 0, 0, 0, 0}, {816, 106, 4386, 0, 0, 0, 0}, {32, 1887, 4883, 0, 0, 0, 0}, {160, 3920, 5140, 0, 0, 0, 0}, {42, 789, 64, 1024, 4373, 0, 0}, {42, 1882, 4428, 0, 0, 0, 0}, {831, 96, 5160, 0, 0, 0, 0}, {816, 96, 5144, 0, 0, 0, 0}, {42, 1877, 4377, 0, 0, 0, 0}, {42, 794, 64, 1024, 4352, 0, 0}, {160, 3935, 5188, 0, 0, 0, 0}, {32, 1872, 4940, 0, 0, 0, 0}, {831, 106, 4381, 0, 0, 0, 0}, {170, 3930, 4420, 0, 0, 0, 0}, {32, 799, 64, 1024, 4096, 0, 0}, {32, 1792, 4864, 0, 0, 0, 0}, {771, 106, 4369, 0, 0, 0, 0}, {170, 3840, 4386, 0, 0, 0, 0}, {32, 771, 64, 1036, 4112, 0, 0}, {780, 96, 5156, 0, 0, 0, 0}, {42, 1807, 4437, 0, 0, 0, 0}, {42, 780, 64, 1036, 4364, 0, 0}, {160, 3855, 5240, 0, 0, 0, 0}, {160, 3840, 5160, 0, 0, 0, 0}, {42, 771, 64, 1036, 4377, 0, 0}, {42, 1792, 4352, 0, 0, 0, 0}, {771, 96, 5140, 0, 0, 0, 0}, {32, 780, 64, 1036, 4096, 0, 0}, {170, 3855, 4471, 0, 0, 0, 0}, {780, 106, 4398, 0, 0, 0, 0}, {32, 1807, 4959, 0, 0, 0, 0}, {192, 816, 17408, 0, 0, 0, 0}, {10, 32, 514, 1365, 4369, 0, 0}, {10, 32, 64, 274, 0, 0, 0}, {4095, 13107, 17612, 0, 0, 0, 0}, {128, 13132, 1912, 0, 0, 0, 0}, {10, 821, 96, 1333, 4405, 0, 0}, {10, 1360, 4454, 0, 0, 0, 0}, {831, 64, 1032, 0, 0, 0, 0}, {816, 64, 1032, 0, 0, 0, 0}, {10, 1365, 4403, 0, 0, 0, 0}, {10, 816, 96, 1328, 4352, 0, 0}, {128, 13107, 1911, 0, 0, 0, 0}, {4080, 13260, 17612, 0, 0, 0, 0}, {10, 32, 64, 279, 0, 0, 0}, {10, 32, 514, 1360, 4420, 0, 0}, {192, 831, 17408, 0, 0, 0, 0}, {768, 64, 1024, 0, 0, 0, 0}, {10, 1285, 4369, 0, 0, 0, 0}, {10, 768, 96, 1280, 4386, 0, 0}, {128, 13107, 1807, 0, 0, 0, 0}, {3840, 13260, 17476, 0, 0, 0, 0}, {10, 32, 64, 261, 0, 0, 0}, {10, 32, 512, 1280, 4422, 0, 0}, {192, 783, 17480, 0, 0, 0, 0}, {192, 768, 17480, 0, 0, 0, 0}, {10, 32, 512, 1285, 4371, 0, 0}, {10, 32, 64, 256, 0, 0, 0}, {3855, 13107, 17476, 0, 0, 0, 0}, {128, 13132, 1792, 0, 0, 0, 0}, {10, 773, 96, 1285, 4375, 0, 0}, {10, 1280, 4420, 0, 0, 0, 0}, {783, 64, 1024, 0, 0, 0, 0}, {160, 3920, 5200, 0, 0, 0, 0}, {42, 793, 64, 1028, 4369, 0, 0}, {42, 1874, 4360, 0, 0, 0, 0}, {819, 96, 5132, 0, 0, 0, 0}, {32, 796, 64, 1028, 4112, 0, 0}, {170, 3925, 4437, 0, 0, 0, 0}, {828, 106, 4364, 0, 0, 0, 0}, {32, 1879, 4959, 0, 0, 0, 0}, {32, 1880, 4864, 0, 0, 0, 0}, {819, 106, 4403, 0, 0, 0, 0}, {170, 3930, 4352, 0, 0, 0, 0}, {32, 787, 64, 1028, 4096, 0, 0}, {828, 96, 5180, 0, 0, 0, 0}, {42, 1885, 4445, 0, 0, 0, 0}, {42, 790, 64, 1028, 4356, 0, 0}, {160, 3935, 5120, 0, 0, 0, 0}, {768, 96, 5120, 0, 0, 0, 0}, {42, 1799, 4369, 0, 0, 0, 0}, {42, 768, 64, 1032, 4360, 0, 0}, {160, 3855, 5180, 0, 0, 0, 0}, {32, 1800, 4940, 0, 0, 0, 0}, {783, 106, 4415, 0, 0, 0, 0}, {170, 3840, 4454, 0, 0, 0, 0}, {32, 783, 64, 1032, 4112, 0, 0}, {32, 768, 64, 1032, 4096, 0, 0}, {170, 3855, 4403, 0, 0, 0, 0}, {768, 106, 4352, 0, 0, 0, 0}, {32, 1799, 4883, 0, 0, 0, 0}, {160, 3840, 5228, 0, 0, 0, 0}, {42, 783, 64, 1032, 4381, 0, 0}, {42, 1800, 4420, 0, 0, 0, 0}, {783, 96, 5168, 0, 0, 0, 0}, {128, 13056, 1904, 0, 0, 0, 0}, {10, 819, 96, 1333, 4369, 0, 0}, {10, 1360, 4386, 0, 0, 0, 0}, {819, 64, 1036, 0, 0, 0, 0}, {192, 828, 17476, 0, 0, 0, 0}, {10, 32, 512, 1365, 4437, 0, 0}, {10, 32, 64, 278, 0, 0, 0}, {4095, 13311, 17544, 0, 0, 0, 0}, {4080, 13056, 17544, 0, 0, 0, 0}, {10, 32, 64, 275, 0, 0, 0}, {10, 32, 512, 1360, 4352, 0, 0}, {192, 819, 17476, 0, 0, 0, 0}, {828, 64, 1036, 0, 0, 0, 0}, {10, 1365, 4471, 0, 0, 0, 0}, {10, 822, 96, 1328, 4388, 0, 0}, {128, 13183, 1919, 0, 0, 0, 0}, {128, 13056, 1792, 0, 0, 0, 0}, {10, 771, 96, 1285, 4369, 0, 0}, {10, 1280, 4386, 0, 0, 0, 0}, {771, 64, 1036, 0, 0, 0, 0}, {192, 780, 17476, 0, 0, 0, 0}, {10, 32, 512, 1285, 4437, 0, 0}, {10, 32, 64, 262, 0, 0, 0}, {3855, 13311, 17544, 0, 0, 0, 0}, {3840, 13056, 17544, 0, 0, 0, 0}, {10, 32, 64, 259, 0, 0, 0}, {10, 32, 512, 1280, 4352, 0, 0}, {192, 771, 17476, 0, 0, 0, 0}, {780, 64, 1036, 0, 0, 0, 0}, {10, 1285, 4471, 0, 0, 0, 0}, {10, 774, 96, 1280, 4388, 0, 0}, {128, 13183, 1807, 0, 0, 0, 0}, {816, 96, 5168, 0, 0, 0, 0}, {42, 1885, 4369, 0, 0, 0, 0}, {42, 794, 64, 1032, 4360, 0, 0}, {160, 3935, 5228, 0, 0, 0, 0}, {32, 1880, 4940, 0, 0, 0, 0}, {831, 106, 4415, 0, 0, 0, 0}, {170, 3930, 4454, 0, 0, 0, 0}, {32, 799, 64, 1032, 4096, 0, 0}, {32, 784, 64, 1032, 4112, 0, 0}, {170, 3925, 4403, 0, 0, 0, 0}, {816, 106, 4352, 0, 0, 0, 0}, {32, 1879, 4883, 0, 0, 0, 0}, {160, 3920, 5180, 0, 0, 0, 0}, {42, 789, 64, 1032, 4381, 0, 0}, {42, 1874, 4420, 0, 0, 0, 0}, {831, 96, 5120, 0, 0, 0, 0}, {160, 3840, 5120, 0, 0, 0, 0}, {42, 771, 64, 1028, 4369, 0, 0}, {42, 1800, 4360, 0, 0, 0, 0}, {771, 96, 5180, 0, 0, 0, 0}, {32, 780, 64, 1028, 4096, 0, 0}, {170, 3855, 4437, 0, 0, 0, 0}, {780, 106, 4364, 0, 0, 0, 0}, {32, 1799, 4959, 0, 0, 0, 0}, {32, 1800, 4864, 0, 0, 0, 0}, {771, 106, 4403, 0, 0, 0, 0}, {170, 3840, 4352, 0, 0, 0, 0}, {32, 771, 64, 1028, 4112, 0, 0}, {780, 96, 5132, 0, 0, 0, 0}, {42, 1799, 4445, 0, 0, 0, 0}, {42, 780, 64, 1028, 4356, 0, 0}, {160, 3855, 5200, 0, 0, 0, 0}, {816, 64, 1024, 0, 0, 0, 0}, {10, 1365, 4369, 0, 0, 0, 0}, {10, 816, 96, 1328, 4386, 0, 0}, {128, 13107, 1919, 0, 0, 0, 0}, {4080, 13260, 17476, 0, 0, 0, 0}, {10, 32, 64, 277, 0, 0, 0}, {10, 32, 512, 1360, 4422, 0, 0}, {192, 831, 17480, 0, 0, 0, 0}, {192, 816, 17480, 0, 0, 0, 0}, {10, 32, 512, 1365, 4371, 0, 0}, {10, 32, 64, 272, 0, 0, 0}, {4095, 13107, 17476, 0, 0, 0, 0}, {128, 13132, 1904, 0, 0, 0, 0}, {10, 821, 96, 1333, 4375, 0, 0}, {10, 1360, 4420, 0, 0, 0, 0}, {831, 64, 1024, 0, 0, 0, 0}, {192, 768, 17408, 0, 0, 0, 0}, {10, 32, 514, 1285, 4369, 0, 0}, {10, 32, 64, 258, 0, 0, 0}, {3855, 13107, 17612, 0, 0, 0, 0}, {128, 13132, 1800, 0, 0, 0, 0}, {10, 773, 96, 1285, 4405, 0, 0}, {10, 1280, 4454, 0, 0, 0, 0}, {783, 64, 1032, 0, 0, 0, 0}, {768, 64, 1032, 0, 0, 0, 0}, {10, 1285, 4403, 0, 0, 0, 0}, {10, 768, 96, 1280, 4352, 0, 0}, {128, 13107, 1799, 0, 0, 0, 0}, {3840, 13260, 17612, 0, 0, 0, 0}, {10, 32, 64, 263, 0, 0, 0}, {10, 32, 514, 1280, 4420, 0, 0}, {192, 783, 17408, 0, 0, 0, 0}, {32, 1872, 4864, 0, 0, 0, 0}, {819, 106, 4369, 0, 0, 0, 0}, {170, 3930, 4386, 0, 0, 0, 0}, {32, 787, 64, 1036, 4096, 0, 0}, {828, 96, 5140, 0, 0, 0, 0}, {42, 1877, 4437, 0, 0, 0, 0}, {42, 790, 64, 1036, 4364, 0, 0}, {160, 3935, 5160, 0, 0, 0, 0}, {160, 3920, 5240, 0, 0, 0, 0}, {42, 793, 64, 1036, 4377, 0, 0}, {42, 1882, 4352, 0, 0, 0, 0}, {819, 96, 5156, 0, 0, 0, 0}, {32, 796, 64, 1036, 4112, 0, 0}, {170, 3925, 4471, 0, 0, 0, 0}, {828, 106, 4398, 0, 0, 0, 0}, {32, 1887, 4959, 0, 0, 0, 0}, {32, 768, 64, 1024, 4096, 0, 0}, {170, 3855, 4369, 0, 0, 0, 0}, {768, 106, 4386, 0, 0, 0, 0}, {32, 1807, 4883, 0, 0, 0, 0}, {160, 3840, 5188, 0, 0, 0, 0}, {42, 783, 64, 1024, 4373, 0, 0}, {42, 1792, 4428, 0, 0, 0, 0}, {783, 96, 5144, 0, 0, 0, 0}, {768, 96, 5160, 0, 0, 0, 0}, {42, 1807, 4377, 0, 0, 0, 0}, {42, 768, 64, 1024, 4352, 0, 0}, {160, 3855, 5140, 0, 0, 0, 0}, {32, 1792, 4940, 0, 0, 0, 0}, {783, 106, 4381, 0, 0, 0, 0}, {170, 3840, 4420, 0, 0, 0, 0}, {32, 783, 64, 1024, 4112, 0, 0}, {4080, 13056, 17408, 0, 0, 0, 0}, {10, 32, 64, 273, 0, 0, 0}, {10, 32, 514, 1360, 4354, 0, 0}, {192, 819, 17420, 0, 0, 0, 0}, {828, 64, 1028, 0, 0, 0, 0}, {10, 1365, 4437, 0, 0, 0, 0}, {10, 822, 96, 1328, 4358, 0, 0}, {128, 13183, 1911, 0, 0, 0, 0}, {128, 13056, 1912, 0, 0, 0, 0}, {10, 819, 96, 1333, 4403, 0, 0}, {10, 1360, 4352, 0, 0, 0, 0}, {819, 64, 1028, 0, 0, 0, 0}, {192, 828, 17420, 0, 0, 0, 0}, {10, 32, 514, 1365, 4439, 0, 0}, {10, 32, 64, 276, 0, 0, 0}, {4095, 13311, 17408, 0, 0, 0, 0}, {19456, 0, 0, 0, 0, 0, 0}, {5, 18, 257, 0, 0, 0, 0}, {10, 34, 514, 17408, 0, 0, 0}, {15, 48, 771, 16384, 0, 0, 0}, {72, 1028, 0, 0, 0, 0, 0}, {5, 4864, 0, 0, 0, 0, 0}, {10, 8192, 96, 1542, 0, 0, 0}, {15, 13056, 119, 1799, 0, 0, 0}, {136, 2056, 17408, 0, 0, 0, 0}, {48, 771, 5, 4096, 0, 0, 0}, {10, 8192, 17920, 0, 0, 0, 0}, {15, 48, 771, 71, 1028, 0, 0}, {192, 3084, 16384, 0, 0, 0, 0}, {34, 514, 5, 4352, 0, 0, 0}, {10, 34, 514, 66, 1028, 0, 0}, {15, 13056, 17152, 0, 0, 0, 0}, {3072, 48, 80, 4112, 0, 0, 0}, {2048, 34, 85, 4369, 0, 0, 0}, {1024, 18, 0, 0, 0, 0, 0}, {95, 4883, 0, 0, 0, 0, 0}, {2048, 40, 80, 5140, 0, 0, 0}, {3072, 63, 85, 5397, 0, 0, 0}, {90, 5654, 0, 0, 0, 0, 0}, {1024, 23, 0, 0, 0, 0, 0}, {24, 48, 80, 1024, 4096, 0, 0}, {6425, 13107, 85, 0, 0, 0, 0}, {3072, 48, 90, 5658, 0, 0, 0}, {2048, 40, 95, 4891, 0, 0, 0}, {7196, 8224, 80, 0, 0, 0, 0}, {29, 34, 85, 1024, 4352, 0, 0}, {2048, 34, 90, 5662, 0, 0, 0}, {3072, 63, 95, 4895, 0, 0, 0}, {160, 8224, 19488, 0, 0, 0, 0}, {15, 771, 1027, 18, 0, 0, 0}, {2048, 34, 17408, 0, 0, 0, 0}, {15, 48, 771, 80, 4112, 0, 0}, {40, 72, 1036, 0, 0, 0, 0}, {15, 85, 5669, 0, 0, 0, 0}, {3084, 9766, 106, 0, 0, 0, 0}, {15, 39, 80, 1792, 4864, 0, 0}, {2048, 40, 17408, 0, 0, 0, 0}, {15, 48, 771, 85, 5397, 0, 0}, {170, 10794, 19498, 0, 0, 0, 0}, {15, 771, 1027, 23, 0, 0, 0}, {3084, 8224, 96, 0, 0, 0, 0}, {15, 34, 85, 1792, 4352, 0, 0}, {34, 72, 1036, 0, 0, 0, 0}, {15, 80, 4896, 0, 0, 0, 0}, {3072, 48, 16384, 0, 0, 0, 0}, {10, 34, 514, 85, 4369, 0, 0}, {10, 514, 1026, 18, 0, 0, 0}, {255, 13107, 19507, 0, 0, 0, 0}, {2056, 13364, 120, 0, 0, 0, 0}, {10, 53, 85, 1536, 4864, 0, 0}, {10, 80, 5686, 0, 0, 0, 0}, {63, 72, 1032, 0, 0, 0, 0}, {48, 72, 1032, 0, 0, 0, 0}, {10, 85, 4915, 0, 0, 0, 0}, {10, 48, 80, 1536, 4096, 0, 0}, {2056, 13107, 119, 0, 0, 0, 0}, {240, 15420, 19516, 0, 0, 0, 0}, {10, 514, 1026, 23, 0, 0, 0}, {10, 34, 514, 80, 5140, 0, 0}, {3072, 63, 16384, 0, 0, 0, 0}, {192, 3072, 16448, 0, 0, 0, 0}, {34, 512, 5, 4369, 0, 0, 0}, {10, 34, 512, 66, 1024, 0, 0}, {15, 13107, 17219, 0, 0, 0, 0}, {136, 2048, 17476, 0, 0, 0, 0}, {48, 768, 5, 4112, 0, 0, 0}, {10, 8224, 17990, 0, 0, 0, 0}, {15, 48, 768, 71, 1024, 0, 0}, {72, 1024, 0, 0, 0, 0, 0}, {5, 4883, 0, 0, 0, 0, 0}, {10, 8224, 96, 1536, 0, 0, 0}, {15, 13107, 119, 1792, 0, 0, 0}, {19532, 0, 0, 0, 0, 0, 0}, {5, 18, 256, 0, 0, 0, 0}, {10, 34, 512, 17476, 0, 0, 0}, {15, 48, 768, 16448, 0, 0, 0}, {7168, 8192, 80, 0, 0, 0, 0}, {29, 34, 85, 1028, 4369, 0, 0}, {2056, 34, 90, 5640, 0, 0, 0}, {3084, 63, 95, 4876, 0, 0, 0}, {24, 48, 80, 1028, 4112, 0, 0}, {6400, 13056, 85, 0, 0, 0, 0}, {3084, 48, 90, 5644, 0, 0, 0}, {2056, 40, 95, 4872, 0, 0, 0}, {2056, 40, 80, 5120, 0, 0, 0}, {3084, 63, 85, 5376, 0, 0, 0}, {90, 5632, 0, 0, 0, 0, 0}, {1028, 23, 0, 0, 0, 0, 0}, {3084, 48, 80, 4096, 0, 0, 0}, {2056, 34, 85, 4352, 0, 0, 0}, {1028, 18, 0, 0, 0, 0, 0}, {95, 4864, 0, 0, 0, 0, 0}, {3072, 8192, 96, 0, 0, 0, 0}, {15, 34, 85, 1799, 4369, 0, 0}, {34, 72, 1032, 0, 0, 0, 0}, {15, 80, 4915, 0, 0, 0, 0}, {2056, 40, 17476, 0, 0, 0, 0}, {15, 48, 768, 85, 5376, 0, 0}, {170, 10752, 19558, 0, 0, 0, 0}, {15, 768, 1031, 23, 0, 0, 0}, {40, 72, 1032, 0, 0, 0, 0}, {15, 85, 5683, 0, 0, 0, 0}, {3072, 9728, 106, 0, 0, 0, 0}, {15, 39, 80, 1799, 4883, 0, 0}, {160, 8192, 19564, 0, 0, 0, 0}, {15, 768, 1031, 18, 0, 0, 0}, {2056, 34, 17476, 0, 0, 0, 0}, {15, 48, 768, 80, 4096, 0, 0}, {240, 15360, 19568, 0, 0, 0, 0}, {10, 512, 1030, 23, 0, 0, 0}, {10, 34, 512, 80, 5120, 0, 0}, {3084, 63, 16448, 0, 0, 0, 0}, {48, 72, 1036, 0, 0, 0, 0}, {10, 85, 4896, 0, 0, 0, 0}, {10, 48, 80, 1542, 4112, 0, 0}, {2048, 13056, 119, 0, 0, 0, 0}, {2048, 13312, 120, 0, 0, 0, 0}, {10, 53, 85, 1542, 4883, 0, 0}, {10, 80, 5664, 0, 0, 0, 0}, {63, 72, 1036, 0, 0, 0, 0}, {3084, 48, 16448, 0, 0, 0, 0}, {10, 34, 512, 85, 4352, 0, 0}, {10, 512, 1030, 18, 0, 0, 0}, {255, 13056, 19583, 0, 0, 0, 0}, {19584, 0, 0, 0, 0, 0, 0}, {5, 18, 259, 0, 0, 0, 0}, {10, 34, 512, 17408, 0, 0, 0}, {15, 48, 771, 16448, 0, 0, 0}, {72, 1036, 0, 0, 0, 0, 0}, {5, 4896, 0, 0, 0, 0, 0}, {10, 8224, 96, 1542, 0, 0, 0}, {15, 13056, 119, 1792, 0, 0, 0}, {136, 2048, 17408, 0, 0, 0, 0}, {48, 771, 5, 4112, 0, 0, 0}, {10, 8224, 17952, 0, 0, 0, 0}, {15, 48, 771, 71, 1027, 0, 0}, {192, 3084, 16448, 0, 0, 0, 0}, {34, 512, 5, 4352, 0, 0, 0}, {10, 34, 512, 66, 1030, 0, 0}, {15, 13056, 17264, 0, 0, 0, 0}, {3072, 48, 80, 4096, 0, 0, 0}, {2056, 34, 85, 4369, 0, 0, 0}, {1032, 18, 0, 0, 0, 0, 0}, {95, 4915, 0, 0, 0, 0, 0}, {2056, 40, 80, 5140, 0, 0, 0}, {3072, 63, 85, 5376, 0, 0, 0}, {90, 5692, 0, 0, 0, 0, 0}, {1032, 23, 0, 0, 0, 0, 0}, {24, 48, 80, 1040, 4112, 0, 0}, {6451, 13107, 85, 0, 0, 0, 0}, {3072, 48, 90, 5632, 0, 0, 0}, {2056, 40, 95, 4883, 0, 0, 0}, {7228, 8192, 80, 0, 0, 0, 0}, {29, 34, 85, 1045, 4352, 0, 0}, {2056, 34, 90, 5654, 0, 0, 0}, {3072, 63, 95, 4864, 0, 0, 0}, {160, 8192, 19456, 0, 0, 0, 0}, {15, 771, 1028, 18, 0, 0, 0}, {2056, 34, 17408, 0, 0, 0, 0}, {15, 48, 771, 80, 4096, 0, 0}, {40, 72, 1028, 0, 0, 0, 0}, {15, 85, 5632, 0, 0, 0, 0}, {3084, 9740, 106, 0, 0, 0, 0}, {15, 39, 80, 1799, 4871, 0, 0}, {2056, 40, 17408, 0, 0, 0, 0}, {15, 48, 771, 85, 5376, 0, 0}, {170, 10752, 19456, 0, 0, 0, 0}, {15, 771, 1028, 23, 0, 0, 0}, {3084, 8192, 96, 0, 0, 0, 0}, {15, 34, 85, 1799, 4352, 0, 0}, {34, 72, 1028, 0, 0, 0, 0}, {15, 80, 4864, 0, 0, 0, 0}, {3072, 48, 16448, 0, 0, 0, 0}, {10, 34, 512, 85, 4369, 0, 0}, {10, 512, 1024, 18, 0, 0, 0}, {255, 13107, 19532, 0, 0, 0, 0}, {2048, 13372, 120, 0, 0, 0, 0}, {10, 53, 85, 1536, 4885, 0, 0}, {10, 80, 5654, 0, 0, 0, 0}, {63, 72, 1024, 0, 0, 0, 0}, {48, 72, 1024, 0, 0, 0, 0}, {10, 85, 4883, 0, 0, 0, 0}, {10, 48, 80, 1536, 4112, 0, 0}, {2048, 13107, 119, 0, 0, 0, 0}, {240, 15420, 19532, 0, 0, 0, 0}, {10, 512, 1024, 23, 0, 0, 0}, {10, 34, 512, 80, 5140, 0, 0}, {3072, 63, 16448, 0, 0, 0, 0}, {192, 3072, 16384, 0, 0, 0, 0}, {34, 514, 5, 4369, 0, 0, 0}, {10, 34, 514, 66, 1026, 0, 0}, {15, 13107, 17203, 0, 0, 0, 0}, {136, 2056, 17476, 0, 0, 0, 0}, {48, 768, 5, 4096, 0, 0, 0}, {10, 8192, 18022, 0, 0, 0, 0}, {15, 48, 768, 71, 1031, 0, 0}, {72, 1032, 0, 0, 0, 0, 0}, {5, 4915, 0, 0, 0, 0, 0}, {10, 8192, 96, 1536, 0, 0, 0}, {15, 13107, 119, 1799, 0, 0, 0}, {19660, 0, 0, 0, 0, 0, 0}, {5, 18, 258, 0, 0, 0, 0}, {10, 34, 514, 17476, 0, 0, 0}, {15, 48, 768, 16384, 0, 0, 0}, {7200, 8224, 80, 0, 0, 0, 0}, {29, 34, 85, 1041, 4369, 0, 0}, {2048, 34, 90, 5632, 0, 0, 0}, {3084, 63, 95, 4883, 0, 0, 0}, {24, 48, 80, 1044, 4096, 0, 0}, {6442, 13056, 85, 0, 0, 0, 0}, {3084, 48, 90, 5654, 0, 0, 0}, {2048, 40, 95, 4864, 0, 0, 0}, {2048, 40, 80, 5120, 0, 0, 0}, {3084, 63, 85, 5397, 0, 0, 0}, {90, 5674, 0, 0, 0, 0, 0}, {1036, 23, 0, 0, 0, 0, 0}, {3084, 48, 80, 4112, 0, 0, 0}, {2048, 34, 85, 4352, 0, 0, 0}, {1036, 18, 0, 0, 0, 0, 0}, {95, 4896, 0, 0, 0, 0, 0}, {3072, 8224, 96, 0, 0, 0, 0}, {15, 34, 85, 1792, 4369, 0, 0}, {34, 72, 1024, 0, 0, 0, 0}, {15, 80, 4883, 0, 0, 0, 0}, {2048, 40, 17476, 0, 0, 0, 0}, {15, 48, 768, 85, 5397, 0, 0}, {170, 10794, 19532, 0, 0, 0, 0}, {15, 768, 1024, 23, 0, 0, 0}, {40, 72, 1024, 0, 0, 0, 0}, {15, 85, 5654, 0, 0, 0, 0}, {3072, 9770, 106, 0, 0, 0, 0}, {15, 39, 80, 1792, 4884, 0, 0}, {160, 8224, 19532, 0, 0, 0, 0}, {15, 768, 1024, 18, 0, 0, 0}, {2048, 34, 17476, 0, 0, 0, 0}, {15, 48, 768, 80, 4112, 0, 0}, {240, 15360, 19456, 0, 0, 0, 0}, {10, 514, 1028, 23, 0, 0, 0}, {10, 34, 514, 80, 5120, 0, 0}, {3084, 63, 16384, 0, 0, 0, 0}, {48, 72, 1028, 0, 0, 0, 0}, {10, 85, 4864, 0, 0, 0, 0}, {10, 48, 80, 1542, 4096, 0, 0}, {2056, 13056, 119, 0, 0, 0, 0}, {2056, 13320, 120, 0, 0, 0, 0}, {10, 53, 85, 1542, 4870, 0, 0}, {10, 80, 5632, 0, 0, 0, 0}, {63, 72, 1028, 0, 0, 0, 0}, {3084, 48, 16384, 0, 0, 0, 0}, {10, 34, 514, 85, 4352, 0, 0}, {10, 514, 1028, 18, 0, 0, 0}, {255, 13056, 19456, 0, 0, 0, 0}, {1280, 4608, 0, 0, 0, 0, 0}, {76, 257, 0, 0, 0, 0, 0}, {128, 514, 1290, 4128, 0, 0, 0}, {204, 771, 1295, 4403, 0, 0, 0}, {76, 260, 0, 0, 0, 0, 0}, {1285, 4698, 0, 0, 0, 0, 0}, {204, 780, 1290, 4454, 0, 0, 0}, {128, 520, 1295, 4208, 0, 0, 0}, {128, 520, 1280, 4096, 0, 0, 0}, {204, 771, 1285, 4437, 0, 0, 0}, {4778, 12288, 1290, 0, 0, 0, 0}, {267, 771, 327, 1028, 4144, 0, 0}, {204, 780, 1280, 4352, 0, 0, 0}, {128, 514, 1285, 4176, 0, 0, 0}, {270, 514, 322, 1028, 4386, 0, 0}, {4848, 8704, 1295, 0, 0, 0, 0}, {128, 544, 1360, 4112, 0, 0, 0}, {204, 819, 1365, 4369, 0, 0, 0}, {1370, 4626, 0, 0, 0, 0, 0}, {76, 275, 0, 0, 0, 0, 0}, {204, 828, 1360, 4420, 0, 0, 0}, {128, 554, 1365, 4160, 0, 0, 0}, {76, 278, 0, 0, 0, 0, 0}, {1375, 4680, 0, 0, 0, 0, 0}, {4792, 12336, 1360, 0, 0, 0, 0}, {281, 819, 341, 1024, 4096, 0, 0}, {128, 554, 1370, 4144, 0, 0, 0}, {204, 819, 1375, 4471, 0, 0, 0}, {284, 544, 336, 1024, 4352, 0, 0}, {4834, 8738, 1365, 0, 0, 0, 0}, {204, 828, 1370, 4386, 0, 0, 0}, {128, 544, 1375, 4192, 0, 0, 0}, {128, 544, 1312, 4128, 0, 0, 0}, {204, 771, 1385, 4369, 0, 0, 0}, {1450, 3840, 4642, 0, 0, 0, 0}, {291, 771, 76, 1036, 4112, 0, 0}, {204, 780, 1388, 4420, 0, 0, 0}, {128, 554, 1317, 4208, 0, 0, 0}, {294, 780, 76, 1036, 4108, 0, 0}, {1455, 3855, 4728, 0, 0, 0, 0}, {1440, 3840, 5928, 0, 0, 0, 0}, {297, 771, 76, 1036, 4377, 0, 0}, {128, 554, 1322, 4096, 0, 0, 0}, {204, 771, 1379, 4471, 0, 0, 0}, {300, 780, 76, 1036, 4352, 0, 0}, {1445, 3855, 6007, 0, 0, 0, 0}, {204, 780, 1382, 4386, 0, 0, 0}, {128, 544, 1327, 4176, 0, 0, 0}, {1520, 2560, 4656, 0, 0, 0, 0}, {305, 514, 76, 1032, 4369, 0, 0}, {128, 514, 1402, 4112, 0, 0, 0}, {204, 819, 1331, 4403, 0, 0, 0}, {308, 520, 76, 1032, 4360, 0, 0}, {1525, 2570, 4714, 0, 0, 0, 0}, {204, 828, 1334, 4454, 0, 0, 0}, {128, 520, 1407, 4160, 0, 0, 0}, {128, 520, 1392, 4144, 0, 0, 0}, {204, 819, 1337, 4437, 0, 0, 0}, {1530, 2570, 5984, 0, 0, 0, 0}, {315, 520, 76, 1032, 4096, 0, 0}, {204, 828, 1340, 4352, 0, 0, 0}, {128, 514, 1397, 4192, 0, 0, 0}, {318, 514, 76, 1032, 4124, 0, 0}, {1535, 2560, 5951, 0, 0, 0, 0}, {128, 512, 1280, 4160, 0, 0, 0}, {204, 783, 1285, 4369, 0, 0, 0}, {4834, 8738, 1290, 0, 0, 0, 0}, {271, 512, 323, 1024, 4403, 0, 0}, {204, 768, 1280, 4420, 0, 0, 0}, {128, 522, 1285, 4112, 0, 0, 0}, {266, 768, 326, 1024, 4128, 0, 0}, {4792, 12336, 1295, 0, 0, 0, 0}, {1280, 4680, 0, 0, 0, 0, 0}, {76, 261, 0, 0, 0, 0, 0}, {128, 522, 1290, 4192, 0, 0, 0}, {204, 783, 1295, 4471, 0, 0, 0}, {76, 256, 0, 0, 0, 0, 0}, {1285, 4626, 0, 0, 0, 0, 0}, {204, 768, 1290, 4386, 0, 0, 0}, {128, 512, 1295, 4144, 0, 0, 0}, {4848, 8704, 1360, 0, 0, 0, 0}, {285, 546, 337, 1028, 4369, 0, 0}, {128, 546, 1370, 4208, 0, 0, 0}, {204, 831, 1375, 4403, 0, 0, 0}, {280, 816, 340, 1028, 4112, 0, 0}, {4778, 12288, 1365, 0, 0, 0, 0}, {204, 816, 1370, 4454, 0, 0, 0}, {128, 552, 1375, 4128, 0, 0, 0}, {128, 552, 1360, 4176, 0, 0, 0}, {204, 831, 1365, 4437, 0, 0, 0}, {1370, 4698, 0, 0, 0, 0, 0}, {76, 279, 0, 0, 0, 0, 0}, {204, 816, 1360, 4352, 0, 0, 0}, {128, 546, 1365, 4096, 0, 0, 0}, {76, 274, 0, 0, 0, 0, 0}, {1375, 4608, 0, 0, 0, 0, 0}, {1440, 3840, 5984, 0, 0, 0, 0}, {301, 783, 76, 1032, 4369, 0, 0}, {128, 546, 1322, 4160, 0, 0, 0}, {204, 783, 1379, 4403, 0, 0, 0}, {296, 768, 76, 1032, 4360, 0, 0}, {1445, 3855, 5951, 0, 0, 0, 0}, {204, 768, 1382, 4454, 0, 0, 0}, {128, 552, 1327, 4112, 0, 0, 0}, {128, 552, 1312, 4192, 0, 0, 0}, {204, 783, 1385, 4437, 0, 0, 0}, {1450, 3840, 4714, 0, 0, 0, 0}, {295, 783, 76, 1032, 4124, 0, 0}, {204, 768, 1388, 4352, 0, 0, 0}, {128, 546, 1317, 4144, 0, 0, 0}, {290, 768, 76, 1032, 4096, 0, 0}, {1455, 3855, 4656, 0, 0, 0, 0}, {128, 512, 1392, 4208, 0, 0, 0}, {204, 831, 1337, 4369, 0, 0, 0}, {1530, 2570, 5928, 0, 0, 0, 0}, {319, 512, 76, 1036, 4108, 0, 0}, {204, 816, 1340, 4420, 0, 0, 0}, {128, 522, 1397, 4128, 0, 0, 0}, {314, 522, 76, 1036, 4112, 0, 0}, {1535, 2560, 6007, 0, 0, 0, 0}, {1520, 2560, 4728, 0, 0, 0, 0}, {309, 522, 76, 1036, 4377, 0, 0}, {128, 522, 1402, 4176, 0, 0, 0}, {204, 831, 1331, 4471, 0, 0, 0}, {304, 512, 76, 1036, 4352, 0, 0}, {1525, 2570, 4642, 0, 0, 0, 0}, {204, 816, 1334, 4386, 0, 0, 0}, {128, 512, 1407, 4096, 0, 0, 0}, {128, 512, 1280, 4096, 0, 0, 0}, {204, 771, 1285, 4369, 0, 0, 0}, {1290, 4642, 0, 0, 0, 0, 0}, {76, 259, 0, 0, 0, 0, 0}, {204, 780, 1280, 4420, 0, 0, 0}, {128, 522, 1285, 4176, 0, 0, 0}, {76, 262, 0, 0, 0, 0, 0}, {1295, 4728, 0, 0, 0, 0, 0}, {4744, 12288, 1280, 0, 0, 0, 0}, {265, 771, 325, 1285, 4112, 0, 0}, {128, 522, 1290, 4128, 0, 0, 0}, {204, 771, 1295, 4471, 0, 0, 0}, {268, 512, 320, 1280, 4352, 0, 0}, {4818, 8738, 1285, 0, 0, 0, 0}, {204, 780, 1290, 4386, 0, 0, 0}, {128, 512, 1295, 4208, 0, 0, 0}, {1360, 4656, 0, 0, 0, 0, 0}, {76, 273, 0, 0, 0, 0, 0}, {128, 546, 1370, 4144, 0, 0, 0}, {204, 819, 1375, 4403, 0, 0, 0}, {76, 276, 0, 0, 0, 0, 0}, {1365, 4714, 0, 0, 0, 0, 0}, {204, 828, 1370, 4454, 0, 0, 0}, {128, 552, 1375, 4192, 0, 0, 0}, {128, 552, 1360, 4112, 0, 0, 0}, {204, 819, 1365, 4437, 0, 0, 0}, {4762, 12336, 1370, 0, 0, 0, 0}, {283, 819, 343, 1299, 4128, 0, 0}, {204, 828, 1360, 4352, 0, 0, 0}, {128, 546, 1365, 4160, 0, 0, 0}, {286, 546, 338, 1302, 4386, 0, 0}, {4800, 8704, 1375, 0, 0, 0, 0}, {1440, 3840, 4608, 0, 0, 0, 0}, {289, 771, 76, 1028, 4369, 0, 0}, {128, 546, 1322, 4096, 0, 0, 0}, {204, 771, 1379, 4403, 0, 0, 0}, {292, 780, 76, 1028, 4360, 0, 0}, {1445, 3855, 4698, 0, 0, 0, 0}, {204, 780, 1382, 4454, 0, 0, 0}, {128, 552, 1327, 4176, 0, 0, 0}, {128, 552, 1312, 4128, 0, 0, 0}, {204, 771, 1385, 4437, 0, 0, 0}, {1450, 3840, 5888, 0, 0, 0, 0}, {299, 771, 76, 1028, 4112, 0, 0}, {204, 780, 1388, 4352, 0, 0, 0}, {128, 546, 1317, 4208, 0, 0, 0}, {302, 780, 76, 1028, 4108, 0, 0}, {1455, 3855, 5983, 0, 0, 0, 0}, {128, 512, 1392, 4144, 0, 0, 0}, {204, 819, 1337, 4369, 0, 0, 0}, {1530, 2570, 4626, 0, 0, 0, 0}, {307, 512, 76, 1024, 4096, 0, 0}, {204, 828, 1340, 4420, 0, 0, 0}, {128, 522, 1397, 4192, 0, 0, 0}, {310, 522, 76, 1024, 4124, 0, 0}, {1535, 2560, 4680, 0, 0, 0, 0}, {1520, 2560, 5960, 0, 0, 0, 0}, {313, 522, 76, 1024, 4377, 0, 0}, {128, 522, 1402, 4112, 0, 0, 0}, {204, 819, 1331, 4471, 0, 0, 0}, {316, 512, 76, 1024, 4352, 0, 0}, {1525, 2570, 5911, 0, 0, 0, 0}, {204, 828, 1334, 4386, 0, 0, 0}, {128, 512, 1407, 4160, 0, 0, 0}, {4800, 8704, 1280, 0, 0, 0, 0}, {269, 514, 321, 1285, 4369, 0, 0}, {128, 514, 1290, 4192, 0, 0, 0}, {204, 783, 1295, 4403, 0, 0, 0}, {264, 768, 324, 1280, 4096, 0, 0}, {4762, 12336, 1285, 0, 0, 0, 0}, {204, 768, 1290, 4454, 0, 0, 0}, {128, 520, 1295, 4144, 0, 0, 0}, {128, 520, 1280, 4160, 0, 0, 0}, {204, 783, 1285, 4437, 0, 0, 0}, {1290, 4714, 0, 0, 0, 0, 0}, {76, 263, 0, 0, 0, 0, 0}, {204, 768, 1280, 4352, 0, 0, 0}, {128, 514, 1285, 4112, 0, 0, 0}, {76, 258, 0, 0, 0, 0, 0}, {1295, 4656, 0, 0, 0, 0, 0}, {128, 544, 1360, 4176, 0, 0, 0}, {204, 831, 1365, 4369, 0, 0, 0}, {4818, 8738, 1370, 0, 0, 0, 0}, {287, 544, 339, 1299, 4403, 0, 0}, {204, 816, 1360, 4420, 0, 0, 0}, {128, 554, 1365, 4096, 0, 0, 0}, {282, 816, 342, 1302, 4144, 0, 0}, {4744, 12288, 1375, 0, 0, 0, 0}, {1360, 4728, 0, 0, 0, 0, 0}, {76, 277, 0, 0, 0, 0, 0}, {128, 554, 1370, 4208, 0, 0, 0}, {204, 831, 1375, 4471, 0, 0, 0}, {76, 272, 0, 0, 0, 0, 0}, {1365, 4642, 0, 0, 0, 0, 0}, {204, 816, 1370, 4386, 0, 0, 0}, {128, 544, 1375, 4128, 0, 0, 0}, {128, 544, 1312, 4192, 0, 0, 0}, {204, 783, 1385, 4369, 0, 0, 0}, {1450, 3840, 5960, 0, 0, 0, 0}, {303, 783, 76, 1024, 4124, 0, 0}, {204, 768, 1388, 4420, 0, 0, 0}, {128, 554, 1317, 4144, 0, 0, 0}, {298, 768, 76, 1024, 4096, 0, 0}, {1455, 3855, 5911, 0, 0, 0, 0}, {1440, 3840, 4680, 0, 0, 0, 0}, {293, 783, 76, 1024, 4377, 0, 0}, {128, 554, 1322, 4160, 0, 0, 0}, {204, 783, 1379, 4471, 0, 0, 0}, {288, 768, 76, 1024, 4352, 0, 0}, {1445, 3855, 4626, 0, 0, 0, 0}, {204, 768, 1382, 4386, 0, 0, 0}, {128, 544, 1327, 4112, 0, 0, 0}, {1520, 2560, 5888, 0, 0, 0, 0}, {317, 514, 76, 1028, 4369, 0, 0}, {128, 514, 1402, 4176, 0, 0, 0}, {204, 831, 1331, 4403, 0, 0, 0}, {312, 520, 76, 1028, 4360, 0, 0}, {1525, 2570, 5983, 0, 0, 0, 0}, {204, 816, 1334, 4454, 0, 0, 0}, {128, 520, 1407, 4096, 0, 0, 0}, {128, 520, 1392, 4208, 0, 0, 0}, {204, 831, 1337, 4437, 0, 0, 0}, {1530, 2570, 4698, 0, 0, 0, 0}, {311, 520, 76, 1028, 4108, 0, 0}, {204, 816, 1340, 4352, 0, 0, 0}, {128, 514, 1397, 4128, 0, 0, 0}, {306, 514, 76, 1028, 4112, 0, 0}, {1535, 2560, 4608, 0, 0, 0, 0}, {2560, 8704, 17408, 0, 0, 0, 0}, {15, 48, 64, 257, 0, 0, 0}, {128, 514, 17416, 0, 0, 0, 0}, {15, 48, 771, 1280, 4355, 0, 0}, {520, 64, 1028, 0, 0, 0, 0}, {15, 1285, 4437, 0, 0, 0, 0}, {192, 8810, 1542, 0, 0, 0, 0}, {15, 519, 112, 1280, 4359, 0, 0}, {128, 520, 17416, 0, 0, 0, 0}, {15, 48, 771, 1285, 4438, 0, 0}, {2570, 8874, 17408, 0, 0, 0, 0}, {15, 48, 64, 260, 0, 0, 0}, {192, 8704, 1548, 0, 0, 0, 0}, {15, 514, 112, 1285, 4386, 0, 0}, {514, 64, 1028, 0, 0, 0, 0}, {15, 1280, 4352, 0, 0, 0, 0}, {48, 528, 64, 1024, 4112, 0, 0}, {255, 2645, 4369, 0, 0, 0, 0}, {48, 1626, 4626, 0, 0, 0, 0}, {544, 127, 4403, 0, 0, 0, 0}, {240, 2640, 5140, 0, 0, 0, 0}, {63, 533, 64, 1024, 4373, 0, 0}, {554, 112, 5180, 0, 0, 0, 0}, {63, 1631, 4424, 0, 0, 0, 0}, {48, 1616, 4680, 0, 0, 0, 0}, {554, 127, 4377, 0, 0, 0, 0}, {48, 538, 64, 1024, 4096, 0, 0}, {255, 2655, 4420, 0, 0, 0, 0}, {544, 112, 5148, 0, 0, 0, 0}, {63, 1621, 4381, 0, 0, 0, 0}, {240, 2650, 5188, 0, 0, 0, 0}, {63, 543, 64, 1024, 4352, 0, 0}, {128, 544, 17408, 0, 0, 0, 0}, {15, 48, 771, 1365, 4369, 0, 0}, {2730, 8738, 17544, 0, 0, 0, 0}, {15, 48, 64, 275, 0, 0, 0}, {192, 8776, 1644, 0, 0, 0, 0}, {15, 549, 112, 1317, 4389, 0, 0}, {554, 64, 1036, 0, 0, 0, 0}, {15, 1360, 4471, 0, 0, 0, 0}, {2720, 8840, 17544, 0, 0, 0, 0}, {15, 48, 64, 278, 0, 0, 0}, {128, 554, 17408, 0, 0, 0, 0}, {15, 48, 771, 1360, 4420, 0, 0}, {544, 64, 1036, 0, 0, 0, 0}, {15, 1365, 4386, 0, 0, 0, 0}, {192, 8738, 1638, 0, 0, 0, 0}, {15, 544, 112, 1312, 4352, 0, 0}, {48, 1536, 4608, 0, 0, 0, 0}, {514, 127, 4369, 0, 0, 0, 0}, {48, 514, 64, 1032, 4112, 0, 0}, {255, 2560, 4403, 0, 0, 0, 0}, {520, 112, 5172, 0, 0, 0, 0}, {63, 1546, 4437, 0, 0, 0, 0}, {240, 2570, 5228, 0, 0, 0, 0}, {63, 520, 64, 1032, 4360, 0, 0}, {48, 520, 64, 1032, 4096, 0, 0}, {255, 2570, 4454, 0, 0, 0, 0}, {48, 1546, 4698, 0, 0, 0, 0}, {520, 127, 4411, 0, 0, 0, 0}, {240, 2560, 5180, 0, 0, 0, 0}, {63, 514, 64, 1032, 4381, 0, 0}, {514, 112, 5140, 0, 0, 0, 0}, {63, 1536, 4352, 0, 0, 0, 0}, {512, 64, 1024, 0, 0, 0, 0}, {15, 1285, 4369, 0, 0, 0, 0}, {192, 8738, 1546, 0, 0, 0, 0}, {15, 512, 112, 1280, 4403, 0, 0}, {2560, 8840, 17476, 0, 0, 0, 0}, {15, 48, 64, 261, 0, 0, 0}, {128, 522, 17484, 0, 0, 0, 0}, {15, 48, 768, 1280, 4423, 0, 0}, {192, 8776, 1536, 0, 0, 0, 0}, {15, 517, 112, 1285, 4374, 0, 0}, {522, 64, 1024, 0, 0, 0, 0}, {15, 1280, 4420, 0, 0, 0, 0}, {128, 512, 17484, 0, 0, 0, 0}, {15, 48, 768, 1285, 4370, 0, 0}, {2570, 8738, 17476, 0, 0, 0, 0}, {15, 48, 64, 256, 0, 0, 0}, {240, 2640, 5200, 0, 0, 0, 0}, {63, 541, 64, 1028, 4369, 0, 0}, {546, 112, 5128, 0, 0, 0, 0}, {63, 1619, 4364, 0, 0, 0, 0}, {48, 536, 64, 1028, 4112, 0, 0}, {255, 2645, 4437, 0, 0, 0, 0}, {48, 1622, 4698, 0, 0, 0, 0}, {552, 127, 4360, 0, 0, 0, 0}, {552, 112, 5160, 0, 0, 0, 0}, {63, 1625, 4441, 0, 0, 0, 0}, {240, 2650, 5120, 0, 0, 0, 0}, {63, 535, 64, 1028, 4356, 0, 0}, {48, 1628, 4608, 0, 0, 0, 0}, {546, 127, 4386, 0, 0, 0, 0}, {48, 530, 64, 1028, 4096, 0, 0}, {255, 2655, 4352, 0, 0, 0, 0}, {192, 8704, 1632, 0, 0, 0, 0}, {15, 546, 112, 1317, 4369, 0, 0}, {546, 64, 1032, 0, 0, 0, 0}, {15, 1360, 4403, 0, 0, 0, 0}, {128, 552, 17476, 0, 0, 0, 0}, {15, 48, 768, 1365, 4437, 0, 0}, {2730, 8874, 17612, 0, 0, 0, 0}, {15, 48, 64, 279, 0, 0, 0}, {552, 64, 1032, 0, 0, 0, 0}, {15, 1365, 4454, 0, 0, 0, 0}, {192, 8810, 1642, 0, 0, 0, 0}, {15, 551, 112, 1312, 4404, 0, 0}, {2720, 8704, 17612, 0, 0, 0, 0}, {15, 48, 64, 274, 0, 0, 0}, {128, 546, 17476, 0, 0, 0, 0}, {15, 48, 768, 1360, 4352, 0, 0}, {512, 112, 5120, 0, 0, 0, 0}, {63, 1542, 4369, 0, 0, 0, 0}, {240, 2570, 5160, 0, 0, 0, 0}, {63, 512, 64, 1036, 4364, 0, 0}, {48, 1548, 4680, 0, 0, 0, 0}, {522, 127, 4394, 0, 0, 0, 0}, {48, 522, 64, 1036, 4112, 0, 0}, {255, 2560, 4471, 0, 0, 0, 0}, {240, 2560, 5240, 0, 0, 0, 0}, {63, 522, 64, 1036, 4377, 0, 0}, {522, 112, 5152, 0, 0, 0, 0}, {63, 1548, 4420, 0, 0, 0, 0}, {48, 512, 64, 1036, 4096, 0, 0}, {255, 2570, 4386, 0, 0, 0, 0}, {48, 1542, 4626, 0, 0, 0, 0}, {512, 127, 4352, 0, 0, 0, 0}, {128, 512, 17408, 0, 0, 0, 0}, {15, 48, 771, 1285, 4369, 0, 0}, {2570, 8738, 17544, 0, 0, 0, 0}, {15, 48, 64, 259, 0, 0, 0}, {192, 8776, 1548, 0, 0, 0, 0}, {15, 517, 112, 1285, 4389, 0, 0}, {522, 64, 1036, 0, 0, 0, 0}, {15, 1280, 4471, 0, 0, 0, 0}, {2560, 8840, 17544, 0, 0, 0, 0}, {15, 48, 64, 262, 0, 0, 0}, {128, 522, 17408, 0, 0, 0, 0}, {15, 48, 771, 1280, 4420, 0, 0}, {512, 64, 1036, 0, 0, 0, 0}, {15, 1285, 4386, 0, 0, 0, 0}, {192, 8738, 1542, 0, 0, 0, 0}, {15, 512, 112, 1280, 4352, 0, 0}, {48, 1616, 4608, 0, 0, 0, 0}, {546, 127, 4369, 0, 0, 0, 0}, {48, 530, 64, 1032, 4096, 0, 0}, {255, 2655, 4403, 0, 0, 0, 0}, {552, 112, 5140, 0, 0, 0, 0}, {63, 1621, 4437, 0, 0, 0, 0}, {240, 2650, 5180, 0, 0, 0, 0}, {63, 535, 64, 1032, 4360, 0, 0}, {48, 536, 64, 1032, 4112, 0, 0}, {255, 2645, 4454, 0, 0, 0, 0}, {48, 1626, 4698, 0, 0, 0, 0}, {552, 127, 4411, 0, 0, 0, 0}, {240, 2640, 5228, 0, 0, 0, 0}, {63, 541, 64, 1032, 4381, 0, 0}, {546, 112, 5172, 0, 0, 0, 0}, {63, 1631, 4352, 0, 0, 0, 0}, {2720, 8704, 17408, 0, 0, 0, 0}, {15, 48, 64, 273, 0, 0, 0}, {128, 546, 17416, 0, 0, 0, 0}, {15, 48, 771, 1360, 4355, 0, 0}, {552, 64, 1028, 0, 0, 0, 0}, {15, 1365, 4437, 0, 0, 0, 0}, {192, 8810, 1638, 0, 0, 0, 0}, {15, 551, 112, 1312, 4359, 0, 0}, {128, 552, 17416, 0, 0, 0, 0}, {15, 48, 771, 1365, 4438, 0, 0}, {2730, 8874, 17408, 0, 0, 0, 0}, {15, 48, 64, 276, 0, 0, 0}, {192, 8704, 1644, 0, 0, 0, 0}, {15, 546, 112, 1317, 4386, 0, 0}, {546, 64, 1028, 0, 0, 0, 0}, {15, 1360, 4352, 0, 0, 0, 0}, {48, 512, 64, 1024, 4096, 0, 0}, {255, 2570, 4369, 0, 0, 0, 0}, {48, 1546, 4626, 0, 0, 0, 0}, {512, 127, 4403, 0, 0, 0, 0}, {240, 2560, 5188, 0, 0, 0, 0}, {63, 522, 64, 1024, 4373, 0, 0}, {522, 112, 5148, 0, 0, 0, 0}, {63, 1536, 4424, 0, 0, 0, 0}, {48, 1536, 4680, 0, 0, 0, 0}, {522, 127, 4377, 0, 0, 0, 0}, {48, 522, 64, 1024, 4112, 0, 0}, {255, 2560, 4420, 0, 0, 0, 0}, {512, 112, 5180, 0, 0, 0, 0}, {63, 1546, 4381, 0, 0, 0, 0}, {240, 2570, 5140, 0, 0, 0, 0}, {63, 512, 64, 1024, 4352, 0, 0}, {192, 8704, 1536, 0, 0, 0, 0}, {15, 514, 112, 1285, 4369, 0, 0}, {514, 64, 1032, 0, 0, 0, 0}, {15, 1280, 4403, 0, 0, 0, 0}, {128, 520, 17476, 0, 0, 0, 0}, {15, 48, 768, 1285, 4437, 0, 0}, {2570, 8874, 17612, 0, 0, 0, 0}, {15, 48, 64, 263, 0, 0, 0}, {520, 64, 1032, 0, 0, 0, 0}, {15, 1285, 4454, 0, 0, 0, 0}, {192, 8810, 1546, 0, 0, 0, 0}, {15, 519, 112, 1280, 4404, 0, 0}, {2560, 8704, 17612, 0, 0, 0, 0}, {15, 48, 64, 258, 0, 0, 0}, {128, 514, 17476, 0, 0, 0, 0}, {15, 48, 768, 1280, 4352, 0, 0}, {544, 112, 5152, 0, 0, 0, 0}, {63, 1625, 4369, 0, 0, 0, 0}, {240, 2650, 5240, 0, 0, 0, 0}, {63, 543, 64, 1036, 4364, 0, 0}, {48, 1628, 4680, 0, 0, 0, 0}, {554, 127, 4394, 0, 0, 0, 0}, {48, 538, 64, 1036, 4096, 0, 0}, {255, 2655, 4471, 0, 0, 0, 0}, {240, 2640, 5160, 0, 0, 0, 0}, {63, 533, 64, 1036, 4377, 0, 0}, {554, 112, 5120, 0, 0, 0, 0}, {63, 1619, 4420, 0, 0, 0, 0}, {48, 528, 64, 1036, 4112, 0, 0}, {255, 2645, 4386, 0, 0, 0, 0}, {48, 1622, 4626, 0, 0, 0, 0}, {544, 127, 4352, 0, 0, 0, 0}, {544, 64, 1024, 0, 0, 0, 0}, {15, 1365, 4369, 0, 0, 0, 0}, {192, 8738, 1642, 0, 0, 0, 0}, {15, 544, 112, 1312, 4403, 0, 0}, {2720, 8840, 17476, 0, 0, 0, 0}, {15, 48, 64, 277, 0, 0, 0}, {128, 554, 17484, 0, 0, 0, 0}, {15, 48, 768, 1360, 4423, 0, 0}, {192, 8776, 1632, 0, 0, 0, 0}, {15, 549, 112, 1317, 4374, 0, 0}, {554, 64, 1024, 0, 0, 0, 0}, {15, 1360, 4420, 0, 0, 0, 0}, {128, 544, 17484, 0, 0, 0, 0}, {15, 48, 768, 1365, 4370, 0, 0}, {2730, 8738, 17476, 0, 0, 0, 0}, {15, 48, 64, 272, 0, 0, 0}, {240, 2560, 5120, 0, 0, 0, 0}, {63, 514, 64, 1028, 4369, 0, 0}, {514, 112, 5160, 0, 0, 0, 0}, {63, 1548, 4364, 0, 0, 0, 0}, {48, 520, 64, 1028, 4096, 0, 0}, {255, 2570, 4437, 0, 0, 0, 0}, {48, 1542, 4698, 0, 0, 0, 0}, {520, 127, 4360, 0, 0, 0, 0}, {520, 112, 5128, 0, 0, 0, 0}, {63, 1542, 4441, 0, 0, 0, 0}, {240, 2570, 5200, 0, 0, 0, 0}, {63, 520, 64, 1028, 4356, 0, 0}, {48, 1548, 4608, 0, 0, 0, 0}, {514, 127, 4386, 0, 0, 0, 0}, {48, 514, 64, 1028, 4112, 0, 0}, {255, 2560, 4352, 0, 0, 0, 0}, {3840, 12288, 16384, 0, 0, 0, 0}, {10, 34, 68, 257, 0, 0, 0}, {10, 34, 514, 1280, 4098, 0, 0}, {204, 771, 16396, 0, 0, 0, 0}, {780, 68, 1028, 0, 0, 0, 0}, {10, 1285, 4176, 0, 0, 0, 0}, {10, 774, 102, 1280, 4102, 0, 0}, {136, 12408, 1799, 0, 0, 0, 0}, {136, 12288, 1800, 0, 0, 0, 0}, {10, 771, 102, 1285, 4144, 0, 0}, {10, 1280, 4096, 0, 0, 0, 0}, {771, 68, 1028, 0, 0, 0, 0}, {204, 780, 16396, 0, 0, 0, 0}, {10, 34, 514, 1285, 4178, 0, 0}, {10, 34, 68, 260, 0, 0, 0}, {3855, 12528, 16384, 0, 0, 0, 0}, {160, 3920, 4112, 0, 0, 0, 0}, {34, 785, 68, 1024, 4369, 0, 0}, {34, 1882, 4626, 0, 0, 0, 0}, {819, 108, 4128, 0, 0, 0, 0}, {40, 788, 68, 1024, 4116, 0, 0}, {170, 3925, 5397, 0, 0, 0, 0}, {828, 102, 5418, 0, 0, 0, 0}, {40, 1887, 4168, 0, 0, 0, 0}, {40, 1872, 4120, 0, 0, 0, 0}, {819, 102, 5401, 0, 0, 0, 0}, {170, 3930, 5440, 0, 0, 0, 0}, {40, 795, 68, 1024, 4096, 0, 0}, {828, 108, 4124, 0, 0, 0, 0}, {34, 1877, 4680, 0, 0, 0, 0}, {34, 798, 68, 1024, 4352, 0, 0}, {160, 3935, 4160, 0, 0, 0, 0}, {160, 3840, 4128, 0, 0, 0, 0}, {34, 771, 68, 1036, 4369, 0, 0}, {34, 1792, 4608, 0, 0, 0, 0}, {771, 108, 4112, 0, 0, 0, 0}, {40, 780, 68, 1036, 4108, 0, 0}, {170, 3855, 5503, 0, 0, 0, 0}, {780, 102, 5414, 0, 0, 0, 0}, {40, 1807, 4176, 0, 0, 0, 0}, {40, 1792, 4096, 0, 0, 0, 0}, {771, 102, 5397, 0, 0, 0, 0}, {170, 3840, 5418, 0, 0, 0, 0}, {40, 771, 68, 1036, 4120, 0, 0}, {780, 108, 4140, 0, 0, 0, 0}, {34, 1807, 4698, 0, 0, 0, 0}, {34, 780, 68, 1036, 4352, 0, 0}, {160, 3855, 4208, 0, 0, 0, 0}, {4080, 12336, 16576, 0, 0, 0, 0}, {10, 34, 68, 275, 0, 0, 0}, {10, 34, 514, 1360, 4112, 0, 0}, {204, 819, 16384, 0, 0, 0, 0}, {828, 68, 1032, 0, 0, 0, 0}, {10, 1365, 4192, 0, 0, 0, 0}, {10, 822, 102, 1334, 4150, 0, 0}, {136, 12360, 1919, 0, 0, 0, 0}, {136, 12336, 1904, 0, 0, 0, 0}, {10, 819, 102, 1331, 4096, 0, 0}, {10, 1360, 4144, 0, 0, 0, 0}, {819, 68, 1032, 0, 0, 0, 0}, {204, 828, 16384, 0, 0, 0, 0}, {10, 34, 514, 1365, 4160, 0, 0}, {10, 34, 68, 278, 0, 0, 0}, {4095, 12480, 16576, 0, 0, 0, 0}, {3840, 12480, 16448, 0, 0, 0, 0}, {10, 34, 68, 261, 0, 0, 0}, {10, 34, 512, 1280, 4162, 0, 0}, {204, 783, 16460, 0, 0, 0, 0}, {768, 68, 1024, 0, 0, 0, 0}, {10, 1285, 4112, 0, 0, 0, 0}, {10, 768, 102, 1280, 4128, 0, 0}, {136, 12336, 1807, 0, 0, 0, 0}, {136, 12360, 1792, 0, 0, 0, 0}, {10, 773, 102, 1285, 4118, 0, 0}, {10, 1280, 4160, 0, 0, 0, 0}, {783, 68, 1024, 0, 0, 0, 0}, {204, 768, 16460, 0, 0, 0, 0}, {10, 34, 512, 1285, 4114, 0, 0}, {10, 34, 68, 256, 0, 0, 0}, {3855, 12336, 16448, 0, 0, 0, 0}, {160, 3920, 4176, 0, 0, 0, 0}, {34, 797, 68, 1028, 4369, 0, 0}, {34, 1874, 4698, 0, 0, 0, 0}, {831, 108, 4108, 0, 0, 0, 0}, {40, 792, 68, 1028, 4112, 0, 0}, {170, 3925, 5461, 0, 0, 0, 0}, {816, 102, 5388, 0, 0, 0, 0}, {40, 1879, 4104, 0, 0, 0, 0}, {40, 1880, 4184, 0, 0, 0, 0}, {831, 102, 5439, 0, 0, 0, 0}, {170, 3930, 5376, 0, 0, 0, 0}, {40, 791, 68, 1028, 4100, 0, 0}, {816, 108, 4144, 0, 0, 0, 0}, {34, 1885, 4608, 0, 0, 0, 0}, {34, 786, 68, 1028, 4352, 0, 0}, {160, 3935, 4096, 0, 0, 0, 0}, {160, 3840, 4192, 0, 0, 0, 0}, {34, 783, 68, 1032, 4369, 0, 0}, {34, 1800, 4680, 0, 0, 0, 0}, {783, 108, 4156, 0, 0, 0, 0}, {40, 768, 68, 1032, 4104, 0, 0}, {170, 3855, 5439, 0, 0, 0, 0}, {768, 102, 5376, 0, 0, 0, 0}, {40, 1799, 4112, 0, 0, 0, 0}, {40, 1800, 4160, 0, 0, 0, 0}, {783, 102, 5427, 0, 0, 0, 0}, {170, 3840, 5482, 0, 0, 0, 0}, {40, 783, 68, 1032, 4124, 0, 0}, {768, 108, 4096, 0, 0, 0, 0}, {34, 1799, 4626, 0, 0, 0, 0}, {34, 768, 68, 1032, 4352, 0, 0}, {160, 3855, 4144, 0, 0, 0, 0}, {4080, 12528, 16512, 0, 0, 0, 0}, {10, 34, 68, 279, 0, 0, 0}, {10, 34, 512, 1360, 4176, 0, 0}, {204, 831, 16448, 0, 0, 0, 0}, {816, 68, 1036, 0, 0, 0, 0}, {10, 1365, 4128, 0, 0, 0, 0}, {10, 816, 102, 1334, 4112, 0, 0}, {136, 12288, 1911, 0, 0, 0, 0}, {136, 12408, 1912, 0, 0, 0, 0}, {10, 821, 102, 1331, 4134, 0, 0}, {10, 1360, 4208, 0, 0, 0, 0}, {831, 68, 1036, 0, 0, 0, 0}, {204, 816, 16448, 0, 0, 0, 0}, {10, 34, 512, 1365, 4096, 0, 0}, {10, 34, 68, 274, 0, 0, 0}, {4095, 12288, 16512, 0, 0, 0, 0}, {3840, 12288, 16512, 0, 0, 0, 0}, {10, 34, 68, 259, 0, 0, 0}, {10, 34, 512, 1280, 4096, 0, 0}, {204, 771, 16448, 0, 0, 0, 0}, {780, 68, 1036, 0, 0, 0, 0}, {10, 1285, 4208, 0, 0, 0, 0}, {10, 774, 102, 1280, 4134, 0, 0}, {136, 12408, 1807, 0, 0, 0, 0}, {136, 12288, 1792, 0, 0, 0, 0}, {10, 771, 102, 1285, 4112, 0, 0}, {10, 1280, 4128, 0, 0, 0, 0}, {771, 68, 1036, 0, 0, 0, 0}, {204, 780, 16448, 0, 0, 0, 0}, {10, 34, 512, 1285, 4176, 0, 0}, {10, 34, 68, 262, 0, 0, 0}, {3855, 12528, 16512, 0, 0, 0, 0}, {160, 3920, 4144, 0, 0, 0, 0}, {34, 785, 68, 1032, 4369, 0, 0}, {34, 1874, 4626, 0, 0, 0, 0}, {819, 108, 4096, 0, 0, 0, 0}, {40, 788, 68, 1032, 4124, 0, 0}, {170, 3925, 5439, 0, 0, 0, 0}, {828, 102, 5376, 0, 0, 0, 0}, {40, 1879, 4160, 0, 0, 0, 0}, {40, 1880, 4112, 0, 0, 0, 0}, {819, 102, 5427, 0, 0, 0, 0}, {170, 3930, 5482, 0, 0, 0, 0}, {40, 795, 68, 1032, 4104, 0, 0}, {828, 108, 4156, 0, 0, 0, 0}, {34, 1885, 4680, 0, 0, 0, 0}, {34, 798, 68, 1032, 4352, 0, 0}, {160, 3935, 4192, 0, 0, 0, 0}, {160, 3840, 4096, 0, 0, 0, 0}, {34, 771, 68, 1028, 4369, 0, 0}, {34, 1800, 4608, 0, 0, 0, 0}, {771, 108, 4144, 0, 0, 0, 0}, {40, 780, 68, 1028, 4100, 0, 0}, {170, 3855, 5461, 0, 0, 0, 0}, {780, 102, 5388, 0, 0, 0, 0}, {40, 1799, 4184, 0, 0, 0, 0}, {40, 1800, 4104, 0, 0, 0, 0}, {771, 102, 5439, 0, 0, 0, 0}, {170, 3840, 5376, 0, 0, 0, 0}, {40, 771, 68, 1028, 4112, 0, 0}, {780, 108, 4108, 0, 0, 0, 0}, {34, 1799, 4698, 0, 0, 0, 0}, {34, 780, 68, 1028, 4352, 0, 0}, {160, 3855, 4176, 0, 0, 0, 0}, {4080, 12336, 16448, 0, 0, 0, 0}, {10, 34, 68, 273, 0, 0, 0}, {10, 34, 512, 1360, 4114, 0, 0}, {204, 819, 16460, 0, 0, 0, 0}, {828, 68, 1024, 0, 0, 0, 0}, {10, 1365, 4160, 0, 0, 0, 0}, {10, 822, 102, 1334, 4118, 0, 0}, {136, 12360, 1911, 0, 0, 0, 0}, {136, 12336, 1912, 0, 0, 0, 0}, {10, 819, 102, 1331, 4128, 0, 0}, {10, 1360, 4112, 0, 0, 0, 0}, {819, 68, 1024, 0, 0, 0, 0}, {204, 828, 16460, 0, 0, 0, 0}, {10, 34, 512, 1365, 4162, 0, 0}, {10, 34, 68, 276, 0, 0, 0}, {4095, 12480, 16448, 0, 0, 0, 0}, {3840, 12480, 16576, 0, 0, 0, 0}, {10, 34, 68, 263, 0, 0, 0}, {10, 34, 514, 1280, 4160, 0, 0}, {204, 783, 16384, 0, 0, 0, 0}, {768, 68, 1032, 0, 0, 0, 0}, {10, 1285, 4144, 0, 0, 0, 0}, {10, 768, 102, 1280, 4096, 0, 0}, {136, 12336, 1799, 0, 0, 0, 0}, {136, 12360, 1800, 0, 0, 0, 0}, {10, 773, 102, 1285, 4150, 0, 0}, {10, 1280, 4192, 0, 0, 0, 0}, {783, 68, 1032, 0, 0, 0, 0}, {204, 768, 16384, 0, 0, 0, 0}, {10, 34, 514, 1285, 4112, 0, 0}, {10, 34, 68, 258, 0, 0, 0}, {3855, 12336, 16576, 0, 0, 0, 0}, {160, 3920, 4208, 0, 0, 0, 0}, {34, 797, 68, 1036, 4369, 0, 0}, {34, 1882, 4698, 0, 0, 0, 0}, {831, 108, 4140, 0, 0, 0, 0}, {40, 792, 68, 1036, 4120, 0, 0}, {170, 3925, 5503, 0, 0, 0, 0}, {816, 102, 5414, 0, 0, 0, 0}, {40, 1887, 4096, 0, 0, 0, 0}, {40, 1872, 4176, 0, 0, 0, 0}, {831, 102, 5397, 0, 0, 0, 0}, {170, 3930, 5418, 0, 0, 0, 0}, {40, 791, 68, 1036, 4108, 0, 0}, {816, 108, 4112, 0, 0, 0, 0}, {34, 1877, 4608, 0, 0, 0, 0}, {34, 786, 68, 1036, 4352, 0, 0}, {160, 3935, 4128, 0, 0, 0, 0}, {160, 3840, 4160, 0, 0, 0, 0}, {34, 783, 68, 1024, 4369, 0, 0}, {34, 1792, 4680, 0, 0, 0, 0}, {783, 108, 4124, 0, 0, 0, 0}, {40, 768, 68, 1024, 4096, 0, 0}, {170, 3855, 5397, 0, 0, 0, 0}, {768, 102, 5418, 0, 0, 0, 0}, {40, 1807, 4120, 0, 0, 0, 0}, {40, 1792, 4168, 0, 0, 0, 0}, {783, 102, 5401, 0, 0, 0, 0}, {170, 3840, 5440, 0, 0, 0, 0}, {40, 783, 68, 1024, 4116, 0, 0}, {768, 108, 4128, 0, 0, 0, 0}, {34, 1807, 4626, 0, 0, 0, 0}, {34, 768, 68, 1024, 4352, 0, 0}, {160, 3855, 4112, 0, 0, 0, 0}, {4080, 12528, 16384, 0, 0, 0, 0}, {10, 34, 68, 277, 0, 0, 0}, {10, 34, 514, 1360, 4178, 0, 0}, {204, 831, 16396, 0, 0, 0, 0}, {816, 68, 1028, 0, 0, 0, 0}, {10, 1365, 4096, 0, 0, 0, 0}, {10, 816, 102, 1334, 4144, 0, 0}, {136, 12288, 1919, 0, 0, 0, 0}, {136, 12408, 1904, 0, 0, 0, 0}, {10, 821, 102, 1331, 4102, 0, 0}, {10, 1360, 4176, 0, 0, 0, 0}, {831, 68, 1028, 0, 0, 0, 0}, {204, 816, 16396, 0, 0, 0, 0}, {10, 34, 514, 1365, 4098, 0, 0}, {10, 34, 68, 272, 0, 0, 0}, {4095, 12288, 16384, 0, 0, 0, 0}, {20480, 0, 0, 0, 0, 0, 0}, {4, 17, 257, 0, 0, 0, 0}, {8, 34, 514, 20482, 0, 0, 0}, {12, 51, 771, 20483, 0, 0, 0}, {4, 4096, 0, 0, 0, 0, 0}, {85, 1285, 0, 0, 0, 0, 0}, {12, 12288, 102, 1542, 0, 0, 0}, {8, 8192, 119, 1799, 0, 0, 0}, {8, 8192, 20480, 0, 0, 0, 0}, {12, 51, 771, 85, 1285, 0, 0}, {170, 2570, 20490, 0, 0, 0, 0}, {51, 771, 4, 4099, 0, 0, 0}, {12, 12288, 20480, 0, 0, 0, 0}, {8, 34, 514, 85, 1285, 0, 0}, {34, 514, 4, 4098, 0, 0, 0}, {255, 3855, 20495, 0, 0, 0, 0}, {64, 4112, 0, 0, 0, 0, 0}, {1280, 17, 0, 0, 0, 0, 0}, {2560, 34, 72, 4626, 0, 0, 0}, {3840, 51, 76, 4883, 0, 0, 0}, {68, 5140, 0, 0, 0, 0, 0}, {1280, 21, 0, 0, 0, 0, 0}, {2560, 42, 76, 5654, 0, 0, 0}, {3840, 63, 72, 5911, 0, 0, 0}, {6168, 12336, 72, 0, 0, 0, 0}, {25, 51, 85, 1280, 4864, 0, 0}, {2560, 42, 64, 4122, 0, 0, 0}, {3840, 51, 68, 5147, 0, 0, 0}, {7196, 8224, 76, 0, 0, 0, 0}, {29, 34, 85, 1280, 4608, 0, 0}, {2560, 34, 68, 5150, 0, 0, 0}, {3840, 63, 64, 4127, 0, 0, 0}, {128, 8224, 20512, 0, 0, 0, 0}, {12, 771, 1283, 17, 0, 0, 0}, {2560, 34, 20480, 0, 0, 0, 0}, {12, 51, 771, 64, 4112, 0, 0}, {12, 68, 5156, 0, 0, 0, 0}, {42, 85, 1295, 0, 0, 0, 0}, {12, 38, 64, 1536, 4096, 0, 0}, {3855, 10023, 119, 0, 0, 0, 0}, {136, 10280, 20520, 0, 0, 0, 0}, {12, 771, 1283, 21, 0, 0, 0}, {2560, 42, 20480, 0, 0, 0, 0}, {12, 51, 771, 68, 5140, 0, 0}, {12, 64, 4128, 0, 0, 0, 0}, {34, 85, 1295, 0, 0, 0, 0}, {12, 34, 68, 1536, 4608, 0, 0}, {3855, 8224, 127, 0, 0, 0, 0}, {192, 12336, 20528, 0, 0, 0, 0}, {8, 514, 1282, 17, 0, 0, 0}, {8, 34, 514, 64, 4112, 0, 0}, {3840, 51, 20480, 0, 0, 0, 0}, {8, 68, 5172, 0, 0, 0, 0}, {63, 85, 1290, 0, 0, 0, 0}, {2570, 13878, 102, 0, 0, 0, 0}, {8, 55, 64, 1792, 4096, 0, 0}, {8, 64, 4144, 0, 0, 0, 0}, {51, 85, 1290, 0, 0, 0, 0}, {2570, 12336, 106, 0, 0, 0, 0}, {8, 51, 68, 1792, 4864, 0, 0}, {204, 15420, 20540, 0, 0, 0, 0}, {8, 514, 1282, 21, 0, 0, 0}, {8, 34, 514, 68, 5140, 0, 0}, {3840, 63, 20480, 0, 0, 0, 0}, {64, 4096, 0, 0, 0, 0, 0}, {1285, 17, 0, 0, 0, 0, 0}, {2570, 34, 72, 4608, 0, 0, 0}, {3855, 51, 76, 4864, 0, 0, 0}, {68, 5120, 0, 0, 0, 0, 0}, {1285, 21, 0, 0, 0, 0, 0}, {2570, 42, 76, 5632, 0, 0, 0}, {3855, 63, 72, 5888, 0, 0, 0}, {6144, 12288, 72, 0, 0, 0, 0}, {25, 51, 85, 1285, 4883, 0, 0}, {2570, 42, 64, 4106, 0, 0, 0}, {3855, 51, 68, 5135, 0, 0, 0}, {7168, 8192, 76, 0, 0, 0, 0}, {29, 34, 85, 1285, 4626, 0, 0}, {2570, 34, 68, 5130, 0, 0, 0}, {3855, 63, 64, 4111, 0, 0, 0}, {20560, 0, 0, 0, 0, 0, 0}, {4, 17, 256, 0, 0, 0, 0}, {8, 34, 512, 20562, 0, 0, 0}, {12, 51, 768, 20563, 0, 0, 0}, {4, 4112, 0, 0, 0, 0, 0}, {85, 1280, 0, 0, 0, 0, 0}, {12, 12336, 102, 1536, 0, 0, 0}, {8, 8224, 119, 1792, 0, 0, 0}, {8, 8224, 20560, 0, 0, 0, 0}, {12, 51, 768, 85, 1280, 0, 0}, {170, 2560, 20570, 0, 0, 0, 0}, {51, 768, 4, 4115, 0, 0, 0}, {12, 12336, 20560, 0, 0, 0, 0}, {8, 34, 512, 85, 1280, 0, 0}, {34, 512, 4, 4114, 0, 0, 0}, {255, 3840, 20575, 0, 0, 0, 0}, {192, 12288, 20576, 0, 0, 0, 0}, {8, 512, 1287, 17, 0, 0, 0}, {8, 34, 512, 64, 4096, 0, 0}, {3855, 51, 20560, 0, 0, 0, 0}, {8, 68, 5152, 0, 0, 0, 0}, {63, 85, 1295, 0, 0, 0, 0}, {2560, 13824, 102, 0, 0, 0, 0}, {8, 55, 64, 1799, 4112, 0, 0}, {8, 64, 4128, 0, 0, 0, 0}, {51, 85, 1295, 0, 0, 0, 0}, {2560, 12288, 106, 0, 0, 0, 0}, {8, 51, 68, 1799, 4883, 0, 0}, {204, 15360, 20588, 0, 0, 0, 0}, {8, 512, 1287, 21, 0, 0, 0}, {8, 34, 512, 68, 5120, 0, 0}, {3855, 63, 20560, 0, 0, 0, 0}, {128, 8192, 20592, 0, 0, 0, 0}, {12, 768, 1286, 17, 0, 0, 0}, {2570, 34, 20560, 0, 0, 0, 0}, {12, 51, 768, 64, 4096, 0, 0}, {12, 68, 5168, 0, 0, 0, 0}, {42, 85, 1290, 0, 0, 0, 0}, {12, 38, 64, 1542, 4112, 0, 0}, {3840, 9984, 119, 0, 0, 0, 0}, {136, 10240, 20600, 0, 0, 0, 0}, {12, 768, 1286, 21, 0, 0, 0}, {2570, 42, 20560, 0, 0, 0, 0}, {12, 51, 768, 68, 5120, 0, 0}, {12, 64, 4144, 0, 0, 0, 0}, {34, 85, 1290, 0, 0, 0, 0}, {12, 34, 68, 1542, 4626, 0, 0}, {3840, 8192, 127, 0, 0, 0, 0}, {128, 8192, 20480, 0, 0, 0, 0}, {12, 771, 1285, 17, 0, 0, 0}, {2570, 34, 20490, 0, 0, 0, 0}, {12, 51, 771, 64, 4099, 0, 0}, {12, 68, 5120, 0, 0, 0, 0}, {42, 85, 1285, 0, 0, 0, 0}, {12, 38, 64, 1542, 4102, 0, 0}, {3855, 9999, 119, 0, 0, 0, 0}, {136, 10240, 20480, 0, 0, 0, 0}, {12, 771, 1285, 21, 0, 0, 0}, {2570, 42, 20490, 0, 0, 0, 0}, {12, 51, 771, 68, 5123, 0, 0}, {12, 64, 4096, 0, 0, 0, 0}, {34, 85, 1285, 0, 0, 0, 0}, {12, 34, 68, 1542, 4608, 0, 0}, {3855, 8192, 127, 0, 0, 0, 0}, {192, 12336, 20560, 0, 0, 0, 0}, {8, 512, 1280, 17, 0, 0, 0}, {8, 34, 512, 64, 4114, 0, 0}, {3840, 51, 20575, 0, 0, 0, 0}, {8, 68, 5140, 0, 0, 0, 0}, {63, 85, 1280, 0, 0, 0, 0}, {2560, 13884, 102, 0, 0, 0, 0}, {8, 55, 64, 1792, 4119, 0, 0}, {8, 64, 4112, 0, 0, 0, 0}, {51, 85, 1280, 0, 0, 0, 0}, {2560, 12336, 106, 0, 0, 0, 0}, {8, 51, 68, 1792, 4883, 0, 0}, {204, 15420, 20560, 0, 0, 0, 0}, {8, 512, 1280, 21, 0, 0, 0}, {8, 34, 512, 68, 5142, 0, 0}, {3840, 63, 20575, 0, 0, 0, 0}, {20640, 0, 0, 0, 0, 0, 0}, {4, 17, 259, 0, 0, 0, 0}, {8, 34, 512, 20480, 0, 0, 0}, {12, 51, 771, 20560, 0, 0, 0}, {4, 4128, 0, 0, 0, 0, 0}, {85, 1295, 0, 0, 0, 0, 0}, {12, 12288, 102, 1536, 0, 0, 0}, {8, 8224, 119, 1799, 0, 0, 0}, {8, 8224, 20512, 0, 0, 0, 0}, {12, 51, 771, 85, 1283, 0, 0}, {170, 2560, 20480, 0, 0, 0, 0}, {51, 771, 4, 4112, 0, 0, 0}, {12, 12288, 20576, 0, 0, 0, 0}, {8, 34, 512, 85, 1287, 0, 0}, {34, 512, 4, 4096, 0, 0, 0}, {255, 3855, 20560, 0, 0, 0, 0}, {64, 4144, 0, 0, 0, 0, 0}, {1290, 17, 0, 0, 0, 0, 0}, {2570, 34, 72, 4626, 0, 0, 0}, {3840, 51, 76, 4864, 0, 0, 0}, {68, 5180, 0, 0, 0, 0, 0}, {1290, 21, 0, 0, 0, 0, 0}, {2570, 42, 76, 5654, 0, 0, 0}, {3840, 63, 72, 5888, 0, 0, 0}, {6192, 12336, 72, 0, 0, 0, 0}, {25, 51, 85, 1299, 4883, 0, 0}, {2570, 42, 64, 4112, 0, 0, 0}, {3840, 51, 68, 5120, 0, 0, 0}, {7228, 8192, 76, 0, 0, 0, 0}, {29, 34, 85, 1303, 4608, 0, 0}, {2570, 34, 68, 5140, 0, 0, 0}, {3840, 63, 64, 4096, 0, 0, 0}, {192, 12288, 20480, 0, 0, 0, 0}, {8, 514, 1285, 17, 0, 0, 0}, {8, 34, 514, 64, 4098, 0, 0}, {3855, 51, 20495, 0, 0, 0, 0}, {8, 68, 5120, 0, 0, 0, 0}, {63, 85, 1285, 0, 0, 0, 0}, {2570, 13834, 102, 0, 0, 0, 0}, {8, 55, 64, 1799, 4103, 0, 0}, {8, 64, 4096, 0, 0, 0, 0}, {51, 85, 1285, 0, 0, 0, 0}, {2570, 12288, 106, 0, 0, 0, 0}, {8, 51, 68, 1799, 4864, 0, 0}, {204, 15360, 20480, 0, 0, 0, 0}, {8, 514, 1285, 21, 0, 0, 0}, {8, 34, 514, 68, 5122, 0, 0}, {3855, 63, 20495, 0, 0, 0, 0}, {128, 8224, 20560, 0, 0, 0, 0}, {12, 768, 1280, 17, 0, 0, 0}, {2560, 34, 20570, 0, 0, 0, 0}, {12, 51, 768, 64, 4115, 0, 0}, {12, 68, 5140, 0, 0, 0, 0}, {42, 85, 1280, 0, 0, 0, 0}, {12, 38, 64, 1536, 4118, 0, 0}, {3840, 10024, 119, 0, 0, 0, 0}, {136, 10280, 20560, 0, 0, 0, 0}, {12, 768, 1280, 21, 0, 0, 0}, {2560, 42, 20570, 0, 0, 0, 0}, {12, 51, 768, 68, 5143, 0, 0}, {12, 64, 4112, 0, 0, 0, 0}, {34, 85, 1280, 0, 0, 0, 0}, {12, 34, 68, 1536, 4626, 0, 0}, {3840, 8224, 127, 0, 0, 0, 0}, {64, 4128, 0, 0, 0, 0, 0}, {1295, 17, 0, 0, 0, 0, 0}, {2560, 34, 72, 4608, 0, 0, 0}, {3855, 51, 76, 4883, 0, 0, 0}, {68, 5160, 0, 0, 0, 0, 0}, {1295, 21, 0, 0, 0, 0, 0}, {2560, 42, 76, 5632, 0, 0, 0}, {3855, 63, 72, 5911, 0, 0, 0}, {6184, 12288, 72, 0, 0, 0, 0}, {25, 51, 85, 1302, 4864, 0, 0}, {2560, 42, 64, 4096, 0, 0, 0}, {3855, 51, 68, 5140, 0, 0, 0}, {7200, 8224, 76, 0, 0, 0, 0}, {29, 34, 85, 1298, 4626, 0, 0}, {2560, 34, 68, 5120, 0, 0, 0}, {3855, 63, 64, 4112, 0, 0, 0}, {20720, 0, 0, 0, 0, 0, 0}, {4, 17, 258, 0, 0, 0, 0}, {8, 34, 514, 20560, 0, 0, 0}, {12, 51, 768, 20480, 0, 0, 0}, {4, 4144, 0, 0, 0, 0, 0}, {85, 1290, 0, 0, 0, 0, 0}, {12, 12336, 102, 1542, 0, 0, 0}, {8, 8192, 119, 1792, 0, 0, 0}, {8, 8192, 20592, 0, 0, 0, 0}, {12, 51, 768, 85, 1286, 0, 0}, {170, 2570, 20560, 0, 0, 0, 0}, {51, 768, 4, 4096, 0, 0, 0}, {12, 12336, 20528, 0, 0, 0, 0}, {8, 34, 514, 85, 1282, 0, 0}, {34, 514, 4, 4112, 0, 0, 0}, {255, 3840, 20480, 0, 0, 0, 0}, {1024, 4352, 0, 0, 0, 0, 0}, {80, 257, 0, 0, 0, 0, 0}, {160, 514, 1032, 4386, 0, 0, 0}, {240, 771, 1036, 4403, 0, 0, 0}, {1028, 4420, 0, 0, 0, 0, 0}, {80, 261, 0, 0, 0, 0, 0}, {160, 522, 1036, 4454, 0, 0, 0}, {240, 783, 1032, 4471, 0, 0, 0}, {4488, 13056, 1032, 0, 0, 0, 0}, {265, 771, 80, 1285, 4144, 0, 0}, {160, 522, 1024, 4362, 0, 0, 0}, {240, 771, 1028, 4427, 0, 0, 0}, {4556, 8704, 1036, 0, 0, 0, 0}, {269, 514, 80, 1285, 4128, 0, 0}, {160, 514, 1028, 4430, 0, 0, 0}, {240, 783, 1024, 4367, 0, 0, 0}, {80, 272, 0, 0, 0, 0, 0}, {1092, 4369, 0, 0, 0, 0, 0}, {240, 816, 1096, 4386, 0, 0, 0}, {160, 544, 1100, 4403, 0, 0, 0}, {80, 276, 0, 0, 0, 0, 0}, {1088, 4437, 0, 0, 0, 0, 0}, {240, 828, 1100, 4454, 0, 0, 0}, {160, 552, 1096, 4471, 0, 0, 0}, {280, 816, 80, 1280, 4144, 0, 0}, {4505, 13107, 1100, 0, 0, 0, 0}, {240, 816, 1088, 4442, 0, 0, 0}, {160, 552, 1092, 4379, 0, 0, 0}, {284, 544, 80, 1280, 4128, 0, 0}, {4573, 8738, 1096, 0, 0, 0, 0}, {240, 828, 1092, 4382, 0, 0, 0}, {160, 544, 1088, 4447, 0, 0, 0}, {160, 544, 1056, 4352, 0, 0, 0}, {240, 771, 1140, 4369, 0, 0, 0}, {1160, 3072, 4386, 0, 0, 0, 0}, {291, 771, 80, 1295, 4112, 0, 0}, {160, 552, 1060, 4420, 0, 0, 0}, {240, 783, 1136, 4437, 0, 0, 0}, {1164, 3084, 4454, 0, 0, 0, 0}, {295, 783, 80, 1295, 4096, 0, 0}, {160, 552, 1064, 4392, 0, 0, 0}, {240, 771, 1148, 4457, 0, 0, 0}, {1152, 3072, 5418, 0, 0, 0, 0}, {299, 771, 80, 1295, 4379, 0, 0}, {160, 544, 1068, 4460, 0, 0, 0}, {240, 783, 1144, 4397, 0, 0, 0}, {1156, 3084, 5482, 0, 0, 0, 0}, {303, 783, 80, 1295, 4367, 0, 0}, {240, 816, 1072, 4352, 0, 0, 0}, {160, 514, 1124, 4369, 0, 0, 0}, {306, 514, 80, 1290, 4112, 0, 0}, {1228, 2048, 4403, 0, 0, 0, 0}, {240, 828, 1076, 4420, 0, 0, 0}, {160, 522, 1120, 4437, 0, 0, 0}, {310, 522, 80, 1290, 4096, 0, 0}, {1224, 2056, 4471, 0, 0, 0, 0}, {240, 816, 1080, 4472, 0, 0, 0}, {160, 522, 1132, 4409, 0, 0, 0}, {314, 522, 80, 1290, 4362, 0, 0}, {1220, 2056, 5503, 0, 0, 0, 0}, {240, 828, 1084, 4412, 0, 0, 0}, {160, 514, 1128, 4477, 0, 0, 0}, {318, 514, 80, 1290, 4382, 0, 0}, {1216, 2048, 5439, 0, 0, 0, 0}, {1088, 4352, 0, 0, 0, 0, 0}, {80, 273, 0, 0, 0, 0, 0}, {160, 546, 1096, 4386, 0, 0, 0}, {240, 819, 1100, 4403, 0, 0, 0}, {1092, 4420, 0, 0, 0, 0, 0}, {80, 277, 0, 0, 0, 0, 0}, {160, 554, 1100, 4454, 0, 0, 0}, {240, 831, 1096, 4471, 0, 0, 0}, {4488, 13056, 1096, 0, 0, 0, 0}, {281, 819, 80, 1285, 4128, 0, 0}, {160, 554, 1088, 4362, 0, 0, 0}, {240, 819, 1092, 4427, 0, 0, 0}, {4556, 8704, 1100, 0, 0, 0, 0}, {285, 546, 80, 1285, 4144, 0, 0}, {160, 546, 1092, 4430, 0, 0, 0}, {240, 831, 1088, 4367, 0, 0, 0}, {80, 256, 0, 0, 0, 0, 0}, {1028, 4369, 0, 0, 0, 0, 0}, {240, 768, 1032, 4386, 0, 0, 0}, {160, 512, 1036, 4403, 0, 0, 0}, {80, 260, 0, 0, 0, 0, 0}, {1024, 4437, 0, 0, 0, 0, 0}, {240, 780, 1036, 4454, 0, 0, 0}, {160, 520, 1032, 4471, 0, 0, 0}, {264, 768, 80, 1280, 4128, 0, 0}, {4505, 13107, 1036, 0, 0, 0, 0}, {240, 768, 1024, 4442, 0, 0, 0}, {160, 520, 1028, 4379, 0, 0, 0}, {268, 512, 80, 1280, 4144, 0, 0}, {4573, 8738, 1032, 0, 0, 0, 0}, {240, 780, 1028, 4382, 0, 0, 0}, {160, 512, 1024, 4447, 0, 0, 0}, {160, 512, 1120, 4352, 0, 0, 0}, {240, 819, 1076, 4369, 0, 0, 0}, {1224, 2056, 4386, 0, 0, 0, 0}, {307, 512, 80, 1295, 4096, 0, 0}, {160, 520, 1124, 4420, 0, 0, 0}, {240, 831, 1072, 4437, 0, 0, 0}, {1228, 2048, 4454, 0, 0, 0, 0}, {311, 520, 80, 1295, 4112, 0, 0}, {160, 520, 1128, 4392, 0, 0, 0}, {240, 819, 1084, 4457, 0, 0, 0}, {1216, 2048, 5482, 0, 0, 0, 0}, {315, 520, 80, 1295, 4379, 0, 0}, {160, 512, 1132, 4460, 0, 0, 0}, {240, 831, 1080, 4397, 0, 0, 0}, {1220, 2056, 5418, 0, 0, 0, 0}, {319, 512, 80, 1295, 4367, 0, 0}, {240, 768, 1136, 4352, 0, 0, 0}, {160, 546, 1060, 4369, 0, 0, 0}, {290, 768, 80, 1290, 4096, 0, 0}, {1164, 3084, 4403, 0, 0, 0, 0}, {240, 780, 1140, 4420, 0, 0, 0}, {160, 554, 1056, 4437, 0, 0, 0}, {294, 780, 80, 1290, 4112, 0, 0}, {1160, 3072, 4471, 0, 0, 0, 0}, {240, 768, 1144, 4472, 0, 0, 0}, {160, 554, 1068, 4409, 0, 0, 0}, {298, 768, 80, 1290, 4362, 0, 0}, {1156, 3084, 5439, 0, 0, 0, 0}, {240, 780, 1148, 4412, 0, 0, 0}, {160, 546, 1064, 4477, 0, 0, 0}, {302, 780, 80, 1290, 4382, 0, 0}, {1152, 3072, 5503, 0, 0, 0, 0}, {1152, 3072, 4352, 0, 0, 0, 0}, {289, 771, 80, 1285, 4369, 0, 0}, {160, 546, 1064, 4386, 0, 0, 0}, {240, 771, 1148, 4403, 0, 0, 0}, {1156, 3084, 4420, 0, 0, 0, 0}, {293, 783, 80, 1285, 4357, 0, 0}, {160, 554, 1068, 4454, 0, 0, 0}, {240, 783, 1144, 4471, 0, 0, 0}, {1160, 3072, 5376, 0, 0, 0, 0}, {297, 771, 80, 1285, 4112, 0, 0}, {160, 554, 1056, 4362, 0, 0, 0}, {240, 771, 1140, 4427, 0, 0, 0}, {1164, 3084, 5440, 0, 0, 0, 0}, {301, 783, 80, 1285, 4096, 0, 0}, {160, 546, 1060, 4430, 0, 0, 0}, {240, 783, 1136, 4367, 0, 0, 0}, {304, 512, 80, 1280, 4352, 0, 0}, {1220, 2056, 4369, 0, 0, 0, 0}, {240, 816, 1080, 4386, 0, 0, 0}, {160, 512, 1132, 4403, 0, 0, 0}, {308, 520, 80, 1280, 4372, 0, 0}, {1216, 2048, 4437, 0, 0, 0, 0}, {240, 828, 1084, 4454, 0, 0, 0}, {160, 520, 1128, 4471, 0, 0, 0}, {312, 520, 80, 1280, 4112, 0, 0}, {1228, 2048, 5461, 0, 0, 0, 0}, {240, 816, 1072, 4442, 0, 0, 0}, {160, 520, 1124, 4379, 0, 0, 0}, {316, 512, 80, 1280, 4096, 0, 0}, {1224, 2056, 5397, 0, 0, 0, 0}, {240, 828, 1076, 4382, 0, 0, 0}, {160, 512, 1120, 4447, 0, 0, 0}, {160, 512, 1024, 4352, 0, 0, 0}, {240, 771, 1028, 4369, 0, 0, 0}, {1032, 4386, 0, 0, 0, 0, 0}, {80, 259, 0, 0, 0, 0, 0}, {160, 520, 1028, 4420, 0, 0, 0}, {240, 783, 1024, 4437, 0, 0, 0}, {1036, 4454, 0, 0, 0, 0, 0}, {80, 263, 0, 0, 0, 0, 0}, {160, 520, 1032, 4392, 0, 0, 0}, {240, 771, 1036, 4457, 0, 0, 0}, {4522, 13056, 1024, 0, 0, 0, 0}, {267, 771, 80, 1028, 4112, 0, 0}, {160, 512, 1036, 4460, 0, 0, 0}, {240, 783, 1032, 4397, 0, 0, 0}, {4590, 8738, 1028, 0, 0, 0, 0}, {271, 512, 80, 1024, 4096, 0, 0}, {240, 816, 1088, 4352, 0, 0, 0}, {160, 546, 1092, 4369, 0, 0, 0}, {80, 274, 0, 0, 0, 0, 0}, {1100, 4403, 0, 0, 0, 0, 0}, {240, 828, 1092, 4420, 0, 0, 0}, {160, 554, 1088, 4437, 0, 0, 0}, {80, 278, 0, 0, 0, 0, 0}, {1096, 4471, 0, 0, 0, 0, 0}, {240, 816, 1096, 4472, 0, 0, 0}, {160, 554, 1100, 4409, 0, 0, 0}, {282, 816, 80, 1040, 4112, 0, 0}, {4539, 13107, 1092, 0, 0, 0, 0}, {240, 828, 1100, 4412, 0, 0, 0}, {160, 546, 1096, 4477, 0, 0, 0}, {286, 546, 80, 1044, 4096, 0, 0}, {4607, 8704, 1088, 0, 0, 0, 0}, {1216, 2048, 4352, 0, 0, 0, 0}, {305, 514, 80, 1285, 4369, 0, 0}, {160, 514, 1128, 4386, 0, 0, 0}, {240, 819, 1084, 4403, 0, 0, 0}, {1220, 2056, 4420, 0, 0, 0, 0}, {309, 522, 80, 1285, 4357, 0, 0}, {160, 522, 1132, 4454, 0, 0, 0}, {240, 831, 1080, 4471, 0, 0, 0}, {1224, 2056, 5440, 0, 0, 0, 0}, {313, 522, 80, 1285, 4096, 0, 0}, {160, 522, 1120, 4362, 0, 0, 0}, {240, 819, 1076, 4427, 0, 0, 0}, {1228, 2048, 5376, 0, 0, 0, 0}, {317, 514, 80, 1285, 4112, 0, 0}, {160, 514, 1124, 4430, 0, 0, 0}, {240, 831, 1072, 4367, 0, 0, 0}, {288, 768, 80, 1280, 4352, 0, 0}, {1156, 3084, 4369, 0, 0, 0, 0}, {240, 768, 1144, 4386, 0, 0, 0}, {160, 544, 1068, 4403, 0, 0, 0}, {292, 780, 80, 1280, 4372, 0, 0}, {1152, 3072, 4437, 0, 0, 0, 0}, {240, 780, 1148, 4454, 0, 0, 0}, {160, 552, 1064, 4471, 0, 0, 0}, {296, 768, 80, 1280, 4096, 0, 0}, {1164, 3084, 5397, 0, 0, 0, 0}, {240, 768, 1136, 4442, 0, 0, 0}, {160, 552, 1060, 4379, 0, 0, 0}, {300, 780, 80, 1280, 4112, 0, 0}, {1160, 3072, 5461, 0, 0, 0, 0}, {240, 780, 1140, 4382, 0, 0, 0}, {160, 544, 1056, 4447, 0, 0, 0}, {160, 544, 1088, 4352, 0, 0, 0}, {240, 819, 1092, 4369, 0, 0, 0}, {1096, 4386, 0, 0, 0, 0, 0}, {80, 275, 0, 0, 0, 0, 0}, {160, 552, 1092, 4420, 0, 0, 0}, {240, 831, 1088, 4437, 0, 0, 0}, {1100, 4454, 0, 0, 0, 0, 0}, {80, 279, 0, 0, 0, 0, 0}, {160, 552, 1096, 4392, 0, 0, 0}, {240, 819, 1100, 4457, 0, 0, 0}, {4522, 13056, 1088, 0, 0, 0, 0}, {283, 819, 80, 1044, 4096, 0, 0}, {160, 544, 1100, 4460, 0, 0, 0}, {240, 831, 1096, 4397, 0, 0, 0}, {4590, 8738, 1092, 0, 0, 0, 0}, {287, 544, 80, 1040, 4112, 0, 0}, {240, 768, 1024, 4352, 0, 0, 0}, {160, 514, 1028, 4369, 0, 0, 0}, {80, 258, 0, 0, 0, 0, 0}, {1036, 4403, 0, 0, 0, 0, 0}, {240, 780, 1028, 4420, 0, 0, 0}, {160, 522, 1024, 4437, 0, 0, 0}, {80, 262, 0, 0, 0, 0, 0}, {1032, 4471, 0, 0, 0, 0, 0}, {240, 768, 1032, 4472, 0, 0, 0}, {160, 522, 1036, 4409, 0, 0, 0}, {266, 768, 80, 1024, 4096, 0, 0}, {4539, 13107, 1028, 0, 0, 0, 0}, {240, 780, 1036, 4412, 0, 0, 0}, {160, 514, 1032, 4477, 0, 0, 0}, {270, 514, 80, 1028, 4112, 0, 0}, {4607, 8704, 1024, 0, 0, 0, 0}, {2048, 8704, 20992, 0, 0, 0, 0}, {12, 51, 83, 257, 0, 0, 0}, {160, 514, 20480, 0, 0, 0, 0}, {12, 51, 771, 1024, 4352, 0, 0}, {12, 1028, 4676, 0, 0, 0, 0}, {522, 95, 1285, 0, 0, 0, 0}, {12, 518, 96, 1024, 4096, 0, 0}, {255, 8823, 1799, 0, 0, 0, 0}, {2056, 8840, 21000, 0, 0, 0, 0}, {12, 51, 83, 261, 0, 0, 0}, {160, 522, 20480, 0, 0, 0, 0}, {12, 51, 771, 1028, 4420, 0, 0}, {12, 1024, 4608, 0, 0, 0, 0}, {514, 95, 1285, 0, 0, 0, 0}, {12, 514, 96, 1028, 4128, 0, 0}, {255, 8704, 1807, 0, 0, 0, 0}, {544, 96, 4112, 0, 0, 0, 0}, {51, 1860, 4369, 0, 0, 0, 0}, {192, 2120, 4626, 0, 0, 0, 0}, {51, 531, 95, 1280, 4352, 0, 0}, {552, 108, 5140, 0, 0, 0, 0}, {63, 1856, 4693, 0, 0, 0, 0}, {204, 2124, 5654, 0, 0, 0, 0}, {63, 535, 95, 1280, 4096, 0, 0}, {552, 96, 4144, 0, 0, 0, 0}, {51, 1868, 4437, 0, 0, 0, 0}, {192, 2112, 4698, 0, 0, 0, 0}, {51, 539, 95, 1280, 4379, 0, 0}, {544, 108, 5180, 0, 0, 0, 0}, {63, 1864, 4637, 0, 0, 0, 0}, {204, 2116, 5722, 0, 0, 0, 0}, {63, 543, 95, 1280, 4127, 0, 0}, {160, 544, 20480, 0, 0, 0, 0}, {12, 51, 771, 1092, 4369, 0, 0}, {2184, 8738, 21026, 0, 0, 0, 0}, {12, 51, 83, 272, 0, 0, 0}, {12, 548, 96, 1060, 4096, 0, 0}, {255, 8789, 1904, 0, 0, 0, 0}, {12, 1088, 4710, 0, 0, 0, 0}, {552, 95, 1295, 0, 0, 0, 0}, {160, 552, 20480, 0, 0, 0, 0}, {12, 51, 771, 1088, 4437, 0, 0}, {2176, 8874, 21034, 0, 0, 0, 0}, {12, 51, 83, 276, 0, 0, 0}, {12, 544, 96, 1056, 4128, 0, 0}, {255, 8738, 1912, 0, 0, 0, 0}, {12, 1092, 4642, 0, 0, 0, 0}, {544, 95, 1295, 0, 0, 0, 0}, {192, 2048, 4656, 0, 0, 0, 0}, {51, 514, 95, 1290, 4369, 0, 0}, {514, 96, 4112, 0, 0, 0, 0}, {51, 1792, 4352, 0, 0, 0, 0}, {204, 2056, 5744, 0, 0, 0, 0}, {63, 522, 95, 1290, 4096, 0, 0}, {522, 108, 5180, 0, 0, 0, 0}, {63, 1800, 4680, 0, 0, 0, 0}, {192, 2056, 4728, 0, 0, 0, 0}, {51, 522, 95, 1290, 4362, 0, 0}, {522, 96, 4144, 0, 0, 0, 0}, {51, 1800, 4420, 0, 0, 0, 0}, {204, 2048, 5692, 0, 0, 0, 0}, {63, 514, 95, 1290, 4127, 0, 0}, {514, 108, 5140, 0, 0, 0, 0}, {63, 1792, 4608, 0, 0, 0, 0}, {192, 2112, 4608, 0, 0, 0, 0}, {51, 529, 95, 1285, 4369, 0, 0}, {546, 96, 4096, 0, 0, 0, 0}, {51, 1859, 4352, 0, 0, 0, 0}, {204, 2116, 5632, 0, 0, 0, 0}, {63, 533, 95, 1285, 4112, 0, 0}, {554, 108, 5120, 0, 0, 0, 0}, {63, 1863, 4679, 0, 0, 0, 0}, {192, 2120, 4680, 0, 0, 0, 0}, {51, 537, 95, 1285, 4362, 0, 0}, {554, 96, 4128, 0, 0, 0, 0}, {51, 1867, 4420, 0, 0, 0, 0}, {204, 2124, 5708, 0, 0, 0, 0}, {63, 541, 95, 1285, 4111, 0, 0}, {546, 108, 5160, 0, 0, 0, 0}, {63, 1871, 4623, 0, 0, 0, 0}, {160, 512, 20560, 0, 0, 0, 0}, {12, 51, 768, 1028, 4369, 0, 0}, {2056, 8738, 21074, 0, 0, 0, 0}, {12, 51, 83, 256, 0, 0, 0}, {12, 516, 96, 1028, 4112, 0, 0}, {255, 8789, 1792, 0, 0, 0, 0}, {12, 1024, 4694, 0, 0, 0, 0}, {520, 95, 1280, 0, 0, 0, 0}, {160, 520, 20560, 0, 0, 0, 0}, {12, 51, 768, 1024, 4437, 0, 0}, {2048, 8874, 21082, 0, 0, 0, 0}, {12, 51, 83, 260, 0, 0, 0}, {12, 512, 96, 1024, 4144, 0, 0}, {255, 8738, 1800, 0, 0, 0, 0}, {12, 1028, 4626, 0, 0, 0, 0}, {512, 95, 1280, 0, 0, 0, 0}, {512, 96, 4096, 0, 0, 0, 0}, {51, 1799, 4369, 0, 0, 0, 0}, {192, 2056, 4642, 0, 0, 0, 0}, {51, 512, 95, 1295, 4352, 0, 0}, {520, 108, 5160, 0, 0, 0, 0}, {63, 1807, 4698, 0, 0, 0, 0}, {204, 2048, 5734, 0, 0, 0, 0}, {63, 520, 95, 1295, 4112, 0, 0}, {520, 96, 4128, 0, 0, 0, 0}, {51, 1807, 4437, 0, 0, 0, 0}, {192, 2048, 4714, 0, 0, 0, 0}, {51, 520, 95, 1295, 4379, 0, 0}, {512, 108, 5120, 0, 0, 0, 0}, {63, 1799, 4626, 0, 0, 0, 0}, {204, 2056, 5674, 0, 0, 0, 0}, {63, 512, 95, 1295, 4111, 0, 0}, {2176, 8704, 21104, 0, 0, 0, 0}, {12, 51, 83, 273, 0, 0, 0}, {160, 546, 20560, 0, 0, 0, 0}, {12, 51, 768, 1088, 4352, 0, 0}, {12, 1092, 4724, 0, 0, 0, 0}, {554, 95, 1290, 0, 0, 0, 0}, {12, 550, 96, 1056, 4112, 0, 0}, {255, 8823, 1911, 0, 0, 0, 0}, {2184, 8840, 21112, 0, 0, 0, 0}, {12, 51, 83, 277, 0, 0, 0}, {160, 554, 20560, 0, 0, 0, 0}, {12, 51, 768, 1092, 4420, 0, 0}, {12, 1088, 4656, 0, 0, 0, 0}, {546, 95, 1290, 0, 0, 0, 0}, {12, 546, 96, 1060, 4144, 0, 0}, {255, 8704, 1919, 0, 0, 0, 0}, {2176, 8704, 21120, 0, 0, 0, 0}, {12, 51, 83, 274, 0, 0, 0}, {160, 546, 20480, 0, 0, 0, 0}, {12, 51, 771, 1088, 4352, 0, 0}, {12, 1092, 4676, 0, 0, 0, 0}, {554, 95, 1285, 0, 0, 0, 0}, {12, 550, 96, 1056, 4128, 0, 0}, {255, 8823, 1912, 0, 0, 0, 0}, {2184, 8840, 21128, 0, 0, 0, 0}, {12, 51, 83, 278, 0, 0, 0}, {160, 554, 20480, 0, 0, 0, 0}, {12, 51, 771, 1092, 4420, 0, 0}, {12, 1088, 4608, 0, 0, 0, 0}, {546, 95, 1285, 0, 0, 0, 0}, {12, 546, 96, 1060, 4096, 0, 0}, {255, 8704, 1904, 0, 0, 0, 0}, {512, 96, 4144, 0, 0, 0, 0}, {51, 1800, 4369, 0, 0, 0, 0}, {192, 2056, 4626, 0, 0, 0, 0}, {51, 512, 95, 1280, 4352, 0, 0}, {520, 108, 5140, 0, 0, 0, 0}, {63, 1792, 4693, 0, 0, 0, 0}, {204, 2048, 5722, 0, 0, 0, 0}, {63, 520, 95, 1280, 4127, 0, 0}, {520, 96, 4112, 0, 0, 0, 0}, {51, 1792, 4437, 0, 0, 0, 0}, {192, 2048, 4698, 0, 0, 0, 0}, {51, 520, 95, 1280, 4379, 0, 0}, {512, 108, 5180, 0, 0, 0, 0}, {63, 1800, 4637, 0, 0, 0, 0}, {204, 2056, 5654, 0, 0, 0, 0}, {63, 512, 95, 1280, 4096, 0, 0}, {160, 512, 20480, 0, 0, 0, 0}, {12, 51, 771, 1028, 4369, 0, 0}, {2056, 8738, 21154, 0, 0, 0, 0}, {12, 51, 83, 259, 0, 0, 0}, {12, 516, 96, 1028, 4128, 0, 0}, {255, 8789, 1807, 0, 0, 0, 0}, {12, 1024, 4710, 0, 0, 0, 0}, {520, 95, 1295, 0, 0, 0, 0}, {160, 520, 20480, 0, 0, 0, 0}, {12, 51, 771, 1024, 4437, 0, 0}, {2048, 8874, 21162, 0, 0, 0, 0}, {12, 51, 83, 263, 0, 0, 0}, {12, 512, 96, 1024, 4096, 0, 0}, {255, 8738, 1799, 0, 0, 0, 0}, {12, 1028, 4642, 0, 0, 0, 0}, {512, 95, 1295, 0, 0, 0, 0}, {192, 2112, 4656, 0, 0, 0, 0}, {51, 529, 95, 1290, 4369, 0, 0}, {546, 96, 4144, 0, 0, 0, 0}, {51, 1868, 4352, 0, 0, 0, 0}, {204, 2116, 5692, 0, 0, 0, 0}, {63, 533, 95, 1290, 4127, 0, 0}, {554, 108, 5180, 0, 0, 0, 0}, {63, 1864, 4680, 0, 0, 0, 0}, {192, 2120, 4728, 0, 0, 0, 0}, {51, 537, 95, 1290, 4362, 0, 0}, {554, 96, 4112, 0, 0, 0, 0}, {51, 1860, 4420, 0, 0, 0, 0}, {204, 2124, 5744, 0, 0, 0, 0}, {63, 541, 95, 1290, 4096, 0, 0}, {546, 108, 5140, 0, 0, 0, 0}, {63, 1856, 4608, 0, 0, 0, 0}, {192, 2048, 4608, 0, 0, 0, 0}, {51, 514, 95, 1285, 4369, 0, 0}, {514, 96, 4128, 0, 0, 0, 0}, {51, 1807, 4352, 0, 0, 0, 0}, {204, 2056, 5708, 0, 0, 0, 0}, {63, 522, 95, 1285, 4111, 0, 0}, {522, 108, 5120, 0, 0, 0, 0}, {63, 1799, 4679, 0, 0, 0, 0}, {192, 2056, 4680, 0, 0, 0, 0}, {51, 522, 95, 1285, 4362, 0, 0}, {522, 96, 4096, 0, 0, 0, 0}, {51, 1799, 4420, 0, 0, 0, 0}, {204, 2048, 5632, 0, 0, 0, 0}, {63, 514, 95, 1285, 4112, 0, 0}, {514, 108, 5160, 0, 0, 0, 0}, {63, 1807, 4623, 0, 0, 0, 0}, {160, 544, 20560, 0, 0, 0, 0}, {12, 51, 768, 1092, 4369, 0, 0}, {2184, 8738, 21202, 0, 0, 0, 0}, {12, 51, 83, 275, 0, 0, 0}, {12, 548, 96, 1060, 4144, 0, 0}, {255, 8789, 1919, 0, 0, 0, 0}, {12, 1088, 4694, 0, 0, 0, 0}, {552, 95, 1280, 0, 0, 0, 0}, {160, 552, 20560, 0, 0, 0, 0}, {12, 51, 768, 1088, 4437, 0, 0}, {2176, 8874, 21210, 0, 0, 0, 0}, {12, 51, 83, 279, 0, 0, 0}, {12, 544, 96, 1056, 4112, 0, 0}, {255, 8738, 1911, 0, 0, 0, 0}, {12, 1092, 4626, 0, 0, 0, 0}, {544, 95, 1280, 0, 0, 0, 0}, {544, 96, 4128, 0, 0, 0, 0}, {51, 1867, 4369, 0, 0, 0, 0}, {192, 2120, 4642, 0, 0, 0, 0}, {51, 531, 95, 1295, 4352, 0, 0}, {552, 108, 5160, 0, 0, 0, 0}, {63, 1871, 4698, 0, 0, 0, 0}, {204, 2124, 5674, 0, 0, 0, 0}, {63, 535, 95, 1295, 4111, 0, 0}, {552, 96, 4096, 0, 0, 0, 0}, {51, 1859, 4437, 0, 0, 0, 0}, {192, 2112, 4714, 0, 0, 0, 0}, {51, 539, 95, 1295, 4379, 0, 0}, {544, 108, 5120, 0, 0, 0, 0}, {63, 1863, 4626, 0, 0, 0, 0}, {204, 2116, 5734, 0, 0, 0, 0}, {63, 543, 95, 1295, 4112, 0, 0}, {2048, 8704, 21232, 0, 0, 0, 0}, {12, 51, 83, 258, 0, 0, 0}, {160, 514, 20560, 0, 0, 0, 0}, {12, 51, 768, 1024, 4352, 0, 0}, {12, 1028, 4724, 0, 0, 0, 0}, {522, 95, 1290, 0, 0, 0, 0}, {12, 518, 96, 1024, 4144, 0, 0}, {255, 8823, 1800, 0, 0, 0, 0}, {2056, 8840, 21240, 0, 0, 0, 0}, {12, 51, 83, 262, 0, 0, 0}, {160, 522, 20560, 0, 0, 0, 0}, {12, 51, 768, 1028, 4420, 0, 0}, {12, 1024, 4656, 0, 0, 0, 0}, {514, 95, 1290, 0, 0, 0, 0}, {12, 514, 96, 1028, 4112, 0, 0}, {255, 8704, 1792, 0, 0, 0, 0}, {3072, 13056, 21248, 0, 0, 0, 0}, {8, 34, 82, 257, 0, 0, 0}, {8, 34, 514, 1024, 4352, 0, 0}, {240, 771, 20480, 0, 0, 0, 0}, {8, 1028, 4932, 0, 0, 0, 0}, {783, 90, 1285, 0, 0, 0, 0}, {170, 13158, 1542, 0, 0, 0, 0}, {8, 775, 112, 1024, 4096, 0, 0}, {8, 1024, 4864, 0, 0, 0, 0}, {771, 90, 1285, 0, 0, 0, 0}, {170, 13056, 1546, 0, 0, 0, 0}, {8, 771, 112, 1028, 4144, 0, 0}, {3084, 13260, 21260, 0, 0, 0, 0}, {8, 34, 82, 261, 0, 0, 0}, {8, 34, 514, 1028, 4420, 0, 0}, {240, 783, 20480, 0, 0, 0, 0}, {816, 112, 4112, 0, 0, 0, 0}, {34, 1604, 4369, 0, 0, 0, 0}, {34, 786, 90, 1280, 4352, 0, 0}, {128, 3148, 4883, 0, 0, 0, 0}, {828, 120, 5140, 0, 0, 0, 0}, {42, 1600, 4949, 0, 0, 0, 0}, {42, 790, 90, 1280, 4096, 0, 0}, {136, 3144, 5911, 0, 0, 0, 0}, {816, 120, 5160, 0, 0, 0, 0}, {42, 1612, 4889, 0, 0, 0, 0}, {42, 794, 90, 1280, 4122, 0, 0}, {136, 3140, 5983, 0, 0, 0, 0}, {828, 112, 4128, 0, 0, 0, 0}, {34, 1608, 4437, 0, 0, 0, 0}, {34, 798, 90, 1280, 4382, 0, 0}, {128, 3136, 4959, 0, 0, 0, 0}, {128, 3072, 4896, 0, 0, 0, 0}, {34, 771, 90, 1295, 4369, 0, 0}, {34, 1536, 4352, 0, 0, 0, 0}, {771, 112, 4112, 0, 0, 0, 0}, {136, 3084, 5984, 0, 0, 0, 0}, {42, 783, 90, 1295, 4096, 0, 0}, {42, 1548, 4940, 0, 0, 0, 0}, {783, 120, 5160, 0, 0, 0, 0}, {136, 3072, 5928, 0, 0, 0, 0}, {42, 771, 90, 1295, 4122, 0, 0}, {42, 1536, 4864, 0, 0, 0, 0}, {771, 120, 5140, 0, 0, 0, 0}, {128, 3084, 4972, 0, 0, 0, 0}, {34, 783, 90, 1295, 4367, 0, 0}, {34, 1548, 4420, 0, 0, 0, 0}, {783, 112, 4128, 0, 0, 0, 0}, {240, 816, 20480, 0, 0, 0, 0}, {8, 34, 514, 1092, 4369, 0, 0}, {8, 34, 82, 272, 0, 0, 0}, {3276, 13107, 21299, 0, 0, 0, 0}, {8, 820, 112, 1076, 4096, 0, 0}, {170, 13141, 1632, 0, 0, 0, 0}, {828, 90, 1290, 0, 0, 0, 0}, {8, 1088, 4983, 0, 0, 0, 0}, {8, 816, 112, 1072, 4144, 0, 0}, {170, 13107, 1644, 0, 0, 0, 0}, {816, 90, 1290, 0, 0, 0, 0}, {8, 1092, 4915, 0, 0, 0, 0}, {240, 828, 20480, 0, 0, 0, 0}, {8, 34, 514, 1088, 4437, 0, 0}, {8, 34, 82, 276, 0, 0, 0}, {3264, 13311, 21311, 0, 0, 0, 0}, {128, 3136, 4864, 0, 0, 0, 0}, {34, 785, 90, 1285, 4369, 0, 0}, {34, 1602, 4352, 0, 0, 0, 0}, {819, 112, 4096, 0, 0, 0, 0}, {136, 3140, 5888, 0, 0, 0, 0}, {42, 789, 90, 1285, 4112, 0, 0}, {42, 1606, 4934, 0, 0, 0, 0}, {831, 120, 5120, 0, 0, 0, 0}, {136, 3144, 5960, 0, 0, 0, 0}, {42, 793, 90, 1285, 4106, 0, 0}, {42, 1610, 4874, 0, 0, 0, 0}, {819, 120, 5180, 0, 0, 0, 0}, {128, 3148, 4940, 0, 0, 0, 0}, {34, 797, 90, 1285, 4367, 0, 0}, {34, 1614, 4420, 0, 0, 0, 0}, {831, 112, 4144, 0, 0, 0, 0}, {240, 768, 20560, 0, 0, 0, 0}, {8, 34, 512, 1028, 4369, 0, 0}, {8, 34, 82, 256, 0, 0, 0}, {3084, 13107, 21331, 0, 0, 0, 0}, {8, 772, 112, 1028, 4112, 0, 0}, {170, 13141, 1536, 0, 0, 0, 0}, {780, 90, 1280, 0, 0, 0, 0}, {8, 1024, 4951, 0, 0, 0, 0}, {8, 768, 112, 1024, 4128, 0, 0}, {170, 13107, 1548, 0, 0, 0, 0}, {768, 90, 1280, 0, 0, 0, 0}, {8, 1028, 4883, 0, 0, 0, 0}, {240, 780, 20560, 0, 0, 0, 0}, {8, 34, 512, 1024, 4437, 0, 0}, {8, 34, 82, 260, 0, 0, 0}, {3072, 13311, 21343, 0, 0, 0, 0}, {3264, 13056, 21344, 0, 0, 0, 0}, {8, 34, 82, 273, 0, 0, 0}, {8, 34, 512, 1088, 4352, 0, 0}, {240, 819, 20560, 0, 0, 0, 0}, {8, 1092, 4964, 0, 0, 0, 0}, {831, 90, 1295, 0, 0, 0, 0}, {170, 13158, 1638, 0, 0, 0, 0}, {8, 823, 112, 1072, 4112, 0, 0}, {8, 1088, 4896, 0, 0, 0, 0}, {819, 90, 1295, 0, 0, 0, 0}, {170, 13056, 1642, 0, 0, 0, 0}, {8, 819, 112, 1076, 4128, 0, 0}, {3276, 13260, 21356, 0, 0, 0, 0}, {8, 34, 82, 277, 0, 0, 0}, {8, 34, 512, 1092, 4420, 0, 0}, {240, 831, 20560, 0, 0, 0, 0}, {768, 112, 4096, 0, 0, 0, 0}, {34, 1542, 4369, 0, 0, 0, 0}, {34, 768, 90, 1290, 4352, 0, 0}, {128, 3084, 4915, 0, 0, 0, 0}, {780, 120, 5180, 0, 0, 0, 0}, {42, 1546, 4959, 0, 0, 0, 0}, {42, 780, 90, 1290, 4112, 0, 0}, {136, 3072, 6007, 0, 0, 0, 0}, {768, 120, 5120, 0, 0, 0, 0}, {42, 1542, 4883, 0, 0, 0, 0}, {42, 768, 90, 1290, 4106, 0, 0}, {136, 3084, 5951, 0, 0, 0, 0}, {780, 112, 4144, 0, 0, 0, 0}, {34, 1546, 4437, 0, 0, 0, 0}, {34, 780, 90, 1290, 4382, 0, 0}, {128, 3072, 4991, 0, 0, 0, 0}, {128, 3072, 4864, 0, 0, 0, 0}, {34, 771, 90, 1285, 4369, 0, 0}, {34, 1546, 4352, 0, 0, 0, 0}, {771, 112, 4144, 0, 0, 0, 0}, {136, 3084, 5960, 0, 0, 0, 0}, {42, 783, 90, 1285, 4106, 0, 0}, {42, 1542, 4934, 0, 0, 0, 0}, {783, 120, 5120, 0, 0, 0, 0}, {136, 3072, 5888, 0, 0, 0, 0}, {42, 771, 90, 1285, 4112, 0, 0}, {42, 1546, 4874, 0, 0, 0, 0}, {771, 120, 5180, 0, 0, 0, 0}, {128, 3084, 4940, 0, 0, 0, 0}, {34, 783, 90, 1285, 4367, 0, 0}, {34, 1542, 4420, 0, 0, 0, 0}, {783, 112, 4096, 0, 0, 0, 0}, {240, 816, 20560, 0, 0, 0, 0}, {8, 34, 512, 1092, 4369, 0, 0}, {8, 34, 82, 274, 0, 0, 0}, {3276, 13107, 21395, 0, 0, 0, 0}, {8, 820, 112, 1076, 4128, 0, 0}, {170, 13141, 1642, 0, 0, 0, 0}, {828, 90, 1280, 0, 0, 0, 0}, {8, 1088, 4951, 0, 0, 0, 0}, {8, 816, 112, 1072, 4112, 0, 0}, {170, 13107, 1638, 0, 0, 0, 0}, {816, 90, 1280, 0, 0, 0, 0}, {8, 1092, 4883, 0, 0, 0, 0}, {240, 828, 20560, 0, 0, 0, 0}, {8, 34, 512, 1088, 4437, 0, 0}, {8, 34, 82, 278, 0, 0, 0}, {3264, 13311, 21407, 0, 0, 0, 0}, {3072, 13056, 21408, 0, 0, 0, 0}, {8, 34, 82, 259, 0, 0, 0}, {8, 34, 512, 1024, 4352, 0, 0}, {240, 771, 20560, 0, 0, 0, 0}, {8, 1028, 4964, 0, 0, 0, 0}, {783, 90, 1295, 0, 0, 0, 0}, {170, 13158, 1548, 0, 0, 0, 0}, {8, 775, 112, 1024, 4128, 0, 0}, {8, 1024, 4896, 0, 0, 0, 0}, {771, 90, 1295, 0, 0, 0, 0}, {170, 13056, 1536, 0, 0, 0, 0}, {8, 771, 112, 1028, 4112, 0, 0}, {3084, 13260, 21420, 0, 0, 0, 0}, {8, 34, 82, 263, 0, 0, 0}, {8, 34, 512, 1028, 4420, 0, 0}, {240, 783, 20560, 0, 0, 0, 0}, {816, 112, 4144, 0, 0, 0, 0}, {34, 1614, 4369, 0, 0, 0, 0}, {34, 786, 90, 1290, 4352, 0, 0}, {128, 3148, 4915, 0, 0, 0, 0}, {828, 120, 5180, 0, 0, 0, 0}, {42, 1610, 4959, 0, 0, 0, 0}, {42, 790, 90, 1290, 4106, 0, 0}, {136, 3144, 5951, 0, 0, 0, 0}, {816, 120, 5120, 0, 0, 0, 0}, {42, 1606, 4883, 0, 0, 0, 0}, {42, 794, 90, 1290, 4112, 0, 0}, {136, 3140, 6007, 0, 0, 0, 0}, {828, 112, 4096, 0, 0, 0, 0}, {34, 1602, 4437, 0, 0, 0, 0}, {34, 798, 90, 1290, 4382, 0, 0}, {128, 3136, 4991, 0, 0, 0, 0}, {3264, 13056, 21440, 0, 0, 0, 0}, {8, 34, 82, 275, 0, 0, 0}, {8, 34, 514, 1088, 4352, 0, 0}, {240, 819, 20480, 0, 0, 0, 0}, {8, 1092, 4932, 0, 0, 0, 0}, {831, 90, 1285, 0, 0, 0, 0}, {170, 13158, 1644, 0, 0, 0, 0}, {8, 823, 112, 1072, 4144, 0, 0}, {8, 1088, 4864, 0, 0, 0, 0}, {819, 90, 1285, 0, 0, 0, 0}, {170, 13056, 1632, 0, 0, 0, 0}, {8, 819, 112, 1076, 4096, 0, 0}, {3276, 13260, 21452, 0, 0, 0, 0}, {8, 34, 82, 279, 0, 0, 0}, {8, 34, 514, 1092, 4420, 0, 0}, {240, 831, 20480, 0, 0, 0, 0}, {768, 112, 4128, 0, 0, 0, 0}, {34, 1548, 4369, 0, 0, 0, 0}, {34, 768, 90, 1280, 4352, 0, 0}, {128, 3084, 4883, 0, 0, 0, 0}, {780, 120, 5140, 0, 0, 0, 0}, {42, 1536, 4949, 0, 0, 0, 0}, {42, 780, 90, 1280, 4122, 0, 0}, {136, 3072, 5983, 0, 0, 0, 0}, {768, 120, 5160, 0, 0, 0, 0}, {42, 1548, 4889, 0, 0, 0, 0}, {42, 768, 90, 1280, 4096, 0, 0}, {136, 3084, 5911, 0, 0, 0, 0}, {780, 112, 4112, 0, 0, 0, 0}, {34, 1536, 4437, 0, 0, 0, 0}, {34, 780, 90, 1280, 4382, 0, 0}, {128, 3072, 4959, 0, 0, 0, 0}, {128, 3136, 4896, 0, 0, 0, 0}, {34, 785, 90, 1295, 4369, 0, 0}, {34, 1608, 4352, 0, 0, 0, 0}, {819, 112, 4128, 0, 0, 0, 0}, {136, 3140, 5928, 0, 0, 0, 0}, {42, 789, 90, 1295, 4122, 0, 0}, {42, 1612, 4940, 0, 0, 0, 0}, {831, 120, 5160, 0, 0, 0, 0}, {136, 3144, 5984, 0, 0, 0, 0}, {42, 793, 90, 1295, 4096, 0, 0}, {42, 1600, 4864, 0, 0, 0, 0}, {819, 120, 5140, 0, 0, 0, 0}, {128, 3148, 4972, 0, 0, 0, 0}, {34, 797, 90, 1295, 4367, 0, 0}, {34, 1604, 4420, 0, 0, 0, 0}, {831, 112, 4112, 0, 0, 0, 0}, {240, 768, 20480, 0, 0, 0, 0}, {8, 34, 514, 1028, 4369, 0, 0}, {8, 34, 82, 258, 0, 0, 0}, {3084, 13107, 21491, 0, 0, 0, 0}, {8, 772, 112, 1028, 4144, 0, 0}, {170, 13141, 1546, 0, 0, 0, 0}, {780, 90, 1290, 0, 0, 0, 0}, {8, 1024, 4983, 0, 0, 0, 0}, {8, 768, 112, 1024, 4096, 0, 0}, {170, 13107, 1542, 0, 0, 0, 0}, {768, 90, 1290, 0, 0, 0, 0}, {8, 1028, 4915, 0, 0, 0, 0}, {240, 780, 20480, 0, 0, 0, 0}, {8, 34, 514, 1024, 4437, 0, 0}, {8, 34, 82, 262, 0, 0, 0}, {3072, 13311, 21503, 0, 0, 0, 0}, {1024, 4096, 0, 0, 0, 0, 0}, {85, 257, 0, 0, 0, 0, 0}, {170, 514, 1032, 4128, 0, 0, 0}, {255, 771, 1036, 4144, 0, 0, 0}, {1028, 4160, 0, 0, 0, 0, 0}, {85, 261, 0, 0, 0, 0, 0}, {170, 522, 1036, 4192, 0, 0, 0}, {255, 783, 1032, 4208, 0, 0, 0}, {4224, 12288, 1032, 0, 0, 0, 0}, {265, 771, 85, 1285, 4403, 0, 0}, {170, 522, 1024, 4106, 0, 0, 0}, {255, 771, 1028, 4175, 0, 0, 0}, {4288, 8192, 1036, 0, 0, 0, 0}, {269, 514, 85, 1285, 4386, 0, 0}, {170, 514, 1028, 4170, 0, 0, 0}, {255, 783, 1024, 4111, 0, 0, 0}, {1088, 4112, 0, 0, 0, 0, 0}, {85, 273, 0, 0, 0, 0, 0}, {170, 546, 1096, 4144, 0, 0, 0}, {255, 819, 1100, 4128, 0, 0, 0}, {1092, 4176, 0, 0, 0, 0, 0}, {85, 277, 0, 0, 0, 0, 0}, {170, 554, 1100, 4208, 0, 0, 0}, {255, 831, 1096, 4192, 0, 0, 0}, {4240, 12336, 1096, 0, 0, 0, 0}, {281, 819, 85, 1280, 4403, 0, 0}, {170, 554, 1088, 4122, 0, 0, 0}, {255, 819, 1092, 4191, 0, 0, 0}, {4304, 8224, 1100, 0, 0, 0, 0}, {285, 546, 85, 1280, 4386, 0, 0}, {170, 546, 1092, 4186, 0, 0, 0}, {255, 831, 1088, 4127, 0, 0, 0}, {1152, 3072, 4128, 0, 0, 0, 0}, {289, 771, 85, 1295, 4369, 0, 0}, {170, 546, 1058, 4096, 0, 0, 0}, {255, 771, 1139, 4112, 0, 0, 0}, {1156, 3084, 4192, 0, 0, 0, 0}, {293, 783, 85, 1295, 4352, 0, 0}, {170, 554, 1062, 4160, 0, 0, 0}, {255, 783, 1143, 4176, 0, 0, 0}, {1160, 3072, 5160, 0, 0, 0, 0}, {297, 771, 85, 1295, 4122, 0, 0}, {170, 554, 1066, 4138, 0, 0, 0}, {255, 771, 1147, 4207, 0, 0, 0}, {1164, 3084, 5228, 0, 0, 0, 0}, {301, 783, 85, 1295, 4111, 0, 0}, {170, 546, 1070, 4202, 0, 0, 0}, {255, 783, 1151, 4143, 0, 0, 0}, {1216, 2048, 4144, 0, 0, 0, 0}, {305, 514, 85, 1290, 4369, 0, 0}, {170, 514, 1122, 4112, 0, 0, 0}, {255, 819, 1075, 4096, 0, 0, 0}, {1220, 2056, 4208, 0, 0, 0, 0}, {309, 522, 85, 1290, 4352, 0, 0}, {170, 522, 1126, 4176, 0, 0, 0}, {255, 831, 1079, 4160, 0, 0, 0}, {1224, 2056, 5240, 0, 0, 0, 0}, {313, 522, 85, 1290, 4106, 0, 0}, {170, 522, 1130, 4154, 0, 0, 0}, {255, 819, 1083, 4223, 0, 0, 0}, {1228, 2048, 5180, 0, 0, 0, 0}, {317, 514, 85, 1290, 4127, 0, 0}, {170, 514, 1134, 4218, 0, 0, 0}, {255, 831, 1087, 4159, 0, 0, 0}, {1088, 4160, 0, 0, 0, 0, 0}, {85, 276, 0, 0, 0, 0, 0}, {170, 552, 1096, 4192, 0, 0, 0}, {255, 828, 1100, 4208, 0, 0, 0}, {1092, 4096, 0, 0, 0, 0, 0}, {85, 272, 0, 0, 0, 0, 0}, {170, 544, 1100, 4128, 0, 0, 0}, {255, 816, 1096, 4144, 0, 0, 0}, {4288, 8192, 1096, 0, 0, 0, 0}, {284, 544, 85, 1285, 4403, 0, 0}, {170, 544, 1088, 4170, 0, 0, 0}, {255, 828, 1092, 4111, 0, 0, 0}, {4224, 12288, 1100, 0, 0, 0, 0}, {280, 816, 85, 1285, 4386, 0, 0}, {170, 552, 1092, 4106, 0, 0, 0}, {255, 816, 1088, 4175, 0, 0, 0}, {1024, 4176, 0, 0, 0, 0, 0}, {85, 260, 0, 0, 0, 0, 0}, {170, 520, 1032, 4208, 0, 0, 0}, {255, 780, 1036, 4192, 0, 0, 0}, {1028, 4112, 0, 0, 0, 0, 0}, {85, 256, 0, 0, 0, 0, 0}, {170, 512, 1036, 4144, 0, 0, 0}, {255, 768, 1032, 4128, 0, 0, 0}, {4304, 8224, 1032, 0, 0, 0, 0}, {268, 512, 85, 1280, 4403, 0, 0}, {170, 512, 1024, 4186, 0, 0, 0}, {255, 780, 1028, 4127, 0, 0, 0}, {4240, 12336, 1036, 0, 0, 0, 0}, {264, 768, 85, 1280, 4386, 0, 0}, {170, 520, 1028, 4122, 0, 0, 0}, {255, 768, 1024, 4191, 0, 0, 0}, {1216, 2048, 4192, 0, 0, 0, 0}, {308, 520, 85, 1295, 4369, 0, 0}, {170, 520, 1122, 4160, 0, 0, 0}, {255, 828, 1075, 4176, 0, 0, 0}, {1220, 2056, 4128, 0, 0, 0, 0}, {304, 512, 85, 1295, 4352, 0, 0}, {170, 512, 1126, 4096, 0, 0, 0}, {255, 816, 1079, 4112, 0, 0, 0}, {1224, 2056, 5160, 0, 0, 0, 0}, {316, 512, 85, 1295, 4111, 0, 0}, {170, 512, 1130, 4202, 0, 0, 0}, {255, 828, 1083, 4143, 0, 0, 0}, {1228, 2048, 5228, 0, 0, 0, 0}, {312, 520, 85, 1295, 4122, 0, 0}, {170, 520, 1134, 4138, 0, 0, 0}, {255, 816, 1087, 4207, 0, 0, 0}, {1152, 3072, 4208, 0, 0, 0, 0}, {292, 780, 85, 1290, 4369, 0, 0}, {170, 552, 1058, 4176, 0, 0, 0}, {255, 780, 1139, 4160, 0, 0, 0}, {1156, 3084, 4144, 0, 0, 0, 0}, {288, 768, 85, 1290, 4352, 0, 0}, {170, 544, 1062, 4112, 0, 0, 0}, {255, 768, 1143, 4096, 0, 0, 0}, {1160, 3072, 5240, 0, 0, 0, 0}, {300, 780, 85, 1290, 4127, 0, 0}, {170, 544, 1066, 4218, 0, 0, 0}, {255, 780, 1147, 4159, 0, 0, 0}, {1164, 3084, 5180, 0, 0, 0, 0}, {296, 768, 85, 1290, 4106, 0, 0}, {170, 552, 1070, 4154, 0, 0, 0}, {255, 768, 1151, 4223, 0, 0, 0}, {1152, 3072, 5120, 0, 0, 0, 0}, {299, 771, 85, 1285, 4369, 0, 0}, {170, 552, 1058, 4106, 0, 0, 0}, {255, 771, 1139, 4175, 0, 0, 0}, {1156, 3084, 5188, 0, 0, 0, 0}, {303, 783, 85, 1285, 4352, 0, 0}, {170, 544, 1062, 4170, 0, 0, 0}, {255, 783, 1143, 4111, 0, 0, 0}, {1160, 3072, 4096, 0, 0, 0, 0}, {291, 771, 85, 1285, 4112, 0, 0}, {170, 544, 1066, 4128, 0, 0, 0}, {255, 771, 1147, 4144, 0, 0, 0}, {1164, 3084, 4160, 0, 0, 0, 0}, {295, 783, 85, 1285, 4101, 0, 0}, {170, 552, 1070, 4192, 0, 0, 0}, {255, 783, 1151, 4208, 0, 0, 0}, {1216, 2048, 5200, 0, 0, 0, 0}, {315, 520, 85, 1280, 4369, 0, 0}, {170, 520, 1122, 4122, 0, 0, 0}, {255, 819, 1075, 4191, 0, 0, 0}, {1220, 2056, 5140, 0, 0, 0, 0}, {319, 512, 85, 1280, 4352, 0, 0}, {170, 512, 1126, 4186, 0, 0, 0}, {255, 831, 1079, 4127, 0, 0, 0}, {1224, 2056, 4112, 0, 0, 0, 0}, {307, 512, 85, 1280, 4096, 0, 0}, {170, 512, 1130, 4144, 0, 0, 0}, {255, 819, 1083, 4128, 0, 0, 0}, {1228, 2048, 4176, 0, 0, 0, 0}, {311, 520, 85, 1280, 4117, 0, 0}, {170, 520, 1134, 4208, 0, 0, 0}, {255, 831, 1087, 4192, 0, 0, 0}, {4256, 12288, 1024, 0, 0, 0, 0}, {267, 771, 85, 1028, 4369, 0, 0}, {170, 520, 1032, 4138, 0, 0, 0}, {255, 771, 1036, 4207, 0, 0, 0}, {4320, 8224, 1028, 0, 0, 0, 0}, {271, 512, 85, 1024, 4352, 0, 0}, {170, 512, 1036, 4202, 0, 0, 0}, {255, 783, 1032, 4143, 0, 0, 0}, {1032, 4128, 0, 0, 0, 0, 0}, {85, 259, 0, 0, 0, 0, 0}, {170, 512, 1024, 4096, 0, 0, 0}, {255, 771, 1028, 4112, 0, 0, 0}, {1036, 4192, 0, 0, 0, 0, 0}, {85, 263, 0, 0, 0, 0, 0}, {170, 520, 1028, 4160, 0, 0, 0}, {255, 783, 1024, 4176, 0, 0, 0}, {4272, 12336, 1088, 0, 0, 0, 0}, {283, 819, 85, 1041, 4369, 0, 0}, {170, 552, 1096, 4154, 0, 0, 0}, {255, 819, 1100, 4223, 0, 0, 0}, {4336, 8192, 1092, 0, 0, 0, 0}, {287, 544, 85, 1045, 4352, 0, 0}, {170, 544, 1100, 4218, 0, 0, 0}, {255, 831, 1096, 4159, 0, 0, 0}, {1096, 4144, 0, 0, 0, 0, 0}, {85, 275, 0, 0, 0, 0, 0}, {170, 544, 1088, 4112, 0, 0, 0}, {255, 819, 1092, 4096, 0, 0, 0}, {1100, 4208, 0, 0, 0, 0, 0}, {85, 279, 0, 0, 0, 0, 0}, {170, 552, 1092, 4176, 0, 0, 0}, {255, 831, 1088, 4160, 0, 0, 0}, {1216, 2048, 5120, 0, 0, 0, 0}, {318, 514, 85, 1285, 4369, 0, 0}, {170, 514, 1122, 4170, 0, 0, 0}, {255, 828, 1075, 4111, 0, 0, 0}, {1220, 2056, 5188, 0, 0, 0, 0}, {314, 522, 85, 1285, 4352, 0, 0}, {170, 522, 1126, 4106, 0, 0, 0}, {255, 816, 1079, 4175, 0, 0, 0}, {1224, 2056, 4160, 0, 0, 0, 0}, {310, 522, 85, 1285, 4101, 0, 0}, {170, 522, 1130, 4192, 0, 0, 0}, {255, 828, 1083, 4208, 0, 0, 0}, {1228, 2048, 4096, 0, 0, 0, 0}, {306, 514, 85, 1285, 4112, 0, 0}, {170, 514, 1134, 4128, 0, 0, 0}, {255, 816, 1087, 4144, 0, 0, 0}, {1152, 3072, 5200, 0, 0, 0, 0}, {302, 780, 85, 1280, 4369, 0, 0}, {170, 546, 1058, 4186, 0, 0, 0}, {255, 780, 1139, 4127, 0, 0, 0}, {1156, 3084, 5140, 0, 0, 0, 0}, {298, 768, 85, 1280, 4352, 0, 0}, {170, 554, 1062, 4122, 0, 0, 0}, {255, 768, 1143, 4191, 0, 0, 0}, {1160, 3072, 4176, 0, 0, 0, 0}, {294, 780, 85, 1280, 4117, 0, 0}, {170, 554, 1066, 4208, 0, 0, 0}, {255, 780, 1147, 4192, 0, 0, 0}, {1164, 3084, 4112, 0, 0, 0, 0}, {290, 768, 85, 1280, 4096, 0, 0}, {170, 546, 1070, 4144, 0, 0, 0}, {255, 768, 1151, 4128, 0, 0, 0}, {4320, 8224, 1088, 0, 0, 0, 0}, {286, 546, 85, 1041, 4369, 0, 0}, {170, 546, 1096, 4202, 0, 0, 0}, {255, 828, 1100, 4143, 0, 0, 0}, {4256, 12288, 1092, 0, 0, 0, 0}, {282, 816, 85, 1045, 4352, 0, 0}, {170, 554, 1100, 4138, 0, 0, 0}, {255, 816, 1096, 4207, 0, 0, 0}, {1096, 4192, 0, 0, 0, 0, 0}, {85, 278, 0, 0, 0, 0, 0}, {170, 554, 1088, 4160, 0, 0, 0}, {255, 828, 1092, 4176, 0, 0, 0}, {1100, 4128, 0, 0, 0, 0, 0}, {85, 274, 0, 0, 0, 0, 0}, {170, 546, 1092, 4096, 0, 0, 0}, {255, 816, 1088, 4112, 0, 0, 0}, {4336, 8192, 1024, 0, 0, 0, 0}, {270, 514, 85, 1028, 4369, 0, 0}, {170, 514, 1032, 4218, 0, 0, 0}, {255, 780, 1036, 4159, 0, 0, 0}, {4272, 12336, 1028, 0, 0, 0, 0}, {266, 768, 85, 1024, 4352, 0, 0}, {170, 522, 1036, 4154, 0, 0, 0}, {255, 768, 1032, 4223, 0, 0, 0}, {1032, 4208, 0, 0, 0, 0, 0}, {85, 262, 0, 0, 0, 0, 0}, {170, 522, 1024, 4176, 0, 0, 0}, {255, 780, 1028, 4160, 0, 0, 0}, {1036, 4144, 0, 0, 0, 0, 0}, {85, 258, 0, 0, 0, 0, 0}, {170, 514, 1028, 4112, 0, 0, 0}, {255, 768, 1024, 4096, 0, 0, 0}, {21760, 0, 0, 0, 0, 0, 0}, {4, 16, 257, 0, 0, 0, 0}, {8, 32, 514, 21762, 0, 0, 0}, {12, 48, 771, 21763, 0, 0, 0}, {4, 4352, 0, 0, 0, 0, 0}, {80, 1285, 0, 0, 0, 0, 0}, {12, 13056, 96, 1542, 0, 0, 0}, {8, 8704, 112, 1799, 0, 0, 0}, {8, 8704, 21760, 0, 0, 0, 0}, {12, 48, 771, 80, 1285, 0, 0}, {160, 2570, 21770, 0, 0, 0, 0}, {48, 771, 4, 4355, 0, 0, 0}, {12, 13056, 21760, 0, 0, 0, 0}, {8, 32, 514, 80, 1285, 0, 0}, {32, 514, 4, 4354, 0, 0, 0}, {240, 3855, 21775, 0, 0, 0, 0}, {1280, 16, 0, 0, 0, 0, 0}, {68, 4369, 0, 0, 0, 0, 0}, {3840, 48, 72, 4626, 0, 0, 0}, {2560, 32, 76, 4883, 0, 0, 0}, {1280, 20, 0, 0, 0, 0, 0}, {64, 5397, 0, 0, 0, 0, 0}, {3840, 60, 76, 5654, 0, 0, 0}, {2560, 40, 72, 5911, 0, 0, 0}, {24, 48, 80, 1280, 4608, 0, 0}, {6425, 13107, 76, 0, 0, 0, 0}, {3840, 48, 64, 5402, 0, 0, 0}, {2560, 40, 68, 4379, 0, 0, 0}, {28, 32, 80, 1280, 4864, 0, 0}, {7453, 8738, 72, 0, 0, 0, 0}, {3840, 60, 68, 4382, 0, 0, 0}, {2560, 32, 64, 5407, 0, 0, 0}, {2560, 32, 21760, 0, 0, 0, 0}, {12, 48, 771, 68, 4369, 0, 0}, {136, 8738, 21794, 0, 0, 0, 0}, {12, 771, 1283, 16, 0, 0, 0}, {12, 36, 68, 1536, 4352, 0, 0}, {3855, 9509, 112, 0, 0, 0, 0}, {12, 64, 5414, 0, 0, 0, 0}, {40, 80, 1295, 0, 0, 0, 0}, {2560, 40, 21760, 0, 0, 0, 0}, {12, 48, 771, 64, 5397, 0, 0}, {128, 10794, 21802, 0, 0, 0, 0}, {12, 771, 1283, 20, 0, 0, 0}, {12, 32, 64, 1536, 4864, 0, 0}, {3855, 8738, 120, 0, 0, 0, 0}, {12, 68, 4386, 0, 0, 0, 0}, {32, 80, 1295, 0, 0, 0, 0}, {3840, 48, 21760, 0, 0, 0, 0}, {8, 32, 514, 68, 4369, 0, 0}, {8, 514, 1282, 16, 0, 0, 0}, {204, 13107, 21811, 0, 0, 0, 0}, {8, 52, 68, 1792, 4352, 0, 0}, {2570, 13621, 96, 0, 0, 0, 0}, {60, 80, 1290, 0, 0, 0, 0}, {8, 64, 5431, 0, 0, 0, 0}, {8, 48, 64, 1792, 4608, 0, 0}, {2570, 13107, 108, 0, 0, 0, 0}, {48, 80, 1290, 0, 0, 0, 0}, {8, 68, 4403, 0, 0, 0, 0}, {3840, 60, 21760, 0, 0, 0, 0}, {8, 32, 514, 64, 5397, 0, 0}, {8, 514, 1282, 20, 0, 0, 0}, {192, 16191, 21823, 0, 0, 0, 0}, {64, 5376, 0, 0, 0, 0, 0}, {1285, 20, 0, 0, 0, 0, 0}, {2570, 40, 72, 5888, 0, 0, 0}, {3855, 60, 76, 5632, 0, 0, 0}, {68, 4352, 0, 0, 0, 0, 0}, {1285, 16, 0, 0, 0, 0, 0}, {2570, 32, 76, 4864, 0, 0, 0}, {3855, 48, 72, 4608, 0, 0, 0}, {7424, 8704, 72, 0, 0, 0, 0}, {28, 32, 80, 1285, 4883, 0, 0}, {2570, 32, 64, 5386, 0, 0, 0}, {3855, 60, 68, 4367, 0, 0, 0}, {6400, 13056, 76, 0, 0, 0, 0}, {24, 48, 80, 1285, 4626, 0, 0}, {2570, 40, 68, 4362, 0, 0, 0}, {3855, 48, 64, 5391, 0, 0, 0}, {80, 1280, 0, 0, 0, 0, 0}, {4, 4369, 0, 0, 0, 0, 0}, {8, 8738, 112, 1792, 0, 0, 0}, {12, 13107, 96, 1536, 0, 0, 0}, {4, 16, 256, 0, 0, 0, 0}, {21845, 0, 0, 0, 0, 0, 0}, {12, 48, 768, 21846, 0, 0, 0}, {8, 32, 512, 21847, 0, 0, 0}, {8, 32, 512, 80, 1280, 0, 0}, {12, 13107, 21845, 0, 0, 0, 0}, {240, 3840, 21850, 0, 0, 0, 0}, {32, 512, 4, 4371, 0, 0, 0}, {12, 48, 768, 80, 1280, 0, 0}, {8, 8738, 21845, 0, 0, 0, 0}, {48, 768, 4, 4370, 0, 0, 0}, {160, 2560, 21855, 0, 0, 0, 0}, {2560, 13568, 96, 0, 0, 0, 0}, {8, 52, 68, 1799, 4369, 0, 0}, {8, 64, 5410, 0, 0, 0, 0}, {60, 80, 1295, 0, 0, 0, 0}, {8, 32, 512, 68, 4352, 0, 0}, {3855, 48, 21845, 0, 0, 0, 0}, {204, 13056, 21862, 0, 0, 0, 0}, {8, 512, 1287, 16, 0, 0, 0}, {8, 32, 512, 64, 5376, 0, 0}, {3855, 60, 21845, 0, 0, 0, 0}, {192, 16128, 21866, 0, 0, 0, 0}, {8, 512, 1287, 20, 0, 0, 0}, {2560, 13056, 108, 0, 0, 0, 0}, {8, 48, 64, 1799, 4626, 0, 0}, {8, 68, 4386, 0, 0, 0, 0}, {48, 80, 1295, 0, 0, 0, 0}, {3840, 9472, 112, 0, 0, 0, 0}, {12, 36, 68, 1542, 4369, 0, 0}, {40, 80, 1290, 0, 0, 0, 0}, {12, 64, 5427, 0, 0, 0, 0}, {12, 48, 768, 68, 4352, 0, 0}, {2570, 32, 21845, 0, 0, 0, 0}, {12, 768, 1286, 16, 0, 0, 0}, {136, 8704, 21879, 0, 0, 0, 0}, {3840, 8704, 120, 0, 0, 0, 0}, {12, 32, 64, 1542, 4883, 0, 0}, {32, 80, 1290, 0, 0, 0, 0}, {12, 68, 4403, 0, 0, 0, 0}, {12, 48, 768, 64, 5376, 0, 0}, {2570, 40, 21845, 0, 0, 0, 0}, {12, 768, 1286, 20, 0, 0, 0}, {128, 10752, 21887, 0, 0, 0, 0}, {128, 10752, 21760, 0, 0, 0, 0}, {12, 771, 1285, 20, 0, 0, 0}, {2570, 40, 21770, 0, 0, 0, 0}, {12, 48, 771, 64, 5379, 0, 0}, {12, 68, 4352, 0, 0, 0, 0}, {32, 80, 1285, 0, 0, 0, 0}, {12, 32, 64, 1542, 4864, 0, 0}, {3855, 8704, 120, 0, 0, 0, 0}, {136, 8704, 21760, 0, 0, 0, 0}, {12, 771, 1285, 16, 0, 0, 0}, {2570, 32, 21770, 0, 0, 0, 0}, {12, 48, 771, 68, 4355, 0, 0}, {12, 64, 5376, 0, 0, 0, 0}, {40, 80, 1285, 0, 0, 0, 0}, {12, 36, 68, 1542, 4358, 0, 0}, {3855, 9487, 112, 0, 0, 0, 0}, {48, 80, 1280, 0, 0, 0, 0}, {8, 68, 4369, 0, 0, 0, 0}, {8, 48, 64, 1792, 4626, 0, 0}, {2560, 13107, 108, 0, 0, 0, 0}, {8, 512, 1280, 20, 0, 0, 0}, {192, 16191, 21845, 0, 0, 0, 0}, {3840, 60, 21850, 0, 0, 0, 0}, {8, 32, 512, 64, 5399, 0, 0}, {8, 512, 1280, 16, 0, 0, 0}, {204, 13107, 21845, 0, 0, 0, 0}, {3840, 48, 21850, 0, 0, 0, 0}, {8, 32, 512, 68, 4371, 0, 0}, {60, 80, 1280, 0, 0, 0, 0}, {8, 64, 5397, 0, 0, 0, 0}, {8, 52, 68, 1792, 4374, 0, 0}, {2560, 13631, 96, 0, 0, 0, 0}, {160, 2560, 21760, 0, 0, 0, 0}, {48, 771, 4, 4369, 0, 0, 0}, {8, 8738, 21794, 0, 0, 0, 0}, {12, 48, 771, 80, 1283, 0, 0}, {32, 512, 4, 4352, 0, 0, 0}, {240, 3855, 21845, 0, 0, 0, 0}, {12, 13056, 21862, 0, 0, 0, 0}, {8, 32, 512, 80, 1287, 0, 0}, {8, 32, 512, 21760, 0, 0, 0}, {12, 48, 771, 21845, 0, 0, 0}, {21930, 0, 0, 0, 0, 0, 0}, {4, 16, 259, 0, 0, 0, 0}, {12, 13056, 96, 1536, 0, 0, 0}, {8, 8738, 112, 1799, 0, 0, 0}, {4, 4386, 0, 0, 0, 0, 0}, {80, 1295, 0, 0, 0, 0, 0}, {3840, 48, 64, 5376, 0, 0, 0}, {2570, 40, 68, 4369, 0, 0, 0}, {24, 48, 80, 1298, 4626, 0, 0}, {6451, 13107, 76, 0, 0, 0, 0}, {3840, 60, 68, 4352, 0, 0, 0}, {2570, 32, 64, 5397, 0, 0, 0}, {28, 32, 80, 1302, 4864, 0, 0}, {7487, 8704, 72, 0, 0, 0, 0}, {3840, 48, 72, 4608, 0, 0, 0}, {2570, 32, 76, 4883, 0, 0, 0}, {1290, 16, 0, 0, 0, 0, 0}, {68, 4403, 0, 0, 0, 0, 0}, {3840, 60, 76, 5632, 0, 0, 0}, {2570, 40, 72, 5911, 0, 0, 0}, {1290, 20, 0, 0, 0, 0, 0}, {64, 5439, 0, 0, 0, 0, 0}, {192, 16128, 21760, 0, 0, 0, 0}, {8, 514, 1285, 20, 0, 0, 0}, {8, 32, 514, 64, 5378, 0, 0}, {3855, 60, 21775, 0, 0, 0, 0}, {8, 68, 4352, 0, 0, 0, 0}, {48, 80, 1285, 0, 0, 0, 0}, {2570, 13056, 108, 0, 0, 0, 0}, {8, 48, 64, 1799, 4608, 0, 0}, {8, 64, 5376, 0, 0, 0, 0}, {60, 80, 1285, 0, 0, 0, 0}, {2570, 13578, 96, 0, 0, 0, 0}, {8, 52, 68, 1799, 4359, 0, 0}, {204, 13056, 21760, 0, 0, 0, 0}, {8, 514, 1285, 16, 0, 0, 0}, {8, 32, 514, 68, 4354, 0, 0}, {3855, 48, 21775, 0, 0, 0, 0}, {32, 80, 1280, 0, 0, 0, 0}, {12, 68, 4369, 0, 0, 0, 0}, {3840, 8738, 120, 0, 0, 0, 0}, {12, 32, 64, 1536, 4883, 0, 0}, {12, 768, 1280, 20, 0, 0, 0}, {128, 10794, 21845, 0, 0, 0, 0}, {12, 48, 768, 64, 5398, 0, 0}, {2560, 40, 21855, 0, 0, 0, 0}, {40, 80, 1280, 0, 0, 0, 0}, {12, 64, 5397, 0, 0, 0, 0}, {3840, 9514, 112, 0, 0, 0, 0}, {12, 36, 68, 1536, 4375, 0, 0}, {12, 768, 1280, 16, 0, 0, 0}, {136, 8738, 21845, 0, 0, 0, 0}, {12, 48, 768, 68, 4370, 0, 0}, {2560, 32, 21855, 0, 0, 0, 0}, {2560, 32, 64, 5376, 0, 0, 0}, {3855, 60, 68, 4369, 0, 0, 0}, {7458, 8738, 72, 0, 0, 0, 0}, {28, 32, 80, 1299, 4883, 0, 0}, {2560, 40, 68, 4352, 0, 0, 0}, {3855, 48, 64, 5397, 0, 0, 0}, {6442, 13056, 76, 0, 0, 0, 0}, {24, 48, 80, 1303, 4608, 0, 0}, {2560, 40, 72, 5888, 0, 0, 0}, {3855, 60, 76, 5654, 0, 0, 0}, {64, 5418, 0, 0, 0, 0, 0}, {1295, 20, 0, 0, 0, 0, 0}, {2560, 32, 76, 4864, 0, 0, 0}, {3855, 48, 72, 4626, 0, 0, 0}, {68, 4386, 0, 0, 0, 0, 0}, {1295, 16, 0, 0, 0, 0, 0}, {240, 3840, 21760, 0, 0, 0, 0}, {32, 514, 4, 4369, 0, 0, 0}, {8, 32, 514, 80, 1282, 0, 0}, {12, 13107, 21811, 0, 0, 0, 0}, {48, 768, 4, 4352, 0, 0, 0}, {160, 2570, 21845, 0, 0, 0, 0}, {12, 48, 768, 80, 1286, 0, 0}, {8, 8704, 21879, 0, 0, 0, 0}, {8, 8704, 112, 1792, 0, 0, 0}, {12, 13107, 96, 1542, 0, 0, 0}, {80, 1290, 0, 0, 0, 0, 0}, {4, 4403, 0, 0, 0, 0, 0}, {12, 48, 768, 21760, 0, 0, 0}, {8, 32, 514, 21845, 0, 0, 0}, {4, 16, 258, 0, 0, 0, 0}, {22015, 0, 0, 0, 0, 0, 0}, {3072, 12288, 22016, 0, 0, 0, 0}, {8, 32, 87, 257, 0, 0, 0}, {8, 32, 514, 1024, 4096, 0, 0}, {255, 771, 21760, 0, 0, 0, 0}, {8, 1028, 4672, 0, 0, 0, 0}, {783, 95, 1285, 0, 0, 0, 0}, {160, 12384, 1542, 0, 0, 0, 0}, {8, 775, 119, 1024, 4352, 0, 0}, {8, 1024, 4608, 0, 0, 0, 0}, {771, 95, 1285, 0, 0, 0, 0}, {160, 12288, 1546, 0, 0, 0, 0}, {8, 771, 119, 1028, 4403, 0, 0}, {3084, 12480, 22028, 0, 0, 0, 0}, {8, 32, 87, 261, 0, 0, 0}, {8, 32, 514, 1028, 4160, 0, 0}, {255, 783, 21760, 0, 0, 0, 0}, {32, 1600, 4112, 0, 0, 0, 0}, {819, 119, 4369, 0, 0, 0, 0}, {136, 3144, 4626, 0, 0, 0, 0}, {32, 787, 95, 1280, 4096, 0, 0}, {40, 1604, 4688, 0, 0, 0, 0}, {831, 127, 5397, 0, 0, 0, 0}, {128, 3148, 5654, 0, 0, 0, 0}, {40, 791, 95, 1280, 4352, 0, 0}, {40, 1608, 4632, 0, 0, 0, 0}, {819, 127, 5418, 0, 0, 0, 0}, {128, 3136, 5722, 0, 0, 0, 0}, {40, 795, 95, 1280, 4379, 0, 0}, {32, 1612, 4176, 0, 0, 0, 0}, {831, 119, 4386, 0, 0, 0, 0}, {136, 3140, 4698, 0, 0, 0, 0}, {32, 799, 95, 1280, 4127, 0, 0}, {32, 1536, 4096, 0, 0, 0, 0}, {771, 119, 4369, 0, 0, 0, 0}, {136, 3072, 4642, 0, 0, 0, 0}, {32, 771, 95, 1295, 4112, 0, 0}, {40, 1548, 4680, 0, 0, 0, 0}, {783, 127, 5418, 0, 0, 0, 0}, {128, 3084, 5734, 0, 0, 0, 0}, {40, 783, 95, 1295, 4352, 0, 0}, {40, 1536, 4608, 0, 0, 0, 0}, {771, 127, 5397, 0, 0, 0, 0}, {128, 3072, 5674, 0, 0, 0, 0}, {40, 771, 95, 1295, 4379, 0, 0}, {32, 1548, 4160, 0, 0, 0, 0}, {783, 119, 4386, 0, 0, 0, 0}, {136, 3084, 4714, 0, 0, 0, 0}, {32, 783, 95, 1295, 4111, 0, 0}, {3264, 12336, 22064, 0, 0, 0, 0}, {8, 32, 87, 273, 0, 0, 0}, {8, 32, 514, 1088, 4112, 0, 0}, {255, 819, 21760, 0, 0, 0, 0}, {8, 1092, 4720, 0, 0, 0, 0}, {831, 95, 1290, 0, 0, 0, 0}, {160, 12368, 1638, 0, 0, 0, 0}, {8, 823, 119, 1079, 4352, 0, 0}, {8, 1088, 4656, 0, 0, 0, 0}, {819, 95, 1290, 0, 0, 0, 0}, {160, 12336, 1642, 0, 0, 0, 0}, {8, 819, 119, 1075, 4403, 0, 0}, {3276, 12528, 22076, 0, 0, 0, 0}, {8, 32, 87, 277, 0, 0, 0}, {8, 32, 514, 1092, 4176, 0, 0}, {255, 831, 21760, 0, 0, 0, 0}, {128, 3136, 5632, 0, 0, 0, 0}, {40, 788, 95, 1285, 4369, 0, 0}, {40, 1602, 4674, 0, 0, 0, 0}, {828, 127, 5376, 0, 0, 0, 0}, {136, 3140, 4608, 0, 0, 0, 0}, {32, 784, 95, 1285, 4112, 0, 0}, {32, 1606, 4096, 0, 0, 0, 0}, {816, 119, 4352, 0, 0, 0, 0}, {136, 3144, 4680, 0, 0, 0, 0}, {32, 796, 95, 1285, 4111, 0, 0}, {32, 1610, 4160, 0, 0, 0, 0}, {828, 119, 4403, 0, 0, 0, 0}, {128, 3148, 5708, 0, 0, 0, 0}, {40, 792, 95, 1285, 4362, 0, 0}, {40, 1614, 4618, 0, 0, 0, 0}, {816, 127, 5439, 0, 0, 0, 0}, {160, 12368, 1536, 0, 0, 0, 0}, {8, 772, 119, 1028, 4369, 0, 0}, {8, 1024, 4690, 0, 0, 0, 0}, {780, 95, 1280, 0, 0, 0, 0}, {8, 32, 512, 1028, 4112, 0, 0}, {255, 768, 21845, 0, 0, 0, 0}, {3084, 12336, 22102, 0, 0, 0, 0}, {8, 32, 87, 256, 0, 0, 0}, {8, 32, 512, 1024, 4176, 0, 0}, {255, 780, 21845, 0, 0, 0, 0}, {3072, 12528, 22106, 0, 0, 0, 0}, {8, 32, 87, 260, 0, 0, 0}, {160, 12336, 1548, 0, 0, 0, 0}, {8, 768, 119, 1024, 4386, 0, 0}, {8, 1028, 4626, 0, 0, 0, 0}, {768, 95, 1280, 0, 0, 0, 0}, {160, 12384, 1632, 0, 0, 0, 0}, {8, 820, 119, 1075, 4369, 0, 0}, {8, 1088, 4706, 0, 0, 0, 0}, {828, 95, 1295, 0, 0, 0, 0}, {8, 32, 512, 1092, 4096, 0, 0}, {255, 816, 21845, 0, 0, 0, 0}, {3276, 12288, 22118, 0, 0, 0, 0}, {8, 32, 87, 272, 0, 0, 0}, {8, 32, 512, 1088, 4160, 0, 0}, {255, 828, 21845, 0, 0, 0, 0}, {3264, 12480, 22122, 0, 0, 0, 0}, {8, 32, 87, 276, 0, 0, 0}, {160, 12288, 1644, 0, 0, 0, 0}, {8, 816, 119, 1079, 4386, 0, 0}, {8, 1092, 4642, 0, 0, 0, 0}, {816, 95, 1295, 0, 0, 0, 0}, {128, 3072, 5744, 0, 0, 0, 0}, {40, 780, 95, 1290, 4369, 0, 0}, {40, 1546, 4698, 0, 0, 0, 0}, {780, 127, 5439, 0, 0, 0, 0}, {136, 3084, 4656, 0, 0, 0, 0}, {32, 768, 95, 1290, 4096, 0, 0}, {32, 1542, 4112, 0, 0, 0, 0}, {768, 119, 4352, 0, 0, 0, 0}, {136, 3072, 4728, 0, 0, 0, 0}, {32, 780, 95, 1290, 4127, 0, 0}, {32, 1546, 4176, 0, 0, 0, 0}, {780, 119, 4403, 0, 0, 0, 0}, {128, 3084, 5692, 0, 0, 0, 0}, {40, 768, 95, 1290, 4362, 0, 0}, {40, 1542, 4626, 0, 0, 0, 0}, {768, 127, 5376, 0, 0, 0, 0}, {128, 3072, 5632, 0, 0, 0, 0}, {40, 771, 95, 1285, 4369, 0, 0}, {40, 1546, 4618, 0, 0, 0, 0}, {771, 127, 5439, 0, 0, 0, 0}, {136, 3084, 4680, 0, 0, 0, 0}, {32, 783, 95, 1285, 4111, 0, 0}, {32, 1542, 4160, 0, 0, 0, 0}, {783, 119, 4352, 0, 0, 0, 0}, {136, 3072, 4608, 0, 0, 0, 0}, {32, 771, 95, 1285, 4112, 0, 0}, {32, 1546, 4096, 0, 0, 0, 0}, {771, 119, 4403, 0, 0, 0, 0}, {128, 3084, 5708, 0, 0, 0, 0}, {40, 783, 95, 1285, 4362, 0, 0}, {40, 1542, 4674, 0, 0, 0, 0}, {783, 127, 5376, 0, 0, 0, 0}, {160, 12336, 1632, 0, 0, 0, 0}, {8, 819, 119, 1075, 4369, 0, 0}, {8, 1088, 4626, 0, 0, 0, 0}, {819, 95, 1280, 0, 0, 0, 0}, {8, 32, 512, 1092, 4176, 0, 0}, {255, 831, 21845, 0, 0, 0, 0}, {3276, 12528, 22166, 0, 0, 0, 0}, {8, 32, 87, 279, 0, 0, 0}, {8, 32, 512, 1088, 4112, 0, 0}, {255, 819, 21845, 0, 0, 0, 0}, {3264, 12336, 22170, 0, 0, 0, 0}, {8, 32, 87, 275, 0, 0, 0}, {160, 12368, 1644, 0, 0, 0, 0}, {8, 823, 119, 1079, 4386, 0, 0}, {8, 1092, 4690, 0, 0, 0, 0}, {831, 95, 1280, 0, 0, 0, 0}, {160, 12288, 1536, 0, 0, 0, 0}, {8, 771, 119, 1028, 4369, 0, 0}, {8, 1024, 4642, 0, 0, 0, 0}, {771, 95, 1295, 0, 0, 0, 0}, {8, 32, 512, 1028, 4160, 0, 0}, {255, 783, 21845, 0, 0, 0, 0}, {3084, 12480, 22182, 0, 0, 0, 0}, {8, 32, 87, 263, 0, 0, 0}, {8, 32, 512, 1024, 4096, 0, 0}, {255, 771, 21845, 0, 0, 0, 0}, {3072, 12288, 22186, 0, 0, 0, 0}, {8, 32, 87, 259, 0, 0, 0}, {160, 12384, 1548, 0, 0, 0, 0}, {8, 775, 119, 1024, 4386, 0, 0}, {8, 1028, 4706, 0, 0, 0, 0}, {783, 95, 1295, 0, 0, 0, 0}, {128, 3136, 5744, 0, 0, 0, 0}, {40, 795, 95, 1290, 4369, 0, 0}, {40, 1602, 4626, 0, 0, 0, 0}, {819, 127, 5376, 0, 0, 0, 0}, {136, 3140, 4728, 0, 0, 0, 0}, {32, 799, 95, 1290, 4127, 0, 0}, {32, 1606, 4176, 0, 0, 0, 0}, {831, 119, 4352, 0, 0, 0, 0}, {136, 3144, 4656, 0, 0, 0, 0}, {32, 787, 95, 1290, 4096, 0, 0}, {32, 1610, 4112, 0, 0, 0, 0}, {819, 119, 4403, 0, 0, 0, 0}, {128, 3148, 5692, 0, 0, 0, 0}, {40, 791, 95, 1290, 4362, 0, 0}, {40, 1614, 4698, 0, 0, 0, 0}, {831, 127, 5439, 0, 0, 0, 0}, {3264, 12480, 22208, 0, 0, 0, 0}, {8, 32, 87, 278, 0, 0, 0}, {8, 32, 514, 1088, 4160, 0, 0}, {255, 828, 21760, 0, 0, 0, 0}, {8, 1092, 4608, 0, 0, 0, 0}, {816, 95, 1285, 0, 0, 0, 0}, {160, 12288, 1638, 0, 0, 0, 0}, {8, 816, 119, 1079, 4352, 0, 0}, {8, 1088, 4672, 0, 0, 0, 0}, {828, 95, 1285, 0, 0, 0, 0}, {160, 12384, 1642, 0, 0, 0, 0}, {8, 820, 119, 1075, 4403, 0, 0}, {3276, 12288, 22220, 0, 0, 0, 0}, {8, 32, 87, 274, 0, 0, 0}, {8, 32, 514, 1092, 4096, 0, 0}, {255, 816, 21760, 0, 0, 0, 0}, {32, 1536, 4176, 0, 0, 0, 0}, {780, 119, 4369, 0, 0, 0, 0}, {136, 3072, 4698, 0, 0, 0, 0}, {32, 780, 95, 1280, 4127, 0, 0}, {40, 1548, 4632, 0, 0, 0, 0}, {768, 127, 5418, 0, 0, 0, 0}, {128, 3084, 5654, 0, 0, 0, 0}, {40, 768, 95, 1280, 4352, 0, 0}, {40, 1536, 4688, 0, 0, 0, 0}, {780, 127, 5397, 0, 0, 0, 0}, {128, 3072, 5722, 0, 0, 0, 0}, {40, 780, 95, 1280, 4379, 0, 0}, {32, 1548, 4112, 0, 0, 0, 0}, {768, 119, 4386, 0, 0, 0, 0}, {136, 3084, 4626, 0, 0, 0, 0}, {32, 768, 95, 1280, 4096, 0, 0}, {32, 1600, 4160, 0, 0, 0, 0}, {828, 119, 4369, 0, 0, 0, 0}, {136, 3144, 4714, 0, 0, 0, 0}, {32, 796, 95, 1295, 4111, 0, 0}, {40, 1604, 4608, 0, 0, 0, 0}, {816, 127, 5397, 0, 0, 0, 0}, {128, 3148, 5734, 0, 0, 0, 0}, {40, 792, 95, 1295, 4352, 0, 0}, {40, 1608, 4680, 0, 0, 0, 0}, {828, 127, 5418, 0, 0, 0, 0}, {128, 3136, 5674, 0, 0, 0, 0}, {40, 788, 95, 1295, 4379, 0, 0}, {32, 1612, 4096, 0, 0, 0, 0}, {816, 119, 4386, 0, 0, 0, 0}, {136, 3140, 4642, 0, 0, 0, 0}, {32, 784, 95, 1295, 4112, 0, 0}, {3072, 12528, 22256, 0, 0, 0, 0}, {8, 32, 87, 262, 0, 0, 0}, {8, 32, 514, 1024, 4176, 0, 0}, {255, 780, 21760, 0, 0, 0, 0}, {8, 1028, 4656, 0, 0, 0, 0}, {768, 95, 1290, 0, 0, 0, 0}, {160, 12336, 1542, 0, 0, 0, 0}, {8, 768, 119, 1024, 4352, 0, 0}, {8, 1024, 4720, 0, 0, 0, 0}, {780, 95, 1290, 0, 0, 0, 0}, {160, 12368, 1546, 0, 0, 0, 0}, {8, 772, 119, 1028, 4403, 0, 0}, {3084, 12336, 22268, 0, 0, 0, 0}, {8, 32, 87, 258, 0, 0, 0}, {8, 32, 514, 1028, 4112, 0, 0}, {255, 768, 21760, 0, 0, 0, 0}, {2048, 8192, 22272, 0, 0, 0, 0}, {12, 48, 86, 257, 0, 0, 0}, {170, 514, 21760, 0, 0, 0, 0}, {12, 48, 771, 1024, 4096, 0, 0}, {12, 1028, 4928, 0, 0, 0, 0}, {522, 90, 1285, 0, 0, 0, 0}, {12, 518, 102, 1024, 4352, 0, 0}, {240, 8304, 1799, 0, 0, 0, 0}, {2056, 8320, 22280, 0, 0, 0, 0}, {12, 48, 86, 261, 0, 0, 0}, {170, 522, 21760, 0, 0, 0, 0}, {12, 48, 771, 1028, 4160, 0, 0}, {12, 1024, 4864, 0, 0, 0, 0}, {514, 90, 1285, 0, 0, 0, 0}, {12, 514, 102, 1028, 4386, 0, 0}, {240, 8192, 1807, 0, 0, 0, 0}, {48, 1856, 4112, 0, 0, 0, 0}, {546, 102, 4369, 0, 0, 0, 0}, {48, 530, 90, 1280, 4096, 0, 0}, {204, 2124, 4883, 0, 0, 0, 0}, {60, 1860, 4944, 0, 0, 0, 0}, {554, 106, 5397, 0, 0, 0, 0}, {60, 534, 90, 1280, 4352, 0, 0}, {192, 2120, 5911, 0, 0, 0, 0}, {48, 1864, 4176, 0, 0, 0, 0}, {554, 102, 4403, 0, 0, 0, 0}, {48, 538, 90, 1280, 4122, 0, 0}, {204, 2116, 4959, 0, 0, 0, 0}, {60, 1868, 4892, 0, 0, 0, 0}, {546, 106, 5439, 0, 0, 0, 0}, {60, 542, 90, 1280, 4382, 0, 0}, {192, 2112, 5983, 0, 0, 0, 0}, {2176, 8224, 22304, 0, 0, 0, 0}, {12, 48, 86, 273, 0, 0, 0}, {170, 546, 21760, 0, 0, 0, 0}, {12, 48, 771, 1088, 4112, 0, 0}, {12, 1092, 4960, 0, 0, 0, 0}, {554, 90, 1295, 0, 0, 0, 0}, {12, 550, 102, 1062, 4352, 0, 0}, {240, 8272, 1911, 0, 0, 0, 0}, {2184, 8352, 22312, 0, 0, 0, 0}, {12, 48, 86, 277, 0, 0, 0}, {170, 554, 21760, 0, 0, 0, 0}, {12, 48, 771, 1092, 4176, 0, 0}, {12, 1088, 4896, 0, 0, 0, 0}, {546, 90, 1295, 0, 0, 0, 0}, {12, 546, 102, 1058, 4386, 0, 0}, {240, 8224, 1919, 0, 0, 0, 0}, {48, 1792, 4096, 0, 0, 0, 0}, {514, 102, 4369, 0, 0, 0, 0}, {48, 514, 90, 1290, 4112, 0, 0}, {204, 2048, 4915, 0, 0, 0, 0}, {60, 1800, 4940, 0, 0, 0, 0}, {522, 106, 5439, 0, 0, 0, 0}, {60, 522, 90, 1290, 4352, 0, 0}, {192, 2056, 6007, 0, 0, 0, 0}, {48, 1800, 4160, 0, 0, 0, 0}, {522, 102, 4403, 0, 0, 0, 0}, {48, 522, 90, 1290, 4106, 0, 0}, {204, 2056, 4991, 0, 0, 0, 0}, {60, 1792, 4864, 0, 0, 0, 0}, {514, 106, 5397, 0, 0, 0, 0}, {60, 514, 90, 1290, 4382, 0, 0}, {192, 2048, 5951, 0, 0, 0, 0}, {192, 2112, 5888, 0, 0, 0, 0}, {60, 532, 90, 1285, 4369, 0, 0}, {552, 106, 5376, 0, 0, 0, 0}, {60, 1859, 4931, 0, 0, 0, 0}, {204, 2116, 4864, 0, 0, 0, 0}, {48, 528, 90, 1285, 4112, 0, 0}, {544, 102, 4352, 0, 0, 0, 0}, {48, 1863, 4096, 0, 0, 0, 0}, {192, 2120, 5960, 0, 0, 0, 0}, {60, 540, 90, 1285, 4367, 0, 0}, {544, 106, 5418, 0, 0, 0, 0}, {60, 1867, 4879, 0, 0, 0, 0}, {204, 2124, 4940, 0, 0, 0, 0}, {48, 536, 90, 1285, 4106, 0, 0}, {552, 102, 4386, 0, 0, 0, 0}, {48, 1871, 4160, 0, 0, 0, 0}, {240, 8272, 1792, 0, 0, 0, 0}, {12, 516, 102, 1028, 4369, 0, 0}, {520, 90, 1280, 0, 0, 0, 0}, {12, 1024, 4947, 0, 0, 0, 0}, {12, 48, 768, 1028, 4112, 0, 0}, {170, 512, 21845, 0, 0, 0, 0}, {12, 48, 86, 256, 0, 0, 0}, {2056, 8224, 22359, 0, 0, 0, 0}, {240, 8224, 1800, 0, 0, 0, 0}, {12, 512, 102, 1024, 4403, 0, 0}, {512, 90, 1280, 0, 0, 0, 0}, {12, 1028, 4883, 0, 0, 0, 0}, {12, 48, 768, 1024, 4176, 0, 0}, {170, 520, 21845, 0, 0, 0, 0}, {12, 48, 86, 260, 0, 0, 0}, {2048, 8352, 22367, 0, 0, 0, 0}, {192, 2048, 5984, 0, 0, 0, 0}, {60, 520, 90, 1295, 4369, 0, 0}, {520, 106, 5418, 0, 0, 0, 0}, {60, 1807, 4959, 0, 0, 0, 0}, {204, 2056, 4896, 0, 0, 0, 0}, {48, 512, 90, 1295, 4096, 0, 0}, {512, 102, 4352, 0, 0, 0, 0}, {48, 1799, 4112, 0, 0, 0, 0}, {192, 2056, 5928, 0, 0, 0, 0}, {60, 512, 90, 1295, 4367, 0, 0}, {512, 106, 5376, 0, 0, 0, 0}, {60, 1799, 4883, 0, 0, 0, 0}, {204, 2048, 4972, 0, 0, 0, 0}, {48, 520, 90, 1295, 4122, 0, 0}, {520, 102, 4386, 0, 0, 0, 0}, {48, 1807, 4176, 0, 0, 0, 0}, {240, 8304, 1904, 0, 0, 0, 0}, {12, 548, 102, 1058, 4369, 0, 0}, {552, 90, 1290, 0, 0, 0, 0}, {12, 1088, 4979, 0, 0, 0, 0}, {12, 48, 768, 1092, 4096, 0, 0}, {170, 544, 21845, 0, 0, 0, 0}, {12, 48, 86, 272, 0, 0, 0}, {2184, 8192, 22391, 0, 0, 0, 0}, {240, 8192, 1912, 0, 0, 0, 0}, {12, 544, 102, 1062, 4403, 0, 0}, {544, 90, 1290, 0, 0, 0, 0}, {12, 1092, 4915, 0, 0, 0, 0}, {12, 48, 768, 1088, 4160, 0, 0}, {170, 552, 21845, 0, 0, 0, 0}, {12, 48, 86, 276, 0, 0, 0}, {2176, 8320, 22399, 0, 0, 0, 0}, {2176, 8320, 22400, 0, 0, 0, 0}, {12, 48, 86, 279, 0, 0, 0}, {170, 552, 21760, 0, 0, 0, 0}, {12, 48, 771, 1088, 4160, 0, 0}, {12, 1092, 4864, 0, 0, 0, 0}, {544, 90, 1285, 0, 0, 0, 0}, {12, 544, 102, 1062, 4352, 0, 0}, {240, 8192, 1911, 0, 0, 0, 0}, {2184, 8192, 22408, 0, 0, 0, 0}, {12, 48, 86, 275, 0, 0, 0}, {170, 544, 21760, 0, 0, 0, 0}, {12, 48, 771, 1092, 4096, 0, 0}, {12, 1088, 4928, 0, 0, 0, 0}, {552, 90, 1285, 0, 0, 0, 0}, {12, 548, 102, 1058, 4386, 0, 0}, {240, 8304, 1919, 0, 0, 0, 0}, {48, 1792, 4176, 0, 0, 0, 0}, {520, 102, 4369, 0, 0, 0, 0}, {48, 520, 90, 1280, 4122, 0, 0}, {204, 2048, 4959, 0, 0, 0, 0}, {60, 1800, 4892, 0, 0, 0, 0}, {512, 106, 5439, 0, 0, 0, 0}, {60, 512, 90, 1280, 4352, 0, 0}, {192, 2056, 5911, 0, 0, 0, 0}, {48, 1800, 4112, 0, 0, 0, 0}, {512, 102, 4403, 0, 0, 0, 0}, {48, 512, 90, 1280, 4096, 0, 0}, {204, 2056, 4883, 0, 0, 0, 0}, {60, 1792, 4944, 0, 0, 0, 0}, {520, 106, 5397, 0, 0, 0, 0}, {60, 520, 90, 1280, 4382, 0, 0}, {192, 2048, 5983, 0, 0, 0, 0}, {2048, 8352, 22432, 0, 0, 0, 0}, {12, 48, 86, 263, 0, 0, 0}, {170, 520, 21760, 0, 0, 0, 0}, {12, 48, 771, 1024, 4176, 0, 0}, {12, 1028, 4896, 0, 0, 0, 0}, {512, 90, 1295, 0, 0, 0, 0}, {12, 512, 102, 1024, 4352, 0, 0}, {240, 8224, 1799, 0, 0, 0, 0}, {2056, 8224, 22440, 0, 0, 0, 0}, {12, 48, 86, 259, 0, 0, 0}, {170, 512, 21760, 0, 0, 0, 0}, {12, 48, 771, 1028, 4112, 0, 0}, {12, 1024, 4960, 0, 0, 0, 0}, {520, 90, 1295, 0, 0, 0, 0}, {12, 516, 102, 1028, 4386, 0, 0}, {240, 8272, 1807, 0, 0, 0, 0}, {48, 1856, 4160, 0, 0, 0, 0}, {552, 102, 4369, 0, 0, 0, 0}, {48, 536, 90, 1290, 4106, 0, 0}, {204, 2124, 4991, 0, 0, 0, 0}, {60, 1860, 4864, 0, 0, 0, 0}, {544, 106, 5397, 0, 0, 0, 0}, {60, 540, 90, 1290, 4352, 0, 0}, {192, 2120, 6007, 0, 0, 0, 0}, {48, 1864, 4096, 0, 0, 0, 0}, {544, 102, 4403, 0, 0, 0, 0}, {48, 528, 90, 1290, 4112, 0, 0}, {204, 2116, 4915, 0, 0, 0, 0}, {60, 1868, 4940, 0, 0, 0, 0}, {552, 106, 5439, 0, 0, 0, 0}, {60, 532, 90, 1290, 4382, 0, 0}, {192, 2112, 5951, 0, 0, 0, 0}, {192, 2048, 5888, 0, 0, 0, 0}, {60, 514, 90, 1285, 4369, 0, 0}, {514, 106, 5418, 0, 0, 0, 0}, {60, 1807, 4879, 0, 0, 0, 0}, {204, 2056, 4940, 0, 0, 0, 0}, {48, 522, 90, 1285, 4106, 0, 0}, {522, 102, 4352, 0, 0, 0, 0}, {48, 1799, 4160, 0, 0, 0, 0}, {192, 2056, 5960, 0, 0, 0, 0}, {60, 522, 90, 1285, 4367, 0, 0}, {522, 106, 5376, 0, 0, 0, 0}, {60, 1799, 4931, 0, 0, 0, 0}, {204, 2048, 4864, 0, 0, 0, 0}, {48, 514, 90, 1285, 4112, 0, 0}, {514, 102, 4386, 0, 0, 0, 0}, {48, 1807, 4096, 0, 0, 0, 0}, {240, 8224, 1904, 0, 0, 0, 0}, {12, 546, 102, 1058, 4369, 0, 0}, {546, 90, 1280, 0, 0, 0, 0}, {12, 1088, 4883, 0, 0, 0, 0}, {12, 48, 768, 1092, 4176, 0, 0}, {170, 554, 21845, 0, 0, 0, 0}, {12, 48, 86, 278, 0, 0, 0}, {2184, 8352, 22487, 0, 0, 0, 0}, {240, 8272, 1912, 0, 0, 0, 0}, {12, 550, 102, 1062, 4403, 0, 0}, {554, 90, 1280, 0, 0, 0, 0}, {12, 1092, 4947, 0, 0, 0, 0}, {12, 48, 768, 1088, 4112, 0, 0}, {170, 546, 21845, 0, 0, 0, 0}, {12, 48, 86, 274, 0, 0, 0}, {2176, 8224, 22495, 0, 0, 0, 0}, {192, 2112, 5984, 0, 0, 0, 0}, {60, 542, 90, 1295, 4369, 0, 0}, {546, 106, 5376, 0, 0, 0, 0}, {60, 1859, 4883, 0, 0, 0, 0}, {204, 2116, 4972, 0, 0, 0, 0}, {48, 538, 90, 1295, 4122, 0, 0}, {554, 102, 4352, 0, 0, 0, 0}, {48, 1863, 4176, 0, 0, 0, 0}, {192, 2120, 5928, 0, 0, 0, 0}, {60, 534, 90, 1295, 4367, 0, 0}, {554, 106, 5418, 0, 0, 0, 0}, {60, 1867, 4959, 0, 0, 0, 0}, {204, 2124, 4896, 0, 0, 0, 0}, {48, 530, 90, 1295, 4096, 0, 0}, {546, 102, 4386, 0, 0, 0, 0}, {48, 1871, 4112, 0, 0, 0, 0}, {240, 8192, 1792, 0, 0, 0, 0}, {12, 514, 102, 1028, 4369, 0, 0}, {514, 90, 1290, 0, 0, 0, 0}, {12, 1024, 4915, 0, 0, 0, 0}, {12, 48, 768, 1028, 4160, 0, 0}, {170, 522, 21845, 0, 0, 0, 0}, {12, 48, 86, 262, 0, 0, 0}, {2056, 8320, 22519, 0, 0, 0, 0}, {240, 8304, 1800, 0, 0, 0, 0}, {12, 518, 102, 1024, 4403, 0, 0}, {522, 90, 1290, 0, 0, 0, 0}, {12, 1028, 4979, 0, 0, 0, 0}, {12, 48, 768, 1024, 4096, 0, 0}, {170, 514, 21845, 0, 0, 0, 0}, {12, 48, 86, 258, 0, 0, 0}, {2048, 8192, 22527, 0, 0, 0, 0}, {2048, 8192, 20480, 0, 0, 0, 0}, {12, 51, 85, 257, 0, 0, 0}, {170, 514, 20490, 0, 0, 0, 0}, {12, 51, 771, 1024, 4099, 0, 0}, {12, 1028, 4160, 0, 0, 0, 0}, {522, 85, 1285, 0, 0, 0, 0}, {12, 518, 102, 1024, 4102, 0, 0}, {255, 8319, 1799, 0, 0, 0, 0}, {2056, 8320, 20480, 0, 0, 0, 0}, {12, 51, 85, 261, 0, 0, 0}, {170, 522, 20490, 0, 0, 0, 0}, {12, 51, 771, 1028, 4163, 0, 0}, {12, 1024, 4096, 0, 0, 0, 0}, {514, 85, 1285, 0, 0, 0, 0}, {12, 514, 102, 1028, 4128, 0, 0}, {255, 8192, 1807, 0, 0, 0, 0}, {192, 2112, 4112, 0, 0, 0, 0}, {51, 529, 85, 1280, 4369, 0, 0}, {546, 106, 4144, 0, 0, 0, 0}, {51, 1868, 4883, 0, 0, 0, 0}, {204, 2116, 5140, 0, 0, 0, 0}, {63, 533, 85, 1280, 4117, 0, 0}, {554, 102, 5180, 0, 0, 0, 0}, {63, 1864, 4191, 0, 0, 0, 0}, {192, 2120, 4176, 0, 0, 0, 0}, {51, 537, 85, 1280, 4352, 0, 0}, {554, 106, 4122, 0, 0, 0, 0}, {51, 1860, 4959, 0, 0, 0, 0}, {204, 2124, 5200, 0, 0, 0, 0}, {63, 541, 85, 1280, 4096, 0, 0}, {546, 102, 5150, 0, 0, 0, 0}, {63, 1856, 4127, 0, 0, 0, 0}, {2176, 8224, 20640, 0, 0, 0, 0}, {12, 51, 85, 274, 0, 0, 0}, {170, 546, 20480, 0, 0, 0, 0}, {12, 51, 771, 1088, 4112, 0, 0}, {12, 1092, 4192, 0, 0, 0, 0}, {554, 85, 1295, 0, 0, 0, 0}, {12, 550, 102, 1062, 4134, 0, 0}, {255, 8287, 1912, 0, 0, 0, 0}, {2184, 8352, 20640, 0, 0, 0, 0}, {12, 51, 85, 278, 0, 0, 0}, {170, 554, 20480, 0, 0, 0, 0}, {12, 51, 771, 1092, 4176, 0, 0}, {12, 1088, 4128, 0, 0, 0, 0}, {546, 85, 1295, 0, 0, 0, 0}, {12, 546, 102, 1058, 4096, 0, 0}, {255, 8224, 1904, 0, 0, 0, 0}, {192, 2048, 4144, 0, 0, 0, 0}, {51, 514, 85, 1290, 4369, 0, 0}, {514, 106, 4112, 0, 0, 0, 0}, {51, 1792, 4864, 0, 0, 0, 0}, {204, 2056, 5240, 0, 0, 0, 0}, {63, 522, 85, 1290, 4106, 0, 0}, {522, 102, 5174, 0, 0, 0, 0}, {63, 1800, 4160, 0, 0, 0, 0}, {192, 2056, 4208, 0, 0, 0, 0}, {51, 522, 85, 1290, 4352, 0, 0}, {522, 106, 4154, 0, 0, 0, 0}, {51, 1800, 4940, 0, 0, 0, 0}, {204, 2048, 5180, 0, 0, 0, 0}, {63, 514, 85, 1290, 4127, 0, 0}, {514, 102, 5140, 0, 0, 0, 0}, {63, 1792, 4096, 0, 0, 0, 0}, {192, 2112, 4160, 0, 0, 0, 0}, {51, 539, 85, 1285, 4369, 0, 0}, {552, 106, 4106, 0, 0, 0, 0}, {51, 1859, 4940, 0, 0, 0, 0}, {204, 2116, 5188, 0, 0, 0, 0}, {63, 543, 85, 1285, 4112, 0, 0}, {544, 102, 5130, 0, 0, 0, 0}, {63, 1863, 4111, 0, 0, 0, 0}, {192, 2120, 4096, 0, 0, 0, 0}, {51, 531, 85, 1285, 4352, 0, 0}, {544, 106, 4128, 0, 0, 0, 0}, {51, 1867, 4864, 0, 0, 0, 0}, {204, 2124, 5120, 0, 0, 0, 0}, {63, 535, 85, 1285, 4101, 0, 0}, {552, 102, 5160, 0, 0, 0, 0}, {63, 1871, 4175, 0, 0, 0, 0}, {2048, 8352, 20560, 0, 0, 0, 0}, {12, 51, 85, 260, 0, 0, 0}, {170, 520, 20570, 0, 0, 0, 0}, {12, 51, 768, 1024, 4179, 0, 0}, {12, 1028, 4112, 0, 0, 0, 0}, {512, 85, 1280, 0, 0, 0, 0}, {12, 512, 102, 1024, 4144, 0, 0}, {255, 8224, 1800, 0, 0, 0, 0}, {2056, 8224, 20560, 0, 0, 0, 0}, {12, 51, 85, 256, 0, 0, 0}, {170, 512, 20570, 0, 0, 0, 0}, {12, 51, 768, 1028, 4115, 0, 0}, {12, 1024, 4176, 0, 0, 0, 0}, {520, 85, 1280, 0, 0, 0, 0}, {12, 516, 102, 1028, 4118, 0, 0}, {255, 8287, 1792, 0, 0, 0, 0}, {192, 2048, 4192, 0, 0, 0, 0}, {51, 520, 85, 1295, 4369, 0, 0}, {520, 106, 4138, 0, 0, 0, 0}, {51, 1807, 4959, 0, 0, 0, 0}, {204, 2056, 5160, 0, 0, 0, 0}, {63, 512, 85, 1295, 4111, 0, 0}, {512, 102, 5120, 0, 0, 0, 0}, {63, 1799, 4112, 0, 0, 0, 0}, {192, 2056, 4128, 0, 0, 0, 0}, {51, 512, 85, 1295, 4352, 0, 0}, {512, 106, 4096, 0, 0, 0, 0}, {51, 1799, 4883, 0, 0, 0, 0}, {204, 2048, 5228, 0, 0, 0, 0}, {63, 520, 85, 1295, 4122, 0, 0}, {520, 102, 5154, 0, 0, 0, 0}, {63, 1807, 4176, 0, 0, 0, 0}, {2176, 8320, 20720, 0, 0, 0, 0}, {12, 51, 85, 279, 0, 0, 0}, {170, 552, 20560, 0, 0, 0, 0}, {12, 51, 768, 1088, 4160, 0, 0}, {12, 1092, 4144, 0, 0, 0, 0}, {544, 85, 1290, 0, 0, 0, 0}, {12, 544, 102, 1062, 4112, 0, 0}, {255, 8192, 1911, 0, 0, 0, 0}, {2184, 8192, 20720, 0, 0, 0, 0}, {12, 51, 85, 275, 0, 0, 0}, {170, 544, 20560, 0, 0, 0, 0}, {12, 51, 768, 1092, 4096, 0, 0}, {12, 1088, 4208, 0, 0, 0, 0}, {552, 85, 1290, 0, 0, 0, 0}, {12, 548, 102, 1058, 4150, 0, 0}, {255, 8319, 1919, 0, 0, 0, 0}, {2176, 8320, 20480, 0, 0, 0, 0}, {12, 51, 85, 276, 0, 0, 0}, {170, 552, 20490, 0, 0, 0, 0}, {12, 51, 771, 1088, 4163, 0, 0}, {12, 1092, 4096, 0, 0, 0, 0}, {544, 85, 1285, 0, 0, 0, 0}, {12, 544, 102, 1062, 4128, 0, 0}, {255, 8192, 1912, 0, 0, 0, 0}, {2184, 8192, 20480, 0, 0, 0, 0}, {12, 51, 85, 272, 0, 0, 0}, {170, 544, 20490, 0, 0, 0, 0}, {12, 51, 771, 1092, 4099, 0, 0}, {12, 1088, 4160, 0, 0, 0, 0}, {552, 85, 1285, 0, 0, 0, 0}, {12, 548, 102, 1058, 4102, 0, 0}, {255, 8319, 1904, 0, 0, 0, 0}, {192, 2048, 4176, 0, 0, 0, 0}, {51, 520, 85, 1280, 4369, 0, 0}, {520, 106, 4122, 0, 0, 0, 0}, {51, 1792, 4959, 0, 0, 0, 0}, {204, 2056, 5140, 0, 0, 0, 0}, {63, 512, 85, 1280, 4096, 0, 0}, {512, 102, 5180, 0, 0, 0, 0}, {63, 1800, 4127, 0, 0, 0, 0}, {192, 2056, 4112, 0, 0, 0, 0}, {51, 512, 85, 1280, 4352, 0, 0}, {512, 106, 4144, 0, 0, 0, 0}, {51, 1800, 4883, 0, 0, 0, 0}, {204, 2048, 5200, 0, 0, 0, 0}, {63, 520, 85, 1280, 4117, 0, 0}, {520, 102, 5150, 0, 0, 0, 0}, {63, 1792, 4191, 0, 0, 0, 0}, {2048, 8352, 20640, 0, 0, 0, 0}, {12, 51, 85, 263, 0, 0, 0}, {170, 520, 20480, 0, 0, 0, 0}, {12, 51, 771, 1024, 4176, 0, 0}, {12, 1028, 4128, 0, 0, 0, 0}, {512, 85, 1295, 0, 0, 0, 0}, {12, 512, 102, 1024, 4096, 0, 0}, {255, 8224, 1799, 0, 0, 0, 0}, {2056, 8224, 20640, 0, 0, 0, 0}, {12, 51, 85, 259, 0, 0, 0}, {170, 512, 20480, 0, 0, 0, 0}, {12, 51, 771, 1028, 4112, 0, 0}, {12, 1024, 4192, 0, 0, 0, 0}, {520, 85, 1295, 0, 0, 0, 0}, {12, 516, 102, 1028, 4134, 0, 0}, {255, 8287, 1807, 0, 0, 0, 0}, {192, 2112, 4208, 0, 0, 0, 0}, {51, 539, 85, 1290, 4369, 0, 0}, {552, 106, 4154, 0, 0, 0, 0}, {51, 1868, 4940, 0, 0, 0, 0}, {204, 2116, 5240, 0, 0, 0, 0}, {63, 543, 85, 1290, 4127, 0, 0}, {544, 102, 5174, 0, 0, 0, 0}, {63, 1864, 4096, 0, 0, 0, 0}, {192, 2120, 4144, 0, 0, 0, 0}, {51, 531, 85, 1290, 4352, 0, 0}, {544, 106, 4112, 0, 0, 0, 0}, {51, 1860, 4864, 0, 0, 0, 0}, {204, 2124, 5180, 0, 0, 0, 0}, {63, 535, 85, 1290, 4106, 0, 0}, {552, 102, 5140, 0, 0, 0, 0}, {63, 1856, 4160, 0, 0, 0, 0}, {192, 2048, 4096, 0, 0, 0, 0}, {51, 514, 85, 1285, 4369, 0, 0}, {514, 106, 4128, 0, 0, 0, 0}, {51, 1807, 4864, 0, 0, 0, 0}, {204, 2056, 5188, 0, 0, 0, 0}, {63, 522, 85, 1285, 4101, 0, 0}, {522, 102, 5130, 0, 0, 0, 0}, {63, 1799, 4175, 0, 0, 0, 0}, {192, 2056, 4160, 0, 0, 0, 0}, {51, 522, 85, 1285, 4352, 0, 0}, {522, 106, 4106, 0, 0, 0, 0}, {51, 1799, 4940, 0, 0, 0, 0}, {204, 2048, 5120, 0, 0, 0, 0}, {63, 514, 85, 1285, 4112, 0, 0}, {514, 102, 5160, 0, 0, 0, 0}, {63, 1807, 4111, 0, 0, 0, 0}, {2176, 8224, 20560, 0, 0, 0, 0}, {12, 51, 85, 273, 0, 0, 0}, {170, 546, 20570, 0, 0, 0, 0}, {12, 51, 768, 1088, 4115, 0, 0}, {12, 1092, 4176, 0, 0, 0, 0}, {554, 85, 1280, 0, 0, 0, 0}, {12, 550, 102, 1062, 4118, 0, 0}, {255, 8287, 1911, 0, 0, 0, 0}, {2184, 8352, 20560, 0, 0, 0, 0}, {12, 51, 85, 277, 0, 0, 0}, {170, 554, 20570, 0, 0, 0, 0}, {12, 51, 768, 1092, 4179, 0, 0}, {12, 1088, 4112, 0, 0, 0, 0}, {546, 85, 1280, 0, 0, 0, 0}, {12, 546, 102, 1058, 4144, 0, 0}, {255, 8224, 1919, 0, 0, 0, 0}, {192, 2112, 4128, 0, 0, 0, 0}, {51, 529, 85, 1295, 4369, 0, 0}, {546, 106, 4096, 0, 0, 0, 0}, {51, 1859, 4883, 0, 0, 0, 0}, {204, 2116, 5160, 0, 0, 0, 0}, {63, 533, 85, 1295, 4122, 0, 0}, {554, 102, 5120, 0, 0, 0, 0}, {63, 1863, 4176, 0, 0, 0, 0}, {192, 2120, 4192, 0, 0, 0, 0}, {51, 537, 85, 1295, 4352, 0, 0}, {554, 106, 4138, 0, 0, 0, 0}, {51, 1867, 4959, 0, 0, 0, 0}, {204, 2124, 5228, 0, 0, 0, 0}, {63, 541, 85, 1295, 4111, 0, 0}, {546, 102, 5154, 0, 0, 0, 0}, {63, 1871, 4112, 0, 0, 0, 0}, {2048, 8192, 20720, 0, 0, 0, 0}, {12, 51, 85, 258, 0, 0, 0}, {170, 514, 20560, 0, 0, 0, 0}, {12, 51, 768, 1024, 4096, 0, 0}, {12, 1028, 4208, 0, 0, 0, 0}, {522, 85, 1290, 0, 0, 0, 0}, {12, 518, 102, 1024, 4150, 0, 0}, {255, 8319, 1800, 0, 0, 0, 0}, {2056, 8320, 20720, 0, 0, 0, 0}, {12, 51, 85, 262, 0, 0, 0}, {170, 522, 20560, 0, 0, 0, 0}, {12, 51, 768, 1028, 4160, 0, 0}, {12, 1024, 4144, 0, 0, 0, 0}, {514, 85, 1290, 0, 0, 0, 0}, {12, 514, 102, 1028, 4112, 0, 0}, {255, 8192, 1792, 0, 0, 0, 0}, {3072, 13056, 21760, 0, 0, 0, 0}, {8, 32, 80, 257, 0, 0, 0}, {8, 32, 514, 1024, 4354, 0, 0}, {240, 771, 21775, 0, 0, 0, 0}, {8, 1028, 4420, 0, 0, 0, 0}, {783, 80, 1285, 0, 0, 0, 0}, {160, 13164, 1542, 0, 0, 0, 0}, {8, 775, 112, 1024, 4359, 0, 0}, {8, 1024, 4352, 0, 0, 0, 0}, {771, 80, 1285, 0, 0, 0, 0}, {160, 13056, 1546, 0, 0, 0, 0}, {8, 771, 112, 1028, 4403, 0, 0}, {3084, 13260, 21760, 0, 0, 0, 0}, {8, 32, 80, 261, 0, 0, 0}, {8, 32, 514, 1028, 4422, 0, 0}, {240, 783, 21775, 0, 0, 0, 0}, {32, 784, 80, 1280, 4112, 0, 0}, {136, 3140, 4369, 0, 0, 0, 0}, {816, 120, 4386, 0, 0, 0, 0}, {32, 1612, 4883, 0, 0, 0, 0}, {40, 788, 80, 1280, 4372, 0, 0}, {128, 3136, 5397, 0, 0, 0, 0}, {828, 112, 5418, 0, 0, 0, 0}, {40, 1608, 4447, 0, 0, 0, 0}, {40, 792, 80, 1280, 4352, 0, 0}, {128, 3148, 5461, 0, 0, 0, 0}, {816, 112, 5402, 0, 0, 0, 0}, {40, 1604, 4379, 0, 0, 0, 0}, {32, 796, 80, 1280, 4096, 0, 0}, {136, 3144, 4437, 0, 0, 0, 0}, {828, 120, 4382, 0, 0, 0, 0}, {32, 1600, 4959, 0, 0, 0, 0}, {32, 1536, 4864, 0, 0, 0, 0}, {771, 120, 4369, 0, 0, 0, 0}, {136, 3072, 4386, 0, 0, 0, 0}, {32, 771, 80, 1295, 4112, 0, 0}, {40, 1548, 4420, 0, 0, 0, 0}, {783, 112, 5413, 0, 0, 0, 0}, {128, 3084, 5482, 0, 0, 0, 0}, {40, 783, 80, 1295, 4367, 0, 0}, {40, 1536, 4352, 0, 0, 0, 0}, {771, 112, 5397, 0, 0, 0, 0}, {128, 3072, 5418, 0, 0, 0, 0}, {40, 771, 80, 1295, 4379, 0, 0}, {32, 1548, 4940, 0, 0, 0, 0}, {783, 120, 4397, 0, 0, 0, 0}, {136, 3084, 4454, 0, 0, 0, 0}, {32, 783, 80, 1295, 4096, 0, 0}, {240, 816, 21760, 0, 0, 0, 0}, {8, 32, 514, 1092, 4369, 0, 0}, {8, 32, 80, 274, 0, 0, 0}, {3276, 13107, 22015, 0, 0, 0, 0}, {8, 820, 112, 1076, 4404, 0, 0}, {160, 13151, 1642, 0, 0, 0, 0}, {828, 80, 1290, 0, 0, 0, 0}, {8, 1088, 4471, 0, 0, 0, 0}, {8, 816, 112, 1072, 4352, 0, 0}, {160, 13107, 1638, 0, 0, 0, 0}, {816, 80, 1290, 0, 0, 0, 0}, {8, 1092, 4403, 0, 0, 0, 0}, {240, 828, 21760, 0, 0, 0, 0}, {8, 32, 514, 1088, 4437, 0, 0}, {8, 32, 80, 278, 0, 0, 0}, {3264, 13311, 22015, 0, 0, 0, 0}, {128, 3136, 5440, 0, 0, 0, 0}, {40, 795, 80, 1285, 4369, 0, 0}, {40, 1602, 4362, 0, 0, 0, 0}, {819, 112, 5391, 0, 0, 0, 0}, {136, 3140, 4420, 0, 0, 0, 0}, {32, 799, 80, 1285, 4112, 0, 0}, {32, 1606, 4940, 0, 0, 0, 0}, {831, 120, 4367, 0, 0, 0, 0}, {136, 3144, 4352, 0, 0, 0, 0}, {32, 787, 80, 1285, 4096, 0, 0}, {32, 1610, 4864, 0, 0, 0, 0}, {819, 120, 4403, 0, 0, 0, 0}, {128, 3148, 5376, 0, 0, 0, 0}, {40, 791, 80, 1285, 4357, 0, 0}, {40, 1614, 4430, 0, 0, 0, 0}, {831, 112, 5439, 0, 0, 0, 0}, {768, 80, 1280, 0, 0, 0, 0}, {8, 1028, 4369, 0, 0, 0, 0}, {8, 768, 112, 1024, 4386, 0, 0}, {160, 13107, 1548, 0, 0, 0, 0}, {8, 32, 80, 260, 0, 0, 0}, {3072, 13311, 21845, 0, 0, 0, 0}, {240, 780, 21850, 0, 0, 0, 0}, {8, 32, 512, 1024, 4439, 0, 0}, {8, 32, 80, 256, 0, 0, 0}, {3084, 13107, 21845, 0, 0, 0, 0}, {240, 768, 21850, 0, 0, 0, 0}, {8, 32, 512, 1028, 4371, 0, 0}, {780, 80, 1280, 0, 0, 0, 0}, {8, 1024, 4437, 0, 0, 0, 0}, {8, 772, 112, 1028, 4374, 0, 0}, {160, 13151, 1536, 0, 0, 0, 0}, {160, 13056, 1632, 0, 0, 0, 0}, {8, 819, 112, 1076, 4369, 0, 0}, {8, 1088, 4386, 0, 0, 0, 0}, {819, 80, 1295, 0, 0, 0, 0}, {8, 32, 512, 1092, 4420, 0, 0}, {240, 831, 21845, 0, 0, 0, 0}, {3276, 13260, 21930, 0, 0, 0, 0}, {8, 32, 80, 279, 0, 0, 0}, {8, 32, 512, 1088, 4352, 0, 0}, {240, 819, 21845, 0, 0, 0, 0}, {3264, 13056, 21930, 0, 0, 0, 0}, {8, 32, 80, 275, 0, 0, 0}, {160, 13164, 1644, 0, 0, 0, 0}, {8, 823, 112, 1072, 4389, 0, 0}, {8, 1092, 4454, 0, 0, 0, 0}, {831, 80, 1295, 0, 0, 0, 0}, {768, 112, 5376, 0, 0, 0, 0}, {40, 1542, 4369, 0, 0, 0, 0}, {40, 768, 80, 1290, 4362, 0, 0}, {128, 3084, 5439, 0, 0, 0, 0}, {780, 120, 4412, 0, 0, 0, 0}, {32, 1546, 4959, 0, 0, 0, 0}, {32, 780, 80, 1290, 4112, 0, 0}, {136, 3072, 4471, 0, 0, 0, 0}, {768, 120, 4352, 0, 0, 0, 0}, {32, 1542, 4883, 0, 0, 0, 0}, {32, 768, 80, 1290, 4096, 0, 0}, {136, 3084, 4403, 0, 0, 0, 0}, {780, 112, 5424, 0, 0, 0, 0}, {40, 1546, 4437, 0, 0, 0, 0}, {40, 780, 80, 1290, 4382, 0, 0}, {128, 3072, 5503, 0, 0, 0, 0}, {128, 3072, 5376, 0, 0, 0, 0}, {40, 771, 80, 1285, 4369, 0, 0}, {40, 1546, 4362, 0, 0, 0, 0}, {771, 112, 5439, 0, 0, 0, 0}, {136, 3084, 4420, 0, 0, 0, 0}, {32, 783, 80, 1285, 4096, 0, 0}, {32, 1542, 4940, 0, 0, 0, 0}, {783, 120, 4367, 0, 0, 0, 0}, {136, 3072, 4352, 0, 0, 0, 0}, {32, 771, 80, 1285, 4112, 0, 0}, {32, 1546, 4864, 0, 0, 0, 0}, {771, 120, 4403, 0, 0, 0, 0}, {128, 3084, 5440, 0, 0, 0, 0}, {40, 783, 80, 1285, 4357, 0, 0}, {40, 1542, 4430, 0, 0, 0, 0}, {783, 112, 5391, 0, 0, 0, 0}, {816, 80, 1280, 0, 0, 0, 0}, {8, 1092, 4369, 0, 0, 0, 0}, {8, 816, 112, 1072, 4386, 0, 0}, {160, 13107, 1644, 0, 0, 0, 0}, {8, 32, 80, 276, 0, 0, 0}, {3264, 13311, 21845, 0, 0, 0, 0}, {240, 828, 21850, 0, 0, 0, 0}, {8, 32, 512, 1088, 4439, 0, 0}, {8, 32, 80, 272, 0, 0, 0}, {3276, 13107, 21845, 0, 0, 0, 0}, {240, 816, 21850, 0, 0, 0, 0}, {8, 32, 512, 1092, 4371, 0, 0}, {828, 80, 1280, 0, 0, 0, 0}, {8, 1088, 4437, 0, 0, 0, 0}, {8, 820, 112, 1076, 4374, 0, 0}, {160, 13151, 1632, 0, 0, 0, 0}, {160, 13056, 1536, 0, 0, 0, 0}, {8, 771, 112, 1028, 4369, 0, 0}, {8, 1024, 4386, 0, 0, 0, 0}, {771, 80, 1295, 0, 0, 0, 0}, {8, 32, 512, 1028, 4420, 0, 0}, {240, 783, 21845, 0, 0, 0, 0}, {3084, 13260, 21930, 0, 0, 0, 0}, {8, 32, 80, 263, 0, 0, 0}, {8, 32, 512, 1024, 4352, 0, 0}, {240, 771, 21845, 0, 0, 0, 0}, {3072, 13056, 21930, 0, 0, 0, 0}, {8, 32, 80, 259, 0, 0, 0}, {160, 13164, 1548, 0, 0, 0, 0}, {8, 775, 112, 1024, 4389, 0, 0}, {8, 1028, 4454, 0, 0, 0, 0}, {783, 80, 1295, 0, 0, 0, 0}, {816, 112, 5424, 0, 0, 0, 0}, {40, 1614, 4369, 0, 0, 0, 0}, {40, 792, 80, 1290, 4362, 0, 0}, {128, 3148, 5503, 0, 0, 0, 0}, {828, 120, 4412, 0, 0, 0, 0}, {32, 1610, 4959, 0, 0, 0, 0}, {32, 796, 80, 1290, 4096, 0, 0}, {136, 3144, 4471, 0, 0, 0, 0}, {816, 120, 4352, 0, 0, 0, 0}, {32, 1606, 4883, 0, 0, 0, 0}, {32, 784, 80, 1290, 4112, 0, 0}, {136, 3140, 4403, 0, 0, 0, 0}, {828, 112, 5376, 0, 0, 0, 0}, {40, 1602, 4437, 0, 0, 0, 0}, {40, 788, 80, 1290, 4382, 0, 0}, {128, 3136, 5439, 0, 0, 0, 0}, {3264, 13056, 21760, 0, 0, 0, 0}, {8, 32, 80, 273, 0, 0, 0}, {8, 32, 514, 1088, 4354, 0, 0}, {240, 819, 21775, 0, 0, 0, 0}, {8, 1092, 4420, 0, 0, 0, 0}, {831, 80, 1285, 0, 0, 0, 0}, {160, 13164, 1638, 0, 0, 0, 0}, {8, 823, 112, 1072, 4359, 0, 0}, {8, 1088, 4352, 0, 0, 0, 0}, {819, 80, 1285, 0, 0, 0, 0}, {160, 13056, 1642, 0, 0, 0, 0}, {8, 819, 112, 1076, 4403, 0, 0}, {3276, 13260, 21760, 0, 0, 0, 0}, {8, 32, 80, 277, 0, 0, 0}, {8, 32, 514, 1092, 4422, 0, 0}, {240, 831, 21775, 0, 0, 0, 0}, {32, 768, 80, 1280, 4096, 0, 0}, {136, 3084, 4369, 0, 0, 0, 0}, {768, 120, 4386, 0, 0, 0, 0}, {32, 1548, 4883, 0, 0, 0, 0}, {40, 780, 80, 1280, 4372, 0, 0}, {128, 3072, 5461, 0, 0, 0, 0}, {780, 112, 5402, 0, 0, 0, 0}, {40, 1536, 4447, 0, 0, 0, 0}, {40, 768, 80, 1280, 4352, 0, 0}, {128, 3084, 5397, 0, 0, 0, 0}, {768, 112, 5418, 0, 0, 0, 0}, {40, 1548, 4379, 0, 0, 0, 0}, {32, 780, 80, 1280, 4112, 0, 0}, {136, 3072, 4437, 0, 0, 0, 0}, {780, 120, 4382, 0, 0, 0, 0}, {32, 1536, 4959, 0, 0, 0, 0}, {32, 1600, 4864, 0, 0, 0, 0}, {819, 120, 4369, 0, 0, 0, 0}, {136, 3144, 4386, 0, 0, 0, 0}, {32, 787, 80, 1295, 4096, 0, 0}, {40, 1604, 4420, 0, 0, 0, 0}, {831, 112, 5397, 0, 0, 0, 0}, {128, 3148, 5418, 0, 0, 0, 0}, {40, 791, 80, 1295, 4367, 0, 0}, {40, 1608, 4352, 0, 0, 0, 0}, {819, 112, 5413, 0, 0, 0, 0}, {128, 3136, 5482, 0, 0, 0, 0}, {40, 795, 80, 1295, 4379, 0, 0}, {32, 1612, 4940, 0, 0, 0, 0}, {831, 120, 4397, 0, 0, 0, 0}, {136, 3140, 4454, 0, 0, 0, 0}, {32, 799, 80, 1295, 4112, 0, 0}, {240, 768, 21760, 0, 0, 0, 0}, {8, 32, 514, 1028, 4369, 0, 0}, {8, 32, 80, 258, 0, 0, 0}, {3084, 13107, 22015, 0, 0, 0, 0}, {8, 772, 112, 1028, 4404, 0, 0}, {160, 13151, 1546, 0, 0, 0, 0}, {780, 80, 1290, 0, 0, 0, 0}, {8, 1024, 4471, 0, 0, 0, 0}, {8, 768, 112, 1024, 4352, 0, 0}, {160, 13107, 1542, 0, 0, 0, 0}, {768, 80, 1290, 0, 0, 0, 0}, {8, 1028, 4403, 0, 0, 0, 0}, {240, 780, 21760, 0, 0, 0, 0}, {8, 32, 514, 1024, 4437, 0, 0}, {8, 32, 80, 262, 0, 0, 0}, {3072, 13311, 22015, 0, 0, 0, 0}, {23040, 0, 0, 0, 0, 0, 0}, {4, 19, 257, 0, 0, 0, 0}, {8, 32, 514, 20480, 0, 0, 0}, {12, 51, 771, 21760, 0, 0, 0}, {4, 4608, 0, 0, 0, 0, 0}, {95, 1285, 0, 0, 0, 0, 0}, {12, 12288, 96, 1542, 0, 0, 0}, {8, 8704, 119, 1799, 0, 0, 0}, {8, 8704, 20992, 0, 0, 0, 0}, {12, 51, 771, 83, 1285, 0, 0}, {160, 2570, 20480, 0, 0, 0, 0}, {51, 771, 4, 4352, 0, 0, 0}, {12, 12288, 22016, 0, 0, 0, 0}, {8, 32, 514, 87, 1285, 0, 0}, {32, 514, 4, 4096, 0, 0, 0}, {255, 3855, 21760, 0, 0, 0, 0}, {2560, 32, 64, 4112, 0, 0, 0}, {3840, 51, 68, 4369, 0, 0, 0}, {72, 4626, 0, 0, 0, 0, 0}, {1280, 19, 0, 0, 0, 0, 0}, {2560, 40, 68, 5140, 0, 0, 0}, {3840, 63, 64, 5397, 0, 0, 0}, {76, 5654, 0, 0, 0, 0, 0}, {1280, 23, 0, 0, 0, 0, 0}, {2560, 40, 72, 4632, 0, 0, 0}, {3840, 51, 76, 5657, 0, 0, 0}, {6682, 12336, 64, 0, 0, 0, 0}, {27, 51, 68, 1280, 4352, 0, 0}, {2560, 32, 76, 5660, 0, 0, 0}, {3840, 63, 72, 4637, 0, 0, 0}, {7710, 8738, 68, 0, 0, 0, 0}, {31, 32, 64, 1280, 4096, 0, 0}, {2560, 32, 20480, 0, 0, 0, 0}, {12, 51, 771, 68, 4369, 0, 0}, {136, 8738, 23074, 0, 0, 0, 0}, {12, 771, 1283, 19, 0, 0, 0}, {12, 36, 68, 1536, 4608, 0, 0}, {3855, 9509, 127, 0, 0, 0, 0}, {12, 64, 5670, 0, 0, 0, 0}, {40, 95, 1295, 0, 0, 0, 0}, {2560, 40, 20480, 0, 0, 0, 0}, {12, 51, 771, 64, 5397, 0, 0}, {128, 10794, 23082, 0, 0, 0, 0}, {12, 771, 1283, 23, 0, 0, 0}, {12, 32, 64, 1536, 4096, 0, 0}, {3855, 8738, 119, 0, 0, 0, 0}, {12, 68, 4642, 0, 0, 0, 0}, {32, 95, 1295, 0, 0, 0, 0}, {192, 12336, 23088, 0, 0, 0, 0}, {8, 514, 1282, 19, 0, 0, 0}, {8, 32, 514, 64, 4112, 0, 0}, {3840, 51, 21760, 0, 0, 0, 0}, {8, 68, 5684, 0, 0, 0, 0}, {63, 95, 1290, 0, 0, 0, 0}, {2570, 13878, 108, 0, 0, 0, 0}, {8, 55, 64, 1792, 4608, 0, 0}, {8, 64, 4656, 0, 0, 0, 0}, {51, 95, 1290, 0, 0, 0, 0}, {2570, 12336, 96, 0, 0, 0, 0}, {8, 51, 68, 1792, 4352, 0, 0}, {204, 15420, 23100, 0, 0, 0, 0}, {8, 514, 1282, 23, 0, 0, 0}, {8, 32, 514, 68, 5140, 0, 0}, {3840, 63, 21760, 0, 0, 0, 0}, {6656, 12288, 64, 0, 0, 0, 0}, {27, 51, 68, 1285, 4369, 0, 0}, {2570, 40, 72, 4618, 0, 0, 0}, {3855, 51, 76, 5647, 0, 0, 0}, {7680, 8704, 68, 0, 0, 0, 0}, {31, 32, 64, 1285, 4112, 0, 0}, {2570, 32, 76, 5642, 0, 0, 0}, {3855, 63, 72, 4623, 0, 0, 0}, {72, 4608, 0, 0, 0, 0, 0}, {1285, 19, 0, 0, 0, 0, 0}, {2570, 32, 64, 4096, 0, 0, 0}, {3855, 51, 68, 4352, 0, 0, 0}, {76, 5632, 0, 0, 0, 0, 0}, {1285, 23, 0, 0, 0, 0, 0}, {2570, 40, 68, 5120, 0, 0, 0}, {3855, 63, 64, 5376, 0, 0, 0}, {160, 2560, 20560, 0, 0, 0, 0}, {51, 768, 4, 4369, 0, 0, 0}, {8, 8738, 21074, 0, 0, 0, 0}, {12, 51, 768, 83, 1280, 0, 0}, {32, 512, 4, 4112, 0, 0, 0}, {255, 3840, 21845, 0, 0, 0, 0}, {12, 12336, 22102, 0, 0, 0, 0}, {8, 32, 512, 87, 1280, 0, 0}, {8, 32, 512, 20560, 0, 0, 0}, {12, 51, 768, 21845, 0, 0, 0}, {23130, 0, 0, 0, 0, 0, 0}, {4, 19, 256, 0, 0, 0, 0}, {12, 12336, 96, 1536, 0, 0, 0}, {8, 8738, 119, 1792, 0, 0, 0}, {4, 4626, 0, 0, 0, 0, 0}, {95, 1280, 0, 0, 0, 0, 0}, {2560, 12288, 96, 0, 0, 0, 0}, {8, 51, 68, 1799, 4369, 0, 0}, {8, 64, 4642, 0, 0, 0, 0}, {51, 95, 1295, 0, 0, 0, 0}, {8, 32, 512, 68, 5120, 0, 0}, {3855, 63, 21845, 0, 0, 0, 0}, {204, 15360, 23142, 0, 0, 0, 0}, {8, 512, 1287, 23, 0, 0, 0}, {8, 32, 512, 64, 4096, 0, 0}, {3855, 51, 21845, 0, 0, 0, 0}, {192, 12288, 23146, 0, 0, 0, 0}, {8, 512, 1287, 19, 0, 0, 0}, {2560, 13824, 108, 0, 0, 0, 0}, {8, 55, 64, 1799, 4626, 0, 0}, {8, 68, 5666, 0, 0, 0, 0}, {63, 95, 1295, 0, 0, 0, 0}, {128, 10752, 23152, 0, 0, 0, 0}, {12, 768, 1286, 23, 0, 0, 0}, {2570, 40, 20560, 0, 0, 0, 0}, {12, 51, 768, 64, 5376, 0, 0}, {12, 68, 4656, 0, 0, 0, 0}, {32, 95, 1290, 0, 0, 0, 0}, {12, 32, 64, 1542, 4112, 0, 0}, {3840, 8704, 119, 0, 0, 0, 0}, {136, 8704, 23160, 0, 0, 0, 0}, {12, 768, 1286, 19, 0, 0, 0}, {2570, 32, 20560, 0, 0, 0, 0}, {12, 51, 768, 68, 4352, 0, 0}, {12, 64, 5680, 0, 0, 0, 0}, {40, 95, 1290, 0, 0, 0, 0}, {12, 36, 68, 1542, 4626, 0, 0}, {3840, 9472, 127, 0, 0, 0, 0}, {128, 10752, 23040, 0, 0, 0, 0}, {12, 771, 1285, 23, 0, 0, 0}, {2570, 40, 20480, 0, 0, 0, 0}, {12, 51, 771, 64, 5376, 0, 0}, {12, 68, 4608, 0, 0, 0, 0}, {32, 95, 1285, 0, 0, 0, 0}, {12, 32, 64, 1542, 4096, 0, 0}, {3855, 8704, 119, 0, 0, 0, 0}, {136, 8704, 23040, 0, 0, 0, 0}, {12, 771, 1285, 19, 0, 0, 0}, {2570, 32, 20480, 0, 0, 0, 0}, {12, 51, 771, 68, 4352, 0, 0}, {12, 64, 5632, 0, 0, 0, 0}, {40, 95, 1285, 0, 0, 0, 0}, {12, 36, 68, 1542, 4614, 0, 0}, {3855, 9487, 127, 0, 0, 0, 0}, {2560, 12336, 96, 0, 0, 0, 0}, {8, 51, 68, 1792, 4369, 0, 0}, {8, 64, 4626, 0, 0, 0, 0}, {51, 95, 1280, 0, 0, 0, 0}, {8, 32, 512, 68, 5140, 0, 0}, {3840, 63, 21845, 0, 0, 0, 0}, {204, 15420, 23130, 0, 0, 0, 0}, {8, 512, 1280, 23, 0, 0, 0}, {8, 32, 512, 64, 4112, 0, 0}, {3840, 51, 21845, 0, 0, 0, 0}, {192, 12336, 23130, 0, 0, 0, 0}, {8, 512, 1280, 19, 0, 0, 0}, {2560, 13884, 108, 0, 0, 0, 0}, {8, 55, 64, 1792, 4629, 0, 0}, {8, 68, 5654, 0, 0, 0, 0}, {63, 95, 1280, 0, 0, 0, 0}, {160, 2560, 20480, 0, 0, 0, 0}, {51, 771, 4, 4369, 0, 0, 0}, {8, 8738, 21026, 0, 0, 0, 0}, {12, 51, 771, 83, 1283, 0, 0}, {32, 512, 4, 4096, 0, 0, 0}, {255, 3855, 21845, 0, 0, 0, 0}, {12, 12288, 22118, 0, 0, 0, 0}, {8, 32, 512, 87, 1287, 0, 0}, {8, 32, 512, 20480, 0, 0, 0}, {12, 51, 771, 21845, 0, 0, 0}, {23210, 0, 0, 0, 0, 0, 0}, {4, 19, 259, 0, 0, 0, 0}, {12, 12288, 96, 1536, 0, 0, 0}, {8, 8738, 119, 1799, 0, 0, 0}, {4, 4642, 0, 0, 0, 0, 0}, {95, 1295, 0, 0, 0, 0, 0}, {6704, 12336, 64, 0, 0, 0, 0}, {27, 51, 68, 1297, 4369, 0, 0}, {2570, 40, 72, 4626, 0, 0, 0}, {3840, 51, 76, 5632, 0, 0, 0}, {7740, 8704, 68, 0, 0, 0, 0}, {31, 32, 64, 1301, 4096, 0, 0}, {2570, 32, 76, 5654, 0, 0, 0}, {3840, 63, 72, 4608, 0, 0, 0}, {72, 4656, 0, 0, 0, 0, 0}, {1290, 19, 0, 0, 0, 0, 0}, {2570, 32, 64, 4112, 0, 0, 0}, {3840, 51, 68, 4352, 0, 0, 0}, {76, 5692, 0, 0, 0, 0, 0}, {1290, 23, 0, 0, 0, 0, 0}, {2570, 40, 68, 5140, 0, 0, 0}, {3840, 63, 64, 5376, 0, 0, 0}, {192, 12288, 23040, 0, 0, 0, 0}, {8, 514, 1285, 19, 0, 0, 0}, {8, 32, 514, 64, 4096, 0, 0}, {3855, 51, 21760, 0, 0, 0, 0}, {8, 68, 5632, 0, 0, 0, 0}, {63, 95, 1285, 0, 0, 0, 0}, {2570, 13834, 108, 0, 0, 0, 0}, {8, 55, 64, 1799, 4615, 0, 0}, {8, 64, 4608, 0, 0, 0, 0}, {51, 95, 1285, 0, 0, 0, 0}, {2570, 12288, 96, 0, 0, 0, 0}, {8, 51, 68, 1799, 4352, 0, 0}, {204, 15360, 23040, 0, 0, 0, 0}, {8, 514, 1285, 23, 0, 0, 0}, {8, 32, 514, 68, 5120, 0, 0}, {3855, 63, 21760, 0, 0, 0, 0}, {2560, 32, 20560, 0, 0, 0, 0}, {12, 51, 768, 68, 4369, 0, 0}, {136, 8738, 23130, 0, 0, 0, 0}, {12, 768, 1280, 19, 0, 0, 0}, {12, 36, 68, 1536, 4628, 0, 0}, {3840, 9514, 127, 0, 0, 0, 0}, {12, 64, 5654, 0, 0, 0, 0}, {40, 95, 1280, 0, 0, 0, 0}, {2560, 40, 20560, 0, 0, 0, 0}, {12, 51, 768, 64, 5397, 0, 0}, {128, 10794, 23130, 0, 0, 0, 0}, {12, 768, 1280, 23, 0, 0, 0}, {12, 32, 64, 1536, 4112, 0, 0}, {3840, 8738, 119, 0, 0, 0, 0}, {12, 68, 4626, 0, 0, 0, 0}, {32, 95, 1280, 0, 0, 0, 0}, {2560, 32, 64, 4096, 0, 0, 0}, {3855, 51, 68, 4369, 0, 0, 0}, {72, 4642, 0, 0, 0, 0, 0}, {1295, 19, 0, 0, 0, 0, 0}, {2560, 40, 68, 5120, 0, 0, 0}, {3855, 63, 64, 5397, 0, 0, 0}, {76, 5674, 0, 0, 0, 0, 0}, {1295, 23, 0, 0, 0, 0, 0}, {2560, 40, 72, 4608, 0, 0, 0}, {3855, 51, 76, 5654, 0, 0, 0}, {6698, 12288, 64, 0, 0, 0, 0}, {27, 51, 68, 1300, 4352, 0, 0}, {2560, 32, 76, 5632, 0, 0, 0}, {3855, 63, 72, 4626, 0, 0, 0}, {7714, 8738, 68, 0, 0, 0, 0}, {31, 32, 64, 1296, 4112, 0, 0}, {23280, 0, 0, 0, 0, 0, 0}, {4, 19, 258, 0, 0, 0, 0}, {8, 32, 514, 20560, 0, 0, 0}, {12, 51, 768, 21760, 0, 0, 0}, {4, 4656, 0, 0, 0, 0, 0}, {95, 1290, 0, 0, 0, 0, 0}, {12, 12336, 96, 1542, 0, 0, 0}, {8, 8704, 119, 1792, 0, 0, 0}, {8, 8704, 21104, 0, 0, 0, 0}, {12, 51, 768, 83, 1286, 0, 0}, {160, 2570, 20560, 0, 0, 0, 0}, {51, 768, 4, 4352, 0, 0, 0}, {12, 12336, 22064, 0, 0, 0, 0}, {8, 32, 514, 87, 1282, 0, 0}, {32, 514, 4, 4112, 0, 0, 0}, {255, 3840, 21760, 0, 0, 0, 0}, {1024, 4864, 0, 0, 0, 0, 0}, {90, 257, 0, 0, 0, 0, 0}, {170, 514, 1032, 4386, 0, 0, 0}, {240, 771, 1036, 4144, 0, 0, 0}, {1028, 4940, 0, 0, 0, 0, 0}, {90, 261, 0, 0, 0, 0, 0}, {170, 522, 1036, 4454, 0, 0, 0}, {240, 783, 1032, 4208, 0, 0, 0}, {4992, 13056, 1032, 0, 0, 0, 0}, {265, 771, 339, 1285, 4403, 0, 0}, {170, 522, 1024, 4352, 0, 0, 0}, {240, 771, 1028, 4160, 0, 0, 0}, {5068, 8192, 1036, 0, 0, 0, 0}, {269, 514, 343, 1285, 4128, 0, 0}, {170, 514, 1028, 4420, 0, 0, 0}, {240, 783, 1024, 4096, 0, 0, 0}, {240, 816, 1088, 4112, 0, 0, 0}, {170, 546, 1092, 4369, 0, 0, 0}, {90, 274, 0, 0, 0, 0, 0}, {1100, 4883, 0, 0, 0, 0, 0}, {240, 828, 1092, 4176, 0, 0, 0}, {170, 554, 1088, 4437, 0, 0, 0}, {90, 278, 0, 0, 0, 0, 0}, {1096, 4959, 0, 0, 0, 0, 0}, {240, 816, 1096, 4192, 0, 0, 0}, {170, 554, 1100, 4403, 0, 0, 0}, {282, 816, 320, 1280, 4352, 0, 0}, {5011, 13107, 1092, 0, 0, 0, 0}, {240, 828, 1100, 4128, 0, 0, 0}, {170, 546, 1096, 4471, 0, 0, 0}, {286, 546, 324, 1280, 4096, 0, 0}, {5087, 8224, 1088, 0, 0, 0, 0}, {1152, 3072, 4896, 0, 0, 0, 0}, {289, 771, 90, 1295, 4369, 0, 0}, {170, 546, 1058, 4386, 0, 0, 0}, {240, 771, 1148, 4112, 0, 0, 0}, {1156, 3084, 4972, 0, 0, 0, 0}, {293, 783, 90, 1295, 4367, 0, 0}, {170, 554, 1062, 4454, 0, 0, 0}, {240, 783, 1144, 4176, 0, 0, 0}, {1160, 3072, 5928, 0, 0, 0, 0}, {297, 771, 90, 1295, 4122, 0, 0}, {170, 554, 1066, 4352, 0, 0, 0}, {240, 771, 1140, 4192, 0, 0, 0}, {1164, 3084, 5984, 0, 0, 0, 0}, {301, 783, 90, 1295, 4096, 0, 0}, {170, 546, 1070, 4420, 0, 0, 0}, {240, 783, 1136, 4128, 0, 0, 0}, {240, 816, 1072, 4144, 0, 0, 0}, {170, 514, 1134, 4369, 0, 0, 0}, {306, 514, 90, 1290, 4112, 0, 0}, {1228, 2048, 4915, 0, 0, 0, 0}, {240, 828, 1076, 4208, 0, 0, 0}, {170, 522, 1130, 4437, 0, 0, 0}, {310, 522, 90, 1290, 4106, 0, 0}, {1224, 2056, 4991, 0, 0, 0, 0}, {240, 816, 1080, 4160, 0, 0, 0}, {170, 522, 1126, 4403, 0, 0, 0}, {314, 522, 90, 1290, 4352, 0, 0}, {1220, 2056, 6007, 0, 0, 0, 0}, {240, 828, 1084, 4096, 0, 0, 0}, {170, 514, 1122, 4471, 0, 0, 0}, {318, 514, 90, 1290, 4382, 0, 0}, {1216, 2048, 5951, 0, 0, 0, 0}, {4992, 13056, 1088, 0, 0, 0, 0}, {283, 819, 321, 1285, 4369, 0, 0}, {170, 552, 1096, 4386, 0, 0, 0}, {240, 819, 1100, 4208, 0, 0, 0}, {5068, 8192, 1092, 0, 0, 0, 0}, {287, 544, 325, 1285, 4112, 0, 0}, {170, 544, 1100, 4454, 0, 0, 0}, {240, 831, 1096, 4144, 0, 0, 0}, {1096, 4864, 0, 0, 0, 0, 0}, {90, 275, 0, 0, 0, 0, 0}, {170, 544, 1088, 4352, 0, 0, 0}, {240, 819, 1092, 4096, 0, 0, 0}, {1100, 4940, 0, 0, 0, 0, 0}, {90, 279, 0, 0, 0, 0, 0}, {170, 552, 1092, 4420, 0, 0, 0}, {240, 831, 1088, 4160, 0, 0, 0}, {240, 768, 1024, 4176, 0, 0, 0}, {170, 520, 1028, 4369, 0, 0, 0}, {264, 768, 338, 1280, 4386, 0, 0}, {5011, 13107, 1036, 0, 0, 0, 0}, {240, 780, 1028, 4112, 0, 0, 0}, {170, 512, 1024, 4437, 0, 0, 0}, {268, 512, 342, 1280, 4144, 0, 0}, {5087, 8224, 1032, 0, 0, 0, 0}, {240, 768, 1032, 4128, 0, 0, 0}, {170, 512, 1036, 4403, 0, 0, 0}, {90, 256, 0, 0, 0, 0, 0}, {1028, 4883, 0, 0, 0, 0, 0}, {240, 780, 1036, 4192, 0, 0, 0}, {170, 520, 1032, 4471, 0, 0, 0}, {90, 260, 0, 0, 0, 0, 0}, {1024, 4959, 0, 0, 0, 0, 0}, {1216, 2048, 5984, 0, 0, 0, 0}, {315, 520, 90, 1295, 4369, 0, 0}, {170, 520, 1122, 4386, 0, 0, 0}, {240, 819, 1084, 4176, 0, 0, 0}, {1220, 2056, 5928, 0, 0, 0, 0}, {319, 512, 90, 1295, 4367, 0, 0}, {170, 512, 1126, 4454, 0, 0, 0}, {240, 831, 1080, 4112, 0, 0, 0}, {1224, 2056, 4896, 0, 0, 0, 0}, {307, 512, 90, 1295, 4096, 0, 0}, {170, 512, 1130, 4352, 0, 0, 0}, {240, 819, 1076, 4128, 0, 0, 0}, {1228, 2048, 4972, 0, 0, 0, 0}, {311, 520, 90, 1295, 4122, 0, 0}, {170, 520, 1134, 4420, 0, 0, 0}, {240, 831, 1072, 4192, 0, 0, 0}, {240, 768, 1136, 4208, 0, 0, 0}, {170, 552, 1070, 4369, 0, 0, 0}, {296, 768, 90, 1290, 4106, 0, 0}, {1164, 3084, 5951, 0, 0, 0, 0}, {240, 780, 1140, 4144, 0, 0, 0}, {170, 544, 1066, 4437, 0, 0, 0}, {300, 780, 90, 1290, 4112, 0, 0}, {1160, 3072, 6007, 0, 0, 0, 0}, {240, 768, 1144, 4096, 0, 0, 0}, {170, 544, 1062, 4403, 0, 0, 0}, {288, 768, 90, 1290, 4352, 0, 0}, {1156, 3084, 4915, 0, 0, 0, 0}, {240, 780, 1148, 4160, 0, 0, 0}, {170, 552, 1058, 4471, 0, 0, 0}, {292, 780, 90, 1290, 4382, 0, 0}, {1152, 3072, 4991, 0, 0, 0, 0}, {1152, 3072, 5888, 0, 0, 0, 0}, {299, 771, 90, 1285, 4369, 0, 0}, {170, 552, 1058, 4386, 0, 0, 0}, {240, 771, 1148, 4160, 0, 0, 0}, {1156, 3084, 5960, 0, 0, 0, 0}, {303, 783, 90, 1285, 4367, 0, 0}, {170, 544, 1062, 4454, 0, 0, 0}, {240, 783, 1144, 4096, 0, 0, 0}, {1160, 3072, 4864, 0, 0, 0, 0}, {291, 771, 90, 1285, 4112, 0, 0}, {170, 544, 1066, 4352, 0, 0, 0}, {240, 771, 1140, 4144, 0, 0, 0}, {1164, 3084, 4940, 0, 0, 0, 0}, {295, 783, 90, 1285, 4106, 0, 0}, {170, 552, 1070, 4420, 0, 0, 0}, {240, 783, 1136, 4208, 0, 0, 0}, {240, 816, 1072, 4192, 0, 0, 0}, {170, 520, 1134, 4369, 0, 0, 0}, {312, 520, 90, 1280, 4122, 0, 0}, {1228, 2048, 5983, 0, 0, 0, 0}, {240, 828, 1076, 4128, 0, 0, 0}, {170, 512, 1130, 4437, 0, 0, 0}, {316, 512, 90, 1280, 4096, 0, 0}, {1224, 2056, 5911, 0, 0, 0, 0}, {240, 816, 1080, 4112, 0, 0, 0}, {170, 512, 1126, 4403, 0, 0, 0}, {304, 512, 90, 1280, 4352, 0, 0}, {1220, 2056, 4883, 0, 0, 0, 0}, {240, 828, 1084, 4176, 0, 0, 0}, {170, 520, 1122, 4471, 0, 0, 0}, {308, 520, 90, 1280, 4382, 0, 0}, {1216, 2048, 4959, 0, 0, 0, 0}, {5024, 13056, 1024, 0, 0, 0, 0}, {267, 771, 337, 1028, 4369, 0, 0}, {170, 520, 1032, 4386, 0, 0, 0}, {240, 771, 1036, 4192, 0, 0, 0}, {5100, 8224, 1028, 0, 0, 0, 0}, {271, 512, 341, 1024, 4096, 0, 0}, {170, 512, 1036, 4454, 0, 0, 0}, {240, 783, 1032, 4128, 0, 0, 0}, {1032, 4896, 0, 0, 0, 0, 0}, {90, 259, 0, 0, 0, 0, 0}, {170, 512, 1024, 4352, 0, 0, 0}, {240, 771, 1028, 4112, 0, 0, 0}, {1036, 4972, 0, 0, 0, 0, 0}, {90, 263, 0, 0, 0, 0, 0}, {170, 520, 1028, 4420, 0, 0, 0}, {240, 783, 1024, 4176, 0, 0, 0}, {240, 816, 1088, 4160, 0, 0, 0}, {170, 552, 1092, 4369, 0, 0, 0}, {280, 816, 322, 1042, 4386, 0, 0}, {5043, 13107, 1100, 0, 0, 0, 0}, {240, 828, 1092, 4096, 0, 0, 0}, {170, 544, 1088, 4437, 0, 0, 0}, {284, 544, 326, 1046, 4128, 0, 0}, {5119, 8192, 1096, 0, 0, 0, 0}, {240, 816, 1096, 4144, 0, 0, 0}, {170, 544, 1100, 4403, 0, 0, 0}, {90, 272, 0, 0, 0, 0, 0}, {1092, 4915, 0, 0, 0, 0, 0}, {240, 828, 1100, 4208, 0, 0, 0}, {170, 552, 1096, 4471, 0, 0, 0}, {90, 276, 0, 0, 0, 0, 0}, {1088, 4991, 0, 0, 0, 0, 0}, {1216, 2048, 4864, 0, 0, 0, 0}, {305, 514, 90, 1285, 4369, 0, 0}, {170, 514, 1122, 4386, 0, 0, 0}, {240, 819, 1084, 4096, 0, 0, 0}, {1220, 2056, 4940, 0, 0, 0, 0}, {309, 522, 90, 1285, 4367, 0, 0}, {170, 522, 1126, 4454, 0, 0, 0}, {240, 831, 1080, 4160, 0, 0, 0}, {1224, 2056, 5960, 0, 0, 0, 0}, {313, 522, 90, 1285, 4106, 0, 0}, {170, 522, 1130, 4352, 0, 0, 0}, {240, 819, 1076, 4208, 0, 0, 0}, {1228, 2048, 5888, 0, 0, 0, 0}, {317, 514, 90, 1285, 4112, 0, 0}, {170, 514, 1134, 4420, 0, 0, 0}, {240, 831, 1072, 4144, 0, 0, 0}, {240, 768, 1136, 4128, 0, 0, 0}, {170, 546, 1070, 4369, 0, 0, 0}, {290, 768, 90, 1280, 4096, 0, 0}, {1164, 3084, 4883, 0, 0, 0, 0}, {240, 780, 1140, 4192, 0, 0, 0}, {170, 554, 1066, 4437, 0, 0, 0}, {294, 780, 90, 1280, 4122, 0, 0}, {1160, 3072, 4959, 0, 0, 0, 0}, {240, 768, 1144, 4176, 0, 0, 0}, {170, 554, 1062, 4403, 0, 0, 0}, {298, 768, 90, 1280, 4352, 0, 0}, {1156, 3084, 5911, 0, 0, 0, 0}, {240, 780, 1148, 4112, 0, 0, 0}, {170, 546, 1058, 4471, 0, 0, 0}, {302, 780, 90, 1280, 4382, 0, 0}, {1152, 3072, 5983, 0, 0, 0, 0}, {1088, 4896, 0, 0, 0, 0, 0}, {90, 273, 0, 0, 0, 0, 0}, {170, 546, 1096, 4386, 0, 0, 0}, {240, 819, 1100, 4128, 0, 0, 0}, {1092, 4972, 0, 0, 0, 0, 0}, {90, 277, 0, 0, 0, 0, 0}, {170, 554, 1100, 4454, 0, 0, 0}, {240, 831, 1096, 4192, 0, 0, 0}, {5024, 13056, 1096, 0, 0, 0, 0}, {281, 819, 323, 1046, 4403, 0, 0}, {170, 554, 1088, 4352, 0, 0, 0}, {240, 819, 1092, 4176, 0, 0, 0}, {5100, 8224, 1100, 0, 0, 0, 0}, {285, 546, 327, 1042, 4144, 0, 0}, {170, 546, 1092, 4420, 0, 0, 0}, {240, 831, 1088, 4112, 0, 0, 0}, {240, 768, 1024, 4096, 0, 0, 0}, {170, 514, 1028, 4369, 0, 0, 0}, {90, 258, 0, 0, 0, 0, 0}, {1036, 4915, 0, 0, 0, 0, 0}, {240, 780, 1028, 4160, 0, 0, 0}, {170, 522, 1024, 4437, 0, 0, 0}, {90, 262, 0, 0, 0, 0, 0}, {1032, 4991, 0, 0, 0, 0, 0}, {240, 768, 1032, 4208, 0, 0, 0}, {170, 522, 1036, 4403, 0, 0, 0}, {266, 768, 336, 1024, 4352, 0, 0}, {5043, 13107, 1028, 0, 0, 0, 0}, {240, 780, 1036, 4144, 0, 0, 0}, {170, 514, 1032, 4471, 0, 0, 0}, {270, 514, 340, 1028, 4112, 0, 0}, {5119, 8192, 1024, 0, 0, 0, 0}, {3072, 12288, 20480, 0, 0, 0, 0}, {8, 34, 85, 257, 0, 0, 0}, {8, 34, 514, 1024, 4098, 0, 0}, {255, 771, 20495, 0, 0, 0, 0}, {8, 1028, 4160, 0, 0, 0, 0}, {783, 85, 1285, 0, 0, 0, 0}, {170, 12394, 1542, 0, 0, 0, 0}, {8, 775, 119, 1024, 4103, 0, 0}, {8, 1024, 4096, 0, 0, 0, 0}, {771, 85, 1285, 0, 0, 0, 0}, {170, 12288, 1546, 0, 0, 0, 0}, {8, 771, 119, 1028, 4144, 0, 0}, {3084, 12480, 20480, 0, 0, 0, 0}, {8, 34, 85, 261, 0, 0, 0}, {8, 34, 514, 1028, 4162, 0, 0}, {255, 783, 20495, 0, 0, 0, 0}, {128, 3136, 4112, 0, 0, 0, 0}, {34, 785, 85, 1280, 4369, 0, 0}, {34, 1608, 4626, 0, 0, 0, 0}, {819, 127, 4128, 0, 0, 0, 0}, {136, 3140, 5140, 0, 0, 0, 0}, {42, 789, 85, 1280, 4117, 0, 0}, {42, 1612, 4186, 0, 0, 0, 0}, {831, 119, 5160, 0, 0, 0, 0}, {136, 3144, 5200, 0, 0, 0, 0}, {42, 793, 85, 1280, 4096, 0, 0}, {42, 1600, 4122, 0, 0, 0, 0}, {819, 119, 5147, 0, 0, 0, 0}, {128, 3148, 4176, 0, 0, 0, 0}, {34, 797, 85, 1280, 4352, 0, 0}, {34, 1604, 4698, 0, 0, 0, 0}, {831, 127, 4127, 0, 0, 0, 0}, {128, 3072, 4128, 0, 0, 0, 0}, {34, 771, 85, 1295, 4369, 0, 0}, {34, 1536, 4608, 0, 0, 0, 0}, {771, 127, 4112, 0, 0, 0, 0}, {136, 3084, 5228, 0, 0, 0, 0}, {42, 783, 85, 1295, 4111, 0, 0}, {42, 1548, 4160, 0, 0, 0, 0}, {783, 119, 5159, 0, 0, 0, 0}, {136, 3072, 5160, 0, 0, 0, 0}, {42, 771, 85, 1295, 4122, 0, 0}, {42, 1536, 4096, 0, 0, 0, 0}, {771, 119, 5140, 0, 0, 0, 0}, {128, 3084, 4192, 0, 0, 0, 0}, {34, 783, 85, 1295, 4352, 0, 0}, {34, 1548, 4680, 0, 0, 0, 0}, {783, 127, 4143, 0, 0, 0, 0}, {3264, 12336, 20720, 0, 0, 0, 0}, {8, 34, 85, 275, 0, 0, 0}, {8, 34, 514, 1088, 4112, 0, 0}, {255, 819, 20480, 0, 0, 0, 0}, {8, 1092, 4208, 0, 0, 0, 0}, {831, 85, 1290, 0, 0, 0, 0}, {170, 12378, 1644, 0, 0, 0, 0}, {8, 823, 119, 1079, 4151, 0, 0}, {8, 1088, 4144, 0, 0, 0, 0}, {819, 85, 1290, 0, 0, 0, 0}, {170, 12336, 1632, 0, 0, 0, 0}, {8, 819, 119, 1075, 4096, 0, 0}, {3276, 12528, 20720, 0, 0, 0, 0}, {8, 34, 85, 279, 0, 0, 0}, {8, 34, 514, 1092, 4176, 0, 0}, {255, 831, 20480, 0, 0, 0, 0}, {128, 3136, 4160, 0, 0, 0, 0}, {34, 798, 85, 1285, 4369, 0, 0}, {34, 1602, 4680, 0, 0, 0, 0}, {828, 127, 4111, 0, 0, 0, 0}, {136, 3140, 5188, 0, 0, 0, 0}, {42, 794, 85, 1285, 4112, 0, 0}, {42, 1606, 4106, 0, 0, 0, 0}, {816, 119, 5135, 0, 0, 0, 0}, {136, 3144, 5120, 0, 0, 0, 0}, {42, 790, 85, 1285, 4101, 0, 0}, {42, 1610, 4170, 0, 0, 0, 0}, {828, 119, 5180, 0, 0, 0, 0}, {128, 3148, 4096, 0, 0, 0, 0}, {34, 786, 85, 1285, 4352, 0, 0}, {34, 1614, 4608, 0, 0, 0, 0}, {816, 127, 4144, 0, 0, 0, 0}, {3072, 12528, 20560, 0, 0, 0, 0}, {8, 34, 85, 260, 0, 0, 0}, {8, 34, 512, 1024, 4178, 0, 0}, {255, 780, 20575, 0, 0, 0, 0}, {8, 1028, 4112, 0, 0, 0, 0}, {768, 85, 1280, 0, 0, 0, 0}, {170, 12336, 1548, 0, 0, 0, 0}, {8, 768, 119, 1024, 4128, 0, 0}, {8, 1024, 4176, 0, 0, 0, 0}, {780, 85, 1280, 0, 0, 0, 0}, {170, 12378, 1536, 0, 0, 0, 0}, {8, 772, 119, 1028, 4119, 0, 0}, {3084, 12336, 20560, 0, 0, 0, 0}, {8, 34, 85, 256, 0, 0, 0}, {8, 34, 512, 1028, 4114, 0, 0}, {255, 768, 20575, 0, 0, 0, 0}, {3264, 12480, 20640, 0, 0, 0, 0}, {8, 34, 85, 278, 0, 0, 0}, {8, 34, 512, 1088, 4160, 0, 0}, {255, 828, 20560, 0, 0, 0, 0}, {8, 1092, 4128, 0, 0, 0, 0}, {816, 85, 1295, 0, 0, 0, 0}, {170, 12288, 1638, 0, 0, 0, 0}, {8, 816, 119, 1079, 4112, 0, 0}, {8, 1088, 4192, 0, 0, 0, 0}, {828, 85, 1295, 0, 0, 0, 0}, {170, 12394, 1642, 0, 0, 0, 0}, {8, 820, 119, 1075, 4135, 0, 0}, {3276, 12288, 20640, 0, 0, 0, 0}, {8, 34, 85, 274, 0, 0, 0}, {8, 34, 512, 1092, 4096, 0, 0}, {255, 816, 20560, 0, 0, 0, 0}, {128, 3072, 4208, 0, 0, 0, 0}, {34, 780, 85, 1290, 4369, 0, 0}, {34, 1546, 4698, 0, 0, 0, 0}, {780, 127, 4159, 0, 0, 0, 0}, {136, 3084, 5180, 0, 0, 0, 0}, {42, 768, 85, 1290, 4106, 0, 0}, {42, 1542, 4112, 0, 0, 0, 0}, {768, 119, 5120, 0, 0, 0, 0}, {136, 3072, 5240, 0, 0, 0, 0}, {42, 780, 85, 1290, 4127, 0, 0}, {42, 1546, 4176, 0, 0, 0, 0}, {780, 119, 5171, 0, 0, 0, 0}, {128, 3084, 4144, 0, 0, 0, 0}, {34, 768, 85, 1290, 4352, 0, 0}, {34, 1542, 4626, 0, 0, 0, 0}, {768, 127, 4096, 0, 0, 0, 0}, {128, 3072, 4096, 0, 0, 0, 0}, {34, 771, 85, 1285, 4369, 0, 0}, {34, 1546, 4608, 0, 0, 0, 0}, {771, 127, 4144, 0, 0, 0, 0}, {136, 3084, 5188, 0, 0, 0, 0}, {42, 783, 85, 1285, 4101, 0, 0}, {42, 1542, 4170, 0, 0, 0, 0}, {783, 119, 5135, 0, 0, 0, 0}, {136, 3072, 5120, 0, 0, 0, 0}, {42, 771, 85, 1285, 4112, 0, 0}, {42, 1546, 4106, 0, 0, 0, 0}, {771, 119, 5180, 0, 0, 0, 0}, {128, 3084, 4160, 0, 0, 0, 0}, {34, 783, 85, 1285, 4352, 0, 0}, {34, 1542, 4680, 0, 0, 0, 0}, {783, 127, 4111, 0, 0, 0, 0}, {3264, 12336, 20560, 0, 0, 0, 0}, {8, 34, 85, 273, 0, 0, 0}, {8, 34, 512, 1088, 4114, 0, 0}, {255, 819, 20575, 0, 0, 0, 0}, {8, 1092, 4176, 0, 0, 0, 0}, {831, 85, 1280, 0, 0, 0, 0}, {170, 12378, 1638, 0, 0, 0, 0}, {8, 823, 119, 1079, 4119, 0, 0}, {8, 1088, 4112, 0, 0, 0, 0}, {819, 85, 1280, 0, 0, 0, 0}, {170, 12336, 1642, 0, 0, 0, 0}, {8, 819, 119, 1075, 4128, 0, 0}, {3276, 12528, 20560, 0, 0, 0, 0}, {8, 34, 85, 277, 0, 0, 0}, {8, 34, 512, 1092, 4178, 0, 0}, {255, 831, 20575, 0, 0, 0, 0}, {3072, 12288, 20640, 0, 0, 0, 0}, {8, 34, 85, 259, 0, 0, 0}, {8, 34, 512, 1024, 4096, 0, 0}, {255, 771, 20560, 0, 0, 0, 0}, {8, 1028, 4192, 0, 0, 0, 0}, {783, 85, 1295, 0, 0, 0, 0}, {170, 12394, 1548, 0, 0, 0, 0}, {8, 775, 119, 1024, 4135, 0, 0}, {8, 1024, 4128, 0, 0, 0, 0}, {771, 85, 1295, 0, 0, 0, 0}, {170, 12288, 1536, 0, 0, 0, 0}, {8, 771, 119, 1028, 4112, 0, 0}, {3084, 12480, 20640, 0, 0, 0, 0}, {8, 34, 85, 263, 0, 0, 0}, {8, 34, 512, 1028, 4160, 0, 0}, {255, 783, 20560, 0, 0, 0, 0}, {128, 3136, 4144, 0, 0, 0, 0}, {34, 785, 85, 1290, 4369, 0, 0}, {34, 1602, 4626, 0, 0, 0, 0}, {819, 127, 4096, 0, 0, 0, 0}, {136, 3140, 5180, 0, 0, 0, 0}, {42, 789, 85, 1290, 4127, 0, 0}, {42, 1606, 4176, 0, 0, 0, 0}, {831, 119, 5120, 0, 0, 0, 0}, {136, 3144, 5240, 0, 0, 0, 0}, {42, 793, 85, 1290, 4106, 0, 0}, {42, 1610, 4112, 0, 0, 0, 0}, {819, 119, 5171, 0, 0, 0, 0}, {128, 3148, 4208, 0, 0, 0, 0}, {34, 797, 85, 1290, 4352, 0, 0}, {34, 1614, 4698, 0, 0, 0, 0}, {831, 127, 4159, 0, 0, 0, 0}, {3264, 12480, 20480, 0, 0, 0, 0}, {8, 34, 85, 276, 0, 0, 0}, {8, 34, 514, 1088, 4162, 0, 0}, {255, 828, 20495, 0, 0, 0, 0}, {8, 1092, 4096, 0, 0, 0, 0}, {816, 85, 1285, 0, 0, 0, 0}, {170, 12288, 1644, 0, 0, 0, 0}, {8, 816, 119, 1079, 4144, 0, 0}, {8, 1088, 4160, 0, 0, 0, 0}, {828, 85, 1285, 0, 0, 0, 0}, {170, 12394, 1632, 0, 0, 0, 0}, {8, 820, 119, 1075, 4103, 0, 0}, {3276, 12288, 20480, 0, 0, 0, 0}, {8, 34, 85, 272, 0, 0, 0}, {8, 34, 514, 1092, 4098, 0, 0}, {255, 816, 20495, 0, 0, 0, 0}, {128, 3072, 4176, 0, 0, 0, 0}, {34, 780, 85, 1280, 4369, 0, 0}, {34, 1536, 4698, 0, 0, 0, 0}, {780, 127, 4127, 0, 0, 0, 0}, {136, 3084, 5140, 0, 0, 0, 0}, {42, 768, 85, 1280, 4096, 0, 0}, {42, 1548, 4122, 0, 0, 0, 0}, {768, 119, 5160, 0, 0, 0, 0}, {136, 3072, 5200, 0, 0, 0, 0}, {42, 780, 85, 1280, 4117, 0, 0}, {42, 1536, 4186, 0, 0, 0, 0}, {780, 119, 5147, 0, 0, 0, 0}, {128, 3084, 4112, 0, 0, 0, 0}, {34, 768, 85, 1280, 4352, 0, 0}, {34, 1548, 4626, 0, 0, 0, 0}, {768, 127, 4128, 0, 0, 0, 0}, {128, 3136, 4192, 0, 0, 0, 0}, {34, 798, 85, 1295, 4369, 0, 0}, {34, 1608, 4680, 0, 0, 0, 0}, {828, 127, 4143, 0, 0, 0, 0}, {136, 3140, 5228, 0, 0, 0, 0}, {42, 794, 85, 1295, 4122, 0, 0}, {42, 1612, 4096, 0, 0, 0, 0}, {816, 119, 5159, 0, 0, 0, 0}, {136, 3144, 5160, 0, 0, 0, 0}, {42, 790, 85, 1295, 4111, 0, 0}, {42, 1600, 4160, 0, 0, 0, 0}, {828, 119, 5140, 0, 0, 0, 0}, {128, 3148, 4128, 0, 0, 0, 0}, {34, 786, 85, 1295, 4352, 0, 0}, {34, 1604, 4608, 0, 0, 0, 0}, {816, 127, 4112, 0, 0, 0, 0}, {3072, 12528, 20720, 0, 0, 0, 0}, {8, 34, 85, 262, 0, 0, 0}, {8, 34, 514, 1024, 4176, 0, 0}, {255, 780, 20480, 0, 0, 0, 0}, {8, 1028, 4144, 0, 0, 0, 0}, {768, 85, 1290, 0, 0, 0, 0}, {170, 12336, 1542, 0, 0, 0, 0}, {8, 768, 119, 1024, 4096, 0, 0}, {8, 1024, 4208, 0, 0, 0, 0}, {780, 85, 1290, 0, 0, 0, 0}, {170, 12378, 1546, 0, 0, 0, 0}, {8, 772, 119, 1028, 4151, 0, 0}, {3084, 12336, 20720, 0, 0, 0, 0}, {8, 34, 85, 258, 0, 0, 0}, {8, 34, 514, 1028, 4112, 0, 0}, {255, 768, 20480, 0, 0, 0, 0}, {2048, 8704, 21760, 0, 0, 0, 0}, {12, 48, 80, 257, 0, 0, 0}, {160, 514, 21770, 0, 0, 0, 0}, {12, 48, 771, 1024, 4355, 0, 0}, {12, 1028, 4420, 0, 0, 0, 0}, {522, 80, 1285, 0, 0, 0, 0}, {12, 518, 96, 1024, 4358, 0, 0}, {240, 8824, 1799, 0, 0, 0, 0}, {2056, 8840, 21760, 0, 0, 0, 0}, {12, 48, 80, 261, 0, 0, 0}, {160, 522, 21770, 0, 0, 0, 0}, {12, 48, 771, 1028, 4423, 0, 0}, {12, 1024, 4352, 0, 0, 0, 0}, {514, 80, 1285, 0, 0, 0, 0}, {12, 514, 96, 1028, 4386, 0, 0}, {240, 8704, 1807, 0, 0, 0, 0}, {48, 528, 80, 1280, 4112, 0, 0}, {204, 2116, 4369, 0, 0, 0, 0}, {48, 1864, 4626, 0, 0, 0, 0}, {544, 108, 4403, 0, 0, 0, 0}, {60, 532, 80, 1280, 4372, 0, 0}, {192, 2112, 5397, 0, 0, 0, 0}, {60, 1868, 4442, 0, 0, 0, 0}, {552, 96, 5439, 0, 0, 0, 0}, {48, 536, 80, 1280, 4096, 0, 0}, {204, 2124, 4437, 0, 0, 0, 0}, {48, 1856, 4698, 0, 0, 0, 0}, {552, 108, 4379, 0, 0, 0, 0}, {60, 540, 80, 1280, 4352, 0, 0}, {192, 2120, 5461, 0, 0, 0, 0}, {60, 1860, 4382, 0, 0, 0, 0}, {544, 96, 5407, 0, 0, 0, 0}, {160, 544, 21760, 0, 0, 0, 0}, {12, 48, 771, 1092, 4369, 0, 0}, {2184, 8738, 21930, 0, 0, 0, 0}, {12, 48, 80, 275, 0, 0, 0}, {12, 548, 96, 1060, 4388, 0, 0}, {240, 8794, 1919, 0, 0, 0, 0}, {12, 1088, 4454, 0, 0, 0, 0}, {552, 80, 1295, 0, 0, 0, 0}, {160, 552, 21760, 0, 0, 0, 0}, {12, 48, 771, 1088, 4437, 0, 0}, {2176, 8874, 21930, 0, 0, 0, 0}, {12, 48, 80, 279, 0, 0, 0}, {12, 544, 96, 1056, 4352, 0, 0}, {240, 8738, 1911, 0, 0, 0, 0}, {12, 1092, 4386, 0, 0, 0, 0}, {544, 80, 1295, 0, 0, 0, 0}, {48, 1792, 4608, 0, 0, 0, 0}, {514, 108, 4369, 0, 0, 0, 0}, {48, 514, 80, 1290, 4112, 0, 0}, {204, 2048, 4403, 0, 0, 0, 0}, {60, 1800, 4420, 0, 0, 0, 0}, {522, 96, 5429, 0, 0, 0, 0}, {60, 522, 80, 1290, 4362, 0, 0}, {192, 2056, 5503, 0, 0, 0, 0}, {48, 1800, 4680, 0, 0, 0, 0}, {522, 108, 4409, 0, 0, 0, 0}, {48, 522, 80, 1290, 4096, 0, 0}, {204, 2056, 4471, 0, 0, 0, 0}, {60, 1792, 4352, 0, 0, 0, 0}, {514, 96, 5397, 0, 0, 0, 0}, {60, 514, 80, 1290, 4382, 0, 0}, {192, 2048, 5439, 0, 0, 0, 0}, {192, 2112, 5440, 0, 0, 0, 0}, {60, 542, 80, 1285, 4369, 0, 0}, {546, 96, 5386, 0, 0, 0, 0}, {60, 1859, 4367, 0, 0, 0, 0}, {204, 2116, 4420, 0, 0, 0, 0}, {48, 538, 80, 1285, 4112, 0, 0}, {554, 108, 4362, 0, 0, 0, 0}, {48, 1863, 4680, 0, 0, 0, 0}, {192, 2120, 5376, 0, 0, 0, 0}, {60, 534, 80, 1285, 4357, 0, 0}, {554, 96, 5418, 0, 0, 0, 0}, {60, 1867, 4427, 0, 0, 0, 0}, {204, 2124, 4352, 0, 0, 0, 0}, {48, 530, 80, 1285, 4096, 0, 0}, {546, 108, 4386, 0, 0, 0, 0}, {48, 1871, 4608, 0, 0, 0, 0}, {512, 80, 1280, 0, 0, 0, 0}, {12, 1028, 4369, 0, 0, 0, 0}, {240, 8738, 1800, 0, 0, 0, 0}, {12, 512, 96, 1024, 4403, 0, 0}, {12, 48, 80, 260, 0, 0, 0}, {2048, 8874, 21845, 0, 0, 0, 0}, {12, 48, 768, 1024, 4438, 0, 0}, {160, 520, 21855, 0, 0, 0, 0}, {520, 80, 1280, 0, 0, 0, 0}, {12, 1024, 4437, 0, 0, 0, 0}, {240, 8794, 1792, 0, 0, 0, 0}, {12, 516, 96, 1028, 4375, 0, 0}, {12, 48, 80, 256, 0, 0, 0}, {2056, 8738, 21845, 0, 0, 0, 0}, {12, 48, 768, 1028, 4370, 0, 0}, {160, 512, 21855, 0, 0, 0, 0}, {512, 96, 5376, 0, 0, 0, 0}, {60, 1799, 4369, 0, 0, 0, 0}, {192, 2056, 5418, 0, 0, 0, 0}, {60, 512, 80, 1295, 4367, 0, 0}, {520, 108, 4392, 0, 0, 0, 0}, {48, 1807, 4698, 0, 0, 0, 0}, {204, 2048, 4454, 0, 0, 0, 0}, {48, 520, 80, 1295, 4112, 0, 0}, {520, 96, 5408, 0, 0, 0, 0}, {60, 1807, 4437, 0, 0, 0, 0}, {192, 2048, 5482, 0, 0, 0, 0}, {60, 520, 80, 1295, 4379, 0, 0}, {512, 108, 4352, 0, 0, 0, 0}, {48, 1799, 4626, 0, 0, 0, 0}, {204, 2056, 4386, 0, 0, 0, 0}, {48, 512, 80, 1295, 4096, 0, 0}, {240, 8704, 1904, 0, 0, 0, 0}, {12, 546, 96, 1060, 4369, 0, 0}, {546, 80, 1290, 0, 0, 0, 0}, {12, 1088, 4403, 0, 0, 0, 0}, {12, 48, 768, 1092, 4420, 0, 0}, {160, 554, 21845, 0, 0, 0, 0}, {12, 48, 80, 278, 0, 0, 0}, {2184, 8840, 22015, 0, 0, 0, 0}, {240, 8824, 1912, 0, 0, 0, 0}, {12, 550, 96, 1056, 4405, 0, 0}, {554, 80, 1290, 0, 0, 0, 0}, {12, 1092, 4471, 0, 0, 0, 0}, {12, 48, 768, 1088, 4352, 0, 0}, {160, 546, 21845, 0, 0, 0, 0}, {12, 48, 80, 274, 0, 0, 0}, {2176, 8704, 22015, 0, 0, 0, 0}, {2176, 8704, 21760, 0, 0, 0, 0}, {12, 48, 80, 273, 0, 0, 0}, {160, 546, 21770, 0, 0, 0, 0}, {12, 48, 771, 1088, 4355, 0, 0}, {12, 1092, 4420, 0, 0, 0, 0}, {554, 80, 1285, 0, 0, 0, 0}, {12, 550, 96, 1056, 4358, 0, 0}, {240, 8824, 1911, 0, 0, 0, 0}, {2184, 8840, 21760, 0, 0, 0, 0}, {12, 48, 80, 277, 0, 0, 0}, {160, 554, 21770, 0, 0, 0, 0}, {12, 48, 771, 1092, 4423, 0, 0}, {12, 1088, 4352, 0, 0, 0, 0}, {546, 80, 1285, 0, 0, 0, 0}, {12, 546, 96, 1060, 4386, 0, 0}, {240, 8704, 1919, 0, 0, 0, 0}, {48, 512, 80, 1280, 4096, 0, 0}, {204, 2056, 4369, 0, 0, 0, 0}, {48, 1800, 4626, 0, 0, 0, 0}, {512, 108, 4403, 0, 0, 0, 0}, {60, 520, 80, 1280, 4372, 0, 0}, {192, 2048, 5461, 0, 0, 0, 0}, {60, 1792, 4442, 0, 0, 0, 0}, {520, 96, 5407, 0, 0, 0, 0}, {48, 520, 80, 1280, 4112, 0, 0}, {204, 2048, 4437, 0, 0, 0, 0}, {48, 1792, 4698, 0, 0, 0, 0}, {520, 108, 4379, 0, 0, 0, 0}, {60, 512, 80, 1280, 4352, 0, 0}, {192, 2056, 5397, 0, 0, 0, 0}, {60, 1800, 4382, 0, 0, 0, 0}, {512, 96, 5439, 0, 0, 0, 0}, {160, 512, 21760, 0, 0, 0, 0}, {12, 48, 771, 1028, 4369, 0, 0}, {2056, 8738, 21930, 0, 0, 0, 0}, {12, 48, 80, 259, 0, 0, 0}, {12, 516, 96, 1028, 4388, 0, 0}, {240, 8794, 1807, 0, 0, 0, 0}, {12, 1024, 4454, 0, 0, 0, 0}, {520, 80, 1295, 0, 0, 0, 0}, {160, 520, 21760, 0, 0, 0, 0}, {12, 48, 771, 1024, 4437, 0, 0}, {2048, 8874, 21930, 0, 0, 0, 0}, {12, 48, 80, 263, 0, 0, 0}, {12, 512, 96, 1024, 4352, 0, 0}, {240, 8738, 1799, 0, 0, 0, 0}, {12, 1028, 4386, 0, 0, 0, 0}, {512, 80, 1295, 0, 0, 0, 0}, {48, 1856, 4608, 0, 0, 0, 0}, {546, 108, 4369, 0, 0, 0, 0}, {48, 530, 80, 1290, 4096, 0, 0}, {204, 2124, 4403, 0, 0, 0, 0}, {60, 1860, 4420, 0, 0, 0, 0}, {554, 96, 5397, 0, 0, 0, 0}, {60, 534, 80, 1290, 4362, 0, 0}, {192, 2120, 5439, 0, 0, 0, 0}, {48, 1864, 4680, 0, 0, 0, 0}, {554, 108, 4409, 0, 0, 0, 0}, {48, 538, 80, 1290, 4112, 0, 0}, {204, 2116, 4471, 0, 0, 0, 0}, {60, 1868, 4352, 0, 0, 0, 0}, {546, 96, 5429, 0, 0, 0, 0}, {60, 542, 80, 1290, 4382, 0, 0}, {192, 2112, 5503, 0, 0, 0, 0}, {192, 2048, 5376, 0, 0, 0, 0}, {60, 514, 80, 1285, 4369, 0, 0}, {514, 96, 5418, 0, 0, 0, 0}, {60, 1807, 4367, 0, 0, 0, 0}, {204, 2056, 4420, 0, 0, 0, 0}, {48, 522, 80, 1285, 4096, 0, 0}, {522, 108, 4362, 0, 0, 0, 0}, {48, 1799, 4680, 0, 0, 0, 0}, {192, 2056, 5440, 0, 0, 0, 0}, {60, 522, 80, 1285, 4357, 0, 0}, {522, 96, 5386, 0, 0, 0, 0}, {60, 1799, 4427, 0, 0, 0, 0}, {204, 2048, 4352, 0, 0, 0, 0}, {48, 514, 80, 1285, 4112, 0, 0}, {514, 108, 4386, 0, 0, 0, 0}, {48, 1807, 4608, 0, 0, 0, 0}, {544, 80, 1280, 0, 0, 0, 0}, {12, 1092, 4369, 0, 0, 0, 0}, {240, 8738, 1912, 0, 0, 0, 0}, {12, 544, 96, 1056, 4403, 0, 0}, {12, 48, 80, 276, 0, 0, 0}, {2176, 8874, 21845, 0, 0, 0, 0}, {12, 48, 768, 1088, 4438, 0, 0}, {160, 552, 21855, 0, 0, 0, 0}, {552, 80, 1280, 0, 0, 0, 0}, {12, 1088, 4437, 0, 0, 0, 0}, {240, 8794, 1904, 0, 0, 0, 0}, {12, 548, 96, 1060, 4375, 0, 0}, {12, 48, 80, 272, 0, 0, 0}, {2184, 8738, 21845, 0, 0, 0, 0}, {12, 48, 768, 1092, 4370, 0, 0}, {160, 544, 21855, 0, 0, 0, 0}, {544, 96, 5408, 0, 0, 0, 0}, {60, 1867, 4369, 0, 0, 0, 0}, {192, 2120, 5482, 0, 0, 0, 0}, {60, 540, 80, 1295, 4367, 0, 0}, {552, 108, 4392, 0, 0, 0, 0}, {48, 1871, 4698, 0, 0, 0, 0}, {204, 2124, 4454, 0, 0, 0, 0}, {48, 536, 80, 1295, 4096, 0, 0}, {552, 96, 5376, 0, 0, 0, 0}, {60, 1859, 4437, 0, 0, 0, 0}, {192, 2112, 5418, 0, 0, 0, 0}, {60, 532, 80, 1295, 4379, 0, 0}, {544, 108, 4352, 0, 0, 0, 0}, {48, 1863, 4626, 0, 0, 0, 0}, {204, 2116, 4386, 0, 0, 0, 0}, {48, 528, 80, 1295, 4112, 0, 0}, {240, 8704, 1792, 0, 0, 0, 0}, {12, 514, 96, 1028, 4369, 0, 0}, {514, 80, 1290, 0, 0, 0, 0}, {12, 1024, 4403, 0, 0, 0, 0}, {12, 48, 768, 1028, 4420, 0, 0}, {160, 522, 21845, 0, 0, 0, 0}, {12, 48, 80, 262, 0, 0, 0}, {2056, 8840, 22015, 0, 0, 0, 0}, {240, 8824, 1800, 0, 0, 0, 0}, {12, 518, 96, 1024, 4405, 0, 0}, {522, 80, 1290, 0, 0, 0, 0}, {12, 1028, 4471, 0, 0, 0, 0}, {12, 48, 768, 1024, 4352, 0, 0}, {160, 514, 21845, 0, 0, 0, 0}, {12, 48, 80, 258, 0, 0, 0}, {2048, 8704, 22015, 0, 0, 0, 0}, {1024, 4608, 0, 0, 0, 0, 0}, {95, 257, 0, 0, 0, 0, 0}, {160, 514, 1032, 4128, 0, 0, 0}, {255, 771, 1036, 4403, 0, 0, 0}, {1028, 4680, 0, 0, 0, 0, 0}, {95, 261, 0, 0, 0, 0, 0}, {160, 522, 1036, 4192, 0, 0, 0}, {255, 783, 1032, 4471, 0, 0, 0}, {4744, 12288, 1032, 0, 0, 0, 0}, {265, 771, 342, 1285, 4144, 0, 0}, {160, 522, 1024, 4096, 0, 0, 0}, {255, 771, 1028, 4420, 0, 0, 0}, {4800, 8704, 1036, 0, 0, 0, 0}, {269, 514, 338, 1285, 4386, 0, 0}, {160, 514, 1028, 4160, 0, 0, 0}, {255, 783, 1024, 4352, 0, 0, 0}, {160, 544, 1088, 4112, 0, 0, 0}, {255, 819, 1092, 4369, 0, 0, 0}, {1096, 4626, 0, 0, 0, 0, 0}, {95, 275, 0, 0, 0, 0, 0}, {160, 552, 1092, 4176, 0, 0, 0}, {255, 831, 1088, 4437, 0, 0, 0}, {1100, 4698, 0, 0, 0, 0, 0}, {95, 279, 0, 0, 0, 0, 0}, {160, 552, 1096, 4144, 0, 0, 0}, {255, 819, 1100, 4454, 0, 0, 0}, {4762, 12336, 1088, 0, 0, 0, 0}, {283, 819, 324, 1280, 4096, 0, 0}, {160, 544, 1100, 4208, 0, 0, 0}, {255, 831, 1096, 4386, 0, 0, 0}, {4818, 8738, 1092, 0, 0, 0, 0}, {287, 544, 320, 1280, 4352, 0, 0}, {160, 544, 1056, 4128, 0, 0, 0}, {255, 771, 1147, 4369, 0, 0, 0}, {1160, 3072, 4642, 0, 0, 0, 0}, {291, 771, 95, 1295, 4112, 0, 0}, {160, 552, 1060, 4192, 0, 0, 0}, {255, 783, 1151, 4437, 0, 0, 0}, {1164, 3084, 4714, 0, 0, 0, 0}, {295, 783, 95, 1295, 4111, 0, 0}, {160, 552, 1064, 4096, 0, 0, 0}, {255, 771, 1139, 4454, 0, 0, 0}, {1152, 3072, 5674, 0, 0, 0, 0}, {299, 771, 95, 1295, 4379, 0, 0}, {160, 544, 1068, 4160, 0, 0, 0}, {255, 783, 1143, 4386, 0, 0, 0}, {1156, 3084, 5734, 0, 0, 0, 0}, {303, 783, 95, 1295, 4352, 0, 0}, {1216, 2048, 4656, 0, 0, 0, 0}, {305, 514, 95, 1290, 4369, 0, 0}, {160, 514, 1128, 4112, 0, 0, 0}, {255, 819, 1075, 4403, 0, 0, 0}, {1220, 2056, 4728, 0, 0, 0, 0}, {309, 522, 95, 1290, 4362, 0, 0}, {160, 522, 1132, 4176, 0, 0, 0}, {255, 831, 1079, 4471, 0, 0, 0}, {1224, 2056, 5744, 0, 0, 0, 0}, {313, 522, 95, 1290, 4096, 0, 0}, {160, 522, 1120, 4144, 0, 0, 0}, {255, 819, 1083, 4420, 0, 0, 0}, {1228, 2048, 5692, 0, 0, 0, 0}, {317, 514, 95, 1290, 4127, 0, 0}, {160, 514, 1124, 4208, 0, 0, 0}, {255, 831, 1087, 4352, 0, 0, 0}, {4800, 8704, 1088, 0, 0, 0, 0}, {286, 546, 321, 1285, 4369, 0, 0}, {160, 546, 1096, 4192, 0, 0, 0}, {255, 828, 1100, 4403, 0, 0, 0}, {4744, 12288, 1092, 0, 0, 0, 0}, {282, 816, 325, 1285, 4112, 0, 0}, {160, 554, 1100, 4128, 0, 0, 0}, {255, 816, 1096, 4471, 0, 0, 0}, {1096, 4680, 0, 0, 0, 0, 0}, {95, 278, 0, 0, 0, 0, 0}, {160, 554, 1088, 4160, 0, 0, 0}, {255, 828, 1092, 4420, 0, 0, 0}, {1100, 4608, 0, 0, 0, 0, 0}, {95, 274, 0, 0, 0, 0, 0}, {160, 546, 1092, 4096, 0, 0, 0}, {255, 816, 1088, 4352, 0, 0, 0}, {160, 512, 1024, 4176, 0, 0, 0}, {255, 780, 1028, 4369, 0, 0, 0}, {4818, 8738, 1032, 0, 0, 0, 0}, {268, 512, 339, 1280, 4403, 0, 0}, {160, 520, 1028, 4112, 0, 0, 0}, {255, 768, 1024, 4437, 0, 0, 0}, {4762, 12336, 1036, 0, 0, 0, 0}, {264, 768, 343, 1280, 4128, 0, 0}, {160, 520, 1032, 4208, 0, 0, 0}, {255, 780, 1036, 4454, 0, 0, 0}, {1024, 4698, 0, 0, 0, 0, 0}, {95, 260, 0, 0, 0, 0, 0}, {160, 512, 1036, 4144, 0, 0, 0}, {255, 768, 1032, 4386, 0, 0, 0}, {1028, 4626, 0, 0, 0, 0, 0}, {95, 256, 0, 0, 0, 0, 0}, {160, 512, 1120, 4192, 0, 0, 0}, {255, 828, 1083, 4369, 0, 0, 0}, {1224, 2056, 5674, 0, 0, 0, 0}, {316, 512, 95, 1295, 4111, 0, 0}, {160, 520, 1124, 4128, 0, 0, 0}, {255, 816, 1087, 4437, 0, 0, 0}, {1228, 2048, 5734, 0, 0, 0, 0}, {312, 520, 95, 1295, 4112, 0, 0}, {160, 520, 1128, 4160, 0, 0, 0}, {255, 828, 1075, 4454, 0, 0, 0}, {1216, 2048, 4714, 0, 0, 0, 0}, {308, 520, 95, 1295, 4379, 0, 0}, {160, 512, 1132, 4096, 0, 0, 0}, {255, 816, 1079, 4386, 0, 0, 0}, {1220, 2056, 4642, 0, 0, 0, 0}, {304, 512, 95, 1295, 4352, 0, 0}, {1152, 3072, 5744, 0, 0, 0, 0}, {302, 780, 95, 1290, 4369, 0, 0}, {160, 546, 1064, 4176, 0, 0, 0}, {255, 780, 1139, 4403, 0, 0, 0}, {1156, 3084, 5692, 0, 0, 0, 0}, {298, 768, 95, 1290, 4362, 0, 0}, {160, 554, 1068, 4112, 0, 0, 0}, {255, 768, 1143, 4471, 0, 0, 0}, {1160, 3072, 4728, 0, 0, 0, 0}, {294, 780, 95, 1290, 4127, 0, 0}, {160, 554, 1056, 4208, 0, 0, 0}, {255, 780, 1147, 4420, 0, 0, 0}, {1164, 3084, 4656, 0, 0, 0, 0}, {290, 768, 95, 1290, 4096, 0, 0}, {160, 546, 1060, 4144, 0, 0, 0}, {255, 768, 1151, 4352, 0, 0, 0}, {1152, 3072, 4608, 0, 0, 0, 0}, {289, 771, 95, 1285, 4369, 0, 0}, {160, 546, 1064, 4096, 0, 0, 0}, {255, 771, 1139, 4403, 0, 0, 0}, {1156, 3084, 4680, 0, 0, 0, 0}, {293, 783, 95, 1285, 4362, 0, 0}, {160, 554, 1068, 4160, 0, 0, 0}, {255, 783, 1143, 4471, 0, 0, 0}, {1160, 3072, 5632, 0, 0, 0, 0}, {297, 771, 95, 1285, 4112, 0, 0}, {160, 554, 1056, 4128, 0, 0, 0}, {255, 771, 1147, 4420, 0, 0, 0}, {1164, 3084, 5708, 0, 0, 0, 0}, {301, 783, 95, 1285, 4111, 0, 0}, {160, 546, 1060, 4192, 0, 0, 0}, {255, 783, 1151, 4352, 0, 0, 0}, {160, 512, 1120, 4144, 0, 0, 0}, {255, 819, 1083, 4369, 0, 0, 0}, {1224, 2056, 4626, 0, 0, 0, 0}, {307, 512, 95, 1280, 4096, 0, 0}, {160, 520, 1124, 4208, 0, 0, 0}, {255, 831, 1087, 4437, 0, 0, 0}, {1228, 2048, 4698, 0, 0, 0, 0}, {311, 520, 95, 1280, 4127, 0, 0}, {160, 520, 1128, 4112, 0, 0, 0}, {255, 819, 1075, 4454, 0, 0, 0}, {1216, 2048, 5722, 0, 0, 0, 0}, {315, 520, 95, 1280, 4379, 0, 0}, {160, 512, 1132, 4176, 0, 0, 0}, {255, 831, 1079, 4386, 0, 0, 0}, {1220, 2056, 5654, 0, 0, 0, 0}, {319, 512, 95, 1280, 4352, 0, 0}, {160, 512, 1024, 4096, 0, 0, 0}, {255, 771, 1028, 4369, 0, 0, 0}, {1032, 4642, 0, 0, 0, 0, 0}, {95, 259, 0, 0, 0, 0, 0}, {160, 520, 1028, 4160, 0, 0, 0}, {255, 783, 1024, 4437, 0, 0, 0}, {1036, 4714, 0, 0, 0, 0, 0}, {95, 263, 0, 0, 0, 0, 0}, {160, 520, 1032, 4128, 0, 0, 0}, {255, 771, 1036, 4454, 0, 0, 0}, {4778, 12288, 1024, 0, 0, 0, 0}, {267, 771, 340, 1028, 4112, 0, 0}, {160, 512, 1036, 4192, 0, 0, 0}, {255, 783, 1032, 4386, 0, 0, 0}, {4834, 8738, 1028, 0, 0, 0, 0}, {271, 512, 336, 1024, 4352, 0, 0}, {1088, 4656, 0, 0, 0, 0, 0}, {95, 273, 0, 0, 0, 0, 0}, {160, 546, 1096, 4144, 0, 0, 0}, {255, 819, 1100, 4403, 0, 0, 0}, {1092, 4728, 0, 0, 0, 0, 0}, {95, 277, 0, 0, 0, 0, 0}, {160, 554, 1100, 4208, 0, 0, 0}, {255, 831, 1096, 4471, 0, 0, 0}, {4792, 12336, 1096, 0, 0, 0, 0}, {281, 819, 326, 1043, 4128, 0, 0}, {160, 554, 1088, 4112, 0, 0, 0}, {255, 819, 1092, 4420, 0, 0, 0}, {4848, 8704, 1100, 0, 0, 0, 0}, {285, 546, 322, 1047, 4386, 0, 0}, {160, 546, 1092, 4176, 0, 0, 0}, {255, 831, 1088, 4352, 0, 0, 0}, {1216, 2048, 5632, 0, 0, 0, 0}, {318, 514, 95, 1285, 4369, 0, 0}, {160, 514, 1128, 4160, 0, 0, 0}, {255, 828, 1075, 4403, 0, 0, 0}, {1220, 2056, 5708, 0, 0, 0, 0}, {314, 522, 95, 1285, 4362, 0, 0}, {160, 522, 1132, 4096, 0, 0, 0}, {255, 816, 1079, 4471, 0, 0, 0}, {1224, 2056, 4680, 0, 0, 0, 0}, {310, 522, 95, 1285, 4111, 0, 0}, {160, 522, 1120, 4192, 0, 0, 0}, {255, 828, 1083, 4420, 0, 0, 0}, {1228, 2048, 4608, 0, 0, 0, 0}, {306, 514, 95, 1285, 4112, 0, 0}, {160, 514, 1124, 4128, 0, 0, 0}, {255, 816, 1087, 4352, 0, 0, 0}, {160, 544, 1056, 4208, 0, 0, 0}, {255, 780, 1147, 4369, 0, 0, 0}, {1160, 3072, 5722, 0, 0, 0, 0}, {300, 780, 95, 1280, 4127, 0, 0}, {160, 552, 1060, 4144, 0, 0, 0}, {255, 768, 1151, 4437, 0, 0, 0}, {1164, 3084, 5654, 0, 0, 0, 0}, {296, 768, 95, 1280, 4096, 0, 0}, {160, 552, 1064, 4176, 0, 0, 0}, {255, 780, 1139, 4454, 0, 0, 0}, {1152, 3072, 4698, 0, 0, 0, 0}, {292, 780, 95, 1280, 4379, 0, 0}, {160, 544, 1068, 4112, 0, 0, 0}, {255, 768, 1143, 4386, 0, 0, 0}, {1156, 3084, 4626, 0, 0, 0, 0}, {288, 768, 95, 1280, 4352, 0, 0}, {160, 544, 1088, 4160, 0, 0, 0}, {255, 828, 1092, 4369, 0, 0, 0}, {4834, 8738, 1096, 0, 0, 0, 0}, {284, 544, 323, 1043, 4403, 0, 0}, {160, 552, 1092, 4096, 0, 0, 0}, {255, 816, 1088, 4437, 0, 0, 0}, {4778, 12288, 1100, 0, 0, 0, 0}, {280, 816, 327, 1047, 4144, 0, 0}, {160, 552, 1096, 4192, 0, 0, 0}, {255, 828, 1100, 4454, 0, 0, 0}, {1088, 4714, 0, 0, 0, 0, 0}, {95, 276, 0, 0, 0, 0, 0}, {160, 544, 1100, 4128, 0, 0, 0}, {255, 816, 1096, 4386, 0, 0, 0}, {1092, 4642, 0, 0, 0, 0, 0}, {95, 272, 0, 0, 0, 0, 0}, {4848, 8704, 1024, 0, 0, 0, 0}, {270, 514, 337, 1028, 4369, 0, 0}, {160, 514, 1032, 4208, 0, 0, 0}, {255, 780, 1036, 4403, 0, 0, 0}, {4792, 12336, 1028, 0, 0, 0, 0}, {266, 768, 341, 1024, 4096, 0, 0}, {160, 522, 1036, 4144, 0, 0, 0}, {255, 768, 1032, 4471, 0, 0, 0}, {1032, 4728, 0, 0, 0, 0, 0}, {95, 262, 0, 0, 0, 0, 0}, {160, 522, 1024, 4176, 0, 0, 0}, {255, 780, 1028, 4420, 0, 0, 0}, {1036, 4656, 0, 0, 0, 0, 0}, {95, 258, 0, 0, 0, 0, 0}, {160, 514, 1028, 4112, 0, 0, 0}, {255, 768, 1024, 4352, 0, 0, 0}, {24320, 0, 0, 0, 0, 0, 0}, {4, 18, 257, 0, 0, 0, 0}, {8, 34, 514, 21760, 0, 0, 0}, {12, 48, 771, 20480, 0, 0, 0}, {4, 4864, 0, 0, 0, 0, 0}, {90, 1285, 0, 0, 0, 0, 0}, {12, 13056, 102, 1542, 0, 0, 0}, {8, 8192, 112, 1799, 0, 0, 0}, {8, 8192, 22272, 0, 0, 0, 0}, {12, 48, 771, 86, 1285, 0, 0}, {170, 2570, 21760, 0, 0, 0, 0}, {48, 771, 4, 4096, 0, 0, 0}, {12, 13056, 21248, 0, 0, 0, 0}, {8, 34, 514, 82, 1285, 0, 0}, {34, 514, 4, 4352, 0, 0, 0}, {240, 3855, 20480, 0, 0, 0, 0}, {3840, 48, 64, 4112, 0, 0, 0}, {2560, 34, 68, 4369, 0, 0, 0}, {1280, 18, 0, 0, 0, 0, 0}, {76, 4883, 0, 0, 0, 0, 0}, {3840, 60, 68, 5140, 0, 0, 0}, {2560, 42, 64, 5397, 0, 0, 0}, {1280, 22, 0, 0, 0, 0, 0}, {72, 5911, 0, 0, 0, 0, 0}, {3840, 48, 72, 5912, 0, 0, 0}, {2560, 42, 76, 4889, 0, 0, 0}, {26, 48, 64, 1280, 4096, 0, 0}, {6939, 13107, 68, 0, 0, 0, 0}, {3840, 60, 76, 4892, 0, 0, 0}, {2560, 34, 72, 5917, 0, 0, 0}, {30, 34, 68, 1280, 4352, 0, 0}, {7967, 8224, 64, 0, 0, 0, 0}, {128, 8224, 24352, 0, 0, 0, 0}, {12, 771, 1283, 18, 0, 0, 0}, {2560, 34, 21760, 0, 0, 0, 0}, {12, 48, 771, 64, 4112, 0, 0}, {12, 68, 5924, 0, 0, 0, 0}, {42, 90, 1295, 0, 0, 0, 0}, {12, 38, 64, 1536, 4864, 0, 0}, {3855, 10023, 120, 0, 0, 0, 0}, {136, 10280, 24360, 0, 0, 0, 0}, {12, 771, 1283, 22, 0, 0, 0}, {2560, 42, 21760, 0, 0, 0, 0}, {12, 48, 771, 68, 5140, 0, 0}, {12, 64, 4896, 0, 0, 0, 0}, {34, 90, 1295, 0, 0, 0, 0}, {12, 34, 68, 1536, 4352, 0, 0}, {3855, 8224, 112, 0, 0, 0, 0}, {3840, 48, 20480, 0, 0, 0, 0}, {8, 34, 514, 68, 4369, 0, 0}, {8, 514, 1282, 18, 0, 0, 0}, {204, 13107, 24371, 0, 0, 0, 0}, {8, 52, 68, 1792, 4864, 0, 0}, {2570, 13621, 106, 0, 0, 0, 0}, {60, 90, 1290, 0, 0, 0, 0}, {8, 64, 5943, 0, 0, 0, 0}, {8, 48, 64, 1792, 4096, 0, 0}, {2570, 13107, 102, 0, 0, 0, 0}, {48, 90, 1290, 0, 0, 0, 0}, {8, 68, 4915, 0, 0, 0, 0}, {3840, 60, 20480, 0, 0, 0, 0}, {8, 34, 514, 64, 5397, 0, 0}, {8, 514, 1282, 22, 0, 0, 0}, {192, 16191, 24383, 0, 0, 0, 0}, {7936, 8192, 64, 0, 0, 0, 0}, {30, 34, 68, 1285, 4369, 0, 0}, {2570, 34, 72, 5898, 0, 0, 0}, {3855, 60, 76, 4879, 0, 0, 0}, {6912, 13056, 68, 0, 0, 0, 0}, {26, 48, 64, 1285, 4112, 0, 0}, {2570, 42, 76, 4874, 0, 0, 0}, {3855, 48, 72, 5903, 0, 0, 0}, {72, 5888, 0, 0, 0, 0, 0}, {1285, 22, 0, 0, 0, 0, 0}, {2570, 42, 64, 5376, 0, 0, 0}, {3855, 60, 68, 5120, 0, 0, 0}, {76, 4864, 0, 0, 0, 0, 0}, {1285, 18, 0, 0, 0, 0, 0}, {2570, 34, 68, 4352, 0, 0, 0}, {3855, 48, 64, 4096, 0, 0, 0}, {240, 3840, 20560, 0, 0, 0, 0}, {34, 512, 4, 4369, 0, 0, 0}, {8, 34, 512, 82, 1280, 0, 0}, {12, 13107, 21331, 0, 0, 0, 0}, {48, 768, 4, 4112, 0, 0, 0}, {170, 2560, 21845, 0, 0, 0, 0}, {12, 48, 768, 86, 1280, 0, 0}, {8, 8224, 22359, 0, 0, 0, 0}, {8, 8224, 112, 1792, 0, 0, 0}, {12, 13107, 102, 1536, 0, 0, 0}, {90, 1280, 0, 0, 0, 0, 0}, {4, 4883, 0, 0, 0, 0, 0}, {12, 48, 768, 20560, 0, 0, 0}, {8, 34, 512, 21845, 0, 0, 0}, {4, 18, 256, 0, 0, 0, 0}, {24415, 0, 0, 0, 0, 0, 0}, {192, 16128, 24416, 0, 0, 0, 0}, {8, 512, 1287, 22, 0, 0, 0}, {8, 34, 512, 64, 5376, 0, 0}, {3855, 60, 20560, 0, 0, 0, 0}, {8, 68, 4896, 0, 0, 0, 0}, {48, 90, 1295, 0, 0, 0, 0}, {2560, 13056, 102, 0, 0, 0, 0}, {8, 48, 64, 1799, 4112, 0, 0}, {8, 64, 5920, 0, 0, 0, 0}, {60, 90, 1295, 0, 0, 0, 0}, {2560, 13568, 106, 0, 0, 0, 0}, {8, 52, 68, 1799, 4883, 0, 0}, {204, 13056, 24428, 0, 0, 0, 0}, {8, 512, 1287, 18, 0, 0, 0}, {8, 34, 512, 68, 4352, 0, 0}, {3855, 48, 20560, 0, 0, 0, 0}, {3840, 8192, 112, 0, 0, 0, 0}, {12, 34, 68, 1542, 4369, 0, 0}, {34, 90, 1290, 0, 0, 0, 0}, {12, 64, 4915, 0, 0, 0, 0}, {12, 48, 768, 68, 5120, 0, 0}, {2570, 42, 21845, 0, 0, 0, 0}, {12, 768, 1286, 22, 0, 0, 0}, {136, 10240, 24439, 0, 0, 0, 0}, {3840, 9984, 120, 0, 0, 0, 0}, {12, 38, 64, 1542, 4883, 0, 0}, {42, 90, 1290, 0, 0, 0, 0}, {12, 68, 5939, 0, 0, 0, 0}, {12, 48, 768, 64, 4096, 0, 0}, {2570, 34, 21845, 0, 0, 0, 0}, {12, 768, 1286, 18, 0, 0, 0}, {128, 8192, 24447, 0, 0, 0, 0}, {128, 8192, 24320, 0, 0, 0, 0}, {12, 771, 1285, 18, 0, 0, 0}, {2570, 34, 21760, 0, 0, 0, 0}, {12, 48, 771, 64, 4096, 0, 0}, {12, 68, 5888, 0, 0, 0, 0}, {42, 90, 1285, 0, 0, 0, 0}, {12, 38, 64, 1542, 4870, 0, 0}, {3855, 9999, 120, 0, 0, 0, 0}, {136, 10240, 24320, 0, 0, 0, 0}, {12, 771, 1285, 22, 0, 0, 0}, {2570, 42, 21760, 0, 0, 0, 0}, {12, 48, 771, 68, 5120, 0, 0}, {12, 64, 4864, 0, 0, 0, 0}, {34, 90, 1285, 0, 0, 0, 0}, {12, 34, 68, 1542, 4352, 0, 0}, {3855, 8192, 112, 0, 0, 0, 0}, {3840, 48, 20560, 0, 0, 0, 0}, {8, 34, 512, 68, 4369, 0, 0}, {8, 512, 1280, 18, 0, 0, 0}, {204, 13107, 24415, 0, 0, 0, 0}, {8, 52, 68, 1792, 4884, 0, 0}, {2560, 13631, 106, 0, 0, 0, 0}, {60, 90, 1280, 0, 0, 0, 0}, {8, 64, 5911, 0, 0, 0, 0}, {8, 48, 64, 1792, 4112, 0, 0}, {2560, 13107, 102, 0, 0, 0, 0}, {48, 90, 1280, 0, 0, 0, 0}, {8, 68, 4883, 0, 0, 0, 0}, {3840, 60, 20560, 0, 0, 0, 0}, {8, 34, 512, 64, 5397, 0, 0}, {8, 512, 1280, 22, 0, 0, 0}, {192, 16191, 24415, 0, 0, 0, 0}, {24480, 0, 0, 0, 0, 0, 0}, {4, 18, 259, 0, 0, 0, 0}, {8, 34, 512, 21760, 0, 0, 0}, {12, 48, 771, 20560, 0, 0, 0}, {4, 4896, 0, 0, 0, 0, 0}, {90, 1295, 0, 0, 0, 0, 0}, {12, 13056, 102, 1536, 0, 0, 0}, {8, 8224, 112, 1799, 0, 0, 0}, {8, 8224, 22304, 0, 0, 0, 0}, {12, 48, 771, 86, 1283, 0, 0}, {170, 2560, 21760, 0, 0, 0, 0}, {48, 771, 4, 4112, 0, 0, 0}, {12, 13056, 21344, 0, 0, 0, 0}, {8, 34, 512, 82, 1287, 0, 0}, {34, 512, 4, 4352, 0, 0, 0}, {240, 3855, 20560, 0, 0, 0, 0}, {3840, 48, 64, 4096, 0, 0, 0}, {2570, 34, 68, 4369, 0, 0, 0}, {1290, 18, 0, 0, 0, 0, 0}, {76, 4915, 0, 0, 0, 0, 0}, {3840, 60, 68, 5120, 0, 0, 0}, {2570, 42, 64, 5397, 0, 0, 0}, {1290, 22, 0, 0, 0, 0, 0}, {72, 5951, 0, 0, 0, 0, 0}, {3840, 48, 72, 5888, 0, 0, 0}, {2570, 42, 76, 4883, 0, 0, 0}, {26, 48, 64, 1296, 4112, 0, 0}, {6963, 13107, 68, 0, 0, 0, 0}, {3840, 60, 76, 4864, 0, 0, 0}, {2570, 34, 72, 5911, 0, 0, 0}, {30, 34, 68, 1300, 4352, 0, 0}, {7999, 8192, 64, 0, 0, 0, 0}, {192, 16128, 24320, 0, 0, 0, 0}, {8, 514, 1285, 22, 0, 0, 0}, {8, 34, 514, 64, 5376, 0, 0}, {3855, 60, 20480, 0, 0, 0, 0}, {8, 68, 4864, 0, 0, 0, 0}, {48, 90, 1285, 0, 0, 0, 0}, {2570, 13056, 102, 0, 0, 0, 0}, {8, 48, 64, 1799, 4096, 0, 0}, {8, 64, 5888, 0, 0, 0, 0}, {60, 90, 1285, 0, 0, 0, 0}, {2570, 13578, 106, 0, 0, 0, 0}, {8, 52, 68, 1799, 4871, 0, 0}, {204, 13056, 24320, 0, 0, 0, 0}, {8, 514, 1285, 18, 0, 0, 0}, {8, 34, 514, 68, 4352, 0, 0}, {3855, 48, 20480, 0, 0, 0, 0}, {3840, 8224, 112, 0, 0, 0, 0}, {12, 34, 68, 1536, 4369, 0, 0}, {34, 90, 1280, 0, 0, 0, 0}, {12, 64, 4883, 0, 0, 0, 0}, {12, 48, 768, 68, 5140, 0, 0}, {2560, 42, 21845, 0, 0, 0, 0}, {12, 768, 1280, 22, 0, 0, 0}, {136, 10280, 24415, 0, 0, 0, 0}, {3840, 10024, 120, 0, 0, 0, 0}, {12, 38, 64, 1536, 4885, 0, 0}, {42, 90, 1280, 0, 0, 0, 0}, {12, 68, 5911, 0, 0, 0, 0}, {12, 48, 768, 64, 4112, 0, 0}, {2560, 34, 21845, 0, 0, 0, 0}, {12, 768, 1280, 18, 0, 0, 0}, {128, 8224, 24415, 0, 0, 0, 0}, {7968, 8224, 64, 0, 0, 0, 0}, {30, 34, 68, 1297, 4369, 0, 0}, {2560, 34, 72, 5888, 0, 0, 0}, {3855, 60, 76, 4883, 0, 0, 0}, {6952, 13056, 68, 0, 0, 0, 0}, {26, 48, 64, 1301, 4096, 0, 0}, {2560, 42, 76, 4864, 0, 0, 0}, {3855, 48, 72, 5911, 0, 0, 0}, {72, 5928, 0, 0, 0, 0, 0}, {1295, 22, 0, 0, 0, 0, 0}, {2560, 42, 64, 5376, 0, 0, 0}, {3855, 60, 68, 5140, 0, 0, 0}, {76, 4896, 0, 0, 0, 0, 0}, {1295, 18, 0, 0, 0, 0, 0}, {2560, 34, 68, 4352, 0, 0, 0}, {3855, 48, 64, 4112, 0, 0, 0}, {240, 3840, 20480, 0, 0, 0, 0}, {34, 514, 4, 4369, 0, 0, 0}, {8, 34, 514, 82, 1282, 0, 0}, {12, 13107, 21299, 0, 0, 0, 0}, {48, 768, 4, 4096, 0, 0, 0}, {170, 2570, 21845, 0, 0, 0, 0}, {12, 48, 768, 86, 1286, 0, 0}, {8, 8192, 22391, 0, 0, 0, 0}, {8, 8192, 112, 1792, 0, 0, 0}, {12, 13107, 102, 1542, 0, 0, 0}, {90, 1290, 0, 0, 0, 0, 0}, {4, 4915, 0, 0, 0, 0, 0}, {12, 48, 768, 20480, 0, 0, 0}, {8, 34, 514, 21845, 0, 0, 0}, {4, 18, 258, 0, 0, 0, 0}, {24575, 0, 0, 0, 0, 0, 0}, {24576, 0, 0, 0, 0, 0, 0}, {7, 17, 257, 0, 0, 0, 0}, {8, 34, 514, 16384, 0, 0, 0}, {15, 51, 771, 20480, 0, 0, 0}, {8, 8192, 68, 1028, 0, 0, 0}, {15, 12288, 85, 1285, 0, 0, 0}, {102, 1542, 0, 0, 0, 0, 0}, {7, 4096, 0, 0, 0, 0, 0}, {8, 8192, 16384, 0, 0, 0, 0}, {15, 51, 771, 85, 1285, 0, 0}, {170, 2570, 24586, 0, 0, 0, 0}, {51, 771, 7, 4099, 0, 0, 0}, {204, 3084, 24588, 0, 0, 0, 0}, {34, 514, 7, 4098, 0, 0, 0}, {8, 34, 514, 68, 1028, 0, 0}, {15, 12288, 20480, 0, 0, 0, 0}, {112, 4112, 0, 0, 0, 0, 0}, {1536, 17, 0, 0, 0, 0, 0}, {2560, 34, 90, 4626, 0, 0, 0}, {3072, 51, 76, 4883, 0, 0, 0}, {3072, 60, 68, 5140, 0, 0, 0}, {2560, 42, 85, 5397, 0, 0, 0}, {1536, 22, 0, 0, 0, 0, 0}, {119, 5911, 0, 0, 0, 0, 0}, {6168, 12336, 120, 0, 0, 0, 0}, {25, 51, 85, 1536, 4864, 0, 0}, {2560, 42, 90, 4122, 0, 0, 0}, {3072, 51, 68, 5915, 0, 0, 0}, {3072, 60, 76, 4124, 0, 0, 0}, {2560, 34, 85, 5917, 0, 0, 0}, {30, 34, 68, 1536, 4608, 0, 0}, {7967, 8224, 127, 0, 0, 0, 0}, {128, 8224, 16384, 0, 0, 0, 0}, {15, 771, 1280, 17, 0, 0, 0}, {2560, 34, 16896, 0, 0, 0, 0}, {15, 51, 771, 67, 4112, 0, 0}, {3084, 9252, 68, 0, 0, 0, 0}, {15, 37, 85, 1280, 4096, 0, 0}, {42, 76, 1548, 0, 0, 0, 0}, {15, 119, 5927, 0, 0, 0, 0}, {136, 10280, 18432, 0, 0, 0, 0}, {15, 771, 1280, 22, 0, 0, 0}, {2560, 42, 16384, 0, 0, 0, 0}, {15, 51, 771, 68, 5140, 0, 0}, {3084, 8224, 76, 0, 0, 0, 0}, {15, 34, 85, 1280, 4608, 0, 0}, {34, 68, 1548, 0, 0, 0, 0}, {15, 112, 4128, 0, 0, 0, 0}, {240, 12336, 20480, 0, 0, 0, 0}, {8, 514, 1024, 17, 0, 0, 0}, {8, 34, 514, 82, 4112, 0, 0}, {3072, 51, 21248, 0, 0, 0, 0}, {8, 52, 68, 1024, 4096, 0, 0}, {2570, 13621, 85, 0, 0, 0, 0}, {60, 90, 1546, 0, 0, 0, 0}, {8, 119, 5943, 0, 0, 0, 0}, {8, 112, 4144, 0, 0, 0, 0}, {51, 85, 1546, 0, 0, 0, 0}, {2570, 12336, 90, 0, 0, 0, 0}, {8, 51, 68, 1024, 4864, 0, 0}, {3072, 60, 20480, 0, 0, 0, 0}, {8, 34, 514, 85, 5397, 0, 0}, {8, 514, 1024, 22, 0, 0, 0}, {255, 16191, 24320, 0, 0, 0, 0}, {128, 8192, 16448, 0, 0, 0, 0}, {15, 768, 1285, 17, 0, 0, 0}, {2570, 34, 16962, 0, 0, 0, 0}, {15, 51, 768, 67, 4096, 0, 0}, {3072, 9216, 68, 0, 0, 0, 0}, {15, 37, 85, 1285, 4112, 0, 0}, {42, 76, 1546, 0, 0, 0, 0}, {15, 119, 5936, 0, 0, 0, 0}, {136, 10240, 18504, 0, 0, 0, 0}, {15, 768, 1285, 22, 0, 0, 0}, {2570, 42, 16448, 0, 0, 0, 0}, {15, 51, 768, 68, 5120, 0, 0}, {3072, 8192, 76, 0, 0, 0, 0}, {15, 34, 85, 1285, 4626, 0, 0}, {34, 68, 1546, 0, 0, 0, 0}, {15, 112, 4144, 0, 0, 0, 0}, {240, 12288, 20560, 0, 0, 0, 0}, {8, 512, 1028, 17, 0, 0, 0}, {8, 34, 512, 82, 4096, 0, 0}, {3084, 51, 21331, 0, 0, 0, 0}, {8, 52, 68, 1028, 4112, 0, 0}, {2560, 13568, 85, 0, 0, 0, 0}, {60, 90, 1548, 0, 0, 0, 0}, {8, 119, 5920, 0, 0, 0, 0}, {8, 112, 4128, 0, 0, 0, 0}, {51, 85, 1548, 0, 0, 0, 0}, {2560, 12288, 90, 0, 0, 0, 0}, {8, 51, 68, 1028, 4883, 0, 0}, {3084, 60, 20560, 0, 0, 0, 0}, {8, 34, 512, 85, 5376, 0, 0}, {8, 512, 1028, 22, 0, 0, 0}, {255, 16128, 24415, 0, 0, 0, 0}, {24672, 0, 0, 0, 0, 0, 0}, {7, 17, 256, 0, 0, 0, 0}, {8, 34, 512, 16448, 0, 0, 0}, {15, 51, 768, 20560, 0, 0, 0}, {8, 8224, 68, 1024, 0, 0, 0}, {15, 12336, 85, 1280, 0, 0, 0}, {102, 1536, 0, 0, 0, 0, 0}, {7, 4112, 0, 0, 0, 0, 0}, {8, 8224, 16448, 0, 0, 0, 0}, {15, 51, 768, 85, 1280, 0, 0}, {170, 2560, 24682, 0, 0, 0, 0}, {51, 768, 7, 4115, 0, 0, 0}, {204, 3072, 24684, 0, 0, 0, 0}, {34, 512, 7, 4114, 0, 0, 0}, {8, 34, 512, 68, 1024, 0, 0}, {15, 12336, 20560, 0, 0, 0, 0}, {112, 4096, 0, 0, 0, 0, 0}, {1542, 17, 0, 0, 0, 0, 0}, {2570, 34, 90, 4608, 0, 0, 0}, {3084, 51, 76, 4864, 0, 0, 0}, {3084, 60, 68, 5120, 0, 0, 0}, {2570, 42, 85, 5376, 0, 0, 0}, {1542, 22, 0, 0, 0, 0, 0}, {119, 5888, 0, 0, 0, 0, 0}, {6144, 12288, 120, 0, 0, 0, 0}, {25, 51, 85, 1542, 4883, 0, 0}, {2570, 42, 90, 4106, 0, 0, 0}, {3084, 51, 68, 5900, 0, 0, 0}, {3084, 60, 76, 4108, 0, 0, 0}, {2570, 34, 85, 5898, 0, 0, 0}, {30, 34, 68, 1542, 4626, 0, 0}, {7936, 8192, 127, 0, 0, 0, 0}, {128, 8192, 16384, 0, 0, 0, 0}, {15, 771, 1285, 17, 0, 0, 0}, {2570, 34, 16906, 0, 0, 0, 0}, {15, 51, 771, 67, 4099, 0, 0}, {3084, 9228, 68, 0, 0, 0, 0}, {15, 37, 85, 1285, 4101, 0, 0}, {42, 76, 1542, 0, 0, 0, 0}, {15, 119, 5888, 0, 0, 0, 0}, {136, 10240, 18432, 0, 0, 0, 0}, {15, 771, 1285, 22, 0, 0, 0}, {2570, 42, 16384, 0, 0, 0, 0}, {15, 51, 771, 68, 5120, 0, 0}, {3084, 8192, 76, 0, 0, 0, 0}, {15, 34, 85, 1285, 4608, 0, 0}, {34, 68, 1542, 0, 0, 0, 0}, {15, 112, 4096, 0, 0, 0, 0}, {240, 12336, 20560, 0, 0, 0, 0}, {8, 512, 1024, 17, 0, 0, 0}, {8, 34, 512, 82, 4114, 0, 0}, {3072, 51, 21343, 0, 0, 0, 0}, {8, 52, 68, 1024, 4116, 0, 0}, {2560, 13631, 85, 0, 0, 0, 0}, {60, 90, 1536, 0, 0, 0, 0}, {8, 119, 5911, 0, 0, 0, 0}, {8, 112, 4112, 0, 0, 0, 0}, {51, 85, 1536, 0, 0, 0, 0}, {2560, 12336, 90, 0, 0, 0, 0}, {8, 51, 68, 1024, 4883, 0, 0}, {3072, 60, 20560, 0, 0, 0, 0}, {8, 34, 512, 85, 5397, 0, 0}, {8, 512, 1024, 22, 0, 0, 0}, {255, 16191, 24415, 0, 0, 0, 0}, {24736, 0, 0, 0, 0, 0, 0}, {7, 17, 259, 0, 0, 0, 0}, {8, 34, 512, 16384, 0, 0, 0}, {15, 51, 771, 20560, 0, 0, 0}, {8, 8224, 68, 1028, 0, 0, 0}, {15, 12288, 85, 1280, 0, 0, 0}, {102, 1548, 0, 0, 0, 0, 0}, {7, 4128, 0, 0, 0, 0, 0}, {8, 8224, 16384, 0, 0, 0, 0}, {15, 51, 771, 85, 1280, 0, 0}, {170, 2560, 24576, 0, 0, 0, 0}, {51, 771, 7, 4112, 0, 0, 0}, {204, 3084, 24672, 0, 0, 0, 0}, {34, 512, 7, 4096, 0, 0, 0}, {8, 34, 512, 68, 1028, 0, 0}, {15, 12288, 20560, 0, 0, 0, 0}, {112, 4144, 0, 0, 0, 0, 0}, {1546, 17, 0, 0, 0, 0, 0}, {2570, 34, 90, 4626, 0, 0, 0}, {3072, 51, 76, 4864, 0, 0, 0}, {3072, 60, 68, 5120, 0, 0, 0}, {2570, 42, 85, 5397, 0, 0, 0}, {1546, 22, 0, 0, 0, 0, 0}, {119, 5951, 0, 0, 0, 0, 0}, {6192, 12336, 120, 0, 0, 0, 0}, {25, 51, 85, 1555, 4883, 0, 0}, {2570, 42, 90, 4112, 0, 0, 0}, {3072, 51, 68, 5888, 0, 0, 0}, {3072, 60, 76, 4096, 0, 0, 0}, {2570, 34, 85, 5911, 0, 0, 0}, {30, 34, 68, 1556, 4608, 0, 0}, {7999, 8192, 127, 0, 0, 0, 0}, {24768, 0, 0, 0, 0, 0, 0}, {7, 17, 258, 0, 0, 0, 0}, {8, 34, 514, 16448, 0, 0, 0}, {15, 51, 768, 20480, 0, 0, 0}, {8, 8192, 68, 1024, 0, 0, 0}, {15, 12336, 85, 1285, 0, 0, 0}, {102, 1546, 0, 0, 0, 0, 0}, {7, 4144, 0, 0, 0, 0, 0}, {8, 8192, 16448, 0, 0, 0, 0}, {15, 51, 768, 85, 1285, 0, 0}, {170, 2570, 24672, 0, 0, 0, 0}, {51, 768, 7, 4096, 0, 0, 0}, {204, 3072, 24576, 0, 0, 0, 0}, {34, 514, 7, 4112, 0, 0, 0}, {8, 34, 514, 68, 1024, 0, 0}, {15, 12336, 20480, 0, 0, 0, 0}, {112, 4128, 0, 0, 0, 0, 0}, {1548, 17, 0, 0, 0, 0, 0}, {2560, 34, 90, 4608, 0, 0, 0}, {3084, 51, 76, 4883, 0, 0, 0}, {3084, 60, 68, 5140, 0, 0, 0}, {2560, 42, 85, 5376, 0, 0, 0}, {1548, 22, 0, 0, 0, 0, 0}, {119, 5928, 0, 0, 0, 0, 0}, {6184, 12288, 120, 0, 0, 0, 0}, {25, 51, 85, 1557, 4864, 0, 0}, {2560, 42, 90, 4096, 0, 0, 0}, {3084, 51, 68, 5911, 0, 0, 0}, {3084, 60, 76, 4112, 0, 0, 0}, {2560, 34, 85, 5888, 0, 0, 0}, {30, 34, 68, 1554, 4626, 0, 0}, {7968, 8224, 127, 0, 0, 0, 0}, {128, 8224, 16448, 0, 0, 0, 0}, {15, 768, 1280, 17, 0, 0, 0}, {2560, 34, 16968, 0, 0, 0, 0}, {15, 51, 768, 67, 4115, 0, 0}, {3072, 9256, 68, 0, 0, 0, 0}, {15, 37, 85, 1280, 4117, 0, 0}, {42, 76, 1536, 0, 0, 0, 0}, {15, 119, 5911, 0, 0, 0, 0}, {136, 10280, 18504, 0, 0, 0, 0}, {15, 768, 1280, 22, 0, 0, 0}, {2560, 42, 16448, 0, 0, 0, 0}, {15, 51, 768, 68, 5140, 0, 0}, {3072, 8224, 76, 0, 0, 0, 0}, {15, 34, 85, 1280, 4626, 0, 0}, {34, 68, 1536, 0, 0, 0, 0}, {15, 112, 4112, 0, 0, 0, 0}, {240, 12288, 20480, 0, 0, 0, 0}, {8, 514, 1028, 17, 0, 0, 0}, {8, 34, 514, 82, 4098, 0, 0}, {3084, 51, 21260, 0, 0, 0, 0}, {8, 52, 68, 1028, 4100, 0, 0}, {2570, 13578, 85, 0, 0, 0, 0}, {60, 90, 1542, 0, 0, 0, 0}, {8, 119, 5888, 0, 0, 0, 0}, {8, 112, 4096, 0, 0, 0, 0}, {51, 85, 1542, 0, 0, 0, 0}, {2570, 12288, 90, 0, 0, 0, 0}, {8, 51, 68, 1028, 4864, 0, 0}, {3084, 60, 20480, 0, 0, 0, 0}, {8, 34, 514, 85, 5376, 0, 0}, {8, 514, 1028, 22, 0, 0, 0}, {255, 16128, 24320, 0, 0, 0, 0}, {1792, 4352, 0, 0, 0, 0, 0}, {96, 257, 0, 0, 0, 0, 0}, {160, 514, 1290, 4386, 0, 0, 0}, {192, 771, 1036, 4403, 0, 0, 0}, {192, 780, 1028, 4420, 0, 0, 0}, {160, 522, 1285, 4437, 0, 0, 0}, {96, 262, 0, 0, 0, 0, 0}, {1799, 4471, 0, 0, 0, 0, 0}, {4488, 13056, 1800, 0, 0, 0, 0}, {265, 771, 96, 1285, 4144, 0, 0}, {160, 522, 1290, 4362, 0, 0, 0}, {192, 771, 1028, 4475, 0, 0, 0}, {192, 780, 1036, 4364, 0, 0, 0}, {160, 514, 1285, 4477, 0, 0, 0}, {270, 514, 96, 1028, 4128, 0, 0}, {4607, 8704, 1807, 0, 0, 0, 0}, {96, 272, 0, 0, 0, 0, 0}, {1911, 4369, 0, 0, 0, 0, 0}, {192, 816, 1096, 4386, 0, 0, 0}, {160, 544, 1375, 4403, 0, 0, 0}, {160, 552, 1360, 4420, 0, 0, 0}, {192, 831, 1088, 4437, 0, 0, 0}, {1904, 4454, 0, 0, 0, 0, 0}, {96, 279, 0, 0, 0, 0, 0}, {280, 816, 96, 1328, 4144, 0, 0}, {4505, 13107, 1919, 0, 0, 0, 0}, {192, 816, 1088, 4458, 0, 0, 0}, {160, 552, 1375, 4379, 0, 0, 0}, {160, 544, 1360, 4460, 0, 0, 0}, {192, 831, 1096, 4381, 0, 0, 0}, {4590, 8738, 1912, 0, 0, 0, 0}, {287, 544, 96, 1056, 4128, 0, 0}, {160, 544, 1280, 4352, 0, 0, 0}, {192, 771, 1092, 4369, 0, 0, 0}, {1928, 3840, 4386, 0, 0, 0, 0}, {291, 771, 323, 1295, 4112, 0, 0}, {292, 780, 324, 1280, 4096, 0, 0}, {1935, 3855, 4437, 0, 0, 0, 0}, {192, 780, 1100, 4454, 0, 0, 0}, {160, 552, 1295, 4471, 0, 0, 0}, {160, 552, 1280, 4392, 0, 0, 0}, {192, 771, 1100, 4441, 0, 0, 0}, {1920, 3840, 5674, 0, 0, 0, 0}, {299, 771, 331, 1295, 4379, 0, 0}, {300, 780, 332, 1280, 4364, 0, 0}, {1927, 3855, 5722, 0, 0, 0, 0}, {192, 780, 1092, 4398, 0, 0, 0}, {160, 544, 1295, 4447, 0, 0, 0}, {192, 816, 1024, 4352, 0, 0, 0}, {160, 514, 1365, 4369, 0, 0, 0}, {306, 514, 338, 1032, 4112, 0, 0}, {2047, 2048, 4403, 0, 0, 0, 0}, {2040, 2056, 4420, 0, 0, 0, 0}, {309, 522, 341, 1024, 4096, 0, 0}, {160, 522, 1370, 4454, 0, 0, 0}, {192, 831, 1032, 4471, 0, 0, 0}, {192, 816, 1032, 4424, 0, 0, 0}, {160, 522, 1365, 4409, 0, 0, 0}, {314, 522, 346, 1024, 4362, 0, 0}, {2039, 2056, 5708, 0, 0, 0, 0}, {2032, 2048, 5692, 0, 0, 0, 0}, {317, 514, 349, 1032, 4381, 0, 0}, {160, 514, 1370, 4430, 0, 0, 0}, {192, 831, 1024, 4415, 0, 0, 0}, {192, 768, 1088, 4352, 0, 0, 0}, {160, 546, 1285, 4369, 0, 0, 0}, {290, 768, 322, 1290, 4096, 0, 0}, {1935, 3855, 4403, 0, 0, 0, 0}, {1928, 3840, 4420, 0, 0, 0, 0}, {293, 783, 325, 1285, 4112, 0, 0}, {160, 554, 1290, 4454, 0, 0, 0}, {192, 783, 1096, 4471, 0, 0, 0}, {192, 768, 1096, 4424, 0, 0, 0}, {160, 554, 1285, 4409, 0, 0, 0}, {298, 768, 330, 1290, 4362, 0, 0}, {1927, 3855, 5692, 0, 0, 0, 0}, {1920, 3840, 5708, 0, 0, 0, 0}, {301, 783, 333, 1285, 4381, 0, 0}, {160, 546, 1290, 4430, 0, 0, 0}, {192, 783, 1088, 4415, 0, 0, 0}, {160, 512, 1360, 4352, 0, 0, 0}, {192, 819, 1028, 4369, 0, 0, 0}, {2040, 2056, 4386, 0, 0, 0, 0}, {307, 512, 339, 1036, 4096, 0, 0}, {308, 520, 340, 1028, 4112, 0, 0}, {2047, 2048, 4437, 0, 0, 0, 0}, {192, 828, 1036, 4454, 0, 0, 0}, {160, 520, 1375, 4471, 0, 0, 0}, {160, 520, 1360, 4392, 0, 0, 0}, {192, 819, 1036, 4441, 0, 0, 0}, {2032, 2048, 5722, 0, 0, 0, 0}, {315, 520, 347, 1028, 4379, 0, 0}, {316, 512, 348, 1036, 4364, 0, 0}, {2039, 2056, 5674, 0, 0, 0, 0}, {192, 828, 1028, 4398, 0, 0, 0}, {160, 512, 1375, 4447, 0, 0, 0}, {96, 256, 0, 0, 0, 0, 0}, {1799, 4369, 0, 0, 0, 0, 0}, {192, 768, 1032, 4386, 0, 0, 0}, {160, 512, 1295, 4403, 0, 0, 0}, {160, 520, 1280, 4420, 0, 0, 0}, {192, 783, 1024, 4437, 0, 0, 0}, {1792, 4454, 0, 0, 0, 0, 0}, {96, 263, 0, 0, 0, 0, 0}, {264, 768, 96, 1280, 4128, 0, 0}, {4505, 13107, 1807, 0, 0, 0, 0}, {192, 768, 1024, 4458, 0, 0, 0}, {160, 520, 1295, 4379, 0, 0, 0}, {160, 512, 1280, 4460, 0, 0, 0}, {192, 783, 1032, 4381, 0, 0, 0}, {4590, 8738, 1800, 0, 0, 0, 0}, {271, 512, 96, 1024, 4144, 0, 0}, {1904, 4352, 0, 0, 0, 0, 0}, {96, 273, 0, 0, 0, 0, 0}, {160, 546, 1370, 4386, 0, 0, 0}, {192, 819, 1100, 4403, 0, 0, 0}, {192, 828, 1092, 4420, 0, 0, 0}, {160, 554, 1365, 4437, 0, 0, 0}, {96, 278, 0, 0, 0, 0, 0}, {1911, 4471, 0, 0, 0, 0, 0}, {4488, 13056, 1912, 0, 0, 0, 0}, {281, 819, 96, 1333, 4128, 0, 0}, {160, 554, 1370, 4362, 0, 0, 0}, {192, 819, 1092, 4475, 0, 0, 0}, {192, 828, 1100, 4364, 0, 0, 0}, {160, 546, 1365, 4477, 0, 0, 0}, {286, 546, 96, 1060, 4144, 0, 0}, {4607, 8704, 1919, 0, 0, 0, 0}, {1920, 3840, 4352, 0, 0, 0, 0}, {289, 771, 321, 1285, 4369, 0, 0}, {160, 546, 1290, 4386, 0, 0, 0}, {192, 771, 1100, 4403, 0, 0, 0}, {192, 780, 1092, 4420, 0, 0, 0}, {160, 554, 1285, 4437, 0, 0, 0}, {294, 780, 326, 1290, 4358, 0, 0}, {1927, 3855, 4471, 0, 0, 0, 0}, {1928, 3840, 5632, 0, 0, 0, 0}, {297, 771, 329, 1285, 4112, 0, 0}, {160, 554, 1290, 4362, 0, 0, 0}, {192, 771, 1092, 4475, 0, 0, 0}, {192, 780, 1100, 4364, 0, 0, 0}, {160, 546, 1285, 4477, 0, 0, 0}, {302, 780, 334, 1290, 4096, 0, 0}, {1935, 3855, 5744, 0, 0, 0, 0}, {304, 512, 336, 1024, 4352, 0, 0}, {2039, 2056, 4369, 0, 0, 0, 0}, {192, 816, 1032, 4386, 0, 0, 0}, {160, 512, 1375, 4403, 0, 0, 0}, {160, 520, 1360, 4420, 0, 0, 0}, {192, 831, 1024, 4437, 0, 0, 0}, {2032, 2048, 4454, 0, 0, 0, 0}, {311, 520, 343, 1032, 4375, 0, 0}, {312, 520, 344, 1032, 4112, 0, 0}, {2047, 2048, 5734, 0, 0, 0, 0}, {192, 816, 1024, 4458, 0, 0, 0}, {160, 520, 1375, 4379, 0, 0, 0}, {160, 512, 1360, 4460, 0, 0, 0}, {192, 831, 1032, 4381, 0, 0, 0}, {2040, 2056, 5654, 0, 0, 0, 0}, {319, 512, 351, 1024, 4096, 0, 0}, {160, 512, 1280, 4352, 0, 0, 0}, {192, 771, 1028, 4369, 0, 0, 0}, {1800, 4386, 0, 0, 0, 0, 0}, {96, 259, 0, 0, 0, 0, 0}, {96, 260, 0, 0, 0, 0, 0}, {1807, 4437, 0, 0, 0, 0, 0}, {192, 780, 1036, 4454, 0, 0, 0}, {160, 520, 1295, 4471, 0, 0, 0}, {160, 520, 1280, 4392, 0, 0, 0}, {192, 771, 1036, 4441, 0, 0, 0}, {4522, 13056, 1792, 0, 0, 0, 0}, {267, 771, 96, 1028, 4112, 0, 0}, {268, 512, 96, 1280, 4096, 0, 0}, {4573, 8738, 1799, 0, 0, 0, 0}, {192, 780, 1028, 4398, 0, 0, 0}, {160, 512, 1295, 4447, 0, 0, 0}, {192, 816, 1088, 4352, 0, 0, 0}, {160, 546, 1365, 4369, 0, 0, 0}, {96, 274, 0, 0, 0, 0, 0}, {1919, 4403, 0, 0, 0, 0, 0}, {1912, 4420, 0, 0, 0, 0, 0}, {96, 277, 0, 0, 0, 0, 0}, {160, 554, 1370, 4454, 0, 0, 0}, {192, 831, 1096, 4471, 0, 0, 0}, {192, 816, 1096, 4424, 0, 0, 0}, {160, 554, 1365, 4409, 0, 0, 0}, {282, 816, 96, 1056, 4112, 0, 0}, {4539, 13107, 1911, 0, 0, 0, 0}, {4556, 8704, 1904, 0, 0, 0, 0}, {285, 546, 96, 1333, 4096, 0, 0}, {160, 546, 1370, 4430, 0, 0, 0}, {192, 831, 1088, 4415, 0, 0, 0}, {192, 768, 1024, 4352, 0, 0, 0}, {160, 514, 1285, 4369, 0, 0, 0}, {96, 258, 0, 0, 0, 0, 0}, {1807, 4403, 0, 0, 0, 0, 0}, {1800, 4420, 0, 0, 0, 0, 0}, {96, 261, 0, 0, 0, 0, 0}, {160, 522, 1290, 4454, 0, 0, 0}, {192, 783, 1032, 4471, 0, 0, 0}, {192, 768, 1032, 4424, 0, 0, 0}, {160, 522, 1285, 4409, 0, 0, 0}, {266, 768, 96, 1024, 4096, 0, 0}, {4539, 13107, 1799, 0, 0, 0, 0}, {4556, 8704, 1792, 0, 0, 0, 0}, {269, 514, 96, 1285, 4112, 0, 0}, {160, 514, 1290, 4430, 0, 0, 0}, {192, 783, 1024, 4415, 0, 0, 0}, {160, 544, 1360, 4352, 0, 0, 0}, {192, 819, 1092, 4369, 0, 0, 0}, {1912, 4386, 0, 0, 0, 0, 0}, {96, 275, 0, 0, 0, 0, 0}, {96, 276, 0, 0, 0, 0, 0}, {1919, 4437, 0, 0, 0, 0, 0}, {192, 828, 1100, 4454, 0, 0, 0}, {160, 552, 1375, 4471, 0, 0, 0}, {160, 552, 1360, 4392, 0, 0, 0}, {192, 819, 1100, 4441, 0, 0, 0}, {4522, 13056, 1904, 0, 0, 0, 0}, {283, 819, 96, 1060, 4096, 0, 0}, {284, 544, 96, 1328, 4112, 0, 0}, {4573, 8738, 1911, 0, 0, 0, 0}, {192, 828, 1092, 4398, 0, 0, 0}, {160, 544, 1375, 4447, 0, 0, 0}, {288, 768, 320, 1280, 4352, 0, 0}, {1927, 3855, 4369, 0, 0, 0, 0}, {192, 768, 1096, 4386, 0, 0, 0}, {160, 544, 1295, 4403, 0, 0, 0}, {160, 552, 1280, 4420, 0, 0, 0}, {192, 783, 1088, 4437, 0, 0, 0}, {1920, 3840, 4454, 0, 0, 0, 0}, {295, 783, 327, 1295, 4375, 0, 0}, {296, 768, 328, 1280, 4096, 0, 0}, {1935, 3855, 5654, 0, 0, 0, 0}, {192, 768, 1088, 4458, 0, 0, 0}, {160, 552, 1295, 4379, 0, 0, 0}, {160, 544, 1280, 4460, 0, 0, 0}, {192, 783, 1096, 4381, 0, 0, 0}, {1928, 3840, 5734, 0, 0, 0, 0}, {303, 783, 335, 1295, 4112, 0, 0}, {2032, 2048, 4352, 0, 0, 0, 0}, {305, 514, 337, 1028, 4369, 0, 0}, {160, 514, 1370, 4386, 0, 0, 0}, {192, 819, 1036, 4403, 0, 0, 0}, {192, 828, 1028, 4420, 0, 0, 0}, {160, 522, 1365, 4437, 0, 0, 0}, {310, 522, 342, 1036, 4358, 0, 0}, {2039, 2056, 4471, 0, 0, 0, 0}, {2040, 2056, 5744, 0, 0, 0, 0}, {313, 522, 345, 1036, 4096, 0, 0}, {160, 522, 1370, 4362, 0, 0, 0}, {192, 819, 1028, 4475, 0, 0, 0}, {192, 828, 1036, 4364, 0, 0, 0}, {160, 514, 1365, 4477, 0, 0, 0}, {318, 514, 350, 1028, 4112, 0, 0}, {2047, 2048, 5632, 0, 0, 0, 0}, {2048, 8704, 16384, 0, 0, 0, 0}, {15, 51, 80, 257, 0, 0, 0}, {160, 514, 16416, 0, 0, 0, 0}, {15, 51, 771, 1027, 4352, 0, 0}, {204, 8772, 1028, 0, 0, 0, 0}, {15, 517, 80, 1285, 4096, 0, 0}, {522, 108, 1036, 0, 0, 0, 0}, {15, 1799, 4727, 0, 0, 0, 0}, {2056, 8840, 16512, 0, 0, 0, 0}, {15, 51, 80, 262, 0, 0, 0}, {160, 522, 16384, 0, 0, 0, 0}, {15, 51, 771, 1028, 4420, 0, 0}, {204, 8704, 1036, 0, 0, 0, 0}, {15, 514, 80, 1285, 4128, 0, 0}, {514, 108, 1028, 0, 0, 0, 0}, {15, 1792, 4608, 0, 0, 0, 0}, {544, 80, 4112, 0, 0, 0, 0}, {51, 1092, 4369, 0, 0, 0, 0}, {240, 2168, 4626, 0, 0, 0, 0}, {51, 531, 95, 1043, 4352, 0, 0}, {60, 532, 80, 1044, 4096, 0, 0}, {255, 2175, 5397, 0, 0, 0, 0}, {60, 1100, 4698, 0, 0, 0, 0}, {552, 95, 5439, 0, 0, 0, 0}, {552, 80, 4144, 0, 0, 0, 0}, {51, 1100, 4437, 0, 0, 0, 0}, {240, 2160, 4714, 0, 0, 0, 0}, {51, 539, 95, 1051, 4379, 0, 0}, {60, 540, 80, 1052, 4124, 0, 0}, {255, 2167, 5482, 0, 0, 0, 0}, {60, 1092, 4638, 0, 0, 0, 0}, {544, 95, 5407, 0, 0, 0, 0}, {160, 544, 16416, 0, 0, 0, 0}, {15, 51, 771, 1095, 4369, 0, 0}, {2184, 8738, 16384, 0, 0, 0, 0}, {15, 51, 80, 272, 0, 0, 0}, {552, 108, 1060, 0, 0, 0, 0}, {15, 1904, 4693, 0, 0, 0, 0}, {204, 8806, 1088, 0, 0, 0, 0}, {15, 551, 80, 1280, 4096, 0, 0}, {160, 552, 16384, 0, 0, 0, 0}, {15, 51, 771, 1088, 4437, 0, 0}, {2176, 8874, 16512, 0, 0, 0, 0}, {15, 51, 80, 279, 0, 0, 0}, {544, 108, 1068, 0, 0, 0, 0}, {15, 1911, 4642, 0, 0, 0, 0}, {204, 8738, 1096, 0, 0, 0, 0}, {15, 544, 80, 1280, 4128, 0, 0}, {240, 2048, 4656, 0, 0, 0, 0}, {51, 514, 95, 1032, 4369, 0, 0}, {514, 80, 4112, 0, 0, 0, 0}, {51, 1024, 4352, 0, 0, 0, 0}, {60, 1032, 4676, 0, 0, 0, 0}, {522, 95, 5429, 0, 0, 0, 0}, {60, 522, 80, 1024, 4096, 0, 0}, {255, 2056, 5440, 0, 0, 0, 0}, {240, 2056, 4680, 0, 0, 0, 0}, {51, 522, 95, 1024, 4362, 0, 0}, {522, 80, 4144, 0, 0, 0, 0}, {51, 1032, 4420, 0, 0, 0, 0}, {60, 1024, 4608, 0, 0, 0, 0}, {514, 95, 5397, 0, 0, 0, 0}, {60, 514, 80, 1032, 4124, 0, 0}, {255, 2048, 5439, 0, 0, 0, 0}, {2176, 8704, 16448, 0, 0, 0, 0}, {15, 51, 80, 273, 0, 0, 0}, {160, 546, 16480, 0, 0, 0, 0}, {15, 51, 768, 1091, 4352, 0, 0}, {204, 8772, 1092, 0, 0, 0, 0}, {15, 549, 80, 1285, 4112, 0, 0}, {554, 108, 1056, 0, 0, 0, 0}, {15, 1911, 4679, 0, 0, 0, 0}, {2184, 8840, 16576, 0, 0, 0, 0}, {15, 51, 80, 278, 0, 0, 0}, {160, 554, 16448, 0, 0, 0, 0}, {15, 51, 768, 1092, 4420, 0, 0}, {204, 8704, 1100, 0, 0, 0, 0}, {15, 546, 80, 1285, 4144, 0, 0}, {546, 108, 1064, 0, 0, 0, 0}, {15, 1904, 4656, 0, 0, 0, 0}, {512, 80, 4096, 0, 0, 0, 0}, {51, 1028, 4369, 0, 0, 0, 0}, {240, 2056, 4642, 0, 0, 0, 0}, {51, 512, 95, 1036, 4352, 0, 0}, {60, 520, 80, 1028, 4112, 0, 0}, {255, 2048, 5461, 0, 0, 0, 0}, {60, 1036, 4694, 0, 0, 0, 0}, {520, 95, 5408, 0, 0, 0, 0}, {520, 80, 4128, 0, 0, 0, 0}, {51, 1036, 4437, 0, 0, 0, 0}, {240, 2048, 4698, 0, 0, 0, 0}, {51, 520, 95, 1028, 4379, 0, 0}, {60, 512, 80, 1036, 4108, 0, 0}, {255, 2056, 5418, 0, 0, 0, 0}, {60, 1028, 4626, 0, 0, 0, 0}, {512, 95, 5376, 0, 0, 0, 0}, {160, 512, 16480, 0, 0, 0, 0}, {15, 51, 768, 1031, 4369, 0, 0}, {2056, 8738, 16448, 0, 0, 0, 0}, {15, 51, 80, 256, 0, 0, 0}, {520, 108, 1032, 0, 0, 0, 0}, {15, 1792, 4709, 0, 0, 0, 0}, {204, 8806, 1024, 0, 0, 0, 0}, {15, 519, 80, 1280, 4112, 0, 0}, {160, 520, 16448, 0, 0, 0, 0}, {15, 51, 768, 1024, 4437, 0, 0}, {2048, 8874, 16576, 0, 0, 0, 0}, {15, 51, 80, 263, 0, 0, 0}, {512, 108, 1024, 0, 0, 0, 0}, {15, 1799, 4626, 0, 0, 0, 0}, {204, 8738, 1032, 0, 0, 0, 0}, {15, 512, 80, 1280, 4144, 0, 0}, {240, 2160, 4608, 0, 0, 0, 0}, {51, 529, 95, 1047, 4369, 0, 0}, {546, 80, 4096, 0, 0, 0, 0}, {51, 1088, 4352, 0, 0, 0, 0}, {60, 1096, 4680, 0, 0, 0, 0}, {554, 95, 5418, 0, 0, 0, 0}, {60, 534, 80, 1040, 4112, 0, 0}, {255, 2167, 5376, 0, 0, 0, 0}, {240, 2168, 4728, 0, 0, 0, 0}, {51, 537, 95, 1055, 4362, 0, 0}, {554, 80, 4128, 0, 0, 0, 0}, {51, 1096, 4420, 0, 0, 0, 0}, {60, 1088, 4620, 0, 0, 0, 0}, {546, 95, 5386, 0, 0, 0, 0}, {60, 542, 80, 1048, 4108, 0, 0}, {255, 2175, 5503, 0, 0, 0, 0}, {2176, 8704, 16512, 0, 0, 0, 0}, {15, 51, 80, 274, 0, 0, 0}, {160, 546, 16384, 0, 0, 0, 0}, {15, 51, 771, 1088, 4352, 0, 0}, {204, 8772, 1096, 0, 0, 0, 0}, {15, 549, 80, 1285, 4128, 0, 0}, {554, 108, 1068, 0, 0, 0, 0}, {15, 1911, 4727, 0, 0, 0, 0}, {2184, 8840, 16384, 0, 0, 0, 0}, {15, 51, 80, 277, 0, 0, 0}, {160, 554, 16416, 0, 0, 0, 0}, {15, 51, 771, 1095, 4420, 0, 0}, {204, 8704, 1088, 0, 0, 0, 0}, {15, 546, 80, 1285, 4096, 0, 0}, {546, 108, 1060, 0, 0, 0, 0}, {15, 1904, 4608, 0, 0, 0, 0}, {512, 80, 4144, 0, 0, 0, 0}, {51, 1032, 4369, 0, 0, 0, 0}, {240, 2056, 4626, 0, 0, 0, 0}, {51, 512, 95, 1024, 4352, 0, 0}, {60, 520, 80, 1032, 4124, 0, 0}, {255, 2048, 5482, 0, 0, 0, 0}, {60, 1024, 4698, 0, 0, 0, 0}, {520, 95, 5407, 0, 0, 0, 0}, {520, 80, 4112, 0, 0, 0, 0}, {51, 1024, 4437, 0, 0, 0, 0}, {240, 2048, 4714, 0, 0, 0, 0}, {51, 520, 95, 1032, 4379, 0, 0}, {60, 512, 80, 1024, 4096, 0, 0}, {255, 2056, 5397, 0, 0, 0, 0}, {60, 1032, 4638, 0, 0, 0, 0}, {512, 95, 5439, 0, 0, 0, 0}, {160, 512, 16384, 0, 0, 0, 0}, {15, 51, 771, 1028, 4369, 0, 0}, {2056, 8738, 16512, 0, 0, 0, 0}, {15, 51, 80, 259, 0, 0, 0}, {520, 108, 1028, 0, 0, 0, 0}, {15, 1792, 4693, 0, 0, 0, 0}, {204, 8806, 1036, 0, 0, 0, 0}, {15, 519, 80, 1280, 4128, 0, 0}, {160, 520, 16416, 0, 0, 0, 0}, {15, 51, 771, 1027, 4437, 0, 0}, {2048, 8874, 16384, 0, 0, 0, 0}, {15, 51, 80, 260, 0, 0, 0}, {512, 108, 1036, 0, 0, 0, 0}, {15, 1799, 4642, 0, 0, 0, 0}, {204, 8738, 1028, 0, 0, 0, 0}, {15, 512, 80, 1280, 4096, 0, 0}, {240, 2160, 4656, 0, 0, 0, 0}, {51, 529, 95, 1051, 4369, 0, 0}, {546, 80, 4144, 0, 0, 0, 0}, {51, 1100, 4352, 0, 0, 0, 0}, {60, 1092, 4676, 0, 0, 0, 0}, {554, 95, 5397, 0, 0, 0, 0}, {60, 534, 80, 1052, 4124, 0, 0}, {255, 2167, 5439, 0, 0, 0, 0}, {240, 2168, 4680, 0, 0, 0, 0}, {51, 537, 95, 1043, 4362, 0, 0}, {554, 80, 4112, 0, 0, 0, 0}, {51, 1092, 4420, 0, 0, 0, 0}, {60, 1100, 4608, 0, 0, 0, 0}, {546, 95, 5429, 0, 0, 0, 0}, {60, 542, 80, 1044, 4096, 0, 0}, {255, 2175, 5440, 0, 0, 0, 0}, {2048, 8704, 16576, 0, 0, 0, 0}, {15, 51, 80, 258, 0, 0, 0}, {160, 514, 16448, 0, 0, 0, 0}, {15, 51, 768, 1024, 4352, 0, 0}, {204, 8772, 1032, 0, 0, 0, 0}, {15, 517, 80, 1285, 4144, 0, 0}, {522, 108, 1024, 0, 0, 0, 0}, {15, 1799, 4679, 0, 0, 0, 0}, {2056, 8840, 16448, 0, 0, 0, 0}, {15, 51, 80, 261, 0, 0, 0}, {160, 522, 16480, 0, 0, 0, 0}, {15, 51, 768, 1031, 4420, 0, 0}, {204, 8704, 1024, 0, 0, 0, 0}, {15, 514, 80, 1285, 4112, 0, 0}, {514, 108, 1032, 0, 0, 0, 0}, {15, 1792, 4656, 0, 0, 0, 0}, {544, 80, 4128, 0, 0, 0, 0}, {51, 1096, 4369, 0, 0, 0, 0}, {240, 2168, 4642, 0, 0, 0, 0}, {51, 531, 95, 1055, 4352, 0, 0}, {60, 532, 80, 1048, 4108, 0, 0}, {255, 2175, 5418, 0, 0, 0, 0}, {60, 1088, 4694, 0, 0, 0, 0}, {552, 95, 5376, 0, 0, 0, 0}, {552, 80, 4096, 0, 0, 0, 0}, {51, 1088, 4437, 0, 0, 0, 0}, {240, 2160, 4698, 0, 0, 0, 0}, {51, 539, 95, 1047, 4379, 0, 0}, {60, 540, 80, 1040, 4112, 0, 0}, {255, 2167, 5461, 0, 0, 0, 0}, {60, 1096, 4626, 0, 0, 0, 0}, {544, 95, 5408, 0, 0, 0, 0}, {160, 544, 16448, 0, 0, 0, 0}, {15, 51, 768, 1092, 4369, 0, 0}, {2184, 8738, 16576, 0, 0, 0, 0}, {15, 51, 80, 275, 0, 0, 0}, {552, 108, 1064, 0, 0, 0, 0}, {15, 1904, 4709, 0, 0, 0, 0}, {204, 8806, 1100, 0, 0, 0, 0}, {15, 551, 80, 1280, 4144, 0, 0}, {160, 552, 16480, 0, 0, 0, 0}, {15, 51, 768, 1091, 4437, 0, 0}, {2176, 8874, 16448, 0, 0, 0, 0}, {15, 51, 80, 276, 0, 0, 0}, {544, 108, 1056, 0, 0, 0, 0}, {15, 1911, 4626, 0, 0, 0, 0}, {204, 8738, 1092, 0, 0, 0, 0}, {15, 544, 80, 1280, 4112, 0, 0}, {240, 2048, 4608, 0, 0, 0, 0}, {51, 514, 95, 1028, 4369, 0, 0}, {514, 80, 4128, 0, 0, 0, 0}, {51, 1036, 4352, 0, 0, 0, 0}, {60, 1028, 4680, 0, 0, 0, 0}, {522, 95, 5386, 0, 0, 0, 0}, {60, 522, 80, 1036, 4108, 0, 0}, {255, 2056, 5503, 0, 0, 0, 0}, {240, 2056, 4728, 0, 0, 0, 0}, {51, 522, 95, 1036, 4362, 0, 0}, {522, 80, 4096, 0, 0, 0, 0}, {51, 1028, 4420, 0, 0, 0, 0}, {60, 1036, 4620, 0, 0, 0, 0}, {514, 95, 5418, 0, 0, 0, 0}, {60, 514, 80, 1028, 4112, 0, 0}, {255, 2048, 5376, 0, 0, 0, 0}, {3840, 13056, 20480, 0, 0, 0, 0}, {8, 34, 64, 257, 0, 0, 0}, {8, 34, 514, 1282, 4352, 0, 0}, {192, 771, 20528, 0, 0, 0, 0}, {8, 772, 64, 1028, 4096, 0, 0}, {170, 13141, 1285, 0, 0, 0, 0}, {780, 106, 1290, 0, 0, 0, 0}, {8, 1799, 4983, 0, 0, 0, 0}, {8, 1792, 4864, 0, 0, 0, 0}, {771, 106, 1285, 0, 0, 0, 0}, {170, 13056, 1290, 0, 0, 0, 0}, {8, 771, 64, 1028, 4144, 0, 0}, {192, 780, 20480, 0, 0, 0, 0}, {8, 34, 514, 1285, 4437, 0, 0}, {8, 34, 64, 262, 0, 0, 0}, {3855, 13311, 20720, 0, 0, 0, 0}, {816, 64, 4112, 0, 0, 0, 0}, {34, 1365, 4369, 0, 0, 0, 0}, {34, 786, 72, 1298, 4352, 0, 0}, {128, 3967, 4883, 0, 0, 0, 0}, {136, 3960, 5140, 0, 0, 0, 0}, {42, 789, 64, 1301, 4096, 0, 0}, {42, 1370, 4940, 0, 0, 0, 0}, {831, 72, 5160, 0, 0, 0, 0}, {816, 72, 5144, 0, 0, 0, 0}, {42, 1365, 4889, 0, 0, 0, 0}, {42, 794, 64, 1306, 4122, 0, 0}, {136, 3959, 5228, 0, 0, 0, 0}, {128, 3952, 4972, 0, 0, 0, 0}, {34, 797, 72, 1309, 4381, 0, 0}, {34, 1370, 4420, 0, 0, 0, 0}, {831, 64, 4128, 0, 0, 0, 0}, {128, 3840, 4896, 0, 0, 0, 0}, {34, 771, 72, 1295, 4369, 0, 0}, {34, 1280, 4352, 0, 0, 0, 0}, {771, 64, 4112, 0, 0, 0, 0}, {780, 72, 5156, 0, 0, 0, 0}, {42, 1295, 4949, 0, 0, 0, 0}, {42, 780, 64, 1280, 4096, 0, 0}, {136, 3855, 5200, 0, 0, 0, 0}, {136, 3840, 5160, 0, 0, 0, 0}, {42, 771, 64, 1295, 4122, 0, 0}, {42, 1280, 4864, 0, 0, 0, 0}, {771, 72, 5140, 0, 0, 0, 0}, {780, 64, 4128, 0, 0, 0, 0}, {34, 1295, 4437, 0, 0, 0, 0}, {34, 780, 72, 1280, 4364, 0, 0}, {128, 3855, 4959, 0, 0, 0, 0}, {192, 816, 20528, 0, 0, 0, 0}, {8, 34, 514, 1367, 4369, 0, 0}, {8, 34, 64, 272, 0, 0, 0}, {4095, 13107, 20480, 0, 0, 0, 0}, {8, 1904, 4932, 0, 0, 0, 0}, {831, 106, 1333, 0, 0, 0, 0}, {170, 13158, 1360, 0, 0, 0, 0}, {8, 823, 64, 1024, 4096, 0, 0}, {8, 816, 64, 1024, 4144, 0, 0}, {170, 13107, 1375, 0, 0, 0, 0}, {816, 106, 1338, 0, 0, 0, 0}, {8, 1911, 4915, 0, 0, 0, 0}, {4080, 13260, 20720, 0, 0, 0, 0}, {8, 34, 64, 279, 0, 0, 0}, {8, 34, 514, 1360, 4420, 0, 0}, {192, 831, 20480, 0, 0, 0, 0}, {768, 64, 4096, 0, 0, 0, 0}, {34, 1285, 4369, 0, 0, 0, 0}, {34, 768, 72, 1290, 4352, 0, 0}, {128, 3855, 4915, 0, 0, 0, 0}, {136, 3840, 5188, 0, 0, 0, 0}, {42, 783, 64, 1285, 4112, 0, 0}, {42, 1290, 4934, 0, 0, 0, 0}, {783, 72, 5168, 0, 0, 0, 0}, {768, 72, 5120, 0, 0, 0, 0}, {42, 1285, 4883, 0, 0, 0, 0}, {42, 768, 64, 1290, 4106, 0, 0}, {136, 3855, 5180, 0, 0, 0, 0}, {128, 3840, 4940, 0, 0, 0, 0}, {34, 783, 72, 1285, 4381, 0, 0}, {34, 1290, 4420, 0, 0, 0, 0}, {783, 64, 4144, 0, 0, 0, 0}, {4080, 13056, 20560, 0, 0, 0, 0}, {8, 34, 64, 273, 0, 0, 0}, {8, 34, 512, 1362, 4352, 0, 0}, {192, 819, 20576, 0, 0, 0, 0}, {8, 820, 64, 1028, 4112, 0, 0}, {170, 13141, 1365, 0, 0, 0, 0}, {828, 106, 1328, 0, 0, 0, 0}, {8, 1911, 4951, 0, 0, 0, 0}, {8, 1904, 4896, 0, 0, 0, 0}, {819, 106, 1343, 0, 0, 0, 0}, {170, 13056, 1370, 0, 0, 0, 0}, {8, 819, 64, 1028, 4128, 0, 0}, {192, 828, 20560, 0, 0, 0, 0}, {8, 34, 512, 1365, 4437, 0, 0}, {8, 34, 64, 278, 0, 0, 0}, {4095, 13311, 20640, 0, 0, 0, 0}, {192, 768, 20576, 0, 0, 0, 0}, {8, 34, 512, 1287, 4369, 0, 0}, {8, 34, 64, 256, 0, 0, 0}, {3855, 13107, 20560, 0, 0, 0, 0}, {8, 1792, 4964, 0, 0, 0, 0}, {783, 106, 1295, 0, 0, 0, 0}, {170, 13158, 1280, 0, 0, 0, 0}, {8, 775, 64, 1024, 4112, 0, 0}, {8, 768, 64, 1024, 4128, 0, 0}, {170, 13107, 1295, 0, 0, 0, 0}, {768, 106, 1280, 0, 0, 0, 0}, {8, 1799, 4883, 0, 0, 0, 0}, {3840, 13260, 20640, 0, 0, 0, 0}, {8, 34, 64, 263, 0, 0, 0}, {8, 34, 512, 1280, 4420, 0, 0}, {192, 783, 20560, 0, 0, 0, 0}, {128, 3952, 4864, 0, 0, 0, 0}, {34, 785, 72, 1303, 4369, 0, 0}, {34, 1360, 4352, 0, 0, 0, 0}, {819, 64, 4096, 0, 0, 0, 0}, {828, 72, 5180, 0, 0, 0, 0}, {42, 1375, 4959, 0, 0, 0, 0}, {42, 790, 64, 1296, 4112, 0, 0}, {136, 3959, 5120, 0, 0, 0, 0}, {136, 3960, 5240, 0, 0, 0, 0}, {42, 793, 64, 1311, 4106, 0, 0}, {42, 1360, 4874, 0, 0, 0, 0}, {819, 72, 5132, 0, 0, 0, 0}, {828, 64, 4144, 0, 0, 0, 0}, {34, 1375, 4437, 0, 0, 0, 0}, {34, 798, 72, 1304, 4364, 0, 0}, {128, 3967, 4991, 0, 0, 0, 0}, {128, 3840, 4864, 0, 0, 0, 0}, {34, 771, 72, 1285, 4369, 0, 0}, {34, 1290, 4352, 0, 0, 0, 0}, {771, 64, 4144, 0, 0, 0, 0}, {780, 72, 5132, 0, 0, 0, 0}, {42, 1285, 4959, 0, 0, 0, 0}, {42, 780, 64, 1290, 4106, 0, 0}, {136, 3855, 5240, 0, 0, 0, 0}, {136, 3840, 5120, 0, 0, 0, 0}, {42, 771, 64, 1285, 4112, 0, 0}, {42, 1290, 4874, 0, 0, 0, 0}, {771, 72, 5180, 0, 0, 0, 0}, {780, 64, 4096, 0, 0, 0, 0}, {34, 1285, 4437, 0, 0, 0, 0}, {34, 780, 72, 1290, 4364, 0, 0}, {128, 3855, 4991, 0, 0, 0, 0}, {192, 816, 20560, 0, 0, 0, 0}, {8, 34, 512, 1365, 4369, 0, 0}, {8, 34, 64, 274, 0, 0, 0}, {4095, 13107, 20640, 0, 0, 0, 0}, {8, 1904, 4964, 0, 0, 0, 0}, {831, 106, 1343, 0, 0, 0, 0}, {170, 13158, 1370, 0, 0, 0, 0}, {8, 823, 64, 1024, 4128, 0, 0}, {8, 816, 64, 1024, 4112, 0, 0}, {170, 13107, 1365, 0, 0, 0, 0}, {816, 106, 1328, 0, 0, 0, 0}, {8, 1911, 4883, 0, 0, 0, 0}, {4080, 13260, 20560, 0, 0, 0, 0}, {8, 34, 64, 277, 0, 0, 0}, {8, 34, 512, 1362, 4420, 0, 0}, {192, 831, 20576, 0, 0, 0, 0}, {3840, 13056, 20640, 0, 0, 0, 0}, {8, 34, 64, 259, 0, 0, 0}, {8, 34, 512, 1280, 4352, 0, 0}, {192, 771, 20560, 0, 0, 0, 0}, {8, 772, 64, 1028, 4128, 0, 0}, {170, 13141, 1295, 0, 0, 0, 0}, {780, 106, 1280, 0, 0, 0, 0}, {8, 1799, 4951, 0, 0, 0, 0}, {8, 1792, 4896, 0, 0, 0, 0}, {771, 106, 1295, 0, 0, 0, 0}, {170, 13056, 1280, 0, 0, 0, 0}, {8, 771, 64, 1028, 4112, 0, 0}, {192, 780, 20576, 0, 0, 0, 0}, {8, 34, 512, 1287, 4437, 0, 0}, {8, 34, 64, 260, 0, 0, 0}, {3855, 13311, 20560, 0, 0, 0, 0}, {816, 64, 4144, 0, 0, 0, 0}, {34, 1375, 4369, 0, 0, 0, 0}, {34, 786, 72, 1304, 4352, 0, 0}, {128, 3967, 4915, 0, 0, 0, 0}, {136, 3960, 5180, 0, 0, 0, 0}, {42, 789, 64, 1311, 4106, 0, 0}, {42, 1360, 4934, 0, 0, 0, 0}, {831, 72, 5120, 0, 0, 0, 0}, {816, 72, 5168, 0, 0, 0, 0}, {42, 1375, 4883, 0, 0, 0, 0}, {42, 794, 64, 1296, 4112, 0, 0}, {136, 3959, 5188, 0, 0, 0, 0}, {128, 3952, 4940, 0, 0, 0, 0}, {34, 797, 72, 1303, 4381, 0, 0}, {34, 1360, 4420, 0, 0, 0, 0}, {831, 64, 4096, 0, 0, 0, 0}, {192, 768, 20480, 0, 0, 0, 0}, {8, 34, 514, 1285, 4369, 0, 0}, {8, 34, 64, 258, 0, 0, 0}, {3855, 13107, 20720, 0, 0, 0, 0}, {8, 1792, 4932, 0, 0, 0, 0}, {783, 106, 1285, 0, 0, 0, 0}, {170, 13158, 1290, 0, 0, 0, 0}, {8, 775, 64, 1024, 4144, 0, 0}, {8, 768, 64, 1024, 4096, 0, 0}, {170, 13107, 1285, 0, 0, 0, 0}, {768, 106, 1290, 0, 0, 0, 0}, {8, 1799, 4915, 0, 0, 0, 0}, {3840, 13260, 20480, 0, 0, 0, 0}, {8, 34, 64, 261, 0, 0, 0}, {8, 34, 514, 1282, 4420, 0, 0}, {192, 783, 20528, 0, 0, 0, 0}, {128, 3952, 4896, 0, 0, 0, 0}, {34, 785, 72, 1309, 4369, 0, 0}, {34, 1370, 4352, 0, 0, 0, 0}, {819, 64, 4128, 0, 0, 0, 0}, {828, 72, 5140, 0, 0, 0, 0}, {42, 1365, 4949, 0, 0, 0, 0}, {42, 790, 64, 1306, 4122, 0, 0}, {136, 3959, 5160, 0, 0, 0, 0}, {136, 3960, 5200, 0, 0, 0, 0}, {42, 793, 64, 1301, 4096, 0, 0}, {42, 1370, 4864, 0, 0, 0, 0}, {819, 72, 5156, 0, 0, 0, 0}, {828, 64, 4112, 0, 0, 0, 0}, {34, 1365, 4437, 0, 0, 0, 0}, {34, 798, 72, 1298, 4364, 0, 0}, {128, 3967, 4959, 0, 0, 0, 0}, {768, 64, 4128, 0, 0, 0, 0}, {34, 1295, 4369, 0, 0, 0, 0}, {34, 768, 72, 1280, 4352, 0, 0}, {128, 3855, 4883, 0, 0, 0, 0}, {136, 3840, 5228, 0, 0, 0, 0}, {42, 783, 64, 1295, 4122, 0, 0}, {42, 1280, 4940, 0, 0, 0, 0}, {783, 72, 5144, 0, 0, 0, 0}, {768, 72, 5160, 0, 0, 0, 0}, {42, 1295, 4889, 0, 0, 0, 0}, {42, 768, 64, 1280, 4096, 0, 0}, {136, 3855, 5140, 0, 0, 0, 0}, {128, 3840, 4972, 0, 0, 0, 0}, {34, 783, 72, 1295, 4381, 0, 0}, {34, 1280, 4420, 0, 0, 0, 0}, {783, 64, 4112, 0, 0, 0, 0}, {4080, 13056, 20720, 0, 0, 0, 0}, {8, 34, 64, 275, 0, 0, 0}, {8, 34, 514, 1360, 4352, 0, 0}, {192, 819, 20480, 0, 0, 0, 0}, {8, 820, 64, 1028, 4144, 0, 0}, {170, 13141, 1375, 0, 0, 0, 0}, {828, 106, 1338, 0, 0, 0, 0}, {8, 1911, 4983, 0, 0, 0, 0}, {8, 1904, 4864, 0, 0, 0, 0}, {819, 106, 1333, 0, 0, 0, 0}, {170, 13056, 1360, 0, 0, 0, 0}, {8, 819, 64, 1028, 4096, 0, 0}, {192, 828, 20528, 0, 0, 0, 0}, {8, 34, 514, 1367, 4437, 0, 0}, {8, 34, 64, 276, 0, 0, 0}, {4095, 13311, 20480, 0, 0, 0, 0}, {2048, 8192, 17408, 0, 0, 0, 0}, {15, 48, 85, 257, 0, 0, 0}, {170, 514, 17442, 0, 0, 0, 0}, {15, 48, 771, 1027, 4096, 0, 0}, {192, 8256, 1028, 0, 0, 0, 0}, {15, 517, 85, 1285, 4352, 0, 0}, {522, 106, 1036, 0, 0, 0, 0}, {15, 1799, 4976, 0, 0, 0, 0}, {2056, 8320, 17544, 0, 0, 0, 0}, {15, 48, 85, 262, 0, 0, 0}, {170, 522, 17408, 0, 0, 0, 0}, {15, 48, 771, 1028, 4160, 0, 0}, {192, 8192, 1036, 0, 0, 0, 0}, {15, 514, 85, 1285, 4386, 0, 0}, {514, 106, 1028, 0, 0, 0, 0}, {15, 1792, 4864, 0, 0, 0, 0}, {48, 1088, 4112, 0, 0, 0, 0}, {546, 85, 4369, 0, 0, 0, 0}, {48, 530, 90, 1042, 4096, 0, 0}, {255, 2175, 4883, 0, 0, 0, 0}, {240, 2168, 5140, 0, 0, 0, 0}, {63, 533, 85, 1045, 4352, 0, 0}, {554, 90, 5180, 0, 0, 0, 0}, {63, 1096, 4959, 0, 0, 0, 0}, {48, 1096, 4176, 0, 0, 0, 0}, {554, 85, 4403, 0, 0, 0, 0}, {48, 538, 90, 1050, 4122, 0, 0}, {255, 2167, 4972, 0, 0, 0, 0}, {240, 2160, 5228, 0, 0, 0, 0}, {63, 541, 85, 1053, 4381, 0, 0}, {546, 90, 5150, 0, 0, 0, 0}, {63, 1088, 4895, 0, 0, 0, 0}, {2176, 8224, 17408, 0, 0, 0, 0}, {15, 48, 85, 273, 0, 0, 0}, {170, 546, 17442, 0, 0, 0, 0}, {15, 48, 771, 1091, 4112, 0, 0}, {192, 8288, 1092, 0, 0, 0, 0}, {15, 549, 85, 1280, 4352, 0, 0}, {554, 106, 1062, 0, 0, 0, 0}, {15, 1911, 4944, 0, 0, 0, 0}, {2184, 8352, 17544, 0, 0, 0, 0}, {15, 48, 85, 278, 0, 0, 0}, {170, 554, 17408, 0, 0, 0, 0}, {15, 48, 771, 1092, 4176, 0, 0}, {192, 8224, 1100, 0, 0, 0, 0}, {15, 546, 85, 1280, 4386, 0, 0}, {546, 106, 1070, 0, 0, 0, 0}, {15, 1904, 4896, 0, 0, 0, 0}, {48, 1024, 4096, 0, 0, 0, 0}, {514, 85, 4369, 0, 0, 0, 0}, {48, 514, 90, 1032, 4112, 0, 0}, {255, 2048, 4915, 0, 0, 0, 0}, {240, 2056, 5188, 0, 0, 0, 0}, {63, 522, 85, 1024, 4352, 0, 0}, {522, 90, 5174, 0, 0, 0, 0}, {63, 1032, 4928, 0, 0, 0, 0}, {48, 1032, 4160, 0, 0, 0, 0}, {522, 85, 4403, 0, 0, 0, 0}, {48, 522, 90, 1024, 4106, 0, 0}, {255, 2056, 4940, 0, 0, 0, 0}, {240, 2048, 5180, 0, 0, 0, 0}, {63, 514, 85, 1032, 4381, 0, 0}, {514, 90, 5140, 0, 0, 0, 0}, {63, 1024, 4864, 0, 0, 0, 0}, {192, 8256, 1088, 0, 0, 0, 0}, {15, 551, 85, 1285, 4369, 0, 0}, {552, 106, 1058, 0, 0, 0, 0}, {15, 1904, 4931, 0, 0, 0, 0}, {2184, 8192, 17476, 0, 0, 0, 0}, {15, 48, 85, 272, 0, 0, 0}, {170, 544, 17510, 0, 0, 0, 0}, {15, 48, 768, 1095, 4096, 0, 0}, {192, 8192, 1096, 0, 0, 0, 0}, {15, 544, 85, 1285, 4403, 0, 0}, {544, 106, 1066, 0, 0, 0, 0}, {15, 1911, 4915, 0, 0, 0, 0}, {2176, 8320, 17612, 0, 0, 0, 0}, {15, 48, 85, 279, 0, 0, 0}, {170, 552, 17476, 0, 0, 0, 0}, {15, 48, 768, 1088, 4160, 0, 0}, {240, 2048, 5200, 0, 0, 0, 0}, {63, 520, 85, 1028, 4369, 0, 0}, {520, 90, 5154, 0, 0, 0, 0}, {63, 1036, 4947, 0, 0, 0, 0}, {48, 1028, 4112, 0, 0, 0, 0}, {512, 85, 4352, 0, 0, 0, 0}, {48, 512, 90, 1036, 4096, 0, 0}, {255, 2056, 4896, 0, 0, 0, 0}, {240, 2056, 5160, 0, 0, 0, 0}, {63, 512, 85, 1036, 4364, 0, 0}, {512, 90, 5120, 0, 0, 0, 0}, {63, 1028, 4883, 0, 0, 0, 0}, {48, 1036, 4176, 0, 0, 0, 0}, {520, 85, 4386, 0, 0, 0, 0}, {48, 520, 90, 1028, 4122, 0, 0}, {255, 2048, 4959, 0, 0, 0, 0}, {192, 8288, 1024, 0, 0, 0, 0}, {15, 519, 85, 1280, 4369, 0, 0}, {520, 106, 1032, 0, 0, 0, 0}, {15, 1792, 4963, 0, 0, 0, 0}, {2056, 8224, 17476, 0, 0, 0, 0}, {15, 48, 85, 256, 0, 0, 0}, {170, 512, 17510, 0, 0, 0, 0}, {15, 48, 768, 1031, 4112, 0, 0}, {192, 8224, 1032, 0, 0, 0, 0}, {15, 512, 85, 1280, 4403, 0, 0}, {512, 106, 1024, 0, 0, 0, 0}, {15, 1799, 4883, 0, 0, 0, 0}, {2048, 8352, 17612, 0, 0, 0, 0}, {15, 48, 85, 263, 0, 0, 0}, {170, 520, 17476, 0, 0, 0, 0}, {15, 48, 768, 1024, 4176, 0, 0}, {240, 2160, 5120, 0, 0, 0, 0}, {63, 535, 85, 1041, 4369, 0, 0}, {552, 90, 5160, 0, 0, 0, 0}, {63, 1100, 4940, 0, 0, 0, 0}, {48, 1092, 4096, 0, 0, 0, 0}, {544, 85, 4352, 0, 0, 0, 0}, {48, 528, 90, 1046, 4112, 0, 0}, {255, 2167, 4864, 0, 0, 0, 0}, {240, 2168, 5240, 0, 0, 0, 0}, {63, 543, 85, 1049, 4364, 0, 0}, {544, 90, 5130, 0, 0, 0, 0}, {63, 1092, 4876, 0, 0, 0, 0}, {48, 1100, 4160, 0, 0, 0, 0}, {552, 85, 4386, 0, 0, 0, 0}, {48, 536, 90, 1054, 4106, 0, 0}, {255, 2175, 4991, 0, 0, 0, 0}, {2176, 8320, 17408, 0, 0, 0, 0}, {15, 48, 85, 276, 0, 0, 0}, {170, 552, 17442, 0, 0, 0, 0}, {15, 48, 771, 1091, 4160, 0, 0}, {192, 8192, 1092, 0, 0, 0, 0}, {15, 544, 85, 1285, 4352, 0, 0}, {544, 106, 1062, 0, 0, 0, 0}, {15, 1911, 4864, 0, 0, 0, 0}, {2184, 8192, 17544, 0, 0, 0, 0}, {15, 48, 85, 275, 0, 0, 0}, {170, 544, 17408, 0, 0, 0, 0}, {15, 48, 771, 1092, 4096, 0, 0}, {192, 8256, 1100, 0, 0, 0, 0}, {15, 551, 85, 1285, 4386, 0, 0}, {552, 106, 1070, 0, 0, 0, 0}, {15, 1904, 4976, 0, 0, 0, 0}, {48, 1024, 4176, 0, 0, 0, 0}, {520, 85, 4369, 0, 0, 0, 0}, {48, 520, 90, 1032, 4122, 0, 0}, {255, 2048, 4972, 0, 0, 0, 0}, {240, 2056, 5140, 0, 0, 0, 0}, {63, 512, 85, 1024, 4352, 0, 0}, {512, 90, 5180, 0, 0, 0, 0}, {63, 1032, 4895, 0, 0, 0, 0}, {48, 1032, 4112, 0, 0, 0, 0}, {512, 85, 4403, 0, 0, 0, 0}, {48, 512, 90, 1024, 4096, 0, 0}, {255, 2056, 4883, 0, 0, 0, 0}, {240, 2048, 5228, 0, 0, 0, 0}, {63, 520, 85, 1032, 4381, 0, 0}, {520, 90, 5150, 0, 0, 0, 0}, {63, 1024, 4959, 0, 0, 0, 0}, {2048, 8352, 17408, 0, 0, 0, 0}, {15, 48, 85, 260, 0, 0, 0}, {170, 520, 17442, 0, 0, 0, 0}, {15, 48, 771, 1027, 4176, 0, 0}, {192, 8224, 1028, 0, 0, 0, 0}, {15, 512, 85, 1280, 4352, 0, 0}, {512, 106, 1036, 0, 0, 0, 0}, {15, 1799, 4896, 0, 0, 0, 0}, {2056, 8224, 17544, 0, 0, 0, 0}, {15, 48, 85, 259, 0, 0, 0}, {170, 512, 17408, 0, 0, 0, 0}, {15, 48, 771, 1028, 4112, 0, 0}, {192, 8288, 1036, 0, 0, 0, 0}, {15, 519, 85, 1280, 4386, 0, 0}, {520, 106, 1028, 0, 0, 0, 0}, {15, 1792, 4944, 0, 0, 0, 0}, {48, 1088, 4160, 0, 0, 0, 0}, {552, 85, 4369, 0, 0, 0, 0}, {48, 536, 90, 1042, 4106, 0, 0}, {255, 2175, 4940, 0, 0, 0, 0}, {240, 2168, 5188, 0, 0, 0, 0}, {63, 543, 85, 1045, 4352, 0, 0}, {544, 90, 5174, 0, 0, 0, 0}, {63, 1096, 4864, 0, 0, 0, 0}, {48, 1096, 4096, 0, 0, 0, 0}, {544, 85, 4403, 0, 0, 0, 0}, {48, 528, 90, 1050, 4112, 0, 0}, {255, 2167, 4915, 0, 0, 0, 0}, {240, 2160, 5180, 0, 0, 0, 0}, {63, 535, 85, 1053, 4381, 0, 0}, {552, 90, 5140, 0, 0, 0, 0}, {63, 1088, 4928, 0, 0, 0, 0}, {192, 8192, 1024, 0, 0, 0, 0}, {15, 514, 85, 1285, 4369, 0, 0}, {514, 106, 1032, 0, 0, 0, 0}, {15, 1792, 4915, 0, 0, 0, 0}, {2056, 8320, 17476, 0, 0, 0, 0}, {15, 48, 85, 261, 0, 0, 0}, {170, 522, 17510, 0, 0, 0, 0}, {15, 48, 768, 1031, 4160, 0, 0}, {192, 8256, 1032, 0, 0, 0, 0}, {15, 517, 85, 1285, 4403, 0, 0}, {522, 106, 1024, 0, 0, 0, 0}, {15, 1799, 4931, 0, 0, 0, 0}, {2048, 8192, 17612, 0, 0, 0, 0}, {15, 48, 85, 258, 0, 0, 0}, {170, 514, 17476, 0, 0, 0, 0}, {15, 48, 768, 1024, 4096, 0, 0}, {240, 2160, 5200, 0, 0, 0, 0}, {63, 541, 85, 1041, 4369, 0, 0}, {546, 90, 5154, 0, 0, 0, 0}, {63, 1100, 4883, 0, 0, 0, 0}, {48, 1092, 4176, 0, 0, 0, 0}, {554, 85, 4352, 0, 0, 0, 0}, {48, 538, 90, 1046, 4122, 0, 0}, {255, 2167, 4959, 0, 0, 0, 0}, {240, 2168, 5160, 0, 0, 0, 0}, {63, 533, 85, 1049, 4364, 0, 0}, {554, 90, 5120, 0, 0, 0, 0}, {63, 1092, 4947, 0, 0, 0, 0}, {48, 1100, 4112, 0, 0, 0, 0}, {546, 85, 4386, 0, 0, 0, 0}, {48, 530, 90, 1054, 4096, 0, 0}, {255, 2175, 4896, 0, 0, 0, 0}, {192, 8224, 1088, 0, 0, 0, 0}, {15, 546, 85, 1280, 4369, 0, 0}, {546, 106, 1058, 0, 0, 0, 0}, {15, 1904, 4883, 0, 0, 0, 0}, {2184, 8352, 17476, 0, 0, 0, 0}, {15, 48, 85, 277, 0, 0, 0}, {170, 554, 17510, 0, 0, 0, 0}, {15, 48, 768, 1095, 4176, 0, 0}, {192, 8288, 1096, 0, 0, 0, 0}, {15, 549, 85, 1280, 4403, 0, 0}, {554, 106, 1066, 0, 0, 0, 0}, {15, 1911, 4963, 0, 0, 0, 0}, {2176, 8224, 17612, 0, 0, 0, 0}, {15, 48, 85, 274, 0, 0, 0}, {170, 546, 17476, 0, 0, 0, 0}, {15, 48, 768, 1088, 4112, 0, 0}, {240, 2048, 5120, 0, 0, 0, 0}, {63, 514, 85, 1028, 4369, 0, 0}, {514, 90, 5160, 0, 0, 0, 0}, {63, 1036, 4876, 0, 0, 0, 0}, {48, 1028, 4160, 0, 0, 0, 0}, {522, 85, 4352, 0, 0, 0, 0}, {48, 522, 90, 1036, 4106, 0, 0}, {255, 2056, 4991, 0, 0, 0, 0}, {240, 2056, 5240, 0, 0, 0, 0}, {63, 522, 85, 1036, 4364, 0, 0}, {522, 90, 5130, 0, 0, 0, 0}, {63, 1028, 4940, 0, 0, 0, 0}, {48, 1036, 4096, 0, 0, 0, 0}, {514, 85, 4386, 0, 0, 0, 0}, {48, 514, 90, 1028, 4112, 0, 0}, {255, 2048, 4864, 0, 0, 0, 0}, {3840, 12288, 21760, 0, 0, 0, 0}, {8, 32, 68, 257, 0, 0, 0}, {8, 32, 514, 1282, 4096, 0, 0}, {204, 771, 21811, 0, 0, 0, 0}, {8, 772, 68, 1028, 4352, 0, 0}, {160, 12368, 1285, 0, 0, 0, 0}, {780, 108, 1290, 0, 0, 0, 0}, {8, 1799, 4720, 0, 0, 0, 0}, {8, 1792, 4608, 0, 0, 0, 0}, {771, 108, 1285, 0, 0, 0, 0}, {160, 12288, 1290, 0, 0, 0, 0}, {8, 771, 68, 1028, 4403, 0, 0}, {204, 780, 21760, 0, 0, 0, 0}, {8, 32, 514, 1285, 4176, 0, 0}, {8, 32, 68, 262, 0, 0, 0}, {3855, 12528, 22015, 0, 0, 0, 0}, {32, 1360, 4112, 0, 0, 0, 0}, {819, 68, 4369, 0, 0, 0, 0}, {136, 3960, 4626, 0, 0, 0, 0}, {32, 787, 76, 1299, 4096, 0, 0}, {40, 788, 68, 1300, 4352, 0, 0}, {128, 3967, 5397, 0, 0, 0, 0}, {828, 76, 5418, 0, 0, 0, 0}, {40, 1375, 4680, 0, 0, 0, 0}, {40, 1360, 4632, 0, 0, 0, 0}, {819, 76, 5401, 0, 0, 0, 0}, {128, 3952, 5482, 0, 0, 0, 0}, {40, 795, 68, 1307, 4379, 0, 0}, {32, 796, 76, 1308, 4124, 0, 0}, {136, 3959, 4714, 0, 0, 0, 0}, {828, 68, 4386, 0, 0, 0, 0}, {32, 1375, 4160, 0, 0, 0, 0}, {32, 1280, 4096, 0, 0, 0, 0}, {771, 68, 4369, 0, 0, 0, 0}, {136, 3840, 4642, 0, 0, 0, 0}, {32, 771, 76, 1295, 4112, 0, 0}, {40, 780, 68, 1280, 4352, 0, 0}, {128, 3855, 5461, 0, 0, 0, 0}, {780, 76, 5414, 0, 0, 0, 0}, {40, 1295, 4688, 0, 0, 0, 0}, {40, 1280, 4608, 0, 0, 0, 0}, {771, 76, 5397, 0, 0, 0, 0}, {128, 3840, 5418, 0, 0, 0, 0}, {40, 771, 68, 1295, 4379, 0, 0}, {32, 780, 76, 1280, 4108, 0, 0}, {136, 3855, 4698, 0, 0, 0, 0}, {780, 68, 4386, 0, 0, 0, 0}, {32, 1295, 4176, 0, 0, 0, 0}, {4080, 12336, 21760, 0, 0, 0, 0}, {8, 32, 68, 273, 0, 0, 0}, {8, 32, 514, 1362, 4112, 0, 0}, {204, 819, 21811, 0, 0, 0, 0}, {8, 820, 68, 1024, 4352, 0, 0}, {160, 12384, 1365, 0, 0, 0, 0}, {828, 108, 1334, 0, 0, 0, 0}, {8, 1911, 4672, 0, 0, 0, 0}, {8, 1904, 4656, 0, 0, 0, 0}, {819, 108, 1337, 0, 0, 0, 0}, {160, 12336, 1370, 0, 0, 0, 0}, {8, 819, 68, 1024, 4403, 0, 0}, {204, 828, 21760, 0, 0, 0, 0}, {8, 32, 514, 1365, 4160, 0, 0}, {8, 32, 68, 278, 0, 0, 0}, {4095, 12480, 22015, 0, 0, 0, 0}, {128, 3840, 5440, 0, 0, 0, 0}, {40, 783, 68, 1285, 4369, 0, 0}, {40, 1290, 4674, 0, 0, 0, 0}, {783, 76, 5427, 0, 0, 0, 0}, {768, 68, 4352, 0, 0, 0, 0}, {32, 1285, 4112, 0, 0, 0, 0}, {32, 768, 76, 1290, 4096, 0, 0}, {136, 3855, 4656, 0, 0, 0, 0}, {136, 3840, 4680, 0, 0, 0, 0}, {32, 783, 76, 1285, 4124, 0, 0}, {32, 1290, 4160, 0, 0, 0, 0}, {783, 68, 4403, 0, 0, 0, 0}, {768, 76, 5376, 0, 0, 0, 0}, {40, 1285, 4626, 0, 0, 0, 0}, {40, 768, 68, 1290, 4362, 0, 0}, {128, 3855, 5439, 0, 0, 0, 0}, {160, 12368, 1360, 0, 0, 0, 0}, {8, 823, 68, 1028, 4369, 0, 0}, {8, 1904, 4690, 0, 0, 0, 0}, {831, 108, 1331, 0, 0, 0, 0}, {8, 32, 68, 272, 0, 0, 0}, {4095, 12288, 21845, 0, 0, 0, 0}, {204, 816, 21862, 0, 0, 0, 0}, {8, 32, 512, 1367, 4096, 0, 0}, {8, 32, 512, 1360, 4176, 0, 0}, {204, 831, 21845, 0, 0, 0, 0}, {4080, 12528, 21930, 0, 0, 0, 0}, {8, 32, 68, 279, 0, 0, 0}, {816, 108, 1340, 0, 0, 0, 0}, {8, 1911, 4642, 0, 0, 0, 0}, {8, 816, 68, 1028, 4386, 0, 0}, {160, 12288, 1375, 0, 0, 0, 0}, {160, 12384, 1280, 0, 0, 0, 0}, {8, 775, 68, 1024, 4369, 0, 0}, {8, 1792, 4706, 0, 0, 0, 0}, {783, 108, 1295, 0, 0, 0, 0}, {8, 32, 68, 256, 0, 0, 0}, {3855, 12336, 21845, 0, 0, 0, 0}, {204, 768, 21862, 0, 0, 0, 0}, {8, 32, 512, 1287, 4112, 0, 0}, {8, 32, 512, 1280, 4160, 0, 0}, {204, 783, 21845, 0, 0, 0, 0}, {3840, 12480, 21930, 0, 0, 0, 0}, {8, 32, 68, 263, 0, 0, 0}, {768, 108, 1280, 0, 0, 0, 0}, {8, 1799, 4626, 0, 0, 0, 0}, {8, 768, 68, 1024, 4386, 0, 0}, {160, 12336, 1295, 0, 0, 0, 0}, {128, 3952, 5376, 0, 0, 0, 0}, {40, 791, 68, 1297, 4369, 0, 0}, {40, 1370, 4698, 0, 0, 0, 0}, {831, 76, 5439, 0, 0, 0, 0}, {816, 68, 4352, 0, 0, 0, 0}, {32, 1365, 4096, 0, 0, 0, 0}, {32, 784, 76, 1302, 4112, 0, 0}, {136, 3959, 4608, 0, 0, 0, 0}, {136, 3960, 4728, 0, 0, 0, 0}, {32, 799, 76, 1305, 4108, 0, 0}, {32, 1370, 4176, 0, 0, 0, 0}, {831, 68, 4403, 0, 0, 0, 0}, {816, 76, 5388, 0, 0, 0, 0}, {40, 1365, 4618, 0, 0, 0, 0}, {40, 792, 68, 1310, 4362, 0, 0}, {128, 3967, 5503, 0, 0, 0, 0}, {128, 3840, 5376, 0, 0, 0, 0}, {40, 771, 68, 1285, 4369, 0, 0}, {40, 1290, 4618, 0, 0, 0, 0}, {771, 76, 5439, 0, 0, 0, 0}, {780, 68, 4352, 0, 0, 0, 0}, {32, 1285, 4176, 0, 0, 0, 0}, {32, 780, 76, 1290, 4108, 0, 0}, {136, 3855, 4728, 0, 0, 0, 0}, {136, 3840, 4608, 0, 0, 0, 0}, {32, 771, 76, 1285, 4112, 0, 0}, {32, 1290, 4096, 0, 0, 0, 0}, {771, 68, 4403, 0, 0, 0, 0}, {780, 76, 5388, 0, 0, 0, 0}, {40, 1285, 4698, 0, 0, 0, 0}, {40, 780, 68, 1290, 4362, 0, 0}, {128, 3855, 5503, 0, 0, 0, 0}, {160, 12336, 1360, 0, 0, 0, 0}, {8, 819, 68, 1024, 4369, 0, 0}, {8, 1904, 4626, 0, 0, 0, 0}, {819, 108, 1331, 0, 0, 0, 0}, {8, 32, 68, 276, 0, 0, 0}, {4095, 12480, 21845, 0, 0, 0, 0}, {204, 828, 21862, 0, 0, 0, 0}, {8, 32, 512, 1367, 4160, 0, 0}, {8, 32, 512, 1360, 4112, 0, 0}, {204, 819, 21845, 0, 0, 0, 0}, {4080, 12336, 21930, 0, 0, 0, 0}, {8, 32, 68, 275, 0, 0, 0}, {828, 108, 1340, 0, 0, 0, 0}, {8, 1911, 4706, 0, 0, 0, 0}, {8, 820, 68, 1024, 4386, 0, 0}, {160, 12384, 1375, 0, 0, 0, 0}, {160, 12288, 1280, 0, 0, 0, 0}, {8, 771, 68, 1028, 4369, 0, 0}, {8, 1792, 4642, 0, 0, 0, 0}, {771, 108, 1295, 0, 0, 0, 0}, {8, 32, 68, 260, 0, 0, 0}, {3855, 12528, 21845, 0, 0, 0, 0}, {204, 780, 21862, 0, 0, 0, 0}, {8, 32, 512, 1287, 4176, 0, 0}, {8, 32, 512, 1280, 4096, 0, 0}, {204, 771, 21845, 0, 0, 0, 0}, {3840, 12288, 21930, 0, 0, 0, 0}, {8, 32, 68, 259, 0, 0, 0}, {780, 108, 1280, 0, 0, 0, 0}, {8, 1799, 4690, 0, 0, 0, 0}, {8, 772, 68, 1028, 4386, 0, 0}, {160, 12368, 1295, 0, 0, 0, 0}, {128, 3952, 5440, 0, 0, 0, 0}, {40, 795, 68, 1297, 4369, 0, 0}, {40, 1370, 4626, 0, 0, 0, 0}, {819, 76, 5427, 0, 0, 0, 0}, {828, 68, 4352, 0, 0, 0, 0}, {32, 1365, 4160, 0, 0, 0, 0}, {32, 796, 76, 1302, 4124, 0, 0}, {136, 3959, 4680, 0, 0, 0, 0}, {136, 3960, 4656, 0, 0, 0, 0}, {32, 787, 76, 1305, 4096, 0, 0}, {32, 1370, 4112, 0, 0, 0, 0}, {819, 68, 4403, 0, 0, 0, 0}, {828, 76, 5376, 0, 0, 0, 0}, {40, 1365, 4674, 0, 0, 0, 0}, {40, 788, 68, 1310, 4362, 0, 0}, {128, 3967, 5439, 0, 0, 0, 0}, {3840, 12480, 21760, 0, 0, 0, 0}, {8, 32, 68, 261, 0, 0, 0}, {8, 32, 514, 1282, 4160, 0, 0}, {204, 783, 21811, 0, 0, 0, 0}, {8, 768, 68, 1024, 4352, 0, 0}, {160, 12336, 1285, 0, 0, 0, 0}, {768, 108, 1290, 0, 0, 0, 0}, {8, 1799, 4656, 0, 0, 0, 0}, {8, 1792, 4672, 0, 0, 0, 0}, {783, 108, 1285, 0, 0, 0, 0}, {160, 12384, 1290, 0, 0, 0, 0}, {8, 775, 68, 1024, 4403, 0, 0}, {204, 768, 21760, 0, 0, 0, 0}, {8, 32, 514, 1285, 4112, 0, 0}, {8, 32, 68, 258, 0, 0, 0}, {3855, 12336, 22015, 0, 0, 0, 0}, {32, 1360, 4176, 0, 0, 0, 0}, {831, 68, 4369, 0, 0, 0, 0}, {136, 3960, 4698, 0, 0, 0, 0}, {32, 799, 76, 1299, 4108, 0, 0}, {40, 792, 68, 1300, 4352, 0, 0}, {128, 3967, 5461, 0, 0, 0, 0}, {816, 76, 5414, 0, 0, 0, 0}, {40, 1375, 4608, 0, 0, 0, 0}, {40, 1360, 4688, 0, 0, 0, 0}, {831, 76, 5397, 0, 0, 0, 0}, {128, 3952, 5418, 0, 0, 0, 0}, {40, 791, 68, 1307, 4379, 0, 0}, {32, 784, 76, 1308, 4112, 0, 0}, {136, 3959, 4642, 0, 0, 0, 0}, {816, 68, 4386, 0, 0, 0, 0}, {32, 1375, 4096, 0, 0, 0, 0}, {32, 1280, 4160, 0, 0, 0, 0}, {783, 68, 4369, 0, 0, 0, 0}, {136, 3840, 4714, 0, 0, 0, 0}, {32, 783, 76, 1295, 4124, 0, 0}, {40, 768, 68, 1280, 4352, 0, 0}, {128, 3855, 5397, 0, 0, 0, 0}, {768, 76, 5418, 0, 0, 0, 0}, {40, 1295, 4632, 0, 0, 0, 0}, {40, 1280, 4680, 0, 0, 0, 0}, {783, 76, 5401, 0, 0, 0, 0}, {128, 3840, 5482, 0, 0, 0, 0}, {40, 783, 68, 1295, 4379, 0, 0}, {32, 768, 76, 1280, 4096, 0, 0}, {136, 3855, 4626, 0, 0, 0, 0}, {768, 68, 4386, 0, 0, 0, 0}, {32, 1295, 4112, 0, 0, 0, 0}, {4080, 12528, 21760, 0, 0, 0, 0}, {8, 32, 68, 277, 0, 0, 0}, {8, 32, 514, 1362, 4176, 0, 0}, {204, 831, 21811, 0, 0, 0, 0}, {8, 816, 68, 1028, 4352, 0, 0}, {160, 12288, 1365, 0, 0, 0, 0}, {816, 108, 1334, 0, 0, 0, 0}, {8, 1911, 4608, 0, 0, 0, 0}, {8, 1904, 4720, 0, 0, 0, 0}, {831, 108, 1337, 0, 0, 0, 0}, {160, 12368, 1370, 0, 0, 0, 0}, {8, 823, 68, 1028, 4403, 0, 0}, {204, 816, 21760, 0, 0, 0, 0}, {8, 32, 514, 1365, 4096, 0, 0}, {8, 32, 68, 274, 0, 0, 0}, {4095, 12288, 22015, 0, 0, 0, 0}, {26112, 0, 0, 0, 0, 0, 0}, {7, 16, 257, 0, 0, 0, 0}, {8, 32, 514, 17408, 0, 0, 0}, {15, 48, 771, 21760, 0, 0, 0}, {8, 8704, 64, 1028, 0, 0, 0}, {15, 13056, 80, 1285, 0, 0, 0}, {96, 1542, 0, 0, 0, 0, 0}, {7, 4352, 0, 0, 0, 0, 0}, {8, 8704, 17408, 0, 0, 0, 0}, {15, 48, 771, 80, 1285, 0, 0}, {160, 2570, 26122, 0, 0, 0, 0}, {48, 771, 7, 4355, 0, 0, 0}, {192, 3084, 26124, 0, 0, 0, 0}, {32, 514, 7, 4354, 0, 0, 0}, {8, 32, 514, 64, 1028, 0, 0}, {15, 13056, 21760, 0, 0, 0, 0}, {1536, 16, 0, 0, 0, 0, 0}, {119, 4369, 0, 0, 0, 0, 0}, {3072, 48, 72, 4626, 0, 0, 0}, {2560, 32, 95, 4883, 0, 0, 0}, {2560, 40, 80, 5140, 0, 0, 0}, {3072, 63, 64, 5397, 0, 0, 0}, {112, 5654, 0, 0, 0, 0, 0}, {1536, 23, 0, 0, 0, 0, 0}, {24, 48, 80, 1536, 4608, 0, 0}, {6425, 13107, 127, 0, 0, 0, 0}, {3072, 48, 64, 5658, 0, 0, 0}, {2560, 40, 95, 4379, 0, 0, 0}, {2560, 32, 80, 5660, 0, 0, 0}, {3072, 63, 72, 4381, 0, 0, 0}, {7710, 8738, 120, 0, 0, 0, 0}, {31, 32, 64, 1536, 4864, 0, 0}, {2560, 32, 17920, 0, 0, 0, 0}, {15, 48, 771, 71, 4369, 0, 0}, {136, 8738, 17408, 0, 0, 0, 0}, {15, 771, 1280, 16, 0, 0, 0}, {40, 72, 1548, 0, 0, 0, 0}, {15, 112, 5669, 0, 0, 0, 0}, {3084, 9766, 64, 0, 0, 0, 0}, {15, 39, 80, 1280, 4352, 0, 0}, {2560, 40, 17408, 0, 0, 0, 0}, {15, 48, 771, 64, 5397, 0, 0}, {128, 10794, 19456, 0, 0, 0, 0}, {15, 771, 1280, 23, 0, 0, 0}, {32, 64, 1548, 0, 0, 0, 0}, {15, 119, 4386, 0, 0, 0, 0}, {3084, 8738, 72, 0, 0, 0, 0}, {15, 32, 80, 1280, 4864, 0, 0}, {3072, 48, 22016, 0, 0, 0, 0}, {8, 32, 514, 87, 4369, 0, 0}, {8, 514, 1024, 16, 0, 0, 0}, {255, 13107, 21760, 0, 0, 0, 0}, {8, 112, 5684, 0, 0, 0, 0}, {63, 95, 1546, 0, 0, 0, 0}, {2570, 13878, 80, 0, 0, 0, 0}, {8, 55, 64, 1024, 4352, 0, 0}, {8, 48, 64, 1024, 4608, 0, 0}, {2570, 13107, 95, 0, 0, 0, 0}, {48, 80, 1546, 0, 0, 0, 0}, {8, 119, 4403, 0, 0, 0, 0}, {240, 15420, 23040, 0, 0, 0, 0}, {8, 514, 1024, 23, 0, 0, 0}, {8, 32, 514, 80, 5140, 0, 0}, {3072, 63, 21760, 0, 0, 0, 0}, {3072, 9728, 64, 0, 0, 0, 0}, {15, 39, 80, 1285, 4369, 0, 0}, {40, 72, 1546, 0, 0, 0, 0}, {15, 112, 5683, 0, 0, 0, 0}, {136, 8704, 17476, 0, 0, 0, 0}, {15, 768, 1285, 16, 0, 0, 0}, {2570, 32, 17990, 0, 0, 0, 0}, {15, 48, 768, 71, 4352, 0, 0}, {3072, 8704, 72, 0, 0, 0, 0}, {15, 32, 80, 1285, 4883, 0, 0}, {32, 64, 1546, 0, 0, 0, 0}, {15, 119, 4403, 0, 0, 0, 0}, {128, 10752, 19532, 0, 0, 0, 0}, {15, 768, 1285, 23, 0, 0, 0}, {2570, 40, 17476, 0, 0, 0, 0}, {15, 48, 768, 64, 5376, 0, 0}, {2560, 13824, 80, 0, 0, 0, 0}, {8, 55, 64, 1028, 4369, 0, 0}, {8, 112, 5666, 0, 0, 0, 0}, {63, 95, 1548, 0, 0, 0, 0}, {8, 512, 1028, 16, 0, 0, 0}, {255, 13056, 21845, 0, 0, 0, 0}, {3084, 48, 22102, 0, 0, 0, 0}, {8, 32, 512, 87, 4352, 0, 0}, {8, 32, 512, 80, 5120, 0, 0}, {3084, 63, 21845, 0, 0, 0, 0}, {240, 15360, 23130, 0, 0, 0, 0}, {8, 512, 1028, 23, 0, 0, 0}, {48, 80, 1548, 0, 0, 0, 0}, {8, 119, 4386, 0, 0, 0, 0}, {8, 48, 64, 1028, 4626, 0, 0}, {2560, 13056, 95, 0, 0, 0, 0}, {96, 1536, 0, 0, 0, 0, 0}, {7, 4369, 0, 0, 0, 0, 0}, {8, 8738, 64, 1024, 0, 0, 0}, {15, 13107, 80, 1280, 0, 0, 0}, {8, 32, 512, 17476, 0, 0, 0}, {15, 48, 768, 21845, 0, 0, 0}, {26214, 0, 0, 0, 0, 0, 0}, {7, 16, 256, 0, 0, 0, 0}, {8, 32, 512, 64, 1024, 0, 0}, {15, 13107, 21845, 0, 0, 0, 0}, {192, 3072, 26218, 0, 0, 0, 0}, {32, 512, 7, 4371, 0, 0, 0}, {160, 2560, 26220, 0, 0, 0, 0}, {48, 768, 7, 4370, 0, 0, 0}, {8, 8738, 17476, 0, 0, 0, 0}, {15, 48, 768, 80, 1280, 0, 0}, {112, 5632, 0, 0, 0, 0, 0}, {1542, 23, 0, 0, 0, 0, 0}, {2570, 40, 80, 5120, 0, 0, 0}, {3084, 63, 64, 5376, 0, 0, 0}, {3084, 48, 72, 4608, 0, 0, 0}, {2570, 32, 95, 4864, 0, 0, 0}, {1542, 16, 0, 0, 0, 0, 0}, {119, 4352, 0, 0, 0, 0, 0}, {7680, 8704, 120, 0, 0, 0, 0}, {31, 32, 64, 1542, 4883, 0, 0}, {2570, 32, 80, 5642, 0, 0, 0}, {3084, 63, 72, 4364, 0, 0, 0}, {3084, 48, 64, 5644, 0, 0, 0}, {2570, 40, 95, 4362, 0, 0, 0}, {24, 48, 80, 1542, 4626, 0, 0}, {6400, 13056, 127, 0, 0, 0, 0}, {128, 10752, 19456, 0, 0, 0, 0}, {15, 771, 1285, 23, 0, 0, 0}, {2570, 40, 17408, 0, 0, 0, 0}, {15, 48, 771, 64, 5376, 0, 0}, {3084, 8704, 72, 0, 0, 0, 0}, {15, 32, 80, 1285, 4864, 0, 0}, {32, 64, 1542, 0, 0, 0, 0}, {15, 119, 4352, 0, 0, 0, 0}, {136, 8704, 17408, 0, 0, 0, 0}, {15, 771, 1285, 16, 0, 0, 0}, {2570, 32, 17930, 0, 0, 0, 0}, {15, 48, 771, 71, 4355, 0, 0}, {3084, 9740, 64, 0, 0, 0, 0}, {15, 39, 80, 1285, 4357, 0, 0}, {40, 72, 1542, 0, 0, 0, 0}, {15, 112, 5632, 0, 0, 0, 0}, {48, 80, 1536, 0, 0, 0, 0}, {8, 119, 4369, 0, 0, 0, 0}, {8, 48, 64, 1024, 4626, 0, 0}, {2560, 13107, 95, 0, 0, 0, 0}, {8, 32, 512, 80, 5140, 0, 0}, {3072, 63, 21845, 0, 0, 0, 0}, {240, 15420, 23130, 0, 0, 0, 0}, {8, 512, 1024, 23, 0, 0, 0}, {8, 512, 1024, 16, 0, 0, 0}, {255, 13107, 21845, 0, 0, 0, 0}, {3072, 48, 22106, 0, 0, 0, 0}, {8, 32, 512, 87, 4371, 0, 0}, {2560, 13884, 80, 0, 0, 0, 0}, {8, 55, 64, 1024, 4373, 0, 0}, {8, 112, 5654, 0, 0, 0, 0}, {63, 95, 1536, 0, 0, 0, 0}, {160, 2560, 26112, 0, 0, 0, 0}, {48, 771, 7, 4369, 0, 0, 0}, {8, 8738, 17408, 0, 0, 0, 0}, {15, 48, 771, 80, 1280, 0, 0}, {8, 32, 512, 64, 1028, 0, 0}, {15, 13056, 21845, 0, 0, 0, 0}, {192, 3084, 26214, 0, 0, 0, 0}, {32, 512, 7, 4352, 0, 0, 0}, {8, 32, 512, 17408, 0, 0, 0}, {15, 48, 771, 21845, 0, 0, 0}, {26282, 0, 0, 0, 0, 0, 0}, {7, 16, 259, 0, 0, 0, 0}, {96, 1548, 0, 0, 0, 0, 0}, {7, 4386, 0, 0, 0, 0, 0}, {8, 8738, 64, 1028, 0, 0, 0}, {15, 13056, 80, 1280, 0, 0, 0}, {3072, 48, 64, 5632, 0, 0, 0}, {2570, 40, 95, 4369, 0, 0, 0}, {24, 48, 80, 1554, 4626, 0, 0}, {6451, 13107, 127, 0, 0, 0, 0}, {7740, 8704, 120, 0, 0, 0, 0}, {31, 32, 64, 1557, 4864, 0, 0}, {2570, 32, 80, 5654, 0, 0, 0}, {3072, 63, 72, 4352, 0, 0, 0}, {3072, 48, 72, 4608, 0, 0, 0}, {2570, 32, 95, 4883, 0, 0, 0}, {1546, 16, 0, 0, 0, 0, 0}, {119, 4403, 0, 0, 0, 0, 0}, {112, 5692, 0, 0, 0, 0, 0}, {1546, 23, 0, 0, 0, 0, 0}, {2570, 40, 80, 5140, 0, 0, 0}, {3072, 63, 64, 5376, 0, 0, 0}, {192, 3072, 26112, 0, 0, 0, 0}, {32, 514, 7, 4369, 0, 0, 0}, {8, 32, 514, 64, 1024, 0, 0}, {15, 13107, 21760, 0, 0, 0, 0}, {8, 8704, 17476, 0, 0, 0, 0}, {15, 48, 768, 80, 1285, 0, 0}, {160, 2570, 26214, 0, 0, 0, 0}, {48, 768, 7, 4352, 0, 0, 0}, {8, 8704, 64, 1024, 0, 0, 0}, {15, 13107, 80, 1285, 0, 0, 0}, {96, 1546, 0, 0, 0, 0, 0}, {7, 4403, 0, 0, 0, 0, 0}, {26316, 0, 0, 0, 0, 0, 0}, {7, 16, 258, 0, 0, 0, 0}, {8, 32, 514, 17476, 0, 0, 0}, {15, 48, 768, 21760, 0, 0, 0}, {2560, 32, 80, 5632, 0, 0, 0}, {3084, 63, 72, 4369, 0, 0, 0}, {7714, 8738, 120, 0, 0, 0, 0}, {31, 32, 64, 1555, 4883, 0, 0}, {24, 48, 80, 1556, 4608, 0, 0}, {6442, 13056, 127, 0, 0, 0, 0}, {3084, 48, 64, 5654, 0, 0, 0}, {2560, 40, 95, 4352, 0, 0, 0}, {2560, 40, 80, 5120, 0, 0, 0}, {3084, 63, 64, 5397, 0, 0, 0}, {112, 5674, 0, 0, 0, 0, 0}, {1548, 23, 0, 0, 0, 0, 0}, {1548, 16, 0, 0, 0, 0, 0}, {119, 4386, 0, 0, 0, 0, 0}, {3084, 48, 72, 4626, 0, 0, 0}, {2560, 32, 95, 4864, 0, 0, 0}, {32, 64, 1536, 0, 0, 0, 0}, {15, 119, 4369, 0, 0, 0, 0}, {3072, 8738, 72, 0, 0, 0, 0}, {15, 32, 80, 1280, 4883, 0, 0}, {2560, 40, 17476, 0, 0, 0, 0}, {15, 48, 768, 64, 5397, 0, 0}, {128, 10794, 19532, 0, 0, 0, 0}, {15, 768, 1280, 23, 0, 0, 0}, {40, 72, 1536, 0, 0, 0, 0}, {15, 112, 5654, 0, 0, 0, 0}, {3072, 9770, 64, 0, 0, 0, 0}, {15, 39, 80, 1280, 4372, 0, 0}, {2560, 32, 17996, 0, 0, 0, 0}, {15, 48, 768, 71, 4370, 0, 0}, {136, 8738, 17476, 0, 0, 0, 0}, {15, 768, 1280, 16, 0, 0, 0}, {240, 15360, 23040, 0, 0, 0, 0}, {8, 514, 1028, 23, 0, 0, 0}, {8, 32, 514, 80, 5120, 0, 0}, {3084, 63, 21760, 0, 0, 0, 0}, {8, 48, 64, 1028, 4608, 0, 0}, {2570, 13056, 95, 0, 0, 0, 0}, {48, 80, 1542, 0, 0, 0, 0}, {8, 119, 4352, 0, 0, 0, 0}, {8, 112, 5632, 0, 0, 0, 0}, {63, 95, 1542, 0, 0, 0, 0}, {2570, 13834, 80, 0, 0, 0, 0}, {8, 55, 64, 1028, 4356, 0, 0}, {3084, 48, 22028, 0, 0, 0, 0}, {8, 32, 514, 87, 4354, 0, 0}, {8, 514, 1028, 16, 0, 0, 0}, {255, 13056, 21760, 0, 0, 0, 0}, {1792, 4096, 0, 0, 0, 0, 0}, {102, 257, 0, 0, 0, 0, 0}, {170, 514, 1290, 4128, 0, 0, 0}, {204, 771, 1036, 4144, 0, 0, 0}, {204, 780, 1028, 4160, 0, 0, 0}, {170, 522, 1285, 4176, 0, 0, 0}, {102, 262, 0, 0, 0, 0, 0}, {1799, 4208, 0, 0, 0, 0, 0}, {4224, 12288, 1800, 0, 0, 0, 0}, {265, 771, 102, 1285, 4403, 0, 0}, {170, 522, 1290, 4106, 0, 0, 0}, {204, 771, 1028, 4220, 0, 0, 0}, {204, 780, 1036, 4108, 0, 0, 0}, {170, 514, 1285, 4218, 0, 0, 0}, {270, 514, 102, 1028, 4386, 0, 0}, {4336, 8192, 1807, 0, 0, 0, 0}, {1904, 4112, 0, 0, 0, 0, 0}, {102, 273, 0, 0, 0, 0, 0}, {170, 546, 1370, 4144, 0, 0, 0}, {204, 819, 1100, 4128, 0, 0, 0}, {204, 828, 1092, 4176, 0, 0, 0}, {170, 554, 1365, 4160, 0, 0, 0}, {102, 278, 0, 0, 0, 0, 0}, {1911, 4192, 0, 0, 0, 0, 0}, {4240, 12336, 1912, 0, 0, 0, 0}, {281, 819, 102, 1331, 4403, 0, 0}, {170, 554, 1370, 4122, 0, 0, 0}, {204, 819, 1092, 4204, 0, 0, 0}, {204, 828, 1100, 4124, 0, 0, 0}, {170, 546, 1365, 4202, 0, 0, 0}, {286, 546, 102, 1058, 4386, 0, 0}, {4320, 8224, 1919, 0, 0, 0, 0}, {1920, 3840, 4128, 0, 0, 0, 0}, {289, 771, 327, 1295, 4369, 0, 0}, {170, 546, 1280, 4096, 0, 0, 0}, {204, 771, 1088, 4112, 0, 0, 0}, {204, 780, 1096, 4192, 0, 0, 0}, {170, 554, 1295, 4208, 0, 0, 0}, {294, 780, 320, 1280, 4352, 0, 0}, {1927, 3855, 4176, 0, 0, 0, 0}, {1928, 3840, 5928, 0, 0, 0, 0}, {297, 771, 335, 1295, 4122, 0, 0}, {170, 554, 1280, 4138, 0, 0, 0}, {204, 771, 1096, 4188, 0, 0, 0}, {204, 780, 1088, 4140, 0, 0, 0}, {170, 546, 1295, 4186, 0, 0, 0}, {302, 780, 328, 1280, 4108, 0, 0}, {1935, 3855, 5983, 0, 0, 0, 0}, {2032, 2048, 4144, 0, 0, 0, 0}, {305, 514, 343, 1032, 4369, 0, 0}, {170, 514, 1360, 4112, 0, 0, 0}, {204, 819, 1024, 4096, 0, 0, 0}, {204, 828, 1032, 4208, 0, 0, 0}, {170, 522, 1375, 4192, 0, 0, 0}, {310, 522, 336, 1024, 4352, 0, 0}, {2039, 2056, 4160, 0, 0, 0, 0}, {2040, 2056, 5960, 0, 0, 0, 0}, {313, 522, 351, 1024, 4106, 0, 0}, {170, 522, 1360, 4154, 0, 0, 0}, {204, 819, 1032, 4172, 0, 0, 0}, {204, 828, 1024, 4156, 0, 0, 0}, {170, 514, 1375, 4170, 0, 0, 0}, {318, 514, 344, 1032, 4124, 0, 0}, {2047, 2048, 5951, 0, 0, 0, 0}, {1920, 3840, 4160, 0, 0, 0, 0}, {295, 783, 321, 1285, 4369, 0, 0}, {170, 552, 1290, 4192, 0, 0, 0}, {204, 783, 1100, 4208, 0, 0, 0}, {204, 768, 1092, 4096, 0, 0, 0}, {170, 544, 1285, 4112, 0, 0, 0}, {288, 768, 326, 1290, 4352, 0, 0}, {1927, 3855, 4144, 0, 0, 0, 0}, {1928, 3840, 5960, 0, 0, 0, 0}, {303, 783, 329, 1285, 4124, 0, 0}, {170, 544, 1290, 4170, 0, 0, 0}, {204, 783, 1092, 4156, 0, 0, 0}, {204, 768, 1100, 4172, 0, 0, 0}, {170, 552, 1285, 4154, 0, 0, 0}, {296, 768, 334, 1290, 4106, 0, 0}, {1935, 3855, 5951, 0, 0, 0, 0}, {2032, 2048, 4176, 0, 0, 0, 0}, {311, 520, 337, 1028, 4369, 0, 0}, {170, 520, 1370, 4208, 0, 0, 0}, {204, 831, 1036, 4192, 0, 0, 0}, {204, 816, 1028, 4112, 0, 0, 0}, {170, 512, 1365, 4096, 0, 0, 0}, {304, 512, 342, 1036, 4352, 0, 0}, {2039, 2056, 4128, 0, 0, 0, 0}, {2040, 2056, 5928, 0, 0, 0, 0}, {319, 512, 345, 1036, 4108, 0, 0}, {170, 512, 1370, 4186, 0, 0, 0}, {204, 831, 1028, 4140, 0, 0, 0}, {204, 816, 1036, 4188, 0, 0, 0}, {170, 520, 1365, 4138, 0, 0, 0}, {312, 520, 350, 1028, 4122, 0, 0}, {2047, 2048, 5983, 0, 0, 0, 0}, {1792, 4192, 0, 0, 0, 0, 0}, {102, 263, 0, 0, 0, 0, 0}, {170, 520, 1280, 4160, 0, 0, 0}, {204, 783, 1024, 4176, 0, 0, 0}, {204, 768, 1032, 4128, 0, 0, 0}, {170, 512, 1295, 4144, 0, 0, 0}, {102, 256, 0, 0, 0, 0, 0}, {1799, 4112, 0, 0, 0, 0, 0}, {4320, 8224, 1800, 0, 0, 0, 0}, {271, 512, 102, 1024, 4403, 0, 0}, {170, 512, 1280, 4202, 0, 0, 0}, {204, 783, 1032, 4124, 0, 0, 0}, {204, 768, 1024, 4204, 0, 0, 0}, {170, 520, 1295, 4122, 0, 0, 0}, {264, 768, 102, 1280, 4386, 0, 0}, {4240, 12336, 1807, 0, 0, 0, 0}, {1904, 4208, 0, 0, 0, 0, 0}, {102, 279, 0, 0, 0, 0, 0}, {170, 552, 1360, 4176, 0, 0, 0}, {204, 831, 1088, 4160, 0, 0, 0}, {204, 816, 1096, 4144, 0, 0, 0}, {170, 544, 1375, 4128, 0, 0, 0}, {102, 272, 0, 0, 0, 0, 0}, {1911, 4096, 0, 0, 0, 0, 0}, {4336, 8192, 1912, 0, 0, 0, 0}, {287, 544, 102, 1062, 4403, 0, 0}, {170, 544, 1360, 4218, 0, 0, 0}, {204, 831, 1096, 4108, 0, 0, 0}, {204, 816, 1088, 4220, 0, 0, 0}, {170, 552, 1375, 4106, 0, 0, 0}, {280, 816, 102, 1334, 4386, 0, 0}, {4224, 12288, 1919, 0, 0, 0, 0}, {1920, 3840, 5888, 0, 0, 0, 0}, {299, 771, 333, 1285, 4369, 0, 0}, {170, 552, 1290, 4106, 0, 0, 0}, {204, 771, 1088, 4220, 0, 0, 0}, {204, 780, 1096, 4108, 0, 0, 0}, {170, 544, 1285, 4218, 0, 0, 0}, {300, 780, 330, 1290, 4352, 0, 0}, {1927, 3855, 6007, 0, 0, 0, 0}, {1928, 3840, 4096, 0, 0, 0, 0}, {291, 771, 325, 1285, 4112, 0, 0}, {170, 544, 1290, 4128, 0, 0, 0}, {204, 771, 1096, 4144, 0, 0, 0}, {204, 780, 1088, 4160, 0, 0, 0}, {170, 552, 1285, 4176, 0, 0, 0}, {292, 780, 322, 1290, 4102, 0, 0}, {1935, 3855, 4208, 0, 0, 0, 0}, {2032, 2048, 5984, 0, 0, 0, 0}, {315, 520, 349, 1032, 4369, 0, 0}, {170, 520, 1370, 4122, 0, 0, 0}, {204, 819, 1024, 4204, 0, 0, 0}, {204, 828, 1032, 4124, 0, 0, 0}, {170, 512, 1365, 4202, 0, 0, 0}, {316, 512, 346, 1024, 4352, 0, 0}, {2039, 2056, 5911, 0, 0, 0, 0}, {2040, 2056, 4112, 0, 0, 0, 0}, {307, 512, 341, 1024, 4096, 0, 0}, {170, 512, 1370, 4144, 0, 0, 0}, {204, 819, 1032, 4128, 0, 0, 0}, {204, 828, 1024, 4176, 0, 0, 0}, {170, 520, 1365, 4160, 0, 0, 0}, {308, 520, 338, 1032, 4118, 0, 0}, {2047, 2048, 4192, 0, 0, 0, 0}, {4256, 12288, 1792, 0, 0, 0, 0}, {267, 771, 102, 1028, 4369, 0, 0}, {170, 520, 1280, 4138, 0, 0, 0}, {204, 771, 1036, 4188, 0, 0, 0}, {204, 780, 1028, 4140, 0, 0, 0}, {170, 512, 1295, 4186, 0, 0, 0}, {268, 512, 102, 1280, 4352, 0, 0}, {4304, 8224, 1799, 0, 0, 0, 0}, {1800, 4128, 0, 0, 0, 0, 0}, {102, 259, 0, 0, 0, 0, 0}, {170, 512, 1280, 4096, 0, 0, 0}, {204, 771, 1028, 4112, 0, 0, 0}, {204, 780, 1036, 4192, 0, 0, 0}, {170, 520, 1295, 4208, 0, 0, 0}, {102, 260, 0, 0, 0, 0, 0}, {1807, 4176, 0, 0, 0, 0, 0}, {4272, 12336, 1904, 0, 0, 0, 0}, {283, 819, 102, 1058, 4369, 0, 0}, {170, 552, 1360, 4154, 0, 0, 0}, {204, 819, 1100, 4172, 0, 0, 0}, {204, 828, 1092, 4156, 0, 0, 0}, {170, 544, 1375, 4170, 0, 0, 0}, {284, 544, 102, 1334, 4352, 0, 0}, {4288, 8192, 1911, 0, 0, 0, 0}, {1912, 4144, 0, 0, 0, 0, 0}, {102, 275, 0, 0, 0, 0, 0}, {170, 544, 1360, 4112, 0, 0, 0}, {204, 819, 1092, 4096, 0, 0, 0}, {204, 828, 1100, 4208, 0, 0, 0}, {170, 552, 1375, 4192, 0, 0, 0}, {102, 276, 0, 0, 0, 0, 0}, {1919, 4160, 0, 0, 0, 0, 0}, {4288, 8192, 1792, 0, 0, 0, 0}, {269, 514, 102, 1285, 4369, 0, 0}, {170, 514, 1290, 4170, 0, 0, 0}, {204, 783, 1024, 4156, 0, 0, 0}, {204, 768, 1032, 4172, 0, 0, 0}, {170, 522, 1285, 4154, 0, 0, 0}, {266, 768, 102, 1024, 4352, 0, 0}, {4272, 12336, 1799, 0, 0, 0, 0}, {1800, 4160, 0, 0, 0, 0, 0}, {102, 261, 0, 0, 0, 0, 0}, {170, 522, 1290, 4192, 0, 0, 0}, {204, 783, 1032, 4208, 0, 0, 0}, {204, 768, 1024, 4096, 0, 0, 0}, {170, 514, 1285, 4112, 0, 0, 0}, {102, 258, 0, 0, 0, 0, 0}, {1807, 4144, 0, 0, 0, 0, 0}, {4304, 8224, 1904, 0, 0, 0, 0}, {285, 546, 102, 1331, 4369, 0, 0}, {170, 546, 1370, 4186, 0, 0, 0}, {204, 831, 1088, 4140, 0, 0, 0}, {204, 816, 1096, 4188, 0, 0, 0}, {170, 554, 1365, 4138, 0, 0, 0}, {282, 816, 102, 1062, 4352, 0, 0}, {4256, 12288, 1911, 0, 0, 0, 0}, {1912, 4176, 0, 0, 0, 0, 0}, {102, 277, 0, 0, 0, 0, 0}, {170, 554, 1370, 4208, 0, 0, 0}, {204, 831, 1096, 4192, 0, 0, 0}, {204, 816, 1088, 4112, 0, 0, 0}, {170, 546, 1365, 4096, 0, 0, 0}, {102, 274, 0, 0, 0, 0, 0}, {1919, 4128, 0, 0, 0, 0, 0}, {1920, 3840, 5984, 0, 0, 0, 0}, {301, 783, 331, 1295, 4369, 0, 0}, {170, 546, 1280, 4202, 0, 0, 0}, {204, 783, 1100, 4124, 0, 0, 0}, {204, 768, 1092, 4204, 0, 0, 0}, {170, 554, 1295, 4122, 0, 0, 0}, {298, 768, 332, 1280, 4352, 0, 0}, {1927, 3855, 5911, 0, 0, 0, 0}, {1928, 3840, 4192, 0, 0, 0, 0}, {293, 783, 323, 1295, 4118, 0, 0}, {170, 554, 1280, 4160, 0, 0, 0}, {204, 783, 1092, 4176, 0, 0, 0}, {204, 768, 1100, 4128, 0, 0, 0}, {170, 546, 1295, 4144, 0, 0, 0}, {290, 768, 324, 1280, 4096, 0, 0}, {1935, 3855, 4112, 0, 0, 0, 0}, {2032, 2048, 5888, 0, 0, 0, 0}, {317, 514, 347, 1028, 4369, 0, 0}, {170, 514, 1360, 4218, 0, 0, 0}, {204, 831, 1036, 4108, 0, 0, 0}, {204, 816, 1028, 4220, 0, 0, 0}, {170, 522, 1375, 4106, 0, 0, 0}, {314, 522, 348, 1036, 4352, 0, 0}, {2039, 2056, 6007, 0, 0, 0, 0}, {2040, 2056, 4208, 0, 0, 0, 0}, {309, 522, 339, 1036, 4102, 0, 0}, {170, 522, 1360, 4176, 0, 0, 0}, {204, 831, 1028, 4160, 0, 0, 0}, {204, 816, 1036, 4144, 0, 0, 0}, {170, 514, 1375, 4128, 0, 0, 0}, {306, 514, 340, 1028, 4112, 0, 0}, {2047, 2048, 4096, 0, 0, 0, 0}, {2048, 8192, 16384, 0, 0, 0, 0}, {15, 51, 85, 257, 0, 0, 0}, {170, 514, 16426, 0, 0, 0, 0}, {15, 51, 771, 1027, 4099, 0, 0}, {204, 8268, 1028, 0, 0, 0, 0}, {15, 517, 85, 1285, 4101, 0, 0}, {522, 102, 1036, 0, 0, 0, 0}, {15, 1799, 4208, 0, 0, 0, 0}, {2056, 8320, 16512, 0, 0, 0, 0}, {15, 51, 85, 262, 0, 0, 0}, {170, 522, 16384, 0, 0, 0, 0}, {15, 51, 771, 1028, 4160, 0, 0}, {204, 8192, 1036, 0, 0, 0, 0}, {15, 514, 85, 1285, 4128, 0, 0}, {514, 102, 1028, 0, 0, 0, 0}, {15, 1792, 4096, 0, 0, 0, 0}, {240, 2160, 4112, 0, 0, 0, 0}, {51, 529, 85, 1041, 4369, 0, 0}, {546, 90, 4144, 0, 0, 0, 0}, {51, 1100, 4883, 0, 0, 0, 0}, {60, 1092, 4176, 0, 0, 0, 0}, {554, 85, 5397, 0, 0, 0, 0}, {60, 534, 90, 1046, 4118, 0, 0}, {255, 2167, 5911, 0, 0, 0, 0}, {240, 2168, 4192, 0, 0, 0, 0}, {51, 537, 85, 1049, 4352, 0, 0}, {554, 90, 4122, 0, 0, 0, 0}, {51, 1092, 4959, 0, 0, 0, 0}, {60, 1100, 4124, 0, 0, 0, 0}, {546, 85, 5439, 0, 0, 0, 0}, {60, 542, 90, 1054, 4096, 0, 0}, {255, 2175, 5984, 0, 0, 0, 0}, {2176, 8224, 16512, 0, 0, 0, 0}, {15, 51, 85, 274, 0, 0, 0}, {170, 546, 16384, 0, 0, 0, 0}, {15, 51, 771, 1088, 4112, 0, 0}, {204, 8300, 1096, 0, 0, 0, 0}, {15, 549, 85, 1280, 4133, 0, 0}, {554, 102, 1062, 0, 0, 0, 0}, {15, 1911, 4176, 0, 0, 0, 0}, {2184, 8352, 16384, 0, 0, 0, 0}, {15, 51, 85, 277, 0, 0, 0}, {170, 554, 16426, 0, 0, 0, 0}, {15, 51, 771, 1095, 4179, 0, 0}, {204, 8224, 1088, 0, 0, 0, 0}, {15, 546, 85, 1280, 4096, 0, 0}, {546, 102, 1070, 0, 0, 0, 0}, {15, 1904, 4128, 0, 0, 0, 0}, {240, 2048, 4144, 0, 0, 0, 0}, {51, 514, 85, 1032, 4369, 0, 0}, {514, 90, 4112, 0, 0, 0, 0}, {51, 1024, 4864, 0, 0, 0, 0}, {60, 1032, 4172, 0, 0, 0, 0}, {522, 85, 5439, 0, 0, 0, 0}, {60, 522, 90, 1024, 4106, 0, 0}, {255, 2056, 5960, 0, 0, 0, 0}, {240, 2056, 4160, 0, 0, 0, 0}, {51, 522, 85, 1024, 4352, 0, 0}, {522, 90, 4154, 0, 0, 0, 0}, {51, 1032, 4940, 0, 0, 0, 0}, {60, 1024, 4096, 0, 0, 0, 0}, {514, 85, 5397, 0, 0, 0, 0}, {60, 514, 90, 1032, 4124, 0, 0}, {255, 2048, 5951, 0, 0, 0, 0}, {2176, 8320, 16448, 0, 0, 0, 0}, {15, 51, 85, 276, 0, 0, 0}, {170, 552, 16490, 0, 0, 0, 0}, {15, 51, 768, 1091, 4163, 0, 0}, {204, 8192, 1092, 0, 0, 0, 0}, {15, 544, 85, 1285, 4112, 0, 0}, {544, 102, 1066, 0, 0, 0, 0}, {15, 1911, 4144, 0, 0, 0, 0}, {2184, 8192, 16576, 0, 0, 0, 0}, {15, 51, 85, 275, 0, 0, 0}, {170, 544, 16448, 0, 0, 0, 0}, {15, 51, 768, 1092, 4096, 0, 0}, {204, 8268, 1100, 0, 0, 0, 0}, {15, 551, 85, 1285, 4149, 0, 0}, {552, 102, 1058, 0, 0, 0, 0}, {15, 1904, 4160, 0, 0, 0, 0}, {240, 2048, 4176, 0, 0, 0, 0}, {51, 520, 85, 1028, 4369, 0, 0}, {520, 90, 4138, 0, 0, 0, 0}, {51, 1036, 4959, 0, 0, 0, 0}, {60, 1028, 4112, 0, 0, 0, 0}, {512, 85, 5376, 0, 0, 0, 0}, {60, 512, 90, 1036, 4108, 0, 0}, {255, 2056, 5928, 0, 0, 0, 0}, {240, 2056, 4128, 0, 0, 0, 0}, {51, 512, 85, 1036, 4352, 0, 0}, {512, 90, 4096, 0, 0, 0, 0}, {51, 1028, 4883, 0, 0, 0, 0}, {60, 1036, 4188, 0, 0, 0, 0}, {520, 85, 5418, 0, 0, 0, 0}, {60, 520, 90, 1028, 4122, 0, 0}, {255, 2048, 5983, 0, 0, 0, 0}, {2048, 8352, 16576, 0, 0, 0, 0}, {15, 51, 85, 263, 0, 0, 0}, {170, 520, 16448, 0, 0, 0, 0}, {15, 51, 768, 1024, 4176, 0, 0}, {204, 8224, 1032, 0, 0, 0, 0}, {15, 512, 85, 1280, 4144, 0, 0}, {512, 102, 1024, 0, 0, 0, 0}, {15, 1799, 4112, 0, 0, 0, 0}, {2056, 8224, 16448, 0, 0, 0, 0}, {15, 51, 85, 256, 0, 0, 0}, {170, 512, 16490, 0, 0, 0, 0}, {15, 51, 768, 1031, 4115, 0, 0}, {204, 8300, 1024, 0, 0, 0, 0}, {15, 519, 85, 1280, 4117, 0, 0}, {520, 102, 1032, 0, 0, 0, 0}, {15, 1792, 4192, 0, 0, 0, 0}, {240, 2160, 4208, 0, 0, 0, 0}, {51, 539, 85, 1053, 4369, 0, 0}, {552, 90, 4106, 0, 0, 0, 0}, {51, 1088, 4940, 0, 0, 0, 0}, {60, 1096, 4108, 0, 0, 0, 0}, {544, 85, 5418, 0, 0, 0, 0}, {60, 540, 90, 1050, 4112, 0, 0}, {255, 2167, 6007, 0, 0, 0, 0}, {240, 2168, 4096, 0, 0, 0, 0}, {51, 531, 85, 1045, 4352, 0, 0}, {544, 90, 4128, 0, 0, 0, 0}, {51, 1096, 4864, 0, 0, 0, 0}, {60, 1088, 4160, 0, 0, 0, 0}, {552, 85, 5376, 0, 0, 0, 0}, {60, 532, 90, 1042, 4102, 0, 0}, {255, 2175, 5888, 0, 0, 0, 0}, {2176, 8320, 16512, 0, 0, 0, 0}, {15, 51, 85, 279, 0, 0, 0}, {170, 552, 16384, 0, 0, 0, 0}, {15, 51, 771, 1088, 4160, 0, 0}, {204, 8192, 1096, 0, 0, 0, 0}, {15, 544, 85, 1285, 4128, 0, 0}, {544, 102, 1062, 0, 0, 0, 0}, {15, 1911, 4096, 0, 0, 0, 0}, {2184, 8192, 16384, 0, 0, 0, 0}, {15, 51, 85, 272, 0, 0, 0}, {170, 544, 16426, 0, 0, 0, 0}, {15, 51, 771, 1095, 4099, 0, 0}, {204, 8268, 1088, 0, 0, 0, 0}, {15, 551, 85, 1285, 4101, 0, 0}, {552, 102, 1070, 0, 0, 0, 0}, {15, 1904, 4208, 0, 0, 0, 0}, {240, 2048, 4192, 0, 0, 0, 0}, {51, 520, 85, 1032, 4369, 0, 0}, {520, 90, 4122, 0, 0, 0, 0}, {51, 1024, 4959, 0, 0, 0, 0}, {60, 1032, 4124, 0, 0, 0, 0}, {512, 85, 5439, 0, 0, 0, 0}, {60, 512, 90, 1024, 4096, 0, 0}, {255, 2056, 5911, 0, 0, 0, 0}, {240, 2056, 4112, 0, 0, 0, 0}, {51, 512, 85, 1024, 4352, 0, 0}, {512, 90, 4144, 0, 0, 0, 0}, {51, 1032, 4883, 0, 0, 0, 0}, {60, 1024, 4176, 0, 0, 0, 0}, {520, 85, 5397, 0, 0, 0, 0}, {60, 520, 90, 1032, 4118, 0, 0}, {255, 2048, 5984, 0, 0, 0, 0}, {2048, 8352, 16384, 0, 0, 0, 0}, {15, 51, 85, 260, 0, 0, 0}, {170, 520, 16426, 0, 0, 0, 0}, {15, 51, 771, 1027, 4179, 0, 0}, {204, 8224, 1028, 0, 0, 0, 0}, {15, 512, 85, 1280, 4096, 0, 0}, {512, 102, 1036, 0, 0, 0, 0}, {15, 1799, 4128, 0, 0, 0, 0}, {2056, 8224, 16512, 0, 0, 0, 0}, {15, 51, 85, 259, 0, 0, 0}, {170, 512, 16384, 0, 0, 0, 0}, {15, 51, 771, 1028, 4112, 0, 0}, {204, 8300, 1036, 0, 0, 0, 0}, {15, 519, 85, 1280, 4133, 0, 0}, {520, 102, 1028, 0, 0, 0, 0}, {15, 1792, 4176, 0, 0, 0, 0}, {240, 2160, 4160, 0, 0, 0, 0}, {51, 539, 85, 1041, 4369, 0, 0}, {552, 90, 4154, 0, 0, 0, 0}, {51, 1100, 4940, 0, 0, 0, 0}, {60, 1092, 4096, 0, 0, 0, 0}, {544, 85, 5397, 0, 0, 0, 0}, {60, 540, 90, 1046, 4124, 0, 0}, {255, 2167, 5960, 0, 0, 0, 0}, {240, 2168, 4144, 0, 0, 0, 0}, {51, 531, 85, 1049, 4352, 0, 0}, {544, 90, 4112, 0, 0, 0, 0}, {51, 1092, 4864, 0, 0, 0, 0}, {60, 1100, 4172, 0, 0, 0, 0}, {552, 85, 5439, 0, 0, 0, 0}, {60, 532, 90, 1054, 4106, 0, 0}, {255, 2175, 5951, 0, 0, 0, 0}, {2048, 8192, 16576, 0, 0, 0, 0}, {15, 51, 85, 258, 0, 0, 0}, {170, 514, 16448, 0, 0, 0, 0}, {15, 51, 768, 1024, 4096, 0, 0}, {204, 8268, 1032, 0, 0, 0, 0}, {15, 517, 85, 1285, 4149, 0, 0}, {522, 102, 1024, 0, 0, 0, 0}, {15, 1799, 4160, 0, 0, 0, 0}, {2056, 8320, 16448, 0, 0, 0, 0}, {15, 51, 85, 261, 0, 0, 0}, {170, 522, 16490, 0, 0, 0, 0}, {15, 51, 768, 1031, 4163, 0, 0}, {204, 8192, 1024, 0, 0, 0, 0}, {15, 514, 85, 1285, 4112, 0, 0}, {514, 102, 1032, 0, 0, 0, 0}, {15, 1792, 4144, 0, 0, 0, 0}, {240, 2160, 4128, 0, 0, 0, 0}, {51, 529, 85, 1053, 4369, 0, 0}, {546, 90, 4096, 0, 0, 0, 0}, {51, 1088, 4883, 0, 0, 0, 0}, {60, 1096, 4188, 0, 0, 0, 0}, {554, 85, 5418, 0, 0, 0, 0}, {60, 534, 90, 1050, 4122, 0, 0}, {255, 2167, 5928, 0, 0, 0, 0}, {240, 2168, 4176, 0, 0, 0, 0}, {51, 537, 85, 1045, 4352, 0, 0}, {554, 90, 4138, 0, 0, 0, 0}, {51, 1096, 4959, 0, 0, 0, 0}, {60, 1088, 4112, 0, 0, 0, 0}, {546, 85, 5376, 0, 0, 0, 0}, {60, 542, 90, 1042, 4108, 0, 0}, {255, 2175, 5983, 0, 0, 0, 0}, {2176, 8224, 16448, 0, 0, 0, 0}, {15, 51, 85, 273, 0, 0, 0}, {170, 546, 16490, 0, 0, 0, 0}, {15, 51, 768, 1091, 4115, 0, 0}, {204, 8300, 1092, 0, 0, 0, 0}, {15, 549, 85, 1280, 4117, 0, 0}, {554, 102, 1066, 0, 0, 0, 0}, {15, 1911, 4192, 0, 0, 0, 0}, {2184, 8352, 16576, 0, 0, 0, 0}, {15, 51, 85, 278, 0, 0, 0}, {170, 554, 16448, 0, 0, 0, 0}, {15, 51, 768, 1092, 4176, 0, 0}, {204, 8224, 1100, 0, 0, 0, 0}, {15, 546, 85, 1280, 4144, 0, 0}, {546, 102, 1058, 0, 0, 0, 0}, {15, 1904, 4112, 0, 0, 0, 0}, {240, 2048, 4096, 0, 0, 0, 0}, {51, 514, 85, 1028, 4369, 0, 0}, {514, 90, 4128, 0, 0, 0, 0}, {51, 1036, 4864, 0, 0, 0, 0}, {60, 1028, 4160, 0, 0, 0, 0}, {522, 85, 5376, 0, 0, 0, 0}, {60, 522, 90, 1036, 4102, 0, 0}, {255, 2056, 6007, 0, 0, 0, 0}, {240, 2056, 4208, 0, 0, 0, 0}, {51, 522, 85, 1036, 4352, 0, 0}, {522, 90, 4106, 0, 0, 0, 0}, {51, 1028, 4940, 0, 0, 0, 0}, {60, 1036, 4108, 0, 0, 0, 0}, {514, 85, 5418, 0, 0, 0, 0}, {60, 514, 90, 1028, 4112, 0, 0}, {255, 2048, 5888, 0, 0, 0, 0}, {3840, 13056, 21760, 0, 0, 0, 0}, {8, 32, 64, 257, 0, 0, 0}, {8, 32, 514, 1282, 4354, 0, 0}, {192, 771, 21823, 0, 0, 0, 0}, {8, 772, 64, 1028, 4356, 0, 0}, {160, 13151, 1285, 0, 0, 0, 0}, {780, 96, 1290, 0, 0, 0, 0}, {8, 1799, 4471, 0, 0, 0, 0}, {8, 1792, 4352, 0, 0, 0, 0}, {771, 96, 1285, 0, 0, 0, 0}, {160, 13056, 1290, 0, 0, 0, 0}, {8, 771, 64, 1028, 4403, 0, 0}, {192, 780, 21760, 0, 0, 0, 0}, {8, 32, 514, 1285, 4437, 0, 0}, {8, 32, 64, 262, 0, 0, 0}, {3855, 13311, 22015, 0, 0, 0, 0}, {32, 784, 64, 1296, 4112, 0, 0}, {136, 3959, 4369, 0, 0, 0, 0}, {816, 72, 4386, 0, 0, 0, 0}, {32, 1375, 4883, 0, 0, 0, 0}, {40, 1360, 4420, 0, 0, 0, 0}, {831, 64, 5397, 0, 0, 0, 0}, {128, 3952, 5654, 0, 0, 0, 0}, {40, 791, 72, 1303, 4375, 0, 0}, {40, 792, 72, 1304, 4352, 0, 0}, {128, 3967, 5734, 0, 0, 0, 0}, {816, 64, 5418, 0, 0, 0, 0}, {40, 1375, 4379, 0, 0, 0, 0}, {32, 1360, 4940, 0, 0, 0, 0}, {831, 72, 4381, 0, 0, 0, 0}, {136, 3960, 4454, 0, 0, 0, 0}, {32, 799, 64, 1311, 4096, 0, 0}, {32, 1280, 4864, 0, 0, 0, 0}, {771, 72, 4369, 0, 0, 0, 0}, {136, 3840, 4386, 0, 0, 0, 0}, {32, 771, 64, 1295, 4112, 0, 0}, {40, 780, 72, 1280, 4364, 0, 0}, {128, 3855, 5722, 0, 0, 0, 0}, {780, 64, 5418, 0, 0, 0, 0}, {40, 1295, 4447, 0, 0, 0, 0}, {40, 1280, 4352, 0, 0, 0, 0}, {771, 64, 5397, 0, 0, 0, 0}, {128, 3840, 5674, 0, 0, 0, 0}, {40, 771, 72, 1295, 4379, 0, 0}, {32, 780, 64, 1280, 4096, 0, 0}, {136, 3855, 4437, 0, 0, 0, 0}, {780, 72, 4398, 0, 0, 0, 0}, {32, 1295, 4959, 0, 0, 0, 0}, {192, 816, 21760, 0, 0, 0, 0}, {8, 32, 514, 1365, 4369, 0, 0}, {8, 32, 64, 274, 0, 0, 0}, {4095, 13107, 22015, 0, 0, 0, 0}, {8, 1904, 4420, 0, 0, 0, 0}, {831, 96, 1333, 0, 0, 0, 0}, {160, 13164, 1370, 0, 0, 0, 0}, {8, 823, 64, 1024, 4407, 0, 0}, {8, 816, 64, 1024, 4352, 0, 0}, {160, 13107, 1365, 0, 0, 0, 0}, {816, 96, 1338, 0, 0, 0, 0}, {8, 1911, 4403, 0, 0, 0, 0}, {4080, 13260, 21760, 0, 0, 0, 0}, {8, 32, 64, 277, 0, 0, 0}, {8, 32, 514, 1362, 4422, 0, 0}, {192, 831, 21823, 0, 0, 0, 0}, {768, 64, 5376, 0, 0, 0, 0}, {40, 1285, 4369, 0, 0, 0, 0}, {40, 768, 72, 1290, 4362, 0, 0}, {128, 3855, 5692, 0, 0, 0, 0}, {136, 3840, 4420, 0, 0, 0, 0}, {32, 783, 64, 1285, 4112, 0, 0}, {32, 1290, 4940, 0, 0, 0, 0}, {783, 72, 4415, 0, 0, 0, 0}, {768, 72, 4352, 0, 0, 0, 0}, {32, 1285, 4883, 0, 0, 0, 0}, {32, 768, 64, 1290, 4096, 0, 0}, {136, 3855, 4403, 0, 0, 0, 0}, {128, 3840, 5708, 0, 0, 0, 0}, {40, 783, 72, 1285, 4381, 0, 0}, {40, 1290, 4430, 0, 0, 0, 0}, {783, 64, 5439, 0, 0, 0, 0}, {160, 13056, 1360, 0, 0, 0, 0}, {8, 819, 64, 1028, 4369, 0, 0}, {8, 1904, 4386, 0, 0, 0, 0}, {819, 96, 1343, 0, 0, 0, 0}, {8, 32, 64, 276, 0, 0, 0}, {4095, 13311, 21845, 0, 0, 0, 0}, {192, 828, 21866, 0, 0, 0, 0}, {8, 32, 512, 1367, 4439, 0, 0}, {8, 32, 512, 1360, 4352, 0, 0}, {192, 819, 21845, 0, 0, 0, 0}, {4080, 13056, 21930, 0, 0, 0, 0}, {8, 32, 64, 275, 0, 0, 0}, {828, 96, 1328, 0, 0, 0, 0}, {8, 1911, 4437, 0, 0, 0, 0}, {8, 820, 64, 1028, 4390, 0, 0}, {160, 13151, 1375, 0, 0, 0, 0}, {768, 96, 1280, 0, 0, 0, 0}, {8, 1799, 4369, 0, 0, 0, 0}, {8, 768, 64, 1024, 4386, 0, 0}, {160, 13107, 1295, 0, 0, 0, 0}, {8, 32, 512, 1280, 4420, 0, 0}, {192, 783, 21845, 0, 0, 0, 0}, {3840, 13260, 21930, 0, 0, 0, 0}, {8, 32, 64, 263, 0, 0, 0}, {8, 32, 64, 256, 0, 0, 0}, {3855, 13107, 21845, 0, 0, 0, 0}, {192, 768, 21866, 0, 0, 0, 0}, {8, 32, 512, 1287, 4371, 0, 0}, {160, 13164, 1280, 0, 0, 0, 0}, {8, 775, 64, 1024, 4373, 0, 0}, {8, 1792, 4454, 0, 0, 0, 0}, {783, 96, 1295, 0, 0, 0, 0}, {128, 3952, 5744, 0, 0, 0, 0}, {40, 795, 72, 1309, 4369, 0, 0}, {40, 1370, 4362, 0, 0, 0, 0}, {819, 64, 5439, 0, 0, 0, 0}, {828, 72, 4364, 0, 0, 0, 0}, {32, 1365, 4959, 0, 0, 0, 0}, {32, 796, 64, 1306, 4112, 0, 0}, {136, 3959, 4471, 0, 0, 0, 0}, {136, 3960, 4352, 0, 0, 0, 0}, {32, 787, 64, 1301, 4096, 0, 0}, {32, 1370, 4864, 0, 0, 0, 0}, {819, 72, 4403, 0, 0, 0, 0}, {828, 64, 5376, 0, 0, 0, 0}, {40, 1365, 4437, 0, 0, 0, 0}, {40, 788, 72, 1298, 4358, 0, 0}, {128, 3967, 5632, 0, 0, 0, 0}, {128, 3840, 5632, 0, 0, 0, 0}, {40, 771, 72, 1285, 4369, 0, 0}, {40, 1290, 4362, 0, 0, 0, 0}, {771, 64, 5439, 0, 0, 0, 0}, {780, 72, 4364, 0, 0, 0, 0}, {32, 1285, 4959, 0, 0, 0, 0}, {32, 780, 64, 1290, 4096, 0, 0}, {136, 3855, 4471, 0, 0, 0, 0}, {136, 3840, 4352, 0, 0, 0, 0}, {32, 771, 64, 1285, 4112, 0, 0}, {32, 1290, 4864, 0, 0, 0, 0}, {771, 72, 4403, 0, 0, 0, 0}, {780, 64, 5376, 0, 0, 0, 0}, {40, 1285, 4437, 0, 0, 0, 0}, {40, 780, 72, 1290, 4358, 0, 0}, {128, 3855, 5744, 0, 0, 0, 0}, {816, 96, 1328, 0, 0, 0, 0}, {8, 1911, 4369, 0, 0, 0, 0}, {8, 816, 64, 1024, 4386, 0, 0}, {160, 13107, 1375, 0, 0, 0, 0}, {8, 32, 512, 1360, 4420, 0, 0}, {192, 831, 21845, 0, 0, 0, 0}, {4080, 13260, 21930, 0, 0, 0, 0}, {8, 32, 64, 279, 0, 0, 0}, {8, 32, 64, 272, 0, 0, 0}, {4095, 13107, 21845, 0, 0, 0, 0}, {192, 816, 21866, 0, 0, 0, 0}, {8, 32, 512, 1367, 4371, 0, 0}, {160, 13164, 1360, 0, 0, 0, 0}, {8, 823, 64, 1024, 4373, 0, 0}, {8, 1904, 4454, 0, 0, 0, 0}, {831, 96, 1343, 0, 0, 0, 0}, {160, 13056, 1280, 0, 0, 0, 0}, {8, 771, 64, 1028, 4369, 0, 0}, {8, 1792, 4386, 0, 0, 0, 0}, {771, 96, 1295, 0, 0, 0, 0}, {8, 32, 64, 260, 0, 0, 0}, {3855, 13311, 21845, 0, 0, 0, 0}, {192, 780, 21866, 0, 0, 0, 0}, {8, 32, 512, 1287, 4439, 0, 0}, {8, 32, 512, 1280, 4352, 0, 0}, {192, 771, 21845, 0, 0, 0, 0}, {3840, 13056, 21930, 0, 0, 0, 0}, {8, 32, 64, 259, 0, 0, 0}, {780, 96, 1280, 0, 0, 0, 0}, {8, 1799, 4437, 0, 0, 0, 0}, {8, 772, 64, 1028, 4390, 0, 0}, {160, 13151, 1295, 0, 0, 0, 0}, {816, 64, 5376, 0, 0, 0, 0}, {40, 1365, 4369, 0, 0, 0, 0}, {40, 792, 72, 1298, 4362, 0, 0}, {128, 3967, 5708, 0, 0, 0, 0}, {136, 3960, 4420, 0, 0, 0, 0}, {32, 799, 64, 1301, 4096, 0, 0}, {32, 1370, 4940, 0, 0, 0, 0}, {831, 72, 4415, 0, 0, 0, 0}, {816, 72, 4352, 0, 0, 0, 0}, {32, 1365, 4883, 0, 0, 0, 0}, {32, 784, 64, 1306, 4112, 0, 0}, {136, 3959, 4403, 0, 0, 0, 0}, {128, 3952, 5692, 0, 0, 0, 0}, {40, 791, 72, 1309, 4381, 0, 0}, {40, 1370, 4430, 0, 0, 0, 0}, {831, 64, 5439, 0, 0, 0, 0}, {192, 768, 21760, 0, 0, 0, 0}, {8, 32, 514, 1285, 4369, 0, 0}, {8, 32, 64, 258, 0, 0, 0}, {3855, 13107, 22015, 0, 0, 0, 0}, {8, 1792, 4420, 0, 0, 0, 0}, {783, 96, 1285, 0, 0, 0, 0}, {160, 13164, 1290, 0, 0, 0, 0}, {8, 775, 64, 1024, 4407, 0, 0}, {8, 768, 64, 1024, 4352, 0, 0}, {160, 13107, 1285, 0, 0, 0, 0}, {768, 96, 1290, 0, 0, 0, 0}, {8, 1799, 4403, 0, 0, 0, 0}, {3840, 13260, 21760, 0, 0, 0, 0}, {8, 32, 64, 261, 0, 0, 0}, {8, 32, 514, 1282, 4422, 0, 0}, {192, 783, 21823, 0, 0, 0, 0}, {32, 1360, 4864, 0, 0, 0, 0}, {819, 72, 4369, 0, 0, 0, 0}, {136, 3960, 4386, 0, 0, 0, 0}, {32, 787, 64, 1311, 4096, 0, 0}, {40, 788, 72, 1304, 4364, 0, 0}, {128, 3967, 5674, 0, 0, 0, 0}, {828, 64, 5418, 0, 0, 0, 0}, {40, 1375, 4447, 0, 0, 0, 0}, {40, 1360, 4352, 0, 0, 0, 0}, {819, 64, 5397, 0, 0, 0, 0}, {128, 3952, 5722, 0, 0, 0, 0}, {40, 795, 72, 1303, 4379, 0, 0}, {32, 796, 64, 1296, 4112, 0, 0}, {136, 3959, 4437, 0, 0, 0, 0}, {828, 72, 4398, 0, 0, 0, 0}, {32, 1375, 4959, 0, 0, 0, 0}, {32, 768, 64, 1280, 4096, 0, 0}, {136, 3855, 4369, 0, 0, 0, 0}, {768, 72, 4386, 0, 0, 0, 0}, {32, 1295, 4883, 0, 0, 0, 0}, {40, 1280, 4420, 0, 0, 0, 0}, {783, 64, 5397, 0, 0, 0, 0}, {128, 3840, 5734, 0, 0, 0, 0}, {40, 783, 72, 1295, 4375, 0, 0}, {40, 768, 72, 1280, 4352, 0, 0}, {128, 3855, 5654, 0, 0, 0, 0}, {768, 64, 5418, 0, 0, 0, 0}, {40, 1295, 4379, 0, 0, 0, 0}, {32, 1280, 4940, 0, 0, 0, 0}, {783, 72, 4381, 0, 0, 0, 0}, {136, 3840, 4454, 0, 0, 0, 0}, {32, 783, 64, 1295, 4112, 0, 0}, {4080, 13056, 21760, 0, 0, 0, 0}, {8, 32, 64, 273, 0, 0, 0}, {8, 32, 514, 1362, 4354, 0, 0}, {192, 819, 21823, 0, 0, 0, 0}, {8, 820, 64, 1028, 4356, 0, 0}, {160, 13151, 1365, 0, 0, 0, 0}, {828, 96, 1338, 0, 0, 0, 0}, {8, 1911, 4471, 0, 0, 0, 0}, {8, 1904, 4352, 0, 0, 0, 0}, {819, 96, 1333, 0, 0, 0, 0}, {160, 13056, 1370, 0, 0, 0, 0}, {8, 819, 64, 1028, 4403, 0, 0}, {192, 828, 21760, 0, 0, 0, 0}, {8, 32, 514, 1365, 4437, 0, 0}, {8, 32, 64, 278, 0, 0, 0}, {4095, 13311, 22015, 0, 0, 0, 0}, {27136, 0, 0, 0, 0, 0, 0}, {7, 19, 257, 0, 0, 0, 0}, {8, 32, 514, 16384, 0, 0, 0}, {15, 51, 771, 21760, 0, 0, 0}, {8, 8704, 68, 1028, 0, 0, 0}, {15, 12288, 80, 1285, 0, 0, 0}, {108, 1542, 0, 0, 0, 0, 0}, {7, 4608, 0, 0, 0, 0, 0}, {8, 8704, 16384, 0, 0, 0, 0}, {15, 51, 771, 80, 1285, 0, 0}, {160, 2570, 24576, 0, 0, 0, 0}, {51, 771, 7, 4352, 0, 0, 0}, {204, 3084, 26112, 0, 0, 0, 0}, {32, 514, 7, 4096, 0, 0, 0}, {8, 32, 514, 68, 1028, 0, 0}, {15, 12288, 21760, 0, 0, 0, 0}, {2560, 32, 80, 4112, 0, 0, 0}, {3072, 51, 68, 4369, 0, 0, 0}, {120, 4626, 0, 0, 0, 0, 0}, {1536, 19, 0, 0, 0, 0, 0}, {1536, 20, 0, 0, 0, 0, 0}, {127, 5397, 0, 0, 0, 0, 0}, {3072, 60, 76, 5654, 0, 0, 0}, {2560, 40, 95, 5911, 0, 0, 0}, {2560, 40, 80, 4632, 0, 0, 0}, {3072, 51, 76, 5401, 0, 0, 0}, {6682, 12336, 112, 0, 0, 0, 0}, {27, 51, 68, 1536, 4352, 0, 0}, {28, 32, 80, 1536, 4096, 0, 0}, {7453, 8738, 119, 0, 0, 0, 0}, {3072, 60, 68, 4638, 0, 0, 0}, {2560, 32, 95, 5407, 0, 0, 0}, {2560, 32, 16384, 0, 0, 0, 0}, {15, 51, 771, 68, 4369, 0, 0}, {136, 8738, 18432, 0, 0, 0, 0}, {15, 771, 1280, 19, 0, 0, 0}, {40, 68, 1548, 0, 0, 0, 0}, {15, 112, 5413, 0, 0, 0, 0}, {3084, 9766, 76, 0, 0, 0, 0}, {15, 39, 80, 1280, 4608, 0, 0}, {2560, 40, 16896, 0, 0, 0, 0}, {15, 51, 771, 67, 5397, 0, 0}, {128, 10794, 16384, 0, 0, 0, 0}, {15, 771, 1280, 20, 0, 0, 0}, {32, 76, 1548, 0, 0, 0, 0}, {15, 119, 4642, 0, 0, 0, 0}, {3084, 8738, 68, 0, 0, 0, 0}, {15, 32, 80, 1280, 4096, 0, 0}, {240, 12336, 23040, 0, 0, 0, 0}, {8, 514, 1024, 19, 0, 0, 0}, {8, 32, 514, 80, 4112, 0, 0}, {3072, 51, 21760, 0, 0, 0, 0}, {8, 52, 68, 1024, 4608, 0, 0}, {2570, 13621, 95, 0, 0, 0, 0}, {60, 80, 1546, 0, 0, 0, 0}, {8, 119, 5431, 0, 0, 0, 0}, {8, 112, 4656, 0, 0, 0, 0}, {51, 95, 1546, 0, 0, 0, 0}, {2570, 12336, 80, 0, 0, 0, 0}, {8, 51, 68, 1024, 4352, 0, 0}, {3072, 60, 22016, 0, 0, 0, 0}, {8, 32, 514, 87, 5397, 0, 0}, {8, 514, 1024, 20, 0, 0, 0}, {255, 16191, 21760, 0, 0, 0, 0}, {128, 10752, 16448, 0, 0, 0, 0}, {15, 768, 1285, 20, 0, 0, 0}, {2570, 40, 16962, 0, 0, 0, 0}, {15, 51, 768, 67, 5376, 0, 0}, {3072, 8704, 68, 0, 0, 0, 0}, {15, 32, 80, 1285, 4112, 0, 0}, {32, 76, 1546, 0, 0, 0, 0}, {15, 119, 4656, 0, 0, 0, 0}, {136, 8704, 18504, 0, 0, 0, 0}, {15, 768, 1285, 19, 0, 0, 0}, {2570, 32, 16448, 0, 0, 0, 0}, {15, 51, 768, 68, 4352, 0, 0}, {3072, 9728, 76, 0, 0, 0, 0}, {15, 39, 80, 1285, 4626, 0, 0}, {40, 68, 1546, 0, 0, 0, 0}, {15, 112, 5424, 0, 0, 0, 0}, {2560, 12288, 80, 0, 0, 0, 0}, {8, 51, 68, 1028, 4369, 0, 0}, {8, 112, 4642, 0, 0, 0, 0}, {51, 95, 1548, 0, 0, 0, 0}, {8, 512, 1028, 20, 0, 0, 0}, {255, 16128, 21845, 0, 0, 0, 0}, {3084, 60, 22102, 0, 0, 0, 0}, {8, 32, 512, 87, 5376, 0, 0}, {8, 32, 512, 80, 4096, 0, 0}, {3084, 51, 21845, 0, 0, 0, 0}, {240, 12288, 23130, 0, 0, 0, 0}, {8, 512, 1028, 19, 0, 0, 0}, {60, 80, 1548, 0, 0, 0, 0}, {8, 119, 5410, 0, 0, 0, 0}, {8, 52, 68, 1028, 4626, 0, 0}, {2560, 13568, 95, 0, 0, 0, 0}, {160, 2560, 24672, 0, 0, 0, 0}, {51, 768, 7, 4369, 0, 0, 0}, {8, 8738, 16448, 0, 0, 0, 0}, {15, 51, 768, 80, 1280, 0, 0}, {8, 32, 512, 68, 1024, 0, 0}, {15, 12336, 21845, 0, 0, 0, 0}, {204, 3072, 26214, 0, 0, 0, 0}, {32, 512, 7, 4112, 0, 0, 0}, {8, 32, 512, 16448, 0, 0, 0}, {15, 51, 768, 21845, 0, 0, 0}, {27242, 0, 0, 0, 0, 0, 0}, {7, 19, 256, 0, 0, 0, 0}, {108, 1536, 0, 0, 0, 0, 0}, {7, 4626, 0, 0, 0, 0, 0}, {8, 8738, 68, 1024, 0, 0, 0}, {15, 12336, 80, 1280, 0, 0, 0}, {6656, 12288, 112, 0, 0, 0, 0}, {27, 51, 68, 1542, 4369, 0, 0}, {2570, 40, 80, 4618, 0, 0, 0}, {3084, 51, 76, 5388, 0, 0, 0}, {3084, 60, 68, 4620, 0, 0, 0}, {2570, 32, 95, 5386, 0, 0, 0}, {28, 32, 80, 1542, 4112, 0, 0}, {7424, 8704, 119, 0, 0, 0, 0}, {120, 4608, 0, 0, 0, 0, 0}, {1542, 19, 0, 0, 0, 0, 0}, {2570, 32, 80, 4096, 0, 0, 0}, {3084, 51, 68, 4352, 0, 0, 0}, {3084, 60, 76, 5632, 0, 0, 0}, {2570, 40, 95, 5888, 0, 0, 0}, {1542, 20, 0, 0, 0, 0, 0}, {127, 5376, 0, 0, 0, 0, 0}, {128, 10752, 16384, 0, 0, 0, 0}, {15, 771, 1285, 20, 0, 0, 0}, {2570, 40, 16906, 0, 0, 0, 0}, {15, 51, 771, 67, 5379, 0, 0}, {3084, 8704, 68, 0, 0, 0, 0}, {15, 32, 80, 1285, 4096, 0, 0}, {32, 76, 1542, 0, 0, 0, 0}, {15, 119, 4608, 0, 0, 0, 0}, {136, 8704, 18432, 0, 0, 0, 0}, {15, 771, 1285, 19, 0, 0, 0}, {2570, 32, 16384, 0, 0, 0, 0}, {15, 51, 771, 68, 4352, 0, 0}, {3084, 9740, 76, 0, 0, 0, 0}, {15, 39, 80, 1285, 4613, 0, 0}, {40, 68, 1542, 0, 0, 0, 0}, {15, 112, 5376, 0, 0, 0, 0}, {2560, 12336, 80, 0, 0, 0, 0}, {8, 51, 68, 1024, 4369, 0, 0}, {8, 112, 4626, 0, 0, 0, 0}, {51, 95, 1536, 0, 0, 0, 0}, {8, 512, 1024, 20, 0, 0, 0}, {255, 16191, 21845, 0, 0, 0, 0}, {3072, 60, 22106, 0, 0, 0, 0}, {8, 32, 512, 87, 5399, 0, 0}, {8, 32, 512, 80, 4112, 0, 0}, {3072, 51, 21845, 0, 0, 0, 0}, {240, 12336, 23130, 0, 0, 0, 0}, {8, 512, 1024, 19, 0, 0, 0}, {60, 80, 1536, 0, 0, 0, 0}, {8, 119, 5397, 0, 0, 0, 0}, {8, 52, 68, 1024, 4630, 0, 0}, {2560, 13631, 95, 0, 0, 0, 0}, {160, 2560, 24576, 0, 0, 0, 0}, {51, 771, 7, 4369, 0, 0, 0}, {8, 8738, 16384, 0, 0, 0, 0}, {15, 51, 771, 80, 1280, 0, 0}, {8, 32, 512, 68, 1028, 0, 0}, {15, 12288, 21845, 0, 0, 0, 0}, {204, 3084, 26214, 0, 0, 0, 0}, {32, 512, 7, 4096, 0, 0, 0}, {8, 32, 512, 16384, 0, 0, 0}, {15, 51, 771, 21845, 0, 0, 0}, {27306, 0, 0, 0, 0, 0, 0}, {7, 19, 259, 0, 0, 0, 0}, {108, 1548, 0, 0, 0, 0, 0}, {7, 4642, 0, 0, 0, 0, 0}, {8, 8738, 68, 1028, 0, 0, 0}, {15, 12288, 80, 1280, 0, 0, 0}, {6704, 12336, 112, 0, 0, 0, 0}, {27, 51, 68, 1553, 4369, 0, 0}, {2570, 40, 80, 4626, 0, 0, 0}, {3072, 51, 76, 5376, 0, 0, 0}, {3072, 60, 68, 4608, 0, 0, 0}, {2570, 32, 95, 5397, 0, 0, 0}, {28, 32, 80, 1558, 4096, 0, 0}, {7487, 8704, 119, 0, 0, 0, 0}, {120, 4656, 0, 0, 0, 0, 0}, {1546, 19, 0, 0, 0, 0, 0}, {2570, 32, 80, 4112, 0, 0, 0}, {3072, 51, 68, 4352, 0, 0, 0}, {3072, 60, 76, 5632, 0, 0, 0}, {2570, 40, 95, 5911, 0, 0, 0}, {1546, 20, 0, 0, 0, 0, 0}, {127, 5439, 0, 0, 0, 0, 0}, {27328, 0, 0, 0, 0, 0, 0}, {7, 19, 258, 0, 0, 0, 0}, {8, 32, 514, 16448, 0, 0, 0}, {15, 51, 768, 21760, 0, 0, 0}, {8, 8704, 68, 1024, 0, 0, 0}, {15, 12336, 80, 1285, 0, 0, 0}, {108, 1546, 0, 0, 0, 0, 0}, {7, 4656, 0, 0, 0, 0, 0}, {8, 8704, 16448, 0, 0, 0, 0}, {15, 51, 768, 80, 1285, 0, 0}, {160, 2570, 24672, 0, 0, 0, 0}, {51, 768, 7, 4352, 0, 0, 0}, {204, 3072, 26112, 0, 0, 0, 0}, {32, 514, 7, 4112, 0, 0, 0}, {8, 32, 514, 68, 1024, 0, 0}, {15, 12336, 21760, 0, 0, 0, 0}, {2560, 32, 80, 4096, 0, 0, 0}, {3084, 51, 68, 4369, 0, 0, 0}, {120, 4642, 0, 0, 0, 0, 0}, {1548, 19, 0, 0, 0, 0, 0}, {1548, 20, 0, 0, 0, 0, 0}, {127, 5418, 0, 0, 0, 0, 0}, {3084, 60, 76, 5654, 0, 0, 0}, {2560, 40, 95, 5888, 0, 0, 0}, {2560, 40, 80, 4608, 0, 0, 0}, {3084, 51, 76, 5397, 0, 0, 0}, {6698, 12288, 112, 0, 0, 0, 0}, {27, 51, 68, 1559, 4352, 0, 0}, {28, 32, 80, 1552, 4112, 0, 0}, {7458, 8738, 119, 0, 0, 0, 0}, {3084, 60, 68, 4626, 0, 0, 0}, {2560, 32, 95, 5376, 0, 0, 0}, {2560, 32, 16448, 0, 0, 0, 0}, {15, 51, 768, 68, 4369, 0, 0}, {136, 8738, 18504, 0, 0, 0, 0}, {15, 768, 1280, 19, 0, 0, 0}, {40, 68, 1536, 0, 0, 0, 0}, {15, 112, 5397, 0, 0, 0, 0}, {3072, 9770, 76, 0, 0, 0, 0}, {15, 39, 80, 1280, 4631, 0, 0}, {2560, 40, 16968, 0, 0, 0, 0}, {15, 51, 768, 67, 5398, 0, 0}, {128, 10794, 16448, 0, 0, 0, 0}, {15, 768, 1280, 20, 0, 0, 0}, {32, 76, 1536, 0, 0, 0, 0}, {15, 119, 4626, 0, 0, 0, 0}, {3072, 8738, 68, 0, 0, 0, 0}, {15, 32, 80, 1280, 4112, 0, 0}, {240, 12288, 23040, 0, 0, 0, 0}, {8, 514, 1028, 19, 0, 0, 0}, {8, 32, 514, 80, 4096, 0, 0}, {3084, 51, 21760, 0, 0, 0, 0}, {8, 52, 68, 1028, 4612, 0, 0}, {2570, 13578, 95, 0, 0, 0, 0}, {60, 80, 1542, 0, 0, 0, 0}, {8, 119, 5376, 0, 0, 0, 0}, {8, 112, 4608, 0, 0, 0, 0}, {51, 95, 1542, 0, 0, 0, 0}, {2570, 12288, 80, 0, 0, 0, 0}, {8, 51, 68, 1028, 4352, 0, 0}, {3084, 60, 22028, 0, 0, 0, 0}, {8, 32, 514, 87, 5378, 0, 0}, {8, 514, 1028, 20, 0, 0, 0}, {255, 16128, 21760, 0, 0, 0, 0}, {1792, 4864, 0, 0, 0, 0, 0}, {106, 257, 0, 0, 0, 0, 0}, {170, 514, 1290, 4386, 0, 0, 0}, {192, 771, 1036, 4144, 0, 0, 0}, {192, 780, 1028, 4160, 0, 0, 0}, {170, 522, 1285, 4437, 0, 0, 0}, {106, 262, 0, 0, 0, 0, 0}, {1799, 4991, 0, 0, 0, 0, 0}, {4992, 13056, 1800, 0, 0, 0, 0}, {265, 771, 355, 1285, 4403, 0, 0}, {170, 522, 1290, 4352, 0, 0, 0}, {192, 771, 1028, 4208, 0, 0, 0}, {192, 780, 1036, 4096, 0, 0, 0}, {170, 514, 1285, 4471, 0, 0, 0}, {270, 514, 356, 1028, 4128, 0, 0}, {5119, 8192, 1807, 0, 0, 0, 0}, {192, 816, 1088, 4112, 0, 0, 0}, {170, 546, 1365, 4369, 0, 0, 0}, {106, 274, 0, 0, 0, 0, 0}, {1919, 4883, 0, 0, 0, 0, 0}, {1912, 4972, 0, 0, 0, 0, 0}, {106, 277, 0, 0, 0, 0, 0}, {170, 554, 1370, 4454, 0, 0, 0}, {192, 831, 1096, 4192, 0, 0, 0}, {192, 816, 1096, 4176, 0, 0, 0}, {170, 554, 1365, 4403, 0, 0, 0}, {282, 816, 368, 1328, 4352, 0, 0}, {5011, 13107, 1911, 0, 0, 0, 0}, {5100, 8224, 1904, 0, 0, 0, 0}, {285, 546, 375, 1058, 4096, 0, 0}, {170, 546, 1370, 4420, 0, 0, 0}, {192, 831, 1088, 4128, 0, 0, 0}, {1920, 3840, 4896, 0, 0, 0, 0}, {289, 771, 331, 1295, 4369, 0, 0}, {170, 546, 1280, 4386, 0, 0, 0}, {192, 771, 1100, 4112, 0, 0, 0}, {192, 780, 1092, 4192, 0, 0, 0}, {170, 554, 1295, 4437, 0, 0, 0}, {294, 780, 332, 1280, 4364, 0, 0}, {1927, 3855, 4959, 0, 0, 0, 0}, {1928, 3840, 5160, 0, 0, 0, 0}, {297, 771, 323, 1295, 4122, 0, 0}, {170, 554, 1280, 4352, 0, 0, 0}, {192, 771, 1092, 4176, 0, 0, 0}, {192, 780, 1100, 4128, 0, 0, 0}, {170, 546, 1295, 4471, 0, 0, 0}, {302, 780, 324, 1280, 4096, 0, 0}, {1935, 3855, 5200, 0, 0, 0, 0}, {192, 816, 1024, 4144, 0, 0, 0}, {170, 514, 1375, 4369, 0, 0, 0}, {306, 514, 344, 1032, 4112, 0, 0}, {2047, 2048, 4915, 0, 0, 0, 0}, {2040, 2056, 4940, 0, 0, 0, 0}, {309, 522, 351, 1024, 4106, 0, 0}, {170, 522, 1360, 4454, 0, 0, 0}, {192, 831, 1032, 4160, 0, 0, 0}, {192, 816, 1032, 4208, 0, 0, 0}, {170, 522, 1375, 4403, 0, 0, 0}, {314, 522, 336, 1024, 4352, 0, 0}, {2039, 2056, 5188, 0, 0, 0, 0}, {2032, 2048, 5180, 0, 0, 0, 0}, {317, 514, 343, 1032, 4381, 0, 0}, {170, 514, 1360, 4420, 0, 0, 0}, {192, 831, 1024, 4096, 0, 0, 0}, {192, 768, 1088, 4160, 0, 0, 0}, {170, 552, 1285, 4369, 0, 0, 0}, {296, 768, 322, 1290, 4106, 0, 0}, {1935, 3855, 5180, 0, 0, 0, 0}, {1928, 3840, 5188, 0, 0, 0, 0}, {303, 783, 325, 1285, 4112, 0, 0}, {170, 544, 1290, 4454, 0, 0, 0}, {192, 783, 1096, 4144, 0, 0, 0}, {192, 768, 1096, 4096, 0, 0, 0}, {170, 544, 1285, 4403, 0, 0, 0}, {288, 768, 330, 1290, 4352, 0, 0}, {1927, 3855, 4915, 0, 0, 0, 0}, {1920, 3840, 4940, 0, 0, 0, 0}, {295, 783, 333, 1285, 4381, 0, 0}, {170, 552, 1290, 4420, 0, 0, 0}, {192, 783, 1088, 4208, 0, 0, 0}, {2032, 2048, 5200, 0, 0, 0, 0}, {315, 520, 337, 1028, 4369, 0, 0}, {170, 520, 1370, 4386, 0, 0, 0}, {192, 819, 1036, 4192, 0, 0, 0}, {192, 828, 1028, 4112, 0, 0, 0}, {170, 512, 1365, 4437, 0, 0, 0}, {316, 512, 342, 1036, 4364, 0, 0}, {2039, 2056, 5160, 0, 0, 0, 0}, {2040, 2056, 4896, 0, 0, 0, 0}, {307, 512, 345, 1036, 4096, 0, 0}, {170, 512, 1370, 4352, 0, 0, 0}, {192, 819, 1028, 4128, 0, 0, 0}, {192, 828, 1036, 4176, 0, 0, 0}, {170, 520, 1365, 4471, 0, 0, 0}, {308, 520, 350, 1028, 4122, 0, 0}, {2047, 2048, 4959, 0, 0, 0, 0}, {192, 768, 1024, 4192, 0, 0, 0}, {170, 520, 1295, 4369, 0, 0, 0}, {264, 768, 354, 1280, 4386, 0, 0}, {5011, 13107, 1807, 0, 0, 0, 0}, {5100, 8224, 1800, 0, 0, 0, 0}, {271, 512, 357, 1024, 4144, 0, 0}, {170, 512, 1280, 4454, 0, 0, 0}, {192, 783, 1032, 4112, 0, 0, 0}, {192, 768, 1032, 4128, 0, 0, 0}, {170, 512, 1295, 4403, 0, 0, 0}, {106, 256, 0, 0, 0, 0, 0}, {1799, 4883, 0, 0, 0, 0, 0}, {1792, 4972, 0, 0, 0, 0, 0}, {106, 263, 0, 0, 0, 0, 0}, {170, 520, 1280, 4420, 0, 0, 0}, {192, 783, 1024, 4176, 0, 0, 0}, {4992, 13056, 1904, 0, 0, 0, 0}, {283, 819, 369, 1333, 4369, 0, 0}, {170, 552, 1360, 4386, 0, 0, 0}, {192, 819, 1100, 4160, 0, 0, 0}, {192, 828, 1092, 4144, 0, 0, 0}, {170, 544, 1375, 4437, 0, 0, 0}, {284, 544, 374, 1062, 4112, 0, 0}, {5119, 8192, 1911, 0, 0, 0, 0}, {1912, 4864, 0, 0, 0, 0, 0}, {106, 275, 0, 0, 0, 0, 0}, {170, 544, 1360, 4352, 0, 0, 0}, {192, 819, 1092, 4096, 0, 0, 0}, {192, 828, 1100, 4208, 0, 0, 0}, {170, 552, 1375, 4471, 0, 0, 0}, {106, 276, 0, 0, 0, 0, 0}, {1919, 4991, 0, 0, 0, 0, 0}, {1920, 3840, 5120, 0, 0, 0, 0}, {299, 771, 321, 1285, 4369, 0, 0}, {170, 552, 1290, 4386, 0, 0, 0}, {192, 771, 1100, 4208, 0, 0, 0}, {192, 780, 1092, 4096, 0, 0, 0}, {170, 544, 1285, 4437, 0, 0, 0}, {300, 780, 326, 1290, 4364, 0, 0}, {1927, 3855, 5240, 0, 0, 0, 0}, {1928, 3840, 4864, 0, 0, 0, 0}, {291, 771, 329, 1285, 4112, 0, 0}, {170, 544, 1290, 4352, 0, 0, 0}, {192, 771, 1092, 4144, 0, 0, 0}, {192, 780, 1100, 4160, 0, 0, 0}, {170, 552, 1285, 4471, 0, 0, 0}, {292, 780, 334, 1290, 4106, 0, 0}, {1935, 3855, 4991, 0, 0, 0, 0}, {192, 816, 1024, 4176, 0, 0, 0}, {170, 520, 1365, 4369, 0, 0, 0}, {312, 520, 338, 1032, 4122, 0, 0}, {2047, 2048, 5228, 0, 0, 0, 0}, {2040, 2056, 5140, 0, 0, 0, 0}, {319, 512, 341, 1024, 4096, 0, 0}, {170, 512, 1370, 4454, 0, 0, 0}, {192, 831, 1032, 4128, 0, 0, 0}, {192, 816, 1032, 4112, 0, 0, 0}, {170, 512, 1365, 4403, 0, 0, 0}, {304, 512, 346, 1024, 4352, 0, 0}, {2039, 2056, 4883, 0, 0, 0, 0}, {2032, 2048, 4972, 0, 0, 0, 0}, {311, 520, 349, 1032, 4381, 0, 0}, {170, 520, 1370, 4420, 0, 0, 0}, {192, 831, 1024, 4192, 0, 0, 0}, {5024, 13056, 1792, 0, 0, 0, 0}, {267, 771, 353, 1028, 4369, 0, 0}, {170, 520, 1280, 4386, 0, 0, 0}, {192, 771, 1036, 4176, 0, 0, 0}, {192, 780, 1028, 4128, 0, 0, 0}, {170, 512, 1295, 4437, 0, 0, 0}, {268, 512, 358, 1280, 4096, 0, 0}, {5087, 8224, 1799, 0, 0, 0, 0}, {1800, 4896, 0, 0, 0, 0, 0}, {106, 259, 0, 0, 0, 0, 0}, {170, 512, 1280, 4352, 0, 0, 0}, {192, 771, 1028, 4112, 0, 0, 0}, {192, 780, 1036, 4192, 0, 0, 0}, {170, 520, 1295, 4471, 0, 0, 0}, {106, 260, 0, 0, 0, 0, 0}, {1807, 4959, 0, 0, 0, 0, 0}, {192, 816, 1088, 4208, 0, 0, 0}, {170, 552, 1375, 4369, 0, 0, 0}, {280, 816, 370, 1058, 4386, 0, 0}, {5043, 13107, 1919, 0, 0, 0, 0}, {5068, 8192, 1912, 0, 0, 0, 0}, {287, 544, 373, 1333, 4128, 0, 0}, {170, 544, 1360, 4454, 0, 0, 0}, {192, 831, 1096, 4096, 0, 0, 0}, {192, 816, 1096, 4144, 0, 0, 0}, {170, 544, 1375, 4403, 0, 0, 0}, {106, 272, 0, 0, 0, 0, 0}, {1911, 4915, 0, 0, 0, 0, 0}, {1904, 4940, 0, 0, 0, 0, 0}, {106, 279, 0, 0, 0, 0, 0}, {170, 552, 1360, 4420, 0, 0, 0}, {192, 831, 1088, 4160, 0, 0, 0}, {192, 768, 1024, 4096, 0, 0, 0}, {170, 514, 1285, 4369, 0, 0, 0}, {106, 258, 0, 0, 0, 0, 0}, {1807, 4915, 0, 0, 0, 0, 0}, {1800, 4940, 0, 0, 0, 0, 0}, {106, 261, 0, 0, 0, 0, 0}, {170, 522, 1290, 4454, 0, 0, 0}, {192, 783, 1032, 4208, 0, 0, 0}, {192, 768, 1032, 4160, 0, 0, 0}, {170, 522, 1285, 4403, 0, 0, 0}, {266, 768, 352, 1024, 4352, 0, 0}, {5043, 13107, 1799, 0, 0, 0, 0}, {5068, 8192, 1792, 0, 0, 0, 0}, {269, 514, 359, 1285, 4112, 0, 0}, {170, 514, 1290, 4420, 0, 0, 0}, {192, 783, 1024, 4144, 0, 0, 0}, {1904, 4896, 0, 0, 0, 0, 0}, {106, 273, 0, 0, 0, 0, 0}, {170, 546, 1370, 4386, 0, 0, 0}, {192, 819, 1100, 4128, 0, 0, 0}, {192, 828, 1092, 4176, 0, 0, 0}, {170, 554, 1365, 4437, 0, 0, 0}, {106, 278, 0, 0, 0, 0, 0}, {1911, 4959, 0, 0, 0, 0, 0}, {5024, 13056, 1912, 0, 0, 0, 0}, {281, 819, 371, 1062, 4403, 0, 0}, {170, 554, 1370, 4352, 0, 0, 0}, {192, 819, 1092, 4192, 0, 0, 0}, {192, 828, 1100, 4112, 0, 0, 0}, {170, 546, 1365, 4471, 0, 0, 0}, {286, 546, 372, 1328, 4144, 0, 0}, {5087, 8224, 1919, 0, 0, 0, 0}, {192, 768, 1088, 4128, 0, 0, 0}, {170, 546, 1295, 4369, 0, 0, 0}, {290, 768, 328, 1280, 4096, 0, 0}, {1935, 3855, 4883, 0, 0, 0, 0}, {1928, 3840, 4972, 0, 0, 0, 0}, {293, 783, 335, 1295, 4122, 0, 0}, {170, 554, 1280, 4454, 0, 0, 0}, {192, 783, 1096, 4176, 0, 0, 0}, {192, 768, 1096, 4192, 0, 0, 0}, {170, 554, 1295, 4403, 0, 0, 0}, {298, 768, 320, 1280, 4352, 0, 0}, {1927, 3855, 5140, 0, 0, 0, 0}, {1920, 3840, 5228, 0, 0, 0, 0}, {301, 783, 327, 1295, 4381, 0, 0}, {170, 546, 1280, 4420, 0, 0, 0}, {192, 783, 1088, 4112, 0, 0, 0}, {2032, 2048, 4864, 0, 0, 0, 0}, {305, 514, 347, 1028, 4369, 0, 0}, {170, 514, 1360, 4386, 0, 0, 0}, {192, 819, 1036, 4096, 0, 0, 0}, {192, 828, 1028, 4208, 0, 0, 0}, {170, 522, 1375, 4437, 0, 0, 0}, {310, 522, 348, 1036, 4364, 0, 0}, {2039, 2056, 4991, 0, 0, 0, 0}, {2040, 2056, 5240, 0, 0, 0, 0}, {313, 522, 339, 1036, 4106, 0, 0}, {170, 522, 1360, 4352, 0, 0, 0}, {192, 819, 1028, 4160, 0, 0, 0}, {192, 828, 1036, 4144, 0, 0, 0}, {170, 514, 1375, 4471, 0, 0, 0}, {318, 514, 340, 1028, 4112, 0, 0}, {2047, 2048, 5120, 0, 0, 0, 0}, {27648, 0, 0, 0, 0, 0, 0}, {7, 18, 257, 0, 0, 0, 0}, {8, 34, 514, 17408, 0, 0, 0}, {15, 48, 771, 20480, 0, 0, 0}, {8, 8192, 64, 1028, 0, 0, 0}, {15, 13056, 85, 1285, 0, 0, 0}, {106, 1542, 0, 0, 0, 0, 0}, {7, 4864, 0, 0, 0, 0, 0}, {8, 8192, 17408, 0, 0, 0, 0}, {15, 48, 771, 85, 1285, 0, 0}, {170, 2570, 26112, 0, 0, 0, 0}, {48, 771, 7, 4096, 0, 0, 0}, {192, 3084, 24576, 0, 0, 0, 0}, {34, 514, 7, 4352, 0, 0, 0}, {8, 34, 514, 64, 1028, 0, 0}, {15, 13056, 20480, 0, 0, 0, 0}, {3072, 48, 64, 4112, 0, 0, 0}, {2560, 34, 85, 4369, 0, 0, 0}, {1536, 18, 0, 0, 0, 0, 0}, {127, 4883, 0, 0, 0, 0, 0}, {120, 5140, 0, 0, 0, 0, 0}, {1536, 21, 0, 0, 0, 0, 0}, {2560, 42, 90, 5654, 0, 0, 0}, {3072, 63, 72, 5911, 0, 0, 0}, {3072, 48, 72, 5144, 0, 0, 0}, {2560, 42, 85, 4889, 0, 0, 0}, {26, 48, 64, 1536, 4096, 0, 0}, {6939, 13107, 119, 0, 0, 0, 0}, {7196, 8224, 112, 0, 0, 0, 0}, {29, 34, 85, 1536, 4352, 0, 0}, {2560, 34, 90, 5150, 0, 0, 0}, {3072, 63, 64, 4895, 0, 0, 0}, {128, 8224, 19456, 0, 0, 0, 0}, {15, 771, 1280, 18, 0, 0, 0}, {2560, 34, 17408, 0, 0, 0, 0}, {15, 48, 771, 64, 4112, 0, 0}, {3084, 9252, 72, 0, 0, 0, 0}, {15, 37, 85, 1280, 4864, 0, 0}, {42, 64, 1548, 0, 0, 0, 0}, {15, 119, 5159, 0, 0, 0, 0}, {136, 10280, 17408, 0, 0, 0, 0}, {15, 771, 1280, 21, 0, 0, 0}, {2560, 42, 17920, 0, 0, 0, 0}, {15, 48, 771, 71, 5140, 0, 0}, {3084, 8224, 64, 0, 0, 0, 0}, {15, 34, 85, 1280, 4352, 0, 0}, {34, 72, 1548, 0, 0, 0, 0}, {15, 112, 4896, 0, 0, 0, 0}, {3072, 48, 20480, 0, 0, 0, 0}, {8, 34, 514, 85, 4369, 0, 0}, {8, 514, 1024, 18, 0, 0, 0}, {255, 13107, 24320, 0, 0, 0, 0}, {8, 112, 5172, 0, 0, 0, 0}, {63, 85, 1546, 0, 0, 0, 0}, {2570, 13878, 90, 0, 0, 0, 0}, {8, 55, 64, 1024, 4864, 0, 0}, {8, 48, 64, 1024, 4096, 0, 0}, {2570, 13107, 85, 0, 0, 0, 0}, {48, 90, 1546, 0, 0, 0, 0}, {8, 119, 4915, 0, 0, 0, 0}, {240, 15420, 20480, 0, 0, 0, 0}, {8, 514, 1024, 21, 0, 0, 0}, {8, 34, 514, 82, 5140, 0, 0}, {3072, 63, 21248, 0, 0, 0, 0}, {3072, 8192, 64, 0, 0, 0, 0}, {15, 34, 85, 1285, 4369, 0, 0}, {34, 72, 1546, 0, 0, 0, 0}, {15, 112, 4915, 0, 0, 0, 0}, {136, 10240, 17476, 0, 0, 0, 0}, {15, 768, 1285, 21, 0, 0, 0}, {2570, 42, 17990, 0, 0, 0, 0}, {15, 48, 768, 71, 5120, 0, 0}, {3072, 9216, 72, 0, 0, 0, 0}, {15, 37, 85, 1285, 4883, 0, 0}, {42, 64, 1546, 0, 0, 0, 0}, {15, 119, 5171, 0, 0, 0, 0}, {128, 8192, 19532, 0, 0, 0, 0}, {15, 768, 1285, 18, 0, 0, 0}, {2570, 34, 17476, 0, 0, 0, 0}, {15, 48, 768, 64, 4096, 0, 0}, {240, 15360, 20560, 0, 0, 0, 0}, {8, 512, 1028, 21, 0, 0, 0}, {8, 34, 512, 82, 5120, 0, 0}, {3084, 63, 21331, 0, 0, 0, 0}, {8, 48, 64, 1028, 4112, 0, 0}, {2560, 13056, 85, 0, 0, 0, 0}, {48, 90, 1548, 0, 0, 0, 0}, {8, 119, 4896, 0, 0, 0, 0}, {8, 112, 5152, 0, 0, 0, 0}, {63, 85, 1548, 0, 0, 0, 0}, {2560, 13824, 90, 0, 0, 0, 0}, {8, 55, 64, 1028, 4883, 0, 0}, {3084, 48, 20560, 0, 0, 0, 0}, {8, 34, 512, 85, 4352, 0, 0}, {8, 512, 1028, 18, 0, 0, 0}, {255, 13056, 24415, 0, 0, 0, 0}, {192, 3072, 24672, 0, 0, 0, 0}, {34, 512, 7, 4369, 0, 0, 0}, {8, 34, 512, 64, 1024, 0, 0}, {15, 13107, 20560, 0, 0, 0, 0}, {8, 8224, 17476, 0, 0, 0, 0}, {15, 48, 768, 85, 1280, 0, 0}, {170, 2560, 26214, 0, 0, 0, 0}, {48, 768, 7, 4112, 0, 0, 0}, {8, 8224, 64, 1024, 0, 0, 0}, {15, 13107, 85, 1280, 0, 0, 0}, {106, 1536, 0, 0, 0, 0, 0}, {7, 4883, 0, 0, 0, 0, 0}, {27756, 0, 0, 0, 0, 0, 0}, {7, 18, 256, 0, 0, 0, 0}, {8, 34, 512, 17476, 0, 0, 0}, {15, 48, 768, 20560, 0, 0, 0}, {7168, 8192, 112, 0, 0, 0, 0}, {29, 34, 85, 1542, 4369, 0, 0}, {2570, 34, 90, 5130, 0, 0, 0}, {3084, 63, 64, 4876, 0, 0, 0}, {3084, 48, 72, 5132, 0, 0, 0}, {2570, 42, 85, 4874, 0, 0, 0}, {26, 48, 64, 1542, 4112, 0, 0}, {6912, 13056, 119, 0, 0, 0, 0}, {120, 5120, 0, 0, 0, 0, 0}, {1542, 21, 0, 0, 0, 0, 0}, {2570, 42, 90, 5632, 0, 0, 0}, {3084, 63, 72, 5888, 0, 0, 0}, {3084, 48, 64, 4096, 0, 0, 0}, {2570, 34, 85, 4352, 0, 0, 0}, {1542, 18, 0, 0, 0, 0, 0}, {127, 4864, 0, 0, 0, 0, 0}, {128, 8192, 19456, 0, 0, 0, 0}, {15, 771, 1285, 18, 0, 0, 0}, {2570, 34, 17408, 0, 0, 0, 0}, {15, 48, 771, 64, 4096, 0, 0}, {3084, 9228, 72, 0, 0, 0, 0}, {15, 37, 85, 1285, 4869, 0, 0}, {42, 64, 1542, 0, 0, 0, 0}, {15, 119, 5120, 0, 0, 0, 0}, {136, 10240, 17408, 0, 0, 0, 0}, {15, 771, 1285, 21, 0, 0, 0}, {2570, 42, 17930, 0, 0, 0, 0}, {15, 48, 771, 71, 5123, 0, 0}, {3084, 8192, 64, 0, 0, 0, 0}, {15, 34, 85, 1285, 4352, 0, 0}, {34, 72, 1542, 0, 0, 0, 0}, {15, 112, 4864, 0, 0, 0, 0}, {3072, 48, 20560, 0, 0, 0, 0}, {8, 34, 512, 85, 4369, 0, 0}, {8, 512, 1024, 18, 0, 0, 0}, {255, 13107, 24415, 0, 0, 0, 0}, {8, 112, 5140, 0, 0, 0, 0}, {63, 85, 1536, 0, 0, 0, 0}, {2560, 13884, 90, 0, 0, 0, 0}, {8, 55, 64, 1024, 4887, 0, 0}, {8, 48, 64, 1024, 4112, 0, 0}, {2560, 13107, 85, 0, 0, 0, 0}, {48, 90, 1536, 0, 0, 0, 0}, {8, 119, 4883, 0, 0, 0, 0}, {240, 15420, 20560, 0, 0, 0, 0}, {8, 512, 1024, 21, 0, 0, 0}, {8, 34, 512, 82, 5142, 0, 0}, {3072, 63, 21343, 0, 0, 0, 0}, {27808, 0, 0, 0, 0, 0, 0}, {7, 18, 259, 0, 0, 0, 0}, {8, 34, 512, 17408, 0, 0, 0}, {15, 48, 771, 20560, 0, 0, 0}, {8, 8224, 64, 1028, 0, 0, 0}, {15, 13056, 85, 1280, 0, 0, 0}, {106, 1548, 0, 0, 0, 0, 0}, {7, 4896, 0, 0, 0, 0, 0}, {8, 8224, 17408, 0, 0, 0, 0}, {15, 48, 771, 85, 1280, 0, 0}, {170, 2560, 26112, 0, 0, 0, 0}, {48, 771, 7, 4112, 0, 0, 0}, {192, 3084, 24672, 0, 0, 0, 0}, {34, 512, 7, 4352, 0, 0, 0}, {8, 34, 512, 64, 1028, 0, 0}, {15, 13056, 20560, 0, 0, 0, 0}, {3072, 48, 64, 4096, 0, 0, 0}, {2570, 34, 85, 4369, 0, 0, 0}, {1546, 18, 0, 0, 0, 0, 0}, {127, 4915, 0, 0, 0, 0, 0}, {120, 5180, 0, 0, 0, 0, 0}, {1546, 21, 0, 0, 0, 0, 0}, {2570, 42, 90, 5654, 0, 0, 0}, {3072, 63, 72, 5888, 0, 0, 0}, {3072, 48, 72, 5120, 0, 0, 0}, {2570, 42, 85, 4883, 0, 0, 0}, {26, 48, 64, 1552, 4112, 0, 0}, {6963, 13107, 119, 0, 0, 0, 0}, {7228, 8192, 112, 0, 0, 0, 0}, {29, 34, 85, 1559, 4352, 0, 0}, {2570, 34, 90, 5140, 0, 0, 0}, {3072, 63, 64, 4864, 0, 0, 0}, {192, 3072, 24576, 0, 0, 0, 0}, {34, 514, 7, 4369, 0, 0, 0}, {8, 34, 514, 64, 1024, 0, 0}, {15, 13107, 20480, 0, 0, 0, 0}, {8, 8192, 17476, 0, 0, 0, 0}, {15, 48, 768, 85, 1285, 0, 0}, {170, 2570, 26214, 0, 0, 0, 0}, {48, 768, 7, 4096, 0, 0, 0}, {8, 8192, 64, 1024, 0, 0, 0}, {15, 13107, 85, 1285, 0, 0, 0}, {106, 1546, 0, 0, 0, 0, 0}, {7, 4915, 0, 0, 0, 0, 0}, {27852, 0, 0, 0, 0, 0, 0}, {7, 18, 258, 0, 0, 0, 0}, {8, 34, 514, 17476, 0, 0, 0}, {15, 48, 768, 20480, 0, 0, 0}, {7200, 8224, 112, 0, 0, 0, 0}, {29, 34, 85, 1553, 4369, 0, 0}, {2560, 34, 90, 5120, 0, 0, 0}, {3084, 63, 64, 4883, 0, 0, 0}, {3084, 48, 72, 5140, 0, 0, 0}, {2560, 42, 85, 4864, 0, 0, 0}, {26, 48, 64, 1558, 4096, 0, 0}, {6952, 13056, 119, 0, 0, 0, 0}, {120, 5160, 0, 0, 0, 0, 0}, {1548, 21, 0, 0, 0, 0, 0}, {2560, 42, 90, 5632, 0, 0, 0}, {3084, 63, 72, 5911, 0, 0, 0}, {3084, 48, 64, 4112, 0, 0, 0}, {2560, 34, 85, 4352, 0, 0, 0}, {1548, 18, 0, 0, 0, 0, 0}, {127, 4896, 0, 0, 0, 0, 0}, {3072, 8224, 64, 0, 0, 0, 0}, {15, 34, 85, 1280, 4369, 0, 0}, {34, 72, 1536, 0, 0, 0, 0}, {15, 112, 4883, 0, 0, 0, 0}, {136, 10280, 17476, 0, 0, 0, 0}, {15, 768, 1280, 21, 0, 0, 0}, {2560, 42, 17996, 0, 0, 0, 0}, {15, 48, 768, 71, 5143, 0, 0}, {3072, 9256, 72, 0, 0, 0, 0}, {15, 37, 85, 1280, 4886, 0, 0}, {42, 64, 1536, 0, 0, 0, 0}, {15, 119, 5140, 0, 0, 0, 0}, {128, 8224, 19532, 0, 0, 0, 0}, {15, 768, 1280, 18, 0, 0, 0}, {2560, 34, 17476, 0, 0, 0, 0}, {15, 48, 768, 64, 4112, 0, 0}, {240, 15360, 20480, 0, 0, 0, 0}, {8, 514, 1028, 21, 0, 0, 0}, {8, 34, 514, 82, 5122, 0, 0}, {3084, 63, 21260, 0, 0, 0, 0}, {8, 48, 64, 1028, 4096, 0, 0}, {2570, 13056, 85, 0, 0, 0, 0}, {48, 90, 1542, 0, 0, 0, 0}, {8, 119, 4864, 0, 0, 0, 0}, {8, 112, 5120, 0, 0, 0, 0}, {63, 85, 1542, 0, 0, 0, 0}, {2570, 13834, 90, 0, 0, 0, 0}, {8, 55, 64, 1028, 4868, 0, 0}, {3084, 48, 20480, 0, 0, 0, 0}, {8, 34, 514, 85, 4352, 0, 0}, {8, 514, 1028, 18, 0, 0, 0}, {255, 13056, 24320, 0, 0, 0, 0}, {1792, 4608, 0, 0, 0, 0, 0}, {108, 257, 0, 0, 0, 0, 0}, {160, 514, 1290, 4128, 0, 0, 0}, {204, 771, 1036, 4403, 0, 0, 0}, {204, 780, 1028, 4420, 0, 0, 0}, {160, 522, 1285, 4176, 0, 0, 0}, {108, 262, 0, 0, 0, 0, 0}, {1799, 4728, 0, 0, 0, 0, 0}, {4744, 12288, 1800, 0, 0, 0, 0}, {265, 771, 357, 1285, 4144, 0, 0}, {160, 522, 1290, 4096, 0, 0, 0}, {204, 771, 1028, 4471, 0, 0, 0}, {204, 780, 1036, 4352, 0, 0, 0}, {160, 514, 1285, 4208, 0, 0, 0}, {270, 514, 354, 1028, 4386, 0, 0}, {4848, 8704, 1807, 0, 0, 0, 0}, {160, 544, 1360, 4112, 0, 0, 0}, {204, 819, 1092, 4369, 0, 0, 0}, {1912, 4626, 0, 0, 0, 0, 0}, {108, 275, 0, 0, 0, 0, 0}, {108, 276, 0, 0, 0, 0, 0}, {1919, 4714, 0, 0, 0, 0, 0}, {204, 828, 1100, 4454, 0, 0, 0}, {160, 552, 1375, 4192, 0, 0, 0}, {160, 552, 1360, 4144, 0, 0, 0}, {204, 819, 1100, 4437, 0, 0, 0}, {4762, 12336, 1904, 0, 0, 0, 0}, {283, 819, 375, 1331, 4096, 0, 0}, {284, 544, 368, 1056, 4352, 0, 0}, {4834, 8738, 1911, 0, 0, 0, 0}, {204, 828, 1092, 4386, 0, 0, 0}, {160, 544, 1375, 4160, 0, 0, 0}, {160, 544, 1280, 4128, 0, 0, 0}, {204, 771, 1096, 4369, 0, 0, 0}, {1928, 3840, 4642, 0, 0, 0, 0}, {291, 771, 335, 1295, 4112, 0, 0}, {292, 780, 328, 1280, 4108, 0, 0}, {1935, 3855, 4698, 0, 0, 0, 0}, {204, 780, 1088, 4454, 0, 0, 0}, {160, 552, 1295, 4176, 0, 0, 0}, {160, 552, 1280, 4096, 0, 0, 0}, {204, 771, 1088, 4437, 0, 0, 0}, {1920, 3840, 5418, 0, 0, 0, 0}, {299, 771, 327, 1295, 4379, 0, 0}, {300, 780, 320, 1280, 4352, 0, 0}, {1927, 3855, 5461, 0, 0, 0, 0}, {204, 780, 1096, 4386, 0, 0, 0}, {160, 544, 1295, 4208, 0, 0, 0}, {2032, 2048, 4656, 0, 0, 0, 0}, {305, 514, 349, 1032, 4369, 0, 0}, {160, 514, 1370, 4112, 0, 0, 0}, {204, 819, 1024, 4403, 0, 0, 0}, {204, 828, 1032, 4420, 0, 0, 0}, {160, 522, 1365, 4192, 0, 0, 0}, {310, 522, 346, 1024, 4362, 0, 0}, {2039, 2056, 4680, 0, 0, 0, 0}, {2040, 2056, 5440, 0, 0, 0, 0}, {313, 522, 341, 1024, 4096, 0, 0}, {160, 522, 1370, 4144, 0, 0, 0}, {204, 819, 1032, 4471, 0, 0, 0}, {204, 828, 1024, 4352, 0, 0, 0}, {160, 514, 1365, 4160, 0, 0, 0}, {318, 514, 338, 1032, 4124, 0, 0}, {2047, 2048, 5439, 0, 0, 0, 0}, {1920, 3840, 5440, 0, 0, 0, 0}, {301, 783, 321, 1285, 4369, 0, 0}, {160, 546, 1290, 4192, 0, 0, 0}, {204, 783, 1100, 4403, 0, 0, 0}, {204, 768, 1092, 4420, 0, 0, 0}, {160, 554, 1285, 4112, 0, 0, 0}, {298, 768, 326, 1290, 4362, 0, 0}, {1927, 3855, 5439, 0, 0, 0, 0}, {1928, 3840, 4680, 0, 0, 0, 0}, {293, 783, 329, 1285, 4124, 0, 0}, {160, 554, 1290, 4160, 0, 0, 0}, {204, 783, 1092, 4471, 0, 0, 0}, {204, 768, 1100, 4352, 0, 0, 0}, {160, 546, 1285, 4144, 0, 0, 0}, {290, 768, 334, 1290, 4096, 0, 0}, {1935, 3855, 4656, 0, 0, 0, 0}, {160, 512, 1360, 4176, 0, 0, 0}, {204, 831, 1028, 4369, 0, 0, 0}, {2040, 2056, 5418, 0, 0, 0, 0}, {319, 512, 339, 1036, 4108, 0, 0}, {312, 520, 340, 1028, 4112, 0, 0}, {2047, 2048, 5461, 0, 0, 0, 0}, {204, 816, 1036, 4454, 0, 0, 0}, {160, 520, 1375, 4128, 0, 0, 0}, {160, 520, 1360, 4208, 0, 0, 0}, {204, 831, 1036, 4437, 0, 0, 0}, {2032, 2048, 4698, 0, 0, 0, 0}, {311, 520, 347, 1028, 4379, 0, 0}, {304, 512, 348, 1036, 4352, 0, 0}, {2039, 2056, 4642, 0, 0, 0, 0}, {204, 816, 1028, 4386, 0, 0, 0}, {160, 512, 1375, 4096, 0, 0, 0}, {160, 512, 1280, 4192, 0, 0, 0}, {204, 783, 1032, 4369, 0, 0, 0}, {4834, 8738, 1800, 0, 0, 0, 0}, {271, 512, 355, 1024, 4403, 0, 0}, {264, 768, 356, 1280, 4128, 0, 0}, {4762, 12336, 1807, 0, 0, 0, 0}, {204, 768, 1024, 4454, 0, 0, 0}, {160, 520, 1295, 4112, 0, 0, 0}, {160, 520, 1280, 4160, 0, 0, 0}, {204, 783, 1024, 4437, 0, 0, 0}, {1792, 4714, 0, 0, 0, 0, 0}, {108, 263, 0, 0, 0, 0, 0}, {108, 256, 0, 0, 0, 0, 0}, {1799, 4626, 0, 0, 0, 0, 0}, {204, 768, 1032, 4386, 0, 0, 0}, {160, 512, 1295, 4144, 0, 0, 0}, {4848, 8704, 1904, 0, 0, 0, 0}, {285, 546, 369, 1060, 4369, 0, 0}, {160, 546, 1370, 4176, 0, 0, 0}, {204, 831, 1088, 4403, 0, 0, 0}, {204, 816, 1096, 4420, 0, 0, 0}, {160, 554, 1365, 4128, 0, 0, 0}, {282, 816, 374, 1334, 4112, 0, 0}, {4744, 12288, 1911, 0, 0, 0, 0}, {1912, 4728, 0, 0, 0, 0, 0}, {108, 277, 0, 0, 0, 0, 0}, {160, 554, 1370, 4208, 0, 0, 0}, {204, 831, 1096, 4471, 0, 0, 0}, {204, 816, 1088, 4352, 0, 0, 0}, {160, 546, 1365, 4096, 0, 0, 0}, {108, 274, 0, 0, 0, 0, 0}, {1919, 4608, 0, 0, 0, 0, 0}, {1920, 3840, 4608, 0, 0, 0, 0}, {289, 771, 333, 1285, 4369, 0, 0}, {160, 546, 1290, 4096, 0, 0, 0}, {204, 771, 1088, 4403, 0, 0, 0}, {204, 780, 1096, 4420, 0, 0, 0}, {160, 554, 1285, 4208, 0, 0, 0}, {294, 780, 330, 1290, 4362, 0, 0}, {1927, 3855, 4728, 0, 0, 0, 0}, {1928, 3840, 5376, 0, 0, 0, 0}, {297, 771, 325, 1285, 4112, 0, 0}, {160, 554, 1290, 4128, 0, 0, 0}, {204, 771, 1096, 4471, 0, 0, 0}, {204, 780, 1088, 4352, 0, 0, 0}, {160, 546, 1285, 4176, 0, 0, 0}, {302, 780, 322, 1290, 4108, 0, 0}, {1935, 3855, 5503, 0, 0, 0, 0}, {160, 512, 1360, 4144, 0, 0, 0}, {204, 819, 1032, 4369, 0, 0, 0}, {2040, 2056, 4626, 0, 0, 0, 0}, {307, 512, 351, 1024, 4096, 0, 0}, {308, 520, 344, 1032, 4124, 0, 0}, {2047, 2048, 4714, 0, 0, 0, 0}, {204, 828, 1024, 4454, 0, 0, 0}, {160, 520, 1375, 4160, 0, 0, 0}, {160, 520, 1360, 4112, 0, 0, 0}, {204, 819, 1024, 4437, 0, 0, 0}, {2032, 2048, 5482, 0, 0, 0, 0}, {315, 520, 343, 1032, 4379, 0, 0}, {316, 512, 336, 1024, 4352, 0, 0}, {2039, 2056, 5397, 0, 0, 0, 0}, {204, 828, 1032, 4386, 0, 0, 0}, {160, 512, 1375, 4192, 0, 0, 0}, {160, 512, 1280, 4096, 0, 0, 0}, {204, 771, 1028, 4369, 0, 0, 0}, {1800, 4642, 0, 0, 0, 0, 0}, {108, 259, 0, 0, 0, 0, 0}, {108, 260, 0, 0, 0, 0, 0}, {1807, 4698, 0, 0, 0, 0, 0}, {204, 780, 1036, 4454, 0, 0, 0}, {160, 520, 1295, 4208, 0, 0, 0}, {160, 520, 1280, 4128, 0, 0, 0}, {204, 771, 1036, 4437, 0, 0, 0}, {4778, 12288, 1792, 0, 0, 0, 0}, {267, 771, 359, 1028, 4112, 0, 0}, {268, 512, 352, 1280, 4352, 0, 0}, {4818, 8738, 1799, 0, 0, 0, 0}, {204, 780, 1028, 4386, 0, 0, 0}, {160, 512, 1295, 4176, 0, 0, 0}, {1904, 4656, 0, 0, 0, 0, 0}, {108, 273, 0, 0, 0, 0, 0}, {160, 546, 1370, 4144, 0, 0, 0}, {204, 819, 1100, 4403, 0, 0, 0}, {204, 828, 1092, 4420, 0, 0, 0}, {160, 554, 1365, 4160, 0, 0, 0}, {108, 278, 0, 0, 0, 0, 0}, {1911, 4680, 0, 0, 0, 0, 0}, {4792, 12336, 1912, 0, 0, 0, 0}, {281, 819, 373, 1056, 4128, 0, 0}, {160, 554, 1370, 4112, 0, 0, 0}, {204, 819, 1092, 4471, 0, 0, 0}, {204, 828, 1100, 4352, 0, 0, 0}, {160, 546, 1365, 4192, 0, 0, 0}, {286, 546, 370, 1334, 4386, 0, 0}, {4800, 8704, 1919, 0, 0, 0, 0}, {4800, 8704, 1792, 0, 0, 0, 0}, {269, 514, 353, 1285, 4369, 0, 0}, {160, 514, 1290, 4160, 0, 0, 0}, {204, 783, 1024, 4403, 0, 0, 0}, {204, 768, 1032, 4420, 0, 0, 0}, {160, 522, 1285, 4144, 0, 0, 0}, {266, 768, 358, 1024, 4096, 0, 0}, {4792, 12336, 1799, 0, 0, 0, 0}, {1800, 4680, 0, 0, 0, 0, 0}, {108, 261, 0, 0, 0, 0, 0}, {160, 522, 1290, 4192, 0, 0, 0}, {204, 783, 1032, 4471, 0, 0, 0}, {204, 768, 1024, 4352, 0, 0, 0}, {160, 514, 1285, 4112, 0, 0, 0}, {108, 258, 0, 0, 0, 0, 0}, {1807, 4656, 0, 0, 0, 0, 0}, {160, 544, 1360, 4208, 0, 0, 0}, {204, 831, 1096, 4369, 0, 0, 0}, {4818, 8738, 1912, 0, 0, 0, 0}, {287, 544, 371, 1331, 4403, 0, 0}, {280, 816, 372, 1060, 4144, 0, 0}, {4778, 12288, 1919, 0, 0, 0, 0}, {204, 816, 1088, 4454, 0, 0, 0}, {160, 552, 1375, 4096, 0, 0, 0}, {160, 552, 1360, 4176, 0, 0, 0}, {204, 831, 1088, 4437, 0, 0, 0}, {1904, 4698, 0, 0, 0, 0, 0}, {108, 279, 0, 0, 0, 0, 0}, {108, 272, 0, 0, 0, 0, 0}, {1911, 4642, 0, 0, 0, 0, 0}, {204, 816, 1096, 4386, 0, 0, 0}, {160, 544, 1375, 4128, 0, 0, 0}, {160, 544, 1280, 4160, 0, 0, 0}, {204, 783, 1092, 4369, 0, 0, 0}, {1928, 3840, 5482, 0, 0, 0, 0}, {303, 783, 323, 1295, 4124, 0, 0}, {296, 768, 324, 1280, 4096, 0, 0}, {1935, 3855, 5397, 0, 0, 0, 0}, {204, 768, 1100, 4454, 0, 0, 0}, {160, 552, 1295, 4144, 0, 0, 0}, {160, 552, 1280, 4192, 0, 0, 0}, {204, 783, 1100, 4437, 0, 0, 0}, {1920, 3840, 4714, 0, 0, 0, 0}, {295, 783, 331, 1295, 4379, 0, 0}, {288, 768, 332, 1280, 4352, 0, 0}, {1927, 3855, 4626, 0, 0, 0, 0}, {204, 768, 1092, 4386, 0, 0, 0}, {160, 544, 1295, 4112, 0, 0, 0}, {2032, 2048, 5376, 0, 0, 0, 0}, {317, 514, 337, 1028, 4369, 0, 0}, {160, 514, 1370, 4208, 0, 0, 0}, {204, 831, 1036, 4403, 0, 0, 0}, {204, 816, 1028, 4420, 0, 0, 0}, {160, 522, 1365, 4096, 0, 0, 0}, {314, 522, 342, 1036, 4362, 0, 0}, {2039, 2056, 5503, 0, 0, 0, 0}, {2040, 2056, 4728, 0, 0, 0, 0}, {309, 522, 345, 1036, 4108, 0, 0}, {160, 522, 1370, 4176, 0, 0, 0}, {204, 831, 1028, 4471, 0, 0, 0}, {204, 816, 1036, 4352, 0, 0, 0}, {160, 514, 1365, 4128, 0, 0, 0}, {306, 514, 350, 1028, 4112, 0, 0}, {2047, 2048, 4608, 0, 0, 0, 0}, {2048, 8704, 17408, 0, 0, 0, 0}, {15, 48, 80, 257, 0, 0, 0}, {160, 514, 17448, 0, 0, 0, 0}, {15, 48, 771, 1027, 4355, 0, 0}, {192, 8776, 1028, 0, 0, 0, 0}, {15, 517, 80, 1285, 4357, 0, 0}, {522, 96, 1036, 0, 0, 0, 0}, {15, 1799, 4471, 0, 0, 0, 0}, {2056, 8840, 17544, 0, 0, 0, 0}, {15, 48, 80, 262, 0, 0, 0}, {160, 522, 17408, 0, 0, 0, 0}, {15, 48, 771, 1028, 4420, 0, 0}, {192, 8704, 1036, 0, 0, 0, 0}, {15, 514, 80, 1285, 4386, 0, 0}, {514, 96, 1028, 0, 0, 0, 0}, {15, 1792, 4352, 0, 0, 0, 0}, {48, 528, 80, 1040, 4112, 0, 0}, {255, 2167, 4369, 0, 0, 0, 0}, {48, 1096, 4626, 0, 0, 0, 0}, {544, 95, 4403, 0, 0, 0, 0}, {552, 80, 5140, 0, 0, 0, 0}, {63, 1088, 4437, 0, 0, 0, 0}, {240, 2160, 5654, 0, 0, 0, 0}, {63, 535, 95, 1047, 4375, 0, 0}, {48, 536, 80, 1048, 4096, 0, 0}, {255, 2175, 4454, 0, 0, 0, 0}, {48, 1088, 4698, 0, 0, 0, 0}, {552, 95, 4379, 0, 0, 0, 0}, {544, 80, 5180, 0, 0, 0, 0}, {63, 1096, 4381, 0, 0, 0, 0}, {240, 2168, 5734, 0, 0, 0, 0}, {63, 543, 95, 1055, 4352, 0, 0}, {160, 544, 17408, 0, 0, 0, 0}, {15, 48, 771, 1092, 4369, 0, 0}, {2184, 8738, 17544, 0, 0, 0, 0}, {15, 48, 80, 275, 0, 0, 0}, {552, 96, 1060, 0, 0, 0, 0}, {15, 1904, 4437, 0, 0, 0, 0}, {192, 8810, 1100, 0, 0, 0, 0}, {15, 551, 80, 1280, 4391, 0, 0}, {160, 552, 17448, 0, 0, 0, 0}, {15, 48, 771, 1091, 4438, 0, 0}, {2176, 8874, 17408, 0, 0, 0, 0}, {15, 48, 80, 276, 0, 0, 0}, {544, 96, 1068, 0, 0, 0, 0}, {15, 1911, 4386, 0, 0, 0, 0}, {192, 8738, 1092, 0, 0, 0, 0}, {15, 544, 80, 1280, 4352, 0, 0}, {48, 1024, 4608, 0, 0, 0, 0}, {514, 95, 4369, 0, 0, 0, 0}, {48, 514, 80, 1032, 4112, 0, 0}, {255, 2048, 4403, 0, 0, 0, 0}, {240, 2056, 5708, 0, 0, 0, 0}, {63, 522, 95, 1024, 4362, 0, 0}, {522, 80, 5180, 0, 0, 0, 0}, {63, 1032, 4424, 0, 0, 0, 0}, {48, 1032, 4680, 0, 0, 0, 0}, {522, 95, 4409, 0, 0, 0, 0}, {48, 522, 80, 1024, 4096, 0, 0}, {255, 2056, 4420, 0, 0, 0, 0}, {240, 2048, 5692, 0, 0, 0, 0}, {63, 514, 95, 1032, 4381, 0, 0}, {514, 80, 5140, 0, 0, 0, 0}, {63, 1024, 4352, 0, 0, 0, 0}, {192, 8704, 1088, 0, 0, 0, 0}, {15, 546, 80, 1285, 4369, 0, 0}, {546, 96, 1064, 0, 0, 0, 0}, {15, 1904, 4403, 0, 0, 0, 0}, {2184, 8840, 17476, 0, 0, 0, 0}, {15, 48, 80, 277, 0, 0, 0}, {160, 554, 17516, 0, 0, 0, 0}, {15, 48, 768, 1095, 4423, 0, 0}, {192, 8776, 1096, 0, 0, 0, 0}, {15, 549, 80, 1285, 4406, 0, 0}, {554, 96, 1056, 0, 0, 0, 0}, {15, 1911, 4420, 0, 0, 0, 0}, {2176, 8704, 17612, 0, 0, 0, 0}, {15, 48, 80, 274, 0, 0, 0}, {160, 546, 17476, 0, 0, 0, 0}, {15, 48, 768, 1088, 4352, 0, 0}, {512, 80, 5120, 0, 0, 0, 0}, {63, 1028, 4369, 0, 0, 0, 0}, {240, 2056, 5674, 0, 0, 0, 0}, {63, 512, 95, 1036, 4364, 0, 0}, {48, 520, 80, 1028, 4112, 0, 0}, {255, 2048, 4437, 0, 0, 0, 0}, {48, 1036, 4698, 0, 0, 0, 0}, {520, 95, 4392, 0, 0, 0, 0}, {520, 80, 5160, 0, 0, 0, 0}, {63, 1036, 4441, 0, 0, 0, 0}, {240, 2048, 5722, 0, 0, 0, 0}, {63, 520, 95, 1028, 4379, 0, 0}, {48, 512, 80, 1036, 4096, 0, 0}, {255, 2056, 4386, 0, 0, 0, 0}, {48, 1028, 4626, 0, 0, 0, 0}, {512, 95, 4352, 0, 0, 0, 0}, {512, 96, 1024, 0, 0, 0, 0}, {15, 1799, 4369, 0, 0, 0, 0}, {192, 8738, 1032, 0, 0, 0, 0}, {15, 512, 80, 1280, 4403, 0, 0}, {160, 520, 17476, 0, 0, 0, 0}, {15, 48, 768, 1024, 4437, 0, 0}, {2048, 8874, 17612, 0, 0, 0, 0}, {15, 48, 80, 263, 0, 0, 0}, {520, 96, 1032, 0, 0, 0, 0}, {15, 1792, 4454, 0, 0, 0, 0}, {192, 8810, 1024, 0, 0, 0, 0}, {15, 519, 80, 1280, 4372, 0, 0}, {160, 512, 17516, 0, 0, 0, 0}, {15, 48, 768, 1031, 4370, 0, 0}, {2056, 8738, 17476, 0, 0, 0, 0}, {15, 48, 80, 256, 0, 0, 0}, {240, 2160, 5744, 0, 0, 0, 0}, {63, 541, 95, 1051, 4369, 0, 0}, {546, 80, 5160, 0, 0, 0, 0}, {63, 1100, 4364, 0, 0, 0, 0}, {48, 1092, 4680, 0, 0, 0, 0}, {554, 95, 4362, 0, 0, 0, 0}, {48, 538, 80, 1052, 4112, 0, 0}, {255, 2167, 4471, 0, 0, 0, 0}, {240, 2168, 5632, 0, 0, 0, 0}, {63, 533, 95, 1043, 4358, 0, 0}, {554, 80, 5120, 0, 0, 0, 0}, {63, 1092, 4420, 0, 0, 0, 0}, {48, 1100, 4608, 0, 0, 0, 0}, {546, 95, 4386, 0, 0, 0, 0}, {48, 530, 80, 1044, 4096, 0, 0}, {255, 2175, 4352, 0, 0, 0, 0}, {2176, 8704, 17408, 0, 0, 0, 0}, {15, 48, 80, 273, 0, 0, 0}, {160, 546, 17448, 0, 0, 0, 0}, {15, 48, 771, 1091, 4355, 0, 0}, {192, 8776, 1092, 0, 0, 0, 0}, {15, 549, 80, 1285, 4357, 0, 0}, {554, 96, 1068, 0, 0, 0, 0}, {15, 1911, 4471, 0, 0, 0, 0}, {2184, 8840, 17544, 0, 0, 0, 0}, {15, 48, 80, 278, 0, 0, 0}, {160, 554, 17408, 0, 0, 0, 0}, {15, 48, 771, 1092, 4420, 0, 0}, {192, 8704, 1100, 0, 0, 0, 0}, {15, 546, 80, 1285, 4386, 0, 0}, {546, 96, 1060, 0, 0, 0, 0}, {15, 1904, 4352, 0, 0, 0, 0}, {48, 512, 80, 1024, 4096, 0, 0}, {255, 2056, 4369, 0, 0, 0, 0}, {48, 1032, 4626, 0, 0, 0, 0}, {512, 95, 4403, 0, 0, 0, 0}, {520, 80, 5140, 0, 0, 0, 0}, {63, 1024, 4437, 0, 0, 0, 0}, {240, 2048, 5734, 0, 0, 0, 0}, {63, 520, 95, 1032, 4375, 0, 0}, {48, 520, 80, 1032, 4112, 0, 0}, {255, 2048, 4454, 0, 0, 0, 0}, {48, 1024, 4698, 0, 0, 0, 0}, {520, 95, 4379, 0, 0, 0, 0}, {512, 80, 5180, 0, 0, 0, 0}, {63, 1032, 4381, 0, 0, 0, 0}, {240, 2056, 5654, 0, 0, 0, 0}, {63, 512, 95, 1024, 4352, 0, 0}, {160, 512, 17408, 0, 0, 0, 0}, {15, 48, 771, 1028, 4369, 0, 0}, {2056, 8738, 17544, 0, 0, 0, 0}, {15, 48, 80, 259, 0, 0, 0}, {520, 96, 1028, 0, 0, 0, 0}, {15, 1792, 4437, 0, 0, 0, 0}, {192, 8810, 1036, 0, 0, 0, 0}, {15, 519, 80, 1280, 4391, 0, 0}, {160, 520, 17448, 0, 0, 0, 0}, {15, 48, 771, 1027, 4438, 0, 0}, {2048, 8874, 17408, 0, 0, 0, 0}, {15, 48, 80, 260, 0, 0, 0}, {512, 96, 1036, 0, 0, 0, 0}, {15, 1799, 4386, 0, 0, 0, 0}, {192, 8738, 1028, 0, 0, 0, 0}, {15, 512, 80, 1280, 4352, 0, 0}, {48, 1088, 4608, 0, 0, 0, 0}, {546, 95, 4369, 0, 0, 0, 0}, {48, 530, 80, 1048, 4096, 0, 0}, {255, 2175, 4403, 0, 0, 0, 0}, {240, 2168, 5692, 0, 0, 0, 0}, {63, 533, 95, 1055, 4362, 0, 0}, {554, 80, 5180, 0, 0, 0, 0}, {63, 1096, 4424, 0, 0, 0, 0}, {48, 1096, 4680, 0, 0, 0, 0}, {554, 95, 4409, 0, 0, 0, 0}, {48, 538, 80, 1040, 4112, 0, 0}, {255, 2167, 4420, 0, 0, 0, 0}, {240, 2160, 5708, 0, 0, 0, 0}, {63, 541, 95, 1047, 4381, 0, 0}, {546, 80, 5140, 0, 0, 0, 0}, {63, 1088, 4352, 0, 0, 0, 0}, {192, 8704, 1024, 0, 0, 0, 0}, {15, 514, 80, 1285, 4369, 0, 0}, {514, 96, 1032, 0, 0, 0, 0}, {15, 1792, 4403, 0, 0, 0, 0}, {2056, 8840, 17476, 0, 0, 0, 0}, {15, 48, 80, 261, 0, 0, 0}, {160, 522, 17516, 0, 0, 0, 0}, {15, 48, 768, 1031, 4423, 0, 0}, {192, 8776, 1032, 0, 0, 0, 0}, {15, 517, 80, 1285, 4406, 0, 0}, {522, 96, 1024, 0, 0, 0, 0}, {15, 1799, 4420, 0, 0, 0, 0}, {2048, 8704, 17612, 0, 0, 0, 0}, {15, 48, 80, 258, 0, 0, 0}, {160, 514, 17476, 0, 0, 0, 0}, {15, 48, 768, 1024, 4352, 0, 0}, {544, 80, 5120, 0, 0, 0, 0}, {63, 1092, 4369, 0, 0, 0, 0}, {240, 2168, 5722, 0, 0, 0, 0}, {63, 543, 95, 1043, 4364, 0, 0}, {48, 536, 80, 1044, 4096, 0, 0}, {255, 2175, 4437, 0, 0, 0, 0}, {48, 1100, 4698, 0, 0, 0, 0}, {552, 95, 4392, 0, 0, 0, 0}, {552, 80, 5160, 0, 0, 0, 0}, {63, 1100, 4441, 0, 0, 0, 0}, {240, 2160, 5674, 0, 0, 0, 0}, {63, 535, 95, 1051, 4379, 0, 0}, {48, 528, 80, 1052, 4112, 0, 0}, {255, 2167, 4386, 0, 0, 0, 0}, {48, 1092, 4626, 0, 0, 0, 0}, {544, 95, 4352, 0, 0, 0, 0}, {544, 96, 1056, 0, 0, 0, 0}, {15, 1911, 4369, 0, 0, 0, 0}, {192, 8738, 1096, 0, 0, 0, 0}, {15, 544, 80, 1280, 4403, 0, 0}, {160, 552, 17476, 0, 0, 0, 0}, {15, 48, 768, 1088, 4437, 0, 0}, {2176, 8874, 17612, 0, 0, 0, 0}, {15, 48, 80, 279, 0, 0, 0}, {552, 96, 1064, 0, 0, 0, 0}, {15, 1904, 4454, 0, 0, 0, 0}, {192, 8810, 1088, 0, 0, 0, 0}, {15, 551, 80, 1280, 4372, 0, 0}, {160, 544, 17516, 0, 0, 0, 0}, {15, 48, 768, 1095, 4370, 0, 0}, {2184, 8738, 17476, 0, 0, 0, 0}, {15, 48, 80, 272, 0, 0, 0}, {240, 2048, 5632, 0, 0, 0, 0}, {63, 514, 95, 1028, 4369, 0, 0}, {514, 80, 5160, 0, 0, 0, 0}, {63, 1036, 4364, 0, 0, 0, 0}, {48, 1028, 4680, 0, 0, 0, 0}, {522, 95, 4362, 0, 0, 0, 0}, {48, 522, 80, 1036, 4096, 0, 0}, {255, 2056, 4471, 0, 0, 0, 0}, {240, 2056, 5744, 0, 0, 0, 0}, {63, 522, 95, 1036, 4358, 0, 0}, {522, 80, 5120, 0, 0, 0, 0}, {63, 1028, 4420, 0, 0, 0, 0}, {48, 1036, 4608, 0, 0, 0, 0}, {514, 95, 4386, 0, 0, 0, 0}, {48, 514, 80, 1028, 4112, 0, 0}, {255, 2048, 4352, 0, 0, 0, 0}, {3840, 12288, 20480, 0, 0, 0, 0}, {8, 34, 68, 257, 0, 0, 0}, {8, 34, 514, 1282, 4098, 0, 0}, {204, 771, 20540, 0, 0, 0, 0}, {8, 772, 68, 1028, 4100, 0, 0}, {170, 12378, 1285, 0, 0, 0, 0}, {780, 102, 1290, 0, 0, 0, 0}, {8, 1799, 4208, 0, 0, 0, 0}, {8, 1792, 4096, 0, 0, 0, 0}, {771, 102, 1285, 0, 0, 0, 0}, {170, 12288, 1290, 0, 0, 0, 0}, {8, 771, 68, 1028, 4144, 0, 0}, {204, 780, 20480, 0, 0, 0, 0}, {8, 34, 514, 1285, 4176, 0, 0}, {8, 34, 68, 262, 0, 0, 0}, {3855, 12528, 20720, 0, 0, 0, 0}, {128, 3952, 4112, 0, 0, 0, 0}, {34, 785, 68, 1297, 4369, 0, 0}, {34, 1370, 4626, 0, 0, 0, 0}, {819, 76, 4128, 0, 0, 0, 0}, {828, 68, 5140, 0, 0, 0, 0}, {42, 1365, 4160, 0, 0, 0, 0}, {42, 790, 76, 1302, 4118, 0, 0}, {136, 3959, 5911, 0, 0, 0, 0}, {136, 3960, 5984, 0, 0, 0, 0}, {42, 793, 76, 1305, 4096, 0, 0}, {42, 1370, 4122, 0, 0, 0, 0}, {819, 68, 5160, 0, 0, 0, 0}, {828, 76, 4124, 0, 0, 0, 0}, {34, 1365, 4680, 0, 0, 0, 0}, {34, 798, 68, 1310, 4352, 0, 0}, {128, 3967, 4192, 0, 0, 0, 0}, {128, 3840, 4128, 0, 0, 0, 0}, {34, 771, 68, 1295, 4369, 0, 0}, {34, 1280, 4608, 0, 0, 0, 0}, {771, 76, 4112, 0, 0, 0, 0}, {780, 68, 5160, 0, 0, 0, 0}, {42, 1295, 4186, 0, 0, 0, 0}, {42, 780, 76, 1280, 4108, 0, 0}, {136, 3855, 5983, 0, 0, 0, 0}, {136, 3840, 5928, 0, 0, 0, 0}, {42, 771, 76, 1295, 4122, 0, 0}, {42, 1280, 4096, 0, 0, 0, 0}, {771, 68, 5140, 0, 0, 0, 0}, {780, 76, 4140, 0, 0, 0, 0}, {34, 1295, 4698, 0, 0, 0, 0}, {34, 780, 68, 1280, 4352, 0, 0}, {128, 3855, 4176, 0, 0, 0, 0}, {4080, 12336, 20720, 0, 0, 0, 0}, {8, 34, 68, 275, 0, 0, 0}, {8, 34, 514, 1360, 4112, 0, 0}, {204, 819, 20480, 0, 0, 0, 0}, {8, 820, 68, 1024, 4148, 0, 0}, {170, 12394, 1375, 0, 0, 0, 0}, {828, 102, 1334, 0, 0, 0, 0}, {8, 1911, 4160, 0, 0, 0, 0}, {8, 1904, 4144, 0, 0, 0, 0}, {819, 102, 1337, 0, 0, 0, 0}, {170, 12336, 1360, 0, 0, 0, 0}, {8, 819, 68, 1024, 4096, 0, 0}, {204, 828, 20540, 0, 0, 0, 0}, {8, 34, 514, 1367, 4162, 0, 0}, {8, 34, 68, 276, 0, 0, 0}, {4095, 12480, 20480, 0, 0, 0, 0}, {128, 3840, 4160, 0, 0, 0, 0}, {34, 783, 68, 1285, 4369, 0, 0}, {34, 1290, 4680, 0, 0, 0, 0}, {783, 76, 4156, 0, 0, 0, 0}, {768, 68, 5120, 0, 0, 0, 0}, {42, 1285, 4112, 0, 0, 0, 0}, {42, 768, 76, 1290, 4106, 0, 0}, {136, 3855, 5951, 0, 0, 0, 0}, {136, 3840, 5960, 0, 0, 0, 0}, {42, 783, 76, 1285, 4124, 0, 0}, {42, 1290, 4170, 0, 0, 0, 0}, {783, 68, 5180, 0, 0, 0, 0}, {768, 76, 4096, 0, 0, 0, 0}, {34, 1285, 4626, 0, 0, 0, 0}, {34, 768, 68, 1290, 4352, 0, 0}, {128, 3855, 4144, 0, 0, 0, 0}, {4080, 12528, 20560, 0, 0, 0, 0}, {8, 34, 68, 277, 0, 0, 0}, {8, 34, 512, 1362, 4178, 0, 0}, {204, 831, 20588, 0, 0, 0, 0}, {8, 816, 68, 1028, 4112, 0, 0}, {170, 12288, 1365, 0, 0, 0, 0}, {816, 102, 1340, 0, 0, 0, 0}, {8, 1911, 4128, 0, 0, 0, 0}, {8, 1904, 4176, 0, 0, 0, 0}, {831, 102, 1331, 0, 0, 0, 0}, {170, 12378, 1370, 0, 0, 0, 0}, {8, 823, 68, 1028, 4132, 0, 0}, {204, 816, 20560, 0, 0, 0, 0}, {8, 34, 512, 1365, 4096, 0, 0}, {8, 34, 68, 274, 0, 0, 0}, {4095, 12288, 20640, 0, 0, 0, 0}, {3840, 12480, 20640, 0, 0, 0, 0}, {8, 34, 68, 263, 0, 0, 0}, {8, 34, 512, 1280, 4160, 0, 0}, {204, 783, 20560, 0, 0, 0, 0}, {8, 768, 68, 1024, 4128, 0, 0}, {170, 12336, 1295, 0, 0, 0, 0}, {768, 102, 1280, 0, 0, 0, 0}, {8, 1799, 4112, 0, 0, 0, 0}, {8, 1792, 4192, 0, 0, 0, 0}, {783, 102, 1295, 0, 0, 0, 0}, {170, 12394, 1280, 0, 0, 0, 0}, {8, 775, 68, 1024, 4116, 0, 0}, {204, 768, 20588, 0, 0, 0, 0}, {8, 34, 512, 1287, 4114, 0, 0}, {8, 34, 68, 256, 0, 0, 0}, {3855, 12336, 20560, 0, 0, 0, 0}, {128, 3952, 4208, 0, 0, 0, 0}, {34, 797, 68, 1307, 4369, 0, 0}, {34, 1360, 4698, 0, 0, 0, 0}, {831, 76, 4108, 0, 0, 0, 0}, {816, 68, 5180, 0, 0, 0, 0}, {42, 1375, 4106, 0, 0, 0, 0}, {42, 794, 76, 1308, 4112, 0, 0}, {136, 3959, 6007, 0, 0, 0, 0}, {136, 3960, 5888, 0, 0, 0, 0}, {42, 789, 76, 1299, 4102, 0, 0}, {42, 1360, 4176, 0, 0, 0, 0}, {831, 68, 5120, 0, 0, 0, 0}, {816, 76, 4144, 0, 0, 0, 0}, {34, 1375, 4608, 0, 0, 0, 0}, {34, 786, 68, 1300, 4352, 0, 0}, {128, 3967, 4096, 0, 0, 0, 0}, {128, 3840, 4096, 0, 0, 0, 0}, {34, 771, 68, 1285, 4369, 0, 0}, {34, 1290, 4608, 0, 0, 0, 0}, {771, 76, 4144, 0, 0, 0, 0}, {780, 68, 5120, 0, 0, 0, 0}, {42, 1285, 4176, 0, 0, 0, 0}, {42, 780, 76, 1290, 4102, 0, 0}, {136, 3855, 6007, 0, 0, 0, 0}, {136, 3840, 5888, 0, 0, 0, 0}, {42, 771, 76, 1285, 4112, 0, 0}, {42, 1290, 4106, 0, 0, 0, 0}, {771, 68, 5180, 0, 0, 0, 0}, {780, 76, 4108, 0, 0, 0, 0}, {34, 1285, 4698, 0, 0, 0, 0}, {34, 780, 68, 1290, 4352, 0, 0}, {128, 3855, 4208, 0, 0, 0, 0}, {4080, 12336, 20560, 0, 0, 0, 0}, {8, 34, 68, 273, 0, 0, 0}, {8, 34, 512, 1362, 4114, 0, 0}, {204, 819, 20588, 0, 0, 0, 0}, {8, 820, 68, 1024, 4116, 0, 0}, {170, 12394, 1365, 0, 0, 0, 0}, {828, 102, 1340, 0, 0, 0, 0}, {8, 1911, 4192, 0, 0, 0, 0}, {8, 1904, 4112, 0, 0, 0, 0}, {819, 102, 1331, 0, 0, 0, 0}, {170, 12336, 1370, 0, 0, 0, 0}, {8, 819, 68, 1024, 4128, 0, 0}, {204, 828, 20560, 0, 0, 0, 0}, {8, 34, 512, 1365, 4160, 0, 0}, {8, 34, 68, 278, 0, 0, 0}, {4095, 12480, 20640, 0, 0, 0, 0}, {3840, 12288, 20640, 0, 0, 0, 0}, {8, 34, 68, 259, 0, 0, 0}, {8, 34, 512, 1280, 4096, 0, 0}, {204, 771, 20560, 0, 0, 0, 0}, {8, 772, 68, 1028, 4132, 0, 0}, {170, 12378, 1295, 0, 0, 0, 0}, {780, 102, 1280, 0, 0, 0, 0}, {8, 1799, 4176, 0, 0, 0, 0}, {8, 1792, 4128, 0, 0, 0, 0}, {771, 102, 1295, 0, 0, 0, 0}, {170, 12288, 1280, 0, 0, 0, 0}, {8, 771, 68, 1028, 4112, 0, 0}, {204, 780, 20588, 0, 0, 0, 0}, {8, 34, 512, 1287, 4178, 0, 0}, {8, 34, 68, 260, 0, 0, 0}, {3855, 12528, 20560, 0, 0, 0, 0}, {128, 3952, 4144, 0, 0, 0, 0}, {34, 785, 68, 1307, 4369, 0, 0}, {34, 1360, 4626, 0, 0, 0, 0}, {819, 76, 4096, 0, 0, 0, 0}, {828, 68, 5180, 0, 0, 0, 0}, {42, 1375, 4170, 0, 0, 0, 0}, {42, 790, 76, 1308, 4124, 0, 0}, {136, 3959, 5951, 0, 0, 0, 0}, {136, 3960, 5960, 0, 0, 0, 0}, {42, 793, 76, 1299, 4106, 0, 0}, {42, 1360, 4112, 0, 0, 0, 0}, {819, 68, 5120, 0, 0, 0, 0}, {828, 76, 4156, 0, 0, 0, 0}, {34, 1375, 4680, 0, 0, 0, 0}, {34, 798, 68, 1300, 4352, 0, 0}, {128, 3967, 4160, 0, 0, 0, 0}, {3840, 12480, 20480, 0, 0, 0, 0}, {8, 34, 68, 261, 0, 0, 0}, {8, 34, 514, 1282, 4162, 0, 0}, {204, 783, 20540, 0, 0, 0, 0}, {8, 768, 68, 1024, 4096, 0, 0}, {170, 12336, 1285, 0, 0, 0, 0}, {768, 102, 1290, 0, 0, 0, 0}, {8, 1799, 4144, 0, 0, 0, 0}, {8, 1792, 4160, 0, 0, 0, 0}, {783, 102, 1285, 0, 0, 0, 0}, {170, 12394, 1290, 0, 0, 0, 0}, {8, 775, 68, 1024, 4148, 0, 0}, {204, 768, 20480, 0, 0, 0, 0}, {8, 34, 514, 1285, 4112, 0, 0}, {8, 34, 68, 258, 0, 0, 0}, {3855, 12336, 20720, 0, 0, 0, 0}, {128, 3952, 4176, 0, 0, 0, 0}, {34, 797, 68, 1297, 4369, 0, 0}, {34, 1370, 4698, 0, 0, 0, 0}, {831, 76, 4140, 0, 0, 0, 0}, {816, 68, 5140, 0, 0, 0, 0}, {42, 1365, 4096, 0, 0, 0, 0}, {42, 794, 76, 1302, 4122, 0, 0}, {136, 3959, 5983, 0, 0, 0, 0}, {136, 3960, 5928, 0, 0, 0, 0}, {42, 789, 76, 1305, 4108, 0, 0}, {42, 1370, 4186, 0, 0, 0, 0}, {831, 68, 5160, 0, 0, 0, 0}, {816, 76, 4112, 0, 0, 0, 0}, {34, 1365, 4608, 0, 0, 0, 0}, {34, 786, 68, 1310, 4352, 0, 0}, {128, 3967, 4128, 0, 0, 0, 0}, {128, 3840, 4192, 0, 0, 0, 0}, {34, 783, 68, 1295, 4369, 0, 0}, {34, 1280, 4680, 0, 0, 0, 0}, {783, 76, 4124, 0, 0, 0, 0}, {768, 68, 5160, 0, 0, 0, 0}, {42, 1295, 4122, 0, 0, 0, 0}, {42, 768, 76, 1280, 4096, 0, 0}, {136, 3855, 5911, 0, 0, 0, 0}, {136, 3840, 5984, 0, 0, 0, 0}, {42, 783, 76, 1295, 4118, 0, 0}, {42, 1280, 4160, 0, 0, 0, 0}, {783, 68, 5140, 0, 0, 0, 0}, {768, 76, 4128, 0, 0, 0, 0}, {34, 1295, 4626, 0, 0, 0, 0}, {34, 768, 68, 1280, 4352, 0, 0}, {128, 3855, 4112, 0, 0, 0, 0}, {4080, 12528, 20720, 0, 0, 0, 0}, {8, 34, 68, 279, 0, 0, 0}, {8, 34, 514, 1360, 4176, 0, 0}, {204, 831, 20480, 0, 0, 0, 0}, {8, 816, 68, 1028, 4144, 0, 0}, {170, 12288, 1375, 0, 0, 0, 0}, {816, 102, 1334, 0, 0, 0, 0}, {8, 1911, 4096, 0, 0, 0, 0}, {8, 1904, 4208, 0, 0, 0, 0}, {831, 102, 1337, 0, 0, 0, 0}, {170, 12378, 1360, 0, 0, 0, 0}, {8, 823, 68, 1028, 4100, 0, 0}, {204, 816, 20540, 0, 0, 0, 0}, {8, 34, 514, 1367, 4098, 0, 0}, {8, 34, 68, 272, 0, 0, 0}, {4095, 12288, 20480, 0, 0, 0, 0}, {28672, 0, 0, 0, 0, 0, 0}, {6, 17, 257, 0, 0, 0, 0}, {10, 34, 514, 20480, 0, 0, 0}, {12, 51, 771, 16384, 0, 0, 0}, {12, 12288, 68, 1028, 0, 0, 0}, {10, 8192, 85, 1285, 0, 0, 0}, {6, 4096, 0, 0, 0, 0, 0}, {119, 1799, 0, 0, 0, 0, 0}, {136, 2056, 28680, 0, 0, 0, 0}, {51, 771, 6, 4099, 0, 0, 0}, {10, 8192, 20480, 0, 0, 0, 0}, {12, 51, 771, 68, 1028, 0, 0}, {12, 12288, 16384, 0, 0, 0, 0}, {10, 34, 514, 85, 1285, 0, 0}, {34, 514, 6, 4098, 0, 0, 0}, {255, 3855, 28687, 0, 0, 0, 0}, {96, 4112, 0, 0, 0, 0, 0}, {1792, 17, 0, 0, 0, 0, 0}, {2048, 34, 72, 4626, 0, 0, 0}, {3840, 51, 95, 4883, 0, 0, 0}, {2048, 40, 68, 5140, 0, 0, 0}, {3840, 63, 85, 5397, 0, 0, 0}, {102, 5654, 0, 0, 0, 0, 0}, {1792, 23, 0, 0, 0, 0, 0}, {2048, 40, 72, 4120, 0, 0, 0}, {3840, 51, 85, 5657, 0, 0, 0}, {6682, 12336, 106, 0, 0, 0, 0}, {27, 51, 68, 1792, 4864, 0, 0}, {7196, 8224, 108, 0, 0, 0, 0}, {29, 34, 85, 1792, 4608, 0, 0}, {2048, 34, 68, 5662, 0, 0, 0}, {3840, 63, 95, 4127, 0, 0, 0}, {160, 8224, 20480, 0, 0, 0, 0}, {12, 771, 1024, 17, 0, 0, 0}, {2048, 34, 20992, 0, 0, 0, 0}, {12, 51, 771, 83, 4112, 0, 0}, {12, 36, 68, 1024, 4096, 0, 0}, {3855, 9509, 85, 0, 0, 0, 0}, {12, 102, 5670, 0, 0, 0, 0}, {40, 95, 1807, 0, 0, 0, 0}, {2048, 40, 20480, 0, 0, 0, 0}, {12, 51, 771, 85, 5397, 0, 0}, {170, 10794, 23040, 0, 0, 0, 0}, {12, 771, 1024, 23, 0, 0, 0}, {12, 96, 4128, 0, 0, 0, 0}, {34, 85, 1807, 0, 0, 0, 0}, {12, 34, 68, 1024, 4608, 0, 0}, {3855, 8224, 95, 0, 0, 0, 0}, {192, 12336, 16384, 0, 0, 0, 0}, {10, 514, 1280, 17, 0, 0, 0}, {10, 34, 514, 66, 4112, 0, 0}, {3840, 51, 17152, 0, 0, 0, 0}, {2056, 13364, 68, 0, 0, 0, 0}, {10, 53, 85, 1280, 4096, 0, 0}, {10, 102, 5686, 0, 0, 0, 0}, {63, 72, 1800, 0, 0, 0, 0}, {2056, 12336, 72, 0, 0, 0, 0}, {10, 51, 85, 1280, 4864, 0, 0}, {10, 96, 4144, 0, 0, 0, 0}, {51, 68, 1800, 0, 0, 0, 0}, {204, 15420, 19456, 0, 0, 0, 0}, {10, 514, 1280, 23, 0, 0, 0}, {10, 34, 514, 68, 5140, 0, 0}, {3840, 63, 16384, 0, 0, 0, 0}, {192, 12288, 16448, 0, 0, 0, 0}, {10, 512, 1285, 17, 0, 0, 0}, {10, 34, 512, 66, 4096, 0, 0}, {3855, 51, 17219, 0, 0, 0, 0}, {2048, 13312, 68, 0, 0, 0, 0}, {10, 53, 85, 1285, 4112, 0, 0}, {10, 102, 5664, 0, 0, 0, 0}, {63, 72, 1807, 0, 0, 0, 0}, {2048, 12288, 72, 0, 0, 0, 0}, {10, 51, 85, 1285, 4883, 0, 0}, {10, 96, 4128, 0, 0, 0, 0}, {51, 68, 1807, 0, 0, 0, 0}, {204, 15360, 19532, 0, 0, 0, 0}, {10, 512, 1285, 23, 0, 0, 0}, {10, 34, 512, 68, 5120, 0, 0}, {3855, 63, 16448, 0, 0, 0, 0}, {160, 8192, 20560, 0, 0, 0, 0}, {12, 768, 1028, 17, 0, 0, 0}, {2056, 34, 21074, 0, 0, 0, 0}, {12, 51, 768, 83, 4096, 0, 0}, {12, 36, 68, 1028, 4112, 0, 0}, {3840, 9472, 85, 0, 0, 0, 0}, {12, 102, 5680, 0, 0, 0, 0}, {40, 95, 1800, 0, 0, 0, 0}, {2056, 40, 20560, 0, 0, 0, 0}, {12, 51, 768, 85, 5376, 0, 0}, {170, 10752, 23130, 0, 0, 0, 0}, {12, 768, 1028, 23, 0, 0, 0}, {12, 96, 4144, 0, 0, 0, 0}, {34, 85, 1800, 0, 0, 0, 0}, {12, 34, 68, 1028, 4626, 0, 0}, {3840, 8192, 95, 0, 0, 0, 0}, {96, 4096, 0, 0, 0, 0, 0}, {1799, 17, 0, 0, 0, 0, 0}, {2056, 34, 72, 4608, 0, 0, 0}, {3855, 51, 95, 4864, 0, 0, 0}, {2056, 40, 68, 5120, 0, 0, 0}, {3855, 63, 85, 5376, 0, 0, 0}, {102, 5632, 0, 0, 0, 0, 0}, {1799, 23, 0, 0, 0, 0, 0}, {2056, 40, 72, 4104, 0, 0, 0}, {3855, 51, 85, 5647, 0, 0, 0}, {6656, 12288, 106, 0, 0, 0, 0}, {27, 51, 68, 1799, 4883, 0, 0}, {7168, 8192, 108, 0, 0, 0, 0}, {29, 34, 85, 1799, 4626, 0, 0}, {2056, 34, 68, 5640, 0, 0, 0}, {3855, 63, 95, 4111, 0, 0, 0}, {28784, 0, 0, 0, 0, 0, 0}, {6, 17, 256, 0, 0, 0, 0}, {10, 34, 512, 20560, 0, 0, 0}, {12, 51, 768, 16448, 0, 0, 0}, {12, 12336, 68, 1024, 0, 0, 0}, {10, 8224, 85, 1280, 0, 0, 0}, {6, 4112, 0, 0, 0, 0, 0}, {119, 1792, 0, 0, 0, 0, 0}, {136, 2048, 28792, 0, 0, 0, 0}, {51, 768, 6, 4115, 0, 0, 0}, {10, 8224, 20560, 0, 0, 0, 0}, {12, 51, 768, 68, 1024, 0, 0}, {12, 12336, 16448, 0, 0, 0, 0}, {10, 34, 512, 85, 1280, 0, 0}, {34, 512, 6, 4114, 0, 0, 0}, {255, 3840, 28799, 0, 0, 0, 0}, {28800, 0, 0, 0, 0, 0, 0}, {6, 17, 259, 0, 0, 0, 0}, {10, 34, 512, 20480, 0, 0, 0}, {12, 51, 771, 16448, 0, 0, 0}, {12, 12288, 68, 1024, 0, 0, 0}, {10, 8224, 85, 1285, 0, 0, 0}, {6, 4128, 0, 0, 0, 0, 0}, {119, 1807, 0, 0, 0, 0, 0}, {136, 2048, 28672, 0, 0, 0, 0}, {51, 771, 6, 4112, 0, 0, 0}, {10, 8224, 20480, 0, 0, 0, 0}, {12, 51, 771, 68, 1024, 0, 0}, {12, 12288, 16448, 0, 0, 0, 0}, {10, 34, 512, 85, 1285, 0, 0}, {34, 512, 6, 4096, 0, 0, 0}, {255, 3855, 28784, 0, 0, 0, 0}, {96, 4144, 0, 0, 0, 0, 0}, {1800, 17, 0, 0, 0, 0, 0}, {2056, 34, 72, 4626, 0, 0, 0}, {3840, 51, 95, 4864, 0, 0, 0}, {2056, 40, 68, 5140, 0, 0, 0}, {3840, 63, 85, 5376, 0, 0, 0}, {102, 5692, 0, 0, 0, 0, 0}, {1800, 23, 0, 0, 0, 0, 0}, {2056, 40, 72, 4112, 0, 0, 0}, {3840, 51, 85, 5632, 0, 0, 0}, {6704, 12336, 106, 0, 0, 0, 0}, {27, 51, 68, 1811, 4883, 0, 0}, {7228, 8192, 108, 0, 0, 0, 0}, {29, 34, 85, 1813, 4608, 0, 0}, {2056, 34, 68, 5654, 0, 0, 0}, {3840, 63, 95, 4096, 0, 0, 0}, {160, 8192, 20480, 0, 0, 0, 0}, {12, 771, 1028, 17, 0, 0, 0}, {2056, 34, 21000, 0, 0, 0, 0}, {12, 51, 771, 83, 4099, 0, 0}, {12, 36, 68, 1028, 4100, 0, 0}, {3855, 9487, 85, 0, 0, 0, 0}, {12, 102, 5632, 0, 0, 0, 0}, {40, 95, 1799, 0, 0, 0, 0}, {2056, 40, 20480, 0, 0, 0, 0}, {12, 51, 771, 85, 5376, 0, 0}, {170, 10752, 23040, 0, 0, 0, 0}, {12, 771, 1028, 23, 0, 0, 0}, {12, 96, 4096, 0, 0, 0, 0}, {34, 85, 1799, 0, 0, 0, 0}, {12, 34, 68, 1028, 4608, 0, 0}, {3855, 8192, 95, 0, 0, 0, 0}, {192, 12336, 16448, 0, 0, 0, 0}, {10, 512, 1280, 17, 0, 0, 0}, {10, 34, 512, 66, 4114, 0, 0}, {3840, 51, 17228, 0, 0, 0, 0}, {2048, 13372, 68, 0, 0, 0, 0}, {10, 53, 85, 1280, 4117, 0, 0}, {10, 102, 5654, 0, 0, 0, 0}, {63, 72, 1792, 0, 0, 0, 0}, {2048, 12336, 72, 0, 0, 0, 0}, {10, 51, 85, 1280, 4883, 0, 0}, {10, 96, 4112, 0, 0, 0, 0}, {51, 68, 1792, 0, 0, 0, 0}, {204, 15420, 19532, 0, 0, 0, 0}, {10, 512, 1280, 23, 0, 0, 0}, {10, 34, 512, 68, 5140, 0, 0}, {3840, 63, 16448, 0, 0, 0, 0}, {192, 12288, 16384, 0, 0, 0, 0}, {10, 514, 1285, 17, 0, 0, 0}, {10, 34, 514, 66, 4098, 0, 0}, {3855, 51, 17167, 0, 0, 0, 0}, {2056, 13320, 68, 0, 0, 0, 0}, {10, 53, 85, 1285, 4101, 0, 0}, {10, 102, 5632, 0, 0, 0, 0}, {63, 72, 1799, 0, 0, 0, 0}, {2056, 12288, 72, 0, 0, 0, 0}, {10, 51, 85, 1285, 4864, 0, 0}, {10, 96, 4096, 0, 0, 0, 0}, {51, 68, 1799, 0, 0, 0, 0}, {204, 15360, 19456, 0, 0, 0, 0}, {10, 514, 1285, 23, 0, 0, 0}, {10, 34, 514, 68, 5120, 0, 0}, {3855, 63, 16384, 0, 0, 0, 0}, {160, 8224, 20560, 0, 0, 0, 0}, {12, 768, 1024, 17, 0, 0, 0}, {2048, 34, 21082, 0, 0, 0, 0}, {12, 51, 768, 83, 4115, 0, 0}, {12, 36, 68, 1024, 4116, 0, 0}, {3840, 9514, 85, 0, 0, 0, 0}, {12, 102, 5654, 0, 0, 0, 0}, {40, 95, 1792, 0, 0, 0, 0}, {2048, 40, 20560, 0, 0, 0, 0}, {12, 51, 768, 85, 5397, 0, 0}, {170, 10794, 23130, 0, 0, 0, 0}, {12, 768, 1024, 23, 0, 0, 0}, {12, 96, 4112, 0, 0, 0, 0}, {34, 85, 1792, 0, 0, 0, 0}, {12, 34, 68, 1024, 4626, 0, 0}, {3840, 8224, 95, 0, 0, 0, 0}, {96, 4128, 0, 0, 0, 0, 0}, {1807, 17, 0, 0, 0, 0, 0}, {2048, 34, 72, 4608, 0, 0, 0}, {3855, 51, 95, 4883, 0, 0, 0}, {2048, 40, 68, 5120, 0, 0, 0}, {3855, 63, 85, 5397, 0, 0, 0}, {102, 5674, 0, 0, 0, 0, 0}, {1807, 23, 0, 0, 0, 0, 0}, {2048, 40, 72, 4096, 0, 0, 0}, {3855, 51, 85, 5654, 0, 0, 0}, {6698, 12288, 106, 0, 0, 0, 0}, {27, 51, 68, 1812, 4864, 0, 0}, {7200, 8224, 108, 0, 0, 0, 0}, {29, 34, 85, 1810, 4626, 0, 0}, {2048, 34, 68, 5632, 0, 0, 0}, {3855, 63, 95, 4112, 0, 0, 0}, {28912, 0, 0, 0, 0, 0, 0}, {6, 17, 258, 0, 0, 0, 0}, {10, 34, 514, 20560, 0, 0, 0}, {12, 51, 768, 16384, 0, 0, 0}, {12, 12336, 68, 1028, 0, 0, 0}, {10, 8192, 85, 1280, 0, 0, 0}, {6, 4144, 0, 0, 0, 0, 0}, {119, 1800, 0, 0, 0, 0, 0}, {136, 2056, 28784, 0, 0, 0, 0}, {51, 768, 6, 4096, 0, 0, 0}, {10, 8192, 20560, 0, 0, 0, 0}, {12, 51, 768, 68, 1028, 0, 0}, {12, 12336, 16384, 0, 0, 0, 0}, {10, 34, 514, 85, 1280, 0, 0}, {34, 514, 6, 4112, 0, 0, 0}, {255, 3840, 28672, 0, 0, 0, 0}, {1536, 4352, 0, 0, 0, 0, 0}, {112, 257, 0, 0, 0, 0, 0}, {128, 514, 1032, 4386, 0, 0, 0}, {240, 771, 1295, 4403, 0, 0, 0}, {128, 520, 1028, 4420, 0, 0, 0}, {240, 783, 1285, 4437, 0, 0, 0}, {1542, 4454, 0, 0, 0, 0, 0}, {112, 263, 0, 0, 0, 0, 0}, {128, 520, 1032, 4360, 0, 0, 0}, {240, 771, 1285, 4457, 0, 0, 0}, {4522, 13056, 1546, 0, 0, 0, 0}, {267, 771, 112, 1028, 4144, 0, 0}, {4556, 8704, 1548, 0, 0, 0, 0}, {269, 514, 112, 1285, 4128, 0, 0}, {128, 514, 1028, 4462, 0, 0, 0}, {240, 783, 1295, 4367, 0, 0, 0}, {112, 272, 0, 0, 0, 0, 0}, {1638, 4369, 0, 0, 0, 0, 0}, {240, 816, 1370, 4386, 0, 0, 0}, {128, 544, 1100, 4403, 0, 0, 0}, {240, 828, 1360, 4420, 0, 0, 0}, {128, 554, 1088, 4437, 0, 0, 0}, {112, 278, 0, 0, 0, 0, 0}, {1632, 4471, 0, 0, 0, 0, 0}, {240, 816, 1360, 4472, 0, 0, 0}, {128, 554, 1100, 4377, 0, 0, 0}, {282, 816, 112, 1072, 4144, 0, 0}, {4539, 13107, 1644, 0, 0, 0, 0}, {284, 544, 112, 1312, 4128, 0, 0}, {4573, 8738, 1642, 0, 0, 0, 0}, {240, 828, 1370, 4382, 0, 0, 0}, {128, 544, 1088, 4479, 0, 0, 0}, {128, 544, 1024, 4352, 0, 0, 0}, {240, 771, 1365, 4369, 0, 0, 0}, {1706, 3072, 4386, 0, 0, 0, 0}, {291, 771, 339, 1036, 4112, 0, 0}, {1708, 3084, 4420, 0, 0, 0, 0}, {293, 783, 341, 1024, 4096, 0, 0}, {128, 554, 1036, 4454, 0, 0, 0}, {240, 783, 1375, 4471, 0, 0, 0}, {1696, 3072, 5928, 0, 0, 0, 0}, {297, 771, 345, 1036, 4377, 0, 0}, {128, 554, 1024, 4394, 0, 0, 0}, {240, 771, 1375, 4427, 0, 0, 0}, {128, 544, 1036, 4428, 0, 0, 0}, {240, 783, 1365, 4397, 0, 0, 0}, {1702, 3084, 5960, 0, 0, 0, 0}, {303, 783, 351, 1024, 4367, 0, 0}, {240, 816, 1280, 4352, 0, 0, 0}, {128, 514, 1092, 4369, 0, 0, 0}, {306, 514, 322, 1290, 4112, 0, 0}, {1740, 2560, 4403, 0, 0, 0, 0}, {308, 520, 324, 1280, 4096, 0, 0}, {1738, 2570, 4437, 0, 0, 0, 0}, {240, 828, 1290, 4454, 0, 0, 0}, {128, 520, 1096, 4471, 0, 0, 0}, {312, 520, 328, 1280, 4360, 0, 0}, {1734, 2570, 5983, 0, 0, 0, 0}, {240, 816, 1290, 4442, 0, 0, 0}, {128, 520, 1092, 4411, 0, 0, 0}, {240, 828, 1280, 4412, 0, 0, 0}, {128, 514, 1096, 4445, 0, 0, 0}, {318, 514, 334, 1290, 4382, 0, 0}, {1728, 2560, 5951, 0, 0, 0, 0}, {128, 512, 1088, 4352, 0, 0, 0}, {240, 819, 1285, 4369, 0, 0, 0}, {1738, 2570, 4386, 0, 0, 0, 0}, {307, 512, 323, 1295, 4096, 0, 0}, {1740, 2560, 4420, 0, 0, 0, 0}, {309, 522, 325, 1285, 4112, 0, 0}, {128, 522, 1100, 4454, 0, 0, 0}, {240, 831, 1295, 4471, 0, 0, 0}, {1728, 2560, 5960, 0, 0, 0, 0}, {313, 522, 329, 1285, 4377, 0, 0}, {128, 522, 1088, 4394, 0, 0, 0}, {240, 819, 1295, 4427, 0, 0, 0}, {128, 512, 1100, 4428, 0, 0, 0}, {240, 831, 1285, 4397, 0, 0, 0}, {1734, 2570, 5928, 0, 0, 0, 0}, {319, 512, 335, 1295, 4367, 0, 0}, {240, 768, 1360, 4352, 0, 0, 0}, {128, 546, 1028, 4369, 0, 0, 0}, {290, 768, 338, 1032, 4096, 0, 0}, {1708, 3084, 4403, 0, 0, 0, 0}, {292, 780, 340, 1028, 4112, 0, 0}, {1706, 3072, 4437, 0, 0, 0, 0}, {240, 780, 1370, 4454, 0, 0, 0}, {128, 552, 1032, 4471, 0, 0, 0}, {296, 768, 344, 1032, 4360, 0, 0}, {1702, 3084, 5951, 0, 0, 0, 0}, {240, 768, 1370, 4442, 0, 0, 0}, {128, 552, 1028, 4411, 0, 0, 0}, {240, 780, 1360, 4412, 0, 0, 0}, {128, 546, 1032, 4445, 0, 0, 0}, {302, 780, 350, 1028, 4382, 0, 0}, {1696, 3072, 5983, 0, 0, 0, 0}, {1632, 4352, 0, 0, 0, 0, 0}, {112, 273, 0, 0, 0, 0, 0}, {128, 546, 1096, 4386, 0, 0, 0}, {240, 819, 1375, 4403, 0, 0, 0}, {128, 552, 1092, 4420, 0, 0, 0}, {240, 831, 1365, 4437, 0, 0, 0}, {1638, 4454, 0, 0, 0, 0, 0}, {112, 279, 0, 0, 0, 0, 0}, {128, 552, 1096, 4360, 0, 0, 0}, {240, 819, 1365, 4457, 0, 0, 0}, {4522, 13056, 1642, 0, 0, 0, 0}, {283, 819, 112, 1076, 4128, 0, 0}, {4556, 8704, 1644, 0, 0, 0, 0}, {285, 546, 112, 1317, 4144, 0, 0}, {128, 546, 1092, 4462, 0, 0, 0}, {240, 831, 1375, 4367, 0, 0, 0}, {112, 256, 0, 0, 0, 0, 0}, {1542, 4369, 0, 0, 0, 0, 0}, {240, 768, 1290, 4386, 0, 0, 0}, {128, 512, 1036, 4403, 0, 0, 0}, {240, 780, 1280, 4420, 0, 0, 0}, {128, 522, 1024, 4437, 0, 0, 0}, {112, 262, 0, 0, 0, 0, 0}, {1536, 4471, 0, 0, 0, 0, 0}, {240, 768, 1280, 4472, 0, 0, 0}, {128, 522, 1036, 4377, 0, 0, 0}, {266, 768, 112, 1024, 4128, 0, 0}, {4539, 13107, 1548, 0, 0, 0, 0}, {268, 512, 112, 1280, 4144, 0, 0}, {4573, 8738, 1546, 0, 0, 0, 0}, {240, 780, 1290, 4382, 0, 0, 0}, {128, 512, 1024, 4479, 0, 0, 0}, {128, 512, 1024, 4352, 0, 0, 0}, {240, 771, 1285, 4369, 0, 0, 0}, {1546, 4386, 0, 0, 0, 0, 0}, {112, 259, 0, 0, 0, 0, 0}, {1548, 4420, 0, 0, 0, 0, 0}, {112, 261, 0, 0, 0, 0, 0}, {128, 522, 1036, 4454, 0, 0, 0}, {240, 783, 1295, 4471, 0, 0, 0}, {4488, 13056, 1536, 0, 0, 0, 0}, {265, 771, 112, 1285, 4112, 0, 0}, {128, 522, 1024, 4394, 0, 0, 0}, {240, 771, 1295, 4427, 0, 0, 0}, {128, 512, 1036, 4428, 0, 0, 0}, {240, 783, 1285, 4397, 0, 0, 0}, {4590, 8738, 1542, 0, 0, 0, 0}, {271, 512, 112, 1024, 4096, 0, 0}, {240, 816, 1360, 4352, 0, 0, 0}, {128, 546, 1092, 4369, 0, 0, 0}, {112, 274, 0, 0, 0, 0, 0}, {1644, 4403, 0, 0, 0, 0, 0}, {112, 276, 0, 0, 0, 0, 0}, {1642, 4437, 0, 0, 0, 0, 0}, {240, 828, 1370, 4454, 0, 0, 0}, {128, 552, 1096, 4471, 0, 0, 0}, {280, 816, 112, 1312, 4112, 0, 0}, {4505, 13107, 1638, 0, 0, 0, 0}, {240, 816, 1370, 4442, 0, 0, 0}, {128, 552, 1092, 4411, 0, 0, 0}, {240, 828, 1360, 4412, 0, 0, 0}, {128, 546, 1096, 4445, 0, 0, 0}, {286, 546, 112, 1076, 4096, 0, 0}, {4607, 8704, 1632, 0, 0, 0, 0}, {1696, 3072, 4352, 0, 0, 0, 0}, {289, 771, 337, 1028, 4369, 0, 0}, {128, 546, 1032, 4386, 0, 0, 0}, {240, 771, 1375, 4403, 0, 0, 0}, {128, 552, 1028, 4420, 0, 0, 0}, {240, 783, 1365, 4437, 0, 0, 0}, {1702, 3084, 4454, 0, 0, 0, 0}, {295, 783, 343, 1032, 4359, 0, 0}, {128, 552, 1032, 4360, 0, 0, 0}, {240, 771, 1365, 4457, 0, 0, 0}, {1706, 3072, 5888, 0, 0, 0, 0}, {299, 771, 347, 1028, 4112, 0, 0}, {1708, 3084, 5984, 0, 0, 0, 0}, {301, 783, 349, 1032, 4096, 0, 0}, {128, 546, 1028, 4462, 0, 0, 0}, {240, 783, 1375, 4367, 0, 0, 0}, {304, 512, 320, 1280, 4352, 0, 0}, {1734, 2570, 4369, 0, 0, 0, 0}, {240, 816, 1290, 4386, 0, 0, 0}, {128, 512, 1100, 4403, 0, 0, 0}, {240, 828, 1280, 4420, 0, 0, 0}, {128, 522, 1088, 4437, 0, 0, 0}, {310, 522, 326, 1290, 4374, 0, 0}, {1728, 2560, 4471, 0, 0, 0, 0}, {240, 816, 1280, 4472, 0, 0, 0}, {128, 522, 1100, 4377, 0, 0, 0}, {314, 522, 330, 1290, 4112, 0, 0}, {1740, 2560, 6007, 0, 0, 0, 0}, {316, 512, 332, 1280, 4096, 0, 0}, {1738, 2570, 5911, 0, 0, 0, 0}, {240, 828, 1290, 4382, 0, 0, 0}, {128, 512, 1088, 4479, 0, 0, 0}, {1728, 2560, 4352, 0, 0, 0, 0}, {305, 514, 321, 1285, 4369, 0, 0}, {128, 514, 1096, 4386, 0, 0, 0}, {240, 819, 1295, 4403, 0, 0, 0}, {128, 520, 1092, 4420, 0, 0, 0}, {240, 831, 1285, 4437, 0, 0, 0}, {1734, 2570, 4454, 0, 0, 0, 0}, {311, 520, 327, 1295, 4359, 0, 0}, {128, 520, 1096, 4360, 0, 0, 0}, {240, 819, 1285, 4457, 0, 0, 0}, {1738, 2570, 5984, 0, 0, 0, 0}, {315, 520, 331, 1295, 4096, 0, 0}, {1740, 2560, 5888, 0, 0, 0, 0}, {317, 514, 333, 1285, 4112, 0, 0}, {128, 514, 1092, 4462, 0, 0, 0}, {240, 831, 1295, 4367, 0, 0, 0}, {288, 768, 336, 1024, 4352, 0, 0}, {1702, 3084, 4369, 0, 0, 0, 0}, {240, 768, 1370, 4386, 0, 0, 0}, {128, 544, 1036, 4403, 0, 0, 0}, {240, 780, 1360, 4420, 0, 0, 0}, {128, 554, 1024, 4437, 0, 0, 0}, {294, 780, 342, 1036, 4374, 0, 0}, {1696, 3072, 4471, 0, 0, 0, 0}, {240, 768, 1360, 4472, 0, 0, 0}, {128, 554, 1036, 4377, 0, 0, 0}, {298, 768, 346, 1024, 4096, 0, 0}, {1708, 3084, 5911, 0, 0, 0, 0}, {300, 780, 348, 1036, 4112, 0, 0}, {1706, 3072, 6007, 0, 0, 0, 0}, {240, 780, 1370, 4382, 0, 0, 0}, {128, 544, 1024, 4479, 0, 0, 0}, {128, 544, 1088, 4352, 0, 0, 0}, {240, 819, 1365, 4369, 0, 0, 0}, {1642, 4386, 0, 0, 0, 0, 0}, {112, 275, 0, 0, 0, 0, 0}, {1644, 4420, 0, 0, 0, 0, 0}, {112, 277, 0, 0, 0, 0, 0}, {128, 554, 1100, 4454, 0, 0, 0}, {240, 831, 1375, 4471, 0, 0, 0}, {4488, 13056, 1632, 0, 0, 0, 0}, {281, 819, 112, 1317, 4096, 0, 0}, {128, 554, 1088, 4394, 0, 0, 0}, {240, 819, 1375, 4427, 0, 0, 0}, {128, 544, 1100, 4428, 0, 0, 0}, {240, 831, 1365, 4397, 0, 0, 0}, {4590, 8738, 1638, 0, 0, 0, 0}, {287, 544, 112, 1072, 4112, 0, 0}, {240, 768, 1280, 4352, 0, 0, 0}, {128, 514, 1028, 4369, 0, 0, 0}, {112, 258, 0, 0, 0, 0, 0}, {1548, 4403, 0, 0, 0, 0, 0}, {112, 260, 0, 0, 0, 0, 0}, {1546, 4437, 0, 0, 0, 0, 0}, {240, 780, 1290, 4454, 0, 0, 0}, {128, 520, 1032, 4471, 0, 0, 0}, {264, 768, 112, 1280, 4096, 0, 0}, {4505, 13107, 1542, 0, 0, 0, 0}, {240, 768, 1290, 4442, 0, 0, 0}, {128, 520, 1028, 4411, 0, 0, 0}, {240, 780, 1280, 4412, 0, 0, 0}, {128, 514, 1032, 4445, 0, 0, 0}, {270, 514, 112, 1028, 4112, 0, 0}, {4607, 8704, 1536, 0, 0, 0, 0}, {2560, 8704, 20480, 0, 0, 0, 0}, {12, 51, 64, 257, 0, 0, 0}, {128, 514, 20512, 0, 0, 0, 0}, {12, 51, 771, 1283, 4352, 0, 0}, {12, 516, 64, 1028, 4096, 0, 0}, {255, 8789, 1285, 0, 0, 0, 0}, {12, 1542, 4710, 0, 0, 0, 0}, {520, 127, 1295, 0, 0, 0, 0}, {128, 520, 20480, 0, 0, 0, 0}, {12, 51, 771, 1285, 4437, 0, 0}, {2570, 8874, 20640, 0, 0, 0, 0}, {12, 51, 64, 263, 0, 0, 0}, {12, 1536, 4608, 0, 0, 0, 0}, {514, 127, 1285, 0, 0, 0, 0}, {12, 514, 64, 1028, 4128, 0, 0}, {255, 8704, 1295, 0, 0, 0, 0}, {544, 64, 4112, 0, 0, 0, 0}, {51, 1365, 4369, 0, 0, 0, 0}, {192, 2666, 4626, 0, 0, 0, 0}, {51, 531, 76, 1299, 4352, 0, 0}, {204, 2668, 5140, 0, 0, 0, 0}, {63, 533, 64, 1301, 4096, 0, 0}, {554, 76, 5180, 0, 0, 0, 0}, {63, 1375, 4680, 0, 0, 0, 0}, {192, 2656, 4728, 0, 0, 0, 0}, {51, 537, 76, 1305, 4377, 0, 0}, {554, 64, 4144, 0, 0, 0, 0}, {51, 1375, 4420, 0, 0, 0, 0}, {544, 76, 5148, 0, 0, 0, 0}, {63, 1365, 4637, 0, 0, 0, 0}, {204, 2662, 5240, 0, 0, 0, 0}, {63, 543, 64, 1311, 4127, 0, 0}, {128, 544, 20512, 0, 0, 0, 0}, {12, 51, 771, 1366, 4369, 0, 0}, {2730, 8738, 20480, 0, 0, 0, 0}, {12, 51, 64, 272, 0, 0, 0}, {12, 1632, 4676, 0, 0, 0, 0}, {554, 127, 1317, 0, 0, 0, 0}, {12, 550, 64, 1024, 4096, 0, 0}, {255, 8823, 1360, 0, 0, 0, 0}, {2720, 8840, 20640, 0, 0, 0, 0}, {12, 51, 64, 278, 0, 0, 0}, {128, 554, 20480, 0, 0, 0, 0}, {12, 51, 771, 1360, 4420, 0, 0}, {12, 544, 64, 1024, 4128, 0, 0}, {255, 8738, 1370, 0, 0, 0, 0}, {12, 1638, 4642, 0, 0, 0, 0}, {544, 127, 1327, 0, 0, 0, 0}, {192, 2560, 4656, 0, 0, 0, 0}, {51, 514, 76, 1290, 4369, 0, 0}, {514, 64, 4112, 0, 0, 0, 0}, {51, 1280, 4352, 0, 0, 0, 0}, {520, 76, 5172, 0, 0, 0, 0}, {63, 1290, 4693, 0, 0, 0, 0}, {204, 2570, 5200, 0, 0, 0, 0}, {63, 520, 64, 1280, 4096, 0, 0}, {520, 64, 4144, 0, 0, 0, 0}, {51, 1290, 4437, 0, 0, 0, 0}, {192, 2570, 4698, 0, 0, 0, 0}, {51, 520, 76, 1280, 4360, 0, 0}, {204, 2560, 5180, 0, 0, 0, 0}, {63, 514, 64, 1290, 4127, 0, 0}, {514, 76, 5140, 0, 0, 0, 0}, {63, 1280, 4608, 0, 0, 0, 0}, {512, 64, 4096, 0, 0, 0, 0}, {51, 1285, 4369, 0, 0, 0, 0}, {192, 2570, 4642, 0, 0, 0, 0}, {51, 512, 76, 1295, 4352, 0, 0}, {204, 2560, 5188, 0, 0, 0, 0}, {63, 522, 64, 1285, 4112, 0, 0}, {522, 76, 5152, 0, 0, 0, 0}, {63, 1295, 4679, 0, 0, 0, 0}, {192, 2560, 4680, 0, 0, 0, 0}, {51, 522, 76, 1285, 4377, 0, 0}, {522, 64, 4128, 0, 0, 0, 0}, {51, 1295, 4420, 0, 0, 0, 0}, {512, 76, 5120, 0, 0, 0, 0}, {63, 1285, 4626, 0, 0, 0, 0}, {204, 2570, 5160, 0, 0, 0, 0}, {63, 512, 64, 1295, 4111, 0, 0}, {2720, 8704, 20560, 0, 0, 0, 0}, {12, 51, 64, 273, 0, 0, 0}, {128, 546, 20592, 0, 0, 0, 0}, {12, 51, 768, 1363, 4352, 0, 0}, {12, 548, 64, 1028, 4112, 0, 0}, {255, 8789, 1365, 0, 0, 0, 0}, {12, 1638, 4694, 0, 0, 0, 0}, {552, 127, 1312, 0, 0, 0, 0}, {128, 552, 20560, 0, 0, 0, 0}, {12, 51, 768, 1365, 4437, 0, 0}, {2730, 8874, 20720, 0, 0, 0, 0}, {12, 51, 64, 279, 0, 0, 0}, {12, 1632, 4656, 0, 0, 0, 0}, {546, 127, 1322, 0, 0, 0, 0}, {12, 546, 64, 1028, 4144, 0, 0}, {255, 8704, 1375, 0, 0, 0, 0}, {192, 2656, 4608, 0, 0, 0, 0}, {51, 529, 76, 1302, 4369, 0, 0}, {546, 64, 4096, 0, 0, 0, 0}, {51, 1360, 4352, 0, 0, 0, 0}, {552, 76, 5160, 0, 0, 0, 0}, {63, 1370, 4698, 0, 0, 0, 0}, {204, 2662, 5120, 0, 0, 0, 0}, {63, 535, 64, 1296, 4112, 0, 0}, {552, 64, 4128, 0, 0, 0, 0}, {51, 1370, 4437, 0, 0, 0, 0}, {192, 2666, 4714, 0, 0, 0, 0}, {51, 539, 76, 1308, 4360, 0, 0}, {204, 2668, 5228, 0, 0, 0, 0}, {63, 541, 64, 1306, 4111, 0, 0}, {546, 76, 5128, 0, 0, 0, 0}, {63, 1360, 4623, 0, 0, 0, 0}, {128, 512, 20592, 0, 0, 0, 0}, {12, 51, 768, 1286, 4369, 0, 0}, {2570, 8738, 20560, 0, 0, 0, 0}, {12, 51, 64, 256, 0, 0, 0}, {12, 1536, 4724, 0, 0, 0, 0}, {522, 127, 1290, 0, 0, 0, 0}, {12, 518, 64, 1024, 4112, 0, 0}, {255, 8823, 1280, 0, 0, 0, 0}, {2560, 8840, 20720, 0, 0, 0, 0}, {12, 51, 64, 262, 0, 0, 0}, {128, 522, 20560, 0, 0, 0, 0}, {12, 51, 768, 1280, 4420, 0, 0}, {12, 512, 64, 1024, 4144, 0, 0}, {255, 8738, 1290, 0, 0, 0, 0}, {12, 1542, 4626, 0, 0, 0, 0}, {512, 127, 1280, 0, 0, 0, 0}, {128, 512, 20480, 0, 0, 0, 0}, {12, 51, 771, 1285, 4369, 0, 0}, {2570, 8738, 20640, 0, 0, 0, 0}, {12, 51, 64, 259, 0, 0, 0}, {12, 1536, 4676, 0, 0, 0, 0}, {522, 127, 1285, 0, 0, 0, 0}, {12, 518, 64, 1024, 4128, 0, 0}, {255, 8823, 1295, 0, 0, 0, 0}, {2560, 8840, 20480, 0, 0, 0, 0}, {12, 51, 64, 261, 0, 0, 0}, {128, 522, 20512, 0, 0, 0, 0}, {12, 51, 771, 1283, 4420, 0, 0}, {12, 512, 64, 1024, 4096, 0, 0}, {255, 8738, 1285, 0, 0, 0, 0}, {12, 1542, 4642, 0, 0, 0, 0}, {512, 127, 1295, 0, 0, 0, 0}, {192, 2656, 4656, 0, 0, 0, 0}, {51, 529, 76, 1305, 4369, 0, 0}, {546, 64, 4144, 0, 0, 0, 0}, {51, 1375, 4352, 0, 0, 0, 0}, {552, 76, 5140, 0, 0, 0, 0}, {63, 1365, 4693, 0, 0, 0, 0}, {204, 2662, 5180, 0, 0, 0, 0}, {63, 535, 64, 1311, 4127, 0, 0}, {552, 64, 4112, 0, 0, 0, 0}, {51, 1365, 4437, 0, 0, 0, 0}, {192, 2666, 4698, 0, 0, 0, 0}, {51, 539, 76, 1299, 4360, 0, 0}, {204, 2668, 5200, 0, 0, 0, 0}, {63, 541, 64, 1301, 4096, 0, 0}, {546, 76, 5172, 0, 0, 0, 0}, {63, 1375, 4608, 0, 0, 0, 0}, {2720, 8704, 20640, 0, 0, 0, 0}, {12, 51, 64, 274, 0, 0, 0}, {128, 546, 20480, 0, 0, 0, 0}, {12, 51, 771, 1360, 4352, 0, 0}, {12, 548, 64, 1028, 4128, 0, 0}, {255, 8789, 1370, 0, 0, 0, 0}, {12, 1638, 4710, 0, 0, 0, 0}, {552, 127, 1327, 0, 0, 0, 0}, {128, 552, 20512, 0, 0, 0, 0}, {12, 51, 771, 1366, 4437, 0, 0}, {2730, 8874, 20480, 0, 0, 0, 0}, {12, 51, 64, 276, 0, 0, 0}, {12, 1632, 4608, 0, 0, 0, 0}, {546, 127, 1317, 0, 0, 0, 0}, {12, 546, 64, 1028, 4096, 0, 0}, {255, 8704, 1360, 0, 0, 0, 0}, {512, 64, 4144, 0, 0, 0, 0}, {51, 1290, 4369, 0, 0, 0, 0}, {192, 2570, 4626, 0, 0, 0, 0}, {51, 512, 76, 1280, 4352, 0, 0}, {204, 2560, 5240, 0, 0, 0, 0}, {63, 522, 64, 1290, 4127, 0, 0}, {522, 76, 5148, 0, 0, 0, 0}, {63, 1280, 4680, 0, 0, 0, 0}, {192, 2560, 4728, 0, 0, 0, 0}, {51, 522, 76, 1290, 4377, 0, 0}, {522, 64, 4112, 0, 0, 0, 0}, {51, 1280, 4420, 0, 0, 0, 0}, {512, 76, 5180, 0, 0, 0, 0}, {63, 1290, 4637, 0, 0, 0, 0}, {204, 2570, 5140, 0, 0, 0, 0}, {63, 512, 64, 1280, 4096, 0, 0}, {192, 2560, 4608, 0, 0, 0, 0}, {51, 514, 76, 1285, 4369, 0, 0}, {514, 64, 4128, 0, 0, 0, 0}, {51, 1295, 4352, 0, 0, 0, 0}, {520, 76, 5128, 0, 0, 0, 0}, {63, 1285, 4698, 0, 0, 0, 0}, {204, 2570, 5228, 0, 0, 0, 0}, {63, 520, 64, 1295, 4111, 0, 0}, {520, 64, 4096, 0, 0, 0, 0}, {51, 1285, 4437, 0, 0, 0, 0}, {192, 2570, 4714, 0, 0, 0, 0}, {51, 520, 76, 1295, 4360, 0, 0}, {204, 2560, 5120, 0, 0, 0, 0}, {63, 514, 64, 1285, 4112, 0, 0}, {514, 76, 5160, 0, 0, 0, 0}, {63, 1295, 4623, 0, 0, 0, 0}, {128, 544, 20560, 0, 0, 0, 0}, {12, 51, 768, 1365, 4369, 0, 0}, {2730, 8738, 20720, 0, 0, 0, 0}, {12, 51, 64, 275, 0, 0, 0}, {12, 1632, 4724, 0, 0, 0, 0}, {554, 127, 1322, 0, 0, 0, 0}, {12, 550, 64, 1024, 4144, 0, 0}, {255, 8823, 1375, 0, 0, 0, 0}, {2720, 8840, 20560, 0, 0, 0, 0}, {12, 51, 64, 277, 0, 0, 0}, {128, 554, 20592, 0, 0, 0, 0}, {12, 51, 768, 1363, 4420, 0, 0}, {12, 544, 64, 1024, 4112, 0, 0}, {255, 8738, 1365, 0, 0, 0, 0}, {12, 1638, 4626, 0, 0, 0, 0}, {544, 127, 1312, 0, 0, 0, 0}, {544, 64, 4128, 0, 0, 0, 0}, {51, 1370, 4369, 0, 0, 0, 0}, {192, 2666, 4642, 0, 0, 0, 0}, {51, 531, 76, 1308, 4352, 0, 0}, {204, 2668, 5160, 0, 0, 0, 0}, {63, 533, 64, 1306, 4111, 0, 0}, {554, 76, 5120, 0, 0, 0, 0}, {63, 1360, 4679, 0, 0, 0, 0}, {192, 2656, 4680, 0, 0, 0, 0}, {51, 537, 76, 1302, 4377, 0, 0}, {554, 64, 4096, 0, 0, 0, 0}, {51, 1360, 4420, 0, 0, 0, 0}, {544, 76, 5152, 0, 0, 0, 0}, {63, 1370, 4626, 0, 0, 0, 0}, {204, 2662, 5188, 0, 0, 0, 0}, {63, 543, 64, 1296, 4112, 0, 0}, {2560, 8704, 20720, 0, 0, 0, 0}, {12, 51, 64, 258, 0, 0, 0}, {128, 514, 20560, 0, 0, 0, 0}, {12, 51, 768, 1280, 4352, 0, 0}, {12, 516, 64, 1028, 4144, 0, 0}, {255, 8789, 1290, 0, 0, 0, 0}, {12, 1542, 4694, 0, 0, 0, 0}, {520, 127, 1280, 0, 0, 0, 0}, {128, 520, 20592, 0, 0, 0, 0}, {12, 51, 768, 1286, 4437, 0, 0}, {2570, 8874, 20560, 0, 0, 0, 0}, {12, 51, 64, 260, 0, 0, 0}, {12, 1536, 4656, 0, 0, 0, 0}, {514, 127, 1290, 0, 0, 0, 0}, {12, 514, 64, 1028, 4112, 0, 0}, {255, 8704, 1280, 0, 0, 0, 0}, {3072, 13056, 16384, 0, 0, 0, 0}, {10, 34, 80, 257, 0, 0, 0}, {10, 34, 514, 1026, 4352, 0, 0}, {240, 771, 16432, 0, 0, 0, 0}, {136, 13124, 1028, 0, 0, 0, 0}, {10, 773, 80, 1285, 4096, 0, 0}, {10, 1542, 4966, 0, 0, 0, 0}, {783, 120, 1032, 0, 0, 0, 0}, {136, 13056, 1032, 0, 0, 0, 0}, {10, 771, 80, 1285, 4144, 0, 0}, {10, 1536, 4864, 0, 0, 0, 0}, {771, 120, 1028, 0, 0, 0, 0}, {3084, 13260, 16576, 0, 0, 0, 0}, {10, 34, 80, 263, 0, 0, 0}, {10, 34, 514, 1028, 4420, 0, 0}, {240, 783, 16384, 0, 0, 0, 0}, {816, 80, 4112, 0, 0, 0, 0}, {34, 1092, 4369, 0, 0, 0, 0}, {34, 786, 90, 1042, 4352, 0, 0}, {160, 3180, 4883, 0, 0, 0, 0}, {40, 788, 80, 1044, 4096, 0, 0}, {170, 3178, 5397, 0, 0, 0, 0}, {828, 90, 5418, 0, 0, 0, 0}, {40, 1096, 4959, 0, 0, 0, 0}, {40, 792, 80, 1048, 4120, 0, 0}, {170, 3174, 5503, 0, 0, 0, 0}, {816, 90, 5402, 0, 0, 0, 0}, {40, 1092, 4891, 0, 0, 0, 0}, {828, 80, 4128, 0, 0, 0, 0}, {34, 1096, 4437, 0, 0, 0, 0}, {34, 798, 90, 1054, 4382, 0, 0}, {160, 3168, 4991, 0, 0, 0, 0}, {160, 3072, 4896, 0, 0, 0, 0}, {34, 771, 90, 1036, 4369, 0, 0}, {34, 1024, 4352, 0, 0, 0, 0}, {771, 80, 4112, 0, 0, 0, 0}, {40, 1036, 4932, 0, 0, 0, 0}, {783, 90, 5413, 0, 0, 0, 0}, {170, 3084, 5440, 0, 0, 0, 0}, {40, 783, 80, 1024, 4096, 0, 0}, {40, 1024, 4864, 0, 0, 0, 0}, {771, 90, 5397, 0, 0, 0, 0}, {170, 3072, 5418, 0, 0, 0, 0}, {40, 771, 80, 1036, 4120, 0, 0}, {160, 3084, 4940, 0, 0, 0, 0}, {34, 783, 90, 1024, 4367, 0, 0}, {34, 1036, 4420, 0, 0, 0, 0}, {783, 80, 4128, 0, 0, 0, 0}, {240, 816, 16432, 0, 0, 0, 0}, {10, 34, 514, 1094, 4369, 0, 0}, {10, 34, 80, 272, 0, 0, 0}, {3276, 13107, 16384, 0, 0, 0, 0}, {828, 120, 1076, 0, 0, 0, 0}, {10, 1632, 4949, 0, 0, 0, 0}, {10, 822, 80, 1280, 4096, 0, 0}, {136, 13175, 1088, 0, 0, 0, 0}, {816, 120, 1080, 0, 0, 0, 0}, {10, 1638, 4915, 0, 0, 0, 0}, {10, 816, 80, 1280, 4144, 0, 0}, {136, 13107, 1100, 0, 0, 0, 0}, {240, 828, 16384, 0, 0, 0, 0}, {10, 34, 514, 1088, 4437, 0, 0}, {10, 34, 80, 278, 0, 0, 0}, {3264, 13311, 16576, 0, 0, 0, 0}, {3264, 13056, 16448, 0, 0, 0, 0}, {10, 34, 80, 273, 0, 0, 0}, {10, 34, 512, 1090, 4352, 0, 0}, {240, 819, 16496, 0, 0, 0, 0}, {136, 13124, 1092, 0, 0, 0, 0}, {10, 821, 80, 1285, 4112, 0, 0}, {10, 1638, 4934, 0, 0, 0, 0}, {831, 120, 1072, 0, 0, 0, 0}, {136, 13056, 1096, 0, 0, 0, 0}, {10, 819, 80, 1285, 4128, 0, 0}, {10, 1632, 4896, 0, 0, 0, 0}, {819, 120, 1084, 0, 0, 0, 0}, {3276, 13260, 16512, 0, 0, 0, 0}, {10, 34, 80, 279, 0, 0, 0}, {10, 34, 512, 1092, 4420, 0, 0}, {240, 831, 16448, 0, 0, 0, 0}, {768, 80, 4096, 0, 0, 0, 0}, {34, 1028, 4369, 0, 0, 0, 0}, {34, 768, 90, 1032, 4352, 0, 0}, {160, 3084, 4915, 0, 0, 0, 0}, {40, 780, 80, 1028, 4112, 0, 0}, {170, 3072, 5461, 0, 0, 0, 0}, {780, 90, 5424, 0, 0, 0, 0}, {40, 1032, 4951, 0, 0, 0, 0}, {40, 768, 80, 1032, 4104, 0, 0}, {170, 3084, 5439, 0, 0, 0, 0}, {768, 90, 5376, 0, 0, 0, 0}, {40, 1028, 4883, 0, 0, 0, 0}, {780, 80, 4144, 0, 0, 0, 0}, {34, 1032, 4437, 0, 0, 0, 0}, {34, 780, 90, 1028, 4382, 0, 0}, {160, 3072, 4959, 0, 0, 0, 0}, {160, 3168, 4864, 0, 0, 0, 0}, {34, 785, 90, 1046, 4369, 0, 0}, {34, 1088, 4352, 0, 0, 0, 0}, {819, 80, 4096, 0, 0, 0, 0}, {40, 1100, 4940, 0, 0, 0, 0}, {831, 90, 5439, 0, 0, 0, 0}, {170, 3174, 5376, 0, 0, 0, 0}, {40, 791, 80, 1040, 4112, 0, 0}, {40, 1088, 4872, 0, 0, 0, 0}, {819, 90, 5391, 0, 0, 0, 0}, {170, 3178, 5482, 0, 0, 0, 0}, {40, 795, 80, 1052, 4104, 0, 0}, {160, 3180, 4972, 0, 0, 0, 0}, {34, 797, 90, 1050, 4367, 0, 0}, {34, 1100, 4420, 0, 0, 0, 0}, {831, 80, 4144, 0, 0, 0, 0}, {240, 768, 16496, 0, 0, 0, 0}, {10, 34, 512, 1030, 4369, 0, 0}, {10, 34, 80, 256, 0, 0, 0}, {3084, 13107, 16448, 0, 0, 0, 0}, {780, 120, 1036, 0, 0, 0, 0}, {10, 1536, 4981, 0, 0, 0, 0}, {10, 774, 80, 1280, 4112, 0, 0}, {136, 13175, 1024, 0, 0, 0, 0}, {768, 120, 1024, 0, 0, 0, 0}, {10, 1542, 4883, 0, 0, 0, 0}, {10, 768, 80, 1280, 4128, 0, 0}, {136, 13107, 1036, 0, 0, 0, 0}, {240, 780, 16448, 0, 0, 0, 0}, {10, 34, 512, 1024, 4437, 0, 0}, {10, 34, 80, 262, 0, 0, 0}, {3072, 13311, 16512, 0, 0, 0, 0}, {3072, 13056, 16512, 0, 0, 0, 0}, {10, 34, 80, 259, 0, 0, 0}, {10, 34, 512, 1024, 4352, 0, 0}, {240, 771, 16448, 0, 0, 0, 0}, {136, 13124, 1036, 0, 0, 0, 0}, {10, 773, 80, 1285, 4128, 0, 0}, {10, 1542, 4934, 0, 0, 0, 0}, {783, 120, 1024, 0, 0, 0, 0}, {136, 13056, 1024, 0, 0, 0, 0}, {10, 771, 80, 1285, 4112, 0, 0}, {10, 1536, 4896, 0, 0, 0, 0}, {771, 120, 1036, 0, 0, 0, 0}, {3084, 13260, 16448, 0, 0, 0, 0}, {10, 34, 80, 261, 0, 0, 0}, {10, 34, 512, 1030, 4420, 0, 0}, {240, 783, 16496, 0, 0, 0, 0}, {816, 80, 4144, 0, 0, 0, 0}, {34, 1100, 4369, 0, 0, 0, 0}, {34, 786, 90, 1050, 4352, 0, 0}, {160, 3180, 4915, 0, 0, 0, 0}, {40, 788, 80, 1052, 4104, 0, 0}, {170, 3178, 5439, 0, 0, 0, 0}, {828, 90, 5376, 0, 0, 0, 0}, {40, 1088, 4951, 0, 0, 0, 0}, {40, 792, 80, 1040, 4112, 0, 0}, {170, 3174, 5461, 0, 0, 0, 0}, {816, 90, 5424, 0, 0, 0, 0}, {40, 1100, 4883, 0, 0, 0, 0}, {828, 80, 4096, 0, 0, 0, 0}, {34, 1088, 4437, 0, 0, 0, 0}, {34, 798, 90, 1046, 4382, 0, 0}, {160, 3168, 4959, 0, 0, 0, 0}, {160, 3072, 4864, 0, 0, 0, 0}, {34, 771, 90, 1028, 4369, 0, 0}, {34, 1032, 4352, 0, 0, 0, 0}, {771, 80, 4144, 0, 0, 0, 0}, {40, 1028, 4940, 0, 0, 0, 0}, {783, 90, 5391, 0, 0, 0, 0}, {170, 3084, 5482, 0, 0, 0, 0}, {40, 783, 80, 1032, 4104, 0, 0}, {40, 1032, 4872, 0, 0, 0, 0}, {771, 90, 5439, 0, 0, 0, 0}, {170, 3072, 5376, 0, 0, 0, 0}, {40, 771, 80, 1028, 4112, 0, 0}, {160, 3084, 4972, 0, 0, 0, 0}, {34, 783, 90, 1032, 4367, 0, 0}, {34, 1028, 4420, 0, 0, 0, 0}, {783, 80, 4096, 0, 0, 0, 0}, {240, 816, 16448, 0, 0, 0, 0}, {10, 34, 512, 1092, 4369, 0, 0}, {10, 34, 80, 274, 0, 0, 0}, {3276, 13107, 16512, 0, 0, 0, 0}, {828, 120, 1084, 0, 0, 0, 0}, {10, 1632, 4981, 0, 0, 0, 0}, {10, 822, 80, 1280, 4128, 0, 0}, {136, 13175, 1096, 0, 0, 0, 0}, {816, 120, 1072, 0, 0, 0, 0}, {10, 1638, 4883, 0, 0, 0, 0}, {10, 816, 80, 1280, 4112, 0, 0}, {136, 13107, 1092, 0, 0, 0, 0}, {240, 828, 16496, 0, 0, 0, 0}, {10, 34, 512, 1090, 4437, 0, 0}, {10, 34, 80, 276, 0, 0, 0}, {3264, 13311, 16448, 0, 0, 0, 0}, {3264, 13056, 16576, 0, 0, 0, 0}, {10, 34, 80, 275, 0, 0, 0}, {10, 34, 514, 1088, 4352, 0, 0}, {240, 819, 16384, 0, 0, 0, 0}, {136, 13124, 1100, 0, 0, 0, 0}, {10, 821, 80, 1285, 4144, 0, 0}, {10, 1638, 4966, 0, 0, 0, 0}, {831, 120, 1080, 0, 0, 0, 0}, {136, 13056, 1088, 0, 0, 0, 0}, {10, 819, 80, 1285, 4096, 0, 0}, {10, 1632, 4864, 0, 0, 0, 0}, {819, 120, 1076, 0, 0, 0, 0}, {3276, 13260, 16384, 0, 0, 0, 0}, {10, 34, 80, 277, 0, 0, 0}, {10, 34, 514, 1094, 4420, 0, 0}, {240, 831, 16432, 0, 0, 0, 0}, {768, 80, 4128, 0, 0, 0, 0}, {34, 1036, 4369, 0, 0, 0, 0}, {34, 768, 90, 1024, 4352, 0, 0}, {160, 3084, 4883, 0, 0, 0, 0}, {40, 780, 80, 1036, 4120, 0, 0}, {170, 3072, 5503, 0, 0, 0, 0}, {780, 90, 5402, 0, 0, 0, 0}, {40, 1024, 4959, 0, 0, 0, 0}, {40, 768, 80, 1024, 4096, 0, 0}, {170, 3084, 5397, 0, 0, 0, 0}, {768, 90, 5418, 0, 0, 0, 0}, {40, 1036, 4891, 0, 0, 0, 0}, {780, 80, 4112, 0, 0, 0, 0}, {34, 1024, 4437, 0, 0, 0, 0}, {34, 780, 90, 1036, 4382, 0, 0}, {160, 3072, 4991, 0, 0, 0, 0}, {160, 3168, 4896, 0, 0, 0, 0}, {34, 785, 90, 1054, 4369, 0, 0}, {34, 1096, 4352, 0, 0, 0, 0}, {819, 80, 4128, 0, 0, 0, 0}, {40, 1092, 4932, 0, 0, 0, 0}, {831, 90, 5397, 0, 0, 0, 0}, {170, 3174, 5418, 0, 0, 0, 0}, {40, 791, 80, 1048, 4120, 0, 0}, {40, 1096, 4864, 0, 0, 0, 0}, {819, 90, 5413, 0, 0, 0, 0}, {170, 3178, 5440, 0, 0, 0, 0}, {40, 795, 80, 1044, 4096, 0, 0}, {160, 3180, 4940, 0, 0, 0, 0}, {34, 797, 90, 1042, 4367, 0, 0}, {34, 1092, 4420, 0, 0, 0, 0}, {831, 80, 4112, 0, 0, 0, 0}, {240, 768, 16384, 0, 0, 0, 0}, {10, 34, 514, 1028, 4369, 0, 0}, {10, 34, 80, 258, 0, 0, 0}, {3084, 13107, 16576, 0, 0, 0, 0}, {780, 120, 1028, 0, 0, 0, 0}, {10, 1536, 4949, 0, 0, 0, 0}, {10, 774, 80, 1280, 4144, 0, 0}, {136, 13175, 1032, 0, 0, 0, 0}, {768, 120, 1032, 0, 0, 0, 0}, {10, 1542, 4915, 0, 0, 0, 0}, {10, 768, 80, 1280, 4096, 0, 0}, {136, 13107, 1028, 0, 0, 0, 0}, {240, 780, 16432, 0, 0, 0, 0}, {10, 34, 514, 1026, 4437, 0, 0}, {10, 34, 80, 260, 0, 0, 0}, {3072, 13311, 16384, 0, 0, 0, 0}, {3072, 12288, 17408, 0, 0, 0, 0}, {10, 32, 85, 257, 0, 0, 0}, {10, 32, 514, 1026, 4096, 0, 0}, {255, 771, 17459, 0, 0, 0, 0}, {128, 12352, 1028, 0, 0, 0, 0}, {10, 773, 85, 1285, 4352, 0, 0}, {10, 1542, 4704, 0, 0, 0, 0}, {783, 127, 1032, 0, 0, 0, 0}, {128, 12288, 1032, 0, 0, 0, 0}, {10, 771, 85, 1285, 4403, 0, 0}, {10, 1536, 4608, 0, 0, 0, 0}, {771, 127, 1028, 0, 0, 0, 0}, {3084, 12480, 17612, 0, 0, 0, 0}, {10, 32, 85, 263, 0, 0, 0}, {10, 32, 514, 1028, 4160, 0, 0}, {255, 783, 17408, 0, 0, 0, 0}, {32, 1088, 4112, 0, 0, 0, 0}, {819, 85, 4369, 0, 0, 0, 0}, {170, 3178, 4626, 0, 0, 0, 0}, {32, 787, 95, 1043, 4096, 0, 0}, {160, 3180, 5140, 0, 0, 0, 0}, {42, 789, 85, 1045, 4352, 0, 0}, {42, 1100, 4698, 0, 0, 0, 0}, {831, 95, 5160, 0, 0, 0, 0}, {160, 3168, 5240, 0, 0, 0, 0}, {42, 793, 85, 1049, 4377, 0, 0}, {42, 1088, 4634, 0, 0, 0, 0}, {819, 95, 5147, 0, 0, 0, 0}, {32, 1100, 4176, 0, 0, 0, 0}, {831, 85, 4386, 0, 0, 0, 0}, {170, 3174, 4728, 0, 0, 0, 0}, {32, 799, 95, 1055, 4127, 0, 0}, {32, 1024, 4096, 0, 0, 0, 0}, {771, 85, 4369, 0, 0, 0, 0}, {170, 3072, 4642, 0, 0, 0, 0}, {32, 771, 95, 1036, 4112, 0, 0}, {160, 3084, 5188, 0, 0, 0, 0}, {42, 783, 85, 1024, 4352, 0, 0}, {42, 1036, 4672, 0, 0, 0, 0}, {783, 95, 5159, 0, 0, 0, 0}, {160, 3072, 5160, 0, 0, 0, 0}, {42, 771, 85, 1036, 4377, 0, 0}, {42, 1024, 4608, 0, 0, 0, 0}, {771, 95, 5140, 0, 0, 0, 0}, {32, 1036, 4160, 0, 0, 0, 0}, {783, 85, 4386, 0, 0, 0, 0}, {170, 3084, 4680, 0, 0, 0, 0}, {32, 783, 95, 1024, 4111, 0, 0}, {3264, 12336, 17408, 0, 0, 0, 0}, {10, 32, 85, 273, 0, 0, 0}, {10, 32, 514, 1090, 4112, 0, 0}, {255, 819, 17459, 0, 0, 0, 0}, {128, 12400, 1092, 0, 0, 0, 0}, {10, 821, 85, 1280, 4352, 0, 0}, {10, 1638, 4688, 0, 0, 0, 0}, {831, 127, 1079, 0, 0, 0, 0}, {128, 12336, 1096, 0, 0, 0, 0}, {10, 819, 85, 1280, 4403, 0, 0}, {10, 1632, 4656, 0, 0, 0, 0}, {819, 127, 1083, 0, 0, 0, 0}, {3276, 12528, 17612, 0, 0, 0, 0}, {10, 32, 85, 279, 0, 0, 0}, {10, 32, 514, 1092, 4176, 0, 0}, {255, 831, 17408, 0, 0, 0, 0}, {128, 12352, 1088, 0, 0, 0, 0}, {10, 822, 85, 1285, 4369, 0, 0}, {10, 1632, 4674, 0, 0, 0, 0}, {828, 127, 1075, 0, 0, 0, 0}, {3276, 12288, 17476, 0, 0, 0, 0}, {10, 32, 85, 272, 0, 0, 0}, {10, 32, 512, 1094, 4096, 0, 0}, {255, 816, 17527, 0, 0, 0, 0}, {3264, 12480, 17544, 0, 0, 0, 0}, {10, 32, 85, 278, 0, 0, 0}, {10, 32, 512, 1088, 4160, 0, 0}, {255, 828, 17476, 0, 0, 0, 0}, {128, 12288, 1100, 0, 0, 0, 0}, {10, 816, 85, 1285, 4386, 0, 0}, {10, 1638, 4642, 0, 0, 0, 0}, {816, 127, 1087, 0, 0, 0, 0}, {160, 3072, 5200, 0, 0, 0, 0}, {42, 780, 85, 1028, 4369, 0, 0}, {42, 1032, 4690, 0, 0, 0, 0}, {780, 95, 5171, 0, 0, 0, 0}, {32, 1028, 4112, 0, 0, 0, 0}, {768, 85, 4352, 0, 0, 0, 0}, {170, 3084, 4656, 0, 0, 0, 0}, {32, 768, 95, 1032, 4096, 0, 0}, {32, 1032, 4176, 0, 0, 0, 0}, {780, 85, 4403, 0, 0, 0, 0}, {170, 3072, 4698, 0, 0, 0, 0}, {32, 780, 95, 1028, 4127, 0, 0}, {160, 3084, 5180, 0, 0, 0, 0}, {42, 768, 85, 1032, 4360, 0, 0}, {42, 1028, 4626, 0, 0, 0, 0}, {768, 95, 5120, 0, 0, 0, 0}, {160, 3168, 5120, 0, 0, 0, 0}, {42, 790, 85, 1041, 4369, 0, 0}, {42, 1096, 4680, 0, 0, 0, 0}, {828, 95, 5180, 0, 0, 0, 0}, {32, 1092, 4096, 0, 0, 0, 0}, {816, 85, 4352, 0, 0, 0, 0}, {170, 3174, 4608, 0, 0, 0, 0}, {32, 784, 95, 1047, 4112, 0, 0}, {32, 1096, 4160, 0, 0, 0, 0}, {828, 85, 4403, 0, 0, 0, 0}, {170, 3178, 4714, 0, 0, 0, 0}, {32, 796, 95, 1051, 4111, 0, 0}, {160, 3180, 5228, 0, 0, 0, 0}, {42, 794, 85, 1053, 4360, 0, 0}, {42, 1092, 4616, 0, 0, 0, 0}, {816, 95, 5135, 0, 0, 0, 0}, {128, 12400, 1024, 0, 0, 0, 0}, {10, 774, 85, 1280, 4369, 0, 0}, {10, 1536, 4722, 0, 0, 0, 0}, {780, 127, 1036, 0, 0, 0, 0}, {3084, 12336, 17476, 0, 0, 0, 0}, {10, 32, 85, 256, 0, 0, 0}, {10, 32, 512, 1030, 4112, 0, 0}, {255, 768, 17527, 0, 0, 0, 0}, {3072, 12528, 17544, 0, 0, 0, 0}, {10, 32, 85, 262, 0, 0, 0}, {10, 32, 512, 1024, 4176, 0, 0}, {255, 780, 17476, 0, 0, 0, 0}, {128, 12336, 1036, 0, 0, 0, 0}, {10, 768, 85, 1280, 4386, 0, 0}, {10, 1542, 4626, 0, 0, 0, 0}, {768, 127, 1024, 0, 0, 0, 0}, {128, 12288, 1024, 0, 0, 0, 0}, {10, 771, 85, 1285, 4369, 0, 0}, {10, 1536, 4642, 0, 0, 0, 0}, {771, 127, 1036, 0, 0, 0, 0}, {3084, 12480, 17476, 0, 0, 0, 0}, {10, 32, 85, 261, 0, 0, 0}, {10, 32, 512, 1030, 4160, 0, 0}, {255, 783, 17527, 0, 0, 0, 0}, {3072, 12288, 17544, 0, 0, 0, 0}, {10, 32, 85, 259, 0, 0, 0}, {10, 32, 512, 1024, 4096, 0, 0}, {255, 771, 17476, 0, 0, 0, 0}, {128, 12352, 1036, 0, 0, 0, 0}, {10, 773, 85, 1285, 4386, 0, 0}, {10, 1542, 4674, 0, 0, 0, 0}, {783, 127, 1024, 0, 0, 0, 0}, {160, 3168, 5200, 0, 0, 0, 0}, {42, 793, 85, 1041, 4369, 0, 0}, {42, 1096, 4626, 0, 0, 0, 0}, {819, 95, 5171, 0, 0, 0, 0}, {32, 1092, 4176, 0, 0, 0, 0}, {831, 85, 4352, 0, 0, 0, 0}, {170, 3174, 4698, 0, 0, 0, 0}, {32, 799, 95, 1047, 4127, 0, 0}, {32, 1096, 4112, 0, 0, 0, 0}, {819, 85, 4403, 0, 0, 0, 0}, {170, 3178, 4656, 0, 0, 0, 0}, {32, 787, 95, 1051, 4096, 0, 0}, {160, 3180, 5180, 0, 0, 0, 0}, {42, 789, 85, 1053, 4360, 0, 0}, {42, 1092, 4690, 0, 0, 0, 0}, {831, 95, 5120, 0, 0, 0, 0}, {160, 3072, 5120, 0, 0, 0, 0}, {42, 771, 85, 1028, 4369, 0, 0}, {42, 1032, 4616, 0, 0, 0, 0}, {771, 95, 5180, 0, 0, 0, 0}, {32, 1028, 4160, 0, 0, 0, 0}, {783, 85, 4352, 0, 0, 0, 0}, {170, 3084, 4714, 0, 0, 0, 0}, {32, 783, 95, 1032, 4111, 0, 0}, {32, 1032, 4096, 0, 0, 0, 0}, {771, 85, 4403, 0, 0, 0, 0}, {170, 3072, 4608, 0, 0, 0, 0}, {32, 771, 95, 1028, 4112, 0, 0}, {160, 3084, 5228, 0, 0, 0, 0}, {42, 783, 85, 1032, 4360, 0, 0}, {42, 1028, 4680, 0, 0, 0, 0}, {783, 95, 5135, 0, 0, 0, 0}, {128, 12336, 1088, 0, 0, 0, 0}, {10, 819, 85, 1280, 4369, 0, 0}, {10, 1632, 4626, 0, 0, 0, 0}, {819, 127, 1075, 0, 0, 0, 0}, {3276, 12528, 17476, 0, 0, 0, 0}, {10, 32, 85, 277, 0, 0, 0}, {10, 32, 512, 1094, 4176, 0, 0}, {255, 831, 17527, 0, 0, 0, 0}, {3264, 12336, 17544, 0, 0, 0, 0}, {10, 32, 85, 275, 0, 0, 0}, {10, 32, 512, 1088, 4112, 0, 0}, {255, 819, 17476, 0, 0, 0, 0}, {128, 12400, 1100, 0, 0, 0, 0}, {10, 821, 85, 1280, 4386, 0, 0}, {10, 1638, 4722, 0, 0, 0, 0}, {831, 127, 1087, 0, 0, 0, 0}, {3264, 12480, 17408, 0, 0, 0, 0}, {10, 32, 85, 276, 0, 0, 0}, {10, 32, 514, 1090, 4160, 0, 0}, {255, 828, 17459, 0, 0, 0, 0}, {128, 12288, 1092, 0, 0, 0, 0}, {10, 816, 85, 1285, 4352, 0, 0}, {10, 1638, 4608, 0, 0, 0, 0}, {816, 127, 1079, 0, 0, 0, 0}, {128, 12352, 1096, 0, 0, 0, 0}, {10, 822, 85, 1285, 4403, 0, 0}, {10, 1632, 4704, 0, 0, 0, 0}, {828, 127, 1083, 0, 0, 0, 0}, {3276, 12288, 17612, 0, 0, 0, 0}, {10, 32, 85, 274, 0, 0, 0}, {10, 32, 514, 1092, 4096, 0, 0}, {255, 816, 17408, 0, 0, 0, 0}, {32, 1024, 4176, 0, 0, 0, 0}, {780, 85, 4369, 0, 0, 0, 0}, {170, 3072, 4728, 0, 0, 0, 0}, {32, 780, 95, 1036, 4127, 0, 0}, {160, 3084, 5140, 0, 0, 0, 0}, {42, 768, 85, 1024, 4352, 0, 0}, {42, 1036, 4634, 0, 0, 0, 0}, {768, 95, 5160, 0, 0, 0, 0}, {160, 3072, 5240, 0, 0, 0, 0}, {42, 780, 85, 1036, 4377, 0, 0}, {42, 1024, 4698, 0, 0, 0, 0}, {780, 95, 5147, 0, 0, 0, 0}, {32, 1036, 4112, 0, 0, 0, 0}, {768, 85, 4386, 0, 0, 0, 0}, {170, 3084, 4626, 0, 0, 0, 0}, {32, 768, 95, 1024, 4096, 0, 0}, {32, 1088, 4160, 0, 0, 0, 0}, {828, 85, 4369, 0, 0, 0, 0}, {170, 3178, 4680, 0, 0, 0, 0}, {32, 796, 95, 1043, 4111, 0, 0}, {160, 3180, 5188, 0, 0, 0, 0}, {42, 794, 85, 1045, 4352, 0, 0}, {42, 1100, 4608, 0, 0, 0, 0}, {816, 95, 5159, 0, 0, 0, 0}, {160, 3168, 5160, 0, 0, 0, 0}, {42, 790, 85, 1049, 4377, 0, 0}, {42, 1088, 4672, 0, 0, 0, 0}, {828, 95, 5140, 0, 0, 0, 0}, {32, 1100, 4096, 0, 0, 0, 0}, {816, 85, 4386, 0, 0, 0, 0}, {170, 3174, 4642, 0, 0, 0, 0}, {32, 784, 95, 1055, 4112, 0, 0}, {3072, 12528, 17408, 0, 0, 0, 0}, {10, 32, 85, 260, 0, 0, 0}, {10, 32, 514, 1026, 4176, 0, 0}, {255, 780, 17459, 0, 0, 0, 0}, {128, 12336, 1028, 0, 0, 0, 0}, {10, 768, 85, 1280, 4352, 0, 0}, {10, 1542, 4656, 0, 0, 0, 0}, {768, 127, 1032, 0, 0, 0, 0}, {128, 12400, 1032, 0, 0, 0, 0}, {10, 774, 85, 1280, 4403, 0, 0}, {10, 1536, 4688, 0, 0, 0, 0}, {780, 127, 1028, 0, 0, 0, 0}, {3084, 12336, 17612, 0, 0, 0, 0}, {10, 32, 85, 258, 0, 0, 0}, {10, 32, 514, 1028, 4112, 0, 0}, {255, 768, 17408, 0, 0, 0, 0}, {2560, 8192, 21760, 0, 0, 0, 0}, {12, 48, 68, 257, 0, 0, 0}, {136, 514, 21794, 0, 0, 0, 0}, {12, 48, 771, 1283, 4096, 0, 0}, {12, 516, 68, 1028, 4352, 0, 0}, {240, 8272, 1285, 0, 0, 0, 0}, {12, 1542, 4960, 0, 0, 0, 0}, {520, 120, 1295, 0, 0, 0, 0}, {136, 520, 21760, 0, 0, 0, 0}, {12, 48, 771, 1285, 4176, 0, 0}, {2570, 8352, 21930, 0, 0, 0, 0}, {12, 48, 68, 263, 0, 0, 0}, {12, 1536, 4864, 0, 0, 0, 0}, {514, 120, 1285, 0, 0, 0, 0}, {12, 514, 68, 1028, 4386, 0, 0}, {240, 8192, 1295, 0, 0, 0, 0}, {48, 1360, 4112, 0, 0, 0, 0}, {546, 68, 4369, 0, 0, 0, 0}, {48, 530, 72, 1298, 4096, 0, 0}, {204, 2668, 4883, 0, 0, 0, 0}, {60, 532, 68, 1300, 4352, 0, 0}, {192, 2666, 5397, 0, 0, 0, 0}, {60, 1370, 4940, 0, 0, 0, 0}, {552, 72, 5439, 0, 0, 0, 0}, {48, 536, 72, 1304, 4120, 0, 0}, {204, 2662, 4991, 0, 0, 0, 0}, {48, 1370, 4160, 0, 0, 0, 0}, {552, 68, 4403, 0, 0, 0, 0}, {60, 1360, 4892, 0, 0, 0, 0}, {546, 72, 5405, 0, 0, 0, 0}, {60, 542, 68, 1310, 4382, 0, 0}, {192, 2656, 5503, 0, 0, 0, 0}, {2720, 8224, 21760, 0, 0, 0, 0}, {12, 48, 68, 273, 0, 0, 0}, {136, 546, 21794, 0, 0, 0, 0}, {12, 48, 771, 1363, 4112, 0, 0}, {12, 548, 68, 1024, 4352, 0, 0}, {240, 8304, 1365, 0, 0, 0, 0}, {12, 1638, 4928, 0, 0, 0, 0}, {552, 120, 1319, 0, 0, 0, 0}, {136, 552, 21760, 0, 0, 0, 0}, {12, 48, 771, 1365, 4160, 0, 0}, {2730, 8320, 21930, 0, 0, 0, 0}, {12, 48, 68, 279, 0, 0, 0}, {12, 1632, 4896, 0, 0, 0, 0}, {546, 120, 1325, 0, 0, 0, 0}, {12, 546, 68, 1024, 4386, 0, 0}, {240, 8224, 1375, 0, 0, 0, 0}, {48, 1280, 4096, 0, 0, 0, 0}, {514, 68, 4369, 0, 0, 0, 0}, {48, 514, 72, 1290, 4112, 0, 0}, {204, 2560, 4915, 0, 0, 0, 0}, {60, 520, 68, 1280, 4352, 0, 0}, {192, 2570, 5461, 0, 0, 0, 0}, {60, 1290, 4944, 0, 0, 0, 0}, {520, 72, 5431, 0, 0, 0, 0}, {48, 520, 72, 1280, 4104, 0, 0}, {204, 2570, 4959, 0, 0, 0, 0}, {48, 1290, 4176, 0, 0, 0, 0}, {520, 68, 4403, 0, 0, 0, 0}, {60, 1280, 4864, 0, 0, 0, 0}, {514, 72, 5397, 0, 0, 0, 0}, {60, 514, 68, 1290, 4382, 0, 0}, {192, 2560, 5439, 0, 0, 0, 0}, {192, 2560, 5440, 0, 0, 0, 0}, {60, 522, 68, 1285, 4369, 0, 0}, {522, 72, 5410, 0, 0, 0, 0}, {60, 1295, 4931, 0, 0, 0, 0}, {512, 68, 4352, 0, 0, 0, 0}, {48, 1285, 4112, 0, 0, 0, 0}, {204, 2570, 4896, 0, 0, 0, 0}, {48, 512, 72, 1295, 4096, 0, 0}, {512, 72, 5376, 0, 0, 0, 0}, {60, 1285, 4883, 0, 0, 0, 0}, {192, 2570, 5418, 0, 0, 0, 0}, {60, 512, 68, 1295, 4367, 0, 0}, {204, 2560, 4940, 0, 0, 0, 0}, {48, 522, 72, 1285, 4120, 0, 0}, {522, 68, 4386, 0, 0, 0, 0}, {48, 1295, 4160, 0, 0, 0, 0}, {240, 8272, 1360, 0, 0, 0, 0}, {12, 550, 68, 1028, 4369, 0, 0}, {554, 120, 1314, 0, 0, 0, 0}, {12, 1632, 4947, 0, 0, 0, 0}, {12, 48, 68, 272, 0, 0, 0}, {2730, 8192, 21845, 0, 0, 0, 0}, {12, 48, 768, 1366, 4096, 0, 0}, {136, 544, 21879, 0, 0, 0, 0}, {544, 120, 1320, 0, 0, 0, 0}, {12, 1638, 4915, 0, 0, 0, 0}, {240, 8192, 1370, 0, 0, 0, 0}, {12, 544, 68, 1028, 4403, 0, 0}, {12, 48, 768, 1360, 4176, 0, 0}, {136, 554, 21845, 0, 0, 0, 0}, {12, 48, 68, 278, 0, 0, 0}, {2720, 8352, 22015, 0, 0, 0, 0}, {192, 2656, 5376, 0, 0, 0, 0}, {60, 534, 68, 1297, 4369, 0, 0}, {554, 72, 5418, 0, 0, 0, 0}, {60, 1375, 4959, 0, 0, 0, 0}, {544, 68, 4352, 0, 0, 0, 0}, {48, 1365, 4096, 0, 0, 0, 0}, {204, 2662, 4864, 0, 0, 0, 0}, {48, 528, 72, 1303, 4112, 0, 0}, {544, 72, 5384, 0, 0, 0, 0}, {60, 1365, 4879, 0, 0, 0, 0}, {192, 2666, 5482, 0, 0, 0, 0}, {60, 540, 68, 1307, 4367, 0, 0}, {204, 2668, 4972, 0, 0, 0, 0}, {48, 538, 72, 1309, 4104, 0, 0}, {554, 68, 4386, 0, 0, 0, 0}, {48, 1375, 4176, 0, 0, 0, 0}, {240, 8304, 1280, 0, 0, 0, 0}, {12, 518, 68, 1024, 4369, 0, 0}, {522, 120, 1290, 0, 0, 0, 0}, {12, 1536, 4979, 0, 0, 0, 0}, {12, 48, 68, 256, 0, 0, 0}, {2570, 8224, 21845, 0, 0, 0, 0}, {12, 48, 768, 1286, 4112, 0, 0}, {136, 512, 21879, 0, 0, 0, 0}, {512, 120, 1280, 0, 0, 0, 0}, {12, 1542, 4883, 0, 0, 0, 0}, {240, 8224, 1290, 0, 0, 0, 0}, {12, 512, 68, 1024, 4403, 0, 0}, {12, 48, 768, 1280, 4160, 0, 0}, {136, 522, 21845, 0, 0, 0, 0}, {12, 48, 68, 262, 0, 0, 0}, {2560, 8320, 22015, 0, 0, 0, 0}, {2560, 8320, 21760, 0, 0, 0, 0}, {12, 48, 68, 261, 0, 0, 0}, {136, 522, 21794, 0, 0, 0, 0}, {12, 48, 771, 1283, 4160, 0, 0}, {12, 512, 68, 1024, 4352, 0, 0}, {240, 8224, 1285, 0, 0, 0, 0}, {12, 1542, 4896, 0, 0, 0, 0}, {512, 120, 1295, 0, 0, 0, 0}, {136, 512, 21760, 0, 0, 0, 0}, {12, 48, 771, 1285, 4112, 0, 0}, {2570, 8224, 21930, 0, 0, 0, 0}, {12, 48, 68, 259, 0, 0, 0}, {12, 1536, 4928, 0, 0, 0, 0}, {522, 120, 1285, 0, 0, 0, 0}, {12, 518, 68, 1024, 4386, 0, 0}, {240, 8304, 1295, 0, 0, 0, 0}, {48, 1360, 4176, 0, 0, 0, 0}, {554, 68, 4369, 0, 0, 0, 0}, {48, 538, 72, 1298, 4104, 0, 0}, {204, 2668, 4959, 0, 0, 0, 0}, {60, 540, 68, 1300, 4352, 0, 0}, {192, 2666, 5461, 0, 0, 0, 0}, {60, 1370, 4864, 0, 0, 0, 0}, {544, 72, 5431, 0, 0, 0, 0}, {48, 528, 72, 1304, 4112, 0, 0}, {204, 2662, 4915, 0, 0, 0, 0}, {48, 1370, 4096, 0, 0, 0, 0}, {544, 68, 4403, 0, 0, 0, 0}, {60, 1360, 4944, 0, 0, 0, 0}, {554, 72, 5397, 0, 0, 0, 0}, {60, 534, 68, 1310, 4382, 0, 0}, {192, 2656, 5439, 0, 0, 0, 0}, {2720, 8352, 21760, 0, 0, 0, 0}, {12, 48, 68, 277, 0, 0, 0}, {136, 554, 21794, 0, 0, 0, 0}, {12, 48, 771, 1363, 4176, 0, 0}, {12, 544, 68, 1028, 4352, 0, 0}, {240, 8192, 1365, 0, 0, 0, 0}, {12, 1638, 4864, 0, 0, 0, 0}, {544, 120, 1319, 0, 0, 0, 0}, {136, 544, 21760, 0, 0, 0, 0}, {12, 48, 771, 1365, 4096, 0, 0}, {2730, 8192, 21930, 0, 0, 0, 0}, {12, 48, 68, 275, 0, 0, 0}, {12, 1632, 4960, 0, 0, 0, 0}, {554, 120, 1325, 0, 0, 0, 0}, {12, 550, 68, 1028, 4386, 0, 0}, {240, 8272, 1375, 0, 0, 0, 0}, {48, 1280, 4160, 0, 0, 0, 0}, {522, 68, 4369, 0, 0, 0, 0}, {48, 522, 72, 1290, 4120, 0, 0}, {204, 2560, 4991, 0, 0, 0, 0}, {60, 512, 68, 1280, 4352, 0, 0}, {192, 2570, 5397, 0, 0, 0, 0}, {60, 1290, 4892, 0, 0, 0, 0}, {512, 72, 5439, 0, 0, 0, 0}, {48, 512, 72, 1280, 4096, 0, 0}, {204, 2570, 4883, 0, 0, 0, 0}, {48, 1290, 4112, 0, 0, 0, 0}, {512, 68, 4403, 0, 0, 0, 0}, {60, 1280, 4940, 0, 0, 0, 0}, {522, 72, 5405, 0, 0, 0, 0}, {60, 522, 68, 1290, 4382, 0, 0}, {192, 2560, 5503, 0, 0, 0, 0}, {192, 2560, 5376, 0, 0, 0, 0}, {60, 514, 68, 1285, 4369, 0, 0}, {514, 72, 5418, 0, 0, 0, 0}, {60, 1295, 4879, 0, 0, 0, 0}, {520, 68, 4352, 0, 0, 0, 0}, {48, 1285, 4176, 0, 0, 0, 0}, {204, 2570, 4972, 0, 0, 0, 0}, {48, 520, 72, 1295, 4104, 0, 0}, {520, 72, 5384, 0, 0, 0, 0}, {60, 1285, 4959, 0, 0, 0, 0}, {192, 2570, 5482, 0, 0, 0, 0}, {60, 520, 68, 1295, 4367, 0, 0}, {204, 2560, 4864, 0, 0, 0, 0}, {48, 514, 72, 1285, 4112, 0, 0}, {514, 68, 4386, 0, 0, 0, 0}, {48, 1295, 4096, 0, 0, 0, 0}, {240, 8224, 1360, 0, 0, 0, 0}, {12, 546, 68, 1024, 4369, 0, 0}, {546, 120, 1314, 0, 0, 0, 0}, {12, 1632, 4883, 0, 0, 0, 0}, {12, 48, 68, 276, 0, 0, 0}, {2730, 8320, 21845, 0, 0, 0, 0}, {12, 48, 768, 1366, 4160, 0, 0}, {136, 552, 21879, 0, 0, 0, 0}, {552, 120, 1320, 0, 0, 0, 0}, {12, 1638, 4979, 0, 0, 0, 0}, {240, 8304, 1370, 0, 0, 0, 0}, {12, 548, 68, 1024, 4403, 0, 0}, {12, 48, 768, 1360, 4112, 0, 0}, {136, 546, 21845, 0, 0, 0, 0}, {12, 48, 68, 274, 0, 0, 0}, {2720, 8224, 22015, 0, 0, 0, 0}, {192, 2656, 5440, 0, 0, 0, 0}, {60, 542, 68, 1297, 4369, 0, 0}, {546, 72, 5410, 0, 0, 0, 0}, {60, 1375, 4883, 0, 0, 0, 0}, {552, 68, 4352, 0, 0, 0, 0}, {48, 1365, 4160, 0, 0, 0, 0}, {204, 2662, 4940, 0, 0, 0, 0}, {48, 536, 72, 1303, 4120, 0, 0}, {552, 72, 5376, 0, 0, 0, 0}, {60, 1365, 4931, 0, 0, 0, 0}, {192, 2666, 5418, 0, 0, 0, 0}, {60, 532, 68, 1307, 4367, 0, 0}, {204, 2668, 4896, 0, 0, 0, 0}, {48, 530, 72, 1309, 4096, 0, 0}, {546, 68, 4386, 0, 0, 0, 0}, {48, 1375, 4112, 0, 0, 0, 0}, {240, 8192, 1280, 0, 0, 0, 0}, {12, 514, 68, 1028, 4369, 0, 0}, {514, 120, 1290, 0, 0, 0, 0}, {12, 1536, 4915, 0, 0, 0, 0}, {12, 48, 68, 260, 0, 0, 0}, {2570, 8352, 21845, 0, 0, 0, 0}, {12, 48, 768, 1286, 4176, 0, 0}, {136, 520, 21879, 0, 0, 0, 0}, {520, 120, 1280, 0, 0, 0, 0}, {12, 1542, 4947, 0, 0, 0, 0}, {240, 8272, 1290, 0, 0, 0, 0}, {12, 516, 68, 1028, 4403, 0, 0}, {12, 48, 768, 1280, 4096, 0, 0}, {136, 514, 21845, 0, 0, 0, 0}, {12, 48, 68, 258, 0, 0, 0}, {2560, 8192, 22015, 0, 0, 0, 0}, {1536, 4096, 0, 0, 0, 0, 0}, {119, 257, 0, 0, 0, 0, 0}, {136, 514, 1032, 4128, 0, 0, 0}, {255, 771, 1295, 4144, 0, 0, 0}, {136, 520, 1028, 4160, 0, 0, 0}, {255, 783, 1285, 4176, 0, 0, 0}, {1542, 4192, 0, 0, 0, 0, 0}, {119, 263, 0, 0, 0, 0, 0}, {136, 520, 1032, 4104, 0, 0, 0}, {255, 771, 1285, 4207, 0, 0, 0}, {4256, 12288, 1546, 0, 0, 0, 0}, {267, 771, 119, 1028, 4403, 0, 0}, {4288, 8192, 1548, 0, 0, 0, 0}, {269, 514, 119, 1285, 4386, 0, 0}, {136, 514, 1028, 4200, 0, 0, 0}, {255, 783, 1295, 4111, 0, 0, 0}, {1632, 4112, 0, 0, 0, 0, 0}, {119, 273, 0, 0, 0, 0, 0}, {136, 546, 1096, 4144, 0, 0, 0}, {255, 819, 1375, 4128, 0, 0, 0}, {136, 552, 1092, 4176, 0, 0, 0}, {255, 831, 1365, 4160, 0, 0, 0}, {1638, 4208, 0, 0, 0, 0, 0}, {119, 279, 0, 0, 0, 0, 0}, {136, 552, 1096, 4120, 0, 0, 0}, {255, 819, 1365, 4223, 0, 0, 0}, {4272, 12336, 1642, 0, 0, 0, 0}, {283, 819, 119, 1075, 4403, 0, 0}, {4304, 8224, 1644, 0, 0, 0, 0}, {285, 546, 119, 1314, 4386, 0, 0}, {136, 546, 1092, 4216, 0, 0, 0}, {255, 831, 1375, 4127, 0, 0, 0}, {1696, 3072, 4128, 0, 0, 0, 0}, {289, 771, 342, 1036, 4369, 0, 0}, {136, 546, 1024, 4096, 0, 0, 0}, {255, 771, 1360, 4112, 0, 0, 0}, {136, 552, 1036, 4192, 0, 0, 0}, {255, 783, 1370, 4208, 0, 0, 0}, {1702, 3084, 4160, 0, 0, 0, 0}, {295, 783, 336, 1024, 4352, 0, 0}, {136, 552, 1024, 4136, 0, 0, 0}, {255, 771, 1370, 4175, 0, 0, 0}, {1706, 3072, 5674, 0, 0, 0, 0}, {299, 771, 348, 1036, 4120, 0, 0}, {1708, 3084, 5708, 0, 0, 0, 0}, {301, 783, 346, 1024, 4111, 0, 0}, {136, 546, 1036, 4168, 0, 0, 0}, {255, 783, 1360, 4143, 0, 0, 0}, {1728, 2560, 4144, 0, 0, 0, 0}, {305, 514, 326, 1290, 4369, 0, 0}, {136, 514, 1088, 4112, 0, 0, 0}, {255, 819, 1280, 4096, 0, 0, 0}, {136, 520, 1100, 4208, 0, 0, 0}, {255, 831, 1290, 4192, 0, 0, 0}, {1734, 2570, 4176, 0, 0, 0, 0}, {311, 520, 320, 1280, 4352, 0, 0}, {136, 520, 1088, 4152, 0, 0, 0}, {255, 819, 1290, 4191, 0, 0, 0}, {1738, 2570, 5722, 0, 0, 0, 0}, {315, 520, 332, 1280, 4104, 0, 0}, {1740, 2560, 5692, 0, 0, 0, 0}, {317, 514, 330, 1290, 4127, 0, 0}, {136, 514, 1100, 4184, 0, 0, 0}, {255, 831, 1280, 4159, 0, 0, 0}, {1728, 2560, 4160, 0, 0, 0, 0}, {310, 522, 321, 1285, 4369, 0, 0}, {136, 522, 1096, 4192, 0, 0, 0}, {255, 828, 1295, 4208, 0, 0, 0}, {136, 512, 1092, 4096, 0, 0, 0}, {255, 816, 1285, 4112, 0, 0, 0}, {1734, 2570, 4128, 0, 0, 0, 0}, {304, 512, 327, 1295, 4352, 0, 0}, {136, 512, 1096, 4168, 0, 0, 0}, {255, 828, 1285, 4143, 0, 0, 0}, {1738, 2570, 5674, 0, 0, 0, 0}, {316, 512, 331, 1295, 4111, 0, 0}, {1740, 2560, 5708, 0, 0, 0, 0}, {314, 522, 333, 1285, 4120, 0, 0}, {136, 522, 1092, 4136, 0, 0, 0}, {255, 816, 1295, 4175, 0, 0, 0}, {1696, 3072, 4176, 0, 0, 0, 0}, {294, 780, 337, 1028, 4369, 0, 0}, {136, 554, 1032, 4208, 0, 0, 0}, {255, 780, 1375, 4192, 0, 0, 0}, {136, 544, 1028, 4112, 0, 0, 0}, {255, 768, 1365, 4096, 0, 0, 0}, {1702, 3084, 4144, 0, 0, 0, 0}, {288, 768, 343, 1032, 4352, 0, 0}, {136, 544, 1032, 4184, 0, 0, 0}, {255, 780, 1365, 4159, 0, 0, 0}, {1706, 3072, 5722, 0, 0, 0, 0}, {300, 780, 347, 1028, 4127, 0, 0}, {1708, 3084, 5692, 0, 0, 0, 0}, {298, 768, 349, 1032, 4104, 0, 0}, {136, 554, 1028, 4152, 0, 0, 0}, {255, 768, 1375, 4191, 0, 0, 0}, {1632, 4192, 0, 0, 0, 0, 0}, {119, 278, 0, 0, 0, 0, 0}, {136, 554, 1088, 4160, 0, 0, 0}, {255, 828, 1360, 4176, 0, 0, 0}, {136, 544, 1100, 4128, 0, 0, 0}, {255, 816, 1370, 4144, 0, 0, 0}, {1638, 4096, 0, 0, 0, 0, 0}, {119, 272, 0, 0, 0, 0, 0}, {136, 544, 1088, 4200, 0, 0, 0}, {255, 828, 1370, 4111, 0, 0, 0}, {4288, 8192, 1642, 0, 0, 0, 0}, {284, 544, 119, 1319, 4403, 0, 0}, {4256, 12288, 1644, 0, 0, 0, 0}, {282, 816, 119, 1079, 4386, 0, 0}, {136, 554, 1100, 4104, 0, 0, 0}, {255, 816, 1360, 4207, 0, 0, 0}, {1536, 4208, 0, 0, 0, 0, 0}, {119, 262, 0, 0, 0, 0, 0}, {136, 522, 1024, 4176, 0, 0, 0}, {255, 780, 1280, 4160, 0, 0, 0}, {136, 512, 1036, 4144, 0, 0, 0}, {255, 768, 1290, 4128, 0, 0, 0}, {1542, 4112, 0, 0, 0, 0, 0}, {119, 256, 0, 0, 0, 0, 0}, {136, 512, 1024, 4216, 0, 0, 0}, {255, 780, 1290, 4127, 0, 0, 0}, {4304, 8224, 1546, 0, 0, 0, 0}, {268, 512, 119, 1280, 4403, 0, 0}, {4272, 12336, 1548, 0, 0, 0, 0}, {266, 768, 119, 1024, 4386, 0, 0}, {136, 522, 1036, 4120, 0, 0, 0}, {255, 768, 1280, 4223, 0, 0, 0}, {4224, 12288, 1536, 0, 0, 0, 0}, {265, 771, 119, 1285, 4369, 0, 0}, {136, 522, 1024, 4136, 0, 0, 0}, {255, 771, 1295, 4175, 0, 0, 0}, {136, 512, 1036, 4168, 0, 0, 0}, {255, 783, 1285, 4143, 0, 0, 0}, {4320, 8224, 1542, 0, 0, 0, 0}, {271, 512, 119, 1024, 4352, 0, 0}, {136, 512, 1024, 4096, 0, 0, 0}, {255, 771, 1285, 4112, 0, 0, 0}, {1546, 4128, 0, 0, 0, 0, 0}, {119, 259, 0, 0, 0, 0, 0}, {1548, 4160, 0, 0, 0, 0, 0}, {119, 261, 0, 0, 0, 0, 0}, {136, 522, 1036, 4192, 0, 0, 0}, {255, 783, 1295, 4208, 0, 0, 0}, {4240, 12336, 1632, 0, 0, 0, 0}, {281, 819, 119, 1314, 4369, 0, 0}, {136, 554, 1088, 4152, 0, 0, 0}, {255, 819, 1375, 4191, 0, 0, 0}, {136, 544, 1100, 4184, 0, 0, 0}, {255, 831, 1365, 4159, 0, 0, 0}, {4336, 8192, 1638, 0, 0, 0, 0}, {287, 544, 119, 1079, 4352, 0, 0}, {136, 544, 1088, 4112, 0, 0, 0}, {255, 819, 1365, 4096, 0, 0, 0}, {1642, 4144, 0, 0, 0, 0, 0}, {119, 275, 0, 0, 0, 0, 0}, {1644, 4176, 0, 0, 0, 0, 0}, {119, 277, 0, 0, 0, 0, 0}, {136, 554, 1100, 4208, 0, 0, 0}, {255, 831, 1375, 4192, 0, 0, 0}, {1696, 3072, 5632, 0, 0, 0, 0}, {297, 771, 350, 1028, 4369, 0, 0}, {136, 554, 1032, 4104, 0, 0, 0}, {255, 771, 1360, 4207, 0, 0, 0}, {136, 544, 1028, 4200, 0, 0, 0}, {255, 783, 1370, 4111, 0, 0, 0}, {1702, 3084, 5734, 0, 0, 0, 0}, {303, 783, 344, 1032, 4352, 0, 0}, {136, 544, 1032, 4128, 0, 0, 0}, {255, 771, 1370, 4144, 0, 0, 0}, {1706, 3072, 4096, 0, 0, 0, 0}, {291, 771, 340, 1028, 4112, 0, 0}, {1708, 3084, 4192, 0, 0, 0, 0}, {293, 783, 338, 1032, 4103, 0, 0}, {136, 554, 1028, 4160, 0, 0, 0}, {255, 783, 1360, 4176, 0, 0, 0}, {1728, 2560, 5744, 0, 0, 0, 0}, {313, 522, 334, 1290, 4369, 0, 0}, {136, 522, 1096, 4120, 0, 0, 0}, {255, 819, 1280, 4223, 0, 0, 0}, {136, 512, 1092, 4216, 0, 0, 0}, {255, 831, 1290, 4127, 0, 0, 0}, {1734, 2570, 5654, 0, 0, 0, 0}, {319, 512, 328, 1280, 4352, 0, 0}, {136, 512, 1096, 4144, 0, 0, 0}, {255, 819, 1290, 4128, 0, 0, 0}, {1738, 2570, 4112, 0, 0, 0, 0}, {307, 512, 324, 1280, 4096, 0, 0}, {1740, 2560, 4208, 0, 0, 0, 0}, {309, 522, 322, 1290, 4119, 0, 0}, {136, 522, 1092, 4176, 0, 0, 0}, {255, 831, 1280, 4160, 0, 0, 0}, {1728, 2560, 5632, 0, 0, 0, 0}, {318, 514, 329, 1285, 4369, 0, 0}, {136, 514, 1088, 4200, 0, 0, 0}, {255, 828, 1295, 4111, 0, 0, 0}, {136, 520, 1100, 4104, 0, 0, 0}, {255, 816, 1285, 4207, 0, 0, 0}, {1734, 2570, 5734, 0, 0, 0, 0}, {312, 520, 335, 1295, 4352, 0, 0}, {136, 520, 1088, 4160, 0, 0, 0}, {255, 828, 1285, 4176, 0, 0, 0}, {1738, 2570, 4192, 0, 0, 0, 0}, {308, 520, 323, 1295, 4103, 0, 0}, {1740, 2560, 4096, 0, 0, 0, 0}, {306, 514, 325, 1285, 4112, 0, 0}, {136, 514, 1100, 4128, 0, 0, 0}, {255, 816, 1295, 4144, 0, 0, 0}, {1696, 3072, 5744, 0, 0, 0, 0}, {302, 780, 345, 1036, 4369, 0, 0}, {136, 546, 1024, 4216, 0, 0, 0}, {255, 780, 1375, 4127, 0, 0, 0}, {136, 552, 1036, 4120, 0, 0, 0}, {255, 768, 1365, 4223, 0, 0, 0}, {1702, 3084, 5654, 0, 0, 0, 0}, {296, 768, 351, 1024, 4352, 0, 0}, {136, 552, 1024, 4176, 0, 0, 0}, {255, 780, 1365, 4160, 0, 0, 0}, {1706, 3072, 4208, 0, 0, 0, 0}, {292, 780, 339, 1036, 4119, 0, 0}, {1708, 3084, 4112, 0, 0, 0, 0}, {290, 768, 341, 1024, 4096, 0, 0}, {136, 546, 1036, 4144, 0, 0, 0}, {255, 768, 1375, 4128, 0, 0, 0}, {4320, 8224, 1632, 0, 0, 0, 0}, {286, 546, 119, 1075, 4369, 0, 0}, {136, 546, 1096, 4168, 0, 0, 0}, {255, 828, 1360, 4143, 0, 0, 0}, {136, 552, 1092, 4136, 0, 0, 0}, {255, 816, 1370, 4175, 0, 0, 0}, {4224, 12288, 1638, 0, 0, 0, 0}, {280, 816, 119, 1319, 4352, 0, 0}, {136, 552, 1096, 4192, 0, 0, 0}, {255, 828, 1370, 4208, 0, 0, 0}, {1642, 4160, 0, 0, 0, 0, 0}, {119, 276, 0, 0, 0, 0, 0}, {1644, 4128, 0, 0, 0, 0, 0}, {119, 274, 0, 0, 0, 0, 0}, {136, 546, 1092, 4096, 0, 0, 0}, {255, 816, 1360, 4112, 0, 0, 0}, {4336, 8192, 1536, 0, 0, 0, 0}, {270, 514, 119, 1028, 4369, 0, 0}, {136, 514, 1032, 4184, 0, 0, 0}, {255, 780, 1280, 4159, 0, 0, 0}, {136, 520, 1028, 4152, 0, 0, 0}, {255, 768, 1290, 4191, 0, 0, 0}, {4240, 12336, 1542, 0, 0, 0, 0}, {264, 768, 119, 1280, 4352, 0, 0}, {136, 520, 1032, 4208, 0, 0, 0}, {255, 780, 1290, 4192, 0, 0, 0}, {1546, 4176, 0, 0, 0, 0, 0}, {119, 260, 0, 0, 0, 0, 0}, {1548, 4144, 0, 0, 0, 0, 0}, {119, 258, 0, 0, 0, 0, 0}, {136, 514, 1028, 4112, 0, 0, 0}, {255, 768, 1280, 4096, 0, 0, 0}, {30464, 0, 0, 0, 0, 0, 0}, {6, 16, 257, 0, 0, 0, 0}, {10, 32, 514, 21760, 0, 0, 0}, {12, 48, 771, 17408, 0, 0, 0}, {12, 13056, 64, 1028, 0, 0, 0}, {10, 8704, 80, 1285, 0, 0, 0}, {6, 4352, 0, 0, 0, 0, 0}, {112, 1799, 0, 0, 0, 0, 0}, {128, 2056, 30472, 0, 0, 0, 0}, {48, 771, 6, 4355, 0, 0, 0}, {10, 8704, 21760, 0, 0, 0, 0}, {12, 48, 771, 64, 1028, 0, 0}, {12, 13056, 17408, 0, 0, 0, 0}, {10, 32, 514, 80, 1285, 0, 0}, {32, 514, 6, 4354, 0, 0, 0}, {240, 3855, 30479, 0, 0, 0, 0}, {1792, 16, 0, 0, 0, 0, 0}, {102, 4369, 0, 0, 0, 0, 0}, {3840, 48, 90, 4626, 0, 0, 0}, {2048, 32, 76, 4883, 0, 0, 0}, {3840, 60, 80, 5140, 0, 0, 0}, {2048, 42, 64, 5397, 0, 0, 0}, {1792, 22, 0, 0, 0, 0, 0}, {96, 5911, 0, 0, 0, 0, 0}, {3840, 48, 80, 5912, 0, 0, 0}, {2048, 42, 76, 4377, 0, 0, 0}, {26, 48, 64, 1792, 4608, 0, 0}, {6939, 13107, 108, 0, 0, 0, 0}, {28, 32, 80, 1792, 4864, 0, 0}, {7453, 8738, 106, 0, 0, 0, 0}, {3840, 60, 90, 4382, 0, 0, 0}, {2048, 32, 64, 5919, 0, 0, 0}, {2048, 32, 22272, 0, 0, 0, 0}, {12, 48, 771, 86, 4369, 0, 0}, {170, 8738, 21760, 0, 0, 0, 0}, {12, 771, 1024, 16, 0, 0, 0}, {12, 96, 5924, 0, 0, 0, 0}, {42, 90, 1807, 0, 0, 0, 0}, {12, 38, 64, 1024, 4352, 0, 0}, {3855, 10023, 80, 0, 0, 0, 0}, {160, 10280, 24320, 0, 0, 0, 0}, {12, 771, 1024, 22, 0, 0, 0}, {2048, 42, 21760, 0, 0, 0, 0}, {12, 48, 771, 80, 5140, 0, 0}, {12, 32, 64, 1024, 4864, 0, 0}, {3855, 8738, 90, 0, 0, 0, 0}, {12, 102, 4386, 0, 0, 0, 0}, {32, 80, 1807, 0, 0, 0, 0}, {3840, 48, 18176, 0, 0, 0, 0}, {10, 32, 514, 70, 4369, 0, 0}, {10, 514, 1280, 16, 0, 0, 0}, {204, 13107, 17408, 0, 0, 0, 0}, {60, 76, 1800, 0, 0, 0, 0}, {10, 96, 5941, 0, 0, 0, 0}, {10, 54, 80, 1280, 4352, 0, 0}, {2056, 14135, 64, 0, 0, 0, 0}, {48, 64, 1800, 0, 0, 0, 0}, {10, 102, 4403, 0, 0, 0, 0}, {10, 48, 80, 1280, 4608, 0, 0}, {2056, 13107, 76, 0, 0, 0, 0}, {3840, 60, 17408, 0, 0, 0, 0}, {10, 32, 514, 64, 5397, 0, 0}, {10, 514, 1280, 22, 0, 0, 0}, {192, 16191, 18432, 0, 0, 0, 0}, {2048, 14080, 64, 0, 0, 0, 0}, {10, 54, 80, 1285, 4369, 0, 0}, {10, 96, 5922, 0, 0, 0, 0}, {60, 76, 1807, 0, 0, 0, 0}, {204, 13056, 17476, 0, 0, 0, 0}, {10, 512, 1285, 16, 0, 0, 0}, {10, 32, 512, 70, 4352, 0, 0}, {3855, 48, 18247, 0, 0, 0, 0}, {192, 16128, 18504, 0, 0, 0, 0}, {10, 512, 1285, 22, 0, 0, 0}, {10, 32, 512, 64, 5376, 0, 0}, {3855, 60, 17476, 0, 0, 0, 0}, {2048, 13056, 76, 0, 0, 0, 0}, {10, 48, 80, 1285, 4626, 0, 0}, {10, 102, 4386, 0, 0, 0, 0}, {48, 64, 1807, 0, 0, 0, 0}, {3840, 9984, 80, 0, 0, 0, 0}, {12, 38, 64, 1028, 4369, 0, 0}, {42, 90, 1800, 0, 0, 0, 0}, {12, 96, 5939, 0, 0, 0, 0}, {12, 768, 1028, 16, 0, 0, 0}, {170, 8704, 21845, 0, 0, 0, 0}, {12, 48, 768, 86, 4352, 0, 0}, {2056, 32, 22359, 0, 0, 0, 0}, {32, 80, 1800, 0, 0, 0, 0}, {12, 102, 4403, 0, 0, 0, 0}, {3840, 8704, 90, 0, 0, 0, 0}, {12, 32, 64, 1028, 4883, 0, 0}, {12, 48, 768, 80, 5120, 0, 0}, {2056, 42, 21845, 0, 0, 0, 0}, {12, 768, 1028, 22, 0, 0, 0}, {160, 10240, 24415, 0, 0, 0, 0}, {96, 5888, 0, 0, 0, 0, 0}, {1799, 22, 0, 0, 0, 0, 0}, {2056, 42, 64, 5376, 0, 0, 0}, {3855, 60, 80, 5120, 0, 0, 0}, {2056, 32, 76, 4864, 0, 0, 0}, {3855, 48, 90, 4608, 0, 0, 0}, {102, 4352, 0, 0, 0, 0, 0}, {1799, 16, 0, 0, 0, 0, 0}, {2056, 32, 64, 5896, 0, 0, 0}, {3855, 60, 90, 4367, 0, 0, 0}, {7424, 8704, 106, 0, 0, 0, 0}, {28, 32, 80, 1799, 4883, 0, 0}, {6912, 13056, 108, 0, 0, 0, 0}, {26, 48, 64, 1799, 4626, 0, 0}, {2056, 42, 76, 4360, 0, 0, 0}, {3855, 48, 80, 5903, 0, 0, 0}, {112, 1792, 0, 0, 0, 0, 0}, {6, 4369, 0, 0, 0, 0, 0}, {10, 8738, 80, 1280, 0, 0, 0}, {12, 13107, 64, 1024, 0, 0, 0}, {12, 48, 768, 17476, 0, 0, 0}, {10, 32, 512, 21845, 0, 0, 0}, {6, 16, 256, 0, 0, 0, 0}, {30583, 0, 0, 0, 0, 0, 0}, {240, 3840, 30584, 0, 0, 0, 0}, {32, 512, 6, 4371, 0, 0, 0}, {10, 32, 512, 80, 1280, 0, 0}, {12, 13107, 17476, 0, 0, 0, 0}, {12, 48, 768, 64, 1024, 0, 0}, {10, 8738, 21845, 0, 0, 0, 0}, {48, 768, 6, 4370, 0, 0, 0}, {128, 2048, 30591, 0, 0, 0, 0}, {128, 2048, 30464, 0, 0, 0, 0}, {48, 771, 6, 4369, 0, 0, 0}, {10, 8738, 21760, 0, 0, 0, 0}, {12, 48, 771, 64, 1024, 0, 0}, {12, 13056, 17476, 0, 0, 0, 0}, {10, 32, 512, 80, 1285, 0, 0}, {32, 512, 6, 4352, 0, 0, 0}, {240, 3855, 30583, 0, 0, 0, 0}, {30600, 0, 0, 0, 0, 0, 0}, {6, 16, 259, 0, 0, 0, 0}, {10, 32, 512, 21760, 0, 0, 0}, {12, 48, 771, 17476, 0, 0, 0}, {12, 13056, 64, 1024, 0, 0, 0}, {10, 8738, 80, 1285, 0, 0, 0}, {6, 4386, 0, 0, 0, 0, 0}, {112, 1807, 0, 0, 0, 0, 0}, {3840, 48, 80, 5888, 0, 0, 0}, {2056, 42, 76, 4369, 0, 0, 0}, {26, 48, 64, 1810, 4626, 0, 0}, {6963, 13107, 108, 0, 0, 0, 0}, {28, 32, 80, 1812, 4864, 0, 0}, {7487, 8704, 106, 0, 0, 0, 0}, {3840, 60, 90, 4352, 0, 0, 0}, {2056, 32, 64, 5911, 0, 0, 0}, {1800, 16, 0, 0, 0, 0, 0}, {102, 4403, 0, 0, 0, 0, 0}, {3840, 48, 90, 4608, 0, 0, 0}, {2056, 32, 76, 4883, 0, 0, 0}, {3840, 60, 80, 5120, 0, 0, 0}, {2056, 42, 64, 5397, 0, 0, 0}, {1800, 22, 0, 0, 0, 0, 0}, {96, 5951, 0, 0, 0, 0, 0}, {160, 10240, 24320, 0, 0, 0, 0}, {12, 771, 1028, 22, 0, 0, 0}, {2056, 42, 21760, 0, 0, 0, 0}, {12, 48, 771, 80, 5120, 0, 0}, {12, 32, 64, 1028, 4864, 0, 0}, {3855, 8704, 90, 0, 0, 0, 0}, {12, 102, 4352, 0, 0, 0, 0}, {32, 80, 1799, 0, 0, 0, 0}, {2056, 32, 22280, 0, 0, 0, 0}, {12, 48, 771, 86, 4355, 0, 0}, {170, 8704, 21760, 0, 0, 0, 0}, {12, 771, 1028, 16, 0, 0, 0}, {12, 96, 5888, 0, 0, 0, 0}, {42, 90, 1799, 0, 0, 0, 0}, {12, 38, 64, 1028, 4356, 0, 0}, {3855, 9999, 80, 0, 0, 0, 0}, {48, 64, 1792, 0, 0, 0, 0}, {10, 102, 4369, 0, 0, 0, 0}, {10, 48, 80, 1280, 4626, 0, 0}, {2048, 13107, 76, 0, 0, 0, 0}, {3840, 60, 17476, 0, 0, 0, 0}, {10, 32, 512, 64, 5397, 0, 0}, {10, 512, 1280, 22, 0, 0, 0}, {192, 16191, 18504, 0, 0, 0, 0}, {3840, 48, 18248, 0, 0, 0, 0}, {10, 32, 512, 70, 4371, 0, 0}, {10, 512, 1280, 16, 0, 0, 0}, {204, 13107, 17476, 0, 0, 0, 0}, {60, 76, 1792, 0, 0, 0, 0}, {10, 96, 5911, 0, 0, 0, 0}, {10, 54, 80, 1280, 4372, 0, 0}, {2048, 14143, 64, 0, 0, 0, 0}, {192, 16128, 18432, 0, 0, 0, 0}, {10, 514, 1285, 22, 0, 0, 0}, {10, 32, 514, 64, 5376, 0, 0}, {3855, 60, 17408, 0, 0, 0, 0}, {2056, 13056, 76, 0, 0, 0, 0}, {10, 48, 80, 1285, 4608, 0, 0}, {10, 102, 4352, 0, 0, 0, 0}, {48, 64, 1799, 0, 0, 0, 0}, {2056, 14088, 64, 0, 0, 0, 0}, {10, 54, 80, 1285, 4357, 0, 0}, {10, 96, 5888, 0, 0, 0, 0}, {60, 76, 1799, 0, 0, 0, 0}, {204, 13056, 17408, 0, 0, 0, 0}, {10, 514, 1285, 16, 0, 0, 0}, {10, 32, 514, 70, 4354, 0, 0}, {3855, 48, 18191, 0, 0, 0, 0}, {32, 80, 1792, 0, 0, 0, 0}, {12, 102, 4369, 0, 0, 0, 0}, {3840, 8738, 90, 0, 0, 0, 0}, {12, 32, 64, 1024, 4883, 0, 0}, {12, 48, 768, 80, 5140, 0, 0}, {2048, 42, 21845, 0, 0, 0, 0}, {12, 768, 1024, 22, 0, 0, 0}, {160, 10280, 24415, 0, 0, 0, 0}, {3840, 10024, 80, 0, 0, 0, 0}, {12, 38, 64, 1024, 4373, 0, 0}, {42, 90, 1792, 0, 0, 0, 0}, {12, 96, 5911, 0, 0, 0, 0}, {12, 768, 1024, 16, 0, 0, 0}, {170, 8738, 21845, 0, 0, 0, 0}, {12, 48, 768, 86, 4370, 0, 0}, {2048, 32, 22367, 0, 0, 0, 0}, {2048, 32, 64, 5888, 0, 0, 0}, {3855, 60, 90, 4369, 0, 0, 0}, {7458, 8738, 106, 0, 0, 0, 0}, {28, 32, 80, 1811, 4883, 0, 0}, {6952, 13056, 108, 0, 0, 0, 0}, {26, 48, 64, 1813, 4608, 0, 0}, {2048, 42, 76, 4352, 0, 0, 0}, {3855, 48, 80, 5911, 0, 0, 0}, {96, 5928, 0, 0, 0, 0, 0}, {1807, 22, 0, 0, 0, 0, 0}, {2048, 42, 64, 5376, 0, 0, 0}, {3855, 60, 80, 5140, 0, 0, 0}, {2048, 32, 76, 4864, 0, 0, 0}, {3855, 48, 90, 4626, 0, 0, 0}, {102, 4386, 0, 0, 0, 0, 0}, {1807, 16, 0, 0, 0, 0, 0}, {240, 3840, 30464, 0, 0, 0, 0}, {32, 514, 6, 4369, 0, 0, 0}, {10, 32, 514, 80, 1280, 0, 0}, {12, 13107, 17408, 0, 0, 0, 0}, {12, 48, 768, 64, 1028, 0, 0}, {10, 8704, 21845, 0, 0, 0, 0}, {48, 768, 6, 4352, 0, 0, 0}, {128, 2056, 30583, 0, 0, 0, 0}, {112, 1800, 0, 0, 0, 0, 0}, {6, 4403, 0, 0, 0, 0, 0}, {10, 8704, 80, 1280, 0, 0, 0}, {12, 13107, 64, 1028, 0, 0, 0}, {12, 48, 768, 17408, 0, 0, 0}, {10, 32, 514, 21845, 0, 0, 0}, {6, 16, 258, 0, 0, 0, 0}, {30719, 0, 0, 0, 0, 0, 0}, {30720, 0, 0, 0, 0, 0, 0}, {6, 19, 257, 0, 0, 0, 0}, {10, 32, 514, 20480, 0, 0, 0}, {12, 51, 771, 17408, 0, 0, 0}, {12, 12288, 64, 1028, 0, 0, 0}, {10, 8704, 85, 1285, 0, 0, 0}, {6, 4608, 0, 0, 0, 0, 0}, {127, 1799, 0, 0, 0, 0, 0}, {128, 2056, 28672, 0, 0, 0, 0}, {51, 771, 6, 4352, 0, 0, 0}, {10, 8704, 20480, 0, 0, 0, 0}, {12, 51, 771, 64, 1028, 0, 0}, {12, 12288, 17408, 0, 0, 0, 0}, {10, 32, 514, 85, 1285, 0, 0}, {32, 514, 6, 4096, 0, 0, 0}, {255, 3855, 30464, 0, 0, 0, 0}, {2048, 32, 64, 4112, 0, 0, 0}, {3840, 51, 85, 4369, 0, 0, 0}, {106, 4626, 0, 0, 0, 0, 0}, {1792, 19, 0, 0, 0, 0, 0}, {108, 5140, 0, 0, 0, 0, 0}, {1792, 21, 0, 0, 0, 0, 0}, {2048, 42, 76, 5654, 0, 0, 0}, {3840, 63, 95, 5911, 0, 0, 0}, {6168, 12336, 96, 0, 0, 0, 0}, {25, 51, 85, 1792, 4352, 0, 0}, {2048, 42, 64, 4634, 0, 0, 0}, {3840, 51, 95, 5147, 0, 0, 0}, {2048, 32, 76, 5148, 0, 0, 0}, {3840, 63, 85, 4637, 0, 0, 0}, {7710, 8738, 102, 0, 0, 0, 0}, {31, 32, 64, 1792, 4096, 0, 0}, {2048, 32, 20480, 0, 0, 0, 0}, {12, 51, 771, 85, 4369, 0, 0}, {170, 8738, 23040, 0, 0, 0, 0}, {12, 771, 1024, 19, 0, 0, 0}, {12, 96, 5156, 0, 0, 0, 0}, {42, 85, 1807, 0, 0, 0, 0}, {12, 38, 64, 1024, 4608, 0, 0}, {3855, 10023, 95, 0, 0, 0, 0}, {160, 10280, 20480, 0, 0, 0, 0}, {12, 771, 1024, 21, 0, 0, 0}, {2048, 42, 20992, 0, 0, 0, 0}, {12, 51, 771, 83, 5140, 0, 0}, {12, 32, 64, 1024, 4096, 0, 0}, {3855, 8738, 85, 0, 0, 0, 0}, {12, 102, 4642, 0, 0, 0, 0}, {32, 95, 1807, 0, 0, 0, 0}, {192, 12336, 18432, 0, 0, 0, 0}, {10, 514, 1280, 19, 0, 0, 0}, {10, 32, 514, 64, 4112, 0, 0}, {3840, 51, 17408, 0, 0, 0, 0}, {2056, 13364, 76, 0, 0, 0, 0}, {10, 53, 85, 1280, 4608, 0, 0}, {10, 102, 5174, 0, 0, 0, 0}, {63, 64, 1800, 0, 0, 0, 0}, {2056, 12336, 64, 0, 0, 0, 0}, {10, 51, 85, 1280, 4352, 0, 0}, {10, 96, 4656, 0, 0, 0, 0}, {51, 76, 1800, 0, 0, 0, 0}, {204, 15420, 17408, 0, 0, 0, 0}, {10, 514, 1280, 21, 0, 0, 0}, {10, 32, 514, 70, 5140, 0, 0}, {3840, 63, 18176, 0, 0, 0, 0}, {2048, 12288, 64, 0, 0, 0, 0}, {10, 51, 85, 1285, 4369, 0, 0}, {10, 96, 4642, 0, 0, 0, 0}, {51, 76, 1807, 0, 0, 0, 0}, {204, 15360, 17476, 0, 0, 0, 0}, {10, 512, 1285, 21, 0, 0, 0}, {10, 32, 512, 70, 5120, 0, 0}, {3855, 63, 18247, 0, 0, 0, 0}, {192, 12288, 18504, 0, 0, 0, 0}, {10, 512, 1285, 19, 0, 0, 0}, {10, 32, 512, 64, 4096, 0, 0}, {3855, 51, 17476, 0, 0, 0, 0}, {2048, 13312, 76, 0, 0, 0, 0}, {10, 53, 85, 1285, 4626, 0, 0}, {10, 102, 5154, 0, 0, 0, 0}, {63, 64, 1807, 0, 0, 0, 0}, {160, 10240, 20560, 0, 0, 0, 0}, {12, 768, 1028, 21, 0, 0, 0}, {2056, 42, 21074, 0, 0, 0, 0}, {12, 51, 768, 83, 5120, 0, 0}, {12, 32, 64, 1028, 4112, 0, 0}, {3840, 8704, 85, 0, 0, 0, 0}, {12, 102, 4656, 0, 0, 0, 0}, {32, 95, 1800, 0, 0, 0, 0}, {2056, 32, 20560, 0, 0, 0, 0}, {12, 51, 768, 85, 4352, 0, 0}, {170, 8704, 23130, 0, 0, 0, 0}, {12, 768, 1028, 19, 0, 0, 0}, {12, 96, 5168, 0, 0, 0, 0}, {42, 85, 1800, 0, 0, 0, 0}, {12, 38, 64, 1028, 4626, 0, 0}, {3840, 9984, 95, 0, 0, 0, 0}, {6144, 12288, 96, 0, 0, 0, 0}, {25, 51, 85, 1799, 4369, 0, 0}, {2056, 42, 64, 4616, 0, 0, 0}, {3855, 51, 95, 5135, 0, 0, 0}, {2056, 32, 76, 5128, 0, 0, 0}, {3855, 63, 85, 4623, 0, 0, 0}, {7680, 8704, 102, 0, 0, 0, 0}, {31, 32, 64, 1799, 4112, 0, 0}, {2056, 32, 64, 4096, 0, 0, 0}, {3855, 51, 85, 4352, 0, 0, 0}, {106, 4608, 0, 0, 0, 0, 0}, {1799, 19, 0, 0, 0, 0, 0}, {108, 5120, 0, 0, 0, 0, 0}, {1799, 21, 0, 0, 0, 0, 0}, {2056, 42, 76, 5632, 0, 0, 0}, {3855, 63, 95, 5888, 0, 0, 0}, {128, 2048, 28784, 0, 0, 0, 0}, {51, 768, 6, 4369, 0, 0, 0}, {10, 8738, 20560, 0, 0, 0, 0}, {12, 51, 768, 64, 1024, 0, 0}, {12, 12336, 17476, 0, 0, 0, 0}, {10, 32, 512, 85, 1280, 0, 0}, {32, 512, 6, 4112, 0, 0, 0}, {255, 3840, 30583, 0, 0, 0, 0}, {30840, 0, 0, 0, 0, 0, 0}, {6, 19, 256, 0, 0, 0, 0}, {10, 32, 512, 20560, 0, 0, 0}, {12, 51, 768, 17476, 0, 0, 0}, {12, 12336, 64, 1024, 0, 0, 0}, {10, 8738, 85, 1280, 0, 0, 0}, {6, 4626, 0, 0, 0, 0, 0}, {127, 1792, 0, 0, 0, 0, 0}, {128, 2048, 28672, 0, 0, 0, 0}, {51, 771, 6, 4369, 0, 0, 0}, {10, 8738, 20480, 0, 0, 0, 0}, {12, 51, 771, 64, 1024, 0, 0}, {12, 12288, 17476, 0, 0, 0, 0}, {10, 32, 512, 85, 1285, 0, 0}, {32, 512, 6, 4096, 0, 0, 0}, {255, 3855, 30583, 0, 0, 0, 0}, {30856, 0, 0, 0, 0, 0, 0}, {6, 19, 259, 0, 0, 0, 0}, {10, 32, 512, 20480, 0, 0, 0}, {12, 51, 771, 17476, 0, 0, 0}, {12, 12288, 64, 1024, 0, 0, 0}, {10, 8738, 85, 1285, 0, 0, 0}, {6, 4642, 0, 0, 0, 0, 0}, {127, 1807, 0, 0, 0, 0, 0}, {6192, 12336, 96, 0, 0, 0, 0}, {25, 51, 85, 1809, 4369, 0, 0}, {2056, 42, 64, 4626, 0, 0, 0}, {3840, 51, 95, 5120, 0, 0, 0}, {2056, 32, 76, 5140, 0, 0, 0}, {3840, 63, 85, 4608, 0, 0, 0}, {7740, 8704, 102, 0, 0, 0, 0}, {31, 32, 64, 1815, 4096, 0, 0}, {2056, 32, 64, 4112, 0, 0, 0}, {3840, 51, 85, 4352, 0, 0, 0}, {106, 4656, 0, 0, 0, 0, 0}, {1800, 19, 0, 0, 0, 0, 0}, {108, 5180, 0, 0, 0, 0, 0}, {1800, 21, 0, 0, 0, 0, 0}, {2056, 42, 76, 5654, 0, 0, 0}, {3840, 63, 95, 5888, 0, 0, 0}, {160, 10240, 20480, 0, 0, 0, 0}, {12, 771, 1028, 21, 0, 0, 0}, {2056, 42, 21000, 0, 0, 0, 0}, {12, 51, 771, 83, 5123, 0, 0}, {12, 32, 64, 1028, 4096, 0, 0}, {3855, 8704, 85, 0, 0, 0, 0}, {12, 102, 4608, 0, 0, 0, 0}, {32, 95, 1799, 0, 0, 0, 0}, {2056, 32, 20480, 0, 0, 0, 0}, {12, 51, 771, 85, 4352, 0, 0}, {170, 8704, 23040, 0, 0, 0, 0}, {12, 771, 1028, 19, 0, 0, 0}, {12, 96, 5120, 0, 0, 0, 0}, {42, 85, 1799, 0, 0, 0, 0}, {12, 38, 64, 1028, 4612, 0, 0}, {3855, 9999, 95, 0, 0, 0, 0}, {2048, 12336, 64, 0, 0, 0, 0}, {10, 51, 85, 1280, 4369, 0, 0}, {10, 96, 4626, 0, 0, 0, 0}, {51, 76, 1792, 0, 0, 0, 0}, {204, 15420, 17476, 0, 0, 0, 0}, {10, 512, 1280, 21, 0, 0, 0}, {10, 32, 512, 70, 5142, 0, 0}, {3840, 63, 18248, 0, 0, 0, 0}, {192, 12336, 18504, 0, 0, 0, 0}, {10, 512, 1280, 19, 0, 0, 0}, {10, 32, 512, 64, 4112, 0, 0}, {3840, 51, 17476, 0, 0, 0, 0}, {2048, 13372, 76, 0, 0, 0, 0}, {10, 53, 85, 1280, 4631, 0, 0}, {10, 102, 5140, 0, 0, 0, 0}, {63, 64, 1792, 0, 0, 0, 0}, {192, 12288, 18432, 0, 0, 0, 0}, {10, 514, 1285, 19, 0, 0, 0}, {10, 32, 514, 64, 4096, 0, 0}, {3855, 51, 17408, 0, 0, 0, 0}, {2056, 13320, 76, 0, 0, 0, 0}, {10, 53, 85, 1285, 4613, 0, 0}, {10, 102, 5120, 0, 0, 0, 0}, {63, 64, 1799, 0, 0, 0, 0}, {2056, 12288, 64, 0, 0, 0, 0}, {10, 51, 85, 1285, 4352, 0, 0}, {10, 96, 4608, 0, 0, 0, 0}, {51, 76, 1799, 0, 0, 0, 0}, {204, 15360, 17408, 0, 0, 0, 0}, {10, 514, 1285, 21, 0, 0, 0}, {10, 32, 514, 70, 5122, 0, 0}, {3855, 63, 18191, 0, 0, 0, 0}, {2048, 32, 20560, 0, 0, 0, 0}, {12, 51, 768, 85, 4369, 0, 0}, {170, 8738, 23130, 0, 0, 0, 0}, {12, 768, 1024, 19, 0, 0, 0}, {12, 96, 5140, 0, 0, 0, 0}, {42, 85, 1792, 0, 0, 0, 0}, {12, 38, 64, 1024, 4630, 0, 0}, {3840, 10024, 95, 0, 0, 0, 0}, {160, 10280, 20560, 0, 0, 0, 0}, {12, 768, 1024, 21, 0, 0, 0}, {2048, 42, 21082, 0, 0, 0, 0}, {12, 51, 768, 83, 5143, 0, 0}, {12, 32, 64, 1024, 4112, 0, 0}, {3840, 8738, 85, 0, 0, 0, 0}, {12, 102, 4626, 0, 0, 0, 0}, {32, 95, 1792, 0, 0, 0, 0}, {2048, 32, 64, 4096, 0, 0, 0}, {3855, 51, 85, 4369, 0, 0, 0}, {106, 4642, 0, 0, 0, 0, 0}, {1807, 19, 0, 0, 0, 0, 0}, {108, 5160, 0, 0, 0, 0, 0}, {1807, 21, 0, 0, 0, 0, 0}, {2048, 42, 76, 5632, 0, 0, 0}, {3855, 63, 95, 5911, 0, 0, 0}, {6184, 12288, 96, 0, 0, 0, 0}, {25, 51, 85, 1814, 4352, 0, 0}, {2048, 42, 64, 4608, 0, 0, 0}, {3855, 51, 95, 5140, 0, 0, 0}, {2048, 32, 76, 5120, 0, 0, 0}, {3855, 63, 85, 4626, 0, 0, 0}, {7714, 8738, 102, 0, 0, 0, 0}, {31, 32, 64, 1808, 4112, 0, 0}, {30960, 0, 0, 0, 0, 0, 0}, {6, 19, 258, 0, 0, 0, 0}, {10, 32, 514, 20560, 0, 0, 0}, {12, 51, 768, 17408, 0, 0, 0}, {12, 12336, 64, 1028, 0, 0, 0}, {10, 8704, 85, 1280, 0, 0, 0}, {6, 4656, 0, 0, 0, 0, 0}, {127, 1800, 0, 0, 0, 0, 0}, {128, 2056, 28784, 0, 0, 0, 0}, {51, 768, 6, 4352, 0, 0, 0}, {10, 8704, 20560, 0, 0, 0, 0}, {12, 51, 768, 64, 1028, 0, 0}, {12, 12336, 17408, 0, 0, 0, 0}, {10, 32, 514, 85, 1280, 0, 0}, {32, 514, 6, 4112, 0, 0, 0}, {255, 3840, 30464, 0, 0, 0, 0}, {1536, 4864, 0, 0, 0, 0, 0}, {120, 257, 0, 0, 0, 0, 0}, {136, 514, 1032, 4386, 0, 0, 0}, {240, 771, 1295, 4144, 0, 0, 0}, {136, 520, 1028, 4420, 0, 0, 0}, {240, 783, 1285, 4176, 0, 0, 0}, {1542, 4972, 0, 0, 0, 0, 0}, {120, 263, 0, 0, 0, 0, 0}, {136, 520, 1032, 4352, 0, 0, 0}, {240, 771, 1285, 4192, 0, 0, 0}, {5024, 13056, 1546, 0, 0, 0, 0}, {267, 771, 371, 1028, 4403, 0, 0}, {5068, 8192, 1548, 0, 0, 0, 0}, {269, 514, 373, 1285, 4128, 0, 0}, {136, 514, 1028, 4454, 0, 0, 0}, {240, 783, 1295, 4096, 0, 0, 0}, {240, 816, 1360, 4112, 0, 0, 0}, {136, 546, 1092, 4369, 0, 0, 0}, {120, 274, 0, 0, 0, 0, 0}, {1644, 4883, 0, 0, 0, 0, 0}, {120, 276, 0, 0, 0, 0, 0}, {1642, 4991, 0, 0, 0, 0, 0}, {240, 828, 1370, 4208, 0, 0, 0}, {136, 552, 1096, 4471, 0, 0, 0}, {280, 816, 352, 1072, 4352, 0, 0}, {5043, 13107, 1638, 0, 0, 0, 0}, {240, 816, 1370, 4160, 0, 0, 0}, {136, 552, 1092, 4403, 0, 0, 0}, {240, 828, 1360, 4128, 0, 0, 0}, {136, 546, 1096, 4437, 0, 0, 0}, {286, 546, 358, 1314, 4096, 0, 0}, {5087, 8224, 1632, 0, 0, 0, 0}, {1696, 3072, 4896, 0, 0, 0, 0}, {289, 771, 345, 1036, 4369, 0, 0}, {136, 546, 1024, 4386, 0, 0, 0}, {240, 771, 1375, 4112, 0, 0, 0}, {136, 552, 1036, 4420, 0, 0, 0}, {240, 783, 1365, 4208, 0, 0, 0}, {1702, 3084, 4940, 0, 0, 0, 0}, {295, 783, 351, 1024, 4367, 0, 0}, {136, 552, 1024, 4352, 0, 0, 0}, {240, 771, 1365, 4160, 0, 0, 0}, {1706, 3072, 5418, 0, 0, 0, 0}, {299, 771, 339, 1036, 4120, 0, 0}, {1708, 3084, 5440, 0, 0, 0, 0}, {301, 783, 341, 1024, 4096, 0, 0}, {136, 546, 1036, 4454, 0, 0, 0}, {240, 783, 1375, 4128, 0, 0, 0}, {240, 816, 1280, 4144, 0, 0, 0}, {136, 514, 1100, 4369, 0, 0, 0}, {306, 514, 330, 1290, 4112, 0, 0}, {1740, 2560, 4915, 0, 0, 0, 0}, {308, 520, 332, 1280, 4104, 0, 0}, {1738, 2570, 4959, 0, 0, 0, 0}, {240, 828, 1290, 4176, 0, 0, 0}, {136, 520, 1088, 4471, 0, 0, 0}, {312, 520, 320, 1280, 4352, 0, 0}, {1734, 2570, 5461, 0, 0, 0, 0}, {240, 816, 1290, 4192, 0, 0, 0}, {136, 520, 1100, 4403, 0, 0, 0}, {240, 828, 1280, 4096, 0, 0, 0}, {136, 514, 1088, 4437, 0, 0, 0}, {318, 514, 326, 1290, 4382, 0, 0}, {1728, 2560, 5439, 0, 0, 0, 0}, {1728, 2560, 5440, 0, 0, 0, 0}, {313, 522, 321, 1285, 4369, 0, 0}, {136, 522, 1096, 4386, 0, 0, 0}, {240, 819, 1295, 4208, 0, 0, 0}, {136, 512, 1092, 4420, 0, 0, 0}, {240, 831, 1285, 4112, 0, 0, 0}, {1734, 2570, 5418, 0, 0, 0, 0}, {319, 512, 327, 1295, 4367, 0, 0}, {136, 512, 1096, 4352, 0, 0, 0}, {240, 819, 1285, 4128, 0, 0, 0}, {1738, 2570, 4896, 0, 0, 0, 0}, {307, 512, 331, 1295, 4096, 0, 0}, {1740, 2560, 4940, 0, 0, 0, 0}, {309, 522, 333, 1285, 4120, 0, 0}, {136, 522, 1092, 4454, 0, 0, 0}, {240, 831, 1295, 4160, 0, 0, 0}, {240, 768, 1360, 4176, 0, 0, 0}, {136, 554, 1028, 4369, 0, 0, 0}, {298, 768, 338, 1032, 4104, 0, 0}, {1708, 3084, 5439, 0, 0, 0, 0}, {300, 780, 340, 1028, 4112, 0, 0}, {1706, 3072, 5461, 0, 0, 0, 0}, {240, 780, 1370, 4144, 0, 0, 0}, {136, 544, 1032, 4471, 0, 0, 0}, {288, 768, 344, 1032, 4352, 0, 0}, {1702, 3084, 4915, 0, 0, 0, 0}, {240, 768, 1370, 4096, 0, 0, 0}, {136, 544, 1028, 4403, 0, 0, 0}, {240, 780, 1360, 4192, 0, 0, 0}, {136, 554, 1032, 4437, 0, 0, 0}, {294, 780, 350, 1028, 4382, 0, 0}, {1696, 3072, 4959, 0, 0, 0, 0}, {5024, 13056, 1632, 0, 0, 0, 0}, {281, 819, 353, 1076, 4369, 0, 0}, {136, 554, 1088, 4386, 0, 0, 0}, {240, 819, 1375, 4176, 0, 0, 0}, {136, 544, 1100, 4420, 0, 0, 0}, {240, 831, 1365, 4144, 0, 0, 0}, {5068, 8192, 1638, 0, 0, 0, 0}, {287, 544, 359, 1319, 4112, 0, 0}, {136, 544, 1088, 4352, 0, 0, 0}, {240, 819, 1365, 4096, 0, 0, 0}, {1642, 4864, 0, 0, 0, 0, 0}, {120, 275, 0, 0, 0, 0, 0}, {1644, 4972, 0, 0, 0, 0, 0}, {120, 277, 0, 0, 0, 0, 0}, {136, 554, 1100, 4454, 0, 0, 0}, {240, 831, 1375, 4192, 0, 0, 0}, {240, 768, 1280, 4208, 0, 0, 0}, {136, 522, 1036, 4369, 0, 0, 0}, {266, 768, 370, 1024, 4386, 0, 0}, {5043, 13107, 1548, 0, 0, 0, 0}, {268, 512, 372, 1280, 4144, 0, 0}, {5087, 8224, 1546, 0, 0, 0, 0}, {240, 780, 1290, 4112, 0, 0, 0}, {136, 512, 1024, 4471, 0, 0, 0}, {120, 256, 0, 0, 0, 0, 0}, {1542, 4883, 0, 0, 0, 0, 0}, {240, 768, 1290, 4128, 0, 0, 0}, {136, 512, 1036, 4403, 0, 0, 0}, {240, 780, 1280, 4160, 0, 0, 0}, {136, 522, 1024, 4437, 0, 0, 0}, {120, 262, 0, 0, 0, 0, 0}, {1536, 4991, 0, 0, 0, 0, 0}, {4992, 13056, 1536, 0, 0, 0, 0}, {265, 771, 369, 1285, 4369, 0, 0}, {136, 522, 1024, 4386, 0, 0, 0}, {240, 771, 1295, 4160, 0, 0, 0}, {136, 512, 1036, 4420, 0, 0, 0}, {240, 783, 1285, 4128, 0, 0, 0}, {5100, 8224, 1542, 0, 0, 0, 0}, {271, 512, 375, 1024, 4096, 0, 0}, {136, 512, 1024, 4352, 0, 0, 0}, {240, 771, 1285, 4112, 0, 0, 0}, {1546, 4896, 0, 0, 0, 0, 0}, {120, 259, 0, 0, 0, 0, 0}, {1548, 4940, 0, 0, 0, 0, 0}, {120, 261, 0, 0, 0, 0, 0}, {136, 522, 1036, 4454, 0, 0, 0}, {240, 783, 1295, 4208, 0, 0, 0}, {240, 816, 1360, 4192, 0, 0, 0}, {136, 554, 1100, 4369, 0, 0, 0}, {282, 816, 354, 1314, 4386, 0, 0}, {5011, 13107, 1644, 0, 0, 0, 0}, {284, 544, 356, 1076, 4128, 0, 0}, {5119, 8192, 1642, 0, 0, 0, 0}, {240, 828, 1370, 4096, 0, 0, 0}, {136, 544, 1088, 4471, 0, 0, 0}, {120, 272, 0, 0, 0, 0, 0}, {1638, 4915, 0, 0, 0, 0, 0}, {240, 816, 1370, 4144, 0, 0, 0}, {136, 544, 1100, 4403, 0, 0, 0}, {240, 828, 1360, 4176, 0, 0, 0}, {136, 554, 1088, 4437, 0, 0, 0}, {120, 278, 0, 0, 0, 0, 0}, {1632, 4959, 0, 0, 0, 0, 0}, {1696, 3072, 5376, 0, 0, 0, 0}, {297, 771, 337, 1028, 4369, 0, 0}, {136, 554, 1032, 4386, 0, 0, 0}, {240, 771, 1375, 4192, 0, 0, 0}, {136, 544, 1028, 4420, 0, 0, 0}, {240, 783, 1365, 4096, 0, 0, 0}, {1702, 3084, 5482, 0, 0, 0, 0}, {303, 783, 343, 1032, 4367, 0, 0}, {136, 544, 1032, 4352, 0, 0, 0}, {240, 771, 1365, 4144, 0, 0, 0}, {1706, 3072, 4864, 0, 0, 0, 0}, {291, 771, 347, 1028, 4112, 0, 0}, {1708, 3084, 4972, 0, 0, 0, 0}, {293, 783, 349, 1032, 4104, 0, 0}, {136, 554, 1028, 4454, 0, 0, 0}, {240, 783, 1375, 4176, 0, 0, 0}, {240, 816, 1280, 4160, 0, 0, 0}, {136, 522, 1092, 4369, 0, 0, 0}, {314, 522, 322, 1290, 4120, 0, 0}, {1740, 2560, 5503, 0, 0, 0, 0}, {316, 512, 324, 1280, 4096, 0, 0}, {1738, 2570, 5397, 0, 0, 0, 0}, {240, 828, 1290, 4128, 0, 0, 0}, {136, 512, 1096, 4471, 0, 0, 0}, {304, 512, 328, 1280, 4352, 0, 0}, {1734, 2570, 4883, 0, 0, 0, 0}, {240, 816, 1290, 4112, 0, 0, 0}, {136, 512, 1092, 4403, 0, 0, 0}, {240, 828, 1280, 4208, 0, 0, 0}, {136, 522, 1096, 4437, 0, 0, 0}, {310, 522, 334, 1290, 4382, 0, 0}, {1728, 2560, 4991, 0, 0, 0, 0}, {1728, 2560, 4864, 0, 0, 0, 0}, {305, 514, 329, 1285, 4369, 0, 0}, {136, 514, 1088, 4386, 0, 0, 0}, {240, 819, 1295, 4096, 0, 0, 0}, {136, 520, 1100, 4420, 0, 0, 0}, {240, 831, 1285, 4192, 0, 0, 0}, {1734, 2570, 4972, 0, 0, 0, 0}, {311, 520, 335, 1295, 4367, 0, 0}, {136, 520, 1088, 4352, 0, 0, 0}, {240, 819, 1285, 4176, 0, 0, 0}, {1738, 2570, 5482, 0, 0, 0, 0}, {315, 520, 323, 1295, 4104, 0, 0}, {1740, 2560, 5376, 0, 0, 0, 0}, {317, 514, 325, 1285, 4112, 0, 0}, {136, 514, 1100, 4454, 0, 0, 0}, {240, 831, 1295, 4144, 0, 0, 0}, {240, 768, 1360, 4128, 0, 0, 0}, {136, 546, 1036, 4369, 0, 0, 0}, {290, 768, 346, 1024, 4096, 0, 0}, {1708, 3084, 4883, 0, 0, 0, 0}, {292, 780, 348, 1036, 4120, 0, 0}, {1706, 3072, 4991, 0, 0, 0, 0}, {240, 780, 1370, 4160, 0, 0, 0}, {136, 552, 1024, 4471, 0, 0, 0}, {296, 768, 336, 1024, 4352, 0, 0}, {1702, 3084, 5397, 0, 0, 0, 0}, {240, 768, 1370, 4208, 0, 0, 0}, {136, 552, 1036, 4403, 0, 0, 0}, {240, 780, 1360, 4112, 0, 0, 0}, {136, 546, 1024, 4437, 0, 0, 0}, {302, 780, 342, 1036, 4382, 0, 0}, {1696, 3072, 5503, 0, 0, 0, 0}, {1632, 4896, 0, 0, 0, 0, 0}, {120, 273, 0, 0, 0, 0, 0}, {136, 546, 1096, 4386, 0, 0, 0}, {240, 819, 1375, 4128, 0, 0, 0}, {136, 552, 1092, 4420, 0, 0, 0}, {240, 831, 1365, 4160, 0, 0, 0}, {1638, 4940, 0, 0, 0, 0, 0}, {120, 279, 0, 0, 0, 0, 0}, {136, 552, 1096, 4352, 0, 0, 0}, {240, 819, 1365, 4208, 0, 0, 0}, {4992, 13056, 1642, 0, 0, 0, 0}, {283, 819, 355, 1319, 4403, 0, 0}, {5100, 8224, 1644, 0, 0, 0, 0}, {285, 546, 357, 1072, 4144, 0, 0}, {136, 546, 1092, 4454, 0, 0, 0}, {240, 831, 1375, 4112, 0, 0, 0}, {240, 768, 1280, 4096, 0, 0, 0}, {136, 514, 1028, 4369, 0, 0, 0}, {120, 258, 0, 0, 0, 0, 0}, {1548, 4915, 0, 0, 0, 0, 0}, {120, 260, 0, 0, 0, 0, 0}, {1546, 4959, 0, 0, 0, 0, 0}, {240, 780, 1290, 4192, 0, 0, 0}, {136, 520, 1032, 4471, 0, 0, 0}, {264, 768, 368, 1280, 4352, 0, 0}, {5011, 13107, 1542, 0, 0, 0, 0}, {240, 768, 1290, 4176, 0, 0, 0}, {136, 520, 1028, 4403, 0, 0, 0}, {240, 780, 1280, 4144, 0, 0, 0}, {136, 514, 1032, 4437, 0, 0, 0}, {270, 514, 374, 1028, 4112, 0, 0}, {5119, 8192, 1536, 0, 0, 0, 0}, {2560, 8192, 20480, 0, 0, 0, 0}, {12, 51, 68, 257, 0, 0, 0}, {136, 514, 20520, 0, 0, 0, 0}, {12, 51, 771, 1283, 4099, 0, 0}, {12, 516, 68, 1028, 4100, 0, 0}, {255, 8287, 1285, 0, 0, 0, 0}, {12, 1542, 4192, 0, 0, 0, 0}, {520, 119, 1295, 0, 0, 0, 0}, {136, 520, 20480, 0, 0, 0, 0}, {12, 51, 771, 1285, 4176, 0, 0}, {2570, 8352, 20640, 0, 0, 0, 0}, {12, 51, 68, 263, 0, 0, 0}, {12, 1536, 4096, 0, 0, 0, 0}, {514, 119, 1285, 0, 0, 0, 0}, {12, 514, 68, 1028, 4128, 0, 0}, {255, 8192, 1295, 0, 0, 0, 0}, {192, 2656, 4112, 0, 0, 0, 0}, {51, 529, 68, 1297, 4369, 0, 0}, {546, 72, 4144, 0, 0, 0, 0}, {51, 1375, 4883, 0, 0, 0, 0}, {552, 68, 5140, 0, 0, 0, 0}, {63, 1365, 4160, 0, 0, 0, 0}, {204, 2662, 5654, 0, 0, 0, 0}, {63, 535, 72, 1303, 4119, 0, 0}, {552, 72, 4120, 0, 0, 0, 0}, {51, 1365, 4940, 0, 0, 0, 0}, {192, 2666, 4208, 0, 0, 0, 0}, {51, 539, 68, 1307, 4352, 0, 0}, {204, 2668, 5744, 0, 0, 0, 0}, {63, 541, 72, 1309, 4096, 0, 0}, {546, 68, 5180, 0, 0, 0, 0}, {63, 1375, 4127, 0, 0, 0, 0}, {2720, 8224, 20640, 0, 0, 0, 0}, {12, 51, 68, 274, 0, 0, 0}, {136, 546, 20480, 0, 0, 0, 0}, {12, 51, 771, 1360, 4112, 0, 0}, {12, 548, 68, 1024, 4132, 0, 0}, {255, 8319, 1370, 0, 0, 0, 0}, {12, 1638, 4160, 0, 0, 0, 0}, {552, 119, 1319, 0, 0, 0, 0}, {136, 552, 20520, 0, 0, 0, 0}, {12, 51, 771, 1366, 4163, 0, 0}, {2730, 8320, 20480, 0, 0, 0, 0}, {12, 51, 68, 276, 0, 0, 0}, {12, 1632, 4128, 0, 0, 0, 0}, {546, 119, 1325, 0, 0, 0, 0}, {12, 546, 68, 1024, 4096, 0, 0}, {255, 8224, 1360, 0, 0, 0, 0}, {192, 2560, 4144, 0, 0, 0, 0}, {51, 514, 68, 1290, 4369, 0, 0}, {514, 72, 4112, 0, 0, 0, 0}, {51, 1280, 4864, 0, 0, 0, 0}, {520, 68, 5180, 0, 0, 0, 0}, {63, 1290, 4191, 0, 0, 0, 0}, {204, 2570, 5722, 0, 0, 0, 0}, {63, 520, 72, 1280, 4104, 0, 0}, {520, 72, 4152, 0, 0, 0, 0}, {51, 1290, 4959, 0, 0, 0, 0}, {192, 2570, 4176, 0, 0, 0, 0}, {51, 520, 68, 1280, 4352, 0, 0}, {204, 2560, 5692, 0, 0, 0, 0}, {63, 514, 72, 1290, 4127, 0, 0}, {514, 68, 5140, 0, 0, 0, 0}, {63, 1280, 4096, 0, 0, 0, 0}, {192, 2560, 4160, 0, 0, 0, 0}, {51, 522, 68, 1285, 4369, 0, 0}, {522, 72, 4136, 0, 0, 0, 0}, {51, 1295, 4940, 0, 0, 0, 0}, {512, 68, 5120, 0, 0, 0, 0}, {63, 1285, 4112, 0, 0, 0, 0}, {204, 2570, 5674, 0, 0, 0, 0}, {63, 512, 72, 1295, 4111, 0, 0}, {512, 72, 4096, 0, 0, 0, 0}, {51, 1285, 4883, 0, 0, 0, 0}, {192, 2570, 4128, 0, 0, 0, 0}, {51, 512, 68, 1295, 4352, 0, 0}, {204, 2560, 5708, 0, 0, 0, 0}, {63, 522, 72, 1285, 4120, 0, 0}, {522, 68, 5160, 0, 0, 0, 0}, {63, 1295, 4175, 0, 0, 0, 0}, {2720, 8352, 20560, 0, 0, 0, 0}, {12, 51, 68, 277, 0, 0, 0}, {136, 554, 20600, 0, 0, 0, 0}, {12, 51, 768, 1363, 4179, 0, 0}, {12, 544, 68, 1028, 4112, 0, 0}, {255, 8192, 1365, 0, 0, 0, 0}, {12, 1638, 4144, 0, 0, 0, 0}, {544, 119, 1320, 0, 0, 0, 0}, {136, 544, 20560, 0, 0, 0, 0}, {12, 51, 768, 1365, 4096, 0, 0}, {2730, 8192, 20720, 0, 0, 0, 0}, {12, 51, 68, 275, 0, 0, 0}, {12, 1632, 4176, 0, 0, 0, 0}, {554, 119, 1314, 0, 0, 0, 0}, {12, 550, 68, 1028, 4148, 0, 0}, {255, 8287, 1375, 0, 0, 0, 0}, {192, 2656, 4192, 0, 0, 0, 0}, {51, 537, 68, 1310, 4369, 0, 0}, {554, 72, 4104, 0, 0, 0, 0}, {51, 1360, 4959, 0, 0, 0, 0}, {544, 68, 5160, 0, 0, 0, 0}, {63, 1370, 4111, 0, 0, 0, 0}, {204, 2662, 5734, 0, 0, 0, 0}, {63, 543, 72, 1304, 4112, 0, 0}, {544, 72, 4128, 0, 0, 0, 0}, {51, 1370, 4864, 0, 0, 0, 0}, {192, 2666, 4096, 0, 0, 0, 0}, {51, 531, 68, 1300, 4352, 0, 0}, {204, 2668, 5632, 0, 0, 0, 0}, {63, 533, 72, 1298, 4103, 0, 0}, {554, 68, 5120, 0, 0, 0, 0}, {63, 1360, 4176, 0, 0, 0, 0}, {2560, 8320, 20720, 0, 0, 0, 0}, {12, 51, 68, 262, 0, 0, 0}, {136, 522, 20560, 0, 0, 0, 0}, {12, 51, 768, 1280, 4160, 0, 0}, {12, 512, 68, 1024, 4144, 0, 0}, {255, 8224, 1290, 0, 0, 0, 0}, {12, 1542, 4112, 0, 0, 0, 0}, {512, 119, 1280, 0, 0, 0, 0}, {136, 512, 20600, 0, 0, 0, 0}, {12, 51, 768, 1286, 4115, 0, 0}, {2570, 8224, 20560, 0, 0, 0, 0}, {12, 51, 68, 256, 0, 0, 0}, {12, 1536, 4208, 0, 0, 0, 0}, {522, 119, 1290, 0, 0, 0, 0}, {12, 518, 68, 1024, 4116, 0, 0}, {255, 8319, 1280, 0, 0, 0, 0}, {2560, 8320, 20480, 0, 0, 0, 0}, {12, 51, 68, 261, 0, 0, 0}, {136, 522, 20520, 0, 0, 0, 0}, {12, 51, 771, 1283, 4163, 0, 0}, {12, 512, 68, 1024, 4096, 0, 0}, {255, 8224, 1285, 0, 0, 0, 0}, {12, 1542, 4128, 0, 0, 0, 0}, {512, 119, 1295, 0, 0, 0, 0}, {136, 512, 20480, 0, 0, 0, 0}, {12, 51, 771, 1285, 4112, 0, 0}, {2570, 8224, 20640, 0, 0, 0, 0}, {12, 51, 68, 259, 0, 0, 0}, {12, 1536, 4160, 0, 0, 0, 0}, {522, 119, 1285, 0, 0, 0, 0}, {12, 518, 68, 1024, 4132, 0, 0}, {255, 8319, 1295, 0, 0, 0, 0}, {192, 2656, 4176, 0, 0, 0, 0}, {51, 537, 68, 1297, 4369, 0, 0}, {554, 72, 4152, 0, 0, 0, 0}, {51, 1375, 4959, 0, 0, 0, 0}, {544, 68, 5140, 0, 0, 0, 0}, {63, 1365, 4096, 0, 0, 0, 0}, {204, 2662, 5722, 0, 0, 0, 0}, {63, 543, 72, 1303, 4127, 0, 0}, {544, 72, 4112, 0, 0, 0, 0}, {51, 1365, 4864, 0, 0, 0, 0}, {192, 2666, 4144, 0, 0, 0, 0}, {51, 531, 68, 1307, 4352, 0, 0}, {204, 2668, 5692, 0, 0, 0, 0}, {63, 533, 72, 1309, 4104, 0, 0}, {554, 68, 5180, 0, 0, 0, 0}, {63, 1375, 4191, 0, 0, 0, 0}, {2720, 8352, 20640, 0, 0, 0, 0}, {12, 51, 68, 278, 0, 0, 0}, {136, 554, 20480, 0, 0, 0, 0}, {12, 51, 771, 1360, 4176, 0, 0}, {12, 544, 68, 1028, 4128, 0, 0}, {255, 8192, 1370, 0, 0, 0, 0}, {12, 1638, 4096, 0, 0, 0, 0}, {544, 119, 1319, 0, 0, 0, 0}, {136, 544, 20520, 0, 0, 0, 0}, {12, 51, 771, 1366, 4099, 0, 0}, {2730, 8192, 20480, 0, 0, 0, 0}, {12, 51, 68, 272, 0, 0, 0}, {12, 1632, 4192, 0, 0, 0, 0}, {554, 119, 1325, 0, 0, 0, 0}, {12, 550, 68, 1028, 4100, 0, 0}, {255, 8287, 1360, 0, 0, 0, 0}, {192, 2560, 4208, 0, 0, 0, 0}, {51, 522, 68, 1290, 4369, 0, 0}, {522, 72, 4120, 0, 0, 0, 0}, {51, 1280, 4940, 0, 0, 0, 0}, {512, 68, 5180, 0, 0, 0, 0}, {63, 1290, 4127, 0, 0, 0, 0}, {204, 2570, 5654, 0, 0, 0, 0}, {63, 512, 72, 1280, 4096, 0, 0}, {512, 72, 4144, 0, 0, 0, 0}, {51, 1290, 4883, 0, 0, 0, 0}, {192, 2570, 4112, 0, 0, 0, 0}, {51, 512, 68, 1280, 4352, 0, 0}, {204, 2560, 5744, 0, 0, 0, 0}, {63, 522, 72, 1290, 4119, 0, 0}, {522, 68, 5140, 0, 0, 0, 0}, {63, 1280, 4160, 0, 0, 0, 0}, {192, 2560, 4096, 0, 0, 0, 0}, {51, 514, 68, 1285, 4369, 0, 0}, {514, 72, 4128, 0, 0, 0, 0}, {51, 1295, 4864, 0, 0, 0, 0}, {520, 68, 5120, 0, 0, 0, 0}, {63, 1285, 4176, 0, 0, 0, 0}, {204, 2570, 5734, 0, 0, 0, 0}, {63, 520, 72, 1295, 4103, 0, 0}, {520, 72, 4104, 0, 0, 0, 0}, {51, 1285, 4959, 0, 0, 0, 0}, {192, 2570, 4192, 0, 0, 0, 0}, {51, 520, 68, 1295, 4352, 0, 0}, {204, 2560, 5632, 0, 0, 0, 0}, {63, 514, 72, 1285, 4112, 0, 0}, {514, 68, 5160, 0, 0, 0, 0}, {63, 1295, 4111, 0, 0, 0, 0}, {2720, 8224, 20560, 0, 0, 0, 0}, {12, 51, 68, 273, 0, 0, 0}, {136, 546, 20600, 0, 0, 0, 0}, {12, 51, 768, 1363, 4115, 0, 0}, {12, 548, 68, 1024, 4116, 0, 0}, {255, 8319, 1365, 0, 0, 0, 0}, {12, 1638, 4208, 0, 0, 0, 0}, {552, 119, 1320, 0, 0, 0, 0}, {136, 552, 20560, 0, 0, 0, 0}, {12, 51, 768, 1365, 4160, 0, 0}, {2730, 8320, 20720, 0, 0, 0, 0}, {12, 51, 68, 279, 0, 0, 0}, {12, 1632, 4112, 0, 0, 0, 0}, {546, 119, 1314, 0, 0, 0, 0}, {12, 546, 68, 1024, 4144, 0, 0}, {255, 8224, 1375, 0, 0, 0, 0}, {192, 2656, 4128, 0, 0, 0, 0}, {51, 529, 68, 1310, 4369, 0, 0}, {546, 72, 4096, 0, 0, 0, 0}, {51, 1360, 4883, 0, 0, 0, 0}, {552, 68, 5160, 0, 0, 0, 0}, {63, 1370, 4175, 0, 0, 0, 0}, {204, 2662, 5674, 0, 0, 0, 0}, {63, 535, 72, 1304, 4120, 0, 0}, {552, 72, 4136, 0, 0, 0, 0}, {51, 1370, 4940, 0, 0, 0, 0}, {192, 2666, 4160, 0, 0, 0, 0}, {51, 539, 68, 1300, 4352, 0, 0}, {204, 2668, 5708, 0, 0, 0, 0}, {63, 541, 72, 1298, 4111, 0, 0}, {546, 68, 5120, 0, 0, 0, 0}, {63, 1360, 4112, 0, 0, 0, 0}, {2560, 8192, 20720, 0, 0, 0, 0}, {12, 51, 68, 258, 0, 0, 0}, {136, 514, 20560, 0, 0, 0, 0}, {12, 51, 768, 1280, 4096, 0, 0}, {12, 516, 68, 1028, 4148, 0, 0}, {255, 8287, 1290, 0, 0, 0, 0}, {12, 1542, 4176, 0, 0, 0, 0}, {520, 119, 1280, 0, 0, 0, 0}, {136, 520, 20600, 0, 0, 0, 0}, {12, 51, 768, 1286, 4179, 0, 0}, {2570, 8352, 20560, 0, 0, 0, 0}, {12, 51, 68, 260, 0, 0, 0}, {12, 1536, 4144, 0, 0, 0, 0}, {514, 119, 1290, 0, 0, 0, 0}, {12, 514, 68, 1028, 4112, 0, 0}, {255, 8192, 1280, 0, 0, 0, 0}, {3072, 13056, 17408, 0, 0, 0, 0}, {10, 32, 80, 257, 0, 0, 0}, {10, 32, 514, 1026, 4354, 0, 0}, {240, 771, 17468, 0, 0, 0, 0}, {128, 13132, 1028, 0, 0, 0, 0}, {10, 773, 80, 1285, 4357, 0, 0}, {10, 1542, 4454, 0, 0, 0, 0}, {783, 112, 1032, 0, 0, 0, 0}, {128, 13056, 1032, 0, 0, 0, 0}, {10, 771, 80, 1285, 4403, 0, 0}, {10, 1536, 4352, 0, 0, 0, 0}, {771, 112, 1028, 0, 0, 0, 0}, {3084, 13260, 17612, 0, 0, 0, 0}, {10, 32, 80, 263, 0, 0, 0}, {10, 32, 514, 1028, 4420, 0, 0}, {240, 783, 17408, 0, 0, 0, 0}, {32, 784, 80, 1040, 4112, 0, 0}, {170, 3174, 4369, 0, 0, 0, 0}, {816, 90, 4386, 0, 0, 0, 0}, {32, 1100, 4883, 0, 0, 0, 0}, {828, 80, 5140, 0, 0, 0, 0}, {42, 1088, 4437, 0, 0, 0, 0}, {42, 790, 90, 1046, 4374, 0, 0}, {160, 3168, 5911, 0, 0, 0, 0}, {816, 80, 5160, 0, 0, 0, 0}, {42, 1100, 4377, 0, 0, 0, 0}, {42, 794, 90, 1050, 4352, 0, 0}, {160, 3180, 6007, 0, 0, 0, 0}, {32, 796, 80, 1052, 4096, 0, 0}, {170, 3178, 4471, 0, 0, 0, 0}, {828, 90, 4382, 0, 0, 0, 0}, {32, 1088, 4959, 0, 0, 0, 0}, {32, 1024, 4864, 0, 0, 0, 0}, {771, 90, 4369, 0, 0, 0, 0}, {170, 3072, 4386, 0, 0, 0, 0}, {32, 771, 80, 1036, 4112, 0, 0}, {160, 3084, 5960, 0, 0, 0, 0}, {42, 783, 90, 1024, 4367, 0, 0}, {42, 1036, 4428, 0, 0, 0, 0}, {783, 80, 5160, 0, 0, 0, 0}, {160, 3072, 5928, 0, 0, 0, 0}, {42, 771, 90, 1036, 4377, 0, 0}, {42, 1024, 4352, 0, 0, 0, 0}, {771, 80, 5140, 0, 0, 0, 0}, {32, 1036, 4940, 0, 0, 0, 0}, {783, 90, 4397, 0, 0, 0, 0}, {170, 3084, 4420, 0, 0, 0, 0}, {32, 783, 80, 1024, 4096, 0, 0}, {240, 816, 17408, 0, 0, 0, 0}, {10, 32, 514, 1092, 4369, 0, 0}, {10, 32, 80, 274, 0, 0, 0}, {3276, 13107, 17612, 0, 0, 0, 0}, {828, 112, 1076, 0, 0, 0, 0}, {10, 1632, 4437, 0, 0, 0, 0}, {10, 822, 80, 1280, 4406, 0, 0}, {128, 13183, 1096, 0, 0, 0, 0}, {816, 112, 1080, 0, 0, 0, 0}, {10, 1638, 4403, 0, 0, 0, 0}, {10, 816, 80, 1280, 4352, 0, 0}, {128, 13107, 1092, 0, 0, 0, 0}, {240, 828, 17468, 0, 0, 0, 0}, {10, 32, 514, 1090, 4439, 0, 0}, {10, 32, 80, 276, 0, 0, 0}, {3264, 13311, 17408, 0, 0, 0, 0}, {128, 13056, 1088, 0, 0, 0, 0}, {10, 819, 80, 1285, 4369, 0, 0}, {10, 1632, 4386, 0, 0, 0, 0}, {819, 112, 1084, 0, 0, 0, 0}, {3276, 13260, 17476, 0, 0, 0, 0}, {10, 32, 80, 277, 0, 0, 0}, {10, 32, 512, 1094, 4422, 0, 0}, {240, 831, 17528, 0, 0, 0, 0}, {3264, 13056, 17544, 0, 0, 0, 0}, {10, 32, 80, 275, 0, 0, 0}, {10, 32, 512, 1088, 4352, 0, 0}, {240, 819, 17476, 0, 0, 0, 0}, {128, 13132, 1100, 0, 0, 0, 0}, {10, 821, 80, 1285, 4391, 0, 0}, {10, 1638, 4420, 0, 0, 0, 0}, {831, 112, 1072, 0, 0, 0, 0}, {768, 80, 5120, 0, 0, 0, 0}, {42, 1028, 4369, 0, 0, 0, 0}, {42, 768, 90, 1032, 4360, 0, 0}, {160, 3084, 5951, 0, 0, 0, 0}, {32, 780, 80, 1028, 4112, 0, 0}, {170, 3072, 4437, 0, 0, 0, 0}, {780, 90, 4412, 0, 0, 0, 0}, {32, 1032, 4959, 0, 0, 0, 0}, {32, 768, 80, 1032, 4096, 0, 0}, {170, 3084, 4403, 0, 0, 0, 0}, {768, 90, 4352, 0, 0, 0, 0}, {32, 1028, 4883, 0, 0, 0, 0}, {780, 80, 5180, 0, 0, 0, 0}, {42, 1032, 4445, 0, 0, 0, 0}, {42, 780, 90, 1028, 4382, 0, 0}, {160, 3072, 5983, 0, 0, 0, 0}, {160, 3168, 5984, 0, 0, 0, 0}, {42, 793, 90, 1054, 4369, 0, 0}, {42, 1096, 4360, 0, 0, 0, 0}, {819, 80, 5180, 0, 0, 0, 0}, {32, 1092, 4940, 0, 0, 0, 0}, {831, 90, 4367, 0, 0, 0, 0}, {170, 3174, 4454, 0, 0, 0, 0}, {32, 799, 80, 1048, 4112, 0, 0}, {32, 1096, 4864, 0, 0, 0, 0}, {819, 90, 4403, 0, 0, 0, 0}, {170, 3178, 4352, 0, 0, 0, 0}, {32, 787, 80, 1044, 4096, 0, 0}, {160, 3180, 5888, 0, 0, 0, 0}, {42, 789, 90, 1042, 4359, 0, 0}, {42, 1092, 4420, 0, 0, 0, 0}, {831, 80, 5120, 0, 0, 0, 0}, {768, 112, 1024, 0, 0, 0, 0}, {10, 1542, 4369, 0, 0, 0, 0}, {10, 768, 80, 1280, 4386, 0, 0}, {128, 13107, 1036, 0, 0, 0, 0}, {240, 780, 17476, 0, 0, 0, 0}, {10, 32, 512, 1024, 4437, 0, 0}, {10, 32, 80, 262, 0, 0, 0}, {3072, 13311, 17544, 0, 0, 0, 0}, {240, 768, 17528, 0, 0, 0, 0}, {10, 32, 512, 1030, 4371, 0, 0}, {10, 32, 80, 256, 0, 0, 0}, {3084, 13107, 17476, 0, 0, 0, 0}, {780, 112, 1036, 0, 0, 0, 0}, {10, 1536, 4471, 0, 0, 0, 0}, {10, 774, 80, 1280, 4372, 0, 0}, {128, 13183, 1024, 0, 0, 0, 0}, {128, 13056, 1024, 0, 0, 0, 0}, {10, 771, 80, 1285, 4369, 0, 0}, {10, 1536, 4386, 0, 0, 0, 0}, {771, 112, 1036, 0, 0, 0, 0}, {3084, 13260, 17476, 0, 0, 0, 0}, {10, 32, 80, 261, 0, 0, 0}, {10, 32, 512, 1030, 4422, 0, 0}, {240, 783, 17528, 0, 0, 0, 0}, {3072, 13056, 17544, 0, 0, 0, 0}, {10, 32, 80, 259, 0, 0, 0}, {10, 32, 512, 1024, 4352, 0, 0}, {240, 771, 17476, 0, 0, 0, 0}, {128, 13132, 1036, 0, 0, 0, 0}, {10, 773, 80, 1285, 4391, 0, 0}, {10, 1542, 4420, 0, 0, 0, 0}, {783, 112, 1024, 0, 0, 0, 0}, {816, 80, 5120, 0, 0, 0, 0}, {42, 1092, 4369, 0, 0, 0, 0}, {42, 794, 90, 1042, 4360, 0, 0}, {160, 3180, 5983, 0, 0, 0, 0}, {32, 796, 80, 1044, 4096, 0, 0}, {170, 3178, 4437, 0, 0, 0, 0}, {828, 90, 4412, 0, 0, 0, 0}, {32, 1096, 4959, 0, 0, 0, 0}, {32, 784, 80, 1048, 4112, 0, 0}, {170, 3174, 4403, 0, 0, 0, 0}, {816, 90, 4352, 0, 0, 0, 0}, {32, 1092, 4883, 0, 0, 0, 0}, {828, 80, 5180, 0, 0, 0, 0}, {42, 1096, 4445, 0, 0, 0, 0}, {42, 790, 90, 1054, 4382, 0, 0}, {160, 3168, 5951, 0, 0, 0, 0}, {160, 3072, 5888, 0, 0, 0, 0}, {42, 771, 90, 1028, 4369, 0, 0}, {42, 1032, 4360, 0, 0, 0, 0}, {771, 80, 5180, 0, 0, 0, 0}, {32, 1028, 4940, 0, 0, 0, 0}, {783, 90, 4367, 0, 0, 0, 0}, {170, 3084, 4454, 0, 0, 0, 0}, {32, 783, 80, 1032, 4096, 0, 0}, {32, 1032, 4864, 0, 0, 0, 0}, {771, 90, 4403, 0, 0, 0, 0}, {170, 3072, 4352, 0, 0, 0, 0}, {32, 771, 80, 1028, 4112, 0, 0}, {160, 3084, 5984, 0, 0, 0, 0}, {42, 783, 90, 1032, 4359, 0, 0}, {42, 1028, 4420, 0, 0, 0, 0}, {783, 80, 5120, 0, 0, 0, 0}, {816, 112, 1072, 0, 0, 0, 0}, {10, 1638, 4369, 0, 0, 0, 0}, {10, 816, 80, 1280, 4386, 0, 0}, {128, 13107, 1100, 0, 0, 0, 0}, {240, 828, 17476, 0, 0, 0, 0}, {10, 32, 512, 1088, 4437, 0, 0}, {10, 32, 80, 278, 0, 0, 0}, {3264, 13311, 17544, 0, 0, 0, 0}, {240, 816, 17528, 0, 0, 0, 0}, {10, 32, 512, 1094, 4371, 0, 0}, {10, 32, 80, 272, 0, 0, 0}, {3276, 13107, 17476, 0, 0, 0, 0}, {828, 112, 1084, 0, 0, 0, 0}, {10, 1632, 4471, 0, 0, 0, 0}, {10, 822, 80, 1280, 4372, 0, 0}, {128, 13183, 1088, 0, 0, 0, 0}, {3264, 13056, 17408, 0, 0, 0, 0}, {10, 32, 80, 273, 0, 0, 0}, {10, 32, 514, 1090, 4354, 0, 0}, {240, 819, 17468, 0, 0, 0, 0}, {128, 13132, 1092, 0, 0, 0, 0}, {10, 821, 80, 1285, 4357, 0, 0}, {10, 1638, 4454, 0, 0, 0, 0}, {831, 112, 1080, 0, 0, 0, 0}, {128, 13056, 1096, 0, 0, 0, 0}, {10, 819, 80, 1285, 4403, 0, 0}, {10, 1632, 4352, 0, 0, 0, 0}, {819, 112, 1076, 0, 0, 0, 0}, {3276, 13260, 17612, 0, 0, 0, 0}, {10, 32, 80, 279, 0, 0, 0}, {10, 32, 514, 1092, 4420, 0, 0}, {240, 831, 17408, 0, 0, 0, 0}, {32, 768, 80, 1024, 4096, 0, 0}, {170, 3084, 4369, 0, 0, 0, 0}, {768, 90, 4386, 0, 0, 0, 0}, {32, 1036, 4883, 0, 0, 0, 0}, {780, 80, 5140, 0, 0, 0, 0}, {42, 1024, 4437, 0, 0, 0, 0}, {42, 780, 90, 1036, 4374, 0, 0}, {160, 3072, 6007, 0, 0, 0, 0}, {768, 80, 5160, 0, 0, 0, 0}, {42, 1036, 4377, 0, 0, 0, 0}, {42, 768, 90, 1024, 4352, 0, 0}, {160, 3084, 5911, 0, 0, 0, 0}, {32, 780, 80, 1036, 4112, 0, 0}, {170, 3072, 4471, 0, 0, 0, 0}, {780, 90, 4382, 0, 0, 0, 0}, {32, 1024, 4959, 0, 0, 0, 0}, {32, 1088, 4864, 0, 0, 0, 0}, {819, 90, 4369, 0, 0, 0, 0}, {170, 3178, 4386, 0, 0, 0, 0}, {32, 787, 80, 1052, 4096, 0, 0}, {160, 3180, 5928, 0, 0, 0, 0}, {42, 789, 90, 1050, 4367, 0, 0}, {42, 1100, 4428, 0, 0, 0, 0}, {831, 80, 5160, 0, 0, 0, 0}, {160, 3168, 5960, 0, 0, 0, 0}, {42, 793, 90, 1046, 4377, 0, 0}, {42, 1088, 4352, 0, 0, 0, 0}, {819, 80, 5140, 0, 0, 0, 0}, {32, 1100, 4940, 0, 0, 0, 0}, {831, 90, 4397, 0, 0, 0, 0}, {170, 3174, 4420, 0, 0, 0, 0}, {32, 799, 80, 1040, 4112, 0, 0}, {240, 768, 17408, 0, 0, 0, 0}, {10, 32, 514, 1028, 4369, 0, 0}, {10, 32, 80, 258, 0, 0, 0}, {3084, 13107, 17612, 0, 0, 0, 0}, {780, 112, 1028, 0, 0, 0, 0}, {10, 1536, 4437, 0, 0, 0, 0}, {10, 774, 80, 1280, 4406, 0, 0}, {128, 13183, 1032, 0, 0, 0, 0}, {768, 112, 1032, 0, 0, 0, 0}, {10, 1542, 4403, 0, 0, 0, 0}, {10, 768, 80, 1280, 4352, 0, 0}, {128, 13107, 1028, 0, 0, 0, 0}, {240, 780, 17468, 0, 0, 0, 0}, {10, 32, 514, 1026, 4439, 0, 0}, {10, 32, 80, 260, 0, 0, 0}, {3072, 13311, 17408, 0, 0, 0, 0}, {3072, 12288, 16384, 0, 0, 0, 0}, {10, 34, 85, 257, 0, 0, 0}, {10, 34, 514, 1026, 4098, 0, 0}, {255, 771, 16447, 0, 0, 0, 0}, {136, 12360, 1028, 0, 0, 0, 0}, {10, 773, 85, 1285, 4101, 0, 0}, {10, 1542, 4192, 0, 0, 0, 0}, {783, 119, 1032, 0, 0, 0, 0}, {136, 12288, 1032, 0, 0, 0, 0}, {10, 771, 85, 1285, 4144, 0, 0}, {10, 1536, 4096, 0, 0, 0, 0}, {771, 119, 1028, 0, 0, 0, 0}, {3084, 12480, 16576, 0, 0, 0, 0}, {10, 34, 85, 263, 0, 0, 0}, {10, 34, 514, 1028, 4160, 0, 0}, {255, 783, 16384, 0, 0, 0, 0}, {160, 3168, 4112, 0, 0, 0, 0}, {34, 785, 85, 1041, 4369, 0, 0}, {34, 1096, 4626, 0, 0, 0, 0}, {819, 95, 4128, 0, 0, 0, 0}, {40, 1092, 4176, 0, 0, 0, 0}, {831, 85, 5397, 0, 0, 0, 0}, {170, 3174, 5654, 0, 0, 0, 0}, {40, 791, 95, 1047, 4119, 0, 0}, {40, 1096, 4120, 0, 0, 0, 0}, {819, 85, 5418, 0, 0, 0, 0}, {170, 3178, 5744, 0, 0, 0, 0}, {40, 795, 95, 1051, 4096, 0, 0}, {160, 3180, 4208, 0, 0, 0, 0}, {34, 797, 85, 1053, 4352, 0, 0}, {34, 1092, 4698, 0, 0, 0, 0}, {831, 95, 4127, 0, 0, 0, 0}, {160, 3072, 4128, 0, 0, 0, 0}, {34, 771, 85, 1036, 4369, 0, 0}, {34, 1024, 4608, 0, 0, 0, 0}, {771, 95, 4112, 0, 0, 0, 0}, {40, 1036, 4168, 0, 0, 0, 0}, {783, 85, 5418, 0, 0, 0, 0}, {170, 3084, 5708, 0, 0, 0, 0}, {40, 783, 95, 1024, 4111, 0, 0}, {40, 1024, 4096, 0, 0, 0, 0}, {771, 85, 5397, 0, 0, 0, 0}, {170, 3072, 5674, 0, 0, 0, 0}, {40, 771, 95, 1036, 4120, 0, 0}, {160, 3084, 4160, 0, 0, 0, 0}, {34, 783, 85, 1024, 4352, 0, 0}, {34, 1036, 4680, 0, 0, 0, 0}, {783, 95, 4143, 0, 0, 0, 0}, {3264, 12336, 16576, 0, 0, 0, 0}, {10, 34, 85, 275, 0, 0, 0}, {10, 34, 514, 1088, 4112, 0, 0}, {255, 819, 16384, 0, 0, 0, 0}, {136, 12408, 1100, 0, 0, 0, 0}, {10, 821, 85, 1280, 4149, 0, 0}, {10, 1638, 4176, 0, 0, 0, 0}, {831, 119, 1079, 0, 0, 0, 0}, {136, 12336, 1088, 0, 0, 0, 0}, {10, 819, 85, 1280, 4096, 0, 0}, {10, 1632, 4144, 0, 0, 0, 0}, {819, 119, 1083, 0, 0, 0, 0}, {3276, 12528, 16384, 0, 0, 0, 0}, {10, 34, 85, 277, 0, 0, 0}, {10, 34, 514, 1094, 4178, 0, 0}, {255, 831, 16447, 0, 0, 0, 0}, {3264, 12480, 16448, 0, 0, 0, 0}, {10, 34, 85, 276, 0, 0, 0}, {10, 34, 512, 1090, 4162, 0, 0}, {255, 828, 16511, 0, 0, 0, 0}, {136, 12288, 1092, 0, 0, 0, 0}, {10, 816, 85, 1285, 4112, 0, 0}, {10, 1638, 4128, 0, 0, 0, 0}, {816, 119, 1087, 0, 0, 0, 0}, {136, 12360, 1096, 0, 0, 0, 0}, {10, 822, 85, 1285, 4133, 0, 0}, {10, 1632, 4160, 0, 0, 0, 0}, {828, 119, 1075, 0, 0, 0, 0}, {3276, 12288, 16512, 0, 0, 0, 0}, {10, 34, 85, 274, 0, 0, 0}, {10, 34, 512, 1092, 4096, 0, 0}, {255, 816, 16448, 0, 0, 0, 0}, {160, 3072, 4176, 0, 0, 0, 0}, {34, 780, 85, 1028, 4369, 0, 0}, {34, 1032, 4698, 0, 0, 0, 0}, {780, 95, 4159, 0, 0, 0, 0}, {40, 1028, 4112, 0, 0, 0, 0}, {768, 85, 5376, 0, 0, 0, 0}, {170, 3084, 5692, 0, 0, 0, 0}, {40, 768, 95, 1032, 4104, 0, 0}, {40, 1032, 4184, 0, 0, 0, 0}, {780, 85, 5439, 0, 0, 0, 0}, {170, 3072, 5722, 0, 0, 0, 0}, {40, 780, 95, 1028, 4127, 0, 0}, {160, 3084, 4144, 0, 0, 0, 0}, {34, 768, 85, 1032, 4352, 0, 0}, {34, 1028, 4626, 0, 0, 0, 0}, {768, 95, 4096, 0, 0, 0, 0}, {160, 3168, 4192, 0, 0, 0, 0}, {34, 798, 85, 1049, 4369, 0, 0}, {34, 1088, 4680, 0, 0, 0, 0}, {828, 95, 4111, 0, 0, 0, 0}, {40, 1100, 4104, 0, 0, 0, 0}, {816, 85, 5439, 0, 0, 0, 0}, {170, 3174, 5734, 0, 0, 0, 0}, {40, 792, 95, 1055, 4112, 0, 0}, {40, 1088, 4160, 0, 0, 0, 0}, {828, 85, 5376, 0, 0, 0, 0}, {170, 3178, 5632, 0, 0, 0, 0}, {40, 788, 95, 1043, 4103, 0, 0}, {160, 3180, 4096, 0, 0, 0, 0}, {34, 786, 85, 1045, 4352, 0, 0}, {34, 1100, 4608, 0, 0, 0, 0}, {816, 95, 4144, 0, 0, 0, 0}, {3072, 12528, 16512, 0, 0, 0, 0}, {10, 34, 85, 262, 0, 0, 0}, {10, 34, 512, 1024, 4176, 0, 0}, {255, 780, 16448, 0, 0, 0, 0}, {136, 12336, 1036, 0, 0, 0, 0}, {10, 768, 85, 1280, 4128, 0, 0}, {10, 1542, 4112, 0, 0, 0, 0}, {768, 119, 1024, 0, 0, 0, 0}, {136, 12408, 1024, 0, 0, 0, 0}, {10, 774, 85, 1280, 4117, 0, 0}, {10, 1536, 4208, 0, 0, 0, 0}, {780, 119, 1036, 0, 0, 0, 0}, {3084, 12336, 16448, 0, 0, 0, 0}, {10, 34, 85, 256, 0, 0, 0}, {10, 34, 512, 1030, 4114, 0, 0}, {255, 768, 16511, 0, 0, 0, 0}, {3072, 12288, 16512, 0, 0, 0, 0}, {10, 34, 85, 259, 0, 0, 0}, {10, 34, 512, 1024, 4096, 0, 0}, {255, 771, 16448, 0, 0, 0, 0}, {136, 12360, 1036, 0, 0, 0, 0}, {10, 773, 85, 1285, 4133, 0, 0}, {10, 1542, 4160, 0, 0, 0, 0}, {783, 119, 1024, 0, 0, 0, 0}, {136, 12288, 1024, 0, 0, 0, 0}, {10, 771, 85, 1285, 4112, 0, 0}, {10, 1536, 4128, 0, 0, 0, 0}, {771, 119, 1036, 0, 0, 0, 0}, {3084, 12480, 16448, 0, 0, 0, 0}, {10, 34, 85, 261, 0, 0, 0}, {10, 34, 512, 1030, 4162, 0, 0}, {255, 783, 16511, 0, 0, 0, 0}, {160, 3168, 4144, 0, 0, 0, 0}, {34, 785, 85, 1049, 4369, 0, 0}, {34, 1088, 4626, 0, 0, 0, 0}, {819, 95, 4096, 0, 0, 0, 0}, {40, 1100, 4184, 0, 0, 0, 0}, {831, 85, 5439, 0, 0, 0, 0}, {170, 3174, 5692, 0, 0, 0, 0}, {40, 791, 95, 1055, 4127, 0, 0}, {40, 1088, 4112, 0, 0, 0, 0}, {819, 85, 5376, 0, 0, 0, 0}, {170, 3178, 5722, 0, 0, 0, 0}, {40, 795, 95, 1043, 4104, 0, 0}, {160, 3180, 4176, 0, 0, 0, 0}, {34, 797, 85, 1045, 4352, 0, 0}, {34, 1100, 4698, 0, 0, 0, 0}, {831, 95, 4159, 0, 0, 0, 0}, {160, 3072, 4096, 0, 0, 0, 0}, {34, 771, 85, 1028, 4369, 0, 0}, {34, 1032, 4608, 0, 0, 0, 0}, {771, 95, 4144, 0, 0, 0, 0}, {40, 1028, 4160, 0, 0, 0, 0}, {783, 85, 5376, 0, 0, 0, 0}, {170, 3084, 5734, 0, 0, 0, 0}, {40, 783, 95, 1032, 4103, 0, 0}, {40, 1032, 4104, 0, 0, 0, 0}, {771, 85, 5439, 0, 0, 0, 0}, {170, 3072, 5632, 0, 0, 0, 0}, {40, 771, 95, 1028, 4112, 0, 0}, {160, 3084, 4192, 0, 0, 0, 0}, {34, 783, 85, 1032, 4352, 0, 0}, {34, 1028, 4680, 0, 0, 0, 0}, {783, 95, 4111, 0, 0, 0, 0}, {3264, 12336, 16448, 0, 0, 0, 0}, {10, 34, 85, 273, 0, 0, 0}, {10, 34, 512, 1090, 4114, 0, 0}, {255, 819, 16511, 0, 0, 0, 0}, {136, 12408, 1092, 0, 0, 0, 0}, {10, 821, 85, 1280, 4117, 0, 0}, {10, 1638, 4208, 0, 0, 0, 0}, {831, 119, 1087, 0, 0, 0, 0}, {136, 12336, 1096, 0, 0, 0, 0}, {10, 819, 85, 1280, 4128, 0, 0}, {10, 1632, 4112, 0, 0, 0, 0}, {819, 119, 1075, 0, 0, 0, 0}, {3276, 12528, 16512, 0, 0, 0, 0}, {10, 34, 85, 279, 0, 0, 0}, {10, 34, 512, 1092, 4176, 0, 0}, {255, 831, 16448, 0, 0, 0, 0}, {3264, 12480, 16576, 0, 0, 0, 0}, {10, 34, 85, 278, 0, 0, 0}, {10, 34, 514, 1088, 4160, 0, 0}, {255, 828, 16384, 0, 0, 0, 0}, {136, 12288, 1100, 0, 0, 0, 0}, {10, 816, 85, 1285, 4144, 0, 0}, {10, 1638, 4096, 0, 0, 0, 0}, {816, 119, 1079, 0, 0, 0, 0}, {136, 12360, 1088, 0, 0, 0, 0}, {10, 822, 85, 1285, 4101, 0, 0}, {10, 1632, 4192, 0, 0, 0, 0}, {828, 119, 1083, 0, 0, 0, 0}, {3276, 12288, 16384, 0, 0, 0, 0}, {10, 34, 85, 272, 0, 0, 0}, {10, 34, 514, 1094, 4098, 0, 0}, {255, 816, 16447, 0, 0, 0, 0}, {160, 3072, 4208, 0, 0, 0, 0}, {34, 780, 85, 1036, 4369, 0, 0}, {34, 1024, 4698, 0, 0, 0, 0}, {780, 95, 4127, 0, 0, 0, 0}, {40, 1036, 4120, 0, 0, 0, 0}, {768, 85, 5418, 0, 0, 0, 0}, {170, 3084, 5654, 0, 0, 0, 0}, {40, 768, 95, 1024, 4096, 0, 0}, {40, 1024, 4176, 0, 0, 0, 0}, {780, 85, 5397, 0, 0, 0, 0}, {170, 3072, 5744, 0, 0, 0, 0}, {40, 780, 95, 1036, 4119, 0, 0}, {160, 3084, 4112, 0, 0, 0, 0}, {34, 768, 85, 1024, 4352, 0, 0}, {34, 1036, 4626, 0, 0, 0, 0}, {768, 95, 4128, 0, 0, 0, 0}, {160, 3168, 4160, 0, 0, 0, 0}, {34, 798, 85, 1041, 4369, 0, 0}, {34, 1096, 4680, 0, 0, 0, 0}, {828, 95, 4143, 0, 0, 0, 0}, {40, 1092, 4096, 0, 0, 0, 0}, {816, 85, 5397, 0, 0, 0, 0}, {170, 3174, 5708, 0, 0, 0, 0}, {40, 792, 95, 1047, 4120, 0, 0}, {40, 1096, 4168, 0, 0, 0, 0}, {828, 85, 5418, 0, 0, 0, 0}, {170, 3178, 5674, 0, 0, 0, 0}, {40, 788, 95, 1051, 4111, 0, 0}, {160, 3180, 4128, 0, 0, 0, 0}, {34, 786, 85, 1053, 4352, 0, 0}, {34, 1092, 4608, 0, 0, 0, 0}, {816, 95, 4112, 0, 0, 0, 0}, {3072, 12528, 16384, 0, 0, 0, 0}, {10, 34, 85, 260, 0, 0, 0}, {10, 34, 514, 1026, 4178, 0, 0}, {255, 780, 16447, 0, 0, 0, 0}, {136, 12336, 1028, 0, 0, 0, 0}, {10, 768, 85, 1280, 4096, 0, 0}, {10, 1542, 4144, 0, 0, 0, 0}, {768, 119, 1032, 0, 0, 0, 0}, {136, 12408, 1032, 0, 0, 0, 0}, {10, 774, 85, 1280, 4149, 0, 0}, {10, 1536, 4176, 0, 0, 0, 0}, {780, 119, 1028, 0, 0, 0, 0}, {3084, 12336, 16576, 0, 0, 0, 0}, {10, 34, 85, 258, 0, 0, 0}, {10, 34, 514, 1028, 4112, 0, 0}, {255, 768, 16384, 0, 0, 0, 0}, {2560, 8704, 21760, 0, 0, 0, 0}, {12, 48, 64, 257, 0, 0, 0}, {128, 514, 21802, 0, 0, 0, 0}, {12, 48, 771, 1283, 4355, 0, 0}, {12, 516, 64, 1028, 4356, 0, 0}, {240, 8794, 1285, 0, 0, 0, 0}, {12, 1542, 4454, 0, 0, 0, 0}, {520, 112, 1295, 0, 0, 0, 0}, {128, 520, 21760, 0, 0, 0, 0}, {12, 48, 771, 1285, 4437, 0, 0}, {2570, 8874, 21930, 0, 0, 0, 0}, {12, 48, 64, 263, 0, 0, 0}, {12, 1536, 4352, 0, 0, 0, 0}, {514, 112, 1285, 0, 0, 0, 0}, {12, 514, 64, 1028, 4386, 0, 0}, {240, 8704, 1295, 0, 0, 0, 0}, {48, 528, 64, 1296, 4112, 0, 0}, {204, 2662, 4369, 0, 0, 0, 0}, {48, 1370, 4626, 0, 0, 0, 0}, {544, 76, 4403, 0, 0, 0, 0}, {60, 1360, 4420, 0, 0, 0, 0}, {554, 64, 5397, 0, 0, 0, 0}, {60, 534, 76, 1302, 4374, 0, 0}, {192, 2656, 5911, 0, 0, 0, 0}, {48, 1360, 4680, 0, 0, 0, 0}, {554, 76, 4377, 0, 0, 0, 0}, {48, 538, 64, 1306, 4096, 0, 0}, {204, 2668, 4471, 0, 0, 0, 0}, {60, 540, 76, 1308, 4352, 0, 0}, {192, 2666, 6007, 0, 0, 0, 0}, {60, 1370, 4382, 0, 0, 0, 0}, {544, 64, 5439, 0, 0, 0, 0}, {128, 544, 21760, 0, 0, 0, 0}, {12, 48, 771, 1365, 4369, 0, 0}, {2730, 8738, 21930, 0, 0, 0, 0}, {12, 48, 64, 275, 0, 0, 0}, {12, 1632, 4420, 0, 0, 0, 0}, {554, 112, 1317, 0, 0, 0, 0}, {12, 550, 64, 1024, 4390, 0, 0}, {240, 8824, 1375, 0, 0, 0, 0}, {2720, 8840, 21760, 0, 0, 0, 0}, {12, 48, 64, 277, 0, 0, 0}, {128, 554, 21802, 0, 0, 0, 0}, {12, 48, 771, 1363, 4423, 0, 0}, {12, 544, 64, 1024, 4352, 0, 0}, {240, 8738, 1365, 0, 0, 0, 0}, {12, 1638, 4386, 0, 0, 0, 0}, {544, 112, 1327, 0, 0, 0, 0}, {48, 1280, 4608, 0, 0, 0, 0}, {514, 76, 4369, 0, 0, 0, 0}, {48, 514, 64, 1290, 4112, 0, 0}, {204, 2560, 4403, 0, 0, 0, 0}, {60, 520, 76, 1280, 4360, 0, 0}, {192, 2570, 5983, 0, 0, 0, 0}, {60, 1290, 4442, 0, 0, 0, 0}, {520, 64, 5439, 0, 0, 0, 0}, {48, 520, 64, 1280, 4096, 0, 0}, {204, 2570, 4437, 0, 0, 0, 0}, {48, 1290, 4698, 0, 0, 0, 0}, {520, 76, 4411, 0, 0, 0, 0}, {60, 1280, 4352, 0, 0, 0, 0}, {514, 64, 5397, 0, 0, 0, 0}, {60, 514, 76, 1290, 4382, 0, 0}, {192, 2560, 5951, 0, 0, 0, 0}, {512, 64, 5376, 0, 0, 0, 0}, {60, 1285, 4369, 0, 0, 0, 0}, {192, 2570, 5928, 0, 0, 0, 0}, {60, 512, 76, 1295, 4367, 0, 0}, {204, 2560, 4420, 0, 0, 0, 0}, {48, 522, 64, 1285, 4112, 0, 0}, {522, 76, 4394, 0, 0, 0, 0}, {48, 1295, 4680, 0, 0, 0, 0}, {192, 2560, 5960, 0, 0, 0, 0}, {60, 522, 76, 1285, 4377, 0, 0}, {522, 64, 5418, 0, 0, 0, 0}, {60, 1295, 4427, 0, 0, 0, 0}, {512, 76, 4352, 0, 0, 0, 0}, {48, 1285, 4626, 0, 0, 0, 0}, {204, 2570, 4386, 0, 0, 0, 0}, {48, 512, 64, 1295, 4096, 0, 0}, {240, 8704, 1360, 0, 0, 0, 0}, {12, 546, 64, 1028, 4369, 0, 0}, {546, 112, 1322, 0, 0, 0, 0}, {12, 1632, 4403, 0, 0, 0, 0}, {12, 48, 64, 276, 0, 0, 0}, {2730, 8874, 21845, 0, 0, 0, 0}, {12, 48, 768, 1366, 4438, 0, 0}, {128, 552, 21887, 0, 0, 0, 0}, {552, 112, 1312, 0, 0, 0, 0}, {12, 1638, 4437, 0, 0, 0, 0}, {240, 8794, 1370, 0, 0, 0, 0}, {12, 548, 64, 1028, 4407, 0, 0}, {12, 48, 768, 1360, 4352, 0, 0}, {128, 546, 21845, 0, 0, 0, 0}, {12, 48, 64, 274, 0, 0, 0}, {2720, 8704, 22015, 0, 0, 0, 0}, {192, 2656, 5984, 0, 0, 0, 0}, {60, 542, 76, 1305, 4369, 0, 0}, {546, 64, 5418, 0, 0, 0, 0}, {60, 1375, 4367, 0, 0, 0, 0}, {552, 76, 4360, 0, 0, 0, 0}, {48, 1365, 4698, 0, 0, 0, 0}, {204, 2662, 4454, 0, 0, 0, 0}, {48, 536, 64, 1311, 4112, 0, 0}, {552, 64, 5376, 0, 0, 0, 0}, {60, 1365, 4437, 0, 0, 0, 0}, {192, 2666, 5888, 0, 0, 0, 0}, {60, 532, 76, 1299, 4359, 0, 0}, {204, 2668, 4352, 0, 0, 0, 0}, {48, 530, 64, 1301, 4096, 0, 0}, {546, 76, 4386, 0, 0, 0, 0}, {48, 1375, 4608, 0, 0, 0, 0}, {512, 112, 1280, 0, 0, 0, 0}, {12, 1542, 4369, 0, 0, 0, 0}, {240, 8738, 1290, 0, 0, 0, 0}, {12, 512, 64, 1024, 4403, 0, 0}, {12, 48, 768, 1280, 4420, 0, 0}, {128, 522, 21845, 0, 0, 0, 0}, {12, 48, 64, 262, 0, 0, 0}, {2560, 8840, 22015, 0, 0, 0, 0}, {240, 8824, 1280, 0, 0, 0, 0}, {12, 518, 64, 1024, 4373, 0, 0}, {522, 112, 1290, 0, 0, 0, 0}, {12, 1536, 4471, 0, 0, 0, 0}, {12, 48, 64, 256, 0, 0, 0}, {2570, 8738, 21845, 0, 0, 0, 0}, {12, 48, 768, 1286, 4370, 0, 0}, {128, 512, 21887, 0, 0, 0, 0}, {128, 512, 21760, 0, 0, 0, 0}, {12, 48, 771, 1285, 4369, 0, 0}, {2570, 8738, 21930, 0, 0, 0, 0}, {12, 48, 64, 259, 0, 0, 0}, {12, 1536, 4420, 0, 0, 0, 0}, {522, 112, 1285, 0, 0, 0, 0}, {12, 518, 64, 1024, 4390, 0, 0}, {240, 8824, 1295, 0, 0, 0, 0}, {2560, 8840, 21760, 0, 0, 0, 0}, {12, 48, 64, 261, 0, 0, 0}, {128, 522, 21802, 0, 0, 0, 0}, {12, 48, 771, 1283, 4423, 0, 0}, {12, 512, 64, 1024, 4352, 0, 0}, {240, 8738, 1285, 0, 0, 0, 0}, {12, 1542, 4386, 0, 0, 0, 0}, {512, 112, 1295, 0, 0, 0, 0}, {48, 1360, 4608, 0, 0, 0, 0}, {546, 76, 4369, 0, 0, 0, 0}, {48, 530, 64, 1306, 4096, 0, 0}, {204, 2668, 4403, 0, 0, 0, 0}, {60, 532, 76, 1308, 4360, 0, 0}, {192, 2666, 5951, 0, 0, 0, 0}, {60, 1370, 4442, 0, 0, 0, 0}, {552, 64, 5439, 0, 0, 0, 0}, {48, 536, 64, 1296, 4112, 0, 0}, {204, 2662, 4437, 0, 0, 0, 0}, {48, 1370, 4698, 0, 0, 0, 0}, {552, 76, 4411, 0, 0, 0, 0}, {60, 1360, 4352, 0, 0, 0, 0}, {546, 64, 5397, 0, 0, 0, 0}, {60, 542, 76, 1302, 4382, 0, 0}, {192, 2656, 5983, 0, 0, 0, 0}, {2720, 8704, 21760, 0, 0, 0, 0}, {12, 48, 64, 273, 0, 0, 0}, {128, 546, 21802, 0, 0, 0, 0}, {12, 48, 771, 1363, 4355, 0, 0}, {12, 548, 64, 1028, 4356, 0, 0}, {240, 8794, 1365, 0, 0, 0, 0}, {12, 1638, 4454, 0, 0, 0, 0}, {552, 112, 1327, 0, 0, 0, 0}, {128, 552, 21760, 0, 0, 0, 0}, {12, 48, 771, 1365, 4437, 0, 0}, {2730, 8874, 21930, 0, 0, 0, 0}, {12, 48, 64, 279, 0, 0, 0}, {12, 1632, 4352, 0, 0, 0, 0}, {546, 112, 1317, 0, 0, 0, 0}, {12, 546, 64, 1028, 4386, 0, 0}, {240, 8704, 1375, 0, 0, 0, 0}, {48, 512, 64, 1280, 4096, 0, 0}, {204, 2570, 4369, 0, 0, 0, 0}, {48, 1290, 4626, 0, 0, 0, 0}, {512, 76, 4403, 0, 0, 0, 0}, {60, 1280, 4420, 0, 0, 0, 0}, {522, 64, 5397, 0, 0, 0, 0}, {60, 522, 76, 1290, 4374, 0, 0}, {192, 2560, 6007, 0, 0, 0, 0}, {48, 1280, 4680, 0, 0, 0, 0}, {522, 76, 4377, 0, 0, 0, 0}, {48, 522, 64, 1290, 4112, 0, 0}, {204, 2560, 4471, 0, 0, 0, 0}, {60, 512, 76, 1280, 4352, 0, 0}, {192, 2570, 5911, 0, 0, 0, 0}, {60, 1290, 4382, 0, 0, 0, 0}, {512, 64, 5439, 0, 0, 0, 0}, {192, 2560, 5888, 0, 0, 0, 0}, {60, 514, 76, 1285, 4369, 0, 0}, {514, 64, 5418, 0, 0, 0, 0}, {60, 1295, 4367, 0, 0, 0, 0}, {520, 76, 4360, 0, 0, 0, 0}, {48, 1285, 4698, 0, 0, 0, 0}, {204, 2570, 4454, 0, 0, 0, 0}, {48, 520, 64, 1295, 4096, 0, 0}, {520, 64, 5376, 0, 0, 0, 0}, {60, 1285, 4437, 0, 0, 0, 0}, {192, 2570, 5984, 0, 0, 0, 0}, {60, 520, 76, 1295, 4359, 0, 0}, {204, 2560, 4352, 0, 0, 0, 0}, {48, 514, 64, 1285, 4112, 0, 0}, {514, 76, 4386, 0, 0, 0, 0}, {48, 1295, 4608, 0, 0, 0, 0}, {544, 112, 1312, 0, 0, 0, 0}, {12, 1638, 4369, 0, 0, 0, 0}, {240, 8738, 1370, 0, 0, 0, 0}, {12, 544, 64, 1024, 4403, 0, 0}, {12, 48, 768, 1360, 4420, 0, 0}, {128, 554, 21845, 0, 0, 0, 0}, {12, 48, 64, 278, 0, 0, 0}, {2720, 8840, 22015, 0, 0, 0, 0}, {240, 8824, 1360, 0, 0, 0, 0}, {12, 550, 64, 1024, 4373, 0, 0}, {554, 112, 1322, 0, 0, 0, 0}, {12, 1632, 4471, 0, 0, 0, 0}, {12, 48, 64, 272, 0, 0, 0}, {2730, 8738, 21845, 0, 0, 0, 0}, {12, 48, 768, 1366, 4370, 0, 0}, {128, 544, 21887, 0, 0, 0, 0}, {544, 64, 5376, 0, 0, 0, 0}, {60, 1365, 4369, 0, 0, 0, 0}, {192, 2666, 5960, 0, 0, 0, 0}, {60, 540, 76, 1299, 4367, 0, 0}, {204, 2668, 4420, 0, 0, 0, 0}, {48, 538, 64, 1301, 4096, 0, 0}, {554, 76, 4394, 0, 0, 0, 0}, {48, 1375, 4680, 0, 0, 0, 0}, {192, 2656, 5928, 0, 0, 0, 0}, {60, 534, 76, 1305, 4377, 0, 0}, {554, 64, 5418, 0, 0, 0, 0}, {60, 1375, 4427, 0, 0, 0, 0}, {544, 76, 4352, 0, 0, 0, 0}, {48, 1365, 4626, 0, 0, 0, 0}, {204, 2662, 4386, 0, 0, 0, 0}, {48, 528, 64, 1311, 4112, 0, 0}, {240, 8704, 1280, 0, 0, 0, 0}, {12, 514, 64, 1028, 4369, 0, 0}, {514, 112, 1290, 0, 0, 0, 0}, {12, 1536, 4403, 0, 0, 0, 0}, {12, 48, 64, 260, 0, 0, 0}, {2570, 8874, 21845, 0, 0, 0, 0}, {12, 48, 768, 1286, 4438, 0, 0}, {128, 520, 21887, 0, 0, 0, 0}, {520, 112, 1280, 0, 0, 0, 0}, {12, 1542, 4437, 0, 0, 0, 0}, {240, 8794, 1290, 0, 0, 0, 0}, {12, 516, 64, 1028, 4407, 0, 0}, {12, 48, 768, 1280, 4352, 0, 0}, {128, 514, 21845, 0, 0, 0, 0}, {12, 48, 64, 258, 0, 0, 0}, {2560, 8704, 22015, 0, 0, 0, 0}, {1536, 4608, 0, 0, 0, 0, 0}, {127, 257, 0, 0, 0, 0, 0}, {128, 514, 1032, 4128, 0, 0, 0}, {255, 771, 1295, 4403, 0, 0, 0}, {128, 520, 1028, 4160, 0, 0, 0}, {255, 783, 1285, 4437, 0, 0, 0}, {1542, 4714, 0, 0, 0, 0, 0}, {127, 263, 0, 0, 0, 0, 0}, {128, 520, 1032, 4096, 0, 0, 0}, {255, 771, 1285, 4454, 0, 0, 0}, {4778, 12288, 1546, 0, 0, 0, 0}, {267, 771, 372, 1028, 4144, 0, 0}, {4800, 8704, 1548, 0, 0, 0, 0}, {269, 514, 370, 1285, 4386, 0, 0}, {128, 514, 1028, 4192, 0, 0, 0}, {255, 783, 1295, 4352, 0, 0, 0}, {128, 544, 1088, 4112, 0, 0, 0}, {255, 819, 1365, 4369, 0, 0, 0}, {1642, 4626, 0, 0, 0, 0, 0}, {127, 275, 0, 0, 0, 0, 0}, {1644, 4728, 0, 0, 0, 0, 0}, {127, 277, 0, 0, 0, 0, 0}, {128, 554, 1100, 4208, 0, 0, 0}, {255, 831, 1375, 4471, 0, 0, 0}, {4792, 12336, 1632, 0, 0, 0, 0}, {281, 819, 358, 1075, 4096, 0, 0}, {128, 554, 1088, 4144, 0, 0, 0}, {255, 819, 1375, 4420, 0, 0, 0}, {128, 544, 1100, 4176, 0, 0, 0}, {255, 831, 1365, 4386, 0, 0, 0}, {4818, 8738, 1638, 0, 0, 0, 0}, {287, 544, 352, 1312, 4352, 0, 0}, {128, 544, 1024, 4128, 0, 0, 0}, {255, 771, 1370, 4369, 0, 0, 0}, {1706, 3072, 4642, 0, 0, 0, 0}, {291, 771, 348, 1036, 4112, 0, 0}, {1708, 3084, 4680, 0, 0, 0, 0}, {293, 783, 346, 1024, 4111, 0, 0}, {128, 554, 1036, 4160, 0, 0, 0}, {255, 783, 1360, 4471, 0, 0, 0}, {1696, 3072, 5160, 0, 0, 0, 0}, {297, 771, 342, 1036, 4377, 0, 0}, {128, 554, 1024, 4096, 0, 0, 0}, {255, 771, 1360, 4420, 0, 0, 0}, {128, 544, 1036, 4192, 0, 0, 0}, {255, 783, 1370, 4386, 0, 0, 0}, {1702, 3084, 5188, 0, 0, 0, 0}, {303, 783, 336, 1024, 4352, 0, 0}, {1728, 2560, 4656, 0, 0, 0, 0}, {305, 514, 334, 1290, 4369, 0, 0}, {128, 514, 1096, 4112, 0, 0, 0}, {255, 819, 1280, 4403, 0, 0, 0}, {128, 520, 1092, 4208, 0, 0, 0}, {255, 831, 1290, 4437, 0, 0, 0}, {1734, 2570, 4698, 0, 0, 0, 0}, {311, 520, 328, 1280, 4360, 0, 0}, {128, 520, 1096, 4144, 0, 0, 0}, {255, 819, 1290, 4454, 0, 0, 0}, {1738, 2570, 5200, 0, 0, 0, 0}, {315, 520, 324, 1280, 4096, 0, 0}, {1740, 2560, 5180, 0, 0, 0, 0}, {317, 514, 322, 1290, 4127, 0, 0}, {128, 514, 1092, 4176, 0, 0, 0}, {255, 831, 1280, 4352, 0, 0, 0}, {128, 512, 1088, 4160, 0, 0, 0}, {255, 828, 1285, 4369, 0, 0, 0}, {1738, 2570, 5160, 0, 0, 0, 0}, {316, 512, 323, 1295, 4111, 0, 0}, {1740, 2560, 5188, 0, 0, 0, 0}, {314, 522, 325, 1285, 4112, 0, 0}, {128, 522, 1100, 4128, 0, 0, 0}, {255, 816, 1295, 4471, 0, 0, 0}, {1728, 2560, 4680, 0, 0, 0, 0}, {310, 522, 329, 1285, 4377, 0, 0}, {128, 522, 1088, 4192, 0, 0, 0}, {255, 828, 1295, 4420, 0, 0, 0}, {128, 512, 1100, 4096, 0, 0, 0}, {255, 816, 1285, 4386, 0, 0, 0}, {1734, 2570, 4642, 0, 0, 0, 0}, {304, 512, 335, 1295, 4352, 0, 0}, {1696, 3072, 5200, 0, 0, 0, 0}, {302, 780, 337, 1028, 4369, 0, 0}, {128, 546, 1032, 4208, 0, 0, 0}, {255, 780, 1375, 4403, 0, 0, 0}, {128, 552, 1028, 4112, 0, 0, 0}, {255, 768, 1365, 4437, 0, 0, 0}, {1702, 3084, 5180, 0, 0, 0, 0}, {296, 768, 343, 1032, 4360, 0, 0}, {128, 552, 1032, 4176, 0, 0, 0}, {255, 780, 1365, 4454, 0, 0, 0}, {1706, 3072, 4698, 0, 0, 0, 0}, {292, 780, 347, 1028, 4127, 0, 0}, {1708, 3084, 4656, 0, 0, 0, 0}, {290, 768, 349, 1032, 4096, 0, 0}, {128, 546, 1028, 4144, 0, 0, 0}, {255, 768, 1375, 4352, 0, 0, 0}, {4800, 8704, 1632, 0, 0, 0, 0}, {286, 546, 353, 1317, 4369, 0, 0}, {128, 546, 1096, 4160, 0, 0, 0}, {255, 828, 1360, 4403, 0, 0, 0}, {128, 552, 1092, 4128, 0, 0, 0}, {255, 816, 1370, 4437, 0, 0, 0}, {4778, 12288, 1638, 0, 0, 0, 0}, {280, 816, 359, 1079, 4112, 0, 0}, {128, 552, 1096, 4192, 0, 0, 0}, {255, 828, 1370, 4454, 0, 0, 0}, {1642, 4714, 0, 0, 0, 0, 0}, {127, 276, 0, 0, 0, 0, 0}, {1644, 4608, 0, 0, 0, 0, 0}, {127, 274, 0, 0, 0, 0, 0}, {128, 546, 1092, 4096, 0, 0, 0}, {255, 816, 1360, 4352, 0, 0, 0}, {128, 512, 1024, 4208, 0, 0, 0}, {255, 780, 1290, 4369, 0, 0, 0}, {4818, 8738, 1546, 0, 0, 0, 0}, {268, 512, 371, 1280, 4403, 0, 0}, {4792, 12336, 1548, 0, 0, 0, 0}, {266, 768, 373, 1024, 4128, 0, 0}, {128, 522, 1036, 4112, 0, 0, 0}, {255, 768, 1280, 4471, 0, 0, 0}, {1536, 4728, 0, 0, 0, 0, 0}, {127, 262, 0, 0, 0, 0, 0}, {128, 522, 1024, 4176, 0, 0, 0}, {255, 780, 1280, 4420, 0, 0, 0}, {128, 512, 1036, 4144, 0, 0, 0}, {255, 768, 1290, 4386, 0, 0, 0}, {1542, 4626, 0, 0, 0, 0, 0}, {127, 256, 0, 0, 0, 0, 0}, {128, 512, 1024, 4096, 0, 0, 0}, {255, 771, 1285, 4369, 0, 0, 0}, {1546, 4642, 0, 0, 0, 0, 0}, {127, 259, 0, 0, 0, 0, 0}, {1548, 4680, 0, 0, 0, 0, 0}, {127, 261, 0, 0, 0, 0, 0}, {128, 522, 1036, 4192, 0, 0, 0}, {255, 783, 1295, 4471, 0, 0, 0}, {4744, 12288, 1536, 0, 0, 0, 0}, {265, 771, 374, 1285, 4112, 0, 0}, {128, 522, 1024, 4128, 0, 0, 0}, {255, 771, 1295, 4420, 0, 0, 0}, {128, 512, 1036, 4160, 0, 0, 0}, {255, 783, 1285, 4386, 0, 0, 0}, {4834, 8738, 1542, 0, 0, 0, 0}, {271, 512, 368, 1024, 4352, 0, 0}, {1632, 4656, 0, 0, 0, 0, 0}, {127, 273, 0, 0, 0, 0, 0}, {128, 546, 1096, 4144, 0, 0, 0}, {255, 819, 1375, 4403, 0, 0, 0}, {128, 552, 1092, 4176, 0, 0, 0}, {255, 831, 1365, 4437, 0, 0, 0}, {1638, 4698, 0, 0, 0, 0, 0}, {127, 279, 0, 0, 0, 0, 0}, {128, 552, 1096, 4112, 0, 0, 0}, {255, 819, 1365, 4454, 0, 0, 0}, {4762, 12336, 1642, 0, 0, 0, 0}, {283, 819, 356, 1312, 4128, 0, 0}, {4848, 8704, 1644, 0, 0, 0, 0}, {285, 546, 354, 1079, 4386, 0, 0}, {128, 546, 1092, 4208, 0, 0, 0}, {255, 831, 1375, 4352, 0, 0, 0}, {1696, 3072, 4608, 0, 0, 0, 0}, {289, 771, 350, 1028, 4369, 0, 0}, {128, 546, 1032, 4096, 0, 0, 0}, {255, 771, 1360, 4403, 0, 0, 0}, {128, 552, 1028, 4192, 0, 0, 0}, {255, 783, 1370, 4437, 0, 0, 0}, {1702, 3084, 4714, 0, 0, 0, 0}, {295, 783, 344, 1032, 4360, 0, 0}, {128, 552, 1032, 4128, 0, 0, 0}, {255, 771, 1370, 4454, 0, 0, 0}, {1706, 3072, 5120, 0, 0, 0, 0}, {299, 771, 340, 1028, 4112, 0, 0}, {1708, 3084, 5228, 0, 0, 0, 0}, {301, 783, 338, 1032, 4111, 0, 0}, {128, 546, 1028, 4160, 0, 0, 0}, {255, 783, 1360, 4352, 0, 0, 0}, {128, 512, 1088, 4144, 0, 0, 0}, {255, 819, 1290, 4369, 0, 0, 0}, {1738, 2570, 4626, 0, 0, 0, 0}, {307, 512, 332, 1280, 4096, 0, 0}, {1740, 2560, 4728, 0, 0, 0, 0}, {309, 522, 330, 1290, 4127, 0, 0}, {128, 522, 1100, 4176, 0, 0, 0}, {255, 831, 1280, 4471, 0, 0, 0}, {1728, 2560, 5240, 0, 0, 0, 0}, {313, 522, 326, 1290, 4377, 0, 0}, {128, 522, 1088, 4112, 0, 0, 0}, {255, 819, 1280, 4420, 0, 0, 0}, {128, 512, 1100, 4208, 0, 0, 0}, {255, 831, 1290, 4386, 0, 0, 0}, {1734, 2570, 5140, 0, 0, 0, 0}, {319, 512, 320, 1280, 4352, 0, 0}, {1728, 2560, 5120, 0, 0, 0, 0}, {318, 514, 321, 1285, 4369, 0, 0}, {128, 514, 1096, 4192, 0, 0, 0}, {255, 828, 1295, 4403, 0, 0, 0}, {128, 520, 1092, 4096, 0, 0, 0}, {255, 816, 1285, 4437, 0, 0, 0}, {1734, 2570, 5228, 0, 0, 0, 0}, {312, 520, 327, 1295, 4360, 0, 0}, {128, 520, 1096, 4160, 0, 0, 0}, {255, 828, 1285, 4454, 0, 0, 0}, {1738, 2570, 4714, 0, 0, 0, 0}, {308, 520, 331, 1295, 4111, 0, 0}, {1740, 2560, 4608, 0, 0, 0, 0}, {306, 514, 333, 1285, 4112, 0, 0}, {128, 514, 1092, 4128, 0, 0, 0}, {255, 816, 1295, 4352, 0, 0, 0}, {128, 544, 1024, 4176, 0, 0, 0}, {255, 780, 1365, 4369, 0, 0, 0}, {1706, 3072, 5240, 0, 0, 0, 0}, {300, 780, 339, 1036, 4127, 0, 0}, {1708, 3084, 5140, 0, 0, 0, 0}, {298, 768, 341, 1024, 4096, 0, 0}, {128, 554, 1036, 4144, 0, 0, 0}, {255, 768, 1375, 4471, 0, 0, 0}, {1696, 3072, 4728, 0, 0, 0, 0}, {294, 780, 345, 1036, 4377, 0, 0}, {128, 554, 1024, 4208, 0, 0, 0}, {255, 780, 1375, 4420, 0, 0, 0}, {128, 544, 1036, 4112, 0, 0, 0}, {255, 768, 1365, 4386, 0, 0, 0}, {1702, 3084, 4626, 0, 0, 0, 0}, {288, 768, 351, 1024, 4352, 0, 0}, {128, 544, 1088, 4192, 0, 0, 0}, {255, 828, 1370, 4369, 0, 0, 0}, {4834, 8738, 1642, 0, 0, 0, 0}, {284, 544, 355, 1075, 4403, 0, 0}, {4744, 12288, 1644, 0, 0, 0, 0}, {282, 816, 357, 1317, 4144, 0, 0}, {128, 554, 1100, 4096, 0, 0, 0}, {255, 816, 1360, 4471, 0, 0, 0}, {1632, 4680, 0, 0, 0, 0, 0}, {127, 278, 0, 0, 0, 0, 0}, {128, 554, 1088, 4160, 0, 0, 0}, {255, 828, 1360, 4420, 0, 0, 0}, {128, 544, 1100, 4128, 0, 0, 0}, {255, 816, 1370, 4386, 0, 0, 0}, {1638, 4642, 0, 0, 0, 0, 0}, {127, 272, 0, 0, 0, 0, 0}, {4848, 8704, 1536, 0, 0, 0, 0}, {270, 514, 369, 1028, 4369, 0, 0}, {128, 514, 1032, 4176, 0, 0, 0}, {255, 780, 1280, 4403, 0, 0, 0}, {128, 520, 1028, 4144, 0, 0, 0}, {255, 768, 1290, 4437, 0, 0, 0}, {4762, 12336, 1542, 0, 0, 0, 0}, {264, 768, 375, 1280, 4096, 0, 0}, {128, 520, 1032, 4208, 0, 0, 0}, {255, 780, 1290, 4454, 0, 0, 0}, {1546, 4698, 0, 0, 0, 0, 0}, {127, 260, 0, 0, 0, 0, 0}, {1548, 4656, 0, 0, 0, 0, 0}, {127, 258, 0, 0, 0, 0, 0}, {128, 514, 1028, 4112, 0, 0, 0}, {255, 768, 1280, 4352, 0, 0, 0}, {32512, 0, 0, 0, 0, 0, 0}, {6, 18, 257, 0, 0, 0, 0}, {10, 34, 514, 21760, 0, 0, 0}, {12, 48, 771, 16384, 0, 0, 0}, {12, 13056, 68, 1028, 0, 0, 0}, {10, 8192, 80, 1285, 0, 0, 0}, {6, 4864, 0, 0, 0, 0, 0}, {120, 1799, 0, 0, 0, 0, 0}, {136, 2056, 30464, 0, 0, 0, 0}, {48, 771, 6, 4096, 0, 0, 0}, {10, 8192, 21760, 0, 0, 0, 0}, {12, 48, 771, 68, 1028, 0, 0}, {12, 13056, 16384, 0, 0, 0, 0}, {10, 34, 514, 80, 1285, 0, 0}, {34, 514, 6, 4352, 0, 0, 0}, {240, 3855, 28672, 0, 0, 0, 0}, {3840, 48, 80, 4112, 0, 0, 0}, {2048, 34, 68, 4369, 0, 0, 0}, {1792, 18, 0, 0, 0, 0, 0}, {108, 4883, 0, 0, 0, 0, 0}, {1792, 20, 0, 0, 0, 0, 0}, {106, 5397, 0, 0, 0, 0, 0}, {3840, 60, 90, 5654, 0, 0, 0}, {2048, 40, 72, 5911, 0, 0, 0}, {24, 48, 80, 1792, 4096, 0, 0}, {6425, 13107, 102, 0, 0, 0, 0}, {3840, 48, 90, 5402, 0, 0, 0}, {2048, 40, 68, 4891, 0, 0, 0}, {3840, 60, 80, 4892, 0, 0, 0}, {2048, 34, 72, 5405, 0, 0, 0}, {30, 34, 68, 1792, 4352, 0, 0}, {7967, 8224, 96, 0, 0, 0, 0}, {160, 8224, 24320, 0, 0, 0, 0}, {12, 771, 1024, 18, 0, 0, 0}, {2048, 34, 21760, 0, 0, 0, 0}, {12, 48, 771, 80, 4112, 0, 0}, {12, 36, 68, 1024, 4864, 0, 0}, {3855, 9509, 90, 0, 0, 0, 0}, {12, 102, 5414, 0, 0, 0, 0}, {40, 80, 1807, 0, 0, 0, 0}, {2048, 40, 22272, 0, 0, 0, 0}, {12, 48, 771, 86, 5397, 0, 0}, {170, 10794, 21760, 0, 0, 0, 0}, {12, 771, 1024, 20, 0, 0, 0}, {12, 96, 4896, 0, 0, 0, 0}, {34, 90, 1807, 0, 0, 0, 0}, {12, 34, 68, 1024, 4352, 0, 0}, {3855, 8224, 80, 0, 0, 0, 0}, {3840, 48, 16384, 0, 0, 0, 0}, {10, 34, 514, 68, 4369, 0, 0}, {10, 514, 1280, 18, 0, 0, 0}, {204, 13107, 19456, 0, 0, 0, 0}, {60, 68, 1800, 0, 0, 0, 0}, {10, 96, 5429, 0, 0, 0, 0}, {10, 54, 80, 1280, 4864, 0, 0}, {2056, 14135, 72, 0, 0, 0, 0}, {48, 72, 1800, 0, 0, 0, 0}, {10, 102, 4915, 0, 0, 0, 0}, {10, 48, 80, 1280, 4096, 0, 0}, {2056, 13107, 68, 0, 0, 0, 0}, {3840, 60, 17152, 0, 0, 0, 0}, {10, 34, 514, 66, 5397, 0, 0}, {10, 514, 1280, 20, 0, 0, 0}, {192, 16191, 16384, 0, 0, 0, 0}, {192, 16128, 16448, 0, 0, 0, 0}, {10, 512, 1285, 20, 0, 0, 0}, {10, 34, 512, 66, 5376, 0, 0}, {3855, 60, 17219, 0, 0, 0, 0}, {2048, 13056, 68, 0, 0, 0, 0}, {10, 48, 80, 1285, 4112, 0, 0}, {10, 102, 4896, 0, 0, 0, 0}, {48, 72, 1807, 0, 0, 0, 0}, {2048, 14080, 72, 0, 0, 0, 0}, {10, 54, 80, 1285, 4883, 0, 0}, {10, 96, 5408, 0, 0, 0, 0}, {60, 68, 1807, 0, 0, 0, 0}, {204, 13056, 19532, 0, 0, 0, 0}, {10, 512, 1285, 18, 0, 0, 0}, {10, 34, 512, 68, 4352, 0, 0}, {3855, 48, 16448, 0, 0, 0, 0}, {3840, 8192, 80, 0, 0, 0, 0}, {12, 34, 68, 1028, 4369, 0, 0}, {34, 90, 1800, 0, 0, 0, 0}, {12, 96, 4915, 0, 0, 0, 0}, {12, 768, 1028, 20, 0, 0, 0}, {170, 10752, 21845, 0, 0, 0, 0}, {12, 48, 768, 86, 5376, 0, 0}, {2056, 40, 22359, 0, 0, 0, 0}, {40, 80, 1800, 0, 0, 0, 0}, {12, 102, 5427, 0, 0, 0, 0}, {3840, 9472, 90, 0, 0, 0, 0}, {12, 36, 68, 1028, 4883, 0, 0}, {12, 48, 768, 80, 4096, 0, 0}, {2056, 34, 21845, 0, 0, 0, 0}, {12, 768, 1028, 18, 0, 0, 0}, {160, 8192, 24415, 0, 0, 0, 0}, {7936, 8192, 96, 0, 0, 0, 0}, {30, 34, 68, 1799, 4369, 0, 0}, {2056, 34, 72, 5384, 0, 0, 0}, {3855, 60, 80, 4879, 0, 0, 0}, {2056, 40, 68, 4872, 0, 0, 0}, {3855, 48, 90, 5391, 0, 0, 0}, {6400, 13056, 102, 0, 0, 0, 0}, {24, 48, 80, 1799, 4112, 0, 0}, {2056, 40, 72, 5888, 0, 0, 0}, {3855, 60, 90, 5632, 0, 0, 0}, {106, 5376, 0, 0, 0, 0, 0}, {1799, 20, 0, 0, 0, 0, 0}, {108, 4864, 0, 0, 0, 0, 0}, {1799, 18, 0, 0, 0, 0, 0}, {2056, 34, 68, 4352, 0, 0, 0}, {3855, 48, 80, 4096, 0, 0, 0}, {240, 3840, 28784, 0, 0, 0, 0}, {34, 512, 6, 4369, 0, 0, 0}, {10, 34, 512, 80, 1280, 0, 0}, {12, 13107, 16448, 0, 0, 0, 0}, {12, 48, 768, 68, 1024, 0, 0}, {10, 8224, 21845, 0, 0, 0, 0}, {48, 768, 6, 4112, 0, 0, 0}, {136, 2048, 30583, 0, 0, 0, 0}, {120, 1792, 0, 0, 0, 0, 0}, {6, 4883, 0, 0, 0, 0, 0}, {10, 8224, 80, 1280, 0, 0, 0}, {12, 13107, 68, 1024, 0, 0, 0}, {12, 48, 768, 16448, 0, 0, 0}, {10, 34, 512, 21845, 0, 0, 0}, {6, 18, 256, 0, 0, 0, 0}, {32639, 0, 0, 0, 0, 0, 0}, {32640, 0, 0, 0, 0, 0, 0}, {6, 18, 259, 0, 0, 0, 0}, {10, 34, 512, 21760, 0, 0, 0}, {12, 48, 771, 16448, 0, 0, 0}, {12, 13056, 68, 1024, 0, 0, 0}, {10, 8224, 80, 1285, 0, 0, 0}, {6, 4896, 0, 0, 0, 0, 0}, {120, 1807, 0, 0, 0, 0, 0}, {136, 2048, 30464, 0, 0, 0, 0}, {48, 771, 6, 4112, 0, 0, 0}, {10, 8224, 21760, 0, 0, 0, 0}, {12, 48, 771, 68, 1024, 0, 0}, {12, 13056, 16448, 0, 0, 0, 0}, {10, 34, 512, 80, 1285, 0, 0}, {34, 512, 6, 4352, 0, 0, 0}, {240, 3855, 28784, 0, 0, 0, 0}, {3840, 48, 80, 4096, 0, 0, 0}, {2056, 34, 68, 4369, 0, 0, 0}, {1800, 18, 0, 0, 0, 0, 0}, {108, 4915, 0, 0, 0, 0, 0}, {1800, 20, 0, 0, 0, 0, 0}, {106, 5439, 0, 0, 0, 0, 0}, {3840, 60, 90, 5632, 0, 0, 0}, {2056, 40, 72, 5911, 0, 0, 0}, {24, 48, 80, 1808, 4112, 0, 0}, {6451, 13107, 102, 0, 0, 0, 0}, {3840, 48, 90, 5376, 0, 0, 0}, {2056, 40, 68, 4883, 0, 0, 0}, {3840, 60, 80, 4864, 0, 0, 0}, {2056, 34, 72, 5397, 0, 0, 0}, {30, 34, 68, 1814, 4352, 0, 0}, {7999, 8192, 96, 0, 0, 0, 0}, {160, 8192, 24320, 0, 0, 0, 0}, {12, 771, 1028, 18, 0, 0, 0}, {2056, 34, 21760, 0, 0, 0, 0}, {12, 48, 771, 80, 4096, 0, 0}, {12, 36, 68, 1028, 4868, 0, 0}, {3855, 9487, 90, 0, 0, 0, 0}, {12, 102, 5376, 0, 0, 0, 0}, {40, 80, 1799, 0, 0, 0, 0}, {2056, 40, 22280, 0, 0, 0, 0}, {12, 48, 771, 86, 5379, 0, 0}, {170, 10752, 21760, 0, 0, 0, 0}, {12, 771, 1028, 20, 0, 0, 0}, {12, 96, 4864, 0, 0, 0, 0}, {34, 90, 1799, 0, 0, 0, 0}, {12, 34, 68, 1028, 4352, 0, 0}, {3855, 8192, 80, 0, 0, 0, 0}, {3840, 48, 16448, 0, 0, 0, 0}, {10, 34, 512, 68, 4369, 0, 0}, {10, 512, 1280, 18, 0, 0, 0}, {204, 13107, 19532, 0, 0, 0, 0}, {60, 68, 1792, 0, 0, 0, 0}, {10, 96, 5397, 0, 0, 0, 0}, {10, 54, 80, 1280, 4886, 0, 0}, {2048, 14143, 72, 0, 0, 0, 0}, {48, 72, 1792, 0, 0, 0, 0}, {10, 102, 4883, 0, 0, 0, 0}, {10, 48, 80, 1280, 4112, 0, 0}, {2048, 13107, 68, 0, 0, 0, 0}, {3840, 60, 17228, 0, 0, 0, 0}, {10, 34, 512, 66, 5399, 0, 0}, {10, 512, 1280, 20, 0, 0, 0}, {192, 16191, 16448, 0, 0, 0, 0}, {192, 16128, 16384, 0, 0, 0, 0}, {10, 514, 1285, 20, 0, 0, 0}, {10, 34, 514, 66, 5378, 0, 0}, {3855, 60, 17167, 0, 0, 0, 0}, {2056, 13056, 68, 0, 0, 0, 0}, {10, 48, 80, 1285, 4096, 0, 0}, {10, 102, 4864, 0, 0, 0, 0}, {48, 72, 1799, 0, 0, 0, 0}, {2056, 14088, 72, 0, 0, 0, 0}, {10, 54, 80, 1285, 4869, 0, 0}, {10, 96, 5376, 0, 0, 0, 0}, {60, 68, 1799, 0, 0, 0, 0}, {204, 13056, 19456, 0, 0, 0, 0}, {10, 514, 1285, 18, 0, 0, 0}, {10, 34, 514, 68, 4352, 0, 0}, {3855, 48, 16384, 0, 0, 0, 0}, {3840, 8224, 80, 0, 0, 0, 0}, {12, 34, 68, 1024, 4369, 0, 0}, {34, 90, 1792, 0, 0, 0, 0}, {12, 96, 4883, 0, 0, 0, 0}, {12, 768, 1024, 20, 0, 0, 0}, {170, 10794, 21845, 0, 0, 0, 0}, {12, 48, 768, 86, 5398, 0, 0}, {2048, 40, 22367, 0, 0, 0, 0}, {40, 80, 1792, 0, 0, 0, 0}, {12, 102, 5397, 0, 0, 0, 0}, {3840, 9514, 90, 0, 0, 0, 0}, {12, 36, 68, 1024, 4887, 0, 0}, {12, 48, 768, 80, 4112, 0, 0}, {2048, 34, 21845, 0, 0, 0, 0}, {12, 768, 1024, 18, 0, 0, 0}, {160, 8224, 24415, 0, 0, 0, 0}, {7968, 8224, 96, 0, 0, 0, 0}, {30, 34, 68, 1809, 4369, 0, 0}, {2048, 34, 72, 5376, 0, 0, 0}, {3855, 60, 80, 4883, 0, 0, 0}, {2048, 40, 68, 4864, 0, 0, 0}, {3855, 48, 90, 5397, 0, 0, 0}, {6442, 13056, 102, 0, 0, 0, 0}, {24, 48, 80, 1815, 4096, 0, 0}, {2048, 40, 72, 5888, 0, 0, 0}, {3855, 60, 90, 5654, 0, 0, 0}, {106, 5418, 0, 0, 0, 0, 0}, {1807, 20, 0, 0, 0, 0, 0}, {108, 4896, 0, 0, 0, 0, 0}, {1807, 18, 0, 0, 0, 0, 0}, {2048, 34, 68, 4352, 0, 0, 0}, {3855, 48, 80, 4112, 0, 0, 0}, {240, 3840, 28672, 0, 0, 0, 0}, {34, 514, 6, 4369, 0, 0, 0}, {10, 34, 514, 80, 1280, 0, 0}, {12, 13107, 16384, 0, 0, 0, 0}, {12, 48, 768, 68, 1028, 0, 0}, {10, 8192, 21845, 0, 0, 0, 0}, {48, 768, 6, 4096, 0, 0, 0}, {136, 2056, 30583, 0, 0, 0, 0}, {120, 1800, 0, 0, 0, 0, 0}, {6, 4915, 0, 0, 0, 0, 0}, {10, 8192, 80, 1280, 0, 0, 0}, {12, 13107, 68, 1028, 0, 0, 0}, {12, 48, 768, 16384, 0, 0, 0}, {10, 34, 514, 21845, 0, 0, 0}, {6, 18, 258, 0, 0, 0, 0}, {32767, 0, 0, 0, 0, 0, 0}, {32768, 0, 0, 0, 0, 0, 0}, {3, 5, 17, 257, 0, 0, 0}, {10, 34, 514, 0, 0, 0, 0}, {3, 16384, 0, 0, 0, 0, 0}, {12, 68, 1028, 0, 0, 0, 0}, {8192, 5, 0, 0, 0, 0, 0}, {8192, 6, 0, 0, 0, 0, 0}, {15, 119, 1799, 0, 0, 0, 0}, {136, 2056, 0, 0, 0, 0, 0}, {3, 5, 4096, 0, 0, 0, 0}, {10, 8192, 0, 0, 0, 0, 0}, {3, 68, 1028, 0, 0, 0, 0}, {12, 16384, 0, 0, 0, 0, 0}, {34, 514, 5, 0, 0, 0, 0}, {34, 514, 6, 0, 0, 0, 0}, {15, 28672, 0, 0, 0, 0, 0}, {48, 80, 4112, 0, 0, 0, 0}, {2048, 17, 0, 0, 0, 0, 0}, {2048, 18, 0, 0, 0, 0, 0}, {51, 95, 4883, 0, 0, 0, 0}, {2048, 20, 0, 0, 0, 0, 0}, {63, 85, 5397, 0, 0, 0, 0}, {60, 90, 5654, 0, 0, 0, 0}, {2048, 23, 0, 0, 0, 0, 0}, {24, 48, 80, 4096, 0, 0, 0}, {6425, 51, 85, 0, 0, 0, 0}, {6682, 48, 90, 0, 0, 0, 0}, {27, 51, 68, 4864, 0, 0, 0}, {7196, 60, 80, 0, 0, 0, 0}, {29, 34, 85, 5376, 0, 0, 0}, {30, 34, 68, 5632, 0, 0, 0}, {7967, 63, 95, 0, 0, 0, 0}, {160, 8224, 0, 0, 0, 0, 0}, {3, 1024, 17, 0, 0, 0, 0}, {2048, 34, 0, 0, 0, 0, 0}, {3, 80, 4112, 0, 0, 0, 0}, {12, 36, 68, 1024, 0, 0, 0}, {15, 9509, 85, 0, 0, 0, 0}, {12, 9766, 102, 0, 0, 0, 0}, {15, 39, 80, 1792, 0, 0, 0}, {2048, 40, 0, 0, 0, 0, 0}, {3, 85, 5397, 0, 0, 0, 0}, {170, 10794, 0, 0, 0, 0, 0}, {3, 1024, 20, 0, 0, 0, 0}, {12, 8224, 96, 0, 0, 0, 0}, {15, 34, 85, 1792, 0, 0, 0}, {12, 34, 68, 1024, 0, 0, 0}, {15, 8224, 80, 0, 0, 0, 0}, {48, 16384, 0, 0, 0, 0, 0}, {10, 514, 17, 0, 0, 0, 0}, {10, 514, 18, 0, 0, 0, 0}, {51, 19456, 0, 0, 0, 0, 0}, {2056, 60, 68, 0, 0, 0, 0}, {10, 53, 85, 5376, 0, 0, 0}, {10, 54, 80, 5632, 0, 0, 0}, {2056, 63, 72, 0, 0, 0, 0}, {2056, 48, 72, 0, 0, 0, 0}, {10, 51, 85, 4864, 0, 0, 0}, {10, 48, 80, 4096, 0, 0, 0}, {2056, 51, 68, 0, 0, 0, 0}, {60, 19456, 0, 0, 0, 0, 0}, {10, 514, 23, 0, 0, 0, 0}, {10, 514, 20, 0, 0, 0, 0}, {63, 16384, 0, 0, 0, 0, 0}, {192, 16448, 0, 0, 0, 0, 0}, {512, 5, 17, 0, 0, 0, 0}, {10, 34, 512, 66, 0, 0, 0}, {15, 51, 17219, 0, 0, 0, 0}, {2048, 68, 0, 0, 0, 0, 0}, {48, 5, 4112, 0, 0, 0, 0}, {10, 8224, 102, 0, 0, 0, 0}, {15, 48, 71, 1792, 0, 0, 0}, {2048, 72, 0, 0, 0, 0, 0}, {51, 5, 4883, 0, 0, 0, 0}, {10, 8224, 96, 0, 0, 0, 0}, {15, 51, 68, 1792, 0, 0, 0}, {204, 19532, 0, 0, 0, 0, 0}, {512, 5, 18, 0, 0, 0, 0}, {10, 34, 512, 68, 0, 0, 0}, {15, 48, 16448, 0, 0, 0, 0}, {8192, 80, 0, 0, 0, 0, 0}, {12, 1028, 17, 0, 0, 0, 0}, {2056, 34, 90, 0, 0, 0, 0}, {12, 51, 83, 4864, 0, 0, 0}, {12, 1028, 20, 0, 0, 0, 0}, {10752, 85, 0, 0, 0, 0, 0}, {12, 48, 86, 5632, 0, 0, 0}, {2056, 40, 95, 0, 0, 0, 0}, {2056, 40, 80, 0, 0, 0, 0}, {12, 51, 85, 5376, 0, 0, 0}, {10752, 90, 0, 0, 0, 0, 0}, {12, 1028, 23, 0, 0, 0, 0}, {12, 48, 80, 4096, 0, 0, 0}, {2056, 34, 85, 0, 0, 0, 0}, {12, 1028, 18, 0, 0, 0, 0}, {8192, 95, 0, 0, 0, 0, 0}, {8192, 96, 0, 0, 0, 0, 0}, {15, 1799, 17, 0, 0, 0, 0}, {2056, 34, 72, 0, 0, 0, 0}, {15, 51, 80, 4864, 0, 0, 0}, {2056, 40, 68, 0, 0, 0, 0}, {15, 48, 85, 5376, 0, 0, 0}, {10752, 102, 0, 0, 0, 0, 0}, {15, 1799, 23, 0, 0, 0, 0}, {2056, 40, 72, 0, 0, 0, 0}, {15, 51, 85, 5632, 0, 0, 0}, {10752, 106, 0, 0, 0, 0, 0}, {15, 1799, 20, 0, 0, 0, 0}, {8192, 108, 0, 0, 0, 0, 0}, {15, 1799, 18, 0, 0, 0, 0}, {2056, 34, 68, 0, 0, 0, 0}, {15, 48, 80, 4096, 0, 0, 0}, {240, 28784, 0, 0, 0, 0, 0}, {512, 6, 17, 0, 0, 0, 0}, {10, 34, 512, 80, 0, 0, 0}, {12, 51, 16448, 0, 0, 0, 0}, {12, 48, 68, 1024, 0, 0, 0}, {10, 8224, 85, 0, 0, 0, 0}, {48, 6, 4112, 0, 0, 0, 0}, {2048, 119, 0, 0, 0, 0, 0}, {2048, 120, 0, 0, 0, 0, 0}, {51, 6, 4883, 0, 0, 0, 0}, {10, 8224, 80, 0, 0, 0, 0}, {12, 51, 68, 1024, 0, 0, 0}, {12, 48, 16448, 0, 0, 0, 0}, {10, 34, 512, 85, 0, 0, 0}, {512, 6, 18, 0, 0, 0, 0}, {255, 32639, 0, 0, 0, 0, 0}, {32896, 0, 0, 0, 0, 0, 0}, {3, 5, 17, 256, 0, 0, 0}, {10, 34, 512, 0, 0, 0, 0}, {3, 16448, 0, 0, 0, 0, 0}, {12, 68, 1024, 0, 0, 0, 0}, {8224, 5, 0, 0, 0, 0, 0}, {8224, 6, 0, 0, 0, 0, 0}, {15, 119, 1792, 0, 0, 0, 0}, {136, 2048, 0, 0, 0, 0, 0}, {3, 5, 4112, 0, 0, 0, 0}, {10, 8224, 0, 0, 0, 0, 0}, {3, 68, 1024, 0, 0, 0, 0}, {12, 16448, 0, 0, 0, 0, 0}, {34, 512, 5, 0, 0, 0, 0}, {34, 512, 6, 0, 0, 0, 0}, {15, 28784, 0, 0, 0, 0, 0}, {48, 80, 4096, 0, 0, 0, 0}, {2056, 17, 0, 0, 0, 0, 0}, {2056, 18, 0, 0, 0, 0, 0}, {51, 95, 4864, 0, 0, 0, 0}, {2056, 20, 0, 0, 0, 0, 0}, {63, 85, 5376, 0, 0, 0, 0}, {60, 90, 5632, 0, 0, 0, 0}, {2056, 23, 0, 0, 0, 0, 0}, {24, 48, 80, 4112, 0, 0, 0}, {6400, 51, 85, 0, 0, 0, 0}, {6656, 48, 90, 0, 0, 0, 0}, {27, 51, 68, 4883, 0, 0, 0}, {7168, 60, 80, 0, 0, 0, 0}, {29, 34, 85, 5397, 0, 0, 0}, {30, 34, 68, 5654, 0, 0, 0}, {7936, 63, 95, 0, 0, 0, 0}, {160, 8192, 0, 0, 0, 0, 0}, {3, 1028, 17, 0, 0, 0, 0}, {2056, 34, 0, 0, 0, 0, 0}, {3, 80, 4096, 0, 0, 0, 0}, {12, 36, 68, 1028, 0, 0, 0}, {15, 9472, 85, 0, 0, 0, 0}, {12, 9728, 102, 0, 0, 0, 0}, {15, 39, 80, 1799, 0, 0, 0}, {2056, 40, 0, 0, 0, 0, 0}, {3, 85, 5376, 0, 0, 0, 0}, {170, 10752, 0, 0, 0, 0, 0}, {3, 1028, 20, 0, 0, 0, 0}, {12, 8192, 96, 0, 0, 0, 0}, {15, 34, 85, 1799, 0, 0, 0}, {12, 34, 68, 1028, 0, 0, 0}, {15, 8192, 80, 0, 0, 0, 0}, {48, 16448, 0, 0, 0, 0, 0}, {10, 512, 17, 0, 0, 0, 0}, {10, 512, 18, 0, 0, 0, 0}, {51, 19532, 0, 0, 0, 0, 0}, {2048, 60, 68, 0, 0, 0, 0}, {10, 53, 85, 5397, 0, 0, 0}, {10, 54, 80, 5654, 0, 0, 0}, {2048, 63, 72, 0, 0, 0, 0}, {2048, 48, 72, 0, 0, 0, 0}, {10, 51, 85, 4883, 0, 0, 0}, {10, 48, 80, 4112, 0, 0, 0}, {2048, 51, 68, 0, 0, 0, 0}, {60, 19532, 0, 0, 0, 0, 0}, {10, 512, 23, 0, 0, 0, 0}, {10, 512, 20, 0, 0, 0, 0}, {63, 16448, 0, 0, 0, 0, 0}, {192, 16384, 0, 0, 0, 0, 0}, {514, 5, 17, 0, 0, 0, 0}, {10, 34, 514, 66, 0, 0, 0}, {15, 51, 17152, 0, 0, 0, 0}, {2056, 68, 0, 0, 0, 0, 0}, {48, 5, 4096, 0, 0, 0, 0}, {10, 8192, 102, 0, 0, 0, 0}, {15, 48, 71, 1799, 0, 0, 0}, {2056, 72, 0, 0, 0, 0, 0}, {51, 5, 4864, 0, 0, 0, 0}, {10, 8192, 96, 0, 0, 0, 0}, {15, 51, 68, 1799, 0, 0, 0}, {204, 19456, 0, 0, 0, 0, 0}, {514, 5, 18, 0, 0, 0, 0}, {10, 34, 514, 68, 0, 0, 0}, {15, 48, 16384, 0, 0, 0, 0}, {8224, 80, 0, 0, 0, 0, 0}, {12, 1024, 17, 0, 0, 0, 0}, {2048, 34, 90, 0, 0, 0, 0}, {12, 51, 83, 4883, 0, 0, 0}, {12, 1024, 20, 0, 0, 0, 0}, {10794, 85, 0, 0, 0, 0, 0}, {12, 48, 86, 5654, 0, 0, 0}, {2048, 40, 95, 0, 0, 0, 0}, {2048, 40, 80, 0, 0, 0, 0}, {12, 51, 85, 5397, 0, 0, 0}, {10794, 90, 0, 0, 0, 0, 0}, {12, 1024, 23, 0, 0, 0, 0}, {12, 48, 80, 4112, 0, 0, 0}, {2048, 34, 85, 0, 0, 0, 0}, {12, 1024, 18, 0, 0, 0, 0}, {8224, 95, 0, 0, 0, 0, 0}, {8224, 96, 0, 0, 0, 0, 0}, {15, 1792, 17, 0, 0, 0, 0}, {2048, 34, 72, 0, 0, 0, 0}, {15, 51, 80, 4883, 0, 0, 0}, {2048, 40, 68, 0, 0, 0, 0}, {15, 48, 85, 5397, 0, 0, 0}, {10794, 102, 0, 0, 0, 0, 0}, {15, 1792, 23, 0, 0, 0, 0}, {2048, 40, 72, 0, 0, 0, 0}, {15, 51, 85, 5654, 0, 0, 0}, {10794, 106, 0, 0, 0, 0, 0}, {15, 1792, 20, 0, 0, 0, 0}, {8224, 108, 0, 0, 0, 0, 0}, {15, 1792, 18, 0, 0, 0, 0}, {2048, 34, 68, 0, 0, 0, 0}, {15, 48, 80, 4112, 0, 0, 0}, {240, 28672, 0, 0, 0, 0, 0}, {514, 6, 17, 0, 0, 0, 0}, {10, 34, 514, 80, 0, 0, 0}, {12, 51, 16384, 0, 0, 0, 0}, {12, 48, 68, 1028, 0, 0, 0}, {10, 8192, 85, 0, 0, 0, 0}, {48, 6, 4096, 0, 0, 0, 0}, {2056, 119, 0, 0, 0, 0, 0}, {2056, 120, 0, 0, 0, 0, 0}, {51, 6, 4864, 0, 0, 0, 0}, {10, 8192, 80, 0, 0, 0, 0}, {12, 51, 68, 1028, 0, 0, 0}, {12, 48, 16384, 0, 0, 0, 0}, {10, 34, 514, 85, 0, 0, 0}, {514, 6, 18, 0, 0, 0, 0}, {255, 32512, 0, 0, 0, 0, 0}, {768, 1280, 4352, 0, 0, 0, 0}, {128, 257, 0, 0, 0, 0, 0}, {128, 258, 0, 0, 0, 0, 0}, {771, 1295, 4403, 0, 0, 0, 0}, {128, 260, 0, 0, 0, 0, 0}, {783, 1285, 4437, 0, 0, 0, 0}, {780, 1290, 4454, 0, 0, 0, 0}, {128, 263, 0, 0, 0, 0, 0}, {264, 768, 1280, 4096, 0, 0, 0}, {4505, 771, 1285, 0, 0, 0, 0}, {4522, 768, 1290, 0, 0, 0, 0}, {267, 771, 1028, 4144, 0, 0, 0}, {4556, 780, 1280, 0, 0, 0, 0}, {269, 514, 1285, 4176, 0, 0, 0}, {270, 514, 1028, 4192, 0, 0, 0}, {4607, 783, 1295, 0, 0, 0, 0}, {128, 272, 0, 0, 0, 0, 0}, {819, 1365, 4369, 0, 0, 0, 0}, {816, 1370, 4386, 0, 0, 0, 0}, {128, 275, 0, 0, 0, 0, 0}, {828, 1360, 4420, 0, 0, 0, 0}, {128, 277, 0, 0, 0, 0, 0}, {128, 278, 0, 0, 0, 0, 0}, {831, 1375, 4471, 0, 0, 0, 0}, {4488, 816, 1360, 0, 0, 0, 0}, {281, 819, 1365, 4096, 0, 0, 0}, {282, 816, 1088, 4144, 0, 0, 0}, {4539, 819, 1375, 0, 0, 0, 0}, {284, 544, 1360, 4176, 0, 0, 0}, {4573, 831, 1365, 0, 0, 0, 0}, {4590, 828, 1370, 0, 0, 0, 0}, {287, 544, 1088, 4192, 0, 0, 0}, {288, 768, 1024, 4352, 0, 0, 0}, {1445, 771, 4369, 0, 0, 0, 0}, {1450, 768, 4386, 0, 0, 0, 0}, {291, 771, 1036, 4112, 0, 0, 0}, {1440, 780, 4420, 0, 0, 0, 0}, {293, 783, 1024, 4437, 0, 0, 0}, {294, 780, 1036, 4160, 0, 0, 0}, {1455, 783, 4471, 0, 0, 0, 0}, {1440, 768, 5160, 0, 0, 0, 0}, {297, 771, 1036, 4377, 0, 0, 0}, {298, 768, 1024, 4096, 0, 0, 0}, {1455, 771, 5140, 0, 0, 0, 0}, {300, 780, 1036, 4428, 0, 0, 0}, {1445, 783, 5240, 0, 0, 0, 0}, {1450, 780, 5188, 0, 0, 0, 0}, {303, 783, 1024, 4176, 0, 0, 0}, {1520, 816, 4352, 0, 0, 0, 0}, {305, 514, 1092, 4369, 0, 0, 0}, {306, 514, 1096, 4112, 0, 0, 0}, {1535, 819, 4403, 0, 0, 0, 0}, {308, 520, 1092, 4420, 0, 0, 0}, {1525, 831, 4437, 0, 0, 0, 0}, {1530, 828, 4454, 0, 0, 0, 0}, {311, 520, 1096, 4160, 0, 0, 0}, {312, 520, 1096, 4360, 0, 0, 0}, {1525, 819, 5228, 0, 0, 0, 0}, {1530, 816, 5200, 0, 0, 0, 0}, {315, 520, 1092, 4096, 0, 0, 0}, {1520, 828, 5180, 0, 0, 0, 0}, {317, 514, 1096, 4445, 0, 0, 0}, {318, 514, 1092, 4176, 0, 0, 0}, {1535, 831, 5120, 0, 0, 0, 0}, {512, 320, 1280, 4352, 0, 0, 0}, {963, 1285, 4369, 0, 0, 0, 0}, {960, 1290, 4386, 0, 0, 0, 0}, {512, 323, 1295, 4403, 0, 0, 0}, {972, 1280, 4420, 0, 0, 0, 0}, {522, 325, 1285, 4112, 0, 0, 0}, {522, 326, 1290, 4128, 0, 0, 0}, {975, 1295, 4471, 0, 0, 0, 0}, {960, 1280, 4680, 0, 0, 0, 0}, {522, 329, 1285, 4377, 0, 0, 0}, {522, 330, 1290, 4394, 0, 0, 0}, {963, 1295, 4728, 0, 0, 0, 0}, {512, 332, 1280, 4096, 0, 0, 0}, {975, 1285, 4626, 0, 0, 0, 0}, {972, 1290, 4642, 0, 0, 0, 0}, {512, 335, 1295, 4144, 0, 0, 0}, {1008, 1360, 4352, 0, 0, 0, 0}, {546, 337, 1028, 4369, 0, 0, 0}, {546, 338, 1032, 4386, 0, 0, 0}, {1011, 1375, 4403, 0, 0, 0, 0}, {552, 340, 1028, 4112, 0, 0, 0}, {1023, 1365, 4437, 0, 0, 0, 0}, {1020, 1370, 4454, 0, 0, 0, 0}, {552, 343, 1032, 4128, 0, 0, 0}, {552, 344, 1032, 4360, 0, 0, 0}, {1011, 1365, 4714, 0, 0, 0, 0}, {1008, 1370, 4698, 0, 0, 0, 0}, {552, 347, 1028, 4411, 0, 0, 0}, {1020, 1360, 4656, 0, 0, 0, 0}, {546, 349, 1032, 4096, 0, 0, 0}, {546, 350, 1028, 4144, 0, 0, 0}, {1023, 1375, 4608, 0, 0, 0, 0}, {960, 1632, 4352, 0, 0, 0, 0}, {546, 353, 1317, 4369, 0, 0, 0}, {546, 354, 1322, 4386, 0, 0, 0}, {963, 1644, 4403, 0, 0, 0, 0}, {552, 356, 1312, 4128, 0, 0, 0}, {975, 1642, 4437, 0, 0, 0, 0}, {972, 1638, 4454, 0, 0, 0, 0}, {552, 359, 1327, 4112, 0, 0, 0}, {552, 360, 1312, 4360, 0, 0, 0}, {963, 1638, 4698, 0, 0, 0, 0}, {960, 1642, 4714, 0, 0, 0, 0}, {552, 363, 1327, 4411, 0, 0, 0}, {972, 1644, 4608, 0, 0, 0, 0}, {546, 365, 1317, 4144, 0, 0, 0}, {546, 366, 1322, 4096, 0, 0, 0}, {975, 1632, 4656, 0, 0, 0, 0}, {512, 368, 1024, 4352, 0, 0, 0}, {1011, 1542, 4369, 0, 0, 0, 0}, {1008, 1546, 4386, 0, 0, 0, 0}, {512, 371, 1036, 4403, 0, 0, 0}, {1020, 1548, 4420, 0, 0, 0, 0}, {522, 373, 1024, 4128, 0, 0, 0}, {522, 374, 1036, 4112, 0, 0, 0}, {1023, 1536, 4471, 0, 0, 0, 0}, {1008, 1536, 4728, 0, 0, 0, 0}, {522, 377, 1036, 4377, 0, 0, 0}, {522, 378, 1024, 4394, 0, 0, 0}, {1011, 1548, 4680, 0, 0, 0, 0}, {512, 380, 1036, 4144, 0, 0, 0}, {1023, 1546, 4642, 0, 0, 0, 0}, {1020, 1542, 4626, 0, 0, 0, 0}, {512, 383, 1024, 4096, 0, 0, 0}, {128, 256, 0, 0, 0, 0, 0}, {771, 1285, 4369, 0, 0, 0, 0}, {768, 1290, 4386, 0, 0, 0, 0}, {128, 259, 0, 0, 0, 0, 0}, {780, 1280, 4420, 0, 0, 0, 0}, {128, 261, 0, 0, 0, 0, 0}, {128, 262, 0, 0, 0, 0, 0}, {783, 1295, 4471, 0, 0, 0, 0}, {4488, 768, 1280, 0, 0, 0, 0}, {265, 771, 1285, 4112, 0, 0, 0}, {266, 768, 1024, 4128, 0, 0, 0}, {4539, 771, 1295, 0, 0, 0, 0}, {268, 512, 1280, 4160, 0, 0, 0}, {4573, 783, 1285, 0, 0, 0, 0}, {4590, 780, 1290, 0, 0, 0, 0}, {271, 512, 1024, 4208, 0, 0, 0}, {816, 1360, 4352, 0, 0, 0, 0}, {128, 273, 0, 0, 0, 0, 0}, {128, 274, 0, 0, 0, 0, 0}, {819, 1375, 4403, 0, 0, 0, 0}, {128, 276, 0, 0, 0, 0, 0}, {831, 1365, 4437, 0, 0, 0, 0}, {828, 1370, 4454, 0, 0, 0, 0}, {128, 279, 0, 0, 0, 0, 0}, {280, 816, 1360, 4112, 0, 0, 0}, {4505, 819, 1365, 0, 0, 0, 0}, {4522, 816, 1370, 0, 0, 0, 0}, {283, 819, 1092, 4128, 0, 0, 0}, {4556, 828, 1360, 0, 0, 0, 0}, {285, 546, 1365, 4160, 0, 0, 0}, {286, 546, 1092, 4208, 0, 0, 0}, {4607, 831, 1375, 0, 0, 0, 0}, {1440, 768, 4352, 0, 0, 0, 0}, {289, 771, 1028, 4369, 0, 0, 0}, {290, 768, 1032, 4096, 0, 0, 0}, {1455, 771, 4403, 0, 0, 0, 0}, {292, 780, 1028, 4420, 0, 0, 0}, {1445, 783, 4437, 0, 0, 0, 0}, {1450, 780, 4454, 0, 0, 0, 0}, {295, 783, 1032, 4176, 0, 0, 0}, {296, 768, 1032, 4360, 0, 0, 0}, {1445, 771, 5180, 0, 0, 0, 0}, {1450, 768, 5120, 0, 0, 0, 0}, {299, 771, 1028, 4112, 0, 0, 0}, {1440, 780, 5228, 0, 0, 0, 0}, {301, 783, 1032, 4445, 0, 0, 0}, {302, 780, 1028, 4160, 0, 0, 0}, {1455, 783, 5200, 0, 0, 0, 0}, {304, 512, 1088, 4352, 0, 0, 0}, {1525, 819, 4369, 0, 0, 0, 0}, {1530, 816, 4386, 0, 0, 0, 0}, {307, 512, 1100, 4096, 0, 0, 0}, {1520, 828, 4420, 0, 0, 0, 0}, {309, 522, 1088, 4437, 0, 0, 0}, {310, 522, 1100, 4176, 0, 0, 0}, {1535, 831, 4471, 0, 0, 0, 0}, {1520, 816, 5240, 0, 0, 0, 0}, {313, 522, 1100, 4377, 0, 0, 0}, {314, 522, 1088, 4112, 0, 0, 0}, {1535, 819, 5188, 0, 0, 0, 0}, {316, 512, 1100, 4428, 0, 0, 0}, {1525, 831, 5160, 0, 0, 0, 0}, {1530, 828, 5140, 0, 0, 0, 0}, {319, 512, 1088, 4160, 0, 0, 0}, {960, 1280, 4352, 0, 0, 0, 0}, {514, 321, 1285, 4369, 0, 0, 0}, {514, 322, 1290, 4386, 0, 0, 0}, {963, 1295, 4403, 0, 0, 0, 0}, {520, 324, 1280, 4096, 0, 0, 0}, {975, 1285, 4437, 0, 0, 0, 0}, {972, 1290, 4454, 0, 0, 0, 0}, {520, 327, 1295, 4144, 0, 0, 0}, {520, 328, 1280, 4360, 0, 0, 0}, {963, 1285, 4698, 0, 0, 0, 0}, {960, 1290, 4714, 0, 0, 0, 0}, {520, 331, 1295, 4411, 0, 0, 0}, {972, 1280, 4608, 0, 0, 0, 0}, {514, 333, 1285, 4112, 0, 0, 0}, {514, 334, 1290, 4128, 0, 0, 0}, {975, 1295, 4656, 0, 0, 0, 0}, {544, 336, 1024, 4352, 0, 0, 0}, {1011, 1365, 4369, 0, 0, 0, 0}, {1008, 1370, 4386, 0, 0, 0, 0}, {544, 339, 1036, 4403, 0, 0, 0}, {1020, 1360, 4420, 0, 0, 0, 0}, {554, 341, 1024, 4096, 0, 0, 0}, {554, 342, 1036, 4144, 0, 0, 0}, {1023, 1375, 4471, 0, 0, 0, 0}, {1008, 1360, 4728, 0, 0, 0, 0}, {554, 345, 1036, 4377, 0, 0, 0}, {554, 346, 1024, 4394, 0, 0, 0}, {1011, 1375, 4680, 0, 0, 0, 0}, {544, 348, 1036, 4112, 0, 0, 0}, {1023, 1365, 4642, 0, 0, 0, 0}, {1020, 1370, 4626, 0, 0, 0, 0}, {544, 351, 1024, 4128, 0, 0, 0}, {544, 352, 1312, 4352, 0, 0, 0}, {963, 1638, 4369, 0, 0, 0, 0}, {960, 1642, 4386, 0, 0, 0, 0}, {544, 355, 1327, 4403, 0, 0, 0}, {972, 1644, 4420, 0, 0, 0, 0}, {554, 357, 1317, 4144, 0, 0, 0}, {554, 358, 1322, 4096, 0, 0, 0}, {975, 1632, 4471, 0, 0, 0, 0}, {960, 1632, 4680, 0, 0, 0, 0}, {554, 361, 1317, 4377, 0, 0, 0}, {554, 362, 1322, 4394, 0, 0, 0}, {963, 1644, 4728, 0, 0, 0, 0}, {544, 364, 1312, 4128, 0, 0, 0}, {975, 1642, 4626, 0, 0, 0, 0}, {972, 1638, 4642, 0, 0, 0, 0}, {544, 367, 1327, 4112, 0, 0, 0}, {1008, 1536, 4352, 0, 0, 0, 0}, {514, 369, 1028, 4369, 0, 0, 0}, {514, 370, 1032, 4386, 0, 0, 0}, {1011, 1548, 4403, 0, 0, 0, 0}, {520, 372, 1028, 4144, 0, 0, 0}, {1023, 1546, 4437, 0, 0, 0, 0}, {1020, 1542, 4454, 0, 0, 0, 0}, {520, 375, 1032, 4096, 0, 0, 0}, {520, 376, 1032, 4360, 0, 0, 0}, {1011, 1542, 4714, 0, 0, 0, 0}, {1008, 1546, 4698, 0, 0, 0, 0}, {520, 379, 1028, 4411, 0, 0, 0}, {1020, 1548, 4656, 0, 0, 0, 0}, {514, 381, 1032, 4128, 0, 0, 0}, {514, 382, 1028, 4112, 0, 0, 0}, {1023, 1536, 4608, 0, 0, 0, 0}, {2560, 8704, 0, 0, 0, 0, 0}, {3, 64, 257, 0, 0, 0, 0}, {128, 514, 0, 0, 0, 0, 0}, {3, 1280, 4352, 0, 0, 0, 0}, {12, 516, 64, 1028, 0, 0, 0}, {15, 8789, 1285, 0, 0, 0, 0}, {12, 8806, 1542, 0, 0, 0, 0}, {15, 519, 112, 1280, 0, 0, 0}, {128, 520, 0, 0, 0, 0, 0}, {3, 1285, 4437, 0, 0, 0, 0}, {2570, 8874, 0, 0, 0, 0, 0}, {3, 64, 260, 0, 0, 0, 0}, {12, 8704, 1536, 0, 0, 0, 0}, {15, 514, 112, 1285, 0, 0, 0}, {12, 514, 64, 1028, 0, 0, 0}, {15, 8704, 1280, 0, 0, 0, 0}, {48, 528, 64, 4112, 0, 0, 0}, {2645, 51, 4369, 0, 0, 0, 0}, {2650, 48, 4626, 0, 0, 0, 0}, {51, 531, 76, 4352, 0, 0, 0}, {2640, 60, 5140, 0, 0, 0, 0}, {63, 533, 64, 5397, 0, 0, 0}, {60, 534, 76, 5120, 0, 0, 0}, {2655, 63, 5911, 0, 0, 0, 0}, {2640, 48, 4680, 0, 0, 0, 0}, {51, 537, 76, 4377, 0, 0, 0}, {48, 538, 64, 4096, 0, 0, 0}, {2655, 51, 4420, 0, 0, 0, 0}, {60, 540, 76, 5148, 0, 0, 0}, {2645, 63, 5960, 0, 0, 0, 0}, {2650, 60, 5188, 0, 0, 0, 0}, {63, 543, 64, 5376, 0, 0, 0}, {128, 544, 0, 0, 0, 0, 0}, {3, 1365, 4369, 0, 0, 0, 0}, {2730, 8738, 0, 0, 0, 0, 0}, {3, 64, 272, 0, 0, 0, 0}, {12, 8772, 1632, 0, 0, 0, 0}, {15, 549, 112, 1317, 0, 0, 0}, {12, 550, 64, 1024, 0, 0, 0}, {15, 8823, 1360, 0, 0, 0, 0}, {2720, 8840, 0, 0, 0, 0, 0}, {3, 64, 277, 0, 0, 0, 0}, {128, 554, 0, 0, 0, 0, 0}, {3, 1360, 4420, 0, 0, 0, 0}, {12, 544, 64, 1024, 0, 0, 0}, {15, 8738, 1365, 0, 0, 0, 0}, {12, 8738, 1638, 0, 0, 0, 0}, {15, 544, 112, 1312, 0, 0, 0}, {2560, 48, 4608, 0, 0, 0, 0}, {51, 514, 76, 4369, 0, 0, 0}, {48, 514, 64, 4112, 0, 0, 0}, {2560, 51, 4352, 0, 0, 0, 0}, {60, 520, 76, 5128, 0, 0, 0}, {2570, 63, 5983, 0, 0, 0, 0}, {2570, 60, 5200, 0, 0, 0, 0}, {63, 520, 64, 5376, 0, 0, 0}, {48, 520, 64, 4096, 0, 0, 0}, {2570, 51, 4437, 0, 0, 0, 0}, {2570, 48, 4698, 0, 0, 0, 0}, {51, 520, 76, 4360, 0, 0, 0}, {2560, 60, 5120, 0, 0, 0, 0}, {63, 514, 64, 5397, 0, 0, 0}, {60, 514, 76, 5140, 0, 0, 0}, {2560, 63, 5888, 0, 0, 0, 0}, {512, 64, 0, 0, 0, 0, 0}, {15, 51, 1285, 4369, 0, 0, 0}, {192, 2570, 8738, 16962, 0, 0, 0}, {15, 51, 512, 67, 1280, 4352, 0}, {204, 2560, 8772, 17476, 0, 0, 0}, {15, 48, 517, 64, 1285, 4112, 0}, {522, 76, 0, 0, 0, 0, 0}, {15, 48, 1280, 4679, 0, 0, 0}, {192, 2560, 8776, 16968, 0, 0, 0}, {15, 51, 517, 67, 1285, 4374, 0}, {522, 64, 0, 0, 0, 0, 0}, {15, 51, 1280, 4420, 0, 0, 0}, {512, 76, 0, 0, 0, 0, 0}, {15, 48, 1285, 4626, 0, 0, 0}, {204, 2570, 8738, 17476, 0, 0, 0}, {15, 48, 512, 64, 1280, 4096, 0}, {240, 2640, 8704, 20560, 0, 0, 0}, {12, 51, 529, 64, 1028, 4369, 0}, {546, 112, 0, 0, 0, 0, 0}, {12, 51, 1619, 4352, 0, 0, 0}, {12, 48, 532, 64, 1028, 4112, 0}, {255, 2645, 8789, 21845, 0, 0, 0}, {12, 48, 1622, 4694, 0, 0, 0}, {552, 127, 0, 0, 0, 0, 0}, {552, 112, 0, 0, 0, 0, 0}, {12, 51, 1621, 4437, 0, 0, 0}, {240, 2650, 8794, 20480, 0, 0, 0}, {12, 51, 535, 64, 1028, 4356, 0}, {12, 48, 1616, 4608, 0, 0, 0}, {546, 127, 0, 0, 0, 0, 0}, {12, 48, 530, 64, 1028, 4096, 0}, {255, 2655, 8704, 21760, 0, 0, 0}, {192, 2656, 8704, 16992, 0, 0, 0}, {15, 51, 529, 67, 1302, 4369, 0}, {546, 64, 0, 0, 0, 0, 0}, {15, 51, 1360, 4352, 0, 0, 0}, {552, 76, 0, 0, 0, 0, 0}, {15, 48, 1365, 4693, 0, 0, 0}, {204, 2662, 8806, 17408, 0, 0, 0}, {15, 48, 535, 64, 1296, 4112, 0}, {552, 64, 0, 0, 0, 0, 0}, {15, 51, 1365, 4437, 0, 0, 0}, {192, 2666, 8810, 17002, 0, 0, 0}, {15, 51, 532, 67, 1299, 4359, 0}, {204, 2668, 8704, 17408, 0, 0, 0}, {15, 48, 530, 64, 1301, 4096, 0}, {546, 76, 0, 0, 0, 0, 0}, {15, 48, 1360, 4608, 0, 0, 0}, {512, 112, 0, 0, 0, 0, 0}, {12, 51, 1542, 4369, 0, 0, 0}, {240, 2570, 8738, 20560, 0, 0, 0}, {12, 51, 512, 64, 1024, 4352, 0}, {12, 48, 1536, 4676, 0, 0, 0}, {522, 127, 0, 0, 0, 0, 0}, {12, 48, 518, 64, 1024, 4112, 0}, {255, 2560, 8823, 21760, 0, 0, 0}, {240, 2560, 8824, 20480, 0, 0, 0}, {12, 51, 518, 64, 1024, 4373, 0}, {522, 112, 0, 0, 0, 0, 0}, {12, 51, 1536, 4420, 0, 0, 0}, {12, 48, 512, 64, 1024, 4096, 0}, {255, 2570, 8738, 21845, 0, 0, 0}, {12, 48, 1542, 4626, 0, 0, 0}, {512, 127, 0, 0, 0, 0, 0}, {128, 512, 0, 0, 0, 0, 0}, {3, 1285, 4369, 0, 0, 0, 0}, {2570, 8738, 0, 0, 0, 0, 0}, {3, 64, 256, 0, 0, 0, 0}, {12, 8772, 1536, 0, 0, 0, 0}, {15, 517, 112, 1285, 0, 0, 0}, {12, 518, 64, 1024, 0, 0, 0}, {15, 8823, 1280, 0, 0, 0, 0}, {2560, 8840, 0, 0, 0, 0, 0}, {3, 64, 261, 0, 0, 0, 0}, {128, 522, 0, 0, 0, 0, 0}, {3, 1280, 4420, 0, 0, 0, 0}, {12, 512, 64, 1024, 0, 0, 0}, {15, 8738, 1285, 0, 0, 0, 0}, {12, 8738, 1542, 0, 0, 0, 0}, {15, 512, 112, 1280, 0, 0, 0}, {2640, 48, 4608, 0, 0, 0, 0}, {51, 529, 76, 4369, 0, 0, 0}, {48, 530, 64, 4096, 0, 0, 0}, {2655, 51, 4352, 0, 0, 0, 0}, {60, 532, 76, 5140, 0, 0, 0}, {2645, 63, 5888, 0, 0, 0, 0}, {2650, 60, 5120, 0, 0, 0, 0}, {63, 535, 64, 5376, 0, 0, 0}, {48, 536, 64, 4112, 0, 0, 0}, {2645, 51, 4437, 0, 0, 0, 0}, {2650, 48, 4698, 0, 0, 0, 0}, {51, 539, 76, 4360, 0, 0, 0}, {2640, 60, 5200, 0, 0, 0, 0}, {63, 541, 64, 5397, 0, 0, 0}, {60, 542, 76, 5128, 0, 0, 0}, {2655, 63, 5983, 0, 0, 0, 0}, {2720, 8704, 0, 0, 0, 0, 0}, {3, 64, 273, 0, 0, 0, 0}, {128, 546, 0, 0, 0, 0, 0}, {3, 1360, 4352, 0, 0, 0, 0}, {12, 548, 64, 1028, 0, 0, 0}, {15, 8789, 1365, 0, 0, 0, 0}, {12, 8806, 1638, 0, 0, 0, 0}, {15, 551, 112, 1312, 0, 0, 0}, {128, 552, 0, 0, 0, 0, 0}, {3, 1365, 4437, 0, 0, 0, 0}, {2730, 8874, 0, 0, 0, 0, 0}, {3, 64, 276, 0, 0, 0, 0}, {12, 8704, 1632, 0, 0, 0, 0}, {15, 546, 112, 1317, 0, 0, 0}, {12, 546, 64, 1028, 0, 0, 0}, {15, 8704, 1360, 0, 0, 0, 0}, {48, 512, 64, 4096, 0, 0, 0}, {2570, 51, 4369, 0, 0, 0, 0}, {2570, 48, 4626, 0, 0, 0, 0}, {51, 512, 76, 4352, 0, 0, 0}, {2560, 60, 5188, 0, 0, 0, 0}, {63, 522, 64, 5397, 0, 0, 0}, {60, 522, 76, 5148, 0, 0, 0}, {2560, 63, 5960, 0, 0, 0, 0}, {2560, 48, 4680, 0, 0, 0, 0}, {51, 522, 76, 4377, 0, 0, 0}, {48, 522, 64, 4112, 0, 0, 0}, {2560, 51, 4420, 0, 0, 0, 0}, {60, 512, 76, 5120, 0, 0, 0}, {2570, 63, 5911, 0, 0, 0, 0}, {2570, 60, 5140, 0, 0, 0, 0}, {63, 512, 64, 5376, 0, 0, 0}, {192, 2560, 8704, 16896, 0, 0, 0}, {15, 51, 514, 67, 1285, 4369, 0}, {514, 64, 0, 0, 0, 0, 0}, {15, 51, 1280, 4352, 0, 0, 0}, {520, 76, 0, 0, 0, 0, 0}, {15, 48, 1285, 4693, 0, 0, 0}, {204, 2570, 8806, 17408, 0, 0, 0}, {15, 48, 519, 64, 1280, 4096, 0}, {520, 64, 0, 0, 0, 0, 0}, {15, 51, 1285, 4437, 0, 0, 0}, {192, 2570, 8810, 16906, 0, 0, 0}, {15, 51, 519, 67, 1280, 4359, 0}, {204, 2560, 8704, 17408, 0, 0, 0}, {15, 48, 514, 64, 1285, 4112, 0}, {514, 76, 0, 0, 0, 0, 0}, {15, 48, 1280, 4608, 0, 0, 0}, {544, 112, 0, 0, 0, 0, 0}, {12, 51, 1621, 4369, 0, 0, 0}, {240, 2650, 8738, 20480, 0, 0, 0}, {12, 51, 531, 64, 1024, 4352, 0}, {12, 48, 1616, 4676, 0, 0, 0}, {554, 127, 0, 0, 0, 0, 0}, {12, 48, 534, 64, 1024, 4096, 0}, {255, 2655, 8823, 21760, 0, 0, 0}, {240, 2640, 8824, 20560, 0, 0, 0}, {12, 51, 533, 64, 1024, 4373, 0}, {554, 112, 0, 0, 0, 0, 0}, {12, 51, 1619, 4420, 0, 0, 0}, {12, 48, 528, 64, 1024, 4112, 0}, {255, 2645, 8738, 21845, 0, 0, 0}, {12, 48, 1622, 4626, 0, 0, 0}, {544, 127, 0, 0, 0, 0, 0}, {544, 64, 0, 0, 0, 0, 0}, {15, 51, 1365, 4369, 0, 0, 0}, {192, 2666, 8738, 16930, 0, 0, 0}, {15, 51, 531, 67, 1299, 4352, 0}, {204, 2668, 8772, 17476, 0, 0, 0}, {15, 48, 533, 64, 1301, 4096, 0}, {554, 76, 0, 0, 0, 0, 0}, {15, 48, 1360, 4679, 0, 0, 0}, {192, 2656, 8776, 16936, 0, 0, 0}, {15, 51, 534, 67, 1302, 4374, 0}, {554, 64, 0, 0, 0, 0, 0}, {15, 51, 1360, 4420, 0, 0, 0}, {544, 76, 0, 0, 0, 0, 0}, {15, 48, 1365, 4626, 0, 0, 0}, {204, 2662, 8738, 17476, 0, 0, 0}, {15, 48, 528, 64, 1296, 4112, 0}, {240, 2560, 8704, 20480, 0, 0, 0}, {12, 51, 514, 64, 1028, 4369, 0}, {514, 112, 0, 0, 0, 0, 0}, {12, 51, 1536, 4352, 0, 0, 0}, {12, 48, 516, 64, 1028, 4096, 0}, {255, 2570, 8789, 21845, 0, 0, 0}, {12, 48, 1542, 4694, 0, 0, 0}, {520, 127, 0, 0, 0, 0, 0}, {520, 112, 0, 0, 0, 0, 0}, {12, 51, 1542, 4437, 0, 0, 0}, {240, 2570, 8794, 20560, 0, 0, 0}, {12, 51, 516, 64, 1028, 4356, 0}, {12, 48, 1536, 4608, 0, 0, 0}, {514, 127, 0, 0, 0, 0, 0}, {12, 48, 514, 64, 1028, 4112, 0}, {255, 2560, 8704, 21760, 0, 0, 0}, {768, 16384, 0, 0, 0, 0, 0}, {10, 34, 257, 0, 0, 0, 0}, {10, 34, 258, 0, 0, 0, 0}, {771, 16576, 0, 0, 0, 0, 0}, {136, 780, 1028, 0, 0, 0, 0}, {10, 773, 1285, 4176, 0, 0, 0}, {10, 774, 1280, 4192, 0, 0, 0}, {136, 783, 1032, 0, 0, 0, 0}, {136, 768, 1032, 0, 0, 0, 0}, {10, 771, 1285, 4144, 0, 0, 0}, {10, 768, 1280, 4096, 0, 0, 0}, {136, 771, 1028, 0, 0, 0, 0}, {780, 16576, 0, 0, 0, 0, 0}, {10, 34, 263, 0, 0, 0, 0}, {10, 34, 260, 0, 0, 0, 0}, {783, 16384, 0, 0, 0, 0, 0}, {160, 816, 4112, 0, 0, 0, 0}, {34, 785, 1092, 4369, 0, 0, 0}, {34, 786, 1096, 4352, 0, 0, 0}, {160, 819, 4128, 0, 0, 0, 0}, {40, 788, 1092, 4176, 0, 0, 0}, {170, 831, 5397, 0, 0, 0, 0}, {170, 828, 5418, 0, 0, 0, 0}, {40, 791, 1096, 4168, 0, 0, 0}, {40, 792, 1096, 4120, 0, 0, 0}, {170, 819, 5503, 0, 0, 0, 0}, {170, 816, 5440, 0, 0, 0, 0}, {40, 795, 1092, 4096, 0, 0, 0}, {160, 828, 4208, 0, 0, 0, 0}, {34, 797, 1096, 4437, 0, 0, 0}, {34, 798, 1092, 4420, 0, 0, 0}, {160, 831, 4160, 0, 0, 0, 0}, {160, 768, 4128, 0, 0, 0, 0}, {34, 771, 1036, 4369, 0, 0, 0}, {34, 768, 1024, 4352, 0, 0, 0}, {160, 771, 4112, 0, 0, 0, 0}, {40, 780, 1036, 4168, 0, 0, 0}, {170, 783, 5503, 0, 0, 0, 0}, {170, 780, 5440, 0, 0, 0, 0}, {40, 783, 1024, 4176, 0, 0, 0}, {40, 768, 1024, 4096, 0, 0, 0}, {170, 771, 5397, 0, 0, 0, 0}, {170, 768, 5418, 0, 0, 0, 0}, {40, 771, 1036, 4120, 0, 0, 0}, {160, 780, 4160, 0, 0, 0, 0}, {34, 783, 1024, 4437, 0, 0, 0}, {34, 780, 1036, 4420, 0, 0, 0}, {160, 783, 4208, 0, 0, 0, 0}, {816, 16576, 0, 0, 0, 0, 0}, {10, 34, 275, 0, 0, 0, 0}, {10, 34, 272, 0, 0, 0, 0}, {819, 16384, 0, 0, 0, 0, 0}, {136, 828, 1100, 0, 0, 0, 0}, {10, 821, 1365, 4192, 0, 0, 0}, {10, 822, 1360, 4176, 0, 0, 0}, {136, 831, 1088, 0, 0, 0, 0}, {136, 816, 1088, 0, 0, 0, 0}, {10, 819, 1365, 4096, 0, 0, 0}, {10, 816, 1360, 4144, 0, 0, 0}, {136, 819, 1100, 0, 0, 0, 0}, {828, 16384, 0, 0, 0, 0, 0}, {10, 34, 277, 0, 0, 0, 0}, {10, 34, 278, 0, 0, 0, 0}, {831, 16576, 0, 0, 0, 0, 0}, {960, 3840, 13056, 16448, 0, 0, 0}, {10, 34, 512, 321, 1285, 4369, 0}, {10, 34, 512, 322, 1280, 4352, 0}, {963, 3855, 13107, 17219, 0, 0, 0}, {12288, 836, 1792, 0, 0, 0, 0}, {10, 869, 1285, 4112, 0, 0, 0}, {10, 870, 1280, 4128, 0, 0, 0}, {12336, 839, 1807, 0, 0, 0, 0}, {13056, 840, 1792, 0, 0, 0, 0}, {10, 867, 1285, 4883, 0, 0, 0}, {10, 864, 1280, 4896, 0, 0, 0}, {13107, 843, 1807, 0, 0, 0, 0}, {972, 3840, 12288, 17228, 0, 0, 0}, {10, 34, 512, 327, 1285, 4114, 0}, {10, 34, 512, 324, 1280, 4096, 0}, {975, 3855, 12336, 16448, 0, 0, 0}, {3072, 848, 4864, 0, 0, 0, 0}, {34, 857, 1028, 4369, 0, 0, 0}, {34, 858, 1032, 4352, 0, 0, 0}, {3084, 851, 4915, 0, 0, 0, 0}, {40, 860, 1028, 4112, 0, 0, 0}, {3072, 853, 5632, 0, 0, 0, 0}, {3084, 854, 5692, 0, 0, 0, 0}, {40, 863, 1032, 4104, 0, 0, 0}, {40, 848, 1032, 4872, 0, 0, 0}, {3084, 857, 5439, 0, 0, 0, 0}, {3072, 858, 5376, 0, 0, 0, 0}, {40, 851, 1028, 4883, 0, 0, 0}, {3084, 860, 4144, 0, 0, 0, 0}, {34, 853, 1032, 4608, 0, 0, 0}, {34, 854, 1028, 4626, 0, 0, 0}, {3072, 863, 4096, 0, 0, 0, 0}, {3840, 864, 4864, 0, 0, 0, 0}, {34, 843, 1799, 4369, 0, 0, 0}, {34, 840, 1800, 4352, 0, 0, 0}, {3855, 867, 4915, 0, 0, 0, 0}, {40, 836, 1800, 4104, 0, 0, 0}, {3855, 869, 5439, 0, 0, 0, 0}, {3840, 870, 5376, 0, 0, 0, 0}, {40, 839, 1799, 4112, 0, 0, 0}, {40, 840, 1800, 4872, 0, 0, 0}, {3855, 873, 5692, 0, 0, 0, 0}, {3840, 874, 5632, 0, 0, 0, 0}, {40, 843, 1799, 4883, 0, 0, 0}, {3840, 876, 4096, 0, 0, 0, 0}, {34, 839, 1799, 4626, 0, 0, 0}, {34, 836, 1800, 4608, 0, 0, 0}, {3855, 879, 4144, 0, 0, 0, 0}, {1008, 3072, 13056, 17264, 0, 0, 0}, {10, 34, 512, 339, 1030, 4369, 0}, {10, 34, 512, 336, 1024, 4352, 0}, {1011, 3084, 13107, 16448, 0, 0, 0}, {12336, 884, 1036, 0, 0, 0, 0}, {10, 853, 1536, 4128, 0, 0, 0}, {10, 854, 1542, 4112, 0, 0, 0}, {12288, 887, 1024, 0, 0, 0, 0}, {13056, 888, 1024, 0, 0, 0, 0}, {10, 851, 1542, 4883, 0, 0, 0}, {10, 848, 1536, 4896, 0, 0, 0}, {13107, 891, 1036, 0, 0, 0, 0}, {1020, 3084, 12336, 16448, 0, 0, 0}, {10, 34, 512, 341, 1024, 4096, 0}, {10, 34, 512, 342, 1030, 4114, 0}, {1023, 3072, 12288, 17279, 0, 0, 0}, {768, 16512, 0, 0, 0, 0, 0}, {10, 34, 259, 0, 0, 0, 0}, {10, 34, 256, 0, 0, 0, 0}, {771, 16448, 0, 0, 0, 0, 0}, {136, 780, 1036, 0, 0, 0, 0}, {10, 773, 1285, 4208, 0, 0, 0}, {10, 774, 1280, 4160, 0, 0, 0}, {136, 783, 1024, 0, 0, 0, 0}, {136, 768, 1024, 0, 0, 0, 0}, {10, 771, 1285, 4112, 0, 0, 0}, {10, 768, 1280, 4128, 0, 0, 0}, {136, 771, 1036, 0, 0, 0, 0}, {780, 16448, 0, 0, 0, 0, 0}, {10, 34, 261, 0, 0, 0, 0}, {10, 34, 262, 0, 0, 0, 0}, {783, 16512, 0, 0, 0, 0, 0}, {160, 816, 4144, 0, 0, 0, 0}, {34, 785, 1100, 4369, 0, 0, 0}, {34, 786, 1088, 4352, 0, 0, 0}, {160, 819, 4096, 0, 0, 0, 0}, {40, 788, 1100, 4184, 0, 0, 0}, {170, 831, 5439, 0, 0, 0, 0}, {170, 828, 5376, 0, 0, 0, 0}, {40, 791, 1088, 4160, 0, 0, 0}, {40, 792, 1088, 4112, 0, 0, 0}, {170, 819, 5461, 0, 0, 0, 0}, {170, 816, 5482, 0, 0, 0, 0}, {40, 795, 1100, 4104, 0, 0, 0}, {160, 828, 4176, 0, 0, 0, 0}, {34, 797, 1088, 4437, 0, 0, 0}, {34, 798, 1100, 4420, 0, 0, 0}, {160, 831, 4192, 0, 0, 0, 0}, {160, 768, 4096, 0, 0, 0, 0}, {34, 771, 1028, 4369, 0, 0, 0}, {34, 768, 1032, 4352, 0, 0, 0}, {160, 771, 4144, 0, 0, 0, 0}, {40, 780, 1028, 4160, 0, 0, 0}, {170, 783, 5461, 0, 0, 0, 0}, {170, 780, 5482, 0, 0, 0, 0}, {40, 783, 1032, 4184, 0, 0, 0}, {40, 768, 1032, 4104, 0, 0, 0}, {170, 771, 5439, 0, 0, 0, 0}, {170, 768, 5376, 0, 0, 0, 0}, {40, 771, 1028, 4112, 0, 0, 0}, {160, 780, 4192, 0, 0, 0, 0}, {34, 783, 1032, 4437, 0, 0, 0}, {34, 780, 1028, 4420, 0, 0, 0}, {160, 783, 4176, 0, 0, 0, 0}, {816, 16448, 0, 0, 0, 0, 0}, {10, 34, 273, 0, 0, 0, 0}, {10, 34, 274, 0, 0, 0, 0}, {819, 16512, 0, 0, 0, 0, 0}, {136, 828, 1092, 0, 0, 0, 0}, {10, 821, 1365, 4160, 0, 0, 0}, {10, 822, 1360, 4208, 0, 0, 0}, {136, 831, 1096, 0, 0, 0, 0}, {136, 816, 1096, 0, 0, 0, 0}, {10, 819, 1365, 4128, 0, 0, 0}, {10, 816, 1360, 4112, 0, 0, 0}, {136, 819, 1092, 0, 0, 0, 0}, {828, 16512, 0, 0, 0, 0, 0}, {10, 34, 279, 0, 0, 0, 0}, {10, 34, 276, 0, 0, 0, 0}, {831, 16448, 0, 0, 0, 0, 0}, {960, 3840, 13056, 17152, 0, 0, 0}, {10, 34, 514, 323, 1285, 4369, 0}, {10, 34, 514, 320, 1280, 4352, 0}, {963, 3855, 13107, 16384, 0, 0, 0}, {12288, 836, 1800, 0, 0, 0, 0}, {10, 869, 1285, 4144, 0, 0, 0}, {10, 870, 1280, 4096, 0, 0, 0}, {12336, 839, 1799, 0, 0, 0, 0}, {13056, 840, 1800, 0, 0, 0, 0}, {10, 867, 1285, 4915, 0, 0, 0}, {10, 864, 1280, 4864, 0, 0, 0}, {13107, 843, 1799, 0, 0, 0, 0}, {972, 3840, 12288, 16384, 0, 0, 0}, {10, 34, 514, 325, 1285, 4112, 0}, {10, 34, 514, 326, 1280, 4098, 0}, {975, 3855, 12336, 17167, 0, 0, 0}, {3072, 848, 4896, 0, 0, 0, 0}, {34, 857, 1036, 4369, 0, 0, 0}, {34, 858, 1024, 4352, 0, 0, 0}, {3084, 851, 4883, 0, 0, 0, 0}, {40, 860, 1036, 4120, 0, 0, 0}, {3072, 853, 5674, 0, 0, 0, 0}, {3084, 854, 5654, 0, 0, 0, 0}, {40, 863, 1024, 4096, 0, 0, 0}, {40, 848, 1024, 4864, 0, 0, 0}, {3084, 857, 5397, 0, 0, 0, 0}, {3072, 858, 5418, 0, 0, 0, 0}, {40, 851, 1036, 4891, 0, 0, 0}, {3084, 860, 4112, 0, 0, 0, 0}, {34, 853, 1024, 4608, 0, 0, 0}, {34, 854, 1036, 4626, 0, 0, 0}, {3072, 863, 4128, 0, 0, 0, 0}, {3840, 864, 4896, 0, 0, 0, 0}, {34, 843, 1807, 4369, 0, 0, 0}, {34, 840, 1792, 4352, 0, 0, 0}, {3855, 867, 4883, 0, 0, 0, 0}, {40, 836, 1792, 4096, 0, 0, 0}, {3855, 869, 5397, 0, 0, 0, 0}, {3840, 870, 5418, 0, 0, 0, 0}, {40, 839, 1807, 4120, 0, 0, 0}, {40, 840, 1792, 4864, 0, 0, 0}, {3855, 873, 5654, 0, 0, 0, 0}, {3840, 874, 5674, 0, 0, 0, 0}, {40, 843, 1807, 4891, 0, 0, 0}, {3840, 876, 4128, 0, 0, 0, 0}, {34, 839, 1807, 4626, 0, 0, 0}, {34, 836, 1792, 4608, 0, 0, 0}, {3855, 879, 4112, 0, 0, 0, 0}, {1008, 3072, 13056, 16384, 0, 0, 0}, {10, 34, 514, 337, 1028, 4369, 0}, {10, 34, 514, 338, 1026, 4352, 0}, {1011, 3084, 13107, 17203, 0, 0, 0}, {12336, 884, 1028, 0, 0, 0, 0}, {10, 853, 1536, 4096, 0, 0, 0}, {10, 854, 1542, 4144, 0, 0, 0}, {12288, 887, 1032, 0, 0, 0, 0}, {13056, 888, 1032, 0, 0, 0, 0}, {10, 851, 1542, 4915, 0, 0, 0}, {10, 848, 1536, 4864, 0, 0, 0}, {13107, 891, 1028, 0, 0, 0, 0}, {1020, 3084, 12336, 17212, 0, 0, 0}, {10, 34, 514, 343, 1026, 4098, 0}, {10, 34, 514, 340, 1028, 4112, 0}, {1023, 3072, 12288, 16384, 0, 0, 0}, {3072, 17408, 0, 0, 0, 0, 0}, {32, 5, 257, 0, 0, 0, 0}, {10, 32, 514, 1026, 0, 0, 0}, {15, 771, 17459, 0, 0, 0, 0}, {128, 1028, 0, 0, 0, 0, 0}, {768, 5, 4352, 0, 0, 0, 0}, {10, 8704, 1542, 0, 0, 0, 0}, {15, 768, 112, 1031, 0, 0, 0}, {128, 1032, 0, 0, 0, 0, 0}, {771, 5, 4403, 0, 0, 0, 0}, {10, 8704, 1536, 0, 0, 0, 0}, {15, 771, 112, 1028, 0, 0, 0}, {3084, 17612, 0, 0, 0, 0, 0}, {32, 5, 258, 0, 0, 0, 0}, {10, 32, 514, 1028, 0, 0, 0}, {15, 768, 17408, 0, 0, 0, 0}, {32, 80, 1040, 4112, 0, 0, 0}, {3123, 85, 4369, 0, 0, 0, 0}, {3120, 90, 4626, 0, 0, 0, 0}, {32, 95, 1043, 4883, 0, 0, 0}, {3132, 80, 5140, 0, 0, 0, 0}, {42, 85, 1045, 4352, 0, 0, 0}, {42, 90, 1046, 4608, 0, 0, 0}, {3135, 95, 5911, 0, 0, 0, 0}, {3120, 80, 5160, 0, 0, 0, 0}, {42, 85, 1049, 4377, 0, 0, 0}, {42, 90, 1050, 4634, 0, 0, 0}, {3123, 95, 5928, 0, 0, 0, 0}, {32, 80, 1052, 4096, 0, 0, 0}, {3135, 85, 4386, 0, 0, 0, 0}, {3132, 90, 4642, 0, 0, 0, 0}, {32, 95, 1055, 4864, 0, 0, 0}, {32, 1024, 0, 0, 0, 0, 0}, {15, 771, 85, 4369, 0, 0, 0}, {170, 3072, 8738, 17442, 0, 0, 0}, {15, 32, 771, 80, 1027, 4112, 0}, {160, 3084, 9252, 17476, 0, 0, 0}, {15, 37, 768, 85, 1024, 4352, 0}, {42, 1036, 0, 0, 0, 0, 0}, {15, 768, 80, 5159, 0, 0, 0}, {160, 3072, 9256, 17448, 0, 0, 0}, {15, 37, 771, 85, 1027, 4374, 0}, {42, 1024, 0, 0, 0, 0, 0}, {15, 771, 80, 5140, 0, 0, 0}, {32, 1036, 0, 0, 0, 0, 0}, {15, 768, 85, 4386, 0, 0, 0}, {170, 3084, 8738, 17476, 0, 0, 0}, {15, 32, 768, 80, 1024, 4096, 0}, {240, 3120, 12336, 17408, 0, 0, 0}, {10, 32, 514, 85, 1041, 4369, 0}, {10, 32, 514, 80, 1042, 4112, 0}, {255, 3123, 13107, 17459, 0, 0, 0}, {12288, 112, 1076, 0, 0, 0, 0}, {10, 85, 1589, 4352, 0, 0, 0}, {10, 80, 1590, 4608, 0, 0, 0}, {13056, 127, 1079, 0, 0, 0, 0}, {12336, 112, 1080, 0, 0, 0, 0}, {10, 85, 1587, 4403, 0, 0, 0}, {10, 80, 1584, 4656, 0, 0, 0}, {13107, 127, 1083, 0, 0, 0, 0}, {240, 3132, 12288, 17468, 0, 0, 0}, {10, 32, 514, 85, 1047, 4354, 0}, {10, 32, 514, 80, 1044, 4096, 0}, {255, 3135, 13056, 17408, 0, 0, 0}, {128, 1088, 0, 0, 0, 0, 0}, {819, 5, 4369, 0, 0, 0, 0}, {10, 8738, 1632, 0, 0, 0, 0}, {15, 819, 112, 1075, 0, 0, 0}, {3276, 17476, 0, 0, 0, 0, 0}, {32, 5, 272, 0, 0, 0, 0}, {10, 32, 512, 1094, 0, 0, 0}, {15, 816, 17527, 0, 0, 0, 0}, {3264, 17544, 0, 0, 0, 0, 0}, {32, 5, 275, 0, 0, 0, 0}, {10, 32, 512, 1088, 0, 0, 0}, {15, 819, 17476, 0, 0, 0, 0}, {128, 1100, 0, 0, 0, 0, 0}, {816, 5, 4386, 0, 0, 0, 0}, {10, 8738, 1638, 0, 0, 0, 0}, {15, 816, 112, 1072, 0, 0, 0}, {3072, 80, 5120, 0, 0, 0, 0}, {42, 85, 1028, 4369, 0, 0, 0}, {42, 90, 1032, 4616, 0, 0, 0}, {3084, 95, 5951, 0, 0, 0, 0}, {32, 80, 1028, 4112, 0, 0, 0}, {3072, 85, 4352, 0, 0, 0, 0}, {3084, 90, 4656, 0, 0, 0, 0}, {32, 95, 1032, 4864, 0, 0, 0}, {32, 80, 1032, 4096, 0, 0, 0}, {3084, 85, 4403, 0, 0, 0, 0}, {3072, 90, 4608, 0, 0, 0, 0}, {32, 95, 1028, 4883, 0, 0, 0}, {3084, 80, 5180, 0, 0, 0, 0}, {42, 85, 1032, 4360, 0, 0, 0}, {42, 90, 1028, 4626, 0, 0, 0}, {3072, 95, 5888, 0, 0, 0, 0}, {160, 3168, 9312, 17408, 0, 0, 0}, {15, 37, 790, 85, 1041, 4369, 0}, {42, 1096, 0, 0, 0, 0, 0}, {15, 819, 80, 5171, 0, 0, 0}, {32, 1092, 0, 0, 0, 0, 0}, {15, 816, 85, 4352, 0, 0, 0}, {170, 3174, 8704, 17510, 0, 0, 0}, {15, 32, 784, 80, 1047, 4112, 0}, {32, 1096, 0, 0, 0, 0, 0}, {15, 819, 85, 4403, 0, 0, 0}, {170, 3178, 8704, 17408, 0, 0, 0}, {15, 32, 787, 80, 1044, 4096, 0}, {160, 3180, 9324, 17516, 0, 0, 0}, {15, 37, 789, 85, 1042, 4359, 0}, {42, 1092, 0, 0, 0, 0, 0}, {15, 816, 80, 5120, 0, 0, 0}, {12288, 112, 1024, 0, 0, 0, 0}, {10, 85, 1542, 4369, 0, 0, 0}, {10, 80, 1536, 4642, 0, 0, 0}, {13107, 127, 1036, 0, 0, 0, 0}, {240, 3084, 12336, 17476, 0, 0, 0}, {10, 32, 512, 85, 1024, 4352, 0}, {10, 32, 512, 80, 1030, 4112, 0}, {255, 3072, 13056, 17527, 0, 0, 0}, {240, 3072, 12288, 17528, 0, 0, 0}, {10, 32, 512, 85, 1030, 4371, 0}, {10, 32, 512, 80, 1024, 4096, 0}, {255, 3084, 13107, 17476, 0, 0, 0}, {12336, 112, 1036, 0, 0, 0, 0}, {10, 85, 1536, 4386, 0, 0, 0}, {10, 80, 1542, 4626, 0, 0, 0}, {13056, 127, 1024, 0, 0, 0, 0}, {128, 1024, 0, 0, 0, 0, 0}, {771, 5, 4369, 0, 0, 0, 0}, {10, 8738, 1536, 0, 0, 0, 0}, {15, 771, 112, 1027, 0, 0, 0}, {3084, 17476, 0, 0, 0, 0, 0}, {32, 5, 256, 0, 0, 0, 0}, {10, 32, 512, 1030, 0, 0, 0}, {15, 768, 17527, 0, 0, 0, 0}, {3072, 17544, 0, 0, 0, 0, 0}, {32, 5, 259, 0, 0, 0, 0}, {10, 32, 512, 1024, 0, 0, 0}, {15, 771, 17476, 0, 0, 0, 0}, {128, 1036, 0, 0, 0, 0, 0}, {768, 5, 4386, 0, 0, 0, 0}, {10, 8738, 1542, 0, 0, 0, 0}, {15, 768, 112, 1024, 0, 0, 0}, {3120, 80, 5120, 0, 0, 0, 0}, {42, 85, 1041, 4369, 0, 0, 0}, {42, 90, 1042, 4626, 0, 0, 0}, {3123, 95, 5888, 0, 0, 0, 0}, {32, 80, 1044, 4096, 0, 0, 0}, {3135, 85, 4352, 0, 0, 0, 0}, {3132, 90, 4608, 0, 0, 0, 0}, {32, 95, 1047, 4864, 0, 0, 0}, {32, 80, 1048, 4112, 0, 0, 0}, {3123, 85, 4403, 0, 0, 0, 0}, {3120, 90, 4656, 0, 0, 0, 0}, {32, 95, 1051, 4883, 0, 0, 0}, {3132, 80, 5180, 0, 0, 0, 0}, {42, 85, 1053, 4360, 0, 0, 0}, {42, 90, 1054, 4616, 0, 0, 0}, {3135, 95, 5951, 0, 0, 0, 0}, {160, 3072, 9216, 17408, 0, 0, 0}, {15, 37, 771, 85, 1028, 4369, 0}, {42, 1032, 0, 0, 0, 0, 0}, {15, 771, 80, 5171, 0, 0, 0}, {32, 1028, 0, 0, 0, 0, 0}, {15, 768, 85, 4352, 0, 0, 0}, {170, 3084, 8704, 17510, 0, 0, 0}, {15, 32, 768, 80, 1031, 4096, 0}, {32, 1032, 0, 0, 0, 0, 0}, {15, 771, 85, 4403, 0, 0, 0}, {170, 3072, 8704, 17408, 0, 0, 0}, {15, 32, 771, 80, 1028, 4112, 0}, {160, 3084, 9228, 17516, 0, 0, 0}, {15, 37, 768, 85, 1031, 4359, 0}, {42, 1028, 0, 0, 0, 0, 0}, {15, 768, 80, 5120, 0, 0, 0}, {12336, 112, 1072, 0, 0, 0, 0}, {10, 85, 1587, 4369, 0, 0, 0}, {10, 80, 1584, 4626, 0, 0, 0}, {13107, 127, 1075, 0, 0, 0, 0}, {240, 3132, 12288, 17476, 0, 0, 0}, {10, 32, 512, 85, 1045, 4352, 0}, {10, 32, 512, 80, 1046, 4096, 0}, {255, 3135, 13056, 17527, 0, 0, 0}, {240, 3120, 12336, 17528, 0, 0, 0}, {10, 32, 512, 85, 1043, 4371, 0}, {10, 32, 512, 80, 1040, 4112, 0}, {255, 3123, 13107, 17476, 0, 0, 0}, {12288, 112, 1084, 0, 0, 0, 0}, {10, 85, 1589, 4386, 0, 0, 0}, {10, 80, 1590, 4642, 0, 0, 0}, {13056, 127, 1087, 0, 0, 0, 0}, {3264, 17408, 0, 0, 0, 0, 0}, {32, 5, 273, 0, 0, 0, 0}, {10, 32, 514, 1090, 0, 0, 0}, {15, 819, 17459, 0, 0, 0, 0}, {128, 1092, 0, 0, 0, 0, 0}, {816, 5, 4352, 0, 0, 0, 0}, {10, 8704, 1638, 0, 0, 0, 0}, {15, 816, 112, 1079, 0, 0, 0}, {128, 1096, 0, 0, 0, 0, 0}, {819, 5, 4403, 0, 0, 0, 0}, {10, 8704, 1632, 0, 0, 0, 0}, {15, 819, 112, 1076, 0, 0, 0}, {3276, 17612, 0, 0, 0, 0, 0}, {32, 5, 274, 0, 0, 0, 0}, {10, 32, 514, 1092, 0, 0, 0}, {15, 816, 17408, 0, 0, 0, 0}, {32, 80, 1024, 4096, 0, 0, 0}, {3084, 85, 4369, 0, 0, 0, 0}, {3072, 90, 4642, 0, 0, 0, 0}, {32, 95, 1036, 4883, 0, 0, 0}, {3084, 80, 5140, 0, 0, 0, 0}, {42, 85, 1024, 4352, 0, 0, 0}, {42, 90, 1036, 4634, 0, 0, 0}, {3072, 95, 5928, 0, 0, 0, 0}, {3072, 80, 5160, 0, 0, 0, 0}, {42, 85, 1036, 4377, 0, 0, 0}, {42, 90, 1024, 4608, 0, 0, 0}, {3084, 95, 5911, 0, 0, 0, 0}, {32, 80, 1036, 4112, 0, 0, 0}, {3072, 85, 4386, 0, 0, 0, 0}, {3084, 90, 4626, 0, 0, 0, 0}, {32, 95, 1024, 4864, 0, 0, 0}, {32, 1088, 0, 0, 0, 0, 0}, {15, 819, 85, 4369, 0, 0, 0}, {170, 3178, 8738, 17442, 0, 0, 0}, {15, 32, 787, 80, 1043, 4096, 0}, {160, 3180, 9284, 17476, 0, 0, 0}, {15, 37, 789, 85, 1045, 4352, 0}, {42, 1100, 0, 0, 0, 0, 0}, {15, 816, 80, 5159, 0, 0, 0}, {160, 3168, 9288, 17448, 0, 0, 0}, {15, 37, 790, 85, 1046, 4374, 0}, {42, 1088, 0, 0, 0, 0, 0}, {15, 819, 80, 5140, 0, 0, 0}, {32, 1100, 0, 0, 0, 0, 0}, {15, 816, 85, 4386, 0, 0, 0}, {170, 3174, 8738, 17476, 0, 0, 0}, {15, 32, 784, 80, 1040, 4112, 0}, {240, 3072, 12288, 17408, 0, 0, 0}, {10, 32, 514, 85, 1028, 4369, 0}, {10, 32, 514, 80, 1026, 4096, 0}, {255, 3084, 13107, 17459, 0, 0, 0}, {12336, 112, 1028, 0, 0, 0, 0}, {10, 85, 1536, 4352, 0, 0, 0}, {10, 80, 1542, 4656, 0, 0, 0}, {13056, 127, 1032, 0, 0, 0, 0}, {12288, 112, 1032, 0, 0, 0, 0}, {10, 85, 1542, 4403, 0, 0, 0}, {10, 80, 1536, 4608, 0, 0, 0}, {13107, 127, 1028, 0, 0, 0, 0}, {240, 3084, 12336, 17468, 0, 0, 0}, {10, 32, 514, 85, 1026, 4354, 0}, {10, 32, 514, 80, 1028, 4112, 0}, {255, 3072, 13056, 17408, 0, 0, 0}, {8192, 1280, 0, 0, 0, 0, 0}, {12, 68, 257, 0, 0, 0, 0}, {136, 514, 1290, 0, 0, 0, 0}, {12, 771, 1283, 4144, 0, 0, 0}, {12, 68, 260, 0, 0, 0, 0}, {8352, 1285, 0, 0, 0, 0, 0}, {12, 768, 1286, 4192, 0, 0, 0}, {136, 520, 1295, 0, 0, 0, 0}, {136, 520, 1280, 0, 0, 0, 0}, {12, 771, 1285, 4176, 0, 0, 0}, {8352, 1290, 0, 0, 0, 0, 0}, {12, 68, 263, 0, 0, 0, 0}, {12, 768, 1280, 4096, 0, 0, 0}, {136, 514, 1285, 0, 0, 0, 0}, {12, 68, 258, 0, 0, 0, 0}, {8192, 1295, 0, 0, 0, 0, 0}, {192, 1360, 4112, 0, 0, 0, 0}, {546, 68, 1297, 4369, 0, 0, 0}, {546, 72, 1298, 4144, 0, 0, 0}, {204, 1375, 4883, 0, 0, 0, 0}, {552, 68, 1300, 4352, 0, 0, 0}, {192, 1365, 4160, 0, 0, 0, 0}, {204, 1370, 4940, 0, 0, 0, 0}, {552, 72, 1303, 4136, 0, 0, 0}, {552, 72, 1304, 4120, 0, 0, 0}, {204, 1365, 4991, 0, 0, 0, 0}, {192, 1370, 4208, 0, 0, 0, 0}, {552, 68, 1307, 4403, 0, 0, 0}, {204, 1360, 4896, 0, 0, 0, 0}, {546, 72, 1309, 4096, 0, 0, 0}, {546, 68, 1310, 4386, 0, 0, 0}, {192, 1375, 4128, 0, 0, 0, 0}, {1440, 3840, 8224, 21760, 0, 0, 0}, {12, 289, 771, 68, 1024, 4369, 0}, {136, 546, 1314, 0, 0, 0, 0}, {12, 771, 1379, 4112, 0, 0, 0}, {12, 292, 768, 68, 1024, 4352, 0}, {1445, 3855, 9509, 21845, 0, 0, 0}, {12, 768, 1382, 4160, 0, 0, 0}, {136, 552, 1319, 0, 0, 0, 0}, {136, 552, 1320, 0, 0, 0, 0}, {12, 771, 1381, 4208, 0, 0, 0}, {1450, 3840, 9514, 20480, 0, 0, 0}, {12, 295, 771, 68, 1024, 4116, 0}, {12, 768, 1376, 4128, 0, 0, 0}, {136, 546, 1325, 0, 0, 0, 0}, {12, 290, 768, 68, 1024, 4096, 0}, {1455, 3855, 8224, 20560, 0, 0, 0}, {192, 1328, 4144, 0, 0, 0, 0}, {514, 68, 1337, 4369, 0, 0, 0}, {514, 72, 1338, 4112, 0, 0, 0}, {204, 1331, 4915, 0, 0, 0, 0}, {520, 68, 1340, 4352, 0, 0, 0}, {192, 1333, 4192, 0, 0, 0, 0}, {204, 1334, 4972, 0, 0, 0, 0}, {520, 72, 1343, 4104, 0, 0, 0}, {520, 72, 1328, 4152, 0, 0, 0}, {204, 1337, 4959, 0, 0, 0, 0}, {192, 1338, 4176, 0, 0, 0, 0}, {520, 68, 1331, 4403, 0, 0, 0}, {204, 1340, 4864, 0, 0, 0, 0}, {514, 72, 1333, 4128, 0, 0, 0}, {514, 68, 1334, 4386, 0, 0, 0}, {192, 1343, 4096, 0, 0, 0, 0}, {192, 1280, 4160, 0, 0, 0, 0}, {522, 68, 1285, 4369, 0, 0, 0}, {522, 72, 1290, 4136, 0, 0, 0}, {204, 1295, 4991, 0, 0, 0, 0}, {512, 68, 1280, 4352, 0, 0, 0}, {192, 1285, 4112, 0, 0, 0, 0}, {204, 1290, 4896, 0, 0, 0, 0}, {512, 72, 1295, 4144, 0, 0, 0}, {512, 72, 1280, 4096, 0, 0, 0}, {204, 1285, 4883, 0, 0, 0, 0}, {192, 1290, 4128, 0, 0, 0, 0}, {512, 68, 1295, 4403, 0, 0, 0}, {204, 1280, 4940, 0, 0, 0, 0}, {522, 72, 1285, 4120, 0, 0, 0}, {522, 68, 1290, 4386, 0, 0, 0}, {192, 1295, 4208, 0, 0, 0, 0}, {8352, 1360, 0, 0, 0, 0, 0}, {12, 68, 277, 0, 0, 0, 0}, {136, 554, 1370, 0, 0, 0, 0}, {12, 819, 1363, 4192, 0, 0, 0}, {12, 68, 272, 0, 0, 0, 0}, {8192, 1365, 0, 0, 0, 0, 0}, {12, 816, 1366, 4144, 0, 0, 0}, {136, 544, 1375, 0, 0, 0, 0}, {136, 544, 1360, 0, 0, 0, 0}, {12, 819, 1365, 4096, 0, 0, 0}, {8192, 1370, 0, 0, 0, 0, 0}, {12, 68, 275, 0, 0, 0, 0}, {12, 816, 1360, 4176, 0, 0, 0}, {136, 554, 1365, 0, 0, 0, 0}, {12, 68, 278, 0, 0, 0, 0}, {8352, 1375, 0, 0, 0, 0, 0}, {192, 1376, 4192, 0, 0, 0, 0}, {554, 68, 1325, 4369, 0, 0, 0}, {554, 72, 1314, 4104, 0, 0, 0}, {204, 1379, 4959, 0, 0, 0, 0}, {544, 68, 1320, 4352, 0, 0, 0}, {192, 1381, 4144, 0, 0, 0, 0}, {204, 1382, 4864, 0, 0, 0, 0}, {544, 72, 1319, 4112, 0, 0, 0}, {544, 72, 1320, 4128, 0, 0, 0}, {204, 1385, 4915, 0, 0, 0, 0}, {192, 1386, 4096, 0, 0, 0, 0}, {544, 68, 1319, 4403, 0, 0, 0}, {204, 1388, 4972, 0, 0, 0, 0}, {554, 72, 1325, 4152, 0, 0, 0}, {554, 68, 1314, 4386, 0, 0, 0}, {192, 1391, 4176, 0, 0, 0, 0}, {1520, 2560, 9584, 21760, 0, 0, 0}, {12, 309, 518, 68, 1024, 4369, 0}, {136, 522, 1394, 0, 0, 0, 0}, {12, 819, 1331, 4160, 0, 0, 0}, {12, 304, 512, 68, 1024, 4352, 0}, {1525, 2570, 8224, 21845, 0, 0, 0}, {12, 816, 1334, 4112, 0, 0, 0}, {136, 512, 1399, 0, 0, 0, 0}, {136, 512, 1400, 0, 0, 0, 0}, {12, 819, 1333, 4128, 0, 0, 0}, {1530, 2570, 8224, 20560, 0, 0, 0}, {12, 307, 512, 68, 1024, 4096, 0}, {12, 816, 1328, 4208, 0, 0, 0}, {136, 522, 1405, 0, 0, 0, 0}, {12, 310, 518, 68, 1024, 4116, 0}, {1535, 2560, 9599, 20480, 0, 0, 0}, {8320, 1280, 0, 0, 0, 0, 0}, {12, 68, 261, 0, 0, 0, 0}, {136, 522, 1290, 0, 0, 0, 0}, {12, 771, 1283, 4208, 0, 0, 0}, {12, 68, 256, 0, 0, 0, 0}, {8224, 1285, 0, 0, 0, 0, 0}, {12, 768, 1286, 4128, 0, 0, 0}, {136, 512, 1295, 0, 0, 0, 0}, {136, 512, 1280, 0, 0, 0, 0}, {12, 771, 1285, 4112, 0, 0, 0}, {8224, 1290, 0, 0, 0, 0, 0}, {12, 68, 259, 0, 0, 0, 0}, {12, 768, 1280, 4160, 0, 0, 0}, {136, 522, 1285, 0, 0, 0, 0}, {12, 68, 262, 0, 0, 0, 0}, {8320, 1295, 0, 0, 0, 0, 0}, {192, 1360, 4176, 0, 0, 0, 0}, {554, 68, 1297, 4369, 0, 0, 0}, {554, 72, 1298, 4152, 0, 0, 0}, {204, 1375, 4959, 0, 0, 0, 0}, {544, 68, 1300, 4352, 0, 0, 0}, {192, 1365, 4096, 0, 0, 0, 0}, {204, 1370, 4864, 0, 0, 0, 0}, {544, 72, 1303, 4128, 0, 0, 0}, {544, 72, 1304, 4112, 0, 0, 0}, {204, 1365, 4915, 0, 0, 0, 0}, {192, 1370, 4144, 0, 0, 0, 0}, {544, 68, 1307, 4403, 0, 0, 0}, {204, 1360, 4972, 0, 0, 0, 0}, {554, 72, 1309, 4104, 0, 0, 0}, {554, 68, 1310, 4386, 0, 0, 0}, {192, 1375, 4192, 0, 0, 0, 0}, {1440, 3840, 9472, 21760, 0, 0, 0}, {12, 293, 771, 68, 1028, 4369, 0}, {136, 554, 1314, 0, 0, 0, 0}, {12, 771, 1379, 4176, 0, 0, 0}, {12, 288, 768, 68, 1028, 4352, 0}, {1445, 3855, 8192, 21845, 0, 0, 0}, {12, 768, 1382, 4096, 0, 0, 0}, {136, 544, 1319, 0, 0, 0, 0}, {136, 544, 1320, 0, 0, 0, 0}, {12, 771, 1381, 4144, 0, 0, 0}, {1450, 3840, 8192, 20480, 0, 0, 0}, {12, 291, 771, 68, 1028, 4112, 0}, {12, 768, 1376, 4192, 0, 0, 0}, {136, 554, 1325, 0, 0, 0, 0}, {12, 294, 768, 68, 1028, 4100, 0}, {1455, 3855, 9487, 20560, 0, 0, 0}, {192, 1328, 4208, 0, 0, 0, 0}, {522, 68, 1337, 4369, 0, 0, 0}, {522, 72, 1338, 4120, 0, 0, 0}, {204, 1331, 4991, 0, 0, 0, 0}, {512, 68, 1340, 4352, 0, 0, 0}, {192, 1333, 4128, 0, 0, 0, 0}, {204, 1334, 4896, 0, 0, 0, 0}, {512, 72, 1343, 4096, 0, 0, 0}, {512, 72, 1328, 4144, 0, 0, 0}, {204, 1337, 4883, 0, 0, 0, 0}, {192, 1338, 4112, 0, 0, 0, 0}, {512, 68, 1331, 4403, 0, 0, 0}, {204, 1340, 4940, 0, 0, 0, 0}, {522, 72, 1333, 4136, 0, 0, 0}, {522, 68, 1334, 4386, 0, 0, 0}, {192, 1343, 4160, 0, 0, 0, 0}, {192, 1280, 4096, 0, 0, 0, 0}, {514, 68, 1285, 4369, 0, 0, 0}, {514, 72, 1290, 4128, 0, 0, 0}, {204, 1295, 4915, 0, 0, 0, 0}, {520, 68, 1280, 4352, 0, 0, 0}, {192, 1285, 4176, 0, 0, 0, 0}, {204, 1290, 4972, 0, 0, 0, 0}, {520, 72, 1295, 4152, 0, 0, 0}, {520, 72, 1280, 4104, 0, 0, 0}, {204, 1285, 4959, 0, 0, 0, 0}, {192, 1290, 4192, 0, 0, 0, 0}, {520, 68, 1295, 4403, 0, 0, 0}, {204, 1280, 4864, 0, 0, 0, 0}, {514, 72, 1285, 4112, 0, 0, 0}, {514, 68, 1290, 4386, 0, 0, 0}, {192, 1295, 4144, 0, 0, 0, 0}, {8224, 1360, 0, 0, 0, 0, 0}, {12, 68, 273, 0, 0, 0, 0}, {136, 546, 1370, 0, 0, 0, 0}, {12, 819, 1363, 4128, 0, 0, 0}, {12, 68, 276, 0, 0, 0, 0}, {8320, 1365, 0, 0, 0, 0, 0}, {12, 816, 1366, 4208, 0, 0, 0}, {136, 552, 1375, 0, 0, 0, 0}, {136, 552, 1360, 0, 0, 0, 0}, {12, 819, 1365, 4160, 0, 0, 0}, {8320, 1370, 0, 0, 0, 0, 0}, {12, 68, 279, 0, 0, 0, 0}, {12, 816, 1360, 4112, 0, 0, 0}, {136, 546, 1365, 0, 0, 0, 0}, {12, 68, 274, 0, 0, 0, 0}, {8224, 1375, 0, 0, 0, 0, 0}, {192, 1376, 4128, 0, 0, 0, 0}, {546, 68, 1325, 4369, 0, 0, 0}, {546, 72, 1314, 4096, 0, 0, 0}, {204, 1379, 4883, 0, 0, 0, 0}, {552, 68, 1320, 4352, 0, 0, 0}, {192, 1381, 4208, 0, 0, 0, 0}, {204, 1382, 4940, 0, 0, 0, 0}, {552, 72, 1319, 4120, 0, 0, 0}, {552, 72, 1320, 4136, 0, 0, 0}, {204, 1385, 4991, 0, 0, 0, 0}, {192, 1386, 4160, 0, 0, 0, 0}, {552, 68, 1319, 4403, 0, 0, 0}, {204, 1388, 4896, 0, 0, 0, 0}, {546, 72, 1325, 4144, 0, 0, 0}, {546, 68, 1314, 4386, 0, 0, 0}, {192, 1391, 4112, 0, 0, 0, 0}, {1520, 2560, 8192, 21760, 0, 0, 0}, {12, 305, 514, 68, 1028, 4369, 0}, {136, 514, 1394, 0, 0, 0, 0}, {12, 819, 1331, 4096, 0, 0, 0}, {12, 308, 516, 68, 1028, 4352, 0}, {1525, 2570, 9557, 21845, 0, 0, 0}, {12, 816, 1334, 4176, 0, 0, 0}, {136, 520, 1399, 0, 0, 0, 0}, {136, 520, 1400, 0, 0, 0, 0}, {12, 819, 1333, 4192, 0, 0, 0}, {1530, 2570, 9562, 20560, 0, 0, 0}, {12, 311, 516, 68, 1028, 4100, 0}, {12, 816, 1328, 4144, 0, 0, 0}, {136, 514, 1405, 0, 0, 0, 0}, {12, 306, 514, 68, 1028, 4112, 0}, {1535, 2560, 8192, 20480, 0, 0, 0}, {8192, 1536, 0, 0, 0, 0, 0}, {15, 119, 257, 0, 0, 0, 0}, {136, 514, 1032, 0, 0, 0, 0}, {15, 771, 1280, 4144, 0, 0, 0}, {136, 520, 1028, 0, 0, 0, 0}, {15, 768, 1285, 4176, 0, 0, 0}, {8352, 1542, 0, 0, 0, 0, 0}, {15, 119, 263, 0, 0, 0, 0}, {136, 520, 1032, 0, 0, 0, 0}, {15, 771, 1285, 4192, 0, 0, 0}, {8352, 1546, 0, 0, 0, 0, 0}, {15, 119, 260, 0, 0, 0, 0}, {8192, 1548, 0, 0, 0, 0, 0}, {15, 119, 258, 0, 0, 0, 0}, {136, 514, 1028, 0, 0, 0, 0}, {15, 768, 1280, 4096, 0, 0, 0}, {240, 1632, 4112, 0, 0, 0, 0}, {546, 119, 1075, 4369, 0, 0, 0}, {546, 120, 1072, 4144, 0, 0, 0}, {255, 1644, 4883, 0, 0, 0, 0}, {552, 120, 1084, 4136, 0, 0, 0}, {255, 1642, 4991, 0, 0, 0, 0}, {240, 1638, 4208, 0, 0, 0, 0}, {552, 119, 1087, 4352, 0, 0, 0}, {552, 120, 1072, 4120, 0, 0, 0}, {255, 1638, 4940, 0, 0, 0, 0}, {240, 1642, 4160, 0, 0, 0, 0}, {552, 119, 1075, 4403, 0, 0, 0}, {240, 1644, 4128, 0, 0, 0, 0}, {546, 119, 1087, 4386, 0, 0, 0}, {546, 120, 1084, 4096, 0, 0, 0}, {255, 1632, 4896, 0, 0, 0, 0}, {1696, 3072, 8224, 17952, 0, 0, 0}, {15, 289, 771, 342, 1027, 4369, 0}, {136, 546, 1024, 0, 0, 0, 0}, {15, 771, 1360, 4112, 0, 0, 0}, {136, 552, 1036, 0, 0, 0, 0}, {15, 768, 1365, 4208, 0, 0, 0}, {1702, 3084, 9766, 16448, 0, 0, 0}, {15, 295, 768, 336, 1024, 4352, 0}, {136, 552, 1024, 0, 0, 0, 0}, {15, 771, 1365, 4160, 0, 0, 0}, {1706, 3072, 9770, 17962, 0, 0, 0}, {15, 292, 771, 339, 1027, 4119, 0}, {1708, 3084, 8224, 16448, 0, 0, 0}, {15, 290, 768, 341, 1024, 4096, 0}, {136, 546, 1036, 0, 0, 0, 0}, {15, 768, 1360, 4128, 0, 0, 0}, {240, 1584, 4144, 0, 0, 0, 0}, {514, 119, 1083, 4369, 0, 0, 0}, {514, 120, 1080, 4112, 0, 0, 0}, {255, 1587, 4915, 0, 0, 0, 0}, {520, 120, 1076, 4104, 0, 0, 0}, {255, 1589, 4959, 0, 0, 0, 0}, {240, 1590, 4176, 0, 0, 0, 0}, {520, 119, 1079, 4352, 0, 0, 0}, {520, 120, 1080, 4152, 0, 0, 0}, {255, 1593, 4972, 0, 0, 0, 0}, {240, 1594, 4192, 0, 0, 0, 0}, {520, 119, 1083, 4403, 0, 0, 0}, {240, 1596, 4096, 0, 0, 0, 0}, {514, 119, 1079, 4386, 0, 0, 0}, {514, 120, 1076, 4128, 0, 0, 0}, {255, 1599, 4864, 0, 0, 0, 0}, {1728, 2560, 9792, 16448, 0, 0, 0}, {15, 310, 517, 321, 1285, 4369, 0}, {136, 522, 1096, 0, 0, 0, 0}, {15, 819, 1280, 4208, 0, 0, 0}, {136, 512, 1092, 0, 0, 0, 0}, {15, 816, 1285, 4112, 0, 0, 0}, {1734, 2570, 8224, 17990, 0, 0, 0}, {15, 304, 512, 327, 1280, 4352, 0}, {136, 512, 1096, 0, 0, 0, 0}, {15, 819, 1285, 4128, 0, 0, 0}, {1738, 2570, 8224, 16448, 0, 0, 0}, {15, 307, 512, 324, 1280, 4096, 0}, {1740, 2560, 9804, 17996, 0, 0, 0}, {15, 309, 517, 322, 1285, 4119, 0}, {136, 522, 1092, 0, 0, 0, 0}, {15, 816, 1280, 4160, 0, 0, 0}, {240, 1616, 4176, 0, 0, 0, 0}, {554, 119, 1028, 4369, 0, 0, 0}, {554, 120, 1032, 4104, 0, 0, 0}, {255, 1619, 4972, 0, 0, 0, 0}, {544, 120, 1028, 4112, 0, 0, 0}, {255, 1621, 4864, 0, 0, 0, 0}, {240, 1622, 4144, 0, 0, 0, 0}, {544, 119, 1032, 4352, 0, 0, 0}, {544, 120, 1032, 4128, 0, 0, 0}, {255, 1625, 4915, 0, 0, 0, 0}, {240, 1626, 4096, 0, 0, 0, 0}, {544, 119, 1028, 4403, 0, 0, 0}, {240, 1628, 4192, 0, 0, 0, 0}, {554, 119, 1032, 4386, 0, 0, 0}, {554, 120, 1028, 4152, 0, 0, 0}, {255, 1631, 4959, 0, 0, 0, 0}, {8352, 1632, 0, 0, 0, 0, 0}, {15, 119, 278, 0, 0, 0, 0}, {136, 554, 1088, 0, 0, 0, 0}, {15, 819, 1360, 4176, 0, 0, 0}, {136, 544, 1100, 0, 0, 0, 0}, {15, 816, 1365, 4144, 0, 0, 0}, {8192, 1638, 0, 0, 0, 0, 0}, {15, 119, 272, 0, 0, 0, 0}, {136, 544, 1088, 0, 0, 0, 0}, {15, 819, 1365, 4096, 0, 0, 0}, {8192, 1642, 0, 0, 0, 0, 0}, {15, 119, 275, 0, 0, 0, 0}, {8352, 1644, 0, 0, 0, 0, 0}, {15, 119, 277, 0, 0, 0, 0}, {136, 554, 1100, 0, 0, 0, 0}, {15, 816, 1360, 4192, 0, 0, 0}, {240, 1536, 4208, 0, 0, 0, 0}, {522, 119, 1036, 4369, 0, 0, 0}, {522, 120, 1024, 4136, 0, 0, 0}, {255, 1548, 4940, 0, 0, 0, 0}, {512, 120, 1036, 4144, 0, 0, 0}, {255, 1546, 4896, 0, 0, 0, 0}, {240, 1542, 4112, 0, 0, 0, 0}, {512, 119, 1024, 4352, 0, 0, 0}, {512, 120, 1024, 4096, 0, 0, 0}, {255, 1542, 4883, 0, 0, 0, 0}, {240, 1546, 4128, 0, 0, 0, 0}, {512, 119, 1036, 4403, 0, 0, 0}, {240, 1548, 4160, 0, 0, 0, 0}, {522, 119, 1024, 4386, 0, 0, 0}, {522, 120, 1036, 4120, 0, 0, 0}, {255, 1536, 4991, 0, 0, 0, 0}, {8320, 1536, 0, 0, 0, 0, 0}, {15, 119, 262, 0, 0, 0, 0}, {136, 522, 1024, 0, 0, 0, 0}, {15, 771, 1280, 4160, 0, 0, 0}, {136, 512, 1036, 0, 0, 0, 0}, {15, 768, 1285, 4128, 0, 0, 0}, {8224, 1542, 0, 0, 0, 0, 0}, {15, 119, 256, 0, 0, 0, 0}, {136, 512, 1024, 0, 0, 0, 0}, {15, 771, 1285, 4112, 0, 0, 0}, {8224, 1546, 0, 0, 0, 0, 0}, {15, 119, 259, 0, 0, 0, 0}, {8320, 1548, 0, 0, 0, 0, 0}, {15, 119, 261, 0, 0, 0, 0}, {136, 522, 1036, 0, 0, 0, 0}, {15, 768, 1280, 4208, 0, 0, 0}, {240, 1632, 4192, 0, 0, 0, 0}, {554, 119, 1083, 4369, 0, 0, 0}, {554, 120, 1080, 4152, 0, 0, 0}, {255, 1644, 4972, 0, 0, 0, 0}, {544, 120, 1076, 4128, 0, 0, 0}, {255, 1642, 4864, 0, 0, 0, 0}, {240, 1638, 4096, 0, 0, 0, 0}, {544, 119, 1079, 4352, 0, 0, 0}, {544, 120, 1080, 4112, 0, 0, 0}, {255, 1638, 4915, 0, 0, 0, 0}, {240, 1642, 4144, 0, 0, 0, 0}, {544, 119, 1083, 4403, 0, 0, 0}, {240, 1644, 4176, 0, 0, 0, 0}, {554, 119, 1079, 4386, 0, 0, 0}, {554, 120, 1076, 4104, 0, 0, 0}, {255, 1632, 4959, 0, 0, 0, 0}, {1696, 3072, 9728, 16384, 0, 0, 0}, {15, 294, 771, 337, 1028, 4369, 0}, {136, 554, 1032, 0, 0, 0, 0}, {15, 771, 1360, 4192, 0, 0, 0}, {136, 544, 1028, 0, 0, 0, 0}, {15, 768, 1365, 4096, 0, 0, 0}, {1702, 3084, 8192, 18022, 0, 0, 0}, {15, 288, 768, 343, 1031, 4352, 0}, {136, 544, 1032, 0, 0, 0, 0}, {15, 771, 1365, 4144, 0, 0, 0}, {1706, 3072, 8192, 16384, 0, 0, 0}, {15, 291, 771, 340, 1028, 4112, 0}, {1708, 3084, 9740, 18028, 0, 0, 0}, {15, 293, 768, 338, 1031, 4103, 0}, {136, 554, 1028, 0, 0, 0, 0}, {15, 768, 1360, 4176, 0, 0, 0}, {240, 1584, 4160, 0, 0, 0, 0}, {522, 119, 1075, 4369, 0, 0, 0}, {522, 120, 1072, 4120, 0, 0, 0}, {255, 1587, 4940, 0, 0, 0, 0}, {512, 120, 1084, 4096, 0, 0, 0}, {255, 1589, 4896, 0, 0, 0, 0}, {240, 1590, 4128, 0, 0, 0, 0}, {512, 119, 1087, 4352, 0, 0, 0}, {512, 120, 1072, 4144, 0, 0, 0}, {255, 1593, 4883, 0, 0, 0, 0}, {240, 1594, 4112, 0, 0, 0, 0}, {512, 119, 1075, 4403, 0, 0, 0}, {240, 1596, 4208, 0, 0, 0, 0}, {522, 119, 1087, 4386, 0, 0, 0}, {522, 120, 1084, 4136, 0, 0, 0}, {255, 1599, 4991, 0, 0, 0, 0}, {1728, 2560, 8192, 17920, 0, 0, 0}, {15, 305, 514, 326, 1285, 4369, 0}, {136, 514, 1088, 0, 0, 0, 0}, {15, 819, 1280, 4096, 0, 0, 0}, {136, 520, 1100, 0, 0, 0, 0}, {15, 816, 1285, 4192, 0, 0, 0}, {1734, 2570, 9830, 16384, 0, 0, 0}, {15, 311, 519, 320, 1280, 4352, 0}, {136, 520, 1088, 0, 0, 0, 0}, {15, 819, 1285, 4176, 0, 0, 0}, {1738, 2570, 9834, 17930, 0, 0, 0}, {15, 308, 519, 323, 1280, 4103, 0}, {1740, 2560, 8192, 16384, 0, 0, 0}, {15, 306, 514, 325, 1285, 4112, 0}, {136, 514, 1100, 0, 0, 0, 0}, {15, 816, 1280, 4144, 0, 0, 0}, {240, 1616, 4128, 0, 0, 0, 0}, {546, 119, 1036, 4369, 0, 0, 0}, {546, 120, 1024, 4096, 0, 0, 0}, {255, 1619, 4883, 0, 0, 0, 0}, {552, 120, 1036, 4120, 0, 0, 0}, {255, 1621, 4991, 0, 0, 0, 0}, {240, 1622, 4160, 0, 0, 0, 0}, {552, 119, 1024, 4352, 0, 0, 0}, {552, 120, 1024, 4136, 0, 0, 0}, {255, 1625, 4940, 0, 0, 0, 0}, {240, 1626, 4208, 0, 0, 0, 0}, {552, 119, 1036, 4403, 0, 0, 0}, {240, 1628, 4112, 0, 0, 0, 0}, {546, 119, 1024, 4386, 0, 0, 0}, {546, 120, 1036, 4144, 0, 0, 0}, {255, 1631, 4896, 0, 0, 0, 0}, {8224, 1632, 0, 0, 0, 0, 0}, {15, 119, 273, 0, 0, 0, 0}, {136, 546, 1096, 0, 0, 0, 0}, {15, 819, 1360, 4128, 0, 0, 0}, {136, 552, 1092, 0, 0, 0, 0}, {15, 816, 1365, 4160, 0, 0, 0}, {8320, 1638, 0, 0, 0, 0, 0}, {15, 119, 279, 0, 0, 0, 0}, {136, 552, 1096, 0, 0, 0, 0}, {15, 819, 1365, 4208, 0, 0, 0}, {8320, 1642, 0, 0, 0, 0, 0}, {15, 119, 276, 0, 0, 0, 0}, {8224, 1644, 0, 0, 0, 0, 0}, {15, 119, 274, 0, 0, 0, 0}, {136, 546, 1092, 0, 0, 0, 0}, {15, 816, 1360, 4112, 0, 0, 0}, {240, 1536, 4096, 0, 0, 0, 0}, {514, 119, 1028, 4369, 0, 0, 0}, {514, 120, 1032, 4128, 0, 0, 0}, {255, 1548, 4915, 0, 0, 0, 0}, {520, 120, 1028, 4152, 0, 0, 0}, {255, 1546, 4959, 0, 0, 0, 0}, {240, 1542, 4192, 0, 0, 0, 0}, {520, 119, 1032, 4352, 0, 0, 0}, {520, 120, 1032, 4104, 0, 0, 0}, {255, 1542, 4972, 0, 0, 0, 0}, {240, 1546, 4176, 0, 0, 0, 0}, {520, 119, 1028, 4403, 0, 0, 0}, {240, 1548, 4144, 0, 0, 0, 0}, {514, 119, 1032, 4386, 0, 0, 0}, {514, 120, 1028, 4112, 0, 0, 0}, {255, 1536, 4864, 0, 0, 0, 0}, {3840, 30464, 0, 0, 0, 0, 0}, {32, 6, 257, 0, 0, 0, 0}, {10, 32, 514, 1280, 0, 0, 0}, {12, 771, 17408, 0, 0, 0, 0}, {12, 768, 64, 1028, 0, 0, 0}, {10, 8704, 1285, 0, 0, 0, 0}, {768, 6, 4352, 0, 0, 0, 0}, {128, 1799, 0, 0, 0, 0, 0}, {128, 1800, 0, 0, 0, 0, 0}, {771, 6, 4403, 0, 0, 0, 0}, {10, 8704, 1280, 0, 0, 0, 0}, {12, 771, 64, 1028, 0, 0, 0}, {12, 768, 17408, 0, 0, 0, 0}, {10, 32, 514, 1285, 0, 0, 0}, {32, 6, 258, 0, 0, 0, 0}, {3855, 30719, 0, 0, 0, 0, 0}, {32, 64, 1808, 4112, 0, 0, 0}, {3891, 102, 4369, 0, 0, 0, 0}, {3888, 106, 4626, 0, 0, 0, 0}, {32, 76, 1811, 4883, 0, 0, 0}, {3900, 108, 5140, 0, 0, 0, 0}, {42, 64, 1813, 4608, 0, 0, 0}, {42, 76, 1814, 4352, 0, 0, 0}, {3903, 96, 5911, 0, 0, 0, 0}, {3888, 96, 5928, 0, 0, 0, 0}, {42, 76, 1817, 4377, 0, 0, 0}, {42, 64, 1818, 4634, 0, 0, 0}, {3891, 108, 5160, 0, 0, 0, 0}, {32, 76, 1820, 4864, 0, 0, 0}, {3903, 106, 4642, 0, 0, 0, 0}, {3900, 102, 4386, 0, 0, 0, 0}, {32, 64, 1823, 4096, 0, 0, 0}, {32, 1792, 0, 0, 0, 0, 0}, {12, 771, 102, 4369, 0, 0, 0}, {170, 3840, 8738, 21760, 0, 0, 0}, {12, 32, 771, 64, 1024, 4112, 0}, {12, 768, 96, 5156, 0, 0, 0}, {42, 1807, 0, 0, 0, 0, 0}, {12, 38, 768, 64, 1024, 4352, 0}, {160, 3855, 10023, 20560, 0, 0, 0}, {160, 3840, 10024, 20480, 0, 0, 0}, {12, 38, 771, 64, 1024, 4373, 0}, {42, 1792, 0, 0, 0, 0, 0}, {12, 771, 96, 5140, 0, 0, 0}, {12, 32, 768, 64, 1024, 4096, 0}, {170, 3855, 8738, 21845, 0, 0, 0}, {12, 768, 102, 4386, 0, 0, 0}, {32, 1807, 0, 0, 0, 0, 0}, {192, 3888, 12336, 18224, 0, 0, 0}, {10, 32, 514, 70, 1299, 4369, 0}, {10, 32, 514, 64, 1296, 4112, 0}, {204, 3891, 13107, 17408, 0, 0, 0}, {13056, 76, 1844, 0, 0, 0, 0}, {10, 96, 1333, 4608, 0, 0, 0}, {10, 102, 1334, 4352, 0, 0, 0}, {12288, 64, 1847, 0, 0, 0, 0}, {12336, 64, 1848, 0, 0, 0, 0}, {10, 102, 1331, 4403, 0, 0, 0}, {10, 96, 1328, 4656, 0, 0, 0}, {13107, 76, 1851, 0, 0, 0, 0}, {204, 3900, 13056, 17408, 0, 0, 0}, {10, 32, 514, 64, 1301, 4096, 0}, {10, 32, 514, 70, 1302, 4354, 0}, {192, 3903, 12288, 18239, 0, 0, 0}, {12288, 64, 1792, 0, 0, 0, 0}, {10, 102, 1285, 4369, 0, 0, 0}, {10, 96, 1280, 4642, 0, 0, 0}, {13107, 76, 1807, 0, 0, 0, 0}, {204, 3840, 13056, 17476, 0, 0, 0}, {10, 32, 512, 64, 1285, 4112, 0}, {10, 32, 512, 70, 1280, 4352, 0}, {192, 3855, 12336, 18247, 0, 0, 0}, {192, 3840, 12288, 18248, 0, 0, 0}, {10, 32, 512, 70, 1285, 4371, 0}, {10, 32, 512, 64, 1280, 4096, 0}, {204, 3855, 13107, 17476, 0, 0, 0}, {13056, 76, 1792, 0, 0, 0, 0}, {10, 96, 1285, 4626, 0, 0, 0}, {10, 102, 1280, 4386, 0, 0, 0}, {12336, 64, 1807, 0, 0, 0, 0}, {160, 3920, 10064, 20560, 0, 0, 0}, {12, 38, 789, 64, 1028, 4369, 0}, {42, 1874, 0, 0, 0, 0, 0}, {12, 819, 96, 5120, 0, 0, 0}, {12, 32, 784, 64, 1028, 4112, 0}, {170, 3925, 8704, 21845, 0, 0, 0}, {12, 816, 102, 4352, 0, 0, 0}, {32, 1879, 0, 0, 0, 0, 0}, {32, 1880, 0, 0, 0, 0, 0}, {12, 819, 102, 4403, 0, 0, 0}, {170, 3930, 8704, 21760, 0, 0, 0}, {12, 32, 787, 64, 1028, 4096, 0}, {12, 816, 96, 5168, 0, 0, 0}, {42, 1885, 0, 0, 0, 0, 0}, {12, 38, 790, 64, 1028, 4356, 0}, {160, 3935, 10079, 20480, 0, 0, 0}, {3840, 96, 5888, 0, 0, 0, 0}, {42, 76, 1799, 4369, 0, 0, 0}, {42, 64, 1800, 4616, 0, 0, 0}, {3855, 108, 5180, 0, 0, 0, 0}, {32, 76, 1800, 4864, 0, 0, 0}, {3855, 106, 4656, 0, 0, 0, 0}, {3840, 102, 4352, 0, 0, 0, 0}, {32, 64, 1799, 4112, 0, 0, 0}, {32, 64, 1800, 4096, 0, 0, 0}, {3855, 102, 4403, 0, 0, 0, 0}, {3840, 106, 4608, 0, 0, 0, 0}, {32, 76, 1799, 4883, 0, 0, 0}, {3840, 108, 5120, 0, 0, 0, 0}, {42, 64, 1799, 4626, 0, 0, 0}, {42, 76, 1800, 4360, 0, 0, 0}, {3855, 96, 5951, 0, 0, 0, 0}, {128, 1904, 0, 0, 0, 0, 0}, {819, 6, 4369, 0, 0, 0, 0}, {10, 8738, 1360, 0, 0, 0, 0}, {12, 819, 64, 1024, 0, 0, 0}, {12, 816, 17476, 0, 0, 0, 0}, {10, 32, 512, 1365, 0, 0, 0}, {32, 6, 272, 0, 0, 0, 0}, {4095, 30583, 0, 0, 0, 0, 0}, {4080, 30600, 0, 0, 0, 0, 0}, {32, 6, 275, 0, 0, 0, 0}, {10, 32, 512, 1360, 0, 0, 0}, {12, 819, 17476, 0, 0, 0, 0}, {12, 816, 64, 1024, 0, 0, 0}, {10, 8738, 1365, 0, 0, 0, 0}, {816, 6, 4386, 0, 0, 0, 0}, {128, 1919, 0, 0, 0, 0, 0}, {128, 1792, 0, 0, 0, 0, 0}, {771, 6, 4369, 0, 0, 0, 0}, {10, 8738, 1280, 0, 0, 0, 0}, {12, 771, 64, 1024, 0, 0, 0}, {12, 768, 17476, 0, 0, 0, 0}, {10, 32, 512, 1285, 0, 0, 0}, {32, 6, 256, 0, 0, 0, 0}, {3855, 30583, 0, 0, 0, 0, 0}, {3840, 30600, 0, 0, 0, 0, 0}, {32, 6, 259, 0, 0, 0, 0}, {10, 32, 512, 1280, 0, 0, 0}, {12, 771, 17476, 0, 0, 0, 0}, {12, 768, 64, 1024, 0, 0, 0}, {10, 8738, 1285, 0, 0, 0, 0}, {768, 6, 4386, 0, 0, 0, 0}, {128, 1807, 0, 0, 0, 0, 0}, {3888, 96, 5888, 0, 0, 0, 0}, {42, 76, 1809, 4369, 0, 0, 0}, {42, 64, 1810, 4626, 0, 0, 0}, {3891, 108, 5120, 0, 0, 0, 0}, {32, 76, 1812, 4864, 0, 0, 0}, {3903, 106, 4608, 0, 0, 0, 0}, {3900, 102, 4352, 0, 0, 0, 0}, {32, 64, 1815, 4096, 0, 0, 0}, {32, 64, 1816, 4112, 0, 0, 0}, {3891, 102, 4403, 0, 0, 0, 0}, {3888, 106, 4656, 0, 0, 0, 0}, {32, 76, 1819, 4883, 0, 0, 0}, {3900, 108, 5180, 0, 0, 0, 0}, {42, 64, 1821, 4616, 0, 0, 0}, {42, 76, 1822, 4360, 0, 0, 0}, {3903, 96, 5951, 0, 0, 0, 0}, {160, 3840, 9984, 20480, 0, 0, 0}, {12, 38, 771, 64, 1028, 4369, 0}, {42, 1800, 0, 0, 0, 0, 0}, {12, 771, 96, 5168, 0, 0, 0}, {12, 32, 768, 64, 1028, 4096, 0}, {170, 3855, 8704, 21845, 0, 0, 0}, {12, 768, 102, 4352, 0, 0, 0}, {32, 1799, 0, 0, 0, 0, 0}, {32, 1800, 0, 0, 0, 0, 0}, {12, 771, 102, 4403, 0, 0, 0}, {170, 3840, 8704, 21760, 0, 0, 0}, {12, 32, 771, 64, 1028, 4112, 0}, {12, 768, 96, 5120, 0, 0, 0}, {42, 1799, 0, 0, 0, 0, 0}, {12, 38, 768, 64, 1028, 4356, 0}, {160, 3855, 9999, 20560, 0, 0, 0}, {12336, 64, 1840, 0, 0, 0, 0}, {10, 102, 1331, 4369, 0, 0, 0}, {10, 96, 1328, 4626, 0, 0, 0}, {13107, 76, 1843, 0, 0, 0, 0}, {204, 3900, 13056, 17476, 0, 0, 0}, {10, 32, 512, 64, 1301, 4096, 0}, {10, 32, 512, 70, 1302, 4352, 0}, {192, 3903, 12288, 18295, 0, 0, 0}, {192, 3888, 12336, 18296, 0, 0, 0}, {10, 32, 512, 70, 1299, 4371, 0}, {10, 32, 512, 64, 1296, 4112, 0}, {204, 3891, 13107, 17476, 0, 0, 0}, {13056, 76, 1852, 0, 0, 0, 0}, {10, 96, 1333, 4642, 0, 0, 0}, {10, 102, 1334, 4386, 0, 0, 0}, {12288, 64, 1855, 0, 0, 0, 0}, {192, 3840, 12288, 18176, 0, 0, 0}, {10, 32, 514, 70, 1285, 4369, 0}, {10, 32, 514, 64, 1280, 4096, 0}, {204, 3855, 13107, 17408, 0, 0, 0}, {13056, 76, 1800, 0, 0, 0, 0}, {10, 96, 1285, 4656, 0, 0, 0}, {10, 102, 1280, 4352, 0, 0, 0}, {12336, 64, 1799, 0, 0, 0, 0}, {12288, 64, 1800, 0, 0, 0, 0}, {10, 102, 1285, 4403, 0, 0, 0}, {10, 96, 1280, 4608, 0, 0, 0}, {13107, 76, 1799, 0, 0, 0, 0}, {204, 3840, 13056, 17408, 0, 0, 0}, {10, 32, 514, 64, 1285, 4112, 0}, {10, 32, 514, 70, 1280, 4354, 0}, {192, 3855, 12336, 18191, 0, 0, 0}, {32, 1872, 0, 0, 0, 0, 0}, {12, 819, 102, 4369, 0, 0, 0}, {170, 3930, 8738, 21760, 0, 0, 0}, {12, 32, 787, 64, 1024, 4096, 0}, {12, 816, 96, 5140, 0, 0, 0}, {42, 1877, 0, 0, 0, 0, 0}, {12, 38, 790, 64, 1024, 4352, 0}, {160, 3935, 10103, 20480, 0, 0, 0}, {160, 3920, 10104, 20560, 0, 0, 0}, {12, 38, 789, 64, 1024, 4373, 0}, {42, 1882, 0, 0, 0, 0, 0}, {12, 819, 96, 5156, 0, 0, 0}, {12, 32, 784, 64, 1024, 4112, 0}, {170, 3925, 8738, 21845, 0, 0, 0}, {12, 816, 102, 4386, 0, 0, 0}, {32, 1887, 0, 0, 0, 0, 0}, {32, 64, 1792, 4096, 0, 0, 0}, {3855, 102, 4369, 0, 0, 0, 0}, {3840, 106, 4642, 0, 0, 0, 0}, {32, 76, 1807, 4883, 0, 0, 0}, {3840, 108, 5160, 0, 0, 0, 0}, {42, 64, 1807, 4634, 0, 0, 0}, {42, 76, 1792, 4352, 0, 0, 0}, {3855, 96, 5911, 0, 0, 0, 0}, {3840, 96, 5928, 0, 0, 0, 0}, {42, 76, 1807, 4377, 0, 0, 0}, {42, 64, 1792, 4608, 0, 0, 0}, {3855, 108, 5140, 0, 0, 0, 0}, {32, 76, 1792, 4864, 0, 0, 0}, {3855, 106, 4626, 0, 0, 0, 0}, {3840, 102, 4386, 0, 0, 0, 0}, {32, 64, 1807, 4112, 0, 0, 0}, {4080, 30464, 0, 0, 0, 0, 0}, {32, 6, 273, 0, 0, 0, 0}, {10, 32, 514, 1360, 0, 0, 0}, {12, 819, 17408, 0, 0, 0, 0}, {12, 816, 64, 1028, 0, 0, 0}, {10, 8704, 1365, 0, 0, 0, 0}, {816, 6, 4352, 0, 0, 0, 0}, {128, 1911, 0, 0, 0, 0, 0}, {128, 1912, 0, 0, 0, 0, 0}, {819, 6, 4403, 0, 0, 0, 0}, {10, 8704, 1360, 0, 0, 0, 0}, {12, 819, 64, 1028, 0, 0, 0}, {12, 816, 17408, 0, 0, 0, 0}, {10, 32, 514, 1365, 0, 0, 0}, {32, 6, 274, 0, 0, 0, 0}, {4095, 30719, 0, 0, 0, 0, 0}, {34816, 0, 0, 0, 0, 0, 0}, {3, 5, 16, 257, 0, 0, 0}, {10, 32, 514, 0, 0, 0, 0}, {3, 17408, 0, 0, 0, 0, 0}, {12, 64, 1028, 0, 0, 0, 0}, {8704, 5, 0, 0, 0, 0, 0}, {8704, 6, 0, 0, 0, 0, 0}, {15, 112, 1799, 0, 0, 0, 0}, {128, 2056, 0, 0, 0, 0, 0}, {3, 5, 4352, 0, 0, 0, 0}, {10, 8704, 0, 0, 0, 0, 0}, {3, 64, 1028, 0, 0, 0, 0}, {12, 17408, 0, 0, 0, 0, 0}, {32, 514, 5, 0, 0, 0, 0}, {32, 514, 6, 0, 0, 0, 0}, {15, 30464, 0, 0, 0, 0, 0}, {2048, 16, 0, 0, 0, 0, 0}, {51, 85, 4369, 0, 0, 0, 0}, {48, 90, 4626, 0, 0, 0, 0}, {2048, 19, 0, 0, 0, 0, 0}, {60, 80, 5140, 0, 0, 0, 0}, {2048, 21, 0, 0, 0, 0, 0}, {2048, 22, 0, 0, 0, 0, 0}, {63, 95, 5911, 0, 0, 0, 0}, {6168, 48, 80, 0, 0, 0, 0}, {25, 51, 85, 4352, 0, 0, 0}, {26, 48, 64, 4608, 0, 0, 0}, {6939, 51, 95, 0, 0, 0, 0}, {28, 32, 80, 5120, 0, 0, 0}, {7453, 63, 85, 0, 0, 0, 0}, {7710, 60, 90, 0, 0, 0, 0}, {31, 32, 64, 5888, 0, 0, 0}, {2048, 32, 0, 0, 0, 0, 0}, {3, 85, 4369, 0, 0, 0, 0}, {170, 8738, 0, 0, 0, 0, 0}, {3, 1024, 16, 0, 0, 0, 0}, {12, 9252, 96, 0, 0, 0, 0}, {15, 37, 85, 1792, 0, 0, 0}, {12, 38, 64, 1024, 0, 0, 0}, {15, 10023, 80, 0, 0, 0, 0}, {160, 10280, 0, 0, 0, 0, 0}, {3, 1024, 21, 0, 0, 0, 0}, {2048, 42, 0, 0, 0, 0, 0}, {3, 80, 5140, 0, 0, 0, 0}, {12, 32, 64, 1024, 0, 0, 0}, {15, 8738, 85, 0, 0, 0, 0}, {12, 8738, 102, 0, 0, 0, 0}, {15, 32, 80, 1792, 0, 0, 0}, {48, 18432, 0, 0, 0, 0, 0}, {10, 514, 19, 0, 0, 0, 0}, {10, 514, 16, 0, 0, 0, 0}, {51, 17408, 0, 0, 0, 0, 0}, {2056, 60, 76, 0, 0, 0, 0}, {10, 53, 85, 5888, 0, 0, 0}, {10, 54, 80, 5120, 0, 0, 0}, {2056, 63, 64, 0, 0, 0, 0}, {2056, 48, 64, 0, 0, 0, 0}, {10, 51, 85, 4352, 0, 0, 0}, {10, 48, 80, 4608, 0, 0, 0}, {2056, 51, 76, 0, 0, 0, 0}, {60, 17408, 0, 0, 0, 0, 0}, {10, 514, 21, 0, 0, 0, 0}, {10, 514, 22, 0, 0, 0, 0}, {63, 18432, 0, 0, 0, 0, 0}, {2048, 64, 0, 0, 0, 0, 0}, {51, 5, 4369, 0, 0, 0, 0}, {10, 8738, 96, 0, 0, 0, 0}, {15, 51, 67, 1792, 0, 0, 0}, {204, 17476, 0, 0, 0, 0, 0}, {512, 5, 16, 0, 0, 0, 0}, {10, 32, 512, 70, 0, 0, 0}, {15, 48, 18247, 0, 0, 0, 0}, {192, 18504, 0, 0, 0, 0, 0}, {512, 5, 19, 0, 0, 0, 0}, {10, 32, 512, 64, 0, 0, 0}, {15, 51, 17476, 0, 0, 0, 0}, {2048, 76, 0, 0, 0, 0, 0}, {48, 5, 4626, 0, 0, 0, 0}, {10, 8738, 102, 0, 0, 0, 0}, {15, 48, 64, 1792, 0, 0, 0}, {10240, 80, 0, 0, 0, 0, 0}, {12, 1028, 21, 0, 0, 0, 0}, {2056, 42, 90, 0, 0, 0, 0}, {12, 51, 83, 5888, 0, 0, 0}, {12, 1028, 16, 0, 0, 0, 0}, {8704, 85, 0, 0, 0, 0, 0}, {12, 48, 86, 4608, 0, 0, 0}, {2056, 32, 95, 0, 0, 0, 0}, {2056, 32, 80, 0, 0, 0, 0}, {12, 51, 85, 4352, 0, 0, 0}, {8704, 90, 0, 0, 0, 0, 0}, {12, 1028, 19, 0, 0, 0, 0}, {12, 48, 80, 5120, 0, 0, 0}, {2056, 42, 85, 0, 0, 0, 0}, {12, 1028, 22, 0, 0, 0, 0}, {10240, 95, 0, 0, 0, 0, 0}, {10240, 96, 0, 0, 0, 0, 0}, {15, 1799, 22, 0, 0, 0, 0}, {2056, 42, 64, 0, 0, 0, 0}, {15, 51, 80, 5120, 0, 0, 0}, {2056, 32, 76, 0, 0, 0, 0}, {15, 48, 85, 4608, 0, 0, 0}, {8704, 102, 0, 0, 0, 0, 0}, {15, 1799, 16, 0, 0, 0, 0}, {2056, 32, 64, 0, 0, 0, 0}, {15, 51, 85, 4352, 0, 0, 0}, {8704, 106, 0, 0, 0, 0, 0}, {15, 1799, 19, 0, 0, 0, 0}, {10240, 108, 0, 0, 0, 0, 0}, {15, 1799, 21, 0, 0, 0, 0}, {2056, 42, 76, 0, 0, 0, 0}, {15, 48, 80, 5888, 0, 0, 0}, {2048, 112, 0, 0, 0, 0, 0}, {51, 6, 4369, 0, 0, 0, 0}, {10, 8738, 80, 0, 0, 0, 0}, {12, 51, 64, 1024, 0, 0, 0}, {12, 48, 17476, 0, 0, 0, 0}, {10, 32, 512, 85, 0, 0, 0}, {512, 6, 16, 0, 0, 0, 0}, {255, 30583, 0, 0, 0, 0, 0}, {240, 30840, 0, 0, 0, 0, 0}, {512, 6, 19, 0, 0, 0, 0}, {10, 32, 512, 80, 0, 0, 0}, {12, 51, 17476, 0, 0, 0, 0}, {12, 48, 64, 1024, 0, 0, 0}, {10, 8738, 85, 0, 0, 0, 0}, {48, 6, 4626, 0, 0, 0, 0}, {2048, 127, 0, 0, 0, 0, 0}, {128, 2048, 0, 0, 0, 0, 0}, {3, 5, 4369, 0, 0, 0, 0}, {10, 8738, 0, 0, 0, 0, 0}, {3, 64, 1024, 0, 0, 0, 0}, {12, 17476, 0, 0, 0, 0, 0}, {32, 512, 5, 0, 0, 0, 0}, {32, 512, 6, 0, 0, 0, 0}, {15, 30583, 0, 0, 0, 0, 0}, {34952, 0, 0, 0, 0, 0, 0}, {3, 5, 16, 256, 0, 0, 0}, {10, 32, 512, 0, 0, 0, 0}, {3, 17476, 0, 0, 0, 0, 0}, {12, 64, 1024, 0, 0, 0, 0}, {8738, 5, 0, 0, 0, 0, 0}, {8738, 6, 0, 0, 0, 0, 0}, {15, 112, 1792, 0, 0, 0, 0}, {6144, 48, 80, 0, 0, 0, 0}, {25, 51, 85, 4369, 0, 0, 0}, {26, 48, 64, 4626, 0, 0, 0}, {6912, 51, 95, 0, 0, 0, 0}, {28, 32, 80, 5140, 0, 0, 0}, {7424, 63, 85, 0, 0, 0, 0}, {7680, 60, 90, 0, 0, 0, 0}, {31, 32, 64, 5911, 0, 0, 0}, {2056, 16, 0, 0, 0, 0, 0}, {51, 85, 4352, 0, 0, 0, 0}, {48, 90, 4608, 0, 0, 0, 0}, {2056, 19, 0, 0, 0, 0, 0}, {60, 80, 5120, 0, 0, 0, 0}, {2056, 21, 0, 0, 0, 0, 0}, {2056, 22, 0, 0, 0, 0, 0}, {63, 95, 5888, 0, 0, 0, 0}, {160, 10240, 0, 0, 0, 0, 0}, {3, 1028, 21, 0, 0, 0, 0}, {2056, 42, 0, 0, 0, 0, 0}, {3, 80, 5120, 0, 0, 0, 0}, {12, 32, 64, 1028, 0, 0, 0}, {15, 8704, 85, 0, 0, 0, 0}, {12, 8704, 102, 0, 0, 0, 0}, {15, 32, 80, 1799, 0, 0, 0}, {2056, 32, 0, 0, 0, 0, 0}, {3, 85, 4352, 0, 0, 0, 0}, {170, 8704, 0, 0, 0, 0, 0}, {3, 1028, 16, 0, 0, 0, 0}, {12, 9216, 96, 0, 0, 0, 0}, {15, 37, 85, 1799, 0, 0, 0}, {12, 38, 64, 1028, 0, 0, 0}, {15, 9984, 80, 0, 0, 0, 0}, {2048, 48, 64, 0, 0, 0, 0}, {10, 51, 85, 4369, 0, 0, 0}, {10, 48, 80, 4626, 0, 0, 0}, {2048, 51, 76, 0, 0, 0, 0}, {60, 17476, 0, 0, 0, 0, 0}, {10, 512, 21, 0, 0, 0, 0}, {10, 512, 22, 0, 0, 0, 0}, {63, 18504, 0, 0, 0, 0, 0}, {48, 18504, 0, 0, 0, 0, 0}, {10, 512, 19, 0, 0, 0, 0}, {10, 512, 16, 0, 0, 0, 0}, {51, 17476, 0, 0, 0, 0, 0}, {2048, 60, 76, 0, 0, 0, 0}, {10, 53, 85, 5911, 0, 0, 0}, {10, 54, 80, 5140, 0, 0, 0}, {2048, 63, 64, 0, 0, 0, 0}, {192, 18432, 0, 0, 0, 0, 0}, {514, 5, 19, 0, 0, 0, 0}, {10, 32, 514, 64, 0, 0, 0}, {15, 51, 17408, 0, 0, 0, 0}, {2056, 76, 0, 0, 0, 0, 0}, {48, 5, 4608, 0, 0, 0, 0}, {10, 8704, 102, 0, 0, 0, 0}, {15, 48, 64, 1799, 0, 0, 0}, {2056, 64, 0, 0, 0, 0, 0}, {51, 5, 4352, 0, 0, 0, 0}, {10, 8704, 96, 0, 0, 0, 0}, {15, 51, 67, 1799, 0, 0, 0}, {204, 17408, 0, 0, 0, 0, 0}, {514, 5, 16, 0, 0, 0, 0}, {10, 32, 514, 70, 0, 0, 0}, {15, 48, 18176, 0, 0, 0, 0}, {2048, 32, 80, 0, 0, 0, 0}, {12, 51, 85, 4369, 0, 0, 0}, {8738, 90, 0, 0, 0, 0, 0}, {12, 1024, 19, 0, 0, 0, 0}, {12, 48, 80, 5140, 0, 0, 0}, {2048, 42, 85, 0, 0, 0, 0}, {12, 1024, 22, 0, 0, 0, 0}, {10280, 95, 0, 0, 0, 0, 0}, {10280, 80, 0, 0, 0, 0, 0}, {12, 1024, 21, 0, 0, 0, 0}, {2048, 42, 90, 0, 0, 0, 0}, {12, 51, 83, 5911, 0, 0, 0}, {12, 1024, 16, 0, 0, 0, 0}, {8738, 85, 0, 0, 0, 0, 0}, {12, 48, 86, 4626, 0, 0, 0}, {2048, 32, 95, 0, 0, 0, 0}, {2048, 32, 64, 0, 0, 0, 0}, {15, 51, 85, 4369, 0, 0, 0}, {8738, 106, 0, 0, 0, 0, 0}, {15, 1792, 19, 0, 0, 0, 0}, {10280, 108, 0, 0, 0, 0, 0}, {15, 1792, 21, 0, 0, 0, 0}, {2048, 42, 76, 0, 0, 0, 0}, {15, 48, 80, 5911, 0, 0, 0}, {10280, 96, 0, 0, 0, 0, 0}, {15, 1792, 22, 0, 0, 0, 0}, {2048, 42, 64, 0, 0, 0, 0}, {15, 51, 80, 5140, 0, 0, 0}, {2048, 32, 76, 0, 0, 0, 0}, {15, 48, 85, 4626, 0, 0, 0}, {8738, 102, 0, 0, 0, 0, 0}, {15, 1792, 16, 0, 0, 0, 0}, {240, 30720, 0, 0, 0, 0, 0}, {514, 6, 19, 0, 0, 0, 0}, {10, 32, 514, 80, 0, 0, 0}, {12, 51, 17408, 0, 0, 0, 0}, {12, 48, 64, 1028, 0, 0, 0}, {10, 8704, 85, 0, 0, 0, 0}, {48, 6, 4608, 0, 0, 0, 0}, {2056, 127, 0, 0, 0, 0, 0}, {2056, 112, 0, 0, 0, 0, 0}, {51, 6, 4352, 0, 0, 0, 0}, {10, 8704, 80, 0, 0, 0, 0}, {12, 51, 64, 1028, 0, 0, 0}, {12, 48, 17408, 0, 0, 0, 0}, {10, 32, 514, 85, 0, 0, 0}, {514, 6, 16, 0, 0, 0, 0}, {255, 30464, 0, 0, 0, 0, 0}, {768, 1280, 4096, 0, 0, 0, 0}, {136, 257, 0, 0, 0, 0, 0}, {136, 258, 0, 0, 0, 0, 0}, {771, 1295, 4144, 0, 0, 0, 0}, {136, 260, 0, 0, 0, 0, 0}, {783, 1285, 4176, 0, 0, 0, 0}, {780, 1290, 4192, 0, 0, 0, 0}, {136, 263, 0, 0, 0, 0, 0}, {264, 768, 1280, 4352, 0, 0, 0}, {4240, 771, 1285, 0, 0, 0, 0}, {4256, 768, 1290, 0, 0, 0, 0}, {267, 771, 1028, 4403, 0, 0, 0}, {4288, 780, 1280, 0, 0, 0, 0}, {269, 514, 1285, 4437, 0, 0, 0}, {270, 514, 1028, 4454, 0, 0, 0}, {4336, 783, 1295, 0, 0, 0, 0}, {816, 1360, 4112, 0, 0, 0, 0}, {136, 273, 0, 0, 0, 0, 0}, {136, 274, 0, 0, 0, 0, 0}, {819, 1375, 4128, 0, 0, 0, 0}, {136, 276, 0, 0, 0, 0, 0}, {831, 1365, 4160, 0, 0, 0, 0}, {828, 1370, 4208, 0, 0, 0, 0}, {136, 279, 0, 0, 0, 0, 0}, {280, 816, 1360, 4352, 0, 0, 0}, {4224, 819, 1365, 0, 0, 0, 0}, {4272, 816, 1370, 0, 0, 0, 0}, {283, 819, 1092, 4403, 0, 0, 0}, {4304, 828, 1360, 0, 0, 0, 0}, {285, 546, 1365, 4437, 0, 0, 0}, {286, 546, 1092, 4454, 0, 0, 0}, {4320, 831, 1375, 0, 0, 0, 0}, {1440, 768, 4128, 0, 0, 0, 0}, {289, 771, 1036, 4369, 0, 0, 0}, {290, 768, 1024, 4096, 0, 0, 0}, {1455, 771, 4112, 0, 0, 0, 0}, {292, 780, 1036, 4420, 0, 0, 0}, {1445, 783, 4208, 0, 0, 0, 0}, {1450, 780, 4160, 0, 0, 0, 0}, {295, 783, 1024, 4176, 0, 0, 0}, {296, 768, 1024, 4352, 0, 0, 0}, {1445, 771, 5397, 0, 0, 0, 0}, {1450, 768, 5418, 0, 0, 0, 0}, {299, 771, 1036, 4120, 0, 0, 0}, {1440, 780, 5440, 0, 0, 0, 0}, {301, 783, 1024, 4437, 0, 0, 0}, {302, 780, 1036, 4168, 0, 0, 0}, {1455, 783, 5503, 0, 0, 0, 0}, {1520, 816, 4144, 0, 0, 0, 0}, {305, 514, 1100, 4369, 0, 0, 0}, {306, 514, 1088, 4112, 0, 0, 0}, {1535, 819, 4096, 0, 0, 0, 0}, {308, 520, 1100, 4420, 0, 0, 0}, {1525, 831, 4192, 0, 0, 0, 0}, {1530, 828, 4176, 0, 0, 0, 0}, {311, 520, 1088, 4160, 0, 0, 0}, {312, 520, 1088, 4352, 0, 0, 0}, {1525, 819, 5461, 0, 0, 0, 0}, {1530, 816, 5482, 0, 0, 0, 0}, {315, 520, 1100, 4104, 0, 0, 0}, {1520, 828, 5376, 0, 0, 0, 0}, {317, 514, 1088, 4437, 0, 0, 0}, {318, 514, 1100, 4184, 0, 0, 0}, {1535, 831, 5439, 0, 0, 0, 0}, {960, 1280, 4160, 0, 0, 0, 0}, {522, 321, 1285, 4369, 0, 0, 0}, {522, 322, 1290, 4386, 0, 0, 0}, {963, 1295, 4208, 0, 0, 0, 0}, {512, 324, 1280, 4096, 0, 0, 0}, {975, 1285, 4112, 0, 0, 0, 0}, {972, 1290, 4128, 0, 0, 0, 0}, {512, 327, 1295, 4144, 0, 0, 0}, {512, 328, 1280, 4352, 0, 0, 0}, {963, 1285, 4883, 0, 0, 0, 0}, {960, 1290, 4896, 0, 0, 0, 0}, {512, 331, 1295, 4403, 0, 0, 0}, {972, 1280, 4940, 0, 0, 0, 0}, {522, 333, 1285, 4120, 0, 0, 0}, {522, 334, 1290, 4136, 0, 0, 0}, {975, 1295, 4991, 0, 0, 0, 0}, {1008, 1360, 4176, 0, 0, 0, 0}, {554, 337, 1028, 4369, 0, 0, 0}, {554, 338, 1032, 4386, 0, 0, 0}, {1011, 1375, 4192, 0, 0, 0, 0}, {544, 340, 1028, 4112, 0, 0, 0}, {1023, 1365, 4096, 0, 0, 0, 0}, {1020, 1370, 4144, 0, 0, 0, 0}, {544, 343, 1032, 4128, 0, 0, 0}, {544, 344, 1032, 4352, 0, 0, 0}, {1011, 1365, 4915, 0, 0, 0, 0}, {1008, 1370, 4864, 0, 0, 0, 0}, {544, 347, 1028, 4403, 0, 0, 0}, {1020, 1360, 4972, 0, 0, 0, 0}, {554, 349, 1032, 4104, 0, 0, 0}, {554, 350, 1028, 4152, 0, 0, 0}, {1023, 1375, 4959, 0, 0, 0, 0}, {960, 1632, 4192, 0, 0, 0, 0}, {554, 353, 1325, 4369, 0, 0, 0}, {554, 354, 1314, 4386, 0, 0, 0}, {963, 1644, 4176, 0, 0, 0, 0}, {544, 356, 1320, 4128, 0, 0, 0}, {975, 1642, 4144, 0, 0, 0, 0}, {972, 1638, 4096, 0, 0, 0, 0}, {544, 359, 1319, 4112, 0, 0, 0}, {544, 360, 1320, 4352, 0, 0, 0}, {963, 1638, 4915, 0, 0, 0, 0}, {960, 1642, 4864, 0, 0, 0, 0}, {544, 363, 1319, 4403, 0, 0, 0}, {972, 1644, 4972, 0, 0, 0, 0}, {554, 365, 1325, 4152, 0, 0, 0}, {554, 366, 1314, 4104, 0, 0, 0}, {975, 1632, 4959, 0, 0, 0, 0}, {1008, 1536, 4208, 0, 0, 0, 0}, {522, 369, 1036, 4369, 0, 0, 0}, {522, 370, 1024, 4386, 0, 0, 0}, {1011, 1548, 4160, 0, 0, 0, 0}, {512, 372, 1036, 4144, 0, 0, 0}, {1023, 1546, 4128, 0, 0, 0, 0}, {1020, 1542, 4112, 0, 0, 0, 0}, {512, 375, 1024, 4096, 0, 0, 0}, {512, 376, 1024, 4352, 0, 0, 0}, {1011, 1542, 4883, 0, 0, 0, 0}, {1008, 1546, 4896, 0, 0, 0, 0}, {512, 379, 1036, 4403, 0, 0, 0}, {1020, 1548, 4940, 0, 0, 0, 0}, {522, 381, 1024, 4136, 0, 0, 0}, {522, 382, 1036, 4120, 0, 0, 0}, {1023, 1536, 4991, 0, 0, 0, 0}, {4224, 768, 1280, 0, 0, 0, 0}, {265, 771, 1285, 4369, 0, 0, 0}, {266, 768, 1024, 4386, 0, 0, 0}, {4272, 771, 1295, 0, 0, 0, 0}, {268, 512, 1280, 4420, 0, 0, 0}, {4304, 783, 1285, 0, 0, 0, 0}, {4320, 780, 1290, 0, 0, 0, 0}, {271, 512, 1024, 4471, 0, 0, 0}, {136, 256, 0, 0, 0, 0, 0}, {771, 1285, 4112, 0, 0, 0, 0}, {768, 1290, 4128, 0, 0, 0, 0}, {136, 259, 0, 0, 0, 0, 0}, {780, 1280, 4160, 0, 0, 0, 0}, {136, 261, 0, 0, 0, 0, 0}, {136, 262, 0, 0, 0, 0, 0}, {783, 1295, 4208, 0, 0, 0, 0}, {4240, 816, 1360, 0, 0, 0, 0}, {281, 819, 1365, 4369, 0, 0, 0}, {282, 816, 1088, 4386, 0, 0, 0}, {4256, 819, 1375, 0, 0, 0, 0}, {284, 544, 1360, 4420, 0, 0, 0}, {4288, 831, 1365, 0, 0, 0, 0}, {4336, 828, 1370, 0, 0, 0, 0}, {287, 544, 1088, 4471, 0, 0, 0}, {136, 272, 0, 0, 0, 0, 0}, {819, 1365, 4096, 0, 0, 0, 0}, {816, 1370, 4144, 0, 0, 0, 0}, {136, 275, 0, 0, 0, 0, 0}, {828, 1360, 4176, 0, 0, 0, 0}, {136, 277, 0, 0, 0, 0, 0}, {136, 278, 0, 0, 0, 0, 0}, {831, 1375, 4192, 0, 0, 0, 0}, {1440, 768, 5376, 0, 0, 0, 0}, {297, 771, 1028, 4369, 0, 0, 0}, {298, 768, 1032, 4104, 0, 0, 0}, {1455, 771, 5439, 0, 0, 0, 0}, {300, 780, 1028, 4420, 0, 0, 0}, {1445, 783, 5461, 0, 0, 0, 0}, {1450, 780, 5482, 0, 0, 0, 0}, {303, 783, 1032, 4184, 0, 0, 0}, {288, 768, 1032, 4352, 0, 0, 0}, {1445, 771, 4144, 0, 0, 0, 0}, {1450, 768, 4096, 0, 0, 0, 0}, {291, 771, 1028, 4112, 0, 0, 0}, {1440, 780, 4192, 0, 0, 0, 0}, {293, 783, 1032, 4437, 0, 0, 0}, {294, 780, 1028, 4160, 0, 0, 0}, {1455, 783, 4176, 0, 0, 0, 0}, {1520, 816, 5440, 0, 0, 0, 0}, {313, 522, 1092, 4369, 0, 0, 0}, {314, 522, 1096, 4120, 0, 0, 0}, {1535, 819, 5503, 0, 0, 0, 0}, {316, 512, 1092, 4420, 0, 0, 0}, {1525, 831, 5397, 0, 0, 0, 0}, {1530, 828, 5418, 0, 0, 0, 0}, {319, 512, 1096, 4168, 0, 0, 0}, {304, 512, 1096, 4352, 0, 0, 0}, {1525, 819, 4128, 0, 0, 0, 0}, {1530, 816, 4112, 0, 0, 0, 0}, {307, 512, 1092, 4096, 0, 0, 0}, {1520, 828, 4208, 0, 0, 0, 0}, {309, 522, 1096, 4437, 0, 0, 0}, {310, 522, 1092, 4176, 0, 0, 0}, {1535, 831, 4160, 0, 0, 0, 0}, {960, 1280, 4864, 0, 0, 0, 0}, {514, 329, 1285, 4369, 0, 0, 0}, {514, 330, 1290, 4386, 0, 0, 0}, {963, 1295, 4915, 0, 0, 0, 0}, {520, 332, 1280, 4104, 0, 0, 0}, {975, 1285, 4959, 0, 0, 0, 0}, {972, 1290, 4972, 0, 0, 0, 0}, {520, 335, 1295, 4152, 0, 0, 0}, {520, 320, 1280, 4352, 0, 0, 0}, {963, 1285, 4176, 0, 0, 0, 0}, {960, 1290, 4192, 0, 0, 0, 0}, {520, 323, 1295, 4403, 0, 0, 0}, {972, 1280, 4096, 0, 0, 0, 0}, {514, 325, 1285, 4112, 0, 0, 0}, {514, 326, 1290, 4128, 0, 0, 0}, {975, 1295, 4144, 0, 0, 0, 0}, {1008, 1360, 4896, 0, 0, 0, 0}, {546, 345, 1036, 4369, 0, 0, 0}, {546, 346, 1024, 4386, 0, 0, 0}, {1011, 1375, 4883, 0, 0, 0, 0}, {552, 348, 1036, 4120, 0, 0, 0}, {1023, 1365, 4991, 0, 0, 0, 0}, {1020, 1370, 4940, 0, 0, 0, 0}, {552, 351, 1024, 4136, 0, 0, 0}, {552, 336, 1024, 4352, 0, 0, 0}, {1011, 1365, 4160, 0, 0, 0, 0}, {1008, 1370, 4208, 0, 0, 0, 0}, {552, 339, 1036, 4403, 0, 0, 0}, {1020, 1360, 4112, 0, 0, 0, 0}, {546, 341, 1024, 4096, 0, 0, 0}, {546, 342, 1036, 4144, 0, 0, 0}, {1023, 1375, 4128, 0, 0, 0, 0}, {960, 1632, 4896, 0, 0, 0, 0}, {546, 361, 1325, 4369, 0, 0, 0}, {546, 362, 1314, 4386, 0, 0, 0}, {963, 1644, 4883, 0, 0, 0, 0}, {552, 364, 1320, 4136, 0, 0, 0}, {975, 1642, 4991, 0, 0, 0, 0}, {972, 1638, 4940, 0, 0, 0, 0}, {552, 367, 1319, 4120, 0, 0, 0}, {552, 352, 1320, 4352, 0, 0, 0}, {963, 1638, 4208, 0, 0, 0, 0}, {960, 1642, 4160, 0, 0, 0, 0}, {552, 355, 1319, 4403, 0, 0, 0}, {972, 1644, 4128, 0, 0, 0, 0}, {546, 357, 1325, 4144, 0, 0, 0}, {546, 358, 1314, 4096, 0, 0, 0}, {975, 1632, 4112, 0, 0, 0, 0}, {1008, 1536, 4864, 0, 0, 0, 0}, {514, 377, 1028, 4369, 0, 0, 0}, {514, 378, 1032, 4386, 0, 0, 0}, {1011, 1548, 4915, 0, 0, 0, 0}, {520, 380, 1028, 4152, 0, 0, 0}, {1023, 1546, 4959, 0, 0, 0, 0}, {1020, 1542, 4972, 0, 0, 0, 0}, {520, 383, 1032, 4104, 0, 0, 0}, {520, 368, 1032, 4352, 0, 0, 0}, {1011, 1542, 4192, 0, 0, 0, 0}, {1008, 1546, 4176, 0, 0, 0, 0}, {520, 371, 1028, 4403, 0, 0, 0}, {1020, 1548, 4144, 0, 0, 0, 0}, {514, 373, 1032, 4128, 0, 0, 0}, {514, 374, 1028, 4112, 0, 0, 0}, {1023, 1536, 4096, 0, 0, 0, 0}, {2560, 8192, 0, 0, 0, 0, 0}, {3, 68, 257, 0, 0, 0, 0}, {136, 514, 0, 0, 0, 0, 0}, {3, 1280, 4096, 0, 0, 0, 0}, {12, 516, 68, 1028, 0, 0, 0}, {15, 8272, 1285, 0, 0, 0, 0}, {12, 8288, 1542, 0, 0, 0, 0}, {15, 519, 119, 1280, 0, 0, 0}, {136, 520, 0, 0, 0, 0, 0}, {3, 1285, 4176, 0, 0, 0, 0}, {2570, 8352, 0, 0, 0, 0, 0}, {3, 68, 260, 0, 0, 0, 0}, {12, 8192, 1536, 0, 0, 0, 0}, {15, 514, 119, 1285, 0, 0, 0}, {12, 514, 68, 1028, 0, 0, 0}, {15, 8192, 1280, 0, 0, 0, 0}, {2640, 48, 4112, 0, 0, 0, 0}, {51, 529, 68, 4369, 0, 0, 0}, {48, 530, 72, 4096, 0, 0, 0}, {2655, 51, 4883, 0, 0, 0, 0}, {60, 532, 68, 5140, 0, 0, 0}, {2645, 63, 5397, 0, 0, 0, 0}, {2650, 60, 5654, 0, 0, 0, 0}, {63, 535, 72, 5376, 0, 0, 0}, {48, 536, 72, 4120, 0, 0, 0}, {2645, 51, 4940, 0, 0, 0, 0}, {2650, 48, 4160, 0, 0, 0, 0}, {51, 539, 68, 4352, 0, 0, 0}, {2640, 60, 5708, 0, 0, 0, 0}, {63, 541, 72, 5405, 0, 0, 0}, {60, 542, 68, 5120, 0, 0, 0}, {2655, 63, 5440, 0, 0, 0, 0}, {2720, 8224, 0, 0, 0, 0, 0}, {3, 68, 273, 0, 0, 0, 0}, {136, 546, 0, 0, 0, 0, 0}, {3, 1360, 4112, 0, 0, 0, 0}, {12, 548, 68, 1024, 0, 0, 0}, {15, 8304, 1365, 0, 0, 0, 0}, {12, 8256, 1638, 0, 0, 0, 0}, {15, 551, 119, 1319, 0, 0, 0}, {136, 552, 0, 0, 0, 0, 0}, {3, 1365, 4160, 0, 0, 0, 0}, {2730, 8320, 0, 0, 0, 0, 0}, {3, 68, 276, 0, 0, 0, 0}, {12, 8224, 1632, 0, 0, 0, 0}, {15, 546, 119, 1314, 0, 0, 0}, {12, 546, 68, 1024, 0, 0, 0}, {15, 8224, 1360, 0, 0, 0, 0}, {2560, 48, 4096, 0, 0, 0, 0}, {51, 514, 68, 4369, 0, 0, 0}, {48, 514, 72, 4112, 0, 0, 0}, {2560, 51, 4864, 0, 0, 0, 0}, {60, 520, 68, 5120, 0, 0, 0}, {2570, 63, 5461, 0, 0, 0, 0}, {2570, 60, 5722, 0, 0, 0, 0}, {63, 520, 72, 5384, 0, 0, 0}, {48, 520, 72, 4104, 0, 0, 0}, {2570, 51, 4959, 0, 0, 0, 0}, {2570, 48, 4176, 0, 0, 0, 0}, {51, 520, 68, 4352, 0, 0, 0}, {2560, 60, 5632, 0, 0, 0, 0}, {63, 514, 72, 5397, 0, 0, 0}, {60, 514, 68, 5140, 0, 0, 0}, {2560, 63, 5376, 0, 0, 0, 0}, {192, 2560, 8256, 16448, 0, 0, 0}, {15, 51, 517, 68, 1285, 4369, 0}, {522, 72, 0, 0, 0, 0, 0}, {15, 51, 1280, 4931, 0, 0, 0}, {512, 68, 0, 0, 0, 0, 0}, {15, 48, 1285, 4112, 0, 0, 0}, {204, 2570, 8224, 17990, 0, 0, 0}, {15, 48, 512, 71, 1280, 4096, 0}, {512, 72, 0, 0, 0, 0, 0}, {15, 51, 1285, 4883, 0, 0, 0}, {192, 2570, 8224, 16448, 0, 0, 0}, {15, 51, 512, 68, 1280, 4352, 0}, {204, 2560, 8268, 17996, 0, 0, 0}, {15, 48, 517, 71, 1285, 4119, 0}, {522, 68, 0, 0, 0, 0, 0}, {15, 48, 1280, 4160, 0, 0, 0}, {240, 2640, 8272, 20560, 0, 0, 0}, {12, 51, 533, 68, 1028, 4369, 0}, {554, 120, 0, 0, 0, 0, 0}, {12, 51, 1619, 4947, 0, 0, 0}, {12, 48, 528, 68, 1028, 4112, 0}, {255, 2645, 8192, 21845, 0, 0, 0}, {12, 48, 1622, 4096, 0, 0, 0}, {544, 119, 0, 0, 0, 0, 0}, {544, 120, 0, 0, 0, 0, 0}, {12, 51, 1621, 4864, 0, 0, 0}, {240, 2650, 8192, 20480, 0, 0, 0}, {12, 51, 531, 68, 1028, 4352, 0}, {12, 48, 1616, 4176, 0, 0, 0}, {554, 119, 0, 0, 0, 0, 0}, {12, 48, 534, 68, 1028, 4100, 0}, {255, 2655, 8287, 21760, 0, 0, 0}, {192, 2656, 8288, 16384, 0, 0, 0}, {15, 51, 534, 68, 1297, 4369, 0}, {554, 72, 0, 0, 0, 0, 0}, {15, 51, 1360, 4944, 0, 0, 0}, {544, 68, 0, 0, 0, 0, 0}, {15, 48, 1365, 4096, 0, 0, 0}, {204, 2662, 8192, 18022, 0, 0, 0}, {15, 48, 528, 71, 1303, 4112, 0}, {544, 72, 0, 0, 0, 0, 0}, {15, 51, 1365, 4864, 0, 0, 0}, {192, 2666, 8192, 16384, 0, 0, 0}, {15, 51, 531, 68, 1300, 4352, 0}, {204, 2668, 8300, 18028, 0, 0, 0}, {15, 48, 533, 71, 1298, 4103, 0}, {554, 68, 0, 0, 0, 0, 0}, {15, 48, 1360, 4176, 0, 0, 0}, {240, 2560, 8304, 20480, 0, 0, 0}, {12, 51, 518, 68, 1024, 4369, 0}, {522, 120, 0, 0, 0, 0, 0}, {12, 51, 1536, 4928, 0, 0, 0}, {12, 48, 512, 68, 1024, 4096, 0}, {255, 2570, 8224, 21845, 0, 0, 0}, {12, 48, 1542, 4112, 0, 0, 0}, {512, 119, 0, 0, 0, 0, 0}, {512, 120, 0, 0, 0, 0, 0}, {12, 51, 1542, 4883, 0, 0, 0}, {240, 2570, 8224, 20560, 0, 0, 0}, {12, 51, 512, 68, 1024, 4352, 0}, {12, 48, 1536, 4160, 0, 0, 0}, {522, 119, 0, 0, 0, 0, 0}, {12, 48, 518, 68, 1024, 4116, 0}, {255, 2560, 8319, 21760, 0, 0, 0}, {2560, 8320, 0, 0, 0, 0, 0}, {3, 68, 261, 0, 0, 0, 0}, {136, 522, 0, 0, 0, 0, 0}, {3, 1280, 4160, 0, 0, 0, 0}, {12, 512, 68, 1024, 0, 0, 0}, {15, 8224, 1285, 0, 0, 0, 0}, {12, 8224, 1542, 0, 0, 0, 0}, {15, 512, 119, 1280, 0, 0, 0}, {136, 512, 0, 0, 0, 0, 0}, {3, 1285, 4112, 0, 0, 0, 0}, {2570, 8224, 0, 0, 0, 0, 0}, {3, 68, 256, 0, 0, 0, 0}, {12, 8256, 1536, 0, 0, 0, 0}, {15, 517, 119, 1285, 0, 0, 0}, {12, 518, 68, 1024, 0, 0, 0}, {15, 8304, 1280, 0, 0, 0, 0}, {2640, 48, 4176, 0, 0, 0, 0}, {51, 537, 68, 4369, 0, 0, 0}, {48, 538, 72, 4104, 0, 0, 0}, {2655, 51, 4959, 0, 0, 0, 0}, {60, 540, 68, 5140, 0, 0, 0}, {2645, 63, 5461, 0, 0, 0, 0}, {2650, 60, 5722, 0, 0, 0, 0}, {63, 543, 72, 5384, 0, 0, 0}, {48, 528, 72, 4112, 0, 0, 0}, {2645, 51, 4864, 0, 0, 0, 0}, {2650, 48, 4096, 0, 0, 0, 0}, {51, 531, 68, 4352, 0, 0, 0}, {2640, 60, 5632, 0, 0, 0, 0}, {63, 533, 72, 5397, 0, 0, 0}, {60, 534, 68, 5120, 0, 0, 0}, {2655, 63, 5376, 0, 0, 0, 0}, {2720, 8352, 0, 0, 0, 0, 0}, {3, 68, 277, 0, 0, 0, 0}, {136, 554, 0, 0, 0, 0, 0}, {3, 1360, 4176, 0, 0, 0, 0}, {12, 544, 68, 1028, 0, 0, 0}, {15, 8192, 1365, 0, 0, 0, 0}, {12, 8192, 1638, 0, 0, 0, 0}, {15, 544, 119, 1319, 0, 0, 0}, {136, 544, 0, 0, 0, 0, 0}, {3, 1365, 4096, 0, 0, 0, 0}, {2730, 8192, 0, 0, 0, 0, 0}, {3, 68, 272, 0, 0, 0, 0}, {12, 8288, 1632, 0, 0, 0, 0}, {15, 549, 119, 1314, 0, 0, 0}, {12, 550, 68, 1028, 0, 0, 0}, {15, 8272, 1360, 0, 0, 0, 0}, {2560, 48, 4160, 0, 0, 0, 0}, {51, 522, 68, 4369, 0, 0, 0}, {48, 522, 72, 4120, 0, 0, 0}, {2560, 51, 4940, 0, 0, 0, 0}, {60, 512, 68, 5120, 0, 0, 0}, {2570, 63, 5397, 0, 0, 0, 0}, {2570, 60, 5654, 0, 0, 0, 0}, {63, 512, 72, 5376, 0, 0, 0}, {48, 512, 72, 4096, 0, 0, 0}, {2570, 51, 4883, 0, 0, 0, 0}, {2570, 48, 4112, 0, 0, 0, 0}, {51, 512, 68, 4352, 0, 0, 0}, {2560, 60, 5708, 0, 0, 0, 0}, {63, 522, 72, 5405, 0, 0, 0}, {60, 522, 68, 5140, 0, 0, 0}, {2560, 63, 5440, 0, 0, 0, 0}, {192, 2560, 8192, 16384, 0, 0, 0}, {15, 51, 514, 68, 1285, 4369, 0}, {514, 72, 0, 0, 0, 0, 0}, {15, 51, 1280, 4864, 0, 0, 0}, {520, 68, 0, 0, 0, 0, 0}, {15, 48, 1285, 4176, 0, 0, 0}, {204, 2570, 8300, 17930, 0, 0, 0}, {15, 48, 519, 71, 1280, 4103, 0}, {520, 72, 0, 0, 0, 0, 0}, {15, 51, 1285, 4944, 0, 0, 0}, {192, 2570, 8288, 16384, 0, 0, 0}, {15, 51, 519, 68, 1280, 4352, 0}, {204, 2560, 8192, 17920, 0, 0, 0}, {15, 48, 514, 71, 1285, 4112, 0}, {514, 68, 0, 0, 0, 0, 0}, {15, 48, 1280, 4096, 0, 0, 0}, {240, 2640, 8224, 20560, 0, 0, 0}, {12, 51, 529, 68, 1024, 4369, 0}, {546, 120, 0, 0, 0, 0, 0}, {12, 51, 1619, 4883, 0, 0, 0}, {12, 48, 532, 68, 1024, 4116, 0}, {255, 2645, 8319, 21845, 0, 0, 0}, {12, 48, 1622, 4160, 0, 0, 0}, {552, 119, 0, 0, 0, 0, 0}, {552, 120, 0, 0, 0, 0, 0}, {12, 51, 1621, 4928, 0, 0, 0}, {240, 2650, 8304, 20480, 0, 0, 0}, {12, 51, 535, 68, 1024, 4352, 0}, {12, 48, 1616, 4112, 0, 0, 0}, {546, 119, 0, 0, 0, 0, 0}, {12, 48, 530, 68, 1024, 4096, 0}, {255, 2655, 8224, 21760, 0, 0, 0}, {192, 2656, 8224, 16448, 0, 0, 0}, {15, 51, 529, 68, 1297, 4369, 0}, {546, 72, 0, 0, 0, 0, 0}, {15, 51, 1360, 4883, 0, 0, 0}, {552, 68, 0, 0, 0, 0, 0}, {15, 48, 1365, 4160, 0, 0, 0}, {204, 2662, 8268, 17962, 0, 0, 0}, {15, 48, 535, 71, 1303, 4119, 0}, {552, 72, 0, 0, 0, 0, 0}, {15, 51, 1365, 4931, 0, 0, 0}, {192, 2666, 8256, 16448, 0, 0, 0}, {15, 51, 532, 68, 1300, 4352, 0}, {204, 2668, 8224, 17952, 0, 0, 0}, {15, 48, 530, 71, 1298, 4096, 0}, {546, 68, 0, 0, 0, 0, 0}, {15, 48, 1360, 4112, 0, 0, 0}, {240, 2560, 8192, 20480, 0, 0, 0}, {12, 51, 514, 68, 1028, 4369, 0}, {514, 120, 0, 0, 0, 0, 0}, {12, 51, 1536, 4864, 0, 0, 0}, {12, 48, 516, 68, 1028, 4100, 0}, {255, 2570, 8287, 21845, 0, 0, 0}, {12, 48, 1542, 4176, 0, 0, 0}, {520, 119, 0, 0, 0, 0, 0}, {520, 120, 0, 0, 0, 0, 0}, {12, 51, 1542, 4947, 0, 0, 0}, {240, 2570, 8272, 20560, 0, 0, 0}, {12, 51, 516, 68, 1028, 4352, 0}, {12, 48, 1536, 4096, 0, 0, 0}, {514, 119, 0, 0, 0, 0, 0}, {12, 48, 514, 68, 1028, 4112, 0}, {255, 2560, 8192, 21760, 0, 0, 0}, {768, 17408, 0, 0, 0, 0, 0}, {10, 32, 257, 0, 0, 0, 0}, {10, 32, 258, 0, 0, 0, 0}, {771, 17612, 0, 0, 0, 0, 0}, {128, 780, 1028, 0, 0, 0, 0}, {10, 773, 1285, 4437, 0, 0, 0}, {10, 774, 1280, 4454, 0, 0, 0}, {128, 783, 1032, 0, 0, 0, 0}, {128, 768, 1032, 0, 0, 0, 0}, {10, 771, 1285, 4403, 0, 0, 0}, {10, 768, 1280, 4352, 0, 0, 0}, {128, 771, 1028, 0, 0, 0, 0}, {780, 17612, 0, 0, 0, 0, 0}, {10, 32, 263, 0, 0, 0, 0}, {10, 32, 260, 0, 0, 0, 0}, {783, 17408, 0, 0, 0, 0, 0}, {32, 784, 1088, 4112, 0, 0, 0}, {170, 819, 4369, 0, 0, 0, 0}, {170, 816, 4386, 0, 0, 0, 0}, {32, 787, 1100, 4096, 0, 0, 0}, {160, 828, 5140, 0, 0, 0, 0}, {42, 789, 1088, 4437, 0, 0, 0}, {42, 790, 1100, 4428, 0, 0, 0}, {160, 831, 5160, 0, 0, 0, 0}, {160, 816, 5240, 0, 0, 0, 0}, {42, 793, 1100, 4377, 0, 0, 0}, {42, 794, 1088, 4352, 0, 0, 0}, {160, 819, 5188, 0, 0, 0, 0}, {32, 796, 1100, 4176, 0, 0, 0}, {170, 831, 4471, 0, 0, 0, 0}, {170, 828, 4420, 0, 0, 0, 0}, {32, 799, 1088, 4160, 0, 0, 0}, {32, 768, 1024, 4096, 0, 0, 0}, {170, 771, 4369, 0, 0, 0, 0}, {170, 768, 4386, 0, 0, 0, 0}, {32, 771, 1036, 4112, 0, 0, 0}, {160, 780, 5188, 0, 0, 0, 0}, {42, 783, 1024, 4437, 0, 0, 0}, {42, 780, 1036, 4428, 0, 0, 0}, {160, 783, 5240, 0, 0, 0, 0}, {160, 768, 5160, 0, 0, 0, 0}, {42, 771, 1036, 4377, 0, 0, 0}, {42, 768, 1024, 4352, 0, 0, 0}, {160, 771, 5140, 0, 0, 0, 0}, {32, 780, 1036, 4160, 0, 0, 0}, {170, 783, 4471, 0, 0, 0, 0}, {170, 780, 4420, 0, 0, 0, 0}, {32, 783, 1024, 4176, 0, 0, 0}, {816, 17408, 0, 0, 0, 0, 0}, {10, 32, 273, 0, 0, 0, 0}, {10, 32, 274, 0, 0, 0, 0}, {819, 17612, 0, 0, 0, 0, 0}, {128, 828, 1092, 0, 0, 0, 0}, {10, 821, 1365, 4437, 0, 0, 0}, {10, 822, 1360, 4454, 0, 0, 0}, {128, 831, 1096, 0, 0, 0, 0}, {128, 816, 1096, 0, 0, 0, 0}, {10, 819, 1365, 4403, 0, 0, 0}, {10, 816, 1360, 4352, 0, 0, 0}, {128, 819, 1092, 0, 0, 0, 0}, {828, 17612, 0, 0, 0, 0, 0}, {10, 32, 279, 0, 0, 0, 0}, {10, 32, 276, 0, 0, 0, 0}, {831, 17408, 0, 0, 0, 0, 0}, {13056, 832, 1792, 0, 0, 0, 0}, {10, 867, 1285, 4369, 0, 0, 0}, {10, 864, 1280, 4386, 0, 0, 0}, {13107, 835, 1807, 0, 0, 0, 0}, {972, 3840, 12288, 17476, 0, 0, 0}, {10, 32, 512, 325, 1285, 4112, 0}, {10, 32, 512, 326, 1280, 4096, 0}, {975, 3855, 12336, 18247, 0, 0, 0}, {960, 3840, 13056, 18248, 0, 0, 0}, {10, 32, 512, 323, 1285, 4371, 0}, {10, 32, 512, 320, 1280, 4352, 0}, {963, 3855, 13107, 17476, 0, 0, 0}, {12288, 844, 1792, 0, 0, 0, 0}, {10, 869, 1285, 4626, 0, 0, 0}, {10, 870, 1280, 4642, 0, 0, 0}, {12336, 847, 1807, 0, 0, 0, 0}, {3072, 848, 5888, 0, 0, 0, 0}, {42, 857, 1028, 4369, 0, 0, 0}, {42, 858, 1032, 4360, 0, 0, 0}, {3084, 851, 5951, 0, 0, 0, 0}, {32, 860, 1028, 4112, 0, 0, 0}, {3072, 853, 4608, 0, 0, 0, 0}, {3084, 854, 4656, 0, 0, 0, 0}, {32, 863, 1032, 4096, 0, 0, 0}, {32, 848, 1032, 4864, 0, 0, 0}, {3084, 857, 4403, 0, 0, 0, 0}, {3072, 858, 4352, 0, 0, 0, 0}, {32, 851, 1028, 4883, 0, 0, 0}, {3084, 860, 5180, 0, 0, 0, 0}, {42, 853, 1032, 4616, 0, 0, 0}, {42, 854, 1028, 4626, 0, 0, 0}, {3072, 863, 5120, 0, 0, 0, 0}, {3840, 864, 5120, 0, 0, 0, 0}, {42, 835, 1799, 4369, 0, 0, 0}, {42, 832, 1800, 4360, 0, 0, 0}, {3855, 867, 5180, 0, 0, 0, 0}, {32, 844, 1800, 4096, 0, 0, 0}, {3855, 869, 4656, 0, 0, 0, 0}, {3840, 870, 4608, 0, 0, 0, 0}, {32, 847, 1799, 4112, 0, 0, 0}, {32, 832, 1800, 4864, 0, 0, 0}, {3855, 873, 4403, 0, 0, 0, 0}, {3840, 874, 4352, 0, 0, 0, 0}, {32, 835, 1799, 4883, 0, 0, 0}, {3840, 876, 5888, 0, 0, 0, 0}, {42, 847, 1799, 4626, 0, 0, 0}, {42, 844, 1800, 4616, 0, 0, 0}, {3855, 879, 5951, 0, 0, 0, 0}, {13056, 880, 1024, 0, 0, 0, 0}, {10, 851, 1542, 4369, 0, 0, 0}, {10, 848, 1536, 4386, 0, 0, 0}, {13107, 883, 1036, 0, 0, 0, 0}, {1020, 3084, 12336, 17476, 0, 0, 0}, {10, 32, 512, 341, 1024, 4096, 0}, {10, 32, 512, 342, 1030, 4112, 0}, {1023, 3072, 12288, 18295, 0, 0, 0}, {1008, 3072, 13056, 18296, 0, 0, 0}, {10, 32, 512, 339, 1030, 4371, 0}, {10, 32, 512, 336, 1024, 4352, 0}, {1011, 3084, 13107, 17476, 0, 0, 0}, {12336, 892, 1036, 0, 0, 0, 0}, {10, 853, 1536, 4642, 0, 0, 0}, {10, 854, 1542, 4626, 0, 0, 0}, {12288, 895, 1024, 0, 0, 0, 0}, {128, 768, 1024, 0, 0, 0, 0}, {10, 771, 1285, 4369, 0, 0, 0}, {10, 768, 1280, 4386, 0, 0, 0}, {128, 771, 1036, 0, 0, 0, 0}, {780, 17476, 0, 0, 0, 0, 0}, {10, 32, 261, 0, 0, 0, 0}, {10, 32, 262, 0, 0, 0, 0}, {783, 17544, 0, 0, 0, 0, 0}, {768, 17544, 0, 0, 0, 0, 0}, {10, 32, 259, 0, 0, 0, 0}, {10, 32, 256, 0, 0, 0, 0}, {771, 17476, 0, 0, 0, 0, 0}, {128, 780, 1036, 0, 0, 0, 0}, {10, 773, 1285, 4471, 0, 0, 0}, {10, 774, 1280, 4420, 0, 0, 0}, {128, 783, 1024, 0, 0, 0, 0}, {160, 816, 5200, 0, 0, 0, 0}, {42, 793, 1092, 4369, 0, 0, 0}, {42, 794, 1096, 4360, 0, 0, 0}, {160, 819, 5228, 0, 0, 0, 0}, {32, 796, 1092, 4176, 0, 0, 0}, {170, 831, 4437, 0, 0, 0, 0}, {170, 828, 4454, 0, 0, 0, 0}, {32, 799, 1096, 4160, 0, 0, 0}, {32, 784, 1096, 4112, 0, 0, 0}, {170, 819, 4403, 0, 0, 0, 0}, {170, 816, 4352, 0, 0, 0, 0}, {32, 787, 1092, 4096, 0, 0, 0}, {160, 828, 5180, 0, 0, 0, 0}, {42, 789, 1096, 4445, 0, 0, 0}, {42, 790, 1092, 4420, 0, 0, 0}, {160, 831, 5120, 0, 0, 0, 0}, {160, 768, 5120, 0, 0, 0, 0}, {42, 771, 1028, 4369, 0, 0, 0}, {42, 768, 1032, 4360, 0, 0, 0}, {160, 771, 5180, 0, 0, 0, 0}, {32, 780, 1028, 4160, 0, 0, 0}, {170, 783, 4437, 0, 0, 0, 0}, {170, 780, 4454, 0, 0, 0, 0}, {32, 783, 1032, 4176, 0, 0, 0}, {32, 768, 1032, 4096, 0, 0, 0}, {170, 771, 4403, 0, 0, 0, 0}, {170, 768, 4352, 0, 0, 0, 0}, {32, 771, 1028, 4112, 0, 0, 0}, {160, 780, 5228, 0, 0, 0, 0}, {42, 783, 1032, 4445, 0, 0, 0}, {42, 780, 1028, 4420, 0, 0, 0}, {160, 783, 5200, 0, 0, 0, 0}, {128, 816, 1088, 0, 0, 0, 0}, {10, 819, 1365, 4369, 0, 0, 0}, {10, 816, 1360, 4386, 0, 0, 0}, {128, 819, 1100, 0, 0, 0, 0}, {828, 17476, 0, 0, 0, 0, 0}, {10, 32, 277, 0, 0, 0, 0}, {10, 32, 278, 0, 0, 0, 0}, {831, 17544, 0, 0, 0, 0, 0}, {816, 17544, 0, 0, 0, 0, 0}, {10, 32, 275, 0, 0, 0, 0}, {10, 32, 272, 0, 0, 0, 0}, {819, 17476, 0, 0, 0, 0, 0}, {128, 828, 1100, 0, 0, 0, 0}, {10, 821, 1365, 4471, 0, 0, 0}, {10, 822, 1360, 4420, 0, 0, 0}, {128, 831, 1088, 0, 0, 0, 0}, {960, 3840, 13056, 17408, 0, 0, 0}, {10, 32, 514, 321, 1285, 4369, 0}, {10, 32, 514, 322, 1280, 4354, 0}, {963, 3855, 13107, 18191, 0, 0, 0}, {12288, 844, 1800, 0, 0, 0, 0}, {10, 869, 1285, 4656, 0, 0, 0}, {10, 870, 1280, 4608, 0, 0, 0}, {12336, 847, 1799, 0, 0, 0, 0}, {13056, 832, 1800, 0, 0, 0, 0}, {10, 867, 1285, 4403, 0, 0, 0}, {10, 864, 1280, 4352, 0, 0, 0}, {13107, 835, 1799, 0, 0, 0, 0}, {972, 3840, 12288, 18176, 0, 0, 0}, {10, 32, 514, 327, 1285, 4112, 0}, {10, 32, 514, 324, 1280, 4096, 0}, {975, 3855, 12336, 17408, 0, 0, 0}, {32, 848, 1024, 4864, 0, 0, 0}, {3084, 857, 4369, 0, 0, 0, 0}, {3072, 858, 4386, 0, 0, 0, 0}, {32, 851, 1036, 4883, 0, 0, 0}, {3084, 860, 5140, 0, 0, 0, 0}, {42, 853, 1024, 4608, 0, 0, 0}, {42, 854, 1036, 4634, 0, 0, 0}, {3072, 863, 5160, 0, 0, 0, 0}, {3072, 848, 5928, 0, 0, 0, 0}, {42, 857, 1036, 4377, 0, 0, 0}, {42, 858, 1024, 4352, 0, 0, 0}, {3084, 851, 5911, 0, 0, 0, 0}, {32, 860, 1036, 4112, 0, 0, 0}, {3072, 853, 4642, 0, 0, 0, 0}, {3084, 854, 4626, 0, 0, 0, 0}, {32, 863, 1024, 4096, 0, 0, 0}, {32, 832, 1792, 4864, 0, 0, 0}, {3855, 873, 4369, 0, 0, 0, 0}, {3840, 874, 4386, 0, 0, 0, 0}, {32, 835, 1807, 4883, 0, 0, 0}, {3840, 876, 5928, 0, 0, 0, 0}, {42, 847, 1807, 4634, 0, 0, 0}, {42, 844, 1792, 4608, 0, 0, 0}, {3855, 879, 5911, 0, 0, 0, 0}, {3840, 864, 5160, 0, 0, 0, 0}, {42, 835, 1807, 4377, 0, 0, 0}, {42, 832, 1792, 4352, 0, 0, 0}, {3855, 867, 5140, 0, 0, 0, 0}, {32, 844, 1792, 4096, 0, 0, 0}, {3855, 869, 4626, 0, 0, 0, 0}, {3840, 870, 4642, 0, 0, 0, 0}, {32, 847, 1807, 4112, 0, 0, 0}, {1008, 3072, 13056, 17408, 0, 0, 0}, {10, 32, 514, 337, 1028, 4369, 0}, {10, 32, 514, 338, 1026, 4354, 0}, {1011, 3084, 13107, 18239, 0, 0, 0}, {12336, 892, 1028, 0, 0, 0, 0}, {10, 853, 1536, 4608, 0, 0, 0}, {10, 854, 1542, 4656, 0, 0, 0}, {12288, 895, 1032, 0, 0, 0, 0}, {13056, 880, 1032, 0, 0, 0, 0}, {10, 851, 1542, 4403, 0, 0, 0}, {10, 848, 1536, 4352, 0, 0, 0}, {13107, 883, 1028, 0, 0, 0, 0}, {1020, 3084, 12336, 18224, 0, 0, 0}, {10, 32, 514, 343, 1026, 4096, 0}, {10, 32, 514, 340, 1028, 4112, 0}, {1023, 3072, 12288, 17408, 0, 0, 0}, {3072, 16384, 0, 0, 0, 0, 0}, {34, 5, 257, 0, 0, 0, 0}, {10, 34, 514, 1026, 0, 0, 0}, {15, 771, 16432, 0, 0, 0, 0}, {136, 1028, 0, 0, 0, 0, 0}, {768, 5, 4096, 0, 0, 0, 0}, {10, 8192, 1542, 0, 0, 0, 0}, {15, 768, 119, 1031, 0, 0, 0}, {136, 1032, 0, 0, 0, 0, 0}, {771, 5, 4144, 0, 0, 0, 0}, {10, 8192, 1536, 0, 0, 0, 0}, {15, 771, 119, 1028, 0, 0, 0}, {3084, 16576, 0, 0, 0, 0, 0}, {34, 5, 258, 0, 0, 0, 0}, {10, 34, 514, 1028, 0, 0, 0}, {15, 768, 16384, 0, 0, 0, 0}, {3120, 80, 4112, 0, 0, 0, 0}, {34, 85, 1041, 4369, 0, 0, 0}, {34, 90, 1042, 4626, 0, 0, 0}, {3123, 95, 4883, 0, 0, 0, 0}, {40, 80, 1044, 4096, 0, 0, 0}, {3135, 85, 5397, 0, 0, 0, 0}, {3132, 90, 5654, 0, 0, 0, 0}, {40, 95, 1047, 4864, 0, 0, 0}, {40, 80, 1048, 4120, 0, 0, 0}, {3123, 85, 5418, 0, 0, 0, 0}, {3120, 90, 5674, 0, 0, 0, 0}, {40, 95, 1051, 4891, 0, 0, 0}, {3132, 80, 4128, 0, 0, 0, 0}, {34, 85, 1053, 4352, 0, 0, 0}, {34, 90, 1054, 4608, 0, 0, 0}, {3135, 95, 4896, 0, 0, 0, 0}, {160, 3072, 8224, 16416, 0, 0, 0}, {15, 34, 771, 85, 1027, 4369, 0}, {34, 1024, 0, 0, 0, 0, 0}, {15, 771, 80, 4112, 0, 0, 0}, {40, 1036, 0, 0, 0, 0, 0}, {15, 768, 85, 5413, 0, 0, 0}, {170, 3084, 9766, 16448, 0, 0, 0}, {15, 39, 768, 80, 1024, 4096, 0}, {40, 1024, 0, 0, 0, 0, 0}, {15, 771, 85, 5397, 0, 0, 0}, {170, 3072, 9770, 16426, 0, 0, 0}, {15, 39, 771, 80, 1027, 4119, 0}, {160, 3084, 8224, 16448, 0, 0, 0}, {15, 34, 768, 85, 1024, 4352, 0}, {34, 1036, 0, 0, 0, 0, 0}, {15, 768, 80, 4128, 0, 0, 0}, {240, 3120, 12336, 16432, 0, 0, 0}, {10, 34, 514, 85, 1043, 4369, 0}, {10, 34, 514, 80, 1040, 4112, 0}, {255, 3123, 13107, 16384, 0, 0, 0}, {12288, 120, 1076, 0, 0, 0, 0}, {10, 85, 1589, 4864, 0, 0, 0}, {10, 80, 1590, 4096, 0, 0, 0}, {13056, 119, 1079, 0, 0, 0, 0}, {12336, 120, 1080, 0, 0, 0, 0}, {10, 85, 1587, 4915, 0, 0, 0}, {10, 80, 1584, 4144, 0, 0, 0}, {13107, 119, 1083, 0, 0, 0, 0}, {240, 3132, 12288, 16384, 0, 0, 0}, {10, 34, 514, 85, 1045, 4352, 0}, {10, 34, 514, 80, 1046, 4098, 0}, {255, 3135, 13056, 16447, 0, 0, 0}, {3264, 16448, 0, 0, 0, 0, 0}, {34, 5, 273, 0, 0, 0, 0}, {10, 34, 512, 1090, 0, 0, 0}, {15, 819, 16496, 0, 0, 0, 0}, {136, 1092, 0, 0, 0, 0, 0}, {816, 5, 4112, 0, 0, 0, 0}, {10, 8224, 1638, 0, 0, 0, 0}, {15, 816, 119, 1072, 0, 0, 0}, {136, 1096, 0, 0, 0, 0, 0}, {819, 5, 4128, 0, 0, 0, 0}, {10, 8224, 1632, 0, 0, 0, 0}, {15, 819, 119, 1075, 0, 0, 0}, {3276, 16512, 0, 0, 0, 0, 0}, {34, 5, 274, 0, 0, 0, 0}, {10, 34, 512, 1092, 0, 0, 0}, {15, 816, 16448, 0, 0, 0, 0}, {3072, 80, 4096, 0, 0, 0, 0}, {34, 85, 1028, 4369, 0, 0, 0}, {34, 90, 1032, 4608, 0, 0, 0}, {3084, 95, 4915, 0, 0, 0, 0}, {40, 80, 1028, 4112, 0, 0, 0}, {3072, 85, 5376, 0, 0, 0, 0}, {3084, 90, 5692, 0, 0, 0, 0}, {40, 95, 1032, 4872, 0, 0, 0}, {40, 80, 1032, 4104, 0, 0, 0}, {3084, 85, 5439, 0, 0, 0, 0}, {3072, 90, 5632, 0, 0, 0, 0}, {40, 95, 1028, 4883, 0, 0, 0}, {3084, 80, 4144, 0, 0, 0, 0}, {34, 85, 1032, 4352, 0, 0, 0}, {34, 90, 1028, 4626, 0, 0, 0}, {3072, 95, 4864, 0, 0, 0, 0}, {160, 3168, 8192, 16480, 0, 0, 0}, {15, 34, 785, 85, 1046, 4369, 0}, {34, 1088, 0, 0, 0, 0, 0}, {15, 819, 80, 4096, 0, 0, 0}, {40, 1100, 0, 0, 0, 0, 0}, {15, 816, 85, 5424, 0, 0, 0}, {170, 3174, 9830, 16384, 0, 0, 0}, {15, 39, 791, 80, 1040, 4112, 0}, {40, 1088, 0, 0, 0, 0, 0}, {15, 819, 85, 5376, 0, 0, 0}, {170, 3178, 9834, 16490, 0, 0, 0}, {15, 39, 788, 80, 1043, 4103, 0}, {160, 3180, 8192, 16384, 0, 0, 0}, {15, 34, 786, 85, 1045, 4352, 0}, {34, 1100, 0, 0, 0, 0, 0}, {15, 816, 80, 4144, 0, 0, 0}, {240, 3072, 12288, 16496, 0, 0, 0}, {10, 34, 512, 85, 1030, 4369, 0}, {10, 34, 512, 80, 1024, 4096, 0}, {255, 3084, 13107, 16448, 0, 0, 0}, {12336, 120, 1036, 0, 0, 0, 0}, {10, 85, 1536, 4896, 0, 0, 0}, {10, 80, 1542, 4112, 0, 0, 0}, {13056, 119, 1024, 0, 0, 0, 0}, {12288, 120, 1024, 0, 0, 0, 0}, {10, 85, 1542, 4883, 0, 0, 0}, {10, 80, 1536, 4128, 0, 0, 0}, {13107, 119, 1036, 0, 0, 0, 0}, {240, 3084, 12336, 16448, 0, 0, 0}, {10, 34, 512, 85, 1024, 4352, 0}, {10, 34, 512, 80, 1030, 4114, 0}, {255, 3072, 13056, 16511, 0, 0, 0}, {3072, 16512, 0, 0, 0, 0, 0}, {34, 5, 259, 0, 0, 0, 0}, {10, 34, 512, 1024, 0, 0, 0}, {15, 771, 16448, 0, 0, 0, 0}, {136, 1036, 0, 0, 0, 0, 0}, {768, 5, 4128, 0, 0, 0, 0}, {10, 8224, 1542, 0, 0, 0, 0}, {15, 768, 119, 1024, 0, 0, 0}, {136, 1024, 0, 0, 0, 0, 0}, {771, 5, 4112, 0, 0, 0, 0}, {10, 8224, 1536, 0, 0, 0, 0}, {15, 771, 119, 1027, 0, 0, 0}, {3084, 16448, 0, 0, 0, 0, 0}, {34, 5, 256, 0, 0, 0, 0}, {10, 34, 512, 1030, 0, 0, 0}, {15, 768, 16496, 0, 0, 0, 0}, {3120, 80, 4144, 0, 0, 0, 0}, {34, 85, 1049, 4369, 0, 0, 0}, {34, 90, 1050, 4626, 0, 0, 0}, {3123, 95, 4915, 0, 0, 0, 0}, {40, 80, 1052, 4104, 0, 0, 0}, {3135, 85, 5439, 0, 0, 0, 0}, {3132, 90, 5692, 0, 0, 0, 0}, {40, 95, 1055, 4872, 0, 0, 0}, {40, 80, 1040, 4112, 0, 0, 0}, {3123, 85, 5376, 0, 0, 0, 0}, {3120, 90, 5632, 0, 0, 0, 0}, {40, 95, 1043, 4883, 0, 0, 0}, {3132, 80, 4096, 0, 0, 0, 0}, {34, 85, 1045, 4352, 0, 0, 0}, {34, 90, 1046, 4608, 0, 0, 0}, {3135, 95, 4864, 0, 0, 0, 0}, {160, 3072, 8192, 16384, 0, 0, 0}, {15, 34, 771, 85, 1028, 4369, 0}, {34, 1032, 0, 0, 0, 0, 0}, {15, 771, 80, 4144, 0, 0, 0}, {40, 1028, 0, 0, 0, 0, 0}, {15, 768, 85, 5376, 0, 0, 0}, {170, 3084, 9740, 16490, 0, 0, 0}, {15, 39, 768, 80, 1031, 4103, 0}, {40, 1032, 0, 0, 0, 0, 0}, {15, 771, 85, 5424, 0, 0, 0}, {170, 3072, 9728, 16384, 0, 0, 0}, {15, 39, 771, 80, 1028, 4112, 0}, {160, 3084, 8192, 16480, 0, 0, 0}, {15, 34, 768, 85, 1031, 4352, 0}, {34, 1028, 0, 0, 0, 0, 0}, {15, 768, 80, 4096, 0, 0, 0}, {240, 3120, 12336, 16448, 0, 0, 0}, {10, 34, 512, 85, 1041, 4369, 0}, {10, 34, 512, 80, 1042, 4114, 0}, {255, 3123, 13107, 16511, 0, 0, 0}, {12288, 120, 1084, 0, 0, 0, 0}, {10, 85, 1589, 4896, 0, 0, 0}, {10, 80, 1590, 4128, 0, 0, 0}, {13056, 119, 1087, 0, 0, 0, 0}, {12336, 120, 1072, 0, 0, 0, 0}, {10, 85, 1587, 4883, 0, 0, 0}, {10, 80, 1584, 4112, 0, 0, 0}, {13107, 119, 1075, 0, 0, 0, 0}, {240, 3132, 12288, 16496, 0, 0, 0}, {10, 34, 512, 85, 1047, 4352, 0}, {10, 34, 512, 80, 1044, 4096, 0}, {255, 3135, 13056, 16448, 0, 0, 0}, {3264, 16576, 0, 0, 0, 0, 0}, {34, 5, 275, 0, 0, 0, 0}, {10, 34, 514, 1088, 0, 0, 0}, {15, 819, 16384, 0, 0, 0, 0}, {136, 1100, 0, 0, 0, 0, 0}, {816, 5, 4144, 0, 0, 0, 0}, {10, 8192, 1638, 0, 0, 0, 0}, {15, 816, 119, 1079, 0, 0, 0}, {136, 1088, 0, 0, 0, 0, 0}, {819, 5, 4096, 0, 0, 0, 0}, {10, 8192, 1632, 0, 0, 0, 0}, {15, 819, 119, 1076, 0, 0, 0}, {3276, 16384, 0, 0, 0, 0, 0}, {34, 5, 272, 0, 0, 0, 0}, {10, 34, 514, 1094, 0, 0, 0}, {15, 816, 16432, 0, 0, 0, 0}, {3072, 80, 4128, 0, 0, 0, 0}, {34, 85, 1036, 4369, 0, 0, 0}, {34, 90, 1024, 4608, 0, 0, 0}, {3084, 95, 4883, 0, 0, 0, 0}, {40, 80, 1036, 4120, 0, 0, 0}, {3072, 85, 5418, 0, 0, 0, 0}, {3084, 90, 5654, 0, 0, 0, 0}, {40, 95, 1024, 4864, 0, 0, 0}, {40, 80, 1024, 4096, 0, 0, 0}, {3084, 85, 5397, 0, 0, 0, 0}, {3072, 90, 5674, 0, 0, 0, 0}, {40, 95, 1036, 4891, 0, 0, 0}, {3084, 80, 4112, 0, 0, 0, 0}, {34, 85, 1024, 4352, 0, 0, 0}, {34, 90, 1036, 4626, 0, 0, 0}, {3072, 95, 4896, 0, 0, 0, 0}, {160, 3168, 8224, 16448, 0, 0, 0}, {15, 34, 785, 85, 1041, 4369, 0}, {34, 1096, 0, 0, 0, 0, 0}, {15, 819, 80, 4128, 0, 0, 0}, {40, 1092, 0, 0, 0, 0, 0}, {15, 816, 85, 5397, 0, 0, 0}, {170, 3174, 9804, 16426, 0, 0, 0}, {15, 39, 791, 80, 1047, 4119, 0}, {40, 1096, 0, 0, 0, 0, 0}, {15, 819, 85, 5413, 0, 0, 0}, {170, 3178, 9792, 16448, 0, 0, 0}, {15, 39, 788, 80, 1044, 4096, 0}, {160, 3180, 8224, 16416, 0, 0, 0}, {15, 34, 786, 85, 1042, 4352, 0}, {34, 1092, 0, 0, 0, 0, 0}, {15, 816, 80, 4112, 0, 0, 0}, {240, 3072, 12288, 16384, 0, 0, 0}, {10, 34, 514, 85, 1028, 4369, 0}, {10, 34, 514, 80, 1026, 4098, 0}, {255, 3084, 13107, 16447, 0, 0, 0}, {12336, 120, 1028, 0, 0, 0, 0}, {10, 85, 1536, 4864, 0, 0, 0}, {10, 80, 1542, 4144, 0, 0, 0}, {13056, 119, 1032, 0, 0, 0, 0}, {12288, 120, 1032, 0, 0, 0, 0}, {10, 85, 1542, 4915, 0, 0, 0}, {10, 80, 1536, 4096, 0, 0, 0}, {13107, 119, 1028, 0, 0, 0, 0}, {240, 3084, 12336, 16432, 0, 0, 0}, {10, 34, 514, 85, 1026, 4352, 0}, {10, 34, 514, 80, 1028, 4112, 0}, {255, 3072, 13056, 16384, 0, 0, 0}, {8704, 1280, 0, 0, 0, 0, 0}, {12, 64, 257, 0, 0, 0, 0}, {128, 514, 1290, 0, 0, 0, 0}, {12, 771, 1283, 4403, 0, 0, 0}, {12, 64, 260, 0, 0, 0, 0}, {8874, 1285, 0, 0, 0, 0, 0}, {12, 768, 1286, 4454, 0, 0, 0}, {128, 520, 1295, 0, 0, 0, 0}, {128, 520, 1280, 0, 0, 0, 0}, {12, 771, 1285, 4437, 0, 0, 0}, {8874, 1290, 0, 0, 0, 0, 0}, {12, 64, 263, 0, 0, 0, 0}, {12, 768, 1280, 4352, 0, 0, 0}, {128, 514, 1285, 0, 0, 0, 0}, {12, 64, 258, 0, 0, 0, 0}, {8704, 1295, 0, 0, 0, 0, 0}, {544, 64, 1296, 4112, 0, 0, 0}, {204, 1365, 4369, 0, 0, 0, 0}, {192, 1370, 4626, 0, 0, 0, 0}, {544, 76, 1299, 4403, 0, 0, 0}, {204, 1360, 4420, 0, 0, 0, 0}, {554, 64, 1301, 4096, 0, 0, 0}, {554, 76, 1302, 4394, 0, 0, 0}, {192, 1375, 4680, 0, 0, 0, 0}, {192, 1360, 4728, 0, 0, 0, 0}, {554, 76, 1305, 4377, 0, 0, 0}, {554, 64, 1306, 4144, 0, 0, 0}, {204, 1375, 4471, 0, 0, 0, 0}, {544, 76, 1308, 4352, 0, 0, 0}, {192, 1365, 4642, 0, 0, 0, 0}, {204, 1370, 4386, 0, 0, 0, 0}, {544, 64, 1311, 4128, 0, 0, 0}, {128, 544, 1312, 0, 0, 0, 0}, {12, 771, 1381, 4369, 0, 0, 0}, {1450, 3840, 8738, 20480, 0, 0, 0}, {12, 291, 771, 64, 1024, 4112, 0}, {12, 768, 1376, 4420, 0, 0, 0}, {128, 554, 1317, 0, 0, 0, 0}, {12, 294, 768, 64, 1024, 4096, 0}, {1455, 3855, 10023, 20560, 0, 0, 0}, {1440, 3840, 10024, 21760, 0, 0, 0}, {12, 293, 771, 64, 1024, 4373, 0}, {128, 554, 1322, 0, 0, 0, 0}, {12, 771, 1379, 4471, 0, 0, 0}, {12, 288, 768, 64, 1024, 4352, 0}, {1445, 3855, 8738, 21845, 0, 0, 0}, {12, 768, 1382, 4386, 0, 0, 0}, {128, 544, 1327, 0, 0, 0, 0}, {192, 1328, 4656, 0, 0, 0, 0}, {514, 76, 1337, 4369, 0, 0, 0}, {514, 64, 1338, 4112, 0, 0, 0}, {204, 1331, 4403, 0, 0, 0, 0}, {520, 76, 1340, 4360, 0, 0, 0}, {192, 1333, 4714, 0, 0, 0, 0}, {204, 1334, 4454, 0, 0, 0, 0}, {520, 64, 1343, 4096, 0, 0, 0}, {520, 64, 1328, 4144, 0, 0, 0}, {204, 1337, 4437, 0, 0, 0, 0}, {192, 1338, 4698, 0, 0, 0, 0}, {520, 76, 1331, 4411, 0, 0, 0}, {204, 1340, 4352, 0, 0, 0, 0}, {514, 64, 1333, 4128, 0, 0, 0}, {514, 76, 1334, 4386, 0, 0, 0}, {192, 1343, 4608, 0, 0, 0, 0}, {512, 64, 1280, 4096, 0, 0, 0}, {204, 1285, 4369, 0, 0, 0, 0}, {192, 1290, 4642, 0, 0, 0, 0}, {512, 76, 1295, 4403, 0, 0, 0}, {204, 1280, 4420, 0, 0, 0, 0}, {522, 64, 1285, 4112, 0, 0, 0}, {522, 76, 1290, 4394, 0, 0, 0}, {192, 1295, 4728, 0, 0, 0, 0}, {192, 1280, 4680, 0, 0, 0, 0}, {522, 76, 1285, 4377, 0, 0, 0}, {522, 64, 1290, 4128, 0, 0, 0}, {204, 1295, 4471, 0, 0, 0, 0}, {512, 76, 1280, 4352, 0, 0, 0}, {192, 1285, 4626, 0, 0, 0, 0}, {204, 1290, 4386, 0, 0, 0, 0}, {512, 64, 1295, 4144, 0, 0, 0}, {8704, 1360, 0, 0, 0, 0, 0}, {12, 64, 273, 0, 0, 0, 0}, {128, 546, 1370, 0, 0, 0, 0}, {12, 819, 1363, 4403, 0, 0, 0}, {12, 64, 276, 0, 0, 0, 0}, {8874, 1365, 0, 0, 0, 0, 0}, {12, 816, 1366, 4454, 0, 0, 0}, {128, 552, 1375, 0, 0, 0, 0}, {128, 552, 1360, 0, 0, 0, 0}, {12, 819, 1365, 4437, 0, 0, 0}, {8874, 1370, 0, 0, 0, 0, 0}, {12, 64, 279, 0, 0, 0, 0}, {12, 816, 1360, 4352, 0, 0, 0}, {128, 546, 1365, 0, 0, 0, 0}, {12, 64, 274, 0, 0, 0, 0}, {8704, 1375, 0, 0, 0, 0, 0}, {192, 1376, 4608, 0, 0, 0, 0}, {546, 76, 1317, 4369, 0, 0, 0}, {546, 64, 1322, 4096, 0, 0, 0}, {204, 1379, 4403, 0, 0, 0, 0}, {552, 76, 1312, 4360, 0, 0, 0}, {192, 1381, 4698, 0, 0, 0, 0}, {204, 1382, 4454, 0, 0, 0, 0}, {552, 64, 1327, 4112, 0, 0, 0}, {552, 64, 1312, 4128, 0, 0, 0}, {204, 1385, 4437, 0, 0, 0, 0}, {192, 1386, 4714, 0, 0, 0, 0}, {552, 76, 1327, 4411, 0, 0, 0}, {204, 1388, 4352, 0, 0, 0, 0}, {546, 64, 1317, 4144, 0, 0, 0}, {546, 76, 1322, 4386, 0, 0, 0}, {192, 1391, 4656, 0, 0, 0, 0}, {128, 512, 1392, 0, 0, 0, 0}, {12, 819, 1333, 4369, 0, 0, 0}, {1530, 2570, 8738, 20560, 0, 0, 0}, {12, 307, 512, 64, 1024, 4096, 0}, {12, 816, 1328, 4420, 0, 0, 0}, {128, 522, 1397, 0, 0, 0, 0}, {12, 310, 518, 64, 1024, 4112, 0}, {1535, 2560, 10103, 20480, 0, 0, 0}, {1520, 2560, 10104, 21760, 0, 0, 0}, {12, 309, 518, 64, 1024, 4373, 0}, {128, 522, 1402, 0, 0, 0, 0}, {12, 819, 1331, 4471, 0, 0, 0}, {12, 304, 512, 64, 1024, 4352, 0}, {1525, 2570, 8738, 21845, 0, 0, 0}, {12, 816, 1334, 4386, 0, 0, 0}, {128, 512, 1407, 0, 0, 0, 0}, {128, 512, 1280, 0, 0, 0, 0}, {12, 771, 1285, 4369, 0, 0, 0}, {8738, 1290, 0, 0, 0, 0, 0}, {12, 64, 259, 0, 0, 0, 0}, {12, 768, 1280, 4420, 0, 0, 0}, {128, 522, 1285, 0, 0, 0, 0}, {12, 64, 262, 0, 0, 0, 0}, {8840, 1295, 0, 0, 0, 0, 0}, {8840, 1280, 0, 0, 0, 0, 0}, {12, 64, 261, 0, 0, 0, 0}, {128, 522, 1290, 0, 0, 0, 0}, {12, 771, 1283, 4471, 0, 0, 0}, {12, 64, 256, 0, 0, 0, 0}, {8738, 1285, 0, 0, 0, 0, 0}, {12, 768, 1286, 4386, 0, 0, 0}, {128, 512, 1295, 0, 0, 0, 0}, {192, 1360, 4656, 0, 0, 0, 0}, {546, 76, 1305, 4369, 0, 0, 0}, {546, 64, 1306, 4144, 0, 0, 0}, {204, 1375, 4403, 0, 0, 0, 0}, {552, 76, 1308, 4360, 0, 0, 0}, {192, 1365, 4714, 0, 0, 0, 0}, {204, 1370, 4454, 0, 0, 0, 0}, {552, 64, 1311, 4128, 0, 0, 0}, {552, 64, 1296, 4112, 0, 0, 0}, {204, 1365, 4437, 0, 0, 0, 0}, {192, 1370, 4698, 0, 0, 0, 0}, {552, 76, 1299, 4411, 0, 0, 0}, {204, 1360, 4352, 0, 0, 0, 0}, {546, 64, 1301, 4096, 0, 0, 0}, {546, 76, 1302, 4386, 0, 0, 0}, {192, 1375, 4608, 0, 0, 0, 0}, {1440, 3840, 8704, 21760, 0, 0, 0}, {12, 289, 771, 64, 1028, 4369, 0}, {128, 546, 1322, 0, 0, 0, 0}, {12, 771, 1379, 4403, 0, 0, 0}, {12, 292, 768, 64, 1028, 4356, 0}, {1445, 3855, 9999, 21845, 0, 0, 0}, {12, 768, 1382, 4454, 0, 0, 0}, {128, 552, 1327, 0, 0, 0, 0}, {128, 552, 1312, 0, 0, 0, 0}, {12, 771, 1381, 4437, 0, 0, 0}, {1450, 3840, 9984, 20480, 0, 0, 0}, {12, 295, 771, 64, 1028, 4112, 0}, {12, 768, 1376, 4352, 0, 0, 0}, {128, 546, 1317, 0, 0, 0, 0}, {12, 290, 768, 64, 1028, 4096, 0}, {1455, 3855, 8704, 20560, 0, 0, 0}, {512, 64, 1328, 4144, 0, 0, 0}, {204, 1337, 4369, 0, 0, 0, 0}, {192, 1338, 4626, 0, 0, 0, 0}, {512, 76, 1331, 4403, 0, 0, 0}, {204, 1340, 4420, 0, 0, 0, 0}, {522, 64, 1333, 4128, 0, 0, 0}, {522, 76, 1334, 4394, 0, 0, 0}, {192, 1343, 4680, 0, 0, 0, 0}, {192, 1328, 4728, 0, 0, 0, 0}, {522, 76, 1337, 4377, 0, 0, 0}, {522, 64, 1338, 4112, 0, 0, 0}, {204, 1331, 4471, 0, 0, 0, 0}, {512, 76, 1340, 4352, 0, 0, 0}, {192, 1333, 4642, 0, 0, 0, 0}, {204, 1334, 4386, 0, 0, 0, 0}, {512, 64, 1343, 4096, 0, 0, 0}, {192, 1280, 4608, 0, 0, 0, 0}, {514, 76, 1285, 4369, 0, 0, 0}, {514, 64, 1290, 4128, 0, 0, 0}, {204, 1295, 4403, 0, 0, 0, 0}, {520, 76, 1280, 4360, 0, 0, 0}, {192, 1285, 4698, 0, 0, 0, 0}, {204, 1290, 4454, 0, 0, 0, 0}, {520, 64, 1295, 4144, 0, 0, 0}, {520, 64, 1280, 4096, 0, 0, 0}, {204, 1285, 4437, 0, 0, 0, 0}, {192, 1290, 4714, 0, 0, 0, 0}, {520, 76, 1295, 4411, 0, 0, 0}, {204, 1280, 4352, 0, 0, 0, 0}, {514, 64, 1285, 4112, 0, 0, 0}, {514, 76, 1290, 4386, 0, 0, 0}, {192, 1295, 4656, 0, 0, 0, 0}, {128, 544, 1360, 0, 0, 0, 0}, {12, 819, 1365, 4369, 0, 0, 0}, {8738, 1370, 0, 0, 0, 0, 0}, {12, 64, 275, 0, 0, 0, 0}, {12, 816, 1360, 4420, 0, 0, 0}, {128, 554, 1365, 0, 0, 0, 0}, {12, 64, 278, 0, 0, 0, 0}, {8840, 1375, 0, 0, 0, 0, 0}, {8840, 1360, 0, 0, 0, 0, 0}, {12, 64, 277, 0, 0, 0, 0}, {128, 554, 1370, 0, 0, 0, 0}, {12, 819, 1363, 4471, 0, 0, 0}, {12, 64, 272, 0, 0, 0, 0}, {8738, 1365, 0, 0, 0, 0, 0}, {12, 816, 1366, 4386, 0, 0, 0}, {128, 544, 1375, 0, 0, 0, 0}, {544, 64, 1312, 4128, 0, 0, 0}, {204, 1385, 4369, 0, 0, 0, 0}, {192, 1386, 4642, 0, 0, 0, 0}, {544, 76, 1327, 4403, 0, 0, 0}, {204, 1388, 4420, 0, 0, 0, 0}, {554, 64, 1317, 4144, 0, 0, 0}, {554, 76, 1322, 4394, 0, 0, 0}, {192, 1391, 4728, 0, 0, 0, 0}, {192, 1376, 4680, 0, 0, 0, 0}, {554, 76, 1317, 4377, 0, 0, 0}, {554, 64, 1322, 4096, 0, 0, 0}, {204, 1379, 4471, 0, 0, 0, 0}, {544, 76, 1312, 4352, 0, 0, 0}, {192, 1381, 4626, 0, 0, 0, 0}, {204, 1382, 4386, 0, 0, 0, 0}, {544, 64, 1327, 4112, 0, 0, 0}, {1520, 2560, 8704, 21760, 0, 0, 0}, {12, 305, 514, 64, 1028, 4369, 0}, {128, 514, 1402, 0, 0, 0, 0}, {12, 819, 1331, 4403, 0, 0, 0}, {12, 308, 516, 64, 1028, 4356, 0}, {1525, 2570, 10079, 21845, 0, 0, 0}, {12, 816, 1334, 4454, 0, 0, 0}, {128, 520, 1407, 0, 0, 0, 0}, {128, 520, 1392, 0, 0, 0, 0}, {12, 819, 1333, 4437, 0, 0, 0}, {1530, 2570, 10064, 20560, 0, 0, 0}, {12, 311, 516, 64, 1028, 4096, 0}, {12, 816, 1328, 4352, 0, 0, 0}, {128, 514, 1397, 0, 0, 0, 0}, {12, 306, 514, 64, 1028, 4112, 0}, {1535, 2560, 8704, 20480, 0, 0, 0}, {8704, 1536, 0, 0, 0, 0, 0}, {15, 112, 257, 0, 0, 0, 0}, {128, 514, 1032, 0, 0, 0, 0}, {15, 771, 1280, 4403, 0, 0, 0}, {128, 520, 1028, 0, 0, 0, 0}, {15, 768, 1285, 4437, 0, 0, 0}, {8874, 1542, 0, 0, 0, 0, 0}, {15, 112, 263, 0, 0, 0, 0}, {128, 520, 1032, 0, 0, 0, 0}, {15, 771, 1285, 4454, 0, 0, 0}, {8874, 1546, 0, 0, 0, 0, 0}, {15, 112, 260, 0, 0, 0, 0}, {8704, 1548, 0, 0, 0, 0, 0}, {15, 112, 258, 0, 0, 0, 0}, {128, 514, 1028, 0, 0, 0, 0}, {15, 768, 1280, 4352, 0, 0, 0}, {544, 112, 1072, 4112, 0, 0, 0}, {255, 1638, 4369, 0, 0, 0, 0}, {240, 1642, 4626, 0, 0, 0, 0}, {544, 127, 1075, 4403, 0, 0, 0}, {240, 1644, 4728, 0, 0, 0, 0}, {554, 127, 1087, 4394, 0, 0, 0}, {554, 112, 1084, 4096, 0, 0, 0}, {255, 1632, 4471, 0, 0, 0, 0}, {240, 1632, 4680, 0, 0, 0, 0}, {554, 127, 1075, 4377, 0, 0, 0}, {554, 112, 1072, 4144, 0, 0, 0}, {255, 1644, 4420, 0, 0, 0, 0}, {544, 112, 1084, 4128, 0, 0, 0}, {255, 1642, 4386, 0, 0, 0, 0}, {240, 1638, 4642, 0, 0, 0, 0}, {544, 127, 1087, 4352, 0, 0, 0}, {128, 544, 1024, 0, 0, 0, 0}, {15, 771, 1365, 4369, 0, 0, 0}, {1706, 3072, 8738, 16930, 0, 0, 0}, {15, 291, 771, 339, 1027, 4112, 0}, {1708, 3084, 9252, 17476, 0, 0, 0}, {15, 293, 768, 341, 1024, 4096, 0}, {128, 554, 1036, 0, 0, 0, 0}, {15, 768, 1360, 4471, 0, 0, 0}, {1696, 3072, 9256, 16936, 0, 0, 0}, {15, 294, 771, 342, 1027, 4374, 0}, {128, 554, 1024, 0, 0, 0, 0}, {15, 771, 1360, 4420, 0, 0, 0}, {128, 544, 1036, 0, 0, 0, 0}, {15, 768, 1365, 4386, 0, 0, 0}, {1702, 3084, 8738, 17476, 0, 0, 0}, {15, 288, 768, 336, 1024, 4352, 0}, {240, 1584, 4656, 0, 0, 0, 0}, {514, 127, 1083, 4369, 0, 0, 0}, {514, 112, 1080, 4112, 0, 0, 0}, {255, 1587, 4403, 0, 0, 0, 0}, {520, 112, 1076, 4096, 0, 0, 0}, {255, 1589, 4437, 0, 0, 0, 0}, {240, 1590, 4698, 0, 0, 0, 0}, {520, 127, 1079, 4360, 0, 0, 0}, {520, 112, 1080, 4144, 0, 0, 0}, {255, 1593, 4454, 0, 0, 0, 0}, {240, 1594, 4714, 0, 0, 0, 0}, {520, 127, 1083, 4411, 0, 0, 0}, {240, 1596, 4608, 0, 0, 0, 0}, {514, 127, 1079, 4386, 0, 0, 0}, {514, 112, 1076, 4128, 0, 0, 0}, {255, 1599, 4352, 0, 0, 0, 0}, {128, 512, 1088, 0, 0, 0, 0}, {15, 819, 1285, 4369, 0, 0, 0}, {1738, 2570, 8738, 16962, 0, 0, 0}, {15, 307, 512, 323, 1280, 4096, 0}, {1740, 2560, 9284, 17476, 0, 0, 0}, {15, 309, 517, 325, 1285, 4112, 0}, {128, 522, 1100, 0, 0, 0, 0}, {15, 816, 1280, 4471, 0, 0, 0}, {1728, 2560, 9288, 16968, 0, 0, 0}, {15, 310, 517, 326, 1285, 4374, 0}, {128, 522, 1088, 0, 0, 0, 0}, {15, 819, 1280, 4420, 0, 0, 0}, {128, 512, 1100, 0, 0, 0, 0}, {15, 816, 1285, 4386, 0, 0, 0}, {1734, 2570, 8738, 17476, 0, 0, 0}, {15, 304, 512, 320, 1280, 4352, 0}, {240, 1616, 4608, 0, 0, 0, 0}, {546, 127, 1028, 4369, 0, 0, 0}, {546, 112, 1032, 4096, 0, 0, 0}, {255, 1619, 4403, 0, 0, 0, 0}, {552, 112, 1028, 4112, 0, 0, 0}, {255, 1621, 4437, 0, 0, 0, 0}, {240, 1622, 4714, 0, 0, 0, 0}, {552, 127, 1032, 4360, 0, 0, 0}, {552, 112, 1032, 4128, 0, 0, 0}, {255, 1625, 4454, 0, 0, 0, 0}, {240, 1626, 4698, 0, 0, 0, 0}, {552, 127, 1028, 4411, 0, 0, 0}, {240, 1628, 4656, 0, 0, 0, 0}, {546, 127, 1032, 4386, 0, 0, 0}, {546, 112, 1028, 4144, 0, 0, 0}, {255, 1631, 4352, 0, 0, 0, 0}, {8704, 1632, 0, 0, 0, 0, 0}, {15, 112, 273, 0, 0, 0, 0}, {128, 546, 1096, 0, 0, 0, 0}, {15, 819, 1360, 4403, 0, 0, 0}, {128, 552, 1092, 0, 0, 0, 0}, {15, 816, 1365, 4437, 0, 0, 0}, {8874, 1638, 0, 0, 0, 0, 0}, {15, 112, 279, 0, 0, 0, 0}, {128, 552, 1096, 0, 0, 0, 0}, {15, 819, 1365, 4454, 0, 0, 0}, {8874, 1642, 0, 0, 0, 0, 0}, {15, 112, 276, 0, 0, 0, 0}, {8704, 1644, 0, 0, 0, 0, 0}, {15, 112, 274, 0, 0, 0, 0}, {128, 546, 1092, 0, 0, 0, 0}, {15, 816, 1360, 4352, 0, 0, 0}, {512, 112, 1024, 4096, 0, 0, 0}, {255, 1542, 4369, 0, 0, 0, 0}, {240, 1546, 4642, 0, 0, 0, 0}, {512, 127, 1036, 4403, 0, 0, 0}, {240, 1548, 4680, 0, 0, 0, 0}, {522, 127, 1024, 4394, 0, 0, 0}, {522, 112, 1036, 4112, 0, 0, 0}, {255, 1536, 4471, 0, 0, 0, 0}, {240, 1536, 4728, 0, 0, 0, 0}, {522, 127, 1036, 4377, 0, 0, 0}, {522, 112, 1024, 4128, 0, 0, 0}, {255, 1548, 4420, 0, 0, 0, 0}, {512, 112, 1036, 4144, 0, 0, 0}, {255, 1546, 4386, 0, 0, 0, 0}, {240, 1542, 4626, 0, 0, 0, 0}, {512, 127, 1024, 4352, 0, 0, 0}, {128, 512, 1024, 0, 0, 0, 0}, {15, 771, 1285, 4369, 0, 0, 0}, {8738, 1546, 0, 0, 0, 0, 0}, {15, 112, 259, 0, 0, 0, 0}, {8840, 1548, 0, 0, 0, 0, 0}, {15, 112, 261, 0, 0, 0, 0}, {128, 522, 1036, 0, 0, 0, 0}, {15, 768, 1280, 4471, 0, 0, 0}, {8840, 1536, 0, 0, 0, 0, 0}, {15, 112, 262, 0, 0, 0, 0}, {128, 522, 1024, 0, 0, 0, 0}, {15, 771, 1280, 4420, 0, 0, 0}, {128, 512, 1036, 0, 0, 0, 0}, {15, 768, 1285, 4386, 0, 0, 0}, {8738, 1542, 0, 0, 0, 0, 0}, {15, 112, 256, 0, 0, 0, 0}, {240, 1632, 4656, 0, 0, 0, 0}, {546, 127, 1083, 4369, 0, 0, 0}, {546, 112, 1080, 4144, 0, 0, 0}, {255, 1644, 4403, 0, 0, 0, 0}, {552, 112, 1076, 4128, 0, 0, 0}, {255, 1642, 4437, 0, 0, 0, 0}, {240, 1638, 4698, 0, 0, 0, 0}, {552, 127, 1079, 4360, 0, 0, 0}, {552, 112, 1080, 4112, 0, 0, 0}, {255, 1638, 4454, 0, 0, 0, 0}, {240, 1642, 4714, 0, 0, 0, 0}, {552, 127, 1083, 4411, 0, 0, 0}, {240, 1644, 4608, 0, 0, 0, 0}, {546, 127, 1079, 4386, 0, 0, 0}, {546, 112, 1076, 4096, 0, 0, 0}, {255, 1632, 4352, 0, 0, 0, 0}, {1696, 3072, 8704, 17408, 0, 0, 0}, {15, 289, 771, 337, 1028, 4369, 0}, {128, 546, 1032, 0, 0, 0, 0}, {15, 771, 1360, 4403, 0, 0, 0}, {128, 552, 1028, 0, 0, 0, 0}, {15, 768, 1365, 4437, 0, 0, 0}, {1702, 3084, 9228, 17002, 0, 0, 0}, {15, 295, 768, 343, 1031, 4359, 0}, {128, 552, 1032, 0, 0, 0, 0}, {15, 771, 1365, 4454, 0, 0, 0}, {1706, 3072, 9216, 17408, 0, 0, 0}, {15, 292, 771, 340, 1028, 4112, 0}, {1708, 3084, 8704, 16992, 0, 0, 0}, {15, 290, 768, 338, 1031, 4096, 0}, {128, 546, 1028, 0, 0, 0, 0}, {15, 768, 1360, 4352, 0, 0, 0}, {512, 112, 1072, 4144, 0, 0, 0}, {255, 1593, 4369, 0, 0, 0, 0}, {240, 1594, 4626, 0, 0, 0, 0}, {512, 127, 1075, 4403, 0, 0, 0}, {240, 1596, 4728, 0, 0, 0, 0}, {522, 127, 1087, 4394, 0, 0, 0}, {522, 112, 1084, 4128, 0, 0, 0}, {255, 1599, 4471, 0, 0, 0, 0}, {240, 1584, 4680, 0, 0, 0, 0}, {522, 127, 1075, 4377, 0, 0, 0}, {522, 112, 1072, 4112, 0, 0, 0}, {255, 1587, 4420, 0, 0, 0, 0}, {512, 112, 1084, 4096, 0, 0, 0}, {255, 1589, 4386, 0, 0, 0, 0}, {240, 1590, 4642, 0, 0, 0, 0}, {512, 127, 1087, 4352, 0, 0, 0}, {1728, 2560, 8704, 17408, 0, 0, 0}, {15, 305, 514, 321, 1285, 4369, 0}, {128, 514, 1096, 0, 0, 0, 0}, {15, 819, 1280, 4403, 0, 0, 0}, {128, 520, 1092, 0, 0, 0, 0}, {15, 816, 1285, 4437, 0, 0, 0}, {1734, 2570, 9324, 16906, 0, 0, 0}, {15, 311, 519, 327, 1280, 4359, 0}, {128, 520, 1096, 0, 0, 0, 0}, {15, 819, 1285, 4454, 0, 0, 0}, {1738, 2570, 9312, 17408, 0, 0, 0}, {15, 308, 519, 324, 1280, 4096, 0}, {1740, 2560, 8704, 16896, 0, 0, 0}, {15, 306, 514, 322, 1285, 4112, 0}, {128, 514, 1092, 0, 0, 0, 0}, {15, 816, 1280, 4352, 0, 0, 0}, {544, 112, 1024, 4128, 0, 0, 0}, {255, 1625, 4369, 0, 0, 0, 0}, {240, 1626, 4642, 0, 0, 0, 0}, {544, 127, 1036, 4403, 0, 0, 0}, {240, 1628, 4680, 0, 0, 0, 0}, {554, 127, 1024, 4394, 0, 0, 0}, {554, 112, 1036, 4144, 0, 0, 0}, {255, 1631, 4471, 0, 0, 0, 0}, {240, 1616, 4728, 0, 0, 0, 0}, {554, 127, 1036, 4377, 0, 0, 0}, {554, 112, 1024, 4096, 0, 0, 0}, {255, 1619, 4420, 0, 0, 0, 0}, {544, 112, 1036, 4112, 0, 0, 0}, {255, 1621, 4386, 0, 0, 0, 0}, {240, 1622, 4626, 0, 0, 0, 0}, {544, 127, 1024, 4352, 0, 0, 0}, {128, 544, 1088, 0, 0, 0, 0}, {15, 819, 1365, 4369, 0, 0, 0}, {8738, 1642, 0, 0, 0, 0, 0}, {15, 112, 275, 0, 0, 0, 0}, {8840, 1644, 0, 0, 0, 0, 0}, {15, 112, 277, 0, 0, 0, 0}, {128, 554, 1100, 0, 0, 0, 0}, {15, 816, 1360, 4471, 0, 0, 0}, {8840, 1632, 0, 0, 0, 0, 0}, {15, 112, 278, 0, 0, 0, 0}, {128, 554, 1088, 0, 0, 0, 0}, {15, 819, 1360, 4420, 0, 0, 0}, {128, 544, 1100, 0, 0, 0, 0}, {15, 816, 1365, 4386, 0, 0, 0}, {8738, 1638, 0, 0, 0, 0, 0}, {15, 112, 272, 0, 0, 0, 0}, {240, 1536, 4608, 0, 0, 0, 0}, {514, 127, 1028, 4369, 0, 0, 0}, {514, 112, 1032, 4128, 0, 0, 0}, {255, 1548, 4403, 0, 0, 0, 0}, {520, 112, 1028, 4144, 0, 0, 0}, {255, 1546, 4437, 0, 0, 0, 0}, {240, 1542, 4714, 0, 0, 0, 0}, {520, 127, 1032, 4360, 0, 0, 0}, {520, 112, 1032, 4096, 0, 0, 0}, {255, 1542, 4454, 0, 0, 0, 0}, {240, 1546, 4698, 0, 0, 0, 0}, {520, 127, 1028, 4411, 0, 0, 0}, {240, 1548, 4656, 0, 0, 0, 0}, {514, 127, 1032, 4386, 0, 0, 0}, {514, 112, 1028, 4112, 0, 0, 0}, {255, 1536, 4352, 0, 0, 0, 0}, {3840, 28672, 0, 0, 0, 0, 0}, {34, 6, 257, 0, 0, 0, 0}, {10, 34, 514, 1280, 0, 0, 0}, {12, 771, 16384, 0, 0, 0, 0}, {12, 768, 68, 1028, 0, 0, 0}, {10, 8192, 1285, 0, 0, 0, 0}, {768, 6, 4096, 0, 0, 0, 0}, {136, 1799, 0, 0, 0, 0, 0}, {136, 1800, 0, 0, 0, 0, 0}, {771, 6, 4144, 0, 0, 0, 0}, {10, 8192, 1280, 0, 0, 0, 0}, {12, 771, 68, 1028, 0, 0, 0}, {12, 768, 16384, 0, 0, 0, 0}, {10, 34, 514, 1285, 0, 0, 0}, {34, 6, 258, 0, 0, 0, 0}, {3855, 28912, 0, 0, 0, 0, 0}, {3888, 96, 4112, 0, 0, 0, 0}, {34, 68, 1809, 4369, 0, 0, 0}, {34, 72, 1810, 4626, 0, 0, 0}, {3891, 108, 4883, 0, 0, 0, 0}, {40, 68, 1812, 4864, 0, 0, 0}, {3903, 106, 5397, 0, 0, 0, 0}, {3900, 102, 5654, 0, 0, 0, 0}, {40, 72, 1815, 4096, 0, 0, 0}, {40, 72, 1816, 4120, 0, 0, 0}, {3891, 102, 5674, 0, 0, 0, 0}, {3888, 106, 5418, 0, 0, 0, 0}, {40, 68, 1819, 4891, 0, 0, 0}, {3900, 108, 4896, 0, 0, 0, 0}, {34, 72, 1821, 4608, 0, 0, 0}, {34, 68, 1822, 4352, 0, 0, 0}, {3903, 96, 4128, 0, 0, 0, 0}, {160, 3840, 8224, 20480, 0, 0, 0}, {12, 34, 771, 68, 1024, 4369, 0}, {34, 1792, 0, 0, 0, 0, 0}, {12, 771, 96, 4112, 0, 0, 0}, {12, 36, 768, 68, 1024, 4096, 0}, {170, 3855, 9509, 21845, 0, 0, 0}, {12, 768, 102, 5414, 0, 0, 0}, {40, 1807, 0, 0, 0, 0, 0}, {40, 1792, 0, 0, 0, 0, 0}, {12, 771, 102, 5397, 0, 0, 0}, {170, 3840, 9514, 21760, 0, 0, 0}, {12, 36, 771, 68, 1024, 4116, 0}, {12, 768, 96, 4128, 0, 0, 0}, {34, 1807, 0, 0, 0, 0, 0}, {12, 34, 768, 68, 1024, 4352, 0}, {160, 3855, 8224, 20560, 0, 0, 0}, {192, 3888, 12336, 16384, 0, 0, 0}, {10, 34, 514, 68, 1297, 4369, 0}, {10, 34, 514, 66, 1298, 4112, 0}, {204, 3891, 13107, 17203, 0, 0, 0}, {13056, 68, 1844, 0, 0, 0, 0}, {10, 96, 1333, 4096, 0, 0, 0}, {10, 102, 1334, 4864, 0, 0, 0}, {12288, 72, 1847, 0, 0, 0, 0}, {12336, 72, 1848, 0, 0, 0, 0}, {10, 102, 1331, 4915, 0, 0, 0}, {10, 96, 1328, 4144, 0, 0, 0}, {13107, 68, 1851, 0, 0, 0, 0}, {204, 3900, 13056, 17212, 0, 0, 0}, {10, 34, 514, 66, 1303, 4098, 0}, {10, 34, 514, 68, 1300, 4352, 0}, {192, 3903, 12288, 16384, 0, 0, 0}, {192, 3840, 12288, 16448, 0, 0, 0}, {10, 34, 512, 68, 1285, 4369, 0}, {10, 34, 512, 66, 1280, 4096, 0}, {204, 3855, 13107, 17219, 0, 0, 0}, {13056, 68, 1792, 0, 0, 0, 0}, {10, 96, 1285, 4112, 0, 0, 0}, {10, 102, 1280, 4896, 0, 0, 0}, {12336, 72, 1807, 0, 0, 0, 0}, {12288, 72, 1792, 0, 0, 0, 0}, {10, 102, 1285, 4883, 0, 0, 0}, {10, 96, 1280, 4128, 0, 0, 0}, {13107, 68, 1807, 0, 0, 0, 0}, {204, 3840, 13056, 17228, 0, 0, 0}, {10, 34, 512, 66, 1285, 4114, 0}, {10, 34, 512, 68, 1280, 4352, 0}, {192, 3855, 12336, 16448, 0, 0, 0}, {160, 3920, 8192, 20560, 0, 0, 0}, {12, 34, 785, 68, 1028, 4369, 0}, {34, 1874, 0, 0, 0, 0, 0}, {12, 819, 96, 4096, 0, 0, 0}, {12, 36, 788, 68, 1028, 4112, 0}, {170, 3925, 9557, 21845, 0, 0, 0}, {12, 816, 102, 5376, 0, 0, 0}, {40, 1879, 0, 0, 0, 0, 0}, {40, 1880, 0, 0, 0, 0, 0}, {12, 819, 102, 5427, 0, 0, 0}, {170, 3930, 9562, 21760, 0, 0, 0}, {12, 36, 791, 68, 1028, 4100, 0}, {12, 816, 96, 4144, 0, 0, 0}, {34, 1885, 0, 0, 0, 0, 0}, {12, 34, 786, 68, 1028, 4352, 0}, {160, 3935, 8192, 20480, 0, 0, 0}, {3840, 96, 4096, 0, 0, 0, 0}, {34, 68, 1799, 4369, 0, 0, 0}, {34, 72, 1800, 4608, 0, 0, 0}, {3855, 108, 4915, 0, 0, 0, 0}, {40, 68, 1800, 4872, 0, 0, 0}, {3855, 106, 5439, 0, 0, 0, 0}, {3840, 102, 5632, 0, 0, 0, 0}, {40, 72, 1799, 4112, 0, 0, 0}, {40, 72, 1800, 4104, 0, 0, 0}, {3855, 102, 5692, 0, 0, 0, 0}, {3840, 106, 5376, 0, 0, 0, 0}, {40, 68, 1799, 4883, 0, 0, 0}, {3840, 108, 4864, 0, 0, 0, 0}, {34, 72, 1799, 4626, 0, 0, 0}, {34, 68, 1800, 4352, 0, 0, 0}, {3855, 96, 4144, 0, 0, 0, 0}, {4080, 28784, 0, 0, 0, 0, 0}, {34, 6, 273, 0, 0, 0, 0}, {10, 34, 512, 1360, 0, 0, 0}, {12, 819, 16448, 0, 0, 0, 0}, {12, 816, 68, 1024, 0, 0, 0}, {10, 8224, 1365, 0, 0, 0, 0}, {816, 6, 4112, 0, 0, 0, 0}, {136, 1911, 0, 0, 0, 0, 0}, {136, 1912, 0, 0, 0, 0, 0}, {819, 6, 4128, 0, 0, 0, 0}, {10, 8224, 1360, 0, 0, 0, 0}, {12, 819, 68, 1024, 0, 0, 0}, {12, 816, 16448, 0, 0, 0, 0}, {10, 34, 512, 1365, 0, 0, 0}, {34, 6, 274, 0, 0, 0, 0}, {4095, 28800, 0, 0, 0, 0, 0}, {3840, 28800, 0, 0, 0, 0, 0}, {34, 6, 259, 0, 0, 0, 0}, {10, 34, 512, 1280, 0, 0, 0}, {12, 771, 16448, 0, 0, 0, 0}, {12, 768, 68, 1024, 0, 0, 0}, {10, 8224, 1285, 0, 0, 0, 0}, {768, 6, 4128, 0, 0, 0, 0}, {136, 1807, 0, 0, 0, 0, 0}, {136, 1792, 0, 0, 0, 0, 0}, {771, 6, 4112, 0, 0, 0, 0}, {10, 8224, 1280, 0, 0, 0, 0}, {12, 771, 68, 1024, 0, 0, 0}, {12, 768, 16448, 0, 0, 0, 0}, {10, 34, 512, 1285, 0, 0, 0}, {34, 6, 256, 0, 0, 0, 0}, {3855, 28784, 0, 0, 0, 0, 0}, {3888, 96, 4144, 0, 0, 0, 0}, {34, 68, 1817, 4369, 0, 0, 0}, {34, 72, 1818, 4626, 0, 0, 0}, {3891, 108, 4915, 0, 0, 0, 0}, {40, 68, 1820, 4872, 0, 0, 0}, {3903, 106, 5439, 0, 0, 0, 0}, {3900, 102, 5692, 0, 0, 0, 0}, {40, 72, 1823, 4104, 0, 0, 0}, {40, 72, 1808, 4112, 0, 0, 0}, {3891, 102, 5632, 0, 0, 0, 0}, {3888, 106, 5376, 0, 0, 0, 0}, {40, 68, 1811, 4883, 0, 0, 0}, {3900, 108, 4864, 0, 0, 0, 0}, {34, 72, 1813, 4608, 0, 0, 0}, {34, 68, 1814, 4352, 0, 0, 0}, {3903, 96, 4096, 0, 0, 0, 0}, {160, 3840, 8192, 20480, 0, 0, 0}, {12, 34, 771, 68, 1028, 4369, 0}, {34, 1800, 0, 0, 0, 0, 0}, {12, 771, 96, 4144, 0, 0, 0}, {12, 36, 768, 68, 1028, 4100, 0}, {170, 3855, 9487, 21845, 0, 0, 0}, {12, 768, 102, 5376, 0, 0, 0}, {40, 1799, 0, 0, 0, 0, 0}, {40, 1800, 0, 0, 0, 0, 0}, {12, 771, 102, 5427, 0, 0, 0}, {170, 3840, 9472, 21760, 0, 0, 0}, {12, 36, 771, 68, 1028, 4112, 0}, {12, 768, 96, 4096, 0, 0, 0}, {34, 1799, 0, 0, 0, 0, 0}, {12, 34, 768, 68, 1028, 4352, 0}, {160, 3855, 8192, 20560, 0, 0, 0}, {192, 3888, 12336, 16448, 0, 0, 0}, {10, 34, 512, 68, 1297, 4369, 0}, {10, 34, 512, 66, 1298, 4114, 0}, {204, 3891, 13107, 17279, 0, 0, 0}, {13056, 68, 1852, 0, 0, 0, 0}, {10, 96, 1333, 4128, 0, 0, 0}, {10, 102, 1334, 4896, 0, 0, 0}, {12288, 72, 1855, 0, 0, 0, 0}, {12336, 72, 1840, 0, 0, 0, 0}, {10, 102, 1331, 4883, 0, 0, 0}, {10, 96, 1328, 4112, 0, 0, 0}, {13107, 68, 1843, 0, 0, 0, 0}, {204, 3900, 13056, 17264, 0, 0, 0}, {10, 34, 512, 66, 1303, 4096, 0}, {10, 34, 512, 68, 1300, 4352, 0}, {192, 3903, 12288, 16448, 0, 0, 0}, {192, 3840, 12288, 16384, 0, 0, 0}, {10, 34, 514, 68, 1285, 4369, 0}, {10, 34, 514, 66, 1280, 4098, 0}, {204, 3855, 13107, 17167, 0, 0, 0}, {13056, 68, 1800, 0, 0, 0, 0}, {10, 96, 1285, 4144, 0, 0, 0}, {10, 102, 1280, 4864, 0, 0, 0}, {12336, 72, 1799, 0, 0, 0, 0}, {12288, 72, 1800, 0, 0, 0, 0}, {10, 102, 1285, 4915, 0, 0, 0}, {10, 96, 1280, 4096, 0, 0, 0}, {13107, 68, 1799, 0, 0, 0, 0}, {204, 3840, 13056, 17152, 0, 0, 0}, {10, 34, 514, 66, 1285, 4112, 0}, {10, 34, 514, 68, 1280, 4352, 0}, {192, 3855, 12336, 16384, 0, 0, 0}, {160, 3920, 8224, 20560, 0, 0, 0}, {12, 34, 785, 68, 1024, 4369, 0}, {34, 1882, 0, 0, 0, 0, 0}, {12, 819, 96, 4128, 0, 0, 0}, {12, 36, 788, 68, 1024, 4116, 0}, {170, 3925, 9599, 21845, 0, 0, 0}, {12, 816, 102, 5414, 0, 0, 0}, {40, 1887, 0, 0, 0, 0, 0}, {40, 1872, 0, 0, 0, 0, 0}, {12, 819, 102, 5397, 0, 0, 0}, {170, 3930, 9584, 21760, 0, 0, 0}, {12, 36, 791, 68, 1024, 4096, 0}, {12, 816, 96, 4112, 0, 0, 0}, {34, 1877, 0, 0, 0, 0, 0}, {12, 34, 786, 68, 1024, 4352, 0}, {160, 3935, 8224, 20480, 0, 0, 0}, {3840, 96, 4128, 0, 0, 0, 0}, {34, 68, 1807, 4369, 0, 0, 0}, {34, 72, 1792, 4608, 0, 0, 0}, {3855, 108, 4883, 0, 0, 0, 0}, {40, 68, 1792, 4864, 0, 0, 0}, {3855, 106, 5397, 0, 0, 0, 0}, {3840, 102, 5674, 0, 0, 0, 0}, {40, 72, 1807, 4120, 0, 0, 0}, {40, 72, 1792, 4096, 0, 0, 0}, {3855, 102, 5654, 0, 0, 0, 0}, {3840, 106, 5418, 0, 0, 0, 0}, {40, 68, 1807, 4891, 0, 0, 0}, {3840, 108, 4896, 0, 0, 0, 0}, {34, 72, 1807, 4626, 0, 0, 0}, {34, 68, 1792, 4352, 0, 0, 0}, {3855, 96, 4112, 0, 0, 0, 0}, {4080, 28912, 0, 0, 0, 0, 0}, {34, 6, 275, 0, 0, 0, 0}, {10, 34, 514, 1360, 0, 0, 0}, {12, 819, 16384, 0, 0, 0, 0}, {12, 816, 68, 1028, 0, 0, 0}, {10, 8192, 1365, 0, 0, 0, 0}, {816, 6, 4144, 0, 0, 0, 0}, {136, 1919, 0, 0, 0, 0, 0}, {136, 1904, 0, 0, 0, 0, 0}, {819, 6, 4096, 0, 0, 0, 0}, {10, 8192, 1360, 0, 0, 0, 0}, {12, 819, 68, 1028, 0, 0, 0}, {12, 816, 16384, 0, 0, 0, 0}, {10, 34, 514, 1365, 0, 0, 0}, {34, 6, 272, 0, 0, 0, 0}, {4095, 28672, 0, 0, 0, 0, 0}, {12288, 20480, 0, 0, 0, 0, 0}, {8, 17, 257, 0, 0, 0, 0}, {8, 34, 514, 4098, 0, 0, 0}, {51, 771, 20495, 0, 0, 0, 0}, {8, 68, 1028, 4100, 0, 0, 0}, {12303, 85, 1285, 0, 0, 0, 0}, {12300, 102, 1542, 0, 0, 0, 0}, {8, 119, 1799, 4103, 0, 0, 0}, {8, 4096, 0, 0, 0, 0, 0}, {51, 771, 85, 1285, 0, 0, 0}, {170, 2570, 12288, 20490, 0, 0, 0}, {8, 51, 771, 68, 1028, 4099, 0}, {204, 3084, 12300, 20480, 0, 0, 0}, {8, 34, 514, 85, 1285, 4101, 0}, {8, 34, 514, 68, 1028, 4102, 0}, {255, 3855, 12303, 20495, 0, 0, 0}, {128, 4112, 0, 0, 0, 0, 0}, {768, 1280, 17, 0, 0, 0, 0}, {2560, 34, 4626, 0, 0, 0, 0}, {51, 768, 76, 4115, 0, 0, 0}, {3072, 68, 5140, 0, 0, 0, 0}, {42, 85, 1280, 4117, 0, 0, 0}, {42, 76, 1536, 4118, 0, 0, 0}, {3840, 119, 5911, 0, 0, 0, 0}, {136, 6168, 12336, 20560, 0, 0, 0}, {25, 51, 768, 85, 1280, 4096, 0}, {2560, 42, 4122, 0, 0, 0, 0}, {51, 768, 68, 5147, 0, 0, 0}, {3072, 76, 4124, 0, 0, 0, 0}, {34, 85, 1280, 4637, 0, 0, 0}, {34, 68, 1536, 4638, 0, 0, 0}, {3840, 127, 4127, 0, 0, 0, 0}, {128, 4128, 0, 0, 0, 0, 0}, {771, 1295, 17, 0, 0, 0, 0}, {2560, 34, 4608, 0, 0, 0, 0}, {51, 771, 76, 4112, 0, 0, 0}, {3084, 68, 5160, 0, 0, 0, 0}, {42, 85, 1295, 4111, 0, 0, 0}, {42, 76, 1548, 4108, 0, 0, 0}, {3855, 119, 5928, 0, 0, 0, 0}, {136, 6184, 12288, 20520, 0, 0, 0}, {25, 51, 771, 85, 1302, 4099, 0}, {2560, 42, 4096, 0, 0, 0, 0}, {51, 771, 68, 5140, 0, 0, 0}, {3084, 76, 4140, 0, 0, 0, 0}, {34, 85, 1295, 4623, 0, 0, 0}, {34, 68, 1548, 4620, 0, 0, 0}, {3855, 127, 4143, 0, 0, 0, 0}, {12336, 20720, 0, 0, 0, 0, 0}, {8, 17, 258, 0, 0, 0, 0}, {8, 34, 514, 4112, 0, 0, 0}, {51, 768, 20480, 0, 0, 0, 0}, {8, 68, 1024, 4148, 0, 0, 0}, {12351, 85, 1290, 0, 0, 0, 0}, {12348, 102, 1546, 0, 0, 0, 0}, {8, 119, 1792, 4151, 0, 0, 0}, {8, 4144, 0, 0, 0, 0, 0}, {51, 768, 85, 1290, 0, 0, 0}, {170, 2570, 12336, 20560, 0, 0, 0}, {8, 51, 768, 68, 1024, 4096, 0}, {204, 3072, 12348, 20540, 0, 0, 0}, {8, 34, 514, 85, 1282, 4119, 0}, {8, 34, 514, 68, 1024, 4116, 0}, {255, 3840, 12351, 20480, 0, 0, 0}, {128, 4160, 0, 0, 0, 0, 0}, {783, 1285, 17, 0, 0, 0, 0}, {2570, 34, 4680, 0, 0, 0, 0}, {51, 783, 76, 4111, 0, 0, 0}, {3072, 68, 5120, 0, 0, 0, 0}, {42, 85, 1285, 4112, 0, 0, 0}, {42, 76, 1546, 4106, 0, 0, 0}, {3855, 119, 5951, 0, 0, 0, 0}, {136, 6216, 12360, 20480, 0, 0, 0}, {25, 51, 790, 85, 1285, 4101, 0}, {2570, 42, 4170, 0, 0, 0, 0}, {51, 783, 68, 5135, 0, 0, 0}, {3072, 76, 4096, 0, 0, 0, 0}, {34, 85, 1285, 4626, 0, 0, 0}, {34, 68, 1546, 4608, 0, 0, 0}, {3855, 127, 4144, 0, 0, 0, 0}, {12528, 20560, 0, 0, 0, 0, 0}, {8, 17, 260, 0, 0, 0, 0}, {8, 34, 512, 4178, 0, 0, 0}, {51, 780, 20575, 0, 0, 0, 0}, {8, 68, 1028, 4112, 0, 0, 0}, {12288, 85, 1280, 0, 0, 0, 0}, {12336, 102, 1548, 0, 0, 0, 0}, {8, 119, 1792, 4128, 0, 0, 0}, {8, 4176, 0, 0, 0, 0, 0}, {51, 780, 85, 1280, 0, 0, 0}, {170, 2560, 12378, 20570, 0, 0, 0}, {8, 51, 772, 68, 1028, 4119, 0}, {204, 3084, 12336, 20560, 0, 0, 0}, {8, 34, 512, 85, 1280, 4096, 0}, {8, 34, 512, 68, 1028, 4114, 0}, {255, 3840, 12288, 20575, 0, 0, 0}, {12480, 20640, 0, 0, 0, 0, 0}, {8, 17, 263, 0, 0, 0, 0}, {8, 34, 512, 4160, 0, 0, 0}, {51, 783, 20560, 0, 0, 0, 0}, {8, 68, 1024, 4128, 0, 0, 0}, {12336, 85, 1295, 0, 0, 0, 0}, {12288, 102, 1536, 0, 0, 0, 0}, {8, 119, 1799, 4112, 0, 0, 0}, {8, 4192, 0, 0, 0, 0, 0}, {51, 783, 85, 1295, 0, 0, 0}, {170, 2560, 12394, 20480, 0, 0, 0}, {8, 51, 775, 68, 1024, 4116, 0}, {204, 3072, 12288, 20588, 0, 0, 0}, {8, 34, 512, 85, 1287, 4114, 0}, {8, 34, 512, 68, 1024, 4096, 0}, {255, 3855, 12336, 20560, 0, 0, 0}, {128, 4208, 0, 0, 0, 0, 0}, {780, 1290, 17, 0, 0, 0, 0}, {2570, 34, 4698, 0, 0, 0, 0}, {51, 780, 76, 4108, 0, 0, 0}, {3084, 68, 5180, 0, 0, 0, 0}, {42, 85, 1290, 4106, 0, 0, 0}, {42, 76, 1542, 4112, 0, 0, 0}, {3840, 119, 5888, 0, 0, 0, 0}, {136, 6264, 12408, 20600, 0, 0, 0}, {25, 51, 789, 85, 1299, 4102, 0}, {2570, 42, 4176, 0, 0, 0, 0}, {51, 780, 68, 5120, 0, 0, 0}, {3084, 76, 4144, 0, 0, 0, 0}, {34, 85, 1290, 4608, 0, 0, 0}, {34, 68, 1542, 4626, 0, 0, 0}, {3840, 127, 4096, 0, 0, 0, 0}, {128, 4096, 0, 0, 0, 0, 0}, {771, 1285, 17, 0, 0, 0, 0}, {2570, 34, 4608, 0, 0, 0, 0}, {51, 771, 76, 4099, 0, 0, 0}, {3084, 68, 5120, 0, 0, 0, 0}, {42, 85, 1285, 4101, 0, 0, 0}, {42, 76, 1542, 4102, 0, 0, 0}, {3855, 119, 5888, 0, 0, 0, 0}, {136, 6144, 12288, 20480, 0, 0, 0}, {25, 51, 771, 85, 1285, 4112, 0}, {2570, 42, 4106, 0, 0, 0, 0}, {51, 771, 68, 5135, 0, 0, 0}, {3084, 76, 4108, 0, 0, 0, 0}, {34, 85, 1285, 4623, 0, 0, 0}, {34, 68, 1542, 4620, 0, 0, 0}, {3855, 127, 4111, 0, 0, 0, 0}, {12336, 20560, 0, 0, 0, 0, 0}, {8, 17, 256, 0, 0, 0, 0}, {8, 34, 512, 4114, 0, 0, 0}, {51, 768, 20575, 0, 0, 0, 0}, {8, 68, 1024, 4116, 0, 0, 0}, {12351, 85, 1280, 0, 0, 0, 0}, {12348, 102, 1536, 0, 0, 0, 0}, {8, 119, 1792, 4119, 0, 0, 0}, {8, 4112, 0, 0, 0, 0, 0}, {51, 768, 85, 1280, 0, 0, 0}, {170, 2560, 12336, 20570, 0, 0, 0}, {8, 51, 768, 68, 1024, 4115, 0}, {204, 3072, 12348, 20560, 0, 0, 0}, {8, 34, 512, 85, 1280, 4117, 0}, {8, 34, 512, 68, 1024, 4118, 0}, {255, 3840, 12351, 20575, 0, 0, 0}, {12288, 20640, 0, 0, 0, 0, 0}, {8, 17, 259, 0, 0, 0, 0}, {8, 34, 512, 4096, 0, 0, 0}, {51, 771, 20560, 0, 0, 0, 0}, {8, 68, 1028, 4132, 0, 0, 0}, {12303, 85, 1295, 0, 0, 0, 0}, {12300, 102, 1548, 0, 0, 0, 0}, {8, 119, 1799, 4135, 0, 0, 0}, {8, 4128, 0, 0, 0, 0, 0}, {51, 771, 85, 1295, 0, 0, 0}, {170, 2560, 12288, 20480, 0, 0, 0}, {8, 51, 771, 68, 1028, 4112, 0}, {204, 3084, 12300, 20588, 0, 0, 0}, {8, 34, 512, 85, 1287, 4103, 0}, {8, 34, 512, 68, 1028, 4100, 0}, {255, 3855, 12303, 20560, 0, 0, 0}, {128, 4144, 0, 0, 0, 0, 0}, {768, 1290, 17, 0, 0, 0, 0}, {2570, 34, 4626, 0, 0, 0, 0}, {51, 768, 76, 4096, 0, 0, 0}, {3072, 68, 5180, 0, 0, 0, 0}, {42, 85, 1290, 4127, 0, 0, 0}, {42, 76, 1546, 4124, 0, 0, 0}, {3840, 119, 5951, 0, 0, 0, 0}, {136, 6192, 12336, 20600, 0, 0, 0}, {25, 51, 768, 85, 1299, 4115, 0}, {2570, 42, 4112, 0, 0, 0, 0}, {51, 768, 68, 5120, 0, 0, 0}, {3072, 76, 4156, 0, 0, 0, 0}, {34, 85, 1290, 4637, 0, 0, 0}, {34, 68, 1546, 4638, 0, 0, 0}, {3840, 127, 4159, 0, 0, 0, 0}, {12480, 20480, 0, 0, 0, 0, 0}, {8, 17, 261, 0, 0, 0, 0}, {8, 34, 514, 4162, 0, 0, 0}, {51, 783, 20495, 0, 0, 0, 0}, {8, 68, 1024, 4096, 0, 0, 0}, {12336, 85, 1285, 0, 0, 0, 0}, {12288, 102, 1546, 0, 0, 0, 0}, {8, 119, 1799, 4144, 0, 0, 0}, {8, 4160, 0, 0, 0, 0, 0}, {51, 783, 85, 1285, 0, 0, 0}, {170, 2570, 12394, 20490, 0, 0, 0}, {8, 51, 775, 68, 1024, 4103, 0}, {204, 3072, 12288, 20480, 0, 0, 0}, {8, 34, 514, 85, 1285, 4112, 0}, {8, 34, 514, 68, 1024, 4098, 0}, {255, 3855, 12336, 20495, 0, 0, 0}, {128, 4176, 0, 0, 0, 0, 0}, {780, 1280, 17, 0, 0, 0, 0}, {2560, 34, 4698, 0, 0, 0, 0}, {51, 780, 76, 4127, 0, 0, 0}, {3084, 68, 5140, 0, 0, 0, 0}, {42, 85, 1280, 4096, 0, 0, 0}, {42, 76, 1548, 4122, 0, 0, 0}, {3840, 119, 5928, 0, 0, 0, 0}, {136, 6224, 12408, 20560, 0, 0, 0}, {25, 51, 789, 85, 1280, 4117, 0}, {2560, 42, 4186, 0, 0, 0, 0}, {51, 780, 68, 5147, 0, 0, 0}, {3084, 76, 4112, 0, 0, 0, 0}, {34, 85, 1280, 4608, 0, 0, 0}, {34, 68, 1548, 4626, 0, 0, 0}, {3840, 127, 4128, 0, 0, 0, 0}, {128, 4192, 0, 0, 0, 0, 0}, {783, 1295, 17, 0, 0, 0, 0}, {2560, 34, 4680, 0, 0, 0, 0}, {51, 783, 76, 4124, 0, 0, 0}, {3072, 68, 5160, 0, 0, 0, 0}, {42, 85, 1295, 4122, 0, 0, 0}, {42, 76, 1536, 4096, 0, 0, 0}, {3855, 119, 5911, 0, 0, 0, 0}, {136, 6240, 12360, 20520, 0, 0, 0}, {25, 51, 790, 85, 1302, 4118, 0}, {2560, 42, 4160, 0, 0, 0, 0}, {51, 783, 68, 5140, 0, 0, 0}, {3072, 76, 4128, 0, 0, 0, 0}, {34, 85, 1295, 4626, 0, 0, 0}, {34, 68, 1536, 4608, 0, 0, 0}, {3855, 127, 4112, 0, 0, 0, 0}, {12528, 20720, 0, 0, 0, 0, 0}, {8, 17, 262, 0, 0, 0, 0}, {8, 34, 514, 4176, 0, 0, 0}, {51, 780, 20480, 0, 0, 0, 0}, {8, 68, 1028, 4144, 0, 0, 0}, {12288, 85, 1290, 0, 0, 0, 0}, {12336, 102, 1542, 0, 0, 0, 0}, {8, 119, 1792, 4096, 0, 0, 0}, {8, 4208, 0, 0, 0, 0, 0}, {51, 780, 85, 1290, 0, 0, 0}, {170, 2570, 12378, 20560, 0, 0, 0}, {8, 51, 772, 68, 1028, 4100, 0}, {204, 3084, 12336, 20540, 0, 0, 0}, {8, 34, 514, 85, 1282, 4098, 0}, {8, 34, 514, 68, 1028, 4112, 0}, {255, 3840, 12288, 20480, 0, 0, 0}, {2048, 4352, 0, 0, 0, 0, 0}, {48, 80, 257, 0, 0, 0, 0}, {160, 514, 4386, 0, 0, 0, 0}, {48, 771, 1036, 4355, 0, 0, 0}, {192, 1028, 4420, 0, 0, 0, 0}, {522, 80, 1285, 4357, 0, 0, 0}, {522, 96, 1036, 4358, 0, 0, 0}, {240, 1799, 4471, 0, 0, 0, 0}, {4488, 2056, 13056, 21760, 0, 0, 0}, {265, 48, 771, 80, 1285, 4096, 0}, {160, 522, 4362, 0, 0, 0, 0}, {48, 771, 1028, 4427, 0, 0, 0}, {192, 1036, 4364, 0, 0, 0, 0}, {514, 80, 1285, 4397, 0, 0, 0}, {514, 96, 1028, 4398, 0, 0, 0}, {240, 1807, 4367, 0, 0, 0, 0}, {48, 80, 272, 0, 0, 0, 0}, {2184, 4369, 0, 0, 0, 0, 0}, {48, 768, 1096, 4370, 0, 0, 0}, {160, 544, 4403, 0, 0, 0, 0}, {552, 80, 1280, 4372, 0, 0, 0}, {192, 1088, 4437, 0, 0, 0, 0}, {240, 1904, 4454, 0, 0, 0, 0}, {552, 96, 1064, 4375, 0, 0, 0}, {280, 48, 768, 80, 1280, 4096, 0}, {4505, 6425, 13107, 21845, 0, 0, 0}, {48, 768, 1088, 4442, 0, 0, 0}, {160, 552, 4379, 0, 0, 0, 0}, {544, 80, 1280, 4412, 0, 0, 0}, {192, 1096, 4381, 0, 0, 0, 0}, {240, 1912, 4382, 0, 0, 0, 0}, {544, 96, 1056, 4415, 0, 0, 0}, {160, 544, 4352, 0, 0, 0, 0}, {48, 771, 1092, 4369, 0, 0, 0}, {2184, 4386, 0, 0, 0, 0, 0}, {48, 80, 275, 0, 0, 0, 0}, {552, 96, 1060, 4388, 0, 0, 0}, {240, 1919, 4437, 0, 0, 0, 0}, {192, 1100, 4454, 0, 0, 0, 0}, {552, 80, 1295, 4391, 0, 0, 0}, {160, 552, 4392, 0, 0, 0, 0}, {48, 771, 1100, 4441, 0, 0, 0}, {4522, 6442, 13056, 17408, 0, 0, 0}, {283, 48, 771, 80, 1044, 4096, 0}, {544, 96, 1068, 4364, 0, 0, 0}, {240, 1911, 4397, 0, 0, 0, 0}, {192, 1092, 4398, 0, 0, 0, 0}, {544, 80, 1295, 4367, 0, 0, 0}, {48, 768, 1024, 4352, 0, 0, 0}, {160, 514, 4369, 0, 0, 0, 0}, {48, 80, 258, 0, 0, 0, 0}, {2048, 4403, 0, 0, 0, 0, 0}, {240, 1800, 4420, 0, 0, 0, 0}, {522, 96, 1024, 4405, 0, 0, 0}, {522, 80, 1290, 4406, 0, 0, 0}, {192, 1032, 4471, 0, 0, 0, 0}, {48, 768, 1032, 4424, 0, 0, 0}, {160, 522, 4409, 0, 0, 0, 0}, {266, 48, 768, 80, 1024, 4096, 0}, {4539, 2056, 13107, 17476, 0, 0, 0}, {240, 1792, 4412, 0, 0, 0, 0}, {514, 96, 1032, 4381, 0, 0, 0}, {514, 80, 1290, 4382, 0, 0, 0}, {192, 1024, 4415, 0, 0, 0, 0}, {192, 1088, 4352, 0, 0, 0, 0}, {546, 80, 1285, 4369, 0, 0, 0}, {546, 96, 1064, 4386, 0, 0, 0}, {240, 1919, 4403, 0, 0, 0, 0}, {2184, 4420, 0, 0, 0, 0, 0}, {48, 80, 277, 0, 0, 0, 0}, {160, 554, 4454, 0, 0, 0, 0}, {48, 783, 1096, 4423, 0, 0, 0}, {192, 1096, 4424, 0, 0, 0, 0}, {554, 80, 1285, 4409, 0, 0, 0}, {554, 96, 1056, 4362, 0, 0, 0}, {240, 1911, 4427, 0, 0, 0, 0}, {4556, 6476, 8704, 21760, 0, 0, 0}, {285, 48, 530, 80, 1285, 4096, 0}, {160, 546, 4430, 0, 0, 0, 0}, {48, 783, 1088, 4367, 0, 0, 0}, {512, 80, 1280, 4352, 0, 0, 0}, {192, 1028, 4369, 0, 0, 0, 0}, {240, 1800, 4386, 0, 0, 0, 0}, {512, 96, 1036, 4403, 0, 0, 0}, {48, 80, 260, 0, 0, 0, 0}, {2048, 4437, 0, 0, 0, 0, 0}, {48, 780, 1036, 4438, 0, 0, 0}, {160, 520, 4471, 0, 0, 0, 0}, {520, 80, 1280, 4392, 0, 0, 0}, {192, 1036, 4441, 0, 0, 0, 0}, {240, 1792, 4442, 0, 0, 0, 0}, {520, 96, 1028, 4379, 0, 0, 0}, {268, 48, 512, 80, 1280, 4096, 0}, {4573, 2056, 8738, 21845, 0, 0, 0}, {48, 780, 1028, 4382, 0, 0, 0}, {160, 512, 4447, 0, 0, 0, 0}, {512, 96, 1024, 4352, 0, 0, 0}, {240, 1799, 4369, 0, 0, 0, 0}, {192, 1032, 4386, 0, 0, 0, 0}, {512, 80, 1295, 4403, 0, 0, 0}, {160, 520, 4420, 0, 0, 0, 0}, {48, 783, 1024, 4437, 0, 0, 0}, {2048, 4454, 0, 0, 0, 0, 0}, {48, 80, 263, 0, 0, 0, 0}, {520, 96, 1032, 4392, 0, 0, 0}, {240, 1807, 4457, 0, 0, 0, 0}, {192, 1024, 4458, 0, 0, 0, 0}, {520, 80, 1295, 4379, 0, 0, 0}, {160, 512, 4460, 0, 0, 0, 0}, {48, 783, 1032, 4381, 0, 0, 0}, {4590, 2056, 8738, 17476, 0, 0, 0}, {271, 48, 512, 80, 1024, 4096, 0}, {240, 1904, 4352, 0, 0, 0, 0}, {546, 96, 1060, 4369, 0, 0, 0}, {546, 80, 1290, 4386, 0, 0, 0}, {192, 1100, 4403, 0, 0, 0, 0}, {48, 780, 1092, 4420, 0, 0, 0}, {160, 554, 4437, 0, 0, 0, 0}, {48, 80, 278, 0, 0, 0, 0}, {2184, 4471, 0, 0, 0, 0, 0}, {240, 1912, 4472, 0, 0, 0, 0}, {554, 96, 1068, 4409, 0, 0, 0}, {554, 80, 1290, 4362, 0, 0, 0}, {192, 1092, 4475, 0, 0, 0, 0}, {48, 780, 1100, 4364, 0, 0, 0}, {160, 546, 4477, 0, 0, 0, 0}, {286, 48, 530, 80, 1044, 4096, 0}, {4607, 6527, 8704, 17408, 0, 0, 0}, {2176, 4352, 0, 0, 0, 0, 0}, {48, 80, 273, 0, 0, 0, 0}, {160, 546, 4386, 0, 0, 0, 0}, {48, 771, 1100, 4355, 0, 0, 0}, {192, 1092, 4420, 0, 0, 0, 0}, {554, 80, 1285, 4357, 0, 0, 0}, {554, 96, 1068, 4358, 0, 0, 0}, {240, 1911, 4471, 0, 0, 0, 0}, {4488, 6400, 13056, 21760, 0, 0, 0}, {281, 48, 771, 80, 1285, 4112, 0}, {160, 554, 4362, 0, 0, 0, 0}, {48, 771, 1092, 4427, 0, 0, 0}, {192, 1100, 4364, 0, 0, 0, 0}, {546, 80, 1285, 4397, 0, 0, 0}, {546, 96, 1060, 4398, 0, 0, 0}, {240, 1919, 4367, 0, 0, 0, 0}, {48, 80, 256, 0, 0, 0, 0}, {2056, 4369, 0, 0, 0, 0, 0}, {48, 768, 1032, 4370, 0, 0, 0}, {160, 512, 4403, 0, 0, 0, 0}, {520, 80, 1280, 4372, 0, 0, 0}, {192, 1024, 4437, 0, 0, 0, 0}, {240, 1792, 4454, 0, 0, 0, 0}, {520, 96, 1032, 4375, 0, 0, 0}, {264, 48, 768, 80, 1280, 4112, 0}, {4505, 2048, 13107, 21845, 0, 0, 0}, {48, 768, 1024, 4442, 0, 0, 0}, {160, 520, 4379, 0, 0, 0, 0}, {512, 80, 1280, 4412, 0, 0, 0}, {192, 1032, 4381, 0, 0, 0, 0}, {240, 1800, 4382, 0, 0, 0, 0}, {512, 96, 1024, 4415, 0, 0, 0}, {160, 512, 4352, 0, 0, 0, 0}, {48, 771, 1028, 4369, 0, 0, 0}, {2056, 4386, 0, 0, 0, 0, 0}, {48, 80, 259, 0, 0, 0, 0}, {520, 96, 1028, 4388, 0, 0, 0}, {240, 1807, 4437, 0, 0, 0, 0}, {192, 1036, 4454, 0, 0, 0, 0}, {520, 80, 1295, 4391, 0, 0, 0}, {160, 520, 4392, 0, 0, 0, 0}, {48, 771, 1036, 4441, 0, 0, 0}, {4522, 2048, 13056, 17408, 0, 0, 0}, {267, 48, 771, 80, 1028, 4112, 0}, {512, 96, 1036, 4364, 0, 0, 0}, {240, 1799, 4397, 0, 0, 0, 0}, {192, 1028, 4398, 0, 0, 0, 0}, {512, 80, 1295, 4367, 0, 0, 0}, {48, 768, 1088, 4352, 0, 0, 0}, {160, 546, 4369, 0, 0, 0, 0}, {48, 80, 274, 0, 0, 0, 0}, {2176, 4403, 0, 0, 0, 0, 0}, {240, 1912, 4420, 0, 0, 0, 0}, {554, 96, 1056, 4405, 0, 0, 0}, {554, 80, 1290, 4406, 0, 0, 0}, {192, 1096, 4471, 0, 0, 0, 0}, {48, 768, 1096, 4424, 0, 0, 0}, {160, 554, 4409, 0, 0, 0, 0}, {282, 48, 768, 80, 1040, 4112, 0}, {4539, 6451, 13107, 17476, 0, 0, 0}, {240, 1904, 4412, 0, 0, 0, 0}, {546, 96, 1064, 4381, 0, 0, 0}, {546, 80, 1290, 4382, 0, 0, 0}, {192, 1088, 4415, 0, 0, 0, 0}, {192, 1024, 4352, 0, 0, 0, 0}, {514, 80, 1285, 4369, 0, 0, 0}, {514, 96, 1032, 4386, 0, 0, 0}, {240, 1807, 4403, 0, 0, 0, 0}, {2056, 4420, 0, 0, 0, 0, 0}, {48, 80, 261, 0, 0, 0, 0}, {160, 522, 4454, 0, 0, 0, 0}, {48, 783, 1032, 4423, 0, 0, 0}, {192, 1032, 4424, 0, 0, 0, 0}, {522, 80, 1285, 4409, 0, 0, 0}, {522, 96, 1024, 4362, 0, 0, 0}, {240, 1799, 4427, 0, 0, 0, 0}, {4556, 2048, 8704, 21760, 0, 0, 0}, {269, 48, 514, 80, 1285, 4112, 0}, {160, 514, 4430, 0, 0, 0, 0}, {48, 783, 1024, 4367, 0, 0, 0}, {544, 80, 1280, 4352, 0, 0, 0}, {192, 1092, 4369, 0, 0, 0, 0}, {240, 1912, 4386, 0, 0, 0, 0}, {544, 96, 1068, 4403, 0, 0, 0}, {48, 80, 276, 0, 0, 0, 0}, {2176, 4437, 0, 0, 0, 0, 0}, {48, 780, 1100, 4438, 0, 0, 0}, {160, 552, 4471, 0, 0, 0, 0}, {552, 80, 1280, 4392, 0, 0, 0}, {192, 1100, 4441, 0, 0, 0, 0}, {240, 1904, 4442, 0, 0, 0, 0}, {552, 96, 1060, 4379, 0, 0, 0}, {284, 48, 528, 80, 1280, 4112, 0}, {4573, 6485, 8738, 21845, 0, 0, 0}, {48, 780, 1092, 4382, 0, 0, 0}, {160, 544, 4447, 0, 0, 0, 0}, {544, 96, 1056, 4352, 0, 0, 0}, {240, 1911, 4369, 0, 0, 0, 0}, {192, 1096, 4386, 0, 0, 0, 0}, {544, 80, 1295, 4403, 0, 0, 0}, {160, 552, 4420, 0, 0, 0, 0}, {48, 783, 1088, 4437, 0, 0, 0}, {2176, 4454, 0, 0, 0, 0, 0}, {48, 80, 279, 0, 0, 0, 0}, {552, 96, 1064, 4392, 0, 0, 0}, {240, 1919, 4457, 0, 0, 0, 0}, {192, 1088, 4458, 0, 0, 0, 0}, {552, 80, 1295, 4379, 0, 0, 0}, {160, 544, 4460, 0, 0, 0, 0}, {48, 783, 1096, 4381, 0, 0, 0}, {4590, 6502, 8738, 17476, 0, 0, 0}, {287, 48, 528, 80, 1040, 4112, 0}, {240, 1792, 4352, 0, 0, 0, 0}, {514, 96, 1028, 4369, 0, 0, 0}, {514, 80, 1290, 4386, 0, 0, 0}, {192, 1036, 4403, 0, 0, 0, 0}, {48, 780, 1028, 4420, 0, 0, 0}, {160, 522, 4437, 0, 0, 0, 0}, {48, 80, 262, 0, 0, 0, 0}, {2056, 4471, 0, 0, 0, 0, 0}, {240, 1800, 4472, 0, 0, 0, 0}, {522, 96, 1036, 4409, 0, 0, 0}, {522, 80, 1290, 4362, 0, 0, 0}, {192, 1028, 4475, 0, 0, 0, 0}, {48, 780, 1036, 4364, 0, 0, 0}, {160, 514, 4477, 0, 0, 0, 0}, {270, 48, 514, 80, 1028, 4112, 0}, {4607, 2048, 8704, 17408, 0, 0, 0}, {2048, 4608, 0, 0, 0, 0, 0}, {51, 95, 257, 0, 0, 0, 0}, {160, 514, 4128, 0, 0, 0, 0}, {51, 771, 1036, 4352, 0, 0, 0}, {204, 1028, 4680, 0, 0, 0, 0}, {522, 95, 1285, 4111, 0, 0, 0}, {522, 108, 1036, 4108, 0, 0, 0}, {255, 1799, 4728, 0, 0, 0, 0}, {4744, 2056, 12288, 21000, 0, 0, 0}, {265, 51, 771, 342, 1285, 4099, 0}, {160, 522, 4096, 0, 0, 0, 0}, {51, 771, 1028, 4420, 0, 0, 0}, {204, 1036, 4620, 0, 0, 0, 0}, {514, 95, 1285, 4143, 0, 0, 0}, {514, 108, 1028, 4140, 0, 0, 0}, {255, 1807, 4623, 0, 0, 0, 0}, {160, 544, 4112, 0, 0, 0, 0}, {51, 768, 1092, 4369, 0, 0, 0}, {2184, 4626, 0, 0, 0, 0, 0}, {51, 95, 275, 0, 0, 0, 0}, {552, 108, 1064, 4156, 0, 0, 0}, {255, 1919, 4714, 0, 0, 0, 0}, {204, 1100, 4698, 0, 0, 0, 0}, {552, 95, 1280, 4159, 0, 0, 0}, {160, 552, 4144, 0, 0, 0, 0}, {51, 768, 1100, 4437, 0, 0, 0}, {4762, 6682, 12336, 16448, 0, 0, 0}, {283, 51, 768, 324, 1280, 4096, 0}, {544, 108, 1056, 4124, 0, 0, 0}, {255, 1911, 4637, 0, 0, 0, 0}, {204, 1092, 4638, 0, 0, 0, 0}, {544, 95, 1280, 4127, 0, 0, 0}, {160, 544, 4128, 0, 0, 0, 0}, {51, 771, 1096, 4369, 0, 0, 0}, {2184, 4642, 0, 0, 0, 0, 0}, {51, 95, 272, 0, 0, 0, 0}, {552, 108, 1060, 4108, 0, 0, 0}, {255, 1904, 4698, 0, 0, 0, 0}, {204, 1088, 4714, 0, 0, 0, 0}, {552, 95, 1295, 4111, 0, 0, 0}, {160, 552, 4096, 0, 0, 0, 0}, {51, 771, 1088, 4437, 0, 0, 0}, {4778, 6698, 12288, 21034, 0, 0, 0}, {280, 51, 771, 327, 1047, 4099, 0}, {544, 108, 1068, 4140, 0, 0, 0}, {255, 1912, 4653, 0, 0, 0, 0}, {204, 1096, 4654, 0, 0, 0, 0}, {544, 95, 1295, 4143, 0, 0, 0}, {2048, 4656, 0, 0, 0, 0, 0}, {51, 95, 258, 0, 0, 0, 0}, {160, 514, 4112, 0, 0, 0, 0}, {51, 768, 1024, 4352, 0, 0, 0}, {204, 1032, 4728, 0, 0, 0, 0}, {522, 95, 1290, 4159, 0, 0, 0}, {522, 108, 1024, 4156, 0, 0, 0}, {255, 1800, 4680, 0, 0, 0, 0}, {4792, 2056, 12336, 16448, 0, 0, 0}, {266, 51, 768, 341, 1024, 4096, 0}, {160, 522, 4144, 0, 0, 0, 0}, {51, 768, 1032, 4420, 0, 0, 0}, {204, 1024, 4668, 0, 0, 0, 0}, {514, 95, 1290, 4127, 0, 0, 0}, {514, 108, 1032, 4124, 0, 0, 0}, {255, 1792, 4671, 0, 0, 0, 0}, {4800, 6720, 8704, 16448, 0, 0, 0}, {286, 51, 529, 321, 1285, 4369, 0}, {160, 546, 4192, 0, 0, 0, 0}, {51, 783, 1100, 4352, 0, 0, 0}, {204, 1092, 4676, 0, 0, 0, 0}, {554, 95, 1285, 4112, 0, 0, 0}, {554, 108, 1056, 4128, 0, 0, 0}, {255, 1912, 4679, 0, 0, 0, 0}, {2184, 4680, 0, 0, 0, 0, 0}, {51, 95, 278, 0, 0, 0, 0}, {160, 554, 4160, 0, 0, 0, 0}, {51, 783, 1092, 4420, 0, 0, 0}, {204, 1100, 4608, 0, 0, 0, 0}, {546, 95, 1285, 4144, 0, 0, 0}, {546, 108, 1064, 4096, 0, 0, 0}, {255, 1904, 4656, 0, 0, 0, 0}, {160, 512, 4176, 0, 0, 0, 0}, {51, 780, 1028, 4369, 0, 0, 0}, {4818, 2056, 8738, 21074, 0, 0, 0}, {268, 51, 512, 339, 1280, 4352, 0}, {520, 108, 1028, 4112, 0, 0, 0}, {255, 1792, 4693, 0, 0, 0, 0}, {204, 1036, 4694, 0, 0, 0, 0}, {520, 95, 1280, 4128, 0, 0, 0}, {160, 520, 4208, 0, 0, 0, 0}, {51, 780, 1036, 4437, 0, 0, 0}, {2048, 4698, 0, 0, 0, 0, 0}, {51, 95, 260, 0, 0, 0, 0}, {512, 108, 1036, 4144, 0, 0, 0}, {255, 1800, 4642, 0, 0, 0, 0}, {204, 1028, 4626, 0, 0, 0, 0}, {512, 95, 1280, 4096, 0, 0, 0}, {160, 512, 4192, 0, 0, 0, 0}, {51, 783, 1032, 4369, 0, 0, 0}, {4834, 2056, 8738, 16448, 0, 0, 0}, {271, 51, 512, 336, 1024, 4352, 0}, {520, 108, 1032, 4128, 0, 0, 0}, {255, 1807, 4709, 0, 0, 0, 0}, {204, 1024, 4710, 0, 0, 0, 0}, {520, 95, 1295, 4112, 0, 0, 0}, {160, 520, 4160, 0, 0, 0, 0}, {51, 783, 1024, 4437, 0, 0, 0}, {2048, 4714, 0, 0, 0, 0, 0}, {51, 95, 263, 0, 0, 0, 0}, {512, 108, 1024, 4096, 0, 0, 0}, {255, 1799, 4626, 0, 0, 0, 0}, {204, 1032, 4642, 0, 0, 0, 0}, {512, 95, 1295, 4144, 0, 0, 0}, {4848, 6768, 8704, 21104, 0, 0, 0}, {285, 51, 529, 322, 1047, 4369, 0}, {160, 546, 4176, 0, 0, 0, 0}, {51, 780, 1088, 4352, 0, 0, 0}, {204, 1096, 4724, 0, 0, 0, 0}, {554, 95, 1290, 4128, 0, 0, 0}, {554, 108, 1068, 4112, 0, 0, 0}, {255, 1911, 4727, 0, 0, 0, 0}, {2184, 4728, 0, 0, 0, 0, 0}, {51, 95, 277, 0, 0, 0, 0}, {160, 554, 4208, 0, 0, 0, 0}, {51, 780, 1096, 4420, 0, 0, 0}, {204, 1088, 4656, 0, 0, 0, 0}, {546, 95, 1290, 4096, 0, 0, 0}, {546, 108, 1060, 4144, 0, 0, 0}, {255, 1919, 4608, 0, 0, 0, 0}, {2176, 4608, 0, 0, 0, 0, 0}, {51, 95, 274, 0, 0, 0, 0}, {160, 546, 4096, 0, 0, 0, 0}, {51, 771, 1088, 4352, 0, 0, 0}, {204, 1096, 4680, 0, 0, 0, 0}, {554, 95, 1285, 4143, 0, 0, 0}, {554, 108, 1068, 4140, 0, 0, 0}, {255, 1912, 4728, 0, 0, 0, 0}, {4744, 6656, 12288, 16384, 0, 0, 0}, {282, 51, 771, 325, 1285, 4112, 0}, {160, 554, 4128, 0, 0, 0, 0}, {51, 771, 1096, 4420, 0, 0, 0}, {204, 1088, 4620, 0, 0, 0, 0}, {546, 95, 1285, 4111, 0, 0, 0}, {546, 108, 1060, 4108, 0, 0, 0}, {255, 1904, 4623, 0, 0, 0, 0}, {160, 512, 4144, 0, 0, 0, 0}, {51, 768, 1032, 4369, 0, 0, 0}, {2056, 4626, 0, 0, 0, 0, 0}, {51, 95, 256, 0, 0, 0, 0}, {520, 108, 1032, 4124, 0, 0, 0}, {255, 1792, 4714, 0, 0, 0, 0}, {204, 1024, 4698, 0, 0, 0, 0}, {520, 95, 1280, 4127, 0, 0, 0}, {160, 520, 4112, 0, 0, 0, 0}, {51, 768, 1024, 4437, 0, 0, 0}, {4762, 2048, 12336, 21082, 0, 0, 0}, {264, 51, 768, 343, 1280, 4115, 0}, {512, 108, 1024, 4156, 0, 0, 0}, {255, 1800, 4637, 0, 0, 0, 0}, {204, 1032, 4638, 0, 0, 0, 0}, {512, 95, 1280, 4159, 0, 0, 0}, {160, 512, 4096, 0, 0, 0, 0}, {51, 771, 1028, 4369, 0, 0, 0}, {2056, 4642, 0, 0, 0, 0, 0}, {51, 95, 259, 0, 0, 0, 0}, {520, 108, 1028, 4140, 0, 0, 0}, {255, 1807, 4698, 0, 0, 0, 0}, {204, 1036, 4714, 0, 0, 0, 0}, {520, 95, 1295, 4143, 0, 0, 0}, {160, 520, 4128, 0, 0, 0, 0}, {51, 771, 1036, 4437, 0, 0, 0}, {4778, 2048, 12288, 16384, 0, 0, 0}, {267, 51, 771, 340, 1028, 4112, 0}, {512, 108, 1036, 4108, 0, 0, 0}, {255, 1799, 4653, 0, 0, 0, 0}, {204, 1028, 4654, 0, 0, 0, 0}, {512, 95, 1295, 4111, 0, 0, 0}, {2176, 4656, 0, 0, 0, 0, 0}, {51, 95, 273, 0, 0, 0, 0}, {160, 546, 4144, 0, 0, 0, 0}, {51, 768, 1100, 4352, 0, 0, 0}, {204, 1092, 4728, 0, 0, 0, 0}, {554, 95, 1290, 4127, 0, 0, 0}, {554, 108, 1056, 4124, 0, 0, 0}, {255, 1911, 4680, 0, 0, 0, 0}, {4792, 6704, 12336, 21112, 0, 0, 0}, {281, 51, 768, 326, 1043, 4115, 0}, {160, 554, 4112, 0, 0, 0, 0}, {51, 768, 1092, 4420, 0, 0, 0}, {204, 1100, 4668, 0, 0, 0, 0}, {546, 95, 1290, 4159, 0, 0, 0}, {546, 108, 1064, 4156, 0, 0, 0}, {255, 1919, 4671, 0, 0, 0, 0}, {4800, 2048, 8704, 20992, 0, 0, 0}, {269, 51, 514, 338, 1285, 4369, 0}, {160, 514, 4160, 0, 0, 0, 0}, {51, 783, 1024, 4352, 0, 0, 0}, {204, 1032, 4676, 0, 0, 0, 0}, {522, 95, 1285, 4144, 0, 0, 0}, {522, 108, 1024, 4096, 0, 0, 0}, {255, 1799, 4679, 0, 0, 0, 0}, {2056, 4680, 0, 0, 0, 0, 0}, {51, 95, 261, 0, 0, 0, 0}, {160, 522, 4192, 0, 0, 0, 0}, {51, 783, 1032, 4420, 0, 0, 0}, {204, 1024, 4608, 0, 0, 0, 0}, {514, 95, 1285, 4112, 0, 0, 0}, {514, 108, 1032, 4128, 0, 0, 0}, {255, 1807, 4656, 0, 0, 0, 0}, {160, 544, 4208, 0, 0, 0, 0}, {51, 780, 1096, 4369, 0, 0, 0}, {4818, 6746, 8738, 16384, 0, 0, 0}, {287, 51, 531, 320, 1280, 4352, 0}, {552, 108, 1060, 4144, 0, 0, 0}, {255, 1919, 4693, 0, 0, 0, 0}, {204, 1088, 4694, 0, 0, 0, 0}, {552, 95, 1280, 4096, 0, 0, 0}, {160, 552, 4176, 0, 0, 0, 0}, {51, 780, 1088, 4437, 0, 0, 0}, {2176, 4698, 0, 0, 0, 0, 0}, {51, 95, 279, 0, 0, 0, 0}, {544, 108, 1068, 4112, 0, 0, 0}, {255, 1911, 4642, 0, 0, 0, 0}, {204, 1096, 4626, 0, 0, 0, 0}, {544, 95, 1280, 4128, 0, 0, 0}, {160, 544, 4160, 0, 0, 0, 0}, {51, 783, 1092, 4369, 0, 0, 0}, {4834, 6762, 8738, 21026, 0, 0, 0}, {284, 51, 531, 323, 1043, 4352, 0}, {552, 108, 1064, 4096, 0, 0, 0}, {255, 1904, 4709, 0, 0, 0, 0}, {204, 1100, 4710, 0, 0, 0, 0}, {552, 95, 1295, 4144, 0, 0, 0}, {160, 552, 4192, 0, 0, 0, 0}, {51, 783, 1100, 4437, 0, 0, 0}, {2176, 4714, 0, 0, 0, 0, 0}, {51, 95, 276, 0, 0, 0, 0}, {544, 108, 1056, 4128, 0, 0, 0}, {255, 1912, 4626, 0, 0, 0, 0}, {204, 1092, 4642, 0, 0, 0, 0}, {544, 95, 1295, 4112, 0, 0, 0}, {4848, 2048, 8704, 16384, 0, 0, 0}, {270, 51, 514, 337, 1028, 4369, 0}, {160, 514, 4208, 0, 0, 0, 0}, {51, 780, 1036, 4352, 0, 0, 0}, {204, 1028, 4724, 0, 0, 0, 0}, {522, 95, 1290, 4096, 0, 0, 0}, {522, 108, 1036, 4144, 0, 0, 0}, {255, 1800, 4727, 0, 0, 0, 0}, {2056, 4728, 0, 0, 0, 0, 0}, {51, 95, 262, 0, 0, 0, 0}, {160, 522, 4176, 0, 0, 0, 0}, {51, 780, 1028, 4420, 0, 0, 0}, {204, 1036, 4656, 0, 0, 0, 0}, {514, 95, 1290, 4128, 0, 0, 0}, {514, 108, 1028, 4112, 0, 0, 0}, {255, 1792, 4608, 0, 0, 0, 0}, {13056, 24320, 0, 0, 0, 0, 0}, {8, 18, 257, 0, 0, 0, 0}, {8, 34, 514, 4352, 0, 0, 0}, {48, 771, 20480, 0, 0, 0, 0}, {8, 64, 1028, 4868, 0, 0, 0}, {13071, 90, 1285, 0, 0, 0, 0}, {13068, 106, 1542, 0, 0, 0, 0}, {8, 112, 1799, 4871, 0, 0, 0}, {8, 4864, 0, 0, 0, 0, 0}, {48, 771, 90, 1285, 0, 0, 0}, {170, 2570, 13056, 21760, 0, 0, 0}, {8, 48, 771, 64, 1028, 4096, 0}, {192, 3084, 13068, 21260, 0, 0, 0}, {8, 34, 514, 82, 1285, 4359, 0}, {8, 34, 514, 64, 1028, 4356, 0}, {240, 3855, 13071, 20480, 0, 0, 0}, {48, 768, 64, 4112, 0, 0, 0}, {2560, 34, 4369, 0, 0, 0, 0}, {768, 1280, 18, 0, 0, 0, 0}, {128, 4883, 0, 0, 0, 0, 0}, {3840, 120, 5140, 0, 0, 0, 0}, {42, 64, 1536, 4885, 0, 0, 0}, {42, 90, 1280, 4886, 0, 0, 0}, {3072, 72, 5911, 0, 0, 0, 0}, {48, 768, 72, 5144, 0, 0, 0}, {2560, 42, 4889, 0, 0, 0, 0}, {26, 48, 768, 64, 1280, 4096, 0}, {136, 6939, 13107, 17476, 0, 0, 0}, {3840, 112, 4892, 0, 0, 0, 0}, {34, 72, 1536, 4381, 0, 0, 0}, {34, 90, 1280, 4382, 0, 0, 0}, {3072, 64, 4895, 0, 0, 0, 0}, {128, 4896, 0, 0, 0, 0, 0}, {771, 1295, 18, 0, 0, 0, 0}, {2560, 34, 4352, 0, 0, 0, 0}, {48, 771, 64, 4112, 0, 0, 0}, {3084, 72, 5928, 0, 0, 0, 0}, {42, 90, 1295, 4879, 0, 0, 0}, {42, 64, 1548, 4876, 0, 0, 0}, {3855, 120, 5160, 0, 0, 0, 0}, {136, 6952, 13056, 17408, 0, 0, 0}, {26, 48, 771, 64, 1301, 4096, 0}, {2560, 42, 4864, 0, 0, 0, 0}, {48, 771, 72, 5140, 0, 0, 0}, {3084, 64, 4908, 0, 0, 0, 0}, {34, 90, 1295, 4367, 0, 0, 0}, {34, 72, 1548, 4364, 0, 0, 0}, {3855, 112, 4911, 0, 0, 0, 0}, {48, 768, 20480, 0, 0, 0, 0}, {8, 34, 514, 4369, 0, 0, 0}, {8, 18, 258, 0, 0, 0, 0}, {13107, 24575, 0, 0, 0, 0, 0}, {8, 112, 1792, 4916, 0, 0, 0}, {13119, 106, 1546, 0, 0, 0, 0}, {13116, 90, 1290, 0, 0, 0, 0}, {8, 64, 1024, 4919, 0, 0, 0}, {8, 48, 768, 64, 1024, 4096, 0}, {170, 2570, 13107, 21845, 0, 0, 0}, {48, 768, 90, 1290, 0, 0, 0}, {8, 4915, 0, 0, 0, 0, 0}, {240, 3840, 13116, 20480, 0, 0, 0}, {8, 34, 514, 64, 1024, 4373, 0}, {8, 34, 514, 82, 1282, 4374, 0}, {192, 3072, 13119, 21311, 0, 0, 0}, {3072, 64, 4864, 0, 0, 0, 0}, {34, 90, 1285, 4369, 0, 0, 0}, {34, 72, 1546, 4352, 0, 0, 0}, {3855, 112, 4915, 0, 0, 0, 0}, {136, 6980, 13124, 17476, 0, 0, 0}, {26, 48, 789, 64, 1285, 4112, 0}, {2570, 42, 4934, 0, 0, 0, 0}, {48, 783, 72, 5120, 0, 0, 0}, {3072, 72, 5888, 0, 0, 0, 0}, {42, 90, 1285, 4883, 0, 0, 0}, {42, 64, 1546, 4874, 0, 0, 0}, {3855, 120, 5180, 0, 0, 0, 0}, {128, 4940, 0, 0, 0, 0, 0}, {783, 1285, 18, 0, 0, 0, 0}, {2570, 34, 4420, 0, 0, 0, 0}, {48, 783, 64, 4096, 0, 0, 0}, {240, 3840, 13056, 20560, 0, 0, 0}, {8, 34, 512, 64, 1028, 4369, 0}, {8, 34, 512, 82, 1280, 4352, 0}, {192, 3084, 13107, 21331, 0, 0, 0}, {8, 48, 772, 64, 1028, 4112, 0}, {170, 2560, 13141, 21845, 0, 0, 0}, {48, 780, 90, 1280, 0, 0, 0}, {8, 4951, 0, 0, 0, 0, 0}, {8, 112, 1792, 4896, 0, 0, 0}, {13107, 106, 1548, 0, 0, 0, 0}, {13056, 90, 1280, 0, 0, 0, 0}, {8, 64, 1028, 4883, 0, 0, 0}, {48, 780, 20560, 0, 0, 0, 0}, {8, 34, 512, 4437, 0, 0, 0}, {8, 18, 260, 0, 0, 0, 0}, {13311, 24415, 0, 0, 0, 0, 0}, {192, 3072, 13056, 21344, 0, 0, 0}, {8, 34, 512, 82, 1287, 4369, 0}, {8, 34, 512, 64, 1024, 4352, 0}, {240, 3855, 13107, 20560, 0, 0, 0}, {8, 4964, 0, 0, 0, 0, 0}, {48, 783, 90, 1295, 0, 0, 0}, {170, 2560, 13158, 21760, 0, 0, 0}, {8, 48, 775, 64, 1024, 4112, 0}, {8, 64, 1024, 4896, 0, 0, 0}, {13107, 90, 1295, 0, 0, 0, 0}, {13056, 106, 1536, 0, 0, 0, 0}, {8, 112, 1799, 4883, 0, 0, 0}, {13260, 24480, 0, 0, 0, 0, 0}, {8, 18, 263, 0, 0, 0, 0}, {8, 34, 512, 4420, 0, 0, 0}, {48, 783, 20560, 0, 0, 0, 0}, {3840, 112, 4864, 0, 0, 0, 0}, {34, 72, 1542, 4369, 0, 0, 0}, {34, 90, 1290, 4352, 0, 0, 0}, {3084, 64, 4915, 0, 0, 0, 0}, {48, 780, 72, 5132, 0, 0, 0}, {2570, 42, 4959, 0, 0, 0, 0}, {26, 48, 790, 64, 1296, 4112, 0}, {136, 7031, 13175, 17408, 0, 0, 0}, {3840, 120, 5120, 0, 0, 0, 0}, {42, 64, 1542, 4883, 0, 0, 0}, {42, 90, 1290, 4874, 0, 0, 0}, {3084, 72, 5951, 0, 0, 0, 0}, {48, 780, 64, 4096, 0, 0, 0}, {2570, 34, 4437, 0, 0, 0, 0}, {780, 1290, 18, 0, 0, 0, 0}, {128, 4991, 0, 0, 0, 0, 0}, {128, 4864, 0, 0, 0, 0, 0}, {771, 1285, 18, 0, 0, 0, 0}, {2570, 34, 4352, 0, 0, 0, 0}, {48, 771, 64, 4096, 0, 0, 0}, {3084, 72, 5888, 0, 0, 0, 0}, {42, 90, 1285, 4869, 0, 0, 0}, {42, 64, 1542, 4870, 0, 0, 0}, {3855, 120, 5120, 0, 0, 0, 0}, {136, 6912, 13056, 17408, 0, 0, 0}, {26, 48, 771, 64, 1285, 4112, 0}, {2570, 42, 4874, 0, 0, 0, 0}, {48, 771, 72, 5132, 0, 0, 0}, {3084, 64, 4876, 0, 0, 0, 0}, {34, 90, 1285, 4367, 0, 0, 0}, {34, 72, 1542, 4364, 0, 0, 0}, {3855, 112, 4879, 0, 0, 0, 0}, {48, 768, 20560, 0, 0, 0, 0}, {8, 34, 512, 4369, 0, 0, 0}, {8, 18, 256, 0, 0, 0, 0}, {13107, 24415, 0, 0, 0, 0, 0}, {8, 112, 1792, 4884, 0, 0, 0}, {13119, 106, 1536, 0, 0, 0, 0}, {13116, 90, 1280, 0, 0, 0, 0}, {8, 64, 1024, 4887, 0, 0, 0}, {8, 48, 768, 64, 1024, 4112, 0}, {170, 2560, 13107, 21845, 0, 0, 0}, {48, 768, 90, 1280, 0, 0, 0}, {8, 4883, 0, 0, 0, 0, 0}, {240, 3840, 13116, 20560, 0, 0, 0}, {8, 34, 512, 64, 1024, 4373, 0}, {8, 34, 512, 82, 1280, 4374, 0}, {192, 3072, 13119, 21343, 0, 0, 0}, {13056, 24480, 0, 0, 0, 0, 0}, {8, 18, 259, 0, 0, 0, 0}, {8, 34, 512, 4352, 0, 0, 0}, {48, 771, 20560, 0, 0, 0, 0}, {8, 64, 1028, 4900, 0, 0, 0}, {13071, 90, 1295, 0, 0, 0, 0}, {13068, 106, 1548, 0, 0, 0, 0}, {8, 112, 1799, 4903, 0, 0, 0}, {8, 4896, 0, 0, 0, 0, 0}, {48, 771, 90, 1295, 0, 0, 0}, {170, 2560, 13056, 21760, 0, 0, 0}, {8, 48, 771, 64, 1028, 4112, 0}, {192, 3084, 13068, 21356, 0, 0, 0}, {8, 34, 512, 82, 1287, 4359, 0}, {8, 34, 512, 64, 1028, 4356, 0}, {240, 3855, 13071, 20560, 0, 0, 0}, {48, 768, 64, 4096, 0, 0, 0}, {2570, 34, 4369, 0, 0, 0, 0}, {768, 1290, 18, 0, 0, 0, 0}, {128, 4915, 0, 0, 0, 0, 0}, {3840, 120, 5180, 0, 0, 0, 0}, {42, 64, 1546, 4895, 0, 0, 0}, {42, 90, 1290, 4892, 0, 0, 0}, {3072, 72, 5951, 0, 0, 0, 0}, {48, 768, 72, 5120, 0, 0, 0}, {2570, 42, 4883, 0, 0, 0, 0}, {26, 48, 768, 64, 1296, 4112, 0}, {136, 6963, 13107, 17476, 0, 0, 0}, {3840, 112, 4924, 0, 0, 0, 0}, {34, 72, 1546, 4381, 0, 0, 0}, {34, 90, 1290, 4382, 0, 0, 0}, {3072, 64, 4927, 0, 0, 0, 0}, {192, 3072, 13056, 21248, 0, 0, 0}, {8, 34, 514, 82, 1285, 4369, 0}, {8, 34, 514, 64, 1024, 4352, 0}, {240, 3855, 13107, 20480, 0, 0, 0}, {8, 4932, 0, 0, 0, 0, 0}, {48, 783, 90, 1285, 0, 0, 0}, {170, 2570, 13158, 21760, 0, 0, 0}, {8, 48, 775, 64, 1024, 4096, 0}, {8, 64, 1024, 4864, 0, 0, 0}, {13107, 90, 1285, 0, 0, 0, 0}, {13056, 106, 1546, 0, 0, 0, 0}, {8, 112, 1799, 4915, 0, 0, 0}, {13260, 24320, 0, 0, 0, 0, 0}, {8, 18, 261, 0, 0, 0, 0}, {8, 34, 514, 4420, 0, 0, 0}, {48, 783, 20480, 0, 0, 0, 0}, {3840, 112, 4896, 0, 0, 0, 0}, {34, 72, 1548, 4369, 0, 0, 0}, {34, 90, 1280, 4352, 0, 0, 0}, {3084, 64, 4883, 0, 0, 0, 0}, {48, 780, 72, 5140, 0, 0, 0}, {2560, 42, 4949, 0, 0, 0, 0}, {26, 48, 790, 64, 1280, 4096, 0}, {136, 7007, 13175, 17408, 0, 0, 0}, {3840, 120, 5160, 0, 0, 0, 0}, {42, 64, 1548, 4889, 0, 0, 0}, {42, 90, 1280, 4864, 0, 0, 0}, {3084, 72, 5911, 0, 0, 0, 0}, {48, 780, 64, 4112, 0, 0, 0}, {2560, 34, 4437, 0, 0, 0, 0}, {780, 1280, 18, 0, 0, 0, 0}, {128, 4959, 0, 0, 0, 0, 0}, {3072, 64, 4896, 0, 0, 0, 0}, {34, 90, 1295, 4369, 0, 0, 0}, {34, 72, 1536, 4352, 0, 0, 0}, {3855, 112, 4883, 0, 0, 0, 0}, {136, 7020, 13124, 17476, 0, 0, 0}, {26, 48, 789, 64, 1301, 4096, 0}, {2560, 42, 4940, 0, 0, 0, 0}, {48, 783, 72, 5144, 0, 0, 0}, {3072, 72, 5928, 0, 0, 0, 0}, {42, 90, 1295, 4889, 0, 0, 0}, {42, 64, 1536, 4864, 0, 0, 0}, {3855, 120, 5140, 0, 0, 0, 0}, {128, 4972, 0, 0, 0, 0, 0}, {783, 1295, 18, 0, 0, 0, 0}, {2560, 34, 4420, 0, 0, 0, 0}, {48, 783, 64, 4112, 0, 0, 0}, {240, 3840, 13056, 20480, 0, 0, 0}, {8, 34, 514, 64, 1028, 4369, 0}, {8, 34, 514, 82, 1282, 4352, 0}, {192, 3084, 13107, 21299, 0, 0, 0}, {8, 48, 772, 64, 1028, 4096, 0}, {170, 2570, 13141, 21845, 0, 0, 0}, {48, 780, 90, 1290, 0, 0, 0}, {8, 4983, 0, 0, 0, 0, 0}, {8, 112, 1792, 4864, 0, 0, 0}, {13107, 106, 1542, 0, 0, 0, 0}, {13056, 90, 1290, 0, 0, 0, 0}, {8, 64, 1028, 4915, 0, 0, 0}, {48, 780, 20480, 0, 0, 0, 0}, {8, 34, 514, 4437, 0, 0, 0}, {8, 18, 262, 0, 0, 0, 0}, {13311, 24575, 0, 0, 0, 0, 0}, {2048, 5120, 0, 0, 0, 0, 0}, {63, 85, 257, 0, 0, 0, 0}, {170, 514, 5160, 0, 0, 0, 0}, {63, 771, 1036, 4111, 0, 0, 0}, {192, 1028, 4160, 0, 0, 0, 0}, {522, 85, 1285, 4352, 0, 0, 0}, {522, 106, 1036, 4106, 0, 0, 0}, {255, 1799, 4991, 0, 0, 0, 0}, {5256, 2056, 13320, 20480, 0, 0, 0}, {265, 310, 771, 85, 1285, 4101, 0}, {170, 522, 5130, 0, 0, 0, 0}, {63, 771, 1028, 4175, 0, 0, 0}, {192, 1036, 4096, 0, 0, 0, 0}, {514, 85, 1285, 4386, 0, 0, 0}, {514, 106, 1028, 4128, 0, 0, 0}, {255, 1807, 4864, 0, 0, 0, 0}, {192, 1088, 4112, 0, 0, 0, 0}, {546, 85, 1280, 4369, 0, 0, 0}, {546, 106, 1058, 4144, 0, 0, 0}, {255, 1919, 4883, 0, 0, 0, 0}, {2184, 5140, 0, 0, 0, 0, 0}, {63, 85, 277, 0, 0, 0, 0}, {170, 554, 5180, 0, 0, 0, 0}, {63, 768, 1096, 4191, 0, 0, 0}, {192, 1096, 4176, 0, 0, 0, 0}, {554, 85, 1280, 4403, 0, 0, 0}, {554, 106, 1066, 4122, 0, 0, 0}, {255, 1911, 4972, 0, 0, 0, 0}, {5276, 7196, 8224, 20560, 0, 0, 0}, {285, 290, 768, 85, 1280, 4096, 0}, {170, 546, 5150, 0, 0, 0, 0}, {63, 768, 1088, 4127, 0, 0, 0}, {5280, 7200, 8224, 17408, 0, 0, 0}, {286, 289, 771, 85, 1041, 4369, 0}, {170, 546, 5154, 0, 0, 0, 0}, {63, 771, 1100, 4112, 0, 0, 0}, {192, 1092, 4192, 0, 0, 0, 0}, {554, 85, 1295, 4352, 0, 0, 0}, {554, 106, 1062, 4138, 0, 0, 0}, {255, 1912, 4959, 0, 0, 0, 0}, {2184, 5160, 0, 0, 0, 0, 0}, {63, 85, 278, 0, 0, 0, 0}, {170, 554, 5120, 0, 0, 0, 0}, {63, 771, 1092, 4176, 0, 0, 0}, {192, 1100, 4128, 0, 0, 0, 0}, {546, 85, 1295, 4386, 0, 0, 0}, {546, 106, 1070, 4096, 0, 0, 0}, {255, 1904, 4896, 0, 0, 0, 0}, {192, 1024, 4144, 0, 0, 0, 0}, {514, 85, 1290, 4369, 0, 0, 0}, {514, 106, 1032, 4112, 0, 0, 0}, {255, 1792, 4915, 0, 0, 0, 0}, {5300, 2056, 13364, 17476, 0, 0, 0}, {266, 309, 768, 85, 1024, 4352, 0}, {170, 522, 5174, 0, 0, 0, 0}, {63, 768, 1032, 4160, 0, 0, 0}, {192, 1032, 4208, 0, 0, 0, 0}, {522, 85, 1290, 4403, 0, 0, 0}, {522, 106, 1024, 4154, 0, 0, 0}, {255, 1800, 4940, 0, 0, 0, 0}, {2048, 5180, 0, 0, 0, 0, 0}, {63, 85, 258, 0, 0, 0, 0}, {170, 514, 5140, 0, 0, 0, 0}, {63, 768, 1024, 4096, 0, 0, 0}, {192, 1088, 4160, 0, 0, 0, 0}, {552, 85, 1285, 4369, 0, 0, 0}, {552, 106, 1058, 4106, 0, 0, 0}, {255, 1904, 4940, 0, 0, 0, 0}, {2184, 5188, 0, 0, 0, 0, 0}, {63, 85, 272, 0, 0, 0, 0}, {170, 544, 5228, 0, 0, 0, 0}, {63, 783, 1096, 4111, 0, 0, 0}, {192, 1096, 4096, 0, 0, 0, 0}, {544, 85, 1285, 4403, 0, 0, 0}, {544, 106, 1066, 4128, 0, 0, 0}, {255, 1912, 4915, 0, 0, 0, 0}, {5324, 7244, 13388, 20480, 0, 0, 0}, {280, 295, 535, 85, 1285, 4101, 0}, {170, 552, 5198, 0, 0, 0, 0}, {63, 783, 1088, 4175, 0, 0, 0}, {2048, 5200, 0, 0, 0, 0, 0}, {63, 85, 260, 0, 0, 0, 0}, {170, 520, 5240, 0, 0, 0, 0}, {63, 780, 1036, 4191, 0, 0, 0}, {192, 1028, 4112, 0, 0, 0, 0}, {512, 85, 1280, 4352, 0, 0, 0}, {512, 106, 1036, 4144, 0, 0, 0}, {255, 1800, 4896, 0, 0, 0, 0}, {5336, 2056, 8224, 20560, 0, 0, 0}, {268, 307, 512, 85, 1280, 4096, 0}, {170, 512, 5210, 0, 0, 0, 0}, {63, 780, 1028, 4127, 0, 0, 0}, {192, 1036, 4176, 0, 0, 0, 0}, {520, 85, 1280, 4386, 0, 0, 0}, {520, 106, 1028, 4122, 0, 0, 0}, {255, 1792, 4959, 0, 0, 0, 0}, {192, 1024, 4192, 0, 0, 0, 0}, {520, 85, 1295, 4369, 0, 0, 0}, {520, 106, 1032, 4138, 0, 0, 0}, {255, 1807, 4972, 0, 0, 0, 0}, {5348, 2056, 8224, 17476, 0, 0, 0}, {271, 304, 512, 85, 1024, 4352, 0}, {170, 512, 5222, 0, 0, 0, 0}, {63, 783, 1032, 4112, 0, 0, 0}, {192, 1032, 4128, 0, 0, 0, 0}, {512, 85, 1295, 4403, 0, 0, 0}, {512, 106, 1024, 4096, 0, 0, 0}, {255, 1799, 4883, 0, 0, 0, 0}, {2048, 5228, 0, 0, 0, 0, 0}, {63, 85, 263, 0, 0, 0, 0}, {170, 520, 5188, 0, 0, 0, 0}, {63, 783, 1024, 4176, 0, 0, 0}, {5360, 7280, 13424, 17408, 0, 0, 0}, {283, 292, 535, 85, 1041, 4369, 0}, {170, 552, 5234, 0, 0, 0, 0}, {63, 780, 1100, 4160, 0, 0, 0}, {192, 1092, 4144, 0, 0, 0, 0}, {544, 85, 1290, 4352, 0, 0, 0}, {544, 106, 1062, 4112, 0, 0, 0}, {255, 1911, 4864, 0, 0, 0, 0}, {2184, 5240, 0, 0, 0, 0, 0}, {63, 85, 275, 0, 0, 0, 0}, {170, 544, 5200, 0, 0, 0, 0}, {63, 780, 1092, 4096, 0, 0, 0}, {192, 1100, 4208, 0, 0, 0, 0}, {552, 85, 1290, 4386, 0, 0, 0}, {552, 106, 1070, 4154, 0, 0, 0}, {255, 1919, 4991, 0, 0, 0, 0}, {2176, 5120, 0, 0, 0, 0, 0}, {63, 85, 276, 0, 0, 0, 0}, {170, 552, 5160, 0, 0, 0, 0}, {63, 771, 1100, 4175, 0, 0, 0}, {192, 1092, 4096, 0, 0, 0, 0}, {544, 85, 1285, 4352, 0, 0, 0}, {544, 106, 1062, 4128, 0, 0, 0}, {255, 1912, 4864, 0, 0, 0, 0}, {5256, 7168, 8192, 20480, 0, 0, 0}, {284, 291, 771, 85, 1285, 4112, 0}, {170, 544, 5130, 0, 0, 0, 0}, {63, 771, 1092, 4111, 0, 0, 0}, {192, 1100, 4160, 0, 0, 0, 0}, {552, 85, 1285, 4386, 0, 0, 0}, {552, 106, 1070, 4106, 0, 0, 0}, {255, 1904, 4991, 0, 0, 0, 0}, {192, 1024, 4176, 0, 0, 0, 0}, {520, 85, 1280, 4369, 0, 0, 0}, {520, 106, 1032, 4122, 0, 0, 0}, {255, 1792, 4972, 0, 0, 0, 0}, {2056, 5140, 0, 0, 0, 0, 0}, {63, 85, 256, 0, 0, 0, 0}, {170, 512, 5180, 0, 0, 0, 0}, {63, 768, 1032, 4127, 0, 0, 0}, {192, 1032, 4112, 0, 0, 0, 0}, {512, 85, 1280, 4403, 0, 0, 0}, {512, 106, 1024, 4144, 0, 0, 0}, {255, 1800, 4883, 0, 0, 0, 0}, {5276, 2048, 13372, 20560, 0, 0, 0}, {264, 311, 768, 85, 1280, 4117, 0}, {170, 520, 5150, 0, 0, 0, 0}, {63, 768, 1024, 4191, 0, 0, 0}, {5280, 2048, 13312, 17408, 0, 0, 0}, {267, 308, 771, 85, 1028, 4369, 0}, {170, 520, 5154, 0, 0, 0, 0}, {63, 771, 1036, 4176, 0, 0, 0}, {192, 1028, 4128, 0, 0, 0, 0}, {512, 85, 1295, 4352, 0, 0, 0}, {512, 106, 1036, 4096, 0, 0, 0}, {255, 1799, 4896, 0, 0, 0, 0}, {2056, 5160, 0, 0, 0, 0, 0}, {63, 85, 259, 0, 0, 0, 0}, {170, 512, 5120, 0, 0, 0, 0}, {63, 771, 1028, 4112, 0, 0, 0}, {192, 1036, 4192, 0, 0, 0, 0}, {520, 85, 1295, 4386, 0, 0, 0}, {520, 106, 1028, 4138, 0, 0, 0}, {255, 1807, 4959, 0, 0, 0, 0}, {192, 1088, 4208, 0, 0, 0, 0}, {552, 85, 1290, 4369, 0, 0, 0}, {552, 106, 1058, 4154, 0, 0, 0}, {255, 1919, 4940, 0, 0, 0, 0}, {5300, 7228, 8192, 17476, 0, 0, 0}, {287, 288, 768, 85, 1045, 4352, 0}, {170, 544, 5174, 0, 0, 0, 0}, {63, 768, 1096, 4096, 0, 0, 0}, {192, 1096, 4144, 0, 0, 0, 0}, {544, 85, 1290, 4403, 0, 0, 0}, {544, 106, 1066, 4112, 0, 0, 0}, {255, 1911, 4915, 0, 0, 0, 0}, {2176, 5180, 0, 0, 0, 0, 0}, {63, 85, 279, 0, 0, 0, 0}, {170, 552, 5140, 0, 0, 0, 0}, {63, 768, 1088, 4160, 0, 0, 0}, {192, 1024, 4096, 0, 0, 0, 0}, {514, 85, 1285, 4369, 0, 0, 0}, {514, 106, 1032, 4128, 0, 0, 0}, {255, 1807, 4915, 0, 0, 0, 0}, {2056, 5188, 0, 0, 0, 0, 0}, {63, 85, 261, 0, 0, 0, 0}, {170, 522, 5228, 0, 0, 0, 0}, {63, 783, 1032, 4175, 0, 0, 0}, {192, 1032, 4160, 0, 0, 0, 0}, {522, 85, 1285, 4403, 0, 0, 0}, {522, 106, 1024, 4106, 0, 0, 0}, {255, 1799, 4940, 0, 0, 0, 0}, {5324, 2048, 8192, 20480, 0, 0, 0}, {269, 306, 514, 85, 1285, 4112, 0}, {170, 514, 5198, 0, 0, 0, 0}, {63, 783, 1024, 4111, 0, 0, 0}, {2176, 5200, 0, 0, 0, 0, 0}, {63, 85, 273, 0, 0, 0, 0}, {170, 546, 5240, 0, 0, 0, 0}, {63, 780, 1100, 4127, 0, 0, 0}, {192, 1092, 4176, 0, 0, 0, 0}, {554, 85, 1280, 4352, 0, 0, 0}, {554, 106, 1062, 4122, 0, 0, 0}, {255, 1911, 4959, 0, 0, 0, 0}, {5336, 7248, 13432, 20560, 0, 0, 0}, {281, 294, 533, 85, 1280, 4117, 0}, {170, 554, 5210, 0, 0, 0, 0}, {63, 780, 1092, 4191, 0, 0, 0}, {192, 1100, 4112, 0, 0, 0, 0}, {546, 85, 1280, 4386, 0, 0, 0}, {546, 106, 1070, 4144, 0, 0, 0}, {255, 1919, 4896, 0, 0, 0, 0}, {192, 1088, 4128, 0, 0, 0, 0}, {546, 85, 1295, 4369, 0, 0, 0}, {546, 106, 1058, 4096, 0, 0, 0}, {255, 1904, 4883, 0, 0, 0, 0}, {5348, 7276, 13380, 17476, 0, 0, 0}, {282, 293, 533, 85, 1045, 4352, 0}, {170, 554, 5222, 0, 0, 0, 0}, {63, 783, 1096, 4176, 0, 0, 0}, {192, 1096, 4192, 0, 0, 0, 0}, {554, 85, 1295, 4403, 0, 0, 0}, {554, 106, 1066, 4138, 0, 0, 0}, {255, 1912, 4972, 0, 0, 0, 0}, {2176, 5228, 0, 0, 0, 0, 0}, {63, 85, 274, 0, 0, 0, 0}, {170, 546, 5188, 0, 0, 0, 0}, {63, 783, 1088, 4112, 0, 0, 0}, {5360, 2048, 8192, 17408, 0, 0, 0}, {270, 305, 514, 85, 1028, 4369, 0}, {170, 514, 5234, 0, 0, 0, 0}, {63, 780, 1036, 4096, 0, 0, 0}, {192, 1028, 4208, 0, 0, 0, 0}, {522, 85, 1290, 4352, 0, 0, 0}, {522, 106, 1036, 4154, 0, 0, 0}, {255, 1800, 4991, 0, 0, 0, 0}, {2056, 5240, 0, 0, 0, 0, 0}, {63, 85, 262, 0, 0, 0, 0}, {170, 522, 5200, 0, 0, 0, 0}, {63, 780, 1028, 4160, 0, 0, 0}, {192, 1036, 4144, 0, 0, 0, 0}, {514, 85, 1290, 4386, 0, 0, 0}, {514, 106, 1028, 4112, 0, 0, 0}, {255, 1792, 4864, 0, 0, 0, 0}, {16128, 21760, 0, 0, 0, 0, 0}, {8, 20, 257, 0, 0, 0, 0}, {8, 32, 514, 5378, 0, 0, 0}, {60, 771, 21775, 0, 0, 0, 0}, {8, 68, 1028, 4352, 0, 0, 0}, {12288, 80, 1285, 0, 0, 0, 0}, {13056, 108, 1542, 0, 0, 0, 0}, {8, 112, 1799, 4608, 0, 0, 0}, {8, 5376, 0, 0, 0, 0, 0}, {60, 771, 80, 1285, 0, 0, 0}, {160, 2570, 13578, 21770, 0, 0, 0}, {8, 52, 771, 68, 1028, 4359, 0}, {204, 3084, 13056, 21760, 0, 0, 0}, {8, 32, 514, 80, 1285, 4096, 0}, {8, 32, 514, 68, 1028, 4354, 0}, {240, 3855, 12288, 21775, 0, 0, 0}, {32, 80, 1280, 4112, 0, 0, 0}, {3072, 68, 4369, 0, 0, 0, 0}, {3840, 120, 4626, 0, 0, 0, 0}, {32, 76, 1536, 4883, 0, 0, 0}, {768, 1280, 20, 0, 0, 0, 0}, {128, 5397, 0, 0, 0, 0, 0}, {60, 768, 76, 5398, 0, 0, 0}, {2560, 40, 5911, 0, 0, 0, 0}, {40, 80, 1280, 4632, 0, 0, 0}, {3072, 76, 5401, 0, 0, 0, 0}, {3840, 112, 5402, 0, 0, 0, 0}, {40, 68, 1536, 4379, 0, 0, 0}, {28, 32, 768, 80, 1280, 4096, 0}, {136, 7453, 8738, 21845, 0, 0, 0}, {60, 768, 68, 4382, 0, 0, 0}, {2560, 32, 5407, 0, 0, 0, 0}, {2560, 32, 5376, 0, 0, 0, 0}, {60, 771, 68, 4369, 0, 0, 0}, {136, 7458, 8738, 21794, 0, 0, 0}, {28, 32, 771, 80, 1299, 4112, 0}, {40, 68, 1548, 4352, 0, 0, 0}, {3855, 112, 5413, 0, 0, 0, 0}, {3084, 76, 5414, 0, 0, 0, 0}, {40, 80, 1295, 4608, 0, 0, 0}, {2560, 40, 5888, 0, 0, 0, 0}, {60, 771, 76, 5397, 0, 0, 0}, {128, 5418, 0, 0, 0, 0, 0}, {771, 1295, 20, 0, 0, 0, 0}, {32, 76, 1548, 4864, 0, 0, 0}, {3855, 120, 4642, 0, 0, 0, 0}, {3084, 68, 4386, 0, 0, 0, 0}, {32, 80, 1295, 4096, 0, 0, 0}, {240, 3840, 12336, 21760, 0, 0, 0}, {8, 32, 514, 68, 1024, 4369, 0}, {8, 32, 514, 80, 1282, 4112, 0}, {204, 3072, 13107, 21811, 0, 0, 0}, {8, 52, 768, 68, 1024, 4352, 0}, {160, 2570, 13621, 21845, 0, 0, 0}, {60, 768, 80, 1290, 0, 0, 0}, {8, 5431, 0, 0, 0, 0, 0}, {8, 112, 1792, 4656, 0, 0, 0}, {13107, 108, 1546, 0, 0, 0, 0}, {12336, 80, 1290, 0, 0, 0, 0}, {8, 68, 1024, 4403, 0, 0, 0}, {60, 768, 21760, 0, 0, 0, 0}, {8, 32, 514, 5397, 0, 0, 0}, {8, 20, 258, 0, 0, 0, 0}, {16191, 22015, 0, 0, 0, 0, 0}, {128, 5440, 0, 0, 0, 0, 0}, {783, 1285, 20, 0, 0, 0, 0}, {2570, 40, 5960, 0, 0, 0, 0}, {60, 783, 76, 5391, 0, 0, 0}, {3072, 68, 4352, 0, 0, 0, 0}, {32, 80, 1285, 4112, 0, 0, 0}, {32, 76, 1546, 4864, 0, 0, 0}, {3855, 120, 4656, 0, 0, 0, 0}, {136, 7496, 8704, 21760, 0, 0, 0}, {28, 32, 787, 80, 1285, 4096, 0}, {2570, 32, 5450, 0, 0, 0, 0}, {60, 783, 68, 4367, 0, 0, 0}, {3072, 76, 5376, 0, 0, 0, 0}, {40, 80, 1285, 4626, 0, 0, 0}, {40, 68, 1546, 4362, 0, 0, 0}, {3855, 112, 5439, 0, 0, 0, 0}, {12288, 80, 1280, 0, 0, 0, 0}, {8, 68, 1028, 4369, 0, 0, 0}, {8, 112, 1792, 4642, 0, 0, 0}, {13107, 108, 1548, 0, 0, 0, 0}, {8, 20, 260, 0, 0, 0, 0}, {16383, 21845, 0, 0, 0, 0, 0}, {60, 780, 21850, 0, 0, 0, 0}, {8, 32, 512, 5463, 0, 0, 0}, {8, 32, 512, 80, 1280, 4096, 0}, {204, 3084, 13107, 21845, 0, 0, 0}, {240, 3840, 12288, 21850, 0, 0, 0}, {8, 32, 512, 68, 1028, 4371, 0}, {60, 780, 80, 1280, 0, 0, 0}, {8, 5461, 0, 0, 0, 0, 0}, {8, 52, 772, 68, 1028, 4374, 0}, {160, 2560, 13663, 21855, 0, 0, 0}, {160, 2560, 13664, 21760, 0, 0, 0}, {8, 52, 775, 68, 1024, 4369, 0}, {8, 5474, 0, 0, 0, 0, 0}, {60, 783, 80, 1295, 0, 0, 0}, {8, 32, 512, 68, 1024, 4352, 0}, {240, 3855, 12336, 21845, 0, 0, 0}, {204, 3072, 13056, 21862, 0, 0, 0}, {8, 32, 512, 80, 1287, 4112, 0}, {8, 32, 512, 5440, 0, 0, 0}, {60, 783, 21845, 0, 0, 0, 0}, {16320, 21930, 0, 0, 0, 0, 0}, {8, 20, 263, 0, 0, 0, 0}, {13056, 108, 1536, 0, 0, 0, 0}, {8, 112, 1799, 4626, 0, 0, 0}, {8, 68, 1024, 4386, 0, 0, 0}, {12336, 80, 1295, 0, 0, 0, 0}, {3840, 112, 5376, 0, 0, 0, 0}, {40, 68, 1542, 4369, 0, 0, 0}, {40, 80, 1290, 4618, 0, 0, 0}, {3084, 76, 5439, 0, 0, 0, 0}, {60, 780, 68, 4352, 0, 0, 0}, {2570, 32, 5461, 0, 0, 0, 0}, {28, 32, 784, 80, 1302, 4112, 0}, {136, 7543, 8704, 21879, 0, 0, 0}, {3840, 120, 4608, 0, 0, 0, 0}, {32, 76, 1542, 4883, 0, 0, 0}, {32, 80, 1290, 4096, 0, 0, 0}, {3084, 68, 4403, 0, 0, 0, 0}, {60, 780, 76, 5388, 0, 0, 0}, {2570, 40, 5983, 0, 0, 0, 0}, {780, 1290, 20, 0, 0, 0, 0}, {128, 5503, 0, 0, 0, 0, 0}, {128, 5376, 0, 0, 0, 0, 0}, {771, 1285, 20, 0, 0, 0, 0}, {2570, 40, 5888, 0, 0, 0, 0}, {60, 771, 76, 5379, 0, 0, 0}, {3084, 68, 4352, 0, 0, 0, 0}, {32, 80, 1285, 4096, 0, 0, 0}, {32, 76, 1542, 4864, 0, 0, 0}, {3855, 120, 4608, 0, 0, 0, 0}, {136, 7424, 8704, 21760, 0, 0, 0}, {28, 32, 771, 80, 1285, 4112, 0}, {2570, 32, 5386, 0, 0, 0, 0}, {60, 771, 68, 4367, 0, 0, 0}, {3084, 76, 5388, 0, 0, 0, 0}, {40, 80, 1285, 4618, 0, 0, 0}, {40, 68, 1542, 4362, 0, 0, 0}, {3855, 112, 5391, 0, 0, 0, 0}, {12336, 80, 1280, 0, 0, 0, 0}, {8, 68, 1024, 4369, 0, 0, 0}, {8, 112, 1792, 4626, 0, 0, 0}, {13107, 108, 1536, 0, 0, 0, 0}, {8, 20, 256, 0, 0, 0, 0}, {16191, 21845, 0, 0, 0, 0, 0}, {60, 768, 21850, 0, 0, 0, 0}, {8, 32, 512, 5399, 0, 0, 0}, {8, 32, 512, 80, 1280, 4112, 0}, {204, 3072, 13107, 21845, 0, 0, 0}, {240, 3840, 12336, 21850, 0, 0, 0}, {8, 32, 512, 68, 1024, 4371, 0}, {60, 768, 80, 1280, 0, 0, 0}, {8, 5397, 0, 0, 0, 0, 0}, {8, 52, 768, 68, 1024, 4374, 0}, {160, 2560, 13631, 21855, 0, 0, 0}, {160, 2560, 13568, 21760, 0, 0, 0}, {8, 52, 771, 68, 1028, 4369, 0}, {8, 5410, 0, 0, 0, 0, 0}, {60, 771, 80, 1295, 0, 0, 0}, {8, 32, 512, 68, 1028, 4352, 0}, {240, 3855, 12288, 21845, 0, 0, 0}, {204, 3084, 13056, 21862, 0, 0, 0}, {8, 32, 512, 80, 1287, 4096, 0}, {8, 32, 512, 5376, 0, 0, 0}, {60, 771, 21845, 0, 0, 0, 0}, {16128, 21930, 0, 0, 0, 0, 0}, {8, 20, 259, 0, 0, 0, 0}, {13056, 108, 1548, 0, 0, 0, 0}, {8, 112, 1799, 4642, 0, 0, 0}, {8, 68, 1028, 4386, 0, 0, 0}, {12288, 80, 1295, 0, 0, 0, 0}, {3840, 112, 5424, 0, 0, 0, 0}, {40, 68, 1546, 4369, 0, 0, 0}, {40, 80, 1290, 4626, 0, 0, 0}, {3072, 76, 5427, 0, 0, 0, 0}, {60, 768, 68, 4352, 0, 0, 0}, {2570, 32, 5397, 0, 0, 0, 0}, {28, 32, 768, 80, 1302, 4096, 0}, {136, 7487, 8704, 21879, 0, 0, 0}, {3840, 120, 4656, 0, 0, 0, 0}, {32, 76, 1546, 4883, 0, 0, 0}, {32, 80, 1290, 4112, 0, 0, 0}, {3072, 68, 4403, 0, 0, 0, 0}, {60, 768, 76, 5376, 0, 0, 0}, {2570, 40, 5911, 0, 0, 0, 0}, {768, 1290, 20, 0, 0, 0, 0}, {128, 5439, 0, 0, 0, 0, 0}, {16320, 21760, 0, 0, 0, 0, 0}, {8, 20, 261, 0, 0, 0, 0}, {8, 32, 514, 5442, 0, 0, 0}, {60, 783, 21775, 0, 0, 0, 0}, {8, 68, 1024, 4352, 0, 0, 0}, {12336, 80, 1285, 0, 0, 0, 0}, {13056, 108, 1546, 0, 0, 0, 0}, {8, 112, 1799, 4656, 0, 0, 0}, {8, 5440, 0, 0, 0, 0, 0}, {60, 783, 80, 1285, 0, 0, 0}, {160, 2570, 13674, 21770, 0, 0, 0}, {8, 52, 775, 68, 1024, 4359, 0}, {204, 3072, 13056, 21760, 0, 0, 0}, {8, 32, 514, 80, 1285, 4112, 0}, {8, 32, 514, 68, 1024, 4354, 0}, {240, 3855, 12336, 21775, 0, 0, 0}, {32, 80, 1280, 4096, 0, 0, 0}, {3084, 68, 4369, 0, 0, 0, 0}, {3840, 120, 4642, 0, 0, 0, 0}, {32, 76, 1548, 4883, 0, 0, 0}, {780, 1280, 20, 0, 0, 0, 0}, {128, 5461, 0, 0, 0, 0, 0}, {60, 780, 76, 5402, 0, 0, 0}, {2560, 40, 5983, 0, 0, 0, 0}, {40, 80, 1280, 4608, 0, 0, 0}, {3084, 76, 5397, 0, 0, 0, 0}, {3840, 112, 5418, 0, 0, 0, 0}, {40, 68, 1548, 4379, 0, 0, 0}, {28, 32, 784, 80, 1280, 4112, 0}, {136, 7509, 8738, 21845, 0, 0, 0}, {60, 780, 68, 4382, 0, 0, 0}, {2560, 32, 5471, 0, 0, 0, 0}, {2560, 32, 5440, 0, 0, 0, 0}, {60, 783, 68, 4369, 0, 0, 0}, {136, 7530, 8738, 21794, 0, 0, 0}, {28, 32, 787, 80, 1299, 4096, 0}, {40, 68, 1536, 4352, 0, 0, 0}, {3855, 112, 5397, 0, 0, 0, 0}, {3072, 76, 5418, 0, 0, 0, 0}, {40, 80, 1295, 4632, 0, 0, 0}, {2560, 40, 5960, 0, 0, 0, 0}, {60, 783, 76, 5401, 0, 0, 0}, {128, 5482, 0, 0, 0, 0, 0}, {783, 1295, 20, 0, 0, 0, 0}, {32, 76, 1536, 4864, 0, 0, 0}, {3855, 120, 4626, 0, 0, 0, 0}, {3072, 68, 4386, 0, 0, 0, 0}, {32, 80, 1295, 4112, 0, 0, 0}, {240, 3840, 12288, 21760, 0, 0, 0}, {8, 32, 514, 68, 1028, 4369, 0}, {8, 32, 514, 80, 1282, 4096, 0}, {204, 3084, 13107, 21811, 0, 0, 0}, {8, 52, 772, 68, 1028, 4352, 0}, {160, 2570, 13653, 21845, 0, 0, 0}, {60, 780, 80, 1290, 0, 0, 0}, {8, 5495, 0, 0, 0, 0, 0}, {8, 112, 1792, 4608, 0, 0, 0}, {13107, 108, 1542, 0, 0, 0, 0}, {12288, 80, 1290, 0, 0, 0, 0}, {8, 68, 1028, 4403, 0, 0, 0}, {60, 780, 21760, 0, 0, 0, 0}, {8, 32, 514, 5461, 0, 0, 0}, {8, 20, 262, 0, 0, 0, 0}, {16383, 22015, 0, 0, 0, 0, 0}, {15360, 23040, 0, 0, 0, 0, 0}, {8, 23, 257, 0, 0, 0, 0}, {8, 32, 514, 5120, 0, 0, 0}, {63, 771, 21760, 0, 0, 0, 0}, {8, 64, 1028, 4608, 0, 0, 0}, {13056, 95, 1285, 0, 0, 0, 0}, {12288, 96, 1542, 0, 0, 0, 0}, {8, 119, 1799, 4352, 0, 0, 0}, {8, 5632, 0, 0, 0, 0, 0}, {63, 771, 95, 1285, 0, 0, 0}, {160, 2570, 13834, 20480, 0, 0, 0}, {8, 55, 771, 64, 1028, 4356, 0}, {192, 3084, 12288, 22028, 0, 0, 0}, {8, 32, 514, 87, 1285, 4354, 0}, {8, 32, 514, 64, 1028, 4096, 0}, {255, 3855, 13056, 21760, 0, 0, 0}, {32, 64, 1536, 4112, 0, 0, 0}, {3840, 119, 4369, 0, 0, 0, 0}, {3072, 72, 4626, 0, 0, 0, 0}, {32, 95, 1280, 4883, 0, 0, 0}, {2560, 40, 5140, 0, 0, 0, 0}, {63, 768, 64, 5397, 0, 0, 0}, {128, 5654, 0, 0, 0, 0, 0}, {768, 1280, 23, 0, 0, 0, 0}, {40, 72, 1536, 4632, 0, 0, 0}, {3840, 127, 5657, 0, 0, 0, 0}, {3072, 64, 5658, 0, 0, 0, 0}, {40, 95, 1280, 4379, 0, 0, 0}, {2560, 32, 5660, 0, 0, 0, 0}, {63, 768, 72, 4381, 0, 0, 0}, {136, 7710, 8738, 17476, 0, 0, 0}, {31, 32, 768, 64, 1280, 4096, 0}, {2560, 32, 5632, 0, 0, 0, 0}, {63, 771, 72, 4369, 0, 0, 0}, {136, 7714, 8738, 17408, 0, 0, 0}, {31, 32, 771, 64, 1296, 4112, 0}, {40, 72, 1548, 4608, 0, 0, 0}, {3855, 127, 5669, 0, 0, 0, 0}, {3084, 64, 5670, 0, 0, 0, 0}, {40, 95, 1295, 4352, 0, 0, 0}, {2560, 40, 5120, 0, 0, 0, 0}, {63, 771, 64, 5397, 0, 0, 0}, {128, 5674, 0, 0, 0, 0, 0}, {771, 1295, 23, 0, 0, 0, 0}, {32, 64, 1548, 4096, 0, 0, 0}, {3855, 119, 4386, 0, 0, 0, 0}, {3084, 72, 4642, 0, 0, 0, 0}, {32, 95, 1295, 4864, 0, 0, 0}, {192, 3072, 12336, 22064, 0, 0, 0}, {8, 32, 514, 87, 1282, 4369, 0}, {8, 32, 514, 64, 1024, 4112, 0}, {255, 3840, 13107, 21760, 0, 0, 0}, {8, 5684, 0, 0, 0, 0, 0}, {63, 768, 95, 1290, 0, 0, 0}, {160, 2570, 13878, 20560, 0, 0, 0}, {8, 55, 768, 64, 1024, 4352, 0}, {8, 64, 1024, 4656, 0, 0, 0}, {13107, 95, 1290, 0, 0, 0, 0}, {12336, 96, 1546, 0, 0, 0, 0}, {8, 119, 1792, 4403, 0, 0, 0}, {15420, 23280, 0, 0, 0, 0, 0}, {8, 23, 258, 0, 0, 0, 0}, {8, 32, 514, 5140, 0, 0, 0}, {63, 768, 21760, 0, 0, 0, 0}, {3072, 64, 5632, 0, 0, 0, 0}, {40, 95, 1285, 4369, 0, 0, 0}, {40, 72, 1546, 4618, 0, 0, 0}, {3855, 127, 5692, 0, 0, 0, 0}, {136, 7748, 8704, 17476, 0, 0, 0}, {31, 32, 784, 64, 1285, 4112, 0}, {2570, 32, 5702, 0, 0, 0, 0}, {63, 783, 72, 4352, 0, 0, 0}, {3072, 72, 4608, 0, 0, 0, 0}, {32, 95, 1285, 4883, 0, 0, 0}, {32, 64, 1546, 4096, 0, 0, 0}, {3855, 119, 4403, 0, 0, 0, 0}, {128, 5708, 0, 0, 0, 0, 0}, {783, 1285, 23, 0, 0, 0, 0}, {2570, 40, 5188, 0, 0, 0, 0}, {63, 783, 64, 5376, 0, 0, 0}, {160, 2560, 13904, 20560, 0, 0, 0}, {8, 55, 772, 64, 1028, 4369, 0}, {8, 5714, 0, 0, 0, 0, 0}, {63, 780, 95, 1280, 0, 0, 0}, {8, 32, 512, 64, 1028, 4112, 0}, {255, 3840, 13056, 21845, 0, 0, 0}, {192, 3084, 12336, 22102, 0, 0, 0}, {8, 32, 512, 87, 1280, 4352, 0}, {8, 32, 512, 5200, 0, 0, 0}, {63, 780, 21845, 0, 0, 0, 0}, {15600, 23130, 0, 0, 0, 0, 0}, {8, 23, 260, 0, 0, 0, 0}, {12336, 96, 1548, 0, 0, 0, 0}, {8, 119, 1792, 4386, 0, 0, 0}, {8, 64, 1028, 4626, 0, 0, 0}, {13056, 95, 1280, 0, 0, 0, 0}, {12288, 96, 1536, 0, 0, 0, 0}, {8, 119, 1799, 4369, 0, 0, 0}, {8, 64, 1024, 4642, 0, 0, 0}, {13107, 95, 1295, 0, 0, 0, 0}, {8, 32, 512, 5188, 0, 0, 0}, {63, 783, 21845, 0, 0, 0, 0}, {15564, 23210, 0, 0, 0, 0, 0}, {8, 23, 263, 0, 0, 0, 0}, {8, 32, 512, 64, 1024, 4096, 0}, {255, 3855, 13107, 21845, 0, 0, 0}, {192, 3072, 12288, 22122, 0, 0, 0}, {8, 32, 512, 87, 1287, 4371, 0}, {160, 2560, 13932, 20480, 0, 0, 0}, {8, 55, 775, 64, 1024, 4373, 0}, {8, 5734, 0, 0, 0, 0, 0}, {63, 783, 95, 1295, 0, 0, 0}, {128, 5744, 0, 0, 0, 0, 0}, {780, 1290, 23, 0, 0, 0, 0}, {2570, 40, 5200, 0, 0, 0, 0}, {63, 780, 64, 5376, 0, 0, 0}, {3084, 72, 4656, 0, 0, 0, 0}, {32, 95, 1290, 4864, 0, 0, 0}, {32, 64, 1542, 4112, 0, 0, 0}, {3840, 119, 4352, 0, 0, 0, 0}, {136, 7800, 8704, 17408, 0, 0, 0}, {31, 32, 787, 64, 1301, 4096, 0}, {2570, 32, 5722, 0, 0, 0, 0}, {63, 780, 72, 4364, 0, 0, 0}, {3084, 64, 5692, 0, 0, 0, 0}, {40, 95, 1290, 4362, 0, 0, 0}, {40, 72, 1542, 4626, 0, 0, 0}, {3840, 127, 5632, 0, 0, 0, 0}, {128, 5632, 0, 0, 0, 0, 0}, {771, 1285, 23, 0, 0, 0, 0}, {2570, 40, 5120, 0, 0, 0, 0}, {63, 771, 64, 5376, 0, 0, 0}, {3084, 72, 4608, 0, 0, 0, 0}, {32, 95, 1285, 4864, 0, 0, 0}, {32, 64, 1542, 4096, 0, 0, 0}, {3855, 119, 4352, 0, 0, 0, 0}, {136, 7680, 8704, 17408, 0, 0, 0}, {31, 32, 771, 64, 1285, 4112, 0}, {2570, 32, 5642, 0, 0, 0, 0}, {63, 771, 72, 4364, 0, 0, 0}, {3084, 64, 5644, 0, 0, 0, 0}, {40, 95, 1285, 4362, 0, 0, 0}, {40, 72, 1542, 4618, 0, 0, 0}, {3855, 127, 5647, 0, 0, 0, 0}, {12336, 96, 1536, 0, 0, 0, 0}, {8, 119, 1792, 4369, 0, 0, 0}, {8, 64, 1024, 4626, 0, 0, 0}, {13107, 95, 1280, 0, 0, 0, 0}, {8, 32, 512, 5140, 0, 0, 0}, {63, 768, 21845, 0, 0, 0, 0}, {15420, 23130, 0, 0, 0, 0, 0}, {8, 23, 256, 0, 0, 0, 0}, {8, 32, 512, 64, 1024, 4112, 0}, {255, 3840, 13107, 21845, 0, 0, 0}, {192, 3072, 12336, 22106, 0, 0, 0}, {8, 32, 512, 87, 1280, 4371, 0}, {160, 2560, 13884, 20560, 0, 0, 0}, {8, 55, 768, 64, 1024, 4373, 0}, {8, 5654, 0, 0, 0, 0, 0}, {63, 768, 95, 1280, 0, 0, 0}, {160, 2560, 13824, 20480, 0, 0, 0}, {8, 55, 771, 64, 1028, 4369, 0}, {8, 5666, 0, 0, 0, 0, 0}, {63, 771, 95, 1295, 0, 0, 0}, {8, 32, 512, 64, 1028, 4096, 0}, {255, 3855, 13056, 21845, 0, 0, 0}, {192, 3084, 12288, 22118, 0, 0, 0}, {8, 32, 512, 87, 1287, 4352, 0}, {8, 32, 512, 5120, 0, 0, 0}, {63, 771, 21845, 0, 0, 0, 0}, {15360, 23210, 0, 0, 0, 0, 0}, {8, 23, 259, 0, 0, 0, 0}, {12288, 96, 1548, 0, 0, 0, 0}, {8, 119, 1799, 4386, 0, 0, 0}, {8, 64, 1028, 4642, 0, 0, 0}, {13056, 95, 1295, 0, 0, 0, 0}, {3072, 64, 5680, 0, 0, 0, 0}, {40, 95, 1290, 4369, 0, 0, 0}, {40, 72, 1546, 4626, 0, 0, 0}, {3840, 127, 5683, 0, 0, 0, 0}, {136, 7740, 8704, 17476, 0, 0, 0}, {31, 32, 768, 64, 1301, 4096, 0}, {2570, 32, 5654, 0, 0, 0, 0}, {63, 768, 72, 4352, 0, 0, 0}, {3072, 72, 4656, 0, 0, 0, 0}, {32, 95, 1290, 4883, 0, 0, 0}, {32, 64, 1546, 4112, 0, 0, 0}, {3840, 119, 4403, 0, 0, 0, 0}, {128, 5692, 0, 0, 0, 0, 0}, {768, 1290, 23, 0, 0, 0, 0}, {2570, 40, 5140, 0, 0, 0, 0}, {63, 768, 64, 5376, 0, 0, 0}, {192, 3072, 12288, 22016, 0, 0, 0}, {8, 32, 514, 87, 1285, 4369, 0}, {8, 32, 514, 64, 1024, 4096, 0}, {255, 3855, 13107, 21760, 0, 0, 0}, {8, 5700, 0, 0, 0, 0, 0}, {63, 783, 95, 1285, 0, 0, 0}, {160, 2570, 13926, 20480, 0, 0, 0}, {8, 55, 775, 64, 1024, 4352, 0}, {8, 64, 1024, 4608, 0, 0, 0}, {13107, 95, 1285, 0, 0, 0, 0}, {12288, 96, 1546, 0, 0, 0, 0}, {8, 119, 1799, 4403, 0, 0, 0}, {15564, 23040, 0, 0, 0, 0, 0}, {8, 23, 261, 0, 0, 0, 0}, {8, 32, 514, 5188, 0, 0, 0}, {63, 783, 21760, 0, 0, 0, 0}, {2560, 32, 5712, 0, 0, 0, 0}, {63, 780, 72, 4369, 0, 0, 0}, {136, 7770, 8738, 17408, 0, 0, 0}, {31, 32, 787, 64, 1280, 4096, 0}, {40, 72, 1548, 4632, 0, 0, 0}, {3840, 127, 5674, 0, 0, 0, 0}, {3084, 64, 5654, 0, 0, 0, 0}, {40, 95, 1280, 4352, 0, 0, 0}, {2560, 40, 5200, 0, 0, 0, 0}, {63, 780, 64, 5397, 0, 0, 0}, {128, 5722, 0, 0, 0, 0, 0}, {780, 1280, 23, 0, 0, 0, 0}, {32, 64, 1548, 4112, 0, 0, 0}, {3840, 119, 4386, 0, 0, 0, 0}, {3084, 72, 4626, 0, 0, 0, 0}, {32, 95, 1280, 4864, 0, 0, 0}, {32, 64, 1536, 4096, 0, 0, 0}, {3855, 119, 4369, 0, 0, 0, 0}, {3072, 72, 4642, 0, 0, 0, 0}, {32, 95, 1295, 4883, 0, 0, 0}, {2560, 40, 5188, 0, 0, 0, 0}, {63, 783, 64, 5397, 0, 0, 0}, {128, 5734, 0, 0, 0, 0, 0}, {783, 1295, 23, 0, 0, 0, 0}, {40, 72, 1536, 4608, 0, 0, 0}, {3855, 127, 5654, 0, 0, 0, 0}, {3072, 64, 5674, 0, 0, 0, 0}, {40, 95, 1295, 4379, 0, 0, 0}, {2560, 32, 5708, 0, 0, 0, 0}, {63, 783, 72, 4381, 0, 0, 0}, {136, 7782, 8738, 17476, 0, 0, 0}, {31, 32, 784, 64, 1296, 4112, 0}, {15600, 23280, 0, 0, 0, 0, 0}, {8, 23, 262, 0, 0, 0, 0}, {8, 32, 514, 5200, 0, 0, 0}, {63, 780, 21760, 0, 0, 0, 0}, {8, 64, 1028, 4656, 0, 0, 0}, {13056, 95, 1290, 0, 0, 0, 0}, {12336, 96, 1542, 0, 0, 0, 0}, {8, 119, 1792, 4352, 0, 0, 0}, {8, 5744, 0, 0, 0, 0, 0}, {63, 780, 95, 1290, 0, 0, 0}, {160, 2570, 13914, 20560, 0, 0, 0}, {8, 55, 772, 64, 1028, 4356, 0}, {192, 3084, 12336, 22076, 0, 0, 0}, {8, 32, 514, 87, 1282, 4354, 0}, {8, 32, 514, 64, 1028, 4112, 0}, {255, 3840, 13056, 21760, 0, 0, 0}, {2048, 5888, 0, 0, 0, 0, 0}, {60, 90, 257, 0, 0, 0, 0}, {170, 514, 5418, 0, 0, 0, 0}, {60, 771, 1036, 4108, 0, 0, 0}, {204, 1028, 4940, 0, 0, 0, 0}, {522, 90, 1285, 4106, 0, 0, 0}, {522, 102, 1036, 4352, 0, 0, 0}, {240, 1799, 4208, 0, 0, 0, 0}, {6024, 2056, 14088, 22280, 0, 0, 0}, {265, 309, 771, 339, 1285, 4102, 0}, {170, 522, 5376, 0, 0, 0, 0}, {60, 771, 1028, 4160, 0, 0, 0}, {204, 1036, 4864, 0, 0, 0, 0}, {514, 90, 1285, 4128, 0, 0, 0}, {514, 102, 1028, 4386, 0, 0, 0}, {240, 1807, 4096, 0, 0, 0, 0}, {240, 1904, 4112, 0, 0, 0, 0}, {546, 102, 1058, 4369, 0, 0, 0}, {546, 90, 1280, 4144, 0, 0, 0}, {204, 1100, 4883, 0, 0, 0, 0}, {60, 768, 1092, 4176, 0, 0, 0}, {170, 554, 5397, 0, 0, 0, 0}, {60, 90, 278, 0, 0, 0, 0}, {2184, 5911, 0, 0, 0, 0, 0}, {240, 1912, 4192, 0, 0, 0, 0}, {554, 102, 1066, 4403, 0, 0, 0}, {554, 90, 1280, 4122, 0, 0, 0}, {204, 1092, 4959, 0, 0, 0, 0}, {60, 768, 1100, 4124, 0, 0, 0}, {170, 546, 5439, 0, 0, 0, 0}, {286, 290, 768, 324, 1280, 4096, 0}, {6047, 7967, 8224, 16448, 0, 0, 0}, {6048, 7968, 8224, 22304, 0, 0, 0}, {285, 289, 771, 327, 1042, 4369, 0}, {170, 546, 5376, 0, 0, 0, 0}, {60, 771, 1088, 4112, 0, 0, 0}, {204, 1096, 4972, 0, 0, 0, 0}, {554, 90, 1295, 4138, 0, 0, 0}, {554, 102, 1062, 4352, 0, 0, 0}, {240, 1911, 4176, 0, 0, 0, 0}, {2184, 5928, 0, 0, 0, 0, 0}, {60, 90, 277, 0, 0, 0, 0}, {170, 554, 5418, 0, 0, 0, 0}, {60, 771, 1096, 4188, 0, 0, 0}, {204, 1088, 4896, 0, 0, 0, 0}, {546, 90, 1295, 4096, 0, 0, 0}, {546, 102, 1070, 4386, 0, 0, 0}, {240, 1919, 4128, 0, 0, 0, 0}, {240, 1792, 4144, 0, 0, 0, 0}, {514, 102, 1032, 4369, 0, 0, 0}, {514, 90, 1290, 4112, 0, 0, 0}, {204, 1024, 4915, 0, 0, 0, 0}, {60, 768, 1032, 4172, 0, 0, 0}, {170, 522, 5439, 0, 0, 0, 0}, {266, 310, 768, 336, 1024, 4352, 0}, {6071, 2056, 14135, 16448, 0, 0, 0}, {240, 1800, 4160, 0, 0, 0, 0}, {522, 102, 1024, 4403, 0, 0, 0}, {522, 90, 1290, 4154, 0, 0, 0}, {204, 1032, 4991, 0, 0, 0, 0}, {60, 768, 1024, 4096, 0, 0, 0}, {170, 514, 5397, 0, 0, 0, 0}, {60, 90, 258, 0, 0, 0, 0}, {2048, 5951, 0, 0, 0, 0, 0}, {6080, 8000, 14144, 16448, 0, 0, 0}, {283, 295, 532, 321, 1285, 4369, 0}, {170, 552, 5482, 0, 0, 0, 0}, {60, 783, 1100, 4172, 0, 0, 0}, {204, 1092, 4864, 0, 0, 0, 0}, {544, 90, 1285, 4112, 0, 0, 0}, {544, 102, 1066, 4352, 0, 0, 0}, {240, 1911, 4144, 0, 0, 0, 0}, {2184, 5960, 0, 0, 0, 0, 0}, {60, 90, 275, 0, 0, 0, 0}, {170, 544, 5440, 0, 0, 0, 0}, {60, 783, 1092, 4096, 0, 0, 0}, {204, 1100, 4940, 0, 0, 0, 0}, {552, 90, 1285, 4154, 0, 0, 0}, {552, 102, 1058, 4386, 0, 0, 0}, {240, 1919, 4160, 0, 0, 0, 0}, {240, 1792, 4176, 0, 0, 0, 0}, {520, 102, 1028, 4369, 0, 0, 0}, {520, 90, 1280, 4138, 0, 0, 0}, {204, 1036, 4959, 0, 0, 0, 0}, {60, 780, 1028, 4112, 0, 0, 0}, {170, 512, 5461, 0, 0, 0, 0}, {268, 304, 512, 342, 1280, 4352, 0}, {6103, 2056, 8224, 22359, 0, 0, 0}, {240, 1800, 4128, 0, 0, 0, 0}, {512, 102, 1036, 4403, 0, 0, 0}, {512, 90, 1280, 4096, 0, 0, 0}, {204, 1028, 4883, 0, 0, 0, 0}, {60, 780, 1036, 4188, 0, 0, 0}, {170, 520, 5503, 0, 0, 0, 0}, {60, 90, 260, 0, 0, 0, 0}, {2048, 5983, 0, 0, 0, 0, 0}, {2048, 5984, 0, 0, 0, 0, 0}, {60, 90, 263, 0, 0, 0, 0}, {170, 520, 5440, 0, 0, 0, 0}, {60, 783, 1024, 4176, 0, 0, 0}, {204, 1032, 4896, 0, 0, 0, 0}, {512, 90, 1295, 4144, 0, 0, 0}, {512, 102, 1024, 4352, 0, 0, 0}, {240, 1799, 4112, 0, 0, 0, 0}, {6120, 2056, 8224, 16448, 0, 0, 0}, {271, 307, 512, 341, 1024, 4096, 0}, {170, 512, 5482, 0, 0, 0, 0}, {60, 783, 1032, 4124, 0, 0, 0}, {204, 1024, 4972, 0, 0, 0, 0}, {520, 90, 1295, 4122, 0, 0, 0}, {520, 102, 1032, 4386, 0, 0, 0}, {240, 1807, 4192, 0, 0, 0, 0}, {240, 1904, 4208, 0, 0, 0, 0}, {552, 102, 1070, 4369, 0, 0, 0}, {552, 90, 1290, 4106, 0, 0, 0}, {204, 1088, 4991, 0, 0, 0, 0}, {60, 780, 1096, 4108, 0, 0, 0}, {170, 544, 5503, 0, 0, 0, 0}, {60, 90, 272, 0, 0, 0, 0}, {2184, 6007, 0, 0, 0, 0, 0}, {240, 1912, 4096, 0, 0, 0, 0}, {544, 102, 1062, 4403, 0, 0, 0}, {544, 90, 1290, 4128, 0, 0, 0}, {204, 1096, 4915, 0, 0, 0, 0}, {60, 780, 1088, 4160, 0, 0, 0}, {170, 552, 5461, 0, 0, 0, 0}, {280, 292, 532, 322, 1042, 4102, 0}, {6143, 8063, 14207, 22399, 0, 0, 0}, {2176, 5888, 0, 0, 0, 0, 0}, {60, 90, 279, 0, 0, 0, 0}, {170, 552, 5376, 0, 0, 0, 0}, {60, 771, 1088, 4160, 0, 0, 0}, {204, 1096, 4864, 0, 0, 0, 0}, {544, 90, 1285, 4128, 0, 0, 0}, {544, 102, 1062, 4352, 0, 0, 0}, {240, 1911, 4096, 0, 0, 0, 0}, {6024, 7936, 8192, 16384, 0, 0, 0}, {287, 291, 771, 325, 1285, 4112, 0}, {170, 544, 5418, 0, 0, 0, 0}, {60, 771, 1096, 4108, 0, 0, 0}, {204, 1088, 4940, 0, 0, 0, 0}, {552, 90, 1285, 4106, 0, 0, 0}, {552, 102, 1070, 4386, 0, 0, 0}, {240, 1919, 4208, 0, 0, 0, 0}, {240, 1792, 4192, 0, 0, 0, 0}, {520, 102, 1032, 4369, 0, 0, 0}, {520, 90, 1280, 4122, 0, 0, 0}, {204, 1024, 4959, 0, 0, 0, 0}, {60, 768, 1032, 4124, 0, 0, 0}, {170, 512, 5439, 0, 0, 0, 0}, {60, 90, 256, 0, 0, 0, 0}, {2056, 5911, 0, 0, 0, 0, 0}, {240, 1800, 4112, 0, 0, 0, 0}, {512, 102, 1024, 4403, 0, 0, 0}, {512, 90, 1280, 4144, 0, 0, 0}, {204, 1032, 4883, 0, 0, 0, 0}, {60, 768, 1024, 4176, 0, 0, 0}, {170, 520, 5397, 0, 0, 0, 0}, {264, 308, 768, 338, 1280, 4118, 0}, {6047, 2048, 14143, 22367, 0, 0, 0}, {6048, 2048, 14080, 16384, 0, 0, 0}, {267, 311, 771, 337, 1028, 4369, 0}, {170, 520, 5418, 0, 0, 0, 0}, {60, 771, 1036, 4188, 0, 0, 0}, {204, 1028, 4896, 0, 0, 0, 0}, {512, 90, 1295, 4096, 0, 0, 0}, {512, 102, 1036, 4352, 0, 0, 0}, {240, 1799, 4128, 0, 0, 0, 0}, {2056, 5928, 0, 0, 0, 0, 0}, {60, 90, 259, 0, 0, 0, 0}, {170, 512, 5376, 0, 0, 0, 0}, {60, 771, 1028, 4112, 0, 0, 0}, {204, 1036, 4972, 0, 0, 0, 0}, {520, 90, 1295, 4138, 0, 0, 0}, {520, 102, 1028, 4386, 0, 0, 0}, {240, 1807, 4176, 0, 0, 0, 0}, {240, 1904, 4160, 0, 0, 0, 0}, {552, 102, 1058, 4369, 0, 0, 0}, {552, 90, 1290, 4154, 0, 0, 0}, {204, 1100, 4991, 0, 0, 0, 0}, {60, 768, 1092, 4096, 0, 0, 0}, {170, 544, 5397, 0, 0, 0, 0}, {284, 288, 768, 326, 1046, 4352, 0}, {6071, 7999, 8192, 22391, 0, 0, 0}, {240, 1912, 4144, 0, 0, 0, 0}, {544, 102, 1066, 4403, 0, 0, 0}, {544, 90, 1290, 4112, 0, 0, 0}, {204, 1092, 4915, 0, 0, 0, 0}, {60, 768, 1100, 4172, 0, 0, 0}, {170, 552, 5439, 0, 0, 0, 0}, {60, 90, 276, 0, 0, 0, 0}, {2176, 5951, 0, 0, 0, 0, 0}, {6080, 2048, 8192, 22272, 0, 0, 0}, {269, 305, 514, 343, 1285, 4369, 0}, {170, 514, 5440, 0, 0, 0, 0}, {60, 783, 1024, 4096, 0, 0, 0}, {204, 1032, 4940, 0, 0, 0, 0}, {522, 90, 1285, 4154, 0, 0, 0}, {522, 102, 1024, 4352, 0, 0, 0}, {240, 1799, 4160, 0, 0, 0, 0}, {2056, 5960, 0, 0, 0, 0, 0}, {60, 90, 261, 0, 0, 0, 0}, {170, 522, 5482, 0, 0, 0, 0}, {60, 783, 1032, 4172, 0, 0, 0}, {204, 1024, 4864, 0, 0, 0, 0}, {514, 90, 1285, 4112, 0, 0, 0}, {514, 102, 1032, 4386, 0, 0, 0}, {240, 1807, 4144, 0, 0, 0, 0}, {240, 1904, 4128, 0, 0, 0, 0}, {546, 102, 1070, 4369, 0, 0, 0}, {546, 90, 1280, 4096, 0, 0, 0}, {204, 1088, 4883, 0, 0, 0, 0}, {60, 780, 1096, 4188, 0, 0, 0}, {170, 554, 5503, 0, 0, 0, 0}, {282, 294, 534, 320, 1280, 4352, 0}, {6103, 8031, 14199, 16384, 0, 0, 0}, {240, 1912, 4176, 0, 0, 0, 0}, {554, 102, 1062, 4403, 0, 0, 0}, {554, 90, 1280, 4138, 0, 0, 0}, {204, 1096, 4959, 0, 0, 0, 0}, {60, 780, 1088, 4112, 0, 0, 0}, {170, 546, 5461, 0, 0, 0, 0}, {60, 90, 274, 0, 0, 0, 0}, {2176, 5983, 0, 0, 0, 0, 0}, {2176, 5984, 0, 0, 0, 0, 0}, {60, 90, 273, 0, 0, 0, 0}, {170, 546, 5482, 0, 0, 0, 0}, {60, 783, 1100, 4124, 0, 0, 0}, {204, 1092, 4972, 0, 0, 0, 0}, {554, 90, 1295, 4122, 0, 0, 0}, {554, 102, 1066, 4352, 0, 0, 0}, {240, 1911, 4192, 0, 0, 0, 0}, {6120, 8032, 14152, 22312, 0, 0, 0}, {281, 293, 534, 323, 1046, 4118, 0}, {170, 554, 5440, 0, 0, 0, 0}, {60, 783, 1092, 4176, 0, 0, 0}, {204, 1100, 4896, 0, 0, 0, 0}, {546, 90, 1295, 4144, 0, 0, 0}, {546, 102, 1058, 4386, 0, 0, 0}, {240, 1919, 4112, 0, 0, 0, 0}, {240, 1792, 4096, 0, 0, 0, 0}, {514, 102, 1028, 4369, 0, 0, 0}, {514, 90, 1290, 4128, 0, 0, 0}, {204, 1036, 4915, 0, 0, 0, 0}, {60, 780, 1028, 4160, 0, 0, 0}, {170, 522, 5461, 0, 0, 0, 0}, {60, 90, 262, 0, 0, 0, 0}, {2056, 6007, 0, 0, 0, 0, 0}, {240, 1800, 4208, 0, 0, 0, 0}, {522, 102, 1036, 4403, 0, 0, 0}, {522, 90, 1290, 4106, 0, 0, 0}, {204, 1028, 4991, 0, 0, 0, 0}, {60, 780, 1036, 4108, 0, 0, 0}, {170, 514, 5503, 0, 0, 0, 0}, {270, 306, 514, 340, 1028, 4112, 0}, {6143, 2048, 8192, 16384, 0, 0, 0}, {2048, 4096, 0, 0, 0, 0, 0}, {51, 85, 257, 0, 0, 0, 0}, {170, 514, 4128, 0, 0, 0, 0}, {51, 771, 1036, 4099, 0, 0, 0}, {204, 1028, 4160, 0, 0, 0, 0}, {522, 85, 1285, 4101, 0, 0, 0}, {522, 102, 1036, 4102, 0, 0, 0}, {255, 1799, 4208, 0, 0, 0, 0}, {4224, 2056, 12288, 20480, 0, 0, 0}, {265, 51, 771, 85, 1285, 4352, 0}, {170, 522, 4106, 0, 0, 0, 0}, {51, 771, 1028, 4175, 0, 0, 0}, {204, 1036, 4108, 0, 0, 0, 0}, {514, 85, 1285, 4143, 0, 0, 0}, {514, 102, 1028, 4140, 0, 0, 0}, {255, 1807, 4111, 0, 0, 0, 0}, {2176, 4112, 0, 0, 0, 0, 0}, {51, 85, 273, 0, 0, 0, 0}, {170, 546, 4144, 0, 0, 0, 0}, {51, 768, 1100, 4115, 0, 0, 0}, {204, 1092, 4176, 0, 0, 0, 0}, {554, 85, 1280, 4117, 0, 0, 0}, {554, 102, 1066, 4118, 0, 0, 0}, {255, 1911, 4192, 0, 0, 0, 0}, {4240, 6168, 12336, 20560, 0, 0, 0}, {281, 51, 768, 85, 1280, 4352, 0}, {170, 554, 4122, 0, 0, 0, 0}, {51, 768, 1092, 4191, 0, 0, 0}, {204, 1100, 4124, 0, 0, 0, 0}, {546, 85, 1280, 4159, 0, 0, 0}, {546, 102, 1058, 4156, 0, 0, 0}, {255, 1919, 4127, 0, 0, 0, 0}, {2176, 4128, 0, 0, 0, 0, 0}, {51, 85, 274, 0, 0, 0, 0}, {170, 546, 4096, 0, 0, 0, 0}, {51, 771, 1088, 4112, 0, 0, 0}, {204, 1096, 4192, 0, 0, 0, 0}, {554, 85, 1295, 4133, 0, 0, 0}, {554, 102, 1062, 4134, 0, 0, 0}, {255, 1912, 4176, 0, 0, 0, 0}, {4256, 6184, 12288, 16384, 0, 0, 0}, {282, 51, 771, 85, 1045, 4352, 0}, {170, 554, 4138, 0, 0, 0, 0}, {51, 771, 1096, 4188, 0, 0, 0}, {204, 1088, 4140, 0, 0, 0, 0}, {546, 85, 1295, 4111, 0, 0, 0}, {546, 102, 1070, 4108, 0, 0, 0}, {255, 1904, 4143, 0, 0, 0, 0}, {2048, 4144, 0, 0, 0, 0, 0}, {51, 85, 258, 0, 0, 0, 0}, {170, 514, 4112, 0, 0, 0, 0}, {51, 768, 1024, 4096, 0, 0, 0}, {204, 1032, 4208, 0, 0, 0, 0}, {522, 85, 1290, 4149, 0, 0, 0}, {522, 102, 1024, 4150, 0, 0, 0}, {255, 1800, 4160, 0, 0, 0, 0}, {4272, 2056, 12336, 16448, 0, 0, 0}, {266, 51, 768, 85, 1024, 4352, 0}, {170, 522, 4154, 0, 0, 0, 0}, {51, 768, 1032, 4172, 0, 0, 0}, {204, 1024, 4156, 0, 0, 0, 0}, {514, 85, 1290, 4127, 0, 0, 0}, {514, 102, 1032, 4124, 0, 0, 0}, {255, 1792, 4159, 0, 0, 0, 0}, {2176, 4160, 0, 0, 0, 0, 0}, {51, 85, 276, 0, 0, 0, 0}, {170, 552, 4192, 0, 0, 0, 0}, {51, 783, 1100, 4163, 0, 0, 0}, {204, 1092, 4096, 0, 0, 0, 0}, {544, 85, 1285, 4112, 0, 0, 0}, {544, 102, 1066, 4128, 0, 0, 0}, {255, 1912, 4144, 0, 0, 0, 0}, {4288, 6216, 8192, 20480, 0, 0, 0}, {284, 51, 531, 85, 1285, 4352, 0}, {170, 544, 4170, 0, 0, 0, 0}, {51, 783, 1092, 4111, 0, 0, 0}, {204, 1100, 4172, 0, 0, 0, 0}, {552, 85, 1285, 4154, 0, 0, 0}, {552, 102, 1058, 4106, 0, 0, 0}, {255, 1904, 4175, 0, 0, 0, 0}, {2048, 4176, 0, 0, 0, 0, 0}, {51, 85, 260, 0, 0, 0, 0}, {170, 520, 4208, 0, 0, 0, 0}, {51, 780, 1036, 4179, 0, 0, 0}, {204, 1028, 4112, 0, 0, 0, 0}, {512, 85, 1280, 4096, 0, 0, 0}, {512, 102, 1036, 4144, 0, 0, 0}, {255, 1800, 4128, 0, 0, 0, 0}, {4304, 2056, 8224, 20560, 0, 0, 0}, {268, 51, 512, 85, 1280, 4352, 0}, {170, 512, 4186, 0, 0, 0, 0}, {51, 780, 1028, 4127, 0, 0, 0}, {204, 1036, 4188, 0, 0, 0, 0}, {520, 85, 1280, 4138, 0, 0, 0}, {520, 102, 1028, 4122, 0, 0, 0}, {255, 1792, 4191, 0, 0, 0, 0}, {2048, 4192, 0, 0, 0, 0, 0}, {51, 85, 263, 0, 0, 0, 0}, {170, 520, 4160, 0, 0, 0, 0}, {51, 783, 1024, 4176, 0, 0, 0}, {204, 1032, 4128, 0, 0, 0, 0}, {512, 85, 1295, 4144, 0, 0, 0}, {512, 102, 1024, 4096, 0, 0, 0}, {255, 1799, 4112, 0, 0, 0, 0}, {4320, 2056, 8224, 16448, 0, 0, 0}, {271, 51, 512, 85, 1024, 4352, 0}, {170, 512, 4202, 0, 0, 0, 0}, {51, 783, 1032, 4124, 0, 0, 0}, {204, 1024, 4204, 0, 0, 0, 0}, {520, 85, 1295, 4122, 0, 0, 0}, {520, 102, 1032, 4138, 0, 0, 0}, {255, 1807, 4207, 0, 0, 0, 0}, {2176, 4208, 0, 0, 0, 0, 0}, {51, 85, 279, 0, 0, 0, 0}, {170, 552, 4176, 0, 0, 0, 0}, {51, 780, 1088, 4160, 0, 0, 0}, {204, 1096, 4144, 0, 0, 0, 0}, {544, 85, 1290, 4128, 0, 0, 0}, {544, 102, 1062, 4112, 0, 0, 0}, {255, 1911, 4096, 0, 0, 0, 0}, {4336, 6264, 8192, 16384, 0, 0, 0}, {287, 51, 531, 85, 1045, 4352, 0}, {170, 544, 4218, 0, 0, 0, 0}, {51, 780, 1096, 4108, 0, 0, 0}, {204, 1088, 4220, 0, 0, 0, 0}, {552, 85, 1290, 4106, 0, 0, 0}, {552, 102, 1070, 4154, 0, 0, 0}, {255, 1919, 4223, 0, 0, 0, 0}, {4224, 6144, 12288, 20480, 0, 0, 0}, {280, 51, 771, 85, 1285, 4369, 0}, {170, 552, 4106, 0, 0, 0, 0}, {51, 771, 1088, 4175, 0, 0, 0}, {204, 1096, 4108, 0, 0, 0, 0}, {544, 85, 1285, 4143, 0, 0, 0}, {544, 102, 1062, 4140, 0, 0, 0}, {255, 1912, 4111, 0, 0, 0, 0}, {2184, 4096, 0, 0, 0, 0, 0}, {51, 85, 272, 0, 0, 0, 0}, {170, 544, 4128, 0, 0, 0, 0}, {51, 771, 1096, 4099, 0, 0, 0}, {204, 1088, 4160, 0, 0, 0, 0}, {552, 85, 1285, 4101, 0, 0, 0}, {552, 102, 1070, 4102, 0, 0, 0}, {255, 1904, 4208, 0, 0, 0, 0}, {4240, 2048, 12336, 20560, 0, 0, 0}, {264, 51, 768, 85, 1280, 4369, 0}, {170, 520, 4122, 0, 0, 0, 0}, {51, 768, 1024, 4191, 0, 0, 0}, {204, 1032, 4124, 0, 0, 0, 0}, {512, 85, 1280, 4159, 0, 0, 0}, {512, 102, 1024, 4156, 0, 0, 0}, {255, 1800, 4127, 0, 0, 0, 0}, {2056, 4112, 0, 0, 0, 0, 0}, {51, 85, 256, 0, 0, 0, 0}, {170, 512, 4144, 0, 0, 0, 0}, {51, 768, 1032, 4115, 0, 0, 0}, {204, 1024, 4176, 0, 0, 0, 0}, {520, 85, 1280, 4117, 0, 0, 0}, {520, 102, 1032, 4118, 0, 0, 0}, {255, 1792, 4192, 0, 0, 0, 0}, {4256, 2048, 12288, 16384, 0, 0, 0}, {267, 51, 771, 85, 1028, 4369, 0}, {170, 520, 4138, 0, 0, 0, 0}, {51, 771, 1036, 4188, 0, 0, 0}, {204, 1028, 4140, 0, 0, 0, 0}, {512, 85, 1295, 4111, 0, 0, 0}, {512, 102, 1036, 4108, 0, 0, 0}, {255, 1799, 4143, 0, 0, 0, 0}, {2056, 4128, 0, 0, 0, 0, 0}, {51, 85, 259, 0, 0, 0, 0}, {170, 512, 4096, 0, 0, 0, 0}, {51, 771, 1028, 4112, 0, 0, 0}, {204, 1036, 4192, 0, 0, 0, 0}, {520, 85, 1295, 4133, 0, 0, 0}, {520, 102, 1028, 4134, 0, 0, 0}, {255, 1807, 4176, 0, 0, 0, 0}, {4272, 6192, 12336, 16448, 0, 0, 0}, {283, 51, 768, 85, 1041, 4369, 0}, {170, 552, 4154, 0, 0, 0, 0}, {51, 768, 1100, 4172, 0, 0, 0}, {204, 1092, 4156, 0, 0, 0, 0}, {544, 85, 1290, 4127, 0, 0, 0}, {544, 102, 1066, 4124, 0, 0, 0}, {255, 1911, 4159, 0, 0, 0, 0}, {2184, 4144, 0, 0, 0, 0, 0}, {51, 85, 275, 0, 0, 0, 0}, {170, 544, 4112, 0, 0, 0, 0}, {51, 768, 1092, 4096, 0, 0, 0}, {204, 1100, 4208, 0, 0, 0, 0}, {552, 85, 1290, 4149, 0, 0, 0}, {552, 102, 1058, 4150, 0, 0, 0}, {255, 1919, 4160, 0, 0, 0, 0}, {4288, 2048, 8192, 20480, 0, 0, 0}, {269, 51, 514, 85, 1285, 4369, 0}, {170, 514, 4170, 0, 0, 0, 0}, {51, 783, 1024, 4111, 0, 0, 0}, {204, 1032, 4172, 0, 0, 0, 0}, {522, 85, 1285, 4154, 0, 0, 0}, {522, 102, 1024, 4106, 0, 0, 0}, {255, 1799, 4175, 0, 0, 0, 0}, {2056, 4160, 0, 0, 0, 0, 0}, {51, 85, 261, 0, 0, 0, 0}, {170, 522, 4192, 0, 0, 0, 0}, {51, 783, 1032, 4163, 0, 0, 0}, {204, 1024, 4096, 0, 0, 0, 0}, {514, 85, 1285, 4112, 0, 0, 0}, {514, 102, 1032, 4128, 0, 0, 0}, {255, 1807, 4144, 0, 0, 0, 0}, {4304, 6224, 8224, 20560, 0, 0, 0}, {285, 51, 529, 85, 1280, 4369, 0}, {170, 546, 4186, 0, 0, 0, 0}, {51, 780, 1088, 4127, 0, 0, 0}, {204, 1096, 4188, 0, 0, 0, 0}, {554, 85, 1280, 4138, 0, 0, 0}, {554, 102, 1062, 4122, 0, 0, 0}, {255, 1911, 4191, 0, 0, 0, 0}, {2184, 4176, 0, 0, 0, 0, 0}, {51, 85, 277, 0, 0, 0, 0}, {170, 554, 4208, 0, 0, 0, 0}, {51, 780, 1096, 4179, 0, 0, 0}, {204, 1088, 4112, 0, 0, 0, 0}, {546, 85, 1280, 4096, 0, 0, 0}, {546, 102, 1070, 4144, 0, 0, 0}, {255, 1919, 4128, 0, 0, 0, 0}, {4320, 6240, 8224, 16448, 0, 0, 0}, {286, 51, 529, 85, 1041, 4369, 0}, {170, 546, 4202, 0, 0, 0, 0}, {51, 783, 1100, 4124, 0, 0, 0}, {204, 1092, 4204, 0, 0, 0, 0}, {554, 85, 1295, 4122, 0, 0, 0}, {554, 102, 1066, 4138, 0, 0, 0}, {255, 1912, 4207, 0, 0, 0, 0}, {2184, 4192, 0, 0, 0, 0, 0}, {51, 85, 278, 0, 0, 0, 0}, {170, 554, 4160, 0, 0, 0, 0}, {51, 783, 1092, 4176, 0, 0, 0}, {204, 1100, 4128, 0, 0, 0, 0}, {546, 85, 1295, 4144, 0, 0, 0}, {546, 102, 1058, 4096, 0, 0, 0}, {255, 1904, 4112, 0, 0, 0, 0}, {4336, 2048, 8192, 16384, 0, 0, 0}, {270, 51, 514, 85, 1028, 4369, 0}, {170, 514, 4218, 0, 0, 0, 0}, {51, 780, 1036, 4108, 0, 0, 0}, {204, 1028, 4220, 0, 0, 0, 0}, {522, 85, 1290, 4106, 0, 0, 0}, {522, 102, 1036, 4154, 0, 0, 0}, {255, 1800, 4223, 0, 0, 0, 0}, {2056, 4208, 0, 0, 0, 0, 0}, {51, 85, 262, 0, 0, 0, 0}, {170, 522, 4176, 0, 0, 0, 0}, {51, 780, 1028, 4160, 0, 0, 0}, {204, 1036, 4144, 0, 0, 0, 0}, {514, 85, 1290, 4128, 0, 0, 0}, {514, 102, 1028, 4112, 0, 0, 0}, {255, 1792, 4096, 0, 0, 0, 0}, {13056, 21760, 0, 0, 0, 0, 0}, {8, 16, 257, 0, 0, 0, 0}, {8, 32, 514, 4354, 0, 0, 0}, {48, 771, 21775, 0, 0, 0, 0}, {8, 64, 1028, 4356, 0, 0, 0}, {13071, 80, 1285, 0, 0, 0, 0}, {13068, 96, 1542, 0, 0, 0, 0}, {8, 112, 1799, 4359, 0, 0, 0}, {8, 4352, 0, 0, 0, 0, 0}, {48, 771, 80, 1285, 0, 0, 0}, {160, 2570, 13056, 21770, 0, 0, 0}, {8, 48, 771, 64, 1028, 4355, 0}, {192, 3084, 13068, 21760, 0, 0, 0}, {8, 32, 514, 80, 1285, 4357, 0}, {8, 32, 514, 64, 1028, 4358, 0}, {240, 3855, 13071, 21775, 0, 0, 0}, {768, 1280, 16, 0, 0, 0, 0}, {136, 4369, 0, 0, 0, 0, 0}, {48, 768, 72, 4370, 0, 0, 0}, {2560, 32, 4883, 0, 0, 0, 0}, {40, 80, 1280, 4372, 0, 0, 0}, {3072, 64, 5397, 0, 0, 0, 0}, {3840, 112, 5654, 0, 0, 0, 0}, {40, 72, 1536, 4375, 0, 0, 0}, {24, 48, 768, 80, 1280, 4352, 0}, {128, 6425, 13107, 21845, 0, 0, 0}, {48, 768, 64, 5402, 0, 0, 0}, {2560, 40, 4379, 0, 0, 0, 0}, {32, 80, 1280, 4892, 0, 0, 0}, {3072, 72, 4381, 0, 0, 0, 0}, {3840, 120, 4382, 0, 0, 0, 0}, {32, 64, 1536, 4895, 0, 0, 0}, {2560, 32, 4864, 0, 0, 0, 0}, {48, 771, 72, 4369, 0, 0, 0}, {136, 4386, 0, 0, 0, 0, 0}, {771, 1295, 16, 0, 0, 0, 0}, {40, 72, 1548, 4364, 0, 0, 0}, {3855, 112, 5674, 0, 0, 0, 0}, {3084, 64, 5418, 0, 0, 0, 0}, {40, 80, 1295, 4367, 0, 0, 0}, {2560, 40, 4352, 0, 0, 0, 0}, {48, 771, 64, 5397, 0, 0, 0}, {128, 6442, 13056, 21802, 0, 0, 0}, {24, 48, 771, 80, 1303, 4355, 0}, {32, 64, 1548, 4876, 0, 0, 0}, {3855, 120, 4397, 0, 0, 0, 0}, {3084, 72, 4398, 0, 0, 0, 0}, {32, 80, 1295, 4879, 0, 0, 0}, {48, 768, 21760, 0, 0, 0, 0}, {8, 32, 514, 4369, 0, 0, 0}, {8, 16, 258, 0, 0, 0, 0}, {13107, 22015, 0, 0, 0, 0, 0}, {8, 112, 1792, 4404, 0, 0, 0}, {13119, 96, 1546, 0, 0, 0, 0}, {13116, 80, 1290, 0, 0, 0, 0}, {8, 64, 1024, 4407, 0, 0, 0}, {8, 48, 768, 64, 1024, 4352, 0}, {160, 2570, 13107, 21845, 0, 0, 0}, {48, 768, 80, 1290, 0, 0, 0}, {8, 4403, 0, 0, 0, 0, 0}, {240, 3840, 13116, 21760, 0, 0, 0}, {8, 32, 514, 64, 1024, 4373, 0}, {8, 32, 514, 80, 1282, 4374, 0}, {192, 3072, 13119, 21823, 0, 0, 0}, {3072, 64, 5376, 0, 0, 0, 0}, {40, 80, 1285, 4369, 0, 0, 0}, {40, 72, 1546, 4362, 0, 0, 0}, {3855, 112, 5692, 0, 0, 0, 0}, {136, 4420, 0, 0, 0, 0, 0}, {783, 1285, 16, 0, 0, 0, 0}, {2570, 32, 4940, 0, 0, 0, 0}, {48, 783, 72, 4367, 0, 0, 0}, {3072, 72, 4352, 0, 0, 0, 0}, {32, 80, 1285, 4883, 0, 0, 0}, {32, 64, 1546, 4864, 0, 0, 0}, {3855, 120, 4403, 0, 0, 0, 0}, {128, 6476, 13132, 21760, 0, 0, 0}, {24, 48, 791, 80, 1285, 4357, 0}, {2570, 40, 4430, 0, 0, 0, 0}, {48, 783, 64, 5391, 0, 0, 0}, {13056, 80, 1280, 0, 0, 0, 0}, {8, 64, 1028, 4369, 0, 0, 0}, {8, 112, 1792, 4386, 0, 0, 0}, {13107, 96, 1548, 0, 0, 0, 0}, {8, 16, 260, 0, 0, 0, 0}, {13311, 21845, 0, 0, 0, 0, 0}, {48, 780, 21850, 0, 0, 0, 0}, {8, 32, 512, 4439, 0, 0, 0}, {8, 32, 512, 80, 1280, 4352, 0}, {192, 3084, 13107, 21845, 0, 0, 0}, {240, 3840, 13056, 21850, 0, 0, 0}, {8, 32, 512, 64, 1028, 4371, 0}, {48, 780, 80, 1280, 0, 0, 0}, {8, 4437, 0, 0, 0, 0, 0}, {8, 48, 772, 64, 1028, 4374, 0}, {160, 2560, 13151, 21855, 0, 0, 0}, {13056, 96, 1536, 0, 0, 0, 0}, {8, 112, 1799, 4369, 0, 0, 0}, {8, 64, 1024, 4386, 0, 0, 0}, {13107, 80, 1295, 0, 0, 0, 0}, {8, 32, 512, 4420, 0, 0, 0}, {48, 783, 21845, 0, 0, 0, 0}, {13260, 21930, 0, 0, 0, 0, 0}, {8, 16, 263, 0, 0, 0, 0}, {8, 32, 512, 64, 1024, 4352, 0}, {240, 3855, 13107, 21845, 0, 0, 0}, {192, 3072, 13056, 21866, 0, 0, 0}, {8, 32, 512, 80, 1287, 4371, 0}, {160, 2560, 13164, 21760, 0, 0, 0}, {8, 48, 775, 64, 1024, 4373, 0}, {8, 4454, 0, 0, 0, 0, 0}, {48, 783, 80, 1295, 0, 0, 0}, {3840, 112, 5632, 0, 0, 0, 0}, {40, 72, 1542, 4369, 0, 0, 0}, {40, 80, 1290, 4362, 0, 0, 0}, {3084, 64, 5439, 0, 0, 0, 0}, {48, 780, 72, 4364, 0, 0, 0}, {2570, 32, 4959, 0, 0, 0, 0}, {780, 1290, 16, 0, 0, 0, 0}, {136, 4471, 0, 0, 0, 0, 0}, {3840, 120, 4352, 0, 0, 0, 0}, {32, 64, 1542, 4883, 0, 0, 0}, {32, 80, 1290, 4864, 0, 0, 0}, {3084, 72, 4403, 0, 0, 0, 0}, {48, 780, 64, 5376, 0, 0, 0}, {2570, 40, 4437, 0, 0, 0, 0}, {24, 48, 788, 80, 1298, 4358, 0}, {128, 6527, 13183, 21887, 0, 0, 0}, {128, 6400, 13056, 21760, 0, 0, 0}, {24, 48, 771, 80, 1285, 4369, 0}, {2570, 40, 4362, 0, 0, 0, 0}, {48, 771, 64, 5391, 0, 0, 0}, {3084, 72, 4364, 0, 0, 0, 0}, {32, 80, 1285, 4879, 0, 0, 0}, {32, 64, 1542, 4876, 0, 0, 0}, {3855, 120, 4367, 0, 0, 0, 0}, {136, 4352, 0, 0, 0, 0, 0}, {771, 1285, 16, 0, 0, 0, 0}, {2570, 32, 4864, 0, 0, 0, 0}, {48, 771, 72, 4355, 0, 0, 0}, {3084, 64, 5376, 0, 0, 0, 0}, {40, 80, 1285, 4357, 0, 0, 0}, {40, 72, 1542, 4358, 0, 0, 0}, {3855, 112, 5632, 0, 0, 0, 0}, {48, 768, 80, 1280, 0, 0, 0}, {8, 4369, 0, 0, 0, 0, 0}, {8, 48, 768, 64, 1024, 4370, 0}, {160, 2560, 13107, 21855, 0, 0, 0}, {8, 32, 512, 80, 1280, 4372, 0}, {192, 3072, 13119, 21845, 0, 0, 0}, {240, 3840, 13116, 21850, 0, 0, 0}, {8, 32, 512, 64, 1024, 4375, 0}, {8, 16, 256, 0, 0, 0, 0}, {13107, 21845, 0, 0, 0, 0, 0}, {48, 768, 21850, 0, 0, 0, 0}, {8, 32, 512, 4371, 0, 0, 0}, {13116, 80, 1280, 0, 0, 0, 0}, {8, 64, 1024, 4373, 0, 0, 0}, {8, 112, 1792, 4374, 0, 0, 0}, {13119, 96, 1536, 0, 0, 0, 0}, {160, 2560, 13056, 21760, 0, 0, 0}, {8, 48, 771, 64, 1028, 4369, 0}, {8, 4386, 0, 0, 0, 0, 0}, {48, 771, 80, 1295, 0, 0, 0}, {8, 32, 512, 64, 1028, 4356, 0}, {240, 3855, 13071, 21845, 0, 0, 0}, {192, 3084, 13068, 21866, 0, 0, 0}, {8, 32, 512, 80, 1287, 4359, 0}, {8, 32, 512, 4352, 0, 0, 0}, {48, 771, 21845, 0, 0, 0, 0}, {13056, 21930, 0, 0, 0, 0, 0}, {8, 16, 259, 0, 0, 0, 0}, {13068, 96, 1548, 0, 0, 0, 0}, {8, 112, 1799, 4389, 0, 0, 0}, {8, 64, 1028, 4390, 0, 0, 0}, {13071, 80, 1295, 0, 0, 0, 0}, {48, 768, 64, 5376, 0, 0, 0}, {2570, 40, 4369, 0, 0, 0, 0}, {24, 48, 768, 80, 1298, 4370, 0}, {128, 6451, 13107, 21887, 0, 0, 0}, {3840, 120, 4412, 0, 0, 0, 0}, {32, 64, 1546, 4895, 0, 0, 0}, {32, 80, 1290, 4892, 0, 0, 0}, {3072, 72, 4415, 0, 0, 0, 0}, {48, 768, 72, 4352, 0, 0, 0}, {2570, 32, 4883, 0, 0, 0, 0}, {768, 1290, 16, 0, 0, 0, 0}, {136, 4403, 0, 0, 0, 0, 0}, {3840, 112, 5692, 0, 0, 0, 0}, {40, 72, 1546, 4381, 0, 0, 0}, {40, 80, 1290, 4382, 0, 0, 0}, {3072, 64, 5439, 0, 0, 0, 0}, {192, 3072, 13056, 21760, 0, 0, 0}, {8, 32, 514, 80, 1285, 4369, 0}, {8, 32, 514, 64, 1024, 4354, 0}, {240, 3855, 13107, 21775, 0, 0, 0}, {8, 4420, 0, 0, 0, 0, 0}, {48, 783, 80, 1285, 0, 0, 0}, {160, 2570, 13164, 21770, 0, 0, 0}, {8, 48, 775, 64, 1024, 4359, 0}, {8, 64, 1024, 4352, 0, 0, 0}, {13107, 80, 1285, 0, 0, 0, 0}, {13056, 96, 1546, 0, 0, 0, 0}, {8, 112, 1799, 4403, 0, 0, 0}, {13260, 21760, 0, 0, 0, 0, 0}, {8, 16, 261, 0, 0, 0, 0}, {8, 32, 514, 4422, 0, 0, 0}, {48, 783, 21775, 0, 0, 0, 0}, {32, 80, 1280, 4864, 0, 0, 0}, {3084, 72, 4369, 0, 0, 0, 0}, {3840, 120, 4386, 0, 0, 0, 0}, {32, 64, 1548, 4883, 0, 0, 0}, {24, 48, 788, 80, 1280, 4372, 0}, {128, 6485, 13183, 21845, 0, 0, 0}, {48, 780, 64, 5402, 0, 0, 0}, {2560, 40, 4447, 0, 0, 0, 0}, {40, 80, 1280, 4352, 0, 0, 0}, {3084, 64, 5397, 0, 0, 0, 0}, {3840, 112, 5674, 0, 0, 0, 0}, {40, 72, 1548, 4379, 0, 0, 0}, {780, 1280, 16, 0, 0, 0, 0}, {136, 4437, 0, 0, 0, 0, 0}, {48, 780, 72, 4382, 0, 0, 0}, {2560, 32, 4959, 0, 0, 0, 0}, {32, 64, 1536, 4864, 0, 0, 0}, {3855, 120, 4369, 0, 0, 0, 0}, {3072, 72, 4386, 0, 0, 0, 0}, {32, 80, 1295, 4883, 0, 0, 0}, {2560, 40, 4420, 0, 0, 0, 0}, {48, 783, 64, 5397, 0, 0, 0}, {128, 6502, 13132, 21802, 0, 0, 0}, {24, 48, 791, 80, 1303, 4375, 0}, {40, 72, 1536, 4352, 0, 0, 0}, {3855, 112, 5654, 0, 0, 0, 0}, {3072, 64, 5418, 0, 0, 0, 0}, {40, 80, 1295, 4379, 0, 0, 0}, {2560, 32, 4940, 0, 0, 0, 0}, {48, 783, 72, 4381, 0, 0, 0}, {136, 4454, 0, 0, 0, 0, 0}, {783, 1295, 16, 0, 0, 0, 0}, {240, 3840, 13056, 21760, 0, 0, 0}, {8, 32, 514, 64, 1028, 4369, 0}, {8, 32, 514, 80, 1282, 4354, 0}, {192, 3084, 13107, 21823, 0, 0, 0}, {8, 48, 772, 64, 1028, 4356, 0}, {160, 2570, 13151, 21845, 0, 0, 0}, {48, 780, 80, 1290, 0, 0, 0}, {8, 4471, 0, 0, 0, 0, 0}, {8, 112, 1792, 4352, 0, 0, 0}, {13107, 96, 1542, 0, 0, 0, 0}, {13056, 80, 1290, 0, 0, 0, 0}, {8, 64, 1028, 4403, 0, 0, 0}, {48, 780, 21760, 0, 0, 0, 0}, {8, 32, 514, 4437, 0, 0, 0}, {8, 16, 262, 0, 0, 0, 0}, {13311, 22015, 0, 0, 0, 0, 0}, {12288, 23040, 0, 0, 0, 0, 0}, {8, 19, 257, 0, 0, 0, 0}, {8, 32, 514, 4096, 0, 0, 0}, {51, 771, 21760, 0, 0, 0, 0}, {8, 68, 1028, 4612, 0, 0, 0}, {12303, 95, 1285, 0, 0, 0, 0}, {12300, 108, 1542, 0, 0, 0, 0}, {8, 119, 1799, 4615, 0, 0, 0}, {8, 4608, 0, 0, 0, 0, 0}, {51, 771, 95, 1285, 0, 0, 0}, {160, 2570, 12288, 20480, 0, 0, 0}, {8, 51, 771, 68, 1028, 4352, 0}, {204, 3084, 12300, 22028, 0, 0, 0}, {8, 32, 514, 87, 1285, 4103, 0}, {8, 32, 514, 68, 1028, 4100, 0}, {255, 3855, 12303, 21760, 0, 0, 0}, {2560, 32, 4112, 0, 0, 0, 0}, {51, 768, 68, 4369, 0, 0, 0}, {136, 4626, 0, 0, 0, 0, 0}, {768, 1280, 19, 0, 0, 0, 0}, {40, 68, 1536, 4628, 0, 0, 0}, {3840, 127, 5397, 0, 0, 0, 0}, {3072, 76, 5654, 0, 0, 0, 0}, {40, 95, 1280, 4631, 0, 0, 0}, {2560, 40, 4632, 0, 0, 0, 0}, {51, 768, 76, 5401, 0, 0, 0}, {128, 6682, 12336, 16448, 0, 0, 0}, {27, 51, 768, 68, 1280, 4352, 0}, {32, 76, 1536, 4124, 0, 0, 0}, {3840, 119, 4637, 0, 0, 0, 0}, {3072, 68, 4638, 0, 0, 0, 0}, {32, 95, 1280, 4127, 0, 0, 0}, {2560, 32, 4096, 0, 0, 0, 0}, {51, 771, 68, 4369, 0, 0, 0}, {136, 4642, 0, 0, 0, 0, 0}, {771, 1295, 19, 0, 0, 0, 0}, {40, 68, 1548, 4620, 0, 0, 0}, {3855, 127, 5418, 0, 0, 0, 0}, {3084, 76, 5674, 0, 0, 0, 0}, {40, 95, 1295, 4623, 0, 0, 0}, {2560, 40, 4608, 0, 0, 0, 0}, {51, 771, 76, 5397, 0, 0, 0}, {128, 6698, 12288, 16384, 0, 0, 0}, {27, 51, 771, 68, 1300, 4352, 0}, {32, 76, 1548, 4108, 0, 0, 0}, {3855, 119, 4653, 0, 0, 0, 0}, {3084, 68, 4654, 0, 0, 0, 0}, {32, 95, 1295, 4111, 0, 0, 0}, {12336, 23280, 0, 0, 0, 0, 0}, {8, 19, 258, 0, 0, 0, 0}, {8, 32, 514, 4112, 0, 0, 0}, {51, 768, 21760, 0, 0, 0, 0}, {8, 68, 1024, 4660, 0, 0, 0}, {12351, 95, 1290, 0, 0, 0, 0}, {12348, 108, 1546, 0, 0, 0, 0}, {8, 119, 1792, 4663, 0, 0, 0}, {8, 4656, 0, 0, 0, 0, 0}, {51, 768, 95, 1290, 0, 0, 0}, {160, 2570, 12336, 20560, 0, 0, 0}, {8, 51, 768, 68, 1024, 4352, 0}, {204, 3072, 12348, 22076, 0, 0, 0}, {8, 32, 514, 87, 1282, 4119, 0}, {8, 32, 514, 68, 1024, 4116, 0}, {255, 3840, 12351, 21760, 0, 0, 0}, {128, 6720, 12352, 16448, 0, 0, 0}, {27, 51, 788, 68, 1285, 4369, 0}, {2570, 40, 4674, 0, 0, 0, 0}, {51, 783, 76, 5376, 0, 0, 0}, {3072, 68, 4608, 0, 0, 0, 0}, {32, 95, 1285, 4112, 0, 0, 0}, {32, 76, 1546, 4096, 0, 0, 0}, {3855, 119, 4656, 0, 0, 0, 0}, {136, 4680, 0, 0, 0, 0, 0}, {783, 1285, 19, 0, 0, 0, 0}, {2570, 32, 4160, 0, 0, 0, 0}, {51, 783, 68, 4352, 0, 0, 0}, {3072, 76, 5632, 0, 0, 0, 0}, {40, 95, 1285, 4626, 0, 0, 0}, {40, 68, 1546, 4618, 0, 0, 0}, {3855, 127, 5439, 0, 0, 0, 0}, {160, 2560, 12368, 20560, 0, 0, 0}, {8, 51, 772, 68, 1028, 4369, 0}, {8, 4690, 0, 0, 0, 0, 0}, {51, 780, 95, 1280, 0, 0, 0}, {8, 32, 512, 68, 1028, 4112, 0}, {255, 3840, 12288, 21845, 0, 0, 0}, {204, 3084, 12336, 22102, 0, 0, 0}, {8, 32, 512, 87, 1280, 4096, 0}, {8, 32, 512, 4176, 0, 0, 0}, {51, 780, 21845, 0, 0, 0, 0}, {12528, 23130, 0, 0, 0, 0, 0}, {8, 19, 260, 0, 0, 0, 0}, {12336, 108, 1548, 0, 0, 0, 0}, {8, 119, 1792, 4642, 0, 0, 0}, {8, 68, 1028, 4626, 0, 0, 0}, {12288, 95, 1280, 0, 0, 0, 0}, {160, 2560, 12384, 20480, 0, 0, 0}, {8, 51, 775, 68, 1024, 4369, 0}, {8, 4706, 0, 0, 0, 0, 0}, {51, 783, 95, 1295, 0, 0, 0}, {8, 32, 512, 68, 1024, 4096, 0}, {255, 3855, 12336, 21845, 0, 0, 0}, {204, 3072, 12288, 22118, 0, 0, 0}, {8, 32, 512, 87, 1287, 4112, 0}, {8, 32, 512, 4160, 0, 0, 0}, {51, 783, 21845, 0, 0, 0, 0}, {12480, 23210, 0, 0, 0, 0, 0}, {8, 19, 263, 0, 0, 0, 0}, {12288, 108, 1536, 0, 0, 0, 0}, {8, 119, 1799, 4626, 0, 0, 0}, {8, 68, 1024, 4642, 0, 0, 0}, {12336, 95, 1295, 0, 0, 0, 0}, {128, 6768, 12400, 16384, 0, 0, 0}, {27, 51, 791, 68, 1297, 4369, 0}, {2570, 40, 4698, 0, 0, 0, 0}, {51, 780, 76, 5388, 0, 0, 0}, {3084, 68, 4656, 0, 0, 0, 0}, {32, 95, 1290, 4096, 0, 0, 0}, {32, 76, 1542, 4112, 0, 0, 0}, {3840, 119, 4608, 0, 0, 0, 0}, {136, 4728, 0, 0, 0, 0, 0}, {780, 1290, 19, 0, 0, 0, 0}, {2570, 32, 4176, 0, 0, 0, 0}, {51, 780, 68, 4352, 0, 0, 0}, {3084, 76, 5692, 0, 0, 0, 0}, {40, 95, 1290, 4618, 0, 0, 0}, {40, 68, 1542, 4626, 0, 0, 0}, {3840, 127, 5376, 0, 0, 0, 0}, {128, 6656, 12288, 16384, 0, 0, 0}, {27, 51, 771, 68, 1285, 4369, 0}, {2570, 40, 4618, 0, 0, 0, 0}, {51, 771, 76, 5388, 0, 0, 0}, {3084, 68, 4620, 0, 0, 0, 0}, {32, 95, 1285, 4111, 0, 0, 0}, {32, 76, 1542, 4108, 0, 0, 0}, {3855, 119, 4623, 0, 0, 0, 0}, {136, 4608, 0, 0, 0, 0, 0}, {771, 1285, 19, 0, 0, 0, 0}, {2570, 32, 4096, 0, 0, 0, 0}, {51, 771, 68, 4352, 0, 0, 0}, {3084, 76, 5632, 0, 0, 0, 0}, {40, 95, 1285, 4613, 0, 0, 0}, {40, 68, 1542, 4614, 0, 0, 0}, {3855, 127, 5376, 0, 0, 0, 0}, {160, 2560, 12336, 20560, 0, 0, 0}, {8, 51, 768, 68, 1024, 4369, 0}, {8, 4626, 0, 0, 0, 0, 0}, {51, 768, 95, 1280, 0, 0, 0}, {8, 32, 512, 68, 1024, 4116, 0}, {255, 3840, 12351, 21845, 0, 0, 0}, {204, 3072, 12348, 22106, 0, 0, 0}, {8, 32, 512, 87, 1280, 4119, 0}, {8, 32, 512, 4112, 0, 0, 0}, {51, 768, 21845, 0, 0, 0, 0}, {12336, 23130, 0, 0, 0, 0, 0}, {8, 19, 256, 0, 0, 0, 0}, {12348, 108, 1536, 0, 0, 0, 0}, {8, 119, 1792, 4629, 0, 0, 0}, {8, 68, 1024, 4630, 0, 0, 0}, {12351, 95, 1280, 0, 0, 0, 0}, {160, 2560, 12288, 20480, 0, 0, 0}, {8, 51, 771, 68, 1028, 4369, 0}, {8, 4642, 0, 0, 0, 0, 0}, {51, 771, 95, 1295, 0, 0, 0}, {8, 32, 512, 68, 1028, 4100, 0}, {255, 3855, 12303, 21845, 0, 0, 0}, {204, 3084, 12300, 22122, 0, 0, 0}, {8, 32, 512, 87, 1287, 4103, 0}, {8, 32, 512, 4096, 0, 0, 0}, {51, 771, 21845, 0, 0, 0, 0}, {12288, 23210, 0, 0, 0, 0, 0}, {8, 19, 259, 0, 0, 0, 0}, {12300, 108, 1548, 0, 0, 0, 0}, {8, 119, 1799, 4645, 0, 0, 0}, {8, 68, 1028, 4646, 0, 0, 0}, {12303, 95, 1295, 0, 0, 0, 0}, {128, 6704, 12336, 16448, 0, 0, 0}, {27, 51, 768, 68, 1297, 4369, 0}, {2570, 40, 4626, 0, 0, 0, 0}, {51, 768, 76, 5376, 0, 0, 0}, {3072, 68, 4668, 0, 0, 0, 0}, {32, 95, 1290, 4127, 0, 0, 0}, {32, 76, 1546, 4124, 0, 0, 0}, {3840, 119, 4671, 0, 0, 0, 0}, {136, 4656, 0, 0, 0, 0, 0}, {768, 1290, 19, 0, 0, 0, 0}, {2570, 32, 4112, 0, 0, 0, 0}, {51, 768, 68, 4352, 0, 0, 0}, {3072, 76, 5692, 0, 0, 0, 0}, {40, 95, 1290, 4637, 0, 0, 0}, {40, 68, 1546, 4638, 0, 0, 0}, {3840, 127, 5439, 0, 0, 0, 0}, {12480, 23040, 0, 0, 0, 0, 0}, {8, 19, 261, 0, 0, 0, 0}, {8, 32, 514, 4160, 0, 0, 0}, {51, 783, 21760, 0, 0, 0, 0}, {8, 68, 1024, 4608, 0, 0, 0}, {12336, 95, 1285, 0, 0, 0, 0}, {12288, 108, 1546, 0, 0, 0, 0}, {8, 119, 1799, 4656, 0, 0, 0}, {8, 4672, 0, 0, 0, 0, 0}, {51, 783, 95, 1285, 0, 0, 0}, {160, 2570, 12384, 20480, 0, 0, 0}, {8, 51, 775, 68, 1024, 4352, 0}, {204, 3072, 12288, 22016, 0, 0, 0}, {8, 32, 514, 87, 1285, 4112, 0}, {8, 32, 514, 68, 1024, 4096, 0}, {255, 3855, 12336, 21760, 0, 0, 0}, {2560, 32, 4176, 0, 0, 0, 0}, {51, 780, 68, 4369, 0, 0, 0}, {136, 4698, 0, 0, 0, 0, 0}, {780, 1280, 19, 0, 0, 0, 0}, {40, 68, 1548, 4632, 0, 0, 0}, {3840, 127, 5418, 0, 0, 0, 0}, {3084, 76, 5654, 0, 0, 0, 0}, {40, 95, 1280, 4608, 0, 0, 0}, {2560, 40, 4688, 0, 0, 0, 0}, {51, 780, 76, 5397, 0, 0, 0}, {128, 6746, 12400, 16384, 0, 0, 0}, {27, 51, 791, 68, 1280, 4352, 0}, {32, 76, 1548, 4112, 0, 0, 0}, {3840, 119, 4642, 0, 0, 0, 0}, {3084, 68, 4626, 0, 0, 0, 0}, {32, 95, 1280, 4096, 0, 0, 0}, {2560, 32, 4160, 0, 0, 0, 0}, {51, 783, 68, 4369, 0, 0, 0}, {136, 4714, 0, 0, 0, 0, 0}, {783, 1295, 19, 0, 0, 0, 0}, {40, 68, 1536, 4608, 0, 0, 0}, {3855, 127, 5397, 0, 0, 0, 0}, {3072, 76, 5674, 0, 0, 0, 0}, {40, 95, 1295, 4632, 0, 0, 0}, {2560, 40, 4680, 0, 0, 0, 0}, {51, 783, 76, 5401, 0, 0, 0}, {128, 6762, 12352, 16448, 0, 0, 0}, {27, 51, 788, 68, 1300, 4352, 0}, {32, 76, 1536, 4096, 0, 0, 0}, {3855, 119, 4626, 0, 0, 0, 0}, {3072, 68, 4642, 0, 0, 0, 0}, {32, 95, 1295, 4112, 0, 0, 0}, {12528, 23280, 0, 0, 0, 0, 0}, {8, 19, 262, 0, 0, 0, 0}, {8, 32, 514, 4176, 0, 0, 0}, {51, 780, 21760, 0, 0, 0, 0}, {8, 68, 1028, 4656, 0, 0, 0}, {12288, 95, 1290, 0, 0, 0, 0}, {12336, 108, 1542, 0, 0, 0, 0}, {8, 119, 1792, 4608, 0, 0, 0}, {8, 4720, 0, 0, 0, 0, 0}, {51, 780, 95, 1290, 0, 0, 0}, {160, 2570, 12368, 20560, 0, 0, 0}, {8, 51, 772, 68, 1028, 4352, 0}, {204, 3084, 12336, 22064, 0, 0, 0}, {8, 32, 514, 87, 1282, 4096, 0}, {8, 32, 514, 68, 1028, 4112, 0}, {255, 3840, 12288, 21760, 0, 0, 0}, {2048, 4864, 0, 0, 0, 0, 0}, {48, 90, 257, 0, 0, 0, 0}, {170, 514, 4386, 0, 0, 0, 0}, {48, 771, 1036, 4096, 0, 0, 0}, {192, 1028, 4940, 0, 0, 0, 0}, {522, 90, 1285, 4367, 0, 0, 0}, {522, 106, 1036, 4364, 0, 0, 0}, {240, 1799, 4991, 0, 0, 0, 0}, {4992, 2056, 13056, 22280, 0, 0, 0}, {265, 48, 771, 339, 1285, 4355, 0}, {170, 522, 4352, 0, 0, 0, 0}, {48, 771, 1028, 4160, 0, 0, 0}, {192, 1036, 4876, 0, 0, 0, 0}, {514, 90, 1285, 4397, 0, 0, 0}, {514, 106, 1028, 4398, 0, 0, 0}, {240, 1807, 4879, 0, 0, 0, 0}, {48, 768, 1088, 4112, 0, 0, 0}, {170, 546, 4369, 0, 0, 0, 0}, {48, 90, 274, 0, 0, 0, 0}, {2176, 4883, 0, 0, 0, 0, 0}, {240, 1912, 4972, 0, 0, 0, 0}, {554, 106, 1066, 4415, 0, 0, 0}, {554, 90, 1280, 4412, 0, 0, 0}, {192, 1096, 4959, 0, 0, 0, 0}, {48, 768, 1096, 4176, 0, 0, 0}, {170, 554, 4403, 0, 0, 0, 0}, {282, 48, 768, 320, 1280, 4352, 0}, {5011, 6939, 13107, 17476, 0, 0, 0}, {240, 1904, 4892, 0, 0, 0, 0}, {546, 106, 1058, 4381, 0, 0, 0}, {546, 90, 1280, 4382, 0, 0, 0}, {192, 1088, 4895, 0, 0, 0, 0}, {2176, 4896, 0, 0, 0, 0, 0}, {48, 90, 273, 0, 0, 0, 0}, {170, 546, 4386, 0, 0, 0, 0}, {48, 771, 1100, 4112, 0, 0, 0}, {192, 1092, 4972, 0, 0, 0, 0}, {554, 90, 1295, 4367, 0, 0, 0}, {554, 106, 1062, 4364, 0, 0, 0}, {240, 1911, 4959, 0, 0, 0, 0}, {5024, 6952, 13056, 22312, 0, 0, 0}, {281, 48, 771, 323, 1046, 4355, 0}, {170, 554, 4352, 0, 0, 0, 0}, {48, 771, 1092, 4176, 0, 0, 0}, {192, 1100, 4908, 0, 0, 0, 0}, {546, 90, 1295, 4397, 0, 0, 0}, {546, 106, 1070, 4398, 0, 0, 0}, {240, 1919, 4911, 0, 0, 0, 0}, {48, 768, 1024, 4096, 0, 0, 0}, {170, 514, 4369, 0, 0, 0, 0}, {48, 90, 258, 0, 0, 0, 0}, {2048, 4915, 0, 0, 0, 0, 0}, {240, 1800, 4940, 0, 0, 0, 0}, {522, 106, 1024, 4415, 0, 0, 0}, {522, 90, 1290, 4412, 0, 0, 0}, {192, 1032, 4991, 0, 0, 0, 0}, {48, 768, 1032, 4160, 0, 0, 0}, {170, 522, 4403, 0, 0, 0, 0}, {266, 48, 768, 336, 1024, 4352, 0}, {5043, 2056, 13107, 17476, 0, 0, 0}, {240, 1792, 4924, 0, 0, 0, 0}, {514, 106, 1032, 4381, 0, 0, 0}, {514, 90, 1290, 4382, 0, 0, 0}, {192, 1024, 4927, 0, 0, 0, 0}, {192, 1088, 4928, 0, 0, 0, 0}, {552, 90, 1285, 4369, 0, 0, 0}, {552, 106, 1058, 4386, 0, 0, 0}, {240, 1919, 4931, 0, 0, 0, 0}, {5068, 6980, 8192, 17476, 0, 0, 0}, {287, 48, 528, 325, 1285, 4112, 0}, {170, 544, 4454, 0, 0, 0, 0}, {48, 783, 1096, 4096, 0, 0, 0}, {192, 1096, 4864, 0, 0, 0, 0}, {544, 90, 1285, 4403, 0, 0, 0}, {544, 106, 1066, 4352, 0, 0, 0}, {240, 1911, 4915, 0, 0, 0, 0}, {2176, 4940, 0, 0, 0, 0, 0}, {48, 90, 279, 0, 0, 0, 0}, {170, 552, 4420, 0, 0, 0, 0}, {48, 783, 1088, 4160, 0, 0, 0}, {240, 1792, 4944, 0, 0, 0, 0}, {520, 106, 1028, 4369, 0, 0, 0}, {520, 90, 1280, 4386, 0, 0, 0}, {192, 1036, 4947, 0, 0, 0, 0}, {48, 780, 1028, 4112, 0, 0, 0}, {170, 512, 4437, 0, 0, 0, 0}, {268, 48, 512, 342, 1280, 4096, 0}, {5087, 2056, 8224, 22359, 0, 0, 0}, {240, 1800, 4896, 0, 0, 0, 0}, {512, 106, 1036, 4403, 0, 0, 0}, {512, 90, 1280, 4352, 0, 0, 0}, {192, 1028, 4883, 0, 0, 0, 0}, {48, 780, 1036, 4176, 0, 0, 0}, {170, 520, 4471, 0, 0, 0, 0}, {48, 90, 260, 0, 0, 0, 0}, {2048, 4959, 0, 0, 0, 0, 0}, {192, 1024, 4960, 0, 0, 0, 0}, {520, 90, 1295, 4369, 0, 0, 0}, {520, 106, 1032, 4386, 0, 0, 0}, {240, 1807, 4963, 0, 0, 0, 0}, {5100, 2056, 8224, 17476, 0, 0, 0}, {271, 48, 512, 341, 1024, 4096, 0}, {170, 512, 4454, 0, 0, 0, 0}, {48, 783, 1032, 4112, 0, 0, 0}, {192, 1032, 4896, 0, 0, 0, 0}, {512, 90, 1295, 4403, 0, 0, 0}, {512, 106, 1024, 4352, 0, 0, 0}, {240, 1799, 4883, 0, 0, 0, 0}, {2048, 4972, 0, 0, 0, 0, 0}, {48, 90, 263, 0, 0, 0, 0}, {170, 520, 4420, 0, 0, 0, 0}, {48, 783, 1024, 4176, 0, 0, 0}, {240, 1904, 4976, 0, 0, 0, 0}, {552, 106, 1070, 4369, 0, 0, 0}, {552, 90, 1290, 4386, 0, 0, 0}, {192, 1100, 4979, 0, 0, 0, 0}, {48, 780, 1092, 4096, 0, 0, 0}, {170, 544, 4437, 0, 0, 0, 0}, {284, 48, 528, 326, 1046, 4112, 0}, {5119, 7031, 8192, 22391, 0, 0, 0}, {240, 1912, 4864, 0, 0, 0, 0}, {544, 106, 1062, 4403, 0, 0, 0}, {544, 90, 1290, 4352, 0, 0, 0}, {192, 1092, 4915, 0, 0, 0, 0}, {48, 780, 1100, 4160, 0, 0, 0}, {170, 552, 4471, 0, 0, 0, 0}, {48, 90, 276, 0, 0, 0, 0}, {2176, 4991, 0, 0, 0, 0, 0}, {4992, 6912, 13056, 17408, 0, 0, 0}, {283, 48, 771, 321, 1285, 4369, 0}, {170, 552, 4386, 0, 0, 0, 0}, {48, 771, 1100, 4160, 0, 0, 0}, {192, 1092, 4876, 0, 0, 0, 0}, {544, 90, 1285, 4367, 0, 0, 0}, {544, 106, 1062, 4364, 0, 0, 0}, {240, 1911, 4879, 0, 0, 0, 0}, {2184, 4864, 0, 0, 0, 0, 0}, {48, 90, 275, 0, 0, 0, 0}, {170, 544, 4352, 0, 0, 0, 0}, {48, 771, 1092, 4096, 0, 0, 0}, {192, 1100, 4940, 0, 0, 0, 0}, {552, 90, 1285, 4397, 0, 0, 0}, {552, 106, 1070, 4398, 0, 0, 0}, {240, 1919, 4991, 0, 0, 0, 0}, {48, 768, 1024, 4176, 0, 0, 0}, {170, 520, 4369, 0, 0, 0, 0}, {264, 48, 768, 338, 1280, 4370, 0}, {5011, 2048, 13107, 22367, 0, 0, 0}, {240, 1800, 4892, 0, 0, 0, 0}, {512, 106, 1024, 4415, 0, 0, 0}, {512, 90, 1280, 4412, 0, 0, 0}, {192, 1032, 4895, 0, 0, 0, 0}, {48, 768, 1032, 4112, 0, 0, 0}, {170, 512, 4403, 0, 0, 0, 0}, {48, 90, 256, 0, 0, 0, 0}, {2056, 4883, 0, 0, 0, 0, 0}, {240, 1792, 4972, 0, 0, 0, 0}, {520, 106, 1032, 4381, 0, 0, 0}, {520, 90, 1280, 4382, 0, 0, 0}, {192, 1024, 4959, 0, 0, 0, 0}, {5024, 2048, 13056, 17408, 0, 0, 0}, {267, 48, 771, 337, 1028, 4369, 0}, {170, 520, 4386, 0, 0, 0, 0}, {48, 771, 1036, 4176, 0, 0, 0}, {192, 1028, 4908, 0, 0, 0, 0}, {512, 90, 1295, 4367, 0, 0, 0}, {512, 106, 1036, 4364, 0, 0, 0}, {240, 1799, 4911, 0, 0, 0, 0}, {2056, 4896, 0, 0, 0, 0, 0}, {48, 90, 259, 0, 0, 0, 0}, {170, 512, 4352, 0, 0, 0, 0}, {48, 771, 1028, 4112, 0, 0, 0}, {192, 1036, 4972, 0, 0, 0, 0}, {520, 90, 1295, 4397, 0, 0, 0}, {520, 106, 1028, 4398, 0, 0, 0}, {240, 1807, 4959, 0, 0, 0, 0}, {48, 768, 1088, 4160, 0, 0, 0}, {170, 552, 4369, 0, 0, 0, 0}, {280, 48, 768, 322, 1042, 4370, 0}, {5043, 6963, 13107, 22399, 0, 0, 0}, {240, 1912, 4924, 0, 0, 0, 0}, {544, 106, 1066, 4415, 0, 0, 0}, {544, 90, 1290, 4412, 0, 0, 0}, {192, 1096, 4927, 0, 0, 0, 0}, {48, 768, 1096, 4096, 0, 0, 0}, {170, 544, 4403, 0, 0, 0, 0}, {48, 90, 272, 0, 0, 0, 0}, {2184, 4915, 0, 0, 0, 0, 0}, {240, 1904, 4940, 0, 0, 0, 0}, {552, 106, 1058, 4381, 0, 0, 0}, {552, 90, 1290, 4382, 0, 0, 0}, {192, 1088, 4991, 0, 0, 0, 0}, {192, 1024, 4864, 0, 0, 0, 0}, {514, 90, 1285, 4369, 0, 0, 0}, {514, 106, 1032, 4386, 0, 0, 0}, {240, 1807, 4915, 0, 0, 0, 0}, {2056, 4940, 0, 0, 0, 0, 0}, {48, 90, 261, 0, 0, 0, 0}, {170, 522, 4454, 0, 0, 0, 0}, {48, 783, 1032, 4160, 0, 0, 0}, {192, 1032, 4928, 0, 0, 0, 0}, {522, 90, 1285, 4403, 0, 0, 0}, {522, 106, 1024, 4352, 0, 0, 0}, {240, 1799, 4931, 0, 0, 0, 0}, {5068, 2048, 8192, 22272, 0, 0, 0}, {269, 48, 514, 343, 1285, 4112, 0}, {170, 514, 4420, 0, 0, 0, 0}, {48, 783, 1024, 4096, 0, 0, 0}, {240, 1904, 4896, 0, 0, 0, 0}, {546, 106, 1070, 4369, 0, 0, 0}, {546, 90, 1280, 4386, 0, 0, 0}, {192, 1100, 4883, 0, 0, 0, 0}, {48, 780, 1092, 4176, 0, 0, 0}, {170, 554, 4437, 0, 0, 0, 0}, {48, 90, 278, 0, 0, 0, 0}, {2184, 4959, 0, 0, 0, 0, 0}, {240, 1912, 4944, 0, 0, 0, 0}, {554, 106, 1062, 4403, 0, 0, 0}, {554, 90, 1280, 4352, 0, 0, 0}, {192, 1092, 4947, 0, 0, 0, 0}, {48, 780, 1100, 4112, 0, 0, 0}, {170, 546, 4471, 0, 0, 0, 0}, {286, 48, 530, 324, 1280, 4096, 0}, {5087, 7007, 8224, 17408, 0, 0, 0}, {192, 1088, 4896, 0, 0, 0, 0}, {546, 90, 1295, 4369, 0, 0, 0}, {546, 106, 1058, 4386, 0, 0, 0}, {240, 1919, 4883, 0, 0, 0, 0}, {2184, 4972, 0, 0, 0, 0, 0}, {48, 90, 277, 0, 0, 0, 0}, {170, 554, 4454, 0, 0, 0, 0}, {48, 783, 1096, 4176, 0, 0, 0}, {192, 1096, 4960, 0, 0, 0, 0}, {554, 90, 1295, 4403, 0, 0, 0}, {554, 106, 1066, 4352, 0, 0, 0}, {240, 1911, 4963, 0, 0, 0, 0}, {5100, 7020, 8224, 22304, 0, 0, 0}, {285, 48, 530, 327, 1042, 4096, 0}, {170, 546, 4420, 0, 0, 0, 0}, {48, 783, 1088, 4112, 0, 0, 0}, {240, 1792, 4864, 0, 0, 0, 0}, {514, 106, 1028, 4369, 0, 0, 0}, {514, 90, 1290, 4386, 0, 0, 0}, {192, 1036, 4915, 0, 0, 0, 0}, {48, 780, 1028, 4160, 0, 0, 0}, {170, 522, 4437, 0, 0, 0, 0}, {48, 90, 262, 0, 0, 0, 0}, {2056, 4991, 0, 0, 0, 0, 0}, {240, 1800, 4976, 0, 0, 0, 0}, {522, 106, 1036, 4403, 0, 0, 0}, {522, 90, 1290, 4352, 0, 0, 0}, {192, 1028, 4979, 0, 0, 0, 0}, {48, 780, 1036, 4096, 0, 0, 0}, {170, 514, 4471, 0, 0, 0, 0}, {270, 48, 514, 340, 1028, 4112, 0}, {5119, 2048, 8192, 17408, 0, 0, 0}, {15360, 20480, 0, 0, 0, 0, 0}, {8, 21, 257, 0, 0, 0, 0}, {8, 34, 514, 5122, 0, 0, 0}, {63, 771, 20495, 0, 0, 0, 0}, {8, 64, 1028, 4096, 0, 0, 0}, {13056, 85, 1285, 0, 0, 0, 0}, {12288, 106, 1542, 0, 0, 0, 0}, {8, 119, 1799, 4864, 0, 0, 0}, {8, 5120, 0, 0, 0, 0, 0}, {63, 771, 85, 1285, 0, 0, 0}, {170, 2570, 13834, 20490, 0, 0, 0}, {8, 55, 771, 64, 1028, 4103, 0}, {192, 3084, 12288, 20480, 0, 0, 0}, {8, 34, 514, 85, 1285, 4352, 0}, {8, 34, 514, 64, 1028, 4098, 0}, {255, 3855, 13056, 20495, 0, 0, 0}, {3072, 64, 4112, 0, 0, 0, 0}, {34, 85, 1280, 4369, 0, 0, 0}, {34, 72, 1536, 4626, 0, 0, 0}, {3840, 127, 4883, 0, 0, 0, 0}, {136, 5140, 0, 0, 0, 0, 0}, {768, 1280, 21, 0, 0, 0, 0}, {2560, 42, 5654, 0, 0, 0, 0}, {63, 768, 72, 5143, 0, 0, 0}, {3072, 72, 5144, 0, 0, 0, 0}, {42, 85, 1280, 4889, 0, 0, 0}, {42, 64, 1536, 4122, 0, 0, 0}, {3840, 119, 5147, 0, 0, 0, 0}, {128, 7196, 8224, 20560, 0, 0, 0}, {29, 34, 768, 85, 1280, 4352, 0}, {2560, 34, 5150, 0, 0, 0, 0}, {63, 768, 64, 4127, 0, 0, 0}, {128, 7200, 8224, 20512, 0, 0, 0}, {29, 34, 771, 85, 1298, 4369, 0}, {2560, 34, 5120, 0, 0, 0, 0}, {63, 771, 64, 4112, 0, 0, 0}, {3084, 72, 5156, 0, 0, 0, 0}, {42, 85, 1295, 4864, 0, 0, 0}, {42, 64, 1548, 4096, 0, 0, 0}, {3855, 119, 5159, 0, 0, 0, 0}, {136, 5160, 0, 0, 0, 0, 0}, {771, 1295, 21, 0, 0, 0, 0}, {2560, 42, 5632, 0, 0, 0, 0}, {63, 771, 72, 5140, 0, 0, 0}, {3084, 64, 4128, 0, 0, 0, 0}, {34, 85, 1295, 4352, 0, 0, 0}, {34, 72, 1548, 4608, 0, 0, 0}, {3855, 127, 4896, 0, 0, 0, 0}, {192, 3072, 12336, 20528, 0, 0, 0}, {8, 34, 514, 85, 1282, 4369, 0}, {8, 34, 514, 64, 1024, 4112, 0}, {255, 3840, 13107, 20480, 0, 0, 0}, {8, 5172, 0, 0, 0, 0, 0}, {63, 768, 85, 1290, 0, 0, 0}, {170, 2570, 13878, 20560, 0, 0, 0}, {8, 55, 768, 64, 1024, 4096, 0}, {8, 64, 1024, 4144, 0, 0, 0}, {13107, 85, 1290, 0, 0, 0, 0}, {12336, 106, 1546, 0, 0, 0, 0}, {8, 119, 1792, 4915, 0, 0, 0}, {15420, 20720, 0, 0, 0, 0, 0}, {8, 21, 258, 0, 0, 0, 0}, {8, 34, 514, 5140, 0, 0, 0}, {63, 768, 20480, 0, 0, 0, 0}, {3072, 64, 4096, 0, 0, 0, 0}, {34, 85, 1285, 4369, 0, 0, 0}, {34, 72, 1546, 4608, 0, 0, 0}, {3855, 127, 4915, 0, 0, 0, 0}, {136, 5188, 0, 0, 0, 0, 0}, {783, 1285, 21, 0, 0, 0, 0}, {2570, 42, 5708, 0, 0, 0, 0}, {63, 783, 72, 5135, 0, 0, 0}, {3072, 72, 5120, 0, 0, 0, 0}, {42, 85, 1285, 4883, 0, 0, 0}, {42, 64, 1546, 4106, 0, 0, 0}, {3855, 119, 5180, 0, 0, 0, 0}, {128, 7244, 8192, 20480, 0, 0, 0}, {29, 34, 786, 85, 1285, 4352, 0}, {2570, 34, 5198, 0, 0, 0, 0}, {63, 783, 64, 4111, 0, 0, 0}, {15600, 20560, 0, 0, 0, 0, 0}, {8, 21, 260, 0, 0, 0, 0}, {8, 34, 512, 5202, 0, 0, 0}, {63, 780, 20575, 0, 0, 0, 0}, {8, 64, 1028, 4112, 0, 0, 0}, {13056, 85, 1280, 0, 0, 0, 0}, {12336, 106, 1548, 0, 0, 0, 0}, {8, 119, 1792, 4896, 0, 0, 0}, {8, 5200, 0, 0, 0, 0, 0}, {63, 780, 85, 1280, 0, 0, 0}, {170, 2560, 13914, 20570, 0, 0, 0}, {8, 55, 772, 64, 1028, 4119, 0}, {192, 3084, 12336, 20560, 0, 0, 0}, {8, 34, 512, 85, 1280, 4352, 0}, {8, 34, 512, 64, 1028, 4114, 0}, {255, 3840, 13056, 20575, 0, 0, 0}, {192, 3072, 12288, 20576, 0, 0, 0}, {8, 34, 512, 85, 1287, 4369, 0}, {8, 34, 512, 64, 1024, 4096, 0}, {255, 3855, 13107, 20560, 0, 0, 0}, {8, 5220, 0, 0, 0, 0, 0}, {63, 783, 85, 1295, 0, 0, 0}, {170, 2560, 13926, 20480, 0, 0, 0}, {8, 55, 775, 64, 1024, 4112, 0}, {8, 64, 1024, 4128, 0, 0, 0}, {13107, 85, 1295, 0, 0, 0, 0}, {12288, 106, 1536, 0, 0, 0, 0}, {8, 119, 1799, 4883, 0, 0, 0}, {15564, 20640, 0, 0, 0, 0, 0}, {8, 21, 263, 0, 0, 0, 0}, {8, 34, 512, 5188, 0, 0, 0}, {63, 783, 20560, 0, 0, 0, 0}, {128, 7280, 8192, 20592, 0, 0, 0}, {29, 34, 785, 85, 1303, 4369, 0}, {2570, 34, 5200, 0, 0, 0, 0}, {63, 780, 64, 4096, 0, 0, 0}, {3084, 72, 5180, 0, 0, 0, 0}, {42, 85, 1290, 4874, 0, 0, 0}, {42, 64, 1542, 4112, 0, 0, 0}, {3840, 119, 5120, 0, 0, 0, 0}, {136, 5240, 0, 0, 0, 0, 0}, {780, 1290, 21, 0, 0, 0, 0}, {2570, 42, 5722, 0, 0, 0, 0}, {63, 780, 72, 5132, 0, 0, 0}, {3084, 64, 4144, 0, 0, 0, 0}, {34, 85, 1290, 4352, 0, 0, 0}, {34, 72, 1542, 4626, 0, 0, 0}, {3840, 127, 4864, 0, 0, 0, 0}, {128, 7168, 8192, 20480, 0, 0, 0}, {29, 34, 771, 85, 1285, 4369, 0}, {2570, 34, 5130, 0, 0, 0, 0}, {63, 771, 64, 4111, 0, 0, 0}, {3084, 72, 5132, 0, 0, 0, 0}, {42, 85, 1285, 4874, 0, 0, 0}, {42, 64, 1542, 4106, 0, 0, 0}, {3855, 119, 5135, 0, 0, 0, 0}, {136, 5120, 0, 0, 0, 0, 0}, {771, 1285, 21, 0, 0, 0, 0}, {2570, 42, 5632, 0, 0, 0, 0}, {63, 771, 72, 5123, 0, 0, 0}, {3084, 64, 4096, 0, 0, 0, 0}, {34, 85, 1285, 4352, 0, 0, 0}, {34, 72, 1542, 4608, 0, 0, 0}, {3855, 127, 4864, 0, 0, 0, 0}, {192, 3072, 12336, 20560, 0, 0, 0}, {8, 34, 512, 85, 1280, 4369, 0}, {8, 34, 512, 64, 1024, 4114, 0}, {255, 3840, 13107, 20575, 0, 0, 0}, {8, 5140, 0, 0, 0, 0, 0}, {63, 768, 85, 1280, 0, 0, 0}, {170, 2560, 13884, 20570, 0, 0, 0}, {8, 55, 768, 64, 1024, 4119, 0}, {8, 64, 1024, 4112, 0, 0, 0}, {13107, 85, 1280, 0, 0, 0, 0}, {12336, 106, 1536, 0, 0, 0, 0}, {8, 119, 1792, 4883, 0, 0, 0}, {15420, 20560, 0, 0, 0, 0, 0}, {8, 21, 256, 0, 0, 0, 0}, {8, 34, 512, 5142, 0, 0, 0}, {63, 768, 20575, 0, 0, 0, 0}, {15360, 20640, 0, 0, 0, 0, 0}, {8, 21, 259, 0, 0, 0, 0}, {8, 34, 512, 5120, 0, 0, 0}, {63, 771, 20560, 0, 0, 0, 0}, {8, 64, 1028, 4128, 0, 0, 0}, {13056, 85, 1295, 0, 0, 0, 0}, {12288, 106, 1548, 0, 0, 0, 0}, {8, 119, 1799, 4896, 0, 0, 0}, {8, 5152, 0, 0, 0, 0, 0}, {63, 771, 85, 1295, 0, 0, 0}, {170, 2560, 13824, 20480, 0, 0, 0}, {8, 55, 771, 64, 1028, 4112, 0}, {192, 3084, 12288, 20576, 0, 0, 0}, {8, 34, 512, 85, 1287, 4352, 0}, {8, 34, 512, 64, 1028, 4096, 0}, {255, 3855, 13056, 20560, 0, 0, 0}, {3072, 64, 4144, 0, 0, 0, 0}, {34, 85, 1290, 4369, 0, 0, 0}, {34, 72, 1546, 4626, 0, 0, 0}, {3840, 127, 4915, 0, 0, 0, 0}, {136, 5180, 0, 0, 0, 0, 0}, {768, 1290, 21, 0, 0, 0, 0}, {2570, 42, 5654, 0, 0, 0, 0}, {63, 768, 72, 5120, 0, 0, 0}, {3072, 72, 5168, 0, 0, 0, 0}, {42, 85, 1290, 4883, 0, 0, 0}, {42, 64, 1546, 4112, 0, 0, 0}, {3840, 119, 5171, 0, 0, 0, 0}, {128, 7228, 8192, 20592, 0, 0, 0}, {29, 34, 768, 85, 1303, 4352, 0}, {2570, 34, 5140, 0, 0, 0, 0}, {63, 768, 64, 4096, 0, 0, 0}, {192, 3072, 12288, 20480, 0, 0, 0}, {8, 34, 514, 85, 1285, 4369, 0}, {8, 34, 514, 64, 1024, 4098, 0}, {255, 3855, 13107, 20495, 0, 0, 0}, {8, 5188, 0, 0, 0, 0, 0}, {63, 783, 85, 1285, 0, 0, 0}, {170, 2570, 13932, 20490, 0, 0, 0}, {8, 55, 775, 64, 1024, 4103, 0}, {8, 64, 1024, 4096, 0, 0, 0}, {13107, 85, 1285, 0, 0, 0, 0}, {12288, 106, 1546, 0, 0, 0, 0}, {8, 119, 1799, 4915, 0, 0, 0}, {15564, 20480, 0, 0, 0, 0, 0}, {8, 21, 261, 0, 0, 0, 0}, {8, 34, 514, 5190, 0, 0, 0}, {63, 783, 20495, 0, 0, 0, 0}, {128, 7248, 8224, 20560, 0, 0, 0}, {29, 34, 785, 85, 1280, 4369, 0}, {2560, 34, 5210, 0, 0, 0, 0}, {63, 780, 64, 4127, 0, 0, 0}, {3084, 72, 5140, 0, 0, 0, 0}, {42, 85, 1280, 4864, 0, 0, 0}, {42, 64, 1548, 4122, 0, 0, 0}, {3840, 119, 5160, 0, 0, 0, 0}, {136, 5200, 0, 0, 0, 0, 0}, {780, 1280, 21, 0, 0, 0, 0}, {2560, 42, 5722, 0, 0, 0, 0}, {63, 780, 72, 5147, 0, 0, 0}, {3084, 64, 4112, 0, 0, 0, 0}, {34, 85, 1280, 4352, 0, 0, 0}, {34, 72, 1548, 4626, 0, 0, 0}, {3840, 127, 4896, 0, 0, 0, 0}, {3072, 64, 4128, 0, 0, 0, 0}, {34, 85, 1295, 4369, 0, 0, 0}, {34, 72, 1536, 4608, 0, 0, 0}, {3855, 127, 4883, 0, 0, 0, 0}, {136, 5228, 0, 0, 0, 0, 0}, {783, 1295, 21, 0, 0, 0, 0}, {2560, 42, 5708, 0, 0, 0, 0}, {63, 783, 72, 5144, 0, 0, 0}, {3072, 72, 5160, 0, 0, 0, 0}, {42, 85, 1295, 4889, 0, 0, 0}, {42, 64, 1536, 4096, 0, 0, 0}, {3855, 119, 5140, 0, 0, 0, 0}, {128, 7276, 8224, 20512, 0, 0, 0}, {29, 34, 786, 85, 1298, 4352, 0}, {2560, 34, 5188, 0, 0, 0, 0}, {63, 783, 64, 4112, 0, 0, 0}, {15600, 20720, 0, 0, 0, 0, 0}, {8, 21, 262, 0, 0, 0, 0}, {8, 34, 514, 5200, 0, 0, 0}, {63, 780, 20480, 0, 0, 0, 0}, {8, 64, 1028, 4144, 0, 0, 0}, {13056, 85, 1290, 0, 0, 0, 0}, {12336, 106, 1542, 0, 0, 0, 0}, {8, 119, 1792, 4864, 0, 0, 0}, {8, 5232, 0, 0, 0, 0, 0}, {63, 780, 85, 1290, 0, 0, 0}, {170, 2570, 13904, 20560, 0, 0, 0}, {8, 55, 772, 64, 1028, 4096, 0}, {192, 3084, 12336, 20528, 0, 0, 0}, {8, 34, 514, 85, 1282, 4352, 0}, {8, 34, 514, 64, 1028, 4112, 0}, {255, 3840, 13056, 20480, 0, 0, 0}, {2048, 5376, 0, 0, 0, 0, 0}, {60, 80, 257, 0, 0, 0, 0}, {160, 514, 5418, 0, 0, 0, 0}, {60, 771, 1036, 4367, 0, 0, 0}, {204, 1028, 4420, 0, 0, 0, 0}, {522, 80, 1285, 4096, 0, 0, 0}, {522, 108, 1036, 4362, 0, 0, 0}, {240, 1799, 4728, 0, 0, 0, 0}, {5504, 2056, 14088, 21760, 0, 0, 0}, {265, 309, 771, 80, 1285, 4357, 0}, {160, 522, 5386, 0, 0, 0, 0}, {60, 771, 1028, 4427, 0, 0, 0}, {204, 1036, 4352, 0, 0, 0, 0}, {514, 80, 1285, 4128, 0, 0, 0}, {514, 108, 1028, 4386, 0, 0, 0}, {240, 1807, 4608, 0, 0, 0, 0}, {544, 80, 1280, 4112, 0, 0, 0}, {204, 1092, 4369, 0, 0, 0, 0}, {240, 1912, 4626, 0, 0, 0, 0}, {544, 108, 1056, 4403, 0, 0, 0}, {60, 80, 276, 0, 0, 0, 0}, {2176, 5397, 0, 0, 0, 0, 0}, {60, 768, 1100, 4442, 0, 0, 0}, {160, 552, 5439, 0, 0, 0, 0}, {552, 80, 1280, 4144, 0, 0, 0}, {204, 1100, 4437, 0, 0, 0, 0}, {240, 1904, 4714, 0, 0, 0, 0}, {552, 108, 1064, 4379, 0, 0, 0}, {284, 288, 768, 80, 1280, 4352, 0}, {5525, 7453, 8738, 21845, 0, 0, 0}, {60, 768, 1092, 4382, 0, 0, 0}, {160, 544, 5407, 0, 0, 0, 0}, {160, 544, 5408, 0, 0, 0, 0}, {60, 771, 1096, 4369, 0, 0, 0}, {5546, 7458, 8738, 16384, 0, 0, 0}, {287, 291, 771, 80, 1040, 4112, 0}, {552, 108, 1060, 4392, 0, 0, 0}, {240, 1919, 4698, 0, 0, 0, 0}, {204, 1088, 4454, 0, 0, 0, 0}, {552, 80, 1295, 4096, 0, 0, 0}, {160, 552, 5376, 0, 0, 0, 0}, {60, 771, 1088, 4437, 0, 0, 0}, {2176, 5418, 0, 0, 0, 0, 0}, {60, 80, 279, 0, 0, 0, 0}, {544, 108, 1068, 4352, 0, 0, 0}, {240, 1911, 4642, 0, 0, 0, 0}, {204, 1096, 4386, 0, 0, 0, 0}, {544, 80, 1295, 4128, 0, 0, 0}, {240, 1792, 4656, 0, 0, 0, 0}, {514, 108, 1032, 4369, 0, 0, 0}, {514, 80, 1290, 4112, 0, 0, 0}, {204, 1024, 4403, 0, 0, 0, 0}, {60, 768, 1032, 4420, 0, 0, 0}, {160, 522, 5429, 0, 0, 0, 0}, {266, 310, 768, 80, 1024, 4096, 0}, {5567, 2056, 14135, 16448, 0, 0, 0}, {240, 1800, 4680, 0, 0, 0, 0}, {522, 108, 1024, 4409, 0, 0, 0}, {522, 80, 1290, 4144, 0, 0, 0}, {204, 1032, 4471, 0, 0, 0, 0}, {60, 768, 1024, 4352, 0, 0, 0}, {160, 514, 5397, 0, 0, 0, 0}, {60, 80, 258, 0, 0, 0, 0}, {2048, 5439, 0, 0, 0, 0, 0}, {2176, 5440, 0, 0, 0, 0, 0}, {60, 80, 273, 0, 0, 0, 0}, {160, 546, 5482, 0, 0, 0, 0}, {60, 783, 1100, 4367, 0, 0, 0}, {204, 1092, 4420, 0, 0, 0, 0}, {554, 80, 1285, 4112, 0, 0, 0}, {554, 108, 1056, 4362, 0, 0, 0}, {240, 1911, 4680, 0, 0, 0, 0}, {5568, 7496, 14152, 21760, 0, 0, 0}, {281, 293, 534, 80, 1285, 4357, 0}, {160, 554, 5450, 0, 0, 0, 0}, {60, 783, 1092, 4427, 0, 0, 0}, {204, 1100, 4352, 0, 0, 0, 0}, {546, 80, 1285, 4144, 0, 0, 0}, {546, 108, 1064, 4386, 0, 0, 0}, {240, 1919, 4656, 0, 0, 0, 0}, {512, 80, 1280, 4096, 0, 0, 0}, {204, 1028, 4369, 0, 0, 0, 0}, {240, 1800, 4642, 0, 0, 0, 0}, {512, 108, 1036, 4403, 0, 0, 0}, {60, 80, 260, 0, 0, 0, 0}, {2048, 5461, 0, 0, 0, 0, 0}, {60, 780, 1036, 4442, 0, 0, 0}, {160, 520, 5503, 0, 0, 0, 0}, {520, 80, 1280, 4128, 0, 0, 0}, {204, 1036, 4437, 0, 0, 0, 0}, {240, 1792, 4698, 0, 0, 0, 0}, {520, 108, 1028, 4379, 0, 0, 0}, {268, 304, 512, 80, 1280, 4352, 0}, {5589, 2056, 8738, 21845, 0, 0, 0}, {60, 780, 1028, 4382, 0, 0, 0}, {160, 512, 5471, 0, 0, 0, 0}, {160, 512, 5472, 0, 0, 0, 0}, {60, 783, 1032, 4369, 0, 0, 0}, {5610, 2056, 8738, 16448, 0, 0, 0}, {271, 307, 512, 80, 1024, 4096, 0}, {520, 108, 1032, 4392, 0, 0, 0}, {240, 1807, 4714, 0, 0, 0, 0}, {204, 1024, 4454, 0, 0, 0, 0}, {520, 80, 1295, 4112, 0, 0, 0}, {160, 520, 5440, 0, 0, 0, 0}, {60, 783, 1024, 4437, 0, 0, 0}, {2048, 5482, 0, 0, 0, 0, 0}, {60, 80, 263, 0, 0, 0, 0}, {512, 108, 1024, 4352, 0, 0, 0}, {240, 1799, 4626, 0, 0, 0, 0}, {204, 1032, 4386, 0, 0, 0, 0}, {512, 80, 1295, 4144, 0, 0, 0}, {240, 1904, 4608, 0, 0, 0, 0}, {546, 108, 1060, 4369, 0, 0, 0}, {546, 80, 1290, 4096, 0, 0, 0}, {204, 1088, 4403, 0, 0, 0, 0}, {60, 780, 1096, 4420, 0, 0, 0}, {160, 554, 5493, 0, 0, 0, 0}, {282, 294, 534, 80, 1040, 4112, 0}, {5631, 7543, 14199, 16384, 0, 0, 0}, {240, 1912, 4728, 0, 0, 0, 0}, {554, 108, 1068, 4409, 0, 0, 0}, {554, 80, 1290, 4128, 0, 0, 0}, {204, 1096, 4471, 0, 0, 0, 0}, {60, 780, 1088, 4352, 0, 0, 0}, {160, 546, 5461, 0, 0, 0, 0}, {60, 80, 274, 0, 0, 0, 0}, {2176, 5503, 0, 0, 0, 0, 0}, {5504, 7424, 8704, 21760, 0, 0, 0}, {285, 289, 771, 80, 1285, 4369, 0}, {160, 546, 5386, 0, 0, 0, 0}, {60, 771, 1088, 4367, 0, 0, 0}, {204, 1096, 4420, 0, 0, 0, 0}, {554, 80, 1285, 4128, 0, 0, 0}, {554, 108, 1068, 4362, 0, 0, 0}, {240, 1911, 4728, 0, 0, 0, 0}, {2184, 5376, 0, 0, 0, 0, 0}, {60, 80, 277, 0, 0, 0, 0}, {160, 554, 5418, 0, 0, 0, 0}, {60, 771, 1096, 4427, 0, 0, 0}, {204, 1088, 4352, 0, 0, 0, 0}, {546, 80, 1285, 4096, 0, 0, 0}, {546, 108, 1060, 4386, 0, 0, 0}, {240, 1919, 4608, 0, 0, 0, 0}, {512, 80, 1280, 4144, 0, 0, 0}, {204, 1032, 4369, 0, 0, 0, 0}, {240, 1800, 4626, 0, 0, 0, 0}, {512, 108, 1024, 4403, 0, 0, 0}, {264, 308, 768, 80, 1280, 4372, 0}, {5525, 2048, 14143, 21845, 0, 0, 0}, {60, 768, 1024, 4442, 0, 0, 0}, {160, 520, 5407, 0, 0, 0, 0}, {520, 80, 1280, 4112, 0, 0, 0}, {204, 1024, 4437, 0, 0, 0, 0}, {240, 1792, 4714, 0, 0, 0, 0}, {520, 108, 1032, 4379, 0, 0, 0}, {60, 80, 256, 0, 0, 0, 0}, {2056, 5397, 0, 0, 0, 0, 0}, {60, 768, 1032, 4382, 0, 0, 0}, {160, 512, 5439, 0, 0, 0, 0}, {160, 512, 5376, 0, 0, 0, 0}, {60, 771, 1028, 4369, 0, 0, 0}, {2056, 5418, 0, 0, 0, 0, 0}, {60, 80, 259, 0, 0, 0, 0}, {520, 108, 1028, 4392, 0, 0, 0}, {240, 1807, 4698, 0, 0, 0, 0}, {204, 1036, 4454, 0, 0, 0, 0}, {520, 80, 1295, 4128, 0, 0, 0}, {160, 520, 5408, 0, 0, 0, 0}, {60, 771, 1036, 4437, 0, 0, 0}, {5546, 2048, 14080, 16384, 0, 0, 0}, {267, 311, 771, 80, 1028, 4112, 0}, {512, 108, 1036, 4352, 0, 0, 0}, {240, 1799, 4642, 0, 0, 0, 0}, {204, 1028, 4386, 0, 0, 0, 0}, {512, 80, 1295, 4096, 0, 0, 0}, {240, 1904, 4656, 0, 0, 0, 0}, {546, 108, 1064, 4369, 0, 0, 0}, {546, 80, 1290, 4144, 0, 0, 0}, {204, 1100, 4403, 0, 0, 0, 0}, {60, 768, 1092, 4420, 0, 0, 0}, {160, 554, 5397, 0, 0, 0, 0}, {60, 80, 278, 0, 0, 0, 0}, {2184, 5439, 0, 0, 0, 0, 0}, {240, 1912, 4680, 0, 0, 0, 0}, {554, 108, 1056, 4409, 0, 0, 0}, {554, 80, 1290, 4112, 0, 0, 0}, {204, 1092, 4471, 0, 0, 0, 0}, {60, 768, 1100, 4352, 0, 0, 0}, {160, 546, 5429, 0, 0, 0, 0}, {286, 290, 768, 80, 1044, 4096, 0}, {5567, 7487, 8704, 16448, 0, 0, 0}, {5568, 2048, 8704, 21760, 0, 0, 0}, {269, 305, 514, 80, 1285, 4369, 0}, {160, 514, 5450, 0, 0, 0, 0}, {60, 783, 1024, 4367, 0, 0, 0}, {204, 1032, 4420, 0, 0, 0, 0}, {522, 80, 1285, 4144, 0, 0, 0}, {522, 108, 1024, 4362, 0, 0, 0}, {240, 1799, 4680, 0, 0, 0, 0}, {2056, 5440, 0, 0, 0, 0, 0}, {60, 80, 261, 0, 0, 0, 0}, {160, 522, 5482, 0, 0, 0, 0}, {60, 783, 1032, 4427, 0, 0, 0}, {204, 1024, 4352, 0, 0, 0, 0}, {514, 80, 1285, 4112, 0, 0, 0}, {514, 108, 1032, 4386, 0, 0, 0}, {240, 1807, 4656, 0, 0, 0, 0}, {544, 80, 1280, 4128, 0, 0, 0}, {204, 1096, 4369, 0, 0, 0, 0}, {240, 1912, 4642, 0, 0, 0, 0}, {544, 108, 1068, 4403, 0, 0, 0}, {280, 292, 532, 80, 1280, 4372, 0}, {5589, 7509, 14207, 21845, 0, 0, 0}, {60, 780, 1088, 4442, 0, 0, 0}, {160, 552, 5471, 0, 0, 0, 0}, {552, 80, 1280, 4096, 0, 0, 0}, {204, 1088, 4437, 0, 0, 0, 0}, {240, 1904, 4698, 0, 0, 0, 0}, {552, 108, 1060, 4379, 0, 0, 0}, {60, 80, 272, 0, 0, 0, 0}, {2184, 5461, 0, 0, 0, 0, 0}, {60, 780, 1096, 4382, 0, 0, 0}, {160, 544, 5503, 0, 0, 0, 0}, {160, 544, 5440, 0, 0, 0, 0}, {60, 783, 1092, 4369, 0, 0, 0}, {2184, 5482, 0, 0, 0, 0, 0}, {60, 80, 275, 0, 0, 0, 0}, {552, 108, 1064, 4392, 0, 0, 0}, {240, 1919, 4714, 0, 0, 0, 0}, {204, 1100, 4454, 0, 0, 0, 0}, {552, 80, 1295, 4144, 0, 0, 0}, {160, 552, 5472, 0, 0, 0, 0}, {60, 783, 1100, 4437, 0, 0, 0}, {5610, 7530, 14144, 16448, 0, 0, 0}, {283, 295, 532, 80, 1044, 4096, 0}, {544, 108, 1056, 4352, 0, 0, 0}, {240, 1911, 4626, 0, 0, 0, 0}, {204, 1092, 4386, 0, 0, 0, 0}, {544, 80, 1295, 4112, 0, 0, 0}, {240, 1792, 4608, 0, 0, 0, 0}, {514, 108, 1028, 4369, 0, 0, 0}, {514, 80, 1290, 4128, 0, 0, 0}, {204, 1036, 4403, 0, 0, 0, 0}, {60, 780, 1028, 4420, 0, 0, 0}, {160, 522, 5461, 0, 0, 0, 0}, {60, 80, 262, 0, 0, 0, 0}, {2056, 5503, 0, 0, 0, 0, 0}, {240, 1800, 4728, 0, 0, 0, 0}, {522, 108, 1036, 4409, 0, 0, 0}, {522, 80, 1290, 4096, 0, 0, 0}, {204, 1028, 4471, 0, 0, 0, 0}, {60, 780, 1036, 4352, 0, 0, 0}, {160, 514, 5493, 0, 0, 0, 0}, {270, 306, 514, 80, 1028, 4112, 0}, {5631, 2048, 8704, 16384, 0, 0, 0}, {2048, 5632, 0, 0, 0, 0, 0}, {63, 95, 257, 0, 0, 0, 0}, {160, 514, 5160, 0, 0, 0, 0}, {63, 771, 1036, 4364, 0, 0, 0}, {192, 1028, 4680, 0, 0, 0, 0}, {522, 95, 1285, 4362, 0, 0, 0}, {522, 96, 1036, 4096, 0, 0, 0}, {255, 1799, 4471, 0, 0, 0, 0}, {5760, 2056, 13320, 21000, 0, 0, 0}, {265, 310, 771, 342, 1285, 4358, 0}, {160, 522, 5120, 0, 0, 0, 0}, {63, 771, 1028, 4420, 0, 0, 0}, {192, 1036, 4608, 0, 0, 0, 0}, {514, 95, 1285, 4386, 0, 0, 0}, {514, 96, 1028, 4128, 0, 0, 0}, {255, 1807, 4352, 0, 0, 0, 0}, {544, 96, 1056, 4112, 0, 0, 0}, {255, 1911, 4369, 0, 0, 0, 0}, {192, 1096, 4626, 0, 0, 0, 0}, {544, 95, 1280, 4403, 0, 0, 0}, {160, 552, 5140, 0, 0, 0, 0}, {63, 768, 1088, 4437, 0, 0, 0}, {2176, 5654, 0, 0, 0, 0, 0}, {63, 95, 279, 0, 0, 0, 0}, {552, 96, 1064, 4144, 0, 0, 0}, {255, 1919, 4454, 0, 0, 0, 0}, {192, 1088, 4698, 0, 0, 0, 0}, {552, 95, 1280, 4379, 0, 0, 0}, {160, 544, 5180, 0, 0, 0, 0}, {63, 768, 1096, 4381, 0, 0, 0}, {5782, 7710, 8738, 17476, 0, 0, 0}, {287, 288, 768, 320, 1280, 4352, 0}, {160, 544, 5120, 0, 0, 0, 0}, {63, 771, 1092, 4369, 0, 0, 0}, {5802, 7714, 8738, 21026, 0, 0, 0}, {284, 291, 771, 323, 1043, 4112, 0}, {552, 96, 1060, 4096, 0, 0, 0}, {255, 1904, 4437, 0, 0, 0, 0}, {192, 1100, 4714, 0, 0, 0, 0}, {552, 95, 1295, 4392, 0, 0, 0}, {160, 552, 5160, 0, 0, 0, 0}, {63, 771, 1100, 4441, 0, 0, 0}, {2176, 5674, 0, 0, 0, 0, 0}, {63, 95, 276, 0, 0, 0, 0}, {544, 96, 1068, 4128, 0, 0, 0}, {255, 1912, 4386, 0, 0, 0, 0}, {192, 1092, 4642, 0, 0, 0, 0}, {544, 95, 1295, 4352, 0, 0, 0}, {192, 1024, 4656, 0, 0, 0, 0}, {514, 95, 1290, 4369, 0, 0, 0}, {514, 96, 1032, 4112, 0, 0, 0}, {255, 1792, 4403, 0, 0, 0, 0}, {5820, 2056, 13364, 17476, 0, 0, 0}, {266, 309, 768, 341, 1024, 4096, 0}, {160, 522, 5180, 0, 0, 0, 0}, {63, 768, 1032, 4424, 0, 0, 0}, {192, 1032, 4728, 0, 0, 0, 0}, {522, 95, 1290, 4409, 0, 0, 0}, {522, 96, 1024, 4144, 0, 0, 0}, {255, 1800, 4420, 0, 0, 0, 0}, {2048, 5692, 0, 0, 0, 0, 0}, {63, 95, 258, 0, 0, 0, 0}, {160, 514, 5140, 0, 0, 0, 0}, {63, 768, 1024, 4352, 0, 0, 0}, {192, 1088, 4608, 0, 0, 0, 0}, {546, 95, 1285, 4369, 0, 0, 0}, {546, 96, 1064, 4096, 0, 0, 0}, {255, 1904, 4403, 0, 0, 0, 0}, {5836, 7748, 13380, 17476, 0, 0, 0}, {282, 293, 533, 325, 1285, 4112, 0}, {160, 554, 5228, 0, 0, 0, 0}, {63, 783, 1096, 4424, 0, 0, 0}, {192, 1096, 4680, 0, 0, 0, 0}, {554, 95, 1285, 4409, 0, 0, 0}, {554, 96, 1056, 4128, 0, 0, 0}, {255, 1912, 4420, 0, 0, 0, 0}, {2176, 5708, 0, 0, 0, 0, 0}, {63, 95, 274, 0, 0, 0, 0}, {160, 546, 5188, 0, 0, 0, 0}, {63, 783, 1088, 4352, 0, 0, 0}, {160, 512, 5200, 0, 0, 0, 0}, {63, 780, 1028, 4369, 0, 0, 0}, {5850, 2056, 8738, 21074, 0, 0, 0}, {268, 307, 512, 339, 1280, 4096, 0}, {520, 96, 1028, 4112, 0, 0, 0}, {255, 1792, 4437, 0, 0, 0, 0}, {192, 1036, 4698, 0, 0, 0, 0}, {520, 95, 1280, 4392, 0, 0, 0}, {160, 520, 5240, 0, 0, 0, 0}, {63, 780, 1036, 4441, 0, 0, 0}, {2048, 5722, 0, 0, 0, 0, 0}, {63, 95, 260, 0, 0, 0, 0}, {512, 96, 1036, 4144, 0, 0, 0}, {255, 1800, 4386, 0, 0, 0, 0}, {192, 1028, 4626, 0, 0, 0, 0}, {512, 95, 1280, 4352, 0, 0, 0}, {512, 96, 1024, 4096, 0, 0, 0}, {255, 1799, 4369, 0, 0, 0, 0}, {192, 1032, 4642, 0, 0, 0, 0}, {512, 95, 1295, 4403, 0, 0, 0}, {160, 520, 5188, 0, 0, 0, 0}, {63, 783, 1024, 4437, 0, 0, 0}, {2048, 5734, 0, 0, 0, 0, 0}, {63, 95, 263, 0, 0, 0, 0}, {520, 96, 1032, 4128, 0, 0, 0}, {255, 1807, 4454, 0, 0, 0, 0}, {192, 1024, 4714, 0, 0, 0, 0}, {520, 95, 1295, 4379, 0, 0, 0}, {160, 512, 5228, 0, 0, 0, 0}, {63, 783, 1032, 4381, 0, 0, 0}, {5862, 2056, 8738, 17476, 0, 0, 0}, {271, 304, 512, 336, 1024, 4352, 0}, {2176, 5744, 0, 0, 0, 0, 0}, {63, 95, 273, 0, 0, 0, 0}, {160, 546, 5240, 0, 0, 0, 0}, {63, 780, 1100, 4364, 0, 0, 0}, {192, 1092, 4728, 0, 0, 0, 0}, {554, 95, 1290, 4362, 0, 0, 0}, {554, 96, 1068, 4112, 0, 0, 0}, {255, 1911, 4471, 0, 0, 0, 0}, {5872, 7800, 13432, 21112, 0, 0, 0}, {281, 294, 533, 326, 1043, 4358, 0}, {160, 554, 5200, 0, 0, 0, 0}, {63, 780, 1092, 4420, 0, 0, 0}, {192, 1100, 4656, 0, 0, 0, 0}, {546, 95, 1290, 4386, 0, 0, 0}, {546, 96, 1060, 4144, 0, 0, 0}, {255, 1919, 4352, 0, 0, 0, 0}, {5760, 7680, 8704, 17408, 0, 0, 0}, {286, 289, 771, 321, 1285, 4369, 0}, {160, 546, 5160, 0, 0, 0, 0}, {63, 771, 1100, 4364, 0, 0, 0}, {192, 1092, 4680, 0, 0, 0, 0}, {554, 95, 1285, 4362, 0, 0, 0}, {554, 96, 1068, 4128, 0, 0, 0}, {255, 1912, 4471, 0, 0, 0, 0}, {2184, 5632, 0, 0, 0, 0, 0}, {63, 95, 278, 0, 0, 0, 0}, {160, 554, 5120, 0, 0, 0, 0}, {63, 771, 1092, 4420, 0, 0, 0}, {192, 1100, 4608, 0, 0, 0, 0}, {546, 95, 1285, 4386, 0, 0, 0}, {546, 96, 1060, 4096, 0, 0, 0}, {255, 1904, 4352, 0, 0, 0, 0}, {512, 96, 1024, 4144, 0, 0, 0}, {255, 1800, 4369, 0, 0, 0, 0}, {192, 1032, 4626, 0, 0, 0, 0}, {512, 95, 1280, 4403, 0, 0, 0}, {160, 520, 5140, 0, 0, 0, 0}, {63, 768, 1024, 4437, 0, 0, 0}, {5782, 2048, 13372, 21082, 0, 0, 0}, {264, 311, 768, 343, 1280, 4375, 0}, {520, 96, 1032, 4112, 0, 0, 0}, {255, 1792, 4454, 0, 0, 0, 0}, {192, 1024, 4698, 0, 0, 0, 0}, {520, 95, 1280, 4379, 0, 0, 0}, {160, 512, 5180, 0, 0, 0, 0}, {63, 768, 1032, 4381, 0, 0, 0}, {2056, 5654, 0, 0, 0, 0, 0}, {63, 95, 256, 0, 0, 0, 0}, {160, 512, 5120, 0, 0, 0, 0}, {63, 771, 1028, 4369, 0, 0, 0}, {2056, 5674, 0, 0, 0, 0, 0}, {63, 95, 259, 0, 0, 0, 0}, {520, 96, 1028, 4128, 0, 0, 0}, {255, 1807, 4437, 0, 0, 0, 0}, {192, 1036, 4714, 0, 0, 0, 0}, {520, 95, 1295, 4392, 0, 0, 0}, {160, 520, 5160, 0, 0, 0, 0}, {63, 771, 1036, 4441, 0, 0, 0}, {5802, 2048, 13312, 17408, 0, 0, 0}, {267, 308, 771, 340, 1028, 4112, 0}, {512, 96, 1036, 4096, 0, 0, 0}, {255, 1799, 4386, 0, 0, 0, 0}, {192, 1028, 4642, 0, 0, 0, 0}, {512, 95, 1295, 4352, 0, 0, 0}, {192, 1088, 4656, 0, 0, 0, 0}, {546, 95, 1290, 4369, 0, 0, 0}, {546, 96, 1064, 4144, 0, 0, 0}, {255, 1919, 4403, 0, 0, 0, 0}, {2184, 5692, 0, 0, 0, 0, 0}, {63, 95, 277, 0, 0, 0, 0}, {160, 554, 5180, 0, 0, 0, 0}, {63, 768, 1096, 4424, 0, 0, 0}, {192, 1096, 4728, 0, 0, 0, 0}, {554, 95, 1290, 4409, 0, 0, 0}, {554, 96, 1056, 4112, 0, 0, 0}, {255, 1911, 4420, 0, 0, 0, 0}, {5820, 7740, 8704, 21104, 0, 0, 0}, {285, 290, 768, 322, 1047, 4096, 0}, {160, 546, 5140, 0, 0, 0, 0}, {63, 768, 1088, 4352, 0, 0, 0}, {192, 1024, 4608, 0, 0, 0, 0}, {514, 95, 1285, 4369, 0, 0, 0}, {514, 96, 1032, 4128, 0, 0, 0}, {255, 1807, 4403, 0, 0, 0, 0}, {2056, 5708, 0, 0, 0, 0, 0}, {63, 95, 261, 0, 0, 0, 0}, {160, 522, 5228, 0, 0, 0, 0}, {63, 783, 1032, 4424, 0, 0, 0}, {192, 1032, 4680, 0, 0, 0, 0}, {522, 95, 1285, 4409, 0, 0, 0}, {522, 96, 1024, 4096, 0, 0, 0}, {255, 1799, 4420, 0, 0, 0, 0}, {5836, 2048, 8704, 20992, 0, 0, 0}, {269, 306, 514, 338, 1285, 4112, 0}, {160, 514, 5188, 0, 0, 0, 0}, {63, 783, 1024, 4352, 0, 0, 0}, {160, 544, 5200, 0, 0, 0, 0}, {63, 780, 1092, 4369, 0, 0, 0}, {2184, 5722, 0, 0, 0, 0, 0}, {63, 95, 275, 0, 0, 0, 0}, {552, 96, 1060, 4144, 0, 0, 0}, {255, 1919, 4437, 0, 0, 0, 0}, {192, 1100, 4698, 0, 0, 0, 0}, {552, 95, 1280, 4392, 0, 0, 0}, {160, 552, 5240, 0, 0, 0, 0}, {63, 780, 1100, 4441, 0, 0, 0}, {5850, 7770, 13424, 17408, 0, 0, 0}, {283, 292, 535, 324, 1280, 4096, 0}, {544, 96, 1068, 4112, 0, 0, 0}, {255, 1911, 4386, 0, 0, 0, 0}, {192, 1092, 4626, 0, 0, 0, 0}, {544, 95, 1280, 4352, 0, 0, 0}, {544, 96, 1056, 4128, 0, 0, 0}, {255, 1912, 4369, 0, 0, 0, 0}, {192, 1096, 4642, 0, 0, 0, 0}, {544, 95, 1295, 4403, 0, 0, 0}, {160, 552, 5188, 0, 0, 0, 0}, {63, 783, 1088, 4437, 0, 0, 0}, {5862, 7782, 13388, 21034, 0, 0, 0}, {280, 295, 535, 327, 1047, 4375, 0}, {552, 96, 1064, 4096, 0, 0, 0}, {255, 1904, 4454, 0, 0, 0, 0}, {192, 1088, 4714, 0, 0, 0, 0}, {552, 95, 1295, 4379, 0, 0, 0}, {160, 544, 5228, 0, 0, 0, 0}, {63, 783, 1096, 4381, 0, 0, 0}, {2184, 5734, 0, 0, 0, 0, 0}, {63, 95, 272, 0, 0, 0, 0}, {5872, 2048, 8704, 17408, 0, 0, 0}, {270, 305, 514, 337, 1028, 4369, 0}, {160, 514, 5240, 0, 0, 0, 0}, {63, 780, 1036, 4364, 0, 0, 0}, {192, 1028, 4728, 0, 0, 0, 0}, {522, 95, 1290, 4362, 0, 0, 0}, {522, 96, 1036, 4144, 0, 0, 0}, {255, 1800, 4471, 0, 0, 0, 0}, {2056, 5744, 0, 0, 0, 0, 0}, {63, 95, 262, 0, 0, 0, 0}, {160, 522, 5200, 0, 0, 0, 0}, {63, 780, 1028, 4420, 0, 0, 0}, {192, 1036, 4656, 0, 0, 0, 0}, {514, 95, 1290, 4386, 0, 0, 0}, {514, 96, 1028, 4112, 0, 0, 0}, {255, 1792, 4352, 0, 0, 0, 0}, {16128, 24320, 0, 0, 0, 0, 0}, {8, 22, 257, 0, 0, 0, 0}, {8, 34, 514, 5376, 0, 0, 0}, {60, 771, 20480, 0, 0, 0, 0}, {8, 68, 1028, 4864, 0, 0, 0}, {12288, 90, 1285, 0, 0, 0, 0}, {13056, 102, 1542, 0, 0, 0, 0}, {8, 112, 1799, 4096, 0, 0, 0}, {8, 5888, 0, 0, 0, 0, 0}, {60, 771, 90, 1285, 0, 0, 0}, {170, 2570, 13578, 21760, 0, 0, 0}, {8, 52, 771, 68, 1028, 4100, 0}, {204, 3084, 13056, 21260, 0, 0, 0}, {8, 34, 514, 82, 1285, 4098, 0}, {8, 34, 514, 68, 1028, 4352, 0}, {240, 3855, 12288, 20480, 0, 0, 0}, {3840, 112, 4112, 0, 0, 0, 0}, {34, 68, 1536, 4369, 0, 0, 0}, {34, 90, 1280, 4626, 0, 0, 0}, {3072, 76, 4883, 0, 0, 0, 0}, {60, 768, 68, 5140, 0, 0, 0}, {2560, 42, 5397, 0, 0, 0, 0}, {768, 1280, 22, 0, 0, 0, 0}, {136, 5911, 0, 0, 0, 0, 0}, {3840, 120, 5912, 0, 0, 0, 0}, {42, 76, 1536, 4889, 0, 0, 0}, {42, 90, 1280, 4122, 0, 0, 0}, {3072, 68, 5915, 0, 0, 0, 0}, {60, 768, 76, 4124, 0, 0, 0}, {2560, 34, 5917, 0, 0, 0, 0}, {30, 34, 768, 68, 1280, 4352, 0}, {128, 7967, 8224, 16448, 0, 0, 0}, {128, 7968, 8224, 16384, 0, 0, 0}, {30, 34, 771, 68, 1297, 4369, 0}, {2560, 34, 5888, 0, 0, 0, 0}, {60, 771, 76, 4112, 0, 0, 0}, {3084, 68, 5924, 0, 0, 0, 0}, {42, 90, 1295, 4096, 0, 0, 0}, {42, 76, 1548, 4864, 0, 0, 0}, {3855, 120, 5927, 0, 0, 0, 0}, {136, 5928, 0, 0, 0, 0, 0}, {771, 1295, 22, 0, 0, 0, 0}, {2560, 42, 5376, 0, 0, 0, 0}, {60, 771, 68, 5140, 0, 0, 0}, {3084, 76, 4896, 0, 0, 0, 0}, {34, 90, 1295, 4608, 0, 0, 0}, {34, 68, 1548, 4352, 0, 0, 0}, {3855, 112, 4128, 0, 0, 0, 0}, {240, 3840, 12336, 20480, 0, 0, 0}, {8, 34, 514, 68, 1024, 4369, 0}, {8, 34, 514, 82, 1282, 4112, 0}, {204, 3072, 13107, 21299, 0, 0, 0}, {8, 52, 768, 68, 1024, 4096, 0}, {170, 2570, 13621, 21845, 0, 0, 0}, {60, 768, 90, 1290, 0, 0, 0}, {8, 5943, 0, 0, 0, 0, 0}, {8, 112, 1792, 4144, 0, 0, 0}, {13107, 102, 1546, 0, 0, 0, 0}, {12336, 90, 1290, 0, 0, 0, 0}, {8, 68, 1024, 4915, 0, 0, 0}, {60, 768, 20480, 0, 0, 0, 0}, {8, 34, 514, 5397, 0, 0, 0}, {8, 22, 258, 0, 0, 0, 0}, {16191, 24575, 0, 0, 0, 0, 0}, {128, 8000, 8192, 16448, 0, 0, 0}, {30, 34, 785, 68, 1285, 4369, 0}, {2570, 34, 5954, 0, 0, 0, 0}, {60, 783, 76, 4096, 0, 0, 0}, {3072, 68, 5888, 0, 0, 0, 0}, {42, 90, 1285, 4112, 0, 0, 0}, {42, 76, 1546, 4874, 0, 0, 0}, {3855, 120, 5951, 0, 0, 0, 0}, {136, 5960, 0, 0, 0, 0, 0}, {783, 1285, 22, 0, 0, 0, 0}, {2570, 42, 5440, 0, 0, 0, 0}, {60, 783, 68, 5120, 0, 0, 0}, {3072, 76, 4864, 0, 0, 0, 0}, {34, 90, 1285, 4626, 0, 0, 0}, {34, 68, 1546, 4352, 0, 0, 0}, {3855, 112, 4144, 0, 0, 0, 0}, {240, 3840, 12288, 20560, 0, 0, 0}, {8, 34, 512, 68, 1028, 4369, 0}, {8, 34, 512, 82, 1280, 4096, 0}, {204, 3084, 13107, 21331, 0, 0, 0}, {8, 52, 772, 68, 1028, 4112, 0}, {170, 2560, 13653, 21845, 0, 0, 0}, {60, 780, 90, 1280, 0, 0, 0}, {8, 5975, 0, 0, 0, 0, 0}, {8, 112, 1792, 4128, 0, 0, 0}, {13107, 102, 1548, 0, 0, 0, 0}, {12288, 90, 1280, 0, 0, 0, 0}, {8, 68, 1028, 4883, 0, 0, 0}, {60, 780, 20560, 0, 0, 0, 0}, {8, 34, 512, 5461, 0, 0, 0}, {8, 22, 260, 0, 0, 0, 0}, {16383, 24415, 0, 0, 0, 0, 0}, {16320, 24480, 0, 0, 0, 0, 0}, {8, 22, 263, 0, 0, 0, 0}, {8, 34, 512, 5440, 0, 0, 0}, {60, 783, 20560, 0, 0, 0, 0}, {8, 68, 1024, 4896, 0, 0, 0}, {12336, 90, 1295, 0, 0, 0, 0}, {13056, 102, 1536, 0, 0, 0, 0}, {8, 112, 1799, 4112, 0, 0, 0}, {8, 5984, 0, 0, 0, 0, 0}, {60, 783, 90, 1295, 0, 0, 0}, {170, 2560, 13674, 21760, 0, 0, 0}, {8, 52, 775, 68, 1024, 4116, 0}, {204, 3072, 13056, 21356, 0, 0, 0}, {8, 34, 512, 82, 1287, 4114, 0}, {8, 34, 512, 68, 1024, 4352, 0}, {240, 3855, 12336, 20560, 0, 0, 0}, {3840, 112, 4096, 0, 0, 0, 0}, {34, 68, 1542, 4369, 0, 0, 0}, {34, 90, 1290, 4608, 0, 0, 0}, {3084, 76, 4915, 0, 0, 0, 0}, {60, 780, 68, 5120, 0, 0, 0}, {2570, 42, 5461, 0, 0, 0, 0}, {780, 1290, 22, 0, 0, 0, 0}, {136, 6007, 0, 0, 0, 0, 0}, {3840, 120, 5888, 0, 0, 0, 0}, {42, 76, 1542, 4883, 0, 0, 0}, {42, 90, 1290, 4106, 0, 0, 0}, {3084, 68, 5951, 0, 0, 0, 0}, {60, 780, 76, 4108, 0, 0, 0}, {2570, 34, 5983, 0, 0, 0, 0}, {30, 34, 786, 68, 1300, 4352, 0}, {128, 8063, 8192, 16384, 0, 0, 0}, {128, 7936, 8192, 16384, 0, 0, 0}, {30, 34, 771, 68, 1285, 4369, 0}, {2570, 34, 5898, 0, 0, 0, 0}, {60, 771, 76, 4108, 0, 0, 0}, {3084, 68, 5900, 0, 0, 0, 0}, {42, 90, 1285, 4106, 0, 0, 0}, {42, 76, 1542, 4874, 0, 0, 0}, {3855, 120, 5903, 0, 0, 0, 0}, {136, 5888, 0, 0, 0, 0, 0}, {771, 1285, 22, 0, 0, 0, 0}, {2570, 42, 5376, 0, 0, 0, 0}, {60, 771, 68, 5120, 0, 0, 0}, {3084, 76, 4864, 0, 0, 0, 0}, {34, 90, 1285, 4608, 0, 0, 0}, {34, 68, 1542, 4352, 0, 0, 0}, {3855, 112, 4096, 0, 0, 0, 0}, {240, 3840, 12336, 20560, 0, 0, 0}, {8, 34, 512, 68, 1024, 4369, 0}, {8, 34, 512, 82, 1280, 4114, 0}, {204, 3072, 13107, 21343, 0, 0, 0}, {8, 52, 768, 68, 1024, 4116, 0}, {170, 2560, 13631, 21845, 0, 0, 0}, {60, 768, 90, 1280, 0, 0, 0}, {8, 5911, 0, 0, 0, 0, 0}, {8, 112, 1792, 4112, 0, 0, 0}, {13107, 102, 1536, 0, 0, 0, 0}, {12336, 90, 1280, 0, 0, 0, 0}, {8, 68, 1024, 4883, 0, 0, 0}, {60, 768, 20560, 0, 0, 0, 0}, {8, 34, 512, 5397, 0, 0, 0}, {8, 22, 256, 0, 0, 0, 0}, {16191, 24415, 0, 0, 0, 0, 0}, {16128, 24480, 0, 0, 0, 0, 0}, {8, 22, 259, 0, 0, 0, 0}, {8, 34, 512, 5376, 0, 0, 0}, {60, 771, 20560, 0, 0, 0, 0}, {8, 68, 1028, 4896, 0, 0, 0}, {12288, 90, 1295, 0, 0, 0, 0}, {13056, 102, 1548, 0, 0, 0, 0}, {8, 112, 1799, 4128, 0, 0, 0}, {8, 5920, 0, 0, 0, 0, 0}, {60, 771, 90, 1295, 0, 0, 0}, {170, 2560, 13568, 21760, 0, 0, 0}, {8, 52, 771, 68, 1028, 4112, 0}, {204, 3084, 13056, 21344, 0, 0, 0}, {8, 34, 512, 82, 1287, 4096, 0}, {8, 34, 512, 68, 1028, 4352, 0}, {240, 3855, 12288, 20560, 0, 0, 0}, {3840, 112, 4144, 0, 0, 0, 0}, {34, 68, 1546, 4369, 0, 0, 0}, {34, 90, 1290, 4626, 0, 0, 0}, {3072, 76, 4915, 0, 0, 0, 0}, {60, 768, 68, 5120, 0, 0, 0}, {2570, 42, 5397, 0, 0, 0, 0}, {768, 1290, 22, 0, 0, 0, 0}, {136, 5951, 0, 0, 0, 0, 0}, {3840, 120, 5936, 0, 0, 0, 0}, {42, 76, 1546, 4883, 0, 0, 0}, {42, 90, 1290, 4112, 0, 0, 0}, {3072, 68, 5939, 0, 0, 0, 0}, {60, 768, 76, 4096, 0, 0, 0}, {2570, 34, 5911, 0, 0, 0, 0}, {30, 34, 768, 68, 1300, 4352, 0}, {128, 7999, 8192, 16448, 0, 0, 0}, {16320, 24320, 0, 0, 0, 0, 0}, {8, 22, 261, 0, 0, 0, 0}, {8, 34, 514, 5440, 0, 0, 0}, {60, 783, 20480, 0, 0, 0, 0}, {8, 68, 1024, 4864, 0, 0, 0}, {12336, 90, 1285, 0, 0, 0, 0}, {13056, 102, 1546, 0, 0, 0, 0}, {8, 112, 1799, 4144, 0, 0, 0}, {8, 5952, 0, 0, 0, 0, 0}, {60, 783, 90, 1285, 0, 0, 0}, {170, 2570, 13664, 21760, 0, 0, 0}, {8, 52, 775, 68, 1024, 4096, 0}, {204, 3072, 13056, 21248, 0, 0, 0}, {8, 34, 514, 82, 1285, 4112, 0}, {8, 34, 514, 68, 1024, 4352, 0}, {240, 3855, 12336, 20480, 0, 0, 0}, {3840, 112, 4128, 0, 0, 0, 0}, {34, 68, 1548, 4369, 0, 0, 0}, {34, 90, 1280, 4608, 0, 0, 0}, {3084, 76, 4883, 0, 0, 0, 0}, {60, 780, 68, 5140, 0, 0, 0}, {2560, 42, 5461, 0, 0, 0, 0}, {780, 1280, 22, 0, 0, 0, 0}, {136, 5983, 0, 0, 0, 0, 0}, {3840, 120, 5928, 0, 0, 0, 0}, {42, 76, 1548, 4889, 0, 0, 0}, {42, 90, 1280, 4096, 0, 0, 0}, {3084, 68, 5911, 0, 0, 0, 0}, {60, 780, 76, 4112, 0, 0, 0}, {2560, 34, 5973, 0, 0, 0, 0}, {30, 34, 786, 68, 1280, 4352, 0}, {128, 8031, 8224, 16384, 0, 0, 0}, {128, 8032, 8224, 16448, 0, 0, 0}, {30, 34, 785, 68, 1297, 4369, 0}, {2560, 34, 5960, 0, 0, 0, 0}, {60, 783, 76, 4124, 0, 0, 0}, {3072, 68, 5928, 0, 0, 0, 0}, {42, 90, 1295, 4122, 0, 0, 0}, {42, 76, 1536, 4864, 0, 0, 0}, {3855, 120, 5911, 0, 0, 0, 0}, {136, 5984, 0, 0, 0, 0, 0}, {783, 1295, 22, 0, 0, 0, 0}, {2560, 42, 5440, 0, 0, 0, 0}, {60, 783, 68, 5140, 0, 0, 0}, {3072, 76, 4896, 0, 0, 0, 0}, {34, 90, 1295, 4626, 0, 0, 0}, {34, 68, 1536, 4352, 0, 0, 0}, {3855, 112, 4112, 0, 0, 0, 0}, {240, 3840, 12288, 20480, 0, 0, 0}, {8, 34, 514, 68, 1028, 4369, 0}, {8, 34, 514, 82, 1282, 4098, 0}, {204, 3084, 13107, 21311, 0, 0, 0}, {8, 52, 772, 68, 1028, 4100, 0}, {170, 2570, 13663, 21845, 0, 0, 0}, {60, 780, 90, 1290, 0, 0, 0}, {8, 6007, 0, 0, 0, 0, 0}, {8, 112, 1792, 4096, 0, 0, 0}, {13107, 102, 1542, 0, 0, 0, 0}, {12288, 90, 1290, 0, 0, 0, 0}, {8, 68, 1028, 4915, 0, 0, 0}, {60, 780, 20480, 0, 0, 0, 0}, {8, 34, 514, 5461, 0, 0, 0}, {8, 22, 262, 0, 0, 0, 0}, {16383, 24575, 0, 0, 0, 0, 0}, {40960, 0, 0, 0, 0, 0, 0}, {3, 4, 17, 257, 0, 0, 0}, {8, 34, 514, 0, 0, 0, 0}, {3, 20480, 0, 0, 0, 0, 0}, {8192, 4, 0, 0, 0, 0, 0}, {15, 85, 1285, 0, 0, 0, 0}, {12, 102, 1542, 0, 0, 0, 0}, {8192, 7, 0, 0, 0, 0, 0}, {8, 8192, 0, 0, 0, 0, 0}, {3, 85, 1285, 0, 0, 0, 0}, {170, 2570, 0, 0, 0, 0, 0}, {3, 4, 4096, 0, 0, 0, 0}, {12, 24576, 0, 0, 0, 0, 0}, {34, 514, 7, 0, 0, 0, 0}, {34, 514, 4, 0, 0, 0, 0}, {15, 20480, 0, 0, 0, 0, 0}, {48, 64, 4112, 0, 0, 0, 0}, {2560, 17, 0, 0, 0, 0, 0}, {2560, 18, 0, 0, 0, 0, 0}, {51, 76, 4883, 0, 0, 0, 0}, {60, 68, 5140, 0, 0, 0, 0}, {2560, 21, 0, 0, 0, 0, 0}, {2560, 22, 0, 0, 0, 0, 0}, {63, 72, 5911, 0, 0, 0, 0}, {6168, 48, 72, 0, 0, 0, 0}, {25, 51, 85, 4864, 0, 0, 0}, {26, 48, 64, 4096, 0, 0, 0}, {6939, 51, 68, 0, 0, 0, 0}, {7196, 60, 76, 0, 0, 0, 0}, {29, 34, 85, 5888, 0, 0, 0}, {30, 34, 68, 5120, 0, 0, 0}, {7967, 63, 64, 0, 0, 0, 0}, {128, 8224, 0, 0, 0, 0, 0}, {3, 1280, 17, 0, 0, 0, 0}, {2560, 34, 0, 0, 0, 0, 0}, {3, 64, 4112, 0, 0, 0, 0}, {12, 9252, 68, 0, 0, 0, 0}, {15, 37, 85, 1280, 0, 0, 0}, {12, 38, 64, 1536, 0, 0, 0}, {15, 10023, 119, 0, 0, 0, 0}, {136, 10280, 0, 0, 0, 0, 0}, {3, 1280, 21, 0, 0, 0, 0}, {2560, 42, 0, 0, 0, 0, 0}, {3, 68, 5140, 0, 0, 0, 0}, {12, 8224, 64, 0, 0, 0, 0}, {15, 34, 85, 1280, 0, 0, 0}, {12, 34, 68, 1536, 0, 0, 0}, {15, 8224, 112, 0, 0, 0, 0}, {48, 20480, 0, 0, 0, 0, 0}, {8, 514, 17, 0, 0, 0, 0}, {8, 514, 18, 0, 0, 0, 0}, {51, 24320, 0, 0, 0, 0, 0}, {8, 52, 68, 5120, 0, 0, 0}, {2570, 63, 85, 0, 0, 0, 0}, {2570, 60, 90, 0, 0, 0, 0}, {8, 55, 64, 5888, 0, 0, 0}, {8, 48, 64, 4096, 0, 0, 0}, {2570, 51, 85, 0, 0, 0, 0}, {2570, 48, 90, 0, 0, 0, 0}, {8, 51, 68, 4864, 0, 0, 0}, {60, 20480, 0, 0, 0, 0, 0}, {8, 514, 21, 0, 0, 0, 0}, {8, 514, 22, 0, 0, 0, 0}, {63, 24320, 0, 0, 0, 0, 0}, {8192, 64, 0, 0, 0, 0, 0}, {15, 1285, 17, 0, 0, 0, 0}, {2570, 34, 72, 0, 0, 0, 0}, {15, 51, 67, 4864, 0, 0, 0}, {10240, 68, 0, 0, 0, 0, 0}, {15, 1285, 21, 0, 0, 0, 0}, {2570, 42, 76, 0, 0, 0, 0}, {15, 48, 71, 5888, 0, 0, 0}, {10240, 72, 0, 0, 0, 0, 0}, {15, 1285, 22, 0, 0, 0, 0}, {2570, 42, 64, 0, 0, 0, 0}, {15, 51, 68, 5120, 0, 0, 0}, {8192, 76, 0, 0, 0, 0, 0}, {15, 1285, 18, 0, 0, 0, 0}, {2570, 34, 68, 0, 0, 0, 0}, {15, 48, 64, 4096, 0, 0, 0}, {240, 20560, 0, 0, 0, 0, 0}, {512, 4, 17, 0, 0, 0, 0}, {8, 34, 512, 82, 0, 0, 0}, {12, 51, 21331, 0, 0, 0, 0}, {48, 4, 4112, 0, 0, 0, 0}, {2560, 85, 0, 0, 0, 0, 0}, {12, 48, 86, 1536, 0, 0, 0}, {8, 8224, 119, 0, 0, 0, 0}, {8, 8224, 112, 0, 0, 0, 0}, {12, 51, 85, 1536, 0, 0, 0}, {2560, 90, 0, 0, 0, 0, 0}, {51, 4, 4883, 0, 0, 0, 0}, {12, 48, 20560, 0, 0, 0, 0}, {8, 34, 512, 85, 0, 0, 0}, {512, 4, 18, 0, 0, 0, 0}, {255, 24415, 0, 0, 0, 0, 0}, {192, 24672, 0, 0, 0, 0, 0}, {512, 7, 17, 0, 0, 0, 0}, {8, 34, 512, 64, 0, 0, 0}, {15, 51, 20560, 0, 0, 0, 0}, {8, 8224, 68, 0, 0, 0, 0}, {15, 48, 85, 1280, 0, 0, 0}, {2560, 102, 0, 0, 0, 0, 0}, {48, 7, 4112, 0, 0, 0, 0}, {8, 8224, 64, 0, 0, 0, 0}, {15, 51, 85, 1280, 0, 0, 0}, {2560, 106, 0, 0, 0, 0, 0}, {51, 7, 4883, 0, 0, 0, 0}, {204, 27756, 0, 0, 0, 0, 0}, {512, 7, 18, 0, 0, 0, 0}, {8, 34, 512, 68, 0, 0, 0}, {15, 48, 20560, 0, 0, 0, 0}, {8192, 112, 0, 0, 0, 0, 0}, {12, 1542, 17, 0, 0, 0, 0}, {2570, 34, 90, 0, 0, 0, 0}, {12, 51, 64, 4864, 0, 0, 0}, {12, 48, 68, 5120, 0, 0, 0}, {2570, 42, 85, 0, 0, 0, 0}, {12, 1542, 22, 0, 0, 0, 0}, {10240, 119, 0, 0, 0, 0, 0}, {10240, 120, 0, 0, 0, 0, 0}, {12, 1542, 21, 0, 0, 0, 0}, {2570, 42, 90, 0, 0, 0, 0}, {12, 51, 68, 5888, 0, 0, 0}, {12, 48, 64, 4096, 0, 0, 0}, {2570, 34, 85, 0, 0, 0, 0}, {12, 1542, 18, 0, 0, 0, 0}, {8192, 127, 0, 0, 0, 0, 0}, {128, 8192, 0, 0, 0, 0, 0}, {3, 1285, 17, 0, 0, 0, 0}, {2570, 34, 0, 0, 0, 0, 0}, {3, 64, 4096, 0, 0, 0, 0}, {12, 9216, 68, 0, 0, 0, 0}, {15, 37, 85, 1285, 0, 0, 0}, {12, 38, 64, 1542, 0, 0, 0}, {15, 9984, 119, 0, 0, 0, 0}, {136, 10240, 0, 0, 0, 0, 0}, {3, 1285, 21, 0, 0, 0, 0}, {2570, 42, 0, 0, 0, 0, 0}, {3, 68, 5120, 0, 0, 0, 0}, {12, 8192, 64, 0, 0, 0, 0}, {15, 34, 85, 1285, 0, 0, 0}, {12, 34, 68, 1542, 0, 0, 0}, {15, 8192, 112, 0, 0, 0, 0}, {48, 20560, 0, 0, 0, 0, 0}, {8, 512, 17, 0, 0, 0, 0}, {8, 512, 18, 0, 0, 0, 0}, {51, 24415, 0, 0, 0, 0, 0}, {8, 52, 68, 5140, 0, 0, 0}, {2560, 63, 85, 0, 0, 0, 0}, {2560, 60, 90, 0, 0, 0, 0}, {8, 55, 64, 5911, 0, 0, 0}, {8, 48, 64, 4112, 0, 0, 0}, {2560, 51, 85, 0, 0, 0, 0}, {2560, 48, 90, 0, 0, 0, 0}, {8, 51, 68, 4883, 0, 0, 0}, {60, 20560, 0, 0, 0, 0, 0}, {8, 512, 21, 0, 0, 0, 0}, {8, 512, 22, 0, 0, 0, 0}, {63, 24415, 0, 0, 0, 0, 0}, {41120, 0, 0, 0, 0, 0, 0}, {3, 4, 17, 256, 0, 0, 0}, {8, 34, 512, 0, 0, 0, 0}, {3, 20560, 0, 0, 0, 0, 0}, {8224, 4, 0, 0, 0, 0, 0}, {15, 85, 1280, 0, 0, 0, 0}, {12, 102, 1536, 0, 0, 0, 0}, {8224, 7, 0, 0, 0, 0, 0}, {8, 8224, 0, 0, 0, 0, 0}, {3, 85, 1280, 0, 0, 0, 0}, {170, 2560, 0, 0, 0, 0, 0}, {3, 4, 4112, 0, 0, 0, 0}, {12, 24672, 0, 0, 0, 0, 0}, {34, 512, 7, 0, 0, 0, 0}, {34, 512, 4, 0, 0, 0, 0}, {15, 20560, 0, 0, 0, 0, 0}, {48, 64, 4096, 0, 0, 0, 0}, {2570, 17, 0, 0, 0, 0, 0}, {2570, 18, 0, 0, 0, 0, 0}, {51, 76, 4864, 0, 0, 0, 0}, {60, 68, 5120, 0, 0, 0, 0}, {2570, 21, 0, 0, 0, 0, 0}, {2570, 22, 0, 0, 0, 0, 0}, {63, 72, 5888, 0, 0, 0, 0}, {6144, 48, 72, 0, 0, 0, 0}, {25, 51, 85, 4883, 0, 0, 0}, {26, 48, 64, 4112, 0, 0, 0}, {6912, 51, 68, 0, 0, 0, 0}, {7168, 60, 76, 0, 0, 0, 0}, {29, 34, 85, 5911, 0, 0, 0}, {30, 34, 68, 5140, 0, 0, 0}, {7936, 63, 64, 0, 0, 0, 0}, {192, 24576, 0, 0, 0, 0, 0}, {514, 7, 17, 0, 0, 0, 0}, {8, 34, 514, 64, 0, 0, 0}, {15, 51, 20480, 0, 0, 0, 0}, {8, 8192, 68, 0, 0, 0, 0}, {15, 48, 85, 1285, 0, 0, 0}, {2570, 102, 0, 0, 0, 0, 0}, {48, 7, 4096, 0, 0, 0, 0}, {8, 8192, 64, 0, 0, 0, 0}, {15, 51, 85, 1285, 0, 0, 0}, {2570, 106, 0, 0, 0, 0, 0}, {51, 7, 4864, 0, 0, 0, 0}, {204, 27648, 0, 0, 0, 0, 0}, {514, 7, 18, 0, 0, 0, 0}, {8, 34, 514, 68, 0, 0, 0}, {15, 48, 20480, 0, 0, 0, 0}, {8224, 112, 0, 0, 0, 0, 0}, {12, 1536, 17, 0, 0, 0, 0}, {2560, 34, 90, 0, 0, 0, 0}, {12, 51, 64, 4883, 0, 0, 0}, {12, 48, 68, 5140, 0, 0, 0}, {2560, 42, 85, 0, 0, 0, 0}, {12, 1536, 22, 0, 0, 0, 0}, {10280, 119, 0, 0, 0, 0, 0}, {10280, 120, 0, 0, 0, 0, 0}, {12, 1536, 21, 0, 0, 0, 0}, {2560, 42, 90, 0, 0, 0, 0}, {12, 51, 68, 5911, 0, 0, 0}, {12, 48, 64, 4112, 0, 0, 0}, {2560, 34, 85, 0, 0, 0, 0}, {12, 1536, 18, 0, 0, 0, 0}, {8224, 127, 0, 0, 0, 0, 0}, {8224, 64, 0, 0, 0, 0, 0}, {15, 1280, 17, 0, 0, 0, 0}, {2560, 34, 72, 0, 0, 0, 0}, {15, 51, 67, 4883, 0, 0, 0}, {10280, 68, 0, 0, 0, 0, 0}, {15, 1280, 21, 0, 0, 0, 0}, {2560, 42, 76, 0, 0, 0, 0}, {15, 48, 71, 5911, 0, 0, 0}, {10280, 72, 0, 0, 0, 0, 0}, {15, 1280, 22, 0, 0, 0, 0}, {2560, 42, 64, 0, 0, 0, 0}, {15, 51, 68, 5140, 0, 0, 0}, {8224, 76, 0, 0, 0, 0, 0}, {15, 1280, 18, 0, 0, 0, 0}, {2560, 34, 68, 0, 0, 0, 0}, {15, 48, 64, 4112, 0, 0, 0}, {240, 20480, 0, 0, 0, 0, 0}, {514, 4, 17, 0, 0, 0, 0}, {8, 34, 514, 82, 0, 0, 0}, {12, 51, 21248, 0, 0, 0, 0}, {48, 4, 4096, 0, 0, 0, 0}, {2570, 85, 0, 0, 0, 0, 0}, {12, 48, 86, 1542, 0, 0, 0}, {8, 8192, 119, 0, 0, 0, 0}, {8, 8192, 112, 0, 0, 0, 0}, {12, 51, 85, 1542, 0, 0, 0}, {2570, 90, 0, 0, 0, 0, 0}, {51, 4, 4864, 0, 0, 0, 0}, {12, 48, 20480, 0, 0, 0, 0}, {8, 34, 514, 85, 0, 0, 0}, {514, 4, 18, 0, 0, 0, 0}, {255, 24320, 0, 0, 0, 0, 0}, {768, 1024, 4352, 0, 0, 0, 0}, {160, 257, 0, 0, 0, 0, 0}, {160, 258, 0, 0, 0, 0, 0}, {771, 1036, 4403, 0, 0, 0, 0}, {780, 1028, 4420, 0, 0, 0, 0}, {160, 261, 0, 0, 0, 0, 0}, {160, 262, 0, 0, 0, 0, 0}, {783, 1032, 4471, 0, 0, 0, 0}, {4488, 768, 1032, 0, 0, 0, 0}, {265, 771, 1285, 4144, 0, 0, 0}, {266, 768, 1024, 4096, 0, 0, 0}, {4539, 771, 1028, 0, 0, 0, 0}, {4556, 780, 1036, 0, 0, 0, 0}, {269, 514, 1285, 4208, 0, 0, 0}, {270, 514, 1028, 4160, 0, 0, 0}, {4607, 783, 1024, 0, 0, 0, 0}, {160, 272, 0, 0, 0, 0, 0}, {819, 1092, 4369, 0, 0, 0, 0}, {816, 1096, 4386, 0, 0, 0, 0}, {160, 275, 0, 0, 0, 0, 0}, {160, 276, 0, 0, 0, 0, 0}, {831, 1088, 4437, 0, 0, 0, 0}, {828, 1100, 4454, 0, 0, 0, 0}, {160, 279, 0, 0, 0, 0, 0}, {280, 816, 1360, 4144, 0, 0, 0}, {4505, 819, 1100, 0, 0, 0, 0}, {4522, 816, 1088, 0, 0, 0, 0}, {283, 819, 1092, 4096, 0, 0, 0}, {284, 544, 1360, 4208, 0, 0, 0}, {4573, 831, 1096, 0, 0, 0, 0}, {4590, 828, 1092, 0, 0, 0, 0}, {287, 544, 1088, 4160, 0, 0, 0}, {288, 768, 1280, 4352, 0, 0, 0}, {1156, 771, 4369, 0, 0, 0, 0}, {1160, 768, 4386, 0, 0, 0, 0}, {291, 771, 1295, 4112, 0, 0, 0}, {292, 780, 1280, 4420, 0, 0, 0}, {1152, 783, 4437, 0, 0, 0, 0}, {1164, 780, 4454, 0, 0, 0, 0}, {295, 783, 1295, 4176, 0, 0, 0}, {296, 768, 1280, 4096, 0, 0, 0}, {1164, 771, 5397, 0, 0, 0, 0}, {1152, 768, 5418, 0, 0, 0, 0}, {299, 771, 1295, 4379, 0, 0, 0}, {300, 780, 1280, 4160, 0, 0, 0}, {1160, 783, 5461, 0, 0, 0, 0}, {1156, 780, 5482, 0, 0, 0, 0}, {303, 783, 1295, 4447, 0, 0, 0}, {1216, 816, 4352, 0, 0, 0, 0}, {305, 514, 1365, 4369, 0, 0, 0}, {306, 514, 1370, 4112, 0, 0, 0}, {1228, 819, 4403, 0, 0, 0, 0}, {1220, 828, 4420, 0, 0, 0, 0}, {309, 522, 1365, 4437, 0, 0, 0}, {310, 522, 1370, 4176, 0, 0, 0}, {1224, 831, 4471, 0, 0, 0, 0}, {1224, 816, 5440, 0, 0, 0, 0}, {313, 522, 1365, 4096, 0, 0, 0}, {314, 522, 1370, 4362, 0, 0, 0}, {1220, 819, 5503, 0, 0, 0, 0}, {1228, 828, 5376, 0, 0, 0, 0}, {317, 514, 1365, 4160, 0, 0, 0}, {318, 514, 1370, 4430, 0, 0, 0}, {1216, 831, 5439, 0, 0, 0, 0}, {960, 1088, 4352, 0, 0, 0, 0}, {546, 321, 1285, 4369, 0, 0, 0}, {546, 322, 1290, 4386, 0, 0, 0}, {963, 1100, 4403, 0, 0, 0, 0}, {972, 1092, 4420, 0, 0, 0, 0}, {554, 325, 1285, 4112, 0, 0, 0}, {554, 326, 1290, 4128, 0, 0, 0}, {975, 1096, 4471, 0, 0, 0, 0}, {960, 1096, 4680, 0, 0, 0, 0}, {554, 329, 1285, 4409, 0, 0, 0}, {554, 330, 1290, 4362, 0, 0, 0}, {963, 1092, 4728, 0, 0, 0, 0}, {972, 1100, 4608, 0, 0, 0, 0}, {546, 333, 1285, 4144, 0, 0, 0}, {546, 334, 1290, 4096, 0, 0, 0}, {975, 1088, 4656, 0, 0, 0, 0}, {512, 336, 1024, 4352, 0, 0, 0}, {1011, 1028, 4369, 0, 0, 0, 0}, {1008, 1032, 4386, 0, 0, 0, 0}, {512, 339, 1036, 4403, 0, 0, 0}, {520, 340, 1028, 4112, 0, 0, 0}, {1023, 1024, 4437, 0, 0, 0, 0}, {1020, 1036, 4454, 0, 0, 0, 0}, {520, 343, 1032, 4128, 0, 0, 0}, {520, 344, 1032, 4392, 0, 0, 0}, {1011, 1036, 4714, 0, 0, 0, 0}, {1008, 1024, 4698, 0, 0, 0, 0}, {520, 347, 1028, 4379, 0, 0, 0}, {512, 348, 1036, 4144, 0, 0, 0}, {1023, 1032, 4642, 0, 0, 0, 0}, {1020, 1028, 4626, 0, 0, 0, 0}, {512, 351, 1024, 4096, 0, 0, 0}, {512, 352, 1280, 4352, 0, 0, 0}, {963, 1799, 4369, 0, 0, 0, 0}, {960, 1800, 4386, 0, 0, 0, 0}, {512, 355, 1295, 4403, 0, 0, 0}, {520, 356, 1280, 4128, 0, 0, 0}, {975, 1807, 4437, 0, 0, 0, 0}, {972, 1792, 4454, 0, 0, 0, 0}, {520, 359, 1295, 4112, 0, 0, 0}, {520, 360, 1280, 4392, 0, 0, 0}, {963, 1807, 4698, 0, 0, 0, 0}, {960, 1792, 4714, 0, 0, 0, 0}, {520, 363, 1295, 4379, 0, 0, 0}, {512, 364, 1280, 4096, 0, 0, 0}, {975, 1799, 4626, 0, 0, 0, 0}, {972, 1800, 4642, 0, 0, 0, 0}, {512, 367, 1295, 4144, 0, 0, 0}, {1008, 1904, 4352, 0, 0, 0, 0}, {546, 369, 1060, 4369, 0, 0, 0}, {546, 370, 1064, 4386, 0, 0, 0}, {1011, 1919, 4403, 0, 0, 0, 0}, {1020, 1912, 4420, 0, 0, 0, 0}, {554, 373, 1056, 4128, 0, 0, 0}, {554, 374, 1068, 4112, 0, 0, 0}, {1023, 1911, 4471, 0, 0, 0, 0}, {1008, 1912, 4728, 0, 0, 0, 0}, {554, 377, 1068, 4409, 0, 0, 0}, {554, 378, 1056, 4362, 0, 0, 0}, {1011, 1911, 4680, 0, 0, 0, 0}, {1020, 1904, 4656, 0, 0, 0, 0}, {546, 381, 1064, 4096, 0, 0, 0}, {546, 382, 1060, 4144, 0, 0, 0}, {1023, 1919, 4608, 0, 0, 0, 0}, {1152, 768, 4352, 0, 0, 0, 0}, {289, 771, 1285, 4369, 0, 0, 0}, {290, 768, 1290, 4096, 0, 0, 0}, {1164, 771, 4403, 0, 0, 0, 0}, {1156, 780, 4420, 0, 0, 0, 0}, {293, 783, 1285, 4437, 0, 0, 0}, {294, 780, 1290, 4160, 0, 0, 0}, {1160, 783, 4471, 0, 0, 0, 0}, {1160, 768, 5376, 0, 0, 0, 0}, {297, 771, 1285, 4112, 0, 0, 0}, {298, 768, 1290, 4362, 0, 0, 0}, {1156, 771, 5439, 0, 0, 0, 0}, {1164, 780, 5440, 0, 0, 0, 0}, {301, 783, 1285, 4176, 0, 0, 0}, {302, 780, 1290, 4430, 0, 0, 0}, {1152, 783, 5503, 0, 0, 0, 0}, {304, 512, 1360, 4352, 0, 0, 0}, {1220, 819, 4369, 0, 0, 0, 0}, {1224, 816, 4386, 0, 0, 0, 0}, {307, 512, 1375, 4096, 0, 0, 0}, {308, 520, 1360, 4420, 0, 0, 0}, {1216, 831, 4437, 0, 0, 0, 0}, {1228, 828, 4454, 0, 0, 0, 0}, {311, 520, 1375, 4160, 0, 0, 0}, {312, 520, 1360, 4112, 0, 0, 0}, {1228, 819, 5461, 0, 0, 0, 0}, {1216, 816, 5482, 0, 0, 0, 0}, {315, 520, 1375, 4379, 0, 0, 0}, {316, 512, 1360, 4176, 0, 0, 0}, {1224, 831, 5397, 0, 0, 0, 0}, {1220, 828, 5418, 0, 0, 0, 0}, {319, 512, 1375, 4447, 0, 0, 0}, {160, 256, 0, 0, 0, 0, 0}, {771, 1028, 4369, 0, 0, 0, 0}, {768, 1032, 4386, 0, 0, 0, 0}, {160, 259, 0, 0, 0, 0, 0}, {160, 260, 0, 0, 0, 0, 0}, {783, 1024, 4437, 0, 0, 0, 0}, {780, 1036, 4454, 0, 0, 0, 0}, {160, 263, 0, 0, 0, 0, 0}, {264, 768, 1280, 4128, 0, 0, 0}, {4505, 771, 1036, 0, 0, 0, 0}, {4522, 768, 1024, 0, 0, 0, 0}, {267, 771, 1028, 4112, 0, 0, 0}, {268, 512, 1280, 4192, 0, 0, 0}, {4573, 783, 1032, 0, 0, 0, 0}, {4590, 780, 1028, 0, 0, 0, 0}, {271, 512, 1024, 4176, 0, 0, 0}, {816, 1088, 4352, 0, 0, 0, 0}, {160, 273, 0, 0, 0, 0, 0}, {160, 274, 0, 0, 0, 0, 0}, {819, 1100, 4403, 0, 0, 0, 0}, {828, 1092, 4420, 0, 0, 0, 0}, {160, 277, 0, 0, 0, 0, 0}, {160, 278, 0, 0, 0, 0, 0}, {831, 1096, 4471, 0, 0, 0, 0}, {4488, 816, 1096, 0, 0, 0, 0}, {281, 819, 1365, 4128, 0, 0, 0}, {282, 816, 1088, 4112, 0, 0, 0}, {4539, 819, 1092, 0, 0, 0, 0}, {4556, 828, 1100, 0, 0, 0, 0}, {285, 546, 1365, 4192, 0, 0, 0}, {286, 546, 1092, 4176, 0, 0, 0}, {4607, 831, 1088, 0, 0, 0, 0}, {960, 1792, 4352, 0, 0, 0, 0}, {514, 353, 1285, 4369, 0, 0, 0}, {514, 354, 1290, 4386, 0, 0, 0}, {963, 1807, 4403, 0, 0, 0, 0}, {972, 1800, 4420, 0, 0, 0, 0}, {522, 357, 1285, 4144, 0, 0, 0}, {522, 358, 1290, 4096, 0, 0, 0}, {975, 1799, 4471, 0, 0, 0, 0}, {960, 1800, 4680, 0, 0, 0, 0}, {522, 361, 1285, 4409, 0, 0, 0}, {522, 362, 1290, 4362, 0, 0, 0}, {963, 1799, 4728, 0, 0, 0, 0}, {972, 1792, 4608, 0, 0, 0, 0}, {514, 365, 1285, 4112, 0, 0, 0}, {514, 366, 1290, 4128, 0, 0, 0}, {975, 1807, 4656, 0, 0, 0, 0}, {544, 368, 1056, 4352, 0, 0, 0}, {1011, 1911, 4369, 0, 0, 0, 0}, {1008, 1912, 4386, 0, 0, 0, 0}, {544, 371, 1068, 4403, 0, 0, 0}, {552, 372, 1060, 4144, 0, 0, 0}, {1023, 1919, 4437, 0, 0, 0, 0}, {1020, 1904, 4454, 0, 0, 0, 0}, {552, 375, 1064, 4096, 0, 0, 0}, {552, 376, 1064, 4392, 0, 0, 0}, {1011, 1919, 4714, 0, 0, 0, 0}, {1008, 1904, 4698, 0, 0, 0, 0}, {552, 379, 1060, 4379, 0, 0, 0}, {544, 380, 1068, 4112, 0, 0, 0}, {1023, 1911, 4642, 0, 0, 0, 0}, {1020, 1912, 4626, 0, 0, 0, 0}, {544, 383, 1056, 4128, 0, 0, 0}, {544, 320, 1280, 4352, 0, 0, 0}, {963, 1092, 4369, 0, 0, 0, 0}, {960, 1096, 4386, 0, 0, 0, 0}, {544, 323, 1295, 4403, 0, 0, 0}, {552, 324, 1280, 4096, 0, 0, 0}, {975, 1088, 4437, 0, 0, 0, 0}, {972, 1100, 4454, 0, 0, 0, 0}, {552, 327, 1295, 4144, 0, 0, 0}, {552, 328, 1280, 4392, 0, 0, 0}, {963, 1100, 4698, 0, 0, 0, 0}, {960, 1088, 4714, 0, 0, 0, 0}, {552, 331, 1295, 4379, 0, 0, 0}, {544, 332, 1280, 4128, 0, 0, 0}, {975, 1096, 4626, 0, 0, 0, 0}, {972, 1092, 4642, 0, 0, 0, 0}, {544, 335, 1295, 4112, 0, 0, 0}, {1008, 1024, 4352, 0, 0, 0, 0}, {514, 337, 1028, 4369, 0, 0, 0}, {514, 338, 1032, 4386, 0, 0, 0}, {1011, 1036, 4403, 0, 0, 0, 0}, {1020, 1028, 4420, 0, 0, 0, 0}, {522, 341, 1024, 4096, 0, 0, 0}, {522, 342, 1036, 4144, 0, 0, 0}, {1023, 1032, 4471, 0, 0, 0, 0}, {1008, 1032, 4728, 0, 0, 0, 0}, {522, 345, 1036, 4409, 0, 0, 0}, {522, 346, 1024, 4362, 0, 0, 0}, {1011, 1028, 4680, 0, 0, 0, 0}, {1020, 1036, 4656, 0, 0, 0, 0}, {514, 349, 1032, 4128, 0, 0, 0}, {514, 350, 1028, 4112, 0, 0, 0}, {1023, 1024, 4608, 0, 0, 0, 0}, {2048, 8704, 0, 0, 0, 0, 0}, {3, 80, 257, 0, 0, 0, 0}, {160, 514, 0, 0, 0, 0, 0}, {3, 1024, 4352, 0, 0, 0, 0}, {12, 8772, 1028, 0, 0, 0, 0}, {15, 517, 80, 1285, 0, 0, 0}, {12, 518, 96, 1024, 0, 0, 0}, {15, 8823, 1799, 0, 0, 0, 0}, {2056, 8840, 0, 0, 0, 0, 0}, {3, 80, 261, 0, 0, 0, 0}, {160, 522, 0, 0, 0, 0, 0}, {3, 1028, 4420, 0, 0, 0, 0}, {12, 8704, 1024, 0, 0, 0, 0}, {15, 514, 80, 1285, 0, 0, 0}, {12, 514, 96, 1028, 0, 0, 0}, {15, 8704, 1792, 0, 0, 0, 0}, {48, 528, 80, 4112, 0, 0, 0}, {2116, 51, 4369, 0, 0, 0, 0}, {2120, 48, 4626, 0, 0, 0, 0}, {51, 531, 95, 4352, 0, 0, 0}, {60, 532, 80, 5140, 0, 0, 0}, {2112, 63, 5397, 0, 0, 0, 0}, {2124, 60, 5654, 0, 0, 0, 0}, {63, 535, 95, 5376, 0, 0, 0}, {48, 536, 80, 4096, 0, 0, 0}, {2124, 51, 4437, 0, 0, 0, 0}, {2112, 48, 4698, 0, 0, 0, 0}, {51, 539, 95, 4379, 0, 0, 0}, {60, 540, 80, 5120, 0, 0, 0}, {2120, 63, 5461, 0, 0, 0, 0}, {2116, 60, 5722, 0, 0, 0, 0}, {63, 543, 95, 5407, 0, 0, 0}, {160, 544, 0, 0, 0, 0, 0}, {3, 1092, 4369, 0, 0, 0, 0}, {2184, 8738, 0, 0, 0, 0, 0}, {3, 80, 272, 0, 0, 0, 0}, {12, 548, 96, 1060, 0, 0, 0}, {15, 8789, 1904, 0, 0, 0, 0}, {12, 8806, 1088, 0, 0, 0, 0}, {15, 551, 80, 1280, 0, 0, 0}, {160, 552, 0, 0, 0, 0, 0}, {3, 1088, 4437, 0, 0, 0, 0}, {2176, 8874, 0, 0, 0, 0, 0}, {3, 80, 276, 0, 0, 0, 0}, {12, 544, 96, 1056, 0, 0, 0}, {15, 8738, 1911, 0, 0, 0, 0}, {12, 8738, 1092, 0, 0, 0, 0}, {15, 544, 80, 1280, 0, 0, 0}, {2048, 48, 4608, 0, 0, 0, 0}, {51, 514, 95, 4369, 0, 0, 0}, {48, 514, 80, 4112, 0, 0, 0}, {2048, 51, 4352, 0, 0, 0, 0}, {2056, 60, 5708, 0, 0, 0, 0}, {63, 522, 95, 5386, 0, 0, 0}, {60, 522, 80, 5120, 0, 0, 0}, {2056, 63, 5440, 0, 0, 0, 0}, {2056, 48, 4680, 0, 0, 0, 0}, {51, 522, 95, 4362, 0, 0, 0}, {48, 522, 80, 4096, 0, 0, 0}, {2056, 51, 4420, 0, 0, 0, 0}, {2048, 60, 5632, 0, 0, 0, 0}, {63, 514, 95, 5397, 0, 0, 0}, {60, 514, 80, 5140, 0, 0, 0}, {2048, 63, 5376, 0, 0, 0, 0}, {192, 2112, 8704, 16448, 0, 0, 0}, {15, 51, 529, 80, 1285, 4369, 0}, {546, 96, 0, 0, 0, 0, 0}, {15, 51, 1859, 4352, 0, 0, 0}, {204, 2116, 8772, 17476, 0, 0, 0}, {15, 48, 533, 80, 1285, 4112, 0}, {554, 108, 0, 0, 0, 0, 0}, {15, 48, 1863, 4679, 0, 0, 0}, {192, 2120, 8776, 16384, 0, 0, 0}, {15, 51, 534, 80, 1285, 4357, 0}, {554, 96, 0, 0, 0, 0, 0}, {15, 51, 1860, 4420, 0, 0, 0}, {204, 2124, 8704, 17408, 0, 0, 0}, {15, 48, 530, 80, 1285, 4096, 0}, {546, 108, 0, 0, 0, 0, 0}, {15, 48, 1856, 4608, 0, 0, 0}, {512, 80, 0, 0, 0, 0, 0}, {12, 51, 1028, 4369, 0, 0, 0}, {240, 2056, 8738, 21074, 0, 0, 0}, {12, 51, 512, 83, 1024, 4352, 0}, {12, 48, 516, 80, 1028, 4112, 0}, {255, 2048, 8789, 21845, 0, 0, 0}, {12, 48, 1024, 4694, 0, 0, 0}, {520, 95, 0, 0, 0, 0, 0}, {520, 80, 0, 0, 0, 0, 0}, {12, 51, 1024, 4437, 0, 0, 0}, {240, 2048, 8794, 21082, 0, 0, 0}, {12, 51, 516, 83, 1028, 4375, 0}, {12, 48, 512, 80, 1024, 4096, 0}, {255, 2056, 8738, 21845, 0, 0, 0}, {12, 48, 1028, 4626, 0, 0, 0}, {512, 95, 0, 0, 0, 0, 0}, {512, 96, 0, 0, 0, 0, 0}, {15, 51, 1799, 4369, 0, 0, 0}, {192, 2056, 8738, 16448, 0, 0, 0}, {15, 51, 512, 80, 1280, 4352, 0}, {520, 108, 0, 0, 0, 0, 0}, {15, 48, 1792, 4693, 0, 0, 0}, {204, 2048, 8806, 17408, 0, 0, 0}, {15, 48, 519, 80, 1280, 4112, 0}, {520, 96, 0, 0, 0, 0, 0}, {15, 51, 1792, 4437, 0, 0, 0}, {192, 2048, 8810, 16384, 0, 0, 0}, {15, 51, 519, 80, 1280, 4372, 0}, {512, 108, 0, 0, 0, 0, 0}, {15, 48, 1799, 4626, 0, 0, 0}, {204, 2056, 8738, 17476, 0, 0, 0}, {15, 48, 512, 80, 1280, 4096, 0}, {240, 2160, 8704, 21104, 0, 0, 0}, {12, 51, 529, 83, 1047, 4369, 0}, {546, 80, 0, 0, 0, 0, 0}, {12, 51, 1088, 4352, 0, 0, 0}, {12, 48, 1092, 4676, 0, 0, 0}, {554, 95, 0, 0, 0, 0, 0}, {12, 48, 534, 80, 1040, 4112, 0}, {255, 2167, 8823, 21760, 0, 0, 0}, {240, 2168, 8824, 21112, 0, 0, 0}, {12, 51, 533, 83, 1043, 4358, 0}, {554, 80, 0, 0, 0, 0, 0}, {12, 51, 1092, 4420, 0, 0, 0}, {12, 48, 1088, 4608, 0, 0, 0}, {546, 95, 0, 0, 0, 0, 0}, {12, 48, 530, 80, 1044, 4096, 0}, {255, 2175, 8704, 21760, 0, 0, 0}, {2176, 8704, 0, 0, 0, 0, 0}, {3, 80, 273, 0, 0, 0, 0}, {160, 546, 0, 0, 0, 0, 0}, {3, 1088, 4352, 0, 0, 0, 0}, {12, 8772, 1092, 0, 0, 0, 0}, {15, 549, 80, 1285, 0, 0, 0}, {12, 550, 96, 1056, 0, 0, 0}, {15, 8823, 1911, 0, 0, 0, 0}, {2184, 8840, 0, 0, 0, 0, 0}, {3, 80, 277, 0, 0, 0, 0}, {160, 554, 0, 0, 0, 0, 0}, {3, 1092, 4420, 0, 0, 0, 0}, {12, 8704, 1088, 0, 0, 0, 0}, {15, 546, 80, 1285, 0, 0, 0}, {12, 546, 96, 1060, 0, 0, 0}, {15, 8704, 1904, 0, 0, 0, 0}, {48, 512, 80, 4096, 0, 0, 0}, {2056, 51, 4369, 0, 0, 0, 0}, {2056, 48, 4626, 0, 0, 0, 0}, {51, 512, 95, 4352, 0, 0, 0}, {60, 520, 80, 5140, 0, 0, 0}, {2048, 63, 5461, 0, 0, 0, 0}, {2048, 60, 5722, 0, 0, 0, 0}, {63, 520, 95, 5407, 0, 0, 0}, {48, 520, 80, 4112, 0, 0, 0}, {2048, 51, 4437, 0, 0, 0, 0}, {2048, 48, 4698, 0, 0, 0, 0}, {51, 520, 95, 4379, 0, 0, 0}, {60, 512, 80, 5120, 0, 0, 0}, {2056, 63, 5397, 0, 0, 0, 0}, {2056, 60, 5654, 0, 0, 0, 0}, {63, 512, 95, 5376, 0, 0, 0}, {160, 512, 0, 0, 0, 0, 0}, {3, 1028, 4369, 0, 0, 0, 0}, {2056, 8738, 0, 0, 0, 0, 0}, {3, 80, 256, 0, 0, 0, 0}, {12, 516, 96, 1028, 0, 0, 0}, {15, 8789, 1792, 0, 0, 0, 0}, {12, 8806, 1024, 0, 0, 0, 0}, {15, 519, 80, 1280, 0, 0, 0}, {160, 520, 0, 0, 0, 0, 0}, {3, 1024, 4437, 0, 0, 0, 0}, {2048, 8874, 0, 0, 0, 0, 0}, {3, 80, 260, 0, 0, 0, 0}, {12, 512, 96, 1024, 0, 0, 0}, {15, 8738, 1799, 0, 0, 0, 0}, {12, 8738, 1028, 0, 0, 0, 0}, {15, 512, 80, 1280, 0, 0, 0}, {2112, 48, 4608, 0, 0, 0, 0}, {51, 529, 95, 4369, 0, 0, 0}, {48, 530, 80, 4096, 0, 0, 0}, {2124, 51, 4352, 0, 0, 0, 0}, {2116, 60, 5632, 0, 0, 0, 0}, {63, 533, 95, 5397, 0, 0, 0}, {60, 534, 80, 5120, 0, 0, 0}, {2120, 63, 5376, 0, 0, 0, 0}, {2120, 48, 4680, 0, 0, 0, 0}, {51, 537, 95, 4362, 0, 0, 0}, {48, 538, 80, 4112, 0, 0, 0}, {2116, 51, 4420, 0, 0, 0, 0}, {2124, 60, 5708, 0, 0, 0, 0}, {63, 541, 95, 5386, 0, 0, 0}, {60, 542, 80, 5140, 0, 0, 0}, {2112, 63, 5440, 0, 0, 0, 0}, {192, 2048, 8704, 16384, 0, 0, 0}, {15, 51, 514, 80, 1285, 4369, 0}, {514, 96, 0, 0, 0, 0, 0}, {15, 51, 1792, 4352, 0, 0, 0}, {204, 2056, 8772, 17476, 0, 0, 0}, {15, 48, 517, 80, 1285, 4096, 0}, {522, 108, 0, 0, 0, 0, 0}, {15, 48, 1799, 4679, 0, 0, 0}, {192, 2056, 8776, 16448, 0, 0, 0}, {15, 51, 517, 80, 1285, 4357, 0}, {522, 96, 0, 0, 0, 0, 0}, {15, 51, 1799, 4420, 0, 0, 0}, {204, 2048, 8704, 17408, 0, 0, 0}, {15, 48, 514, 80, 1285, 4112, 0}, {514, 108, 0, 0, 0, 0, 0}, {15, 48, 1792, 4608, 0, 0, 0}, {544, 80, 0, 0, 0, 0, 0}, {12, 51, 1092, 4369, 0, 0, 0}, {240, 2168, 8738, 21026, 0, 0, 0}, {12, 51, 531, 83, 1043, 4352, 0}, {12, 48, 532, 80, 1044, 4096, 0}, {255, 2175, 8789, 21845, 0, 0, 0}, {12, 48, 1088, 4694, 0, 0, 0}, {552, 95, 0, 0, 0, 0, 0}, {552, 80, 0, 0, 0, 0, 0}, {12, 51, 1088, 4437, 0, 0, 0}, {240, 2160, 8794, 21034, 0, 0, 0}, {12, 51, 535, 83, 1047, 4375, 0}, {12, 48, 528, 80, 1040, 4112, 0}, {255, 2167, 8738, 21845, 0, 0, 0}, {12, 48, 1092, 4626, 0, 0, 0}, {544, 95, 0, 0, 0, 0, 0}, {544, 96, 0, 0, 0, 0, 0}, {15, 51, 1860, 4369, 0, 0, 0}, {192, 2120, 8738, 16384, 0, 0, 0}, {15, 51, 531, 80, 1280, 4352, 0}, {552, 108, 0, 0, 0, 0, 0}, {15, 48, 1856, 4693, 0, 0, 0}, {204, 2124, 8806, 17408, 0, 0, 0}, {15, 48, 535, 80, 1280, 4096, 0}, {552, 96, 0, 0, 0, 0, 0}, {15, 51, 1859, 4437, 0, 0, 0}, {192, 2112, 8810, 16448, 0, 0, 0}, {15, 51, 532, 80, 1280, 4372, 0}, {544, 108, 0, 0, 0, 0, 0}, {15, 48, 1863, 4626, 0, 0, 0}, {204, 2116, 8738, 17476, 0, 0, 0}, {15, 48, 528, 80, 1280, 4112, 0}, {240, 2048, 8704, 20992, 0, 0, 0}, {12, 51, 514, 83, 1028, 4369, 0}, {514, 80, 0, 0, 0, 0, 0}, {12, 51, 1024, 4352, 0, 0, 0}, {12, 48, 1028, 4676, 0, 0, 0}, {522, 95, 0, 0, 0, 0, 0}, {12, 48, 518, 80, 1024, 4096, 0}, {255, 2056, 8823, 21760, 0, 0, 0}, {240, 2056, 8824, 21000, 0, 0, 0}, {12, 51, 518, 83, 1024, 4358, 0}, {522, 80, 0, 0, 0, 0, 0}, {12, 51, 1028, 4420, 0, 0, 0}, {12, 48, 1024, 4608, 0, 0, 0}, {514, 95, 0, 0, 0, 0, 0}, {12, 48, 514, 80, 1028, 4112, 0}, {255, 2048, 8704, 21760, 0, 0, 0}, {768, 20480, 0, 0, 0, 0, 0}, {8, 34, 257, 0, 0, 0, 0}, {8, 34, 258, 0, 0, 0, 0}, {771, 20720, 0, 0, 0, 0, 0}, {8, 772, 1028, 4160, 0, 0, 0}, {170, 783, 1285, 0, 0, 0, 0}, {170, 780, 1290, 0, 0, 0, 0}, {8, 775, 1024, 4208, 0, 0, 0}, {8, 768, 1024, 4096, 0, 0, 0}, {170, 771, 1285, 0, 0, 0, 0}, {170, 768, 1290, 0, 0, 0, 0}, {8, 771, 1028, 4144, 0, 0, 0}, {780, 20480, 0, 0, 0, 0, 0}, {8, 34, 261, 0, 0, 0, 0}, {8, 34, 262, 0, 0, 0, 0}, {783, 20720, 0, 0, 0, 0, 0}, {128, 816, 4112, 0, 0, 0, 0}, {34, 785, 1365, 4369, 0, 0, 0}, {34, 786, 1370, 4352, 0, 0, 0}, {128, 819, 4128, 0, 0, 0, 0}, {136, 828, 5140, 0, 0, 0, 0}, {42, 789, 1365, 4160, 0, 0, 0}, {42, 790, 1370, 4186, 0, 0, 0}, {136, 831, 5160, 0, 0, 0, 0}, {136, 816, 5200, 0, 0, 0, 0}, {42, 793, 1365, 4096, 0, 0, 0}, {42, 794, 1370, 4122, 0, 0, 0}, {136, 819, 5228, 0, 0, 0, 0}, {128, 828, 4176, 0, 0, 0, 0}, {34, 797, 1365, 4437, 0, 0, 0}, {34, 798, 1370, 4420, 0, 0, 0}, {128, 831, 4192, 0, 0, 0, 0}, {128, 768, 4128, 0, 0, 0, 0}, {34, 771, 1295, 4369, 0, 0, 0}, {34, 768, 1280, 4352, 0, 0, 0}, {128, 771, 4112, 0, 0, 0, 0}, {136, 780, 5228, 0, 0, 0, 0}, {42, 783, 1295, 4186, 0, 0, 0}, {42, 780, 1280, 4160, 0, 0, 0}, {136, 783, 5200, 0, 0, 0, 0}, {136, 768, 5160, 0, 0, 0, 0}, {42, 771, 1295, 4122, 0, 0, 0}, {42, 768, 1280, 4096, 0, 0, 0}, {136, 771, 5140, 0, 0, 0, 0}, {128, 780, 4192, 0, 0, 0, 0}, {34, 783, 1295, 4437, 0, 0, 0}, {34, 780, 1280, 4420, 0, 0, 0}, {128, 783, 4176, 0, 0, 0, 0}, {816, 20720, 0, 0, 0, 0, 0}, {8, 34, 275, 0, 0, 0, 0}, {8, 34, 272, 0, 0, 0, 0}, {819, 20480, 0, 0, 0, 0, 0}, {8, 820, 1092, 4208, 0, 0, 0}, {170, 831, 1375, 0, 0, 0, 0}, {170, 828, 1360, 0, 0, 0, 0}, {8, 823, 1088, 4160, 0, 0, 0}, {8, 816, 1088, 4144, 0, 0, 0}, {170, 819, 1375, 0, 0, 0, 0}, {170, 816, 1360, 0, 0, 0, 0}, {8, 819, 1092, 4096, 0, 0, 0}, {828, 20720, 0, 0, 0, 0, 0}, {8, 34, 279, 0, 0, 0, 0}, {8, 34, 276, 0, 0, 0, 0}, {831, 20480, 0, 0, 0, 0, 0}, {3840, 832, 4864, 0, 0, 0, 0}, {34, 843, 1285, 4369, 0, 0, 0}, {34, 840, 1290, 4352, 0, 0, 0}, {3855, 835, 4915, 0, 0, 0, 0}, {3840, 836, 5888, 0, 0, 0, 0}, {42, 847, 1285, 4112, 0, 0, 0}, {42, 844, 1290, 4106, 0, 0, 0}, {3855, 839, 5951, 0, 0, 0, 0}, {3840, 840, 5120, 0, 0, 0, 0}, {42, 835, 1285, 4883, 0, 0, 0}, {42, 832, 1290, 4874, 0, 0, 0}, {3855, 843, 5180, 0, 0, 0, 0}, {3840, 844, 4096, 0, 0, 0, 0}, {34, 839, 1285, 4626, 0, 0, 0}, {34, 836, 1290, 4608, 0, 0, 0}, {3855, 847, 4144, 0, 0, 0, 0}, {1008, 3072, 13056, 20560, 0, 0, 0}, {8, 34, 512, 337, 1028, 4369, 0}, {8, 34, 512, 338, 1024, 4352, 0}, {1011, 3084, 13107, 21331, 0, 0, 0}, {8, 884, 1028, 4112, 0, 0, 0}, {12288, 853, 1536, 0, 0, 0, 0}, {12336, 854, 1548, 0, 0, 0, 0}, {8, 887, 1024, 4128, 0, 0, 0}, {8, 880, 1024, 4896, 0, 0, 0}, {13107, 857, 1548, 0, 0, 0, 0}, {13056, 858, 1536, 0, 0, 0, 0}, {8, 883, 1028, 4883, 0, 0, 0}, {1020, 3084, 12336, 20560, 0, 0, 0}, {8, 34, 512, 341, 1024, 4096, 0}, {8, 34, 512, 342, 1028, 4114, 0}, {1023, 3072, 12288, 21343, 0, 0, 0}, {960, 3840, 13056, 21344, 0, 0, 0}, {8, 34, 512, 323, 1287, 4369, 0}, {8, 34, 512, 320, 1280, 4352, 0}, {963, 3855, 13107, 20560, 0, 0, 0}, {8, 836, 1792, 4128, 0, 0, 0}, {12336, 869, 1295, 0, 0, 0, 0}, {12288, 870, 1280, 0, 0, 0, 0}, {8, 839, 1799, 4112, 0, 0, 0}, {8, 832, 1792, 4896, 0, 0, 0}, {13107, 873, 1295, 0, 0, 0, 0}, {13056, 874, 1280, 0, 0, 0, 0}, {8, 835, 1799, 4883, 0, 0, 0}, {972, 3840, 12288, 21356, 0, 0, 0}, {8, 34, 512, 327, 1287, 4114, 0}, {8, 34, 512, 324, 1280, 4096, 0}, {975, 3855, 12336, 20560, 0, 0, 0}, {3072, 880, 4864, 0, 0, 0, 0}, {34, 857, 1542, 4369, 0, 0, 0}, {34, 858, 1546, 4352, 0, 0, 0}, {3084, 883, 4915, 0, 0, 0, 0}, {3084, 884, 5180, 0, 0, 0, 0}, {42, 853, 1546, 4106, 0, 0, 0}, {42, 854, 1542, 4112, 0, 0, 0}, {3072, 887, 5120, 0, 0, 0, 0}, {3072, 888, 5888, 0, 0, 0, 0}, {42, 857, 1542, 4883, 0, 0, 0}, {42, 858, 1546, 4874, 0, 0, 0}, {3084, 891, 5951, 0, 0, 0, 0}, {3084, 892, 4144, 0, 0, 0, 0}, {34, 853, 1546, 4608, 0, 0, 0}, {34, 854, 1542, 4626, 0, 0, 0}, {3072, 895, 4096, 0, 0, 0, 0}, {128, 768, 4096, 0, 0, 0, 0}, {34, 771, 1285, 4369, 0, 0, 0}, {34, 768, 1290, 4352, 0, 0, 0}, {128, 771, 4144, 0, 0, 0, 0}, {136, 780, 5188, 0, 0, 0, 0}, {42, 783, 1285, 4176, 0, 0, 0}, {42, 780, 1290, 4170, 0, 0, 0}, {136, 783, 5240, 0, 0, 0, 0}, {136, 768, 5120, 0, 0, 0, 0}, {42, 771, 1285, 4112, 0, 0, 0}, {42, 768, 1290, 4106, 0, 0, 0}, {136, 771, 5180, 0, 0, 0, 0}, {128, 780, 4160, 0, 0, 0, 0}, {34, 783, 1285, 4437, 0, 0, 0}, {34, 780, 1290, 4420, 0, 0, 0}, {128, 783, 4208, 0, 0, 0, 0}, {816, 20560, 0, 0, 0, 0, 0}, {8, 34, 273, 0, 0, 0, 0}, {8, 34, 274, 0, 0, 0, 0}, {819, 20640, 0, 0, 0, 0, 0}, {8, 820, 1092, 4176, 0, 0, 0}, {170, 831, 1365, 0, 0, 0, 0}, {170, 828, 1370, 0, 0, 0, 0}, {8, 823, 1088, 4192, 0, 0, 0}, {8, 816, 1088, 4112, 0, 0, 0}, {170, 819, 1365, 0, 0, 0, 0}, {170, 816, 1370, 0, 0, 0, 0}, {8, 819, 1092, 4128, 0, 0, 0}, {828, 20560, 0, 0, 0, 0, 0}, {8, 34, 277, 0, 0, 0, 0}, {8, 34, 278, 0, 0, 0, 0}, {831, 20640, 0, 0, 0, 0, 0}, {768, 20640, 0, 0, 0, 0, 0}, {8, 34, 259, 0, 0, 0, 0}, {8, 34, 256, 0, 0, 0, 0}, {771, 20560, 0, 0, 0, 0, 0}, {8, 772, 1028, 4192, 0, 0, 0}, {170, 783, 1295, 0, 0, 0, 0}, {170, 780, 1280, 0, 0, 0, 0}, {8, 775, 1024, 4176, 0, 0, 0}, {8, 768, 1024, 4128, 0, 0, 0}, {170, 771, 1295, 0, 0, 0, 0}, {170, 768, 1280, 0, 0, 0, 0}, {8, 771, 1028, 4112, 0, 0, 0}, {780, 20640, 0, 0, 0, 0, 0}, {8, 34, 263, 0, 0, 0, 0}, {8, 34, 260, 0, 0, 0, 0}, {783, 20560, 0, 0, 0, 0, 0}, {128, 816, 4144, 0, 0, 0, 0}, {34, 785, 1375, 4369, 0, 0, 0}, {34, 786, 1360, 4352, 0, 0, 0}, {128, 819, 4096, 0, 0, 0, 0}, {136, 828, 5180, 0, 0, 0, 0}, {42, 789, 1375, 4170, 0, 0, 0}, {42, 790, 1360, 4176, 0, 0, 0}, {136, 831, 5120, 0, 0, 0, 0}, {136, 816, 5240, 0, 0, 0, 0}, {42, 793, 1375, 4106, 0, 0, 0}, {42, 794, 1360, 4112, 0, 0, 0}, {136, 819, 5188, 0, 0, 0, 0}, {128, 828, 4208, 0, 0, 0, 0}, {34, 797, 1375, 4437, 0, 0, 0}, {34, 798, 1360, 4420, 0, 0, 0}, {128, 831, 4160, 0, 0, 0, 0}, {960, 3840, 13056, 20480, 0, 0, 0}, {8, 34, 514, 321, 1285, 4369, 0}, {8, 34, 514, 322, 1282, 4352, 0}, {963, 3855, 13107, 21299, 0, 0, 0}, {8, 836, 1792, 4096, 0, 0, 0}, {12336, 869, 1285, 0, 0, 0, 0}, {12288, 870, 1290, 0, 0, 0, 0}, {8, 839, 1799, 4144, 0, 0, 0}, {8, 832, 1792, 4864, 0, 0, 0}, {13107, 873, 1285, 0, 0, 0, 0}, {13056, 874, 1290, 0, 0, 0, 0}, {8, 835, 1799, 4915, 0, 0, 0}, {972, 3840, 12288, 20480, 0, 0, 0}, {8, 34, 514, 325, 1285, 4112, 0}, {8, 34, 514, 326, 1282, 4098, 0}, {975, 3855, 12336, 21311, 0, 0, 0}, {3072, 880, 4896, 0, 0, 0, 0}, {34, 857, 1548, 4369, 0, 0, 0}, {34, 858, 1536, 4352, 0, 0, 0}, {3084, 883, 4883, 0, 0, 0, 0}, {3084, 884, 5140, 0, 0, 0, 0}, {42, 853, 1536, 4096, 0, 0, 0}, {42, 854, 1548, 4122, 0, 0, 0}, {3072, 887, 5160, 0, 0, 0, 0}, {3072, 888, 5928, 0, 0, 0, 0}, {42, 857, 1548, 4889, 0, 0, 0}, {42, 858, 1536, 4864, 0, 0, 0}, {3084, 891, 5911, 0, 0, 0, 0}, {3084, 892, 4112, 0, 0, 0, 0}, {34, 853, 1536, 4608, 0, 0, 0}, {34, 854, 1548, 4626, 0, 0, 0}, {3072, 895, 4128, 0, 0, 0, 0}, {3840, 832, 4896, 0, 0, 0, 0}, {34, 843, 1295, 4369, 0, 0, 0}, {34, 840, 1280, 4352, 0, 0, 0}, {3855, 835, 4883, 0, 0, 0, 0}, {3840, 836, 5928, 0, 0, 0, 0}, {42, 847, 1295, 4122, 0, 0, 0}, {42, 844, 1280, 4096, 0, 0, 0}, {3855, 839, 5911, 0, 0, 0, 0}, {3840, 840, 5160, 0, 0, 0, 0}, {42, 835, 1295, 4889, 0, 0, 0}, {42, 832, 1280, 4864, 0, 0, 0}, {3855, 843, 5140, 0, 0, 0, 0}, {3840, 844, 4128, 0, 0, 0, 0}, {34, 839, 1295, 4626, 0, 0, 0}, {34, 836, 1280, 4608, 0, 0, 0}, {3855, 847, 4112, 0, 0, 0, 0}, {1008, 3072, 13056, 21248, 0, 0, 0}, {8, 34, 514, 339, 1028, 4369, 0}, {8, 34, 514, 336, 1024, 4352, 0}, {1011, 3084, 13107, 20480, 0, 0, 0}, {8, 884, 1028, 4144, 0, 0, 0}, {12288, 853, 1546, 0, 0, 0, 0}, {12336, 854, 1542, 0, 0, 0, 0}, {8, 887, 1024, 4096, 0, 0, 0}, {8, 880, 1024, 4864, 0, 0, 0}, {13107, 857, 1542, 0, 0, 0, 0}, {13056, 858, 1546, 0, 0, 0, 0}, {8, 883, 1028, 4915, 0, 0, 0}, {1020, 3084, 12336, 21260, 0, 0, 0}, {8, 34, 514, 343, 1024, 4098, 0}, {8, 34, 514, 340, 1028, 4112, 0}, {1023, 3072, 12288, 20480, 0, 0, 0}, {8192, 1024, 0, 0, 0, 0, 0}, {15, 85, 257, 0, 0, 0, 0}, {170, 514, 1032, 0, 0, 0, 0}, {15, 771, 1027, 4144, 0, 0, 0}, {8320, 1028, 0, 0, 0, 0, 0}, {15, 85, 261, 0, 0, 0, 0}, {170, 522, 1036, 0, 0, 0, 0}, {15, 768, 1031, 4208, 0, 0, 0}, {8320, 1032, 0, 0, 0, 0, 0}, {15, 85, 262, 0, 0, 0, 0}, {170, 522, 1024, 0, 0, 0, 0}, {15, 771, 1028, 4160, 0, 0, 0}, {8192, 1036, 0, 0, 0, 0, 0}, {15, 85, 258, 0, 0, 0, 0}, {170, 514, 1028, 0, 0, 0, 0}, {15, 768, 1024, 4096, 0, 0, 0}, {240, 1088, 4112, 0, 0, 0, 0}, {546, 85, 1041, 4369, 0, 0, 0}, {546, 90, 1042, 4144, 0, 0, 0}, {255, 1100, 4883, 0, 0, 0, 0}, {240, 1092, 4176, 0, 0, 0, 0}, {554, 85, 1045, 4352, 0, 0, 0}, {554, 90, 1046, 4138, 0, 0, 0}, {255, 1096, 4959, 0, 0, 0, 0}, {240, 1096, 4192, 0, 0, 0, 0}, {554, 85, 1049, 4403, 0, 0, 0}, {554, 90, 1050, 4122, 0, 0, 0}, {255, 1092, 4972, 0, 0, 0, 0}, {240, 1100, 4128, 0, 0, 0, 0}, {546, 85, 1053, 4386, 0, 0, 0}, {546, 90, 1054, 4096, 0, 0, 0}, {255, 1088, 4896, 0, 0, 0, 0}, {1152, 3072, 8224, 17408, 0, 0, 0}, {15, 289, 771, 85, 1280, 4369, 0}, {170, 546, 1058, 0, 0, 0, 0}, {15, 771, 1139, 4112, 0, 0, 0}, {1156, 3084, 9252, 17476, 0, 0, 0}, {15, 293, 768, 85, 1280, 4352, 0}, {170, 554, 1062, 0, 0, 0, 0}, {15, 768, 1143, 4176, 0, 0, 0}, {1160, 3072, 9256, 16384, 0, 0, 0}, {15, 294, 771, 85, 1280, 4117, 0}, {170, 554, 1066, 0, 0, 0, 0}, {15, 771, 1140, 4192, 0, 0, 0}, {1164, 3084, 8224, 16448, 0, 0, 0}, {15, 290, 768, 85, 1280, 4096, 0}, {170, 546, 1070, 0, 0, 0, 0}, {15, 768, 1136, 4128, 0, 0, 0}, {240, 1072, 4144, 0, 0, 0, 0}, {514, 85, 1083, 4369, 0, 0, 0}, {514, 90, 1080, 4112, 0, 0, 0}, {255, 1075, 4915, 0, 0, 0, 0}, {240, 1076, 4208, 0, 0, 0, 0}, {522, 85, 1087, 4352, 0, 0, 0}, {522, 90, 1084, 4106, 0, 0, 0}, {255, 1079, 4991, 0, 0, 0, 0}, {240, 1080, 4160, 0, 0, 0, 0}, {522, 85, 1075, 4403, 0, 0, 0}, {522, 90, 1072, 4154, 0, 0, 0}, {255, 1083, 4940, 0, 0, 0, 0}, {240, 1084, 4096, 0, 0, 0, 0}, {514, 85, 1079, 4386, 0, 0, 0}, {514, 90, 1076, 4128, 0, 0, 0}, {255, 1087, 4864, 0, 0, 0, 0}, {8320, 1088, 0, 0, 0, 0, 0}, {15, 85, 276, 0, 0, 0, 0}, {170, 552, 1096, 0, 0, 0, 0}, {15, 819, 1091, 4208, 0, 0, 0}, {8192, 1092, 0, 0, 0, 0, 0}, {15, 85, 272, 0, 0, 0, 0}, {170, 544, 1100, 0, 0, 0, 0}, {15, 816, 1095, 4144, 0, 0, 0}, {8192, 1096, 0, 0, 0, 0, 0}, {15, 85, 275, 0, 0, 0, 0}, {170, 544, 1088, 0, 0, 0, 0}, {15, 819, 1092, 4096, 0, 0, 0}, {8320, 1100, 0, 0, 0, 0, 0}, {15, 85, 279, 0, 0, 0, 0}, {170, 552, 1092, 0, 0, 0, 0}, {15, 816, 1088, 4160, 0, 0, 0}, {240, 1024, 4176, 0, 0, 0, 0}, {520, 85, 1028, 4369, 0, 0, 0}, {520, 90, 1032, 4138, 0, 0, 0}, {255, 1036, 4972, 0, 0, 0, 0}, {240, 1028, 4112, 0, 0, 0, 0}, {512, 85, 1024, 4352, 0, 0, 0}, {512, 90, 1036, 4144, 0, 0, 0}, {255, 1032, 4896, 0, 0, 0, 0}, {240, 1032, 4128, 0, 0, 0, 0}, {512, 85, 1036, 4403, 0, 0, 0}, {512, 90, 1024, 4096, 0, 0, 0}, {255, 1028, 4883, 0, 0, 0, 0}, {240, 1036, 4192, 0, 0, 0, 0}, {520, 85, 1032, 4386, 0, 0, 0}, {520, 90, 1028, 4122, 0, 0, 0}, {255, 1024, 4959, 0, 0, 0, 0}, {1216, 2048, 9312, 17408, 0, 0, 0}, {15, 308, 519, 85, 1280, 4369, 0}, {170, 520, 1122, 0, 0, 0, 0}, {15, 819, 1075, 4176, 0, 0, 0}, {1220, 2056, 8224, 17476, 0, 0, 0}, {15, 304, 512, 85, 1280, 4352, 0}, {170, 512, 1126, 0, 0, 0, 0}, {15, 816, 1079, 4112, 0, 0, 0}, {1224, 2056, 8224, 16448, 0, 0, 0}, {15, 307, 512, 85, 1280, 4096, 0}, {170, 512, 1130, 0, 0, 0, 0}, {15, 819, 1076, 4128, 0, 0, 0}, {1228, 2048, 9324, 16384, 0, 0, 0}, {15, 311, 519, 85, 1280, 4117, 0}, {170, 520, 1134, 0, 0, 0, 0}, {15, 816, 1072, 4192, 0, 0, 0}, {240, 1136, 4208, 0, 0, 0, 0}, {552, 85, 1070, 4369, 0, 0, 0}, {552, 90, 1058, 4106, 0, 0, 0}, {255, 1139, 4940, 0, 0, 0, 0}, {240, 1140, 4144, 0, 0, 0, 0}, {544, 85, 1066, 4352, 0, 0, 0}, {544, 90, 1062, 4112, 0, 0, 0}, {255, 1143, 4864, 0, 0, 0, 0}, {240, 1144, 4096, 0, 0, 0, 0}, {544, 85, 1062, 4403, 0, 0, 0}, {544, 90, 1066, 4128, 0, 0, 0}, {255, 1147, 4915, 0, 0, 0, 0}, {240, 1148, 4160, 0, 0, 0, 0}, {552, 85, 1058, 4386, 0, 0, 0}, {552, 90, 1070, 4154, 0, 0, 0}, {255, 1151, 4991, 0, 0, 0, 0}, {1152, 3072, 9216, 17408, 0, 0, 0}, {15, 292, 771, 85, 1285, 4369, 0}, {170, 552, 1058, 0, 0, 0, 0}, {15, 771, 1139, 4160, 0, 0, 0}, {1156, 3084, 8192, 17476, 0, 0, 0}, {15, 288, 768, 85, 1285, 4352, 0}, {170, 544, 1062, 0, 0, 0, 0}, {15, 768, 1143, 4096, 0, 0, 0}, {1160, 3072, 8192, 16384, 0, 0, 0}, {15, 291, 771, 85, 1285, 4112, 0}, {170, 544, 1066, 0, 0, 0, 0}, {15, 771, 1140, 4144, 0, 0, 0}, {1164, 3084, 9228, 16448, 0, 0, 0}, {15, 295, 768, 85, 1285, 4101, 0}, {170, 552, 1070, 0, 0, 0, 0}, {15, 768, 1136, 4208, 0, 0, 0}, {240, 1072, 4192, 0, 0, 0, 0}, {520, 85, 1083, 4369, 0, 0, 0}, {520, 90, 1080, 4122, 0, 0, 0}, {255, 1075, 4972, 0, 0, 0, 0}, {240, 1076, 4128, 0, 0, 0, 0}, {512, 85, 1087, 4352, 0, 0, 0}, {512, 90, 1084, 4096, 0, 0, 0}, {255, 1079, 4896, 0, 0, 0, 0}, {240, 1080, 4112, 0, 0, 0, 0}, {512, 85, 1075, 4403, 0, 0, 0}, {512, 90, 1072, 4144, 0, 0, 0}, {255, 1083, 4883, 0, 0, 0, 0}, {240, 1084, 4176, 0, 0, 0, 0}, {520, 85, 1079, 4386, 0, 0, 0}, {520, 90, 1076, 4138, 0, 0, 0}, {255, 1087, 4959, 0, 0, 0, 0}, {8352, 1024, 0, 0, 0, 0, 0}, {15, 85, 260, 0, 0, 0, 0}, {170, 520, 1032, 0, 0, 0, 0}, {15, 771, 1027, 4192, 0, 0, 0}, {8224, 1028, 0, 0, 0, 0, 0}, {15, 85, 256, 0, 0, 0, 0}, {170, 512, 1036, 0, 0, 0, 0}, {15, 768, 1031, 4128, 0, 0, 0}, {8224, 1032, 0, 0, 0, 0, 0}, {15, 85, 259, 0, 0, 0, 0}, {170, 512, 1024, 0, 0, 0, 0}, {15, 771, 1028, 4112, 0, 0, 0}, {8352, 1036, 0, 0, 0, 0, 0}, {15, 85, 263, 0, 0, 0, 0}, {170, 520, 1028, 0, 0, 0, 0}, {15, 768, 1024, 4176, 0, 0, 0}, {240, 1088, 4160, 0, 0, 0, 0}, {552, 85, 1041, 4369, 0, 0, 0}, {552, 90, 1042, 4154, 0, 0, 0}, {255, 1100, 4940, 0, 0, 0, 0}, {240, 1092, 4096, 0, 0, 0, 0}, {544, 85, 1045, 4352, 0, 0, 0}, {544, 90, 1046, 4128, 0, 0, 0}, {255, 1096, 4864, 0, 0, 0, 0}, {240, 1096, 4144, 0, 0, 0, 0}, {544, 85, 1049, 4403, 0, 0, 0}, {544, 90, 1050, 4112, 0, 0, 0}, {255, 1092, 4915, 0, 0, 0, 0}, {240, 1100, 4208, 0, 0, 0, 0}, {552, 85, 1053, 4386, 0, 0, 0}, {552, 90, 1054, 4106, 0, 0, 0}, {255, 1088, 4991, 0, 0, 0, 0}, {1216, 2048, 8192, 17408, 0, 0, 0}, {15, 305, 514, 85, 1285, 4369, 0}, {170, 514, 1122, 0, 0, 0, 0}, {15, 819, 1075, 4096, 0, 0, 0}, {1220, 2056, 9284, 17476, 0, 0, 0}, {15, 309, 517, 85, 1285, 4352, 0}, {170, 522, 1126, 0, 0, 0, 0}, {15, 816, 1079, 4160, 0, 0, 0}, {1224, 2056, 9288, 16448, 0, 0, 0}, {15, 310, 517, 85, 1285, 4101, 0}, {170, 522, 1130, 0, 0, 0, 0}, {15, 819, 1076, 4208, 0, 0, 0}, {1228, 2048, 8192, 16384, 0, 0, 0}, {15, 306, 514, 85, 1285, 4112, 0}, {170, 514, 1134, 0, 0, 0, 0}, {15, 816, 1072, 4144, 0, 0, 0}, {240, 1136, 4128, 0, 0, 0, 0}, {546, 85, 1070, 4369, 0, 0, 0}, {546, 90, 1058, 4096, 0, 0, 0}, {255, 1139, 4883, 0, 0, 0, 0}, {240, 1140, 4192, 0, 0, 0, 0}, {554, 85, 1066, 4352, 0, 0, 0}, {554, 90, 1062, 4122, 0, 0, 0}, {255, 1143, 4959, 0, 0, 0, 0}, {240, 1144, 4176, 0, 0, 0, 0}, {554, 85, 1062, 4403, 0, 0, 0}, {554, 90, 1066, 4138, 0, 0, 0}, {255, 1147, 4972, 0, 0, 0, 0}, {240, 1148, 4112, 0, 0, 0, 0}, {546, 85, 1058, 4386, 0, 0, 0}, {546, 90, 1070, 4144, 0, 0, 0}, {255, 1151, 4896, 0, 0, 0, 0}, {8224, 1088, 0, 0, 0, 0, 0}, {15, 85, 273, 0, 0, 0, 0}, {170, 546, 1096, 0, 0, 0, 0}, {15, 819, 1091, 4128, 0, 0, 0}, {8352, 1092, 0, 0, 0, 0, 0}, {15, 85, 277, 0, 0, 0, 0}, {170, 554, 1100, 0, 0, 0, 0}, {15, 816, 1095, 4192, 0, 0, 0}, {8352, 1096, 0, 0, 0, 0, 0}, {15, 85, 278, 0, 0, 0, 0}, {170, 554, 1088, 0, 0, 0, 0}, {15, 819, 1092, 4176, 0, 0, 0}, {8224, 1100, 0, 0, 0, 0, 0}, {15, 85, 274, 0, 0, 0, 0}, {170, 546, 1092, 0, 0, 0, 0}, {15, 816, 1088, 4112, 0, 0, 0}, {240, 1024, 4096, 0, 0, 0, 0}, {514, 85, 1028, 4369, 0, 0, 0}, {514, 90, 1032, 4128, 0, 0, 0}, {255, 1036, 4915, 0, 0, 0, 0}, {240, 1028, 4160, 0, 0, 0, 0}, {522, 85, 1024, 4352, 0, 0, 0}, {522, 90, 1036, 4154, 0, 0, 0}, {255, 1032, 4991, 0, 0, 0, 0}, {240, 1032, 4208, 0, 0, 0, 0}, {522, 85, 1036, 4403, 0, 0, 0}, {522, 90, 1024, 4106, 0, 0, 0}, {255, 1028, 4940, 0, 0, 0, 0}, {240, 1036, 4144, 0, 0, 0, 0}, {514, 85, 1032, 4386, 0, 0, 0}, {514, 90, 1028, 4112, 0, 0, 0}, {255, 1024, 4864, 0, 0, 0, 0}, {3840, 21760, 0, 0, 0, 0, 0}, {32, 4, 257, 0, 0, 0, 0}, {8, 32, 514, 1282, 0, 0, 0}, {12, 771, 21811, 0, 0, 0, 0}, {768, 4, 4352, 0, 0, 0, 0}, {160, 1285, 0, 0, 0, 0, 0}, {12, 768, 96, 1286, 0, 0, 0}, {8, 8704, 1799, 0, 0, 0, 0}, {8, 8704, 1792, 0, 0, 0, 0}, {12, 771, 96, 1285, 0, 0, 0}, {160, 1290, 0, 0, 0, 0, 0}, {771, 4, 4403, 0, 0, 0, 0}, {12, 768, 21760, 0, 0, 0, 0}, {8, 32, 514, 1285, 0, 0, 0}, {32, 4, 258, 0, 0, 0, 0}, {3855, 22015, 0, 0, 0, 0, 0}, {32, 64, 1296, 4112, 0, 0, 0}, {3891, 68, 4369, 0, 0, 0, 0}, {3888, 72, 4626, 0, 0, 0, 0}, {32, 76, 1299, 4883, 0, 0, 0}, {40, 68, 1300, 4352, 0, 0, 0}, {3903, 64, 5397, 0, 0, 0, 0}, {3900, 76, 5654, 0, 0, 0, 0}, {40, 72, 1303, 4608, 0, 0, 0}, {40, 72, 1304, 4632, 0, 0, 0}, {3891, 76, 5674, 0, 0, 0, 0}, {3888, 64, 5418, 0, 0, 0, 0}, {40, 68, 1307, 4379, 0, 0, 0}, {32, 76, 1308, 4864, 0, 0, 0}, {3903, 72, 4642, 0, 0, 0, 0}, {3900, 68, 4386, 0, 0, 0, 0}, {32, 64, 1311, 4096, 0, 0, 0}, {32, 1280, 0, 0, 0, 0, 0}, {12, 771, 68, 4369, 0, 0, 0}, {136, 3840, 8738, 21794, 0, 0, 0}, {12, 32, 771, 64, 1283, 4112, 0}, {12, 36, 768, 68, 1280, 4352, 0}, {128, 3855, 9509, 21845, 0, 0, 0}, {12, 768, 64, 5414, 0, 0, 0}, {40, 1295, 0, 0, 0, 0, 0}, {40, 1280, 0, 0, 0, 0, 0}, {12, 771, 64, 5397, 0, 0, 0}, {128, 3840, 9514, 21802, 0, 0, 0}, {12, 36, 771, 68, 1283, 4375, 0}, {12, 32, 768, 64, 1280, 4096, 0}, {136, 3855, 8738, 21845, 0, 0, 0}, {12, 768, 68, 4386, 0, 0, 0}, {32, 1295, 0, 0, 0, 0, 0}, {192, 3888, 12336, 21760, 0, 0, 0}, {8, 32, 514, 68, 1297, 4369, 0}, {8, 32, 514, 64, 1298, 4112, 0}, {204, 3891, 13107, 21811, 0, 0, 0}, {8, 68, 1844, 4352, 0, 0, 0}, {12288, 96, 1333, 0, 0, 0, 0}, {13056, 108, 1334, 0, 0, 0, 0}, {8, 64, 1847, 4608, 0, 0, 0}, {8, 64, 1840, 4656, 0, 0, 0}, {13107, 108, 1337, 0, 0, 0, 0}, {12336, 96, 1338, 0, 0, 0, 0}, {8, 68, 1843, 4403, 0, 0, 0}, {204, 3900, 13056, 21760, 0, 0, 0}, {8, 32, 514, 64, 1301, 4096, 0}, {8, 32, 514, 68, 1302, 4354, 0}, {192, 3903, 12288, 21823, 0, 0, 0}, {3840, 64, 5376, 0, 0, 0, 0}, {40, 68, 1285, 4369, 0, 0, 0}, {40, 72, 1290, 4618, 0, 0, 0}, {3855, 76, 5692, 0, 0, 0, 0}, {3840, 68, 4352, 0, 0, 0, 0}, {32, 64, 1285, 4112, 0, 0, 0}, {32, 76, 1290, 4864, 0, 0, 0}, {3855, 72, 4656, 0, 0, 0, 0}, {3840, 72, 4608, 0, 0, 0, 0}, {32, 76, 1285, 4883, 0, 0, 0}, {32, 64, 1290, 4096, 0, 0, 0}, {3855, 68, 4403, 0, 0, 0, 0}, {3840, 76, 5632, 0, 0, 0, 0}, {40, 72, 1285, 4626, 0, 0, 0}, {40, 68, 1290, 4362, 0, 0, 0}, {3855, 64, 5439, 0, 0, 0, 0}, {160, 1360, 0, 0, 0, 0, 0}, {819, 4, 4369, 0, 0, 0, 0}, {8, 8738, 1904, 0, 0, 0, 0}, {12, 819, 96, 1331, 0, 0, 0}, {32, 4, 272, 0, 0, 0, 0}, {4095, 21845, 0, 0, 0, 0, 0}, {12, 816, 21862, 0, 0, 0, 0}, {8, 32, 512, 1367, 0, 0, 0}, {8, 32, 512, 1360, 0, 0, 0}, {12, 819, 21845, 0, 0, 0, 0}, {4080, 21930, 0, 0, 0, 0, 0}, {32, 4, 275, 0, 0, 0, 0}, {12, 816, 96, 1328, 0, 0, 0}, {8, 8738, 1911, 0, 0, 0, 0}, {816, 4, 4386, 0, 0, 0, 0}, {160, 1375, 0, 0, 0, 0, 0}, {12288, 96, 1280, 0, 0, 0, 0}, {8, 68, 1799, 4369, 0, 0, 0}, {8, 64, 1792, 4642, 0, 0, 0}, {13107, 108, 1295, 0, 0, 0, 0}, {8, 32, 512, 68, 1280, 4352, 0}, {192, 3855, 12336, 21845, 0, 0, 0}, {204, 3840, 13056, 21862, 0, 0, 0}, {8, 32, 512, 64, 1287, 4112, 0}, {8, 32, 512, 64, 1280, 4096, 0}, {204, 3855, 13107, 21845, 0, 0, 0}, {192, 3840, 12288, 21866, 0, 0, 0}, {8, 32, 512, 68, 1287, 4371, 0}, {13056, 108, 1280, 0, 0, 0, 0}, {8, 64, 1799, 4626, 0, 0, 0}, {8, 68, 1792, 4386, 0, 0, 0}, {12336, 96, 1295, 0, 0, 0, 0}, {128, 3952, 9584, 21760, 0, 0, 0}, {12, 36, 791, 68, 1297, 4369, 0}, {40, 1370, 0, 0, 0, 0, 0}, {12, 819, 64, 5427, 0, 0, 0}, {12, 816, 68, 4352, 0, 0, 0}, {32, 1365, 0, 0, 0, 0, 0}, {12, 32, 784, 64, 1302, 4112, 0}, {136, 3959, 8704, 21879, 0, 0, 0}, {136, 3960, 8704, 21760, 0, 0, 0}, {12, 32, 787, 64, 1301, 4096, 0}, {32, 1370, 0, 0, 0, 0, 0}, {12, 819, 68, 4403, 0, 0, 0}, {12, 816, 64, 5376, 0, 0, 0}, {40, 1365, 0, 0, 0, 0, 0}, {12, 36, 788, 68, 1298, 4358, 0}, {128, 3967, 9599, 21887, 0, 0, 0}, {128, 3840, 9472, 21760, 0, 0, 0}, {12, 36, 771, 68, 1285, 4369, 0}, {40, 1290, 0, 0, 0, 0, 0}, {12, 771, 64, 5427, 0, 0, 0}, {12, 768, 68, 4352, 0, 0, 0}, {32, 1285, 0, 0, 0, 0, 0}, {12, 32, 768, 64, 1286, 4096, 0}, {136, 3855, 8704, 21879, 0, 0, 0}, {136, 3840, 8704, 21760, 0, 0, 0}, {12, 32, 771, 64, 1285, 4112, 0}, {32, 1290, 0, 0, 0, 0, 0}, {12, 771, 68, 4403, 0, 0, 0}, {12, 768, 64, 5376, 0, 0, 0}, {40, 1285, 0, 0, 0, 0, 0}, {12, 36, 768, 68, 1286, 4358, 0}, {128, 3855, 9487, 21887, 0, 0, 0}, {12336, 96, 1328, 0, 0, 0, 0}, {8, 68, 1843, 4369, 0, 0, 0}, {8, 64, 1840, 4626, 0, 0, 0}, {13107, 108, 1331, 0, 0, 0, 0}, {8, 32, 512, 68, 1300, 4352, 0}, {192, 3903, 12288, 21845, 0, 0, 0}, {204, 3900, 13056, 21862, 0, 0, 0}, {8, 32, 512, 64, 1303, 4096, 0}, {8, 32, 512, 64, 1296, 4112, 0}, {204, 3891, 13107, 21845, 0, 0, 0}, {192, 3888, 12336, 21866, 0, 0, 0}, {8, 32, 512, 68, 1299, 4371, 0}, {13056, 108, 1340, 0, 0, 0, 0}, {8, 64, 1847, 4642, 0, 0, 0}, {8, 68, 1844, 4386, 0, 0, 0}, {12288, 96, 1343, 0, 0, 0, 0}, {160, 1280, 0, 0, 0, 0, 0}, {771, 4, 4369, 0, 0, 0, 0}, {8, 8738, 1792, 0, 0, 0, 0}, {12, 771, 96, 1283, 0, 0, 0}, {32, 4, 256, 0, 0, 0, 0}, {3855, 21845, 0, 0, 0, 0, 0}, {12, 768, 21862, 0, 0, 0, 0}, {8, 32, 512, 1287, 0, 0, 0}, {8, 32, 512, 1280, 0, 0, 0}, {12, 771, 21845, 0, 0, 0, 0}, {3840, 21930, 0, 0, 0, 0, 0}, {32, 4, 259, 0, 0, 0, 0}, {12, 768, 96, 1280, 0, 0, 0}, {8, 8738, 1799, 0, 0, 0, 0}, {768, 4, 4386, 0, 0, 0, 0}, {160, 1295, 0, 0, 0, 0, 0}, {3888, 64, 5376, 0, 0, 0, 0}, {40, 68, 1297, 4369, 0, 0, 0}, {40, 72, 1298, 4626, 0, 0, 0}, {3891, 76, 5632, 0, 0, 0, 0}, {3900, 68, 4352, 0, 0, 0, 0}, {32, 64, 1301, 4096, 0, 0, 0}, {32, 76, 1302, 4864, 0, 0, 0}, {3903, 72, 4608, 0, 0, 0, 0}, {3888, 72, 4656, 0, 0, 0, 0}, {32, 76, 1305, 4883, 0, 0, 0}, {32, 64, 1306, 4112, 0, 0, 0}, {3891, 68, 4403, 0, 0, 0, 0}, {3900, 76, 5692, 0, 0, 0, 0}, {40, 72, 1309, 4618, 0, 0, 0}, {40, 68, 1310, 4362, 0, 0, 0}, {3903, 64, 5439, 0, 0, 0, 0}, {192, 3840, 12288, 21760, 0, 0, 0}, {8, 32, 514, 68, 1285, 4369, 0}, {8, 32, 514, 64, 1282, 4096, 0}, {204, 3855, 13107, 21811, 0, 0, 0}, {8, 68, 1792, 4352, 0, 0, 0}, {12336, 96, 1285, 0, 0, 0, 0}, {13056, 108, 1290, 0, 0, 0, 0}, {8, 64, 1799, 4656, 0, 0, 0}, {8, 64, 1792, 4608, 0, 0, 0}, {13107, 108, 1285, 0, 0, 0, 0}, {12288, 96, 1290, 0, 0, 0, 0}, {8, 68, 1799, 4403, 0, 0, 0}, {204, 3840, 13056, 21760, 0, 0, 0}, {8, 32, 514, 64, 1285, 4112, 0}, {8, 32, 514, 68, 1282, 4354, 0}, {192, 3855, 12336, 21823, 0, 0, 0}, {32, 1360, 0, 0, 0, 0, 0}, {12, 819, 68, 4369, 0, 0, 0}, {136, 3960, 8738, 21794, 0, 0, 0}, {12, 32, 787, 64, 1299, 4096, 0}, {12, 36, 788, 68, 1300, 4352, 0}, {128, 3967, 9557, 21845, 0, 0, 0}, {12, 816, 64, 5414, 0, 0, 0}, {40, 1375, 0, 0, 0, 0, 0}, {40, 1360, 0, 0, 0, 0, 0}, {12, 819, 64, 5397, 0, 0, 0}, {128, 3952, 9562, 21802, 0, 0, 0}, {12, 36, 791, 68, 1303, 4375, 0}, {12, 32, 784, 64, 1296, 4112, 0}, {136, 3959, 8738, 21845, 0, 0, 0}, {12, 816, 68, 4386, 0, 0, 0}, {32, 1375, 0, 0, 0, 0, 0}, {32, 64, 1280, 4096, 0, 0, 0}, {3855, 68, 4369, 0, 0, 0, 0}, {3840, 72, 4642, 0, 0, 0, 0}, {32, 76, 1295, 4883, 0, 0, 0}, {40, 68, 1280, 4352, 0, 0, 0}, {3855, 64, 5397, 0, 0, 0, 0}, {3840, 76, 5674, 0, 0, 0, 0}, {40, 72, 1295, 4632, 0, 0, 0}, {40, 72, 1280, 4608, 0, 0, 0}, {3855, 76, 5654, 0, 0, 0, 0}, {3840, 64, 5418, 0, 0, 0, 0}, {40, 68, 1295, 4379, 0, 0, 0}, {32, 76, 1280, 4864, 0, 0, 0}, {3855, 72, 4626, 0, 0, 0, 0}, {3840, 68, 4386, 0, 0, 0, 0}, {32, 64, 1295, 4112, 0, 0, 0}, {4080, 21760, 0, 0, 0, 0, 0}, {32, 4, 273, 0, 0, 0, 0}, {8, 32, 514, 1362, 0, 0, 0}, {12, 819, 21811, 0, 0, 0, 0}, {816, 4, 4352, 0, 0, 0, 0}, {160, 1365, 0, 0, 0, 0, 0}, {12, 816, 96, 1334, 0, 0, 0}, {8, 8704, 1911, 0, 0, 0, 0}, {8, 8704, 1904, 0, 0, 0, 0}, {12, 819, 96, 1333, 0, 0, 0}, {160, 1370, 0, 0, 0, 0, 0}, {819, 4, 4403, 0, 0, 0, 0}, {12, 816, 21760, 0, 0, 0, 0}, {8, 32, 514, 1365, 0, 0, 0}, {32, 4, 274, 0, 0, 0, 0}, {4095, 22015, 0, 0, 0, 0, 0}, {3072, 26112, 0, 0, 0, 0, 0}, {32, 7, 257, 0, 0, 0, 0}, {8, 32, 514, 1024, 0, 0, 0}, {15, 771, 21760, 0, 0, 0, 0}, {8, 8704, 1028, 0, 0, 0, 0}, {15, 768, 80, 1285, 0, 0, 0}, {160, 1542, 0, 0, 0, 0, 0}, {768, 7, 4352, 0, 0, 0, 0}, {8, 8704, 1024, 0, 0, 0, 0}, {15, 771, 80, 1285, 0, 0, 0}, {160, 1546, 0, 0, 0, 0, 0}, {771, 7, 4403, 0, 0, 0, 0}, {3084, 26316, 0, 0, 0, 0, 0}, {32, 7, 258, 0, 0, 0, 0}, {8, 32, 514, 1028, 0, 0, 0}, {15, 768, 21760, 0, 0, 0, 0}, {32, 80, 1552, 4112, 0, 0, 0}, {3123, 119, 4369, 0, 0, 0, 0}, {3120, 120, 4626, 0, 0, 0, 0}, {32, 95, 1555, 4883, 0, 0, 0}, {40, 80, 1556, 4608, 0, 0, 0}, {3135, 127, 5397, 0, 0, 0, 0}, {3132, 112, 5654, 0, 0, 0, 0}, {40, 95, 1559, 4352, 0, 0, 0}, {40, 80, 1560, 4632, 0, 0, 0}, {3123, 127, 5418, 0, 0, 0, 0}, {3120, 112, 5674, 0, 0, 0, 0}, {40, 95, 1563, 4379, 0, 0, 0}, {32, 80, 1564, 4096, 0, 0, 0}, {3135, 119, 4386, 0, 0, 0, 0}, {3132, 120, 4642, 0, 0, 0, 0}, {32, 95, 1567, 4864, 0, 0, 0}, {32, 1536, 0, 0, 0, 0, 0}, {15, 771, 119, 4369, 0, 0, 0}, {136, 3072, 8738, 17408, 0, 0, 0}, {15, 32, 771, 80, 1280, 4112, 0}, {40, 1548, 0, 0, 0, 0, 0}, {15, 768, 112, 5413, 0, 0, 0}, {128, 3084, 9766, 16448, 0, 0, 0}, {15, 39, 768, 80, 1280, 4352, 0}, {40, 1536, 0, 0, 0, 0, 0}, {15, 771, 112, 5397, 0, 0, 0}, {128, 3072, 9770, 16384, 0, 0, 0}, {15, 39, 771, 80, 1280, 4372, 0}, {32, 1548, 0, 0, 0, 0, 0}, {15, 768, 119, 4386, 0, 0, 0}, {136, 3084, 8738, 17476, 0, 0, 0}, {15, 32, 768, 80, 1280, 4096, 0}, {240, 3120, 12336, 22064, 0, 0, 0}, {8, 32, 514, 87, 1043, 4369, 0}, {8, 32, 514, 80, 1040, 4112, 0}, {255, 3123, 13107, 21760, 0, 0, 0}, {8, 112, 1076, 4608, 0, 0, 0}, {13056, 95, 1589, 0, 0, 0, 0}, {12288, 80, 1590, 0, 0, 0, 0}, {8, 119, 1079, 4352, 0, 0, 0}, {8, 112, 1072, 4656, 0, 0, 0}, {13107, 95, 1593, 0, 0, 0, 0}, {12336, 80, 1594, 0, 0, 0, 0}, {8, 119, 1075, 4403, 0, 0, 0}, {240, 3132, 12288, 22076, 0, 0, 0}, {8, 32, 514, 87, 1047, 4354, 0}, {8, 32, 514, 80, 1044, 4096, 0}, {255, 3135, 13056, 21760, 0, 0, 0}, {128, 3136, 9792, 16448, 0, 0, 0}, {15, 39, 788, 80, 1285, 4369, 0}, {40, 1602, 0, 0, 0, 0, 0}, {15, 819, 112, 5376, 0, 0, 0}, {136, 3140, 8704, 17476, 0, 0, 0}, {15, 32, 784, 80, 1285, 4112, 0}, {32, 1606, 0, 0, 0, 0, 0}, {15, 816, 119, 4352, 0, 0, 0}, {136, 3144, 8704, 17408, 0, 0, 0}, {15, 32, 787, 80, 1285, 4096, 0}, {32, 1610, 0, 0, 0, 0, 0}, {15, 819, 119, 4403, 0, 0, 0}, {128, 3148, 9804, 16384, 0, 0, 0}, {15, 39, 791, 80, 1285, 4357, 0}, {40, 1614, 0, 0, 0, 0, 0}, {15, 816, 112, 5424, 0, 0, 0}, {12288, 80, 1536, 0, 0, 0, 0}, {8, 119, 1028, 4369, 0, 0, 0}, {8, 112, 1024, 4642, 0, 0, 0}, {13107, 95, 1548, 0, 0, 0, 0}, {8, 32, 512, 80, 1028, 4112, 0}, {255, 3072, 13056, 21845, 0, 0, 0}, {240, 3084, 12336, 22102, 0, 0, 0}, {8, 32, 512, 87, 1024, 4352, 0}, {8, 32, 512, 80, 1024, 4096, 0}, {255, 3084, 13107, 21845, 0, 0, 0}, {240, 3072, 12288, 22106, 0, 0, 0}, {8, 32, 512, 87, 1028, 4371, 0}, {12336, 80, 1548, 0, 0, 0, 0}, {8, 119, 1024, 4386, 0, 0, 0}, {8, 112, 1028, 4626, 0, 0, 0}, {13056, 95, 1536, 0, 0, 0, 0}, {160, 1632, 0, 0, 0, 0, 0}, {819, 7, 4369, 0, 0, 0, 0}, {8, 8738, 1088, 0, 0, 0, 0}, {15, 819, 80, 1280, 0, 0, 0}, {8, 32, 512, 1092, 0, 0, 0}, {15, 816, 21845, 0, 0, 0, 0}, {3276, 26214, 0, 0, 0, 0, 0}, {32, 7, 272, 0, 0, 0, 0}, {8, 32, 512, 1088, 0, 0, 0}, {15, 819, 21845, 0, 0, 0, 0}, {3264, 26282, 0, 0, 0, 0, 0}, {32, 7, 275, 0, 0, 0, 0}, {160, 1644, 0, 0, 0, 0, 0}, {816, 7, 4386, 0, 0, 0, 0}, {8, 8738, 1092, 0, 0, 0, 0}, {15, 816, 80, 1280, 0, 0, 0}, {3072, 112, 5632, 0, 0, 0, 0}, {40, 95, 1542, 4369, 0, 0, 0}, {40, 80, 1546, 4618, 0, 0, 0}, {3084, 127, 5439, 0, 0, 0, 0}, {3084, 120, 4656, 0, 0, 0, 0}, {32, 95, 1546, 4864, 0, 0, 0}, {32, 80, 1542, 4112, 0, 0, 0}, {3072, 119, 4352, 0, 0, 0, 0}, {3072, 120, 4608, 0, 0, 0, 0}, {32, 95, 1542, 4883, 0, 0, 0}, {32, 80, 1546, 4096, 0, 0, 0}, {3084, 119, 4403, 0, 0, 0, 0}, {3084, 112, 5692, 0, 0, 0, 0}, {40, 95, 1546, 4362, 0, 0, 0}, {40, 80, 1542, 4626, 0, 0, 0}, {3072, 127, 5376, 0, 0, 0, 0}, {128, 3072, 9728, 16384, 0, 0, 0}, {15, 39, 771, 80, 1285, 4369, 0}, {40, 1546, 0, 0, 0, 0, 0}, {15, 771, 112, 5424, 0, 0, 0}, {136, 3084, 8704, 17476, 0, 0, 0}, {15, 32, 768, 80, 1285, 4096, 0}, {32, 1542, 0, 0, 0, 0, 0}, {15, 768, 119, 4352, 0, 0, 0}, {136, 3072, 8704, 17408, 0, 0, 0}, {15, 32, 771, 80, 1285, 4112, 0}, {32, 1546, 0, 0, 0, 0, 0}, {15, 771, 119, 4403, 0, 0, 0}, {128, 3084, 9740, 16448, 0, 0, 0}, {15, 39, 768, 80, 1285, 4357, 0}, {40, 1542, 0, 0, 0, 0, 0}, {15, 768, 112, 5376, 0, 0, 0}, {12336, 80, 1584, 0, 0, 0, 0}, {8, 119, 1075, 4369, 0, 0, 0}, {8, 112, 1072, 4626, 0, 0, 0}, {13107, 95, 1587, 0, 0, 0, 0}, {8, 32, 512, 80, 1044, 4096, 0}, {255, 3135, 13056, 21845, 0, 0, 0}, {240, 3132, 12288, 22118, 0, 0, 0}, {8, 32, 512, 87, 1047, 4352, 0}, {8, 32, 512, 80, 1040, 4112, 0}, {255, 3123, 13107, 21845, 0, 0, 0}, {240, 3120, 12336, 22122, 0, 0, 0}, {8, 32, 512, 87, 1043, 4371, 0}, {12288, 80, 1596, 0, 0, 0, 0}, {8, 119, 1079, 4386, 0, 0, 0}, {8, 112, 1076, 4642, 0, 0, 0}, {13056, 95, 1599, 0, 0, 0, 0}, {160, 1536, 0, 0, 0, 0, 0}, {771, 7, 4369, 0, 0, 0, 0}, {8, 8738, 1024, 0, 0, 0, 0}, {15, 771, 80, 1280, 0, 0, 0}, {8, 32, 512, 1028, 0, 0, 0}, {15, 768, 21845, 0, 0, 0, 0}, {3084, 26214, 0, 0, 0, 0, 0}, {32, 7, 256, 0, 0, 0, 0}, {8, 32, 512, 1024, 0, 0, 0}, {15, 771, 21845, 0, 0, 0, 0}, {3072, 26282, 0, 0, 0, 0, 0}, {32, 7, 259, 0, 0, 0, 0}, {160, 1548, 0, 0, 0, 0, 0}, {768, 7, 4386, 0, 0, 0, 0}, {8, 8738, 1028, 0, 0, 0, 0}, {15, 768, 80, 1280, 0, 0, 0}, {3120, 112, 5632, 0, 0, 0, 0}, {40, 95, 1553, 4369, 0, 0, 0}, {40, 80, 1554, 4626, 0, 0, 0}, {3123, 127, 5376, 0, 0, 0, 0}, {3132, 120, 4608, 0, 0, 0, 0}, {32, 95, 1557, 4864, 0, 0, 0}, {32, 80, 1558, 4096, 0, 0, 0}, {3135, 119, 4352, 0, 0, 0, 0}, {3120, 120, 4656, 0, 0, 0, 0}, {32, 95, 1561, 4883, 0, 0, 0}, {32, 80, 1562, 4112, 0, 0, 0}, {3123, 119, 4403, 0, 0, 0, 0}, {3132, 112, 5692, 0, 0, 0, 0}, {40, 95, 1565, 4362, 0, 0, 0}, {40, 80, 1566, 4618, 0, 0, 0}, {3135, 127, 5439, 0, 0, 0, 0}, {3264, 26112, 0, 0, 0, 0, 0}, {32, 7, 273, 0, 0, 0, 0}, {8, 32, 514, 1088, 0, 0, 0}, {15, 819, 21760, 0, 0, 0, 0}, {8, 8704, 1092, 0, 0, 0, 0}, {15, 816, 80, 1285, 0, 0, 0}, {160, 1638, 0, 0, 0, 0, 0}, {816, 7, 4352, 0, 0, 0, 0}, {8, 8704, 1088, 0, 0, 0, 0}, {15, 819, 80, 1285, 0, 0, 0}, {160, 1642, 0, 0, 0, 0, 0}, {819, 7, 4403, 0, 0, 0, 0}, {3276, 26316, 0, 0, 0, 0, 0}, {32, 7, 274, 0, 0, 0, 0}, {8, 32, 514, 1092, 0, 0, 0}, {15, 816, 21760, 0, 0, 0, 0}, {32, 80, 1536, 4096, 0, 0, 0}, {3084, 119, 4369, 0, 0, 0, 0}, {3072, 120, 4642, 0, 0, 0, 0}, {32, 95, 1548, 4883, 0, 0, 0}, {40, 80, 1548, 4632, 0, 0, 0}, {3072, 127, 5418, 0, 0, 0, 0}, {3084, 112, 5654, 0, 0, 0, 0}, {40, 95, 1536, 4352, 0, 0, 0}, {40, 80, 1536, 4608, 0, 0, 0}, {3084, 127, 5397, 0, 0, 0, 0}, {3072, 112, 5674, 0, 0, 0, 0}, {40, 95, 1548, 4379, 0, 0, 0}, {32, 80, 1548, 4112, 0, 0, 0}, {3072, 119, 4386, 0, 0, 0, 0}, {3084, 120, 4626, 0, 0, 0, 0}, {32, 95, 1536, 4864, 0, 0, 0}, {32, 1600, 0, 0, 0, 0, 0}, {15, 819, 119, 4369, 0, 0, 0}, {136, 3144, 8738, 17408, 0, 0, 0}, {15, 32, 787, 80, 1280, 4096, 0}, {40, 1604, 0, 0, 0, 0, 0}, {15, 816, 112, 5397, 0, 0, 0}, {128, 3148, 9830, 16384, 0, 0, 0}, {15, 39, 791, 80, 1280, 4352, 0}, {40, 1608, 0, 0, 0, 0, 0}, {15, 819, 112, 5413, 0, 0, 0}, {128, 3136, 9834, 16448, 0, 0, 0}, {15, 39, 788, 80, 1280, 4372, 0}, {32, 1612, 0, 0, 0, 0, 0}, {15, 816, 119, 4386, 0, 0, 0}, {136, 3140, 8738, 17476, 0, 0, 0}, {15, 32, 784, 80, 1280, 4112, 0}, {240, 3072, 12288, 22016, 0, 0, 0}, {8, 32, 514, 87, 1028, 4369, 0}, {8, 32, 514, 80, 1024, 4096, 0}, {255, 3084, 13107, 21760, 0, 0, 0}, {8, 112, 1028, 4656, 0, 0, 0}, {13056, 95, 1546, 0, 0, 0, 0}, {12336, 80, 1542, 0, 0, 0, 0}, {8, 119, 1024, 4352, 0, 0, 0}, {8, 112, 1024, 4608, 0, 0, 0}, {13107, 95, 1542, 0, 0, 0, 0}, {12288, 80, 1546, 0, 0, 0, 0}, {8, 119, 1028, 4403, 0, 0, 0}, {240, 3084, 12336, 22028, 0, 0, 0}, {8, 32, 514, 87, 1024, 4354, 0}, {8, 32, 514, 80, 1028, 4112, 0}, {255, 3072, 13056, 21760, 0, 0, 0}, {8192, 1792, 0, 0, 0, 0, 0}, {12, 102, 257, 0, 0, 0, 0}, {170, 514, 1290, 0, 0, 0, 0}, {12, 771, 1024, 4144, 0, 0, 0}, {12, 768, 1028, 4160, 0, 0, 0}, {170, 522, 1285, 0, 0, 0, 0}, {12, 102, 262, 0, 0, 0, 0}, {8320, 1799, 0, 0, 0, 0, 0}, {8320, 1800, 0, 0, 0, 0, 0}, {12, 102, 261, 0, 0, 0, 0}, {170, 522, 1290, 0, 0, 0, 0}, {12, 771, 1028, 4208, 0, 0, 0}, {12, 768, 1024, 4096, 0, 0, 0}, {170, 514, 1285, 0, 0, 0, 0}, {12, 102, 258, 0, 0, 0, 0}, {8192, 1807, 0, 0, 0, 0, 0}, {192, 1904, 4112, 0, 0, 0, 0}, {546, 102, 1331, 4369, 0, 0, 0}, {546, 106, 1328, 4144, 0, 0, 0}, {204, 1919, 4883, 0, 0, 0, 0}, {204, 1912, 4972, 0, 0, 0, 0}, {554, 106, 1343, 4138, 0, 0, 0}, {554, 102, 1340, 4352, 0, 0, 0}, {192, 1911, 4192, 0, 0, 0, 0}, {192, 1912, 4176, 0, 0, 0, 0}, {554, 102, 1331, 4403, 0, 0, 0}, {554, 106, 1328, 4122, 0, 0, 0}, {204, 1911, 4959, 0, 0, 0, 0}, {204, 1904, 4896, 0, 0, 0, 0}, {546, 106, 1343, 4096, 0, 0, 0}, {546, 102, 1340, 4386, 0, 0, 0}, {192, 1919, 4128, 0, 0, 0, 0}, {1920, 3840, 8224, 22304, 0, 0, 0}, {12, 289, 771, 327, 1283, 4369, 0}, {170, 546, 1280, 0, 0, 0, 0}, {12, 771, 1088, 4112, 0, 0, 0}, {12, 768, 1092, 4192, 0, 0, 0}, {170, 554, 1295, 0, 0, 0, 0}, {12, 294, 768, 320, 1280, 4352, 0}, {1927, 3855, 10023, 20560, 0, 0, 0}, {1928, 3840, 10024, 22312, 0, 0, 0}, {12, 293, 771, 323, 1283, 4118, 0}, {170, 554, 1280, 0, 0, 0, 0}, {12, 771, 1092, 4176, 0, 0, 0}, {12, 768, 1088, 4128, 0, 0, 0}, {170, 546, 1295, 0, 0, 0, 0}, {12, 290, 768, 324, 1280, 4096, 0}, {1935, 3855, 8224, 20560, 0, 0, 0}, {192, 1840, 4144, 0, 0, 0, 0}, {514, 102, 1337, 4369, 0, 0, 0}, {514, 106, 1338, 4112, 0, 0, 0}, {204, 1843, 4915, 0, 0, 0, 0}, {204, 1844, 4940, 0, 0, 0, 0}, {522, 106, 1333, 4106, 0, 0, 0}, {522, 102, 1334, 4352, 0, 0, 0}, {192, 1847, 4160, 0, 0, 0, 0}, {192, 1848, 4208, 0, 0, 0, 0}, {522, 102, 1337, 4403, 0, 0, 0}, {522, 106, 1338, 4154, 0, 0, 0}, {204, 1851, 4991, 0, 0, 0, 0}, {204, 1852, 4864, 0, 0, 0, 0}, {514, 106, 1333, 4128, 0, 0, 0}, {514, 102, 1334, 4386, 0, 0, 0}, {192, 1855, 4096, 0, 0, 0, 0}, {192, 1856, 4160, 0, 0, 0, 0}, {552, 102, 1285, 4369, 0, 0, 0}, {552, 106, 1290, 4106, 0, 0, 0}, {204, 1859, 4991, 0, 0, 0, 0}, {204, 1860, 4864, 0, 0, 0, 0}, {544, 106, 1285, 4112, 0, 0, 0}, {544, 102, 1290, 4352, 0, 0, 0}, {192, 1863, 4144, 0, 0, 0, 0}, {192, 1864, 4096, 0, 0, 0, 0}, {544, 102, 1285, 4403, 0, 0, 0}, {544, 106, 1290, 4128, 0, 0, 0}, {204, 1867, 4915, 0, 0, 0, 0}, {204, 1868, 4940, 0, 0, 0, 0}, {552, 106, 1285, 4154, 0, 0, 0}, {552, 102, 1290, 4386, 0, 0, 0}, {192, 1871, 4208, 0, 0, 0, 0}, {2032, 2048, 10064, 20560, 0, 0, 0}, {12, 311, 516, 337, 1028, 4369, 0}, {170, 520, 1370, 0, 0, 0, 0}, {12, 819, 1024, 4192, 0, 0, 0}, {12, 816, 1028, 4112, 0, 0, 0}, {170, 512, 1365, 0, 0, 0, 0}, {12, 304, 512, 342, 1024, 4352, 0}, {2039, 2056, 8224, 22359, 0, 0, 0}, {2040, 2056, 8224, 20560, 0, 0, 0}, {12, 307, 512, 341, 1024, 4096, 0}, {170, 512, 1370, 0, 0, 0, 0}, {12, 819, 1028, 4128, 0, 0, 0}, {12, 816, 1024, 4176, 0, 0, 0}, {170, 520, 1365, 0, 0, 0, 0}, {12, 308, 516, 338, 1028, 4118, 0}, {2047, 2048, 10079, 22367, 0, 0, 0}, {192, 1792, 4192, 0, 0, 0, 0}, {520, 102, 1295, 4369, 0, 0, 0}, {520, 106, 1280, 4138, 0, 0, 0}, {204, 1807, 4959, 0, 0, 0, 0}, {204, 1800, 4896, 0, 0, 0, 0}, {512, 106, 1295, 4144, 0, 0, 0}, {512, 102, 1280, 4352, 0, 0, 0}, {192, 1799, 4112, 0, 0, 0, 0}, {192, 1800, 4128, 0, 0, 0, 0}, {512, 102, 1295, 4403, 0, 0, 0}, {512, 106, 1280, 4096, 0, 0, 0}, {204, 1799, 4883, 0, 0, 0, 0}, {204, 1792, 4972, 0, 0, 0, 0}, {520, 106, 1295, 4122, 0, 0, 0}, {520, 102, 1280, 4386, 0, 0, 0}, {192, 1807, 4176, 0, 0, 0, 0}, {8320, 1904, 0, 0, 0, 0, 0}, {12, 102, 279, 0, 0, 0, 0}, {170, 552, 1360, 0, 0, 0, 0}, {12, 819, 1088, 4160, 0, 0, 0}, {12, 816, 1092, 4144, 0, 0, 0}, {170, 544, 1375, 0, 0, 0, 0}, {12, 102, 272, 0, 0, 0, 0}, {8192, 1911, 0, 0, 0, 0, 0}, {8192, 1912, 0, 0, 0, 0, 0}, {12, 102, 275, 0, 0, 0, 0}, {170, 544, 1360, 0, 0, 0, 0}, {12, 819, 1092, 4096, 0, 0, 0}, {12, 816, 1088, 4208, 0, 0, 0}, {170, 552, 1375, 0, 0, 0, 0}, {12, 102, 276, 0, 0, 0, 0}, {8320, 1919, 0, 0, 0, 0, 0}, {1920, 3840, 9984, 20480, 0, 0, 0}, {12, 295, 771, 321, 1285, 4369, 0}, {170, 552, 1290, 0, 0, 0, 0}, {12, 771, 1088, 4208, 0, 0, 0}, {12, 768, 1092, 4096, 0, 0, 0}, {170, 544, 1285, 0, 0, 0, 0}, {12, 288, 768, 326, 1286, 4352, 0}, {1927, 3855, 8192, 22391, 0, 0, 0}, {1928, 3840, 8192, 20480, 0, 0, 0}, {12, 291, 771, 325, 1285, 4112, 0}, {170, 544, 1290, 0, 0, 0, 0}, {12, 771, 1092, 4144, 0, 0, 0}, {12, 768, 1088, 4160, 0, 0, 0}, {170, 552, 1285, 0, 0, 0, 0}, {12, 292, 768, 322, 1286, 4102, 0}, {1935, 3855, 9999, 22399, 0, 0, 0}, {192, 1840, 4176, 0, 0, 0, 0}, {520, 102, 1331, 4369, 0, 0, 0}, {520, 106, 1328, 4122, 0, 0, 0}, {204, 1843, 4959, 0, 0, 0, 0}, {204, 1844, 4896, 0, 0, 0, 0}, {512, 106, 1343, 4096, 0, 0, 0}, {512, 102, 1340, 4352, 0, 0, 0}, {192, 1847, 4128, 0, 0, 0, 0}, {192, 1848, 4112, 0, 0, 0, 0}, {512, 102, 1331, 4403, 0, 0, 0}, {512, 106, 1328, 4144, 0, 0, 0}, {204, 1851, 4883, 0, 0, 0, 0}, {204, 1852, 4972, 0, 0, 0, 0}, {520, 106, 1343, 4138, 0, 0, 0}, {520, 102, 1340, 4386, 0, 0, 0}, {192, 1855, 4192, 0, 0, 0, 0}, {8352, 1792, 0, 0, 0, 0, 0}, {12, 102, 263, 0, 0, 0, 0}, {170, 520, 1280, 0, 0, 0, 0}, {12, 771, 1024, 4176, 0, 0, 0}, {12, 768, 1028, 4128, 0, 0, 0}, {170, 512, 1295, 0, 0, 0, 0}, {12, 102, 256, 0, 0, 0, 0}, {8224, 1799, 0, 0, 0, 0, 0}, {8224, 1800, 0, 0, 0, 0, 0}, {12, 102, 259, 0, 0, 0, 0}, {170, 512, 1280, 0, 0, 0, 0}, {12, 771, 1028, 4112, 0, 0, 0}, {12, 768, 1024, 4192, 0, 0, 0}, {170, 520, 1295, 0, 0, 0, 0}, {12, 102, 260, 0, 0, 0, 0}, {8352, 1807, 0, 0, 0, 0, 0}, {192, 1904, 4208, 0, 0, 0, 0}, {552, 102, 1337, 4369, 0, 0, 0}, {552, 106, 1338, 4154, 0, 0, 0}, {204, 1919, 4991, 0, 0, 0, 0}, {204, 1912, 4864, 0, 0, 0, 0}, {544, 106, 1333, 4128, 0, 0, 0}, {544, 102, 1334, 4352, 0, 0, 0}, {192, 1911, 4096, 0, 0, 0, 0}, {192, 1912, 4144, 0, 0, 0, 0}, {544, 102, 1337, 4403, 0, 0, 0}, {544, 106, 1338, 4112, 0, 0, 0}, {204, 1911, 4915, 0, 0, 0, 0}, {204, 1904, 4940, 0, 0, 0, 0}, {552, 106, 1333, 4106, 0, 0, 0}, {552, 102, 1334, 4386, 0, 0, 0}, {192, 1919, 4160, 0, 0, 0, 0}, {192, 1792, 4096, 0, 0, 0, 0}, {514, 102, 1285, 4369, 0, 0, 0}, {514, 106, 1290, 4128, 0, 0, 0}, {204, 1807, 4915, 0, 0, 0, 0}, {204, 1800, 4940, 0, 0, 0, 0}, {522, 106, 1285, 4154, 0, 0, 0}, {522, 102, 1290, 4352, 0, 0, 0}, {192, 1799, 4208, 0, 0, 0, 0}, {192, 1800, 4160, 0, 0, 0, 0}, {522, 102, 1285, 4403, 0, 0, 0}, {522, 106, 1290, 4106, 0, 0, 0}, {204, 1799, 4991, 0, 0, 0, 0}, {204, 1792, 4864, 0, 0, 0, 0}, {514, 106, 1285, 4112, 0, 0, 0}, {514, 102, 1290, 4386, 0, 0, 0}, {192, 1807, 4144, 0, 0, 0, 0}, {8224, 1904, 0, 0, 0, 0, 0}, {12, 102, 273, 0, 0, 0, 0}, {170, 546, 1370, 0, 0, 0, 0}, {12, 819, 1088, 4128, 0, 0, 0}, {12, 816, 1092, 4176, 0, 0, 0}, {170, 554, 1365, 0, 0, 0, 0}, {12, 102, 278, 0, 0, 0, 0}, {8352, 1911, 0, 0, 0, 0, 0}, {8352, 1912, 0, 0, 0, 0, 0}, {12, 102, 277, 0, 0, 0, 0}, {170, 554, 1370, 0, 0, 0, 0}, {12, 819, 1092, 4192, 0, 0, 0}, {12, 816, 1088, 4112, 0, 0, 0}, {170, 546, 1365, 0, 0, 0, 0}, {12, 102, 274, 0, 0, 0, 0}, {8224, 1919, 0, 0, 0, 0, 0}, {192, 1856, 4128, 0, 0, 0, 0}, {546, 102, 1295, 4369, 0, 0, 0}, {546, 106, 1280, 4096, 0, 0, 0}, {204, 1859, 4883, 0, 0, 0, 0}, {204, 1860, 4972, 0, 0, 0, 0}, {554, 106, 1295, 4122, 0, 0, 0}, {554, 102, 1280, 4352, 0, 0, 0}, {192, 1863, 4176, 0, 0, 0, 0}, {192, 1864, 4192, 0, 0, 0, 0}, {554, 102, 1295, 4403, 0, 0, 0}, {554, 106, 1280, 4138, 0, 0, 0}, {204, 1867, 4959, 0, 0, 0, 0}, {204, 1868, 4896, 0, 0, 0, 0}, {546, 106, 1295, 4144, 0, 0, 0}, {546, 102, 1280, 4386, 0, 0, 0}, {192, 1871, 4112, 0, 0, 0, 0}, {2032, 2048, 8192, 22272, 0, 0, 0}, {12, 305, 514, 343, 1028, 4369, 0}, {170, 514, 1360, 0, 0, 0, 0}, {12, 819, 1024, 4096, 0, 0, 0}, {12, 816, 1028, 4208, 0, 0, 0}, {170, 522, 1375, 0, 0, 0, 0}, {12, 310, 518, 336, 1024, 4352, 0}, {2039, 2056, 10103, 20480, 0, 0, 0}, {2040, 2056, 10104, 22280, 0, 0, 0}, {12, 309, 518, 339, 1024, 4102, 0}, {170, 522, 1360, 0, 0, 0, 0}, {12, 819, 1028, 4160, 0, 0, 0}, {12, 816, 1024, 4144, 0, 0, 0}, {170, 514, 1375, 0, 0, 0, 0}, {12, 306, 514, 340, 1028, 4112, 0}, {2047, 2048, 8192, 20480, 0, 0, 0}, {2048, 8192, 0, 0, 0, 0, 0}, {3, 85, 257, 0, 0, 0, 0}, {170, 514, 0, 0, 0, 0, 0}, {3, 1024, 4096, 0, 0, 0, 0}, {12, 8256, 1028, 0, 0, 0, 0}, {15, 517, 85, 1285, 0, 0, 0}, {12, 518, 102, 1024, 0, 0, 0}, {15, 8304, 1799, 0, 0, 0, 0}, {2056, 8320, 0, 0, 0, 0, 0}, {3, 85, 261, 0, 0, 0, 0}, {170, 522, 0, 0, 0, 0, 0}, {3, 1028, 4160, 0, 0, 0, 0}, {12, 8192, 1024, 0, 0, 0, 0}, {15, 514, 85, 1285, 0, 0, 0}, {12, 514, 102, 1028, 0, 0, 0}, {15, 8192, 1792, 0, 0, 0, 0}, {2112, 48, 4112, 0, 0, 0, 0}, {51, 529, 85, 4369, 0, 0, 0}, {48, 530, 90, 4096, 0, 0, 0}, {2124, 51, 4883, 0, 0, 0, 0}, {2116, 60, 5140, 0, 0, 0, 0}, {63, 533, 85, 5397, 0, 0, 0}, {60, 534, 90, 5120, 0, 0, 0}, {2120, 63, 5911, 0, 0, 0, 0}, {2120, 48, 4176, 0, 0, 0, 0}, {51, 537, 85, 4352, 0, 0, 0}, {48, 538, 90, 4122, 0, 0, 0}, {2116, 51, 4959, 0, 0, 0, 0}, {2124, 60, 5200, 0, 0, 0, 0}, {63, 541, 85, 5376, 0, 0, 0}, {60, 542, 90, 5150, 0, 0, 0}, {2112, 63, 5983, 0, 0, 0, 0}, {2176, 8224, 0, 0, 0, 0, 0}, {3, 85, 273, 0, 0, 0, 0}, {170, 546, 0, 0, 0, 0, 0}, {3, 1088, 4112, 0, 0, 0, 0}, {12, 8288, 1092, 0, 0, 0, 0}, {15, 549, 85, 1280, 0, 0, 0}, {12, 550, 102, 1062, 0, 0, 0}, {15, 8272, 1911, 0, 0, 0, 0}, {2184, 8352, 0, 0, 0, 0, 0}, {3, 85, 277, 0, 0, 0, 0}, {170, 554, 0, 0, 0, 0, 0}, {3, 1092, 4176, 0, 0, 0, 0}, {12, 8224, 1088, 0, 0, 0, 0}, {15, 546, 85, 1280, 0, 0, 0}, {12, 546, 102, 1058, 0, 0, 0}, {15, 8224, 1904, 0, 0, 0, 0}, {2048, 48, 4096, 0, 0, 0, 0}, {51, 514, 85, 4369, 0, 0, 0}, {48, 514, 90, 4112, 0, 0, 0}, {2048, 51, 4864, 0, 0, 0, 0}, {2056, 60, 5188, 0, 0, 0, 0}, {63, 522, 85, 5376, 0, 0, 0}, {60, 522, 90, 5130, 0, 0, 0}, {2056, 63, 5960, 0, 0, 0, 0}, {2056, 48, 4160, 0, 0, 0, 0}, {51, 522, 85, 4352, 0, 0, 0}, {48, 522, 90, 4106, 0, 0, 0}, {2056, 51, 4940, 0, 0, 0, 0}, {2048, 60, 5120, 0, 0, 0, 0}, {63, 514, 85, 5397, 0, 0, 0}, {60, 514, 90, 5140, 0, 0, 0}, {2048, 63, 5888, 0, 0, 0, 0}, {192, 2112, 8256, 16448, 0, 0, 0}, {15, 51, 532, 85, 1285, 4369, 0}, {552, 106, 0, 0, 0, 0, 0}, {15, 51, 1859, 4931, 0, 0, 0}, {204, 2116, 8192, 17476, 0, 0, 0}, {15, 48, 528, 85, 1285, 4112, 0}, {544, 102, 0, 0, 0, 0, 0}, {15, 48, 1863, 4096, 0, 0, 0}, {192, 2120, 8192, 16384, 0, 0, 0}, {15, 51, 531, 85, 1285, 4352, 0}, {544, 106, 0, 0, 0, 0, 0}, {15, 51, 1860, 4864, 0, 0, 0}, {204, 2124, 8268, 17408, 0, 0, 0}, {15, 48, 535, 85, 1285, 4101, 0}, {552, 102, 0, 0, 0, 0, 0}, {15, 48, 1856, 4160, 0, 0, 0}, {240, 2048, 8272, 20560, 0, 0, 0}, {12, 51, 516, 85, 1028, 4369, 0}, {520, 90, 0, 0, 0, 0, 0}, {12, 51, 1024, 4947, 0, 0, 0}, {12, 48, 1028, 4112, 0, 0, 0}, {512, 85, 0, 0, 0, 0, 0}, {12, 48, 512, 86, 1024, 4096, 0}, {255, 2056, 8224, 22359, 0, 0, 0}, {240, 2056, 8224, 20560, 0, 0, 0}, {12, 51, 512, 85, 1024, 4352, 0}, {512, 90, 0, 0, 0, 0, 0}, {12, 51, 1028, 4883, 0, 0, 0}, {12, 48, 1024, 4176, 0, 0, 0}, {520, 85, 0, 0, 0, 0, 0}, {12, 48, 516, 86, 1028, 4118, 0}, {255, 2048, 8287, 22367, 0, 0, 0}, {192, 2048, 8288, 16384, 0, 0, 0}, {15, 51, 519, 85, 1280, 4369, 0}, {520, 106, 0, 0, 0, 0, 0}, {15, 51, 1792, 4944, 0, 0, 0}, {204, 2056, 8224, 17476, 0, 0, 0}, {15, 48, 512, 85, 1280, 4096, 0}, {512, 102, 0, 0, 0, 0, 0}, {15, 48, 1799, 4112, 0, 0, 0}, {192, 2056, 8224, 16448, 0, 0, 0}, {15, 51, 512, 85, 1280, 4352, 0}, {512, 106, 0, 0, 0, 0, 0}, {15, 51, 1799, 4883, 0, 0, 0}, {204, 2048, 8300, 17408, 0, 0, 0}, {15, 48, 519, 85, 1280, 4117, 0}, {520, 102, 0, 0, 0, 0, 0}, {15, 48, 1792, 4176, 0, 0, 0}, {240, 2160, 8304, 20480, 0, 0, 0}, {12, 51, 535, 85, 1041, 4369, 0}, {552, 90, 0, 0, 0, 0, 0}, {12, 51, 1088, 4928, 0, 0, 0}, {12, 48, 1092, 4096, 0, 0, 0}, {544, 85, 0, 0, 0, 0, 0}, {12, 48, 528, 86, 1046, 4112, 0}, {255, 2167, 8192, 22391, 0, 0, 0}, {240, 2168, 8192, 20480, 0, 0, 0}, {12, 51, 531, 85, 1045, 4352, 0}, {544, 90, 0, 0, 0, 0, 0}, {12, 51, 1092, 4864, 0, 0, 0}, {12, 48, 1088, 4160, 0, 0, 0}, {552, 85, 0, 0, 0, 0, 0}, {12, 48, 532, 86, 1042, 4102, 0}, {255, 2175, 8319, 22399, 0, 0, 0}, {2176, 8320, 0, 0, 0, 0, 0}, {3, 85, 276, 0, 0, 0, 0}, {170, 552, 0, 0, 0, 0, 0}, {3, 1088, 4160, 0, 0, 0, 0}, {12, 8192, 1092, 0, 0, 0, 0}, {15, 544, 85, 1285, 0, 0, 0}, {12, 544, 102, 1062, 0, 0, 0}, {15, 8192, 1911, 0, 0, 0, 0}, {2184, 8192, 0, 0, 0, 0, 0}, {3, 85, 272, 0, 0, 0, 0}, {170, 544, 0, 0, 0, 0, 0}, {3, 1092, 4096, 0, 0, 0, 0}, {12, 8256, 1088, 0, 0, 0, 0}, {15, 551, 85, 1285, 0, 0, 0}, {12, 548, 102, 1058, 0, 0, 0}, {15, 8304, 1904, 0, 0, 0, 0}, {2048, 48, 4176, 0, 0, 0, 0}, {51, 520, 85, 4369, 0, 0, 0}, {48, 520, 90, 4122, 0, 0, 0}, {2048, 51, 4959, 0, 0, 0, 0}, {2056, 60, 5140, 0, 0, 0, 0}, {63, 512, 85, 5376, 0, 0, 0}, {60, 512, 90, 5120, 0, 0, 0}, {2056, 63, 5911, 0, 0, 0, 0}, {2056, 48, 4112, 0, 0, 0, 0}, {51, 512, 85, 4352, 0, 0, 0}, {48, 512, 90, 4096, 0, 0, 0}, {2056, 51, 4883, 0, 0, 0, 0}, {2048, 60, 5200, 0, 0, 0, 0}, {63, 520, 85, 5397, 0, 0, 0}, {60, 520, 90, 5150, 0, 0, 0}, {2048, 63, 5983, 0, 0, 0, 0}, {2048, 8352, 0, 0, 0, 0, 0}, {3, 85, 260, 0, 0, 0, 0}, {170, 520, 0, 0, 0, 0, 0}, {3, 1024, 4176, 0, 0, 0, 0}, {12, 8224, 1028, 0, 0, 0, 0}, {15, 512, 85, 1280, 0, 0, 0}, {12, 512, 102, 1024, 0, 0, 0}, {15, 8224, 1799, 0, 0, 0, 0}, {2056, 8224, 0, 0, 0, 0, 0}, {3, 85, 256, 0, 0, 0, 0}, {170, 512, 0, 0, 0, 0, 0}, {3, 1028, 4112, 0, 0, 0, 0}, {12, 8288, 1024, 0, 0, 0, 0}, {15, 519, 85, 1280, 0, 0, 0}, {12, 516, 102, 1028, 0, 0, 0}, {15, 8272, 1792, 0, 0, 0, 0}, {2112, 48, 4160, 0, 0, 0, 0}, {51, 539, 85, 4369, 0, 0, 0}, {48, 536, 90, 4106, 0, 0, 0}, {2124, 51, 4940, 0, 0, 0, 0}, {2116, 60, 5188, 0, 0, 0, 0}, {63, 543, 85, 5397, 0, 0, 0}, {60, 540, 90, 5130, 0, 0, 0}, {2120, 63, 5960, 0, 0, 0, 0}, {2120, 48, 4096, 0, 0, 0, 0}, {51, 531, 85, 4352, 0, 0, 0}, {48, 528, 90, 4112, 0, 0, 0}, {2116, 51, 4864, 0, 0, 0, 0}, {2124, 60, 5120, 0, 0, 0, 0}, {63, 535, 85, 5376, 0, 0, 0}, {60, 532, 90, 5140, 0, 0, 0}, {2112, 63, 5888, 0, 0, 0, 0}, {192, 2048, 8192, 16384, 0, 0, 0}, {15, 51, 514, 85, 1285, 4369, 0}, {514, 106, 0, 0, 0, 0, 0}, {15, 51, 1792, 4864, 0, 0, 0}, {204, 2056, 8268, 17476, 0, 0, 0}, {15, 48, 517, 85, 1285, 4101, 0}, {522, 102, 0, 0, 0, 0, 0}, {15, 48, 1799, 4160, 0, 0, 0}, {192, 2056, 8256, 16448, 0, 0, 0}, {15, 51, 517, 85, 1285, 4352, 0}, {522, 106, 0, 0, 0, 0, 0}, {15, 51, 1799, 4931, 0, 0, 0}, {204, 2048, 8192, 17408, 0, 0, 0}, {15, 48, 514, 85, 1285, 4112, 0}, {514, 102, 0, 0, 0, 0, 0}, {15, 48, 1792, 4096, 0, 0, 0}, {240, 2160, 8224, 20560, 0, 0, 0}, {12, 51, 529, 85, 1041, 4369, 0}, {546, 90, 0, 0, 0, 0, 0}, {12, 51, 1088, 4883, 0, 0, 0}, {12, 48, 1092, 4176, 0, 0, 0}, {554, 85, 0, 0, 0, 0, 0}, {12, 48, 534, 86, 1046, 4118, 0}, {255, 2167, 8287, 22312, 0, 0, 0}, {240, 2168, 8272, 20560, 0, 0, 0}, {12, 51, 533, 85, 1045, 4352, 0}, {554, 90, 0, 0, 0, 0, 0}, {12, 51, 1092, 4947, 0, 0, 0}, {12, 48, 1088, 4112, 0, 0, 0}, {546, 85, 0, 0, 0, 0, 0}, {12, 48, 530, 86, 1042, 4096, 0}, {255, 2175, 8224, 22304, 0, 0, 0}, {192, 2112, 8224, 16448, 0, 0, 0}, {15, 51, 529, 85, 1280, 4369, 0}, {546, 106, 0, 0, 0, 0, 0}, {15, 51, 1859, 4883, 0, 0, 0}, {204, 2116, 8300, 17476, 0, 0, 0}, {15, 48, 533, 85, 1280, 4117, 0}, {554, 102, 0, 0, 0, 0, 0}, {15, 48, 1863, 4176, 0, 0, 0}, {192, 2120, 8288, 16384, 0, 0, 0}, {15, 51, 534, 85, 1280, 4352, 0}, {554, 106, 0, 0, 0, 0, 0}, {15, 51, 1860, 4944, 0, 0, 0}, {204, 2124, 8224, 17408, 0, 0, 0}, {15, 48, 530, 85, 1280, 4096, 0}, {546, 102, 0, 0, 0, 0, 0}, {15, 48, 1856, 4112, 0, 0, 0}, {240, 2048, 8192, 20480, 0, 0, 0}, {12, 51, 514, 85, 1028, 4369, 0}, {514, 90, 0, 0, 0, 0, 0}, {12, 51, 1024, 4864, 0, 0, 0}, {12, 48, 1028, 4160, 0, 0, 0}, {522, 85, 0, 0, 0, 0, 0}, {12, 48, 518, 86, 1024, 4102, 0}, {255, 2056, 8319, 22280, 0, 0, 0}, {240, 2056, 8304, 20480, 0, 0, 0}, {12, 51, 518, 85, 1024, 4352, 0}, {522, 90, 0, 0, 0, 0, 0}, {12, 51, 1028, 4928, 0, 0, 0}, {12, 48, 1024, 4096, 0, 0, 0}, {514, 85, 0, 0, 0, 0, 0}, {12, 48, 514, 86, 1028, 4112, 0}, {255, 2048, 8192, 22272, 0, 0, 0}, {768, 21760, 0, 0, 0, 0, 0}, {8, 32, 257, 0, 0, 0, 0}, {8, 32, 258, 0, 0, 0, 0}, {771, 22015, 0, 0, 0, 0, 0}, {8, 772, 1028, 4420, 0, 0, 0}, {160, 783, 1285, 0, 0, 0, 0}, {160, 780, 1290, 0, 0, 0, 0}, {8, 775, 1024, 4471, 0, 0, 0}, {8, 768, 1024, 4352, 0, 0, 0}, {160, 771, 1285, 0, 0, 0, 0}, {160, 768, 1290, 0, 0, 0, 0}, {8, 771, 1028, 4403, 0, 0, 0}, {780, 21760, 0, 0, 0, 0, 0}, {8, 32, 261, 0, 0, 0, 0}, {8, 32, 262, 0, 0, 0, 0}, {783, 22015, 0, 0, 0, 0, 0}, {32, 784, 1360, 4112, 0, 0, 0}, {136, 819, 4369, 0, 0, 0, 0}, {136, 816, 4386, 0, 0, 0, 0}, {32, 787, 1375, 4096, 0, 0, 0}, {40, 788, 1360, 4420, 0, 0, 0}, {128, 831, 5397, 0, 0, 0, 0}, {128, 828, 5418, 0, 0, 0, 0}, {40, 791, 1375, 4447, 0, 0, 0}, {40, 792, 1360, 4352, 0, 0, 0}, {128, 819, 5461, 0, 0, 0, 0}, {128, 816, 5482, 0, 0, 0, 0}, {40, 795, 1375, 4379, 0, 0, 0}, {32, 796, 1360, 4176, 0, 0, 0}, {136, 831, 4437, 0, 0, 0, 0}, {136, 828, 4454, 0, 0, 0, 0}, {32, 799, 1375, 4160, 0, 0, 0}, {32, 768, 1280, 4096, 0, 0, 0}, {136, 771, 4369, 0, 0, 0, 0}, {136, 768, 4386, 0, 0, 0, 0}, {32, 771, 1295, 4112, 0, 0, 0}, {40, 780, 1280, 4420, 0, 0, 0}, {128, 783, 5461, 0, 0, 0, 0}, {128, 780, 5482, 0, 0, 0, 0}, {40, 783, 1295, 4447, 0, 0, 0}, {40, 768, 1280, 4352, 0, 0, 0}, {128, 771, 5397, 0, 0, 0, 0}, {128, 768, 5418, 0, 0, 0, 0}, {40, 771, 1295, 4379, 0, 0, 0}, {32, 780, 1280, 4160, 0, 0, 0}, {136, 783, 4437, 0, 0, 0, 0}, {136, 780, 4454, 0, 0, 0, 0}, {32, 783, 1295, 4176, 0, 0, 0}, {816, 21760, 0, 0, 0, 0, 0}, {8, 32, 273, 0, 0, 0, 0}, {8, 32, 274, 0, 0, 0, 0}, {819, 22015, 0, 0, 0, 0, 0}, {8, 820, 1092, 4420, 0, 0, 0}, {160, 831, 1365, 0, 0, 0, 0}, {160, 828, 1370, 0, 0, 0, 0}, {8, 823, 1088, 4471, 0, 0, 0}, {8, 816, 1088, 4352, 0, 0, 0}, {160, 819, 1365, 0, 0, 0, 0}, {160, 816, 1370, 0, 0, 0, 0}, {8, 819, 1092, 4403, 0, 0, 0}, {828, 21760, 0, 0, 0, 0, 0}, {8, 32, 277, 0, 0, 0, 0}, {8, 32, 278, 0, 0, 0, 0}, {831, 22015, 0, 0, 0, 0, 0}, {3840, 832, 5632, 0, 0, 0, 0}, {40, 843, 1285, 4369, 0, 0, 0}, {40, 840, 1290, 4362, 0, 0, 0}, {3855, 835, 5692, 0, 0, 0, 0}, {3840, 836, 4608, 0, 0, 0, 0}, {32, 847, 1285, 4112, 0, 0, 0}, {32, 844, 1290, 4096, 0, 0, 0}, {3855, 839, 4656, 0, 0, 0, 0}, {3840, 840, 4352, 0, 0, 0, 0}, {32, 835, 1285, 4883, 0, 0, 0}, {32, 832, 1290, 4864, 0, 0, 0}, {3855, 843, 4403, 0, 0, 0, 0}, {3840, 844, 5376, 0, 0, 0, 0}, {40, 839, 1285, 4626, 0, 0, 0}, {40, 836, 1290, 4618, 0, 0, 0}, {3855, 847, 5439, 0, 0, 0, 0}, {13056, 848, 1536, 0, 0, 0, 0}, {8, 883, 1028, 4369, 0, 0, 0}, {8, 880, 1024, 4386, 0, 0, 0}, {13107, 851, 1548, 0, 0, 0, 0}, {8, 32, 512, 340, 1028, 4112, 0}, {1023, 3072, 12288, 21845, 0, 0, 0}, {1020, 3084, 12336, 22102, 0, 0, 0}, {8, 32, 512, 343, 1024, 4096, 0}, {8, 32, 512, 336, 1024, 4352, 0}, {1011, 3084, 13107, 21845, 0, 0, 0}, {1008, 3072, 13056, 22106, 0, 0, 0}, {8, 32, 512, 339, 1028, 4371, 0}, {12336, 860, 1548, 0, 0, 0, 0}, {8, 887, 1024, 4642, 0, 0, 0}, {8, 884, 1028, 4626, 0, 0, 0}, {12288, 863, 1536, 0, 0, 0, 0}, {13056, 864, 1280, 0, 0, 0, 0}, {8, 835, 1799, 4369, 0, 0, 0}, {8, 832, 1792, 4386, 0, 0, 0}, {13107, 867, 1295, 0, 0, 0, 0}, {8, 32, 512, 324, 1280, 4096, 0}, {975, 3855, 12336, 21845, 0, 0, 0}, {972, 3840, 12288, 22118, 0, 0, 0}, {8, 32, 512, 327, 1287, 4112, 0}, {8, 32, 512, 320, 1280, 4352, 0}, {963, 3855, 13107, 21845, 0, 0, 0}, {960, 3840, 13056, 22122, 0, 0, 0}, {8, 32, 512, 323, 1287, 4371, 0}, {12288, 876, 1280, 0, 0, 0, 0}, {8, 839, 1799, 4626, 0, 0, 0}, {8, 836, 1792, 4642, 0, 0, 0}, {12336, 879, 1295, 0, 0, 0, 0}, {3072, 880, 5376, 0, 0, 0, 0}, {40, 851, 1542, 4369, 0, 0, 0}, {40, 848, 1546, 4362, 0, 0, 0}, {3084, 883, 5439, 0, 0, 0, 0}, {3084, 884, 4656, 0, 0, 0, 0}, {32, 863, 1546, 4096, 0, 0, 0}, {32, 860, 1542, 4112, 0, 0, 0}, {3072, 887, 4608, 0, 0, 0, 0}, {3072, 888, 4352, 0, 0, 0, 0}, {32, 851, 1542, 4883, 0, 0, 0}, {32, 848, 1546, 4864, 0, 0, 0}, {3084, 891, 4403, 0, 0, 0, 0}, {3084, 892, 5692, 0, 0, 0, 0}, {40, 863, 1546, 4618, 0, 0, 0}, {40, 860, 1542, 4626, 0, 0, 0}, {3072, 895, 5632, 0, 0, 0, 0}, {128, 768, 5376, 0, 0, 0, 0}, {40, 771, 1285, 4369, 0, 0, 0}, {40, 768, 1290, 4362, 0, 0, 0}, {128, 771, 5439, 0, 0, 0, 0}, {136, 780, 4420, 0, 0, 0, 0}, {32, 783, 1285, 4176, 0, 0, 0}, {32, 780, 1290, 4160, 0, 0, 0}, {136, 783, 4471, 0, 0, 0, 0}, {136, 768, 4352, 0, 0, 0, 0}, {32, 771, 1285, 4112, 0, 0, 0}, {32, 768, 1290, 4096, 0, 0, 0}, {136, 771, 4403, 0, 0, 0, 0}, {128, 780, 5440, 0, 0, 0, 0}, {40, 783, 1285, 4437, 0, 0, 0}, {40, 780, 1290, 4430, 0, 0, 0}, {128, 783, 5503, 0, 0, 0, 0}, {160, 816, 1360, 0, 0, 0, 0}, {8, 819, 1092, 4369, 0, 0, 0}, {8, 816, 1088, 4386, 0, 0, 0}, {160, 819, 1375, 0, 0, 0, 0}, {8, 32, 276, 0, 0, 0, 0}, {831, 21845, 0, 0, 0, 0, 0}, {828, 21930, 0, 0, 0, 0, 0}, {8, 32, 279, 0, 0, 0, 0}, {8, 32, 272, 0, 0, 0, 0}, {819, 21845, 0, 0, 0, 0, 0}, {816, 21930, 0, 0, 0, 0, 0}, {8, 32, 275, 0, 0, 0, 0}, {160, 828, 1360, 0, 0, 0, 0}, {8, 823, 1088, 4437, 0, 0, 0}, {8, 820, 1092, 4454, 0, 0, 0}, {160, 831, 1375, 0, 0, 0, 0}, {160, 768, 1280, 0, 0, 0, 0}, {8, 771, 1028, 4369, 0, 0, 0}, {8, 768, 1024, 4386, 0, 0, 0}, {160, 771, 1295, 0, 0, 0, 0}, {8, 32, 260, 0, 0, 0, 0}, {783, 21845, 0, 0, 0, 0, 0}, {780, 21930, 0, 0, 0, 0, 0}, {8, 32, 263, 0, 0, 0, 0}, {8, 32, 256, 0, 0, 0, 0}, {771, 21845, 0, 0, 0, 0, 0}, {768, 21930, 0, 0, 0, 0, 0}, {8, 32, 259, 0, 0, 0, 0}, {160, 780, 1280, 0, 0, 0, 0}, {8, 775, 1024, 4437, 0, 0, 0}, {8, 772, 1028, 4454, 0, 0, 0}, {160, 783, 1295, 0, 0, 0, 0}, {128, 816, 5440, 0, 0, 0, 0}, {40, 795, 1365, 4369, 0, 0, 0}, {40, 792, 1370, 4362, 0, 0, 0}, {128, 819, 5503, 0, 0, 0, 0}, {136, 828, 4420, 0, 0, 0, 0}, {32, 799, 1365, 4160, 0, 0, 0}, {32, 796, 1370, 4176, 0, 0, 0}, {136, 831, 4471, 0, 0, 0, 0}, {136, 816, 4352, 0, 0, 0, 0}, {32, 787, 1365, 4096, 0, 0, 0}, {32, 784, 1370, 4112, 0, 0, 0}, {136, 819, 4403, 0, 0, 0, 0}, {128, 828, 5376, 0, 0, 0, 0}, {40, 791, 1365, 4437, 0, 0, 0}, {40, 788, 1370, 4430, 0, 0, 0}, {128, 831, 5439, 0, 0, 0, 0}, {960, 3840, 13056, 21760, 0, 0, 0}, {8, 32, 514, 321, 1285, 4369, 0}, {8, 32, 514, 322, 1282, 4354, 0}, {963, 3855, 13107, 22076, 0, 0, 0}, {8, 836, 1792, 4608, 0, 0, 0}, {12336, 879, 1285, 0, 0, 0, 0}, {12288, 876, 1290, 0, 0, 0, 0}, {8, 839, 1799, 4656, 0, 0, 0}, {8, 832, 1792, 4352, 0, 0, 0}, {13107, 867, 1285, 0, 0, 0, 0}, {13056, 864, 1290, 0, 0, 0, 0}, {8, 835, 1799, 4403, 0, 0, 0}, {972, 3840, 12288, 21760, 0, 0, 0}, {8, 32, 514, 325, 1285, 4112, 0}, {8, 32, 514, 326, 1282, 4096, 0}, {975, 3855, 12336, 22064, 0, 0, 0}, {32, 848, 1536, 4864, 0, 0, 0}, {3084, 891, 4369, 0, 0, 0, 0}, {3072, 888, 4386, 0, 0, 0, 0}, {32, 851, 1548, 4883, 0, 0, 0}, {40, 860, 1548, 4632, 0, 0, 0}, {3072, 895, 5674, 0, 0, 0, 0}, {3084, 892, 5654, 0, 0, 0, 0}, {40, 863, 1536, 4608, 0, 0, 0}, {40, 848, 1536, 4352, 0, 0, 0}, {3084, 883, 5397, 0, 0, 0, 0}, {3072, 880, 5418, 0, 0, 0, 0}, {40, 851, 1548, 4379, 0, 0, 0}, {32, 860, 1548, 4112, 0, 0, 0}, {3072, 887, 4642, 0, 0, 0, 0}, {3084, 884, 4626, 0, 0, 0, 0}, {32, 863, 1536, 4096, 0, 0, 0}, {32, 832, 1280, 4864, 0, 0, 0}, {3855, 843, 4369, 0, 0, 0, 0}, {3840, 840, 4386, 0, 0, 0, 0}, {32, 835, 1295, 4883, 0, 0, 0}, {40, 836, 1280, 4608, 0, 0, 0}, {3855, 847, 5397, 0, 0, 0, 0}, {3840, 844, 5418, 0, 0, 0, 0}, {40, 839, 1295, 4632, 0, 0, 0}, {40, 840, 1280, 4352, 0, 0, 0}, {3855, 835, 5654, 0, 0, 0, 0}, {3840, 832, 5674, 0, 0, 0, 0}, {40, 843, 1295, 4379, 0, 0, 0}, {32, 844, 1280, 4096, 0, 0, 0}, {3855, 839, 4626, 0, 0, 0, 0}, {3840, 836, 4642, 0, 0, 0, 0}, {32, 847, 1295, 4112, 0, 0, 0}, {1008, 3072, 13056, 21760, 0, 0, 0}, {8, 32, 514, 337, 1028, 4369, 0}, {8, 32, 514, 338, 1024, 4354, 0}, {1011, 3084, 13107, 22028, 0, 0, 0}, {8, 884, 1028, 4656, 0, 0, 0}, {12288, 863, 1546, 0, 0, 0, 0}, {12336, 860, 1542, 0, 0, 0, 0}, {8, 887, 1024, 4608, 0, 0, 0}, {8, 880, 1024, 4352, 0, 0, 0}, {13107, 851, 1542, 0, 0, 0, 0}, {13056, 848, 1546, 0, 0, 0, 0}, {8, 883, 1028, 4403, 0, 0, 0}, {1020, 3084, 12336, 21760, 0, 0, 0}, {8, 32, 514, 341, 1024, 4096, 0}, {8, 32, 514, 342, 1028, 4112, 0}, {1023, 3072, 12288, 22016, 0, 0, 0}, {43520, 0, 0, 0, 0, 0, 0}, {3, 4, 16, 257, 0, 0, 0}, {8, 32, 514, 0, 0, 0, 0}, {3, 21760, 0, 0, 0, 0, 0}, {8704, 4, 0, 0, 0, 0, 0}, {15, 80, 1285, 0, 0, 0, 0}, {12, 96, 1542, 0, 0, 0, 0}, {8704, 7, 0, 0, 0, 0, 0}, {8, 8704, 0, 0, 0, 0, 0}, {3, 80, 1285, 0, 0, 0, 0}, {160, 2570, 0, 0, 0, 0, 0}, {3, 4, 4352, 0, 0, 0, 0}, {12, 26112, 0, 0, 0, 0, 0}, {32, 514, 7, 0, 0, 0, 0}, {32, 514, 4, 0, 0, 0, 0}, {15, 21760, 0, 0, 0, 0, 0}, {2560, 16, 0, 0, 0, 0, 0}, {51, 68, 4369, 0, 0, 0, 0}, {48, 72, 4626, 0, 0, 0, 0}, {2560, 19, 0, 0, 0, 0, 0}, {2560, 20, 0, 0, 0, 0, 0}, {63, 64, 5397, 0, 0, 0, 0}, {60, 76, 5654, 0, 0, 0, 0}, {2560, 23, 0, 0, 0, 0, 0}, {24, 48, 80, 4608, 0, 0, 0}, {6425, 51, 76, 0, 0, 0, 0}, {6682, 48, 64, 0, 0, 0, 0}, {27, 51, 68, 4352, 0, 0, 0}, {28, 32, 80, 5632, 0, 0, 0}, {7453, 63, 72, 0, 0, 0, 0}, {7710, 60, 68, 0, 0, 0, 0}, {31, 32, 64, 5376, 0, 0, 0}, {2560, 32, 0, 0, 0, 0, 0}, {3, 68, 4369, 0, 0, 0, 0}, {136, 8738, 0, 0, 0, 0, 0}, {3, 1280, 16, 0, 0, 0, 0}, {12, 36, 68, 1536, 0, 0, 0}, {15, 9509, 112, 0, 0, 0, 0}, {12, 9766, 64, 0, 0, 0, 0}, {15, 39, 80, 1280, 0, 0, 0}, {2560, 40, 0, 0, 0, 0, 0}, {3, 64, 5397, 0, 0, 0, 0}, {128, 10794, 0, 0, 0, 0, 0}, {3, 1280, 20, 0, 0, 0, 0}, {12, 32, 64, 1536, 0, 0, 0}, {15, 8738, 119, 0, 0, 0, 0}, {12, 8738, 68, 0, 0, 0, 0}, {15, 32, 80, 1280, 0, 0, 0}, {48, 23040, 0, 0, 0, 0, 0}, {8, 514, 19, 0, 0, 0, 0}, {8, 514, 16, 0, 0, 0, 0}, {51, 21760, 0, 0, 0, 0, 0}, {8, 52, 68, 5632, 0, 0, 0}, {2570, 63, 95, 0, 0, 0, 0}, {2570, 60, 80, 0, 0, 0, 0}, {8, 55, 64, 5376, 0, 0, 0}, {8, 48, 64, 4608, 0, 0, 0}, {2570, 51, 95, 0, 0, 0, 0}, {2570, 48, 80, 0, 0, 0, 0}, {8, 51, 68, 4352, 0, 0, 0}, {60, 23040, 0, 0, 0, 0, 0}, {8, 514, 23, 0, 0, 0, 0}, {8, 514, 20, 0, 0, 0, 0}, {63, 21760, 0, 0, 0, 0, 0}, {10752, 64, 0, 0, 0, 0, 0}, {15, 1285, 20, 0, 0, 0, 0}, {2570, 40, 72, 0, 0, 0, 0}, {15, 51, 67, 5632, 0, 0, 0}, {8704, 68, 0, 0, 0, 0, 0}, {15, 1285, 16, 0, 0, 0, 0}, {2570, 32, 76, 0, 0, 0, 0}, {15, 48, 71, 4608, 0, 0, 0}, {8704, 72, 0, 0, 0, 0, 0}, {15, 1285, 19, 0, 0, 0, 0}, {2570, 32, 64, 0, 0, 0, 0}, {15, 51, 68, 4352, 0, 0, 0}, {10752, 76, 0, 0, 0, 0, 0}, {15, 1285, 23, 0, 0, 0, 0}, {2570, 40, 68, 0, 0, 0, 0}, {15, 48, 64, 5376, 0, 0, 0}, {2560, 80, 0, 0, 0, 0, 0}, {51, 4, 4369, 0, 0, 0, 0}, {8, 8738, 112, 0, 0, 0, 0}, {12, 51, 83, 1536, 0, 0, 0}, {512, 4, 16, 0, 0, 0, 0}, {255, 21845, 0, 0, 0, 0, 0}, {12, 48, 22102, 0, 0, 0, 0}, {8, 32, 512, 87, 0, 0, 0}, {8, 32, 512, 80, 0, 0, 0}, {12, 51, 21845, 0, 0, 0, 0}, {240, 23130, 0, 0, 0, 0, 0}, {512, 4, 19, 0, 0, 0, 0}, {12, 48, 80, 1536, 0, 0, 0}, {8, 8738, 119, 0, 0, 0, 0}, {48, 4, 4626, 0, 0, 0, 0}, {2560, 95, 0, 0, 0, 0, 0}, {2560, 96, 0, 0, 0, 0, 0}, {51, 7, 4369, 0, 0, 0, 0}, {8, 8738, 64, 0, 0, 0, 0}, {15, 51, 80, 1280, 0, 0, 0}, {8, 32, 512, 68, 0, 0, 0}, {15, 48, 21845, 0, 0, 0, 0}, {204, 26214, 0, 0, 0, 0, 0}, {512, 7, 16, 0, 0, 0, 0}, {8, 32, 512, 64, 0, 0, 0}, {15, 51, 21845, 0, 0, 0, 0}, {192, 27242, 0, 0, 0, 0, 0}, {512, 7, 19, 0, 0, 0, 0}, {2560, 108, 0, 0, 0, 0, 0}, {48, 7, 4626, 0, 0, 0, 0}, {8, 8738, 68, 0, 0, 0, 0}, {15, 48, 80, 1280, 0, 0, 0}, {10752, 112, 0, 0, 0, 0, 0}, {12, 1542, 23, 0, 0, 0, 0}, {2570, 40, 80, 0, 0, 0, 0}, {12, 51, 64, 5376, 0, 0, 0}, {12, 48, 68, 4608, 0, 0, 0}, {2570, 32, 95, 0, 0, 0, 0}, {12, 1542, 16, 0, 0, 0, 0}, {8704, 119, 0, 0, 0, 0, 0}, {8704, 120, 0, 0, 0, 0, 0}, {12, 1542, 19, 0, 0, 0, 0}, {2570, 32, 80, 0, 0, 0, 0}, {12, 51, 68, 4352, 0, 0, 0}, {12, 48, 64, 5632, 0, 0, 0}, {2570, 40, 95, 0, 0, 0, 0}, {12, 1542, 20, 0, 0, 0, 0}, {10752, 127, 0, 0, 0, 0, 0}, {128, 10752, 0, 0, 0, 0, 0}, {3, 1285, 20, 0, 0, 0, 0}, {2570, 40, 0, 0, 0, 0, 0}, {3, 64, 5376, 0, 0, 0, 0}, {12, 8704, 68, 0, 0, 0, 0}, {15, 32, 80, 1285, 0, 0, 0}, {12, 32, 64, 1542, 0, 0, 0}, {15, 8704, 119, 0, 0, 0, 0}, {136, 8704, 0, 0, 0, 0, 0}, {3, 1285, 16, 0, 0, 0, 0}, {2570, 32, 0, 0, 0, 0, 0}, {3, 68, 4352, 0, 0, 0, 0}, {12, 9728, 64, 0, 0, 0, 0}, {15, 39, 80, 1285, 0, 0, 0}, {12, 36, 68, 1542, 0, 0, 0}, {15, 9472, 112, 0, 0, 0, 0}, {2560, 48, 80, 0, 0, 0, 0}, {8, 51, 68, 4369, 0, 0, 0}, {8, 48, 64, 4626, 0, 0, 0}, {2560, 51, 95, 0, 0, 0, 0}, {8, 512, 20, 0, 0, 0, 0}, {63, 21845, 0, 0, 0, 0, 0}, {60, 23130, 0, 0, 0, 0, 0}, {8, 512, 23, 0, 0, 0, 0}, {8, 512, 16, 0, 0, 0, 0}, {51, 21845, 0, 0, 0, 0, 0}, {48, 23130, 0, 0, 0, 0, 0}, {8, 512, 19, 0, 0, 0, 0}, {2560, 60, 80, 0, 0, 0, 0}, {8, 55, 64, 5397, 0, 0, 0}, {8, 52, 68, 5654, 0, 0, 0}, {2560, 63, 95, 0, 0, 0, 0}, {160, 2560, 0, 0, 0, 0, 0}, {3, 4, 4369, 0, 0, 0, 0}, {8, 8738, 0, 0, 0, 0, 0}, {3, 80, 1280, 0, 0, 0, 0}, {32, 512, 4, 0, 0, 0, 0}, {15, 21845, 0, 0, 0, 0, 0}, {12, 26214, 0, 0, 0, 0, 0}, {32, 512, 7, 0, 0, 0, 0}, {8, 32, 512, 0, 0, 0, 0}, {3, 21845, 0, 0, 0, 0, 0}, {43690, 0, 0, 0, 0, 0, 0}, {3, 4, 16, 256, 0, 0, 0}, {12, 96, 1536, 0, 0, 0, 0}, {8738, 7, 0, 0, 0, 0, 0}, {8738, 4, 0, 0, 0, 0, 0}, {15, 80, 1280, 0, 0, 0, 0}, {6656, 48, 64, 0, 0, 0, 0}, {27, 51, 68, 4369, 0, 0, 0}, {24, 48, 80, 4626, 0, 0, 0}, {6400, 51, 76, 0, 0, 0, 0}, {7680, 60, 68, 0, 0, 0, 0}, {31, 32, 64, 5397, 0, 0, 0}, {28, 32, 80, 5654, 0, 0, 0}, {7424, 63, 72, 0, 0, 0, 0}, {48, 72, 4608, 0, 0, 0, 0}, {2570, 19, 0, 0, 0, 0, 0}, {2570, 16, 0, 0, 0, 0, 0}, {51, 68, 4352, 0, 0, 0, 0}, {60, 76, 5632, 0, 0, 0, 0}, {2570, 23, 0, 0, 0, 0, 0}, {2570, 20, 0, 0, 0, 0, 0}, {63, 64, 5376, 0, 0, 0, 0}, {192, 27136, 0, 0, 0, 0, 0}, {514, 7, 19, 0, 0, 0, 0}, {8, 32, 514, 64, 0, 0, 0}, {15, 51, 21760, 0, 0, 0, 0}, {8, 8704, 68, 0, 0, 0, 0}, {15, 48, 80, 1285, 0, 0, 0}, {2570, 108, 0, 0, 0, 0, 0}, {48, 7, 4608, 0, 0, 0, 0}, {8, 8704, 64, 0, 0, 0, 0}, {15, 51, 80, 1285, 0, 0, 0}, {2570, 96, 0, 0, 0, 0, 0}, {51, 7, 4352, 0, 0, 0, 0}, {204, 26112, 0, 0, 0, 0, 0}, {514, 7, 16, 0, 0, 0, 0}, {8, 32, 514, 68, 0, 0, 0}, {15, 48, 21760, 0, 0, 0, 0}, {2560, 32, 80, 0, 0, 0, 0}, {12, 51, 68, 4369, 0, 0, 0}, {8738, 120, 0, 0, 0, 0, 0}, {12, 1536, 19, 0, 0, 0, 0}, {12, 1536, 20, 0, 0, 0, 0}, {10794, 127, 0, 0, 0, 0, 0}, {12, 48, 64, 5654, 0, 0, 0}, {2560, 40, 95, 0, 0, 0, 0}, {2560, 40, 80, 0, 0, 0, 0}, {12, 51, 64, 5397, 0, 0, 0}, {10794, 112, 0, 0, 0, 0, 0}, {12, 1536, 23, 0, 0, 0, 0}, {12, 1536, 16, 0, 0, 0, 0}, {8738, 119, 0, 0, 0, 0, 0}, {12, 48, 68, 4626, 0, 0, 0}, {2560, 32, 95, 0, 0, 0, 0}, {2560, 32, 64, 0, 0, 0, 0}, {15, 51, 68, 4369, 0, 0, 0}, {8738, 72, 0, 0, 0, 0, 0}, {15, 1280, 19, 0, 0, 0, 0}, {2560, 40, 68, 0, 0, 0, 0}, {15, 48, 64, 5397, 0, 0, 0}, {10794, 76, 0, 0, 0, 0, 0}, {15, 1280, 23, 0, 0, 0, 0}, {2560, 40, 72, 0, 0, 0, 0}, {15, 51, 67, 5654, 0, 0, 0}, {10794, 64, 0, 0, 0, 0, 0}, {15, 1280, 20, 0, 0, 0, 0}, {2560, 32, 76, 0, 0, 0, 0}, {15, 48, 71, 4626, 0, 0, 0}, {8738, 68, 0, 0, 0, 0, 0}, {15, 1280, 16, 0, 0, 0, 0}, {240, 23040, 0, 0, 0, 0, 0}, {514, 4, 19, 0, 0, 0, 0}, {8, 32, 514, 80, 0, 0, 0}, {12, 51, 21760, 0, 0, 0, 0}, {48, 4, 4608, 0, 0, 0, 0}, {2570, 95, 0, 0, 0, 0, 0}, {12, 48, 80, 1542, 0, 0, 0}, {8, 8704, 119, 0, 0, 0, 0}, {8, 8704, 112, 0, 0, 0, 0}, {12, 51, 83, 1542, 0, 0, 0}, {2570, 80, 0, 0, 0, 0, 0}, {51, 4, 4352, 0, 0, 0, 0}, {12, 48, 22016, 0, 0, 0, 0}, {8, 32, 514, 87, 0, 0, 0}, {514, 4, 16, 0, 0, 0, 0}, {255, 21760, 0, 0, 0, 0, 0}, {768, 1024, 4096, 0, 0, 0, 0}, {170, 257, 0, 0, 0, 0, 0}, {170, 258, 0, 0, 0, 0, 0}, {771, 1036, 4144, 0, 0, 0, 0}, {780, 1028, 4160, 0, 0, 0, 0}, {170, 261, 0, 0, 0, 0, 0}, {170, 262, 0, 0, 0, 0, 0}, {783, 1032, 4208, 0, 0, 0, 0}, {4224, 768, 1032, 0, 0, 0, 0}, {265, 771, 1285, 4403, 0, 0, 0}, {266, 768, 1024, 4352, 0, 0, 0}, {4272, 771, 1028, 0, 0, 0, 0}, {4288, 780, 1036, 0, 0, 0, 0}, {269, 514, 1285, 4471, 0, 0, 0}, {270, 514, 1028, 4420, 0, 0, 0}, {4336, 783, 1024, 0, 0, 0, 0}, {816, 1088, 4112, 0, 0, 0, 0}, {170, 273, 0, 0, 0, 0, 0}, {170, 274, 0, 0, 0, 0, 0}, {819, 1100, 4128, 0, 0, 0, 0}, {828, 1092, 4176, 0, 0, 0, 0}, {170, 277, 0, 0, 0, 0, 0}, {170, 278, 0, 0, 0, 0, 0}, {831, 1096, 4192, 0, 0, 0, 0}, {4240, 816, 1096, 0, 0, 0, 0}, {281, 819, 1365, 4403, 0, 0, 0}, {282, 816, 1088, 4352, 0, 0, 0}, {4256, 819, 1092, 0, 0, 0, 0}, {4304, 828, 1100, 0, 0, 0, 0}, {285, 546, 1365, 4471, 0, 0, 0}, {286, 546, 1092, 4420, 0, 0, 0}, {4320, 831, 1088, 0, 0, 0, 0}, {1152, 768, 4128, 0, 0, 0, 0}, {289, 771, 1295, 4369, 0, 0, 0}, {290, 768, 1280, 4096, 0, 0, 0}, {1164, 771, 4112, 0, 0, 0, 0}, {1156, 780, 4192, 0, 0, 0, 0}, {293, 783, 1295, 4437, 0, 0, 0}, {294, 780, 1280, 4160, 0, 0, 0}, {1160, 783, 4176, 0, 0, 0, 0}, {1160, 768, 5160, 0, 0, 0, 0}, {297, 771, 1295, 4122, 0, 0, 0}, {298, 768, 1280, 4352, 0, 0, 0}, {1156, 771, 5140, 0, 0, 0, 0}, {1164, 780, 5228, 0, 0, 0, 0}, {301, 783, 1295, 4186, 0, 0, 0}, {302, 780, 1280, 4420, 0, 0, 0}, {1152, 783, 5200, 0, 0, 0, 0}, {1216, 816, 4144, 0, 0, 0, 0}, {305, 514, 1375, 4369, 0, 0, 0}, {306, 514, 1360, 4112, 0, 0, 0}, {1228, 819, 4096, 0, 0, 0, 0}, {1220, 828, 4208, 0, 0, 0, 0}, {309, 522, 1375, 4437, 0, 0, 0}, {310, 522, 1360, 4176, 0, 0, 0}, {1224, 831, 4160, 0, 0, 0, 0}, {1224, 816, 5240, 0, 0, 0, 0}, {313, 522, 1375, 4106, 0, 0, 0}, {314, 522, 1360, 4352, 0, 0, 0}, {1220, 819, 5188, 0, 0, 0, 0}, {1228, 828, 5180, 0, 0, 0, 0}, {317, 514, 1375, 4170, 0, 0, 0}, {318, 514, 1360, 4420, 0, 0, 0}, {1216, 831, 5120, 0, 0, 0, 0}, {960, 1088, 4160, 0, 0, 0, 0}, {552, 321, 1285, 4369, 0, 0, 0}, {552, 322, 1290, 4386, 0, 0, 0}, {963, 1100, 4208, 0, 0, 0, 0}, {972, 1092, 4096, 0, 0, 0, 0}, {544, 325, 1285, 4112, 0, 0, 0}, {544, 326, 1290, 4128, 0, 0, 0}, {975, 1096, 4144, 0, 0, 0, 0}, {960, 1096, 4864, 0, 0, 0, 0}, {544, 329, 1285, 4403, 0, 0, 0}, {544, 330, 1290, 4352, 0, 0, 0}, {963, 1092, 4915, 0, 0, 0, 0}, {972, 1100, 4940, 0, 0, 0, 0}, {552, 333, 1285, 4154, 0, 0, 0}, {552, 334, 1290, 4106, 0, 0, 0}, {975, 1088, 4991, 0, 0, 0, 0}, {1008, 1024, 4176, 0, 0, 0, 0}, {520, 337, 1028, 4369, 0, 0, 0}, {520, 338, 1032, 4386, 0, 0, 0}, {1011, 1036, 4192, 0, 0, 0, 0}, {1020, 1028, 4112, 0, 0, 0, 0}, {512, 341, 1024, 4096, 0, 0, 0}, {512, 342, 1036, 4144, 0, 0, 0}, {1023, 1032, 4128, 0, 0, 0, 0}, {1008, 1032, 4896, 0, 0, 0, 0}, {512, 345, 1036, 4403, 0, 0, 0}, {512, 346, 1024, 4352, 0, 0, 0}, {1011, 1028, 4883, 0, 0, 0, 0}, {1020, 1036, 4972, 0, 0, 0, 0}, {520, 349, 1032, 4138, 0, 0, 0}, {520, 350, 1028, 4122, 0, 0, 0}, {1023, 1024, 4959, 0, 0, 0, 0}, {960, 1792, 4192, 0, 0, 0, 0}, {520, 353, 1295, 4369, 0, 0, 0}, {520, 354, 1280, 4386, 0, 0, 0}, {963, 1807, 4176, 0, 0, 0, 0}, {972, 1800, 4128, 0, 0, 0, 0}, {512, 357, 1295, 4144, 0, 0, 0}, {512, 358, 1280, 4096, 0, 0, 0}, {975, 1799, 4112, 0, 0, 0, 0}, {960, 1800, 4896, 0, 0, 0, 0}, {512, 361, 1295, 4403, 0, 0, 0}, {512, 362, 1280, 4352, 0, 0, 0}, {963, 1799, 4883, 0, 0, 0, 0}, {972, 1792, 4972, 0, 0, 0, 0}, {520, 365, 1295, 4122, 0, 0, 0}, {520, 366, 1280, 4138, 0, 0, 0}, {975, 1807, 4959, 0, 0, 0, 0}, {1008, 1904, 4208, 0, 0, 0, 0}, {552, 369, 1070, 4369, 0, 0, 0}, {552, 370, 1058, 4386, 0, 0, 0}, {1011, 1919, 4160, 0, 0, 0, 0}, {1020, 1912, 4144, 0, 0, 0, 0}, {544, 373, 1066, 4128, 0, 0, 0}, {544, 374, 1062, 4112, 0, 0, 0}, {1023, 1911, 4096, 0, 0, 0, 0}, {1008, 1912, 4864, 0, 0, 0, 0}, {544, 377, 1062, 4403, 0, 0, 0}, {544, 378, 1066, 4352, 0, 0, 0}, {1011, 1911, 4915, 0, 0, 0, 0}, {1020, 1904, 4940, 0, 0, 0, 0}, {552, 381, 1058, 4106, 0, 0, 0}, {552, 382, 1070, 4154, 0, 0, 0}, {1023, 1919, 4991, 0, 0, 0, 0}, {1152, 768, 5120, 0, 0, 0, 0}, {299, 771, 1285, 4369, 0, 0, 0}, {296, 768, 1290, 4106, 0, 0, 0}, {1164, 771, 5180, 0, 0, 0, 0}, {1156, 780, 5188, 0, 0, 0, 0}, {303, 783, 1285, 4437, 0, 0, 0}, {300, 780, 1290, 4170, 0, 0, 0}, {1160, 783, 5240, 0, 0, 0, 0}, {1160, 768, 4096, 0, 0, 0, 0}, {291, 771, 1285, 4112, 0, 0, 0}, {288, 768, 1290, 4352, 0, 0, 0}, {1156, 771, 4144, 0, 0, 0, 0}, {1164, 780, 4160, 0, 0, 0, 0}, {295, 783, 1285, 4176, 0, 0, 0}, {292, 780, 1290, 4420, 0, 0, 0}, {1152, 783, 4208, 0, 0, 0, 0}, {1216, 816, 5200, 0, 0, 0, 0}, {315, 520, 1365, 4369, 0, 0, 0}, {312, 520, 1370, 4122, 0, 0, 0}, {1228, 819, 5228, 0, 0, 0, 0}, {1220, 828, 5140, 0, 0, 0, 0}, {319, 512, 1365, 4437, 0, 0, 0}, {316, 512, 1370, 4186, 0, 0, 0}, {1224, 831, 5160, 0, 0, 0, 0}, {1224, 816, 4112, 0, 0, 0, 0}, {307, 512, 1365, 4096, 0, 0, 0}, {304, 512, 1370, 4352, 0, 0, 0}, {1220, 819, 4128, 0, 0, 0, 0}, {1228, 828, 4176, 0, 0, 0, 0}, {311, 520, 1365, 4160, 0, 0, 0}, {308, 520, 1370, 4420, 0, 0, 0}, {1216, 831, 4192, 0, 0, 0, 0}, {4256, 768, 1024, 0, 0, 0, 0}, {267, 771, 1028, 4369, 0, 0, 0}, {264, 768, 1280, 4386, 0, 0, 0}, {4240, 771, 1036, 0, 0, 0, 0}, {4320, 780, 1028, 0, 0, 0, 0}, {271, 512, 1024, 4437, 0, 0, 0}, {268, 512, 1280, 4454, 0, 0, 0}, {4304, 783, 1032, 0, 0, 0, 0}, {768, 1032, 4128, 0, 0, 0, 0}, {170, 259, 0, 0, 0, 0, 0}, {170, 256, 0, 0, 0, 0, 0}, {771, 1028, 4112, 0, 0, 0, 0}, {780, 1036, 4192, 0, 0, 0, 0}, {170, 263, 0, 0, 0, 0, 0}, {170, 260, 0, 0, 0, 0, 0}, {783, 1024, 4176, 0, 0, 0, 0}, {4272, 816, 1088, 0, 0, 0, 0}, {283, 819, 1092, 4369, 0, 0, 0}, {280, 816, 1360, 4386, 0, 0, 0}, {4224, 819, 1100, 0, 0, 0, 0}, {4336, 828, 1092, 0, 0, 0, 0}, {287, 544, 1088, 4437, 0, 0, 0}, {284, 544, 1360, 4454, 0, 0, 0}, {4288, 831, 1096, 0, 0, 0, 0}, {816, 1096, 4144, 0, 0, 0, 0}, {170, 275, 0, 0, 0, 0, 0}, {170, 272, 0, 0, 0, 0, 0}, {819, 1092, 4096, 0, 0, 0, 0}, {828, 1100, 4208, 0, 0, 0, 0}, {170, 279, 0, 0, 0, 0, 0}, {170, 276, 0, 0, 0, 0, 0}, {831, 1088, 4160, 0, 0, 0, 0}, {960, 1792, 4864, 0, 0, 0, 0}, {514, 363, 1285, 4369, 0, 0, 0}, {514, 360, 1290, 4386, 0, 0, 0}, {963, 1807, 4915, 0, 0, 0, 0}, {972, 1800, 4940, 0, 0, 0, 0}, {522, 367, 1285, 4154, 0, 0, 0}, {522, 364, 1290, 4106, 0, 0, 0}, {975, 1799, 4991, 0, 0, 0, 0}, {960, 1800, 4160, 0, 0, 0, 0}, {522, 355, 1285, 4403, 0, 0, 0}, {522, 352, 1290, 4352, 0, 0, 0}, {963, 1799, 4208, 0, 0, 0, 0}, {972, 1792, 4096, 0, 0, 0, 0}, {514, 359, 1285, 4112, 0, 0, 0}, {514, 356, 1290, 4128, 0, 0, 0}, {975, 1807, 4144, 0, 0, 0, 0}, {1008, 1904, 4896, 0, 0, 0, 0}, {546, 379, 1070, 4369, 0, 0, 0}, {546, 376, 1058, 4386, 0, 0, 0}, {1011, 1919, 4883, 0, 0, 0, 0}, {1020, 1912, 4972, 0, 0, 0, 0}, {554, 383, 1066, 4138, 0, 0, 0}, {554, 380, 1062, 4122, 0, 0, 0}, {1023, 1911, 4959, 0, 0, 0, 0}, {1008, 1912, 4176, 0, 0, 0, 0}, {554, 371, 1062, 4403, 0, 0, 0}, {554, 368, 1066, 4352, 0, 0, 0}, {1011, 1911, 4192, 0, 0, 0, 0}, {1020, 1904, 4112, 0, 0, 0, 0}, {546, 375, 1058, 4096, 0, 0, 0}, {546, 372, 1070, 4144, 0, 0, 0}, {1023, 1919, 4128, 0, 0, 0, 0}, {960, 1088, 4896, 0, 0, 0, 0}, {546, 331, 1295, 4369, 0, 0, 0}, {546, 328, 1280, 4386, 0, 0, 0}, {963, 1100, 4883, 0, 0, 0, 0}, {972, 1092, 4972, 0, 0, 0, 0}, {554, 335, 1295, 4122, 0, 0, 0}, {554, 332, 1280, 4138, 0, 0, 0}, {975, 1096, 4959, 0, 0, 0, 0}, {960, 1096, 4192, 0, 0, 0, 0}, {554, 323, 1295, 4403, 0, 0, 0}, {554, 320, 1280, 4352, 0, 0, 0}, {963, 1092, 4176, 0, 0, 0, 0}, {972, 1100, 4128, 0, 0, 0, 0}, {546, 327, 1295, 4144, 0, 0, 0}, {546, 324, 1280, 4096, 0, 0, 0}, {975, 1088, 4112, 0, 0, 0, 0}, {1008, 1024, 4864, 0, 0, 0, 0}, {514, 347, 1028, 4369, 0, 0, 0}, {514, 344, 1032, 4386, 0, 0, 0}, {1011, 1036, 4915, 0, 0, 0, 0}, {1020, 1028, 4940, 0, 0, 0, 0}, {522, 351, 1024, 4106, 0, 0, 0}, {522, 348, 1036, 4154, 0, 0, 0}, {1023, 1032, 4991, 0, 0, 0, 0}, {1008, 1032, 4208, 0, 0, 0, 0}, {522, 339, 1036, 4403, 0, 0, 0}, {522, 336, 1024, 4352, 0, 0, 0}, {1011, 1028, 4160, 0, 0, 0, 0}, {1020, 1036, 4144, 0, 0, 0, 0}, {514, 343, 1032, 4128, 0, 0, 0}, {514, 340, 1028, 4112, 0, 0, 0}, {1023, 1024, 4096, 0, 0, 0, 0}, {3072, 24576, 0, 0, 0, 0, 0}, {34, 7, 257, 0, 0, 0, 0}, {8, 34, 514, 1024, 0, 0, 0}, {15, 771, 20480, 0, 0, 0, 0}, {8, 8192, 1028, 0, 0, 0, 0}, {15, 768, 85, 1285, 0, 0, 0}, {170, 1542, 0, 0, 0, 0, 0}, {768, 7, 4096, 0, 0, 0, 0}, {8, 8192, 1024, 0, 0, 0, 0}, {15, 771, 85, 1285, 0, 0, 0}, {170, 1546, 0, 0, 0, 0, 0}, {771, 7, 4144, 0, 0, 0, 0}, {3084, 24768, 0, 0, 0, 0, 0}, {34, 7, 258, 0, 0, 0, 0}, {8, 34, 514, 1028, 0, 0, 0}, {15, 768, 20480, 0, 0, 0, 0}, {3120, 112, 4112, 0, 0, 0, 0}, {34, 85, 1553, 4369, 0, 0, 0}, {34, 90, 1554, 4626, 0, 0, 0}, {3123, 127, 4883, 0, 0, 0, 0}, {3132, 120, 5140, 0, 0, 0, 0}, {42, 85, 1557, 4864, 0, 0, 0}, {42, 90, 1558, 4096, 0, 0, 0}, {3135, 119, 5911, 0, 0, 0, 0}, {3120, 120, 5160, 0, 0, 0, 0}, {42, 85, 1561, 4889, 0, 0, 0}, {42, 90, 1562, 4122, 0, 0, 0}, {3123, 119, 5928, 0, 0, 0, 0}, {3132, 112, 4128, 0, 0, 0, 0}, {34, 85, 1565, 4352, 0, 0, 0}, {34, 90, 1566, 4608, 0, 0, 0}, {3135, 127, 4896, 0, 0, 0, 0}, {128, 3072, 8224, 16384, 0, 0, 0}, {15, 34, 771, 85, 1280, 4369, 0}, {34, 1536, 0, 0, 0, 0, 0}, {15, 771, 112, 4112, 0, 0, 0}, {136, 3084, 9252, 17476, 0, 0, 0}, {15, 37, 768, 85, 1280, 4096, 0}, {42, 1548, 0, 0, 0, 0, 0}, {15, 768, 119, 5159, 0, 0, 0}, {136, 3072, 9256, 17408, 0, 0, 0}, {15, 37, 771, 85, 1280, 4117, 0}, {42, 1536, 0, 0, 0, 0, 0}, {15, 771, 119, 5140, 0, 0, 0}, {128, 3084, 8224, 16448, 0, 0, 0}, {15, 34, 768, 85, 1280, 4352, 0}, {34, 1548, 0, 0, 0, 0, 0}, {15, 768, 112, 4128, 0, 0, 0}, {240, 3120, 12336, 20480, 0, 0, 0}, {8, 34, 514, 85, 1041, 4369, 0}, {8, 34, 514, 82, 1042, 4112, 0}, {255, 3123, 13107, 21299, 0, 0, 0}, {8, 112, 1076, 4096, 0, 0, 0}, {13056, 85, 1589, 0, 0, 0, 0}, {12288, 90, 1590, 0, 0, 0, 0}, {8, 119, 1079, 4864, 0, 0, 0}, {8, 112, 1072, 4144, 0, 0, 0}, {13107, 85, 1593, 0, 0, 0, 0}, {12336, 90, 1594, 0, 0, 0, 0}, {8, 119, 1075, 4915, 0, 0, 0}, {240, 3132, 12288, 20480, 0, 0, 0}, {8, 34, 514, 85, 1045, 4352, 0}, {8, 34, 514, 82, 1046, 4098, 0}, {255, 3135, 13056, 21311, 0, 0, 0}, {128, 3136, 8192, 16448, 0, 0, 0}, {15, 34, 785, 85, 1285, 4369, 0}, {34, 1602, 0, 0, 0, 0, 0}, {15, 819, 112, 4096, 0, 0, 0}, {136, 3140, 9284, 17476, 0, 0, 0}, {15, 37, 789, 85, 1285, 4112, 0}, {42, 1606, 0, 0, 0, 0, 0}, {15, 816, 119, 5120, 0, 0, 0}, {136, 3144, 9288, 17408, 0, 0, 0}, {15, 37, 790, 85, 1285, 4101, 0}, {42, 1610, 0, 0, 0, 0, 0}, {15, 819, 119, 5171, 0, 0, 0}, {128, 3148, 8192, 16384, 0, 0, 0}, {15, 34, 786, 85, 1285, 4352, 0}, {34, 1614, 0, 0, 0, 0, 0}, {15, 816, 112, 4144, 0, 0, 0}, {240, 3072, 12288, 20560, 0, 0, 0}, {8, 34, 512, 85, 1028, 4369, 0}, {8, 34, 512, 82, 1024, 4096, 0}, {255, 3084, 13107, 21331, 0, 0, 0}, {8, 112, 1028, 4112, 0, 0, 0}, {13056, 85, 1536, 0, 0, 0, 0}, {12336, 90, 1548, 0, 0, 0, 0}, {8, 119, 1024, 4896, 0, 0, 0}, {8, 112, 1024, 4128, 0, 0, 0}, {13107, 85, 1548, 0, 0, 0, 0}, {12288, 90, 1536, 0, 0, 0, 0}, {8, 119, 1028, 4883, 0, 0, 0}, {240, 3084, 12336, 20560, 0, 0, 0}, {8, 34, 512, 85, 1024, 4352, 0}, {8, 34, 512, 82, 1028, 4114, 0}, {255, 3072, 13056, 21343, 0, 0, 0}, {3264, 24672, 0, 0, 0, 0, 0}, {34, 7, 273, 0, 0, 0, 0}, {8, 34, 512, 1088, 0, 0, 0}, {15, 819, 20560, 0, 0, 0, 0}, {8, 8224, 1092, 0, 0, 0, 0}, {15, 816, 85, 1280, 0, 0, 0}, {170, 1638, 0, 0, 0, 0, 0}, {816, 7, 4112, 0, 0, 0, 0}, {8, 8224, 1088, 0, 0, 0, 0}, {15, 819, 85, 1280, 0, 0, 0}, {170, 1642, 0, 0, 0, 0, 0}, {819, 7, 4128, 0, 0, 0, 0}, {3276, 24736, 0, 0, 0, 0, 0}, {34, 7, 274, 0, 0, 0, 0}, {8, 34, 512, 1092, 0, 0, 0}, {15, 816, 20560, 0, 0, 0, 0}, {3072, 112, 4096, 0, 0, 0, 0}, {34, 85, 1542, 4369, 0, 0, 0}, {34, 90, 1546, 4608, 0, 0, 0}, {3084, 127, 4915, 0, 0, 0, 0}, {3084, 120, 5180, 0, 0, 0, 0}, {42, 85, 1546, 4874, 0, 0, 0}, {42, 90, 1542, 4112, 0, 0, 0}, {3072, 119, 5888, 0, 0, 0, 0}, {3072, 120, 5120, 0, 0, 0, 0}, {42, 85, 1542, 4883, 0, 0, 0}, {42, 90, 1546, 4106, 0, 0, 0}, {3084, 119, 5951, 0, 0, 0, 0}, {3084, 112, 4144, 0, 0, 0, 0}, {34, 85, 1546, 4352, 0, 0, 0}, {34, 90, 1542, 4626, 0, 0, 0}, {3072, 127, 4864, 0, 0, 0, 0}, {128, 3072, 8192, 16384, 0, 0, 0}, {15, 34, 771, 85, 1285, 4369, 0}, {34, 1546, 0, 0, 0, 0, 0}, {15, 771, 112, 4144, 0, 0, 0}, {136, 3084, 9228, 17476, 0, 0, 0}, {15, 37, 768, 85, 1285, 4101, 0}, {42, 1542, 0, 0, 0, 0, 0}, {15, 768, 119, 5120, 0, 0, 0}, {136, 3072, 9216, 17408, 0, 0, 0}, {15, 37, 771, 85, 1285, 4112, 0}, {42, 1546, 0, 0, 0, 0, 0}, {15, 771, 119, 5171, 0, 0, 0}, {128, 3084, 8192, 16448, 0, 0, 0}, {15, 34, 768, 85, 1285, 4352, 0}, {34, 1542, 0, 0, 0, 0, 0}, {15, 768, 112, 4096, 0, 0, 0}, {240, 3120, 12336, 20560, 0, 0, 0}, {8, 34, 512, 85, 1041, 4369, 0}, {8, 34, 512, 82, 1042, 4114, 0}, {255, 3123, 13107, 21356, 0, 0, 0}, {8, 112, 1076, 4128, 0, 0, 0}, {13056, 85, 1599, 0, 0, 0, 0}, {12288, 90, 1596, 0, 0, 0, 0}, {8, 119, 1079, 4896, 0, 0, 0}, {8, 112, 1072, 4112, 0, 0, 0}, {13107, 85, 1587, 0, 0, 0, 0}, {12336, 90, 1584, 0, 0, 0, 0}, {8, 119, 1075, 4883, 0, 0, 0}, {240, 3132, 12288, 20560, 0, 0, 0}, {8, 34, 512, 85, 1045, 4352, 0}, {8, 34, 512, 82, 1046, 4096, 0}, {255, 3135, 13056, 21344, 0, 0, 0}, {3072, 24736, 0, 0, 0, 0, 0}, {34, 7, 259, 0, 0, 0, 0}, {8, 34, 512, 1024, 0, 0, 0}, {15, 771, 20560, 0, 0, 0, 0}, {8, 8224, 1028, 0, 0, 0, 0}, {15, 768, 85, 1280, 0, 0, 0}, {170, 1548, 0, 0, 0, 0, 0}, {768, 7, 4128, 0, 0, 0, 0}, {8, 8224, 1024, 0, 0, 0, 0}, {15, 771, 85, 1280, 0, 0, 0}, {170, 1536, 0, 0, 0, 0, 0}, {771, 7, 4112, 0, 0, 0, 0}, {3084, 24672, 0, 0, 0, 0, 0}, {34, 7, 256, 0, 0, 0, 0}, {8, 34, 512, 1028, 0, 0, 0}, {15, 768, 20560, 0, 0, 0, 0}, {3120, 112, 4144, 0, 0, 0, 0}, {34, 85, 1563, 4369, 0, 0, 0}, {34, 90, 1560, 4626, 0, 0, 0}, {3123, 127, 4915, 0, 0, 0, 0}, {3132, 120, 5180, 0, 0, 0, 0}, {42, 85, 1567, 4874, 0, 0, 0}, {42, 90, 1564, 4106, 0, 0, 0}, {3135, 119, 5951, 0, 0, 0, 0}, {3120, 120, 5120, 0, 0, 0, 0}, {42, 85, 1555, 4883, 0, 0, 0}, {42, 90, 1552, 4112, 0, 0, 0}, {3123, 119, 5888, 0, 0, 0, 0}, {3132, 112, 4096, 0, 0, 0, 0}, {34, 85, 1559, 4352, 0, 0, 0}, {34, 90, 1556, 4608, 0, 0, 0}, {3135, 127, 4864, 0, 0, 0, 0}, {3264, 24768, 0, 0, 0, 0, 0}, {34, 7, 275, 0, 0, 0, 0}, {8, 34, 514, 1088, 0, 0, 0}, {15, 819, 20480, 0, 0, 0, 0}, {8, 8192, 1092, 0, 0, 0, 0}, {15, 816, 85, 1285, 0, 0, 0}, {170, 1644, 0, 0, 0, 0, 0}, {816, 7, 4144, 0, 0, 0, 0}, {8, 8192, 1088, 0, 0, 0, 0}, {15, 819, 85, 1285, 0, 0, 0}, {170, 1632, 0, 0, 0, 0, 0}, {819, 7, 4096, 0, 0, 0, 0}, {3276, 24576, 0, 0, 0, 0, 0}, {34, 7, 272, 0, 0, 0, 0}, {8, 34, 514, 1092, 0, 0, 0}, {15, 816, 20480, 0, 0, 0, 0}, {3072, 112, 4128, 0, 0, 0, 0}, {34, 85, 1548, 4369, 0, 0, 0}, {34, 90, 1536, 4608, 0, 0, 0}, {3084, 127, 4883, 0, 0, 0, 0}, {3084, 120, 5140, 0, 0, 0, 0}, {42, 85, 1536, 4864, 0, 0, 0}, {42, 90, 1548, 4122, 0, 0, 0}, {3072, 119, 5928, 0, 0, 0, 0}, {3072, 120, 5160, 0, 0, 0, 0}, {42, 85, 1548, 4889, 0, 0, 0}, {42, 90, 1536, 4096, 0, 0, 0}, {3084, 119, 5911, 0, 0, 0, 0}, {3084, 112, 4112, 0, 0, 0, 0}, {34, 85, 1536, 4352, 0, 0, 0}, {34, 90, 1548, 4626, 0, 0, 0}, {3072, 127, 4896, 0, 0, 0, 0}, {128, 3136, 8224, 16448, 0, 0, 0}, {15, 34, 785, 85, 1280, 4369, 0}, {34, 1608, 0, 0, 0, 0, 0}, {15, 819, 112, 4128, 0, 0, 0}, {136, 3140, 9324, 17476, 0, 0, 0}, {15, 37, 789, 85, 1280, 4117, 0}, {42, 1612, 0, 0, 0, 0, 0}, {15, 816, 119, 5159, 0, 0, 0}, {136, 3144, 9312, 17408, 0, 0, 0}, {15, 37, 790, 85, 1280, 4096, 0}, {42, 1600, 0, 0, 0, 0, 0}, {15, 819, 119, 5140, 0, 0, 0}, {128, 3148, 8224, 16384, 0, 0, 0}, {15, 34, 786, 85, 1280, 4352, 0}, {34, 1604, 0, 0, 0, 0, 0}, {15, 816, 112, 4112, 0, 0, 0}, {240, 3072, 12288, 20480, 0, 0, 0}, {8, 34, 514, 85, 1028, 4369, 0}, {8, 34, 514, 82, 1024, 4098, 0}, {255, 3084, 13107, 21260, 0, 0, 0}, {8, 112, 1028, 4144, 0, 0, 0}, {13056, 85, 1546, 0, 0, 0, 0}, {12336, 90, 1542, 0, 0, 0, 0}, {8, 119, 1024, 4864, 0, 0, 0}, {8, 112, 1024, 4096, 0, 0, 0}, {13107, 85, 1542, 0, 0, 0, 0}, {12288, 90, 1546, 0, 0, 0, 0}, {8, 119, 1028, 4915, 0, 0, 0}, {240, 3084, 12336, 20480, 0, 0, 0}, {8, 34, 514, 85, 1024, 4352, 0}, {8, 34, 514, 82, 1028, 4112, 0}, {255, 3072, 13056, 21248, 0, 0, 0}, {8704, 1792, 0, 0, 0, 0, 0}, {12, 96, 257, 0, 0, 0, 0}, {160, 514, 1290, 0, 0, 0, 0}, {12, 771, 1024, 4403, 0, 0, 0}, {12, 768, 1028, 4420, 0, 0, 0}, {160, 522, 1285, 0, 0, 0, 0}, {12, 96, 262, 0, 0, 0, 0}, {8840, 1799, 0, 0, 0, 0, 0}, {8840, 1800, 0, 0, 0, 0, 0}, {12, 96, 261, 0, 0, 0, 0}, {160, 522, 1290, 0, 0, 0, 0}, {12, 771, 1028, 4471, 0, 0, 0}, {12, 768, 1024, 4352, 0, 0, 0}, {160, 514, 1285, 0, 0, 0, 0}, {12, 96, 258, 0, 0, 0, 0}, {8704, 1807, 0, 0, 0, 0, 0}, {544, 96, 1328, 4112, 0, 0, 0}, {204, 1911, 4369, 0, 0, 0, 0}, {192, 1912, 4626, 0, 0, 0, 0}, {544, 108, 1331, 4403, 0, 0, 0}, {552, 108, 1340, 4392, 0, 0, 0}, {192, 1919, 4714, 0, 0, 0, 0}, {204, 1904, 4454, 0, 0, 0, 0}, {552, 96, 1343, 4096, 0, 0, 0}, {552, 96, 1328, 4144, 0, 0, 0}, {204, 1919, 4437, 0, 0, 0, 0}, {192, 1904, 4698, 0, 0, 0, 0}, {552, 108, 1331, 4379, 0, 0, 0}, {544, 108, 1340, 4352, 0, 0, 0}, {192, 1911, 4642, 0, 0, 0, 0}, {204, 1912, 4386, 0, 0, 0, 0}, {544, 96, 1343, 4128, 0, 0, 0}, {160, 544, 1280, 0, 0, 0, 0}, {12, 771, 1092, 4369, 0, 0, 0}, {1928, 3840, 8738, 21026, 0, 0, 0}, {12, 291, 771, 323, 1283, 4112, 0}, {12, 292, 768, 324, 1280, 4096, 0}, {1935, 3855, 9509, 21845, 0, 0, 0}, {12, 768, 1088, 4454, 0, 0, 0}, {160, 552, 1295, 0, 0, 0, 0}, {160, 552, 1280, 0, 0, 0, 0}, {12, 771, 1088, 4437, 0, 0, 0}, {1920, 3840, 9514, 21034, 0, 0, 0}, {12, 295, 771, 327, 1283, 4375, 0}, {12, 288, 768, 320, 1280, 4352, 0}, {1927, 3855, 8738, 21845, 0, 0, 0}, {12, 768, 1092, 4386, 0, 0, 0}, {160, 544, 1295, 0, 0, 0, 0}, {192, 1840, 4656, 0, 0, 0, 0}, {514, 108, 1337, 4369, 0, 0, 0}, {514, 96, 1338, 4112, 0, 0, 0}, {204, 1843, 4403, 0, 0, 0, 0}, {204, 1844, 4420, 0, 0, 0, 0}, {522, 96, 1333, 4096, 0, 0, 0}, {522, 108, 1334, 4362, 0, 0, 0}, {192, 1847, 4680, 0, 0, 0, 0}, {192, 1848, 4728, 0, 0, 0, 0}, {522, 108, 1337, 4409, 0, 0, 0}, {522, 96, 1338, 4144, 0, 0, 0}, {204, 1851, 4471, 0, 0, 0, 0}, {204, 1852, 4352, 0, 0, 0, 0}, {514, 96, 1333, 4128, 0, 0, 0}, {514, 108, 1334, 4386, 0, 0, 0}, {192, 1855, 4608, 0, 0, 0, 0}, {192, 1856, 4608, 0, 0, 0, 0}, {546, 108, 1285, 4369, 0, 0, 0}, {546, 96, 1290, 4096, 0, 0, 0}, {204, 1859, 4403, 0, 0, 0, 0}, {204, 1860, 4420, 0, 0, 0, 0}, {554, 96, 1285, 4112, 0, 0, 0}, {554, 108, 1290, 4362, 0, 0, 0}, {192, 1863, 4728, 0, 0, 0, 0}, {192, 1864, 4680, 0, 0, 0, 0}, {554, 108, 1285, 4409, 0, 0, 0}, {554, 96, 1290, 4128, 0, 0, 0}, {204, 1867, 4471, 0, 0, 0, 0}, {204, 1868, 4352, 0, 0, 0, 0}, {546, 96, 1285, 4144, 0, 0, 0}, {546, 108, 1290, 4386, 0, 0, 0}, {192, 1871, 4656, 0, 0, 0, 0}, {160, 512, 1360, 0, 0, 0, 0}, {12, 819, 1028, 4369, 0, 0, 0}, {2040, 2056, 8738, 21074, 0, 0, 0}, {12, 307, 512, 339, 1024, 4096, 0}, {12, 308, 516, 340, 1028, 4112, 0}, {2047, 2048, 9557, 21845, 0, 0, 0}, {12, 816, 1024, 4454, 0, 0, 0}, {160, 520, 1375, 0, 0, 0, 0}, {160, 520, 1360, 0, 0, 0, 0}, {12, 819, 1024, 4437, 0, 0, 0}, {2032, 2048, 9562, 21082, 0, 0, 0}, {12, 311, 516, 343, 1028, 4375, 0}, {12, 304, 512, 336, 1024, 4352, 0}, {2039, 2056, 8738, 21845, 0, 0, 0}, {12, 816, 1028, 4386, 0, 0, 0}, {160, 512, 1375, 0, 0, 0, 0}, {512, 96, 1280, 4096, 0, 0, 0}, {204, 1799, 4369, 0, 0, 0, 0}, {192, 1800, 4642, 0, 0, 0, 0}, {512, 108, 1295, 4403, 0, 0, 0}, {520, 108, 1280, 4392, 0, 0, 0}, {192, 1807, 4698, 0, 0, 0, 0}, {204, 1792, 4454, 0, 0, 0, 0}, {520, 96, 1295, 4112, 0, 0, 0}, {520, 96, 1280, 4128, 0, 0, 0}, {204, 1807, 4437, 0, 0, 0, 0}, {192, 1792, 4714, 0, 0, 0, 0}, {520, 108, 1295, 4379, 0, 0, 0}, {512, 108, 1280, 4352, 0, 0, 0}, {192, 1799, 4626, 0, 0, 0, 0}, {204, 1800, 4386, 0, 0, 0, 0}, {512, 96, 1295, 4144, 0, 0, 0}, {8704, 1904, 0, 0, 0, 0, 0}, {12, 96, 273, 0, 0, 0, 0}, {160, 546, 1370, 0, 0, 0, 0}, {12, 819, 1088, 4403, 0, 0, 0}, {12, 816, 1092, 4420, 0, 0, 0}, {160, 554, 1365, 0, 0, 0, 0}, {12, 96, 278, 0, 0, 0, 0}, {8840, 1911, 0, 0, 0, 0, 0}, {8840, 1912, 0, 0, 0, 0, 0}, {12, 96, 277, 0, 0, 0, 0}, {160, 554, 1370, 0, 0, 0, 0}, {12, 819, 1092, 4471, 0, 0, 0}, {12, 816, 1088, 4352, 0, 0, 0}, {160, 546, 1365, 0, 0, 0, 0}, {12, 96, 274, 0, 0, 0, 0}, {8704, 1919, 0, 0, 0, 0, 0}, {1920, 3840, 8704, 21760, 0, 0, 0}, {12, 289, 771, 321, 1285, 4369, 0}, {160, 546, 1290, 0, 0, 0, 0}, {12, 771, 1088, 4403, 0, 0, 0}, {12, 768, 1092, 4420, 0, 0, 0}, {160, 554, 1285, 0, 0, 0, 0}, {12, 294, 768, 326, 1286, 4358, 0}, {1927, 3855, 9487, 21112, 0, 0, 0}, {1928, 3840, 9472, 21760, 0, 0, 0}, {12, 293, 771, 325, 1285, 4112, 0}, {160, 554, 1290, 0, 0, 0, 0}, {12, 771, 1092, 4471, 0, 0, 0}, {12, 768, 1088, 4352, 0, 0, 0}, {160, 546, 1285, 0, 0, 0, 0}, {12, 290, 768, 322, 1286, 4096, 0}, {1935, 3855, 8704, 21104, 0, 0, 0}, {512, 96, 1328, 4144, 0, 0, 0}, {204, 1851, 4369, 0, 0, 0, 0}, {192, 1848, 4626, 0, 0, 0, 0}, {512, 108, 1331, 4403, 0, 0, 0}, {520, 108, 1340, 4392, 0, 0, 0}, {192, 1855, 4714, 0, 0, 0, 0}, {204, 1852, 4454, 0, 0, 0, 0}, {520, 96, 1343, 4128, 0, 0, 0}, {520, 96, 1328, 4112, 0, 0, 0}, {204, 1843, 4437, 0, 0, 0, 0}, {192, 1840, 4698, 0, 0, 0, 0}, {520, 108, 1331, 4379, 0, 0, 0}, {512, 108, 1340, 4352, 0, 0, 0}, {192, 1847, 4642, 0, 0, 0, 0}, {204, 1844, 4386, 0, 0, 0, 0}, {512, 96, 1343, 4096, 0, 0, 0}, {160, 512, 1280, 0, 0, 0, 0}, {12, 771, 1028, 4369, 0, 0, 0}, {8738, 1800, 0, 0, 0, 0, 0}, {12, 96, 259, 0, 0, 0, 0}, {12, 96, 260, 0, 0, 0, 0}, {8874, 1807, 0, 0, 0, 0, 0}, {12, 768, 1024, 4454, 0, 0, 0}, {160, 520, 1295, 0, 0, 0, 0}, {160, 520, 1280, 0, 0, 0, 0}, {12, 771, 1024, 4437, 0, 0, 0}, {8874, 1792, 0, 0, 0, 0, 0}, {12, 96, 263, 0, 0, 0, 0}, {12, 96, 256, 0, 0, 0, 0}, {8738, 1799, 0, 0, 0, 0, 0}, {12, 768, 1028, 4386, 0, 0, 0}, {160, 512, 1295, 0, 0, 0, 0}, {192, 1904, 4656, 0, 0, 0, 0}, {546, 108, 1337, 4369, 0, 0, 0}, {546, 96, 1338, 4144, 0, 0, 0}, {204, 1919, 4403, 0, 0, 0, 0}, {204, 1912, 4420, 0, 0, 0, 0}, {554, 96, 1333, 4128, 0, 0, 0}, {554, 108, 1334, 4362, 0, 0, 0}, {192, 1911, 4680, 0, 0, 0, 0}, {192, 1912, 4728, 0, 0, 0, 0}, {554, 108, 1337, 4409, 0, 0, 0}, {554, 96, 1338, 4112, 0, 0, 0}, {204, 1911, 4471, 0, 0, 0, 0}, {204, 1904, 4352, 0, 0, 0, 0}, {546, 96, 1333, 4096, 0, 0, 0}, {546, 108, 1334, 4386, 0, 0, 0}, {192, 1919, 4608, 0, 0, 0, 0}, {192, 1792, 4608, 0, 0, 0, 0}, {514, 108, 1285, 4369, 0, 0, 0}, {514, 96, 1290, 4128, 0, 0, 0}, {204, 1807, 4403, 0, 0, 0, 0}, {204, 1800, 4420, 0, 0, 0, 0}, {522, 96, 1285, 4144, 0, 0, 0}, {522, 108, 1290, 4362, 0, 0, 0}, {192, 1799, 4728, 0, 0, 0, 0}, {192, 1800, 4680, 0, 0, 0, 0}, {522, 108, 1285, 4409, 0, 0, 0}, {522, 96, 1290, 4096, 0, 0, 0}, {204, 1799, 4471, 0, 0, 0, 0}, {204, 1792, 4352, 0, 0, 0, 0}, {514, 96, 1285, 4112, 0, 0, 0}, {514, 108, 1290, 4386, 0, 0, 0}, {192, 1807, 4656, 0, 0, 0, 0}, {160, 544, 1360, 0, 0, 0, 0}, {12, 819, 1092, 4369, 0, 0, 0}, {8738, 1912, 0, 0, 0, 0, 0}, {12, 96, 275, 0, 0, 0, 0}, {12, 96, 276, 0, 0, 0, 0}, {8874, 1919, 0, 0, 0, 0, 0}, {12, 816, 1088, 4454, 0, 0, 0}, {160, 552, 1375, 0, 0, 0, 0}, {160, 552, 1360, 0, 0, 0, 0}, {12, 819, 1088, 4437, 0, 0, 0}, {8874, 1904, 0, 0, 0, 0, 0}, {12, 96, 279, 0, 0, 0, 0}, {12, 96, 272, 0, 0, 0, 0}, {8738, 1911, 0, 0, 0, 0, 0}, {12, 816, 1092, 4386, 0, 0, 0}, {160, 544, 1375, 0, 0, 0, 0}, {544, 96, 1280, 4128, 0, 0, 0}, {204, 1867, 4369, 0, 0, 0, 0}, {192, 1864, 4642, 0, 0, 0, 0}, {544, 108, 1295, 4403, 0, 0, 0}, {552, 108, 1280, 4392, 0, 0, 0}, {192, 1871, 4698, 0, 0, 0, 0}, {204, 1868, 4454, 0, 0, 0, 0}, {552, 96, 1295, 4144, 0, 0, 0}, {552, 96, 1280, 4096, 0, 0, 0}, {204, 1859, 4437, 0, 0, 0, 0}, {192, 1856, 4714, 0, 0, 0, 0}, {552, 108, 1295, 4379, 0, 0, 0}, {544, 108, 1280, 4352, 0, 0, 0}, {192, 1863, 4626, 0, 0, 0, 0}, {204, 1860, 4386, 0, 0, 0, 0}, {544, 96, 1295, 4112, 0, 0, 0}, {2032, 2048, 8704, 21760, 0, 0, 0}, {12, 305, 514, 337, 1028, 4369, 0}, {160, 514, 1370, 0, 0, 0, 0}, {12, 819, 1024, 4403, 0, 0, 0}, {12, 816, 1028, 4420, 0, 0, 0}, {160, 522, 1365, 0, 0, 0, 0}, {12, 310, 518, 342, 1024, 4358, 0}, {2039, 2056, 9599, 21000, 0, 0, 0}, {2040, 2056, 9584, 21760, 0, 0, 0}, {12, 309, 518, 341, 1024, 4096, 0}, {160, 522, 1370, 0, 0, 0, 0}, {12, 819, 1028, 4471, 0, 0, 0}, {12, 816, 1024, 4352, 0, 0, 0}, {160, 514, 1365, 0, 0, 0, 0}, {12, 306, 514, 338, 1028, 4112, 0}, {2047, 2048, 8704, 20992, 0, 0, 0}, {8704, 1024, 0, 0, 0, 0, 0}, {15, 80, 257, 0, 0, 0, 0}, {160, 514, 1032, 0, 0, 0, 0}, {15, 771, 1027, 4403, 0, 0, 0}, {8840, 1028, 0, 0, 0, 0, 0}, {15, 80, 261, 0, 0, 0, 0}, {160, 522, 1036, 0, 0, 0, 0}, {15, 768, 1031, 4471, 0, 0, 0}, {8840, 1032, 0, 0, 0, 0, 0}, {15, 80, 262, 0, 0, 0, 0}, {160, 522, 1024, 0, 0, 0, 0}, {15, 771, 1028, 4420, 0, 0, 0}, {8704, 1036, 0, 0, 0, 0, 0}, {15, 80, 258, 0, 0, 0, 0}, {160, 514, 1028, 0, 0, 0, 0}, {15, 768, 1024, 4352, 0, 0, 0}, {544, 80, 1040, 4112, 0, 0, 0}, {255, 1092, 4369, 0, 0, 0, 0}, {240, 1096, 4626, 0, 0, 0, 0}, {544, 95, 1043, 4403, 0, 0, 0}, {552, 80, 1044, 4096, 0, 0, 0}, {255, 1088, 4437, 0, 0, 0, 0}, {240, 1100, 4698, 0, 0, 0, 0}, {552, 95, 1047, 4392, 0, 0, 0}, {552, 80, 1048, 4144, 0, 0, 0}, {255, 1100, 4454, 0, 0, 0, 0}, {240, 1088, 4714, 0, 0, 0, 0}, {552, 95, 1051, 4379, 0, 0, 0}, {544, 80, 1052, 4128, 0, 0, 0}, {255, 1096, 4386, 0, 0, 0, 0}, {240, 1092, 4642, 0, 0, 0, 0}, {544, 95, 1055, 4352, 0, 0, 0}, {160, 544, 1056, 0, 0, 0, 0}, {15, 771, 1140, 4369, 0, 0, 0}, {1160, 3072, 8738, 16384, 0, 0, 0}, {15, 291, 771, 80, 1280, 4112, 0}, {160, 552, 1060, 0, 0, 0, 0}, {15, 768, 1136, 4437, 0, 0, 0}, {1164, 3084, 9766, 16448, 0, 0, 0}, {15, 295, 768, 80, 1280, 4096, 0}, {160, 552, 1064, 0, 0, 0, 0}, {15, 771, 1139, 4454, 0, 0, 0}, {1152, 3072, 9770, 17408, 0, 0, 0}, {15, 292, 771, 80, 1280, 4372, 0}, {160, 544, 1068, 0, 0, 0, 0}, {15, 768, 1143, 4386, 0, 0, 0}, {1156, 3084, 8738, 17476, 0, 0, 0}, {15, 288, 768, 80, 1280, 4352, 0}, {240, 1072, 4656, 0, 0, 0, 0}, {514, 95, 1083, 4369, 0, 0, 0}, {514, 80, 1080, 4112, 0, 0, 0}, {255, 1075, 4403, 0, 0, 0, 0}, {240, 1076, 4728, 0, 0, 0, 0}, {522, 95, 1087, 4362, 0, 0, 0}, {522, 80, 1084, 4096, 0, 0, 0}, {255, 1079, 4471, 0, 0, 0, 0}, {240, 1080, 4680, 0, 0, 0, 0}, {522, 95, 1075, 4409, 0, 0, 0}, {522, 80, 1072, 4144, 0, 0, 0}, {255, 1083, 4420, 0, 0, 0, 0}, {240, 1084, 4608, 0, 0, 0, 0}, {514, 95, 1079, 4386, 0, 0, 0}, {514, 80, 1076, 4128, 0, 0, 0}, {255, 1087, 4352, 0, 0, 0, 0}, {8704, 1088, 0, 0, 0, 0, 0}, {15, 80, 273, 0, 0, 0, 0}, {160, 546, 1096, 0, 0, 0, 0}, {15, 819, 1091, 4403, 0, 0, 0}, {8840, 1092, 0, 0, 0, 0, 0}, {15, 80, 277, 0, 0, 0, 0}, {160, 554, 1100, 0, 0, 0, 0}, {15, 816, 1095, 4471, 0, 0, 0}, {8840, 1096, 0, 0, 0, 0, 0}, {15, 80, 278, 0, 0, 0, 0}, {160, 554, 1088, 0, 0, 0, 0}, {15, 819, 1092, 4420, 0, 0, 0}, {8704, 1100, 0, 0, 0, 0, 0}, {15, 80, 274, 0, 0, 0, 0}, {160, 546, 1092, 0, 0, 0, 0}, {15, 816, 1088, 4352, 0, 0, 0}, {512, 80, 1024, 4096, 0, 0, 0}, {255, 1028, 4369, 0, 0, 0, 0}, {240, 1032, 4642, 0, 0, 0, 0}, {512, 95, 1036, 4403, 0, 0, 0}, {520, 80, 1028, 4112, 0, 0, 0}, {255, 1024, 4437, 0, 0, 0, 0}, {240, 1036, 4714, 0, 0, 0, 0}, {520, 95, 1032, 4392, 0, 0, 0}, {520, 80, 1032, 4128, 0, 0, 0}, {255, 1036, 4454, 0, 0, 0, 0}, {240, 1024, 4698, 0, 0, 0, 0}, {520, 95, 1028, 4379, 0, 0, 0}, {512, 80, 1036, 4144, 0, 0, 0}, {255, 1032, 4386, 0, 0, 0, 0}, {240, 1028, 4626, 0, 0, 0, 0}, {512, 95, 1024, 4352, 0, 0, 0}, {160, 512, 1120, 0, 0, 0, 0}, {15, 819, 1076, 4369, 0, 0, 0}, {1224, 2056, 8738, 16448, 0, 0, 0}, {15, 307, 512, 80, 1280, 4096, 0}, {160, 520, 1124, 0, 0, 0, 0}, {15, 816, 1072, 4437, 0, 0, 0}, {1228, 2048, 9830, 16384, 0, 0, 0}, {15, 311, 519, 80, 1280, 4112, 0}, {160, 520, 1128, 0, 0, 0, 0}, {15, 819, 1075, 4454, 0, 0, 0}, {1216, 2048, 9834, 17408, 0, 0, 0}, {15, 308, 519, 80, 1280, 4372, 0}, {160, 512, 1132, 0, 0, 0, 0}, {15, 816, 1079, 4386, 0, 0, 0}, {1220, 2056, 8738, 17476, 0, 0, 0}, {15, 304, 512, 80, 1280, 4352, 0}, {240, 1136, 4608, 0, 0, 0, 0}, {546, 95, 1060, 4369, 0, 0, 0}, {546, 80, 1064, 4096, 0, 0, 0}, {255, 1139, 4403, 0, 0, 0, 0}, {240, 1140, 4680, 0, 0, 0, 0}, {554, 95, 1056, 4362, 0, 0, 0}, {554, 80, 1068, 4112, 0, 0, 0}, {255, 1143, 4471, 0, 0, 0, 0}, {240, 1144, 4728, 0, 0, 0, 0}, {554, 95, 1068, 4409, 0, 0, 0}, {554, 80, 1056, 4128, 0, 0, 0}, {255, 1147, 4420, 0, 0, 0, 0}, {240, 1148, 4656, 0, 0, 0, 0}, {546, 95, 1064, 4386, 0, 0, 0}, {546, 80, 1060, 4144, 0, 0, 0}, {255, 1151, 4352, 0, 0, 0, 0}, {1152, 3072, 8704, 17408, 0, 0, 0}, {15, 289, 771, 80, 1285, 4369, 0}, {160, 546, 1064, 0, 0, 0, 0}, {15, 771, 1139, 4403, 0, 0, 0}, {1156, 3084, 9740, 17476, 0, 0, 0}, {15, 293, 768, 80, 1285, 4357, 0}, {160, 554, 1068, 0, 0, 0, 0}, {15, 768, 1143, 4471, 0, 0, 0}, {1160, 3072, 9728, 16384, 0, 0, 0}, {15, 294, 771, 80, 1285, 4112, 0}, {160, 554, 1056, 0, 0, 0, 0}, {15, 771, 1140, 4420, 0, 0, 0}, {1164, 3084, 8704, 16448, 0, 0, 0}, {15, 290, 768, 80, 1285, 4096, 0}, {160, 546, 1060, 0, 0, 0, 0}, {15, 768, 1136, 4352, 0, 0, 0}, {512, 80, 1072, 4144, 0, 0, 0}, {255, 1083, 4369, 0, 0, 0, 0}, {240, 1080, 4626, 0, 0, 0, 0}, {512, 95, 1075, 4403, 0, 0, 0}, {520, 80, 1076, 4128, 0, 0, 0}, {255, 1087, 4437, 0, 0, 0, 0}, {240, 1084, 4698, 0, 0, 0, 0}, {520, 95, 1079, 4392, 0, 0, 0}, {520, 80, 1080, 4112, 0, 0, 0}, {255, 1075, 4454, 0, 0, 0, 0}, {240, 1072, 4714, 0, 0, 0, 0}, {520, 95, 1083, 4379, 0, 0, 0}, {512, 80, 1084, 4096, 0, 0, 0}, {255, 1079, 4386, 0, 0, 0, 0}, {240, 1076, 4642, 0, 0, 0, 0}, {512, 95, 1087, 4352, 0, 0, 0}, {160, 512, 1024, 0, 0, 0, 0}, {15, 771, 1028, 4369, 0, 0, 0}, {8738, 1032, 0, 0, 0, 0, 0}, {15, 80, 259, 0, 0, 0, 0}, {160, 520, 1028, 0, 0, 0, 0}, {15, 768, 1024, 4437, 0, 0, 0}, {8874, 1036, 0, 0, 0, 0, 0}, {15, 80, 263, 0, 0, 0, 0}, {160, 520, 1032, 0, 0, 0, 0}, {15, 771, 1027, 4454, 0, 0, 0}, {8874, 1024, 0, 0, 0, 0, 0}, {15, 80, 260, 0, 0, 0, 0}, {160, 512, 1036, 0, 0, 0, 0}, {15, 768, 1031, 4386, 0, 0, 0}, {8738, 1028, 0, 0, 0, 0, 0}, {15, 80, 256, 0, 0, 0, 0}, {240, 1088, 4656, 0, 0, 0, 0}, {546, 95, 1051, 4369, 0, 0, 0}, {546, 80, 1048, 4144, 0, 0, 0}, {255, 1100, 4403, 0, 0, 0, 0}, {240, 1092, 4728, 0, 0, 0, 0}, {554, 95, 1055, 4362, 0, 0, 0}, {554, 80, 1052, 4128, 0, 0, 0}, {255, 1096, 4471, 0, 0, 0, 0}, {240, 1096, 4680, 0, 0, 0, 0}, {554, 95, 1043, 4409, 0, 0, 0}, {554, 80, 1040, 4112, 0, 0, 0}, {255, 1092, 4420, 0, 0, 0, 0}, {240, 1100, 4608, 0, 0, 0, 0}, {546, 95, 1047, 4386, 0, 0, 0}, {546, 80, 1044, 4096, 0, 0, 0}, {255, 1088, 4352, 0, 0, 0, 0}, {1216, 2048, 8704, 17408, 0, 0, 0}, {15, 305, 514, 80, 1285, 4369, 0}, {160, 514, 1128, 0, 0, 0, 0}, {15, 819, 1075, 4403, 0, 0, 0}, {1220, 2056, 9804, 17476, 0, 0, 0}, {15, 309, 517, 80, 1285, 4357, 0}, {160, 522, 1132, 0, 0, 0, 0}, {15, 816, 1079, 4471, 0, 0, 0}, {1224, 2056, 9792, 16448, 0, 0, 0}, {15, 310, 517, 80, 1285, 4096, 0}, {160, 522, 1120, 0, 0, 0, 0}, {15, 819, 1076, 4420, 0, 0, 0}, {1228, 2048, 8704, 16384, 0, 0, 0}, {15, 306, 514, 80, 1285, 4112, 0}, {160, 514, 1124, 0, 0, 0, 0}, {15, 816, 1072, 4352, 0, 0, 0}, {544, 80, 1056, 4128, 0, 0, 0}, {255, 1147, 4369, 0, 0, 0, 0}, {240, 1144, 4642, 0, 0, 0, 0}, {544, 95, 1068, 4403, 0, 0, 0}, {552, 80, 1060, 4144, 0, 0, 0}, {255, 1151, 4437, 0, 0, 0, 0}, {240, 1148, 4714, 0, 0, 0, 0}, {552, 95, 1064, 4392, 0, 0, 0}, {552, 80, 1064, 4096, 0, 0, 0}, {255, 1139, 4454, 0, 0, 0, 0}, {240, 1136, 4698, 0, 0, 0, 0}, {552, 95, 1060, 4379, 0, 0, 0}, {544, 80, 1068, 4112, 0, 0, 0}, {255, 1143, 4386, 0, 0, 0, 0}, {240, 1140, 4626, 0, 0, 0, 0}, {544, 95, 1056, 4352, 0, 0, 0}, {160, 544, 1088, 0, 0, 0, 0}, {15, 819, 1092, 4369, 0, 0, 0}, {8738, 1096, 0, 0, 0, 0, 0}, {15, 80, 275, 0, 0, 0, 0}, {160, 552, 1092, 0, 0, 0, 0}, {15, 816, 1088, 4437, 0, 0, 0}, {8874, 1100, 0, 0, 0, 0, 0}, {15, 80, 279, 0, 0, 0, 0}, {160, 552, 1096, 0, 0, 0, 0}, {15, 819, 1091, 4454, 0, 0, 0}, {8874, 1088, 0, 0, 0, 0, 0}, {15, 80, 276, 0, 0, 0, 0}, {160, 544, 1100, 0, 0, 0, 0}, {15, 816, 1095, 4386, 0, 0, 0}, {8738, 1092, 0, 0, 0, 0, 0}, {15, 80, 272, 0, 0, 0, 0}, {240, 1024, 4608, 0, 0, 0, 0}, {514, 95, 1028, 4369, 0, 0, 0}, {514, 80, 1032, 4128, 0, 0, 0}, {255, 1036, 4403, 0, 0, 0, 0}, {240, 1028, 4680, 0, 0, 0, 0}, {522, 95, 1024, 4362, 0, 0, 0}, {522, 80, 1036, 4144, 0, 0, 0}, {255, 1032, 4471, 0, 0, 0, 0}, {240, 1032, 4728, 0, 0, 0, 0}, {522, 95, 1036, 4409, 0, 0, 0}, {522, 80, 1024, 4096, 0, 0, 0}, {255, 1028, 4420, 0, 0, 0, 0}, {240, 1036, 4656, 0, 0, 0, 0}, {514, 95, 1032, 4386, 0, 0, 0}, {514, 80, 1028, 4112, 0, 0, 0}, {255, 1024, 4352, 0, 0, 0, 0}, {3840, 20480, 0, 0, 0, 0, 0}, {34, 4, 257, 0, 0, 0, 0}, {8, 34, 514, 1282, 0, 0, 0}, {12, 771, 20528, 0, 0, 0, 0}, {768, 4, 4096, 0, 0, 0, 0}, {170, 1285, 0, 0, 0, 0, 0}, {12, 768, 102, 1286, 0, 0, 0}, {8, 8192, 1799, 0, 0, 0, 0}, {8, 8192, 1792, 0, 0, 0, 0}, {12, 771, 102, 1285, 0, 0, 0}, {170, 1290, 0, 0, 0, 0, 0}, {771, 4, 4144, 0, 0, 0, 0}, {12, 768, 20480, 0, 0, 0, 0}, {8, 34, 514, 1285, 0, 0, 0}, {34, 4, 258, 0, 0, 0, 0}, {3855, 20720, 0, 0, 0, 0, 0}, {3888, 64, 4112, 0, 0, 0, 0}, {34, 68, 1297, 4369, 0, 0, 0}, {34, 72, 1298, 4626, 0, 0, 0}, {3891, 76, 4883, 0, 0, 0, 0}, {3900, 68, 5140, 0, 0, 0, 0}, {42, 64, 1301, 4096, 0, 0, 0}, {42, 76, 1302, 4864, 0, 0, 0}, {3903, 72, 5911, 0, 0, 0, 0}, {3888, 72, 5928, 0, 0, 0, 0}, {42, 76, 1305, 4889, 0, 0, 0}, {42, 64, 1306, 4122, 0, 0, 0}, {3891, 68, 5160, 0, 0, 0, 0}, {3900, 76, 4896, 0, 0, 0, 0}, {34, 72, 1309, 4608, 0, 0, 0}, {34, 68, 1310, 4352, 0, 0, 0}, {3903, 64, 4128, 0, 0, 0, 0}, {128, 3840, 8224, 20512, 0, 0, 0}, {12, 34, 771, 68, 1283, 4369, 0}, {34, 1280, 0, 0, 0, 0, 0}, {12, 771, 64, 4112, 0, 0, 0}, {12, 768, 68, 5156, 0, 0, 0}, {42, 1295, 0, 0, 0, 0, 0}, {12, 38, 768, 64, 1280, 4096, 0}, {136, 3855, 10023, 20560, 0, 0, 0}, {136, 3840, 10024, 20520, 0, 0, 0}, {12, 38, 771, 64, 1283, 4118, 0}, {42, 1280, 0, 0, 0, 0, 0}, {12, 771, 68, 5140, 0, 0, 0}, {12, 768, 64, 4128, 0, 0, 0}, {34, 1295, 0, 0, 0, 0, 0}, {12, 34, 768, 68, 1280, 4352, 0}, {128, 3855, 8224, 20560, 0, 0, 0}, {192, 3888, 12336, 20528, 0, 0, 0}, {8, 34, 514, 68, 1299, 4369, 0}, {8, 34, 514, 64, 1296, 4112, 0}, {204, 3891, 13107, 20480, 0, 0, 0}, {8, 68, 1844, 4864, 0, 0, 0}, {12288, 106, 1333, 0, 0, 0, 0}, {13056, 102, 1334, 0, 0, 0, 0}, {8, 64, 1847, 4096, 0, 0, 0}, {8, 64, 1840, 4144, 0, 0, 0}, {13107, 102, 1337, 0, 0, 0, 0}, {12336, 106, 1338, 0, 0, 0, 0}, {8, 68, 1843, 4915, 0, 0, 0}, {204, 3900, 13056, 20540, 0, 0, 0}, {8, 34, 514, 64, 1303, 4098, 0}, {8, 34, 514, 68, 1300, 4352, 0}, {192, 3903, 12288, 20480, 0, 0, 0}, {3840, 64, 4096, 0, 0, 0, 0}, {34, 68, 1285, 4369, 0, 0, 0}, {34, 72, 1290, 4608, 0, 0, 0}, {3855, 76, 4915, 0, 0, 0, 0}, {3840, 68, 5120, 0, 0, 0, 0}, {42, 64, 1285, 4112, 0, 0, 0}, {42, 76, 1290, 4874, 0, 0, 0}, {3855, 72, 5951, 0, 0, 0, 0}, {3840, 72, 5888, 0, 0, 0, 0}, {42, 76, 1285, 4883, 0, 0, 0}, {42, 64, 1290, 4106, 0, 0, 0}, {3855, 68, 5180, 0, 0, 0, 0}, {3840, 76, 4864, 0, 0, 0, 0}, {34, 72, 1285, 4626, 0, 0, 0}, {34, 68, 1290, 4352, 0, 0, 0}, {3855, 64, 4144, 0, 0, 0, 0}, {4080, 20560, 0, 0, 0, 0, 0}, {34, 4, 273, 0, 0, 0, 0}, {8, 34, 512, 1362, 0, 0, 0}, {12, 819, 20576, 0, 0, 0, 0}, {816, 4, 4112, 0, 0, 0, 0}, {170, 1365, 0, 0, 0, 0, 0}, {12, 816, 102, 1328, 0, 0, 0}, {8, 8224, 1911, 0, 0, 0, 0}, {8, 8224, 1904, 0, 0, 0, 0}, {12, 819, 102, 1331, 0, 0, 0}, {170, 1370, 0, 0, 0, 0, 0}, {819, 4, 4128, 0, 0, 0, 0}, {12, 816, 20560, 0, 0, 0, 0}, {8, 34, 512, 1365, 0, 0, 0}, {34, 4, 274, 0, 0, 0, 0}, {4095, 20640, 0, 0, 0, 0, 0}, {192, 3840, 12288, 20576, 0, 0, 0}, {8, 34, 512, 68, 1287, 4369, 0}, {8, 34, 512, 64, 1280, 4096, 0}, {204, 3855, 13107, 20560, 0, 0, 0}, {8, 68, 1792, 4896, 0, 0, 0}, {12336, 106, 1295, 0, 0, 0, 0}, {13056, 102, 1280, 0, 0, 0, 0}, {8, 64, 1799, 4112, 0, 0, 0}, {8, 64, 1792, 4128, 0, 0, 0}, {13107, 102, 1295, 0, 0, 0, 0}, {12288, 106, 1280, 0, 0, 0, 0}, {8, 68, 1799, 4883, 0, 0, 0}, {204, 3840, 13056, 20588, 0, 0, 0}, {8, 34, 512, 64, 1287, 4114, 0}, {8, 34, 512, 68, 1280, 4352, 0}, {192, 3855, 12336, 20560, 0, 0, 0}, {128, 3952, 8192, 20592, 0, 0, 0}, {12, 34, 785, 68, 1303, 4369, 0}, {34, 1360, 0, 0, 0, 0, 0}, {12, 819, 64, 4096, 0, 0, 0}, {12, 816, 68, 5168, 0, 0, 0}, {42, 1375, 0, 0, 0, 0, 0}, {12, 38, 790, 64, 1296, 4112, 0}, {136, 3959, 10103, 20480, 0, 0, 0}, {136, 3960, 10104, 20600, 0, 0, 0}, {12, 38, 789, 64, 1299, 4102, 0}, {42, 1360, 0, 0, 0, 0, 0}, {12, 819, 68, 5120, 0, 0, 0}, {12, 816, 64, 4144, 0, 0, 0}, {34, 1375, 0, 0, 0, 0, 0}, {12, 34, 786, 68, 1300, 4352, 0}, {128, 3967, 8192, 20480, 0, 0, 0}, {128, 3840, 8192, 20480, 0, 0, 0}, {12, 34, 771, 68, 1285, 4369, 0}, {34, 1290, 0, 0, 0, 0, 0}, {12, 771, 64, 4144, 0, 0, 0}, {12, 768, 68, 5120, 0, 0, 0}, {42, 1285, 0, 0, 0, 0, 0}, {12, 38, 768, 64, 1286, 4102, 0}, {136, 3855, 9999, 20600, 0, 0, 0}, {136, 3840, 9984, 20480, 0, 0, 0}, {12, 38, 771, 64, 1285, 4112, 0}, {42, 1290, 0, 0, 0, 0, 0}, {12, 771, 68, 5168, 0, 0, 0}, {12, 768, 64, 4096, 0, 0, 0}, {34, 1285, 0, 0, 0, 0, 0}, {12, 34, 768, 68, 1286, 4352, 0}, {128, 3855, 8192, 20592, 0, 0, 0}, {192, 3888, 12336, 20560, 0, 0, 0}, {8, 34, 512, 68, 1297, 4369, 0}, {8, 34, 512, 64, 1298, 4114, 0}, {204, 3891, 13107, 20588, 0, 0, 0}, {8, 68, 1844, 4896, 0, 0, 0}, {12288, 106, 1343, 0, 0, 0, 0}, {13056, 102, 1340, 0, 0, 0, 0}, {8, 64, 1847, 4128, 0, 0, 0}, {8, 64, 1840, 4112, 0, 0, 0}, {13107, 102, 1331, 0, 0, 0, 0}, {12336, 106, 1328, 0, 0, 0, 0}, {8, 68, 1843, 4883, 0, 0, 0}, {204, 3900, 13056, 20560, 0, 0, 0}, {8, 34, 512, 64, 1301, 4096, 0}, {8, 34, 512, 68, 1302, 4352, 0}, {192, 3903, 12288, 20576, 0, 0, 0}, {3840, 20640, 0, 0, 0, 0, 0}, {34, 4, 259, 0, 0, 0, 0}, {8, 34, 512, 1280, 0, 0, 0}, {12, 771, 20560, 0, 0, 0, 0}, {768, 4, 4128, 0, 0, 0, 0}, {170, 1295, 0, 0, 0, 0, 0}, {12, 768, 102, 1280, 0, 0, 0}, {8, 8224, 1799, 0, 0, 0, 0}, {8, 8224, 1792, 0, 0, 0, 0}, {12, 771, 102, 1283, 0, 0, 0}, {170, 1280, 0, 0, 0, 0, 0}, {771, 4, 4112, 0, 0, 0, 0}, {12, 768, 20576, 0, 0, 0, 0}, {8, 34, 512, 1287, 0, 0, 0}, {34, 4, 256, 0, 0, 0, 0}, {3855, 20560, 0, 0, 0, 0, 0}, {3888, 64, 4144, 0, 0, 0, 0}, {34, 68, 1307, 4369, 0, 0, 0}, {34, 72, 1304, 4626, 0, 0, 0}, {3891, 76, 4915, 0, 0, 0, 0}, {3900, 68, 5180, 0, 0, 0, 0}, {42, 64, 1311, 4106, 0, 0, 0}, {42, 76, 1308, 4874, 0, 0, 0}, {3903, 72, 5951, 0, 0, 0, 0}, {3888, 72, 5888, 0, 0, 0, 0}, {42, 76, 1299, 4883, 0, 0, 0}, {42, 64, 1296, 4112, 0, 0, 0}, {3891, 68, 5120, 0, 0, 0, 0}, {3900, 76, 4864, 0, 0, 0, 0}, {34, 72, 1303, 4608, 0, 0, 0}, {34, 68, 1300, 4352, 0, 0, 0}, {3903, 64, 4096, 0, 0, 0, 0}, {192, 3840, 12288, 20480, 0, 0, 0}, {8, 34, 514, 68, 1285, 4369, 0}, {8, 34, 514, 64, 1282, 4098, 0}, {204, 3855, 13107, 20540, 0, 0, 0}, {8, 68, 1792, 4864, 0, 0, 0}, {12336, 106, 1285, 0, 0, 0, 0}, {13056, 102, 1290, 0, 0, 0, 0}, {8, 64, 1799, 4144, 0, 0, 0}, {8, 64, 1792, 4096, 0, 0, 0}, {13107, 102, 1285, 0, 0, 0, 0}, {12288, 106, 1290, 0, 0, 0, 0}, {8, 68, 1799, 4915, 0, 0, 0}, {204, 3840, 13056, 20480, 0, 0, 0}, {8, 34, 514, 64, 1285, 4112, 0}, {8, 34, 514, 68, 1282, 4352, 0}, {192, 3855, 12336, 20528, 0, 0, 0}, {128, 3952, 8224, 20560, 0, 0, 0}, {12, 34, 785, 68, 1297, 4369, 0}, {34, 1370, 0, 0, 0, 0, 0}, {12, 819, 64, 4128, 0, 0, 0}, {12, 816, 68, 5140, 0, 0, 0}, {42, 1365, 0, 0, 0, 0, 0}, {12, 38, 790, 64, 1302, 4118, 0}, {136, 3959, 10079, 20520, 0, 0, 0}, {136, 3960, 10064, 20560, 0, 0, 0}, {12, 38, 789, 64, 1301, 4096, 0}, {42, 1370, 0, 0, 0, 0, 0}, {12, 819, 68, 5156, 0, 0, 0}, {12, 816, 64, 4112, 0, 0, 0}, {34, 1365, 0, 0, 0, 0, 0}, {12, 34, 786, 68, 1298, 4352, 0}, {128, 3967, 8224, 20512, 0, 0, 0}, {3840, 64, 4128, 0, 0, 0, 0}, {34, 68, 1295, 4369, 0, 0, 0}, {34, 72, 1280, 4608, 0, 0, 0}, {3855, 76, 4883, 0, 0, 0, 0}, {3840, 68, 5160, 0, 0, 0, 0}, {42, 64, 1295, 4122, 0, 0, 0}, {42, 76, 1280, 4864, 0, 0, 0}, {3855, 72, 5911, 0, 0, 0, 0}, {3840, 72, 5928, 0, 0, 0, 0}, {42, 76, 1295, 4889, 0, 0, 0}, {42, 64, 1280, 4096, 0, 0, 0}, {3855, 68, 5140, 0, 0, 0, 0}, {3840, 76, 4896, 0, 0, 0, 0}, {34, 72, 1295, 4626, 0, 0, 0}, {34, 68, 1280, 4352, 0, 0, 0}, {3855, 64, 4112, 0, 0, 0, 0}, {4080, 20720, 0, 0, 0, 0, 0}, {34, 4, 275, 0, 0, 0, 0}, {8, 34, 514, 1360, 0, 0, 0}, {12, 819, 20480, 0, 0, 0, 0}, {816, 4, 4144, 0, 0, 0, 0}, {170, 1375, 0, 0, 0, 0, 0}, {12, 816, 102, 1334, 0, 0, 0}, {8, 8192, 1911, 0, 0, 0, 0}, {8, 8192, 1904, 0, 0, 0, 0}, {12, 819, 102, 1333, 0, 0, 0}, {170, 1360, 0, 0, 0, 0, 0}, {819, 4, 4096, 0, 0, 0, 0}, {12, 816, 20528, 0, 0, 0, 0}, {8, 34, 514, 1367, 0, 0, 0}, {34, 4, 272, 0, 0, 0, 0}, {4095, 20480, 0, 0, 0, 0, 0}, {12288, 16384, 0, 0, 0, 0, 0}, {10, 17, 257, 0, 0, 0, 0}, {10, 34, 514, 4098, 0, 0, 0}, {51, 771, 16396, 0, 0, 0, 0}, {12300, 68, 1028, 0, 0, 0, 0}, {10, 85, 1285, 4101, 0, 0, 0}, {10, 102, 1542, 4102, 0, 0, 0}, {12303, 119, 1799, 0, 0, 0, 0}, {136, 2056, 12288, 16392, 0, 0, 0}, {10, 51, 771, 85, 1285, 4099, 0}, {10, 4096, 0, 0, 0, 0, 0}, {51, 771, 68, 1028, 0, 0, 0}, {204, 3084, 12300, 16396, 0, 0, 0}, {10, 34, 514, 85, 1285, 4103, 0}, {10, 34, 514, 68, 1028, 4100, 0}, {255, 3855, 12303, 16384, 0, 0, 0}, {160, 4112, 0, 0, 0, 0, 0}, {768, 1024, 17, 0, 0, 0, 0}, {2048, 34, 4626, 0, 0, 0, 0}, {51, 768, 95, 4115, 0, 0, 0}, {40, 68, 1024, 4116, 0, 0, 0}, {3840, 85, 5397, 0, 0, 0, 0}, {3072, 102, 5654, 0, 0, 0, 0}, {40, 95, 1792, 4119, 0, 0, 0}, {2048, 40, 4120, 0, 0, 0, 0}, {51, 768, 85, 5401, 0, 0, 0}, {170, 6682, 12336, 16448, 0, 0, 0}, {27, 51, 768, 68, 1024, 4096, 0}, {3072, 108, 4124, 0, 0, 0, 0}, {34, 85, 1792, 4637, 0, 0, 0}, {34, 68, 1024, 4638, 0, 0, 0}, {3840, 95, 4127, 0, 0, 0, 0}, {160, 4128, 0, 0, 0, 0, 0}, {771, 1036, 17, 0, 0, 0, 0}, {2048, 34, 4608, 0, 0, 0, 0}, {51, 771, 95, 4112, 0, 0, 0}, {40, 68, 1036, 4108, 0, 0, 0}, {3855, 85, 5418, 0, 0, 0, 0}, {3084, 102, 5674, 0, 0, 0, 0}, {40, 95, 1807, 4111, 0, 0, 0}, {2048, 40, 4096, 0, 0, 0, 0}, {51, 771, 85, 5397, 0, 0, 0}, {170, 6698, 12288, 16426, 0, 0, 0}, {27, 51, 771, 68, 1047, 4099, 0}, {3084, 108, 4140, 0, 0, 0, 0}, {34, 85, 1807, 4623, 0, 0, 0}, {34, 68, 1036, 4620, 0, 0, 0}, {3855, 95, 4143, 0, 0, 0, 0}, {12336, 16576, 0, 0, 0, 0, 0}, {10, 17, 258, 0, 0, 0, 0}, {10, 34, 514, 4112, 0, 0, 0}, {51, 768, 16384, 0, 0, 0, 0}, {12348, 68, 1032, 0, 0, 0, 0}, {10, 85, 1280, 4149, 0, 0, 0}, {10, 102, 1536, 4150, 0, 0, 0}, {12351, 119, 1800, 0, 0, 0, 0}, {136, 2056, 12336, 16448, 0, 0, 0}, {10, 51, 768, 85, 1280, 4096, 0}, {10, 4144, 0, 0, 0, 0, 0}, {51, 768, 68, 1032, 0, 0, 0}, {204, 3072, 12348, 16384, 0, 0, 0}, {10, 34, 514, 85, 1280, 4117, 0}, {10, 34, 514, 68, 1026, 4118, 0}, {255, 3840, 12351, 16447, 0, 0, 0}, {12480, 16448, 0, 0, 0, 0, 0}, {10, 17, 261, 0, 0, 0, 0}, {10, 34, 512, 4162, 0, 0, 0}, {51, 783, 16460, 0, 0, 0, 0}, {12288, 68, 1024, 0, 0, 0, 0}, {10, 85, 1285, 4112, 0, 0, 0}, {10, 102, 1536, 4128, 0, 0, 0}, {12336, 119, 1807, 0, 0, 0, 0}, {136, 2048, 12360, 16456, 0, 0, 0}, {10, 51, 773, 85, 1285, 4118, 0}, {10, 4160, 0, 0, 0, 0, 0}, {51, 783, 68, 1024, 0, 0, 0}, {204, 3072, 12288, 16460, 0, 0, 0}, {10, 34, 512, 85, 1285, 4114, 0}, {10, 34, 512, 68, 1024, 4096, 0}, {255, 3855, 12336, 16448, 0, 0, 0}, {160, 4176, 0, 0, 0, 0, 0}, {780, 1028, 17, 0, 0, 0, 0}, {2056, 34, 4698, 0, 0, 0, 0}, {51, 780, 95, 4108, 0, 0, 0}, {40, 68, 1028, 4112, 0, 0, 0}, {3840, 85, 5376, 0, 0, 0, 0}, {3084, 102, 5692, 0, 0, 0, 0}, {40, 95, 1800, 4104, 0, 0, 0}, {2056, 40, 4184, 0, 0, 0, 0}, {51, 780, 85, 5388, 0, 0, 0}, {170, 6746, 12378, 16384, 0, 0, 0}, {27, 51, 791, 68, 1028, 4100, 0}, {3084, 108, 4144, 0, 0, 0, 0}, {34, 85, 1800, 4608, 0, 0, 0}, {34, 68, 1028, 4626, 0, 0, 0}, {3840, 95, 4096, 0, 0, 0, 0}, {160, 4192, 0, 0, 0, 0, 0}, {783, 1032, 17, 0, 0, 0, 0}, {2056, 34, 4680, 0, 0, 0, 0}, {51, 783, 95, 4111, 0, 0, 0}, {40, 68, 1032, 4104, 0, 0, 0}, {3855, 85, 5439, 0, 0, 0, 0}, {3072, 102, 5632, 0, 0, 0, 0}, {40, 95, 1799, 4112, 0, 0, 0}, {2056, 40, 4160, 0, 0, 0, 0}, {51, 783, 85, 5376, 0, 0, 0}, {170, 6762, 12394, 16490, 0, 0, 0}, {27, 51, 788, 68, 1043, 4103, 0}, {3072, 108, 4096, 0, 0, 0, 0}, {34, 85, 1799, 4626, 0, 0, 0}, {34, 68, 1032, 4608, 0, 0, 0}, {3855, 95, 4144, 0, 0, 0, 0}, {12528, 16512, 0, 0, 0, 0, 0}, {10, 17, 262, 0, 0, 0, 0}, {10, 34, 512, 4176, 0, 0, 0}, {51, 780, 16448, 0, 0, 0, 0}, {12336, 68, 1036, 0, 0, 0, 0}, {10, 85, 1280, 4128, 0, 0, 0}, {10, 102, 1542, 4112, 0, 0, 0}, {12288, 119, 1792, 0, 0, 0, 0}, {136, 2048, 12408, 16384, 0, 0, 0}, {10, 51, 774, 85, 1280, 4117, 0}, {10, 4208, 0, 0, 0, 0, 0}, {51, 780, 68, 1036, 0, 0, 0}, {204, 3084, 12336, 16448, 0, 0, 0}, {10, 34, 512, 85, 1280, 4096, 0}, {10, 34, 512, 68, 1030, 4114, 0}, {255, 3840, 12288, 16511, 0, 0, 0}, {12288, 16512, 0, 0, 0, 0, 0}, {10, 17, 259, 0, 0, 0, 0}, {10, 34, 512, 4096, 0, 0, 0}, {51, 771, 16448, 0, 0, 0, 0}, {12300, 68, 1036, 0, 0, 0, 0}, {10, 85, 1285, 4133, 0, 0, 0}, {10, 102, 1542, 4134, 0, 0, 0}, {12303, 119, 1807, 0, 0, 0, 0}, {136, 2048, 12288, 16384, 0, 0, 0}, {10, 51, 771, 85, 1285, 4112, 0}, {10, 4128, 0, 0, 0, 0, 0}, {51, 771, 68, 1036, 0, 0, 0}, {204, 3084, 12300, 16448, 0, 0, 0}, {10, 34, 512, 85, 1285, 4101, 0}, {10, 34, 512, 68, 1030, 4102, 0}, {255, 3855, 12303, 16511, 0, 0, 0}, {160, 4144, 0, 0, 0, 0, 0}, {768, 1032, 17, 0, 0, 0, 0}, {2056, 34, 4626, 0, 0, 0, 0}, {51, 768, 95, 4096, 0, 0, 0}, {40, 68, 1032, 4124, 0, 0, 0}, {3840, 85, 5439, 0, 0, 0, 0}, {3072, 102, 5692, 0, 0, 0, 0}, {40, 95, 1800, 4127, 0, 0, 0}, {2056, 40, 4112, 0, 0, 0, 0}, {51, 768, 85, 5376, 0, 0, 0}, {170, 6704, 12336, 16490, 0, 0, 0}, {27, 51, 768, 68, 1043, 4115, 0}, {3072, 108, 4156, 0, 0, 0, 0}, {34, 85, 1800, 4637, 0, 0, 0}, {34, 68, 1032, 4638, 0, 0, 0}, {3840, 95, 4159, 0, 0, 0, 0}, {160, 4096, 0, 0, 0, 0, 0}, {771, 1028, 17, 0, 0, 0, 0}, {2056, 34, 4608, 0, 0, 0, 0}, {51, 771, 95, 4099, 0, 0, 0}, {40, 68, 1028, 4100, 0, 0, 0}, {3855, 85, 5376, 0, 0, 0, 0}, {3084, 102, 5632, 0, 0, 0, 0}, {40, 95, 1799, 4103, 0, 0, 0}, {2056, 40, 4104, 0, 0, 0, 0}, {51, 771, 85, 5388, 0, 0, 0}, {170, 6656, 12288, 16384, 0, 0, 0}, {27, 51, 771, 68, 1028, 4112, 0}, {3084, 108, 4108, 0, 0, 0, 0}, {34, 85, 1799, 4623, 0, 0, 0}, {34, 68, 1028, 4620, 0, 0, 0}, {3855, 95, 4111, 0, 0, 0, 0}, {12336, 16448, 0, 0, 0, 0, 0}, {10, 17, 256, 0, 0, 0, 0}, {10, 34, 512, 4114, 0, 0, 0}, {51, 768, 16460, 0, 0, 0, 0}, {12348, 68, 1024, 0, 0, 0, 0}, {10, 85, 1280, 4117, 0, 0, 0}, {10, 102, 1536, 4118, 0, 0, 0}, {12351, 119, 1792, 0, 0, 0, 0}, {136, 2048, 12336, 16456, 0, 0, 0}, {10, 51, 768, 85, 1280, 4115, 0}, {10, 4112, 0, 0, 0, 0, 0}, {51, 768, 68, 1024, 0, 0, 0}, {204, 3072, 12348, 16460, 0, 0, 0}, {10, 34, 512, 85, 1280, 4119, 0}, {10, 34, 512, 68, 1024, 4116, 0}, {255, 3840, 12351, 16448, 0, 0, 0}, {12480, 16576, 0, 0, 0, 0, 0}, {10, 17, 263, 0, 0, 0, 0}, {10, 34, 514, 4160, 0, 0, 0}, {51, 783, 16384, 0, 0, 0, 0}, {12288, 68, 1032, 0, 0, 0, 0}, {10, 85, 1285, 4144, 0, 0, 0}, {10, 102, 1536, 4096, 0, 0, 0}, {12336, 119, 1799, 0, 0, 0, 0}, {136, 2056, 12360, 16448, 0, 0, 0}, {10, 51, 773, 85, 1285, 4101, 0}, {10, 4192, 0, 0, 0, 0, 0}, {51, 783, 68, 1032, 0, 0, 0}, {204, 3072, 12288, 16384, 0, 0, 0}, {10, 34, 514, 85, 1285, 4112, 0}, {10, 34, 514, 68, 1026, 4098, 0}, {255, 3855, 12336, 16447, 0, 0, 0}, {160, 4208, 0, 0, 0, 0, 0}, {780, 1036, 17, 0, 0, 0, 0}, {2048, 34, 4698, 0, 0, 0, 0}, {51, 780, 95, 4127, 0, 0, 0}, {40, 68, 1036, 4120, 0, 0, 0}, {3840, 85, 5418, 0, 0, 0, 0}, {3084, 102, 5654, 0, 0, 0, 0}, {40, 95, 1792, 4096, 0, 0, 0}, {2048, 40, 4176, 0, 0, 0, 0}, {51, 780, 85, 5397, 0, 0, 0}, {170, 6768, 12378, 16426, 0, 0, 0}, {27, 51, 791, 68, 1047, 4119, 0}, {3084, 108, 4112, 0, 0, 0, 0}, {34, 85, 1792, 4608, 0, 0, 0}, {34, 68, 1036, 4626, 0, 0, 0}, {3840, 95, 4128, 0, 0, 0, 0}, {160, 4160, 0, 0, 0, 0, 0}, {783, 1024, 17, 0, 0, 0, 0}, {2048, 34, 4680, 0, 0, 0, 0}, {51, 783, 95, 4124, 0, 0, 0}, {40, 68, 1024, 4096, 0, 0, 0}, {3855, 85, 5397, 0, 0, 0, 0}, {3072, 102, 5674, 0, 0, 0, 0}, {40, 95, 1807, 4120, 0, 0, 0}, {2048, 40, 4168, 0, 0, 0, 0}, {51, 783, 85, 5401, 0, 0, 0}, {170, 6720, 12394, 16448, 0, 0, 0}, {27, 51, 788, 68, 1024, 4116, 0}, {3072, 108, 4128, 0, 0, 0, 0}, {34, 85, 1807, 4626, 0, 0, 0}, {34, 68, 1024, 4608, 0, 0, 0}, {3855, 95, 4112, 0, 0, 0, 0}, {12528, 16384, 0, 0, 0, 0, 0}, {10, 17, 260, 0, 0, 0, 0}, {10, 34, 514, 4178, 0, 0, 0}, {51, 780, 16396, 0, 0, 0, 0}, {12336, 68, 1028, 0, 0, 0, 0}, {10, 85, 1280, 4096, 0, 0, 0}, {10, 102, 1542, 4144, 0, 0, 0}, {12288, 119, 1800, 0, 0, 0, 0}, {136, 2056, 12408, 16392, 0, 0, 0}, {10, 51, 774, 85, 1280, 4102, 0}, {10, 4176, 0, 0, 0, 0, 0}, {51, 780, 68, 1028, 0, 0, 0}, {204, 3084, 12336, 16396, 0, 0, 0}, {10, 34, 514, 85, 1280, 4098, 0}, {10, 34, 514, 68, 1028, 4112, 0}, {255, 3840, 12288, 16384, 0, 0, 0}, {2560, 4352, 0, 0, 0, 0, 0}, {48, 64, 257, 0, 0, 0, 0}, {128, 514, 4386, 0, 0, 0, 0}, {48, 771, 1295, 4355, 0, 0, 0}, {520, 64, 1028, 4356, 0, 0, 0}, {240, 1285, 4437, 0, 0, 0, 0}, {192, 1542, 4454, 0, 0, 0, 0}, {520, 112, 1295, 4359, 0, 0, 0}, {128, 520, 4360, 0, 0, 0, 0}, {48, 771, 1285, 4441, 0, 0, 0}, {4522, 2570, 13056, 17408, 0, 0, 0}, {267, 48, 771, 64, 1028, 4096, 0}, {192, 1548, 4364, 0, 0, 0, 0}, {514, 112, 1285, 4397, 0, 0, 0}, {514, 64, 1028, 4398, 0, 0, 0}, {240, 1295, 4367, 0, 0, 0, 0}, {48, 64, 272, 0, 0, 0, 0}, {2730, 4369, 0, 0, 0, 0, 0}, {48, 768, 1370, 4370, 0, 0, 0}, {128, 544, 4403, 0, 0, 0, 0}, {240, 1360, 4420, 0, 0, 0, 0}, {554, 64, 1024, 4373, 0, 0, 0}, {554, 112, 1322, 4374, 0, 0, 0}, {192, 1632, 4471, 0, 0, 0, 0}, {48, 768, 1360, 4424, 0, 0, 0}, {128, 554, 4377, 0, 0, 0, 0}, {282, 48, 768, 64, 1024, 4096, 0}, {4539, 6939, 13107, 17476, 0, 0, 0}, {544, 112, 1312, 4412, 0, 0, 0}, {192, 1642, 4381, 0, 0, 0, 0}, {240, 1370, 4382, 0, 0, 0, 0}, {544, 64, 1024, 4415, 0, 0, 0}, {128, 544, 4352, 0, 0, 0, 0}, {48, 771, 1365, 4369, 0, 0, 0}, {2730, 4386, 0, 0, 0, 0, 0}, {48, 64, 275, 0, 0, 0, 0}, {192, 1644, 4420, 0, 0, 0, 0}, {554, 112, 1317, 4389, 0, 0, 0}, {554, 64, 1036, 4390, 0, 0, 0}, {240, 1375, 4471, 0, 0, 0, 0}, {4488, 6952, 13056, 21760, 0, 0, 0}, {281, 48, 771, 64, 1301, 4096, 0}, {128, 554, 4394, 0, 0, 0, 0}, {48, 771, 1375, 4427, 0, 0, 0}, {544, 64, 1036, 4364, 0, 0, 0}, {240, 1365, 4397, 0, 0, 0, 0}, {192, 1638, 4398, 0, 0, 0, 0}, {544, 112, 1327, 4367, 0, 0, 0}, {48, 768, 1280, 4352, 0, 0, 0}, {128, 514, 4369, 0, 0, 0, 0}, {48, 64, 258, 0, 0, 0, 0}, {2560, 4403, 0, 0, 0, 0, 0}, {520, 112, 1280, 4404, 0, 0, 0}, {192, 1546, 4437, 0, 0, 0, 0}, {240, 1290, 4454, 0, 0, 0, 0}, {520, 64, 1032, 4407, 0, 0, 0}, {264, 48, 768, 64, 1280, 4096, 0}, {4505, 2570, 13107, 21845, 0, 0, 0}, {48, 768, 1290, 4442, 0, 0, 0}, {128, 520, 4411, 0, 0, 0, 0}, {240, 1280, 4412, 0, 0, 0, 0}, {514, 64, 1032, 4381, 0, 0, 0}, {514, 112, 1290, 4382, 0, 0, 0}, {192, 1536, 4415, 0, 0, 0, 0}, {512, 64, 1024, 4352, 0, 0, 0}, {240, 1285, 4369, 0, 0, 0, 0}, {192, 1546, 4386, 0, 0, 0, 0}, {512, 112, 1295, 4403, 0, 0, 0}, {2560, 4420, 0, 0, 0, 0, 0}, {48, 64, 261, 0, 0, 0, 0}, {128, 522, 4454, 0, 0, 0, 0}, {48, 783, 1295, 4423, 0, 0, 0}, {192, 1536, 4424, 0, 0, 0, 0}, {522, 112, 1285, 4377, 0, 0, 0}, {522, 64, 1024, 4394, 0, 0, 0}, {240, 1295, 4427, 0, 0, 0, 0}, {128, 512, 4428, 0, 0, 0, 0}, {48, 783, 1285, 4381, 0, 0, 0}, {4590, 2570, 8738, 17476, 0, 0, 0}, {271, 48, 512, 64, 1024, 4096, 0}, {240, 1360, 4352, 0, 0, 0, 0}, {546, 64, 1028, 4369, 0, 0, 0}, {546, 112, 1322, 4386, 0, 0, 0}, {192, 1644, 4403, 0, 0, 0, 0}, {48, 64, 276, 0, 0, 0, 0}, {2730, 4437, 0, 0, 0, 0, 0}, {48, 780, 1370, 4438, 0, 0, 0}, {128, 552, 4471, 0, 0, 0, 0}, {552, 112, 1312, 4360, 0, 0, 0}, {192, 1638, 4441, 0, 0, 0, 0}, {240, 1370, 4442, 0, 0, 0, 0}, {552, 64, 1028, 4411, 0, 0, 0}, {48, 780, 1360, 4364, 0, 0, 0}, {128, 546, 4445, 0, 0, 0, 0}, {286, 48, 530, 64, 1028, 4096, 0}, {4607, 7007, 8704, 17408, 0, 0, 0}, {192, 1632, 4352, 0, 0, 0, 0}, {546, 112, 1317, 4369, 0, 0, 0}, {546, 64, 1032, 4386, 0, 0, 0}, {240, 1375, 4403, 0, 0, 0, 0}, {128, 552, 4420, 0, 0, 0, 0}, {48, 783, 1365, 4437, 0, 0, 0}, {2730, 4454, 0, 0, 0, 0, 0}, {48, 64, 279, 0, 0, 0, 0}, {552, 64, 1032, 4360, 0, 0, 0}, {240, 1365, 4457, 0, 0, 0, 0}, {192, 1642, 4458, 0, 0, 0, 0}, {552, 112, 1327, 4411, 0, 0, 0}, {4556, 7020, 8704, 21760, 0, 0, 0}, {285, 48, 530, 64, 1301, 4096, 0}, {128, 546, 4462, 0, 0, 0, 0}, {48, 783, 1375, 4367, 0, 0, 0}, {512, 112, 1280, 4352, 0, 0, 0}, {192, 1542, 4369, 0, 0, 0, 0}, {240, 1290, 4386, 0, 0, 0, 0}, {512, 64, 1036, 4403, 0, 0, 0}, {48, 780, 1280, 4420, 0, 0, 0}, {128, 522, 4437, 0, 0, 0, 0}, {48, 64, 262, 0, 0, 0, 0}, {2560, 4471, 0, 0, 0, 0, 0}, {240, 1280, 4472, 0, 0, 0, 0}, {522, 64, 1036, 4377, 0, 0, 0}, {522, 112, 1290, 4394, 0, 0, 0}, {192, 1548, 4475, 0, 0, 0, 0}, {268, 48, 512, 64, 1280, 4096, 0}, {4573, 2570, 8738, 21845, 0, 0, 0}, {48, 780, 1290, 4382, 0, 0, 0}, {128, 512, 4479, 0, 0, 0, 0}, {128, 512, 4352, 0, 0, 0, 0}, {48, 771, 1285, 4369, 0, 0, 0}, {2570, 4386, 0, 0, 0, 0, 0}, {48, 64, 259, 0, 0, 0, 0}, {192, 1548, 4420, 0, 0, 0, 0}, {522, 112, 1285, 4389, 0, 0, 0}, {522, 64, 1036, 4390, 0, 0, 0}, {240, 1295, 4471, 0, 0, 0, 0}, {4488, 2560, 13056, 21760, 0, 0, 0}, {265, 48, 771, 64, 1285, 4112, 0}, {128, 522, 4394, 0, 0, 0, 0}, {48, 771, 1295, 4427, 0, 0, 0}, {512, 64, 1036, 4364, 0, 0, 0}, {240, 1285, 4397, 0, 0, 0, 0}, {192, 1542, 4398, 0, 0, 0, 0}, {512, 112, 1295, 4367, 0, 0, 0}, {48, 768, 1360, 4352, 0, 0, 0}, {128, 546, 4369, 0, 0, 0, 0}, {48, 64, 274, 0, 0, 0, 0}, {2720, 4403, 0, 0, 0, 0, 0}, {552, 112, 1312, 4404, 0, 0, 0}, {192, 1642, 4437, 0, 0, 0, 0}, {240, 1370, 4454, 0, 0, 0, 0}, {552, 64, 1032, 4407, 0, 0, 0}, {280, 48, 768, 64, 1296, 4112, 0}, {4505, 6963, 13107, 21845, 0, 0, 0}, {48, 768, 1370, 4442, 0, 0, 0}, {128, 552, 4411, 0, 0, 0, 0}, {240, 1360, 4412, 0, 0, 0, 0}, {546, 64, 1032, 4381, 0, 0, 0}, {546, 112, 1322, 4382, 0, 0, 0}, {192, 1632, 4415, 0, 0, 0, 0}, {2720, 4352, 0, 0, 0, 0, 0}, {48, 64, 273, 0, 0, 0, 0}, {128, 546, 4386, 0, 0, 0, 0}, {48, 771, 1375, 4355, 0, 0, 0}, {552, 64, 1028, 4356, 0, 0, 0}, {240, 1365, 4437, 0, 0, 0, 0}, {192, 1638, 4454, 0, 0, 0, 0}, {552, 112, 1327, 4359, 0, 0, 0}, {128, 552, 4360, 0, 0, 0, 0}, {48, 771, 1365, 4441, 0, 0, 0}, {4522, 6912, 13056, 17408, 0, 0, 0}, {283, 48, 771, 64, 1028, 4112, 0}, {192, 1644, 4364, 0, 0, 0, 0}, {546, 112, 1317, 4397, 0, 0, 0}, {546, 64, 1028, 4398, 0, 0, 0}, {240, 1375, 4367, 0, 0, 0, 0}, {48, 64, 256, 0, 0, 0, 0}, {2570, 4369, 0, 0, 0, 0, 0}, {48, 768, 1290, 4370, 0, 0, 0}, {128, 512, 4403, 0, 0, 0, 0}, {240, 1280, 4420, 0, 0, 0, 0}, {522, 64, 1024, 4373, 0, 0, 0}, {522, 112, 1290, 4374, 0, 0, 0}, {192, 1536, 4471, 0, 0, 0, 0}, {48, 768, 1280, 4424, 0, 0, 0}, {128, 522, 4377, 0, 0, 0, 0}, {266, 48, 768, 64, 1024, 4112, 0}, {4539, 2560, 13107, 17476, 0, 0, 0}, {512, 112, 1280, 4412, 0, 0, 0}, {192, 1546, 4381, 0, 0, 0, 0}, {240, 1290, 4382, 0, 0, 0, 0}, {512, 64, 1024, 4415, 0, 0, 0}, {192, 1536, 4352, 0, 0, 0, 0}, {514, 112, 1285, 4369, 0, 0, 0}, {514, 64, 1032, 4386, 0, 0, 0}, {240, 1295, 4403, 0, 0, 0, 0}, {128, 520, 4420, 0, 0, 0, 0}, {48, 783, 1285, 4437, 0, 0, 0}, {2570, 4454, 0, 0, 0, 0, 0}, {48, 64, 263, 0, 0, 0, 0}, {520, 64, 1032, 4360, 0, 0, 0}, {240, 1285, 4457, 0, 0, 0, 0}, {192, 1546, 4458, 0, 0, 0, 0}, {520, 112, 1295, 4411, 0, 0, 0}, {4556, 2560, 8704, 21760, 0, 0, 0}, {269, 48, 514, 64, 1285, 4112, 0}, {128, 514, 4462, 0, 0, 0, 0}, {48, 783, 1295, 4367, 0, 0, 0}, {544, 112, 1312, 4352, 0, 0, 0}, {192, 1638, 4369, 0, 0, 0, 0}, {240, 1370, 4386, 0, 0, 0, 0}, {544, 64, 1036, 4403, 0, 0, 0}, {48, 780, 1360, 4420, 0, 0, 0}, {128, 554, 4437, 0, 0, 0, 0}, {48, 64, 278, 0, 0, 0, 0}, {2720, 4471, 0, 0, 0, 0, 0}, {240, 1360, 4472, 0, 0, 0, 0}, {554, 64, 1036, 4377, 0, 0, 0}, {554, 112, 1322, 4394, 0, 0, 0}, {192, 1644, 4475, 0, 0, 0, 0}, {284, 48, 528, 64, 1296, 4112, 0}, {4573, 7031, 8738, 21845, 0, 0, 0}, {48, 780, 1370, 4382, 0, 0, 0}, {128, 544, 4479, 0, 0, 0, 0}, {544, 64, 1024, 4352, 0, 0, 0}, {240, 1365, 4369, 0, 0, 0, 0}, {192, 1642, 4386, 0, 0, 0, 0}, {544, 112, 1327, 4403, 0, 0, 0}, {2720, 4420, 0, 0, 0, 0, 0}, {48, 64, 277, 0, 0, 0, 0}, {128, 554, 4454, 0, 0, 0, 0}, {48, 783, 1375, 4423, 0, 0, 0}, {192, 1632, 4424, 0, 0, 0, 0}, {554, 112, 1317, 4377, 0, 0, 0}, {554, 64, 1024, 4394, 0, 0, 0}, {240, 1375, 4427, 0, 0, 0, 0}, {128, 544, 4428, 0, 0, 0, 0}, {48, 783, 1365, 4381, 0, 0, 0}, {4590, 6980, 8738, 17476, 0, 0, 0}, {287, 48, 528, 64, 1024, 4112, 0}, {240, 1280, 4352, 0, 0, 0, 0}, {514, 64, 1028, 4369, 0, 0, 0}, {514, 112, 1290, 4386, 0, 0, 0}, {192, 1548, 4403, 0, 0, 0, 0}, {48, 64, 260, 0, 0, 0, 0}, {2570, 4437, 0, 0, 0, 0, 0}, {48, 780, 1290, 4438, 0, 0, 0}, {128, 520, 4471, 0, 0, 0, 0}, {520, 112, 1280, 4360, 0, 0, 0}, {192, 1542, 4441, 0, 0, 0, 0}, {240, 1290, 4442, 0, 0, 0, 0}, {520, 64, 1028, 4411, 0, 0, 0}, {48, 780, 1280, 4364, 0, 0, 0}, {128, 514, 4445, 0, 0, 0, 0}, {270, 48, 514, 64, 1028, 4112, 0}, {4607, 2560, 8704, 17408, 0, 0, 0}, {2560, 4608, 0, 0, 0, 0, 0}, {51, 76, 257, 0, 0, 0, 0}, {128, 514, 4128, 0, 0, 0, 0}, {51, 771, 1295, 4352, 0, 0, 0}, {520, 76, 1028, 4108, 0, 0, 0}, {255, 1285, 4698, 0, 0, 0, 0}, {204, 1542, 4714, 0, 0, 0, 0}, {520, 127, 1295, 4111, 0, 0, 0}, {128, 520, 4096, 0, 0, 0, 0}, {51, 771, 1285, 4437, 0, 0, 0}, {4778, 2570, 12288, 16906, 0, 0, 0}, {267, 51, 771, 327, 1028, 4099, 0}, {204, 1548, 4620, 0, 0, 0, 0}, {514, 127, 1285, 4143, 0, 0, 0}, {514, 76, 1028, 4140, 0, 0, 0}, {255, 1295, 4623, 0, 0, 0, 0}, {128, 544, 4112, 0, 0, 0, 0}, {51, 768, 1365, 4369, 0, 0, 0}, {2730, 4626, 0, 0, 0, 0, 0}, {51, 76, 275, 0, 0, 0, 0}, {204, 1644, 4728, 0, 0, 0, 0}, {554, 127, 1322, 4159, 0, 0, 0}, {554, 76, 1024, 4156, 0, 0, 0}, {255, 1375, 4680, 0, 0, 0, 0}, {4792, 6168, 12336, 20560, 0, 0, 0}, {281, 51, 768, 341, 1024, 4096, 0}, {128, 554, 4144, 0, 0, 0, 0}, {51, 768, 1375, 4420, 0, 0, 0}, {544, 76, 1024, 4124, 0, 0, 0}, {255, 1365, 4637, 0, 0, 0, 0}, {204, 1638, 4638, 0, 0, 0, 0}, {544, 127, 1312, 4127, 0, 0, 0}, {128, 544, 4128, 0, 0, 0, 0}, {51, 771, 1370, 4369, 0, 0, 0}, {2730, 4642, 0, 0, 0, 0, 0}, {51, 76, 272, 0, 0, 0, 0}, {204, 1632, 4680, 0, 0, 0, 0}, {554, 127, 1317, 4111, 0, 0, 0}, {554, 76, 1036, 4108, 0, 0, 0}, {255, 1360, 4728, 0, 0, 0, 0}, {4744, 6184, 12288, 16936, 0, 0, 0}, {282, 51, 771, 342, 1302, 4099, 0}, {128, 554, 4096, 0, 0, 0, 0}, {51, 771, 1360, 4420, 0, 0, 0}, {544, 76, 1036, 4140, 0, 0, 0}, {255, 1370, 4653, 0, 0, 0, 0}, {204, 1642, 4654, 0, 0, 0, 0}, {544, 127, 1327, 4143, 0, 0, 0}, {2560, 4656, 0, 0, 0, 0, 0}, {51, 76, 258, 0, 0, 0, 0}, {128, 514, 4112, 0, 0, 0, 0}, {51, 768, 1280, 4352, 0, 0, 0}, {520, 76, 1032, 4156, 0, 0, 0}, {255, 1290, 4714, 0, 0, 0, 0}, {204, 1546, 4698, 0, 0, 0, 0}, {520, 127, 1280, 4159, 0, 0, 0}, {128, 520, 4144, 0, 0, 0, 0}, {51, 768, 1290, 4437, 0, 0, 0}, {4762, 2570, 12336, 20560, 0, 0, 0}, {264, 51, 768, 324, 1280, 4096, 0}, {204, 1536, 4668, 0, 0, 0, 0}, {514, 127, 1290, 4127, 0, 0, 0}, {514, 76, 1032, 4124, 0, 0, 0}, {255, 1280, 4671, 0, 0, 0, 0}, {128, 512, 4160, 0, 0, 0, 0}, {51, 783, 1285, 4369, 0, 0, 0}, {4834, 2570, 8738, 16962, 0, 0, 0}, {271, 51, 512, 323, 1024, 4352, 0}, {204, 1536, 4676, 0, 0, 0, 0}, {522, 127, 1285, 4112, 0, 0, 0}, {522, 76, 1024, 4128, 0, 0, 0}, {255, 1295, 4679, 0, 0, 0, 0}, {2560, 4680, 0, 0, 0, 0, 0}, {51, 76, 261, 0, 0, 0, 0}, {128, 522, 4192, 0, 0, 0, 0}, {51, 783, 1295, 4420, 0, 0, 0}, {512, 76, 1024, 4096, 0, 0, 0}, {255, 1285, 4626, 0, 0, 0, 0}, {204, 1546, 4642, 0, 0, 0, 0}, {512, 127, 1295, 4144, 0, 0, 0}, {4848, 6224, 8704, 20560, 0, 0, 0}, {285, 51, 529, 337, 1028, 4369, 0}, {128, 546, 4208, 0, 0, 0, 0}, {51, 780, 1375, 4352, 0, 0, 0}, {552, 76, 1028, 4112, 0, 0, 0}, {255, 1365, 4693, 0, 0, 0, 0}, {204, 1642, 4694, 0, 0, 0, 0}, {552, 127, 1312, 4128, 0, 0, 0}, {128, 552, 4176, 0, 0, 0, 0}, {51, 780, 1365, 4437, 0, 0, 0}, {2730, 4698, 0, 0, 0, 0, 0}, {51, 76, 279, 0, 0, 0, 0}, {204, 1632, 4656, 0, 0, 0, 0}, {546, 127, 1322, 4096, 0, 0, 0}, {546, 76, 1028, 4144, 0, 0, 0}, {255, 1375, 4608, 0, 0, 0, 0}, {4800, 6240, 8704, 16992, 0, 0, 0}, {286, 51, 529, 338, 1302, 4369, 0}, {128, 546, 4160, 0, 0, 0, 0}, {51, 783, 1360, 4352, 0, 0, 0}, {552, 76, 1032, 4128, 0, 0, 0}, {255, 1370, 4709, 0, 0, 0, 0}, {204, 1638, 4710, 0, 0, 0, 0}, {552, 127, 1327, 4112, 0, 0, 0}, {128, 552, 4192, 0, 0, 0, 0}, {51, 783, 1370, 4437, 0, 0, 0}, {2730, 4714, 0, 0, 0, 0, 0}, {51, 76, 276, 0, 0, 0, 0}, {204, 1644, 4608, 0, 0, 0, 0}, {546, 127, 1317, 4144, 0, 0, 0}, {546, 76, 1032, 4096, 0, 0, 0}, {255, 1360, 4656, 0, 0, 0, 0}, {128, 512, 4208, 0, 0, 0, 0}, {51, 780, 1290, 4369, 0, 0, 0}, {4818, 2570, 8738, 20560, 0, 0, 0}, {268, 51, 512, 320, 1280, 4352, 0}, {204, 1548, 4724, 0, 0, 0, 0}, {522, 127, 1290, 4128, 0, 0, 0}, {522, 76, 1036, 4112, 0, 0, 0}, {255, 1280, 4727, 0, 0, 0, 0}, {2560, 4728, 0, 0, 0, 0, 0}, {51, 76, 262, 0, 0, 0, 0}, {128, 522, 4176, 0, 0, 0, 0}, {51, 780, 1280, 4420, 0, 0, 0}, {512, 76, 1036, 4144, 0, 0, 0}, {255, 1290, 4642, 0, 0, 0, 0}, {204, 1542, 4626, 0, 0, 0, 0}, {512, 127, 1280, 4096, 0, 0, 0}, {128, 512, 4096, 0, 0, 0, 0}, {51, 771, 1285, 4369, 0, 0, 0}, {2570, 4642, 0, 0, 0, 0, 0}, {51, 76, 259, 0, 0, 0, 0}, {204, 1548, 4680, 0, 0, 0, 0}, {522, 127, 1285, 4143, 0, 0, 0}, {522, 76, 1036, 4140, 0, 0, 0}, {255, 1295, 4728, 0, 0, 0, 0}, {4744, 2560, 12288, 20480, 0, 0, 0}, {265, 51, 771, 325, 1285, 4112, 0}, {128, 522, 4128, 0, 0, 0, 0}, {51, 771, 1295, 4420, 0, 0, 0}, {512, 76, 1036, 4108, 0, 0, 0}, {255, 1285, 4653, 0, 0, 0, 0}, {204, 1542, 4654, 0, 0, 0, 0}, {512, 127, 1295, 4111, 0, 0, 0}, {2720, 4656, 0, 0, 0, 0, 0}, {51, 76, 273, 0, 0, 0, 0}, {128, 546, 4144, 0, 0, 0, 0}, {51, 768, 1375, 4352, 0, 0, 0}, {552, 76, 1032, 4124, 0, 0, 0}, {255, 1365, 4714, 0, 0, 0, 0}, {204, 1638, 4698, 0, 0, 0, 0}, {552, 127, 1312, 4127, 0, 0, 0}, {128, 552, 4112, 0, 0, 0, 0}, {51, 768, 1365, 4437, 0, 0, 0}, {4762, 6192, 12336, 17002, 0, 0, 0}, {283, 51, 768, 343, 1299, 4115, 0}, {204, 1644, 4668, 0, 0, 0, 0}, {546, 127, 1322, 4159, 0, 0, 0}, {546, 76, 1032, 4156, 0, 0, 0}, {255, 1375, 4671, 0, 0, 0, 0}, {2720, 4608, 0, 0, 0, 0, 0}, {51, 76, 274, 0, 0, 0, 0}, {128, 546, 4096, 0, 0, 0, 0}, {51, 771, 1360, 4352, 0, 0, 0}, {552, 76, 1028, 4140, 0, 0, 0}, {255, 1370, 4698, 0, 0, 0, 0}, {204, 1642, 4714, 0, 0, 0, 0}, {552, 127, 1327, 4143, 0, 0, 0}, {128, 552, 4128, 0, 0, 0, 0}, {51, 771, 1370, 4437, 0, 0, 0}, {4778, 6144, 12288, 20480, 0, 0, 0}, {280, 51, 771, 340, 1028, 4112, 0}, {204, 1632, 4620, 0, 0, 0, 0}, {546, 127, 1317, 4111, 0, 0, 0}, {546, 76, 1028, 4108, 0, 0, 0}, {255, 1360, 4623, 0, 0, 0, 0}, {128, 512, 4144, 0, 0, 0, 0}, {51, 768, 1290, 4369, 0, 0, 0}, {2570, 4626, 0, 0, 0, 0, 0}, {51, 76, 256, 0, 0, 0, 0}, {204, 1536, 4728, 0, 0, 0, 0}, {522, 127, 1290, 4127, 0, 0, 0}, {522, 76, 1024, 4124, 0, 0, 0}, {255, 1280, 4680, 0, 0, 0, 0}, {4792, 2560, 12336, 16968, 0, 0, 0}, {266, 51, 768, 326, 1024, 4115, 0}, {128, 522, 4112, 0, 0, 0, 0}, {51, 768, 1280, 4420, 0, 0, 0}, {512, 76, 1024, 4156, 0, 0, 0}, {255, 1290, 4637, 0, 0, 0, 0}, {204, 1546, 4638, 0, 0, 0, 0}, {512, 127, 1280, 4159, 0, 0, 0}, {4800, 2560, 8704, 20480, 0, 0, 0}, {269, 51, 514, 321, 1285, 4369, 0}, {128, 514, 4192, 0, 0, 0, 0}, {51, 783, 1295, 4352, 0, 0, 0}, {520, 76, 1032, 4096, 0, 0, 0}, {255, 1285, 4709, 0, 0, 0, 0}, {204, 1546, 4710, 0, 0, 0, 0}, {520, 127, 1295, 4144, 0, 0, 0}, {128, 520, 4160, 0, 0, 0, 0}, {51, 783, 1285, 4437, 0, 0, 0}, {2570, 4714, 0, 0, 0, 0, 0}, {51, 76, 263, 0, 0, 0, 0}, {204, 1536, 4608, 0, 0, 0, 0}, {514, 127, 1285, 4112, 0, 0, 0}, {514, 76, 1032, 4128, 0, 0, 0}, {255, 1295, 4656, 0, 0, 0, 0}, {128, 544, 4176, 0, 0, 0, 0}, {51, 780, 1365, 4369, 0, 0, 0}, {4818, 6264, 8738, 16930, 0, 0, 0}, {287, 51, 531, 339, 1299, 4352, 0}, {204, 1632, 4724, 0, 0, 0, 0}, {554, 127, 1322, 4096, 0, 0, 0}, {554, 76, 1036, 4144, 0, 0, 0}, {255, 1375, 4727, 0, 0, 0, 0}, {2720, 4728, 0, 0, 0, 0, 0}, {51, 76, 277, 0, 0, 0, 0}, {128, 554, 4208, 0, 0, 0, 0}, {51, 780, 1375, 4420, 0, 0, 0}, {544, 76, 1036, 4112, 0, 0, 0}, {255, 1365, 4642, 0, 0, 0, 0}, {204, 1642, 4626, 0, 0, 0, 0}, {544, 127, 1312, 4128, 0, 0, 0}, {128, 544, 4192, 0, 0, 0, 0}, {51, 783, 1370, 4369, 0, 0, 0}, {4834, 6216, 8738, 20480, 0, 0, 0}, {284, 51, 531, 336, 1024, 4352, 0}, {204, 1644, 4676, 0, 0, 0, 0}, {554, 127, 1317, 4144, 0, 0, 0}, {554, 76, 1024, 4096, 0, 0, 0}, {255, 1360, 4679, 0, 0, 0, 0}, {2720, 4680, 0, 0, 0, 0, 0}, {51, 76, 278, 0, 0, 0, 0}, {128, 554, 4160, 0, 0, 0, 0}, {51, 783, 1360, 4420, 0, 0, 0}, {544, 76, 1024, 4128, 0, 0, 0}, {255, 1370, 4626, 0, 0, 0, 0}, {204, 1638, 4642, 0, 0, 0, 0}, {544, 127, 1327, 4112, 0, 0, 0}, {4848, 2560, 8704, 16896, 0, 0, 0}, {270, 51, 514, 322, 1028, 4369, 0}, {128, 514, 4176, 0, 0, 0, 0}, {51, 780, 1280, 4352, 0, 0, 0}, {520, 76, 1028, 4144, 0, 0, 0}, {255, 1290, 4693, 0, 0, 0, 0}, {204, 1542, 4694, 0, 0, 0, 0}, {520, 127, 1280, 4096, 0, 0, 0}, {128, 520, 4208, 0, 0, 0, 0}, {51, 780, 1290, 4437, 0, 0, 0}, {2570, 4698, 0, 0, 0, 0, 0}, {51, 76, 260, 0, 0, 0, 0}, {204, 1548, 4656, 0, 0, 0, 0}, {514, 127, 1290, 4128, 0, 0, 0}, {514, 76, 1028, 4112, 0, 0, 0}, {255, 1280, 4608, 0, 0, 0, 0}, {13056, 19456, 0, 0, 0, 0, 0}, {10, 18, 257, 0, 0, 0, 0}, {10, 34, 514, 4352, 0, 0, 0}, {48, 771, 16384, 0, 0, 0, 0}, {13068, 72, 1028, 0, 0, 0, 0}, {10, 80, 1285, 4869, 0, 0, 0}, {10, 96, 1542, 4870, 0, 0, 0}, {13071, 120, 1799, 0, 0, 0, 0}, {136, 2056, 13056, 17408, 0, 0, 0}, {10, 48, 771, 80, 1285, 4096, 0}, {10, 4864, 0, 0, 0, 0, 0}, {48, 771, 72, 1028, 0, 0, 0}, {192, 3084, 13068, 16384, 0, 0, 0}, {10, 34, 514, 80, 1285, 4357, 0}, {10, 34, 514, 66, 1028, 4358, 0}, {240, 3855, 13071, 17167, 0, 0, 0}, {48, 768, 80, 4112, 0, 0, 0}, {2048, 34, 4369, 0, 0, 0, 0}, {768, 1024, 18, 0, 0, 0, 0}, {160, 4883, 0, 0, 0, 0, 0}, {40, 80, 1792, 4884, 0, 0, 0}, {3072, 106, 5397, 0, 0, 0, 0}, {3840, 90, 5654, 0, 0, 0, 0}, {40, 72, 1024, 4887, 0, 0, 0}, {24, 48, 768, 80, 1024, 4096, 0}, {170, 6425, 13107, 21845, 0, 0, 0}, {48, 768, 90, 5402, 0, 0, 0}, {2048, 40, 4891, 0, 0, 0, 0}, {3840, 80, 4892, 0, 0, 0, 0}, {34, 72, 1024, 4381, 0, 0, 0}, {34, 90, 1792, 4382, 0, 0, 0}, {3072, 96, 4895, 0, 0, 0, 0}, {160, 4896, 0, 0, 0, 0, 0}, {771, 1036, 18, 0, 0, 0, 0}, {2048, 34, 4352, 0, 0, 0, 0}, {48, 771, 80, 4112, 0, 0, 0}, {40, 72, 1036, 4876, 0, 0, 0}, {3855, 90, 5674, 0, 0, 0, 0}, {3084, 106, 5418, 0, 0, 0, 0}, {40, 80, 1807, 4879, 0, 0, 0}, {2048, 40, 4864, 0, 0, 0, 0}, {48, 771, 90, 5397, 0, 0, 0}, {170, 6442, 13056, 21760, 0, 0, 0}, {24, 48, 771, 80, 1044, 4096, 0}, {3084, 96, 4908, 0, 0, 0, 0}, {34, 90, 1807, 4367, 0, 0, 0}, {34, 72, 1036, 4364, 0, 0, 0}, {3855, 80, 4911, 0, 0, 0, 0}, {48, 768, 16384, 0, 0, 0, 0}, {10, 34, 514, 4369, 0, 0, 0}, {10, 18, 258, 0, 0, 0, 0}, {13107, 19660, 0, 0, 0, 0, 0}, {13116, 120, 1800, 0, 0, 0, 0}, {10, 96, 1536, 4917, 0, 0, 0}, {10, 80, 1280, 4918, 0, 0, 0}, {13119, 72, 1032, 0, 0, 0, 0}, {48, 768, 72, 1032, 0, 0, 0}, {10, 4915, 0, 0, 0, 0, 0}, {10, 48, 768, 80, 1280, 4096, 0}, {136, 2056, 13107, 17476, 0, 0, 0}, {240, 3840, 13116, 17212, 0, 0, 0}, {10, 34, 514, 66, 1026, 4375, 0}, {10, 34, 514, 80, 1280, 4372, 0}, {192, 3072, 13119, 16384, 0, 0, 0}, {192, 3072, 13056, 16448, 0, 0, 0}, {10, 34, 512, 80, 1285, 4369, 0}, {10, 34, 512, 66, 1024, 4352, 0}, {240, 3855, 13107, 17219, 0, 0, 0}, {136, 2048, 13124, 17476, 0, 0, 0}, {10, 48, 773, 80, 1285, 4112, 0}, {10, 4934, 0, 0, 0, 0, 0}, {48, 783, 72, 1024, 0, 0, 0}, {13056, 72, 1024, 0, 0, 0, 0}, {10, 80, 1285, 4883, 0, 0, 0}, {10, 96, 1536, 4896, 0, 0, 0}, {13107, 120, 1807, 0, 0, 0, 0}, {13260, 19532, 0, 0, 0, 0, 0}, {10, 18, 261, 0, 0, 0, 0}, {10, 34, 512, 4420, 0, 0, 0}, {48, 783, 16448, 0, 0, 0, 0}, {3840, 80, 4864, 0, 0, 0, 0}, {34, 72, 1028, 4369, 0, 0, 0}, {34, 90, 1800, 4352, 0, 0, 0}, {3084, 96, 4915, 0, 0, 0, 0}, {24, 48, 788, 80, 1028, 4112, 0}, {170, 6485, 13141, 21845, 0, 0, 0}, {48, 780, 90, 5376, 0, 0, 0}, {2056, 40, 4951, 0, 0, 0, 0}, {40, 80, 1800, 4872, 0, 0, 0}, {3084, 106, 5439, 0, 0, 0, 0}, {3840, 90, 5632, 0, 0, 0, 0}, {40, 72, 1028, 4883, 0, 0, 0}, {48, 780, 80, 4096, 0, 0, 0}, {2056, 34, 4437, 0, 0, 0, 0}, {780, 1028, 18, 0, 0, 0, 0}, {160, 4959, 0, 0, 0, 0, 0}, {3072, 96, 4864, 0, 0, 0, 0}, {34, 90, 1799, 4369, 0, 0, 0}, {34, 72, 1032, 4352, 0, 0, 0}, {3855, 80, 4915, 0, 0, 0, 0}, {2056, 40, 4940, 0, 0, 0, 0}, {48, 783, 90, 5391, 0, 0, 0}, {170, 6502, 13158, 21760, 0, 0, 0}, {24, 48, 791, 80, 1040, 4112, 0}, {40, 72, 1032, 4872, 0, 0, 0}, {3855, 90, 5692, 0, 0, 0, 0}, {3072, 106, 5376, 0, 0, 0, 0}, {40, 80, 1799, 4883, 0, 0, 0}, {160, 4972, 0, 0, 0, 0, 0}, {783, 1032, 18, 0, 0, 0, 0}, {2056, 34, 4420, 0, 0, 0, 0}, {48, 783, 80, 4096, 0, 0, 0}, {240, 3840, 13056, 17264, 0, 0, 0}, {10, 34, 512, 66, 1030, 4369, 0}, {10, 34, 512, 80, 1280, 4352, 0}, {192, 3084, 13107, 16448, 0, 0, 0}, {48, 780, 72, 1036, 0, 0, 0}, {10, 4981, 0, 0, 0, 0, 0}, {10, 48, 774, 80, 1280, 4112, 0}, {136, 2048, 13175, 17408, 0, 0, 0}, {13056, 120, 1792, 0, 0, 0, 0}, {10, 96, 1542, 4883, 0, 0, 0}, {10, 80, 1280, 4896, 0, 0, 0}, {13107, 72, 1036, 0, 0, 0, 0}, {48, 780, 16448, 0, 0, 0, 0}, {10, 34, 512, 4437, 0, 0, 0}, {10, 18, 262, 0, 0, 0, 0}, {13311, 19584, 0, 0, 0, 0, 0}, {13056, 19584, 0, 0, 0, 0, 0}, {10, 18, 259, 0, 0, 0, 0}, {10, 34, 512, 4352, 0, 0, 0}, {48, 771, 16448, 0, 0, 0, 0}, {13068, 72, 1036, 0, 0, 0, 0}, {10, 80, 1285, 4901, 0, 0, 0}, {10, 96, 1542, 4902, 0, 0, 0}, {13071, 120, 1807, 0, 0, 0, 0}, {136, 2048, 13056, 17408, 0, 0, 0}, {10, 48, 771, 80, 1285, 4112, 0}, {10, 4896, 0, 0, 0, 0, 0}, {48, 771, 72, 1036, 0, 0, 0}, {192, 3084, 13068, 16448, 0, 0, 0}, {10, 34, 512, 80, 1285, 4357, 0}, {10, 34, 512, 66, 1030, 4358, 0}, {240, 3855, 13071, 17279, 0, 0, 0}, {48, 768, 80, 4096, 0, 0, 0}, {2056, 34, 4369, 0, 0, 0, 0}, {768, 1032, 18, 0, 0, 0, 0}, {160, 4915, 0, 0, 0, 0, 0}, {40, 80, 1800, 4892, 0, 0, 0}, {3072, 106, 5439, 0, 0, 0, 0}, {3840, 90, 5692, 0, 0, 0, 0}, {40, 72, 1032, 4895, 0, 0, 0}, {24, 48, 768, 80, 1040, 4112, 0}, {170, 6451, 13107, 21845, 0, 0, 0}, {48, 768, 90, 5376, 0, 0, 0}, {2056, 40, 4883, 0, 0, 0, 0}, {3840, 80, 4924, 0, 0, 0, 0}, {34, 72, 1032, 4381, 0, 0, 0}, {34, 90, 1800, 4382, 0, 0, 0}, {3072, 96, 4927, 0, 0, 0, 0}, {160, 4864, 0, 0, 0, 0, 0}, {771, 1028, 18, 0, 0, 0, 0}, {2056, 34, 4352, 0, 0, 0, 0}, {48, 771, 80, 4096, 0, 0, 0}, {40, 72, 1028, 4868, 0, 0, 0}, {3855, 90, 5632, 0, 0, 0, 0}, {3084, 106, 5376, 0, 0, 0, 0}, {40, 80, 1799, 4871, 0, 0, 0}, {2056, 40, 4872, 0, 0, 0, 0}, {48, 771, 90, 5391, 0, 0, 0}, {170, 6400, 13056, 21760, 0, 0, 0}, {24, 48, 771, 80, 1028, 4112, 0}, {3084, 96, 4876, 0, 0, 0, 0}, {34, 90, 1799, 4367, 0, 0, 0}, {34, 72, 1028, 4364, 0, 0, 0}, {3855, 80, 4879, 0, 0, 0, 0}, {48, 768, 16448, 0, 0, 0, 0}, {10, 34, 512, 4369, 0, 0, 0}, {10, 18, 256, 0, 0, 0, 0}, {13107, 19532, 0, 0, 0, 0, 0}, {13116, 120, 1792, 0, 0, 0, 0}, {10, 96, 1536, 4885, 0, 0, 0}, {10, 80, 1280, 4886, 0, 0, 0}, {13119, 72, 1024, 0, 0, 0, 0}, {48, 768, 72, 1024, 0, 0, 0}, {10, 4883, 0, 0, 0, 0, 0}, {10, 48, 768, 80, 1280, 4112, 0}, {136, 2048, 13107, 17476, 0, 0, 0}, {240, 3840, 13116, 17228, 0, 0, 0}, {10, 34, 512, 66, 1024, 4375, 0}, {10, 34, 512, 80, 1280, 4372, 0}, {192, 3072, 13119, 16448, 0, 0, 0}, {192, 3072, 13056, 16384, 0, 0, 0}, {10, 34, 514, 80, 1285, 4369, 0}, {10, 34, 514, 66, 1026, 4352, 0}, {240, 3855, 13107, 17203, 0, 0, 0}, {136, 2056, 13124, 17476, 0, 0, 0}, {10, 48, 773, 80, 1285, 4096, 0}, {10, 4966, 0, 0, 0, 0, 0}, {48, 783, 72, 1032, 0, 0, 0}, {13056, 72, 1032, 0, 0, 0, 0}, {10, 80, 1285, 4915, 0, 0, 0}, {10, 96, 1536, 4864, 0, 0, 0}, {13107, 120, 1799, 0, 0, 0, 0}, {13260, 19660, 0, 0, 0, 0, 0}, {10, 18, 263, 0, 0, 0, 0}, {10, 34, 514, 4420, 0, 0, 0}, {48, 783, 16384, 0, 0, 0, 0}, {3840, 80, 4896, 0, 0, 0, 0}, {34, 72, 1036, 4369, 0, 0, 0}, {34, 90, 1792, 4352, 0, 0, 0}, {3084, 96, 4883, 0, 0, 0, 0}, {24, 48, 788, 80, 1044, 4096, 0}, {170, 6527, 13141, 21845, 0, 0, 0}, {48, 780, 90, 5402, 0, 0, 0}, {2048, 40, 4959, 0, 0, 0, 0}, {40, 80, 1792, 4864, 0, 0, 0}, {3084, 106, 5397, 0, 0, 0, 0}, {3840, 90, 5674, 0, 0, 0, 0}, {40, 72, 1036, 4891, 0, 0, 0}, {48, 780, 80, 4112, 0, 0, 0}, {2048, 34, 4437, 0, 0, 0, 0}, {780, 1036, 18, 0, 0, 0, 0}, {160, 4991, 0, 0, 0, 0, 0}, {3072, 96, 4896, 0, 0, 0, 0}, {34, 90, 1807, 4369, 0, 0, 0}, {34, 72, 1024, 4352, 0, 0, 0}, {3855, 80, 4883, 0, 0, 0, 0}, {2048, 40, 4932, 0, 0, 0, 0}, {48, 783, 90, 5397, 0, 0, 0}, {170, 6476, 13158, 21760, 0, 0, 0}, {24, 48, 791, 80, 1024, 4096, 0}, {40, 72, 1024, 4864, 0, 0, 0}, {3855, 90, 5654, 0, 0, 0, 0}, {3072, 106, 5418, 0, 0, 0, 0}, {40, 80, 1807, 4891, 0, 0, 0}, {160, 4940, 0, 0, 0, 0, 0}, {783, 1024, 18, 0, 0, 0, 0}, {2048, 34, 4420, 0, 0, 0, 0}, {48, 783, 80, 4112, 0, 0, 0}, {240, 3840, 13056, 17152, 0, 0, 0}, {10, 34, 514, 66, 1028, 4369, 0}, {10, 34, 514, 80, 1280, 4352, 0}, {192, 3084, 13107, 16384, 0, 0, 0}, {48, 780, 72, 1028, 0, 0, 0}, {10, 4949, 0, 0, 0, 0, 0}, {10, 48, 774, 80, 1280, 4096, 0}, {136, 2056, 13175, 17408, 0, 0, 0}, {13056, 120, 1800, 0, 0, 0, 0}, {10, 96, 1542, 4915, 0, 0, 0}, {10, 80, 1280, 4864, 0, 0, 0}, {13107, 72, 1028, 0, 0, 0, 0}, {48, 780, 16384, 0, 0, 0, 0}, {10, 34, 514, 4437, 0, 0, 0}, {10, 18, 260, 0, 0, 0, 0}, {13311, 19456, 0, 0, 0, 0, 0}, {15360, 17408, 0, 0, 0, 0, 0}, {10, 21, 257, 0, 0, 0, 0}, {10, 32, 514, 5122, 0, 0, 0}, {63, 771, 17420, 0, 0, 0, 0}, {12288, 64, 1028, 0, 0, 0, 0}, {10, 85, 1285, 4352, 0, 0, 0}, {10, 96, 1542, 4608, 0, 0, 0}, {13056, 127, 1799, 0, 0, 0, 0}, {128, 2056, 13320, 17416, 0, 0, 0}, {10, 53, 771, 85, 1285, 4358, 0}, {10, 5120, 0, 0, 0, 0, 0}, {63, 771, 64, 1028, 0, 0, 0}, {192, 3084, 12288, 17420, 0, 0, 0}, {10, 32, 514, 85, 1285, 4354, 0}, {10, 32, 514, 64, 1028, 4096, 0}, {255, 3855, 13056, 17408, 0, 0, 0}, {32, 64, 1024, 4112, 0, 0, 0}, {3840, 85, 4369, 0, 0, 0, 0}, {3072, 106, 4626, 0, 0, 0, 0}, {32, 95, 1792, 4883, 0, 0, 0}, {160, 5140, 0, 0, 0, 0, 0}, {768, 1024, 21, 0, 0, 0, 0}, {2048, 42, 5654, 0, 0, 0, 0}, {63, 768, 95, 5143, 0, 0, 0}, {3072, 96, 5144, 0, 0, 0, 0}, {42, 85, 1792, 4377, 0, 0, 0}, {42, 64, 1024, 4634, 0, 0, 0}, {3840, 95, 5147, 0, 0, 0, 0}, {2048, 32, 5148, 0, 0, 0, 0}, {63, 768, 85, 4381, 0, 0, 0}, {170, 7710, 8738, 17476, 0, 0, 0}, {31, 32, 768, 64, 1024, 4096, 0}, {2048, 32, 5120, 0, 0, 0, 0}, {63, 771, 85, 4369, 0, 0, 0}, {170, 7714, 8738, 17442, 0, 0, 0}, {31, 32, 771, 64, 1043, 4112, 0}, {3084, 96, 5156, 0, 0, 0, 0}, {42, 85, 1807, 4352, 0, 0, 0}, {42, 64, 1036, 4608, 0, 0, 0}, {3855, 95, 5159, 0, 0, 0, 0}, {160, 5160, 0, 0, 0, 0, 0}, {771, 1036, 21, 0, 0, 0, 0}, {2048, 42, 5632, 0, 0, 0, 0}, {63, 771, 95, 5140, 0, 0, 0}, {32, 64, 1036, 4096, 0, 0, 0}, {3855, 85, 4386, 0, 0, 0, 0}, {3084, 106, 4642, 0, 0, 0, 0}, {32, 95, 1807, 4864, 0, 0, 0}, {192, 3072, 12336, 17408, 0, 0, 0}, {10, 32, 514, 85, 1280, 4369, 0}, {10, 32, 514, 64, 1026, 4112, 0}, {255, 3840, 13107, 17459, 0, 0, 0}, {128, 2056, 13364, 17476, 0, 0, 0}, {10, 53, 768, 85, 1280, 4352, 0}, {10, 5174, 0, 0, 0, 0, 0}, {63, 768, 64, 1032, 0, 0, 0}, {12336, 64, 1032, 0, 0, 0, 0}, {10, 85, 1280, 4403, 0, 0, 0}, {10, 96, 1536, 4656, 0, 0, 0}, {13107, 127, 1800, 0, 0, 0, 0}, {15420, 17612, 0, 0, 0, 0, 0}, {10, 21, 258, 0, 0, 0, 0}, {10, 32, 514, 5140, 0, 0, 0}, {63, 768, 17408, 0, 0, 0, 0}, {12288, 64, 1024, 0, 0, 0, 0}, {10, 85, 1285, 4369, 0, 0, 0}, {10, 96, 1536, 4642, 0, 0, 0}, {13107, 127, 1807, 0, 0, 0, 0}, {15564, 17476, 0, 0, 0, 0, 0}, {10, 21, 261, 0, 0, 0, 0}, {10, 32, 512, 5190, 0, 0, 0}, {63, 783, 17480, 0, 0, 0, 0}, {192, 3072, 12288, 17480, 0, 0, 0}, {10, 32, 512, 85, 1285, 4371, 0}, {10, 32, 512, 64, 1024, 4096, 0}, {255, 3855, 13107, 17476, 0, 0, 0}, {128, 2048, 13388, 17484, 0, 0, 0}, {10, 53, 773, 85, 1285, 4375, 0}, {10, 5188, 0, 0, 0, 0, 0}, {63, 783, 64, 1024, 0, 0, 0}, {160, 5200, 0, 0, 0, 0, 0}, {780, 1028, 21, 0, 0, 0, 0}, {2056, 42, 5722, 0, 0, 0, 0}, {63, 780, 95, 5132, 0, 0, 0}, {32, 64, 1028, 4112, 0, 0, 0}, {3840, 85, 4352, 0, 0, 0, 0}, {3084, 106, 4656, 0, 0, 0, 0}, {32, 95, 1800, 4864, 0, 0, 0}, {2056, 32, 5208, 0, 0, 0, 0}, {63, 780, 85, 4364, 0, 0, 0}, {170, 7770, 8704, 17408, 0, 0, 0}, {31, 32, 787, 64, 1028, 4096, 0}, {3084, 96, 5180, 0, 0, 0, 0}, {42, 85, 1800, 4360, 0, 0, 0}, {42, 64, 1028, 4626, 0, 0, 0}, {3840, 95, 5120, 0, 0, 0, 0}, {3072, 96, 5120, 0, 0, 0, 0}, {42, 85, 1799, 4369, 0, 0, 0}, {42, 64, 1032, 4616, 0, 0, 0}, {3855, 95, 5180, 0, 0, 0, 0}, {2056, 32, 5188, 0, 0, 0, 0}, {63, 783, 85, 4352, 0, 0, 0}, {170, 7782, 8704, 17510, 0, 0, 0}, {31, 32, 784, 64, 1047, 4112, 0}, {32, 64, 1032, 4096, 0, 0, 0}, {3855, 85, 4403, 0, 0, 0, 0}, {3072, 106, 4608, 0, 0, 0, 0}, {32, 95, 1799, 4883, 0, 0, 0}, {160, 5228, 0, 0, 0, 0, 0}, {783, 1032, 21, 0, 0, 0, 0}, {2056, 42, 5708, 0, 0, 0, 0}, {63, 783, 95, 5135, 0, 0, 0}, {128, 2048, 13424, 17408, 0, 0, 0}, {10, 53, 774, 85, 1280, 4369, 0}, {10, 5234, 0, 0, 0, 0, 0}, {63, 780, 64, 1036, 0, 0, 0}, {192, 3084, 12336, 17476, 0, 0, 0}, {10, 32, 512, 85, 1280, 4352, 0}, {10, 32, 512, 64, 1030, 4112, 0}, {255, 3840, 13056, 17527, 0, 0, 0}, {15600, 17544, 0, 0, 0, 0, 0}, {10, 21, 262, 0, 0, 0, 0}, {10, 32, 512, 5200, 0, 0, 0}, {63, 780, 17476, 0, 0, 0, 0}, {12336, 64, 1036, 0, 0, 0, 0}, {10, 85, 1280, 4386, 0, 0, 0}, {10, 96, 1542, 4626, 0, 0, 0}, {13056, 127, 1792, 0, 0, 0, 0}, {128, 2048, 13312, 17408, 0, 0, 0}, {10, 53, 771, 85, 1285, 4369, 0}, {10, 5154, 0, 0, 0, 0, 0}, {63, 771, 64, 1036, 0, 0, 0}, {192, 3084, 12288, 17476, 0, 0, 0}, {10, 32, 512, 85, 1285, 4352, 0}, {10, 32, 512, 64, 1030, 4096, 0}, {255, 3855, 13056, 17527, 0, 0, 0}, {15360, 17544, 0, 0, 0, 0, 0}, {10, 21, 259, 0, 0, 0, 0}, {10, 32, 512, 5120, 0, 0, 0}, {63, 771, 17476, 0, 0, 0, 0}, {12288, 64, 1036, 0, 0, 0, 0}, {10, 85, 1285, 4386, 0, 0, 0}, {10, 96, 1542, 4642, 0, 0, 0}, {13056, 127, 1807, 0, 0, 0, 0}, {3072, 96, 5168, 0, 0, 0, 0}, {42, 85, 1800, 4369, 0, 0, 0}, {42, 64, 1032, 4626, 0, 0, 0}, {3840, 95, 5171, 0, 0, 0, 0}, {2056, 32, 5140, 0, 0, 0, 0}, {63, 768, 85, 4352, 0, 0, 0}, {170, 7740, 8704, 17510, 0, 0, 0}, {31, 32, 768, 64, 1047, 4096, 0}, {32, 64, 1032, 4112, 0, 0, 0}, {3840, 85, 4403, 0, 0, 0, 0}, {3072, 106, 4656, 0, 0, 0, 0}, {32, 95, 1800, 4883, 0, 0, 0}, {160, 5180, 0, 0, 0, 0, 0}, {768, 1032, 21, 0, 0, 0, 0}, {2056, 42, 5654, 0, 0, 0, 0}, {63, 768, 95, 5120, 0, 0, 0}, {160, 5120, 0, 0, 0, 0, 0}, {771, 1028, 21, 0, 0, 0, 0}, {2056, 42, 5632, 0, 0, 0, 0}, {63, 771, 95, 5123, 0, 0, 0}, {32, 64, 1028, 4096, 0, 0, 0}, {3855, 85, 4352, 0, 0, 0, 0}, {3084, 106, 4608, 0, 0, 0, 0}, {32, 95, 1799, 4864, 0, 0, 0}, {2056, 32, 5128, 0, 0, 0, 0}, {63, 771, 85, 4364, 0, 0, 0}, {170, 7680, 8704, 17408, 0, 0, 0}, {31, 32, 771, 64, 1028, 4112, 0}, {3084, 96, 5132, 0, 0, 0, 0}, {42, 85, 1799, 4360, 0, 0, 0}, {42, 64, 1028, 4616, 0, 0, 0}, {3855, 95, 5135, 0, 0, 0, 0}, {12336, 64, 1024, 0, 0, 0, 0}, {10, 85, 1280, 4369, 0, 0, 0}, {10, 96, 1536, 4626, 0, 0, 0}, {13107, 127, 1792, 0, 0, 0, 0}, {15420, 17476, 0, 0, 0, 0, 0}, {10, 21, 256, 0, 0, 0, 0}, {10, 32, 512, 5142, 0, 0, 0}, {63, 768, 17480, 0, 0, 0, 0}, {192, 3072, 12336, 17480, 0, 0, 0}, {10, 32, 512, 85, 1280, 4371, 0}, {10, 32, 512, 64, 1024, 4112, 0}, {255, 3840, 13107, 17476, 0, 0, 0}, {128, 2048, 13372, 17484, 0, 0, 0}, {10, 53, 768, 85, 1280, 4375, 0}, {10, 5140, 0, 0, 0, 0, 0}, {63, 768, 64, 1024, 0, 0, 0}, {192, 3072, 12288, 17408, 0, 0, 0}, {10, 32, 514, 85, 1285, 4369, 0}, {10, 32, 514, 64, 1026, 4096, 0}, {255, 3855, 13107, 17459, 0, 0, 0}, {128, 2056, 13380, 17476, 0, 0, 0}, {10, 53, 773, 85, 1285, 4352, 0}, {10, 5222, 0, 0, 0, 0, 0}, {63, 783, 64, 1032, 0, 0, 0}, {12288, 64, 1032, 0, 0, 0, 0}, {10, 85, 1285, 4403, 0, 0, 0}, {10, 96, 1536, 4608, 0, 0, 0}, {13107, 127, 1799, 0, 0, 0, 0}, {15564, 17612, 0, 0, 0, 0, 0}, {10, 21, 263, 0, 0, 0, 0}, {10, 32, 514, 5188, 0, 0, 0}, {63, 783, 17408, 0, 0, 0, 0}, {2048, 32, 5200, 0, 0, 0, 0}, {63, 780, 85, 4369, 0, 0, 0}, {170, 7800, 8738, 17442, 0, 0, 0}, {31, 32, 787, 64, 1043, 4096, 0}, {3084, 96, 5140, 0, 0, 0, 0}, {42, 85, 1792, 4352, 0, 0, 0}, {42, 64, 1036, 4634, 0, 0, 0}, {3840, 95, 5160, 0, 0, 0, 0}, {160, 5240, 0, 0, 0, 0, 0}, {780, 1036, 21, 0, 0, 0, 0}, {2048, 42, 5722, 0, 0, 0, 0}, {63, 780, 95, 5147, 0, 0, 0}, {32, 64, 1036, 4112, 0, 0, 0}, {3840, 85, 4386, 0, 0, 0, 0}, {3084, 106, 4626, 0, 0, 0, 0}, {32, 95, 1792, 4864, 0, 0, 0}, {32, 64, 1024, 4096, 0, 0, 0}, {3855, 85, 4369, 0, 0, 0, 0}, {3072, 106, 4642, 0, 0, 0, 0}, {32, 95, 1807, 4883, 0, 0, 0}, {160, 5188, 0, 0, 0, 0, 0}, {783, 1024, 21, 0, 0, 0, 0}, {2048, 42, 5708, 0, 0, 0, 0}, {63, 783, 95, 5144, 0, 0, 0}, {3072, 96, 5160, 0, 0, 0, 0}, {42, 85, 1807, 4377, 0, 0, 0}, {42, 64, 1024, 4608, 0, 0, 0}, {3855, 95, 5140, 0, 0, 0, 0}, {2048, 32, 5196, 0, 0, 0, 0}, {63, 783, 85, 4381, 0, 0, 0}, {170, 7748, 8738, 17476, 0, 0, 0}, {31, 32, 784, 64, 1024, 4112, 0}, {15600, 17408, 0, 0, 0, 0, 0}, {10, 21, 260, 0, 0, 0, 0}, {10, 32, 514, 5202, 0, 0, 0}, {63, 780, 17420, 0, 0, 0, 0}, {12336, 64, 1028, 0, 0, 0, 0}, {10, 85, 1280, 4352, 0, 0, 0}, {10, 96, 1542, 4656, 0, 0, 0}, {13056, 127, 1800, 0, 0, 0, 0}, {128, 2056, 13432, 17416, 0, 0, 0}, {10, 53, 774, 85, 1280, 4358, 0}, {10, 5200, 0, 0, 0, 0, 0}, {63, 780, 64, 1028, 0, 0, 0}, {192, 3084, 12336, 17420, 0, 0, 0}, {10, 32, 514, 85, 1280, 4354, 0}, {10, 32, 514, 64, 1028, 4112, 0}, {255, 3840, 13056, 17408, 0, 0, 0}, {2560, 5376, 0, 0, 0, 0, 0}, {60, 68, 257, 0, 0, 0, 0}, {136, 514, 5418, 0, 0, 0, 0}, {60, 771, 1295, 4108, 0, 0, 0}, {520, 68, 1028, 4352, 0, 0, 0}, {240, 1285, 4176, 0, 0, 0, 0}, {204, 1542, 4972, 0, 0, 0, 0}, {520, 120, 1295, 4104, 0, 0, 0}, {136, 520, 5384, 0, 0, 0, 0}, {60, 771, 1285, 4188, 0, 0, 0}, {5546, 2570, 13578, 16384, 0, 0, 0}, {267, 311, 771, 68, 1028, 4100, 0}, {204, 1548, 4864, 0, 0, 0, 0}, {514, 120, 1285, 4128, 0, 0, 0}, {514, 68, 1028, 4386, 0, 0, 0}, {240, 1295, 4096, 0, 0, 0, 0}, {240, 1360, 4112, 0, 0, 0, 0}, {546, 68, 1024, 4369, 0, 0, 0}, {546, 120, 1314, 4144, 0, 0, 0}, {204, 1644, 4883, 0, 0, 0, 0}, {60, 68, 276, 0, 0, 0, 0}, {2730, 5397, 0, 0, 0, 0, 0}, {60, 768, 1370, 4172, 0, 0, 0}, {136, 552, 5439, 0, 0, 0, 0}, {552, 120, 1320, 4120, 0, 0, 0}, {204, 1638, 4991, 0, 0, 0, 0}, {240, 1370, 4160, 0, 0, 0, 0}, {552, 68, 1024, 4403, 0, 0, 0}, {60, 768, 1360, 4124, 0, 0, 0}, {136, 546, 5405, 0, 0, 0, 0}, {286, 290, 768, 68, 1024, 4096, 0}, {5567, 7967, 8224, 16448, 0, 0, 0}, {5504, 7968, 8224, 21760, 0, 0, 0}, {285, 289, 771, 68, 1297, 4369, 0}, {136, 546, 5410, 0, 0, 0, 0}, {60, 771, 1375, 4112, 0, 0, 0}, {552, 68, 1036, 4352, 0, 0, 0}, {240, 1365, 4208, 0, 0, 0, 0}, {204, 1642, 4940, 0, 0, 0, 0}, {552, 120, 1319, 4136, 0, 0, 0}, {136, 552, 5376, 0, 0, 0, 0}, {60, 771, 1365, 4160, 0, 0, 0}, {2730, 5418, 0, 0, 0, 0, 0}, {60, 68, 279, 0, 0, 0, 0}, {204, 1632, 4896, 0, 0, 0, 0}, {546, 120, 1325, 4096, 0, 0, 0}, {546, 68, 1036, 4386, 0, 0, 0}, {240, 1375, 4128, 0, 0, 0, 0}, {240, 1280, 4144, 0, 0, 0, 0}, {514, 68, 1032, 4369, 0, 0, 0}, {514, 120, 1290, 4112, 0, 0, 0}, {204, 1536, 4915, 0, 0, 0, 0}, {264, 308, 768, 68, 1280, 4352, 0}, {5525, 2570, 13621, 21845, 0, 0, 0}, {60, 768, 1290, 4176, 0, 0, 0}, {136, 520, 5431, 0, 0, 0, 0}, {520, 120, 1280, 4152, 0, 0, 0}, {204, 1546, 4959, 0, 0, 0, 0}, {240, 1290, 4192, 0, 0, 0, 0}, {520, 68, 1032, 4403, 0, 0, 0}, {60, 768, 1280, 4096, 0, 0, 0}, {136, 514, 5397, 0, 0, 0, 0}, {60, 68, 258, 0, 0, 0, 0}, {2560, 5439, 0, 0, 0, 0, 0}, {2560, 5440, 0, 0, 0, 0, 0}, {60, 68, 261, 0, 0, 0, 0}, {136, 522, 5482, 0, 0, 0, 0}, {60, 783, 1295, 4172, 0, 0, 0}, {512, 68, 1024, 4352, 0, 0, 0}, {240, 1285, 4112, 0, 0, 0, 0}, {204, 1546, 4896, 0, 0, 0, 0}, {512, 120, 1295, 4144, 0, 0, 0}, {136, 512, 5448, 0, 0, 0, 0}, {60, 783, 1285, 4124, 0, 0, 0}, {5610, 2570, 8224, 16448, 0, 0, 0}, {271, 307, 512, 68, 1024, 4096, 0}, {204, 1536, 4940, 0, 0, 0, 0}, {522, 120, 1285, 4120, 0, 0, 0}, {522, 68, 1024, 4386, 0, 0, 0}, {240, 1295, 4160, 0, 0, 0, 0}, {240, 1360, 4176, 0, 0, 0, 0}, {554, 68, 1028, 4369, 0, 0, 0}, {554, 120, 1314, 4104, 0, 0, 0}, {204, 1632, 4959, 0, 0, 0, 0}, {60, 68, 272, 0, 0, 0, 0}, {2730, 5461, 0, 0, 0, 0, 0}, {60, 780, 1370, 4108, 0, 0, 0}, {136, 544, 5503, 0, 0, 0, 0}, {544, 120, 1320, 4128, 0, 0, 0}, {204, 1642, 4915, 0, 0, 0, 0}, {240, 1370, 4096, 0, 0, 0, 0}, {544, 68, 1028, 4403, 0, 0, 0}, {60, 780, 1360, 4188, 0, 0, 0}, {136, 554, 5469, 0, 0, 0, 0}, {282, 294, 534, 68, 1028, 4100, 0}, {5631, 8031, 13663, 16384, 0, 0, 0}, {5568, 8032, 13664, 21760, 0, 0, 0}, {281, 293, 534, 68, 1297, 4369, 0}, {136, 554, 5474, 0, 0, 0, 0}, {60, 783, 1375, 4176, 0, 0, 0}, {544, 68, 1032, 4352, 0, 0, 0}, {240, 1365, 4144, 0, 0, 0, 0}, {204, 1638, 4864, 0, 0, 0, 0}, {544, 120, 1319, 4112, 0, 0, 0}, {136, 544, 5440, 0, 0, 0, 0}, {60, 783, 1365, 4096, 0, 0, 0}, {2730, 5482, 0, 0, 0, 0, 0}, {60, 68, 275, 0, 0, 0, 0}, {204, 1644, 4972, 0, 0, 0, 0}, {554, 120, 1325, 4152, 0, 0, 0}, {554, 68, 1032, 4386, 0, 0, 0}, {240, 1375, 4192, 0, 0, 0, 0}, {240, 1280, 4208, 0, 0, 0, 0}, {522, 68, 1036, 4369, 0, 0, 0}, {522, 120, 1290, 4136, 0, 0, 0}, {204, 1548, 4991, 0, 0, 0, 0}, {268, 304, 512, 68, 1280, 4352, 0}, {5589, 2570, 8224, 21845, 0, 0, 0}, {60, 780, 1290, 4112, 0, 0, 0}, {136, 512, 5495, 0, 0, 0, 0}, {512, 120, 1280, 4096, 0, 0, 0}, {204, 1542, 4883, 0, 0, 0, 0}, {240, 1290, 4128, 0, 0, 0, 0}, {512, 68, 1036, 4403, 0, 0, 0}, {60, 780, 1280, 4160, 0, 0, 0}, {136, 522, 5461, 0, 0, 0, 0}, {60, 68, 262, 0, 0, 0, 0}, {2560, 5503, 0, 0, 0, 0, 0}, {5504, 2560, 13568, 21760, 0, 0, 0}, {265, 309, 771, 68, 1285, 4369, 0}, {136, 522, 5410, 0, 0, 0, 0}, {60, 771, 1295, 4160, 0, 0, 0}, {512, 68, 1036, 4352, 0, 0, 0}, {240, 1285, 4128, 0, 0, 0, 0}, {204, 1542, 4896, 0, 0, 0, 0}, {512, 120, 1295, 4096, 0, 0, 0}, {136, 512, 5376, 0, 0, 0, 0}, {60, 771, 1285, 4112, 0, 0, 0}, {2570, 5418, 0, 0, 0, 0, 0}, {60, 68, 259, 0, 0, 0, 0}, {204, 1548, 4940, 0, 0, 0, 0}, {522, 120, 1285, 4136, 0, 0, 0}, {522, 68, 1036, 4386, 0, 0, 0}, {240, 1295, 4208, 0, 0, 0, 0}, {240, 1360, 4192, 0, 0, 0, 0}, {554, 68, 1032, 4369, 0, 0, 0}, {554, 120, 1314, 4152, 0, 0, 0}, {204, 1644, 4959, 0, 0, 0, 0}, {284, 288, 768, 68, 1300, 4352, 0}, {5525, 7999, 8192, 21845, 0, 0, 0}, {60, 768, 1370, 4096, 0, 0, 0}, {136, 544, 5431, 0, 0, 0, 0}, {544, 120, 1320, 4112, 0, 0, 0}, {204, 1638, 4915, 0, 0, 0, 0}, {240, 1370, 4144, 0, 0, 0, 0}, {544, 68, 1032, 4403, 0, 0, 0}, {60, 768, 1360, 4176, 0, 0, 0}, {136, 554, 5397, 0, 0, 0, 0}, {60, 68, 278, 0, 0, 0, 0}, {2720, 5439, 0, 0, 0, 0, 0}, {2720, 5376, 0, 0, 0, 0, 0}, {60, 68, 277, 0, 0, 0, 0}, {136, 554, 5418, 0, 0, 0, 0}, {60, 771, 1375, 4188, 0, 0, 0}, {544, 68, 1028, 4352, 0, 0, 0}, {240, 1365, 4096, 0, 0, 0, 0}, {204, 1642, 4864, 0, 0, 0, 0}, {544, 120, 1319, 4128, 0, 0, 0}, {136, 544, 5384, 0, 0, 0, 0}, {60, 771, 1365, 4108, 0, 0, 0}, {5546, 7936, 8192, 16384, 0, 0, 0}, {287, 291, 771, 68, 1028, 4112, 0}, {204, 1632, 4972, 0, 0, 0, 0}, {554, 120, 1325, 4104, 0, 0, 0}, {554, 68, 1028, 4386, 0, 0, 0}, {240, 1375, 4176, 0, 0, 0, 0}, {240, 1280, 4160, 0, 0, 0, 0}, {522, 68, 1024, 4369, 0, 0, 0}, {522, 120, 1290, 4120, 0, 0, 0}, {204, 1536, 4991, 0, 0, 0, 0}, {60, 68, 256, 0, 0, 0, 0}, {2570, 5397, 0, 0, 0, 0, 0}, {60, 768, 1290, 4124, 0, 0, 0}, {136, 512, 5439, 0, 0, 0, 0}, {512, 120, 1280, 4144, 0, 0, 0}, {204, 1546, 4883, 0, 0, 0, 0}, {240, 1290, 4112, 0, 0, 0, 0}, {512, 68, 1024, 4403, 0, 0, 0}, {60, 768, 1280, 4172, 0, 0, 0}, {136, 522, 5405, 0, 0, 0, 0}, {266, 310, 768, 68, 1024, 4116, 0}, {5567, 2560, 13631, 16448, 0, 0, 0}, {5568, 2560, 8192, 21760, 0, 0, 0}, {269, 305, 514, 68, 1285, 4369, 0}, {136, 514, 5474, 0, 0, 0, 0}, {60, 783, 1295, 4096, 0, 0, 0}, {520, 68, 1032, 4352, 0, 0, 0}, {240, 1285, 4192, 0, 0, 0, 0}, {204, 1546, 4972, 0, 0, 0, 0}, {520, 120, 1295, 4152, 0, 0, 0}, {136, 520, 5440, 0, 0, 0, 0}, {60, 783, 1285, 4176, 0, 0, 0}, {2570, 5482, 0, 0, 0, 0, 0}, {60, 68, 263, 0, 0, 0, 0}, {204, 1536, 4864, 0, 0, 0, 0}, {514, 120, 1285, 4112, 0, 0, 0}, {514, 68, 1032, 4386, 0, 0, 0}, {240, 1295, 4144, 0, 0, 0, 0}, {240, 1360, 4128, 0, 0, 0, 0}, {546, 68, 1036, 4369, 0, 0, 0}, {546, 120, 1314, 4096, 0, 0, 0}, {204, 1632, 4883, 0, 0, 0, 0}, {280, 292, 532, 68, 1300, 4352, 0}, {5589, 8063, 13653, 21845, 0, 0, 0}, {60, 780, 1370, 4160, 0, 0, 0}, {136, 552, 5495, 0, 0, 0, 0}, {552, 120, 1320, 4136, 0, 0, 0}, {204, 1642, 4991, 0, 0, 0, 0}, {240, 1370, 4208, 0, 0, 0, 0}, {552, 68, 1036, 4403, 0, 0, 0}, {60, 780, 1360, 4112, 0, 0, 0}, {136, 546, 5461, 0, 0, 0, 0}, {60, 68, 274, 0, 0, 0, 0}, {2720, 5503, 0, 0, 0, 0, 0}, {2720, 5440, 0, 0, 0, 0, 0}, {60, 68, 273, 0, 0, 0, 0}, {136, 546, 5482, 0, 0, 0, 0}, {60, 783, 1375, 4124, 0, 0, 0}, {552, 68, 1024, 4352, 0, 0, 0}, {240, 1365, 4160, 0, 0, 0, 0}, {204, 1638, 4940, 0, 0, 0, 0}, {552, 120, 1319, 4120, 0, 0, 0}, {136, 552, 5448, 0, 0, 0, 0}, {60, 783, 1365, 4172, 0, 0, 0}, {5610, 8000, 13674, 16448, 0, 0, 0}, {283, 295, 532, 68, 1024, 4116, 0}, {204, 1644, 4896, 0, 0, 0, 0}, {546, 120, 1325, 4144, 0, 0, 0}, {546, 68, 1024, 4386, 0, 0, 0}, {240, 1375, 4112, 0, 0, 0, 0}, {240, 1280, 4096, 0, 0, 0, 0}, {514, 68, 1028, 4369, 0, 0, 0}, {514, 120, 1290, 4128, 0, 0, 0}, {204, 1548, 4915, 0, 0, 0, 0}, {60, 68, 260, 0, 0, 0, 0}, {2570, 5461, 0, 0, 0, 0, 0}, {60, 780, 1290, 4188, 0, 0, 0}, {136, 520, 5503, 0, 0, 0, 0}, {520, 120, 1280, 4104, 0, 0, 0}, {204, 1542, 4959, 0, 0, 0, 0}, {240, 1290, 4176, 0, 0, 0, 0}, {520, 68, 1028, 4403, 0, 0, 0}, {60, 780, 1280, 4108, 0, 0, 0}, {136, 514, 5469, 0, 0, 0, 0}, {270, 306, 514, 68, 1028, 4112, 0}, {5631, 2560, 8192, 16384, 0, 0, 0}, {2560, 5632, 0, 0, 0, 0, 0}, {63, 72, 257, 0, 0, 0, 0}, {136, 514, 5160, 0, 0, 0, 0}, {63, 771, 1295, 4111, 0, 0, 0}, {520, 72, 1028, 4104, 0, 0, 0}, {255, 1285, 4959, 0, 0, 0, 0}, {192, 1542, 4192, 0, 0, 0, 0}, {520, 119, 1295, 4352, 0, 0, 0}, {136, 520, 5120, 0, 0, 0, 0}, {63, 771, 1285, 4176, 0, 0, 0}, {5802, 2570, 13834, 17930, 0, 0, 0}, {267, 308, 771, 323, 1028, 4103, 0}, {192, 1548, 4096, 0, 0, 0, 0}, {514, 119, 1285, 4386, 0, 0, 0}, {514, 72, 1028, 4128, 0, 0, 0}, {255, 1295, 4864, 0, 0, 0, 0}, {192, 1632, 4112, 0, 0, 0, 0}, {546, 119, 1314, 4369, 0, 0, 0}, {546, 72, 1024, 4144, 0, 0, 0}, {255, 1375, 4883, 0, 0, 0, 0}, {136, 552, 5140, 0, 0, 0, 0}, {63, 768, 1365, 4160, 0, 0, 0}, {2730, 5654, 0, 0, 0, 0, 0}, {63, 72, 279, 0, 0, 0, 0}, {552, 72, 1024, 4120, 0, 0, 0}, {255, 1365, 4940, 0, 0, 0, 0}, {192, 1642, 4208, 0, 0, 0, 0}, {552, 119, 1320, 4403, 0, 0, 0}, {5820, 7196, 8224, 20560, 0, 0, 0}, {285, 290, 768, 341, 1024, 4096, 0}, {136, 546, 5180, 0, 0, 0, 0}, {63, 768, 1375, 4127, 0, 0, 0}, {5760, 7200, 8224, 17952, 0, 0, 0}, {286, 289, 771, 342, 1298, 4369, 0}, {136, 546, 5120, 0, 0, 0, 0}, {63, 771, 1360, 4112, 0, 0, 0}, {552, 72, 1036, 4136, 0, 0, 0}, {255, 1370, 4991, 0, 0, 0, 0}, {192, 1638, 4160, 0, 0, 0, 0}, {552, 119, 1319, 4352, 0, 0, 0}, {136, 552, 5160, 0, 0, 0, 0}, {63, 771, 1370, 4175, 0, 0, 0}, {2730, 5674, 0, 0, 0, 0, 0}, {63, 72, 276, 0, 0, 0, 0}, {192, 1644, 4128, 0, 0, 0, 0}, {546, 119, 1325, 4386, 0, 0, 0}, {546, 72, 1036, 4096, 0, 0, 0}, {255, 1360, 4896, 0, 0, 0, 0}, {192, 1536, 4144, 0, 0, 0, 0}, {514, 119, 1290, 4369, 0, 0, 0}, {514, 72, 1032, 4112, 0, 0, 0}, {255, 1280, 4915, 0, 0, 0, 0}, {136, 520, 5180, 0, 0, 0, 0}, {63, 768, 1290, 4191, 0, 0, 0}, {5782, 2570, 13878, 20560, 0, 0, 0}, {264, 311, 768, 320, 1280, 4352, 0}, {520, 72, 1032, 4152, 0, 0, 0}, {255, 1290, 4972, 0, 0, 0, 0}, {192, 1546, 4176, 0, 0, 0, 0}, {520, 119, 1280, 4403, 0, 0, 0}, {2560, 5692, 0, 0, 0, 0, 0}, {63, 72, 258, 0, 0, 0, 0}, {136, 514, 5140, 0, 0, 0, 0}, {63, 768, 1280, 4096, 0, 0, 0}, {192, 1536, 4160, 0, 0, 0, 0}, {522, 119, 1285, 4369, 0, 0, 0}, {522, 72, 1024, 4136, 0, 0, 0}, {255, 1295, 4940, 0, 0, 0, 0}, {136, 512, 5188, 0, 0, 0, 0}, {63, 783, 1285, 4112, 0, 0, 0}, {5862, 2570, 8224, 17990, 0, 0, 0}, {271, 304, 512, 327, 1024, 4352, 0}, {512, 72, 1024, 4096, 0, 0, 0}, {255, 1285, 4883, 0, 0, 0, 0}, {192, 1546, 4128, 0, 0, 0, 0}, {512, 119, 1295, 4403, 0, 0, 0}, {2560, 5708, 0, 0, 0, 0, 0}, {63, 72, 261, 0, 0, 0, 0}, {136, 522, 5228, 0, 0, 0, 0}, {63, 783, 1295, 4175, 0, 0, 0}, {5872, 7248, 13904, 20560, 0, 0, 0}, {281, 294, 533, 337, 1028, 4369, 0}, {136, 554, 5240, 0, 0, 0, 0}, {63, 780, 1375, 4191, 0, 0, 0}, {544, 72, 1028, 4112, 0, 0, 0}, {255, 1365, 4864, 0, 0, 0, 0}, {192, 1638, 4144, 0, 0, 0, 0}, {544, 119, 1320, 4352, 0, 0, 0}, {136, 544, 5200, 0, 0, 0, 0}, {63, 780, 1365, 4096, 0, 0, 0}, {2730, 5722, 0, 0, 0, 0, 0}, {63, 72, 275, 0, 0, 0, 0}, {192, 1644, 4176, 0, 0, 0, 0}, {554, 119, 1314, 4386, 0, 0, 0}, {554, 72, 1028, 4152, 0, 0, 0}, {255, 1375, 4959, 0, 0, 0, 0}, {192, 1632, 4192, 0, 0, 0, 0}, {554, 119, 1325, 4369, 0, 0, 0}, {554, 72, 1032, 4104, 0, 0, 0}, {255, 1360, 4972, 0, 0, 0, 0}, {136, 544, 5228, 0, 0, 0, 0}, {63, 783, 1370, 4111, 0, 0, 0}, {2730, 5734, 0, 0, 0, 0, 0}, {63, 72, 272, 0, 0, 0, 0}, {544, 72, 1032, 4128, 0, 0, 0}, {255, 1370, 4915, 0, 0, 0, 0}, {192, 1642, 4096, 0, 0, 0, 0}, {544, 119, 1319, 4403, 0, 0, 0}, {5836, 7276, 13932, 18028, 0, 0, 0}, {282, 293, 533, 338, 1298, 4103, 0}, {136, 554, 5188, 0, 0, 0, 0}, {63, 783, 1360, 4176, 0, 0, 0}, {2560, 5744, 0, 0, 0, 0, 0}, {63, 72, 262, 0, 0, 0, 0}, {136, 522, 5200, 0, 0, 0, 0}, {63, 780, 1280, 4160, 0, 0, 0}, {512, 72, 1036, 4144, 0, 0, 0}, {255, 1290, 4896, 0, 0, 0, 0}, {192, 1542, 4112, 0, 0, 0, 0}, {512, 119, 1280, 4352, 0, 0, 0}, {136, 512, 5240, 0, 0, 0, 0}, {63, 780, 1290, 4127, 0, 0, 0}, {5850, 2570, 8224, 20560, 0, 0, 0}, {268, 307, 512, 324, 1280, 4096, 0}, {192, 1548, 4208, 0, 0, 0, 0}, {522, 119, 1290, 4386, 0, 0, 0}, {522, 72, 1036, 4120, 0, 0, 0}, {255, 1280, 4991, 0, 0, 0, 0}, {5760, 2560, 13824, 20480, 0, 0, 0}, {265, 310, 771, 321, 1285, 4369, 0}, {136, 522, 5160, 0, 0, 0, 0}, {63, 771, 1295, 4175, 0, 0, 0}, {512, 72, 1036, 4096, 0, 0, 0}, {255, 1285, 4896, 0, 0, 0, 0}, {192, 1542, 4128, 0, 0, 0, 0}, {512, 119, 1295, 4352, 0, 0, 0}, {136, 512, 5120, 0, 0, 0, 0}, {63, 771, 1285, 4112, 0, 0, 0}, {2570, 5674, 0, 0, 0, 0, 0}, {63, 72, 259, 0, 0, 0, 0}, {192, 1548, 4160, 0, 0, 0, 0}, {522, 119, 1285, 4386, 0, 0, 0}, {522, 72, 1036, 4136, 0, 0, 0}, {255, 1295, 4991, 0, 0, 0, 0}, {192, 1632, 4176, 0, 0, 0, 0}, {554, 119, 1314, 4369, 0, 0, 0}, {554, 72, 1032, 4152, 0, 0, 0}, {255, 1375, 4972, 0, 0, 0, 0}, {136, 544, 5140, 0, 0, 0, 0}, {63, 768, 1365, 4096, 0, 0, 0}, {5782, 7228, 8192, 18022, 0, 0, 0}, {287, 288, 768, 343, 1303, 4352, 0}, {544, 72, 1032, 4112, 0, 0, 0}, {255, 1365, 4915, 0, 0, 0, 0}, {192, 1642, 4144, 0, 0, 0, 0}, {544, 119, 1320, 4403, 0, 0, 0}, {2720, 5692, 0, 0, 0, 0, 0}, {63, 72, 277, 0, 0, 0, 0}, {136, 554, 5180, 0, 0, 0, 0}, {63, 768, 1375, 4191, 0, 0, 0}, {2720, 5632, 0, 0, 0, 0, 0}, {63, 72, 278, 0, 0, 0, 0}, {136, 554, 5120, 0, 0, 0, 0}, {63, 771, 1360, 4176, 0, 0, 0}, {544, 72, 1028, 4128, 0, 0, 0}, {255, 1370, 4864, 0, 0, 0, 0}, {192, 1638, 4096, 0, 0, 0, 0}, {544, 119, 1319, 4352, 0, 0, 0}, {136, 544, 5160, 0, 0, 0, 0}, {63, 771, 1370, 4111, 0, 0, 0}, {5802, 7168, 8192, 20480, 0, 0, 0}, {284, 291, 771, 340, 1028, 4112, 0}, {192, 1644, 4192, 0, 0, 0, 0}, {554, 119, 1325, 4386, 0, 0, 0}, {554, 72, 1028, 4104, 0, 0, 0}, {255, 1360, 4959, 0, 0, 0, 0}, {192, 1536, 4208, 0, 0, 0, 0}, {522, 119, 1290, 4369, 0, 0, 0}, {522, 72, 1024, 4120, 0, 0, 0}, {255, 1280, 4940, 0, 0, 0, 0}, {136, 512, 5180, 0, 0, 0, 0}, {63, 768, 1290, 4127, 0, 0, 0}, {2570, 5654, 0, 0, 0, 0, 0}, {63, 72, 256, 0, 0, 0, 0}, {512, 72, 1024, 4144, 0, 0, 0}, {255, 1290, 4883, 0, 0, 0, 0}, {192, 1546, 4112, 0, 0, 0, 0}, {512, 119, 1280, 4403, 0, 0, 0}, {5820, 2560, 13884, 17996, 0, 0, 0}, {266, 309, 768, 322, 1024, 4119, 0}, {136, 522, 5140, 0, 0, 0, 0}, {63, 768, 1280, 4160, 0, 0, 0}, {192, 1536, 4096, 0, 0, 0, 0}, {514, 119, 1285, 4369, 0, 0, 0}, {514, 72, 1032, 4128, 0, 0, 0}, {255, 1295, 4915, 0, 0, 0, 0}, {136, 520, 5188, 0, 0, 0, 0}, {63, 783, 1285, 4176, 0, 0, 0}, {2570, 5734, 0, 0, 0, 0, 0}, {63, 72, 263, 0, 0, 0, 0}, {520, 72, 1032, 4104, 0, 0, 0}, {255, 1285, 4972, 0, 0, 0, 0}, {192, 1546, 4192, 0, 0, 0, 0}, {520, 119, 1295, 4403, 0, 0, 0}, {5836, 2560, 8192, 20480, 0, 0, 0}, {269, 306, 514, 325, 1285, 4112, 0}, {136, 514, 5228, 0, 0, 0, 0}, {63, 783, 1295, 4111, 0, 0, 0}, {2720, 5744, 0, 0, 0, 0, 0}, {63, 72, 273, 0, 0, 0, 0}, {136, 546, 5240, 0, 0, 0, 0}, {63, 780, 1375, 4127, 0, 0, 0}, {552, 72, 1036, 4120, 0, 0, 0}, {255, 1365, 4991, 0, 0, 0, 0}, {192, 1638, 4208, 0, 0, 0, 0}, {552, 119, 1320, 4352, 0, 0, 0}, {136, 552, 5200, 0, 0, 0, 0}, {63, 780, 1365, 4160, 0, 0, 0}, {5850, 7280, 13914, 17962, 0, 0, 0}, {283, 292, 535, 339, 1303, 4119, 0}, {192, 1644, 4112, 0, 0, 0, 0}, {546, 119, 1314, 4386, 0, 0, 0}, {546, 72, 1036, 4144, 0, 0, 0}, {255, 1375, 4896, 0, 0, 0, 0}, {192, 1632, 4128, 0, 0, 0, 0}, {546, 119, 1325, 4369, 0, 0, 0}, {546, 72, 1024, 4096, 0, 0, 0}, {255, 1360, 4883, 0, 0, 0, 0}, {136, 552, 5228, 0, 0, 0, 0}, {63, 783, 1370, 4175, 0, 0, 0}, {5862, 7244, 13926, 20480, 0, 0, 0}, {280, 295, 535, 336, 1024, 4352, 0}, {552, 72, 1024, 4136, 0, 0, 0}, {255, 1370, 4940, 0, 0, 0, 0}, {192, 1642, 4160, 0, 0, 0, 0}, {552, 119, 1319, 4403, 0, 0, 0}, {2720, 5708, 0, 0, 0, 0, 0}, {63, 72, 274, 0, 0, 0, 0}, {136, 546, 5188, 0, 0, 0, 0}, {63, 783, 1360, 4112, 0, 0, 0}, {5872, 2560, 8192, 17920, 0, 0, 0}, {270, 305, 514, 326, 1028, 4369, 0}, {136, 514, 5200, 0, 0, 0, 0}, {63, 780, 1280, 4096, 0, 0, 0}, {520, 72, 1028, 4152, 0, 0, 0}, {255, 1290, 4959, 0, 0, 0, 0}, {192, 1542, 4176, 0, 0, 0, 0}, {520, 119, 1280, 4352, 0, 0, 0}, {136, 520, 5240, 0, 0, 0, 0}, {63, 780, 1290, 4191, 0, 0, 0}, {2570, 5722, 0, 0, 0, 0, 0}, {63, 72, 260, 0, 0, 0, 0}, {192, 1548, 4144, 0, 0, 0, 0}, {514, 119, 1290, 4386, 0, 0, 0}, {514, 72, 1028, 4112, 0, 0, 0}, {255, 1280, 4864, 0, 0, 0, 0}, {16128, 18432, 0, 0, 0, 0, 0}, {10, 22, 257, 0, 0, 0, 0}, {10, 32, 514, 5376, 0, 0, 0}, {60, 771, 17408, 0, 0, 0, 0}, {13056, 76, 1028, 0, 0, 0, 0}, {10, 80, 1285, 4608, 0, 0, 0}, {10, 102, 1542, 4352, 0, 0, 0}, {12288, 112, 1799, 0, 0, 0, 0}, {128, 2056, 14088, 16384, 0, 0, 0}, {10, 54, 771, 80, 1285, 4357, 0}, {10, 5888, 0, 0, 0, 0, 0}, {60, 771, 76, 1028, 0, 0, 0}, {204, 3084, 13056, 17408, 0, 0, 0}, {10, 32, 514, 80, 1285, 4096, 0}, {10, 32, 514, 70, 1028, 4354, 0}, {240, 3855, 12288, 18191, 0, 0, 0}, {32, 80, 1792, 4112, 0, 0, 0}, {3072, 102, 4369, 0, 0, 0, 0}, {3840, 90, 4626, 0, 0, 0, 0}, {32, 76, 1024, 4883, 0, 0, 0}, {60, 768, 80, 5140, 0, 0, 0}, {2048, 42, 5397, 0, 0, 0, 0}, {768, 1024, 22, 0, 0, 0, 0}, {160, 5911, 0, 0, 0, 0, 0}, {3840, 80, 5912, 0, 0, 0, 0}, {42, 76, 1024, 4377, 0, 0, 0}, {42, 90, 1792, 4634, 0, 0, 0}, {3072, 108, 5915, 0, 0, 0, 0}, {28, 32, 768, 80, 1024, 4096, 0}, {170, 7453, 8738, 21845, 0, 0, 0}, {60, 768, 90, 4382, 0, 0, 0}, {2048, 32, 5919, 0, 0, 0, 0}, {2048, 32, 5888, 0, 0, 0, 0}, {60, 771, 90, 4369, 0, 0, 0}, {170, 7458, 8738, 21760, 0, 0, 0}, {28, 32, 771, 80, 1040, 4112, 0}, {3084, 108, 5924, 0, 0, 0, 0}, {42, 90, 1807, 4608, 0, 0, 0}, {42, 76, 1036, 4352, 0, 0, 0}, {3855, 80, 5927, 0, 0, 0, 0}, {160, 5928, 0, 0, 0, 0, 0}, {771, 1036, 22, 0, 0, 0, 0}, {2048, 42, 5376, 0, 0, 0, 0}, {60, 771, 80, 5140, 0, 0, 0}, {32, 76, 1036, 4864, 0, 0, 0}, {3855, 90, 4642, 0, 0, 0, 0}, {3084, 102, 4386, 0, 0, 0, 0}, {32, 80, 1807, 4096, 0, 0, 0}, {240, 3840, 12336, 18224, 0, 0, 0}, {10, 32, 514, 70, 1026, 4369, 0}, {10, 32, 514, 80, 1280, 4112, 0}, {204, 3072, 13107, 17408, 0, 0, 0}, {60, 768, 76, 1032, 0, 0, 0}, {10, 5941, 0, 0, 0, 0, 0}, {10, 54, 768, 80, 1280, 4352, 0}, {128, 2056, 14135, 16448, 0, 0, 0}, {12336, 112, 1800, 0, 0, 0, 0}, {10, 102, 1536, 4403, 0, 0, 0}, {10, 80, 1280, 4656, 0, 0, 0}, {13107, 76, 1032, 0, 0, 0, 0}, {60, 768, 17408, 0, 0, 0, 0}, {10, 32, 514, 5397, 0, 0, 0}, {10, 22, 258, 0, 0, 0, 0}, {16191, 18624, 0, 0, 0, 0, 0}, {128, 2048, 14144, 16448, 0, 0, 0}, {10, 54, 773, 80, 1285, 4369, 0}, {10, 5954, 0, 0, 0, 0, 0}, {60, 783, 76, 1024, 0, 0, 0}, {204, 3072, 13056, 17476, 0, 0, 0}, {10, 32, 512, 80, 1285, 4112, 0}, {10, 32, 512, 70, 1024, 4352, 0}, {240, 3855, 12336, 18247, 0, 0, 0}, {16320, 18504, 0, 0, 0, 0, 0}, {10, 22, 261, 0, 0, 0, 0}, {10, 32, 512, 5440, 0, 0, 0}, {60, 783, 17476, 0, 0, 0, 0}, {13056, 76, 1024, 0, 0, 0, 0}, {10, 80, 1285, 4626, 0, 0, 0}, {10, 102, 1536, 4386, 0, 0, 0}, {12336, 112, 1807, 0, 0, 0, 0}, {3840, 80, 5888, 0, 0, 0, 0}, {42, 76, 1028, 4369, 0, 0, 0}, {42, 90, 1800, 4616, 0, 0, 0}, {3084, 108, 5951, 0, 0, 0, 0}, {28, 32, 784, 80, 1028, 4112, 0}, {170, 7509, 8704, 21845, 0, 0, 0}, {60, 780, 90, 4352, 0, 0, 0}, {2056, 32, 5975, 0, 0, 0, 0}, {32, 80, 1800, 4096, 0, 0, 0}, {3084, 102, 4403, 0, 0, 0, 0}, {3840, 90, 4608, 0, 0, 0, 0}, {32, 76, 1028, 4883, 0, 0, 0}, {60, 780, 80, 5120, 0, 0, 0}, {2056, 42, 5461, 0, 0, 0, 0}, {780, 1028, 22, 0, 0, 0, 0}, {160, 5983, 0, 0, 0, 0, 0}, {160, 5984, 0, 0, 0, 0, 0}, {783, 1032, 22, 0, 0, 0, 0}, {2056, 42, 5440, 0, 0, 0, 0}, {60, 783, 80, 5120, 0, 0, 0}, {32, 76, 1032, 4864, 0, 0, 0}, {3855, 90, 4656, 0, 0, 0, 0}, {3072, 102, 4352, 0, 0, 0, 0}, {32, 80, 1799, 4112, 0, 0, 0}, {2056, 32, 5960, 0, 0, 0, 0}, {60, 783, 90, 4367, 0, 0, 0}, {170, 7530, 8704, 21760, 0, 0, 0}, {28, 32, 787, 80, 1044, 4096, 0}, {3072, 108, 5888, 0, 0, 0, 0}, {42, 90, 1799, 4626, 0, 0, 0}, {42, 76, 1032, 4360, 0, 0, 0}, {3855, 80, 5951, 0, 0, 0, 0}, {12288, 112, 1792, 0, 0, 0, 0}, {10, 102, 1542, 4369, 0, 0, 0}, {10, 80, 1280, 4642, 0, 0, 0}, {13107, 76, 1036, 0, 0, 0, 0}, {60, 780, 17476, 0, 0, 0, 0}, {10, 32, 512, 5461, 0, 0, 0}, {10, 22, 262, 0, 0, 0, 0}, {16383, 18568, 0, 0, 0, 0, 0}, {240, 3840, 12288, 18296, 0, 0, 0}, {10, 32, 512, 70, 1030, 4371, 0}, {10, 32, 512, 80, 1280, 4096, 0}, {204, 3084, 13107, 17476, 0, 0, 0}, {60, 780, 76, 1036, 0, 0, 0}, {10, 6007, 0, 0, 0, 0, 0}, {10, 54, 774, 80, 1280, 4372, 0}, {128, 2048, 14207, 16384, 0, 0, 0}, {128, 2048, 14080, 16384, 0, 0, 0}, {10, 54, 771, 80, 1285, 4369, 0}, {10, 5922, 0, 0, 0, 0, 0}, {60, 771, 76, 1036, 0, 0, 0}, {204, 3084, 13056, 17476, 0, 0, 0}, {10, 32, 512, 80, 1285, 4096, 0}, {10, 32, 512, 70, 1030, 4352, 0}, {240, 3855, 12288, 18295, 0, 0, 0}, {16128, 18568, 0, 0, 0, 0, 0}, {10, 22, 259, 0, 0, 0, 0}, {10, 32, 512, 5376, 0, 0, 0}, {60, 771, 17476, 0, 0, 0, 0}, {13056, 76, 1036, 0, 0, 0, 0}, {10, 80, 1285, 4642, 0, 0, 0}, {10, 102, 1542, 4386, 0, 0, 0}, {12288, 112, 1807, 0, 0, 0, 0}, {3840, 80, 5936, 0, 0, 0, 0}, {42, 76, 1032, 4369, 0, 0, 0}, {42, 90, 1800, 4626, 0, 0, 0}, {3072, 108, 5939, 0, 0, 0, 0}, {28, 32, 768, 80, 1044, 4096, 0}, {170, 7487, 8704, 21845, 0, 0, 0}, {60, 768, 90, 4352, 0, 0, 0}, {2056, 32, 5911, 0, 0, 0, 0}, {32, 80, 1800, 4112, 0, 0, 0}, {3072, 102, 4403, 0, 0, 0, 0}, {3840, 90, 4656, 0, 0, 0, 0}, {32, 76, 1032, 4883, 0, 0, 0}, {60, 768, 80, 5120, 0, 0, 0}, {2056, 42, 5397, 0, 0, 0, 0}, {768, 1032, 22, 0, 0, 0, 0}, {160, 5951, 0, 0, 0, 0, 0}, {160, 5888, 0, 0, 0, 0, 0}, {771, 1028, 22, 0, 0, 0, 0}, {2056, 42, 5376, 0, 0, 0, 0}, {60, 771, 80, 5120, 0, 0, 0}, {32, 76, 1028, 4864, 0, 0, 0}, {3855, 90, 4608, 0, 0, 0, 0}, {3084, 102, 4352, 0, 0, 0, 0}, {32, 80, 1799, 4096, 0, 0, 0}, {2056, 32, 5896, 0, 0, 0, 0}, {60, 771, 90, 4367, 0, 0, 0}, {170, 7424, 8704, 21760, 0, 0, 0}, {28, 32, 771, 80, 1028, 4112, 0}, {3084, 108, 5900, 0, 0, 0, 0}, {42, 90, 1799, 4616, 0, 0, 0}, {42, 76, 1028, 4360, 0, 0, 0}, {3855, 80, 5903, 0, 0, 0, 0}, {12336, 112, 1792, 0, 0, 0, 0}, {10, 102, 1536, 4369, 0, 0, 0}, {10, 80, 1280, 4626, 0, 0, 0}, {13107, 76, 1024, 0, 0, 0, 0}, {60, 768, 17476, 0, 0, 0, 0}, {10, 32, 512, 5397, 0, 0, 0}, {10, 22, 256, 0, 0, 0, 0}, {16191, 18504, 0, 0, 0, 0, 0}, {240, 3840, 12336, 18248, 0, 0, 0}, {10, 32, 512, 70, 1024, 4371, 0}, {10, 32, 512, 80, 1280, 4112, 0}, {204, 3072, 13107, 17476, 0, 0, 0}, {60, 768, 76, 1024, 0, 0, 0}, {10, 5911, 0, 0, 0, 0, 0}, {10, 54, 768, 80, 1280, 4372, 0}, {128, 2048, 14143, 16448, 0, 0, 0}, {16320, 18624, 0, 0, 0, 0, 0}, {10, 22, 263, 0, 0, 0, 0}, {10, 32, 514, 5440, 0, 0, 0}, {60, 783, 17408, 0, 0, 0, 0}, {13056, 76, 1032, 0, 0, 0, 0}, {10, 80, 1285, 4656, 0, 0, 0}, {10, 102, 1536, 4352, 0, 0, 0}, {12336, 112, 1799, 0, 0, 0, 0}, {128, 2056, 14152, 16448, 0, 0, 0}, {10, 54, 773, 80, 1285, 4357, 0}, {10, 5984, 0, 0, 0, 0, 0}, {60, 783, 76, 1032, 0, 0, 0}, {204, 3072, 13056, 17408, 0, 0, 0}, {10, 32, 514, 80, 1285, 4112, 0}, {10, 32, 514, 70, 1026, 4354, 0}, {240, 3855, 12336, 18239, 0, 0, 0}, {32, 80, 1792, 4096, 0, 0, 0}, {3084, 102, 4369, 0, 0, 0, 0}, {3840, 90, 4642, 0, 0, 0, 0}, {32, 76, 1036, 4883, 0, 0, 0}, {60, 780, 80, 5140, 0, 0, 0}, {2048, 42, 5461, 0, 0, 0, 0}, {780, 1036, 22, 0, 0, 0, 0}, {160, 6007, 0, 0, 0, 0, 0}, {3840, 80, 5928, 0, 0, 0, 0}, {42, 76, 1036, 4377, 0, 0, 0}, {42, 90, 1792, 4608, 0, 0, 0}, {3084, 108, 5911, 0, 0, 0, 0}, {28, 32, 784, 80, 1040, 4112, 0}, {170, 7543, 8738, 21845, 0, 0, 0}, {60, 780, 90, 4382, 0, 0, 0}, {2048, 32, 5983, 0, 0, 0, 0}, {2048, 32, 5952, 0, 0, 0, 0}, {60, 783, 90, 4369, 0, 0, 0}, {170, 7496, 8738, 21760, 0, 0, 0}, {28, 32, 787, 80, 1024, 4096, 0}, {3072, 108, 5928, 0, 0, 0, 0}, {42, 90, 1807, 4634, 0, 0, 0}, {42, 76, 1024, 4352, 0, 0, 0}, {3855, 80, 5911, 0, 0, 0, 0}, {160, 5960, 0, 0, 0, 0, 0}, {783, 1024, 22, 0, 0, 0, 0}, {2048, 42, 5440, 0, 0, 0, 0}, {60, 783, 80, 5140, 0, 0, 0}, {32, 76, 1024, 4864, 0, 0, 0}, {3855, 90, 4626, 0, 0, 0, 0}, {3072, 102, 4386, 0, 0, 0, 0}, {32, 80, 1807, 4112, 0, 0, 0}, {240, 3840, 12288, 18176, 0, 0, 0}, {10, 32, 514, 70, 1028, 4369, 0}, {10, 32, 514, 80, 1280, 4096, 0}, {204, 3084, 13107, 17408, 0, 0, 0}, {60, 780, 76, 1028, 0, 0, 0}, {10, 5973, 0, 0, 0, 0, 0}, {10, 54, 774, 80, 1280, 4352, 0}, {128, 2056, 14199, 16384, 0, 0, 0}, {12288, 112, 1800, 0, 0, 0, 0}, {10, 102, 1542, 4403, 0, 0, 0}, {10, 80, 1280, 4608, 0, 0, 0}, {13107, 76, 1028, 0, 0, 0, 0}, {60, 780, 17408, 0, 0, 0, 0}, {10, 32, 514, 5461, 0, 0, 0}, {10, 22, 260, 0, 0, 0, 0}, {16383, 18432, 0, 0, 0, 0, 0}, {12288, 18432, 0, 0, 0, 0, 0}, {10, 19, 257, 0, 0, 0, 0}, {10, 32, 514, 4096, 0, 0, 0}, {51, 771, 17408, 0, 0, 0, 0}, {12300, 76, 1028, 0, 0, 0, 0}, {10, 85, 1285, 4613, 0, 0, 0}, {10, 102, 1542, 4614, 0, 0, 0}, {12303, 127, 1799, 0, 0, 0, 0}, {128, 2056, 12288, 16384, 0, 0, 0}, {10, 51, 771, 85, 1285, 4352, 0}, {10, 4608, 0, 0, 0, 0, 0}, {51, 771, 76, 1028, 0, 0, 0}, {204, 3084, 12300, 17408, 0, 0, 0}, {10, 32, 514, 85, 1285, 4101, 0}, {10, 32, 514, 70, 1028, 4102, 0}, {255, 3855, 12303, 18191, 0, 0, 0}, {2048, 32, 4112, 0, 0, 0, 0}, {51, 768, 85, 4369, 0, 0, 0}, {170, 4626, 0, 0, 0, 0, 0}, {768, 1024, 19, 0, 0, 0, 0}, {3072, 108, 5140, 0, 0, 0, 0}, {42, 85, 1792, 4629, 0, 0, 0}, {42, 76, 1024, 4630, 0, 0, 0}, {3840, 95, 5911, 0, 0, 0, 0}, {160, 6168, 12336, 20560, 0, 0, 0}, {25, 51, 768, 85, 1024, 4352, 0}, {2048, 42, 4634, 0, 0, 0, 0}, {51, 768, 95, 5147, 0, 0, 0}, {32, 76, 1024, 4124, 0, 0, 0}, {3840, 85, 4637, 0, 0, 0, 0}, {3072, 102, 4638, 0, 0, 0, 0}, {32, 95, 1792, 4127, 0, 0, 0}, {2048, 32, 4096, 0, 0, 0, 0}, {51, 771, 85, 4369, 0, 0, 0}, {170, 4642, 0, 0, 0, 0, 0}, {771, 1036, 19, 0, 0, 0, 0}, {3084, 108, 5160, 0, 0, 0, 0}, {42, 85, 1807, 4623, 0, 0, 0}, {42, 76, 1036, 4620, 0, 0, 0}, {3855, 95, 5928, 0, 0, 0, 0}, {160, 6184, 12288, 20480, 0, 0, 0}, {25, 51, 771, 85, 1045, 4352, 0}, {2048, 42, 4608, 0, 0, 0, 0}, {51, 771, 95, 5140, 0, 0, 0}, {32, 76, 1036, 4108, 0, 0, 0}, {3855, 85, 4653, 0, 0, 0, 0}, {3084, 102, 4654, 0, 0, 0, 0}, {32, 95, 1807, 4111, 0, 0, 0}, {12336, 18624, 0, 0, 0, 0, 0}, {10, 19, 258, 0, 0, 0, 0}, {10, 32, 514, 4112, 0, 0, 0}, {51, 768, 17408, 0, 0, 0, 0}, {12348, 76, 1032, 0, 0, 0, 0}, {10, 85, 1280, 4661, 0, 0, 0}, {10, 102, 1536, 4662, 0, 0, 0}, {12351, 127, 1800, 0, 0, 0, 0}, {128, 2056, 12336, 16448, 0, 0, 0}, {10, 51, 768, 85, 1280, 4352, 0}, {10, 4656, 0, 0, 0, 0, 0}, {51, 768, 76, 1032, 0, 0, 0}, {204, 3072, 12348, 17408, 0, 0, 0}, {10, 32, 514, 85, 1280, 4117, 0}, {10, 32, 514, 70, 1026, 4118, 0}, {255, 3840, 12351, 18239, 0, 0, 0}, {128, 2048, 12352, 16448, 0, 0, 0}, {10, 51, 773, 85, 1285, 4369, 0}, {10, 4674, 0, 0, 0, 0, 0}, {51, 783, 76, 1024, 0, 0, 0}, {204, 3072, 12288, 17476, 0, 0, 0}, {10, 32, 512, 85, 1285, 4112, 0}, {10, 32, 512, 70, 1024, 4096, 0}, {255, 3855, 12336, 18247, 0, 0, 0}, {12480, 18504, 0, 0, 0, 0, 0}, {10, 19, 261, 0, 0, 0, 0}, {10, 32, 512, 4160, 0, 0, 0}, {51, 783, 17476, 0, 0, 0, 0}, {12288, 76, 1024, 0, 0, 0, 0}, {10, 85, 1285, 4626, 0, 0, 0}, {10, 102, 1536, 4642, 0, 0, 0}, {12336, 127, 1807, 0, 0, 0, 0}, {160, 6224, 12368, 20560, 0, 0, 0}, {25, 51, 789, 85, 1028, 4369, 0}, {2056, 42, 4690, 0, 0, 0, 0}, {51, 780, 95, 5120, 0, 0, 0}, {32, 76, 1028, 4112, 0, 0, 0}, {3840, 85, 4608, 0, 0, 0, 0}, {3084, 102, 4656, 0, 0, 0, 0}, {32, 95, 1800, 4096, 0, 0, 0}, {2056, 32, 4176, 0, 0, 0, 0}, {51, 780, 85, 4352, 0, 0, 0}, {170, 4698, 0, 0, 0, 0, 0}, {780, 1028, 19, 0, 0, 0, 0}, {3084, 108, 5180, 0, 0, 0, 0}, {42, 85, 1800, 4616, 0, 0, 0}, {42, 76, 1028, 4626, 0, 0, 0}, {3840, 95, 5888, 0, 0, 0, 0}, {160, 6240, 12384, 20480, 0, 0, 0}, {25, 51, 790, 85, 1041, 4369, 0}, {2056, 42, 4680, 0, 0, 0, 0}, {51, 783, 95, 5135, 0, 0, 0}, {32, 76, 1032, 4096, 0, 0, 0}, {3855, 85, 4656, 0, 0, 0, 0}, {3072, 102, 4608, 0, 0, 0, 0}, {32, 95, 1799, 4112, 0, 0, 0}, {2056, 32, 4160, 0, 0, 0, 0}, {51, 783, 85, 4352, 0, 0, 0}, {170, 4714, 0, 0, 0, 0, 0}, {783, 1032, 19, 0, 0, 0, 0}, {3072, 108, 5120, 0, 0, 0, 0}, {42, 85, 1799, 4626, 0, 0, 0}, {42, 76, 1032, 4616, 0, 0, 0}, {3855, 95, 5951, 0, 0, 0, 0}, {128, 2048, 12400, 16384, 0, 0, 0}, {10, 51, 774, 85, 1280, 4369, 0}, {10, 4722, 0, 0, 0, 0, 0}, {51, 780, 76, 1036, 0, 0, 0}, {204, 3084, 12336, 17476, 0, 0, 0}, {10, 32, 512, 85, 1280, 4096, 0}, {10, 32, 512, 70, 1030, 4112, 0}, {255, 3840, 12288, 18295, 0, 0, 0}, {12528, 18568, 0, 0, 0, 0, 0}, {10, 19, 262, 0, 0, 0, 0}, {10, 32, 512, 4176, 0, 0, 0}, {51, 780, 17476, 0, 0, 0, 0}, {12336, 76, 1036, 0, 0, 0, 0}, {10, 85, 1280, 4642, 0, 0, 0}, {10, 102, 1542, 4626, 0, 0, 0}, {12288, 127, 1792, 0, 0, 0, 0}, {128, 2048, 12288, 16384, 0, 0, 0}, {10, 51, 771, 85, 1285, 4369, 0}, {10, 4642, 0, 0, 0, 0, 0}, {51, 771, 76, 1036, 0, 0, 0}, {204, 3084, 12300, 17476, 0, 0, 0}, {10, 32, 512, 85, 1285, 4101, 0}, {10, 32, 512, 70, 1030, 4102, 0}, {255, 3855, 12303, 18296, 0, 0, 0}, {12288, 18568, 0, 0, 0, 0, 0}, {10, 19, 259, 0, 0, 0, 0}, {10, 32, 512, 4096, 0, 0, 0}, {51, 771, 17476, 0, 0, 0, 0}, {12300, 76, 1036, 0, 0, 0, 0}, {10, 85, 1285, 4647, 0, 0, 0}, {10, 102, 1542, 4644, 0, 0, 0}, {12303, 127, 1807, 0, 0, 0, 0}, {160, 6192, 12336, 20560, 0, 0, 0}, {25, 51, 768, 85, 1041, 4369, 0}, {2056, 42, 4626, 0, 0, 0, 0}, {51, 768, 95, 5120, 0, 0, 0}, {32, 76, 1032, 4124, 0, 0, 0}, {3840, 85, 4671, 0, 0, 0, 0}, {3072, 102, 4668, 0, 0, 0, 0}, {32, 95, 1800, 4127, 0, 0, 0}, {2056, 32, 4112, 0, 0, 0, 0}, {51, 768, 85, 4352, 0, 0, 0}, {170, 4656, 0, 0, 0, 0, 0}, {768, 1032, 19, 0, 0, 0, 0}, {3072, 108, 5180, 0, 0, 0, 0}, {42, 85, 1800, 4637, 0, 0, 0}, {42, 76, 1032, 4638, 0, 0, 0}, {3840, 95, 5951, 0, 0, 0, 0}, {160, 6144, 12288, 20480, 0, 0, 0}, {25, 51, 771, 85, 1028, 4369, 0}, {2056, 42, 4616, 0, 0, 0, 0}, {51, 771, 95, 5135, 0, 0, 0}, {32, 76, 1028, 4108, 0, 0, 0}, {3855, 85, 4623, 0, 0, 0, 0}, {3084, 102, 4620, 0, 0, 0, 0}, {32, 95, 1799, 4111, 0, 0, 0}, {2056, 32, 4096, 0, 0, 0, 0}, {51, 771, 85, 4352, 0, 0, 0}, {170, 4608, 0, 0, 0, 0, 0}, {771, 1028, 19, 0, 0, 0, 0}, {3084, 108, 5120, 0, 0, 0, 0}, {42, 85, 1799, 4615, 0, 0, 0}, {42, 76, 1028, 4612, 0, 0, 0}, {3855, 95, 5888, 0, 0, 0, 0}, {128, 2048, 12336, 16448, 0, 0, 0}, {10, 51, 768, 85, 1280, 4369, 0}, {10, 4626, 0, 0, 0, 0, 0}, {51, 768, 76, 1024, 0, 0, 0}, {204, 3072, 12348, 17476, 0, 0, 0}, {10, 32, 512, 85, 1280, 4117, 0}, {10, 32, 512, 70, 1024, 4118, 0}, {255, 3840, 12351, 18248, 0, 0, 0}, {12336, 18504, 0, 0, 0, 0, 0}, {10, 19, 256, 0, 0, 0, 0}, {10, 32, 512, 4112, 0, 0, 0}, {51, 768, 17476, 0, 0, 0, 0}, {12348, 76, 1024, 0, 0, 0, 0}, {10, 85, 1280, 4631, 0, 0, 0}, {10, 102, 1536, 4628, 0, 0, 0}, {12351, 127, 1792, 0, 0, 0, 0}, {12480, 18624, 0, 0, 0, 0, 0}, {10, 19, 263, 0, 0, 0, 0}, {10, 32, 514, 4160, 0, 0, 0}, {51, 783, 17408, 0, 0, 0, 0}, {12288, 76, 1032, 0, 0, 0, 0}, {10, 85, 1285, 4656, 0, 0, 0}, {10, 102, 1536, 4608, 0, 0, 0}, {12336, 127, 1799, 0, 0, 0, 0}, {128, 2056, 12352, 16448, 0, 0, 0}, {10, 51, 773, 85, 1285, 4352, 0}, {10, 4704, 0, 0, 0, 0, 0}, {51, 783, 76, 1032, 0, 0, 0}, {204, 3072, 12288, 17408, 0, 0, 0}, {10, 32, 514, 85, 1285, 4112, 0}, {10, 32, 514, 70, 1026, 4096, 0}, {255, 3855, 12336, 18224, 0, 0, 0}, {2048, 32, 4176, 0, 0, 0, 0}, {51, 780, 85, 4369, 0, 0, 0}, {170, 4728, 0, 0, 0, 0, 0}, {780, 1036, 19, 0, 0, 0, 0}, {3084, 108, 5140, 0, 0, 0, 0}, {42, 85, 1792, 4608, 0, 0, 0}, {42, 76, 1036, 4634, 0, 0, 0}, {3840, 95, 5928, 0, 0, 0, 0}, {160, 6264, 12368, 20560, 0, 0, 0}, {25, 51, 789, 85, 1045, 4352, 0}, {2048, 42, 4698, 0, 0, 0, 0}, {51, 780, 95, 5147, 0, 0, 0}, {32, 76, 1036, 4112, 0, 0, 0}, {3840, 85, 4642, 0, 0, 0, 0}, {3084, 102, 4626, 0, 0, 0, 0}, {32, 95, 1792, 4096, 0, 0, 0}, {2048, 32, 4160, 0, 0, 0, 0}, {51, 783, 85, 4369, 0, 0, 0}, {170, 4680, 0, 0, 0, 0, 0}, {783, 1024, 19, 0, 0, 0, 0}, {3072, 108, 5160, 0, 0, 0, 0}, {42, 85, 1807, 4634, 0, 0, 0}, {42, 76, 1024, 4608, 0, 0, 0}, {3855, 95, 5911, 0, 0, 0, 0}, {160, 6216, 12384, 20480, 0, 0, 0}, {25, 51, 790, 85, 1024, 4352, 0}, {2048, 42, 4672, 0, 0, 0, 0}, {51, 783, 95, 5140, 0, 0, 0}, {32, 76, 1024, 4096, 0, 0, 0}, {3855, 85, 4626, 0, 0, 0, 0}, {3072, 102, 4642, 0, 0, 0, 0}, {32, 95, 1807, 4112, 0, 0, 0}, {12528, 18432, 0, 0, 0, 0, 0}, {10, 19, 260, 0, 0, 0, 0}, {10, 32, 514, 4176, 0, 0, 0}, {51, 780, 17408, 0, 0, 0, 0}, {12336, 76, 1028, 0, 0, 0, 0}, {10, 85, 1280, 4608, 0, 0, 0}, {10, 102, 1542, 4656, 0, 0, 0}, {12288, 127, 1800, 0, 0, 0, 0}, {128, 2056, 12400, 16384, 0, 0, 0}, {10, 51, 774, 85, 1280, 4352, 0}, {10, 4688, 0, 0, 0, 0, 0}, {51, 780, 76, 1028, 0, 0, 0}, {204, 3084, 12336, 17408, 0, 0, 0}, {10, 32, 514, 85, 1280, 4096, 0}, {10, 32, 514, 70, 1028, 4112, 0}, {255, 3840, 12288, 18176, 0, 0, 0}, {2560, 4864, 0, 0, 0, 0, 0}, {48, 72, 257, 0, 0, 0, 0}, {136, 514, 4386, 0, 0, 0, 0}, {48, 771, 1295, 4096, 0, 0, 0}, {520, 72, 1028, 4364, 0, 0, 0}, {240, 1285, 4959, 0, 0, 0, 0}, {192, 1542, 4972, 0, 0, 0, 0}, {520, 120, 1295, 4367, 0, 0, 0}, {136, 520, 4352, 0, 0, 0, 0}, {48, 771, 1285, 4176, 0, 0, 0}, {5024, 2570, 13056, 17930, 0, 0, 0}, {267, 48, 771, 323, 1028, 4355, 0}, {192, 1548, 4876, 0, 0, 0, 0}, {514, 120, 1285, 4397, 0, 0, 0}, {514, 72, 1028, 4398, 0, 0, 0}, {240, 1295, 4879, 0, 0, 0, 0}, {48, 768, 1360, 4112, 0, 0, 0}, {136, 546, 4369, 0, 0, 0, 0}, {48, 72, 274, 0, 0, 0, 0}, {2720, 4883, 0, 0, 0, 0, 0}, {552, 120, 1320, 4412, 0, 0, 0}, {192, 1642, 4991, 0, 0, 0, 0}, {240, 1370, 4940, 0, 0, 0, 0}, {552, 72, 1024, 4415, 0, 0, 0}, {280, 48, 768, 336, 1024, 4352, 0}, {5043, 6425, 13107, 21845, 0, 0, 0}, {48, 768, 1370, 4160, 0, 0, 0}, {136, 552, 4403, 0, 0, 0, 0}, {240, 1360, 4892, 0, 0, 0, 0}, {546, 72, 1024, 4381, 0, 0, 0}, {546, 120, 1314, 4382, 0, 0, 0}, {192, 1632, 4895, 0, 0, 0, 0}, {2720, 4896, 0, 0, 0, 0, 0}, {48, 72, 273, 0, 0, 0, 0}, {136, 546, 4386, 0, 0, 0, 0}, {48, 771, 1375, 4112, 0, 0, 0}, {552, 72, 1036, 4364, 0, 0, 0}, {240, 1365, 4991, 0, 0, 0, 0}, {192, 1638, 4940, 0, 0, 0, 0}, {552, 120, 1319, 4367, 0, 0, 0}, {136, 552, 4352, 0, 0, 0, 0}, {48, 771, 1365, 4160, 0, 0, 0}, {4992, 6442, 13056, 17962, 0, 0, 0}, {283, 48, 771, 339, 1303, 4355, 0}, {192, 1644, 4908, 0, 0, 0, 0}, {546, 120, 1325, 4397, 0, 0, 0}, {546, 72, 1036, 4398, 0, 0, 0}, {240, 1375, 4911, 0, 0, 0, 0}, {48, 768, 1280, 4096, 0, 0, 0}, {136, 514, 4369, 0, 0, 0, 0}, {48, 72, 258, 0, 0, 0, 0}, {2560, 4915, 0, 0, 0, 0, 0}, {520, 120, 1280, 4412, 0, 0, 0}, {192, 1546, 4959, 0, 0, 0, 0}, {240, 1290, 4972, 0, 0, 0, 0}, {520, 72, 1032, 4415, 0, 0, 0}, {264, 48, 768, 320, 1280, 4352, 0}, {5011, 2570, 13107, 21845, 0, 0, 0}, {48, 768, 1290, 4176, 0, 0, 0}, {136, 520, 4403, 0, 0, 0, 0}, {240, 1280, 4924, 0, 0, 0, 0}, {514, 72, 1032, 4381, 0, 0, 0}, {514, 120, 1290, 4382, 0, 0, 0}, {192, 1536, 4927, 0, 0, 0, 0}, {192, 1536, 4928, 0, 0, 0, 0}, {522, 120, 1285, 4369, 0, 0, 0}, {522, 72, 1024, 4386, 0, 0, 0}, {240, 1295, 4931, 0, 0, 0, 0}, {136, 512, 4420, 0, 0, 0, 0}, {48, 783, 1285, 4112, 0, 0, 0}, {5100, 2570, 8224, 17990, 0, 0, 0}, {271, 48, 512, 327, 1024, 4096, 0}, {512, 72, 1024, 4352, 0, 0, 0}, {240, 1285, 4883, 0, 0, 0, 0}, {192, 1546, 4896, 0, 0, 0, 0}, {512, 120, 1295, 4403, 0, 0, 0}, {2560, 4940, 0, 0, 0, 0, 0}, {48, 72, 261, 0, 0, 0, 0}, {136, 522, 4454, 0, 0, 0, 0}, {48, 783, 1295, 4160, 0, 0, 0}, {240, 1360, 4944, 0, 0, 0, 0}, {554, 72, 1028, 4369, 0, 0, 0}, {554, 120, 1314, 4386, 0, 0, 0}, {192, 1644, 4947, 0, 0, 0, 0}, {284, 48, 528, 340, 1028, 4112, 0}, {5119, 6485, 8192, 21845, 0, 0, 0}, {48, 780, 1370, 4096, 0, 0, 0}, {136, 544, 4471, 0, 0, 0, 0}, {544, 120, 1320, 4352, 0, 0, 0}, {192, 1638, 4915, 0, 0, 0, 0}, {240, 1370, 4864, 0, 0, 0, 0}, {544, 72, 1028, 4403, 0, 0, 0}, {48, 780, 1360, 4176, 0, 0, 0}, {136, 554, 4437, 0, 0, 0, 0}, {48, 72, 278, 0, 0, 0, 0}, {2720, 4959, 0, 0, 0, 0, 0}, {192, 1632, 4960, 0, 0, 0, 0}, {554, 120, 1325, 4369, 0, 0, 0}, {554, 72, 1032, 4386, 0, 0, 0}, {240, 1375, 4963, 0, 0, 0, 0}, {136, 544, 4420, 0, 0, 0, 0}, {48, 783, 1365, 4096, 0, 0, 0}, {5068, 6502, 8192, 18022, 0, 0, 0}, {287, 48, 528, 343, 1303, 4112, 0}, {544, 72, 1032, 4352, 0, 0, 0}, {240, 1365, 4915, 0, 0, 0, 0}, {192, 1642, 4864, 0, 0, 0, 0}, {544, 120, 1319, 4403, 0, 0, 0}, {2720, 4972, 0, 0, 0, 0, 0}, {48, 72, 277, 0, 0, 0, 0}, {136, 554, 4454, 0, 0, 0, 0}, {48, 783, 1375, 4176, 0, 0, 0}, {240, 1280, 4976, 0, 0, 0, 0}, {522, 72, 1036, 4369, 0, 0, 0}, {522, 120, 1290, 4386, 0, 0, 0}, {192, 1548, 4979, 0, 0, 0, 0}, {268, 48, 512, 324, 1280, 4096, 0}, {5087, 2570, 8224, 21845, 0, 0, 0}, {48, 780, 1290, 4112, 0, 0, 0}, {136, 512, 4471, 0, 0, 0, 0}, {512, 120, 1280, 4352, 0, 0, 0}, {192, 1542, 4883, 0, 0, 0, 0}, {240, 1290, 4896, 0, 0, 0, 0}, {512, 72, 1036, 4403, 0, 0, 0}, {48, 780, 1280, 4160, 0, 0, 0}, {136, 522, 4437, 0, 0, 0, 0}, {48, 72, 262, 0, 0, 0, 0}, {2560, 4991, 0, 0, 0, 0, 0}, {4992, 2560, 13056, 21760, 0, 0, 0}, {265, 48, 771, 321, 1285, 4369, 0}, {136, 522, 4386, 0, 0, 0, 0}, {48, 771, 1295, 4160, 0, 0, 0}, {512, 72, 1036, 4364, 0, 0, 0}, {240, 1285, 4911, 0, 0, 0, 0}, {192, 1542, 4908, 0, 0, 0, 0}, {512, 120, 1295, 4367, 0, 0, 0}, {136, 512, 4352, 0, 0, 0, 0}, {48, 771, 1285, 4112, 0, 0, 0}, {2570, 4896, 0, 0, 0, 0, 0}, {48, 72, 259, 0, 0, 0, 0}, {192, 1548, 4940, 0, 0, 0, 0}, {522, 120, 1285, 4397, 0, 0, 0}, {522, 72, 1036, 4398, 0, 0, 0}, {240, 1295, 4991, 0, 0, 0, 0}, {48, 768, 1360, 4176, 0, 0, 0}, {136, 554, 4369, 0, 0, 0, 0}, {282, 48, 768, 338, 1298, 4370, 0}, {5011, 6451, 13107, 18028, 0, 0, 0}, {544, 120, 1320, 4412, 0, 0, 0}, {192, 1642, 4927, 0, 0, 0, 0}, {240, 1370, 4924, 0, 0, 0, 0}, {544, 72, 1032, 4415, 0, 0, 0}, {48, 72, 272, 0, 0, 0, 0}, {2730, 4915, 0, 0, 0, 0, 0}, {48, 768, 1370, 4096, 0, 0, 0}, {136, 544, 4403, 0, 0, 0, 0}, {240, 1360, 4972, 0, 0, 0, 0}, {554, 72, 1032, 4381, 0, 0, 0}, {554, 120, 1314, 4382, 0, 0, 0}, {192, 1632, 4959, 0, 0, 0, 0}, {5024, 6400, 13056, 21760, 0, 0, 0}, {281, 48, 771, 337, 1028, 4369, 0}, {136, 554, 4386, 0, 0, 0, 0}, {48, 771, 1375, 4176, 0, 0, 0}, {544, 72, 1028, 4364, 0, 0, 0}, {240, 1365, 4879, 0, 0, 0, 0}, {192, 1638, 4876, 0, 0, 0, 0}, {544, 120, 1319, 4367, 0, 0, 0}, {136, 544, 4352, 0, 0, 0, 0}, {48, 771, 1365, 4096, 0, 0, 0}, {2730, 4864, 0, 0, 0, 0, 0}, {48, 72, 275, 0, 0, 0, 0}, {192, 1644, 4972, 0, 0, 0, 0}, {554, 120, 1325, 4397, 0, 0, 0}, {554, 72, 1028, 4398, 0, 0, 0}, {240, 1375, 4959, 0, 0, 0, 0}, {48, 768, 1280, 4160, 0, 0, 0}, {136, 522, 4369, 0, 0, 0, 0}, {266, 48, 768, 322, 1024, 4370, 0}, {5043, 2560, 13107, 17996, 0, 0, 0}, {512, 120, 1280, 4412, 0, 0, 0}, {192, 1546, 4895, 0, 0, 0, 0}, {240, 1290, 4892, 0, 0, 0, 0}, {512, 72, 1024, 4415, 0, 0, 0}, {48, 72, 256, 0, 0, 0, 0}, {2570, 4883, 0, 0, 0, 0, 0}, {48, 768, 1290, 4112, 0, 0, 0}, {136, 512, 4403, 0, 0, 0, 0}, {240, 1280, 4940, 0, 0, 0, 0}, {522, 72, 1024, 4381, 0, 0, 0}, {522, 120, 1290, 4382, 0, 0, 0}, {192, 1536, 4991, 0, 0, 0, 0}, {192, 1536, 4864, 0, 0, 0, 0}, {514, 120, 1285, 4369, 0, 0, 0}, {514, 72, 1032, 4386, 0, 0, 0}, {240, 1295, 4915, 0, 0, 0, 0}, {136, 520, 4420, 0, 0, 0, 0}, {48, 783, 1285, 4176, 0, 0, 0}, {2570, 4972, 0, 0, 0, 0, 0}, {48, 72, 263, 0, 0, 0, 0}, {520, 72, 1032, 4352, 0, 0, 0}, {240, 1285, 4963, 0, 0, 0, 0}, {192, 1546, 4960, 0, 0, 0, 0}, {520, 120, 1295, 4403, 0, 0, 0}, {5068, 2560, 8192, 21760, 0, 0, 0}, {269, 48, 514, 325, 1285, 4112, 0}, {136, 514, 4454, 0, 0, 0, 0}, {48, 783, 1295, 4096, 0, 0, 0}, {240, 1360, 4896, 0, 0, 0, 0}, {546, 72, 1036, 4369, 0, 0, 0}, {546, 120, 1314, 4386, 0, 0, 0}, {192, 1644, 4883, 0, 0, 0, 0}, {48, 72, 276, 0, 0, 0, 0}, {2730, 4991, 0, 0, 0, 0, 0}, {48, 780, 1370, 4160, 0, 0, 0}, {136, 552, 4471, 0, 0, 0, 0}, {552, 120, 1320, 4352, 0, 0, 0}, {192, 1638, 4979, 0, 0, 0, 0}, {240, 1370, 4976, 0, 0, 0, 0}, {552, 72, 1036, 4403, 0, 0, 0}, {48, 780, 1360, 4112, 0, 0, 0}, {136, 546, 4437, 0, 0, 0, 0}, {286, 48, 530, 342, 1298, 4096, 0}, {5087, 6527, 8224, 17952, 0, 0, 0}, {192, 1632, 4896, 0, 0, 0, 0}, {546, 120, 1325, 4369, 0, 0, 0}, {546, 72, 1024, 4386, 0, 0, 0}, {240, 1375, 4883, 0, 0, 0, 0}, {136, 552, 4420, 0, 0, 0, 0}, {48, 783, 1365, 4160, 0, 0, 0}, {2730, 4940, 0, 0, 0, 0, 0}, {48, 72, 279, 0, 0, 0, 0}, {552, 72, 1024, 4352, 0, 0, 0}, {240, 1365, 4931, 0, 0, 0, 0}, {192, 1642, 4928, 0, 0, 0, 0}, {552, 120, 1319, 4403, 0, 0, 0}, {5100, 6476, 8224, 21760, 0, 0, 0}, {285, 48, 530, 341, 1024, 4096, 0}, {136, 546, 4454, 0, 0, 0, 0}, {48, 783, 1375, 4112, 0, 0, 0}, {240, 1280, 4864, 0, 0, 0, 0}, {514, 72, 1028, 4369, 0, 0, 0}, {514, 120, 1290, 4386, 0, 0, 0}, {192, 1548, 4915, 0, 0, 0, 0}, {48, 72, 260, 0, 0, 0, 0}, {2570, 4959, 0, 0, 0, 0, 0}, {48, 780, 1290, 4176, 0, 0, 0}, {136, 520, 4471, 0, 0, 0, 0}, {520, 120, 1280, 4352, 0, 0, 0}, {192, 1542, 4947, 0, 0, 0, 0}, {240, 1290, 4944, 0, 0, 0, 0}, {520, 72, 1028, 4403, 0, 0, 0}, {48, 780, 1280, 4096, 0, 0, 0}, {136, 514, 4437, 0, 0, 0, 0}, {270, 48, 514, 326, 1028, 4112, 0}, {5119, 2560, 8192, 17920, 0, 0, 0}, {2560, 4096, 0, 0, 0, 0, 0}, {51, 68, 257, 0, 0, 0, 0}, {136, 514, 4128, 0, 0, 0, 0}, {51, 771, 1295, 4099, 0, 0, 0}, {520, 68, 1028, 4100, 0, 0, 0}, {255, 1285, 4176, 0, 0, 0, 0}, {204, 1542, 4192, 0, 0, 0, 0}, {520, 119, 1295, 4103, 0, 0, 0}, {136, 520, 4104, 0, 0, 0, 0}, {51, 771, 1285, 4188, 0, 0, 0}, {4256, 2570, 12288, 16384, 0, 0, 0}, {267, 51, 771, 68, 1028, 4352, 0}, {204, 1548, 4108, 0, 0, 0, 0}, {514, 119, 1285, 4143, 0, 0, 0}, {514, 68, 1028, 4140, 0, 0, 0}, {255, 1295, 4111, 0, 0, 0, 0}, {2720, 4112, 0, 0, 0, 0, 0}, {51, 68, 273, 0, 0, 0, 0}, {136, 546, 4144, 0, 0, 0, 0}, {51, 768, 1375, 4115, 0, 0, 0}, {552, 68, 1024, 4116, 0, 0, 0}, {255, 1365, 4160, 0, 0, 0, 0}, {204, 1638, 4208, 0, 0, 0, 0}, {552, 119, 1320, 4119, 0, 0, 0}, {136, 552, 4120, 0, 0, 0, 0}, {51, 768, 1365, 4172, 0, 0, 0}, {4272, 6682, 12336, 16448, 0, 0, 0}, {283, 51, 768, 68, 1024, 4352, 0}, {204, 1644, 4124, 0, 0, 0, 0}, {546, 119, 1314, 4159, 0, 0, 0}, {546, 68, 1024, 4156, 0, 0, 0}, {255, 1375, 4127, 0, 0, 0, 0}, {2720, 4128, 0, 0, 0, 0, 0}, {51, 68, 274, 0, 0, 0, 0}, {136, 546, 4096, 0, 0, 0, 0}, {51, 771, 1360, 4112, 0, 0, 0}, {552, 68, 1036, 4132, 0, 0, 0}, {255, 1370, 4208, 0, 0, 0, 0}, {204, 1642, 4160, 0, 0, 0, 0}, {552, 119, 1319, 4135, 0, 0, 0}, {136, 552, 4136, 0, 0, 0, 0}, {51, 771, 1370, 4175, 0, 0, 0}, {4224, 6698, 12288, 20480, 0, 0, 0}, {280, 51, 771, 68, 1300, 4352, 0}, {204, 1632, 4140, 0, 0, 0, 0}, {546, 119, 1325, 4111, 0, 0, 0}, {546, 68, 1036, 4108, 0, 0, 0}, {255, 1360, 4143, 0, 0, 0, 0}, {2560, 4144, 0, 0, 0, 0, 0}, {51, 68, 258, 0, 0, 0, 0}, {136, 514, 4112, 0, 0, 0, 0}, {51, 768, 1280, 4096, 0, 0, 0}, {520, 68, 1032, 4148, 0, 0, 0}, {255, 1290, 4192, 0, 0, 0, 0}, {204, 1546, 4176, 0, 0, 0, 0}, {520, 119, 1280, 4151, 0, 0, 0}, {136, 520, 4152, 0, 0, 0, 0}, {51, 768, 1290, 4191, 0, 0, 0}, {4240, 2570, 12336, 20560, 0, 0, 0}, {264, 51, 768, 68, 1280, 4352, 0}, {204, 1536, 4156, 0, 0, 0, 0}, {514, 119, 1290, 4127, 0, 0, 0}, {514, 68, 1032, 4124, 0, 0, 0}, {255, 1280, 4159, 0, 0, 0, 0}, {2560, 4160, 0, 0, 0, 0, 0}, {51, 68, 261, 0, 0, 0, 0}, {136, 522, 4192, 0, 0, 0, 0}, {51, 783, 1295, 4163, 0, 0, 0}, {512, 68, 1024, 4096, 0, 0, 0}, {255, 1285, 4112, 0, 0, 0, 0}, {204, 1546, 4128, 0, 0, 0, 0}, {512, 119, 1295, 4144, 0, 0, 0}, {136, 512, 4168, 0, 0, 0, 0}, {51, 783, 1285, 4124, 0, 0, 0}, {4320, 2570, 8224, 16448, 0, 0, 0}, {271, 51, 512, 68, 1024, 4352, 0}, {204, 1536, 4172, 0, 0, 0, 0}, {522, 119, 1285, 4120, 0, 0, 0}, {522, 68, 1024, 4136, 0, 0, 0}, {255, 1295, 4175, 0, 0, 0, 0}, {2720, 4176, 0, 0, 0, 0, 0}, {51, 68, 277, 0, 0, 0, 0}, {136, 554, 4208, 0, 0, 0, 0}, {51, 780, 1375, 4179, 0, 0, 0}, {544, 68, 1028, 4112, 0, 0, 0}, {255, 1365, 4096, 0, 0, 0, 0}, {204, 1642, 4144, 0, 0, 0, 0}, {544, 119, 1320, 4128, 0, 0, 0}, {136, 544, 4184, 0, 0, 0, 0}, {51, 780, 1365, 4108, 0, 0, 0}, {4336, 6746, 8192, 16384, 0, 0, 0}, {287, 51, 531, 68, 1028, 4352, 0}, {204, 1632, 4188, 0, 0, 0, 0}, {554, 119, 1314, 4104, 0, 0, 0}, {554, 68, 1028, 4152, 0, 0, 0}, {255, 1375, 4191, 0, 0, 0, 0}, {2720, 4192, 0, 0, 0, 0, 0}, {51, 68, 278, 0, 0, 0, 0}, {136, 554, 4160, 0, 0, 0, 0}, {51, 783, 1360, 4176, 0, 0, 0}, {544, 68, 1032, 4128, 0, 0, 0}, {255, 1370, 4144, 0, 0, 0, 0}, {204, 1638, 4096, 0, 0, 0, 0}, {544, 119, 1319, 4112, 0, 0, 0}, {136, 544, 4200, 0, 0, 0, 0}, {51, 783, 1370, 4111, 0, 0, 0}, {4288, 6762, 8192, 20480, 0, 0, 0}, {284, 51, 531, 68, 1300, 4352, 0}, {204, 1644, 4204, 0, 0, 0, 0}, {554, 119, 1325, 4152, 0, 0, 0}, {554, 68, 1032, 4104, 0, 0, 0}, {255, 1360, 4207, 0, 0, 0, 0}, {2560, 4208, 0, 0, 0, 0, 0}, {51, 68, 262, 0, 0, 0, 0}, {136, 522, 4176, 0, 0, 0, 0}, {51, 780, 1280, 4160, 0, 0, 0}, {512, 68, 1036, 4144, 0, 0, 0}, {255, 1290, 4128, 0, 0, 0, 0}, {204, 1542, 4112, 0, 0, 0, 0}, {512, 119, 1280, 4096, 0, 0, 0}, {136, 512, 4216, 0, 0, 0, 0}, {51, 780, 1290, 4127, 0, 0, 0}, {4304, 2570, 8224, 20560, 0, 0, 0}, {268, 51, 512, 68, 1280, 4352, 0}, {204, 1548, 4220, 0, 0, 0, 0}, {522, 119, 1290, 4136, 0, 0, 0}, {522, 68, 1036, 4120, 0, 0, 0}, {255, 1280, 4223, 0, 0, 0, 0}, {4224, 2560, 12288, 20480, 0, 0, 0}, {265, 51, 771, 68, 1285, 4369, 0}, {136, 522, 4136, 0, 0, 0, 0}, {51, 771, 1295, 4175, 0, 0, 0}, {512, 68, 1036, 4108, 0, 0, 0}, {255, 1285, 4143, 0, 0, 0, 0}, {204, 1542, 4140, 0, 0, 0, 0}, {512, 119, 1295, 4111, 0, 0, 0}, {136, 512, 4096, 0, 0, 0, 0}, {51, 771, 1285, 4112, 0, 0, 0}, {2570, 4128, 0, 0, 0, 0, 0}, {51, 68, 259, 0, 0, 0, 0}, {204, 1548, 4160, 0, 0, 0, 0}, {522, 119, 1285, 4135, 0, 0, 0}, {522, 68, 1036, 4132, 0, 0, 0}, {255, 1295, 4208, 0, 0, 0, 0}, {4240, 6704, 12336, 20560, 0, 0, 0}, {281, 51, 768, 68, 1297, 4369, 0}, {136, 554, 4152, 0, 0, 0, 0}, {51, 768, 1375, 4191, 0, 0, 0}, {544, 68, 1032, 4124, 0, 0, 0}, {255, 1365, 4159, 0, 0, 0, 0}, {204, 1638, 4156, 0, 0, 0, 0}, {544, 119, 1320, 4127, 0, 0, 0}, {136, 544, 4112, 0, 0, 0, 0}, {51, 768, 1365, 4096, 0, 0, 0}, {2730, 4144, 0, 0, 0, 0, 0}, {51, 68, 275, 0, 0, 0, 0}, {204, 1644, 4176, 0, 0, 0, 0}, {554, 119, 1314, 4151, 0, 0, 0}, {554, 68, 1032, 4148, 0, 0, 0}, {255, 1375, 4192, 0, 0, 0, 0}, {4256, 6656, 12288, 16384, 0, 0, 0}, {282, 51, 771, 68, 1028, 4369, 0}, {136, 554, 4104, 0, 0, 0, 0}, {51, 771, 1360, 4188, 0, 0, 0}, {544, 68, 1028, 4140, 0, 0, 0}, {255, 1370, 4111, 0, 0, 0, 0}, {204, 1642, 4108, 0, 0, 0, 0}, {544, 119, 1319, 4143, 0, 0, 0}, {136, 544, 4128, 0, 0, 0, 0}, {51, 771, 1370, 4099, 0, 0, 0}, {2730, 4096, 0, 0, 0, 0, 0}, {51, 68, 272, 0, 0, 0, 0}, {204, 1632, 4192, 0, 0, 0, 0}, {554, 119, 1325, 4103, 0, 0, 0}, {554, 68, 1028, 4100, 0, 0, 0}, {255, 1360, 4176, 0, 0, 0, 0}, {4272, 2560, 12336, 16448, 0, 0, 0}, {266, 51, 768, 68, 1024, 4369, 0}, {136, 522, 4120, 0, 0, 0, 0}, {51, 768, 1280, 4172, 0, 0, 0}, {512, 68, 1024, 4156, 0, 0, 0}, {255, 1290, 4127, 0, 0, 0, 0}, {204, 1546, 4124, 0, 0, 0, 0}, {512, 119, 1280, 4159, 0, 0, 0}, {136, 512, 4144, 0, 0, 0, 0}, {51, 768, 1290, 4115, 0, 0, 0}, {2570, 4112, 0, 0, 0, 0, 0}, {51, 68, 256, 0, 0, 0, 0}, {204, 1536, 4208, 0, 0, 0, 0}, {522, 119, 1290, 4119, 0, 0, 0}, {522, 68, 1024, 4116, 0, 0, 0}, {255, 1280, 4160, 0, 0, 0, 0}, {4288, 2560, 8192, 20480, 0, 0, 0}, {269, 51, 514, 68, 1285, 4369, 0}, {136, 514, 4200, 0, 0, 0, 0}, {51, 783, 1295, 4111, 0, 0, 0}, {520, 68, 1032, 4104, 0, 0, 0}, {255, 1285, 4207, 0, 0, 0, 0}, {204, 1546, 4204, 0, 0, 0, 0}, {520, 119, 1295, 4152, 0, 0, 0}, {136, 520, 4160, 0, 0, 0, 0}, {51, 783, 1285, 4176, 0, 0, 0}, {2570, 4192, 0, 0, 0, 0, 0}, {51, 68, 263, 0, 0, 0, 0}, {204, 1536, 4096, 0, 0, 0, 0}, {514, 119, 1285, 4112, 0, 0, 0}, {514, 68, 1032, 4128, 0, 0, 0}, {255, 1295, 4144, 0, 0, 0, 0}, {4304, 6768, 8224, 20560, 0, 0, 0}, {285, 51, 529, 68, 1297, 4369, 0}, {136, 546, 4216, 0, 0, 0, 0}, {51, 780, 1375, 4127, 0, 0, 0}, {552, 68, 1036, 4120, 0, 0, 0}, {255, 1365, 4223, 0, 0, 0, 0}, {204, 1642, 4220, 0, 0, 0, 0}, {552, 119, 1320, 4136, 0, 0, 0}, {136, 552, 4176, 0, 0, 0, 0}, {51, 780, 1365, 4160, 0, 0, 0}, {2730, 4208, 0, 0, 0, 0, 0}, {51, 68, 279, 0, 0, 0, 0}, {204, 1632, 4112, 0, 0, 0, 0}, {546, 119, 1314, 4096, 0, 0, 0}, {546, 68, 1036, 4144, 0, 0, 0}, {255, 1375, 4128, 0, 0, 0, 0}, {4320, 6720, 8224, 16448, 0, 0, 0}, {286, 51, 529, 68, 1024, 4369, 0}, {136, 546, 4168, 0, 0, 0, 0}, {51, 783, 1360, 4124, 0, 0, 0}, {552, 68, 1024, 4136, 0, 0, 0}, {255, 1370, 4175, 0, 0, 0, 0}, {204, 1638, 4172, 0, 0, 0, 0}, {552, 119, 1319, 4120, 0, 0, 0}, {136, 552, 4192, 0, 0, 0, 0}, {51, 783, 1370, 4163, 0, 0, 0}, {2730, 4160, 0, 0, 0, 0, 0}, {51, 68, 276, 0, 0, 0, 0}, {204, 1644, 4128, 0, 0, 0, 0}, {546, 119, 1325, 4144, 0, 0, 0}, {546, 68, 1024, 4096, 0, 0, 0}, {255, 1360, 4112, 0, 0, 0, 0}, {4336, 2560, 8192, 16384, 0, 0, 0}, {270, 51, 514, 68, 1028, 4369, 0}, {136, 514, 4184, 0, 0, 0, 0}, {51, 780, 1280, 4108, 0, 0, 0}, {520, 68, 1028, 4152, 0, 0, 0}, {255, 1290, 4191, 0, 0, 0, 0}, {204, 1542, 4188, 0, 0, 0, 0}, {520, 119, 1280, 4104, 0, 0, 0}, {136, 520, 4208, 0, 0, 0, 0}, {51, 780, 1290, 4179, 0, 0, 0}, {2570, 4176, 0, 0, 0, 0, 0}, {51, 68, 260, 0, 0, 0, 0}, {204, 1548, 4144, 0, 0, 0, 0}, {514, 119, 1290, 4128, 0, 0, 0}, {514, 68, 1028, 4112, 0, 0, 0}, {255, 1280, 4096, 0, 0, 0, 0}, {13056, 17408, 0, 0, 0, 0, 0}, {10, 16, 257, 0, 0, 0, 0}, {10, 32, 514, 4354, 0, 0, 0}, {48, 771, 17420, 0, 0, 0, 0}, {13068, 64, 1028, 0, 0, 0, 0}, {10, 80, 1285, 4357, 0, 0, 0}, {10, 96, 1542, 4358, 0, 0, 0}, {13071, 112, 1799, 0, 0, 0, 0}, {128, 2056, 13056, 17416, 0, 0, 0}, {10, 48, 771, 80, 1285, 4355, 0}, {10, 4352, 0, 0, 0, 0, 0}, {48, 771, 64, 1028, 0, 0, 0}, {192, 3084, 13068, 17420, 0, 0, 0}, {10, 32, 514, 80, 1285, 4359, 0}, {10, 32, 514, 64, 1028, 4356, 0}, {240, 3855, 13071, 17408, 0, 0, 0}, {768, 1024, 16, 0, 0, 0, 0}, {170, 4369, 0, 0, 0, 0, 0}, {48, 768, 90, 4370, 0, 0, 0}, {2048, 32, 4883, 0, 0, 0, 0}, {3840, 80, 5140, 0, 0, 0, 0}, {42, 64, 1024, 4373, 0, 0, 0}, {42, 90, 1792, 4374, 0, 0, 0}, {3072, 96, 5911, 0, 0, 0, 0}, {48, 768, 80, 5144, 0, 0, 0}, {2048, 42, 4377, 0, 0, 0, 0}, {26, 48, 768, 64, 1024, 4352, 0}, {160, 6939, 13107, 17476, 0, 0, 0}, {32, 80, 1792, 4892, 0, 0, 0}, {3072, 106, 4381, 0, 0, 0, 0}, {3840, 90, 4382, 0, 0, 0, 0}, {32, 64, 1024, 4895, 0, 0, 0}, {2048, 32, 4864, 0, 0, 0, 0}, {48, 771, 90, 4369, 0, 0, 0}, {170, 4386, 0, 0, 0, 0, 0}, {771, 1036, 16, 0, 0, 0, 0}, {3084, 96, 5928, 0, 0, 0, 0}, {42, 90, 1807, 4367, 0, 0, 0}, {42, 64, 1036, 4364, 0, 0, 0}, {3855, 80, 5160, 0, 0, 0, 0}, {160, 6952, 13056, 17448, 0, 0, 0}, {26, 48, 771, 64, 1046, 4355, 0}, {2048, 42, 4352, 0, 0, 0, 0}, {48, 771, 80, 5140, 0, 0, 0}, {32, 64, 1036, 4876, 0, 0, 0}, {3855, 90, 4397, 0, 0, 0, 0}, {3084, 106, 4398, 0, 0, 0, 0}, {32, 80, 1807, 4879, 0, 0, 0}, {48, 768, 17408, 0, 0, 0, 0}, {10, 32, 514, 4369, 0, 0, 0}, {10, 16, 258, 0, 0, 0, 0}, {13107, 17612, 0, 0, 0, 0, 0}, {13116, 112, 1800, 0, 0, 0, 0}, {10, 96, 1536, 4405, 0, 0, 0}, {10, 80, 1280, 4406, 0, 0, 0}, {13119, 64, 1032, 0, 0, 0, 0}, {48, 768, 64, 1032, 0, 0, 0}, {10, 4403, 0, 0, 0, 0, 0}, {10, 48, 768, 80, 1280, 4352, 0}, {128, 2056, 13107, 17476, 0, 0, 0}, {240, 3840, 13116, 17468, 0, 0, 0}, {10, 32, 514, 64, 1026, 4375, 0}, {10, 32, 514, 80, 1280, 4372, 0}, {192, 3072, 13119, 17408, 0, 0, 0}, {13056, 64, 1024, 0, 0, 0, 0}, {10, 80, 1285, 4369, 0, 0, 0}, {10, 96, 1536, 4386, 0, 0, 0}, {13107, 112, 1807, 0, 0, 0, 0}, {13260, 17476, 0, 0, 0, 0, 0}, {10, 16, 261, 0, 0, 0, 0}, {10, 32, 512, 4422, 0, 0, 0}, {48, 783, 17480, 0, 0, 0, 0}, {192, 3072, 13056, 17480, 0, 0, 0}, {10, 32, 512, 80, 1285, 4371, 0}, {10, 32, 512, 64, 1024, 4352, 0}, {240, 3855, 13107, 17476, 0, 0, 0}, {128, 2048, 13132, 17484, 0, 0, 0}, {10, 48, 773, 80, 1285, 4375, 0}, {10, 4420, 0, 0, 0, 0, 0}, {48, 783, 64, 1024, 0, 0, 0}, {3840, 80, 5120, 0, 0, 0, 0}, {42, 64, 1028, 4369, 0, 0, 0}, {42, 90, 1800, 4360, 0, 0, 0}, {3084, 96, 5951, 0, 0, 0, 0}, {780, 1028, 16, 0, 0, 0, 0}, {170, 4437, 0, 0, 0, 0, 0}, {48, 780, 90, 4364, 0, 0, 0}, {2056, 32, 4959, 0, 0, 0, 0}, {32, 80, 1800, 4864, 0, 0, 0}, {3084, 106, 4403, 0, 0, 0, 0}, {3840, 90, 4352, 0, 0, 0, 0}, {32, 64, 1028, 4883, 0, 0, 0}, {48, 780, 80, 5132, 0, 0, 0}, {2056, 42, 4445, 0, 0, 0, 0}, {26, 48, 790, 64, 1028, 4356, 0}, {160, 7007, 13151, 17408, 0, 0, 0}, {3072, 96, 5888, 0, 0, 0, 0}, {42, 90, 1799, 4369, 0, 0, 0}, {42, 64, 1032, 4360, 0, 0, 0}, {3855, 80, 5180, 0, 0, 0, 0}, {2056, 32, 4940, 0, 0, 0, 0}, {48, 783, 90, 4367, 0, 0, 0}, {170, 4454, 0, 0, 0, 0, 0}, {783, 1032, 16, 0, 0, 0, 0}, {32, 64, 1032, 4864, 0, 0, 0}, {3855, 90, 4403, 0, 0, 0, 0}, {3072, 106, 4352, 0, 0, 0, 0}, {32, 80, 1799, 4883, 0, 0, 0}, {160, 7020, 13164, 17516, 0, 0, 0}, {26, 48, 789, 64, 1042, 4359, 0}, {2056, 42, 4420, 0, 0, 0, 0}, {48, 783, 80, 5120, 0, 0, 0}, {13056, 112, 1792, 0, 0, 0, 0}, {10, 96, 1542, 4369, 0, 0, 0}, {10, 80, 1280, 4386, 0, 0, 0}, {13107, 64, 1036, 0, 0, 0, 0}, {48, 780, 17476, 0, 0, 0, 0}, {10, 32, 512, 4437, 0, 0, 0}, {10, 16, 262, 0, 0, 0, 0}, {13311, 17544, 0, 0, 0, 0, 0}, {240, 3840, 13056, 17528, 0, 0, 0}, {10, 32, 512, 64, 1030, 4371, 0}, {10, 32, 512, 80, 1280, 4352, 0}, {192, 3084, 13107, 17476, 0, 0, 0}, {48, 780, 64, 1036, 0, 0, 0}, {10, 4471, 0, 0, 0, 0, 0}, {10, 48, 774, 80, 1280, 4372, 0}, {128, 2048, 13183, 17408, 0, 0, 0}, {128, 2048, 13056, 17408, 0, 0, 0}, {10, 48, 771, 80, 1285, 4369, 0}, {10, 4386, 0, 0, 0, 0, 0}, {48, 771, 64, 1036, 0, 0, 0}, {192, 3084, 13068, 17476, 0, 0, 0}, {10, 32, 512, 80, 1285, 4357, 0}, {10, 32, 512, 64, 1030, 4358, 0}, {240, 3855, 13071, 17528, 0, 0, 0}, {13056, 17544, 0, 0, 0, 0, 0}, {10, 16, 259, 0, 0, 0, 0}, {10, 32, 512, 4352, 0, 0, 0}, {48, 771, 17476, 0, 0, 0, 0}, {13068, 64, 1036, 0, 0, 0, 0}, {10, 80, 1285, 4391, 0, 0, 0}, {10, 96, 1542, 4388, 0, 0, 0}, {13071, 112, 1807, 0, 0, 0, 0}, {48, 768, 80, 5120, 0, 0, 0}, {2056, 42, 4369, 0, 0, 0, 0}, {26, 48, 768, 64, 1042, 4370, 0}, {160, 6963, 13107, 17516, 0, 0, 0}, {32, 80, 1800, 4892, 0, 0, 0}, {3072, 106, 4415, 0, 0, 0, 0}, {3840, 90, 4412, 0, 0, 0, 0}, {32, 64, 1032, 4895, 0, 0, 0}, {768, 1032, 16, 0, 0, 0, 0}, {170, 4403, 0, 0, 0, 0, 0}, {48, 768, 90, 4352, 0, 0, 0}, {2056, 32, 4883, 0, 0, 0, 0}, {3840, 80, 5180, 0, 0, 0, 0}, {42, 64, 1032, 4381, 0, 0, 0}, {42, 90, 1800, 4382, 0, 0, 0}, {3072, 96, 5951, 0, 0, 0, 0}, {160, 6912, 13056, 17408, 0, 0, 0}, {26, 48, 771, 64, 1028, 4369, 0}, {2056, 42, 4360, 0, 0, 0, 0}, {48, 771, 80, 5132, 0, 0, 0}, {32, 64, 1028, 4876, 0, 0, 0}, {3855, 90, 4367, 0, 0, 0, 0}, {3084, 106, 4364, 0, 0, 0, 0}, {32, 80, 1799, 4879, 0, 0, 0}, {2056, 32, 4864, 0, 0, 0, 0}, {48, 771, 90, 4355, 0, 0, 0}, {170, 4352, 0, 0, 0, 0, 0}, {771, 1028, 16, 0, 0, 0, 0}, {3084, 96, 5888, 0, 0, 0, 0}, {42, 90, 1799, 4359, 0, 0, 0}, {42, 64, 1028, 4356, 0, 0, 0}, {3855, 80, 5120, 0, 0, 0, 0}, {48, 768, 64, 1024, 0, 0, 0}, {10, 4369, 0, 0, 0, 0, 0}, {10, 48, 768, 80, 1280, 4370, 0}, {128, 2048, 13107, 17484, 0, 0, 0}, {240, 3840, 13116, 17476, 0, 0, 0}, {10, 32, 512, 64, 1024, 4373, 0}, {10, 32, 512, 80, 1280, 4374, 0}, {192, 3072, 13119, 17480, 0, 0, 0}, {48, 768, 17480, 0, 0, 0, 0}, {10, 32, 512, 4371, 0, 0, 0}, {10, 16, 256, 0, 0, 0, 0}, {13107, 17476, 0, 0, 0, 0, 0}, {13116, 112, 1792, 0, 0, 0, 0}, {10, 96, 1536, 4375, 0, 0, 0}, {10, 80, 1280, 4372, 0, 0, 0}, {13119, 64, 1024, 0, 0, 0, 0}, {192, 3072, 13056, 17408, 0, 0, 0}, {10, 32, 514, 80, 1285, 4369, 0}, {10, 32, 514, 64, 1026, 4354, 0}, {240, 3855, 13107, 17468, 0, 0, 0}, {128, 2056, 13132, 17476, 0, 0, 0}, {10, 48, 773, 80, 1285, 4357, 0}, {10, 4454, 0, 0, 0, 0, 0}, {48, 783, 64, 1032, 0, 0, 0}, {13056, 64, 1032, 0, 0, 0, 0}, {10, 80, 1285, 4403, 0, 0, 0}, {10, 96, 1536, 4352, 0, 0, 0}, {13107, 112, 1799, 0, 0, 0, 0}, {13260, 17612, 0, 0, 0, 0, 0}, {10, 16, 263, 0, 0, 0, 0}, {10, 32, 514, 4420, 0, 0, 0}, {48, 783, 17408, 0, 0, 0, 0}, {32, 80, 1792, 4864, 0, 0, 0}, {3084, 106, 4369, 0, 0, 0, 0}, {3840, 90, 4386, 0, 0, 0, 0}, {32, 64, 1036, 4883, 0, 0, 0}, {48, 780, 80, 5140, 0, 0, 0}, {2048, 42, 4437, 0, 0, 0, 0}, {26, 48, 790, 64, 1046, 4374, 0}, {160, 7031, 13151, 17448, 0, 0, 0}, {3840, 80, 5160, 0, 0, 0, 0}, {42, 64, 1036, 4377, 0, 0, 0}, {42, 90, 1792, 4352, 0, 0, 0}, {3084, 96, 5911, 0, 0, 0, 0}, {780, 1036, 16, 0, 0, 0, 0}, {170, 4471, 0, 0, 0, 0, 0}, {48, 780, 90, 4382, 0, 0, 0}, {2048, 32, 4959, 0, 0, 0, 0}, {32, 64, 1024, 4864, 0, 0, 0}, {3855, 90, 4369, 0, 0, 0, 0}, {3072, 106, 4386, 0, 0, 0, 0}, {32, 80, 1807, 4883, 0, 0, 0}, {160, 6980, 13164, 17476, 0, 0, 0}, {26, 48, 789, 64, 1024, 4373, 0}, {2048, 42, 4428, 0, 0, 0, 0}, {48, 783, 80, 5144, 0, 0, 0}, {3072, 96, 5928, 0, 0, 0, 0}, {42, 90, 1807, 4377, 0, 0, 0}, {42, 64, 1024, 4352, 0, 0, 0}, {3855, 80, 5140, 0, 0, 0, 0}, {2048, 32, 4940, 0, 0, 0, 0}, {48, 783, 90, 4381, 0, 0, 0}, {170, 4420, 0, 0, 0, 0, 0}, {783, 1024, 16, 0, 0, 0, 0}, {240, 3840, 13056, 17408, 0, 0, 0}, {10, 32, 514, 64, 1028, 4369, 0}, {10, 32, 514, 80, 1280, 4354, 0}, {192, 3084, 13107, 17420, 0, 0, 0}, {48, 780, 64, 1028, 0, 0, 0}, {10, 4437, 0, 0, 0, 0, 0}, {10, 48, 774, 80, 1280, 4358, 0}, {128, 2056, 13183, 17416, 0, 0, 0}, {13056, 112, 1800, 0, 0, 0, 0}, {10, 96, 1542, 4403, 0, 0, 0}, {10, 80, 1280, 4352, 0, 0, 0}, {13107, 64, 1028, 0, 0, 0, 0}, {48, 780, 17420, 0, 0, 0, 0}, {10, 32, 514, 4439, 0, 0, 0}, {10, 16, 260, 0, 0, 0, 0}, {13311, 17408, 0, 0, 0, 0, 0}, {15360, 19456, 0, 0, 0, 0, 0}, {10, 23, 257, 0, 0, 0, 0}, {10, 34, 514, 5120, 0, 0, 0}, {63, 771, 16384, 0, 0, 0, 0}, {12288, 72, 1028, 0, 0, 0, 0}, {10, 85, 1285, 4864, 0, 0, 0}, {10, 96, 1542, 4096, 0, 0, 0}, {13056, 119, 1799, 0, 0, 0, 0}, {136, 2056, 13320, 17408, 0, 0, 0}, {10, 53, 771, 85, 1285, 4101, 0}, {10, 5632, 0, 0, 0, 0, 0}, {63, 771, 72, 1028, 0, 0, 0}, {192, 3084, 12288, 16384, 0, 0, 0}, {10, 34, 514, 85, 1285, 4352, 0}, {10, 34, 514, 66, 1028, 4098, 0}, {255, 3855, 13056, 17167, 0, 0, 0}, {3072, 96, 4112, 0, 0, 0, 0}, {34, 85, 1792, 4369, 0, 0, 0}, {34, 72, 1024, 4626, 0, 0, 0}, {3840, 95, 4883, 0, 0, 0, 0}, {2048, 40, 5140, 0, 0, 0, 0}, {63, 768, 85, 5397, 0, 0, 0}, {170, 5654, 0, 0, 0, 0, 0}, {768, 1024, 23, 0, 0, 0, 0}, {40, 72, 1024, 4120, 0, 0, 0}, {3840, 85, 5657, 0, 0, 0, 0}, {3072, 106, 5658, 0, 0, 0, 0}, {40, 95, 1792, 4891, 0, 0, 0}, {160, 7196, 8224, 20560, 0, 0, 0}, {29, 34, 768, 85, 1024, 4352, 0}, {2048, 34, 5662, 0, 0, 0, 0}, {63, 768, 95, 4127, 0, 0, 0}, {160, 7200, 8224, 20480, 0, 0, 0}, {29, 34, 771, 85, 1041, 4369, 0}, {2048, 34, 5632, 0, 0, 0, 0}, {63, 771, 95, 4112, 0, 0, 0}, {40, 72, 1036, 4096, 0, 0, 0}, {3855, 85, 5669, 0, 0, 0, 0}, {3084, 106, 5670, 0, 0, 0, 0}, {40, 95, 1807, 4864, 0, 0, 0}, {2048, 40, 5120, 0, 0, 0, 0}, {63, 771, 85, 5397, 0, 0, 0}, {170, 5674, 0, 0, 0, 0, 0}, {771, 1036, 23, 0, 0, 0, 0}, {3084, 96, 4128, 0, 0, 0, 0}, {34, 85, 1807, 4352, 0, 0, 0}, {34, 72, 1036, 4608, 0, 0, 0}, {3855, 95, 4896, 0, 0, 0, 0}, {192, 3072, 12336, 16384, 0, 0, 0}, {10, 34, 514, 85, 1280, 4369, 0}, {10, 34, 514, 66, 1026, 4112, 0}, {255, 3840, 13107, 17203, 0, 0, 0}, {136, 2056, 13364, 17476, 0, 0, 0}, {10, 53, 768, 85, 1280, 4096, 0}, {10, 5686, 0, 0, 0, 0, 0}, {63, 768, 72, 1032, 0, 0, 0}, {12336, 72, 1032, 0, 0, 0, 0}, {10, 85, 1280, 4915, 0, 0, 0}, {10, 96, 1536, 4144, 0, 0, 0}, {13107, 119, 1800, 0, 0, 0, 0}, {15420, 19660, 0, 0, 0, 0, 0}, {10, 23, 258, 0, 0, 0, 0}, {10, 34, 514, 5140, 0, 0, 0}, {63, 768, 16384, 0, 0, 0, 0}, {192, 3072, 12288, 16448, 0, 0, 0}, {10, 34, 512, 85, 1285, 4369, 0}, {10, 34, 512, 66, 1024, 4096, 0}, {255, 3855, 13107, 17219, 0, 0, 0}, {136, 2048, 13380, 17476, 0, 0, 0}, {10, 53, 773, 85, 1285, 4112, 0}, {10, 5702, 0, 0, 0, 0, 0}, {63, 783, 72, 1024, 0, 0, 0}, {12288, 72, 1024, 0, 0, 0, 0}, {10, 85, 1285, 4883, 0, 0, 0}, {10, 96, 1536, 4128, 0, 0, 0}, {13107, 119, 1807, 0, 0, 0, 0}, {15564, 19532, 0, 0, 0, 0, 0}, {10, 23, 261, 0, 0, 0, 0}, {10, 34, 512, 5188, 0, 0, 0}, {63, 783, 16448, 0, 0, 0, 0}, {160, 7248, 8192, 20560, 0, 0, 0}, {29, 34, 785, 85, 1028, 4369, 0}, {2056, 34, 5714, 0, 0, 0, 0}, {63, 780, 95, 4096, 0, 0, 0}, {40, 72, 1028, 4112, 0, 0, 0}, {3840, 85, 5632, 0, 0, 0, 0}, {3084, 106, 5692, 0, 0, 0, 0}, {40, 95, 1800, 4872, 0, 0, 0}, {2056, 40, 5200, 0, 0, 0, 0}, {63, 780, 85, 5376, 0, 0, 0}, {170, 5722, 0, 0, 0, 0, 0}, {780, 1028, 23, 0, 0, 0, 0}, {3084, 96, 4144, 0, 0, 0, 0}, {34, 85, 1800, 4352, 0, 0, 0}, {34, 72, 1028, 4626, 0, 0, 0}, {3840, 95, 4864, 0, 0, 0, 0}, {3072, 96, 4096, 0, 0, 0, 0}, {34, 85, 1799, 4369, 0, 0, 0}, {34, 72, 1032, 4608, 0, 0, 0}, {3855, 95, 4915, 0, 0, 0, 0}, {2056, 40, 5188, 0, 0, 0, 0}, {63, 783, 85, 5376, 0, 0, 0}, {170, 5734, 0, 0, 0, 0, 0}, {783, 1032, 23, 0, 0, 0, 0}, {40, 72, 1032, 4104, 0, 0, 0}, {3855, 85, 5692, 0, 0, 0, 0}, {3072, 106, 5632, 0, 0, 0, 0}, {40, 95, 1799, 4883, 0, 0, 0}, {160, 7276, 8192, 20480, 0, 0, 0}, {29, 34, 786, 85, 1045, 4352, 0}, {2056, 34, 5708, 0, 0, 0, 0}, {63, 783, 95, 4111, 0, 0, 0}, {15600, 19584, 0, 0, 0, 0, 0}, {10, 23, 262, 0, 0, 0, 0}, {10, 34, 512, 5200, 0, 0, 0}, {63, 780, 16448, 0, 0, 0, 0}, {12336, 72, 1036, 0, 0, 0, 0}, {10, 85, 1280, 4896, 0, 0, 0}, {10, 96, 1542, 4112, 0, 0, 0}, {13056, 119, 1792, 0, 0, 0, 0}, {136, 2048, 13432, 17408, 0, 0, 0}, {10, 53, 774, 85, 1280, 4117, 0}, {10, 5744, 0, 0, 0, 0, 0}, {63, 780, 72, 1036, 0, 0, 0}, {192, 3084, 12336, 16448, 0, 0, 0}, {10, 34, 512, 85, 1280, 4352, 0}, {10, 34, 512, 66, 1030, 4114, 0}, {255, 3840, 13056, 17279, 0, 0, 0}, {15360, 19584, 0, 0, 0, 0, 0}, {10, 23, 259, 0, 0, 0, 0}, {10, 34, 512, 5120, 0, 0, 0}, {63, 771, 16448, 0, 0, 0, 0}, {12288, 72, 1036, 0, 0, 0, 0}, {10, 85, 1285, 4896, 0, 0, 0}, {10, 96, 1542, 4128, 0, 0, 0}, {13056, 119, 1807, 0, 0, 0, 0}, {136, 2048, 13312, 17408, 0, 0, 0}, {10, 53, 771, 85, 1285, 4112, 0}, {10, 5664, 0, 0, 0, 0, 0}, {63, 771, 72, 1036, 0, 0, 0}, {192, 3084, 12288, 16448, 0, 0, 0}, {10, 34, 512, 85, 1285, 4352, 0}, {10, 34, 512, 66, 1030, 4096, 0}, {255, 3855, 13056, 17264, 0, 0, 0}, {3072, 96, 4144, 0, 0, 0, 0}, {34, 85, 1800, 4369, 0, 0, 0}, {34, 72, 1032, 4626, 0, 0, 0}, {3840, 95, 4915, 0, 0, 0, 0}, {2056, 40, 5140, 0, 0, 0, 0}, {63, 768, 85, 5376, 0, 0, 0}, {170, 5692, 0, 0, 0, 0, 0}, {768, 1032, 23, 0, 0, 0, 0}, {40, 72, 1032, 4112, 0, 0, 0}, {3840, 85, 5683, 0, 0, 0, 0}, {3072, 106, 5680, 0, 0, 0, 0}, {40, 95, 1800, 4883, 0, 0, 0}, {160, 7228, 8192, 20560, 0, 0, 0}, {29, 34, 768, 85, 1045, 4352, 0}, {2056, 34, 5654, 0, 0, 0, 0}, {63, 768, 95, 4096, 0, 0, 0}, {160, 7168, 8192, 20480, 0, 0, 0}, {29, 34, 771, 85, 1028, 4369, 0}, {2056, 34, 5640, 0, 0, 0, 0}, {63, 771, 95, 4111, 0, 0, 0}, {40, 72, 1028, 4104, 0, 0, 0}, {3855, 85, 5647, 0, 0, 0, 0}, {3084, 106, 5644, 0, 0, 0, 0}, {40, 95, 1799, 4872, 0, 0, 0}, {2056, 40, 5120, 0, 0, 0, 0}, {63, 771, 85, 5376, 0, 0, 0}, {170, 5632, 0, 0, 0, 0, 0}, {771, 1028, 23, 0, 0, 0, 0}, {3084, 96, 4096, 0, 0, 0, 0}, {34, 85, 1799, 4352, 0, 0, 0}, {34, 72, 1028, 4608, 0, 0, 0}, {3855, 95, 4864, 0, 0, 0, 0}, {192, 3072, 12336, 16448, 0, 0, 0}, {10, 34, 512, 85, 1280, 4369, 0}, {10, 34, 512, 66, 1024, 4114, 0}, {255, 3840, 13107, 17228, 0, 0, 0}, {136, 2048, 13372, 17476, 0, 0, 0}, {10, 53, 768, 85, 1280, 4117, 0}, {10, 5654, 0, 0, 0, 0, 0}, {63, 768, 72, 1024, 0, 0, 0}, {12336, 72, 1024, 0, 0, 0, 0}, {10, 85, 1280, 4883, 0, 0, 0}, {10, 96, 1536, 4112, 0, 0, 0}, {13107, 119, 1792, 0, 0, 0, 0}, {15420, 19532, 0, 0, 0, 0, 0}, {10, 23, 256, 0, 0, 0, 0}, {10, 34, 512, 5140, 0, 0, 0}, {63, 768, 16448, 0, 0, 0, 0}, {192, 3072, 12288, 16384, 0, 0, 0}, {10, 34, 514, 85, 1285, 4369, 0}, {10, 34, 514, 66, 1026, 4098, 0}, {255, 3855, 13107, 17212, 0, 0, 0}, {136, 2056, 13388, 17476, 0, 0, 0}, {10, 53, 773, 85, 1285, 4101, 0}, {10, 5734, 0, 0, 0, 0, 0}, {63, 783, 72, 1032, 0, 0, 0}, {12288, 72, 1032, 0, 0, 0, 0}, {10, 85, 1285, 4915, 0, 0, 0}, {10, 96, 1536, 4096, 0, 0, 0}, {13107, 119, 1799, 0, 0, 0, 0}, {15564, 19660, 0, 0, 0, 0, 0}, {10, 23, 263, 0, 0, 0, 0}, {10, 34, 514, 5188, 0, 0, 0}, {63, 783, 16384, 0, 0, 0, 0}, {160, 7280, 8224, 20560, 0, 0, 0}, {29, 34, 785, 85, 1041, 4369, 0}, {2048, 34, 5722, 0, 0, 0, 0}, {63, 780, 95, 4127, 0, 0, 0}, {40, 72, 1036, 4120, 0, 0, 0}, {3840, 85, 5674, 0, 0, 0, 0}, {3084, 106, 5654, 0, 0, 0, 0}, {40, 95, 1792, 4864, 0, 0, 0}, {2048, 40, 5200, 0, 0, 0, 0}, {63, 780, 85, 5397, 0, 0, 0}, {170, 5744, 0, 0, 0, 0, 0}, {780, 1036, 23, 0, 0, 0, 0}, {3084, 96, 4112, 0, 0, 0, 0}, {34, 85, 1792, 4352, 0, 0, 0}, {34, 72, 1036, 4626, 0, 0, 0}, {3840, 95, 4896, 0, 0, 0, 0}, {3072, 96, 4128, 0, 0, 0, 0}, {34, 85, 1807, 4369, 0, 0, 0}, {34, 72, 1024, 4608, 0, 0, 0}, {3855, 95, 4883, 0, 0, 0, 0}, {2048, 40, 5188, 0, 0, 0, 0}, {63, 783, 85, 5397, 0, 0, 0}, {170, 5708, 0, 0, 0, 0, 0}, {783, 1024, 23, 0, 0, 0, 0}, {40, 72, 1024, 4096, 0, 0, 0}, {3855, 85, 5654, 0, 0, 0, 0}, {3072, 106, 5674, 0, 0, 0, 0}, {40, 95, 1807, 4891, 0, 0, 0}, {160, 7244, 8224, 20480, 0, 0, 0}, {29, 34, 786, 85, 1024, 4352, 0}, {2048, 34, 5700, 0, 0, 0, 0}, {63, 783, 95, 4112, 0, 0, 0}, {15600, 19456, 0, 0, 0, 0, 0}, {10, 23, 260, 0, 0, 0, 0}, {10, 34, 514, 5200, 0, 0, 0}, {63, 780, 16384, 0, 0, 0, 0}, {12336, 72, 1028, 0, 0, 0, 0}, {10, 85, 1280, 4864, 0, 0, 0}, {10, 96, 1542, 4144, 0, 0, 0}, {13056, 119, 1800, 0, 0, 0, 0}, {136, 2056, 13424, 17408, 0, 0, 0}, {10, 53, 774, 85, 1280, 4096, 0}, {10, 5712, 0, 0, 0, 0, 0}, {63, 780, 72, 1028, 0, 0, 0}, {192, 3084, 12336, 16384, 0, 0, 0}, {10, 34, 514, 85, 1280, 4352, 0}, {10, 34, 514, 66, 1028, 4112, 0}, {255, 3840, 13056, 17152, 0, 0, 0}, {2560, 5888, 0, 0, 0, 0, 0}, {60, 76, 257, 0, 0, 0, 0}, {128, 514, 5418, 0, 0, 0, 0}, {60, 771, 1295, 4367, 0, 0, 0}, {520, 76, 1028, 4360, 0, 0, 0}, {240, 1285, 4698, 0, 0, 0, 0}, {204, 1542, 4454, 0, 0, 0, 0}, {520, 112, 1295, 4096, 0, 0, 0}, {128, 520, 5376, 0, 0, 0, 0}, {60, 771, 1285, 4437, 0, 0, 0}, {6048, 2570, 13578, 16906, 0, 0, 0}, {267, 311, 771, 327, 1028, 4359, 0}, {204, 1548, 4352, 0, 0, 0, 0}, {514, 112, 1285, 4128, 0, 0, 0}, {514, 76, 1028, 4386, 0, 0, 0}, {240, 1295, 4608, 0, 0, 0, 0}, {544, 112, 1312, 4112, 0, 0, 0}, {204, 1638, 4369, 0, 0, 0, 0}, {240, 1370, 4626, 0, 0, 0, 0}, {544, 76, 1024, 4403, 0, 0, 0}, {60, 768, 1360, 4420, 0, 0, 0}, {128, 554, 5397, 0, 0, 0, 0}, {60, 76, 278, 0, 0, 0, 0}, {2720, 5911, 0, 0, 0, 0, 0}, {240, 1360, 4680, 0, 0, 0, 0}, {554, 76, 1024, 4377, 0, 0, 0}, {554, 112, 1322, 4144, 0, 0, 0}, {204, 1644, 4471, 0, 0, 0, 0}, {284, 288, 768, 336, 1024, 4352, 0}, {6071, 7453, 8738, 21845, 0, 0, 0}, {60, 768, 1370, 4382, 0, 0, 0}, {128, 544, 5439, 0, 0, 0, 0}, {128, 544, 5376, 0, 0, 0, 0}, {60, 771, 1365, 4369, 0, 0, 0}, {6024, 7458, 8738, 16930, 0, 0, 0}, {287, 291, 771, 339, 1299, 4112, 0}, {204, 1632, 4420, 0, 0, 0, 0}, {554, 112, 1317, 4096, 0, 0, 0}, {554, 76, 1036, 4394, 0, 0, 0}, {240, 1375, 4728, 0, 0, 0, 0}, {2720, 5928, 0, 0, 0, 0, 0}, {60, 76, 277, 0, 0, 0, 0}, {128, 554, 5418, 0, 0, 0, 0}, {60, 771, 1375, 4427, 0, 0, 0}, {544, 76, 1036, 4352, 0, 0, 0}, {240, 1365, 4642, 0, 0, 0, 0}, {204, 1642, 4386, 0, 0, 0, 0}, {544, 112, 1327, 4128, 0, 0, 0}, {240, 1280, 4656, 0, 0, 0, 0}, {514, 76, 1032, 4369, 0, 0, 0}, {514, 112, 1290, 4112, 0, 0, 0}, {204, 1536, 4403, 0, 0, 0, 0}, {264, 308, 768, 324, 1280, 4096, 0}, {6047, 2570, 13621, 21845, 0, 0, 0}, {60, 768, 1290, 4442, 0, 0, 0}, {128, 520, 5439, 0, 0, 0, 0}, {520, 112, 1280, 4144, 0, 0, 0}, {204, 1546, 4437, 0, 0, 0, 0}, {240, 1290, 4714, 0, 0, 0, 0}, {520, 76, 1032, 4411, 0, 0, 0}, {60, 768, 1280, 4352, 0, 0, 0}, {128, 514, 5397, 0, 0, 0, 0}, {60, 76, 258, 0, 0, 0, 0}, {2560, 5951, 0, 0, 0, 0, 0}, {128, 512, 5440, 0, 0, 0, 0}, {60, 783, 1285, 4369, 0, 0, 0}, {6120, 2570, 8738, 16962, 0, 0, 0}, {271, 307, 512, 323, 1024, 4096, 0}, {204, 1536, 4420, 0, 0, 0, 0}, {522, 112, 1285, 4112, 0, 0, 0}, {522, 76, 1024, 4394, 0, 0, 0}, {240, 1295, 4680, 0, 0, 0, 0}, {2560, 5960, 0, 0, 0, 0, 0}, {60, 76, 261, 0, 0, 0, 0}, {128, 522, 5482, 0, 0, 0, 0}, {60, 783, 1295, 4427, 0, 0, 0}, {512, 76, 1024, 4352, 0, 0, 0}, {240, 1285, 4626, 0, 0, 0, 0}, {204, 1546, 4386, 0, 0, 0, 0}, {512, 112, 1295, 4144, 0, 0, 0}, {240, 1360, 4608, 0, 0, 0, 0}, {546, 76, 1028, 4369, 0, 0, 0}, {546, 112, 1322, 4096, 0, 0, 0}, {204, 1632, 4403, 0, 0, 0, 0}, {280, 292, 532, 340, 1028, 4112, 0}, {6143, 7509, 13653, 21845, 0, 0, 0}, {60, 780, 1370, 4442, 0, 0, 0}, {128, 552, 5503, 0, 0, 0, 0}, {552, 112, 1312, 4128, 0, 0, 0}, {204, 1642, 4437, 0, 0, 0, 0}, {240, 1370, 4698, 0, 0, 0, 0}, {552, 76, 1028, 4411, 0, 0, 0}, {60, 780, 1360, 4352, 0, 0, 0}, {128, 546, 5461, 0, 0, 0, 0}, {60, 76, 274, 0, 0, 0, 0}, {2720, 5983, 0, 0, 0, 0, 0}, {2720, 5984, 0, 0, 0, 0, 0}, {60, 76, 273, 0, 0, 0, 0}, {128, 546, 5482, 0, 0, 0, 0}, {60, 783, 1375, 4367, 0, 0, 0}, {552, 76, 1032, 4360, 0, 0, 0}, {240, 1365, 4714, 0, 0, 0, 0}, {204, 1638, 4454, 0, 0, 0, 0}, {552, 112, 1327, 4112, 0, 0, 0}, {128, 552, 5440, 0, 0, 0, 0}, {60, 783, 1365, 4437, 0, 0, 0}, {6080, 7530, 13674, 17002, 0, 0, 0}, {283, 295, 532, 343, 1299, 4359, 0}, {204, 1644, 4352, 0, 0, 0, 0}, {546, 112, 1317, 4144, 0, 0, 0}, {546, 76, 1032, 4386, 0, 0, 0}, {240, 1375, 4656, 0, 0, 0, 0}, {512, 112, 1280, 4096, 0, 0, 0}, {204, 1542, 4369, 0, 0, 0, 0}, {240, 1290, 4642, 0, 0, 0, 0}, {512, 76, 1036, 4403, 0, 0, 0}, {60, 780, 1280, 4420, 0, 0, 0}, {128, 522, 5461, 0, 0, 0, 0}, {60, 76, 262, 0, 0, 0, 0}, {2560, 6007, 0, 0, 0, 0, 0}, {240, 1280, 4728, 0, 0, 0, 0}, {522, 76, 1036, 4377, 0, 0, 0}, {522, 112, 1290, 4128, 0, 0, 0}, {204, 1548, 4471, 0, 0, 0, 0}, {268, 304, 512, 320, 1280, 4352, 0}, {6103, 2570, 8738, 21845, 0, 0, 0}, {60, 780, 1290, 4382, 0, 0, 0}, {128, 512, 5503, 0, 0, 0, 0}, {128, 512, 5376, 0, 0, 0, 0}, {60, 771, 1285, 4369, 0, 0, 0}, {2570, 5928, 0, 0, 0, 0, 0}, {60, 76, 259, 0, 0, 0, 0}, {204, 1548, 4420, 0, 0, 0, 0}, {522, 112, 1285, 4128, 0, 0, 0}, {522, 76, 1036, 4394, 0, 0, 0}, {240, 1295, 4728, 0, 0, 0, 0}, {6024, 2560, 13568, 21760, 0, 0, 0}, {265, 309, 771, 325, 1285, 4112, 0}, {128, 522, 5418, 0, 0, 0, 0}, {60, 771, 1295, 4427, 0, 0, 0}, {512, 76, 1036, 4352, 0, 0, 0}, {240, 1285, 4642, 0, 0, 0, 0}, {204, 1542, 4386, 0, 0, 0, 0}, {512, 112, 1295, 4096, 0, 0, 0}, {240, 1360, 4656, 0, 0, 0, 0}, {546, 76, 1032, 4369, 0, 0, 0}, {546, 112, 1322, 4144, 0, 0, 0}, {204, 1644, 4403, 0, 0, 0, 0}, {60, 76, 276, 0, 0, 0, 0}, {2730, 5951, 0, 0, 0, 0, 0}, {60, 768, 1370, 4442, 0, 0, 0}, {128, 552, 5439, 0, 0, 0, 0}, {552, 112, 1312, 4112, 0, 0, 0}, {204, 1638, 4437, 0, 0, 0, 0}, {240, 1370, 4714, 0, 0, 0, 0}, {552, 76, 1032, 4411, 0, 0, 0}, {60, 768, 1360, 4352, 0, 0, 0}, {128, 546, 5397, 0, 0, 0, 0}, {286, 290, 768, 338, 1302, 4096, 0}, {6047, 7487, 8704, 16992, 0, 0, 0}, {6048, 7424, 8704, 21760, 0, 0, 0}, {285, 289, 771, 337, 1028, 4369, 0}, {128, 546, 5418, 0, 0, 0, 0}, {60, 771, 1375, 4367, 0, 0, 0}, {552, 76, 1028, 4360, 0, 0, 0}, {240, 1365, 4698, 0, 0, 0, 0}, {204, 1642, 4454, 0, 0, 0, 0}, {552, 112, 1327, 4128, 0, 0, 0}, {128, 552, 5376, 0, 0, 0, 0}, {60, 771, 1365, 4437, 0, 0, 0}, {2730, 5888, 0, 0, 0, 0, 0}, {60, 76, 279, 0, 0, 0, 0}, {204, 1632, 4352, 0, 0, 0, 0}, {546, 112, 1317, 4096, 0, 0, 0}, {546, 76, 1028, 4386, 0, 0, 0}, {240, 1375, 4608, 0, 0, 0, 0}, {512, 112, 1280, 4144, 0, 0, 0}, {204, 1546, 4369, 0, 0, 0, 0}, {240, 1290, 4626, 0, 0, 0, 0}, {512, 76, 1024, 4403, 0, 0, 0}, {60, 768, 1280, 4420, 0, 0, 0}, {128, 522, 5397, 0, 0, 0, 0}, {266, 310, 768, 326, 1024, 4374, 0}, {6071, 2560, 13631, 16968, 0, 0, 0}, {240, 1280, 4680, 0, 0, 0, 0}, {522, 76, 1024, 4377, 0, 0, 0}, {522, 112, 1290, 4112, 0, 0, 0}, {204, 1536, 4471, 0, 0, 0, 0}, {60, 76, 256, 0, 0, 0, 0}, {2570, 5911, 0, 0, 0, 0, 0}, {60, 768, 1290, 4382, 0, 0, 0}, {128, 512, 5439, 0, 0, 0, 0}, {6080, 2560, 8704, 21760, 0, 0, 0}, {269, 305, 514, 321, 1285, 4369, 0}, {128, 514, 5482, 0, 0, 0, 0}, {60, 783, 1295, 4367, 0, 0, 0}, {520, 76, 1032, 4360, 0, 0, 0}, {240, 1285, 4714, 0, 0, 0, 0}, {204, 1546, 4454, 0, 0, 0, 0}, {520, 112, 1295, 4144, 0, 0, 0}, {128, 520, 5440, 0, 0, 0, 0}, {60, 783, 1285, 4437, 0, 0, 0}, {2570, 5984, 0, 0, 0, 0, 0}, {60, 76, 263, 0, 0, 0, 0}, {204, 1536, 4352, 0, 0, 0, 0}, {514, 112, 1285, 4112, 0, 0, 0}, {514, 76, 1032, 4386, 0, 0, 0}, {240, 1295, 4656, 0, 0, 0, 0}, {544, 112, 1312, 4128, 0, 0, 0}, {204, 1642, 4369, 0, 0, 0, 0}, {240, 1370, 4642, 0, 0, 0, 0}, {544, 76, 1036, 4403, 0, 0, 0}, {60, 780, 1360, 4420, 0, 0, 0}, {128, 554, 5461, 0, 0, 0, 0}, {282, 294, 534, 342, 1302, 4374, 0}, {6103, 7543, 13663, 16936, 0, 0, 0}, {240, 1360, 4728, 0, 0, 0, 0}, {554, 76, 1036, 4377, 0, 0, 0}, {554, 112, 1322, 4096, 0, 0, 0}, {204, 1632, 4471, 0, 0, 0, 0}, {60, 76, 272, 0, 0, 0, 0}, {2730, 6007, 0, 0, 0, 0, 0}, {60, 780, 1370, 4382, 0, 0, 0}, {128, 544, 5503, 0, 0, 0, 0}, {128, 544, 5440, 0, 0, 0, 0}, {60, 783, 1365, 4369, 0, 0, 0}, {2730, 5960, 0, 0, 0, 0, 0}, {60, 76, 275, 0, 0, 0, 0}, {204, 1644, 4420, 0, 0, 0, 0}, {554, 112, 1317, 4144, 0, 0, 0}, {554, 76, 1024, 4394, 0, 0, 0}, {240, 1375, 4680, 0, 0, 0, 0}, {6120, 7496, 13664, 21760, 0, 0, 0}, {281, 293, 534, 341, 1024, 4096, 0}, {128, 554, 5482, 0, 0, 0, 0}, {60, 783, 1375, 4427, 0, 0, 0}, {544, 76, 1024, 4352, 0, 0, 0}, {240, 1365, 4626, 0, 0, 0, 0}, {204, 1638, 4386, 0, 0, 0, 0}, {544, 112, 1327, 4112, 0, 0, 0}, {240, 1280, 4608, 0, 0, 0, 0}, {514, 76, 1028, 4369, 0, 0, 0}, {514, 112, 1290, 4128, 0, 0, 0}, {204, 1548, 4403, 0, 0, 0, 0}, {60, 76, 260, 0, 0, 0, 0}, {2570, 5983, 0, 0, 0, 0, 0}, {60, 780, 1290, 4442, 0, 0, 0}, {128, 520, 5503, 0, 0, 0, 0}, {520, 112, 1280, 4096, 0, 0, 0}, {204, 1542, 4437, 0, 0, 0, 0}, {240, 1290, 4698, 0, 0, 0, 0}, {520, 76, 1028, 4411, 0, 0, 0}, {60, 780, 1280, 4352, 0, 0, 0}, {128, 514, 5461, 0, 0, 0, 0}, {270, 306, 514, 322, 1028, 4112, 0}, {6143, 2560, 8704, 16896, 0, 0, 0}, {2560, 5120, 0, 0, 0, 0, 0}, {63, 64, 257, 0, 0, 0, 0}, {128, 514, 5160, 0, 0, 0, 0}, {63, 771, 1295, 4364, 0, 0, 0}, {520, 64, 1028, 4096, 0, 0, 0}, {255, 1285, 4437, 0, 0, 0, 0}, {192, 1542, 4714, 0, 0, 0, 0}, {520, 127, 1295, 4360, 0, 0, 0}, {128, 520, 5128, 0, 0, 0, 0}, {63, 771, 1285, 4441, 0, 0, 0}, {5280, 2570, 13834, 17408, 0, 0, 0}, {267, 308, 771, 64, 1028, 4356, 0}, {192, 1548, 4608, 0, 0, 0, 0}, {514, 127, 1285, 4386, 0, 0, 0}, {514, 64, 1028, 4128, 0, 0, 0}, {255, 1295, 4352, 0, 0, 0, 0}, {544, 64, 1024, 4112, 0, 0, 0}, {255, 1365, 4369, 0, 0, 0, 0}, {192, 1642, 4626, 0, 0, 0, 0}, {544, 127, 1312, 4403, 0, 0, 0}, {2720, 5140, 0, 0, 0, 0, 0}, {63, 64, 277, 0, 0, 0, 0}, {128, 554, 5180, 0, 0, 0, 0}, {63, 768, 1375, 4424, 0, 0, 0}, {192, 1632, 4728, 0, 0, 0, 0}, {554, 127, 1322, 4377, 0, 0, 0}, {554, 64, 1024, 4144, 0, 0, 0}, {255, 1375, 4420, 0, 0, 0, 0}, {128, 544, 5148, 0, 0, 0, 0}, {63, 768, 1365, 4381, 0, 0, 0}, {5300, 7710, 8738, 17476, 0, 0, 0}, {287, 288, 768, 64, 1024, 4352, 0}, {128, 544, 5152, 0, 0, 0, 0}, {63, 771, 1370, 4369, 0, 0, 0}, {5256, 7714, 8738, 20480, 0, 0, 0}, {284, 291, 771, 64, 1296, 4112, 0}, {192, 1644, 4680, 0, 0, 0, 0}, {554, 127, 1317, 4394, 0, 0, 0}, {554, 64, 1036, 4096, 0, 0, 0}, {255, 1360, 4471, 0, 0, 0, 0}, {2720, 5160, 0, 0, 0, 0, 0}, {63, 64, 278, 0, 0, 0, 0}, {128, 554, 5120, 0, 0, 0, 0}, {63, 771, 1360, 4420, 0, 0, 0}, {544, 64, 1036, 4128, 0, 0, 0}, {255, 1370, 4386, 0, 0, 0, 0}, {192, 1638, 4642, 0, 0, 0, 0}, {544, 127, 1327, 4352, 0, 0, 0}, {192, 1536, 4656, 0, 0, 0, 0}, {514, 127, 1290, 4369, 0, 0, 0}, {514, 64, 1032, 4112, 0, 0, 0}, {255, 1280, 4403, 0, 0, 0, 0}, {128, 520, 5172, 0, 0, 0, 0}, {63, 768, 1290, 4437, 0, 0, 0}, {5276, 2570, 13878, 20560, 0, 0, 0}, {264, 311, 768, 64, 1280, 4096, 0}, {520, 64, 1032, 4144, 0, 0, 0}, {255, 1290, 4454, 0, 0, 0, 0}, {192, 1546, 4698, 0, 0, 0, 0}, {520, 127, 1280, 4411, 0, 0, 0}, {2560, 5180, 0, 0, 0, 0, 0}, {63, 64, 258, 0, 0, 0, 0}, {128, 514, 5140, 0, 0, 0, 0}, {63, 768, 1280, 4352, 0, 0, 0}, {512, 64, 1024, 4096, 0, 0, 0}, {255, 1285, 4369, 0, 0, 0, 0}, {192, 1546, 4642, 0, 0, 0, 0}, {512, 127, 1295, 4403, 0, 0, 0}, {2560, 5188, 0, 0, 0, 0, 0}, {63, 64, 261, 0, 0, 0, 0}, {128, 522, 5228, 0, 0, 0, 0}, {63, 783, 1295, 4424, 0, 0, 0}, {192, 1536, 4680, 0, 0, 0, 0}, {522, 127, 1285, 4377, 0, 0, 0}, {522, 64, 1024, 4128, 0, 0, 0}, {255, 1295, 4420, 0, 0, 0, 0}, {128, 512, 5196, 0, 0, 0, 0}, {63, 783, 1285, 4381, 0, 0, 0}, {5348, 2570, 8738, 17476, 0, 0, 0}, {271, 304, 512, 64, 1024, 4352, 0}, {2720, 5200, 0, 0, 0, 0, 0}, {63, 64, 273, 0, 0, 0, 0}, {128, 546, 5240, 0, 0, 0, 0}, {63, 780, 1375, 4364, 0, 0, 0}, {552, 64, 1028, 4112, 0, 0, 0}, {255, 1365, 4437, 0, 0, 0, 0}, {192, 1638, 4698, 0, 0, 0, 0}, {552, 127, 1312, 4360, 0, 0, 0}, {128, 552, 5208, 0, 0, 0, 0}, {63, 780, 1365, 4441, 0, 0, 0}, {5360, 7770, 13914, 17408, 0, 0, 0}, {283, 292, 535, 64, 1028, 4356, 0}, {192, 1644, 4656, 0, 0, 0, 0}, {546, 127, 1322, 4386, 0, 0, 0}, {546, 64, 1028, 4144, 0, 0, 0}, {255, 1375, 4352, 0, 0, 0, 0}, {192, 1632, 4608, 0, 0, 0, 0}, {546, 127, 1317, 4369, 0, 0, 0}, {546, 64, 1032, 4096, 0, 0, 0}, {255, 1360, 4403, 0, 0, 0, 0}, {128, 552, 5220, 0, 0, 0, 0}, {63, 783, 1370, 4437, 0, 0, 0}, {5324, 7782, 13926, 20480, 0, 0, 0}, {280, 295, 535, 64, 1296, 4112, 0}, {552, 64, 1032, 4128, 0, 0, 0}, {255, 1370, 4454, 0, 0, 0, 0}, {192, 1642, 4714, 0, 0, 0, 0}, {552, 127, 1327, 4411, 0, 0, 0}, {2720, 5228, 0, 0, 0, 0, 0}, {63, 64, 274, 0, 0, 0, 0}, {128, 546, 5188, 0, 0, 0, 0}, {63, 783, 1360, 4352, 0, 0, 0}, {128, 512, 5232, 0, 0, 0, 0}, {63, 780, 1290, 4369, 0, 0, 0}, {5336, 2570, 8738, 20560, 0, 0, 0}, {268, 307, 512, 64, 1280, 4096, 0}, {192, 1548, 4728, 0, 0, 0, 0}, {522, 127, 1290, 4394, 0, 0, 0}, {522, 64, 1036, 4112, 0, 0, 0}, {255, 1280, 4471, 0, 0, 0, 0}, {2560, 5240, 0, 0, 0, 0, 0}, {63, 64, 262, 0, 0, 0, 0}, {128, 522, 5200, 0, 0, 0, 0}, {63, 780, 1280, 4420, 0, 0, 0}, {512, 64, 1036, 4144, 0, 0, 0}, {255, 1290, 4386, 0, 0, 0, 0}, {192, 1542, 4626, 0, 0, 0, 0}, {512, 127, 1280, 4352, 0, 0, 0}, {128, 512, 5120, 0, 0, 0, 0}, {63, 771, 1285, 4369, 0, 0, 0}, {2570, 5160, 0, 0, 0, 0, 0}, {63, 64, 259, 0, 0, 0, 0}, {192, 1548, 4680, 0, 0, 0, 0}, {522, 127, 1285, 4394, 0, 0, 0}, {522, 64, 1036, 4128, 0, 0, 0}, {255, 1295, 4471, 0, 0, 0, 0}, {5256, 2560, 13824, 20480, 0, 0, 0}, {265, 310, 771, 64, 1285, 4112, 0}, {128, 522, 5152, 0, 0, 0, 0}, {63, 771, 1295, 4420, 0, 0, 0}, {512, 64, 1036, 4096, 0, 0, 0}, {255, 1285, 4386, 0, 0, 0, 0}, {192, 1542, 4642, 0, 0, 0, 0}, {512, 127, 1295, 4352, 0, 0, 0}, {192, 1632, 4656, 0, 0, 0, 0}, {546, 127, 1322, 4369, 0, 0, 0}, {546, 64, 1032, 4144, 0, 0, 0}, {255, 1375, 4403, 0, 0, 0, 0}, {128, 552, 5140, 0, 0, 0, 0}, {63, 768, 1365, 4437, 0, 0, 0}, {2730, 5180, 0, 0, 0, 0, 0}, {63, 64, 279, 0, 0, 0, 0}, {552, 64, 1032, 4112, 0, 0, 0}, {255, 1365, 4454, 0, 0, 0, 0}, {192, 1642, 4698, 0, 0, 0, 0}, {552, 127, 1312, 4411, 0, 0, 0}, {5276, 7740, 8704, 20560, 0, 0, 0}, {285, 290, 768, 64, 1301, 4096, 0}, {128, 546, 5172, 0, 0, 0, 0}, {63, 768, 1375, 4352, 0, 0, 0}, {5280, 7680, 8704, 17408, 0, 0, 0}, {286, 289, 771, 64, 1028, 4369, 0}, {128, 546, 5128, 0, 0, 0, 0}, {63, 771, 1360, 4364, 0, 0, 0}, {552, 64, 1028, 4128, 0, 0, 0}, {255, 1370, 4437, 0, 0, 0, 0}, {192, 1638, 4714, 0, 0, 0, 0}, {552, 127, 1327, 4360, 0, 0, 0}, {128, 552, 5160, 0, 0, 0, 0}, {63, 771, 1370, 4441, 0, 0, 0}, {2730, 5120, 0, 0, 0, 0, 0}, {63, 64, 276, 0, 0, 0, 0}, {192, 1644, 4608, 0, 0, 0, 0}, {546, 127, 1317, 4386, 0, 0, 0}, {546, 64, 1028, 4096, 0, 0, 0}, {255, 1360, 4352, 0, 0, 0, 0}, {512, 64, 1024, 4144, 0, 0, 0}, {255, 1290, 4369, 0, 0, 0, 0}, {192, 1546, 4626, 0, 0, 0, 0}, {512, 127, 1280, 4403, 0, 0, 0}, {5300, 2560, 13884, 17476, 0, 0, 0}, {266, 309, 768, 64, 1024, 4373, 0}, {128, 522, 5148, 0, 0, 0, 0}, {63, 768, 1280, 4424, 0, 0, 0}, {192, 1536, 4728, 0, 0, 0, 0}, {522, 127, 1290, 4377, 0, 0, 0}, {522, 64, 1024, 4112, 0, 0, 0}, {255, 1280, 4420, 0, 0, 0, 0}, {128, 512, 5180, 0, 0, 0, 0}, {63, 768, 1290, 4381, 0, 0, 0}, {2570, 5140, 0, 0, 0, 0, 0}, {63, 64, 256, 0, 0, 0, 0}, {192, 1536, 4608, 0, 0, 0, 0}, {514, 127, 1285, 4369, 0, 0, 0}, {514, 64, 1032, 4128, 0, 0, 0}, {255, 1295, 4403, 0, 0, 0, 0}, {128, 520, 5188, 0, 0, 0, 0}, {63, 783, 1285, 4437, 0, 0, 0}, {2570, 5228, 0, 0, 0, 0, 0}, {63, 64, 263, 0, 0, 0, 0}, {520, 64, 1032, 4096, 0, 0, 0}, {255, 1285, 4454, 0, 0, 0, 0}, {192, 1546, 4714, 0, 0, 0, 0}, {520, 127, 1295, 4411, 0, 0, 0}, {5324, 2560, 8704, 20480, 0, 0, 0}, {269, 306, 514, 64, 1285, 4112, 0}, {128, 514, 5220, 0, 0, 0, 0}, {63, 783, 1295, 4352, 0, 0, 0}, {128, 544, 5200, 0, 0, 0, 0}, {63, 780, 1365, 4369, 0, 0, 0}, {2730, 5240, 0, 0, 0, 0, 0}, {63, 64, 275, 0, 0, 0, 0}, {192, 1644, 4728, 0, 0, 0, 0}, {554, 127, 1322, 4394, 0, 0, 0}, {554, 64, 1036, 4144, 0, 0, 0}, {255, 1375, 4471, 0, 0, 0, 0}, {5336, 7800, 13904, 20560, 0, 0, 0}, {281, 294, 533, 64, 1301, 4096, 0}, {128, 554, 5232, 0, 0, 0, 0}, {63, 780, 1375, 4420, 0, 0, 0}, {544, 64, 1036, 4112, 0, 0, 0}, {255, 1365, 4386, 0, 0, 0, 0}, {192, 1638, 4626, 0, 0, 0, 0}, {544, 127, 1312, 4352, 0, 0, 0}, {544, 64, 1024, 4128, 0, 0, 0}, {255, 1370, 4369, 0, 0, 0, 0}, {192, 1642, 4642, 0, 0, 0, 0}, {544, 127, 1327, 4403, 0, 0, 0}, {5348, 7748, 13932, 17476, 0, 0, 0}, {282, 293, 533, 64, 1024, 4373, 0}, {128, 554, 5196, 0, 0, 0, 0}, {63, 783, 1360, 4424, 0, 0, 0}, {192, 1632, 4680, 0, 0, 0, 0}, {554, 127, 1317, 4377, 0, 0, 0}, {554, 64, 1024, 4096, 0, 0, 0}, {255, 1360, 4420, 0, 0, 0, 0}, {128, 544, 5228, 0, 0, 0, 0}, {63, 783, 1370, 4381, 0, 0, 0}, {2730, 5188, 0, 0, 0, 0, 0}, {63, 64, 272, 0, 0, 0, 0}, {5360, 2560, 8704, 17408, 0, 0, 0}, {270, 305, 514, 64, 1028, 4369, 0}, {128, 514, 5208, 0, 0, 0, 0}, {63, 780, 1280, 4364, 0, 0, 0}, {520, 64, 1028, 4144, 0, 0, 0}, {255, 1290, 4437, 0, 0, 0, 0}, {192, 1542, 4698, 0, 0, 0, 0}, {520, 127, 1280, 4360, 0, 0, 0}, {128, 520, 5240, 0, 0, 0, 0}, {63, 780, 1290, 4441, 0, 0, 0}, {2570, 5200, 0, 0, 0, 0, 0}, {63, 64, 260, 0, 0, 0, 0}, {192, 1548, 4656, 0, 0, 0, 0}, {514, 127, 1290, 4386, 0, 0, 0}, {514, 64, 1028, 4112, 0, 0, 0}, {255, 1280, 4352, 0, 0, 0, 0}, {16128, 16384, 0, 0, 0, 0, 0}, {10, 20, 257, 0, 0, 0, 0}, {10, 34, 514, 5378, 0, 0, 0}, {60, 771, 16396, 0, 0, 0, 0}, {13056, 68, 1028, 0, 0, 0, 0}, {10, 80, 1285, 4096, 0, 0, 0}, {10, 102, 1542, 4864, 0, 0, 0}, {12288, 120, 1799, 0, 0, 0, 0}, {136, 2056, 14088, 16392, 0, 0, 0}, {10, 54, 771, 80, 1285, 4102, 0}, {10, 5376, 0, 0, 0, 0, 0}, {60, 771, 68, 1028, 0, 0, 0}, {204, 3084, 13056, 16396, 0, 0, 0}, {10, 34, 514, 80, 1285, 4098, 0}, {10, 34, 514, 68, 1028, 4352, 0}, {240, 3855, 12288, 16384, 0, 0, 0}, {3840, 80, 4112, 0, 0, 0, 0}, {34, 68, 1024, 4369, 0, 0, 0}, {34, 90, 1792, 4626, 0, 0, 0}, {3072, 108, 4883, 0, 0, 0, 0}, {768, 1024, 20, 0, 0, 0, 0}, {170, 5397, 0, 0, 0, 0, 0}, {60, 768, 90, 5398, 0, 0, 0}, {2048, 40, 5911, 0, 0, 0, 0}, {40, 80, 1792, 4120, 0, 0, 0}, {3072, 102, 5401, 0, 0, 0, 0}, {3840, 90, 5402, 0, 0, 0, 0}, {40, 68, 1024, 4891, 0, 0, 0}, {60, 768, 80, 4124, 0, 0, 0}, {2048, 34, 5405, 0, 0, 0, 0}, {30, 34, 768, 68, 1024, 4352, 0}, {160, 7967, 8224, 16448, 0, 0, 0}, {160, 7968, 8224, 16416, 0, 0, 0}, {30, 34, 771, 68, 1042, 4369, 0}, {2048, 34, 5376, 0, 0, 0, 0}, {60, 771, 80, 4112, 0, 0, 0}, {40, 68, 1036, 4864, 0, 0, 0}, {3855, 90, 5413, 0, 0, 0, 0}, {3084, 102, 5414, 0, 0, 0, 0}, {40, 80, 1807, 4096, 0, 0, 0}, {2048, 40, 5888, 0, 0, 0, 0}, {60, 771, 90, 5397, 0, 0, 0}, {170, 5418, 0, 0, 0, 0, 0}, {771, 1036, 20, 0, 0, 0, 0}, {3084, 108, 4896, 0, 0, 0, 0}, {34, 90, 1807, 4608, 0, 0, 0}, {34, 68, 1036, 4352, 0, 0, 0}, {3855, 80, 4128, 0, 0, 0, 0}, {240, 3840, 12336, 16432, 0, 0, 0}, {10, 34, 514, 68, 1026, 4369, 0}, {10, 34, 514, 80, 1280, 4112, 0}, {204, 3072, 13107, 16384, 0, 0, 0}, {60, 768, 68, 1032, 0, 0, 0}, {10, 5429, 0, 0, 0, 0, 0}, {10, 54, 768, 80, 1280, 4096, 0}, {136, 2056, 14135, 16448, 0, 0, 0}, {12336, 120, 1800, 0, 0, 0, 0}, {10, 102, 1536, 4915, 0, 0, 0}, {10, 80, 1280, 4144, 0, 0, 0}, {13107, 68, 1032, 0, 0, 0, 0}, {60, 768, 16384, 0, 0, 0, 0}, {10, 34, 514, 5397, 0, 0, 0}, {10, 20, 258, 0, 0, 0, 0}, {16191, 16576, 0, 0, 0, 0, 0}, {16320, 16448, 0, 0, 0, 0, 0}, {10, 20, 261, 0, 0, 0, 0}, {10, 34, 512, 5442, 0, 0, 0}, {60, 783, 16460, 0, 0, 0, 0}, {13056, 68, 1024, 0, 0, 0, 0}, {10, 80, 1285, 4112, 0, 0, 0}, {10, 102, 1536, 4896, 0, 0, 0}, {12336, 120, 1807, 0, 0, 0, 0}, {136, 2048, 14152, 16456, 0, 0, 0}, {10, 54, 773, 80, 1285, 4118, 0}, {10, 5440, 0, 0, 0, 0, 0}, {60, 783, 68, 1024, 0, 0, 0}, {204, 3072, 13056, 16460, 0, 0, 0}, {10, 34, 512, 80, 1285, 4114, 0}, {10, 34, 512, 68, 1024, 4352, 0}, {240, 3855, 12336, 16448, 0, 0, 0}, {3840, 80, 4096, 0, 0, 0, 0}, {34, 68, 1028, 4369, 0, 0, 0}, {34, 90, 1800, 4608, 0, 0, 0}, {3084, 108, 4915, 0, 0, 0, 0}, {780, 1028, 20, 0, 0, 0, 0}, {170, 5461, 0, 0, 0, 0, 0}, {60, 780, 90, 5388, 0, 0, 0}, {2056, 40, 5983, 0, 0, 0, 0}, {40, 80, 1800, 4104, 0, 0, 0}, {3084, 102, 5439, 0, 0, 0, 0}, {3840, 90, 5376, 0, 0, 0, 0}, {40, 68, 1028, 4883, 0, 0, 0}, {60, 780, 80, 4108, 0, 0, 0}, {2056, 34, 5469, 0, 0, 0, 0}, {30, 34, 786, 68, 1028, 4352, 0}, {160, 8031, 8192, 16384, 0, 0, 0}, {160, 8032, 8192, 16480, 0, 0, 0}, {30, 34, 785, 68, 1046, 4369, 0}, {2056, 34, 5440, 0, 0, 0, 0}, {60, 783, 80, 4096, 0, 0, 0}, {40, 68, 1032, 4872, 0, 0, 0}, {3855, 90, 5439, 0, 0, 0, 0}, {3072, 102, 5376, 0, 0, 0, 0}, {40, 80, 1799, 4112, 0, 0, 0}, {2056, 40, 5960, 0, 0, 0, 0}, {60, 783, 90, 5391, 0, 0, 0}, {170, 5482, 0, 0, 0, 0, 0}, {783, 1032, 20, 0, 0, 0, 0}, {3072, 108, 4864, 0, 0, 0, 0}, {34, 90, 1799, 4626, 0, 0, 0}, {34, 68, 1032, 4352, 0, 0, 0}, {3855, 80, 4144, 0, 0, 0, 0}, {240, 3840, 12288, 16496, 0, 0, 0}, {10, 34, 512, 68, 1030, 4369, 0}, {10, 34, 512, 80, 1280, 4096, 0}, {204, 3084, 13107, 16448, 0, 0, 0}, {60, 780, 68, 1036, 0, 0, 0}, {10, 5493, 0, 0, 0, 0, 0}, {10, 54, 774, 80, 1280, 4112, 0}, {136, 2048, 14199, 16384, 0, 0, 0}, {12288, 120, 1792, 0, 0, 0, 0}, {10, 102, 1542, 4883, 0, 0, 0}, {10, 80, 1280, 4128, 0, 0, 0}, {13107, 68, 1036, 0, 0, 0, 0}, {60, 780, 16448, 0, 0, 0, 0}, {10, 34, 512, 5461, 0, 0, 0}, {10, 20, 262, 0, 0, 0, 0}, {16383, 16512, 0, 0, 0, 0, 0}, {16128, 16512, 0, 0, 0, 0, 0}, {10, 20, 259, 0, 0, 0, 0}, {10, 34, 512, 5376, 0, 0, 0}, {60, 771, 16448, 0, 0, 0, 0}, {13056, 68, 1036, 0, 0, 0, 0}, {10, 80, 1285, 4128, 0, 0, 0}, {10, 102, 1542, 4896, 0, 0, 0}, {12288, 120, 1807, 0, 0, 0, 0}, {136, 2048, 14080, 16384, 0, 0, 0}, {10, 54, 771, 80, 1285, 4112, 0}, {10, 5408, 0, 0, 0, 0, 0}, {60, 771, 68, 1036, 0, 0, 0}, {204, 3084, 13056, 16448, 0, 0, 0}, {10, 34, 512, 80, 1285, 4096, 0}, {10, 34, 512, 68, 1030, 4352, 0}, {240, 3855, 12288, 16496, 0, 0, 0}, {3840, 80, 4144, 0, 0, 0, 0}, {34, 68, 1032, 4369, 0, 0, 0}, {34, 90, 1800, 4626, 0, 0, 0}, {3072, 108, 4915, 0, 0, 0, 0}, {768, 1032, 20, 0, 0, 0, 0}, {170, 5439, 0, 0, 0, 0, 0}, {60, 768, 90, 5376, 0, 0, 0}, {2056, 40, 5911, 0, 0, 0, 0}, {40, 80, 1800, 4112, 0, 0, 0}, {3072, 102, 5427, 0, 0, 0, 0}, {3840, 90, 5424, 0, 0, 0, 0}, {40, 68, 1032, 4883, 0, 0, 0}, {60, 768, 80, 4096, 0, 0, 0}, {2056, 34, 5397, 0, 0, 0, 0}, {30, 34, 768, 68, 1046, 4352, 0}, {160, 7999, 8192, 16480, 0, 0, 0}, {160, 7936, 8192, 16384, 0, 0, 0}, {30, 34, 771, 68, 1028, 4369, 0}, {2056, 34, 5384, 0, 0, 0, 0}, {60, 771, 80, 4108, 0, 0, 0}, {40, 68, 1028, 4872, 0, 0, 0}, {3855, 90, 5391, 0, 0, 0, 0}, {3084, 102, 5388, 0, 0, 0, 0}, {40, 80, 1799, 4104, 0, 0, 0}, {2056, 40, 5888, 0, 0, 0, 0}, {60, 771, 90, 5379, 0, 0, 0}, {170, 5376, 0, 0, 0, 0, 0}, {771, 1028, 20, 0, 0, 0, 0}, {3084, 108, 4864, 0, 0, 0, 0}, {34, 90, 1799, 4608, 0, 0, 0}, {34, 68, 1028, 4352, 0, 0, 0}, {3855, 80, 4096, 0, 0, 0, 0}, {240, 3840, 12336, 16448, 0, 0, 0}, {10, 34, 512, 68, 1024, 4369, 0}, {10, 34, 512, 80, 1280, 4114, 0}, {204, 3072, 13107, 16460, 0, 0, 0}, {60, 768, 68, 1024, 0, 0, 0}, {10, 5397, 0, 0, 0, 0, 0}, {10, 54, 768, 80, 1280, 4118, 0}, {136, 2048, 14143, 16456, 0, 0, 0}, {12336, 120, 1792, 0, 0, 0, 0}, {10, 102, 1536, 4883, 0, 0, 0}, {10, 80, 1280, 4112, 0, 0, 0}, {13107, 68, 1024, 0, 0, 0, 0}, {60, 768, 16460, 0, 0, 0, 0}, {10, 34, 512, 5399, 0, 0, 0}, {10, 20, 256, 0, 0, 0, 0}, {16191, 16448, 0, 0, 0, 0, 0}, {16320, 16576, 0, 0, 0, 0, 0}, {10, 20, 263, 0, 0, 0, 0}, {10, 34, 514, 5440, 0, 0, 0}, {60, 783, 16384, 0, 0, 0, 0}, {13056, 68, 1032, 0, 0, 0, 0}, {10, 80, 1285, 4144, 0, 0, 0}, {10, 102, 1536, 4864, 0, 0, 0}, {12336, 120, 1799, 0, 0, 0, 0}, {136, 2056, 14144, 16448, 0, 0, 0}, {10, 54, 773, 80, 1285, 4096, 0}, {10, 5472, 0, 0, 0, 0, 0}, {60, 783, 68, 1032, 0, 0, 0}, {204, 3072, 13056, 16384, 0, 0, 0}, {10, 34, 514, 80, 1285, 4112, 0}, {10, 34, 514, 68, 1026, 4352, 0}, {240, 3855, 12336, 16432, 0, 0, 0}, {3840, 80, 4128, 0, 0, 0, 0}, {34, 68, 1036, 4369, 0, 0, 0}, {34, 90, 1792, 4608, 0, 0, 0}, {3084, 108, 4883, 0, 0, 0, 0}, {780, 1036, 20, 0, 0, 0, 0}, {170, 5503, 0, 0, 0, 0, 0}, {60, 780, 90, 5402, 0, 0, 0}, {2048, 40, 5983, 0, 0, 0, 0}, {40, 80, 1792, 4096, 0, 0, 0}, {3084, 102, 5397, 0, 0, 0, 0}, {3840, 90, 5418, 0, 0, 0, 0}, {40, 68, 1036, 4891, 0, 0, 0}, {60, 780, 80, 4112, 0, 0, 0}, {2048, 34, 5461, 0, 0, 0, 0}, {30, 34, 786, 68, 1042, 4352, 0}, {160, 8063, 8224, 16416, 0, 0, 0}, {160, 8000, 8224, 16448, 0, 0, 0}, {30, 34, 785, 68, 1024, 4369, 0}, {2048, 34, 5448, 0, 0, 0, 0}, {60, 783, 80, 4124, 0, 0, 0}, {40, 68, 1024, 4864, 0, 0, 0}, {3855, 90, 5397, 0, 0, 0, 0}, {3072, 102, 5418, 0, 0, 0, 0}, {40, 80, 1807, 4120, 0, 0, 0}, {2048, 40, 5960, 0, 0, 0, 0}, {60, 783, 90, 5401, 0, 0, 0}, {170, 5440, 0, 0, 0, 0, 0}, {783, 1024, 20, 0, 0, 0, 0}, {3072, 108, 4896, 0, 0, 0, 0}, {34, 90, 1807, 4626, 0, 0, 0}, {34, 68, 1024, 4352, 0, 0, 0}, {3855, 80, 4112, 0, 0, 0, 0}, {240, 3840, 12288, 16384, 0, 0, 0}, {10, 34, 514, 68, 1028, 4369, 0}, {10, 34, 514, 80, 1280, 4098, 0}, {204, 3084, 13107, 16396, 0, 0, 0}, {60, 780, 68, 1028, 0, 0, 0}, {10, 5461, 0, 0, 0, 0, 0}, {10, 54, 774, 80, 1280, 4102, 0}, {136, 2056, 14207, 16392, 0, 0, 0}, {12288, 120, 1800, 0, 0, 0, 0}, {10, 102, 1542, 4915, 0, 0, 0}, {10, 80, 1280, 4096, 0, 0, 0}, {13107, 68, 1028, 0, 0, 0, 0}, {60, 780, 16396, 0, 0, 0, 0}, {10, 34, 514, 5463, 0, 0, 0}, {10, 20, 260, 0, 0, 0, 0}, {16383, 16384, 0, 0, 0, 0, 0}, {49152, 0, 0, 0, 0, 0, 0}, {2, 5, 17, 257, 0, 0, 0}, {2, 16384, 0, 0, 0, 0, 0}, {15, 51, 771, 0, 0, 0, 0}, {8, 68, 1028, 0, 0, 0, 0}, {12288, 5, 0, 0, 0, 0, 0}, {10, 102, 1542, 0, 0, 0, 0}, {12288, 7, 0, 0, 0, 0, 0}, {8, 16384, 0, 0, 0, 0, 0}, {51, 771, 5, 0, 0, 0, 0}, {10, 24576, 0, 0, 0, 0, 0}, {51, 771, 7, 0, 0, 0, 0}, {204, 3084, 0, 0, 0, 0, 0}, {2, 5, 4096, 0, 0, 0, 0}, {2, 68, 1028, 0, 0, 0, 0}, {15, 12288, 0, 0, 0, 0, 0}, {32, 80, 4112, 0, 0, 0, 0}, {3072, 17, 0, 0, 0, 0, 0}, {34, 90, 4626, 0, 0, 0, 0}, {3072, 19, 0, 0, 0, 0, 0}, {3072, 20, 0, 0, 0, 0, 0}, {42, 85, 5397, 0, 0, 0, 0}, {3072, 22, 0, 0, 0, 0, 0}, {40, 95, 5911, 0, 0, 0, 0}, {6168, 40, 80, 0, 0, 0, 0}, {25, 51, 85, 5376, 0, 0, 0}, {6682, 42, 90, 0, 0, 0, 0}, {27, 51, 68, 5888, 0, 0, 0}, {28, 32, 80, 4096, 0, 0, 0}, {7453, 34, 85, 0, 0, 0, 0}, {30, 34, 68, 4608, 0, 0, 0}, {7967, 32, 95, 0, 0, 0, 0}, {32, 16384, 0, 0, 0, 0, 0}, {15, 771, 17, 0, 0, 0, 0}, {34, 18432, 0, 0, 0, 0, 0}, {15, 771, 19, 0, 0, 0, 0}, {3084, 40, 68, 0, 0, 0, 0}, {15, 37, 85, 5376, 0, 0, 0}, {3084, 42, 76, 0, 0, 0, 0}, {15, 39, 80, 5888, 0, 0, 0}, {40, 18432, 0, 0, 0, 0, 0}, {15, 771, 22, 0, 0, 0, 0}, {42, 16384, 0, 0, 0, 0, 0}, {15, 771, 20, 0, 0, 0, 0}, {3084, 32, 76, 0, 0, 0, 0}, {15, 34, 85, 4608, 0, 0, 0}, {3084, 34, 68, 0, 0, 0, 0}, {15, 32, 80, 4096, 0, 0, 0}, {240, 12336, 0, 0, 0, 0, 0}, {2, 1024, 17, 0, 0, 0, 0}, {2, 80, 4112, 0, 0, 0, 0}, {3072, 51, 0, 0, 0, 0, 0}, {8, 52, 68, 1024, 0, 0, 0}, {10, 13621, 85, 0, 0, 0, 0}, {10, 54, 80, 1536, 0, 0, 0}, {8, 14135, 119, 0, 0, 0, 0}, {8, 12336, 112, 0, 0, 0, 0}, {10, 51, 85, 1536, 0, 0, 0}, {10, 12336, 80, 0, 0, 0, 0}, {8, 51, 68, 1024, 0, 0, 0}, {3072, 60, 0, 0, 0, 0, 0}, {2, 85, 5397, 0, 0, 0, 0}, {2, 1024, 20, 0, 0, 0, 0}, {255, 16191, 0, 0, 0, 0, 0}, {128, 16448, 0, 0, 0, 0, 0}, {768, 5, 17, 0, 0, 0, 0}, {10, 34, 16962, 0, 0, 0, 0}, {15, 51, 768, 67, 0, 0, 0}, {3072, 68, 0, 0, 0, 0, 0}, {32, 5, 4112, 0, 0, 0, 0}, {10, 32, 70, 1536, 0, 0, 0}, {15, 12336, 119, 0, 0, 0, 0}, {136, 18504, 0, 0, 0, 0, 0}, {768, 5, 19, 0, 0, 0, 0}, {10, 32, 16448, 0, 0, 0, 0}, {15, 51, 768, 68, 0, 0, 0}, {3072, 76, 0, 0, 0, 0, 0}, {34, 5, 4626, 0, 0, 0, 0}, {10, 34, 68, 1536, 0, 0, 0}, {15, 12336, 112, 0, 0, 0, 0}, {12288, 80, 0, 0, 0, 0, 0}, {8, 1028, 17, 0, 0, 0, 0}, {8, 34, 82, 4608, 0, 0, 0}, {3084, 51, 95, 0, 0, 0, 0}, {8, 1028, 20, 0, 0, 0, 0}, {16128, 85, 0, 0, 0, 0, 0}, {3084, 60, 90, 0, 0, 0, 0}, {8, 32, 87, 5888, 0, 0, 0}, {8, 32, 80, 4096, 0, 0, 0}, {3084, 51, 85, 0, 0, 0, 0}, {12288, 90, 0, 0, 0, 0, 0}, {8, 1028, 19, 0, 0, 0, 0}, {3084, 60, 80, 0, 0, 0, 0}, {8, 34, 85, 5376, 0, 0, 0}, {8, 1028, 22, 0, 0, 0, 0}, {16128, 95, 0, 0, 0, 0, 0}, {160, 24672, 0, 0, 0, 0, 0}, {768, 7, 17, 0, 0, 0, 0}, {8, 34, 16448, 0, 0, 0, 0}, {15, 51, 768, 80, 0, 0, 0}, {8, 32, 68, 1024, 0, 0, 0}, {15, 12336, 85, 0, 0, 0, 0}, {3072, 102, 0, 0, 0, 0, 0}, {32, 7, 4112, 0, 0, 0, 0}, {8, 32, 16448, 0, 0, 0, 0}, {15, 51, 768, 85, 0, 0, 0}, {170, 27242, 0, 0, 0, 0, 0}, {768, 7, 19, 0, 0, 0, 0}, {3072, 108, 0, 0, 0, 0, 0}, {34, 7, 4626, 0, 0, 0, 0}, {8, 34, 68, 1024, 0, 0, 0}, {15, 12336, 80, 0, 0, 0, 0}, {12288, 112, 0, 0, 0, 0, 0}, {10, 1542, 17, 0, 0, 0, 0}, {10, 34, 80, 4608, 0, 0, 0}, {3084, 51, 76, 0, 0, 0, 0}, {3084, 60, 68, 0, 0, 0, 0}, {10, 32, 85, 5376, 0, 0, 0}, {10, 1542, 22, 0, 0, 0, 0}, {16128, 119, 0, 0, 0, 0, 0}, {12288, 120, 0, 0, 0, 0, 0}, {10, 1542, 19, 0, 0, 0, 0}, {10, 32, 80, 4096, 0, 0, 0}, {3084, 51, 68, 0, 0, 0, 0}, {3084, 60, 76, 0, 0, 0, 0}, {10, 34, 85, 5888, 0, 0, 0}, {10, 1542, 20, 0, 0, 0, 0}, {16128, 127, 0, 0, 0, 0, 0}, {128, 16384, 0, 0, 0, 0, 0}, {771, 5, 17, 0, 0, 0, 0}, {10, 34, 16896, 0, 0, 0, 0}, {15, 51, 771, 67, 0, 0, 0}, {3084, 68, 0, 0, 0, 0, 0}, {32, 5, 4096, 0, 0, 0, 0}, {10, 32, 70, 1542, 0, 0, 0}, {15, 12288, 119, 0, 0, 0, 0}, {136, 18432, 0, 0, 0, 0, 0}, {771, 5, 19, 0, 0, 0, 0}, {10, 32, 16384, 0, 0, 0, 0}, {15, 51, 771, 68, 0, 0, 0}, {3084, 76, 0, 0, 0, 0, 0}, {34, 5, 4608, 0, 0, 0, 0}, {10, 34, 68, 1542, 0, 0, 0}, {15, 12288, 112, 0, 0, 0, 0}, {12336, 80, 0, 0, 0, 0, 0}, {8, 1024, 17, 0, 0, 0, 0}, {8, 34, 82, 4626, 0, 0, 0}, {3072, 51, 95, 0, 0, 0, 0}, {8, 1024, 20, 0, 0, 0, 0}, {16191, 85, 0, 0, 0, 0, 0}, {3072, 60, 90, 0, 0, 0, 0}, {8, 32, 87, 5911, 0, 0, 0}, {8, 32, 80, 4112, 0, 0, 0}, {3072, 51, 85, 0, 0, 0, 0}, {12336, 90, 0, 0, 0, 0, 0}, {8, 1024, 19, 0, 0, 0, 0}, {3072, 60, 80, 0, 0, 0, 0}, {8, 34, 85, 5397, 0, 0, 0}, {8, 1024, 22, 0, 0, 0, 0}, {16191, 95, 0, 0, 0, 0, 0}, {160, 24576, 0, 0, 0, 0, 0}, {771, 7, 17, 0, 0, 0, 0}, {8, 34, 16384, 0, 0, 0, 0}, {15, 51, 771, 80, 0, 0, 0}, {8, 32, 68, 1028, 0, 0, 0}, {15, 12288, 85, 0, 0, 0, 0}, {3084, 102, 0, 0, 0, 0, 0}, {32, 7, 4096, 0, 0, 0, 0}, {8, 32, 16384, 0, 0, 0, 0}, {15, 51, 771, 85, 0, 0, 0}, {170, 27136, 0, 0, 0, 0, 0}, {771, 7, 19, 0, 0, 0, 0}, {3084, 108, 0, 0, 0, 0, 0}, {34, 7, 4608, 0, 0, 0, 0}, {8, 34, 68, 1028, 0, 0, 0}, {15, 12288, 80, 0, 0, 0, 0}, {12336, 112, 0, 0, 0, 0, 0}, {10, 1536, 17, 0, 0, 0, 0}, {10, 34, 80, 4626, 0, 0, 0}, {3072, 51, 76, 0, 0, 0, 0}, {3072, 60, 68, 0, 0, 0, 0}, {10, 32, 85, 5397, 0, 0, 0}, {10, 1536, 22, 0, 0, 0, 0}, {16191, 119, 0, 0, 0, 0, 0}, {12336, 120, 0, 0, 0, 0, 0}, {10, 1536, 19, 0, 0, 0, 0}, {10, 32, 80, 4112, 0, 0, 0}, {3072, 51, 68, 0, 0, 0, 0}, {3072, 60, 76, 0, 0, 0, 0}, {10, 34, 85, 5911, 0, 0, 0}, {10, 1536, 20, 0, 0, 0, 0}, {16191, 127, 0, 0, 0, 0, 0}, {49344, 0, 0, 0, 0, 0, 0}, {2, 5, 17, 256, 0, 0, 0}, {2, 16448, 0, 0, 0, 0, 0}, {15, 51, 768, 0, 0, 0, 0}, {8, 68, 1024, 0, 0, 0, 0}, {12336, 5, 0, 0, 0, 0, 0}, {10, 102, 1536, 0, 0, 0, 0}, {12336, 7, 0, 0, 0, 0, 0}, {8, 16448, 0, 0, 0, 0, 0}, {51, 768, 5, 0, 0, 0, 0}, {10, 24672, 0, 0, 0, 0, 0}, {51, 768, 7, 0, 0, 0, 0}, {204, 3072, 0, 0, 0, 0, 0}, {2, 5, 4112, 0, 0, 0, 0}, {2, 68, 1024, 0, 0, 0, 0}, {15, 12336, 0, 0, 0, 0, 0}, {32, 80, 4096, 0, 0, 0, 0}, {3084, 17, 0, 0, 0, 0, 0}, {34, 90, 4608, 0, 0, 0, 0}, {3084, 19, 0, 0, 0, 0, 0}, {3084, 20, 0, 0, 0, 0, 0}, {42, 85, 5376, 0, 0, 0, 0}, {3084, 22, 0, 0, 0, 0, 0}, {40, 95, 5888, 0, 0, 0, 0}, {6144, 40, 80, 0, 0, 0, 0}, {25, 51, 85, 5397, 0, 0, 0}, {6656, 42, 90, 0, 0, 0, 0}, {27, 51, 68, 5911, 0, 0, 0}, {28, 32, 80, 4112, 0, 0, 0}, {7424, 34, 85, 0, 0, 0, 0}, {30, 34, 68, 4626, 0, 0, 0}, {7936, 32, 95, 0, 0, 0, 0}, {32, 16448, 0, 0, 0, 0, 0}, {15, 768, 17, 0, 0, 0, 0}, {34, 18504, 0, 0, 0, 0, 0}, {15, 768, 19, 0, 0, 0, 0}, {3072, 40, 68, 0, 0, 0, 0}, {15, 37, 85, 5397, 0, 0, 0}, {3072, 42, 76, 0, 0, 0, 0}, {15, 39, 80, 5911, 0, 0, 0}, {40, 18504, 0, 0, 0, 0, 0}, {15, 768, 22, 0, 0, 0, 0}, {42, 16448, 0, 0, 0, 0, 0}, {15, 768, 20, 0, 0, 0, 0}, {3072, 32, 76, 0, 0, 0, 0}, {15, 34, 85, 4626, 0, 0, 0}, {3072, 34, 68, 0, 0, 0, 0}, {15, 32, 80, 4112, 0, 0, 0}, {240, 12288, 0, 0, 0, 0, 0}, {2, 1028, 17, 0, 0, 0, 0}, {2, 80, 4096, 0, 0, 0, 0}, {3084, 51, 0, 0, 0, 0, 0}, {8, 52, 68, 1028, 0, 0, 0}, {10, 13568, 85, 0, 0, 0, 0}, {10, 54, 80, 1542, 0, 0, 0}, {8, 14080, 119, 0, 0, 0, 0}, {8, 12288, 112, 0, 0, 0, 0}, {10, 51, 85, 1542, 0, 0, 0}, {10, 12288, 80, 0, 0, 0, 0}, {8, 51, 68, 1028, 0, 0, 0}, {3084, 60, 0, 0, 0, 0, 0}, {2, 85, 5376, 0, 0, 0, 0}, {2, 1028, 20, 0, 0, 0, 0}, {255, 16128, 0, 0, 0, 0, 0}, {512, 1280, 4352, 0, 0, 0, 0}, {192, 257, 0, 0, 0, 0, 0}, {514, 1290, 4386, 0, 0, 0, 0}, {192, 259, 0, 0, 0, 0, 0}, {192, 260, 0, 0, 0, 0, 0}, {522, 1285, 4437, 0, 0, 0, 0}, {192, 262, 0, 0, 0, 0, 0}, {520, 1295, 4471, 0, 0, 0, 0}, {4488, 520, 1280, 0, 0, 0, 0}, {265, 771, 1285, 4176, 0, 0, 0}, {4522, 522, 1290, 0, 0, 0, 0}, {267, 771, 1028, 4208, 0, 0, 0}, {268, 512, 1280, 4096, 0, 0, 0}, {4573, 514, 1285, 0, 0, 0, 0}, {270, 514, 1028, 4128, 0, 0, 0}, {4607, 512, 1295, 0, 0, 0, 0}, {192, 272, 0, 0, 0, 0, 0}, {546, 1365, 4369, 0, 0, 0, 0}, {192, 274, 0, 0, 0, 0, 0}, {544, 1375, 4403, 0, 0, 0, 0}, {552, 1360, 4420, 0, 0, 0, 0}, {192, 277, 0, 0, 0, 0, 0}, {554, 1370, 4454, 0, 0, 0, 0}, {192, 279, 0, 0, 0, 0, 0}, {280, 816, 1360, 4176, 0, 0, 0}, {4505, 554, 1365, 0, 0, 0, 0}, {282, 816, 1088, 4208, 0, 0, 0}, {4539, 552, 1375, 0, 0, 0, 0}, {4556, 544, 1360, 0, 0, 0, 0}, {285, 546, 1365, 4096, 0, 0, 0}, {4590, 546, 1370, 0, 0, 0, 0}, {287, 544, 1088, 4128, 0, 0, 0}, {1440, 544, 4352, 0, 0, 0, 0}, {289, 771, 1092, 4369, 0, 0, 0}, {1450, 546, 4386, 0, 0, 0, 0}, {291, 771, 1100, 4112, 0, 0, 0}, {292, 780, 1092, 4420, 0, 0, 0}, {1445, 554, 4437, 0, 0, 0, 0}, {294, 780, 1100, 4160, 0, 0, 0}, {1455, 552, 4471, 0, 0, 0, 0}, {1440, 552, 5160, 0, 0, 0, 0}, {297, 771, 1100, 4441, 0, 0, 0}, {1450, 554, 5120, 0, 0, 0, 0}, {299, 771, 1092, 4176, 0, 0, 0}, {300, 780, 1100, 4364, 0, 0, 0}, {1445, 546, 5240, 0, 0, 0, 0}, {302, 780, 1092, 4096, 0, 0, 0}, {1455, 544, 5200, 0, 0, 0, 0}, {304, 512, 1024, 4352, 0, 0, 0}, {1525, 514, 4369, 0, 0, 0, 0}, {306, 514, 1032, 4112, 0, 0, 0}, {1535, 512, 4403, 0, 0, 0, 0}, {1520, 520, 4420, 0, 0, 0, 0}, {309, 522, 1024, 4437, 0, 0, 0}, {1530, 522, 4454, 0, 0, 0, 0}, {311, 520, 1032, 4160, 0, 0, 0}, {312, 520, 1032, 4424, 0, 0, 0}, {1525, 522, 5228, 0, 0, 0, 0}, {314, 522, 1024, 4176, 0, 0, 0}, {1535, 520, 5188, 0, 0, 0, 0}, {1520, 512, 5180, 0, 0, 0, 0}, {317, 514, 1032, 4381, 0, 0, 0}, {1530, 514, 5140, 0, 0, 0, 0}, {319, 512, 1024, 4096, 0, 0, 0}, {768, 320, 1280, 4352, 0, 0, 0}, {642, 1285, 4369, 0, 0, 0, 0}, {768, 322, 1290, 4386, 0, 0, 0}, {640, 1295, 4403, 0, 0, 0, 0}, {648, 1280, 4420, 0, 0, 0, 0}, {783, 325, 1285, 4112, 0, 0, 0}, {650, 1290, 4454, 0, 0, 0, 0}, {783, 327, 1295, 4144, 0, 0, 0}, {768, 328, 1280, 4096, 0, 0, 0}, {650, 1285, 4883, 0, 0, 0, 0}, {768, 330, 1290, 4128, 0, 0, 0}, {648, 1295, 4915, 0, 0, 0, 0}, {640, 1280, 4940, 0, 0, 0, 0}, {783, 333, 1285, 4381, 0, 0, 0}, {642, 1290, 4972, 0, 0, 0, 0}, {783, 335, 1295, 4415, 0, 0, 0}, {672, 1360, 4352, 0, 0, 0, 0}, {819, 337, 1028, 4369, 0, 0, 0}, {674, 1370, 4386, 0, 0, 0, 0}, {819, 339, 1036, 4403, 0, 0, 0}, {828, 340, 1028, 4112, 0, 0, 0}, {682, 1365, 4437, 0, 0, 0, 0}, {828, 342, 1036, 4144, 0, 0, 0}, {680, 1375, 4471, 0, 0, 0, 0}, {680, 1360, 4896, 0, 0, 0, 0}, {819, 345, 1036, 4096, 0, 0, 0}, {682, 1370, 4864, 0, 0, 0, 0}, {819, 347, 1028, 4128, 0, 0, 0}, {828, 348, 1036, 4364, 0, 0, 0}, {674, 1365, 4991, 0, 0, 0, 0}, {828, 350, 1028, 4398, 0, 0, 0}, {672, 1375, 4959, 0, 0, 0, 0}, {768, 352, 1024, 4352, 0, 0, 0}, {674, 1799, 4369, 0, 0, 0, 0}, {768, 354, 1032, 4386, 0, 0, 0}, {672, 1807, 4403, 0, 0, 0, 0}, {680, 1800, 4420, 0, 0, 0, 0}, {783, 357, 1024, 4144, 0, 0, 0}, {682, 1792, 4454, 0, 0, 0, 0}, {783, 359, 1032, 4112, 0, 0, 0}, {768, 360, 1032, 4128, 0, 0, 0}, {682, 1807, 4915, 0, 0, 0, 0}, {768, 362, 1024, 4096, 0, 0, 0}, {680, 1799, 4883, 0, 0, 0, 0}, {672, 1792, 4972, 0, 0, 0, 0}, {783, 365, 1032, 4381, 0, 0, 0}, {674, 1800, 4940, 0, 0, 0, 0}, {783, 367, 1024, 4415, 0, 0, 0}, {640, 1904, 4352, 0, 0, 0, 0}, {819, 369, 1333, 4369, 0, 0, 0}, {642, 1912, 4386, 0, 0, 0, 0}, {819, 371, 1343, 4403, 0, 0, 0}, {828, 372, 1328, 4144, 0, 0, 0}, {650, 1919, 4437, 0, 0, 0, 0}, {828, 374, 1338, 4112, 0, 0, 0}, {648, 1911, 4471, 0, 0, 0, 0}, {648, 1912, 4864, 0, 0, 0, 0}, {819, 377, 1333, 4128, 0, 0, 0}, {650, 1904, 4896, 0, 0, 0, 0}, {819, 379, 1343, 4096, 0, 0, 0}, {828, 380, 1328, 4364, 0, 0, 0}, {642, 1911, 4959, 0, 0, 0, 0}, {828, 382, 1338, 4398, 0, 0, 0}, {640, 1919, 4991, 0, 0, 0, 0}, {640, 1280, 4352, 0, 0, 0, 0}, {771, 321, 1285, 4369, 0, 0, 0}, {642, 1290, 4386, 0, 0, 0, 0}, {771, 323, 1295, 4403, 0, 0, 0}, {780, 324, 1280, 4096, 0, 0, 0}, {650, 1285, 4437, 0, 0, 0, 0}, {780, 326, 1290, 4128, 0, 0, 0}, {648, 1295, 4471, 0, 0, 0, 0}, {648, 1280, 4864, 0, 0, 0, 0}, {771, 329, 1285, 4112, 0, 0, 0}, {650, 1290, 4896, 0, 0, 0, 0}, {771, 331, 1295, 4144, 0, 0, 0}, {780, 332, 1280, 4364, 0, 0, 0}, {642, 1285, 4959, 0, 0, 0, 0}, {780, 334, 1290, 4398, 0, 0, 0}, {640, 1295, 4991, 0, 0, 0, 0}, {816, 336, 1024, 4352, 0, 0, 0}, {674, 1365, 4369, 0, 0, 0, 0}, {816, 338, 1032, 4386, 0, 0, 0}, {672, 1375, 4403, 0, 0, 0, 0}, {680, 1360, 4420, 0, 0, 0, 0}, {831, 341, 1024, 4096, 0, 0, 0}, {682, 1370, 4454, 0, 0, 0, 0}, {831, 343, 1032, 4128, 0, 0, 0}, {816, 344, 1032, 4112, 0, 0, 0}, {682, 1365, 4915, 0, 0, 0, 0}, {816, 346, 1024, 4144, 0, 0, 0}, {680, 1375, 4883, 0, 0, 0, 0}, {672, 1360, 4972, 0, 0, 0, 0}, {831, 349, 1032, 4381, 0, 0, 0}, {674, 1370, 4940, 0, 0, 0, 0}, {831, 351, 1024, 4415, 0, 0, 0}, {672, 1792, 4352, 0, 0, 0, 0}, {771, 353, 1028, 4369, 0, 0, 0}, {674, 1800, 4386, 0, 0, 0, 0}, {771, 355, 1036, 4403, 0, 0, 0}, {780, 356, 1028, 4128, 0, 0, 0}, {682, 1807, 4437, 0, 0, 0, 0}, {780, 358, 1036, 4096, 0, 0, 0}, {680, 1799, 4471, 0, 0, 0, 0}, {680, 1800, 4896, 0, 0, 0, 0}, {771, 361, 1036, 4144, 0, 0, 0}, {682, 1792, 4864, 0, 0, 0, 0}, {771, 363, 1028, 4112, 0, 0, 0}, {780, 364, 1036, 4364, 0, 0, 0}, {674, 1799, 4991, 0, 0, 0, 0}, {780, 366, 1028, 4398, 0, 0, 0}, {672, 1807, 4959, 0, 0, 0, 0}, {816, 368, 1328, 4352, 0, 0, 0}, {642, 1911, 4369, 0, 0, 0, 0}, {816, 370, 1338, 4386, 0, 0, 0}, {640, 1919, 4403, 0, 0, 0, 0}, {648, 1912, 4420, 0, 0, 0, 0}, {831, 373, 1333, 4128, 0, 0, 0}, {650, 1904, 4454, 0, 0, 0, 0}, {831, 375, 1343, 4096, 0, 0, 0}, {816, 376, 1328, 4144, 0, 0, 0}, {650, 1919, 4883, 0, 0, 0, 0}, {816, 378, 1338, 4112, 0, 0, 0}, {648, 1911, 4915, 0, 0, 0, 0}, {640, 1904, 4940, 0, 0, 0, 0}, {831, 381, 1333, 4381, 0, 0, 0}, {642, 1912, 4972, 0, 0, 0, 0}, {831, 383, 1343, 4415, 0, 0, 0}, {192, 256, 0, 0, 0, 0, 0}, {514, 1285, 4369, 0, 0, 0, 0}, {192, 258, 0, 0, 0, 0, 0}, {512, 1295, 4403, 0, 0, 0, 0}, {520, 1280, 4420, 0, 0, 0, 0}, {192, 261, 0, 0, 0, 0, 0}, {522, 1290, 4454, 0, 0, 0, 0}, {192, 263, 0, 0, 0, 0, 0}, {264, 768, 1280, 4160, 0, 0, 0}, {4505, 522, 1285, 0, 0, 0, 0}, {266, 768, 1024, 4192, 0, 0, 0}, {4539, 520, 1295, 0, 0, 0, 0}, {4556, 512, 1280, 0, 0, 0, 0}, {269, 514, 1285, 4112, 0, 0, 0}, {4590, 514, 1290, 0, 0, 0, 0}, {271, 512, 1024, 4144, 0, 0, 0}, {544, 1360, 4352, 0, 0, 0, 0}, {192, 273, 0, 0, 0, 0, 0}, {546, 1370, 4386, 0, 0, 0, 0}, {192, 275, 0, 0, 0, 0, 0}, {192, 276, 0, 0, 0, 0, 0}, {554, 1365, 4437, 0, 0, 0, 0}, {192, 278, 0, 0, 0, 0, 0}, {552, 1375, 4471, 0, 0, 0, 0}, {4488, 552, 1360, 0, 0, 0, 0}, {281, 819, 1365, 4160, 0, 0, 0}, {4522, 554, 1370, 0, 0, 0, 0}, {283, 819, 1092, 4192, 0, 0, 0}, {284, 544, 1360, 4112, 0, 0, 0}, {4573, 546, 1365, 0, 0, 0, 0}, {286, 546, 1092, 4144, 0, 0, 0}, {4607, 544, 1375, 0, 0, 0, 0}, {288, 768, 1088, 4352, 0, 0, 0}, {1445, 546, 4369, 0, 0, 0, 0}, {290, 768, 1096, 4096, 0, 0, 0}, {1455, 544, 4403, 0, 0, 0, 0}, {1440, 552, 4420, 0, 0, 0, 0}, {293, 783, 1088, 4437, 0, 0, 0}, {1450, 554, 4454, 0, 0, 0, 0}, {295, 783, 1096, 4176, 0, 0, 0}, {296, 768, 1096, 4424, 0, 0, 0}, {1445, 554, 5180, 0, 0, 0, 0}, {298, 768, 1088, 4160, 0, 0, 0}, {1455, 552, 5140, 0, 0, 0, 0}, {1440, 544, 5228, 0, 0, 0, 0}, {301, 783, 1096, 4381, 0, 0, 0}, {1450, 546, 5188, 0, 0, 0, 0}, {303, 783, 1088, 4112, 0, 0, 0}, {1520, 512, 4352, 0, 0, 0, 0}, {305, 514, 1028, 4369, 0, 0, 0}, {1530, 514, 4386, 0, 0, 0, 0}, {307, 512, 1036, 4096, 0, 0, 0}, {308, 520, 1028, 4420, 0, 0, 0}, {1525, 522, 4437, 0, 0, 0, 0}, {310, 522, 1036, 4176, 0, 0, 0}, {1535, 520, 4471, 0, 0, 0, 0}, {1520, 520, 5240, 0, 0, 0, 0}, {313, 522, 1036, 4441, 0, 0, 0}, {1530, 522, 5200, 0, 0, 0, 0}, {315, 520, 1028, 4160, 0, 0, 0}, {316, 512, 1036, 4364, 0, 0, 0}, {1525, 514, 5160, 0, 0, 0, 0}, {318, 514, 1028, 4112, 0, 0, 0}, {1535, 512, 5120, 0, 0, 0, 0}, {512, 16384, 0, 0, 0, 0, 0}, {15, 51, 257, 0, 0, 0, 0}, {514, 16512, 0, 0, 0, 0, 0}, {15, 51, 259, 0, 0, 0, 0}, {204, 520, 1028, 0, 0, 0, 0}, {15, 517, 1285, 4176, 0, 0, 0}, {204, 522, 1036, 0, 0, 0, 0}, {15, 519, 1280, 4208, 0, 0, 0}, {520, 16512, 0, 0, 0, 0, 0}, {15, 51, 262, 0, 0, 0, 0}, {522, 16384, 0, 0, 0, 0, 0}, {15, 51, 260, 0, 0, 0, 0}, {204, 512, 1036, 0, 0, 0, 0}, {15, 514, 1285, 4128, 0, 0, 0}, {204, 514, 1028, 0, 0, 0, 0}, {15, 512, 1280, 4096, 0, 0, 0}, {240, 544, 4112, 0, 0, 0, 0}, {51, 529, 1092, 4369, 0, 0, 0}, {240, 546, 4144, 0, 0, 0, 0}, {51, 531, 1100, 4352, 0, 0, 0}, {60, 532, 1092, 4176, 0, 0, 0}, {255, 554, 5397, 0, 0, 0, 0}, {60, 534, 1100, 4172, 0, 0, 0}, {255, 552, 5439, 0, 0, 0, 0}, {240, 552, 4192, 0, 0, 0, 0}, {51, 537, 1100, 4437, 0, 0, 0}, {240, 554, 4160, 0, 0, 0, 0}, {51, 539, 1092, 4420, 0, 0, 0}, {60, 540, 1100, 4124, 0, 0, 0}, {255, 546, 5482, 0, 0, 0, 0}, {60, 542, 1092, 4096, 0, 0, 0}, {255, 544, 5440, 0, 0, 0, 0}, {544, 16512, 0, 0, 0, 0, 0}, {15, 51, 274, 0, 0, 0, 0}, {546, 16384, 0, 0, 0, 0, 0}, {15, 51, 272, 0, 0, 0, 0}, {204, 552, 1096, 0, 0, 0, 0}, {15, 549, 1365, 4208, 0, 0, 0}, {204, 554, 1088, 0, 0, 0, 0}, {15, 551, 1360, 4176, 0, 0, 0}, {552, 16384, 0, 0, 0, 0, 0}, {15, 51, 277, 0, 0, 0, 0}, {554, 16512, 0, 0, 0, 0, 0}, {15, 51, 279, 0, 0, 0, 0}, {204, 544, 1088, 0, 0, 0, 0}, {15, 546, 1365, 4096, 0, 0, 0}, {204, 546, 1096, 0, 0, 0, 0}, {15, 544, 1360, 4128, 0, 0, 0}, {240, 512, 4144, 0, 0, 0, 0}, {51, 514, 1032, 4369, 0, 0, 0}, {240, 514, 4112, 0, 0, 0, 0}, {51, 512, 1024, 4352, 0, 0, 0}, {60, 520, 1032, 4172, 0, 0, 0}, {255, 522, 5482, 0, 0, 0, 0}, {60, 522, 1024, 4176, 0, 0, 0}, {255, 520, 5440, 0, 0, 0, 0}, {240, 520, 4160, 0, 0, 0, 0}, {51, 522, 1024, 4437, 0, 0, 0}, {240, 522, 4192, 0, 0, 0, 0}, {51, 520, 1032, 4420, 0, 0, 0}, {60, 512, 1024, 4096, 0, 0, 0}, {255, 514, 5397, 0, 0, 0, 0}, {60, 514, 1032, 4124, 0, 0, 0}, {255, 512, 5439, 0, 0, 0, 0}, {640, 2560, 8704, 16448, 0, 0, 0}, {15, 51, 768, 321, 1285, 4369, 0}, {642, 2570, 8738, 16962, 0, 0, 0}, {15, 51, 768, 323, 1280, 4352, 0}, {8192, 580, 1536, 0, 0, 0, 0}, {15, 629, 1285, 4112, 0, 0, 0}, {8224, 582, 1546, 0, 0, 0, 0}, {15, 631, 1280, 4144, 0, 0, 0}, {648, 2560, 8192, 16968, 0, 0, 0}, {15, 51, 768, 326, 1285, 4115, 0}, {650, 2570, 8224, 16448, 0, 0, 0}, {15, 51, 768, 324, 1280, 4096, 0}, {8704, 588, 1536, 0, 0, 0, 0}, {15, 626, 1285, 4626, 0, 0, 0}, {8738, 590, 1546, 0, 0, 0, 0}, {15, 624, 1280, 4656, 0, 0, 0}, {2048, 592, 4608, 0, 0, 0, 0}, {51, 605, 1028, 4369, 0, 0, 0}, {2056, 594, 4642, 0, 0, 0, 0}, {51, 607, 1036, 4352, 0, 0, 0}, {60, 600, 1028, 4112, 0, 0, 0}, {2048, 597, 5888, 0, 0, 0, 0}, {60, 602, 1036, 4108, 0, 0, 0}, {2056, 599, 5928, 0, 0, 0, 0}, {2056, 600, 4128, 0, 0, 0, 0}, {51, 597, 1036, 4864, 0, 0, 0}, {2048, 602, 4096, 0, 0, 0, 0}, {51, 599, 1028, 4883, 0, 0, 0}, {60, 592, 1036, 4620, 0, 0, 0}, {2056, 605, 5418, 0, 0, 0, 0}, {60, 594, 1028, 4626, 0, 0, 0}, {2048, 607, 5376, 0, 0, 0, 0}, {672, 2048, 8704, 16992, 0, 0, 0}, {15, 51, 768, 338, 1031, 4369, 0}, {674, 2056, 8738, 16448, 0, 0, 0}, {15, 51, 768, 336, 1024, 4352, 0}, {8224, 612, 1032, 0, 0, 0, 0}, {15, 597, 1792, 4144, 0, 0, 0}, {8192, 614, 1024, 0, 0, 0, 0}, {15, 599, 1799, 4112, 0, 0, 0}, {680, 2056, 8224, 16448, 0, 0, 0}, {15, 51, 768, 341, 1024, 4096, 0}, {682, 2048, 8192, 17002, 0, 0, 0}, {15, 51, 768, 343, 1031, 4115, 0}, {8704, 620, 1024, 0, 0, 0, 0}, {15, 594, 1799, 4626, 0, 0, 0}, {8738, 622, 1032, 0, 0, 0, 0}, {15, 592, 1792, 4656, 0, 0, 0}, {2560, 624, 4608, 0, 0, 0, 0}, {51, 590, 1542, 4369, 0, 0, 0}, {2570, 626, 4642, 0, 0, 0, 0}, {51, 588, 1548, 4352, 0, 0, 0}, {60, 580, 1548, 4108, 0, 0, 0}, {2570, 629, 5418, 0, 0, 0, 0}, {60, 582, 1542, 4112, 0, 0, 0}, {2560, 631, 5376, 0, 0, 0, 0}, {2560, 632, 4096, 0, 0, 0, 0}, {51, 582, 1542, 4883, 0, 0, 0}, {2570, 634, 4128, 0, 0, 0, 0}, {51, 580, 1548, 4864, 0, 0, 0}, {60, 588, 1548, 4620, 0, 0, 0}, {2570, 637, 5928, 0, 0, 0, 0}, {60, 590, 1542, 4626, 0, 0, 0}, {2560, 639, 5888, 0, 0, 0, 0}, {640, 2560, 8704, 16896, 0, 0, 0}, {15, 51, 771, 322, 1285, 4369, 0}, {642, 2570, 8738, 16384, 0, 0, 0}, {15, 51, 771, 320, 1280, 4352, 0}, {8192, 580, 1548, 0, 0, 0, 0}, {15, 629, 1285, 4128, 0, 0, 0}, {8224, 582, 1542, 0, 0, 0, 0}, {15, 631, 1280, 4096, 0, 0, 0}, {648, 2560, 8192, 16384, 0, 0, 0}, {15, 51, 771, 325, 1285, 4112, 0}, {650, 2570, 8224, 16906, 0, 0, 0}, {15, 51, 771, 327, 1280, 4099, 0}, {8704, 588, 1548, 0, 0, 0, 0}, {15, 626, 1285, 4642, 0, 0, 0}, {8738, 590, 1542, 0, 0, 0, 0}, {15, 624, 1280, 4608, 0, 0, 0}, {2048, 592, 4656, 0, 0, 0, 0}, {51, 605, 1032, 4369, 0, 0, 0}, {2056, 594, 4626, 0, 0, 0, 0}, {51, 607, 1024, 4352, 0, 0, 0}, {60, 600, 1032, 4124, 0, 0, 0}, {2048, 597, 5951, 0, 0, 0, 0}, {60, 602, 1024, 4096, 0, 0, 0}, {2056, 599, 5911, 0, 0, 0, 0}, {2056, 600, 4112, 0, 0, 0, 0}, {51, 597, 1024, 4864, 0, 0, 0}, {2048, 602, 4144, 0, 0, 0, 0}, {51, 599, 1032, 4883, 0, 0, 0}, {60, 592, 1024, 4608, 0, 0, 0}, {2056, 605, 5397, 0, 0, 0, 0}, {60, 594, 1032, 4638, 0, 0, 0}, {2048, 607, 5439, 0, 0, 0, 0}, {672, 2048, 8704, 16384, 0, 0, 0}, {15, 51, 771, 337, 1028, 4369, 0}, {674, 2056, 8738, 16930, 0, 0, 0}, {15, 51, 771, 339, 1027, 4352, 0}, {8224, 612, 1028, 0, 0, 0, 0}, {15, 597, 1792, 4096, 0, 0, 0}, {8192, 614, 1036, 0, 0, 0, 0}, {15, 599, 1799, 4128, 0, 0, 0}, {680, 2056, 8224, 16936, 0, 0, 0}, {15, 51, 771, 342, 1027, 4099, 0}, {682, 2048, 8192, 16384, 0, 0, 0}, {15, 51, 771, 340, 1028, 4112, 0}, {8704, 620, 1036, 0, 0, 0, 0}, {15, 594, 1799, 4642, 0, 0, 0}, {8738, 622, 1028, 0, 0, 0, 0}, {15, 592, 1792, 4608, 0, 0, 0}, {2560, 624, 4656, 0, 0, 0, 0}, {51, 590, 1546, 4369, 0, 0, 0}, {2570, 626, 4626, 0, 0, 0, 0}, {51, 588, 1536, 4352, 0, 0, 0}, {60, 580, 1536, 4096, 0, 0, 0}, {2570, 629, 5397, 0, 0, 0, 0}, {60, 582, 1546, 4124, 0, 0, 0}, {2560, 631, 5439, 0, 0, 0, 0}, {2560, 632, 4144, 0, 0, 0, 0}, {51, 582, 1546, 4883, 0, 0, 0}, {2570, 634, 4112, 0, 0, 0, 0}, {51, 580, 1536, 4864, 0, 0, 0}, {60, 588, 1536, 4608, 0, 0, 0}, {2570, 637, 5911, 0, 0, 0, 0}, {60, 590, 1546, 4638, 0, 0, 0}, {2560, 639, 5951, 0, 0, 0, 0}, {512, 16576, 0, 0, 0, 0, 0}, {15, 51, 258, 0, 0, 0, 0}, {514, 16448, 0, 0, 0, 0, 0}, {15, 51, 256, 0, 0, 0, 0}, {204, 520, 1032, 0, 0, 0, 0}, {15, 517, 1285, 4192, 0, 0, 0}, {204, 522, 1024, 0, 0, 0, 0}, {15, 519, 1280, 4160, 0, 0, 0}, {520, 16448, 0, 0, 0, 0, 0}, {15, 51, 261, 0, 0, 0, 0}, {522, 16576, 0, 0, 0, 0, 0}, {15, 51, 263, 0, 0, 0, 0}, {204, 512, 1024, 0, 0, 0, 0}, {15, 514, 1285, 4112, 0, 0, 0}, {204, 514, 1032, 0, 0, 0, 0}, {15, 512, 1280, 4144, 0, 0, 0}, {240, 544, 4128, 0, 0, 0, 0}, {51, 529, 1096, 4369, 0, 0, 0}, {240, 546, 4096, 0, 0, 0, 0}, {51, 531, 1088, 4352, 0, 0, 0}, {60, 532, 1096, 4188, 0, 0, 0}, {255, 554, 5418, 0, 0, 0, 0}, {60, 534, 1088, 4160, 0, 0, 0}, {255, 552, 5376, 0, 0, 0, 0}, {240, 552, 4176, 0, 0, 0, 0}, {51, 537, 1088, 4437, 0, 0, 0}, {240, 554, 4208, 0, 0, 0, 0}, {51, 539, 1096, 4420, 0, 0, 0}, {60, 540, 1088, 4112, 0, 0, 0}, {255, 546, 5461, 0, 0, 0, 0}, {60, 542, 1096, 4108, 0, 0, 0}, {255, 544, 5503, 0, 0, 0, 0}, {544, 16448, 0, 0, 0, 0, 0}, {15, 51, 273, 0, 0, 0, 0}, {546, 16576, 0, 0, 0, 0, 0}, {15, 51, 275, 0, 0, 0, 0}, {204, 552, 1092, 0, 0, 0, 0}, {15, 549, 1365, 4160, 0, 0, 0}, {204, 554, 1100, 0, 0, 0, 0}, {15, 551, 1360, 4192, 0, 0, 0}, {552, 16576, 0, 0, 0, 0, 0}, {15, 51, 278, 0, 0, 0, 0}, {554, 16448, 0, 0, 0, 0, 0}, {15, 51, 276, 0, 0, 0, 0}, {204, 544, 1100, 0, 0, 0, 0}, {15, 546, 1365, 4144, 0, 0, 0}, {204, 546, 1092, 0, 0, 0, 0}, {15, 544, 1360, 4112, 0, 0, 0}, {240, 512, 4096, 0, 0, 0, 0}, {51, 514, 1028, 4369, 0, 0, 0}, {240, 514, 4128, 0, 0, 0, 0}, {51, 512, 1036, 4352, 0, 0, 0}, {60, 520, 1028, 4160, 0, 0, 0}, {255, 522, 5461, 0, 0, 0, 0}, {60, 522, 1036, 4188, 0, 0, 0}, {255, 520, 5503, 0, 0, 0, 0}, {240, 520, 4208, 0, 0, 0, 0}, {51, 522, 1036, 4437, 0, 0, 0}, {240, 522, 4176, 0, 0, 0, 0}, {51, 520, 1028, 4420, 0, 0, 0}, {60, 512, 1036, 4108, 0, 0, 0}, {255, 514, 5418, 0, 0, 0, 0}, {60, 514, 1028, 4112, 0, 0, 0}, {255, 512, 5376, 0, 0, 0, 0}, {3840, 13056, 0, 0, 0, 0, 0}, {2, 64, 257, 0, 0, 0, 0}, {2, 1280, 4352, 0, 0, 0, 0}, {192, 771, 0, 0, 0, 0, 0}, {8, 772, 64, 1028, 0, 0, 0}, {10, 13141, 1285, 0, 0, 0, 0}, {10, 774, 96, 1280, 0, 0, 0}, {8, 13175, 1799, 0, 0, 0, 0}, {8, 13056, 1792, 0, 0, 0, 0}, {10, 771, 96, 1285, 0, 0, 0}, {10, 13056, 1280, 0, 0, 0, 0}, {8, 771, 64, 1028, 0, 0, 0}, {192, 780, 0, 0, 0, 0, 0}, {2, 1285, 4437, 0, 0, 0, 0}, {2, 64, 260, 0, 0, 0, 0}, {3855, 13311, 0, 0, 0, 0, 0}, {32, 784, 64, 4112, 0, 0, 0}, {3925, 34, 4369, 0, 0, 0, 0}, {34, 786, 72, 4352, 0, 0, 0}, {3935, 32, 4883, 0, 0, 0, 0}, {3920, 40, 5140, 0, 0, 0, 0}, {42, 789, 64, 5397, 0, 0, 0}, {3930, 42, 5654, 0, 0, 0, 0}, {40, 791, 72, 5120, 0, 0, 0}, {40, 792, 72, 5144, 0, 0, 0}, {3925, 42, 5708, 0, 0, 0, 0}, {42, 794, 64, 5376, 0, 0, 0}, {3935, 40, 5188, 0, 0, 0, 0}, {3920, 32, 4940, 0, 0, 0, 0}, {34, 797, 72, 4381, 0, 0, 0}, {3930, 34, 4420, 0, 0, 0, 0}, {32, 799, 64, 4096, 0, 0, 0}, {3840, 32, 4864, 0, 0, 0, 0}, {34, 771, 72, 4369, 0, 0, 0}, {3840, 34, 4352, 0, 0, 0, 0}, {32, 771, 64, 4112, 0, 0, 0}, {40, 780, 72, 5132, 0, 0, 0}, {3855, 42, 5722, 0, 0, 0, 0}, {42, 780, 64, 5376, 0, 0, 0}, {3855, 40, 5200, 0, 0, 0, 0}, {3840, 40, 5120, 0, 0, 0, 0}, {42, 771, 64, 5397, 0, 0, 0}, {3840, 42, 5632, 0, 0, 0, 0}, {40, 771, 72, 5140, 0, 0, 0}, {32, 780, 64, 4096, 0, 0, 0}, {3855, 34, 4437, 0, 0, 0, 0}, {34, 780, 72, 4364, 0, 0, 0}, {3855, 32, 4959, 0, 0, 0, 0}, {192, 816, 0, 0, 0, 0, 0}, {2, 1365, 4369, 0, 0, 0, 0}, {2, 64, 272, 0, 0, 0, 0}, {4095, 13107, 0, 0, 0, 0, 0}, {8, 13124, 1904, 0, 0, 0, 0}, {10, 821, 96, 1333, 0, 0, 0}, {10, 13158, 1360, 0, 0, 0, 0}, {8, 823, 64, 1024, 0, 0, 0}, {8, 816, 64, 1024, 0, 0, 0}, {10, 13107, 1365, 0, 0, 0, 0}, {10, 816, 96, 1328, 0, 0, 0}, {8, 13107, 1911, 0, 0, 0, 0}, {4080, 13260, 0, 0, 0, 0, 0}, {2, 64, 277, 0, 0, 0, 0}, {2, 1360, 4420, 0, 0, 0, 0}, {192, 831, 0, 0, 0, 0, 0}, {768, 64, 0, 0, 0, 0, 0}, {10, 34, 1285, 4369, 0, 0, 0}, {10, 34, 768, 66, 1280, 4352, 0}, {128, 3855, 13107, 17219, 0, 0, 0}, {136, 3840, 13124, 17476, 0, 0, 0}, {10, 32, 773, 64, 1285, 4112, 0}, {10, 32, 1280, 4934, 0, 0, 0}, {783, 72, 0, 0, 0, 0, 0}, {768, 72, 0, 0, 0, 0, 0}, {10, 32, 1285, 4883, 0, 0, 0}, {10, 32, 768, 64, 1280, 4096, 0}, {136, 3855, 13107, 17476, 0, 0, 0}, {128, 3840, 13132, 17228, 0, 0, 0}, {10, 34, 773, 66, 1285, 4375, 0}, {10, 34, 1280, 4420, 0, 0, 0}, {783, 64, 0, 0, 0, 0, 0}, {160, 3920, 13056, 20560, 0, 0, 0}, {8, 34, 785, 64, 1028, 4369, 0}, {8, 34, 1874, 4352, 0, 0, 0}, {819, 96, 0, 0, 0, 0, 0}, {8, 32, 788, 64, 1028, 4112, 0}, {170, 3925, 13141, 21845, 0, 0, 0}, {828, 106, 0, 0, 0, 0, 0}, {8, 32, 1879, 4951, 0, 0, 0}, {8, 32, 1872, 4864, 0, 0, 0}, {819, 106, 0, 0, 0, 0, 0}, {170, 3930, 13056, 21760, 0, 0, 0}, {8, 32, 787, 64, 1028, 4096, 0}, {828, 96, 0, 0, 0, 0, 0}, {8, 34, 1877, 4437, 0, 0, 0}, {8, 34, 790, 64, 1028, 4356, 0}, {160, 3935, 13151, 20480, 0, 0, 0}, {768, 96, 0, 0, 0, 0, 0}, {8, 34, 1799, 4369, 0, 0, 0}, {8, 34, 768, 64, 1024, 4352, 0}, {160, 3855, 13107, 20560, 0, 0, 0}, {8, 32, 1792, 4932, 0, 0, 0}, {783, 106, 0, 0, 0, 0, 0}, {170, 3840, 13158, 21760, 0, 0, 0}, {8, 32, 775, 64, 1024, 4112, 0}, {8, 32, 768, 64, 1024, 4096, 0}, {170, 3855, 13107, 21845, 0, 0, 0}, {768, 106, 0, 0, 0, 0, 0}, {8, 32, 1799, 4883, 0, 0, 0}, {160, 3840, 13164, 20480, 0, 0, 0}, {8, 34, 775, 64, 1024, 4373, 0}, {8, 34, 1792, 4420, 0, 0, 0}, {783, 96, 0, 0, 0, 0, 0}, {128, 3952, 13056, 17264, 0, 0, 0}, {10, 34, 785, 66, 1303, 4369, 0}, {10, 34, 1360, 4352, 0, 0, 0}, {819, 64, 0, 0, 0, 0, 0}, {828, 72, 0, 0, 0, 0, 0}, {10, 32, 1365, 4949, 0, 0, 0}, {10, 32, 790, 64, 1296, 4112, 0}, {136, 3959, 13175, 17408, 0, 0, 0}, {136, 3960, 13056, 17408, 0, 0, 0}, {10, 32, 787, 64, 1301, 4096, 0}, {10, 32, 1360, 4864, 0, 0, 0}, {819, 72, 0, 0, 0, 0, 0}, {828, 64, 0, 0, 0, 0, 0}, {10, 34, 1365, 4437, 0, 0, 0}, {10, 34, 788, 66, 1298, 4358, 0}, {128, 3967, 13183, 17279, 0, 0, 0}, {128, 3840, 13056, 17152, 0, 0, 0}, {10, 34, 771, 66, 1285, 4369, 0}, {10, 34, 1280, 4352, 0, 0, 0}, {771, 64, 0, 0, 0, 0, 0}, {780, 72, 0, 0, 0, 0, 0}, {10, 32, 1285, 4949, 0, 0, 0}, {10, 32, 774, 64, 1280, 4096, 0}, {136, 3855, 13175, 17408, 0, 0, 0}, {136, 3840, 13056, 17408, 0, 0, 0}, {10, 32, 771, 64, 1285, 4112, 0}, {10, 32, 1280, 4864, 0, 0, 0}, {771, 72, 0, 0, 0, 0, 0}, {780, 64, 0, 0, 0, 0, 0}, {10, 34, 1285, 4437, 0, 0, 0}, {10, 34, 774, 66, 1280, 4358, 0}, {128, 3855, 13183, 17167, 0, 0, 0}, {816, 96, 0, 0, 0, 0, 0}, {8, 34, 1877, 4369, 0, 0, 0}, {8, 34, 786, 64, 1024, 4352, 0}, {160, 3935, 13107, 20480, 0, 0, 0}, {8, 32, 1872, 4932, 0, 0, 0}, {831, 106, 0, 0, 0, 0, 0}, {170, 3930, 13158, 21760, 0, 0, 0}, {8, 32, 791, 64, 1024, 4096, 0}, {8, 32, 784, 64, 1024, 4112, 0}, {170, 3925, 13107, 21845, 0, 0, 0}, {816, 106, 0, 0, 0, 0, 0}, {8, 32, 1879, 4883, 0, 0, 0}, {160, 3920, 13164, 20560, 0, 0, 0}, {8, 34, 789, 64, 1024, 4373, 0}, {8, 34, 1874, 4420, 0, 0, 0}, {831, 96, 0, 0, 0, 0, 0}, {160, 3840, 13056, 20480, 0, 0, 0}, {8, 34, 771, 64, 1028, 4369, 0}, {8, 34, 1792, 4352, 0, 0, 0}, {771, 96, 0, 0, 0, 0, 0}, {8, 32, 772, 64, 1028, 4096, 0}, {170, 3855, 13141, 21845, 0, 0, 0}, {780, 106, 0, 0, 0, 0, 0}, {8, 32, 1799, 4951, 0, 0, 0}, {8, 32, 1792, 4864, 0, 0, 0}, {771, 106, 0, 0, 0, 0, 0}, {170, 3840, 13056, 21760, 0, 0, 0}, {8, 32, 771, 64, 1028, 4112, 0}, {780, 96, 0, 0, 0, 0, 0}, {8, 34, 1799, 4437, 0, 0, 0}, {8, 34, 772, 64, 1028, 4356, 0}, {160, 3855, 13151, 20560, 0, 0, 0}, {816, 64, 0, 0, 0, 0, 0}, {10, 34, 1365, 4369, 0, 0, 0}, {10, 34, 786, 66, 1298, 4352, 0}, {128, 3967, 13107, 17203, 0, 0, 0}, {136, 3960, 13124, 17476, 0, 0, 0}, {10, 32, 789, 64, 1301, 4096, 0}, {10, 32, 1360, 4934, 0, 0, 0}, {831, 72, 0, 0, 0, 0, 0}, {816, 72, 0, 0, 0, 0, 0}, {10, 32, 1365, 4883, 0, 0, 0}, {10, 32, 784, 64, 1296, 4112, 0}, {136, 3959, 13107, 17476, 0, 0, 0}, {128, 3952, 13132, 17212, 0, 0, 0}, {10, 34, 791, 66, 1303, 4375, 0}, {10, 34, 1360, 4420, 0, 0, 0}, {831, 64, 0, 0, 0, 0, 0}, {192, 768, 0, 0, 0, 0, 0}, {2, 1285, 4369, 0, 0, 0, 0}, {2, 64, 256, 0, 0, 0, 0}, {3855, 13107, 0, 0, 0, 0, 0}, {8, 13124, 1792, 0, 0, 0, 0}, {10, 773, 96, 1285, 0, 0, 0}, {10, 13158, 1280, 0, 0, 0, 0}, {8, 775, 64, 1024, 0, 0, 0}, {8, 768, 64, 1024, 0, 0, 0}, {10, 13107, 1285, 0, 0, 0, 0}, {10, 768, 96, 1280, 0, 0, 0}, {8, 13107, 1799, 0, 0, 0, 0}, {3840, 13260, 0, 0, 0, 0, 0}, {2, 64, 261, 0, 0, 0, 0}, {2, 1280, 4420, 0, 0, 0, 0}, {192, 783, 0, 0, 0, 0, 0}, {3920, 32, 4864, 0, 0, 0, 0}, {34, 785, 72, 4369, 0, 0, 0}, {3930, 34, 4352, 0, 0, 0, 0}, {32, 787, 64, 4096, 0, 0, 0}, {40, 788, 72, 5140, 0, 0, 0}, {3925, 42, 5632, 0, 0, 0, 0}, {42, 790, 64, 5376, 0, 0, 0}, {3935, 40, 5120, 0, 0, 0, 0}, {3920, 40, 5200, 0, 0, 0, 0}, {42, 793, 64, 5397, 0, 0, 0}, {3930, 42, 5722, 0, 0, 0, 0}, {40, 795, 72, 5132, 0, 0, 0}, {32, 796, 64, 4112, 0, 0, 0}, {3925, 34, 4437, 0, 0, 0, 0}, {34, 798, 72, 4364, 0, 0, 0}, {3935, 32, 4959, 0, 0, 0, 0}, {32, 768, 64, 4096, 0, 0, 0}, {3855, 34, 4369, 0, 0, 0, 0}, {34, 768, 72, 4352, 0, 0, 0}, {3855, 32, 4883, 0, 0, 0, 0}, {3840, 40, 5188, 0, 0, 0, 0}, {42, 783, 64, 5397, 0, 0, 0}, {3840, 42, 5708, 0, 0, 0, 0}, {40, 783, 72, 5144, 0, 0, 0}, {40, 768, 72, 5120, 0, 0, 0}, {3855, 42, 5654, 0, 0, 0, 0}, {42, 768, 64, 5376, 0, 0, 0}, {3855, 40, 5140, 0, 0, 0, 0}, {3840, 32, 4940, 0, 0, 0, 0}, {34, 783, 72, 4381, 0, 0, 0}, {3840, 34, 4420, 0, 0, 0, 0}, {32, 783, 64, 4112, 0, 0, 0}, {4080, 13056, 0, 0, 0, 0, 0}, {2, 64, 273, 0, 0, 0, 0}, {2, 1360, 4352, 0, 0, 0, 0}, {192, 819, 0, 0, 0, 0, 0}, {8, 820, 64, 1028, 0, 0, 0}, {10, 13141, 1365, 0, 0, 0, 0}, {10, 822, 96, 1328, 0, 0, 0}, {8, 13175, 1911, 0, 0, 0, 0}, {8, 13056, 1904, 0, 0, 0, 0}, {10, 819, 96, 1333, 0, 0, 0}, {10, 13056, 1360, 0, 0, 0, 0}, {8, 819, 64, 1028, 0, 0, 0}, {192, 828, 0, 0, 0, 0, 0}, {2, 1365, 4437, 0, 0, 0, 0}, {2, 64, 276, 0, 0, 0, 0}, {4095, 13311, 0, 0, 0, 0, 0}, {2048, 17408, 0, 0, 0, 0, 0}, {48, 5, 257, 0, 0, 0, 0}, {10, 514, 17442, 0, 0, 0, 0}, {15, 48, 771, 1027, 0, 0, 0}, {192, 1028, 0, 0, 0, 0, 0}, {512, 5, 4352, 0, 0, 0, 0}, {10, 512, 96, 1030, 0, 0, 0}, {15, 13056, 1799, 0, 0, 0, 0}, {2056, 17544, 0, 0, 0, 0, 0}, {48, 5, 259, 0, 0, 0, 0}, {10, 512, 17408, 0, 0, 0, 0}, {15, 48, 771, 1028, 0, 0, 0}, {192, 1036, 0, 0, 0, 0, 0}, {514, 5, 4386, 0, 0, 0, 0}, {10, 514, 96, 1028, 0, 0, 0}, {15, 13056, 1792, 0, 0, 0, 0}, {48, 80, 1040, 4112, 0, 0, 0}, {2082, 85, 4369, 0, 0, 0, 0}, {48, 90, 1042, 4626, 0, 0, 0}, {2080, 95, 4883, 0, 0, 0, 0}, {2088, 80, 5140, 0, 0, 0, 0}, {63, 85, 1045, 4352, 0, 0, 0}, {2090, 90, 5654, 0, 0, 0, 0}, {63, 95, 1047, 4864, 0, 0, 0}, {48, 80, 1048, 4096, 0, 0, 0}, {2090, 85, 4403, 0, 0, 0, 0}, {48, 90, 1050, 4608, 0, 0, 0}, {2088, 95, 4915, 0, 0, 0, 0}, {2080, 80, 5180, 0, 0, 0, 0}, {63, 85, 1053, 4381, 0, 0, 0}, {2082, 90, 5692, 0, 0, 0, 0}, {63, 95, 1055, 4895, 0, 0, 0}, {160, 2080, 8224, 17408, 0, 0, 0}, {15, 48, 771, 85, 1041, 4369, 0}, {170, 2082, 8738, 17442, 0, 0, 0}, {15, 48, 771, 80, 1043, 4112, 0}, {8192, 96, 1060, 0, 0, 0, 0}, {15, 85, 1829, 4352, 0, 0, 0}, {8704, 106, 1062, 0, 0, 0, 0}, {15, 80, 1831, 4864, 0, 0, 0}, {160, 2088, 8192, 17448, 0, 0, 0}, {15, 48, 771, 85, 1046, 4355, 0}, {170, 2090, 8704, 17408, 0, 0, 0}, {15, 48, 771, 80, 1044, 4096, 0}, {8224, 96, 1068, 0, 0, 0, 0}, {15, 85, 1826, 4386, 0, 0, 0}, {8738, 106, 1070, 0, 0, 0, 0}, {15, 80, 1824, 4896, 0, 0, 0}, {48, 1024, 0, 0, 0, 0, 0}, {10, 514, 85, 4369, 0, 0, 0}, {10, 48, 514, 80, 1026, 4112, 0}, {255, 2048, 13107, 17459, 0, 0, 0}, {240, 2056, 13364, 17476, 0, 0, 0}, {10, 53, 512, 85, 1024, 4352, 0}, {10, 512, 80, 5174, 0, 0, 0}, {63, 1032, 0, 0, 0, 0, 0}, {48, 1032, 0, 0, 0, 0, 0}, {10, 512, 85, 4403, 0, 0, 0}, {10, 48, 512, 80, 1024, 4096, 0}, {255, 2056, 13107, 17476, 0, 0, 0}, {240, 2048, 13372, 17468, 0, 0, 0}, {10, 53, 514, 85, 1026, 4375, 0}, {10, 514, 80, 5140, 0, 0, 0}, {63, 1024, 0, 0, 0, 0, 0}, {192, 1088, 0, 0, 0, 0, 0}, {546, 5, 4369, 0, 0, 0, 0}, {10, 546, 96, 1058, 0, 0, 0}, {15, 13107, 1904, 0, 0, 0, 0}, {2184, 17476, 0, 0, 0, 0, 0}, {48, 5, 272, 0, 0, 0, 0}, {10, 544, 17510, 0, 0, 0, 0}, {15, 48, 768, 1095, 0, 0, 0}, {192, 1096, 0, 0, 0, 0, 0}, {544, 5, 4403, 0, 0, 0, 0}, {10, 544, 96, 1056, 0, 0, 0}, {15, 13107, 1911, 0, 0, 0, 0}, {2176, 17612, 0, 0, 0, 0, 0}, {48, 5, 274, 0, 0, 0, 0}, {10, 546, 17476, 0, 0, 0, 0}, {15, 48, 768, 1088, 0, 0, 0}, {2048, 80, 5120, 0, 0, 0, 0}, {63, 85, 1028, 4369, 0, 0, 0}, {2056, 90, 5674, 0, 0, 0, 0}, {63, 95, 1036, 4876, 0, 0, 0}, {48, 80, 1028, 4112, 0, 0, 0}, {2048, 85, 4352, 0, 0, 0, 0}, {48, 90, 1036, 4608, 0, 0, 0}, {2056, 95, 4896, 0, 0, 0, 0}, {2056, 80, 5160, 0, 0, 0, 0}, {63, 85, 1036, 4364, 0, 0, 0}, {2048, 90, 5632, 0, 0, 0, 0}, {63, 95, 1028, 4883, 0, 0, 0}, {48, 80, 1036, 4096, 0, 0, 0}, {2056, 85, 4386, 0, 0, 0, 0}, {48, 90, 1028, 4626, 0, 0, 0}, {2048, 95, 4864, 0, 0, 0, 0}, {8192, 96, 1024, 0, 0, 0, 0}, {15, 85, 1799, 4369, 0, 0, 0}, {8738, 106, 1032, 0, 0, 0, 0}, {15, 80, 1792, 4915, 0, 0, 0}, {160, 2056, 8224, 17476, 0, 0, 0}, {15, 48, 768, 85, 1024, 4352, 0}, {170, 2048, 8704, 17510, 0, 0, 0}, {15, 48, 768, 80, 1031, 4112, 0}, {8224, 96, 1032, 0, 0, 0, 0}, {15, 85, 1792, 4403, 0, 0, 0}, {8704, 106, 1024, 0, 0, 0, 0}, {15, 80, 1799, 4883, 0, 0, 0}, {160, 2048, 8192, 17516, 0, 0, 0}, {15, 48, 768, 85, 1031, 4370, 0}, {170, 2056, 8738, 17476, 0, 0, 0}, {15, 48, 768, 80, 1024, 4096, 0}, {240, 2160, 13424, 17408, 0, 0, 0}, {10, 53, 535, 85, 1041, 4369, 0}, {10, 546, 80, 5154, 0, 0, 0}, {63, 1100, 0, 0, 0, 0, 0}, {48, 1092, 0, 0, 0, 0, 0}, {10, 544, 85, 4352, 0, 0, 0}, {10, 48, 528, 80, 1046, 4112, 0}, {255, 2167, 13056, 17527, 0, 0, 0}, {240, 2168, 13432, 17528, 0, 0, 0}, {10, 53, 533, 85, 1043, 4358, 0}, {10, 544, 80, 5120, 0, 0, 0}, {63, 1092, 0, 0, 0, 0, 0}, {48, 1100, 0, 0, 0, 0, 0}, {10, 546, 85, 4386, 0, 0, 0}, {10, 48, 530, 80, 1044, 4096, 0}, {255, 2175, 13056, 17408, 0, 0, 0}, {2176, 17408, 0, 0, 0, 0, 0}, {48, 5, 273, 0, 0, 0, 0}, {10, 546, 17442, 0, 0, 0, 0}, {15, 48, 771, 1091, 0, 0, 0}, {192, 1092, 0, 0, 0, 0, 0}, {544, 5, 4352, 0, 0, 0, 0}, {10, 544, 96, 1062, 0, 0, 0}, {15, 13056, 1911, 0, 0, 0, 0}, {2184, 17544, 0, 0, 0, 0, 0}, {48, 5, 275, 0, 0, 0, 0}, {10, 544, 17408, 0, 0, 0, 0}, {15, 48, 771, 1092, 0, 0, 0}, {192, 1100, 0, 0, 0, 0, 0}, {546, 5, 4386, 0, 0, 0, 0}, {10, 546, 96, 1060, 0, 0, 0}, {15, 13056, 1904, 0, 0, 0, 0}, {48, 80, 1024, 4096, 0, 0, 0}, {2056, 85, 4369, 0, 0, 0, 0}, {48, 90, 1032, 4626, 0, 0, 0}, {2048, 95, 4915, 0, 0, 0, 0}, {2056, 80, 5140, 0, 0, 0, 0}, {63, 85, 1024, 4352, 0, 0, 0}, {2048, 90, 5692, 0, 0, 0, 0}, {63, 95, 1032, 4895, 0, 0, 0}, {48, 80, 1032, 4112, 0, 0, 0}, {2048, 85, 4403, 0, 0, 0, 0}, {48, 90, 1024, 4608, 0, 0, 0}, {2056, 95, 4883, 0, 0, 0, 0}, {2048, 80, 5180, 0, 0, 0, 0}, {63, 85, 1032, 4381, 0, 0, 0}, {2056, 90, 5654, 0, 0, 0, 0}, {63, 95, 1024, 4864, 0, 0, 0}, {160, 2048, 8192, 17408, 0, 0, 0}, {15, 48, 771, 85, 1028, 4369, 0}, {170, 2056, 8738, 17442, 0, 0, 0}, {15, 48, 771, 80, 1027, 4096, 0}, {8224, 96, 1028, 0, 0, 0, 0}, {15, 85, 1792, 4352, 0, 0, 0}, {8704, 106, 1036, 0, 0, 0, 0}, {15, 80, 1799, 4896, 0, 0, 0}, {160, 2056, 8224, 17448, 0, 0, 0}, {15, 48, 771, 85, 1027, 4355, 0}, {170, 2048, 8704, 17408, 0, 0, 0}, {15, 48, 771, 80, 1028, 4112, 0}, {8192, 96, 1036, 0, 0, 0, 0}, {15, 85, 1799, 4386, 0, 0, 0}, {8738, 106, 1028, 0, 0, 0, 0}, {15, 80, 1792, 4864, 0, 0, 0}, {48, 1088, 0, 0, 0, 0, 0}, {10, 546, 85, 4369, 0, 0, 0}, {10, 48, 530, 80, 1042, 4096, 0}, {255, 2175, 13107, 17459, 0, 0, 0}, {240, 2168, 13380, 17476, 0, 0, 0}, {10, 53, 533, 85, 1045, 4352, 0}, {10, 544, 80, 5174, 0, 0, 0}, {63, 1096, 0, 0, 0, 0, 0}, {48, 1096, 0, 0, 0, 0, 0}, {10, 544, 85, 4403, 0, 0, 0}, {10, 48, 528, 80, 1040, 4112, 0}, {255, 2167, 13107, 17476, 0, 0, 0}, {240, 2160, 13388, 17468, 0, 0, 0}, {10, 53, 535, 85, 1047, 4375, 0}, {10, 546, 80, 5140, 0, 0, 0}, {63, 1088, 0, 0, 0, 0, 0}, {192, 1024, 0, 0, 0, 0, 0}, {514, 5, 4369, 0, 0, 0, 0}, {10, 514, 96, 1026, 0, 0, 0}, {15, 13107, 1792, 0, 0, 0, 0}, {2056, 17476, 0, 0, 0, 0, 0}, {48, 5, 256, 0, 0, 0, 0}, {10, 512, 17510, 0, 0, 0, 0}, {15, 48, 768, 1031, 0, 0, 0}, {192, 1032, 0, 0, 0, 0, 0}, {512, 5, 4403, 0, 0, 0, 0}, {10, 512, 96, 1024, 0, 0, 0}, {15, 13107, 1799, 0, 0, 0, 0}, {2048, 17612, 0, 0, 0, 0, 0}, {48, 5, 258, 0, 0, 0, 0}, {10, 514, 17476, 0, 0, 0, 0}, {15, 48, 768, 1024, 0, 0, 0}, {2080, 80, 5120, 0, 0, 0, 0}, {63, 85, 1041, 4369, 0, 0, 0}, {2082, 90, 5632, 0, 0, 0, 0}, {63, 95, 1043, 4883, 0, 0, 0}, {48, 80, 1044, 4096, 0, 0, 0}, {2090, 85, 4352, 0, 0, 0, 0}, {48, 90, 1046, 4608, 0, 0, 0}, {2088, 95, 4864, 0, 0, 0, 0}, {2088, 80, 5160, 0, 0, 0, 0}, {63, 85, 1049, 4364, 0, 0, 0}, {2090, 90, 5674, 0, 0, 0, 0}, {63, 95, 1051, 4876, 0, 0, 0}, {48, 80, 1052, 4112, 0, 0, 0}, {2082, 85, 4386, 0, 0, 0, 0}, {48, 90, 1054, 4626, 0, 0, 0}, {2080, 95, 4896, 0, 0, 0, 0}, {8224, 96, 1056, 0, 0, 0, 0}, {15, 85, 1826, 4369, 0, 0, 0}, {8738, 106, 1058, 0, 0, 0, 0}, {15, 80, 1824, 4883, 0, 0, 0}, {160, 2088, 8192, 17476, 0, 0, 0}, {15, 48, 768, 85, 1045, 4352, 0}, {170, 2090, 8704, 17510, 0, 0, 0}, {15, 48, 768, 80, 1047, 4096, 0}, {8192, 96, 1064, 0, 0, 0, 0}, {15, 85, 1829, 4403, 0, 0, 0}, {8704, 106, 1066, 0, 0, 0, 0}, {15, 80, 1831, 4915, 0, 0, 0}, {160, 2080, 8224, 17516, 0, 0, 0}, {15, 48, 768, 85, 1042, 4370, 0}, {170, 2082, 8738, 17476, 0, 0, 0}, {15, 48, 768, 80, 1040, 4112, 0}, {240, 2048, 13312, 17408, 0, 0, 0}, {10, 53, 514, 85, 1028, 4369, 0}, {10, 514, 80, 5154, 0, 0, 0}, {63, 1036, 0, 0, 0, 0, 0}, {48, 1028, 0, 0, 0, 0, 0}, {10, 512, 85, 4352, 0, 0, 0}, {10, 48, 512, 80, 1030, 4096, 0}, {255, 2056, 13056, 17527, 0, 0, 0}, {240, 2056, 13320, 17528, 0, 0, 0}, {10, 53, 512, 85, 1030, 4358, 0}, {10, 512, 80, 5120, 0, 0, 0}, {63, 1028, 0, 0, 0, 0, 0}, {48, 1036, 0, 0, 0, 0, 0}, {10, 514, 85, 4386, 0, 0, 0}, {10, 48, 514, 80, 1028, 4112, 0}, {255, 2048, 13056, 17408, 0, 0, 0}, {12288, 1280, 0, 0, 0, 0, 0}, {8, 68, 257, 0, 0, 0, 0}, {8, 514, 1282, 4128, 0, 0, 0}, {204, 771, 1295, 0, 0, 0, 0}, {8, 68, 260, 0, 0, 0, 0}, {12528, 1285, 0, 0, 0, 0, 0}, {204, 780, 1290, 0, 0, 0, 0}, {8, 512, 1287, 4208, 0, 0, 0}, {8, 512, 1280, 4096, 0, 0, 0}, {204, 771, 1285, 0, 0, 0, 0}, {12288, 1290, 0, 0, 0, 0, 0}, {8, 68, 259, 0, 0, 0, 0}, {204, 780, 1280, 0, 0, 0, 0}, {8, 514, 1285, 4176, 0, 0, 0}, {8, 68, 262, 0, 0, 0, 0}, {12528, 1295, 0, 0, 0, 0, 0}, {128, 1360, 4112, 0, 0, 0, 0}, {819, 68, 1297, 4369, 0, 0, 0}, {136, 1370, 4626, 0, 0, 0, 0}, {819, 76, 1299, 4128, 0, 0, 0}, {828, 68, 1300, 4352, 0, 0, 0}, {128, 1365, 4160, 0, 0, 0, 0}, {828, 76, 1302, 4156, 0, 0, 0}, {136, 1375, 4680, 0, 0, 0, 0}, {136, 1360, 4656, 0, 0, 0, 0}, {819, 76, 1305, 4096, 0, 0, 0}, {128, 1370, 4144, 0, 0, 0, 0}, {819, 68, 1307, 4403, 0, 0, 0}, {828, 76, 1308, 4124, 0, 0, 0}, {136, 1365, 4714, 0, 0, 0, 0}, {828, 68, 1310, 4386, 0, 0, 0}, {128, 1375, 4192, 0, 0, 0, 0}, {128, 1312, 4128, 0, 0, 0, 0}, {771, 68, 1325, 4369, 0, 0, 0}, {136, 1314, 4642, 0, 0, 0, 0}, {771, 76, 1327, 4112, 0, 0, 0}, {780, 68, 1320, 4352, 0, 0, 0}, {128, 1317, 4208, 0, 0, 0, 0}, {780, 76, 1322, 4108, 0, 0, 0}, {136, 1319, 4728, 0, 0, 0, 0}, {136, 1320, 4608, 0, 0, 0, 0}, {771, 76, 1317, 4144, 0, 0, 0}, {128, 1322, 4096, 0, 0, 0, 0}, {771, 68, 1319, 4403, 0, 0, 0}, {780, 76, 1312, 4140, 0, 0, 0}, {136, 1325, 4698, 0, 0, 0, 0}, {780, 68, 1314, 4386, 0, 0, 0}, {128, 1327, 4176, 0, 0, 0, 0}, {1520, 2560, 12336, 21760, 0, 0, 0}, {8, 305, 514, 68, 1024, 4369, 0}, {8, 514, 1394, 4112, 0, 0, 0}, {204, 819, 1331, 0, 0, 0, 0}, {8, 308, 512, 68, 1024, 4352, 0}, {1525, 2570, 13621, 21845, 0, 0, 0}, {204, 828, 1334, 0, 0, 0, 0}, {8, 512, 1399, 4160, 0, 0, 0}, {8, 512, 1392, 4144, 0, 0, 0}, {204, 819, 1337, 0, 0, 0, 0}, {1530, 2570, 12336, 20560, 0, 0, 0}, {8, 307, 512, 68, 1024, 4096, 0}, {204, 828, 1340, 0, 0, 0, 0}, {8, 514, 1397, 4192, 0, 0, 0}, {8, 310, 514, 68, 1024, 4116, 0}, {1535, 2560, 13631, 20480, 0, 0, 0}, {128, 1280, 4160, 0, 0, 0, 0}, {783, 68, 1285, 4369, 0, 0, 0}, {136, 1290, 4714, 0, 0, 0, 0}, {783, 76, 1295, 4156, 0, 0, 0}, {768, 68, 1280, 4352, 0, 0, 0}, {128, 1285, 4112, 0, 0, 0, 0}, {768, 76, 1290, 4128, 0, 0, 0}, {136, 1295, 4656, 0, 0, 0, 0}, {136, 1280, 4680, 0, 0, 0, 0}, {783, 76, 1285, 4124, 0, 0, 0}, {128, 1290, 4192, 0, 0, 0, 0}, {783, 68, 1295, 4403, 0, 0, 0}, {768, 76, 1280, 4096, 0, 0, 0}, {136, 1285, 4626, 0, 0, 0, 0}, {768, 68, 1290, 4386, 0, 0, 0}, {128, 1295, 4144, 0, 0, 0, 0}, {12528, 1360, 0, 0, 0, 0, 0}, {8, 68, 277, 0, 0, 0, 0}, {8, 546, 1362, 4208, 0, 0, 0}, {204, 831, 1375, 0, 0, 0, 0}, {8, 68, 272, 0, 0, 0, 0}, {12288, 1365, 0, 0, 0, 0, 0}, {204, 816, 1370, 0, 0, 0, 0}, {8, 544, 1367, 4128, 0, 0, 0}, {8, 544, 1360, 4176, 0, 0, 0}, {204, 831, 1365, 0, 0, 0, 0}, {12528, 1370, 0, 0, 0, 0, 0}, {8, 68, 279, 0, 0, 0, 0}, {204, 816, 1360, 0, 0, 0, 0}, {8, 546, 1365, 4096, 0, 0, 0}, {8, 68, 274, 0, 0, 0, 0}, {12288, 1375, 0, 0, 0, 0, 0}, {1440, 3840, 13664, 21760, 0, 0, 0}, {8, 293, 775, 68, 1024, 4369, 0}, {8, 546, 1314, 4160, 0, 0, 0}, {204, 783, 1379, 0, 0, 0, 0}, {8, 288, 768, 68, 1024, 4352, 0}, {1445, 3855, 12336, 21845, 0, 0, 0}, {204, 768, 1382, 0, 0, 0, 0}, {8, 544, 1319, 4112, 0, 0, 0}, {8, 544, 1312, 4192, 0, 0, 0}, {204, 783, 1385, 0, 0, 0, 0}, {1450, 3840, 13674, 20480, 0, 0, 0}, {8, 295, 775, 68, 1024, 4116, 0}, {204, 768, 1388, 0, 0, 0, 0}, {8, 546, 1317, 4144, 0, 0, 0}, {8, 290, 768, 68, 1024, 4096, 0}, {1455, 3855, 12336, 20560, 0, 0, 0}, {128, 1392, 4208, 0, 0, 0, 0}, {831, 68, 1337, 4369, 0, 0, 0}, {136, 1394, 4698, 0, 0, 0, 0}, {831, 76, 1331, 4108, 0, 0, 0}, {816, 68, 1340, 4352, 0, 0, 0}, {128, 1397, 4128, 0, 0, 0, 0}, {816, 76, 1334, 4112, 0, 0, 0}, {136, 1399, 4608, 0, 0, 0, 0}, {136, 1400, 4728, 0, 0, 0, 0}, {831, 76, 1337, 4140, 0, 0, 0}, {128, 1402, 4176, 0, 0, 0, 0}, {831, 68, 1331, 4403, 0, 0, 0}, {816, 76, 1340, 4144, 0, 0, 0}, {136, 1405, 4642, 0, 0, 0, 0}, {816, 68, 1334, 4386, 0, 0, 0}, {128, 1407, 4096, 0, 0, 0, 0}, {128, 1280, 4096, 0, 0, 0, 0}, {771, 68, 1285, 4369, 0, 0, 0}, {136, 1290, 4642, 0, 0, 0, 0}, {771, 76, 1295, 4144, 0, 0, 0}, {780, 68, 1280, 4352, 0, 0, 0}, {128, 1285, 4176, 0, 0, 0, 0}, {780, 76, 1290, 4140, 0, 0, 0}, {136, 1295, 4728, 0, 0, 0, 0}, {136, 1280, 4608, 0, 0, 0, 0}, {771, 76, 1285, 4112, 0, 0, 0}, {128, 1290, 4128, 0, 0, 0, 0}, {771, 68, 1295, 4403, 0, 0, 0}, {780, 76, 1280, 4108, 0, 0, 0}, {136, 1285, 4698, 0, 0, 0, 0}, {780, 68, 1290, 4386, 0, 0, 0}, {128, 1295, 4208, 0, 0, 0, 0}, {12336, 1360, 0, 0, 0, 0, 0}, {8, 68, 273, 0, 0, 0, 0}, {8, 546, 1362, 4144, 0, 0, 0}, {204, 819, 1375, 0, 0, 0, 0}, {8, 68, 276, 0, 0, 0, 0}, {12480, 1365, 0, 0, 0, 0, 0}, {204, 828, 1370, 0, 0, 0, 0}, {8, 544, 1367, 4192, 0, 0, 0}, {8, 544, 1360, 4112, 0, 0, 0}, {204, 819, 1365, 0, 0, 0, 0}, {12336, 1370, 0, 0, 0, 0, 0}, {8, 68, 275, 0, 0, 0, 0}, {204, 828, 1360, 0, 0, 0, 0}, {8, 546, 1365, 4160, 0, 0, 0}, {8, 68, 278, 0, 0, 0, 0}, {12480, 1375, 0, 0, 0, 0, 0}, {1440, 3840, 12288, 21760, 0, 0, 0}, {8, 289, 771, 68, 1028, 4369, 0}, {8, 546, 1314, 4096, 0, 0, 0}, {204, 771, 1379, 0, 0, 0, 0}, {8, 292, 772, 68, 1028, 4352, 0}, {1445, 3855, 13653, 21845, 0, 0, 0}, {204, 780, 1382, 0, 0, 0, 0}, {8, 544, 1319, 4176, 0, 0, 0}, {8, 544, 1312, 4128, 0, 0, 0}, {204, 771, 1385, 0, 0, 0, 0}, {1450, 3840, 12288, 20480, 0, 0, 0}, {8, 291, 771, 68, 1028, 4112, 0}, {204, 780, 1388, 0, 0, 0, 0}, {8, 546, 1317, 4208, 0, 0, 0}, {8, 294, 772, 68, 1028, 4100, 0}, {1455, 3855, 13663, 20560, 0, 0, 0}, {128, 1392, 4144, 0, 0, 0, 0}, {819, 68, 1337, 4369, 0, 0, 0}, {136, 1394, 4626, 0, 0, 0, 0}, {819, 76, 1331, 4096, 0, 0, 0}, {828, 68, 1340, 4352, 0, 0, 0}, {128, 1397, 4192, 0, 0, 0, 0}, {828, 76, 1334, 4124, 0, 0, 0}, {136, 1399, 4680, 0, 0, 0, 0}, {136, 1400, 4656, 0, 0, 0, 0}, {819, 76, 1337, 4128, 0, 0, 0}, {128, 1402, 4112, 0, 0, 0, 0}, {819, 68, 1331, 4403, 0, 0, 0}, {828, 76, 1340, 4156, 0, 0, 0}, {136, 1405, 4714, 0, 0, 0, 0}, {828, 68, 1334, 4386, 0, 0, 0}, {128, 1407, 4160, 0, 0, 0, 0}, {12480, 1280, 0, 0, 0, 0, 0}, {8, 68, 261, 0, 0, 0, 0}, {8, 514, 1282, 4192, 0, 0, 0}, {204, 783, 1295, 0, 0, 0, 0}, {8, 68, 256, 0, 0, 0, 0}, {12336, 1285, 0, 0, 0, 0, 0}, {204, 768, 1290, 0, 0, 0, 0}, {8, 512, 1287, 4144, 0, 0, 0}, {8, 512, 1280, 4160, 0, 0, 0}, {204, 783, 1285, 0, 0, 0, 0}, {12480, 1290, 0, 0, 0, 0, 0}, {8, 68, 263, 0, 0, 0, 0}, {204, 768, 1280, 0, 0, 0, 0}, {8, 514, 1285, 4112, 0, 0, 0}, {8, 68, 258, 0, 0, 0, 0}, {12336, 1295, 0, 0, 0, 0, 0}, {128, 1360, 4176, 0, 0, 0, 0}, {831, 68, 1297, 4369, 0, 0, 0}, {136, 1370, 4698, 0, 0, 0, 0}, {831, 76, 1299, 4140, 0, 0, 0}, {816, 68, 1300, 4352, 0, 0, 0}, {128, 1365, 4096, 0, 0, 0, 0}, {816, 76, 1302, 4144, 0, 0, 0}, {136, 1375, 4608, 0, 0, 0, 0}, {136, 1360, 4728, 0, 0, 0, 0}, {831, 76, 1305, 4108, 0, 0, 0}, {128, 1370, 4208, 0, 0, 0, 0}, {831, 68, 1307, 4403, 0, 0, 0}, {816, 76, 1308, 4112, 0, 0, 0}, {136, 1365, 4642, 0, 0, 0, 0}, {816, 68, 1310, 4386, 0, 0, 0}, {128, 1375, 4128, 0, 0, 0, 0}, {128, 1312, 4192, 0, 0, 0, 0}, {783, 68, 1325, 4369, 0, 0, 0}, {136, 1314, 4714, 0, 0, 0, 0}, {783, 76, 1327, 4124, 0, 0, 0}, {768, 68, 1320, 4352, 0, 0, 0}, {128, 1317, 4144, 0, 0, 0, 0}, {768, 76, 1322, 4096, 0, 0, 0}, {136, 1319, 4656, 0, 0, 0, 0}, {136, 1320, 4680, 0, 0, 0, 0}, {783, 76, 1317, 4156, 0, 0, 0}, {128, 1322, 4160, 0, 0, 0, 0}, {783, 68, 1319, 4403, 0, 0, 0}, {768, 76, 1312, 4128, 0, 0, 0}, {136, 1325, 4626, 0, 0, 0, 0}, {768, 68, 1314, 4386, 0, 0, 0}, {128, 1327, 4112, 0, 0, 0, 0}, {1520, 2560, 13568, 21760, 0, 0, 0}, {8, 309, 514, 68, 1028, 4369, 0}, {8, 514, 1394, 4176, 0, 0, 0}, {204, 831, 1331, 0, 0, 0, 0}, {8, 304, 512, 68, 1028, 4352, 0}, {1525, 2570, 12288, 21845, 0, 0, 0}, {204, 816, 1334, 0, 0, 0, 0}, {8, 512, 1399, 4096, 0, 0, 0}, {8, 512, 1392, 4208, 0, 0, 0}, {204, 831, 1337, 0, 0, 0, 0}, {1530, 2570, 13578, 20560, 0, 0, 0}, {8, 311, 512, 68, 1028, 4100, 0}, {204, 816, 1340, 0, 0, 0, 0}, {8, 514, 1397, 4128, 0, 0, 0}, {8, 306, 514, 68, 1028, 4112, 0}, {1535, 2560, 12288, 20480, 0, 0, 0}, {2560, 26112, 0, 0, 0, 0, 0}, {48, 7, 257, 0, 0, 0, 0}, {8, 514, 17408, 0, 0, 0, 0}, {15, 48, 771, 1280, 0, 0, 0}, {8, 512, 64, 1028, 0, 0, 0}, {15, 13056, 1285, 0, 0, 0, 0}, {192, 1542, 0, 0, 0, 0, 0}, {512, 7, 4352, 0, 0, 0, 0}, {8, 512, 17408, 0, 0, 0, 0}, {15, 48, 771, 1285, 0, 0, 0}, {2570, 26282, 0, 0, 0, 0, 0}, {48, 7, 259, 0, 0, 0, 0}, {192, 1548, 0, 0, 0, 0, 0}, {514, 7, 4386, 0, 0, 0, 0}, {8, 514, 64, 1028, 0, 0, 0}, {15, 13056, 1280, 0, 0, 0, 0}, {48, 64, 1552, 4112, 0, 0, 0}, {2594, 119, 4369, 0, 0, 0, 0}, {48, 72, 1554, 4626, 0, 0, 0}, {2592, 127, 4883, 0, 0, 0, 0}, {2600, 120, 5140, 0, 0, 0, 0}, {63, 64, 1557, 4864, 0, 0, 0}, {2602, 112, 5654, 0, 0, 0, 0}, {63, 72, 1559, 4352, 0, 0, 0}, {48, 72, 1560, 4608, 0, 0, 0}, {2602, 127, 4915, 0, 0, 0, 0}, {48, 64, 1562, 4096, 0, 0, 0}, {2600, 119, 4403, 0, 0, 0, 0}, {2592, 112, 5692, 0, 0, 0, 0}, {63, 72, 1565, 4381, 0, 0, 0}, {2594, 120, 5180, 0, 0, 0, 0}, {63, 64, 1567, 4895, 0, 0, 0}, {128, 2592, 8224, 17952, 0, 0, 0}, {15, 48, 771, 71, 1298, 4369, 0}, {136, 2594, 8738, 17408, 0, 0, 0}, {15, 48, 771, 64, 1296, 4112, 0}, {8704, 72, 1572, 0, 0, 0, 0}, {15, 112, 1317, 4864, 0, 0, 0}, {8192, 64, 1574, 0, 0, 0, 0}, {15, 119, 1319, 4352, 0, 0, 0}, {136, 2600, 8704, 17408, 0, 0, 0}, {15, 48, 771, 64, 1301, 4096, 0}, {128, 2602, 8192, 17962, 0, 0, 0}, {15, 48, 771, 71, 1303, 4355, 0}, {8224, 64, 1580, 0, 0, 0, 0}, {15, 119, 1314, 4386, 0, 0, 0}, {8738, 72, 1582, 0, 0, 0, 0}, {15, 112, 1312, 4896, 0, 0, 0}, {48, 1536, 0, 0, 0, 0, 0}, {8, 514, 119, 4369, 0, 0, 0}, {8, 48, 514, 64, 1024, 4112, 0}, {255, 2560, 13107, 21760, 0, 0, 0}, {8, 512, 112, 5172, 0, 0, 0}, {63, 1546, 0, 0, 0, 0, 0}, {240, 2570, 13878, 20560, 0, 0, 0}, {8, 55, 512, 64, 1024, 4352, 0}, {8, 48, 512, 64, 1024, 4096, 0}, {255, 2570, 13107, 21845, 0, 0, 0}, {48, 1546, 0, 0, 0, 0, 0}, {8, 512, 119, 4403, 0, 0, 0}, {240, 2560, 13884, 20480, 0, 0, 0}, {8, 55, 514, 64, 1024, 4373, 0}, {8, 514, 112, 5140, 0, 0, 0}, {63, 1536, 0, 0, 0, 0, 0}, {8192, 64, 1536, 0, 0, 0, 0}, {15, 119, 1285, 4369, 0, 0, 0}, {8738, 72, 1546, 0, 0, 0, 0}, {15, 112, 1280, 4915, 0, 0, 0}, {136, 2560, 8704, 17476, 0, 0, 0}, {15, 48, 768, 64, 1285, 4112, 0}, {128, 2570, 8224, 17990, 0, 0, 0}, {15, 48, 768, 71, 1280, 4352, 0}, {8704, 72, 1536, 0, 0, 0, 0}, {15, 112, 1285, 4883, 0, 0, 0}, {8224, 64, 1546, 0, 0, 0, 0}, {15, 119, 1280, 4403, 0, 0, 0}, {128, 2560, 8192, 17996, 0, 0, 0}, {15, 48, 768, 71, 1285, 4370, 0}, {136, 2570, 8738, 17476, 0, 0, 0}, {15, 48, 768, 64, 1280, 4096, 0}, {240, 2640, 13904, 20560, 0, 0, 0}, {8, 55, 533, 64, 1028, 4369, 0}, {8, 546, 112, 5120, 0, 0, 0}, {63, 1619, 0, 0, 0, 0, 0}, {8, 48, 528, 64, 1028, 4112, 0}, {255, 2645, 13056, 21845, 0, 0, 0}, {48, 1622, 0, 0, 0, 0, 0}, {8, 544, 119, 4352, 0, 0, 0}, {8, 544, 112, 5152, 0, 0, 0}, {63, 1625, 0, 0, 0, 0, 0}, {240, 2650, 13914, 20480, 0, 0, 0}, {8, 55, 535, 64, 1028, 4356, 0}, {48, 1628, 0, 0, 0, 0, 0}, {8, 546, 119, 4386, 0, 0, 0}, {8, 48, 530, 64, 1028, 4096, 0}, {255, 2655, 13056, 21760, 0, 0, 0}, {192, 1632, 0, 0, 0, 0, 0}, {546, 7, 4369, 0, 0, 0, 0}, {8, 546, 64, 1024, 0, 0, 0}, {15, 13107, 1360, 0, 0, 0, 0}, {8, 544, 17476, 0, 0, 0, 0}, {15, 48, 768, 1365, 0, 0, 0}, {2730, 26214, 0, 0, 0, 0, 0}, {48, 7, 272, 0, 0, 0, 0}, {8, 544, 64, 1024, 0, 0, 0}, {15, 13107, 1365, 0, 0, 0, 0}, {192, 1642, 0, 0, 0, 0, 0}, {544, 7, 4403, 0, 0, 0, 0}, {2720, 26316, 0, 0, 0, 0, 0}, {48, 7, 274, 0, 0, 0, 0}, {8, 546, 17476, 0, 0, 0, 0}, {15, 48, 768, 1360, 0, 0, 0}, {2560, 112, 5632, 0, 0, 0, 0}, {63, 72, 1542, 4369, 0, 0, 0}, {2570, 120, 5160, 0, 0, 0, 0}, {63, 64, 1548, 4876, 0, 0, 0}, {48, 72, 1548, 4608, 0, 0, 0}, {2570, 127, 4896, 0, 0, 0, 0}, {48, 64, 1542, 4112, 0, 0, 0}, {2560, 119, 4352, 0, 0, 0, 0}, {2560, 120, 5120, 0, 0, 0, 0}, {63, 64, 1542, 4883, 0, 0, 0}, {2570, 112, 5674, 0, 0, 0, 0}, {63, 72, 1548, 4364, 0, 0, 0}, {48, 64, 1548, 4096, 0, 0, 0}, {2570, 119, 4386, 0, 0, 0, 0}, {48, 72, 1542, 4626, 0, 0, 0}, {2560, 127, 4864, 0, 0, 0, 0}, {128, 2560, 8192, 17920, 0, 0, 0}, {15, 48, 771, 71, 1285, 4369, 0}, {136, 2570, 8738, 17408, 0, 0, 0}, {15, 48, 771, 64, 1280, 4096, 0}, {8704, 72, 1548, 0, 0, 0, 0}, {15, 112, 1285, 4896, 0, 0, 0}, {8224, 64, 1542, 0, 0, 0, 0}, {15, 119, 1280, 4352, 0, 0, 0}, {136, 2560, 8704, 17408, 0, 0, 0}, {15, 48, 771, 64, 1285, 4112, 0}, {128, 2570, 8224, 17930, 0, 0, 0}, {15, 48, 771, 71, 1280, 4355, 0}, {8192, 64, 1548, 0, 0, 0, 0}, {15, 119, 1285, 4386, 0, 0, 0}, {8738, 72, 1542, 0, 0, 0, 0}, {15, 112, 1280, 4864, 0, 0, 0}, {48, 1616, 0, 0, 0, 0, 0}, {8, 546, 119, 4369, 0, 0, 0}, {8, 48, 530, 64, 1024, 4096, 0}, {255, 2655, 13107, 21760, 0, 0, 0}, {8, 544, 112, 5140, 0, 0, 0}, {63, 1621, 0, 0, 0, 0, 0}, {240, 2650, 13926, 20480, 0, 0, 0}, {8, 55, 535, 64, 1024, 4352, 0}, {8, 48, 528, 64, 1024, 4112, 0}, {255, 2645, 13107, 21845, 0, 0, 0}, {48, 1626, 0, 0, 0, 0, 0}, {8, 544, 119, 4403, 0, 0, 0}, {240, 2640, 13932, 20560, 0, 0, 0}, {8, 55, 533, 64, 1024, 4373, 0}, {8, 546, 112, 5172, 0, 0, 0}, {63, 1631, 0, 0, 0, 0, 0}, {2720, 26112, 0, 0, 0, 0, 0}, {48, 7, 273, 0, 0, 0, 0}, {8, 546, 17408, 0, 0, 0, 0}, {15, 48, 771, 1360, 0, 0, 0}, {8, 544, 64, 1028, 0, 0, 0}, {15, 13056, 1365, 0, 0, 0, 0}, {192, 1638, 0, 0, 0, 0, 0}, {544, 7, 4352, 0, 0, 0, 0}, {8, 544, 17408, 0, 0, 0, 0}, {15, 48, 771, 1365, 0, 0, 0}, {2730, 26282, 0, 0, 0, 0, 0}, {48, 7, 275, 0, 0, 0, 0}, {192, 1644, 0, 0, 0, 0, 0}, {546, 7, 4386, 0, 0, 0, 0}, {8, 546, 64, 1028, 0, 0, 0}, {15, 13056, 1360, 0, 0, 0, 0}, {48, 64, 1536, 4096, 0, 0, 0}, {2570, 119, 4369, 0, 0, 0, 0}, {48, 72, 1546, 4626, 0, 0, 0}, {2560, 127, 4915, 0, 0, 0, 0}, {2560, 120, 5180, 0, 0, 0, 0}, {63, 64, 1546, 4895, 0, 0, 0}, {2570, 112, 5654, 0, 0, 0, 0}, {63, 72, 1536, 4352, 0, 0, 0}, {48, 72, 1536, 4608, 0, 0, 0}, {2570, 127, 4883, 0, 0, 0, 0}, {48, 64, 1546, 4112, 0, 0, 0}, {2560, 119, 4403, 0, 0, 0, 0}, {2560, 112, 5692, 0, 0, 0, 0}, {63, 72, 1546, 4381, 0, 0, 0}, {2570, 120, 5140, 0, 0, 0, 0}, {63, 64, 1536, 4864, 0, 0, 0}, {192, 1536, 0, 0, 0, 0, 0}, {514, 7, 4369, 0, 0, 0, 0}, {8, 514, 64, 1024, 0, 0, 0}, {15, 13107, 1280, 0, 0, 0, 0}, {8, 512, 17476, 0, 0, 0, 0}, {15, 48, 768, 1285, 0, 0, 0}, {2570, 26214, 0, 0, 0, 0, 0}, {48, 7, 256, 0, 0, 0, 0}, {8, 512, 64, 1024, 0, 0, 0}, {15, 13107, 1285, 0, 0, 0, 0}, {192, 1546, 0, 0, 0, 0, 0}, {512, 7, 4403, 0, 0, 0, 0}, {2560, 26316, 0, 0, 0, 0, 0}, {48, 7, 258, 0, 0, 0, 0}, {8, 514, 17476, 0, 0, 0, 0}, {15, 48, 768, 1280, 0, 0, 0}, {2592, 112, 5632, 0, 0, 0, 0}, {63, 72, 1553, 4369, 0, 0, 0}, {2594, 120, 5120, 0, 0, 0, 0}, {63, 64, 1555, 4883, 0, 0, 0}, {48, 72, 1556, 4608, 0, 0, 0}, {2602, 127, 4864, 0, 0, 0, 0}, {48, 64, 1558, 4096, 0, 0, 0}, {2600, 119, 4352, 0, 0, 0, 0}, {2600, 120, 5160, 0, 0, 0, 0}, {63, 64, 1561, 4876, 0, 0, 0}, {2602, 112, 5674, 0, 0, 0, 0}, {63, 72, 1563, 4364, 0, 0, 0}, {48, 64, 1564, 4112, 0, 0, 0}, {2594, 119, 4386, 0, 0, 0, 0}, {48, 72, 1566, 4626, 0, 0, 0}, {2592, 127, 4896, 0, 0, 0, 0}, {8224, 64, 1568, 0, 0, 0, 0}, {15, 119, 1314, 4369, 0, 0, 0}, {8738, 72, 1570, 0, 0, 0, 0}, {15, 112, 1312, 4883, 0, 0, 0}, {136, 2600, 8704, 17476, 0, 0, 0}, {15, 48, 768, 64, 1301, 4096, 0}, {128, 2602, 8192, 18022, 0, 0, 0}, {15, 48, 768, 71, 1303, 4352, 0}, {8704, 72, 1576, 0, 0, 0, 0}, {15, 112, 1317, 4915, 0, 0, 0}, {8192, 64, 1578, 0, 0, 0, 0}, {15, 119, 1319, 4403, 0, 0, 0}, {128, 2592, 8224, 18028, 0, 0, 0}, {15, 48, 768, 71, 1298, 4370, 0}, {136, 2594, 8738, 17476, 0, 0, 0}, {15, 48, 768, 64, 1296, 4112, 0}, {240, 2560, 13824, 20480, 0, 0, 0}, {8, 55, 514, 64, 1028, 4369, 0}, {8, 514, 112, 5152, 0, 0, 0}, {63, 1548, 0, 0, 0, 0, 0}, {8, 48, 512, 64, 1028, 4096, 0}, {255, 2570, 13056, 21845, 0, 0, 0}, {48, 1542, 0, 0, 0, 0, 0}, {8, 512, 119, 4352, 0, 0, 0}, {8, 512, 112, 5120, 0, 0, 0}, {63, 1542, 0, 0, 0, 0, 0}, {240, 2570, 13834, 20560, 0, 0, 0}, {8, 55, 512, 64, 1028, 4356, 0}, {48, 1548, 0, 0, 0, 0, 0}, {8, 514, 119, 4386, 0, 0, 0}, {8, 48, 514, 64, 1028, 4112, 0}, {255, 2560, 13056, 21760, 0, 0, 0}, {12288, 1792, 0, 0, 0, 0, 0}, {10, 102, 257, 0, 0, 0, 0}, {10, 514, 1280, 4128, 0, 0, 0}, {204, 771, 1036, 0, 0, 0, 0}, {204, 780, 1028, 0, 0, 0, 0}, {10, 512, 1285, 4176, 0, 0, 0}, {10, 102, 262, 0, 0, 0, 0}, {12528, 1799, 0, 0, 0, 0, 0}, {12288, 1800, 0, 0, 0, 0, 0}, {10, 102, 259, 0, 0, 0, 0}, {10, 512, 1280, 4096, 0, 0, 0}, {204, 771, 1028, 0, 0, 0, 0}, {204, 780, 1036, 0, 0, 0, 0}, {10, 514, 1285, 4208, 0, 0, 0}, {10, 102, 260, 0, 0, 0, 0}, {12528, 1807, 0, 0, 0, 0, 0}, {160, 1904, 4112, 0, 0, 0, 0}, {819, 102, 1058, 4369, 0, 0, 0}, {170, 1912, 4626, 0, 0, 0, 0}, {819, 108, 1056, 4128, 0, 0, 0}, {828, 108, 1064, 4156, 0, 0, 0}, {170, 1919, 4714, 0, 0, 0, 0}, {828, 102, 1066, 4352, 0, 0, 0}, {160, 1911, 4192, 0, 0, 0, 0}, {160, 1912, 4144, 0, 0, 0, 0}, {819, 102, 1066, 4403, 0, 0, 0}, {170, 1904, 4656, 0, 0, 0, 0}, {819, 108, 1064, 4096, 0, 0, 0}, {828, 108, 1056, 4124, 0, 0, 0}, {170, 1911, 4680, 0, 0, 0, 0}, {828, 102, 1058, 4386, 0, 0, 0}, {160, 1919, 4160, 0, 0, 0, 0}, {160, 1824, 4128, 0, 0, 0, 0}, {771, 102, 1070, 4369, 0, 0, 0}, {170, 1826, 4642, 0, 0, 0, 0}, {771, 108, 1068, 4112, 0, 0, 0}, {780, 108, 1060, 4108, 0, 0, 0}, {170, 1829, 4698, 0, 0, 0, 0}, {780, 102, 1062, 4352, 0, 0, 0}, {160, 1831, 4176, 0, 0, 0, 0}, {160, 1832, 4096, 0, 0, 0, 0}, {771, 102, 1062, 4403, 0, 0, 0}, {170, 1834, 4608, 0, 0, 0, 0}, {771, 108, 1060, 4144, 0, 0, 0}, {780, 108, 1068, 4140, 0, 0, 0}, {170, 1837, 4728, 0, 0, 0, 0}, {780, 102, 1070, 4386, 0, 0, 0}, {160, 1839, 4208, 0, 0, 0, 0}, {2032, 2048, 12336, 18224, 0, 0, 0}, {10, 305, 514, 343, 1026, 4369, 0}, {10, 514, 1360, 4112, 0, 0, 0}, {204, 819, 1024, 0, 0, 0, 0}, {204, 828, 1032, 0, 0, 0, 0}, {10, 512, 1365, 4192, 0, 0, 0}, {10, 310, 512, 336, 1024, 4352, 0}, {2039, 2056, 14135, 16448, 0, 0, 0}, {2040, 2056, 12336, 16448, 0, 0, 0}, {10, 307, 512, 341, 1024, 4096, 0}, {10, 512, 1360, 4144, 0, 0, 0}, {204, 819, 1032, 0, 0, 0, 0}, {204, 828, 1024, 0, 0, 0, 0}, {10, 514, 1365, 4160, 0, 0, 0}, {10, 308, 514, 338, 1026, 4118, 0}, {2047, 2048, 14143, 18239, 0, 0, 0}, {1920, 3840, 14144, 16448, 0, 0, 0}, {10, 295, 773, 321, 1285, 4369, 0}, {10, 546, 1280, 4192, 0, 0, 0}, {204, 783, 1100, 0, 0, 0, 0}, {204, 768, 1092, 0, 0, 0, 0}, {10, 544, 1285, 4112, 0, 0, 0}, {10, 288, 768, 326, 1280, 4352, 0}, {1927, 3855, 12336, 18247, 0, 0, 0}, {1928, 3840, 14152, 18248, 0, 0, 0}, {10, 293, 773, 323, 1285, 4118, 0}, {10, 544, 1280, 4160, 0, 0, 0}, {204, 783, 1092, 0, 0, 0, 0}, {204, 768, 1100, 0, 0, 0, 0}, {10, 546, 1285, 4144, 0, 0, 0}, {10, 290, 768, 324, 1280, 4096, 0}, {1935, 3855, 12336, 16448, 0, 0, 0}, {160, 1872, 4176, 0, 0, 0, 0}, {831, 102, 1028, 4369, 0, 0, 0}, {170, 1874, 4728, 0, 0, 0, 0}, {831, 108, 1036, 4108, 0, 0, 0}, {816, 108, 1028, 4112, 0, 0, 0}, {170, 1877, 4608, 0, 0, 0, 0}, {816, 102, 1036, 4352, 0, 0, 0}, {160, 1879, 4128, 0, 0, 0, 0}, {160, 1880, 4208, 0, 0, 0, 0}, {831, 102, 1036, 4403, 0, 0, 0}, {170, 1882, 4698, 0, 0, 0, 0}, {831, 108, 1028, 4140, 0, 0, 0}, {816, 108, 1036, 4144, 0, 0, 0}, {170, 1885, 4642, 0, 0, 0, 0}, {816, 102, 1028, 4386, 0, 0, 0}, {160, 1887, 4096, 0, 0, 0, 0}, {160, 1792, 4192, 0, 0, 0, 0}, {783, 102, 1032, 4369, 0, 0, 0}, {170, 1800, 4680, 0, 0, 0, 0}, {783, 108, 1024, 4156, 0, 0, 0}, {768, 108, 1032, 4128, 0, 0, 0}, {170, 1807, 4656, 0, 0, 0, 0}, {768, 102, 1024, 4352, 0, 0, 0}, {160, 1799, 4112, 0, 0, 0, 0}, {160, 1800, 4160, 0, 0, 0, 0}, {783, 102, 1024, 4403, 0, 0, 0}, {170, 1792, 4714, 0, 0, 0, 0}, {783, 108, 1032, 4124, 0, 0, 0}, {768, 108, 1024, 4096, 0, 0, 0}, {170, 1799, 4626, 0, 0, 0, 0}, {768, 102, 1032, 4386, 0, 0, 0}, {160, 1807, 4144, 0, 0, 0, 0}, {12528, 1904, 0, 0, 0, 0, 0}, {10, 102, 279, 0, 0, 0, 0}, {10, 546, 1360, 4176, 0, 0, 0}, {204, 831, 1088, 0, 0, 0, 0}, {204, 816, 1096, 0, 0, 0, 0}, {10, 544, 1365, 4128, 0, 0, 0}, {10, 102, 272, 0, 0, 0, 0}, {12288, 1911, 0, 0, 0, 0, 0}, {12528, 1912, 0, 0, 0, 0, 0}, {10, 102, 277, 0, 0, 0, 0}, {10, 544, 1360, 4208, 0, 0, 0}, {204, 831, 1096, 0, 0, 0, 0}, {204, 816, 1088, 0, 0, 0, 0}, {10, 546, 1365, 4096, 0, 0, 0}, {10, 102, 274, 0, 0, 0, 0}, {12288, 1919, 0, 0, 0, 0, 0}, {1920, 3840, 12288, 18176, 0, 0, 0}, {10, 289, 771, 327, 1285, 4369, 0}, {10, 546, 1280, 4096, 0, 0, 0}, {204, 771, 1088, 0, 0, 0, 0}, {204, 780, 1096, 0, 0, 0, 0}, {10, 544, 1285, 4208, 0, 0, 0}, {10, 294, 774, 320, 1280, 4352, 0}, {1927, 3855, 14199, 16384, 0, 0, 0}, {1928, 3840, 12288, 16384, 0, 0, 0}, {10, 291, 771, 325, 1285, 4112, 0}, {10, 544, 1280, 4128, 0, 0, 0}, {204, 771, 1096, 0, 0, 0, 0}, {204, 780, 1088, 0, 0, 0, 0}, {10, 546, 1285, 4176, 0, 0, 0}, {10, 292, 774, 322, 1280, 4102, 0}, {1935, 3855, 14207, 18191, 0, 0, 0}, {160, 1872, 4144, 0, 0, 0, 0}, {819, 102, 1032, 4369, 0, 0, 0}, {170, 1874, 4626, 0, 0, 0, 0}, {819, 108, 1024, 4096, 0, 0, 0}, {828, 108, 1032, 4124, 0, 0, 0}, {170, 1877, 4714, 0, 0, 0, 0}, {828, 102, 1024, 4352, 0, 0, 0}, {160, 1879, 4160, 0, 0, 0, 0}, {160, 1880, 4112, 0, 0, 0, 0}, {819, 102, 1024, 4403, 0, 0, 0}, {170, 1882, 4656, 0, 0, 0, 0}, {819, 108, 1032, 4128, 0, 0, 0}, {828, 108, 1024, 4156, 0, 0, 0}, {170, 1885, 4680, 0, 0, 0, 0}, {828, 102, 1032, 4386, 0, 0, 0}, {160, 1887, 4192, 0, 0, 0, 0}, {160, 1792, 4096, 0, 0, 0, 0}, {771, 102, 1028, 4369, 0, 0, 0}, {170, 1800, 4642, 0, 0, 0, 0}, {771, 108, 1036, 4144, 0, 0, 0}, {780, 108, 1028, 4140, 0, 0, 0}, {170, 1807, 4698, 0, 0, 0, 0}, {780, 102, 1036, 4352, 0, 0, 0}, {160, 1799, 4208, 0, 0, 0, 0}, {160, 1800, 4128, 0, 0, 0, 0}, {771, 102, 1036, 4403, 0, 0, 0}, {170, 1792, 4608, 0, 0, 0, 0}, {771, 108, 1028, 4112, 0, 0, 0}, {780, 108, 1036, 4108, 0, 0, 0}, {170, 1799, 4728, 0, 0, 0, 0}, {780, 102, 1028, 4386, 0, 0, 0}, {160, 1807, 4176, 0, 0, 0, 0}, {12336, 1904, 0, 0, 0, 0, 0}, {10, 102, 273, 0, 0, 0, 0}, {10, 546, 1360, 4144, 0, 0, 0}, {204, 819, 1100, 0, 0, 0, 0}, {204, 828, 1092, 0, 0, 0, 0}, {10, 544, 1365, 4160, 0, 0, 0}, {10, 102, 278, 0, 0, 0, 0}, {12480, 1911, 0, 0, 0, 0, 0}, {12336, 1912, 0, 0, 0, 0, 0}, {10, 102, 275, 0, 0, 0, 0}, {10, 544, 1360, 4112, 0, 0, 0}, {204, 819, 1092, 0, 0, 0, 0}, {204, 828, 1100, 0, 0, 0, 0}, {10, 546, 1365, 4192, 0, 0, 0}, {10, 102, 276, 0, 0, 0, 0}, {12480, 1919, 0, 0, 0, 0, 0}, {12480, 1792, 0, 0, 0, 0, 0}, {10, 102, 263, 0, 0, 0, 0}, {10, 514, 1280, 4160, 0, 0, 0}, {204, 783, 1024, 0, 0, 0, 0}, {204, 768, 1032, 0, 0, 0, 0}, {10, 512, 1285, 4144, 0, 0, 0}, {10, 102, 256, 0, 0, 0, 0}, {12336, 1799, 0, 0, 0, 0, 0}, {12480, 1800, 0, 0, 0, 0, 0}, {10, 102, 261, 0, 0, 0, 0}, {10, 512, 1280, 4192, 0, 0, 0}, {204, 783, 1032, 0, 0, 0, 0}, {204, 768, 1024, 0, 0, 0, 0}, {10, 514, 1285, 4112, 0, 0, 0}, {10, 102, 258, 0, 0, 0, 0}, {12336, 1807, 0, 0, 0, 0, 0}, {160, 1904, 4208, 0, 0, 0, 0}, {831, 102, 1070, 4369, 0, 0, 0}, {170, 1912, 4728, 0, 0, 0, 0}, {831, 108, 1068, 4140, 0, 0, 0}, {816, 108, 1060, 4144, 0, 0, 0}, {170, 1919, 4608, 0, 0, 0, 0}, {816, 102, 1062, 4352, 0, 0, 0}, {160, 1911, 4096, 0, 0, 0, 0}, {160, 1912, 4176, 0, 0, 0, 0}, {831, 102, 1062, 4403, 0, 0, 0}, {170, 1904, 4698, 0, 0, 0, 0}, {831, 108, 1060, 4108, 0, 0, 0}, {816, 108, 1068, 4112, 0, 0, 0}, {170, 1911, 4642, 0, 0, 0, 0}, {816, 102, 1070, 4386, 0, 0, 0}, {160, 1919, 4128, 0, 0, 0, 0}, {160, 1824, 4160, 0, 0, 0, 0}, {783, 102, 1058, 4369, 0, 0, 0}, {170, 1826, 4680, 0, 0, 0, 0}, {783, 108, 1056, 4124, 0, 0, 0}, {768, 108, 1064, 4096, 0, 0, 0}, {170, 1829, 4656, 0, 0, 0, 0}, {768, 102, 1066, 4352, 0, 0, 0}, {160, 1831, 4144, 0, 0, 0, 0}, {160, 1832, 4192, 0, 0, 0, 0}, {783, 102, 1066, 4403, 0, 0, 0}, {170, 1834, 4714, 0, 0, 0, 0}, {783, 108, 1064, 4156, 0, 0, 0}, {768, 108, 1056, 4128, 0, 0, 0}, {170, 1837, 4626, 0, 0, 0, 0}, {768, 102, 1058, 4386, 0, 0, 0}, {160, 1839, 4112, 0, 0, 0, 0}, {2032, 2048, 14080, 16384, 0, 0, 0}, {10, 311, 514, 337, 1028, 4369, 0}, {10, 514, 1360, 4208, 0, 0, 0}, {204, 831, 1036, 0, 0, 0, 0}, {204, 816, 1028, 0, 0, 0, 0}, {10, 512, 1365, 4096, 0, 0, 0}, {10, 304, 512, 342, 1030, 4352, 0}, {2039, 2056, 12288, 18295, 0, 0, 0}, {2040, 2056, 14088, 18296, 0, 0, 0}, {10, 309, 512, 339, 1030, 4102, 0}, {10, 512, 1360, 4176, 0, 0, 0}, {204, 831, 1028, 0, 0, 0, 0}, {204, 816, 1036, 0, 0, 0, 0}, {10, 514, 1365, 4128, 0, 0, 0}, {10, 306, 514, 340, 1028, 4112, 0}, {2047, 2048, 12288, 16384, 0, 0, 0}, {2048, 16384, 0, 0, 0, 0, 0}, {51, 5, 257, 0, 0, 0, 0}, {10, 514, 16416, 0, 0, 0, 0}, {15, 51, 771, 1027, 0, 0, 0}, {204, 1028, 0, 0, 0, 0, 0}, {512, 5, 4096, 0, 0, 0, 0}, {10, 512, 102, 1030, 0, 0, 0}, {15, 12288, 1799, 0, 0, 0, 0}, {2056, 16512, 0, 0, 0, 0, 0}, {51, 5, 259, 0, 0, 0, 0}, {10, 512, 16384, 0, 0, 0, 0}, {15, 51, 771, 1028, 0, 0, 0}, {204, 1036, 0, 0, 0, 0, 0}, {514, 5, 4128, 0, 0, 0, 0}, {10, 514, 102, 1028, 0, 0, 0}, {15, 12288, 1792, 0, 0, 0, 0}, {2080, 80, 4112, 0, 0, 0, 0}, {51, 85, 1041, 4369, 0, 0, 0}, {2082, 90, 4626, 0, 0, 0, 0}, {51, 95, 1043, 4883, 0, 0, 0}, {60, 80, 1044, 4096, 0, 0, 0}, {2090, 85, 5397, 0, 0, 0, 0}, {60, 90, 1046, 4608, 0, 0, 0}, {2088, 95, 5911, 0, 0, 0, 0}, {2088, 80, 4144, 0, 0, 0, 0}, {51, 85, 1049, 4352, 0, 0, 0}, {2090, 90, 4656, 0, 0, 0, 0}, {51, 95, 1051, 4864, 0, 0, 0}, {60, 80, 1052, 4124, 0, 0, 0}, {2082, 85, 5439, 0, 0, 0, 0}, {60, 90, 1054, 4638, 0, 0, 0}, {2080, 95, 5951, 0, 0, 0, 0}, {160, 2080, 8224, 16416, 0, 0, 0}, {15, 51, 771, 85, 1042, 4369, 0}, {170, 2082, 8738, 16384, 0, 0, 0}, {15, 51, 771, 80, 1040, 4112, 0}, {8192, 108, 1060, 0, 0, 0, 0}, {15, 85, 1829, 4608, 0, 0, 0}, {8704, 102, 1062, 0, 0, 0, 0}, {15, 80, 1831, 4096, 0, 0, 0}, {160, 2088, 8192, 16384, 0, 0, 0}, {15, 51, 771, 85, 1045, 4352, 0}, {170, 2090, 8704, 16426, 0, 0, 0}, {15, 51, 771, 80, 1047, 4099, 0}, {8224, 108, 1068, 0, 0, 0, 0}, {15, 85, 1826, 4642, 0, 0, 0}, {8738, 102, 1070, 0, 0, 0, 0}, {15, 80, 1824, 4128, 0, 0, 0}, {240, 2048, 12336, 16432, 0, 0, 0}, {10, 51, 514, 85, 1026, 4369, 0}, {10, 514, 80, 4112, 0, 0, 0}, {51, 1024, 0, 0, 0, 0, 0}, {60, 1032, 0, 0, 0, 0, 0}, {10, 512, 85, 5429, 0, 0, 0}, {10, 54, 512, 80, 1024, 4096, 0}, {255, 2056, 14135, 16448, 0, 0, 0}, {240, 2056, 12336, 16448, 0, 0, 0}, {10, 51, 512, 85, 1024, 4352, 0}, {10, 512, 80, 4144, 0, 0, 0}, {51, 1032, 0, 0, 0, 0, 0}, {60, 1024, 0, 0, 0, 0, 0}, {10, 514, 85, 5397, 0, 0, 0}, {10, 54, 514, 80, 1026, 4118, 0}, {255, 2048, 14143, 16447, 0, 0, 0}, {2176, 16448, 0, 0, 0, 0, 0}, {51, 5, 273, 0, 0, 0, 0}, {10, 546, 16480, 0, 0, 0, 0}, {15, 51, 768, 1091, 0, 0, 0}, {204, 1092, 0, 0, 0, 0, 0}, {544, 5, 4112, 0, 0, 0, 0}, {10, 544, 102, 1056, 0, 0, 0}, {15, 12336, 1911, 0, 0, 0, 0}, {2184, 16576, 0, 0, 0, 0, 0}, {51, 5, 275, 0, 0, 0, 0}, {10, 544, 16448, 0, 0, 0, 0}, {15, 51, 768, 1092, 0, 0, 0}, {204, 1100, 0, 0, 0, 0, 0}, {546, 5, 4144, 0, 0, 0, 0}, {10, 546, 102, 1058, 0, 0, 0}, {15, 12336, 1904, 0, 0, 0, 0}, {2048, 80, 4096, 0, 0, 0, 0}, {51, 85, 1028, 4369, 0, 0, 0}, {2056, 90, 4642, 0, 0, 0, 0}, {51, 95, 1036, 4864, 0, 0, 0}, {60, 80, 1028, 4112, 0, 0, 0}, {2048, 85, 5376, 0, 0, 0, 0}, {60, 90, 1036, 4620, 0, 0, 0}, {2056, 95, 5928, 0, 0, 0, 0}, {2056, 80, 4128, 0, 0, 0, 0}, {51, 85, 1036, 4352, 0, 0, 0}, {2048, 90, 4608, 0, 0, 0, 0}, {51, 95, 1028, 4883, 0, 0, 0}, {60, 80, 1036, 4108, 0, 0, 0}, {2056, 85, 5418, 0, 0, 0, 0}, {60, 90, 1028, 4626, 0, 0, 0}, {2048, 95, 5888, 0, 0, 0, 0}, {160, 2048, 8192, 16480, 0, 0, 0}, {15, 51, 768, 85, 1031, 4369, 0}, {170, 2056, 8738, 16448, 0, 0, 0}, {15, 51, 768, 80, 1024, 4096, 0}, {8224, 108, 1032, 0, 0, 0, 0}, {15, 85, 1792, 4656, 0, 0, 0}, {8704, 102, 1024, 0, 0, 0, 0}, {15, 80, 1799, 4112, 0, 0, 0}, {160, 2056, 8224, 16448, 0, 0, 0}, {15, 51, 768, 85, 1024, 4352, 0}, {170, 2048, 8704, 16490, 0, 0, 0}, {15, 51, 768, 80, 1031, 4115, 0}, {8192, 108, 1024, 0, 0, 0, 0}, {15, 85, 1799, 4626, 0, 0, 0}, {8738, 102, 1032, 0, 0, 0, 0}, {15, 80, 1792, 4144, 0, 0, 0}, {240, 2160, 12288, 16496, 0, 0, 0}, {10, 51, 529, 85, 1047, 4369, 0}, {10, 546, 80, 4096, 0, 0, 0}, {51, 1088, 0, 0, 0, 0, 0}, {60, 1096, 0, 0, 0, 0, 0}, {10, 544, 85, 5408, 0, 0, 0}, {10, 54, 534, 80, 1040, 4112, 0}, {255, 2167, 14199, 16384, 0, 0, 0}, {240, 2168, 12288, 16384, 0, 0, 0}, {10, 51, 531, 85, 1045, 4352, 0}, {10, 544, 80, 4128, 0, 0, 0}, {51, 1096, 0, 0, 0, 0, 0}, {60, 1088, 0, 0, 0, 0, 0}, {10, 546, 85, 5376, 0, 0, 0}, {10, 54, 532, 80, 1042, 4102, 0}, {255, 2175, 14207, 16511, 0, 0, 0}, {2176, 16512, 0, 0, 0, 0, 0}, {51, 5, 274, 0, 0, 0, 0}, {10, 546, 16384, 0, 0, 0, 0}, {15, 51, 771, 1088, 0, 0, 0}, {204, 1096, 0, 0, 0, 0, 0}, {544, 5, 4128, 0, 0, 0, 0}, {10, 544, 102, 1062, 0, 0, 0}, {15, 12288, 1911, 0, 0, 0, 0}, {2184, 16384, 0, 0, 0, 0, 0}, {51, 5, 272, 0, 0, 0, 0}, {10, 544, 16416, 0, 0, 0, 0}, {15, 51, 771, 1095, 0, 0, 0}, {204, 1088, 0, 0, 0, 0, 0}, {546, 5, 4096, 0, 0, 0, 0}, {10, 546, 102, 1060, 0, 0, 0}, {15, 12288, 1904, 0, 0, 0, 0}, {2048, 80, 4144, 0, 0, 0, 0}, {51, 85, 1032, 4369, 0, 0, 0}, {2056, 90, 4626, 0, 0, 0, 0}, {51, 95, 1024, 4864, 0, 0, 0}, {60, 80, 1032, 4124, 0, 0, 0}, {2048, 85, 5439, 0, 0, 0, 0}, {60, 90, 1024, 4608, 0, 0, 0}, {2056, 95, 5911, 0, 0, 0, 0}, {2056, 80, 4112, 0, 0, 0, 0}, {51, 85, 1024, 4352, 0, 0, 0}, {2048, 90, 4656, 0, 0, 0, 0}, {51, 95, 1032, 4883, 0, 0, 0}, {60, 80, 1024, 4096, 0, 0, 0}, {2056, 85, 5397, 0, 0, 0, 0}, {60, 90, 1032, 4638, 0, 0, 0}, {2048, 95, 5951, 0, 0, 0, 0}, {160, 2048, 8192, 16384, 0, 0, 0}, {15, 51, 771, 85, 1028, 4369, 0}, {170, 2056, 8738, 16426, 0, 0, 0}, {15, 51, 771, 80, 1027, 4099, 0}, {8224, 108, 1028, 0, 0, 0, 0}, {15, 85, 1792, 4608, 0, 0, 0}, {8704, 102, 1036, 0, 0, 0, 0}, {15, 80, 1799, 4128, 0, 0, 0}, {160, 2056, 8224, 16416, 0, 0, 0}, {15, 51, 771, 85, 1027, 4352, 0}, {170, 2048, 8704, 16384, 0, 0, 0}, {15, 51, 771, 80, 1028, 4112, 0}, {8192, 108, 1036, 0, 0, 0, 0}, {15, 85, 1799, 4642, 0, 0, 0}, {8738, 102, 1028, 0, 0, 0, 0}, {15, 80, 1792, 4096, 0, 0, 0}, {240, 2160, 12336, 16448, 0, 0, 0}, {10, 51, 529, 85, 1041, 4369, 0}, {10, 546, 80, 4144, 0, 0, 0}, {51, 1100, 0, 0, 0, 0, 0}, {60, 1092, 0, 0, 0, 0, 0}, {10, 544, 85, 5397, 0, 0, 0}, {10, 54, 534, 80, 1046, 4118, 0}, {255, 2167, 14152, 16447, 0, 0, 0}, {240, 2168, 12336, 16432, 0, 0, 0}, {10, 51, 531, 85, 1043, 4352, 0}, {10, 544, 80, 4112, 0, 0, 0}, {51, 1092, 0, 0, 0, 0, 0}, {60, 1100, 0, 0, 0, 0, 0}, {10, 546, 85, 5429, 0, 0, 0}, {10, 54, 532, 80, 1044, 4096, 0}, {255, 2175, 14144, 16448, 0, 0, 0}, {2048, 16576, 0, 0, 0, 0, 0}, {51, 5, 258, 0, 0, 0, 0}, {10, 514, 16448, 0, 0, 0, 0}, {15, 51, 768, 1024, 0, 0, 0}, {204, 1032, 0, 0, 0, 0, 0}, {512, 5, 4144, 0, 0, 0, 0}, {10, 512, 102, 1024, 0, 0, 0}, {15, 12336, 1799, 0, 0, 0, 0}, {2056, 16448, 0, 0, 0, 0, 0}, {51, 5, 256, 0, 0, 0, 0}, {10, 512, 16480, 0, 0, 0, 0}, {15, 51, 768, 1031, 0, 0, 0}, {204, 1024, 0, 0, 0, 0, 0}, {514, 5, 4112, 0, 0, 0, 0}, {10, 514, 102, 1026, 0, 0, 0}, {15, 12336, 1792, 0, 0, 0, 0}, {2080, 80, 4128, 0, 0, 0, 0}, {51, 85, 1053, 4369, 0, 0, 0}, {2082, 90, 4642, 0, 0, 0, 0}, {51, 95, 1055, 4883, 0, 0, 0}, {60, 80, 1048, 4108, 0, 0, 0}, {2090, 85, 5418, 0, 0, 0, 0}, {60, 90, 1050, 4620, 0, 0, 0}, {2088, 95, 5928, 0, 0, 0, 0}, {2088, 80, 4096, 0, 0, 0, 0}, {51, 85, 1045, 4352, 0, 0, 0}, {2090, 90, 4608, 0, 0, 0, 0}, {51, 95, 1047, 4864, 0, 0, 0}, {60, 80, 1040, 4112, 0, 0, 0}, {2082, 85, 5376, 0, 0, 0, 0}, {60, 90, 1042, 4626, 0, 0, 0}, {2080, 95, 5888, 0, 0, 0, 0}, {160, 2080, 8224, 16448, 0, 0, 0}, {15, 51, 768, 85, 1041, 4369, 0}, {170, 2082, 8738, 16490, 0, 0, 0}, {15, 51, 768, 80, 1043, 4115, 0}, {8192, 108, 1064, 0, 0, 0, 0}, {15, 85, 1829, 4656, 0, 0, 0}, {8704, 102, 1066, 0, 0, 0, 0}, {15, 80, 1831, 4144, 0, 0, 0}, {160, 2088, 8192, 16480, 0, 0, 0}, {15, 51, 768, 85, 1046, 4352, 0}, {170, 2090, 8704, 16448, 0, 0, 0}, {15, 51, 768, 80, 1044, 4096, 0}, {8224, 108, 1056, 0, 0, 0, 0}, {15, 85, 1826, 4626, 0, 0, 0}, {8738, 102, 1058, 0, 0, 0, 0}, {15, 80, 1824, 4112, 0, 0, 0}, {240, 2048, 12288, 16384, 0, 0, 0}, {10, 51, 514, 85, 1028, 4369, 0}, {10, 514, 80, 4128, 0, 0, 0}, {51, 1036, 0, 0, 0, 0, 0}, {60, 1028, 0, 0, 0, 0, 0}, {10, 512, 85, 5376, 0, 0, 0}, {10, 54, 512, 80, 1030, 4102, 0}, {255, 2056, 14088, 16511, 0, 0, 0}, {240, 2056, 12288, 16496, 0, 0, 0}, {10, 51, 512, 85, 1030, 4352, 0}, {10, 512, 80, 4096, 0, 0, 0}, {51, 1028, 0, 0, 0, 0, 0}, {60, 1036, 0, 0, 0, 0, 0}, {10, 514, 85, 5408, 0, 0, 0}, {10, 54, 514, 80, 1028, 4112, 0}, {255, 2048, 14080, 16384, 0, 0, 0}, {13056, 1280, 0, 0, 0, 0, 0}, {8, 64, 257, 0, 0, 0, 0}, {8, 514, 1282, 4386, 0, 0, 0}, {192, 771, 1295, 0, 0, 0, 0}, {8, 64, 260, 0, 0, 0, 0}, {13311, 1285, 0, 0, 0, 0, 0}, {192, 780, 1290, 0, 0, 0, 0}, {8, 512, 1287, 4471, 0, 0, 0}, {8, 512, 1280, 4352, 0, 0, 0}, {192, 771, 1285, 0, 0, 0, 0}, {13056, 1290, 0, 0, 0, 0, 0}, {8, 64, 259, 0, 0, 0, 0}, {192, 780, 1280, 0, 0, 0, 0}, {8, 514, 1285, 4437, 0, 0, 0}, {8, 64, 262, 0, 0, 0, 0}, {13311, 1295, 0, 0, 0, 0, 0}, {816, 64, 1296, 4112, 0, 0, 0}, {136, 1365, 4369, 0, 0, 0, 0}, {816, 72, 1298, 4386, 0, 0, 0}, {128, 1375, 4883, 0, 0, 0, 0}, {136, 1360, 4420, 0, 0, 0, 0}, {831, 64, 1301, 4096, 0, 0, 0}, {128, 1370, 4940, 0, 0, 0, 0}, {831, 72, 1303, 4415, 0, 0, 0}, {816, 72, 1304, 4352, 0, 0, 0}, {128, 1365, 4915, 0, 0, 0, 0}, {816, 64, 1306, 4144, 0, 0, 0}, {136, 1375, 4403, 0, 0, 0, 0}, {128, 1360, 4972, 0, 0, 0, 0}, {831, 72, 1309, 4381, 0, 0, 0}, {136, 1370, 4454, 0, 0, 0, 0}, {831, 64, 1311, 4128, 0, 0, 0}, {128, 1312, 4896, 0, 0, 0, 0}, {771, 72, 1325, 4369, 0, 0, 0}, {136, 1314, 4386, 0, 0, 0, 0}, {771, 64, 1327, 4112, 0, 0, 0}, {780, 72, 1320, 4364, 0, 0, 0}, {128, 1317, 4991, 0, 0, 0, 0}, {780, 64, 1322, 4096, 0, 0, 0}, {136, 1319, 4471, 0, 0, 0, 0}, {136, 1320, 4352, 0, 0, 0, 0}, {771, 64, 1317, 4144, 0, 0, 0}, {128, 1322, 4864, 0, 0, 0, 0}, {771, 72, 1319, 4403, 0, 0, 0}, {780, 64, 1312, 4128, 0, 0, 0}, {136, 1325, 4437, 0, 0, 0, 0}, {780, 72, 1314, 4398, 0, 0, 0}, {128, 1327, 4959, 0, 0, 0, 0}, {192, 816, 1328, 0, 0, 0, 0}, {8, 514, 1397, 4369, 0, 0, 0}, {8, 306, 514, 64, 1024, 4112, 0}, {1535, 2560, 13107, 20480, 0, 0, 0}, {8, 512, 1392, 4420, 0, 0, 0}, {192, 831, 1333, 0, 0, 0, 0}, {1530, 2570, 13878, 20560, 0, 0, 0}, {8, 311, 512, 64, 1024, 4096, 0}, {8, 304, 512, 64, 1024, 4352, 0}, {1525, 2570, 13107, 21845, 0, 0, 0}, {192, 816, 1338, 0, 0, 0, 0}, {8, 512, 1399, 4403, 0, 0, 0}, {1520, 2560, 13884, 21760, 0, 0, 0}, {8, 309, 514, 64, 1024, 4373, 0}, {8, 514, 1394, 4454, 0, 0, 0}, {192, 831, 1343, 0, 0, 0, 0}, {768, 64, 1280, 4096, 0, 0, 0}, {136, 1285, 4369, 0, 0, 0, 0}, {768, 72, 1290, 4386, 0, 0, 0}, {128, 1295, 4915, 0, 0, 0, 0}, {136, 1280, 4420, 0, 0, 0, 0}, {783, 64, 1285, 4112, 0, 0, 0}, {128, 1290, 4972, 0, 0, 0, 0}, {783, 72, 1295, 4415, 0, 0, 0}, {768, 72, 1280, 4352, 0, 0, 0}, {128, 1285, 4883, 0, 0, 0, 0}, {768, 64, 1290, 4128, 0, 0, 0}, {136, 1295, 4403, 0, 0, 0, 0}, {128, 1280, 4940, 0, 0, 0, 0}, {783, 72, 1285, 4381, 0, 0, 0}, {136, 1290, 4454, 0, 0, 0, 0}, {783, 64, 1295, 4144, 0, 0, 0}, {13056, 1360, 0, 0, 0, 0, 0}, {8, 64, 273, 0, 0, 0, 0}, {8, 546, 1362, 4386, 0, 0, 0}, {192, 819, 1375, 0, 0, 0, 0}, {8, 64, 276, 0, 0, 0, 0}, {13311, 1365, 0, 0, 0, 0, 0}, {192, 828, 1370, 0, 0, 0, 0}, {8, 544, 1367, 4471, 0, 0, 0}, {8, 544, 1360, 4352, 0, 0, 0}, {192, 819, 1365, 0, 0, 0, 0}, {13056, 1370, 0, 0, 0, 0, 0}, {8, 64, 275, 0, 0, 0, 0}, {192, 828, 1360, 0, 0, 0, 0}, {8, 546, 1365, 4437, 0, 0, 0}, {8, 64, 278, 0, 0, 0, 0}, {13311, 1375, 0, 0, 0, 0, 0}, {192, 768, 1376, 0, 0, 0, 0}, {8, 546, 1317, 4369, 0, 0, 0}, {8, 290, 768, 64, 1024, 4096, 0}, {1455, 3855, 13107, 20560, 0, 0, 0}, {8, 544, 1312, 4420, 0, 0, 0}, {192, 783, 1381, 0, 0, 0, 0}, {1450, 3840, 13926, 20480, 0, 0, 0}, {8, 295, 775, 64, 1024, 4112, 0}, {8, 288, 768, 64, 1024, 4352, 0}, {1445, 3855, 13107, 21845, 0, 0, 0}, {192, 768, 1386, 0, 0, 0, 0}, {8, 544, 1319, 4403, 0, 0, 0}, {1440, 3840, 13932, 21760, 0, 0, 0}, {8, 293, 775, 64, 1024, 4373, 0}, {8, 546, 1314, 4454, 0, 0, 0}, {192, 783, 1391, 0, 0, 0, 0}, {128, 1392, 4864, 0, 0, 0, 0}, {819, 72, 1333, 4369, 0, 0, 0}, {136, 1394, 4386, 0, 0, 0, 0}, {819, 64, 1343, 4096, 0, 0, 0}, {828, 72, 1328, 4364, 0, 0, 0}, {128, 1397, 4959, 0, 0, 0, 0}, {828, 64, 1338, 4112, 0, 0, 0}, {136, 1399, 4471, 0, 0, 0, 0}, {136, 1400, 4352, 0, 0, 0, 0}, {819, 64, 1333, 4128, 0, 0, 0}, {128, 1402, 4896, 0, 0, 0, 0}, {819, 72, 1343, 4403, 0, 0, 0}, {828, 64, 1328, 4144, 0, 0, 0}, {136, 1405, 4437, 0, 0, 0, 0}, {828, 72, 1338, 4398, 0, 0, 0}, {128, 1407, 4991, 0, 0, 0, 0}, {128, 1280, 4864, 0, 0, 0, 0}, {771, 72, 1285, 4369, 0, 0, 0}, {136, 1290, 4386, 0, 0, 0, 0}, {771, 64, 1295, 4144, 0, 0, 0}, {780, 72, 1280, 4364, 0, 0, 0}, {128, 1285, 4959, 0, 0, 0, 0}, {780, 64, 1290, 4128, 0, 0, 0}, {136, 1295, 4471, 0, 0, 0, 0}, {136, 1280, 4352, 0, 0, 0, 0}, {771, 64, 1285, 4112, 0, 0, 0}, {128, 1290, 4896, 0, 0, 0, 0}, {771, 72, 1295, 4403, 0, 0, 0}, {780, 64, 1280, 4096, 0, 0, 0}, {136, 1285, 4437, 0, 0, 0, 0}, {780, 72, 1290, 4398, 0, 0, 0}, {128, 1295, 4991, 0, 0, 0, 0}, {192, 816, 1360, 0, 0, 0, 0}, {8, 546, 1365, 4369, 0, 0, 0}, {8, 64, 274, 0, 0, 0, 0}, {13107, 1375, 0, 0, 0, 0, 0}, {8, 544, 1360, 4420, 0, 0, 0}, {192, 831, 1365, 0, 0, 0, 0}, {13260, 1370, 0, 0, 0, 0, 0}, {8, 64, 279, 0, 0, 0, 0}, {8, 64, 272, 0, 0, 0, 0}, {13107, 1365, 0, 0, 0, 0, 0}, {192, 816, 1370, 0, 0, 0, 0}, {8, 544, 1367, 4403, 0, 0, 0}, {13260, 1360, 0, 0, 0, 0, 0}, {8, 64, 277, 0, 0, 0, 0}, {8, 546, 1362, 4454, 0, 0, 0}, {192, 831, 1375, 0, 0, 0, 0}, {1440, 3840, 13056, 21760, 0, 0, 0}, {8, 289, 771, 64, 1028, 4369, 0}, {8, 546, 1314, 4386, 0, 0, 0}, {192, 771, 1391, 0, 0, 0, 0}, {8, 292, 772, 64, 1028, 4356, 0}, {1445, 3855, 13914, 21845, 0, 0, 0}, {192, 780, 1386, 0, 0, 0, 0}, {8, 544, 1319, 4471, 0, 0, 0}, {8, 544, 1312, 4352, 0, 0, 0}, {192, 771, 1381, 0, 0, 0, 0}, {1450, 3840, 13056, 20480, 0, 0, 0}, {8, 291, 771, 64, 1028, 4112, 0}, {192, 780, 1376, 0, 0, 0, 0}, {8, 546, 1317, 4437, 0, 0, 0}, {8, 294, 772, 64, 1028, 4096, 0}, {1455, 3855, 13904, 20560, 0, 0, 0}, {816, 64, 1328, 4144, 0, 0, 0}, {136, 1405, 4369, 0, 0, 0, 0}, {816, 72, 1338, 4386, 0, 0, 0}, {128, 1407, 4915, 0, 0, 0, 0}, {136, 1400, 4420, 0, 0, 0, 0}, {831, 64, 1333, 4128, 0, 0, 0}, {128, 1402, 4972, 0, 0, 0, 0}, {831, 72, 1343, 4415, 0, 0, 0}, {816, 72, 1328, 4352, 0, 0, 0}, {128, 1397, 4883, 0, 0, 0, 0}, {816, 64, 1338, 4112, 0, 0, 0}, {136, 1399, 4403, 0, 0, 0, 0}, {128, 1392, 4940, 0, 0, 0, 0}, {831, 72, 1333, 4381, 0, 0, 0}, {136, 1394, 4454, 0, 0, 0, 0}, {831, 64, 1343, 4096, 0, 0, 0}, {192, 768, 1280, 0, 0, 0, 0}, {8, 514, 1285, 4369, 0, 0, 0}, {8, 64, 258, 0, 0, 0, 0}, {13107, 1295, 0, 0, 0, 0, 0}, {8, 512, 1280, 4420, 0, 0, 0}, {192, 783, 1285, 0, 0, 0, 0}, {13260, 1290, 0, 0, 0, 0, 0}, {8, 64, 263, 0, 0, 0, 0}, {8, 64, 256, 0, 0, 0, 0}, {13107, 1285, 0, 0, 0, 0, 0}, {192, 768, 1290, 0, 0, 0, 0}, {8, 512, 1287, 4403, 0, 0, 0}, {13260, 1280, 0, 0, 0, 0, 0}, {8, 64, 261, 0, 0, 0, 0}, {8, 514, 1282, 4454, 0, 0, 0}, {192, 783, 1295, 0, 0, 0, 0}, {128, 1360, 4896, 0, 0, 0, 0}, {819, 72, 1309, 4369, 0, 0, 0}, {136, 1370, 4386, 0, 0, 0, 0}, {819, 64, 1311, 4128, 0, 0, 0}, {828, 72, 1304, 4364, 0, 0, 0}, {128, 1365, 4991, 0, 0, 0, 0}, {828, 64, 1306, 4144, 0, 0, 0}, {136, 1375, 4471, 0, 0, 0, 0}, {136, 1360, 4352, 0, 0, 0, 0}, {819, 64, 1301, 4096, 0, 0, 0}, {128, 1370, 4864, 0, 0, 0, 0}, {819, 72, 1303, 4403, 0, 0, 0}, {828, 64, 1296, 4112, 0, 0, 0}, {136, 1365, 4437, 0, 0, 0, 0}, {828, 72, 1298, 4398, 0, 0, 0}, {128, 1375, 4959, 0, 0, 0, 0}, {768, 64, 1312, 4128, 0, 0, 0}, {136, 1325, 4369, 0, 0, 0, 0}, {768, 72, 1314, 4386, 0, 0, 0}, {128, 1327, 4883, 0, 0, 0, 0}, {136, 1320, 4420, 0, 0, 0, 0}, {783, 64, 1317, 4144, 0, 0, 0}, {128, 1322, 4940, 0, 0, 0, 0}, {783, 72, 1319, 4415, 0, 0, 0}, {768, 72, 1320, 4352, 0, 0, 0}, {128, 1317, 4915, 0, 0, 0, 0}, {768, 64, 1322, 4096, 0, 0, 0}, {136, 1319, 4403, 0, 0, 0, 0}, {128, 1312, 4972, 0, 0, 0, 0}, {783, 72, 1325, 4381, 0, 0, 0}, {136, 1314, 4454, 0, 0, 0, 0}, {783, 64, 1327, 4112, 0, 0, 0}, {1520, 2560, 13056, 21760, 0, 0, 0}, {8, 305, 514, 64, 1028, 4369, 0}, {8, 514, 1394, 4386, 0, 0, 0}, {192, 819, 1343, 0, 0, 0, 0}, {8, 308, 512, 64, 1028, 4356, 0}, {1525, 2570, 13834, 21845, 0, 0, 0}, {192, 828, 1338, 0, 0, 0, 0}, {8, 512, 1399, 4471, 0, 0, 0}, {8, 512, 1392, 4352, 0, 0, 0}, {192, 819, 1333, 0, 0, 0, 0}, {1530, 2570, 13056, 20560, 0, 0, 0}, {8, 307, 512, 64, 1028, 4096, 0}, {192, 828, 1328, 0, 0, 0, 0}, {8, 514, 1397, 4437, 0, 0, 0}, {8, 310, 514, 64, 1028, 4112, 0}, {1535, 2560, 13824, 20480, 0, 0, 0}, {2560, 24576, 0, 0, 0, 0, 0}, {51, 7, 257, 0, 0, 0, 0}, {8, 514, 16384, 0, 0, 0, 0}, {15, 51, 771, 1280, 0, 0, 0}, {8, 512, 68, 1028, 0, 0, 0}, {15, 12288, 1285, 0, 0, 0, 0}, {204, 1542, 0, 0, 0, 0, 0}, {512, 7, 4096, 0, 0, 0, 0}, {8, 512, 16384, 0, 0, 0, 0}, {15, 51, 771, 1285, 0, 0, 0}, {2570, 24736, 0, 0, 0, 0, 0}, {51, 7, 259, 0, 0, 0, 0}, {204, 1548, 0, 0, 0, 0, 0}, {514, 7, 4128, 0, 0, 0, 0}, {8, 514, 68, 1028, 0, 0, 0}, {15, 12288, 1280, 0, 0, 0, 0}, {2592, 112, 4112, 0, 0, 0, 0}, {51, 68, 1553, 4369, 0, 0, 0}, {2594, 120, 4626, 0, 0, 0, 0}, {51, 76, 1555, 4883, 0, 0, 0}, {60, 68, 1556, 4608, 0, 0, 0}, {2602, 127, 5397, 0, 0, 0, 0}, {60, 76, 1558, 4096, 0, 0, 0}, {2600, 119, 5911, 0, 0, 0, 0}, {2600, 120, 4656, 0, 0, 0, 0}, {51, 76, 1561, 4864, 0, 0, 0}, {2602, 112, 4144, 0, 0, 0, 0}, {51, 68, 1563, 4352, 0, 0, 0}, {60, 76, 1564, 4124, 0, 0, 0}, {2594, 119, 5951, 0, 0, 0, 0}, {60, 68, 1566, 4638, 0, 0, 0}, {2592, 127, 5439, 0, 0, 0, 0}, {128, 2592, 8224, 16384, 0, 0, 0}, {15, 51, 771, 68, 1297, 4369, 0}, {136, 2594, 8738, 16930, 0, 0, 0}, {15, 51, 771, 67, 1299, 4112, 0}, {8704, 68, 1572, 0, 0, 0, 0}, {15, 112, 1317, 4096, 0, 0, 0}, {8192, 76, 1574, 0, 0, 0, 0}, {15, 119, 1319, 4608, 0, 0, 0}, {136, 2600, 8704, 16936, 0, 0, 0}, {15, 51, 771, 67, 1302, 4099, 0}, {128, 2602, 8192, 16384, 0, 0, 0}, {15, 51, 771, 68, 1300, 4352, 0}, {8224, 76, 1580, 0, 0, 0, 0}, {15, 119, 1314, 4642, 0, 0, 0}, {8738, 68, 1582, 0, 0, 0, 0}, {15, 112, 1312, 4128, 0, 0, 0}, {240, 2560, 12336, 20480, 0, 0, 0}, {8, 51, 514, 68, 1024, 4369, 0}, {8, 514, 112, 4112, 0, 0, 0}, {51, 1536, 0, 0, 0, 0, 0}, {8, 52, 512, 68, 1024, 4096, 0}, {255, 2570, 13621, 21845, 0, 0, 0}, {60, 1546, 0, 0, 0, 0, 0}, {8, 512, 119, 5431, 0, 0, 0}, {8, 512, 112, 4144, 0, 0, 0}, {51, 1546, 0, 0, 0, 0, 0}, {240, 2570, 12336, 20560, 0, 0, 0}, {8, 51, 512, 68, 1024, 4352, 0}, {60, 1536, 0, 0, 0, 0, 0}, {8, 514, 119, 5397, 0, 0, 0}, {8, 52, 514, 68, 1024, 4116, 0}, {255, 2560, 13631, 21760, 0, 0, 0}, {128, 2560, 8192, 16448, 0, 0, 0}, {15, 51, 768, 68, 1285, 4369, 0}, {136, 2570, 8738, 16962, 0, 0, 0}, {15, 51, 768, 67, 1280, 4096, 0}, {8704, 68, 1536, 0, 0, 0, 0}, {15, 112, 1285, 4112, 0, 0, 0}, {8224, 76, 1546, 0, 0, 0, 0}, {15, 119, 1280, 4656, 0, 0, 0}, {136, 2560, 8704, 16968, 0, 0, 0}, {15, 51, 768, 67, 1285, 4115, 0}, {128, 2570, 8224, 16448, 0, 0, 0}, {15, 51, 768, 68, 1280, 4352, 0}, {8192, 76, 1536, 0, 0, 0, 0}, {15, 119, 1285, 4626, 0, 0, 0}, {8738, 68, 1546, 0, 0, 0, 0}, {15, 112, 1280, 4144, 0, 0, 0}, {240, 2640, 12288, 20560, 0, 0, 0}, {8, 51, 529, 68, 1028, 4369, 0}, {8, 546, 112, 4096, 0, 0, 0}, {51, 1619, 0, 0, 0, 0, 0}, {8, 52, 532, 68, 1028, 4112, 0}, {255, 2645, 13653, 21845, 0, 0, 0}, {60, 1622, 0, 0, 0, 0, 0}, {8, 544, 119, 5376, 0, 0, 0}, {8, 544, 112, 4128, 0, 0, 0}, {51, 1625, 0, 0, 0, 0, 0}, {240, 2650, 12288, 20480, 0, 0, 0}, {8, 51, 531, 68, 1028, 4352, 0}, {60, 1628, 0, 0, 0, 0, 0}, {8, 546, 119, 5410, 0, 0, 0}, {8, 52, 534, 68, 1028, 4100, 0}, {255, 2655, 13663, 21760, 0, 0, 0}, {2720, 24672, 0, 0, 0, 0, 0}, {51, 7, 273, 0, 0, 0, 0}, {8, 546, 16448, 0, 0, 0, 0}, {15, 51, 768, 1360, 0, 0, 0}, {8, 544, 68, 1024, 0, 0, 0}, {15, 12336, 1365, 0, 0, 0, 0}, {204, 1638, 0, 0, 0, 0, 0}, {544, 7, 4112, 0, 0, 0, 0}, {8, 544, 16448, 0, 0, 0, 0}, {15, 51, 768, 1365, 0, 0, 0}, {2730, 24768, 0, 0, 0, 0, 0}, {51, 7, 275, 0, 0, 0, 0}, {204, 1644, 0, 0, 0, 0, 0}, {546, 7, 4144, 0, 0, 0, 0}, {8, 546, 68, 1024, 0, 0, 0}, {15, 12336, 1360, 0, 0, 0, 0}, {2560, 112, 4096, 0, 0, 0, 0}, {51, 68, 1542, 4369, 0, 0, 0}, {2570, 120, 4642, 0, 0, 0, 0}, {51, 76, 1548, 4864, 0, 0, 0}, {60, 68, 1548, 4620, 0, 0, 0}, {2570, 127, 5418, 0, 0, 0, 0}, {60, 76, 1542, 4112, 0, 0, 0}, {2560, 119, 5888, 0, 0, 0, 0}, {2560, 120, 4608, 0, 0, 0, 0}, {51, 76, 1542, 4883, 0, 0, 0}, {2570, 112, 4128, 0, 0, 0, 0}, {51, 68, 1548, 4352, 0, 0, 0}, {60, 76, 1548, 4108, 0, 0, 0}, {2570, 119, 5928, 0, 0, 0, 0}, {60, 68, 1542, 4626, 0, 0, 0}, {2560, 127, 5376, 0, 0, 0, 0}, {128, 2560, 8192, 16384, 0, 0, 0}, {15, 51, 771, 68, 1285, 4369, 0}, {136, 2570, 8738, 16906, 0, 0, 0}, {15, 51, 771, 67, 1280, 4099, 0}, {8704, 68, 1548, 0, 0, 0, 0}, {15, 112, 1285, 4128, 0, 0, 0}, {8224, 76, 1542, 0, 0, 0, 0}, {15, 119, 1280, 4608, 0, 0, 0}, {136, 2560, 8704, 16896, 0, 0, 0}, {15, 51, 771, 67, 1285, 4112, 0}, {128, 2570, 8224, 16384, 0, 0, 0}, {15, 51, 771, 68, 1280, 4352, 0}, {8192, 76, 1548, 0, 0, 0, 0}, {15, 119, 1285, 4642, 0, 0, 0}, {8738, 68, 1542, 0, 0, 0, 0}, {15, 112, 1280, 4096, 0, 0, 0}, {240, 2640, 12336, 20560, 0, 0, 0}, {8, 51, 529, 68, 1024, 4369, 0}, {8, 546, 112, 4144, 0, 0, 0}, {51, 1631, 0, 0, 0, 0, 0}, {8, 52, 532, 68, 1024, 4116, 0}, {255, 2645, 13674, 21845, 0, 0, 0}, {60, 1626, 0, 0, 0, 0, 0}, {8, 544, 119, 5431, 0, 0, 0}, {8, 544, 112, 4112, 0, 0, 0}, {51, 1621, 0, 0, 0, 0, 0}, {240, 2650, 12336, 20480, 0, 0, 0}, {8, 51, 531, 68, 1024, 4352, 0}, {60, 1616, 0, 0, 0, 0, 0}, {8, 546, 119, 5397, 0, 0, 0}, {8, 52, 534, 68, 1024, 4096, 0}, {255, 2655, 13664, 21760, 0, 0, 0}, {2720, 24736, 0, 0, 0, 0, 0}, {51, 7, 274, 0, 0, 0, 0}, {8, 546, 16384, 0, 0, 0, 0}, {15, 51, 771, 1360, 0, 0, 0}, {8, 544, 68, 1028, 0, 0, 0}, {15, 12288, 1365, 0, 0, 0, 0}, {204, 1642, 0, 0, 0, 0, 0}, {544, 7, 4128, 0, 0, 0, 0}, {8, 544, 16384, 0, 0, 0, 0}, {15, 51, 771, 1365, 0, 0, 0}, {2730, 24576, 0, 0, 0, 0, 0}, {51, 7, 272, 0, 0, 0, 0}, {204, 1632, 0, 0, 0, 0, 0}, {546, 7, 4096, 0, 0, 0, 0}, {8, 546, 68, 1028, 0, 0, 0}, {15, 12288, 1360, 0, 0, 0, 0}, {2560, 112, 4144, 0, 0, 0, 0}, {51, 68, 1546, 4369, 0, 0, 0}, {2570, 120, 4626, 0, 0, 0, 0}, {51, 76, 1536, 4864, 0, 0, 0}, {60, 68, 1536, 4608, 0, 0, 0}, {2570, 127, 5397, 0, 0, 0, 0}, {60, 76, 1546, 4124, 0, 0, 0}, {2560, 119, 5951, 0, 0, 0, 0}, {2560, 120, 4656, 0, 0, 0, 0}, {51, 76, 1546, 4883, 0, 0, 0}, {2570, 112, 4112, 0, 0, 0, 0}, {51, 68, 1536, 4352, 0, 0, 0}, {60, 76, 1536, 4096, 0, 0, 0}, {2570, 119, 5911, 0, 0, 0, 0}, {60, 68, 1546, 4638, 0, 0, 0}, {2560, 127, 5439, 0, 0, 0, 0}, {2560, 24768, 0, 0, 0, 0, 0}, {51, 7, 258, 0, 0, 0, 0}, {8, 514, 16448, 0, 0, 0, 0}, {15, 51, 768, 1280, 0, 0, 0}, {8, 512, 68, 1024, 0, 0, 0}, {15, 12336, 1285, 0, 0, 0, 0}, {204, 1546, 0, 0, 0, 0, 0}, {512, 7, 4144, 0, 0, 0, 0}, {8, 512, 16448, 0, 0, 0, 0}, {15, 51, 768, 1285, 0, 0, 0}, {2570, 24672, 0, 0, 0, 0, 0}, {51, 7, 256, 0, 0, 0, 0}, {204, 1536, 0, 0, 0, 0, 0}, {514, 7, 4112, 0, 0, 0, 0}, {8, 514, 68, 1024, 0, 0, 0}, {15, 12336, 1280, 0, 0, 0, 0}, {2592, 112, 4128, 0, 0, 0, 0}, {51, 68, 1565, 4369, 0, 0, 0}, {2594, 120, 4642, 0, 0, 0, 0}, {51, 76, 1567, 4883, 0, 0, 0}, {60, 68, 1560, 4620, 0, 0, 0}, {2602, 127, 5418, 0, 0, 0, 0}, {60, 76, 1562, 4108, 0, 0, 0}, {2600, 119, 5928, 0, 0, 0, 0}, {2600, 120, 4608, 0, 0, 0, 0}, {51, 76, 1557, 4864, 0, 0, 0}, {2602, 112, 4096, 0, 0, 0, 0}, {51, 68, 1559, 4352, 0, 0, 0}, {60, 76, 1552, 4112, 0, 0, 0}, {2594, 119, 5888, 0, 0, 0, 0}, {60, 68, 1554, 4626, 0, 0, 0}, {2592, 127, 5376, 0, 0, 0, 0}, {128, 2592, 8224, 16448, 0, 0, 0}, {15, 51, 768, 68, 1297, 4369, 0}, {136, 2594, 8738, 17002, 0, 0, 0}, {15, 51, 768, 67, 1299, 4115, 0}, {8704, 68, 1576, 0, 0, 0, 0}, {15, 112, 1317, 4144, 0, 0, 0}, {8192, 76, 1578, 0, 0, 0, 0}, {15, 119, 1319, 4656, 0, 0, 0}, {136, 2600, 8704, 16992, 0, 0, 0}, {15, 51, 768, 67, 1302, 4096, 0}, {128, 2602, 8192, 16448, 0, 0, 0}, {15, 51, 768, 68, 1300, 4352, 0}, {8224, 76, 1568, 0, 0, 0, 0}, {15, 119, 1314, 4626, 0, 0, 0}, {8738, 68, 1570, 0, 0, 0, 0}, {15, 112, 1312, 4112, 0, 0, 0}, {240, 2560, 12288, 20480, 0, 0, 0}, {8, 51, 514, 68, 1028, 4369, 0}, {8, 514, 112, 4128, 0, 0, 0}, {51, 1548, 0, 0, 0, 0, 0}, {8, 52, 512, 68, 1028, 4100, 0}, {255, 2570, 13578, 21845, 0, 0, 0}, {60, 1542, 0, 0, 0, 0, 0}, {8, 512, 119, 5376, 0, 0, 0}, {8, 512, 112, 4096, 0, 0, 0}, {51, 1542, 0, 0, 0, 0, 0}, {240, 2570, 12288, 20560, 0, 0, 0}, {8, 51, 512, 68, 1028, 4352, 0}, {60, 1548, 0, 0, 0, 0, 0}, {8, 514, 119, 5410, 0, 0, 0}, {8, 52, 514, 68, 1028, 4112, 0}, {255, 2560, 13568, 21760, 0, 0, 0}, {13056, 1792, 0, 0, 0, 0, 0}, {10, 96, 257, 0, 0, 0, 0}, {10, 514, 1280, 4386, 0, 0, 0}, {192, 771, 1036, 0, 0, 0, 0}, {192, 780, 1028, 0, 0, 0, 0}, {10, 512, 1285, 4437, 0, 0, 0}, {10, 96, 262, 0, 0, 0, 0}, {13311, 1799, 0, 0, 0, 0, 0}, {13056, 1800, 0, 0, 0, 0, 0}, {10, 96, 259, 0, 0, 0, 0}, {10, 512, 1280, 4352, 0, 0, 0}, {192, 771, 1028, 0, 0, 0, 0}, {192, 780, 1036, 0, 0, 0, 0}, {10, 514, 1285, 4471, 0, 0, 0}, {10, 96, 260, 0, 0, 0, 0}, {13311, 1807, 0, 0, 0, 0, 0}, {816, 96, 1056, 4112, 0, 0, 0}, {170, 1911, 4369, 0, 0, 0, 0}, {816, 106, 1058, 4386, 0, 0, 0}, {160, 1919, 4883, 0, 0, 0, 0}, {160, 1912, 4972, 0, 0, 0, 0}, {831, 106, 1066, 4415, 0, 0, 0}, {170, 1904, 4454, 0, 0, 0, 0}, {831, 96, 1064, 4096, 0, 0, 0}, {816, 96, 1064, 4144, 0, 0, 0}, {170, 1919, 4403, 0, 0, 0, 0}, {816, 106, 1066, 4352, 0, 0, 0}, {160, 1911, 4915, 0, 0, 0, 0}, {160, 1904, 4940, 0, 0, 0, 0}, {831, 106, 1058, 4381, 0, 0, 0}, {170, 1912, 4420, 0, 0, 0, 0}, {831, 96, 1056, 4128, 0, 0, 0}, {160, 1824, 4896, 0, 0, 0, 0}, {771, 106, 1070, 4369, 0, 0, 0}, {170, 1826, 4386, 0, 0, 0, 0}, {771, 96, 1068, 4112, 0, 0, 0}, {780, 96, 1060, 4096, 0, 0, 0}, {170, 1829, 4437, 0, 0, 0, 0}, {780, 106, 1062, 4364, 0, 0, 0}, {160, 1831, 4959, 0, 0, 0, 0}, {160, 1832, 4864, 0, 0, 0, 0}, {771, 106, 1062, 4403, 0, 0, 0}, {170, 1834, 4352, 0, 0, 0, 0}, {771, 96, 1060, 4144, 0, 0, 0}, {780, 96, 1068, 4128, 0, 0, 0}, {170, 1837, 4471, 0, 0, 0, 0}, {780, 106, 1070, 4398, 0, 0, 0}, {160, 1839, 4991, 0, 0, 0, 0}, {192, 816, 1024, 0, 0, 0, 0}, {10, 514, 1365, 4369, 0, 0, 0}, {10, 306, 514, 338, 1026, 4112, 0}, {2047, 2048, 13107, 17203, 0, 0, 0}, {2040, 2056, 13364, 17476, 0, 0, 0}, {10, 309, 512, 341, 1024, 4096, 0}, {10, 512, 1360, 4454, 0, 0, 0}, {192, 831, 1032, 0, 0, 0, 0}, {192, 816, 1032, 0, 0, 0, 0}, {10, 512, 1365, 4403, 0, 0, 0}, {10, 304, 512, 336, 1024, 4352, 0}, {2039, 2056, 13107, 17476, 0, 0, 0}, {2032, 2048, 13372, 17212, 0, 0, 0}, {10, 311, 514, 343, 1026, 4375, 0}, {10, 514, 1360, 4420, 0, 0, 0}, {192, 831, 1024, 0, 0, 0, 0}, {192, 768, 1088, 0, 0, 0, 0}, {10, 546, 1285, 4369, 0, 0, 0}, {10, 290, 768, 322, 1280, 4096, 0}, {1935, 3855, 13107, 17219, 0, 0, 0}, {1928, 3840, 13380, 17476, 0, 0, 0}, {10, 293, 773, 325, 1285, 4112, 0}, {10, 544, 1280, 4454, 0, 0, 0}, {192, 783, 1096, 0, 0, 0, 0}, {192, 768, 1096, 0, 0, 0, 0}, {10, 544, 1285, 4403, 0, 0, 0}, {10, 288, 768, 320, 1280, 4352, 0}, {1927, 3855, 13107, 17476, 0, 0, 0}, {1920, 3840, 13388, 17228, 0, 0, 0}, {10, 295, 773, 327, 1285, 4375, 0}, {10, 546, 1280, 4420, 0, 0, 0}, {192, 783, 1088, 0, 0, 0, 0}, {160, 1872, 4864, 0, 0, 0, 0}, {819, 106, 1028, 4369, 0, 0, 0}, {170, 1874, 4386, 0, 0, 0, 0}, {819, 96, 1036, 4096, 0, 0, 0}, {828, 96, 1028, 4112, 0, 0, 0}, {170, 1877, 4437, 0, 0, 0, 0}, {828, 106, 1036, 4364, 0, 0, 0}, {160, 1879, 4991, 0, 0, 0, 0}, {160, 1880, 4896, 0, 0, 0, 0}, {819, 106, 1036, 4403, 0, 0, 0}, {170, 1882, 4352, 0, 0, 0, 0}, {819, 96, 1028, 4128, 0, 0, 0}, {828, 96, 1036, 4144, 0, 0, 0}, {170, 1885, 4471, 0, 0, 0, 0}, {828, 106, 1028, 4398, 0, 0, 0}, {160, 1887, 4959, 0, 0, 0, 0}, {768, 96, 1024, 4096, 0, 0, 0}, {170, 1799, 4369, 0, 0, 0, 0}, {768, 106, 1032, 4386, 0, 0, 0}, {160, 1807, 4915, 0, 0, 0, 0}, {160, 1800, 4940, 0, 0, 0, 0}, {783, 106, 1024, 4415, 0, 0, 0}, {170, 1792, 4454, 0, 0, 0, 0}, {783, 96, 1032, 4112, 0, 0, 0}, {768, 96, 1032, 4128, 0, 0, 0}, {170, 1807, 4403, 0, 0, 0, 0}, {768, 106, 1024, 4352, 0, 0, 0}, {160, 1799, 4883, 0, 0, 0, 0}, {160, 1792, 4972, 0, 0, 0, 0}, {783, 106, 1032, 4381, 0, 0, 0}, {170, 1800, 4420, 0, 0, 0, 0}, {783, 96, 1024, 4144, 0, 0, 0}, {13056, 1904, 0, 0, 0, 0, 0}, {10, 96, 273, 0, 0, 0, 0}, {10, 546, 1360, 4386, 0, 0, 0}, {192, 819, 1100, 0, 0, 0, 0}, {192, 828, 1092, 0, 0, 0, 0}, {10, 544, 1365, 4437, 0, 0, 0}, {10, 96, 278, 0, 0, 0, 0}, {13311, 1911, 0, 0, 0, 0, 0}, {13056, 1912, 0, 0, 0, 0, 0}, {10, 96, 275, 0, 0, 0, 0}, {10, 544, 1360, 4352, 0, 0, 0}, {192, 819, 1092, 0, 0, 0, 0}, {192, 828, 1100, 0, 0, 0, 0}, {10, 546, 1365, 4471, 0, 0, 0}, {10, 96, 276, 0, 0, 0, 0}, {13311, 1919, 0, 0, 0, 0, 0}, {1920, 3840, 13056, 17408, 0, 0, 0}, {10, 289, 771, 321, 1285, 4369, 0}, {10, 546, 1280, 4386, 0, 0, 0}, {192, 771, 1100, 0, 0, 0, 0}, {192, 780, 1092, 0, 0, 0, 0}, {10, 544, 1285, 4437, 0, 0, 0}, {10, 294, 774, 326, 1280, 4358, 0}, {1927, 3855, 13432, 17167, 0, 0, 0}, {1928, 3840, 13056, 17152, 0, 0, 0}, {10, 291, 771, 323, 1285, 4112, 0}, {10, 544, 1280, 4352, 0, 0, 0}, {192, 771, 1092, 0, 0, 0, 0}, {192, 780, 1100, 0, 0, 0, 0}, {10, 546, 1285, 4471, 0, 0, 0}, {10, 292, 774, 324, 1280, 4096, 0}, {1935, 3855, 13424, 17408, 0, 0, 0}, {816, 96, 1024, 4144, 0, 0, 0}, {170, 1885, 4369, 0, 0, 0, 0}, {816, 106, 1032, 4386, 0, 0, 0}, {160, 1887, 4915, 0, 0, 0, 0}, {160, 1880, 4940, 0, 0, 0, 0}, {831, 106, 1024, 4415, 0, 0, 0}, {170, 1882, 4454, 0, 0, 0, 0}, {831, 96, 1032, 4128, 0, 0, 0}, {816, 96, 1032, 4112, 0, 0, 0}, {170, 1877, 4403, 0, 0, 0, 0}, {816, 106, 1024, 4352, 0, 0, 0}, {160, 1879, 4883, 0, 0, 0, 0}, {160, 1872, 4972, 0, 0, 0, 0}, {831, 106, 1032, 4381, 0, 0, 0}, {170, 1874, 4420, 0, 0, 0, 0}, {831, 96, 1024, 4096, 0, 0, 0}, {160, 1792, 4864, 0, 0, 0, 0}, {771, 106, 1028, 4369, 0, 0, 0}, {170, 1800, 4386, 0, 0, 0, 0}, {771, 96, 1036, 4144, 0, 0, 0}, {780, 96, 1028, 4128, 0, 0, 0}, {170, 1807, 4437, 0, 0, 0, 0}, {780, 106, 1036, 4364, 0, 0, 0}, {160, 1799, 4991, 0, 0, 0, 0}, {160, 1800, 4896, 0, 0, 0, 0}, {771, 106, 1036, 4403, 0, 0, 0}, {170, 1792, 4352, 0, 0, 0, 0}, {771, 96, 1028, 4112, 0, 0, 0}, {780, 96, 1036, 4096, 0, 0, 0}, {170, 1799, 4471, 0, 0, 0, 0}, {780, 106, 1028, 4398, 0, 0, 0}, {160, 1807, 4959, 0, 0, 0, 0}, {192, 816, 1088, 0, 0, 0, 0}, {10, 546, 1365, 4369, 0, 0, 0}, {10, 96, 274, 0, 0, 0, 0}, {13107, 1919, 0, 0, 0, 0, 0}, {13260, 1912, 0, 0, 0, 0, 0}, {10, 96, 277, 0, 0, 0, 0}, {10, 544, 1360, 4454, 0, 0, 0}, {192, 831, 1096, 0, 0, 0, 0}, {192, 816, 1096, 0, 0, 0, 0}, {10, 544, 1365, 4403, 0, 0, 0}, {10, 96, 272, 0, 0, 0, 0}, {13107, 1911, 0, 0, 0, 0, 0}, {13260, 1904, 0, 0, 0, 0, 0}, {10, 96, 279, 0, 0, 0, 0}, {10, 546, 1360, 4420, 0, 0, 0}, {192, 831, 1088, 0, 0, 0, 0}, {192, 768, 1024, 0, 0, 0, 0}, {10, 514, 1285, 4369, 0, 0, 0}, {10, 96, 258, 0, 0, 0, 0}, {13107, 1807, 0, 0, 0, 0, 0}, {13260, 1800, 0, 0, 0, 0, 0}, {10, 96, 261, 0, 0, 0, 0}, {10, 512, 1280, 4454, 0, 0, 0}, {192, 783, 1032, 0, 0, 0, 0}, {192, 768, 1032, 0, 0, 0, 0}, {10, 512, 1285, 4403, 0, 0, 0}, {10, 96, 256, 0, 0, 0, 0}, {13107, 1799, 0, 0, 0, 0, 0}, {13260, 1792, 0, 0, 0, 0, 0}, {10, 96, 263, 0, 0, 0, 0}, {10, 514, 1280, 4420, 0, 0, 0}, {192, 783, 1024, 0, 0, 0, 0}, {160, 1904, 4896, 0, 0, 0, 0}, {819, 106, 1070, 4369, 0, 0, 0}, {170, 1912, 4386, 0, 0, 0, 0}, {819, 96, 1068, 4128, 0, 0, 0}, {828, 96, 1060, 4144, 0, 0, 0}, {170, 1919, 4437, 0, 0, 0, 0}, {828, 106, 1062, 4364, 0, 0, 0}, {160, 1911, 4959, 0, 0, 0, 0}, {160, 1912, 4864, 0, 0, 0, 0}, {819, 106, 1062, 4403, 0, 0, 0}, {170, 1904, 4352, 0, 0, 0, 0}, {819, 96, 1060, 4096, 0, 0, 0}, {828, 96, 1068, 4112, 0, 0, 0}, {170, 1911, 4471, 0, 0, 0, 0}, {828, 106, 1070, 4398, 0, 0, 0}, {160, 1919, 4991, 0, 0, 0, 0}, {768, 96, 1056, 4128, 0, 0, 0}, {170, 1837, 4369, 0, 0, 0, 0}, {768, 106, 1058, 4386, 0, 0, 0}, {160, 1839, 4883, 0, 0, 0, 0}, {160, 1832, 4972, 0, 0, 0, 0}, {783, 106, 1066, 4415, 0, 0, 0}, {170, 1834, 4454, 0, 0, 0, 0}, {783, 96, 1064, 4144, 0, 0, 0}, {768, 96, 1064, 4096, 0, 0, 0}, {170, 1829, 4403, 0, 0, 0, 0}, {768, 106, 1066, 4352, 0, 0, 0}, {160, 1831, 4915, 0, 0, 0, 0}, {160, 1824, 4940, 0, 0, 0, 0}, {783, 106, 1058, 4381, 0, 0, 0}, {170, 1826, 4420, 0, 0, 0, 0}, {783, 96, 1056, 4112, 0, 0, 0}, {2032, 2048, 13056, 17408, 0, 0, 0}, {10, 305, 514, 337, 1028, 4369, 0}, {10, 514, 1360, 4386, 0, 0, 0}, {192, 819, 1036, 0, 0, 0, 0}, {192, 828, 1028, 0, 0, 0, 0}, {10, 512, 1365, 4437, 0, 0, 0}, {10, 310, 512, 342, 1030, 4358, 0}, {2039, 2056, 13320, 17279, 0, 0, 0}, {2040, 2056, 13056, 17264, 0, 0, 0}, {10, 307, 512, 339, 1030, 4096, 0}, {10, 512, 1360, 4352, 0, 0, 0}, {192, 819, 1028, 0, 0, 0, 0}, {192, 828, 1036, 0, 0, 0, 0}, {10, 514, 1365, 4471, 0, 0, 0}, {10, 308, 514, 340, 1028, 4112, 0}, {2047, 2048, 13312, 17408, 0, 0, 0}, {52224, 0, 0, 0, 0, 0, 0}, {2, 5, 16, 257, 0, 0, 0}, {2, 17408, 0, 0, 0, 0, 0}, {15, 48, 771, 0, 0, 0, 0}, {8, 64, 1028, 0, 0, 0, 0}, {13056, 5, 0, 0, 0, 0, 0}, {10, 96, 1542, 0, 0, 0, 0}, {13056, 7, 0, 0, 0, 0, 0}, {8, 17408, 0, 0, 0, 0, 0}, {48, 771, 5, 0, 0, 0, 0}, {10, 26112, 0, 0, 0, 0, 0}, {48, 771, 7, 0, 0, 0, 0}, {192, 3084, 0, 0, 0, 0, 0}, {2, 5, 4352, 0, 0, 0, 0}, {2, 64, 1028, 0, 0, 0, 0}, {15, 13056, 0, 0, 0, 0, 0}, {3072, 16, 0, 0, 0, 0, 0}, {34, 85, 4369, 0, 0, 0, 0}, {3072, 18, 0, 0, 0, 0, 0}, {32, 95, 4883, 0, 0, 0, 0}, {40, 80, 5140, 0, 0, 0, 0}, {3072, 21, 0, 0, 0, 0, 0}, {42, 90, 5654, 0, 0, 0, 0}, {3072, 23, 0, 0, 0, 0, 0}, {24, 48, 80, 5120, 0, 0, 0}, {6425, 42, 85, 0, 0, 0, 0}, {26, 48, 64, 5632, 0, 0, 0}, {6939, 40, 95, 0, 0, 0, 0}, {7196, 32, 80, 0, 0, 0, 0}, {29, 34, 85, 4352, 0, 0, 0}, {7710, 34, 90, 0, 0, 0, 0}, {31, 32, 64, 4864, 0, 0, 0}, {32, 19456, 0, 0, 0, 0, 0}, {15, 771, 18, 0, 0, 0, 0}, {34, 17408, 0, 0, 0, 0, 0}, {15, 771, 16, 0, 0, 0, 0}, {3084, 40, 72, 0, 0, 0, 0}, {15, 37, 85, 5632, 0, 0, 0}, {3084, 42, 64, 0, 0, 0, 0}, {15, 39, 80, 5120, 0, 0, 0}, {40, 17408, 0, 0, 0, 0, 0}, {15, 771, 21, 0, 0, 0, 0}, {42, 19456, 0, 0, 0, 0, 0}, {15, 771, 23, 0, 0, 0, 0}, {3084, 32, 64, 0, 0, 0, 0}, {15, 34, 85, 4352, 0, 0, 0}, {3084, 34, 72, 0, 0, 0, 0}, {15, 32, 80, 4864, 0, 0, 0}, {3072, 48, 0, 0, 0, 0, 0}, {2, 85, 4369, 0, 0, 0, 0}, {2, 1024, 16, 0, 0, 0, 0}, {255, 13107, 0, 0, 0, 0, 0}, {8, 13364, 112, 0, 0, 0, 0}, {10, 53, 85, 1536, 0, 0, 0}, {10, 13878, 80, 0, 0, 0, 0}, {8, 55, 64, 1024, 0, 0, 0}, {8, 48, 64, 1024, 0, 0, 0}, {10, 13107, 85, 0, 0, 0, 0}, {10, 48, 80, 1536, 0, 0, 0}, {8, 13107, 119, 0, 0, 0, 0}, {240, 15420, 0, 0, 0, 0, 0}, {2, 1024, 21, 0, 0, 0, 0}, {2, 80, 5140, 0, 0, 0, 0}, {3072, 63, 0, 0, 0, 0, 0}, {3072, 64, 0, 0, 0, 0, 0}, {34, 5, 4369, 0, 0, 0, 0}, {10, 34, 66, 1536, 0, 0, 0}, {15, 13107, 112, 0, 0, 0, 0}, {136, 17476, 0, 0, 0, 0, 0}, {768, 5, 16, 0, 0, 0, 0}, {10, 32, 17990, 0, 0, 0, 0}, {15, 48, 768, 71, 0, 0, 0}, {3072, 72, 0, 0, 0, 0, 0}, {32, 5, 4883, 0, 0, 0, 0}, {10, 32, 64, 1536, 0, 0, 0}, {15, 13107, 119, 0, 0, 0, 0}, {128, 19532, 0, 0, 0, 0, 0}, {768, 5, 18, 0, 0, 0, 0}, {10, 34, 17476, 0, 0, 0, 0}, {15, 48, 768, 64, 0, 0, 0}, {15360, 80, 0, 0, 0, 0, 0}, {8, 1028, 21, 0, 0, 0, 0}, {8, 34, 82, 5632, 0, 0, 0}, {3084, 63, 95, 0, 0, 0, 0}, {8, 1028, 16, 0, 0, 0, 0}, {13056, 85, 0, 0, 0, 0, 0}, {3084, 48, 90, 0, 0, 0, 0}, {8, 32, 87, 4864, 0, 0, 0}, {8, 32, 80, 5120, 0, 0, 0}, {3084, 63, 85, 0, 0, 0, 0}, {15360, 90, 0, 0, 0, 0, 0}, {8, 1028, 23, 0, 0, 0, 0}, {3084, 48, 80, 0, 0, 0, 0}, {8, 34, 85, 4352, 0, 0, 0}, {8, 1028, 18, 0, 0, 0, 0}, {13056, 95, 0, 0, 0, 0, 0}, {3072, 96, 0, 0, 0, 0, 0}, {34, 7, 4369, 0, 0, 0, 0}, {8, 34, 64, 1024, 0, 0, 0}, {15, 13107, 80, 0, 0, 0, 0}, {8, 32, 17476, 0, 0, 0, 0}, {15, 48, 768, 85, 0, 0, 0}, {170, 26214, 0, 0, 0, 0, 0}, {768, 7, 16, 0, 0, 0, 0}, {8, 32, 64, 1024, 0, 0, 0}, {15, 13107, 85, 0, 0, 0, 0}, {3072, 106, 0, 0, 0, 0, 0}, {32, 7, 4883, 0, 0, 0, 0}, {160, 27756, 0, 0, 0, 0, 0}, {768, 7, 18, 0, 0, 0, 0}, {8, 34, 17476, 0, 0, 0, 0}, {15, 48, 768, 80, 0, 0, 0}, {15360, 112, 0, 0, 0, 0, 0}, {10, 1542, 23, 0, 0, 0, 0}, {10, 34, 80, 5120, 0, 0, 0}, {3084, 63, 64, 0, 0, 0, 0}, {3084, 48, 72, 0, 0, 0, 0}, {10, 32, 85, 4864, 0, 0, 0}, {10, 1542, 16, 0, 0, 0, 0}, {13056, 119, 0, 0, 0, 0, 0}, {15360, 120, 0, 0, 0, 0, 0}, {10, 1542, 21, 0, 0, 0, 0}, {10, 32, 80, 5632, 0, 0, 0}, {3084, 63, 72, 0, 0, 0, 0}, {3084, 48, 64, 0, 0, 0, 0}, {10, 34, 85, 4352, 0, 0, 0}, {10, 1542, 18, 0, 0, 0, 0}, {13056, 127, 0, 0, 0, 0, 0}, {128, 19456, 0, 0, 0, 0, 0}, {771, 5, 18, 0, 0, 0, 0}, {10, 34, 17408, 0, 0, 0, 0}, {15, 48, 771, 64, 0, 0, 0}, {3084, 72, 0, 0, 0, 0, 0}, {32, 5, 4864, 0, 0, 0, 0}, {10, 32, 64, 1542, 0, 0, 0}, {15, 13056, 119, 0, 0, 0, 0}, {136, 17408, 0, 0, 0, 0, 0}, {771, 5, 16, 0, 0, 0, 0}, {10, 32, 17920, 0, 0, 0, 0}, {15, 48, 771, 71, 0, 0, 0}, {3084, 64, 0, 0, 0, 0, 0}, {34, 5, 4352, 0, 0, 0, 0}, {10, 34, 66, 1542, 0, 0, 0}, {15, 13056, 112, 0, 0, 0, 0}, {3072, 48, 80, 0, 0, 0, 0}, {8, 34, 85, 4369, 0, 0, 0}, {8, 1024, 18, 0, 0, 0, 0}, {13107, 95, 0, 0, 0, 0, 0}, {8, 32, 80, 5140, 0, 0, 0}, {3072, 63, 85, 0, 0, 0, 0}, {15420, 90, 0, 0, 0, 0, 0}, {8, 1024, 23, 0, 0, 0, 0}, {8, 1024, 16, 0, 0, 0, 0}, {13107, 85, 0, 0, 0, 0, 0}, {3072, 48, 90, 0, 0, 0, 0}, {8, 32, 87, 4883, 0, 0, 0}, {15420, 80, 0, 0, 0, 0, 0}, {8, 1024, 21, 0, 0, 0, 0}, {8, 34, 82, 5654, 0, 0, 0}, {3072, 63, 95, 0, 0, 0, 0}, {160, 27648, 0, 0, 0, 0, 0}, {771, 7, 18, 0, 0, 0, 0}, {8, 34, 17408, 0, 0, 0, 0}, {15, 48, 771, 80, 0, 0, 0}, {8, 32, 64, 1028, 0, 0, 0}, {15, 13056, 85, 0, 0, 0, 0}, {3084, 106, 0, 0, 0, 0, 0}, {32, 7, 4864, 0, 0, 0, 0}, {8, 32, 17408, 0, 0, 0, 0}, {15, 48, 771, 85, 0, 0, 0}, {170, 26112, 0, 0, 0, 0, 0}, {771, 7, 16, 0, 0, 0, 0}, {3084, 96, 0, 0, 0, 0, 0}, {34, 7, 4352, 0, 0, 0, 0}, {8, 34, 64, 1028, 0, 0, 0}, {15, 13056, 80, 0, 0, 0, 0}, {3072, 48, 64, 0, 0, 0, 0}, {10, 34, 85, 4369, 0, 0, 0}, {10, 1536, 18, 0, 0, 0, 0}, {13107, 127, 0, 0, 0, 0, 0}, {15420, 120, 0, 0, 0, 0, 0}, {10, 1536, 21, 0, 0, 0, 0}, {10, 32, 80, 5654, 0, 0, 0}, {3072, 63, 72, 0, 0, 0, 0}, {3072, 48, 72, 0, 0, 0, 0}, {10, 32, 85, 4883, 0, 0, 0}, {10, 1536, 16, 0, 0, 0, 0}, {13107, 119, 0, 0, 0, 0, 0}, {15420, 112, 0, 0, 0, 0, 0}, {10, 1536, 23, 0, 0, 0, 0}, {10, 34, 80, 5140, 0, 0, 0}, {3072, 63, 64, 0, 0, 0, 0}, {192, 3072, 0, 0, 0, 0, 0}, {2, 5, 4369, 0, 0, 0, 0}, {2, 64, 1024, 0, 0, 0, 0}, {15, 13107, 0, 0, 0, 0, 0}, {8, 17476, 0, 0, 0, 0, 0}, {48, 768, 5, 0, 0, 0, 0}, {10, 26214, 0, 0, 0, 0, 0}, {48, 768, 7, 0, 0, 0, 0}, {8, 64, 1024, 0, 0, 0, 0}, {13107, 5, 0, 0, 0, 0, 0}, {10, 96, 1536, 0, 0, 0, 0}, {13107, 7, 0, 0, 0, 0, 0}, {52428, 0, 0, 0, 0, 0, 0}, {2, 5, 16, 256, 0, 0, 0}, {2, 17476, 0, 0, 0, 0, 0}, {15, 48, 768, 0, 0, 0, 0}, {7168, 32, 80, 0, 0, 0, 0}, {29, 34, 85, 4369, 0, 0, 0}, {7680, 34, 90, 0, 0, 0, 0}, {31, 32, 64, 4883, 0, 0, 0}, {24, 48, 80, 5140, 0, 0, 0}, {6400, 42, 85, 0, 0, 0, 0}, {26, 48, 64, 5654, 0, 0, 0}, {6912, 40, 95, 0, 0, 0, 0}, {40, 80, 5120, 0, 0, 0, 0}, {3084, 21, 0, 0, 0, 0, 0}, {42, 90, 5632, 0, 0, 0, 0}, {3084, 23, 0, 0, 0, 0, 0}, {3084, 16, 0, 0, 0, 0, 0}, {34, 85, 4352, 0, 0, 0, 0}, {3084, 18, 0, 0, 0, 0, 0}, {32, 95, 4864, 0, 0, 0, 0}, {3072, 32, 64, 0, 0, 0, 0}, {15, 34, 85, 4369, 0, 0, 0}, {3072, 34, 72, 0, 0, 0, 0}, {15, 32, 80, 4883, 0, 0, 0}, {40, 17476, 0, 0, 0, 0, 0}, {15, 768, 21, 0, 0, 0, 0}, {42, 19532, 0, 0, 0, 0, 0}, {15, 768, 23, 0, 0, 0, 0}, {3072, 40, 72, 0, 0, 0, 0}, {15, 37, 85, 5654, 0, 0, 0}, {3072, 42, 64, 0, 0, 0, 0}, {15, 39, 80, 5140, 0, 0, 0}, {32, 19532, 0, 0, 0, 0, 0}, {15, 768, 18, 0, 0, 0, 0}, {34, 17476, 0, 0, 0, 0, 0}, {15, 768, 16, 0, 0, 0, 0}, {240, 15360, 0, 0, 0, 0, 0}, {2, 1028, 21, 0, 0, 0, 0}, {2, 80, 5120, 0, 0, 0, 0}, {3084, 63, 0, 0, 0, 0, 0}, {8, 48, 64, 1028, 0, 0, 0}, {10, 13056, 85, 0, 0, 0, 0}, {10, 48, 80, 1542, 0, 0, 0}, {8, 13056, 119, 0, 0, 0, 0}, {8, 13312, 112, 0, 0, 0, 0}, {10, 53, 85, 1542, 0, 0, 0}, {10, 13824, 80, 0, 0, 0, 0}, {8, 55, 64, 1028, 0, 0, 0}, {3084, 48, 0, 0, 0, 0, 0}, {2, 85, 4352, 0, 0, 0, 0}, {2, 1028, 16, 0, 0, 0, 0}, {255, 13056, 0, 0, 0, 0, 0}, {512, 1280, 4096, 0, 0, 0, 0}, {204, 257, 0, 0, 0, 0, 0}, {514, 1290, 4128, 0, 0, 0, 0}, {204, 259, 0, 0, 0, 0, 0}, {204, 260, 0, 0, 0, 0, 0}, {522, 1285, 4176, 0, 0, 0, 0}, {204, 262, 0, 0, 0, 0, 0}, {520, 1295, 4208, 0, 0, 0, 0}, {4224, 520, 1280, 0, 0, 0, 0}, {265, 771, 1285, 4437, 0, 0, 0}, {4256, 522, 1290, 0, 0, 0, 0}, {267, 771, 1028, 4471, 0, 0, 0}, {268, 512, 1280, 4352, 0, 0, 0}, {4304, 514, 1285, 0, 0, 0, 0}, {270, 514, 1028, 4386, 0, 0, 0}, {4336, 512, 1295, 0, 0, 0, 0}, {544, 1360, 4112, 0, 0, 0, 0}, {204, 273, 0, 0, 0, 0, 0}, {546, 1370, 4144, 0, 0, 0, 0}, {204, 275, 0, 0, 0, 0, 0}, {204, 276, 0, 0, 0, 0, 0}, {554, 1365, 4160, 0, 0, 0, 0}, {204, 278, 0, 0, 0, 0, 0}, {552, 1375, 4192, 0, 0, 0, 0}, {4240, 552, 1360, 0, 0, 0, 0}, {281, 819, 1365, 4437, 0, 0, 0}, {4272, 554, 1370, 0, 0, 0, 0}, {283, 819, 1092, 4471, 0, 0, 0}, {284, 544, 1360, 4352, 0, 0, 0}, {4288, 546, 1365, 0, 0, 0, 0}, {286, 546, 1092, 4386, 0, 0, 0}, {4320, 544, 1375, 0, 0, 0, 0}, {1440, 544, 4128, 0, 0, 0, 0}, {289, 771, 1096, 4369, 0, 0, 0}, {1450, 546, 4096, 0, 0, 0, 0}, {291, 771, 1088, 4112, 0, 0, 0}, {292, 780, 1096, 4420, 0, 0, 0}, {1445, 554, 4208, 0, 0, 0, 0}, {294, 780, 1088, 4160, 0, 0, 0}, {1455, 552, 4176, 0, 0, 0, 0}, {1440, 552, 5376, 0, 0, 0, 0}, {297, 771, 1088, 4437, 0, 0, 0}, {1450, 554, 5418, 0, 0, 0, 0}, {299, 771, 1096, 4188, 0, 0, 0}, {300, 780, 1088, 4352, 0, 0, 0}, {1445, 546, 5461, 0, 0, 0, 0}, {302, 780, 1096, 4108, 0, 0, 0}, {1455, 544, 5503, 0, 0, 0, 0}, {1520, 512, 4144, 0, 0, 0, 0}, {305, 514, 1032, 4369, 0, 0, 0}, {1530, 514, 4112, 0, 0, 0, 0}, {307, 512, 1024, 4096, 0, 0, 0}, {308, 520, 1032, 4420, 0, 0, 0}, {1525, 522, 4192, 0, 0, 0, 0}, {310, 522, 1024, 4176, 0, 0, 0}, {1535, 520, 4160, 0, 0, 0, 0}, {1520, 520, 5440, 0, 0, 0, 0}, {313, 522, 1024, 4437, 0, 0, 0}, {1530, 522, 5482, 0, 0, 0, 0}, {315, 520, 1032, 4172, 0, 0, 0}, {316, 512, 1024, 4352, 0, 0, 0}, {1525, 514, 5397, 0, 0, 0, 0}, {318, 514, 1032, 4124, 0, 0, 0}, {1535, 512, 5439, 0, 0, 0, 0}, {640, 1280, 4160, 0, 0, 0, 0}, {783, 321, 1285, 4369, 0, 0, 0}, {642, 1290, 4192, 0, 0, 0, 0}, {783, 323, 1295, 4403, 0, 0, 0}, {768, 324, 1280, 4096, 0, 0, 0}, {650, 1285, 4112, 0, 0, 0, 0}, {768, 326, 1290, 4128, 0, 0, 0}, {648, 1295, 4144, 0, 0, 0, 0}, {648, 1280, 4680, 0, 0, 0, 0}, {783, 329, 1285, 4124, 0, 0, 0}, {650, 1290, 4714, 0, 0, 0, 0}, {783, 331, 1295, 4156, 0, 0, 0}, {768, 332, 1280, 4352, 0, 0, 0}, {642, 1285, 4626, 0, 0, 0, 0}, {768, 334, 1290, 4386, 0, 0, 0}, {640, 1295, 4656, 0, 0, 0, 0}, {672, 1360, 4176, 0, 0, 0, 0}, {831, 337, 1028, 4369, 0, 0, 0}, {674, 1370, 4208, 0, 0, 0, 0}, {831, 339, 1036, 4403, 0, 0, 0}, {816, 340, 1028, 4112, 0, 0, 0}, {682, 1365, 4096, 0, 0, 0, 0}, {816, 342, 1036, 4144, 0, 0, 0}, {680, 1375, 4128, 0, 0, 0, 0}, {680, 1360, 4728, 0, 0, 0, 0}, {831, 345, 1036, 4108, 0, 0, 0}, {682, 1370, 4698, 0, 0, 0, 0}, {831, 347, 1028, 4140, 0, 0, 0}, {816, 348, 1036, 4352, 0, 0, 0}, {674, 1365, 4642, 0, 0, 0, 0}, {816, 350, 1028, 4386, 0, 0, 0}, {672, 1375, 4608, 0, 0, 0, 0}, {672, 1792, 4192, 0, 0, 0, 0}, {783, 353, 1032, 4369, 0, 0, 0}, {674, 1800, 4160, 0, 0, 0, 0}, {783, 355, 1024, 4403, 0, 0, 0}, {768, 356, 1032, 4128, 0, 0, 0}, {682, 1807, 4144, 0, 0, 0, 0}, {768, 358, 1024, 4096, 0, 0, 0}, {680, 1799, 4112, 0, 0, 0, 0}, {680, 1800, 4680, 0, 0, 0, 0}, {783, 361, 1024, 4156, 0, 0, 0}, {682, 1792, 4714, 0, 0, 0, 0}, {783, 363, 1032, 4124, 0, 0, 0}, {768, 364, 1024, 4352, 0, 0, 0}, {674, 1799, 4626, 0, 0, 0, 0}, {768, 366, 1032, 4386, 0, 0, 0}, {672, 1807, 4656, 0, 0, 0, 0}, {640, 1904, 4208, 0, 0, 0, 0}, {831, 369, 1337, 4369, 0, 0, 0}, {642, 1912, 4176, 0, 0, 0, 0}, {831, 371, 1331, 4403, 0, 0, 0}, {816, 372, 1340, 4144, 0, 0, 0}, {650, 1919, 4128, 0, 0, 0, 0}, {816, 374, 1334, 4112, 0, 0, 0}, {648, 1911, 4096, 0, 0, 0, 0}, {648, 1912, 4728, 0, 0, 0, 0}, {831, 377, 1337, 4140, 0, 0, 0}, {650, 1904, 4698, 0, 0, 0, 0}, {831, 379, 1331, 4108, 0, 0, 0}, {816, 380, 1340, 4352, 0, 0, 0}, {642, 1911, 4642, 0, 0, 0, 0}, {816, 382, 1334, 4386, 0, 0, 0}, {640, 1919, 4608, 0, 0, 0, 0}, {640, 1280, 4608, 0, 0, 0, 0}, {771, 333, 1285, 4369, 0, 0, 0}, {642, 1290, 4642, 0, 0, 0, 0}, {771, 335, 1295, 4403, 0, 0, 0}, {780, 328, 1280, 4108, 0, 0, 0}, {650, 1285, 4698, 0, 0, 0, 0}, {780, 330, 1290, 4140, 0, 0, 0}, {648, 1295, 4728, 0, 0, 0, 0}, {648, 1280, 4096, 0, 0, 0, 0}, {771, 325, 1285, 4112, 0, 0, 0}, {650, 1290, 4128, 0, 0, 0, 0}, {771, 327, 1295, 4144, 0, 0, 0}, {780, 320, 1280, 4352, 0, 0, 0}, {642, 1285, 4176, 0, 0, 0, 0}, {780, 322, 1290, 4386, 0, 0, 0}, {640, 1295, 4208, 0, 0, 0, 0}, {672, 1360, 4656, 0, 0, 0, 0}, {819, 349, 1032, 4369, 0, 0, 0}, {674, 1370, 4626, 0, 0, 0, 0}, {819, 351, 1024, 4403, 0, 0, 0}, {828, 344, 1032, 4124, 0, 0, 0}, {682, 1365, 4714, 0, 0, 0, 0}, {828, 346, 1024, 4156, 0, 0, 0}, {680, 1375, 4680, 0, 0, 0, 0}, {680, 1360, 4112, 0, 0, 0, 0}, {819, 341, 1024, 4096, 0, 0, 0}, {682, 1370, 4144, 0, 0, 0, 0}, {819, 343, 1032, 4128, 0, 0, 0}, {828, 336, 1024, 4352, 0, 0, 0}, {674, 1365, 4160, 0, 0, 0, 0}, {828, 338, 1032, 4386, 0, 0, 0}, {672, 1375, 4192, 0, 0, 0, 0}, {672, 1792, 4608, 0, 0, 0, 0}, {771, 365, 1028, 4369, 0, 0, 0}, {674, 1800, 4642, 0, 0, 0, 0}, {771, 367, 1036, 4403, 0, 0, 0}, {780, 360, 1028, 4140, 0, 0, 0}, {682, 1807, 4698, 0, 0, 0, 0}, {780, 362, 1036, 4108, 0, 0, 0}, {680, 1799, 4728, 0, 0, 0, 0}, {680, 1800, 4128, 0, 0, 0, 0}, {771, 357, 1036, 4144, 0, 0, 0}, {682, 1792, 4096, 0, 0, 0, 0}, {771, 359, 1028, 4112, 0, 0, 0}, {780, 352, 1036, 4352, 0, 0, 0}, {674, 1799, 4208, 0, 0, 0, 0}, {780, 354, 1028, 4386, 0, 0, 0}, {672, 1807, 4176, 0, 0, 0, 0}, {640, 1904, 4656, 0, 0, 0, 0}, {819, 381, 1337, 4369, 0, 0, 0}, {642, 1912, 4626, 0, 0, 0, 0}, {819, 383, 1331, 4403, 0, 0, 0}, {828, 376, 1340, 4156, 0, 0, 0}, {650, 1919, 4714, 0, 0, 0, 0}, {828, 378, 1334, 4124, 0, 0, 0}, {648, 1911, 4680, 0, 0, 0, 0}, {648, 1912, 4144, 0, 0, 0, 0}, {819, 373, 1337, 4128, 0, 0, 0}, {650, 1904, 4112, 0, 0, 0, 0}, {819, 375, 1331, 4096, 0, 0, 0}, {828, 368, 1340, 4352, 0, 0, 0}, {642, 1911, 4192, 0, 0, 0, 0}, {828, 370, 1334, 4386, 0, 0, 0}, {640, 1919, 4160, 0, 0, 0, 0}, {4288, 512, 1280, 0, 0, 0, 0}, {269, 514, 1285, 4369, 0, 0, 0}, {4320, 514, 1290, 0, 0, 0, 0}, {271, 512, 1024, 4403, 0, 0, 0}, {264, 768, 1280, 4420, 0, 0, 0}, {4240, 522, 1285, 0, 0, 0, 0}, {266, 768, 1024, 4454, 0, 0, 0}, {4272, 520, 1295, 0, 0, 0, 0}, {520, 1280, 4160, 0, 0, 0, 0}, {204, 261, 0, 0, 0, 0, 0}, {522, 1290, 4192, 0, 0, 0, 0}, {204, 263, 0, 0, 0, 0, 0}, {204, 256, 0, 0, 0, 0, 0}, {514, 1285, 4112, 0, 0, 0, 0}, {204, 258, 0, 0, 0, 0, 0}, {512, 1295, 4144, 0, 0, 0, 0}, {4304, 544, 1360, 0, 0, 0, 0}, {285, 546, 1365, 4369, 0, 0, 0}, {4336, 546, 1370, 0, 0, 0, 0}, {287, 544, 1088, 4403, 0, 0, 0}, {280, 816, 1360, 4420, 0, 0, 0}, {4224, 554, 1365, 0, 0, 0, 0}, {282, 816, 1088, 4454, 0, 0, 0}, {4256, 552, 1375, 0, 0, 0, 0}, {552, 1360, 4176, 0, 0, 0, 0}, {204, 277, 0, 0, 0, 0, 0}, {554, 1370, 4208, 0, 0, 0, 0}, {204, 279, 0, 0, 0, 0, 0}, {204, 272, 0, 0, 0, 0, 0}, {546, 1365, 4096, 0, 0, 0, 0}, {204, 274, 0, 0, 0, 0, 0}, {544, 1375, 4128, 0, 0, 0, 0}, {1440, 544, 5440, 0, 0, 0, 0}, {301, 783, 1092, 4369, 0, 0, 0}, {1450, 546, 5482, 0, 0, 0, 0}, {303, 783, 1100, 4124, 0, 0, 0}, {296, 768, 1092, 4420, 0, 0, 0}, {1445, 554, 5397, 0, 0, 0, 0}, {298, 768, 1100, 4172, 0, 0, 0}, {1455, 552, 5439, 0, 0, 0, 0}, {1440, 552, 4192, 0, 0, 0, 0}, {293, 783, 1100, 4437, 0, 0, 0}, {1450, 554, 4160, 0, 0, 0, 0}, {295, 783, 1092, 4176, 0, 0, 0}, {288, 768, 1100, 4352, 0, 0, 0}, {1445, 546, 4144, 0, 0, 0, 0}, {290, 768, 1092, 4096, 0, 0, 0}, {1455, 544, 4112, 0, 0, 0, 0}, {1520, 512, 5376, 0, 0, 0, 0}, {317, 514, 1028, 4369, 0, 0, 0}, {1530, 514, 5418, 0, 0, 0, 0}, {319, 512, 1036, 4108, 0, 0, 0}, {312, 520, 1028, 4420, 0, 0, 0}, {1525, 522, 5461, 0, 0, 0, 0}, {314, 522, 1036, 4188, 0, 0, 0}, {1535, 520, 5503, 0, 0, 0, 0}, {1520, 520, 4208, 0, 0, 0, 0}, {309, 522, 1036, 4437, 0, 0, 0}, {1530, 522, 4176, 0, 0, 0, 0}, {311, 520, 1028, 4160, 0, 0, 0}, {304, 512, 1036, 4352, 0, 0, 0}, {1525, 514, 4128, 0, 0, 0, 0}, {306, 514, 1028, 4112, 0, 0, 0}, {1535, 512, 4096, 0, 0, 0, 0}, {512, 17408, 0, 0, 0, 0, 0}, {15, 48, 257, 0, 0, 0, 0}, {514, 17544, 0, 0, 0, 0, 0}, {15, 48, 259, 0, 0, 0, 0}, {192, 520, 1028, 0, 0, 0, 0}, {15, 517, 1285, 4437, 0, 0, 0}, {192, 522, 1036, 0, 0, 0, 0}, {15, 519, 1280, 4471, 0, 0, 0}, {520, 17544, 0, 0, 0, 0, 0}, {15, 48, 262, 0, 0, 0, 0}, {522, 17408, 0, 0, 0, 0, 0}, {15, 48, 260, 0, 0, 0, 0}, {192, 512, 1036, 0, 0, 0, 0}, {15, 514, 1285, 4386, 0, 0, 0}, {192, 514, 1028, 0, 0, 0, 0}, {15, 512, 1280, 4352, 0, 0, 0}, {48, 528, 1088, 4112, 0, 0, 0}, {255, 546, 4369, 0, 0, 0, 0}, {48, 530, 1096, 4096, 0, 0, 0}, {255, 544, 4403, 0, 0, 0, 0}, {240, 552, 5140, 0, 0, 0, 0}, {63, 533, 1088, 4437, 0, 0, 0}, {240, 554, 5180, 0, 0, 0, 0}, {63, 535, 1096, 4424, 0, 0, 0}, {48, 536, 1096, 4176, 0, 0, 0}, {255, 554, 4454, 0, 0, 0, 0}, {48, 538, 1088, 4160, 0, 0, 0}, {255, 552, 4420, 0, 0, 0, 0}, {240, 544, 5228, 0, 0, 0, 0}, {63, 541, 1096, 4381, 0, 0, 0}, {240, 546, 5188, 0, 0, 0, 0}, {63, 543, 1088, 4352, 0, 0, 0}, {544, 17408, 0, 0, 0, 0, 0}, {15, 48, 273, 0, 0, 0, 0}, {546, 17544, 0, 0, 0, 0, 0}, {15, 48, 275, 0, 0, 0, 0}, {192, 552, 1092, 0, 0, 0, 0}, {15, 549, 1365, 4437, 0, 0, 0}, {192, 554, 1100, 0, 0, 0, 0}, {15, 551, 1360, 4471, 0, 0, 0}, {552, 17544, 0, 0, 0, 0, 0}, {15, 48, 278, 0, 0, 0, 0}, {554, 17408, 0, 0, 0, 0, 0}, {15, 48, 276, 0, 0, 0, 0}, {192, 544, 1100, 0, 0, 0, 0}, {15, 546, 1365, 4386, 0, 0, 0}, {192, 546, 1092, 0, 0, 0, 0}, {15, 544, 1360, 4352, 0, 0, 0}, {48, 512, 1024, 4096, 0, 0, 0}, {255, 514, 4369, 0, 0, 0, 0}, {48, 514, 1032, 4112, 0, 0, 0}, {255, 512, 4403, 0, 0, 0, 0}, {240, 520, 5188, 0, 0, 0, 0}, {63, 522, 1024, 4437, 0, 0, 0}, {240, 522, 5228, 0, 0, 0, 0}, {63, 520, 1032, 4424, 0, 0, 0}, {48, 520, 1032, 4160, 0, 0, 0}, {255, 522, 4454, 0, 0, 0, 0}, {48, 522, 1024, 4176, 0, 0, 0}, {255, 520, 4420, 0, 0, 0, 0}, {240, 512, 5180, 0, 0, 0, 0}, {63, 514, 1032, 4381, 0, 0, 0}, {240, 514, 5140, 0, 0, 0, 0}, {63, 512, 1024, 4352, 0, 0, 0}, {8704, 576, 1536, 0, 0, 0, 0}, {15, 626, 1285, 4369, 0, 0, 0}, {8738, 578, 1546, 0, 0, 0, 0}, {15, 624, 1280, 4403, 0, 0, 0}, {648, 2560, 8192, 17476, 0, 0, 0}, {15, 48, 768, 325, 1285, 4112, 0}, {650, 2570, 8224, 17990, 0, 0, 0}, {15, 48, 768, 327, 1280, 4096, 0}, {8192, 584, 1536, 0, 0, 0, 0}, {15, 629, 1285, 4883, 0, 0, 0}, {8224, 586, 1546, 0, 0, 0, 0}, {15, 631, 1280, 4915, 0, 0, 0}, {640, 2560, 8704, 17996, 0, 0, 0}, {15, 48, 768, 322, 1285, 4370, 0}, {642, 2570, 8738, 17476, 0, 0, 0}, {15, 48, 768, 320, 1280, 4352, 0}, {2048, 592, 5632, 0, 0, 0, 0}, {63, 605, 1028, 4369, 0, 0, 0}, {2056, 594, 5674, 0, 0, 0, 0}, {63, 607, 1036, 4364, 0, 0, 0}, {48, 600, 1028, 4112, 0, 0, 0}, {2048, 597, 4864, 0, 0, 0, 0}, {48, 602, 1036, 4096, 0, 0, 0}, {2056, 599, 4896, 0, 0, 0, 0}, {2056, 600, 5160, 0, 0, 0, 0}, {63, 597, 1036, 4876, 0, 0, 0}, {2048, 602, 5120, 0, 0, 0, 0}, {63, 599, 1028, 4883, 0, 0, 0}, {48, 592, 1036, 4608, 0, 0, 0}, {2056, 605, 4386, 0, 0, 0, 0}, {48, 594, 1028, 4626, 0, 0, 0}, {2048, 607, 4352, 0, 0, 0, 0}, {8704, 608, 1024, 0, 0, 0, 0}, {15, 594, 1799, 4369, 0, 0, 0}, {8738, 610, 1032, 0, 0, 0, 0}, {15, 592, 1792, 4403, 0, 0, 0}, {680, 2056, 8224, 17476, 0, 0, 0}, {15, 48, 768, 341, 1024, 4096, 0}, {682, 2048, 8192, 18022, 0, 0, 0}, {15, 48, 768, 343, 1031, 4112, 0}, {8224, 616, 1032, 0, 0, 0, 0}, {15, 597, 1792, 4915, 0, 0, 0}, {8192, 618, 1024, 0, 0, 0, 0}, {15, 599, 1799, 4883, 0, 0, 0}, {672, 2048, 8704, 18028, 0, 0, 0}, {15, 48, 768, 338, 1031, 4370, 0}, {674, 2056, 8738, 17476, 0, 0, 0}, {15, 48, 768, 336, 1024, 4352, 0}, {2560, 624, 5120, 0, 0, 0, 0}, {63, 578, 1542, 4369, 0, 0, 0}, {2570, 626, 5160, 0, 0, 0, 0}, {63, 576, 1548, 4364, 0, 0, 0}, {48, 584, 1548, 4096, 0, 0, 0}, {2570, 629, 4896, 0, 0, 0, 0}, {48, 586, 1542, 4112, 0, 0, 0}, {2560, 631, 4864, 0, 0, 0, 0}, {2560, 632, 5632, 0, 0, 0, 0}, {63, 586, 1542, 4883, 0, 0, 0}, {2570, 634, 5674, 0, 0, 0, 0}, {63, 584, 1548, 4876, 0, 0, 0}, {48, 576, 1548, 4608, 0, 0, 0}, {2570, 637, 4386, 0, 0, 0, 0}, {48, 578, 1542, 4626, 0, 0, 0}, {2560, 639, 4352, 0, 0, 0, 0}, {640, 2560, 8704, 17408, 0, 0, 0}, {15, 48, 771, 321, 1285, 4369, 0}, {642, 2570, 8738, 17930, 0, 0, 0}, {15, 48, 771, 323, 1280, 4355, 0}, {8192, 584, 1548, 0, 0, 0, 0}, {15, 629, 1285, 4896, 0, 0, 0}, {8224, 586, 1542, 0, 0, 0, 0}, {15, 631, 1280, 4864, 0, 0, 0}, {648, 2560, 8192, 17920, 0, 0, 0}, {15, 48, 771, 326, 1285, 4112, 0}, {650, 2570, 8224, 17408, 0, 0, 0}, {15, 48, 771, 324, 1280, 4096, 0}, {8704, 576, 1548, 0, 0, 0, 0}, {15, 626, 1285, 4386, 0, 0, 0}, {8738, 578, 1542, 0, 0, 0, 0}, {15, 624, 1280, 4352, 0, 0, 0}, {48, 592, 1024, 4608, 0, 0, 0}, {2056, 605, 4369, 0, 0, 0, 0}, {48, 594, 1032, 4626, 0, 0, 0}, {2048, 607, 4403, 0, 0, 0, 0}, {2056, 600, 5140, 0, 0, 0, 0}, {63, 597, 1024, 4864, 0, 0, 0}, {2048, 602, 5180, 0, 0, 0, 0}, {63, 599, 1032, 4895, 0, 0, 0}, {48, 600, 1032, 4112, 0, 0, 0}, {2048, 597, 4915, 0, 0, 0, 0}, {48, 602, 1024, 4096, 0, 0, 0}, {2056, 599, 4883, 0, 0, 0, 0}, {2048, 592, 5692, 0, 0, 0, 0}, {63, 605, 1032, 4381, 0, 0, 0}, {2056, 594, 5654, 0, 0, 0, 0}, {63, 607, 1024, 4352, 0, 0, 0}, {672, 2048, 8704, 17408, 0, 0, 0}, {15, 48, 771, 337, 1028, 4369, 0}, {674, 2056, 8738, 17962, 0, 0, 0}, {15, 48, 771, 339, 1027, 4355, 0}, {8224, 616, 1028, 0, 0, 0, 0}, {15, 597, 1792, 4864, 0, 0, 0}, {8192, 618, 1036, 0, 0, 0, 0}, {15, 599, 1799, 4896, 0, 0, 0}, {680, 2056, 8224, 17952, 0, 0, 0}, {15, 48, 771, 342, 1027, 4096, 0}, {682, 2048, 8192, 17408, 0, 0, 0}, {15, 48, 771, 340, 1028, 4112, 0}, {8704, 608, 1036, 0, 0, 0, 0}, {15, 594, 1799, 4386, 0, 0, 0}, {8738, 610, 1028, 0, 0, 0, 0}, {15, 592, 1792, 4352, 0, 0, 0}, {48, 576, 1536, 4608, 0, 0, 0}, {2570, 637, 4369, 0, 0, 0, 0}, {48, 578, 1546, 4626, 0, 0, 0}, {2560, 639, 4403, 0, 0, 0, 0}, {2560, 632, 5692, 0, 0, 0, 0}, {63, 586, 1546, 4895, 0, 0, 0}, {2570, 634, 5654, 0, 0, 0, 0}, {63, 584, 1536, 4864, 0, 0, 0}, {48, 584, 1536, 4096, 0, 0, 0}, {2570, 629, 4883, 0, 0, 0, 0}, {48, 586, 1546, 4112, 0, 0, 0}, {2560, 631, 4915, 0, 0, 0, 0}, {2560, 624, 5180, 0, 0, 0, 0}, {63, 578, 1546, 4381, 0, 0, 0}, {2570, 626, 5140, 0, 0, 0, 0}, {63, 576, 1536, 4352, 0, 0, 0}, {192, 512, 1024, 0, 0, 0, 0}, {15, 514, 1285, 4369, 0, 0, 0}, {192, 514, 1032, 0, 0, 0, 0}, {15, 512, 1280, 4403, 0, 0, 0}, {520, 17476, 0, 0, 0, 0, 0}, {15, 48, 261, 0, 0, 0, 0}, {522, 17612, 0, 0, 0, 0, 0}, {15, 48, 263, 0, 0, 0, 0}, {192, 520, 1032, 0, 0, 0, 0}, {15, 517, 1285, 4454, 0, 0, 0}, {192, 522, 1024, 0, 0, 0, 0}, {15, 519, 1280, 4420, 0, 0, 0}, {512, 17612, 0, 0, 0, 0, 0}, {15, 48, 258, 0, 0, 0, 0}, {514, 17476, 0, 0, 0, 0, 0}, {15, 48, 256, 0, 0, 0, 0}, {240, 544, 5200, 0, 0, 0, 0}, {63, 541, 1092, 4369, 0, 0, 0}, {240, 546, 5240, 0, 0, 0, 0}, {63, 543, 1100, 4364, 0, 0, 0}, {48, 536, 1092, 4176, 0, 0, 0}, {255, 554, 4437, 0, 0, 0, 0}, {48, 538, 1100, 4160, 0, 0, 0}, {255, 552, 4471, 0, 0, 0, 0}, {240, 552, 5160, 0, 0, 0, 0}, {63, 533, 1100, 4441, 0, 0, 0}, {240, 554, 5120, 0, 0, 0, 0}, {63, 535, 1092, 4420, 0, 0, 0}, {48, 528, 1100, 4112, 0, 0, 0}, {255, 546, 4386, 0, 0, 0, 0}, {48, 530, 1092, 4096, 0, 0, 0}, {255, 544, 4352, 0, 0, 0, 0}, {192, 544, 1088, 0, 0, 0, 0}, {15, 546, 1365, 4369, 0, 0, 0}, {192, 546, 1096, 0, 0, 0, 0}, {15, 544, 1360, 4403, 0, 0, 0}, {552, 17476, 0, 0, 0, 0, 0}, {15, 48, 277, 0, 0, 0, 0}, {554, 17612, 0, 0, 0, 0, 0}, {15, 48, 279, 0, 0, 0, 0}, {192, 552, 1096, 0, 0, 0, 0}, {15, 549, 1365, 4454, 0, 0, 0}, {192, 554, 1088, 0, 0, 0, 0}, {15, 551, 1360, 4420, 0, 0, 0}, {544, 17612, 0, 0, 0, 0, 0}, {15, 48, 274, 0, 0, 0, 0}, {546, 17476, 0, 0, 0, 0, 0}, {15, 48, 272, 0, 0, 0, 0}, {240, 512, 5120, 0, 0, 0, 0}, {63, 514, 1028, 4369, 0, 0, 0}, {240, 514, 5160, 0, 0, 0, 0}, {63, 512, 1036, 4364, 0, 0, 0}, {48, 520, 1028, 4160, 0, 0, 0}, {255, 522, 4437, 0, 0, 0, 0}, {48, 522, 1036, 4176, 0, 0, 0}, {255, 520, 4471, 0, 0, 0, 0}, {240, 520, 5240, 0, 0, 0, 0}, {63, 522, 1036, 4441, 0, 0, 0}, {240, 522, 5200, 0, 0, 0, 0}, {63, 520, 1028, 4420, 0, 0, 0}, {48, 512, 1036, 4096, 0, 0, 0}, {255, 514, 4386, 0, 0, 0, 0}, {48, 514, 1028, 4112, 0, 0, 0}, {255, 512, 4352, 0, 0, 0, 0}, {3840, 12288, 0, 0, 0, 0, 0}, {2, 68, 257, 0, 0, 0, 0}, {2, 1280, 4096, 0, 0, 0, 0}, {204, 771, 0, 0, 0, 0, 0}, {8, 772, 68, 1028, 0, 0, 0}, {10, 12368, 1285, 0, 0, 0, 0}, {10, 774, 102, 1280, 0, 0, 0}, {8, 12400, 1799, 0, 0, 0, 0}, {8, 12288, 1792, 0, 0, 0, 0}, {10, 771, 102, 1285, 0, 0, 0}, {10, 12288, 1280, 0, 0, 0, 0}, {8, 771, 68, 1028, 0, 0, 0}, {204, 780, 0, 0, 0, 0, 0}, {2, 1285, 4176, 0, 0, 0, 0}, {2, 68, 260, 0, 0, 0, 0}, {3855, 12528, 0, 0, 0, 0, 0}, {3920, 32, 4112, 0, 0, 0, 0}, {34, 785, 68, 4369, 0, 0, 0}, {3930, 34, 4626, 0, 0, 0, 0}, {32, 787, 76, 4096, 0, 0, 0}, {40, 788, 68, 5140, 0, 0, 0}, {3925, 42, 5397, 0, 0, 0, 0}, {42, 790, 76, 5376, 0, 0, 0}, {3935, 40, 5911, 0, 0, 0, 0}, {3920, 40, 5960, 0, 0, 0, 0}, {42, 793, 76, 5401, 0, 0, 0}, {3930, 42, 5440, 0, 0, 0, 0}, {40, 795, 68, 5120, 0, 0, 0}, {32, 796, 76, 4124, 0, 0, 0}, {3925, 34, 4680, 0, 0, 0, 0}, {34, 798, 68, 4352, 0, 0, 0}, {3935, 32, 4160, 0, 0, 0, 0}, {3840, 32, 4096, 0, 0, 0, 0}, {34, 771, 68, 4369, 0, 0, 0}, {3840, 34, 4608, 0, 0, 0, 0}, {32, 771, 76, 4112, 0, 0, 0}, {40, 780, 68, 5120, 0, 0, 0}, {3855, 42, 5461, 0, 0, 0, 0}, {42, 780, 76, 5388, 0, 0, 0}, {3855, 40, 5983, 0, 0, 0, 0}, {3840, 40, 5888, 0, 0, 0, 0}, {42, 771, 76, 5397, 0, 0, 0}, {3840, 42, 5376, 0, 0, 0, 0}, {40, 771, 68, 5140, 0, 0, 0}, {32, 780, 76, 4108, 0, 0, 0}, {3855, 34, 4698, 0, 0, 0, 0}, {34, 780, 68, 4352, 0, 0, 0}, {3855, 32, 4176, 0, 0, 0, 0}, {4080, 12336, 0, 0, 0, 0, 0}, {2, 68, 273, 0, 0, 0, 0}, {2, 1360, 4112, 0, 0, 0, 0}, {204, 819, 0, 0, 0, 0, 0}, {8, 820, 68, 1024, 0, 0, 0}, {10, 12384, 1365, 0, 0, 0, 0}, {10, 822, 102, 1334, 0, 0, 0}, {8, 12352, 1911, 0, 0, 0, 0}, {8, 12336, 1904, 0, 0, 0, 0}, {10, 819, 102, 1331, 0, 0, 0}, {10, 12336, 1360, 0, 0, 0, 0}, {8, 819, 68, 1024, 0, 0, 0}, {204, 828, 0, 0, 0, 0, 0}, {2, 1365, 4160, 0, 0, 0, 0}, {2, 68, 276, 0, 0, 0, 0}, {4095, 12480, 0, 0, 0, 0, 0}, {128, 3840, 12352, 16448, 0, 0, 0}, {10, 34, 773, 68, 1285, 4369, 0}, {10, 34, 1280, 4674, 0, 0, 0}, {783, 76, 0, 0, 0, 0, 0}, {768, 68, 0, 0, 0, 0, 0}, {10, 32, 1285, 4112, 0, 0, 0}, {10, 32, 768, 70, 1280, 4096, 0}, {136, 3855, 12336, 18247, 0, 0, 0}, {136, 3840, 12360, 18248, 0, 0, 0}, {10, 32, 773, 70, 1285, 4118, 0}, {10, 32, 1280, 4160, 0, 0, 0}, {783, 68, 0, 0, 0, 0, 0}, {768, 76, 0, 0, 0, 0, 0}, {10, 34, 1285, 4626, 0, 0, 0}, {10, 34, 768, 68, 1280, 4352, 0}, {128, 3855, 12336, 16448, 0, 0, 0}, {160, 3920, 12368, 20560, 0, 0, 0}, {8, 34, 789, 68, 1028, 4369, 0}, {8, 34, 1874, 4690, 0, 0, 0}, {831, 108, 0, 0, 0, 0, 0}, {8, 32, 784, 68, 1028, 4112, 0}, {170, 3925, 12288, 21845, 0, 0, 0}, {816, 102, 0, 0, 0, 0, 0}, {8, 32, 1879, 4096, 0, 0, 0}, {8, 32, 1872, 4176, 0, 0, 0}, {831, 102, 0, 0, 0, 0, 0}, {170, 3930, 12378, 21760, 0, 0, 0}, {8, 32, 791, 68, 1028, 4100, 0}, {816, 108, 0, 0, 0, 0, 0}, {8, 34, 1877, 4608, 0, 0, 0}, {8, 34, 786, 68, 1028, 4352, 0}, {160, 3935, 12288, 20480, 0, 0, 0}, {160, 3840, 12384, 20480, 0, 0, 0}, {8, 34, 775, 68, 1024, 4369, 0}, {8, 34, 1792, 4672, 0, 0, 0}, {783, 108, 0, 0, 0, 0, 0}, {8, 32, 768, 68, 1024, 4096, 0}, {170, 3855, 12336, 21845, 0, 0, 0}, {768, 102, 0, 0, 0, 0, 0}, {8, 32, 1799, 4112, 0, 0, 0}, {8, 32, 1792, 4160, 0, 0, 0}, {783, 102, 0, 0, 0, 0, 0}, {170, 3840, 12394, 21760, 0, 0, 0}, {8, 32, 775, 68, 1024, 4116, 0}, {768, 108, 0, 0, 0, 0, 0}, {8, 34, 1799, 4626, 0, 0, 0}, {8, 34, 768, 68, 1024, 4352, 0}, {160, 3855, 12336, 20560, 0, 0, 0}, {128, 3952, 12400, 16384, 0, 0, 0}, {10, 34, 791, 68, 1297, 4369, 0}, {10, 34, 1360, 4688, 0, 0, 0}, {831, 76, 0, 0, 0, 0, 0}, {816, 68, 0, 0, 0, 0, 0}, {10, 32, 1365, 4096, 0, 0, 0}, {10, 32, 784, 70, 1302, 4112, 0}, {136, 3959, 12288, 18295, 0, 0, 0}, {136, 3960, 12408, 18296, 0, 0, 0}, {10, 32, 789, 70, 1299, 4102, 0}, {10, 32, 1360, 4176, 0, 0, 0}, {831, 68, 0, 0, 0, 0, 0}, {816, 76, 0, 0, 0, 0, 0}, {10, 34, 1365, 4608, 0, 0, 0}, {10, 34, 786, 68, 1300, 4352, 0}, {128, 3967, 12288, 16384, 0, 0, 0}, {128, 3840, 12288, 16384, 0, 0, 0}, {10, 34, 771, 68, 1285, 4369, 0}, {10, 34, 1280, 4608, 0, 0, 0}, {771, 76, 0, 0, 0, 0, 0}, {780, 68, 0, 0, 0, 0, 0}, {10, 32, 1285, 4176, 0, 0, 0}, {10, 32, 774, 70, 1280, 4102, 0}, {136, 3855, 12408, 18191, 0, 0, 0}, {136, 3840, 12288, 18176, 0, 0, 0}, {10, 32, 771, 70, 1285, 4112, 0}, {10, 32, 1280, 4096, 0, 0, 0}, {771, 68, 0, 0, 0, 0, 0}, {780, 76, 0, 0, 0, 0, 0}, {10, 34, 1285, 4688, 0, 0, 0}, {10, 34, 774, 68, 1280, 4352, 0}, {128, 3855, 12400, 16384, 0, 0, 0}, {160, 3920, 12336, 20560, 0, 0, 0}, {8, 34, 785, 68, 1024, 4369, 0}, {8, 34, 1874, 4626, 0, 0, 0}, {819, 108, 0, 0, 0, 0, 0}, {8, 32, 788, 68, 1024, 4116, 0}, {170, 3925, 12394, 21845, 0, 0, 0}, {828, 102, 0, 0, 0, 0, 0}, {8, 32, 1879, 4160, 0, 0, 0}, {8, 32, 1872, 4112, 0, 0, 0}, {819, 102, 0, 0, 0, 0, 0}, {170, 3930, 12336, 21760, 0, 0, 0}, {8, 32, 787, 68, 1024, 4096, 0}, {828, 108, 0, 0, 0, 0, 0}, {8, 34, 1877, 4672, 0, 0, 0}, {8, 34, 790, 68, 1024, 4352, 0}, {160, 3935, 12384, 20480, 0, 0, 0}, {160, 3840, 12288, 20480, 0, 0, 0}, {8, 34, 771, 68, 1028, 4369, 0}, {8, 34, 1792, 4608, 0, 0, 0}, {771, 108, 0, 0, 0, 0, 0}, {8, 32, 772, 68, 1028, 4100, 0}, {170, 3855, 12378, 21845, 0, 0, 0}, {780, 102, 0, 0, 0, 0, 0}, {8, 32, 1799, 4176, 0, 0, 0}, {8, 32, 1792, 4096, 0, 0, 0}, {771, 102, 0, 0, 0, 0, 0}, {170, 3840, 12288, 21760, 0, 0, 0}, {8, 32, 771, 68, 1028, 4112, 0}, {780, 108, 0, 0, 0, 0, 0}, {8, 34, 1799, 4690, 0, 0, 0}, {8, 34, 772, 68, 1028, 4352, 0}, {160, 3855, 12368, 20560, 0, 0, 0}, {128, 3952, 12336, 16448, 0, 0, 0}, {10, 34, 785, 68, 1297, 4369, 0}, {10, 34, 1360, 4626, 0, 0, 0}, {819, 76, 0, 0, 0, 0, 0}, {828, 68, 0, 0, 0, 0, 0}, {10, 32, 1365, 4160, 0, 0, 0}, {10, 32, 790, 70, 1302, 4118, 0}, {136, 3959, 12360, 18239, 0, 0, 0}, {136, 3960, 12336, 18224, 0, 0, 0}, {10, 32, 787, 70, 1299, 4096, 0}, {10, 32, 1360, 4112, 0, 0, 0}, {819, 68, 0, 0, 0, 0, 0}, {828, 76, 0, 0, 0, 0, 0}, {10, 34, 1365, 4674, 0, 0, 0}, {10, 34, 788, 68, 1300, 4352, 0}, {128, 3967, 12352, 16448, 0, 0, 0}, {3840, 12480, 0, 0, 0, 0, 0}, {2, 68, 261, 0, 0, 0, 0}, {2, 1280, 4160, 0, 0, 0, 0}, {204, 783, 0, 0, 0, 0, 0}, {8, 768, 68, 1024, 0, 0, 0}, {10, 12336, 1285, 0, 0, 0, 0}, {10, 768, 102, 1280, 0, 0, 0}, {8, 12336, 1799, 0, 0, 0, 0}, {8, 12352, 1792, 0, 0, 0, 0}, {10, 773, 102, 1285, 0, 0, 0}, {10, 12384, 1280, 0, 0, 0, 0}, {8, 775, 68, 1024, 0, 0, 0}, {204, 768, 0, 0, 0, 0, 0}, {2, 1285, 4112, 0, 0, 0, 0}, {2, 68, 256, 0, 0, 0, 0}, {3855, 12336, 0, 0, 0, 0, 0}, {3920, 32, 4176, 0, 0, 0, 0}, {34, 797, 68, 4369, 0, 0, 0}, {3930, 34, 4698, 0, 0, 0, 0}, {32, 799, 76, 4108, 0, 0, 0}, {40, 792, 68, 5140, 0, 0, 0}, {3925, 42, 5461, 0, 0, 0, 0}, {42, 794, 76, 5388, 0, 0, 0}, {3935, 40, 5983, 0, 0, 0, 0}, {3920, 40, 5888, 0, 0, 0, 0}, {42, 789, 76, 5397, 0, 0, 0}, {3930, 42, 5376, 0, 0, 0, 0}, {40, 791, 68, 5120, 0, 0, 0}, {32, 784, 76, 4112, 0, 0, 0}, {3925, 34, 4608, 0, 0, 0, 0}, {34, 786, 68, 4352, 0, 0, 0}, {3935, 32, 4096, 0, 0, 0, 0}, {3840, 32, 4160, 0, 0, 0, 0}, {34, 783, 68, 4369, 0, 0, 0}, {3840, 34, 4680, 0, 0, 0, 0}, {32, 783, 76, 4124, 0, 0, 0}, {40, 768, 68, 5120, 0, 0, 0}, {3855, 42, 5397, 0, 0, 0, 0}, {42, 768, 76, 5376, 0, 0, 0}, {3855, 40, 5911, 0, 0, 0, 0}, {3840, 40, 5960, 0, 0, 0, 0}, {42, 783, 76, 5401, 0, 0, 0}, {3840, 42, 5440, 0, 0, 0, 0}, {40, 783, 68, 5140, 0, 0, 0}, {32, 768, 76, 4096, 0, 0, 0}, {3855, 34, 4626, 0, 0, 0, 0}, {34, 768, 68, 4352, 0, 0, 0}, {3855, 32, 4112, 0, 0, 0, 0}, {4080, 12528, 0, 0, 0, 0, 0}, {2, 68, 277, 0, 0, 0, 0}, {2, 1360, 4176, 0, 0, 0, 0}, {204, 831, 0, 0, 0, 0, 0}, {8, 816, 68, 1028, 0, 0, 0}, {10, 12288, 1365, 0, 0, 0, 0}, {10, 816, 102, 1334, 0, 0, 0}, {8, 12288, 1911, 0, 0, 0, 0}, {8, 12400, 1904, 0, 0, 0, 0}, {10, 821, 102, 1331, 0, 0, 0}, {10, 12368, 1360, 0, 0, 0, 0}, {8, 823, 68, 1028, 0, 0, 0}, {204, 816, 0, 0, 0, 0, 0}, {2, 1365, 4096, 0, 0, 0, 0}, {2, 68, 272, 0, 0, 0, 0}, {4095, 12288, 0, 0, 0, 0, 0}, {8192, 20480, 0, 0, 0, 0, 0}, {12, 17, 257, 0, 0, 0, 0}, {34, 514, 20490, 0, 0, 0, 0}, {12, 51, 771, 4099, 0, 0, 0}, {12, 68, 1028, 4100, 0, 0, 0}, {8202, 85, 1285, 0, 0, 0, 0}, {12, 102, 1542, 4102, 0, 0, 0}, {8200, 119, 1799, 0, 0, 0, 0}, {136, 2056, 8200, 20480, 0, 0, 0}, {12, 51, 771, 85, 1285, 4101, 0}, {170, 2570, 8202, 20490, 0, 0, 0}, {12, 51, 771, 68, 1028, 4103, 0}, {12, 4096, 0, 0, 0, 0, 0}, {34, 514, 85, 1285, 0, 0, 0}, {12, 34, 514, 68, 1028, 4098, 0}, {255, 3855, 8192, 20495, 0, 0, 0}, {192, 4112, 0, 0, 0, 0, 0}, {512, 1280, 17, 0, 0, 0, 0}, {34, 512, 72, 4114, 0, 0, 0}, {3840, 51, 4883, 0, 0, 0, 0}, {2048, 68, 5140, 0, 0, 0, 0}, {63, 85, 1280, 4117, 0, 0, 0}, {2560, 102, 5654, 0, 0, 0, 0}, {63, 72, 1792, 4119, 0, 0, 0}, {2048, 72, 4120, 0, 0, 0, 0}, {51, 85, 1280, 4889, 0, 0, 0}, {2560, 106, 4122, 0, 0, 0, 0}, {51, 68, 1792, 4891, 0, 0, 0}, {204, 7196, 8224, 20560, 0, 0, 0}, {29, 34, 512, 85, 1280, 4096, 0}, {34, 512, 68, 5150, 0, 0, 0}, {3840, 63, 4127, 0, 0, 0, 0}, {8224, 20640, 0, 0, 0, 0, 0}, {12, 17, 259, 0, 0, 0, 0}, {34, 512, 20480, 0, 0, 0, 0}, {12, 51, 771, 4112, 0, 0, 0}, {12, 68, 1024, 4132, 0, 0, 0}, {8234, 85, 1295, 0, 0, 0, 0}, {12, 102, 1536, 4134, 0, 0, 0}, {8232, 119, 1807, 0, 0, 0, 0}, {136, 2048, 8232, 20520, 0, 0, 0}, {12, 51, 771, 85, 1283, 4118, 0}, {170, 2560, 8234, 20480, 0, 0, 0}, {12, 51, 771, 68, 1024, 4116, 0}, {12, 4128, 0, 0, 0, 0, 0}, {34, 512, 85, 1295, 0, 0, 0}, {12, 34, 512, 68, 1024, 4096, 0}, {255, 3855, 8224, 20560, 0, 0, 0}, {192, 4144, 0, 0, 0, 0, 0}, {514, 1290, 17, 0, 0, 0, 0}, {34, 514, 72, 4112, 0, 0, 0}, {3840, 51, 4864, 0, 0, 0, 0}, {2056, 68, 5180, 0, 0, 0, 0}, {63, 85, 1290, 4106, 0, 0, 0}, {2570, 102, 5692, 0, 0, 0, 0}, {63, 72, 1800, 4104, 0, 0, 0}, {2056, 72, 4152, 0, 0, 0, 0}, {51, 85, 1290, 4874, 0, 0, 0}, {2570, 106, 4154, 0, 0, 0, 0}, {51, 68, 1800, 4872, 0, 0, 0}, {204, 7228, 8192, 20540, 0, 0, 0}, {29, 34, 514, 85, 1303, 4098, 0}, {34, 514, 68, 5140, 0, 0, 0}, {3840, 63, 4096, 0, 0, 0, 0}, {192, 4160, 0, 0, 0, 0, 0}, {522, 1285, 17, 0, 0, 0, 0}, {34, 522, 72, 4106, 0, 0, 0}, {3855, 51, 4940, 0, 0, 0, 0}, {2048, 68, 5120, 0, 0, 0, 0}, {63, 85, 1285, 4112, 0, 0, 0}, {2570, 102, 5674, 0, 0, 0, 0}, {63, 72, 1807, 4111, 0, 0, 0}, {2048, 72, 4096, 0, 0, 0, 0}, {51, 85, 1285, 4883, 0, 0, 0}, {2570, 106, 4128, 0, 0, 0, 0}, {51, 68, 1807, 4864, 0, 0, 0}, {204, 7244, 8268, 20480, 0, 0, 0}, {29, 34, 535, 85, 1285, 4101, 0}, {34, 522, 68, 5130, 0, 0, 0}, {3855, 63, 4175, 0, 0, 0, 0}, {8352, 20560, 0, 0, 0, 0, 0}, {12, 17, 260, 0, 0, 0, 0}, {34, 520, 20570, 0, 0, 0, 0}, {12, 51, 768, 4179, 0, 0, 0}, {12, 68, 1028, 4112, 0, 0, 0}, {8192, 85, 1280, 0, 0, 0, 0}, {12, 102, 1536, 4144, 0, 0, 0}, {8224, 119, 1800, 0, 0, 0, 0}, {136, 2056, 8224, 20560, 0, 0, 0}, {12, 51, 768, 85, 1280, 4096, 0}, {170, 2560, 8192, 20570, 0, 0, 0}, {12, 51, 768, 68, 1028, 4115, 0}, {12, 4176, 0, 0, 0, 0, 0}, {34, 520, 85, 1280, 0, 0, 0}, {12, 34, 516, 68, 1028, 4118, 0}, {255, 3840, 8287, 20575, 0, 0, 0}, {192, 4192, 0, 0, 0, 0, 0}, {520, 1295, 17, 0, 0, 0, 0}, {34, 520, 72, 4104, 0, 0, 0}, {3855, 51, 4959, 0, 0, 0, 0}, {2056, 68, 5160, 0, 0, 0, 0}, {63, 85, 1295, 4111, 0, 0, 0}, {2560, 102, 5632, 0, 0, 0, 0}, {63, 72, 1799, 4112, 0, 0, 0}, {2056, 72, 4128, 0, 0, 0, 0}, {51, 85, 1295, 4864, 0, 0, 0}, {2560, 106, 4096, 0, 0, 0, 0}, {51, 68, 1799, 4883, 0, 0, 0}, {204, 7276, 8300, 20588, 0, 0, 0}, {29, 34, 533, 85, 1298, 4103, 0}, {34, 520, 68, 5120, 0, 0, 0}, {3855, 63, 4176, 0, 0, 0, 0}, {8320, 20720, 0, 0, 0, 0, 0}, {12, 17, 262, 0, 0, 0, 0}, {34, 522, 20560, 0, 0, 0, 0}, {12, 51, 768, 4160, 0, 0, 0}, {12, 68, 1024, 4144, 0, 0, 0}, {8224, 85, 1290, 0, 0, 0, 0}, {12, 102, 1542, 4112, 0, 0, 0}, {8192, 119, 1792, 0, 0, 0, 0}, {136, 2048, 8192, 20600, 0, 0, 0}, {12, 51, 768, 85, 1286, 4115, 0}, {170, 2570, 8224, 20560, 0, 0, 0}, {12, 51, 768, 68, 1024, 4096, 0}, {12, 4208, 0, 0, 0, 0, 0}, {34, 522, 85, 1290, 0, 0, 0}, {12, 34, 518, 68, 1024, 4116, 0}, {255, 3840, 8319, 20480, 0, 0, 0}, {8320, 20480, 0, 0, 0, 0, 0}, {12, 17, 261, 0, 0, 0, 0}, {34, 522, 20490, 0, 0, 0, 0}, {12, 51, 771, 4163, 0, 0, 0}, {12, 68, 1024, 4096, 0, 0, 0}, {8224, 85, 1285, 0, 0, 0, 0}, {12, 102, 1542, 4128, 0, 0, 0}, {8192, 119, 1807, 0, 0, 0, 0}, {136, 2048, 8192, 20480, 0, 0, 0}, {12, 51, 771, 85, 1285, 4112, 0}, {170, 2570, 8224, 20490, 0, 0, 0}, {12, 51, 771, 68, 1024, 4099, 0}, {12, 4160, 0, 0, 0, 0, 0}, {34, 522, 85, 1285, 0, 0, 0}, {12, 34, 518, 68, 1024, 4102, 0}, {255, 3855, 8319, 20495, 0, 0, 0}, {192, 4176, 0, 0, 0, 0, 0}, {520, 1280, 17, 0, 0, 0, 0}, {34, 520, 72, 4122, 0, 0, 0}, {3840, 51, 4959, 0, 0, 0, 0}, {2056, 68, 5140, 0, 0, 0, 0}, {63, 85, 1280, 4096, 0, 0, 0}, {2560, 102, 5692, 0, 0, 0, 0}, {63, 72, 1800, 4127, 0, 0, 0}, {2056, 72, 4112, 0, 0, 0, 0}, {51, 85, 1280, 4864, 0, 0, 0}, {2560, 106, 4144, 0, 0, 0, 0}, {51, 68, 1800, 4883, 0, 0, 0}, {204, 7248, 8300, 20560, 0, 0, 0}, {29, 34, 533, 85, 1280, 4117, 0}, {34, 520, 68, 5150, 0, 0, 0}, {3840, 63, 4191, 0, 0, 0, 0}, {8352, 20640, 0, 0, 0, 0, 0}, {12, 17, 263, 0, 0, 0, 0}, {34, 520, 20480, 0, 0, 0, 0}, {12, 51, 771, 4176, 0, 0, 0}, {12, 68, 1028, 4128, 0, 0, 0}, {8192, 85, 1295, 0, 0, 0, 0}, {12, 102, 1536, 4096, 0, 0, 0}, {8224, 119, 1799, 0, 0, 0, 0}, {136, 2056, 8224, 20520, 0, 0, 0}, {12, 51, 771, 85, 1283, 4099, 0}, {170, 2560, 8192, 20480, 0, 0, 0}, {12, 51, 771, 68, 1028, 4112, 0}, {12, 4192, 0, 0, 0, 0, 0}, {34, 520, 85, 1295, 0, 0, 0}, {12, 34, 516, 68, 1028, 4100, 0}, {255, 3855, 8287, 20560, 0, 0, 0}, {192, 4208, 0, 0, 0, 0, 0}, {522, 1290, 17, 0, 0, 0, 0}, {34, 522, 72, 4120, 0, 0, 0}, {3840, 51, 4940, 0, 0, 0, 0}, {2048, 68, 5180, 0, 0, 0, 0}, {63, 85, 1290, 4127, 0, 0, 0}, {2570, 102, 5654, 0, 0, 0, 0}, {63, 72, 1792, 4096, 0, 0, 0}, {2048, 72, 4144, 0, 0, 0, 0}, {51, 85, 1290, 4883, 0, 0, 0}, {2570, 106, 4112, 0, 0, 0, 0}, {51, 68, 1792, 4864, 0, 0, 0}, {204, 7280, 8268, 20540, 0, 0, 0}, {29, 34, 535, 85, 1303, 4119, 0}, {34, 522, 68, 5140, 0, 0, 0}, {3840, 63, 4160, 0, 0, 0, 0}, {192, 4096, 0, 0, 0, 0, 0}, {514, 1285, 17, 0, 0, 0, 0}, {34, 514, 72, 4098, 0, 0, 0}, {3855, 51, 4864, 0, 0, 0, 0}, {2056, 68, 5120, 0, 0, 0, 0}, {63, 85, 1285, 4101, 0, 0, 0}, {2570, 102, 5632, 0, 0, 0, 0}, {63, 72, 1799, 4103, 0, 0, 0}, {2056, 72, 4104, 0, 0, 0, 0}, {51, 85, 1285, 4874, 0, 0, 0}, {2570, 106, 4106, 0, 0, 0, 0}, {51, 68, 1799, 4872, 0, 0, 0}, {204, 7168, 8192, 20480, 0, 0, 0}, {29, 34, 514, 85, 1285, 4112, 0}, {34, 514, 68, 5130, 0, 0, 0}, {3855, 63, 4111, 0, 0, 0, 0}, {8224, 20560, 0, 0, 0, 0, 0}, {12, 17, 256, 0, 0, 0, 0}, {34, 512, 20570, 0, 0, 0, 0}, {12, 51, 768, 4115, 0, 0, 0}, {12, 68, 1024, 4116, 0, 0, 0}, {8234, 85, 1280, 0, 0, 0, 0}, {12, 102, 1536, 4118, 0, 0, 0}, {8232, 119, 1792, 0, 0, 0, 0}, {136, 2048, 8232, 20560, 0, 0, 0}, {12, 51, 768, 85, 1280, 4117, 0}, {170, 2560, 8234, 20570, 0, 0, 0}, {12, 51, 768, 68, 1024, 4119, 0}, {12, 4112, 0, 0, 0, 0, 0}, {34, 512, 85, 1280, 0, 0, 0}, {12, 34, 512, 68, 1024, 4114, 0}, {255, 3840, 8224, 20575, 0, 0, 0}, {192, 4128, 0, 0, 0, 0, 0}, {512, 1295, 17, 0, 0, 0, 0}, {34, 512, 72, 4096, 0, 0, 0}, {3855, 51, 4883, 0, 0, 0, 0}, {2048, 68, 5160, 0, 0, 0, 0}, {63, 85, 1295, 4122, 0, 0, 0}, {2560, 102, 5674, 0, 0, 0, 0}, {63, 72, 1807, 4120, 0, 0, 0}, {2048, 72, 4136, 0, 0, 0, 0}, {51, 85, 1295, 4889, 0, 0, 0}, {2560, 106, 4138, 0, 0, 0, 0}, {51, 68, 1807, 4891, 0, 0, 0}, {204, 7200, 8224, 20588, 0, 0, 0}, {29, 34, 512, 85, 1298, 4114, 0}, {34, 512, 68, 5120, 0, 0, 0}, {3855, 63, 4112, 0, 0, 0, 0}, {8192, 20720, 0, 0, 0, 0, 0}, {12, 17, 258, 0, 0, 0, 0}, {34, 514, 20560, 0, 0, 0, 0}, {12, 51, 768, 4096, 0, 0, 0}, {12, 68, 1028, 4148, 0, 0, 0}, {8202, 85, 1290, 0, 0, 0, 0}, {12, 102, 1542, 4150, 0, 0, 0}, {8200, 119, 1800, 0, 0, 0, 0}, {136, 2056, 8200, 20600, 0, 0, 0}, {12, 51, 768, 85, 1286, 4102, 0}, {170, 2570, 8202, 20560, 0, 0, 0}, {12, 51, 768, 68, 1028, 4100, 0}, {12, 4144, 0, 0, 0, 0, 0}, {34, 514, 85, 1290, 0, 0, 0}, {12, 34, 514, 68, 1028, 4112, 0}, {255, 3840, 8192, 20480, 0, 0, 0}, {3072, 4352, 0, 0, 0, 0, 0}, {32, 80, 257, 0, 0, 0, 0}, {32, 514, 1032, 4354, 0, 0, 0}, {240, 771, 4403, 0, 0, 0, 0}, {128, 1028, 4420, 0, 0, 0, 0}, {783, 80, 1285, 4357, 0, 0, 0}, {160, 1542, 4454, 0, 0, 0, 0}, {783, 112, 1032, 4359, 0, 0, 0}, {128, 1032, 4360, 0, 0, 0, 0}, {771, 80, 1285, 4409, 0, 0, 0}, {160, 1546, 4362, 0, 0, 0, 0}, {771, 112, 1028, 4411, 0, 0, 0}, {4556, 3084, 8704, 21760, 0, 0, 0}, {269, 32, 514, 80, 1285, 4096, 0}, {32, 514, 1028, 4430, 0, 0, 0}, {240, 783, 4367, 0, 0, 0, 0}, {32, 80, 272, 0, 0, 0, 0}, {3276, 4369, 0, 0, 0, 0, 0}, {240, 816, 4386, 0, 0, 0, 0}, {32, 512, 1100, 4371, 0, 0, 0}, {828, 80, 1280, 4372, 0, 0, 0}, {128, 1088, 4437, 0, 0, 0, 0}, {828, 112, 1084, 4374, 0, 0, 0}, {160, 1632, 4471, 0, 0, 0, 0}, {816, 80, 1280, 4392, 0, 0, 0}, {128, 1100, 4377, 0, 0, 0, 0}, {816, 112, 1072, 4394, 0, 0, 0}, {160, 1644, 4379, 0, 0, 0, 0}, {284, 32, 512, 80, 1280, 4096, 0}, {4573, 7453, 8738, 21845, 0, 0, 0}, {240, 828, 4382, 0, 0, 0, 0}, {32, 512, 1088, 4447, 0, 0, 0}, {32, 512, 1024, 4352, 0, 0, 0}, {240, 771, 4369, 0, 0, 0, 0}, {3072, 4386, 0, 0, 0, 0, 0}, {32, 80, 259, 0, 0, 0, 0}, {160, 1548, 4420, 0, 0, 0, 0}, {783, 112, 1024, 4389, 0, 0, 0}, {128, 1036, 4454, 0, 0, 0, 0}, {783, 80, 1295, 4391, 0, 0, 0}, {160, 1536, 4392, 0, 0, 0, 0}, {771, 112, 1036, 4377, 0, 0, 0}, {128, 1024, 4394, 0, 0, 0, 0}, {771, 80, 1295, 4379, 0, 0, 0}, {32, 512, 1036, 4428, 0, 0, 0}, {240, 783, 4397, 0, 0, 0, 0}, {4590, 3084, 8738, 17476, 0, 0, 0}, {271, 32, 512, 80, 1024, 4096, 0}, {240, 816, 4352, 0, 0, 0, 0}, {32, 514, 1092, 4369, 0, 0, 0}, {32, 80, 274, 0, 0, 0, 0}, {3276, 4403, 0, 0, 0, 0, 0}, {828, 112, 1076, 4404, 0, 0, 0}, {160, 1642, 4437, 0, 0, 0, 0}, {828, 80, 1290, 4406, 0, 0, 0}, {128, 1096, 4471, 0, 0, 0, 0}, {816, 112, 1080, 4360, 0, 0, 0}, {160, 1638, 4409, 0, 0, 0, 0}, {816, 80, 1290, 4362, 0, 0, 0}, {128, 1092, 4411, 0, 0, 0, 0}, {240, 828, 4412, 0, 0, 0, 0}, {32, 514, 1096, 4445, 0, 0, 0}, {286, 32, 514, 80, 1044, 4096, 0}, {4607, 7487, 8704, 17408, 0, 0, 0}, {128, 1088, 4352, 0, 0, 0, 0}, {819, 80, 1285, 4369, 0, 0, 0}, {160, 1642, 4386, 0, 0, 0, 0}, {819, 112, 1084, 4403, 0, 0, 0}, {3276, 4420, 0, 0, 0, 0, 0}, {32, 80, 277, 0, 0, 0, 0}, {32, 522, 1100, 4422, 0, 0, 0}, {240, 831, 4471, 0, 0, 0, 0}, {4488, 7496, 13056, 21760, 0, 0, 0}, {281, 32, 787, 80, 1285, 4096, 0}, {32, 522, 1088, 4362, 0, 0, 0}, {240, 819, 4427, 0, 0, 0, 0}, {128, 1100, 4428, 0, 0, 0, 0}, {831, 80, 1285, 4397, 0, 0, 0}, {160, 1638, 4430, 0, 0, 0, 0}, {831, 112, 1072, 4367, 0, 0, 0}, {768, 80, 1280, 4352, 0, 0, 0}, {128, 1028, 4369, 0, 0, 0, 0}, {768, 112, 1032, 4386, 0, 0, 0}, {160, 1548, 4403, 0, 0, 0, 0}, {32, 80, 260, 0, 0, 0, 0}, {3072, 4437, 0, 0, 0, 0, 0}, {240, 780, 4454, 0, 0, 0, 0}, {32, 520, 1032, 4439, 0, 0, 0}, {264, 32, 768, 80, 1280, 4096, 0}, {4505, 3084, 13107, 21845, 0, 0, 0}, {240, 768, 4442, 0, 0, 0, 0}, {32, 520, 1028, 4379, 0, 0, 0}, {780, 80, 1280, 4412, 0, 0, 0}, {128, 1032, 4445, 0, 0, 0, 0}, {780, 112, 1028, 4382, 0, 0, 0}, {160, 1536, 4447, 0, 0, 0, 0}, {160, 1632, 4352, 0, 0, 0, 0}, {819, 112, 1076, 4369, 0, 0, 0}, {128, 1096, 4386, 0, 0, 0, 0}, {819, 80, 1295, 4403, 0, 0, 0}, {32, 520, 1092, 4420, 0, 0, 0}, {240, 831, 4437, 0, 0, 0, 0}, {3276, 4454, 0, 0, 0, 0, 0}, {32, 80, 279, 0, 0, 0, 0}, {32, 520, 1096, 4360, 0, 0, 0}, {240, 819, 4457, 0, 0, 0, 0}, {4522, 7530, 13056, 17408, 0, 0, 0}, {283, 32, 787, 80, 1044, 4096, 0}, {160, 1644, 4460, 0, 0, 0, 0}, {831, 112, 1080, 4397, 0, 0, 0}, {128, 1092, 4462, 0, 0, 0, 0}, {831, 80, 1295, 4367, 0, 0, 0}, {768, 112, 1024, 4352, 0, 0, 0}, {160, 1542, 4369, 0, 0, 0, 0}, {768, 80, 1290, 4386, 0, 0, 0}, {128, 1036, 4403, 0, 0, 0, 0}, {240, 780, 4420, 0, 0, 0, 0}, {32, 522, 1024, 4437, 0, 0, 0}, {32, 80, 262, 0, 0, 0, 0}, {3072, 4471, 0, 0, 0, 0, 0}, {240, 768, 4472, 0, 0, 0, 0}, {32, 522, 1036, 4377, 0, 0, 0}, {266, 32, 768, 80, 1024, 4096, 0}, {4539, 3084, 13107, 17476, 0, 0, 0}, {780, 112, 1036, 4412, 0, 0, 0}, {160, 1546, 4477, 0, 0, 0, 0}, {780, 80, 1290, 4382, 0, 0, 0}, {128, 1024, 4479, 0, 0, 0, 0}, {128, 1024, 4352, 0, 0, 0, 0}, {771, 80, 1285, 4369, 0, 0, 0}, {160, 1546, 4386, 0, 0, 0, 0}, {771, 112, 1036, 4403, 0, 0, 0}, {3084, 4420, 0, 0, 0, 0, 0}, {32, 80, 261, 0, 0, 0, 0}, {32, 522, 1036, 4422, 0, 0, 0}, {240, 783, 4471, 0, 0, 0, 0}, {4488, 3072, 13056, 21760, 0, 0, 0}, {265, 32, 771, 80, 1285, 4112, 0}, {32, 522, 1024, 4362, 0, 0, 0}, {240, 771, 4427, 0, 0, 0, 0}, {128, 1036, 4428, 0, 0, 0, 0}, {783, 80, 1285, 4397, 0, 0, 0}, {160, 1542, 4430, 0, 0, 0, 0}, {783, 112, 1024, 4367, 0, 0, 0}, {816, 80, 1280, 4352, 0, 0, 0}, {128, 1092, 4369, 0, 0, 0, 0}, {816, 112, 1080, 4386, 0, 0, 0}, {160, 1644, 4403, 0, 0, 0, 0}, {32, 80, 276, 0, 0, 0, 0}, {3264, 4437, 0, 0, 0, 0, 0}, {240, 828, 4454, 0, 0, 0, 0}, {32, 520, 1096, 4439, 0, 0, 0}, {280, 32, 784, 80, 1280, 4112, 0}, {4505, 7509, 13107, 21845, 0, 0, 0}, {240, 816, 4442, 0, 0, 0, 0}, {32, 520, 1092, 4379, 0, 0, 0}, {828, 80, 1280, 4412, 0, 0, 0}, {128, 1096, 4445, 0, 0, 0, 0}, {828, 112, 1076, 4382, 0, 0, 0}, {160, 1632, 4447, 0, 0, 0, 0}, {160, 1536, 4352, 0, 0, 0, 0}, {771, 112, 1028, 4369, 0, 0, 0}, {128, 1032, 4386, 0, 0, 0, 0}, {771, 80, 1295, 4403, 0, 0, 0}, {32, 520, 1028, 4420, 0, 0, 0}, {240, 783, 4437, 0, 0, 0, 0}, {3084, 4454, 0, 0, 0, 0, 0}, {32, 80, 263, 0, 0, 0, 0}, {32, 520, 1032, 4360, 0, 0, 0}, {240, 771, 4457, 0, 0, 0, 0}, {4522, 3072, 13056, 17408, 0, 0, 0}, {267, 32, 771, 80, 1028, 4112, 0}, {160, 1548, 4460, 0, 0, 0, 0}, {783, 112, 1032, 4397, 0, 0, 0}, {128, 1028, 4462, 0, 0, 0, 0}, {783, 80, 1295, 4367, 0, 0, 0}, {816, 112, 1072, 4352, 0, 0, 0}, {160, 1638, 4369, 0, 0, 0, 0}, {816, 80, 1290, 4386, 0, 0, 0}, {128, 1100, 4403, 0, 0, 0, 0}, {240, 828, 4420, 0, 0, 0, 0}, {32, 522, 1088, 4437, 0, 0, 0}, {32, 80, 278, 0, 0, 0, 0}, {3264, 4471, 0, 0, 0, 0, 0}, {240, 816, 4472, 0, 0, 0, 0}, {32, 522, 1100, 4377, 0, 0, 0}, {282, 32, 784, 80, 1040, 4112, 0}, {4539, 7543, 13107, 17476, 0, 0, 0}, {828, 112, 1084, 4412, 0, 0, 0}, {160, 1642, 4477, 0, 0, 0, 0}, {828, 80, 1290, 4382, 0, 0, 0}, {128, 1088, 4479, 0, 0, 0, 0}, {3264, 4352, 0, 0, 0, 0, 0}, {32, 80, 273, 0, 0, 0, 0}, {32, 514, 1096, 4354, 0, 0, 0}, {240, 819, 4403, 0, 0, 0, 0}, {128, 1092, 4420, 0, 0, 0, 0}, {831, 80, 1285, 4357, 0, 0, 0}, {160, 1638, 4454, 0, 0, 0, 0}, {831, 112, 1080, 4359, 0, 0, 0}, {128, 1096, 4360, 0, 0, 0, 0}, {819, 80, 1285, 4409, 0, 0, 0}, {160, 1642, 4362, 0, 0, 0, 0}, {819, 112, 1076, 4411, 0, 0, 0}, {4556, 7424, 8704, 21760, 0, 0, 0}, {285, 32, 514, 80, 1285, 4112, 0}, {32, 514, 1092, 4430, 0, 0, 0}, {240, 831, 4367, 0, 0, 0, 0}, {32, 80, 256, 0, 0, 0, 0}, {3084, 4369, 0, 0, 0, 0, 0}, {240, 768, 4386, 0, 0, 0, 0}, {32, 512, 1036, 4371, 0, 0, 0}, {780, 80, 1280, 4372, 0, 0, 0}, {128, 1024, 4437, 0, 0, 0, 0}, {780, 112, 1036, 4374, 0, 0, 0}, {160, 1536, 4471, 0, 0, 0, 0}, {768, 80, 1280, 4392, 0, 0, 0}, {128, 1036, 4377, 0, 0, 0, 0}, {768, 112, 1024, 4394, 0, 0, 0}, {160, 1548, 4379, 0, 0, 0, 0}, {268, 32, 512, 80, 1280, 4112, 0}, {4573, 3072, 8738, 21845, 0, 0, 0}, {240, 780, 4382, 0, 0, 0, 0}, {32, 512, 1024, 4447, 0, 0, 0}, {32, 512, 1088, 4352, 0, 0, 0}, {240, 819, 4369, 0, 0, 0, 0}, {3264, 4386, 0, 0, 0, 0, 0}, {32, 80, 275, 0, 0, 0, 0}, {160, 1644, 4420, 0, 0, 0, 0}, {831, 112, 1072, 4389, 0, 0, 0}, {128, 1100, 4454, 0, 0, 0, 0}, {831, 80, 1295, 4391, 0, 0, 0}, {160, 1632, 4392, 0, 0, 0, 0}, {819, 112, 1084, 4377, 0, 0, 0}, {128, 1088, 4394, 0, 0, 0, 0}, {819, 80, 1295, 4379, 0, 0, 0}, {32, 512, 1100, 4428, 0, 0, 0}, {240, 831, 4397, 0, 0, 0, 0}, {4590, 7458, 8738, 17476, 0, 0, 0}, {287, 32, 512, 80, 1040, 4112, 0}, {240, 768, 4352, 0, 0, 0, 0}, {32, 514, 1028, 4369, 0, 0, 0}, {32, 80, 258, 0, 0, 0, 0}, {3084, 4403, 0, 0, 0, 0, 0}, {780, 112, 1028, 4404, 0, 0, 0}, {160, 1546, 4437, 0, 0, 0, 0}, {780, 80, 1290, 4406, 0, 0, 0}, {128, 1032, 4471, 0, 0, 0, 0}, {768, 112, 1032, 4360, 0, 0, 0}, {160, 1542, 4409, 0, 0, 0, 0}, {768, 80, 1290, 4362, 0, 0, 0}, {128, 1028, 4411, 0, 0, 0, 0}, {240, 780, 4412, 0, 0, 0, 0}, {32, 514, 1032, 4445, 0, 0, 0}, {270, 32, 514, 80, 1028, 4112, 0}, {4607, 3072, 8704, 17408, 0, 0, 0}, {8704, 23040, 0, 0, 0, 0, 0}, {12, 19, 257, 0, 0, 0, 0}, {32, 514, 20480, 0, 0, 0, 0}, {12, 51, 771, 4352, 0, 0, 0}, {12, 64, 1028, 4612, 0, 0, 0}, {8714, 95, 1285, 0, 0, 0, 0}, {12, 96, 1542, 4614, 0, 0, 0}, {8712, 127, 1799, 0, 0, 0, 0}, {128, 2056, 8712, 21000, 0, 0, 0}, {12, 51, 771, 83, 1285, 4358, 0}, {160, 2570, 8714, 20480, 0, 0, 0}, {12, 51, 771, 64, 1028, 4356, 0}, {12, 4608, 0, 0, 0, 0, 0}, {32, 514, 95, 1285, 0, 0, 0}, {12, 32, 514, 64, 1028, 4096, 0}, {255, 3855, 8704, 21760, 0, 0, 0}, {32, 512, 64, 4112, 0, 0, 0}, {3840, 51, 4369, 0, 0, 0, 0}, {192, 4626, 0, 0, 0, 0, 0}, {512, 1280, 19, 0, 0, 0, 0}, {2560, 108, 5140, 0, 0, 0, 0}, {63, 64, 1792, 4629, 0, 0, 0}, {2048, 76, 5654, 0, 0, 0, 0}, {63, 95, 1280, 4631, 0, 0, 0}, {2560, 96, 4632, 0, 0, 0, 0}, {51, 76, 1792, 4377, 0, 0, 0}, {2048, 64, 4634, 0, 0, 0, 0}, {51, 95, 1280, 4379, 0, 0, 0}, {32, 512, 76, 5148, 0, 0, 0}, {3840, 63, 4637, 0, 0, 0, 0}, {204, 7710, 8738, 17476, 0, 0, 0}, {31, 32, 512, 64, 1280, 4096, 0}, {32, 512, 20480, 0, 0, 0, 0}, {12, 51, 771, 4369, 0, 0, 0}, {8738, 23210, 0, 0, 0, 0, 0}, {12, 19, 259, 0, 0, 0, 0}, {12, 96, 1536, 4644, 0, 0, 0}, {8746, 127, 1807, 0, 0, 0, 0}, {12, 64, 1024, 4646, 0, 0, 0}, {8744, 95, 1295, 0, 0, 0, 0}, {160, 2560, 8744, 20480, 0, 0, 0}, {12, 51, 771, 64, 1024, 4373, 0}, {128, 2048, 8746, 21034, 0, 0, 0}, {12, 51, 771, 83, 1283, 4375, 0}, {12, 32, 512, 64, 1024, 4096, 0}, {255, 3855, 8738, 21845, 0, 0, 0}, {12, 4642, 0, 0, 0, 0, 0}, {32, 512, 95, 1295, 0, 0, 0}, {192, 4656, 0, 0, 0, 0, 0}, {514, 1290, 19, 0, 0, 0, 0}, {32, 514, 64, 4112, 0, 0, 0}, {3840, 51, 4352, 0, 0, 0, 0}, {2056, 76, 5692, 0, 0, 0, 0}, {63, 95, 1290, 4618, 0, 0, 0}, {2570, 108, 5180, 0, 0, 0, 0}, {63, 64, 1800, 4616, 0, 0, 0}, {2056, 64, 4664, 0, 0, 0, 0}, {51, 95, 1290, 4362, 0, 0, 0}, {2570, 96, 4666, 0, 0, 0, 0}, {51, 76, 1800, 4360, 0, 0, 0}, {204, 7740, 8704, 17408, 0, 0, 0}, {31, 32, 514, 64, 1301, 4096, 0}, {32, 514, 76, 5140, 0, 0, 0}, {3840, 63, 4608, 0, 0, 0, 0}, {2048, 64, 4608, 0, 0, 0, 0}, {51, 95, 1285, 4369, 0, 0, 0}, {2570, 96, 4642, 0, 0, 0, 0}, {51, 76, 1807, 4352, 0, 0, 0}, {204, 7748, 8772, 17476, 0, 0, 0}, {31, 32, 533, 64, 1285, 4112, 0}, {32, 522, 76, 5120, 0, 0, 0}, {3855, 63, 4679, 0, 0, 0, 0}, {192, 4680, 0, 0, 0, 0, 0}, {522, 1285, 19, 0, 0, 0, 0}, {32, 522, 64, 4096, 0, 0, 0}, {3855, 51, 4420, 0, 0, 0, 0}, {2048, 76, 5632, 0, 0, 0, 0}, {63, 95, 1285, 4626, 0, 0, 0}, {2570, 108, 5160, 0, 0, 0, 0}, {63, 64, 1807, 4623, 0, 0, 0}, {160, 2560, 8704, 20560, 0, 0, 0}, {12, 51, 768, 64, 1028, 4369, 0}, {128, 2056, 8738, 21074, 0, 0, 0}, {12, 51, 768, 83, 1280, 4352, 0}, {12, 32, 516, 64, 1028, 4112, 0}, {255, 3840, 8789, 21845, 0, 0, 0}, {12, 4694, 0, 0, 0, 0, 0}, {32, 520, 95, 1280, 0, 0, 0}, {32, 520, 20560, 0, 0, 0, 0}, {12, 51, 768, 4437, 0, 0, 0}, {8874, 23130, 0, 0, 0, 0, 0}, {12, 19, 260, 0, 0, 0, 0}, {12, 96, 1536, 4656, 0, 0, 0}, {8738, 127, 1800, 0, 0, 0, 0}, {12, 64, 1028, 4626, 0, 0, 0}, {8704, 95, 1280, 0, 0, 0, 0}, {2560, 96, 4608, 0, 0, 0, 0}, {51, 76, 1799, 4369, 0, 0, 0}, {2056, 64, 4642, 0, 0, 0, 0}, {51, 95, 1295, 4352, 0, 0, 0}, {32, 520, 76, 5128, 0, 0, 0}, {3855, 63, 4698, 0, 0, 0, 0}, {204, 7782, 8806, 17408, 0, 0, 0}, {31, 32, 535, 64, 1296, 4112, 0}, {32, 520, 64, 4096, 0, 0, 0}, {3855, 51, 4437, 0, 0, 0, 0}, {192, 4714, 0, 0, 0, 0, 0}, {520, 1295, 19, 0, 0, 0, 0}, {2560, 108, 5120, 0, 0, 0, 0}, {63, 64, 1799, 4626, 0, 0, 0}, {2056, 76, 5674, 0, 0, 0, 0}, {63, 95, 1295, 4623, 0, 0, 0}, {128, 2048, 8704, 21104, 0, 0, 0}, {12, 51, 768, 83, 1286, 4369, 0}, {160, 2570, 8738, 20560, 0, 0, 0}, {12, 51, 768, 64, 1024, 4352, 0}, {12, 4724, 0, 0, 0, 0, 0}, {32, 522, 95, 1290, 0, 0, 0}, {12, 32, 518, 64, 1024, 4112, 0}, {255, 3840, 8823, 21760, 0, 0, 0}, {8840, 23280, 0, 0, 0, 0, 0}, {12, 19, 262, 0, 0, 0, 0}, {32, 522, 20560, 0, 0, 0, 0}, {12, 51, 768, 4420, 0, 0, 0}, {12, 64, 1024, 4656, 0, 0, 0}, {8738, 95, 1290, 0, 0, 0, 0}, {12, 96, 1542, 4626, 0, 0, 0}, {8704, 127, 1792, 0, 0, 0, 0}, {128, 2048, 8704, 20992, 0, 0, 0}, {12, 51, 771, 83, 1285, 4369, 0}, {160, 2570, 8738, 20480, 0, 0, 0}, {12, 51, 771, 64, 1024, 4352, 0}, {12, 4676, 0, 0, 0, 0, 0}, {32, 522, 95, 1285, 0, 0, 0}, {12, 32, 518, 64, 1024, 4096, 0}, {255, 3855, 8823, 21760, 0, 0, 0}, {8840, 23040, 0, 0, 0, 0, 0}, {12, 19, 261, 0, 0, 0, 0}, {32, 522, 20480, 0, 0, 0, 0}, {12, 51, 771, 4420, 0, 0, 0}, {12, 64, 1024, 4608, 0, 0, 0}, {8738, 95, 1285, 0, 0, 0, 0}, {12, 96, 1542, 4642, 0, 0, 0}, {8704, 127, 1807, 0, 0, 0, 0}, {2560, 96, 4656, 0, 0, 0, 0}, {51, 76, 1800, 4369, 0, 0, 0}, {2056, 64, 4626, 0, 0, 0, 0}, {51, 95, 1280, 4352, 0, 0, 0}, {32, 520, 76, 5140, 0, 0, 0}, {3840, 63, 4693, 0, 0, 0, 0}, {204, 7770, 8806, 17408, 0, 0, 0}, {31, 32, 535, 64, 1280, 4096, 0}, {32, 520, 64, 4112, 0, 0, 0}, {3840, 51, 4437, 0, 0, 0, 0}, {192, 4698, 0, 0, 0, 0, 0}, {520, 1280, 19, 0, 0, 0, 0}, {2560, 108, 5180, 0, 0, 0, 0}, {63, 64, 1800, 4637, 0, 0, 0}, {2056, 76, 5654, 0, 0, 0, 0}, {63, 95, 1280, 4608, 0, 0, 0}, {160, 2560, 8704, 20480, 0, 0, 0}, {12, 51, 771, 64, 1028, 4369, 0}, {128, 2056, 8738, 21026, 0, 0, 0}, {12, 51, 771, 83, 1283, 4352, 0}, {12, 32, 516, 64, 1028, 4096, 0}, {255, 3855, 8789, 21845, 0, 0, 0}, {12, 4710, 0, 0, 0, 0, 0}, {32, 520, 95, 1295, 0, 0, 0}, {32, 520, 20480, 0, 0, 0, 0}, {12, 51, 771, 4437, 0, 0, 0}, {8874, 23210, 0, 0, 0, 0, 0}, {12, 19, 263, 0, 0, 0, 0}, {12, 96, 1536, 4608, 0, 0, 0}, {8738, 127, 1799, 0, 0, 0, 0}, {12, 64, 1028, 4642, 0, 0, 0}, {8704, 95, 1295, 0, 0, 0, 0}, {2048, 64, 4656, 0, 0, 0, 0}, {51, 95, 1290, 4369, 0, 0, 0}, {2570, 96, 4626, 0, 0, 0, 0}, {51, 76, 1792, 4352, 0, 0, 0}, {204, 7800, 8772, 17476, 0, 0, 0}, {31, 32, 533, 64, 1301, 4096, 0}, {32, 522, 76, 5148, 0, 0, 0}, {3840, 63, 4680, 0, 0, 0, 0}, {192, 4728, 0, 0, 0, 0, 0}, {522, 1290, 19, 0, 0, 0, 0}, {32, 522, 64, 4112, 0, 0, 0}, {3840, 51, 4420, 0, 0, 0, 0}, {2048, 76, 5692, 0, 0, 0, 0}, {63, 95, 1290, 4637, 0, 0, 0}, {2570, 108, 5140, 0, 0, 0, 0}, {63, 64, 1792, 4608, 0, 0, 0}, {192, 4608, 0, 0, 0, 0, 0}, {514, 1285, 19, 0, 0, 0, 0}, {32, 514, 64, 4096, 0, 0, 0}, {3855, 51, 4352, 0, 0, 0, 0}, {2056, 76, 5632, 0, 0, 0, 0}, {63, 95, 1285, 4613, 0, 0, 0}, {2570, 108, 5120, 0, 0, 0, 0}, {63, 64, 1799, 4615, 0, 0, 0}, {2056, 64, 4616, 0, 0, 0, 0}, {51, 95, 1285, 4362, 0, 0, 0}, {2570, 96, 4618, 0, 0, 0, 0}, {51, 76, 1799, 4360, 0, 0, 0}, {204, 7680, 8704, 17408, 0, 0, 0}, {31, 32, 514, 64, 1285, 4112, 0}, {32, 514, 76, 5128, 0, 0, 0}, {3855, 63, 4623, 0, 0, 0, 0}, {32, 512, 20560, 0, 0, 0, 0}, {12, 51, 768, 4369, 0, 0, 0}, {8738, 23130, 0, 0, 0, 0, 0}, {12, 19, 256, 0, 0, 0, 0}, {12, 96, 1536, 4628, 0, 0, 0}, {8746, 127, 1792, 0, 0, 0, 0}, {12, 64, 1024, 4630, 0, 0, 0}, {8744, 95, 1280, 0, 0, 0, 0}, {160, 2560, 8744, 20560, 0, 0, 0}, {12, 51, 768, 64, 1024, 4373, 0}, {128, 2048, 8746, 21082, 0, 0, 0}, {12, 51, 768, 83, 1280, 4375, 0}, {12, 32, 512, 64, 1024, 4112, 0}, {255, 3840, 8738, 21845, 0, 0, 0}, {12, 4626, 0, 0, 0, 0, 0}, {32, 512, 95, 1280, 0, 0, 0}, {32, 512, 64, 4096, 0, 0, 0}, {3855, 51, 4369, 0, 0, 0, 0}, {192, 4642, 0, 0, 0, 0, 0}, {512, 1295, 19, 0, 0, 0, 0}, {2560, 108, 5160, 0, 0, 0, 0}, {63, 64, 1807, 4634, 0, 0, 0}, {2048, 76, 5674, 0, 0, 0, 0}, {63, 95, 1295, 4632, 0, 0, 0}, {2560, 96, 4648, 0, 0, 0, 0}, {51, 76, 1807, 4377, 0, 0, 0}, {2048, 64, 4650, 0, 0, 0, 0}, {51, 95, 1295, 4379, 0, 0, 0}, {32, 512, 76, 5120, 0, 0, 0}, {3855, 63, 4626, 0, 0, 0, 0}, {204, 7714, 8738, 17476, 0, 0, 0}, {31, 32, 512, 64, 1296, 4112, 0}, {8704, 23280, 0, 0, 0, 0, 0}, {12, 19, 258, 0, 0, 0, 0}, {32, 514, 20560, 0, 0, 0, 0}, {12, 51, 768, 4352, 0, 0, 0}, {12, 64, 1028, 4660, 0, 0, 0}, {8714, 95, 1290, 0, 0, 0, 0}, {12, 96, 1542, 4662, 0, 0, 0}, {8712, 127, 1800, 0, 0, 0, 0}, {128, 2056, 8712, 21112, 0, 0, 0}, {12, 51, 768, 83, 1286, 4358, 0}, {160, 2570, 8714, 20560, 0, 0, 0}, {12, 51, 768, 64, 1028, 4356, 0}, {12, 4656, 0, 0, 0, 0, 0}, {32, 514, 95, 1290, 0, 0, 0}, {12, 32, 514, 64, 1028, 4112, 0}, {255, 3840, 8704, 21760, 0, 0, 0}, {3072, 4864, 0, 0, 0, 0, 0}, {34, 90, 257, 0, 0, 0, 0}, {34, 514, 1032, 4352, 0, 0, 0}, {240, 771, 4144, 0, 0, 0, 0}, {136, 1028, 4940, 0, 0, 0, 0}, {783, 90, 1285, 4106, 0, 0, 0}, {170, 1542, 4972, 0, 0, 0, 0}, {783, 120, 1032, 4104, 0, 0, 0}, {136, 1032, 4872, 0, 0, 0, 0}, {771, 90, 1285, 4154, 0, 0, 0}, {170, 1546, 4874, 0, 0, 0, 0}, {771, 120, 1028, 4152, 0, 0, 0}, {5068, 3084, 8192, 21260, 0, 0, 0}, {269, 34, 514, 343, 1285, 4098, 0}, {34, 514, 1028, 4420, 0, 0, 0}, {240, 783, 4096, 0, 0, 0, 0}, {240, 816, 4112, 0, 0, 0, 0}, {34, 512, 1092, 4369, 0, 0, 0}, {34, 90, 274, 0, 0, 0, 0}, {3276, 4883, 0, 0, 0, 0, 0}, {828, 120, 1084, 4136, 0, 0, 0}, {170, 1642, 4991, 0, 0, 0, 0}, {828, 90, 1280, 4138, 0, 0, 0}, {136, 1096, 4959, 0, 0, 0, 0}, {816, 120, 1072, 4120, 0, 0, 0}, {170, 1638, 4889, 0, 0, 0, 0}, {816, 90, 1280, 4122, 0, 0, 0}, {136, 1092, 4891, 0, 0, 0, 0}, {240, 828, 4128, 0, 0, 0, 0}, {34, 512, 1096, 4437, 0, 0, 0}, {286, 34, 512, 324, 1280, 4096, 0}, {5087, 7967, 8224, 16448, 0, 0, 0}, {3072, 4896, 0, 0, 0, 0, 0}, {34, 90, 259, 0, 0, 0, 0}, {34, 512, 1024, 4352, 0, 0, 0}, {240, 771, 4112, 0, 0, 0, 0}, {136, 1036, 4972, 0, 0, 0, 0}, {783, 90, 1295, 4138, 0, 0, 0}, {170, 1548, 4940, 0, 0, 0, 0}, {783, 120, 1024, 4136, 0, 0, 0}, {136, 1024, 4904, 0, 0, 0, 0}, {771, 90, 1295, 4122, 0, 0, 0}, {170, 1536, 4906, 0, 0, 0, 0}, {771, 120, 1036, 4120, 0, 0, 0}, {5100, 3084, 8224, 16448, 0, 0, 0}, {271, 34, 512, 341, 1024, 4096, 0}, {34, 512, 1036, 4420, 0, 0, 0}, {240, 783, 4128, 0, 0, 0, 0}, {240, 816, 4144, 0, 0, 0, 0}, {34, 514, 1100, 4369, 0, 0, 0}, {34, 90, 272, 0, 0, 0, 0}, {3276, 4915, 0, 0, 0, 0, 0}, {828, 120, 1076, 4104, 0, 0, 0}, {170, 1632, 4959, 0, 0, 0, 0}, {828, 90, 1290, 4106, 0, 0, 0}, {136, 1088, 4991, 0, 0, 0, 0}, {816, 120, 1080, 4152, 0, 0, 0}, {170, 1644, 4921, 0, 0, 0, 0}, {816, 90, 1290, 4154, 0, 0, 0}, {136, 1100, 4923, 0, 0, 0, 0}, {240, 828, 4096, 0, 0, 0, 0}, {34, 514, 1088, 4437, 0, 0, 0}, {284, 34, 514, 326, 1046, 4098, 0}, {5119, 7999, 8192, 21311, 0, 0, 0}, {4992, 8000, 13056, 16448, 0, 0, 0}, {283, 34, 785, 321, 1285, 4369, 0}, {34, 522, 1096, 4352, 0, 0, 0}, {240, 819, 4208, 0, 0, 0, 0}, {136, 1092, 4932, 0, 0, 0, 0}, {831, 90, 1285, 4112, 0, 0, 0}, {170, 1644, 4934, 0, 0, 0, 0}, {831, 120, 1072, 4144, 0, 0, 0}, {136, 1096, 4864, 0, 0, 0, 0}, {819, 90, 1285, 4128, 0, 0, 0}, {170, 1632, 4896, 0, 0, 0, 0}, {819, 120, 1084, 4096, 0, 0, 0}, {3276, 4940, 0, 0, 0, 0, 0}, {34, 90, 279, 0, 0, 0, 0}, {34, 522, 1092, 4420, 0, 0, 0}, {240, 831, 4160, 0, 0, 0, 0}, {240, 768, 4176, 0, 0, 0, 0}, {34, 520, 1028, 4369, 0, 0, 0}, {264, 34, 768, 338, 1280, 4352, 0}, {5011, 3084, 13107, 21331, 0, 0, 0}, {780, 120, 1028, 4112, 0, 0, 0}, {170, 1536, 4949, 0, 0, 0, 0}, {780, 90, 1280, 4144, 0, 0, 0}, {136, 1032, 4951, 0, 0, 0, 0}, {768, 120, 1032, 4128, 0, 0, 0}, {170, 1548, 4915, 0, 0, 0, 0}, {768, 90, 1280, 4096, 0, 0, 0}, {136, 1028, 4883, 0, 0, 0, 0}, {240, 780, 4192, 0, 0, 0, 0}, {34, 520, 1032, 4437, 0, 0, 0}, {34, 90, 260, 0, 0, 0, 0}, {3072, 4959, 0, 0, 0, 0, 0}, {5024, 8032, 13056, 21344, 0, 0, 0}, {281, 34, 785, 323, 1046, 4369, 0}, {34, 520, 1088, 4352, 0, 0, 0}, {240, 819, 4176, 0, 0, 0, 0}, {136, 1100, 4964, 0, 0, 0, 0}, {831, 90, 1295, 4144, 0, 0, 0}, {170, 1638, 4966, 0, 0, 0, 0}, {831, 120, 1080, 4112, 0, 0, 0}, {136, 1088, 4896, 0, 0, 0, 0}, {819, 90, 1295, 4096, 0, 0, 0}, {170, 1642, 4864, 0, 0, 0, 0}, {819, 120, 1076, 4128, 0, 0, 0}, {3276, 4972, 0, 0, 0, 0, 0}, {34, 90, 277, 0, 0, 0, 0}, {34, 520, 1100, 4420, 0, 0, 0}, {240, 831, 4192, 0, 0, 0, 0}, {240, 768, 4208, 0, 0, 0, 0}, {34, 522, 1036, 4369, 0, 0, 0}, {266, 34, 768, 336, 1024, 4352, 0}, {5043, 3084, 13107, 16448, 0, 0, 0}, {780, 120, 1036, 4144, 0, 0, 0}, {170, 1546, 4981, 0, 0, 0, 0}, {780, 90, 1290, 4112, 0, 0, 0}, {136, 1024, 4983, 0, 0, 0, 0}, {768, 120, 1024, 4096, 0, 0, 0}, {170, 1542, 4883, 0, 0, 0, 0}, {768, 90, 1290, 4128, 0, 0, 0}, {136, 1036, 4915, 0, 0, 0, 0}, {240, 780, 4160, 0, 0, 0, 0}, {34, 522, 1024, 4437, 0, 0, 0}, {34, 90, 262, 0, 0, 0, 0}, {3072, 4991, 0, 0, 0, 0, 0}, {4992, 3072, 13056, 21248, 0, 0, 0}, {265, 34, 771, 339, 1285, 4369, 0}, {34, 522, 1024, 4352, 0, 0, 0}, {240, 771, 4160, 0, 0, 0, 0}, {136, 1036, 4932, 0, 0, 0, 0}, {783, 90, 1285, 4128, 0, 0, 0}, {170, 1542, 4934, 0, 0, 0, 0}, {783, 120, 1024, 4096, 0, 0, 0}, {136, 1024, 4864, 0, 0, 0, 0}, {771, 90, 1285, 4112, 0, 0, 0}, {170, 1546, 4896, 0, 0, 0, 0}, {771, 120, 1036, 4144, 0, 0, 0}, {3084, 4940, 0, 0, 0, 0, 0}, {34, 90, 261, 0, 0, 0, 0}, {34, 522, 1036, 4420, 0, 0, 0}, {240, 783, 4208, 0, 0, 0, 0}, {240, 816, 4192, 0, 0, 0, 0}, {34, 520, 1100, 4369, 0, 0, 0}, {282, 34, 786, 320, 1280, 4352, 0}, {5011, 8031, 13107, 16384, 0, 0, 0}, {828, 120, 1076, 4128, 0, 0, 0}, {170, 1642, 4949, 0, 0, 0, 0}, {828, 90, 1280, 4096, 0, 0, 0}, {136, 1088, 4951, 0, 0, 0, 0}, {816, 120, 1080, 4112, 0, 0, 0}, {170, 1638, 4915, 0, 0, 0, 0}, {816, 90, 1280, 4144, 0, 0, 0}, {136, 1100, 4883, 0, 0, 0, 0}, {240, 828, 4176, 0, 0, 0, 0}, {34, 520, 1088, 4437, 0, 0, 0}, {34, 90, 278, 0, 0, 0, 0}, {3264, 4959, 0, 0, 0, 0, 0}, {5024, 3072, 13056, 16384, 0, 0, 0}, {267, 34, 771, 337, 1028, 4369, 0}, {34, 520, 1032, 4352, 0, 0, 0}, {240, 771, 4192, 0, 0, 0, 0}, {136, 1028, 4964, 0, 0, 0, 0}, {783, 90, 1295, 4096, 0, 0, 0}, {170, 1548, 4966, 0, 0, 0, 0}, {783, 120, 1032, 4128, 0, 0, 0}, {136, 1032, 4896, 0, 0, 0, 0}, {771, 90, 1295, 4144, 0, 0, 0}, {170, 1536, 4864, 0, 0, 0, 0}, {771, 120, 1028, 4112, 0, 0, 0}, {3084, 4972, 0, 0, 0, 0, 0}, {34, 90, 263, 0, 0, 0, 0}, {34, 520, 1028, 4420, 0, 0, 0}, {240, 783, 4176, 0, 0, 0, 0}, {240, 816, 4160, 0, 0, 0, 0}, {34, 522, 1092, 4369, 0, 0, 0}, {280, 34, 786, 322, 1042, 4352, 0}, {5043, 8063, 13107, 21299, 0, 0, 0}, {828, 120, 1084, 4096, 0, 0, 0}, {170, 1632, 4981, 0, 0, 0, 0}, {828, 90, 1290, 4128, 0, 0, 0}, {136, 1096, 4983, 0, 0, 0, 0}, {816, 120, 1072, 4144, 0, 0, 0}, {170, 1644, 4883, 0, 0, 0, 0}, {816, 90, 1290, 4112, 0, 0, 0}, {136, 1092, 4915, 0, 0, 0, 0}, {240, 828, 4208, 0, 0, 0, 0}, {34, 522, 1096, 4437, 0, 0, 0}, {34, 90, 276, 0, 0, 0, 0}, {3264, 4991, 0, 0, 0, 0, 0}, {3264, 4864, 0, 0, 0, 0, 0}, {34, 90, 275, 0, 0, 0, 0}, {34, 514, 1088, 4352, 0, 0, 0}, {240, 819, 4096, 0, 0, 0, 0}, {136, 1100, 4940, 0, 0, 0, 0}, {831, 90, 1285, 4154, 0, 0, 0}, {170, 1644, 4972, 0, 0, 0, 0}, {831, 120, 1080, 4152, 0, 0, 0}, {136, 1088, 4872, 0, 0, 0, 0}, {819, 90, 1285, 4106, 0, 0, 0}, {170, 1632, 4874, 0, 0, 0, 0}, {819, 120, 1076, 4104, 0, 0, 0}, {5068, 7936, 8192, 16384, 0, 0, 0}, {287, 34, 514, 325, 1285, 4112, 0}, {34, 514, 1100, 4420, 0, 0, 0}, {240, 831, 4144, 0, 0, 0, 0}, {240, 768, 4128, 0, 0, 0, 0}, {34, 512, 1036, 4369, 0, 0, 0}, {34, 90, 256, 0, 0, 0, 0}, {3084, 4883, 0, 0, 0, 0, 0}, {780, 120, 1036, 4120, 0, 0, 0}, {170, 1536, 4991, 0, 0, 0, 0}, {780, 90, 1280, 4122, 0, 0, 0}, {136, 1024, 4959, 0, 0, 0, 0}, {768, 120, 1024, 4136, 0, 0, 0}, {170, 1548, 4889, 0, 0, 0, 0}, {768, 90, 1280, 4138, 0, 0, 0}, {136, 1036, 4891, 0, 0, 0, 0}, {240, 780, 4112, 0, 0, 0, 0}, {34, 512, 1024, 4437, 0, 0, 0}, {268, 34, 512, 342, 1280, 4114, 0}, {5087, 3072, 8224, 21343, 0, 0, 0}, {3264, 4896, 0, 0, 0, 0, 0}, {34, 90, 273, 0, 0, 0, 0}, {34, 512, 1096, 4352, 0, 0, 0}, {240, 819, 4128, 0, 0, 0, 0}, {136, 1092, 4972, 0, 0, 0, 0}, {831, 90, 1295, 4122, 0, 0, 0}, {170, 1638, 4940, 0, 0, 0, 0}, {831, 120, 1072, 4120, 0, 0, 0}, {136, 1096, 4904, 0, 0, 0, 0}, {819, 90, 1295, 4138, 0, 0, 0}, {170, 1642, 4906, 0, 0, 0, 0}, {819, 120, 1084, 4136, 0, 0, 0}, {5100, 7968, 8224, 21356, 0, 0, 0}, {285, 34, 512, 327, 1042, 4114, 0}, {34, 512, 1092, 4420, 0, 0, 0}, {240, 831, 4112, 0, 0, 0, 0}, {240, 768, 4096, 0, 0, 0, 0}, {34, 514, 1028, 4369, 0, 0, 0}, {34, 90, 258, 0, 0, 0, 0}, {3084, 4915, 0, 0, 0, 0, 0}, {780, 120, 1028, 4152, 0, 0, 0}, {170, 1546, 4959, 0, 0, 0, 0}, {780, 90, 1290, 4154, 0, 0, 0}, {136, 1032, 4991, 0, 0, 0, 0}, {768, 120, 1032, 4104, 0, 0, 0}, {170, 1542, 4921, 0, 0, 0, 0}, {768, 90, 1290, 4106, 0, 0, 0}, {136, 1028, 4923, 0, 0, 0, 0}, {240, 780, 4144, 0, 0, 0, 0}, {34, 514, 1032, 4437, 0, 0, 0}, {270, 34, 514, 340, 1028, 4112, 0}, {5119, 3072, 8192, 16384, 0, 0, 0}, {3072, 5120, 0, 0, 0, 0, 0}, {42, 85, 257, 0, 0, 0, 0}, {42, 514, 1032, 4106, 0, 0, 0}, {255, 771, 5180, 0, 0, 0, 0}, {128, 1028, 4160, 0, 0, 0, 0}, {783, 85, 1285, 4352, 0, 0, 0}, {170, 1542, 4714, 0, 0, 0, 0}, {783, 127, 1032, 4111, 0, 0, 0}, {128, 1032, 4096, 0, 0, 0, 0}, {771, 85, 1285, 4403, 0, 0, 0}, {170, 1546, 4608, 0, 0, 0, 0}, {771, 127, 1028, 4144, 0, 0, 0}, {5324, 3084, 9228, 20480, 0, 0, 0}, {269, 295, 514, 85, 1285, 4101, 0}, {42, 514, 1028, 4170, 0, 0, 0}, {255, 783, 5135, 0, 0, 0, 0}, {128, 1088, 4112, 0, 0, 0, 0}, {819, 85, 1280, 4369, 0, 0, 0}, {170, 1642, 4626, 0, 0, 0, 0}, {819, 127, 1075, 4128, 0, 0, 0}, {3276, 5140, 0, 0, 0, 0, 0}, {42, 85, 277, 0, 0, 0, 0}, {42, 512, 1100, 4186, 0, 0, 0}, {255, 831, 5160, 0, 0, 0, 0}, {5336, 6168, 12336, 20560, 0, 0, 0}, {281, 307, 512, 85, 1280, 4096, 0}, {42, 512, 1088, 4122, 0, 0, 0}, {255, 819, 5147, 0, 0, 0, 0}, {128, 1100, 4176, 0, 0, 0, 0}, {831, 85, 1280, 4386, 0, 0, 0}, {170, 1638, 4728, 0, 0, 0, 0}, {831, 127, 1087, 4127, 0, 0, 0}, {128, 1024, 4128, 0, 0, 0, 0}, {771, 85, 1295, 4369, 0, 0, 0}, {170, 1536, 4642, 0, 0, 0, 0}, {771, 127, 1036, 4112, 0, 0, 0}, {5348, 3084, 9252, 17476, 0, 0, 0}, {271, 293, 512, 85, 1024, 4352, 0}, {42, 512, 1036, 4160, 0, 0, 0}, {255, 783, 5159, 0, 0, 0, 0}, {3072, 5160, 0, 0, 0, 0, 0}, {42, 85, 259, 0, 0, 0, 0}, {42, 512, 1024, 4096, 0, 0, 0}, {255, 771, 5140, 0, 0, 0, 0}, {128, 1036, 4192, 0, 0, 0, 0}, {783, 85, 1295, 4386, 0, 0, 0}, {170, 1548, 4680, 0, 0, 0, 0}, {783, 127, 1024, 4143, 0, 0, 0}, {5360, 6192, 12336, 17408, 0, 0, 0}, {283, 305, 514, 85, 1041, 4369, 0}, {42, 514, 1096, 4112, 0, 0, 0}, {255, 819, 5171, 0, 0, 0, 0}, {128, 1092, 4208, 0, 0, 0, 0}, {831, 85, 1290, 4352, 0, 0, 0}, {170, 1644, 4698, 0, 0, 0, 0}, {831, 127, 1079, 4159, 0, 0, 0}, {128, 1096, 4144, 0, 0, 0, 0}, {819, 85, 1290, 4403, 0, 0, 0}, {170, 1632, 4656, 0, 0, 0, 0}, {819, 127, 1083, 4096, 0, 0, 0}, {3276, 5180, 0, 0, 0, 0, 0}, {42, 85, 279, 0, 0, 0, 0}, {42, 514, 1092, 4176, 0, 0, 0}, {255, 831, 5120, 0, 0, 0, 0}, {128, 1088, 4160, 0, 0, 0, 0}, {828, 85, 1285, 4369, 0, 0, 0}, {170, 1632, 4680, 0, 0, 0, 0}, {828, 127, 1075, 4111, 0, 0, 0}, {3276, 5188, 0, 0, 0, 0, 0}, {42, 85, 272, 0, 0, 0, 0}, {42, 522, 1100, 4106, 0, 0, 0}, {255, 816, 5240, 0, 0, 0, 0}, {5256, 6216, 9288, 20480, 0, 0, 0}, {284, 310, 790, 85, 1285, 4101, 0}, {42, 522, 1088, 4170, 0, 0, 0}, {255, 828, 5195, 0, 0, 0, 0}, {128, 1100, 4096, 0, 0, 0, 0}, {816, 85, 1285, 4386, 0, 0, 0}, {170, 1644, 4642, 0, 0, 0, 0}, {816, 127, 1087, 4144, 0, 0, 0}, {3072, 5200, 0, 0, 0, 0, 0}, {42, 85, 260, 0, 0, 0, 0}, {42, 520, 1032, 4186, 0, 0, 0}, {255, 780, 5228, 0, 0, 0, 0}, {128, 1028, 4112, 0, 0, 0, 0}, {768, 85, 1280, 4352, 0, 0, 0}, {170, 1548, 4656, 0, 0, 0, 0}, {768, 127, 1032, 4128, 0, 0, 0}, {128, 1032, 4176, 0, 0, 0, 0}, {780, 85, 1280, 4403, 0, 0, 0}, {170, 1536, 4698, 0, 0, 0, 0}, {780, 127, 1028, 4127, 0, 0, 0}, {5276, 3084, 12336, 20560, 0, 0, 0}, {264, 290, 768, 85, 1280, 4096, 0}, {42, 520, 1028, 4122, 0, 0, 0}, {255, 768, 5215, 0, 0, 0, 0}, {5280, 6240, 9312, 17408, 0, 0, 0}, {286, 308, 790, 85, 1041, 4369, 0}, {42, 520, 1096, 4160, 0, 0, 0}, {255, 828, 5219, 0, 0, 0, 0}, {128, 1092, 4128, 0, 0, 0, 0}, {816, 85, 1295, 4352, 0, 0, 0}, {170, 1638, 4608, 0, 0, 0, 0}, {816, 127, 1079, 4112, 0, 0, 0}, {128, 1096, 4192, 0, 0, 0, 0}, {828, 85, 1295, 4403, 0, 0, 0}, {170, 1642, 4714, 0, 0, 0, 0}, {828, 127, 1083, 4143, 0, 0, 0}, {3276, 5228, 0, 0, 0, 0, 0}, {42, 85, 274, 0, 0, 0, 0}, {42, 520, 1092, 4096, 0, 0, 0}, {255, 816, 5200, 0, 0, 0, 0}, {128, 1024, 4208, 0, 0, 0, 0}, {780, 85, 1290, 4369, 0, 0, 0}, {170, 1546, 4728, 0, 0, 0, 0}, {780, 127, 1036, 4159, 0, 0, 0}, {5300, 3084, 12336, 17476, 0, 0, 0}, {266, 288, 768, 85, 1024, 4352, 0}, {42, 522, 1036, 4112, 0, 0, 0}, {255, 768, 5239, 0, 0, 0, 0}, {3072, 5240, 0, 0, 0, 0, 0}, {42, 85, 262, 0, 0, 0, 0}, {42, 522, 1024, 4176, 0, 0, 0}, {255, 780, 5188, 0, 0, 0, 0}, {128, 1036, 4144, 0, 0, 0, 0}, {768, 85, 1290, 4386, 0, 0, 0}, {170, 1542, 4626, 0, 0, 0, 0}, {768, 127, 1024, 4096, 0, 0, 0}, {128, 1024, 4096, 0, 0, 0, 0}, {771, 85, 1285, 4369, 0, 0, 0}, {170, 1546, 4642, 0, 0, 0, 0}, {771, 127, 1036, 4144, 0, 0, 0}, {3084, 5188, 0, 0, 0, 0, 0}, {42, 85, 261, 0, 0, 0, 0}, {42, 522, 1036, 4170, 0, 0, 0}, {255, 783, 5240, 0, 0, 0, 0}, {5256, 3072, 12288, 20480, 0, 0, 0}, {265, 291, 771, 85, 1285, 4112, 0}, {42, 522, 1024, 4106, 0, 0, 0}, {255, 771, 5195, 0, 0, 0, 0}, {128, 1036, 4160, 0, 0, 0, 0}, {783, 85, 1285, 4386, 0, 0, 0}, {170, 1542, 4680, 0, 0, 0, 0}, {783, 127, 1024, 4111, 0, 0, 0}, {3264, 5200, 0, 0, 0, 0, 0}, {42, 85, 273, 0, 0, 0, 0}, {42, 520, 1096, 4122, 0, 0, 0}, {255, 819, 5228, 0, 0, 0, 0}, {128, 1092, 4176, 0, 0, 0, 0}, {831, 85, 1280, 4352, 0, 0, 0}, {170, 1638, 4698, 0, 0, 0, 0}, {831, 127, 1079, 4127, 0, 0, 0}, {128, 1096, 4112, 0, 0, 0, 0}, {819, 85, 1280, 4403, 0, 0, 0}, {170, 1642, 4656, 0, 0, 0, 0}, {819, 127, 1083, 4128, 0, 0, 0}, {5276, 6224, 9324, 20560, 0, 0, 0}, {285, 311, 789, 85, 1280, 4117, 0}, {42, 520, 1092, 4186, 0, 0, 0}, {255, 831, 5215, 0, 0, 0, 0}, {5280, 3072, 12288, 17408, 0, 0, 0}, {267, 289, 771, 85, 1028, 4369, 0}, {42, 520, 1032, 4096, 0, 0, 0}, {255, 771, 5219, 0, 0, 0, 0}, {128, 1028, 4192, 0, 0, 0, 0}, {783, 85, 1295, 4352, 0, 0, 0}, {170, 1548, 4714, 0, 0, 0, 0}, {783, 127, 1032, 4143, 0, 0, 0}, {128, 1032, 4128, 0, 0, 0, 0}, {771, 85, 1295, 4403, 0, 0, 0}, {170, 1536, 4608, 0, 0, 0, 0}, {771, 127, 1028, 4112, 0, 0, 0}, {3084, 5228, 0, 0, 0, 0, 0}, {42, 85, 263, 0, 0, 0, 0}, {42, 520, 1028, 4160, 0, 0, 0}, {255, 783, 5200, 0, 0, 0, 0}, {128, 1088, 4144, 0, 0, 0, 0}, {819, 85, 1290, 4369, 0, 0, 0}, {170, 1632, 4626, 0, 0, 0, 0}, {819, 127, 1075, 4096, 0, 0, 0}, {5300, 6264, 9284, 17476, 0, 0, 0}, {287, 309, 789, 85, 1045, 4352, 0}, {42, 522, 1100, 4176, 0, 0, 0}, {255, 831, 5239, 0, 0, 0, 0}, {3264, 5240, 0, 0, 0, 0, 0}, {42, 85, 275, 0, 0, 0, 0}, {42, 522, 1088, 4112, 0, 0, 0}, {255, 819, 5188, 0, 0, 0, 0}, {128, 1100, 4208, 0, 0, 0, 0}, {831, 85, 1290, 4386, 0, 0, 0}, {170, 1644, 4728, 0, 0, 0, 0}, {831, 127, 1087, 4159, 0, 0, 0}, {3264, 5120, 0, 0, 0, 0, 0}, {42, 85, 276, 0, 0, 0, 0}, {42, 514, 1096, 4170, 0, 0, 0}, {255, 828, 5180, 0, 0, 0, 0}, {128, 1092, 4096, 0, 0, 0, 0}, {816, 85, 1285, 4352, 0, 0, 0}, {170, 1644, 4608, 0, 0, 0, 0}, {816, 127, 1079, 4144, 0, 0, 0}, {128, 1096, 4160, 0, 0, 0, 0}, {828, 85, 1285, 4403, 0, 0, 0}, {170, 1632, 4714, 0, 0, 0, 0}, {828, 127, 1083, 4111, 0, 0, 0}, {5324, 6144, 12288, 20480, 0, 0, 0}, {280, 306, 514, 85, 1285, 4112, 0}, {42, 514, 1092, 4106, 0, 0, 0}, {255, 816, 5135, 0, 0, 0, 0}, {128, 1024, 4176, 0, 0, 0, 0}, {780, 85, 1280, 4369, 0, 0, 0}, {170, 1536, 4728, 0, 0, 0, 0}, {780, 127, 1036, 4127, 0, 0, 0}, {3084, 5140, 0, 0, 0, 0, 0}, {42, 85, 256, 0, 0, 0, 0}, {42, 512, 1036, 4122, 0, 0, 0}, {255, 768, 5160, 0, 0, 0, 0}, {5336, 3072, 9256, 20560, 0, 0, 0}, {268, 294, 512, 85, 1280, 4117, 0}, {42, 512, 1024, 4186, 0, 0, 0}, {255, 780, 5147, 0, 0, 0, 0}, {128, 1036, 4112, 0, 0, 0, 0}, {768, 85, 1280, 4386, 0, 0, 0}, {170, 1548, 4626, 0, 0, 0, 0}, {768, 127, 1024, 4128, 0, 0, 0}, {128, 1088, 4192, 0, 0, 0, 0}, {828, 85, 1295, 4369, 0, 0, 0}, {170, 1642, 4680, 0, 0, 0, 0}, {828, 127, 1075, 4143, 0, 0, 0}, {5348, 6184, 12288, 17476, 0, 0, 0}, {282, 304, 512, 85, 1045, 4352, 0}, {42, 512, 1100, 4096, 0, 0, 0}, {255, 816, 5159, 0, 0, 0, 0}, {3264, 5160, 0, 0, 0, 0, 0}, {42, 85, 278, 0, 0, 0, 0}, {42, 512, 1088, 4160, 0, 0, 0}, {255, 828, 5140, 0, 0, 0, 0}, {128, 1100, 4128, 0, 0, 0, 0}, {816, 85, 1295, 4386, 0, 0, 0}, {170, 1638, 4642, 0, 0, 0, 0}, {816, 127, 1087, 4112, 0, 0, 0}, {5360, 3072, 9216, 17408, 0, 0, 0}, {270, 292, 514, 85, 1028, 4369, 0}, {42, 514, 1032, 4176, 0, 0, 0}, {255, 780, 5171, 0, 0, 0, 0}, {128, 1028, 4144, 0, 0, 0, 0}, {768, 85, 1290, 4352, 0, 0, 0}, {170, 1542, 4656, 0, 0, 0, 0}, {768, 127, 1032, 4096, 0, 0, 0}, {128, 1032, 4208, 0, 0, 0, 0}, {780, 85, 1290, 4403, 0, 0, 0}, {170, 1546, 4698, 0, 0, 0, 0}, {780, 127, 1028, 4159, 0, 0, 0}, {3084, 5180, 0, 0, 0, 0, 0}, {42, 85, 258, 0, 0, 0, 0}, {42, 514, 1028, 4112, 0, 0, 0}, {255, 768, 5120, 0, 0, 0, 0}, {10752, 21760, 0, 0, 0, 0, 0}, {12, 20, 257, 0, 0, 0, 0}, {40, 514, 21770, 0, 0, 0, 0}, {12, 48, 771, 5379, 0, 0, 0}, {12, 68, 1028, 4352, 0, 0, 0}, {8192, 80, 1285, 0, 0, 0, 0}, {12, 96, 1542, 4864, 0, 0, 0}, {8704, 120, 1799, 0, 0, 0, 0}, {136, 2056, 8704, 21760, 0, 0, 0}, {12, 48, 771, 80, 1285, 4096, 0}, {160, 2570, 8192, 21770, 0, 0, 0}, {12, 48, 771, 68, 1028, 4355, 0}, {12, 5376, 0, 0, 0, 0, 0}, {40, 514, 80, 1285, 0, 0, 0}, {12, 36, 514, 68, 1028, 4358, 0}, {240, 3855, 9487, 21775, 0, 0, 0}, {48, 80, 1280, 4112, 0, 0, 0}, {2048, 68, 4369, 0, 0, 0, 0}, {48, 72, 1792, 4626, 0, 0, 0}, {2560, 108, 4883, 0, 0, 0, 0}, {512, 1280, 20, 0, 0, 0, 0}, {192, 5397, 0, 0, 0, 0, 0}, {3840, 60, 5654, 0, 0, 0, 0}, {40, 512, 72, 5399, 0, 0, 0}, {24, 48, 512, 80, 1280, 4096, 0}, {204, 6425, 13107, 21845, 0, 0, 0}, {3840, 48, 5402, 0, 0, 0, 0}, {40, 512, 68, 4379, 0, 0, 0}, {60, 80, 1280, 4892, 0, 0, 0}, {2048, 72, 5405, 0, 0, 0, 0}, {60, 68, 1792, 4382, 0, 0, 0}, {2560, 96, 5407, 0, 0, 0, 0}, {160, 2560, 8224, 21760, 0, 0, 0}, {12, 48, 771, 68, 1024, 4369, 0}, {136, 2048, 8738, 21794, 0, 0, 0}, {12, 48, 771, 80, 1283, 4112, 0}, {12, 36, 512, 68, 1024, 4352, 0}, {240, 3855, 9509, 21845, 0, 0, 0}, {12, 5414, 0, 0, 0, 0, 0}, {40, 512, 80, 1295, 0, 0, 0}, {40, 512, 21760, 0, 0, 0, 0}, {12, 48, 771, 5397, 0, 0, 0}, {10794, 21930, 0, 0, 0, 0, 0}, {12, 20, 259, 0, 0, 0, 0}, {12, 96, 1536, 4896, 0, 0, 0}, {8738, 120, 1807, 0, 0, 0, 0}, {12, 68, 1024, 4386, 0, 0, 0}, {8224, 80, 1295, 0, 0, 0, 0}, {3840, 48, 5376, 0, 0, 0, 0}, {40, 514, 68, 4369, 0, 0, 0}, {24, 48, 514, 80, 1298, 4112, 0}, {204, 6451, 13107, 21811, 0, 0, 0}, {60, 68, 1800, 4352, 0, 0, 0}, {2570, 96, 5429, 0, 0, 0, 0}, {60, 80, 1290, 4864, 0, 0, 0}, {2056, 72, 5431, 0, 0, 0, 0}, {48, 72, 1800, 4608, 0, 0, 0}, {2570, 108, 4915, 0, 0, 0, 0}, {48, 80, 1290, 4096, 0, 0, 0}, {2056, 68, 4403, 0, 0, 0, 0}, {3840, 60, 5632, 0, 0, 0, 0}, {40, 514, 72, 5397, 0, 0, 0}, {514, 1290, 20, 0, 0, 0, 0}, {192, 5439, 0, 0, 0, 0, 0}, {192, 5440, 0, 0, 0, 0, 0}, {522, 1285, 20, 0, 0, 0, 0}, {40, 522, 72, 5386, 0, 0, 0}, {3855, 60, 5708, 0, 0, 0, 0}, {2048, 68, 4352, 0, 0, 0, 0}, {48, 80, 1285, 4112, 0, 0, 0}, {2570, 108, 4896, 0, 0, 0, 0}, {48, 72, 1807, 4608, 0, 0, 0}, {2048, 72, 5376, 0, 0, 0, 0}, {60, 80, 1285, 4883, 0, 0, 0}, {2570, 96, 5418, 0, 0, 0, 0}, {60, 68, 1807, 4367, 0, 0, 0}, {204, 6476, 13056, 21760, 0, 0, 0}, {24, 48, 530, 80, 1285, 4096, 0}, {40, 522, 68, 4362, 0, 0, 0}, {3855, 48, 5455, 0, 0, 0, 0}, {8192, 80, 1280, 0, 0, 0, 0}, {12, 68, 1028, 4369, 0, 0, 0}, {8738, 120, 1800, 0, 0, 0, 0}, {12, 96, 1536, 4915, 0, 0, 0}, {12, 20, 260, 0, 0, 0, 0}, {10922, 21845, 0, 0, 0, 0, 0}, {12, 48, 768, 5462, 0, 0, 0}, {40, 520, 21855, 0, 0, 0, 0}, {40, 520, 80, 1280, 0, 0, 0}, {12, 5461, 0, 0, 0, 0, 0}, {240, 3840, 9562, 21850, 0, 0, 0}, {12, 36, 516, 68, 1028, 4375, 0}, {12, 48, 768, 80, 1280, 4096, 0}, {136, 2056, 8738, 21845, 0, 0, 0}, {12, 48, 768, 68, 1028, 4370, 0}, {160, 2560, 8192, 21855, 0, 0, 0}, {2560, 96, 5376, 0, 0, 0, 0}, {60, 68, 1799, 4369, 0, 0, 0}, {2056, 72, 5418, 0, 0, 0, 0}, {60, 80, 1295, 4879, 0, 0, 0}, {40, 520, 68, 4352, 0, 0, 0}, {3855, 48, 5461, 0, 0, 0, 0}, {204, 6502, 13056, 21862, 0, 0, 0}, {24, 48, 528, 80, 1303, 4112, 0}, {40, 520, 72, 5384, 0, 0, 0}, {3855, 60, 5722, 0, 0, 0, 0}, {192, 5482, 0, 0, 0, 0, 0}, {520, 1295, 20, 0, 0, 0, 0}, {2560, 108, 4864, 0, 0, 0, 0}, {48, 72, 1799, 4626, 0, 0, 0}, {2056, 68, 4386, 0, 0, 0, 0}, {48, 80, 1295, 4096, 0, 0, 0}, {240, 3840, 9584, 21760, 0, 0, 0}, {12, 36, 518, 68, 1024, 4369, 0}, {40, 522, 80, 1290, 0, 0, 0}, {12, 5491, 0, 0, 0, 0, 0}, {12, 48, 768, 68, 1024, 4352, 0}, {160, 2570, 8224, 21845, 0, 0, 0}, {12, 48, 768, 80, 1286, 4112, 0}, {136, 2048, 8704, 21879, 0, 0, 0}, {8704, 120, 1792, 0, 0, 0, 0}, {12, 96, 1542, 4883, 0, 0, 0}, {8224, 80, 1290, 0, 0, 0, 0}, {12, 68, 1024, 4403, 0, 0, 0}, {12, 48, 768, 5440, 0, 0, 0}, {40, 522, 21845, 0, 0, 0, 0}, {12, 20, 262, 0, 0, 0, 0}, {10880, 22015, 0, 0, 0, 0, 0}, {10880, 21760, 0, 0, 0, 0, 0}, {12, 20, 261, 0, 0, 0, 0}, {40, 522, 21770, 0, 0, 0, 0}, {12, 48, 771, 5443, 0, 0, 0}, {12, 68, 1024, 4352, 0, 0, 0}, {8224, 80, 1285, 0, 0, 0, 0}, {12, 96, 1542, 4896, 0, 0, 0}, {8704, 120, 1807, 0, 0, 0, 0}, {136, 2048, 8704, 21760, 0, 0, 0}, {12, 48, 771, 80, 1285, 4112, 0}, {160, 2570, 8224, 21770, 0, 0, 0}, {12, 48, 771, 68, 1024, 4355, 0}, {12, 5440, 0, 0, 0, 0, 0}, {40, 522, 80, 1285, 0, 0, 0}, {12, 36, 518, 68, 1024, 4358, 0}, {240, 3855, 9599, 21775, 0, 0, 0}, {48, 80, 1280, 4096, 0, 0, 0}, {2056, 68, 4369, 0, 0, 0, 0}, {48, 72, 1800, 4626, 0, 0, 0}, {2560, 108, 4915, 0, 0, 0, 0}, {520, 1280, 20, 0, 0, 0, 0}, {192, 5461, 0, 0, 0, 0, 0}, {3840, 60, 5722, 0, 0, 0, 0}, {40, 520, 72, 5407, 0, 0, 0}, {24, 48, 528, 80, 1280, 4112, 0}, {204, 6485, 13107, 21845, 0, 0, 0}, {3840, 48, 5466, 0, 0, 0, 0}, {40, 520, 68, 4379, 0, 0, 0}, {60, 80, 1280, 4864, 0, 0, 0}, {2056, 72, 5397, 0, 0, 0, 0}, {60, 68, 1800, 4382, 0, 0, 0}, {2560, 96, 5439, 0, 0, 0, 0}, {160, 2560, 8192, 21760, 0, 0, 0}, {12, 48, 771, 68, 1028, 4369, 0}, {136, 2056, 8738, 21794, 0, 0, 0}, {12, 48, 771, 80, 1283, 4096, 0}, {12, 36, 516, 68, 1028, 4352, 0}, {240, 3855, 9557, 21845, 0, 0, 0}, {12, 5478, 0, 0, 0, 0, 0}, {40, 520, 80, 1295, 0, 0, 0}, {40, 520, 21760, 0, 0, 0, 0}, {12, 48, 771, 5461, 0, 0, 0}, {10922, 21930, 0, 0, 0, 0, 0}, {12, 20, 263, 0, 0, 0, 0}, {12, 96, 1536, 4864, 0, 0, 0}, {8738, 120, 1799, 0, 0, 0, 0}, {12, 68, 1028, 4386, 0, 0, 0}, {8192, 80, 1295, 0, 0, 0, 0}, {3840, 48, 5440, 0, 0, 0, 0}, {40, 522, 68, 4369, 0, 0, 0}, {24, 48, 530, 80, 1298, 4096, 0}, {204, 6527, 13107, 21811, 0, 0, 0}, {60, 68, 1792, 4352, 0, 0, 0}, {2570, 96, 5397, 0, 0, 0, 0}, {60, 80, 1290, 4892, 0, 0, 0}, {2048, 72, 5439, 0, 0, 0, 0}, {48, 72, 1792, 4608, 0, 0, 0}, {2570, 108, 4883, 0, 0, 0, 0}, {48, 80, 1290, 4112, 0, 0, 0}, {2048, 68, 4403, 0, 0, 0, 0}, {3840, 60, 5708, 0, 0, 0, 0}, {40, 522, 72, 5405, 0, 0, 0}, {522, 1290, 20, 0, 0, 0, 0}, {192, 5503, 0, 0, 0, 0, 0}, {192, 5376, 0, 0, 0, 0, 0}, {514, 1285, 20, 0, 0, 0, 0}, {40, 514, 72, 5378, 0, 0, 0}, {3855, 60, 5632, 0, 0, 0, 0}, {2056, 68, 4352, 0, 0, 0, 0}, {48, 80, 1285, 4096, 0, 0, 0}, {2570, 108, 4864, 0, 0, 0, 0}, {48, 72, 1799, 4608, 0, 0, 0}, {2056, 72, 5384, 0, 0, 0, 0}, {60, 80, 1285, 4879, 0, 0, 0}, {2570, 96, 5386, 0, 0, 0, 0}, {60, 68, 1799, 4367, 0, 0, 0}, {204, 6400, 13056, 21760, 0, 0, 0}, {24, 48, 514, 80, 1285, 4112, 0}, {40, 514, 68, 4362, 0, 0, 0}, {3855, 48, 5391, 0, 0, 0, 0}, {8224, 80, 1280, 0, 0, 0, 0}, {12, 68, 1024, 4369, 0, 0, 0}, {8738, 120, 1792, 0, 0, 0, 0}, {12, 96, 1536, 4883, 0, 0, 0}, {12, 20, 256, 0, 0, 0, 0}, {10794, 21845, 0, 0, 0, 0, 0}, {12, 48, 768, 5398, 0, 0, 0}, {40, 512, 21855, 0, 0, 0, 0}, {40, 512, 80, 1280, 0, 0, 0}, {12, 5397, 0, 0, 0, 0, 0}, {240, 3840, 9514, 21850, 0, 0, 0}, {12, 36, 512, 68, 1024, 4375, 0}, {12, 48, 768, 80, 1280, 4112, 0}, {136, 2048, 8738, 21845, 0, 0, 0}, {12, 48, 768, 68, 1024, 4370, 0}, {160, 2560, 8224, 21855, 0, 0, 0}, {2560, 96, 5408, 0, 0, 0, 0}, {60, 68, 1807, 4369, 0, 0, 0}, {2048, 72, 5410, 0, 0, 0, 0}, {60, 80, 1295, 4883, 0, 0, 0}, {40, 512, 68, 4352, 0, 0, 0}, {3855, 48, 5397, 0, 0, 0, 0}, {204, 6442, 13056, 21862, 0, 0, 0}, {24, 48, 512, 80, 1303, 4096, 0}, {40, 512, 72, 5376, 0, 0, 0}, {3855, 60, 5654, 0, 0, 0, 0}, {192, 5418, 0, 0, 0, 0, 0}, {512, 1295, 20, 0, 0, 0, 0}, {2560, 108, 4896, 0, 0, 0, 0}, {48, 72, 1807, 4626, 0, 0, 0}, {2048, 68, 4386, 0, 0, 0, 0}, {48, 80, 1295, 4112, 0, 0, 0}, {240, 3840, 9472, 21760, 0, 0, 0}, {12, 36, 514, 68, 1028, 4369, 0}, {40, 514, 80, 1290, 0, 0, 0}, {12, 5427, 0, 0, 0, 0, 0}, {12, 48, 768, 68, 1028, 4352, 0}, {160, 2570, 8192, 21845, 0, 0, 0}, {12, 48, 768, 80, 1286, 4096, 0}, {136, 2056, 8704, 21879, 0, 0, 0}, {8704, 120, 1800, 0, 0, 0, 0}, {12, 96, 1542, 4915, 0, 0, 0}, {8192, 80, 1290, 0, 0, 0, 0}, {12, 68, 1028, 4403, 0, 0, 0}, {12, 48, 768, 5376, 0, 0, 0}, {40, 514, 21845, 0, 0, 0, 0}, {12, 20, 258, 0, 0, 0, 0}, {10752, 22015, 0, 0, 0, 0, 0}, {3072, 5632, 0, 0, 0, 0, 0}, {40, 95, 257, 0, 0, 0, 0}, {40, 514, 1032, 4104, 0, 0, 0}, {255, 771, 5439, 0, 0, 0, 0}, {136, 1028, 4680, 0, 0, 0, 0}, {783, 95, 1285, 4111, 0, 0, 0}, {160, 1542, 4192, 0, 0, 0, 0}, {783, 119, 1032, 4352, 0, 0, 0}, {136, 1032, 4608, 0, 0, 0, 0}, {771, 95, 1285, 4144, 0, 0, 0}, {160, 1546, 4096, 0, 0, 0, 0}, {771, 119, 1028, 4403, 0, 0, 0}, {5836, 3084, 9740, 22028, 0, 0, 0}, {269, 293, 514, 338, 1285, 4103, 0}, {40, 514, 1028, 4160, 0, 0, 0}, {255, 783, 5376, 0, 0, 0, 0}, {160, 1632, 4112, 0, 0, 0, 0}, {819, 119, 1075, 4369, 0, 0, 0}, {136, 1096, 4626, 0, 0, 0, 0}, {819, 95, 1280, 4128, 0, 0, 0}, {40, 512, 1092, 4176, 0, 0, 0}, {255, 831, 5397, 0, 0, 0, 0}, {3276, 5654, 0, 0, 0, 0, 0}, {40, 95, 279, 0, 0, 0, 0}, {40, 512, 1096, 4120, 0, 0, 0}, {255, 819, 5418, 0, 0, 0, 0}, {5850, 6682, 12336, 16448, 0, 0, 0}, {283, 307, 512, 324, 1280, 4096, 0}, {160, 1644, 4208, 0, 0, 0, 0}, {831, 119, 1087, 4386, 0, 0, 0}, {136, 1092, 4698, 0, 0, 0, 0}, {831, 95, 1280, 4127, 0, 0, 0}, {160, 1536, 4128, 0, 0, 0, 0}, {771, 119, 1036, 4369, 0, 0, 0}, {136, 1024, 4642, 0, 0, 0, 0}, {771, 95, 1295, 4112, 0, 0, 0}, {40, 512, 1036, 4168, 0, 0, 0}, {255, 783, 5418, 0, 0, 0, 0}, {5862, 3084, 9766, 16448, 0, 0, 0}, {271, 295, 512, 336, 1024, 4352, 0}, {40, 512, 1024, 4096, 0, 0, 0}, {255, 771, 5397, 0, 0, 0, 0}, {3072, 5674, 0, 0, 0, 0, 0}, {40, 95, 259, 0, 0, 0, 0}, {160, 1548, 4160, 0, 0, 0, 0}, {783, 119, 1024, 4386, 0, 0, 0}, {136, 1036, 4714, 0, 0, 0, 0}, {783, 95, 1295, 4143, 0, 0, 0}, {5872, 6704, 12336, 22064, 0, 0, 0}, {281, 305, 514, 326, 1043, 4369, 0}, {40, 514, 1088, 4112, 0, 0, 0}, {255, 819, 5376, 0, 0, 0, 0}, {136, 1100, 4728, 0, 0, 0, 0}, {831, 95, 1290, 4159, 0, 0, 0}, {160, 1638, 4176, 0, 0, 0, 0}, {831, 119, 1079, 4352, 0, 0, 0}, {136, 1088, 4656, 0, 0, 0, 0}, {819, 95, 1290, 4096, 0, 0, 0}, {160, 1642, 4144, 0, 0, 0, 0}, {819, 119, 1083, 4403, 0, 0, 0}, {3276, 5692, 0, 0, 0, 0, 0}, {40, 95, 277, 0, 0, 0, 0}, {40, 514, 1100, 4184, 0, 0, 0}, {255, 831, 5439, 0, 0, 0, 0}, {5760, 6720, 9792, 16448, 0, 0, 0}, {286, 310, 788, 321, 1285, 4369, 0}, {40, 522, 1096, 4168, 0, 0, 0}, {255, 828, 5503, 0, 0, 0, 0}, {136, 1092, 4608, 0, 0, 0, 0}, {816, 95, 1285, 4112, 0, 0, 0}, {160, 1638, 4128, 0, 0, 0, 0}, {816, 119, 1087, 4352, 0, 0, 0}, {136, 1096, 4680, 0, 0, 0, 0}, {828, 95, 1285, 4143, 0, 0, 0}, {160, 1642, 4160, 0, 0, 0, 0}, {828, 119, 1075, 4403, 0, 0, 0}, {3276, 5708, 0, 0, 0, 0, 0}, {40, 95, 274, 0, 0, 0, 0}, {40, 522, 1092, 4096, 0, 0, 0}, {255, 816, 5440, 0, 0, 0, 0}, {160, 1536, 4176, 0, 0, 0, 0}, {780, 119, 1028, 4369, 0, 0, 0}, {136, 1032, 4698, 0, 0, 0, 0}, {780, 95, 1280, 4159, 0, 0, 0}, {40, 520, 1028, 4112, 0, 0, 0}, {255, 768, 5461, 0, 0, 0, 0}, {5782, 3084, 12336, 22102, 0, 0, 0}, {264, 288, 768, 343, 1280, 4352, 0}, {40, 520, 1032, 4184, 0, 0, 0}, {255, 780, 5482, 0, 0, 0, 0}, {3072, 5722, 0, 0, 0, 0, 0}, {40, 95, 260, 0, 0, 0, 0}, {160, 1548, 4144, 0, 0, 0, 0}, {768, 119, 1032, 4386, 0, 0, 0}, {136, 1028, 4626, 0, 0, 0, 0}, {768, 95, 1280, 4096, 0, 0, 0}, {160, 1632, 4192, 0, 0, 0, 0}, {828, 119, 1083, 4369, 0, 0, 0}, {136, 1088, 4714, 0, 0, 0, 0}, {828, 95, 1295, 4111, 0, 0, 0}, {40, 520, 1100, 4104, 0, 0, 0}, {255, 816, 5482, 0, 0, 0, 0}, {3276, 5734, 0, 0, 0, 0, 0}, {40, 95, 272, 0, 0, 0, 0}, {40, 520, 1088, 4160, 0, 0, 0}, {255, 828, 5461, 0, 0, 0, 0}, {5802, 6762, 9834, 22122, 0, 0, 0}, {284, 308, 788, 323, 1043, 4103, 0}, {160, 1644, 4096, 0, 0, 0, 0}, {816, 119, 1079, 4386, 0, 0, 0}, {136, 1100, 4642, 0, 0, 0, 0}, {816, 95, 1295, 4144, 0, 0, 0}, {3072, 5744, 0, 0, 0, 0, 0}, {40, 95, 262, 0, 0, 0, 0}, {40, 522, 1024, 4176, 0, 0, 0}, {255, 780, 5440, 0, 0, 0, 0}, {136, 1036, 4656, 0, 0, 0, 0}, {768, 95, 1290, 4128, 0, 0, 0}, {160, 1542, 4112, 0, 0, 0, 0}, {768, 119, 1024, 4352, 0, 0, 0}, {136, 1024, 4728, 0, 0, 0, 0}, {780, 95, 1290, 4127, 0, 0, 0}, {160, 1546, 4208, 0, 0, 0, 0}, {780, 119, 1036, 4403, 0, 0, 0}, {5820, 3084, 12336, 16448, 0, 0, 0}, {266, 290, 768, 341, 1024, 4096, 0}, {40, 522, 1036, 4120, 0, 0, 0}, {255, 768, 5503, 0, 0, 0, 0}, {5760, 3072, 12288, 22016, 0, 0, 0}, {265, 289, 771, 342, 1285, 4369, 0}, {40, 522, 1024, 4096, 0, 0, 0}, {255, 771, 5440, 0, 0, 0, 0}, {136, 1036, 4680, 0, 0, 0, 0}, {783, 95, 1285, 4143, 0, 0, 0}, {160, 1542, 4160, 0, 0, 0, 0}, {783, 119, 1024, 4352, 0, 0, 0}, {136, 1024, 4608, 0, 0, 0, 0}, {771, 95, 1285, 4112, 0, 0, 0}, {160, 1546, 4128, 0, 0, 0, 0}, {771, 119, 1036, 4403, 0, 0, 0}, {3084, 5708, 0, 0, 0, 0, 0}, {40, 95, 261, 0, 0, 0, 0}, {40, 522, 1036, 4168, 0, 0, 0}, {255, 783, 5503, 0, 0, 0, 0}, {160, 1632, 4144, 0, 0, 0, 0}, {819, 119, 1083, 4369, 0, 0, 0}, {136, 1088, 4626, 0, 0, 0, 0}, {819, 95, 1280, 4096, 0, 0, 0}, {40, 520, 1100, 4184, 0, 0, 0}, {255, 831, 5482, 0, 0, 0, 0}, {5782, 6746, 9830, 16384, 0, 0, 0}, {287, 311, 791, 320, 1280, 4352, 0}, {40, 520, 1088, 4112, 0, 0, 0}, {255, 819, 5461, 0, 0, 0, 0}, {3264, 5722, 0, 0, 0, 0, 0}, {40, 95, 275, 0, 0, 0, 0}, {160, 1644, 4176, 0, 0, 0, 0}, {831, 119, 1079, 4386, 0, 0, 0}, {136, 1100, 4698, 0, 0, 0, 0}, {831, 95, 1280, 4159, 0, 0, 0}, {160, 1536, 4096, 0, 0, 0, 0}, {771, 119, 1028, 4369, 0, 0, 0}, {136, 1032, 4642, 0, 0, 0, 0}, {771, 95, 1295, 4144, 0, 0, 0}, {40, 520, 1028, 4160, 0, 0, 0}, {255, 783, 5461, 0, 0, 0, 0}, {3084, 5734, 0, 0, 0, 0, 0}, {40, 95, 263, 0, 0, 0, 0}, {40, 520, 1032, 4104, 0, 0, 0}, {255, 771, 5482, 0, 0, 0, 0}, {5802, 3072, 12288, 16384, 0, 0, 0}, {267, 291, 771, 340, 1028, 4112, 0}, {160, 1548, 4192, 0, 0, 0, 0}, {783, 119, 1032, 4386, 0, 0, 0}, {136, 1028, 4714, 0, 0, 0, 0}, {783, 95, 1295, 4111, 0, 0, 0}, {3264, 5744, 0, 0, 0, 0, 0}, {40, 95, 273, 0, 0, 0, 0}, {40, 522, 1096, 4120, 0, 0, 0}, {255, 819, 5503, 0, 0, 0, 0}, {136, 1092, 4728, 0, 0, 0, 0}, {831, 95, 1290, 4127, 0, 0, 0}, {160, 1638, 4208, 0, 0, 0, 0}, {831, 119, 1087, 4352, 0, 0, 0}, {136, 1096, 4656, 0, 0, 0, 0}, {819, 95, 1290, 4128, 0, 0, 0}, {160, 1642, 4112, 0, 0, 0, 0}, {819, 119, 1075, 4403, 0, 0, 0}, {5820, 6768, 9804, 22076, 0, 0, 0}, {285, 309, 791, 322, 1047, 4119, 0}, {40, 522, 1092, 4176, 0, 0, 0}, {255, 831, 5440, 0, 0, 0, 0}, {3264, 5632, 0, 0, 0, 0, 0}, {40, 95, 278, 0, 0, 0, 0}, {40, 514, 1088, 4160, 0, 0, 0}, {255, 828, 5376, 0, 0, 0, 0}, {136, 1100, 4608, 0, 0, 0, 0}, {816, 95, 1285, 4144, 0, 0, 0}, {160, 1638, 4096, 0, 0, 0, 0}, {816, 119, 1079, 4352, 0, 0, 0}, {136, 1088, 4680, 0, 0, 0, 0}, {828, 95, 1285, 4111, 0, 0, 0}, {160, 1642, 4192, 0, 0, 0, 0}, {828, 119, 1083, 4403, 0, 0, 0}, {5836, 6656, 12288, 16384, 0, 0, 0}, {282, 306, 514, 325, 1285, 4112, 0}, {40, 514, 1100, 4104, 0, 0, 0}, {255, 816, 5439, 0, 0, 0, 0}, {160, 1536, 4208, 0, 0, 0, 0}, {780, 119, 1036, 4369, 0, 0, 0}, {136, 1024, 4698, 0, 0, 0, 0}, {780, 95, 1280, 4127, 0, 0, 0}, {40, 512, 1036, 4120, 0, 0, 0}, {255, 768, 5418, 0, 0, 0, 0}, {3084, 5654, 0, 0, 0, 0, 0}, {40, 95, 256, 0, 0, 0, 0}, {40, 512, 1024, 4176, 0, 0, 0}, {255, 780, 5397, 0, 0, 0, 0}, {5850, 3072, 9770, 22106, 0, 0, 0}, {268, 292, 512, 339, 1280, 4119, 0}, {160, 1548, 4112, 0, 0, 0, 0}, {768, 119, 1024, 4386, 0, 0, 0}, {136, 1036, 4626, 0, 0, 0, 0}, {768, 95, 1280, 4128, 0, 0, 0}, {160, 1632, 4160, 0, 0, 0, 0}, {828, 119, 1075, 4369, 0, 0, 0}, {136, 1096, 4714, 0, 0, 0, 0}, {828, 95, 1295, 4143, 0, 0, 0}, {40, 512, 1092, 4096, 0, 0, 0}, {255, 816, 5397, 0, 0, 0, 0}, {5862, 6698, 12288, 22118, 0, 0, 0}, {280, 304, 512, 327, 1047, 4352, 0}, {40, 512, 1096, 4168, 0, 0, 0}, {255, 828, 5418, 0, 0, 0, 0}, {3264, 5674, 0, 0, 0, 0, 0}, {40, 95, 276, 0, 0, 0, 0}, {160, 1644, 4128, 0, 0, 0, 0}, {816, 119, 1087, 4386, 0, 0, 0}, {136, 1092, 4642, 0, 0, 0, 0}, {816, 95, 1295, 4112, 0, 0, 0}, {5872, 3072, 9728, 16384, 0, 0, 0}, {270, 294, 514, 337, 1028, 4369, 0}, {40, 514, 1032, 4184, 0, 0, 0}, {255, 780, 5439, 0, 0, 0, 0}, {136, 1028, 4656, 0, 0, 0, 0}, {768, 95, 1290, 4096, 0, 0, 0}, {160, 1542, 4144, 0, 0, 0, 0}, {768, 119, 1032, 4352, 0, 0, 0}, {136, 1032, 4728, 0, 0, 0, 0}, {780, 95, 1290, 4159, 0, 0, 0}, {160, 1546, 4176, 0, 0, 0, 0}, {780, 119, 1028, 4403, 0, 0, 0}, {3084, 5692, 0, 0, 0, 0, 0}, {40, 95, 258, 0, 0, 0, 0}, {40, 514, 1028, 4112, 0, 0, 0}, {255, 768, 5376, 0, 0, 0, 0}, {10240, 24320, 0, 0, 0, 0, 0}, {12, 22, 257, 0, 0, 0, 0}, {42, 514, 21760, 0, 0, 0, 0}, {12, 48, 771, 5120, 0, 0, 0}, {12, 64, 1028, 4864, 0, 0, 0}, {8704, 90, 1285, 0, 0, 0, 0}, {12, 102, 1542, 4352, 0, 0, 0}, {8192, 112, 1799, 0, 0, 0, 0}, {128, 2056, 8192, 22280, 0, 0, 0}, {12, 48, 771, 86, 1285, 4355, 0}, {170, 2570, 8704, 21760, 0, 0, 0}, {12, 48, 771, 64, 1028, 4096, 0}, {12, 5888, 0, 0, 0, 0, 0}, {42, 514, 90, 1285, 0, 0, 0}, {12, 38, 514, 64, 1028, 4356, 0}, {240, 3855, 9999, 20480, 0, 0, 0}, {48, 64, 1792, 4112, 0, 0, 0}, {2560, 102, 4369, 0, 0, 0, 0}, {48, 90, 1280, 4626, 0, 0, 0}, {2048, 76, 4883, 0, 0, 0, 0}, {3840, 60, 5140, 0, 0, 0, 0}, {42, 512, 64, 5397, 0, 0, 0}, {512, 1280, 22, 0, 0, 0, 0}, {192, 5911, 0, 0, 0, 0, 0}, {3840, 48, 5912, 0, 0, 0, 0}, {42, 512, 76, 4377, 0, 0, 0}, {26, 48, 512, 64, 1280, 4096, 0}, {204, 6939, 13107, 17476, 0, 0, 0}, {60, 76, 1792, 4892, 0, 0, 0}, {2560, 106, 5917, 0, 0, 0, 0}, {60, 90, 1280, 4382, 0, 0, 0}, {2048, 64, 5919, 0, 0, 0, 0}, {128, 2048, 8224, 22304, 0, 0, 0}, {12, 48, 771, 86, 1283, 4369, 0}, {170, 2560, 8738, 21760, 0, 0, 0}, {12, 48, 771, 64, 1024, 4112, 0}, {12, 5924, 0, 0, 0, 0, 0}, {42, 512, 90, 1295, 0, 0, 0}, {12, 38, 512, 64, 1024, 4352, 0}, {240, 3855, 10023, 20560, 0, 0, 0}, {10280, 24480, 0, 0, 0, 0, 0}, {12, 22, 259, 0, 0, 0, 0}, {42, 512, 21760, 0, 0, 0, 0}, {12, 48, 771, 5140, 0, 0, 0}, {12, 64, 1024, 4896, 0, 0, 0}, {8738, 90, 1295, 0, 0, 0, 0}, {12, 102, 1536, 4386, 0, 0, 0}, {8224, 112, 1807, 0, 0, 0, 0}, {3840, 48, 5888, 0, 0, 0, 0}, {42, 514, 76, 4369, 0, 0, 0}, {26, 48, 514, 64, 1296, 4112, 0}, {204, 6963, 13107, 17408, 0, 0, 0}, {60, 76, 1800, 4864, 0, 0, 0}, {2570, 106, 5941, 0, 0, 0, 0}, {60, 90, 1290, 4352, 0, 0, 0}, {2056, 64, 5943, 0, 0, 0, 0}, {48, 64, 1800, 4096, 0, 0, 0}, {2570, 102, 4403, 0, 0, 0, 0}, {48, 90, 1290, 4608, 0, 0, 0}, {2056, 76, 4915, 0, 0, 0, 0}, {3840, 60, 5120, 0, 0, 0, 0}, {42, 514, 64, 5397, 0, 0, 0}, {514, 1290, 22, 0, 0, 0, 0}, {192, 5951, 0, 0, 0, 0, 0}, {2048, 64, 5888, 0, 0, 0, 0}, {60, 90, 1285, 4369, 0, 0, 0}, {2570, 106, 5928, 0, 0, 0, 0}, {60, 76, 1807, 4879, 0, 0, 0}, {204, 6980, 13056, 17476, 0, 0, 0}, {26, 48, 528, 64, 1285, 4112, 0}, {42, 522, 76, 4352, 0, 0, 0}, {3855, 48, 5959, 0, 0, 0, 0}, {192, 5960, 0, 0, 0, 0, 0}, {522, 1285, 22, 0, 0, 0, 0}, {42, 522, 64, 5376, 0, 0, 0}, {3855, 60, 5188, 0, 0, 0, 0}, {2048, 76, 4864, 0, 0, 0, 0}, {48, 90, 1285, 4626, 0, 0, 0}, {2570, 102, 4386, 0, 0, 0, 0}, {48, 64, 1807, 4096, 0, 0, 0}, {240, 3840, 10064, 20560, 0, 0, 0}, {12, 38, 516, 64, 1028, 4369, 0}, {42, 520, 90, 1280, 0, 0, 0}, {12, 5971, 0, 0, 0, 0, 0}, {12, 48, 768, 64, 1028, 4112, 0}, {170, 2560, 8704, 21845, 0, 0, 0}, {12, 48, 768, 86, 1280, 4352, 0}, {128, 2056, 8224, 22359, 0, 0, 0}, {8224, 112, 1800, 0, 0, 0, 0}, {12, 102, 1536, 4403, 0, 0, 0}, {8704, 90, 1280, 0, 0, 0, 0}, {12, 64, 1028, 4883, 0, 0, 0}, {12, 48, 768, 5200, 0, 0, 0}, {42, 520, 21845, 0, 0, 0, 0}, {12, 22, 260, 0, 0, 0, 0}, {10400, 24415, 0, 0, 0, 0, 0}, {192, 5984, 0, 0, 0, 0, 0}, {520, 1295, 22, 0, 0, 0, 0}, {42, 520, 64, 5376, 0, 0, 0}, {3855, 60, 5200, 0, 0, 0, 0}, {2056, 76, 4896, 0, 0, 0, 0}, {48, 90, 1295, 4608, 0, 0, 0}, {2560, 102, 4352, 0, 0, 0, 0}, {48, 64, 1799, 4112, 0, 0, 0}, {2056, 64, 5928, 0, 0, 0, 0}, {60, 90, 1295, 4367, 0, 0, 0}, {2560, 106, 5888, 0, 0, 0, 0}, {60, 76, 1799, 4883, 0, 0, 0}, {204, 7020, 13056, 17408, 0, 0, 0}, {26, 48, 530, 64, 1301, 4096, 0}, {42, 520, 76, 4360, 0, 0, 0}, {3855, 48, 5983, 0, 0, 0, 0}, {8192, 112, 1792, 0, 0, 0, 0}, {12, 102, 1542, 4369, 0, 0, 0}, {8738, 90, 1290, 0, 0, 0, 0}, {12, 64, 1024, 4915, 0, 0, 0}, {12, 48, 768, 5188, 0, 0, 0}, {42, 522, 21845, 0, 0, 0, 0}, {12, 22, 262, 0, 0, 0, 0}, {10376, 24575, 0, 0, 0, 0, 0}, {240, 3840, 10104, 20480, 0, 0, 0}, {12, 38, 518, 64, 1024, 4373, 0}, {42, 522, 90, 1290, 0, 0, 0}, {12, 6007, 0, 0, 0, 0, 0}, {12, 48, 768, 64, 1024, 4096, 0}, {170, 2570, 8738, 21845, 0, 0, 0}, {12, 48, 768, 86, 1286, 4370, 0}, {128, 2048, 8192, 22399, 0, 0, 0}, {128, 2048, 8192, 22272, 0, 0, 0}, {12, 48, 771, 86, 1285, 4369, 0}, {170, 2570, 8738, 21760, 0, 0, 0}, {12, 48, 771, 64, 1024, 4096, 0}, {12, 5956, 0, 0, 0, 0, 0}, {42, 522, 90, 1285, 0, 0, 0}, {12, 38, 518, 64, 1024, 4352, 0}, {240, 3855, 10103, 20480, 0, 0, 0}, {10376, 24320, 0, 0, 0, 0, 0}, {12, 22, 261, 0, 0, 0, 0}, {42, 522, 21760, 0, 0, 0, 0}, {12, 48, 771, 5188, 0, 0, 0}, {12, 64, 1024, 4864, 0, 0, 0}, {8738, 90, 1285, 0, 0, 0, 0}, {12, 102, 1542, 4386, 0, 0, 0}, {8192, 112, 1807, 0, 0, 0, 0}, {3840, 48, 5968, 0, 0, 0, 0}, {42, 520, 76, 4369, 0, 0, 0}, {26, 48, 530, 64, 1280, 4096, 0}, {204, 7007, 13107, 17408, 0, 0, 0}, {60, 76, 1800, 4892, 0, 0, 0}, {2560, 106, 5951, 0, 0, 0, 0}, {60, 90, 1280, 4352, 0, 0, 0}, {2056, 64, 5911, 0, 0, 0, 0}, {48, 64, 1800, 4112, 0, 0, 0}, {2560, 102, 4403, 0, 0, 0, 0}, {48, 90, 1280, 4608, 0, 0, 0}, {2056, 76, 4883, 0, 0, 0, 0}, {3840, 60, 5200, 0, 0, 0, 0}, {42, 520, 64, 5397, 0, 0, 0}, {520, 1280, 22, 0, 0, 0, 0}, {192, 5983, 0, 0, 0, 0, 0}, {10400, 24480, 0, 0, 0, 0, 0}, {12, 22, 263, 0, 0, 0, 0}, {42, 520, 21760, 0, 0, 0, 0}, {12, 48, 771, 5200, 0, 0, 0}, {12, 64, 1028, 4896, 0, 0, 0}, {8704, 90, 1295, 0, 0, 0, 0}, {12, 102, 1536, 4352, 0, 0, 0}, {8224, 112, 1799, 0, 0, 0, 0}, {128, 2056, 8224, 22312, 0, 0, 0}, {12, 48, 771, 86, 1283, 4355, 0}, {170, 2560, 8704, 21760, 0, 0, 0}, {12, 48, 771, 64, 1028, 4112, 0}, {12, 5984, 0, 0, 0, 0, 0}, {42, 520, 90, 1295, 0, 0, 0}, {12, 38, 516, 64, 1028, 4356, 0}, {240, 3855, 10079, 20560, 0, 0, 0}, {48, 64, 1792, 4096, 0, 0, 0}, {2570, 102, 4369, 0, 0, 0, 0}, {48, 90, 1290, 4626, 0, 0, 0}, {2048, 76, 4915, 0, 0, 0, 0}, {3840, 60, 5188, 0, 0, 0, 0}, {42, 522, 64, 5397, 0, 0, 0}, {522, 1290, 22, 0, 0, 0, 0}, {192, 6007, 0, 0, 0, 0, 0}, {3840, 48, 5960, 0, 0, 0, 0}, {42, 522, 76, 4377, 0, 0, 0}, {26, 48, 528, 64, 1296, 4112, 0}, {204, 7031, 13107, 17476, 0, 0, 0}, {60, 76, 1792, 4864, 0, 0, 0}, {2570, 106, 5911, 0, 0, 0, 0}, {60, 90, 1290, 4382, 0, 0, 0}, {2048, 64, 5951, 0, 0, 0, 0}, {192, 5888, 0, 0, 0, 0, 0}, {514, 1285, 22, 0, 0, 0, 0}, {42, 514, 64, 5376, 0, 0, 0}, {3855, 60, 5120, 0, 0, 0, 0}, {2056, 76, 4864, 0, 0, 0, 0}, {48, 90, 1285, 4608, 0, 0, 0}, {2570, 102, 4352, 0, 0, 0, 0}, {48, 64, 1799, 4096, 0, 0, 0}, {2056, 64, 5896, 0, 0, 0, 0}, {60, 90, 1285, 4367, 0, 0, 0}, {2570, 106, 5898, 0, 0, 0, 0}, {60, 76, 1799, 4879, 0, 0, 0}, {204, 6912, 13056, 17408, 0, 0, 0}, {26, 48, 514, 64, 1285, 4112, 0}, {42, 514, 76, 4360, 0, 0, 0}, {3855, 48, 5903, 0, 0, 0, 0}, {8224, 112, 1792, 0, 0, 0, 0}, {12, 102, 1536, 4369, 0, 0, 0}, {8738, 90, 1280, 0, 0, 0, 0}, {12, 64, 1024, 4883, 0, 0, 0}, {12, 48, 768, 5140, 0, 0, 0}, {42, 512, 21845, 0, 0, 0, 0}, {12, 22, 256, 0, 0, 0, 0}, {10280, 24415, 0, 0, 0, 0, 0}, {240, 3840, 10024, 20560, 0, 0, 0}, {12, 38, 512, 64, 1024, 4373, 0}, {42, 512, 90, 1280, 0, 0, 0}, {12, 5911, 0, 0, 0, 0, 0}, {12, 48, 768, 64, 1024, 4112, 0}, {170, 2560, 8738, 21845, 0, 0, 0}, {12, 48, 768, 86, 1280, 4370, 0}, {128, 2048, 8224, 22367, 0, 0, 0}, {2048, 64, 5920, 0, 0, 0, 0}, {60, 90, 1295, 4369, 0, 0, 0}, {2560, 106, 5922, 0, 0, 0, 0}, {60, 76, 1807, 4883, 0, 0, 0}, {204, 6952, 13056, 17476, 0, 0, 0}, {26, 48, 512, 64, 1301, 4096, 0}, {42, 512, 76, 4352, 0, 0, 0}, {3855, 48, 5911, 0, 0, 0, 0}, {192, 5928, 0, 0, 0, 0, 0}, {512, 1295, 22, 0, 0, 0, 0}, {42, 512, 64, 5376, 0, 0, 0}, {3855, 60, 5140, 0, 0, 0, 0}, {2048, 76, 4896, 0, 0, 0, 0}, {48, 90, 1295, 4626, 0, 0, 0}, {2560, 102, 4386, 0, 0, 0, 0}, {48, 64, 1807, 4112, 0, 0, 0}, {240, 3840, 9984, 20480, 0, 0, 0}, {12, 38, 514, 64, 1028, 4369, 0}, {42, 514, 90, 1290, 0, 0, 0}, {12, 5939, 0, 0, 0, 0, 0}, {12, 48, 768, 64, 1028, 4096, 0}, {170, 2570, 8704, 21845, 0, 0, 0}, {12, 48, 768, 86, 1286, 4352, 0}, {128, 2056, 8192, 22391, 0, 0, 0}, {8192, 112, 1800, 0, 0, 0, 0}, {12, 102, 1542, 4403, 0, 0, 0}, {8704, 90, 1290, 0, 0, 0, 0}, {12, 64, 1028, 4915, 0, 0, 0}, {12, 48, 768, 5120, 0, 0, 0}, {42, 514, 21845, 0, 0, 0, 0}, {12, 22, 258, 0, 0, 0, 0}, {10240, 24575, 0, 0, 0, 0, 0}, {10240, 20480, 0, 0, 0, 0, 0}, {12, 21, 257, 0, 0, 0, 0}, {42, 514, 20490, 0, 0, 0, 0}, {12, 51, 771, 5123, 0, 0, 0}, {12, 64, 1028, 4096, 0, 0, 0}, {8704, 85, 1285, 0, 0, 0, 0}, {12, 102, 1542, 4608, 0, 0, 0}, {8192, 127, 1799, 0, 0, 0, 0}, {128, 2056, 8192, 20480, 0, 0, 0}, {12, 51, 771, 85, 1285, 4352, 0}, {170, 2570, 8704, 20490, 0, 0, 0}, {12, 51, 771, 64, 1028, 4099, 0}, {12, 5120, 0, 0, 0, 0, 0}, {42, 514, 85, 1285, 0, 0, 0}, {12, 38, 514, 64, 1028, 4102, 0}, {255, 3855, 9999, 20495, 0, 0, 0}, {2048, 64, 4112, 0, 0, 0, 0}, {51, 85, 1280, 4369, 0, 0, 0}, {2560, 106, 4626, 0, 0, 0, 0}, {51, 76, 1792, 4883, 0, 0, 0}, {204, 5140, 0, 0, 0, 0, 0}, {512, 1280, 21, 0, 0, 0, 0}, {42, 512, 76, 5142, 0, 0, 0}, {3840, 63, 5911, 0, 0, 0, 0}, {192, 6168, 12336, 20560, 0, 0, 0}, {25, 51, 512, 85, 1280, 4352, 0}, {42, 512, 64, 4122, 0, 0, 0}, {3840, 51, 5147, 0, 0, 0, 0}, {2048, 76, 5148, 0, 0, 0, 0}, {63, 85, 1280, 4637, 0, 0, 0}, {2560, 102, 5150, 0, 0, 0, 0}, {63, 64, 1792, 4127, 0, 0, 0}, {128, 2048, 8224, 20512, 0, 0, 0}, {12, 51, 771, 85, 1283, 4369, 0}, {170, 2560, 8738, 20480, 0, 0, 0}, {12, 51, 771, 64, 1024, 4112, 0}, {12, 5156, 0, 0, 0, 0, 0}, {42, 512, 85, 1295, 0, 0, 0}, {12, 38, 512, 64, 1024, 4096, 0}, {255, 3855, 10023, 20560, 0, 0, 0}, {10280, 20640, 0, 0, 0, 0, 0}, {12, 21, 259, 0, 0, 0, 0}, {42, 512, 20480, 0, 0, 0, 0}, {12, 51, 771, 5140, 0, 0, 0}, {12, 64, 1024, 4128, 0, 0, 0}, {8738, 85, 1295, 0, 0, 0, 0}, {12, 102, 1536, 4642, 0, 0, 0}, {8224, 127, 1807, 0, 0, 0, 0}, {192, 6192, 12336, 20528, 0, 0, 0}, {25, 51, 514, 85, 1299, 4369, 0}, {42, 514, 64, 4112, 0, 0, 0}, {3840, 51, 5120, 0, 0, 0, 0}, {2056, 76, 5172, 0, 0, 0, 0}, {63, 85, 1290, 4608, 0, 0, 0}, {2570, 102, 5174, 0, 0, 0, 0}, {63, 64, 1800, 4096, 0, 0, 0}, {2056, 64, 4144, 0, 0, 0, 0}, {51, 85, 1290, 4352, 0, 0, 0}, {2570, 106, 4656, 0, 0, 0, 0}, {51, 76, 1800, 4864, 0, 0, 0}, {204, 5180, 0, 0, 0, 0, 0}, {514, 1290, 21, 0, 0, 0, 0}, {42, 514, 76, 5140, 0, 0, 0}, {3840, 63, 5888, 0, 0, 0, 0}, {2048, 64, 4096, 0, 0, 0, 0}, {51, 85, 1285, 4369, 0, 0, 0}, {2570, 106, 4642, 0, 0, 0, 0}, {51, 76, 1807, 4864, 0, 0, 0}, {204, 5188, 0, 0, 0, 0, 0}, {522, 1285, 21, 0, 0, 0, 0}, {42, 522, 76, 5130, 0, 0, 0}, {3855, 63, 5960, 0, 0, 0, 0}, {192, 6216, 12288, 20480, 0, 0, 0}, {25, 51, 531, 85, 1285, 4352, 0}, {42, 522, 64, 4106, 0, 0, 0}, {3855, 51, 5195, 0, 0, 0, 0}, {2048, 76, 5120, 0, 0, 0, 0}, {63, 85, 1285, 4626, 0, 0, 0}, {2570, 102, 5160, 0, 0, 0, 0}, {63, 64, 1807, 4111, 0, 0, 0}, {10400, 20560, 0, 0, 0, 0, 0}, {12, 21, 260, 0, 0, 0, 0}, {42, 520, 20570, 0, 0, 0, 0}, {12, 51, 768, 5203, 0, 0, 0}, {12, 64, 1028, 4112, 0, 0, 0}, {8704, 85, 1280, 0, 0, 0, 0}, {12, 102, 1536, 4656, 0, 0, 0}, {8224, 127, 1800, 0, 0, 0, 0}, {128, 2056, 8224, 20560, 0, 0, 0}, {12, 51, 768, 85, 1280, 4352, 0}, {170, 2560, 8704, 20570, 0, 0, 0}, {12, 51, 768, 64, 1028, 4115, 0}, {12, 5200, 0, 0, 0, 0, 0}, {42, 520, 85, 1280, 0, 0, 0}, {12, 38, 516, 64, 1028, 4118, 0}, {255, 3840, 10079, 20575, 0, 0, 0}, {192, 6240, 12288, 20576, 0, 0, 0}, {25, 51, 529, 85, 1302, 4369, 0}, {42, 520, 64, 4096, 0, 0, 0}, {3855, 51, 5200, 0, 0, 0, 0}, {2056, 76, 5160, 0, 0, 0, 0}, {63, 85, 1295, 4623, 0, 0, 0}, {2560, 102, 5120, 0, 0, 0, 0}, {63, 64, 1799, 4112, 0, 0, 0}, {2056, 64, 4128, 0, 0, 0, 0}, {51, 85, 1295, 4352, 0, 0, 0}, {2560, 106, 4608, 0, 0, 0, 0}, {51, 76, 1799, 4883, 0, 0, 0}, {204, 5228, 0, 0, 0, 0, 0}, {520, 1295, 21, 0, 0, 0, 0}, {42, 520, 76, 5128, 0, 0, 0}, {3855, 63, 5983, 0, 0, 0, 0}, {128, 2048, 8192, 20592, 0, 0, 0}, {12, 51, 768, 85, 1286, 4369, 0}, {170, 2570, 8738, 20560, 0, 0, 0}, {12, 51, 768, 64, 1024, 4096, 0}, {12, 5236, 0, 0, 0, 0, 0}, {42, 522, 85, 1290, 0, 0, 0}, {12, 38, 518, 64, 1024, 4112, 0}, {255, 3840, 10103, 20480, 0, 0, 0}, {10376, 20720, 0, 0, 0, 0, 0}, {12, 21, 262, 0, 0, 0, 0}, {42, 522, 20560, 0, 0, 0, 0}, {12, 51, 768, 5188, 0, 0, 0}, {12, 64, 1024, 4144, 0, 0, 0}, {8738, 85, 1290, 0, 0, 0, 0}, {12, 102, 1542, 4626, 0, 0, 0}, {8192, 127, 1792, 0, 0, 0, 0}, {128, 2048, 8192, 20480, 0, 0, 0}, {12, 51, 771, 85, 1285, 4369, 0}, {170, 2570, 8738, 20490, 0, 0, 0}, {12, 51, 771, 64, 1024, 4099, 0}, {12, 5188, 0, 0, 0, 0, 0}, {42, 522, 85, 1285, 0, 0, 0}, {12, 38, 518, 64, 1024, 4102, 0}, {255, 3855, 10104, 20495, 0, 0, 0}, {10376, 20480, 0, 0, 0, 0, 0}, {12, 21, 261, 0, 0, 0, 0}, {42, 522, 20490, 0, 0, 0, 0}, {12, 51, 771, 5191, 0, 0, 0}, {12, 64, 1024, 4096, 0, 0, 0}, {8738, 85, 1285, 0, 0, 0, 0}, {12, 102, 1542, 4642, 0, 0, 0}, {8192, 127, 1807, 0, 0, 0, 0}, {192, 6224, 12336, 20560, 0, 0, 0}, {25, 51, 529, 85, 1280, 4369, 0}, {42, 520, 64, 4122, 0, 0, 0}, {3840, 51, 5215, 0, 0, 0, 0}, {2056, 76, 5140, 0, 0, 0, 0}, {63, 85, 1280, 4608, 0, 0, 0}, {2560, 102, 5180, 0, 0, 0, 0}, {63, 64, 1800, 4127, 0, 0, 0}, {2056, 64, 4112, 0, 0, 0, 0}, {51, 85, 1280, 4352, 0, 0, 0}, {2560, 106, 4656, 0, 0, 0, 0}, {51, 76, 1800, 4883, 0, 0, 0}, {204, 5200, 0, 0, 0, 0, 0}, {520, 1280, 21, 0, 0, 0, 0}, {42, 520, 76, 5150, 0, 0, 0}, {3840, 63, 5983, 0, 0, 0, 0}, {10400, 20640, 0, 0, 0, 0, 0}, {12, 21, 263, 0, 0, 0, 0}, {42, 520, 20480, 0, 0, 0, 0}, {12, 51, 771, 5200, 0, 0, 0}, {12, 64, 1028, 4128, 0, 0, 0}, {8704, 85, 1295, 0, 0, 0, 0}, {12, 102, 1536, 4608, 0, 0, 0}, {8224, 127, 1799, 0, 0, 0, 0}, {128, 2056, 8224, 20512, 0, 0, 0}, {12, 51, 771, 85, 1283, 4352, 0}, {170, 2560, 8704, 20480, 0, 0, 0}, {12, 51, 771, 64, 1028, 4112, 0}, {12, 5216, 0, 0, 0, 0, 0}, {42, 520, 85, 1295, 0, 0, 0}, {12, 38, 516, 64, 1028, 4096, 0}, {255, 3855, 10064, 20560, 0, 0, 0}, {2048, 64, 4144, 0, 0, 0, 0}, {51, 85, 1290, 4369, 0, 0, 0}, {2570, 106, 4626, 0, 0, 0, 0}, {51, 76, 1792, 4864, 0, 0, 0}, {204, 5240, 0, 0, 0, 0, 0}, {522, 1290, 21, 0, 0, 0, 0}, {42, 522, 76, 5148, 0, 0, 0}, {3840, 63, 5960, 0, 0, 0, 0}, {192, 6264, 12336, 20528, 0, 0, 0}, {25, 51, 531, 85, 1299, 4352, 0}, {42, 522, 64, 4112, 0, 0, 0}, {3840, 51, 5188, 0, 0, 0, 0}, {2048, 76, 5180, 0, 0, 0, 0}, {63, 85, 1290, 4637, 0, 0, 0}, {2570, 102, 5140, 0, 0, 0, 0}, {63, 64, 1792, 4096, 0, 0, 0}, {192, 6144, 12288, 20480, 0, 0, 0}, {25, 51, 514, 85, 1285, 4369, 0}, {42, 514, 64, 4106, 0, 0, 0}, {3855, 51, 5135, 0, 0, 0, 0}, {2056, 76, 5128, 0, 0, 0, 0}, {63, 85, 1285, 4623, 0, 0, 0}, {2570, 102, 5130, 0, 0, 0, 0}, {63, 64, 1799, 4111, 0, 0, 0}, {2056, 64, 4096, 0, 0, 0, 0}, {51, 85, 1285, 4352, 0, 0, 0}, {2570, 106, 4608, 0, 0, 0, 0}, {51, 76, 1799, 4864, 0, 0, 0}, {204, 5120, 0, 0, 0, 0, 0}, {514, 1285, 21, 0, 0, 0, 0}, {42, 514, 76, 5122, 0, 0, 0}, {3855, 63, 5888, 0, 0, 0, 0}, {128, 2048, 8224, 20560, 0, 0, 0}, {12, 51, 768, 85, 1280, 4369, 0}, {170, 2560, 8738, 20570, 0, 0, 0}, {12, 51, 768, 64, 1024, 4115, 0}, {12, 5140, 0, 0, 0, 0, 0}, {42, 512, 85, 1280, 0, 0, 0}, {12, 38, 512, 64, 1024, 4118, 0}, {255, 3840, 10024, 20575, 0, 0, 0}, {10280, 20560, 0, 0, 0, 0, 0}, {12, 21, 256, 0, 0, 0, 0}, {42, 512, 20570, 0, 0, 0, 0}, {12, 51, 768, 5143, 0, 0, 0}, {12, 64, 1024, 4112, 0, 0, 0}, {8738, 85, 1280, 0, 0, 0, 0}, {12, 102, 1536, 4626, 0, 0, 0}, {8224, 127, 1792, 0, 0, 0, 0}, {2048, 64, 4128, 0, 0, 0, 0}, {51, 85, 1295, 4369, 0, 0, 0}, {2560, 106, 4642, 0, 0, 0, 0}, {51, 76, 1807, 4883, 0, 0, 0}, {204, 5160, 0, 0, 0, 0, 0}, {512, 1295, 21, 0, 0, 0, 0}, {42, 512, 76, 5120, 0, 0, 0}, {3855, 63, 5911, 0, 0, 0, 0}, {192, 6184, 12288, 20576, 0, 0, 0}, {25, 51, 512, 85, 1302, 4352, 0}, {42, 512, 64, 4096, 0, 0, 0}, {3855, 51, 5140, 0, 0, 0, 0}, {2048, 76, 5152, 0, 0, 0, 0}, {63, 85, 1295, 4626, 0, 0, 0}, {2560, 102, 5154, 0, 0, 0, 0}, {63, 64, 1807, 4112, 0, 0, 0}, {10240, 20720, 0, 0, 0, 0, 0}, {12, 21, 258, 0, 0, 0, 0}, {42, 514, 20560, 0, 0, 0, 0}, {12, 51, 768, 5120, 0, 0, 0}, {12, 64, 1028, 4144, 0, 0, 0}, {8704, 85, 1290, 0, 0, 0, 0}, {12, 102, 1542, 4656, 0, 0, 0}, {8192, 127, 1800, 0, 0, 0, 0}, {128, 2056, 8192, 20592, 0, 0, 0}, {12, 51, 768, 85, 1286, 4352, 0}, {170, 2570, 8704, 20560, 0, 0, 0}, {12, 51, 768, 64, 1028, 4096, 0}, {12, 5168, 0, 0, 0, 0, 0}, {42, 514, 85, 1290, 0, 0, 0}, {12, 38, 514, 64, 1028, 4112, 0}, {255, 3840, 9984, 20480, 0, 0, 0}, {3072, 5376, 0, 0, 0, 0, 0}, {40, 80, 257, 0, 0, 0, 0}, {40, 514, 1032, 4362, 0, 0, 0}, {240, 771, 5439, 0, 0, 0, 0}, {136, 1028, 4420, 0, 0, 0, 0}, {783, 80, 1285, 4096, 0, 0, 0}, {160, 1542, 4972, 0, 0, 0, 0}, {783, 120, 1032, 4367, 0, 0, 0}, {136, 1032, 4352, 0, 0, 0, 0}, {771, 80, 1285, 4144, 0, 0, 0}, {160, 1546, 4864, 0, 0, 0, 0}, {771, 120, 1028, 4403, 0, 0, 0}, {5568, 3084, 9740, 21760, 0, 0, 0}, {269, 293, 514, 80, 1285, 4357, 0}, {40, 514, 1028, 4430, 0, 0, 0}, {240, 783, 5391, 0, 0, 0, 0}, {816, 80, 1280, 4112, 0, 0, 0}, {136, 1092, 4369, 0, 0, 0, 0}, {816, 120, 1072, 4386, 0, 0, 0}, {160, 1644, 4883, 0, 0, 0, 0}, {40, 80, 276, 0, 0, 0, 0}, {3264, 5397, 0, 0, 0, 0, 0}, {240, 828, 5418, 0, 0, 0, 0}, {40, 512, 1096, 4447, 0, 0, 0}, {280, 304, 512, 80, 1280, 4352, 0}, {5589, 6425, 13107, 21845, 0, 0, 0}, {240, 816, 5402, 0, 0, 0, 0}, {40, 512, 1092, 4379, 0, 0, 0}, {828, 80, 1280, 4128, 0, 0, 0}, {136, 1096, 4437, 0, 0, 0, 0}, {828, 120, 1084, 4382, 0, 0, 0}, {160, 1632, 4991, 0, 0, 0, 0}, {160, 1536, 4896, 0, 0, 0, 0}, {771, 120, 1036, 4369, 0, 0, 0}, {136, 1024, 4386, 0, 0, 0, 0}, {771, 80, 1295, 4112, 0, 0, 0}, {40, 512, 1036, 4420, 0, 0, 0}, {240, 783, 5413, 0, 0, 0, 0}, {5610, 3084, 9766, 16448, 0, 0, 0}, {271, 295, 512, 80, 1024, 4096, 0}, {40, 512, 1024, 4352, 0, 0, 0}, {240, 771, 5397, 0, 0, 0, 0}, {3072, 5418, 0, 0, 0, 0, 0}, {40, 80, 259, 0, 0, 0, 0}, {160, 1548, 4940, 0, 0, 0, 0}, {783, 120, 1024, 4397, 0, 0, 0}, {136, 1036, 4454, 0, 0, 0, 0}, {783, 80, 1295, 4128, 0, 0, 0}, {240, 816, 5424, 0, 0, 0, 0}, {40, 514, 1100, 4369, 0, 0, 0}, {282, 306, 514, 80, 1040, 4112, 0}, {5631, 6451, 13107, 16384, 0, 0, 0}, {828, 120, 1076, 4412, 0, 0, 0}, {160, 1642, 4959, 0, 0, 0, 0}, {828, 80, 1290, 4096, 0, 0, 0}, {136, 1088, 4471, 0, 0, 0, 0}, {816, 120, 1080, 4352, 0, 0, 0}, {160, 1638, 4915, 0, 0, 0, 0}, {816, 80, 1290, 4144, 0, 0, 0}, {136, 1100, 4403, 0, 0, 0, 0}, {240, 828, 5376, 0, 0, 0, 0}, {40, 514, 1088, 4437, 0, 0, 0}, {40, 80, 278, 0, 0, 0, 0}, {3264, 5439, 0, 0, 0, 0, 0}, {3264, 5440, 0, 0, 0, 0, 0}, {40, 80, 273, 0, 0, 0, 0}, {40, 522, 1096, 4362, 0, 0, 0}, {240, 819, 5503, 0, 0, 0, 0}, {136, 1092, 4420, 0, 0, 0, 0}, {831, 80, 1285, 4112, 0, 0, 0}, {160, 1638, 4940, 0, 0, 0, 0}, {831, 120, 1072, 4367, 0, 0, 0}, {136, 1096, 4352, 0, 0, 0, 0}, {819, 80, 1285, 4128, 0, 0, 0}, {160, 1642, 4896, 0, 0, 0, 0}, {819, 120, 1084, 4403, 0, 0, 0}, {5504, 6476, 9804, 21760, 0, 0, 0}, {285, 309, 791, 80, 1285, 4357, 0}, {40, 522, 1092, 4430, 0, 0, 0}, {240, 831, 5455, 0, 0, 0, 0}, {768, 80, 1280, 4096, 0, 0, 0}, {136, 1028, 4369, 0, 0, 0, 0}, {768, 120, 1032, 4386, 0, 0, 0}, {160, 1548, 4915, 0, 0, 0, 0}, {40, 80, 260, 0, 0, 0, 0}, {3072, 5461, 0, 0, 0, 0, 0}, {240, 780, 5482, 0, 0, 0, 0}, {40, 520, 1032, 4447, 0, 0, 0}, {264, 288, 768, 80, 1280, 4352, 0}, {5525, 3084, 13107, 21845, 0, 0, 0}, {240, 768, 5466, 0, 0, 0, 0}, {40, 520, 1028, 4379, 0, 0, 0}, {780, 80, 1280, 4144, 0, 0, 0}, {136, 1032, 4437, 0, 0, 0, 0}, {780, 120, 1028, 4382, 0, 0, 0}, {160, 1536, 4959, 0, 0, 0, 0}, {160, 1632, 4864, 0, 0, 0, 0}, {819, 120, 1076, 4369, 0, 0, 0}, {136, 1088, 4386, 0, 0, 0, 0}, {819, 80, 1295, 4096, 0, 0, 0}, {40, 520, 1100, 4420, 0, 0, 0}, {240, 831, 5477, 0, 0, 0, 0}, {5546, 6502, 9830, 16384, 0, 0, 0}, {287, 311, 791, 80, 1040, 4112, 0}, {40, 520, 1088, 4352, 0, 0, 0}, {240, 819, 5461, 0, 0, 0, 0}, {3264, 5482, 0, 0, 0, 0, 0}, {40, 80, 275, 0, 0, 0, 0}, {160, 1644, 4972, 0, 0, 0, 0}, {831, 120, 1080, 4397, 0, 0, 0}, {136, 1100, 4454, 0, 0, 0, 0}, {831, 80, 1295, 4144, 0, 0, 0}, {240, 768, 5488, 0, 0, 0, 0}, {40, 522, 1036, 4369, 0, 0, 0}, {266, 290, 768, 80, 1024, 4096, 0}, {5567, 3084, 13107, 16448, 0, 0, 0}, {780, 120, 1036, 4412, 0, 0, 0}, {160, 1546, 4991, 0, 0, 0, 0}, {780, 80, 1290, 4112, 0, 0, 0}, {136, 1024, 4471, 0, 0, 0, 0}, {768, 120, 1024, 4352, 0, 0, 0}, {160, 1542, 4883, 0, 0, 0, 0}, {768, 80, 1290, 4128, 0, 0, 0}, {136, 1036, 4403, 0, 0, 0, 0}, {240, 780, 5440, 0, 0, 0, 0}, {40, 522, 1024, 4437, 0, 0, 0}, {40, 80, 262, 0, 0, 0, 0}, {3072, 5503, 0, 0, 0, 0, 0}, {5504, 3072, 13056, 21760, 0, 0, 0}, {265, 289, 771, 80, 1285, 4369, 0}, {40, 522, 1024, 4362, 0, 0, 0}, {240, 771, 5455, 0, 0, 0, 0}, {136, 1036, 4420, 0, 0, 0, 0}, {783, 80, 1285, 4128, 0, 0, 0}, {160, 1542, 4940, 0, 0, 0, 0}, {783, 120, 1024, 4367, 0, 0, 0}, {136, 1024, 4352, 0, 0, 0, 0}, {771, 80, 1285, 4112, 0, 0, 0}, {160, 1546, 4896, 0, 0, 0, 0}, {771, 120, 1036, 4403, 0, 0, 0}, {3084, 5440, 0, 0, 0, 0, 0}, {40, 80, 261, 0, 0, 0, 0}, {40, 522, 1036, 4430, 0, 0, 0}, {240, 783, 5503, 0, 0, 0, 0}, {816, 80, 1280, 4144, 0, 0, 0}, {136, 1100, 4369, 0, 0, 0, 0}, {816, 120, 1080, 4386, 0, 0, 0}, {160, 1644, 4915, 0, 0, 0, 0}, {284, 308, 788, 80, 1280, 4372, 0}, {5525, 6485, 9834, 21845, 0, 0, 0}, {240, 828, 5466, 0, 0, 0, 0}, {40, 520, 1088, 4447, 0, 0, 0}, {40, 80, 272, 0, 0, 0, 0}, {3276, 5461, 0, 0, 0, 0, 0}, {240, 816, 5482, 0, 0, 0, 0}, {40, 520, 1100, 4379, 0, 0, 0}, {828, 80, 1280, 4096, 0, 0, 0}, {136, 1088, 4437, 0, 0, 0, 0}, {828, 120, 1076, 4382, 0, 0, 0}, {160, 1632, 4959, 0, 0, 0, 0}, {160, 1536, 4864, 0, 0, 0, 0}, {771, 120, 1028, 4369, 0, 0, 0}, {136, 1032, 4386, 0, 0, 0, 0}, {771, 80, 1295, 4144, 0, 0, 0}, {40, 520, 1028, 4420, 0, 0, 0}, {240, 783, 5461, 0, 0, 0, 0}, {3084, 5482, 0, 0, 0, 0, 0}, {40, 80, 263, 0, 0, 0, 0}, {40, 520, 1032, 4352, 0, 0, 0}, {240, 771, 5477, 0, 0, 0, 0}, {5546, 3072, 13056, 16384, 0, 0, 0}, {267, 291, 771, 80, 1028, 4112, 0}, {160, 1548, 4972, 0, 0, 0, 0}, {783, 120, 1032, 4397, 0, 0, 0}, {136, 1028, 4454, 0, 0, 0, 0}, {783, 80, 1295, 4096, 0, 0, 0}, {240, 816, 5440, 0, 0, 0, 0}, {40, 522, 1092, 4369, 0, 0, 0}, {40, 80, 274, 0, 0, 0, 0}, {3276, 5503, 0, 0, 0, 0, 0}, {828, 120, 1084, 4412, 0, 0, 0}, {160, 1642, 4991, 0, 0, 0, 0}, {828, 80, 1290, 4128, 0, 0, 0}, {136, 1096, 4471, 0, 0, 0, 0}, {816, 120, 1072, 4352, 0, 0, 0}, {160, 1638, 4883, 0, 0, 0, 0}, {816, 80, 1290, 4112, 0, 0, 0}, {136, 1092, 4403, 0, 0, 0, 0}, {240, 828, 5488, 0, 0, 0, 0}, {40, 522, 1096, 4437, 0, 0, 0}, {286, 310, 788, 80, 1044, 4096, 0}, {5567, 6527, 9792, 16448, 0, 0, 0}, {5568, 6400, 13056, 21760, 0, 0, 0}, {281, 305, 514, 80, 1285, 4369, 0}, {40, 514, 1088, 4362, 0, 0, 0}, {240, 819, 5391, 0, 0, 0, 0}, {136, 1100, 4420, 0, 0, 0, 0}, {831, 80, 1285, 4144, 0, 0, 0}, {160, 1638, 4972, 0, 0, 0, 0}, {831, 120, 1080, 4367, 0, 0, 0}, {136, 1088, 4352, 0, 0, 0, 0}, {819, 80, 1285, 4096, 0, 0, 0}, {160, 1642, 4864, 0, 0, 0, 0}, {819, 120, 1076, 4403, 0, 0, 0}, {3276, 5376, 0, 0, 0, 0, 0}, {40, 80, 277, 0, 0, 0, 0}, {40, 514, 1100, 4430, 0, 0, 0}, {240, 831, 5439, 0, 0, 0, 0}, {768, 80, 1280, 4128, 0, 0, 0}, {136, 1036, 4369, 0, 0, 0, 0}, {768, 120, 1024, 4386, 0, 0, 0}, {160, 1548, 4883, 0, 0, 0, 0}, {268, 292, 512, 80, 1280, 4372, 0}, {5589, 3072, 9770, 21845, 0, 0, 0}, {240, 780, 5402, 0, 0, 0, 0}, {40, 512, 1024, 4447, 0, 0, 0}, {40, 80, 256, 0, 0, 0, 0}, {3084, 5397, 0, 0, 0, 0, 0}, {240, 768, 5418, 0, 0, 0, 0}, {40, 512, 1036, 4379, 0, 0, 0}, {780, 80, 1280, 4112, 0, 0, 0}, {136, 1024, 4437, 0, 0, 0, 0}, {780, 120, 1036, 4382, 0, 0, 0}, {160, 1536, 4991, 0, 0, 0, 0}, {160, 1632, 4896, 0, 0, 0, 0}, {819, 120, 1084, 4369, 0, 0, 0}, {136, 1096, 4386, 0, 0, 0, 0}, {819, 80, 1295, 4128, 0, 0, 0}, {40, 512, 1092, 4420, 0, 0, 0}, {240, 831, 5397, 0, 0, 0, 0}, {3276, 5418, 0, 0, 0, 0, 0}, {40, 80, 279, 0, 0, 0, 0}, {40, 512, 1096, 4352, 0, 0, 0}, {240, 819, 5413, 0, 0, 0, 0}, {5610, 6442, 13056, 16448, 0, 0, 0}, {283, 307, 512, 80, 1044, 4096, 0}, {160, 1644, 4940, 0, 0, 0, 0}, {831, 120, 1072, 4397, 0, 0, 0}, {136, 1092, 4454, 0, 0, 0, 0}, {831, 80, 1295, 4112, 0, 0, 0}, {240, 768, 5376, 0, 0, 0, 0}, {40, 514, 1028, 4369, 0, 0, 0}, {40, 80, 258, 0, 0, 0, 0}, {3084, 5439, 0, 0, 0, 0, 0}, {780, 120, 1028, 4412, 0, 0, 0}, {160, 1546, 4959, 0, 0, 0, 0}, {780, 80, 1290, 4144, 0, 0, 0}, {136, 1032, 4471, 0, 0, 0, 0}, {768, 120, 1032, 4352, 0, 0, 0}, {160, 1542, 4915, 0, 0, 0, 0}, {768, 80, 1290, 4096, 0, 0, 0}, {136, 1028, 4403, 0, 0, 0, 0}, {240, 780, 5424, 0, 0, 0, 0}, {40, 514, 1032, 4437, 0, 0, 0}, {270, 294, 514, 80, 1028, 4112, 0}, {5631, 3072, 9728, 16384, 0, 0, 0}, {10752, 23040, 0, 0, 0, 0, 0}, {12, 23, 257, 0, 0, 0, 0}, {40, 514, 20480, 0, 0, 0, 0}, {12, 51, 771, 5376, 0, 0, 0}, {12, 68, 1028, 4608, 0, 0, 0}, {8192, 95, 1285, 0, 0, 0, 0}, {12, 96, 1542, 4096, 0, 0, 0}, {8704, 119, 1799, 0, 0, 0, 0}, {136, 2056, 8704, 21000, 0, 0, 0}, {12, 51, 771, 83, 1285, 4099, 0}, {160, 2570, 8192, 20480, 0, 0, 0}, {12, 51, 771, 68, 1028, 4352, 0}, {12, 5632, 0, 0, 0, 0, 0}, {40, 514, 95, 1285, 0, 0, 0}, {12, 36, 514, 68, 1028, 4100, 0}, {255, 3855, 9487, 21760, 0, 0, 0}, {2560, 96, 4112, 0, 0, 0, 0}, {51, 68, 1792, 4369, 0, 0, 0}, {2048, 72, 4626, 0, 0, 0, 0}, {51, 95, 1280, 4883, 0, 0, 0}, {40, 512, 68, 5140, 0, 0, 0}, {3840, 63, 5397, 0, 0, 0, 0}, {204, 5654, 0, 0, 0, 0, 0}, {512, 1280, 23, 0, 0, 0, 0}, {40, 512, 72, 4120, 0, 0, 0}, {3840, 51, 5657, 0, 0, 0, 0}, {192, 6682, 12336, 16448, 0, 0, 0}, {27, 51, 512, 68, 1280, 4352, 0}, {2560, 108, 5660, 0, 0, 0, 0}, {63, 72, 1792, 4637, 0, 0, 0}, {2048, 68, 5662, 0, 0, 0, 0}, {63, 95, 1280, 4127, 0, 0, 0}, {160, 2560, 8224, 20480, 0, 0, 0}, {12, 51, 771, 68, 1024, 4369, 0}, {136, 2048, 8738, 21026, 0, 0, 0}, {12, 51, 771, 83, 1283, 4112, 0}, {12, 36, 512, 68, 1024, 4096, 0}, {255, 3855, 9509, 21845, 0, 0, 0}, {12, 5670, 0, 0, 0, 0, 0}, {40, 512, 95, 1295, 0, 0, 0}, {40, 512, 20480, 0, 0, 0, 0}, {12, 51, 771, 5397, 0, 0, 0}, {10794, 23210, 0, 0, 0, 0, 0}, {12, 23, 259, 0, 0, 0, 0}, {12, 96, 1536, 4128, 0, 0, 0}, {8738, 119, 1807, 0, 0, 0, 0}, {12, 68, 1024, 4642, 0, 0, 0}, {8224, 95, 1295, 0, 0, 0, 0}, {192, 6704, 12336, 16384, 0, 0, 0}, {27, 51, 514, 68, 1297, 4369, 0}, {40, 514, 72, 4112, 0, 0, 0}, {3840, 51, 5632, 0, 0, 0, 0}, {2056, 68, 5684, 0, 0, 0, 0}, {63, 95, 1290, 4096, 0, 0, 0}, {2570, 108, 5686, 0, 0, 0, 0}, {63, 72, 1800, 4608, 0, 0, 0}, {2056, 72, 4656, 0, 0, 0, 0}, {51, 95, 1290, 4864, 0, 0, 0}, {2570, 96, 4144, 0, 0, 0, 0}, {51, 68, 1800, 4352, 0, 0, 0}, {204, 5692, 0, 0, 0, 0, 0}, {514, 1290, 23, 0, 0, 0, 0}, {40, 514, 68, 5140, 0, 0, 0}, {3840, 63, 5376, 0, 0, 0, 0}, {192, 6720, 12288, 16448, 0, 0, 0}, {27, 51, 529, 68, 1285, 4369, 0}, {40, 522, 72, 4096, 0, 0, 0}, {3855, 51, 5699, 0, 0, 0, 0}, {2048, 68, 5632, 0, 0, 0, 0}, {63, 95, 1285, 4112, 0, 0, 0}, {2570, 108, 5674, 0, 0, 0, 0}, {63, 72, 1807, 4623, 0, 0, 0}, {2048, 72, 4608, 0, 0, 0, 0}, {51, 95, 1285, 4883, 0, 0, 0}, {2570, 96, 4128, 0, 0, 0, 0}, {51, 68, 1807, 4352, 0, 0, 0}, {204, 5708, 0, 0, 0, 0, 0}, {522, 1285, 23, 0, 0, 0, 0}, {40, 522, 68, 5120, 0, 0, 0}, {3855, 63, 5440, 0, 0, 0, 0}, {160, 2560, 8192, 20560, 0, 0, 0}, {12, 51, 768, 68, 1028, 4369, 0}, {136, 2056, 8738, 21074, 0, 0, 0}, {12, 51, 768, 83, 1280, 4096, 0}, {12, 36, 516, 68, 1028, 4112, 0}, {255, 3840, 9557, 21845, 0, 0, 0}, {12, 5718, 0, 0, 0, 0, 0}, {40, 520, 95, 1280, 0, 0, 0}, {40, 520, 20560, 0, 0, 0, 0}, {12, 51, 768, 5461, 0, 0, 0}, {10922, 23130, 0, 0, 0, 0, 0}, {12, 23, 260, 0, 0, 0, 0}, {12, 96, 1536, 4144, 0, 0, 0}, {8738, 119, 1800, 0, 0, 0, 0}, {12, 68, 1028, 4626, 0, 0, 0}, {8192, 95, 1280, 0, 0, 0, 0}, {2560, 96, 4096, 0, 0, 0, 0}, {51, 68, 1799, 4369, 0, 0, 0}, {2056, 72, 4642, 0, 0, 0, 0}, {51, 95, 1295, 4864, 0, 0, 0}, {40, 520, 68, 5120, 0, 0, 0}, {3855, 63, 5461, 0, 0, 0, 0}, {204, 5734, 0, 0, 0, 0, 0}, {520, 1295, 23, 0, 0, 0, 0}, {40, 520, 72, 4104, 0, 0, 0}, {3855, 51, 5722, 0, 0, 0, 0}, {192, 6762, 12288, 16384, 0, 0, 0}, {27, 51, 531, 68, 1300, 4352, 0}, {2560, 108, 5632, 0, 0, 0, 0}, {63, 72, 1799, 4626, 0, 0, 0}, {2056, 68, 5674, 0, 0, 0, 0}, {63, 95, 1295, 4111, 0, 0, 0}, {10880, 23280, 0, 0, 0, 0, 0}, {12, 23, 262, 0, 0, 0, 0}, {40, 522, 20560, 0, 0, 0, 0}, {12, 51, 768, 5440, 0, 0, 0}, {12, 68, 1024, 4656, 0, 0, 0}, {8224, 95, 1290, 0, 0, 0, 0}, {12, 96, 1542, 4112, 0, 0, 0}, {8704, 119, 1792, 0, 0, 0, 0}, {136, 2048, 8704, 21112, 0, 0, 0}, {12, 51, 768, 83, 1286, 4115, 0}, {160, 2570, 8224, 20560, 0, 0, 0}, {12, 51, 768, 68, 1024, 4352, 0}, {12, 5744, 0, 0, 0, 0, 0}, {40, 522, 95, 1290, 0, 0, 0}, {12, 36, 518, 68, 1024, 4116, 0}, {255, 3840, 9599, 21760, 0, 0, 0}, {10880, 23040, 0, 0, 0, 0, 0}, {12, 23, 261, 0, 0, 0, 0}, {40, 522, 20480, 0, 0, 0, 0}, {12, 51, 771, 5440, 0, 0, 0}, {12, 68, 1024, 4608, 0, 0, 0}, {8224, 95, 1285, 0, 0, 0, 0}, {12, 96, 1542, 4128, 0, 0, 0}, {8704, 119, 1807, 0, 0, 0, 0}, {136, 2048, 8704, 20992, 0, 0, 0}, {12, 51, 771, 83, 1285, 4112, 0}, {160, 2570, 8224, 20480, 0, 0, 0}, {12, 51, 771, 68, 1024, 4352, 0}, {12, 5696, 0, 0, 0, 0, 0}, {40, 522, 95, 1285, 0, 0, 0}, {12, 36, 518, 68, 1024, 4096, 0}, {255, 3855, 9584, 21760, 0, 0, 0}, {2560, 96, 4144, 0, 0, 0, 0}, {51, 68, 1800, 4369, 0, 0, 0}, {2056, 72, 4626, 0, 0, 0, 0}, {51, 95, 1280, 4864, 0, 0, 0}, {40, 520, 68, 5140, 0, 0, 0}, {3840, 63, 5461, 0, 0, 0, 0}, {204, 5722, 0, 0, 0, 0, 0}, {520, 1280, 23, 0, 0, 0, 0}, {40, 520, 72, 4112, 0, 0, 0}, {3840, 51, 5717, 0, 0, 0, 0}, {192, 6746, 12336, 16384, 0, 0, 0}, {27, 51, 531, 68, 1280, 4352, 0}, {2560, 108, 5692, 0, 0, 0, 0}, {63, 72, 1800, 4637, 0, 0, 0}, {2056, 68, 5654, 0, 0, 0, 0}, {63, 95, 1280, 4096, 0, 0, 0}, {160, 2560, 8192, 20480, 0, 0, 0}, {12, 51, 771, 68, 1028, 4369, 0}, {136, 2056, 8738, 21034, 0, 0, 0}, {12, 51, 771, 83, 1283, 4099, 0}, {12, 36, 516, 68, 1028, 4100, 0}, {255, 3855, 9562, 21845, 0, 0, 0}, {12, 5734, 0, 0, 0, 0, 0}, {40, 520, 95, 1295, 0, 0, 0}, {40, 520, 20480, 0, 0, 0, 0}, {12, 51, 771, 5461, 0, 0, 0}, {10922, 23210, 0, 0, 0, 0, 0}, {12, 23, 263, 0, 0, 0, 0}, {12, 96, 1536, 4096, 0, 0, 0}, {8738, 119, 1799, 0, 0, 0, 0}, {12, 68, 1028, 4642, 0, 0, 0}, {8192, 95, 1295, 0, 0, 0, 0}, {192, 6768, 12336, 16448, 0, 0, 0}, {27, 51, 529, 68, 1297, 4369, 0}, {40, 522, 72, 4120, 0, 0, 0}, {3840, 51, 5708, 0, 0, 0, 0}, {2048, 68, 5692, 0, 0, 0, 0}, {63, 95, 1290, 4127, 0, 0, 0}, {2570, 108, 5654, 0, 0, 0, 0}, {63, 72, 1792, 4608, 0, 0, 0}, {2048, 72, 4656, 0, 0, 0, 0}, {51, 95, 1290, 4883, 0, 0, 0}, {2570, 96, 4112, 0, 0, 0, 0}, {51, 68, 1792, 4352, 0, 0, 0}, {204, 5744, 0, 0, 0, 0, 0}, {522, 1290, 23, 0, 0, 0, 0}, {40, 522, 68, 5140, 0, 0, 0}, {3840, 63, 5440, 0, 0, 0, 0}, {192, 6656, 12288, 16384, 0, 0, 0}, {27, 51, 514, 68, 1285, 4369, 0}, {40, 514, 72, 4104, 0, 0, 0}, {3855, 51, 5647, 0, 0, 0, 0}, {2056, 68, 5640, 0, 0, 0, 0}, {63, 95, 1285, 4111, 0, 0, 0}, {2570, 108, 5642, 0, 0, 0, 0}, {63, 72, 1799, 4623, 0, 0, 0}, {2056, 72, 4608, 0, 0, 0, 0}, {51, 95, 1285, 4864, 0, 0, 0}, {2570, 96, 4096, 0, 0, 0, 0}, {51, 68, 1799, 4352, 0, 0, 0}, {204, 5632, 0, 0, 0, 0, 0}, {514, 1285, 23, 0, 0, 0, 0}, {40, 514, 68, 5120, 0, 0, 0}, {3855, 63, 5376, 0, 0, 0, 0}, {160, 2560, 8224, 20560, 0, 0, 0}, {12, 51, 768, 68, 1024, 4369, 0}, {136, 2048, 8738, 21082, 0, 0, 0}, {12, 51, 768, 83, 1280, 4115, 0}, {12, 36, 512, 68, 1024, 4116, 0}, {255, 3840, 9514, 21845, 0, 0, 0}, {12, 5654, 0, 0, 0, 0, 0}, {40, 512, 95, 1280, 0, 0, 0}, {40, 512, 20560, 0, 0, 0, 0}, {12, 51, 768, 5397, 0, 0, 0}, {10794, 23130, 0, 0, 0, 0, 0}, {12, 23, 256, 0, 0, 0, 0}, {12, 96, 1536, 4112, 0, 0, 0}, {8738, 119, 1792, 0, 0, 0, 0}, {12, 68, 1024, 4626, 0, 0, 0}, {8224, 95, 1280, 0, 0, 0, 0}, {2560, 96, 4128, 0, 0, 0, 0}, {51, 68, 1807, 4369, 0, 0, 0}, {2048, 72, 4642, 0, 0, 0, 0}, {51, 95, 1295, 4883, 0, 0, 0}, {40, 512, 68, 5120, 0, 0, 0}, {3855, 63, 5397, 0, 0, 0, 0}, {204, 5674, 0, 0, 0, 0, 0}, {512, 1295, 23, 0, 0, 0, 0}, {40, 512, 72, 4096, 0, 0, 0}, {3855, 51, 5654, 0, 0, 0, 0}, {192, 6698, 12288, 16448, 0, 0, 0}, {27, 51, 512, 68, 1300, 4352, 0}, {2560, 108, 5664, 0, 0, 0, 0}, {63, 72, 1807, 4626, 0, 0, 0}, {2048, 68, 5666, 0, 0, 0, 0}, {63, 95, 1295, 4112, 0, 0, 0}, {10752, 23280, 0, 0, 0, 0, 0}, {12, 23, 258, 0, 0, 0, 0}, {40, 514, 20560, 0, 0, 0, 0}, {12, 51, 768, 5376, 0, 0, 0}, {12, 68, 1028, 4656, 0, 0, 0}, {8192, 95, 1290, 0, 0, 0, 0}, {12, 96, 1542, 4144, 0, 0, 0}, {8704, 119, 1800, 0, 0, 0, 0}, {136, 2056, 8704, 21104, 0, 0, 0}, {12, 51, 768, 83, 1286, 4096, 0}, {160, 2570, 8192, 20560, 0, 0, 0}, {12, 51, 768, 68, 1028, 4352, 0}, {12, 5680, 0, 0, 0, 0, 0}, {40, 514, 95, 1290, 0, 0, 0}, {12, 36, 514, 68, 1028, 4112, 0}, {255, 3840, 9472, 21760, 0, 0, 0}, {3072, 5888, 0, 0, 0, 0, 0}, {42, 90, 257, 0, 0, 0, 0}, {42, 514, 1032, 4360, 0, 0, 0}, {240, 771, 5180, 0, 0, 0, 0}, {128, 1028, 4940, 0, 0, 0, 0}, {783, 90, 1285, 4367, 0, 0, 0}, {170, 1542, 4454, 0, 0, 0, 0}, {783, 112, 1032, 4096, 0, 0, 0}, {128, 1032, 4864, 0, 0, 0, 0}, {771, 90, 1285, 4403, 0, 0, 0}, {170, 1546, 4352, 0, 0, 0, 0}, {771, 112, 1028, 4144, 0, 0, 0}, {6080, 3084, 9228, 21260, 0, 0, 0}, {269, 295, 514, 343, 1285, 4359, 0}, {42, 514, 1028, 4420, 0, 0, 0}, {240, 783, 5120, 0, 0, 0, 0}, {816, 112, 1072, 4112, 0, 0, 0}, {170, 1638, 4369, 0, 0, 0, 0}, {816, 90, 1280, 4386, 0, 0, 0}, {128, 1100, 4883, 0, 0, 0, 0}, {240, 828, 5140, 0, 0, 0, 0}, {42, 512, 1088, 4437, 0, 0, 0}, {42, 90, 278, 0, 0, 0, 0}, {3264, 5911, 0, 0, 0, 0, 0}, {240, 816, 5160, 0, 0, 0, 0}, {42, 512, 1100, 4377, 0, 0, 0}, {282, 304, 512, 320, 1280, 4352, 0}, {6103, 6939, 13107, 17476, 0, 0, 0}, {828, 112, 1084, 4128, 0, 0, 0}, {170, 1642, 4471, 0, 0, 0, 0}, {828, 90, 1280, 4382, 0, 0, 0}, {128, 1088, 4959, 0, 0, 0, 0}, {128, 1024, 4896, 0, 0, 0, 0}, {771, 90, 1295, 4369, 0, 0, 0}, {170, 1536, 4386, 0, 0, 0, 0}, {771, 112, 1036, 4112, 0, 0, 0}, {6120, 3084, 9252, 17476, 0, 0, 0}, {271, 293, 512, 341, 1024, 4096, 0}, {42, 512, 1036, 4428, 0, 0, 0}, {240, 783, 5160, 0, 0, 0, 0}, {3072, 5928, 0, 0, 0, 0, 0}, {42, 90, 259, 0, 0, 0, 0}, {42, 512, 1024, 4352, 0, 0, 0}, {240, 771, 5140, 0, 0, 0, 0}, {128, 1036, 4972, 0, 0, 0, 0}, {783, 90, 1295, 4397, 0, 0, 0}, {170, 1548, 4420, 0, 0, 0, 0}, {783, 112, 1024, 4128, 0, 0, 0}, {240, 816, 5120, 0, 0, 0, 0}, {42, 514, 1092, 4369, 0, 0, 0}, {280, 306, 514, 322, 1042, 4112, 0}, {6143, 6963, 13107, 21299, 0, 0, 0}, {828, 112, 1076, 4096, 0, 0, 0}, {170, 1632, 4437, 0, 0, 0, 0}, {828, 90, 1290, 4412, 0, 0, 0}, {128, 1096, 4991, 0, 0, 0, 0}, {816, 112, 1080, 4144, 0, 0, 0}, {170, 1644, 4403, 0, 0, 0, 0}, {816, 90, 1290, 4352, 0, 0, 0}, {128, 1092, 4915, 0, 0, 0, 0}, {240, 828, 5180, 0, 0, 0, 0}, {42, 514, 1096, 4445, 0, 0, 0}, {42, 90, 276, 0, 0, 0, 0}, {3264, 5951, 0, 0, 0, 0, 0}, {128, 1088, 4864, 0, 0, 0, 0}, {819, 90, 1285, 4369, 0, 0, 0}, {170, 1632, 4386, 0, 0, 0, 0}, {819, 112, 1084, 4096, 0, 0, 0}, {6024, 6980, 9284, 17476, 0, 0, 0}, {287, 309, 789, 325, 1285, 4112, 0}, {42, 522, 1100, 4428, 0, 0, 0}, {240, 831, 5240, 0, 0, 0, 0}, {3264, 5960, 0, 0, 0, 0, 0}, {42, 90, 275, 0, 0, 0, 0}, {42, 522, 1088, 4352, 0, 0, 0}, {240, 819, 5188, 0, 0, 0, 0}, {128, 1100, 4940, 0, 0, 0, 0}, {831, 90, 1285, 4397, 0, 0, 0}, {170, 1644, 4420, 0, 0, 0, 0}, {831, 112, 1072, 4144, 0, 0, 0}, {240, 768, 5200, 0, 0, 0, 0}, {42, 520, 1028, 4369, 0, 0, 0}, {264, 290, 768, 338, 1280, 4096, 0}, {6047, 3084, 13107, 21331, 0, 0, 0}, {780, 112, 1028, 4112, 0, 0, 0}, {170, 1536, 4437, 0, 0, 0, 0}, {780, 90, 1280, 4412, 0, 0, 0}, {128, 1032, 4959, 0, 0, 0, 0}, {768, 112, 1032, 4128, 0, 0, 0}, {170, 1548, 4403, 0, 0, 0, 0}, {768, 90, 1280, 4352, 0, 0, 0}, {128, 1028, 4883, 0, 0, 0, 0}, {240, 780, 5228, 0, 0, 0, 0}, {42, 520, 1032, 4445, 0, 0, 0}, {42, 90, 260, 0, 0, 0, 0}, {3072, 5983, 0, 0, 0, 0, 0}, {3264, 5984, 0, 0, 0, 0, 0}, {42, 90, 273, 0, 0, 0, 0}, {42, 520, 1096, 4360, 0, 0, 0}, {240, 819, 5228, 0, 0, 0, 0}, {128, 1092, 4972, 0, 0, 0, 0}, {831, 90, 1295, 4367, 0, 0, 0}, {170, 1638, 4454, 0, 0, 0, 0}, {831, 112, 1080, 4112, 0, 0, 0}, {128, 1096, 4896, 0, 0, 0, 0}, {819, 90, 1295, 4403, 0, 0, 0}, {170, 1642, 4352, 0, 0, 0, 0}, {819, 112, 1076, 4128, 0, 0, 0}, {6048, 7020, 9324, 21356, 0, 0, 0}, {285, 311, 789, 327, 1042, 4359, 0}, {42, 520, 1092, 4420, 0, 0, 0}, {240, 831, 5200, 0, 0, 0, 0}, {768, 112, 1024, 4096, 0, 0, 0}, {170, 1542, 4369, 0, 0, 0, 0}, {768, 90, 1290, 4386, 0, 0, 0}, {128, 1036, 4915, 0, 0, 0, 0}, {240, 780, 5188, 0, 0, 0, 0}, {42, 522, 1024, 4437, 0, 0, 0}, {42, 90, 262, 0, 0, 0, 0}, {3072, 6007, 0, 0, 0, 0, 0}, {240, 768, 5240, 0, 0, 0, 0}, {42, 522, 1036, 4377, 0, 0, 0}, {266, 288, 768, 336, 1024, 4352, 0}, {6071, 3084, 13107, 17476, 0, 0, 0}, {780, 112, 1036, 4144, 0, 0, 0}, {170, 1546, 4471, 0, 0, 0, 0}, {780, 90, 1290, 4382, 0, 0, 0}, {128, 1024, 4991, 0, 0, 0, 0}, {128, 1024, 4864, 0, 0, 0, 0}, {771, 90, 1285, 4369, 0, 0, 0}, {170, 1546, 4386, 0, 0, 0, 0}, {771, 112, 1036, 4144, 0, 0, 0}, {3084, 5960, 0, 0, 0, 0, 0}, {42, 90, 261, 0, 0, 0, 0}, {42, 522, 1036, 4428, 0, 0, 0}, {240, 783, 5240, 0, 0, 0, 0}, {6024, 3072, 13056, 21248, 0, 0, 0}, {265, 291, 771, 339, 1285, 4112, 0}, {42, 522, 1024, 4352, 0, 0, 0}, {240, 771, 5188, 0, 0, 0, 0}, {128, 1036, 4940, 0, 0, 0, 0}, {783, 90, 1285, 4397, 0, 0, 0}, {170, 1542, 4420, 0, 0, 0, 0}, {783, 112, 1024, 4096, 0, 0, 0}, {240, 816, 5200, 0, 0, 0, 0}, {42, 520, 1092, 4369, 0, 0, 0}, {42, 90, 274, 0, 0, 0, 0}, {3276, 5983, 0, 0, 0, 0, 0}, {828, 112, 1076, 4128, 0, 0, 0}, {170, 1642, 4437, 0, 0, 0, 0}, {828, 90, 1280, 4412, 0, 0, 0}, {128, 1096, 4959, 0, 0, 0, 0}, {816, 112, 1080, 4112, 0, 0, 0}, {170, 1638, 4403, 0, 0, 0, 0}, {816, 90, 1280, 4352, 0, 0, 0}, {128, 1092, 4883, 0, 0, 0, 0}, {240, 828, 5228, 0, 0, 0, 0}, {42, 520, 1096, 4445, 0, 0, 0}, {286, 308, 790, 324, 1280, 4096, 0}, {6047, 7007, 9312, 17408, 0, 0, 0}, {6048, 3072, 13056, 17408, 0, 0, 0}, {267, 289, 771, 337, 1028, 4369, 0}, {42, 520, 1032, 4360, 0, 0, 0}, {240, 771, 5228, 0, 0, 0, 0}, {128, 1028, 4972, 0, 0, 0, 0}, {783, 90, 1295, 4367, 0, 0, 0}, {170, 1548, 4454, 0, 0, 0, 0}, {783, 112, 1032, 4128, 0, 0, 0}, {128, 1032, 4896, 0, 0, 0, 0}, {771, 90, 1295, 4403, 0, 0, 0}, {170, 1536, 4352, 0, 0, 0, 0}, {771, 112, 1028, 4112, 0, 0, 0}, {3084, 5984, 0, 0, 0, 0, 0}, {42, 90, 263, 0, 0, 0, 0}, {42, 520, 1028, 4420, 0, 0, 0}, {240, 783, 5200, 0, 0, 0, 0}, {816, 112, 1072, 4144, 0, 0, 0}, {170, 1644, 4369, 0, 0, 0, 0}, {816, 90, 1290, 4386, 0, 0, 0}, {128, 1100, 4915, 0, 0, 0, 0}, {240, 828, 5188, 0, 0, 0, 0}, {42, 522, 1088, 4437, 0, 0, 0}, {284, 310, 790, 326, 1046, 4374, 0}, {6071, 7031, 9288, 21311, 0, 0, 0}, {240, 816, 5240, 0, 0, 0, 0}, {42, 522, 1100, 4377, 0, 0, 0}, {42, 90, 272, 0, 0, 0, 0}, {3276, 6007, 0, 0, 0, 0, 0}, {828, 112, 1084, 4096, 0, 0, 0}, {170, 1632, 4471, 0, 0, 0, 0}, {828, 90, 1290, 4382, 0, 0, 0}, {128, 1088, 4991, 0, 0, 0, 0}, {6080, 6912, 13056, 17408, 0, 0, 0}, {283, 305, 514, 321, 1285, 4369, 0}, {42, 514, 1096, 4360, 0, 0, 0}, {240, 819, 5180, 0, 0, 0, 0}, {128, 1092, 4940, 0, 0, 0, 0}, {831, 90, 1285, 4367, 0, 0, 0}, {170, 1644, 4454, 0, 0, 0, 0}, {831, 112, 1080, 4144, 0, 0, 0}, {128, 1096, 4864, 0, 0, 0, 0}, {819, 90, 1285, 4403, 0, 0, 0}, {170, 1632, 4352, 0, 0, 0, 0}, {819, 112, 1076, 4096, 0, 0, 0}, {3276, 5888, 0, 0, 0, 0, 0}, {42, 90, 279, 0, 0, 0, 0}, {42, 514, 1092, 4420, 0, 0, 0}, {240, 831, 5120, 0, 0, 0, 0}, {768, 112, 1024, 4128, 0, 0, 0}, {170, 1548, 4369, 0, 0, 0, 0}, {768, 90, 1280, 4386, 0, 0, 0}, {128, 1036, 4883, 0, 0, 0, 0}, {240, 780, 5140, 0, 0, 0, 0}, {42, 512, 1024, 4437, 0, 0, 0}, {268, 294, 512, 342, 1280, 4374, 0}, {6103, 3072, 9256, 21343, 0, 0, 0}, {240, 768, 5160, 0, 0, 0, 0}, {42, 512, 1036, 4377, 0, 0, 0}, {42, 90, 256, 0, 0, 0, 0}, {3084, 5911, 0, 0, 0, 0, 0}, {780, 112, 1036, 4112, 0, 0, 0}, {170, 1536, 4471, 0, 0, 0, 0}, {780, 90, 1280, 4382, 0, 0, 0}, {128, 1024, 4959, 0, 0, 0, 0}, {128, 1088, 4896, 0, 0, 0, 0}, {819, 90, 1295, 4369, 0, 0, 0}, {170, 1642, 4386, 0, 0, 0, 0}, {819, 112, 1084, 4128, 0, 0, 0}, {3276, 5928, 0, 0, 0, 0, 0}, {42, 90, 277, 0, 0, 0, 0}, {42, 512, 1100, 4428, 0, 0, 0}, {240, 831, 5160, 0, 0, 0, 0}, {6120, 6952, 13056, 21344, 0, 0, 0}, {281, 307, 512, 323, 1046, 4096, 0}, {42, 512, 1088, 4352, 0, 0, 0}, {240, 819, 5140, 0, 0, 0, 0}, {128, 1100, 4972, 0, 0, 0, 0}, {831, 90, 1295, 4397, 0, 0, 0}, {170, 1638, 4420, 0, 0, 0, 0}, {831, 112, 1072, 4112, 0, 0, 0}, {240, 768, 5120, 0, 0, 0, 0}, {42, 514, 1028, 4369, 0, 0, 0}, {42, 90, 258, 0, 0, 0, 0}, {3084, 5951, 0, 0, 0, 0, 0}, {780, 112, 1028, 4144, 0, 0, 0}, {170, 1546, 4437, 0, 0, 0, 0}, {780, 90, 1290, 4412, 0, 0, 0}, {128, 1032, 4991, 0, 0, 0, 0}, {768, 112, 1032, 4096, 0, 0, 0}, {170, 1542, 4403, 0, 0, 0, 0}, {768, 90, 1290, 4352, 0, 0, 0}, {128, 1028, 4915, 0, 0, 0, 0}, {240, 780, 5180, 0, 0, 0, 0}, {42, 514, 1032, 4445, 0, 0, 0}, {270, 292, 514, 340, 1028, 4112, 0}, {6143, 3072, 9216, 17408, 0, 0, 0}, {3072, 4096, 0, 0, 0, 0, 0}, {34, 85, 257, 0, 0, 0, 0}, {34, 514, 1032, 4098, 0, 0, 0}, {255, 771, 4144, 0, 0, 0, 0}, {136, 1028, 4160, 0, 0, 0, 0}, {783, 85, 1285, 4101, 0, 0, 0}, {170, 1542, 4192, 0, 0, 0, 0}, {783, 119, 1032, 4103, 0, 0, 0}, {136, 1032, 4104, 0, 0, 0, 0}, {771, 85, 1285, 4154, 0, 0, 0}, {170, 1546, 4106, 0, 0, 0, 0}, {771, 119, 1028, 4152, 0, 0, 0}, {4288, 3084, 8192, 20480, 0, 0, 0}, {269, 34, 514, 85, 1285, 4352, 0}, {34, 514, 1028, 4170, 0, 0, 0}, {255, 783, 4111, 0, 0, 0, 0}, {3264, 4112, 0, 0, 0, 0, 0}, {34, 85, 273, 0, 0, 0, 0}, {34, 512, 1096, 4114, 0, 0, 0}, {255, 819, 4128, 0, 0, 0, 0}, {136, 1092, 4176, 0, 0, 0, 0}, {831, 85, 1280, 4117, 0, 0, 0}, {170, 1638, 4208, 0, 0, 0, 0}, {831, 119, 1087, 4119, 0, 0, 0}, {136, 1096, 4120, 0, 0, 0, 0}, {819, 85, 1280, 4138, 0, 0, 0}, {170, 1642, 4122, 0, 0, 0, 0}, {819, 119, 1075, 4136, 0, 0, 0}, {4304, 7196, 8224, 20560, 0, 0, 0}, {285, 34, 512, 85, 1280, 4352, 0}, {34, 512, 1092, 4186, 0, 0, 0}, {255, 831, 4127, 0, 0, 0, 0}, {3072, 4128, 0, 0, 0, 0, 0}, {34, 85, 259, 0, 0, 0, 0}, {34, 512, 1024, 4096, 0, 0, 0}, {255, 771, 4112, 0, 0, 0, 0}, {136, 1036, 4192, 0, 0, 0, 0}, {783, 85, 1295, 4133, 0, 0, 0}, {170, 1548, 4160, 0, 0, 0, 0}, {783, 119, 1024, 4135, 0, 0, 0}, {136, 1024, 4136, 0, 0, 0, 0}, {771, 85, 1295, 4122, 0, 0, 0}, {170, 1536, 4138, 0, 0, 0, 0}, {771, 119, 1036, 4120, 0, 0, 0}, {4320, 3084, 8224, 16448, 0, 0, 0}, {271, 34, 512, 85, 1024, 4352, 0}, {34, 512, 1036, 4168, 0, 0, 0}, {255, 783, 4143, 0, 0, 0, 0}, {3264, 4144, 0, 0, 0, 0, 0}, {34, 85, 275, 0, 0, 0, 0}, {34, 514, 1088, 4112, 0, 0, 0}, {255, 819, 4096, 0, 0, 0, 0}, {136, 1100, 4208, 0, 0, 0, 0}, {831, 85, 1290, 4149, 0, 0, 0}, {170, 1644, 4176, 0, 0, 0, 0}, {831, 119, 1079, 4151, 0, 0, 0}, {136, 1088, 4152, 0, 0, 0, 0}, {819, 85, 1290, 4106, 0, 0, 0}, {170, 1632, 4154, 0, 0, 0, 0}, {819, 119, 1083, 4104, 0, 0, 0}, {4336, 7228, 8192, 16384, 0, 0, 0}, {287, 34, 514, 85, 1045, 4352, 0}, {34, 514, 1100, 4184, 0, 0, 0}, {255, 831, 4159, 0, 0, 0, 0}, {3264, 4160, 0, 0, 0, 0, 0}, {34, 85, 276, 0, 0, 0, 0}, {34, 522, 1096, 4162, 0, 0, 0}, {255, 828, 4208, 0, 0, 0, 0}, {136, 1092, 4096, 0, 0, 0, 0}, {816, 85, 1285, 4112, 0, 0, 0}, {170, 1644, 4128, 0, 0, 0, 0}, {816, 119, 1087, 4144, 0, 0, 0}, {136, 1096, 4168, 0, 0, 0, 0}, {828, 85, 1285, 4143, 0, 0, 0}, {170, 1632, 4170, 0, 0, 0, 0}, {828, 119, 1075, 4111, 0, 0, 0}, {4224, 7244, 12288, 20480, 0, 0, 0}, {280, 34, 786, 85, 1285, 4352, 0}, {34, 522, 1092, 4106, 0, 0, 0}, {255, 816, 4175, 0, 0, 0, 0}, {3072, 4176, 0, 0, 0, 0, 0}, {34, 85, 260, 0, 0, 0, 0}, {34, 520, 1032, 4178, 0, 0, 0}, {255, 780, 4192, 0, 0, 0, 0}, {136, 1028, 4112, 0, 0, 0, 0}, {768, 85, 1280, 4096, 0, 0, 0}, {170, 1548, 4144, 0, 0, 0, 0}, {768, 119, 1032, 4128, 0, 0, 0}, {136, 1032, 4184, 0, 0, 0, 0}, {780, 85, 1280, 4159, 0, 0, 0}, {170, 1536, 4186, 0, 0, 0, 0}, {780, 119, 1028, 4127, 0, 0, 0}, {4240, 3084, 12336, 20560, 0, 0, 0}, {264, 34, 768, 85, 1280, 4352, 0}, {34, 520, 1028, 4122, 0, 0, 0}, {255, 768, 4191, 0, 0, 0, 0}, {3264, 4192, 0, 0, 0, 0, 0}, {34, 85, 278, 0, 0, 0, 0}, {34, 520, 1088, 4160, 0, 0, 0}, {255, 828, 4176, 0, 0, 0, 0}, {136, 1100, 4128, 0, 0, 0, 0}, {816, 85, 1295, 4144, 0, 0, 0}, {170, 1638, 4096, 0, 0, 0, 0}, {816, 119, 1079, 4112, 0, 0, 0}, {136, 1088, 4200, 0, 0, 0, 0}, {828, 85, 1295, 4111, 0, 0, 0}, {170, 1642, 4202, 0, 0, 0, 0}, {828, 119, 1083, 4143, 0, 0, 0}, {4256, 7276, 12288, 16384, 0, 0, 0}, {282, 34, 786, 85, 1045, 4352, 0}, {34, 520, 1100, 4104, 0, 0, 0}, {255, 816, 4207, 0, 0, 0, 0}, {3072, 4208, 0, 0, 0, 0, 0}, {34, 85, 262, 0, 0, 0, 0}, {34, 522, 1024, 4176, 0, 0, 0}, {255, 780, 4160, 0, 0, 0, 0}, {136, 1036, 4144, 0, 0, 0, 0}, {768, 85, 1290, 4128, 0, 0, 0}, {170, 1542, 4112, 0, 0, 0, 0}, {768, 119, 1024, 4096, 0, 0, 0}, {136, 1024, 4216, 0, 0, 0, 0}, {780, 85, 1290, 4127, 0, 0, 0}, {170, 1546, 4218, 0, 0, 0, 0}, {780, 119, 1036, 4159, 0, 0, 0}, {4272, 3084, 12336, 16448, 0, 0, 0}, {266, 34, 768, 85, 1024, 4352, 0}, {34, 522, 1036, 4120, 0, 0, 0}, {255, 768, 4223, 0, 0, 0, 0}, {4224, 3072, 12288, 20480, 0, 0, 0}, {265, 34, 771, 85, 1285, 4369, 0}, {34, 522, 1024, 4106, 0, 0, 0}, {255, 771, 4175, 0, 0, 0, 0}, {136, 1036, 4168, 0, 0, 0, 0}, {783, 85, 1285, 4143, 0, 0, 0}, {170, 1542, 4170, 0, 0, 0, 0}, {783, 119, 1024, 4111, 0, 0, 0}, {136, 1024, 4096, 0, 0, 0, 0}, {771, 85, 1285, 4112, 0, 0, 0}, {170, 1546, 4128, 0, 0, 0, 0}, {771, 119, 1036, 4144, 0, 0, 0}, {3084, 4160, 0, 0, 0, 0, 0}, {34, 85, 261, 0, 0, 0, 0}, {34, 522, 1036, 4162, 0, 0, 0}, {255, 783, 4208, 0, 0, 0, 0}, {4240, 7248, 12336, 20560, 0, 0, 0}, {281, 34, 785, 85, 1280, 4369, 0}, {34, 520, 1088, 4122, 0, 0, 0}, {255, 819, 4191, 0, 0, 0, 0}, {136, 1100, 4184, 0, 0, 0, 0}, {831, 85, 1280, 4159, 0, 0, 0}, {170, 1638, 4186, 0, 0, 0, 0}, {831, 119, 1079, 4127, 0, 0, 0}, {136, 1088, 4112, 0, 0, 0, 0}, {819, 85, 1280, 4096, 0, 0, 0}, {170, 1642, 4144, 0, 0, 0, 0}, {819, 119, 1083, 4128, 0, 0, 0}, {3276, 4176, 0, 0, 0, 0, 0}, {34, 85, 277, 0, 0, 0, 0}, {34, 520, 1100, 4178, 0, 0, 0}, {255, 831, 4192, 0, 0, 0, 0}, {4256, 3072, 12288, 16384, 0, 0, 0}, {267, 34, 771, 85, 1028, 4369, 0}, {34, 520, 1032, 4104, 0, 0, 0}, {255, 771, 4207, 0, 0, 0, 0}, {136, 1028, 4200, 0, 0, 0, 0}, {783, 85, 1295, 4111, 0, 0, 0}, {170, 1548, 4202, 0, 0, 0, 0}, {783, 119, 1032, 4143, 0, 0, 0}, {136, 1032, 4128, 0, 0, 0, 0}, {771, 85, 1295, 4144, 0, 0, 0}, {170, 1536, 4096, 0, 0, 0, 0}, {771, 119, 1028, 4112, 0, 0, 0}, {3084, 4192, 0, 0, 0, 0, 0}, {34, 85, 263, 0, 0, 0, 0}, {34, 520, 1028, 4160, 0, 0, 0}, {255, 783, 4176, 0, 0, 0, 0}, {4272, 7280, 12336, 16448, 0, 0, 0}, {283, 34, 785, 85, 1041, 4369, 0}, {34, 522, 1096, 4120, 0, 0, 0}, {255, 819, 4223, 0, 0, 0, 0}, {136, 1092, 4216, 0, 0, 0, 0}, {831, 85, 1290, 4127, 0, 0, 0}, {170, 1644, 4218, 0, 0, 0, 0}, {831, 119, 1087, 4159, 0, 0, 0}, {136, 1096, 4144, 0, 0, 0, 0}, {819, 85, 1290, 4128, 0, 0, 0}, {170, 1632, 4112, 0, 0, 0, 0}, {819, 119, 1075, 4096, 0, 0, 0}, {3276, 4208, 0, 0, 0, 0, 0}, {34, 85, 279, 0, 0, 0, 0}, {34, 522, 1092, 4176, 0, 0, 0}, {255, 831, 4160, 0, 0, 0, 0}, {4288, 7168, 8192, 20480, 0, 0, 0}, {284, 34, 514, 85, 1285, 4369, 0}, {34, 514, 1088, 4170, 0, 0, 0}, {255, 828, 4111, 0, 0, 0, 0}, {136, 1100, 4104, 0, 0, 0, 0}, {816, 85, 1285, 4154, 0, 0, 0}, {170, 1644, 4106, 0, 0, 0, 0}, {816, 119, 1079, 4152, 0, 0, 0}, {136, 1088, 4160, 0, 0, 0, 0}, {828, 85, 1285, 4101, 0, 0, 0}, {170, 1632, 4192, 0, 0, 0, 0}, {828, 119, 1083, 4103, 0, 0, 0}, {3276, 4096, 0, 0, 0, 0, 0}, {34, 85, 272, 0, 0, 0, 0}, {34, 514, 1100, 4098, 0, 0, 0}, {255, 816, 4144, 0, 0, 0, 0}, {4304, 3072, 8224, 20560, 0, 0, 0}, {268, 34, 512, 85, 1280, 4369, 0}, {34, 512, 1024, 4186, 0, 0, 0}, {255, 780, 4127, 0, 0, 0, 0}, {136, 1036, 4120, 0, 0, 0, 0}, {768, 85, 1280, 4138, 0, 0, 0}, {170, 1548, 4122, 0, 0, 0, 0}, {768, 119, 1024, 4136, 0, 0, 0}, {136, 1024, 4176, 0, 0, 0, 0}, {780, 85, 1280, 4117, 0, 0, 0}, {170, 1536, 4208, 0, 0, 0, 0}, {780, 119, 1036, 4119, 0, 0, 0}, {3084, 4112, 0, 0, 0, 0, 0}, {34, 85, 256, 0, 0, 0, 0}, {34, 512, 1036, 4114, 0, 0, 0}, {255, 768, 4128, 0, 0, 0, 0}, {4320, 7200, 8224, 16448, 0, 0, 0}, {286, 34, 512, 85, 1041, 4369, 0}, {34, 512, 1096, 4168, 0, 0, 0}, {255, 828, 4143, 0, 0, 0, 0}, {136, 1092, 4136, 0, 0, 0, 0}, {816, 85, 1295, 4122, 0, 0, 0}, {170, 1638, 4138, 0, 0, 0, 0}, {816, 119, 1087, 4120, 0, 0, 0}, {136, 1096, 4192, 0, 0, 0, 0}, {828, 85, 1295, 4133, 0, 0, 0}, {170, 1642, 4160, 0, 0, 0, 0}, {828, 119, 1075, 4135, 0, 0, 0}, {3276, 4128, 0, 0, 0, 0, 0}, {34, 85, 274, 0, 0, 0, 0}, {34, 512, 1092, 4096, 0, 0, 0}, {255, 816, 4112, 0, 0, 0, 0}, {4336, 3072, 8192, 16384, 0, 0, 0}, {270, 34, 514, 85, 1028, 4369, 0}, {34, 514, 1032, 4184, 0, 0, 0}, {255, 780, 4159, 0, 0, 0, 0}, {136, 1028, 4152, 0, 0, 0, 0}, {768, 85, 1290, 4106, 0, 0, 0}, {170, 1542, 4154, 0, 0, 0, 0}, {768, 119, 1032, 4104, 0, 0, 0}, {136, 1032, 4208, 0, 0, 0, 0}, {780, 85, 1290, 4149, 0, 0, 0}, {170, 1546, 4176, 0, 0, 0, 0}, {780, 119, 1028, 4151, 0, 0, 0}, {3084, 4144, 0, 0, 0, 0, 0}, {34, 85, 258, 0, 0, 0, 0}, {34, 514, 1028, 4112, 0, 0, 0}, {255, 768, 4096, 0, 0, 0, 0}, {8704, 21760, 0, 0, 0, 0, 0}, {12, 16, 257, 0, 0, 0, 0}, {32, 514, 21770, 0, 0, 0, 0}, {12, 48, 771, 4355, 0, 0, 0}, {12, 64, 1028, 4356, 0, 0, 0}, {8714, 80, 1285, 0, 0, 0, 0}, {12, 96, 1542, 4358, 0, 0, 0}, {8712, 112, 1799, 0, 0, 0, 0}, {128, 2056, 8712, 21760, 0, 0, 0}, {12, 48, 771, 80, 1285, 4357, 0}, {160, 2570, 8714, 21770, 0, 0, 0}, {12, 48, 771, 64, 1028, 4359, 0}, {12, 4352, 0, 0, 0, 0, 0}, {32, 514, 80, 1285, 0, 0, 0}, {12, 32, 514, 64, 1028, 4354, 0}, {240, 3855, 8704, 21775, 0, 0, 0}, {512, 1280, 16, 0, 0, 0, 0}, {204, 4369, 0, 0, 0, 0, 0}, {3840, 48, 4626, 0, 0, 0, 0}, {32, 512, 76, 4371, 0, 0, 0}, {60, 80, 1280, 4372, 0, 0, 0}, {2048, 64, 5397, 0, 0, 0, 0}, {60, 76, 1792, 4374, 0, 0, 0}, {2560, 96, 5911, 0, 0, 0, 0}, {48, 80, 1280, 4632, 0, 0, 0}, {2048, 76, 4377, 0, 0, 0, 0}, {48, 64, 1792, 4634, 0, 0, 0}, {2560, 108, 4379, 0, 0, 0, 0}, {28, 32, 512, 80, 1280, 4352, 0}, {192, 7453, 8738, 21845, 0, 0, 0}, {3840, 60, 4382, 0, 0, 0, 0}, {32, 512, 64, 5407, 0, 0, 0}, {32, 512, 21760, 0, 0, 0, 0}, {12, 48, 771, 4369, 0, 0, 0}, {8738, 21930, 0, 0, 0, 0, 0}, {12, 16, 259, 0, 0, 0, 0}, {12, 96, 1536, 4388, 0, 0, 0}, {8746, 112, 1807, 0, 0, 0, 0}, {12, 64, 1024, 4390, 0, 0, 0}, {8744, 80, 1295, 0, 0, 0, 0}, {160, 2560, 8744, 21760, 0, 0, 0}, {12, 48, 771, 64, 1024, 4373, 0}, {128, 2048, 8746, 21802, 0, 0, 0}, {12, 48, 771, 80, 1283, 4375, 0}, {12, 32, 512, 64, 1024, 4352, 0}, {240, 3855, 8738, 21845, 0, 0, 0}, {12, 4386, 0, 0, 0, 0, 0}, {32, 512, 80, 1295, 0, 0, 0}, {3840, 48, 4608, 0, 0, 0, 0}, {32, 514, 76, 4369, 0, 0, 0}, {514, 1290, 16, 0, 0, 0, 0}, {204, 4403, 0, 0, 0, 0, 0}, {60, 76, 1800, 4360, 0, 0, 0}, {2570, 96, 5951, 0, 0, 0, 0}, {60, 80, 1290, 4362, 0, 0, 0}, {2056, 64, 5439, 0, 0, 0, 0}, {48, 64, 1800, 4616, 0, 0, 0}, {2570, 108, 4409, 0, 0, 0, 0}, {48, 80, 1290, 4618, 0, 0, 0}, {2056, 76, 4411, 0, 0, 0, 0}, {3840, 60, 4352, 0, 0, 0, 0}, {32, 514, 64, 5397, 0, 0, 0}, {28, 32, 514, 80, 1302, 4354, 0}, {192, 7487, 8704, 21823, 0, 0, 0}, {2048, 64, 5376, 0, 0, 0, 0}, {60, 80, 1285, 4369, 0, 0, 0}, {2570, 96, 5928, 0, 0, 0, 0}, {60, 76, 1807, 4367, 0, 0, 0}, {204, 4420, 0, 0, 0, 0, 0}, {522, 1285, 16, 0, 0, 0, 0}, {32, 522, 76, 4362, 0, 0, 0}, {3855, 48, 4680, 0, 0, 0, 0}, {192, 7496, 8776, 21760, 0, 0, 0}, {28, 32, 534, 80, 1285, 4357, 0}, {32, 522, 64, 5386, 0, 0, 0}, {3855, 60, 4427, 0, 0, 0, 0}, {2048, 76, 4352, 0, 0, 0, 0}, {48, 80, 1285, 4626, 0, 0, 0}, {2570, 108, 4386, 0, 0, 0, 0}, {48, 64, 1807, 4608, 0, 0, 0}, {8704, 80, 1280, 0, 0, 0, 0}, {12, 64, 1028, 4369, 0, 0, 0}, {8738, 112, 1800, 0, 0, 0, 0}, {12, 96, 1536, 4403, 0, 0, 0}, {12, 16, 260, 0, 0, 0, 0}, {8874, 21845, 0, 0, 0, 0, 0}, {12, 48, 768, 4438, 0, 0, 0}, {32, 520, 21855, 0, 0, 0, 0}, {32, 520, 80, 1280, 0, 0, 0}, {12, 4437, 0, 0, 0, 0, 0}, {240, 3840, 8794, 21850, 0, 0, 0}, {12, 32, 516, 64, 1028, 4375, 0}, {12, 48, 768, 80, 1280, 4352, 0}, {128, 2056, 8738, 21845, 0, 0, 0}, {12, 48, 768, 64, 1028, 4370, 0}, {160, 2560, 8704, 21855, 0, 0, 0}, {2560, 96, 5888, 0, 0, 0, 0}, {60, 76, 1799, 4369, 0, 0, 0}, {2056, 64, 5418, 0, 0, 0, 0}, {60, 80, 1295, 4367, 0, 0, 0}, {32, 520, 76, 4360, 0, 0, 0}, {3855, 48, 4698, 0, 0, 0, 0}, {204, 4454, 0, 0, 0, 0, 0}, {520, 1295, 16, 0, 0, 0, 0}, {32, 520, 64, 5376, 0, 0, 0}, {3855, 60, 4437, 0, 0, 0, 0}, {192, 7530, 8810, 21866, 0, 0, 0}, {28, 32, 532, 80, 1299, 4359, 0}, {2560, 108, 4352, 0, 0, 0, 0}, {48, 64, 1799, 4626, 0, 0, 0}, {2056, 76, 4386, 0, 0, 0, 0}, {48, 80, 1295, 4608, 0, 0, 0}, {8704, 112, 1792, 0, 0, 0, 0}, {12, 96, 1542, 4369, 0, 0, 0}, {8738, 80, 1290, 0, 0, 0, 0}, {12, 64, 1024, 4403, 0, 0, 0}, {12, 48, 768, 4420, 0, 0, 0}, {32, 522, 21845, 0, 0, 0, 0}, {12, 16, 262, 0, 0, 0, 0}, {8840, 22015, 0, 0, 0, 0, 0}, {240, 3840, 8824, 21760, 0, 0, 0}, {12, 32, 518, 64, 1024, 4373, 0}, {32, 522, 80, 1290, 0, 0, 0}, {12, 4471, 0, 0, 0, 0, 0}, {12, 48, 768, 64, 1024, 4352, 0}, {160, 2570, 8738, 21845, 0, 0, 0}, {12, 48, 768, 80, 1286, 4370, 0}, {128, 2048, 8704, 21887, 0, 0, 0}, {128, 2048, 8704, 21760, 0, 0, 0}, {12, 48, 771, 80, 1285, 4369, 0}, {160, 2570, 8738, 21770, 0, 0, 0}, {12, 48, 771, 64, 1024, 4355, 0}, {12, 4420, 0, 0, 0, 0, 0}, {32, 522, 80, 1285, 0, 0, 0}, {12, 32, 518, 64, 1024, 4358, 0}, {240, 3855, 8824, 21775, 0, 0, 0}, {8840, 21760, 0, 0, 0, 0, 0}, {12, 16, 261, 0, 0, 0, 0}, {32, 522, 21770, 0, 0, 0, 0}, {12, 48, 771, 4423, 0, 0, 0}, {12, 64, 1024, 4352, 0, 0, 0}, {8738, 80, 1285, 0, 0, 0, 0}, {12, 96, 1542, 4386, 0, 0, 0}, {8704, 112, 1807, 0, 0, 0, 0}, {48, 80, 1280, 4608, 0, 0, 0}, {2056, 76, 4369, 0, 0, 0, 0}, {48, 64, 1800, 4626, 0, 0, 0}, {2560, 108, 4403, 0, 0, 0, 0}, {28, 32, 532, 80, 1280, 4372, 0}, {192, 7509, 8810, 21845, 0, 0, 0}, {3840, 60, 4442, 0, 0, 0, 0}, {32, 520, 64, 5407, 0, 0, 0}, {520, 1280, 16, 0, 0, 0, 0}, {204, 4437, 0, 0, 0, 0, 0}, {3840, 48, 4698, 0, 0, 0, 0}, {32, 520, 76, 4379, 0, 0, 0}, {60, 80, 1280, 4352, 0, 0, 0}, {2056, 64, 5397, 0, 0, 0, 0}, {60, 76, 1800, 4382, 0, 0, 0}, {2560, 96, 5951, 0, 0, 0, 0}, {160, 2560, 8704, 21760, 0, 0, 0}, {12, 48, 771, 64, 1028, 4369, 0}, {128, 2056, 8738, 21802, 0, 0, 0}, {12, 48, 771, 80, 1283, 4355, 0}, {12, 32, 516, 64, 1028, 4356, 0}, {240, 3855, 8794, 21845, 0, 0, 0}, {12, 4454, 0, 0, 0, 0, 0}, {32, 520, 80, 1295, 0, 0, 0}, {32, 520, 21760, 0, 0, 0, 0}, {12, 48, 771, 4437, 0, 0, 0}, {8874, 21930, 0, 0, 0, 0, 0}, {12, 16, 263, 0, 0, 0, 0}, {12, 96, 1536, 4352, 0, 0, 0}, {8738, 112, 1799, 0, 0, 0, 0}, {12, 64, 1028, 4386, 0, 0, 0}, {8704, 80, 1295, 0, 0, 0, 0}, {48, 64, 1792, 4608, 0, 0, 0}, {2570, 108, 4369, 0, 0, 0, 0}, {48, 80, 1290, 4626, 0, 0, 0}, {2048, 76, 4403, 0, 0, 0, 0}, {3840, 60, 4420, 0, 0, 0, 0}, {32, 522, 64, 5397, 0, 0, 0}, {28, 32, 534, 80, 1302, 4374, 0}, {192, 7543, 8776, 21823, 0, 0, 0}, {3840, 48, 4680, 0, 0, 0, 0}, {32, 522, 76, 4377, 0, 0, 0}, {522, 1290, 16, 0, 0, 0, 0}, {204, 4471, 0, 0, 0, 0, 0}, {60, 76, 1792, 4352, 0, 0, 0}, {2570, 96, 5911, 0, 0, 0, 0}, {60, 80, 1290, 4382, 0, 0, 0}, {2048, 64, 5439, 0, 0, 0, 0}, {192, 7424, 8704, 21760, 0, 0, 0}, {28, 32, 514, 80, 1285, 4369, 0}, {32, 514, 64, 5386, 0, 0, 0}, {3855, 60, 4367, 0, 0, 0, 0}, {2056, 76, 4360, 0, 0, 0, 0}, {48, 80, 1285, 4618, 0, 0, 0}, {2570, 108, 4362, 0, 0, 0, 0}, {48, 64, 1799, 4616, 0, 0, 0}, {2056, 64, 5376, 0, 0, 0, 0}, {60, 80, 1285, 4357, 0, 0, 0}, {2570, 96, 5888, 0, 0, 0, 0}, {60, 76, 1799, 4359, 0, 0, 0}, {204, 4352, 0, 0, 0, 0, 0}, {514, 1285, 16, 0, 0, 0, 0}, {32, 514, 76, 4354, 0, 0, 0}, {3855, 48, 4608, 0, 0, 0, 0}, {32, 512, 80, 1280, 0, 0, 0}, {12, 4369, 0, 0, 0, 0, 0}, {240, 3840, 8738, 21850, 0, 0, 0}, {12, 32, 512, 64, 1024, 4371, 0}, {12, 48, 768, 80, 1280, 4372, 0}, {128, 2048, 8746, 21845, 0, 0, 0}, {12, 48, 768, 64, 1024, 4374, 0}, {160, 2560, 8744, 21855, 0, 0, 0}, {8744, 80, 1280, 0, 0, 0, 0}, {12, 64, 1024, 4373, 0, 0, 0}, {8746, 112, 1792, 0, 0, 0, 0}, {12, 96, 1536, 4375, 0, 0, 0}, {12, 16, 256, 0, 0, 0, 0}, {8738, 21845, 0, 0, 0, 0, 0}, {12, 48, 768, 4370, 0, 0, 0}, {32, 512, 21855, 0, 0, 0, 0}, {32, 512, 64, 5376, 0, 0, 0}, {3855, 60, 4369, 0, 0, 0, 0}, {192, 7458, 8738, 21866, 0, 0, 0}, {28, 32, 512, 80, 1299, 4371, 0}, {2560, 108, 4392, 0, 0, 0, 0}, {48, 64, 1807, 4634, 0, 0, 0}, {2048, 76, 4394, 0, 0, 0, 0}, {48, 80, 1295, 4632, 0, 0, 0}, {2560, 96, 5928, 0, 0, 0, 0}, {60, 76, 1807, 4377, 0, 0, 0}, {2048, 64, 5418, 0, 0, 0, 0}, {60, 80, 1295, 4379, 0, 0, 0}, {32, 512, 76, 4352, 0, 0, 0}, {3855, 48, 4626, 0, 0, 0, 0}, {204, 4386, 0, 0, 0, 0, 0}, {512, 1295, 16, 0, 0, 0, 0}, {240, 3840, 8704, 21760, 0, 0, 0}, {12, 32, 514, 64, 1028, 4369, 0}, {32, 514, 80, 1290, 0, 0, 0}, {12, 4403, 0, 0, 0, 0, 0}, {12, 48, 768, 64, 1028, 4356, 0}, {160, 2570, 8714, 21845, 0, 0, 0}, {12, 48, 768, 80, 1286, 4358, 0}, {128, 2056, 8712, 21887, 0, 0, 0}, {8712, 112, 1800, 0, 0, 0, 0}, {12, 96, 1542, 4405, 0, 0, 0}, {8714, 80, 1290, 0, 0, 0, 0}, {12, 64, 1028, 4407, 0, 0, 0}, {12, 48, 768, 4352, 0, 0, 0}, {32, 514, 21845, 0, 0, 0, 0}, {12, 16, 258, 0, 0, 0, 0}, {8704, 22015, 0, 0, 0, 0, 0}, {3072, 4608, 0, 0, 0, 0, 0}, {32, 95, 257, 0, 0, 0, 0}, {32, 514, 1032, 4096, 0, 0, 0}, {255, 771, 4403, 0, 0, 0, 0}, {128, 1028, 4680, 0, 0, 0, 0}, {783, 95, 1285, 4362, 0, 0, 0}, {160, 1542, 4714, 0, 0, 0, 0}, {783, 127, 1032, 4360, 0, 0, 0}, {128, 1032, 4616, 0, 0, 0, 0}, {771, 95, 1285, 4409, 0, 0, 0}, {160, 1546, 4618, 0, 0, 0, 0}, {771, 127, 1028, 4411, 0, 0, 0}, {4800, 3084, 8704, 22028, 0, 0, 0}, {269, 32, 514, 338, 1285, 4354, 0}, {32, 514, 1028, 4160, 0, 0, 0}, {255, 783, 4352, 0, 0, 0, 0}, {32, 512, 1088, 4112, 0, 0, 0}, {255, 819, 4369, 0, 0, 0, 0}, {3264, 4626, 0, 0, 0, 0, 0}, {32, 95, 275, 0, 0, 0, 0}, {160, 1644, 4728, 0, 0, 0, 0}, {831, 127, 1087, 4394, 0, 0, 0}, {128, 1100, 4698, 0, 0, 0, 0}, {831, 95, 1280, 4392, 0, 0, 0}, {160, 1632, 4632, 0, 0, 0, 0}, {819, 127, 1075, 4377, 0, 0, 0}, {128, 1088, 4634, 0, 0, 0, 0}, {819, 95, 1280, 4379, 0, 0, 0}, {32, 512, 1100, 4176, 0, 0, 0}, {255, 831, 4386, 0, 0, 0, 0}, {4818, 7710, 8738, 17476, 0, 0, 0}, {287, 32, 512, 320, 1280, 4352, 0}, {32, 512, 1024, 4096, 0, 0, 0}, {255, 771, 4369, 0, 0, 0, 0}, {3072, 4642, 0, 0, 0, 0, 0}, {32, 95, 259, 0, 0, 0, 0}, {160, 1548, 4680, 0, 0, 0, 0}, {783, 127, 1024, 4394, 0, 0, 0}, {128, 1036, 4714, 0, 0, 0, 0}, {783, 95, 1295, 4392, 0, 0, 0}, {160, 1536, 4648, 0, 0, 0, 0}, {771, 127, 1036, 4377, 0, 0, 0}, {128, 1024, 4650, 0, 0, 0, 0}, {771, 95, 1295, 4379, 0, 0, 0}, {32, 512, 1036, 4160, 0, 0, 0}, {255, 783, 4386, 0, 0, 0, 0}, {4834, 3084, 8738, 17476, 0, 0, 0}, {271, 32, 512, 336, 1024, 4352, 0}, {3264, 4656, 0, 0, 0, 0, 0}, {32, 95, 273, 0, 0, 0, 0}, {32, 514, 1096, 4112, 0, 0, 0}, {255, 819, 4403, 0, 0, 0, 0}, {128, 1092, 4728, 0, 0, 0, 0}, {831, 95, 1290, 4362, 0, 0, 0}, {160, 1638, 4698, 0, 0, 0, 0}, {831, 127, 1079, 4360, 0, 0, 0}, {128, 1096, 4664, 0, 0, 0, 0}, {819, 95, 1290, 4409, 0, 0, 0}, {160, 1642, 4666, 0, 0, 0, 0}, {819, 127, 1083, 4411, 0, 0, 0}, {4848, 7740, 8704, 22076, 0, 0, 0}, {285, 32, 514, 322, 1047, 4354, 0}, {32, 514, 1092, 4176, 0, 0, 0}, {255, 831, 4352, 0, 0, 0, 0}, {128, 1088, 4672, 0, 0, 0, 0}, {828, 95, 1285, 4369, 0, 0, 0}, {160, 1642, 4674, 0, 0, 0, 0}, {828, 127, 1075, 4403, 0, 0, 0}, {4744, 7748, 12288, 17476, 0, 0, 0}, {282, 32, 784, 325, 1285, 4112, 0}, {32, 522, 1100, 4096, 0, 0, 0}, {255, 816, 4471, 0, 0, 0, 0}, {3264, 4680, 0, 0, 0, 0, 0}, {32, 95, 278, 0, 0, 0, 0}, {32, 522, 1088, 4160, 0, 0, 0}, {255, 828, 4420, 0, 0, 0, 0}, {128, 1100, 4608, 0, 0, 0, 0}, {816, 95, 1285, 4386, 0, 0, 0}, {160, 1638, 4642, 0, 0, 0, 0}, {816, 127, 1087, 4352, 0, 0, 0}, {160, 1536, 4688, 0, 0, 0, 0}, {780, 127, 1028, 4369, 0, 0, 0}, {128, 1032, 4690, 0, 0, 0, 0}, {780, 95, 1280, 4403, 0, 0, 0}, {32, 520, 1028, 4112, 0, 0, 0}, {255, 768, 4437, 0, 0, 0, 0}, {4762, 3084, 12336, 22102, 0, 0, 0}, {264, 32, 768, 343, 1280, 4096, 0}, {32, 520, 1032, 4176, 0, 0, 0}, {255, 780, 4454, 0, 0, 0, 0}, {3072, 4698, 0, 0, 0, 0, 0}, {32, 95, 260, 0, 0, 0, 0}, {160, 1548, 4656, 0, 0, 0, 0}, {768, 127, 1032, 4386, 0, 0, 0}, {128, 1028, 4626, 0, 0, 0, 0}, {768, 95, 1280, 4352, 0, 0, 0}, {160, 1632, 4704, 0, 0, 0, 0}, {828, 127, 1083, 4369, 0, 0, 0}, {128, 1096, 4706, 0, 0, 0, 0}, {828, 95, 1295, 4403, 0, 0, 0}, {32, 520, 1092, 4096, 0, 0, 0}, {255, 816, 4437, 0, 0, 0, 0}, {4778, 7782, 12288, 22118, 0, 0, 0}, {280, 32, 784, 327, 1047, 4112, 0}, {32, 520, 1096, 4160, 0, 0, 0}, {255, 828, 4454, 0, 0, 0, 0}, {3264, 4714, 0, 0, 0, 0, 0}, {32, 95, 276, 0, 0, 0, 0}, {160, 1644, 4608, 0, 0, 0, 0}, {816, 127, 1079, 4386, 0, 0, 0}, {128, 1092, 4642, 0, 0, 0, 0}, {816, 95, 1295, 4352, 0, 0, 0}, {128, 1024, 4720, 0, 0, 0, 0}, {780, 95, 1290, 4369, 0, 0, 0}, {160, 1546, 4722, 0, 0, 0, 0}, {780, 127, 1036, 4403, 0, 0, 0}, {4792, 3084, 12336, 17476, 0, 0, 0}, {266, 32, 768, 341, 1024, 4096, 0}, {32, 522, 1036, 4112, 0, 0, 0}, {255, 768, 4471, 0, 0, 0, 0}, {3072, 4728, 0, 0, 0, 0, 0}, {32, 95, 262, 0, 0, 0, 0}, {32, 522, 1024, 4176, 0, 0, 0}, {255, 780, 4420, 0, 0, 0, 0}, {128, 1036, 4656, 0, 0, 0, 0}, {768, 95, 1290, 4386, 0, 0, 0}, {160, 1542, 4626, 0, 0, 0, 0}, {768, 127, 1024, 4352, 0, 0, 0}, {128, 1024, 4608, 0, 0, 0, 0}, {771, 95, 1285, 4369, 0, 0, 0}, {160, 1546, 4642, 0, 0, 0, 0}, {771, 127, 1036, 4403, 0, 0, 0}, {3084, 4680, 0, 0, 0, 0, 0}, {32, 95, 261, 0, 0, 0, 0}, {32, 522, 1036, 4160, 0, 0, 0}, {255, 783, 4471, 0, 0, 0, 0}, {4744, 3072, 12288, 22016, 0, 0, 0}, {265, 32, 771, 342, 1285, 4112, 0}, {32, 522, 1024, 4096, 0, 0, 0}, {255, 771, 4420, 0, 0, 0, 0}, {128, 1036, 4672, 0, 0, 0, 0}, {783, 95, 1285, 4386, 0, 0, 0}, {160, 1542, 4674, 0, 0, 0, 0}, {783, 127, 1024, 4352, 0, 0, 0}, {160, 1632, 4656, 0, 0, 0, 0}, {819, 127, 1083, 4369, 0, 0, 0}, {128, 1096, 4626, 0, 0, 0, 0}, {819, 95, 1280, 4403, 0, 0, 0}, {32, 520, 1092, 4176, 0, 0, 0}, {255, 831, 4437, 0, 0, 0, 0}, {3276, 4698, 0, 0, 0, 0, 0}, {32, 95, 279, 0, 0, 0, 0}, {32, 520, 1096, 4112, 0, 0, 0}, {255, 819, 4454, 0, 0, 0, 0}, {4762, 7770, 12336, 17408, 0, 0, 0}, {283, 32, 787, 324, 1280, 4096, 0}, {160, 1644, 4688, 0, 0, 0, 0}, {831, 127, 1079, 4386, 0, 0, 0}, {128, 1092, 4690, 0, 0, 0, 0}, {831, 95, 1280, 4352, 0, 0, 0}, {160, 1536, 4608, 0, 0, 0, 0}, {771, 127, 1028, 4369, 0, 0, 0}, {128, 1032, 4642, 0, 0, 0, 0}, {771, 95, 1295, 4403, 0, 0, 0}, {32, 520, 1028, 4160, 0, 0, 0}, {255, 783, 4437, 0, 0, 0, 0}, {3084, 4714, 0, 0, 0, 0, 0}, {32, 95, 263, 0, 0, 0, 0}, {32, 520, 1032, 4096, 0, 0, 0}, {255, 771, 4454, 0, 0, 0, 0}, {4778, 3072, 12288, 17408, 0, 0, 0}, {267, 32, 771, 340, 1028, 4112, 0}, {160, 1548, 4704, 0, 0, 0, 0}, {783, 127, 1032, 4386, 0, 0, 0}, {128, 1028, 4706, 0, 0, 0, 0}, {783, 95, 1295, 4352, 0, 0, 0}, {128, 1088, 4656, 0, 0, 0, 0}, {819, 95, 1290, 4369, 0, 0, 0}, {160, 1642, 4626, 0, 0, 0, 0}, {819, 127, 1075, 4403, 0, 0, 0}, {3276, 4728, 0, 0, 0, 0, 0}, {32, 95, 277, 0, 0, 0, 0}, {32, 522, 1100, 4176, 0, 0, 0}, {255, 831, 4471, 0, 0, 0, 0}, {4792, 7800, 12336, 22064, 0, 0, 0}, {281, 32, 787, 326, 1043, 4096, 0}, {32, 522, 1088, 4112, 0, 0, 0}, {255, 819, 4420, 0, 0, 0, 0}, {128, 1100, 4720, 0, 0, 0, 0}, {831, 95, 1290, 4386, 0, 0, 0}, {160, 1638, 4722, 0, 0, 0, 0}, {831, 127, 1087, 4352, 0, 0, 0}, {4800, 7680, 8704, 17408, 0, 0, 0}, {286, 32, 514, 321, 1285, 4369, 0}, {32, 514, 1096, 4160, 0, 0, 0}, {255, 828, 4403, 0, 0, 0, 0}, {128, 1092, 4616, 0, 0, 0, 0}, {816, 95, 1285, 4362, 0, 0, 0}, {160, 1638, 4618, 0, 0, 0, 0}, {816, 127, 1079, 4360, 0, 0, 0}, {128, 1096, 4680, 0, 0, 0, 0}, {828, 95, 1285, 4409, 0, 0, 0}, {160, 1642, 4714, 0, 0, 0, 0}, {828, 127, 1083, 4411, 0, 0, 0}, {3276, 4608, 0, 0, 0, 0, 0}, {32, 95, 274, 0, 0, 0, 0}, {32, 514, 1092, 4096, 0, 0, 0}, {255, 816, 4352, 0, 0, 0, 0}, {32, 512, 1024, 4176, 0, 0, 0}, {255, 780, 4369, 0, 0, 0, 0}, {4818, 3072, 8738, 22106, 0, 0, 0}, {268, 32, 512, 339, 1280, 4371, 0}, {160, 1548, 4632, 0, 0, 0, 0}, {768, 127, 1024, 4394, 0, 0, 0}, {128, 1036, 4634, 0, 0, 0, 0}, {768, 95, 1280, 4392, 0, 0, 0}, {160, 1536, 4728, 0, 0, 0, 0}, {780, 127, 1036, 4377, 0, 0, 0}, {128, 1024, 4698, 0, 0, 0, 0}, {780, 95, 1280, 4379, 0, 0, 0}, {32, 512, 1036, 4112, 0, 0, 0}, {255, 768, 4386, 0, 0, 0, 0}, {3084, 4626, 0, 0, 0, 0, 0}, {32, 95, 256, 0, 0, 0, 0}, {32, 512, 1088, 4160, 0, 0, 0}, {255, 828, 4369, 0, 0, 0, 0}, {4834, 7714, 8738, 22122, 0, 0, 0}, {284, 32, 512, 323, 1043, 4371, 0}, {160, 1644, 4648, 0, 0, 0, 0}, {816, 127, 1087, 4394, 0, 0, 0}, {128, 1100, 4650, 0, 0, 0, 0}, {816, 95, 1295, 4392, 0, 0, 0}, {160, 1632, 4680, 0, 0, 0, 0}, {828, 127, 1075, 4377, 0, 0, 0}, {128, 1088, 4714, 0, 0, 0, 0}, {828, 95, 1295, 4379, 0, 0, 0}, {32, 512, 1100, 4096, 0, 0, 0}, {255, 816, 4386, 0, 0, 0, 0}, {3276, 4642, 0, 0, 0, 0, 0}, {32, 95, 272, 0, 0, 0, 0}, {4848, 3072, 8704, 17408, 0, 0, 0}, {270, 32, 514, 337, 1028, 4369, 0}, {32, 514, 1032, 4176, 0, 0, 0}, {255, 780, 4403, 0, 0, 0, 0}, {128, 1028, 4664, 0, 0, 0, 0}, {768, 95, 1290, 4362, 0, 0, 0}, {160, 1542, 4666, 0, 0, 0, 0}, {768, 127, 1032, 4360, 0, 0, 0}, {128, 1032, 4728, 0, 0, 0, 0}, {780, 95, 1290, 4409, 0, 0, 0}, {160, 1546, 4698, 0, 0, 0, 0}, {780, 127, 1028, 4411, 0, 0, 0}, {3084, 4656, 0, 0, 0, 0, 0}, {32, 95, 258, 0, 0, 0, 0}, {32, 514, 1028, 4112, 0, 0, 0}, {255, 768, 4352, 0, 0, 0, 0}, {8192, 24320, 0, 0, 0, 0, 0}, {12, 18, 257, 0, 0, 0, 0}, {34, 514, 21760, 0, 0, 0, 0}, {12, 48, 771, 4096, 0, 0, 0}, {12, 68, 1028, 4868, 0, 0, 0}, {8202, 90, 1285, 0, 0, 0, 0}, {12, 102, 1542, 4870, 0, 0, 0}, {8200, 120, 1799, 0, 0, 0, 0}, {136, 2056, 8200, 22280, 0, 0, 0}, {12, 48, 771, 86, 1285, 4102, 0}, {170, 2570, 8202, 21760, 0, 0, 0}, {12, 48, 771, 68, 1028, 4100, 0}, {12, 4864, 0, 0, 0, 0, 0}, {34, 514, 90, 1285, 0, 0, 0}, {12, 34, 514, 68, 1028, 4352, 0}, {240, 3855, 8192, 20480, 0, 0, 0}, {3840, 48, 4112, 0, 0, 0, 0}, {34, 512, 68, 4369, 0, 0, 0}, {512, 1280, 18, 0, 0, 0, 0}, {204, 4883, 0, 0, 0, 0, 0}, {60, 68, 1792, 4884, 0, 0, 0}, {2560, 106, 5397, 0, 0, 0, 0}, {60, 90, 1280, 4886, 0, 0, 0}, {2048, 72, 5911, 0, 0, 0, 0}, {48, 72, 1792, 4120, 0, 0, 0}, {2560, 102, 4889, 0, 0, 0, 0}, {48, 90, 1280, 4122, 0, 0, 0}, {2048, 68, 4891, 0, 0, 0, 0}, {3840, 60, 4892, 0, 0, 0, 0}, {34, 512, 72, 5405, 0, 0, 0}, {30, 34, 512, 68, 1280, 4352, 0}, {192, 7967, 8224, 16448, 0, 0, 0}, {8224, 24480, 0, 0, 0, 0, 0}, {12, 18, 259, 0, 0, 0, 0}, {34, 512, 21760, 0, 0, 0, 0}, {12, 48, 771, 4112, 0, 0, 0}, {12, 68, 1024, 4900, 0, 0, 0}, {8234, 90, 1295, 0, 0, 0, 0}, {12, 102, 1536, 4902, 0, 0, 0}, {8232, 120, 1807, 0, 0, 0, 0}, {136, 2048, 8232, 22312, 0, 0, 0}, {12, 48, 771, 86, 1283, 4118, 0}, {170, 2560, 8234, 21760, 0, 0, 0}, {12, 48, 771, 68, 1024, 4116, 0}, {12, 4896, 0, 0, 0, 0, 0}, {34, 512, 90, 1295, 0, 0, 0}, {12, 34, 512, 68, 1024, 4352, 0}, {240, 3855, 8224, 20560, 0, 0, 0}, {3840, 48, 4096, 0, 0, 0, 0}, {34, 514, 68, 4369, 0, 0, 0}, {514, 1290, 18, 0, 0, 0, 0}, {204, 4915, 0, 0, 0, 0, 0}, {60, 68, 1800, 4872, 0, 0, 0}, {2570, 106, 5439, 0, 0, 0, 0}, {60, 90, 1290, 4874, 0, 0, 0}, {2056, 72, 5951, 0, 0, 0, 0}, {48, 72, 1800, 4104, 0, 0, 0}, {2570, 102, 4921, 0, 0, 0, 0}, {48, 90, 1290, 4106, 0, 0, 0}, {2056, 68, 4923, 0, 0, 0, 0}, {3840, 60, 4864, 0, 0, 0, 0}, {34, 514, 72, 5397, 0, 0, 0}, {30, 34, 514, 68, 1300, 4352, 0}, {192, 7999, 8192, 16384, 0, 0, 0}, {192, 8000, 8256, 16448, 0, 0, 0}, {30, 34, 532, 68, 1285, 4369, 0}, {34, 522, 72, 5376, 0, 0, 0}, {3855, 60, 4931, 0, 0, 0, 0}, {2048, 68, 4864, 0, 0, 0, 0}, {48, 90, 1285, 4112, 0, 0, 0}, {2570, 102, 4896, 0, 0, 0, 0}, {48, 72, 1807, 4096, 0, 0, 0}, {2048, 72, 5888, 0, 0, 0, 0}, {60, 90, 1285, 4883, 0, 0, 0}, {2570, 106, 5418, 0, 0, 0, 0}, {60, 68, 1807, 4879, 0, 0, 0}, {204, 4940, 0, 0, 0, 0, 0}, {522, 1285, 18, 0, 0, 0, 0}, {34, 522, 68, 4352, 0, 0, 0}, {3855, 48, 4160, 0, 0, 0, 0}, {240, 3840, 8272, 20560, 0, 0, 0}, {12, 34, 516, 68, 1028, 4369, 0}, {34, 520, 90, 1280, 0, 0, 0}, {12, 4947, 0, 0, 0, 0, 0}, {12, 48, 768, 68, 1028, 4112, 0}, {170, 2560, 8192, 21845, 0, 0, 0}, {12, 48, 768, 86, 1280, 4096, 0}, {136, 2056, 8224, 22359, 0, 0, 0}, {8224, 120, 1800, 0, 0, 0, 0}, {12, 102, 1536, 4915, 0, 0, 0}, {8192, 90, 1280, 0, 0, 0, 0}, {12, 68, 1028, 4883, 0, 0, 0}, {12, 48, 768, 4176, 0, 0, 0}, {34, 520, 21845, 0, 0, 0, 0}, {12, 18, 260, 0, 0, 0, 0}, {8352, 24415, 0, 0, 0, 0, 0}, {192, 8032, 8288, 16384, 0, 0, 0}, {30, 34, 534, 68, 1297, 4369, 0}, {34, 520, 72, 5384, 0, 0, 0}, {3855, 60, 4959, 0, 0, 0, 0}, {2056, 68, 4896, 0, 0, 0, 0}, {48, 90, 1295, 4096, 0, 0, 0}, {2560, 102, 4864, 0, 0, 0, 0}, {48, 72, 1799, 4112, 0, 0, 0}, {2056, 72, 5928, 0, 0, 0, 0}, {60, 90, 1295, 4879, 0, 0, 0}, {2560, 106, 5376, 0, 0, 0, 0}, {60, 68, 1799, 4883, 0, 0, 0}, {204, 4972, 0, 0, 0, 0, 0}, {520, 1295, 18, 0, 0, 0, 0}, {34, 520, 68, 4352, 0, 0, 0}, {3855, 48, 4176, 0, 0, 0, 0}, {240, 3840, 8304, 20480, 0, 0, 0}, {12, 34, 518, 68, 1024, 4369, 0}, {34, 522, 90, 1290, 0, 0, 0}, {12, 4979, 0, 0, 0, 0, 0}, {12, 48, 768, 68, 1024, 4096, 0}, {170, 2570, 8224, 21845, 0, 0, 0}, {12, 48, 768, 86, 1286, 4112, 0}, {136, 2048, 8192, 22391, 0, 0, 0}, {8192, 120, 1792, 0, 0, 0, 0}, {12, 102, 1542, 4883, 0, 0, 0}, {8224, 90, 1290, 0, 0, 0, 0}, {12, 68, 1024, 4915, 0, 0, 0}, {12, 48, 768, 4160, 0, 0, 0}, {34, 522, 21845, 0, 0, 0, 0}, {12, 18, 262, 0, 0, 0, 0}, {8320, 24575, 0, 0, 0, 0, 0}, {8320, 24320, 0, 0, 0, 0, 0}, {12, 18, 261, 0, 0, 0, 0}, {34, 522, 21760, 0, 0, 0, 0}, {12, 48, 771, 4160, 0, 0, 0}, {12, 68, 1024, 4864, 0, 0, 0}, {8224, 90, 1285, 0, 0, 0, 0}, {12, 102, 1542, 4896, 0, 0, 0}, {8192, 120, 1807, 0, 0, 0, 0}, {136, 2048, 8192, 22272, 0, 0, 0}, {12, 48, 771, 86, 1285, 4112, 0}, {170, 2570, 8224, 21760, 0, 0, 0}, {12, 48, 771, 68, 1024, 4096, 0}, {12, 4928, 0, 0, 0, 0, 0}, {34, 522, 90, 1285, 0, 0, 0}, {12, 34, 518, 68, 1024, 4352, 0}, {240, 3855, 8304, 20480, 0, 0, 0}, {3840, 48, 4176, 0, 0, 0, 0}, {34, 520, 68, 4369, 0, 0, 0}, {520, 1280, 18, 0, 0, 0, 0}, {204, 4959, 0, 0, 0, 0, 0}, {60, 68, 1800, 4892, 0, 0, 0}, {2560, 106, 5439, 0, 0, 0, 0}, {60, 90, 1280, 4864, 0, 0, 0}, {2056, 72, 5911, 0, 0, 0, 0}, {48, 72, 1800, 4112, 0, 0, 0}, {2560, 102, 4915, 0, 0, 0, 0}, {48, 90, 1280, 4096, 0, 0, 0}, {2056, 68, 4883, 0, 0, 0, 0}, {3840, 60, 4944, 0, 0, 0, 0}, {34, 520, 72, 5397, 0, 0, 0}, {30, 34, 534, 68, 1280, 4352, 0}, {192, 8031, 8288, 16384, 0, 0, 0}, {8352, 24480, 0, 0, 0, 0, 0}, {12, 18, 263, 0, 0, 0, 0}, {34, 520, 21760, 0, 0, 0, 0}, {12, 48, 771, 4176, 0, 0, 0}, {12, 68, 1028, 4896, 0, 0, 0}, {8192, 90, 1295, 0, 0, 0, 0}, {12, 102, 1536, 4864, 0, 0, 0}, {8224, 120, 1799, 0, 0, 0, 0}, {136, 2056, 8224, 22304, 0, 0, 0}, {12, 48, 771, 86, 1283, 4096, 0}, {170, 2560, 8192, 21760, 0, 0, 0}, {12, 48, 771, 68, 1028, 4112, 0}, {12, 4960, 0, 0, 0, 0, 0}, {34, 520, 90, 1295, 0, 0, 0}, {12, 34, 516, 68, 1028, 4352, 0}, {240, 3855, 8272, 20560, 0, 0, 0}, {3840, 48, 4160, 0, 0, 0, 0}, {34, 522, 68, 4369, 0, 0, 0}, {522, 1290, 18, 0, 0, 0, 0}, {204, 4991, 0, 0, 0, 0, 0}, {60, 68, 1792, 4864, 0, 0, 0}, {2570, 106, 5397, 0, 0, 0, 0}, {60, 90, 1290, 4892, 0, 0, 0}, {2048, 72, 5951, 0, 0, 0, 0}, {48, 72, 1792, 4096, 0, 0, 0}, {2570, 102, 4883, 0, 0, 0, 0}, {48, 90, 1290, 4112, 0, 0, 0}, {2048, 68, 4915, 0, 0, 0, 0}, {3840, 60, 4940, 0, 0, 0, 0}, {34, 522, 72, 5405, 0, 0, 0}, {30, 34, 532, 68, 1300, 4352, 0}, {192, 8063, 8256, 16448, 0, 0, 0}, {192, 7936, 8192, 16384, 0, 0, 0}, {30, 34, 514, 68, 1285, 4369, 0}, {34, 514, 72, 5384, 0, 0, 0}, {3855, 60, 4879, 0, 0, 0, 0}, {2056, 68, 4872, 0, 0, 0, 0}, {48, 90, 1285, 4106, 0, 0, 0}, {2570, 102, 4874, 0, 0, 0, 0}, {48, 72, 1799, 4104, 0, 0, 0}, {2056, 72, 5888, 0, 0, 0, 0}, {60, 90, 1285, 4869, 0, 0, 0}, {2570, 106, 5376, 0, 0, 0, 0}, {60, 68, 1799, 4871, 0, 0, 0}, {204, 4864, 0, 0, 0, 0, 0}, {514, 1285, 18, 0, 0, 0, 0}, {34, 514, 68, 4352, 0, 0, 0}, {3855, 48, 4096, 0, 0, 0, 0}, {240, 3840, 8224, 20560, 0, 0, 0}, {12, 34, 512, 68, 1024, 4369, 0}, {34, 512, 90, 1280, 0, 0, 0}, {12, 4883, 0, 0, 0, 0, 0}, {12, 48, 768, 68, 1024, 4116, 0}, {170, 2560, 8234, 21845, 0, 0, 0}, {12, 48, 768, 86, 1280, 4118, 0}, {136, 2048, 8232, 22367, 0, 0, 0}, {8232, 120, 1792, 0, 0, 0, 0}, {12, 102, 1536, 4885, 0, 0, 0}, {8234, 90, 1280, 0, 0, 0, 0}, {12, 68, 1024, 4887, 0, 0, 0}, {12, 48, 768, 4112, 0, 0, 0}, {34, 512, 21845, 0, 0, 0, 0}, {12, 18, 256, 0, 0, 0, 0}, {8224, 24415, 0, 0, 0, 0, 0}, {192, 7968, 8224, 16448, 0, 0, 0}, {30, 34, 512, 68, 1297, 4369, 0}, {34, 512, 72, 5376, 0, 0, 0}, {3855, 60, 4883, 0, 0, 0, 0}, {2048, 68, 4904, 0, 0, 0, 0}, {48, 90, 1295, 4122, 0, 0, 0}, {2560, 102, 4906, 0, 0, 0, 0}, {48, 72, 1807, 4120, 0, 0, 0}, {2048, 72, 5928, 0, 0, 0, 0}, {60, 90, 1295, 4889, 0, 0, 0}, {2560, 106, 5418, 0, 0, 0, 0}, {60, 68, 1807, 4891, 0, 0, 0}, {204, 4896, 0, 0, 0, 0, 0}, {512, 1295, 18, 0, 0, 0, 0}, {34, 512, 68, 4352, 0, 0, 0}, {3855, 48, 4112, 0, 0, 0, 0}, {240, 3840, 8192, 20480, 0, 0, 0}, {12, 34, 514, 68, 1028, 4369, 0}, {34, 514, 90, 1290, 0, 0, 0}, {12, 4915, 0, 0, 0, 0, 0}, {12, 48, 768, 68, 1028, 4100, 0}, {170, 2570, 8202, 21845, 0, 0, 0}, {12, 48, 768, 86, 1286, 4102, 0}, {136, 2056, 8200, 22399, 0, 0, 0}, {8200, 120, 1800, 0, 0, 0, 0}, {12, 102, 1542, 4917, 0, 0, 0}, {8202, 90, 1290, 0, 0, 0, 0}, {12, 68, 1028, 4919, 0, 0, 0}, {12, 48, 768, 4096, 0, 0, 0}, {34, 514, 21845, 0, 0, 0, 0}, {12, 18, 258, 0, 0, 0, 0}, {8192, 24575, 0, 0, 0, 0, 0}, {8192, 16384, 0, 0, 0, 0, 0}, {15, 17, 257, 0, 0, 0, 0}, {34, 514, 16392, 0, 0, 0, 0}, {15, 51, 771, 4099, 0, 0, 0}, {8200, 68, 1028, 0, 0, 0, 0}, {15, 85, 1285, 4101, 0, 0, 0}, {8202, 102, 1542, 0, 0, 0, 0}, {15, 119, 1799, 4103, 0, 0, 0}, {136, 2056, 8200, 16392, 0, 0, 0}, {15, 51, 771, 85, 1285, 4102, 0}, {170, 2570, 8202, 16384, 0, 0, 0}, {15, 51, 771, 68, 1028, 4100, 0}, {204, 3084, 8192, 16396, 0, 0, 0}, {15, 34, 514, 85, 1285, 4098, 0}, {34, 514, 68, 1028, 0, 0, 0}, {15, 4096, 0, 0, 0, 0, 0}, {240, 4112, 0, 0, 0, 0, 0}, {512, 1024, 17, 0, 0, 0, 0}, {34, 512, 90, 4114, 0, 0, 0}, {3072, 51, 4883, 0, 0, 0, 0}, {60, 68, 1024, 4116, 0, 0, 0}, {2560, 85, 5397, 0, 0, 0, 0}, {60, 90, 1536, 4118, 0, 0, 0}, {2048, 119, 5911, 0, 0, 0, 0}, {2048, 120, 4120, 0, 0, 0, 0}, {51, 85, 1536, 4889, 0, 0, 0}, {2560, 90, 4122, 0, 0, 0, 0}, {51, 68, 1024, 4891, 0, 0, 0}, {3072, 60, 4124, 0, 0, 0, 0}, {34, 512, 85, 5405, 0, 0, 0}, {30, 34, 512, 68, 1024, 4096, 0}, {255, 7967, 8224, 16448, 0, 0, 0}, {8224, 16512, 0, 0, 0, 0, 0}, {15, 17, 259, 0, 0, 0, 0}, {34, 512, 16384, 0, 0, 0, 0}, {15, 51, 771, 4112, 0, 0, 0}, {8232, 68, 1036, 0, 0, 0, 0}, {15, 85, 1280, 4133, 0, 0, 0}, {8234, 102, 1548, 0, 0, 0, 0}, {15, 119, 1792, 4135, 0, 0, 0}, {136, 2048, 8232, 16384, 0, 0, 0}, {15, 51, 771, 85, 1280, 4117, 0}, {170, 2560, 8234, 16426, 0, 0, 0}, {15, 51, 771, 68, 1027, 4119, 0}, {204, 3084, 8224, 16448, 0, 0, 0}, {15, 34, 512, 85, 1280, 4096, 0}, {34, 512, 68, 1036, 0, 0, 0}, {15, 4128, 0, 0, 0, 0, 0}, {240, 4144, 0, 0, 0, 0, 0}, {514, 1032, 17, 0, 0, 0, 0}, {34, 514, 90, 4112, 0, 0, 0}, {3072, 51, 4864, 0, 0, 0, 0}, {60, 68, 1032, 4104, 0, 0, 0}, {2570, 85, 5439, 0, 0, 0, 0}, {60, 90, 1546, 4106, 0, 0, 0}, {2056, 119, 5951, 0, 0, 0, 0}, {2056, 120, 4152, 0, 0, 0, 0}, {51, 85, 1546, 4874, 0, 0, 0}, {2570, 90, 4154, 0, 0, 0, 0}, {51, 68, 1032, 4872, 0, 0, 0}, {3072, 60, 4096, 0, 0, 0, 0}, {34, 514, 85, 5397, 0, 0, 0}, {30, 34, 514, 68, 1046, 4098, 0}, {255, 7999, 8192, 16447, 0, 0, 0}, {8320, 16448, 0, 0, 0, 0, 0}, {15, 17, 261, 0, 0, 0, 0}, {34, 522, 16456, 0, 0, 0, 0}, {15, 51, 768, 4163, 0, 0, 0}, {8192, 68, 1024, 0, 0, 0, 0}, {15, 85, 1285, 4112, 0, 0, 0}, {8224, 102, 1546, 0, 0, 0, 0}, {15, 119, 1792, 4144, 0, 0, 0}, {136, 2048, 8192, 16456, 0, 0, 0}, {15, 51, 768, 85, 1285, 4115, 0}, {170, 2570, 8224, 16448, 0, 0, 0}, {15, 51, 768, 68, 1024, 4096, 0}, {204, 3072, 8268, 16460, 0, 0, 0}, {15, 34, 517, 85, 1285, 4119, 0}, {34, 522, 68, 1024, 0, 0, 0}, {15, 4160, 0, 0, 0, 0, 0}, {240, 4176, 0, 0, 0, 0, 0}, {520, 1028, 17, 0, 0, 0, 0}, {34, 520, 90, 4104, 0, 0, 0}, {3084, 51, 4959, 0, 0, 0, 0}, {60, 68, 1028, 4112, 0, 0, 0}, {2560, 85, 5376, 0, 0, 0, 0}, {60, 90, 1548, 4108, 0, 0, 0}, {2056, 119, 5928, 0, 0, 0, 0}, {2056, 120, 4128, 0, 0, 0, 0}, {51, 85, 1548, 4864, 0, 0, 0}, {2560, 90, 4096, 0, 0, 0, 0}, {51, 68, 1028, 4883, 0, 0, 0}, {3084, 60, 4188, 0, 0, 0, 0}, {34, 520, 85, 5384, 0, 0, 0}, {30, 34, 534, 68, 1028, 4100, 0}, {255, 8031, 8287, 16384, 0, 0, 0}, {8352, 16576, 0, 0, 0, 0, 0}, {15, 17, 263, 0, 0, 0, 0}, {34, 520, 16448, 0, 0, 0, 0}, {15, 51, 768, 4176, 0, 0, 0}, {8224, 68, 1032, 0, 0, 0, 0}, {15, 85, 1280, 4144, 0, 0, 0}, {8192, 102, 1536, 0, 0, 0, 0}, {15, 119, 1799, 4112, 0, 0, 0}, {136, 2056, 8224, 16448, 0, 0, 0}, {15, 51, 768, 85, 1280, 4096, 0}, {170, 2560, 8192, 16490, 0, 0, 0}, {15, 51, 768, 68, 1031, 4115, 0}, {204, 3072, 8300, 16384, 0, 0, 0}, {15, 34, 519, 85, 1280, 4117, 0}, {34, 520, 68, 1032, 0, 0, 0}, {15, 4192, 0, 0, 0, 0, 0}, {240, 4208, 0, 0, 0, 0, 0}, {522, 1036, 17, 0, 0, 0, 0}, {34, 522, 90, 4106, 0, 0, 0}, {3084, 51, 4940, 0, 0, 0, 0}, {60, 68, 1036, 4108, 0, 0, 0}, {2570, 85, 5418, 0, 0, 0, 0}, {60, 90, 1542, 4112, 0, 0, 0}, {2048, 119, 5888, 0, 0, 0, 0}, {2048, 120, 4096, 0, 0, 0, 0}, {51, 85, 1542, 4883, 0, 0, 0}, {2570, 90, 4128, 0, 0, 0, 0}, {51, 68, 1036, 4864, 0, 0, 0}, {3084, 60, 4160, 0, 0, 0, 0}, {34, 522, 85, 5376, 0, 0, 0}, {30, 34, 532, 68, 1042, 4102, 0}, {255, 8063, 8319, 16511, 0, 0, 0}, {8320, 16512, 0, 0, 0, 0, 0}, {15, 17, 262, 0, 0, 0, 0}, {34, 522, 16384, 0, 0, 0, 0}, {15, 51, 771, 4160, 0, 0, 0}, {8192, 68, 1036, 0, 0, 0, 0}, {15, 85, 1285, 4128, 0, 0, 0}, {8224, 102, 1542, 0, 0, 0, 0}, {15, 119, 1792, 4096, 0, 0, 0}, {136, 2048, 8192, 16384, 0, 0, 0}, {15, 51, 771, 85, 1285, 4112, 0}, {170, 2570, 8224, 16426, 0, 0, 0}, {15, 51, 771, 68, 1027, 4099, 0}, {204, 3084, 8268, 16448, 0, 0, 0}, {15, 34, 517, 85, 1285, 4101, 0}, {34, 522, 68, 1036, 0, 0, 0}, {15, 4208, 0, 0, 0, 0, 0}, {240, 4192, 0, 0, 0, 0, 0}, {520, 1032, 17, 0, 0, 0, 0}, {34, 520, 90, 4122, 0, 0, 0}, {3072, 51, 4959, 0, 0, 0, 0}, {60, 68, 1032, 4124, 0, 0, 0}, {2560, 85, 5439, 0, 0, 0, 0}, {60, 90, 1536, 4096, 0, 0, 0}, {2056, 119, 5911, 0, 0, 0, 0}, {2056, 120, 4112, 0, 0, 0, 0}, {51, 85, 1536, 4864, 0, 0, 0}, {2560, 90, 4144, 0, 0, 0, 0}, {51, 68, 1032, 4883, 0, 0, 0}, {3072, 60, 4176, 0, 0, 0, 0}, {34, 520, 85, 5397, 0, 0, 0}, {30, 34, 534, 68, 1046, 4118, 0}, {255, 8032, 8287, 16447, 0, 0, 0}, {8352, 16384, 0, 0, 0, 0, 0}, {15, 17, 260, 0, 0, 0, 0}, {34, 520, 16392, 0, 0, 0, 0}, {15, 51, 771, 4179, 0, 0, 0}, {8224, 68, 1028, 0, 0, 0, 0}, {15, 85, 1280, 4096, 0, 0, 0}, {8192, 102, 1548, 0, 0, 0, 0}, {15, 119, 1799, 4128, 0, 0, 0}, {136, 2056, 8224, 16392, 0, 0, 0}, {15, 51, 771, 85, 1280, 4099, 0}, {170, 2560, 8192, 16384, 0, 0, 0}, {15, 51, 771, 68, 1028, 4112, 0}, {204, 3084, 8300, 16396, 0, 0, 0}, {15, 34, 519, 85, 1280, 4103, 0}, {34, 520, 68, 1028, 0, 0, 0}, {15, 4176, 0, 0, 0, 0, 0}, {240, 4160, 0, 0, 0, 0, 0}, {522, 1024, 17, 0, 0, 0, 0}, {34, 522, 90, 4120, 0, 0, 0}, {3072, 51, 4940, 0, 0, 0, 0}, {60, 68, 1024, 4096, 0, 0, 0}, {2570, 85, 5397, 0, 0, 0, 0}, {60, 90, 1546, 4124, 0, 0, 0}, {2048, 119, 5951, 0, 0, 0, 0}, {2048, 120, 4144, 0, 0, 0, 0}, {51, 85, 1546, 4883, 0, 0, 0}, {2570, 90, 4112, 0, 0, 0, 0}, {51, 68, 1024, 4864, 0, 0, 0}, {3072, 60, 4172, 0, 0, 0, 0}, {34, 522, 85, 5405, 0, 0, 0}, {30, 34, 532, 68, 1024, 4116, 0}, {255, 8000, 8319, 16448, 0, 0, 0}, {8192, 16576, 0, 0, 0, 0, 0}, {15, 17, 258, 0, 0, 0, 0}, {34, 514, 16448, 0, 0, 0, 0}, {15, 51, 768, 4096, 0, 0, 0}, {8200, 68, 1032, 0, 0, 0, 0}, {15, 85, 1285, 4149, 0, 0, 0}, {8202, 102, 1546, 0, 0, 0, 0}, {15, 119, 1799, 4151, 0, 0, 0}, {136, 2056, 8200, 16448, 0, 0, 0}, {15, 51, 768, 85, 1285, 4101, 0}, {170, 2570, 8202, 16490, 0, 0, 0}, {15, 51, 768, 68, 1031, 4103, 0}, {204, 3072, 8192, 16384, 0, 0, 0}, {15, 34, 514, 85, 1285, 4112, 0}, {34, 514, 68, 1032, 0, 0, 0}, {15, 4144, 0, 0, 0, 0, 0}, {240, 4128, 0, 0, 0, 0, 0}, {512, 1036, 17, 0, 0, 0, 0}, {34, 512, 90, 4096, 0, 0, 0}, {3084, 51, 4883, 0, 0, 0, 0}, {60, 68, 1036, 4120, 0, 0, 0}, {2560, 85, 5418, 0, 0, 0, 0}, {60, 90, 1548, 4122, 0, 0, 0}, {2048, 119, 5928, 0, 0, 0, 0}, {2048, 120, 4136, 0, 0, 0, 0}, {51, 85, 1548, 4889, 0, 0, 0}, {2560, 90, 4138, 0, 0, 0, 0}, {51, 68, 1036, 4891, 0, 0, 0}, {3084, 60, 4112, 0, 0, 0, 0}, {34, 512, 85, 5376, 0, 0, 0}, {30, 34, 512, 68, 1042, 4114, 0}, {255, 7968, 8224, 16511, 0, 0, 0}, {8224, 16448, 0, 0, 0, 0, 0}, {15, 17, 256, 0, 0, 0, 0}, {34, 512, 16456, 0, 0, 0, 0}, {15, 51, 768, 4115, 0, 0, 0}, {8232, 68, 1024, 0, 0, 0, 0}, {15, 85, 1280, 4117, 0, 0, 0}, {8234, 102, 1536, 0, 0, 0, 0}, {15, 119, 1792, 4119, 0, 0, 0}, {136, 2048, 8232, 16456, 0, 0, 0}, {15, 51, 768, 85, 1280, 4118, 0}, {170, 2560, 8234, 16448, 0, 0, 0}, {15, 51, 768, 68, 1024, 4116, 0}, {204, 3072, 8224, 16460, 0, 0, 0}, {15, 34, 512, 85, 1280, 4114, 0}, {34, 512, 68, 1024, 0, 0, 0}, {15, 4112, 0, 0, 0, 0, 0}, {240, 4096, 0, 0, 0, 0, 0}, {514, 1028, 17, 0, 0, 0, 0}, {34, 514, 90, 4098, 0, 0, 0}, {3084, 51, 4864, 0, 0, 0, 0}, {60, 68, 1028, 4100, 0, 0, 0}, {2570, 85, 5376, 0, 0, 0, 0}, {60, 90, 1542, 4102, 0, 0, 0}, {2056, 119, 5888, 0, 0, 0, 0}, {2056, 120, 4104, 0, 0, 0, 0}, {51, 85, 1542, 4874, 0, 0, 0}, {2570, 90, 4106, 0, 0, 0, 0}, {51, 68, 1028, 4872, 0, 0, 0}, {3084, 60, 4108, 0, 0, 0, 0}, {34, 514, 85, 5384, 0, 0, 0}, {30, 34, 514, 68, 1028, 4112, 0}, {255, 7936, 8192, 16384, 0, 0, 0}, {3840, 4352, 0, 0, 0, 0, 0}, {32, 64, 257, 0, 0, 0, 0}, {32, 514, 1290, 4354, 0, 0, 0}, {192, 771, 4403, 0, 0, 0, 0}, {780, 64, 1028, 4356, 0, 0, 0}, {160, 1285, 4437, 0, 0, 0, 0}, {780, 96, 1290, 4358, 0, 0, 0}, {128, 1799, 4471, 0, 0, 0, 0}, {128, 1800, 4360, 0, 0, 0, 0}, {771, 96, 1285, 4409, 0, 0, 0}, {160, 1290, 4362, 0, 0, 0, 0}, {771, 64, 1028, 4411, 0, 0, 0}, {192, 780, 4364, 0, 0, 0, 0}, {32, 514, 1285, 4445, 0, 0, 0}, {270, 32, 514, 64, 1028, 4096, 0}, {4607, 3855, 8704, 17408, 0, 0, 0}, {32, 64, 272, 0, 0, 0, 0}, {4095, 4369, 0, 0, 0, 0, 0}, {192, 816, 4386, 0, 0, 0, 0}, {32, 512, 1375, 4371, 0, 0, 0}, {160, 1360, 4420, 0, 0, 0, 0}, {831, 64, 1024, 4373, 0, 0, 0}, {128, 1904, 4454, 0, 0, 0, 0}, {831, 96, 1343, 4375, 0, 0, 0}, {816, 96, 1328, 4392, 0, 0, 0}, {128, 1919, 4377, 0, 0, 0, 0}, {816, 64, 1024, 4394, 0, 0, 0}, {160, 1375, 4379, 0, 0, 0, 0}, {32, 512, 1360, 4428, 0, 0, 0}, {192, 831, 4381, 0, 0, 0, 0}, {4590, 7710, 8738, 17476, 0, 0, 0}, {287, 32, 512, 64, 1024, 4096, 0}, {32, 512, 1280, 4352, 0, 0, 0}, {192, 771, 4369, 0, 0, 0, 0}, {3840, 4386, 0, 0, 0, 0, 0}, {32, 64, 259, 0, 0, 0, 0}, {780, 96, 1280, 4388, 0, 0, 0}, {128, 1807, 4437, 0, 0, 0, 0}, {780, 64, 1036, 4390, 0, 0, 0}, {160, 1295, 4471, 0, 0, 0, 0}, {160, 1280, 4392, 0, 0, 0, 0}, {771, 64, 1036, 4377, 0, 0, 0}, {128, 1792, 4394, 0, 0, 0, 0}, {771, 96, 1295, 4379, 0, 0, 0}, {268, 32, 512, 64, 1280, 4096, 0}, {4573, 3855, 8738, 21845, 0, 0, 0}, {192, 780, 4398, 0, 0, 0, 0}, {32, 512, 1295, 4447, 0, 0, 0}, {192, 816, 4352, 0, 0, 0, 0}, {32, 514, 1365, 4369, 0, 0, 0}, {32, 64, 274, 0, 0, 0, 0}, {4095, 4403, 0, 0, 0, 0, 0}, {128, 1912, 4420, 0, 0, 0, 0}, {831, 96, 1333, 4405, 0, 0, 0}, {160, 1370, 4454, 0, 0, 0, 0}, {831, 64, 1032, 4407, 0, 0, 0}, {816, 64, 1032, 4360, 0, 0, 0}, {160, 1365, 4409, 0, 0, 0, 0}, {816, 96, 1338, 4362, 0, 0, 0}, {128, 1911, 4411, 0, 0, 0, 0}, {4556, 7740, 8704, 21760, 0, 0, 0}, {285, 32, 514, 64, 1301, 4096, 0}, {32, 514, 1370, 4430, 0, 0, 0}, {192, 831, 4415, 0, 0, 0, 0}, {768, 64, 1024, 4352, 0, 0, 0}, {160, 1285, 4369, 0, 0, 0, 0}, {768, 96, 1290, 4386, 0, 0, 0}, {128, 1807, 4403, 0, 0, 0, 0}, {3840, 4420, 0, 0, 0, 0, 0}, {32, 64, 261, 0, 0, 0, 0}, {32, 522, 1290, 4422, 0, 0, 0}, {192, 783, 4471, 0, 0, 0, 0}, {192, 768, 4424, 0, 0, 0, 0}, {32, 522, 1285, 4377, 0, 0, 0}, {266, 32, 768, 64, 1024, 4096, 0}, {4539, 3855, 13107, 17476, 0, 0, 0}, {128, 1792, 4428, 0, 0, 0, 0}, {783, 96, 1285, 4381, 0, 0, 0}, {160, 1290, 4430, 0, 0, 0, 0}, {783, 64, 1024, 4415, 0, 0, 0}, {160, 1360, 4352, 0, 0, 0, 0}, {819, 64, 1028, 4369, 0, 0, 0}, {128, 1912, 4386, 0, 0, 0, 0}, {819, 96, 1343, 4403, 0, 0, 0}, {32, 64, 276, 0, 0, 0, 0}, {4095, 4437, 0, 0, 0, 0, 0}, {192, 828, 4454, 0, 0, 0, 0}, {32, 520, 1375, 4439, 0, 0, 0}, {32, 520, 1360, 4360, 0, 0, 0}, {192, 819, 4441, 0, 0, 0, 0}, {4522, 7770, 13056, 17408, 0, 0, 0}, {283, 32, 787, 64, 1028, 4096, 0}, {828, 96, 1328, 4364, 0, 0, 0}, {128, 1911, 4445, 0, 0, 0, 0}, {828, 64, 1028, 4398, 0, 0, 0}, {160, 1375, 4447, 0, 0, 0, 0}, {768, 96, 1280, 4352, 0, 0, 0}, {128, 1799, 4369, 0, 0, 0, 0}, {768, 64, 1032, 4386, 0, 0, 0}, {160, 1295, 4403, 0, 0, 0, 0}, {32, 520, 1280, 4420, 0, 0, 0}, {192, 783, 4437, 0, 0, 0, 0}, {3840, 4454, 0, 0, 0, 0, 0}, {32, 64, 263, 0, 0, 0, 0}, {264, 32, 768, 64, 1280, 4096, 0}, {4505, 3855, 13107, 21845, 0, 0, 0}, {192, 768, 4458, 0, 0, 0, 0}, {32, 520, 1295, 4379, 0, 0, 0}, {160, 1280, 4460, 0, 0, 0, 0}, {783, 64, 1032, 4381, 0, 0, 0}, {128, 1800, 4462, 0, 0, 0, 0}, {783, 96, 1295, 4415, 0, 0, 0}, {128, 1904, 4352, 0, 0, 0, 0}, {819, 96, 1333, 4369, 0, 0, 0}, {160, 1370, 4386, 0, 0, 0, 0}, {819, 64, 1036, 4403, 0, 0, 0}, {192, 828, 4420, 0, 0, 0, 0}, {32, 522, 1365, 4437, 0, 0, 0}, {32, 64, 278, 0, 0, 0, 0}, {4095, 4471, 0, 0, 0, 0, 0}, {4488, 7800, 13056, 21760, 0, 0, 0}, {281, 32, 787, 64, 1301, 4096, 0}, {32, 522, 1370, 4362, 0, 0, 0}, {192, 819, 4475, 0, 0, 0, 0}, {828, 64, 1036, 4364, 0, 0, 0}, {160, 1365, 4477, 0, 0, 0, 0}, {828, 96, 1338, 4398, 0, 0, 0}, {128, 1919, 4479, 0, 0, 0, 0}, {128, 1792, 4352, 0, 0, 0, 0}, {771, 96, 1285, 4369, 0, 0, 0}, {160, 1290, 4386, 0, 0, 0, 0}, {771, 64, 1036, 4403, 0, 0, 0}, {192, 780, 4420, 0, 0, 0, 0}, {32, 522, 1285, 4437, 0, 0, 0}, {32, 64, 262, 0, 0, 0, 0}, {3855, 4471, 0, 0, 0, 0, 0}, {4488, 3840, 13056, 21760, 0, 0, 0}, {265, 32, 771, 64, 1285, 4112, 0}, {32, 522, 1290, 4362, 0, 0, 0}, {192, 771, 4475, 0, 0, 0, 0}, {780, 64, 1036, 4364, 0, 0, 0}, {160, 1285, 4477, 0, 0, 0, 0}, {780, 96, 1290, 4398, 0, 0, 0}, {128, 1807, 4479, 0, 0, 0, 0}, {816, 96, 1328, 4352, 0, 0, 0}, {128, 1911, 4369, 0, 0, 0, 0}, {816, 64, 1032, 4386, 0, 0, 0}, {160, 1375, 4403, 0, 0, 0, 0}, {32, 520, 1360, 4420, 0, 0, 0}, {192, 831, 4437, 0, 0, 0, 0}, {4080, 4454, 0, 0, 0, 0, 0}, {32, 64, 279, 0, 0, 0, 0}, {280, 32, 784, 64, 1296, 4112, 0}, {4505, 7782, 13107, 21845, 0, 0, 0}, {192, 816, 4458, 0, 0, 0, 0}, {32, 520, 1375, 4379, 0, 0, 0}, {160, 1360, 4460, 0, 0, 0, 0}, {831, 64, 1032, 4381, 0, 0, 0}, {128, 1912, 4462, 0, 0, 0, 0}, {831, 96, 1343, 4415, 0, 0, 0}, {160, 1280, 4352, 0, 0, 0, 0}, {771, 64, 1028, 4369, 0, 0, 0}, {128, 1800, 4386, 0, 0, 0, 0}, {771, 96, 1295, 4403, 0, 0, 0}, {32, 64, 260, 0, 0, 0, 0}, {3855, 4437, 0, 0, 0, 0, 0}, {192, 780, 4454, 0, 0, 0, 0}, {32, 520, 1295, 4439, 0, 0, 0}, {32, 520, 1280, 4360, 0, 0, 0}, {192, 771, 4441, 0, 0, 0, 0}, {4522, 3840, 13056, 17408, 0, 0, 0}, {267, 32, 771, 64, 1028, 4112, 0}, {780, 96, 1280, 4364, 0, 0, 0}, {128, 1799, 4445, 0, 0, 0, 0}, {780, 64, 1028, 4398, 0, 0, 0}, {160, 1295, 4447, 0, 0, 0, 0}, {816, 64, 1024, 4352, 0, 0, 0}, {160, 1365, 4369, 0, 0, 0, 0}, {816, 96, 1338, 4386, 0, 0, 0}, {128, 1919, 4403, 0, 0, 0, 0}, {4080, 4420, 0, 0, 0, 0, 0}, {32, 64, 277, 0, 0, 0, 0}, {32, 522, 1370, 4422, 0, 0, 0}, {192, 831, 4471, 0, 0, 0, 0}, {192, 816, 4424, 0, 0, 0, 0}, {32, 522, 1365, 4377, 0, 0, 0}, {282, 32, 784, 64, 1024, 4112, 0}, {4539, 7748, 13107, 17476, 0, 0, 0}, {128, 1904, 4428, 0, 0, 0, 0}, {831, 96, 1333, 4381, 0, 0, 0}, {160, 1370, 4430, 0, 0, 0, 0}, {831, 64, 1024, 4415, 0, 0, 0}, {192, 768, 4352, 0, 0, 0, 0}, {32, 514, 1285, 4369, 0, 0, 0}, {32, 64, 258, 0, 0, 0, 0}, {3855, 4403, 0, 0, 0, 0, 0}, {128, 1800, 4420, 0, 0, 0, 0}, {783, 96, 1285, 4405, 0, 0, 0}, {160, 1290, 4454, 0, 0, 0, 0}, {783, 64, 1032, 4407, 0, 0, 0}, {768, 64, 1032, 4360, 0, 0, 0}, {160, 1285, 4409, 0, 0, 0, 0}, {768, 96, 1290, 4362, 0, 0, 0}, {128, 1799, 4411, 0, 0, 0, 0}, {4556, 3840, 8704, 21760, 0, 0, 0}, {269, 32, 514, 64, 1285, 4112, 0}, {32, 514, 1290, 4430, 0, 0, 0}, {192, 783, 4415, 0, 0, 0, 0}, {32, 512, 1360, 4352, 0, 0, 0}, {192, 819, 4369, 0, 0, 0, 0}, {4080, 4386, 0, 0, 0, 0, 0}, {32, 64, 275, 0, 0, 0, 0}, {828, 96, 1328, 4388, 0, 0, 0}, {128, 1919, 4437, 0, 0, 0, 0}, {828, 64, 1036, 4390, 0, 0, 0}, {160, 1375, 4471, 0, 0, 0, 0}, {160, 1360, 4392, 0, 0, 0, 0}, {819, 64, 1036, 4377, 0, 0, 0}, {128, 1904, 4394, 0, 0, 0, 0}, {819, 96, 1343, 4379, 0, 0, 0}, {284, 32, 512, 64, 1296, 4112, 0}, {4573, 7714, 8738, 21845, 0, 0, 0}, {192, 828, 4398, 0, 0, 0, 0}, {32, 512, 1375, 4447, 0, 0, 0}, {32, 64, 256, 0, 0, 0, 0}, {3855, 4369, 0, 0, 0, 0, 0}, {192, 768, 4386, 0, 0, 0, 0}, {32, 512, 1295, 4371, 0, 0, 0}, {160, 1280, 4420, 0, 0, 0, 0}, {783, 64, 1024, 4373, 0, 0, 0}, {128, 1792, 4454, 0, 0, 0, 0}, {783, 96, 1295, 4375, 0, 0, 0}, {768, 96, 1280, 4392, 0, 0, 0}, {128, 1807, 4377, 0, 0, 0, 0}, {768, 64, 1024, 4394, 0, 0, 0}, {160, 1295, 4379, 0, 0, 0, 0}, {32, 512, 1280, 4428, 0, 0, 0}, {192, 783, 4381, 0, 0, 0, 0}, {4590, 3840, 8738, 17476, 0, 0, 0}, {271, 32, 512, 64, 1024, 4112, 0}, {4080, 4352, 0, 0, 0, 0, 0}, {32, 64, 273, 0, 0, 0, 0}, {32, 514, 1370, 4354, 0, 0, 0}, {192, 819, 4403, 0, 0, 0, 0}, {828, 64, 1028, 4356, 0, 0, 0}, {160, 1365, 4437, 0, 0, 0, 0}, {828, 96, 1338, 4358, 0, 0, 0}, {128, 1911, 4471, 0, 0, 0, 0}, {128, 1912, 4360, 0, 0, 0, 0}, {819, 96, 1333, 4409, 0, 0, 0}, {160, 1370, 4362, 0, 0, 0, 0}, {819, 64, 1028, 4411, 0, 0, 0}, {192, 828, 4364, 0, 0, 0, 0}, {32, 514, 1365, 4445, 0, 0, 0}, {286, 32, 514, 64, 1028, 4112, 0}, {4607, 7680, 8704, 17408, 0, 0, 0}, {8704, 18432, 0, 0, 0, 0, 0}, {15, 19, 257, 0, 0, 0, 0}, {32, 514, 16384, 0, 0, 0, 0}, {15, 51, 771, 4352, 0, 0, 0}, {8712, 76, 1028, 0, 0, 0, 0}, {15, 80, 1285, 4613, 0, 0, 0}, {8714, 108, 1542, 0, 0, 0, 0}, {15, 112, 1799, 4615, 0, 0, 0}, {128, 2056, 8712, 16384, 0, 0, 0}, {15, 51, 771, 80, 1285, 4357, 0}, {160, 2570, 8714, 16906, 0, 0, 0}, {15, 51, 771, 67, 1028, 4359, 0}, {204, 3084, 8704, 17408, 0, 0, 0}, {15, 32, 514, 80, 1285, 4096, 0}, {32, 514, 76, 1028, 0, 0, 0}, {15, 4608, 0, 0, 0, 0, 0}, {32, 512, 80, 4112, 0, 0, 0}, {3072, 51, 4369, 0, 0, 0, 0}, {240, 4626, 0, 0, 0, 0, 0}, {512, 1024, 19, 0, 0, 0, 0}, {60, 80, 1536, 4628, 0, 0, 0}, {2048, 127, 5397, 0, 0, 0, 0}, {60, 76, 1024, 4630, 0, 0, 0}, {2560, 95, 5911, 0, 0, 0, 0}, {2560, 80, 4632, 0, 0, 0, 0}, {51, 76, 1024, 4377, 0, 0, 0}, {2048, 112, 4634, 0, 0, 0, 0}, {51, 95, 1536, 4379, 0, 0, 0}, {28, 32, 512, 80, 1024, 4096, 0}, {255, 7453, 8738, 21845, 0, 0, 0}, {3072, 60, 4638, 0, 0, 0, 0}, {32, 512, 95, 5407, 0, 0, 0}, {32, 512, 16384, 0, 0, 0, 0}, {15, 51, 771, 4369, 0, 0, 0}, {8738, 18568, 0, 0, 0, 0, 0}, {15, 19, 259, 0, 0, 0, 0}, {8744, 108, 1548, 0, 0, 0, 0}, {15, 112, 1792, 4645, 0, 0, 0}, {8746, 76, 1036, 0, 0, 0, 0}, {15, 80, 1280, 4647, 0, 0, 0}, {160, 2560, 8744, 16936, 0, 0, 0}, {15, 51, 771, 67, 1027, 4374, 0}, {128, 2048, 8746, 16384, 0, 0, 0}, {15, 51, 771, 80, 1280, 4372, 0}, {32, 512, 76, 1036, 0, 0, 0}, {15, 4642, 0, 0, 0, 0, 0}, {204, 3084, 8738, 17476, 0, 0, 0}, {15, 32, 512, 80, 1280, 4096, 0}, {240, 4656, 0, 0, 0, 0, 0}, {514, 1032, 19, 0, 0, 0, 0}, {32, 514, 80, 4112, 0, 0, 0}, {3072, 51, 4352, 0, 0, 0, 0}, {60, 76, 1032, 4616, 0, 0, 0}, {2570, 95, 5951, 0, 0, 0, 0}, {60, 80, 1546, 4618, 0, 0, 0}, {2056, 127, 5439, 0, 0, 0, 0}, {2056, 112, 4664, 0, 0, 0, 0}, {51, 95, 1546, 4362, 0, 0, 0}, {2570, 80, 4666, 0, 0, 0, 0}, {51, 76, 1032, 4360, 0, 0, 0}, {3072, 60, 4608, 0, 0, 0, 0}, {32, 514, 95, 5397, 0, 0, 0}, {28, 32, 514, 80, 1044, 4096, 0}, {255, 7487, 8704, 21760, 0, 0, 0}, {128, 2048, 8704, 16448, 0, 0, 0}, {15, 51, 768, 80, 1285, 4369, 0}, {160, 2570, 8738, 16962, 0, 0, 0}, {15, 51, 768, 67, 1024, 4352, 0}, {204, 3072, 8772, 17476, 0, 0, 0}, {15, 32, 517, 80, 1285, 4112, 0}, {32, 522, 76, 1024, 0, 0, 0}, {15, 4679, 0, 0, 0, 0, 0}, {8840, 18504, 0, 0, 0, 0, 0}, {15, 19, 261, 0, 0, 0, 0}, {32, 522, 16448, 0, 0, 0, 0}, {15, 51, 768, 4420, 0, 0, 0}, {8704, 76, 1024, 0, 0, 0, 0}, {15, 80, 1285, 4626, 0, 0, 0}, {8738, 108, 1546, 0, 0, 0, 0}, {15, 112, 1792, 4656, 0, 0, 0}, {2560, 80, 4608, 0, 0, 0, 0}, {51, 76, 1028, 4369, 0, 0, 0}, {2056, 112, 4642, 0, 0, 0, 0}, {51, 95, 1548, 4352, 0, 0, 0}, {28, 32, 532, 80, 1028, 4112, 0}, {255, 7509, 8789, 21845, 0, 0, 0}, {3084, 60, 4694, 0, 0, 0, 0}, {32, 520, 95, 5376, 0, 0, 0}, {32, 520, 80, 4096, 0, 0, 0}, {3084, 51, 4437, 0, 0, 0, 0}, {240, 4698, 0, 0, 0, 0, 0}, {520, 1028, 19, 0, 0, 0, 0}, {60, 80, 1548, 4620, 0, 0, 0}, {2056, 127, 5418, 0, 0, 0, 0}, {60, 76, 1028, 4626, 0, 0, 0}, {2560, 95, 5888, 0, 0, 0, 0}, {160, 2560, 8704, 16992, 0, 0, 0}, {15, 51, 768, 67, 1031, 4369, 0}, {128, 2056, 8738, 16448, 0, 0, 0}, {15, 51, 768, 80, 1280, 4352, 0}, {32, 520, 76, 1032, 0, 0, 0}, {15, 4709, 0, 0, 0, 0, 0}, {204, 3072, 8806, 17408, 0, 0, 0}, {15, 32, 519, 80, 1280, 4112, 0}, {32, 520, 16448, 0, 0, 0, 0}, {15, 51, 768, 4437, 0, 0, 0}, {8874, 18624, 0, 0, 0, 0, 0}, {15, 19, 263, 0, 0, 0, 0}, {8704, 108, 1536, 0, 0, 0, 0}, {15, 112, 1799, 4626, 0, 0, 0}, {8738, 76, 1032, 0, 0, 0, 0}, {15, 80, 1280, 4656, 0, 0, 0}, {2048, 112, 4608, 0, 0, 0, 0}, {51, 95, 1542, 4369, 0, 0, 0}, {2570, 80, 4642, 0, 0, 0, 0}, {51, 76, 1036, 4352, 0, 0, 0}, {3084, 60, 4680, 0, 0, 0, 0}, {32, 522, 95, 5386, 0, 0, 0}, {28, 32, 534, 80, 1040, 4112, 0}, {255, 7543, 8823, 21760, 0, 0, 0}, {240, 4728, 0, 0, 0, 0, 0}, {522, 1036, 19, 0, 0, 0, 0}, {32, 522, 80, 4096, 0, 0, 0}, {3084, 51, 4420, 0, 0, 0, 0}, {60, 76, 1036, 4620, 0, 0, 0}, {2570, 95, 5928, 0, 0, 0, 0}, {60, 80, 1542, 4626, 0, 0, 0}, {2048, 127, 5376, 0, 0, 0, 0}, {128, 2048, 8704, 16384, 0, 0, 0}, {15, 51, 771, 80, 1285, 4369, 0}, {160, 2570, 8738, 16930, 0, 0, 0}, {15, 51, 771, 67, 1027, 4352, 0}, {204, 3084, 8772, 17476, 0, 0, 0}, {15, 32, 517, 80, 1285, 4096, 0}, {32, 522, 76, 1036, 0, 0, 0}, {15, 4727, 0, 0, 0, 0, 0}, {8840, 18568, 0, 0, 0, 0, 0}, {15, 19, 262, 0, 0, 0, 0}, {32, 522, 16384, 0, 0, 0, 0}, {15, 51, 771, 4420, 0, 0, 0}, {8704, 76, 1036, 0, 0, 0, 0}, {15, 80, 1285, 4642, 0, 0, 0}, {8738, 108, 1542, 0, 0, 0, 0}, {15, 112, 1792, 4608, 0, 0, 0}, {2560, 80, 4656, 0, 0, 0, 0}, {51, 76, 1032, 4369, 0, 0, 0}, {2056, 112, 4626, 0, 0, 0, 0}, {51, 95, 1536, 4352, 0, 0, 0}, {28, 32, 532, 80, 1044, 4096, 0}, {255, 7530, 8789, 21845, 0, 0, 0}, {3072, 60, 4698, 0, 0, 0, 0}, {32, 520, 95, 5407, 0, 0, 0}, {32, 520, 80, 4112, 0, 0, 0}, {3072, 51, 4437, 0, 0, 0, 0}, {240, 4714, 0, 0, 0, 0, 0}, {520, 1032, 19, 0, 0, 0, 0}, {60, 80, 1536, 4608, 0, 0, 0}, {2056, 127, 5397, 0, 0, 0, 0}, {60, 76, 1032, 4638, 0, 0, 0}, {2560, 95, 5951, 0, 0, 0, 0}, {160, 2560, 8704, 16896, 0, 0, 0}, {15, 51, 771, 67, 1028, 4369, 0}, {128, 2056, 8738, 16384, 0, 0, 0}, {15, 51, 771, 80, 1280, 4352, 0}, {32, 520, 76, 1028, 0, 0, 0}, {15, 4693, 0, 0, 0, 0, 0}, {204, 3084, 8806, 17408, 0, 0, 0}, {15, 32, 519, 80, 1280, 4096, 0}, {32, 520, 16384, 0, 0, 0, 0}, {15, 51, 771, 4437, 0, 0, 0}, {8874, 18432, 0, 0, 0, 0, 0}, {15, 19, 260, 0, 0, 0, 0}, {8704, 108, 1548, 0, 0, 0, 0}, {15, 112, 1799, 4642, 0, 0, 0}, {8738, 76, 1028, 0, 0, 0, 0}, {15, 80, 1280, 4608, 0, 0, 0}, {2048, 112, 4656, 0, 0, 0, 0}, {51, 95, 1546, 4369, 0, 0, 0}, {2570, 80, 4626, 0, 0, 0, 0}, {51, 76, 1024, 4352, 0, 0, 0}, {3072, 60, 4676, 0, 0, 0, 0}, {32, 522, 95, 5397, 0, 0, 0}, {28, 32, 534, 80, 1024, 4096, 0}, {255, 7496, 8823, 21760, 0, 0, 0}, {240, 4680, 0, 0, 0, 0, 0}, {522, 1024, 19, 0, 0, 0, 0}, {32, 522, 80, 4112, 0, 0, 0}, {3072, 51, 4420, 0, 0, 0, 0}, {60, 76, 1024, 4608, 0, 0, 0}, {2570, 95, 5911, 0, 0, 0, 0}, {60, 80, 1546, 4638, 0, 0, 0}, {2048, 127, 5439, 0, 0, 0, 0}, {8704, 18624, 0, 0, 0, 0, 0}, {15, 19, 258, 0, 0, 0, 0}, {32, 514, 16448, 0, 0, 0, 0}, {15, 51, 768, 4352, 0, 0, 0}, {8712, 76, 1032, 0, 0, 0, 0}, {15, 80, 1285, 4661, 0, 0, 0}, {8714, 108, 1546, 0, 0, 0, 0}, {15, 112, 1799, 4663, 0, 0, 0}, {128, 2056, 8712, 16448, 0, 0, 0}, {15, 51, 768, 80, 1285, 4357, 0}, {160, 2570, 8714, 17002, 0, 0, 0}, {15, 51, 768, 67, 1031, 4359, 0}, {204, 3072, 8704, 17408, 0, 0, 0}, {15, 32, 514, 80, 1285, 4112, 0}, {32, 514, 76, 1032, 0, 0, 0}, {15, 4656, 0, 0, 0, 0, 0}, {32, 512, 80, 4096, 0, 0, 0}, {3084, 51, 4369, 0, 0, 0, 0}, {240, 4642, 0, 0, 0, 0, 0}, {512, 1036, 19, 0, 0, 0, 0}, {60, 80, 1548, 4632, 0, 0, 0}, {2048, 127, 5418, 0, 0, 0, 0}, {60, 76, 1036, 4634, 0, 0, 0}, {2560, 95, 5928, 0, 0, 0, 0}, {2560, 80, 4648, 0, 0, 0, 0}, {51, 76, 1036, 4377, 0, 0, 0}, {2048, 112, 4650, 0, 0, 0, 0}, {51, 95, 1548, 4379, 0, 0, 0}, {28, 32, 512, 80, 1040, 4112, 0}, {255, 7458, 8738, 21845, 0, 0, 0}, {3084, 60, 4626, 0, 0, 0, 0}, {32, 512, 95, 5376, 0, 0, 0}, {32, 512, 16448, 0, 0, 0, 0}, {15, 51, 768, 4369, 0, 0, 0}, {8738, 18504, 0, 0, 0, 0, 0}, {15, 19, 256, 0, 0, 0, 0}, {8744, 108, 1536, 0, 0, 0, 0}, {15, 112, 1792, 4629, 0, 0, 0}, {8746, 76, 1024, 0, 0, 0, 0}, {15, 80, 1280, 4631, 0, 0, 0}, {160, 2560, 8744, 16968, 0, 0, 0}, {15, 51, 768, 67, 1024, 4374, 0}, {128, 2048, 8746, 16448, 0, 0, 0}, {15, 51, 768, 80, 1280, 4372, 0}, {32, 512, 76, 1024, 0, 0, 0}, {15, 4626, 0, 0, 0, 0, 0}, {204, 3072, 8738, 17476, 0, 0, 0}, {15, 32, 512, 80, 1280, 4112, 0}, {240, 4608, 0, 0, 0, 0, 0}, {514, 1028, 19, 0, 0, 0, 0}, {32, 514, 80, 4096, 0, 0, 0}, {3084, 51, 4352, 0, 0, 0, 0}, {60, 76, 1028, 4612, 0, 0, 0}, {2570, 95, 5888, 0, 0, 0, 0}, {60, 80, 1542, 4614, 0, 0, 0}, {2056, 127, 5376, 0, 0, 0, 0}, {2056, 112, 4616, 0, 0, 0, 0}, {51, 95, 1542, 4362, 0, 0, 0}, {2570, 80, 4618, 0, 0, 0, 0}, {51, 76, 1028, 4360, 0, 0, 0}, {3084, 60, 4620, 0, 0, 0, 0}, {32, 514, 95, 5386, 0, 0, 0}, {28, 32, 514, 80, 1028, 4112, 0}, {255, 7424, 8704, 21760, 0, 0, 0}, {3840, 4864, 0, 0, 0, 0, 0}, {34, 72, 257, 0, 0, 0, 0}, {34, 514, 1290, 4352, 0, 0, 0}, {192, 771, 4144, 0, 0, 0, 0}, {780, 72, 1028, 4104, 0, 0, 0}, {170, 1285, 4959, 0, 0, 0, 0}, {780, 106, 1290, 4106, 0, 0, 0}, {136, 1799, 4991, 0, 0, 0, 0}, {136, 1800, 4872, 0, 0, 0, 0}, {771, 106, 1285, 4154, 0, 0, 0}, {170, 1290, 4874, 0, 0, 0, 0}, {771, 72, 1028, 4152, 0, 0, 0}, {192, 780, 4096, 0, 0, 0, 0}, {34, 514, 1285, 4437, 0, 0, 0}, {270, 34, 514, 326, 1028, 4098, 0}, {5119, 3855, 8192, 17167, 0, 0, 0}, {192, 816, 4112, 0, 0, 0, 0}, {34, 512, 1365, 4369, 0, 0, 0}, {34, 72, 274, 0, 0, 0, 0}, {4095, 4883, 0, 0, 0, 0, 0}, {136, 1912, 4972, 0, 0, 0, 0}, {831, 106, 1343, 4138, 0, 0, 0}, {170, 1370, 4940, 0, 0, 0, 0}, {831, 72, 1024, 4136, 0, 0, 0}, {816, 72, 1024, 4120, 0, 0, 0}, {170, 1365, 4889, 0, 0, 0, 0}, {816, 106, 1328, 4122, 0, 0, 0}, {136, 1911, 4891, 0, 0, 0, 0}, {5100, 7196, 8224, 20560, 0, 0, 0}, {285, 34, 512, 341, 1024, 4096, 0}, {34, 512, 1370, 4420, 0, 0, 0}, {192, 831, 4128, 0, 0, 0, 0}, {3840, 4896, 0, 0, 0, 0, 0}, {34, 72, 259, 0, 0, 0, 0}, {34, 512, 1280, 4352, 0, 0, 0}, {192, 771, 4112, 0, 0, 0, 0}, {780, 72, 1036, 4136, 0, 0, 0}, {170, 1295, 4991, 0, 0, 0, 0}, {780, 106, 1280, 4138, 0, 0, 0}, {136, 1807, 4959, 0, 0, 0, 0}, {136, 1792, 4904, 0, 0, 0, 0}, {771, 106, 1295, 4122, 0, 0, 0}, {170, 1280, 4906, 0, 0, 0, 0}, {771, 72, 1036, 4120, 0, 0, 0}, {192, 780, 4128, 0, 0, 0, 0}, {34, 512, 1295, 4437, 0, 0, 0}, {268, 34, 512, 324, 1280, 4096, 0}, {5087, 3855, 8224, 20560, 0, 0, 0}, {192, 816, 4144, 0, 0, 0, 0}, {34, 514, 1375, 4369, 0, 0, 0}, {34, 72, 272, 0, 0, 0, 0}, {4095, 4915, 0, 0, 0, 0, 0}, {136, 1904, 4940, 0, 0, 0, 0}, {831, 106, 1333, 4106, 0, 0, 0}, {170, 1360, 4972, 0, 0, 0, 0}, {831, 72, 1032, 4104, 0, 0, 0}, {816, 72, 1032, 4152, 0, 0, 0}, {170, 1375, 4921, 0, 0, 0, 0}, {816, 106, 1338, 4154, 0, 0, 0}, {136, 1919, 4923, 0, 0, 0, 0}, {5068, 7228, 8192, 17212, 0, 0, 0}, {287, 34, 514, 343, 1303, 4098, 0}, {34, 514, 1360, 4420, 0, 0, 0}, {192, 831, 4096, 0, 0, 0, 0}, {192, 768, 4160, 0, 0, 0, 0}, {34, 522, 1285, 4369, 0, 0, 0}, {266, 34, 768, 322, 1024, 4352, 0}, {5043, 3855, 13107, 17219, 0, 0, 0}, {136, 1792, 4932, 0, 0, 0, 0}, {783, 106, 1285, 4112, 0, 0, 0}, {170, 1290, 4934, 0, 0, 0, 0}, {783, 72, 1024, 4144, 0, 0, 0}, {768, 72, 1024, 4096, 0, 0, 0}, {170, 1285, 4883, 0, 0, 0, 0}, {768, 106, 1290, 4128, 0, 0, 0}, {136, 1807, 4915, 0, 0, 0, 0}, {3840, 4940, 0, 0, 0, 0, 0}, {34, 72, 261, 0, 0, 0, 0}, {34, 522, 1290, 4420, 0, 0, 0}, {192, 783, 4208, 0, 0, 0, 0}, {5024, 7248, 13056, 20560, 0, 0, 0}, {281, 34, 785, 337, 1028, 4369, 0}, {34, 520, 1370, 4352, 0, 0, 0}, {192, 819, 4192, 0, 0, 0, 0}, {828, 72, 1028, 4112, 0, 0, 0}, {170, 1365, 4949, 0, 0, 0, 0}, {828, 106, 1328, 4144, 0, 0, 0}, {136, 1919, 4951, 0, 0, 0, 0}, {136, 1904, 4896, 0, 0, 0, 0}, {819, 106, 1343, 4096, 0, 0, 0}, {170, 1370, 4864, 0, 0, 0, 0}, {819, 72, 1028, 4128, 0, 0, 0}, {192, 828, 4176, 0, 0, 0, 0}, {34, 520, 1365, 4437, 0, 0, 0}, {34, 72, 278, 0, 0, 0, 0}, {4095, 4959, 0, 0, 0, 0, 0}, {192, 768, 4192, 0, 0, 0, 0}, {34, 520, 1295, 4369, 0, 0, 0}, {264, 34, 768, 320, 1280, 4352, 0}, {5011, 3855, 13107, 20560, 0, 0, 0}, {136, 1800, 4964, 0, 0, 0, 0}, {783, 106, 1295, 4144, 0, 0, 0}, {170, 1280, 4966, 0, 0, 0, 0}, {783, 72, 1032, 4112, 0, 0, 0}, {768, 72, 1032, 4128, 0, 0, 0}, {170, 1295, 4915, 0, 0, 0, 0}, {768, 106, 1280, 4096, 0, 0, 0}, {136, 1799, 4883, 0, 0, 0, 0}, {3840, 4972, 0, 0, 0, 0, 0}, {34, 72, 263, 0, 0, 0, 0}, {34, 520, 1280, 4420, 0, 0, 0}, {192, 783, 4176, 0, 0, 0, 0}, {4992, 7280, 13056, 17264, 0, 0, 0}, {283, 34, 785, 339, 1303, 4369, 0}, {34, 522, 1360, 4352, 0, 0, 0}, {192, 819, 4160, 0, 0, 0, 0}, {828, 72, 1036, 4144, 0, 0, 0}, {170, 1375, 4981, 0, 0, 0, 0}, {828, 106, 1338, 4112, 0, 0, 0}, {136, 1911, 4983, 0, 0, 0, 0}, {136, 1912, 4864, 0, 0, 0, 0}, {819, 106, 1333, 4128, 0, 0, 0}, {170, 1360, 4896, 0, 0, 0, 0}, {819, 72, 1036, 4096, 0, 0, 0}, {192, 828, 4208, 0, 0, 0, 0}, {34, 522, 1375, 4437, 0, 0, 0}, {34, 72, 276, 0, 0, 0, 0}, {4095, 4991, 0, 0, 0, 0, 0}, {4992, 3840, 13056, 20480, 0, 0, 0}, {265, 34, 771, 321, 1285, 4369, 0}, {34, 522, 1290, 4352, 0, 0, 0}, {192, 771, 4208, 0, 0, 0, 0}, {780, 72, 1036, 4096, 0, 0, 0}, {170, 1285, 4981, 0, 0, 0, 0}, {780, 106, 1290, 4128, 0, 0, 0}, {136, 1807, 4983, 0, 0, 0, 0}, {136, 1792, 4864, 0, 0, 0, 0}, {771, 106, 1285, 4112, 0, 0, 0}, {170, 1290, 4896, 0, 0, 0, 0}, {771, 72, 1036, 4144, 0, 0, 0}, {192, 780, 4160, 0, 0, 0, 0}, {34, 522, 1285, 4437, 0, 0, 0}, {34, 72, 262, 0, 0, 0, 0}, {3855, 4991, 0, 0, 0, 0, 0}, {192, 816, 4176, 0, 0, 0, 0}, {34, 520, 1365, 4369, 0, 0, 0}, {282, 34, 786, 338, 1298, 4352, 0}, {5011, 7276, 13107, 17203, 0, 0, 0}, {136, 1904, 4964, 0, 0, 0, 0}, {831, 106, 1343, 4096, 0, 0, 0}, {170, 1370, 4966, 0, 0, 0, 0}, {831, 72, 1032, 4128, 0, 0, 0}, {816, 72, 1032, 4112, 0, 0, 0}, {170, 1365, 4915, 0, 0, 0, 0}, {816, 106, 1328, 4144, 0, 0, 0}, {136, 1919, 4883, 0, 0, 0, 0}, {4080, 4972, 0, 0, 0, 0, 0}, {34, 72, 277, 0, 0, 0, 0}, {34, 520, 1370, 4420, 0, 0, 0}, {192, 831, 4192, 0, 0, 0, 0}, {5024, 3840, 13056, 17152, 0, 0, 0}, {267, 34, 771, 323, 1028, 4369, 0}, {34, 520, 1280, 4352, 0, 0, 0}, {192, 771, 4176, 0, 0, 0, 0}, {780, 72, 1028, 4128, 0, 0, 0}, {170, 1295, 4949, 0, 0, 0, 0}, {780, 106, 1280, 4096, 0, 0, 0}, {136, 1799, 4951, 0, 0, 0, 0}, {136, 1800, 4896, 0, 0, 0, 0}, {771, 106, 1295, 4144, 0, 0, 0}, {170, 1280, 4864, 0, 0, 0, 0}, {771, 72, 1028, 4112, 0, 0, 0}, {192, 780, 4192, 0, 0, 0, 0}, {34, 520, 1295, 4437, 0, 0, 0}, {34, 72, 260, 0, 0, 0, 0}, {3855, 4959, 0, 0, 0, 0, 0}, {192, 816, 4208, 0, 0, 0, 0}, {34, 522, 1375, 4369, 0, 0, 0}, {280, 34, 786, 336, 1024, 4352, 0}, {5043, 7244, 13107, 20480, 0, 0, 0}, {136, 1912, 4932, 0, 0, 0, 0}, {831, 106, 1333, 4128, 0, 0, 0}, {170, 1360, 4934, 0, 0, 0, 0}, {831, 72, 1024, 4096, 0, 0, 0}, {816, 72, 1024, 4144, 0, 0, 0}, {170, 1375, 4883, 0, 0, 0, 0}, {816, 106, 1338, 4112, 0, 0, 0}, {136, 1911, 4915, 0, 0, 0, 0}, {4080, 4940, 0, 0, 0, 0, 0}, {34, 72, 279, 0, 0, 0, 0}, {34, 522, 1360, 4420, 0, 0, 0}, {192, 831, 4160, 0, 0, 0, 0}, {192, 768, 4096, 0, 0, 0, 0}, {34, 514, 1285, 4369, 0, 0, 0}, {34, 72, 258, 0, 0, 0, 0}, {3855, 4915, 0, 0, 0, 0, 0}, {136, 1800, 4940, 0, 0, 0, 0}, {783, 106, 1285, 4154, 0, 0, 0}, {170, 1290, 4972, 0, 0, 0, 0}, {783, 72, 1032, 4152, 0, 0, 0}, {768, 72, 1032, 4104, 0, 0, 0}, {170, 1285, 4921, 0, 0, 0, 0}, {768, 106, 1290, 4106, 0, 0, 0}, {136, 1799, 4923, 0, 0, 0, 0}, {5068, 3840, 8192, 20480, 0, 0, 0}, {269, 34, 514, 325, 1285, 4112, 0}, {34, 514, 1290, 4420, 0, 0, 0}, {192, 783, 4144, 0, 0, 0, 0}, {4080, 4896, 0, 0, 0, 0, 0}, {34, 72, 273, 0, 0, 0, 0}, {34, 512, 1370, 4352, 0, 0, 0}, {192, 819, 4128, 0, 0, 0, 0}, {828, 72, 1036, 4120, 0, 0, 0}, {170, 1365, 4991, 0, 0, 0, 0}, {828, 106, 1328, 4122, 0, 0, 0}, {136, 1911, 4959, 0, 0, 0, 0}, {136, 1912, 4904, 0, 0, 0, 0}, {819, 106, 1343, 4138, 0, 0, 0}, {170, 1370, 4906, 0, 0, 0, 0}, {819, 72, 1036, 4136, 0, 0, 0}, {192, 828, 4112, 0, 0, 0, 0}, {34, 512, 1365, 4437, 0, 0, 0}, {286, 34, 512, 342, 1298, 4114, 0}, {5087, 7200, 8224, 17279, 0, 0, 0}, {192, 768, 4128, 0, 0, 0, 0}, {34, 512, 1295, 4369, 0, 0, 0}, {34, 72, 256, 0, 0, 0, 0}, {3855, 4883, 0, 0, 0, 0, 0}, {136, 1792, 4972, 0, 0, 0, 0}, {783, 106, 1295, 4122, 0, 0, 0}, {170, 1280, 4940, 0, 0, 0, 0}, {783, 72, 1024, 4120, 0, 0, 0}, {768, 72, 1024, 4136, 0, 0, 0}, {170, 1295, 4889, 0, 0, 0, 0}, {768, 106, 1280, 4138, 0, 0, 0}, {136, 1807, 4891, 0, 0, 0, 0}, {5100, 3840, 8224, 17228, 0, 0, 0}, {271, 34, 512, 327, 1024, 4114, 0}, {34, 512, 1280, 4420, 0, 0, 0}, {192, 783, 4112, 0, 0, 0, 0}, {4080, 4864, 0, 0, 0, 0, 0}, {34, 72, 275, 0, 0, 0, 0}, {34, 514, 1360, 4352, 0, 0, 0}, {192, 819, 4096, 0, 0, 0, 0}, {828, 72, 1028, 4152, 0, 0, 0}, {170, 1375, 4959, 0, 0, 0, 0}, {828, 106, 1338, 4154, 0, 0, 0}, {136, 1919, 4991, 0, 0, 0, 0}, {136, 1904, 4872, 0, 0, 0, 0}, {819, 106, 1333, 4106, 0, 0, 0}, {170, 1360, 4874, 0, 0, 0, 0}, {819, 72, 1028, 4104, 0, 0, 0}, {192, 828, 4144, 0, 0, 0, 0}, {34, 514, 1375, 4437, 0, 0, 0}, {284, 34, 514, 340, 1028, 4112, 0}, {5119, 7168, 8192, 20480, 0, 0, 0}, {10240, 17408, 0, 0, 0, 0, 0}, {15, 21, 257, 0, 0, 0, 0}, {42, 514, 17416, 0, 0, 0, 0}, {15, 48, 771, 5123, 0, 0, 0}, {8192, 64, 1028, 0, 0, 0, 0}, {15, 85, 1285, 4352, 0, 0, 0}, {8704, 106, 1542, 0, 0, 0, 0}, {15, 112, 1799, 4864, 0, 0, 0}, {128, 2056, 8192, 17416, 0, 0, 0}, {15, 48, 771, 85, 1285, 4355, 0}, {170, 2570, 8704, 17408, 0, 0, 0}, {15, 48, 771, 64, 1028, 4096, 0}, {192, 3084, 9228, 17420, 0, 0, 0}, {15, 37, 514, 85, 1285, 4359, 0}, {42, 514, 64, 1028, 0, 0, 0}, {15, 5120, 0, 0, 0, 0, 0}, {48, 64, 1024, 4112, 0, 0, 0}, {2560, 85, 4369, 0, 0, 0, 0}, {48, 90, 1536, 4626, 0, 0, 0}, {2048, 127, 4883, 0, 0, 0, 0}, {240, 5140, 0, 0, 0, 0, 0}, {512, 1024, 21, 0, 0, 0, 0}, {42, 512, 90, 5142, 0, 0, 0}, {3072, 63, 5911, 0, 0, 0, 0}, {3072, 48, 5144, 0, 0, 0, 0}, {42, 512, 85, 4377, 0, 0, 0}, {26, 48, 512, 64, 1024, 4096, 0}, {255, 6939, 13107, 17476, 0, 0, 0}, {2048, 112, 5148, 0, 0, 0, 0}, {63, 85, 1536, 4381, 0, 0, 0}, {2560, 90, 5150, 0, 0, 0, 0}, {63, 64, 1024, 4895, 0, 0, 0}, {128, 2048, 8224, 17408, 0, 0, 0}, {15, 48, 771, 85, 1280, 4369, 0}, {170, 2560, 8738, 17442, 0, 0, 0}, {15, 48, 771, 64, 1027, 4112, 0}, {192, 3084, 9252, 17476, 0, 0, 0}, {15, 37, 512, 85, 1280, 4352, 0}, {42, 512, 64, 1036, 0, 0, 0}, {15, 5159, 0, 0, 0, 0, 0}, {10280, 17544, 0, 0, 0, 0, 0}, {15, 21, 259, 0, 0, 0, 0}, {42, 512, 17408, 0, 0, 0, 0}, {15, 48, 771, 5140, 0, 0, 0}, {8224, 64, 1036, 0, 0, 0, 0}, {15, 85, 1280, 4386, 0, 0, 0}, {8738, 106, 1548, 0, 0, 0, 0}, {15, 112, 1792, 4896, 0, 0, 0}, {3072, 48, 5120, 0, 0, 0, 0}, {42, 514, 85, 4369, 0, 0, 0}, {26, 48, 514, 64, 1042, 4112, 0}, {255, 6963, 13107, 17459, 0, 0, 0}, {2056, 112, 5172, 0, 0, 0, 0}, {63, 85, 1546, 4352, 0, 0, 0}, {2570, 90, 5174, 0, 0, 0, 0}, {63, 64, 1032, 4864, 0, 0, 0}, {48, 64, 1032, 4096, 0, 0, 0}, {2570, 85, 4403, 0, 0, 0, 0}, {48, 90, 1546, 4608, 0, 0, 0}, {2056, 127, 4915, 0, 0, 0, 0}, {240, 5180, 0, 0, 0, 0, 0}, {514, 1032, 21, 0, 0, 0, 0}, {42, 514, 90, 5140, 0, 0, 0}, {3072, 63, 5888, 0, 0, 0, 0}, {8192, 64, 1024, 0, 0, 0, 0}, {15, 85, 1285, 4369, 0, 0, 0}, {8738, 106, 1546, 0, 0, 0, 0}, {15, 112, 1792, 4915, 0, 0, 0}, {10376, 17476, 0, 0, 0, 0, 0}, {15, 21, 261, 0, 0, 0, 0}, {42, 522, 17484, 0, 0, 0, 0}, {15, 48, 768, 5191, 0, 0, 0}, {192, 3072, 9288, 17480, 0, 0, 0}, {15, 37, 517, 85, 1285, 4374, 0}, {42, 522, 64, 1024, 0, 0, 0}, {15, 5188, 0, 0, 0, 0, 0}, {128, 2048, 8192, 17484, 0, 0, 0}, {15, 48, 768, 85, 1285, 4370, 0}, {170, 2570, 8738, 17476, 0, 0, 0}, {15, 48, 768, 64, 1024, 4096, 0}, {240, 5200, 0, 0, 0, 0, 0}, {520, 1028, 21, 0, 0, 0, 0}, {42, 520, 90, 5128, 0, 0, 0}, {3084, 63, 5983, 0, 0, 0, 0}, {48, 64, 1028, 4112, 0, 0, 0}, {2560, 85, 4352, 0, 0, 0, 0}, {48, 90, 1548, 4608, 0, 0, 0}, {2056, 127, 4896, 0, 0, 0, 0}, {2056, 112, 5160, 0, 0, 0, 0}, {63, 85, 1548, 4364, 0, 0, 0}, {2560, 90, 5120, 0, 0, 0, 0}, {63, 64, 1028, 4883, 0, 0, 0}, {3084, 48, 5212, 0, 0, 0, 0}, {42, 520, 85, 4360, 0, 0, 0}, {26, 48, 530, 64, 1028, 4096, 0}, {255, 7007, 13056, 17408, 0, 0, 0}, {192, 3072, 9312, 17408, 0, 0, 0}, {15, 37, 519, 85, 1280, 4369, 0}, {42, 520, 64, 1032, 0, 0, 0}, {15, 5219, 0, 0, 0, 0, 0}, {128, 2056, 8224, 17476, 0, 0, 0}, {15, 48, 768, 85, 1280, 4352, 0}, {170, 2560, 8704, 17510, 0, 0, 0}, {15, 48, 768, 64, 1031, 4112, 0}, {8224, 64, 1032, 0, 0, 0, 0}, {15, 85, 1280, 4403, 0, 0, 0}, {8704, 106, 1536, 0, 0, 0, 0}, {15, 112, 1799, 4883, 0, 0, 0}, {10400, 17612, 0, 0, 0, 0, 0}, {15, 21, 263, 0, 0, 0, 0}, {42, 520, 17476, 0, 0, 0, 0}, {15, 48, 768, 5200, 0, 0, 0}, {2048, 112, 5120, 0, 0, 0, 0}, {63, 85, 1542, 4369, 0, 0, 0}, {2570, 90, 5160, 0, 0, 0, 0}, {63, 64, 1036, 4876, 0, 0, 0}, {3084, 48, 5188, 0, 0, 0, 0}, {42, 522, 85, 4352, 0, 0, 0}, {26, 48, 528, 64, 1046, 4112, 0}, {255, 7031, 13056, 17527, 0, 0, 0}, {240, 5240, 0, 0, 0, 0, 0}, {522, 1036, 21, 0, 0, 0, 0}, {42, 522, 90, 5130, 0, 0, 0}, {3084, 63, 5960, 0, 0, 0, 0}, {48, 64, 1036, 4096, 0, 0, 0}, {2570, 85, 4386, 0, 0, 0, 0}, {48, 90, 1542, 4626, 0, 0, 0}, {2048, 127, 4864, 0, 0, 0, 0}, {128, 2048, 8192, 17408, 0, 0, 0}, {15, 48, 771, 85, 1285, 4369, 0}, {170, 2570, 8738, 17442, 0, 0, 0}, {15, 48, 771, 64, 1027, 4096, 0}, {192, 3084, 9284, 17476, 0, 0, 0}, {15, 37, 517, 85, 1285, 4352, 0}, {42, 522, 64, 1036, 0, 0, 0}, {15, 5239, 0, 0, 0, 0, 0}, {10376, 17544, 0, 0, 0, 0, 0}, {15, 21, 262, 0, 0, 0, 0}, {42, 522, 17408, 0, 0, 0, 0}, {15, 48, 771, 5188, 0, 0, 0}, {8192, 64, 1036, 0, 0, 0, 0}, {15, 85, 1285, 4386, 0, 0, 0}, {8738, 106, 1542, 0, 0, 0, 0}, {15, 112, 1792, 4864, 0, 0, 0}, {3072, 48, 5200, 0, 0, 0, 0}, {42, 520, 85, 4369, 0, 0, 0}, {26, 48, 530, 64, 1042, 4096, 0}, {255, 7020, 13107, 17459, 0, 0, 0}, {2056, 112, 5140, 0, 0, 0, 0}, {63, 85, 1536, 4352, 0, 0, 0}, {2560, 90, 5180, 0, 0, 0, 0}, {63, 64, 1032, 4895, 0, 0, 0}, {48, 64, 1032, 4112, 0, 0, 0}, {2560, 85, 4403, 0, 0, 0, 0}, {48, 90, 1536, 4608, 0, 0, 0}, {2056, 127, 4883, 0, 0, 0, 0}, {240, 5228, 0, 0, 0, 0, 0}, {520, 1032, 21, 0, 0, 0, 0}, {42, 520, 90, 5150, 0, 0, 0}, {3072, 63, 5983, 0, 0, 0, 0}, {10400, 17408, 0, 0, 0, 0, 0}, {15, 21, 260, 0, 0, 0, 0}, {42, 520, 17416, 0, 0, 0, 0}, {15, 48, 771, 5203, 0, 0, 0}, {8224, 64, 1028, 0, 0, 0, 0}, {15, 85, 1280, 4352, 0, 0, 0}, {8704, 106, 1548, 0, 0, 0, 0}, {15, 112, 1799, 4896, 0, 0, 0}, {128, 2056, 8224, 17416, 0, 0, 0}, {15, 48, 771, 85, 1280, 4355, 0}, {170, 2560, 8704, 17408, 0, 0, 0}, {15, 48, 771, 64, 1028, 4112, 0}, {192, 3084, 9324, 17420, 0, 0, 0}, {15, 37, 519, 85, 1280, 4359, 0}, {42, 520, 64, 1028, 0, 0, 0}, {15, 5200, 0, 0, 0, 0, 0}, {48, 64, 1024, 4096, 0, 0, 0}, {2570, 85, 4369, 0, 0, 0, 0}, {48, 90, 1546, 4626, 0, 0, 0}, {2048, 127, 4915, 0, 0, 0, 0}, {240, 5188, 0, 0, 0, 0, 0}, {522, 1024, 21, 0, 0, 0, 0}, {42, 522, 90, 5148, 0, 0, 0}, {3072, 63, 5960, 0, 0, 0, 0}, {3072, 48, 5192, 0, 0, 0, 0}, {42, 522, 85, 4377, 0, 0, 0}, {26, 48, 528, 64, 1024, 4112, 0}, {255, 6980, 13107, 17476, 0, 0, 0}, {2048, 112, 5180, 0, 0, 0, 0}, {63, 85, 1546, 4381, 0, 0, 0}, {2570, 90, 5140, 0, 0, 0, 0}, {63, 64, 1024, 4864, 0, 0, 0}, {192, 3072, 9216, 17408, 0, 0, 0}, {15, 37, 514, 85, 1285, 4369, 0}, {42, 514, 64, 1032, 0, 0, 0}, {15, 5171, 0, 0, 0, 0, 0}, {128, 2056, 8192, 17476, 0, 0, 0}, {15, 48, 768, 85, 1285, 4352, 0}, {170, 2570, 8704, 17510, 0, 0, 0}, {15, 48, 768, 64, 1031, 4096, 0}, {8192, 64, 1032, 0, 0, 0, 0}, {15, 85, 1285, 4403, 0, 0, 0}, {8704, 106, 1546, 0, 0, 0, 0}, {15, 112, 1799, 4915, 0, 0, 0}, {10240, 17612, 0, 0, 0, 0, 0}, {15, 21, 258, 0, 0, 0, 0}, {42, 514, 17476, 0, 0, 0, 0}, {15, 48, 768, 5120, 0, 0, 0}, {2048, 112, 5152, 0, 0, 0, 0}, {63, 85, 1548, 4369, 0, 0, 0}, {2560, 90, 5154, 0, 0, 0, 0}, {63, 64, 1036, 4883, 0, 0, 0}, {3084, 48, 5140, 0, 0, 0, 0}, {42, 512, 85, 4352, 0, 0, 0}, {26, 48, 512, 64, 1046, 4096, 0}, {255, 6952, 13056, 17527, 0, 0, 0}, {240, 5160, 0, 0, 0, 0, 0}, {512, 1036, 21, 0, 0, 0, 0}, {42, 512, 90, 5120, 0, 0, 0}, {3084, 63, 5911, 0, 0, 0, 0}, {48, 64, 1036, 4112, 0, 0, 0}, {2560, 85, 4386, 0, 0, 0, 0}, {48, 90, 1548, 4626, 0, 0, 0}, {2048, 127, 4896, 0, 0, 0, 0}, {8224, 64, 1024, 0, 0, 0, 0}, {15, 85, 1280, 4369, 0, 0, 0}, {8738, 106, 1536, 0, 0, 0, 0}, {15, 112, 1792, 4883, 0, 0, 0}, {10280, 17476, 0, 0, 0, 0, 0}, {15, 21, 256, 0, 0, 0, 0}, {42, 512, 17484, 0, 0, 0, 0}, {15, 48, 768, 5143, 0, 0, 0}, {192, 3072, 9256, 17480, 0, 0, 0}, {15, 37, 512, 85, 1280, 4374, 0}, {42, 512, 64, 1024, 0, 0, 0}, {15, 5140, 0, 0, 0, 0, 0}, {128, 2048, 8224, 17484, 0, 0, 0}, {15, 48, 768, 85, 1280, 4370, 0}, {170, 2560, 8738, 17476, 0, 0, 0}, {15, 48, 768, 64, 1024, 4112, 0}, {240, 5120, 0, 0, 0, 0, 0}, {514, 1028, 21, 0, 0, 0, 0}, {42, 514, 90, 5122, 0, 0, 0}, {3084, 63, 5888, 0, 0, 0, 0}, {48, 64, 1028, 4096, 0, 0, 0}, {2570, 85, 4352, 0, 0, 0, 0}, {48, 90, 1542, 4608, 0, 0, 0}, {2056, 127, 4864, 0, 0, 0, 0}, {2056, 112, 5128, 0, 0, 0, 0}, {63, 85, 1542, 4364, 0, 0, 0}, {2570, 90, 5130, 0, 0, 0, 0}, {63, 64, 1028, 4876, 0, 0, 0}, {3084, 48, 5132, 0, 0, 0, 0}, {42, 514, 85, 4360, 0, 0, 0}, {26, 48, 514, 64, 1028, 4112, 0}, {255, 6912, 13056, 17408, 0, 0, 0}, {3840, 5376, 0, 0, 0, 0, 0}, {40, 68, 257, 0, 0, 0, 0}, {40, 514, 1290, 4104, 0, 0, 0}, {204, 771, 5439, 0, 0, 0, 0}, {780, 68, 1028, 4352, 0, 0, 0}, {160, 1285, 4176, 0, 0, 0, 0}, {780, 108, 1290, 4108, 0, 0, 0}, {136, 1799, 4728, 0, 0, 0, 0}, {136, 1800, 4608, 0, 0, 0, 0}, {771, 108, 1285, 4144, 0, 0, 0}, {160, 1290, 4096, 0, 0, 0, 0}, {771, 68, 1028, 4403, 0, 0, 0}, {204, 780, 5388, 0, 0, 0, 0}, {40, 514, 1285, 4184, 0, 0, 0}, {270, 294, 514, 68, 1028, 4100, 0}, {5631, 3855, 9487, 16384, 0, 0, 0}, {160, 1360, 4112, 0, 0, 0, 0}, {819, 68, 1024, 4369, 0, 0, 0}, {136, 1912, 4626, 0, 0, 0, 0}, {819, 108, 1331, 4128, 0, 0, 0}, {40, 68, 276, 0, 0, 0, 0}, {4095, 5397, 0, 0, 0, 0, 0}, {204, 828, 5418, 0, 0, 0, 0}, {40, 512, 1375, 4168, 0, 0, 0}, {40, 512, 1360, 4120, 0, 0, 0}, {204, 819, 5401, 0, 0, 0, 0}, {5610, 6682, 12336, 16448, 0, 0, 0}, {283, 307, 512, 68, 1024, 4096, 0}, {828, 108, 1340, 4124, 0, 0, 0}, {136, 1911, 4714, 0, 0, 0, 0}, {828, 68, 1024, 4386, 0, 0, 0}, {160, 1375, 4160, 0, 0, 0, 0}, {160, 1280, 4128, 0, 0, 0, 0}, {771, 68, 1036, 4369, 0, 0, 0}, {136, 1792, 4642, 0, 0, 0, 0}, {771, 108, 1295, 4112, 0, 0, 0}, {268, 292, 512, 68, 1280, 4352, 0}, {5589, 3855, 9509, 21845, 0, 0, 0}, {204, 780, 5414, 0, 0, 0, 0}, {40, 512, 1295, 4176, 0, 0, 0}, {40, 512, 1280, 4096, 0, 0, 0}, {204, 771, 5397, 0, 0, 0, 0}, {3840, 5418, 0, 0, 0, 0, 0}, {40, 68, 259, 0, 0, 0, 0}, {780, 108, 1280, 4140, 0, 0, 0}, {136, 1807, 4698, 0, 0, 0, 0}, {780, 68, 1036, 4386, 0, 0, 0}, {160, 1295, 4208, 0, 0, 0, 0}, {5568, 6704, 12336, 21760, 0, 0, 0}, {281, 305, 514, 68, 1297, 4369, 0}, {40, 514, 1370, 4112, 0, 0, 0}, {204, 819, 5427, 0, 0, 0, 0}, {828, 68, 1032, 4352, 0, 0, 0}, {160, 1365, 4192, 0, 0, 0, 0}, {828, 108, 1334, 4156, 0, 0, 0}, {136, 1919, 4680, 0, 0, 0, 0}, {136, 1904, 4656, 0, 0, 0, 0}, {819, 108, 1337, 4096, 0, 0, 0}, {160, 1370, 4144, 0, 0, 0, 0}, {819, 68, 1032, 4403, 0, 0, 0}, {204, 828, 5376, 0, 0, 0, 0}, {40, 514, 1365, 4160, 0, 0, 0}, {40, 68, 278, 0, 0, 0, 0}, {4095, 5439, 0, 0, 0, 0, 0}, {3840, 5440, 0, 0, 0, 0, 0}, {40, 68, 261, 0, 0, 0, 0}, {40, 522, 1290, 4168, 0, 0, 0}, {204, 783, 5503, 0, 0, 0, 0}, {768, 68, 1024, 4352, 0, 0, 0}, {160, 1285, 4112, 0, 0, 0, 0}, {768, 108, 1290, 4128, 0, 0, 0}, {136, 1807, 4656, 0, 0, 0, 0}, {136, 1792, 4680, 0, 0, 0, 0}, {783, 108, 1285, 4124, 0, 0, 0}, {160, 1290, 4160, 0, 0, 0, 0}, {783, 68, 1024, 4403, 0, 0, 0}, {204, 768, 5452, 0, 0, 0, 0}, {40, 522, 1285, 4120, 0, 0, 0}, {266, 290, 768, 68, 1024, 4096, 0}, {5567, 3855, 12336, 16448, 0, 0, 0}, {160, 1360, 4176, 0, 0, 0, 0}, {831, 68, 1028, 4369, 0, 0, 0}, {136, 1904, 4698, 0, 0, 0, 0}, {831, 108, 1331, 4108, 0, 0, 0}, {40, 68, 272, 0, 0, 0, 0}, {4095, 5461, 0, 0, 0, 0, 0}, {204, 816, 5482, 0, 0, 0, 0}, {40, 520, 1375, 4104, 0, 0, 0}, {40, 520, 1360, 4184, 0, 0, 0}, {204, 831, 5465, 0, 0, 0, 0}, {5546, 6746, 9562, 16384, 0, 0, 0}, {287, 311, 791, 68, 1028, 4100, 0}, {816, 108, 1340, 4144, 0, 0, 0}, {136, 1919, 4642, 0, 0, 0, 0}, {816, 68, 1028, 4386, 0, 0, 0}, {160, 1375, 4096, 0, 0, 0, 0}, {160, 1280, 4192, 0, 0, 0, 0}, {783, 68, 1032, 4369, 0, 0, 0}, {136, 1800, 4714, 0, 0, 0, 0}, {783, 108, 1295, 4156, 0, 0, 0}, {264, 288, 768, 68, 1280, 4352, 0}, {5525, 3855, 12336, 21845, 0, 0, 0}, {204, 768, 5478, 0, 0, 0, 0}, {40, 520, 1295, 4112, 0, 0, 0}, {40, 520, 1280, 4160, 0, 0, 0}, {204, 783, 5461, 0, 0, 0, 0}, {3840, 5482, 0, 0, 0, 0, 0}, {40, 68, 263, 0, 0, 0, 0}, {768, 108, 1280, 4096, 0, 0, 0}, {136, 1799, 4626, 0, 0, 0, 0}, {768, 68, 1032, 4386, 0, 0, 0}, {160, 1295, 4144, 0, 0, 0, 0}, {5504, 6768, 9584, 21760, 0, 0, 0}, {285, 309, 791, 68, 1297, 4369, 0}, {40, 522, 1370, 4176, 0, 0, 0}, {204, 831, 5491, 0, 0, 0, 0}, {816, 68, 1036, 4352, 0, 0, 0}, {160, 1365, 4128, 0, 0, 0, 0}, {816, 108, 1334, 4112, 0, 0, 0}, {136, 1911, 4608, 0, 0, 0, 0}, {136, 1912, 4728, 0, 0, 0, 0}, {831, 108, 1337, 4140, 0, 0, 0}, {160, 1370, 4208, 0, 0, 0, 0}, {831, 68, 1036, 4403, 0, 0, 0}, {204, 816, 5440, 0, 0, 0, 0}, {40, 522, 1365, 4096, 0, 0, 0}, {40, 68, 274, 0, 0, 0, 0}, {4095, 5503, 0, 0, 0, 0, 0}, {5504, 3840, 12288, 21760, 0, 0, 0}, {265, 289, 771, 68, 1285, 4369, 0}, {40, 522, 1290, 4096, 0, 0, 0}, {204, 771, 5491, 0, 0, 0, 0}, {780, 68, 1036, 4352, 0, 0, 0}, {160, 1285, 4208, 0, 0, 0, 0}, {780, 108, 1290, 4140, 0, 0, 0}, {136, 1807, 4728, 0, 0, 0, 0}, {136, 1792, 4608, 0, 0, 0, 0}, {771, 108, 1285, 4112, 0, 0, 0}, {160, 1290, 4128, 0, 0, 0, 0}, {771, 68, 1036, 4403, 0, 0, 0}, {204, 780, 5440, 0, 0, 0, 0}, {40, 522, 1285, 4176, 0, 0, 0}, {40, 68, 262, 0, 0, 0, 0}, {3855, 5503, 0, 0, 0, 0, 0}, {160, 1360, 4144, 0, 0, 0, 0}, {819, 68, 1032, 4369, 0, 0, 0}, {136, 1904, 4626, 0, 0, 0, 0}, {819, 108, 1331, 4096, 0, 0, 0}, {284, 308, 788, 68, 1300, 4352, 0}, {5525, 6762, 9557, 21845, 0, 0, 0}, {204, 828, 5478, 0, 0, 0, 0}, {40, 520, 1375, 4160, 0, 0, 0}, {40, 520, 1360, 4112, 0, 0, 0}, {204, 819, 5461, 0, 0, 0, 0}, {4080, 5482, 0, 0, 0, 0, 0}, {40, 68, 275, 0, 0, 0, 0}, {828, 108, 1340, 4156, 0, 0, 0}, {136, 1919, 4714, 0, 0, 0, 0}, {828, 68, 1032, 4386, 0, 0, 0}, {160, 1375, 4192, 0, 0, 0, 0}, {160, 1280, 4096, 0, 0, 0, 0}, {771, 68, 1028, 4369, 0, 0, 0}, {136, 1800, 4642, 0, 0, 0, 0}, {771, 108, 1295, 4144, 0, 0, 0}, {40, 68, 260, 0, 0, 0, 0}, {3855, 5461, 0, 0, 0, 0, 0}, {204, 780, 5482, 0, 0, 0, 0}, {40, 520, 1295, 4184, 0, 0, 0}, {40, 520, 1280, 4104, 0, 0, 0}, {204, 771, 5465, 0, 0, 0, 0}, {5546, 3840, 12288, 16384, 0, 0, 0}, {267, 291, 771, 68, 1028, 4112, 0}, {780, 108, 1280, 4108, 0, 0, 0}, {136, 1799, 4698, 0, 0, 0, 0}, {780, 68, 1028, 4386, 0, 0, 0}, {160, 1295, 4176, 0, 0, 0, 0}, {4080, 5440, 0, 0, 0, 0, 0}, {40, 68, 273, 0, 0, 0, 0}, {40, 522, 1370, 4120, 0, 0, 0}, {204, 819, 5503, 0, 0, 0, 0}, {828, 68, 1024, 4352, 0, 0, 0}, {160, 1365, 4160, 0, 0, 0, 0}, {828, 108, 1334, 4124, 0, 0, 0}, {136, 1911, 4680, 0, 0, 0, 0}, {136, 1912, 4656, 0, 0, 0, 0}, {819, 108, 1337, 4128, 0, 0, 0}, {160, 1370, 4112, 0, 0, 0, 0}, {819, 68, 1024, 4403, 0, 0, 0}, {204, 828, 5452, 0, 0, 0, 0}, {40, 522, 1365, 4168, 0, 0, 0}, {286, 310, 788, 68, 1024, 4116, 0}, {5567, 6720, 9599, 16448, 0, 0, 0}, {5568, 3840, 9472, 21760, 0, 0, 0}, {269, 293, 514, 68, 1285, 4369, 0}, {40, 514, 1290, 4160, 0, 0, 0}, {204, 783, 5427, 0, 0, 0, 0}, {768, 68, 1032, 4352, 0, 0, 0}, {160, 1285, 4144, 0, 0, 0, 0}, {768, 108, 1290, 4096, 0, 0, 0}, {136, 1799, 4656, 0, 0, 0, 0}, {136, 1800, 4680, 0, 0, 0, 0}, {783, 108, 1285, 4156, 0, 0, 0}, {160, 1290, 4192, 0, 0, 0, 0}, {783, 68, 1032, 4403, 0, 0, 0}, {204, 768, 5376, 0, 0, 0, 0}, {40, 514, 1285, 4112, 0, 0, 0}, {40, 68, 258, 0, 0, 0, 0}, {3855, 5439, 0, 0, 0, 0, 0}, {160, 1360, 4208, 0, 0, 0, 0}, {831, 68, 1036, 4369, 0, 0, 0}, {136, 1912, 4698, 0, 0, 0, 0}, {831, 108, 1331, 4140, 0, 0, 0}, {280, 304, 512, 68, 1300, 4352, 0}, {5589, 6698, 12288, 21845, 0, 0, 0}, {204, 816, 5414, 0, 0, 0, 0}, {40, 512, 1375, 4096, 0, 0, 0}, {40, 512, 1360, 4176, 0, 0, 0}, {204, 831, 5397, 0, 0, 0, 0}, {4080, 5418, 0, 0, 0, 0, 0}, {40, 68, 279, 0, 0, 0, 0}, {816, 108, 1340, 4112, 0, 0, 0}, {136, 1911, 4642, 0, 0, 0, 0}, {816, 68, 1036, 4386, 0, 0, 0}, {160, 1375, 4128, 0, 0, 0, 0}, {160, 1280, 4160, 0, 0, 0, 0}, {783, 68, 1024, 4369, 0, 0, 0}, {136, 1792, 4714, 0, 0, 0, 0}, {783, 108, 1295, 4124, 0, 0, 0}, {40, 68, 256, 0, 0, 0, 0}, {3855, 5397, 0, 0, 0, 0, 0}, {204, 768, 5418, 0, 0, 0, 0}, {40, 512, 1295, 4120, 0, 0, 0}, {40, 512, 1280, 4168, 0, 0, 0}, {204, 783, 5401, 0, 0, 0, 0}, {5610, 3840, 9514, 16448, 0, 0, 0}, {271, 295, 512, 68, 1024, 4116, 0}, {768, 108, 1280, 4128, 0, 0, 0}, {136, 1807, 4626, 0, 0, 0, 0}, {768, 68, 1024, 4386, 0, 0, 0}, {160, 1295, 4112, 0, 0, 0, 0}, {4080, 5376, 0, 0, 0, 0, 0}, {40, 68, 277, 0, 0, 0, 0}, {40, 514, 1370, 4184, 0, 0, 0}, {204, 831, 5439, 0, 0, 0, 0}, {816, 68, 1028, 4352, 0, 0, 0}, {160, 1365, 4096, 0, 0, 0, 0}, {816, 108, 1334, 4144, 0, 0, 0}, {136, 1919, 4608, 0, 0, 0, 0}, {136, 1904, 4728, 0, 0, 0, 0}, {831, 108, 1337, 4108, 0, 0, 0}, {160, 1370, 4176, 0, 0, 0, 0}, {831, 68, 1028, 4403, 0, 0, 0}, {204, 816, 5388, 0, 0, 0, 0}, {40, 514, 1365, 4104, 0, 0, 0}, {282, 306, 514, 68, 1028, 4112, 0}, {5631, 6656, 12288, 16384, 0, 0, 0}, {10752, 19456, 0, 0, 0, 0, 0}, {15, 23, 257, 0, 0, 0, 0}, {40, 514, 17408, 0, 0, 0, 0}, {15, 48, 771, 5376, 0, 0, 0}, {8704, 72, 1028, 0, 0, 0, 0}, {15, 80, 1285, 4864, 0, 0, 0}, {8192, 96, 1542, 0, 0, 0, 0}, {15, 119, 1799, 4352, 0, 0, 0}, {136, 2056, 8704, 17408, 0, 0, 0}, {15, 48, 771, 80, 1285, 4096, 0}, {160, 2570, 8192, 17930, 0, 0, 0}, {15, 48, 771, 71, 1028, 4355, 0}, {192, 3084, 9740, 16384, 0, 0, 0}, {15, 39, 514, 80, 1285, 4357, 0}, {40, 514, 72, 1028, 0, 0, 0}, {15, 5632, 0, 0, 0, 0, 0}, {48, 80, 1536, 4112, 0, 0, 0}, {2048, 119, 4369, 0, 0, 0, 0}, {48, 72, 1024, 4626, 0, 0, 0}, {2560, 95, 4883, 0, 0, 0, 0}, {40, 512, 80, 5140, 0, 0, 0}, {3072, 63, 5397, 0, 0, 0, 0}, {240, 5654, 0, 0, 0, 0, 0}, {512, 1024, 23, 0, 0, 0, 0}, {24, 48, 512, 80, 1024, 4096, 0}, {255, 6425, 13107, 21845, 0, 0, 0}, {3072, 48, 5658, 0, 0, 0, 0}, {40, 512, 95, 4379, 0, 0, 0}, {2560, 80, 5660, 0, 0, 0, 0}, {63, 72, 1024, 4381, 0, 0, 0}, {2048, 120, 5662, 0, 0, 0, 0}, {63, 95, 1536, 4895, 0, 0, 0}, {160, 2560, 8224, 17952, 0, 0, 0}, {15, 48, 771, 71, 1027, 4369, 0}, {136, 2048, 8738, 17408, 0, 0, 0}, {15, 48, 771, 80, 1280, 4112, 0}, {40, 512, 72, 1036, 0, 0, 0}, {15, 5669, 0, 0, 0, 0, 0}, {192, 3084, 9766, 16448, 0, 0, 0}, {15, 39, 512, 80, 1280, 4352, 0}, {40, 512, 17408, 0, 0, 0, 0}, {15, 48, 771, 5397, 0, 0, 0}, {10794, 19584, 0, 0, 0, 0, 0}, {15, 23, 259, 0, 0, 0, 0}, {8224, 96, 1548, 0, 0, 0, 0}, {15, 119, 1792, 4386, 0, 0, 0}, {8738, 72, 1036, 0, 0, 0, 0}, {15, 80, 1280, 4896, 0, 0, 0}, {3072, 48, 5632, 0, 0, 0, 0}, {40, 514, 95, 4369, 0, 0, 0}, {24, 48, 514, 80, 1040, 4112, 0}, {255, 6451, 13107, 21760, 0, 0, 0}, {2056, 120, 5684, 0, 0, 0, 0}, {63, 95, 1546, 4864, 0, 0, 0}, {2570, 80, 5686, 0, 0, 0, 0}, {63, 72, 1032, 4352, 0, 0, 0}, {48, 72, 1032, 4608, 0, 0, 0}, {2570, 95, 4915, 0, 0, 0, 0}, {48, 80, 1546, 4096, 0, 0, 0}, {2056, 119, 4403, 0, 0, 0, 0}, {240, 5692, 0, 0, 0, 0, 0}, {514, 1032, 23, 0, 0, 0, 0}, {40, 514, 80, 5140, 0, 0, 0}, {3072, 63, 5376, 0, 0, 0, 0}, {192, 3072, 9792, 16448, 0, 0, 0}, {15, 39, 517, 80, 1285, 4369, 0}, {40, 522, 72, 1024, 0, 0, 0}, {15, 5699, 0, 0, 0, 0, 0}, {136, 2048, 8704, 17476, 0, 0, 0}, {15, 48, 768, 80, 1285, 4112, 0}, {160, 2570, 8224, 17990, 0, 0, 0}, {15, 48, 768, 71, 1024, 4352, 0}, {8704, 72, 1024, 0, 0, 0, 0}, {15, 80, 1285, 4883, 0, 0, 0}, {8224, 96, 1546, 0, 0, 0, 0}, {15, 119, 1792, 4403, 0, 0, 0}, {10880, 19532, 0, 0, 0, 0, 0}, {15, 23, 261, 0, 0, 0, 0}, {40, 522, 17476, 0, 0, 0, 0}, {15, 48, 768, 5440, 0, 0, 0}, {2560, 80, 5632, 0, 0, 0, 0}, {63, 72, 1028, 4369, 0, 0, 0}, {2056, 120, 5674, 0, 0, 0, 0}, {63, 95, 1548, 4876, 0, 0, 0}, {24, 48, 528, 80, 1028, 4112, 0}, {255, 6485, 13056, 21845, 0, 0, 0}, {3084, 48, 5718, 0, 0, 0, 0}, {40, 520, 95, 4352, 0, 0, 0}, {40, 520, 80, 5120, 0, 0, 0}, {3084, 63, 5461, 0, 0, 0, 0}, {240, 5722, 0, 0, 0, 0, 0}, {520, 1028, 23, 0, 0, 0, 0}, {48, 80, 1548, 4096, 0, 0, 0}, {2056, 119, 4386, 0, 0, 0, 0}, {48, 72, 1028, 4626, 0, 0, 0}, {2560, 95, 4864, 0, 0, 0, 0}, {8192, 96, 1536, 0, 0, 0, 0}, {15, 119, 1799, 4369, 0, 0, 0}, {8738, 72, 1032, 0, 0, 0, 0}, {15, 80, 1280, 4915, 0, 0, 0}, {40, 520, 17476, 0, 0, 0, 0}, {15, 48, 768, 5461, 0, 0, 0}, {10922, 19660, 0, 0, 0, 0, 0}, {15, 23, 263, 0, 0, 0, 0}, {40, 520, 72, 1032, 0, 0, 0}, {15, 5734, 0, 0, 0, 0, 0}, {192, 3072, 9834, 16384, 0, 0, 0}, {15, 39, 519, 80, 1280, 4372, 0}, {160, 2560, 8192, 18028, 0, 0, 0}, {15, 48, 768, 71, 1031, 4370, 0}, {136, 2056, 8738, 17476, 0, 0, 0}, {15, 48, 768, 80, 1280, 4096, 0}, {240, 5744, 0, 0, 0, 0, 0}, {522, 1036, 23, 0, 0, 0, 0}, {40, 522, 80, 5120, 0, 0, 0}, {3084, 63, 5440, 0, 0, 0, 0}, {48, 72, 1036, 4608, 0, 0, 0}, {2570, 95, 4896, 0, 0, 0, 0}, {48, 80, 1542, 4112, 0, 0, 0}, {2048, 119, 4352, 0, 0, 0, 0}, {2048, 120, 5632, 0, 0, 0, 0}, {63, 95, 1542, 4883, 0, 0, 0}, {2570, 80, 5674, 0, 0, 0, 0}, {63, 72, 1036, 4364, 0, 0, 0}, {3084, 48, 5708, 0, 0, 0, 0}, {40, 522, 95, 4362, 0, 0, 0}, {24, 48, 530, 80, 1044, 4096, 0}, {255, 6527, 13056, 21760, 0, 0, 0}, {10880, 19584, 0, 0, 0, 0, 0}, {15, 23, 262, 0, 0, 0, 0}, {40, 522, 17408, 0, 0, 0, 0}, {15, 48, 771, 5440, 0, 0, 0}, {8704, 72, 1036, 0, 0, 0, 0}, {15, 80, 1285, 4896, 0, 0, 0}, {8224, 96, 1542, 0, 0, 0, 0}, {15, 119, 1792, 4352, 0, 0, 0}, {136, 2048, 8704, 17408, 0, 0, 0}, {15, 48, 771, 80, 1285, 4112, 0}, {160, 2570, 8224, 17962, 0, 0, 0}, {15, 48, 771, 71, 1027, 4355, 0}, {192, 3084, 9804, 16448, 0, 0, 0}, {15, 39, 517, 80, 1285, 4357, 0}, {40, 522, 72, 1036, 0, 0, 0}, {15, 5744, 0, 0, 0, 0, 0}, {48, 80, 1536, 4096, 0, 0, 0}, {2056, 119, 4369, 0, 0, 0, 0}, {48, 72, 1032, 4626, 0, 0, 0}, {2560, 95, 4915, 0, 0, 0, 0}, {40, 520, 80, 5140, 0, 0, 0}, {3072, 63, 5461, 0, 0, 0, 0}, {240, 5734, 0, 0, 0, 0, 0}, {520, 1032, 23, 0, 0, 0, 0}, {24, 48, 528, 80, 1040, 4112, 0}, {255, 6502, 13107, 21845, 0, 0, 0}, {3072, 48, 5722, 0, 0, 0, 0}, {40, 520, 95, 4379, 0, 0, 0}, {2560, 80, 5692, 0, 0, 0, 0}, {63, 72, 1032, 4381, 0, 0, 0}, {2056, 120, 5654, 0, 0, 0, 0}, {63, 95, 1536, 4864, 0, 0, 0}, {160, 2560, 8192, 17920, 0, 0, 0}, {15, 48, 771, 71, 1028, 4369, 0}, {136, 2056, 8738, 17408, 0, 0, 0}, {15, 48, 771, 80, 1280, 4096, 0}, {40, 520, 72, 1028, 0, 0, 0}, {15, 5717, 0, 0, 0, 0, 0}, {192, 3084, 9830, 16384, 0, 0, 0}, {15, 39, 519, 80, 1280, 4352, 0}, {40, 520, 17408, 0, 0, 0, 0}, {15, 48, 771, 5461, 0, 0, 0}, {10922, 19456, 0, 0, 0, 0, 0}, {15, 23, 260, 0, 0, 0, 0}, {8192, 96, 1548, 0, 0, 0, 0}, {15, 119, 1799, 4386, 0, 0, 0}, {8738, 72, 1028, 0, 0, 0, 0}, {15, 80, 1280, 4864, 0, 0, 0}, {3072, 48, 5696, 0, 0, 0, 0}, {40, 522, 95, 4369, 0, 0, 0}, {24, 48, 530, 80, 1024, 4096, 0}, {255, 6476, 13107, 21760, 0, 0, 0}, {2048, 120, 5692, 0, 0, 0, 0}, {63, 95, 1546, 4895, 0, 0, 0}, {2570, 80, 5654, 0, 0, 0, 0}, {63, 72, 1024, 4352, 0, 0, 0}, {48, 72, 1024, 4608, 0, 0, 0}, {2570, 95, 4883, 0, 0, 0, 0}, {48, 80, 1546, 4112, 0, 0, 0}, {2048, 119, 4403, 0, 0, 0, 0}, {240, 5708, 0, 0, 0, 0, 0}, {522, 1024, 23, 0, 0, 0, 0}, {40, 522, 80, 5140, 0, 0, 0}, {3072, 63, 5440, 0, 0, 0, 0}, {192, 3072, 9728, 16384, 0, 0, 0}, {15, 39, 514, 80, 1285, 4369, 0}, {40, 514, 72, 1032, 0, 0, 0}, {15, 5683, 0, 0, 0, 0, 0}, {136, 2056, 8704, 17476, 0, 0, 0}, {15, 48, 768, 80, 1285, 4096, 0}, {160, 2570, 8192, 18022, 0, 0, 0}, {15, 48, 768, 71, 1031, 4352, 0}, {8704, 72, 1032, 0, 0, 0, 0}, {15, 80, 1285, 4915, 0, 0, 0}, {8192, 96, 1546, 0, 0, 0, 0}, {15, 119, 1799, 4403, 0, 0, 0}, {10752, 19660, 0, 0, 0, 0, 0}, {15, 23, 258, 0, 0, 0, 0}, {40, 514, 17476, 0, 0, 0, 0}, {15, 48, 768, 5376, 0, 0, 0}, {2560, 80, 5664, 0, 0, 0, 0}, {63, 72, 1036, 4369, 0, 0, 0}, {2048, 120, 5666, 0, 0, 0, 0}, {63, 95, 1548, 4883, 0, 0, 0}, {24, 48, 512, 80, 1044, 4096, 0}, {255, 6442, 13056, 21845, 0, 0, 0}, {3084, 48, 5654, 0, 0, 0, 0}, {40, 512, 95, 4352, 0, 0, 0}, {40, 512, 80, 5120, 0, 0, 0}, {3084, 63, 5397, 0, 0, 0, 0}, {240, 5674, 0, 0, 0, 0, 0}, {512, 1036, 23, 0, 0, 0, 0}, {48, 80, 1548, 4112, 0, 0, 0}, {2048, 119, 4386, 0, 0, 0, 0}, {48, 72, 1036, 4626, 0, 0, 0}, {2560, 95, 4896, 0, 0, 0, 0}, {8224, 96, 1536, 0, 0, 0, 0}, {15, 119, 1792, 4369, 0, 0, 0}, {8738, 72, 1024, 0, 0, 0, 0}, {15, 80, 1280, 4883, 0, 0, 0}, {40, 512, 17476, 0, 0, 0, 0}, {15, 48, 768, 5397, 0, 0, 0}, {10794, 19532, 0, 0, 0, 0, 0}, {15, 23, 256, 0, 0, 0, 0}, {40, 512, 72, 1024, 0, 0, 0}, {15, 5654, 0, 0, 0, 0, 0}, {192, 3072, 9770, 16448, 0, 0, 0}, {15, 39, 512, 80, 1280, 4372, 0}, {160, 2560, 8224, 17996, 0, 0, 0}, {15, 48, 768, 71, 1024, 4370, 0}, {136, 2048, 8738, 17476, 0, 0, 0}, {15, 48, 768, 80, 1280, 4112, 0}, {240, 5632, 0, 0, 0, 0, 0}, {514, 1028, 23, 0, 0, 0, 0}, {40, 514, 80, 5120, 0, 0, 0}, {3084, 63, 5376, 0, 0, 0, 0}, {48, 72, 1028, 4608, 0, 0, 0}, {2570, 95, 4864, 0, 0, 0, 0}, {48, 80, 1542, 4096, 0, 0, 0}, {2056, 119, 4352, 0, 0, 0, 0}, {2056, 120, 5640, 0, 0, 0, 0}, {63, 95, 1542, 4876, 0, 0, 0}, {2570, 80, 5642, 0, 0, 0, 0}, {63, 72, 1028, 4364, 0, 0, 0}, {3084, 48, 5644, 0, 0, 0, 0}, {40, 514, 95, 4362, 0, 0, 0}, {24, 48, 514, 80, 1028, 4112, 0}, {255, 6400, 13056, 21760, 0, 0, 0}, {3840, 5888, 0, 0, 0, 0, 0}, {42, 76, 257, 0, 0, 0, 0}, {42, 514, 1290, 4106, 0, 0, 0}, {204, 771, 5180, 0, 0, 0, 0}, {780, 76, 1028, 4108, 0, 0, 0}, {170, 1285, 4698, 0, 0, 0, 0}, {780, 102, 1290, 4352, 0, 0, 0}, {128, 1799, 4208, 0, 0, 0, 0}, {128, 1800, 4096, 0, 0, 0, 0}, {771, 102, 1285, 4403, 0, 0, 0}, {170, 1290, 4608, 0, 0, 0, 0}, {771, 76, 1028, 4144, 0, 0, 0}, {204, 780, 5120, 0, 0, 0, 0}, {42, 514, 1285, 4176, 0, 0, 0}, {270, 292, 514, 322, 1028, 4102, 0}, {6143, 3855, 9999, 18191, 0, 0, 0}, {128, 1904, 4112, 0, 0, 0, 0}, {819, 102, 1331, 4369, 0, 0, 0}, {170, 1370, 4626, 0, 0, 0, 0}, {819, 76, 1024, 4128, 0, 0, 0}, {204, 828, 5140, 0, 0, 0, 0}, {42, 512, 1365, 4160, 0, 0, 0}, {42, 76, 278, 0, 0, 0, 0}, {4095, 5911, 0, 0, 0, 0, 0}, {6120, 6168, 12336, 20560, 0, 0, 0}, {281, 307, 512, 341, 1024, 4096, 0}, {42, 512, 1370, 4122, 0, 0, 0}, {204, 819, 5160, 0, 0, 0, 0}, {828, 76, 1024, 4124, 0, 0, 0}, {170, 1365, 4680, 0, 0, 0, 0}, {828, 102, 1340, 4386, 0, 0, 0}, {128, 1919, 4192, 0, 0, 0, 0}, {128, 1792, 4128, 0, 0, 0, 0}, {771, 102, 1295, 4369, 0, 0, 0}, {170, 1280, 4642, 0, 0, 0, 0}, {771, 76, 1036, 4112, 0, 0, 0}, {204, 780, 5160, 0, 0, 0, 0}, {42, 512, 1295, 4186, 0, 0, 0}, {268, 294, 512, 320, 1280, 4352, 0}, {6103, 3855, 10023, 20560, 0, 0, 0}, {3840, 5928, 0, 0, 0, 0, 0}, {42, 76, 259, 0, 0, 0, 0}, {42, 512, 1280, 4096, 0, 0, 0}, {204, 771, 5140, 0, 0, 0, 0}, {780, 76, 1036, 4140, 0, 0, 0}, {170, 1295, 4728, 0, 0, 0, 0}, {780, 102, 1280, 4386, 0, 0, 0}, {128, 1807, 4176, 0, 0, 0, 0}, {6080, 6192, 12336, 18224, 0, 0, 0}, {283, 305, 514, 343, 1299, 4369, 0}, {42, 514, 1360, 4112, 0, 0, 0}, {204, 819, 5120, 0, 0, 0, 0}, {828, 76, 1032, 4156, 0, 0, 0}, {170, 1375, 4714, 0, 0, 0, 0}, {828, 102, 1334, 4352, 0, 0, 0}, {128, 1911, 4160, 0, 0, 0, 0}, {128, 1912, 4144, 0, 0, 0, 0}, {819, 102, 1337, 4403, 0, 0, 0}, {170, 1360, 4656, 0, 0, 0, 0}, {819, 76, 1032, 4096, 0, 0, 0}, {204, 828, 5180, 0, 0, 0, 0}, {42, 514, 1375, 4170, 0, 0, 0}, {42, 76, 276, 0, 0, 0, 0}, {4095, 5951, 0, 0, 0, 0, 0}, {128, 1792, 4160, 0, 0, 0, 0}, {783, 102, 1285, 4369, 0, 0, 0}, {170, 1290, 4680, 0, 0, 0, 0}, {783, 76, 1024, 4156, 0, 0, 0}, {204, 768, 5188, 0, 0, 0, 0}, {42, 522, 1285, 4112, 0, 0, 0}, {266, 288, 768, 326, 1024, 4352, 0}, {6071, 3855, 12336, 18247, 0, 0, 0}, {3840, 5960, 0, 0, 0, 0, 0}, {42, 76, 261, 0, 0, 0, 0}, {42, 522, 1290, 4170, 0, 0, 0}, {204, 783, 5240, 0, 0, 0, 0}, {768, 76, 1024, 4096, 0, 0, 0}, {170, 1285, 4626, 0, 0, 0, 0}, {768, 102, 1290, 4386, 0, 0, 0}, {128, 1807, 4144, 0, 0, 0, 0}, {6048, 6224, 10064, 20560, 0, 0, 0}, {285, 311, 789, 337, 1028, 4369, 0}, {42, 520, 1370, 4186, 0, 0, 0}, {204, 831, 5228, 0, 0, 0, 0}, {816, 76, 1028, 4112, 0, 0, 0}, {170, 1365, 4608, 0, 0, 0, 0}, {816, 102, 1340, 4352, 0, 0, 0}, {128, 1911, 4128, 0, 0, 0, 0}, {128, 1912, 4176, 0, 0, 0, 0}, {831, 102, 1331, 4403, 0, 0, 0}, {170, 1370, 4698, 0, 0, 0, 0}, {831, 76, 1028, 4140, 0, 0, 0}, {204, 816, 5200, 0, 0, 0, 0}, {42, 520, 1365, 4096, 0, 0, 0}, {42, 76, 274, 0, 0, 0, 0}, {4095, 5983, 0, 0, 0, 0, 0}, {3840, 5984, 0, 0, 0, 0, 0}, {42, 76, 263, 0, 0, 0, 0}, {42, 520, 1280, 4160, 0, 0, 0}, {204, 783, 5200, 0, 0, 0, 0}, {768, 76, 1032, 4128, 0, 0, 0}, {170, 1295, 4656, 0, 0, 0, 0}, {768, 102, 1280, 4352, 0, 0, 0}, {128, 1799, 4112, 0, 0, 0, 0}, {128, 1800, 4192, 0, 0, 0, 0}, {783, 102, 1295, 4403, 0, 0, 0}, {170, 1280, 4714, 0, 0, 0, 0}, {783, 76, 1032, 4124, 0, 0, 0}, {204, 768, 5228, 0, 0, 0, 0}, {42, 520, 1295, 4122, 0, 0, 0}, {264, 290, 768, 324, 1280, 4096, 0}, {6047, 3855, 12336, 20560, 0, 0, 0}, {128, 1904, 4208, 0, 0, 0, 0}, {831, 102, 1337, 4369, 0, 0, 0}, {170, 1360, 4728, 0, 0, 0, 0}, {831, 76, 1036, 4108, 0, 0, 0}, {204, 816, 5240, 0, 0, 0, 0}, {42, 522, 1375, 4106, 0, 0, 0}, {42, 76, 272, 0, 0, 0, 0}, {4095, 6007, 0, 0, 0, 0, 0}, {6024, 6264, 10104, 18296, 0, 0, 0}, {287, 309, 789, 339, 1299, 4102, 0}, {42, 522, 1360, 4176, 0, 0, 0}, {204, 831, 5188, 0, 0, 0, 0}, {816, 76, 1036, 4144, 0, 0, 0}, {170, 1375, 4642, 0, 0, 0, 0}, {816, 102, 1334, 4386, 0, 0, 0}, {128, 1919, 4096, 0, 0, 0, 0}, {128, 1792, 4096, 0, 0, 0, 0}, {771, 102, 1285, 4369, 0, 0, 0}, {170, 1290, 4642, 0, 0, 0, 0}, {771, 76, 1036, 4144, 0, 0, 0}, {204, 780, 5188, 0, 0, 0, 0}, {42, 522, 1285, 4176, 0, 0, 0}, {42, 76, 262, 0, 0, 0, 0}, {3855, 6007, 0, 0, 0, 0, 0}, {6024, 3840, 12288, 20480, 0, 0, 0}, {265, 291, 771, 325, 1285, 4112, 0}, {42, 522, 1290, 4106, 0, 0, 0}, {204, 771, 5240, 0, 0, 0, 0}, {780, 76, 1036, 4108, 0, 0, 0}, {170, 1285, 4728, 0, 0, 0, 0}, {780, 102, 1290, 4386, 0, 0, 0}, {128, 1807, 4208, 0, 0, 0, 0}, {4080, 5984, 0, 0, 0, 0, 0}, {42, 76, 273, 0, 0, 0, 0}, {42, 520, 1370, 4122, 0, 0, 0}, {204, 819, 5228, 0, 0, 0, 0}, {828, 76, 1032, 4124, 0, 0, 0}, {170, 1365, 4714, 0, 0, 0, 0}, {828, 102, 1340, 4352, 0, 0, 0}, {128, 1911, 4192, 0, 0, 0, 0}, {128, 1912, 4112, 0, 0, 0, 0}, {819, 102, 1331, 4403, 0, 0, 0}, {170, 1370, 4656, 0, 0, 0, 0}, {819, 76, 1032, 4128, 0, 0, 0}, {204, 828, 5200, 0, 0, 0, 0}, {42, 520, 1365, 4160, 0, 0, 0}, {286, 308, 790, 338, 1302, 4118, 0}, {6047, 6240, 10079, 18239, 0, 0, 0}, {6048, 3840, 12288, 18176, 0, 0, 0}, {267, 289, 771, 327, 1028, 4369, 0}, {42, 520, 1280, 4096, 0, 0, 0}, {204, 771, 5200, 0, 0, 0, 0}, {780, 76, 1028, 4140, 0, 0, 0}, {170, 1295, 4698, 0, 0, 0, 0}, {780, 102, 1280, 4352, 0, 0, 0}, {128, 1799, 4176, 0, 0, 0, 0}, {128, 1800, 4128, 0, 0, 0, 0}, {771, 102, 1295, 4403, 0, 0, 0}, {170, 1280, 4608, 0, 0, 0, 0}, {771, 76, 1028, 4112, 0, 0, 0}, {204, 780, 5228, 0, 0, 0, 0}, {42, 520, 1295, 4186, 0, 0, 0}, {42, 76, 260, 0, 0, 0, 0}, {3855, 5983, 0, 0, 0, 0, 0}, {128, 1904, 4144, 0, 0, 0, 0}, {819, 102, 1337, 4369, 0, 0, 0}, {170, 1360, 4626, 0, 0, 0, 0}, {819, 76, 1024, 4096, 0, 0, 0}, {204, 828, 5240, 0, 0, 0, 0}, {42, 522, 1375, 4170, 0, 0, 0}, {284, 310, 790, 336, 1024, 4352, 0}, {6071, 6216, 10103, 20480, 0, 0, 0}, {4080, 5960, 0, 0, 0, 0, 0}, {42, 76, 275, 0, 0, 0, 0}, {42, 522, 1360, 4112, 0, 0, 0}, {204, 819, 5188, 0, 0, 0, 0}, {828, 76, 1024, 4156, 0, 0, 0}, {170, 1375, 4680, 0, 0, 0, 0}, {828, 102, 1334, 4386, 0, 0, 0}, {128, 1919, 4160, 0, 0, 0, 0}, {6080, 3840, 9984, 20480, 0, 0, 0}, {269, 295, 514, 321, 1285, 4369, 0}, {42, 514, 1290, 4170, 0, 0, 0}, {204, 783, 5180, 0, 0, 0, 0}, {768, 76, 1032, 4096, 0, 0, 0}, {170, 1285, 4656, 0, 0, 0, 0}, {768, 102, 1290, 4352, 0, 0, 0}, {128, 1799, 4144, 0, 0, 0, 0}, {128, 1800, 4160, 0, 0, 0, 0}, {783, 102, 1285, 4403, 0, 0, 0}, {170, 1290, 4714, 0, 0, 0, 0}, {783, 76, 1032, 4156, 0, 0, 0}, {204, 768, 5120, 0, 0, 0, 0}, {42, 514, 1285, 4112, 0, 0, 0}, {42, 76, 258, 0, 0, 0, 0}, {3855, 5951, 0, 0, 0, 0, 0}, {128, 1904, 4176, 0, 0, 0, 0}, {831, 102, 1331, 4369, 0, 0, 0}, {170, 1370, 4728, 0, 0, 0, 0}, {831, 76, 1036, 4140, 0, 0, 0}, {204, 816, 5140, 0, 0, 0, 0}, {42, 512, 1365, 4096, 0, 0, 0}, {282, 304, 512, 342, 1302, 4352, 0}, {6103, 6184, 12288, 18295, 0, 0, 0}, {4080, 5928, 0, 0, 0, 0, 0}, {42, 76, 277, 0, 0, 0, 0}, {42, 512, 1370, 4186, 0, 0, 0}, {204, 831, 5160, 0, 0, 0, 0}, {816, 76, 1036, 4112, 0, 0, 0}, {170, 1365, 4642, 0, 0, 0, 0}, {816, 102, 1340, 4386, 0, 0, 0}, {128, 1919, 4128, 0, 0, 0, 0}, {128, 1792, 4192, 0, 0, 0, 0}, {783, 102, 1295, 4369, 0, 0, 0}, {170, 1280, 4680, 0, 0, 0, 0}, {783, 76, 1024, 4124, 0, 0, 0}, {204, 768, 5160, 0, 0, 0, 0}, {42, 512, 1295, 4122, 0, 0, 0}, {42, 76, 256, 0, 0, 0, 0}, {3855, 5911, 0, 0, 0, 0, 0}, {6120, 3840, 10024, 18248, 0, 0, 0}, {271, 293, 512, 323, 1024, 4118, 0}, {42, 512, 1280, 4160, 0, 0, 0}, {204, 783, 5140, 0, 0, 0, 0}, {768, 76, 1024, 4128, 0, 0, 0}, {170, 1295, 4626, 0, 0, 0, 0}, {768, 102, 1280, 4386, 0, 0, 0}, {128, 1807, 4112, 0, 0, 0, 0}, {4080, 5888, 0, 0, 0, 0, 0}, {42, 76, 279, 0, 0, 0, 0}, {42, 514, 1360, 4176, 0, 0, 0}, {204, 831, 5120, 0, 0, 0, 0}, {816, 76, 1028, 4144, 0, 0, 0}, {170, 1375, 4608, 0, 0, 0, 0}, {816, 102, 1334, 4352, 0, 0, 0}, {128, 1911, 4096, 0, 0, 0, 0}, {128, 1912, 4208, 0, 0, 0, 0}, {831, 102, 1337, 4403, 0, 0, 0}, {170, 1360, 4698, 0, 0, 0, 0}, {831, 76, 1028, 4108, 0, 0, 0}, {204, 816, 5180, 0, 0, 0, 0}, {42, 514, 1375, 4106, 0, 0, 0}, {280, 306, 514, 340, 1028, 4112, 0}, {6143, 6144, 12288, 20480, 0, 0, 0}, {10240, 18432, 0, 0, 0, 0, 0}, {15, 22, 257, 0, 0, 0, 0}, {42, 514, 16384, 0, 0, 0, 0}, {15, 51, 771, 5120, 0, 0, 0}, {8192, 76, 1028, 0, 0, 0, 0}, {15, 85, 1285, 4608, 0, 0, 0}, {8704, 102, 1542, 0, 0, 0, 0}, {15, 112, 1799, 4096, 0, 0, 0}, {128, 2056, 8192, 16384, 0, 0, 0}, {15, 51, 771, 85, 1285, 4352, 0}, {170, 2570, 8704, 16906, 0, 0, 0}, {15, 51, 771, 67, 1028, 4099, 0}, {204, 3084, 9228, 17408, 0, 0, 0}, {15, 37, 514, 85, 1285, 4101, 0}, {42, 514, 76, 1028, 0, 0, 0}, {15, 5888, 0, 0, 0, 0, 0}, {2048, 112, 4112, 0, 0, 0, 0}, {51, 85, 1536, 4369, 0, 0, 0}, {2560, 90, 4626, 0, 0, 0, 0}, {51, 76, 1024, 4883, 0, 0, 0}, {3072, 60, 5140, 0, 0, 0, 0}, {42, 512, 85, 5397, 0, 0, 0}, {512, 1024, 22, 0, 0, 0, 0}, {255, 5911, 0, 0, 0, 0, 0}, {240, 6168, 12336, 20560, 0, 0, 0}, {25, 51, 512, 85, 1024, 4352, 0}, {42, 512, 90, 4122, 0, 0, 0}, {3072, 51, 5915, 0, 0, 0, 0}, {60, 76, 1024, 4124, 0, 0, 0}, {2560, 85, 5917, 0, 0, 0, 0}, {60, 90, 1536, 4638, 0, 0, 0}, {2048, 127, 5919, 0, 0, 0, 0}, {128, 2048, 8224, 16384, 0, 0, 0}, {15, 51, 771, 85, 1280, 4369, 0}, {170, 2560, 8738, 16930, 0, 0, 0}, {15, 51, 771, 67, 1027, 4112, 0}, {204, 3084, 9252, 17476, 0, 0, 0}, {15, 37, 512, 85, 1280, 4096, 0}, {42, 512, 76, 1036, 0, 0, 0}, {15, 5927, 0, 0, 0, 0, 0}, {10280, 18568, 0, 0, 0, 0, 0}, {15, 22, 259, 0, 0, 0, 0}, {42, 512, 16384, 0, 0, 0, 0}, {15, 51, 771, 5140, 0, 0, 0}, {8224, 76, 1036, 0, 0, 0, 0}, {15, 85, 1280, 4642, 0, 0, 0}, {8738, 102, 1548, 0, 0, 0, 0}, {15, 112, 1792, 4128, 0, 0, 0}, {240, 6192, 12336, 20480, 0, 0, 0}, {25, 51, 514, 85, 1041, 4369, 0}, {42, 514, 90, 4112, 0, 0, 0}, {3072, 51, 5888, 0, 0, 0, 0}, {60, 76, 1032, 4096, 0, 0, 0}, {2570, 85, 5941, 0, 0, 0, 0}, {60, 90, 1546, 4608, 0, 0, 0}, {2056, 127, 5943, 0, 0, 0, 0}, {2056, 112, 4144, 0, 0, 0, 0}, {51, 85, 1546, 4352, 0, 0, 0}, {2570, 90, 4656, 0, 0, 0, 0}, {51, 76, 1032, 4864, 0, 0, 0}, {3072, 60, 5120, 0, 0, 0, 0}, {42, 514, 85, 5397, 0, 0, 0}, {514, 1032, 22, 0, 0, 0, 0}, {255, 5951, 0, 0, 0, 0, 0}, {128, 2048, 8192, 16448, 0, 0, 0}, {15, 51, 768, 85, 1285, 4369, 0}, {170, 2570, 8738, 16962, 0, 0, 0}, {15, 51, 768, 67, 1024, 4096, 0}, {204, 3072, 9284, 17476, 0, 0, 0}, {15, 37, 517, 85, 1285, 4112, 0}, {42, 522, 76, 1024, 0, 0, 0}, {15, 5959, 0, 0, 0, 0, 0}, {10376, 18504, 0, 0, 0, 0, 0}, {15, 22, 261, 0, 0, 0, 0}, {42, 522, 16448, 0, 0, 0, 0}, {15, 51, 768, 5188, 0, 0, 0}, {8192, 76, 1024, 0, 0, 0, 0}, {15, 85, 1285, 4626, 0, 0, 0}, {8738, 102, 1546, 0, 0, 0, 0}, {15, 112, 1792, 4144, 0, 0, 0}, {240, 6224, 12288, 20560, 0, 0, 0}, {25, 51, 529, 85, 1028, 4369, 0}, {42, 520, 90, 4096, 0, 0, 0}, {3084, 51, 5971, 0, 0, 0, 0}, {60, 76, 1028, 4112, 0, 0, 0}, {2560, 85, 5888, 0, 0, 0, 0}, {60, 90, 1548, 4620, 0, 0, 0}, {2056, 127, 5928, 0, 0, 0, 0}, {2056, 112, 4128, 0, 0, 0, 0}, {51, 85, 1548, 4352, 0, 0, 0}, {2560, 90, 4608, 0, 0, 0, 0}, {51, 76, 1028, 4883, 0, 0, 0}, {3084, 60, 5200, 0, 0, 0, 0}, {42, 520, 85, 5376, 0, 0, 0}, {520, 1028, 22, 0, 0, 0, 0}, {255, 5983, 0, 0, 0, 0, 0}, {10400, 18624, 0, 0, 0, 0, 0}, {15, 22, 263, 0, 0, 0, 0}, {42, 520, 16448, 0, 0, 0, 0}, {15, 51, 768, 5200, 0, 0, 0}, {8224, 76, 1032, 0, 0, 0, 0}, {15, 85, 1280, 4656, 0, 0, 0}, {8704, 102, 1536, 0, 0, 0, 0}, {15, 112, 1799, 4112, 0, 0, 0}, {128, 2056, 8224, 16448, 0, 0, 0}, {15, 51, 768, 85, 1280, 4352, 0}, {170, 2560, 8704, 17002, 0, 0, 0}, {15, 51, 768, 67, 1031, 4115, 0}, {204, 3072, 9324, 17408, 0, 0, 0}, {15, 37, 519, 85, 1280, 4117, 0}, {42, 520, 76, 1032, 0, 0, 0}, {15, 5984, 0, 0, 0, 0, 0}, {2048, 112, 4096, 0, 0, 0, 0}, {51, 85, 1542, 4369, 0, 0, 0}, {2570, 90, 4642, 0, 0, 0, 0}, {51, 76, 1036, 4864, 0, 0, 0}, {3084, 60, 5188, 0, 0, 0, 0}, {42, 522, 85, 5376, 0, 0, 0}, {522, 1036, 22, 0, 0, 0, 0}, {255, 6007, 0, 0, 0, 0, 0}, {240, 6264, 12288, 20480, 0, 0, 0}, {25, 51, 531, 85, 1045, 4352, 0}, {42, 522, 90, 4106, 0, 0, 0}, {3084, 51, 5960, 0, 0, 0, 0}, {60, 76, 1036, 4108, 0, 0, 0}, {2570, 85, 5928, 0, 0, 0, 0}, {60, 90, 1542, 4626, 0, 0, 0}, {2048, 127, 5888, 0, 0, 0, 0}, {128, 2048, 8192, 16384, 0, 0, 0}, {15, 51, 771, 85, 1285, 4369, 0}, {170, 2570, 8738, 16936, 0, 0, 0}, {15, 51, 771, 67, 1027, 4099, 0}, {204, 3084, 9288, 17476, 0, 0, 0}, {15, 37, 517, 85, 1285, 4101, 0}, {42, 522, 76, 1036, 0, 0, 0}, {15, 6007, 0, 0, 0, 0, 0}, {10376, 18568, 0, 0, 0, 0, 0}, {15, 22, 262, 0, 0, 0, 0}, {42, 522, 16384, 0, 0, 0, 0}, {15, 51, 771, 5188, 0, 0, 0}, {8192, 76, 1036, 0, 0, 0, 0}, {15, 85, 1285, 4642, 0, 0, 0}, {8738, 102, 1542, 0, 0, 0, 0}, {15, 112, 1792, 4096, 0, 0, 0}, {240, 6240, 12336, 20560, 0, 0, 0}, {25, 51, 529, 85, 1041, 4369, 0}, {42, 520, 90, 4122, 0, 0, 0}, {3072, 51, 5983, 0, 0, 0, 0}, {60, 76, 1032, 4124, 0, 0, 0}, {2560, 85, 5951, 0, 0, 0, 0}, {60, 90, 1536, 4608, 0, 0, 0}, {2056, 127, 5911, 0, 0, 0, 0}, {2056, 112, 4112, 0, 0, 0, 0}, {51, 85, 1536, 4352, 0, 0, 0}, {2560, 90, 4656, 0, 0, 0, 0}, {51, 76, 1032, 4883, 0, 0, 0}, {3072, 60, 5200, 0, 0, 0, 0}, {42, 520, 85, 5397, 0, 0, 0}, {520, 1032, 22, 0, 0, 0, 0}, {255, 5984, 0, 0, 0, 0, 0}, {10400, 18432, 0, 0, 0, 0, 0}, {15, 22, 260, 0, 0, 0, 0}, {42, 520, 16384, 0, 0, 0, 0}, {15, 51, 771, 5200, 0, 0, 0}, {8224, 76, 1028, 0, 0, 0, 0}, {15, 85, 1280, 4608, 0, 0, 0}, {8704, 102, 1548, 0, 0, 0, 0}, {15, 112, 1799, 4128, 0, 0, 0}, {128, 2056, 8224, 16384, 0, 0, 0}, {15, 51, 771, 85, 1280, 4352, 0}, {170, 2560, 8704, 16896, 0, 0, 0}, {15, 51, 771, 67, 1028, 4112, 0}, {204, 3084, 9312, 17408, 0, 0, 0}, {15, 37, 519, 85, 1280, 4096, 0}, {42, 520, 76, 1028, 0, 0, 0}, {15, 5968, 0, 0, 0, 0, 0}, {2048, 112, 4144, 0, 0, 0, 0}, {51, 85, 1546, 4369, 0, 0, 0}, {2570, 90, 4626, 0, 0, 0, 0}, {51, 76, 1024, 4864, 0, 0, 0}, {3072, 60, 5188, 0, 0, 0, 0}, {42, 522, 85, 5397, 0, 0, 0}, {522, 1024, 22, 0, 0, 0, 0}, {255, 5960, 0, 0, 0, 0, 0}, {240, 6216, 12336, 20480, 0, 0, 0}, {25, 51, 531, 85, 1024, 4352, 0}, {42, 522, 90, 4112, 0, 0, 0}, {3072, 51, 5956, 0, 0, 0, 0}, {60, 76, 1024, 4096, 0, 0, 0}, {2570, 85, 5911, 0, 0, 0, 0}, {60, 90, 1546, 4638, 0, 0, 0}, {2048, 127, 5951, 0, 0, 0, 0}, {10240, 18624, 0, 0, 0, 0, 0}, {15, 22, 258, 0, 0, 0, 0}, {42, 514, 16448, 0, 0, 0, 0}, {15, 51, 768, 5120, 0, 0, 0}, {8192, 76, 1032, 0, 0, 0, 0}, {15, 85, 1285, 4656, 0, 0, 0}, {8704, 102, 1546, 0, 0, 0, 0}, {15, 112, 1799, 4144, 0, 0, 0}, {128, 2056, 8192, 16448, 0, 0, 0}, {15, 51, 768, 85, 1285, 4352, 0}, {170, 2570, 8704, 16992, 0, 0, 0}, {15, 51, 768, 67, 1031, 4096, 0}, {204, 3072, 9216, 17408, 0, 0, 0}, {15, 37, 514, 85, 1285, 4112, 0}, {42, 514, 76, 1032, 0, 0, 0}, {15, 5936, 0, 0, 0, 0, 0}, {2048, 112, 4128, 0, 0, 0, 0}, {51, 85, 1548, 4369, 0, 0, 0}, {2560, 90, 4642, 0, 0, 0, 0}, {51, 76, 1036, 4883, 0, 0, 0}, {3084, 60, 5140, 0, 0, 0, 0}, {42, 512, 85, 5376, 0, 0, 0}, {512, 1036, 22, 0, 0, 0, 0}, {255, 5928, 0, 0, 0, 0, 0}, {240, 6184, 12288, 20560, 0, 0, 0}, {25, 51, 512, 85, 1045, 4352, 0}, {42, 512, 90, 4096, 0, 0, 0}, {3084, 51, 5911, 0, 0, 0, 0}, {60, 76, 1036, 4112, 0, 0, 0}, {2560, 85, 5922, 0, 0, 0, 0}, {60, 90, 1548, 4626, 0, 0, 0}, {2048, 127, 5920, 0, 0, 0, 0}, {128, 2048, 8224, 16448, 0, 0, 0}, {15, 51, 768, 85, 1280, 4369, 0}, {170, 2560, 8738, 16968, 0, 0, 0}, {15, 51, 768, 67, 1024, 4115, 0}, {204, 3072, 9256, 17476, 0, 0, 0}, {15, 37, 512, 85, 1280, 4117, 0}, {42, 512, 76, 1024, 0, 0, 0}, {15, 5911, 0, 0, 0, 0, 0}, {10280, 18504, 0, 0, 0, 0, 0}, {15, 22, 256, 0, 0, 0, 0}, {42, 512, 16448, 0, 0, 0, 0}, {15, 51, 768, 5140, 0, 0, 0}, {8224, 76, 1024, 0, 0, 0, 0}, {15, 85, 1280, 4626, 0, 0, 0}, {8738, 102, 1536, 0, 0, 0, 0}, {15, 112, 1792, 4112, 0, 0, 0}, {240, 6144, 12288, 20480, 0, 0, 0}, {25, 51, 514, 85, 1028, 4369, 0}, {42, 514, 90, 4106, 0, 0, 0}, {3084, 51, 5900, 0, 0, 0, 0}, {60, 76, 1028, 4108, 0, 0, 0}, {2570, 85, 5898, 0, 0, 0, 0}, {60, 90, 1542, 4620, 0, 0, 0}, {2056, 127, 5896, 0, 0, 0, 0}, {2056, 112, 4096, 0, 0, 0, 0}, {51, 85, 1542, 4352, 0, 0, 0}, {2570, 90, 4608, 0, 0, 0, 0}, {51, 76, 1028, 4864, 0, 0, 0}, {3084, 60, 5120, 0, 0, 0, 0}, {42, 514, 85, 5376, 0, 0, 0}, {514, 1028, 22, 0, 0, 0, 0}, {255, 5888, 0, 0, 0, 0, 0}, {3840, 5632, 0, 0, 0, 0, 0}, {40, 72, 257, 0, 0, 0, 0}, {40, 514, 1290, 4362, 0, 0, 0}, {192, 771, 5439, 0, 0, 0, 0}, {780, 72, 1028, 4364, 0, 0, 0}, {160, 1285, 4959, 0, 0, 0, 0}, {780, 96, 1290, 4096, 0, 0, 0}, {136, 1799, 4471, 0, 0, 0, 0}, {136, 1800, 4352, 0, 0, 0, 0}, {771, 96, 1285, 4144, 0, 0, 0}, {160, 1290, 4864, 0, 0, 0, 0}, {771, 72, 1028, 4403, 0, 0, 0}, {192, 780, 5376, 0, 0, 0, 0}, {40, 514, 1285, 4437, 0, 0, 0}, {270, 294, 514, 326, 1028, 4358, 0}, {5872, 3855, 9487, 17167, 0, 0, 0}, {816, 96, 1328, 4112, 0, 0, 0}, {136, 1911, 4369, 0, 0, 0, 0}, {816, 72, 1024, 4386, 0, 0, 0}, {160, 1375, 4883, 0, 0, 0, 0}, {40, 512, 1360, 4420, 0, 0, 0}, {192, 831, 5397, 0, 0, 0, 0}, {4080, 5654, 0, 0, 0, 0, 0}, {40, 72, 279, 0, 0, 0, 0}, {280, 304, 512, 336, 1024, 4352, 0}, {5862, 6425, 13107, 21845, 0, 0, 0}, {192, 816, 5418, 0, 0, 0, 0}, {40, 512, 1375, 4379, 0, 0, 0}, {160, 1360, 4940, 0, 0, 0, 0}, {831, 72, 1024, 4381, 0, 0, 0}, {136, 1912, 4454, 0, 0, 0, 0}, {831, 96, 1343, 4128, 0, 0, 0}, {160, 1280, 4896, 0, 0, 0, 0}, {771, 72, 1036, 4369, 0, 0, 0}, {136, 1792, 4386, 0, 0, 0, 0}, {771, 96, 1295, 4112, 0, 0, 0}, {268, 292, 512, 324, 1280, 4096, 0}, {5850, 3855, 9509, 21845, 0, 0, 0}, {192, 780, 5418, 0, 0, 0, 0}, {40, 512, 1295, 4447, 0, 0, 0}, {40, 512, 1280, 4352, 0, 0, 0}, {192, 771, 5397, 0, 0, 0, 0}, {3840, 5674, 0, 0, 0, 0, 0}, {40, 72, 259, 0, 0, 0, 0}, {780, 96, 1280, 4128, 0, 0, 0}, {136, 1807, 4437, 0, 0, 0, 0}, {780, 72, 1036, 4398, 0, 0, 0}, {160, 1295, 4991, 0, 0, 0, 0}, {192, 816, 5376, 0, 0, 0, 0}, {40, 514, 1365, 4369, 0, 0, 0}, {282, 306, 514, 338, 1298, 4112, 0}, {5836, 6451, 13107, 17203, 0, 0, 0}, {136, 1904, 4420, 0, 0, 0, 0}, {831, 96, 1333, 4096, 0, 0, 0}, {160, 1370, 4972, 0, 0, 0, 0}, {831, 72, 1032, 4415, 0, 0, 0}, {816, 72, 1032, 4352, 0, 0, 0}, {160, 1365, 4915, 0, 0, 0, 0}, {816, 96, 1338, 4144, 0, 0, 0}, {136, 1919, 4403, 0, 0, 0, 0}, {4080, 5692, 0, 0, 0, 0, 0}, {40, 72, 277, 0, 0, 0, 0}, {40, 514, 1370, 4430, 0, 0, 0}, {192, 831, 5439, 0, 0, 0, 0}, {192, 768, 5440, 0, 0, 0, 0}, {40, 522, 1285, 4369, 0, 0, 0}, {266, 290, 768, 322, 1024, 4096, 0}, {5820, 3855, 13107, 17219, 0, 0, 0}, {136, 1792, 4420, 0, 0, 0, 0}, {783, 96, 1285, 4112, 0, 0, 0}, {160, 1290, 4940, 0, 0, 0, 0}, {783, 72, 1024, 4415, 0, 0, 0}, {768, 72, 1024, 4352, 0, 0, 0}, {160, 1285, 4883, 0, 0, 0, 0}, {768, 96, 1290, 4128, 0, 0, 0}, {136, 1807, 4403, 0, 0, 0, 0}, {3840, 5708, 0, 0, 0, 0, 0}, {40, 72, 261, 0, 0, 0, 0}, {40, 522, 1290, 4430, 0, 0, 0}, {192, 783, 5503, 0, 0, 0, 0}, {160, 1360, 4864, 0, 0, 0, 0}, {819, 72, 1028, 4369, 0, 0, 0}, {136, 1904, 4386, 0, 0, 0, 0}, {819, 96, 1343, 4096, 0, 0, 0}, {284, 308, 788, 340, 1028, 4112, 0}, {5802, 6485, 9557, 21845, 0, 0, 0}, {192, 828, 5482, 0, 0, 0, 0}, {40, 520, 1375, 4447, 0, 0, 0}, {40, 520, 1360, 4352, 0, 0, 0}, {192, 819, 5461, 0, 0, 0, 0}, {4080, 5722, 0, 0, 0, 0, 0}, {40, 72, 275, 0, 0, 0, 0}, {828, 96, 1328, 4144, 0, 0, 0}, {136, 1919, 4437, 0, 0, 0, 0}, {828, 72, 1028, 4398, 0, 0, 0}, {160, 1375, 4959, 0, 0, 0, 0}, {768, 96, 1280, 4096, 0, 0, 0}, {136, 1799, 4369, 0, 0, 0, 0}, {768, 72, 1032, 4386, 0, 0, 0}, {160, 1295, 4915, 0, 0, 0, 0}, {40, 520, 1280, 4420, 0, 0, 0}, {192, 783, 5461, 0, 0, 0, 0}, {3840, 5734, 0, 0, 0, 0, 0}, {40, 72, 263, 0, 0, 0, 0}, {264, 288, 768, 320, 1280, 4352, 0}, {5782, 3855, 13107, 21845, 0, 0, 0}, {192, 768, 5482, 0, 0, 0, 0}, {40, 520, 1295, 4379, 0, 0, 0}, {160, 1280, 4972, 0, 0, 0, 0}, {783, 72, 1032, 4381, 0, 0, 0}, {136, 1800, 4454, 0, 0, 0, 0}, {783, 96, 1295, 4144, 0, 0, 0}, {4080, 5744, 0, 0, 0, 0, 0}, {40, 72, 273, 0, 0, 0, 0}, {40, 522, 1370, 4362, 0, 0, 0}, {192, 819, 5503, 0, 0, 0, 0}, {828, 72, 1036, 4364, 0, 0, 0}, {160, 1365, 4991, 0, 0, 0, 0}, {828, 96, 1338, 4112, 0, 0, 0}, {136, 1911, 4471, 0, 0, 0, 0}, {136, 1912, 4352, 0, 0, 0, 0}, {819, 96, 1333, 4128, 0, 0, 0}, {160, 1370, 4896, 0, 0, 0, 0}, {819, 72, 1036, 4403, 0, 0, 0}, {192, 828, 5440, 0, 0, 0, 0}, {40, 522, 1365, 4437, 0, 0, 0}, {286, 310, 788, 342, 1298, 4358, 0}, {5760, 6527, 9599, 17279, 0, 0, 0}, {5760, 3840, 13056, 21760, 0, 0, 0}, {265, 289, 771, 321, 1285, 4369, 0}, {40, 522, 1290, 4362, 0, 0, 0}, {192, 771, 5503, 0, 0, 0, 0}, {780, 72, 1036, 4364, 0, 0, 0}, {160, 1285, 4991, 0, 0, 0, 0}, {780, 96, 1290, 4128, 0, 0, 0}, {136, 1807, 4471, 0, 0, 0, 0}, {136, 1792, 4352, 0, 0, 0, 0}, {771, 96, 1285, 4112, 0, 0, 0}, {160, 1290, 4896, 0, 0, 0, 0}, {771, 72, 1036, 4403, 0, 0, 0}, {192, 780, 5440, 0, 0, 0, 0}, {40, 522, 1285, 4437, 0, 0, 0}, {40, 72, 262, 0, 0, 0, 0}, {3855, 5744, 0, 0, 0, 0, 0}, {816, 96, 1328, 4144, 0, 0, 0}, {136, 1919, 4369, 0, 0, 0, 0}, {816, 72, 1032, 4386, 0, 0, 0}, {160, 1375, 4915, 0, 0, 0, 0}, {40, 520, 1360, 4420, 0, 0, 0}, {192, 831, 5461, 0, 0, 0, 0}, {5782, 6502, 9562, 17212, 0, 0, 0}, {287, 311, 791, 343, 1303, 4375, 0}, {40, 72, 272, 0, 0, 0, 0}, {4095, 5734, 0, 0, 0, 0, 0}, {192, 816, 5482, 0, 0, 0, 0}, {40, 520, 1375, 4379, 0, 0, 0}, {160, 1360, 4972, 0, 0, 0, 0}, {831, 72, 1032, 4381, 0, 0, 0}, {136, 1904, 4454, 0, 0, 0, 0}, {831, 96, 1343, 4096, 0, 0, 0}, {160, 1280, 4864, 0, 0, 0, 0}, {771, 72, 1028, 4369, 0, 0, 0}, {136, 1800, 4386, 0, 0, 0, 0}, {771, 96, 1295, 4144, 0, 0, 0}, {40, 72, 260, 0, 0, 0, 0}, {3855, 5722, 0, 0, 0, 0, 0}, {192, 780, 5482, 0, 0, 0, 0}, {40, 520, 1295, 4447, 0, 0, 0}, {40, 520, 1280, 4352, 0, 0, 0}, {192, 771, 5461, 0, 0, 0, 0}, {5802, 3840, 13056, 17152, 0, 0, 0}, {267, 291, 771, 323, 1028, 4112, 0}, {780, 96, 1280, 4096, 0, 0, 0}, {136, 1799, 4437, 0, 0, 0, 0}, {780, 72, 1028, 4398, 0, 0, 0}, {160, 1295, 4959, 0, 0, 0, 0}, {192, 816, 5440, 0, 0, 0, 0}, {40, 522, 1365, 4369, 0, 0, 0}, {40, 72, 274, 0, 0, 0, 0}, {4095, 5708, 0, 0, 0, 0, 0}, {136, 1912, 4420, 0, 0, 0, 0}, {831, 96, 1333, 4128, 0, 0, 0}, {160, 1370, 4940, 0, 0, 0, 0}, {831, 72, 1024, 4415, 0, 0, 0}, {816, 72, 1024, 4352, 0, 0, 0}, {160, 1365, 4883, 0, 0, 0, 0}, {816, 96, 1338, 4112, 0, 0, 0}, {136, 1911, 4403, 0, 0, 0, 0}, {5820, 6476, 9584, 21760, 0, 0, 0}, {285, 309, 791, 341, 1024, 4096, 0}, {40, 522, 1370, 4430, 0, 0, 0}, {192, 831, 5503, 0, 0, 0, 0}, {192, 768, 5376, 0, 0, 0, 0}, {40, 514, 1285, 4369, 0, 0, 0}, {40, 72, 258, 0, 0, 0, 0}, {3855, 5692, 0, 0, 0, 0, 0}, {136, 1800, 4420, 0, 0, 0, 0}, {783, 96, 1285, 4144, 0, 0, 0}, {160, 1290, 4972, 0, 0, 0, 0}, {783, 72, 1032, 4415, 0, 0, 0}, {768, 72, 1032, 4352, 0, 0, 0}, {160, 1285, 4915, 0, 0, 0, 0}, {768, 96, 1290, 4096, 0, 0, 0}, {136, 1799, 4403, 0, 0, 0, 0}, {5836, 3840, 9472, 21760, 0, 0, 0}, {269, 293, 514, 325, 1285, 4112, 0}, {40, 514, 1290, 4430, 0, 0, 0}, {192, 783, 5439, 0, 0, 0, 0}, {160, 1360, 4896, 0, 0, 0, 0}, {819, 72, 1036, 4369, 0, 0, 0}, {136, 1912, 4386, 0, 0, 0, 0}, {819, 96, 1343, 4128, 0, 0, 0}, {40, 72, 276, 0, 0, 0, 0}, {4095, 5674, 0, 0, 0, 0, 0}, {192, 828, 5418, 0, 0, 0, 0}, {40, 512, 1375, 4447, 0, 0, 0}, {40, 512, 1360, 4352, 0, 0, 0}, {192, 819, 5397, 0, 0, 0, 0}, {5850, 6442, 13056, 17264, 0, 0, 0}, {283, 307, 512, 339, 1303, 4096, 0}, {828, 96, 1328, 4112, 0, 0, 0}, {136, 1911, 4437, 0, 0, 0, 0}, {828, 72, 1036, 4398, 0, 0, 0}, {160, 1375, 4991, 0, 0, 0, 0}, {768, 96, 1280, 4128, 0, 0, 0}, {136, 1807, 4369, 0, 0, 0, 0}, {768, 72, 1024, 4386, 0, 0, 0}, {160, 1295, 4883, 0, 0, 0, 0}, {40, 512, 1280, 4420, 0, 0, 0}, {192, 783, 5397, 0, 0, 0, 0}, {5862, 3840, 9514, 17228, 0, 0, 0}, {271, 295, 512, 327, 1024, 4375, 0}, {40, 72, 256, 0, 0, 0, 0}, {3855, 5654, 0, 0, 0, 0, 0}, {192, 768, 5418, 0, 0, 0, 0}, {40, 512, 1295, 4379, 0, 0, 0}, {160, 1280, 4940, 0, 0, 0, 0}, {783, 72, 1024, 4381, 0, 0, 0}, {136, 1792, 4454, 0, 0, 0, 0}, {783, 96, 1295, 4112, 0, 0, 0}, {5872, 6400, 13056, 21760, 0, 0, 0}, {281, 305, 514, 337, 1028, 4369, 0}, {40, 514, 1370, 4362, 0, 0, 0}, {192, 819, 5439, 0, 0, 0, 0}, {828, 72, 1028, 4364, 0, 0, 0}, {160, 1365, 4959, 0, 0, 0, 0}, {828, 96, 1338, 4144, 0, 0, 0}, {136, 1919, 4471, 0, 0, 0, 0}, {136, 1904, 4352, 0, 0, 0, 0}, {819, 96, 1333, 4096, 0, 0, 0}, {160, 1370, 4864, 0, 0, 0, 0}, {819, 72, 1028, 4403, 0, 0, 0}, {192, 828, 5376, 0, 0, 0, 0}, {40, 514, 1365, 4437, 0, 0, 0}, {40, 72, 278, 0, 0, 0, 0}, {4095, 5632, 0, 0, 0, 0, 0}, {10752, 16384, 0, 0, 0, 0, 0}, {15, 20, 257, 0, 0, 0, 0}, {40, 514, 16392, 0, 0, 0, 0}, {15, 51, 771, 5379, 0, 0, 0}, {8704, 68, 1028, 0, 0, 0, 0}, {15, 80, 1285, 4096, 0, 0, 0}, {8192, 108, 1542, 0, 0, 0, 0}, {15, 119, 1799, 4608, 0, 0, 0}, {136, 2056, 8704, 16392, 0, 0, 0}, {15, 51, 771, 80, 1285, 4099, 0}, {160, 2570, 8192, 16384, 0, 0, 0}, {15, 51, 771, 68, 1028, 4352, 0}, {204, 3084, 9740, 16396, 0, 0, 0}, {15, 39, 514, 80, 1285, 4103, 0}, {40, 514, 68, 1028, 0, 0, 0}, {15, 5376, 0, 0, 0, 0, 0}, {2560, 80, 4112, 0, 0, 0, 0}, {51, 68, 1024, 4369, 0, 0, 0}, {2048, 120, 4626, 0, 0, 0, 0}, {51, 95, 1536, 4883, 0, 0, 0}, {512, 1024, 20, 0, 0, 0, 0}, {255, 5397, 0, 0, 0, 0, 0}, {3072, 60, 5654, 0, 0, 0, 0}, {40, 512, 95, 5399, 0, 0, 0}, {40, 512, 80, 4120, 0, 0, 0}, {3072, 51, 5401, 0, 0, 0, 0}, {240, 6682, 12336, 16448, 0, 0, 0}, {27, 51, 512, 68, 1024, 4352, 0}, {60, 80, 1536, 4124, 0, 0, 0}, {2048, 119, 5405, 0, 0, 0, 0}, {60, 68, 1024, 4638, 0, 0, 0}, {2560, 95, 5407, 0, 0, 0, 0}, {160, 2560, 8224, 16416, 0, 0, 0}, {15, 51, 771, 68, 1027, 4369, 0}, {136, 2048, 8738, 16384, 0, 0, 0}, {15, 51, 771, 80, 1280, 4112, 0}, {40, 512, 68, 1036, 0, 0, 0}, {15, 5413, 0, 0, 0, 0, 0}, {204, 3084, 9766, 16448, 0, 0, 0}, {15, 39, 512, 80, 1280, 4096, 0}, {40, 512, 16384, 0, 0, 0, 0}, {15, 51, 771, 5397, 0, 0, 0}, {10794, 16512, 0, 0, 0, 0, 0}, {15, 20, 259, 0, 0, 0, 0}, {8224, 108, 1548, 0, 0, 0, 0}, {15, 119, 1792, 4642, 0, 0, 0}, {8738, 68, 1036, 0, 0, 0, 0}, {15, 80, 1280, 4128, 0, 0, 0}, {240, 6704, 12336, 16432, 0, 0, 0}, {27, 51, 514, 68, 1043, 4369, 0}, {40, 514, 80, 4112, 0, 0, 0}, {3072, 51, 5376, 0, 0, 0, 0}, {60, 68, 1032, 4608, 0, 0, 0}, {2570, 95, 5429, 0, 0, 0, 0}, {60, 80, 1546, 4096, 0, 0, 0}, {2056, 119, 5431, 0, 0, 0, 0}, {2056, 120, 4656, 0, 0, 0, 0}, {51, 95, 1546, 4864, 0, 0, 0}, {2570, 80, 4144, 0, 0, 0, 0}, {51, 68, 1032, 4352, 0, 0, 0}, {3072, 60, 5632, 0, 0, 0, 0}, {40, 514, 95, 5397, 0, 0, 0}, {514, 1032, 20, 0, 0, 0, 0}, {255, 5439, 0, 0, 0, 0, 0}, {10880, 16448, 0, 0, 0, 0, 0}, {15, 20, 261, 0, 0, 0, 0}, {40, 522, 16456, 0, 0, 0, 0}, {15, 51, 768, 5443, 0, 0, 0}, {8704, 68, 1024, 0, 0, 0, 0}, {15, 80, 1285, 4112, 0, 0, 0}, {8224, 108, 1546, 0, 0, 0, 0}, {15, 119, 1792, 4656, 0, 0, 0}, {136, 2048, 8704, 16456, 0, 0, 0}, {15, 51, 768, 80, 1285, 4115, 0}, {160, 2570, 8224, 16448, 0, 0, 0}, {15, 51, 768, 68, 1024, 4352, 0}, {204, 3072, 9804, 16460, 0, 0, 0}, {15, 39, 517, 80, 1285, 4119, 0}, {40, 522, 68, 1024, 0, 0, 0}, {15, 5440, 0, 0, 0, 0, 0}, {2560, 80, 4096, 0, 0, 0, 0}, {51, 68, 1028, 4369, 0, 0, 0}, {2056, 120, 4642, 0, 0, 0, 0}, {51, 95, 1548, 4864, 0, 0, 0}, {520, 1028, 20, 0, 0, 0, 0}, {255, 5461, 0, 0, 0, 0, 0}, {3084, 60, 5722, 0, 0, 0, 0}, {40, 520, 95, 5384, 0, 0, 0}, {40, 520, 80, 4104, 0, 0, 0}, {3084, 51, 5465, 0, 0, 0, 0}, {240, 6746, 12288, 16384, 0, 0, 0}, {27, 51, 531, 68, 1028, 4352, 0}, {60, 80, 1548, 4108, 0, 0, 0}, {2056, 119, 5418, 0, 0, 0, 0}, {60, 68, 1028, 4626, 0, 0, 0}, {2560, 95, 5376, 0, 0, 0, 0}, {160, 2560, 8192, 16480, 0, 0, 0}, {15, 51, 768, 68, 1031, 4369, 0}, {136, 2056, 8738, 16448, 0, 0, 0}, {15, 51, 768, 80, 1280, 4096, 0}, {40, 520, 68, 1032, 0, 0, 0}, {15, 5477, 0, 0, 0, 0, 0}, {204, 3072, 9830, 16384, 0, 0, 0}, {15, 39, 519, 80, 1280, 4112, 0}, {40, 520, 16448, 0, 0, 0, 0}, {15, 51, 768, 5461, 0, 0, 0}, {10922, 16576, 0, 0, 0, 0, 0}, {15, 20, 263, 0, 0, 0, 0}, {8192, 108, 1536, 0, 0, 0, 0}, {15, 119, 1799, 4626, 0, 0, 0}, {8738, 68, 1032, 0, 0, 0, 0}, {15, 80, 1280, 4144, 0, 0, 0}, {240, 6768, 12288, 16496, 0, 0, 0}, {27, 51, 529, 68, 1047, 4369, 0}, {40, 522, 80, 4096, 0, 0, 0}, {3084, 51, 5440, 0, 0, 0, 0}, {60, 68, 1036, 4620, 0, 0, 0}, {2570, 95, 5418, 0, 0, 0, 0}, {60, 80, 1542, 4112, 0, 0, 0}, {2048, 119, 5376, 0, 0, 0, 0}, {2048, 120, 4608, 0, 0, 0, 0}, {51, 95, 1542, 4883, 0, 0, 0}, {2570, 80, 4128, 0, 0, 0, 0}, {51, 68, 1036, 4352, 0, 0, 0}, {3084, 60, 5708, 0, 0, 0, 0}, {40, 522, 95, 5386, 0, 0, 0}, {522, 1036, 20, 0, 0, 0, 0}, {255, 5503, 0, 0, 0, 0, 0}, {10880, 16512, 0, 0, 0, 0, 0}, {15, 20, 262, 0, 0, 0, 0}, {40, 522, 16384, 0, 0, 0, 0}, {15, 51, 771, 5440, 0, 0, 0}, {8704, 68, 1036, 0, 0, 0, 0}, {15, 80, 1285, 4128, 0, 0, 0}, {8224, 108, 1542, 0, 0, 0, 0}, {15, 119, 1792, 4608, 0, 0, 0}, {136, 2048, 8704, 16384, 0, 0, 0}, {15, 51, 771, 80, 1285, 4112, 0}, {160, 2570, 8224, 16416, 0, 0, 0}, {15, 51, 771, 68, 1027, 4352, 0}, {204, 3084, 9792, 16448, 0, 0, 0}, {15, 39, 517, 80, 1285, 4096, 0}, {40, 522, 68, 1036, 0, 0, 0}, {15, 5488, 0, 0, 0, 0, 0}, {2560, 80, 4144, 0, 0, 0, 0}, {51, 68, 1032, 4369, 0, 0, 0}, {2056, 120, 4626, 0, 0, 0, 0}, {51, 95, 1536, 4864, 0, 0, 0}, {520, 1032, 20, 0, 0, 0, 0}, {255, 5482, 0, 0, 0, 0, 0}, {3072, 60, 5722, 0, 0, 0, 0}, {40, 520, 95, 5407, 0, 0, 0}, {40, 520, 80, 4112, 0, 0, 0}, {3072, 51, 5461, 0, 0, 0, 0}, {240, 6762, 12336, 16432, 0, 0, 0}, {27, 51, 531, 68, 1043, 4352, 0}, {60, 80, 1536, 4096, 0, 0, 0}, {2056, 119, 5397, 0, 0, 0, 0}, {60, 68, 1032, 4638, 0, 0, 0}, {2560, 95, 5439, 0, 0, 0, 0}, {160, 2560, 8192, 16384, 0, 0, 0}, {15, 51, 771, 68, 1028, 4369, 0}, {136, 2056, 8738, 16392, 0, 0, 0}, {15, 51, 771, 80, 1280, 4099, 0}, {40, 520, 68, 1028, 0, 0, 0}, {15, 5461, 0, 0, 0, 0, 0}, {204, 3084, 9834, 16396, 0, 0, 0}, {15, 39, 519, 80, 1280, 4103, 0}, {40, 520, 16392, 0, 0, 0, 0}, {15, 51, 771, 5462, 0, 0, 0}, {10922, 16384, 0, 0, 0, 0, 0}, {15, 20, 260, 0, 0, 0, 0}, {8192, 108, 1548, 0, 0, 0, 0}, {15, 119, 1799, 4642, 0, 0, 0}, {8738, 68, 1028, 0, 0, 0, 0}, {15, 80, 1280, 4096, 0, 0, 0}, {240, 6720, 12336, 16448, 0, 0, 0}, {27, 51, 529, 68, 1024, 4369, 0}, {40, 522, 80, 4120, 0, 0, 0}, {3072, 51, 5452, 0, 0, 0, 0}, {60, 68, 1024, 4608, 0, 0, 0}, {2570, 95, 5397, 0, 0, 0, 0}, {60, 80, 1546, 4124, 0, 0, 0}, {2048, 119, 5439, 0, 0, 0, 0}, {2048, 120, 4656, 0, 0, 0, 0}, {51, 95, 1546, 4883, 0, 0, 0}, {2570, 80, 4112, 0, 0, 0, 0}, {51, 68, 1024, 4352, 0, 0, 0}, {3072, 60, 5708, 0, 0, 0, 0}, {40, 522, 95, 5405, 0, 0, 0}, {522, 1024, 20, 0, 0, 0, 0}, {255, 5440, 0, 0, 0, 0, 0}, {10752, 16576, 0, 0, 0, 0, 0}, {15, 20, 258, 0, 0, 0, 0}, {40, 514, 16448, 0, 0, 0, 0}, {15, 51, 768, 5376, 0, 0, 0}, {8704, 68, 1032, 0, 0, 0, 0}, {15, 80, 1285, 4144, 0, 0, 0}, {8192, 108, 1546, 0, 0, 0, 0}, {15, 119, 1799, 4656, 0, 0, 0}, {136, 2056, 8704, 16448, 0, 0, 0}, {15, 51, 768, 80, 1285, 4096, 0}, {160, 2570, 8192, 16480, 0, 0, 0}, {15, 51, 768, 68, 1031, 4352, 0}, {204, 3072, 9728, 16384, 0, 0, 0}, {15, 39, 514, 80, 1285, 4112, 0}, {40, 514, 68, 1032, 0, 0, 0}, {15, 5424, 0, 0, 0, 0, 0}, {2560, 80, 4128, 0, 0, 0, 0}, {51, 68, 1036, 4369, 0, 0, 0}, {2048, 120, 4642, 0, 0, 0, 0}, {51, 95, 1548, 4883, 0, 0, 0}, {512, 1036, 20, 0, 0, 0, 0}, {255, 5418, 0, 0, 0, 0, 0}, {3084, 60, 5654, 0, 0, 0, 0}, {40, 512, 95, 5376, 0, 0, 0}, {40, 512, 80, 4096, 0, 0, 0}, {3084, 51, 5397, 0, 0, 0, 0}, {240, 6698, 12288, 16496, 0, 0, 0}, {27, 51, 512, 68, 1047, 4352, 0}, {60, 80, 1548, 4112, 0, 0, 0}, {2048, 119, 5410, 0, 0, 0, 0}, {60, 68, 1036, 4626, 0, 0, 0}, {2560, 95, 5408, 0, 0, 0, 0}, {160, 2560, 8224, 16448, 0, 0, 0}, {15, 51, 768, 68, 1024, 4369, 0}, {136, 2048, 8738, 16456, 0, 0, 0}, {15, 51, 768, 80, 1280, 4115, 0}, {40, 512, 68, 1024, 0, 0, 0}, {15, 5397, 0, 0, 0, 0, 0}, {204, 3072, 9770, 16460, 0, 0, 0}, {15, 39, 512, 80, 1280, 4119, 0}, {40, 512, 16456, 0, 0, 0, 0}, {15, 51, 768, 5398, 0, 0, 0}, {10794, 16448, 0, 0, 0, 0, 0}, {15, 20, 256, 0, 0, 0, 0}, {8224, 108, 1536, 0, 0, 0, 0}, {15, 119, 1792, 4626, 0, 0, 0}, {8738, 68, 1024, 0, 0, 0, 0}, {15, 80, 1280, 4112, 0, 0, 0}, {240, 6656, 12288, 16384, 0, 0, 0}, {27, 51, 514, 68, 1028, 4369, 0}, {40, 514, 80, 4104, 0, 0, 0}, {3084, 51, 5388, 0, 0, 0, 0}, {60, 68, 1028, 4620, 0, 0, 0}, {2570, 95, 5386, 0, 0, 0, 0}, {60, 80, 1542, 4108, 0, 0, 0}, {2056, 119, 5384, 0, 0, 0, 0}, {2056, 120, 4608, 0, 0, 0, 0}, {51, 95, 1542, 4864, 0, 0, 0}, {2570, 80, 4096, 0, 0, 0, 0}, {51, 68, 1028, 4352, 0, 0, 0}, {3084, 60, 5632, 0, 0, 0, 0}, {40, 514, 95, 5378, 0, 0, 0}, {514, 1028, 20, 0, 0, 0, 0}, {255, 5376, 0, 0, 0, 0, 0}, {3840, 5120, 0, 0, 0, 0, 0}, {42, 64, 257, 0, 0, 0, 0}, {42, 514, 1290, 4360, 0, 0, 0}, {192, 771, 5180, 0, 0, 0, 0}, {780, 64, 1028, 4096, 0, 0, 0}, {170, 1285, 4437, 0, 0, 0, 0}, {780, 106, 1290, 4364, 0, 0, 0}, {128, 1799, 4991, 0, 0, 0, 0}, {128, 1800, 4864, 0, 0, 0, 0}, {771, 106, 1285, 4403, 0, 0, 0}, {170, 1290, 4352, 0, 0, 0, 0}, {771, 64, 1028, 4144, 0, 0, 0}, {192, 780, 5132, 0, 0, 0, 0}, {42, 514, 1285, 4445, 0, 0, 0}, {270, 292, 514, 64, 1028, 4356, 0}, {5360, 3855, 9999, 17408, 0, 0, 0}, {816, 64, 1024, 4112, 0, 0, 0}, {170, 1365, 4369, 0, 0, 0, 0}, {816, 106, 1328, 4386, 0, 0, 0}, {128, 1919, 4883, 0, 0, 0, 0}, {4080, 5140, 0, 0, 0, 0, 0}, {42, 64, 277, 0, 0, 0, 0}, {42, 512, 1370, 4428, 0, 0, 0}, {192, 831, 5160, 0, 0, 0, 0}, {192, 816, 5144, 0, 0, 0, 0}, {42, 512, 1365, 4377, 0, 0, 0}, {282, 304, 512, 64, 1024, 4352, 0}, {5348, 6939, 13107, 17476, 0, 0, 0}, {128, 1904, 4972, 0, 0, 0, 0}, {831, 106, 1343, 4381, 0, 0, 0}, {170, 1370, 4420, 0, 0, 0, 0}, {831, 64, 1024, 4128, 0, 0, 0}, {128, 1792, 4896, 0, 0, 0, 0}, {771, 106, 1295, 4369, 0, 0, 0}, {170, 1280, 4386, 0, 0, 0, 0}, {771, 64, 1036, 4112, 0, 0, 0}, {192, 780, 5156, 0, 0, 0, 0}, {42, 512, 1295, 4437, 0, 0, 0}, {268, 294, 512, 64, 1280, 4096, 0}, {5336, 3855, 10023, 20560, 0, 0, 0}, {3840, 5160, 0, 0, 0, 0, 0}, {42, 64, 259, 0, 0, 0, 0}, {42, 512, 1280, 4352, 0, 0, 0}, {192, 771, 5140, 0, 0, 0, 0}, {780, 64, 1036, 4128, 0, 0, 0}, {170, 1295, 4471, 0, 0, 0, 0}, {780, 106, 1280, 4398, 0, 0, 0}, {128, 1807, 4959, 0, 0, 0, 0}, {192, 816, 5168, 0, 0, 0, 0}, {42, 514, 1375, 4369, 0, 0, 0}, {280, 306, 514, 64, 1296, 4112, 0}, {5324, 6963, 13107, 20480, 0, 0, 0}, {128, 1912, 4940, 0, 0, 0, 0}, {831, 106, 1333, 4415, 0, 0, 0}, {170, 1360, 4454, 0, 0, 0, 0}, {831, 64, 1032, 4096, 0, 0, 0}, {816, 64, 1032, 4144, 0, 0, 0}, {170, 1375, 4403, 0, 0, 0, 0}, {816, 106, 1338, 4352, 0, 0, 0}, {128, 1911, 4915, 0, 0, 0, 0}, {4080, 5180, 0, 0, 0, 0, 0}, {42, 64, 279, 0, 0, 0, 0}, {42, 514, 1360, 4420, 0, 0, 0}, {192, 831, 5120, 0, 0, 0, 0}, {768, 64, 1024, 4096, 0, 0, 0}, {170, 1285, 4369, 0, 0, 0, 0}, {768, 106, 1290, 4386, 0, 0, 0}, {128, 1807, 4915, 0, 0, 0, 0}, {3840, 5188, 0, 0, 0, 0, 0}, {42, 64, 261, 0, 0, 0, 0}, {42, 522, 1290, 4428, 0, 0, 0}, {192, 783, 5240, 0, 0, 0, 0}, {192, 768, 5192, 0, 0, 0, 0}, {42, 522, 1285, 4377, 0, 0, 0}, {266, 288, 768, 64, 1024, 4352, 0}, {5300, 3855, 13107, 17476, 0, 0, 0}, {128, 1792, 4940, 0, 0, 0, 0}, {783, 106, 1285, 4381, 0, 0, 0}, {170, 1290, 4420, 0, 0, 0, 0}, {783, 64, 1024, 4144, 0, 0, 0}, {4080, 5200, 0, 0, 0, 0, 0}, {42, 64, 273, 0, 0, 0, 0}, {42, 520, 1370, 4360, 0, 0, 0}, {192, 819, 5228, 0, 0, 0, 0}, {828, 64, 1028, 4112, 0, 0, 0}, {170, 1365, 4437, 0, 0, 0, 0}, {828, 106, 1328, 4364, 0, 0, 0}, {128, 1911, 4959, 0, 0, 0, 0}, {128, 1912, 4896, 0, 0, 0, 0}, {819, 106, 1343, 4403, 0, 0, 0}, {170, 1370, 4352, 0, 0, 0, 0}, {819, 64, 1028, 4128, 0, 0, 0}, {192, 828, 5212, 0, 0, 0, 0}, {42, 520, 1365, 4445, 0, 0, 0}, {286, 308, 790, 64, 1028, 4356, 0}, {5280, 7007, 10079, 17408, 0, 0, 0}, {192, 768, 5216, 0, 0, 0, 0}, {42, 520, 1295, 4369, 0, 0, 0}, {264, 290, 768, 64, 1280, 4096, 0}, {5276, 3855, 13107, 20560, 0, 0, 0}, {128, 1800, 4972, 0, 0, 0, 0}, {783, 106, 1295, 4415, 0, 0, 0}, {170, 1280, 4454, 0, 0, 0, 0}, {783, 64, 1032, 4112, 0, 0, 0}, {768, 64, 1032, 4128, 0, 0, 0}, {170, 1295, 4403, 0, 0, 0, 0}, {768, 106, 1280, 4352, 0, 0, 0}, {128, 1799, 4883, 0, 0, 0, 0}, {3840, 5228, 0, 0, 0, 0, 0}, {42, 64, 263, 0, 0, 0, 0}, {42, 520, 1280, 4420, 0, 0, 0}, {192, 783, 5200, 0, 0, 0, 0}, {128, 1904, 4864, 0, 0, 0, 0}, {819, 106, 1333, 4369, 0, 0, 0}, {170, 1360, 4386, 0, 0, 0, 0}, {819, 64, 1036, 4096, 0, 0, 0}, {192, 828, 5236, 0, 0, 0, 0}, {42, 522, 1375, 4437, 0, 0, 0}, {284, 310, 790, 64, 1296, 4112, 0}, {5256, 7031, 10103, 20480, 0, 0, 0}, {4080, 5240, 0, 0, 0, 0, 0}, {42, 64, 275, 0, 0, 0, 0}, {42, 522, 1360, 4352, 0, 0, 0}, {192, 819, 5188, 0, 0, 0, 0}, {828, 64, 1036, 4144, 0, 0, 0}, {170, 1375, 4471, 0, 0, 0, 0}, {828, 106, 1338, 4398, 0, 0, 0}, {128, 1919, 4991, 0, 0, 0, 0}, {128, 1792, 4864, 0, 0, 0, 0}, {771, 106, 1285, 4369, 0, 0, 0}, {170, 1290, 4386, 0, 0, 0, 0}, {771, 64, 1036, 4144, 0, 0, 0}, {192, 780, 5188, 0, 0, 0, 0}, {42, 522, 1285, 4437, 0, 0, 0}, {42, 64, 262, 0, 0, 0, 0}, {3855, 5240, 0, 0, 0, 0, 0}, {5256, 3840, 13056, 20480, 0, 0, 0}, {265, 291, 771, 64, 1285, 4112, 0}, {42, 522, 1290, 4352, 0, 0, 0}, {192, 771, 5236, 0, 0, 0, 0}, {780, 64, 1036, 4096, 0, 0, 0}, {170, 1285, 4471, 0, 0, 0, 0}, {780, 106, 1290, 4398, 0, 0, 0}, {128, 1807, 4991, 0, 0, 0, 0}, {192, 816, 5200, 0, 0, 0, 0}, {42, 520, 1365, 4369, 0, 0, 0}, {42, 64, 274, 0, 0, 0, 0}, {4095, 5228, 0, 0, 0, 0, 0}, {128, 1912, 4972, 0, 0, 0, 0}, {831, 106, 1343, 4415, 0, 0, 0}, {170, 1370, 4454, 0, 0, 0, 0}, {831, 64, 1032, 4128, 0, 0, 0}, {816, 64, 1032, 4112, 0, 0, 0}, {170, 1365, 4403, 0, 0, 0, 0}, {816, 106, 1328, 4352, 0, 0, 0}, {128, 1911, 4883, 0, 0, 0, 0}, {5276, 7020, 10064, 20560, 0, 0, 0}, {285, 311, 789, 64, 1301, 4096, 0}, {42, 520, 1370, 4420, 0, 0, 0}, {192, 831, 5216, 0, 0, 0, 0}, {5280, 3840, 13056, 17408, 0, 0, 0}, {267, 289, 771, 64, 1028, 4369, 0}, {42, 520, 1280, 4360, 0, 0, 0}, {192, 771, 5212, 0, 0, 0, 0}, {780, 64, 1028, 4128, 0, 0, 0}, {170, 1295, 4437, 0, 0, 0, 0}, {780, 106, 1280, 4364, 0, 0, 0}, {128, 1799, 4959, 0, 0, 0, 0}, {128, 1800, 4896, 0, 0, 0, 0}, {771, 106, 1295, 4403, 0, 0, 0}, {170, 1280, 4352, 0, 0, 0, 0}, {771, 64, 1028, 4112, 0, 0, 0}, {192, 780, 5228, 0, 0, 0, 0}, {42, 520, 1295, 4445, 0, 0, 0}, {42, 64, 260, 0, 0, 0, 0}, {3855, 5200, 0, 0, 0, 0, 0}, {816, 64, 1024, 4144, 0, 0, 0}, {170, 1375, 4369, 0, 0, 0, 0}, {816, 106, 1338, 4386, 0, 0, 0}, {128, 1919, 4915, 0, 0, 0, 0}, {5300, 6980, 10104, 17476, 0, 0, 0}, {287, 309, 789, 64, 1024, 4373, 0}, {42, 522, 1360, 4428, 0, 0, 0}, {192, 831, 5192, 0, 0, 0, 0}, {192, 816, 5240, 0, 0, 0, 0}, {42, 522, 1375, 4377, 0, 0, 0}, {42, 64, 272, 0, 0, 0, 0}, {4095, 5188, 0, 0, 0, 0, 0}, {128, 1904, 4940, 0, 0, 0, 0}, {831, 106, 1333, 4381, 0, 0, 0}, {170, 1360, 4420, 0, 0, 0, 0}, {831, 64, 1024, 4096, 0, 0, 0}, {192, 768, 5120, 0, 0, 0, 0}, {42, 514, 1285, 4369, 0, 0, 0}, {42, 64, 258, 0, 0, 0, 0}, {3855, 5180, 0, 0, 0, 0, 0}, {128, 1800, 4940, 0, 0, 0, 0}, {783, 106, 1285, 4415, 0, 0, 0}, {170, 1290, 4454, 0, 0, 0, 0}, {783, 64, 1032, 4144, 0, 0, 0}, {768, 64, 1032, 4096, 0, 0, 0}, {170, 1285, 4403, 0, 0, 0, 0}, {768, 106, 1290, 4352, 0, 0, 0}, {128, 1799, 4915, 0, 0, 0, 0}, {5324, 3840, 9984, 20480, 0, 0, 0}, {269, 295, 514, 64, 1285, 4112, 0}, {42, 514, 1290, 4420, 0, 0, 0}, {192, 783, 5168, 0, 0, 0, 0}, {128, 1904, 4896, 0, 0, 0, 0}, {819, 106, 1343, 4369, 0, 0, 0}, {170, 1370, 4386, 0, 0, 0, 0}, {819, 64, 1036, 4128, 0, 0, 0}, {192, 828, 5140, 0, 0, 0, 0}, {42, 512, 1365, 4437, 0, 0, 0}, {42, 64, 278, 0, 0, 0, 0}, {4095, 5160, 0, 0, 0, 0, 0}, {5336, 6952, 13056, 20560, 0, 0, 0}, {281, 307, 512, 64, 1301, 4096, 0}, {42, 512, 1370, 4352, 0, 0, 0}, {192, 819, 5156, 0, 0, 0, 0}, {828, 64, 1036, 4112, 0, 0, 0}, {170, 1365, 4471, 0, 0, 0, 0}, {828, 106, 1328, 4398, 0, 0, 0}, {128, 1919, 4959, 0, 0, 0, 0}, {768, 64, 1024, 4128, 0, 0, 0}, {170, 1295, 4369, 0, 0, 0, 0}, {768, 106, 1280, 4386, 0, 0, 0}, {128, 1807, 4883, 0, 0, 0, 0}, {5348, 3840, 10024, 17476, 0, 0, 0}, {271, 293, 512, 64, 1024, 4373, 0}, {42, 512, 1280, 4428, 0, 0, 0}, {192, 783, 5144, 0, 0, 0, 0}, {192, 768, 5160, 0, 0, 0, 0}, {42, 512, 1295, 4377, 0, 0, 0}, {42, 64, 256, 0, 0, 0, 0}, {3855, 5140, 0, 0, 0, 0, 0}, {128, 1792, 4972, 0, 0, 0, 0}, {783, 106, 1295, 4381, 0, 0, 0}, {170, 1280, 4420, 0, 0, 0, 0}, {783, 64, 1024, 4112, 0, 0, 0}, {5360, 6912, 13056, 17408, 0, 0, 0}, {283, 305, 514, 64, 1028, 4369, 0}, {42, 514, 1360, 4360, 0, 0, 0}, {192, 819, 5132, 0, 0, 0, 0}, {828, 64, 1028, 4144, 0, 0, 0}, {170, 1375, 4437, 0, 0, 0, 0}, {828, 106, 1338, 4364, 0, 0, 0}, {128, 1911, 4991, 0, 0, 0, 0}, {128, 1912, 4864, 0, 0, 0, 0}, {819, 106, 1333, 4403, 0, 0, 0}, {170, 1360, 4352, 0, 0, 0, 0}, {819, 64, 1028, 4096, 0, 0, 0}, {192, 828, 5180, 0, 0, 0, 0}, {42, 514, 1375, 4445, 0, 0, 0}, {42, 64, 276, 0, 0, 0, 0}, {4095, 5120, 0, 0, 0, 0, 0}, {8192, 19456, 0, 0, 0, 0, 0}, {15, 18, 257, 0, 0, 0, 0}, {34, 514, 17408, 0, 0, 0, 0}, {15, 48, 771, 4096, 0, 0, 0}, {8200, 72, 1028, 0, 0, 0, 0}, {15, 85, 1285, 4869, 0, 0, 0}, {8202, 106, 1542, 0, 0, 0, 0}, {15, 119, 1799, 4871, 0, 0, 0}, {136, 2056, 8200, 17408, 0, 0, 0}, {15, 48, 771, 85, 1285, 4101, 0}, {170, 2570, 8202, 17930, 0, 0, 0}, {15, 48, 771, 71, 1028, 4103, 0}, {192, 3084, 8192, 16384, 0, 0, 0}, {15, 34, 514, 85, 1285, 4352, 0}, {34, 514, 72, 1028, 0, 0, 0}, {15, 4864, 0, 0, 0, 0, 0}, {3072, 48, 4112, 0, 0, 0, 0}, {34, 512, 85, 4369, 0, 0, 0}, {512, 1024, 18, 0, 0, 0, 0}, {255, 4883, 0, 0, 0, 0, 0}, {2048, 120, 5140, 0, 0, 0, 0}, {63, 85, 1536, 4885, 0, 0, 0}, {2560, 90, 5654, 0, 0, 0, 0}, {63, 72, 1024, 4887, 0, 0, 0}, {48, 72, 1024, 4120, 0, 0, 0}, {2560, 85, 4889, 0, 0, 0, 0}, {48, 90, 1536, 4122, 0, 0, 0}, {2048, 119, 4891, 0, 0, 0, 0}, {240, 7196, 8224, 20560, 0, 0, 0}, {29, 34, 512, 85, 1024, 4352, 0}, {34, 512, 90, 5150, 0, 0, 0}, {3072, 63, 4895, 0, 0, 0, 0}, {8224, 19584, 0, 0, 0, 0, 0}, {15, 18, 259, 0, 0, 0, 0}, {34, 512, 17408, 0, 0, 0, 0}, {15, 48, 771, 4112, 0, 0, 0}, {8232, 72, 1036, 0, 0, 0, 0}, {15, 85, 1280, 4901, 0, 0, 0}, {8234, 106, 1548, 0, 0, 0, 0}, {15, 119, 1792, 4903, 0, 0, 0}, {136, 2048, 8232, 17408, 0, 0, 0}, {15, 48, 771, 85, 1280, 4117, 0}, {170, 2560, 8234, 17962, 0, 0, 0}, {15, 48, 771, 71, 1027, 4119, 0}, {192, 3084, 8224, 16448, 0, 0, 0}, {15, 34, 512, 85, 1280, 4352, 0}, {34, 512, 72, 1036, 0, 0, 0}, {15, 4896, 0, 0, 0, 0, 0}, {3072, 48, 4096, 0, 0, 0, 0}, {34, 514, 85, 4369, 0, 0, 0}, {514, 1032, 18, 0, 0, 0, 0}, {255, 4915, 0, 0, 0, 0, 0}, {2056, 120, 5180, 0, 0, 0, 0}, {63, 85, 1546, 4874, 0, 0, 0}, {2570, 90, 5692, 0, 0, 0, 0}, {63, 72, 1032, 4872, 0, 0, 0}, {48, 72, 1032, 4104, 0, 0, 0}, {2570, 85, 4921, 0, 0, 0, 0}, {48, 90, 1546, 4106, 0, 0, 0}, {2056, 119, 4923, 0, 0, 0, 0}, {240, 7228, 8192, 20480, 0, 0, 0}, {29, 34, 514, 85, 1045, 4352, 0}, {34, 514, 90, 5140, 0, 0, 0}, {3072, 63, 4864, 0, 0, 0, 0}, {192, 3072, 8256, 16448, 0, 0, 0}, {15, 34, 517, 85, 1285, 4369, 0}, {34, 522, 72, 1024, 0, 0, 0}, {15, 4931, 0, 0, 0, 0, 0}, {136, 2048, 8192, 17476, 0, 0, 0}, {15, 48, 768, 85, 1285, 4112, 0}, {170, 2570, 8224, 17990, 0, 0, 0}, {15, 48, 768, 71, 1024, 4096, 0}, {8192, 72, 1024, 0, 0, 0, 0}, {15, 85, 1285, 4883, 0, 0, 0}, {8224, 106, 1546, 0, 0, 0, 0}, {15, 119, 1792, 4915, 0, 0, 0}, {8320, 19532, 0, 0, 0, 0, 0}, {15, 18, 261, 0, 0, 0, 0}, {34, 522, 17476, 0, 0, 0, 0}, {15, 48, 768, 4160, 0, 0, 0}, {240, 7248, 8272, 20560, 0, 0, 0}, {29, 34, 533, 85, 1028, 4369, 0}, {34, 520, 90, 5120, 0, 0, 0}, {3084, 63, 4947, 0, 0, 0, 0}, {48, 72, 1028, 4112, 0, 0, 0}, {2560, 85, 4864, 0, 0, 0, 0}, {48, 90, 1548, 4096, 0, 0, 0}, {2056, 119, 4896, 0, 0, 0, 0}, {2056, 120, 5160, 0, 0, 0, 0}, {63, 85, 1548, 4876, 0, 0, 0}, {2560, 90, 5632, 0, 0, 0, 0}, {63, 72, 1028, 4883, 0, 0, 0}, {3084, 48, 4176, 0, 0, 0, 0}, {34, 520, 85, 4352, 0, 0, 0}, {520, 1028, 18, 0, 0, 0, 0}, {255, 4959, 0, 0, 0, 0, 0}, {192, 3072, 8288, 16384, 0, 0, 0}, {15, 34, 519, 85, 1280, 4369, 0}, {34, 520, 72, 1032, 0, 0, 0}, {15, 4963, 0, 0, 0, 0, 0}, {136, 2056, 8224, 17476, 0, 0, 0}, {15, 48, 768, 85, 1280, 4096, 0}, {170, 2560, 8192, 18022, 0, 0, 0}, {15, 48, 768, 71, 1031, 4112, 0}, {8224, 72, 1032, 0, 0, 0, 0}, {15, 85, 1280, 4915, 0, 0, 0}, {8192, 106, 1536, 0, 0, 0, 0}, {15, 119, 1799, 4883, 0, 0, 0}, {8352, 19660, 0, 0, 0, 0, 0}, {15, 18, 263, 0, 0, 0, 0}, {34, 520, 17476, 0, 0, 0, 0}, {15, 48, 768, 4176, 0, 0, 0}, {240, 7280, 8304, 20480, 0, 0, 0}, {29, 34, 535, 85, 1041, 4369, 0}, {34, 522, 90, 5130, 0, 0, 0}, {3084, 63, 4940, 0, 0, 0, 0}, {48, 72, 1036, 4096, 0, 0, 0}, {2570, 85, 4896, 0, 0, 0, 0}, {48, 90, 1542, 4112, 0, 0, 0}, {2048, 119, 4864, 0, 0, 0, 0}, {2048, 120, 5120, 0, 0, 0, 0}, {63, 85, 1542, 4883, 0, 0, 0}, {2570, 90, 5674, 0, 0, 0, 0}, {63, 72, 1036, 4876, 0, 0, 0}, {3084, 48, 4160, 0, 0, 0, 0}, {34, 522, 85, 4352, 0, 0, 0}, {522, 1036, 18, 0, 0, 0, 0}, {255, 4991, 0, 0, 0, 0, 0}, {8320, 19584, 0, 0, 0, 0, 0}, {15, 18, 262, 0, 0, 0, 0}, {34, 522, 17408, 0, 0, 0, 0}, {15, 48, 771, 4160, 0, 0, 0}, {8192, 72, 1036, 0, 0, 0, 0}, {15, 85, 1285, 4896, 0, 0, 0}, {8224, 106, 1542, 0, 0, 0, 0}, {15, 119, 1792, 4864, 0, 0, 0}, {136, 2048, 8192, 17408, 0, 0, 0}, {15, 48, 771, 85, 1285, 4112, 0}, {170, 2570, 8224, 17952, 0, 0, 0}, {15, 48, 771, 71, 1027, 4096, 0}, {192, 3084, 8256, 16448, 0, 0, 0}, {15, 34, 517, 85, 1285, 4352, 0}, {34, 522, 72, 1036, 0, 0, 0}, {15, 4976, 0, 0, 0, 0, 0}, {3072, 48, 4176, 0, 0, 0, 0}, {34, 520, 85, 4369, 0, 0, 0}, {520, 1032, 18, 0, 0, 0, 0}, {255, 4972, 0, 0, 0, 0, 0}, {2056, 120, 5140, 0, 0, 0, 0}, {63, 85, 1536, 4864, 0, 0, 0}, {2560, 90, 5692, 0, 0, 0, 0}, {63, 72, 1032, 4895, 0, 0, 0}, {48, 72, 1032, 4112, 0, 0, 0}, {2560, 85, 4915, 0, 0, 0, 0}, {48, 90, 1536, 4096, 0, 0, 0}, {2056, 119, 4883, 0, 0, 0, 0}, {240, 7276, 8272, 20560, 0, 0, 0}, {29, 34, 533, 85, 1045, 4352, 0}, {34, 520, 90, 5150, 0, 0, 0}, {3072, 63, 4959, 0, 0, 0, 0}, {8352, 19456, 0, 0, 0, 0, 0}, {15, 18, 260, 0, 0, 0, 0}, {34, 520, 17408, 0, 0, 0, 0}, {15, 48, 771, 4176, 0, 0, 0}, {8224, 72, 1028, 0, 0, 0, 0}, {15, 85, 1280, 4864, 0, 0, 0}, {8192, 106, 1548, 0, 0, 0, 0}, {15, 119, 1799, 4896, 0, 0, 0}, {136, 2056, 8224, 17408, 0, 0, 0}, {15, 48, 771, 85, 1280, 4096, 0}, {170, 2560, 8192, 17920, 0, 0, 0}, {15, 48, 771, 71, 1028, 4112, 0}, {192, 3084, 8288, 16384, 0, 0, 0}, {15, 34, 519, 85, 1280, 4352, 0}, {34, 520, 72, 1028, 0, 0, 0}, {15, 4944, 0, 0, 0, 0, 0}, {3072, 48, 4160, 0, 0, 0, 0}, {34, 522, 85, 4369, 0, 0, 0}, {522, 1024, 18, 0, 0, 0, 0}, {255, 4940, 0, 0, 0, 0, 0}, {2048, 120, 5180, 0, 0, 0, 0}, {63, 85, 1546, 4895, 0, 0, 0}, {2570, 90, 5654, 0, 0, 0, 0}, {63, 72, 1024, 4864, 0, 0, 0}, {48, 72, 1024, 4096, 0, 0, 0}, {2570, 85, 4883, 0, 0, 0, 0}, {48, 90, 1546, 4112, 0, 0, 0}, {2048, 119, 4915, 0, 0, 0, 0}, {240, 7244, 8304, 20480, 0, 0, 0}, {29, 34, 535, 85, 1024, 4352, 0}, {34, 522, 90, 5140, 0, 0, 0}, {3072, 63, 4928, 0, 0, 0, 0}, {192, 3072, 8192, 16384, 0, 0, 0}, {15, 34, 514, 85, 1285, 4369, 0}, {34, 514, 72, 1032, 0, 0, 0}, {15, 4915, 0, 0, 0, 0, 0}, {136, 2056, 8200, 17476, 0, 0, 0}, {15, 48, 768, 85, 1285, 4101, 0}, {170, 2570, 8202, 18028, 0, 0, 0}, {15, 48, 768, 71, 1031, 4103, 0}, {8200, 72, 1032, 0, 0, 0, 0}, {15, 85, 1285, 4918, 0, 0, 0}, {8202, 106, 1546, 0, 0, 0, 0}, {15, 119, 1799, 4916, 0, 0, 0}, {8192, 19660, 0, 0, 0, 0, 0}, {15, 18, 258, 0, 0, 0, 0}, {34, 514, 17476, 0, 0, 0, 0}, {15, 48, 768, 4096, 0, 0, 0}, {240, 7200, 8224, 20560, 0, 0, 0}, {29, 34, 512, 85, 1041, 4369, 0}, {34, 512, 90, 5120, 0, 0, 0}, {3084, 63, 4883, 0, 0, 0, 0}, {48, 72, 1036, 4120, 0, 0, 0}, {2560, 85, 4906, 0, 0, 0, 0}, {48, 90, 1548, 4122, 0, 0, 0}, {2048, 119, 4904, 0, 0, 0, 0}, {2048, 120, 5160, 0, 0, 0, 0}, {63, 85, 1548, 4889, 0, 0, 0}, {2560, 90, 5674, 0, 0, 0, 0}, {63, 72, 1036, 4891, 0, 0, 0}, {3084, 48, 4112, 0, 0, 0, 0}, {34, 512, 85, 4352, 0, 0, 0}, {512, 1036, 18, 0, 0, 0, 0}, {255, 4896, 0, 0, 0, 0, 0}, {192, 3072, 8224, 16448, 0, 0, 0}, {15, 34, 512, 85, 1280, 4369, 0}, {34, 512, 72, 1024, 0, 0, 0}, {15, 4883, 0, 0, 0, 0, 0}, {136, 2048, 8232, 17476, 0, 0, 0}, {15, 48, 768, 85, 1280, 4117, 0}, {170, 2560, 8234, 17996, 0, 0, 0}, {15, 48, 768, 71, 1024, 4119, 0}, {8232, 72, 1024, 0, 0, 0, 0}, {15, 85, 1280, 4886, 0, 0, 0}, {8234, 106, 1536, 0, 0, 0, 0}, {15, 119, 1792, 4884, 0, 0, 0}, {8224, 19532, 0, 0, 0, 0, 0}, {15, 18, 256, 0, 0, 0, 0}, {34, 512, 17476, 0, 0, 0, 0}, {15, 48, 768, 4112, 0, 0, 0}, {240, 7168, 8192, 20480, 0, 0, 0}, {29, 34, 514, 85, 1028, 4369, 0}, {34, 514, 90, 5130, 0, 0, 0}, {3084, 63, 4876, 0, 0, 0, 0}, {48, 72, 1028, 4104, 0, 0, 0}, {2570, 85, 4874, 0, 0, 0, 0}, {48, 90, 1542, 4106, 0, 0, 0}, {2056, 119, 4872, 0, 0, 0, 0}, {2056, 120, 5120, 0, 0, 0, 0}, {63, 85, 1542, 4870, 0, 0, 0}, {2570, 90, 5632, 0, 0, 0, 0}, {63, 72, 1028, 4868, 0, 0, 0}, {3084, 48, 4096, 0, 0, 0, 0}, {34, 514, 85, 4352, 0, 0, 0}, {514, 1028, 18, 0, 0, 0, 0}, {255, 4864, 0, 0, 0, 0, 0}, {3840, 4608, 0, 0, 0, 0, 0}, {32, 76, 257, 0, 0, 0, 0}, {32, 514, 1290, 4096, 0, 0, 0}, {204, 771, 4403, 0, 0, 0, 0}, {780, 76, 1028, 4360, 0, 0, 0}, {160, 1285, 4698, 0, 0, 0, 0}, {780, 108, 1290, 4362, 0, 0, 0}, {128, 1799, 4728, 0, 0, 0, 0}, {128, 1800, 4616, 0, 0, 0, 0}, {771, 108, 1285, 4409, 0, 0, 0}, {160, 1290, 4618, 0, 0, 0, 0}, {771, 76, 1028, 4411, 0, 0, 0}, {204, 780, 4352, 0, 0, 0, 0}, {32, 514, 1285, 4176, 0, 0, 0}, {270, 32, 514, 322, 1028, 4354, 0}, {4848, 3855, 8704, 18191, 0, 0, 0}, {32, 512, 1360, 4112, 0, 0, 0}, {204, 819, 4369, 0, 0, 0, 0}, {4080, 4626, 0, 0, 0, 0, 0}, {32, 76, 275, 0, 0, 0, 0}, {828, 108, 1340, 4392, 0, 0, 0}, {128, 1919, 4714, 0, 0, 0, 0}, {828, 76, 1024, 4394, 0, 0, 0}, {160, 1375, 4680, 0, 0, 0, 0}, {160, 1360, 4632, 0, 0, 0, 0}, {819, 76, 1024, 4377, 0, 0, 0}, {128, 1904, 4634, 0, 0, 0, 0}, {819, 108, 1331, 4379, 0, 0, 0}, {284, 32, 512, 336, 1024, 4352, 0}, {4834, 7453, 8738, 21845, 0, 0, 0}, {204, 828, 4386, 0, 0, 0, 0}, {32, 512, 1375, 4160, 0, 0, 0}, {32, 512, 1280, 4096, 0, 0, 0}, {204, 771, 4369, 0, 0, 0, 0}, {3840, 4642, 0, 0, 0, 0, 0}, {32, 76, 259, 0, 0, 0, 0}, {780, 108, 1280, 4392, 0, 0, 0}, {128, 1807, 4698, 0, 0, 0, 0}, {780, 76, 1036, 4394, 0, 0, 0}, {160, 1295, 4728, 0, 0, 0, 0}, {160, 1280, 4648, 0, 0, 0, 0}, {771, 76, 1036, 4377, 0, 0, 0}, {128, 1792, 4650, 0, 0, 0, 0}, {771, 108, 1295, 4379, 0, 0, 0}, {268, 32, 512, 320, 1280, 4352, 0}, {4818, 3855, 8738, 21845, 0, 0, 0}, {204, 780, 4386, 0, 0, 0, 0}, {32, 512, 1295, 4176, 0, 0, 0}, {4080, 4656, 0, 0, 0, 0, 0}, {32, 76, 273, 0, 0, 0, 0}, {32, 514, 1370, 4112, 0, 0, 0}, {204, 819, 4403, 0, 0, 0, 0}, {828, 76, 1032, 4360, 0, 0, 0}, {160, 1365, 4714, 0, 0, 0, 0}, {828, 108, 1334, 4362, 0, 0, 0}, {128, 1911, 4680, 0, 0, 0, 0}, {128, 1912, 4664, 0, 0, 0, 0}, {819, 108, 1337, 4409, 0, 0, 0}, {160, 1370, 4666, 0, 0, 0, 0}, {819, 76, 1032, 4411, 0, 0, 0}, {204, 828, 4352, 0, 0, 0, 0}, {32, 514, 1365, 4160, 0, 0, 0}, {286, 32, 514, 338, 1302, 4354, 0}, {4800, 7487, 8704, 18239, 0, 0, 0}, {128, 1792, 4672, 0, 0, 0, 0}, {783, 108, 1285, 4369, 0, 0, 0}, {160, 1290, 4674, 0, 0, 0, 0}, {783, 76, 1024, 4403, 0, 0, 0}, {204, 768, 4420, 0, 0, 0, 0}, {32, 522, 1285, 4112, 0, 0, 0}, {266, 32, 768, 326, 1024, 4096, 0}, {4792, 3855, 12336, 18247, 0, 0, 0}, {3840, 4680, 0, 0, 0, 0, 0}, {32, 76, 261, 0, 0, 0, 0}, {32, 522, 1290, 4160, 0, 0, 0}, {204, 783, 4471, 0, 0, 0, 0}, {768, 76, 1024, 4352, 0, 0, 0}, {160, 1285, 4626, 0, 0, 0, 0}, {768, 108, 1290, 4386, 0, 0, 0}, {128, 1807, 4656, 0, 0, 0, 0}, {160, 1360, 4688, 0, 0, 0, 0}, {831, 76, 1028, 4369, 0, 0, 0}, {128, 1912, 4690, 0, 0, 0, 0}, {831, 108, 1331, 4403, 0, 0, 0}, {280, 32, 784, 340, 1028, 4112, 0}, {4778, 7509, 12288, 21845, 0, 0, 0}, {204, 816, 4454, 0, 0, 0, 0}, {32, 520, 1375, 4096, 0, 0, 0}, {32, 520, 1360, 4176, 0, 0, 0}, {204, 831, 4437, 0, 0, 0, 0}, {4080, 4698, 0, 0, 0, 0, 0}, {32, 76, 279, 0, 0, 0, 0}, {816, 108, 1340, 4352, 0, 0, 0}, {128, 1911, 4642, 0, 0, 0, 0}, {816, 76, 1028, 4386, 0, 0, 0}, {160, 1375, 4608, 0, 0, 0, 0}, {160, 1280, 4704, 0, 0, 0, 0}, {783, 76, 1032, 4369, 0, 0, 0}, {128, 1800, 4706, 0, 0, 0, 0}, {783, 108, 1295, 4403, 0, 0, 0}, {264, 32, 768, 324, 1280, 4096, 0}, {4762, 3855, 12336, 21845, 0, 0, 0}, {204, 768, 4454, 0, 0, 0, 0}, {32, 520, 1295, 4112, 0, 0, 0}, {32, 520, 1280, 4160, 0, 0, 0}, {204, 783, 4437, 0, 0, 0, 0}, {3840, 4714, 0, 0, 0, 0, 0}, {32, 76, 263, 0, 0, 0, 0}, {768, 108, 1280, 4352, 0, 0, 0}, {128, 1799, 4626, 0, 0, 0, 0}, {768, 76, 1032, 4386, 0, 0, 0}, {160, 1295, 4656, 0, 0, 0, 0}, {128, 1904, 4720, 0, 0, 0, 0}, {831, 108, 1337, 4369, 0, 0, 0}, {160, 1370, 4722, 0, 0, 0, 0}, {831, 76, 1036, 4403, 0, 0, 0}, {204, 816, 4420, 0, 0, 0, 0}, {32, 522, 1365, 4096, 0, 0, 0}, {282, 32, 784, 342, 1302, 4112, 0}, {4744, 7543, 12288, 18295, 0, 0, 0}, {4080, 4728, 0, 0, 0, 0, 0}, {32, 76, 277, 0, 0, 0, 0}, {32, 522, 1370, 4176, 0, 0, 0}, {204, 831, 4471, 0, 0, 0, 0}, {816, 76, 1036, 4352, 0, 0, 0}, {160, 1365, 4642, 0, 0, 0, 0}, {816, 108, 1334, 4386, 0, 0, 0}, {128, 1919, 4608, 0, 0, 0, 0}, {128, 1792, 4608, 0, 0, 0, 0}, {771, 108, 1285, 4369, 0, 0, 0}, {160, 1290, 4642, 0, 0, 0, 0}, {771, 76, 1036, 4403, 0, 0, 0}, {204, 780, 4420, 0, 0, 0, 0}, {32, 522, 1285, 4176, 0, 0, 0}, {32, 76, 262, 0, 0, 0, 0}, {3855, 4728, 0, 0, 0, 0, 0}, {4744, 3840, 12288, 21760, 0, 0, 0}, {265, 32, 771, 325, 1285, 4112, 0}, {32, 522, 1290, 4096, 0, 0, 0}, {204, 771, 4471, 0, 0, 0, 0}, {780, 76, 1036, 4352, 0, 0, 0}, {160, 1285, 4722, 0, 0, 0, 0}, {780, 108, 1290, 4386, 0, 0, 0}, {128, 1807, 4720, 0, 0, 0, 0}, {160, 1360, 4656, 0, 0, 0, 0}, {819, 76, 1032, 4369, 0, 0, 0}, {128, 1912, 4626, 0, 0, 0, 0}, {819, 108, 1331, 4403, 0, 0, 0}, {32, 76, 276, 0, 0, 0, 0}, {4095, 4714, 0, 0, 0, 0, 0}, {204, 828, 4454, 0, 0, 0, 0}, {32, 520, 1375, 4160, 0, 0, 0}, {32, 520, 1360, 4112, 0, 0, 0}, {204, 819, 4437, 0, 0, 0, 0}, {4762, 7530, 12336, 18224, 0, 0, 0}, {283, 32, 787, 343, 1299, 4096, 0}, {828, 108, 1340, 4352, 0, 0, 0}, {128, 1911, 4706, 0, 0, 0, 0}, {828, 76, 1032, 4386, 0, 0, 0}, {160, 1375, 4704, 0, 0, 0, 0}, {160, 1280, 4608, 0, 0, 0, 0}, {771, 76, 1028, 4369, 0, 0, 0}, {128, 1800, 4642, 0, 0, 0, 0}, {771, 108, 1295, 4403, 0, 0, 0}, {32, 76, 260, 0, 0, 0, 0}, {3855, 4698, 0, 0, 0, 0, 0}, {204, 780, 4454, 0, 0, 0, 0}, {32, 520, 1295, 4176, 0, 0, 0}, {32, 520, 1280, 4096, 0, 0, 0}, {204, 771, 4437, 0, 0, 0, 0}, {4778, 3840, 12288, 18176, 0, 0, 0}, {267, 32, 771, 327, 1028, 4112, 0}, {780, 108, 1280, 4352, 0, 0, 0}, {128, 1799, 4690, 0, 0, 0, 0}, {780, 76, 1028, 4386, 0, 0, 0}, {160, 1295, 4688, 0, 0, 0, 0}, {128, 1904, 4656, 0, 0, 0, 0}, {819, 108, 1337, 4369, 0, 0, 0}, {160, 1370, 4626, 0, 0, 0, 0}, {819, 76, 1024, 4403, 0, 0, 0}, {204, 828, 4420, 0, 0, 0, 0}, {32, 522, 1365, 4160, 0, 0, 0}, {32, 76, 278, 0, 0, 0, 0}, {4095, 4680, 0, 0, 0, 0, 0}, {4792, 7496, 12336, 21760, 0, 0, 0}, {281, 32, 787, 341, 1024, 4096, 0}, {32, 522, 1370, 4112, 0, 0, 0}, {204, 819, 4471, 0, 0, 0, 0}, {828, 76, 1024, 4352, 0, 0, 0}, {160, 1365, 4674, 0, 0, 0, 0}, {828, 108, 1334, 4386, 0, 0, 0}, {128, 1919, 4672, 0, 0, 0, 0}, {4800, 3840, 8704, 21760, 0, 0, 0}, {269, 32, 514, 321, 1285, 4369, 0}, {32, 514, 1290, 4160, 0, 0, 0}, {204, 783, 4403, 0, 0, 0, 0}, {768, 76, 1032, 4360, 0, 0, 0}, {160, 1285, 4666, 0, 0, 0, 0}, {768, 108, 1290, 4362, 0, 0, 0}, {128, 1799, 4664, 0, 0, 0, 0}, {128, 1800, 4680, 0, 0, 0, 0}, {783, 108, 1285, 4409, 0, 0, 0}, {160, 1290, 4714, 0, 0, 0, 0}, {783, 76, 1032, 4411, 0, 0, 0}, {204, 768, 4352, 0, 0, 0, 0}, {32, 514, 1285, 4112, 0, 0, 0}, {32, 76, 258, 0, 0, 0, 0}, {3855, 4656, 0, 0, 0, 0, 0}, {32, 512, 1360, 4176, 0, 0, 0}, {204, 831, 4369, 0, 0, 0, 0}, {4818, 7458, 8738, 18296, 0, 0, 0}, {287, 32, 512, 339, 1299, 4371, 0}, {816, 108, 1340, 4392, 0, 0, 0}, {128, 1919, 4650, 0, 0, 0, 0}, {816, 76, 1036, 4394, 0, 0, 0}, {160, 1375, 4648, 0, 0, 0, 0}, {160, 1360, 4728, 0, 0, 0, 0}, {831, 76, 1036, 4377, 0, 0, 0}, {128, 1904, 4698, 0, 0, 0, 0}, {831, 108, 1331, 4379, 0, 0, 0}, {32, 76, 272, 0, 0, 0, 0}, {4095, 4642, 0, 0, 0, 0, 0}, {204, 816, 4386, 0, 0, 0, 0}, {32, 512, 1375, 4096, 0, 0, 0}, {32, 512, 1280, 4160, 0, 0, 0}, {204, 783, 4369, 0, 0, 0, 0}, {4834, 3840, 8738, 18248, 0, 0, 0}, {271, 32, 512, 323, 1024, 4371, 0}, {768, 108, 1280, 4392, 0, 0, 0}, {128, 1807, 4634, 0, 0, 0, 0}, {768, 76, 1024, 4394, 0, 0, 0}, {160, 1295, 4632, 0, 0, 0, 0}, {160, 1280, 4680, 0, 0, 0, 0}, {783, 76, 1024, 4377, 0, 0, 0}, {128, 1792, 4714, 0, 0, 0, 0}, {783, 108, 1295, 4379, 0, 0, 0}, {32, 76, 256, 0, 0, 0, 0}, {3855, 4626, 0, 0, 0, 0, 0}, {204, 768, 4386, 0, 0, 0, 0}, {32, 512, 1295, 4112, 0, 0, 0}, {4848, 7424, 8704, 21760, 0, 0, 0}, {285, 32, 514, 337, 1028, 4369, 0}, {32, 514, 1370, 4176, 0, 0, 0}, {204, 831, 4403, 0, 0, 0, 0}, {816, 76, 1028, 4360, 0, 0, 0}, {160, 1365, 4618, 0, 0, 0, 0}, {816, 108, 1334, 4362, 0, 0, 0}, {128, 1911, 4616, 0, 0, 0, 0}, {128, 1912, 4728, 0, 0, 0, 0}, {831, 108, 1337, 4409, 0, 0, 0}, {160, 1370, 4698, 0, 0, 0, 0}, {831, 76, 1028, 4411, 0, 0, 0}, {204, 816, 4352, 0, 0, 0, 0}, {32, 514, 1365, 4096, 0, 0, 0}, {32, 76, 274, 0, 0, 0, 0}, {4095, 4608, 0, 0, 0, 0, 0}, {8704, 17408, 0, 0, 0, 0, 0}, {15, 16, 257, 0, 0, 0, 0}, {32, 514, 17416, 0, 0, 0, 0}, {15, 48, 771, 4355, 0, 0, 0}, {8712, 64, 1028, 0, 0, 0, 0}, {15, 80, 1285, 4357, 0, 0, 0}, {8714, 96, 1542, 0, 0, 0, 0}, {15, 112, 1799, 4359, 0, 0, 0}, {128, 2056, 8712, 17416, 0, 0, 0}, {15, 48, 771, 80, 1285, 4358, 0}, {160, 2570, 8714, 17408, 0, 0, 0}, {15, 48, 771, 64, 1028, 4356, 0}, {192, 3084, 8704, 17420, 0, 0, 0}, {15, 32, 514, 80, 1285, 4354, 0}, {32, 514, 64, 1028, 0, 0, 0}, {15, 4352, 0, 0, 0, 0, 0}, {512, 1024, 16, 0, 0, 0, 0}, {255, 4369, 0, 0, 0, 0, 0}, {3072, 48, 4626, 0, 0, 0, 0}, {32, 512, 95, 4371, 0, 0, 0}, {2560, 80, 5140, 0, 0, 0, 0}, {63, 64, 1024, 4373, 0, 0, 0}, {2048, 112, 5654, 0, 0, 0, 0}, {63, 95, 1536, 4375, 0, 0, 0}, {48, 80, 1536, 4632, 0, 0, 0}, {2048, 127, 4377, 0, 0, 0, 0}, {48, 64, 1024, 4634, 0, 0, 0}, {2560, 95, 4379, 0, 0, 0, 0}, {32, 512, 80, 5148, 0, 0, 0}, {3072, 63, 4381, 0, 0, 0, 0}, {240, 7710, 8738, 17476, 0, 0, 0}, {31, 32, 512, 64, 1024, 4352, 0}, {32, 512, 17408, 0, 0, 0, 0}, {15, 48, 771, 4369, 0, 0, 0}, {8738, 17544, 0, 0, 0, 0, 0}, {15, 16, 259, 0, 0, 0, 0}, {8744, 96, 1548, 0, 0, 0, 0}, {15, 112, 1792, 4389, 0, 0, 0}, {8746, 64, 1036, 0, 0, 0, 0}, {15, 80, 1280, 4391, 0, 0, 0}, {160, 2560, 8744, 17448, 0, 0, 0}, {15, 48, 771, 64, 1027, 4374, 0}, {128, 2048, 8746, 17408, 0, 0, 0}, {15, 48, 771, 80, 1280, 4372, 0}, {32, 512, 64, 1036, 0, 0, 0}, {15, 4386, 0, 0, 0, 0, 0}, {192, 3084, 8738, 17476, 0, 0, 0}, {15, 32, 512, 80, 1280, 4352, 0}, {3072, 48, 4608, 0, 0, 0, 0}, {32, 514, 95, 4369, 0, 0, 0}, {514, 1032, 16, 0, 0, 0, 0}, {255, 4403, 0, 0, 0, 0, 0}, {2056, 112, 5692, 0, 0, 0, 0}, {63, 95, 1546, 4362, 0, 0, 0}, {2570, 80, 5180, 0, 0, 0, 0}, {63, 64, 1032, 4360, 0, 0, 0}, {48, 64, 1032, 4616, 0, 0, 0}, {2570, 95, 4409, 0, 0, 0, 0}, {48, 80, 1546, 4618, 0, 0, 0}, {2056, 127, 4411, 0, 0, 0, 0}, {240, 7740, 8704, 17468, 0, 0, 0}, {31, 32, 514, 64, 1047, 4354, 0}, {32, 514, 80, 5140, 0, 0, 0}, {3072, 63, 4352, 0, 0, 0, 0}, {8704, 64, 1024, 0, 0, 0, 0}, {15, 80, 1285, 4369, 0, 0, 0}, {8738, 96, 1546, 0, 0, 0, 0}, {15, 112, 1792, 4403, 0, 0, 0}, {8840, 17476, 0, 0, 0, 0, 0}, {15, 16, 261, 0, 0, 0, 0}, {32, 522, 17484, 0, 0, 0, 0}, {15, 48, 768, 4423, 0, 0, 0}, {192, 3072, 8776, 17480, 0, 0, 0}, {15, 32, 517, 80, 1285, 4374, 0}, {32, 522, 64, 1024, 0, 0, 0}, {15, 4420, 0, 0, 0, 0, 0}, {128, 2048, 8704, 17484, 0, 0, 0}, {15, 48, 768, 80, 1285, 4370, 0}, {160, 2570, 8738, 17476, 0, 0, 0}, {15, 48, 768, 64, 1024, 4352, 0}, {2560, 80, 5120, 0, 0, 0, 0}, {63, 64, 1028, 4369, 0, 0, 0}, {2056, 112, 5674, 0, 0, 0, 0}, {63, 95, 1548, 4364, 0, 0, 0}, {520, 1028, 16, 0, 0, 0, 0}, {255, 4437, 0, 0, 0, 0, 0}, {3084, 48, 4698, 0, 0, 0, 0}, {32, 520, 95, 4360, 0, 0, 0}, {32, 520, 80, 5128, 0, 0, 0}, {3084, 63, 4441, 0, 0, 0, 0}, {240, 7770, 8794, 17408, 0, 0, 0}, {31, 32, 535, 64, 1028, 4356, 0}, {48, 80, 1548, 4608, 0, 0, 0}, {2056, 127, 4386, 0, 0, 0, 0}, {48, 64, 1028, 4626, 0, 0, 0}, {2560, 95, 4352, 0, 0, 0, 0}, {8704, 96, 1536, 0, 0, 0, 0}, {15, 112, 1799, 4369, 0, 0, 0}, {8738, 64, 1032, 0, 0, 0, 0}, {15, 80, 1280, 4403, 0, 0, 0}, {32, 520, 17476, 0, 0, 0, 0}, {15, 48, 768, 4437, 0, 0, 0}, {8874, 17612, 0, 0, 0, 0, 0}, {15, 16, 263, 0, 0, 0, 0}, {32, 520, 64, 1032, 0, 0, 0}, {15, 4454, 0, 0, 0, 0, 0}, {192, 3072, 8810, 17408, 0, 0, 0}, {15, 32, 519, 80, 1280, 4372, 0}, {160, 2560, 8704, 17516, 0, 0, 0}, {15, 48, 768, 64, 1031, 4370, 0}, {128, 2056, 8738, 17476, 0, 0, 0}, {15, 48, 768, 80, 1280, 4352, 0}, {2048, 112, 5632, 0, 0, 0, 0}, {63, 95, 1542, 4369, 0, 0, 0}, {2570, 80, 5160, 0, 0, 0, 0}, {63, 64, 1036, 4364, 0, 0, 0}, {3084, 48, 4680, 0, 0, 0, 0}, {32, 522, 95, 4362, 0, 0, 0}, {522, 1036, 16, 0, 0, 0, 0}, {255, 4471, 0, 0, 0, 0, 0}, {240, 7800, 8824, 17528, 0, 0, 0}, {31, 32, 533, 64, 1043, 4358, 0}, {32, 522, 80, 5120, 0, 0, 0}, {3084, 63, 4420, 0, 0, 0, 0}, {48, 64, 1036, 4608, 0, 0, 0}, {2570, 95, 4386, 0, 0, 0, 0}, {48, 80, 1542, 4626, 0, 0, 0}, {2048, 127, 4352, 0, 0, 0, 0}, {128, 2048, 8704, 17408, 0, 0, 0}, {15, 48, 771, 80, 1285, 4369, 0}, {160, 2570, 8738, 17448, 0, 0, 0}, {15, 48, 771, 64, 1027, 4355, 0}, {192, 3084, 8776, 17476, 0, 0, 0}, {15, 32, 517, 80, 1285, 4357, 0}, {32, 522, 64, 1036, 0, 0, 0}, {15, 4471, 0, 0, 0, 0, 0}, {8840, 17544, 0, 0, 0, 0, 0}, {15, 16, 262, 0, 0, 0, 0}, {32, 522, 17408, 0, 0, 0, 0}, {15, 48, 771, 4420, 0, 0, 0}, {8704, 64, 1036, 0, 0, 0, 0}, {15, 80, 1285, 4386, 0, 0, 0}, {8738, 96, 1542, 0, 0, 0, 0}, {15, 112, 1792, 4352, 0, 0, 0}, {48, 80, 1536, 4608, 0, 0, 0}, {2056, 127, 4369, 0, 0, 0, 0}, {48, 64, 1032, 4626, 0, 0, 0}, {2560, 95, 4403, 0, 0, 0, 0}, {32, 520, 80, 5140, 0, 0, 0}, {3072, 63, 4437, 0, 0, 0, 0}, {240, 7782, 8794, 17468, 0, 0, 0}, {31, 32, 535, 64, 1047, 4375, 0}, {520, 1032, 16, 0, 0, 0, 0}, {255, 4454, 0, 0, 0, 0, 0}, {3072, 48, 4698, 0, 0, 0, 0}, {32, 520, 95, 4379, 0, 0, 0}, {2560, 80, 5180, 0, 0, 0, 0}, {63, 64, 1032, 4381, 0, 0, 0}, {2056, 112, 5654, 0, 0, 0, 0}, {63, 95, 1536, 4352, 0, 0, 0}, {160, 2560, 8704, 17408, 0, 0, 0}, {15, 48, 771, 64, 1028, 4369, 0}, {128, 2056, 8738, 17416, 0, 0, 0}, {15, 48, 771, 80, 1280, 4355, 0}, {32, 520, 64, 1028, 0, 0, 0}, {15, 4437, 0, 0, 0, 0, 0}, {192, 3084, 8810, 17420, 0, 0, 0}, {15, 32, 519, 80, 1280, 4359, 0}, {32, 520, 17416, 0, 0, 0, 0}, {15, 48, 771, 4438, 0, 0, 0}, {8874, 17408, 0, 0, 0, 0, 0}, {15, 16, 260, 0, 0, 0, 0}, {8704, 96, 1548, 0, 0, 0, 0}, {15, 112, 1799, 4386, 0, 0, 0}, {8738, 64, 1028, 0, 0, 0, 0}, {15, 80, 1280, 4352, 0, 0, 0}, {48, 64, 1024, 4608, 0, 0, 0}, {2570, 95, 4369, 0, 0, 0, 0}, {48, 80, 1546, 4626, 0, 0, 0}, {2048, 127, 4403, 0, 0, 0, 0}, {240, 7748, 8824, 17476, 0, 0, 0}, {31, 32, 533, 64, 1024, 4373, 0}, {32, 522, 80, 5148, 0, 0, 0}, {3072, 63, 4424, 0, 0, 0, 0}, {3072, 48, 4680, 0, 0, 0, 0}, {32, 522, 95, 4377, 0, 0, 0}, {522, 1024, 16, 0, 0, 0, 0}, {255, 4420, 0, 0, 0, 0, 0}, {2048, 112, 5692, 0, 0, 0, 0}, {63, 95, 1546, 4381, 0, 0, 0}, {2570, 80, 5140, 0, 0, 0, 0}, {63, 64, 1024, 4352, 0, 0, 0}, {192, 3072, 8704, 17408, 0, 0, 0}, {15, 32, 514, 80, 1285, 4369, 0}, {32, 514, 64, 1032, 0, 0, 0}, {15, 4403, 0, 0, 0, 0, 0}, {128, 2056, 8712, 17476, 0, 0, 0}, {15, 48, 768, 80, 1285, 4357, 0}, {160, 2570, 8714, 17516, 0, 0, 0}, {15, 48, 768, 64, 1031, 4359, 0}, {8712, 64, 1032, 0, 0, 0, 0}, {15, 80, 1285, 4406, 0, 0, 0}, {8714, 96, 1546, 0, 0, 0, 0}, {15, 112, 1799, 4404, 0, 0, 0}, {8704, 17612, 0, 0, 0, 0, 0}, {15, 16, 258, 0, 0, 0, 0}, {32, 514, 17476, 0, 0, 0, 0}, {15, 48, 768, 4352, 0, 0, 0}, {32, 512, 80, 5120, 0, 0, 0}, {3084, 63, 4369, 0, 0, 0, 0}, {240, 7714, 8738, 17528, 0, 0, 0}, {31, 32, 512, 64, 1043, 4371, 0}, {48, 80, 1548, 4632, 0, 0, 0}, {2048, 127, 4394, 0, 0, 0, 0}, {48, 64, 1036, 4634, 0, 0, 0}, {2560, 95, 4392, 0, 0, 0, 0}, {2560, 80, 5160, 0, 0, 0, 0}, {63, 64, 1036, 4377, 0, 0, 0}, {2048, 112, 5674, 0, 0, 0, 0}, {63, 95, 1548, 4379, 0, 0, 0}, {512, 1036, 16, 0, 0, 0, 0}, {255, 4386, 0, 0, 0, 0, 0}, {3084, 48, 4626, 0, 0, 0, 0}, {32, 512, 95, 4352, 0, 0, 0}, {32, 512, 64, 1024, 0, 0, 0}, {15, 4369, 0, 0, 0, 0, 0}, {192, 3072, 8738, 17480, 0, 0, 0}, {15, 32, 512, 80, 1280, 4371, 0}, {160, 2560, 8744, 17476, 0, 0, 0}, {15, 48, 768, 64, 1024, 4373, 0}, {128, 2048, 8746, 17484, 0, 0, 0}, {15, 48, 768, 80, 1280, 4375, 0}, {8744, 96, 1536, 0, 0, 0, 0}, {15, 112, 1792, 4374, 0, 0, 0}, {8746, 64, 1024, 0, 0, 0, 0}, {15, 80, 1280, 4372, 0, 0, 0}, {32, 512, 17484, 0, 0, 0, 0}, {15, 48, 768, 4370, 0, 0, 0}, {8738, 17476, 0, 0, 0, 0, 0}, {15, 16, 256, 0, 0, 0, 0}, {240, 7680, 8704, 17408, 0, 0, 0}, {31, 32, 514, 64, 1028, 4369, 0}, {32, 514, 80, 5128, 0, 0, 0}, {3084, 63, 4364, 0, 0, 0, 0}, {48, 64, 1028, 4616, 0, 0, 0}, {2570, 95, 4362, 0, 0, 0, 0}, {48, 80, 1542, 4618, 0, 0, 0}, {2056, 127, 4360, 0, 0, 0, 0}, {2056, 112, 5632, 0, 0, 0, 0}, {63, 95, 1542, 4358, 0, 0, 0}, {2570, 80, 5120, 0, 0, 0, 0}, {63, 64, 1028, 4356, 0, 0, 0}, {3084, 48, 4608, 0, 0, 0, 0}, {32, 514, 95, 4354, 0, 0, 0}, {514, 1028, 16, 0, 0, 0, 0}, {255, 4352, 0, 0, 0, 0, 0}, {3840, 4096, 0, 0, 0, 0, 0}, {34, 68, 257, 0, 0, 0, 0}, {34, 514, 1290, 4098, 0, 0, 0}, {204, 771, 4144, 0, 0, 0, 0}, {780, 68, 1028, 4100, 0, 0, 0}, {170, 1285, 4176, 0, 0, 0, 0}, {780, 102, 1290, 4102, 0, 0, 0}, {136, 1799, 4208, 0, 0, 0, 0}, {136, 1800, 4104, 0, 0, 0, 0}, {771, 102, 1285, 4154, 0, 0, 0}, {170, 1290, 4106, 0, 0, 0, 0}, {771, 68, 1028, 4152, 0, 0, 0}, {204, 780, 4108, 0, 0, 0, 0}, {34, 514, 1285, 4184, 0, 0, 0}, {270, 34, 514, 68, 1028, 4352, 0}, {4336, 3855, 8192, 16384, 0, 0, 0}, {4080, 4112, 0, 0, 0, 0, 0}, {34, 68, 273, 0, 0, 0, 0}, {34, 512, 1370, 4114, 0, 0, 0}, {204, 819, 4128, 0, 0, 0, 0}, {828, 68, 1024, 4116, 0, 0, 0}, {170, 1365, 4160, 0, 0, 0, 0}, {828, 102, 1340, 4118, 0, 0, 0}, {136, 1911, 4192, 0, 0, 0, 0}, {136, 1912, 4120, 0, 0, 0, 0}, {819, 102, 1331, 4138, 0, 0, 0}, {170, 1370, 4122, 0, 0, 0, 0}, {819, 68, 1024, 4136, 0, 0, 0}, {204, 828, 4124, 0, 0, 0, 0}, {34, 512, 1365, 4168, 0, 0, 0}, {286, 34, 512, 68, 1024, 4352, 0}, {4320, 7967, 8224, 16448, 0, 0, 0}, {3840, 4128, 0, 0, 0, 0, 0}, {34, 68, 259, 0, 0, 0, 0}, {34, 512, 1280, 4096, 0, 0, 0}, {204, 771, 4112, 0, 0, 0, 0}, {780, 68, 1036, 4132, 0, 0, 0}, {170, 1295, 4208, 0, 0, 0, 0}, {780, 102, 1280, 4134, 0, 0, 0}, {136, 1807, 4176, 0, 0, 0, 0}, {136, 1792, 4136, 0, 0, 0, 0}, {771, 102, 1295, 4122, 0, 0, 0}, {170, 1280, 4138, 0, 0, 0, 0}, {771, 68, 1036, 4120, 0, 0, 0}, {204, 780, 4140, 0, 0, 0, 0}, {34, 512, 1295, 4186, 0, 0, 0}, {268, 34, 512, 68, 1280, 4352, 0}, {4304, 3855, 8224, 20560, 0, 0, 0}, {4080, 4144, 0, 0, 0, 0, 0}, {34, 68, 275, 0, 0, 0, 0}, {34, 514, 1360, 4112, 0, 0, 0}, {204, 819, 4096, 0, 0, 0, 0}, {828, 68, 1032, 4148, 0, 0, 0}, {170, 1375, 4192, 0, 0, 0, 0}, {828, 102, 1334, 4150, 0, 0, 0}, {136, 1919, 4160, 0, 0, 0, 0}, {136, 1904, 4152, 0, 0, 0, 0}, {819, 102, 1337, 4106, 0, 0, 0}, {170, 1360, 4154, 0, 0, 0, 0}, {819, 68, 1032, 4104, 0, 0, 0}, {204, 828, 4156, 0, 0, 0, 0}, {34, 514, 1375, 4170, 0, 0, 0}, {284, 34, 514, 68, 1300, 4352, 0}, {4288, 7999, 8192, 20480, 0, 0, 0}, {3840, 4160, 0, 0, 0, 0, 0}, {34, 68, 261, 0, 0, 0, 0}, {34, 522, 1290, 4162, 0, 0, 0}, {204, 783, 4208, 0, 0, 0, 0}, {768, 68, 1024, 4096, 0, 0, 0}, {170, 1285, 4112, 0, 0, 0, 0}, {768, 102, 1290, 4128, 0, 0, 0}, {136, 1807, 4144, 0, 0, 0, 0}, {136, 1792, 4168, 0, 0, 0, 0}, {783, 102, 1285, 4124, 0, 0, 0}, {170, 1290, 4170, 0, 0, 0, 0}, {783, 68, 1024, 4156, 0, 0, 0}, {204, 768, 4172, 0, 0, 0, 0}, {34, 522, 1285, 4120, 0, 0, 0}, {266, 34, 768, 68, 1024, 4352, 0}, {4272, 3855, 12336, 16448, 0, 0, 0}, {4080, 4176, 0, 0, 0, 0, 0}, {34, 68, 277, 0, 0, 0, 0}, {34, 520, 1370, 4178, 0, 0, 0}, {204, 831, 4192, 0, 0, 0, 0}, {816, 68, 1028, 4112, 0, 0, 0}, {170, 1365, 4096, 0, 0, 0, 0}, {816, 102, 1340, 4144, 0, 0, 0}, {136, 1919, 4128, 0, 0, 0, 0}, {136, 1904, 4184, 0, 0, 0, 0}, {831, 102, 1331, 4108, 0, 0, 0}, {170, 1370, 4186, 0, 0, 0, 0}, {831, 68, 1028, 4140, 0, 0, 0}, {204, 816, 4188, 0, 0, 0, 0}, {34, 520, 1365, 4104, 0, 0, 0}, {282, 34, 786, 68, 1028, 4352, 0}, {4256, 8031, 12288, 16384, 0, 0, 0}, {3840, 4192, 0, 0, 0, 0, 0}, {34, 68, 263, 0, 0, 0, 0}, {34, 520, 1280, 4160, 0, 0, 0}, {204, 783, 4176, 0, 0, 0, 0}, {768, 68, 1032, 4128, 0, 0, 0}, {170, 1295, 4144, 0, 0, 0, 0}, {768, 102, 1280, 4096, 0, 0, 0}, {136, 1799, 4112, 0, 0, 0, 0}, {136, 1800, 4200, 0, 0, 0, 0}, {783, 102, 1295, 4156, 0, 0, 0}, {170, 1280, 4202, 0, 0, 0, 0}, {783, 68, 1032, 4124, 0, 0, 0}, {204, 768, 4204, 0, 0, 0, 0}, {34, 520, 1295, 4122, 0, 0, 0}, {264, 34, 768, 68, 1280, 4352, 0}, {4240, 3855, 12336, 20560, 0, 0, 0}, {4080, 4208, 0, 0, 0, 0, 0}, {34, 68, 279, 0, 0, 0, 0}, {34, 522, 1360, 4176, 0, 0, 0}, {204, 831, 4160, 0, 0, 0, 0}, {816, 68, 1036, 4144, 0, 0, 0}, {170, 1375, 4128, 0, 0, 0, 0}, {816, 102, 1334, 4112, 0, 0, 0}, {136, 1911, 4096, 0, 0, 0, 0}, {136, 1912, 4216, 0, 0, 0, 0}, {831, 102, 1337, 4140, 0, 0, 0}, {170, 1360, 4218, 0, 0, 0, 0}, {831, 68, 1036, 4108, 0, 0, 0}, {204, 816, 4220, 0, 0, 0, 0}, {34, 522, 1375, 4106, 0, 0, 0}, {280, 34, 786, 68, 1300, 4352, 0}, {4224, 8063, 12288, 20480, 0, 0, 0}, {4224, 3840, 12288, 20480, 0, 0, 0}, {265, 34, 771, 68, 1285, 4369, 0}, {34, 522, 1290, 4106, 0, 0, 0}, {204, 771, 4220, 0, 0, 0, 0}, {780, 68, 1036, 4108, 0, 0, 0}, {170, 1285, 4218, 0, 0, 0, 0}, {780, 102, 1290, 4140, 0, 0, 0}, {136, 1807, 4216, 0, 0, 0, 0}, {136, 1792, 4096, 0, 0, 0, 0}, {771, 102, 1285, 4112, 0, 0, 0}, {170, 1290, 4128, 0, 0, 0, 0}, {771, 68, 1036, 4144, 0, 0, 0}, {204, 780, 4160, 0, 0, 0, 0}, {34, 522, 1285, 4176, 0, 0, 0}, {34, 68, 262, 0, 0, 0, 0}, {3855, 4208, 0, 0, 0, 0, 0}, {4240, 8032, 12336, 20560, 0, 0, 0}, {281, 34, 785, 68, 1297, 4369, 0}, {34, 520, 1370, 4122, 0, 0, 0}, {204, 819, 4204, 0, 0, 0, 0}, {828, 68, 1032, 4124, 0, 0, 0}, {170, 1365, 4202, 0, 0, 0, 0}, {828, 102, 1340, 4156, 0, 0, 0}, {136, 1919, 4200, 0, 0, 0, 0}, {136, 1904, 4112, 0, 0, 0, 0}, {819, 102, 1331, 4096, 0, 0, 0}, {170, 1370, 4144, 0, 0, 0, 0}, {819, 68, 1032, 4128, 0, 0, 0}, {204, 828, 4176, 0, 0, 0, 0}, {34, 520, 1365, 4160, 0, 0, 0}, {34, 68, 278, 0, 0, 0, 0}, {4095, 4192, 0, 0, 0, 0, 0}, {4256, 3840, 12288, 16384, 0, 0, 0}, {267, 34, 771, 68, 1028, 4369, 0}, {34, 520, 1280, 4104, 0, 0, 0}, {204, 771, 4188, 0, 0, 0, 0}, {780, 68, 1028, 4140, 0, 0, 0}, {170, 1295, 4186, 0, 0, 0, 0}, {780, 102, 1280, 4108, 0, 0, 0}, {136, 1799, 4184, 0, 0, 0, 0}, {136, 1800, 4128, 0, 0, 0, 0}, {771, 102, 1295, 4144, 0, 0, 0}, {170, 1280, 4096, 0, 0, 0, 0}, {771, 68, 1028, 4112, 0, 0, 0}, {204, 780, 4192, 0, 0, 0, 0}, {34, 520, 1295, 4178, 0, 0, 0}, {34, 68, 260, 0, 0, 0, 0}, {3855, 4176, 0, 0, 0, 0, 0}, {4272, 8000, 12336, 16448, 0, 0, 0}, {283, 34, 785, 68, 1024, 4369, 0}, {34, 522, 1360, 4120, 0, 0, 0}, {204, 819, 4172, 0, 0, 0, 0}, {828, 68, 1024, 4156, 0, 0, 0}, {170, 1375, 4170, 0, 0, 0, 0}, {828, 102, 1334, 4124, 0, 0, 0}, {136, 1911, 4168, 0, 0, 0, 0}, {136, 1912, 4144, 0, 0, 0, 0}, {819, 102, 1337, 4128, 0, 0, 0}, {170, 1360, 4112, 0, 0, 0, 0}, {819, 68, 1024, 4096, 0, 0, 0}, {204, 828, 4208, 0, 0, 0, 0}, {34, 522, 1375, 4162, 0, 0, 0}, {34, 68, 276, 0, 0, 0, 0}, {4095, 4160, 0, 0, 0, 0, 0}, {4288, 3840, 8192, 20480, 0, 0, 0}, {269, 34, 514, 68, 1285, 4369, 0}, {34, 514, 1290, 4170, 0, 0, 0}, {204, 783, 4156, 0, 0, 0, 0}, {768, 68, 1032, 4104, 0, 0, 0}, {170, 1285, 4154, 0, 0, 0, 0}, {768, 102, 1290, 4106, 0, 0, 0}, {136, 1799, 4152, 0, 0, 0, 0}, {136, 1800, 4160, 0, 0, 0, 0}, {783, 102, 1285, 4150, 0, 0, 0}, {170, 1290, 4192, 0, 0, 0, 0}, {783, 68, 1032, 4148, 0, 0, 0}, {204, 768, 4096, 0, 0, 0, 0}, {34, 514, 1285, 4112, 0, 0, 0}, {34, 68, 258, 0, 0, 0, 0}, {3855, 4144, 0, 0, 0, 0, 0}, {4304, 7968, 8224, 20560, 0, 0, 0}, {285, 34, 512, 68, 1297, 4369, 0}, {34, 512, 1370, 4186, 0, 0, 0}, {204, 831, 4140, 0, 0, 0, 0}, {816, 68, 1036, 4120, 0, 0, 0}, {170, 1365, 4138, 0, 0, 0, 0}, {816, 102, 1340, 4122, 0, 0, 0}, {136, 1911, 4136, 0, 0, 0, 0}, {136, 1912, 4176, 0, 0, 0, 0}, {831, 102, 1331, 4134, 0, 0, 0}, {170, 1370, 4208, 0, 0, 0, 0}, {831, 68, 1036, 4132, 0, 0, 0}, {204, 816, 4112, 0, 0, 0, 0}, {34, 512, 1365, 4096, 0, 0, 0}, {34, 68, 274, 0, 0, 0, 0}, {4095, 4128, 0, 0, 0, 0, 0}, {4320, 3840, 8224, 16448, 0, 0, 0}, {271, 34, 512, 68, 1024, 4369, 0}, {34, 512, 1280, 4168, 0, 0, 0}, {204, 783, 4124, 0, 0, 0, 0}, {768, 68, 1024, 4136, 0, 0, 0}, {170, 1295, 4122, 0, 0, 0, 0}, {768, 102, 1280, 4138, 0, 0, 0}, {136, 1807, 4120, 0, 0, 0, 0}, {136, 1792, 4192, 0, 0, 0, 0}, {783, 102, 1295, 4118, 0, 0, 0}, {170, 1280, 4160, 0, 0, 0, 0}, {783, 68, 1024, 4116, 0, 0, 0}, {204, 768, 4128, 0, 0, 0, 0}, {34, 512, 1295, 4114, 0, 0, 0}, {34, 68, 256, 0, 0, 0, 0}, {3855, 4112, 0, 0, 0, 0, 0}, {4336, 7936, 8192, 16384, 0, 0, 0}, {287, 34, 514, 68, 1028, 4369, 0}, {34, 514, 1360, 4184, 0, 0, 0}, {204, 831, 4108, 0, 0, 0, 0}, {816, 68, 1028, 4152, 0, 0, 0}, {170, 1375, 4106, 0, 0, 0, 0}, {816, 102, 1334, 4154, 0, 0, 0}, {136, 1919, 4104, 0, 0, 0, 0}, {136, 1904, 4208, 0, 0, 0, 0}, {831, 102, 1337, 4102, 0, 0, 0}, {170, 1360, 4176, 0, 0, 0, 0}, {831, 68, 1028, 4100, 0, 0, 0}, {204, 816, 4144, 0, 0, 0, 0}, {34, 514, 1375, 4098, 0, 0, 0}, {34, 68, 272, 0, 0, 0, 0}, {4095, 4096, 0, 0, 0, 0, 0}, {61440, 0, 0, 0, 0, 0, 0}, {2, 4, 17, 257, 0, 0, 0}, {2, 20480, 0, 0, 0, 0, 0}, {12, 51, 771, 0, 0, 0, 0}, {12288, 4, 0, 0, 0, 0, 0}, {10, 85, 1285, 0, 0, 0, 0}, {12288, 6, 0, 0, 0, 0, 0}, {8, 119, 1799, 0, 0, 0, 0}, {8, 28672, 0, 0, 0, 0, 0}, {51, 771, 6, 0, 0, 0, 0}, {10, 20480, 0, 0, 0, 0, 0}, {51, 771, 4, 0, 0, 0, 0}, {12, 12288, 0, 0, 0, 0, 0}, {2, 85, 1285, 0, 0, 0, 0}, {2, 4, 4096, 0, 0, 0, 0}, {255, 3855, 0, 0, 0, 0, 0}, {32, 64, 4112, 0, 0, 0, 0}, {3840, 17, 0, 0, 0, 0, 0}, {34, 72, 4626, 0, 0, 0, 0}, {3840, 19, 0, 0, 0, 0, 0}, {40, 68, 5140, 0, 0, 0, 0}, {3840, 21, 0, 0, 0, 0, 0}, {42, 76, 5654, 0, 0, 0, 0}, {3840, 23, 0, 0, 0, 0, 0}, {6168, 40, 72, 0, 0, 0, 0}, {25, 51, 85, 5632, 0, 0, 0}, {6682, 42, 64, 0, 0, 0, 0}, {27, 51, 68, 5120, 0, 0, 0}, {7196, 32, 76, 0, 0, 0, 0}, {29, 34, 85, 4608, 0, 0, 0}, {7710, 34, 68, 0, 0, 0, 0}, {31, 32, 64, 4096, 0, 0, 0}, {32, 20480, 0, 0, 0, 0, 0}, {12, 771, 17, 0, 0, 0, 0}, {34, 23040, 0, 0, 0, 0, 0}, {12, 771, 19, 0, 0, 0, 0}, {12, 36, 68, 5120, 0, 0, 0}, {3855, 42, 85, 0, 0, 0, 0}, {12, 38, 64, 5632, 0, 0, 0}, {3855, 40, 95, 0, 0, 0, 0}, {40, 20480, 0, 0, 0, 0, 0}, {12, 771, 21, 0, 0, 0, 0}, {42, 23040, 0, 0, 0, 0, 0}, {12, 771, 23, 0, 0, 0, 0}, {12, 32, 64, 4096, 0, 0, 0}, {3855, 34, 85, 0, 0, 0, 0}, {12, 34, 68, 4608, 0, 0, 0}, {3855, 32, 95, 0, 0, 0, 0}, {192, 12336, 0, 0, 0, 0, 0}, {2, 1280, 17, 0, 0, 0, 0}, {2, 64, 4112, 0, 0, 0, 0}, {3840, 51, 0, 0, 0, 0, 0}, {8, 13364, 68, 0, 0, 0, 0}, {10, 53, 85, 1280, 0, 0, 0}, {10, 13878, 102, 0, 0, 0, 0}, {8, 55, 64, 1792, 0, 0, 0}, {8, 12336, 64, 0, 0, 0, 0}, {10, 51, 85, 1280, 0, 0, 0}, {10, 12336, 96, 0, 0, 0, 0}, {8, 51, 68, 1792, 0, 0, 0}, {204, 15420, 0, 0, 0, 0, 0}, {2, 1280, 21, 0, 0, 0, 0}, {2, 68, 5140, 0, 0, 0, 0}, {3840, 63, 0, 0, 0, 0, 0}, {12288, 64, 0, 0, 0, 0, 0}, {10, 1285, 17, 0, 0, 0, 0}, {10, 34, 66, 4608, 0, 0, 0}, {3855, 51, 76, 0, 0, 0, 0}, {15360, 68, 0, 0, 0, 0, 0}, {10, 1285, 21, 0, 0, 0, 0}, {10, 32, 70, 5632, 0, 0, 0}, {3855, 63, 72, 0, 0, 0, 0}, {12288, 72, 0, 0, 0, 0, 0}, {10, 1285, 19, 0, 0, 0, 0}, {10, 32, 64, 4096, 0, 0, 0}, {3855, 51, 68, 0, 0, 0, 0}, {15360, 76, 0, 0, 0, 0, 0}, {10, 1285, 23, 0, 0, 0, 0}, {10, 34, 68, 5120, 0, 0, 0}, {3855, 63, 64, 0, 0, 0, 0}, {160, 20560, 0, 0, 0, 0, 0}, {768, 4, 17, 0, 0, 0, 0}, {8, 34, 21074, 0, 0, 0, 0}, {12, 51, 768, 83, 0, 0, 0}, {32, 4, 4112, 0, 0, 0, 0}, {3840, 85, 0, 0, 0, 0, 0}, {12, 12336, 102, 0, 0, 0, 0}, {8, 32, 87, 1792, 0, 0, 0}, {8, 32, 20560, 0, 0, 0, 0}, {12, 51, 768, 85, 0, 0, 0}, {170, 23130, 0, 0, 0, 0, 0}, {768, 4, 19, 0, 0, 0, 0}, {12, 12336, 96, 0, 0, 0, 0}, {8, 34, 85, 1792, 0, 0, 0}, {34, 4, 4626, 0, 0, 0, 0}, {3840, 95, 0, 0, 0, 0, 0}, {12288, 96, 0, 0, 0, 0, 0}, {8, 1799, 17, 0, 0, 0, 0}, {8, 34, 64, 4608, 0, 0, 0}, {3855, 51, 95, 0, 0, 0, 0}, {8, 32, 68, 5120, 0, 0, 0}, {3855, 63, 85, 0, 0, 0, 0}, {15360, 102, 0, 0, 0, 0, 0}, {8, 1799, 23, 0, 0, 0, 0}, {8, 32, 64, 4096, 0, 0, 0}, {3855, 51, 85, 0, 0, 0, 0}, {12288, 106, 0, 0, 0, 0, 0}, {8, 1799, 19, 0, 0, 0, 0}, {15360, 108, 0, 0, 0, 0, 0}, {8, 1799, 21, 0, 0, 0, 0}, {8, 34, 68, 5632, 0, 0, 0}, {3855, 63, 95, 0, 0, 0, 0}, {128, 28784, 0, 0, 0, 0, 0}, {768, 6, 17, 0, 0, 0, 0}, {10, 34, 20560, 0, 0, 0, 0}, {12, 51, 768, 64, 0, 0, 0}, {12, 12336, 68, 0, 0, 0, 0}, {10, 32, 85, 1280, 0, 0, 0}, {32, 6, 4112, 0, 0, 0, 0}, {3840, 119, 0, 0, 0, 0, 0}, {136, 30840, 0, 0, 0, 0, 0}, {768, 6, 19, 0, 0, 0, 0}, {10, 32, 20560, 0, 0, 0, 0}, {12, 51, 768, 68, 0, 0, 0}, {12, 12336, 64, 0, 0, 0, 0}, {10, 34, 85, 1280, 0, 0, 0}, {34, 6, 4626, 0, 0, 0, 0}, {3840, 127, 0, 0, 0, 0, 0}, {128, 28672, 0, 0, 0, 0, 0}, {771, 6, 17, 0, 0, 0, 0}, {10, 34, 20480, 0, 0, 0, 0}, {12, 51, 771, 64, 0, 0, 0}, {12, 12288, 68, 0, 0, 0, 0}, {10, 32, 85, 1285, 0, 0, 0}, {32, 6, 4096, 0, 0, 0, 0}, {3855, 119, 0, 0, 0, 0, 0}, {136, 30720, 0, 0, 0, 0, 0}, {771, 6, 19, 0, 0, 0, 0}, {10, 32, 20480, 0, 0, 0, 0}, {12, 51, 771, 68, 0, 0, 0}, {12, 12288, 64, 0, 0, 0, 0}, {10, 34, 85, 1285, 0, 0, 0}, {34, 6, 4608, 0, 0, 0, 0}, {3855, 127, 0, 0, 0, 0, 0}, {12336, 96, 0, 0, 0, 0, 0}, {8, 1792, 17, 0, 0, 0, 0}, {8, 34, 64, 4626, 0, 0, 0}, {3840, 51, 95, 0, 0, 0, 0}, {8, 32, 68, 5140, 0, 0, 0}, {3840, 63, 85, 0, 0, 0, 0}, {15420, 102, 0, 0, 0, 0, 0}, {8, 1792, 23, 0, 0, 0, 0}, {8, 32, 64, 4112, 0, 0, 0}, {3840, 51, 85, 0, 0, 0, 0}, {12336, 106, 0, 0, 0, 0, 0}, {8, 1792, 19, 0, 0, 0, 0}, {15420, 108, 0, 0, 0, 0, 0}, {8, 1792, 21, 0, 0, 0, 0}, {8, 34, 68, 5654, 0, 0, 0}, {3840, 63, 95, 0, 0, 0, 0}, {160, 20480, 0, 0, 0, 0, 0}, {771, 4, 17, 0, 0, 0, 0}, {8, 34, 20992, 0, 0, 0, 0}, {12, 51, 771, 83, 0, 0, 0}, {32, 4, 4096, 0, 0, 0, 0}, {3855, 85, 0, 0, 0, 0, 0}, {12, 12288, 102, 0, 0, 0, 0}, {8, 32, 87, 1799, 0, 0, 0}, {8, 32, 20480, 0, 0, 0, 0}, {12, 51, 771, 85, 0, 0, 0}, {170, 23040, 0, 0, 0, 0, 0}, {771, 4, 19, 0, 0, 0, 0}, {12, 12288, 96, 0, 0, 0, 0}, {8, 34, 85, 1799, 0, 0, 0}, {34, 4, 4608, 0, 0, 0, 0}, {3855, 95, 0, 0, 0, 0, 0}, {12336, 64, 0, 0, 0, 0, 0}, {10, 1280, 17, 0, 0, 0, 0}, {10, 34, 66, 4626, 0, 0, 0}, {3840, 51, 76, 0, 0, 0, 0}, {15420, 68, 0, 0, 0, 0, 0}, {10, 1280, 21, 0, 0, 0, 0}, {10, 32, 70, 5654, 0, 0, 0}, {3840, 63, 72, 0, 0, 0, 0}, {12336, 72, 0, 0, 0, 0, 0}, {10, 1280, 19, 0, 0, 0, 0}, {10, 32, 64, 4112, 0, 0, 0}, {3840, 51, 68, 0, 0, 0, 0}, {15420, 76, 0, 0, 0, 0, 0}, {10, 1280, 23, 0, 0, 0, 0}, {10, 34, 68, 5140, 0, 0, 0}, {3840, 63, 64, 0, 0, 0, 0}, {192, 12288, 0, 0, 0, 0, 0}, {2, 1285, 17, 0, 0, 0, 0}, {2, 64, 4096, 0, 0, 0, 0}, {3855, 51, 0, 0, 0, 0, 0}, {8, 13312, 68, 0, 0, 0, 0}, {10, 53, 85, 1285, 0, 0, 0}, {10, 13824, 102, 0, 0, 0, 0}, {8, 55, 64, 1799, 0, 0, 0}, {8, 12288, 64, 0, 0, 0, 0}, {10, 51, 85, 1285, 0, 0, 0}, {10, 12288, 96, 0, 0, 0, 0}, {8, 51, 68, 1799, 0, 0, 0}, {204, 15360, 0, 0, 0, 0, 0}, {2, 1285, 21, 0, 0, 0, 0}, {2, 68, 5120, 0, 0, 0, 0}, {3855, 63, 0, 0, 0, 0, 0}, {32, 20560, 0, 0, 0, 0, 0}, {12, 768, 17, 0, 0, 0, 0}, {34, 23130, 0, 0, 0, 0, 0}, {12, 768, 19, 0, 0, 0, 0}, {12, 36, 68, 5140, 0, 0, 0}, {3840, 42, 85, 0, 0, 0, 0}, {12, 38, 64, 5654, 0, 0, 0}, {3840, 40, 95, 0, 0, 0, 0}, {40, 20560, 0, 0, 0, 0, 0}, {12, 768, 21, 0, 0, 0, 0}, {42, 23130, 0, 0, 0, 0, 0}, {12, 768, 23, 0, 0, 0, 0}, {12, 32, 64, 4112, 0, 0, 0}, {3840, 34, 85, 0, 0, 0, 0}, {12, 34, 68, 4626, 0, 0, 0}, {3840, 32, 95, 0, 0, 0, 0}, {32, 64, 4096, 0, 0, 0, 0}, {3855, 17, 0, 0, 0, 0, 0}, {34, 72, 4608, 0, 0, 0, 0}, {3855, 19, 0, 0, 0, 0, 0}, {40, 68, 5120, 0, 0, 0, 0}, {3855, 21, 0, 0, 0, 0, 0}, {42, 76, 5632, 0, 0, 0, 0}, {3855, 23, 0, 0, 0, 0, 0}, {6144, 40, 72, 0, 0, 0, 0}, {25, 51, 85, 5654, 0, 0, 0}, {6656, 42, 64, 0, 0, 0, 0}, {27, 51, 68, 5140, 0, 0, 0}, {7168, 32, 76, 0, 0, 0, 0}, {29, 34, 85, 4626, 0, 0, 0}, {7680, 34, 68, 0, 0, 0, 0}, {31, 32, 64, 4112, 0, 0, 0}, {61680, 0, 0, 0, 0, 0, 0}, {2, 4, 17, 256, 0, 0, 0}, {2, 20560, 0, 0, 0, 0, 0}, {12, 51, 768, 0, 0, 0, 0}, {12336, 4, 0, 0, 0, 0, 0}, {10, 85, 1280, 0, 0, 0, 0}, {12336, 6, 0, 0, 0, 0, 0}, {8, 119, 1792, 0, 0, 0, 0}, {8, 28784, 0, 0, 0, 0, 0}, {51, 768, 6, 0, 0, 0, 0}, {10, 20560, 0, 0, 0, 0, 0}, {51, 768, 4, 0, 0, 0, 0}, {12, 12336, 0, 0, 0, 0, 0}, {2, 85, 1280, 0, 0, 0, 0}, {2, 4, 4112, 0, 0, 0, 0}, {255, 3840, 0, 0, 0, 0, 0}, {512, 1024, 4352, 0, 0, 0, 0}, {240, 257, 0, 0, 0, 0, 0}, {514, 1032, 4386, 0, 0, 0, 0}, {240, 259, 0, 0, 0, 0, 0}, {520, 1028, 4420, 0, 0, 0, 0}, {240, 261, 0, 0, 0, 0, 0}, {522, 1036, 4454, 0, 0, 0, 0}, {240, 263, 0, 0, 0, 0, 0}, {4488, 520, 1032, 0, 0, 0, 0}, {265, 771, 1285, 4192, 0, 0, 0}, {4522, 522, 1024, 0, 0, 0, 0}, {267, 771, 1028, 4160, 0, 0, 0}, {4556, 512, 1036, 0, 0, 0, 0}, {269, 514, 1285, 4128, 0, 0, 0}, {4590, 514, 1028, 0, 0, 0, 0}, {271, 512, 1024, 4096, 0, 0, 0}, {240, 272, 0, 0, 0, 0, 0}, {546, 1092, 4369, 0, 0, 0, 0}, {240, 274, 0, 0, 0, 0, 0}, {544, 1100, 4403, 0, 0, 0, 0}, {240, 276, 0, 0, 0, 0, 0}, {554, 1088, 4437, 0, 0, 0, 0}, {240, 278, 0, 0, 0, 0, 0}, {552, 1096, 4471, 0, 0, 0, 0}, {280, 816, 1360, 4192, 0, 0, 0}, {4505, 554, 1100, 0, 0, 0, 0}, {282, 816, 1088, 4160, 0, 0, 0}, {4539, 552, 1092, 0, 0, 0, 0}, {284, 544, 1360, 4128, 0, 0, 0}, {4573, 546, 1096, 0, 0, 0, 0}, {286, 546, 1092, 4096, 0, 0, 0}, {4607, 544, 1088, 0, 0, 0, 0}, {1152, 544, 4352, 0, 0, 0, 0}, {289, 771, 1365, 4369, 0, 0, 0}, {1160, 546, 4386, 0, 0, 0, 0}, {291, 771, 1375, 4112, 0, 0, 0}, {1156, 552, 4420, 0, 0, 0, 0}, {293, 783, 1365, 4437, 0, 0, 0}, {1164, 554, 4454, 0, 0, 0, 0}, {295, 783, 1375, 4176, 0, 0, 0}, {1160, 552, 5376, 0, 0, 0, 0}, {297, 771, 1365, 4160, 0, 0, 0}, {1152, 554, 5418, 0, 0, 0, 0}, {299, 771, 1375, 4427, 0, 0, 0}, {1164, 544, 5440, 0, 0, 0, 0}, {301, 783, 1365, 4096, 0, 0, 0}, {1156, 546, 5482, 0, 0, 0, 0}, {303, 783, 1375, 4367, 0, 0, 0}, {304, 512, 1280, 4352, 0, 0, 0}, {1220, 514, 4369, 0, 0, 0, 0}, {306, 514, 1290, 4112, 0, 0, 0}, {1228, 512, 4403, 0, 0, 0, 0}, {308, 520, 1280, 4420, 0, 0, 0}, {1216, 522, 4437, 0, 0, 0, 0}, {310, 522, 1290, 4176, 0, 0, 0}, {1224, 520, 4471, 0, 0, 0, 0}, {312, 520, 1280, 4160, 0, 0, 0}, {1228, 522, 5461, 0, 0, 0, 0}, {314, 522, 1290, 4442, 0, 0, 0}, {1220, 520, 5503, 0, 0, 0, 0}, {316, 512, 1280, 4096, 0, 0, 0}, {1224, 514, 5397, 0, 0, 0, 0}, {318, 514, 1290, 4382, 0, 0, 0}, {1216, 512, 5439, 0, 0, 0, 0}, {640, 1088, 4352, 0, 0, 0, 0}, {819, 321, 1285, 4369, 0, 0, 0}, {642, 1096, 4386, 0, 0, 0, 0}, {819, 323, 1295, 4403, 0, 0, 0}, {648, 1092, 4420, 0, 0, 0, 0}, {831, 325, 1285, 4112, 0, 0, 0}, {650, 1100, 4454, 0, 0, 0, 0}, {831, 327, 1295, 4144, 0, 0, 0}, {648, 1096, 4864, 0, 0, 0, 0}, {819, 329, 1285, 4128, 0, 0, 0}, {650, 1088, 4896, 0, 0, 0, 0}, {819, 331, 1295, 4096, 0, 0, 0}, {640, 1100, 4940, 0, 0, 0, 0}, {831, 333, 1285, 4397, 0, 0, 0}, {642, 1092, 4972, 0, 0, 0, 0}, {831, 335, 1295, 4367, 0, 0, 0}, {768, 336, 1024, 4352, 0, 0, 0}, {674, 1028, 4369, 0, 0, 0, 0}, {768, 338, 1032, 4386, 0, 0, 0}, {672, 1036, 4403, 0, 0, 0, 0}, {780, 340, 1028, 4112, 0, 0, 0}, {682, 1024, 4437, 0, 0, 0, 0}, {780, 342, 1036, 4144, 0, 0, 0}, {680, 1032, 4471, 0, 0, 0, 0}, {768, 344, 1032, 4128, 0, 0, 0}, {682, 1036, 4915, 0, 0, 0, 0}, {768, 346, 1024, 4096, 0, 0, 0}, {680, 1028, 4883, 0, 0, 0, 0}, {780, 348, 1036, 4412, 0, 0, 0}, {674, 1032, 4991, 0, 0, 0, 0}, {780, 350, 1028, 4382, 0, 0, 0}, {672, 1024, 4959, 0, 0, 0, 0}, {672, 1632, 4352, 0, 0, 0, 0}, {819, 353, 1076, 4369, 0, 0, 0}, {674, 1642, 4386, 0, 0, 0, 0}, {819, 355, 1084, 4403, 0, 0, 0}, {680, 1644, 4420, 0, 0, 0, 0}, {831, 357, 1072, 4144, 0, 0, 0}, {682, 1638, 4454, 0, 0, 0, 0}, {831, 359, 1080, 4112, 0, 0, 0}, {680, 1632, 4896, 0, 0, 0, 0}, {819, 361, 1084, 4096, 0, 0, 0}, {682, 1642, 4864, 0, 0, 0, 0}, {819, 363, 1076, 4128, 0, 0, 0}, {672, 1644, 4972, 0, 0, 0, 0}, {831, 365, 1080, 4397, 0, 0, 0}, {674, 1638, 4940, 0, 0, 0, 0}, {831, 367, 1072, 4367, 0, 0, 0}, {768, 368, 1280, 4352, 0, 0, 0}, {642, 1542, 4369, 0, 0, 0, 0}, {768, 370, 1290, 4386, 0, 0, 0}, {640, 1548, 4403, 0, 0, 0, 0}, {780, 372, 1280, 4144, 0, 0, 0}, {650, 1546, 4437, 0, 0, 0, 0}, {780, 374, 1290, 4112, 0, 0, 0}, {648, 1536, 4471, 0, 0, 0, 0}, {768, 376, 1280, 4096, 0, 0, 0}, {650, 1542, 4883, 0, 0, 0, 0}, {768, 378, 1290, 4128, 0, 0, 0}, {648, 1548, 4915, 0, 0, 0, 0}, {780, 380, 1280, 4412, 0, 0, 0}, {642, 1546, 4959, 0, 0, 0, 0}, {780, 382, 1290, 4382, 0, 0, 0}, {640, 1536, 4991, 0, 0, 0, 0}, {640, 1536, 4352, 0, 0, 0, 0}, {771, 369, 1285, 4369, 0, 0, 0}, {642, 1546, 4386, 0, 0, 0, 0}, {771, 371, 1295, 4403, 0, 0, 0}, {648, 1548, 4420, 0, 0, 0, 0}, {783, 373, 1285, 4128, 0, 0, 0}, {650, 1542, 4454, 0, 0, 0, 0}, {783, 375, 1295, 4096, 0, 0, 0}, {648, 1536, 4864, 0, 0, 0, 0}, {771, 377, 1285, 4112, 0, 0, 0}, {650, 1546, 4896, 0, 0, 0, 0}, {771, 379, 1295, 4144, 0, 0, 0}, {640, 1548, 4940, 0, 0, 0, 0}, {783, 381, 1285, 4397, 0, 0, 0}, {642, 1542, 4972, 0, 0, 0, 0}, {783, 383, 1295, 4367, 0, 0, 0}, {816, 352, 1072, 4352, 0, 0, 0}, {674, 1638, 4369, 0, 0, 0, 0}, {816, 354, 1080, 4386, 0, 0, 0}, {672, 1644, 4403, 0, 0, 0, 0}, {828, 356, 1076, 4128, 0, 0, 0}, {682, 1642, 4437, 0, 0, 0, 0}, {828, 358, 1084, 4096, 0, 0, 0}, {680, 1632, 4471, 0, 0, 0, 0}, {816, 360, 1080, 4112, 0, 0, 0}, {682, 1638, 4915, 0, 0, 0, 0}, {816, 362, 1072, 4144, 0, 0, 0}, {680, 1644, 4883, 0, 0, 0, 0}, {828, 364, 1084, 4412, 0, 0, 0}, {674, 1642, 4991, 0, 0, 0, 0}, {828, 366, 1076, 4382, 0, 0, 0}, {672, 1632, 4959, 0, 0, 0, 0}, {672, 1024, 4352, 0, 0, 0, 0}, {771, 337, 1028, 4369, 0, 0, 0}, {674, 1032, 4386, 0, 0, 0, 0}, {771, 339, 1036, 4403, 0, 0, 0}, {680, 1028, 4420, 0, 0, 0, 0}, {783, 341, 1024, 4096, 0, 0, 0}, {682, 1036, 4454, 0, 0, 0, 0}, {783, 343, 1032, 4128, 0, 0, 0}, {680, 1032, 4896, 0, 0, 0, 0}, {771, 345, 1036, 4144, 0, 0, 0}, {682, 1024, 4864, 0, 0, 0, 0}, {771, 347, 1028, 4112, 0, 0, 0}, {672, 1036, 4972, 0, 0, 0, 0}, {783, 349, 1032, 4397, 0, 0, 0}, {674, 1028, 4940, 0, 0, 0, 0}, {783, 351, 1024, 4367, 0, 0, 0}, {816, 320, 1280, 4352, 0, 0, 0}, {642, 1092, 4369, 0, 0, 0, 0}, {816, 322, 1290, 4386, 0, 0, 0}, {640, 1100, 4403, 0, 0, 0, 0}, {828, 324, 1280, 4096, 0, 0, 0}, {650, 1088, 4437, 0, 0, 0, 0}, {828, 326, 1290, 4128, 0, 0, 0}, {648, 1096, 4471, 0, 0, 0, 0}, {816, 328, 1280, 4144, 0, 0, 0}, {650, 1100, 4883, 0, 0, 0, 0}, {816, 330, 1290, 4112, 0, 0, 0}, {648, 1092, 4915, 0, 0, 0, 0}, {828, 332, 1280, 4412, 0, 0, 0}, {642, 1096, 4959, 0, 0, 0, 0}, {828, 334, 1290, 4382, 0, 0, 0}, {640, 1088, 4991, 0, 0, 0, 0}, {1216, 512, 4352, 0, 0, 0, 0}, {305, 514, 1285, 4369, 0, 0, 0}, {1224, 514, 4386, 0, 0, 0, 0}, {307, 512, 1295, 4096, 0, 0, 0}, {1220, 520, 4420, 0, 0, 0, 0}, {309, 522, 1285, 4437, 0, 0, 0}, {1228, 522, 4454, 0, 0, 0, 0}, {311, 520, 1295, 4160, 0, 0, 0}, {1224, 520, 5440, 0, 0, 0, 0}, {313, 522, 1285, 4176, 0, 0, 0}, {1216, 522, 5482, 0, 0, 0, 0}, {315, 520, 1295, 4427, 0, 0, 0}, {1228, 512, 5376, 0, 0, 0, 0}, {317, 514, 1285, 4112, 0, 0, 0}, {1220, 514, 5418, 0, 0, 0, 0}, {319, 512, 1295, 4367, 0, 0, 0}, {288, 768, 1360, 4352, 0, 0, 0}, {1156, 546, 4369, 0, 0, 0, 0}, {290, 768, 1370, 4096, 0, 0, 0}, {1164, 544, 4403, 0, 0, 0, 0}, {292, 780, 1360, 4420, 0, 0, 0}, {1152, 554, 4437, 0, 0, 0, 0}, {294, 780, 1370, 4160, 0, 0, 0}, {1160, 552, 4471, 0, 0, 0, 0}, {296, 768, 1360, 4176, 0, 0, 0}, {1164, 554, 5397, 0, 0, 0, 0}, {298, 768, 1370, 4442, 0, 0, 0}, {1156, 552, 5439, 0, 0, 0, 0}, {300, 780, 1360, 4112, 0, 0, 0}, {1160, 546, 5461, 0, 0, 0, 0}, {302, 780, 1370, 4382, 0, 0, 0}, {1152, 544, 5503, 0, 0, 0, 0}, {544, 1088, 4352, 0, 0, 0, 0}, {240, 273, 0, 0, 0, 0, 0}, {546, 1096, 4386, 0, 0, 0, 0}, {240, 275, 0, 0, 0, 0, 0}, {552, 1092, 4420, 0, 0, 0, 0}, {240, 277, 0, 0, 0, 0, 0}, {554, 1100, 4454, 0, 0, 0, 0}, {240, 279, 0, 0, 0, 0, 0}, {4488, 552, 1096, 0, 0, 0, 0}, {281, 819, 1365, 4208, 0, 0, 0}, {4522, 554, 1088, 0, 0, 0, 0}, {283, 819, 1092, 4176, 0, 0, 0}, {4556, 544, 1100, 0, 0, 0, 0}, {285, 546, 1365, 4144, 0, 0, 0}, {4590, 546, 1092, 0, 0, 0, 0}, {287, 544, 1088, 4112, 0, 0, 0}, {240, 256, 0, 0, 0, 0, 0}, {514, 1028, 4369, 0, 0, 0, 0}, {240, 258, 0, 0, 0, 0, 0}, {512, 1036, 4403, 0, 0, 0, 0}, {240, 260, 0, 0, 0, 0, 0}, {522, 1024, 4437, 0, 0, 0, 0}, {240, 262, 0, 0, 0, 0, 0}, {520, 1032, 4471, 0, 0, 0, 0}, {264, 768, 1280, 4208, 0, 0, 0}, {4505, 522, 1036, 0, 0, 0, 0}, {266, 768, 1024, 4176, 0, 0, 0}, {4539, 520, 1028, 0, 0, 0, 0}, {268, 512, 1280, 4144, 0, 0, 0}, {4573, 514, 1032, 0, 0, 0, 0}, {270, 514, 1028, 4112, 0, 0, 0}, {4607, 512, 1024, 0, 0, 0, 0}, {512, 20480, 0, 0, 0, 0, 0}, {12, 51, 257, 0, 0, 0, 0}, {514, 20640, 0, 0, 0, 0, 0}, {12, 51, 259, 0, 0, 0, 0}, {12, 516, 1028, 4160, 0, 0, 0}, {255, 522, 1285, 0, 0, 0, 0}, {12, 518, 1024, 4192, 0, 0, 0}, {255, 520, 1295, 0, 0, 0, 0}, {520, 20480, 0, 0, 0, 0, 0}, {12, 51, 261, 0, 0, 0, 0}, {522, 20640, 0, 0, 0, 0, 0}, {12, 51, 263, 0, 0, 0, 0}, {12, 512, 1024, 4096, 0, 0, 0}, {255, 514, 1285, 0, 0, 0, 0}, {12, 514, 1028, 4128, 0, 0, 0}, {255, 512, 1295, 0, 0, 0, 0}, {192, 544, 4112, 0, 0, 0, 0}, {51, 529, 1365, 4369, 0, 0, 0}, {192, 546, 4144, 0, 0, 0, 0}, {51, 531, 1375, 4352, 0, 0, 0}, {204, 552, 5140, 0, 0, 0, 0}, {63, 533, 1365, 4160, 0, 0, 0}, {204, 554, 5180, 0, 0, 0, 0}, {63, 535, 1375, 4191, 0, 0, 0}, {192, 552, 4176, 0, 0, 0, 0}, {51, 537, 1365, 4437, 0, 0, 0}, {192, 554, 4208, 0, 0, 0, 0}, {51, 539, 1375, 4420, 0, 0, 0}, {204, 544, 5200, 0, 0, 0, 0}, {63, 541, 1365, 4096, 0, 0, 0}, {204, 546, 5240, 0, 0, 0, 0}, {63, 543, 1375, 4127, 0, 0, 0}, {544, 20640, 0, 0, 0, 0, 0}, {12, 51, 274, 0, 0, 0, 0}, {546, 20480, 0, 0, 0, 0, 0}, {12, 51, 272, 0, 0, 0, 0}, {12, 548, 1092, 4192, 0, 0, 0}, {255, 554, 1370, 0, 0, 0, 0}, {12, 550, 1088, 4160, 0, 0, 0}, {255, 552, 1360, 0, 0, 0, 0}, {552, 20640, 0, 0, 0, 0, 0}, {12, 51, 278, 0, 0, 0, 0}, {554, 20480, 0, 0, 0, 0, 0}, {12, 51, 276, 0, 0, 0, 0}, {12, 544, 1088, 4128, 0, 0, 0}, {255, 546, 1370, 0, 0, 0, 0}, {12, 546, 1092, 4096, 0, 0, 0}, {255, 544, 1360, 0, 0, 0, 0}, {192, 512, 4144, 0, 0, 0, 0}, {51, 514, 1290, 4369, 0, 0, 0}, {192, 514, 4112, 0, 0, 0, 0}, {51, 512, 1280, 4352, 0, 0, 0}, {204, 520, 5240, 0, 0, 0, 0}, {63, 522, 1290, 4191, 0, 0, 0}, {204, 522, 5200, 0, 0, 0, 0}, {63, 520, 1280, 4160, 0, 0, 0}, {192, 520, 4208, 0, 0, 0, 0}, {51, 522, 1290, 4437, 0, 0, 0}, {192, 522, 4176, 0, 0, 0, 0}, {51, 520, 1280, 4420, 0, 0, 0}, {204, 512, 5180, 0, 0, 0, 0}, {63, 514, 1290, 4127, 0, 0, 0}, {204, 514, 5140, 0, 0, 0, 0}, {63, 512, 1280, 4096, 0, 0, 0}, {2560, 576, 4608, 0, 0, 0, 0}, {51, 590, 1285, 4369, 0, 0, 0}, {2570, 578, 4642, 0, 0, 0, 0}, {51, 588, 1295, 4352, 0, 0, 0}, {2560, 580, 5632, 0, 0, 0, 0}, {63, 586, 1285, 4112, 0, 0, 0}, {2570, 582, 5674, 0, 0, 0, 0}, {63, 584, 1295, 4111, 0, 0, 0}, {2560, 584, 4096, 0, 0, 0, 0}, {51, 582, 1285, 4883, 0, 0, 0}, {2570, 586, 4128, 0, 0, 0, 0}, {51, 580, 1295, 4864, 0, 0, 0}, {2560, 588, 5120, 0, 0, 0, 0}, {63, 578, 1285, 4626, 0, 0, 0}, {2570, 590, 5160, 0, 0, 0, 0}, {63, 576, 1295, 4623, 0, 0, 0}, {672, 2048, 8704, 20560, 0, 0, 0}, {12, 51, 768, 337, 1028, 4369, 0}, {674, 2056, 8738, 21074, 0, 0, 0}, {12, 51, 768, 339, 1024, 4352, 0}, {12, 612, 1028, 4112, 0, 0, 0}, {8192, 597, 1792, 0, 0, 0, 0}, {12, 614, 1024, 4144, 0, 0, 0}, {8224, 599, 1800, 0, 0, 0, 0}, {680, 2056, 8224, 20560, 0, 0, 0}, {12, 51, 768, 341, 1024, 4096, 0}, {682, 2048, 8192, 21082, 0, 0, 0}, {12, 51, 768, 343, 1028, 4115, 0}, {12, 608, 1024, 4656, 0, 0, 0}, {8738, 605, 1800, 0, 0, 0, 0}, {12, 610, 1028, 4626, 0, 0, 0}, {8704, 607, 1792, 0, 0, 0, 0}, {2048, 608, 4608, 0, 0, 0, 0}, {51, 605, 1799, 4369, 0, 0, 0}, {2056, 610, 4642, 0, 0, 0, 0}, {51, 607, 1807, 4352, 0, 0, 0}, {2056, 612, 5160, 0, 0, 0, 0}, {63, 597, 1807, 4111, 0, 0, 0}, {2048, 614, 5120, 0, 0, 0, 0}, {63, 599, 1799, 4112, 0, 0, 0}, {2056, 616, 4128, 0, 0, 0, 0}, {51, 597, 1807, 4864, 0, 0, 0}, {2048, 618, 4096, 0, 0, 0, 0}, {51, 599, 1799, 4883, 0, 0, 0}, {2048, 620, 5632, 0, 0, 0, 0}, {63, 605, 1799, 4626, 0, 0, 0}, {2056, 622, 5674, 0, 0, 0, 0}, {63, 607, 1807, 4623, 0, 0, 0}, {640, 2560, 8704, 21104, 0, 0, 0}, {12, 51, 768, 322, 1286, 4369, 0}, {642, 2570, 8738, 20560, 0, 0, 0}, {12, 51, 768, 320, 1280, 4352, 0}, {12, 580, 1536, 4144, 0, 0, 0}, {8224, 629, 1290, 0, 0, 0, 0}, {12, 582, 1542, 4112, 0, 0, 0}, {8192, 631, 1280, 0, 0, 0, 0}, {648, 2560, 8192, 21112, 0, 0, 0}, {12, 51, 768, 326, 1286, 4115, 0}, {650, 2570, 8224, 20560, 0, 0, 0}, {12, 51, 768, 324, 1280, 4096, 0}, {12, 576, 1536, 4656, 0, 0, 0}, {8738, 637, 1290, 0, 0, 0, 0}, {12, 578, 1542, 4626, 0, 0, 0}, {8704, 639, 1280, 0, 0, 0, 0}, {640, 2560, 8704, 20480, 0, 0, 0}, {12, 51, 771, 321, 1285, 4369, 0}, {642, 2570, 8738, 21026, 0, 0, 0}, {12, 51, 771, 323, 1283, 4352, 0}, {12, 580, 1536, 4096, 0, 0, 0}, {8224, 629, 1285, 0, 0, 0, 0}, {12, 582, 1542, 4128, 0, 0, 0}, {8192, 631, 1295, 0, 0, 0, 0}, {648, 2560, 8192, 20480, 0, 0, 0}, {12, 51, 771, 325, 1285, 4112, 0}, {650, 2570, 8224, 21034, 0, 0, 0}, {12, 51, 771, 327, 1283, 4099, 0}, {12, 576, 1536, 4608, 0, 0, 0}, {8738, 637, 1285, 0, 0, 0, 0}, {12, 578, 1542, 4642, 0, 0, 0}, {8704, 639, 1295, 0, 0, 0, 0}, {2048, 608, 4656, 0, 0, 0, 0}, {51, 605, 1800, 4369, 0, 0, 0}, {2056, 610, 4626, 0, 0, 0, 0}, {51, 607, 1792, 4352, 0, 0, 0}, {2056, 612, 5140, 0, 0, 0, 0}, {63, 597, 1792, 4096, 0, 0, 0}, {2048, 614, 5180, 0, 0, 0, 0}, {63, 599, 1800, 4127, 0, 0, 0}, {2056, 616, 4112, 0, 0, 0, 0}, {51, 597, 1792, 4864, 0, 0, 0}, {2048, 618, 4144, 0, 0, 0, 0}, {51, 599, 1800, 4883, 0, 0, 0}, {2048, 620, 5692, 0, 0, 0, 0}, {63, 605, 1800, 4637, 0, 0, 0}, {2056, 622, 5654, 0, 0, 0, 0}, {63, 607, 1792, 4608, 0, 0, 0}, {672, 2048, 8704, 20992, 0, 0, 0}, {12, 51, 771, 338, 1028, 4369, 0}, {674, 2056, 8738, 20480, 0, 0, 0}, {12, 51, 771, 336, 1024, 4352, 0}, {12, 612, 1028, 4128, 0, 0, 0}, {8192, 597, 1807, 0, 0, 0, 0}, {12, 614, 1024, 4096, 0, 0, 0}, {8224, 599, 1799, 0, 0, 0, 0}, {680, 2056, 8224, 21000, 0, 0, 0}, {12, 51, 771, 342, 1024, 4099, 0}, {682, 2048, 8192, 20480, 0, 0, 0}, {12, 51, 771, 340, 1028, 4112, 0}, {12, 608, 1024, 4608, 0, 0, 0}, {8738, 605, 1799, 0, 0, 0, 0}, {12, 610, 1028, 4642, 0, 0, 0}, {8704, 607, 1807, 0, 0, 0, 0}, {2560, 576, 4656, 0, 0, 0, 0}, {51, 590, 1290, 4369, 0, 0, 0}, {2570, 578, 4626, 0, 0, 0, 0}, {51, 588, 1280, 4352, 0, 0, 0}, {2560, 580, 5692, 0, 0, 0, 0}, {63, 586, 1290, 4127, 0, 0, 0}, {2570, 582, 5654, 0, 0, 0, 0}, {63, 584, 1280, 4096, 0, 0, 0}, {2560, 584, 4144, 0, 0, 0, 0}, {51, 582, 1290, 4883, 0, 0, 0}, {2570, 586, 4112, 0, 0, 0, 0}, {51, 580, 1280, 4864, 0, 0, 0}, {2560, 588, 5180, 0, 0, 0, 0}, {63, 578, 1290, 4637, 0, 0, 0}, {2570, 590, 5140, 0, 0, 0, 0}, {63, 576, 1280, 4608, 0, 0, 0}, {192, 512, 4096, 0, 0, 0, 0}, {51, 514, 1285, 4369, 0, 0, 0}, {192, 514, 4128, 0, 0, 0, 0}, {51, 512, 1295, 4352, 0, 0, 0}, {204, 520, 5188, 0, 0, 0, 0}, {63, 522, 1285, 4176, 0, 0, 0}, {204, 522, 5228, 0, 0, 0, 0}, {63, 520, 1295, 4175, 0, 0, 0}, {192, 520, 4160, 0, 0, 0, 0}, {51, 522, 1285, 4437, 0, 0, 0}, {192, 522, 4192, 0, 0, 0, 0}, {51, 520, 1295, 4420, 0, 0, 0}, {204, 512, 5120, 0, 0, 0, 0}, {63, 514, 1285, 4112, 0, 0, 0}, {204, 514, 5160, 0, 0, 0, 0}, {63, 512, 1295, 4111, 0, 0, 0}, {544, 20560, 0, 0, 0, 0, 0}, {12, 51, 273, 0, 0, 0, 0}, {546, 20720, 0, 0, 0, 0, 0}, {12, 51, 275, 0, 0, 0, 0}, {12, 548, 1092, 4176, 0, 0, 0}, {255, 554, 1365, 0, 0, 0, 0}, {12, 550, 1088, 4208, 0, 0, 0}, {255, 552, 1375, 0, 0, 0, 0}, {552, 20560, 0, 0, 0, 0, 0}, {12, 51, 277, 0, 0, 0, 0}, {554, 20720, 0, 0, 0, 0, 0}, {12, 51, 279, 0, 0, 0, 0}, {12, 544, 1088, 4112, 0, 0, 0}, {255, 546, 1365, 0, 0, 0, 0}, {12, 546, 1092, 4144, 0, 0, 0}, {255, 544, 1375, 0, 0, 0, 0}, {192, 544, 4128, 0, 0, 0, 0}, {51, 529, 1370, 4369, 0, 0, 0}, {192, 546, 4096, 0, 0, 0, 0}, {51, 531, 1360, 4352, 0, 0, 0}, {204, 552, 5160, 0, 0, 0, 0}, {63, 533, 1370, 4175, 0, 0, 0}, {204, 554, 5120, 0, 0, 0, 0}, {63, 535, 1360, 4176, 0, 0, 0}, {192, 552, 4192, 0, 0, 0, 0}, {51, 537, 1370, 4437, 0, 0, 0}, {192, 554, 4160, 0, 0, 0, 0}, {51, 539, 1360, 4420, 0, 0, 0}, {204, 544, 5228, 0, 0, 0, 0}, {63, 541, 1370, 4111, 0, 0, 0}, {204, 546, 5188, 0, 0, 0, 0}, {63, 543, 1360, 4112, 0, 0, 0}, {512, 20720, 0, 0, 0, 0, 0}, {12, 51, 258, 0, 0, 0, 0}, {514, 20560, 0, 0, 0, 0, 0}, {12, 51, 256, 0, 0, 0, 0}, {12, 516, 1028, 4208, 0, 0, 0}, {255, 522, 1290, 0, 0, 0, 0}, {12, 518, 1024, 4176, 0, 0, 0}, {255, 520, 1280, 0, 0, 0, 0}, {520, 20720, 0, 0, 0, 0, 0}, {12, 51, 262, 0, 0, 0, 0}, {522, 20560, 0, 0, 0, 0, 0}, {12, 51, 260, 0, 0, 0, 0}, {12, 512, 1024, 4144, 0, 0, 0}, {255, 514, 1290, 0, 0, 0, 0}, {12, 514, 1028, 4112, 0, 0, 0}, {255, 512, 1280, 0, 0, 0, 0}, {3072, 13056, 0, 0, 0, 0, 0}, {2, 80, 257, 0, 0, 0, 0}, {2, 1024, 4352, 0, 0, 0, 0}, {240, 771, 0, 0, 0, 0, 0}, {8, 13124, 1028, 0, 0, 0, 0}, {10, 773, 80, 1285, 0, 0, 0}, {10, 13158, 1542, 0, 0, 0, 0}, {8, 775, 112, 1024, 0, 0, 0}, {8, 13056, 1024, 0, 0, 0, 0}, {10, 771, 80, 1285, 0, 0, 0}, {10, 13056, 1536, 0, 0, 0, 0}, {8, 771, 112, 1028, 0, 0, 0}, {3084, 13260, 0, 0, 0, 0, 0}, {2, 80, 261, 0, 0, 0, 0}, {2, 1028, 4420, 0, 0, 0, 0}, {240, 783, 0, 0, 0, 0, 0}, {32, 784, 80, 4112, 0, 0, 0}, {3140, 34, 4369, 0, 0, 0, 0}, {34, 786, 90, 4352, 0, 0, 0}, {3148, 32, 4883, 0, 0, 0, 0}, {40, 788, 80, 5140, 0, 0, 0}, {3136, 42, 5397, 0, 0, 0, 0}, {42, 790, 90, 5376, 0, 0, 0}, {3144, 40, 5911, 0, 0, 0, 0}, {40, 792, 80, 5120, 0, 0, 0}, {3148, 42, 5461, 0, 0, 0, 0}, {42, 794, 90, 5402, 0, 0, 0}, {3140, 40, 5983, 0, 0, 0, 0}, {32, 796, 80, 4096, 0, 0, 0}, {3144, 34, 4437, 0, 0, 0, 0}, {34, 798, 90, 4382, 0, 0, 0}, {3136, 32, 4959, 0, 0, 0, 0}, {3072, 32, 4864, 0, 0, 0, 0}, {34, 771, 90, 4369, 0, 0, 0}, {3072, 34, 4352, 0, 0, 0, 0}, {32, 771, 80, 4112, 0, 0, 0}, {3084, 40, 5960, 0, 0, 0, 0}, {42, 783, 90, 5391, 0, 0, 0}, {3084, 42, 5440, 0, 0, 0, 0}, {40, 783, 80, 5120, 0, 0, 0}, {3072, 40, 5888, 0, 0, 0, 0}, {42, 771, 90, 5397, 0, 0, 0}, {3072, 42, 5376, 0, 0, 0, 0}, {40, 771, 80, 5140, 0, 0, 0}, {3084, 32, 4940, 0, 0, 0, 0}, {34, 783, 90, 4367, 0, 0, 0}, {3084, 34, 4420, 0, 0, 0, 0}, {32, 783, 80, 4096, 0, 0, 0}, {240, 816, 0, 0, 0, 0, 0}, {2, 1092, 4369, 0, 0, 0, 0}, {2, 80, 272, 0, 0, 0, 0}, {3276, 13107, 0, 0, 0, 0, 0}, {8, 820, 112, 1076, 0, 0, 0}, {10, 13141, 1632, 0, 0, 0, 0}, {10, 822, 80, 1280, 0, 0, 0}, {8, 13175, 1088, 0, 0, 0, 0}, {8, 816, 112, 1072, 0, 0, 0}, {10, 13107, 1638, 0, 0, 0, 0}, {10, 816, 80, 1280, 0, 0, 0}, {8, 13107, 1092, 0, 0, 0, 0}, {240, 828, 0, 0, 0, 0, 0}, {2, 1088, 4437, 0, 0, 0, 0}, {2, 80, 276, 0, 0, 0, 0}, {3264, 13311, 0, 0, 0, 0, 0}, {128, 3136, 13056, 16448, 0, 0, 0}, {10, 34, 785, 80, 1285, 4369, 0}, {10, 34, 1602, 4352, 0, 0, 0}, {819, 112, 0, 0, 0, 0, 0}, {136, 3140, 13124, 17476, 0, 0, 0}, {10, 32, 789, 80, 1285, 4112, 0}, {10, 32, 1606, 4934, 0, 0, 0}, {831, 120, 0, 0, 0, 0, 0}, {136, 3144, 13056, 17408, 0, 0, 0}, {10, 32, 787, 80, 1285, 4096, 0}, {10, 32, 1600, 4864, 0, 0, 0}, {819, 120, 0, 0, 0, 0, 0}, {128, 3148, 13132, 16384, 0, 0, 0}, {10, 34, 791, 80, 1285, 4357, 0}, {10, 34, 1604, 4420, 0, 0, 0}, {831, 112, 0, 0, 0, 0, 0}, {768, 80, 0, 0, 0, 0, 0}, {8, 34, 1028, 4369, 0, 0, 0}, {8, 34, 768, 82, 1024, 4352, 0}, {160, 3084, 13107, 21331, 0, 0, 0}, {8, 32, 772, 80, 1028, 4112, 0}, {170, 3072, 13141, 21845, 0, 0, 0}, {780, 90, 0, 0, 0, 0, 0}, {8, 32, 1024, 4951, 0, 0, 0}, {8, 32, 768, 80, 1024, 4096, 0}, {170, 3084, 13107, 21845, 0, 0, 0}, {768, 90, 0, 0, 0, 0, 0}, {8, 32, 1028, 4883, 0, 0, 0}, {780, 80, 0, 0, 0, 0, 0}, {8, 34, 1024, 4437, 0, 0, 0}, {8, 34, 772, 82, 1028, 4374, 0}, {160, 3072, 13151, 21343, 0, 0, 0}, {160, 3168, 13056, 21344, 0, 0, 0}, {8, 34, 785, 82, 1046, 4369, 0}, {8, 34, 1088, 4352, 0, 0, 0}, {819, 80, 0, 0, 0, 0, 0}, {8, 32, 1092, 4932, 0, 0, 0}, {831, 90, 0, 0, 0, 0, 0}, {170, 3174, 13158, 21760, 0, 0, 0}, {8, 32, 791, 80, 1040, 4112, 0}, {8, 32, 1088, 4864, 0, 0, 0}, {819, 90, 0, 0, 0, 0, 0}, {170, 3178, 13056, 21760, 0, 0, 0}, {8, 32, 787, 80, 1044, 4096, 0}, {160, 3180, 13164, 21356, 0, 0, 0}, {8, 34, 789, 82, 1042, 4359, 0}, {8, 34, 1092, 4420, 0, 0, 0}, {831, 80, 0, 0, 0, 0, 0}, {768, 112, 0, 0, 0, 0, 0}, {10, 34, 1542, 4369, 0, 0, 0}, {10, 34, 768, 80, 1280, 4352, 0}, {128, 3084, 13107, 16448, 0, 0, 0}, {780, 120, 0, 0, 0, 0, 0}, {10, 32, 1536, 4949, 0, 0, 0}, {10, 32, 774, 80, 1280, 4112, 0}, {136, 3072, 13175, 17408, 0, 0, 0}, {768, 120, 0, 0, 0, 0, 0}, {10, 32, 1542, 4883, 0, 0, 0}, {10, 32, 768, 80, 1280, 4096, 0}, {136, 3084, 13107, 17476, 0, 0, 0}, {780, 112, 0, 0, 0, 0, 0}, {10, 34, 1536, 4437, 0, 0, 0}, {10, 34, 774, 80, 1280, 4372, 0}, {128, 3072, 13183, 16384, 0, 0, 0}, {128, 3072, 13056, 16384, 0, 0, 0}, {10, 34, 771, 80, 1285, 4369, 0}, {10, 34, 1536, 4352, 0, 0, 0}, {771, 112, 0, 0, 0, 0, 0}, {136, 3084, 13124, 17476, 0, 0, 0}, {10, 32, 773, 80, 1285, 4096, 0}, {10, 32, 1542, 4934, 0, 0, 0}, {783, 120, 0, 0, 0, 0, 0}, {136, 3072, 13056, 17408, 0, 0, 0}, {10, 32, 771, 80, 1285, 4112, 0}, {10, 32, 1536, 4864, 0, 0, 0}, {771, 120, 0, 0, 0, 0, 0}, {128, 3084, 13132, 16448, 0, 0, 0}, {10, 34, 773, 80, 1285, 4357, 0}, {10, 34, 1542, 4420, 0, 0, 0}, {783, 112, 0, 0, 0, 0, 0}, {816, 80, 0, 0, 0, 0, 0}, {8, 34, 1092, 4369, 0, 0, 0}, {8, 34, 786, 82, 1042, 4352, 0}, {160, 3180, 13107, 21299, 0, 0, 0}, {8, 32, 788, 80, 1044, 4096, 0}, {170, 3178, 13141, 21845, 0, 0, 0}, {828, 90, 0, 0, 0, 0, 0}, {8, 32, 1088, 4951, 0, 0, 0}, {8, 32, 784, 80, 1040, 4112, 0}, {170, 3174, 13107, 21845, 0, 0, 0}, {816, 90, 0, 0, 0, 0, 0}, {8, 32, 1092, 4883, 0, 0, 0}, {828, 80, 0, 0, 0, 0, 0}, {8, 34, 1088, 4437, 0, 0, 0}, {8, 34, 790, 82, 1046, 4374, 0}, {160, 3168, 13151, 21311, 0, 0, 0}, {160, 3072, 13056, 21248, 0, 0, 0}, {8, 34, 771, 82, 1028, 4369, 0}, {8, 34, 1024, 4352, 0, 0, 0}, {771, 80, 0, 0, 0, 0, 0}, {8, 32, 1028, 4932, 0, 0, 0}, {783, 90, 0, 0, 0, 0, 0}, {170, 3084, 13158, 21760, 0, 0, 0}, {8, 32, 775, 80, 1024, 4096, 0}, {8, 32, 1024, 4864, 0, 0, 0}, {771, 90, 0, 0, 0, 0, 0}, {170, 3072, 13056, 21760, 0, 0, 0}, {8, 32, 771, 80, 1028, 4112, 0}, {160, 3084, 13164, 21260, 0, 0, 0}, {8, 34, 775, 82, 1024, 4359, 0}, {8, 34, 1028, 4420, 0, 0, 0}, {783, 80, 0, 0, 0, 0, 0}, {816, 112, 0, 0, 0, 0, 0}, {10, 34, 1604, 4369, 0, 0, 0}, {10, 34, 786, 80, 1280, 4352, 0}, {128, 3148, 13107, 16384, 0, 0, 0}, {828, 120, 0, 0, 0, 0, 0}, {10, 32, 1600, 4949, 0, 0, 0}, {10, 32, 790, 80, 1280, 4096, 0}, {136, 3144, 13175, 17408, 0, 0, 0}, {816, 120, 0, 0, 0, 0, 0}, {10, 32, 1606, 4883, 0, 0, 0}, {10, 32, 784, 80, 1280, 4112, 0}, {136, 3140, 13107, 17476, 0, 0, 0}, {828, 112, 0, 0, 0, 0, 0}, {10, 34, 1602, 4437, 0, 0, 0}, {10, 34, 788, 80, 1280, 4372, 0}, {128, 3136, 13183, 16448, 0, 0, 0}, {3264, 13056, 0, 0, 0, 0, 0}, {2, 80, 273, 0, 0, 0, 0}, {2, 1088, 4352, 0, 0, 0, 0}, {240, 819, 0, 0, 0, 0, 0}, {8, 13124, 1092, 0, 0, 0, 0}, {10, 821, 80, 1285, 0, 0, 0}, {10, 13158, 1638, 0, 0, 0, 0}, {8, 823, 112, 1072, 0, 0, 0}, {8, 13056, 1088, 0, 0, 0, 0}, {10, 819, 80, 1285, 0, 0, 0}, {10, 13056, 1632, 0, 0, 0, 0}, {8, 819, 112, 1076, 0, 0, 0}, {3276, 13260, 0, 0, 0, 0, 0}, {2, 80, 277, 0, 0, 0, 0}, {2, 1092, 4420, 0, 0, 0, 0}, {240, 831, 0, 0, 0, 0, 0}, {32, 768, 80, 4096, 0, 0, 0}, {3084, 34, 4369, 0, 0, 0, 0}, {34, 768, 90, 4352, 0, 0, 0}, {3084, 32, 4883, 0, 0, 0, 0}, {40, 780, 80, 5140, 0, 0, 0}, {3072, 42, 5461, 0, 0, 0, 0}, {42, 780, 90, 5402, 0, 0, 0}, {3072, 40, 5983, 0, 0, 0, 0}, {40, 768, 80, 5120, 0, 0, 0}, {3084, 42, 5397, 0, 0, 0, 0}, {42, 768, 90, 5376, 0, 0, 0}, {3084, 40, 5911, 0, 0, 0, 0}, {32, 780, 80, 4112, 0, 0, 0}, {3072, 34, 4437, 0, 0, 0, 0}, {34, 780, 90, 4382, 0, 0, 0}, {3072, 32, 4959, 0, 0, 0, 0}, {3136, 32, 4864, 0, 0, 0, 0}, {34, 785, 90, 4369, 0, 0, 0}, {3144, 34, 4352, 0, 0, 0, 0}, {32, 787, 80, 4096, 0, 0, 0}, {3140, 40, 5888, 0, 0, 0, 0}, {42, 789, 90, 5397, 0, 0, 0}, {3148, 42, 5376, 0, 0, 0, 0}, {40, 791, 80, 5120, 0, 0, 0}, {3144, 40, 5960, 0, 0, 0, 0}, {42, 793, 90, 5391, 0, 0, 0}, {3136, 42, 5440, 0, 0, 0, 0}, {40, 795, 80, 5140, 0, 0, 0}, {3148, 32, 4940, 0, 0, 0, 0}, {34, 797, 90, 4367, 0, 0, 0}, {3140, 34, 4420, 0, 0, 0, 0}, {32, 799, 80, 4112, 0, 0, 0}, {240, 768, 0, 0, 0, 0, 0}, {2, 1028, 4369, 0, 0, 0, 0}, {2, 80, 256, 0, 0, 0, 0}, {3084, 13107, 0, 0, 0, 0, 0}, {8, 772, 112, 1028, 0, 0, 0}, {10, 13141, 1536, 0, 0, 0, 0}, {10, 774, 80, 1280, 0, 0, 0}, {8, 13175, 1024, 0, 0, 0, 0}, {8, 768, 112, 1024, 0, 0, 0}, {10, 13107, 1542, 0, 0, 0, 0}, {10, 768, 80, 1280, 0, 0, 0}, {8, 13107, 1028, 0, 0, 0, 0}, {240, 780, 0, 0, 0, 0, 0}, {2, 1024, 4437, 0, 0, 0, 0}, {2, 80, 260, 0, 0, 0, 0}, {3072, 13311, 0, 0, 0, 0, 0}, {12288, 1024, 0, 0, 0, 0, 0}, {10, 85, 257, 0, 0, 0, 0}, {10, 514, 1026, 4128, 0, 0, 0}, {255, 771, 1036, 0, 0, 0, 0}, {12480, 1028, 0, 0, 0, 0, 0}, {10, 85, 261, 0, 0, 0, 0}, {10, 512, 1030, 4192, 0, 0, 0}, {255, 783, 1032, 0, 0, 0, 0}, {12288, 1032, 0, 0, 0, 0, 0}, {10, 85, 259, 0, 0, 0, 0}, {10, 512, 1024, 4096, 0, 0, 0}, {255, 771, 1028, 0, 0, 0, 0}, {12480, 1036, 0, 0, 0, 0, 0}, {10, 85, 263, 0, 0, 0, 0}, {10, 514, 1028, 4160, 0, 0, 0}, {255, 783, 1024, 0, 0, 0, 0}, {160, 1088, 4112, 0, 0, 0, 0}, {819, 85, 1041, 4369, 0, 0, 0}, {170, 1096, 4626, 0, 0, 0, 0}, {819, 95, 1043, 4128, 0, 0, 0}, {160, 1092, 4176, 0, 0, 0, 0}, {831, 85, 1045, 4352, 0, 0, 0}, {170, 1100, 4698, 0, 0, 0, 0}, {831, 95, 1047, 4159, 0, 0, 0}, {160, 1096, 4144, 0, 0, 0, 0}, {819, 85, 1049, 4403, 0, 0, 0}, {170, 1088, 4656, 0, 0, 0, 0}, {819, 95, 1051, 4096, 0, 0, 0}, {160, 1100, 4208, 0, 0, 0, 0}, {831, 85, 1053, 4386, 0, 0, 0}, {170, 1092, 4728, 0, 0, 0, 0}, {831, 95, 1055, 4127, 0, 0, 0}, {160, 1056, 4128, 0, 0, 0, 0}, {771, 85, 1070, 4369, 0, 0, 0}, {170, 1058, 4642, 0, 0, 0, 0}, {771, 95, 1068, 4112, 0, 0, 0}, {160, 1060, 4192, 0, 0, 0, 0}, {783, 85, 1066, 4352, 0, 0, 0}, {170, 1062, 4714, 0, 0, 0, 0}, {783, 95, 1064, 4111, 0, 0, 0}, {160, 1064, 4096, 0, 0, 0, 0}, {771, 85, 1062, 4403, 0, 0, 0}, {170, 1066, 4608, 0, 0, 0, 0}, {771, 95, 1060, 4144, 0, 0, 0}, {160, 1068, 4160, 0, 0, 0, 0}, {783, 85, 1058, 4386, 0, 0, 0}, {170, 1070, 4680, 0, 0, 0, 0}, {783, 95, 1056, 4143, 0, 0, 0}, {1216, 2048, 12336, 17408, 0, 0, 0}, {10, 305, 514, 85, 1280, 4369, 0}, {10, 514, 1122, 4112, 0, 0, 0}, {255, 819, 1075, 0, 0, 0, 0}, {1220, 2056, 13364, 17476, 0, 0, 0}, {10, 309, 512, 85, 1280, 4352, 0}, {10, 512, 1126, 4176, 0, 0, 0}, {255, 831, 1079, 0, 0, 0, 0}, {1224, 2056, 12336, 16448, 0, 0, 0}, {10, 307, 512, 85, 1280, 4096, 0}, {10, 512, 1120, 4144, 0, 0, 0}, {255, 819, 1083, 0, 0, 0, 0}, {1228, 2048, 13372, 16384, 0, 0, 0}, {10, 311, 514, 85, 1280, 4117, 0}, {10, 514, 1124, 4208, 0, 0, 0}, {255, 831, 1087, 0, 0, 0, 0}, {12480, 1088, 0, 0, 0, 0, 0}, {10, 85, 276, 0, 0, 0, 0}, {10, 546, 1090, 4192, 0, 0, 0}, {255, 828, 1100, 0, 0, 0, 0}, {12288, 1092, 0, 0, 0, 0, 0}, {10, 85, 272, 0, 0, 0, 0}, {10, 544, 1094, 4128, 0, 0, 0}, {255, 816, 1096, 0, 0, 0, 0}, {12480, 1096, 0, 0, 0, 0, 0}, {10, 85, 278, 0, 0, 0, 0}, {10, 544, 1088, 4160, 0, 0, 0}, {255, 828, 1092, 0, 0, 0, 0}, {12288, 1100, 0, 0, 0, 0, 0}, {10, 85, 274, 0, 0, 0, 0}, {10, 546, 1092, 4096, 0, 0, 0}, {255, 816, 1088, 0, 0, 0, 0}, {160, 1024, 4176, 0, 0, 0, 0}, {780, 85, 1028, 4369, 0, 0, 0}, {170, 1032, 4728, 0, 0, 0, 0}, {780, 95, 1036, 4159, 0, 0, 0}, {160, 1028, 4112, 0, 0, 0, 0}, {768, 85, 1024, 4352, 0, 0, 0}, {170, 1036, 4656, 0, 0, 0, 0}, {768, 95, 1032, 4128, 0, 0, 0}, {160, 1032, 4208, 0, 0, 0, 0}, {780, 85, 1036, 4403, 0, 0, 0}, {170, 1024, 4698, 0, 0, 0, 0}, {780, 95, 1028, 4127, 0, 0, 0}, {160, 1036, 4144, 0, 0, 0, 0}, {768, 85, 1032, 4386, 0, 0, 0}, {170, 1028, 4626, 0, 0, 0, 0}, {768, 95, 1024, 4096, 0, 0, 0}, {160, 1120, 4192, 0, 0, 0, 0}, {828, 85, 1083, 4369, 0, 0, 0}, {170, 1122, 4680, 0, 0, 0, 0}, {828, 95, 1075, 4111, 0, 0, 0}, {160, 1124, 4128, 0, 0, 0, 0}, {816, 85, 1087, 4352, 0, 0, 0}, {170, 1126, 4608, 0, 0, 0, 0}, {816, 95, 1079, 4112, 0, 0, 0}, {160, 1128, 4160, 0, 0, 0, 0}, {828, 85, 1075, 4403, 0, 0, 0}, {170, 1130, 4714, 0, 0, 0, 0}, {828, 95, 1083, 4143, 0, 0, 0}, {160, 1132, 4096, 0, 0, 0, 0}, {816, 85, 1079, 4386, 0, 0, 0}, {170, 1134, 4642, 0, 0, 0, 0}, {816, 95, 1087, 4144, 0, 0, 0}, {1152, 3072, 13424, 17408, 0, 0, 0}, {10, 292, 774, 85, 1280, 4369, 0}, {10, 546, 1058, 4176, 0, 0, 0}, {255, 780, 1139, 0, 0, 0, 0}, {1156, 3084, 12336, 17476, 0, 0, 0}, {10, 288, 768, 85, 1280, 4352, 0}, {10, 544, 1062, 4112, 0, 0, 0}, {255, 768, 1143, 0, 0, 0, 0}, {1160, 3072, 13432, 16384, 0, 0, 0}, {10, 294, 774, 85, 1280, 4117, 0}, {10, 544, 1056, 4208, 0, 0, 0}, {255, 780, 1147, 0, 0, 0, 0}, {1164, 3084, 12336, 16448, 0, 0, 0}, {10, 290, 768, 85, 1280, 4096, 0}, {10, 546, 1060, 4144, 0, 0, 0}, {255, 768, 1151, 0, 0, 0, 0}, {1152, 3072, 12288, 17408, 0, 0, 0}, {10, 289, 771, 85, 1285, 4369, 0}, {10, 546, 1058, 4096, 0, 0, 0}, {255, 771, 1139, 0, 0, 0, 0}, {1156, 3084, 13380, 17476, 0, 0, 0}, {10, 293, 773, 85, 1285, 4352, 0}, {10, 544, 1062, 4160, 0, 0, 0}, {255, 783, 1143, 0, 0, 0, 0}, {1160, 3072, 12288, 16384, 0, 0, 0}, {10, 291, 771, 85, 1285, 4112, 0}, {10, 544, 1056, 4128, 0, 0, 0}, {255, 771, 1147, 0, 0, 0, 0}, {1164, 3084, 13388, 16448, 0, 0, 0}, {10, 295, 773, 85, 1285, 4101, 0}, {10, 546, 1060, 4192, 0, 0, 0}, {255, 783, 1151, 0, 0, 0, 0}, {160, 1120, 4144, 0, 0, 0, 0}, {819, 85, 1083, 4369, 0, 0, 0}, {170, 1122, 4626, 0, 0, 0, 0}, {819, 95, 1075, 4096, 0, 0, 0}, {160, 1124, 4208, 0, 0, 0, 0}, {831, 85, 1087, 4352, 0, 0, 0}, {170, 1126, 4698, 0, 0, 0, 0}, {831, 95, 1079, 4127, 0, 0, 0}, {160, 1128, 4112, 0, 0, 0, 0}, {819, 85, 1075, 4403, 0, 0, 0}, {170, 1130, 4656, 0, 0, 0, 0}, {819, 95, 1083, 4128, 0, 0, 0}, {160, 1132, 4176, 0, 0, 0, 0}, {831, 85, 1079, 4386, 0, 0, 0}, {170, 1134, 4728, 0, 0, 0, 0}, {831, 95, 1087, 4159, 0, 0, 0}, {160, 1024, 4096, 0, 0, 0, 0}, {771, 85, 1028, 4369, 0, 0, 0}, {170, 1032, 4642, 0, 0, 0, 0}, {771, 95, 1036, 4144, 0, 0, 0}, {160, 1028, 4160, 0, 0, 0, 0}, {783, 85, 1024, 4352, 0, 0, 0}, {170, 1036, 4714, 0, 0, 0, 0}, {783, 95, 1032, 4143, 0, 0, 0}, {160, 1032, 4128, 0, 0, 0, 0}, {771, 85, 1036, 4403, 0, 0, 0}, {170, 1024, 4608, 0, 0, 0, 0}, {771, 95, 1028, 4112, 0, 0, 0}, {160, 1036, 4192, 0, 0, 0, 0}, {783, 85, 1032, 4386, 0, 0, 0}, {170, 1028, 4680, 0, 0, 0, 0}, {783, 95, 1024, 4111, 0, 0, 0}, {12336, 1088, 0, 0, 0, 0, 0}, {10, 85, 273, 0, 0, 0, 0}, {10, 546, 1090, 4144, 0, 0, 0}, {255, 819, 1100, 0, 0, 0, 0}, {12528, 1092, 0, 0, 0, 0, 0}, {10, 85, 277, 0, 0, 0, 0}, {10, 544, 1094, 4208, 0, 0, 0}, {255, 831, 1096, 0, 0, 0, 0}, {12336, 1096, 0, 0, 0, 0, 0}, {10, 85, 275, 0, 0, 0, 0}, {10, 544, 1088, 4112, 0, 0, 0}, {255, 819, 1092, 0, 0, 0, 0}, {12528, 1100, 0, 0, 0, 0, 0}, {10, 85, 279, 0, 0, 0, 0}, {10, 546, 1092, 4176, 0, 0, 0}, {255, 831, 1088, 0, 0, 0, 0}, {1216, 2048, 13312, 17408, 0, 0, 0}, {10, 308, 514, 85, 1285, 4369, 0}, {10, 514, 1122, 4160, 0, 0, 0}, {255, 828, 1075, 0, 0, 0, 0}, {1220, 2056, 12288, 17476, 0, 0, 0}, {10, 304, 512, 85, 1285, 4352, 0}, {10, 512, 1126, 4096, 0, 0, 0}, {255, 816, 1079, 0, 0, 0, 0}, {1224, 2056, 13320, 16448, 0, 0, 0}, {10, 310, 512, 85, 1285, 4101, 0}, {10, 512, 1120, 4192, 0, 0, 0}, {255, 828, 1083, 0, 0, 0, 0}, {1228, 2048, 12288, 16384, 0, 0, 0}, {10, 306, 514, 85, 1285, 4112, 0}, {10, 514, 1124, 4128, 0, 0, 0}, {255, 816, 1087, 0, 0, 0, 0}, {160, 1056, 4208, 0, 0, 0, 0}, {780, 85, 1070, 4369, 0, 0, 0}, {170, 1058, 4728, 0, 0, 0, 0}, {780, 95, 1068, 4127, 0, 0, 0}, {160, 1060, 4144, 0, 0, 0, 0}, {768, 85, 1066, 4352, 0, 0, 0}, {170, 1062, 4656, 0, 0, 0, 0}, {768, 95, 1064, 4096, 0, 0, 0}, {160, 1064, 4176, 0, 0, 0, 0}, {780, 85, 1062, 4403, 0, 0, 0}, {170, 1066, 4698, 0, 0, 0, 0}, {780, 95, 1060, 4159, 0, 0, 0}, {160, 1068, 4112, 0, 0, 0, 0}, {768, 85, 1058, 4386, 0, 0, 0}, {170, 1070, 4626, 0, 0, 0, 0}, {768, 95, 1056, 4128, 0, 0, 0}, {160, 1088, 4160, 0, 0, 0, 0}, {828, 85, 1041, 4369, 0, 0, 0}, {170, 1096, 4680, 0, 0, 0, 0}, {828, 95, 1043, 4143, 0, 0, 0}, {160, 1092, 4096, 0, 0, 0, 0}, {816, 85, 1045, 4352, 0, 0, 0}, {170, 1100, 4608, 0, 0, 0, 0}, {816, 95, 1047, 4144, 0, 0, 0}, {160, 1096, 4192, 0, 0, 0, 0}, {828, 85, 1049, 4403, 0, 0, 0}, {170, 1088, 4714, 0, 0, 0, 0}, {828, 95, 1051, 4111, 0, 0, 0}, {160, 1100, 4128, 0, 0, 0, 0}, {816, 85, 1053, 4386, 0, 0, 0}, {170, 1092, 4642, 0, 0, 0, 0}, {816, 95, 1055, 4112, 0, 0, 0}, {12528, 1024, 0, 0, 0, 0, 0}, {10, 85, 260, 0, 0, 0, 0}, {10, 514, 1026, 4208, 0, 0, 0}, {255, 780, 1036, 0, 0, 0, 0}, {12336, 1028, 0, 0, 0, 0, 0}, {10, 85, 256, 0, 0, 0, 0}, {10, 512, 1030, 4144, 0, 0, 0}, {255, 768, 1032, 0, 0, 0, 0}, {12528, 1032, 0, 0, 0, 0, 0}, {10, 85, 262, 0, 0, 0, 0}, {10, 512, 1024, 4176, 0, 0, 0}, {255, 780, 1028, 0, 0, 0, 0}, {12336, 1036, 0, 0, 0, 0, 0}, {10, 85, 258, 0, 0, 0, 0}, {10, 514, 1028, 4112, 0, 0, 0}, {255, 768, 1024, 0, 0, 0, 0}, {2560, 21760, 0, 0, 0, 0, 0}, {48, 4, 257, 0, 0, 0, 0}, {8, 514, 21794, 0, 0, 0, 0}, {12, 48, 771, 1283, 0, 0, 0}, {512, 4, 4352, 0, 0, 0, 0}, {240, 1285, 0, 0, 0, 0, 0}, {12, 13056, 1542, 0, 0, 0, 0}, {8, 512, 112, 1287, 0, 0, 0}, {8, 512, 21760, 0, 0, 0, 0}, {12, 48, 771, 1285, 0, 0, 0}, {2570, 21930, 0, 0, 0, 0, 0}, {48, 4, 259, 0, 0, 0, 0}, {12, 13056, 1536, 0, 0, 0, 0}, {8, 514, 112, 1285, 0, 0, 0}, {514, 4, 4386, 0, 0, 0, 0}, {240, 1295, 0, 0, 0, 0, 0}, {48, 64, 1296, 4112, 0, 0, 0}, {2594, 68, 4369, 0, 0, 0, 0}, {48, 72, 1298, 4626, 0, 0, 0}, {2592, 76, 4883, 0, 0, 0, 0}, {60, 68, 1300, 4352, 0, 0, 0}, {2602, 64, 5397, 0, 0, 0, 0}, {60, 76, 1302, 4864, 0, 0, 0}, {2600, 72, 5911, 0, 0, 0, 0}, {48, 72, 1304, 4608, 0, 0, 0}, {2602, 76, 4915, 0, 0, 0, 0}, {48, 64, 1306, 4096, 0, 0, 0}, {2600, 68, 4403, 0, 0, 0, 0}, {60, 76, 1308, 4892, 0, 0, 0}, {2594, 72, 5951, 0, 0, 0, 0}, {60, 68, 1310, 4382, 0, 0, 0}, {2592, 64, 5439, 0, 0, 0, 0}, {128, 2592, 8224, 21760, 0, 0, 0}, {12, 48, 771, 68, 1297, 4369, 0}, {136, 2594, 8738, 21794, 0, 0, 0}, {12, 48, 771, 64, 1299, 4112, 0}, {12, 68, 1572, 4352, 0, 0, 0}, {8192, 112, 1317, 0, 0, 0, 0}, {12, 64, 1574, 4864, 0, 0, 0}, {8704, 120, 1319, 0, 0, 0, 0}, {136, 2600, 8704, 21760, 0, 0, 0}, {12, 48, 771, 64, 1301, 4096, 0}, {128, 2602, 8192, 21802, 0, 0, 0}, {12, 48, 771, 68, 1303, 4355, 0}, {12, 64, 1568, 4896, 0, 0, 0}, {8738, 120, 1325, 0, 0, 0, 0}, {12, 68, 1570, 4386, 0, 0, 0}, {8224, 112, 1327, 0, 0, 0, 0}, {48, 1280, 0, 0, 0, 0, 0}, {8, 514, 68, 4369, 0, 0, 0}, {8, 48, 514, 64, 1282, 4112, 0}, {204, 2560, 13107, 21811, 0, 0, 0}, {8, 52, 512, 68, 1280, 4352, 0}, {192, 2570, 13621, 21845, 0, 0, 0}, {60, 1290, 0, 0, 0, 0, 0}, {8, 512, 64, 5431, 0, 0, 0}, {8, 48, 512, 64, 1280, 4096, 0}, {204, 2570, 13107, 21845, 0, 0, 0}, {48, 1290, 0, 0, 0, 0, 0}, {8, 512, 68, 4403, 0, 0, 0}, {60, 1280, 0, 0, 0, 0, 0}, {8, 514, 64, 5397, 0, 0, 0}, {8, 52, 514, 68, 1282, 4374, 0}, {192, 2560, 13631, 21823, 0, 0, 0}, {2560, 64, 5376, 0, 0, 0, 0}, {60, 68, 1285, 4369, 0, 0, 0}, {2570, 72, 5928, 0, 0, 0, 0}, {60, 76, 1295, 4879, 0, 0, 0}, {2560, 68, 4352, 0, 0, 0, 0}, {48, 64, 1285, 4112, 0, 0, 0}, {2570, 76, 4896, 0, 0, 0, 0}, {48, 72, 1295, 4608, 0, 0, 0}, {2560, 72, 5888, 0, 0, 0, 0}, {60, 76, 1285, 4883, 0, 0, 0}, {2570, 64, 5418, 0, 0, 0, 0}, {60, 68, 1295, 4367, 0, 0, 0}, {2560, 76, 4864, 0, 0, 0, 0}, {48, 72, 1285, 4626, 0, 0, 0}, {2570, 68, 4386, 0, 0, 0, 0}, {48, 64, 1295, 4096, 0, 0, 0}, {240, 1360, 0, 0, 0, 0, 0}, {546, 4, 4369, 0, 0, 0, 0}, {8, 546, 112, 1314, 0, 0, 0}, {12, 13107, 1632, 0, 0, 0, 0}, {48, 4, 272, 0, 0, 0, 0}, {2730, 21845, 0, 0, 0, 0, 0}, {12, 48, 768, 1366, 0, 0, 0}, {8, 544, 21879, 0, 0, 0, 0}, {8, 544, 112, 1312, 0, 0, 0}, {12, 13107, 1638, 0, 0, 0, 0}, {240, 1370, 0, 0, 0, 0, 0}, {544, 4, 4403, 0, 0, 0, 0}, {12, 48, 768, 1360, 0, 0, 0}, {8, 546, 21845, 0, 0, 0, 0}, {48, 4, 274, 0, 0, 0, 0}, {2720, 22015, 0, 0, 0, 0, 0}, {192, 2656, 13664, 21760, 0, 0, 0}, {8, 52, 534, 68, 1297, 4369, 0}, {8, 546, 64, 5410, 0, 0, 0}, {60, 1375, 0, 0, 0, 0, 0}, {8, 544, 68, 4352, 0, 0, 0}, {48, 1365, 0, 0, 0, 0, 0}, {204, 2662, 13056, 21862, 0, 0, 0}, {8, 48, 528, 64, 1303, 4112, 0}, {8, 544, 64, 5376, 0, 0, 0}, {60, 1365, 0, 0, 0, 0, 0}, {192, 2666, 13674, 21866, 0, 0, 0}, {8, 52, 532, 68, 1299, 4359, 0}, {204, 2668, 13056, 21760, 0, 0, 0}, {8, 48, 530, 64, 1301, 4096, 0}, {8, 546, 68, 4386, 0, 0, 0}, {48, 1375, 0, 0, 0, 0, 0}, {8192, 112, 1280, 0, 0, 0, 0}, {12, 68, 1542, 4369, 0, 0, 0}, {8738, 120, 1290, 0, 0, 0, 0}, {12, 64, 1536, 4915, 0, 0, 0}, {12, 48, 768, 68, 1280, 4352, 0}, {128, 2570, 8224, 21845, 0, 0, 0}, {12, 48, 768, 64, 1286, 4112, 0}, {136, 2560, 8704, 21879, 0, 0, 0}, {8704, 120, 1280, 0, 0, 0, 0}, {12, 64, 1542, 4883, 0, 0, 0}, {8224, 112, 1290, 0, 0, 0, 0}, {12, 68, 1536, 4403, 0, 0, 0}, {12, 48, 768, 64, 1280, 4096, 0}, {136, 2570, 8738, 21845, 0, 0, 0}, {12, 48, 768, 68, 1286, 4370, 0}, {128, 2560, 8192, 21887, 0, 0, 0}, {128, 2560, 8192, 21760, 0, 0, 0}, {12, 48, 771, 68, 1285, 4369, 0}, {136, 2570, 8738, 21794, 0, 0, 0}, {12, 48, 771, 64, 1283, 4096, 0}, {12, 68, 1536, 4352, 0, 0, 0}, {8224, 112, 1285, 0, 0, 0, 0}, {12, 64, 1542, 4896, 0, 0, 0}, {8704, 120, 1295, 0, 0, 0, 0}, {136, 2560, 8704, 21760, 0, 0, 0}, {12, 48, 771, 64, 1285, 4112, 0}, {128, 2570, 8224, 21802, 0, 0, 0}, {12, 48, 771, 68, 1283, 4355, 0}, {12, 64, 1536, 4864, 0, 0, 0}, {8738, 120, 1285, 0, 0, 0, 0}, {12, 68, 1542, 4386, 0, 0, 0}, {8192, 112, 1295, 0, 0, 0, 0}, {48, 1360, 0, 0, 0, 0, 0}, {8, 546, 68, 4369, 0, 0, 0}, {8, 48, 530, 64, 1298, 4096, 0}, {204, 2668, 13107, 21811, 0, 0, 0}, {8, 52, 532, 68, 1300, 4352, 0}, {192, 2666, 13653, 21845, 0, 0, 0}, {60, 1370, 0, 0, 0, 0, 0}, {8, 544, 64, 5431, 0, 0, 0}, {8, 48, 528, 64, 1296, 4112, 0}, {204, 2662, 13107, 21845, 0, 0, 0}, {48, 1370, 0, 0, 0, 0, 0}, {8, 544, 68, 4403, 0, 0, 0}, {60, 1360, 0, 0, 0, 0, 0}, {8, 546, 64, 5397, 0, 0, 0}, {8, 52, 534, 68, 1302, 4374, 0}, {192, 2656, 13663, 21823, 0, 0, 0}, {2720, 21760, 0, 0, 0, 0, 0}, {48, 4, 273, 0, 0, 0, 0}, {8, 546, 21794, 0, 0, 0, 0}, {12, 48, 771, 1363, 0, 0, 0}, {544, 4, 4352, 0, 0, 0, 0}, {240, 1365, 0, 0, 0, 0, 0}, {12, 13056, 1638, 0, 0, 0, 0}, {8, 544, 112, 1319, 0, 0, 0}, {8, 544, 21760, 0, 0, 0, 0}, {12, 48, 771, 1365, 0, 0, 0}, {2730, 21930, 0, 0, 0, 0, 0}, {48, 4, 275, 0, 0, 0, 0}, {12, 13056, 1632, 0, 0, 0, 0}, {8, 546, 112, 1317, 0, 0, 0}, {546, 4, 4386, 0, 0, 0, 0}, {240, 1375, 0, 0, 0, 0, 0}, {48, 64, 1280, 4096, 0, 0, 0}, {2570, 68, 4369, 0, 0, 0, 0}, {48, 72, 1290, 4626, 0, 0, 0}, {2560, 76, 4915, 0, 0, 0, 0}, {60, 68, 1280, 4352, 0, 0, 0}, {2570, 64, 5397, 0, 0, 0, 0}, {60, 76, 1290, 4892, 0, 0, 0}, {2560, 72, 5951, 0, 0, 0, 0}, {48, 72, 1280, 4608, 0, 0, 0}, {2570, 76, 4883, 0, 0, 0, 0}, {48, 64, 1290, 4112, 0, 0, 0}, {2560, 68, 4403, 0, 0, 0, 0}, {60, 76, 1280, 4864, 0, 0, 0}, {2570, 72, 5911, 0, 0, 0, 0}, {60, 68, 1290, 4382, 0, 0, 0}, {2560, 64, 5439, 0, 0, 0, 0}, {192, 2560, 13568, 21760, 0, 0, 0}, {8, 52, 514, 68, 1285, 4369, 0}, {8, 514, 64, 5410, 0, 0, 0}, {60, 1295, 0, 0, 0, 0, 0}, {8, 512, 68, 4352, 0, 0, 0}, {48, 1285, 0, 0, 0, 0, 0}, {204, 2570, 13056, 21862, 0, 0, 0}, {8, 48, 512, 64, 1287, 4096, 0}, {8, 512, 64, 5376, 0, 0, 0}, {60, 1285, 0, 0, 0, 0, 0}, {192, 2570, 13578, 21866, 0, 0, 0}, {8, 52, 512, 68, 1287, 4359, 0}, {204, 2560, 13056, 21760, 0, 0, 0}, {8, 48, 514, 64, 1285, 4112, 0}, {8, 514, 68, 4386, 0, 0, 0}, {48, 1295, 0, 0, 0, 0, 0}, {8224, 112, 1312, 0, 0, 0, 0}, {12, 68, 1570, 4369, 0, 0, 0}, {8738, 120, 1314, 0, 0, 0, 0}, {12, 64, 1568, 4883, 0, 0, 0}, {12, 48, 768, 68, 1300, 4352, 0}, {128, 2602, 8192, 21845, 0, 0, 0}, {12, 48, 768, 64, 1302, 4096, 0}, {136, 2600, 8704, 21879, 0, 0, 0}, {8704, 120, 1320, 0, 0, 0, 0}, {12, 64, 1574, 4915, 0, 0, 0}, {8192, 112, 1322, 0, 0, 0, 0}, {12, 68, 1572, 4403, 0, 0, 0}, {12, 48, 768, 64, 1296, 4112, 0}, {136, 2594, 8738, 21845, 0, 0, 0}, {12, 48, 768, 68, 1298, 4370, 0}, {128, 2592, 8224, 21887, 0, 0, 0}, {2592, 64, 5376, 0, 0, 0, 0}, {60, 68, 1297, 4369, 0, 0, 0}, {2594, 72, 5888, 0, 0, 0, 0}, {60, 76, 1299, 4883, 0, 0, 0}, {2600, 68, 4352, 0, 0, 0, 0}, {48, 64, 1301, 4096, 0, 0, 0}, {2602, 76, 4864, 0, 0, 0, 0}, {48, 72, 1303, 4608, 0, 0, 0}, {2600, 72, 5928, 0, 0, 0, 0}, {60, 76, 1305, 4879, 0, 0, 0}, {2602, 64, 5418, 0, 0, 0, 0}, {60, 68, 1307, 4367, 0, 0, 0}, {2592, 76, 4896, 0, 0, 0, 0}, {48, 72, 1309, 4626, 0, 0, 0}, {2594, 68, 4386, 0, 0, 0, 0}, {48, 64, 1311, 4112, 0, 0, 0}, {240, 1280, 0, 0, 0, 0, 0}, {514, 4, 4369, 0, 0, 0, 0}, {8, 514, 112, 1282, 0, 0, 0}, {12, 13107, 1536, 0, 0, 0, 0}, {48, 4, 256, 0, 0, 0, 0}, {2570, 21845, 0, 0, 0, 0, 0}, {12, 48, 768, 1286, 0, 0, 0}, {8, 512, 21879, 0, 0, 0, 0}, {8, 512, 112, 1280, 0, 0, 0}, {12, 13107, 1542, 0, 0, 0, 0}, {240, 1290, 0, 0, 0, 0, 0}, {512, 4, 4403, 0, 0, 0, 0}, {12, 48, 768, 1280, 0, 0, 0}, {8, 514, 21845, 0, 0, 0, 0}, {48, 4, 258, 0, 0, 0, 0}, {2560, 22015, 0, 0, 0, 0, 0}, {12288, 1536, 0, 0, 0, 0, 0}, {8, 119, 257, 0, 0, 0, 0}, {8, 514, 1024, 4128, 0, 0, 0}, {255, 771, 1295, 0, 0, 0, 0}, {8, 512, 1028, 4160, 0, 0, 0}, {255, 783, 1285, 0, 0, 0, 0}, {12480, 1542, 0, 0, 0, 0, 0}, {8, 119, 263, 0, 0, 0, 0}, {8, 512, 1024, 4096, 0, 0, 0}, {255, 771, 1285, 0, 0, 0, 0}, {12288, 1546, 0, 0, 0, 0, 0}, {8, 119, 259, 0, 0, 0, 0}, {12480, 1548, 0, 0, 0, 0, 0}, {8, 119, 261, 0, 0, 0, 0}, {8, 514, 1028, 4192, 0, 0, 0}, {255, 783, 1295, 0, 0, 0, 0}, {128, 1632, 4112, 0, 0, 0, 0}, {819, 119, 1314, 4369, 0, 0, 0}, {136, 1642, 4626, 0, 0, 0, 0}, {819, 127, 1312, 4128, 0, 0, 0}, {136, 1644, 4728, 0, 0, 0, 0}, {831, 127, 1322, 4159, 0, 0, 0}, {128, 1638, 4208, 0, 0, 0, 0}, {831, 119, 1320, 4352, 0, 0, 0}, {136, 1632, 4656, 0, 0, 0, 0}, {819, 127, 1322, 4096, 0, 0, 0}, {128, 1642, 4144, 0, 0, 0, 0}, {819, 119, 1320, 4403, 0, 0, 0}, {128, 1644, 4176, 0, 0, 0, 0}, {831, 119, 1314, 4386, 0, 0, 0}, {136, 1638, 4698, 0, 0, 0, 0}, {831, 127, 1312, 4127, 0, 0, 0}, {128, 1568, 4128, 0, 0, 0, 0}, {771, 119, 1325, 4369, 0, 0, 0}, {136, 1570, 4642, 0, 0, 0, 0}, {771, 127, 1327, 4112, 0, 0, 0}, {136, 1572, 4680, 0, 0, 0, 0}, {783, 127, 1317, 4111, 0, 0, 0}, {128, 1574, 4160, 0, 0, 0, 0}, {783, 119, 1319, 4352, 0, 0, 0}, {136, 1576, 4608, 0, 0, 0, 0}, {771, 127, 1317, 4144, 0, 0, 0}, {128, 1578, 4096, 0, 0, 0, 0}, {771, 119, 1319, 4403, 0, 0, 0}, {128, 1580, 4192, 0, 0, 0, 0}, {783, 119, 1325, 4386, 0, 0, 0}, {136, 1582, 4714, 0, 0, 0, 0}, {783, 127, 1327, 4143, 0, 0, 0}, {1728, 2560, 12336, 22064, 0, 0, 0}, {8, 305, 514, 326, 1282, 4369, 0}, {8, 514, 1088, 4112, 0, 0, 0}, {255, 819, 1280, 0, 0, 0, 0}, {8, 512, 1092, 4208, 0, 0, 0}, {255, 831, 1290, 0, 0, 0, 0}, {1734, 2570, 13878, 20560, 0, 0, 0}, {8, 311, 512, 320, 1280, 4352, 0}, {8, 512, 1088, 4144, 0, 0, 0}, {255, 819, 1290, 0, 0, 0, 0}, {1738, 2570, 12336, 20560, 0, 0, 0}, {8, 307, 512, 324, 1280, 4096, 0}, {1740, 2560, 13884, 22076, 0, 0, 0}, {8, 309, 514, 322, 1282, 4119, 0}, {8, 514, 1092, 4176, 0, 0, 0}, {255, 831, 1280, 0, 0, 0, 0}, {128, 1600, 4160, 0, 0, 0, 0}, {828, 119, 1285, 4369, 0, 0, 0}, {136, 1602, 4714, 0, 0, 0, 0}, {828, 127, 1295, 4111, 0, 0, 0}, {136, 1604, 4608, 0, 0, 0, 0}, {816, 127, 1285, 4112, 0, 0, 0}, {128, 1606, 4128, 0, 0, 0, 0}, {816, 119, 1295, 4352, 0, 0, 0}, {136, 1608, 4680, 0, 0, 0, 0}, {828, 127, 1285, 4143, 0, 0, 0}, {128, 1610, 4192, 0, 0, 0, 0}, {828, 119, 1295, 4403, 0, 0, 0}, {128, 1612, 4096, 0, 0, 0, 0}, {816, 119, 1285, 4386, 0, 0, 0}, {136, 1614, 4642, 0, 0, 0, 0}, {816, 127, 1295, 4144, 0, 0, 0}, {1696, 3072, 13904, 20560, 0, 0, 0}, {8, 294, 772, 337, 1028, 4369, 0}, {8, 546, 1024, 4208, 0, 0, 0}, {255, 780, 1375, 0, 0, 0, 0}, {8, 544, 1028, 4112, 0, 0, 0}, {255, 768, 1365, 0, 0, 0, 0}, {1702, 3084, 12336, 22102, 0, 0, 0}, {8, 288, 768, 343, 1024, 4352, 0}, {8, 544, 1024, 4176, 0, 0, 0}, {255, 780, 1365, 0, 0, 0, 0}, {1706, 3072, 13914, 22106, 0, 0, 0}, {8, 292, 772, 339, 1028, 4119, 0}, {1708, 3084, 12336, 20560, 0, 0, 0}, {8, 290, 768, 341, 1024, 4096, 0}, {8, 546, 1028, 4144, 0, 0, 0}, {255, 768, 1375, 0, 0, 0, 0}, {12480, 1632, 0, 0, 0, 0, 0}, {8, 119, 278, 0, 0, 0, 0}, {8, 546, 1088, 4160, 0, 0, 0}, {255, 828, 1360, 0, 0, 0, 0}, {8, 544, 1092, 4128, 0, 0, 0}, {255, 816, 1370, 0, 0, 0, 0}, {12288, 1638, 0, 0, 0, 0, 0}, {8, 119, 272, 0, 0, 0, 0}, {8, 544, 1088, 4192, 0, 0, 0}, {255, 828, 1370, 0, 0, 0, 0}, {12480, 1642, 0, 0, 0, 0, 0}, {8, 119, 276, 0, 0, 0, 0}, {12288, 1644, 0, 0, 0, 0, 0}, {8, 119, 274, 0, 0, 0, 0}, {8, 546, 1092, 4096, 0, 0, 0}, {255, 816, 1360, 0, 0, 0, 0}, {128, 1536, 4208, 0, 0, 0, 0}, {780, 119, 1290, 4369, 0, 0, 0}, {136, 1546, 4698, 0, 0, 0, 0}, {780, 127, 1280, 4159, 0, 0, 0}, {136, 1548, 4656, 0, 0, 0, 0}, {768, 127, 1290, 4128, 0, 0, 0}, {128, 1542, 4112, 0, 0, 0, 0}, {768, 119, 1280, 4352, 0, 0, 0}, {136, 1536, 4728, 0, 0, 0, 0}, {780, 127, 1290, 4127, 0, 0, 0}, {128, 1546, 4176, 0, 0, 0, 0}, {780, 119, 1280, 4403, 0, 0, 0}, {128, 1548, 4144, 0, 0, 0, 0}, {768, 119, 1290, 4386, 0, 0, 0}, {136, 1542, 4626, 0, 0, 0, 0}, {768, 127, 1280, 4096, 0, 0, 0}, {128, 1536, 4096, 0, 0, 0, 0}, {771, 119, 1285, 4369, 0, 0, 0}, {136, 1546, 4642, 0, 0, 0, 0}, {771, 127, 1295, 4144, 0, 0, 0}, {136, 1548, 4680, 0, 0, 0, 0}, {783, 127, 1285, 4143, 0, 0, 0}, {128, 1542, 4192, 0, 0, 0, 0}, {783, 119, 1295, 4352, 0, 0, 0}, {136, 1536, 4608, 0, 0, 0, 0}, {771, 127, 1285, 4112, 0, 0, 0}, {128, 1546, 4128, 0, 0, 0, 0}, {771, 119, 1295, 4403, 0, 0, 0}, {128, 1548, 4160, 0, 0, 0, 0}, {783, 119, 1285, 4386, 0, 0, 0}, {136, 1542, 4714, 0, 0, 0, 0}, {783, 127, 1295, 4111, 0, 0, 0}, {12336, 1632, 0, 0, 0, 0, 0}, {8, 119, 273, 0, 0, 0, 0}, {8, 546, 1088, 4144, 0, 0, 0}, {255, 819, 1375, 0, 0, 0, 0}, {8, 544, 1092, 4176, 0, 0, 0}, {255, 831, 1365, 0, 0, 0, 0}, {12528, 1638, 0, 0, 0, 0, 0}, {8, 119, 279, 0, 0, 0, 0}, {8, 544, 1088, 4112, 0, 0, 0}, {255, 819, 1365, 0, 0, 0, 0}, {12336, 1642, 0, 0, 0, 0, 0}, {8, 119, 275, 0, 0, 0, 0}, {12528, 1644, 0, 0, 0, 0, 0}, {8, 119, 277, 0, 0, 0, 0}, {8, 546, 1092, 4208, 0, 0, 0}, {255, 831, 1375, 0, 0, 0, 0}, {1696, 3072, 12288, 22016, 0, 0, 0}, {8, 289, 771, 342, 1028, 4369, 0}, {8, 546, 1024, 4096, 0, 0, 0}, {255, 771, 1360, 0, 0, 0, 0}, {8, 544, 1028, 4192, 0, 0, 0}, {255, 783, 1370, 0, 0, 0, 0}, {1702, 3084, 13926, 20480, 0, 0, 0}, {8, 295, 775, 336, 1024, 4352, 0}, {8, 544, 1024, 4128, 0, 0, 0}, {255, 771, 1370, 0, 0, 0, 0}, {1706, 3072, 12288, 20480, 0, 0, 0}, {8, 291, 771, 340, 1028, 4112, 0}, {1708, 3084, 13932, 22028, 0, 0, 0}, {8, 293, 775, 338, 1024, 4103, 0}, {8, 546, 1028, 4160, 0, 0, 0}, {255, 783, 1360, 0, 0, 0, 0}, {128, 1600, 4144, 0, 0, 0, 0}, {819, 119, 1290, 4369, 0, 0, 0}, {136, 1602, 4626, 0, 0, 0, 0}, {819, 127, 1280, 4096, 0, 0, 0}, {136, 1604, 4728, 0, 0, 0, 0}, {831, 127, 1290, 4127, 0, 0, 0}, {128, 1606, 4176, 0, 0, 0, 0}, {831, 119, 1280, 4352, 0, 0, 0}, {136, 1608, 4656, 0, 0, 0, 0}, {819, 127, 1290, 4128, 0, 0, 0}, {128, 1610, 4112, 0, 0, 0, 0}, {819, 119, 1280, 4403, 0, 0, 0}, {128, 1612, 4208, 0, 0, 0, 0}, {831, 119, 1290, 4386, 0, 0, 0}, {136, 1614, 4698, 0, 0, 0, 0}, {831, 127, 1280, 4159, 0, 0, 0}, {1728, 2560, 13824, 20480, 0, 0, 0}, {8, 310, 514, 321, 1285, 4369, 0}, {8, 514, 1088, 4192, 0, 0, 0}, {255, 828, 1295, 0, 0, 0, 0}, {8, 512, 1092, 4096, 0, 0, 0}, {255, 816, 1285, 0, 0, 0, 0}, {1734, 2570, 12288, 22118, 0, 0, 0}, {8, 304, 512, 327, 1287, 4352, 0}, {8, 512, 1088, 4160, 0, 0, 0}, {255, 828, 1285, 0, 0, 0, 0}, {1738, 2570, 13834, 22122, 0, 0, 0}, {8, 308, 512, 323, 1287, 4103, 0}, {1740, 2560, 12288, 20480, 0, 0, 0}, {8, 306, 514, 325, 1285, 4112, 0}, {8, 514, 1092, 4128, 0, 0, 0}, {255, 816, 1295, 0, 0, 0, 0}, {128, 1568, 4176, 0, 0, 0, 0}, {780, 119, 1314, 4369, 0, 0, 0}, {136, 1570, 4698, 0, 0, 0, 0}, {780, 127, 1312, 4127, 0, 0, 0}, {136, 1572, 4656, 0, 0, 0, 0}, {768, 127, 1322, 4096, 0, 0, 0}, {128, 1574, 4144, 0, 0, 0, 0}, {768, 119, 1320, 4352, 0, 0, 0}, {136, 1576, 4728, 0, 0, 0, 0}, {780, 127, 1322, 4159, 0, 0, 0}, {128, 1578, 4208, 0, 0, 0, 0}, {780, 119, 1320, 4403, 0, 0, 0}, {128, 1580, 4112, 0, 0, 0, 0}, {768, 119, 1314, 4386, 0, 0, 0}, {136, 1582, 4626, 0, 0, 0, 0}, {768, 127, 1312, 4128, 0, 0, 0}, {128, 1632, 4192, 0, 0, 0, 0}, {828, 119, 1325, 4369, 0, 0, 0}, {136, 1642, 4714, 0, 0, 0, 0}, {828, 127, 1327, 4143, 0, 0, 0}, {136, 1644, 4608, 0, 0, 0, 0}, {816, 127, 1317, 4144, 0, 0, 0}, {128, 1638, 4096, 0, 0, 0, 0}, {816, 119, 1319, 4352, 0, 0, 0}, {136, 1632, 4680, 0, 0, 0, 0}, {828, 127, 1317, 4111, 0, 0, 0}, {128, 1642, 4160, 0, 0, 0, 0}, {828, 119, 1319, 4403, 0, 0, 0}, {128, 1644, 4128, 0, 0, 0, 0}, {816, 119, 1325, 4386, 0, 0, 0}, {136, 1638, 4642, 0, 0, 0, 0}, {816, 127, 1327, 4112, 0, 0, 0}, {12528, 1536, 0, 0, 0, 0, 0}, {8, 119, 262, 0, 0, 0, 0}, {8, 514, 1024, 4176, 0, 0, 0}, {255, 780, 1280, 0, 0, 0, 0}, {8, 512, 1028, 4144, 0, 0, 0}, {255, 768, 1290, 0, 0, 0, 0}, {12336, 1542, 0, 0, 0, 0, 0}, {8, 119, 256, 0, 0, 0, 0}, {8, 512, 1024, 4208, 0, 0, 0}, {255, 780, 1290, 0, 0, 0, 0}, {12528, 1546, 0, 0, 0, 0, 0}, {8, 119, 260, 0, 0, 0, 0}, {12336, 1548, 0, 0, 0, 0, 0}, {8, 119, 258, 0, 0, 0, 0}, {8, 514, 1028, 4112, 0, 0, 0}, {255, 768, 1280, 0, 0, 0, 0}, {2048, 30464, 0, 0, 0, 0, 0}, {48, 6, 257, 0, 0, 0, 0}, {10, 514, 21760, 0, 0, 0, 0}, {12, 48, 771, 1024, 0, 0, 0}, {12, 13056, 1028, 0, 0, 0, 0}, {10, 512, 80, 1285, 0, 0, 0}, {512, 6, 4352, 0, 0, 0, 0}, {240, 1799, 0, 0, 0, 0, 0}, {2056, 30600, 0, 0, 0, 0, 0}, {48, 6, 259, 0, 0, 0, 0}, {10, 512, 21760, 0, 0, 0, 0}, {12, 48, 771, 1028, 0, 0, 0}, {12, 13056, 1024, 0, 0, 0, 0}, {10, 514, 80, 1285, 0, 0, 0}, {514, 6, 4386, 0, 0, 0, 0}, {240, 1807, 0, 0, 0, 0, 0}, {48, 80, 1808, 4112, 0, 0, 0}, {2082, 102, 4369, 0, 0, 0, 0}, {48, 90, 1810, 4626, 0, 0, 0}, {2080, 108, 4883, 0, 0, 0, 0}, {60, 80, 1812, 4864, 0, 0, 0}, {2090, 106, 5397, 0, 0, 0, 0}, {60, 90, 1814, 4352, 0, 0, 0}, {2088, 96, 5911, 0, 0, 0, 0}, {48, 80, 1816, 4096, 0, 0, 0}, {2090, 102, 4403, 0, 0, 0, 0}, {48, 90, 1818, 4608, 0, 0, 0}, {2088, 108, 4915, 0, 0, 0, 0}, {60, 80, 1820, 4892, 0, 0, 0}, {2082, 106, 5439, 0, 0, 0, 0}, {60, 90, 1822, 4382, 0, 0, 0}, {2080, 96, 5951, 0, 0, 0, 0}, {160, 2080, 8224, 22304, 0, 0, 0}, {12, 48, 771, 86, 1042, 4369, 0}, {170, 2082, 8738, 21760, 0, 0, 0}, {12, 48, 771, 80, 1040, 4112, 0}, {12, 96, 1060, 4864, 0, 0, 0}, {8704, 90, 1829, 0, 0, 0, 0}, {12, 102, 1062, 4352, 0, 0, 0}, {8192, 80, 1831, 0, 0, 0, 0}, {160, 2088, 8192, 22312, 0, 0, 0}, {12, 48, 771, 86, 1046, 4355, 0}, {170, 2090, 8704, 21760, 0, 0, 0}, {12, 48, 771, 80, 1044, 4096, 0}, {12, 96, 1056, 4896, 0, 0, 0}, {8738, 90, 1837, 0, 0, 0, 0}, {12, 102, 1058, 4386, 0, 0, 0}, {8224, 80, 1839, 0, 0, 0, 0}, {48, 1792, 0, 0, 0, 0, 0}, {10, 514, 102, 4369, 0, 0, 0}, {10, 48, 514, 80, 1280, 4112, 0}, {204, 2048, 13107, 17408, 0, 0, 0}, {60, 1800, 0, 0, 0, 0, 0}, {10, 512, 96, 5429, 0, 0, 0}, {10, 54, 512, 80, 1280, 4352, 0}, {192, 2056, 14135, 16448, 0, 0, 0}, {48, 1800, 0, 0, 0, 0, 0}, {10, 512, 102, 4403, 0, 0, 0}, {10, 48, 512, 80, 1280, 4096, 0}, {204, 2056, 13107, 17476, 0, 0, 0}, {60, 1792, 0, 0, 0, 0, 0}, {10, 514, 96, 5397, 0, 0, 0}, {10, 54, 514, 80, 1280, 4372, 0}, {192, 2048, 14143, 16384, 0, 0, 0}, {192, 2112, 14144, 16448, 0, 0, 0}, {10, 54, 532, 80, 1285, 4369, 0}, {10, 546, 96, 5376, 0, 0, 0}, {60, 1859, 0, 0, 0, 0, 0}, {204, 2116, 13056, 17476, 0, 0, 0}, {10, 48, 528, 80, 1285, 4112, 0}, {10, 544, 102, 4352, 0, 0, 0}, {48, 1863, 0, 0, 0, 0, 0}, {192, 2120, 14152, 16384, 0, 0, 0}, {10, 54, 534, 80, 1285, 4357, 0}, {10, 544, 96, 5408, 0, 0, 0}, {60, 1867, 0, 0, 0, 0, 0}, {204, 2124, 13056, 17408, 0, 0, 0}, {10, 48, 530, 80, 1285, 4096, 0}, {10, 546, 102, 4386, 0, 0, 0}, {48, 1871, 0, 0, 0, 0, 0}, {8192, 80, 1792, 0, 0, 0, 0}, {12, 102, 1028, 4369, 0, 0, 0}, {8738, 90, 1800, 0, 0, 0, 0}, {12, 96, 1024, 4915, 0, 0, 0}, {12, 48, 768, 80, 1028, 4112, 0}, {170, 2048, 8704, 21845, 0, 0, 0}, {12, 48, 768, 86, 1024, 4352, 0}, {160, 2056, 8224, 22359, 0, 0, 0}, {8224, 80, 1800, 0, 0, 0, 0}, {12, 102, 1024, 4403, 0, 0, 0}, {8704, 90, 1792, 0, 0, 0, 0}, {12, 96, 1028, 4883, 0, 0, 0}, {12, 48, 768, 80, 1024, 4096, 0}, {170, 2056, 8738, 21845, 0, 0, 0}, {12, 48, 768, 86, 1028, 4370, 0}, {160, 2048, 8192, 22367, 0, 0, 0}, {2048, 96, 5888, 0, 0, 0, 0}, {60, 90, 1799, 4369, 0, 0, 0}, {2056, 106, 5418, 0, 0, 0, 0}, {60, 80, 1807, 4879, 0, 0, 0}, {2056, 108, 4896, 0, 0, 0, 0}, {48, 90, 1807, 4608, 0, 0, 0}, {2048, 102, 4352, 0, 0, 0, 0}, {48, 80, 1799, 4112, 0, 0, 0}, {2056, 96, 5928, 0, 0, 0, 0}, {60, 90, 1807, 4367, 0, 0, 0}, {2048, 106, 5376, 0, 0, 0, 0}, {60, 80, 1799, 4883, 0, 0, 0}, {2048, 108, 4864, 0, 0, 0, 0}, {48, 90, 1799, 4626, 0, 0, 0}, {2056, 102, 4386, 0, 0, 0, 0}, {48, 80, 1807, 4096, 0, 0, 0}, {240, 1904, 0, 0, 0, 0, 0}, {546, 6, 4369, 0, 0, 0, 0}, {10, 546, 80, 1280, 0, 0, 0}, {12, 13107, 1088, 0, 0, 0, 0}, {12, 48, 768, 1092, 0, 0, 0}, {10, 544, 21845, 0, 0, 0, 0}, {48, 6, 272, 0, 0, 0, 0}, {2184, 30583, 0, 0, 0, 0, 0}, {240, 1912, 0, 0, 0, 0, 0}, {544, 6, 4403, 0, 0, 0, 0}, {10, 544, 80, 1280, 0, 0, 0}, {12, 13107, 1092, 0, 0, 0, 0}, {12, 48, 768, 1088, 0, 0, 0}, {10, 546, 21845, 0, 0, 0, 0}, {48, 6, 274, 0, 0, 0, 0}, {2176, 30719, 0, 0, 0, 0, 0}, {2176, 30464, 0, 0, 0, 0, 0}, {48, 6, 273, 0, 0, 0, 0}, {10, 546, 21760, 0, 0, 0, 0}, {12, 48, 771, 1088, 0, 0, 0}, {12, 13056, 1092, 0, 0, 0, 0}, {10, 544, 80, 1285, 0, 0, 0}, {544, 6, 4352, 0, 0, 0, 0}, {240, 1911, 0, 0, 0, 0, 0}, {2184, 30600, 0, 0, 0, 0, 0}, {48, 6, 275, 0, 0, 0, 0}, {10, 544, 21760, 0, 0, 0, 0}, {12, 48, 771, 1092, 0, 0, 0}, {12, 13056, 1088, 0, 0, 0, 0}, {10, 546, 80, 1285, 0, 0, 0}, {546, 6, 4386, 0, 0, 0, 0}, {240, 1919, 0, 0, 0, 0, 0}, {48, 80, 1792, 4096, 0, 0, 0}, {2056, 102, 4369, 0, 0, 0, 0}, {48, 90, 1800, 4626, 0, 0, 0}, {2048, 108, 4915, 0, 0, 0, 0}, {60, 80, 1800, 4892, 0, 0, 0}, {2048, 106, 5439, 0, 0, 0, 0}, {60, 90, 1792, 4352, 0, 0, 0}, {2056, 96, 5911, 0, 0, 0, 0}, {48, 80, 1800, 4112, 0, 0, 0}, {2048, 102, 4403, 0, 0, 0, 0}, {48, 90, 1792, 4608, 0, 0, 0}, {2056, 108, 4883, 0, 0, 0, 0}, {60, 80, 1792, 4864, 0, 0, 0}, {2056, 106, 5397, 0, 0, 0, 0}, {60, 90, 1800, 4382, 0, 0, 0}, {2048, 96, 5951, 0, 0, 0, 0}, {160, 2048, 8192, 22272, 0, 0, 0}, {12, 48, 771, 86, 1028, 4369, 0}, {170, 2056, 8738, 21760, 0, 0, 0}, {12, 48, 771, 80, 1024, 4096, 0}, {12, 96, 1028, 4896, 0, 0, 0}, {8704, 90, 1807, 0, 0, 0, 0}, {12, 102, 1024, 4352, 0, 0, 0}, {8224, 80, 1799, 0, 0, 0, 0}, {160, 2056, 8224, 22280, 0, 0, 0}, {12, 48, 771, 86, 1024, 4355, 0}, {170, 2048, 8704, 21760, 0, 0, 0}, {12, 48, 771, 80, 1028, 4112, 0}, {12, 96, 1024, 4864, 0, 0, 0}, {8738, 90, 1799, 0, 0, 0, 0}, {12, 102, 1028, 4386, 0, 0, 0}, {8192, 80, 1807, 0, 0, 0, 0}, {48, 1856, 0, 0, 0, 0, 0}, {10, 546, 102, 4369, 0, 0, 0}, {10, 48, 530, 80, 1280, 4096, 0}, {204, 2124, 13107, 17408, 0, 0, 0}, {60, 1860, 0, 0, 0, 0, 0}, {10, 544, 96, 5397, 0, 0, 0}, {10, 54, 534, 80, 1280, 4352, 0}, {192, 2120, 14199, 16384, 0, 0, 0}, {48, 1864, 0, 0, 0, 0, 0}, {10, 544, 102, 4403, 0, 0, 0}, {10, 48, 528, 80, 1280, 4112, 0}, {204, 2116, 13107, 17476, 0, 0, 0}, {60, 1868, 0, 0, 0, 0, 0}, {10, 546, 96, 5429, 0, 0, 0}, {10, 54, 532, 80, 1280, 4372, 0}, {192, 2112, 14207, 16448, 0, 0, 0}, {192, 2048, 14080, 16384, 0, 0, 0}, {10, 54, 514, 80, 1285, 4369, 0}, {10, 514, 96, 5408, 0, 0, 0}, {60, 1807, 0, 0, 0, 0, 0}, {204, 2056, 13056, 17476, 0, 0, 0}, {10, 48, 512, 80, 1285, 4096, 0}, {10, 512, 102, 4352, 0, 0, 0}, {48, 1799, 0, 0, 0, 0, 0}, {192, 2056, 14088, 16448, 0, 0, 0}, {10, 54, 512, 80, 1285, 4357, 0}, {10, 512, 96, 5376, 0, 0, 0}, {60, 1799, 0, 0, 0, 0, 0}, {204, 2048, 13056, 17408, 0, 0, 0}, {10, 48, 514, 80, 1285, 4112, 0}, {10, 514, 102, 4386, 0, 0, 0}, {48, 1807, 0, 0, 0, 0, 0}, {8224, 80, 1824, 0, 0, 0, 0}, {12, 102, 1058, 4369, 0, 0, 0}, {8738, 90, 1826, 0, 0, 0, 0}, {12, 96, 1056, 4883, 0, 0, 0}, {12, 48, 768, 80, 1044, 4096, 0}, {170, 2090, 8704, 21845, 0, 0, 0}, {12, 48, 768, 86, 1046, 4352, 0}, {160, 2088, 8192, 22391, 0, 0, 0}, {8192, 80, 1832, 0, 0, 0, 0}, {12, 102, 1062, 4403, 0, 0, 0}, {8704, 90, 1834, 0, 0, 0, 0}, {12, 96, 1060, 4915, 0, 0, 0}, {12, 48, 768, 80, 1040, 4112, 0}, {170, 2082, 8738, 21845, 0, 0, 0}, {12, 48, 768, 86, 1042, 4370, 0}, {160, 2080, 8224, 22399, 0, 0, 0}, {2080, 96, 5888, 0, 0, 0, 0}, {60, 90, 1809, 4369, 0, 0, 0}, {2082, 106, 5376, 0, 0, 0, 0}, {60, 80, 1811, 4883, 0, 0, 0}, {2088, 108, 4864, 0, 0, 0, 0}, {48, 90, 1813, 4608, 0, 0, 0}, {2090, 102, 4352, 0, 0, 0, 0}, {48, 80, 1815, 4096, 0, 0, 0}, {2088, 96, 5928, 0, 0, 0, 0}, {60, 90, 1817, 4367, 0, 0, 0}, {2090, 106, 5418, 0, 0, 0, 0}, {60, 80, 1819, 4879, 0, 0, 0}, {2080, 108, 4896, 0, 0, 0, 0}, {48, 90, 1821, 4626, 0, 0, 0}, {2082, 102, 4386, 0, 0, 0, 0}, {48, 80, 1823, 4112, 0, 0, 0}, {240, 1792, 0, 0, 0, 0, 0}, {514, 6, 4369, 0, 0, 0, 0}, {10, 514, 80, 1280, 0, 0, 0}, {12, 13107, 1024, 0, 0, 0, 0}, {12, 48, 768, 1028, 0, 0, 0}, {10, 512, 21845, 0, 0, 0, 0}, {48, 6, 256, 0, 0, 0, 0}, {2056, 30583, 0, 0, 0, 0, 0}, {240, 1800, 0, 0, 0, 0, 0}, {512, 6, 4403, 0, 0, 0, 0}, {10, 512, 80, 1280, 0, 0, 0}, {12, 13107, 1028, 0, 0, 0, 0}, {12, 48, 768, 1024, 0, 0, 0}, {10, 514, 21845, 0, 0, 0, 0}, {48, 6, 258, 0, 0, 0, 0}, {2048, 30719, 0, 0, 0, 0, 0}, {2048, 28672, 0, 0, 0, 0, 0}, {51, 6, 257, 0, 0, 0, 0}, {10, 514, 20480, 0, 0, 0, 0}, {12, 51, 771, 1024, 0, 0, 0}, {12, 12288, 1028, 0, 0, 0, 0}, {10, 512, 85, 1285, 0, 0, 0}, {512, 6, 4096, 0, 0, 0, 0}, {255, 1799, 0, 0, 0, 0, 0}, {2056, 28800, 0, 0, 0, 0, 0}, {51, 6, 259, 0, 0, 0, 0}, {10, 512, 20480, 0, 0, 0, 0}, {12, 51, 771, 1028, 0, 0, 0}, {12, 12288, 1024, 0, 0, 0, 0}, {10, 514, 85, 1285, 0, 0, 0}, {514, 6, 4128, 0, 0, 0, 0}, {255, 1807, 0, 0, 0, 0, 0}, {2080, 96, 4112, 0, 0, 0, 0}, {51, 85, 1809, 4369, 0, 0, 0}, {2082, 106, 4626, 0, 0, 0, 0}, {51, 95, 1811, 4883, 0, 0, 0}, {2088, 108, 5140, 0, 0, 0, 0}, {63, 85, 1813, 4608, 0, 0, 0}, {2090, 102, 5654, 0, 0, 0, 0}, {63, 95, 1815, 4096, 0, 0, 0}, {2088, 96, 4144, 0, 0, 0, 0}, {51, 85, 1817, 4352, 0, 0, 0}, {2090, 106, 4656, 0, 0, 0, 0}, {51, 95, 1819, 4864, 0, 0, 0}, {2080, 108, 5180, 0, 0, 0, 0}, {63, 85, 1821, 4637, 0, 0, 0}, {2082, 102, 5692, 0, 0, 0, 0}, {63, 95, 1823, 4127, 0, 0, 0}, {160, 2080, 8224, 20480, 0, 0, 0}, {12, 51, 771, 85, 1041, 4369, 0}, {170, 2082, 8738, 21026, 0, 0, 0}, {12, 51, 771, 83, 1043, 4112, 0}, {12, 96, 1060, 4096, 0, 0, 0}, {8704, 85, 1829, 0, 0, 0, 0}, {12, 102, 1062, 4608, 0, 0, 0}, {8192, 95, 1831, 0, 0, 0, 0}, {160, 2088, 8192, 20480, 0, 0, 0}, {12, 51, 771, 85, 1045, 4352, 0}, {170, 2090, 8704, 21034, 0, 0, 0}, {12, 51, 771, 83, 1047, 4099, 0}, {12, 96, 1056, 4128, 0, 0, 0}, {8738, 85, 1837, 0, 0, 0, 0}, {12, 102, 1058, 4642, 0, 0, 0}, {8224, 95, 1839, 0, 0, 0, 0}, {192, 2048, 12336, 16384, 0, 0, 0}, {10, 51, 514, 85, 1280, 4369, 0}, {10, 514, 96, 4112, 0, 0, 0}, {51, 1792, 0, 0, 0, 0, 0}, {204, 2056, 13364, 17476, 0, 0, 0}, {10, 53, 512, 85, 1280, 4096, 0}, {10, 512, 102, 5174, 0, 0, 0}, {63, 1800, 0, 0, 0, 0, 0}, {192, 2056, 12336, 16448, 0, 0, 0}, {10, 51, 512, 85, 1280, 4352, 0}, {10, 512, 96, 4144, 0, 0, 0}, {51, 1800, 0, 0, 0, 0, 0}, {204, 2048, 13372, 17408, 0, 0, 0}, {10, 53, 514, 85, 1280, 4117, 0}, {10, 514, 102, 5140, 0, 0, 0}, {63, 1792, 0, 0, 0, 0, 0}, {192, 2112, 12288, 16448, 0, 0, 0}, {10, 51, 529, 85, 1285, 4369, 0}, {10, 546, 96, 4096, 0, 0, 0}, {51, 1859, 0, 0, 0, 0, 0}, {204, 2116, 13380, 17476, 0, 0, 0}, {10, 53, 533, 85, 1285, 4112, 0}, {10, 544, 102, 5120, 0, 0, 0}, {63, 1863, 0, 0, 0, 0, 0}, {192, 2120, 12288, 16384, 0, 0, 0}, {10, 51, 531, 85, 1285, 4352, 0}, {10, 544, 96, 4128, 0, 0, 0}, {51, 1867, 0, 0, 0, 0, 0}, {204, 2124, 13388, 17408, 0, 0, 0}, {10, 53, 535, 85, 1285, 4101, 0}, {10, 546, 102, 5154, 0, 0, 0}, {63, 1871, 0, 0, 0, 0, 0}, {160, 2048, 8192, 20560, 0, 0, 0}, {12, 51, 768, 85, 1028, 4369, 0}, {170, 2056, 8738, 21074, 0, 0, 0}, {12, 51, 768, 83, 1024, 4096, 0}, {12, 96, 1028, 4112, 0, 0, 0}, {8704, 85, 1792, 0, 0, 0, 0}, {12, 102, 1024, 4656, 0, 0, 0}, {8224, 95, 1800, 0, 0, 0, 0}, {160, 2056, 8224, 20560, 0, 0, 0}, {12, 51, 768, 85, 1024, 4352, 0}, {170, 2048, 8704, 21082, 0, 0, 0}, {12, 51, 768, 83, 1028, 4115, 0}, {12, 96, 1024, 4144, 0, 0, 0}, {8738, 85, 1800, 0, 0, 0, 0}, {12, 102, 1028, 4626, 0, 0, 0}, {8192, 95, 1792, 0, 0, 0, 0}, {2048, 96, 4096, 0, 0, 0, 0}, {51, 85, 1799, 4369, 0, 0, 0}, {2056, 106, 4642, 0, 0, 0, 0}, {51, 95, 1807, 4864, 0, 0, 0}, {2056, 108, 5160, 0, 0, 0, 0}, {63, 85, 1807, 4623, 0, 0, 0}, {2048, 102, 5632, 0, 0, 0, 0}, {63, 95, 1799, 4112, 0, 0, 0}, {2056, 96, 4128, 0, 0, 0, 0}, {51, 85, 1807, 4352, 0, 0, 0}, {2048, 106, 4608, 0, 0, 0, 0}, {51, 95, 1799, 4883, 0, 0, 0}, {2048, 108, 5120, 0, 0, 0, 0}, {63, 85, 1799, 4626, 0, 0, 0}, {2056, 102, 5674, 0, 0, 0, 0}, {63, 95, 1807, 4111, 0, 0, 0}, {2176, 28784, 0, 0, 0, 0, 0}, {51, 6, 273, 0, 0, 0, 0}, {10, 546, 20560, 0, 0, 0, 0}, {12, 51, 768, 1088, 0, 0, 0}, {12, 12336, 1092, 0, 0, 0, 0}, {10, 544, 85, 1280, 0, 0, 0}, {544, 6, 4112, 0, 0, 0, 0}, {255, 1911, 0, 0, 0, 0, 0}, {2184, 28912, 0, 0, 0, 0, 0}, {51, 6, 275, 0, 0, 0, 0}, {10, 544, 20560, 0, 0, 0, 0}, {12, 51, 768, 1092, 0, 0, 0}, {12, 12336, 1088, 0, 0, 0, 0}, {10, 546, 85, 1280, 0, 0, 0}, {546, 6, 4144, 0, 0, 0, 0}, {255, 1919, 0, 0, 0, 0, 0}, {2176, 28800, 0, 0, 0, 0, 0}, {51, 6, 274, 0, 0, 0, 0}, {10, 546, 20480, 0, 0, 0, 0}, {12, 51, 771, 1088, 0, 0, 0}, {12, 12288, 1092, 0, 0, 0, 0}, {10, 544, 85, 1285, 0, 0, 0}, {544, 6, 4128, 0, 0, 0, 0}, {255, 1912, 0, 0, 0, 0, 0}, {2184, 28672, 0, 0, 0, 0, 0}, {51, 6, 272, 0, 0, 0, 0}, {10, 544, 20480, 0, 0, 0, 0}, {12, 51, 771, 1092, 0, 0, 0}, {12, 12288, 1088, 0, 0, 0, 0}, {10, 546, 85, 1285, 0, 0, 0}, {546, 6, 4096, 0, 0, 0, 0}, {255, 1904, 0, 0, 0, 0, 0}, {2048, 96, 4144, 0, 0, 0, 0}, {51, 85, 1800, 4369, 0, 0, 0}, {2056, 106, 4626, 0, 0, 0, 0}, {51, 95, 1792, 4864, 0, 0, 0}, {2056, 108, 5140, 0, 0, 0, 0}, {63, 85, 1792, 4608, 0, 0, 0}, {2048, 102, 5692, 0, 0, 0, 0}, {63, 95, 1800, 4127, 0, 0, 0}, {2056, 96, 4112, 0, 0, 0, 0}, {51, 85, 1792, 4352, 0, 0, 0}, {2048, 106, 4656, 0, 0, 0, 0}, {51, 95, 1800, 4883, 0, 0, 0}, {2048, 108, 5180, 0, 0, 0, 0}, {63, 85, 1800, 4637, 0, 0, 0}, {2056, 102, 5654, 0, 0, 0, 0}, {63, 95, 1792, 4096, 0, 0, 0}, {160, 2048, 8192, 20480, 0, 0, 0}, {12, 51, 771, 85, 1028, 4369, 0}, {170, 2056, 8738, 21000, 0, 0, 0}, {12, 51, 771, 83, 1024, 4099, 0}, {12, 96, 1028, 4128, 0, 0, 0}, {8704, 85, 1807, 0, 0, 0, 0}, {12, 102, 1024, 4608, 0, 0, 0}, {8224, 95, 1799, 0, 0, 0, 0}, {160, 2056, 8224, 20480, 0, 0, 0}, {12, 51, 771, 85, 1024, 4352, 0}, {170, 2048, 8704, 20992, 0, 0, 0}, {12, 51, 771, 83, 1028, 4112, 0}, {12, 96, 1024, 4096, 0, 0, 0}, {8738, 85, 1799, 0, 0, 0, 0}, {12, 102, 1028, 4642, 0, 0, 0}, {8192, 95, 1807, 0, 0, 0, 0}, {192, 2112, 12336, 16448, 0, 0, 0}, {10, 51, 529, 85, 1280, 4369, 0}, {10, 546, 96, 4144, 0, 0, 0}, {51, 1868, 0, 0, 0, 0, 0}, {204, 2116, 13432, 17476, 0, 0, 0}, {10, 53, 533, 85, 1280, 4117, 0}, {10, 544, 102, 5174, 0, 0, 0}, {63, 1864, 0, 0, 0, 0, 0}, {192, 2120, 12336, 16384, 0, 0, 0}, {10, 51, 531, 85, 1280, 4352, 0}, {10, 544, 96, 4112, 0, 0, 0}, {51, 1860, 0, 0, 0, 0, 0}, {204, 2124, 13424, 17408, 0, 0, 0}, {10, 53, 535, 85, 1280, 4096, 0}, {10, 546, 102, 5140, 0, 0, 0}, {63, 1856, 0, 0, 0, 0, 0}, {192, 2048, 12288, 16384, 0, 0, 0}, {10, 51, 514, 85, 1285, 4369, 0}, {10, 514, 96, 4128, 0, 0, 0}, {51, 1807, 0, 0, 0, 0, 0}, {204, 2056, 13320, 17476, 0, 0, 0}, {10, 53, 512, 85, 1285, 4101, 0}, {10, 512, 102, 5120, 0, 0, 0}, {63, 1799, 0, 0, 0, 0, 0}, {192, 2056, 12288, 16448, 0, 0, 0}, {10, 51, 512, 85, 1285, 4352, 0}, {10, 512, 96, 4096, 0, 0, 0}, {51, 1799, 0, 0, 0, 0, 0}, {204, 2048, 13312, 17408, 0, 0, 0}, {10, 53, 514, 85, 1285, 4112, 0}, {10, 514, 102, 5154, 0, 0, 0}, {63, 1807, 0, 0, 0, 0, 0}, {160, 2080, 8224, 20560, 0, 0, 0}, {12, 51, 768, 85, 1041, 4369, 0}, {170, 2082, 8738, 21112, 0, 0, 0}, {12, 51, 768, 83, 1043, 4115, 0}, {12, 96, 1060, 4144, 0, 0, 0}, {8704, 85, 1834, 0, 0, 0, 0}, {12, 102, 1062, 4656, 0, 0, 0}, {8192, 95, 1832, 0, 0, 0, 0}, {160, 2088, 8192, 20560, 0, 0, 0}, {12, 51, 768, 85, 1045, 4352, 0}, {170, 2090, 8704, 21104, 0, 0, 0}, {12, 51, 768, 83, 1047, 4096, 0}, {12, 96, 1056, 4112, 0, 0, 0}, {8738, 85, 1826, 0, 0, 0, 0}, {12, 102, 1058, 4626, 0, 0, 0}, {8224, 95, 1824, 0, 0, 0, 0}, {2080, 96, 4128, 0, 0, 0, 0}, {51, 85, 1822, 4369, 0, 0, 0}, {2082, 106, 4642, 0, 0, 0, 0}, {51, 95, 1820, 4883, 0, 0, 0}, {2088, 108, 5160, 0, 0, 0, 0}, {63, 85, 1818, 4623, 0, 0, 0}, {2090, 102, 5674, 0, 0, 0, 0}, {63, 95, 1816, 4111, 0, 0, 0}, {2088, 96, 4096, 0, 0, 0, 0}, {51, 85, 1814, 4352, 0, 0, 0}, {2090, 106, 4608, 0, 0, 0, 0}, {51, 95, 1812, 4864, 0, 0, 0}, {2080, 108, 5120, 0, 0, 0, 0}, {63, 85, 1810, 4626, 0, 0, 0}, {2082, 102, 5632, 0, 0, 0, 0}, {63, 95, 1808, 4112, 0, 0, 0}, {2048, 28912, 0, 0, 0, 0, 0}, {51, 6, 258, 0, 0, 0, 0}, {10, 514, 20560, 0, 0, 0, 0}, {12, 51, 768, 1024, 0, 0, 0}, {12, 12336, 1028, 0, 0, 0, 0}, {10, 512, 85, 1280, 0, 0, 0}, {512, 6, 4144, 0, 0, 0, 0}, {255, 1800, 0, 0, 0, 0, 0}, {2056, 28784, 0, 0, 0, 0, 0}, {51, 6, 256, 0, 0, 0, 0}, {10, 512, 20560, 0, 0, 0, 0}, {12, 51, 768, 1028, 0, 0, 0}, {12, 12336, 1024, 0, 0, 0, 0}, {10, 514, 85, 1280, 0, 0, 0}, {514, 6, 4112, 0, 0, 0, 0}, {255, 1792, 0, 0, 0, 0, 0}, {13056, 1536, 0, 0, 0, 0, 0}, {8, 112, 257, 0, 0, 0, 0}, {8, 514, 1024, 4386, 0, 0, 0}, {240, 771, 1295, 0, 0, 0, 0}, {8, 512, 1028, 4420, 0, 0, 0}, {240, 783, 1285, 0, 0, 0, 0}, {13260, 1542, 0, 0, 0, 0, 0}, {8, 112, 263, 0, 0, 0, 0}, {8, 512, 1024, 4352, 0, 0, 0}, {240, 771, 1285, 0, 0, 0, 0}, {13056, 1546, 0, 0, 0, 0, 0}, {8, 112, 259, 0, 0, 0, 0}, {13260, 1548, 0, 0, 0, 0, 0}, {8, 112, 261, 0, 0, 0, 0}, {8, 514, 1028, 4454, 0, 0, 0}, {240, 783, 1295, 0, 0, 0, 0}, {816, 112, 1312, 4112, 0, 0, 0}, {136, 1638, 4369, 0, 0, 0, 0}, {816, 120, 1314, 4386, 0, 0, 0}, {128, 1644, 4883, 0, 0, 0, 0}, {828, 120, 1320, 4412, 0, 0, 0}, {128, 1642, 4991, 0, 0, 0, 0}, {828, 112, 1322, 4096, 0, 0, 0}, {136, 1632, 4471, 0, 0, 0, 0}, {816, 120, 1320, 4352, 0, 0, 0}, {128, 1638, 4915, 0, 0, 0, 0}, {816, 112, 1322, 4144, 0, 0, 0}, {136, 1644, 4403, 0, 0, 0, 0}, {828, 112, 1312, 4128, 0, 0, 0}, {136, 1642, 4437, 0, 0, 0, 0}, {828, 120, 1314, 4382, 0, 0, 0}, {128, 1632, 4959, 0, 0, 0, 0}, {128, 1568, 4896, 0, 0, 0, 0}, {771, 120, 1325, 4369, 0, 0, 0}, {136, 1570, 4386, 0, 0, 0, 0}, {771, 112, 1327, 4112, 0, 0, 0}, {136, 1572, 4420, 0, 0, 0, 0}, {783, 112, 1317, 4096, 0, 0, 0}, {128, 1574, 4940, 0, 0, 0, 0}, {783, 120, 1319, 4367, 0, 0, 0}, {136, 1576, 4352, 0, 0, 0, 0}, {771, 112, 1317, 4144, 0, 0, 0}, {128, 1578, 4864, 0, 0, 0, 0}, {771, 120, 1319, 4403, 0, 0, 0}, {128, 1580, 4972, 0, 0, 0, 0}, {783, 120, 1325, 4397, 0, 0, 0}, {136, 1582, 4454, 0, 0, 0, 0}, {783, 112, 1327, 4128, 0, 0, 0}, {240, 816, 1280, 0, 0, 0, 0}, {8, 514, 1092, 4369, 0, 0, 0}, {8, 306, 514, 322, 1282, 4112, 0}, {1740, 2560, 13107, 21299, 0, 0, 0}, {8, 308, 512, 324, 1280, 4096, 0}, {1738, 2570, 13621, 21845, 0, 0, 0}, {240, 828, 1290, 0, 0, 0, 0}, {8, 512, 1088, 4471, 0, 0, 0}, {8, 304, 512, 320, 1280, 4352, 0}, {1734, 2570, 13107, 21845, 0, 0, 0}, {240, 816, 1290, 0, 0, 0, 0}, {8, 512, 1092, 4403, 0, 0, 0}, {240, 828, 1280, 0, 0, 0, 0}, {8, 514, 1088, 4437, 0, 0, 0}, {8, 310, 514, 326, 1282, 4374, 0}, {1728, 2560, 13631, 21311, 0, 0, 0}, {128, 1600, 4864, 0, 0, 0, 0}, {819, 120, 1285, 4369, 0, 0, 0}, {136, 1602, 4386, 0, 0, 0, 0}, {819, 112, 1295, 4096, 0, 0, 0}, {136, 1604, 4420, 0, 0, 0, 0}, {831, 112, 1285, 4112, 0, 0, 0}, {128, 1606, 4972, 0, 0, 0, 0}, {831, 120, 1295, 4367, 0, 0, 0}, {136, 1608, 4352, 0, 0, 0, 0}, {819, 112, 1285, 4128, 0, 0, 0}, {128, 1610, 4896, 0, 0, 0, 0}, {819, 120, 1295, 4403, 0, 0, 0}, {128, 1612, 4940, 0, 0, 0, 0}, {831, 120, 1285, 4397, 0, 0, 0}, {136, 1614, 4454, 0, 0, 0, 0}, {831, 112, 1295, 4144, 0, 0, 0}, {240, 768, 1360, 0, 0, 0, 0}, {8, 546, 1028, 4369, 0, 0, 0}, {8, 290, 768, 338, 1024, 4096, 0}, {1708, 3084, 13107, 21331, 0, 0, 0}, {8, 292, 772, 340, 1028, 4112, 0}, {1706, 3072, 13653, 21845, 0, 0, 0}, {240, 780, 1370, 0, 0, 0, 0}, {8, 544, 1024, 4471, 0, 0, 0}, {8, 288, 768, 336, 1024, 4352, 0}, {1702, 3084, 13107, 21845, 0, 0, 0}, {240, 768, 1370, 0, 0, 0, 0}, {8, 544, 1028, 4403, 0, 0, 0}, {240, 780, 1360, 0, 0, 0, 0}, {8, 546, 1024, 4437, 0, 0, 0}, {8, 294, 772, 342, 1028, 4374, 0}, {1696, 3072, 13663, 21343, 0, 0, 0}, {13056, 1632, 0, 0, 0, 0, 0}, {8, 112, 273, 0, 0, 0, 0}, {8, 546, 1088, 4386, 0, 0, 0}, {240, 819, 1375, 0, 0, 0, 0}, {8, 544, 1092, 4420, 0, 0, 0}, {240, 831, 1365, 0, 0, 0, 0}, {13260, 1638, 0, 0, 0, 0, 0}, {8, 112, 279, 0, 0, 0, 0}, {8, 544, 1088, 4352, 0, 0, 0}, {240, 819, 1365, 0, 0, 0, 0}, {13056, 1642, 0, 0, 0, 0, 0}, {8, 112, 275, 0, 0, 0, 0}, {13260, 1644, 0, 0, 0, 0, 0}, {8, 112, 277, 0, 0, 0, 0}, {8, 546, 1092, 4454, 0, 0, 0}, {240, 831, 1375, 0, 0, 0, 0}, {768, 112, 1280, 4096, 0, 0, 0}, {136, 1542, 4369, 0, 0, 0, 0}, {768, 120, 1290, 4386, 0, 0, 0}, {128, 1548, 4915, 0, 0, 0, 0}, {780, 120, 1280, 4412, 0, 0, 0}, {128, 1546, 4959, 0, 0, 0, 0}, {780, 112, 1290, 4112, 0, 0, 0}, {136, 1536, 4471, 0, 0, 0, 0}, {768, 120, 1280, 4352, 0, 0, 0}, {128, 1542, 4883, 0, 0, 0, 0}, {768, 112, 1290, 4128, 0, 0, 0}, {136, 1548, 4403, 0, 0, 0, 0}, {780, 112, 1280, 4144, 0, 0, 0}, {136, 1546, 4437, 0, 0, 0, 0}, {780, 120, 1290, 4382, 0, 0, 0}, {128, 1536, 4991, 0, 0, 0, 0}, {128, 1536, 4864, 0, 0, 0, 0}, {771, 120, 1285, 4369, 0, 0, 0}, {136, 1546, 4386, 0, 0, 0, 0}, {771, 112, 1295, 4144, 0, 0, 0}, {136, 1548, 4420, 0, 0, 0, 0}, {783, 112, 1285, 4128, 0, 0, 0}, {128, 1542, 4972, 0, 0, 0, 0}, {783, 120, 1295, 4367, 0, 0, 0}, {136, 1536, 4352, 0, 0, 0, 0}, {771, 112, 1285, 4112, 0, 0, 0}, {128, 1546, 4896, 0, 0, 0, 0}, {771, 120, 1295, 4403, 0, 0, 0}, {128, 1548, 4940, 0, 0, 0, 0}, {783, 120, 1285, 4397, 0, 0, 0}, {136, 1542, 4454, 0, 0, 0, 0}, {783, 112, 1295, 4096, 0, 0, 0}, {240, 816, 1360, 0, 0, 0, 0}, {8, 546, 1092, 4369, 0, 0, 0}, {8, 112, 274, 0, 0, 0, 0}, {13107, 1644, 0, 0, 0, 0, 0}, {8, 112, 276, 0, 0, 0, 0}, {13311, 1642, 0, 0, 0, 0, 0}, {240, 828, 1370, 0, 0, 0, 0}, {8, 544, 1088, 4471, 0, 0, 0}, {8, 112, 272, 0, 0, 0, 0}, {13107, 1638, 0, 0, 0, 0, 0}, {240, 816, 1370, 0, 0, 0, 0}, {8, 544, 1092, 4403, 0, 0, 0}, {240, 828, 1360, 0, 0, 0, 0}, {8, 546, 1088, 4437, 0, 0, 0}, {8, 112, 278, 0, 0, 0, 0}, {13311, 1632, 0, 0, 0, 0, 0}, {1696, 3072, 13056, 21760, 0, 0, 0}, {8, 289, 771, 337, 1028, 4369, 0}, {8, 546, 1024, 4386, 0, 0, 0}, {240, 771, 1375, 0, 0, 0, 0}, {8, 544, 1028, 4420, 0, 0, 0}, {240, 783, 1365, 0, 0, 0, 0}, {1702, 3084, 13674, 21260, 0, 0, 0}, {8, 295, 775, 343, 1024, 4359, 0}, {8, 544, 1024, 4352, 0, 0, 0}, {240, 771, 1365, 0, 0, 0, 0}, {1706, 3072, 13056, 21248, 0, 0, 0}, {8, 291, 771, 339, 1028, 4112, 0}, {1708, 3084, 13664, 21760, 0, 0, 0}, {8, 293, 775, 341, 1024, 4096, 0}, {8, 546, 1028, 4454, 0, 0, 0}, {240, 783, 1375, 0, 0, 0, 0}, {816, 112, 1280, 4144, 0, 0, 0}, {136, 1614, 4369, 0, 0, 0, 0}, {816, 120, 1290, 4386, 0, 0, 0}, {128, 1612, 4915, 0, 0, 0, 0}, {828, 120, 1280, 4412, 0, 0, 0}, {128, 1610, 4959, 0, 0, 0, 0}, {828, 112, 1290, 4128, 0, 0, 0}, {136, 1608, 4471, 0, 0, 0, 0}, {816, 120, 1280, 4352, 0, 0, 0}, {128, 1606, 4883, 0, 0, 0, 0}, {816, 112, 1290, 4112, 0, 0, 0}, {136, 1604, 4403, 0, 0, 0, 0}, {828, 112, 1280, 4096, 0, 0, 0}, {136, 1602, 4437, 0, 0, 0, 0}, {828, 120, 1290, 4382, 0, 0, 0}, {128, 1600, 4991, 0, 0, 0, 0}, {1728, 2560, 13056, 21760, 0, 0, 0}, {8, 305, 514, 321, 1285, 4369, 0}, {8, 514, 1088, 4386, 0, 0, 0}, {240, 819, 1295, 0, 0, 0, 0}, {8, 512, 1092, 4420, 0, 0, 0}, {240, 831, 1285, 0, 0, 0, 0}, {1734, 2570, 13578, 21356, 0, 0, 0}, {8, 311, 512, 327, 1287, 4359, 0}, {8, 512, 1088, 4352, 0, 0, 0}, {240, 819, 1285, 0, 0, 0, 0}, {1738, 2570, 13056, 21344, 0, 0, 0}, {8, 307, 512, 323, 1287, 4096, 0}, {1740, 2560, 13568, 21760, 0, 0, 0}, {8, 309, 514, 325, 1285, 4112, 0}, {8, 514, 1092, 4454, 0, 0, 0}, {240, 831, 1295, 0, 0, 0, 0}, {768, 112, 1312, 4128, 0, 0, 0}, {136, 1582, 4369, 0, 0, 0, 0}, {768, 120, 1314, 4386, 0, 0, 0}, {128, 1580, 4883, 0, 0, 0, 0}, {780, 120, 1320, 4412, 0, 0, 0}, {128, 1578, 4991, 0, 0, 0, 0}, {780, 112, 1322, 4144, 0, 0, 0}, {136, 1576, 4471, 0, 0, 0, 0}, {768, 120, 1320, 4352, 0, 0, 0}, {128, 1574, 4915, 0, 0, 0, 0}, {768, 112, 1322, 4096, 0, 0, 0}, {136, 1572, 4403, 0, 0, 0, 0}, {780, 112, 1312, 4112, 0, 0, 0}, {136, 1570, 4437, 0, 0, 0, 0}, {780, 120, 1314, 4382, 0, 0, 0}, {128, 1568, 4959, 0, 0, 0, 0}, {128, 1632, 4896, 0, 0, 0, 0}, {819, 120, 1325, 4369, 0, 0, 0}, {136, 1642, 4386, 0, 0, 0, 0}, {819, 112, 1327, 4128, 0, 0, 0}, {136, 1644, 4420, 0, 0, 0, 0}, {831, 112, 1317, 4144, 0, 0, 0}, {128, 1638, 4940, 0, 0, 0, 0}, {831, 120, 1319, 4367, 0, 0, 0}, {136, 1632, 4352, 0, 0, 0, 0}, {819, 112, 1317, 4096, 0, 0, 0}, {128, 1642, 4864, 0, 0, 0, 0}, {819, 120, 1319, 4403, 0, 0, 0}, {128, 1644, 4972, 0, 0, 0, 0}, {831, 120, 1325, 4397, 0, 0, 0}, {136, 1638, 4454, 0, 0, 0, 0}, {831, 112, 1327, 4112, 0, 0, 0}, {240, 768, 1280, 0, 0, 0, 0}, {8, 514, 1028, 4369, 0, 0, 0}, {8, 112, 258, 0, 0, 0, 0}, {13107, 1548, 0, 0, 0, 0, 0}, {8, 112, 260, 0, 0, 0, 0}, {13311, 1546, 0, 0, 0, 0, 0}, {240, 780, 1290, 0, 0, 0, 0}, {8, 512, 1024, 4471, 0, 0, 0}, {8, 112, 256, 0, 0, 0, 0}, {13107, 1542, 0, 0, 0, 0, 0}, {240, 768, 1290, 0, 0, 0, 0}, {8, 512, 1028, 4403, 0, 0, 0}, {240, 780, 1280, 0, 0, 0, 0}, {8, 514, 1024, 4437, 0, 0, 0}, {8, 112, 262, 0, 0, 0, 0}, {13311, 1536, 0, 0, 0, 0, 0}, {2560, 20480, 0, 0, 0, 0, 0}, {51, 4, 257, 0, 0, 0, 0}, {8, 514, 20512, 0, 0, 0, 0}, {12, 51, 771, 1283, 0, 0, 0}, {512, 4, 4096, 0, 0, 0, 0}, {255, 1285, 0, 0, 0, 0, 0}, {12, 12288, 1542, 0, 0, 0, 0}, {8, 512, 119, 1287, 0, 0, 0}, {8, 512, 20480, 0, 0, 0, 0}, {12, 51, 771, 1285, 0, 0, 0}, {2570, 20640, 0, 0, 0, 0, 0}, {51, 4, 259, 0, 0, 0, 0}, {12, 12288, 1536, 0, 0, 0, 0}, {8, 514, 119, 1285, 0, 0, 0}, {514, 4, 4128, 0, 0, 0, 0}, {255, 1295, 0, 0, 0, 0, 0}, {2592, 64, 4112, 0, 0, 0, 0}, {51, 68, 1297, 4369, 0, 0, 0}, {2594, 72, 4626, 0, 0, 0, 0}, {51, 76, 1299, 4883, 0, 0, 0}, {2600, 68, 5140, 0, 0, 0, 0}, {63, 64, 1301, 4096, 0, 0, 0}, {2602, 76, 5654, 0, 0, 0, 0}, {63, 72, 1303, 4608, 0, 0, 0}, {2600, 72, 4656, 0, 0, 0, 0}, {51, 76, 1305, 4864, 0, 0, 0}, {2602, 64, 4144, 0, 0, 0, 0}, {51, 68, 1307, 4352, 0, 0, 0}, {2592, 76, 5692, 0, 0, 0, 0}, {63, 72, 1309, 4637, 0, 0, 0}, {2594, 68, 5180, 0, 0, 0, 0}, {63, 64, 1311, 4127, 0, 0, 0}, {128, 2592, 8224, 20512, 0, 0, 0}, {12, 51, 771, 68, 1298, 4369, 0}, {136, 2594, 8738, 20480, 0, 0, 0}, {12, 51, 771, 64, 1296, 4112, 0}, {12, 68, 1572, 4608, 0, 0, 0}, {8192, 127, 1317, 0, 0, 0, 0}, {12, 64, 1574, 4096, 0, 0, 0}, {8704, 119, 1319, 0, 0, 0, 0}, {136, 2600, 8704, 20520, 0, 0, 0}, {12, 51, 771, 64, 1302, 4099, 0}, {128, 2602, 8192, 20480, 0, 0, 0}, {12, 51, 771, 68, 1300, 4352, 0}, {12, 64, 1568, 4128, 0, 0, 0}, {8738, 119, 1325, 0, 0, 0, 0}, {12, 68, 1570, 4642, 0, 0, 0}, {8224, 127, 1327, 0, 0, 0, 0}, {192, 2560, 12336, 20528, 0, 0, 0}, {8, 51, 514, 68, 1282, 4369, 0}, {8, 514, 64, 4112, 0, 0, 0}, {51, 1280, 0, 0, 0, 0, 0}, {8, 512, 68, 5172, 0, 0, 0}, {63, 1290, 0, 0, 0, 0, 0}, {204, 2570, 13878, 20560, 0, 0, 0}, {8, 55, 512, 64, 1280, 4096, 0}, {8, 512, 64, 4144, 0, 0, 0}, {51, 1290, 0, 0, 0, 0, 0}, {192, 2570, 12336, 20560, 0, 0, 0}, {8, 51, 512, 68, 1280, 4352, 0}, {204, 2560, 13884, 20540, 0, 0, 0}, {8, 55, 514, 64, 1282, 4119, 0}, {8, 514, 68, 5140, 0, 0, 0}, {63, 1280, 0, 0, 0, 0, 0}, {2560, 64, 4096, 0, 0, 0, 0}, {51, 68, 1285, 4369, 0, 0, 0}, {2570, 72, 4642, 0, 0, 0, 0}, {51, 76, 1295, 4864, 0, 0, 0}, {2560, 68, 5120, 0, 0, 0, 0}, {63, 64, 1285, 4112, 0, 0, 0}, {2570, 76, 5674, 0, 0, 0, 0}, {63, 72, 1295, 4623, 0, 0, 0}, {2560, 72, 4608, 0, 0, 0, 0}, {51, 76, 1285, 4883, 0, 0, 0}, {2570, 64, 4128, 0, 0, 0, 0}, {51, 68, 1295, 4352, 0, 0, 0}, {2560, 76, 5632, 0, 0, 0, 0}, {63, 72, 1285, 4626, 0, 0, 0}, {2570, 68, 5160, 0, 0, 0, 0}, {63, 64, 1295, 4111, 0, 0, 0}, {2720, 20560, 0, 0, 0, 0, 0}, {51, 4, 273, 0, 0, 0, 0}, {8, 546, 20592, 0, 0, 0, 0}, {12, 51, 768, 1363, 0, 0, 0}, {544, 4, 4112, 0, 0, 0, 0}, {255, 1365, 0, 0, 0, 0, 0}, {12, 12336, 1638, 0, 0, 0, 0}, {8, 544, 119, 1312, 0, 0, 0}, {8, 544, 20560, 0, 0, 0, 0}, {12, 51, 768, 1365, 0, 0, 0}, {2730, 20720, 0, 0, 0, 0, 0}, {51, 4, 275, 0, 0, 0, 0}, {12, 12336, 1632, 0, 0, 0, 0}, {8, 546, 119, 1314, 0, 0, 0}, {546, 4, 4144, 0, 0, 0, 0}, {255, 1375, 0, 0, 0, 0, 0}, {192, 2656, 12288, 20576, 0, 0, 0}, {8, 51, 529, 68, 1302, 4369, 0}, {8, 546, 64, 4096, 0, 0, 0}, {51, 1360, 0, 0, 0, 0, 0}, {8, 544, 68, 5152, 0, 0, 0}, {63, 1370, 0, 0, 0, 0, 0}, {204, 2662, 13926, 20480, 0, 0, 0}, {8, 55, 535, 64, 1296, 4112, 0}, {8, 544, 64, 4128, 0, 0, 0}, {51, 1370, 0, 0, 0, 0, 0}, {192, 2666, 12288, 20480, 0, 0, 0}, {8, 51, 531, 68, 1300, 4352, 0}, {204, 2668, 13932, 20588, 0, 0, 0}, {8, 55, 533, 64, 1298, 4103, 0}, {8, 546, 68, 5120, 0, 0, 0}, {63, 1360, 0, 0, 0, 0, 0}, {128, 2560, 8192, 20592, 0, 0, 0}, {12, 51, 768, 68, 1286, 4369, 0}, {136, 2570, 8738, 20560, 0, 0, 0}, {12, 51, 768, 64, 1280, 4096, 0}, {12, 68, 1536, 4656, 0, 0, 0}, {8224, 127, 1290, 0, 0, 0, 0}, {12, 64, 1542, 4112, 0, 0, 0}, {8704, 119, 1280, 0, 0, 0, 0}, {136, 2560, 8704, 20600, 0, 0, 0}, {12, 51, 768, 64, 1286, 4115, 0}, {128, 2570, 8224, 20560, 0, 0, 0}, {12, 51, 768, 68, 1280, 4352, 0}, {12, 64, 1536, 4144, 0, 0, 0}, {8738, 119, 1290, 0, 0, 0, 0}, {12, 68, 1542, 4626, 0, 0, 0}, {8192, 127, 1280, 0, 0, 0, 0}, {128, 2560, 8192, 20480, 0, 0, 0}, {12, 51, 771, 68, 1285, 4369, 0}, {136, 2570, 8738, 20520, 0, 0, 0}, {12, 51, 771, 64, 1283, 4099, 0}, {12, 68, 1536, 4608, 0, 0, 0}, {8224, 127, 1285, 0, 0, 0, 0}, {12, 64, 1542, 4128, 0, 0, 0}, {8704, 119, 1295, 0, 0, 0, 0}, {136, 2560, 8704, 20480, 0, 0, 0}, {12, 51, 771, 64, 1285, 4112, 0}, {128, 2570, 8224, 20512, 0, 0, 0}, {12, 51, 771, 68, 1283, 4352, 0}, {12, 64, 1536, 4096, 0, 0, 0}, {8738, 119, 1285, 0, 0, 0, 0}, {12, 68, 1542, 4642, 0, 0, 0}, {8192, 127, 1295, 0, 0, 0, 0}, {192, 2656, 12336, 20560, 0, 0, 0}, {8, 51, 529, 68, 1297, 4369, 0}, {8, 546, 64, 4144, 0, 0, 0}, {51, 1375, 0, 0, 0, 0, 0}, {8, 544, 68, 5140, 0, 0, 0}, {63, 1365, 0, 0, 0, 0, 0}, {204, 2662, 13914, 20540, 0, 0, 0}, {8, 55, 535, 64, 1303, 4119, 0}, {8, 544, 64, 4112, 0, 0, 0}, {51, 1365, 0, 0, 0, 0, 0}, {192, 2666, 12336, 20528, 0, 0, 0}, {8, 51, 531, 68, 1299, 4352, 0}, {204, 2668, 13904, 20560, 0, 0, 0}, {8, 55, 533, 64, 1301, 4096, 0}, {8, 546, 68, 5172, 0, 0, 0}, {63, 1375, 0, 0, 0, 0, 0}, {2720, 20640, 0, 0, 0, 0, 0}, {51, 4, 274, 0, 0, 0, 0}, {8, 546, 20480, 0, 0, 0, 0}, {12, 51, 771, 1360, 0, 0, 0}, {544, 4, 4128, 0, 0, 0, 0}, {255, 1370, 0, 0, 0, 0, 0}, {12, 12288, 1638, 0, 0, 0, 0}, {8, 544, 119, 1319, 0, 0, 0}, {8, 544, 20512, 0, 0, 0, 0}, {12, 51, 771, 1366, 0, 0, 0}, {2730, 20480, 0, 0, 0, 0, 0}, {51, 4, 272, 0, 0, 0, 0}, {12, 12288, 1632, 0, 0, 0, 0}, {8, 546, 119, 1317, 0, 0, 0}, {546, 4, 4096, 0, 0, 0, 0}, {255, 1360, 0, 0, 0, 0, 0}, {2560, 64, 4144, 0, 0, 0, 0}, {51, 68, 1290, 4369, 0, 0, 0}, {2570, 72, 4626, 0, 0, 0, 0}, {51, 76, 1280, 4864, 0, 0, 0}, {2560, 68, 5180, 0, 0, 0, 0}, {63, 64, 1290, 4127, 0, 0, 0}, {2570, 76, 5654, 0, 0, 0, 0}, {63, 72, 1280, 4608, 0, 0, 0}, {2560, 72, 4656, 0, 0, 0, 0}, {51, 76, 1290, 4883, 0, 0, 0}, {2570, 64, 4112, 0, 0, 0, 0}, {51, 68, 1280, 4352, 0, 0, 0}, {2560, 76, 5692, 0, 0, 0, 0}, {63, 72, 1290, 4637, 0, 0, 0}, {2570, 68, 5140, 0, 0, 0, 0}, {63, 64, 1280, 4096, 0, 0, 0}, {192, 2560, 12288, 20480, 0, 0, 0}, {8, 51, 514, 68, 1285, 4369, 0}, {8, 514, 64, 4128, 0, 0, 0}, {51, 1295, 0, 0, 0, 0, 0}, {8, 512, 68, 5120, 0, 0, 0}, {63, 1285, 0, 0, 0, 0, 0}, {204, 2570, 13834, 20588, 0, 0, 0}, {8, 55, 512, 64, 1287, 4103, 0}, {8, 512, 64, 4096, 0, 0, 0}, {51, 1285, 0, 0, 0, 0, 0}, {192, 2570, 12288, 20576, 0, 0, 0}, {8, 51, 512, 68, 1287, 4352, 0}, {204, 2560, 13824, 20480, 0, 0, 0}, {8, 55, 514, 64, 1285, 4112, 0}, {8, 514, 68, 5152, 0, 0, 0}, {63, 1295, 0, 0, 0, 0, 0}, {128, 2592, 8224, 20560, 0, 0, 0}, {12, 51, 768, 68, 1297, 4369, 0}, {136, 2594, 8738, 20600, 0, 0, 0}, {12, 51, 768, 64, 1299, 4115, 0}, {12, 68, 1572, 4656, 0, 0, 0}, {8192, 127, 1322, 0, 0, 0, 0}, {12, 64, 1574, 4144, 0, 0, 0}, {8704, 119, 1320, 0, 0, 0, 0}, {136, 2600, 8704, 20560, 0, 0, 0}, {12, 51, 768, 64, 1301, 4096, 0}, {128, 2602, 8192, 20592, 0, 0, 0}, {12, 51, 768, 68, 1303, 4352, 0}, {12, 64, 1568, 4112, 0, 0, 0}, {8738, 119, 1314, 0, 0, 0, 0}, {12, 68, 1570, 4626, 0, 0, 0}, {8224, 127, 1312, 0, 0, 0, 0}, {2592, 64, 4128, 0, 0, 0, 0}, {51, 68, 1310, 4369, 0, 0, 0}, {2594, 72, 4642, 0, 0, 0, 0}, {51, 76, 1308, 4883, 0, 0, 0}, {2600, 68, 5160, 0, 0, 0, 0}, {63, 64, 1306, 4111, 0, 0, 0}, {2602, 76, 5674, 0, 0, 0, 0}, {63, 72, 1304, 4623, 0, 0, 0}, {2600, 72, 4608, 0, 0, 0, 0}, {51, 76, 1302, 4864, 0, 0, 0}, {2602, 64, 4096, 0, 0, 0, 0}, {51, 68, 1300, 4352, 0, 0, 0}, {2592, 76, 5632, 0, 0, 0, 0}, {63, 72, 1298, 4626, 0, 0, 0}, {2594, 68, 5120, 0, 0, 0, 0}, {63, 64, 1296, 4112, 0, 0, 0}, {2560, 20720, 0, 0, 0, 0, 0}, {51, 4, 258, 0, 0, 0, 0}, {8, 514, 20560, 0, 0, 0, 0}, {12, 51, 768, 1280, 0, 0, 0}, {512, 4, 4144, 0, 0, 0, 0}, {255, 1290, 0, 0, 0, 0, 0}, {12, 12336, 1542, 0, 0, 0, 0}, {8, 512, 119, 1280, 0, 0, 0}, {8, 512, 20592, 0, 0, 0, 0}, {12, 51, 768, 1286, 0, 0, 0}, {2570, 20560, 0, 0, 0, 0, 0}, {51, 4, 256, 0, 0, 0, 0}, {12, 12336, 1536, 0, 0, 0, 0}, {8, 514, 119, 1282, 0, 0, 0}, {514, 4, 4112, 0, 0, 0, 0}, {255, 1280, 0, 0, 0, 0, 0}, {13056, 1024, 0, 0, 0, 0, 0}, {10, 80, 257, 0, 0, 0, 0}, {10, 514, 1026, 4386, 0, 0, 0}, {240, 771, 1036, 0, 0, 0, 0}, {13260, 1028, 0, 0, 0, 0, 0}, {10, 80, 261, 0, 0, 0, 0}, {10, 512, 1030, 4454, 0, 0, 0}, {240, 783, 1032, 0, 0, 0, 0}, {13056, 1032, 0, 0, 0, 0, 0}, {10, 80, 259, 0, 0, 0, 0}, {10, 512, 1024, 4352, 0, 0, 0}, {240, 771, 1028, 0, 0, 0, 0}, {13260, 1036, 0, 0, 0, 0, 0}, {10, 80, 263, 0, 0, 0, 0}, {10, 514, 1028, 4420, 0, 0, 0}, {240, 783, 1024, 0, 0, 0, 0}, {816, 80, 1040, 4112, 0, 0, 0}, {170, 1092, 4369, 0, 0, 0, 0}, {816, 90, 1042, 4386, 0, 0, 0}, {160, 1100, 4883, 0, 0, 0, 0}, {828, 80, 1044, 4096, 0, 0, 0}, {170, 1088, 4437, 0, 0, 0, 0}, {828, 90, 1046, 4412, 0, 0, 0}, {160, 1096, 4959, 0, 0, 0, 0}, {816, 80, 1048, 4144, 0, 0, 0}, {170, 1100, 4403, 0, 0, 0, 0}, {816, 90, 1050, 4352, 0, 0, 0}, {160, 1092, 4915, 0, 0, 0, 0}, {828, 80, 1052, 4128, 0, 0, 0}, {170, 1096, 4471, 0, 0, 0, 0}, {828, 90, 1054, 4382, 0, 0, 0}, {160, 1088, 4991, 0, 0, 0, 0}, {160, 1056, 4896, 0, 0, 0, 0}, {771, 90, 1070, 4369, 0, 0, 0}, {170, 1058, 4386, 0, 0, 0, 0}, {771, 80, 1068, 4112, 0, 0, 0}, {160, 1060, 4972, 0, 0, 0, 0}, {783, 90, 1066, 4367, 0, 0, 0}, {170, 1062, 4454, 0, 0, 0, 0}, {783, 80, 1064, 4096, 0, 0, 0}, {160, 1064, 4864, 0, 0, 0, 0}, {771, 90, 1062, 4403, 0, 0, 0}, {170, 1066, 4352, 0, 0, 0, 0}, {771, 80, 1060, 4144, 0, 0, 0}, {160, 1068, 4940, 0, 0, 0, 0}, {783, 90, 1058, 4397, 0, 0, 0}, {170, 1070, 4420, 0, 0, 0, 0}, {783, 80, 1056, 4128, 0, 0, 0}, {240, 816, 1072, 0, 0, 0, 0}, {10, 514, 1124, 4369, 0, 0, 0}, {10, 306, 514, 80, 1280, 4112, 0}, {1228, 2048, 13107, 16384, 0, 0, 0}, {240, 828, 1076, 0, 0, 0, 0}, {10, 512, 1120, 4437, 0, 0, 0}, {10, 310, 512, 80, 1280, 4096, 0}, {1224, 2056, 14135, 16448, 0, 0, 0}, {240, 816, 1080, 0, 0, 0, 0}, {10, 512, 1126, 4403, 0, 0, 0}, {10, 304, 512, 80, 1280, 4352, 0}, {1220, 2056, 13107, 17476, 0, 0, 0}, {240, 828, 1084, 0, 0, 0, 0}, {10, 514, 1122, 4471, 0, 0, 0}, {10, 308, 514, 80, 1280, 4372, 0}, {1216, 2048, 14143, 17408, 0, 0, 0}, {13056, 1088, 0, 0, 0, 0, 0}, {10, 80, 273, 0, 0, 0, 0}, {10, 546, 1090, 4386, 0, 0, 0}, {240, 819, 1100, 0, 0, 0, 0}, {13260, 1092, 0, 0, 0, 0, 0}, {10, 80, 277, 0, 0, 0, 0}, {10, 544, 1094, 4454, 0, 0, 0}, {240, 831, 1096, 0, 0, 0, 0}, {13056, 1096, 0, 0, 0, 0, 0}, {10, 80, 275, 0, 0, 0, 0}, {10, 544, 1088, 4352, 0, 0, 0}, {240, 819, 1092, 0, 0, 0, 0}, {13260, 1100, 0, 0, 0, 0, 0}, {10, 80, 279, 0, 0, 0, 0}, {10, 546, 1092, 4420, 0, 0, 0}, {240, 831, 1088, 0, 0, 0, 0}, {768, 80, 1024, 4096, 0, 0, 0}, {170, 1028, 4369, 0, 0, 0, 0}, {768, 90, 1032, 4386, 0, 0, 0}, {160, 1036, 4915, 0, 0, 0, 0}, {780, 80, 1028, 4112, 0, 0, 0}, {170, 1024, 4437, 0, 0, 0, 0}, {780, 90, 1036, 4412, 0, 0, 0}, {160, 1032, 4991, 0, 0, 0, 0}, {768, 80, 1032, 4128, 0, 0, 0}, {170, 1036, 4403, 0, 0, 0, 0}, {768, 90, 1024, 4352, 0, 0, 0}, {160, 1028, 4883, 0, 0, 0, 0}, {780, 80, 1036, 4144, 0, 0, 0}, {170, 1032, 4471, 0, 0, 0, 0}, {780, 90, 1028, 4382, 0, 0, 0}, {160, 1024, 4959, 0, 0, 0, 0}, {160, 1120, 4864, 0, 0, 0, 0}, {819, 90, 1076, 4369, 0, 0, 0}, {170, 1122, 4386, 0, 0, 0, 0}, {819, 80, 1084, 4096, 0, 0, 0}, {160, 1124, 4940, 0, 0, 0, 0}, {831, 90, 1072, 4367, 0, 0, 0}, {170, 1126, 4454, 0, 0, 0, 0}, {831, 80, 1080, 4112, 0, 0, 0}, {160, 1128, 4896, 0, 0, 0, 0}, {819, 90, 1084, 4403, 0, 0, 0}, {170, 1130, 4352, 0, 0, 0, 0}, {819, 80, 1076, 4128, 0, 0, 0}, {160, 1132, 4972, 0, 0, 0, 0}, {831, 90, 1080, 4397, 0, 0, 0}, {170, 1134, 4420, 0, 0, 0, 0}, {831, 80, 1072, 4144, 0, 0, 0}, {240, 768, 1136, 0, 0, 0, 0}, {10, 546, 1060, 4369, 0, 0, 0}, {10, 290, 768, 80, 1280, 4096, 0}, {1164, 3084, 13107, 16448, 0, 0, 0}, {240, 780, 1140, 0, 0, 0, 0}, {10, 544, 1056, 4437, 0, 0, 0}, {10, 294, 774, 80, 1280, 4112, 0}, {1160, 3072, 14199, 16384, 0, 0, 0}, {240, 768, 1144, 0, 0, 0, 0}, {10, 544, 1062, 4403, 0, 0, 0}, {10, 288, 768, 80, 1280, 4352, 0}, {1156, 3084, 13107, 17476, 0, 0, 0}, {240, 780, 1148, 0, 0, 0, 0}, {10, 546, 1058, 4471, 0, 0, 0}, {10, 292, 774, 80, 1280, 4372, 0}, {1152, 3072, 14207, 17408, 0, 0, 0}, {1152, 3072, 13056, 17408, 0, 0, 0}, {10, 289, 771, 80, 1285, 4369, 0}, {10, 546, 1058, 4386, 0, 0, 0}, {240, 771, 1148, 0, 0, 0, 0}, {1156, 3084, 14152, 17476, 0, 0, 0}, {10, 293, 773, 80, 1285, 4357, 0}, {10, 544, 1062, 4454, 0, 0, 0}, {240, 783, 1144, 0, 0, 0, 0}, {1160, 3072, 13056, 16384, 0, 0, 0}, {10, 291, 771, 80, 1285, 4112, 0}, {10, 544, 1056, 4352, 0, 0, 0}, {240, 771, 1140, 0, 0, 0, 0}, {1164, 3084, 14144, 16448, 0, 0, 0}, {10, 295, 773, 80, 1285, 4096, 0}, {10, 546, 1060, 4420, 0, 0, 0}, {240, 783, 1136, 0, 0, 0, 0}, {816, 80, 1072, 4144, 0, 0, 0}, {170, 1134, 4369, 0, 0, 0, 0}, {816, 90, 1080, 4386, 0, 0, 0}, {160, 1132, 4915, 0, 0, 0, 0}, {828, 80, 1076, 4128, 0, 0, 0}, {170, 1130, 4437, 0, 0, 0, 0}, {828, 90, 1084, 4412, 0, 0, 0}, {160, 1128, 4991, 0, 0, 0, 0}, {816, 80, 1080, 4112, 0, 0, 0}, {170, 1126, 4403, 0, 0, 0, 0}, {816, 90, 1072, 4352, 0, 0, 0}, {160, 1124, 4883, 0, 0, 0, 0}, {828, 80, 1084, 4096, 0, 0, 0}, {170, 1122, 4471, 0, 0, 0, 0}, {828, 90, 1076, 4382, 0, 0, 0}, {160, 1120, 4959, 0, 0, 0, 0}, {160, 1024, 4864, 0, 0, 0, 0}, {771, 90, 1028, 4369, 0, 0, 0}, {170, 1032, 4386, 0, 0, 0, 0}, {771, 80, 1036, 4144, 0, 0, 0}, {160, 1028, 4940, 0, 0, 0, 0}, {783, 90, 1024, 4367, 0, 0, 0}, {170, 1036, 4454, 0, 0, 0, 0}, {783, 80, 1032, 4128, 0, 0, 0}, {160, 1032, 4896, 0, 0, 0, 0}, {771, 90, 1036, 4403, 0, 0, 0}, {170, 1024, 4352, 0, 0, 0, 0}, {771, 80, 1028, 4112, 0, 0, 0}, {160, 1036, 4972, 0, 0, 0, 0}, {783, 90, 1032, 4397, 0, 0, 0}, {170, 1028, 4420, 0, 0, 0, 0}, {783, 80, 1024, 4096, 0, 0, 0}, {240, 816, 1088, 0, 0, 0, 0}, {10, 546, 1092, 4369, 0, 0, 0}, {10, 80, 274, 0, 0, 0, 0}, {13107, 1100, 0, 0, 0, 0, 0}, {240, 828, 1092, 0, 0, 0, 0}, {10, 544, 1088, 4437, 0, 0, 0}, {10, 80, 278, 0, 0, 0, 0}, {13311, 1096, 0, 0, 0, 0, 0}, {240, 816, 1096, 0, 0, 0, 0}, {10, 544, 1094, 4403, 0, 0, 0}, {10, 80, 272, 0, 0, 0, 0}, {13107, 1092, 0, 0, 0, 0, 0}, {240, 828, 1100, 0, 0, 0, 0}, {10, 546, 1090, 4471, 0, 0, 0}, {10, 80, 276, 0, 0, 0, 0}, {13311, 1088, 0, 0, 0, 0, 0}, {1216, 2048, 13056, 17408, 0, 0, 0}, {10, 305, 514, 80, 1285, 4369, 0}, {10, 514, 1122, 4386, 0, 0, 0}, {240, 819, 1084, 0, 0, 0, 0}, {1220, 2056, 14088, 17476, 0, 0, 0}, {10, 309, 512, 80, 1285, 4357, 0}, {10, 512, 1126, 4454, 0, 0, 0}, {240, 831, 1080, 0, 0, 0, 0}, {1224, 2056, 13056, 16448, 0, 0, 0}, {10, 307, 512, 80, 1285, 4096, 0}, {10, 512, 1120, 4352, 0, 0, 0}, {240, 819, 1076, 0, 0, 0, 0}, {1228, 2048, 14080, 16384, 0, 0, 0}, {10, 311, 514, 80, 1285, 4112, 0}, {10, 514, 1124, 4420, 0, 0, 0}, {240, 831, 1072, 0, 0, 0, 0}, {768, 80, 1056, 4128, 0, 0, 0}, {170, 1070, 4369, 0, 0, 0, 0}, {768, 90, 1058, 4386, 0, 0, 0}, {160, 1068, 4883, 0, 0, 0, 0}, {780, 80, 1060, 4144, 0, 0, 0}, {170, 1066, 4437, 0, 0, 0, 0}, {780, 90, 1062, 4412, 0, 0, 0}, {160, 1064, 4959, 0, 0, 0, 0}, {768, 80, 1064, 4096, 0, 0, 0}, {170, 1062, 4403, 0, 0, 0, 0}, {768, 90, 1066, 4352, 0, 0, 0}, {160, 1060, 4915, 0, 0, 0, 0}, {780, 80, 1068, 4112, 0, 0, 0}, {170, 1058, 4471, 0, 0, 0, 0}, {780, 90, 1070, 4382, 0, 0, 0}, {160, 1056, 4991, 0, 0, 0, 0}, {160, 1088, 4896, 0, 0, 0, 0}, {819, 90, 1054, 4369, 0, 0, 0}, {170, 1096, 4386, 0, 0, 0, 0}, {819, 80, 1052, 4128, 0, 0, 0}, {160, 1092, 4972, 0, 0, 0, 0}, {831, 90, 1050, 4367, 0, 0, 0}, {170, 1100, 4454, 0, 0, 0, 0}, {831, 80, 1048, 4144, 0, 0, 0}, {160, 1096, 4864, 0, 0, 0, 0}, {819, 90, 1046, 4403, 0, 0, 0}, {170, 1088, 4352, 0, 0, 0, 0}, {819, 80, 1044, 4096, 0, 0, 0}, {160, 1100, 4940, 0, 0, 0, 0}, {831, 90, 1042, 4397, 0, 0, 0}, {170, 1092, 4420, 0, 0, 0, 0}, {831, 80, 1040, 4112, 0, 0, 0}, {240, 768, 1024, 0, 0, 0, 0}, {10, 514, 1028, 4369, 0, 0, 0}, {10, 80, 258, 0, 0, 0, 0}, {13107, 1036, 0, 0, 0, 0, 0}, {240, 780, 1028, 0, 0, 0, 0}, {10, 512, 1024, 4437, 0, 0, 0}, {10, 80, 262, 0, 0, 0, 0}, {13311, 1032, 0, 0, 0, 0, 0}, {240, 768, 1032, 0, 0, 0, 0}, {10, 512, 1030, 4403, 0, 0, 0}, {10, 80, 256, 0, 0, 0, 0}, {13107, 1028, 0, 0, 0, 0, 0}, {240, 780, 1036, 0, 0, 0, 0}, {10, 514, 1026, 4471, 0, 0, 0}, {10, 80, 260, 0, 0, 0, 0}, {13311, 1024, 0, 0, 0, 0, 0}, {3072, 12288, 0, 0, 0, 0, 0}, {2, 85, 257, 0, 0, 0, 0}, {2, 1024, 4096, 0, 0, 0, 0}, {255, 771, 0, 0, 0, 0, 0}, {8, 12352, 1028, 0, 0, 0, 0}, {10, 773, 85, 1285, 0, 0, 0}, {10, 12384, 1542, 0, 0, 0, 0}, {8, 775, 119, 1024, 0, 0, 0}, {8, 12288, 1024, 0, 0, 0, 0}, {10, 771, 85, 1285, 0, 0, 0}, {10, 12288, 1536, 0, 0, 0, 0}, {8, 771, 119, 1028, 0, 0, 0}, {3084, 12480, 0, 0, 0, 0, 0}, {2, 85, 261, 0, 0, 0, 0}, {2, 1028, 4160, 0, 0, 0, 0}, {255, 783, 0, 0, 0, 0, 0}, {3136, 32, 4112, 0, 0, 0, 0}, {34, 785, 85, 4369, 0, 0, 0}, {3144, 34, 4626, 0, 0, 0, 0}, {32, 787, 95, 4096, 0, 0, 0}, {3140, 40, 5140, 0, 0, 0, 0}, {42, 789, 85, 5397, 0, 0, 0}, {3148, 42, 5654, 0, 0, 0, 0}, {40, 791, 95, 5120, 0, 0, 0}, {3144, 40, 5200, 0, 0, 0, 0}, {42, 793, 85, 5376, 0, 0, 0}, {3136, 42, 5722, 0, 0, 0, 0}, {40, 795, 95, 5147, 0, 0, 0}, {3148, 32, 4176, 0, 0, 0, 0}, {34, 797, 85, 4352, 0, 0, 0}, {3140, 34, 4698, 0, 0, 0, 0}, {32, 799, 95, 4127, 0, 0, 0}, {3072, 32, 4096, 0, 0, 0, 0}, {34, 771, 85, 4369, 0, 0, 0}, {3072, 34, 4608, 0, 0, 0, 0}, {32, 771, 95, 4112, 0, 0, 0}, {3084, 40, 5188, 0, 0, 0, 0}, {42, 783, 85, 5376, 0, 0, 0}, {3084, 42, 5708, 0, 0, 0, 0}, {40, 783, 95, 5135, 0, 0, 0}, {3072, 40, 5120, 0, 0, 0, 0}, {42, 771, 85, 5397, 0, 0, 0}, {3072, 42, 5632, 0, 0, 0, 0}, {40, 771, 95, 5140, 0, 0, 0}, {3084, 32, 4160, 0, 0, 0, 0}, {34, 783, 85, 4352, 0, 0, 0}, {3084, 34, 4680, 0, 0, 0, 0}, {32, 783, 95, 4111, 0, 0, 0}, {3264, 12336, 0, 0, 0, 0, 0}, {2, 85, 273, 0, 0, 0, 0}, {2, 1088, 4112, 0, 0, 0, 0}, {255, 819, 0, 0, 0, 0, 0}, {8, 12400, 1092, 0, 0, 0, 0}, {10, 821, 85, 1280, 0, 0, 0}, {10, 12368, 1638, 0, 0, 0, 0}, {8, 823, 119, 1079, 0, 0, 0}, {8, 12336, 1088, 0, 0, 0, 0}, {10, 819, 85, 1280, 0, 0, 0}, {10, 12336, 1632, 0, 0, 0, 0}, {8, 819, 119, 1075, 0, 0, 0}, {3276, 12528, 0, 0, 0, 0, 0}, {2, 85, 277, 0, 0, 0, 0}, {2, 1092, 4176, 0, 0, 0, 0}, {255, 831, 0, 0, 0, 0, 0}, {128, 3136, 12352, 16448, 0, 0, 0}, {10, 34, 788, 85, 1285, 4369, 0}, {10, 34, 1602, 4674, 0, 0, 0}, {828, 127, 0, 0, 0, 0, 0}, {136, 3140, 12288, 17476, 0, 0, 0}, {10, 32, 784, 85, 1285, 4112, 0}, {10, 32, 1606, 4096, 0, 0, 0}, {816, 119, 0, 0, 0, 0, 0}, {136, 3144, 12360, 17408, 0, 0, 0}, {10, 32, 790, 85, 1285, 4101, 0}, {10, 32, 1600, 4160, 0, 0, 0}, {828, 119, 0, 0, 0, 0, 0}, {128, 3148, 12288, 16384, 0, 0, 0}, {10, 34, 786, 85, 1285, 4352, 0}, {10, 34, 1604, 4608, 0, 0, 0}, {816, 127, 0, 0, 0, 0, 0}, {160, 3072, 12368, 20560, 0, 0, 0}, {8, 34, 772, 85, 1028, 4369, 0}, {8, 34, 1024, 4690, 0, 0, 0}, {780, 95, 0, 0, 0, 0, 0}, {8, 32, 1028, 4112, 0, 0, 0}, {768, 85, 0, 0, 0, 0, 0}, {170, 3084, 12336, 22102, 0, 0, 0}, {8, 32, 768, 87, 1024, 4096, 0}, {8, 32, 1024, 4176, 0, 0, 0}, {780, 85, 0, 0, 0, 0, 0}, {170, 3072, 12378, 22106, 0, 0, 0}, {8, 32, 772, 87, 1028, 4119, 0}, {160, 3084, 12336, 20560, 0, 0, 0}, {8, 34, 768, 85, 1024, 4352, 0}, {8, 34, 1028, 4626, 0, 0, 0}, {768, 95, 0, 0, 0, 0, 0}, {160, 3168, 12384, 20480, 0, 0, 0}, {8, 34, 790, 85, 1041, 4369, 0}, {8, 34, 1088, 4672, 0, 0, 0}, {828, 95, 0, 0, 0, 0, 0}, {8, 32, 1092, 4096, 0, 0, 0}, {816, 85, 0, 0, 0, 0, 0}, {170, 3174, 12288, 22118, 0, 0, 0}, {8, 32, 784, 87, 1047, 4112, 0}, {8, 32, 1088, 4160, 0, 0, 0}, {828, 85, 0, 0, 0, 0, 0}, {170, 3178, 12394, 22122, 0, 0, 0}, {8, 32, 788, 87, 1043, 4103, 0}, {160, 3180, 12288, 20480, 0, 0, 0}, {8, 34, 786, 85, 1045, 4352, 0}, {8, 34, 1092, 4608, 0, 0, 0}, {816, 95, 0, 0, 0, 0, 0}, {128, 3072, 12400, 16384, 0, 0, 0}, {10, 34, 774, 85, 1280, 4369, 0}, {10, 34, 1536, 4688, 0, 0, 0}, {780, 127, 0, 0, 0, 0, 0}, {136, 3084, 12336, 17476, 0, 0, 0}, {10, 32, 768, 85, 1280, 4096, 0}, {10, 32, 1542, 4112, 0, 0, 0}, {768, 119, 0, 0, 0, 0, 0}, {136, 3072, 12408, 17408, 0, 0, 0}, {10, 32, 774, 85, 1280, 4117, 0}, {10, 32, 1536, 4176, 0, 0, 0}, {780, 119, 0, 0, 0, 0, 0}, {128, 3084, 12336, 16448, 0, 0, 0}, {10, 34, 768, 85, 1280, 4352, 0}, {10, 34, 1542, 4626, 0, 0, 0}, {768, 127, 0, 0, 0, 0, 0}, {128, 3072, 12288, 16384, 0, 0, 0}, {10, 34, 771, 85, 1285, 4369, 0}, {10, 34, 1536, 4608, 0, 0, 0}, {771, 127, 0, 0, 0, 0, 0}, {136, 3084, 12360, 17476, 0, 0, 0}, {10, 32, 773, 85, 1285, 4101, 0}, {10, 32, 1542, 4160, 0, 0, 0}, {783, 119, 0, 0, 0, 0, 0}, {136, 3072, 12288, 17408, 0, 0, 0}, {10, 32, 771, 85, 1285, 4112, 0}, {10, 32, 1536, 4096, 0, 0, 0}, {771, 119, 0, 0, 0, 0, 0}, {128, 3084, 12352, 16448, 0, 0, 0}, {10, 34, 773, 85, 1285, 4352, 0}, {10, 34, 1542, 4674, 0, 0, 0}, {783, 127, 0, 0, 0, 0, 0}, {160, 3168, 12336, 20560, 0, 0, 0}, {8, 34, 785, 85, 1041, 4369, 0}, {8, 34, 1088, 4626, 0, 0, 0}, {819, 95, 0, 0, 0, 0, 0}, {8, 32, 1092, 4176, 0, 0, 0}, {831, 85, 0, 0, 0, 0, 0}, {170, 3174, 12378, 22076, 0, 0, 0}, {8, 32, 791, 87, 1047, 4119, 0}, {8, 32, 1088, 4112, 0, 0, 0}, {819, 85, 0, 0, 0, 0, 0}, {170, 3178, 12336, 22064, 0, 0, 0}, {8, 32, 787, 87, 1043, 4096, 0}, {160, 3180, 12368, 20560, 0, 0, 0}, {8, 34, 789, 85, 1045, 4352, 0}, {8, 34, 1092, 4690, 0, 0, 0}, {831, 95, 0, 0, 0, 0, 0}, {160, 3072, 12288, 20480, 0, 0, 0}, {8, 34, 771, 85, 1028, 4369, 0}, {8, 34, 1024, 4608, 0, 0, 0}, {771, 95, 0, 0, 0, 0, 0}, {8, 32, 1028, 4160, 0, 0, 0}, {783, 85, 0, 0, 0, 0, 0}, {170, 3084, 12394, 22028, 0, 0, 0}, {8, 32, 775, 87, 1024, 4103, 0}, {8, 32, 1024, 4096, 0, 0, 0}, {771, 85, 0, 0, 0, 0, 0}, {170, 3072, 12288, 22016, 0, 0, 0}, {8, 32, 771, 87, 1028, 4112, 0}, {160, 3084, 12384, 20480, 0, 0, 0}, {8, 34, 775, 85, 1024, 4352, 0}, {8, 34, 1028, 4672, 0, 0, 0}, {783, 95, 0, 0, 0, 0, 0}, {128, 3136, 12336, 16448, 0, 0, 0}, {10, 34, 785, 85, 1280, 4369, 0}, {10, 34, 1602, 4626, 0, 0, 0}, {819, 127, 0, 0, 0, 0, 0}, {136, 3140, 12408, 17476, 0, 0, 0}, {10, 32, 789, 85, 1280, 4117, 0}, {10, 32, 1606, 4176, 0, 0, 0}, {831, 119, 0, 0, 0, 0, 0}, {136, 3144, 12336, 17408, 0, 0, 0}, {10, 32, 787, 85, 1280, 4096, 0}, {10, 32, 1600, 4112, 0, 0, 0}, {819, 119, 0, 0, 0, 0, 0}, {128, 3148, 12400, 16384, 0, 0, 0}, {10, 34, 791, 85, 1280, 4352, 0}, {10, 34, 1604, 4688, 0, 0, 0}, {831, 127, 0, 0, 0, 0, 0}, {3264, 12480, 0, 0, 0, 0, 0}, {2, 85, 276, 0, 0, 0, 0}, {2, 1088, 4160, 0, 0, 0, 0}, {255, 828, 0, 0, 0, 0, 0}, {8, 12288, 1092, 0, 0, 0, 0}, {10, 816, 85, 1285, 0, 0, 0}, {10, 12288, 1638, 0, 0, 0, 0}, {8, 816, 119, 1079, 0, 0, 0}, {8, 12352, 1088, 0, 0, 0, 0}, {10, 822, 85, 1285, 0, 0, 0}, {10, 12384, 1632, 0, 0, 0, 0}, {8, 820, 119, 1075, 0, 0, 0}, {3276, 12288, 0, 0, 0, 0, 0}, {2, 85, 272, 0, 0, 0, 0}, {2, 1092, 4096, 0, 0, 0, 0}, {255, 816, 0, 0, 0, 0, 0}, {3072, 32, 4176, 0, 0, 0, 0}, {34, 780, 85, 4369, 0, 0, 0}, {3072, 34, 4698, 0, 0, 0, 0}, {32, 780, 95, 4127, 0, 0, 0}, {3084, 40, 5140, 0, 0, 0, 0}, {42, 768, 85, 5376, 0, 0, 0}, {3084, 42, 5654, 0, 0, 0, 0}, {40, 768, 95, 5120, 0, 0, 0}, {3072, 40, 5200, 0, 0, 0, 0}, {42, 780, 85, 5397, 0, 0, 0}, {3072, 42, 5722, 0, 0, 0, 0}, {40, 780, 95, 5147, 0, 0, 0}, {3084, 32, 4112, 0, 0, 0, 0}, {34, 768, 85, 4352, 0, 0, 0}, {3084, 34, 4626, 0, 0, 0, 0}, {32, 768, 95, 4096, 0, 0, 0}, {3136, 32, 4160, 0, 0, 0, 0}, {34, 798, 85, 4369, 0, 0, 0}, {3144, 34, 4680, 0, 0, 0, 0}, {32, 796, 95, 4111, 0, 0, 0}, {3140, 40, 5188, 0, 0, 0, 0}, {42, 794, 85, 5397, 0, 0, 0}, {3148, 42, 5708, 0, 0, 0, 0}, {40, 792, 95, 5135, 0, 0, 0}, {3144, 40, 5120, 0, 0, 0, 0}, {42, 790, 85, 5376, 0, 0, 0}, {3136, 42, 5632, 0, 0, 0, 0}, {40, 788, 95, 5140, 0, 0, 0}, {3148, 32, 4096, 0, 0, 0, 0}, {34, 786, 85, 4352, 0, 0, 0}, {3140, 34, 4608, 0, 0, 0, 0}, {32, 784, 95, 4112, 0, 0, 0}, {3072, 12528, 0, 0, 0, 0, 0}, {2, 85, 260, 0, 0, 0, 0}, {2, 1024, 4176, 0, 0, 0, 0}, {255, 780, 0, 0, 0, 0, 0}, {8, 12336, 1028, 0, 0, 0, 0}, {10, 768, 85, 1280, 0, 0, 0}, {10, 12336, 1542, 0, 0, 0, 0}, {8, 768, 119, 1024, 0, 0, 0}, {8, 12400, 1024, 0, 0, 0, 0}, {10, 774, 85, 1280, 0, 0, 0}, {10, 12368, 1536, 0, 0, 0, 0}, {8, 772, 119, 1028, 0, 0, 0}, {3084, 12336, 0, 0, 0, 0, 0}, {2, 85, 256, 0, 0, 0, 0}, {2, 1028, 4112, 0, 0, 0, 0}, {255, 768, 0, 0, 0, 0, 0}, {512, 21760, 0, 0, 0, 0, 0}, {12, 48, 257, 0, 0, 0, 0}, {514, 21930, 0, 0, 0, 0, 0}, {12, 48, 259, 0, 0, 0, 0}, {12, 516, 1028, 4420, 0, 0, 0}, {240, 522, 1285, 0, 0, 0, 0}, {12, 518, 1024, 4454, 0, 0, 0}, {240, 520, 1295, 0, 0, 0, 0}, {520, 21760, 0, 0, 0, 0, 0}, {12, 48, 261, 0, 0, 0, 0}, {522, 21930, 0, 0, 0, 0, 0}, {12, 48, 263, 0, 0, 0, 0}, {12, 512, 1024, 4352, 0, 0, 0}, {240, 514, 1285, 0, 0, 0, 0}, {12, 514, 1028, 4386, 0, 0, 0}, {240, 512, 1295, 0, 0, 0, 0}, {48, 528, 1360, 4112, 0, 0, 0}, {204, 546, 4369, 0, 0, 0, 0}, {48, 530, 1370, 4096, 0, 0, 0}, {204, 544, 4403, 0, 0, 0, 0}, {60, 532, 1360, 4420, 0, 0, 0}, {192, 554, 5397, 0, 0, 0, 0}, {60, 534, 1370, 4442, 0, 0, 0}, {192, 552, 5439, 0, 0, 0, 0}, {48, 536, 1360, 4176, 0, 0, 0}, {204, 554, 4437, 0, 0, 0, 0}, {48, 538, 1370, 4160, 0, 0, 0}, {204, 552, 4471, 0, 0, 0, 0}, {60, 540, 1360, 4352, 0, 0, 0}, {192, 546, 5461, 0, 0, 0, 0}, {60, 542, 1370, 4382, 0, 0, 0}, {192, 544, 5503, 0, 0, 0, 0}, {544, 21760, 0, 0, 0, 0, 0}, {12, 48, 273, 0, 0, 0, 0}, {546, 21930, 0, 0, 0, 0, 0}, {12, 48, 275, 0, 0, 0, 0}, {12, 548, 1092, 4420, 0, 0, 0}, {240, 554, 1365, 0, 0, 0, 0}, {12, 550, 1088, 4454, 0, 0, 0}, {240, 552, 1375, 0, 0, 0, 0}, {552, 21760, 0, 0, 0, 0, 0}, {12, 48, 277, 0, 0, 0, 0}, {554, 21930, 0, 0, 0, 0, 0}, {12, 48, 279, 0, 0, 0, 0}, {12, 544, 1088, 4352, 0, 0, 0}, {240, 546, 1365, 0, 0, 0, 0}, {12, 546, 1092, 4386, 0, 0, 0}, {240, 544, 1375, 0, 0, 0, 0}, {48, 512, 1280, 4096, 0, 0, 0}, {204, 514, 4369, 0, 0, 0, 0}, {48, 514, 1290, 4112, 0, 0, 0}, {204, 512, 4403, 0, 0, 0, 0}, {60, 520, 1280, 4420, 0, 0, 0}, {192, 522, 5461, 0, 0, 0, 0}, {60, 522, 1290, 4442, 0, 0, 0}, {192, 520, 5503, 0, 0, 0, 0}, {48, 520, 1280, 4160, 0, 0, 0}, {204, 522, 4437, 0, 0, 0, 0}, {48, 522, 1290, 4176, 0, 0, 0}, {204, 520, 4471, 0, 0, 0, 0}, {60, 512, 1280, 4352, 0, 0, 0}, {192, 514, 5397, 0, 0, 0, 0}, {60, 514, 1290, 4382, 0, 0, 0}, {192, 512, 5439, 0, 0, 0, 0}, {2560, 576, 5888, 0, 0, 0, 0}, {60, 590, 1285, 4369, 0, 0, 0}, {2570, 578, 5928, 0, 0, 0, 0}, {60, 588, 1295, 4367, 0, 0, 0}, {2560, 580, 4864, 0, 0, 0, 0}, {48, 586, 1285, 4112, 0, 0, 0}, {2570, 582, 4896, 0, 0, 0, 0}, {48, 584, 1295, 4096, 0, 0, 0}, {2560, 584, 5376, 0, 0, 0, 0}, {60, 582, 1285, 4883, 0, 0, 0}, {2570, 586, 5418, 0, 0, 0, 0}, {60, 580, 1295, 4879, 0, 0, 0}, {2560, 588, 4352, 0, 0, 0, 0}, {48, 578, 1285, 4626, 0, 0, 0}, {2570, 590, 4386, 0, 0, 0, 0}, {48, 576, 1295, 4608, 0, 0, 0}, {8704, 592, 1792, 0, 0, 0, 0}, {12, 610, 1028, 4369, 0, 0, 0}, {8738, 594, 1800, 0, 0, 0, 0}, {12, 608, 1024, 4403, 0, 0, 0}, {12, 48, 768, 340, 1028, 4112, 0}, {682, 2048, 8192, 21845, 0, 0, 0}, {12, 48, 768, 342, 1024, 4096, 0}, {680, 2056, 8224, 22359, 0, 0, 0}, {8224, 600, 1800, 0, 0, 0, 0}, {12, 614, 1024, 4915, 0, 0, 0}, {8192, 602, 1792, 0, 0, 0, 0}, {12, 612, 1028, 4883, 0, 0, 0}, {12, 48, 768, 336, 1024, 4352, 0}, {674, 2056, 8738, 21845, 0, 0, 0}, {12, 48, 768, 338, 1028, 4370, 0}, {672, 2048, 8704, 22367, 0, 0, 0}, {2048, 608, 5376, 0, 0, 0, 0}, {60, 594, 1799, 4369, 0, 0, 0}, {2056, 610, 5418, 0, 0, 0, 0}, {60, 592, 1807, 4367, 0, 0, 0}, {2056, 612, 4896, 0, 0, 0, 0}, {48, 602, 1807, 4096, 0, 0, 0}, {2048, 614, 4864, 0, 0, 0, 0}, {48, 600, 1799, 4112, 0, 0, 0}, {2056, 616, 5928, 0, 0, 0, 0}, {60, 602, 1807, 4879, 0, 0, 0}, {2048, 618, 5888, 0, 0, 0, 0}, {60, 600, 1799, 4883, 0, 0, 0}, {2048, 620, 4352, 0, 0, 0, 0}, {48, 594, 1799, 4626, 0, 0, 0}, {2056, 622, 4386, 0, 0, 0, 0}, {48, 592, 1807, 4608, 0, 0, 0}, {8704, 624, 1280, 0, 0, 0, 0}, {12, 578, 1542, 4369, 0, 0, 0}, {8738, 626, 1290, 0, 0, 0, 0}, {12, 576, 1536, 4403, 0, 0, 0}, {12, 48, 768, 324, 1280, 4096, 0}, {650, 2570, 8224, 21845, 0, 0, 0}, {12, 48, 768, 326, 1286, 4112, 0}, {648, 2560, 8192, 22391, 0, 0, 0}, {8192, 632, 1280, 0, 0, 0, 0}, {12, 582, 1542, 4883, 0, 0, 0}, {8224, 634, 1290, 0, 0, 0, 0}, {12, 580, 1536, 4915, 0, 0, 0}, {12, 48, 768, 320, 1280, 4352, 0}, {642, 2570, 8738, 21845, 0, 0, 0}, {12, 48, 768, 322, 1286, 4370, 0}, {640, 2560, 8704, 22399, 0, 0, 0}, {640, 2560, 8704, 21760, 0, 0, 0}, {12, 48, 771, 321, 1285, 4369, 0}, {642, 2570, 8738, 22312, 0, 0, 0}, {12, 48, 771, 323, 1283, 4355, 0}, {12, 580, 1536, 4864, 0, 0, 0}, {8224, 634, 1285, 0, 0, 0, 0}, {12, 582, 1542, 4896, 0, 0, 0}, {8192, 632, 1295, 0, 0, 0, 0}, {648, 2560, 8192, 21760, 0, 0, 0}, {12, 48, 771, 325, 1285, 4112, 0}, {650, 2570, 8224, 22304, 0, 0, 0}, {12, 48, 771, 327, 1283, 4096, 0}, {12, 576, 1536, 4352, 0, 0, 0}, {8738, 626, 1285, 0, 0, 0, 0}, {12, 578, 1542, 4386, 0, 0, 0}, {8704, 624, 1295, 0, 0, 0, 0}, {48, 592, 1792, 4608, 0, 0, 0}, {2056, 622, 4369, 0, 0, 0, 0}, {48, 594, 1800, 4626, 0, 0, 0}, {2048, 620, 4403, 0, 0, 0, 0}, {60, 600, 1800, 4892, 0, 0, 0}, {2048, 618, 5951, 0, 0, 0, 0}, {60, 602, 1792, 4864, 0, 0, 0}, {2056, 616, 5911, 0, 0, 0, 0}, {48, 600, 1800, 4112, 0, 0, 0}, {2048, 614, 4915, 0, 0, 0, 0}, {48, 602, 1792, 4096, 0, 0, 0}, {2056, 612, 4883, 0, 0, 0, 0}, {60, 592, 1792, 4352, 0, 0, 0}, {2056, 610, 5397, 0, 0, 0, 0}, {60, 594, 1800, 4382, 0, 0, 0}, {2048, 608, 5439, 0, 0, 0, 0}, {672, 2048, 8704, 21760, 0, 0, 0}, {12, 48, 771, 337, 1028, 4369, 0}, {674, 2056, 8738, 22280, 0, 0, 0}, {12, 48, 771, 339, 1024, 4355, 0}, {12, 612, 1028, 4896, 0, 0, 0}, {8192, 602, 1807, 0, 0, 0, 0}, {12, 614, 1024, 4864, 0, 0, 0}, {8224, 600, 1799, 0, 0, 0, 0}, {680, 2056, 8224, 21760, 0, 0, 0}, {12, 48, 771, 341, 1024, 4096, 0}, {682, 2048, 8192, 22272, 0, 0, 0}, {12, 48, 771, 343, 1028, 4112, 0}, {12, 608, 1024, 4352, 0, 0, 0}, {8738, 594, 1799, 0, 0, 0, 0}, {12, 610, 1028, 4386, 0, 0, 0}, {8704, 592, 1807, 0, 0, 0, 0}, {48, 576, 1280, 4608, 0, 0, 0}, {2570, 590, 4369, 0, 0, 0, 0}, {48, 578, 1290, 4626, 0, 0, 0}, {2560, 588, 4403, 0, 0, 0, 0}, {60, 580, 1280, 4864, 0, 0, 0}, {2570, 586, 5397, 0, 0, 0, 0}, {60, 582, 1290, 4892, 0, 0, 0}, {2560, 584, 5439, 0, 0, 0, 0}, {48, 584, 1280, 4096, 0, 0, 0}, {2570, 582, 4883, 0, 0, 0, 0}, {48, 586, 1290, 4112, 0, 0, 0}, {2560, 580, 4915, 0, 0, 0, 0}, {60, 588, 1280, 4352, 0, 0, 0}, {2570, 578, 5911, 0, 0, 0, 0}, {60, 590, 1290, 4382, 0, 0, 0}, {2560, 576, 5951, 0, 0, 0, 0}, {192, 512, 5376, 0, 0, 0, 0}, {60, 514, 1285, 4369, 0, 0, 0}, {192, 514, 5418, 0, 0, 0, 0}, {60, 512, 1295, 4367, 0, 0, 0}, {204, 520, 4420, 0, 0, 0, 0}, {48, 522, 1285, 4176, 0, 0, 0}, {204, 522, 4454, 0, 0, 0, 0}, {48, 520, 1295, 4160, 0, 0, 0}, {192, 520, 5440, 0, 0, 0, 0}, {60, 522, 1285, 4437, 0, 0, 0}, {192, 522, 5482, 0, 0, 0, 0}, {60, 520, 1295, 4427, 0, 0, 0}, {204, 512, 4352, 0, 0, 0, 0}, {48, 514, 1285, 4112, 0, 0, 0}, {204, 514, 4386, 0, 0, 0, 0}, {48, 512, 1295, 4096, 0, 0, 0}, {240, 544, 1360, 0, 0, 0, 0}, {12, 546, 1092, 4369, 0, 0, 0}, {240, 546, 1370, 0, 0, 0, 0}, {12, 544, 1088, 4403, 0, 0, 0}, {12, 48, 276, 0, 0, 0, 0}, {554, 21845, 0, 0, 0, 0, 0}, {12, 48, 278, 0, 0, 0, 0}, {552, 22015, 0, 0, 0, 0, 0}, {240, 552, 1360, 0, 0, 0, 0}, {12, 550, 1088, 4437, 0, 0, 0}, {240, 554, 1370, 0, 0, 0, 0}, {12, 548, 1092, 4471, 0, 0, 0}, {12, 48, 272, 0, 0, 0, 0}, {546, 21845, 0, 0, 0, 0, 0}, {12, 48, 274, 0, 0, 0, 0}, {544, 22015, 0, 0, 0, 0, 0}, {192, 544, 5440, 0, 0, 0, 0}, {60, 542, 1365, 4369, 0, 0, 0}, {192, 546, 5482, 0, 0, 0, 0}, {60, 540, 1375, 4367, 0, 0, 0}, {204, 552, 4420, 0, 0, 0, 0}, {48, 538, 1365, 4160, 0, 0, 0}, {204, 554, 4454, 0, 0, 0, 0}, {48, 536, 1375, 4176, 0, 0, 0}, {192, 552, 5376, 0, 0, 0, 0}, {60, 534, 1365, 4437, 0, 0, 0}, {192, 554, 5418, 0, 0, 0, 0}, {60, 532, 1375, 4427, 0, 0, 0}, {204, 544, 4352, 0, 0, 0, 0}, {48, 530, 1365, 4096, 0, 0, 0}, {204, 546, 4386, 0, 0, 0, 0}, {48, 528, 1375, 4112, 0, 0, 0}, {240, 512, 1280, 0, 0, 0, 0}, {12, 514, 1028, 4369, 0, 0, 0}, {240, 514, 1290, 0, 0, 0, 0}, {12, 512, 1024, 4403, 0, 0, 0}, {12, 48, 260, 0, 0, 0, 0}, {522, 21845, 0, 0, 0, 0, 0}, {12, 48, 262, 0, 0, 0, 0}, {520, 22015, 0, 0, 0, 0, 0}, {240, 520, 1280, 0, 0, 0, 0}, {12, 518, 1024, 4437, 0, 0, 0}, {240, 522, 1290, 0, 0, 0, 0}, {12, 516, 1028, 4471, 0, 0, 0}, {12, 48, 256, 0, 0, 0, 0}, {514, 21845, 0, 0, 0, 0, 0}, {12, 48, 258, 0, 0, 0, 0}, {512, 22015, 0, 0, 0, 0, 0}, {512, 1024, 4096, 0, 0, 0, 0}, {255, 257, 0, 0, 0, 0, 0}, {514, 1032, 4128, 0, 0, 0, 0}, {255, 259, 0, 0, 0, 0, 0}, {520, 1028, 4160, 0, 0, 0, 0}, {255, 261, 0, 0, 0, 0, 0}, {522, 1036, 4192, 0, 0, 0, 0}, {255, 263, 0, 0, 0, 0, 0}, {4224, 520, 1032, 0, 0, 0, 0}, {265, 771, 1285, 4454, 0, 0, 0}, {4256, 522, 1024, 0, 0, 0, 0}, {267, 771, 1028, 4420, 0, 0, 0}, {4288, 512, 1036, 0, 0, 0, 0}, {269, 514, 1285, 4386, 0, 0, 0}, {4320, 514, 1028, 0, 0, 0, 0}, {271, 512, 1024, 4352, 0, 0, 0}, {544, 1088, 4112, 0, 0, 0, 0}, {255, 273, 0, 0, 0, 0, 0}, {546, 1096, 4144, 0, 0, 0, 0}, {255, 275, 0, 0, 0, 0, 0}, {552, 1092, 4176, 0, 0, 0, 0}, {255, 277, 0, 0, 0, 0, 0}, {554, 1100, 4208, 0, 0, 0, 0}, {255, 279, 0, 0, 0, 0, 0}, {4240, 552, 1096, 0, 0, 0, 0}, {281, 819, 1365, 4454, 0, 0, 0}, {4272, 554, 1088, 0, 0, 0, 0}, {283, 819, 1092, 4420, 0, 0, 0}, {4304, 544, 1100, 0, 0, 0, 0}, {285, 546, 1365, 4386, 0, 0, 0}, {4336, 546, 1092, 0, 0, 0, 0}, {287, 544, 1088, 4352, 0, 0, 0}, {1152, 544, 4128, 0, 0, 0, 0}, {289, 771, 1370, 4369, 0, 0, 0}, {1160, 546, 4096, 0, 0, 0, 0}, {291, 771, 1360, 4112, 0, 0, 0}, {1156, 552, 4192, 0, 0, 0, 0}, {293, 783, 1370, 4437, 0, 0, 0}, {1164, 554, 4160, 0, 0, 0, 0}, {295, 783, 1360, 4176, 0, 0, 0}, {1160, 552, 5160, 0, 0, 0, 0}, {297, 771, 1370, 4175, 0, 0, 0}, {1152, 554, 5120, 0, 0, 0, 0}, {299, 771, 1360, 4420, 0, 0, 0}, {1164, 544, 5228, 0, 0, 0, 0}, {301, 783, 1370, 4111, 0, 0, 0}, {1156, 546, 5188, 0, 0, 0, 0}, {303, 783, 1360, 4352, 0, 0, 0}, {1216, 512, 4144, 0, 0, 0, 0}, {305, 514, 1290, 4369, 0, 0, 0}, {1224, 514, 4112, 0, 0, 0, 0}, {307, 512, 1280, 4096, 0, 0, 0}, {1220, 520, 4208, 0, 0, 0, 0}, {309, 522, 1290, 4437, 0, 0, 0}, {1228, 522, 4176, 0, 0, 0, 0}, {311, 520, 1280, 4160, 0, 0, 0}, {1224, 520, 5240, 0, 0, 0, 0}, {313, 522, 1290, 4191, 0, 0, 0}, {1216, 522, 5200, 0, 0, 0, 0}, {315, 520, 1280, 4420, 0, 0, 0}, {1228, 512, 5180, 0, 0, 0, 0}, {317, 514, 1290, 4127, 0, 0, 0}, {1220, 514, 5140, 0, 0, 0, 0}, {319, 512, 1280, 4352, 0, 0, 0}, {640, 1088, 4160, 0, 0, 0, 0}, {828, 321, 1285, 4369, 0, 0, 0}, {642, 1096, 4192, 0, 0, 0, 0}, {828, 323, 1295, 4403, 0, 0, 0}, {648, 1092, 4096, 0, 0, 0, 0}, {816, 325, 1285, 4112, 0, 0, 0}, {650, 1100, 4128, 0, 0, 0, 0}, {816, 327, 1295, 4144, 0, 0, 0}, {648, 1096, 4680, 0, 0, 0, 0}, {828, 329, 1285, 4143, 0, 0, 0}, {650, 1088, 4714, 0, 0, 0, 0}, {828, 331, 1295, 4111, 0, 0, 0}, {640, 1100, 4608, 0, 0, 0, 0}, {816, 333, 1285, 4386, 0, 0, 0}, {642, 1092, 4642, 0, 0, 0, 0}, {816, 335, 1295, 4352, 0, 0, 0}, {672, 1024, 4176, 0, 0, 0, 0}, {780, 337, 1028, 4369, 0, 0, 0}, {674, 1032, 4208, 0, 0, 0, 0}, {780, 339, 1036, 4403, 0, 0, 0}, {680, 1028, 4112, 0, 0, 0, 0}, {768, 341, 1024, 4096, 0, 0, 0}, {682, 1036, 4144, 0, 0, 0, 0}, {768, 343, 1032, 4128, 0, 0, 0}, {680, 1032, 4728, 0, 0, 0, 0}, {780, 345, 1036, 4159, 0, 0, 0}, {682, 1024, 4698, 0, 0, 0, 0}, {780, 347, 1028, 4127, 0, 0, 0}, {672, 1036, 4656, 0, 0, 0, 0}, {768, 349, 1032, 4386, 0, 0, 0}, {674, 1028, 4626, 0, 0, 0, 0}, {768, 351, 1024, 4352, 0, 0, 0}, {672, 1632, 4192, 0, 0, 0, 0}, {828, 353, 1083, 4369, 0, 0, 0}, {674, 1642, 4160, 0, 0, 0, 0}, {828, 355, 1075, 4403, 0, 0, 0}, {680, 1644, 4128, 0, 0, 0, 0}, {816, 357, 1087, 4144, 0, 0, 0}, {682, 1638, 4096, 0, 0, 0, 0}, {816, 359, 1079, 4112, 0, 0, 0}, {680, 1632, 4680, 0, 0, 0, 0}, {828, 361, 1075, 4111, 0, 0, 0}, {682, 1642, 4714, 0, 0, 0, 0}, {828, 363, 1083, 4143, 0, 0, 0}, {672, 1644, 4608, 0, 0, 0, 0}, {816, 365, 1079, 4386, 0, 0, 0}, {674, 1638, 4642, 0, 0, 0, 0}, {816, 367, 1087, 4352, 0, 0, 0}, {640, 1536, 4208, 0, 0, 0, 0}, {780, 369, 1290, 4369, 0, 0, 0}, {642, 1546, 4176, 0, 0, 0, 0}, {780, 371, 1280, 4403, 0, 0, 0}, {648, 1548, 4144, 0, 0, 0, 0}, {768, 373, 1290, 4128, 0, 0, 0}, {650, 1542, 4112, 0, 0, 0, 0}, {768, 375, 1280, 4096, 0, 0, 0}, {648, 1536, 4728, 0, 0, 0, 0}, {780, 377, 1290, 4127, 0, 0, 0}, {650, 1546, 4698, 0, 0, 0, 0}, {780, 379, 1280, 4159, 0, 0, 0}, {640, 1548, 4656, 0, 0, 0, 0}, {768, 381, 1290, 4386, 0, 0, 0}, {642, 1542, 4626, 0, 0, 0, 0}, {768, 383, 1280, 4352, 0, 0, 0}, {640, 1536, 4608, 0, 0, 0, 0}, {771, 382, 1285, 4369, 0, 0, 0}, {642, 1546, 4642, 0, 0, 0, 0}, {771, 380, 1295, 4403, 0, 0, 0}, {648, 1548, 4680, 0, 0, 0, 0}, {783, 378, 1285, 4143, 0, 0, 0}, {650, 1542, 4714, 0, 0, 0, 0}, {783, 376, 1295, 4111, 0, 0, 0}, {648, 1536, 4096, 0, 0, 0, 0}, {771, 374, 1285, 4112, 0, 0, 0}, {650, 1546, 4128, 0, 0, 0, 0}, {771, 372, 1295, 4144, 0, 0, 0}, {640, 1548, 4160, 0, 0, 0, 0}, {783, 370, 1285, 4386, 0, 0, 0}, {642, 1542, 4192, 0, 0, 0, 0}, {783, 368, 1295, 4352, 0, 0, 0}, {672, 1632, 4656, 0, 0, 0, 0}, {819, 366, 1083, 4369, 0, 0, 0}, {674, 1642, 4626, 0, 0, 0, 0}, {819, 364, 1075, 4403, 0, 0, 0}, {680, 1644, 4728, 0, 0, 0, 0}, {831, 362, 1087, 4159, 0, 0, 0}, {682, 1638, 4698, 0, 0, 0, 0}, {831, 360, 1079, 4127, 0, 0, 0}, {680, 1632, 4112, 0, 0, 0, 0}, {819, 358, 1075, 4096, 0, 0, 0}, {682, 1642, 4144, 0, 0, 0, 0}, {819, 356, 1083, 4128, 0, 0, 0}, {672, 1644, 4176, 0, 0, 0, 0}, {831, 354, 1079, 4386, 0, 0, 0}, {674, 1638, 4208, 0, 0, 0, 0}, {831, 352, 1087, 4352, 0, 0, 0}, {672, 1024, 4608, 0, 0, 0, 0}, {771, 350, 1028, 4369, 0, 0, 0}, {674, 1032, 4642, 0, 0, 0, 0}, {771, 348, 1036, 4403, 0, 0, 0}, {680, 1028, 4680, 0, 0, 0, 0}, {783, 346, 1024, 4111, 0, 0, 0}, {682, 1036, 4714, 0, 0, 0, 0}, {783, 344, 1032, 4143, 0, 0, 0}, {680, 1032, 4128, 0, 0, 0, 0}, {771, 342, 1036, 4144, 0, 0, 0}, {682, 1024, 4096, 0, 0, 0, 0}, {771, 340, 1028, 4112, 0, 0, 0}, {672, 1036, 4192, 0, 0, 0, 0}, {783, 338, 1032, 4386, 0, 0, 0}, {674, 1028, 4160, 0, 0, 0, 0}, {783, 336, 1024, 4352, 0, 0, 0}, {640, 1088, 4656, 0, 0, 0, 0}, {819, 334, 1290, 4369, 0, 0, 0}, {642, 1096, 4626, 0, 0, 0, 0}, {819, 332, 1280, 4403, 0, 0, 0}, {648, 1092, 4728, 0, 0, 0, 0}, {831, 330, 1290, 4127, 0, 0, 0}, {650, 1100, 4698, 0, 0, 0, 0}, {831, 328, 1280, 4159, 0, 0, 0}, {648, 1096, 4144, 0, 0, 0, 0}, {819, 326, 1290, 4128, 0, 0, 0}, {650, 1088, 4112, 0, 0, 0, 0}, {819, 324, 1280, 4096, 0, 0, 0}, {640, 1100, 4208, 0, 0, 0, 0}, {831, 322, 1290, 4386, 0, 0, 0}, {642, 1092, 4176, 0, 0, 0, 0}, {831, 320, 1280, 4352, 0, 0, 0}, {1216, 512, 5120, 0, 0, 0, 0}, {318, 514, 1285, 4369, 0, 0, 0}, {1224, 514, 5160, 0, 0, 0, 0}, {316, 512, 1295, 4111, 0, 0, 0}, {1220, 520, 5188, 0, 0, 0, 0}, {314, 522, 1285, 4437, 0, 0, 0}, {1228, 522, 5228, 0, 0, 0, 0}, {312, 520, 1295, 4175, 0, 0, 0}, {1224, 520, 4160, 0, 0, 0, 0}, {310, 522, 1285, 4176, 0, 0, 0}, {1216, 522, 4192, 0, 0, 0, 0}, {308, 520, 1295, 4420, 0, 0, 0}, {1228, 512, 4096, 0, 0, 0, 0}, {306, 514, 1285, 4112, 0, 0, 0}, {1220, 514, 4128, 0, 0, 0, 0}, {304, 512, 1295, 4352, 0, 0, 0}, {1152, 544, 5200, 0, 0, 0, 0}, {302, 780, 1365, 4369, 0, 0, 0}, {1160, 546, 5240, 0, 0, 0, 0}, {300, 780, 1375, 4127, 0, 0, 0}, {1156, 552, 5140, 0, 0, 0, 0}, {298, 768, 1365, 4437, 0, 0, 0}, {1164, 554, 5180, 0, 0, 0, 0}, {296, 768, 1375, 4191, 0, 0, 0}, {1160, 552, 4176, 0, 0, 0, 0}, {294, 780, 1365, 4160, 0, 0, 0}, {1152, 554, 4208, 0, 0, 0, 0}, {292, 780, 1375, 4420, 0, 0, 0}, {1164, 544, 4112, 0, 0, 0, 0}, {290, 768, 1365, 4096, 0, 0, 0}, {1156, 546, 4144, 0, 0, 0, 0}, {288, 768, 1375, 4352, 0, 0, 0}, {4320, 544, 1088, 0, 0, 0, 0}, {286, 546, 1092, 4369, 0, 0, 0}, {4288, 546, 1096, 0, 0, 0, 0}, {284, 544, 1360, 4403, 0, 0, 0}, {4256, 552, 1092, 0, 0, 0, 0}, {282, 816, 1088, 4437, 0, 0, 0}, {4224, 554, 1100, 0, 0, 0, 0}, {280, 816, 1360, 4471, 0, 0, 0}, {552, 1096, 4192, 0, 0, 0, 0}, {255, 278, 0, 0, 0, 0, 0}, {554, 1088, 4160, 0, 0, 0, 0}, {255, 276, 0, 0, 0, 0, 0}, {544, 1100, 4128, 0, 0, 0, 0}, {255, 274, 0, 0, 0, 0, 0}, {546, 1092, 4096, 0, 0, 0, 0}, {255, 272, 0, 0, 0, 0, 0}, {4336, 512, 1024, 0, 0, 0, 0}, {270, 514, 1028, 4369, 0, 0, 0}, {4304, 514, 1032, 0, 0, 0, 0}, {268, 512, 1280, 4403, 0, 0, 0}, {4272, 520, 1028, 0, 0, 0, 0}, {266, 768, 1024, 4437, 0, 0, 0}, {4240, 522, 1036, 0, 0, 0, 0}, {264, 768, 1280, 4471, 0, 0, 0}, {520, 1032, 4208, 0, 0, 0, 0}, {255, 262, 0, 0, 0, 0, 0}, {522, 1024, 4176, 0, 0, 0, 0}, {255, 260, 0, 0, 0, 0, 0}, {512, 1036, 4144, 0, 0, 0, 0}, {255, 258, 0, 0, 0, 0, 0}, {514, 1028, 4112, 0, 0, 0, 0}, {255, 256, 0, 0, 0, 0, 0}, {65280, 0, 0, 0, 0, 0, 0}, {2, 4, 16, 257, 0, 0, 0}, {2, 21760, 0, 0, 0, 0, 0}, {12, 48, 771, 0, 0, 0, 0}, {13056, 4, 0, 0, 0, 0, 0}, {10, 80, 1285, 0, 0, 0, 0}, {13056, 6, 0, 0, 0, 0, 0}, {8, 112, 1799, 0, 0, 0, 0}, {8, 30464, 0, 0, 0, 0, 0}, {48, 771, 6, 0, 0, 0, 0}, {10, 21760, 0, 0, 0, 0, 0}, {48, 771, 4, 0, 0, 0, 0}, {12, 13056, 0, 0, 0, 0, 0}, {2, 80, 1285, 0, 0, 0, 0}, {2, 4, 4352, 0, 0, 0, 0}, {240, 3855, 0, 0, 0, 0, 0}, {3840, 16, 0, 0, 0, 0, 0}, {34, 68, 4369, 0, 0, 0, 0}, {3840, 18, 0, 0, 0, 0, 0}, {32, 76, 4883, 0, 0, 0, 0}, {3840, 20, 0, 0, 0, 0, 0}, {42, 64, 5397, 0, 0, 0, 0}, {3840, 22, 0, 0, 0, 0, 0}, {40, 72, 5911, 0, 0, 0, 0}, {24, 48, 80, 5888, 0, 0, 0}, {6425, 42, 76, 0, 0, 0, 0}, {26, 48, 64, 5376, 0, 0, 0}, {6939, 40, 68, 0, 0, 0, 0}, {28, 32, 80, 4864, 0, 0, 0}, {7453, 34, 72, 0, 0, 0, 0}, {30, 34, 68, 4352, 0, 0, 0}, {7967, 32, 64, 0, 0, 0, 0}, {32, 24320, 0, 0, 0, 0, 0}, {12, 771, 18, 0, 0, 0, 0}, {34, 21760, 0, 0, 0, 0, 0}, {12, 771, 16, 0, 0, 0, 0}, {12, 36, 68, 5888, 0, 0, 0}, {3855, 42, 90, 0, 0, 0, 0}, {12, 38, 64, 5376, 0, 0, 0}, {3855, 40, 80, 0, 0, 0, 0}, {40, 24320, 0, 0, 0, 0, 0}, {12, 771, 22, 0, 0, 0, 0}, {42, 21760, 0, 0, 0, 0, 0}, {12, 771, 20, 0, 0, 0, 0}, {12, 32, 64, 4864, 0, 0, 0}, {3855, 34, 90, 0, 0, 0, 0}, {12, 34, 68, 4352, 0, 0, 0}, {3855, 32, 80, 0, 0, 0, 0}, {3840, 48, 0, 0, 0, 0, 0}, {2, 68, 4369, 0, 0, 0, 0}, {2, 1280, 16, 0, 0, 0, 0}, {204, 13107, 0, 0, 0, 0, 0}, {8, 52, 68, 1792, 0, 0, 0}, {10, 13621, 96, 0, 0, 0, 0}, {10, 54, 80, 1280, 0, 0, 0}, {8, 14135, 64, 0, 0, 0, 0}, {8, 48, 64, 1792, 0, 0, 0}, {10, 13107, 102, 0, 0, 0, 0}, {10, 48, 80, 1280, 0, 0, 0}, {8, 13107, 68, 0, 0, 0, 0}, {3840, 60, 0, 0, 0, 0, 0}, {2, 64, 5397, 0, 0, 0, 0}, {2, 1280, 20, 0, 0, 0, 0}, {192, 16191, 0, 0, 0, 0, 0}, {16128, 64, 0, 0, 0, 0, 0}, {10, 1285, 20, 0, 0, 0, 0}, {10, 34, 66, 5888, 0, 0, 0}, {3855, 60, 76, 0, 0, 0, 0}, {13056, 68, 0, 0, 0, 0, 0}, {10, 1285, 16, 0, 0, 0, 0}, {10, 32, 70, 4864, 0, 0, 0}, {3855, 48, 72, 0, 0, 0, 0}, {16128, 72, 0, 0, 0, 0, 0}, {10, 1285, 22, 0, 0, 0, 0}, {10, 32, 64, 5376, 0, 0, 0}, {3855, 60, 68, 0, 0, 0, 0}, {13056, 76, 0, 0, 0, 0, 0}, {10, 1285, 18, 0, 0, 0, 0}, {10, 34, 68, 4352, 0, 0, 0}, {3855, 48, 64, 0, 0, 0, 0}, {3840, 80, 0, 0, 0, 0, 0}, {34, 4, 4369, 0, 0, 0, 0}, {8, 34, 82, 1792, 0, 0, 0}, {12, 13107, 96, 0, 0, 0, 0}, {768, 4, 16, 0, 0, 0, 0}, {170, 21845, 0, 0, 0, 0, 0}, {12, 48, 768, 86, 0, 0, 0}, {8, 32, 22359, 0, 0, 0, 0}, {8, 32, 80, 1792, 0, 0, 0}, {12, 13107, 102, 0, 0, 0, 0}, {3840, 90, 0, 0, 0, 0, 0}, {32, 4, 4883, 0, 0, 0, 0}, {12, 48, 768, 80, 0, 0, 0}, {8, 34, 21845, 0, 0, 0, 0}, {768, 4, 18, 0, 0, 0, 0}, {160, 24415, 0, 0, 0, 0, 0}, {16128, 96, 0, 0, 0, 0, 0}, {8, 1799, 22, 0, 0, 0, 0}, {8, 34, 64, 5376, 0, 0, 0}, {3855, 60, 80, 0, 0, 0, 0}, {8, 32, 68, 4864, 0, 0, 0}, {3855, 48, 90, 0, 0, 0, 0}, {13056, 102, 0, 0, 0, 0, 0}, {8, 1799, 16, 0, 0, 0, 0}, {8, 32, 64, 5888, 0, 0, 0}, {3855, 60, 90, 0, 0, 0, 0}, {16128, 106, 0, 0, 0, 0, 0}, {8, 1799, 20, 0, 0, 0, 0}, {13056, 108, 0, 0, 0, 0, 0}, {8, 1799, 18, 0, 0, 0, 0}, {8, 34, 68, 4352, 0, 0, 0}, {3855, 48, 80, 0, 0, 0, 0}, {3840, 112, 0, 0, 0, 0, 0}, {34, 6, 4369, 0, 0, 0, 0}, {10, 34, 80, 1280, 0, 0, 0}, {12, 13107, 64, 0, 0, 0, 0}, {12, 48, 768, 68, 0, 0, 0}, {10, 32, 21845, 0, 0, 0, 0}, {768, 6, 16, 0, 0, 0, 0}, {136, 30583, 0, 0, 0, 0, 0}, {3840, 120, 0, 0, 0, 0, 0}, {32, 6, 4883, 0, 0, 0, 0}, {10, 32, 80, 1280, 0, 0, 0}, {12, 13107, 68, 0, 0, 0, 0}, {12, 48, 768, 64, 0, 0, 0}, {10, 34, 21845, 0, 0, 0, 0}, {768, 6, 18, 0, 0, 0, 0}, {128, 32639, 0, 0, 0, 0, 0}, {128, 32512, 0, 0, 0, 0, 0}, {771, 6, 18, 0, 0, 0, 0}, {10, 34, 21760, 0, 0, 0, 0}, {12, 48, 771, 64, 0, 0, 0}, {12, 13056, 68, 0, 0, 0, 0}, {10, 32, 80, 1285, 0, 0, 0}, {32, 6, 4864, 0, 0, 0, 0}, {3855, 120, 0, 0, 0, 0, 0}, {136, 30464, 0, 0, 0, 0, 0}, {771, 6, 16, 0, 0, 0, 0}, {10, 32, 21760, 0, 0, 0, 0}, {12, 48, 771, 68, 0, 0, 0}, {12, 13056, 64, 0, 0, 0, 0}, {10, 34, 80, 1285, 0, 0, 0}, {34, 6, 4352, 0, 0, 0, 0}, {3855, 112, 0, 0, 0, 0, 0}, {3840, 48, 80, 0, 0, 0, 0}, {8, 34, 68, 4369, 0, 0, 0}, {8, 1792, 18, 0, 0, 0, 0}, {13107, 108, 0, 0, 0, 0, 0}, {8, 1792, 20, 0, 0, 0, 0}, {16191, 106, 0, 0, 0, 0, 0}, {3840, 60, 90, 0, 0, 0, 0}, {8, 32, 64, 5911, 0, 0, 0}, {8, 1792, 16, 0, 0, 0, 0}, {13107, 102, 0, 0, 0, 0, 0}, {3840, 48, 90, 0, 0, 0, 0}, {8, 32, 68, 4883, 0, 0, 0}, {3840, 60, 80, 0, 0, 0, 0}, {8, 34, 64, 5397, 0, 0, 0}, {8, 1792, 22, 0, 0, 0, 0}, {16191, 96, 0, 0, 0, 0, 0}, {160, 24320, 0, 0, 0, 0, 0}, {771, 4, 18, 0, 0, 0, 0}, {8, 34, 21760, 0, 0, 0, 0}, {12, 48, 771, 80, 0, 0, 0}, {32, 4, 4864, 0, 0, 0, 0}, {3855, 90, 0, 0, 0, 0, 0}, {12, 13056, 102, 0, 0, 0, 0}, {8, 32, 80, 1799, 0, 0, 0}, {8, 32, 22272, 0, 0, 0, 0}, {12, 48, 771, 86, 0, 0, 0}, {170, 21760, 0, 0, 0, 0, 0}, {771, 4, 16, 0, 0, 0, 0}, {12, 13056, 96, 0, 0, 0, 0}, {8, 34, 82, 1799, 0, 0, 0}, {34, 4, 4352, 0, 0, 0, 0}, {3855, 80, 0, 0, 0, 0, 0}, {3840, 48, 64, 0, 0, 0, 0}, {10, 34, 68, 4369, 0, 0, 0}, {10, 1280, 18, 0, 0, 0, 0}, {13107, 76, 0, 0, 0, 0, 0}, {3840, 60, 68, 0, 0, 0, 0}, {10, 32, 64, 5397, 0, 0, 0}, {10, 1280, 22, 0, 0, 0, 0}, {16191, 72, 0, 0, 0, 0, 0}, {3840, 48, 72, 0, 0, 0, 0}, {10, 32, 70, 4883, 0, 0, 0}, {10, 1280, 16, 0, 0, 0, 0}, {13107, 68, 0, 0, 0, 0, 0}, {3840, 60, 76, 0, 0, 0, 0}, {10, 34, 66, 5911, 0, 0, 0}, {10, 1280, 20, 0, 0, 0, 0}, {16191, 64, 0, 0, 0, 0, 0}, {192, 16128, 0, 0, 0, 0, 0}, {2, 1285, 20, 0, 0, 0, 0}, {2, 64, 5376, 0, 0, 0, 0}, {3855, 60, 0, 0, 0, 0, 0}, {8, 13056, 68, 0, 0, 0, 0}, {10, 48, 80, 1285, 0, 0, 0}, {10, 13056, 102, 0, 0, 0, 0}, {8, 48, 64, 1799, 0, 0, 0}, {8, 14080, 64, 0, 0, 0, 0}, {10, 54, 80, 1285, 0, 0, 0}, {10, 13568, 96, 0, 0, 0, 0}, {8, 52, 68, 1799, 0, 0, 0}, {204, 13056, 0, 0, 0, 0, 0}, {2, 1285, 16, 0, 0, 0, 0}, {2, 68, 4352, 0, 0, 0, 0}, {3855, 48, 0, 0, 0, 0, 0}, {3840, 32, 80, 0, 0, 0, 0}, {12, 34, 68, 4369, 0, 0, 0}, {3840, 34, 90, 0, 0, 0, 0}, {12, 32, 64, 4883, 0, 0, 0}, {12, 768, 20, 0, 0, 0, 0}, {42, 21845, 0, 0, 0, 0, 0}, {12, 768, 22, 0, 0, 0, 0}, {40, 24415, 0, 0, 0, 0, 0}, {3840, 40, 80, 0, 0, 0, 0}, {12, 38, 64, 5397, 0, 0, 0}, {3840, 42, 90, 0, 0, 0, 0}, {12, 36, 68, 5911, 0, 0, 0}, {12, 768, 16, 0, 0, 0, 0}, {34, 21845, 0, 0, 0, 0, 0}, {12, 768, 18, 0, 0, 0, 0}, {32, 24415, 0, 0, 0, 0, 0}, {7936, 32, 64, 0, 0, 0, 0}, {30, 34, 68, 4369, 0, 0, 0}, {7424, 34, 72, 0, 0, 0, 0}, {28, 32, 80, 4883, 0, 0, 0}, {6912, 40, 68, 0, 0, 0, 0}, {26, 48, 64, 5397, 0, 0, 0}, {6400, 42, 76, 0, 0, 0, 0}, {24, 48, 80, 5911, 0, 0, 0}, {40, 72, 5888, 0, 0, 0, 0}, {3855, 22, 0, 0, 0, 0, 0}, {42, 64, 5376, 0, 0, 0, 0}, {3855, 20, 0, 0, 0, 0, 0}, {32, 76, 4864, 0, 0, 0, 0}, {3855, 18, 0, 0, 0, 0, 0}, {34, 68, 4352, 0, 0, 0, 0}, {3855, 16, 0, 0, 0, 0, 0}, {240, 3840, 0, 0, 0, 0, 0}, {2, 4, 4369, 0, 0, 0, 0}, {2, 80, 1280, 0, 0, 0, 0}, {12, 13107, 0, 0, 0, 0, 0}, {48, 768, 4, 0, 0, 0, 0}, {10, 21845, 0, 0, 0, 0, 0}, {48, 768, 6, 0, 0, 0, 0}, {8, 30583, 0, 0, 0, 0, 0}, {8, 112, 1792, 0, 0, 0, 0}, {13107, 6, 0, 0, 0, 0, 0}, {10, 80, 1280, 0, 0, 0, 0}, {13107, 4, 0, 0, 0, 0, 0}, {12, 48, 768, 0, 0, 0, 0}, {2, 21845, 0, 0, 0, 0, 0}, {2, 4, 16, 256, 0, 0, 0}, {65535, 0, 0, 0, 0, 0, 0}, }; END_NAMESPACE_PBORIGB BRiAl-1.2.12/groebner/src/groebner.cc000066400000000000000000000003501436062512100172300ustar00rootroot00000000000000/* * groebner.cc * PolyBoRi * * Created by Michael Brickenstein on 19.04.06. * Copyright 2006 The PolyBoRi Team. See LICENSE file. * */ #include #include BRiAl-1.2.12/groebner/src/groebner_alg.cc000066400000000000000000000332211436062512100200560ustar00rootroot00000000000000/* * groebner_alg.cc * PolyBoRi * * Created by Michael Brickenstein on 20.04.06. * Copyright 2006 The PolyBoRi Team. See LICENSE file. * */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define DANGEROUS_FIXED_PATH 1 #include BEGIN_NAMESPACE_PBORIGB //static MonomialSet divide_monomial_divisors_out(const BooleSet& s, const Monomial& lm); //Variant for navigaor template MonomialSet mod_var_set(const CacheMgr& cache_mgr, MonomialSet::navigator a, MonomialSet::navigator v){ idx_type a_index=*a; idx_type v_index=*v; while((v_indexa_index){ if (v.isConstant()) return cache_mgr.generate(a); MonomialSet::navigator cached = cache_mgr.find(a, v); if (cached.isValid()) return cache_mgr.generate(cached); MonomialSet::navigator a_e=a.elseBranch(); MonomialSet::navigator a_t=a.thenBranch(); MonomialSet a0=mod_var_set(cache_mgr, a_e, v); MonomialSet a1=mod_var_set(cache_mgr, a_t, v); MonomialSet result(a0.ring()); if (a1.isZero()) result=a0; else { if ((a1.navigation()==a_t)&&(a0.navigation()==a_e)) result=cache_mgr.generate(a); else result=MonomialSet(a_index,a1,a0); } cache_mgr.insert(a,v,result.navigation()); return result; } //so v_index==a_index and v.IsConstant return cache_mgr.generate(a); } // Variant for MonomialSet MonomialSet mod_var_set(const MonomialSet& as, const MonomialSet& vs) { MonomialSet::navigator a=as.navigation(); MonomialSet::navigator v=vs.navigation(); typedef PBORI::CacheManager cache_mgr_type; cache_mgr_type cache_mgr(as.ring()); return mod_var_set(cache_mgr, a, v); } // Forward declaration MonomialSet mod_deg2_set(const MonomialSet& as, const MonomialSet &vs); template MonomialSet mod_deg2_set(const CacheMgr& cache_mgr, MonomialSet::navigator a, MonomialSet::navigator v){ idx_type a_index=*a; idx_type v_index=*v; if (a.isConstant()) return cache_mgr.generate(a); while((v_index=*v)<(a_index=*a)){ v.incrementElse(); } if (v.isConstant()) return cache_mgr.generate(a); MonomialSet::navigator cached = cache_mgr.find(a, v); if (cached.isValid()) return cache_mgr.generate(cached); MonomialSet result(cache_mgr.zero()); if (a_index==v_index){ MonomialSet tmp = mod_var_set(cache_mgr.generate(a.thenBranch()), cache_mgr.generate(v.thenBranch())); result=MonomialSet(a_index, mod_deg2_set(cache_mgr, tmp.navigation(), v.elseBranch()), mod_deg2_set(cache_mgr, a.elseBranch(), v.elseBranch()) ); } else { PBORI_ASSERT(v_index>a_index); result=MonomialSet(a_index, mod_deg2_set(cache_mgr, a.thenBranch(), v), mod_deg2_set(cache_mgr, a.elseBranch(), v) ); } cache_mgr.insert(a,v,result.navigation()); return result; } // Variant for MonomialSet MonomialSet mod_deg2_set(const MonomialSet& as, const MonomialSet &vs){ MonomialSet::navigator a=as.navigation(); MonomialSet::navigator v=vs.navigation(); typedef PBORI::CacheManager cache_mgr_type; cache_mgr_type cache_mgr(as.ring()); return mod_deg2_set(cache_mgr, a, v); } /// assumes that divisibility condition is fullfilled Polynomial reduce_by_monom(const Polynomial& p, const Monomial& m){ if (m.deg()==1){ //cout<<"branch 1\n"; //cout.flush(); Monomial::const_iterator it=m.begin(); return Polynomial(BooleSet(p).subset0(*it)); } #if 0 //buggy variant 1 return p%m; #endif #if 1 //working variant Monomial::const_iterator it=m.begin(); Monomial::const_iterator end=m.end(); BooleSet dividing_terms //=BooleSet(p/m); =BooleSet(p); while(it!=end){ dividing_terms=dividing_terms.subset1(*it); it++; } #endif #if 0 //buggy variant 2 if (p==Polynomial(m)) return p.ring().zero(); BooleSet dividing_terms =BooleSet(p/m); #endif //fast multiply back //cout<<"branch2\n"; //cout.flush(); dividing_terms = dividing_terms.unateProduct(m.diagram()); return Polynomial(BooleSet(p).diff(dividing_terms)); //return Polynomial(BooleSet(p).diff(BooleSet(m*Polynomial(dividing_terms)))); } Polynomial reduce_complete(const Polynomial& p, const Polynomial& reductor){ Monomial p_lead=p.lead(); Monomial reductor_lead=reductor.lead(); Polynomial reductor_tail=reductor-reductor_lead; //Polynomial p_reducible_base=p; Monomial::const_iterator it=reductor_lead.begin(); Monomial::const_iterator end=reductor_lead.end(); BooleSet dividing_terms //=BooleSet(p/m); =BooleSet(p); while(it!=end){ dividing_terms=dividing_terms.subset1(*it); it++; } Polynomial canceled_lead(BooleSet(p).diff(dividing_terms.unateProduct(reductor_lead.diagram()))); Polynomial::const_iterator it_r=reductor_tail.begin(); Polynomial::const_iterator end_r=reductor_tail.end(); Polynomial res=canceled_lead; while(it_r!=end_r){ Monomial m=(*it_r); Monomial b_p_gcd=m.GCD(reductor_lead); Polynomial first_mult_half=dividing_terms.unateProduct(BooleSet(Polynomial(b_p_gcd))); Polynomial multiplied=(m/b_p_gcd)*first_mult_half; res+=multiplied; ++it_r; } return res; } Polynomial reduce_complete(const Polynomial &p, const PolyEntry& reductor, wlen_type & len){ //cout<<"red complete"<& table){ if (p.isConstant()) return p; int index=*(p.navigation()); int index_mapped=table[index]; #if 0 return dd_backward_transform(p.navigation(), p.ring().zero(), mapped_new_node, Variable, Monomial, Polynomial>(table), integral_constant()); #else MonomialSet s1=p.diagram().subset1(index); MonomialSet s0=p.diagram().subset0(index); if (s1!=s0){ s1=translate_indices(s1,table); s1=s1.change(index_mapped); s0=translate_indices(s0,table); } else { s0=translate_indices(s0,table); s1=s0.change(index_mapped); } return s1.unite(s0); //we can assume that index_mapped does not occur in the translated subpolynomial, in which index index does not occurr // return translate_indices(p.diagram().subset1(index),table).diagram().change(index_mapped).unite( // translate_indices(p.diagram().subset0(index), table)); #endif } //static Monomial oper(int i){ // return Monomial(Variable(i)); //} // static MonomialSet divide_monomial_divisors_out_old(const MonomialSet& s, const Monomial& lm){ // /// deactivated, because segfaults on SatTestCase, AD // /// return s.existAbstract(lm.diagram()); // /**/ // MonomialSet m=s; // Monomial::const_iterator it_lm=lm.begin(); // Monomial::const_iterator end_lm=lm.end(); // while(it_lm!=end_lm){ // idx_type i=*it_lm; // m=m.subset0(i).unite(m.subset1(i)); // it_lm++; // } // return m;/**/ // } // static MonomialSet do_divide_monomial_divisors_out(const MonomialSet& s, Monomial::const_iterator it, Monomial::const_iterator end){ // if(it==end) return s; // if (s.isZero()) return s; // Monomial::const_iterator itpp=it; // itpp++; // return (do_divide_monomial_divisors_out(s.subset0(*it),itpp,end).unite(do_divide_monomial_divisors_out(s.subset1(*it),itpp,end))); // } // static MonomialSet divide_monomial_divisors_out(const BooleSet& s, const Monomial& lm){ // return do_divide_monomial_divisors_out(s,lm.begin(),lm.end()); // } // Core function which uses the manager given as firt argument template MonomialSet recursively_insert(const MgrType& mgr, MonomialSet::navigator p, idx_type idx, MonomialSet::navigator m){ //MonomialSet::navigation nav=m.navigator(); if (idx>*m){ return MonomialSet(*m,recursively_insert(mgr, p,idx,m.thenBranch()), MonomialSet( m.elseBranch(), MonomialSet::ring_type(mgr))); } else{ PBORI_ASSERT(idx<*m); return MonomialSet(idx, m, p, MonomialSet::ring_type(mgr)); } } // Wrapper for external use MonomialSet recursively_insert(MonomialSet::navigator p, idx_type idx, MonomialSet mset){ return recursively_insert(mset.ring(), p, idx, mset.navigation()); } template Polynomial map_every_x_to_x_plus_one(const CacheMgr& cache_mgr, MonomialSet::navigator nav){ if (nav.isConstant()) return cache_mgr.generate(nav); idx_type idx=*nav; MonomialSet::navigator cached=cache_mgr.find(nav); if (cached.isValid() ){ return cache_mgr.generate(cached); } Polynomial then_mapped = map_every_x_to_x_plus_one(cache_mgr, nav.thenBranch()); Polynomial res0 = map_every_x_to_x_plus_one(cache_mgr, nav.elseBranch()) + Polynomial(then_mapped); Polynomial res = MonomialSet(idx, map_every_x_to_x_plus_one(cache_mgr, nav.thenBranch()).diagram(), res0.diagram()); cache_mgr.insert(nav,res.diagram().navigation()); return res; } Polynomial map_every_x_to_x_plus_one(Polynomial p){ MonomialSet::navigator nav=p.diagram().navigation(); typedef PBORI::CacheManager cache_mgr_type; cache_mgr_type cache_mgr(p.ring()); return map_every_x_to_x_plus_one(cache_mgr, nav); } Polynomial mult_fast_sim(const std::vector& vec, const BoolePolyRing& ring){ std::vector new_vec; int i; int s=vec.size(); Polynomial::idx_type index=-1; for(i=0;i s0_vec(s, ring); std::vector s1_vec(s, ring); for(i=0;i full_implication_gb(const Polynomial & p, CacheManager& cache, GroebnerStrategy& strat_param){ bool succ; CacheManager::res_type cache_res=cache.lookup(p,succ); if (!(succ)){ GroebnerStrategy strat(p.ring()); strat.cache=strat_param.cache; //strat.log("Recursive call"); strat.optAllowRecursion=true; strat.addGenerator(p); strat.symmGB_F2(); std::vector res=strat.minimalizeAndTailReduce(); cache.insert(p,res); return res; } else { strat_param.log("used dynamic cache"); std::vector res(*cache_res); return res; } } END_NAMESPACE_PBORIGB BRiAl-1.2.12/groebner/src/interpolate.cc000066400000000000000000000234341436062512100177630ustar00rootroot00000000000000// // Interpolation // // Created by Michael Brickenstein on 2007-07-02. // Copyright (c) 2007 The PolyBoRi Team. See LICENSE file. #include #include #include #include #include #include #include #include #include BEGIN_NAMESPACE_PBORIGB std::vector variety_lex_groebner_basis(const MonomialSet& points,const Monomial & variables){ MonomialSet leads=variety_lex_leading_terms(points,variables); std::vector res; MonomialSet::const_iterator it=leads.begin(); MonomialSet::const_iterator end=leads.end(); while(it!=end){ Monomial lm=*it; Polynomial p=nf_lex_points(lm,points); res.push_back(lm+p); ++it; } return res; } MonomialSet nf_lex_points(const Polynomial& f,const MonomialSet& p){ MonomialSet z=zeros(f,p); return interpolate_smallest_lex(z,p.diff(z)); } MonomialSet gen_random_subset(const BoolePolyRing& ring, const std::vector& vec,bool_gen_type& bit_gen){ std::vector chosen; std::vector::const_iterator it=vec.begin(); std::vector::const_iterator end=vec.end(); while(it!=end){ if (bit_gen()){ chosen.push_back(*it); } ++it; } return add_up_monomials(chosen, ring.zero()).diagram(); } MonomialSet random_interpolation(const MonomialSet& as_set, const std::vector& as_vector, bool_gen_type& bit_gen){ MonomialSet s1=gen_random_subset(as_set.ring(), as_vector,bit_gen); return interpolate_smallest_lex(as_set.diff(s1),s1); } MonomialSet variety_lex_leading_terms(const MonomialSet& points, const Monomial& variables){ base_generator_type generator(static_cast(std::time(0))); std::vector points_vec(points.size(), points.ring()); std::copy(points.begin(),points.end(),points_vec.begin()); bool_gen_type bit_gen(generator,distribution_type(0,1)); MonomialSet vars_div=variables.divisors(); MonomialSet standards(points.ring()); if (points!=vars_div){ standards = points.ring().one(); } unsigned int len_standards=standards.size(); unsigned int n_points=points.size(); MonomialSet standards_old=standards; while (len_standards cache_mgr_type; cache_mgr_type cache_mgr(candidates.ring()); MonomialSet::navigator cached=cache_mgr.find(p_nav, can_nav); if (cached.isValid() ){ return cache_mgr.generate(cached); } s=MonomialSet(cache_mgr.generate(p_nav)); MonomialSet p1=s.subset1(index); MonomialSet p0=s.subset0(index); MonomialSet c1=candidates.subset1(index); MonomialSet c0=candidates.subset0(index); MonomialSet z00=zeros(p0,c0); MonomialSet z01=zeros(p0,c1); MonomialSet z11=zeros(p1,c1); //MonomialSet then_branch=z01.intersect(z11).unite(c1.diff(z01.unite(z11))); MonomialSet then_branch=c1.diff(z01.Xor(z11)); PBORI_ASSERT (*then_branch.navigation()>index); PBORI_ASSERT (*z00.navigation()>index); result=MonomialSet(index,then_branch,z00); cache_mgr.insert(p_nav,can_nav,result.navigation()); return result; } Polynomial interpolate(MonomialSet to_zero,MonomialSet to_one){ //std::cout<<"to_one:"<<(Polynomial) to_one<<"to_zero:"<<(Polynomial) to_zero< cache_mgr_type; cache_mgr_type cache_mgr(to_zero.ring()); if (to_zero.isZero()) return cache_mgr.one(); if (to_one.isZero()) return cache_mgr.zero(); MonomialSet::navigator cached=cache_mgr.find(to_zero.navigation(), to_one.navigation()); if (cached.isValid() ){ return cache_mgr.generate(cached); } idx_type index=std::min(*to_zero.navigation(),*to_one.navigation()); //std::cout<<"else"< cache_mgr_type; cache_mgr_type cache_mgr; if (to_zero.isZero()) return cache_mgr.one(); if (to_one.isZero()) return cache_mgr.zero(); MonomialSet::navigator cached=cache_mgr.find(to_zero.navigation(), to_one.navigation()); if (cached.isValid() ){ return cached; } idx_type index=std::min(*to_zero.navigation(),*to_one.navigation()); MonomialSet to_zero1=to_zero.subset1(index); MonomialSet to_zero0=to_zero.subset0(index); MonomialSet to_one1=to_one.subset1(index); MonomialSet to_one0=to_one.subset0(index); MonomialSet to_zerou=to_zero1.unite(to_zero0); MonomialSet to_oneu=to_one1.unite(to_one0); MonomialSet result; if (to_zerou.intersect(to_oneu).isZero()){ //std::cout<<"then branch"< cache_mgr_type; cache_mgr_type cache_mgr(to_zero.ring()); if (to_zero.isZero()) return cache_mgr.one(); if (to_one.isZero()) return cache_mgr.zero(); MonomialSet::navigator cached=cache_mgr.find(to_zero.navigation(), to_one.navigation()); if (cached.isValid() ){ return cache_mgr.generate(cached); } idx_type index=std::min(*to_zero.navigation(),*to_one.navigation()); MonomialSet to_zero1=to_zero.subset1(index); MonomialSet to_zero0=to_zero.subset0(index); MonomialSet to_one1=to_one.subset1(index); MonomialSet to_one0=to_one.subset0(index); MonomialSet to_zerou=to_zero1.unite(to_zero0); MonomialSet to_oneu=to_one1.unite(to_one0); MonomialSet result(to_zero.ring()); if (to_zerou.intersect(to_oneu).isZero()){ //std::cout<<"then branch"< cache_mgr_type; cache_mgr_type cache_mgr(m.ring()); MonomialSet::navigator cached=cache_mgr.find(nav); if (cached.isValid() ){ return cache_mgr.generate(cached); } MonomialSet::navigator tb=nav.thenBranch(); MonomialSet::navigator eb=nav.elseBranch(); MonomialSet itb=include_divisors(cache_mgr.generate(tb)); MonomialSet r0=include_divisors(cache_mgr.generate(eb)).unite(itb); MonomialSet result=MonomialSet(*nav,itb,r0); cache_mgr.insert(nav,result.navigation()); return result; } END_NAMESPACE_PBORIGB BRiAl-1.2.12/groebner/src/lp4data.cc000066400000000000000000107217351436062512100170000ustar00rootroot00000000000000/* Copyright (c) 2005-2007 by The PolyBoRi Team */ // The content of this file is intellectual property of Michael Brickenstein // Note, that choosing GPL3+ we made a clear statement against software // patents. // The method using this tables is actually described in // http://arxiv.org/abs/0801.1177 #include BEGIN_NAMESPACE_PBORIGB const unsigned short lp4var_data[][7]={ {0, 0, 0, 0, 0, 0, 0}, {1, 0, 0, 0, 0, 0, 0}, {2, 0, 0, 0, 0, 0, 0}, {3, 0, 0, 0, 0, 0, 0}, {4, 0, 0, 0, 0, 0, 0}, {5, 0, 0, 0, 0, 0, 0}, {6, 0, 0, 0, 0, 0, 0}, {7, 0, 0, 0, 0, 0, 0}, {8, 0, 0, 0, 0, 0, 0}, {3, 5, 0, 0, 0, 0, 0}, {10, 0, 0, 0, 0, 0, 0}, {3, 4, 0, 0, 0, 0, 0}, {12, 0, 0, 0, 0, 0, 0}, {2, 5, 0, 0, 0, 0, 0}, {2, 4, 0, 0, 0, 0, 0}, {15, 0, 0, 0, 0, 0, 0}, {16, 0, 0, 0, 0, 0, 0}, {17, 0, 0, 0, 0, 0, 0}, {18, 0, 0, 0, 0, 0, 0}, {19, 0, 0, 0, 0, 0, 0}, {20, 0, 0, 0, 0, 0, 0}, {21, 0, 0, 0, 0, 0, 0}, {22, 0, 0, 0, 0, 0, 0}, {23, 0, 0, 0, 0, 0, 0}, {24, 48, 80, 0, 0, 0, 0}, {25, 51, 85, 0, 0, 0, 0}, {26, 48, 64, 0, 0, 0, 0}, {27, 51, 68, 0, 0, 0, 0}, {28, 32, 80, 0, 0, 0, 0}, {29, 34, 85, 0, 0, 0, 0}, {30, 34, 68, 0, 0, 0, 0}, {31, 32, 64, 0, 0, 0, 0}, {32, 0, 0, 0, 0, 0, 0}, {3, 17, 0, 0, 0, 0, 0}, {34, 0, 0, 0, 0, 0, 0}, {3, 16, 0, 0, 0, 0, 0}, {12, 36, 68, 0, 0, 0, 0}, {15, 37, 85, 0, 0, 0, 0}, {12, 38, 64, 0, 0, 0, 0}, {15, 39, 80, 0, 0, 0, 0}, {40, 0, 0, 0, 0, 0, 0}, {3, 21, 0, 0, 0, 0, 0}, {42, 0, 0, 0, 0, 0, 0}, {3, 20, 0, 0, 0, 0, 0}, {12, 32, 64, 0, 0, 0, 0}, {15, 34, 85, 0, 0, 0, 0}, {12, 34, 68, 0, 0, 0, 0}, {15, 32, 80, 0, 0, 0, 0}, {48, 0, 0, 0, 0, 0, 0}, {2, 17, 0, 0, 0, 0, 0}, {2, 16, 0, 0, 0, 0, 0}, {51, 0, 0, 0, 0, 0, 0}, {8, 52, 68, 0, 0, 0, 0}, {10, 53, 85, 0, 0, 0, 0}, {10, 54, 80, 0, 0, 0, 0}, {8, 55, 64, 0, 0, 0, 0}, {8, 48, 64, 0, 0, 0, 0}, {10, 51, 85, 0, 0, 0, 0}, {10, 48, 80, 0, 0, 0, 0}, {8, 51, 68, 0, 0, 0, 0}, {60, 0, 0, 0, 0, 0, 0}, {2, 21, 0, 0, 0, 0, 0}, {2, 20, 0, 0, 0, 0, 0}, {63, 0, 0, 0, 0, 0, 0}, {64, 0, 0, 0, 0, 0, 0}, {5, 17, 0, 0, 0, 0, 0}, {66, 0, 0, 0, 0, 0, 0}, {67, 0, 0, 0, 0, 0, 0}, {68, 0, 0, 0, 0, 0, 0}, {5, 16, 0, 0, 0, 0, 0}, {70, 0, 0, 0, 0, 0, 0}, {71, 0, 0, 0, 0, 0, 0}, {72, 0, 0, 0, 0, 0, 0}, {19, 5, 0, 0, 0, 0, 0}, {10, 32, 64, 0, 0, 0, 0}, {15, 51, 68, 0, 0, 0, 0}, {76, 0, 0, 0, 0, 0, 0}, {18, 5, 0, 0, 0, 0, 0}, {10, 34, 68, 0, 0, 0, 0}, {15, 48, 64, 0, 0, 0, 0}, {80, 0, 0, 0, 0, 0, 0}, {4, 17, 0, 0, 0, 0, 0}, {82, 0, 0, 0, 0, 0, 0}, {83, 0, 0, 0, 0, 0, 0}, {4, 16, 0, 0, 0, 0, 0}, {85, 0, 0, 0, 0, 0, 0}, {86, 0, 0, 0, 0, 0, 0}, {87, 0, 0, 0, 0, 0, 0}, {8, 32, 80, 0, 0, 0, 0}, {12, 51, 85, 0, 0, 0, 0}, {90, 0, 0, 0, 0, 0, 0}, {19, 4, 0, 0, 0, 0, 0}, {12, 48, 80, 0, 0, 0, 0}, {8, 34, 85, 0, 0, 0, 0}, {18, 4, 0, 0, 0, 0, 0}, {95, 0, 0, 0, 0, 0, 0}, {96, 0, 0, 0, 0, 0, 0}, {7, 17, 0, 0, 0, 0, 0}, {8, 34, 64, 0, 0, 0, 0}, {15, 51, 80, 0, 0, 0, 0}, {8, 32, 68, 0, 0, 0, 0}, {15, 48, 85, 0, 0, 0, 0}, {102, 0, 0, 0, 0, 0, 0}, {7, 16, 0, 0, 0, 0, 0}, {8, 32, 64, 0, 0, 0, 0}, {15, 51, 85, 0, 0, 0, 0}, {106, 0, 0, 0, 0, 0, 0}, {19, 20, 0, 0, 0, 0, 0}, {108, 0, 0, 0, 0, 0, 0}, {18, 21, 0, 0, 0, 0, 0}, {8, 34, 68, 0, 0, 0, 0}, {15, 48, 80, 0, 0, 0, 0}, {112, 0, 0, 0, 0, 0, 0}, {6, 17, 0, 0, 0, 0, 0}, {10, 34, 80, 0, 0, 0, 0}, {12, 51, 64, 0, 0, 0, 0}, {12, 48, 68, 0, 0, 0, 0}, {10, 32, 85, 0, 0, 0, 0}, {6, 16, 0, 0, 0, 0, 0}, {119, 0, 0, 0, 0, 0, 0}, {120, 0, 0, 0, 0, 0, 0}, {19, 21, 0, 0, 0, 0, 0}, {10, 32, 80, 0, 0, 0, 0}, {12, 51, 68, 0, 0, 0, 0}, {12, 48, 64, 0, 0, 0, 0}, {10, 34, 85, 0, 0, 0, 0}, {18, 20, 0, 0, 0, 0, 0}, {127, 0, 0, 0, 0, 0, 0}, {128, 0, 0, 0, 0, 0, 0}, {3, 5, 17, 0, 0, 0, 0}, {10, 34, 0, 0, 0, 0, 0}, {3, 64, 0, 0, 0, 0, 0}, {12, 68, 0, 0, 0, 0, 0}, {32, 5, 0, 0, 0, 0, 0}, {6, 64, 0, 0, 0, 0, 0}, {15, 119, 0, 0, 0, 0, 0}, {136, 0, 0, 0, 0, 0, 0}, {3, 5, 16, 0, 0, 0, 0}, {10, 32, 0, 0, 0, 0, 0}, {3, 68, 0, 0, 0, 0, 0}, {12, 64, 0, 0, 0, 0, 0}, {34, 5, 0, 0, 0, 0, 0}, {6, 68, 0, 0, 0, 0, 0}, {15, 112, 0, 0, 0, 0, 0}, {48, 80, 0, 0, 0, 0, 0}, {8, 17, 0, 0, 0, 0, 0}, {18, 64, 0, 0, 0, 0, 0}, {95, 51, 0, 0, 0, 0, 0}, {32, 20, 0, 0, 0, 0, 0}, {63, 85, 0, 0, 0, 0, 0}, {90, 102, 0, 0, 0, 0, 0}, {23, 64, 0, 0, 0, 0, 0}, {8, 16, 0, 0, 0, 0, 0}, {51, 85, 0, 0, 0, 0, 0}, {90, 48, 0, 0, 0, 0, 0}, {19, 68, 0, 0, 0, 0, 0}, {60, 80, 0, 0, 0, 0, 0}, {34, 21, 0, 0, 0, 0, 0}, {22, 68, 0, 0, 0, 0, 0}, {95, 96, 0, 0, 0, 0, 0}, {160, 0, 0, 0, 0, 0, 0}, {3, 4, 17, 0, 0, 0, 0}, {8, 34, 0, 0, 0, 0, 0}, {3, 80, 0, 0, 0, 0, 0}, {32, 4, 0, 0, 0, 0, 0}, {15, 85, 0, 0, 0, 0, 0}, {12, 102, 0, 0, 0, 0, 0}, {7, 80, 0, 0, 0, 0, 0}, {8, 32, 0, 0, 0, 0, 0}, {3, 85, 0, 0, 0, 0, 0}, {170, 0, 0, 0, 0, 0, 0}, {3, 4, 16, 0, 0, 0, 0}, {12, 96, 0, 0, 0, 0, 0}, {7, 85, 0, 0, 0, 0, 0}, {34, 4, 0, 0, 0, 0, 0}, {15, 80, 0, 0, 0, 0, 0}, {48, 64, 0, 0, 0, 0, 0}, {10, 17, 0, 0, 0, 0, 0}, {18, 80, 0, 0, 0, 0, 0}, {76, 51, 0, 0, 0, 0, 0}, {60, 68, 0, 0, 0, 0, 0}, {32, 21, 0, 0, 0, 0, 0}, {22, 80, 0, 0, 0, 0, 0}, {72, 119, 0, 0, 0, 0, 0}, {72, 48, 0, 0, 0, 0, 0}, {19, 85, 0, 0, 0, 0, 0}, {10, 16, 0, 0, 0, 0, 0}, {51, 68, 0, 0, 0, 0, 0}, {76, 112, 0, 0, 0, 0, 0}, {23, 85, 0, 0, 0, 0, 0}, {34, 20, 0, 0, 0, 0, 0}, {63, 64, 0, 0, 0, 0, 0}, {192, 0, 0, 0, 0, 0, 0}, {2, 5, 17, 0, 0, 0, 0}, {2, 64, 0, 0, 0, 0, 0}, {15, 51, 0, 0, 0, 0, 0}, {8, 68, 0, 0, 0, 0, 0}, {48, 5, 0, 0, 0, 0, 0}, {10, 102, 0, 0, 0, 0, 0}, {7, 64, 0, 0, 0, 0, 0}, {8, 64, 0, 0, 0, 0, 0}, {51, 5, 0, 0, 0, 0, 0}, {10, 96, 0, 0, 0, 0, 0}, {7, 68, 0, 0, 0, 0, 0}, {204, 0, 0, 0, 0, 0, 0}, {2, 5, 16, 0, 0, 0, 0}, {2, 68, 0, 0, 0, 0, 0}, {15, 48, 0, 0, 0, 0, 0}, {32, 80, 0, 0, 0, 0, 0}, {12, 17, 0, 0, 0, 0, 0}, {90, 34, 0, 0, 0, 0, 0}, {19, 64, 0, 0, 0, 0, 0}, {48, 20, 0, 0, 0, 0, 0}, {42, 85, 0, 0, 0, 0, 0}, {22, 64, 0, 0, 0, 0, 0}, {95, 119, 0, 0, 0, 0, 0}, {40, 80, 0, 0, 0, 0, 0}, {51, 21, 0, 0, 0, 0, 0}, {90, 112, 0, 0, 0, 0, 0}, {23, 68, 0, 0, 0, 0, 0}, {12, 16, 0, 0, 0, 0, 0}, {34, 85, 0, 0, 0, 0, 0}, {18, 68, 0, 0, 0, 0, 0}, {95, 32, 0, 0, 0, 0, 0}, {32, 64, 0, 0, 0, 0, 0}, {15, 17, 0, 0, 0, 0, 0}, {72, 34, 0, 0, 0, 0, 0}, {19, 80, 0, 0, 0, 0, 0}, {40, 68, 0, 0, 0, 0, 0}, {48, 21, 0, 0, 0, 0, 0}, {76, 102, 0, 0, 0, 0, 0}, {23, 80, 0, 0, 0, 0, 0}, {72, 96, 0, 0, 0, 0, 0}, {22, 85, 0, 0, 0, 0, 0}, {42, 64, 0, 0, 0, 0, 0}, {51, 20, 0, 0, 0, 0, 0}, {76, 32, 0, 0, 0, 0, 0}, {18, 85, 0, 0, 0, 0, 0}, {34, 68, 0, 0, 0, 0, 0}, {15, 16, 0, 0, 0, 0, 0}, {240, 0, 0, 0, 0, 0, 0}, {2, 4, 17, 0, 0, 0, 0}, {2, 80, 0, 0, 0, 0, 0}, {12, 51, 0, 0, 0, 0, 0}, {48, 4, 0, 0, 0, 0, 0}, {10, 85, 0, 0, 0, 0, 0}, {6, 80, 0, 0, 0, 0, 0}, {8, 119, 0, 0, 0, 0, 0}, {8, 112, 0, 0, 0, 0, 0}, {6, 85, 0, 0, 0, 0, 0}, {10, 80, 0, 0, 0, 0, 0}, {51, 4, 0, 0, 0, 0, 0}, {12, 48, 0, 0, 0, 0, 0}, {2, 85, 0, 0, 0, 0, 0}, {2, 4, 16, 0, 0, 0, 0}, {255, 0, 0, 0, 0, 0, 0}, {256, 0, 0, 0, 0, 0, 0}, {257, 0, 0, 0, 0, 0, 0}, {258, 0, 0, 0, 0, 0, 0}, {259, 0, 0, 0, 0, 0, 0}, {260, 0, 0, 0, 0, 0, 0}, {261, 0, 0, 0, 0, 0, 0}, {262, 0, 0, 0, 0, 0, 0}, {263, 0, 0, 0, 0, 0, 0}, {264, 768, 1280, 0, 0, 0, 0}, {265, 771, 1285, 0, 0, 0, 0}, {266, 768, 1024, 0, 0, 0, 0}, {267, 771, 1028, 0, 0, 0, 0}, {268, 512, 1280, 0, 0, 0, 0}, {269, 514, 1285, 0, 0, 0, 0}, {270, 514, 1028, 0, 0, 0, 0}, {271, 512, 1024, 0, 0, 0, 0}, {272, 0, 0, 0, 0, 0, 0}, {273, 0, 0, 0, 0, 0, 0}, {274, 0, 0, 0, 0, 0, 0}, {275, 0, 0, 0, 0, 0, 0}, {276, 0, 0, 0, 0, 0, 0}, {277, 0, 0, 0, 0, 0, 0}, {278, 0, 0, 0, 0, 0, 0}, {279, 0, 0, 0, 0, 0, 0}, {280, 816, 1360, 0, 0, 0, 0}, {281, 819, 1365, 0, 0, 0, 0}, {282, 816, 1088, 0, 0, 0, 0}, {283, 819, 1092, 0, 0, 0, 0}, {284, 544, 1360, 0, 0, 0, 0}, {285, 546, 1365, 0, 0, 0, 0}, {286, 546, 1092, 0, 0, 0, 0}, {287, 544, 1088, 0, 0, 0, 0}, {288, 768, 4352, 0, 0, 0, 0}, {289, 771, 4369, 0, 0, 0, 0}, {290, 768, 4096, 0, 0, 0, 0}, {291, 771, 4112, 0, 0, 0, 0}, {780, 292, 4420, 0, 0, 0, 0}, {783, 293, 4437, 0, 0, 0, 0}, {780, 294, 4160, 0, 0, 0, 0}, {783, 295, 4176, 0, 0, 0, 0}, {296, 768, 5376, 0, 0, 0, 0}, {297, 771, 5397, 0, 0, 0, 0}, {298, 768, 5120, 0, 0, 0, 0}, {299, 771, 5140, 0, 0, 0, 0}, {780, 544, 5440, 0, 0, 0, 0}, {783, 546, 5461, 0, 0, 0, 0}, {780, 546, 5188, 0, 0, 0, 0}, {783, 544, 5200, 0, 0, 0, 0}, {304, 512, 4352, 0, 0, 0, 0}, {305, 514, 4369, 0, 0, 0, 0}, {306, 514, 4112, 0, 0, 0, 0}, {307, 512, 4096, 0, 0, 0, 0}, {520, 308, 4420, 0, 0, 0, 0}, {522, 309, 4437, 0, 0, 0, 0}, {522, 310, 4176, 0, 0, 0, 0}, {520, 311, 4160, 0, 0, 0, 0}, {520, 816, 5440, 0, 0, 0, 0}, {522, 819, 5461, 0, 0, 0, 0}, {522, 816, 5200, 0, 0, 0, 0}, {520, 819, 5188, 0, 0, 0, 0}, {316, 512, 5376, 0, 0, 0, 0}, {317, 514, 5397, 0, 0, 0, 0}, {318, 514, 5140, 0, 0, 0, 0}, {319, 512, 5120, 0, 0, 0, 0}, {320, 1280, 4352, 0, 0, 0, 0}, {321, 1285, 4369, 0, 0, 0, 0}, {322, 0, 0, 0, 0, 0, 0}, {323, 0, 0, 0, 0, 0, 0}, {324, 1280, 4096, 0, 0, 0, 0}, {325, 1285, 4112, 0, 0, 0, 0}, {326, 0, 0, 0, 0, 0, 0}, {327, 0, 0, 0, 0, 0, 0}, {328, 4864, 1280, 0, 0, 0, 0}, {329, 4883, 1285, 0, 0, 0, 0}, {1290, 4896, 1088, 0, 0, 0, 0}, {1295, 4915, 1092, 0, 0, 0, 0}, {332, 4608, 1280, 0, 0, 0, 0}, {333, 4626, 1285, 0, 0, 0, 0}, {1290, 4642, 1092, 0, 0, 0, 0}, {1295, 4656, 1088, 0, 0, 0, 0}, {336, 1024, 4352, 0, 0, 0, 0}, {337, 1028, 4369, 0, 0, 0, 0}, {338, 0, 0, 0, 0, 0, 0}, {339, 0, 0, 0, 0, 0, 0}, {340, 1028, 4112, 0, 0, 0, 0}, {341, 1024, 4096, 0, 0, 0, 0}, {342, 0, 0, 0, 0, 0, 0}, {343, 0, 0, 0, 0, 0, 0}, {1032, 4896, 1360, 0, 0, 0, 0}, {1036, 4915, 1365, 0, 0, 0, 0}, {346, 4864, 1024, 0, 0, 0, 0}, {347, 4883, 1028, 0, 0, 0, 0}, {1036, 4656, 1360, 0, 0, 0, 0}, {1032, 4642, 1365, 0, 0, 0, 0}, {350, 4626, 1028, 0, 0, 0, 0}, {351, 4608, 1024, 0, 0, 0, 0}, {352, 1792, 4352, 0, 0, 0, 0}, {353, 1799, 4369, 0, 0, 0, 0}, {1800, 4386, 4160, 0, 0, 0, 0}, {1807, 4403, 4176, 0, 0, 0, 0}, {1800, 4128, 4420, 0, 0, 0, 0}, {1807, 4144, 4437, 0, 0, 0, 0}, {358, 1792, 4096, 0, 0, 0, 0}, {359, 1799, 4112, 0, 0, 0, 0}, {1800, 4896, 5440, 0, 0, 0, 0}, {1807, 4915, 5461, 0, 0, 0, 0}, {362, 4864, 5120, 0, 0, 0, 0}, {363, 4883, 5140, 0, 0, 0, 0}, {364, 4608, 5376, 0, 0, 0, 0}, {365, 4626, 5397, 0, 0, 0, 0}, {1800, 4642, 5188, 0, 0, 0, 0}, {1807, 4656, 5200, 0, 0, 0, 0}, {368, 1536, 4352, 0, 0, 0, 0}, {369, 1542, 4369, 0, 0, 0, 0}, {1546, 4386, 4176, 0, 0, 0, 0}, {1548, 4403, 4160, 0, 0, 0, 0}, {1548, 4144, 4420, 0, 0, 0, 0}, {1546, 4128, 4437, 0, 0, 0, 0}, {374, 1542, 4112, 0, 0, 0, 0}, {375, 1536, 4096, 0, 0, 0, 0}, {376, 4864, 5376, 0, 0, 0, 0}, {377, 4883, 5397, 0, 0, 0, 0}, {1546, 4896, 5200, 0, 0, 0, 0}, {1548, 4915, 5188, 0, 0, 0, 0}, {1548, 4656, 5440, 0, 0, 0, 0}, {1546, 4642, 5461, 0, 0, 0, 0}, {382, 4626, 5140, 0, 0, 0, 0}, {383, 4608, 5120, 0, 0, 0, 0}, {384, 768, 1280, 4352, 0, 0, 0}, {385, 771, 1285, 4369, 0, 0, 0}, {1290, 4386, 768, 16384, 0, 0, 0}, {1295, 4403, 771, 16448, 0, 0, 0}, {780, 8192, 4420, 1280, 0, 0, 0}, {783, 8224, 4437, 1285, 0, 0, 0}, {1290, 4454, 1542, 16448, 0, 0, 0}, {1295, 4471, 1536, 16384, 0, 0, 0}, {392, 768, 1280, 4096, 0, 0, 0}, {393, 771, 1285, 4112, 0, 0, 0}, {1290, 4128, 768, 17408, 0, 0, 0}, {1295, 4144, 771, 17476, 0, 0, 0}, {780, 8704, 4160, 1280, 0, 0, 0}, {783, 8738, 4176, 1285, 0, 0, 0}, {1290, 4192, 1542, 17476, 0, 0, 0}, {1295, 4208, 1536, 17408, 0, 0, 0}, {2048, 816, 1360, 4352, 0, 0, 0}, {2056, 819, 1365, 4369, 0, 0, 0}, {1370, 4386, 4626, 16448, 0, 0, 0}, {1375, 4403, 4608, 16384, 0, 0, 0}, {828, 8224, 4420, 5140, 0, 0, 0}, {831, 8192, 4437, 5120, 0, 0, 0}, {1370, 4454, 5888, 16384, 0, 0, 0}, {1375, 4471, 5911, 16448, 0, 0, 0}, {2056, 816, 1360, 4112, 0, 0, 0}, {2048, 819, 1365, 4096, 0, 0, 0}, {1370, 4144, 4864, 17408, 0, 0, 0}, {1375, 4128, 4883, 17476, 0, 0, 0}, {828, 8704, 4176, 5376, 0, 0, 0}, {831, 8738, 4160, 5397, 0, 0, 0}, {1370, 4208, 5654, 17476, 0, 0, 0}, {1375, 4192, 5632, 17408, 0, 0, 0}, {416, 768, 1024, 4352, 0, 0, 0}, {417, 771, 1028, 4369, 0, 0, 0}, {1032, 4386, 768, 20480, 0, 0, 0}, {1036, 4403, 771, 20560, 0, 0, 0}, {780, 8224, 4420, 1028, 0, 0, 0}, {783, 8192, 4437, 1024, 0, 0, 0}, {1036, 4454, 1792, 20480, 0, 0, 0}, {1032, 4471, 1799, 20560, 0, 0, 0}, {1032, 4128, 768, 21760, 0, 0, 0}, {1036, 4144, 771, 21845, 0, 0, 0}, {426, 768, 1024, 4096, 0, 0, 0}, {427, 771, 1028, 4112, 0, 0, 0}, {1036, 4192, 1792, 21760, 0, 0, 0}, {1032, 4208, 1799, 21845, 0, 0, 0}, {780, 8738, 4160, 1028, 0, 0, 0}, {783, 8704, 4176, 1024, 0, 0, 0}, {2560, 816, 1088, 4352, 0, 0, 0}, {2570, 819, 1092, 4369, 0, 0, 0}, {1096, 4386, 4626, 20560, 0, 0, 0}, {1100, 4403, 4608, 20480, 0, 0, 0}, {828, 8192, 4420, 5376, 0, 0, 0}, {831, 8224, 4437, 5397, 0, 0, 0}, {1100, 4454, 5654, 20560, 0, 0, 0}, {1096, 4471, 5632, 20480, 0, 0, 0}, {1096, 4144, 4864, 21760, 0, 0, 0}, {1100, 4128, 4883, 21845, 0, 0, 0}, {2570, 816, 1088, 4112, 0, 0, 0}, {2560, 819, 1092, 4096, 0, 0, 0}, {1100, 4208, 5888, 21760, 0, 0, 0}, {1096, 4192, 5911, 21845, 0, 0, 0}, {828, 8738, 4176, 5140, 0, 0, 0}, {831, 8704, 4160, 5120, 0, 0, 0}, {448, 512, 1280, 4352, 0, 0, 0}, {449, 514, 1285, 4369, 0, 0, 0}, {1290, 4386, 514, 16448, 0, 0, 0}, {1295, 4403, 512, 16384, 0, 0, 0}, {520, 12288, 4420, 1280, 0, 0, 0}, {522, 12336, 4437, 1285, 0, 0, 0}, {1290, 4454, 1792, 16384, 0, 0, 0}, {1295, 4471, 1799, 16448, 0, 0, 0}, {520, 13056, 4160, 1280, 0, 0, 0}, {522, 13107, 4176, 1285, 0, 0, 0}, {1290, 4192, 1792, 17408, 0, 0, 0}, {1295, 4208, 1799, 17476, 0, 0, 0}, {460, 512, 1280, 4096, 0, 0, 0}, {461, 514, 1285, 4112, 0, 0, 0}, {1290, 4128, 514, 17476, 0, 0, 0}, {1295, 4144, 512, 17408, 0, 0, 0}, {3072, 544, 1360, 4352, 0, 0, 0}, {3084, 546, 1365, 4369, 0, 0, 0}, {1370, 4386, 4864, 16384, 0, 0, 0}, {1375, 4403, 4883, 16448, 0, 0, 0}, {552, 12336, 4420, 5140, 0, 0, 0}, {554, 12288, 4437, 5120, 0, 0, 0}, {1370, 4454, 5654, 16448, 0, 0, 0}, {1375, 4471, 5632, 16384, 0, 0, 0}, {552, 13056, 4176, 5376, 0, 0, 0}, {554, 13107, 4160, 5397, 0, 0, 0}, {1370, 4208, 5888, 17408, 0, 0, 0}, {1375, 4192, 5911, 17476, 0, 0, 0}, {3084, 544, 1360, 4112, 0, 0, 0}, {3072, 546, 1365, 4096, 0, 0, 0}, {1370, 4144, 4626, 17476, 0, 0, 0}, {1375, 4128, 4608, 17408, 0, 0, 0}, {3840, 544, 1088, 4352, 0, 0, 0}, {3855, 546, 1092, 4369, 0, 0, 0}, {1096, 4386, 4864, 20480, 0, 0, 0}, {1100, 4403, 4883, 20560, 0, 0, 0}, {552, 12288, 4420, 5376, 0, 0, 0}, {554, 12336, 4437, 5397, 0, 0, 0}, {1100, 4454, 5888, 20480, 0, 0, 0}, {1096, 4471, 5911, 20560, 0, 0, 0}, {1096, 4192, 5632, 21760, 0, 0, 0}, {1100, 4208, 5654, 21845, 0, 0, 0}, {554, 13056, 4160, 5120, 0, 0, 0}, {552, 13107, 4176, 5140, 0, 0, 0}, {1100, 4128, 4608, 21760, 0, 0, 0}, {1096, 4144, 4626, 21845, 0, 0, 0}, {3840, 546, 1092, 4096, 0, 0, 0}, {3855, 544, 1088, 4112, 0, 0, 0}, {496, 512, 1024, 4352, 0, 0, 0}, {497, 514, 1028, 4369, 0, 0, 0}, {1032, 4386, 514, 20560, 0, 0, 0}, {1036, 4403, 512, 20480, 0, 0, 0}, {520, 12336, 4420, 1028, 0, 0, 0}, {522, 12288, 4437, 1024, 0, 0, 0}, {1036, 4454, 1542, 20560, 0, 0, 0}, {1032, 4471, 1536, 20480, 0, 0, 0}, {1032, 4208, 1536, 21760, 0, 0, 0}, {1036, 4192, 1542, 21845, 0, 0, 0}, {522, 13056, 4176, 1024, 0, 0, 0}, {520, 13107, 4160, 1028, 0, 0, 0}, {1036, 4144, 512, 21760, 0, 0, 0}, {1032, 4128, 514, 21845, 0, 0, 0}, {510, 514, 1028, 4112, 0, 0, 0}, {511, 512, 1024, 4096, 0, 0, 0}, {512, 0, 0, 0, 0, 0, 0}, {3, 257, 0, 0, 0, 0, 0}, {514, 0, 0, 0, 0, 0, 0}, {3, 256, 0, 0, 0, 0, 0}, {12, 516, 1028, 0, 0, 0, 0}, {15, 517, 1285, 0, 0, 0, 0}, {12, 518, 1024, 0, 0, 0, 0}, {15, 519, 1280, 0, 0, 0, 0}, {520, 0, 0, 0, 0, 0, 0}, {3, 261, 0, 0, 0, 0, 0}, {522, 0, 0, 0, 0, 0, 0}, {3, 260, 0, 0, 0, 0, 0}, {12, 512, 1024, 0, 0, 0, 0}, {15, 514, 1285, 0, 0, 0, 0}, {12, 514, 1028, 0, 0, 0, 0}, {15, 512, 1280, 0, 0, 0, 0}, {48, 528, 4112, 0, 0, 0, 0}, {51, 529, 4369, 0, 0, 0, 0}, {48, 530, 4096, 0, 0, 0, 0}, {51, 531, 4352, 0, 0, 0, 0}, {60, 532, 5140, 0, 0, 0, 0}, {63, 533, 5397, 0, 0, 0, 0}, {60, 534, 5120, 0, 0, 0, 0}, {63, 535, 5376, 0, 0, 0, 0}, {536, 48, 4176, 0, 0, 0, 0}, {537, 51, 4437, 0, 0, 0, 0}, {538, 48, 4160, 0, 0, 0, 0}, {539, 51, 4420, 0, 0, 0, 0}, {540, 544, 5200, 0, 0, 0, 0}, {541, 546, 5461, 0, 0, 0, 0}, {542, 546, 5188, 0, 0, 0, 0}, {543, 544, 5440, 0, 0, 0, 0}, {544, 0, 0, 0, 0, 0, 0}, {3, 273, 0, 0, 0, 0, 0}, {546, 0, 0, 0, 0, 0, 0}, {3, 272, 0, 0, 0, 0, 0}, {12, 548, 1092, 0, 0, 0, 0}, {15, 549, 1365, 0, 0, 0, 0}, {12, 550, 1088, 0, 0, 0, 0}, {15, 551, 1360, 0, 0, 0, 0}, {552, 0, 0, 0, 0, 0, 0}, {3, 277, 0, 0, 0, 0, 0}, {554, 0, 0, 0, 0, 0, 0}, {3, 276, 0, 0, 0, 0, 0}, {12, 544, 1088, 0, 0, 0, 0}, {15, 546, 1365, 0, 0, 0, 0}, {12, 546, 1092, 0, 0, 0, 0}, {15, 544, 1360, 0, 0, 0, 0}, {48, 512, 4096, 0, 0, 0, 0}, {51, 514, 4369, 0, 0, 0, 0}, {48, 514, 4112, 0, 0, 0, 0}, {51, 512, 4352, 0, 0, 0, 0}, {520, 564, 5188, 0, 0, 0, 0}, {522, 565, 5461, 0, 0, 0, 0}, {522, 566, 5200, 0, 0, 0, 0}, {520, 567, 5440, 0, 0, 0, 0}, {520, 48, 4160, 0, 0, 0, 0}, {522, 51, 4437, 0, 0, 0, 0}, {522, 48, 4176, 0, 0, 0, 0}, {520, 51, 4420, 0, 0, 0, 0}, {60, 512, 5120, 0, 0, 0, 0}, {63, 514, 5397, 0, 0, 0, 0}, {60, 514, 5140, 0, 0, 0, 0}, {63, 512, 5376, 0, 0, 0, 0}, {192, 576, 16448, 0, 0, 0, 0}, {15, 51, 577, 1285, 4369, 0, 0}, {192, 578, 16384, 0, 0, 0, 0}, {15, 51, 579, 1280, 4352, 0, 0}, {204, 580, 17476, 0, 0, 0, 0}, {15, 48, 581, 1285, 4112, 0, 0}, {204, 582, 17408, 0, 0, 0, 0}, {15, 48, 583, 1280, 4096, 0, 0}, {584, 8192, 16384, 0, 0, 0, 0}, {15, 51, 4883, 4437, 1285, 0, 0}, {586, 8224, 16448, 0, 0, 0, 0}, {15, 51, 4864, 4420, 1280, 0, 0}, {588, 8704, 17408, 0, 0, 0, 0}, {15, 48, 4626, 4176, 1285, 0, 0}, {590, 8738, 17476, 0, 0, 0, 0}, {15, 48, 4608, 4160, 1280, 0, 0}, {240, 592, 20560, 0, 0, 0, 0}, {12, 51, 593, 1028, 4369, 0, 0}, {240, 594, 20480, 0, 0, 0, 0}, {12, 51, 595, 1024, 4352, 0, 0}, {12, 48, 596, 1028, 4112, 0, 0}, {255, 597, 21845, 0, 0, 0, 0}, {12, 48, 598, 1024, 4096, 0, 0}, {255, 599, 21760, 0, 0, 0, 0}, {600, 8224, 20560, 0, 0, 0, 0}, {12, 51, 4864, 4437, 1024, 0, 0}, {602, 8192, 20480, 0, 0, 0, 0}, {12, 51, 4883, 4420, 1028, 0, 0}, {12, 48, 4608, 4176, 1024, 0, 0}, {605, 8738, 21845, 0, 0, 0, 0}, {12, 48, 4626, 4160, 1028, 0, 0}, {607, 8704, 21760, 0, 0, 0, 0}, {2048, 608, 16384, 0, 0, 0, 0}, {15, 51, 1799, 1365, 4369, 0, 0}, {2056, 610, 16448, 0, 0, 0, 0}, {15, 51, 1792, 1360, 4352, 0, 0}, {2056, 612, 17476, 0, 0, 0, 0}, {15, 48, 1792, 1365, 4096, 0, 0}, {2048, 614, 17408, 0, 0, 0, 0}, {15, 48, 1799, 1360, 4112, 0, 0}, {616, 8224, 16448, 0, 0, 0, 0}, {15, 51, 4864, 4437, 5120, 0, 0}, {618, 8192, 16384, 0, 0, 0, 0}, {15, 51, 4883, 4420, 5140, 0, 0}, {620, 8704, 17408, 0, 0, 0, 0}, {15, 48, 4626, 4160, 5397, 0, 0}, {622, 8738, 17476, 0, 0, 0, 0}, {15, 48, 4608, 4176, 5376, 0, 0}, {2560, 624, 20480, 0, 0, 0, 0}, {12, 51, 1542, 1092, 4369, 0, 0}, {2570, 626, 20560, 0, 0, 0, 0}, {12, 51, 1536, 1088, 4352, 0, 0}, {12, 48, 1536, 1092, 4096, 0, 0}, {2570, 629, 21845, 0, 0, 0, 0}, {12, 48, 1542, 1088, 4112, 0, 0}, {2560, 631, 21760, 0, 0, 0, 0}, {632, 8192, 20480, 0, 0, 0, 0}, {12, 51, 4883, 4437, 5397, 0, 0}, {634, 8224, 20560, 0, 0, 0, 0}, {12, 51, 4864, 4420, 5376, 0, 0}, {12, 48, 4608, 4160, 5120, 0, 0}, {637, 8738, 21845, 0, 0, 0, 0}, {12, 48, 4626, 4176, 5140, 0, 0}, {639, 8704, 21760, 0, 0, 0, 0}, {640, 2560, 8704, 0, 0, 0, 0}, {3, 321, 1285, 4369, 0, 0, 0}, {642, 2570, 8738, 0, 0, 0, 0}, {3, 320, 1280, 4352, 0, 0, 0}, {12, 1536, 1092, 0, 0, 0, 0}, {15, 629, 1285, 0, 0, 0, 0}, {12, 1542, 1088, 0, 0, 0, 0}, {15, 631, 1280, 0, 0, 0, 0}, {648, 2560, 8192, 0, 0, 0, 0}, {3, 325, 1285, 4112, 0, 0, 0}, {650, 2570, 8224, 0, 0, 0, 0}, {3, 324, 1280, 4096, 0, 0, 0}, {12, 1536, 1088, 0, 0, 0, 0}, {15, 626, 1285, 0, 0, 0, 0}, {12, 1542, 1092, 0, 0, 0, 0}, {15, 624, 1280, 0, 0, 0, 0}, {48, 4608, 4176, 0, 0, 0, 0}, {605, 51, 4369, 0, 0, 0, 0}, {48, 4626, 4160, 0, 0, 0, 0}, {607, 51, 4352, 0, 0, 0, 0}, {600, 612, 5140, 0, 0, 0, 0}, {63, 5888, 5461, 0, 0, 0, 0}, {602, 614, 5120, 0, 0, 0, 0}, {63, 5911, 5440, 0, 0, 0, 0}, {600, 48, 4112, 0, 0, 0, 0}, {51, 4864, 4437, 0, 0, 0, 0}, {602, 48, 4096, 0, 0, 0, 0}, {51, 4883, 4420, 0, 0, 0, 0}, {60, 5632, 5200, 0, 0, 0, 0}, {605, 610, 5397, 0, 0, 0, 0}, {60, 5654, 5188, 0, 0, 0, 0}, {607, 608, 5376, 0, 0, 0, 0}, {672, 2048, 8704, 0, 0, 0, 0}, {3, 337, 1028, 4369, 0, 0, 0}, {674, 2056, 8738, 0, 0, 0, 0}, {3, 336, 1024, 4352, 0, 0, 0}, {12, 612, 1028, 0, 0, 0, 0}, {15, 1792, 1365, 0, 0, 0, 0}, {12, 614, 1024, 0, 0, 0, 0}, {15, 1799, 1360, 0, 0, 0, 0}, {680, 2056, 8224, 0, 0, 0, 0}, {3, 341, 1024, 4096, 0, 0, 0}, {682, 2048, 8192, 0, 0, 0, 0}, {3, 340, 1028, 4112, 0, 0, 0}, {12, 608, 1024, 0, 0, 0, 0}, {15, 1799, 1365, 0, 0, 0, 0}, {12, 610, 1028, 0, 0, 0, 0}, {15, 1792, 1360, 0, 0, 0, 0}, {48, 4608, 4160, 0, 0, 0, 0}, {590, 51, 4369, 0, 0, 0, 0}, {48, 4626, 4176, 0, 0, 0, 0}, {588, 51, 4352, 0, 0, 0, 0}, {60, 5632, 5188, 0, 0, 0, 0}, {586, 629, 5397, 0, 0, 0, 0}, {60, 5654, 5200, 0, 0, 0, 0}, {584, 631, 5376, 0, 0, 0, 0}, {584, 48, 4096, 0, 0, 0, 0}, {51, 4883, 4437, 0, 0, 0, 0}, {586, 48, 4112, 0, 0, 0, 0}, {51, 4864, 4420, 0, 0, 0, 0}, {588, 624, 5120, 0, 0, 0, 0}, {63, 5911, 5461, 0, 0, 0, 0}, {590, 626, 5140, 0, 0, 0, 0}, {63, 5888, 5440, 0, 0, 0, 0}, {192, 512, 16384, 0, 0, 0, 0}, {15, 51, 514, 1285, 4369, 0, 0}, {192, 514, 16448, 0, 0, 0, 0}, {15, 51, 512, 1280, 4352, 0, 0}, {520, 8772, 17476, 0, 0, 0, 0}, {15, 48, 517, 4176, 1285, 0, 0}, {522, 8806, 17408, 0, 0, 0, 0}, {15, 48, 519, 4160, 1280, 0, 0}, {520, 8256, 16448, 0, 0, 0, 0}, {15, 51, 517, 4437, 1285, 0, 0}, {522, 8288, 16384, 0, 0, 0, 0}, {15, 51, 519, 4420, 1280, 0, 0}, {204, 512, 17408, 0, 0, 0, 0}, {15, 48, 514, 1285, 4112, 0, 0}, {204, 514, 17476, 0, 0, 0, 0}, {15, 48, 512, 1280, 4096, 0, 0}, {2640, 544, 20560, 0, 0, 0, 0}, {12, 51, 529, 1092, 4369, 0, 0}, {2650, 546, 20480, 0, 0, 0, 0}, {12, 51, 531, 1088, 4352, 0, 0}, {12, 48, 532, 4176, 5140, 0, 0}, {554, 8789, 21845, 0, 0, 0, 0}, {12, 48, 534, 4160, 5120, 0, 0}, {552, 8823, 21760, 0, 0, 0, 0}, {552, 8272, 20560, 0, 0, 0, 0}, {12, 51, 533, 4437, 5397, 0, 0}, {554, 8304, 20480, 0, 0, 0, 0}, {12, 51, 535, 4420, 5376, 0, 0}, {12, 48, 528, 1088, 4112, 0, 0}, {2645, 546, 21845, 0, 0, 0, 0}, {12, 48, 530, 1092, 4096, 0, 0}, {2655, 544, 21760, 0, 0, 0, 0}, {2112, 544, 16448, 0, 0, 0, 0}, {15, 51, 529, 1365, 4369, 0, 0}, {2120, 546, 16384, 0, 0, 0, 0}, {15, 51, 531, 1360, 4352, 0, 0}, {552, 8772, 17476, 0, 0, 0, 0}, {15, 48, 533, 4160, 5397, 0, 0}, {554, 8806, 17408, 0, 0, 0, 0}, {15, 48, 535, 4176, 5376, 0, 0}, {552, 8288, 16384, 0, 0, 0, 0}, {15, 51, 534, 4437, 5120, 0, 0}, {554, 8256, 16448, 0, 0, 0, 0}, {15, 51, 532, 4420, 5140, 0, 0}, {2124, 544, 17408, 0, 0, 0, 0}, {15, 48, 530, 1365, 4096, 0, 0}, {2116, 546, 17476, 0, 0, 0, 0}, {15, 48, 528, 1360, 4112, 0, 0}, {240, 512, 20480, 0, 0, 0, 0}, {12, 51, 514, 1028, 4369, 0, 0}, {240, 514, 20560, 0, 0, 0, 0}, {12, 51, 512, 1024, 4352, 0, 0}, {12, 48, 516, 4160, 1028, 0, 0}, {522, 8789, 21845, 0, 0, 0, 0}, {12, 48, 518, 4176, 1024, 0, 0}, {520, 8823, 21760, 0, 0, 0, 0}, {520, 8304, 20480, 0, 0, 0, 0}, {12, 51, 518, 4437, 1024, 0, 0}, {522, 8272, 20560, 0, 0, 0, 0}, {12, 51, 516, 4420, 1028, 0, 0}, {12, 48, 512, 1024, 4096, 0, 0}, {255, 514, 21845, 0, 0, 0, 0}, {12, 48, 514, 1028, 4112, 0, 0}, {255, 512, 21760, 0, 0, 0, 0}, {768, 0, 0, 0, 0, 0, 0}, {2, 257, 0, 0, 0, 0, 0}, {2, 256, 0, 0, 0, 0, 0}, {771, 0, 0, 0, 0, 0, 0}, {8, 772, 1028, 0, 0, 0, 0}, {10, 773, 1285, 0, 0, 0, 0}, {10, 774, 1280, 0, 0, 0, 0}, {8, 775, 1024, 0, 0, 0, 0}, {8, 768, 1024, 0, 0, 0, 0}, {10, 771, 1285, 0, 0, 0, 0}, {10, 768, 1280, 0, 0, 0, 0}, {8, 771, 1028, 0, 0, 0, 0}, {780, 0, 0, 0, 0, 0, 0}, {2, 261, 0, 0, 0, 0, 0}, {2, 260, 0, 0, 0, 0, 0}, {783, 0, 0, 0, 0, 0, 0}, {32, 784, 4112, 0, 0, 0, 0}, {34, 785, 4369, 0, 0, 0, 0}, {34, 786, 4352, 0, 0, 0, 0}, {32, 787, 4096, 0, 0, 0, 0}, {40, 788, 5140, 0, 0, 0, 0}, {42, 789, 5397, 0, 0, 0, 0}, {42, 790, 5376, 0, 0, 0, 0}, {40, 791, 5120, 0, 0, 0, 0}, {792, 816, 5200, 0, 0, 0, 0}, {793, 819, 5461, 0, 0, 0, 0}, {794, 816, 5440, 0, 0, 0, 0}, {795, 819, 5188, 0, 0, 0, 0}, {796, 32, 4176, 0, 0, 0, 0}, {797, 34, 4437, 0, 0, 0, 0}, {798, 34, 4420, 0, 0, 0, 0}, {799, 32, 4160, 0, 0, 0, 0}, {32, 768, 4096, 0, 0, 0, 0}, {34, 771, 4369, 0, 0, 0, 0}, {34, 768, 4352, 0, 0, 0, 0}, {32, 771, 4112, 0, 0, 0, 0}, {780, 804, 5188, 0, 0, 0, 0}, {783, 805, 5461, 0, 0, 0, 0}, {780, 806, 5440, 0, 0, 0, 0}, {783, 807, 5200, 0, 0, 0, 0}, {40, 768, 5120, 0, 0, 0, 0}, {42, 771, 5397, 0, 0, 0, 0}, {42, 768, 5376, 0, 0, 0, 0}, {40, 771, 5140, 0, 0, 0, 0}, {780, 32, 4160, 0, 0, 0, 0}, {783, 34, 4437, 0, 0, 0, 0}, {780, 34, 4420, 0, 0, 0, 0}, {783, 32, 4176, 0, 0, 0, 0}, {816, 0, 0, 0, 0, 0, 0}, {2, 273, 0, 0, 0, 0, 0}, {2, 272, 0, 0, 0, 0, 0}, {819, 0, 0, 0, 0, 0, 0}, {8, 820, 1092, 0, 0, 0, 0}, {10, 821, 1365, 0, 0, 0, 0}, {10, 822, 1360, 0, 0, 0, 0}, {8, 823, 1088, 0, 0, 0, 0}, {8, 816, 1088, 0, 0, 0, 0}, {10, 819, 1365, 0, 0, 0, 0}, {10, 816, 1360, 0, 0, 0, 0}, {8, 819, 1092, 0, 0, 0, 0}, {828, 0, 0, 0, 0, 0, 0}, {2, 277, 0, 0, 0, 0, 0}, {2, 276, 0, 0, 0, 0, 0}, {831, 0, 0, 0, 0, 0, 0}, {128, 832, 16448, 0, 0, 0, 0}, {10, 34, 833, 1285, 4369, 0, 0}, {10, 34, 834, 1280, 4352, 0, 0}, {128, 835, 16384, 0, 0, 0, 0}, {136, 836, 17476, 0, 0, 0, 0}, {10, 32, 837, 1285, 4112, 0, 0}, {10, 32, 838, 1280, 4096, 0, 0}, {136, 839, 17408, 0, 0, 0, 0}, {840, 13056, 17408, 0, 0, 0, 0}, {10, 32, 4883, 4176, 1285, 0, 0}, {10, 32, 4864, 4160, 1280, 0, 0}, {843, 13107, 17476, 0, 0, 0, 0}, {844, 12288, 16384, 0, 0, 0, 0}, {10, 34, 4626, 4437, 1285, 0, 0}, {10, 34, 4608, 4420, 1280, 0, 0}, {847, 12336, 16448, 0, 0, 0, 0}, {160, 848, 20560, 0, 0, 0, 0}, {8, 34, 849, 1028, 4369, 0, 0}, {8, 34, 850, 1024, 4352, 0, 0}, {160, 851, 20480, 0, 0, 0, 0}, {8, 32, 852, 1028, 4112, 0, 0}, {170, 853, 21845, 0, 0, 0, 0}, {170, 854, 21760, 0, 0, 0, 0}, {8, 32, 855, 1024, 4096, 0, 0}, {8, 32, 4864, 4176, 1024, 0, 0}, {857, 13107, 21845, 0, 0, 0, 0}, {858, 13056, 21760, 0, 0, 0, 0}, {8, 32, 4883, 4160, 1028, 0, 0}, {860, 12336, 20560, 0, 0, 0, 0}, {8, 34, 4608, 4437, 1024, 0, 0}, {8, 34, 4626, 4420, 1028, 0, 0}, {863, 12288, 20480, 0, 0, 0, 0}, {3840, 864, 20480, 0, 0, 0, 0}, {8, 34, 1799, 1092, 4369, 0, 0}, {8, 34, 1792, 1088, 4352, 0, 0}, {3855, 867, 20560, 0, 0, 0, 0}, {8, 32, 1792, 1092, 4096, 0, 0}, {3855, 869, 21845, 0, 0, 0, 0}, {3840, 870, 21760, 0, 0, 0, 0}, {8, 32, 1799, 1088, 4112, 0, 0}, {8, 32, 4864, 4160, 5120, 0, 0}, {873, 13107, 21845, 0, 0, 0, 0}, {874, 13056, 21760, 0, 0, 0, 0}, {8, 32, 4883, 4176, 5140, 0, 0}, {876, 12288, 20480, 0, 0, 0, 0}, {8, 34, 4626, 4437, 5397, 0, 0}, {8, 34, 4608, 4420, 5376, 0, 0}, {879, 12336, 20560, 0, 0, 0, 0}, {3072, 880, 16384, 0, 0, 0, 0}, {10, 34, 1542, 1365, 4369, 0, 0}, {10, 34, 1536, 1360, 4352, 0, 0}, {3084, 883, 16448, 0, 0, 0, 0}, {3084, 884, 17476, 0, 0, 0, 0}, {10, 32, 1536, 1365, 4096, 0, 0}, {10, 32, 1542, 1360, 4112, 0, 0}, {3072, 887, 17408, 0, 0, 0, 0}, {888, 13056, 17408, 0, 0, 0, 0}, {10, 32, 4883, 4160, 5397, 0, 0}, {10, 32, 4864, 4176, 5376, 0, 0}, {891, 13107, 17476, 0, 0, 0, 0}, {892, 12336, 16448, 0, 0, 0, 0}, {10, 34, 4608, 4437, 5120, 0, 0}, {10, 34, 4626, 4420, 5140, 0, 0}, {895, 12288, 16384, 0, 0, 0, 0}, {128, 768, 16384, 0, 0, 0, 0}, {10, 34, 771, 1285, 4369, 0, 0}, {10, 34, 768, 1280, 4352, 0, 0}, {128, 771, 16448, 0, 0, 0, 0}, {780, 13124, 17476, 0, 0, 0, 0}, {10, 32, 773, 4176, 1285, 0, 0}, {10, 32, 774, 4160, 1280, 0, 0}, {783, 13175, 17408, 0, 0, 0, 0}, {136, 768, 17408, 0, 0, 0, 0}, {10, 32, 771, 1285, 4112, 0, 0}, {10, 32, 768, 1280, 4096, 0, 0}, {136, 771, 17476, 0, 0, 0, 0}, {780, 12352, 16448, 0, 0, 0, 0}, {10, 34, 773, 4437, 1285, 0, 0}, {10, 34, 774, 4420, 1280, 0, 0}, {783, 12400, 16384, 0, 0, 0, 0}, {3920, 816, 20560, 0, 0, 0, 0}, {8, 34, 785, 1092, 4369, 0, 0}, {8, 34, 786, 1088, 4352, 0, 0}, {3935, 819, 20480, 0, 0, 0, 0}, {8, 32, 788, 4176, 5140, 0, 0}, {831, 13141, 21845, 0, 0, 0, 0}, {828, 13158, 21760, 0, 0, 0, 0}, {8, 32, 791, 4160, 5120, 0, 0}, {8, 32, 784, 1088, 4112, 0, 0}, {3925, 819, 21845, 0, 0, 0, 0}, {3930, 816, 21760, 0, 0, 0, 0}, {8, 32, 787, 1092, 4096, 0, 0}, {828, 12368, 20560, 0, 0, 0, 0}, {8, 34, 789, 4437, 5397, 0, 0}, {8, 34, 790, 4420, 5376, 0, 0}, {831, 12384, 20480, 0, 0, 0, 0}, {160, 768, 20480, 0, 0, 0, 0}, {8, 34, 771, 1028, 4369, 0, 0}, {8, 34, 768, 1024, 4352, 0, 0}, {160, 771, 20560, 0, 0, 0, 0}, {8, 32, 772, 4160, 1028, 0, 0}, {783, 13141, 21845, 0, 0, 0, 0}, {780, 13158, 21760, 0, 0, 0, 0}, {8, 32, 775, 4176, 1024, 0, 0}, {8, 32, 768, 1024, 4096, 0, 0}, {170, 771, 21845, 0, 0, 0, 0}, {170, 768, 21760, 0, 0, 0, 0}, {8, 32, 771, 1028, 4112, 0, 0}, {780, 12384, 20480, 0, 0, 0, 0}, {8, 34, 775, 4437, 1024, 0, 0}, {8, 34, 772, 4420, 1028, 0, 0}, {783, 12368, 20560, 0, 0, 0, 0}, {3136, 816, 16448, 0, 0, 0, 0}, {10, 34, 785, 1365, 4369, 0, 0}, {10, 34, 786, 1360, 4352, 0, 0}, {3148, 819, 16384, 0, 0, 0, 0}, {828, 13124, 17476, 0, 0, 0, 0}, {10, 32, 789, 4160, 5397, 0, 0}, {10, 32, 790, 4176, 5376, 0, 0}, {831, 13175, 17408, 0, 0, 0, 0}, {3144, 816, 17408, 0, 0, 0, 0}, {10, 32, 787, 1365, 4096, 0, 0}, {10, 32, 784, 1360, 4112, 0, 0}, {3140, 819, 17476, 0, 0, 0, 0}, {828, 12400, 16384, 0, 0, 0, 0}, {10, 34, 791, 4437, 5120, 0, 0}, {10, 34, 788, 4420, 5140, 0, 0}, {831, 12352, 16448, 0, 0, 0, 0}, {960, 3840, 13056, 0, 0, 0, 0}, {2, 321, 1285, 4369, 0, 0, 0}, {2, 320, 1280, 4352, 0, 0, 0}, {963, 3855, 13107, 0, 0, 0, 0}, {8, 1792, 1092, 0, 0, 0, 0}, {10, 869, 1285, 0, 0, 0, 0}, {10, 870, 1280, 0, 0, 0, 0}, {8, 1799, 1088, 0, 0, 0, 0}, {8, 1792, 1088, 0, 0, 0, 0}, {10, 867, 1285, 0, 0, 0, 0}, {10, 864, 1280, 0, 0, 0, 0}, {8, 1799, 1092, 0, 0, 0, 0}, {972, 3840, 12288, 0, 0, 0, 0}, {2, 325, 1285, 4112, 0, 0, 0}, {2, 324, 1280, 4096, 0, 0, 0}, {975, 3855, 12336, 0, 0, 0, 0}, {32, 4864, 4176, 0, 0, 0, 0}, {857, 34, 4369, 0, 0, 0, 0}, {858, 34, 4352, 0, 0, 0, 0}, {32, 4883, 4160, 0, 0, 0, 0}, {860, 884, 5140, 0, 0, 0, 0}, {42, 5632, 5461, 0, 0, 0, 0}, {42, 5654, 5440, 0, 0, 0, 0}, {863, 887, 5120, 0, 0, 0, 0}, {40, 5888, 5200, 0, 0, 0, 0}, {857, 883, 5397, 0, 0, 0, 0}, {858, 880, 5376, 0, 0, 0, 0}, {40, 5911, 5188, 0, 0, 0, 0}, {860, 32, 4112, 0, 0, 0, 0}, {34, 4608, 4437, 0, 0, 0, 0}, {34, 4626, 4420, 0, 0, 0, 0}, {863, 32, 4096, 0, 0, 0, 0}, {32, 4864, 4160, 0, 0, 0, 0}, {843, 34, 4369, 0, 0, 0, 0}, {840, 34, 4352, 0, 0, 0, 0}, {32, 4883, 4176, 0, 0, 0, 0}, {40, 5888, 5188, 0, 0, 0, 0}, {847, 869, 5397, 0, 0, 0, 0}, {844, 870, 5376, 0, 0, 0, 0}, {40, 5911, 5200, 0, 0, 0, 0}, {840, 864, 5120, 0, 0, 0, 0}, {42, 5654, 5461, 0, 0, 0, 0}, {42, 5632, 5440, 0, 0, 0, 0}, {843, 867, 5140, 0, 0, 0, 0}, {844, 32, 4096, 0, 0, 0, 0}, {34, 4626, 4437, 0, 0, 0, 0}, {34, 4608, 4420, 0, 0, 0, 0}, {847, 32, 4112, 0, 0, 0, 0}, {1008, 3072, 13056, 0, 0, 0, 0}, {2, 337, 1028, 4369, 0, 0, 0}, {2, 336, 1024, 4352, 0, 0, 0}, {1011, 3084, 13107, 0, 0, 0, 0}, {8, 884, 1028, 0, 0, 0, 0}, {10, 1536, 1365, 0, 0, 0, 0}, {10, 1542, 1360, 0, 0, 0, 0}, {8, 887, 1024, 0, 0, 0, 0}, {8, 880, 1024, 0, 0, 0, 0}, {10, 1542, 1365, 0, 0, 0, 0}, {10, 1536, 1360, 0, 0, 0, 0}, {8, 883, 1028, 0, 0, 0, 0}, {1020, 3084, 12336, 0, 0, 0, 0}, {2, 341, 1024, 4096, 0, 0, 0}, {2, 340, 1028, 4112, 0, 0, 0}, {1023, 3072, 12288, 0, 0, 0, 0}, {1024, 0, 0, 0, 0, 0, 0}, {5, 257, 0, 0, 0, 0, 0}, {1026, 0, 0, 0, 0, 0, 0}, {1027, 0, 0, 0, 0, 0, 0}, {1028, 0, 0, 0, 0, 0, 0}, {5, 256, 0, 0, 0, 0, 0}, {1030, 0, 0, 0, 0, 0, 0}, {1031, 0, 0, 0, 0, 0, 0}, {1032, 0, 0, 0, 0, 0, 0}, {259, 5, 0, 0, 0, 0, 0}, {10, 512, 1024, 0, 0, 0, 0}, {15, 771, 1028, 0, 0, 0, 0}, {1036, 0, 0, 0, 0, 0, 0}, {258, 5, 0, 0, 0, 0, 0}, {10, 514, 1028, 0, 0, 0, 0}, {15, 768, 1024, 0, 0, 0, 0}, {80, 1040, 4112, 0, 0, 0, 0}, {85, 1041, 4369, 0, 0, 0, 0}, {1042, 0, 0, 0, 0, 0, 0}, {1043, 0, 0, 0, 0, 0, 0}, {80, 1044, 4096, 0, 0, 0, 0}, {85, 1045, 4352, 0, 0, 0, 0}, {1046, 0, 0, 0, 0, 0, 0}, {1047, 0, 0, 0, 0, 0, 0}, {1048, 4144, 80, 0, 0, 0, 0}, {1049, 4403, 85, 0, 0, 0, 0}, {1050, 4656, 1088, 0, 0, 0, 0}, {1051, 4915, 1092, 0, 0, 0, 0}, {1052, 4128, 80, 0, 0, 0, 0}, {1053, 4386, 85, 0, 0, 0, 0}, {1054, 4642, 1092, 0, 0, 0, 0}, {1055, 4896, 1088, 0, 0, 0, 0}, {3072, 1056, 17408, 0, 0, 0, 0}, {15, 1057, 771, 85, 4369, 0, 0}, {3072, 1058, 16384, 0, 0, 0, 0}, {15, 1059, 771, 80, 4112, 0, 0}, {3084, 1060, 17476, 0, 0, 0, 0}, {15, 1061, 768, 85, 4352, 0, 0}, {3084, 1062, 16448, 0, 0, 0, 0}, {15, 1063, 768, 80, 4096, 0, 0}, {1064, 8192, 16384, 0, 0, 0, 0}, {15, 4403, 771, 85, 5397, 0, 0}, {1066, 8704, 17408, 0, 0, 0, 0}, {15, 4144, 771, 80, 5140, 0, 0}, {1068, 8224, 16448, 0, 0, 0, 0}, {15, 4386, 768, 85, 5376, 0, 0}, {1070, 8738, 17476, 0, 0, 0, 0}, {15, 4128, 768, 80, 5120, 0, 0}, {2048, 1072, 17408, 0, 0, 0, 0}, {10, 1073, 514, 85, 4369, 0, 0}, {10, 1074, 514, 80, 4112, 0, 0}, {2048, 1075, 16384, 0, 0, 0, 0}, {2056, 1076, 17476, 0, 0, 0, 0}, {10, 1077, 512, 85, 4352, 0, 0}, {10, 1078, 512, 80, 4096, 0, 0}, {2056, 1079, 16448, 0, 0, 0, 0}, {1080, 12336, 16448, 0, 0, 0, 0}, {10, 4403, 512, 85, 5376, 0, 0}, {10, 4144, 512, 80, 5120, 0, 0}, {1083, 13107, 17476, 0, 0, 0, 0}, {1084, 12288, 16384, 0, 0, 0, 0}, {10, 4386, 514, 85, 5397, 0, 0}, {10, 4128, 514, 80, 5140, 0, 0}, {1087, 13056, 17408, 0, 0, 0, 0}, {1088, 0, 0, 0, 0, 0, 0}, {5, 273, 0, 0, 0, 0, 0}, {1090, 0, 0, 0, 0, 0, 0}, {1091, 0, 0, 0, 0, 0, 0}, {1092, 0, 0, 0, 0, 0, 0}, {5, 272, 0, 0, 0, 0, 0}, {1094, 0, 0, 0, 0, 0, 0}, {1095, 0, 0, 0, 0, 0, 0}, {1096, 0, 0, 0, 0, 0, 0}, {275, 5, 0, 0, 0, 0, 0}, {10, 544, 1088, 0, 0, 0, 0}, {15, 819, 1092, 0, 0, 0, 0}, {1100, 0, 0, 0, 0, 0, 0}, {274, 5, 0, 0, 0, 0, 0}, {10, 546, 1092, 0, 0, 0, 0}, {15, 816, 1088, 0, 0, 0, 0}, {80, 1024, 4096, 0, 0, 0, 0}, {85, 1028, 4369, 0, 0, 0, 0}, {1106, 0, 0, 0, 0, 0, 0}, {1107, 0, 0, 0, 0, 0, 0}, {80, 1028, 4112, 0, 0, 0, 0}, {85, 1024, 4352, 0, 0, 0, 0}, {1110, 0, 0, 0, 0, 0, 0}, {1111, 0, 0, 0, 0, 0, 0}, {1032, 4128, 80, 0, 0, 0, 0}, {1036, 4403, 85, 0, 0, 0, 0}, {90, 4608, 1024, 0, 0, 0, 0}, {95, 4883, 1028, 0, 0, 0, 0}, {1036, 4144, 80, 0, 0, 0, 0}, {1032, 4386, 85, 0, 0, 0, 0}, {90, 4626, 1028, 0, 0, 0, 0}, {95, 4864, 1024, 0, 0, 0, 0}, {2048, 1120, 17408, 0, 0, 0, 0}, {15, 1076, 1799, 85, 4369, 0, 0}, {2056, 1122, 16448, 0, 0, 0, 0}, {15, 1075, 1792, 80, 4096, 0, 0}, {2056, 1124, 17476, 0, 0, 0, 0}, {15, 1072, 1792, 85, 4352, 0, 0}, {2048, 1126, 16384, 0, 0, 0, 0}, {15, 1079, 1799, 80, 4112, 0, 0}, {1128, 8224, 16448, 0, 0, 0, 0}, {15, 4403, 4608, 85, 5376, 0, 0}, {1130, 8704, 17408, 0, 0, 0, 0}, {15, 4128, 4883, 80, 5140, 0, 0}, {1132, 8192, 16384, 0, 0, 0, 0}, {15, 4386, 4626, 85, 5397, 0, 0}, {1134, 8738, 17476, 0, 0, 0, 0}, {15, 4144, 4864, 80, 5120, 0, 0}, {3072, 1136, 17408, 0, 0, 0, 0}, {10, 1060, 1542, 85, 4369, 0, 0}, {10, 1058, 1536, 80, 4096, 0, 0}, {3084, 1139, 16448, 0, 0, 0, 0}, {3084, 1140, 17476, 0, 0, 0, 0}, {10, 1056, 1536, 85, 4352, 0, 0}, {10, 1062, 1542, 80, 4112, 0, 0}, {3072, 1143, 16384, 0, 0, 0, 0}, {1144, 12288, 16384, 0, 0, 0, 0}, {10, 4403, 4883, 85, 5397, 0, 0}, {10, 4128, 4608, 80, 5120, 0, 0}, {1147, 13107, 17476, 0, 0, 0, 0}, {1148, 12336, 16448, 0, 0, 0, 0}, {10, 4386, 4864, 85, 5376, 0, 0}, {10, 4144, 4626, 80, 5140, 0, 0}, {1151, 13056, 17408, 0, 0, 0, 0}, {1152, 3072, 17408, 0, 0, 0, 0}, {289, 771, 5, 4369, 0, 0, 0}, {10, 1058, 1536, 16384, 0, 0, 0}, {15, 1139, 771, 16448, 0, 0, 0}, {1156, 3084, 17476, 0, 0, 0, 0}, {288, 768, 5, 4352, 0, 0, 0}, {10, 1062, 1542, 16448, 0, 0, 0}, {15, 1143, 768, 16384, 0, 0, 0}, {1160, 3072, 16384, 0, 0, 0, 0}, {291, 771, 5, 4112, 0, 0, 0}, {10, 1056, 1536, 17408, 0, 0, 0}, {15, 1140, 771, 17476, 0, 0, 0}, {1164, 3084, 16448, 0, 0, 0, 0}, {290, 768, 5, 4096, 0, 0, 0}, {10, 1060, 1542, 17476, 0, 0, 0}, {15, 1136, 768, 17408, 0, 0, 0}, {4144, 80, 5120, 0, 0, 0, 0}, {1083, 85, 4369, 0, 0, 0, 0}, {90, 1122, 4626, 16448, 0, 0, 0}, {95, 1075, 5888, 16384, 0, 0, 0}, {4128, 80, 5140, 0, 0, 0, 0}, {1087, 85, 4352, 0, 0, 0, 0}, {90, 1126, 4608, 16384, 0, 0, 0}, {95, 1079, 5911, 16448, 0, 0, 0}, {1080, 80, 4112, 0, 0, 0, 0}, {4403, 85, 5376, 0, 0, 0, 0}, {90, 1072, 5632, 17408, 0, 0, 0}, {95, 1124, 4883, 17476, 0, 0, 0}, {1084, 80, 4096, 0, 0, 0, 0}, {4386, 85, 5397, 0, 0, 0, 0}, {90, 1076, 5654, 17476, 0, 0, 0}, {95, 1120, 4864, 17408, 0, 0, 0}, {160, 8192, 1024, 0, 0, 0, 0}, {15, 771, 85, 1028, 4369, 0, 0}, {1032, 17442, 0, 0, 0, 0, 0}, {1027, 80, 0, 0, 0, 0, 0}, {160, 8224, 1028, 0, 0, 0, 0}, {15, 768, 85, 1024, 4352, 0, 0}, {1036, 17510, 0, 0, 0, 0, 0}, {1031, 80, 0, 0, 0, 0, 0}, {1032, 16416, 0, 0, 0, 0, 0}, {1027, 85, 0, 0, 0, 0, 0}, {170, 8704, 1024, 0, 0, 0, 0}, {15, 771, 80, 1028, 4112, 0, 0}, {1036, 16480, 0, 0, 0, 0, 0}, {1031, 85, 0, 0, 0, 0, 0}, {170, 8738, 1028, 0, 0, 0, 0}, {15, 768, 80, 1024, 4096, 0, 0}, {3120, 12336, 1088, 0, 0, 0, 0}, {10, 546, 85, 1041, 4369, 0, 0}, {1042, 80, 0, 0, 0, 0, 0}, {1100, 17459, 0, 0, 0, 0, 0}, {3132, 12288, 1092, 0, 0, 0, 0}, {10, 544, 85, 1045, 4352, 0, 0}, {1046, 80, 0, 0, 0, 0, 0}, {1096, 17527, 0, 0, 0, 0, 0}, {1096, 16432, 0, 0, 0, 0, 0}, {1043, 85, 0, 0, 0, 0, 0}, {10, 544, 80, 1040, 4112, 0, 0}, {3123, 13107, 1092, 0, 0, 0, 0}, {1100, 16496, 0, 0, 0, 0, 0}, {1047, 85, 0, 0, 0, 0, 0}, {10, 546, 80, 1044, 4096, 0, 0}, {3135, 13056, 1088, 0, 0, 0, 0}, {1216, 2048, 17408, 0, 0, 0, 0}, {305, 514, 5, 4369, 0, 0, 0}, {10, 1122, 514, 16448, 0, 0, 0}, {15, 1075, 1792, 16384, 0, 0, 0}, {1220, 2056, 17476, 0, 0, 0, 0}, {304, 512, 5, 4352, 0, 0, 0}, {10, 1126, 512, 16384, 0, 0, 0}, {15, 1079, 1799, 16448, 0, 0, 0}, {1224, 2056, 16448, 0, 0, 0, 0}, {307, 512, 5, 4096, 0, 0, 0}, {10, 1120, 512, 17408, 0, 0, 0}, {15, 1076, 1799, 17476, 0, 0, 0}, {1228, 2048, 16384, 0, 0, 0, 0}, {306, 514, 5, 4112, 0, 0, 0}, {10, 1124, 514, 17476, 0, 0, 0}, {15, 1072, 1792, 17408, 0, 0, 0}, {4128, 80, 5120, 0, 0, 0, 0}, {1070, 85, 4369, 0, 0, 0, 0}, {90, 1058, 5632, 16384, 0, 0, 0}, {95, 1139, 4883, 16448, 0, 0, 0}, {4144, 80, 5140, 0, 0, 0, 0}, {1066, 85, 4352, 0, 0, 0, 0}, {90, 1062, 5654, 16448, 0, 0, 0}, {95, 1143, 4864, 16384, 0, 0, 0}, {1064, 80, 4096, 0, 0, 0, 0}, {4403, 85, 5397, 0, 0, 0, 0}, {90, 1136, 4608, 17408, 0, 0, 0}, {95, 1060, 5911, 17476, 0, 0, 0}, {1068, 80, 4112, 0, 0, 0, 0}, {4386, 85, 5376, 0, 0, 0, 0}, {90, 1140, 4626, 17476, 0, 0, 0}, {95, 1056, 5888, 17408, 0, 0, 0}, {2080, 8224, 1088, 0, 0, 0, 0}, {15, 819, 85, 1041, 4369, 0, 0}, {1096, 17442, 0, 0, 0, 0, 0}, {1043, 80, 0, 0, 0, 0, 0}, {2088, 8192, 1092, 0, 0, 0, 0}, {15, 816, 85, 1045, 4352, 0, 0}, {1100, 17510, 0, 0, 0, 0, 0}, {1047, 80, 0, 0, 0, 0, 0}, {1096, 16480, 0, 0, 0, 0, 0}, {1046, 85, 0, 0, 0, 0, 0}, {2090, 8704, 1088, 0, 0, 0, 0}, {15, 819, 80, 1044, 4096, 0, 0}, {1100, 16416, 0, 0, 0, 0, 0}, {1042, 85, 0, 0, 0, 0, 0}, {2082, 8738, 1092, 0, 0, 0, 0}, {15, 816, 80, 1040, 4112, 0, 0}, {240, 12288, 1024, 0, 0, 0, 0}, {10, 514, 85, 1028, 4369, 0, 0}, {1026, 80, 0, 0, 0, 0, 0}, {1036, 17459, 0, 0, 0, 0, 0}, {240, 12336, 1028, 0, 0, 0, 0}, {10, 512, 85, 1024, 4352, 0, 0}, {1030, 80, 0, 0, 0, 0, 0}, {1032, 17527, 0, 0, 0, 0, 0}, {1032, 16496, 0, 0, 0, 0, 0}, {1030, 85, 0, 0, 0, 0, 0}, {10, 512, 80, 1024, 4096, 0, 0}, {255, 13107, 1028, 0, 0, 0, 0}, {1036, 16432, 0, 0, 0, 0, 0}, {1026, 85, 0, 0, 0, 0, 0}, {10, 514, 80, 1028, 4112, 0, 0}, {255, 13056, 1024, 0, 0, 0, 0}, {1280, 0, 0, 0, 0, 0, 0}, {4, 257, 0, 0, 0, 0, 0}, {1282, 0, 0, 0, 0, 0, 0}, {1283, 0, 0, 0, 0, 0, 0}, {4, 256, 0, 0, 0, 0, 0}, {1285, 0, 0, 0, 0, 0, 0}, {1286, 0, 0, 0, 0, 0, 0}, {1287, 0, 0, 0, 0, 0, 0}, {8, 512, 1280, 0, 0, 0, 0}, {12, 771, 1285, 0, 0, 0, 0}, {1290, 0, 0, 0, 0, 0, 0}, {259, 4, 0, 0, 0, 0, 0}, {12, 768, 1280, 0, 0, 0, 0}, {8, 514, 1285, 0, 0, 0, 0}, {258, 4, 0, 0, 0, 0, 0}, {1295, 0, 0, 0, 0, 0, 0}, {64, 1296, 4112, 0, 0, 0, 0}, {68, 1297, 4369, 0, 0, 0, 0}, {1298, 0, 0, 0, 0, 0, 0}, {1299, 0, 0, 0, 0, 0, 0}, {68, 1300, 4352, 0, 0, 0, 0}, {64, 1301, 4096, 0, 0, 0, 0}, {1302, 0, 0, 0, 0, 0, 0}, {1303, 0, 0, 0, 0, 0, 0}, {1304, 4656, 1360, 0, 0, 0, 0}, {1305, 4915, 1365, 0, 0, 0, 0}, {1306, 4144, 64, 0, 0, 0, 0}, {1307, 4403, 68, 0, 0, 0, 0}, {1308, 4896, 1360, 0, 0, 0, 0}, {1309, 4642, 1365, 0, 0, 0, 0}, {1310, 4386, 68, 0, 0, 0, 0}, {1311, 4128, 64, 0, 0, 0, 0}, {3840, 1312, 21760, 0, 0, 0, 0}, {12, 1313, 771, 68, 4369, 0, 0}, {3840, 1314, 20480, 0, 0, 0, 0}, {12, 1315, 771, 64, 4112, 0, 0}, {12, 1316, 768, 68, 4352, 0, 0}, {3855, 1317, 21845, 0, 0, 0, 0}, {12, 1318, 768, 64, 4096, 0, 0}, {3855, 1319, 20560, 0, 0, 0, 0}, {1320, 8704, 21760, 0, 0, 0, 0}, {12, 4144, 771, 64, 5397, 0, 0}, {1322, 8192, 20480, 0, 0, 0, 0}, {12, 4403, 771, 68, 5140, 0, 0}, {12, 4128, 768, 64, 5376, 0, 0}, {1325, 8738, 21845, 0, 0, 0, 0}, {12, 4386, 768, 68, 5120, 0, 0}, {1327, 8224, 20560, 0, 0, 0, 0}, {2560, 1328, 21760, 0, 0, 0, 0}, {8, 1329, 514, 68, 4369, 0, 0}, {8, 1330, 514, 64, 4112, 0, 0}, {2560, 1331, 20480, 0, 0, 0, 0}, {8, 1332, 512, 68, 4352, 0, 0}, {2570, 1333, 21845, 0, 0, 0, 0}, {2570, 1334, 20560, 0, 0, 0, 0}, {8, 1335, 512, 64, 4096, 0, 0}, {8, 4144, 512, 64, 5376, 0, 0}, {1337, 13107, 21845, 0, 0, 0, 0}, {1338, 12336, 20560, 0, 0, 0, 0}, {8, 4403, 512, 68, 5120, 0, 0}, {1340, 13056, 21760, 0, 0, 0, 0}, {8, 4128, 514, 64, 5397, 0, 0}, {8, 4386, 514, 68, 5140, 0, 0}, {1343, 12288, 20480, 0, 0, 0, 0}, {64, 1280, 4096, 0, 0, 0, 0}, {68, 1285, 4369, 0, 0, 0, 0}, {1346, 0, 0, 0, 0, 0, 0}, {1347, 0, 0, 0, 0, 0, 0}, {68, 1280, 4352, 0, 0, 0, 0}, {64, 1285, 4112, 0, 0, 0, 0}, {1350, 0, 0, 0, 0, 0, 0}, {1351, 0, 0, 0, 0, 0, 0}, {72, 4608, 1280, 0, 0, 0, 0}, {76, 4883, 1285, 0, 0, 0, 0}, {1290, 4128, 64, 0, 0, 0, 0}, {1295, 4403, 68, 0, 0, 0, 0}, {76, 4864, 1280, 0, 0, 0, 0}, {72, 4626, 1285, 0, 0, 0, 0}, {1290, 4386, 68, 0, 0, 0, 0}, {1295, 4144, 64, 0, 0, 0, 0}, {1360, 0, 0, 0, 0, 0, 0}, {4, 273, 0, 0, 0, 0, 0}, {1362, 0, 0, 0, 0, 0, 0}, {1363, 0, 0, 0, 0, 0, 0}, {4, 272, 0, 0, 0, 0, 0}, {1365, 0, 0, 0, 0, 0, 0}, {1366, 0, 0, 0, 0, 0, 0}, {1367, 0, 0, 0, 0, 0, 0}, {8, 544, 1360, 0, 0, 0, 0}, {12, 819, 1365, 0, 0, 0, 0}, {1370, 0, 0, 0, 0, 0, 0}, {275, 4, 0, 0, 0, 0, 0}, {12, 816, 1360, 0, 0, 0, 0}, {8, 546, 1365, 0, 0, 0, 0}, {274, 4, 0, 0, 0, 0, 0}, {1375, 0, 0, 0, 0, 0, 0}, {3840, 1376, 21760, 0, 0, 0, 0}, {8, 1317, 1799, 68, 4369, 0, 0}, {8, 1314, 1792, 64, 4096, 0, 0}, {3855, 1379, 20560, 0, 0, 0, 0}, {8, 1312, 1792, 68, 4352, 0, 0}, {3855, 1381, 21845, 0, 0, 0, 0}, {3840, 1382, 20480, 0, 0, 0, 0}, {8, 1319, 1799, 64, 4112, 0, 0}, {8, 4128, 4608, 64, 5376, 0, 0}, {1385, 13107, 21845, 0, 0, 0, 0}, {1386, 12288, 20480, 0, 0, 0, 0}, {8, 4403, 4883, 68, 5140, 0, 0}, {1388, 13056, 21760, 0, 0, 0, 0}, {8, 4144, 4626, 64, 5397, 0, 0}, {8, 4386, 4864, 68, 5120, 0, 0}, {1391, 12336, 20560, 0, 0, 0, 0}, {2560, 1392, 21760, 0, 0, 0, 0}, {12, 1333, 1542, 68, 4369, 0, 0}, {2570, 1394, 20560, 0, 0, 0, 0}, {12, 1331, 1536, 64, 4096, 0, 0}, {12, 1328, 1536, 68, 4352, 0, 0}, {2570, 1397, 21845, 0, 0, 0, 0}, {12, 1334, 1542, 64, 4112, 0, 0}, {2560, 1399, 20480, 0, 0, 0, 0}, {1400, 8704, 21760, 0, 0, 0, 0}, {12, 4128, 4883, 64, 5397, 0, 0}, {1402, 8224, 20560, 0, 0, 0, 0}, {12, 4403, 4608, 68, 5120, 0, 0}, {12, 4144, 4864, 64, 5376, 0, 0}, {1405, 8738, 21845, 0, 0, 0, 0}, {12, 4386, 4626, 68, 5140, 0, 0}, {1407, 8192, 20480, 0, 0, 0, 0}, {128, 8192, 1280, 0, 0, 0, 0}, {12, 771, 68, 1285, 4369, 0, 0}, {1290, 21794, 0, 0, 0, 0, 0}, {1283, 64, 0, 0, 0, 0, 0}, {12, 768, 68, 1280, 4352, 0, 0}, {128, 8224, 1285, 0, 0, 0, 0}, {1286, 64, 0, 0, 0, 0, 0}, {1295, 21879, 0, 0, 0, 0, 0}, {136, 8704, 1280, 0, 0, 0, 0}, {12, 771, 64, 1285, 4112, 0, 0}, {1290, 20512, 0, 0, 0, 0, 0}, {1283, 68, 0, 0, 0, 0, 0}, {12, 768, 64, 1280, 4096, 0, 0}, {136, 8738, 1285, 0, 0, 0, 0}, {1286, 68, 0, 0, 0, 0, 0}, {1295, 20592, 0, 0, 0, 0, 0}, {3888, 12336, 1360, 0, 0, 0, 0}, {8, 546, 68, 1297, 4369, 0, 0}, {1298, 64, 0, 0, 0, 0, 0}, {1375, 21811, 0, 0, 0, 0, 0}, {8, 544, 68, 1300, 4352, 0, 0}, {3903, 12288, 1365, 0, 0, 0, 0}, {1370, 21862, 0, 0, 0, 0, 0}, {1303, 64, 0, 0, 0, 0, 0}, {8, 544, 64, 1296, 4112, 0, 0}, {3891, 13107, 1365, 0, 0, 0, 0}, {1370, 20528, 0, 0, 0, 0, 0}, {1299, 68, 0, 0, 0, 0, 0}, {3900, 13056, 1360, 0, 0, 0, 0}, {8, 546, 64, 1301, 4096, 0, 0}, {1302, 68, 0, 0, 0, 0, 0}, {1375, 20576, 0, 0, 0, 0, 0}, {1440, 3840, 21760, 0, 0, 0, 0}, {289, 771, 4, 4369, 0, 0, 0}, {8, 1314, 1792, 20480, 0, 0, 0}, {12, 1379, 771, 20560, 0, 0, 0}, {288, 768, 4, 4352, 0, 0, 0}, {1445, 3855, 21845, 0, 0, 0, 0}, {12, 1382, 768, 20480, 0, 0, 0}, {8, 1319, 1799, 20560, 0, 0, 0}, {8, 1312, 1792, 21760, 0, 0, 0}, {12, 1381, 771, 21845, 0, 0, 0}, {1450, 3840, 20480, 0, 0, 0, 0}, {291, 771, 4, 4112, 0, 0, 0}, {12, 1376, 768, 21760, 0, 0, 0}, {8, 1317, 1799, 21845, 0, 0, 0}, {290, 768, 4, 4096, 0, 0, 0}, {1455, 3855, 20560, 0, 0, 0, 0}, {4144, 64, 5376, 0, 0, 0, 0}, {1337, 68, 4369, 0, 0, 0, 0}, {72, 1394, 4626, 20560, 0, 0, 0}, {76, 1331, 5632, 20480, 0, 0, 0}, {1340, 68, 4352, 0, 0, 0, 0}, {4128, 64, 5397, 0, 0, 0, 0}, {76, 1334, 5654, 20560, 0, 0, 0}, {72, 1399, 4608, 20480, 0, 0, 0}, {72, 1328, 5888, 21760, 0, 0, 0}, {76, 1397, 4883, 21845, 0, 0, 0}, {1338, 64, 4112, 0, 0, 0, 0}, {4403, 68, 5120, 0, 0, 0, 0}, {76, 1392, 4864, 21760, 0, 0, 0}, {72, 1333, 5911, 21845, 0, 0, 0}, {4386, 68, 5140, 0, 0, 0, 0}, {1343, 64, 4096, 0, 0, 0, 0}, {192, 12288, 1280, 0, 0, 0, 0}, {8, 514, 68, 1285, 4369, 0, 0}, {1282, 64, 0, 0, 0, 0, 0}, {1295, 21811, 0, 0, 0, 0, 0}, {8, 512, 68, 1280, 4352, 0, 0}, {192, 12336, 1285, 0, 0, 0, 0}, {1290, 21862, 0, 0, 0, 0, 0}, {1287, 64, 0, 0, 0, 0, 0}, {8, 512, 64, 1280, 4096, 0, 0}, {204, 13107, 1285, 0, 0, 0, 0}, {1290, 20576, 0, 0, 0, 0, 0}, {1287, 68, 0, 0, 0, 0, 0}, {204, 13056, 1280, 0, 0, 0, 0}, {8, 514, 64, 1285, 4112, 0, 0}, {1282, 68, 0, 0, 0, 0, 0}, {1295, 20528, 0, 0, 0, 0, 0}, {2592, 8224, 1360, 0, 0, 0, 0}, {12, 819, 68, 1297, 4369, 0, 0}, {1370, 21794, 0, 0, 0, 0, 0}, {1299, 64, 0, 0, 0, 0, 0}, {12, 816, 68, 1300, 4352, 0, 0}, {2602, 8192, 1365, 0, 0, 0, 0}, {1302, 64, 0, 0, 0, 0, 0}, {1375, 21879, 0, 0, 0, 0, 0}, {2600, 8704, 1360, 0, 0, 0, 0}, {12, 819, 64, 1301, 4096, 0, 0}, {1370, 20592, 0, 0, 0, 0, 0}, {1303, 68, 0, 0, 0, 0, 0}, {12, 816, 64, 1296, 4112, 0, 0}, {2594, 8738, 1365, 0, 0, 0, 0}, {1298, 68, 0, 0, 0, 0, 0}, {1375, 20512, 0, 0, 0, 0, 0}, {4128, 64, 5376, 0, 0, 0, 0}, {1325, 68, 4369, 0, 0, 0, 0}, {72, 1314, 5888, 20480, 0, 0, 0}, {76, 1379, 4883, 20560, 0, 0, 0}, {1320, 68, 4352, 0, 0, 0, 0}, {4144, 64, 5397, 0, 0, 0, 0}, {76, 1382, 4864, 20480, 0, 0, 0}, {72, 1319, 5911, 20560, 0, 0, 0}, {72, 1376, 4608, 21760, 0, 0, 0}, {76, 1317, 5654, 21845, 0, 0, 0}, {1322, 64, 4096, 0, 0, 0, 0}, {4403, 68, 5140, 0, 0, 0, 0}, {76, 1312, 5632, 21760, 0, 0, 0}, {72, 1381, 4626, 21845, 0, 0, 0}, {4386, 68, 5120, 0, 0, 0, 0}, {1327, 64, 4112, 0, 0, 0, 0}, {1520, 2560, 21760, 0, 0, 0, 0}, {305, 514, 4, 4369, 0, 0, 0}, {8, 1394, 514, 20560, 0, 0, 0}, {12, 1331, 1536, 20480, 0, 0, 0}, {304, 512, 4, 4352, 0, 0, 0}, {1525, 2570, 21845, 0, 0, 0, 0}, {12, 1334, 1542, 20560, 0, 0, 0}, {8, 1399, 512, 20480, 0, 0, 0}, {8, 1392, 512, 21760, 0, 0, 0}, {12, 1333, 1542, 21845, 0, 0, 0}, {1530, 2570, 20560, 0, 0, 0, 0}, {307, 512, 4, 4096, 0, 0, 0}, {12, 1328, 1536, 21760, 0, 0, 0}, {8, 1397, 514, 21845, 0, 0, 0}, {306, 514, 4, 4112, 0, 0, 0}, {1535, 2560, 20480, 0, 0, 0, 0}, {1536, 0, 0, 0, 0, 0, 0}, {7, 257, 0, 0, 0, 0, 0}, {8, 514, 1024, 0, 0, 0, 0}, {15, 771, 1280, 0, 0, 0, 0}, {8, 512, 1028, 0, 0, 0, 0}, {15, 768, 1285, 0, 0, 0, 0}, {1542, 0, 0, 0, 0, 0, 0}, {7, 256, 0, 0, 0, 0, 0}, {8, 512, 1024, 0, 0, 0, 0}, {15, 771, 1285, 0, 0, 0, 0}, {1546, 0, 0, 0, 0, 0, 0}, {259, 260, 0, 0, 0, 0, 0}, {1548, 0, 0, 0, 0, 0, 0}, {258, 261, 0, 0, 0, 0, 0}, {8, 514, 1028, 0, 0, 0, 0}, {15, 768, 1280, 0, 0, 0, 0}, {112, 1552, 4112, 0, 0, 0, 0}, {119, 1553, 4369, 0, 0, 0, 0}, {120, 4626, 5120, 0, 0, 0, 0}, {127, 4883, 5376, 0, 0, 0, 0}, {120, 4608, 5140, 0, 0, 0, 0}, {127, 4864, 5397, 0, 0, 0, 0}, {112, 1558, 4096, 0, 0, 0, 0}, {119, 1559, 4352, 0, 0, 0, 0}, {1560, 4656, 5200, 0, 0, 0, 0}, {1561, 4915, 5461, 0, 0, 0, 0}, {1562, 4144, 4160, 0, 0, 0, 0}, {1563, 4403, 4420, 0, 0, 0, 0}, {1564, 4128, 4176, 0, 0, 0, 0}, {1565, 4386, 4437, 0, 0, 0, 0}, {1566, 4642, 5188, 0, 0, 0, 0}, {1567, 4896, 5440, 0, 0, 0, 0}, {3072, 1568, 16384, 0, 0, 0, 0}, {15, 1314, 771, 1365, 4369, 0, 0}, {3072, 1570, 17408, 0, 0, 0, 0}, {15, 1312, 771, 1360, 4112, 0, 0}, {3084, 1572, 17476, 0, 0, 0, 0}, {15, 1317, 768, 1365, 4096, 0, 0}, {3084, 1574, 16448, 0, 0, 0, 0}, {15, 1319, 768, 1360, 4352, 0, 0}, {1576, 8704, 17408, 0, 0, 0, 0}, {15, 4144, 771, 4160, 5397, 0, 0}, {1578, 8192, 16384, 0, 0, 0, 0}, {15, 4403, 771, 4420, 5140, 0, 0}, {1580, 8224, 16448, 0, 0, 0, 0}, {15, 4386, 768, 4437, 5120, 0, 0}, {1582, 8738, 17476, 0, 0, 0, 0}, {15, 4128, 768, 4176, 5376, 0, 0}, {2560, 1584, 20480, 0, 0, 0, 0}, {8, 1075, 514, 1092, 4369, 0, 0}, {8, 1072, 514, 1088, 4112, 0, 0}, {2560, 1587, 21760, 0, 0, 0, 0}, {8, 1076, 512, 1092, 4096, 0, 0}, {2570, 1589, 21845, 0, 0, 0, 0}, {2570, 1590, 20560, 0, 0, 0, 0}, {8, 1079, 512, 1088, 4352, 0, 0}, {8, 4144, 512, 4160, 5120, 0, 0}, {1593, 13107, 21845, 0, 0, 0, 0}, {1594, 12336, 20560, 0, 0, 0, 0}, {8, 4403, 512, 4420, 5376, 0, 0}, {1596, 12288, 20480, 0, 0, 0, 0}, {8, 4386, 514, 4437, 5397, 0, 0}, {8, 4128, 514, 4176, 5140, 0, 0}, {1599, 13056, 21760, 0, 0, 0, 0}, {128, 1600, 16448, 0, 0, 0, 0}, {15, 119, 836, 1285, 4369, 0, 0}, {136, 1602, 17408, 0, 0, 0, 0}, {15, 112, 835, 1280, 4096, 0, 0}, {136, 1604, 17476, 0, 0, 0, 0}, {15, 112, 832, 1285, 4112, 0, 0}, {128, 1606, 16384, 0, 0, 0, 0}, {15, 119, 839, 1280, 4352, 0, 0}, {1608, 8704, 17408, 0, 0, 0, 0}, {15, 4128, 4883, 4176, 1285, 0, 0}, {1610, 8224, 16448, 0, 0, 0, 0}, {15, 4403, 4608, 4420, 1280, 0, 0}, {1612, 8192, 16384, 0, 0, 0, 0}, {15, 4386, 4626, 4437, 1285, 0, 0}, {1614, 8738, 17476, 0, 0, 0, 0}, {15, 4144, 4864, 4160, 1280, 0, 0}, {240, 1616, 20560, 0, 0, 0, 0}, {8, 119, 597, 1028, 4369, 0, 0}, {8, 112, 594, 1024, 4096, 0, 0}, {255, 1619, 21760, 0, 0, 0, 0}, {8, 112, 592, 1028, 4112, 0, 0}, {255, 1621, 21845, 0, 0, 0, 0}, {240, 1622, 20480, 0, 0, 0, 0}, {8, 119, 599, 1024, 4352, 0, 0}, {8, 4128, 4608, 4176, 1024, 0, 0}, {1625, 13107, 21845, 0, 0, 0, 0}, {1626, 12288, 20480, 0, 0, 0, 0}, {8, 4403, 4883, 4420, 1028, 0, 0}, {1628, 12336, 20560, 0, 0, 0, 0}, {8, 4386, 4864, 4437, 1024, 0, 0}, {8, 4144, 4626, 4160, 1028, 0, 0}, {1631, 13056, 21760, 0, 0, 0, 0}, {1632, 0, 0, 0, 0, 0, 0}, {7, 273, 0, 0, 0, 0, 0}, {8, 546, 1088, 0, 0, 0, 0}, {15, 819, 1360, 0, 0, 0, 0}, {8, 544, 1092, 0, 0, 0, 0}, {15, 816, 1365, 0, 0, 0, 0}, {1638, 0, 0, 0, 0, 0, 0}, {7, 272, 0, 0, 0, 0, 0}, {8, 544, 1088, 0, 0, 0, 0}, {15, 819, 1365, 0, 0, 0, 0}, {1642, 0, 0, 0, 0, 0, 0}, {275, 276, 0, 0, 0, 0, 0}, {1644, 0, 0, 0, 0, 0, 0}, {274, 277, 0, 0, 0, 0, 0}, {8, 546, 1092, 0, 0, 0, 0}, {15, 816, 1360, 0, 0, 0, 0}, {112, 1536, 4096, 0, 0, 0, 0}, {119, 1542, 4369, 0, 0, 0, 0}, {1546, 4642, 5200, 0, 0, 0, 0}, {1548, 4915, 5440, 0, 0, 0, 0}, {1548, 4656, 5188, 0, 0, 0, 0}, {1546, 4896, 5461, 0, 0, 0, 0}, {112, 1542, 4112, 0, 0, 0, 0}, {119, 1536, 4352, 0, 0, 0, 0}, {120, 4608, 5120, 0, 0, 0, 0}, {127, 4883, 5397, 0, 0, 0, 0}, {1546, 4128, 4176, 0, 0, 0, 0}, {1548, 4403, 4420, 0, 0, 0, 0}, {1548, 4144, 4160, 0, 0, 0, 0}, {1546, 4386, 4437, 0, 0, 0, 0}, {120, 4626, 5140, 0, 0, 0, 0}, {127, 4864, 5376, 0, 0, 0, 0}, {128, 1536, 16384, 0, 0, 0, 0}, {15, 119, 771, 1285, 4369, 0, 0}, {1546, 8738, 17408, 0, 0, 0, 0}, {15, 4144, 771, 4160, 1280, 0, 0}, {1548, 8704, 17476, 0, 0, 0, 0}, {15, 4128, 768, 4176, 1285, 0, 0}, {128, 1542, 16448, 0, 0, 0, 0}, {15, 119, 768, 1280, 4352, 0, 0}, {136, 1536, 17408, 0, 0, 0, 0}, {15, 112, 771, 1285, 4112, 0, 0}, {1546, 8224, 16384, 0, 0, 0, 0}, {15, 4403, 771, 4420, 1280, 0, 0}, {1548, 8192, 16448, 0, 0, 0, 0}, {15, 4386, 768, 4437, 1285, 0, 0}, {136, 1542, 17476, 0, 0, 0, 0}, {15, 112, 768, 1280, 4096, 0, 0}, {2640, 1632, 20560, 0, 0, 0, 0}, {8, 1075, 1553, 1092, 4369, 0, 0}, {8, 4144, 4626, 4160, 5120, 0, 0}, {1644, 13107, 21760, 0, 0, 0, 0}, {8, 4128, 4608, 4176, 5140, 0, 0}, {1642, 13056, 21845, 0, 0, 0, 0}, {2650, 1638, 20480, 0, 0, 0, 0}, {8, 1079, 1559, 1088, 4352, 0, 0}, {8, 1072, 1552, 1088, 4112, 0, 0}, {2645, 1638, 21845, 0, 0, 0, 0}, {1642, 12336, 20480, 0, 0, 0, 0}, {8, 4403, 4883, 4420, 5376, 0, 0}, {1644, 12288, 20560, 0, 0, 0, 0}, {8, 4386, 4864, 4437, 5397, 0, 0}, {8, 1076, 1558, 1092, 4096, 0, 0}, {2655, 1632, 21760, 0, 0, 0, 0}, {1696, 3072, 26112, 0, 0, 0, 0}, {7, 337, 1028, 4369, 0, 0, 0}, {8, 546, 1024, 0, 0, 0, 0}, {15, 771, 1360, 0, 0, 0, 0}, {8, 544, 1028, 0, 0, 0, 0}, {15, 768, 1365, 0, 0, 0, 0}, {1702, 3084, 26214, 0, 0, 0, 0}, {7, 336, 1024, 4352, 0, 0, 0}, {8, 544, 1024, 0, 0, 0, 0}, {15, 771, 1365, 0, 0, 0, 0}, {1706, 3072, 24576, 0, 0, 0, 0}, {7, 340, 1028, 4112, 0, 0, 0}, {1708, 3084, 24672, 0, 0, 0, 0}, {7, 341, 1024, 4096, 0, 0, 0}, {8, 546, 1028, 0, 0, 0, 0}, {15, 768, 1360, 0, 0, 0, 0}, {4144, 5632, 4160, 0, 0, 0, 0}, {1614, 119, 4369, 0, 0, 0, 0}, {5160, 4626, 5200, 0, 0, 0, 0}, {4940, 4915, 5376, 0, 0, 0, 0}, {5180, 4608, 5188, 0, 0, 0, 0}, {4959, 4896, 5397, 0, 0, 0, 0}, {4128, 5654, 4176, 0, 0, 0, 0}, {1608, 119, 4352, 0, 0, 0, 0}, {4680, 4656, 5120, 0, 0, 0, 0}, {5418, 4883, 5461, 0, 0, 0, 0}, {1610, 112, 4112, 0, 0, 0, 0}, {4403, 5888, 4420, 0, 0, 0, 0}, {1612, 112, 4096, 0, 0, 0, 0}, {4386, 5911, 4437, 0, 0, 0, 0}, {4698, 4642, 5140, 0, 0, 0, 0}, {5439, 4864, 5440, 0, 0, 0, 0}, {1728, 2560, 26112, 0, 0, 0, 0}, {7, 321, 1285, 4369, 0, 0, 0}, {8, 514, 1088, 0, 0, 0, 0}, {15, 819, 1280, 0, 0, 0, 0}, {8, 512, 1092, 0, 0, 0, 0}, {15, 816, 1285, 0, 0, 0, 0}, {1734, 2570, 26214, 0, 0, 0, 0}, {7, 320, 1280, 4352, 0, 0, 0}, {8, 512, 1088, 0, 0, 0, 0}, {15, 819, 1285, 0, 0, 0, 0}, {1738, 2570, 24672, 0, 0, 0, 0}, {7, 324, 1280, 4096, 0, 0, 0}, {1740, 2560, 24576, 0, 0, 0, 0}, {7, 325, 1285, 4112, 0, 0, 0}, {8, 514, 1092, 0, 0, 0, 0}, {15, 816, 1280, 0, 0, 0, 0}, {4128, 5632, 4176, 0, 0, 0, 0}, {1625, 119, 4369, 0, 0, 0, 0}, {4698, 4642, 5120, 0, 0, 0, 0}, {5439, 4883, 5440, 0, 0, 0, 0}, {4680, 4656, 5140, 0, 0, 0, 0}, {5418, 4864, 5461, 0, 0, 0, 0}, {4144, 5654, 4160, 0, 0, 0, 0}, {1631, 119, 4352, 0, 0, 0, 0}, {5160, 4608, 5200, 0, 0, 0, 0}, {4940, 4915, 5397, 0, 0, 0, 0}, {1626, 112, 4096, 0, 0, 0, 0}, {4403, 5911, 4420, 0, 0, 0, 0}, {1628, 112, 4112, 0, 0, 0, 0}, {4386, 5888, 4437, 0, 0, 0, 0}, {5180, 4626, 5188, 0, 0, 0, 0}, {4959, 4896, 5376, 0, 0, 0, 0}, {3136, 1632, 16448, 0, 0, 0, 0}, {15, 1314, 1553, 1365, 4369, 0, 0}, {1642, 8738, 17408, 0, 0, 0, 0}, {15, 4128, 4883, 4176, 5376, 0, 0}, {1644, 8704, 17476, 0, 0, 0, 0}, {15, 4144, 4864, 4160, 5397, 0, 0}, {3148, 1638, 16384, 0, 0, 0, 0}, {15, 1319, 1559, 1360, 4352, 0, 0}, {3144, 1632, 17408, 0, 0, 0, 0}, {15, 1317, 1558, 1365, 4096, 0, 0}, {1642, 8192, 16448, 0, 0, 0, 0}, {15, 4403, 4608, 4420, 5140, 0, 0}, {1644, 8224, 16384, 0, 0, 0, 0}, {15, 4386, 4626, 4437, 5120, 0, 0}, {3140, 1638, 17476, 0, 0, 0, 0}, {15, 1312, 1552, 1360, 4112, 0, 0}, {240, 1536, 20480, 0, 0, 0, 0}, {8, 119, 514, 1028, 4369, 0, 0}, {8, 4128, 514, 4176, 1024, 0, 0}, {1548, 13107, 21760, 0, 0, 0, 0}, {8, 4144, 512, 4160, 1028, 0, 0}, {1546, 13056, 21845, 0, 0, 0, 0}, {240, 1542, 20560, 0, 0, 0, 0}, {8, 119, 512, 1024, 4352, 0, 0}, {8, 112, 512, 1024, 4096, 0, 0}, {255, 1542, 21845, 0, 0, 0, 0}, {1546, 12288, 20560, 0, 0, 0, 0}, {8, 4403, 512, 4420, 1028, 0, 0}, {1548, 12336, 20480, 0, 0, 0, 0}, {8, 4386, 514, 4437, 1024, 0, 0}, {8, 112, 514, 1028, 4112, 0, 0}, {255, 1536, 21760, 0, 0, 0, 0}, {1792, 0, 0, 0, 0, 0, 0}, {6, 257, 0, 0, 0, 0, 0}, {10, 514, 1280, 0, 0, 0, 0}, {12, 771, 1024, 0, 0, 0, 0}, {12, 768, 1028, 0, 0, 0, 0}, {10, 512, 1285, 0, 0, 0, 0}, {6, 256, 0, 0, 0, 0, 0}, {1799, 0, 0, 0, 0, 0, 0}, {1800, 0, 0, 0, 0, 0, 0}, {259, 261, 0, 0, 0, 0, 0}, {10, 512, 1280, 0, 0, 0, 0}, {12, 771, 1028, 0, 0, 0, 0}, {12, 768, 1024, 0, 0, 0, 0}, {10, 514, 1285, 0, 0, 0, 0}, {258, 260, 0, 0, 0, 0, 0}, {1807, 0, 0, 0, 0, 0, 0}, {96, 1808, 4112, 0, 0, 0, 0}, {102, 1809, 4369, 0, 0, 0, 0}, {106, 4626, 5376, 0, 0, 0, 0}, {108, 4883, 5120, 0, 0, 0, 0}, {108, 4864, 5140, 0, 0, 0, 0}, {106, 4608, 5397, 0, 0, 0, 0}, {102, 1814, 4352, 0, 0, 0, 0}, {96, 1815, 4096, 0, 0, 0, 0}, {1816, 4144, 4176, 0, 0, 0, 0}, {1817, 4403, 4437, 0, 0, 0, 0}, {1818, 4656, 5440, 0, 0, 0, 0}, {1819, 4915, 5188, 0, 0, 0, 0}, {1820, 4896, 5200, 0, 0, 0, 0}, {1821, 4642, 5461, 0, 0, 0, 0}, {1822, 4386, 4420, 0, 0, 0, 0}, {1823, 4128, 4160, 0, 0, 0, 0}, {3840, 1824, 20480, 0, 0, 0, 0}, {12, 1058, 771, 1092, 4369, 0, 0}, {3840, 1826, 21760, 0, 0, 0, 0}, {12, 1056, 771, 1088, 4112, 0, 0}, {12, 1060, 768, 1092, 4096, 0, 0}, {3855, 1829, 21845, 0, 0, 0, 0}, {12, 1062, 768, 1088, 4352, 0, 0}, {3855, 1831, 20560, 0, 0, 0, 0}, {1832, 8192, 20480, 0, 0, 0, 0}, {12, 4403, 771, 4437, 5397, 0, 0}, {1834, 8704, 21760, 0, 0, 0, 0}, {12, 4144, 771, 4176, 5140, 0, 0}, {12, 4128, 768, 4160, 5120, 0, 0}, {1837, 8738, 21845, 0, 0, 0, 0}, {12, 4386, 768, 4420, 5376, 0, 0}, {1839, 8224, 20560, 0, 0, 0, 0}, {2048, 1840, 16384, 0, 0, 0, 0}, {10, 1331, 514, 1365, 4369, 0, 0}, {10, 1328, 514, 1360, 4112, 0, 0}, {2048, 1843, 17408, 0, 0, 0, 0}, {2056, 1844, 17476, 0, 0, 0, 0}, {10, 1333, 512, 1365, 4096, 0, 0}, {10, 1334, 512, 1360, 4352, 0, 0}, {2056, 1847, 16448, 0, 0, 0, 0}, {1848, 12336, 16448, 0, 0, 0, 0}, {10, 4403, 512, 4437, 5120, 0, 0}, {10, 4144, 512, 4176, 5376, 0, 0}, {1851, 13107, 17476, 0, 0, 0, 0}, {1852, 13056, 17408, 0, 0, 0, 0}, {10, 4128, 514, 4160, 5397, 0, 0}, {10, 4386, 514, 4420, 5140, 0, 0}, {1855, 12288, 16384, 0, 0, 0, 0}, {192, 1856, 16448, 0, 0, 0, 0}, {10, 102, 580, 1285, 4369, 0, 0}, {10, 96, 578, 1280, 4096, 0, 0}, {204, 1859, 17408, 0, 0, 0, 0}, {204, 1860, 17476, 0, 0, 0, 0}, {10, 96, 576, 1285, 4112, 0, 0}, {10, 102, 582, 1280, 4352, 0, 0}, {192, 1863, 16384, 0, 0, 0, 0}, {1864, 12288, 16384, 0, 0, 0, 0}, {10, 4403, 4883, 4437, 1285, 0, 0}, {10, 4128, 4608, 4160, 1280, 0, 0}, {1867, 13107, 17476, 0, 0, 0, 0}, {1868, 13056, 17408, 0, 0, 0, 0}, {10, 4144, 4626, 4176, 1285, 0, 0}, {10, 4386, 4864, 4420, 1280, 0, 0}, {1871, 12336, 16448, 0, 0, 0, 0}, {160, 1872, 20560, 0, 0, 0, 0}, {12, 102, 853, 1028, 4369, 0, 0}, {170, 1874, 21760, 0, 0, 0, 0}, {12, 96, 851, 1024, 4096, 0, 0}, {12, 96, 848, 1028, 4112, 0, 0}, {170, 1877, 21845, 0, 0, 0, 0}, {12, 102, 854, 1024, 4352, 0, 0}, {160, 1879, 20480, 0, 0, 0, 0}, {1880, 8224, 20560, 0, 0, 0, 0}, {12, 4403, 4608, 4437, 1024, 0, 0}, {1882, 8704, 21760, 0, 0, 0, 0}, {12, 4128, 4883, 4160, 1028, 0, 0}, {12, 4144, 4864, 4176, 1024, 0, 0}, {1885, 8738, 21845, 0, 0, 0, 0}, {12, 4386, 4626, 4420, 1028, 0, 0}, {1887, 8192, 20480, 0, 0, 0, 0}, {96, 1792, 4096, 0, 0, 0, 0}, {102, 1799, 4369, 0, 0, 0, 0}, {1800, 4642, 5440, 0, 0, 0, 0}, {1807, 4915, 5200, 0, 0, 0, 0}, {1800, 4896, 5188, 0, 0, 0, 0}, {1807, 4656, 5461, 0, 0, 0, 0}, {102, 1792, 4352, 0, 0, 0, 0}, {96, 1799, 4112, 0, 0, 0, 0}, {1800, 4128, 4160, 0, 0, 0, 0}, {1807, 4403, 4437, 0, 0, 0, 0}, {106, 4608, 5376, 0, 0, 0, 0}, {108, 4883, 5140, 0, 0, 0, 0}, {108, 4864, 5120, 0, 0, 0, 0}, {106, 4626, 5397, 0, 0, 0, 0}, {1800, 4386, 4420, 0, 0, 0, 0}, {1807, 4144, 4176, 0, 0, 0, 0}, {1904, 0, 0, 0, 0, 0, 0}, {6, 273, 0, 0, 0, 0, 0}, {10, 546, 1360, 0, 0, 0, 0}, {12, 819, 1088, 0, 0, 0, 0}, {12, 816, 1092, 0, 0, 0, 0}, {10, 544, 1365, 0, 0, 0, 0}, {6, 272, 0, 0, 0, 0, 0}, {1911, 0, 0, 0, 0, 0, 0}, {1912, 0, 0, 0, 0, 0, 0}, {275, 277, 0, 0, 0, 0, 0}, {10, 544, 1360, 0, 0, 0, 0}, {12, 819, 1092, 0, 0, 0, 0}, {12, 816, 1088, 0, 0, 0, 0}, {10, 546, 1365, 0, 0, 0, 0}, {274, 276, 0, 0, 0, 0, 0}, {1919, 0, 0, 0, 0, 0, 0}, {1920, 3840, 30464, 0, 0, 0, 0}, {6, 321, 1285, 4369, 0, 0, 0}, {10, 546, 1280, 0, 0, 0, 0}, {12, 771, 1088, 0, 0, 0, 0}, {12, 768, 1092, 0, 0, 0, 0}, {10, 544, 1285, 0, 0, 0, 0}, {6, 320, 1280, 4352, 0, 0, 0}, {1927, 3855, 30583, 0, 0, 0, 0}, {1928, 3840, 28672, 0, 0, 0, 0}, {6, 325, 1285, 4112, 0, 0, 0}, {10, 544, 1280, 0, 0, 0, 0}, {12, 771, 1092, 0, 0, 0, 0}, {12, 768, 1088, 0, 0, 0, 0}, {10, 546, 1285, 0, 0, 0, 0}, {6, 324, 1280, 4096, 0, 0, 0}, {1935, 3855, 28784, 0, 0, 0, 0}, {4144, 5888, 4176, 0, 0, 0, 0}, {1885, 102, 4369, 0, 0, 0, 0}, {5418, 4626, 5440, 0, 0, 0, 0}, {4959, 4915, 5120, 0, 0, 0, 0}, {4940, 4896, 5140, 0, 0, 0, 0}, {5439, 4608, 5461, 0, 0, 0, 0}, {1882, 102, 4352, 0, 0, 0, 0}, {4128, 5911, 4160, 0, 0, 0, 0}, {1880, 96, 4112, 0, 0, 0, 0}, {4403, 5632, 4437, 0, 0, 0, 0}, {4698, 4656, 5376, 0, 0, 0, 0}, {5160, 4883, 5188, 0, 0, 0, 0}, {5180, 4864, 5200, 0, 0, 0, 0}, {4680, 4642, 5397, 0, 0, 0, 0}, {4386, 5654, 4420, 0, 0, 0, 0}, {1887, 96, 4096, 0, 0, 0, 0}, {160, 1792, 20480, 0, 0, 0, 0}, {12, 102, 771, 1028, 4369, 0, 0}, {1800, 8738, 21760, 0, 0, 0, 0}, {12, 4144, 771, 4176, 1024, 0, 0}, {12, 4128, 768, 4160, 1028, 0, 0}, {1807, 8704, 21845, 0, 0, 0, 0}, {12, 102, 768, 1024, 4352, 0, 0}, {160, 1799, 20560, 0, 0, 0, 0}, {1800, 8224, 20480, 0, 0, 0, 0}, {12, 4403, 771, 4437, 1024, 0, 0}, {170, 1792, 21760, 0, 0, 0, 0}, {12, 96, 771, 1028, 4112, 0, 0}, {12, 96, 768, 1024, 4096, 0, 0}, {170, 1799, 21845, 0, 0, 0, 0}, {12, 4386, 768, 4420, 1028, 0, 0}, {1807, 8192, 20560, 0, 0, 0, 0}, {2112, 1904, 16448, 0, 0, 0, 0}, {10, 1331, 1809, 1365, 4369, 0, 0}, {10, 4144, 4626, 4176, 5376, 0, 0}, {1919, 13107, 17408, 0, 0, 0, 0}, {1912, 13056, 17476, 0, 0, 0, 0}, {10, 4128, 4608, 4160, 5397, 0, 0}, {10, 1334, 1814, 1360, 4352, 0, 0}, {2120, 1911, 16384, 0, 0, 0, 0}, {1912, 12336, 16384, 0, 0, 0, 0}, {10, 4403, 4883, 4437, 5120, 0, 0}, {10, 1328, 1808, 1360, 4112, 0, 0}, {2116, 1911, 17476, 0, 0, 0, 0}, {2124, 1904, 17408, 0, 0, 0, 0}, {10, 1333, 1815, 1365, 4096, 0, 0}, {10, 4386, 4864, 4420, 5140, 0, 0}, {1919, 12288, 16448, 0, 0, 0, 0}, {192, 1792, 16384, 0, 0, 0, 0}, {10, 102, 514, 1285, 4369, 0, 0}, {10, 4128, 514, 4160, 1280, 0, 0}, {1807, 13107, 17408, 0, 0, 0, 0}, {1800, 13056, 17476, 0, 0, 0, 0}, {10, 4144, 512, 4176, 1285, 0, 0}, {10, 102, 512, 1280, 4352, 0, 0}, {192, 1799, 16448, 0, 0, 0, 0}, {1800, 12288, 16448, 0, 0, 0, 0}, {10, 4403, 512, 4437, 1285, 0, 0}, {10, 96, 512, 1280, 4096, 0, 0}, {204, 1799, 17476, 0, 0, 0, 0}, {204, 1792, 17408, 0, 0, 0, 0}, {10, 96, 514, 1285, 4112, 0, 0}, {10, 4386, 514, 4420, 1280, 0, 0}, {1807, 12336, 16384, 0, 0, 0, 0}, {3920, 1904, 20560, 0, 0, 0, 0}, {12, 1058, 1809, 1092, 4369, 0, 0}, {1912, 8738, 21760, 0, 0, 0, 0}, {12, 4128, 4883, 4160, 5120, 0, 0}, {12, 4144, 4864, 4176, 5140, 0, 0}, {1919, 8704, 21845, 0, 0, 0, 0}, {12, 1062, 1814, 1088, 4352, 0, 0}, {3935, 1911, 20480, 0, 0, 0, 0}, {1912, 8192, 20560, 0, 0, 0, 0}, {12, 4403, 4608, 4437, 5397, 0, 0}, {3930, 1904, 21760, 0, 0, 0, 0}, {12, 1060, 1815, 1092, 4096, 0, 0}, {12, 1056, 1808, 1088, 4112, 0, 0}, {3925, 1911, 21845, 0, 0, 0, 0}, {12, 4386, 4626, 4420, 5376, 0, 0}, {1919, 8224, 20480, 0, 0, 0, 0}, {4128, 5888, 4160, 0, 0, 0, 0}, {1867, 102, 4369, 0, 0, 0, 0}, {4680, 4642, 5376, 0, 0, 0, 0}, {5180, 4883, 5200, 0, 0, 0, 0}, {5160, 4864, 5188, 0, 0, 0, 0}, {4698, 4656, 5397, 0, 0, 0, 0}, {1868, 102, 4352, 0, 0, 0, 0}, {4144, 5911, 4176, 0, 0, 0, 0}, {1864, 96, 4096, 0, 0, 0, 0}, {4403, 5654, 4437, 0, 0, 0, 0}, {5418, 4608, 5440, 0, 0, 0, 0}, {4959, 4915, 5140, 0, 0, 0, 0}, {4940, 4896, 5120, 0, 0, 0, 0}, {5439, 4626, 5461, 0, 0, 0, 0}, {4386, 5632, 4420, 0, 0, 0, 0}, {1871, 96, 4112, 0, 0, 0, 0}, {2032, 2048, 30464, 0, 0, 0, 0}, {6, 337, 1028, 4369, 0, 0, 0}, {10, 514, 1360, 0, 0, 0, 0}, {12, 819, 1024, 0, 0, 0, 0}, {12, 816, 1028, 0, 0, 0, 0}, {10, 512, 1365, 0, 0, 0, 0}, {6, 336, 1024, 4352, 0, 0, 0}, {2039, 2056, 30583, 0, 0, 0, 0}, {2040, 2056, 28784, 0, 0, 0, 0}, {6, 341, 1024, 4096, 0, 0, 0}, {10, 512, 1360, 0, 0, 0, 0}, {12, 819, 1028, 0, 0, 0, 0}, {12, 816, 1024, 0, 0, 0, 0}, {10, 514, 1365, 0, 0, 0, 0}, {6, 340, 1028, 4112, 0, 0, 0}, {2047, 2048, 28672, 0, 0, 0, 0}, {2048, 0, 0, 0, 0, 0, 0}, {3, 5, 257, 0, 0, 0, 0}, {10, 514, 0, 0, 0, 0, 0}, {3, 1024, 0, 0, 0, 0, 0}, {12, 1028, 0, 0, 0, 0, 0}, {512, 5, 0, 0, 0, 0, 0}, {6, 1024, 0, 0, 0, 0, 0}, {15, 1799, 0, 0, 0, 0, 0}, {2056, 0, 0, 0, 0, 0, 0}, {3, 5, 256, 0, 0, 0, 0}, {10, 512, 0, 0, 0, 0, 0}, {3, 1028, 0, 0, 0, 0, 0}, {12, 1024, 0, 0, 0, 0, 0}, {514, 5, 0, 0, 0, 0, 0}, {6, 1028, 0, 0, 0, 0, 0}, {15, 1792, 0, 0, 0, 0, 0}, {2064, 48, 80, 4112, 0, 0, 0}, {2065, 51, 85, 4369, 0, 0, 0}, {90, 48, 4626, 16384, 0, 0, 0}, {95, 51, 4883, 17408, 0, 0, 0}, {60, 8192, 80, 5140, 0, 0, 0}, {63, 8704, 85, 5397, 0, 0, 0}, {90, 102, 5654, 17408, 0, 0, 0}, {95, 96, 5911, 16384, 0, 0, 0}, {2072, 48, 80, 4096, 0, 0, 0}, {2073, 51, 85, 4352, 0, 0, 0}, {90, 48, 4608, 16448, 0, 0, 0}, {95, 51, 4864, 17476, 0, 0, 0}, {60, 8224, 80, 5120, 0, 0, 0}, {63, 8738, 85, 5376, 0, 0, 0}, {90, 102, 5632, 17476, 0, 0, 0}, {95, 96, 5888, 16448, 0, 0, 0}, {160, 2080, 8224, 0, 0, 0, 0}, {3, 85, 1041, 4369, 0, 0, 0}, {170, 2082, 8738, 0, 0, 0, 0}, {3, 80, 1040, 4112, 0, 0, 0}, {12, 1060, 1092, 0, 0, 0, 0}, {15, 1829, 85, 0, 0, 0, 0}, {12, 1062, 1088, 0, 0, 0, 0}, {15, 1831, 80, 0, 0, 0, 0}, {160, 2088, 8192, 0, 0, 0, 0}, {3, 85, 1045, 4352, 0, 0, 0}, {170, 2090, 8704, 0, 0, 0, 0}, {3, 80, 1044, 4096, 0, 0, 0}, {12, 1056, 1088, 0, 0, 0, 0}, {15, 1826, 85, 0, 0, 0, 0}, {12, 1058, 1092, 0, 0, 0, 0}, {15, 1824, 80, 0, 0, 0, 0}, {2048, 48, 16384, 0, 0, 0, 0}, {10, 51, 514, 85, 4369, 0, 0}, {10, 48, 514, 80, 4112, 0, 0}, {2048, 51, 17408, 0, 0, 0, 0}, {60, 13364, 17476, 0, 0, 0, 0}, {10, 53, 512, 85, 5376, 0, 0}, {10, 54, 512, 80, 5120, 0, 0}, {63, 14135, 16448, 0, 0, 0, 0}, {2056, 48, 16448, 0, 0, 0, 0}, {10, 51, 512, 85, 4352, 0, 0}, {10, 48, 512, 80, 4096, 0, 0}, {2056, 51, 17476, 0, 0, 0, 0}, {60, 13312, 17408, 0, 0, 0, 0}, {10, 53, 514, 85, 5397, 0, 0}, {10, 54, 514, 80, 5140, 0, 0}, {63, 14080, 16384, 0, 0, 0, 0}, {192, 2112, 16448, 0, 0, 0, 0}, {51, 529, 5, 4369, 0, 0, 0}, {10, 96, 578, 16384, 0, 0, 0}, {15, 51, 1859, 17408, 0, 0, 0}, {204, 2116, 17476, 0, 0, 0, 0}, {48, 528, 5, 4112, 0, 0, 0}, {10, 102, 582, 17408, 0, 0, 0}, {15, 48, 1863, 16384, 0, 0, 0}, {192, 2120, 16384, 0, 0, 0, 0}, {51, 531, 5, 4352, 0, 0, 0}, {10, 96, 576, 16448, 0, 0, 0}, {15, 51, 1860, 17476, 0, 0, 0}, {204, 2124, 17408, 0, 0, 0, 0}, {48, 530, 5, 4096, 0, 0, 0}, {10, 102, 580, 17476, 0, 0, 0}, {15, 48, 1856, 16448, 0, 0, 0}, {2048, 8192, 80, 0, 0, 0, 0}, {12, 51, 85, 1028, 4369, 0, 0}, {90, 21074, 0, 0, 0, 0, 0}, {83, 1024, 0, 0, 0, 0, 0}, {12, 48, 80, 1028, 4112, 0, 0}, {2048, 8704, 85, 0, 0, 0, 0}, {86, 1024, 0, 0, 0, 0, 0}, {95, 22359, 0, 0, 0, 0, 0}, {2056, 8224, 80, 0, 0, 0, 0}, {12, 51, 85, 1024, 4352, 0, 0}, {90, 20992, 0, 0, 0, 0, 0}, {83, 1028, 0, 0, 0, 0, 0}, {12, 48, 80, 1024, 4096, 0, 0}, {2056, 8738, 85, 0, 0, 0, 0}, {86, 1028, 0, 0, 0, 0, 0}, {95, 22272, 0, 0, 0, 0, 0}, {2048, 96, 16384, 0, 0, 0, 0}, {15, 51, 1799, 85, 4369, 0, 0}, {106, 8738, 16448, 0, 0, 0, 0}, {15, 51, 4864, 80, 5120, 0, 0}, {108, 8224, 17476, 0, 0, 0, 0}, {15, 48, 4608, 85, 5376, 0, 0}, {2048, 102, 17408, 0, 0, 0, 0}, {15, 48, 1799, 80, 4112, 0, 0}, {2056, 96, 16448, 0, 0, 0, 0}, {15, 51, 1792, 85, 4352, 0, 0}, {106, 8704, 16384, 0, 0, 0, 0}, {15, 51, 4883, 80, 5140, 0, 0}, {108, 8192, 17408, 0, 0, 0, 0}, {15, 48, 4626, 85, 5397, 0, 0}, {2056, 102, 17476, 0, 0, 0, 0}, {15, 48, 1792, 80, 4096, 0, 0}, {240, 2160, 28784, 0, 0, 0, 0}, {6, 85, 1041, 4369, 0, 0, 0}, {10, 546, 80, 0, 0, 0, 0}, {12, 51, 1088, 0, 0, 0, 0}, {12, 48, 1092, 0, 0, 0, 0}, {10, 544, 85, 0, 0, 0, 0}, {6, 80, 1040, 4112, 0, 0, 0}, {255, 2167, 30583, 0, 0, 0, 0}, {240, 2168, 28672, 0, 0, 0, 0}, {6, 85, 1045, 4352, 0, 0, 0}, {10, 544, 80, 0, 0, 0, 0}, {12, 51, 1092, 0, 0, 0, 0}, {12, 48, 1088, 0, 0, 0, 0}, {10, 546, 85, 0, 0, 0, 0}, {6, 80, 1044, 4096, 0, 0, 0}, {255, 2175, 30464, 0, 0, 0, 0}, {2176, 0, 0, 0, 0, 0, 0}, {3, 5, 273, 0, 0, 0, 0}, {10, 546, 0, 0, 0, 0, 0}, {3, 1088, 0, 0, 0, 0, 0}, {12, 1092, 0, 0, 0, 0, 0}, {544, 5, 0, 0, 0, 0, 0}, {6, 1088, 0, 0, 0, 0, 0}, {15, 1911, 0, 0, 0, 0, 0}, {2184, 0, 0, 0, 0, 0, 0}, {3, 5, 272, 0, 0, 0, 0}, {10, 544, 0, 0, 0, 0, 0}, {3, 1092, 0, 0, 0, 0, 0}, {12, 1088, 0, 0, 0, 0, 0}, {546, 5, 0, 0, 0, 0, 0}, {6, 1092, 0, 0, 0, 0, 0}, {15, 1904, 0, 0, 0, 0, 0}, {2048, 48, 80, 4096, 0, 0, 0}, {2056, 51, 85, 4369, 0, 0, 0}, {90, 48, 4626, 16448, 0, 0, 0}, {95, 51, 4864, 17408, 0, 0, 0}, {60, 8224, 80, 5140, 0, 0, 0}, {63, 8704, 85, 5376, 0, 0, 0}, {90, 102, 5632, 17408, 0, 0, 0}, {95, 96, 5911, 16448, 0, 0, 0}, {2056, 48, 80, 4112, 0, 0, 0}, {2048, 51, 85, 4352, 0, 0, 0}, {90, 48, 4608, 16384, 0, 0, 0}, {95, 51, 4883, 17476, 0, 0, 0}, {60, 8192, 80, 5120, 0, 0, 0}, {63, 8738, 85, 5397, 0, 0, 0}, {90, 102, 5654, 17476, 0, 0, 0}, {95, 96, 5888, 16384, 0, 0, 0}, {160, 2048, 8192, 0, 0, 0, 0}, {3, 85, 1028, 4369, 0, 0, 0}, {170, 2056, 8738, 0, 0, 0, 0}, {3, 80, 1024, 4096, 0, 0, 0}, {12, 96, 1028, 0, 0, 0, 0}, {15, 1792, 85, 0, 0, 0, 0}, {12, 102, 1024, 0, 0, 0, 0}, {15, 1799, 80, 0, 0, 0, 0}, {160, 2056, 8224, 0, 0, 0, 0}, {3, 85, 1024, 4352, 0, 0, 0}, {170, 2048, 8704, 0, 0, 0, 0}, {3, 80, 1028, 4112, 0, 0, 0}, {12, 96, 1024, 0, 0, 0, 0}, {15, 1799, 85, 0, 0, 0, 0}, {12, 102, 1028, 0, 0, 0, 0}, {15, 1792, 80, 0, 0, 0, 0}, {2112, 48, 16448, 0, 0, 0, 0}, {10, 51, 529, 85, 4369, 0, 0}, {10, 48, 530, 80, 4096, 0, 0}, {2124, 51, 17408, 0, 0, 0, 0}, {60, 13380, 17476, 0, 0, 0, 0}, {10, 53, 533, 85, 5397, 0, 0}, {10, 54, 534, 80, 5120, 0, 0}, {63, 14199, 16384, 0, 0, 0, 0}, {2120, 48, 16384, 0, 0, 0, 0}, {10, 51, 531, 85, 4352, 0, 0}, {10, 48, 528, 80, 4112, 0, 0}, {2116, 51, 17476, 0, 0, 0, 0}, {60, 13424, 17408, 0, 0, 0, 0}, {10, 53, 535, 85, 5376, 0, 0}, {10, 54, 532, 80, 5140, 0, 0}, {63, 14144, 16448, 0, 0, 0, 0}, {192, 2048, 16384, 0, 0, 0, 0}, {51, 514, 5, 4369, 0, 0, 0}, {10, 96, 514, 16448, 0, 0, 0}, {15, 51, 1792, 17408, 0, 0, 0}, {204, 2056, 17476, 0, 0, 0, 0}, {48, 512, 5, 4096, 0, 0, 0}, {10, 102, 512, 17408, 0, 0, 0}, {15, 48, 1799, 16448, 0, 0, 0}, {192, 2056, 16448, 0, 0, 0, 0}, {51, 512, 5, 4352, 0, 0, 0}, {10, 96, 512, 16384, 0, 0, 0}, {15, 51, 1799, 17476, 0, 0, 0}, {204, 2048, 17408, 0, 0, 0, 0}, {48, 514, 5, 4112, 0, 0, 0}, {10, 102, 514, 17476, 0, 0, 0}, {15, 48, 1792, 16384, 0, 0, 0}, {2080, 8224, 80, 0, 0, 0, 0}, {12, 51, 85, 1041, 4369, 0, 0}, {90, 21026, 0, 0, 0, 0, 0}, {1043, 1088, 0, 0, 0, 0, 0}, {12, 48, 80, 1044, 4096, 0, 0}, {2090, 8704, 85, 0, 0, 0, 0}, {1046, 1088, 0, 0, 0, 0, 0}, {95, 22391, 0, 0, 0, 0, 0}, {2088, 8192, 80, 0, 0, 0, 0}, {12, 51, 85, 1045, 4352, 0, 0}, {90, 21104, 0, 0, 0, 0, 0}, {1047, 1092, 0, 0, 0, 0, 0}, {12, 48, 80, 1040, 4112, 0, 0}, {2082, 8738, 85, 0, 0, 0, 0}, {1042, 1092, 0, 0, 0, 0, 0}, {95, 22304, 0, 0, 0, 0, 0}, {2112, 96, 16448, 0, 0, 0, 0}, {15, 51, 1809, 85, 4369, 0, 0}, {106, 8738, 16384, 0, 0, 0, 0}, {15, 51, 4883, 80, 5120, 0, 0}, {108, 8192, 17476, 0, 0, 0, 0}, {15, 48, 4608, 85, 5397, 0, 0}, {2124, 102, 17408, 0, 0, 0, 0}, {15, 48, 1815, 80, 4096, 0, 0}, {2120, 96, 16384, 0, 0, 0, 0}, {15, 51, 1814, 85, 4352, 0, 0}, {106, 8704, 16448, 0, 0, 0, 0}, {15, 51, 4864, 80, 5140, 0, 0}, {108, 8224, 17408, 0, 0, 0, 0}, {15, 48, 4626, 85, 5376, 0, 0}, {2116, 102, 17476, 0, 0, 0, 0}, {15, 48, 1808, 80, 4112, 0, 0}, {240, 2048, 28672, 0, 0, 0, 0}, {6, 85, 1028, 4369, 0, 0, 0}, {10, 514, 80, 0, 0, 0, 0}, {12, 51, 1024, 0, 0, 0, 0}, {12, 48, 1028, 0, 0, 0, 0}, {10, 512, 85, 0, 0, 0, 0}, {6, 80, 1024, 4096, 0, 0, 0}, {255, 2056, 30583, 0, 0, 0, 0}, {240, 2056, 28784, 0, 0, 0, 0}, {6, 85, 1024, 4352, 0, 0, 0}, {10, 512, 80, 0, 0, 0, 0}, {12, 51, 1028, 0, 0, 0, 0}, {12, 48, 1024, 0, 0, 0, 0}, {10, 514, 85, 0, 0, 0, 0}, {6, 80, 1028, 4112, 0, 0, 0}, {255, 2048, 30464, 0, 0, 0, 0}, {768, 1280, 0, 0, 0, 0, 0}, {8, 257, 0, 0, 0, 0, 0}, {258, 1024, 0, 0, 0, 0, 0}, {1295, 771, 0, 0, 0, 0, 0}, {512, 260, 0, 0, 0, 0, 0}, {783, 1285, 0, 0, 0, 0, 0}, {1290, 1542, 0, 0, 0, 0, 0}, {263, 1024, 0, 0, 0, 0, 0}, {8, 256, 0, 0, 0, 0, 0}, {771, 1285, 0, 0, 0, 0, 0}, {1290, 768, 0, 0, 0, 0, 0}, {259, 1028, 0, 0, 0, 0, 0}, {780, 1280, 0, 0, 0, 0, 0}, {514, 261, 0, 0, 0, 0, 0}, {262, 1028, 0, 0, 0, 0, 0}, {1295, 1536, 0, 0, 0, 0, 0}, {2320, 816, 1360, 4112, 0, 0, 0}, {2321, 819, 1365, 4369, 0, 0, 0}, {1370, 4386, 4626, 17408, 0, 0, 0}, {1375, 4128, 4883, 16384, 0, 0, 0}, {828, 8704, 4420, 5140, 0, 0, 0}, {831, 8192, 4160, 5397, 0, 0, 0}, {1370, 4208, 5654, 16384, 0, 0, 0}, {1375, 4471, 5911, 17408, 0, 0, 0}, {2328, 816, 1360, 4352, 0, 0, 0}, {2329, 819, 1365, 4096, 0, 0, 0}, {1370, 4144, 4864, 16448, 0, 0, 0}, {1375, 4403, 4608, 17476, 0, 0, 0}, {828, 8224, 4176, 5376, 0, 0, 0}, {831, 8738, 4437, 5120, 0, 0, 0}, {1370, 4454, 5888, 17476, 0, 0, 0}, {1375, 4192, 5632, 16448, 0, 0, 0}, {4128, 768, 5376, 0, 0, 0, 0}, {1325, 771, 4369, 0, 0, 0, 0}, {4386, 768, 5120, 0, 0, 0, 0}, {1327, 771, 4112, 0, 0, 0, 0}, {780, 1572, 4420, 0, 0, 0, 0}, {783, 1317, 5461, 0, 0, 0, 0}, {780, 1574, 4160, 0, 0, 0, 0}, {783, 1319, 5200, 0, 0, 0, 0}, {1320, 768, 4352, 0, 0, 0, 0}, {4144, 771, 5397, 0, 0, 0, 0}, {1322, 768, 4096, 0, 0, 0, 0}, {4403, 771, 5140, 0, 0, 0, 0}, {780, 1312, 5440, 0, 0, 0, 0}, {783, 1570, 4437, 0, 0, 0, 0}, {780, 1314, 5188, 0, 0, 0, 0}, {783, 1568, 4176, 0, 0, 0, 0}, {2560, 816, 21760, 0, 0, 0, 0}, {8, 305, 514, 1092, 4369, 0, 0}, {8, 306, 514, 1088, 4112, 0, 0}, {2560, 819, 20480, 0, 0, 0, 0}, {8, 308, 512, 4420, 5376, 0, 0}, {831, 13621, 21845, 0, 0, 0, 0}, {828, 13878, 20560, 0, 0, 0, 0}, {8, 311, 512, 4160, 5120, 0, 0}, {8, 304, 512, 1088, 4352, 0, 0}, {2570, 819, 21845, 0, 0, 0, 0}, {2570, 816, 20560, 0, 0, 0, 0}, {8, 307, 512, 1092, 4096, 0, 0}, {828, 13568, 21760, 0, 0, 0, 0}, {8, 309, 514, 4437, 5397, 0, 0}, {8, 310, 514, 4176, 5140, 0, 0}, {831, 13824, 20480, 0, 0, 0, 0}, {4864, 4160, 1280, 0, 0, 0, 0}, {843, 1285, 4369, 0, 0, 0, 0}, {1290, 4386, 1602, 17408, 0, 0, 0}, {1295, 4208, 835, 16384, 0, 0, 0}, {4608, 4420, 1280, 0, 0, 0, 0}, {847, 1285, 4112, 0, 0, 0, 0}, {1290, 4128, 1606, 16384, 0, 0, 0}, {1295, 4471, 839, 17408, 0, 0, 0}, {840, 1280, 4352, 0, 0, 0, 0}, {4883, 4176, 1285, 0, 0, 0, 0}, {1290, 4192, 832, 16448, 0, 0, 0}, {1295, 4403, 1604, 17476, 0, 0, 0}, {844, 1280, 4096, 0, 0, 0, 0}, {4626, 4437, 1285, 0, 0, 0, 0}, {1290, 4454, 836, 17476, 0, 0, 0}, {1295, 4144, 1600, 16448, 0, 0, 0}, {3072, 13056, 1360, 0, 0, 0, 0}, {8, 546, 337, 1028, 4369, 0, 0}, {338, 1024, 0, 0, 0, 0, 0}, {1375, 21331, 0, 0, 0, 0, 0}, {8, 544, 340, 1028, 4112, 0, 0}, {3072, 12288, 1365, 0, 0, 0, 0}, {1370, 22102, 0, 0, 0, 0, 0}, {343, 1024, 0, 0, 0, 0, 0}, {8, 544, 336, 1024, 4352, 0, 0}, {3084, 13107, 1365, 0, 0, 0, 0}, {1370, 21248, 0, 0, 0, 0, 0}, {339, 1028, 0, 0, 0, 0, 0}, {3084, 12336, 1360, 0, 0, 0, 0}, {8, 546, 341, 1024, 4096, 0, 0}, {342, 1028, 0, 0, 0, 0, 0}, {1375, 22016, 0, 0, 0, 0, 0}, {3840, 1632, 21760, 0, 0, 0, 0}, {8, 1317, 1799, 1092, 4369, 0, 0}, {8, 4386, 4864, 4160, 5120, 0, 0}, {1644, 13107, 20560, 0, 0, 0, 0}, {8, 4128, 4608, 4420, 5376, 0, 0}, {1642, 12336, 21845, 0, 0, 0, 0}, {3840, 1638, 20480, 0, 0, 0, 0}, {8, 1319, 1799, 1088, 4112, 0, 0}, {8, 1312, 1792, 1088, 4352, 0, 0}, {3855, 1638, 21845, 0, 0, 0, 0}, {1642, 13056, 20480, 0, 0, 0, 0}, {8, 4403, 4883, 4176, 5140, 0, 0}, {1644, 12288, 21760, 0, 0, 0, 0}, {8, 4144, 4626, 4437, 5397, 0, 0}, {8, 1314, 1792, 1092, 4096, 0, 0}, {3855, 1632, 20560, 0, 0, 0, 0}, {4208, 4864, 5376, 0, 0, 0, 0}, {1405, 1542, 4369, 0, 0, 0, 0}, {1546, 4386, 5200, 0, 0, 0, 0}, {1548, 4915, 4160, 0, 0, 0, 0}, {1548, 4656, 4420, 0, 0, 0, 0}, {1546, 4128, 5461, 0, 0, 0, 0}, {1402, 1542, 4112, 0, 0, 0, 0}, {4471, 4608, 5120, 0, 0, 0, 0}, {1400, 1536, 4352, 0, 0, 0, 0}, {4192, 4883, 5397, 0, 0, 0, 0}, {1546, 4896, 4176, 0, 0, 0, 0}, {1548, 4403, 5188, 0, 0, 0, 0}, {1548, 4144, 5440, 0, 0, 0, 0}, {1546, 4642, 4437, 0, 0, 0, 0}, {4454, 4626, 5140, 0, 0, 0, 0}, {1407, 1536, 4096, 0, 0, 0, 0}, {128, 768, 1280, 4096, 0, 0, 0}, {136, 771, 1285, 4369, 0, 0, 0}, {1290, 4386, 768, 17408, 0, 0, 0}, {1295, 4144, 771, 16448, 0, 0, 0}, {780, 8704, 4420, 1280, 0, 0, 0}, {783, 8224, 4176, 1285, 0, 0, 0}, {1290, 4192, 1542, 16448, 0, 0, 0}, {1295, 4471, 1536, 17408, 0, 0, 0}, {136, 768, 1280, 4352, 0, 0, 0}, {128, 771, 1285, 4112, 0, 0, 0}, {1290, 4128, 768, 16384, 0, 0, 0}, {1295, 4403, 771, 17476, 0, 0, 0}, {780, 8192, 4160, 1280, 0, 0, 0}, {783, 8738, 4437, 1285, 0, 0, 0}, {1290, 4454, 1542, 17476, 0, 0, 0}, {1295, 4208, 1536, 16384, 0, 0, 0}, {816, 1360, 0, 0, 0, 0, 0}, {8, 273, 0, 0, 0, 0, 0}, {274, 1088, 0, 0, 0, 0, 0}, {1375, 819, 0, 0, 0, 0, 0}, {544, 276, 0, 0, 0, 0, 0}, {831, 1365, 0, 0, 0, 0, 0}, {1370, 1638, 0, 0, 0, 0, 0}, {279, 1088, 0, 0, 0, 0, 0}, {8, 272, 0, 0, 0, 0, 0}, {819, 1365, 0, 0, 0, 0, 0}, {1370, 816, 0, 0, 0, 0, 0}, {275, 1092, 0, 0, 0, 0, 0}, {828, 1360, 0, 0, 0, 0, 0}, {546, 277, 0, 0, 0, 0, 0}, {278, 1092, 0, 0, 0, 0, 0}, {1375, 1632, 0, 0, 0, 0, 0}, {1440, 768, 21760, 0, 0, 0, 0}, {8, 289, 771, 1028, 4369, 0, 0}, {8, 290, 768, 1024, 4096, 0, 0}, {1455, 771, 20560, 0, 0, 0, 0}, {8, 292, 772, 4420, 1028, 0, 0}, {783, 13653, 21845, 0, 0, 0, 0}, {780, 13926, 20480, 0, 0, 0, 0}, {8, 295, 775, 4176, 1024, 0, 0}, {8, 288, 768, 1024, 4352, 0, 0}, {1445, 771, 21845, 0, 0, 0, 0}, {1450, 768, 20480, 0, 0, 0, 0}, {8, 291, 771, 1028, 4112, 0, 0}, {780, 13664, 21760, 0, 0, 0, 0}, {8, 293, 775, 4437, 1024, 0, 0}, {8, 294, 772, 4160, 1028, 0, 0}, {783, 13904, 20560, 0, 0, 0, 0}, {4144, 4864, 5440, 0, 0, 0, 0}, {1614, 819, 4369, 0, 0, 0, 0}, {4386, 4626, 5200, 0, 0, 0, 0}, {1612, 819, 4096, 0, 0, 0, 0}, {5180, 5888, 4420, 0, 0, 0, 0}, {4959, 4192, 5397, 0, 0, 0, 0}, {5418, 5654, 4176, 0, 0, 0, 0}, {4680, 4471, 5120, 0, 0, 0, 0}, {1608, 816, 4352, 0, 0, 0, 0}, {4128, 4883, 5461, 0, 0, 0, 0}, {1610, 816, 4112, 0, 0, 0, 0}, {4403, 4608, 5188, 0, 0, 0, 0}, {4940, 4208, 5376, 0, 0, 0, 0}, {5160, 5911, 4437, 0, 0, 0, 0}, {4698, 4454, 5140, 0, 0, 0, 0}, {5439, 5632, 4160, 0, 0, 0, 0}, {960, 13056, 1280, 0, 0, 0, 0}, {8, 514, 321, 1285, 4369, 0, 0}, {1282, 1088, 0, 0, 0, 0, 0}, {1295, 21299, 0, 0, 0, 0, 0}, {8, 512, 324, 1280, 4096, 0, 0}, {975, 12336, 1285, 0, 0, 0, 0}, {1290, 22118, 0, 0, 0, 0, 0}, {1287, 1088, 0, 0, 0, 0, 0}, {8, 512, 320, 1280, 4352, 0, 0}, {963, 13107, 1285, 0, 0, 0, 0}, {1290, 21344, 0, 0, 0, 0, 0}, {1287, 1092, 0, 0, 0, 0, 0}, {972, 12288, 1280, 0, 0, 0, 0}, {8, 514, 325, 1285, 4112, 0, 0}, {1282, 1092, 0, 0, 0, 0, 0}, {1295, 22064, 0, 0, 0, 0, 0}, {4896, 4176, 5376, 0, 0, 0, 0}, {1582, 1365, 4369, 0, 0, 0, 0}, {1370, 4386, 5888, 17408, 0, 0, 0}, {1375, 4192, 4883, 16448, 0, 0, 0}, {4656, 4420, 5140, 0, 0, 0, 0}, {1578, 1365, 4096, 0, 0, 0, 0}, {1370, 4144, 5654, 16448, 0, 0, 0}, {1375, 4471, 4608, 17408, 0, 0, 0}, {1576, 1360, 4352, 0, 0, 0, 0}, {4915, 4160, 5397, 0, 0, 0, 0}, {1370, 4208, 4864, 16384, 0, 0, 0}, {1375, 4403, 5911, 17476, 0, 0, 0}, {1580, 1360, 4112, 0, 0, 0, 0}, {4642, 4437, 5120, 0, 0, 0, 0}, {1370, 4454, 4626, 17476, 0, 0, 0}, {1375, 4128, 5632, 16384, 0, 0, 0}, {1312, 5632, 5440, 0, 0, 0, 0}, {843, 1638, 4369, 0, 0, 0, 0}, {840, 4386, 5120, 0, 0, 0, 0}, {1327, 4883, 4176, 0, 0, 0, 0}, {1320, 4608, 4420, 0, 0, 0, 0}, {847, 4144, 5397, 0, 0, 0, 0}, {844, 1638, 4096, 0, 0, 0, 0}, {1319, 5911, 5200, 0, 0, 0, 0}, {840, 1632, 4352, 0, 0, 0, 0}, {1317, 5654, 5461, 0, 0, 0, 0}, {1322, 4864, 4160, 0, 0, 0, 0}, {843, 4403, 5140, 0, 0, 0, 0}, {844, 4128, 5376, 0, 0, 0, 0}, {1325, 4626, 4437, 0, 0, 0, 0}, {1314, 5888, 5188, 0, 0, 0, 0}, {847, 1632, 4112, 0, 0, 0, 0}, {1520, 1536, 21760, 0, 0, 0, 0}, {8, 369, 514, 1028, 4369, 0, 0}, {8, 4386, 514, 4176, 1024, 0, 0}, {1548, 13107, 20480, 0, 0, 0, 0}, {8, 4144, 512, 4420, 1028, 0, 0}, {1546, 12288, 21845, 0, 0, 0, 0}, {1530, 1542, 20560, 0, 0, 0, 0}, {8, 375, 512, 1024, 4096, 0, 0}, {8, 368, 512, 1024, 4352, 0, 0}, {1525, 1542, 21845, 0, 0, 0, 0}, {1546, 13056, 20560, 0, 0, 0, 0}, {8, 4403, 512, 4160, 1028, 0, 0}, {1548, 12336, 21760, 0, 0, 0, 0}, {8, 4128, 514, 4437, 1024, 0, 0}, {8, 374, 514, 1028, 4112, 0, 0}, {1535, 1536, 20480, 0, 0, 0, 0}, {2560, 0, 0, 0, 0, 0, 0}, {3, 4, 257, 0, 0, 0, 0}, {8, 514, 0, 0, 0, 0, 0}, {3, 1280, 0, 0, 0, 0, 0}, {512, 4, 0, 0, 0, 0, 0}, {15, 1285, 0, 0, 0, 0, 0}, {12, 1542, 0, 0, 0, 0, 0}, {7, 1280, 0, 0, 0, 0, 0}, {8, 512, 0, 0, 0, 0, 0}, {3, 1285, 0, 0, 0, 0, 0}, {2570, 0, 0, 0, 0, 0, 0}, {3, 4, 256, 0, 0, 0, 0}, {12, 1536, 0, 0, 0, 0, 0}, {7, 1285, 0, 0, 0, 0, 0}, {514, 4, 0, 0, 0, 0, 0}, {15, 1280, 0, 0, 0, 0, 0}, {2576, 48, 64, 4112, 0, 0, 0}, {2577, 51, 68, 4369, 0, 0, 0}, {72, 48, 4626, 20480, 0, 0, 0}, {76, 51, 4883, 21760, 0, 0, 0}, {60, 8704, 68, 5140, 0, 0, 0}, {63, 8192, 64, 5397, 0, 0, 0}, {76, 112, 5654, 20480, 0, 0, 0}, {72, 119, 5911, 21760, 0, 0, 0}, {72, 48, 4608, 20560, 0, 0, 0}, {76, 51, 4864, 21845, 0, 0, 0}, {2586, 48, 64, 4096, 0, 0, 0}, {2587, 51, 68, 4352, 0, 0, 0}, {76, 112, 5632, 20560, 0, 0, 0}, {72, 119, 5888, 21845, 0, 0, 0}, {60, 8738, 68, 5120, 0, 0, 0}, {63, 8224, 64, 5376, 0, 0, 0}, {128, 2592, 8224, 0, 0, 0, 0}, {3, 68, 1297, 4369, 0, 0, 0}, {136, 2594, 8738, 0, 0, 0, 0}, {3, 64, 1296, 4112, 0, 0, 0}, {12, 1572, 68, 0, 0, 0, 0}, {15, 1317, 1365, 0, 0, 0, 0}, {12, 1574, 64, 0, 0, 0, 0}, {15, 1319, 1360, 0, 0, 0, 0}, {136, 2600, 8704, 0, 0, 0, 0}, {3, 64, 1301, 4096, 0, 0, 0}, {128, 2602, 8192, 0, 0, 0, 0}, {3, 68, 1300, 4352, 0, 0, 0}, {12, 1568, 64, 0, 0, 0, 0}, {15, 1314, 1365, 0, 0, 0, 0}, {12, 1570, 68, 0, 0, 0, 0}, {15, 1312, 1360, 0, 0, 0, 0}, {2560, 48, 20480, 0, 0, 0, 0}, {8, 51, 514, 68, 4369, 0, 0}, {8, 48, 514, 64, 4112, 0, 0}, {2560, 51, 21760, 0, 0, 0, 0}, {8, 52, 512, 68, 5120, 0, 0}, {63, 13621, 21845, 0, 0, 0, 0}, {60, 13878, 20560, 0, 0, 0, 0}, {8, 55, 512, 64, 5376, 0, 0}, {8, 48, 512, 64, 4096, 0, 0}, {2570, 51, 21845, 0, 0, 0, 0}, {2570, 48, 20560, 0, 0, 0, 0}, {8, 51, 512, 68, 4352, 0, 0}, {60, 13824, 20480, 0, 0, 0, 0}, {8, 55, 514, 64, 5397, 0, 0}, {8, 52, 514, 68, 5140, 0, 0}, {63, 13568, 21760, 0, 0, 0, 0}, {2560, 8192, 64, 0, 0, 0, 0}, {15, 51, 68, 1285, 4369, 0, 0}, {72, 16962, 0, 0, 0, 0, 0}, {67, 1280, 0, 0, 0, 0, 0}, {2560, 8704, 68, 0, 0, 0, 0}, {15, 48, 64, 1285, 4112, 0, 0}, {76, 17990, 0, 0, 0, 0, 0}, {71, 1280, 0, 0, 0, 0, 0}, {72, 16896, 0, 0, 0, 0, 0}, {67, 1285, 0, 0, 0, 0, 0}, {2570, 8224, 64, 0, 0, 0, 0}, {15, 51, 68, 1280, 4352, 0, 0}, {76, 17920, 0, 0, 0, 0, 0}, {71, 1285, 0, 0, 0, 0, 0}, {2570, 8738, 68, 0, 0, 0, 0}, {15, 48, 64, 1280, 4096, 0, 0}, {240, 2640, 20560, 0, 0, 0, 0}, {51, 529, 4, 4369, 0, 0, 0}, {8, 112, 594, 20480, 0, 0, 0}, {12, 51, 1619, 21760, 0, 0, 0}, {48, 528, 4, 4112, 0, 0, 0}, {255, 2645, 21845, 0, 0, 0, 0}, {12, 48, 1622, 20480, 0, 0, 0}, {8, 119, 599, 21760, 0, 0, 0}, {8, 112, 592, 20560, 0, 0, 0}, {12, 51, 1621, 21845, 0, 0, 0}, {240, 2650, 20480, 0, 0, 0, 0}, {51, 531, 4, 4352, 0, 0, 0}, {12, 48, 1616, 20560, 0, 0, 0}, {8, 119, 597, 21845, 0, 0, 0}, {48, 530, 4, 4096, 0, 0, 0}, {255, 2655, 21760, 0, 0, 0, 0}, {192, 2656, 24672, 0, 0, 0, 0}, {7, 68, 1297, 4369, 0, 0, 0}, {8, 546, 64, 0, 0, 0, 0}, {15, 51, 1360, 0, 0, 0, 0}, {8, 544, 68, 0, 0, 0, 0}, {15, 48, 1365, 0, 0, 0, 0}, {204, 2662, 26214, 0, 0, 0, 0}, {7, 64, 1296, 4112, 0, 0, 0}, {8, 544, 64, 0, 0, 0, 0}, {15, 51, 1365, 0, 0, 0, 0}, {192, 2666, 24576, 0, 0, 0, 0}, {7, 68, 1300, 4352, 0, 0, 0}, {204, 2668, 26112, 0, 0, 0, 0}, {7, 64, 1301, 4096, 0, 0, 0}, {8, 546, 68, 0, 0, 0, 0}, {15, 48, 1360, 0, 0, 0, 0}, {2560, 112, 20480, 0, 0, 0, 0}, {12, 51, 1542, 68, 4369, 0, 0}, {120, 8738, 20560, 0, 0, 0, 0}, {12, 51, 4864, 64, 5376, 0, 0}, {12, 48, 4608, 68, 5120, 0, 0}, {127, 8224, 21845, 0, 0, 0, 0}, {12, 48, 1542, 64, 4112, 0, 0}, {2560, 119, 21760, 0, 0, 0, 0}, {120, 8704, 20480, 0, 0, 0, 0}, {12, 51, 4883, 64, 5397, 0, 0}, {2570, 112, 20560, 0, 0, 0, 0}, {12, 51, 1536, 68, 4352, 0, 0}, {12, 48, 1536, 64, 4096, 0, 0}, {2570, 119, 21845, 0, 0, 0, 0}, {12, 48, 4626, 68, 5140, 0, 0}, {127, 8192, 21760, 0, 0, 0, 0}, {128, 2560, 8192, 0, 0, 0, 0}, {3, 68, 1285, 4369, 0, 0, 0}, {136, 2570, 8738, 0, 0, 0, 0}, {3, 64, 1280, 4096, 0, 0, 0}, {12, 1536, 68, 0, 0, 0, 0}, {15, 112, 1285, 0, 0, 0, 0}, {12, 1542, 64, 0, 0, 0, 0}, {15, 119, 1280, 0, 0, 0, 0}, {136, 2560, 8704, 0, 0, 0, 0}, {3, 64, 1285, 4112, 0, 0, 0}, {128, 2570, 8224, 0, 0, 0, 0}, {3, 68, 1280, 4352, 0, 0, 0}, {12, 1536, 64, 0, 0, 0, 0}, {15, 119, 1285, 0, 0, 0, 0}, {12, 1542, 68, 0, 0, 0, 0}, {15, 112, 1280, 0, 0, 0, 0}, {2640, 48, 20560, 0, 0, 0, 0}, {8, 51, 529, 68, 4369, 0, 0}, {8, 48, 530, 64, 4096, 0, 0}, {2655, 51, 21760, 0, 0, 0, 0}, {8, 52, 532, 68, 5140, 0, 0}, {63, 13653, 21845, 0, 0, 0, 0}, {60, 13926, 20480, 0, 0, 0, 0}, {8, 55, 535, 64, 5376, 0, 0}, {8, 48, 528, 64, 4112, 0, 0}, {2645, 51, 21845, 0, 0, 0, 0}, {2650, 48, 20480, 0, 0, 0, 0}, {8, 51, 531, 68, 4352, 0, 0}, {60, 13904, 20560, 0, 0, 0, 0}, {8, 55, 533, 64, 5397, 0, 0}, {8, 52, 534, 68, 5120, 0, 0}, {63, 13664, 21760, 0, 0, 0, 0}, {2720, 0, 0, 0, 0, 0, 0}, {3, 4, 273, 0, 0, 0, 0}, {8, 546, 0, 0, 0, 0, 0}, {3, 1360, 0, 0, 0, 0, 0}, {544, 4, 0, 0, 0, 0, 0}, {15, 1365, 0, 0, 0, 0, 0}, {12, 1638, 0, 0, 0, 0, 0}, {7, 1360, 0, 0, 0, 0, 0}, {8, 544, 0, 0, 0, 0, 0}, {3, 1365, 0, 0, 0, 0, 0}, {2730, 0, 0, 0, 0, 0, 0}, {3, 4, 272, 0, 0, 0, 0}, {12, 1632, 0, 0, 0, 0, 0}, {7, 1365, 0, 0, 0, 0, 0}, {546, 4, 0, 0, 0, 0, 0}, {15, 1360, 0, 0, 0, 0, 0}, {2560, 48, 64, 4096, 0, 0, 0}, {2570, 51, 68, 4369, 0, 0, 0}, {72, 48, 4626, 20560, 0, 0, 0}, {76, 51, 4864, 21760, 0, 0, 0}, {60, 8704, 68, 5120, 0, 0, 0}, {63, 8224, 64, 5397, 0, 0, 0}, {76, 112, 5654, 20560, 0, 0, 0}, {72, 119, 5888, 21760, 0, 0, 0}, {72, 48, 4608, 20480, 0, 0, 0}, {76, 51, 4883, 21845, 0, 0, 0}, {2570, 48, 64, 4112, 0, 0, 0}, {2560, 51, 68, 4352, 0, 0, 0}, {76, 112, 5632, 20480, 0, 0, 0}, {72, 119, 5911, 21845, 0, 0, 0}, {60, 8738, 68, 5140, 0, 0, 0}, {63, 8192, 64, 5376, 0, 0, 0}, {192, 2560, 24576, 0, 0, 0, 0}, {7, 68, 1285, 4369, 0, 0, 0}, {8, 514, 64, 0, 0, 0, 0}, {15, 51, 1280, 0, 0, 0, 0}, {8, 512, 68, 0, 0, 0, 0}, {15, 48, 1285, 0, 0, 0, 0}, {204, 2570, 26214, 0, 0, 0, 0}, {7, 64, 1280, 4096, 0, 0, 0}, {8, 512, 64, 0, 0, 0, 0}, {15, 51, 1285, 0, 0, 0, 0}, {192, 2570, 24672, 0, 0, 0, 0}, {7, 68, 1280, 4352, 0, 0, 0}, {204, 2560, 26112, 0, 0, 0, 0}, {7, 64, 1285, 4112, 0, 0, 0}, {8, 514, 68, 0, 0, 0, 0}, {15, 48, 1280, 0, 0, 0, 0}, {2640, 112, 20560, 0, 0, 0, 0}, {12, 51, 1553, 68, 4369, 0, 0}, {120, 8738, 20480, 0, 0, 0, 0}, {12, 51, 4883, 64, 5376, 0, 0}, {12, 48, 4608, 68, 5140, 0, 0}, {127, 8192, 21845, 0, 0, 0, 0}, {12, 48, 1558, 64, 4096, 0, 0}, {2655, 119, 21760, 0, 0, 0, 0}, {120, 8704, 20560, 0, 0, 0, 0}, {12, 51, 4864, 64, 5397, 0, 0}, {2650, 112, 20480, 0, 0, 0, 0}, {12, 51, 1559, 68, 4352, 0, 0}, {12, 48, 1552, 64, 4112, 0, 0}, {2645, 119, 21845, 0, 0, 0, 0}, {12, 48, 4626, 68, 5120, 0, 0}, {127, 8224, 21760, 0, 0, 0, 0}, {2592, 8224, 64, 0, 0, 0, 0}, {15, 51, 68, 1297, 4369, 0, 0}, {72, 16930, 0, 0, 0, 0, 0}, {1299, 1360, 0, 0, 0, 0, 0}, {2600, 8704, 68, 0, 0, 0, 0}, {15, 48, 64, 1301, 4096, 0, 0}, {76, 18022, 0, 0, 0, 0, 0}, {1303, 1360, 0, 0, 0, 0, 0}, {72, 16992, 0, 0, 0, 0, 0}, {1302, 1365, 0, 0, 0, 0, 0}, {2602, 8192, 64, 0, 0, 0, 0}, {15, 51, 68, 1300, 4352, 0, 0}, {76, 17952, 0, 0, 0, 0, 0}, {1298, 1365, 0, 0, 0, 0, 0}, {2594, 8738, 68, 0, 0, 0, 0}, {15, 48, 64, 1296, 4112, 0, 0}, {240, 2560, 20480, 0, 0, 0, 0}, {51, 514, 4, 4369, 0, 0, 0}, {8, 112, 514, 20560, 0, 0, 0}, {12, 51, 1536, 21760, 0, 0, 0}, {48, 512, 4, 4096, 0, 0, 0}, {255, 2570, 21845, 0, 0, 0, 0}, {12, 48, 1542, 20560, 0, 0, 0}, {8, 119, 512, 21760, 0, 0, 0}, {8, 112, 512, 20480, 0, 0, 0}, {12, 51, 1542, 21845, 0, 0, 0}, {240, 2570, 20560, 0, 0, 0, 0}, {51, 512, 4, 4352, 0, 0, 0}, {12, 48, 1536, 20480, 0, 0, 0}, {8, 119, 514, 21845, 0, 0, 0}, {48, 514, 4, 4112, 0, 0, 0}, {255, 2560, 21760, 0, 0, 0, 0}, {768, 1024, 0, 0, 0, 0, 0}, {10, 257, 0, 0, 0, 0, 0}, {258, 1280, 0, 0, 0, 0, 0}, {1036, 771, 0, 0, 0, 0, 0}, {780, 1028, 0, 0, 0, 0, 0}, {512, 261, 0, 0, 0, 0, 0}, {262, 1280, 0, 0, 0, 0, 0}, {1032, 1799, 0, 0, 0, 0, 0}, {1032, 768, 0, 0, 0, 0, 0}, {259, 1285, 0, 0, 0, 0, 0}, {10, 256, 0, 0, 0, 0, 0}, {771, 1028, 0, 0, 0, 0, 0}, {1036, 1792, 0, 0, 0, 0, 0}, {263, 1285, 0, 0, 0, 0, 0}, {514, 260, 0, 0, 0, 0, 0}, {783, 1024, 0, 0, 0, 0, 0}, {2832, 816, 1088, 4112, 0, 0, 0}, {2833, 819, 1092, 4369, 0, 0, 0}, {1096, 4386, 4626, 21760, 0, 0, 0}, {1100, 4128, 4883, 20480, 0, 0, 0}, {828, 8192, 4176, 5140, 0, 0, 0}, {831, 8704, 4437, 5397, 0, 0, 0}, {1100, 4454, 5654, 21760, 0, 0, 0}, {1096, 4192, 5911, 20480, 0, 0, 0}, {1096, 4144, 4864, 20560, 0, 0, 0}, {1100, 4403, 4608, 21845, 0, 0, 0}, {2842, 816, 1088, 4352, 0, 0, 0}, {2843, 819, 1092, 4096, 0, 0, 0}, {1100, 4208, 5888, 20560, 0, 0, 0}, {1096, 4471, 5632, 21845, 0, 0, 0}, {828, 8738, 4420, 5376, 0, 0, 0}, {831, 8224, 4160, 5120, 0, 0, 0}, {4128, 768, 5120, 0, 0, 0, 0}, {1070, 771, 4369, 0, 0, 0, 0}, {4386, 768, 5376, 0, 0, 0, 0}, {1068, 771, 4112, 0, 0, 0, 0}, {780, 1060, 5188, 0, 0, 0, 0}, {783, 1829, 4437, 0, 0, 0, 0}, {780, 1062, 5440, 0, 0, 0, 0}, {783, 1831, 4176, 0, 0, 0, 0}, {1064, 768, 4096, 0, 0, 0, 0}, {4403, 771, 5397, 0, 0, 0, 0}, {1066, 768, 4352, 0, 0, 0, 0}, {4144, 771, 5140, 0, 0, 0, 0}, {780, 1824, 4160, 0, 0, 0, 0}, {783, 1058, 5461, 0, 0, 0, 0}, {780, 1826, 4420, 0, 0, 0, 0}, {783, 1056, 5200, 0, 0, 0, 0}, {2048, 816, 17408, 0, 0, 0, 0}, {10, 305, 514, 1365, 4369, 0, 0}, {10, 306, 514, 1360, 4112, 0, 0}, {2048, 819, 16384, 0, 0, 0, 0}, {828, 13364, 17476, 0, 0, 0, 0}, {10, 309, 512, 4437, 5120, 0, 0}, {10, 310, 512, 4176, 5376, 0, 0}, {831, 14135, 16448, 0, 0, 0, 0}, {2056, 816, 16448, 0, 0, 0, 0}, {10, 307, 512, 1365, 4096, 0, 0}, {10, 304, 512, 1360, 4352, 0, 0}, {2056, 819, 17476, 0, 0, 0, 0}, {828, 14080, 16384, 0, 0, 0, 0}, {10, 311, 514, 4160, 5397, 0, 0}, {10, 308, 514, 4420, 5140, 0, 0}, {831, 13312, 17408, 0, 0, 0, 0}, {3840, 13056, 1088, 0, 0, 0, 0}, {10, 546, 321, 1285, 4369, 0, 0}, {322, 1280, 0, 0, 0, 0, 0}, {1100, 17219, 0, 0, 0, 0, 0}, {3840, 12288, 1092, 0, 0, 0, 0}, {10, 544, 325, 1285, 4112, 0, 0}, {326, 1280, 0, 0, 0, 0, 0}, {1096, 18247, 0, 0, 0, 0, 0}, {1096, 17152, 0, 0, 0, 0, 0}, {323, 1285, 0, 0, 0, 0, 0}, {10, 544, 320, 1280, 4352, 0, 0}, {3855, 13107, 1092, 0, 0, 0, 0}, {1100, 18176, 0, 0, 0, 0, 0}, {327, 1285, 0, 0, 0, 0, 0}, {10, 546, 324, 1280, 4096, 0, 0}, {3855, 12336, 1088, 0, 0, 0, 0}, {4864, 4176, 1024, 0, 0, 0, 0}, {857, 1028, 4369, 0, 0, 0, 0}, {1032, 4386, 1874, 21760, 0, 0, 0}, {1036, 4192, 851, 20480, 0, 0, 0}, {860, 1028, 4112, 0, 0, 0, 0}, {4608, 4437, 1024, 0, 0, 0, 0}, {1036, 4454, 854, 21760, 0, 0, 0}, {1032, 4128, 1879, 20480, 0, 0, 0}, {1032, 4208, 848, 20560, 0, 0, 0}, {1036, 4403, 1877, 21845, 0, 0, 0}, {858, 1024, 4352, 0, 0, 0, 0}, {4883, 4160, 1028, 0, 0, 0, 0}, {1036, 4144, 1872, 20560, 0, 0, 0}, {1032, 4471, 853, 21845, 0, 0, 0}, {4626, 4420, 1028, 0, 0, 0, 0}, {863, 1024, 4096, 0, 0, 0, 0}, {4192, 4864, 5120, 0, 0, 0, 0}, {1134, 1799, 4369, 0, 0, 0, 0}, {1800, 4386, 5440, 0, 0, 0, 0}, {1807, 4915, 4176, 0, 0, 0, 0}, {1800, 4128, 5188, 0, 0, 0, 0}, {1807, 4656, 4437, 0, 0, 0, 0}, {4454, 4608, 5376, 0, 0, 0, 0}, {1128, 1799, 4112, 0, 0, 0, 0}, {1800, 4896, 4160, 0, 0, 0, 0}, {1807, 4403, 5461, 0, 0, 0, 0}, {1130, 1792, 4352, 0, 0, 0, 0}, {4208, 4883, 5140, 0, 0, 0, 0}, {1132, 1792, 4096, 0, 0, 0, 0}, {4471, 4626, 5397, 0, 0, 0, 0}, {1800, 4642, 4420, 0, 0, 0, 0}, {1807, 4144, 5200, 0, 0, 0, 0}, {3072, 1904, 17408, 0, 0, 0, 0}, {10, 1060, 1542, 1365, 4369, 0, 0}, {10, 4386, 4864, 4176, 5376, 0, 0}, {1919, 13107, 16448, 0, 0, 0, 0}, {1912, 12336, 17476, 0, 0, 0, 0}, {10, 4128, 4608, 4437, 5120, 0, 0}, {10, 1062, 1542, 1360, 4112, 0, 0}, {3072, 1911, 16384, 0, 0, 0, 0}, {1912, 13056, 16384, 0, 0, 0, 0}, {10, 4403, 4883, 4160, 5397, 0, 0}, {10, 1056, 1536, 1360, 4352, 0, 0}, {3084, 1911, 17476, 0, 0, 0, 0}, {3084, 1904, 16448, 0, 0, 0, 0}, {10, 1058, 1536, 1365, 4096, 0, 0}, {10, 4144, 4626, 4420, 5140, 0, 0}, {1919, 12288, 17408, 0, 0, 0, 0}, {1152, 768, 17408, 0, 0, 0, 0}, {10, 289, 771, 1285, 4369, 0, 0}, {10, 290, 768, 1280, 4096, 0, 0}, {1164, 771, 16448, 0, 0, 0, 0}, {780, 13380, 17476, 0, 0, 0, 0}, {10, 293, 773, 4437, 1285, 0, 0}, {10, 294, 774, 4160, 1280, 0, 0}, {783, 14199, 16384, 0, 0, 0, 0}, {1160, 768, 16384, 0, 0, 0, 0}, {10, 291, 771, 1285, 4112, 0, 0}, {10, 288, 768, 1280, 4352, 0, 0}, {1156, 771, 17476, 0, 0, 0, 0}, {780, 14144, 16448, 0, 0, 0, 0}, {10, 295, 773, 4176, 1285, 0, 0}, {10, 292, 774, 4420, 1280, 0, 0}, {783, 13424, 17408, 0, 0, 0, 0}, {4144, 4864, 5200, 0, 0, 0, 0}, {1885, 819, 4369, 0, 0, 0, 0}, {4386, 4626, 5440, 0, 0, 0, 0}, {1887, 819, 4096, 0, 0, 0, 0}, {4940, 4208, 5140, 0, 0, 0, 0}, {5439, 5632, 4437, 0, 0, 0, 0}, {4698, 4454, 5376, 0, 0, 0, 0}, {5160, 5911, 4160, 0, 0, 0, 0}, {1880, 816, 4112, 0, 0, 0, 0}, {4403, 4608, 5461, 0, 0, 0, 0}, {1882, 816, 4352, 0, 0, 0, 0}, {4128, 4883, 5188, 0, 0, 0, 0}, {5180, 5888, 4176, 0, 0, 0, 0}, {4680, 4471, 5397, 0, 0, 0, 0}, {5418, 5654, 4420, 0, 0, 0, 0}, {4959, 4192, 5120, 0, 0, 0, 0}, {160, 768, 1024, 4096, 0, 0, 0}, {170, 771, 1028, 4369, 0, 0, 0}, {1032, 4386, 768, 21760, 0, 0, 0}, {1036, 4144, 771, 20560, 0, 0, 0}, {780, 8224, 4160, 1028, 0, 0, 0}, {783, 8704, 4437, 1024, 0, 0, 0}, {1036, 4454, 1792, 21760, 0, 0, 0}, {1032, 4208, 1799, 20560, 0, 0, 0}, {1032, 4128, 768, 20480, 0, 0, 0}, {1036, 4403, 771, 21845, 0, 0, 0}, {170, 768, 1024, 4352, 0, 0, 0}, {160, 771, 1028, 4112, 0, 0, 0}, {1036, 4192, 1792, 20480, 0, 0, 0}, {1032, 4471, 1799, 21845, 0, 0, 0}, {780, 8738, 4420, 1028, 0, 0, 0}, {783, 8192, 4176, 1024, 0, 0, 0}, {816, 1088, 0, 0, 0, 0, 0}, {10, 273, 0, 0, 0, 0, 0}, {274, 1360, 0, 0, 0, 0, 0}, {1100, 819, 0, 0, 0, 0, 0}, {828, 1092, 0, 0, 0, 0, 0}, {544, 277, 0, 0, 0, 0, 0}, {278, 1360, 0, 0, 0, 0, 0}, {1096, 1911, 0, 0, 0, 0, 0}, {1096, 816, 0, 0, 0, 0, 0}, {275, 1365, 0, 0, 0, 0, 0}, {10, 272, 0, 0, 0, 0, 0}, {819, 1092, 0, 0, 0, 0, 0}, {1100, 1904, 0, 0, 0, 0, 0}, {279, 1365, 0, 0, 0, 0, 0}, {546, 276, 0, 0, 0, 0, 0}, {831, 1088, 0, 0, 0, 0, 0}, {1216, 1792, 17408, 0, 0, 0, 0}, {10, 353, 514, 1285, 4369, 0, 0}, {10, 4386, 514, 4160, 1280, 0, 0}, {1807, 13107, 16384, 0, 0, 0, 0}, {1800, 12288, 17476, 0, 0, 0, 0}, {10, 4144, 512, 4437, 1285, 0, 0}, {10, 358, 512, 1280, 4096, 0, 0}, {1224, 1799, 16448, 0, 0, 0, 0}, {1800, 13056, 16448, 0, 0, 0, 0}, {10, 4403, 512, 4176, 1285, 0, 0}, {10, 352, 512, 1280, 4352, 0, 0}, {1220, 1799, 17476, 0, 0, 0, 0}, {1228, 1792, 16384, 0, 0, 0, 0}, {10, 359, 514, 1285, 4112, 0, 0}, {10, 4128, 514, 4420, 1280, 0, 0}, {1807, 12336, 17408, 0, 0, 0, 0}, {1056, 5888, 5200, 0, 0, 0, 0}, {857, 1911, 4369, 0, 0, 0, 0}, {858, 4386, 5376, 0, 0, 0, 0}, {1068, 4883, 4160, 0, 0, 0, 0}, {860, 4144, 5140, 0, 0, 0, 0}, {1066, 4608, 4437, 0, 0, 0, 0}, {1062, 5654, 5440, 0, 0, 0, 0}, {863, 1911, 4096, 0, 0, 0, 0}, {1064, 4864, 4176, 0, 0, 0, 0}, {857, 4403, 5397, 0, 0, 0, 0}, {858, 1904, 4352, 0, 0, 0, 0}, {1060, 5911, 5188, 0, 0, 0, 0}, {860, 1904, 4112, 0, 0, 0, 0}, {1058, 5632, 5461, 0, 0, 0, 0}, {1070, 4626, 4420, 0, 0, 0, 0}, {863, 4128, 5120, 0, 0, 0, 0}, {4896, 4160, 5120, 0, 0, 0, 0}, {1837, 1092, 4369, 0, 0, 0, 0}, {1096, 4386, 5632, 21760, 0, 0, 0}, {1100, 4208, 4883, 20560, 0, 0, 0}, {1832, 1092, 4096, 0, 0, 0, 0}, {4656, 4437, 5397, 0, 0, 0, 0}, {1100, 4454, 4608, 21760, 0, 0, 0}, {1096, 4144, 5911, 20560, 0, 0, 0}, {1096, 4192, 4864, 20480, 0, 0, 0}, {1100, 4403, 5654, 21845, 0, 0, 0}, {1834, 1088, 4352, 0, 0, 0, 0}, {4915, 4176, 5140, 0, 0, 0, 0}, {1100, 4128, 5888, 20480, 0, 0, 0}, {1096, 4471, 4626, 21845, 0, 0, 0}, {4642, 4420, 5376, 0, 0, 0, 0}, {1839, 1088, 4112, 0, 0, 0, 0}, {1008, 13056, 1024, 0, 0, 0, 0}, {10, 514, 337, 1028, 4369, 0, 0}, {1026, 1360, 0, 0, 0, 0, 0}, {1036, 17203, 0, 0, 0, 0, 0}, {1020, 12336, 1028, 0, 0, 0, 0}, {10, 512, 341, 1024, 4096, 0, 0}, {1030, 1360, 0, 0, 0, 0, 0}, {1032, 18295, 0, 0, 0, 0, 0}, {1032, 17264, 0, 0, 0, 0, 0}, {1030, 1365, 0, 0, 0, 0, 0}, {10, 512, 336, 1024, 4352, 0, 0}, {1011, 13107, 1028, 0, 0, 0, 0}, {1036, 18224, 0, 0, 0, 0, 0}, {1026, 1365, 0, 0, 0, 0, 0}, {10, 514, 340, 1028, 4112, 0, 0}, {1023, 12288, 1024, 0, 0, 0, 0}, {3072, 0, 0, 0, 0, 0, 0}, {2, 5, 257, 0, 0, 0, 0}, {2, 1024, 0, 0, 0, 0, 0}, {15, 771, 0, 0, 0, 0, 0}, {8, 1028, 0, 0, 0, 0, 0}, {768, 5, 0, 0, 0, 0, 0}, {10, 1542, 0, 0, 0, 0, 0}, {7, 1024, 0, 0, 0, 0, 0}, {8, 1024, 0, 0, 0, 0, 0}, {771, 5, 0, 0, 0, 0, 0}, {10, 1536, 0, 0, 0, 0, 0}, {7, 1028, 0, 0, 0, 0, 0}, {3084, 0, 0, 0, 0, 0, 0}, {2, 5, 256, 0, 0, 0, 0}, {2, 1028, 0, 0, 0, 0, 0}, {15, 768, 0, 0, 0, 0, 0}, {3088, 32, 80, 4112, 0, 0, 0}, {3089, 34, 85, 4369, 0, 0, 0}, {90, 34, 4626, 17408, 0, 0, 0}, {95, 32, 4883, 16384, 0, 0, 0}, {40, 12288, 80, 5140, 0, 0, 0}, {42, 13056, 85, 5397, 0, 0, 0}, {90, 112, 5654, 16384, 0, 0, 0}, {95, 119, 5911, 17408, 0, 0, 0}, {40, 12336, 80, 5120, 0, 0, 0}, {42, 13107, 85, 5376, 0, 0, 0}, {90, 112, 5632, 16448, 0, 0, 0}, {95, 119, 5888, 17476, 0, 0, 0}, {3100, 32, 80, 4096, 0, 0, 0}, {3101, 34, 85, 4352, 0, 0, 0}, {90, 34, 4608, 17476, 0, 0, 0}, {95, 32, 4864, 16448, 0, 0, 0}, {3072, 32, 16384, 0, 0, 0, 0}, {15, 34, 771, 85, 4369, 0, 0}, {3072, 34, 17408, 0, 0, 0, 0}, {15, 32, 771, 80, 4112, 0, 0}, {40, 9252, 17476, 0, 0, 0, 0}, {15, 37, 768, 85, 5376, 0, 0}, {42, 9766, 16448, 0, 0, 0, 0}, {15, 39, 768, 80, 5120, 0, 0}, {40, 9216, 17408, 0, 0, 0, 0}, {15, 37, 771, 85, 5397, 0, 0}, {42, 9728, 16384, 0, 0, 0, 0}, {15, 39, 771, 80, 5140, 0, 0}, {3084, 32, 16448, 0, 0, 0, 0}, {15, 34, 768, 85, 4352, 0, 0}, {3084, 34, 17476, 0, 0, 0, 0}, {15, 32, 768, 80, 4096, 0, 0}, {240, 3120, 12336, 0, 0, 0, 0}, {2, 85, 1041, 4369, 0, 0, 0}, {2, 80, 1040, 4112, 0, 0, 0}, {255, 3123, 13107, 0, 0, 0, 0}, {8, 1076, 1092, 0, 0, 0, 0}, {10, 1589, 85, 0, 0, 0, 0}, {10, 1590, 80, 0, 0, 0, 0}, {8, 1079, 1088, 0, 0, 0, 0}, {8, 1072, 1088, 0, 0, 0, 0}, {10, 1587, 85, 0, 0, 0, 0}, {10, 1584, 80, 0, 0, 0, 0}, {8, 1075, 1092, 0, 0, 0, 0}, {240, 3132, 12288, 0, 0, 0, 0}, {2, 85, 1045, 4352, 0, 0, 0}, {2, 80, 1044, 4096, 0, 0, 0}, {255, 3135, 13056, 0, 0, 0, 0}, {128, 3136, 16448, 0, 0, 0, 0}, {34, 785, 5, 4369, 0, 0, 0}, {10, 34, 1602, 17408, 0, 0, 0}, {15, 112, 835, 16384, 0, 0, 0}, {136, 3140, 17476, 0, 0, 0, 0}, {32, 784, 5, 4112, 0, 0, 0}, {10, 32, 1606, 16384, 0, 0, 0}, {15, 119, 839, 17408, 0, 0, 0}, {136, 3144, 17408, 0, 0, 0, 0}, {32, 787, 5, 4096, 0, 0, 0}, {10, 32, 1600, 16448, 0, 0, 0}, {15, 119, 836, 17476, 0, 0, 0}, {128, 3148, 16384, 0, 0, 0, 0}, {34, 786, 5, 4352, 0, 0, 0}, {10, 34, 1604, 17476, 0, 0, 0}, {15, 112, 832, 16448, 0, 0, 0}, {3072, 12288, 80, 0, 0, 0, 0}, {8, 34, 85, 1028, 4369, 0, 0}, {82, 1024, 0, 0, 0, 0, 0}, {95, 21331, 0, 0, 0, 0, 0}, {8, 32, 80, 1028, 4112, 0, 0}, {3072, 13056, 85, 0, 0, 0, 0}, {90, 22102, 0, 0, 0, 0, 0}, {87, 1024, 0, 0, 0, 0, 0}, {8, 32, 80, 1024, 4096, 0, 0}, {3084, 13107, 85, 0, 0, 0, 0}, {90, 22016, 0, 0, 0, 0, 0}, {87, 1028, 0, 0, 0, 0, 0}, {3084, 12336, 80, 0, 0, 0, 0}, {8, 34, 85, 1024, 4352, 0, 0}, {82, 1028, 0, 0, 0, 0, 0}, {95, 21248, 0, 0, 0, 0, 0}, {160, 3168, 24672, 0, 0, 0, 0}, {7, 85, 1041, 4369, 0, 0, 0}, {8, 34, 1088, 0, 0, 0, 0}, {15, 819, 80, 0, 0, 0, 0}, {8, 32, 1092, 0, 0, 0, 0}, {15, 816, 85, 0, 0, 0, 0}, {170, 3174, 26214, 0, 0, 0, 0}, {7, 80, 1040, 4112, 0, 0, 0}, {8, 32, 1088, 0, 0, 0, 0}, {15, 819, 85, 0, 0, 0, 0}, {170, 3178, 26112, 0, 0, 0, 0}, {7, 80, 1044, 4096, 0, 0, 0}, {160, 3180, 24576, 0, 0, 0, 0}, {7, 85, 1045, 4352, 0, 0, 0}, {8, 34, 1092, 0, 0, 0, 0}, {15, 816, 80, 0, 0, 0, 0}, {3072, 112, 16384, 0, 0, 0, 0}, {10, 34, 1542, 85, 4369, 0, 0}, {10, 34, 4608, 80, 5120, 0, 0}, {127, 13107, 16448, 0, 0, 0, 0}, {120, 12336, 17476, 0, 0, 0, 0}, {10, 32, 4864, 85, 5376, 0, 0}, {10, 32, 1542, 80, 4112, 0, 0}, {3072, 119, 17408, 0, 0, 0, 0}, {120, 12288, 17408, 0, 0, 0, 0}, {10, 32, 4883, 85, 5397, 0, 0}, {10, 32, 1536, 80, 4096, 0, 0}, {3084, 119, 17476, 0, 0, 0, 0}, {3084, 112, 16448, 0, 0, 0, 0}, {10, 34, 1536, 85, 4352, 0, 0}, {10, 34, 4626, 80, 5140, 0, 0}, {127, 13056, 16384, 0, 0, 0, 0}, {128, 3072, 16384, 0, 0, 0, 0}, {34, 771, 5, 4369, 0, 0, 0}, {10, 34, 1536, 17408, 0, 0, 0}, {15, 112, 771, 16448, 0, 0, 0}, {136, 3084, 17476, 0, 0, 0, 0}, {32, 768, 5, 4096, 0, 0, 0}, {10, 32, 1542, 16448, 0, 0, 0}, {15, 119, 768, 17408, 0, 0, 0}, {136, 3072, 17408, 0, 0, 0, 0}, {32, 771, 5, 4112, 0, 0, 0}, {10, 32, 1536, 16384, 0, 0, 0}, {15, 119, 771, 17476, 0, 0, 0}, {128, 3084, 16448, 0, 0, 0, 0}, {34, 768, 5, 4352, 0, 0, 0}, {10, 34, 1542, 17476, 0, 0, 0}, {15, 112, 768, 16384, 0, 0, 0}, {3120, 12336, 80, 0, 0, 0, 0}, {8, 34, 85, 1041, 4369, 0, 0}, {1042, 1088, 0, 0, 0, 0, 0}, {95, 21299, 0, 0, 0, 0, 0}, {8, 32, 80, 1044, 4096, 0, 0}, {3135, 13056, 85, 0, 0, 0, 0}, {90, 22118, 0, 0, 0, 0, 0}, {1047, 1088, 0, 0, 0, 0, 0}, {8, 32, 80, 1040, 4112, 0, 0}, {3123, 13107, 85, 0, 0, 0, 0}, {90, 22064, 0, 0, 0, 0, 0}, {1043, 1092, 0, 0, 0, 0, 0}, {3132, 12288, 80, 0, 0, 0, 0}, {8, 34, 85, 1045, 4352, 0, 0}, {1046, 1092, 0, 0, 0, 0, 0}, {95, 21344, 0, 0, 0, 0, 0}, {160, 3072, 24576, 0, 0, 0, 0}, {7, 85, 1028, 4369, 0, 0, 0}, {8, 34, 1024, 0, 0, 0, 0}, {15, 771, 80, 0, 0, 0, 0}, {8, 32, 1028, 0, 0, 0, 0}, {15, 768, 85, 0, 0, 0, 0}, {170, 3084, 26214, 0, 0, 0, 0}, {7, 80, 1024, 4096, 0, 0, 0}, {8, 32, 1024, 0, 0, 0, 0}, {15, 771, 85, 0, 0, 0, 0}, {170, 3072, 26112, 0, 0, 0, 0}, {7, 80, 1028, 4112, 0, 0, 0}, {160, 3084, 24672, 0, 0, 0, 0}, {7, 85, 1024, 4352, 0, 0, 0}, {8, 34, 1028, 0, 0, 0, 0}, {15, 768, 80, 0, 0, 0, 0}, {3136, 112, 16448, 0, 0, 0, 0}, {10, 34, 1553, 85, 4369, 0, 0}, {10, 34, 4626, 80, 5120, 0, 0}, {127, 13107, 16384, 0, 0, 0, 0}, {120, 12288, 17476, 0, 0, 0, 0}, {10, 32, 4864, 85, 5397, 0, 0}, {10, 32, 1558, 80, 4096, 0, 0}, {3144, 119, 17408, 0, 0, 0, 0}, {120, 12336, 17408, 0, 0, 0, 0}, {10, 32, 4883, 85, 5376, 0, 0}, {10, 32, 1552, 80, 4112, 0, 0}, {3140, 119, 17476, 0, 0, 0, 0}, {3148, 112, 16384, 0, 0, 0, 0}, {10, 34, 1559, 85, 4352, 0, 0}, {10, 34, 4608, 80, 5140, 0, 0}, {127, 13056, 16448, 0, 0, 0, 0}, {3264, 0, 0, 0, 0, 0, 0}, {2, 5, 273, 0, 0, 0, 0}, {2, 1088, 0, 0, 0, 0, 0}, {15, 819, 0, 0, 0, 0, 0}, {8, 1092, 0, 0, 0, 0, 0}, {816, 5, 0, 0, 0, 0, 0}, {10, 1638, 0, 0, 0, 0, 0}, {7, 1088, 0, 0, 0, 0, 0}, {8, 1088, 0, 0, 0, 0, 0}, {819, 5, 0, 0, 0, 0, 0}, {10, 1632, 0, 0, 0, 0, 0}, {7, 1092, 0, 0, 0, 0, 0}, {3276, 0, 0, 0, 0, 0, 0}, {2, 5, 272, 0, 0, 0, 0}, {2, 1092, 0, 0, 0, 0, 0}, {15, 816, 0, 0, 0, 0, 0}, {3072, 32, 80, 4096, 0, 0, 0}, {3084, 34, 85, 4369, 0, 0, 0}, {90, 34, 4608, 17408, 0, 0, 0}, {95, 32, 4883, 16448, 0, 0, 0}, {40, 12336, 80, 5140, 0, 0, 0}, {42, 13056, 85, 5376, 0, 0, 0}, {90, 112, 5654, 16448, 0, 0, 0}, {95, 119, 5888, 17408, 0, 0, 0}, {40, 12288, 80, 5120, 0, 0, 0}, {42, 13107, 85, 5397, 0, 0, 0}, {90, 112, 5632, 16384, 0, 0, 0}, {95, 119, 5911, 17476, 0, 0, 0}, {3084, 32, 80, 4112, 0, 0, 0}, {3072, 34, 85, 4352, 0, 0, 0}, {90, 34, 4626, 17476, 0, 0, 0}, {95, 32, 4864, 16384, 0, 0, 0}, {3136, 32, 16448, 0, 0, 0, 0}, {15, 34, 785, 85, 4369, 0, 0}, {3144, 34, 17408, 0, 0, 0, 0}, {15, 32, 787, 80, 4096, 0, 0}, {40, 9284, 17476, 0, 0, 0, 0}, {15, 37, 789, 85, 5397, 0, 0}, {42, 9830, 16384, 0, 0, 0, 0}, {15, 39, 791, 80, 5120, 0, 0}, {40, 9312, 17408, 0, 0, 0, 0}, {15, 37, 790, 85, 5376, 0, 0}, {42, 9792, 16448, 0, 0, 0, 0}, {15, 39, 788, 80, 5140, 0, 0}, {3148, 32, 16384, 0, 0, 0, 0}, {15, 34, 786, 85, 4352, 0, 0}, {3140, 34, 17476, 0, 0, 0, 0}, {15, 32, 784, 80, 4112, 0, 0}, {240, 3072, 12288, 0, 0, 0, 0}, {2, 85, 1028, 4369, 0, 0, 0}, {2, 80, 1024, 4096, 0, 0, 0}, {255, 3084, 13107, 0, 0, 0, 0}, {8, 112, 1028, 0, 0, 0, 0}, {10, 1536, 85, 0, 0, 0, 0}, {10, 1542, 80, 0, 0, 0, 0}, {8, 119, 1024, 0, 0, 0, 0}, {8, 112, 1024, 0, 0, 0, 0}, {10, 1542, 85, 0, 0, 0, 0}, {10, 1536, 80, 0, 0, 0, 0}, {8, 119, 1028, 0, 0, 0, 0}, {240, 3084, 12336, 0, 0, 0, 0}, {2, 85, 1024, 4352, 0, 0, 0}, {2, 80, 1028, 4112, 0, 0, 0}, {255, 3072, 13056, 0, 0, 0, 0}, {512, 1280, 0, 0, 0, 0, 0}, {12, 257, 0, 0, 0, 0, 0}, {1290, 514, 0, 0, 0, 0, 0}, {259, 1024, 0, 0, 0, 0, 0}, {768, 260, 0, 0, 0, 0, 0}, {522, 1285, 0, 0, 0, 0, 0}, {262, 1024, 0, 0, 0, 0, 0}, {1295, 1799, 0, 0, 0, 0, 0}, {520, 1280, 0, 0, 0, 0, 0}, {771, 261, 0, 0, 0, 0, 0}, {1290, 1792, 0, 0, 0, 0, 0}, {263, 1028, 0, 0, 0, 0, 0}, {12, 256, 0, 0, 0, 0, 0}, {514, 1285, 0, 0, 0, 0, 0}, {258, 1028, 0, 0, 0, 0, 0}, {1295, 512, 0, 0, 0, 0, 0}, {3344, 544, 1360, 4112, 0, 0, 0}, {3345, 546, 1365, 4369, 0, 0, 0}, {1370, 4144, 4626, 16384, 0, 0, 0}, {1375, 4403, 4883, 17408, 0, 0, 0}, {552, 13056, 4420, 5140, 0, 0, 0}, {554, 12288, 4160, 5397, 0, 0, 0}, {1370, 4454, 5654, 17408, 0, 0, 0}, {1375, 4192, 5911, 16384, 0, 0, 0}, {552, 12336, 4176, 5376, 0, 0, 0}, {554, 13107, 4437, 5120, 0, 0, 0}, {1370, 4208, 5888, 16448, 0, 0, 0}, {1375, 4471, 5632, 17476, 0, 0, 0}, {3356, 544, 1360, 4352, 0, 0, 0}, {3357, 546, 1365, 4096, 0, 0, 0}, {1370, 4386, 4864, 17476, 0, 0, 0}, {1375, 4128, 4608, 16448, 0, 0, 0}, {3840, 544, 21760, 0, 0, 0, 0}, {12, 289, 771, 1092, 4369, 0, 0}, {3840, 546, 20480, 0, 0, 0, 0}, {12, 291, 771, 1088, 4112, 0, 0}, {12, 292, 768, 4420, 5376, 0, 0}, {554, 9509, 21845, 0, 0, 0, 0}, {12, 294, 768, 4160, 5120, 0, 0}, {552, 10023, 20560, 0, 0, 0, 0}, {552, 9472, 21760, 0, 0, 0, 0}, {12, 293, 771, 4437, 5397, 0, 0}, {554, 9984, 20480, 0, 0, 0, 0}, {12, 295, 771, 4176, 5140, 0, 0}, {12, 288, 768, 1088, 4352, 0, 0}, {3855, 546, 21845, 0, 0, 0, 0}, {12, 290, 768, 1092, 4096, 0, 0}, {3855, 544, 20560, 0, 0, 0, 0}, {4144, 512, 5376, 0, 0, 0, 0}, {1337, 514, 4369, 0, 0, 0, 0}, {1338, 514, 4112, 0, 0, 0, 0}, {4403, 512, 5120, 0, 0, 0, 0}, {520, 1844, 4420, 0, 0, 0, 0}, {522, 1333, 5461, 0, 0, 0, 0}, {522, 1334, 5200, 0, 0, 0, 0}, {520, 1847, 4160, 0, 0, 0, 0}, {520, 1328, 5440, 0, 0, 0, 0}, {522, 1843, 4437, 0, 0, 0, 0}, {522, 1840, 4176, 0, 0, 0, 0}, {520, 1331, 5188, 0, 0, 0, 0}, {1340, 512, 4352, 0, 0, 0, 0}, {4128, 514, 5397, 0, 0, 0, 0}, {4386, 514, 5140, 0, 0, 0, 0}, {1343, 512, 4096, 0, 0, 0, 0}, {4608, 4160, 1280, 0, 0, 0, 0}, {590, 1285, 4369, 0, 0, 0, 0}, {1290, 4192, 578, 16384, 0, 0, 0}, {1295, 4403, 1859, 17408, 0, 0, 0}, {4864, 4420, 1280, 0, 0, 0, 0}, {586, 1285, 4112, 0, 0, 0, 0}, {1290, 4454, 582, 17408, 0, 0, 0}, {1295, 4144, 1863, 16384, 0, 0, 0}, {584, 1280, 4096, 0, 0, 0, 0}, {4883, 4437, 1285, 0, 0, 0, 0}, {1290, 4128, 1856, 16448, 0, 0, 0}, {1295, 4471, 580, 17476, 0, 0, 0}, {588, 1280, 4352, 0, 0, 0, 0}, {4626, 4176, 1285, 0, 0, 0, 0}, {1290, 4386, 1860, 17476, 0, 0, 0}, {1295, 4208, 576, 16448, 0, 0, 0}, {2048, 8704, 1360, 0, 0, 0, 0}, {12, 819, 337, 1028, 4369, 0, 0}, {1370, 21074, 0, 0, 0, 0, 0}, {339, 1024, 0, 0, 0, 0, 0}, {12, 816, 340, 1028, 4112, 0, 0}, {2048, 8192, 1365, 0, 0, 0, 0}, {342, 1024, 0, 0, 0, 0, 0}, {1375, 22359, 0, 0, 0, 0, 0}, {2056, 8224, 1360, 0, 0, 0, 0}, {12, 819, 341, 1024, 4096, 0, 0}, {1370, 22272, 0, 0, 0, 0, 0}, {343, 1028, 0, 0, 0, 0, 0}, {12, 816, 336, 1024, 4352, 0, 0}, {2056, 8738, 1365, 0, 0, 0, 0}, {338, 1028, 0, 0, 0, 0, 0}, {1375, 20992, 0, 0, 0, 0, 0}, {4192, 4608, 5376, 0, 0, 0, 0}, {1385, 1799, 4369, 0, 0, 0, 0}, {1800, 4642, 4160, 0, 0, 0, 0}, {1807, 4403, 5200, 0, 0, 0, 0}, {1800, 4896, 4420, 0, 0, 0, 0}, {1807, 4144, 5461, 0, 0, 0, 0}, {4454, 4864, 5120, 0, 0, 0, 0}, {1391, 1799, 4112, 0, 0, 0, 0}, {1800, 4128, 5440, 0, 0, 0, 0}, {1807, 4915, 4437, 0, 0, 0, 0}, {1386, 1792, 4096, 0, 0, 0, 0}, {4471, 4883, 5140, 0, 0, 0, 0}, {1388, 1792, 4352, 0, 0, 0, 0}, {4208, 4626, 5397, 0, 0, 0, 0}, {1800, 4386, 5188, 0, 0, 0, 0}, {1807, 4656, 4176, 0, 0, 0, 0}, {2560, 1904, 21760, 0, 0, 0, 0}, {12, 1333, 1542, 1092, 4369, 0, 0}, {1912, 8738, 20560, 0, 0, 0, 0}, {12, 4403, 4608, 4160, 5120, 0, 0}, {12, 4144, 4864, 4420, 5376, 0, 0}, {1919, 8224, 21845, 0, 0, 0, 0}, {12, 1334, 1542, 1088, 4112, 0, 0}, {2560, 1911, 20480, 0, 0, 0, 0}, {1912, 8192, 21760, 0, 0, 0, 0}, {12, 4128, 4883, 4437, 5397, 0, 0}, {2570, 1904, 20560, 0, 0, 0, 0}, {12, 1331, 1536, 1092, 4096, 0, 0}, {12, 1328, 1536, 1088, 4352, 0, 0}, {2570, 1911, 21845, 0, 0, 0, 0}, {12, 4386, 4626, 4176, 5140, 0, 0}, {1919, 8704, 20480, 0, 0, 0, 0}, {640, 8704, 1280, 0, 0, 0, 0}, {12, 771, 321, 1285, 4369, 0, 0}, {1290, 21026, 0, 0, 0, 0, 0}, {1283, 1088, 0, 0, 0, 0, 0}, {12, 768, 324, 1280, 4096, 0, 0}, {650, 8224, 1285, 0, 0, 0, 0}, {1286, 1088, 0, 0, 0, 0, 0}, {1295, 22391, 0, 0, 0, 0, 0}, {648, 8192, 1280, 0, 0, 0, 0}, {12, 771, 325, 1285, 4112, 0, 0}, {1290, 22304, 0, 0, 0, 0, 0}, {1283, 1092, 0, 0, 0, 0, 0}, {12, 768, 320, 1280, 4352, 0, 0}, {642, 8738, 1285, 0, 0, 0, 0}, {1286, 1092, 0, 0, 0, 0, 0}, {1295, 21104, 0, 0, 0, 0, 0}, {4656, 4176, 5376, 0, 0, 0, 0}, {1851, 1365, 4369, 0, 0, 0, 0}, {1370, 4208, 4626, 16448, 0, 0, 0}, {1375, 4403, 5632, 17408, 0, 0, 0}, {4896, 4420, 5140, 0, 0, 0, 0}, {1855, 1365, 4096, 0, 0, 0, 0}, {1370, 4454, 4864, 17408, 0, 0, 0}, {1375, 4128, 5911, 16448, 0, 0, 0}, {1848, 1360, 4112, 0, 0, 0, 0}, {4915, 4437, 5120, 0, 0, 0, 0}, {1370, 4144, 5888, 16384, 0, 0, 0}, {1375, 4471, 4883, 17476, 0, 0, 0}, {1852, 1360, 4352, 0, 0, 0, 0}, {4642, 4160, 5397, 0, 0, 0, 0}, {1370, 4386, 5654, 17476, 0, 0, 0}, {1375, 4192, 4608, 16384, 0, 0, 0}, {1440, 1792, 21760, 0, 0, 0, 0}, {12, 353, 771, 1028, 4369, 0, 0}, {1800, 8738, 20480, 0, 0, 0, 0}, {12, 4403, 771, 4176, 1024, 0, 0}, {12, 4128, 768, 4420, 1028, 0, 0}, {1807, 8192, 21845, 0, 0, 0, 0}, {12, 358, 768, 1024, 4096, 0, 0}, {1455, 1799, 20560, 0, 0, 0, 0}, {1800, 8224, 21760, 0, 0, 0, 0}, {12, 4144, 771, 4437, 1024, 0, 0}, {1450, 1792, 20480, 0, 0, 0, 0}, {12, 359, 771, 1028, 4112, 0, 0}, {12, 352, 768, 1024, 4352, 0, 0}, {1445, 1799, 21845, 0, 0, 0, 0}, {12, 4386, 768, 4160, 1028, 0, 0}, {1807, 8704, 20560, 0, 0, 0, 0}, {1328, 5888, 5440, 0, 0, 0, 0}, {590, 1911, 4369, 0, 0, 0, 0}, {1338, 4626, 4176, 0, 0, 0, 0}, {588, 4403, 5120, 0, 0, 0, 0}, {1340, 4864, 4420, 0, 0, 0, 0}, {586, 4128, 5397, 0, 0, 0, 0}, {1334, 5654, 5200, 0, 0, 0, 0}, {584, 1911, 4096, 0, 0, 0, 0}, {584, 4144, 5376, 0, 0, 0, 0}, {1337, 4883, 4437, 0, 0, 0, 0}, {586, 1904, 4112, 0, 0, 0, 0}, {1331, 5632, 5188, 0, 0, 0, 0}, {588, 1904, 4352, 0, 0, 0, 0}, {1333, 5911, 5461, 0, 0, 0, 0}, {590, 4386, 5140, 0, 0, 0, 0}, {1343, 4608, 4160, 0, 0, 0, 0}, {192, 512, 1280, 4096, 0, 0, 0}, {204, 514, 1285, 4369, 0, 0, 0}, {1290, 4128, 514, 16448, 0, 0, 0}, {1295, 4403, 512, 17408, 0, 0, 0}, {520, 13056, 4420, 1280, 0, 0, 0}, {522, 12336, 4176, 1285, 0, 0, 0}, {1290, 4454, 1792, 17408, 0, 0, 0}, {1295, 4208, 1799, 16448, 0, 0, 0}, {520, 12288, 4160, 1280, 0, 0, 0}, {522, 13107, 4437, 1285, 0, 0, 0}, {1290, 4192, 1792, 16384, 0, 0, 0}, {1295, 4471, 1799, 17476, 0, 0, 0}, {204, 512, 1280, 4352, 0, 0, 0}, {192, 514, 1285, 4112, 0, 0, 0}, {1290, 4386, 514, 17476, 0, 0, 0}, {1295, 4144, 512, 16384, 0, 0, 0}, {544, 1360, 0, 0, 0, 0, 0}, {12, 273, 0, 0, 0, 0, 0}, {1370, 546, 0, 0, 0, 0, 0}, {275, 1088, 0, 0, 0, 0, 0}, {816, 276, 0, 0, 0, 0, 0}, {554, 1365, 0, 0, 0, 0, 0}, {278, 1088, 0, 0, 0, 0, 0}, {1375, 1911, 0, 0, 0, 0, 0}, {552, 1360, 0, 0, 0, 0, 0}, {819, 277, 0, 0, 0, 0, 0}, {1370, 1904, 0, 0, 0, 0, 0}, {279, 1092, 0, 0, 0, 0, 0}, {12, 272, 0, 0, 0, 0, 0}, {546, 1365, 0, 0, 0, 0, 0}, {274, 1092, 0, 0, 0, 0, 0}, {1375, 544, 0, 0, 0, 0, 0}, {4128, 4608, 5440, 0, 0, 0, 0}, {1867, 546, 4369, 0, 0, 0, 0}, {1864, 546, 4096, 0, 0, 0, 0}, {4403, 4883, 5200, 0, 0, 0, 0}, {5160, 5632, 4420, 0, 0, 0, 0}, {4698, 4208, 5397, 0, 0, 0, 0}, {4940, 4454, 5120, 0, 0, 0, 0}, {5439, 5911, 4176, 0, 0, 0, 0}, {4680, 4192, 5376, 0, 0, 0, 0}, {5180, 5654, 4437, 0, 0, 0, 0}, {5418, 5888, 4160, 0, 0, 0, 0}, {4959, 4471, 5140, 0, 0, 0, 0}, {1868, 544, 4352, 0, 0, 0, 0}, {4144, 4626, 5461, 0, 0, 0, 0}, {4386, 4864, 5188, 0, 0, 0, 0}, {1871, 544, 4112, 0, 0, 0, 0}, {1520, 512, 21760, 0, 0, 0, 0}, {12, 305, 514, 1028, 4369, 0, 0}, {1530, 514, 20560, 0, 0, 0, 0}, {12, 307, 512, 1024, 4096, 0, 0}, {12, 308, 516, 4420, 1028, 0, 0}, {522, 9557, 21845, 0, 0, 0, 0}, {12, 310, 518, 4176, 1024, 0, 0}, {520, 10103, 20480, 0, 0, 0, 0}, {520, 9584, 21760, 0, 0, 0, 0}, {12, 309, 518, 4437, 1024, 0, 0}, {522, 10064, 20560, 0, 0, 0, 0}, {12, 311, 516, 4160, 1028, 0, 0}, {12, 304, 512, 1024, 4352, 0, 0}, {1525, 514, 21845, 0, 0, 0, 0}, {12, 306, 514, 1028, 4112, 0, 0}, {1535, 512, 20480, 0, 0, 0, 0}, {512, 1024, 0, 0, 0, 0, 0}, {15, 257, 0, 0, 0, 0, 0}, {1032, 514, 0, 0, 0, 0, 0}, {259, 1280, 0, 0, 0, 0, 0}, {520, 1028, 0, 0, 0, 0, 0}, {768, 261, 0, 0, 0, 0, 0}, {1036, 1542, 0, 0, 0, 0, 0}, {263, 1280, 0, 0, 0, 0, 0}, {1032, 1536, 0, 0, 0, 0, 0}, {262, 1285, 0, 0, 0, 0, 0}, {522, 1024, 0, 0, 0, 0, 0}, {771, 260, 0, 0, 0, 0, 0}, {1036, 512, 0, 0, 0, 0, 0}, {258, 1285, 0, 0, 0, 0, 0}, {514, 1028, 0, 0, 0, 0, 0}, {15, 256, 0, 0, 0, 0, 0}, {3600, 544, 1088, 4112, 0, 0, 0}, {3601, 546, 1092, 4369, 0, 0, 0}, {1096, 4144, 4626, 20480, 0, 0, 0}, {1100, 4403, 4883, 21760, 0, 0, 0}, {552, 12288, 4176, 5140, 0, 0, 0}, {554, 13056, 4437, 5397, 0, 0, 0}, {1100, 4208, 5654, 20480, 0, 0, 0}, {1096, 4471, 5911, 21760, 0, 0, 0}, {1096, 4192, 5632, 20560, 0, 0, 0}, {1100, 4454, 5888, 21845, 0, 0, 0}, {554, 12336, 4160, 5120, 0, 0, 0}, {552, 13107, 4420, 5376, 0, 0, 0}, {1100, 4128, 4608, 20560, 0, 0, 0}, {1096, 4386, 4864, 21845, 0, 0, 0}, {3614, 546, 1092, 4096, 0, 0, 0}, {3615, 544, 1088, 4352, 0, 0, 0}, {3072, 544, 17408, 0, 0, 0, 0}, {15, 289, 771, 1365, 4369, 0, 0}, {3072, 546, 16384, 0, 0, 0, 0}, {15, 291, 771, 1360, 4112, 0, 0}, {552, 9252, 17476, 0, 0, 0, 0}, {15, 293, 768, 4437, 5120, 0, 0}, {554, 9766, 16448, 0, 0, 0, 0}, {15, 295, 768, 4176, 5376, 0, 0}, {552, 9728, 16384, 0, 0, 0, 0}, {15, 294, 771, 4160, 5397, 0, 0}, {554, 9216, 17408, 0, 0, 0, 0}, {15, 292, 771, 4420, 5140, 0, 0}, {3084, 544, 16448, 0, 0, 0, 0}, {15, 290, 768, 1365, 4096, 0, 0}, {3084, 546, 17476, 0, 0, 0, 0}, {15, 288, 768, 1360, 4352, 0, 0}, {4144, 512, 5120, 0, 0, 0, 0}, {1083, 514, 4369, 0, 0, 0, 0}, {1080, 514, 4112, 0, 0, 0, 0}, {4403, 512, 5376, 0, 0, 0, 0}, {520, 1076, 5188, 0, 0, 0, 0}, {522, 1589, 4437, 0, 0, 0, 0}, {522, 1590, 4176, 0, 0, 0, 0}, {520, 1079, 5440, 0, 0, 0, 0}, {520, 1584, 4160, 0, 0, 0, 0}, {522, 1075, 5461, 0, 0, 0, 0}, {522, 1072, 5200, 0, 0, 0, 0}, {520, 1587, 4420, 0, 0, 0, 0}, {1084, 512, 4096, 0, 0, 0, 0}, {4386, 514, 5397, 0, 0, 0, 0}, {4128, 514, 5140, 0, 0, 0, 0}, {1087, 512, 4352, 0, 0, 0, 0}, {2560, 8704, 1088, 0, 0, 0, 0}, {15, 819, 321, 1285, 4369, 0, 0}, {1096, 16962, 0, 0, 0, 0, 0}, {323, 1280, 0, 0, 0, 0, 0}, {2560, 8192, 1092, 0, 0, 0, 0}, {15, 816, 325, 1285, 4112, 0, 0}, {1100, 17990, 0, 0, 0, 0, 0}, {327, 1280, 0, 0, 0, 0, 0}, {1096, 17920, 0, 0, 0, 0, 0}, {326, 1285, 0, 0, 0, 0, 0}, {2570, 8224, 1088, 0, 0, 0, 0}, {15, 819, 324, 1280, 4096, 0, 0}, {1100, 16896, 0, 0, 0, 0, 0}, {322, 1285, 0, 0, 0, 0, 0}, {2570, 8738, 1092, 0, 0, 0, 0}, {15, 816, 320, 1280, 4352, 0, 0}, {4608, 4176, 1024, 0, 0, 0, 0}, {605, 1028, 4369, 0, 0, 0, 0}, {1032, 4208, 594, 20480, 0, 0, 0}, {1036, 4403, 1619, 21760, 0, 0, 0}, {600, 1028, 4112, 0, 0, 0, 0}, {4864, 4437, 1024, 0, 0, 0, 0}, {1036, 4144, 1622, 20480, 0, 0, 0}, {1032, 4471, 599, 21760, 0, 0, 0}, {1032, 4128, 1616, 20560, 0, 0, 0}, {1036, 4454, 597, 21845, 0, 0, 0}, {602, 1024, 4096, 0, 0, 0, 0}, {4883, 4420, 1028, 0, 0, 0, 0}, {1036, 4192, 592, 20560, 0, 0, 0}, {1032, 4386, 1621, 21845, 0, 0, 0}, {4626, 4160, 1028, 0, 0, 0, 0}, {607, 1024, 4352, 0, 0, 0, 0}, {2048, 1632, 17408, 0, 0, 0, 0}, {15, 1076, 1799, 1365, 4369, 0, 0}, {1642, 8738, 16448, 0, 0, 0, 0}, {15, 4403, 4608, 4176, 5376, 0, 0}, {1644, 8224, 17476, 0, 0, 0, 0}, {15, 4144, 4864, 4437, 5120, 0, 0}, {2048, 1638, 16384, 0, 0, 0, 0}, {15, 1079, 1799, 1360, 4112, 0, 0}, {2056, 1632, 16448, 0, 0, 0, 0}, {15, 1075, 1792, 1365, 4096, 0, 0}, {1642, 8192, 17408, 0, 0, 0, 0}, {15, 4128, 4883, 4420, 5140, 0, 0}, {1644, 8704, 16384, 0, 0, 0, 0}, {15, 4386, 4626, 4160, 5397, 0, 0}, {2056, 1638, 17476, 0, 0, 0, 0}, {15, 1072, 1792, 1360, 4352, 0, 0}, {4208, 4608, 5120, 0, 0, 0, 0}, {1147, 1542, 4369, 0, 0, 0, 0}, {1546, 4642, 4176, 0, 0, 0, 0}, {1548, 4403, 5440, 0, 0, 0, 0}, {1548, 4144, 5188, 0, 0, 0, 0}, {1546, 4896, 4437, 0, 0, 0, 0}, {1148, 1542, 4112, 0, 0, 0, 0}, {4471, 4864, 5376, 0, 0, 0, 0}, {1144, 1536, 4096, 0, 0, 0, 0}, {4454, 4883, 5397, 0, 0, 0, 0}, {1546, 4128, 5200, 0, 0, 0, 0}, {1548, 4915, 4420, 0, 0, 0, 0}, {1548, 4656, 4160, 0, 0, 0, 0}, {1546, 4386, 5461, 0, 0, 0, 0}, {4192, 4626, 5140, 0, 0, 0, 0}, {1151, 1536, 4352, 0, 0, 0, 0}, {1152, 1536, 17408, 0, 0, 0, 0}, {15, 369, 771, 1285, 4369, 0, 0}, {1546, 8738, 16384, 0, 0, 0, 0}, {15, 4403, 771, 4160, 1280, 0, 0}, {1548, 8192, 17476, 0, 0, 0, 0}, {15, 4128, 768, 4437, 1285, 0, 0}, {1164, 1542, 16448, 0, 0, 0, 0}, {15, 375, 768, 1280, 4096, 0, 0}, {1160, 1536, 16384, 0, 0, 0, 0}, {15, 374, 771, 1285, 4112, 0, 0}, {1546, 8224, 17408, 0, 0, 0, 0}, {15, 4144, 771, 4420, 1280, 0, 0}, {1548, 8704, 16448, 0, 0, 0, 0}, {15, 4386, 768, 4176, 1285, 0, 0}, {1156, 1542, 17476, 0, 0, 0, 0}, {15, 368, 768, 1280, 4352, 0, 0}, {1072, 5632, 5200, 0, 0, 0, 0}, {605, 1638, 4369, 0, 0, 0, 0}, {1080, 4626, 4160, 0, 0, 0, 0}, {607, 4403, 5376, 0, 0, 0, 0}, {600, 4128, 5140, 0, 0, 0, 0}, {1087, 4864, 4437, 0, 0, 0, 0}, {602, 1638, 4096, 0, 0, 0, 0}, {1079, 5911, 5440, 0, 0, 0, 0}, {600, 1632, 4112, 0, 0, 0, 0}, {1075, 5888, 5461, 0, 0, 0, 0}, {602, 4144, 5120, 0, 0, 0, 0}, {1083, 4883, 4420, 0, 0, 0, 0}, {1084, 4608, 4176, 0, 0, 0, 0}, {605, 4386, 5397, 0, 0, 0, 0}, {1076, 5654, 5188, 0, 0, 0, 0}, {607, 1632, 4352, 0, 0, 0, 0}, {672, 8704, 1024, 0, 0, 0, 0}, {15, 771, 337, 1028, 4369, 0, 0}, {1032, 16930, 0, 0, 0, 0, 0}, {1027, 1360, 0, 0, 0, 0, 0}, {680, 8224, 1028, 0, 0, 0, 0}, {15, 768, 341, 1024, 4096, 0, 0}, {1036, 18022, 0, 0, 0, 0, 0}, {1031, 1360, 0, 0, 0, 0, 0}, {1032, 17952, 0, 0, 0, 0, 0}, {1027, 1365, 0, 0, 0, 0, 0}, {682, 8192, 1024, 0, 0, 0, 0}, {15, 771, 340, 1028, 4112, 0, 0}, {1036, 16992, 0, 0, 0, 0, 0}, {1031, 1365, 0, 0, 0, 0, 0}, {674, 8738, 1028, 0, 0, 0, 0}, {15, 768, 336, 1024, 4352, 0, 0}, {4656, 4160, 5120, 0, 0, 0, 0}, {1593, 1092, 4369, 0, 0, 0, 0}, {1096, 4192, 4626, 20560, 0, 0, 0}, {1100, 4403, 5888, 21760, 0, 0, 0}, {1596, 1092, 4096, 0, 0, 0, 0}, {4896, 4437, 5397, 0, 0, 0, 0}, {1100, 4128, 5654, 20560, 0, 0, 0}, {1096, 4471, 4864, 21760, 0, 0, 0}, {1096, 4144, 5632, 20480, 0, 0, 0}, {1100, 4454, 4883, 21845, 0, 0, 0}, {1594, 1088, 4112, 0, 0, 0, 0}, {4915, 4420, 5376, 0, 0, 0, 0}, {1100, 4208, 4608, 20480, 0, 0, 0}, {1096, 4386, 5911, 21845, 0, 0, 0}, {4642, 4176, 5140, 0, 0, 0, 0}, {1599, 1088, 4352, 0, 0, 0, 0}, {1216, 512, 17408, 0, 0, 0, 0}, {15, 305, 514, 1285, 4369, 0, 0}, {1224, 514, 16448, 0, 0, 0, 0}, {15, 307, 512, 1280, 4096, 0, 0}, {520, 9284, 17476, 0, 0, 0, 0}, {15, 309, 517, 4437, 1285, 0, 0}, {522, 9830, 16384, 0, 0, 0, 0}, {15, 311, 519, 4160, 1280, 0, 0}, {520, 9792, 16448, 0, 0, 0, 0}, {15, 310, 517, 4176, 1285, 0, 0}, {522, 9312, 17408, 0, 0, 0, 0}, {15, 308, 519, 4420, 1280, 0, 0}, {1228, 512, 16384, 0, 0, 0, 0}, {15, 306, 514, 1285, 4112, 0, 0}, {1220, 514, 17476, 0, 0, 0, 0}, {15, 304, 512, 1280, 4352, 0, 0}, {4128, 4608, 5200, 0, 0, 0, 0}, {1625, 546, 4369, 0, 0, 0, 0}, {1626, 546, 4096, 0, 0, 0, 0}, {4403, 4883, 5440, 0, 0, 0, 0}, {4680, 4192, 5140, 0, 0, 0, 0}, {5418, 5888, 4437, 0, 0, 0, 0}, {5180, 5654, 4160, 0, 0, 0, 0}, {4959, 4471, 5376, 0, 0, 0, 0}, {5160, 5632, 4176, 0, 0, 0, 0}, {4940, 4454, 5397, 0, 0, 0, 0}, {4698, 4208, 5120, 0, 0, 0, 0}, {5439, 5911, 4420, 0, 0, 0, 0}, {1628, 544, 4112, 0, 0, 0, 0}, {4386, 4864, 5461, 0, 0, 0, 0}, {4144, 4626, 5188, 0, 0, 0, 0}, {1631, 544, 4352, 0, 0, 0, 0}, {544, 1088, 0, 0, 0, 0, 0}, {15, 273, 0, 0, 0, 0, 0}, {1096, 546, 0, 0, 0, 0, 0}, {275, 1360, 0, 0, 0, 0, 0}, {552, 1092, 0, 0, 0, 0, 0}, {816, 277, 0, 0, 0, 0, 0}, {1100, 1638, 0, 0, 0, 0, 0}, {279, 1360, 0, 0, 0, 0, 0}, {1096, 1632, 0, 0, 0, 0, 0}, {278, 1365, 0, 0, 0, 0, 0}, {554, 1088, 0, 0, 0, 0, 0}, {819, 276, 0, 0, 0, 0, 0}, {1100, 544, 0, 0, 0, 0, 0}, {274, 1365, 0, 0, 0, 0, 0}, {546, 1092, 0, 0, 0, 0, 0}, {15, 272, 0, 0, 0, 0, 0}, {240, 512, 1024, 4096, 0, 0, 0}, {255, 514, 1028, 4369, 0, 0, 0}, {1032, 4128, 514, 20560, 0, 0, 0}, {1036, 4403, 512, 21760, 0, 0, 0}, {520, 12336, 4160, 1028, 0, 0, 0}, {522, 13056, 4437, 1024, 0, 0, 0}, {1036, 4192, 1542, 20560, 0, 0, 0}, {1032, 4471, 1536, 21760, 0, 0, 0}, {1032, 4208, 1536, 20480, 0, 0, 0}, {1036, 4454, 1542, 21845, 0, 0, 0}, {522, 12288, 4176, 1024, 0, 0, 0}, {520, 13107, 4420, 1028, 0, 0, 0}, {1036, 4144, 512, 20480, 0, 0, 0}, {1032, 4386, 514, 21845, 0, 0, 0}, {240, 514, 1028, 4112, 0, 0, 0}, {255, 512, 1024, 4352, 0, 0, 0}, {3840, 0, 0, 0, 0, 0, 0}, {2, 4, 257, 0, 0, 0, 0}, {2, 1280, 0, 0, 0, 0, 0}, {12, 771, 0, 0, 0, 0, 0}, {768, 4, 0, 0, 0, 0, 0}, {10, 1285, 0, 0, 0, 0, 0}, {6, 1280, 0, 0, 0, 0, 0}, {8, 1799, 0, 0, 0, 0, 0}, {8, 1792, 0, 0, 0, 0, 0}, {6, 1285, 0, 0, 0, 0, 0}, {10, 1280, 0, 0, 0, 0, 0}, {771, 4, 0, 0, 0, 0, 0}, {12, 768, 0, 0, 0, 0, 0}, {2, 1285, 0, 0, 0, 0, 0}, {2, 4, 256, 0, 0, 0, 0}, {3855, 0, 0, 0, 0, 0, 0}, {3856, 32, 64, 4112, 0, 0, 0}, {3857, 34, 68, 4369, 0, 0, 0}, {72, 34, 4626, 21760, 0, 0, 0}, {76, 32, 4883, 20480, 0, 0, 0}, {40, 13056, 68, 5140, 0, 0, 0}, {42, 12288, 64, 5397, 0, 0, 0}, {76, 102, 5654, 21760, 0, 0, 0}, {72, 96, 5911, 20480, 0, 0, 0}, {72, 96, 5888, 20560, 0, 0, 0}, {76, 102, 5632, 21845, 0, 0, 0}, {42, 12336, 64, 5376, 0, 0, 0}, {40, 13107, 68, 5120, 0, 0, 0}, {76, 32, 4864, 20560, 0, 0, 0}, {72, 34, 4608, 21845, 0, 0, 0}, {3870, 34, 68, 4352, 0, 0, 0}, {3871, 32, 64, 4096, 0, 0, 0}, {3840, 32, 20480, 0, 0, 0, 0}, {12, 34, 771, 68, 4369, 0, 0}, {3840, 34, 21760, 0, 0, 0, 0}, {12, 32, 771, 64, 4112, 0, 0}, {12, 36, 768, 68, 5120, 0, 0}, {42, 9509, 21845, 0, 0, 0, 0}, {12, 38, 768, 64, 5376, 0, 0}, {40, 10023, 20560, 0, 0, 0, 0}, {40, 9984, 20480, 0, 0, 0, 0}, {12, 38, 771, 64, 5397, 0, 0}, {42, 9472, 21760, 0, 0, 0, 0}, {12, 36, 771, 68, 5140, 0, 0}, {12, 32, 768, 64, 4096, 0, 0}, {3855, 34, 21845, 0, 0, 0, 0}, {12, 34, 768, 68, 4352, 0, 0}, {3855, 32, 20560, 0, 0, 0, 0}, {192, 3888, 12336, 0, 0, 0, 0}, {2, 68, 1297, 4369, 0, 0, 0}, {2, 64, 1296, 4112, 0, 0, 0}, {204, 3891, 13107, 0, 0, 0, 0}, {8, 1844, 68, 0, 0, 0, 0}, {10, 1333, 1365, 0, 0, 0, 0}, {10, 1334, 1360, 0, 0, 0, 0}, {8, 1847, 64, 0, 0, 0, 0}, {8, 1840, 64, 0, 0, 0, 0}, {10, 1331, 1365, 0, 0, 0, 0}, {10, 1328, 1360, 0, 0, 0, 0}, {8, 1843, 68, 0, 0, 0, 0}, {204, 3900, 13056, 0, 0, 0, 0}, {2, 64, 1301, 4096, 0, 0, 0}, {2, 68, 1300, 4352, 0, 0, 0}, {192, 3903, 12288, 0, 0, 0, 0}, {3840, 12288, 64, 0, 0, 0, 0}, {10, 34, 68, 1285, 4369, 0, 0}, {66, 1280, 0, 0, 0, 0, 0}, {76, 17219, 0, 0, 0, 0, 0}, {3840, 13056, 68, 0, 0, 0, 0}, {10, 32, 64, 1285, 4112, 0, 0}, {70, 1280, 0, 0, 0, 0, 0}, {72, 18247, 0, 0, 0, 0, 0}, {72, 18176, 0, 0, 0, 0, 0}, {70, 1285, 0, 0, 0, 0, 0}, {10, 32, 64, 1280, 4096, 0, 0}, {3855, 13107, 68, 0, 0, 0, 0}, {76, 17152, 0, 0, 0, 0, 0}, {66, 1285, 0, 0, 0, 0, 0}, {10, 34, 68, 1280, 4352, 0, 0}, {3855, 12336, 64, 0, 0, 0, 0}, {160, 3920, 20560, 0, 0, 0, 0}, {34, 785, 4, 4369, 0, 0, 0}, {8, 34, 1874, 21760, 0, 0, 0}, {12, 96, 851, 20480, 0, 0, 0}, {32, 784, 4, 4112, 0, 0, 0}, {170, 3925, 21845, 0, 0, 0, 0}, {12, 102, 854, 21760, 0, 0, 0}, {8, 32, 1879, 20480, 0, 0, 0}, {8, 32, 1872, 20560, 0, 0, 0}, {12, 102, 853, 21845, 0, 0, 0}, {170, 3930, 21760, 0, 0, 0, 0}, {32, 787, 4, 4096, 0, 0, 0}, {12, 96, 848, 20560, 0, 0, 0}, {8, 34, 1877, 21845, 0, 0, 0}, {34, 786, 4, 4352, 0, 0, 0}, {160, 3935, 20480, 0, 0, 0, 0}, {3840, 96, 20480, 0, 0, 0, 0}, {8, 34, 1799, 68, 4369, 0, 0}, {8, 34, 4608, 64, 5376, 0, 0}, {108, 13107, 20560, 0, 0, 0, 0}, {8, 32, 4864, 68, 5120, 0, 0}, {106, 12336, 21845, 0, 0, 0, 0}, {3840, 102, 21760, 0, 0, 0, 0}, {8, 32, 1799, 64, 4112, 0, 0}, {8, 32, 1792, 64, 4096, 0, 0}, {3855, 102, 21845, 0, 0, 0, 0}, {106, 12288, 21760, 0, 0, 0, 0}, {8, 32, 4883, 68, 5140, 0, 0}, {108, 13056, 20480, 0, 0, 0, 0}, {8, 34, 4626, 64, 5397, 0, 0}, {8, 34, 1792, 68, 4352, 0, 0}, {3855, 96, 20560, 0, 0, 0, 0}, {128, 3952, 28784, 0, 0, 0, 0}, {6, 68, 1297, 4369, 0, 0, 0}, {10, 34, 1360, 0, 0, 0, 0}, {12, 819, 64, 0, 0, 0, 0}, {12, 816, 68, 0, 0, 0, 0}, {10, 32, 1365, 0, 0, 0, 0}, {6, 64, 1296, 4112, 0, 0, 0}, {136, 3959, 30583, 0, 0, 0, 0}, {136, 3960, 30464, 0, 0, 0, 0}, {6, 64, 1301, 4096, 0, 0, 0}, {10, 32, 1360, 0, 0, 0, 0}, {12, 819, 68, 0, 0, 0, 0}, {12, 816, 64, 0, 0, 0, 0}, {10, 34, 1365, 0, 0, 0, 0}, {6, 68, 1300, 4352, 0, 0, 0}, {128, 3967, 28672, 0, 0, 0, 0}, {128, 3840, 28672, 0, 0, 0, 0}, {6, 68, 1285, 4369, 0, 0, 0}, {10, 34, 1280, 0, 0, 0, 0}, {12, 771, 64, 0, 0, 0, 0}, {12, 768, 68, 0, 0, 0, 0}, {10, 32, 1285, 0, 0, 0, 0}, {6, 64, 1280, 4096, 0, 0, 0}, {136, 3855, 30583, 0, 0, 0, 0}, {136, 3840, 30464, 0, 0, 0, 0}, {6, 64, 1285, 4112, 0, 0, 0}, {10, 32, 1280, 0, 0, 0, 0}, {12, 771, 68, 0, 0, 0, 0}, {12, 768, 64, 0, 0, 0, 0}, {10, 34, 1285, 0, 0, 0, 0}, {6, 68, 1280, 4352, 0, 0, 0}, {128, 3855, 28784, 0, 0, 0, 0}, {3920, 96, 20560, 0, 0, 0, 0}, {8, 34, 1809, 68, 4369, 0, 0}, {8, 34, 4626, 64, 5376, 0, 0}, {108, 13107, 20480, 0, 0, 0, 0}, {8, 32, 4864, 68, 5140, 0, 0}, {106, 12288, 21845, 0, 0, 0, 0}, {3930, 102, 21760, 0, 0, 0, 0}, {8, 32, 1815, 64, 4096, 0, 0}, {8, 32, 1808, 64, 4112, 0, 0}, {3925, 102, 21845, 0, 0, 0, 0}, {106, 12336, 21760, 0, 0, 0, 0}, {8, 32, 4883, 68, 5120, 0, 0}, {108, 13056, 20560, 0, 0, 0, 0}, {8, 34, 4608, 64, 5397, 0, 0}, {8, 34, 1814, 68, 4352, 0, 0}, {3935, 96, 20480, 0, 0, 0, 0}, {160, 3840, 20480, 0, 0, 0, 0}, {34, 771, 4, 4369, 0, 0, 0}, {8, 34, 1792, 21760, 0, 0, 0}, {12, 96, 771, 20560, 0, 0, 0}, {32, 768, 4, 4096, 0, 0, 0}, {170, 3855, 21845, 0, 0, 0, 0}, {12, 102, 768, 21760, 0, 0, 0}, {8, 32, 1799, 20560, 0, 0, 0}, {8, 32, 1792, 20480, 0, 0, 0}, {12, 102, 771, 21845, 0, 0, 0}, {170, 3840, 21760, 0, 0, 0, 0}, {32, 771, 4, 4112, 0, 0, 0}, {12, 96, 768, 20480, 0, 0, 0}, {8, 34, 1799, 21845, 0, 0, 0}, {34, 768, 4, 4352, 0, 0, 0}, {160, 3855, 20560, 0, 0, 0, 0}, {3888, 12336, 64, 0, 0, 0, 0}, {10, 34, 68, 1297, 4369, 0, 0}, {1298, 1360, 0, 0, 0, 0, 0}, {76, 17203, 0, 0, 0, 0, 0}, {3900, 13056, 68, 0, 0, 0, 0}, {10, 32, 64, 1301, 4096, 0, 0}, {1302, 1360, 0, 0, 0, 0, 0}, {72, 18295, 0, 0, 0, 0, 0}, {72, 18224, 0, 0, 0, 0, 0}, {1299, 1365, 0, 0, 0, 0, 0}, {10, 32, 64, 1296, 4112, 0, 0}, {3891, 13107, 68, 0, 0, 0, 0}, {76, 17264, 0, 0, 0, 0, 0}, {1303, 1365, 0, 0, 0, 0, 0}, {10, 34, 68, 1300, 4352, 0, 0}, {3903, 12288, 64, 0, 0, 0, 0}, {192, 3840, 12288, 0, 0, 0, 0}, {2, 68, 1285, 4369, 0, 0, 0}, {2, 64, 1280, 4096, 0, 0, 0}, {204, 3855, 13107, 0, 0, 0, 0}, {8, 1792, 68, 0, 0, 0, 0}, {10, 96, 1285, 0, 0, 0, 0}, {10, 102, 1280, 0, 0, 0, 0}, {8, 1799, 64, 0, 0, 0, 0}, {8, 1792, 64, 0, 0, 0, 0}, {10, 102, 1285, 0, 0, 0, 0}, {10, 96, 1280, 0, 0, 0, 0}, {8, 1799, 68, 0, 0, 0, 0}, {204, 3840, 13056, 0, 0, 0, 0}, {2, 64, 1285, 4112, 0, 0, 0}, {2, 68, 1280, 4352, 0, 0, 0}, {192, 3855, 12336, 0, 0, 0, 0}, {3920, 32, 20560, 0, 0, 0, 0}, {12, 34, 785, 68, 4369, 0, 0}, {3930, 34, 21760, 0, 0, 0, 0}, {12, 32, 787, 64, 4096, 0, 0}, {12, 36, 788, 68, 5140, 0, 0}, {42, 9557, 21845, 0, 0, 0, 0}, {12, 38, 790, 64, 5376, 0, 0}, {40, 10103, 20480, 0, 0, 0, 0}, {40, 10064, 20560, 0, 0, 0, 0}, {12, 38, 789, 64, 5397, 0, 0}, {42, 9584, 21760, 0, 0, 0, 0}, {12, 36, 791, 68, 5120, 0, 0}, {12, 32, 784, 64, 4112, 0, 0}, {3925, 34, 21845, 0, 0, 0, 0}, {12, 34, 786, 68, 4352, 0, 0}, {3935, 32, 20480, 0, 0, 0, 0}, {3840, 32, 64, 4096, 0, 0, 0}, {3855, 34, 68, 4369, 0, 0, 0}, {72, 34, 4608, 21760, 0, 0, 0}, {76, 32, 4883, 20560, 0, 0, 0}, {40, 13056, 68, 5120, 0, 0, 0}, {42, 12336, 64, 5397, 0, 0, 0}, {76, 102, 5632, 21760, 0, 0, 0}, {72, 96, 5911, 20560, 0, 0, 0}, {72, 96, 5888, 20480, 0, 0, 0}, {76, 102, 5654, 21845, 0, 0, 0}, {42, 12288, 64, 5376, 0, 0, 0}, {40, 13107, 68, 5140, 0, 0, 0}, {76, 32, 4864, 20480, 0, 0, 0}, {72, 34, 4626, 21845, 0, 0, 0}, {3840, 34, 68, 4352, 0, 0, 0}, {3855, 32, 64, 4112, 0, 0, 0}, {4080, 0, 0, 0, 0, 0, 0}, {2, 4, 273, 0, 0, 0, 0}, {2, 1360, 0, 0, 0, 0, 0}, {12, 819, 0, 0, 0, 0, 0}, {816, 4, 0, 0, 0, 0, 0}, {10, 1365, 0, 0, 0, 0, 0}, {6, 1360, 0, 0, 0, 0, 0}, {8, 1911, 0, 0, 0, 0, 0}, {8, 1904, 0, 0, 0, 0, 0}, {6, 1365, 0, 0, 0, 0, 0}, {10, 1360, 0, 0, 0, 0, 0}, {819, 4, 0, 0, 0, 0, 0}, {12, 816, 0, 0, 0, 0, 0}, {2, 1365, 0, 0, 0, 0, 0}, {2, 4, 272, 0, 0, 0, 0}, {4095, 0, 0, 0, 0, 0, 0}, {4096, 0, 0, 0, 0, 0, 0}, {17, 257, 0, 0, 0, 0, 0}, {4098, 0, 0, 0, 0, 0, 0}, {4099, 0, 0, 0, 0, 0, 0}, {4100, 0, 0, 0, 0, 0, 0}, {4101, 0, 0, 0, 0, 0, 0}, {4102, 0, 0, 0, 0, 0, 0}, {4103, 0, 0, 0, 0, 0, 0}, {4104, 12288, 20480, 0, 0, 0, 0}, {4105, 51, 771, 85, 1285, 0, 0}, {4106, 12288, 16384, 0, 0, 0, 0}, {4107, 51, 771, 68, 1028, 0, 0}, {4108, 8192, 20480, 0, 0, 0, 0}, {4109, 34, 514, 85, 1285, 0, 0}, {4110, 34, 514, 68, 1028, 0, 0}, {4111, 8192, 16384, 0, 0, 0, 0}, {4112, 0, 0, 0, 0, 0, 0}, {17, 256, 0, 0, 0, 0, 0}, {4114, 0, 0, 0, 0, 0, 0}, {4115, 0, 0, 0, 0, 0, 0}, {4116, 0, 0, 0, 0, 0, 0}, {4117, 0, 0, 0, 0, 0, 0}, {4118, 0, 0, 0, 0, 0, 0}, {4119, 0, 0, 0, 0, 0, 0}, {4120, 12336, 20560, 0, 0, 0, 0}, {4121, 51, 768, 85, 1280, 0, 0}, {4122, 12336, 16448, 0, 0, 0, 0}, {4123, 51, 768, 68, 1024, 0, 0}, {4124, 8224, 20560, 0, 0, 0, 0}, {4125, 34, 512, 85, 1280, 0, 0}, {4126, 34, 512, 68, 1024, 0, 0}, {4127, 8224, 16448, 0, 0, 0, 0}, {4128, 0, 0, 0, 0, 0, 0}, {259, 17, 0, 0, 0, 0, 0}, {34, 512, 4096, 0, 0, 0, 0}, {51, 771, 4112, 0, 0, 0, 0}, {1036, 4132, 68, 0, 0, 0, 0}, {1295, 4133, 85, 0, 0, 0, 0}, {1548, 4134, 4160, 0, 0, 0, 0}, {1807, 4135, 4176, 0, 0, 0, 0}, {4136, 12288, 16384, 0, 0, 0, 0}, {4122, 51, 771, 85, 5397, 0, 0}, {4138, 12288, 20480, 0, 0, 0, 0}, {4120, 51, 771, 68, 5140, 0, 0}, {4140, 8224, 16448, 0, 0, 0, 0}, {4111, 34, 512, 85, 5376, 0, 0}, {4108, 34, 512, 68, 5120, 0, 0}, {4143, 8224, 20560, 0, 0, 0, 0}, {4144, 0, 0, 0, 0, 0, 0}, {258, 17, 0, 0, 0, 0, 0}, {34, 514, 4112, 0, 0, 0, 0}, {51, 768, 4096, 0, 0, 0, 0}, {1032, 4148, 68, 0, 0, 0, 0}, {1290, 4149, 85, 0, 0, 0, 0}, {1546, 4150, 4176, 0, 0, 0, 0}, {1800, 4151, 4160, 0, 0, 0, 0}, {4152, 12336, 16448, 0, 0, 0, 0}, {4106, 51, 768, 85, 5376, 0, 0}, {4154, 12336, 20560, 0, 0, 0, 0}, {4104, 51, 768, 68, 5120, 0, 0}, {4156, 8192, 16384, 0, 0, 0, 0}, {4127, 34, 514, 85, 5397, 0, 0}, {4124, 34, 514, 68, 5140, 0, 0}, {4159, 8192, 20480, 0, 0, 0, 0}, {4160, 0, 0, 0, 0, 0, 0}, {261, 17, 0, 0, 0, 0, 0}, {4162, 0, 0, 0, 0, 0, 0}, {4163, 0, 0, 0, 0, 0, 0}, {68, 1024, 4096, 0, 0, 0, 0}, {85, 1285, 4112, 0, 0, 0, 0}, {4166, 0, 0, 0, 0, 0, 0}, {4167, 0, 0, 0, 0, 0, 0}, {4168, 8192, 20480, 0, 0, 0, 0}, {4124, 51, 4883, 85, 1285, 0, 0}, {4170, 8224, 16448, 0, 0, 0, 0}, {4111, 51, 4864, 68, 1024, 0, 0}, {4172, 12288, 20480, 0, 0, 0, 0}, {4120, 34, 4626, 85, 1285, 0, 0}, {4106, 34, 4608, 68, 1024, 0, 0}, {4175, 12336, 16448, 0, 0, 0, 0}, {4176, 0, 0, 0, 0, 0, 0}, {260, 17, 0, 0, 0, 0, 0}, {4178, 0, 0, 0, 0, 0, 0}, {4179, 0, 0, 0, 0, 0, 0}, {68, 1028, 4112, 0, 0, 0, 0}, {85, 1280, 4096, 0, 0, 0, 0}, {4182, 0, 0, 0, 0, 0, 0}, {4183, 0, 0, 0, 0, 0, 0}, {4184, 8224, 20560, 0, 0, 0, 0}, {4108, 51, 4864, 85, 1280, 0, 0}, {4186, 8192, 16384, 0, 0, 0, 0}, {4127, 51, 4883, 68, 1028, 0, 0}, {4188, 12336, 20560, 0, 0, 0, 0}, {4104, 34, 4608, 85, 1280, 0, 0}, {4122, 34, 4626, 68, 1028, 0, 0}, {4191, 12288, 16384, 0, 0, 0, 0}, {4192, 0, 0, 0, 0, 0, 0}, {263, 17, 0, 0, 0, 0, 0}, {520, 34, 4160, 0, 0, 0, 0}, {783, 51, 4176, 0, 0, 0, 0}, {1032, 4128, 68, 0, 0, 0, 0}, {1295, 4144, 85, 0, 0, 0, 0}, {102, 1536, 4096, 0, 0, 0, 0}, {119, 1799, 4112, 0, 0, 0, 0}, {4200, 8224, 16448, 0, 0, 0, 0}, {4111, 51, 4864, 85, 5376, 0, 0}, {4202, 8192, 20480, 0, 0, 0, 0}, {4124, 51, 4883, 68, 5140, 0, 0}, {4204, 12288, 16384, 0, 0, 0, 0}, {4122, 34, 4626, 85, 5397, 0, 0}, {4104, 34, 4608, 68, 5120, 0, 0}, {4207, 12336, 20560, 0, 0, 0, 0}, {4208, 0, 0, 0, 0, 0, 0}, {262, 17, 0, 0, 0, 0, 0}, {522, 34, 4176, 0, 0, 0, 0}, {780, 51, 4160, 0, 0, 0, 0}, {1036, 4144, 68, 0, 0, 0, 0}, {1290, 4128, 85, 0, 0, 0, 0}, {102, 1542, 4112, 0, 0, 0, 0}, {119, 1792, 4096, 0, 0, 0, 0}, {4216, 8192, 16384, 0, 0, 0, 0}, {4127, 51, 4883, 85, 5397, 0, 0}, {4218, 8224, 20560, 0, 0, 0, 0}, {4108, 51, 4864, 68, 5120, 0, 0}, {4220, 12336, 16448, 0, 0, 0, 0}, {4106, 34, 4608, 85, 5376, 0, 0}, {4120, 34, 4626, 68, 5140, 0, 0}, {4223, 12288, 20480, 0, 0, 0, 0}, {4224, 12288, 20480, 0, 0, 0, 0}, {265, 771, 1285, 17, 0, 0, 0}, {4106, 34, 4608, 16384, 0, 0, 0}, {4175, 51, 771, 16448, 0, 0, 0}, {4108, 8192, 68, 5120, 0, 0, 0}, {4143, 8224, 85, 1285, 0, 0, 0}, {4170, 102, 1542, 16448, 0, 0, 0}, {4111, 119, 5888, 16384, 0, 0, 0}, {136, 2048, 4096, 0, 0, 0, 0}, {51, 771, 85, 1285, 4112, 0, 0}, {20490, 4128, 0, 0, 0, 0, 0}, {4099, 68, 0, 0, 0, 0, 0}, {12300, 4160, 0, 0, 0, 0, 0}, {34, 4101, 0, 0, 0, 0, 0}, {4102, 68, 0, 0, 0, 0, 0}, {20495, 4208, 0, 0, 0, 0, 0}, {4240, 12336, 20560, 0, 0, 0, 0}, {264, 768, 1280, 17, 0, 0, 0}, {4122, 34, 4626, 16448, 0, 0, 0}, {4191, 51, 768, 16384, 0, 0, 0}, {4124, 8224, 68, 5140, 0, 0, 0}, {4159, 8192, 85, 1280, 0, 0, 0}, {4186, 102, 1536, 16384, 0, 0, 0}, {4127, 119, 5911, 16448, 0, 0, 0}, {136, 2056, 4112, 0, 0, 0, 0}, {51, 768, 85, 1280, 4096, 0, 0}, {20570, 4144, 0, 0, 0, 0, 0}, {4115, 68, 0, 0, 0, 0, 0}, {12348, 4176, 0, 0, 0, 0, 0}, {34, 4117, 0, 0, 0, 0, 0}, {4118, 68, 0, 0, 0, 0, 0}, {20575, 4192, 0, 0, 0, 0, 0}, {4256, 12288, 16384, 0, 0, 0, 0}, {267, 771, 1028, 17, 0, 0, 0}, {4104, 34, 4608, 20480, 0, 0, 0}, {4188, 51, 771, 20560, 0, 0, 0}, {4140, 8224, 68, 1028, 0, 0, 0}, {4111, 8192, 85, 5376, 0, 0, 0}, {4108, 102, 5632, 20480, 0, 0, 0}, {4184, 119, 1799, 20560, 0, 0, 0}, {16392, 4128, 0, 0, 0, 0, 0}, {4099, 85, 0, 0, 0, 0, 0}, {170, 2560, 4096, 0, 0, 0, 0}, {51, 771, 68, 1028, 4112, 0, 0}, {16396, 4192, 0, 0, 0, 0, 0}, {4103, 85, 0, 0, 0, 0, 0}, {34, 4100, 0, 0, 0, 0, 0}, {12303, 4176, 0, 0, 0, 0, 0}, {4272, 12336, 16448, 0, 0, 0, 0}, {266, 768, 1024, 17, 0, 0, 0}, {4120, 34, 4626, 20560, 0, 0, 0}, {4172, 51, 768, 20480, 0, 0, 0}, {4156, 8192, 68, 1024, 0, 0, 0}, {4127, 8224, 85, 5397, 0, 0, 0}, {4124, 102, 5654, 20560, 0, 0, 0}, {4168, 119, 1792, 20480, 0, 0, 0}, {16456, 4144, 0, 0, 0, 0, 0}, {4115, 85, 0, 0, 0, 0, 0}, {170, 2570, 4112, 0, 0, 0, 0}, {51, 768, 68, 1024, 4096, 0, 0}, {16460, 4208, 0, 0, 0, 0, 0}, {4119, 85, 0, 0, 0, 0, 0}, {34, 4116, 0, 0, 0, 0, 0}, {12351, 4160, 0, 0, 0, 0, 0}, {4288, 8192, 20480, 0, 0, 0, 0}, {269, 514, 1285, 17, 0, 0, 0}, {4170, 34, 514, 16448, 0, 0, 0}, {4111, 51, 4864, 16384, 0, 0, 0}, {4104, 12288, 68, 5120, 0, 0, 0}, {4154, 12336, 85, 1285, 0, 0, 0}, {4106, 102, 5632, 16384, 0, 0, 0}, {4175, 119, 1799, 16448, 0, 0, 0}, {8200, 4160, 0, 0, 0, 0, 0}, {51, 4101, 0, 0, 0, 0, 0}, {20490, 4192, 0, 0, 0, 0, 0}, {4103, 68, 0, 0, 0, 0, 0}, {204, 3072, 4096, 0, 0, 0, 0}, {34, 514, 85, 1285, 4112, 0, 0}, {4098, 68, 0, 0, 0, 0, 0}, {20495, 4144, 0, 0, 0, 0, 0}, {4304, 8224, 20560, 0, 0, 0, 0}, {268, 512, 1280, 17, 0, 0, 0}, {4186, 34, 512, 16384, 0, 0, 0}, {4127, 51, 4883, 16448, 0, 0, 0}, {4120, 12336, 68, 5140, 0, 0, 0}, {4138, 12288, 85, 1280, 0, 0, 0}, {4122, 102, 5654, 16448, 0, 0, 0}, {4191, 119, 1792, 16384, 0, 0, 0}, {8232, 4176, 0, 0, 0, 0, 0}, {51, 4117, 0, 0, 0, 0, 0}, {20570, 4208, 0, 0, 0, 0, 0}, {4119, 68, 0, 0, 0, 0, 0}, {204, 3084, 4112, 0, 0, 0, 0}, {34, 512, 85, 1280, 4096, 0, 0}, {4114, 68, 0, 0, 0, 0, 0}, {20575, 4128, 0, 0, 0, 0, 0}, {4320, 8224, 16448, 0, 0, 0, 0}, {271, 512, 1024, 17, 0, 0, 0}, {4168, 34, 512, 20480, 0, 0, 0}, {4124, 51, 4883, 20560, 0, 0, 0}, {4136, 12288, 68, 1024, 0, 0, 0}, {4122, 12336, 85, 5397, 0, 0, 0}, {4172, 102, 1536, 20480, 0, 0, 0}, {4120, 119, 5911, 20560, 0, 0, 0}, {16456, 4192, 0, 0, 0, 0, 0}, {4118, 85, 0, 0, 0, 0, 0}, {8234, 4160, 0, 0, 0, 0, 0}, {51, 4116, 0, 0, 0, 0, 0}, {16460, 4128, 0, 0, 0, 0, 0}, {4114, 85, 0, 0, 0, 0, 0}, {34, 512, 68, 1024, 4096, 0, 0}, {255, 3855, 4112, 0, 0, 0, 0}, {4336, 8192, 16384, 0, 0, 0, 0}, {270, 514, 1028, 17, 0, 0, 0}, {4184, 34, 514, 20560, 0, 0, 0}, {4108, 51, 4864, 20480, 0, 0, 0}, {4152, 12336, 68, 1028, 0, 0, 0}, {4106, 12288, 85, 5376, 0, 0, 0}, {4188, 102, 1542, 20560, 0, 0, 0}, {4104, 119, 5888, 20480, 0, 0, 0}, {16392, 4208, 0, 0, 0, 0, 0}, {4102, 85, 0, 0, 0, 0, 0}, {8202, 4176, 0, 0, 0, 0, 0}, {51, 4100, 0, 0, 0, 0, 0}, {16396, 4144, 0, 0, 0, 0, 0}, {4098, 85, 0, 0, 0, 0, 0}, {34, 514, 68, 1028, 4112, 0, 0}, {255, 3840, 4096, 0, 0, 0, 0}, {4352, 0, 0, 0, 0, 0, 0}, {16, 257, 0, 0, 0, 0, 0}, {4354, 0, 0, 0, 0, 0, 0}, {4355, 0, 0, 0, 0, 0, 0}, {4356, 0, 0, 0, 0, 0, 0}, {4357, 0, 0, 0, 0, 0, 0}, {4358, 0, 0, 0, 0, 0, 0}, {4359, 0, 0, 0, 0, 0, 0}, {4360, 13056, 21760, 0, 0, 0, 0}, {4361, 48, 771, 80, 1285, 0, 0}, {4362, 13056, 17408, 0, 0, 0, 0}, {4363, 48, 771, 64, 1028, 0, 0}, {4364, 8704, 21760, 0, 0, 0, 0}, {4365, 32, 514, 80, 1285, 0, 0}, {4366, 32, 514, 64, 1028, 0, 0}, {4367, 8704, 17408, 0, 0, 0, 0}, {16, 256, 0, 0, 0, 0, 0}, {4369, 0, 0, 0, 0, 0, 0}, {4370, 0, 0, 0, 0, 0, 0}, {4371, 0, 0, 0, 0, 0, 0}, {4372, 0, 0, 0, 0, 0, 0}, {4373, 0, 0, 0, 0, 0, 0}, {4374, 0, 0, 0, 0, 0, 0}, {4375, 0, 0, 0, 0, 0, 0}, {4376, 48, 768, 80, 1280, 0, 0}, {4377, 13107, 21845, 0, 0, 0, 0}, {4378, 48, 768, 64, 1024, 0, 0}, {4379, 13107, 17476, 0, 0, 0, 0}, {4380, 32, 512, 80, 1280, 0, 0}, {4381, 8738, 21845, 0, 0, 0, 0}, {4382, 8738, 17476, 0, 0, 0, 0}, {4383, 32, 512, 64, 1024, 0, 0}, {32, 512, 4352, 0, 0, 0, 0}, {48, 771, 4369, 0, 0, 0, 0}, {4386, 0, 0, 0, 0, 0, 0}, {259, 16, 0, 0, 0, 0, 0}, {1548, 4388, 4420, 0, 0, 0, 0}, {1807, 4389, 4437, 0, 0, 0, 0}, {1036, 4390, 64, 0, 0, 0, 0}, {1295, 4391, 80, 0, 0, 0, 0}, {4392, 13056, 21760, 0, 0, 0, 0}, {4377, 48, 771, 64, 5397, 0, 0}, {4394, 13056, 17408, 0, 0, 0, 0}, {4379, 48, 771, 80, 5140, 0, 0}, {4364, 32, 512, 64, 5376, 0, 0}, {4397, 8738, 21845, 0, 0, 0, 0}, {4398, 8738, 17476, 0, 0, 0, 0}, {4367, 32, 512, 80, 5120, 0, 0}, {48, 768, 4352, 0, 0, 0, 0}, {32, 514, 4369, 0, 0, 0, 0}, {258, 16, 0, 0, 0, 0, 0}, {4403, 0, 0, 0, 0, 0, 0}, {1800, 4404, 4420, 0, 0, 0, 0}, {1546, 4405, 4437, 0, 0, 0, 0}, {1290, 4406, 80, 0, 0, 0, 0}, {1032, 4407, 64, 0, 0, 0, 0}, {4360, 48, 768, 64, 5376, 0, 0}, {4409, 13107, 21845, 0, 0, 0, 0}, {4362, 48, 768, 80, 5120, 0, 0}, {4411, 13107, 17476, 0, 0, 0, 0}, {4412, 8704, 21760, 0, 0, 0, 0}, {4381, 32, 514, 64, 5397, 0, 0}, {4382, 32, 514, 80, 5140, 0, 0}, {4415, 8704, 17408, 0, 0, 0, 0}, {64, 1024, 4352, 0, 0, 0, 0}, {80, 1285, 4369, 0, 0, 0, 0}, {4418, 0, 0, 0, 0, 0, 0}, {4419, 0, 0, 0, 0, 0, 0}, {4420, 0, 0, 0, 0, 0, 0}, {261, 16, 0, 0, 0, 0, 0}, {4422, 0, 0, 0, 0, 0, 0}, {4423, 0, 0, 0, 0, 0, 0}, {4424, 13056, 21760, 0, 0, 0, 0}, {4377, 32, 4883, 80, 1285, 0, 0}, {4362, 32, 4864, 64, 1024, 0, 0}, {4427, 13107, 17476, 0, 0, 0, 0}, {4428, 8704, 21760, 0, 0, 0, 0}, {4381, 48, 4626, 80, 1285, 0, 0}, {4430, 8738, 17476, 0, 0, 0, 0}, {4367, 48, 4608, 64, 1024, 0, 0}, {80, 1280, 4352, 0, 0, 0, 0}, {64, 1028, 4369, 0, 0, 0, 0}, {4434, 0, 0, 0, 0, 0, 0}, {4435, 0, 0, 0, 0, 0, 0}, {260, 16, 0, 0, 0, 0, 0}, {4437, 0, 0, 0, 0, 0, 0}, {4438, 0, 0, 0, 0, 0, 0}, {4439, 0, 0, 0, 0, 0, 0}, {4360, 32, 4864, 80, 1280, 0, 0}, {4441, 13107, 21845, 0, 0, 0, 0}, {4442, 13056, 17408, 0, 0, 0, 0}, {4379, 32, 4883, 64, 1028, 0, 0}, {4364, 48, 4608, 80, 1280, 0, 0}, {4445, 8738, 21845, 0, 0, 0, 0}, {4382, 48, 4626, 64, 1028, 0, 0}, {4447, 8704, 17408, 0, 0, 0, 0}, {96, 1536, 4352, 0, 0, 0, 0}, {112, 1799, 4369, 0, 0, 0, 0}, {1032, 4386, 64, 0, 0, 0, 0}, {1295, 4403, 80, 0, 0, 0, 0}, {520, 32, 4420, 0, 0, 0, 0}, {783, 48, 4437, 0, 0, 0, 0}, {4454, 0, 0, 0, 0, 0, 0}, {263, 16, 0, 0, 0, 0, 0}, {4360, 32, 4864, 64, 5376, 0, 0}, {4457, 13107, 21845, 0, 0, 0, 0}, {4458, 13056, 17408, 0, 0, 0, 0}, {4379, 32, 4883, 80, 5140, 0, 0}, {4460, 8704, 21760, 0, 0, 0, 0}, {4381, 48, 4626, 64, 5397, 0, 0}, {4462, 8738, 17476, 0, 0, 0, 0}, {4367, 48, 4608, 80, 5120, 0, 0}, {112, 1792, 4352, 0, 0, 0, 0}, {96, 1542, 4369, 0, 0, 0, 0}, {1290, 4386, 80, 0, 0, 0, 0}, {1036, 4403, 64, 0, 0, 0, 0}, {780, 48, 4420, 0, 0, 0, 0}, {522, 32, 4437, 0, 0, 0, 0}, {262, 16, 0, 0, 0, 0, 0}, {4471, 0, 0, 0, 0, 0, 0}, {4472, 13056, 21760, 0, 0, 0, 0}, {4377, 32, 4883, 64, 5397, 0, 0}, {4362, 32, 4864, 80, 5120, 0, 0}, {4475, 13107, 17476, 0, 0, 0, 0}, {4364, 48, 4608, 64, 5376, 0, 0}, {4477, 8738, 21845, 0, 0, 0, 0}, {4382, 48, 4626, 80, 5140, 0, 0}, {4479, 8704, 17408, 0, 0, 0, 0}, {128, 2048, 4352, 0, 0, 0, 0}, {48, 771, 80, 1285, 4369, 0, 0}, {21770, 4386, 0, 0, 0, 0, 0}, {4355, 64, 0, 0, 0, 0, 0}, {13068, 4420, 0, 0, 0, 0, 0}, {32, 4357, 0, 0, 0, 0, 0}, {4358, 64, 0, 0, 0, 0, 0}, {21775, 4471, 0, 0, 0, 0, 0}, {4488, 13056, 21760, 0, 0, 0, 0}, {265, 771, 1285, 16, 0, 0, 0}, {4362, 32, 4864, 17408, 0, 0, 0}, {4427, 48, 771, 17476, 0, 0, 0}, {4364, 8704, 64, 5376, 0, 0, 0}, {4397, 8738, 80, 1285, 0, 0, 0}, {4430, 96, 1542, 17476, 0, 0, 0}, {4367, 112, 5632, 17408, 0, 0, 0}, {48, 768, 80, 1280, 4352, 0, 0}, {128, 2056, 4369, 0, 0, 0, 0}, {4370, 64, 0, 0, 0, 0, 0}, {21855, 4403, 0, 0, 0, 0, 0}, {32, 4372, 0, 0, 0, 0, 0}, {13119, 4437, 0, 0, 0, 0, 0}, {21850, 4454, 0, 0, 0, 0, 0}, {4375, 64, 0, 0, 0, 0, 0}, {264, 768, 1280, 16, 0, 0, 0}, {4505, 13107, 21845, 0, 0, 0, 0}, {4442, 48, 768, 17408, 0, 0, 0}, {4379, 32, 4883, 17476, 0, 0, 0}, {4412, 8704, 80, 1280, 0, 0, 0}, {4381, 8738, 64, 5397, 0, 0, 0}, {4382, 112, 5654, 17476, 0, 0, 0}, {4447, 96, 1536, 17408, 0, 0, 0}, {160, 2560, 4352, 0, 0, 0, 0}, {48, 771, 64, 1028, 4369, 0, 0}, {17416, 4386, 0, 0, 0, 0, 0}, {4355, 80, 0, 0, 0, 0, 0}, {32, 4356, 0, 0, 0, 0, 0}, {13071, 4437, 0, 0, 0, 0, 0}, {17420, 4454, 0, 0, 0, 0, 0}, {4359, 80, 0, 0, 0, 0, 0}, {4360, 32, 4864, 21760, 0, 0, 0}, {4441, 48, 771, 21845, 0, 0, 0}, {4522, 13056, 17408, 0, 0, 0, 0}, {267, 771, 1028, 16, 0, 0, 0}, {4364, 96, 5888, 21760, 0, 0, 0}, {4445, 112, 1799, 21845, 0, 0, 0}, {4398, 8738, 64, 1028, 0, 0, 0}, {4367, 8704, 80, 5120, 0, 0, 0}, {48, 768, 64, 1024, 4352, 0, 0}, {160, 2570, 4369, 0, 0, 0, 0}, {4370, 80, 0, 0, 0, 0, 0}, {17484, 4403, 0, 0, 0, 0, 0}, {13116, 4420, 0, 0, 0, 0, 0}, {32, 4373, 0, 0, 0, 0, 0}, {4374, 80, 0, 0, 0, 0, 0}, {17480, 4471, 0, 0, 0, 0, 0}, {4424, 48, 768, 21760, 0, 0, 0}, {4377, 32, 4883, 21845, 0, 0, 0}, {266, 768, 1024, 16, 0, 0, 0}, {4539, 13107, 17476, 0, 0, 0, 0}, {4428, 112, 1792, 21760, 0, 0, 0}, {4381, 96, 5911, 21845, 0, 0, 0}, {4382, 8738, 80, 5140, 0, 0, 0}, {4415, 8704, 64, 1024, 0, 0, 0}, {192, 3072, 4352, 0, 0, 0, 0}, {32, 514, 80, 1285, 4369, 0, 0}, {4354, 64, 0, 0, 0, 0, 0}, {21775, 4403, 0, 0, 0, 0, 0}, {8712, 4420, 0, 0, 0, 0, 0}, {48, 4357, 0, 0, 0, 0, 0}, {21770, 4454, 0, 0, 0, 0, 0}, {4359, 64, 0, 0, 0, 0, 0}, {4360, 13056, 64, 5376, 0, 0, 0}, {4409, 13107, 80, 1285, 0, 0, 0}, {4362, 96, 5888, 17408, 0, 0, 0}, {4427, 112, 1799, 17476, 0, 0, 0}, {4556, 8704, 21760, 0, 0, 0, 0}, {269, 514, 1285, 16, 0, 0, 0}, {4430, 32, 514, 17476, 0, 0, 0}, {4367, 48, 4608, 17408, 0, 0, 0}, {32, 512, 80, 1280, 4352, 0, 0}, {192, 3084, 4369, 0, 0, 0, 0}, {21850, 4386, 0, 0, 0, 0, 0}, {4371, 64, 0, 0, 0, 0, 0}, {48, 4372, 0, 0, 0, 0, 0}, {8746, 4437, 0, 0, 0, 0, 0}, {4374, 64, 0, 0, 0, 0, 0}, {21855, 4471, 0, 0, 0, 0, 0}, {4392, 13056, 80, 1280, 0, 0, 0}, {4377, 13107, 64, 5397, 0, 0, 0}, {4442, 112, 1792, 17408, 0, 0, 0}, {4379, 96, 5911, 17476, 0, 0, 0}, {268, 512, 1280, 16, 0, 0, 0}, {4573, 8738, 21845, 0, 0, 0, 0}, {4382, 48, 4626, 17476, 0, 0, 0}, {4447, 32, 512, 17408, 0, 0, 0}, {32, 512, 64, 1024, 4352, 0, 0}, {240, 3855, 4369, 0, 0, 0, 0}, {17480, 4386, 0, 0, 0, 0, 0}, {4371, 80, 0, 0, 0, 0, 0}, {8744, 4420, 0, 0, 0, 0, 0}, {48, 4373, 0, 0, 0, 0, 0}, {17484, 4454, 0, 0, 0, 0, 0}, {4375, 80, 0, 0, 0, 0, 0}, {4424, 96, 1536, 21760, 0, 0, 0}, {4377, 112, 5654, 21845, 0, 0, 0}, {4394, 13056, 64, 1024, 0, 0, 0}, {4379, 13107, 80, 5140, 0, 0, 0}, {4428, 32, 512, 21760, 0, 0, 0}, {4381, 48, 4626, 21845, 0, 0, 0}, {4590, 8738, 17476, 0, 0, 0, 0}, {271, 512, 1024, 16, 0, 0, 0}, {240, 3840, 4352, 0, 0, 0, 0}, {32, 514, 64, 1028, 4369, 0, 0}, {4354, 80, 0, 0, 0, 0, 0}, {17420, 4403, 0, 0, 0, 0, 0}, {48, 4356, 0, 0, 0, 0, 0}, {8714, 4437, 0, 0, 0, 0, 0}, {4358, 80, 0, 0, 0, 0, 0}, {17416, 4471, 0, 0, 0, 0, 0}, {4360, 112, 5632, 21760, 0, 0, 0}, {4441, 96, 1542, 21845, 0, 0, 0}, {4362, 13056, 80, 5120, 0, 0, 0}, {4411, 13107, 64, 1028, 0, 0, 0}, {4364, 48, 4608, 21760, 0, 0, 0}, {4445, 32, 514, 21845, 0, 0, 0}, {270, 514, 1028, 16, 0, 0, 0}, {4607, 8704, 17408, 0, 0, 0, 0}, {4608, 0, 0, 0, 0, 0, 0}, {19, 257, 0, 0, 0, 0, 0}, {32, 514, 4096, 0, 0, 0, 0}, {51, 771, 4352, 0, 0, 0, 0}, {76, 4612, 1028, 0, 0, 0, 0}, {95, 4613, 1285, 0, 0, 0, 0}, {108, 4614, 5120, 0, 0, 0, 0}, {127, 4615, 5376, 0, 0, 0, 0}, {4616, 12288, 16384, 0, 0, 0, 0}, {4362, 51, 771, 4437, 1285, 0, 0}, {4618, 12288, 20480, 0, 0, 0, 0}, {4360, 51, 771, 4420, 1028, 0, 0}, {4620, 8704, 17408, 0, 0, 0, 0}, {4111, 32, 514, 4176, 1285, 0, 0}, {4108, 32, 514, 4160, 1028, 0, 0}, {4623, 8704, 21760, 0, 0, 0, 0}, {32, 512, 4112, 0, 0, 0, 0}, {51, 768, 4369, 0, 0, 0, 0}, {4626, 0, 0, 0, 0, 0, 0}, {19, 256, 0, 0, 0, 0, 0}, {108, 4628, 5140, 0, 0, 0, 0}, {127, 4629, 5397, 0, 0, 0, 0}, {76, 4630, 1024, 0, 0, 0, 0}, {95, 4631, 1280, 0, 0, 0, 0}, {4632, 12336, 20560, 0, 0, 0, 0}, {4377, 51, 768, 4437, 1024, 0, 0}, {4634, 12336, 16448, 0, 0, 0, 0}, {4379, 51, 768, 4420, 1280, 0, 0}, {4124, 32, 512, 4176, 1024, 0, 0}, {4637, 8738, 21845, 0, 0, 0, 0}, {4638, 8738, 17476, 0, 0, 0, 0}, {4127, 32, 512, 4160, 1280, 0, 0}, {32, 512, 4096, 0, 0, 0, 0}, {51, 771, 4369, 0, 0, 0, 0}, {4642, 0, 0, 0, 0, 0, 0}, {259, 272, 0, 0, 0, 0, 0}, {1548, 4644, 5188, 0, 0, 0, 0}, {1807, 4645, 5461, 0, 0, 0, 0}, {1036, 4646, 1088, 0, 0, 0, 0}, {1295, 4647, 1360, 0, 0, 0, 0}, {4648, 12288, 20480, 0, 0, 0, 0}, {4377, 51, 771, 4437, 5397, 0, 0}, {4650, 12288, 16384, 0, 0, 0, 0}, {4379, 51, 771, 4420, 5140, 0, 0}, {4108, 32, 512, 4160, 5120, 0, 0}, {4653, 8738, 21845, 0, 0, 0, 0}, {4654, 8738, 17476, 0, 0, 0, 0}, {4111, 32, 512, 4176, 5376, 0, 0}, {4656, 0, 0, 0, 0, 0, 0}, {258, 273, 0, 0, 0, 0, 0}, {32, 514, 4112, 0, 0, 0, 0}, {51, 768, 4352, 0, 0, 0, 0}, {1032, 4660, 1092, 0, 0, 0, 0}, {1290, 4661, 1365, 0, 0, 0, 0}, {1546, 4662, 5200, 0, 0, 0, 0}, {1800, 4663, 5440, 0, 0, 0, 0}, {4664, 12336, 16448, 0, 0, 0, 0}, {4362, 51, 768, 4437, 5120, 0, 0}, {4666, 12336, 20560, 0, 0, 0, 0}, {4360, 51, 768, 4420, 5376, 0, 0}, {4668, 8704, 17408, 0, 0, 0, 0}, {4127, 32, 514, 4160, 5397, 0, 0}, {4124, 32, 514, 4176, 5140, 0, 0}, {4671, 8704, 21760, 0, 0, 0, 0}, {128, 4672, 16448, 0, 0, 0, 0}, {95, 51, 848, 1285, 4369, 0, 0}, {160, 4674, 20480, 0, 0, 0, 0}, {76, 51, 835, 1024, 4352, 0, 0}, {204, 4676, 17476, 0, 0, 0, 0}, {95, 32, 597, 1285, 4112, 0, 0}, {76, 32, 582, 1024, 4096, 0, 0}, {255, 4679, 21760, 0, 0, 0, 0}, {4680, 0, 0, 0, 0, 0, 0}, {19, 261, 0, 0, 0, 0, 0}, {522, 32, 4160, 0, 0, 0, 0}, {783, 51, 4420, 0, 0, 0, 0}, {76, 4608, 1024, 0, 0, 0, 0}, {95, 4626, 1285, 0, 0, 0, 0}, {1546, 4642, 5188, 0, 0, 0, 0}, {1807, 4656, 5440, 0, 0, 0, 0}, {160, 4688, 20560, 0, 0, 0, 0}, {76, 51, 832, 1028, 4369, 0, 0}, {128, 4690, 16384, 0, 0, 0, 0}, {95, 51, 851, 1280, 4352, 0, 0}, {76, 32, 580, 1028, 4112, 0, 0}, {255, 4693, 21845, 0, 0, 0, 0}, {204, 4694, 17408, 0, 0, 0, 0}, {95, 32, 599, 1280, 4096, 0, 0}, {520, 32, 4176, 0, 0, 0, 0}, {780, 51, 4437, 0, 0, 0, 0}, {4698, 0, 0, 0, 0, 0, 0}, {19, 260, 0, 0, 0, 0, 0}, {1548, 4656, 5200, 0, 0, 0, 0}, {1800, 4642, 5461, 0, 0, 0, 0}, {76, 4626, 1028, 0, 0, 0, 0}, {95, 4608, 1280, 0, 0, 0, 0}, {2560, 4704, 20480, 0, 0, 0, 0}, {1032, 51, 1799, 1092, 4369, 0, 0}, {2056, 4706, 16448, 0, 0, 0, 0}, {1295, 51, 1536, 1360, 4352, 0, 0}, {1032, 32, 1536, 1092, 4096, 0, 0}, {3855, 4709, 21845, 0, 0, 0, 0}, {3072, 4710, 17408, 0, 0, 0, 0}, {1295, 32, 1799, 1360, 4112, 0, 0}, {520, 32, 4160, 0, 0, 0, 0}, {783, 51, 4437, 0, 0, 0, 0}, {4714, 0, 0, 0, 0, 0, 0}, {19, 276, 0, 0, 0, 0, 0}, {108, 4608, 5120, 0, 0, 0, 0}, {127, 4626, 5397, 0, 0, 0, 0}, {1032, 4642, 1092, 0, 0, 0, 0}, {1295, 4656, 1360, 0, 0, 0, 0}, {2048, 4720, 16384, 0, 0, 0, 0}, {1290, 51, 1542, 1365, 4369, 0, 0}, {2570, 4722, 20560, 0, 0, 0, 0}, {1036, 51, 1792, 1088, 4352, 0, 0}, {3084, 4724, 17476, 0, 0, 0, 0}, {1290, 32, 1792, 1365, 4096, 0, 0}, {1036, 32, 1542, 1088, 4112, 0, 0}, {3840, 4727, 21760, 0, 0, 0, 0}, {4728, 0, 0, 0, 0, 0, 0}, {19, 277, 0, 0, 0, 0, 0}, {522, 32, 4176, 0, 0, 0, 0}, {780, 51, 4420, 0, 0, 0, 0}, {1036, 4656, 1088, 0, 0, 0, 0}, {1290, 4642, 1365, 0, 0, 0, 0}, {108, 4626, 5140, 0, 0, 0, 0}, {127, 4608, 5376, 0, 0, 0, 0}, {128, 4608, 16384, 0, 0, 0, 0}, {95, 51, 771, 1285, 4369, 0, 0}, {2570, 4642, 20480, 0, 0, 0, 0}, {1036, 51, 771, 1088, 4352, 0, 0}, {4680, 8772, 17476, 0, 0, 0, 0}, {4111, 32, 4613, 4176, 1285, 0, 0}, {4108, 32, 4614, 4160, 5120, 0, 0}, {4728, 8823, 21760, 0, 0, 0, 0}, {4744, 23040, 12288, 0, 0, 0, 0}, {19, 325, 1285, 4112, 0, 0, 0}, {522, 32, 4096, 0, 0, 0, 0}, {51, 771, 4420, 0, 0, 0, 0}, {1036, 5632, 1088, 0, 0, 0, 0}, {95, 4722, 1285, 0, 0, 0, 0}, {5160, 1542, 5188, 0, 0, 0, 0}, {4623, 4720, 5376, 0, 0, 0, 0}, {2560, 4656, 20560, 0, 0, 0, 0}, {1032, 51, 768, 1092, 4369, 0, 0}, {128, 4626, 16448, 0, 0, 0, 0}, {95, 51, 768, 1280, 4352, 0, 0}, {4124, 32, 4628, 4176, 5140, 0, 0}, {4714, 8789, 21845, 0, 0, 0, 0}, {4698, 8806, 17408, 0, 0, 0, 0}, {4127, 32, 4631, 4160, 1280, 0, 0}, {520, 32, 4112, 0, 0, 0, 0}, {51, 768, 4437, 0, 0, 0, 0}, {4762, 23130, 12336, 0, 0, 0, 0}, {19, 324, 1280, 4096, 0, 0, 0}, {5180, 1536, 5200, 0, 0, 0, 0}, {4637, 4706, 5397, 0, 0, 0, 0}, {1032, 5654, 1092, 0, 0, 0, 0}, {95, 4704, 1280, 0, 0, 0, 0}, {160, 4608, 20480, 0, 0, 0, 0}, {76, 51, 771, 1028, 4369, 0, 0}, {2056, 4642, 16384, 0, 0, 0, 0}, {1295, 51, 771, 1360, 4352, 0, 0}, {4108, 32, 4612, 4160, 1028, 0, 0}, {4698, 8789, 21845, 0, 0, 0, 0}, {4714, 8806, 17408, 0, 0, 0, 0}, {4111, 32, 4615, 4176, 5376, 0, 0}, {520, 32, 4096, 0, 0, 0, 0}, {51, 771, 4437, 0, 0, 0, 0}, {4778, 18432, 12288, 0, 0, 0, 0}, {19, 340, 1028, 4112, 0, 0, 0}, {4620, 4704, 5120, 0, 0, 0, 0}, {5418, 1799, 5461, 0, 0, 0, 0}, {76, 4706, 1028, 0, 0, 0, 0}, {1295, 5888, 1360, 0, 0, 0, 0}, {2048, 4656, 16448, 0, 0, 0, 0}, {1290, 51, 768, 1365, 4369, 0, 0}, {160, 4626, 20560, 0, 0, 0, 0}, {76, 51, 768, 1024, 4352, 0, 0}, {4728, 8772, 17476, 0, 0, 0, 0}, {4127, 32, 4629, 4160, 5397, 0, 0}, {4124, 32, 4630, 4176, 1024, 0, 0}, {4680, 8823, 21760, 0, 0, 0, 0}, {4792, 18504, 12336, 0, 0, 0, 0}, {19, 341, 1024, 4096, 0, 0, 0}, {522, 32, 4112, 0, 0, 0, 0}, {51, 768, 4420, 0, 0, 0, 0}, {76, 4720, 1024, 0, 0, 0, 0}, {1290, 5911, 1365, 0, 0, 0, 0}, {4638, 4722, 5140, 0, 0, 0, 0}, {5439, 1792, 5440, 0, 0, 0, 0}, {4800, 23040, 8704, 0, 0, 0, 0}, {19, 321, 1285, 4369, 0, 0, 0}, {32, 514, 4160, 0, 0, 0, 0}, {783, 51, 4352, 0, 0, 0, 0}, {1032, 5632, 1092, 0, 0, 0, 0}, {95, 4709, 1285, 0, 0, 0, 0}, {4618, 4710, 5120, 0, 0, 0, 0}, {5439, 1799, 5440, 0, 0, 0, 0}, {4680, 12352, 16448, 0, 0, 0, 0}, {4362, 51, 4613, 4437, 1285, 0, 0}, {4714, 12384, 20480, 0, 0, 0, 0}, {4360, 51, 4615, 4420, 5376, 0, 0}, {204, 4608, 17408, 0, 0, 0, 0}, {95, 32, 514, 1285, 4112, 0, 0}, {1032, 32, 514, 1092, 4096, 0, 0}, {3855, 4656, 21760, 0, 0, 0, 0}, {32, 512, 4176, 0, 0, 0, 0}, {780, 51, 4369, 0, 0, 0, 0}, {4818, 23130, 8738, 0, 0, 0, 0}, {19, 320, 1280, 4352, 0, 0, 0}, {4632, 4724, 5140, 0, 0, 0, 0}, {5418, 1792, 5461, 0, 0, 0, 0}, {1036, 5654, 1088, 0, 0, 0, 0}, {95, 4727, 1280, 0, 0, 0, 0}, {4728, 12368, 20560, 0, 0, 0, 0}, {4377, 51, 4629, 4437, 5397, 0, 0}, {4698, 12400, 16384, 0, 0, 0, 0}, {4379, 51, 4631, 4420, 1280, 0, 0}, {1036, 32, 512, 1088, 4112, 0, 0}, {3840, 4642, 21845, 0, 0, 0, 0}, {204, 4626, 17476, 0, 0, 0, 0}, {95, 32, 512, 1280, 4096, 0, 0}, {32, 512, 4160, 0, 0, 0, 0}, {783, 51, 4369, 0, 0, 0, 0}, {4834, 18504, 8738, 0, 0, 0, 0}, {19, 336, 1024, 4352, 0, 0, 0}, {5160, 1536, 5188, 0, 0, 0, 0}, {4634, 4709, 5397, 0, 0, 0, 0}, {76, 4710, 1024, 0, 0, 0, 0}, {1295, 5911, 1360, 0, 0, 0, 0}, {4680, 12384, 20480, 0, 0, 0, 0}, {4377, 51, 4630, 4437, 1024, 0, 0}, {4714, 12352, 16448, 0, 0, 0, 0}, {4379, 51, 4628, 4420, 5140, 0, 0}, {76, 32, 512, 1024, 4096, 0, 0}, {255, 4626, 21845, 0, 0, 0, 0}, {3072, 4642, 17476, 0, 0, 0, 0}, {1295, 32, 512, 1360, 4112, 0, 0}, {4848, 18432, 8704, 0, 0, 0, 0}, {19, 337, 1028, 4369, 0, 0, 0}, {32, 514, 4176, 0, 0, 0, 0}, {780, 51, 4352, 0, 0, 0, 0}, {76, 4724, 1028, 0, 0, 0, 0}, {1290, 5888, 1365, 0, 0, 0, 0}, {5180, 1542, 5200, 0, 0, 0, 0}, {4616, 4727, 5376, 0, 0, 0, 0}, {4728, 12400, 16384, 0, 0, 0, 0}, {4362, 51, 4614, 4437, 5120, 0, 0}, {4698, 12368, 20560, 0, 0, 0, 0}, {4360, 51, 4612, 4420, 1028, 0, 0}, {3084, 4656, 17408, 0, 0, 0, 0}, {1290, 32, 514, 1365, 4096, 0, 0}, {76, 32, 514, 1028, 4112, 0, 0}, {255, 4608, 21760, 0, 0, 0, 0}, {4864, 0, 0, 0, 0, 0, 0}, {18, 257, 0, 0, 0, 0, 0}, {34, 514, 4352, 0, 0, 0, 0}, {48, 771, 4096, 0, 0, 0, 0}, {72, 4868, 1028, 0, 0, 0, 0}, {90, 4869, 1285, 0, 0, 0, 0}, {106, 4870, 5376, 0, 0, 0, 0}, {120, 4871, 5120, 0, 0, 0, 0}, {4872, 13056, 17408, 0, 0, 0, 0}, {4106, 48, 771, 4176, 1285, 0, 0}, {4874, 13056, 21760, 0, 0, 0, 0}, {4104, 48, 771, 4160, 1028, 0, 0}, {4876, 8192, 16384, 0, 0, 0, 0}, {4367, 34, 514, 4437, 1285, 0, 0}, {4364, 34, 514, 4420, 1028, 0, 0}, {4879, 8192, 20480, 0, 0, 0, 0}, {48, 768, 4112, 0, 0, 0, 0}, {34, 512, 4369, 0, 0, 0, 0}, {18, 256, 0, 0, 0, 0, 0}, {4883, 0, 0, 0, 0, 0, 0}, {120, 4884, 5140, 0, 0, 0, 0}, {106, 4885, 5397, 0, 0, 0, 0}, {90, 4886, 1280, 0, 0, 0, 0}, {72, 4887, 1024, 0, 0, 0, 0}, {4120, 48, 768, 4176, 1024, 0, 0}, {4889, 13107, 21845, 0, 0, 0, 0}, {4122, 48, 768, 4160, 1280, 0, 0}, {4891, 13107, 17476, 0, 0, 0, 0}, {4892, 8224, 20560, 0, 0, 0, 0}, {4381, 34, 512, 4437, 1024, 0, 0}, {4382, 34, 512, 4420, 1280, 0, 0}, {4895, 8224, 16448, 0, 0, 0, 0}, {4896, 0, 0, 0, 0, 0, 0}, {259, 273, 0, 0, 0, 0, 0}, {34, 512, 4352, 0, 0, 0, 0}, {48, 771, 4112, 0, 0, 0, 0}, {1036, 4900, 1092, 0, 0, 0, 0}, {1295, 4901, 1365, 0, 0, 0, 0}, {1548, 4902, 5440, 0, 0, 0, 0}, {1807, 4903, 5200, 0, 0, 0, 0}, {4904, 13056, 17408, 0, 0, 0, 0}, {4122, 48, 771, 4160, 5397, 0, 0}, {4906, 13056, 21760, 0, 0, 0, 0}, {4120, 48, 771, 4176, 5140, 0, 0}, {4908, 8224, 16448, 0, 0, 0, 0}, {4367, 34, 512, 4437, 5120, 0, 0}, {4364, 34, 512, 4420, 5376, 0, 0}, {4911, 8224, 20560, 0, 0, 0, 0}, {48, 768, 4096, 0, 0, 0, 0}, {34, 514, 4369, 0, 0, 0, 0}, {258, 272, 0, 0, 0, 0, 0}, {4915, 0, 0, 0, 0, 0, 0}, {1800, 4916, 5188, 0, 0, 0, 0}, {1546, 4917, 5461, 0, 0, 0, 0}, {1290, 4918, 1360, 0, 0, 0, 0}, {1032, 4919, 1088, 0, 0, 0, 0}, {4104, 48, 768, 4160, 5120, 0, 0}, {4921, 13107, 21845, 0, 0, 0, 0}, {4106, 48, 768, 4176, 5376, 0, 0}, {4923, 13107, 17476, 0, 0, 0, 0}, {4924, 8192, 20480, 0, 0, 0, 0}, {4381, 34, 514, 4437, 5397, 0, 0}, {4382, 34, 514, 4420, 5140, 0, 0}, {4927, 8192, 16384, 0, 0, 0, 0}, {192, 4928, 16448, 0, 0, 0, 0}, {90, 34, 592, 1285, 4369, 0, 0}, {72, 34, 578, 1024, 4352, 0, 0}, {240, 4931, 20480, 0, 0, 0, 0}, {136, 4932, 17476, 0, 0, 0, 0}, {90, 48, 853, 1285, 4112, 0, 0}, {170, 4934, 21760, 0, 0, 0, 0}, {72, 48, 839, 1024, 4096, 0, 0}, {72, 4864, 1024, 0, 0, 0, 0}, {90, 4883, 1285, 0, 0, 0, 0}, {1546, 4896, 5440, 0, 0, 0, 0}, {1807, 4915, 5188, 0, 0, 0, 0}, {4940, 0, 0, 0, 0, 0, 0}, {18, 261, 0, 0, 0, 0, 0}, {522, 34, 4420, 0, 0, 0, 0}, {783, 48, 4160, 0, 0, 0, 0}, {240, 4944, 20560, 0, 0, 0, 0}, {72, 34, 576, 1028, 4369, 0, 0}, {90, 34, 594, 1280, 4352, 0, 0}, {192, 4947, 16384, 0, 0, 0, 0}, {72, 48, 836, 1028, 4112, 0, 0}, {170, 4949, 21845, 0, 0, 0, 0}, {90, 48, 854, 1280, 4096, 0, 0}, {136, 4951, 17408, 0, 0, 0, 0}, {1800, 4896, 5200, 0, 0, 0, 0}, {1548, 4915, 5461, 0, 0, 0, 0}, {90, 4864, 1280, 0, 0, 0, 0}, {72, 4883, 1028, 0, 0, 0, 0}, {780, 48, 4176, 0, 0, 0, 0}, {520, 34, 4437, 0, 0, 0, 0}, {18, 260, 0, 0, 0, 0, 0}, {4959, 0, 0, 0, 0, 0, 0}, {3072, 4960, 16384, 0, 0, 0, 0}, {1295, 34, 1799, 1365, 4369, 0, 0}, {1032, 34, 1536, 1088, 4352, 0, 0}, {3855, 4963, 20560, 0, 0, 0, 0}, {2056, 4964, 17476, 0, 0, 0, 0}, {1295, 48, 1536, 1365, 4096, 0, 0}, {2560, 4966, 21760, 0, 0, 0, 0}, {1032, 48, 1799, 1088, 4112, 0, 0}, {1032, 4896, 1088, 0, 0, 0, 0}, {1295, 4915, 1365, 0, 0, 0, 0}, {106, 4864, 5376, 0, 0, 0, 0}, {120, 4883, 5140, 0, 0, 0, 0}, {4972, 0, 0, 0, 0, 0, 0}, {18, 277, 0, 0, 0, 0, 0}, {520, 34, 4420, 0, 0, 0, 0}, {783, 48, 4176, 0, 0, 0, 0}, {3840, 4976, 20480, 0, 0, 0, 0}, {1036, 34, 1542, 1092, 4369, 0, 0}, {1290, 34, 1792, 1360, 4352, 0, 0}, {3084, 4979, 16448, 0, 0, 0, 0}, {1036, 48, 1792, 1092, 4096, 0, 0}, {2570, 4981, 21845, 0, 0, 0, 0}, {1290, 48, 1542, 1360, 4112, 0, 0}, {2048, 4983, 17408, 0, 0, 0, 0}, {120, 4864, 5120, 0, 0, 0, 0}, {106, 4883, 5397, 0, 0, 0, 0}, {1290, 4896, 1360, 0, 0, 0, 0}, {1036, 4915, 1092, 0, 0, 0, 0}, {780, 48, 4160, 0, 0, 0, 0}, {522, 34, 4437, 0, 0, 0, 0}, {18, 276, 0, 0, 0, 0, 0}, {4991, 0, 0, 0, 0, 0, 0}, {4992, 24320, 13056, 0, 0, 0, 0}, {18, 321, 1285, 4369, 0, 0, 0}, {522, 34, 4352, 0, 0, 0, 0}, {48, 771, 4160, 0, 0, 0, 0}, {1036, 5888, 1092, 0, 0, 0, 0}, {90, 4981, 1285, 0, 0, 0, 0}, {5418, 1542, 5440, 0, 0, 0, 0}, {4879, 4983, 5120, 0, 0, 0, 0}, {136, 4864, 17408, 0, 0, 0, 0}, {90, 48, 771, 1285, 4112, 0, 0}, {2570, 4896, 21760, 0, 0, 0, 0}, {1036, 48, 771, 1092, 4096, 0, 0}, {4940, 8256, 16448, 0, 0, 0, 0}, {4367, 34, 4869, 4437, 1285, 0, 0}, {4364, 34, 4870, 4420, 5376, 0, 0}, {4991, 8304, 20480, 0, 0, 0, 0}, {48, 768, 4176, 0, 0, 0, 0}, {520, 34, 4369, 0, 0, 0, 0}, {18, 320, 1280, 4352, 0, 0, 0}, {5011, 24415, 13107, 0, 0, 0, 0}, {4892, 4964, 5140, 0, 0, 0, 0}, {5439, 1536, 5461, 0, 0, 0, 0}, {90, 4966, 1280, 0, 0, 0, 0}, {1032, 5911, 1088, 0, 0, 0, 0}, {1032, 48, 768, 1088, 4112, 0, 0}, {2560, 4915, 21845, 0, 0, 0, 0}, {90, 48, 768, 1280, 4096, 0, 0}, {136, 4883, 17476, 0, 0, 0, 0}, {4972, 8272, 20560, 0, 0, 0, 0}, {4381, 34, 4885, 4437, 5397, 0, 0}, {4382, 34, 4886, 4420, 1280, 0, 0}, {4959, 8288, 16384, 0, 0, 0, 0}, {5024, 19456, 13056, 0, 0, 0, 0}, {18, 337, 1028, 4369, 0, 0, 0}, {520, 34, 4352, 0, 0, 0, 0}, {48, 771, 4176, 0, 0, 0, 0}, {72, 4964, 1028, 0, 0, 0, 0}, {1295, 5632, 1365, 0, 0, 0, 0}, {4876, 4966, 5376, 0, 0, 0, 0}, {5160, 1799, 5200, 0, 0, 0, 0}, {2056, 4896, 17408, 0, 0, 0, 0}, {1295, 48, 771, 1365, 4096, 0, 0}, {170, 4864, 21760, 0, 0, 0, 0}, {72, 48, 771, 1028, 4112, 0, 0}, {4972, 8288, 16384, 0, 0, 0, 0}, {4367, 34, 4871, 4437, 5120, 0, 0}, {4364, 34, 4868, 4420, 1028, 0, 0}, {4959, 8272, 20560, 0, 0, 0, 0}, {48, 768, 4160, 0, 0, 0, 0}, {522, 34, 4369, 0, 0, 0, 0}, {18, 336, 1024, 4352, 0, 0, 0}, {5043, 19532, 13107, 0, 0, 0, 0}, {5180, 1792, 5188, 0, 0, 0, 0}, {4895, 4981, 5397, 0, 0, 0, 0}, {1290, 5654, 1360, 0, 0, 0, 0}, {72, 4983, 1024, 0, 0, 0, 0}, {72, 48, 768, 1024, 4096, 0, 0}, {170, 4883, 21845, 0, 0, 0, 0}, {1290, 48, 768, 1360, 4112, 0, 0}, {2048, 4915, 17476, 0, 0, 0, 0}, {4940, 8304, 20480, 0, 0, 0, 0}, {4381, 34, 4887, 4437, 1024, 0, 0}, {4382, 34, 4884, 4420, 5140, 0, 0}, {4991, 8256, 16448, 0, 0, 0, 0}, {192, 4864, 16384, 0, 0, 0, 0}, {90, 34, 514, 1285, 4369, 0, 0}, {1032, 34, 514, 1088, 4352, 0, 0}, {3855, 4915, 20480, 0, 0, 0, 0}, {4940, 13124, 17476, 0, 0, 0, 0}, {4106, 48, 4869, 4176, 1285, 0, 0}, {4972, 13158, 21760, 0, 0, 0, 0}, {4104, 48, 4871, 4160, 5120, 0, 0}, {1032, 5888, 1088, 0, 0, 0, 0}, {90, 4963, 1285, 0, 0, 0, 0}, {4874, 4960, 5376, 0, 0, 0, 0}, {5180, 1799, 5188, 0, 0, 0, 0}, {5068, 24320, 8192, 0, 0, 0, 0}, {18, 325, 1285, 4112, 0, 0, 0}, {34, 514, 4420, 0, 0, 0, 0}, {783, 48, 4096, 0, 0, 0, 0}, {3840, 4896, 20560, 0, 0, 0, 0}, {1036, 34, 512, 1092, 4369, 0, 0}, {90, 34, 512, 1280, 4352, 0, 0}, {192, 4883, 16448, 0, 0, 0, 0}, {4120, 48, 4884, 4176, 5140, 0, 0}, {4991, 13141, 21845, 0, 0, 0, 0}, {4122, 48, 4886, 4160, 1280, 0, 0}, {4959, 13175, 17408, 0, 0, 0, 0}, {5160, 1792, 5200, 0, 0, 0, 0}, {4889, 4979, 5397, 0, 0, 0, 0}, {90, 4976, 1280, 0, 0, 0, 0}, {1036, 5911, 1092, 0, 0, 0, 0}, {780, 48, 4112, 0, 0, 0, 0}, {34, 512, 4437, 0, 0, 0, 0}, {18, 324, 1280, 4096, 0, 0, 0}, {5087, 24415, 8224, 0, 0, 0, 0}, {3072, 4896, 16448, 0, 0, 0, 0}, {1295, 34, 512, 1365, 4369, 0, 0}, {72, 34, 512, 1024, 4352, 0, 0}, {240, 4883, 20560, 0, 0, 0, 0}, {4972, 13124, 17476, 0, 0, 0, 0}, {4122, 48, 4885, 4160, 5397, 0, 0}, {4940, 13158, 21760, 0, 0, 0, 0}, {4120, 48, 4887, 4176, 1024, 0, 0}, {72, 4960, 1024, 0, 0, 0, 0}, {1295, 5654, 1365, 0, 0, 0, 0}, {5418, 1536, 5440, 0, 0, 0, 0}, {4891, 4963, 5140, 0, 0, 0, 0}, {5100, 19532, 8224, 0, 0, 0, 0}, {18, 341, 1024, 4096, 0, 0, 0}, {34, 512, 4420, 0, 0, 0, 0}, {783, 48, 4112, 0, 0, 0, 0}, {240, 4864, 20480, 0, 0, 0, 0}, {72, 34, 514, 1028, 4369, 0, 0}, {1290, 34, 514, 1360, 4352, 0, 0}, {3084, 4915, 16384, 0, 0, 0, 0}, {4104, 48, 4868, 4160, 1028, 0, 0}, {4959, 13141, 21845, 0, 0, 0, 0}, {4106, 48, 4870, 4176, 5376, 0, 0}, {4991, 13175, 17408, 0, 0, 0, 0}, {4872, 4976, 5120, 0, 0, 0, 0}, {5439, 1542, 5461, 0, 0, 0, 0}, {1290, 5632, 1360, 0, 0, 0, 0}, {72, 4979, 1028, 0, 0, 0, 0}, {780, 48, 4096, 0, 0, 0, 0}, {34, 514, 4437, 0, 0, 0, 0}, {18, 340, 1028, 4112, 0, 0, 0}, {5119, 19456, 8192, 0, 0, 0, 0}, {5120, 0, 0, 0, 0, 0, 0}, {21, 257, 0, 0, 0, 0, 0}, {5122, 0, 0, 0, 0, 0, 0}, {5123, 0, 0, 0, 0, 0, 0}, {64, 1028, 4096, 0, 0, 0, 0}, {85, 1285, 4352, 0, 0, 0, 0}, {5126, 0, 0, 0, 0, 0, 0}, {5127, 0, 0, 0, 0, 0, 0}, {5128, 8192, 20480, 0, 0, 0, 0}, {4364, 4403, 771, 85, 1285, 0, 0}, {5130, 8704, 17408, 0, 0, 0, 0}, {4111, 4144, 771, 64, 1028, 0, 0}, {5132, 12288, 20480, 0, 0, 0, 0}, {4360, 4386, 514, 85, 1285, 0, 0}, {4106, 4128, 514, 64, 1028, 0, 0}, {5135, 13056, 17408, 0, 0, 0, 0}, {64, 1024, 4112, 0, 0, 0, 0}, {85, 1280, 4369, 0, 0, 0, 0}, {5138, 0, 0, 0, 0, 0, 0}, {5139, 0, 0, 0, 0, 0, 0}, {5140, 0, 0, 0, 0, 0, 0}, {21, 256, 0, 0, 0, 0, 0}, {5142, 0, 0, 0, 0, 0, 0}, {5143, 0, 0, 0, 0, 0, 0}, {5144, 12336, 20560, 0, 0, 0, 0}, {4377, 4403, 512, 85, 1280, 0, 0}, {4122, 4144, 512, 64, 1024, 0, 0}, {5147, 13107, 17476, 0, 0, 0, 0}, {5148, 8224, 20560, 0, 0, 0, 0}, {4381, 4386, 768, 85, 1280, 0, 0}, {5150, 8738, 17476, 0, 0, 0, 0}, {4127, 4128, 768, 64, 1024, 0, 0}, {2048, 5152, 17408, 0, 0, 0, 0}, {1295, 1328, 771, 85, 4369, 0, 0}, {2560, 5154, 20480, 0, 0, 0, 0}, {1036, 1075, 771, 64, 4112, 0, 0}, {3084, 5156, 17476, 0, 0, 0, 0}, {1295, 1317, 512, 85, 4352, 0, 0}, {1036, 1062, 512, 64, 4096, 0, 0}, {3855, 5159, 20560, 0, 0, 0, 0}, {5160, 0, 0, 0, 0, 0, 0}, {259, 21, 0, 0, 0, 0, 0}, {42, 512, 5120, 0, 0, 0, 0}, {63, 771, 5140, 0, 0, 0, 0}, {1036, 4128, 64, 0, 0, 0, 0}, {1295, 4386, 85, 0, 0, 0, 0}, {1548, 4642, 5188, 0, 0, 0, 0}, {1807, 4896, 5200, 0, 0, 0, 0}, {3072, 5168, 17408, 0, 0, 0, 0}, {1290, 1312, 514, 85, 4369, 0, 0}, {1032, 1058, 514, 64, 4112, 0, 0}, {3840, 5171, 20480, 0, 0, 0, 0}, {2056, 5172, 17476, 0, 0, 0, 0}, {1290, 1333, 768, 85, 4352, 0, 0}, {2570, 5174, 20560, 0, 0, 0, 0}, {1032, 1079, 768, 64, 4096, 0, 0}, {1032, 4144, 64, 0, 0, 0, 0}, {1290, 4403, 85, 0, 0, 0, 0}, {1546, 4656, 5200, 0, 0, 0, 0}, {1800, 4915, 5188, 0, 0, 0, 0}, {5180, 0, 0, 0, 0, 0, 0}, {258, 21, 0, 0, 0, 0, 0}, {42, 514, 5140, 0, 0, 0, 0}, {63, 768, 5120, 0, 0, 0, 0}, {64, 1024, 4096, 0, 0, 0, 0}, {85, 1285, 4369, 0, 0, 0, 0}, {5186, 0, 0, 0, 0, 0, 0}, {5187, 0, 0, 0, 0, 0, 0}, {5188, 0, 0, 0, 0, 0, 0}, {261, 272, 0, 0, 0, 0, 0}, {5190, 0, 0, 0, 0, 0, 0}, {5191, 0, 0, 0, 0, 0, 0}, {5192, 12288, 20480, 0, 0, 0, 0}, {4377, 4403, 4883, 85, 1285, 0, 0}, {4106, 4128, 4608, 64, 1024, 0, 0}, {5195, 13107, 17476, 0, 0, 0, 0}, {5196, 8192, 20480, 0, 0, 0, 0}, {4381, 4386, 4626, 85, 1285, 0, 0}, {5198, 8738, 17476, 0, 0, 0, 0}, {4111, 4144, 4864, 64, 1024, 0, 0}, {5200, 0, 0, 0, 0, 0, 0}, {260, 273, 0, 0, 0, 0, 0}, {5202, 0, 0, 0, 0, 0, 0}, {5203, 0, 0, 0, 0, 0, 0}, {64, 1028, 4112, 0, 0, 0, 0}, {85, 1280, 4352, 0, 0, 0, 0}, {5206, 0, 0, 0, 0, 0, 0}, {5207, 0, 0, 0, 0, 0, 0}, {5208, 8224, 20560, 0, 0, 0, 0}, {4364, 4403, 4608, 85, 1280, 0, 0}, {5210, 8704, 17408, 0, 0, 0, 0}, {4127, 4128, 4883, 64, 1028, 0, 0}, {5212, 12336, 20560, 0, 0, 0, 0}, {4360, 4386, 4864, 85, 1280, 0, 0}, {4122, 4144, 4626, 64, 1028, 0, 0}, {5215, 13056, 17408, 0, 0, 0, 0}, {3072, 5216, 17408, 0, 0, 0, 0}, {1295, 1317, 1799, 85, 4369, 0, 0}, {1032, 1058, 1536, 64, 4096, 0, 0}, {3855, 5219, 20560, 0, 0, 0, 0}, {2056, 5220, 17476, 0, 0, 0, 0}, {1295, 1328, 1536, 85, 4352, 0, 0}, {2560, 5222, 20480, 0, 0, 0, 0}, {1032, 1079, 1799, 64, 4112, 0, 0}, {1032, 4128, 64, 0, 0, 0, 0}, {1295, 4403, 85, 0, 0, 0, 0}, {106, 4608, 5120, 0, 0, 0, 0}, {127, 4883, 5140, 0, 0, 0, 0}, {5228, 0, 0, 0, 0, 0, 0}, {274, 21, 0, 0, 0, 0, 0}, {520, 546, 5188, 0, 0, 0, 0}, {783, 816, 5200, 0, 0, 0, 0}, {2048, 5232, 17408, 0, 0, 0, 0}, {1290, 1333, 1542, 85, 4369, 0, 0}, {2570, 5234, 20560, 0, 0, 0, 0}, {1036, 1075, 1792, 64, 4096, 0, 0}, {3084, 5236, 17476, 0, 0, 0, 0}, {1290, 1312, 1792, 85, 4352, 0, 0}, {1036, 1062, 1542, 64, 4112, 0, 0}, {3840, 5239, 20480, 0, 0, 0, 0}, {5240, 0, 0, 0, 0, 0, 0}, {275, 21, 0, 0, 0, 0, 0}, {522, 544, 5200, 0, 0, 0, 0}, {780, 819, 5188, 0, 0, 0, 0}, {1036, 4144, 64, 0, 0, 0, 0}, {1290, 4386, 85, 0, 0, 0, 0}, {106, 4626, 5140, 0, 0, 0, 0}, {127, 4864, 5120, 0, 0, 0, 0}, {128, 8192, 5120, 0, 0, 0, 0}, {63, 771, 85, 1285, 4369, 0, 0}, {20490, 17442, 0, 0, 0, 0, 0}, {5123, 64, 0, 0, 0, 0, 0}, {3084, 12288, 5188, 0, 0, 0, 0}, {522, 544, 85, 1285, 4352, 0, 0}, {5126, 64, 0, 0, 0, 0, 0}, {20495, 17527, 0, 0, 0, 0, 0}, {5256, 15360, 20480, 0, 0, 0, 0}, {291, 771, 21, 4112, 0, 0, 0}, {5130, 5152, 5632, 17408, 0, 0, 0}, {5195, 5236, 771, 17476, 0, 0, 0}, {1036, 64, 4096, 0, 0, 0, 0}, {4386, 85, 1285, 0, 0, 0, 0}, {5198, 5156, 1542, 17476, 0, 0, 0}, {5135, 5232, 4864, 17408, 0, 0, 0}, {3072, 12336, 5200, 0, 0, 0, 0}, {520, 546, 85, 1280, 4369, 0, 0}, {5138, 64, 0, 0, 0, 0, 0}, {20575, 17459, 0, 0, 0, 0, 0}, {128, 8224, 5140, 0, 0, 0, 0}, {63, 768, 85, 1280, 4352, 0, 0}, {20570, 17510, 0, 0, 0, 0, 0}, {5143, 64, 0, 0, 0, 0, 0}, {1032, 64, 4112, 0, 0, 0, 0}, {4403, 85, 1280, 0, 0, 0, 0}, {5210, 5168, 1536, 17408, 0, 0, 0}, {5147, 5220, 4883, 17476, 0, 0, 0}, {5276, 15420, 20560, 0, 0, 0, 0}, {290, 768, 21, 4096, 0, 0, 0}, {5150, 5172, 5654, 17476, 0, 0, 0}, {5215, 5216, 768, 17408, 0, 0, 0}, {5280, 15360, 17408, 0, 0, 0, 0}, {289, 771, 21, 4369, 0, 0, 0}, {5128, 5154, 5632, 20480, 0, 0, 0}, {5212, 5219, 771, 20560, 0, 0, 0}, {4128, 64, 1028, 0, 0, 0, 0}, {1295, 85, 4352, 0, 0, 0, 0}, {5132, 5222, 4608, 20480, 0, 0, 0}, {5208, 5159, 1799, 20560, 0, 0, 0}, {17416, 20512, 0, 0, 0, 0, 0}, {5123, 85, 0, 0, 0, 0, 0}, {170, 8704, 5120, 0, 0, 0, 0}, {63, 771, 64, 1028, 4112, 0, 0}, {17420, 20576, 0, 0, 0, 0, 0}, {5127, 85, 0, 0, 0, 0, 0}, {520, 546, 64, 1028, 4096, 0, 0}, {3855, 13056, 5200, 0, 0, 0, 0}, {4144, 64, 1024, 0, 0, 0, 0}, {1290, 85, 4369, 0, 0, 0, 0}, {5144, 5234, 4626, 20560, 0, 0, 0}, {5196, 5171, 1792, 20480, 0, 0, 0}, {5300, 15420, 17476, 0, 0, 0, 0}, {288, 768, 21, 4352, 0, 0, 0}, {5148, 5174, 5654, 20560, 0, 0, 0}, {5192, 5239, 768, 20480, 0, 0, 0}, {17480, 20528, 0, 0, 0, 0, 0}, {5139, 85, 0, 0, 0, 0, 0}, {522, 544, 64, 1024, 4112, 0, 0}, {3840, 13107, 5188, 0, 0, 0, 0}, {17484, 20592, 0, 0, 0, 0, 0}, {5143, 85, 0, 0, 0, 0, 0}, {170, 8738, 5140, 0, 0, 0, 0}, {63, 768, 64, 1024, 4096, 0, 0}, {192, 12288, 5120, 0, 0, 0, 0}, {42, 514, 85, 1285, 4369, 0, 0}, {5122, 64, 0, 0, 0, 0, 0}, {20495, 17459, 0, 0, 0, 0, 0}, {2056, 8192, 5188, 0, 0, 0, 0}, {783, 816, 85, 1285, 4352, 0, 0}, {20490, 17510, 0, 0, 0, 0, 0}, {5127, 64, 0, 0, 0, 0, 0}, {1032, 64, 4096, 0, 0, 0, 0}, {4403, 85, 1285, 0, 0, 0, 0}, {5130, 5216, 4608, 17408, 0, 0, 0}, {5195, 5172, 1799, 17476, 0, 0, 0}, {5324, 10240, 20480, 0, 0, 0, 0}, {306, 514, 21, 4112, 0, 0, 0}, {5198, 5220, 514, 17476, 0, 0, 0}, {5135, 5168, 5888, 17408, 0, 0, 0}, {2048, 8224, 5200, 0, 0, 0, 0}, {780, 819, 85, 1280, 4369, 0, 0}, {20570, 17442, 0, 0, 0, 0, 0}, {5139, 64, 0, 0, 0, 0, 0}, {192, 12336, 5140, 0, 0, 0, 0}, {42, 512, 85, 1280, 4352, 0, 0}, {5142, 64, 0, 0, 0, 0, 0}, {20575, 17527, 0, 0, 0, 0, 0}, {5336, 10280, 20560, 0, 0, 0, 0}, {307, 512, 21, 4096, 0, 0, 0}, {5210, 5232, 512, 17408, 0, 0, 0}, {5147, 5156, 5911, 17476, 0, 0, 0}, {1036, 64, 4112, 0, 0, 0, 0}, {4386, 85, 1280, 0, 0, 0, 0}, {5150, 5236, 4626, 17476, 0, 0, 0}, {5215, 5152, 1792, 17408, 0, 0, 0}, {4128, 64, 1024, 0, 0, 0, 0}, {1295, 85, 4369, 0, 0, 0, 0}, {5192, 5154, 1536, 20480, 0, 0, 0}, {5148, 5219, 4883, 20560, 0, 0, 0}, {5348, 10280, 17476, 0, 0, 0, 0}, {304, 512, 21, 4352, 0, 0, 0}, {5196, 5222, 512, 20480, 0, 0, 0}, {5144, 5159, 5911, 20560, 0, 0, 0}, {17480, 20576, 0, 0, 0, 0, 0}, {5142, 85, 0, 0, 0, 0, 0}, {42, 512, 64, 1024, 4096, 0, 0}, {255, 13107, 5140, 0, 0, 0, 0}, {17484, 20512, 0, 0, 0, 0, 0}, {5138, 85, 0, 0, 0, 0, 0}, {2560, 8738, 5188, 0, 0, 0, 0}, {783, 816, 64, 1024, 4112, 0, 0}, {5360, 10240, 17408, 0, 0, 0, 0}, {305, 514, 21, 4369, 0, 0, 0}, {5208, 5234, 514, 20560, 0, 0, 0}, {5132, 5171, 5888, 20480, 0, 0, 0}, {4144, 64, 1028, 0, 0, 0, 0}, {1290, 85, 4352, 0, 0, 0, 0}, {5212, 5174, 1542, 20560, 0, 0, 0}, {5128, 5239, 4864, 20480, 0, 0, 0}, {17416, 20592, 0, 0, 0, 0, 0}, {5126, 85, 0, 0, 0, 0, 0}, {2570, 8704, 5200, 0, 0, 0, 0}, {780, 819, 64, 1028, 4096, 0, 0}, {17420, 20528, 0, 0, 0, 0, 0}, {5122, 85, 0, 0, 0, 0, 0}, {42, 514, 64, 1028, 4112, 0, 0}, {255, 13056, 5120, 0, 0, 0, 0}, {5376, 0, 0, 0, 0, 0, 0}, {20, 257, 0, 0, 0, 0, 0}, {5378, 0, 0, 0, 0, 0, 0}, {5379, 0, 0, 0, 0, 0, 0}, {68, 1028, 4352, 0, 0, 0, 0}, {80, 1285, 4096, 0, 0, 0, 0}, {5382, 0, 0, 0, 0, 0, 0}, {5383, 0, 0, 0, 0, 0, 0}, {5384, 8704, 21760, 0, 0, 0, 0}, {4108, 4144, 771, 80, 1285, 0, 0}, {5386, 8192, 16384, 0, 0, 0, 0}, {4367, 4403, 771, 68, 1028, 0, 0}, {5388, 13056, 21760, 0, 0, 0, 0}, {4104, 4128, 514, 80, 1285, 0, 0}, {4362, 4386, 514, 68, 1028, 0, 0}, {5391, 12288, 16384, 0, 0, 0, 0}, {80, 1280, 4112, 0, 0, 0, 0}, {68, 1024, 4369, 0, 0, 0, 0}, {5394, 0, 0, 0, 0, 0, 0}, {5395, 0, 0, 0, 0, 0, 0}, {20, 256, 0, 0, 0, 0, 0}, {5397, 0, 0, 0, 0, 0, 0}, {5398, 0, 0, 0, 0, 0, 0}, {5399, 0, 0, 0, 0, 0, 0}, {4120, 4144, 512, 80, 1280, 0, 0}, {5401, 13107, 21845, 0, 0, 0, 0}, {5402, 12336, 16448, 0, 0, 0, 0}, {4379, 4403, 512, 68, 1024, 0, 0}, {4124, 4128, 768, 80, 1280, 0, 0}, {5405, 8738, 21845, 0, 0, 0, 0}, {4382, 4386, 768, 68, 1024, 0, 0}, {5407, 8224, 16448, 0, 0, 0, 0}, {2560, 5408, 21760, 0, 0, 0, 0}, {1036, 1072, 771, 68, 4369, 0, 0}, {2048, 5410, 16384, 0, 0, 0, 0}, {1295, 1331, 771, 80, 4112, 0, 0}, {1036, 1060, 512, 68, 4352, 0, 0}, {3855, 5413, 21845, 0, 0, 0, 0}, {3084, 5414, 16448, 0, 0, 0, 0}, {1295, 1319, 512, 80, 4096, 0, 0}, {40, 512, 5376, 0, 0, 0, 0}, {60, 771, 5397, 0, 0, 0, 0}, {5418, 0, 0, 0, 0, 0, 0}, {259, 20, 0, 0, 0, 0, 0}, {1548, 4896, 5440, 0, 0, 0, 0}, {1807, 4642, 5461, 0, 0, 0, 0}, {1036, 4386, 68, 0, 0, 0, 0}, {1295, 4128, 80, 0, 0, 0, 0}, {3840, 5424, 21760, 0, 0, 0, 0}, {1032, 1056, 514, 68, 4369, 0, 0}, {1290, 1314, 514, 80, 4112, 0, 0}, {3072, 5427, 16384, 0, 0, 0, 0}, {1032, 1076, 768, 68, 4352, 0, 0}, {2570, 5429, 21845, 0, 0, 0, 0}, {1290, 1334, 768, 80, 4096, 0, 0}, {2056, 5431, 16448, 0, 0, 0, 0}, {1800, 4656, 5440, 0, 0, 0, 0}, {1546, 4915, 5461, 0, 0, 0, 0}, {1290, 4144, 80, 0, 0, 0, 0}, {1032, 4403, 68, 0, 0, 0, 0}, {60, 768, 5376, 0, 0, 0, 0}, {40, 514, 5397, 0, 0, 0, 0}, {258, 20, 0, 0, 0, 0, 0}, {5439, 0, 0, 0, 0, 0, 0}, {5440, 0, 0, 0, 0, 0, 0}, {261, 273, 0, 0, 0, 0, 0}, {5442, 0, 0, 0, 0, 0, 0}, {5443, 0, 0, 0, 0, 0, 0}, {68, 1024, 4352, 0, 0, 0, 0}, {80, 1285, 4112, 0, 0, 0, 0}, {5446, 0, 0, 0, 0, 0, 0}, {5447, 0, 0, 0, 0, 0, 0}, {5448, 8704, 21760, 0, 0, 0, 0}, {4124, 4128, 4883, 80, 1285, 0, 0}, {5450, 8224, 16448, 0, 0, 0, 0}, {4367, 4403, 4608, 68, 1024, 0, 0}, {5452, 13056, 21760, 0, 0, 0, 0}, {4120, 4144, 4626, 80, 1285, 0, 0}, {4362, 4386, 4864, 68, 1024, 0, 0}, {5455, 12336, 16448, 0, 0, 0, 0}, {80, 1280, 4096, 0, 0, 0, 0}, {68, 1028, 4369, 0, 0, 0, 0}, {5458, 0, 0, 0, 0, 0, 0}, {5459, 0, 0, 0, 0, 0, 0}, {260, 272, 0, 0, 0, 0, 0}, {5461, 0, 0, 0, 0, 0, 0}, {5462, 0, 0, 0, 0, 0, 0}, {5463, 0, 0, 0, 0, 0, 0}, {4104, 4128, 4608, 80, 1280, 0, 0}, {5465, 13107, 21845, 0, 0, 0, 0}, {5466, 12288, 16384, 0, 0, 0, 0}, {4379, 4403, 4883, 68, 1028, 0, 0}, {4108, 4144, 4864, 80, 1280, 0, 0}, {5469, 8738, 21845, 0, 0, 0, 0}, {4382, 4386, 4626, 68, 1028, 0, 0}, {5471, 8192, 16384, 0, 0, 0, 0}, {2560, 5472, 21760, 0, 0, 0, 0}, {1032, 1076, 1799, 68, 4369, 0, 0}, {2056, 5474, 16448, 0, 0, 0, 0}, {1295, 1331, 1536, 80, 4096, 0, 0}, {1032, 1056, 1536, 68, 4352, 0, 0}, {3855, 5477, 21845, 0, 0, 0, 0}, {3072, 5478, 16384, 0, 0, 0, 0}, {1295, 1319, 1799, 80, 4112, 0, 0}, {520, 544, 5440, 0, 0, 0, 0}, {783, 819, 5461, 0, 0, 0, 0}, {5482, 0, 0, 0, 0, 0, 0}, {275, 20, 0, 0, 0, 0, 0}, {108, 4864, 5376, 0, 0, 0, 0}, {120, 4626, 5397, 0, 0, 0, 0}, {1032, 4386, 68, 0, 0, 0, 0}, {1295, 4144, 80, 0, 0, 0, 0}, {3840, 5488, 21760, 0, 0, 0, 0}, {1036, 1060, 1542, 68, 4369, 0, 0}, {1290, 1314, 1792, 80, 4096, 0, 0}, {3084, 5491, 16448, 0, 0, 0, 0}, {1036, 1072, 1792, 68, 4352, 0, 0}, {2570, 5493, 21845, 0, 0, 0, 0}, {1290, 1334, 1542, 80, 4112, 0, 0}, {2048, 5495, 16384, 0, 0, 0, 0}, {120, 4608, 5376, 0, 0, 0, 0}, {108, 4883, 5397, 0, 0, 0, 0}, {1290, 4128, 80, 0, 0, 0, 0}, {1036, 4403, 68, 0, 0, 0, 0}, {780, 816, 5440, 0, 0, 0, 0}, {522, 546, 5461, 0, 0, 0, 0}, {274, 20, 0, 0, 0, 0, 0}, {5503, 0, 0, 0, 0, 0, 0}, {5504, 16128, 21760, 0, 0, 0, 0}, {289, 771, 20, 4369, 0, 0, 0}, {5386, 5410, 5888, 16384, 0, 0, 0}, {5455, 5491, 771, 16448, 0, 0, 0}, {1036, 68, 4352, 0, 0, 0, 0}, {4128, 80, 1285, 0, 0, 0, 0}, {5450, 5414, 1542, 16448, 0, 0, 0}, {5391, 5495, 4608, 16384, 0, 0, 0}, {136, 8704, 5376, 0, 0, 0, 0}, {60, 771, 80, 1285, 4112, 0, 0}, {21770, 16416, 0, 0, 0, 0, 0}, {5379, 68, 0, 0, 0, 0, 0}, {3084, 13056, 5440, 0, 0, 0, 0}, {522, 546, 80, 1285, 4096, 0, 0}, {5382, 68, 0, 0, 0, 0, 0}, {21775, 16496, 0, 0, 0, 0, 0}, {4144, 80, 1280, 0, 0, 0, 0}, {1032, 68, 4369, 0, 0, 0, 0}, {5402, 5474, 4626, 16448, 0, 0, 0}, {5471, 5427, 1536, 16384, 0, 0, 0}, {288, 768, 20, 4352, 0, 0, 0}, {5525, 16191, 21845, 0, 0, 0, 0}, {5466, 5478, 768, 16384, 0, 0, 0}, {5407, 5431, 5911, 16448, 0, 0, 0}, {520, 544, 80, 1280, 4112, 0, 0}, {3072, 13107, 5461, 0, 0, 0, 0}, {21850, 16432, 0, 0, 0, 0, 0}, {5395, 68, 0, 0, 0, 0, 0}, {60, 768, 80, 1280, 4096, 0, 0}, {136, 8738, 5397, 0, 0, 0, 0}, {5398, 68, 0, 0, 0, 0, 0}, {21855, 16480, 0, 0, 0, 0, 0}, {160, 8192, 5376, 0, 0, 0, 0}, {60, 771, 68, 1028, 4369, 0, 0}, {16392, 21794, 0, 0, 0, 0, 0}, {5379, 80, 0, 0, 0, 0, 0}, {520, 544, 68, 1028, 4352, 0, 0}, {3855, 12288, 5461, 0, 0, 0, 0}, {16396, 21862, 0, 0, 0, 0, 0}, {5383, 80, 0, 0, 0, 0, 0}, {5384, 5408, 5888, 21760, 0, 0, 0}, {5465, 5477, 771, 21845, 0, 0, 0}, {5546, 16128, 16384, 0, 0, 0, 0}, {291, 771, 20, 4112, 0, 0, 0}, {5388, 5472, 4864, 21760, 0, 0, 0}, {5469, 5413, 1799, 21845, 0, 0, 0}, {4386, 68, 1028, 0, 0, 0, 0}, {1295, 80, 4096, 0, 0, 0, 0}, {3840, 12336, 5440, 0, 0, 0, 0}, {522, 546, 68, 1024, 4369, 0, 0}, {5394, 80, 0, 0, 0, 0, 0}, {16460, 21811, 0, 0, 0, 0, 0}, {60, 768, 68, 1024, 4352, 0, 0}, {160, 8224, 5397, 0, 0, 0, 0}, {5398, 80, 0, 0, 0, 0, 0}, {16456, 21879, 0, 0, 0, 0, 0}, {5448, 5424, 1792, 21760, 0, 0, 0}, {5401, 5493, 4883, 21845, 0, 0, 0}, {1290, 80, 4112, 0, 0, 0, 0}, {4403, 68, 1024, 0, 0, 0, 0}, {5452, 5488, 768, 21760, 0, 0, 0}, {5405, 5429, 5911, 21845, 0, 0, 0}, {290, 768, 20, 4096, 0, 0, 0}, {5567, 16191, 16448, 0, 0, 0, 0}, {5568, 10752, 21760, 0, 0, 0, 0}, {305, 514, 20, 4369, 0, 0, 0}, {5450, 5474, 514, 16448, 0, 0, 0}, {5391, 5427, 5632, 16384, 0, 0, 0}, {1032, 68, 4352, 0, 0, 0, 0}, {4144, 80, 1285, 0, 0, 0, 0}, {5386, 5478, 4864, 16384, 0, 0, 0}, {5455, 5431, 1799, 16448, 0, 0, 0}, {2056, 8704, 5440, 0, 0, 0, 0}, {783, 819, 80, 1285, 4096, 0, 0}, {21770, 16480, 0, 0, 0, 0, 0}, {5383, 68, 0, 0, 0, 0, 0}, {204, 13056, 5376, 0, 0, 0, 0}, {40, 514, 80, 1285, 4112, 0, 0}, {5378, 68, 0, 0, 0, 0, 0}, {21775, 16432, 0, 0, 0, 0, 0}, {4128, 80, 1280, 0, 0, 0, 0}, {1036, 68, 4369, 0, 0, 0, 0}, {5466, 5410, 1792, 16384, 0, 0, 0}, {5407, 5491, 4883, 16448, 0, 0, 0}, {304, 512, 20, 4352, 0, 0, 0}, {5589, 10794, 21845, 0, 0, 0, 0}, {5402, 5414, 5654, 16448, 0, 0, 0}, {5471, 5495, 512, 16384, 0, 0, 0}, {40, 512, 80, 1280, 4096, 0, 0}, {204, 13107, 5397, 0, 0, 0, 0}, {21850, 16496, 0, 0, 0, 0, 0}, {5399, 68, 0, 0, 0, 0, 0}, {780, 816, 80, 1280, 4112, 0, 0}, {2048, 8738, 5461, 0, 0, 0, 0}, {5394, 68, 0, 0, 0, 0, 0}, {21855, 16416, 0, 0, 0, 0, 0}, {2560, 8224, 5440, 0, 0, 0, 0}, {783, 819, 68, 1024, 4369, 0, 0}, {16456, 21794, 0, 0, 0, 0, 0}, {5395, 80, 0, 0, 0, 0, 0}, {40, 512, 68, 1024, 4352, 0, 0}, {240, 12336, 5397, 0, 0, 0, 0}, {16460, 21862, 0, 0, 0, 0, 0}, {5399, 80, 0, 0, 0, 0, 0}, {5448, 5472, 512, 21760, 0, 0, 0}, {5401, 5413, 5654, 21845, 0, 0, 0}, {5610, 10794, 16448, 0, 0, 0, 0}, {307, 512, 20, 4096, 0, 0, 0}, {5452, 5408, 1536, 21760, 0, 0, 0}, {5405, 5477, 4626, 21845, 0, 0, 0}, {4386, 68, 1024, 0, 0, 0, 0}, {1295, 80, 4112, 0, 0, 0, 0}, {240, 12288, 5376, 0, 0, 0, 0}, {40, 514, 68, 1028, 4369, 0, 0}, {5378, 80, 0, 0, 0, 0, 0}, {16396, 21811, 0, 0, 0, 0, 0}, {780, 816, 68, 1028, 4352, 0, 0}, {2570, 8192, 5461, 0, 0, 0, 0}, {5382, 80, 0, 0, 0, 0, 0}, {16392, 21879, 0, 0, 0, 0, 0}, {5384, 5488, 4608, 21760, 0, 0, 0}, {5465, 5429, 1542, 21845, 0, 0, 0}, {1290, 80, 4096, 0, 0, 0, 0}, {4403, 68, 1028, 0, 0, 0, 0}, {5388, 5424, 5632, 21760, 0, 0, 0}, {5469, 5493, 514, 21845, 0, 0, 0}, {306, 514, 20, 4112, 0, 0, 0}, {5631, 10752, 16384, 0, 0, 0, 0}, {5632, 0, 0, 0, 0, 0, 0}, {23, 257, 0, 0, 0, 0, 0}, {40, 514, 5120, 0, 0, 0, 0}, {63, 771, 5376, 0, 0, 0, 0}, {72, 4608, 1028, 0, 0, 0, 0}, {95, 4864, 1285, 0, 0, 0, 0}, {96, 1542, 4096, 0, 0, 0, 0}, {119, 1799, 4352, 0, 0, 0, 0}, {5640, 8704, 17408, 0, 0, 0, 0}, {4111, 4144, 771, 4176, 1285, 0, 0}, {5642, 8192, 20480, 0, 0, 0, 0}, {4364, 4403, 771, 4420, 1028, 0, 0}, {5644, 12288, 16384, 0, 0, 0, 0}, {4362, 4386, 514, 4437, 1285, 0, 0}, {4104, 4128, 514, 4160, 1028, 0, 0}, {5647, 13056, 21760, 0, 0, 0, 0}, {96, 1536, 4112, 0, 0, 0, 0}, {119, 1792, 4369, 0, 0, 0, 0}, {72, 4626, 1024, 0, 0, 0, 0}, {95, 4883, 1280, 0, 0, 0, 0}, {40, 512, 5140, 0, 0, 0, 0}, {63, 768, 5397, 0, 0, 0, 0}, {5654, 0, 0, 0, 0, 0, 0}, {23, 256, 0, 0, 0, 0, 0}, {4120, 4144, 512, 4176, 1024, 0, 0}, {5657, 13107, 21845, 0, 0, 0, 0}, {5658, 12336, 16448, 0, 0, 0, 0}, {4379, 4403, 512, 4420, 1280, 0, 0}, {5660, 8224, 20560, 0, 0, 0, 0}, {4381, 4386, 768, 4437, 1024, 0, 0}, {5662, 8738, 17476, 0, 0, 0, 0}, {4127, 4128, 768, 4160, 1280, 0, 0}, {2560, 5664, 20480, 0, 0, 0, 0}, {1036, 1075, 771, 1092, 4369, 0, 0}, {2048, 5666, 17408, 0, 0, 0, 0}, {1295, 1328, 771, 1360, 4112, 0, 0}, {1036, 1060, 512, 1092, 4096, 0, 0}, {3855, 5669, 21845, 0, 0, 0, 0}, {3084, 5670, 16448, 0, 0, 0, 0}, {1295, 1319, 512, 1360, 4352, 0, 0}, {40, 512, 5120, 0, 0, 0, 0}, {63, 771, 5397, 0, 0, 0, 0}, {5674, 0, 0, 0, 0, 0, 0}, {259, 276, 0, 0, 0, 0, 0}, {1548, 4128, 4160, 0, 0, 0, 0}, {1807, 4386, 4437, 0, 0, 0, 0}, {1036, 4642, 1092, 0, 0, 0, 0}, {1295, 4896, 1360, 0, 0, 0, 0}, {3072, 5680, 16384, 0, 0, 0, 0}, {1290, 1314, 514, 1365, 4369, 0, 0}, {1032, 1056, 514, 1088, 4112, 0, 0}, {3840, 5683, 21760, 0, 0, 0, 0}, {2056, 5684, 17476, 0, 0, 0, 0}, {1290, 1333, 768, 1365, 4096, 0, 0}, {2570, 5686, 20560, 0, 0, 0, 0}, {1032, 1079, 768, 1088, 4352, 0, 0}, {1032, 4656, 1088, 0, 0, 0, 0}, {1290, 4915, 1365, 0, 0, 0, 0}, {1546, 4144, 4176, 0, 0, 0, 0}, {1800, 4403, 4420, 0, 0, 0, 0}, {5692, 0, 0, 0, 0, 0, 0}, {258, 277, 0, 0, 0, 0, 0}, {40, 514, 5140, 0, 0, 0, 0}, {63, 768, 5376, 0, 0, 0, 0}, {192, 5696, 16448, 0, 0, 0, 0}, {95, 119, 597, 1285, 4369, 0, 0}, {72, 96, 578, 1024, 4096, 0, 0}, {255, 5699, 21760, 0, 0, 0, 0}, {136, 5700, 17476, 0, 0, 0, 0}, {95, 96, 848, 1285, 4112, 0, 0}, {160, 5702, 20480, 0, 0, 0, 0}, {72, 119, 839, 1024, 4352, 0, 0}, {72, 4608, 1024, 0, 0, 0, 0}, {95, 4883, 1285, 0, 0, 0, 0}, {1546, 4128, 4160, 0, 0, 0, 0}, {1807, 4403, 4420, 0, 0, 0, 0}, {5708, 0, 0, 0, 0, 0, 0}, {274, 261, 0, 0, 0, 0, 0}, {522, 546, 5188, 0, 0, 0, 0}, {783, 816, 5440, 0, 0, 0, 0}, {160, 5712, 20560, 0, 0, 0, 0}, {72, 119, 836, 1028, 4369, 0, 0}, {136, 5714, 17408, 0, 0, 0, 0}, {95, 96, 851, 1280, 4096, 0, 0}, {72, 96, 576, 1028, 4112, 0, 0}, {255, 5717, 21845, 0, 0, 0, 0}, {192, 5718, 16384, 0, 0, 0, 0}, {95, 119, 599, 1280, 4352, 0, 0}, {520, 544, 5200, 0, 0, 0, 0}, {780, 819, 5461, 0, 0, 0, 0}, {5722, 0, 0, 0, 0, 0, 0}, {275, 260, 0, 0, 0, 0, 0}, {1548, 4144, 4176, 0, 0, 0, 0}, {1800, 4386, 4437, 0, 0, 0, 0}, {72, 4626, 1028, 0, 0, 0, 0}, {95, 4864, 1280, 0, 0, 0, 0}, {96, 1536, 4096, 0, 0, 0, 0}, {119, 1799, 4369, 0, 0, 0, 0}, {1032, 4642, 1088, 0, 0, 0, 0}, {1295, 4915, 1360, 0, 0, 0, 0}, {520, 544, 5188, 0, 0, 0, 0}, {783, 816, 5461, 0, 0, 0, 0}, {5734, 0, 0, 0, 0, 0, 0}, {263, 272, 0, 0, 0, 0, 0}, {4104, 4128, 4608, 4160, 5120, 0, 0}, {5737, 13107, 21845, 0, 0, 0, 0}, {5738, 12288, 16384, 0, 0, 0, 0}, {4379, 4403, 4883, 4420, 5140, 0, 0}, {5740, 8192, 20480, 0, 0, 0, 0}, {4381, 4386, 4626, 4437, 5397, 0, 0}, {5742, 8738, 17476, 0, 0, 0, 0}, {4111, 4144, 4864, 4176, 5376, 0, 0}, {5744, 0, 0, 0, 0, 0, 0}, {262, 273, 0, 0, 0, 0, 0}, {522, 546, 5200, 0, 0, 0, 0}, {780, 819, 5440, 0, 0, 0, 0}, {1036, 4656, 1092, 0, 0, 0, 0}, {1290, 4896, 1365, 0, 0, 0, 0}, {96, 1542, 4112, 0, 0, 0, 0}, {119, 1792, 4352, 0, 0, 0, 0}, {5752, 8704, 17408, 0, 0, 0, 0}, {4127, 4128, 4883, 4160, 5397, 0, 0}, {5754, 8224, 20560, 0, 0, 0, 0}, {4364, 4403, 4608, 4420, 5376, 0, 0}, {5756, 12336, 16448, 0, 0, 0, 0}, {4362, 4386, 4864, 4437, 5120, 0, 0}, {4120, 4144, 4626, 4176, 5140, 0, 0}, {5759, 13056, 21760, 0, 0, 0, 0}, {5760, 23040, 26112, 0, 0, 0, 0}, {23, 321, 1285, 4369, 0, 0, 0}, {522, 546, 5120, 0, 0, 0, 0}, {63, 771, 5440, 0, 0, 0, 0}, {1036, 4608, 1092, 0, 0, 0, 0}, {95, 4896, 1285, 0, 0, 0, 0}, {4128, 1542, 4160, 0, 0, 0, 0}, {1807, 119, 4352, 0, 0, 0, 0}, {136, 5632, 17408, 0, 0, 0, 0}, {95, 96, 771, 1285, 4112, 0, 0}, {5674, 8224, 20480, 0, 0, 0, 0}, {4364, 4403, 771, 4420, 5376, 0, 0}, {5708, 12288, 16448, 0, 0, 0, 0}, {4362, 4386, 4864, 4437, 1285, 0, 0}, {1036, 1060, 1542, 1092, 4096, 0, 0}, {3855, 5744, 21760, 0, 0, 0, 0}, {4144, 1536, 4176, 0, 0, 0, 0}, {1800, 119, 4369, 0, 0, 0, 0}, {1032, 4626, 1088, 0, 0, 0, 0}, {95, 4915, 1280, 0, 0, 0, 0}, {520, 544, 5140, 0, 0, 0, 0}, {63, 768, 5461, 0, 0, 0, 0}, {5782, 23130, 26214, 0, 0, 0, 0}, {23, 320, 1280, 4352, 0, 0, 0}, {1032, 1056, 1536, 1088, 4112, 0, 0}, {3840, 5734, 21845, 0, 0, 0, 0}, {5722, 12336, 16384, 0, 0, 0, 0}, {4379, 4403, 4883, 4420, 1280, 0, 0}, {5692, 8192, 20560, 0, 0, 0, 0}, {4381, 4386, 768, 4437, 5397, 0, 0}, {136, 5654, 17476, 0, 0, 0, 0}, {95, 96, 768, 1280, 4096, 0, 0}, {160, 5632, 20480, 0, 0, 0, 0}, {72, 119, 771, 1028, 4369, 0, 0}, {5674, 8738, 17408, 0, 0, 0, 0}, {4111, 4144, 771, 4176, 5376, 0, 0}, {4104, 4128, 4608, 4160, 1028, 0, 0}, {5722, 13056, 21845, 0, 0, 0, 0}, {3084, 5734, 16384, 0, 0, 0, 0}, {1295, 1319, 1799, 1360, 4352, 0, 0}, {520, 544, 5120, 0, 0, 0, 0}, {63, 771, 5461, 0, 0, 0, 0}, {5802, 19456, 28672, 0, 0, 0, 0}, {23, 340, 1028, 4112, 0, 0, 0}, {1548, 96, 4096, 0, 0, 0, 0}, {4386, 1799, 4437, 0, 0, 0, 0}, {72, 4642, 1028, 0, 0, 0, 0}, {1295, 4864, 1360, 0, 0, 0, 0}, {3072, 5744, 16448, 0, 0, 0, 0}, {1290, 1314, 1792, 1365, 4369, 0, 0}, {4120, 4144, 4626, 4176, 1024, 0, 0}, {5708, 13107, 21760, 0, 0, 0, 0}, {5692, 8704, 17476, 0, 0, 0, 0}, {4127, 4128, 768, 4160, 5397, 0, 0}, {160, 5654, 20560, 0, 0, 0, 0}, {72, 119, 768, 1024, 4352, 0, 0}, {72, 4656, 1024, 0, 0, 0, 0}, {1290, 4883, 1365, 0, 0, 0, 0}, {1546, 96, 4112, 0, 0, 0, 0}, {4403, 1792, 4420, 0, 0, 0, 0}, {5820, 19532, 28784, 0, 0, 0, 0}, {23, 341, 1024, 4096, 0, 0, 0}, {522, 546, 5140, 0, 0, 0, 0}, {63, 768, 5440, 0, 0, 0, 0}, {192, 5632, 16384, 0, 0, 0, 0}, {95, 119, 514, 1285, 4369, 0, 0}, {4104, 4128, 514, 4160, 5120, 0, 0}, {5692, 13107, 21760, 0, 0, 0, 0}, {5708, 8704, 17476, 0, 0, 0, 0}, {4111, 4144, 4864, 4176, 1285, 0, 0}, {2570, 5734, 20480, 0, 0, 0, 0}, {1032, 1079, 1799, 1088, 4352, 0, 0}, {1032, 4608, 1088, 0, 0, 0, 0}, {95, 4915, 1285, 0, 0, 0, 0}, {1546, 96, 4096, 0, 0, 0, 0}, {4403, 1799, 4420, 0, 0, 0, 0}, {5836, 23040, 28672, 0, 0, 0, 0}, {23, 325, 1285, 4112, 0, 0, 0}, {40, 514, 5188, 0, 0, 0, 0}, {783, 816, 5376, 0, 0, 0, 0}, {2560, 5744, 20560, 0, 0, 0, 0}, {1036, 1075, 1792, 1092, 4369, 0, 0}, {5722, 8738, 17408, 0, 0, 0, 0}, {4127, 4128, 4883, 4160, 1280, 0, 0}, {4120, 4144, 512, 4176, 5140, 0, 0}, {5674, 13056, 21845, 0, 0, 0, 0}, {192, 5654, 16448, 0, 0, 0, 0}, {95, 119, 512, 1280, 4352, 0, 0}, {40, 512, 5200, 0, 0, 0, 0}, {780, 819, 5397, 0, 0, 0, 0}, {5850, 23130, 28784, 0, 0, 0, 0}, {23, 324, 1280, 4096, 0, 0, 0}, {1548, 96, 4112, 0, 0, 0, 0}, {4386, 1792, 4437, 0, 0, 0, 0}, {1036, 4626, 1092, 0, 0, 0, 0}, {95, 4896, 1280, 0, 0, 0, 0}, {4128, 1536, 4160, 0, 0, 0, 0}, {1807, 119, 4369, 0, 0, 0, 0}, {72, 4642, 1024, 0, 0, 0, 0}, {1295, 4883, 1360, 0, 0, 0, 0}, {40, 512, 5188, 0, 0, 0, 0}, {783, 816, 5397, 0, 0, 0, 0}, {5862, 19532, 26214, 0, 0, 0, 0}, {23, 336, 1024, 4352, 0, 0, 0}, {72, 96, 512, 1024, 4096, 0, 0}, {255, 5654, 21845, 0, 0, 0, 0}, {5674, 12288, 16448, 0, 0, 0, 0}, {4379, 4403, 512, 4420, 5140, 0, 0}, {5708, 8224, 20480, 0, 0, 0, 0}, {4381, 4386, 4626, 4437, 1024, 0, 0}, {2048, 5734, 17476, 0, 0, 0, 0}, {1295, 1328, 1536, 1360, 4112, 0, 0}, {5872, 19456, 26112, 0, 0, 0, 0}, {23, 337, 1028, 4369, 0, 0, 0}, {40, 514, 5200, 0, 0, 0, 0}, {780, 819, 5376, 0, 0, 0, 0}, {72, 4656, 1028, 0, 0, 0, 0}, {1290, 4864, 1365, 0, 0, 0, 0}, {4144, 1542, 4176, 0, 0, 0, 0}, {1800, 119, 4352, 0, 0, 0, 0}, {2056, 5744, 17408, 0, 0, 0, 0}, {1290, 1333, 1542, 1365, 4096, 0, 0}, {5722, 8192, 20560, 0, 0, 0, 0}, {4364, 4403, 4608, 4420, 1028, 0, 0}, {5692, 12336, 16384, 0, 0, 0, 0}, {4362, 4386, 514, 4437, 5120, 0, 0}, {72, 96, 514, 1028, 4112, 0, 0}, {255, 5632, 21760, 0, 0, 0, 0}, {5888, 0, 0, 0, 0, 0, 0}, {22, 257, 0, 0, 0, 0, 0}, {42, 514, 5376, 0, 0, 0, 0}, {60, 771, 5120, 0, 0, 0, 0}, {76, 4864, 1028, 0, 0, 0, 0}, {90, 4608, 1285, 0, 0, 0, 0}, {102, 1542, 4352, 0, 0, 0, 0}, {112, 1799, 4096, 0, 0, 0, 0}, {5896, 8192, 16384, 0, 0, 0, 0}, {4367, 4403, 771, 4437, 1285, 0, 0}, {5898, 8704, 21760, 0, 0, 0, 0}, {4108, 4144, 771, 4160, 1028, 0, 0}, {5900, 13056, 17408, 0, 0, 0, 0}, {4106, 4128, 514, 4176, 1285, 0, 0}, {4360, 4386, 514, 4420, 1028, 0, 0}, {5903, 12288, 20480, 0, 0, 0, 0}, {112, 1792, 4112, 0, 0, 0, 0}, {102, 1536, 4369, 0, 0, 0, 0}, {90, 4626, 1280, 0, 0, 0, 0}, {76, 4883, 1024, 0, 0, 0, 0}, {60, 768, 5140, 0, 0, 0, 0}, {42, 512, 5397, 0, 0, 0, 0}, {22, 256, 0, 0, 0, 0, 0}, {5911, 0, 0, 0, 0, 0, 0}, {5912, 12336, 20560, 0, 0, 0, 0}, {4377, 4403, 512, 4437, 1024, 0, 0}, {4122, 4144, 512, 4160, 1280, 0, 0}, {5915, 13107, 17476, 0, 0, 0, 0}, {4124, 4128, 768, 4176, 1024, 0, 0}, {5917, 8738, 21845, 0, 0, 0, 0}, {4382, 4386, 768, 4420, 1280, 0, 0}, {5919, 8224, 16448, 0, 0, 0, 0}, {2048, 5920, 16384, 0, 0, 0, 0}, {1295, 1331, 771, 1365, 4369, 0, 0}, {2560, 5922, 21760, 0, 0, 0, 0}, {1036, 1072, 771, 1088, 4112, 0, 0}, {3084, 5924, 17476, 0, 0, 0, 0}, {1295, 1317, 512, 1365, 4096, 0, 0}, {1036, 1062, 512, 1088, 4352, 0, 0}, {3855, 5927, 20560, 0, 0, 0, 0}, {5928, 0, 0, 0, 0, 0, 0}, {259, 277, 0, 0, 0, 0, 0}, {42, 512, 5376, 0, 0, 0, 0}, {60, 771, 5140, 0, 0, 0, 0}, {1036, 4896, 1088, 0, 0, 0, 0}, {1295, 4642, 1365, 0, 0, 0, 0}, {1548, 4386, 4420, 0, 0, 0, 0}, {1807, 4128, 4176, 0, 0, 0, 0}, {3840, 5936, 20480, 0, 0, 0, 0}, {1032, 1058, 514, 1092, 4369, 0, 0}, {1290, 1312, 514, 1360, 4112, 0, 0}, {3072, 5939, 17408, 0, 0, 0, 0}, {1032, 1076, 768, 1092, 4096, 0, 0}, {2570, 5941, 21845, 0, 0, 0, 0}, {1290, 1334, 768, 1360, 4352, 0, 0}, {2056, 5943, 16448, 0, 0, 0, 0}, {1800, 4144, 4160, 0, 0, 0, 0}, {1546, 4403, 4437, 0, 0, 0, 0}, {1290, 4656, 1360, 0, 0, 0, 0}, {1032, 4915, 1092, 0, 0, 0, 0}, {60, 768, 5120, 0, 0, 0, 0}, {42, 514, 5397, 0, 0, 0, 0}, {258, 276, 0, 0, 0, 0, 0}, {5951, 0, 0, 0, 0, 0, 0}, {128, 5952, 16448, 0, 0, 0, 0}, {90, 102, 853, 1285, 4369, 0, 0}, {170, 5954, 21760, 0, 0, 0, 0}, {76, 112, 835, 1024, 4096, 0, 0}, {204, 5956, 17476, 0, 0, 0, 0}, {90, 112, 592, 1285, 4112, 0, 0}, {76, 102, 582, 1024, 4352, 0, 0}, {240, 5959, 20480, 0, 0, 0, 0}, {5960, 0, 0, 0, 0, 0, 0}, {275, 261, 0, 0, 0, 0, 0}, {522, 544, 5440, 0, 0, 0, 0}, {783, 819, 5188, 0, 0, 0, 0}, {76, 4864, 1024, 0, 0, 0, 0}, {90, 4626, 1285, 0, 0, 0, 0}, {1546, 4386, 4420, 0, 0, 0, 0}, {1807, 4144, 4160, 0, 0, 0, 0}, {240, 5968, 20560, 0, 0, 0, 0}, {76, 102, 580, 1028, 4369, 0, 0}, {90, 112, 594, 1280, 4096, 0, 0}, {204, 5971, 17408, 0, 0, 0, 0}, {76, 112, 832, 1028, 4112, 0, 0}, {170, 5973, 21845, 0, 0, 0, 0}, {90, 102, 854, 1280, 4352, 0, 0}, {128, 5975, 16384, 0, 0, 0, 0}, {1800, 4128, 4176, 0, 0, 0, 0}, {1548, 4403, 4437, 0, 0, 0, 0}, {90, 4608, 1280, 0, 0, 0, 0}, {76, 4883, 1028, 0, 0, 0, 0}, {780, 816, 5200, 0, 0, 0, 0}, {520, 546, 5461, 0, 0, 0, 0}, {274, 260, 0, 0, 0, 0, 0}, {5983, 0, 0, 0, 0, 0, 0}, {5984, 0, 0, 0, 0, 0, 0}, {263, 273, 0, 0, 0, 0, 0}, {520, 546, 5440, 0, 0, 0, 0}, {783, 819, 5200, 0, 0, 0, 0}, {1032, 4896, 1092, 0, 0, 0, 0}, {1295, 4656, 1365, 0, 0, 0, 0}, {102, 1536, 4352, 0, 0, 0, 0}, {112, 1799, 4112, 0, 0, 0, 0}, {5992, 8224, 16448, 0, 0, 0, 0}, {4367, 4403, 4608, 4437, 5120, 0, 0}, {5994, 8704, 21760, 0, 0, 0, 0}, {4124, 4128, 4883, 4176, 5140, 0, 0}, {5996, 13056, 17408, 0, 0, 0, 0}, {4122, 4144, 4626, 4160, 5397, 0, 0}, {4360, 4386, 4864, 4420, 5376, 0, 0}, {5999, 12336, 20560, 0, 0, 0, 0}, {112, 1792, 4096, 0, 0, 0, 0}, {102, 1542, 4369, 0, 0, 0, 0}, {1290, 4642, 1360, 0, 0, 0, 0}, {1036, 4915, 1088, 0, 0, 0, 0}, {780, 816, 5188, 0, 0, 0, 0}, {522, 544, 5461, 0, 0, 0, 0}, {262, 272, 0, 0, 0, 0, 0}, {6007, 0, 0, 0, 0, 0, 0}, {6008, 12288, 20480, 0, 0, 0, 0}, {4377, 4403, 4883, 4437, 5397, 0, 0}, {4106, 4128, 4608, 4176, 5376, 0, 0}, {6011, 13107, 17476, 0, 0, 0, 0}, {4108, 4144, 4864, 4160, 5120, 0, 0}, {6013, 8738, 21845, 0, 0, 0, 0}, {4382, 4386, 4626, 4420, 5140, 0, 0}, {6015, 8192, 16384, 0, 0, 0, 0}, {128, 5888, 16384, 0, 0, 0, 0}, {90, 102, 771, 1285, 4369, 0, 0}, {5928, 8738, 21760, 0, 0, 0, 0}, {4108, 4144, 771, 4160, 5120, 0, 0}, {5960, 13056, 17476, 0, 0, 0, 0}, {4106, 4128, 4608, 4176, 1285, 0, 0}, {1036, 1062, 1542, 1088, 4352, 0, 0}, {3855, 6007, 20480, 0, 0, 0, 0}, {6024, 24320, 24576, 0, 0, 0, 0}, {22, 325, 1285, 4112, 0, 0, 0}, {522, 544, 5376, 0, 0, 0, 0}, {60, 771, 5188, 0, 0, 0, 0}, {1036, 4864, 1088, 0, 0, 0, 0}, {90, 4642, 1285, 0, 0, 0, 0}, {4386, 1542, 4420, 0, 0, 0, 0}, {1807, 112, 4096, 0, 0, 0, 0}, {3840, 5984, 20560, 0, 0, 0, 0}, {1032, 1058, 1536, 1092, 4369, 0, 0}, {4122, 4144, 4626, 4160, 1280, 0, 0}, {5983, 13107, 17408, 0, 0, 0, 0}, {4124, 4128, 768, 4176, 5140, 0, 0}, {5951, 8704, 21845, 0, 0, 0, 0}, {90, 102, 768, 1280, 4352, 0, 0}, {128, 5911, 16448, 0, 0, 0, 0}, {1800, 112, 4112, 0, 0, 0, 0}, {4403, 1536, 4437, 0, 0, 0, 0}, {90, 4656, 1280, 0, 0, 0, 0}, {1032, 4883, 1092, 0, 0, 0, 0}, {60, 768, 5200, 0, 0, 0, 0}, {520, 546, 5397, 0, 0, 0, 0}, {22, 324, 1280, 4096, 0, 0, 0}, {6047, 24415, 24672, 0, 0, 0, 0}, {6048, 18432, 30464, 0, 0, 0, 0}, {22, 337, 1028, 4369, 0, 0, 0}, {520, 546, 5376, 0, 0, 0, 0}, {60, 771, 5200, 0, 0, 0, 0}, {76, 4896, 1028, 0, 0, 0, 0}, {1295, 4608, 1365, 0, 0, 0, 0}, {1548, 102, 4352, 0, 0, 0, 0}, {4128, 1799, 4176, 0, 0, 0, 0}, {5928, 8224, 16384, 0, 0, 0, 0}, {4367, 4403, 771, 4437, 5120, 0, 0}, {170, 5888, 21760, 0, 0, 0, 0}, {76, 112, 771, 1028, 4112, 0, 0}, {3084, 5984, 17408, 0, 0, 0, 0}, {1295, 1317, 1799, 1365, 4096, 0, 0}, {4360, 4386, 4864, 4420, 1028, 0, 0}, {5983, 12288, 20560, 0, 0, 0, 0}, {4144, 1792, 4160, 0, 0, 0, 0}, {1546, 102, 4369, 0, 0, 0, 0}, {1290, 4626, 1360, 0, 0, 0, 0}, {76, 4915, 1024, 0, 0, 0, 0}, {60, 768, 5188, 0, 0, 0, 0}, {522, 544, 5397, 0, 0, 0, 0}, {22, 336, 1024, 4352, 0, 0, 0}, {6071, 18504, 30583, 0, 0, 0, 0}, {5960, 12336, 20480, 0, 0, 0, 0}, {4377, 4403, 4883, 4437, 1024, 0, 0}, {1290, 1312, 1792, 1360, 4112, 0, 0}, {3072, 6007, 17476, 0, 0, 0, 0}, {76, 112, 768, 1024, 4096, 0, 0}, {170, 5911, 21845, 0, 0, 0, 0}, {4382, 4386, 768, 4420, 5140, 0, 0}, {5951, 8192, 16448, 0, 0, 0, 0}, {6080, 24320, 30464, 0, 0, 0, 0}, {22, 321, 1285, 4369, 0, 0, 0}, {42, 514, 5440, 0, 0, 0, 0}, {783, 819, 5120, 0, 0, 0, 0}, {1032, 4864, 1092, 0, 0, 0, 0}, {90, 4656, 1285, 0, 0, 0, 0}, {1546, 102, 4352, 0, 0, 0, 0}, {4144, 1799, 4160, 0, 0, 0, 0}, {5960, 8192, 16448, 0, 0, 0, 0}, {4367, 4403, 4608, 4437, 1285, 0, 0}, {2570, 5984, 21760, 0, 0, 0, 0}, {1032, 1076, 1799, 1092, 4096, 0, 0}, {204, 5888, 17408, 0, 0, 0, 0}, {90, 112, 514, 1285, 4112, 0, 0}, {4360, 4386, 514, 4420, 5376, 0, 0}, {5951, 12336, 20480, 0, 0, 0, 0}, {4128, 1792, 4176, 0, 0, 0, 0}, {1548, 102, 4369, 0, 0, 0, 0}, {90, 4642, 1280, 0, 0, 0, 0}, {1036, 4883, 1088, 0, 0, 0, 0}, {780, 816, 5140, 0, 0, 0, 0}, {42, 512, 5461, 0, 0, 0, 0}, {22, 320, 1280, 4352, 0, 0, 0}, {6103, 24415, 30583, 0, 0, 0, 0}, {5928, 12288, 20560, 0, 0, 0, 0}, {4377, 4403, 512, 4437, 5397, 0, 0}, {90, 112, 512, 1280, 4096, 0, 0}, {204, 5911, 17476, 0, 0, 0, 0}, {1036, 1072, 1792, 1088, 4112, 0, 0}, {2560, 6007, 21845, 0, 0, 0, 0}, {4382, 4386, 4626, 4420, 1280, 0, 0}, {5983, 8224, 16384, 0, 0, 0, 0}, {2048, 5984, 16448, 0, 0, 0, 0}, {1295, 1331, 1536, 1365, 4369, 0, 0}, {5960, 8738, 21760, 0, 0, 0, 0}, {4124, 4128, 4883, 4176, 1024, 0, 0}, {5928, 13056, 17476, 0, 0, 0, 0}, {4122, 4144, 512, 4160, 5397, 0, 0}, {76, 102, 512, 1024, 4352, 0, 0}, {240, 5911, 20560, 0, 0, 0, 0}, {6120, 18504, 24672, 0, 0, 0, 0}, {22, 341, 1024, 4096, 0, 0, 0}, {42, 512, 5440, 0, 0, 0, 0}, {783, 819, 5140, 0, 0, 0, 0}, {76, 4896, 1024, 0, 0, 0, 0}, {1295, 4626, 1365, 0, 0, 0, 0}, {4386, 1536, 4420, 0, 0, 0, 0}, {1807, 112, 4112, 0, 0, 0, 0}, {240, 5888, 20480, 0, 0, 0, 0}, {76, 102, 514, 1028, 4369, 0, 0}, {4106, 4128, 514, 4176, 5376, 0, 0}, {5951, 13107, 17408, 0, 0, 0, 0}, {4108, 4144, 4864, 4160, 1028, 0, 0}, {5983, 8704, 21845, 0, 0, 0, 0}, {1290, 1334, 1542, 1360, 4352, 0, 0}, {2056, 6007, 16384, 0, 0, 0, 0}, {1800, 112, 4096, 0, 0, 0, 0}, {4403, 1542, 4437, 0, 0, 0, 0}, {1290, 4608, 1360, 0, 0, 0, 0}, {76, 4915, 1028, 0, 0, 0, 0}, {780, 816, 5120, 0, 0, 0, 0}, {42, 514, 5461, 0, 0, 0, 0}, {22, 340, 1028, 4112, 0, 0, 0}, {6143, 18432, 24576, 0, 0, 0, 0}, {6144, 12288, 20480, 0, 0, 0, 0}, {25, 51, 85, 257, 0, 0, 0}, {4106, 4128, 514, 16384, 0, 0, 0}, {5135, 51, 771, 17408, 0, 0, 0}, {4108, 8192, 4160, 1028, 0, 0, 0}, {4623, 8704, 85, 1285, 0, 0, 0}, {5130, 102, 1542, 17408, 0, 0, 0}, {4111, 4208, 1799, 16384, 0, 0, 0}, {128, 2056, 4096, 0, 0, 0, 0}, {51, 771, 85, 1285, 4352, 0, 0}, {20490, 4608, 0, 0, 0, 0, 0}, {4099, 1028, 0, 0, 0, 0, 0}, {12300, 5120, 0, 0, 0, 0, 0}, {514, 4101, 0, 0, 0, 0, 0}, {4102, 1028, 0, 0, 0, 0, 0}, {20495, 5888, 0, 0, 0, 0, 0}, {128, 2048, 4112, 0, 0, 0, 0}, {51, 768, 85, 1280, 4369, 0, 0}, {20570, 4626, 0, 0, 0, 0, 0}, {4115, 1024, 0, 0, 0, 0, 0}, {12348, 5140, 0, 0, 0, 0, 0}, {512, 4117, 0, 0, 0, 0, 0}, {4118, 1024, 0, 0, 0, 0, 0}, {20575, 5911, 0, 0, 0, 0, 0}, {6168, 12336, 20560, 0, 0, 0, 0}, {25, 51, 85, 256, 0, 0, 0}, {4122, 4144, 512, 16448, 0, 0, 0}, {5147, 51, 768, 17476, 0, 0, 0}, {4124, 8224, 4176, 1024, 0, 0, 0}, {4637, 8738, 85, 1280, 0, 0, 0}, {5150, 102, 1536, 17476, 0, 0, 0}, {4127, 4192, 1792, 16448, 0, 0, 0}, {2048, 4128, 16384, 0, 0, 0, 0}, {1295, 51, 771, 85, 4369, 0, 0}, {2560, 4642, 20480, 0, 0, 0, 0}, {1036, 51, 771, 1088, 4112, 0, 0}, {5160, 9252, 17476, 0, 0, 0, 0}, {4111, 4133, 512, 85, 5376, 0, 0}, {4108, 4134, 512, 4160, 5120, 0, 0}, {5928, 10023, 20560, 0, 0, 0, 0}, {20640, 6184, 12288, 0, 0, 0, 0}, {259, 85, 1045, 4352, 0, 0, 0}, {42, 512, 4096, 0, 0, 0, 0}, {51, 771, 5140, 0, 0, 0, 0}, {1036, 5152, 1088, 0, 0, 0, 0}, {1295, 5922, 85, 0, 0, 0, 0}, {1548, 5154, 5188, 0, 0, 0, 0}, {1807, 5920, 4176, 0, 0, 0, 0}, {20720, 6192, 12336, 0, 0, 0, 0}, {258, 85, 1041, 4369, 0, 0, 0}, {42, 514, 4112, 0, 0, 0, 0}, {51, 768, 5120, 0, 0, 0, 0}, {1032, 5172, 1092, 0, 0, 0, 0}, {1290, 5941, 85, 0, 0, 0, 0}, {1546, 5174, 5200, 0, 0, 0, 0}, {1800, 5943, 4160, 0, 0, 0, 0}, {2056, 4144, 16448, 0, 0, 0, 0}, {1290, 51, 768, 85, 4352, 0, 0}, {2570, 4656, 20560, 0, 0, 0, 0}, {1032, 51, 768, 1092, 4096, 0, 0}, {5180, 9216, 17408, 0, 0, 0, 0}, {4127, 4149, 514, 85, 5397, 0, 0}, {4124, 4150, 514, 4176, 5140, 0, 0}, {5951, 9984, 20480, 0, 0, 0, 0}, {2048, 8192, 4160, 0, 0, 0, 0}, {783, 51, 85, 1285, 4369, 0, 0}, {20490, 16962, 0, 0, 0, 0, 0}, {4163, 1024, 0, 0, 0, 0, 0}, {3072, 12288, 5188, 0, 0, 0, 0}, {522, 544, 85, 1285, 4112, 0, 0}, {4166, 1024, 0, 0, 0, 0, 0}, {20495, 18247, 0, 0, 0, 0, 0}, {12480, 6216, 20480, 0, 0, 0, 0}, {51, 531, 261, 4352, 0, 0, 0}, {4170, 4192, 4672, 16448, 0, 0, 0}, {5195, 51, 5956, 17476, 0, 0, 0}, {76, 1024, 4096, 0, 0, 0, 0}, {4626, 85, 1285, 0, 0, 0, 0}, {5198, 102, 4676, 17476, 0, 0, 0}, {4175, 4144, 5952, 16448, 0, 0, 0}, {12528, 6224, 20560, 0, 0, 0, 0}, {51, 529, 260, 4369, 0, 0, 0}, {4186, 4208, 4690, 16384, 0, 0, 0}, {5215, 51, 5971, 17408, 0, 0, 0}, {76, 1028, 4112, 0, 0, 0, 0}, {4608, 85, 1280, 0, 0, 0, 0}, {5210, 102, 4694, 17408, 0, 0, 0}, {4191, 4128, 5975, 16384, 0, 0, 0}, {2056, 8224, 4176, 0, 0, 0, 0}, {780, 51, 85, 1280, 4352, 0, 0}, {20570, 16896, 0, 0, 0, 0, 0}, {4179, 1028, 0, 0, 0, 0, 0}, {3084, 12336, 5200, 0, 0, 0, 0}, {520, 546, 85, 1280, 4096, 0, 0}, {4182, 1028, 0, 0, 0, 0, 0}, {20575, 18176, 0, 0, 0, 0, 0}, {20640, 6240, 24672, 0, 0, 0, 0}, {263, 85, 1041, 4369, 0, 0, 0}, {520, 546, 4160, 0, 0, 0, 0}, {783, 51, 5200, 0, 0, 0, 0}, {1032, 4128, 1092, 0, 0, 0, 0}, {1295, 4656, 85, 0, 0, 0, 0}, {102, 4608, 5120, 0, 0, 0, 0}, {127, 1799, 4112, 0, 0, 0, 0}, {2056, 4192, 16448, 0, 0, 0, 0}, {1295, 51, 1536, 85, 4352, 0, 0}, {4714, 8704, 20480, 0, 0, 0, 0}, {4124, 51, 4883, 4176, 5140, 0, 0}, {5228, 12288, 17408, 0, 0, 0, 0}, {4122, 4144, 4626, 85, 5397, 0, 0}, {1032, 1058, 1536, 1092, 4096, 0, 0}, {3855, 5984, 20560, 0, 0, 0, 0}, {2048, 4208, 16384, 0, 0, 0, 0}, {1290, 51, 1542, 85, 4369, 0, 0}, {4728, 8738, 20560, 0, 0, 0, 0}, {4108, 51, 4864, 4160, 5120, 0, 0}, {5240, 12336, 17476, 0, 0, 0, 0}, {4106, 4128, 4608, 85, 5376, 0, 0}, {1036, 1062, 1542, 1088, 4112, 0, 0}, {3840, 6007, 20480, 0, 0, 0, 0}, {20720, 6264, 24576, 0, 0, 0, 0}, {262, 85, 1045, 4352, 0, 0, 0}, {522, 544, 4176, 0, 0, 0, 0}, {780, 51, 5188, 0, 0, 0, 0}, {1036, 4144, 1088, 0, 0, 0, 0}, {1290, 4642, 85, 0, 0, 0, 0}, {102, 4626, 5140, 0, 0, 0, 0}, {127, 1792, 4096, 0, 0, 0, 0}, {128, 2048, 4096, 0, 0, 0, 0}, {51, 771, 85, 1285, 4369, 0, 0}, {20490, 4642, 0, 0, 0, 0, 0}, {4099, 1088, 0, 0, 0, 0, 0}, {12300, 5188, 0, 0, 0, 0, 0}, {544, 4101, 0, 0, 0, 0, 0}, {4102, 1088, 0, 0, 0, 0, 0}, {20495, 6007, 0, 0, 0, 0, 0}, {6280, 12288, 20480, 0, 0, 0, 0}, {265, 771, 1285, 272, 0, 0, 0}, {4106, 4128, 4608, 16384, 0, 0, 0}, {5195, 51, 771, 17476, 0, 0, 0}, {4108, 8192, 4160, 5120, 0, 0, 0}, {4653, 8738, 85, 1285, 0, 0, 0}, {5198, 102, 1542, 17476, 0, 0, 0}, {4111, 4208, 5888, 16384, 0, 0, 0}, {6288, 12336, 20560, 0, 0, 0, 0}, {264, 768, 1280, 273, 0, 0, 0}, {4122, 4144, 4626, 16448, 0, 0, 0}, {5215, 51, 768, 17408, 0, 0, 0}, {4124, 8224, 4176, 5140, 0, 0, 0}, {4671, 8704, 85, 1280, 0, 0, 0}, {5210, 102, 1536, 17408, 0, 0, 0}, {4127, 4192, 5911, 16448, 0, 0, 0}, {128, 2056, 4112, 0, 0, 0, 0}, {51, 768, 85, 1280, 4352, 0, 0}, {20570, 4656, 0, 0, 0, 0, 0}, {4115, 1092, 0, 0, 0, 0, 0}, {12348, 5200, 0, 0, 0, 0, 0}, {546, 4117, 0, 0, 0, 0, 0}, {4118, 1092, 0, 0, 0, 0, 0}, {20575, 5984, 0, 0, 0, 0, 0}, {20640, 18432, 12288, 0, 0, 0, 0}, {274, 85, 1028, 4369, 0, 0, 0}, {520, 546, 4096, 0, 0, 0, 0}, {51, 771, 5200, 0, 0, 0, 0}, {76, 4192, 1028, 0, 0, 0, 0}, {1295, 5888, 85, 0, 0, 0, 0}, {4620, 102, 5120, 0, 0, 0, 0}, {4143, 1799, 4176, 0, 0, 0, 0}, {2056, 4128, 16384, 0, 0, 0, 0}, {1295, 51, 771, 85, 4352, 0, 0}, {170, 4608, 20480, 0, 0, 0, 0}, {76, 51, 771, 1028, 4112, 0, 0}, {5228, 9312, 17408, 0, 0, 0, 0}, {4111, 4133, 4615, 85, 5376, 0, 0}, {4108, 4134, 4612, 4160, 1028, 0, 0}, {5983, 10064, 20560, 0, 0, 0, 0}, {2048, 4144, 16448, 0, 0, 0, 0}, {1290, 51, 768, 85, 4369, 0, 0}, {170, 4626, 20560, 0, 0, 0, 0}, {76, 51, 768, 1024, 4096, 0, 0}, {5240, 9284, 17476, 0, 0, 0, 0}, {4127, 4149, 4629, 85, 5397, 0, 0}, {4124, 4150, 4630, 4176, 1024, 0, 0}, {5960, 10103, 20480, 0, 0, 0, 0}, {20720, 18504, 12336, 0, 0, 0, 0}, {275, 85, 1024, 4352, 0, 0, 0}, {522, 544, 4112, 0, 0, 0, 0}, {51, 768, 5188, 0, 0, 0, 0}, {76, 4208, 1024, 0, 0, 0, 0}, {1290, 5911, 85, 0, 0, 0, 0}, {4638, 102, 5140, 0, 0, 0, 0}, {4159, 1792, 4160, 0, 0, 0, 0}, {12480, 10240, 20480, 0, 0, 0, 0}, {51, 514, 276, 4369, 0, 0, 0}, {4170, 4192, 514, 16448, 0, 0, 0}, {5135, 51, 5888, 17408, 0, 0, 0}, {1032, 1092, 4096, 0, 0, 0, 0}, {4656, 85, 1285, 0, 0, 0, 0}, {5130, 102, 4608, 17408, 0, 0, 0}, {4175, 4144, 1799, 16448, 0, 0, 0}, {2056, 8192, 4160, 0, 0, 0, 0}, {783, 51, 85, 1285, 4352, 0, 0}, {20490, 16992, 0, 0, 0, 0, 0}, {5127, 1092, 0, 0, 0, 0, 0}, {204, 12288, 5120, 0, 0, 0, 0}, {42, 514, 85, 1285, 4112, 0, 0}, {5122, 1092, 0, 0, 0, 0, 0}, {20495, 18224, 0, 0, 0, 0, 0}, {2048, 8224, 4176, 0, 0, 0, 0}, {780, 51, 85, 1280, 4369, 0, 0}, {20570, 16930, 0, 0, 0, 0, 0}, {5139, 1088, 0, 0, 0, 0, 0}, {204, 12336, 5140, 0, 0, 0, 0}, {42, 512, 85, 1280, 4096, 0, 0}, {5142, 1088, 0, 0, 0, 0, 0}, {20575, 18295, 0, 0, 0, 0, 0}, {12528, 10280, 20560, 0, 0, 0, 0}, {51, 512, 277, 4352, 0, 0, 0}, {4186, 4208, 512, 16384, 0, 0, 0}, {5147, 51, 5911, 17476, 0, 0, 0}, {1036, 1088, 4112, 0, 0, 0, 0}, {4642, 85, 1280, 0, 0, 0, 0}, {5150, 102, 4626, 17476, 0, 0, 0}, {4191, 4128, 1792, 16384, 0, 0, 0}, {2048, 4192, 16448, 0, 0, 0, 0}, {1295, 51, 1536, 85, 4369, 0, 0}, {4680, 8738, 20480, 0, 0, 0, 0}, {4124, 51, 4883, 4176, 1024, 0, 0}, {5160, 12288, 17476, 0, 0, 0, 0}, {4122, 4144, 512, 85, 5397, 0, 0}, {76, 102, 512, 1024, 4096, 0, 0}, {255, 5911, 20560, 0, 0, 0, 0}, {20640, 18504, 24672, 0, 0, 0, 0}, {278, 85, 1024, 4352, 0, 0, 0}, {42, 512, 4160, 0, 0, 0, 0}, {783, 51, 5140, 0, 0, 0, 0}, {76, 4128, 1024, 0, 0, 0, 0}, {1295, 4626, 85, 0, 0, 0, 0}, {5154, 1536, 5188, 0, 0, 0, 0}, {1807, 1904, 4112, 0, 0, 0, 0}, {20720, 18432, 24576, 0, 0, 0, 0}, {279, 85, 1028, 4369, 0, 0, 0}, {42, 514, 4176, 0, 0, 0, 0}, {780, 51, 5120, 0, 0, 0, 0}, {76, 4144, 1028, 0, 0, 0, 0}, {1290, 4608, 85, 0, 0, 0, 0}, {5174, 1542, 5200, 0, 0, 0, 0}, {1800, 1911, 4096, 0, 0, 0, 0}, {2056, 4208, 16384, 0, 0, 0, 0}, {1290, 51, 1542, 85, 4352, 0, 0}, {4698, 8704, 20560, 0, 0, 0, 0}, {4108, 51, 4864, 4160, 1028, 0, 0}, {5180, 12336, 17408, 0, 0, 0, 0}, {4106, 4128, 514, 85, 5376, 0, 0}, {76, 102, 514, 1028, 4112, 0, 0}, {255, 5888, 20480, 0, 0, 0, 0}, {6400, 13056, 21760, 0, 0, 0, 0}, {24, 48, 80, 257, 0, 0, 0}, {4362, 4386, 514, 17408, 0, 0, 0}, {5391, 48, 771, 16384, 0, 0, 0}, {4364, 8704, 4420, 1028, 0, 0, 0}, {4879, 8192, 80, 1285, 0, 0, 0}, {5386, 96, 1542, 16384, 0, 0, 0}, {4367, 4471, 1799, 17408, 0, 0, 0}, {136, 2056, 4352, 0, 0, 0, 0}, {48, 771, 80, 1285, 4096, 0, 0}, {21770, 4864, 0, 0, 0, 0, 0}, {4355, 1028, 0, 0, 0, 0, 0}, {13068, 5376, 0, 0, 0, 0, 0}, {514, 4357, 0, 0, 0, 0, 0}, {4358, 1028, 0, 0, 0, 0, 0}, {21775, 5632, 0, 0, 0, 0, 0}, {48, 768, 80, 1280, 4112, 0, 0}, {136, 2048, 4369, 0, 0, 0, 0}, {4370, 1024, 0, 0, 0, 0, 0}, {21855, 4883, 0, 0, 0, 0, 0}, {512, 4372, 0, 0, 0, 0, 0}, {13119, 5397, 0, 0, 0, 0, 0}, {21850, 5654, 0, 0, 0, 0, 0}, {4375, 1024, 0, 0, 0, 0, 0}, {24, 48, 80, 256, 0, 0, 0}, {6425, 13107, 21845, 0, 0, 0, 0}, {5402, 48, 768, 16448, 0, 0, 0}, {4379, 4403, 512, 17476, 0, 0, 0}, {4892, 8224, 80, 1280, 0, 0, 0}, {4381, 8738, 4437, 1024, 0, 0, 0}, {4382, 4454, 1792, 17476, 0, 0, 0}, {5407, 96, 1536, 16448, 0, 0, 0}, {2560, 4896, 21760, 0, 0, 0, 0}, {1036, 48, 771, 1092, 4369, 0, 0}, {2048, 4386, 17408, 0, 0, 0, 0}, {1295, 48, 771, 80, 4112, 0, 0}, {4364, 4388, 512, 4420, 5376, 0, 0}, {5674, 9509, 21845, 0, 0, 0, 0}, {5418, 9766, 16448, 0, 0, 0, 0}, {4367, 4391, 512, 80, 5120, 0, 0}, {40, 512, 4352, 0, 0, 0, 0}, {48, 771, 5397, 0, 0, 0, 0}, {21930, 6442, 13056, 0, 0, 0, 0}, {259, 80, 1044, 4096, 0, 0, 0}, {1548, 5408, 5440, 0, 0, 0, 0}, {1807, 5666, 4437, 0, 0, 0, 0}, {1036, 5410, 1092, 0, 0, 0, 0}, {1295, 5664, 80, 0, 0, 0, 0}, {48, 768, 5376, 0, 0, 0, 0}, {40, 514, 4369, 0, 0, 0, 0}, {258, 80, 1040, 4112, 0, 0, 0}, {22015, 6451, 13107, 0, 0, 0, 0}, {1800, 5684, 4420, 0, 0, 0, 0}, {1546, 5429, 5461, 0, 0, 0, 0}, {1290, 5686, 80, 0, 0, 0, 0}, {1032, 5431, 1088, 0, 0, 0, 0}, {1032, 48, 768, 1088, 4352, 0, 0}, {2570, 4915, 21845, 0, 0, 0, 0}, {1290, 48, 768, 80, 4096, 0, 0}, {2056, 4403, 17476, 0, 0, 0, 0}, {5692, 9472, 21760, 0, 0, 0, 0}, {4381, 4405, 514, 4437, 5397, 0, 0}, {4382, 4406, 514, 80, 5140, 0, 0}, {5439, 9728, 16384, 0, 0, 0, 0}, {3072, 13056, 5440, 0, 0, 0, 0}, {522, 546, 80, 1285, 4369, 0, 0}, {4418, 1024, 0, 0, 0, 0, 0}, {21775, 17219, 0, 0, 0, 0, 0}, {2048, 8704, 4420, 0, 0, 0, 0}, {783, 48, 80, 1285, 4112, 0, 0}, {21770, 17990, 0, 0, 0, 0, 0}, {4423, 1024, 0, 0, 0, 0, 0}, {72, 1024, 4352, 0, 0, 0, 0}, {4883, 80, 1285, 0, 0, 0, 0}, {5450, 96, 4928, 16448, 0, 0, 0}, {4427, 4403, 5700, 17476, 0, 0, 0}, {13260, 6476, 21760, 0, 0, 0, 0}, {48, 530, 261, 4096, 0, 0, 0}, {4430, 4454, 4932, 17476, 0, 0, 0}, {5455, 48, 5696, 16448, 0, 0, 0}, {4864, 80, 1280, 0, 0, 0, 0}, {72, 1028, 4369, 0, 0, 0, 0}, {4442, 4386, 5714, 17408, 0, 0, 0}, {5471, 96, 4947, 16384, 0, 0, 0}, {48, 528, 260, 4112, 0, 0, 0}, {13311, 6485, 21845, 0, 0, 0, 0}, {5466, 48, 5718, 16384, 0, 0, 0}, {4447, 4471, 4951, 17408, 0, 0, 0}, {520, 544, 80, 1280, 4352, 0, 0}, {3084, 13107, 5461, 0, 0, 0, 0}, {21850, 17152, 0, 0, 0, 0, 0}, {4435, 1028, 0, 0, 0, 0, 0}, {780, 48, 80, 1280, 4096, 0, 0}, {2056, 8738, 4437, 0, 0, 0, 0}, {4438, 1028, 0, 0, 0, 0, 0}, {21855, 17920, 0, 0, 0, 0, 0}, {96, 4864, 5376, 0, 0, 0, 0}, {120, 1799, 4369, 0, 0, 0, 0}, {1032, 4386, 1088, 0, 0, 0, 0}, {1295, 4915, 80, 0, 0, 0, 0}, {520, 544, 4420, 0, 0, 0, 0}, {783, 48, 5461, 0, 0, 0, 0}, {21930, 6502, 26214, 0, 0, 0, 0}, {263, 80, 1040, 4112, 0, 0, 0}, {1032, 1056, 1536, 1088, 4352, 0, 0}, {3855, 5734, 21845, 0, 0, 0, 0}, {5482, 13056, 16384, 0, 0, 0, 0}, {4379, 4403, 4883, 80, 5140, 0, 0}, {4972, 8192, 21760, 0, 0, 0, 0}, {4381, 48, 4626, 4437, 5397, 0, 0}, {2056, 4454, 17476, 0, 0, 0, 0}, {1295, 48, 1536, 80, 4096, 0, 0}, {3840, 5744, 21760, 0, 0, 0, 0}, {1036, 1060, 1542, 1092, 4369, 0, 0}, {4362, 4386, 4864, 80, 5120, 0, 0}, {5503, 13107, 16448, 0, 0, 0, 0}, {4364, 48, 4608, 4420, 5376, 0, 0}, {4991, 8224, 21845, 0, 0, 0, 0}, {1290, 48, 1542, 80, 4112, 0, 0}, {2048, 4471, 17408, 0, 0, 0, 0}, {120, 1792, 4352, 0, 0, 0, 0}, {96, 4883, 5397, 0, 0, 0, 0}, {1290, 4896, 80, 0, 0, 0, 0}, {1036, 4403, 1092, 0, 0, 0, 0}, {780, 48, 5440, 0, 0, 0, 0}, {522, 546, 4437, 0, 0, 0, 0}, {262, 80, 1044, 4096, 0, 0, 0}, {22015, 6527, 26112, 0, 0, 0, 0}, {6528, 13056, 21760, 0, 0, 0, 0}, {265, 771, 1285, 273, 0, 0, 0}, {4362, 4386, 4864, 17408, 0, 0, 0}, {5455, 48, 771, 16448, 0, 0, 0}, {4364, 8704, 4420, 5376, 0, 0, 0}, {4911, 8224, 80, 1285, 0, 0, 0}, {5450, 96, 1542, 16448, 0, 0, 0}, {4367, 4471, 5632, 17408, 0, 0, 0}, {136, 2048, 4352, 0, 0, 0, 0}, {48, 771, 80, 1285, 4112, 0, 0}, {21770, 4896, 0, 0, 0, 0, 0}, {4355, 1092, 0, 0, 0, 0, 0}, {13068, 5440, 0, 0, 0, 0, 0}, {546, 4357, 0, 0, 0, 0, 0}, {4358, 1092, 0, 0, 0, 0, 0}, {21775, 5744, 0, 0, 0, 0, 0}, {48, 768, 80, 1280, 4096, 0, 0}, {136, 2056, 4369, 0, 0, 0, 0}, {4370, 1088, 0, 0, 0, 0, 0}, {21855, 4915, 0, 0, 0, 0, 0}, {544, 4372, 0, 0, 0, 0, 0}, {13119, 5461, 0, 0, 0, 0, 0}, {21850, 5734, 0, 0, 0, 0, 0}, {4375, 1088, 0, 0, 0, 0, 0}, {264, 768, 1280, 272, 0, 0, 0}, {6553, 13107, 21845, 0, 0, 0, 0}, {5466, 48, 768, 16384, 0, 0, 0}, {4379, 4403, 4883, 17476, 0, 0, 0}, {4924, 8192, 80, 1280, 0, 0, 0}, {4381, 8738, 4437, 5397, 0, 0, 0}, {4382, 4454, 5654, 17476, 0, 0, 0}, {5471, 96, 1536, 16384, 0, 0, 0}, {160, 4864, 21760, 0, 0, 0, 0}, {72, 48, 771, 1028, 4369, 0, 0}, {2056, 4386, 17408, 0, 0, 0, 0}, {1295, 48, 771, 80, 4096, 0, 0}, {4364, 4388, 4868, 4420, 1028, 0, 0}, {5722, 9557, 21845, 0, 0, 0, 0}, {5482, 9830, 16384, 0, 0, 0, 0}, {4367, 4391, 4871, 80, 5120, 0, 0}, {520, 544, 4352, 0, 0, 0, 0}, {48, 771, 5461, 0, 0, 0, 0}, {21930, 19456, 13056, 0, 0, 0, 0}, {275, 80, 1028, 4112, 0, 0, 0}, {4876, 96, 5376, 0, 0, 0, 0}, {4397, 1799, 4437, 0, 0, 0, 0}, {72, 4454, 1028, 0, 0, 0, 0}, {1295, 5632, 80, 0, 0, 0, 0}, {48, 768, 5440, 0, 0, 0, 0}, {522, 546, 4369, 0, 0, 0, 0}, {274, 80, 1024, 4096, 0, 0, 0}, {22015, 19532, 13107, 0, 0, 0, 0}, {4412, 1792, 4420, 0, 0, 0, 0}, {4895, 96, 5397, 0, 0, 0, 0}, {1290, 5654, 80, 0, 0, 0, 0}, {72, 4471, 1024, 0, 0, 0, 0}, {72, 48, 768, 1024, 4352, 0, 0}, {160, 4883, 21845, 0, 0, 0, 0}, {1290, 48, 768, 80, 4112, 0, 0}, {2048, 4403, 17476, 0, 0, 0, 0}, {5708, 9584, 21760, 0, 0, 0, 0}, {4381, 4405, 4887, 4437, 1024, 0, 0}, {4382, 4406, 4884, 80, 5140, 0, 0}, {5503, 9792, 16448, 0, 0, 0, 0}, {192, 13056, 5376, 0, 0, 0, 0}, {40, 514, 80, 1285, 4369, 0, 0}, {5378, 1088, 0, 0, 0, 0, 0}, {21775, 17203, 0, 0, 0, 0, 0}, {2056, 8704, 4420, 0, 0, 0, 0}, {783, 48, 80, 1285, 4096, 0, 0}, {21770, 18022, 0, 0, 0, 0, 0}, {5383, 1088, 0, 0, 0, 0, 0}, {1032, 1088, 4352, 0, 0, 0, 0}, {4915, 80, 1285, 0, 0, 0, 0}, {5386, 96, 4864, 16384, 0, 0, 0}, {4427, 4403, 1799, 17476, 0, 0, 0}, {13260, 10752, 21760, 0, 0, 0, 0}, {48, 514, 277, 4112, 0, 0, 0}, {4430, 4454, 514, 17476, 0, 0, 0}, {5391, 48, 5632, 16384, 0, 0, 0}, {4896, 80, 1280, 0, 0, 0, 0}, {1036, 1092, 4369, 0, 0, 0, 0}, {4442, 4386, 1792, 17408, 0, 0, 0}, {5407, 96, 4883, 16448, 0, 0, 0}, {48, 512, 276, 4096, 0, 0, 0}, {13311, 10794, 21845, 0, 0, 0, 0}, {5402, 48, 5654, 16448, 0, 0, 0}, {4447, 4471, 512, 17408, 0, 0, 0}, {40, 512, 80, 1280, 4352, 0, 0}, {192, 13107, 5397, 0, 0, 0, 0}, {21850, 17264, 0, 0, 0, 0, 0}, {5399, 1092, 0, 0, 0, 0, 0}, {780, 48, 80, 1280, 4112, 0, 0}, {2048, 8738, 4437, 0, 0, 0, 0}, {5394, 1092, 0, 0, 0, 0, 0}, {21855, 17952, 0, 0, 0, 0, 0}, {5408, 1536, 5440, 0, 0, 0, 0}, {1807, 1911, 4369, 0, 0, 0, 0}, {72, 4386, 1024, 0, 0, 0, 0}, {1295, 4883, 80, 0, 0, 0, 0}, {40, 512, 4420, 0, 0, 0, 0}, {783, 48, 5397, 0, 0, 0, 0}, {21930, 19532, 26214, 0, 0, 0, 0}, {279, 80, 1024, 4096, 0, 0, 0}, {72, 96, 512, 1024, 4352, 0, 0}, {240, 5654, 21845, 0, 0, 0, 0}, {5418, 13056, 16448, 0, 0, 0, 0}, {4379, 4403, 512, 80, 5140, 0, 0}, {4940, 8224, 21760, 0, 0, 0, 0}, {4381, 48, 4626, 4437, 1024, 0, 0}, {2048, 4454, 17476, 0, 0, 0, 0}, {1295, 48, 1536, 80, 4112, 0, 0}, {240, 5632, 21760, 0, 0, 0, 0}, {72, 96, 514, 1028, 4369, 0, 0}, {4362, 4386, 514, 80, 5120, 0, 0}, {5439, 13107, 16384, 0, 0, 0, 0}, {4364, 48, 4608, 4420, 1028, 0, 0}, {4959, 8192, 21845, 0, 0, 0, 0}, {1290, 48, 1542, 80, 4096, 0, 0}, {2056, 4471, 17408, 0, 0, 0, 0}, {1800, 1904, 4352, 0, 0, 0, 0}, {5429, 1542, 5461, 0, 0, 0, 0}, {1290, 4864, 80, 0, 0, 0, 0}, {72, 4403, 1028, 0, 0, 0, 0}, {780, 48, 5376, 0, 0, 0, 0}, {40, 514, 4437, 0, 0, 0, 0}, {278, 80, 1028, 4112, 0, 0, 0}, {22015, 19456, 26112, 0, 0, 0, 0}, {6656, 12288, 16384, 0, 0, 0, 0}, {27, 51, 68, 257, 0, 0, 0}, {4104, 4128, 514, 20480, 0, 0, 0}, {5388, 51, 771, 21760, 0, 0, 0}, {4620, 8704, 68, 1028, 0, 0, 0}, {4111, 8192, 4176, 1285, 0, 0, 0}, {4108, 4192, 1542, 20480, 0, 0, 0}, {5384, 119, 1799, 21760, 0, 0, 0}, {16392, 4608, 0, 0, 0, 0, 0}, {4099, 1285, 0, 0, 0, 0, 0}, {160, 2570, 4096, 0, 0, 0, 0}, {51, 771, 68, 1028, 4352, 0, 0}, {16396, 5632, 0, 0, 0, 0, 0}, {4103, 1285, 0, 0, 0, 0, 0}, {514, 4100, 0, 0, 0, 0, 0}, {12303, 5376, 0, 0, 0, 0, 0}, {160, 2560, 4112, 0, 0, 0, 0}, {51, 768, 68, 1024, 4369, 0, 0}, {16456, 4626, 0, 0, 0, 0, 0}, {4115, 1280, 0, 0, 0, 0, 0}, {512, 4116, 0, 0, 0, 0, 0}, {12351, 5397, 0, 0, 0, 0, 0}, {16460, 5654, 0, 0, 0, 0, 0}, {4119, 1280, 0, 0, 0, 0, 0}, {4120, 4144, 512, 20560, 0, 0, 0}, {5401, 51, 768, 21845, 0, 0, 0}, {6682, 12336, 16448, 0, 0, 0, 0}, {27, 51, 68, 256, 0, 0, 0}, {4124, 4208, 1536, 20560, 0, 0, 0}, {5405, 119, 1792, 21845, 0, 0, 0}, {4638, 8738, 68, 1024, 0, 0, 0}, {4127, 8224, 4160, 1280, 0, 0, 0}, {2560, 4128, 20480, 0, 0, 0, 0}, {1036, 51, 771, 68, 4369, 0, 0}, {2048, 4642, 16384, 0, 0, 0, 0}, {1295, 51, 771, 1360, 4112, 0, 0}, {4108, 4132, 512, 68, 5120, 0, 0}, {5418, 9509, 21845, 0, 0, 0, 0}, {5674, 9766, 16448, 0, 0, 0, 0}, {4111, 4135, 512, 4176, 5376, 0, 0}, {40, 512, 4096, 0, 0, 0, 0}, {51, 771, 5397, 0, 0, 0, 0}, {16512, 6698, 12288, 0, 0, 0, 0}, {259, 68, 1300, 4352, 0, 0, 0}, {1548, 5664, 4160, 0, 0, 0, 0}, {1807, 5410, 5461, 0, 0, 0, 0}, {1036, 5666, 68, 0, 0, 0, 0}, {1295, 5408, 1360, 0, 0, 0, 0}, {16576, 6704, 12336, 0, 0, 0, 0}, {258, 68, 1297, 4369, 0, 0, 0}, {40, 514, 4112, 0, 0, 0, 0}, {51, 768, 5376, 0, 0, 0, 0}, {1032, 5684, 68, 0, 0, 0, 0}, {1290, 5429, 1365, 0, 0, 0, 0}, {1546, 5686, 4176, 0, 0, 0, 0}, {1800, 5431, 5440, 0, 0, 0, 0}, {2056, 4656, 16448, 0, 0, 0, 0}, {1290, 51, 768, 1365, 4096, 0, 0}, {2570, 4144, 20560, 0, 0, 0, 0}, {1032, 51, 768, 68, 4352, 0, 0}, {5692, 9728, 16384, 0, 0, 0, 0}, {4127, 4151, 514, 4160, 5397, 0, 0}, {4124, 4148, 514, 68, 5140, 0, 0}, {5439, 9472, 21760, 0, 0, 0, 0}, {12480, 6720, 16448, 0, 0, 0, 0}, {51, 529, 261, 4369, 0, 0, 0}, {4168, 4192, 4674, 20480, 0, 0, 0}, {5452, 51, 5699, 21760, 0, 0, 0}, {4608, 68, 1024, 0, 0, 0, 0}, {95, 1285, 4112, 0, 0, 0, 0}, {4172, 4128, 5702, 20480, 0, 0, 0}, {5448, 119, 4679, 21760, 0, 0, 0}, {16456, 20992, 0, 0, 0, 0, 0}, {4163, 1285, 0, 0, 0, 0, 0}, {2570, 8224, 4160, 0, 0, 0, 0}, {783, 51, 68, 1024, 4352, 0, 0}, {16460, 22016, 0, 0, 0, 0, 0}, {4167, 1285, 0, 0, 0, 0, 0}, {522, 546, 68, 1024, 4096, 0, 0}, {3855, 12336, 5440, 0, 0, 0, 0}, {2560, 8192, 4176, 0, 0, 0, 0}, {780, 51, 68, 1028, 4369, 0, 0}, {16392, 21074, 0, 0, 0, 0, 0}, {4179, 1280, 0, 0, 0, 0, 0}, {520, 544, 68, 1028, 4112, 0, 0}, {3840, 12288, 5461, 0, 0, 0, 0}, {16396, 22102, 0, 0, 0, 0, 0}, {4183, 1280, 0, 0, 0, 0, 0}, {4184, 4208, 4688, 20560, 0, 0, 0}, {5465, 51, 5717, 21845, 0, 0, 0}, {12528, 6746, 16384, 0, 0, 0, 0}, {51, 531, 260, 4352, 0, 0, 0}, {4188, 4144, 5712, 20560, 0, 0, 0}, {5469, 119, 4693, 21845, 0, 0, 0}, {4626, 68, 1028, 0, 0, 0, 0}, {95, 1280, 4096, 0, 0, 0, 0}, {2560, 4192, 20480, 0, 0, 0, 0}, {1032, 51, 1799, 68, 4369, 0, 0}, {4714, 8738, 16448, 0, 0, 0, 0}, {4111, 51, 4864, 4176, 5376, 0, 0}, {4104, 4128, 4608, 68, 5120, 0, 0}, {5482, 12336, 21845, 0, 0, 0, 0}, {3072, 5734, 16384, 0, 0, 0, 0}, {1295, 1319, 1799, 1360, 4112, 0, 0}, {520, 544, 4160, 0, 0, 0, 0}, {783, 51, 5461, 0, 0, 0, 0}, {16576, 6762, 28672, 0, 0, 0, 0}, {263, 68, 1300, 4352, 0, 0, 0}, {108, 1536, 4096, 0, 0, 0, 0}, {119, 4626, 5397, 0, 0, 0, 0}, {1032, 4642, 68, 0, 0, 0, 0}, {1295, 4144, 1360, 0, 0, 0, 0}, {16512, 6768, 28784, 0, 0, 0, 0}, {262, 68, 1297, 4369, 0, 0, 0}, {522, 546, 4176, 0, 0, 0, 0}, {780, 51, 5440, 0, 0, 0, 0}, {1036, 4656, 68, 0, 0, 0, 0}, {1290, 4128, 1365, 0, 0, 0, 0}, {108, 1542, 4112, 0, 0, 0, 0}, {119, 4608, 5376, 0, 0, 0, 0}, {4728, 8704, 16384, 0, 0, 0, 0}, {4127, 51, 4883, 4160, 5397, 0, 0}, {2570, 4208, 20560, 0, 0, 0, 0}, {1036, 51, 1792, 68, 4352, 0, 0}, {3084, 5744, 16448, 0, 0, 0, 0}, {1290, 1314, 1792, 1365, 4096, 0, 0}, {4120, 4144, 4626, 68, 5140, 0, 0}, {5503, 12288, 21760, 0, 0, 0, 0}, {16512, 23040, 12288, 0, 0, 0, 0}, {274, 68, 1285, 4369, 0, 0, 0}, {522, 546, 4096, 0, 0, 0, 0}, {51, 771, 5440, 0, 0, 0, 0}, {1036, 5632, 68, 0, 0, 0, 0}, {95, 4208, 1285, 0, 0, 0, 0}, {4140, 1542, 4160, 0, 0, 0, 0}, {4623, 119, 5376, 0, 0, 0, 0}, {136, 4608, 16384, 0, 0, 0, 0}, {95, 51, 771, 1285, 4112, 0, 0}, {2570, 4128, 20480, 0, 0, 0, 0}, {1036, 51, 771, 68, 4352, 0, 0}, {5708, 9792, 16448, 0, 0, 0, 0}, {4111, 4135, 4613, 4176, 1285, 0, 0}, {4108, 4132, 4614, 68, 5120, 0, 0}, {5503, 9584, 21760, 0, 0, 0, 0}, {2560, 4144, 20560, 0, 0, 0, 0}, {1032, 51, 768, 68, 4369, 0, 0}, {136, 4626, 16448, 0, 0, 0, 0}, {95, 51, 768, 1280, 4096, 0, 0}, {4124, 4148, 4628, 68, 5140, 0, 0}, {5482, 9557, 21845, 0, 0, 0, 0}, {5722, 9830, 16384, 0, 0, 0, 0}, {4127, 4151, 4631, 4160, 1280, 0, 0}, {520, 544, 4112, 0, 0, 0, 0}, {51, 768, 5461, 0, 0, 0, 0}, {16576, 23130, 12336, 0, 0, 0, 0}, {275, 68, 1280, 4352, 0, 0, 0}, {4156, 1536, 4176, 0, 0, 0, 0}, {4637, 119, 5397, 0, 0, 0, 0}, {1032, 5654, 68, 0, 0, 0, 0}, {95, 4192, 1280, 0, 0, 0, 0}, {160, 2560, 4096, 0, 0, 0, 0}, {51, 771, 68, 1028, 4369, 0, 0}, {16392, 4642, 0, 0, 0, 0, 0}, {4099, 1360, 0, 0, 0, 0, 0}, {544, 4100, 0, 0, 0, 0, 0}, {12303, 5461, 0, 0, 0, 0, 0}, {16396, 5734, 0, 0, 0, 0, 0}, {4103, 1360, 0, 0, 0, 0, 0}, {4104, 4128, 4608, 20480, 0, 0, 0}, {5465, 51, 771, 21845, 0, 0, 0}, {6826, 12288, 16384, 0, 0, 0, 0}, {267, 771, 1028, 272, 0, 0, 0}, {4108, 4192, 5632, 20480, 0, 0, 0}, {5469, 119, 1799, 21845, 0, 0, 0}, {4654, 8738, 68, 1028, 0, 0, 0}, {4111, 8192, 4176, 5376, 0, 0, 0}, {6832, 12336, 16448, 0, 0, 0, 0}, {266, 768, 1024, 273, 0, 0, 0}, {4120, 4144, 4626, 20560, 0, 0, 0}, {5452, 51, 768, 21760, 0, 0, 0}, {4668, 8704, 68, 1024, 0, 0, 0}, {4127, 8224, 4160, 5397, 0, 0, 0}, {4124, 4208, 5654, 20560, 0, 0, 0}, {5448, 119, 1792, 21760, 0, 0, 0}, {16456, 4656, 0, 0, 0, 0, 0}, {4115, 1365, 0, 0, 0, 0, 0}, {160, 2570, 4112, 0, 0, 0, 0}, {51, 768, 68, 1024, 4352, 0, 0}, {16460, 5744, 0, 0, 0, 0, 0}, {4119, 1365, 0, 0, 0, 0, 0}, {546, 4116, 0, 0, 0, 0, 0}, {12351, 5440, 0, 0, 0, 0, 0}, {16576, 23040, 28672, 0, 0, 0, 0}, {278, 68, 1285, 4369, 0, 0, 0}, {40, 514, 4160, 0, 0, 0, 0}, {783, 51, 5376, 0, 0, 0, 0}, {1032, 4608, 68, 0, 0, 0, 0}, {95, 4144, 1285, 0, 0, 0, 0}, {1546, 1638, 4096, 0, 0, 0, 0}, {5431, 1799, 5440, 0, 0, 0, 0}, {4680, 8704, 16448, 0, 0, 0, 0}, {4111, 51, 4864, 4176, 1285, 0, 0}, {2570, 4192, 20480, 0, 0, 0, 0}, {1032, 51, 1799, 68, 4352, 0, 0}, {204, 5632, 16384, 0, 0, 0, 0}, {95, 119, 514, 1285, 4112, 0, 0}, {4104, 4128, 514, 68, 5120, 0, 0}, {5439, 12336, 21760, 0, 0, 0, 0}, {2560, 4208, 20560, 0, 0, 0, 0}, {1036, 51, 1792, 68, 4369, 0, 0}, {4698, 8738, 16384, 0, 0, 0, 0}, {4127, 51, 4883, 4160, 1280, 0, 0}, {4120, 4144, 512, 68, 5140, 0, 0}, {5418, 12288, 21845, 0, 0, 0, 0}, {204, 5654, 16448, 0, 0, 0, 0}, {95, 119, 512, 1280, 4096, 0, 0}, {40, 512, 4176, 0, 0, 0, 0}, {780, 51, 5397, 0, 0, 0, 0}, {16512, 23130, 28784, 0, 0, 0, 0}, {279, 68, 1280, 4352, 0, 0, 0}, {1548, 1632, 4112, 0, 0, 0, 0}, {5410, 1792, 5461, 0, 0, 0, 0}, {1036, 4626, 68, 0, 0, 0, 0}, {95, 4128, 1280, 0, 0, 0, 0}, {2560, 8224, 4160, 0, 0, 0, 0}, {783, 51, 68, 1024, 4369, 0, 0}, {16456, 21026, 0, 0, 0, 0, 0}, {5395, 1360, 0, 0, 0, 0, 0}, {40, 512, 68, 1024, 4096, 0, 0}, {255, 12336, 5397, 0, 0, 0, 0}, {16460, 22118, 0, 0, 0, 0, 0}, {5399, 1360, 0, 0, 0, 0, 0}, {4168, 4192, 512, 20480, 0, 0, 0}, {5401, 51, 5654, 21845, 0, 0, 0}, {12480, 10794, 16448, 0, 0, 0, 0}, {51, 512, 276, 4352, 0, 0, 0}, {4172, 4128, 1536, 20480, 0, 0, 0}, {5405, 119, 4626, 21845, 0, 0, 0}, {4642, 68, 1024, 0, 0, 0, 0}, {1295, 1360, 4112, 0, 0, 0, 0}, {12528, 10752, 16384, 0, 0, 0, 0}, {51, 514, 277, 4369, 0, 0, 0}, {4184, 4208, 514, 20560, 0, 0, 0}, {5388, 51, 5632, 21760, 0, 0, 0}, {4656, 68, 1028, 0, 0, 0, 0}, {1290, 1365, 4096, 0, 0, 0, 0}, {4188, 4144, 1542, 20560, 0, 0, 0}, {5384, 119, 4608, 21760, 0, 0, 0}, {16392, 21104, 0, 0, 0, 0, 0}, {5382, 1365, 0, 0, 0, 0, 0}, {2570, 8192, 4176, 0, 0, 0, 0}, {780, 51, 68, 1028, 4352, 0, 0}, {16396, 22064, 0, 0, 0, 0, 0}, {5378, 1365, 0, 0, 0, 0, 0}, {40, 514, 68, 1028, 4112, 0, 0}, {255, 12288, 5376, 0, 0, 0, 0}, {6912, 13056, 17408, 0, 0, 0, 0}, {26, 48, 64, 257, 0, 0, 0}, {4360, 4386, 514, 21760, 0, 0, 0}, {5132, 48, 771, 20480, 0, 0, 0}, {4876, 8192, 64, 1028, 0, 0, 0}, {4367, 8704, 4437, 1285, 0, 0, 0}, {4364, 4454, 1542, 21760, 0, 0, 0}, {5128, 112, 1799, 20480, 0, 0, 0}, {17416, 4864, 0, 0, 0, 0, 0}, {4355, 1285, 0, 0, 0, 0, 0}, {170, 2570, 4352, 0, 0, 0, 0}, {48, 771, 64, 1028, 4096, 0, 0}, {17420, 5888, 0, 0, 0, 0, 0}, {4359, 1285, 0, 0, 0, 0, 0}, {514, 4356, 0, 0, 0, 0, 0}, {13071, 5120, 0, 0, 0, 0, 0}, {48, 768, 64, 1024, 4112, 0, 0}, {170, 2560, 4369, 0, 0, 0, 0}, {4370, 1280, 0, 0, 0, 0, 0}, {17484, 4883, 0, 0, 0, 0, 0}, {13116, 5140, 0, 0, 0, 0, 0}, {512, 4373, 0, 0, 0, 0, 0}, {4374, 1280, 0, 0, 0, 0, 0}, {17480, 5911, 0, 0, 0, 0, 0}, {5144, 48, 768, 20560, 0, 0, 0}, {4377, 4403, 512, 21845, 0, 0, 0}, {26, 48, 64, 256, 0, 0, 0}, {6939, 13107, 17476, 0, 0, 0, 0}, {5148, 112, 1792, 20560, 0, 0, 0}, {4381, 4471, 1536, 21845, 0, 0, 0}, {4382, 8738, 4420, 1280, 0, 0, 0}, {4895, 8224, 64, 1024, 0, 0, 0}, {2048, 4896, 17408, 0, 0, 0, 0}, {1295, 48, 771, 1365, 4369, 0, 0}, {2560, 4386, 21760, 0, 0, 0, 0}, {1036, 48, 771, 64, 4112, 0, 0}, {5928, 9252, 17476, 0, 0, 0, 0}, {4367, 4389, 512, 4437, 5120, 0, 0}, {4364, 4390, 512, 64, 5376, 0, 0}, {5160, 10023, 20560, 0, 0, 0, 0}, {17544, 6952, 13056, 0, 0, 0, 0}, {259, 64, 1301, 4096, 0, 0, 0}, {42, 512, 4352, 0, 0, 0, 0}, {48, 771, 5140, 0, 0, 0, 0}, {1036, 5920, 64, 0, 0, 0, 0}, {1295, 5154, 1365, 0, 0, 0, 0}, {1548, 5922, 4420, 0, 0, 0, 0}, {1807, 5152, 5200, 0, 0, 0, 0}, {48, 768, 5120, 0, 0, 0, 0}, {42, 514, 4369, 0, 0, 0, 0}, {258, 64, 1296, 4112, 0, 0, 0}, {17612, 6963, 13107, 0, 0, 0, 0}, {1800, 5172, 5188, 0, 0, 0, 0}, {1546, 5941, 4437, 0, 0, 0, 0}, {1290, 5174, 1360, 0, 0, 0, 0}, {1032, 5943, 64, 0, 0, 0, 0}, {1032, 48, 768, 64, 4096, 0, 0}, {2570, 4403, 21845, 0, 0, 0, 0}, {1290, 48, 768, 1360, 4352, 0, 0}, {2056, 4915, 17476, 0, 0, 0, 0}, {5180, 9984, 20480, 0, 0, 0, 0}, {4381, 4407, 514, 64, 5397, 0, 0}, {4382, 4404, 514, 4420, 5140, 0, 0}, {5951, 9216, 17408, 0, 0, 0, 0}, {4864, 64, 1024, 0, 0, 0, 0}, {90, 1285, 4369, 0, 0, 0, 0}, {4424, 4386, 5954, 21760, 0, 0, 0}, {5196, 112, 4931, 20480, 0, 0, 0}, {13260, 6980, 17476, 0, 0, 0, 0}, {48, 528, 261, 4112, 0, 0, 0}, {4428, 4454, 4934, 21760, 0, 0, 0}, {5192, 48, 5959, 20480, 0, 0, 0}, {17480, 21248, 0, 0, 0, 0, 0}, {4419, 1285, 0, 0, 0, 0, 0}, {522, 544, 64, 1024, 4352, 0, 0}, {3855, 13107, 5188, 0, 0, 0, 0}, {17484, 22272, 0, 0, 0, 0, 0}, {4423, 1285, 0, 0, 0, 0, 0}, {2570, 8738, 4420, 0, 0, 0, 0}, {783, 48, 64, 1024, 4096, 0, 0}, {3840, 13056, 5200, 0, 0, 0, 0}, {520, 546, 64, 1028, 4369, 0, 0}, {4434, 1280, 0, 0, 0, 0, 0}, {17420, 21331, 0, 0, 0, 0, 0}, {780, 48, 64, 1028, 4112, 0, 0}, {2560, 8704, 4437, 0, 0, 0, 0}, {4438, 1280, 0, 0, 0, 0, 0}, {17416, 22359, 0, 0, 0, 0, 0}, {5208, 112, 4944, 20560, 0, 0, 0}, {4441, 4403, 5973, 21845, 0, 0, 0}, {90, 1280, 4352, 0, 0, 0, 0}, {4883, 64, 1028, 0, 0, 0, 0}, {5212, 48, 5968, 20560, 0, 0, 0}, {4445, 4471, 4949, 21845, 0, 0, 0}, {48, 530, 260, 4096, 0, 0, 0}, {13311, 7007, 17408, 0, 0, 0, 0}, {3072, 5984, 17408, 0, 0, 0, 0}, {1295, 1317, 1799, 1365, 4369, 0, 0}, {4360, 4386, 4864, 64, 5376, 0, 0}, {5228, 13107, 20560, 0, 0, 0, 0}, {4972, 8224, 17476, 0, 0, 0, 0}, {4367, 48, 4608, 4437, 5120, 0, 0}, {2560, 4454, 21760, 0, 0, 0, 0}, {1032, 48, 1799, 64, 4112, 0, 0}, {1032, 4896, 64, 0, 0, 0, 0}, {1295, 4403, 1365, 0, 0, 0, 0}, {106, 1536, 4352, 0, 0, 0, 0}, {112, 4883, 5140, 0, 0, 0, 0}, {17612, 7020, 30464, 0, 0, 0, 0}, {263, 64, 1301, 4096, 0, 0, 0}, {520, 546, 4420, 0, 0, 0, 0}, {783, 48, 5200, 0, 0, 0, 0}, {112, 4864, 5120, 0, 0, 0, 0}, {106, 1542, 4369, 0, 0, 0, 0}, {1290, 4386, 1360, 0, 0, 0, 0}, {1036, 4915, 64, 0, 0, 0, 0}, {780, 48, 5188, 0, 0, 0, 0}, {522, 544, 4437, 0, 0, 0, 0}, {262, 64, 1296, 4112, 0, 0, 0}, {17544, 7031, 30583, 0, 0, 0, 0}, {5240, 13056, 20480, 0, 0, 0, 0}, {4377, 4403, 4883, 64, 5397, 0, 0}, {1290, 1312, 1792, 1360, 4352, 0, 0}, {3084, 6007, 17476, 0, 0, 0, 0}, {1036, 48, 1792, 64, 4096, 0, 0}, {2570, 4471, 21845, 0, 0, 0, 0}, {4382, 48, 4626, 4420, 5140, 0, 0}, {4991, 8192, 17408, 0, 0, 0, 0}, {128, 4864, 17408, 0, 0, 0, 0}, {90, 48, 771, 1285, 4369, 0, 0}, {2570, 4386, 21760, 0, 0, 0, 0}, {1036, 48, 771, 64, 4096, 0, 0}, {5960, 9284, 17476, 0, 0, 0, 0}, {4367, 4389, 4869, 4437, 1285, 0, 0}, {4364, 4390, 4870, 64, 5376, 0, 0}, {5240, 10103, 20480, 0, 0, 0, 0}, {17544, 24320, 13056, 0, 0, 0, 0}, {275, 64, 1285, 4112, 0, 0, 0}, {522, 544, 4352, 0, 0, 0, 0}, {48, 771, 5188, 0, 0, 0, 0}, {1036, 5888, 64, 0, 0, 0, 0}, {90, 4471, 1285, 0, 0, 0, 0}, {4398, 1542, 4420, 0, 0, 0, 0}, {4879, 112, 5120, 0, 0, 0, 0}, {48, 768, 5200, 0, 0, 0, 0}, {520, 546, 4369, 0, 0, 0, 0}, {274, 64, 1280, 4096, 0, 0, 0}, {17612, 24415, 13107, 0, 0, 0, 0}, {4892, 112, 5140, 0, 0, 0, 0}, {4415, 1536, 4437, 0, 0, 0, 0}, {90, 4454, 1280, 0, 0, 0, 0}, {1032, 5911, 64, 0, 0, 0, 0}, {1032, 48, 768, 64, 4112, 0, 0}, {2560, 4403, 21845, 0, 0, 0, 0}, {90, 48, 768, 1280, 4352, 0, 0}, {128, 4883, 17476, 0, 0, 0, 0}, {5228, 10064, 20560, 0, 0, 0, 0}, {4381, 4407, 4885, 64, 5397, 0, 0}, {4382, 4404, 4886, 4420, 1280, 0, 0}, {5983, 9312, 17408, 0, 0, 0, 0}, {7072, 13056, 17408, 0, 0, 0, 0}, {267, 771, 1028, 273, 0, 0, 0}, {4360, 4386, 4864, 21760, 0, 0, 0}, {5212, 48, 771, 20560, 0, 0, 0}, {4908, 8224, 64, 1028, 0, 0, 0}, {4367, 8704, 4437, 5120, 0, 0, 0}, {4364, 4454, 5888, 21760, 0, 0, 0}, {5208, 112, 1799, 20560, 0, 0, 0}, {17416, 4896, 0, 0, 0, 0, 0}, {4355, 1365, 0, 0, 0, 0, 0}, {170, 2560, 4352, 0, 0, 0, 0}, {48, 771, 64, 1028, 4112, 0, 0}, {17420, 5984, 0, 0, 0, 0, 0}, {4359, 1365, 0, 0, 0, 0, 0}, {546, 4356, 0, 0, 0, 0, 0}, {13071, 5200, 0, 0, 0, 0, 0}, {48, 768, 64, 1024, 4096, 0, 0}, {170, 2570, 4369, 0, 0, 0, 0}, {4370, 1360, 0, 0, 0, 0, 0}, {17484, 4915, 0, 0, 0, 0, 0}, {13116, 5188, 0, 0, 0, 0, 0}, {544, 4373, 0, 0, 0, 0, 0}, {4374, 1360, 0, 0, 0, 0, 0}, {17480, 6007, 0, 0, 0, 0, 0}, {5192, 48, 768, 20480, 0, 0, 0}, {4377, 4403, 4883, 21845, 0, 0, 0}, {266, 768, 1024, 272, 0, 0, 0}, {7099, 13107, 17476, 0, 0, 0, 0}, {5196, 112, 1792, 20480, 0, 0, 0}, {4381, 4471, 5911, 21845, 0, 0, 0}, {4382, 8738, 4420, 5140, 0, 0, 0}, {4927, 8192, 64, 1024, 0, 0, 0}, {192, 5888, 17408, 0, 0, 0, 0}, {90, 112, 514, 1285, 4369, 0, 0}, {4360, 4386, 514, 64, 5376, 0, 0}, {5180, 13107, 20480, 0, 0, 0, 0}, {4940, 8192, 17476, 0, 0, 0, 0}, {4367, 48, 4608, 4437, 1285, 0, 0}, {2570, 4454, 21760, 0, 0, 0, 0}, {1032, 48, 1799, 64, 4096, 0, 0}, {1032, 4864, 64, 0, 0, 0, 0}, {90, 4403, 1285, 0, 0, 0, 0}, {1546, 1632, 4352, 0, 0, 0, 0}, {5172, 1799, 5188, 0, 0, 0, 0}, {17612, 24320, 30464, 0, 0, 0, 0}, {279, 64, 1285, 4112, 0, 0, 0}, {42, 514, 4420, 0, 0, 0, 0}, {783, 48, 5120, 0, 0, 0, 0}, {5152, 1792, 5200, 0, 0, 0, 0}, {1548, 1638, 4369, 0, 0, 0, 0}, {90, 4386, 1280, 0, 0, 0, 0}, {1036, 4883, 64, 0, 0, 0, 0}, {780, 48, 5140, 0, 0, 0, 0}, {42, 512, 4437, 0, 0, 0, 0}, {278, 64, 1280, 4096, 0, 0, 0}, {17544, 24415, 30583, 0, 0, 0, 0}, {5160, 13056, 20560, 0, 0, 0, 0}, {4377, 4403, 512, 64, 5397, 0, 0}, {90, 112, 512, 1280, 4352, 0, 0}, {192, 5911, 17476, 0, 0, 0, 0}, {1036, 48, 1792, 64, 4112, 0, 0}, {2560, 4471, 21845, 0, 0, 0, 0}, {4382, 48, 4626, 4420, 1280, 0, 0}, {4959, 8224, 17408, 0, 0, 0, 0}, {4896, 64, 1024, 0, 0, 0, 0}, {1295, 1365, 4369, 0, 0, 0, 0}, {4424, 4386, 1536, 21760, 0, 0, 0}, {5148, 112, 4883, 20560, 0, 0, 0}, {13260, 10280, 17476, 0, 0, 0, 0}, {48, 512, 277, 4096, 0, 0, 0}, {4428, 4454, 512, 21760, 0, 0, 0}, {5144, 48, 5911, 20560, 0, 0, 0}, {17480, 21344, 0, 0, 0, 0, 0}, {5142, 1365, 0, 0, 0, 0, 0}, {42, 512, 64, 1024, 4352, 0, 0}, {240, 13107, 5140, 0, 0, 0, 0}, {17484, 22304, 0, 0, 0, 0, 0}, {5138, 1365, 0, 0, 0, 0, 0}, {2560, 8738, 4420, 0, 0, 0, 0}, {783, 48, 64, 1024, 4112, 0, 0}, {240, 13056, 5120, 0, 0, 0, 0}, {42, 514, 64, 1028, 4369, 0, 0}, {5122, 1360, 0, 0, 0, 0, 0}, {17420, 21299, 0, 0, 0, 0, 0}, {780, 48, 64, 1028, 4096, 0, 0}, {2570, 8704, 4437, 0, 0, 0, 0}, {5126, 1360, 0, 0, 0, 0, 0}, {17416, 22391, 0, 0, 0, 0, 0}, {5128, 112, 4864, 20480, 0, 0, 0}, {4441, 4403, 1542, 21845, 0, 0, 0}, {1290, 1360, 4352, 0, 0, 0, 0}, {4915, 64, 1028, 0, 0, 0, 0}, {5132, 48, 5888, 20480, 0, 0, 0}, {4445, 4471, 514, 21845, 0, 0, 0}, {48, 514, 276, 4112, 0, 0, 0}, {13311, 10240, 17408, 0, 0, 0, 0}, {7168, 8192, 20480, 0, 0, 0, 0}, {29, 34, 85, 257, 0, 0, 0}, {5130, 34, 514, 17408, 0, 0, 0}, {4111, 4144, 771, 16384, 0, 0, 0}, {4104, 12288, 4160, 1028, 0, 0, 0}, {4874, 13056, 85, 1285, 0, 0, 0}, {4106, 4192, 1542, 16384, 0, 0, 0}, {5135, 119, 1799, 17408, 0, 0, 0}, {8200, 5120, 0, 0, 0, 0, 0}, {771, 4101, 0, 0, 0, 0, 0}, {20490, 5632, 0, 0, 0, 0, 0}, {4103, 1028, 0, 0, 0, 0, 0}, {192, 3084, 4096, 0, 0, 0, 0}, {34, 514, 85, 1285, 4352, 0, 0}, {4098, 1028, 0, 0, 0, 0, 0}, {20495, 4864, 0, 0, 0, 0, 0}, {192, 3072, 4112, 0, 0, 0, 0}, {34, 512, 85, 1280, 4369, 0, 0}, {4114, 1024, 0, 0, 0, 0, 0}, {20575, 4883, 0, 0, 0, 0, 0}, {8232, 5140, 0, 0, 0, 0, 0}, {768, 4117, 0, 0, 0, 0, 0}, {20570, 5654, 0, 0, 0, 0, 0}, {4119, 1024, 0, 0, 0, 0, 0}, {4120, 12336, 4176, 1024, 0, 0, 0}, {4889, 13107, 85, 1280, 0, 0, 0}, {4122, 4208, 1536, 16448, 0, 0, 0}, {5147, 119, 1792, 17476, 0, 0, 0}, {7196, 8224, 20560, 0, 0, 0, 0}, {29, 34, 85, 256, 0, 0, 0}, {5150, 34, 512, 17476, 0, 0, 0}, {4127, 4128, 768, 16448, 0, 0, 0}, {20640, 7200, 8224, 0, 0, 0, 0}, {259, 85, 1041, 4369, 0, 0, 0}, {34, 512, 5120, 0, 0, 0, 0}, {63, 771, 4112, 0, 0, 0, 0}, {1036, 5156, 1092, 0, 0, 0, 0}, {1295, 5669, 85, 0, 0, 0, 0}, {1548, 5670, 4160, 0, 0, 0, 0}, {1807, 5159, 5200, 0, 0, 0, 0}, {5160, 13312, 17408, 0, 0, 0, 0}, {4122, 4133, 771, 85, 5397, 0, 0}, {5674, 13824, 20480, 0, 0, 0, 0}, {4120, 4135, 771, 4176, 5140, 0, 0}, {3084, 4128, 16448, 0, 0, 0, 0}, {1295, 34, 512, 85, 4352, 0, 0}, {1036, 34, 512, 1092, 4096, 0, 0}, {3855, 4896, 20560, 0, 0, 0, 0}, {3072, 4144, 16384, 0, 0, 0, 0}, {1290, 34, 514, 85, 4369, 0, 0}, {1032, 34, 514, 1088, 4112, 0, 0}, {3840, 4915, 20480, 0, 0, 0, 0}, {5180, 13364, 17476, 0, 0, 0, 0}, {4106, 4149, 768, 85, 5376, 0, 0}, {5692, 13878, 20560, 0, 0, 0, 0}, {4104, 4151, 768, 4160, 5120, 0, 0}, {1032, 5168, 1088, 0, 0, 0, 0}, {1290, 5683, 85, 0, 0, 0, 0}, {1546, 5680, 4176, 0, 0, 0, 0}, {1800, 5171, 5188, 0, 0, 0, 0}, {20720, 7228, 8192, 0, 0, 0, 0}, {258, 85, 1045, 4352, 0, 0, 0}, {34, 514, 5140, 0, 0, 0, 0}, {63, 768, 4096, 0, 0, 0, 0}, {3072, 12288, 4160, 0, 0, 0, 0}, {522, 34, 85, 1285, 4369, 0, 0}, {4162, 1024, 0, 0, 0, 0, 0}, {20495, 17219, 0, 0, 0, 0, 0}, {2048, 8192, 5188, 0, 0, 0, 0}, {783, 816, 85, 1285, 4112, 0, 0}, {20490, 17990, 0, 0, 0, 0, 0}, {4167, 1024, 0, 0, 0, 0, 0}, {72, 1024, 4096, 0, 0, 0, 0}, {4883, 85, 1285, 0, 0, 0, 0}, {4170, 4128, 5696, 16448, 0, 0, 0}, {5195, 119, 4932, 17476, 0, 0, 0}, {8320, 7244, 20480, 0, 0, 0, 0}, {34, 786, 261, 4352, 0, 0, 0}, {5198, 34, 5700, 17476, 0, 0, 0}, {4175, 4208, 4928, 16448, 0, 0, 0}, {8352, 7248, 20560, 0, 0, 0, 0}, {34, 785, 260, 4369, 0, 0, 0}, {5210, 34, 5714, 17408, 0, 0, 0}, {4191, 4192, 4947, 16384, 0, 0, 0}, {72, 1028, 4112, 0, 0, 0, 0}, {4864, 85, 1280, 0, 0, 0, 0}, {4186, 4144, 5718, 16384, 0, 0, 0}, {5215, 119, 4951, 17408, 0, 0, 0}, {2056, 8224, 5200, 0, 0, 0, 0}, {780, 819, 85, 1280, 4096, 0, 0}, {20570, 17920, 0, 0, 0, 0, 0}, {4183, 1028, 0, 0, 0, 0, 0}, {3084, 12336, 4176, 0, 0, 0, 0}, {520, 34, 85, 1280, 4352, 0, 0}, {4178, 1028, 0, 0, 0, 0, 0}, {20575, 17152, 0, 0, 0, 0, 0}, {3072, 4192, 16384, 0, 0, 0, 0}, {1295, 34, 1799, 85, 4369, 0, 0}, {4104, 34, 4608, 4160, 5120, 0, 0}, {4972, 13107, 20560, 0, 0, 0, 0}, {5228, 8224, 17476, 0, 0, 0, 0}, {4111, 4144, 4864, 85, 5376, 0, 0}, {2560, 5734, 20480, 0, 0, 0, 0}, {1032, 1079, 1799, 1088, 4112, 0, 0}, {1032, 4128, 1088, 0, 0, 0, 0}, {1295, 4915, 85, 0, 0, 0, 0}, {106, 1536, 4096, 0, 0, 0, 0}, {119, 4883, 5140, 0, 0, 0, 0}, {20640, 7276, 28672, 0, 0, 0, 0}, {263, 85, 1045, 4352, 0, 0, 0}, {520, 34, 5188, 0, 0, 0, 0}, {783, 816, 4176, 0, 0, 0, 0}, {20720, 7280, 28784, 0, 0, 0, 0}, {262, 85, 1041, 4369, 0, 0, 0}, {522, 34, 5200, 0, 0, 0, 0}, {780, 819, 4160, 0, 0, 0, 0}, {1036, 4144, 1092, 0, 0, 0, 0}, {1290, 4896, 85, 0, 0, 0, 0}, {106, 1542, 4112, 0, 0, 0, 0}, {119, 4864, 5120, 0, 0, 0, 0}, {5240, 8192, 17408, 0, 0, 0, 0}, {4127, 4128, 4883, 85, 5397, 0, 0}, {2570, 5744, 20560, 0, 0, 0, 0}, {1036, 1075, 1792, 1092, 4096, 0, 0}, {3084, 4208, 16448, 0, 0, 0, 0}, {1290, 34, 1792, 85, 4352, 0, 0}, {4120, 34, 4626, 4176, 5140, 0, 0}, {4991, 13056, 20480, 0, 0, 0, 0}, {8320, 15360, 20480, 0, 0, 0, 0}, {34, 771, 276, 4369, 0, 0, 0}, {5130, 34, 5632, 17408, 0, 0, 0}, {4175, 4208, 771, 16448, 0, 0, 0}, {1036, 1092, 4096, 0, 0, 0, 0}, {4896, 85, 1285, 0, 0, 0, 0}, {4170, 4128, 1542, 16448, 0, 0, 0}, {5135, 119, 4864, 17408, 0, 0, 0}, {136, 8192, 5120, 0, 0, 0, 0}, {63, 771, 85, 1285, 4112, 0, 0}, {20490, 17952, 0, 0, 0, 0, 0}, {5123, 1092, 0, 0, 0, 0, 0}, {3084, 12288, 4160, 0, 0, 0, 0}, {522, 34, 85, 1285, 4352, 0, 0}, {5126, 1092, 0, 0, 0, 0, 0}, {20495, 17264, 0, 0, 0, 0, 0}, {3072, 12336, 4176, 0, 0, 0, 0}, {520, 34, 85, 1280, 4369, 0, 0}, {5138, 1088, 0, 0, 0, 0, 0}, {20575, 17203, 0, 0, 0, 0, 0}, {136, 8224, 5140, 0, 0, 0, 0}, {63, 768, 85, 1280, 4096, 0, 0}, {20570, 18022, 0, 0, 0, 0, 0}, {5143, 1088, 0, 0, 0, 0, 0}, {1032, 1088, 4112, 0, 0, 0, 0}, {4915, 85, 1280, 0, 0, 0, 0}, {4186, 4144, 1536, 16384, 0, 0, 0}, {5147, 119, 4883, 17476, 0, 0, 0}, {8352, 15420, 20560, 0, 0, 0, 0}, {34, 768, 277, 4352, 0, 0, 0}, {5150, 34, 5654, 17476, 0, 0, 0}, {4191, 4192, 768, 16384, 0, 0, 0}, {20640, 19456, 28672, 0, 0, 0, 0}, {278, 85, 1028, 4369, 0, 0, 0}, {520, 34, 5120, 0, 0, 0, 0}, {63, 771, 4176, 0, 0, 0, 0}, {72, 4128, 1028, 0, 0, 0, 0}, {1295, 4864, 85, 0, 0, 0, 0}, {1548, 1638, 4096, 0, 0, 0, 0}, {5159, 1799, 5200, 0, 0, 0, 0}, {5160, 8224, 17408, 0, 0, 0, 0}, {4111, 4144, 771, 85, 5376, 0, 0}, {170, 5632, 20480, 0, 0, 0, 0}, {72, 119, 771, 1028, 4112, 0, 0}, {3084, 4192, 16384, 0, 0, 0, 0}, {1295, 34, 1799, 85, 4352, 0, 0}, {4104, 34, 4608, 4160, 1028, 0, 0}, {4959, 13056, 20560, 0, 0, 0, 0}, {3072, 4208, 16448, 0, 0, 0, 0}, {1290, 34, 1792, 85, 4369, 0, 0}, {4120, 34, 4626, 4176, 1024, 0, 0}, {4940, 13107, 20480, 0, 0, 0, 0}, {5180, 8192, 17476, 0, 0, 0, 0}, {4127, 4128, 768, 85, 5397, 0, 0}, {170, 5654, 20560, 0, 0, 0, 0}, {72, 119, 768, 1024, 4096, 0, 0}, {72, 4144, 1024, 0, 0, 0, 0}, {1290, 4883, 85, 0, 0, 0, 0}, {1546, 1632, 4112, 0, 0, 0, 0}, {5171, 1792, 5188, 0, 0, 0, 0}, {20720, 19532, 28784, 0, 0, 0, 0}, {279, 85, 1024, 4352, 0, 0, 0}, {522, 34, 5140, 0, 0, 0, 0}, {63, 768, 4160, 0, 0, 0, 0}, {192, 3072, 4096, 0, 0, 0, 0}, {34, 514, 85, 1285, 4369, 0, 0}, {4098, 1088, 0, 0, 0, 0, 0}, {20495, 4915, 0, 0, 0, 0, 0}, {8200, 5188, 0, 0, 0, 0, 0}, {816, 4101, 0, 0, 0, 0, 0}, {20490, 5734, 0, 0, 0, 0, 0}, {4103, 1088, 0, 0, 0, 0, 0}, {4104, 12288, 4160, 5120, 0, 0, 0}, {4921, 13107, 85, 1285, 0, 0, 0}, {4106, 4192, 5632, 16384, 0, 0, 0}, {5195, 119, 1799, 17476, 0, 0, 0}, {7372, 8192, 20480, 0, 0, 0, 0}, {269, 514, 1285, 272, 0, 0, 0}, {5198, 34, 514, 17476, 0, 0, 0}, {4111, 4144, 4864, 16384, 0, 0, 0}, {7376, 8224, 20560, 0, 0, 0, 0}, {268, 512, 1280, 273, 0, 0, 0}, {5210, 34, 512, 17408, 0, 0, 0}, {4127, 4128, 4883, 16448, 0, 0, 0}, {4120, 12336, 4176, 5140, 0, 0, 0}, {4906, 13056, 85, 1280, 0, 0, 0}, {4122, 4208, 5654, 16448, 0, 0, 0}, {5215, 119, 1792, 17408, 0, 0, 0}, {8232, 5200, 0, 0, 0, 0, 0}, {819, 4117, 0, 0, 0, 0, 0}, {20570, 5744, 0, 0, 0, 0, 0}, {4119, 1092, 0, 0, 0, 0, 0}, {192, 3084, 4112, 0, 0, 0, 0}, {34, 512, 85, 1280, 4352, 0, 0}, {4114, 1092, 0, 0, 0, 0, 0}, {20575, 4896, 0, 0, 0, 0, 0}, {3072, 4128, 16448, 0, 0, 0, 0}, {1295, 34, 512, 85, 4369, 0, 0}, {72, 34, 512, 1024, 4096, 0, 0}, {255, 4883, 20560, 0, 0, 0, 0}, {5228, 13380, 17476, 0, 0, 0, 0}, {4122, 4133, 4885, 85, 5397, 0, 0}, {5708, 13926, 20480, 0, 0, 0, 0}, {4120, 4135, 4887, 4176, 1024, 0, 0}, {72, 4192, 1024, 0, 0, 0, 0}, {1295, 5654, 85, 0, 0, 0, 0}, {4138, 1536, 4160, 0, 0, 0, 0}, {4891, 119, 5140, 0, 0, 0, 0}, {20640, 19532, 8224, 0, 0, 0, 0}, {274, 85, 1024, 4352, 0, 0, 0}, {34, 512, 5188, 0, 0, 0, 0}, {783, 816, 4112, 0, 0, 0, 0}, {20720, 19456, 8192, 0, 0, 0, 0}, {275, 85, 1028, 4369, 0, 0, 0}, {34, 514, 5200, 0, 0, 0, 0}, {780, 819, 4096, 0, 0, 0, 0}, {72, 4208, 1028, 0, 0, 0, 0}, {1290, 5632, 85, 0, 0, 0, 0}, {4154, 1542, 4176, 0, 0, 0, 0}, {4872, 119, 5120, 0, 0, 0, 0}, {5240, 13424, 17408, 0, 0, 0, 0}, {4106, 4149, 4870, 85, 5376, 0, 0}, {5722, 13904, 20560, 0, 0, 0, 0}, {4104, 4151, 4868, 4160, 1028, 0, 0}, {3084, 4144, 16384, 0, 0, 0, 0}, {1290, 34, 514, 85, 4352, 0, 0}, {72, 34, 514, 1028, 4112, 0, 0}, {255, 4864, 20480, 0, 0, 0, 0}, {7424, 8704, 21760, 0, 0, 0, 0}, {28, 32, 80, 257, 0, 0, 0}, {5386, 32, 514, 16384, 0, 0, 0}, {4367, 4403, 771, 17408, 0, 0, 0}, {4360, 13056, 4420, 1028, 0, 0, 0}, {4618, 12288, 80, 1285, 0, 0, 0}, {4362, 4454, 1542, 17408, 0, 0, 0}, {5391, 112, 1799, 16384, 0, 0, 0}, {8712, 5376, 0, 0, 0, 0, 0}, {771, 4357, 0, 0, 0, 0, 0}, {21770, 5888, 0, 0, 0, 0, 0}, {4359, 1028, 0, 0, 0, 0, 0}, {204, 3084, 4352, 0, 0, 0, 0}, {32, 514, 80, 1285, 4096, 0, 0}, {4354, 1028, 0, 0, 0, 0, 0}, {21775, 4608, 0, 0, 0, 0, 0}, {32, 512, 80, 1280, 4112, 0, 0}, {204, 3072, 4369, 0, 0, 0, 0}, {21850, 4626, 0, 0, 0, 0, 0}, {4371, 1024, 0, 0, 0, 0, 0}, {768, 4372, 0, 0, 0, 0, 0}, {8746, 5397, 0, 0, 0, 0, 0}, {4374, 1024, 0, 0, 0, 0, 0}, {21855, 5911, 0, 0, 0, 0, 0}, {4632, 12336, 80, 1280, 0, 0, 0}, {4377, 13107, 4437, 1024, 0, 0, 0}, {5402, 112, 1792, 16448, 0, 0, 0}, {4379, 4471, 1536, 17476, 0, 0, 0}, {28, 32, 80, 256, 0, 0, 0}, {7453, 8738, 21845, 0, 0, 0, 0}, {4382, 4386, 768, 17476, 0, 0, 0}, {5407, 32, 512, 16448, 0, 0, 0}, {32, 512, 5376, 0, 0, 0, 0}, {60, 771, 4369, 0, 0, 0, 0}, {21930, 7458, 8738, 0, 0, 0, 0}, {259, 80, 1040, 4112, 0, 0, 0}, {1548, 5924, 4420, 0, 0, 0, 0}, {1807, 5413, 5461, 0, 0, 0, 0}, {1036, 5414, 1088, 0, 0, 0, 0}, {1295, 5927, 80, 0, 0, 0, 0}, {5928, 13568, 21760, 0, 0, 0, 0}, {4377, 4389, 771, 4437, 5397, 0, 0}, {5418, 14080, 16384, 0, 0, 0, 0}, {4379, 4391, 771, 80, 5140, 0, 0}, {1036, 32, 512, 1088, 4352, 0, 0}, {3855, 4642, 21845, 0, 0, 0, 0}, {3084, 4386, 17476, 0, 0, 0, 0}, {1295, 32, 512, 80, 4096, 0, 0}, {3840, 4656, 21760, 0, 0, 0, 0}, {1032, 32, 514, 1092, 4369, 0, 0}, {1290, 32, 514, 80, 4112, 0, 0}, {3072, 4403, 17408, 0, 0, 0, 0}, {4360, 4404, 768, 4420, 5376, 0, 0}, {5951, 13621, 21845, 0, 0, 0, 0}, {4362, 4406, 768, 80, 5120, 0, 0}, {5439, 14135, 16448, 0, 0, 0, 0}, {1800, 5424, 5440, 0, 0, 0, 0}, {1546, 5939, 4437, 0, 0, 0, 0}, {1290, 5936, 80, 0, 0, 0, 0}, {1032, 5427, 1092, 0, 0, 0, 0}, {60, 768, 4352, 0, 0, 0, 0}, {32, 514, 5397, 0, 0, 0, 0}, {258, 80, 1044, 4096, 0, 0, 0}, {22015, 7487, 8704, 0, 0, 0, 0}, {2048, 8704, 5440, 0, 0, 0, 0}, {783, 819, 80, 1285, 4369, 0, 0}, {21770, 16962, 0, 0, 0, 0, 0}, {4419, 1024, 0, 0, 0, 0, 0}, {3072, 13056, 4420, 0, 0, 0, 0}, {522, 32, 80, 1285, 4112, 0, 0}, {4422, 1024, 0, 0, 0, 0, 0}, {21775, 18247, 0, 0, 0, 0, 0}, {8840, 7496, 21760, 0, 0, 0, 0}, {32, 787, 261, 4096, 0, 0, 0}, {5450, 32, 5952, 16448, 0, 0, 0}, {4427, 4471, 4676, 17476, 0, 0, 0}, {76, 1024, 4352, 0, 0, 0, 0}, {4626, 80, 1285, 0, 0, 0, 0}, {4430, 4386, 5956, 17476, 0, 0, 0}, {5455, 112, 4672, 16448, 0, 0, 0}, {4608, 80, 1280, 0, 0, 0, 0}, {76, 1028, 4369, 0, 0, 0, 0}, {5466, 112, 4690, 16384, 0, 0, 0}, {4447, 4403, 5971, 17408, 0, 0, 0}, {32, 784, 260, 4112, 0, 0, 0}, {8874, 7509, 21845, 0, 0, 0, 0}, {4442, 4454, 4694, 17408, 0, 0, 0}, {5471, 32, 5975, 16384, 0, 0, 0}, {520, 32, 80, 1280, 4096, 0, 0}, {3084, 13107, 4437, 0, 0, 0, 0}, {21850, 18176, 0, 0, 0, 0, 0}, {4439, 1028, 0, 0, 0, 0, 0}, {780, 816, 80, 1280, 4352, 0, 0}, {2056, 8738, 5461, 0, 0, 0, 0}, {4434, 1028, 0, 0, 0, 0, 0}, {21855, 16896, 0, 0, 0, 0, 0}, {2560, 5984, 21760, 0, 0, 0, 0}, {1032, 1076, 1799, 1092, 4369, 0, 0}, {5482, 8738, 16448, 0, 0, 0, 0}, {4367, 4403, 4608, 80, 5120, 0, 0}, {4360, 32, 4864, 4420, 5376, 0, 0}, {4714, 12336, 21845, 0, 0, 0, 0}, {3072, 4454, 17408, 0, 0, 0, 0}, {1295, 32, 1799, 80, 4112, 0, 0}, {520, 32, 5440, 0, 0, 0, 0}, {783, 819, 4437, 0, 0, 0, 0}, {21930, 7530, 30464, 0, 0, 0, 0}, {263, 80, 1044, 4096, 0, 0, 0}, {108, 1536, 4352, 0, 0, 0, 0}, {112, 4626, 5397, 0, 0, 0, 0}, {1032, 4386, 1092, 0, 0, 0, 0}, {1295, 4656, 80, 0, 0, 0, 0}, {112, 4608, 5376, 0, 0, 0, 0}, {108, 1542, 4369, 0, 0, 0, 0}, {1290, 4642, 80, 0, 0, 0, 0}, {1036, 4403, 1088, 0, 0, 0, 0}, {780, 816, 4420, 0, 0, 0, 0}, {522, 32, 5461, 0, 0, 0, 0}, {262, 80, 1040, 4112, 0, 0, 0}, {22015, 7543, 30583, 0, 0, 0, 0}, {4728, 12288, 21760, 0, 0, 0, 0}, {4377, 32, 4883, 4437, 5397, 0, 0}, {1290, 32, 1792, 80, 4096, 0, 0}, {3084, 4471, 17476, 0, 0, 0, 0}, {1036, 1072, 1792, 1088, 4352, 0, 0}, {2570, 6007, 21845, 0, 0, 0, 0}, {4382, 4386, 4626, 80, 5140, 0, 0}, {5503, 8704, 16384, 0, 0, 0, 0}, {128, 8704, 5376, 0, 0, 0, 0}, {60, 771, 80, 1285, 4369, 0, 0}, {21770, 16930, 0, 0, 0, 0, 0}, {5379, 1088, 0, 0, 0, 0, 0}, {3084, 13056, 4420, 0, 0, 0, 0}, {522, 32, 80, 1285, 4096, 0, 0}, {5382, 1088, 0, 0, 0, 0, 0}, {21775, 18295, 0, 0, 0, 0, 0}, {8840, 16128, 21760, 0, 0, 0, 0}, {32, 771, 277, 4112, 0, 0, 0}, {5386, 32, 5888, 16384, 0, 0, 0}, {4427, 4471, 771, 17476, 0, 0, 0}, {1036, 1088, 4352, 0, 0, 0, 0}, {4642, 80, 1285, 0, 0, 0, 0}, {4430, 4386, 1542, 17476, 0, 0, 0}, {5391, 112, 4608, 16384, 0, 0, 0}, {4656, 80, 1280, 0, 0, 0, 0}, {1032, 1092, 4369, 0, 0, 0, 0}, {5402, 112, 4626, 16448, 0, 0, 0}, {4447, 4403, 1536, 17408, 0, 0, 0}, {32, 768, 276, 4096, 0, 0, 0}, {8874, 16191, 21845, 0, 0, 0, 0}, {4442, 4454, 768, 17408, 0, 0, 0}, {5407, 32, 5911, 16448, 0, 0, 0}, {520, 32, 80, 1280, 4112, 0, 0}, {3072, 13107, 4437, 0, 0, 0, 0}, {21850, 18224, 0, 0, 0, 0, 0}, {5395, 1092, 0, 0, 0, 0, 0}, {60, 768, 80, 1280, 4352, 0, 0}, {128, 8738, 5397, 0, 0, 0, 0}, {5398, 1092, 0, 0, 0, 0, 0}, {21855, 16992, 0, 0, 0, 0, 0}, {160, 5888, 21760, 0, 0, 0, 0}, {76, 112, 771, 1028, 4369, 0, 0}, {5418, 8738, 16384, 0, 0, 0, 0}, {4367, 4403, 771, 80, 5120, 0, 0}, {4360, 32, 4864, 4420, 1028, 0, 0}, {4698, 12288, 21845, 0, 0, 0, 0}, {3084, 4454, 17408, 0, 0, 0, 0}, {1295, 32, 1799, 80, 4096, 0, 0}, {520, 32, 5376, 0, 0, 0, 0}, {60, 771, 4437, 0, 0, 0, 0}, {21930, 18432, 30464, 0, 0, 0, 0}, {279, 80, 1028, 4112, 0, 0, 0}, {1548, 1632, 4352, 0, 0, 0, 0}, {5413, 1799, 5461, 0, 0, 0, 0}, {76, 4386, 1028, 0, 0, 0, 0}, {1295, 4608, 80, 0, 0, 0, 0}, {5424, 1792, 5440, 0, 0, 0, 0}, {1546, 1638, 4369, 0, 0, 0, 0}, {1290, 4626, 80, 0, 0, 0, 0}, {76, 4403, 1024, 0, 0, 0, 0}, {60, 768, 4420, 0, 0, 0, 0}, {522, 32, 5397, 0, 0, 0, 0}, {278, 80, 1024, 4096, 0, 0, 0}, {22015, 18504, 30583, 0, 0, 0, 0}, {4680, 12336, 21760, 0, 0, 0, 0}, {4377, 32, 4883, 4437, 1024, 0, 0}, {1290, 32, 1792, 80, 4112, 0, 0}, {3072, 4471, 17476, 0, 0, 0, 0}, {76, 112, 768, 1024, 4352, 0, 0}, {160, 5911, 21845, 0, 0, 0, 0}, {4382, 4386, 768, 80, 5140, 0, 0}, {5439, 8704, 16448, 0, 0, 0, 0}, {7616, 8704, 21760, 0, 0, 0, 0}, {269, 514, 1285, 273, 0, 0, 0}, {5450, 32, 514, 16448, 0, 0, 0}, {4367, 4403, 4608, 17408, 0, 0, 0}, {4360, 13056, 4420, 5376, 0, 0, 0}, {4666, 12336, 80, 1285, 0, 0, 0}, {4362, 4454, 5888, 17408, 0, 0, 0}, {5455, 112, 1799, 16448, 0, 0, 0}, {8712, 5440, 0, 0, 0, 0, 0}, {819, 4357, 0, 0, 0, 0, 0}, {21770, 5984, 0, 0, 0, 0, 0}, {4359, 1092, 0, 0, 0, 0, 0}, {204, 3072, 4352, 0, 0, 0, 0}, {32, 514, 80, 1285, 4112, 0, 0}, {4354, 1092, 0, 0, 0, 0, 0}, {21775, 4656, 0, 0, 0, 0, 0}, {32, 512, 80, 1280, 4096, 0, 0}, {204, 3084, 4369, 0, 0, 0, 0}, {21850, 4642, 0, 0, 0, 0, 0}, {4371, 1088, 0, 0, 0, 0, 0}, {816, 4372, 0, 0, 0, 0, 0}, {8746, 5461, 0, 0, 0, 0, 0}, {4374, 1088, 0, 0, 0, 0, 0}, {21855, 6007, 0, 0, 0, 0, 0}, {4648, 12288, 80, 1280, 0, 0, 0}, {4377, 13107, 4437, 5397, 0, 0, 0}, {5466, 112, 1792, 16384, 0, 0, 0}, {4379, 4471, 5911, 17476, 0, 0, 0}, {268, 512, 1280, 272, 0, 0, 0}, {7645, 8738, 21845, 0, 0, 0, 0}, {4382, 4386, 4626, 17476, 0, 0, 0}, {5471, 32, 512, 16384, 0, 0, 0}, {32, 512, 5440, 0, 0, 0, 0}, {783, 819, 4369, 0, 0, 0, 0}, {21930, 18504, 8738, 0, 0, 0, 0}, {275, 80, 1024, 4096, 0, 0, 0}, {4392, 1536, 4420, 0, 0, 0, 0}, {4634, 112, 5397, 0, 0, 0, 0}, {76, 4454, 1024, 0, 0, 0, 0}, {1295, 5911, 80, 0, 0, 0, 0}, {5960, 13664, 21760, 0, 0, 0, 0}, {4377, 4389, 4630, 4437, 1024, 0, 0}, {5482, 14144, 16448, 0, 0, 0, 0}, {4379, 4391, 4628, 80, 5140, 0, 0}, {76, 32, 512, 1024, 4352, 0, 0}, {240, 4626, 21845, 0, 0, 0, 0}, {3072, 4386, 17476, 0, 0, 0, 0}, {1295, 32, 512, 80, 4112, 0, 0}, {240, 4608, 21760, 0, 0, 0, 0}, {76, 32, 514, 1028, 4369, 0, 0}, {1290, 32, 514, 80, 4096, 0, 0}, {3084, 4403, 17408, 0, 0, 0, 0}, {4360, 4404, 4612, 4420, 1028, 0, 0}, {5983, 13653, 21845, 0, 0, 0, 0}, {4362, 4406, 4614, 80, 5120, 0, 0}, {5503, 14199, 16384, 0, 0, 0, 0}, {4616, 112, 5376, 0, 0, 0, 0}, {4409, 1542, 4437, 0, 0, 0, 0}, {1290, 5888, 80, 0, 0, 0, 0}, {76, 4471, 1028, 0, 0, 0, 0}, {780, 816, 4352, 0, 0, 0, 0}, {32, 514, 5461, 0, 0, 0, 0}, {274, 80, 1028, 4112, 0, 0, 0}, {22015, 18432, 8704, 0, 0, 0, 0}, {7680, 8704, 17408, 0, 0, 0, 0}, {31, 32, 64, 257, 0, 0, 0}, {5128, 32, 514, 20480, 0, 0, 0}, {4364, 4403, 771, 21760, 0, 0, 0}, {4616, 12288, 64, 1028, 0, 0, 0}, {4362, 13056, 4437, 1285, 0, 0, 0}, {5132, 96, 1542, 20480, 0, 0, 0}, {4360, 4471, 1799, 21760, 0, 0, 0}, {17416, 5632, 0, 0, 0, 0, 0}, {4358, 1285, 0, 0, 0, 0, 0}, {8714, 5120, 0, 0, 0, 0, 0}, {771, 4356, 0, 0, 0, 0, 0}, {17420, 4608, 0, 0, 0, 0, 0}, {4354, 1285, 0, 0, 0, 0, 0}, {32, 514, 64, 1028, 4096, 0, 0}, {255, 3855, 4352, 0, 0, 0, 0}, {32, 512, 64, 1024, 4112, 0, 0}, {255, 3840, 4369, 0, 0, 0, 0}, {17480, 4626, 0, 0, 0, 0, 0}, {4371, 1280, 0, 0, 0, 0, 0}, {8744, 5140, 0, 0, 0, 0, 0}, {768, 4373, 0, 0, 0, 0, 0}, {17484, 5654, 0, 0, 0, 0, 0}, {4375, 1280, 0, 0, 0, 0, 0}, {5144, 96, 1536, 20560, 0, 0, 0}, {4377, 4454, 1792, 21845, 0, 0, 0}, {4634, 12336, 64, 1024, 0, 0, 0}, {4379, 13107, 4420, 1280, 0, 0, 0}, {5148, 32, 512, 20560, 0, 0, 0}, {4381, 4386, 768, 21845, 0, 0, 0}, {7710, 8738, 17476, 0, 0, 0, 0}, {31, 32, 64, 256, 0, 0, 0}, {32, 512, 5120, 0, 0, 0, 0}, {63, 771, 4369, 0, 0, 0, 0}, {17544, 7714, 8738, 0, 0, 0, 0}, {259, 64, 1296, 4112, 0, 0, 0}, {1548, 5156, 5188, 0, 0, 0, 0}, {1807, 5669, 4437, 0, 0, 0, 0}, {1036, 5670, 64, 0, 0, 0, 0}, {1295, 5159, 1360, 0, 0, 0, 0}, {5160, 13824, 20480, 0, 0, 0, 0}, {4377, 4390, 771, 64, 5397, 0, 0}, {5674, 13312, 17408, 0, 0, 0, 0}, {4379, 4388, 771, 4420, 5140, 0, 0}, {1036, 32, 512, 64, 4096, 0, 0}, {3855, 4386, 21845, 0, 0, 0, 0}, {3084, 4642, 17476, 0, 0, 0, 0}, {1295, 32, 512, 1360, 4352, 0, 0}, {3072, 4656, 17408, 0, 0, 0, 0}, {1290, 32, 514, 1365, 4369, 0, 0}, {1032, 32, 514, 64, 4112, 0, 0}, {3840, 4403, 21760, 0, 0, 0, 0}, {5692, 13364, 17476, 0, 0, 0, 0}, {4362, 4405, 768, 4437, 5120, 0, 0}, {5180, 13878, 20560, 0, 0, 0, 0}, {4360, 4407, 768, 64, 5376, 0, 0}, {1032, 5680, 64, 0, 0, 0, 0}, {1290, 5171, 1365, 0, 0, 0, 0}, {1546, 5168, 5200, 0, 0, 0, 0}, {1800, 5683, 4420, 0, 0, 0, 0}, {17612, 7740, 8704, 0, 0, 0, 0}, {258, 64, 1301, 4096, 0, 0, 0}, {32, 514, 5140, 0, 0, 0, 0}, {63, 768, 4352, 0, 0, 0, 0}, {4608, 64, 1024, 0, 0, 0, 0}, {95, 1285, 4369, 0, 0, 0, 0}, {5192, 96, 4674, 20480, 0, 0, 0}, {4428, 4403, 5699, 21760, 0, 0, 0}, {8840, 7748, 17476, 0, 0, 0, 0}, {32, 784, 261, 4112, 0, 0, 0}, {5196, 32, 5702, 20480, 0, 0, 0}, {4424, 4471, 4679, 21760, 0, 0, 0}, {17480, 22016, 0, 0, 0, 0, 0}, {4422, 1285, 0, 0, 0, 0, 0}, {522, 32, 64, 1024, 4096, 0, 0}, {3855, 13107, 4420, 0, 0, 0, 0}, {17484, 20992, 0, 0, 0, 0, 0}, {4418, 1285, 0, 0, 0, 0, 0}, {2570, 8738, 5188, 0, 0, 0, 0}, {783, 816, 64, 1024, 4352, 0, 0}, {2560, 8704, 5200, 0, 0, 0, 0}, {780, 819, 64, 1028, 4369, 0, 0}, {17416, 21074, 0, 0, 0, 0, 0}, {4435, 1280, 0, 0, 0, 0, 0}, {520, 32, 64, 1028, 4112, 0, 0}, {3840, 13056, 4437, 0, 0, 0, 0}, {17420, 22102, 0, 0, 0, 0, 0}, {4439, 1280, 0, 0, 0, 0, 0}, {5208, 32, 5712, 20560, 0, 0, 0}, {4441, 4454, 4693, 21845, 0, 0, 0}, {8874, 7770, 17408, 0, 0, 0, 0}, {32, 787, 260, 4096, 0, 0, 0}, {5212, 96, 4688, 20560, 0, 0, 0}, {4445, 4386, 5717, 21845, 0, 0, 0}, {4626, 64, 1028, 0, 0, 0, 0}, {95, 1280, 4352, 0, 0, 0, 0}, {96, 4608, 5120, 0, 0, 0, 0}, {127, 1799, 4369, 0, 0, 0, 0}, {1032, 4642, 64, 0, 0, 0, 0}, {1295, 4403, 1360, 0, 0, 0, 0}, {520, 32, 5188, 0, 0, 0, 0}, {783, 816, 4437, 0, 0, 0, 0}, {17612, 7782, 26214, 0, 0, 0, 0}, {263, 64, 1296, 4112, 0, 0, 0}, {1032, 32, 1536, 64, 4096, 0, 0}, {3855, 4454, 21845, 0, 0, 0, 0}, {4714, 12288, 17408, 0, 0, 0, 0}, {4379, 32, 4883, 4420, 5140, 0, 0}, {5228, 8704, 20480, 0, 0, 0, 0}, {4381, 4386, 4626, 64, 5397, 0, 0}, {2056, 5734, 17476, 0, 0, 0, 0}, {1295, 1328, 1536, 1360, 4352, 0, 0}, {2048, 5744, 17408, 0, 0, 0, 0}, {1290, 1333, 1542, 1365, 4369, 0, 0}, {5240, 8738, 20560, 0, 0, 0, 0}, {4364, 4403, 4608, 64, 5376, 0, 0}, {4728, 12336, 17476, 0, 0, 0, 0}, {4362, 32, 4864, 4437, 5120, 0, 0}, {1036, 32, 1542, 64, 4112, 0, 0}, {3840, 4471, 21760, 0, 0, 0, 0}, {17544, 7800, 26112, 0, 0, 0, 0}, {262, 64, 1301, 4096, 0, 0, 0}, {522, 32, 5200, 0, 0, 0, 0}, {780, 819, 4420, 0, 0, 0, 0}, {1036, 4656, 64, 0, 0, 0, 0}, {1290, 4386, 1365, 0, 0, 0, 0}, {96, 4626, 5140, 0, 0, 0, 0}, {127, 1792, 4352, 0, 0, 0, 0}, {128, 5632, 17408, 0, 0, 0, 0}, {95, 96, 771, 1285, 4369, 0, 0}, {5160, 8738, 20480, 0, 0, 0, 0}, {4364, 4403, 771, 64, 5376, 0, 0}, {4680, 12288, 17476, 0, 0, 0, 0}, {4362, 32, 4864, 4437, 1285, 0, 0}, {1036, 32, 1542, 64, 4096, 0, 0}, {3855, 4471, 21760, 0, 0, 0, 0}, {17544, 23040, 26112, 0, 0, 0, 0}, {278, 64, 1285, 4112, 0, 0, 0}, {522, 32, 5120, 0, 0, 0, 0}, {63, 771, 4420, 0, 0, 0, 0}, {1036, 4608, 64, 0, 0, 0, 0}, {95, 4386, 1285, 0, 0, 0, 0}, {5156, 1542, 5188, 0, 0, 0, 0}, {1807, 1904, 4352, 0, 0, 0, 0}, {5168, 1536, 5200, 0, 0, 0, 0}, {1800, 1911, 4369, 0, 0, 0, 0}, {1032, 4626, 64, 0, 0, 0, 0}, {95, 4403, 1280, 0, 0, 0, 0}, {520, 32, 5140, 0, 0, 0, 0}, {63, 768, 4437, 0, 0, 0, 0}, {17612, 23130, 26214, 0, 0, 0, 0}, {279, 64, 1280, 4096, 0, 0, 0}, {1032, 32, 1536, 64, 4112, 0, 0}, {3840, 4454, 21845, 0, 0, 0, 0}, {4698, 12336, 17408, 0, 0, 0, 0}, {4379, 32, 4883, 4420, 1280, 0, 0}, {5180, 8704, 20560, 0, 0, 0, 0}, {4381, 4386, 768, 64, 5397, 0, 0}, {128, 5654, 17476, 0, 0, 0, 0}, {95, 96, 768, 1280, 4352, 0, 0}, {160, 8704, 5120, 0, 0, 0, 0}, {63, 771, 64, 1028, 4369, 0, 0}, {17416, 21026, 0, 0, 0, 0, 0}, {5123, 1360, 0, 0, 0, 0, 0}, {520, 32, 64, 1028, 4096, 0, 0}, {3855, 13056, 4437, 0, 0, 0, 0}, {17420, 22118, 0, 0, 0, 0, 0}, {5127, 1360, 0, 0, 0, 0, 0}, {5128, 32, 5632, 20480, 0, 0, 0}, {4441, 4454, 771, 21845, 0, 0, 0}, {8874, 15360, 17408, 0, 0, 0, 0}, {32, 771, 276, 4112, 0, 0, 0}, {5132, 96, 4608, 20480, 0, 0, 0}, {4445, 4386, 1799, 21845, 0, 0, 0}, {4642, 64, 1028, 0, 0, 0, 0}, {1295, 1360, 4352, 0, 0, 0, 0}, {4656, 64, 1024, 0, 0, 0, 0}, {1290, 1365, 4369, 0, 0, 0, 0}, {5144, 96, 4626, 20560, 0, 0, 0}, {4428, 4403, 1792, 21760, 0, 0, 0}, {8840, 15420, 17476, 0, 0, 0, 0}, {32, 768, 277, 4096, 0, 0, 0}, {5148, 32, 5654, 20560, 0, 0, 0}, {4424, 4471, 768, 21760, 0, 0, 0}, {17480, 22064, 0, 0, 0, 0, 0}, {5139, 1365, 0, 0, 0, 0, 0}, {522, 32, 64, 1024, 4112, 0, 0}, {3840, 13107, 4420, 0, 0, 0, 0}, {17484, 21104, 0, 0, 0, 0, 0}, {5143, 1365, 0, 0, 0, 0, 0}, {160, 8738, 5140, 0, 0, 0, 0}, {63, 768, 64, 1024, 4352, 0, 0}, {192, 4608, 17408, 0, 0, 0, 0}, {95, 32, 514, 1285, 4369, 0, 0}, {1032, 32, 514, 64, 4096, 0, 0}, {3855, 4403, 21760, 0, 0, 0, 0}, {5708, 13380, 17476, 0, 0, 0, 0}, {4362, 4405, 4613, 4437, 1285, 0, 0}, {5228, 13926, 20480, 0, 0, 0, 0}, {4360, 4407, 4615, 64, 5376, 0, 0}, {1032, 5632, 64, 0, 0, 0, 0}, {95, 4454, 1285, 0, 0, 0, 0}, {4618, 96, 5120, 0, 0, 0, 0}, {4411, 1799, 4420, 0, 0, 0, 0}, {17612, 23040, 8704, 0, 0, 0, 0}, {274, 64, 1285, 4112, 0, 0, 0}, {32, 514, 5188, 0, 0, 0, 0}, {783, 816, 4352, 0, 0, 0, 0}, {32, 512, 5200, 0, 0, 0, 0}, {780, 819, 4369, 0, 0, 0, 0}, {17544, 23130, 8738, 0, 0, 0, 0}, {275, 64, 1280, 4096, 0, 0, 0}, {4632, 96, 5140, 0, 0, 0, 0}, {4394, 1792, 4437, 0, 0, 0, 0}, {1036, 5654, 64, 0, 0, 0, 0}, {95, 4471, 1280, 0, 0, 0, 0}, {5240, 13904, 20560, 0, 0, 0, 0}, {4377, 4390, 4629, 64, 5397, 0, 0}, {5722, 13424, 17408, 0, 0, 0, 0}, {4379, 4388, 4631, 4420, 1280, 0, 0}, {1036, 32, 512, 64, 4112, 0, 0}, {3840, 4386, 21845, 0, 0, 0, 0}, {192, 4626, 17476, 0, 0, 0, 0}, {95, 32, 512, 1280, 4352, 0, 0}, {32, 512, 64, 1024, 4096, 0, 0}, {255, 3855, 4369, 0, 0, 0, 0}, {17480, 4642, 0, 0, 0, 0, 0}, {4371, 1360, 0, 0, 0, 0, 0}, {8744, 5188, 0, 0, 0, 0, 0}, {816, 4373, 0, 0, 0, 0, 0}, {17484, 5734, 0, 0, 0, 0, 0}, {4375, 1360, 0, 0, 0, 0, 0}, {5192, 96, 1536, 20480, 0, 0, 0}, {4377, 4454, 5654, 21845, 0, 0, 0}, {4650, 12288, 64, 1024, 0, 0, 0}, {4379, 13107, 4420, 5140, 0, 0, 0}, {5196, 32, 512, 20480, 0, 0, 0}, {4381, 4386, 4626, 21845, 0, 0, 0}, {7918, 8738, 17476, 0, 0, 0, 0}, {271, 512, 1024, 272, 0, 0, 0}, {7920, 8704, 17408, 0, 0, 0, 0}, {270, 514, 1028, 273, 0, 0, 0}, {5208, 32, 514, 20560, 0, 0, 0}, {4364, 4403, 4608, 21760, 0, 0, 0}, {4664, 12336, 64, 1028, 0, 0, 0}, {4362, 13056, 4437, 5120, 0, 0, 0}, {5212, 96, 1542, 20560, 0, 0, 0}, {4360, 4471, 5632, 21760, 0, 0, 0}, {17416, 5744, 0, 0, 0, 0, 0}, {4358, 1365, 0, 0, 0, 0, 0}, {8714, 5200, 0, 0, 0, 0, 0}, {819, 4356, 0, 0, 0, 0, 0}, {17420, 4656, 0, 0, 0, 0, 0}, {4354, 1365, 0, 0, 0, 0, 0}, {32, 514, 64, 1028, 4112, 0, 0}, {255, 3840, 4352, 0, 0, 0, 0}, {7936, 8192, 16384, 0, 0, 0, 0}, {30, 34, 68, 257, 0, 0, 0}, {5384, 34, 514, 21760, 0, 0, 0}, {4108, 4144, 771, 20480, 0, 0, 0}, {4872, 13056, 68, 1028, 0, 0, 0}, {4106, 12288, 4176, 1285, 0, 0, 0}, {5388, 102, 1542, 21760, 0, 0, 0}, {4104, 4208, 1799, 20480, 0, 0, 0}, {16392, 5888, 0, 0, 0, 0, 0}, {4102, 1285, 0, 0, 0, 0, 0}, {8202, 5376, 0, 0, 0, 0, 0}, {771, 4100, 0, 0, 0, 0, 0}, {16396, 4864, 0, 0, 0, 0, 0}, {4098, 1285, 0, 0, 0, 0, 0}, {34, 514, 68, 1028, 4352, 0, 0}, {240, 3855, 4096, 0, 0, 0, 0}, {240, 3840, 4112, 0, 0, 0, 0}, {34, 512, 68, 1024, 4369, 0, 0}, {4114, 1280, 0, 0, 0, 0, 0}, {16460, 4883, 0, 0, 0, 0, 0}, {768, 4116, 0, 0, 0, 0, 0}, {8234, 5397, 0, 0, 0, 0, 0}, {4118, 1280, 0, 0, 0, 0, 0}, {16456, 5911, 0, 0, 0, 0, 0}, {4120, 4192, 1792, 20560, 0, 0, 0}, {5401, 102, 1536, 21845, 0, 0, 0}, {4122, 12336, 4160, 1280, 0, 0, 0}, {4891, 13107, 68, 1024, 0, 0, 0}, {4124, 4128, 768, 20560, 0, 0, 0}, {5405, 34, 512, 21845, 0, 0, 0}, {30, 34, 68, 256, 0, 0, 0}, {7967, 8224, 16448, 0, 0, 0, 0}, {16512, 7968, 8224, 0, 0, 0, 0}, {259, 68, 1297, 4369, 0, 0, 0}, {34, 512, 5376, 0, 0, 0, 0}, {60, 771, 4112, 0, 0, 0, 0}, {1036, 5924, 68, 0, 0, 0, 0}, {1295, 5413, 1365, 0, 0, 0, 0}, {1548, 5414, 5440, 0, 0, 0, 0}, {1807, 5927, 4176, 0, 0, 0, 0}, {5928, 14080, 16384, 0, 0, 0, 0}, {4122, 4134, 771, 4160, 5397, 0, 0}, {5418, 13568, 21760, 0, 0, 0, 0}, {4120, 4132, 771, 68, 5140, 0, 0}, {3084, 4896, 16448, 0, 0, 0, 0}, {1295, 34, 512, 1365, 4096, 0, 0}, {1036, 34, 512, 68, 4352, 0, 0}, {3855, 4128, 20560, 0, 0, 0, 0}, {3840, 4144, 20480, 0, 0, 0, 0}, {1032, 34, 514, 68, 4369, 0, 0}, {1290, 34, 514, 1360, 4112, 0, 0}, {3072, 4915, 16384, 0, 0, 0, 0}, {4104, 4148, 768, 68, 5120, 0, 0}, {5439, 13621, 21845, 0, 0, 0, 0}, {4106, 4150, 768, 4176, 5376, 0, 0}, {5951, 14135, 16448, 0, 0, 0, 0}, {1800, 5936, 4160, 0, 0, 0, 0}, {1546, 5427, 5461, 0, 0, 0, 0}, {1290, 5424, 1360, 0, 0, 0, 0}, {1032, 5939, 68, 0, 0, 0, 0}, {60, 768, 4096, 0, 0, 0, 0}, {34, 514, 5397, 0, 0, 0, 0}, {258, 68, 1300, 4352, 0, 0, 0}, {16576, 7999, 8192, 0, 0, 0, 0}, {8320, 8000, 16448, 0, 0, 0, 0}, {34, 785, 261, 4369, 0, 0, 0}, {5448, 34, 5954, 21760, 0, 0, 0}, {4172, 4208, 4931, 20480, 0, 0, 0}, {4864, 68, 1024, 0, 0, 0, 0}, {90, 1285, 4112, 0, 0, 0, 0}, {5452, 102, 4934, 21760, 0, 0, 0}, {4168, 4144, 5959, 20480, 0, 0, 0}, {16456, 22272, 0, 0, 0, 0, 0}, {4166, 1285, 0, 0, 0, 0, 0}, {2570, 8224, 5440, 0, 0, 0, 0}, {783, 819, 68, 1024, 4096, 0, 0}, {16460, 21248, 0, 0, 0, 0, 0}, {4162, 1285, 0, 0, 0, 0, 0}, {522, 34, 68, 1024, 4352, 0, 0}, {3855, 12336, 4160, 0, 0, 0, 0}, {3840, 12288, 4176, 0, 0, 0, 0}, {520, 34, 68, 1028, 4369, 0, 0}, {4178, 1280, 0, 0, 0, 0, 0}, {16396, 21331, 0, 0, 0, 0, 0}, {780, 816, 68, 1028, 4112, 0, 0}, {2560, 8192, 5461, 0, 0, 0, 0}, {4182, 1280, 0, 0, 0, 0, 0}, {16392, 22359, 0, 0, 0, 0, 0}, {4184, 4128, 5968, 20560, 0, 0, 0}, {5465, 102, 4949, 21845, 0, 0, 0}, {90, 1280, 4096, 0, 0, 0, 0}, {4883, 68, 1028, 0, 0, 0, 0}, {4188, 4192, 4944, 20560, 0, 0, 0}, {5469, 34, 5973, 21845, 0, 0, 0}, {34, 786, 260, 4352, 0, 0, 0}, {8352, 8031, 16384, 0, 0, 0, 0}, {16576, 8032, 24672, 0, 0, 0, 0}, {263, 68, 1297, 4369, 0, 0, 0}, {520, 34, 5440, 0, 0, 0, 0}, {783, 819, 4176, 0, 0, 0, 0}, {1032, 4896, 68, 0, 0, 0, 0}, {1295, 4144, 1365, 0, 0, 0, 0}, {102, 4864, 5376, 0, 0, 0, 0}, {120, 1799, 4112, 0, 0, 0, 0}, {2056, 5984, 16448, 0, 0, 0, 0}, {1295, 1331, 1536, 1365, 4096, 0, 0}, {5482, 8192, 21760, 0, 0, 0, 0}, {4124, 4128, 4883, 68, 5140, 0, 0}, {4972, 13056, 16384, 0, 0, 0, 0}, {4122, 34, 4626, 4160, 5397, 0, 0}, {1032, 34, 1536, 68, 4352, 0, 0}, {3855, 4192, 20560, 0, 0, 0, 0}, {3840, 4208, 20480, 0, 0, 0, 0}, {1036, 34, 1542, 68, 4369, 0, 0}, {4106, 34, 4608, 4176, 5376, 0, 0}, {4991, 13107, 16448, 0, 0, 0, 0}, {4108, 4144, 4864, 68, 5120, 0, 0}, {5503, 8224, 21845, 0, 0, 0, 0}, {1290, 1334, 1542, 1360, 4112, 0, 0}, {2048, 6007, 16384, 0, 0, 0, 0}, {120, 1792, 4096, 0, 0, 0, 0}, {102, 4883, 5397, 0, 0, 0, 0}, {1290, 4128, 1360, 0, 0, 0, 0}, {1036, 4915, 68, 0, 0, 0, 0}, {780, 816, 4160, 0, 0, 0, 0}, {522, 34, 5461, 0, 0, 0, 0}, {262, 68, 1300, 4352, 0, 0, 0}, {16512, 8063, 24576, 0, 0, 0, 0}, {16512, 24320, 24576, 0, 0, 0, 0}, {279, 68, 1285, 4369, 0, 0, 0}, {522, 34, 5376, 0, 0, 0, 0}, {60, 771, 4160, 0, 0, 0, 0}, {1036, 4864, 68, 0, 0, 0, 0}, {90, 4128, 1285, 0, 0, 0, 0}, {5414, 1542, 5440, 0, 0, 0, 0}, {1807, 1911, 4096, 0, 0, 0, 0}, {136, 5888, 16384, 0, 0, 0, 0}, {90, 102, 771, 1285, 4112, 0, 0}, {5418, 8224, 21760, 0, 0, 0, 0}, {4108, 4144, 771, 68, 5120, 0, 0}, {4940, 13056, 16448, 0, 0, 0, 0}, {4106, 34, 4608, 4176, 1285, 0, 0}, {1036, 34, 1542, 68, 4352, 0, 0}, {3855, 4208, 20480, 0, 0, 0, 0}, {3840, 4192, 20560, 0, 0, 0, 0}, {1032, 34, 1536, 68, 4369, 0, 0}, {4122, 34, 4626, 4160, 1280, 0, 0}, {4959, 13107, 16384, 0, 0, 0, 0}, {4124, 4128, 768, 68, 5140, 0, 0}, {5439, 8192, 21845, 0, 0, 0, 0}, {90, 102, 768, 1280, 4096, 0, 0}, {136, 5911, 16448, 0, 0, 0, 0}, {1800, 1904, 4112, 0, 0, 0, 0}, {5427, 1536, 5461, 0, 0, 0, 0}, {90, 4144, 1280, 0, 0, 0, 0}, {1032, 4883, 68, 0, 0, 0, 0}, {60, 768, 4176, 0, 0, 0, 0}, {520, 34, 5397, 0, 0, 0, 0}, {278, 68, 1280, 4352, 0, 0, 0}, {16576, 24415, 24672, 0, 0, 0, 0}, {8352, 16128, 16384, 0, 0, 0, 0}, {34, 771, 277, 4369, 0, 0, 0}, {5384, 34, 5888, 21760, 0, 0, 0}, {4188, 4192, 771, 20560, 0, 0, 0}, {4896, 68, 1028, 0, 0, 0, 0}, {1295, 1365, 4096, 0, 0, 0, 0}, {5388, 102, 4864, 21760, 0, 0, 0}, {4184, 4128, 1799, 20560, 0, 0, 0}, {16392, 22304, 0, 0, 0, 0, 0}, {5379, 1365, 0, 0, 0, 0, 0}, {170, 8192, 5376, 0, 0, 0, 0}, {60, 771, 68, 1028, 4112, 0, 0}, {16396, 21344, 0, 0, 0, 0, 0}, {5383, 1365, 0, 0, 0, 0, 0}, {520, 34, 68, 1028, 4352, 0, 0}, {3855, 12288, 4176, 0, 0, 0, 0}, {3840, 12336, 4160, 0, 0, 0, 0}, {522, 34, 68, 1024, 4369, 0, 0}, {5394, 1360, 0, 0, 0, 0, 0}, {16460, 21299, 0, 0, 0, 0, 0}, {60, 768, 68, 1024, 4096, 0, 0}, {170, 8224, 5397, 0, 0, 0, 0}, {5398, 1360, 0, 0, 0, 0, 0}, {16456, 22391, 0, 0, 0, 0, 0}, {4168, 4144, 1792, 20480, 0, 0, 0}, {5401, 102, 4883, 21845, 0, 0, 0}, {1290, 1360, 4112, 0, 0, 0, 0}, {4915, 68, 1024, 0, 0, 0, 0}, {4172, 4208, 768, 20480, 0, 0, 0}, {5405, 34, 5911, 21845, 0, 0, 0}, {34, 768, 276, 4352, 0, 0, 0}, {8320, 16191, 16448, 0, 0, 0, 0}, {16576, 24320, 8192, 0, 0, 0, 0}, {275, 68, 1285, 4369, 0, 0, 0}, {34, 514, 5440, 0, 0, 0, 0}, {783, 819, 4096, 0, 0, 0, 0}, {1032, 5888, 68, 0, 0, 0, 0}, {90, 4192, 1285, 0, 0, 0, 0}, {4874, 102, 5376, 0, 0, 0, 0}, {4152, 1799, 4160, 0, 0, 0, 0}, {5960, 14144, 16448, 0, 0, 0, 0}, {4106, 4150, 4869, 4176, 1285, 0, 0}, {5482, 13664, 21760, 0, 0, 0, 0}, {4104, 4148, 4871, 68, 5120, 0, 0}, {204, 4864, 16384, 0, 0, 0, 0}, {90, 34, 514, 1285, 4112, 0, 0}, {1032, 34, 514, 68, 4352, 0, 0}, {3855, 4144, 20480, 0, 0, 0, 0}, {3840, 4128, 20560, 0, 0, 0, 0}, {1036, 34, 512, 68, 4369, 0, 0}, {90, 34, 512, 1280, 4096, 0, 0}, {204, 4883, 16448, 0, 0, 0, 0}, {4120, 4132, 4884, 68, 5140, 0, 0}, {5503, 13653, 21845, 0, 0, 0, 0}, {4122, 4134, 4886, 4160, 1280, 0, 0}, {5983, 14199, 16384, 0, 0, 0, 0}, {4136, 1792, 4176, 0, 0, 0, 0}, {4889, 102, 5397, 0, 0, 0, 0}, {90, 4208, 1280, 0, 0, 0, 0}, {1036, 5911, 68, 0, 0, 0, 0}, {780, 816, 4112, 0, 0, 0, 0}, {34, 512, 5461, 0, 0, 0, 0}, {274, 68, 1280, 4352, 0, 0, 0}, {16512, 24415, 8224, 0, 0, 0, 0}, {8160, 8224, 16448, 0, 0, 0, 0}, {271, 512, 1024, 273, 0, 0, 0}, {5448, 34, 512, 21760, 0, 0, 0}, {4124, 4128, 4883, 20560, 0, 0, 0}, {4904, 13056, 68, 1024, 0, 0, 0}, {4122, 12336, 4160, 5397, 0, 0, 0}, {5452, 102, 1536, 21760, 0, 0, 0}, {4120, 4192, 5911, 20560, 0, 0, 0}, {16456, 5984, 0, 0, 0, 0, 0}, {4118, 1365, 0, 0, 0, 0, 0}, {8234, 5440, 0, 0, 0, 0, 0}, {819, 4116, 0, 0, 0, 0, 0}, {16460, 4896, 0, 0, 0, 0, 0}, {4114, 1365, 0, 0, 0, 0, 0}, {34, 512, 68, 1024, 4352, 0, 0}, {240, 3855, 4112, 0, 0, 0, 0}, {240, 3840, 4096, 0, 0, 0, 0}, {34, 514, 68, 1028, 4369, 0, 0}, {4098, 1360, 0, 0, 0, 0, 0}, {16396, 4915, 0, 0, 0, 0, 0}, {816, 4100, 0, 0, 0, 0, 0}, {8202, 5461, 0, 0, 0, 0, 0}, {4102, 1360, 0, 0, 0, 0, 0}, {16392, 6007, 0, 0, 0, 0, 0}, {4104, 4208, 5888, 20480, 0, 0, 0}, {5465, 102, 1542, 21845, 0, 0, 0}, {4106, 12288, 4176, 5376, 0, 0, 0}, {4923, 13107, 68, 1028, 0, 0, 0}, {4108, 4144, 4864, 20480, 0, 0, 0}, {5469, 34, 514, 21845, 0, 0, 0}, {270, 514, 1028, 272, 0, 0, 0}, {8191, 8192, 16384, 0, 0, 0, 0}, {8192, 0, 0, 0, 0, 0, 0}, {3, 17, 257, 0, 0, 0, 0}, {34, 514, 0, 0, 0, 0, 0}, {3, 4096, 0, 0, 0, 0, 0}, {12, 8196, 68, 1028, 0, 0, 0}, {15, 8197, 85, 1285, 0, 0, 0}, {12, 102, 1542, 16384, 0, 0, 0}, {15, 119, 1799, 20480, 0, 0, 0}, {8200, 0, 0, 0, 0, 0, 0}, {3, 4101, 0, 0, 0, 0, 0}, {8202, 0, 0, 0, 0, 0, 0}, {3, 4100, 0, 0, 0, 0, 0}, {12, 8192, 16384, 0, 0, 0, 0}, {15, 34, 514, 85, 1285, 0, 0}, {12, 34, 514, 68, 1028, 0, 0}, {15, 8192, 20480, 0, 0, 0, 0}, {48, 4112, 0, 0, 0, 0, 0}, {512, 17, 0, 0, 0, 0, 0}, {18, 4096, 0, 0, 0, 0, 0}, {51, 4883, 0, 0, 0, 0, 0}, {60, 8212, 68, 5140, 0, 0, 0}, {63, 8213, 85, 5397, 0, 0, 0}, {90, 102, 5654, 20480, 0, 0, 0}, {72, 119, 5911, 16384, 0, 0, 0}, {4120, 48, 4176, 0, 0, 0, 0}, {4889, 51, 85, 0, 0, 0, 0}, {4122, 48, 4160, 0, 0, 0, 0}, {4891, 51, 68, 0, 0, 0, 0}, {60, 8224, 20560, 0, 0, 0, 0}, {29, 34, 512, 85, 5376, 0, 0}, {30, 34, 512, 68, 5120, 0, 0}, {63, 8224, 16448, 0, 0, 0, 0}, {8224, 0, 0, 0, 0, 0, 0}, {3, 17, 256, 0, 0, 0, 0}, {34, 512, 0, 0, 0, 0, 0}, {3, 4112, 0, 0, 0, 0, 0}, {12, 8228, 68, 1024, 0, 0, 0}, {15, 8229, 85, 1280, 0, 0, 0}, {12, 102, 1536, 16448, 0, 0, 0}, {15, 119, 1792, 20560, 0, 0, 0}, {8232, 0, 0, 0, 0, 0, 0}, {3, 4117, 0, 0, 0, 0, 0}, {8234, 0, 0, 0, 0, 0, 0}, {3, 4116, 0, 0, 0, 0, 0}, {12, 8224, 16448, 0, 0, 0, 0}, {15, 34, 512, 85, 1280, 0, 0}, {12, 34, 512, 68, 1024, 0, 0}, {15, 8224, 20560, 0, 0, 0, 0}, {48, 4096, 0, 0, 0, 0, 0}, {514, 17, 0, 0, 0, 0, 0}, {18, 4112, 0, 0, 0, 0, 0}, {51, 4864, 0, 0, 0, 0, 0}, {60, 8244, 68, 5120, 0, 0, 0}, {63, 8245, 85, 5376, 0, 0, 0}, {90, 102, 5632, 20560, 0, 0, 0}, {72, 119, 5888, 16448, 0, 0, 0}, {4104, 48, 4160, 0, 0, 0, 0}, {4874, 51, 85, 0, 0, 0, 0}, {4106, 48, 4176, 0, 0, 0, 0}, {4872, 51, 68, 0, 0, 0, 0}, {60, 8192, 20480, 0, 0, 0, 0}, {29, 34, 514, 85, 5397, 0, 0}, {30, 34, 514, 68, 5140, 0, 0}, {63, 8192, 16384, 0, 0, 0, 0}, {192, 8256, 16448, 0, 0, 0, 0}, {15, 517, 1285, 17, 0, 0, 0}, {72, 34, 578, 16384, 0, 0, 0}, {15, 51, 4931, 20480, 0, 0, 0}, {2048, 8192, 68, 0, 0, 0, 0}, {15, 48, 85, 1285, 4112, 0, 0}, {102, 17990, 0, 0, 0, 0, 0}, {71, 4096, 0, 0, 0, 0, 0}, {72, 8192, 16384, 0, 0, 0, 0}, {15, 51, 4883, 85, 1285, 0, 0}, {106, 8224, 16448, 0, 0, 0, 0}, {15, 51, 4864, 68, 5120, 0, 0}, {8268, 0, 0, 0, 0, 0, 0}, {18, 4101, 0, 0, 0, 0, 0}, {522, 34, 68, 0, 0, 0, 0}, {15, 48, 4160, 0, 0, 0, 0}, {240, 8272, 20560, 0, 0, 0, 0}, {12, 516, 1028, 17, 0, 0, 0}, {90, 34, 594, 20480, 0, 0, 0}, {12, 51, 4947, 16384, 0, 0, 0}, {12, 48, 68, 1028, 4112, 0, 0}, {2560, 8192, 85, 0, 0, 0, 0}, {86, 4096, 0, 0, 0, 0, 0}, {119, 22359, 0, 0, 0, 0, 0}, {120, 8224, 20560, 0, 0, 0, 0}, {12, 51, 4864, 85, 5376, 0, 0}, {90, 8192, 20480, 0, 0, 0, 0}, {12, 51, 4883, 68, 1028, 0, 0}, {12, 48, 4176, 0, 0, 0, 0}, {520, 34, 85, 0, 0, 0, 0}, {18, 4100, 0, 0, 0, 0, 0}, {8287, 0, 0, 0, 0, 0, 0}, {192, 8288, 16384, 0, 0, 0, 0}, {15, 519, 1280, 17, 0, 0, 0}, {72, 34, 576, 16448, 0, 0, 0}, {15, 51, 4944, 20560, 0, 0, 0}, {2056, 8224, 68, 0, 0, 0, 0}, {15, 48, 85, 1280, 4096, 0, 0}, {102, 17920, 0, 0, 0, 0, 0}, {71, 4112, 0, 0, 0, 0, 0}, {72, 8224, 16448, 0, 0, 0, 0}, {15, 51, 4864, 85, 1280, 0, 0}, {106, 8192, 16384, 0, 0, 0, 0}, {15, 51, 4883, 68, 5140, 0, 0}, {8300, 0, 0, 0, 0, 0, 0}, {18, 4117, 0, 0, 0, 0, 0}, {520, 34, 68, 0, 0, 0, 0}, {15, 48, 4176, 0, 0, 0, 0}, {240, 8304, 20480, 0, 0, 0, 0}, {12, 518, 1024, 17, 0, 0, 0}, {90, 34, 592, 20560, 0, 0, 0}, {12, 51, 4928, 16448, 0, 0, 0}, {12, 48, 68, 1024, 4096, 0, 0}, {2570, 8224, 85, 0, 0, 0, 0}, {86, 4112, 0, 0, 0, 0, 0}, {119, 22272, 0, 0, 0, 0, 0}, {120, 8192, 20480, 0, 0, 0, 0}, {12, 51, 4883, 85, 5397, 0, 0}, {90, 8224, 20560, 0, 0, 0, 0}, {12, 51, 4864, 68, 1024, 0, 0}, {12, 48, 4160, 0, 0, 0, 0}, {522, 34, 85, 0, 0, 0, 0}, {18, 4116, 0, 0, 0, 0, 0}, {8319, 0, 0, 0, 0, 0, 0}, {8320, 0, 0, 0, 0, 0, 0}, {3, 261, 17, 0, 0, 0, 0}, {522, 34, 0, 0, 0, 0, 0}, {3, 4160, 0, 0, 0, 0, 0}, {12, 8192, 68, 1024, 0, 0, 0}, {15, 8224, 85, 1285, 0, 0, 0}, {12, 102, 1542, 16448, 0, 0, 0}, {15, 119, 1792, 20480, 0, 0, 0}, {136, 2048, 8192, 0, 0, 0, 0}, {3, 85, 1285, 4112, 0, 0, 0}, {170, 2570, 8224, 0, 0, 0, 0}, {3, 68, 1024, 4096, 0, 0, 0}, {12, 8256, 16448, 0, 0, 0, 0}, {15, 34, 517, 85, 1285, 0, 0}, {12, 34, 518, 68, 1024, 0, 0}, {15, 8304, 20480, 0, 0, 0, 0}, {48, 4176, 0, 0, 0, 0, 0}, {520, 17, 0, 0, 0, 0, 0}, {18, 4160, 0, 0, 0, 0, 0}, {4959, 51, 0, 0, 0, 0, 0}, {60, 8224, 68, 5140, 0, 0, 0}, {63, 8192, 85, 5376, 0, 0, 0}, {90, 102, 5632, 20480, 0, 0, 0}, {72, 119, 5911, 16448, 0, 0, 0}, {72, 48, 4112, 0, 0, 0, 0}, {51, 4864, 85, 0, 0, 0, 0}, {90, 48, 4096, 0, 0, 0, 0}, {51, 4883, 68, 0, 0, 0, 0}, {60, 8272, 20560, 0, 0, 0, 0}, {29, 34, 533, 85, 5397, 0, 0}, {30, 34, 534, 68, 5120, 0, 0}, {63, 8288, 16384, 0, 0, 0, 0}, {8352, 0, 0, 0, 0, 0, 0}, {3, 260, 17, 0, 0, 0, 0}, {520, 34, 0, 0, 0, 0, 0}, {3, 4176, 0, 0, 0, 0, 0}, {12, 8224, 68, 1028, 0, 0, 0}, {15, 8192, 85, 1280, 0, 0, 0}, {12, 102, 1536, 16384, 0, 0, 0}, {15, 119, 1799, 20560, 0, 0, 0}, {136, 2056, 8224, 0, 0, 0, 0}, {3, 85, 1280, 4096, 0, 0, 0}, {170, 2560, 8192, 0, 0, 0, 0}, {3, 68, 1028, 4112, 0, 0, 0}, {12, 8288, 16384, 0, 0, 0, 0}, {15, 34, 519, 85, 1280, 0, 0}, {12, 34, 516, 68, 1028, 0, 0}, {15, 8272, 20560, 0, 0, 0, 0}, {48, 4160, 0, 0, 0, 0, 0}, {522, 17, 0, 0, 0, 0, 0}, {18, 4176, 0, 0, 0, 0, 0}, {4940, 51, 0, 0, 0, 0, 0}, {60, 8192, 68, 5120, 0, 0, 0}, {63, 8224, 85, 5397, 0, 0, 0}, {90, 102, 5654, 20560, 0, 0, 0}, {72, 119, 5888, 16384, 0, 0, 0}, {72, 48, 4096, 0, 0, 0, 0}, {51, 4883, 85, 0, 0, 0, 0}, {90, 48, 4112, 0, 0, 0, 0}, {51, 4864, 68, 0, 0, 0, 0}, {60, 8304, 20480, 0, 0, 0, 0}, {29, 34, 535, 85, 5376, 0, 0}, {30, 34, 532, 68, 5140, 0, 0}, {63, 8256, 16448, 0, 0, 0, 0}, {192, 8192, 16384, 0, 0, 0, 0}, {15, 514, 1285, 17, 0, 0, 0}, {72, 34, 514, 16448, 0, 0, 0}, {15, 51, 4864, 20480, 0, 0, 0}, {8200, 68, 0, 0, 0, 0, 0}, {48, 4101, 0, 0, 0, 0, 0}, {17930, 102, 0, 0, 0, 0, 0}, {4103, 4160, 0, 0, 0, 0, 0}, {72, 8256, 16448, 0, 0, 0, 0}, {15, 51, 4869, 85, 1285, 0, 0}, {106, 8288, 16384, 0, 0, 0, 0}, {15, 51, 4871, 68, 5120, 0, 0}, {204, 19456, 8192, 0, 0, 0, 0}, {18, 85, 1285, 4112, 0, 0, 0}, {34, 514, 68, 0, 0, 0, 0}, {15, 48, 4096, 0, 0, 0, 0}, {240, 8224, 20560, 0, 0, 0, 0}, {12, 512, 1024, 17, 0, 0, 0}, {90, 34, 512, 20480, 0, 0, 0}, {12, 51, 4883, 16448, 0, 0, 0}, {48, 4116, 0, 0, 0, 0, 0}, {8234, 85, 0, 0, 0, 0, 0}, {4118, 4160, 0, 0, 0, 0, 0}, {22367, 119, 0, 0, 0, 0, 0}, {120, 8272, 20560, 0, 0, 0, 0}, {12, 51, 4885, 85, 5397, 0, 0}, {90, 8304, 20480, 0, 0, 0, 0}, {12, 51, 4887, 68, 1024, 0, 0}, {12, 48, 4112, 0, 0, 0, 0}, {34, 512, 85, 0, 0, 0, 0}, {18, 68, 1024, 4096, 0, 0, 0}, {255, 24415, 8224, 0, 0, 0, 0}, {192, 8224, 16448, 0, 0, 0, 0}, {15, 512, 1280, 17, 0, 0, 0}, {72, 34, 512, 16384, 0, 0, 0}, {15, 51, 4883, 20560, 0, 0, 0}, {8232, 68, 0, 0, 0, 0, 0}, {48, 4117, 0, 0, 0, 0, 0}, {17996, 102, 0, 0, 0, 0, 0}, {4119, 4176, 0, 0, 0, 0, 0}, {72, 8288, 16384, 0, 0, 0, 0}, {15, 51, 4886, 85, 1280, 0, 0}, {106, 8256, 16448, 0, 0, 0, 0}, {15, 51, 4884, 68, 5140, 0, 0}, {204, 19532, 8224, 0, 0, 0, 0}, {18, 85, 1280, 4096, 0, 0, 0}, {34, 512, 68, 0, 0, 0, 0}, {15, 48, 4112, 0, 0, 0, 0}, {240, 8192, 20480, 0, 0, 0, 0}, {12, 514, 1028, 17, 0, 0, 0}, {90, 34, 514, 20560, 0, 0, 0}, {12, 51, 4864, 16384, 0, 0, 0}, {48, 4100, 0, 0, 0, 0, 0}, {8202, 85, 0, 0, 0, 0, 0}, {4102, 4176, 0, 0, 0, 0, 0}, {22280, 119, 0, 0, 0, 0, 0}, {120, 8304, 20480, 0, 0, 0, 0}, {12, 51, 4870, 85, 5376, 0, 0}, {90, 8272, 20560, 0, 0, 0, 0}, {12, 51, 4868, 68, 1028, 0, 0}, {12, 48, 4096, 0, 0, 0, 0}, {34, 514, 85, 0, 0, 0, 0}, {18, 68, 1028, 4112, 0, 0, 0}, {255, 24320, 8192, 0, 0, 0, 0}, {768, 4352, 0, 0, 0, 0, 0}, {32, 257, 0, 0, 0, 0, 0}, {258, 4096, 0, 0, 0, 0, 0}, {4403, 771, 0, 0, 0, 0, 0}, {780, 8452, 4420, 1028, 0, 0, 0}, {783, 8453, 4437, 1285, 0, 0, 0}, {1290, 4454, 1542, 20480, 0, 0, 0}, {1032, 4471, 1799, 16384, 0, 0, 0}, {4360, 768, 5376, 0, 0, 0, 0}, {4409, 771, 1285, 0, 0, 0, 0}, {4362, 768, 5120, 0, 0, 0, 0}, {4411, 771, 1028, 0, 0, 0, 0}, {780, 8704, 21760, 0, 0, 0, 0}, {269, 32, 514, 4176, 1285, 0, 0}, {270, 32, 514, 4160, 1028, 0, 0}, {783, 8704, 17408, 0, 0, 0, 0}, {512, 272, 0, 0, 0, 0, 0}, {819, 4369, 0, 0, 0, 0, 0}, {4386, 4626, 0, 0, 0, 0, 0}, {275, 4096, 0, 0, 0, 0, 0}, {828, 8468, 4420, 5140, 0, 0, 0}, {831, 8469, 4437, 5397, 0, 0, 0}, {1100, 4454, 5654, 16384, 0, 0, 0}, {1375, 4471, 5911, 20480, 0, 0, 0}, {4632, 816, 1360, 0, 0, 0, 0}, {4377, 819, 5461, 0, 0, 0, 0}, {4634, 816, 1088, 0, 0, 0, 0}, {4379, 819, 5188, 0, 0, 0, 0}, {284, 32, 512, 4176, 5376, 0, 0}, {831, 8738, 21845, 0, 0, 0, 0}, {828, 8738, 17476, 0, 0, 0, 0}, {287, 32, 512, 4160, 5120, 0, 0}, {32, 256, 0, 0, 0, 0, 0}, {771, 4369, 0, 0, 0, 0, 0}, {4386, 768, 0, 0, 0, 0, 0}, {259, 4112, 0, 0, 0, 0, 0}, {780, 8484, 4420, 1280, 0, 0, 0}, {783, 8485, 4437, 1024, 0, 0, 0}, {1036, 4454, 1792, 16448, 0, 0, 0}, {1295, 4471, 1536, 20560, 0, 0, 0}, {4392, 768, 1280, 0, 0, 0, 0}, {4377, 771, 5397, 0, 0, 0, 0}, {4394, 768, 1024, 0, 0, 0, 0}, {4379, 771, 5140, 0, 0, 0, 0}, {268, 32, 512, 4160, 1280, 0, 0}, {783, 8738, 21845, 0, 0, 0, 0}, {780, 8738, 17476, 0, 0, 0, 0}, {271, 32, 512, 4176, 1024, 0, 0}, {816, 4352, 0, 0, 0, 0, 0}, {514, 273, 0, 0, 0, 0, 0}, {274, 4112, 0, 0, 0, 0, 0}, {4403, 4608, 0, 0, 0, 0, 0}, {828, 8500, 4420, 5376, 0, 0, 0}, {831, 8501, 4437, 5120, 0, 0, 0}, {1370, 4454, 5888, 20560, 0, 0, 0}, {1096, 4471, 5632, 16448, 0, 0, 0}, {4360, 816, 5440, 0, 0, 0, 0}, {4618, 819, 1365, 0, 0, 0, 0}, {4362, 816, 5200, 0, 0, 0, 0}, {4616, 819, 1092, 0, 0, 0, 0}, {828, 8704, 21760, 0, 0, 0, 0}, {285, 32, 514, 4160, 5397, 0, 0}, {286, 32, 514, 4176, 5140, 0, 0}, {831, 8704, 17408, 0, 0, 0, 0}, {1792, 1088, 4352, 0, 0, 0, 0}, {867, 1285, 4369, 0, 0, 0, 0}, {1290, 4386, 4674, 20480, 0, 0, 0}, {1100, 4403, 835, 16384, 0, 0, 0}, {3840, 12288, 4420, 0, 0, 0, 0}, {522, 32, 325, 1285, 4112, 0, 0}, {326, 4096, 0, 0, 0, 0, 0}, {4471, 18247, 0, 0, 0, 0, 0}, {4680, 13056, 21760, 0, 0, 0, 0}, {4377, 32, 4883, 4176, 1285, 0, 0}, {4362, 32, 4864, 4160, 5120, 0, 0}, {4728, 13107, 17476, 0, 0, 0, 0}, {4428, 4608, 5376, 0, 0, 0, 0}, {4477, 4626, 1285, 0, 0, 0, 0}, {1290, 4642, 5188, 0, 0, 0, 0}, {1807, 4656, 1088, 0, 0, 0, 0}, {1536, 1360, 4352, 0, 0, 0, 0}, {883, 1028, 4369, 0, 0, 0, 0}, {1032, 4386, 4690, 16384, 0, 0, 0}, {1375, 4403, 851, 20480, 0, 0, 0}, {520, 32, 340, 1028, 4112, 0, 0}, {3072, 12288, 4437, 0, 0, 0, 0}, {4454, 22102, 0, 0, 0, 0, 0}, {343, 4096, 0, 0, 0, 0, 0}, {4360, 32, 4864, 4176, 5376, 0, 0}, {4714, 13107, 21845, 0, 0, 0, 0}, {4698, 13056, 17408, 0, 0, 0, 0}, {4379, 32, 4883, 4160, 1028, 0, 0}, {1548, 4656, 1360, 0, 0, 0, 0}, {1032, 4642, 5461, 0, 0, 0, 0}, {4462, 4626, 1028, 0, 0, 0, 0}, {4447, 4608, 5120, 0, 0, 0, 0}, {864, 1280, 4352, 0, 0, 0, 0}, {1799, 1092, 4369, 0, 0, 0, 0}, {1096, 4386, 832, 16448, 0, 0, 0}, {1295, 4403, 4688, 20560, 0, 0, 0}, {520, 32, 324, 1280, 4096, 0, 0}, {3855, 12336, 4437, 0, 0, 0, 0}, {4454, 18176, 0, 0, 0, 0, 0}, {327, 4112, 0, 0, 0, 0, 0}, {4360, 32, 4864, 4160, 1280, 0, 0}, {4698, 13107, 21845, 0, 0, 0, 0}, {4714, 13056, 17408, 0, 0, 0, 0}, {4379, 32, 4883, 4176, 5140, 0, 0}, {4460, 4608, 1280, 0, 0, 0, 0}, {4445, 4626, 5397, 0, 0, 0, 0}, {1800, 4642, 1092, 0, 0, 0, 0}, {1295, 4656, 5200, 0, 0, 0, 0}, {880, 1024, 4352, 0, 0, 0, 0}, {1542, 1365, 4369, 0, 0, 0, 0}, {1370, 4386, 848, 20560, 0, 0, 0}, {1036, 4403, 4672, 16448, 0, 0, 0}, {3084, 12336, 4420, 0, 0, 0, 0}, {522, 32, 341, 1024, 4096, 0, 0}, {342, 4112, 0, 0, 0, 0, 0}, {4471, 22016, 0, 0, 0, 0, 0}, {4728, 13056, 21760, 0, 0, 0, 0}, {4377, 32, 4883, 4160, 5397, 0, 0}, {4362, 32, 4864, 4176, 1024, 0, 0}, {4680, 13107, 17476, 0, 0, 0, 0}, {1036, 4656, 5440, 0, 0, 0, 0}, {1546, 4642, 1365, 0, 0, 0, 0}, {4430, 4626, 5140, 0, 0, 0, 0}, {4479, 4608, 1024, 0, 0, 0, 0}, {128, 768, 1024, 4352, 0, 0, 0}, {160, 771, 1285, 4369, 0, 0, 0}, {1290, 4386, 768, 20480, 0, 0, 0}, {1036, 4403, 771, 16448, 0, 0, 0}, {780, 4420, 0, 0, 0, 0, 0}, {32, 261, 0, 0, 0, 0, 0}, {262, 4160, 0, 0, 0, 0, 0}, {783, 4471, 0, 0, 0, 0, 0}, {4488, 768, 21760, 0, 0, 0, 0}, {265, 32, 771, 1285, 4112, 0, 0}, {266, 32, 768, 1024, 4096, 0, 0}, {4539, 771, 17476, 0, 0, 0, 0}, {1036, 1792, 5440, 0, 0, 0, 0}, {783, 4722, 1285, 0, 0, 0, 0}, {1290, 1542, 5188, 0, 0, 0, 0}, {783, 4720, 1024, 0, 0, 0, 0}, {2560, 816, 1360, 4352, 0, 0, 0}, {2056, 819, 1092, 4369, 0, 0, 0}, {1096, 4386, 4626, 16448, 0, 0, 0}, {1375, 4403, 4608, 20480, 0, 0, 0}, {32, 276, 0, 0, 0, 0, 0}, {831, 4437, 0, 0, 0, 0, 0}, {4698, 4454, 0, 0, 0, 0, 0}, {279, 4160, 0, 0, 0, 0, 0}, {280, 32, 784, 1360, 4112, 0, 0}, {7509, 819, 21845, 0, 0, 0, 0}, {7770, 816, 17408, 0, 0, 0, 0}, {283, 32, 787, 1092, 4096, 0, 0}, {5180, 5888, 1360, 0, 0, 0, 0}, {4445, 4706, 5397, 0, 0, 0, 0}, {5418, 5654, 1092, 0, 0, 0, 0}, {4447, 4704, 5120, 0, 0, 0, 0}, {160, 768, 1280, 4352, 0, 0, 0}, {128, 771, 1028, 4369, 0, 0, 0}, {1032, 4386, 768, 16384, 0, 0, 0}, {1295, 4403, 771, 20560, 0, 0, 0}, {32, 260, 0, 0, 0, 0, 0}, {783, 4437, 0, 0, 0, 0, 0}, {780, 4454, 0, 0, 0, 0, 0}, {263, 4176, 0, 0, 0, 0, 0}, {264, 32, 768, 1280, 4096, 0, 0}, {4505, 771, 21845, 0, 0, 0, 0}, {4522, 768, 17408, 0, 0, 0, 0}, {267, 32, 771, 1028, 4112, 0, 0}, {780, 4704, 1280, 0, 0, 0, 0}, {1032, 1799, 5461, 0, 0, 0, 0}, {780, 4706, 1028, 0, 0, 0, 0}, {1295, 1536, 5200, 0, 0, 0, 0}, {2048, 816, 1088, 4352, 0, 0, 0}, {2570, 819, 1365, 4369, 0, 0, 0}, {1370, 4386, 4626, 20560, 0, 0, 0}, {1100, 4403, 4608, 16384, 0, 0, 0}, {828, 4420, 0, 0, 0, 0, 0}, {32, 277, 0, 0, 0, 0, 0}, {278, 4176, 0, 0, 0, 0, 0}, {4680, 4471, 0, 0, 0, 0, 0}, {7496, 816, 21760, 0, 0, 0, 0}, {281, 32, 787, 1365, 4096, 0, 0}, {282, 32, 784, 1088, 4112, 0, 0}, {7748, 819, 17476, 0, 0, 0, 0}, {4428, 4720, 5376, 0, 0, 0, 0}, {5160, 5911, 1365, 0, 0, 0, 0}, {4430, 4722, 5140, 0, 0, 0, 0}, {5439, 5632, 1088, 0, 0, 0, 0}, {960, 3840, 4352, 0, 0, 0, 0}, {32, 514, 321, 1285, 4369, 0, 0}, {4354, 4160, 0, 0, 0, 0, 0}, {18191, 4403, 0, 0, 0, 0, 0}, {4616, 12288, 4420, 5376, 0, 0, 0}, {4666, 12336, 4437, 1285, 0, 0, 0}, {1290, 4454, 5888, 20480, 0, 0, 0}, {1096, 4471, 1799, 16448, 0, 0, 0}, {4360, 5632, 5440, 0, 0, 0, 0}, {4698, 867, 1285, 0, 0, 0, 0}, {4362, 864, 5120, 0, 0, 0, 0}, {4411, 1799, 1092, 0, 0, 0, 0}, {4556, 4608, 21760, 0, 0, 0, 0}, {333, 32, 514, 1285, 4112, 0, 0}, {1290, 32, 514, 1092, 4096, 0, 0}, {3855, 4656, 17408, 0, 0, 0, 0}, {32, 512, 336, 1024, 4352, 0, 0}, {1011, 3084, 4369, 0, 0, 0, 0}, {22106, 4386, 0, 0, 0, 0, 0}, {4371, 4160, 0, 0, 0, 0, 0}, {4632, 12336, 4420, 5140, 0, 0, 0}, {4650, 12288, 4437, 1024, 0, 0, 0}, {1036, 4454, 5654, 16448, 0, 0, 0}, {1375, 4471, 1536, 20480, 0, 0, 0}, {4392, 1536, 1360, 0, 0, 0, 0}, {4377, 883, 5397, 0, 0, 0, 0}, {4698, 880, 1024, 0, 0, 0, 0}, {4379, 5911, 5188, 0, 0, 0, 0}, {1036, 32, 512, 1360, 4112, 0, 0}, {3072, 4642, 21845, 0, 0, 0, 0}, {4590, 4626, 17476, 0, 0, 0, 0}, {351, 32, 512, 1024, 4096, 0, 0}, {32, 512, 320, 1280, 4352, 0, 0}, {963, 3855, 4369, 0, 0, 0, 0}, {18248, 4386, 0, 0, 0, 0, 0}, {4371, 4176, 0, 0, 0, 0, 0}, {4648, 12288, 4420, 1280, 0, 0, 0}, {4634, 12336, 4437, 5397, 0, 0, 0}, {1100, 4454, 1792, 16384, 0, 0, 0}, {1295, 4471, 5911, 20560, 0, 0, 0}, {4680, 864, 1280, 0, 0, 0, 0}, {4377, 5654, 5461, 0, 0, 0, 0}, {4394, 1792, 1088, 0, 0, 0, 0}, {4379, 867, 5140, 0, 0, 0, 0}, {332, 32, 512, 1280, 4096, 0, 0}, {4573, 4626, 21845, 0, 0, 0, 0}, {3840, 4642, 17476, 0, 0, 0, 0}, {1295, 32, 512, 1088, 4112, 0, 0}, {1008, 3072, 4352, 0, 0, 0, 0}, {32, 514, 337, 1028, 4369, 0, 0}, {4354, 4176, 0, 0, 0, 0, 0}, {22028, 4403, 0, 0, 0, 0, 0}, {4664, 12336, 4420, 1028, 0, 0, 0}, {4618, 12288, 4437, 5120, 0, 0, 0}, {1370, 4454, 1542, 20560, 0, 0, 0}, {1032, 4471, 5632, 16384, 0, 0, 0}, {4360, 880, 5376, 0, 0, 0, 0}, {4409, 1542, 1365, 0, 0, 0, 0}, {4362, 5888, 5200, 0, 0, 0, 0}, {4680, 883, 1028, 0, 0, 0, 0}, {3084, 4656, 21760, 0, 0, 0, 0}, {1032, 32, 514, 1365, 4096, 0, 0}, {350, 32, 514, 1028, 4112, 0, 0}, {4607, 4608, 17408, 0, 0, 0, 0}, {8704, 0, 0, 0, 0, 0, 0}, {3, 16, 257, 0, 0, 0, 0}, {32, 514, 0, 0, 0, 0, 0}, {3, 4352, 0, 0, 0, 0, 0}, {12, 8708, 64, 1028, 0, 0, 0}, {15, 8709, 80, 1285, 0, 0, 0}, {12, 96, 1542, 17408, 0, 0, 0}, {15, 112, 1799, 21760, 0, 0, 0}, {8712, 0, 0, 0, 0, 0, 0}, {3, 4357, 0, 0, 0, 0, 0}, {8714, 0, 0, 0, 0, 0, 0}, {3, 4356, 0, 0, 0, 0, 0}, {12, 8704, 17408, 0, 0, 0, 0}, {15, 32, 514, 80, 1285, 0, 0}, {12, 32, 514, 64, 1028, 0, 0}, {15, 8704, 21760, 0, 0, 0, 0}, {512, 16, 0, 0, 0, 0, 0}, {51, 4369, 0, 0, 0, 0, 0}, {48, 4626, 0, 0, 0, 0, 0}, {19, 4352, 0, 0, 0, 0, 0}, {60, 8724, 80, 5140, 0, 0, 0}, {63, 8725, 64, 5397, 0, 0, 0}, {76, 112, 5654, 17408, 0, 0, 0}, {95, 96, 5911, 21760, 0, 0, 0}, {4632, 48, 80, 0, 0, 0, 0}, {4377, 51, 4437, 0, 0, 0, 0}, {4634, 48, 64, 0, 0, 0, 0}, {4379, 51, 4420, 0, 0, 0, 0}, {28, 32, 512, 80, 5120, 0, 0}, {63, 8738, 21845, 0, 0, 0, 0}, {60, 8738, 17476, 0, 0, 0, 0}, {31, 32, 512, 64, 5376, 0, 0}, {32, 512, 0, 0, 0, 0, 0}, {3, 4369, 0, 0, 0, 0, 0}, {8738, 0, 0, 0, 0, 0, 0}, {3, 16, 256, 0, 0, 0, 0}, {12, 96, 1536, 17476, 0, 0, 0}, {15, 112, 1792, 21845, 0, 0, 0}, {12, 8742, 64, 1024, 0, 0, 0}, {15, 8743, 80, 1280, 0, 0, 0}, {8744, 0, 0, 0, 0, 0, 0}, {3, 4373, 0, 0, 0, 0, 0}, {8746, 0, 0, 0, 0, 0, 0}, {3, 4372, 0, 0, 0, 0, 0}, {12, 32, 512, 64, 1024, 0, 0}, {15, 8738, 21845, 0, 0, 0, 0}, {12, 8738, 17476, 0, 0, 0, 0}, {15, 32, 512, 80, 1280, 0, 0}, {48, 4608, 0, 0, 0, 0, 0}, {19, 4369, 0, 0, 0, 0, 0}, {514, 16, 0, 0, 0, 0, 0}, {51, 4352, 0, 0, 0, 0, 0}, {76, 112, 5632, 17476, 0, 0, 0}, {95, 96, 5888, 21845, 0, 0, 0}, {60, 8758, 80, 5120, 0, 0, 0}, {63, 8759, 64, 5376, 0, 0, 0}, {4616, 48, 64, 0, 0, 0, 0}, {4362, 51, 4437, 0, 0, 0, 0}, {4618, 48, 80, 0, 0, 0, 0}, {4360, 51, 4420, 0, 0, 0, 0}, {60, 8704, 17408, 0, 0, 0, 0}, {31, 32, 514, 64, 5397, 0, 0}, {28, 32, 514, 80, 5140, 0, 0}, {63, 8704, 21760, 0, 0, 0, 0}, {2048, 8704, 64, 0, 0, 0, 0}, {15, 51, 80, 1285, 4369, 0, 0}, {96, 16962, 0, 0, 0, 0, 0}, {67, 4352, 0, 0, 0, 0, 0}, {204, 8772, 17476, 0, 0, 0, 0}, {15, 517, 1285, 16, 0, 0, 0}, {76, 32, 582, 17408, 0, 0, 0}, {15, 48, 4679, 21760, 0, 0, 0}, {8776, 0, 0, 0, 0, 0, 0}, {19, 4357, 0, 0, 0, 0, 0}, {522, 32, 64, 0, 0, 0, 0}, {15, 51, 4420, 0, 0, 0, 0}, {76, 8704, 17408, 0, 0, 0, 0}, {15, 48, 4626, 80, 1285, 0, 0}, {108, 8738, 17476, 0, 0, 0, 0}, {15, 48, 4608, 64, 5376, 0, 0}, {2560, 8704, 80, 0, 0, 0, 0}, {12, 51, 64, 1028, 4369, 0, 0}, {112, 21074, 0, 0, 0, 0, 0}, {83, 4352, 0, 0, 0, 0, 0}, {12, 516, 1028, 16, 0, 0, 0}, {255, 8789, 21845, 0, 0, 0, 0}, {12, 48, 4694, 17408, 0, 0, 0}, {95, 32, 599, 21760, 0, 0, 0}, {520, 32, 80, 0, 0, 0, 0}, {12, 51, 4437, 0, 0, 0, 0}, {8794, 0, 0, 0, 0, 0, 0}, {19, 4356, 0, 0, 0, 0, 0}, {12, 48, 4608, 80, 5120, 0, 0}, {127, 8738, 21845, 0, 0, 0, 0}, {12, 48, 4626, 64, 1028, 0, 0}, {95, 8704, 21760, 0, 0, 0, 0}, {96, 16896, 0, 0, 0, 0, 0}, {67, 4369, 0, 0, 0, 0, 0}, {2056, 8738, 64, 0, 0, 0, 0}, {15, 51, 80, 1280, 4352, 0, 0}, {76, 32, 580, 17476, 0, 0, 0}, {15, 48, 4693, 21845, 0, 0, 0}, {204, 8806, 17408, 0, 0, 0, 0}, {15, 519, 1280, 16, 0, 0, 0}, {520, 32, 64, 0, 0, 0, 0}, {15, 51, 4437, 0, 0, 0, 0}, {8810, 0, 0, 0, 0, 0, 0}, {19, 4372, 0, 0, 0, 0, 0}, {108, 8704, 17408, 0, 0, 0, 0}, {15, 48, 4626, 64, 5397, 0, 0}, {76, 8738, 17476, 0, 0, 0, 0}, {15, 48, 4608, 80, 1280, 0, 0}, {112, 20992, 0, 0, 0, 0, 0}, {83, 4369, 0, 0, 0, 0, 0}, {2570, 8738, 80, 0, 0, 0, 0}, {12, 51, 64, 1024, 4352, 0, 0}, {12, 48, 4676, 17476, 0, 0, 0}, {95, 32, 597, 21845, 0, 0, 0}, {12, 518, 1024, 16, 0, 0, 0}, {255, 8823, 21760, 0, 0, 0, 0}, {8824, 0, 0, 0, 0, 0, 0}, {19, 4373, 0, 0, 0, 0, 0}, {522, 32, 80, 0, 0, 0, 0}, {12, 51, 4420, 0, 0, 0, 0}, {12, 48, 4608, 64, 1024, 0, 0}, {95, 8738, 21845, 0, 0, 0, 0}, {12, 48, 4626, 80, 5140, 0, 0}, {127, 8704, 21760, 0, 0, 0, 0}, {128, 2048, 8704, 0, 0, 0, 0}, {3, 80, 1285, 4369, 0, 0, 0}, {160, 2570, 8738, 0, 0, 0, 0}, {3, 64, 1024, 4352, 0, 0, 0}, {12, 8772, 17476, 0, 0, 0, 0}, {15, 32, 517, 80, 1285, 0, 0}, {12, 32, 518, 64, 1024, 0, 0}, {15, 8823, 21760, 0, 0, 0, 0}, {8840, 0, 0, 0, 0, 0, 0}, {3, 261, 16, 0, 0, 0, 0}, {522, 32, 0, 0, 0, 0, 0}, {3, 4420, 0, 0, 0, 0, 0}, {12, 8704, 64, 1024, 0, 0, 0}, {15, 8738, 80, 1285, 0, 0, 0}, {12, 96, 1542, 17476, 0, 0, 0}, {15, 112, 1792, 21760, 0, 0, 0}, {48, 4608, 80, 0, 0, 0, 0}, {76, 51, 4369, 0, 0, 0, 0}, {48, 4626, 64, 0, 0, 0, 0}, {95, 51, 4352, 0, 0, 0, 0}, {28, 32, 532, 80, 5140, 0, 0}, {63, 8789, 21845, 0, 0, 0, 0}, {60, 8806, 17408, 0, 0, 0, 0}, {31, 32, 535, 64, 5376, 0, 0}, {520, 16, 0, 0, 0, 0, 0}, {51, 4437, 0, 0, 0, 0, 0}, {4698, 48, 0, 0, 0, 0, 0}, {19, 4420, 0, 0, 0, 0, 0}, {60, 8704, 80, 5120, 0, 0, 0}, {63, 8738, 64, 5397, 0, 0, 0}, {76, 112, 5654, 17476, 0, 0, 0}, {95, 96, 5888, 21760, 0, 0, 0}, {160, 2560, 8704, 0, 0, 0, 0}, {3, 64, 1028, 4369, 0, 0, 0}, {128, 2056, 8738, 0, 0, 0, 0}, {3, 80, 1280, 4352, 0, 0, 0}, {12, 32, 516, 64, 1028, 0, 0}, {15, 8789, 21845, 0, 0, 0, 0}, {12, 8806, 17408, 0, 0, 0, 0}, {15, 32, 519, 80, 1280, 0, 0}, {520, 32, 0, 0, 0, 0, 0}, {3, 4437, 0, 0, 0, 0, 0}, {8874, 0, 0, 0, 0, 0, 0}, {3, 260, 16, 0, 0, 0, 0}, {12, 96, 1536, 17408, 0, 0, 0}, {15, 112, 1799, 21845, 0, 0, 0}, {12, 8738, 64, 1028, 0, 0, 0}, {15, 8704, 80, 1280, 0, 0, 0}, {48, 4608, 64, 0, 0, 0, 0}, {95, 51, 4369, 0, 0, 0, 0}, {48, 4626, 80, 0, 0, 0, 0}, {76, 51, 4352, 0, 0, 0, 0}, {60, 8772, 17476, 0, 0, 0, 0}, {31, 32, 533, 64, 5397, 0, 0}, {28, 32, 534, 80, 5120, 0, 0}, {63, 8823, 21760, 0, 0, 0, 0}, {4680, 48, 0, 0, 0, 0, 0}, {19, 4437, 0, 0, 0, 0, 0}, {522, 16, 0, 0, 0, 0, 0}, {51, 4420, 0, 0, 0, 0, 0}, {76, 112, 5632, 17408, 0, 0, 0}, {95, 96, 5911, 21845, 0, 0, 0}, {60, 8738, 80, 5140, 0, 0, 0}, {63, 8704, 64, 5376, 0, 0, 0}, {192, 18432, 8704, 0, 0, 0, 0}, {19, 80, 1285, 4369, 0, 0, 0}, {32, 514, 64, 0, 0, 0, 0}, {15, 51, 4352, 0, 0, 0, 0}, {76, 8772, 17476, 0, 0, 0, 0}, {15, 48, 4613, 80, 1285, 0, 0}, {108, 8806, 17408, 0, 0, 0, 0}, {15, 48, 4615, 64, 5376, 0, 0}, {8712, 64, 0, 0, 0, 0, 0}, {51, 4357, 0, 0, 0, 0, 0}, {16906, 96, 0, 0, 0, 0, 0}, {4359, 4420, 0, 0, 0, 0, 0}, {204, 8704, 17408, 0, 0, 0, 0}, {15, 514, 1285, 16, 0, 0, 0}, {76, 32, 514, 17476, 0, 0, 0}, {15, 48, 4608, 21760, 0, 0, 0}, {32, 512, 80, 0, 0, 0, 0}, {12, 51, 4369, 0, 0, 0, 0}, {240, 23130, 8738, 0, 0, 0, 0}, {19, 64, 1024, 4352, 0, 0, 0}, {12, 48, 4628, 80, 5140, 0, 0}, {127, 8789, 21845, 0, 0, 0, 0}, {12, 48, 4630, 64, 1024, 0, 0}, {95, 8823, 21760, 0, 0, 0, 0}, {8744, 80, 0, 0, 0, 0, 0}, {51, 4373, 0, 0, 0, 0, 0}, {21082, 112, 0, 0, 0, 0, 0}, {4375, 4420, 0, 0, 0, 0, 0}, {12, 512, 1024, 16, 0, 0, 0}, {255, 8738, 21845, 0, 0, 0, 0}, {12, 48, 4626, 17476, 0, 0, 0}, {95, 32, 512, 21760, 0, 0, 0}, {32, 512, 64, 0, 0, 0, 0}, {15, 51, 4369, 0, 0, 0, 0}, {192, 18504, 8738, 0, 0, 0, 0}, {19, 80, 1280, 4352, 0, 0, 0}, {108, 8772, 17476, 0, 0, 0, 0}, {15, 48, 4629, 64, 5397, 0, 0}, {76, 8806, 17408, 0, 0, 0, 0}, {15, 48, 4631, 80, 1280, 0, 0}, {16968, 96, 0, 0, 0, 0, 0}, {4374, 4437, 0, 0, 0, 0, 0}, {8746, 64, 0, 0, 0, 0, 0}, {51, 4372, 0, 0, 0, 0, 0}, {76, 32, 512, 17408, 0, 0, 0}, {15, 48, 4626, 21845, 0, 0, 0}, {204, 8738, 17476, 0, 0, 0, 0}, {15, 512, 1280, 16, 0, 0, 0}, {240, 23040, 8704, 0, 0, 0, 0}, {19, 64, 1028, 4369, 0, 0, 0}, {32, 514, 80, 0, 0, 0, 0}, {12, 51, 4352, 0, 0, 0, 0}, {12, 48, 4612, 64, 1028, 0, 0}, {95, 8789, 21845, 0, 0, 0, 0}, {12, 48, 4614, 80, 5120, 0, 0}, {127, 8823, 21760, 0, 0, 0, 0}, {21000, 112, 0, 0, 0, 0, 0}, {4358, 4437, 0, 0, 0, 0, 0}, {8714, 80, 0, 0, 0, 0, 0}, {51, 4356, 0, 0, 0, 0, 0}, {12, 48, 4608, 17408, 0, 0, 0}, {95, 32, 514, 21845, 0, 0, 0}, {12, 514, 1028, 16, 0, 0, 0}, {255, 8704, 21760, 0, 0, 0, 0}, {768, 4096, 0, 0, 0, 0, 0}, {34, 257, 0, 0, 0, 0, 0}, {258, 4352, 0, 0, 0, 0, 0}, {4144, 771, 0, 0, 0, 0, 0}, {780, 8964, 4160, 1028, 0, 0, 0}, {783, 8965, 4176, 1285, 0, 0, 0}, {1290, 4192, 1542, 21760, 0, 0, 0}, {1032, 4208, 1799, 17408, 0, 0, 0}, {4104, 768, 5120, 0, 0, 0, 0}, {4154, 771, 1285, 0, 0, 0, 0}, {4106, 768, 5376, 0, 0, 0, 0}, {4152, 771, 1028, 0, 0, 0, 0}, {780, 8192, 20480, 0, 0, 0, 0}, {269, 34, 514, 4437, 1285, 0, 0}, {270, 34, 514, 4420, 1028, 0, 0}, {783, 8192, 16384, 0, 0, 0, 0}, {816, 4112, 0, 0, 0, 0, 0}, {512, 273, 0, 0, 0, 0, 0}, {274, 4352, 0, 0, 0, 0, 0}, {4128, 4883, 0, 0, 0, 0, 0}, {828, 8980, 4176, 5140, 0, 0, 0}, {831, 8981, 4160, 5397, 0, 0, 0}, {1370, 4208, 5654, 21760, 0, 0, 0}, {1096, 4192, 5911, 17408, 0, 0, 0}, {4120, 816, 5200, 0, 0, 0, 0}, {4889, 819, 1365, 0, 0, 0, 0}, {4122, 816, 5440, 0, 0, 0, 0}, {4891, 819, 1092, 0, 0, 0, 0}, {828, 8224, 20560, 0, 0, 0, 0}, {285, 34, 512, 4437, 5120, 0, 0}, {286, 34, 512, 4420, 5376, 0, 0}, {831, 8224, 16448, 0, 0, 0, 0}, {4128, 768, 0, 0, 0, 0, 0}, {259, 4369, 0, 0, 0, 0, 0}, {34, 256, 0, 0, 0, 0, 0}, {771, 4112, 0, 0, 0, 0, 0}, {1036, 4192, 1792, 17476, 0, 0, 0}, {1295, 4208, 1536, 21845, 0, 0, 0}, {780, 8998, 4160, 1280, 0, 0, 0}, {783, 8999, 4176, 1024, 0, 0, 0}, {4136, 768, 1024, 0, 0, 0, 0}, {4122, 771, 5397, 0, 0, 0, 0}, {4138, 768, 1280, 0, 0, 0, 0}, {4120, 771, 5140, 0, 0, 0, 0}, {780, 8224, 16448, 0, 0, 0, 0}, {271, 34, 512, 4437, 1024, 0, 0}, {268, 34, 512, 4420, 1280, 0, 0}, {783, 8224, 20560, 0, 0, 0, 0}, {4144, 4864, 0, 0, 0, 0, 0}, {275, 4369, 0, 0, 0, 0, 0}, {514, 272, 0, 0, 0, 0, 0}, {819, 4096, 0, 0, 0, 0, 0}, {1100, 4208, 5888, 17476, 0, 0, 0}, {1375, 4192, 5632, 21845, 0, 0, 0}, {828, 9014, 4176, 5376, 0, 0, 0}, {831, 9015, 4160, 5120, 0, 0, 0}, {4872, 816, 1088, 0, 0, 0, 0}, {4106, 819, 5461, 0, 0, 0, 0}, {4874, 816, 1360, 0, 0, 0, 0}, {4104, 819, 5188, 0, 0, 0, 0}, {828, 8192, 16384, 0, 0, 0, 0}, {287, 34, 514, 4437, 5397, 0, 0}, {284, 34, 514, 4420, 5140, 0, 0}, {831, 8192, 20480, 0, 0, 0, 0}, {3840, 13056, 4160, 0, 0, 0, 0}, {522, 34, 321, 1285, 4369, 0, 0}, {322, 4352, 0, 0, 0, 0, 0}, {4208, 17219, 0, 0, 0, 0, 0}, {1792, 1092, 4096, 0, 0, 0, 0}, {869, 1285, 4112, 0, 0, 0, 0}, {1290, 4128, 4934, 21760, 0, 0, 0}, {1096, 4144, 839, 17408, 0, 0, 0}, {4168, 4864, 5120, 0, 0, 0, 0}, {4218, 4883, 1285, 0, 0, 0, 0}, {1290, 4896, 5440, 0, 0, 0, 0}, {1807, 4915, 1092, 0, 0, 0, 0}, {4940, 12288, 20480, 0, 0, 0, 0}, {4120, 34, 4626, 4437, 1285, 0, 0}, {4106, 34, 4608, 4420, 5376, 0, 0}, {4991, 12336, 16448, 0, 0, 0, 0}, {3072, 13056, 4176, 0, 0, 0, 0}, {520, 34, 337, 1028, 4369, 0, 0}, {338, 4352, 0, 0, 0, 0, 0}, {4192, 21331, 0, 0, 0, 0, 0}, {884, 1028, 4112, 0, 0, 0, 0}, {1536, 1365, 4096, 0, 0, 0, 0}, {1370, 4144, 854, 21760, 0, 0, 0}, {1032, 4128, 4951, 17408, 0, 0, 0}, {1032, 4896, 5200, 0, 0, 0, 0}, {1548, 4915, 1365, 0, 0, 0, 0}, {4186, 4864, 5376, 0, 0, 0, 0}, {4200, 4883, 1028, 0, 0, 0, 0}, {4972, 12336, 20560, 0, 0, 0, 0}, {4104, 34, 4608, 4437, 5120, 0, 0}, {4122, 34, 4626, 4420, 1028, 0, 0}, {4959, 12288, 16384, 0, 0, 0, 0}, {4192, 17152, 0, 0, 0, 0, 0}, {323, 4369, 0, 0, 0, 0, 0}, {520, 34, 320, 1280, 4352, 0, 0}, {3855, 13107, 4176, 0, 0, 0, 0}, {1100, 4128, 836, 17476, 0, 0, 0}, {1295, 4144, 4949, 21845, 0, 0, 0}, {870, 1280, 4096, 0, 0, 0, 0}, {1799, 1088, 4112, 0, 0, 0, 0}, {1800, 4896, 1088, 0, 0, 0, 0}, {1295, 4915, 5461, 0, 0, 0, 0}, {4202, 4864, 1280, 0, 0, 0, 0}, {4184, 4883, 5140, 0, 0, 0, 0}, {4972, 12288, 16384, 0, 0, 0, 0}, {4122, 34, 4626, 4437, 5397, 0, 0}, {4104, 34, 4608, 4420, 1280, 0, 0}, {4959, 12336, 20560, 0, 0, 0, 0}, {4208, 21248, 0, 0, 0, 0, 0}, {339, 4369, 0, 0, 0, 0, 0}, {522, 34, 336, 1024, 4352, 0, 0}, {3084, 13107, 4160, 0, 0, 0, 0}, {1036, 4144, 4932, 17476, 0, 0, 0}, {1375, 4128, 853, 21845, 0, 0, 0}, {1542, 1360, 4112, 0, 0, 0, 0}, {887, 1024, 4096, 0, 0, 0, 0}, {4216, 4864, 1024, 0, 0, 0, 0}, {4170, 4883, 5397, 0, 0, 0, 0}, {1546, 4896, 1360, 0, 0, 0, 0}, {1036, 4915, 5188, 0, 0, 0, 0}, {4940, 12336, 16448, 0, 0, 0, 0}, {4106, 34, 4608, 4437, 1024, 0, 0}, {4120, 34, 4626, 4420, 5140, 0, 0}, {4991, 12288, 20480, 0, 0, 0, 0}, {4224, 768, 20480, 0, 0, 0, 0}, {265, 34, 771, 1285, 4369, 0, 0}, {266, 34, 768, 1024, 4352, 0, 0}, {4272, 771, 16448, 0, 0, 0, 0}, {1036, 1792, 5188, 0, 0, 0, 0}, {783, 4981, 1285, 0, 0, 0, 0}, {1290, 1542, 5440, 0, 0, 0, 0}, {783, 4983, 1024, 0, 0, 0, 0}, {136, 768, 1024, 4096, 0, 0, 0}, {170, 771, 1285, 4112, 0, 0, 0}, {1290, 4128, 768, 21760, 0, 0, 0}, {1036, 4144, 771, 17476, 0, 0, 0}, {780, 4160, 0, 0, 0, 0, 0}, {34, 261, 0, 0, 0, 0, 0}, {262, 4420, 0, 0, 0, 0, 0}, {783, 4208, 0, 0, 0, 0, 0}, {7248, 816, 20560, 0, 0, 0, 0}, {281, 34, 785, 1365, 4369, 0, 0}, {282, 34, 786, 1088, 4352, 0, 0}, {8031, 819, 16384, 0, 0, 0, 0}, {4184, 4964, 5140, 0, 0, 0, 0}, {5439, 5632, 1365, 0, 0, 0, 0}, {4186, 4966, 5376, 0, 0, 0, 0}, {5160, 5911, 1088, 0, 0, 0, 0}, {2056, 816, 1088, 4112, 0, 0, 0}, {2560, 819, 1365, 4096, 0, 0, 0}, {1370, 4144, 4864, 21760, 0, 0, 0}, {1100, 4128, 4883, 17476, 0, 0, 0}, {828, 4176, 0, 0, 0, 0, 0}, {34, 277, 0, 0, 0, 0, 0}, {278, 4420, 0, 0, 0, 0, 0}, {4959, 4192, 0, 0, 0, 0, 0}, {4256, 768, 16384, 0, 0, 0, 0}, {267, 34, 771, 1028, 4369, 0, 0}, {264, 34, 768, 1280, 4352, 0, 0}, {4240, 771, 20560, 0, 0, 0, 0}, {780, 4964, 1028, 0, 0, 0, 0}, {1295, 1536, 5461, 0, 0, 0, 0}, {780, 4966, 1280, 0, 0, 0, 0}, {1032, 1799, 5200, 0, 0, 0, 0}, {1032, 4128, 768, 17408, 0, 0, 0}, {1295, 4144, 771, 21845, 0, 0, 0}, {170, 768, 1280, 4096, 0, 0, 0}, {136, 771, 1028, 4112, 0, 0, 0}, {780, 4192, 0, 0, 0, 0, 0}, {263, 4437, 0, 0, 0, 0, 0}, {34, 260, 0, 0, 0, 0, 0}, {783, 4176, 0, 0, 0, 0, 0}, {8000, 816, 16448, 0, 0, 0, 0}, {283, 34, 785, 1092, 4369, 0, 0}, {280, 34, 786, 1360, 4352, 0, 0}, {7244, 819, 20480, 0, 0, 0, 0}, {5180, 5888, 1092, 0, 0, 0, 0}, {4170, 4981, 5397, 0, 0, 0, 0}, {5418, 5654, 1360, 0, 0, 0, 0}, {4168, 4983, 5120, 0, 0, 0, 0}, {1096, 4144, 4864, 17408, 0, 0, 0}, {1375, 4128, 4883, 21845, 0, 0, 0}, {2570, 816, 1360, 4112, 0, 0, 0}, {2048, 819, 1092, 4096, 0, 0, 0}, {4940, 4208, 0, 0, 0, 0, 0}, {279, 4437, 0, 0, 0, 0, 0}, {34, 276, 0, 0, 0, 0, 0}, {831, 4160, 0, 0, 0, 0, 0}, {4288, 4864, 20480, 0, 0, 0, 0}, {329, 34, 514, 1285, 4369, 0, 0}, {1290, 34, 514, 1088, 4352, 0, 0}, {3855, 4915, 16384, 0, 0, 0, 0}, {4104, 5888, 5188, 0, 0, 0, 0}, {4959, 869, 1285, 0, 0, 0, 0}, {4106, 870, 5376, 0, 0, 0, 0}, {4152, 1799, 1088, 0, 0, 0, 0}, {4872, 13056, 4160, 5120, 0, 0, 0}, {4921, 13107, 4176, 1285, 0, 0, 0}, {1290, 4192, 5632, 21760, 0, 0, 0}, {1100, 4208, 1799, 17476, 0, 0, 0}, {972, 3840, 4096, 0, 0, 0, 0}, {34, 514, 325, 1285, 4112, 0, 0}, {4098, 4420, 0, 0, 0, 0, 0}, {17167, 4144, 0, 0, 0, 0, 0}, {3072, 4896, 20560, 0, 0, 0, 0}, {1036, 34, 512, 1365, 4369, 0, 0}, {346, 34, 512, 1024, 4352, 0, 0}, {4320, 4883, 16448, 0, 0, 0, 0}, {4120, 884, 5140, 0, 0, 0, 0}, {4138, 1536, 1365, 0, 0, 0, 0}, {4122, 5654, 5440, 0, 0, 0, 0}, {4959, 887, 1024, 0, 0, 0, 0}, {4904, 13056, 4176, 1024, 0, 0, 0}, {4889, 13107, 4160, 5397, 0, 0, 0}, {1370, 4208, 1536, 21760, 0, 0, 0}, {1036, 4192, 5911, 17476, 0, 0, 0}, {1020, 3084, 4112, 0, 0, 0, 0}, {34, 512, 341, 1024, 4096, 0, 0}, {4114, 4420, 0, 0, 0, 0, 0}, {21343, 4128, 0, 0, 0, 0, 0}, {3840, 4896, 16448, 0, 0, 0, 0}, {1295, 34, 512, 1092, 4369, 0, 0}, {328, 34, 512, 1280, 4352, 0, 0}, {4304, 4883, 20560, 0, 0, 0, 0}, {4136, 1792, 1092, 0, 0, 0, 0}, {4122, 869, 5397, 0, 0, 0, 0}, {4940, 870, 1280, 0, 0, 0, 0}, {4120, 5911, 5200, 0, 0, 0, 0}, {1096, 4192, 1792, 17408, 0, 0, 0}, {1295, 4208, 5654, 21845, 0, 0, 0}, {4906, 13056, 4160, 1280, 0, 0, 0}, {4891, 13107, 4176, 5140, 0, 0, 0}, {17228, 4128, 0, 0, 0, 0, 0}, {4114, 4437, 0, 0, 0, 0, 0}, {34, 512, 324, 1280, 4096, 0, 0}, {975, 3855, 4112, 0, 0, 0, 0}, {4336, 4864, 16384, 0, 0, 0, 0}, {347, 34, 514, 1028, 4369, 0, 0}, {1032, 34, 514, 1360, 4352, 0, 0}, {3084, 4915, 20480, 0, 0, 0, 0}, {4940, 884, 1028, 0, 0, 0, 0}, {4106, 5632, 5461, 0, 0, 0, 0}, {4154, 1542, 1360, 0, 0, 0, 0}, {4104, 887, 5120, 0, 0, 0, 0}, {1032, 4208, 5888, 17408, 0, 0, 0}, {1375, 4192, 1542, 21845, 0, 0, 0}, {4874, 13056, 4176, 5376, 0, 0, 0}, {4923, 13107, 4160, 1028, 0, 0, 0}, {21260, 4144, 0, 0, 0, 0, 0}, {4098, 4437, 0, 0, 0, 0, 0}, {34, 514, 340, 1028, 4112, 0, 0}, {1023, 3072, 4096, 0, 0, 0, 0}, {3072, 9216, 17408, 0, 0, 0, 0}, {15, 37, 85, 257, 0, 0, 0}, {1032, 1058, 514, 16384, 0, 0, 0}, {15, 5171, 771, 20480, 0, 0, 0}, {128, 8192, 1028, 0, 0, 0, 0}, {15, 768, 85, 1285, 4352, 0, 0}, {17510, 1542, 0, 0, 0, 0, 0}, {1031, 4096, 0, 0, 0, 0, 0}, {1032, 8192, 16384, 0, 0, 0, 0}, {15, 4403, 771, 85, 1285, 0, 0}, {1546, 8704, 17408, 0, 0, 0, 0}, {15, 4144, 771, 4160, 1028, 0, 0}, {9228, 0, 0, 0, 0, 0, 0}, {258, 4101, 0, 0, 0, 0, 0}, {42, 514, 1028, 0, 0, 0, 0}, {15, 768, 5120, 0, 0, 0, 0}, {2048, 1072, 1088, 4112, 0, 0, 0}, {2560, 1587, 85, 4369, 0, 0, 0}, {90, 5154, 4626, 20480, 0, 0, 0}, {1100, 1075, 4883, 16384, 0, 0, 0}, {240, 12288, 5140, 0, 0, 0, 0}, {42, 512, 85, 1045, 4352, 0, 0}, {1046, 4096, 0, 0, 0, 0, 0}, {17527, 5911, 0, 0, 0, 0, 0}, {5160, 12336, 20560, 0, 0, 0, 0}, {4377, 4403, 512, 85, 5376, 0, 0}, {4122, 4144, 512, 4160, 5120, 0, 0}, {5928, 13107, 17476, 0, 0, 0, 0}, {5148, 4128, 4176, 0, 0, 0, 0}, {5917, 4386, 85, 0, 0, 0, 0}, {5150, 4642, 5188, 0, 0, 0, 0}, {5919, 4896, 1088, 0, 0, 0, 0}, {128, 8224, 1024, 0, 0, 0, 0}, {15, 771, 85, 1280, 4369, 0, 0}, {17442, 1536, 0, 0, 0, 0, 0}, {1027, 4112, 0, 0, 0, 0, 0}, {3084, 9252, 17476, 0, 0, 0, 0}, {15, 37, 85, 256, 0, 0, 0}, {1036, 1062, 512, 16448, 0, 0, 0}, {15, 5159, 768, 20560, 0, 0, 0}, {9256, 0, 0, 0, 0, 0, 0}, {259, 4117, 0, 0, 0, 0, 0}, {42, 512, 1024, 0, 0, 0, 0}, {15, 771, 5140, 0, 0, 0, 0}, {1036, 8224, 16448, 0, 0, 0, 0}, {15, 4386, 768, 85, 1280, 0, 0}, {1548, 8738, 17476, 0, 0, 0, 0}, {15, 4128, 768, 4176, 1024, 0, 0}, {240, 12336, 5120, 0, 0, 0, 0}, {42, 514, 85, 1041, 4369, 0, 0}, {1042, 4112, 0, 0, 0, 0, 0}, {17459, 5888, 0, 0, 0, 0, 0}, {2056, 1076, 1092, 4096, 0, 0, 0}, {2570, 1589, 85, 4352, 0, 0, 0}, {90, 5174, 4608, 20560, 0, 0, 0}, {1096, 1079, 4864, 16448, 0, 0, 0}, {5128, 4144, 4160, 0, 0, 0, 0}, {5898, 4403, 85, 0, 0, 0, 0}, {5130, 4656, 5200, 0, 0, 0, 0}, {5896, 4915, 1092, 0, 0, 0, 0}, {5180, 12288, 20480, 0, 0, 0, 0}, {4360, 4386, 514, 85, 5397, 0, 0}, {4106, 4128, 514, 4176, 5140, 0, 0}, {5951, 13056, 17408, 0, 0, 0, 0}, {2048, 8192, 1088, 0, 0, 0, 0}, {15, 819, 85, 1285, 4369, 0, 0}, {17442, 16962, 0, 0, 0, 0, 0}, {1091, 4096, 0, 0, 0, 0, 0}, {3276, 9284, 17476, 0, 0, 0, 0}, {15, 517, 1285, 272, 0, 0, 0}, {1100, 1126, 1606, 16384, 0, 0, 0}, {15, 5239, 5959, 20480, 0, 0, 0}, {9288, 0, 0, 0, 0, 0, 0}, {275, 4101, 0, 0, 0, 0, 0}, {522, 544, 1088, 0, 0, 0, 0}, {15, 819, 5188, 0, 0, 0, 0}, {1100, 8192, 16384, 0, 0, 0, 0}, {15, 4386, 4626, 85, 1285, 0, 0}, {1644, 8738, 17476, 0, 0, 0, 0}, {15, 4144, 4864, 4160, 5120, 0, 0}, {3072, 12288, 5200, 0, 0, 0, 0}, {520, 546, 85, 1028, 4369, 0, 0}, {1106, 4096, 0, 0, 0, 0, 0}, {17459, 21331, 0, 0, 0, 0, 0}, {112, 1028, 4112, 0, 0, 0, 0}, {1536, 85, 4352, 0, 0, 0, 0}, {90, 5222, 1622, 20480, 0, 0, 0}, {1032, 1143, 5975, 16384, 0, 0, 0}, {1032, 4128, 4176, 0, 0, 0, 0}, {1548, 4403, 85, 0, 0, 0, 0}, {90, 4608, 5120, 0, 0, 0, 0}, {127, 4883, 1028, 0, 0, 0, 0}, {5228, 12336, 20560, 0, 0, 0, 0}, {4360, 4386, 4864, 85, 5376, 0, 0}, {4122, 4144, 4626, 4160, 1028, 0, 0}, {5983, 13056, 17408, 0, 0, 0, 0}, {3264, 9312, 17408, 0, 0, 0, 0}, {15, 519, 1280, 273, 0, 0, 0}, {1096, 1122, 1600, 16448, 0, 0, 0}, {15, 5219, 5968, 20560, 0, 0, 0}, {2056, 8224, 1092, 0, 0, 0, 0}, {15, 816, 85, 1280, 4352, 0, 0}, {17510, 16896, 0, 0, 0, 0, 0}, {1095, 4112, 0, 0, 0, 0, 0}, {1096, 8224, 16448, 0, 0, 0, 0}, {15, 4403, 4608, 85, 1280, 0, 0}, {1642, 8704, 17408, 0, 0, 0, 0}, {15, 4128, 4883, 4176, 5140, 0, 0}, {9324, 0, 0, 0, 0, 0, 0}, {274, 4117, 0, 0, 0, 0, 0}, {520, 546, 1092, 0, 0, 0, 0}, {15, 816, 5200, 0, 0, 0, 0}, {112, 1024, 4096, 0, 0, 0, 0}, {1542, 85, 4369, 0, 0, 0, 0}, {90, 5234, 1616, 20560, 0, 0, 0}, {1036, 1139, 5952, 16448, 0, 0, 0}, {3084, 12336, 5188, 0, 0, 0, 0}, {522, 544, 85, 1024, 4352, 0, 0}, {1110, 4112, 0, 0, 0, 0, 0}, {17527, 21248, 0, 0, 0, 0, 0}, {5240, 12288, 20480, 0, 0, 0, 0}, {4377, 4403, 4883, 85, 5397, 0, 0}, {4106, 4128, 4608, 4176, 1024, 0, 0}, {5960, 13107, 17476, 0, 0, 0, 0}, {1036, 4144, 4160, 0, 0, 0, 0}, {1546, 4386, 85, 0, 0, 0, 0}, {90, 4626, 5140, 0, 0, 0, 0}, {127, 4864, 1024, 0, 0, 0, 0}, {128, 8192, 1024, 0, 0, 0, 0}, {15, 771, 85, 1285, 4369, 0, 0}, {1546, 17442, 0, 0, 0, 0, 0}, {1027, 4160, 0, 0, 0, 0, 0}, {9348, 3084, 17476, 0, 0, 0, 0}, {288, 768, 261, 4352, 0, 0, 0}, {1036, 1062, 1542, 16448, 0, 0, 0}, {15, 5239, 768, 20480, 0, 0, 0}, {17544, 3072, 24576, 0, 0, 0, 0}, {262, 85, 1285, 4112, 0, 0, 0}, {522, 544, 1024, 0, 0, 0, 0}, {15, 771, 5188, 0, 0, 0, 0}, {1036, 8192, 16448, 0, 0, 0, 0}, {15, 4386, 768, 85, 1285, 0, 0}, {170, 1542, 17476, 0, 0, 0, 0}, {15, 112, 768, 1024, 4096, 0, 0}, {3120, 12336, 5200, 0, 0, 0, 0}, {520, 546, 85, 1041, 4369, 0, 0}, {1042, 4160, 0, 0, 0, 0, 0}, {5983, 17459, 0, 0, 0, 0, 0}, {4128, 4176, 5140, 0, 0, 0, 0}, {1599, 85, 4352, 0, 0, 0, 0}, {90, 5222, 4608, 20480, 0, 0, 0}, {1096, 1079, 5911, 16448, 0, 0, 0}, {1096, 112, 4112, 0, 0, 0, 0}, {4403, 5888, 85, 0, 0, 0, 0}, {90, 4656, 5120, 0, 0, 0, 0}, {1083, 4883, 1092, 0, 0, 0, 0}, {5228, 12288, 20560, 0, 0, 0, 0}, {4360, 4386, 4864, 85, 5397, 0, 0}, {1054, 1076, 1558, 1092, 4096, 0, 0}, {7007, 5984, 17408, 0, 0, 0, 0}, {9376, 3072, 17408, 0, 0, 0, 0}, {289, 771, 260, 4369, 0, 0, 0}, {1032, 1058, 1536, 16384, 0, 0, 0}, {15, 5219, 771, 20560, 0, 0, 0}, {128, 8224, 1028, 0, 0, 0, 0}, {15, 768, 85, 1280, 4352, 0, 0}, {1548, 17510, 0, 0, 0, 0, 0}, {1031, 4176, 0, 0, 0, 0, 0}, {1032, 8224, 16384, 0, 0, 0, 0}, {15, 4403, 771, 85, 1280, 0, 0}, {170, 1536, 17408, 0, 0, 0, 0}, {15, 112, 771, 1028, 4112, 0, 0}, {17612, 3084, 24672, 0, 0, 0, 0}, {263, 85, 1280, 4096, 0, 0, 0}, {520, 546, 1028, 0, 0, 0, 0}, {15, 768, 5200, 0, 0, 0, 0}, {4144, 4160, 5120, 0, 0, 0, 0}, {1593, 85, 4369, 0, 0, 0, 0}, {90, 5234, 4626, 20560, 0, 0, 0}, {1100, 1075, 5888, 16384, 0, 0, 0}, {3132, 12288, 5188, 0, 0, 0, 0}, {522, 544, 85, 1045, 4352, 0, 0}, {1046, 4176, 0, 0, 0, 0, 0}, {5960, 17527, 0, 0, 0, 0, 0}, {5240, 12336, 20480, 0, 0, 0, 0}, {4377, 4403, 4883, 85, 5376, 0, 0}, {1050, 1072, 1552, 1088, 4112, 0, 0}, {6980, 6007, 17476, 0, 0, 0, 0}, {1100, 112, 4096, 0, 0, 0, 0}, {4386, 5911, 85, 0, 0, 0, 0}, {90, 4642, 5140, 0, 0, 0, 0}, {1087, 4864, 1088, 0, 0, 0, 0}, {9408, 10240, 17408, 0, 0, 0, 0}, {305, 514, 276, 4369, 0, 0, 0}, {1096, 1122, 514, 16448, 0, 0, 0}, {15, 5171, 5888, 20480, 0, 0, 0}, {2056, 8192, 1092, 0, 0, 0, 0}, {15, 816, 85, 1285, 4352, 0, 0}, {16906, 17510, 0, 0, 0, 0, 0}, {5127, 4160, 0, 0, 0, 0, 0}, {1096, 8192, 16448, 0, 0, 0, 0}, {15, 4403, 4608, 85, 1285, 0, 0}, {2570, 1632, 17408, 0, 0, 0, 0}, {15, 1076, 1799, 1092, 4096, 0, 0}, {17612, 18432, 24576, 0, 0, 0, 0}, {279, 85, 1285, 4112, 0, 0, 0}, {42, 514, 1092, 0, 0, 0, 0}, {15, 816, 5120, 0, 0, 0, 0}, {4128, 4176, 1024, 0, 0, 0, 0}, {1548, 85, 4369, 0, 0, 0, 0}, {90, 5154, 1536, 20480, 0, 0, 0}, {1036, 1139, 4883, 16448, 0, 0, 0}, {240, 12336, 5140, 0, 0, 0, 0}, {42, 512, 85, 1024, 4352, 0, 0}, {5142, 4160, 0, 0, 0, 0, 0}, {21343, 17527, 0, 0, 0, 0, 0}, {5160, 12288, 20560, 0, 0, 0, 0}, {4377, 4403, 512, 85, 5397, 0, 0}, {90, 112, 512, 1024, 4096, 0, 0}, {255, 5911, 17476, 0, 0, 0, 0}, {1036, 112, 4112, 0, 0, 0, 0}, {4386, 1536, 85, 0, 0, 0, 0}, {5150, 4626, 5188, 0, 0, 0, 0}, {4959, 4896, 1024, 0, 0, 0, 0}, {2048, 8224, 1088, 0, 0, 0, 0}, {15, 819, 85, 1280, 4369, 0, 0}, {16968, 17442, 0, 0, 0, 0, 0}, {5139, 4176, 0, 0, 0, 0, 0}, {9444, 10280, 17476, 0, 0, 0, 0}, {304, 512, 277, 4352, 0, 0, 0}, {1100, 1126, 512, 16384, 0, 0, 0}, {15, 5159, 5911, 20560, 0, 0, 0}, {17544, 18504, 24672, 0, 0, 0, 0}, {278, 85, 1280, 4096, 0, 0, 0}, {42, 512, 1088, 0, 0, 0, 0}, {15, 819, 5140, 0, 0, 0, 0}, {1100, 8224, 16384, 0, 0, 0, 0}, {15, 4386, 4626, 85, 1280, 0, 0}, {2560, 1638, 17476, 0, 0, 0, 0}, {15, 1072, 1792, 1088, 4112, 0, 0}, {240, 12288, 5120, 0, 0, 0, 0}, {42, 514, 85, 1028, 4369, 0, 0}, {5122, 4176, 0, 0, 0, 0, 0}, {21260, 17459, 0, 0, 0, 0, 0}, {4144, 4160, 1028, 0, 0, 0, 0}, {1546, 85, 4352, 0, 0, 0, 0}, {90, 5174, 1542, 20560, 0, 0, 0}, {1032, 1143, 4864, 16384, 0, 0, 0}, {1032, 112, 4096, 0, 0, 0, 0}, {4403, 1542, 85, 0, 0, 0, 0}, {5130, 4608, 5200, 0, 0, 0, 0}, {4940, 4915, 1028, 0, 0, 0, 0}, {5180, 12336, 20480, 0, 0, 0, 0}, {4360, 4386, 514, 85, 5376, 0, 0}, {90, 112, 514, 1028, 4112, 0, 0}, {255, 5888, 17408, 0, 0, 0, 0}, {3840, 9472, 21760, 0, 0, 0, 0}, {12, 36, 68, 257, 0, 0, 0}, {1290, 1314, 514, 20480, 0, 0, 0}, {12, 5427, 771, 16384, 0, 0, 0}, {12, 768, 68, 1028, 4352, 0, 0}, {160, 8192, 1285, 0, 0, 0, 0}, {1286, 4096, 0, 0, 0, 0, 0}, {21879, 1799, 0, 0, 0, 0, 0}, {1800, 8704, 21760, 0, 0, 0, 0}, {12, 4144, 771, 4176, 1285, 0, 0}, {1290, 8192, 20480, 0, 0, 0, 0}, {12, 4403, 771, 68, 1028, 0, 0}, {12, 768, 5376, 0, 0, 0, 0}, {40, 514, 1285, 0, 0, 0, 0}, {258, 4100, 0, 0, 0, 0, 0}, {9487, 0, 0, 0, 0, 0, 0}, {2560, 1328, 1360, 4112, 0, 0, 0}, {2048, 1843, 68, 4369, 0, 0, 0}, {72, 5410, 4626, 16384, 0, 0, 0}, {1375, 1331, 4883, 20480, 0, 0, 0}, {40, 512, 68, 1300, 4352, 0, 0}, {192, 12288, 5397, 0, 0, 0, 0}, {21862, 5654, 0, 0, 0, 0, 0}, {1303, 4096, 0, 0, 0, 0, 0}, {4120, 4144, 512, 4176, 5376, 0, 0}, {5674, 13107, 21845, 0, 0, 0, 0}, {5418, 12336, 16448, 0, 0, 0, 0}, {4379, 4403, 512, 68, 5120, 0, 0}, {5660, 4896, 1360, 0, 0, 0, 0}, {5405, 4642, 5461, 0, 0, 0, 0}, {5662, 4386, 68, 0, 0, 0, 0}, {5407, 4128, 4160, 0, 0, 0, 0}, {160, 8224, 1280, 0, 0, 0, 0}, {12, 771, 68, 1024, 4369, 0, 0}, {21794, 1792, 0, 0, 0, 0, 0}, {1283, 4112, 0, 0, 0, 0, 0}, {12, 36, 68, 256, 0, 0, 0}, {3855, 9509, 21845, 0, 0, 0, 0}, {12, 5414, 768, 16448, 0, 0, 0}, {1295, 1319, 512, 20560, 0, 0, 0}, {40, 512, 1280, 0, 0, 0, 0}, {12, 771, 5397, 0, 0, 0, 0}, {9514, 0, 0, 0, 0, 0, 0}, {259, 4116, 0, 0, 0, 0, 0}, {12, 4128, 768, 4160, 1280, 0, 0}, {1807, 8738, 21845, 0, 0, 0, 0}, {12, 4386, 768, 68, 1024, 0, 0}, {1295, 8224, 20560, 0, 0, 0, 0}, {192, 12336, 5376, 0, 0, 0, 0}, {40, 514, 68, 1297, 4369, 0, 0}, {1298, 4112, 0, 0, 0, 0, 0}, {21811, 5632, 0, 0, 0, 0, 0}, {2056, 1844, 68, 4352, 0, 0, 0}, {2570, 1333, 1365, 4096, 0, 0, 0}, {1370, 1334, 4864, 20560, 0, 0, 0}, {72, 5431, 4608, 16448, 0, 0, 0}, {5384, 4656, 5440, 0, 0, 0, 0}, {5642, 4915, 1365, 0, 0, 0, 0}, {5386, 4144, 4176, 0, 0, 0, 0}, {5640, 4403, 68, 0, 0, 0, 0}, {5692, 13056, 21760, 0, 0, 0, 0}, {4104, 4128, 514, 4160, 5397, 0, 0}, {4362, 4386, 514, 68, 5140, 0, 0}, {5439, 12288, 16384, 0, 0, 0, 0}, {3840, 12288, 5440, 0, 0, 0, 0}, {522, 546, 68, 1285, 4369, 0, 0}, {1346, 4096, 0, 0, 0, 0, 0}, {21811, 17219, 0, 0, 0, 0, 0}, {1792, 68, 4352, 0, 0, 0, 0}, {96, 1285, 4112, 0, 0, 0, 0}, {1290, 1382, 5702, 20480, 0, 0, 0}, {72, 5495, 1863, 16384, 0, 0, 0}, {72, 4608, 5376, 0, 0, 0, 0}, {108, 4883, 1285, 0, 0, 0, 0}, {1290, 4128, 4160, 0, 0, 0, 0}, {1807, 4403, 68, 0, 0, 0, 0}, {5708, 13056, 21760, 0, 0, 0, 0}, {4120, 4144, 4626, 4176, 1285, 0, 0}, {4362, 4386, 4864, 68, 5120, 0, 0}, {5503, 12336, 16448, 0, 0, 0, 0}, {2560, 8192, 1360, 0, 0, 0, 0}, {12, 819, 68, 1028, 4369, 0, 0}, {21794, 21074, 0, 0, 0, 0, 0}, {1363, 4096, 0, 0, 0, 0, 0}, {12, 516, 1028, 272, 0, 0, 0}, {4095, 9557, 21845, 0, 0, 0, 0}, {12, 5478, 5718, 16384, 0, 0, 0}, {1375, 1399, 1879, 20480, 0, 0, 0}, {520, 544, 1360, 0, 0, 0, 0}, {12, 819, 5461, 0, 0, 0, 0}, {9562, 0, 0, 0, 0, 0, 0}, {275, 4100, 0, 0, 0, 0, 0}, {12, 4144, 4864, 4176, 5376, 0, 0}, {1919, 8738, 21845, 0, 0, 0, 0}, {12, 4386, 4626, 68, 1028, 0, 0}, {1375, 8192, 20480, 0, 0, 0, 0}, {96, 1280, 4096, 0, 0, 0, 0}, {1799, 68, 4369, 0, 0, 0, 0}, {72, 5474, 1856, 16448, 0, 0, 0}, {1295, 1379, 5712, 20560, 0, 0, 0}, {520, 544, 68, 1280, 4352, 0, 0}, {3855, 12336, 5461, 0, 0, 0, 0}, {21862, 17152, 0, 0, 0, 0, 0}, {1351, 4112, 0, 0, 0, 0, 0}, {4104, 4128, 4608, 4160, 1280, 0, 0}, {5722, 13107, 21845, 0, 0, 0, 0}, {5482, 12288, 16384, 0, 0, 0, 0}, {4379, 4403, 4883, 68, 5140, 0, 0}, {108, 4864, 1280, 0, 0, 0, 0}, {72, 4626, 5397, 0, 0, 0, 0}, {1800, 4386, 68, 0, 0, 0, 0}, {1295, 4144, 4176, 0, 0, 0, 0}, {4080, 9584, 21760, 0, 0, 0, 0}, {12, 518, 1024, 273, 0, 0, 0}, {1370, 1394, 1872, 20560, 0, 0, 0}, {12, 5491, 5696, 16448, 0, 0, 0}, {12, 816, 68, 1024, 4352, 0, 0}, {2570, 8224, 1365, 0, 0, 0, 0}, {1366, 4112, 0, 0, 0, 0, 0}, {21879, 20992, 0, 0, 0, 0, 0}, {1912, 8704, 21760, 0, 0, 0, 0}, {12, 4128, 4883, 4160, 5397, 0, 0}, {1370, 8224, 20560, 0, 0, 0, 0}, {12, 4403, 4608, 68, 1024, 0, 0}, {12, 816, 5440, 0, 0, 0, 0}, {522, 546, 1365, 0, 0, 0, 0}, {274, 4116, 0, 0, 0, 0, 0}, {9599, 0, 0, 0, 0, 0, 0}, {9600, 3840, 21760, 0, 0, 0, 0}, {289, 771, 261, 4369, 0, 0, 0}, {1290, 1314, 1792, 20480, 0, 0, 0}, {12, 5491, 771, 16448, 0, 0, 0}, {12, 768, 68, 1024, 4352, 0, 0}, {160, 8224, 1285, 0, 0, 0, 0}, {1286, 4160, 0, 0, 0, 0, 0}, {1807, 21879, 0, 0, 0, 0, 0}, {136, 1792, 21760, 0, 0, 0, 0}, {12, 96, 771, 1285, 4112, 0, 0}, {1290, 8224, 20480, 0, 0, 0, 0}, {12, 4403, 771, 68, 1024, 0, 0}, {12, 768, 5440, 0, 0, 0, 0}, {522, 546, 1285, 0, 0, 0, 0}, {262, 68, 1024, 4096, 0, 0, 0}, {22015, 3855, 28784, 0, 0, 0, 0}, {4144, 4176, 5376, 0, 0, 0, 0}, {1851, 68, 4369, 0, 0, 0, 0}, {72, 5474, 4626, 16448, 0, 0, 0}, {1375, 1331, 5632, 20480, 0, 0, 0}, {520, 544, 68, 1300, 4352, 0, 0}, {3903, 12288, 5461, 0, 0, 0, 0}, {5722, 21862, 0, 0, 0, 0, 0}, {1303, 4160, 0, 0, 0, 0, 0}, {1304, 1328, 1808, 1360, 4112, 0, 0}, {6485, 5734, 21845, 0, 0, 0, 0}, {5482, 12336, 16384, 0, 0, 0, 0}, {4379, 4403, 4883, 68, 5120, 0, 0}, {1340, 4864, 1360, 0, 0, 0, 0}, {72, 4642, 5397, 0, 0, 0, 0}, {4386, 5654, 68, 0, 0, 0, 0}, {1375, 96, 4096, 0, 0, 0, 0}, {160, 8192, 1280, 0, 0, 0, 0}, {12, 771, 68, 1028, 4369, 0, 0}, {1800, 21794, 0, 0, 0, 0, 0}, {1283, 4176, 0, 0, 0, 0, 0}, {288, 768, 260, 4352, 0, 0, 0}, {9637, 3855, 21845, 0, 0, 0, 0}, {12, 5478, 768, 16384, 0, 0, 0}, {1295, 1319, 1799, 20560, 0, 0, 0}, {520, 544, 1280, 0, 0, 0, 0}, {12, 771, 5461, 0, 0, 0, 0}, {21930, 3840, 28672, 0, 0, 0, 0}, {263, 68, 1028, 4112, 0, 0, 0}, {12, 96, 768, 1280, 4096, 0, 0}, {136, 1799, 21845, 0, 0, 0, 0}, {12, 4386, 768, 68, 1028, 0, 0}, {1295, 8192, 20560, 0, 0, 0, 0}, {3888, 12336, 5440, 0, 0, 0, 0}, {522, 546, 68, 1297, 4369, 0, 0}, {1298, 4176, 0, 0, 0, 0, 0}, {5708, 21811, 0, 0, 0, 0, 0}, {1852, 68, 4352, 0, 0, 0, 0}, {4128, 4160, 5397, 0, 0, 0, 0}, {1370, 1334, 5654, 20560, 0, 0, 0}, {72, 5495, 4608, 16384, 0, 0, 0}, {72, 4656, 5376, 0, 0, 0, 0}, {1337, 4883, 1365, 0, 0, 0, 0}, {1370, 96, 4112, 0, 0, 0, 0}, {4403, 5632, 68, 0, 0, 0, 0}, {6476, 5744, 21760, 0, 0, 0, 0}, {1309, 1333, 1815, 1365, 4096, 0, 0}, {4362, 4386, 4864, 68, 5140, 0, 0}, {5503, 12288, 16448, 0, 0, 0, 0}, {192, 12288, 5376, 0, 0, 0, 0}, {40, 514, 68, 1285, 4369, 0, 0}, {5378, 4160, 0, 0, 0, 0, 0}, {17167, 21811, 0, 0, 0, 0, 0}, {1800, 68, 4352, 0, 0, 0, 0}, {4144, 4176, 1285, 0, 0, 0, 0}, {1290, 1382, 4864, 20480, 0, 0, 0}, {72, 5431, 1799, 16448, 0, 0, 0}, {5384, 4608, 5440, 0, 0, 0, 0}, {4959, 4915, 1285, 0, 0, 0, 0}, {1290, 96, 4096, 0, 0, 0, 0}, {4403, 1799, 68, 0, 0, 0, 0}, {204, 5632, 21760, 0, 0, 0, 0}, {72, 96, 514, 1285, 4112, 0, 0}, {4362, 4386, 514, 68, 5120, 0, 0}, {5439, 12336, 16384, 0, 0, 0, 0}, {2560, 8224, 1360, 0, 0, 0, 0}, {12, 819, 68, 1024, 4369, 0, 0}, {21082, 21794, 0, 0, 0, 0, 0}, {5395, 4160, 0, 0, 0, 0, 0}, {304, 512, 276, 4352, 0, 0, 0}, {9685, 10794, 21845, 0, 0, 0, 0}, {12, 5414, 5654, 16448, 0, 0, 0}, {1375, 1399, 512, 20480, 0, 0, 0}, {40, 512, 1360, 0, 0, 0, 0}, {12, 819, 5397, 0, 0, 0, 0}, {21930, 23130, 28784, 0, 0, 0, 0}, {279, 68, 1024, 4096, 0, 0, 0}, {12, 1328, 1536, 1360, 4112, 0, 0}, {2048, 1911, 21845, 0, 0, 0, 0}, {12, 4386, 4626, 68, 1024, 0, 0}, {1375, 8224, 20480, 0, 0, 0, 0}, {4128, 4160, 1280, 0, 0, 0, 0}, {1807, 68, 4369, 0, 0, 0, 0}, {72, 5410, 1792, 16384, 0, 0, 0}, {1295, 1379, 4883, 20560, 0, 0, 0}, {40, 512, 68, 1280, 4352, 0, 0}, {192, 12336, 5397, 0, 0, 0, 0}, {17228, 21862, 0, 0, 0, 0, 0}, {5399, 4176, 0, 0, 0, 0, 0}, {72, 96, 512, 1280, 4096, 0, 0}, {204, 5654, 21845, 0, 0, 0, 0}, {5418, 12288, 16448, 0, 0, 0, 0}, {4379, 4403, 512, 68, 5140, 0, 0}, {4940, 4896, 1280, 0, 0, 0, 0}, {5405, 4626, 5461, 0, 0, 0, 0}, {4386, 1792, 68, 0, 0, 0, 0}, {1295, 96, 4112, 0, 0, 0, 0}, {9712, 10752, 21760, 0, 0, 0, 0}, {305, 514, 277, 4369, 0, 0, 0}, {1370, 1394, 514, 20560, 0, 0, 0}, {12, 5427, 5632, 16384, 0, 0, 0}, {12, 816, 68, 1028, 4352, 0, 0}, {2570, 8192, 1365, 0, 0, 0, 0}, {5382, 4176, 0, 0, 0, 0, 0}, {21000, 21879, 0, 0, 0, 0, 0}, {2056, 1904, 21760, 0, 0, 0, 0}, {12, 1333, 1542, 1365, 4096, 0, 0}, {1370, 8192, 20560, 0, 0, 0, 0}, {12, 4403, 4608, 68, 1028, 0, 0}, {12, 816, 5376, 0, 0, 0, 0}, {40, 514, 1365, 0, 0, 0, 0}, {278, 68, 1028, 4112, 0, 0, 0}, {22015, 23040, 28672, 0, 0, 0, 0}, {3072, 9728, 16384, 0, 0, 0, 0}, {15, 39, 80, 257, 0, 0, 0}, {1032, 1056, 514, 17408, 0, 0, 0}, {15, 5424, 771, 21760, 0, 0, 0}, {136, 8704, 1028, 0, 0, 0, 0}, {15, 768, 80, 1285, 4096, 0, 0}, {16480, 1542, 0, 0, 0, 0, 0}, {1031, 4352, 0, 0, 0, 0, 0}, {1032, 8704, 17408, 0, 0, 0, 0}, {15, 4144, 771, 80, 1285, 0, 0}, {1546, 8192, 16384, 0, 0, 0, 0}, {15, 4403, 771, 4420, 1028, 0, 0}, {9740, 0, 0, 0, 0, 0, 0}, {258, 4357, 0, 0, 0, 0, 0}, {40, 514, 1028, 0, 0, 0, 0}, {15, 768, 5376, 0, 0, 0, 0}, {2560, 1584, 80, 4112, 0, 0, 0}, {2048, 1075, 1092, 4369, 0, 0, 0}, {1096, 1072, 4626, 17408, 0, 0, 0}, {95, 5408, 4883, 21760, 0, 0, 0}, {40, 512, 80, 1044, 4096, 0, 0}, {255, 13056, 5397, 0, 0, 0, 0}, {16496, 5654, 0, 0, 0, 0, 0}, {1047, 4352, 0, 0, 0, 0, 0}, {4120, 4144, 512, 80, 5120, 0, 0}, {5418, 13107, 21845, 0, 0, 0, 0}, {5674, 12336, 16448, 0, 0, 0, 0}, {4379, 4403, 512, 4420, 5376, 0, 0}, {5660, 4128, 80, 0, 0, 0, 0}, {5405, 4386, 4437, 0, 0, 0, 0}, {5662, 4642, 1092, 0, 0, 0, 0}, {5407, 4896, 5440, 0, 0, 0, 0}, {16416, 1536, 0, 0, 0, 0, 0}, {1027, 4369, 0, 0, 0, 0, 0}, {136, 8738, 1024, 0, 0, 0, 0}, {15, 771, 80, 1280, 4112, 0, 0}, {1036, 1060, 512, 17476, 0, 0, 0}, {15, 5413, 768, 21845, 0, 0, 0}, {3084, 9766, 16448, 0, 0, 0, 0}, {15, 39, 80, 256, 0, 0, 0}, {40, 512, 1024, 0, 0, 0, 0}, {15, 771, 5397, 0, 0, 0, 0}, {9770, 0, 0, 0, 0, 0, 0}, {259, 4372, 0, 0, 0, 0, 0}, {1548, 8224, 16448, 0, 0, 0, 0}, {15, 4386, 768, 4437, 1024, 0, 0}, {1036, 8738, 17476, 0, 0, 0, 0}, {15, 4128, 768, 80, 1280, 0, 0}, {16432, 5632, 0, 0, 0, 0, 0}, {1043, 4369, 0, 0, 0, 0, 0}, {40, 514, 80, 1040, 4112, 0, 0}, {255, 13107, 5376, 0, 0, 0, 0}, {1100, 1076, 4608, 17476, 0, 0, 0}, {95, 5429, 4864, 21845, 0, 0, 0}, {2570, 1590, 80, 4096, 0, 0, 0}, {2056, 1079, 1088, 4352, 0, 0, 0}, {5640, 4656, 1088, 0, 0, 0, 0}, {5386, 4915, 5461, 0, 0, 0, 0}, {5642, 4144, 80, 0, 0, 0, 0}, {5384, 4403, 4420, 0, 0, 0, 0}, {5692, 12288, 16384, 0, 0, 0, 0}, {4362, 4386, 514, 4437, 5397, 0, 0}, {4104, 4128, 514, 80, 5140, 0, 0}, {5439, 13056, 21760, 0, 0, 0, 0}, {3264, 9792, 16448, 0, 0, 0, 0}, {15, 517, 1285, 273, 0, 0, 0}, {1096, 1120, 1602, 17408, 0, 0, 0}, {15, 5488, 5699, 21760, 0, 0, 0}, {2048, 8704, 1092, 0, 0, 0, 0}, {15, 816, 80, 1285, 4112, 0, 0}, {16416, 17990, 0, 0, 0, 0, 0}, {1095, 4352, 0, 0, 0, 0, 0}, {1096, 8704, 17408, 0, 0, 0, 0}, {15, 4128, 4883, 80, 1285, 0, 0}, {1642, 8224, 16448, 0, 0, 0, 0}, {15, 4403, 4608, 4420, 5376, 0, 0}, {9804, 0, 0, 0, 0, 0, 0}, {274, 4357, 0, 0, 0, 0, 0}, {522, 546, 1092, 0, 0, 0, 0}, {15, 816, 5440, 0, 0, 0, 0}, {1536, 80, 4096, 0, 0, 0, 0}, {119, 1028, 4369, 0, 0, 0, 0}, {1032, 1136, 5714, 17408, 0, 0, 0}, {95, 5472, 1619, 21760, 0, 0, 0}, {520, 544, 80, 1028, 4112, 0, 0}, {3072, 13056, 5461, 0, 0, 0, 0}, {16432, 22102, 0, 0, 0, 0, 0}, {1111, 4352, 0, 0, 0, 0, 0}, {4104, 4128, 4608, 80, 5120, 0, 0}, {5482, 13107, 21845, 0, 0, 0, 0}, {5722, 12288, 16384, 0, 0, 0, 0}, {4379, 4403, 4883, 4420, 1028, 0, 0}, {1548, 4144, 80, 0, 0, 0, 0}, {1032, 4386, 4437, 0, 0, 0, 0}, {120, 4626, 1028, 0, 0, 0, 0}, {95, 4864, 5376, 0, 0, 0, 0}, {16480, 17920, 0, 0, 0, 0, 0}, {1091, 4369, 0, 0, 0, 0, 0}, {2056, 8738, 1088, 0, 0, 0, 0}, {15, 819, 80, 1280, 4096, 0, 0}, {1100, 1124, 1604, 17476, 0, 0, 0}, {15, 5477, 5717, 21845, 0, 0, 0}, {3276, 9830, 16384, 0, 0, 0, 0}, {15, 519, 1280, 272, 0, 0, 0}, {520, 544, 1088, 0, 0, 0, 0}, {15, 819, 5461, 0, 0, 0, 0}, {9834, 0, 0, 0, 0, 0, 0}, {275, 4372, 0, 0, 0, 0, 0}, {1644, 8192, 16384, 0, 0, 0, 0}, {15, 4386, 4626, 4437, 5397, 0, 0}, {1100, 8738, 17476, 0, 0, 0, 0}, {15, 4144, 4864, 80, 1280, 0, 0}, {16496, 22016, 0, 0, 0, 0, 0}, {1107, 4369, 0, 0, 0, 0, 0}, {522, 546, 80, 1024, 4096, 0, 0}, {3084, 13107, 5440, 0, 0, 0, 0}, {1036, 1140, 5700, 17476, 0, 0, 0}, {95, 5493, 1621, 21845, 0, 0, 0}, {1542, 80, 4112, 0, 0, 0, 0}, {119, 1024, 4352, 0, 0, 0, 0}, {120, 4608, 1024, 0, 0, 0, 0}, {95, 4883, 5397, 0, 0, 0, 0}, {1546, 4128, 80, 0, 0, 0, 0}, {1036, 4403, 4420, 0, 0, 0, 0}, {5708, 12336, 16448, 0, 0, 0, 0}, {4362, 4386, 4864, 4437, 1024, 0, 0}, {4120, 4144, 4626, 80, 5140, 0, 0}, {5503, 13056, 21760, 0, 0, 0, 0}, {16512, 3072, 26112, 0, 0, 0, 0}, {262, 80, 1285, 4369, 0, 0, 0}, {522, 546, 1024, 0, 0, 0, 0}, {15, 771, 5440, 0, 0, 0, 0}, {1036, 8704, 17476, 0, 0, 0, 0}, {15, 4128, 768, 80, 1285, 0, 0}, {160, 1542, 16448, 0, 0, 0, 0}, {15, 119, 768, 1024, 4352, 0, 0}, {136, 8704, 1024, 0, 0, 0, 0}, {15, 771, 80, 1285, 4112, 0, 0}, {1546, 16416, 0, 0, 0, 0, 0}, {1027, 4420, 0, 0, 0, 0, 0}, {9868, 3084, 16448, 0, 0, 0, 0}, {290, 768, 261, 4096, 0, 0, 0}, {1036, 1060, 1542, 17476, 0, 0, 0}, {15, 5488, 768, 21760, 0, 0, 0}, {4144, 5632, 80, 0, 0, 0, 0}, {1100, 119, 4369, 0, 0, 0, 0}, {1080, 4626, 1088, 0, 0, 0, 0}, {95, 4915, 5376, 0, 0, 0, 0}, {4104, 4128, 4608, 80, 5140, 0, 0}, {5482, 13056, 21845, 0, 0, 0, 0}, {6746, 5734, 16384, 0, 0, 0, 0}, {1055, 1079, 1559, 1088, 4352, 0, 0}, {520, 544, 80, 1040, 4112, 0, 0}, {3123, 13107, 5461, 0, 0, 0, 0}, {5722, 16432, 0, 0, 0, 0, 0}, {1043, 4420, 0, 0, 0, 0, 0}, {1596, 80, 4096, 0, 0, 0, 0}, {4386, 4437, 5397, 0, 0, 0, 0}, {1100, 1076, 5654, 17476, 0, 0, 0}, {95, 5472, 4864, 21760, 0, 0, 0}, {160, 1536, 16384, 0, 0, 0, 0}, {15, 119, 771, 1028, 4369, 0, 0}, {1032, 8738, 17408, 0, 0, 0, 0}, {15, 4144, 771, 80, 1280, 0, 0}, {520, 544, 1028, 0, 0, 0, 0}, {15, 768, 5461, 0, 0, 0, 0}, {16576, 3084, 26214, 0, 0, 0, 0}, {263, 80, 1280, 4352, 0, 0, 0}, {1032, 1056, 1536, 17408, 0, 0, 0}, {15, 5477, 771, 21845, 0, 0, 0}, {9898, 3072, 16384, 0, 0, 0, 0}, {291, 771, 260, 4112, 0, 0, 0}, {1548, 16480, 0, 0, 0, 0, 0}, {1031, 4437, 0, 0, 0, 0, 0}, {136, 8738, 1028, 0, 0, 0, 0}, {15, 768, 80, 1280, 4096, 0, 0}, {6720, 5744, 16448, 0, 0, 0, 0}, {1051, 1075, 1553, 1092, 4369, 0, 0}, {4120, 4144, 4626, 80, 5120, 0, 0}, {5503, 13107, 21760, 0, 0, 0, 0}, {1084, 4608, 1092, 0, 0, 0, 0}, {95, 4896, 5397, 0, 0, 0, 0}, {4128, 5654, 80, 0, 0, 0, 0}, {1096, 119, 4352, 0, 0, 0, 0}, {1096, 1072, 5632, 17408, 0, 0, 0}, {95, 5493, 4883, 21845, 0, 0, 0}, {1594, 80, 4112, 0, 0, 0, 0}, {4403, 4420, 5376, 0, 0, 0, 0}, {5708, 16496, 0, 0, 0, 0, 0}, {1047, 4437, 0, 0, 0, 0, 0}, {522, 546, 80, 1044, 4096, 0, 0}, {3135, 13056, 5440, 0, 0, 0, 0}, {16576, 19456, 26112, 0, 0, 0, 0}, {278, 80, 1285, 4369, 0, 0, 0}, {40, 514, 1088, 0, 0, 0, 0}, {15, 819, 5376, 0, 0, 0, 0}, {1100, 8704, 17476, 0, 0, 0, 0}, {15, 4144, 4864, 80, 1285, 0, 0}, {2570, 1638, 16384, 0, 0, 0, 0}, {15, 1079, 1799, 1088, 4352, 0, 0}, {2056, 8704, 1088, 0, 0, 0, 0}, {15, 819, 80, 1285, 4096, 0, 0}, {17930, 16480, 0, 0, 0, 0, 0}, {5383, 4420, 0, 0, 0, 0, 0}, {9932, 10752, 16384, 0, 0, 0, 0}, {306, 514, 277, 4112, 0, 0, 0}, {1100, 1124, 514, 17476, 0, 0, 0}, {15, 5424, 5632, 21760, 0, 0, 0}, {4128, 1536, 80, 0, 0, 0, 0}, {1036, 119, 4369, 0, 0, 0, 0}, {4698, 4642, 1024, 0, 0, 0, 0}, {5407, 4883, 5440, 0, 0, 0, 0}, {4120, 4144, 512, 80, 5140, 0, 0}, {5418, 13056, 21845, 0, 0, 0, 0}, {240, 5654, 16448, 0, 0, 0, 0}, {95, 119, 512, 1024, 4352, 0, 0}, {40, 512, 80, 1024, 4096, 0, 0}, {255, 13107, 5397, 0, 0, 0, 0}, {22106, 16496, 0, 0, 0, 0, 0}, {5399, 4420, 0, 0, 0, 0, 0}, {1548, 80, 4112, 0, 0, 0, 0}, {4386, 4437, 1024, 0, 0, 0, 0}, {1036, 1140, 4626, 17476, 0, 0, 0}, {95, 5408, 1536, 21760, 0, 0, 0}, {2560, 1632, 16448, 0, 0, 0, 0}, {15, 1075, 1792, 1092, 4369, 0, 0}, {1096, 8738, 17408, 0, 0, 0, 0}, {15, 4128, 4883, 80, 1280, 0, 0}, {40, 512, 1092, 0, 0, 0, 0}, {15, 816, 5397, 0, 0, 0, 0}, {16512, 19532, 26214, 0, 0, 0, 0}, {279, 80, 1280, 4352, 0, 0, 0}, {1096, 1120, 512, 17408, 0, 0, 0}, {15, 5413, 5654, 21845, 0, 0, 0}, {9962, 10794, 16448, 0, 0, 0, 0}, {307, 512, 276, 4096, 0, 0, 0}, {17996, 16416, 0, 0, 0, 0, 0}, {5394, 4437, 0, 0, 0, 0, 0}, {2048, 8738, 1092, 0, 0, 0, 0}, {15, 816, 80, 1280, 4112, 0, 0}, {240, 5632, 16384, 0, 0, 0, 0}, {95, 119, 514, 1028, 4369, 0, 0}, {4104, 4128, 514, 80, 5120, 0, 0}, {5439, 13107, 21760, 0, 0, 0, 0}, {4680, 4656, 1028, 0, 0, 0, 0}, {5386, 4864, 5461, 0, 0, 0, 0}, {4144, 1542, 80, 0, 0, 0, 0}, {1032, 119, 4352, 0, 0, 0, 0}, {1032, 1136, 4608, 17408, 0, 0, 0}, {95, 5429, 1542, 21845, 0, 0, 0}, {1546, 80, 4096, 0, 0, 0, 0}, {4403, 4420, 1028, 0, 0, 0, 0}, {22028, 16432, 0, 0, 0, 0, 0}, {5378, 4437, 0, 0, 0, 0, 0}, {40, 514, 80, 1028, 4112, 0, 0}, {255, 13056, 5376, 0, 0, 0, 0}, {3840, 9984, 20480, 0, 0, 0, 0}, {12, 38, 64, 257, 0, 0, 0}, {1290, 1312, 514, 21760, 0, 0, 0}, {12, 5168, 771, 17408, 0, 0, 0}, {12, 768, 64, 1028, 4096, 0, 0}, {170, 8704, 1285, 0, 0, 0, 0}, {1286, 4352, 0, 0, 0, 0, 0}, {20592, 1799, 0, 0, 0, 0, 0}, {1800, 8192, 20480, 0, 0, 0, 0}, {12, 4403, 771, 4437, 1285, 0, 0}, {1290, 8704, 21760, 0, 0, 0, 0}, {12, 4144, 771, 64, 1028, 0, 0}, {12, 768, 5120, 0, 0, 0, 0}, {42, 514, 1285, 0, 0, 0, 0}, {258, 4356, 0, 0, 0, 0, 0}, {9999, 0, 0, 0, 0, 0, 0}, {2048, 1840, 64, 4112, 0, 0, 0}, {2560, 1331, 1365, 4369, 0, 0, 0}, {1370, 1328, 4626, 21760, 0, 0, 0}, {76, 5152, 4883, 17408, 0, 0, 0}, {204, 13056, 5140, 0, 0, 0, 0}, {42, 512, 64, 1301, 4096, 0, 0}, {1302, 4352, 0, 0, 0, 0, 0}, {20576, 5911, 0, 0, 0, 0, 0}, {5928, 12336, 20560, 0, 0, 0, 0}, {4377, 4403, 512, 4437, 5120, 0, 0}, {4122, 4144, 512, 64, 5376, 0, 0}, {5160, 13107, 17476, 0, 0, 0, 0}, {5148, 4896, 5200, 0, 0, 0, 0}, {5917, 4642, 1365, 0, 0, 0, 0}, {5150, 4386, 4420, 0, 0, 0, 0}, {5919, 4128, 64, 0, 0, 0, 0}, {20512, 1792, 0, 0, 0, 0, 0}, {1283, 4369, 0, 0, 0, 0, 0}, {170, 8738, 1280, 0, 0, 0, 0}, {12, 771, 64, 1024, 4112, 0, 0}, {12, 5156, 768, 17476, 0, 0, 0}, {1295, 1317, 512, 21845, 0, 0, 0}, {12, 38, 64, 256, 0, 0, 0}, {3855, 10023, 20560, 0, 0, 0, 0}, {10024, 0, 0, 0, 0, 0, 0}, {259, 4373, 0, 0, 0, 0, 0}, {42, 512, 1280, 0, 0, 0, 0}, {12, 771, 5140, 0, 0, 0, 0}, {12, 4128, 768, 64, 1024, 0, 0}, {1295, 8738, 21845, 0, 0, 0, 0}, {12, 4386, 768, 4420, 1280, 0, 0}, {1807, 8224, 20560, 0, 0, 0, 0}, {20528, 5888, 0, 0, 0, 0, 0}, {1299, 4369, 0, 0, 0, 0, 0}, {42, 514, 64, 1296, 4112, 0, 0}, {204, 13107, 5120, 0, 0, 0, 0}, {76, 5172, 4864, 17476, 0, 0, 0}, {1375, 1333, 4608, 21845, 0, 0, 0}, {2570, 1334, 1360, 4352, 0, 0, 0}, {2056, 1847, 64, 4096, 0, 0, 0}, {5896, 4144, 64, 0, 0, 0, 0}, {5130, 4403, 4437, 0, 0, 0, 0}, {5898, 4656, 1360, 0, 0, 0, 0}, {5128, 4915, 5188, 0, 0, 0, 0}, {5180, 13056, 17408, 0, 0, 0, 0}, {4106, 4128, 514, 64, 5397, 0, 0}, {4360, 4386, 514, 4420, 5140, 0, 0}, {5951, 12288, 20480, 0, 0, 0, 0}, {1792, 64, 4096, 0, 0, 0, 0}, {102, 1285, 4369, 0, 0, 0, 0}, {1290, 1376, 5954, 21760, 0, 0, 0}, {76, 5232, 1859, 17408, 0, 0, 0}, {3840, 13056, 5188, 0, 0, 0, 0}, {522, 544, 64, 1285, 4112, 0, 0}, {1350, 4352, 0, 0, 0, 0, 0}, {20528, 18247, 0, 0, 0, 0, 0}, {5960, 12288, 20480, 0, 0, 0, 0}, {4377, 4403, 4883, 4437, 1285, 0, 0}, {4106, 4128, 4608, 64, 5376, 0, 0}, {5240, 13107, 17476, 0, 0, 0, 0}, {76, 4864, 5120, 0, 0, 0, 0}, {106, 4626, 1285, 0, 0, 0, 0}, {1290, 4386, 4420, 0, 0, 0, 0}, {1807, 4144, 64, 0, 0, 0, 0}, {4080, 10064, 20560, 0, 0, 0, 0}, {12, 516, 1028, 273, 0, 0, 0}, {1370, 1392, 1874, 21760, 0, 0, 0}, {12, 5216, 5971, 17408, 0, 0, 0}, {12, 816, 64, 1028, 4112, 0, 0}, {2560, 8704, 1365, 0, 0, 0, 0}, {1366, 4352, 0, 0, 0, 0, 0}, {20512, 22359, 0, 0, 0, 0, 0}, {1912, 8224, 20560, 0, 0, 0, 0}, {12, 4403, 4608, 4437, 5120, 0, 0}, {1370, 8704, 21760, 0, 0, 0, 0}, {12, 4128, 4883, 64, 1028, 0, 0}, {12, 816, 5200, 0, 0, 0, 0}, {520, 546, 1365, 0, 0, 0, 0}, {274, 4356, 0, 0, 0, 0, 0}, {10079, 0, 0, 0, 0, 0, 0}, {20576, 18176, 0, 0, 0, 0, 0}, {1347, 4369, 0, 0, 0, 0, 0}, {520, 546, 64, 1280, 4096, 0, 0}, {3855, 13107, 5200, 0, 0, 0, 0}, {76, 5220, 1860, 17476, 0, 0, 0}, {1295, 1381, 5973, 21845, 0, 0, 0}, {102, 1280, 4352, 0, 0, 0, 0}, {1799, 64, 4112, 0, 0, 0, 0}, {1800, 4128, 64, 0, 0, 0, 0}, {1295, 4403, 4437, 0, 0, 0, 0}, {106, 4608, 1280, 0, 0, 0, 0}, {76, 4883, 5140, 0, 0, 0, 0}, {5228, 13056, 17408, 0, 0, 0, 0}, {4122, 4144, 4626, 64, 5397, 0, 0}, {4360, 4386, 4864, 4420, 1280, 0, 0}, {5983, 12336, 20560, 0, 0, 0, 0}, {20592, 22272, 0, 0, 0, 0, 0}, {1363, 4369, 0, 0, 0, 0, 0}, {2570, 8738, 1360, 0, 0, 0, 0}, {12, 819, 64, 1024, 4096, 0, 0}, {12, 5236, 5956, 17476, 0, 0, 0}, {1375, 1397, 1877, 21845, 0, 0, 0}, {12, 518, 1024, 272, 0, 0, 0}, {4095, 10103, 20480, 0, 0, 0, 0}, {10104, 0, 0, 0, 0, 0, 0}, {275, 4373, 0, 0, 0, 0, 0}, {522, 544, 1360, 0, 0, 0, 0}, {12, 819, 5188, 0, 0, 0, 0}, {12, 4144, 4864, 64, 1024, 0, 0}, {1375, 8738, 21845, 0, 0, 0, 0}, {12, 4386, 4626, 4420, 5140, 0, 0}, {1919, 8192, 20480, 0, 0, 0, 0}, {128, 1792, 20480, 0, 0, 0, 0}, {12, 102, 771, 1285, 4369, 0, 0}, {1290, 8738, 21760, 0, 0, 0, 0}, {12, 4144, 771, 64, 1024, 0, 0}, {12, 768, 5188, 0, 0, 0, 0}, {522, 544, 1285, 0, 0, 0, 0}, {262, 64, 1024, 4352, 0, 0, 0}, {20720, 3855, 30583, 0, 0, 0, 0}, {10120, 3840, 20480, 0, 0, 0, 0}, {291, 771, 261, 4112, 0, 0, 0}, {1290, 1312, 1792, 21760, 0, 0, 0}, {12, 5236, 771, 17476, 0, 0, 0}, {12, 768, 64, 1024, 4096, 0, 0}, {170, 8738, 1285, 0, 0, 0, 0}, {1286, 4420, 0, 0, 0, 0, 0}, {1807, 20592, 0, 0, 0, 0, 0}, {6224, 5984, 20560, 0, 0, 0, 0}, {1305, 1331, 1809, 1365, 4369, 0, 0}, {4122, 4144, 4626, 64, 5376, 0, 0}, {5228, 13107, 17408, 0, 0, 0, 0}, {76, 4896, 5140, 0, 0, 0, 0}, {1343, 4608, 1365, 0, 0, 0, 0}, {1370, 102, 4352, 0, 0, 0, 0}, {4128, 5911, 64, 0, 0, 0, 0}, {1848, 64, 4112, 0, 0, 0, 0}, {4403, 4437, 5120, 0, 0, 0, 0}, {1370, 1328, 5888, 21760, 0, 0, 0}, {76, 5220, 4883, 17476, 0, 0, 0}, {3900, 13056, 5200, 0, 0, 0, 0}, {520, 546, 64, 1301, 4096, 0, 0}, {1302, 4420, 0, 0, 0, 0, 0}, {5983, 20576, 0, 0, 0, 0, 0}, {20640, 3840, 30464, 0, 0, 0, 0}, {263, 64, 1028, 4369, 0, 0, 0}, {520, 546, 1280, 0, 0, 0, 0}, {12, 771, 5200, 0, 0, 0, 0}, {12, 4128, 768, 64, 1028, 0, 0}, {1295, 8704, 21845, 0, 0, 0, 0}, {12, 102, 768, 1280, 4352, 0, 0}, {128, 1799, 20560, 0, 0, 0, 0}, {1800, 20512, 0, 0, 0, 0, 0}, {1283, 4437, 0, 0, 0, 0, 0}, {170, 8704, 1280, 0, 0, 0, 0}, {12, 771, 64, 1028, 4112, 0, 0}, {12, 5216, 768, 17408, 0, 0, 0}, {1295, 1317, 1799, 21845, 0, 0, 0}, {290, 768, 260, 4096, 0, 0, 0}, {10159, 3855, 20560, 0, 0, 0, 0}, {4144, 5888, 64, 0, 0, 0, 0}, {1375, 102, 4369, 0, 0, 0, 0}, {1338, 4626, 1360, 0, 0, 0, 0}, {76, 4915, 5120, 0, 0, 0, 0}, {5240, 13056, 17476, 0, 0, 0, 0}, {4106, 4128, 4608, 64, 5397, 0, 0}, {1308, 1334, 1814, 1360, 4352, 0, 0}, {6216, 6007, 20480, 0, 0, 0, 0}, {5960, 20528, 0, 0, 0, 0, 0}, {1299, 4437, 0, 0, 0, 0, 0}, {522, 544, 64, 1296, 4112, 0, 0}, {3891, 13107, 5188, 0, 0, 0, 0}, {76, 5232, 4864, 17408, 0, 0, 0}, {1375, 1333, 5911, 21845, 0, 0, 0}, {4386, 4420, 5140, 0, 0, 0, 0}, {1855, 64, 4096, 0, 0, 0, 0}, {192, 5888, 20480, 0, 0, 0, 0}, {76, 102, 514, 1285, 4369, 0, 0}, {4106, 4128, 514, 64, 5376, 0, 0}, {5180, 13107, 17408, 0, 0, 0, 0}, {5128, 4864, 5188, 0, 0, 0, 0}, {4698, 4656, 1285, 0, 0, 0, 0}, {1290, 102, 4352, 0, 0, 0, 0}, {4144, 1799, 64, 0, 0, 0, 0}, {1800, 64, 4096, 0, 0, 0, 0}, {4403, 4437, 1285, 0, 0, 0, 0}, {1290, 1376, 4608, 21760, 0, 0, 0}, {76, 5172, 1799, 17476, 0, 0, 0}, {204, 13056, 5120, 0, 0, 0, 0}, {42, 514, 64, 1285, 4112, 0, 0}, {5122, 4420, 0, 0, 0, 0, 0}, {18191, 20528, 0, 0, 0, 0, 0}, {2048, 1904, 20560, 0, 0, 0, 0}, {12, 1331, 1536, 1365, 4369, 0, 0}, {1370, 8738, 21760, 0, 0, 0, 0}, {12, 4128, 4883, 64, 1024, 0, 0}, {12, 816, 5140, 0, 0, 0, 0}, {42, 512, 1365, 0, 0, 0, 0}, {278, 64, 1024, 4352, 0, 0, 0}, {20640, 24415, 30583, 0, 0, 0, 0}, {10200, 10280, 20560, 0, 0, 0, 0}, {307, 512, 277, 4096, 0, 0, 0}, {1370, 1392, 512, 21760, 0, 0, 0}, {12, 5156, 5911, 17476, 0, 0, 0}, {12, 816, 64, 1024, 4112, 0, 0}, {2560, 8738, 1365, 0, 0, 0, 0}, {5138, 4420, 0, 0, 0, 0, 0}, {22367, 20512, 0, 0, 0, 0, 0}, {4128, 1792, 64, 0, 0, 0, 0}, {1295, 102, 4369, 0, 0, 0, 0}, {4680, 4642, 1280, 0, 0, 0, 0}, {5148, 4883, 5200, 0, 0, 0, 0}, {5160, 13056, 17476, 0, 0, 0, 0}, {4122, 4144, 512, 64, 5397, 0, 0}, {76, 102, 512, 1280, 4352, 0, 0}, {192, 5911, 20560, 0, 0, 0, 0}, {18248, 20576, 0, 0, 0, 0, 0}, {5142, 4437, 0, 0, 0, 0, 0}, {42, 512, 64, 1280, 4096, 0, 0}, {204, 13107, 5140, 0, 0, 0, 0}, {76, 5152, 1792, 17408, 0, 0, 0}, {1295, 1381, 4626, 21845, 0, 0, 0}, {4386, 4420, 1280, 0, 0, 0, 0}, {1807, 64, 4112, 0, 0, 0, 0}, {20720, 24320, 30464, 0, 0, 0, 0}, {279, 64, 1028, 4369, 0, 0, 0}, {42, 514, 1360, 0, 0, 0, 0}, {12, 819, 5120, 0, 0, 0, 0}, {12, 4144, 4864, 64, 1028, 0, 0}, {1375, 8704, 21845, 0, 0, 0, 0}, {12, 1334, 1542, 1360, 4352, 0, 0}, {2056, 1911, 20480, 0, 0, 0, 0}, {22280, 20592, 0, 0, 0, 0, 0}, {5126, 4437, 0, 0, 0, 0, 0}, {2570, 8704, 1360, 0, 0, 0, 0}, {12, 819, 64, 1028, 4096, 0, 0}, {12, 5168, 5888, 17408, 0, 0, 0}, {1375, 1397, 514, 21845, 0, 0, 0}, {306, 514, 276, 4112, 0, 0, 0}, {10239, 10240, 20480, 0, 0, 0, 0}, {10240, 0, 0, 0, 0, 0, 0}, {3, 21, 257, 0, 0, 0, 0}, {42, 514, 0, 0, 0, 0, 0}, {3, 5120, 0, 0, 0, 0, 0}, {12, 8192, 64, 1028, 0, 0, 0}, {15, 8704, 85, 1285, 0, 0, 0}, {12, 102, 1542, 17408, 0, 0, 0}, {15, 112, 1799, 20480, 0, 0, 0}, {128, 2056, 8192, 0, 0, 0, 0}, {3, 85, 1285, 4352, 0, 0, 0}, {170, 2570, 8704, 0, 0, 0, 0}, {3, 64, 1028, 4096, 0, 0, 0}, {12, 9216, 17408, 0, 0, 0, 0}, {15, 37, 514, 85, 1285, 0, 0}, {12, 38, 514, 64, 1028, 0, 0}, {15, 9984, 20480, 0, 0, 0, 0}, {2048, 48, 64, 4112, 0, 0, 0}, {2560, 51, 85, 4369, 0, 0, 0}, {90, 48, 4626, 20480, 0, 0, 0}, {76, 51, 4883, 17408, 0, 0, 0}, {60, 5140, 0, 0, 0, 0, 0}, {512, 21, 0, 0, 0, 0, 0}, {22, 5120, 0, 0, 0, 0, 0}, {63, 5911, 0, 0, 0, 0, 0}, {6168, 48, 20560, 0, 0, 0, 0}, {25, 51, 512, 85, 4352, 0, 0}, {26, 48, 512, 64, 4096, 0, 0}, {6939, 51, 17476, 0, 0, 0, 0}, {5148, 5152, 5200, 0, 0, 0, 0}, {5917, 5922, 85, 0, 0, 0, 0}, {5150, 5154, 5188, 0, 0, 0, 0}, {5919, 5920, 64, 0, 0, 0, 0}, {128, 2048, 8224, 0, 0, 0, 0}, {3, 85, 1280, 4369, 0, 0, 0}, {170, 2560, 8738, 0, 0, 0, 0}, {3, 64, 1024, 4112, 0, 0, 0}, {12, 9252, 17476, 0, 0, 0, 0}, {15, 37, 512, 85, 1280, 0, 0}, {12, 38, 512, 64, 1024, 0, 0}, {15, 10023, 20560, 0, 0, 0, 0}, {10280, 0, 0, 0, 0, 0, 0}, {3, 21, 256, 0, 0, 0, 0}, {42, 512, 0, 0, 0, 0, 0}, {3, 5140, 0, 0, 0, 0, 0}, {12, 8224, 64, 1024, 0, 0, 0}, {15, 8738, 85, 1280, 0, 0, 0}, {12, 102, 1536, 17476, 0, 0, 0}, {15, 112, 1792, 20560, 0, 0, 0}, {6144, 48, 20480, 0, 0, 0, 0}, {25, 51, 514, 85, 4369, 0, 0}, {26, 48, 514, 64, 4112, 0, 0}, {6912, 51, 17408, 0, 0, 0, 0}, {5128, 5172, 5188, 0, 0, 0, 0}, {5898, 5941, 85, 0, 0, 0, 0}, {5130, 5174, 5200, 0, 0, 0, 0}, {5896, 5943, 64, 0, 0, 0, 0}, {2056, 48, 64, 4096, 0, 0, 0}, {2570, 51, 85, 4352, 0, 0, 0}, {90, 48, 4608, 20560, 0, 0, 0}, {76, 51, 4864, 17476, 0, 0, 0}, {60, 5120, 0, 0, 0, 0, 0}, {514, 21, 0, 0, 0, 0, 0}, {22, 5140, 0, 0, 0, 0, 0}, {63, 5888, 0, 0, 0, 0, 0}, {2048, 8192, 64, 0, 0, 0, 0}, {15, 51, 85, 1285, 4369, 0, 0}, {106, 16962, 0, 0, 0, 0, 0}, {67, 5120, 0, 0, 0, 0, 0}, {204, 10308, 17476, 0, 0, 0, 0}, {48, 528, 21, 4112, 0, 0, 0}, {76, 102, 582, 17408, 0, 0, 0}, {15, 48, 5959, 20480, 0, 0, 0}, {192, 18504, 24576, 0, 0, 0, 0}, {22, 85, 1285, 4352, 0, 0, 0}, {522, 544, 64, 0, 0, 0, 0}, {15, 51, 5188, 0, 0, 0, 0}, {76, 8192, 17408, 0, 0, 0, 0}, {15, 48, 4626, 85, 1285, 0, 0}, {2570, 102, 17476, 0, 0, 0, 0}, {15, 48, 1792, 64, 4096, 0, 0}, {240, 10320, 20560, 0, 0, 0, 0}, {51, 529, 21, 4369, 0, 0, 0}, {90, 112, 594, 20480, 0, 0, 0}, {12, 51, 5971, 17408, 0, 0, 0}, {12, 48, 64, 1028, 4112, 0, 0}, {2560, 8704, 85, 0, 0, 0, 0}, {86, 5120, 0, 0, 0, 0, 0}, {127, 22359, 0, 0, 0, 0, 0}, {2056, 112, 20560, 0, 0, 0, 0}, {12, 51, 1536, 85, 4352, 0, 0}, {90, 8704, 20480, 0, 0, 0, 0}, {12, 51, 4883, 64, 1028, 0, 0}, {12, 48, 5200, 0, 0, 0, 0}, {520, 546, 85, 0, 0, 0, 0}, {22, 64, 1028, 4096, 0, 0, 0}, {255, 24415, 30464, 0, 0, 0, 0}, {192, 18432, 24672, 0, 0, 0, 0}, {22, 85, 1280, 4369, 0, 0, 0}, {520, 546, 64, 0, 0, 0, 0}, {15, 51, 5200, 0, 0, 0, 0}, {76, 8224, 17476, 0, 0, 0, 0}, {15, 48, 4608, 85, 1280, 0, 0}, {2560, 102, 17408, 0, 0, 0, 0}, {15, 48, 1799, 64, 4112, 0, 0}, {2056, 8224, 64, 0, 0, 0, 0}, {15, 51, 85, 1280, 4352, 0, 0}, {106, 16896, 0, 0, 0, 0, 0}, {67, 5140, 0, 0, 0, 0, 0}, {204, 10348, 17408, 0, 0, 0, 0}, {48, 530, 21, 4096, 0, 0, 0}, {76, 102, 580, 17476, 0, 0, 0}, {15, 48, 5968, 20560, 0, 0, 0}, {2048, 112, 20480, 0, 0, 0, 0}, {12, 51, 1542, 85, 4369, 0, 0}, {90, 8738, 20560, 0, 0, 0, 0}, {12, 51, 4864, 64, 1024, 0, 0}, {12, 48, 5188, 0, 0, 0, 0}, {522, 544, 85, 0, 0, 0, 0}, {22, 64, 1024, 4112, 0, 0, 0}, {255, 24320, 30583, 0, 0, 0, 0}, {240, 10360, 20480, 0, 0, 0, 0}, {51, 531, 21, 4352, 0, 0, 0}, {90, 112, 592, 20560, 0, 0, 0}, {12, 51, 5956, 17476, 0, 0, 0}, {12, 48, 64, 1024, 4096, 0, 0}, {2570, 8738, 85, 0, 0, 0, 0}, {86, 5140, 0, 0, 0, 0, 0}, {127, 22272, 0, 0, 0, 0, 0}, {128, 2048, 8192, 0, 0, 0, 0}, {3, 85, 1285, 4369, 0, 0, 0}, {170, 2570, 8738, 0, 0, 0, 0}, {3, 64, 1024, 4096, 0, 0, 0}, {12, 9284, 17476, 0, 0, 0, 0}, {15, 37, 517, 85, 1285, 0, 0}, {12, 38, 518, 64, 1024, 0, 0}, {15, 10103, 20480, 0, 0, 0, 0}, {10376, 0, 0, 0, 0, 0, 0}, {3, 261, 272, 0, 0, 0, 0}, {522, 544, 0, 0, 0, 0, 0}, {3, 5188, 0, 0, 0, 0, 0}, {12, 8192, 64, 1024, 0, 0, 0}, {15, 8738, 85, 1285, 0, 0, 0}, {12, 102, 1542, 17476, 0, 0, 0}, {15, 112, 1792, 20480, 0, 0, 0}, {6224, 48, 20560, 0, 0, 0, 0}, {25, 51, 529, 85, 4369, 0, 0}, {26, 48, 530, 64, 4096, 0, 0}, {7007, 51, 17408, 0, 0, 0, 0}, {76, 112, 5140, 0, 0, 0, 0}, {63, 5888, 85, 0, 0, 0, 0}, {90, 102, 5120, 0, 0, 0, 0}, {63, 5911, 64, 0, 0, 0, 0}, {2056, 48, 64, 4112, 0, 0, 0}, {2560, 51, 85, 4352, 0, 0, 0}, {90, 48, 4608, 20480, 0, 0, 0}, {76, 51, 4883, 17476, 0, 0, 0}, {60, 5200, 0, 0, 0, 0, 0}, {546, 21, 0, 0, 0, 0, 0}, {22, 5188, 0, 0, 0, 0, 0}, {5983, 5984, 0, 0, 0, 0, 0}, {10400, 0, 0, 0, 0, 0, 0}, {3, 260, 273, 0, 0, 0, 0}, {520, 546, 0, 0, 0, 0, 0}, {3, 5200, 0, 0, 0, 0, 0}, {12, 8224, 64, 1028, 0, 0, 0}, {15, 8704, 85, 1280, 0, 0, 0}, {12, 102, 1536, 17408, 0, 0, 0}, {15, 112, 1799, 20560, 0, 0, 0}, {128, 2056, 8224, 0, 0, 0, 0}, {3, 85, 1280, 4352, 0, 0, 0}, {170, 2560, 8704, 0, 0, 0, 0}, {3, 64, 1028, 4112, 0, 0, 0}, {12, 9312, 17408, 0, 0, 0, 0}, {15, 37, 519, 85, 1280, 0, 0}, {12, 38, 516, 64, 1028, 0, 0}, {15, 10064, 20560, 0, 0, 0, 0}, {2048, 48, 64, 4096, 0, 0, 0}, {2570, 51, 85, 4369, 0, 0, 0}, {90, 48, 4626, 20560, 0, 0, 0}, {76, 51, 4864, 17408, 0, 0, 0}, {60, 5188, 0, 0, 0, 0, 0}, {544, 21, 0, 0, 0, 0, 0}, {22, 5200, 0, 0, 0, 0, 0}, {5960, 6007, 0, 0, 0, 0, 0}, {6216, 48, 20480, 0, 0, 0, 0}, {25, 51, 531, 85, 4352, 0, 0}, {26, 48, 528, 64, 4112, 0, 0}, {6980, 51, 17476, 0, 0, 0, 0}, {76, 112, 5120, 0, 0, 0, 0}, {63, 5911, 85, 0, 0, 0, 0}, {90, 102, 5140, 0, 0, 0, 0}, {63, 5888, 64, 0, 0, 0, 0}, {192, 18432, 24576, 0, 0, 0, 0}, {22, 85, 1285, 4369, 0, 0, 0}, {42, 514, 64, 0, 0, 0, 0}, {15, 51, 5120, 0, 0, 0, 0}, {76, 8192, 17476, 0, 0, 0, 0}, {15, 48, 4608, 85, 1285, 0, 0}, {2570, 102, 17408, 0, 0, 0, 0}, {15, 48, 1799, 64, 4096, 0, 0}, {2056, 8192, 64, 0, 0, 0, 0}, {15, 51, 85, 1285, 4352, 0, 0}, {16906, 16992, 0, 0, 0, 0, 0}, {5127, 5188, 0, 0, 0, 0, 0}, {204, 10240, 17408, 0, 0, 0, 0}, {48, 514, 21, 4112, 0, 0, 0}, {76, 102, 514, 17476, 0, 0, 0}, {15, 48, 5888, 20480, 0, 0, 0}, {2048, 112, 20560, 0, 0, 0, 0}, {12, 51, 1536, 85, 4369, 0, 0}, {90, 8738, 20480, 0, 0, 0, 0}, {12, 51, 4883, 64, 1024, 0, 0}, {12, 48, 5140, 0, 0, 0, 0}, {42, 512, 85, 0, 0, 0, 0}, {22, 64, 1024, 4096, 0, 0, 0}, {255, 24415, 30583, 0, 0, 0, 0}, {240, 10280, 20560, 0, 0, 0, 0}, {51, 512, 21, 4352, 0, 0, 0}, {90, 112, 512, 20480, 0, 0, 0}, {12, 51, 5911, 17476, 0, 0, 0}, {12, 48, 64, 1024, 4112, 0, 0}, {2560, 8738, 85, 0, 0, 0, 0}, {5138, 5188, 0, 0, 0, 0, 0}, {22367, 22304, 0, 0, 0, 0, 0}, {2048, 8224, 64, 0, 0, 0, 0}, {15, 51, 85, 1280, 4369, 0, 0}, {16968, 16930, 0, 0, 0, 0, 0}, {5139, 5200, 0, 0, 0, 0, 0}, {204, 10280, 17476, 0, 0, 0, 0}, {48, 512, 21, 4096, 0, 0, 0}, {76, 102, 512, 17408, 0, 0, 0}, {15, 48, 5911, 20560, 0, 0, 0}, {192, 18504, 24672, 0, 0, 0, 0}, {22, 85, 1280, 4352, 0, 0, 0}, {42, 512, 64, 0, 0, 0, 0}, {15, 51, 5140, 0, 0, 0, 0}, {76, 8224, 17408, 0, 0, 0, 0}, {15, 48, 4626, 85, 1280, 0, 0}, {2560, 102, 17476, 0, 0, 0, 0}, {15, 48, 1792, 64, 4112, 0, 0}, {240, 10240, 20480, 0, 0, 0, 0}, {51, 514, 21, 4369, 0, 0, 0}, {90, 112, 514, 20560, 0, 0, 0}, {12, 51, 5888, 17408, 0, 0, 0}, {12, 48, 64, 1028, 4096, 0, 0}, {2570, 8704, 85, 0, 0, 0, 0}, {5126, 5200, 0, 0, 0, 0, 0}, {22280, 22391, 0, 0, 0, 0, 0}, {2056, 112, 20480, 0, 0, 0, 0}, {12, 51, 1542, 85, 4352, 0, 0}, {90, 8704, 20560, 0, 0, 0, 0}, {12, 51, 4864, 64, 1028, 0, 0}, {12, 48, 5120, 0, 0, 0, 0}, {42, 514, 85, 0, 0, 0, 0}, {22, 64, 1028, 4112, 0, 0, 0}, {255, 24320, 30464, 0, 0, 0, 0}, {768, 5376, 0, 0, 0, 0, 0}, {40, 257, 0, 0, 0, 0, 0}, {258, 5120, 0, 0, 0, 0, 0}, {5439, 771, 0, 0, 0, 0, 0}, {780, 8704, 4420, 1028, 0, 0, 0}, {783, 8192, 4176, 1285, 0, 0, 0}, {1290, 4192, 1542, 20480, 0, 0, 0}, {1032, 4471, 1799, 17408, 0, 0, 0}, {1032, 768, 4352, 0, 0, 0, 0}, {4144, 771, 1285, 0, 0, 0, 0}, {1290, 768, 4096, 0, 0, 0, 0}, {4403, 771, 1028, 0, 0, 0, 0}, {780, 9472, 21760, 0, 0, 0, 0}, {269, 293, 514, 4437, 1285, 0, 0}, {270, 294, 514, 4160, 1028, 0, 0}, {783, 9728, 16384, 0, 0, 0, 0}, {2560, 816, 1360, 4112, 0, 0, 0}, {2048, 819, 1092, 4369, 0, 0, 0}, {1096, 4386, 4626, 17408, 0, 0, 0}, {1375, 4128, 4883, 20480, 0, 0, 0}, {512, 276, 0, 0, 0, 0, 0}, {831, 5397, 0, 0, 0, 0, 0}, {5418, 5654, 0, 0, 0, 0, 0}, {279, 5120, 0, 0, 0, 0, 0}, {280, 304, 512, 1360, 4352, 0, 0}, {6425, 819, 21845, 0, 0, 0, 0}, {6682, 816, 16448, 0, 0, 0, 0}, {283, 307, 512, 1092, 4096, 0, 0}, {5660, 5408, 1360, 0, 0, 0, 0}, {5405, 5666, 4437, 0, 0, 0, 0}, {5662, 5410, 1092, 0, 0, 0, 0}, {5407, 5664, 4160, 0, 0, 0, 0}, {4128, 768, 1280, 0, 0, 0, 0}, {1036, 771, 4369, 0, 0, 0, 0}, {4386, 768, 1024, 0, 0, 0, 0}, {1295, 771, 4112, 0, 0, 0, 0}, {268, 292, 512, 4420, 1280, 0, 0}, {783, 9509, 21845, 0, 0, 0, 0}, {780, 9766, 16448, 0, 0, 0, 0}, {271, 295, 512, 4176, 1024, 0, 0}, {40, 256, 0, 0, 0, 0, 0}, {771, 5397, 0, 0, 0, 0, 0}, {5418, 768, 0, 0, 0, 0, 0}, {259, 5140, 0, 0, 0, 0, 0}, {780, 8224, 4160, 1280, 0, 0, 0}, {783, 8738, 4437, 1024, 0, 0, 0}, {1036, 4454, 1792, 17476, 0, 0, 0}, {1295, 4208, 1536, 20560, 0, 0, 0}, {6400, 816, 21760, 0, 0, 0, 0}, {281, 305, 514, 1365, 4369, 0, 0}, {282, 306, 514, 1088, 4112, 0, 0}, {6656, 819, 16384, 0, 0, 0, 0}, {5384, 5684, 4420, 0, 0, 0, 0}, {5642, 5429, 1365, 0, 0, 0, 0}, {5386, 5686, 4176, 0, 0, 0, 0}, {5640, 5431, 1088, 0, 0, 0, 0}, {2056, 816, 1088, 4352, 0, 0, 0}, {2570, 819, 1365, 4096, 0, 0, 0}, {1370, 4144, 4864, 20560, 0, 0, 0}, {1100, 4403, 4608, 17476, 0, 0, 0}, {828, 5376, 0, 0, 0, 0, 0}, {514, 277, 0, 0, 0, 0, 0}, {278, 5140, 0, 0, 0, 0, 0}, {5439, 5632, 0, 0, 0, 0, 0}, {3840, 13056, 5440, 0, 0, 0, 0}, {522, 546, 321, 1285, 4369, 0, 0}, {322, 5120, 0, 0, 0, 0, 0}, {5503, 17219, 0, 0, 0, 0, 0}, {4608, 4420, 5376, 0, 0, 0, 0}, {879, 1285, 4112, 0, 0, 0, 0}, {1290, 4128, 5702, 20480, 0, 0, 0}, {1096, 4471, 839, 17408, 0, 0, 0}, {1096, 1792, 4352, 0, 0, 0, 0}, {4208, 4883, 1285, 0, 0, 0, 0}, {1290, 4896, 4160, 0, 0, 0, 0}, {1807, 4403, 1092, 0, 0, 0, 0}, {5708, 12288, 21760, 0, 0, 0, 0}, {4120, 4144, 4626, 4437, 1285, 0, 0}, {1290, 1314, 1792, 1092, 4096, 0, 0}, {3855, 5744, 16448, 0, 0, 0, 0}, {4864, 4176, 5376, 0, 0, 0, 0}, {891, 1028, 4369, 0, 0, 0, 0}, {1032, 4386, 5714, 17408, 0, 0, 0}, {1375, 4192, 851, 20480, 0, 0, 0}, {520, 544, 340, 1028, 4112, 0, 0}, {3072, 12288, 5461, 0, 0, 0, 0}, {5482, 22102, 0, 0, 0, 0, 0}, {343, 5120, 0, 0, 0, 0, 0}, {1032, 1056, 1536, 1360, 4352, 0, 0}, {3084, 5734, 21845, 0, 0, 0, 0}, {5722, 13056, 16384, 0, 0, 0, 0}, {4379, 4403, 4883, 4160, 1028, 0, 0}, {1548, 4144, 1360, 0, 0, 0, 0}, {1032, 4642, 4437, 0, 0, 0, 0}, {4454, 4626, 1028, 0, 0, 0, 0}, {1375, 1536, 4096, 0, 0, 0, 0}, {4192, 4864, 1280, 0, 0, 0, 0}, {1100, 1799, 4369, 0, 0, 0, 0}, {1800, 4386, 1088, 0, 0, 0, 0}, {1295, 4915, 4176, 0, 0, 0, 0}, {4104, 4128, 4608, 4420, 1280, 0, 0}, {5722, 12336, 21845, 0, 0, 0, 0}, {3840, 5734, 16384, 0, 0, 0, 0}, {1295, 1319, 1799, 1088, 4112, 0, 0}, {520, 544, 320, 1280, 4352, 0, 0}, {3855, 13107, 5461, 0, 0, 0, 0}, {5482, 17152, 0, 0, 0, 0, 0}, {323, 5140, 0, 0, 0, 0, 0}, {876, 1280, 4096, 0, 0, 0, 0}, {4626, 4437, 5397, 0, 0, 0, 0}, {1100, 4454, 836, 17476, 0, 0, 0}, {1295, 4144, 5712, 20560, 0, 0, 0}, {3072, 5744, 21760, 0, 0, 0, 0}, {1036, 1060, 1542, 1365, 4369, 0, 0}, {4362, 4386, 4864, 4176, 1024, 0, 0}, {5708, 13107, 16448, 0, 0, 0, 0}, {1036, 4656, 4420, 0, 0, 0, 0}, {1546, 4128, 1365, 0, 0, 0, 0}, {1370, 1542, 4112, 0, 0, 0, 0}, {4471, 4608, 1024, 0, 0, 0, 0}, {888, 1024, 4352, 0, 0, 0, 0}, {4883, 4160, 5397, 0, 0, 0, 0}, {1370, 4208, 848, 20560, 0, 0, 0}, {1036, 4403, 5700, 17476, 0, 0, 0}, {3084, 12336, 5440, 0, 0, 0, 0}, {522, 546, 341, 1024, 4096, 0, 0}, {342, 5140, 0, 0, 0, 0, 0}, {5503, 22016, 0, 0, 0, 0, 0}, {5504, 768, 21760, 0, 0, 0, 0}, {265, 289, 771, 1285, 4369, 0, 0}, {266, 290, 768, 1024, 4096, 0, 0}, {5567, 771, 16448, 0, 0, 0, 0}, {1036, 1792, 4420, 0, 0, 0, 0}, {783, 4208, 1285, 0, 0, 0, 0}, {1290, 1542, 4160, 0, 0, 0, 0}, {783, 4471, 1024, 0, 0, 0, 0}, {136, 768, 1024, 4352, 0, 0, 0}, {160, 771, 1285, 4112, 0, 0, 0}, {1290, 4128, 768, 20480, 0, 0, 0}, {1036, 4403, 771, 17476, 0, 0, 0}, {780, 5440, 0, 0, 0, 0, 0}, {546, 261, 0, 0, 0, 0, 0}, {262, 5188, 0, 0, 0, 0, 0}, {783, 5744, 0, 0, 0, 0, 0}, {4144, 4864, 1360, 0, 0, 0, 0}, {1100, 819, 4369, 0, 0, 0, 0}, {4386, 4626, 1088, 0, 0, 0, 0}, {1375, 819, 4096, 0, 0, 0, 0}, {284, 308, 788, 4420, 5140, 0, 0}, {831, 9557, 21845, 0, 0, 0, 0}, {828, 9830, 16384, 0, 0, 0, 0}, {287, 311, 791, 4160, 5120, 0, 0}, {520, 272, 0, 0, 0, 0, 0}, {819, 5461, 0, 0, 0, 0, 0}, {5722, 816, 0, 0, 0, 0, 0}, {275, 5188, 0, 0, 0, 0, 0}, {828, 8192, 4176, 5376, 0, 0, 0}, {831, 8738, 4437, 5397, 0, 0, 0}, {1100, 4454, 5654, 17476, 0, 0, 0}, {1375, 4192, 5632, 20480, 0, 0, 0}, {160, 768, 1280, 4096, 0, 0, 0}, {136, 771, 1028, 4369, 0, 0, 0}, {1032, 4386, 768, 17408, 0, 0, 0}, {1295, 4144, 771, 20560, 0, 0, 0}, {544, 260, 0, 0, 0, 0, 0}, {783, 5461, 0, 0, 0, 0, 0}, {780, 5734, 0, 0, 0, 0, 0}, {263, 5200, 0, 0, 0, 0, 0}, {264, 288, 768, 1280, 4352, 0, 0}, {5525, 771, 21845, 0, 0, 0, 0}, {5546, 768, 16384, 0, 0, 0, 0}, {267, 291, 771, 1028, 4112, 0, 0}, {780, 4192, 1280, 0, 0, 0, 0}, {1032, 1799, 4437, 0, 0, 0, 0}, {780, 4454, 1028, 0, 0, 0, 0}, {1295, 1536, 4176, 0, 0, 0, 0}, {816, 5440, 0, 0, 0, 0, 0}, {522, 273, 0, 0, 0, 0, 0}, {274, 5200, 0, 0, 0, 0, 0}, {5708, 819, 0, 0, 0, 0, 0}, {828, 8704, 4420, 5376, 0, 0, 0}, {831, 8224, 4160, 5397, 0, 0, 0}, {1370, 4208, 5654, 20560, 0, 0, 0}, {1096, 4471, 5632, 17408, 0, 0, 0}, {1096, 816, 4352, 0, 0, 0, 0}, {4128, 4883, 1365, 0, 0, 0, 0}, {1370, 816, 4112, 0, 0, 0, 0}, {4403, 4608, 1092, 0, 0, 0, 0}, {828, 9584, 21760, 0, 0, 0, 0}, {285, 309, 791, 4437, 5120, 0, 0}, {286, 310, 788, 4176, 5140, 0, 0}, {831, 9792, 16448, 0, 0, 0, 0}, {5568, 5632, 21760, 0, 0, 0, 0}, {329, 353, 514, 1285, 4369, 0, 0}, {4362, 4386, 514, 4160, 5120, 0, 0}, {5692, 13107, 16384, 0, 0, 0, 0}, {5384, 4608, 4420, 0, 0, 0, 0}, {4959, 4144, 1285, 0, 0, 0, 0}, {1290, 1638, 4096, 0, 0, 0, 0}, {5431, 1799, 1088, 0, 0, 0, 0}, {1800, 1088, 4352, 0, 0, 0, 0}, {4915, 4176, 1285, 0, 0, 0, 0}, {1290, 4192, 4864, 20480, 0, 0, 0}, {1100, 4403, 1799, 17476, 0, 0, 0}, {972, 12288, 5376, 0, 0, 0, 0}, {40, 514, 325, 1285, 4112, 0, 0}, {5378, 5188, 0, 0, 0, 0, 0}, {17167, 22064, 0, 0, 0, 0, 0}, {5408, 1536, 1360, 0, 0, 0, 0}, {1036, 1911, 4369, 0, 0, 0, 0}, {4698, 4386, 1024, 0, 0, 0, 0}, {5407, 4883, 4160, 0, 0, 0, 0}, {4120, 4144, 512, 4420, 5140, 0, 0}, {5674, 12288, 21845, 0, 0, 0, 0}, {5610, 5654, 16448, 0, 0, 0, 0}, {351, 375, 512, 1024, 4096, 0, 0}, {40, 512, 336, 1024, 4352, 0, 0}, {1011, 13107, 5397, 0, 0, 0, 0}, {22106, 17264, 0, 0, 0, 0, 0}, {5399, 5188, 0, 0, 0, 0, 0}, {1548, 1360, 4112, 0, 0, 0, 0}, {4642, 4437, 1024, 0, 0, 0, 0}, {1036, 4454, 4626, 17476, 0, 0, 0}, {1375, 4128, 1536, 20480, 0, 0, 0}, {4896, 4160, 1280, 0, 0, 0, 0}, {1807, 1092, 4369, 0, 0, 0, 0}, {1096, 4386, 1792, 17408, 0, 0, 0}, {1295, 4208, 4883, 20560, 0, 0, 0}, {40, 512, 324, 1280, 4096, 0, 0}, {975, 12336, 5397, 0, 0, 0, 0}, {17228, 22118, 0, 0, 0, 0, 0}, {5399, 5200, 0, 0, 0, 0, 0}, {328, 352, 512, 1280, 4352, 0, 0}, {5589, 5654, 21845, 0, 0, 0, 0}, {5674, 13056, 16448, 0, 0, 0, 0}, {4379, 4403, 512, 4176, 5140, 0, 0}, {4940, 4128, 1280, 0, 0, 0, 0}, {5405, 4626, 4437, 0, 0, 0, 0}, {5410, 1792, 1092, 0, 0, 0, 0}, {1295, 1632, 4112, 0, 0, 0, 0}, {1008, 13056, 5376, 0, 0, 0, 0}, {40, 514, 337, 1028, 4369, 0, 0}, {5378, 5200, 0, 0, 0, 0, 0}, {22028, 17203, 0, 0, 0, 0, 0}, {4656, 4420, 1028, 0, 0, 0, 0}, {1546, 1365, 4096, 0, 0, 0, 0}, {1370, 4144, 1542, 20560, 0, 0, 0}, {1032, 4471, 4608, 17408, 0, 0, 0}, {1032, 1904, 4352, 0, 0, 0, 0}, {5429, 1542, 1365, 0, 0, 0, 0}, {5386, 4864, 4176, 0, 0, 0, 0}, {4680, 4403, 1028, 0, 0, 0, 0}, {5692, 12336, 21760, 0, 0, 0, 0}, {4104, 4128, 514, 4437, 5120, 0, 0}, {350, 374, 514, 1028, 4112, 0, 0}, {5631, 5632, 16384, 0, 0, 0, 0}, {10752, 0, 0, 0, 0, 0, 0}, {3, 20, 257, 0, 0, 0, 0}, {40, 514, 0, 0, 0, 0, 0}, {3, 5376, 0, 0, 0, 0, 0}, {12, 8704, 68, 1028, 0, 0, 0}, {15, 8192, 80, 1285, 0, 0, 0}, {12, 96, 1542, 16384, 0, 0, 0}, {15, 119, 1799, 21760, 0, 0, 0}, {136, 2056, 8704, 0, 0, 0, 0}, {3, 80, 1285, 4096, 0, 0, 0}, {160, 2570, 8192, 0, 0, 0, 0}, {3, 68, 1028, 4352, 0, 0, 0}, {12, 9728, 16384, 0, 0, 0, 0}, {15, 39, 514, 80, 1285, 0, 0}, {12, 36, 514, 68, 1028, 0, 0}, {15, 9472, 21760, 0, 0, 0, 0}, {2560, 48, 80, 4112, 0, 0, 0}, {2048, 51, 68, 4369, 0, 0, 0}, {72, 48, 4626, 16384, 0, 0, 0}, {95, 51, 4883, 21760, 0, 0, 0}, {512, 20, 0, 0, 0, 0, 0}, {63, 5397, 0, 0, 0, 0, 0}, {60, 5654, 0, 0, 0, 0, 0}, {23, 5376, 0, 0, 0, 0, 0}, {24, 48, 512, 80, 4096, 0, 0}, {6425, 51, 21845, 0, 0, 0, 0}, {6682, 48, 16448, 0, 0, 0, 0}, {27, 51, 512, 68, 4352, 0, 0}, {5660, 5664, 80, 0, 0, 0, 0}, {5405, 5410, 5461, 0, 0, 0, 0}, {5662, 5666, 68, 0, 0, 0, 0}, {5407, 5408, 5440, 0, 0, 0, 0}, {160, 2560, 8224, 0, 0, 0, 0}, {3, 68, 1024, 4369, 0, 0, 0}, {136, 2048, 8738, 0, 0, 0, 0}, {3, 80, 1280, 4112, 0, 0, 0}, {12, 36, 512, 68, 1024, 0, 0}, {15, 9509, 21845, 0, 0, 0, 0}, {12, 9766, 16448, 0, 0, 0, 0}, {15, 39, 512, 80, 1280, 0, 0}, {40, 512, 0, 0, 0, 0, 0}, {3, 5397, 0, 0, 0, 0, 0}, {10794, 0, 0, 0, 0, 0, 0}, {3, 20, 256, 0, 0, 0, 0}, {12, 96, 1536, 16448, 0, 0, 0}, {15, 119, 1792, 21845, 0, 0, 0}, {12, 8738, 68, 1024, 0, 0, 0}, {15, 8224, 80, 1280, 0, 0, 0}, {6656, 48, 16384, 0, 0, 0, 0}, {27, 51, 514, 68, 4369, 0, 0}, {24, 48, 514, 80, 4112, 0, 0}, {6400, 51, 21760, 0, 0, 0, 0}, {5640, 5684, 68, 0, 0, 0, 0}, {5386, 5429, 5461, 0, 0, 0, 0}, {5642, 5686, 80, 0, 0, 0, 0}, {5384, 5431, 5440, 0, 0, 0, 0}, {72, 48, 4608, 16448, 0, 0, 0}, {95, 51, 4864, 21845, 0, 0, 0}, {2570, 48, 80, 4096, 0, 0, 0}, {2056, 51, 68, 4352, 0, 0, 0}, {60, 5632, 0, 0, 0, 0, 0}, {23, 5397, 0, 0, 0, 0, 0}, {514, 20, 0, 0, 0, 0, 0}, {63, 5376, 0, 0, 0, 0, 0}, {192, 10816, 16448, 0, 0, 0, 0}, {51, 529, 20, 4369, 0, 0, 0}, {72, 96, 578, 16384, 0, 0, 0}, {15, 51, 5699, 21760, 0, 0, 0}, {2048, 8704, 68, 0, 0, 0, 0}, {15, 48, 80, 1285, 4112, 0, 0}, {108, 17990, 0, 0, 0, 0, 0}, {71, 5376, 0, 0, 0, 0, 0}, {72, 8704, 16384, 0, 0, 0, 0}, {15, 51, 4883, 80, 1285, 0, 0}, {2570, 96, 16448, 0, 0, 0, 0}, {15, 51, 1792, 68, 4352, 0, 0}, {204, 19532, 26112, 0, 0, 0, 0}, {23, 80, 1285, 4096, 0, 0, 0}, {522, 546, 68, 0, 0, 0, 0}, {15, 48, 5440, 0, 0, 0, 0}, {2560, 8192, 80, 0, 0, 0, 0}, {12, 51, 68, 1028, 4369, 0, 0}, {120, 21074, 0, 0, 0, 0, 0}, {83, 5376, 0, 0, 0, 0, 0}, {48, 528, 20, 4112, 0, 0, 0}, {255, 10837, 21845, 0, 0, 0, 0}, {12, 48, 5718, 16384, 0, 0, 0}, {95, 119, 599, 21760, 0, 0, 0}, {520, 544, 80, 0, 0, 0, 0}, {12, 51, 5461, 0, 0, 0, 0}, {240, 23130, 28672, 0, 0, 0, 0}, {23, 68, 1028, 4352, 0, 0, 0}, {12, 48, 1536, 80, 4096, 0, 0}, {2056, 119, 21845, 0, 0, 0, 0}, {12, 48, 4626, 68, 1028, 0, 0}, {95, 8192, 21760, 0, 0, 0, 0}, {2560, 96, 16384, 0, 0, 0, 0}, {15, 51, 1799, 68, 4369, 0, 0}, {72, 8738, 16448, 0, 0, 0, 0}, {15, 51, 4864, 80, 1280, 0, 0}, {520, 544, 68, 0, 0, 0, 0}, {15, 48, 5461, 0, 0, 0, 0}, {204, 19456, 26214, 0, 0, 0, 0}, {23, 80, 1280, 4112, 0, 0, 0}, {72, 96, 576, 16448, 0, 0, 0}, {15, 51, 5717, 21845, 0, 0, 0}, {192, 10858, 16384, 0, 0, 0, 0}, {51, 531, 20, 4352, 0, 0, 0}, {108, 17920, 0, 0, 0, 0, 0}, {71, 5397, 0, 0, 0, 0, 0}, {2056, 8738, 68, 0, 0, 0, 0}, {15, 48, 80, 1280, 4096, 0, 0}, {240, 23040, 28784, 0, 0, 0, 0}, {23, 68, 1024, 4369, 0, 0, 0}, {522, 546, 80, 0, 0, 0, 0}, {12, 51, 5440, 0, 0, 0, 0}, {12, 48, 4608, 68, 1024, 0, 0}, {95, 8224, 21845, 0, 0, 0, 0}, {12, 48, 1542, 80, 4112, 0, 0}, {2048, 119, 21760, 0, 0, 0, 0}, {120, 20992, 0, 0, 0, 0, 0}, {83, 5397, 0, 0, 0, 0, 0}, {2570, 8224, 80, 0, 0, 0, 0}, {12, 51, 68, 1024, 4352, 0, 0}, {12, 48, 5696, 16448, 0, 0, 0}, {95, 119, 597, 21845, 0, 0, 0}, {48, 530, 20, 4096, 0, 0, 0}, {255, 10879, 21760, 0, 0, 0, 0}, {10880, 0, 0, 0, 0, 0, 0}, {3, 261, 273, 0, 0, 0, 0}, {522, 546, 0, 0, 0, 0, 0}, {3, 5440, 0, 0, 0, 0, 0}, {12, 8704, 68, 1024, 0, 0, 0}, {15, 8224, 80, 1285, 0, 0, 0}, {12, 96, 1542, 16448, 0, 0, 0}, {15, 119, 1792, 21760, 0, 0, 0}, {136, 2048, 8704, 0, 0, 0, 0}, {3, 80, 1285, 4112, 0, 0, 0}, {160, 2570, 8224, 0, 0, 0, 0}, {3, 68, 1024, 4352, 0, 0, 0}, {12, 9792, 16448, 0, 0, 0, 0}, {15, 39, 517, 80, 1285, 0, 0}, {12, 36, 518, 68, 1024, 0, 0}, {15, 9584, 21760, 0, 0, 0, 0}, {2560, 48, 80, 4096, 0, 0, 0}, {2056, 51, 68, 4369, 0, 0, 0}, {72, 48, 4626, 16448, 0, 0, 0}, {95, 51, 4864, 21760, 0, 0, 0}, {544, 20, 0, 0, 0, 0, 0}, {63, 5461, 0, 0, 0, 0, 0}, {5722, 5734, 0, 0, 0, 0, 0}, {23, 5440, 0, 0, 0, 0, 0}, {24, 48, 528, 80, 4112, 0, 0}, {6485, 51, 21845, 0, 0, 0, 0}, {6746, 48, 16384, 0, 0, 0, 0}, {27, 51, 531, 68, 4352, 0, 0}, {60, 5632, 80, 0, 0, 0, 0}, {72, 119, 5397, 0, 0, 0, 0}, {60, 5654, 68, 0, 0, 0, 0}, {95, 96, 5376, 0, 0, 0, 0}, {160, 2560, 8192, 0, 0, 0, 0}, {3, 68, 1028, 4369, 0, 0, 0}, {136, 2056, 8738, 0, 0, 0, 0}, {3, 80, 1280, 4096, 0, 0, 0}, {12, 36, 516, 68, 1028, 0, 0}, {15, 9557, 21845, 0, 0, 0, 0}, {12, 9830, 16384, 0, 0, 0, 0}, {15, 39, 519, 80, 1280, 0, 0}, {520, 544, 0, 0, 0, 0, 0}, {3, 5461, 0, 0, 0, 0, 0}, {10922, 0, 0, 0, 0, 0, 0}, {3, 260, 272, 0, 0, 0, 0}, {12, 96, 1536, 16384, 0, 0, 0}, {15, 119, 1799, 21845, 0, 0, 0}, {12, 8738, 68, 1028, 0, 0, 0}, {15, 8192, 80, 1280, 0, 0, 0}, {6720, 48, 16448, 0, 0, 0, 0}, {27, 51, 529, 68, 4369, 0, 0}, {24, 48, 530, 80, 4096, 0, 0}, {6476, 51, 21760, 0, 0, 0, 0}, {60, 5632, 68, 0, 0, 0, 0}, {95, 96, 5397, 0, 0, 0, 0}, {60, 5654, 80, 0, 0, 0, 0}, {72, 119, 5376, 0, 0, 0, 0}, {72, 48, 4608, 16384, 0, 0, 0}, {95, 51, 4883, 21845, 0, 0, 0}, {2570, 48, 80, 4112, 0, 0, 0}, {2048, 51, 68, 4352, 0, 0, 0}, {5708, 5744, 0, 0, 0, 0, 0}, {23, 5461, 0, 0, 0, 0, 0}, {546, 20, 0, 0, 0, 0, 0}, {63, 5440, 0, 0, 0, 0, 0}, {192, 10752, 16384, 0, 0, 0, 0}, {51, 514, 20, 4369, 0, 0, 0}, {72, 96, 514, 16448, 0, 0, 0}, {15, 51, 5632, 21760, 0, 0, 0}, {2056, 8704, 68, 0, 0, 0, 0}, {15, 48, 80, 1285, 4096, 0, 0}, {17930, 18022, 0, 0, 0, 0, 0}, {5383, 5440, 0, 0, 0, 0, 0}, {72, 8704, 16448, 0, 0, 0, 0}, {15, 51, 4864, 80, 1285, 0, 0}, {2570, 96, 16384, 0, 0, 0, 0}, {15, 51, 1799, 68, 4352, 0, 0}, {204, 19456, 26112, 0, 0, 0, 0}, {23, 80, 1285, 4112, 0, 0, 0}, {40, 514, 68, 0, 0, 0, 0}, {15, 48, 5376, 0, 0, 0, 0}, {2560, 8224, 80, 0, 0, 0, 0}, {12, 51, 68, 1024, 4369, 0, 0}, {21082, 21026, 0, 0, 0, 0, 0}, {5395, 5440, 0, 0, 0, 0, 0}, {48, 512, 20, 4096, 0, 0, 0}, {255, 10794, 21845, 0, 0, 0, 0}, {12, 48, 5654, 16448, 0, 0, 0}, {95, 119, 512, 21760, 0, 0, 0}, {40, 512, 80, 0, 0, 0, 0}, {12, 51, 5397, 0, 0, 0, 0}, {240, 23130, 28784, 0, 0, 0, 0}, {23, 68, 1024, 4352, 0, 0, 0}, {12, 48, 1536, 80, 4112, 0, 0}, {2048, 119, 21845, 0, 0, 0, 0}, {12, 48, 4626, 68, 1024, 0, 0}, {95, 8224, 21760, 0, 0, 0, 0}, {2560, 96, 16448, 0, 0, 0, 0}, {15, 51, 1792, 68, 4369, 0, 0}, {72, 8738, 16384, 0, 0, 0, 0}, {15, 51, 4883, 80, 1280, 0, 0}, {40, 512, 68, 0, 0, 0, 0}, {15, 48, 5397, 0, 0, 0, 0}, {204, 19532, 26214, 0, 0, 0, 0}, {23, 80, 1280, 4096, 0, 0, 0}, {72, 96, 512, 16384, 0, 0, 0}, {15, 51, 5654, 21845, 0, 0, 0}, {192, 10794, 16448, 0, 0, 0, 0}, {51, 512, 20, 4352, 0, 0, 0}, {17996, 17952, 0, 0, 0, 0, 0}, {5394, 5461, 0, 0, 0, 0, 0}, {2048, 8738, 68, 0, 0, 0, 0}, {15, 48, 80, 1280, 4112, 0, 0}, {240, 23040, 28672, 0, 0, 0, 0}, {23, 68, 1028, 4369, 0, 0, 0}, {40, 514, 80, 0, 0, 0, 0}, {12, 51, 5376, 0, 0, 0, 0}, {12, 48, 4608, 68, 1028, 0, 0}, {95, 8192, 21845, 0, 0, 0, 0}, {12, 48, 1542, 80, 4096, 0, 0}, {2056, 119, 21760, 0, 0, 0, 0}, {21000, 21104, 0, 0, 0, 0, 0}, {5382, 5461, 0, 0, 0, 0, 0}, {2570, 8192, 80, 0, 0, 0, 0}, {12, 51, 68, 1028, 4352, 0, 0}, {12, 48, 5632, 16384, 0, 0, 0}, {95, 119, 514, 21845, 0, 0, 0}, {48, 514, 20, 4112, 0, 0, 0}, {255, 10752, 21760, 0, 0, 0, 0}, {768, 5120, 0, 0, 0, 0, 0}, {42, 257, 0, 0, 0, 0, 0}, {258, 5376, 0, 0, 0, 0, 0}, {5180, 771, 0, 0, 0, 0, 0}, {780, 8192, 4160, 1028, 0, 0, 0}, {783, 8704, 4437, 1285, 0, 0, 0}, {1290, 4454, 1542, 21760, 0, 0, 0}, {1032, 4208, 1799, 16384, 0, 0, 0}, {1032, 768, 4096, 0, 0, 0, 0}, {4403, 771, 1285, 0, 0, 0, 0}, {1290, 768, 4352, 0, 0, 0, 0}, {4144, 771, 1028, 0, 0, 0, 0}, {780, 9984, 20480, 0, 0, 0, 0}, {269, 295, 514, 4176, 1285, 0, 0}, {270, 292, 514, 4420, 1028, 0, 0}, {783, 9216, 17408, 0, 0, 0, 0}, {2048, 816, 1088, 4112, 0, 0, 0}, {2560, 819, 1365, 4369, 0, 0, 0}, {1370, 4386, 4626, 21760, 0, 0, 0}, {1100, 4128, 4883, 16384, 0, 0, 0}, {828, 5140, 0, 0, 0, 0, 0}, {512, 277, 0, 0, 0, 0, 0}, {278, 5376, 0, 0, 0, 0, 0}, {5160, 5911, 0, 0, 0, 0, 0}, {6168, 816, 20560, 0, 0, 0, 0}, {281, 307, 512, 1365, 4096, 0, 0}, {282, 304, 512, 1088, 4352, 0, 0}, {6939, 819, 17476, 0, 0, 0, 0}, {5148, 5920, 4176, 0, 0, 0, 0}, {5917, 5154, 1365, 0, 0, 0, 0}, {5150, 5922, 4420, 0, 0, 0, 0}, {5919, 5152, 1088, 0, 0, 0, 0}, {4128, 768, 1024, 0, 0, 0, 0}, {1295, 771, 4369, 0, 0, 0, 0}, {4386, 768, 1280, 0, 0, 0, 0}, {1036, 771, 4112, 0, 0, 0, 0}, {780, 9252, 17476, 0, 0, 0, 0}, {271, 293, 512, 4437, 1024, 0, 0}, {268, 294, 512, 4160, 1280, 0, 0}, {783, 10023, 20560, 0, 0, 0, 0}, {5160, 768, 0, 0, 0, 0, 0}, {259, 5397, 0, 0, 0, 0, 0}, {42, 256, 0, 0, 0, 0, 0}, {771, 5140, 0, 0, 0, 0, 0}, {1036, 4192, 1792, 16448, 0, 0, 0}, {1295, 4471, 1536, 21845, 0, 0, 0}, {780, 8738, 4420, 1280, 0, 0, 0}, {783, 8224, 4176, 1024, 0, 0, 0}, {6912, 816, 17408, 0, 0, 0, 0}, {283, 305, 514, 1092, 4369, 0, 0}, {280, 306, 514, 1360, 4112, 0, 0}, {6144, 819, 20480, 0, 0, 0, 0}, {5896, 5172, 1092, 0, 0, 0, 0}, {5130, 5941, 4437, 0, 0, 0, 0}, {5898, 5174, 1360, 0, 0, 0, 0}, {5128, 5943, 4160, 0, 0, 0, 0}, {1096, 4144, 4864, 16448, 0, 0, 0}, {1375, 4403, 4608, 21845, 0, 0, 0}, {2570, 816, 1360, 4352, 0, 0, 0}, {2056, 819, 1092, 4096, 0, 0, 0}, {5180, 5888, 0, 0, 0, 0, 0}, {279, 5397, 0, 0, 0, 0, 0}, {514, 276, 0, 0, 0, 0, 0}, {831, 5120, 0, 0, 0, 0, 0}, {4864, 4160, 5120, 0, 0, 0, 0}, {873, 1285, 4369, 0, 0, 0, 0}, {1290, 4386, 5954, 21760, 0, 0, 0}, {1100, 4208, 835, 16384, 0, 0, 0}, {3840, 12288, 5188, 0, 0, 0, 0}, {522, 544, 325, 1285, 4112, 0, 0}, {326, 5376, 0, 0, 0, 0, 0}, {5240, 18247, 0, 0, 0, 0, 0}, {5960, 13056, 20480, 0, 0, 0, 0}, {4377, 4403, 4883, 4176, 1285, 0, 0}, {1290, 1312, 1792, 1088, 4352, 0, 0}, {3855, 6007, 17476, 0, 0, 0, 0}, {1100, 1792, 4096, 0, 0, 0, 0}, {4471, 4626, 1285, 0, 0, 0, 0}, {1290, 4642, 4420, 0, 0, 0, 0}, {1807, 4144, 1088, 0, 0, 0, 0}, {3072, 13056, 5200, 0, 0, 0, 0}, {520, 546, 337, 1028, 4369, 0, 0}, {338, 5376, 0, 0, 0, 0, 0}, {5228, 21331, 0, 0, 0, 0, 0}, {892, 1028, 4112, 0, 0, 0, 0}, {4608, 4437, 5120, 0, 0, 0, 0}, {1370, 4454, 854, 21760, 0, 0, 0}, {1032, 4128, 5975, 16384, 0, 0, 0}, {1032, 4896, 4176, 0, 0, 0, 0}, {1548, 4403, 1365, 0, 0, 0, 0}, {1370, 1536, 4352, 0, 0, 0, 0}, {4192, 4883, 1028, 0, 0, 0, 0}, {3084, 5984, 20560, 0, 0, 0, 0}, {1032, 1058, 1536, 1365, 4096, 0, 0}, {4122, 4144, 4626, 4420, 1028, 0, 0}, {5983, 12288, 17408, 0, 0, 0, 0}, {3840, 5984, 17408, 0, 0, 0, 0}, {1295, 1317, 1799, 1092, 4369, 0, 0}, {4360, 4386, 4864, 4160, 1280, 0, 0}, {5983, 13107, 20560, 0, 0, 0, 0}, {1800, 4128, 1092, 0, 0, 0, 0}, {1295, 4656, 4437, 0, 0, 0, 0}, {4454, 4608, 1280, 0, 0, 0, 0}, {1096, 1799, 4112, 0, 0, 0, 0}, {1096, 4192, 832, 16448, 0, 0, 0}, {1295, 4403, 5973, 21845, 0, 0, 0}, {874, 1280, 4352, 0, 0, 0, 0}, {4883, 4176, 5140, 0, 0, 0, 0}, {5228, 18176, 0, 0, 0, 0, 0}, {327, 5397, 0, 0, 0, 0, 0}, {520, 546, 324, 1280, 4096, 0, 0}, {3855, 12336, 5200, 0, 0, 0, 0}, {4208, 4864, 1024, 0, 0, 0, 0}, {1375, 1542, 4369, 0, 0, 0, 0}, {1546, 4386, 1360, 0, 0, 0, 0}, {1036, 4915, 4160, 0, 0, 0, 0}, {5960, 12336, 17476, 0, 0, 0, 0}, {4106, 4128, 4608, 4437, 1024, 0, 0}, {1036, 1062, 1542, 1360, 4112, 0, 0}, {3072, 6007, 20480, 0, 0, 0, 0}, {5240, 21248, 0, 0, 0, 0, 0}, {339, 5397, 0, 0, 0, 0, 0}, {522, 544, 336, 1024, 4352, 0, 0}, {3084, 13107, 5188, 0, 0, 0, 0}, {1036, 4144, 5952, 16448, 0, 0, 0}, {1375, 4471, 853, 21845, 0, 0, 0}, {4626, 4420, 5140, 0, 0, 0, 0}, {895, 1024, 4096, 0, 0, 0, 0}, {128, 768, 1024, 4096, 0, 0, 0}, {170, 771, 1285, 4369, 0, 0, 0}, {1290, 4386, 768, 21760, 0, 0, 0}, {1036, 4144, 771, 16448, 0, 0, 0}, {780, 5188, 0, 0, 0, 0, 0}, {544, 261, 0, 0, 0, 0, 0}, {262, 5440, 0, 0, 0, 0, 0}, {783, 6007, 0, 0, 0, 0, 0}, {5256, 768, 20480, 0, 0, 0, 0}, {265, 291, 771, 1285, 4112, 0, 0}, {266, 288, 768, 1024, 4352, 0, 0}, {5300, 771, 17476, 0, 0, 0, 0}, {1036, 1792, 4160, 0, 0, 0, 0}, {783, 4471, 1285, 0, 0, 0, 0}, {1290, 1542, 4420, 0, 0, 0, 0}, {783, 4208, 1024, 0, 0, 0, 0}, {816, 5200, 0, 0, 0, 0, 0}, {520, 273, 0, 0, 0, 0, 0}, {274, 5440, 0, 0, 0, 0, 0}, {5983, 819, 0, 0, 0, 0, 0}, {828, 8224, 4176, 5140, 0, 0, 0}, {831, 8704, 4437, 5120, 0, 0, 0}, {1370, 4454, 5888, 21760, 0, 0, 0}, {1096, 4192, 5911, 16448, 0, 0, 0}, {1096, 816, 4112, 0, 0, 0, 0}, {4403, 4608, 1365, 0, 0, 0, 0}, {1370, 816, 4352, 0, 0, 0, 0}, {4128, 4883, 1092, 0, 0, 0, 0}, {828, 10064, 20560, 0, 0, 0, 0}, {285, 311, 789, 4160, 5397, 0, 0}, {286, 308, 790, 4420, 5376, 0, 0}, {831, 9312, 17408, 0, 0, 0, 0}, {5280, 768, 17408, 0, 0, 0, 0}, {267, 289, 771, 1028, 4369, 0, 0}, {264, 290, 768, 1280, 4096, 0, 0}, {5276, 771, 20560, 0, 0, 0, 0}, {780, 4192, 1028, 0, 0, 0, 0}, {1295, 1536, 4437, 0, 0, 0, 0}, {780, 4454, 1280, 0, 0, 0, 0}, {1032, 1799, 4176, 0, 0, 0, 0}, {1032, 4128, 768, 16384, 0, 0, 0}, {1295, 4403, 771, 21845, 0, 0, 0}, {170, 768, 1280, 4352, 0, 0, 0}, {128, 771, 1028, 4112, 0, 0, 0}, {780, 5984, 0, 0, 0, 0, 0}, {263, 5461, 0, 0, 0, 0, 0}, {546, 260, 0, 0, 0, 0, 0}, {783, 5200, 0, 0, 0, 0, 0}, {4144, 4864, 1088, 0, 0, 0, 0}, {1375, 819, 4369, 0, 0, 0, 0}, {4386, 4626, 1360, 0, 0, 0, 0}, {1100, 819, 4096, 0, 0, 0, 0}, {828, 9284, 17476, 0, 0, 0, 0}, {287, 309, 789, 4437, 5397, 0, 0}, {284, 310, 790, 4176, 5376, 0, 0}, {831, 10103, 20480, 0, 0, 0, 0}, {5960, 816, 0, 0, 0, 0, 0}, {275, 5461, 0, 0, 0, 0, 0}, {522, 272, 0, 0, 0, 0, 0}, {819, 5188, 0, 0, 0, 0, 0}, {1100, 4208, 5888, 16384, 0, 0, 0}, {1375, 4471, 5911, 21845, 0, 0, 0}, {828, 8738, 4420, 5140, 0, 0, 0}, {831, 8192, 4160, 5120, 0, 0, 0}, {960, 13056, 5120, 0, 0, 0, 0}, {42, 514, 321, 1285, 4369, 0, 0}, {5122, 5440, 0, 0, 0, 0, 0}, {18191, 21299, 0, 0, 0, 0, 0}, {1800, 1092, 4096, 0, 0, 0, 0}, {4656, 4437, 1285, 0, 0, 0, 0}, {1290, 4454, 4608, 21760, 0, 0, 0}, {1096, 4144, 1799, 16448, 0, 0, 0}, {5128, 4864, 4160, 0, 0, 0, 0}, {4698, 4403, 1285, 0, 0, 0, 0}, {1290, 1632, 4352, 0, 0, 0, 0}, {5172, 1799, 1092, 0, 0, 0, 0}, {5324, 5888, 20480, 0, 0, 0, 0}, {333, 359, 514, 1285, 4112, 0, 0}, {4106, 4128, 514, 4420, 5376, 0, 0}, {5951, 12336, 17408, 0, 0, 0, 0}, {4896, 4176, 1024, 0, 0, 0, 0}, {1548, 1365, 4369, 0, 0, 0, 0}, {1370, 4386, 1536, 21760, 0, 0, 0}, {1036, 4192, 4883, 16448, 0, 0, 0}, {1020, 12336, 5140, 0, 0, 0, 0}, {42, 512, 341, 1024, 4096, 0, 0}, {5142, 5440, 0, 0, 0, 0, 0}, {21343, 18295, 0, 0, 0, 0, 0}, {5928, 13056, 20560, 0, 0, 0, 0}, {4377, 4403, 512, 4160, 5397, 0, 0}, {346, 368, 512, 1024, 4352, 0, 0}, {5348, 5911, 17476, 0, 0, 0, 0}, {1036, 1904, 4112, 0, 0, 0, 0}, {5154, 1536, 1365, 0, 0, 0, 0}, {5150, 4626, 4420, 0, 0, 0, 0}, {4959, 4128, 1024, 0, 0, 0, 0}, {5152, 1792, 1088, 0, 0, 0, 0}, {1295, 1638, 4369, 0, 0, 0, 0}, {4680, 4386, 1280, 0, 0, 0, 0}, {5148, 4883, 4176, 0, 0, 0, 0}, {5928, 12288, 17476, 0, 0, 0, 0}, {4122, 4144, 512, 4437, 5397, 0, 0}, {332, 358, 512, 1280, 4096, 0, 0}, {5336, 5911, 20560, 0, 0, 0, 0}, {18248, 21344, 0, 0, 0, 0, 0}, {5142, 5461, 0, 0, 0, 0, 0}, {42, 512, 320, 1280, 4352, 0, 0}, {963, 13107, 5140, 0, 0, 0, 0}, {1100, 4128, 1792, 16384, 0, 0, 0}, {1295, 4471, 4626, 21845, 0, 0, 0}, {4642, 4420, 1280, 0, 0, 0, 0}, {1807, 1088, 4112, 0, 0, 0, 0}, {5360, 5888, 17408, 0, 0, 0, 0}, {347, 369, 514, 1028, 4369, 0, 0}, {4360, 4386, 514, 4176, 5376, 0, 0}, {5951, 13107, 20480, 0, 0, 0, 0}, {4940, 4144, 1028, 0, 0, 0, 0}, {5130, 4608, 4437, 0, 0, 0, 0}, {5174, 1542, 1360, 0, 0, 0, 0}, {1032, 1911, 4096, 0, 0, 0, 0}, {1032, 4208, 4864, 16384, 0, 0, 0}, {1375, 4403, 1542, 21845, 0, 0, 0}, {1546, 1360, 4352, 0, 0, 0, 0}, {4915, 4160, 1028, 0, 0, 0, 0}, {21260, 18224, 0, 0, 0, 0, 0}, {5122, 5461, 0, 0, 0, 0, 0}, {42, 514, 340, 1028, 4112, 0, 0}, {1023, 12288, 5120, 0, 0, 0, 0}, {3072, 8192, 16384, 0, 0, 0, 0}, {15, 34, 85, 257, 0, 0, 0}, {1032, 34, 514, 17408, 0, 0, 0}, {15, 4144, 771, 20480, 0, 0, 0}, {8200, 1028, 0, 0, 0, 0, 0}, {768, 4101, 0, 0, 0, 0, 0}, {16490, 1542, 0, 0, 0, 0, 0}, {4103, 5120, 0, 0, 0, 0, 0}, {1032, 9216, 17408, 0, 0, 0, 0}, {15, 4149, 771, 85, 1285, 0, 0}, {1546, 9728, 16384, 0, 0, 0, 0}, {15, 4151, 771, 4160, 1028, 0, 0}, {16576, 3084, 8192, 0, 0, 0, 0}, {258, 85, 1285, 4352, 0, 0, 0}, {34, 514, 1028, 0, 0, 0, 0}, {15, 768, 4096, 0, 0, 0, 0}, {240, 3120, 4112, 0, 0, 0, 0}, {34, 512, 85, 1041, 4369, 0, 0}, {4114, 5120, 0, 0, 0, 0, 0}, {16511, 4883, 0, 0, 0, 0, 0}, {4136, 12288, 4176, 5140, 0, 0, 0}, {4906, 13056, 85, 5397, 0, 0, 0}, {90, 4208, 5654, 20480, 0, 0, 0}, {1096, 119, 5911, 17408, 0, 0, 0}, {4120, 1072, 5200, 0, 0, 0, 0}, {4889, 1587, 85, 0, 0, 0, 0}, {4122, 1584, 4160, 0, 0, 0, 0}, {4891, 1075, 1092, 0, 0, 0, 0}, {7196, 4128, 20560, 0, 0, 0, 0}, {1053, 34, 512, 85, 4352, 0, 0}, {1054, 34, 512, 1092, 4096, 0, 0}, {7967, 4896, 16448, 0, 0, 0, 0}, {16512, 3072, 8224, 0, 0, 0, 0}, {259, 85, 1280, 4369, 0, 0, 0}, {34, 512, 1024, 0, 0, 0, 0}, {15, 771, 4112, 0, 0, 0, 0}, {1036, 9252, 17476, 0, 0, 0, 0}, {15, 4133, 768, 85, 1280, 0, 0}, {1548, 9766, 16448, 0, 0, 0, 0}, {15, 4135, 768, 4176, 1024, 0, 0}, {8232, 1024, 0, 0, 0, 0, 0}, {771, 4117, 0, 0, 0, 0, 0}, {16426, 1536, 0, 0, 0, 0, 0}, {4119, 5140, 0, 0, 0, 0, 0}, {3084, 8224, 16448, 0, 0, 0, 0}, {15, 34, 85, 256, 0, 0, 0}, {1036, 34, 512, 17476, 0, 0, 0}, {15, 4128, 768, 20560, 0, 0, 0}, {7168, 4144, 20480, 0, 0, 0, 0}, {1049, 34, 514, 85, 4369, 0, 0}, {1050, 34, 514, 1088, 4112, 0, 0}, {7936, 4915, 16384, 0, 0, 0, 0}, {4104, 1076, 5188, 0, 0, 0, 0}, {4874, 1589, 85, 0, 0, 0, 0}, {4106, 1590, 4176, 0, 0, 0, 0}, {4872, 1079, 1088, 0, 0, 0, 0}, {4152, 12336, 4160, 5120, 0, 0, 0}, {4921, 13107, 85, 5376, 0, 0, 0}, {90, 4192, 5632, 20560, 0, 0, 0}, {1100, 119, 5888, 17476, 0, 0, 0}, {240, 3132, 4096, 0, 0, 0, 0}, {34, 514, 85, 1045, 4352, 0, 0}, {4098, 5140, 0, 0, 0, 0, 0}, {16447, 4864, 0, 0, 0, 0, 0}, {8320, 11328, 16448, 0, 0, 0, 0}, {34, 785, 276, 4369, 0, 0, 0}, {1096, 34, 1602, 17408, 0, 0, 0}, {15, 4208, 4931, 20480, 0, 0, 0}, {2048, 8192, 1092, 0, 0, 0, 0}, {15, 816, 85, 1285, 4112, 0, 0}, {16426, 17990, 0, 0, 0, 0, 0}, {4167, 5120, 0, 0, 0, 0, 0}, {1096, 8192, 17408, 0, 0, 0, 0}, {15, 4128, 4883, 85, 1285, 0, 0}, {2570, 1632, 16448, 0, 0, 0, 0}, {15, 1075, 1792, 1092, 4096, 0, 0}, {16512, 19532, 24576, 0, 0, 0, 0}, {279, 85, 1285, 4352, 0, 0, 0}, {522, 34, 1092, 0, 0, 0, 0}, {15, 816, 4160, 0, 0, 0, 0}, {3072, 12288, 4176, 0, 0, 0, 0}, {520, 34, 85, 1028, 4369, 0, 0}, {4178, 5120, 0, 0, 0, 0, 0}, {16447, 21331, 0, 0, 0, 0, 0}, {120, 1028, 4112, 0, 0, 0, 0}, {4864, 85, 5376, 0, 0, 0, 0}, {90, 4144, 1622, 20480, 0, 0, 0}, {1032, 119, 4951, 17408, 0, 0, 0}, {1032, 4128, 5200, 0, 0, 0, 0}, {1548, 4915, 85, 0, 0, 0, 0}, {90, 1536, 4096, 0, 0, 0, 0}, {119, 4883, 1028, 0, 0, 0, 0}, {3084, 4192, 20560, 0, 0, 0, 0}, {1032, 34, 1536, 85, 4352, 0, 0}, {4122, 34, 4626, 4160, 1028, 0, 0}, {4959, 13056, 16384, 0, 0, 0, 0}, {16576, 19456, 24672, 0, 0, 0, 0}, {278, 85, 1280, 4369, 0, 0, 0}, {520, 34, 1088, 0, 0, 0, 0}, {15, 819, 4176, 0, 0, 0, 0}, {1100, 8224, 17476, 0, 0, 0, 0}, {15, 4144, 4864, 85, 1280, 0, 0}, {2560, 1638, 16384, 0, 0, 0, 0}, {15, 1079, 1799, 1088, 4112, 0, 0}, {2056, 8224, 1088, 0, 0, 0, 0}, {15, 819, 85, 1280, 4096, 0, 0}, {16490, 17920, 0, 0, 0, 0, 0}, {4183, 5140, 0, 0, 0, 0, 0}, {8352, 11372, 16384, 0, 0, 0, 0}, {34, 786, 277, 4352, 0, 0, 0}, {1100, 34, 1604, 17476, 0, 0, 0}, {15, 4192, 4944, 20560, 0, 0, 0}, {3072, 4208, 20480, 0, 0, 0, 0}, {1036, 34, 1542, 85, 4369, 0, 0}, {4106, 34, 4608, 4176, 1024, 0, 0}, {4940, 13107, 16448, 0, 0, 0, 0}, {1036, 4144, 5188, 0, 0, 0, 0}, {1546, 4896, 85, 0, 0, 0, 0}, {90, 1542, 4112, 0, 0, 0, 0}, {119, 4864, 1024, 0, 0, 0, 0}, {120, 1024, 4096, 0, 0, 0, 0}, {4883, 85, 5397, 0, 0, 0, 0}, {90, 4128, 1616, 20560, 0, 0, 0}, {1036, 119, 4932, 17476, 0, 0, 0}, {3084, 12336, 4160, 0, 0, 0, 0}, {522, 34, 85, 1024, 4352, 0, 0}, {4162, 5140, 0, 0, 0, 0, 0}, {16511, 21248, 0, 0, 0, 0, 0}, {16512, 3072, 24576, 0, 0, 0, 0}, {262, 85, 1285, 4369, 0, 0, 0}, {522, 34, 1024, 0, 0, 0, 0}, {15, 771, 4160, 0, 0, 0, 0}, {1036, 8192, 17476, 0, 0, 0, 0}, {15, 4128, 768, 85, 1285, 0, 0}, {170, 1542, 16448, 0, 0, 0, 0}, {15, 119, 768, 1024, 4096, 0, 0}, {136, 8192, 1024, 0, 0, 0, 0}, {15, 771, 85, 1285, 4112, 0, 0}, {1546, 17952, 0, 0, 0, 0, 0}, {1027, 5188, 0, 0, 0, 0, 0}, {8320, 3084, 16448, 0, 0, 0, 0}, {34, 768, 261, 4352, 0, 0, 0}, {1036, 34, 1542, 17476, 0, 0, 0}, {15, 4208, 768, 20480, 0, 0, 0}, {7248, 4192, 20560, 0, 0, 0, 0}, {1049, 34, 1553, 85, 4369, 0, 0}, {4122, 34, 4626, 4160, 5120, 0, 0}, {4972, 13107, 16384, 0, 0, 0, 0}, {4184, 4128, 5140, 0, 0, 0, 0}, {5439, 4864, 85, 0, 0, 0, 0}, {90, 1638, 4096, 0, 0, 0, 0}, {1079, 5911, 1088, 0, 0, 0, 0}, {1080, 1088, 4112, 0, 0, 0, 0}, {4915, 85, 5376, 0, 0, 0, 0}, {90, 4144, 5632, 20480, 0, 0, 0}, {1100, 119, 4883, 17476, 0, 0, 0}, {3132, 12288, 4176, 0, 0, 0, 0}, {520, 34, 85, 1045, 4352, 0, 0}, {1046, 5188, 0, 0, 0, 0, 0}, {4959, 21344, 0, 0, 0, 0, 0}, {8352, 3072, 16384, 0, 0, 0, 0}, {34, 771, 260, 4369, 0, 0, 0}, {1032, 34, 1536, 17408, 0, 0, 0}, {15, 4192, 771, 20560, 0, 0, 0}, {136, 8224, 1028, 0, 0, 0, 0}, {15, 768, 85, 1280, 4096, 0, 0}, {1548, 18022, 0, 0, 0, 0, 0}, {1031, 5200, 0, 0, 0, 0, 0}, {1032, 8224, 17408, 0, 0, 0, 0}, {15, 4144, 771, 85, 1280, 0, 0}, {170, 1536, 16384, 0, 0, 0, 0}, {15, 119, 771, 1028, 4112, 0, 0}, {16576, 3084, 24672, 0, 0, 0, 0}, {263, 85, 1280, 4352, 0, 0, 0}, {520, 34, 1028, 0, 0, 0, 0}, {15, 768, 4176, 0, 0, 0, 0}, {3120, 12336, 4160, 0, 0, 0, 0}, {522, 34, 85, 1041, 4369, 0, 0}, {1042, 5200, 0, 0, 0, 0, 0}, {4940, 21299, 0, 0, 0, 0, 0}, {1084, 1092, 4096, 0, 0, 0, 0}, {4896, 85, 5397, 0, 0, 0, 0}, {90, 4128, 5654, 20560, 0, 0, 0}, {1096, 119, 4864, 17408, 0, 0, 0}, {4168, 4144, 5120, 0, 0, 0, 0}, {5418, 4883, 85, 0, 0, 0, 0}, {90, 1632, 4112, 0, 0, 0, 0}, {1075, 5888, 1092, 0, 0, 0, 0}, {7244, 4208, 20480, 0, 0, 0, 0}, {1053, 34, 1559, 85, 4352, 0, 0}, {4106, 34, 4608, 4176, 5140, 0, 0}, {4991, 13056, 16448, 0, 0, 0, 0}, {16576, 19456, 8192, 0, 0, 0, 0}, {275, 85, 1285, 4369, 0, 0, 0}, {34, 514, 1088, 0, 0, 0, 0}, {15, 819, 4096, 0, 0, 0, 0}, {1100, 9284, 17476, 0, 0, 0, 0}, {15, 4149, 4869, 85, 1285, 0, 0}, {1644, 9830, 16384, 0, 0, 0, 0}, {15, 4151, 4871, 4160, 5120, 0, 0}, {8200, 1088, 0, 0, 0, 0, 0}, {819, 4101, 0, 0, 0, 0, 0}, {17930, 1632, 0, 0, 0, 0, 0}, {4103, 5188, 0, 0, 0, 0, 0}, {3276, 8192, 16384, 0, 0, 0, 0}, {15, 514, 1285, 272, 0, 0, 0}, {1100, 34, 514, 17476, 0, 0, 0}, {15, 4144, 4864, 20480, 0, 0, 0}, {3072, 4128, 20560, 0, 0, 0, 0}, {1036, 34, 512, 85, 4369, 0, 0}, {90, 34, 512, 1024, 4096, 0, 0}, {255, 4883, 16448, 0, 0, 0, 0}, {4120, 4192, 5140, 0, 0, 0, 0}, {5418, 1536, 85, 0, 0, 0, 0}, {4122, 5654, 4160, 0, 0, 0, 0}, {4959, 119, 1024, 0, 0, 0, 0}, {4136, 12288, 4176, 1024, 0, 0, 0}, {4889, 13107, 85, 5397, 0, 0, 0}, {90, 4208, 1536, 20480, 0, 0, 0}, {1036, 119, 5911, 17476, 0, 0, 0}, {240, 3084, 4112, 0, 0, 0, 0}, {34, 512, 85, 1024, 4352, 0, 0}, {4114, 5188, 0, 0, 0, 0, 0}, {21343, 4896, 0, 0, 0, 0, 0}, {3264, 8224, 16448, 0, 0, 0, 0}, {15, 512, 1280, 273, 0, 0, 0}, {1096, 34, 512, 17408, 0, 0, 0}, {15, 4128, 4883, 20560, 0, 0, 0}, {8232, 1092, 0, 0, 0, 0, 0}, {816, 4117, 0, 0, 0, 0, 0}, {17996, 1638, 0, 0, 0, 0, 0}, {4119, 5200, 0, 0, 0, 0, 0}, {1096, 9312, 17408, 0, 0, 0, 0}, {15, 4133, 4886, 85, 1280, 0, 0}, {1642, 9792, 16448, 0, 0, 0, 0}, {15, 4135, 4884, 4176, 5140, 0, 0}, {16512, 19532, 8224, 0, 0, 0, 0}, {274, 85, 1280, 4352, 0, 0, 0}, {34, 512, 1092, 0, 0, 0, 0}, {15, 816, 4112, 0, 0, 0, 0}, {240, 3072, 4096, 0, 0, 0, 0}, {34, 514, 85, 1028, 4369, 0, 0}, {4098, 5200, 0, 0, 0, 0, 0}, {21260, 4915, 0, 0, 0, 0, 0}, {4152, 12336, 4160, 1028, 0, 0, 0}, {4874, 13056, 85, 5376, 0, 0, 0}, {90, 4192, 1542, 20560, 0, 0, 0}, {1032, 119, 5888, 17408, 0, 0, 0}, {4104, 4208, 5120, 0, 0, 0, 0}, {5439, 1542, 85, 0, 0, 0, 0}, {4106, 5632, 4176, 0, 0, 0, 0}, {4940, 119, 1028, 0, 0, 0, 0}, {3084, 4144, 20480, 0, 0, 0, 0}, {1032, 34, 514, 85, 4352, 0, 0}, {90, 34, 514, 1028, 4112, 0, 0}, {255, 4864, 16384, 0, 0, 0, 0}, {3840, 8704, 21760, 0, 0, 0, 0}, {12, 32, 64, 257, 0, 0, 0}, {1290, 32, 514, 20480, 0, 0, 0}, {12, 4403, 771, 17408, 0, 0, 0}, {768, 4356, 0, 0, 0, 0, 0}, {8714, 1285, 0, 0, 0, 0, 0}, {4358, 5120, 0, 0, 0, 0, 0}, {21887, 1799, 0, 0, 0, 0, 0}, {1800, 9472, 21760, 0, 0, 0, 0}, {12, 4405, 771, 4437, 1285, 0, 0}, {1290, 9984, 20480, 0, 0, 0, 0}, {12, 4407, 771, 64, 1028, 0, 0}, {12, 768, 4352, 0, 0, 0, 0}, {32, 514, 1285, 0, 0, 0, 0}, {258, 64, 1028, 4096, 0, 0, 0}, {22015, 3855, 8704, 0, 0, 0, 0}, {32, 512, 64, 1296, 4112, 0, 0}, {204, 3891, 4369, 0, 0, 0, 0}, {21866, 4626, 0, 0, 0, 0, 0}, {4371, 5120, 0, 0, 0, 0, 0}, {4392, 13056, 4420, 5140, 0, 0, 0}, {4650, 12288, 64, 5397, 0, 0, 0}, {76, 4454, 5654, 17408, 0, 0, 0}, {1375, 96, 5911, 20480, 0, 0, 0}, {4632, 1328, 1360, 0, 0, 0, 0}, {4377, 1843, 4437, 0, 0, 0, 0}, {4634, 1840, 64, 0, 0, 0, 0}, {4379, 1331, 5188, 0, 0, 0, 0}, {1308, 32, 512, 1360, 4352, 0, 0}, {7453, 4642, 21845, 0, 0, 0, 0}, {7710, 4386, 17476, 0, 0, 0, 0}, {1311, 32, 512, 64, 4096, 0, 0}, {32, 512, 1280, 0, 0, 0, 0}, {12, 771, 4369, 0, 0, 0, 0}, {21930, 3840, 8738, 0, 0, 0, 0}, {259, 64, 1024, 4112, 0, 0, 0}, {12, 4388, 768, 4420, 1280, 0, 0}, {1807, 9509, 21845, 0, 0, 0, 0}, {12, 4390, 768, 64, 1024, 0, 0}, {1295, 10023, 20560, 0, 0, 0, 0}, {8744, 1280, 0, 0, 0, 0, 0}, {771, 4373, 0, 0, 0, 0, 0}, {21802, 1792, 0, 0, 0, 0, 0}, {4375, 5140, 0, 0, 0, 0, 0}, {12, 32, 64, 256, 0, 0, 0}, {3855, 8738, 21845, 0, 0, 0, 0}, {12, 4386, 768, 17476, 0, 0, 0}, {1295, 32, 512, 20560, 0, 0, 0}, {7424, 4656, 21760, 0, 0, 0, 0}, {1305, 32, 514, 1365, 4369, 0, 0}, {1306, 32, 514, 64, 4112, 0, 0}, {7680, 4403, 17408, 0, 0, 0, 0}, {4360, 1844, 4420, 0, 0, 0, 0}, {4618, 1333, 1365, 0, 0, 0, 0}, {4362, 1334, 5200, 0, 0, 0, 0}, {4616, 1847, 64, 0, 0, 0, 0}, {4664, 12336, 64, 5376, 0, 0, 0}, {4409, 13107, 4437, 5120, 0, 0, 0}, {1370, 96, 5888, 20560, 0, 0, 0}, {76, 4471, 5632, 17476, 0, 0, 0}, {204, 3900, 4352, 0, 0, 0, 0}, {32, 514, 64, 1301, 4096, 0, 0}, {4354, 5140, 0, 0, 0, 0, 0}, {21823, 4608, 0, 0, 0, 0, 0}, {4608, 64, 5376, 0, 0, 0, 0}, {108, 1285, 4369, 0, 0, 0, 0}, {1290, 96, 4674, 20480, 0, 0, 0}, {76, 4403, 1859, 17408, 0, 0, 0}, {3840, 13056, 4420, 0, 0, 0, 0}, {522, 32, 64, 1285, 4112, 0, 0}, {4422, 5120, 0, 0, 0, 0, 0}, {21823, 18247, 0, 0, 0, 0, 0}, {4680, 12288, 21760, 0, 0, 0, 0}, {4377, 32, 4883, 4437, 1285, 0, 0}, {1290, 32, 1792, 64, 4096, 0, 0}, {3855, 4471, 17476, 0, 0, 0, 0}, {76, 1792, 4352, 0, 0, 0, 0}, {96, 4626, 1285, 0, 0, 0, 0}, {1290, 4386, 5188, 0, 0, 0, 0}, {1807, 4656, 64, 0, 0, 0, 0}, {2560, 8704, 1360, 0, 0, 0, 0}, {12, 819, 64, 1028, 4369, 0, 0}, {21802, 21074, 0, 0, 0, 0, 0}, {4435, 5120, 0, 0, 0, 0, 0}, {32, 784, 276, 4112, 0, 0, 0}, {8874, 11605, 21845, 0, 0, 0, 0}, {12, 4454, 4694, 17408, 0, 0, 0}, {1375, 32, 1879, 20480, 0, 0, 0}, {520, 32, 1360, 0, 0, 0, 0}, {12, 819, 4437, 0, 0, 0, 0}, {21930, 23130, 30464, 0, 0, 0, 0}, {279, 64, 1028, 4096, 0, 0, 0}, {12, 1328, 1536, 1360, 4352, 0, 0}, {2056, 1911, 21845, 0, 0, 0, 0}, {12, 4386, 4626, 64, 1028, 0, 0}, {1375, 8704, 20480, 0, 0, 0, 0}, {96, 4608, 1280, 0, 0, 0, 0}, {76, 1799, 4369, 0, 0, 0, 0}, {1800, 4642, 64, 0, 0, 0, 0}, {1295, 4403, 5200, 0, 0, 0, 0}, {4360, 32, 4864, 4420, 1280, 0, 0}, {4698, 12336, 21845, 0, 0, 0, 0}, {3840, 4454, 17408, 0, 0, 0, 0}, {1295, 32, 1799, 64, 4112, 0, 0}, {520, 32, 64, 1280, 4096, 0, 0}, {3855, 13107, 4437, 0, 0, 0, 0}, {21866, 18176, 0, 0, 0, 0, 0}, {4439, 5140, 0, 0, 0, 0, 0}, {108, 1280, 4352, 0, 0, 0, 0}, {4626, 64, 5397, 0, 0, 0, 0}, {76, 4386, 1860, 17476, 0, 0, 0}, {1295, 96, 4688, 20560, 0, 0, 0}, {2048, 1904, 21760, 0, 0, 0, 0}, {12, 1333, 1542, 1365, 4369, 0, 0}, {1370, 8738, 20560, 0, 0, 0, 0}, {12, 4403, 4608, 64, 1024, 0, 0}, {12, 816, 4420, 0, 0, 0, 0}, {522, 32, 1365, 0, 0, 0, 0}, {278, 64, 1024, 4112, 0, 0, 0}, {22015, 23040, 30583, 0, 0, 0, 0}, {8840, 11640, 21760, 0, 0, 0, 0}, {32, 787, 277, 4096, 0, 0, 0}, {1370, 32, 1872, 20560, 0, 0, 0}, {12, 4471, 4676, 17476, 0, 0, 0}, {12, 816, 64, 1024, 4352, 0, 0}, {2570, 8738, 1365, 0, 0, 0, 0}, {4418, 5140, 0, 0, 0, 0, 0}, {21887, 20992, 0, 0, 0, 0, 0}, {128, 1792, 21760, 0, 0, 0, 0}, {12, 96, 771, 1285, 4369, 0, 0}, {1290, 8738, 20480, 0, 0, 0, 0}, {12, 4403, 771, 64, 1024, 0, 0}, {12, 768, 4420, 0, 0, 0, 0}, {522, 32, 1285, 0, 0, 0, 0}, {262, 64, 1024, 4096, 0, 0, 0}, {22015, 3855, 30583, 0, 0, 0, 0}, {8840, 3840, 21760, 0, 0, 0, 0}, {32, 771, 261, 4112, 0, 0, 0}, {1290, 32, 1792, 20480, 0, 0, 0}, {12, 4471, 771, 17476, 0, 0, 0}, {12, 768, 64, 1024, 4352, 0, 0}, {160, 8738, 1285, 0, 0, 0, 0}, {1286, 5188, 0, 0, 0, 0, 0}, {1807, 21104, 0, 0, 0, 0, 0}, {1328, 5888, 1360, 0, 0, 0, 0}, {76, 1911, 4369, 0, 0, 0, 0}, {5418, 4626, 64, 0, 0, 0, 0}, {4447, 4403, 5120, 0, 0, 0, 0}, {4360, 32, 4864, 4420, 5140, 0, 0}, {4714, 12288, 21845, 0, 0, 0, 0}, {7770, 4454, 17408, 0, 0, 0, 0}, {1311, 32, 1815, 64, 4096, 0, 0}, {520, 32, 64, 1296, 4112, 0, 0}, {3891, 13107, 4437, 0, 0, 0, 0}, {4698, 18224, 0, 0, 0, 0, 0}, {1299, 5188, 0, 0, 0, 0, 0}, {1340, 1360, 4352, 0, 0, 0, 0}, {4642, 64, 5397, 0, 0, 0, 0}, {76, 4386, 5654, 17476, 0, 0, 0}, {1375, 96, 4608, 20480, 0, 0, 0}, {160, 8704, 1280, 0, 0, 0, 0}, {12, 771, 64, 1028, 4369, 0, 0}, {1800, 21026, 0, 0, 0, 0, 0}, {1283, 5200, 0, 0, 0, 0, 0}, {32, 768, 260, 4096, 0, 0, 0}, {8874, 3855, 21845, 0, 0, 0, 0}, {12, 4454, 768, 17408, 0, 0, 0}, {1295, 32, 1799, 20560, 0, 0, 0}, {520, 32, 1280, 0, 0, 0, 0}, {12, 771, 4437, 0, 0, 0, 0}, {21930, 3840, 30464, 0, 0, 0, 0}, {263, 64, 1028, 4112, 0, 0, 0}, {12, 96, 768, 1280, 4352, 0, 0}, {128, 1799, 21845, 0, 0, 0, 0}, {12, 4386, 768, 64, 1028, 0, 0}, {1295, 8704, 20560, 0, 0, 0, 0}, {4656, 64, 5376, 0, 0, 0, 0}, {1337, 1365, 4369, 0, 0, 0, 0}, {1370, 96, 4626, 20560, 0, 0, 0}, {76, 4403, 5632, 17408, 0, 0, 0}, {3900, 13056, 4420, 0, 0, 0, 0}, {522, 32, 64, 1301, 4096, 0, 0}, {1302, 5200, 0, 0, 0, 0, 0}, {4680, 18295, 0, 0, 0, 0, 0}, {4728, 12336, 21760, 0, 0, 0, 0}, {4377, 32, 4883, 4437, 5120, 0, 0}, {1306, 32, 1808, 64, 4112, 0, 0}, {7748, 4471, 17476, 0, 0, 0, 0}, {76, 1904, 4352, 0, 0, 0, 0}, {1333, 5911, 1365, 0, 0, 0, 0}, {4430, 4386, 5140, 0, 0, 0, 0}, {5439, 4608, 64, 0, 0, 0, 0}, {192, 4608, 21760, 0, 0, 0, 0}, {76, 32, 514, 1285, 4369, 0, 0}, {1290, 32, 514, 64, 4096, 0, 0}, {3855, 4403, 17408, 0, 0, 0, 0}, {4360, 5632, 4420, 0, 0, 0, 0}, {4698, 96, 1285, 0, 0, 0, 0}, {4362, 4454, 5120, 0, 0, 0, 0}, {5439, 1799, 64, 0, 0, 0, 0}, {4616, 12288, 64, 5376, 0, 0, 0}, {4409, 13107, 4437, 1285, 0, 0, 0}, {1290, 96, 5888, 20480, 0, 0, 0}, {76, 4471, 1799, 17476, 0, 0, 0}, {204, 3840, 4352, 0, 0, 0, 0}, {32, 514, 64, 1285, 4112, 0, 0}, {4354, 5188, 0, 0, 0, 0, 0}, {18191, 4656, 0, 0, 0, 0, 0}, {32, 512, 1360, 0, 0, 0, 0}, {12, 819, 4369, 0, 0, 0, 0}, {21930, 23130, 8738, 0, 0, 0, 0}, {275, 64, 1024, 4096, 0, 0, 0}, {12, 4388, 4628, 4420, 5140, 0, 0}, {1919, 9557, 21845, 0, 0, 0, 0}, {12, 4390, 4630, 64, 1024, 0, 0}, {1375, 10103, 20480, 0, 0, 0, 0}, {8744, 1360, 0, 0, 0, 0, 0}, {819, 4373, 0, 0, 0, 0, 0}, {21082, 1904, 0, 0, 0, 0, 0}, {4375, 5188, 0, 0, 0, 0, 0}, {12, 512, 1024, 272, 0, 0, 0}, {4095, 8738, 21845, 0, 0, 0, 0}, {12, 4386, 4626, 17476, 0, 0, 0}, {1375, 32, 512, 20480, 0, 0, 0}, {32, 512, 64, 1280, 4096, 0, 0}, {204, 3855, 4369, 0, 0, 0, 0}, {18248, 4642, 0, 0, 0, 0, 0}, {4371, 5200, 0, 0, 0, 0, 0}, {4392, 13056, 4420, 1280, 0, 0, 0}, {4634, 12336, 64, 5397, 0, 0, 0}, {76, 4454, 1792, 17408, 0, 0, 0}, {1295, 96, 5911, 20560, 0, 0, 0}, {4680, 96, 1280, 0, 0, 0, 0}, {4377, 5654, 4437, 0, 0, 0, 0}, {5418, 1792, 64, 0, 0, 0, 0}, {4379, 4471, 5140, 0, 0, 0, 0}, {76, 32, 512, 1280, 4352, 0, 0}, {192, 4626, 21845, 0, 0, 0, 0}, {3840, 4386, 17476, 0, 0, 0, 0}, {1295, 32, 512, 64, 4112, 0, 0}, {4080, 8704, 21760, 0, 0, 0, 0}, {12, 514, 1028, 273, 0, 0, 0}, {1370, 32, 514, 20560, 0, 0, 0}, {12, 4403, 4608, 17408, 0, 0, 0}, {816, 4356, 0, 0, 0, 0, 0}, {8714, 1365, 0, 0, 0, 0, 0}, {4358, 5200, 0, 0, 0, 0, 0}, {21000, 1911, 0, 0, 0, 0, 0}, {1912, 9584, 21760, 0, 0, 0, 0}, {12, 4405, 4614, 4437, 5120, 0, 0}, {1370, 10064, 20560, 0, 0, 0, 0}, {12, 4407, 4612, 64, 1028, 0, 0}, {12, 816, 4352, 0, 0, 0, 0}, {32, 514, 1365, 0, 0, 0, 0}, {274, 64, 1028, 4112, 0, 0, 0}, {22015, 23040, 8704, 0, 0, 0, 0}, {3072, 8704, 17408, 0, 0, 0, 0}, {15, 32, 80, 257, 0, 0, 0}, {1032, 32, 514, 16384, 0, 0, 0}, {15, 4403, 771, 21760, 0, 0, 0}, {8712, 1028, 0, 0, 0, 0, 0}, {768, 4357, 0, 0, 0, 0, 0}, {17516, 1542, 0, 0, 0, 0, 0}, {4359, 5376, 0, 0, 0, 0, 0}, {1032, 9728, 16384, 0, 0, 0, 0}, {15, 4406, 771, 80, 1285, 0, 0}, {1546, 9216, 17408, 0, 0, 0, 0}, {15, 4404, 771, 4420, 1028, 0, 0}, {17612, 3084, 8704, 0, 0, 0, 0}, {258, 80, 1285, 4096, 0, 0, 0}, {32, 514, 1028, 0, 0, 0, 0}, {15, 768, 4352, 0, 0, 0, 0}, {32, 512, 80, 1040, 4112, 0, 0}, {255, 3123, 4369, 0, 0, 0, 0}, {17528, 4626, 0, 0, 0, 0, 0}, {4371, 5376, 0, 0, 0, 0, 0}, {4648, 12288, 80, 5140, 0, 0, 0}, {4394, 13056, 4437, 5397, 0, 0, 0}, {1100, 112, 5654, 16384, 0, 0, 0}, {95, 4471, 5911, 21760, 0, 0, 0}, {4632, 1584, 80, 0, 0, 0, 0}, {4377, 1075, 5461, 0, 0, 0, 0}, {4634, 1072, 1088, 0, 0, 0, 0}, {4379, 1587, 4420, 0, 0, 0, 0}, {1052, 32, 512, 80, 4096, 0, 0}, {7453, 4386, 21845, 0, 0, 0, 0}, {7710, 4642, 17476, 0, 0, 0, 0}, {1055, 32, 512, 1088, 4352, 0, 0}, {32, 512, 1024, 0, 0, 0, 0}, {15, 771, 4369, 0, 0, 0, 0}, {17544, 3072, 8738, 0, 0, 0, 0}, {259, 80, 1280, 4112, 0, 0, 0}, {1548, 9252, 17476, 0, 0, 0, 0}, {15, 4389, 768, 4437, 1024, 0, 0}, {1036, 9766, 16448, 0, 0, 0, 0}, {15, 4391, 768, 80, 1280, 0, 0}, {17448, 1536, 0, 0, 0, 0, 0}, {4374, 5397, 0, 0, 0, 0, 0}, {8746, 1024, 0, 0, 0, 0, 0}, {771, 4372, 0, 0, 0, 0, 0}, {1036, 32, 512, 16448, 0, 0, 0}, {15, 4386, 768, 21845, 0, 0, 0}, {3084, 8738, 17476, 0, 0, 0, 0}, {15, 32, 80, 256, 0, 0, 0}, {7680, 4656, 17408, 0, 0, 0, 0}, {1051, 32, 514, 1092, 4369, 0, 0}, {1048, 32, 514, 80, 4112, 0, 0}, {7424, 4403, 21760, 0, 0, 0, 0}, {4616, 1076, 1092, 0, 0, 0, 0}, {4362, 1589, 4437, 0, 0, 0, 0}, {4618, 1590, 80, 0, 0, 0, 0}, {4360, 1079, 5440, 0, 0, 0, 0}, {1096, 112, 5632, 16448, 0, 0, 0}, {95, 4454, 5888, 21845, 0, 0, 0}, {4666, 12336, 80, 5120, 0, 0, 0}, {4411, 13107, 4420, 5376, 0, 0, 0}, {17468, 4608, 0, 0, 0, 0, 0}, {4354, 5397, 0, 0, 0, 0, 0}, {32, 514, 80, 1044, 4096, 0, 0}, {255, 3135, 4352, 0, 0, 0, 0}, {2048, 8704, 1088, 0, 0, 0, 0}, {15, 819, 80, 1285, 4369, 0, 0}, {17448, 16962, 0, 0, 0, 0, 0}, {4419, 5376, 0, 0, 0, 0, 0}, {8840, 11844, 17476, 0, 0, 0, 0}, {32, 784, 277, 4112, 0, 0, 0}, {1100, 32, 1606, 16384, 0, 0, 0}, {15, 4471, 4679, 21760, 0, 0, 0}, {17544, 18504, 26112, 0, 0, 0, 0}, {278, 80, 1285, 4096, 0, 0, 0}, {522, 32, 1088, 0, 0, 0, 0}, {15, 819, 4420, 0, 0, 0, 0}, {1100, 8704, 16384, 0, 0, 0, 0}, {15, 4386, 4626, 80, 1285, 0, 0}, {2570, 1638, 17476, 0, 0, 0, 0}, {15, 1072, 1792, 1088, 4352, 0, 0}, {4608, 80, 5120, 0, 0, 0, 0}, {127, 1028, 4369, 0, 0, 0, 0}, {1032, 112, 4690, 16384, 0, 0, 0}, {95, 4403, 1619, 21760, 0, 0, 0}, {520, 32, 80, 1028, 4112, 0, 0}, {3072, 13056, 4437, 0, 0, 0, 0}, {17468, 22102, 0, 0, 0, 0, 0}, {4439, 5376, 0, 0, 0, 0, 0}, {1032, 32, 1536, 80, 4096, 0, 0}, {3084, 4454, 21845, 0, 0, 0, 0}, {4698, 12288, 17408, 0, 0, 0, 0}, {4379, 32, 4883, 4420, 1028, 0, 0}, {1548, 4656, 80, 0, 0, 0, 0}, {1032, 4386, 5461, 0, 0, 0, 0}, {112, 4626, 1028, 0, 0, 0, 0}, {95, 1536, 4352, 0, 0, 0, 0}, {2560, 1632, 17408, 0, 0, 0, 0}, {15, 1076, 1799, 1092, 4369, 0, 0}, {1096, 8738, 16448, 0, 0, 0, 0}, {15, 4403, 4608, 80, 1280, 0, 0}, {520, 32, 1092, 0, 0, 0, 0}, {15, 816, 4437, 0, 0, 0, 0}, {17612, 18432, 26214, 0, 0, 0, 0}, {279, 80, 1280, 4112, 0, 0, 0}, {1096, 32, 1600, 16448, 0, 0, 0}, {15, 4454, 4693, 21845, 0, 0, 0}, {8874, 11882, 17408, 0, 0, 0, 0}, {32, 787, 276, 4096, 0, 0, 0}, {17516, 16896, 0, 0, 0, 0, 0}, {4434, 5397, 0, 0, 0, 0, 0}, {2056, 8738, 1092, 0, 0, 0, 0}, {15, 816, 80, 1280, 4352, 0, 0}, {112, 4608, 1024, 0, 0, 0, 0}, {95, 1542, 4369, 0, 0, 0, 0}, {1546, 4642, 80, 0, 0, 0, 0}, {1036, 4403, 5440, 0, 0, 0, 0}, {4680, 12336, 17476, 0, 0, 0, 0}, {4362, 32, 4864, 4437, 1024, 0, 0}, {1036, 32, 1542, 80, 4112, 0, 0}, {3072, 4471, 21760, 0, 0, 0, 0}, {17528, 22016, 0, 0, 0, 0, 0}, {4422, 5397, 0, 0, 0, 0, 0}, {522, 32, 80, 1024, 4096, 0, 0}, {3084, 13107, 4420, 0, 0, 0, 0}, {1036, 112, 4672, 16448, 0, 0, 0}, {95, 4386, 1621, 21845, 0, 0, 0}, {4626, 80, 5140, 0, 0, 0, 0}, {127, 1024, 4352, 0, 0, 0, 0}, {128, 8704, 1024, 0, 0, 0, 0}, {15, 771, 80, 1285, 4369, 0, 0}, {1546, 16930, 0, 0, 0, 0, 0}, {1027, 5440, 0, 0, 0, 0, 0}, {8840, 3084, 17476, 0, 0, 0, 0}, {32, 768, 261, 4096, 0, 0, 0}, {1036, 32, 1542, 16448, 0, 0, 0}, {15, 4471, 768, 21760, 0, 0, 0}, {17544, 3072, 26112, 0, 0, 0, 0}, {262, 80, 1285, 4112, 0, 0, 0}, {522, 32, 1024, 0, 0, 0, 0}, {15, 771, 4420, 0, 0, 0, 0}, {1036, 8704, 16448, 0, 0, 0, 0}, {15, 4386, 768, 80, 1285, 0, 0}, {160, 1542, 17476, 0, 0, 0, 0}, {15, 112, 768, 1024, 4352, 0, 0}, {4656, 80, 5120, 0, 0, 0, 0}, {1083, 1092, 4369, 0, 0, 0, 0}, {1096, 112, 4626, 16448, 0, 0, 0}, {95, 4403, 5888, 21760, 0, 0, 0}, {520, 32, 80, 1044, 4096, 0, 0}, {3135, 13056, 4437, 0, 0, 0, 0}, {4698, 22118, 0, 0, 0, 0, 0}, {1047, 5440, 0, 0, 0, 0, 0}, {1048, 32, 1552, 80, 4112, 0, 0}, {7509, 4454, 21845, 0, 0, 0, 0}, {4714, 12336, 17408, 0, 0, 0, 0}, {4379, 32, 4883, 4420, 5376, 0, 0}, {5180, 4608, 80, 0, 0, 0, 0}, {4445, 4386, 5397, 0, 0, 0, 0}, {1076, 5654, 1092, 0, 0, 0, 0}, {95, 1632, 4352, 0, 0, 0, 0}, {160, 1536, 17408, 0, 0, 0, 0}, {15, 112, 771, 1028, 4369, 0, 0}, {1032, 8738, 16384, 0, 0, 0, 0}, {15, 4403, 771, 80, 1280, 0, 0}, {520, 32, 1028, 0, 0, 0, 0}, {15, 768, 4437, 0, 0, 0, 0}, {17612, 3084, 26214, 0, 0, 0, 0}, {263, 80, 1280, 4096, 0, 0, 0}, {1032, 32, 1536, 16384, 0, 0, 0}, {15, 4454, 771, 21845, 0, 0, 0}, {8874, 3072, 17408, 0, 0, 0, 0}, {32, 771, 260, 4112, 0, 0, 0}, {1548, 16992, 0, 0, 0, 0, 0}, {1031, 5461, 0, 0, 0, 0, 0}, {128, 8738, 1028, 0, 0, 0, 0}, {15, 768, 80, 1280, 4352, 0, 0}, {1072, 5632, 1088, 0, 0, 0, 0}, {95, 1638, 4369, 0, 0, 0, 0}, {5160, 4626, 80, 0, 0, 0, 0}, {4428, 4403, 5376, 0, 0, 0, 0}, {4728, 12288, 17476, 0, 0, 0, 0}, {4362, 32, 4864, 4437, 5397, 0, 0}, {1052, 32, 1558, 80, 4096, 0, 0}, {7496, 4471, 21760, 0, 0, 0, 0}, {4680, 22064, 0, 0, 0, 0, 0}, {1043, 5461, 0, 0, 0, 0, 0}, {522, 32, 80, 1040, 4112, 0, 0}, {3123, 13107, 4420, 0, 0, 0, 0}, {1100, 112, 4608, 16384, 0, 0, 0}, {95, 4386, 5911, 21845, 0, 0, 0}, {4642, 80, 5140, 0, 0, 0, 0}, {1087, 1088, 4352, 0, 0, 0, 0}, {3264, 8704, 17408, 0, 0, 0, 0}, {15, 514, 1285, 273, 0, 0, 0}, {1096, 32, 514, 16448, 0, 0, 0}, {15, 4403, 4608, 21760, 0, 0, 0}, {8712, 1092, 0, 0, 0, 0, 0}, {816, 4357, 0, 0, 0, 0, 0}, {16906, 1638, 0, 0, 0, 0, 0}, {4359, 5440, 0, 0, 0, 0, 0}, {1096, 9792, 16448, 0, 0, 0, 0}, {15, 4406, 4613, 80, 1285, 0, 0}, {1642, 9312, 17408, 0, 0, 0, 0}, {15, 4404, 4615, 4420, 5376, 0, 0}, {17612, 18432, 8704, 0, 0, 0, 0}, {274, 80, 1285, 4112, 0, 0, 0}, {32, 514, 1092, 0, 0, 0, 0}, {15, 816, 4352, 0, 0, 0, 0}, {32, 512, 80, 1024, 4096, 0, 0}, {255, 3084, 4369, 0, 0, 0, 0}, {22106, 4642, 0, 0, 0, 0, 0}, {4371, 5440, 0, 0, 0, 0, 0}, {4632, 12336, 80, 5140, 0, 0, 0}, {4394, 13056, 4437, 1024, 0, 0, 0}, {1036, 112, 5654, 16448, 0, 0, 0}, {95, 4471, 1536, 21760, 0, 0, 0}, {5160, 1536, 80, 0, 0, 0, 0}, {4377, 4454, 5397, 0, 0, 0, 0}, {4698, 112, 1024, 0, 0, 0, 0}, {4379, 5911, 4420, 0, 0, 0, 0}, {1036, 32, 512, 80, 4112, 0, 0}, {3072, 4386, 21845, 0, 0, 0, 0}, {240, 4626, 17476, 0, 0, 0, 0}, {95, 32, 512, 1024, 4352, 0, 0}, {32, 512, 1088, 0, 0, 0, 0}, {15, 819, 4369, 0, 0, 0, 0}, {17544, 18504, 8738, 0, 0, 0, 0}, {275, 80, 1280, 4096, 0, 0, 0}, {1644, 9284, 17476, 0, 0, 0, 0}, {15, 4389, 4629, 4437, 5397, 0, 0}, {1100, 9830, 16384, 0, 0, 0, 0}, {15, 4391, 4631, 80, 1280, 0, 0}, {16968, 1632, 0, 0, 0, 0, 0}, {4374, 5461, 0, 0, 0, 0, 0}, {8746, 1088, 0, 0, 0, 0, 0}, {819, 4372, 0, 0, 0, 0, 0}, {1100, 32, 512, 16384, 0, 0, 0}, {15, 4386, 4626, 21845, 0, 0, 0}, {3276, 8738, 17476, 0, 0, 0, 0}, {15, 512, 1280, 272, 0, 0, 0}, {240, 4608, 17408, 0, 0, 0, 0}, {95, 32, 514, 1028, 4369, 0, 0}, {1032, 32, 514, 80, 4096, 0, 0}, {3084, 4403, 21760, 0, 0, 0, 0}, {4680, 112, 1028, 0, 0, 0, 0}, {4362, 5888, 4437, 0, 0, 0, 0}, {5180, 1542, 80, 0, 0, 0, 0}, {4360, 4471, 5376, 0, 0, 0, 0}, {1032, 112, 5632, 16384, 0, 0, 0}, {95, 4454, 1542, 21845, 0, 0, 0}, {4618, 12288, 80, 5120, 0, 0, 0}, {4411, 13107, 4420, 1028, 0, 0, 0}, {22028, 4656, 0, 0, 0, 0, 0}, {4354, 5461, 0, 0, 0, 0, 0}, {32, 514, 80, 1028, 4112, 0, 0}, {255, 3072, 4352, 0, 0, 0, 0}, {3840, 8192, 20480, 0, 0, 0, 0}, {12, 34, 68, 257, 0, 0, 0}, {1290, 34, 514, 21760, 0, 0, 0}, {12, 4144, 771, 16384, 0, 0, 0}, {768, 4100, 0, 0, 0, 0, 0}, {8202, 1285, 0, 0, 0, 0, 0}, {4102, 5376, 0, 0, 0, 0, 0}, {20600, 1799, 0, 0, 0, 0, 0}, {1800, 9984, 20480, 0, 0, 0, 0}, {12, 4150, 771, 4176, 1285, 0, 0}, {1290, 9472, 21760, 0, 0, 0, 0}, {12, 4148, 771, 68, 1028, 0, 0}, {12, 768, 4096, 0, 0, 0, 0}, {34, 514, 1285, 0, 0, 0, 0}, {258, 68, 1028, 4352, 0, 0, 0}, {20720, 3855, 8192, 0, 0, 0, 0}, {192, 3888, 4112, 0, 0, 0, 0}, {34, 512, 68, 1297, 4369, 0, 0}, {4114, 5376, 0, 0, 0, 0, 0}, {20588, 4883, 0, 0, 0, 0, 0}, {4904, 13056, 68, 5140, 0, 0, 0}, {4138, 12288, 4160, 5397, 0, 0, 0}, {1370, 102, 5654, 21760, 0, 0, 0}, {72, 4192, 5911, 16384, 0, 0, 0}, {4120, 1840, 4176, 0, 0, 0, 0}, {4889, 1331, 1365, 0, 0, 0, 0}, {4122, 1328, 5440, 0, 0, 0, 0}, {4891, 1843, 68, 0, 0, 0, 0}, {7196, 4896, 20560, 0, 0, 0, 0}, {1309, 34, 512, 1365, 4096, 0, 0}, {1310, 34, 512, 68, 4352, 0, 0}, {7967, 4128, 16448, 0, 0, 0, 0}, {20640, 3840, 8224, 0, 0, 0, 0}, {259, 68, 1024, 4369, 0, 0, 0}, {34, 512, 1280, 0, 0, 0, 0}, {12, 771, 4112, 0, 0, 0, 0}, {12, 4132, 768, 68, 1024, 0, 0}, {1295, 9509, 21845, 0, 0, 0, 0}, {12, 4134, 768, 4160, 1280, 0, 0}, {1807, 10023, 20560, 0, 0, 0, 0}, {20520, 1792, 0, 0, 0, 0, 0}, {4118, 5397, 0, 0, 0, 0, 0}, {8234, 1280, 0, 0, 0, 0, 0}, {771, 4116, 0, 0, 0, 0, 0}, {12, 4128, 768, 16448, 0, 0, 0}, {1295, 34, 512, 21845, 0, 0, 0}, {12, 34, 68, 256, 0, 0, 0}, {3855, 8224, 20560, 0, 0, 0, 0}, {7936, 4144, 16384, 0, 0, 0, 0}, {1307, 34, 514, 68, 4369, 0, 0}, {1304, 34, 514, 1360, 4112, 0, 0}, {7168, 4915, 20480, 0, 0, 0, 0}, {4872, 1844, 68, 0, 0, 0, 0}, {4106, 1333, 5461, 0, 0, 0, 0}, {4874, 1334, 1360, 0, 0, 0, 0}, {4104, 1847, 4160, 0, 0, 0, 0}, {72, 4208, 5888, 16448, 0, 0, 0}, {1375, 102, 5632, 21845, 0, 0, 0}, {4154, 12336, 4176, 5376, 0, 0, 0}, {4923, 13107, 68, 5120, 0, 0, 0}, {20540, 4864, 0, 0, 0, 0, 0}, {4098, 5397, 0, 0, 0, 0, 0}, {34, 514, 68, 1300, 4352, 0, 0}, {192, 3903, 4096, 0, 0, 0, 0}, {3840, 12288, 4160, 0, 0, 0, 0}, {522, 34, 68, 1285, 4369, 0, 0}, {4162, 5376, 0, 0, 0, 0, 0}, {20540, 17219, 0, 0, 0, 0, 0}, {4864, 68, 5120, 0, 0, 0, 0}, {106, 1285, 4112, 0, 0, 0, 0}, {1290, 102, 4934, 21760, 0, 0, 0}, {72, 4144, 1863, 16384, 0, 0, 0}, {72, 1792, 4096, 0, 0, 0, 0}, {102, 4883, 1285, 0, 0, 0, 0}, {1290, 4128, 5440, 0, 0, 0, 0}, {1807, 4915, 68, 0, 0, 0, 0}, {4940, 13056, 20480, 0, 0, 0, 0}, {4120, 34, 4626, 4176, 1285, 0, 0}, {1290, 34, 1792, 68, 4352, 0, 0}, {3855, 4208, 16448, 0, 0, 0, 0}, {8352, 12112, 20560, 0, 0, 0, 0}, {34, 785, 277, 4369, 0, 0, 0}, {1370, 34, 1874, 21760, 0, 0, 0}, {12, 4192, 4947, 16384, 0, 0, 0}, {12, 816, 68, 1028, 4112, 0, 0}, {2560, 8192, 1365, 0, 0, 0, 0}, {4182, 5376, 0, 0, 0, 0, 0}, {20520, 22359, 0, 0, 0, 0, 0}, {2056, 1904, 20560, 0, 0, 0, 0}, {12, 1331, 1536, 1365, 4096, 0, 0}, {1370, 8192, 21760, 0, 0, 0, 0}, {12, 4128, 4883, 68, 1028, 0, 0}, {12, 816, 4176, 0, 0, 0, 0}, {520, 34, 1365, 0, 0, 0, 0}, {278, 68, 1028, 4352, 0, 0, 0}, {20640, 24415, 28672, 0, 0, 0, 0}, {3840, 4192, 16384, 0, 0, 0, 0}, {1295, 34, 1799, 68, 4369, 0, 0}, {4104, 34, 4608, 4160, 1280, 0, 0}, {4959, 13107, 20560, 0, 0, 0, 0}, {1800, 4896, 68, 0, 0, 0, 0}, {1295, 4144, 5461, 0, 0, 0, 0}, {102, 4864, 1280, 0, 0, 0, 0}, {72, 1799, 4112, 0, 0, 0, 0}, {72, 4128, 1856, 16448, 0, 0, 0}, {1295, 102, 4949, 21845, 0, 0, 0}, {106, 1280, 4096, 0, 0, 0, 0}, {4883, 68, 5140, 0, 0, 0, 0}, {20588, 17152, 0, 0, 0, 0, 0}, {4178, 5397, 0, 0, 0, 0, 0}, {520, 34, 68, 1280, 4352, 0, 0}, {3855, 12336, 4176, 0, 0, 0, 0}, {20720, 24320, 28784, 0, 0, 0, 0}, {279, 68, 1024, 4369, 0, 0, 0}, {522, 34, 1360, 0, 0, 0, 0}, {12, 819, 4160, 0, 0, 0, 0}, {12, 4144, 4864, 68, 1024, 0, 0}, {1375, 8224, 21845, 0, 0, 0, 0}, {12, 1334, 1542, 1360, 4112, 0, 0}, {2048, 1911, 20480, 0, 0, 0, 0}, {20600, 22272, 0, 0, 0, 0, 0}, {4166, 5397, 0, 0, 0, 0, 0}, {2570, 8224, 1360, 0, 0, 0, 0}, {12, 819, 68, 1024, 4096, 0, 0}, {12, 4208, 4928, 16448, 0, 0, 0}, {1375, 34, 1877, 21845, 0, 0, 0}, {34, 786, 276, 4352, 0, 0, 0}, {8320, 12159, 20480, 0, 0, 0, 0}, {8320, 3840, 20480, 0, 0, 0, 0}, {34, 771, 261, 4369, 0, 0, 0}, {1290, 34, 1792, 21760, 0, 0, 0}, {12, 4208, 771, 16448, 0, 0, 0}, {12, 768, 68, 1024, 4096, 0, 0}, {170, 8224, 1285, 0, 0, 0, 0}, {1286, 5440, 0, 0, 0, 0, 0}, {1807, 22391, 0, 0, 0, 0, 0}, {136, 1792, 20480, 0, 0, 0, 0}, {12, 102, 771, 1285, 4112, 0, 0}, {1290, 8224, 21760, 0, 0, 0, 0}, {12, 4144, 771, 68, 1024, 0, 0}, {12, 768, 4160, 0, 0, 0, 0}, {522, 34, 1285, 0, 0, 0, 0}, {262, 68, 1024, 4352, 0, 0, 0}, {20720, 3855, 28784, 0, 0, 0, 0}, {3888, 12336, 4176, 0, 0, 0, 0}, {520, 34, 68, 1297, 4369, 0, 0}, {1298, 5440, 0, 0, 0, 0, 0}, {4959, 17203, 0, 0, 0, 0, 0}, {4896, 68, 5140, 0, 0, 0, 0}, {1343, 1365, 4096, 0, 0, 0, 0}, {1370, 102, 4864, 21760, 0, 0, 0}, {72, 4128, 5911, 16448, 0, 0, 0}, {72, 1904, 4112, 0, 0, 0, 0}, {1331, 5632, 1365, 0, 0, 0, 0}, {4186, 4144, 5376, 0, 0, 0, 0}, {5160, 4883, 68, 0, 0, 0, 0}, {4972, 13056, 20560, 0, 0, 0, 0}, {4104, 34, 4608, 4160, 5397, 0, 0}, {1310, 34, 1814, 68, 4352, 0, 0}, {8031, 4192, 16384, 0, 0, 0, 0}, {20640, 3840, 28672, 0, 0, 0, 0}, {263, 68, 1028, 4369, 0, 0, 0}, {520, 34, 1280, 0, 0, 0, 0}, {12, 771, 4176, 0, 0, 0, 0}, {12, 4128, 768, 68, 1028, 0, 0}, {1295, 8192, 21845, 0, 0, 0, 0}, {12, 102, 768, 1280, 4096, 0, 0}, {136, 1799, 20560, 0, 0, 0, 0}, {1800, 22304, 0, 0, 0, 0, 0}, {1283, 5461, 0, 0, 0, 0, 0}, {170, 8192, 1280, 0, 0, 0, 0}, {12, 771, 68, 1028, 4112, 0, 0}, {12, 4192, 768, 16384, 0, 0, 0}, {1295, 34, 1799, 21845, 0, 0, 0}, {34, 768, 260, 4352, 0, 0, 0}, {8352, 3855, 20560, 0, 0, 0, 0}, {8000, 4208, 16448, 0, 0, 0, 0}, {1307, 34, 1809, 68, 4369, 0, 0}, {4120, 34, 4626, 4176, 5376, 0, 0}, {4991, 13107, 20480, 0, 0, 0, 0}, {5180, 4864, 68, 0, 0, 0, 0}, {4170, 4128, 5397, 0, 0, 0, 0}, {1334, 5654, 1360, 0, 0, 0, 0}, {72, 1911, 4096, 0, 0, 0, 0}, {72, 4144, 5888, 16384, 0, 0, 0}, {1375, 102, 4883, 21845, 0, 0, 0}, {1338, 1360, 4112, 0, 0, 0, 0}, {4915, 68, 5120, 0, 0, 0, 0}, {4940, 17264, 0, 0, 0, 0, 0}, {1303, 5461, 0, 0, 0, 0, 0}, {522, 34, 68, 1300, 4352, 0, 0}, {3903, 12288, 4160, 0, 0, 0, 0}, {192, 3840, 4096, 0, 0, 0, 0}, {34, 514, 68, 1285, 4369, 0, 0}, {4098, 5440, 0, 0, 0, 0, 0}, {17167, 4915, 0, 0, 0, 0, 0}, {4872, 13056, 68, 5120, 0, 0, 0}, {4154, 12336, 4176, 1285, 0, 0, 0}, {1290, 102, 5632, 21760, 0, 0, 0}, {72, 4208, 1799, 16448, 0, 0, 0}, {4104, 5888, 4160, 0, 0, 0, 0}, {4959, 102, 1285, 0, 0, 0, 0}, {4106, 4192, 5376, 0, 0, 0, 0}, {5180, 1799, 68, 0, 0, 0, 0}, {204, 4864, 20480, 0, 0, 0, 0}, {72, 34, 514, 1285, 4112, 0, 0}, {1290, 34, 514, 68, 4352, 0, 0}, {3855, 4144, 16384, 0, 0, 0, 0}, {4080, 8224, 20560, 0, 0, 0, 0}, {12, 512, 1024, 273, 0, 0, 0}, {1370, 34, 512, 21760, 0, 0, 0}, {12, 4128, 4883, 16448, 0, 0, 0}, {816, 4116, 0, 0, 0, 0, 0}, {8234, 1365, 0, 0, 0, 0, 0}, {4118, 5440, 0, 0, 0, 0, 0}, {22367, 1911, 0, 0, 0, 0, 0}, {1912, 10064, 20560, 0, 0, 0, 0}, {12, 4134, 4885, 4160, 5397, 0, 0}, {1370, 9584, 21760, 0, 0, 0, 0}, {12, 4132, 4887, 68, 1024, 0, 0}, {12, 816, 4112, 0, 0, 0, 0}, {34, 512, 1365, 0, 0, 0, 0}, {274, 68, 1024, 4352, 0, 0, 0}, {20640, 24415, 8224, 0, 0, 0, 0}, {3840, 4128, 16448, 0, 0, 0, 0}, {1295, 34, 512, 68, 4369, 0, 0}, {72, 34, 512, 1280, 4096, 0, 0}, {204, 4883, 20560, 0, 0, 0, 0}, {5160, 1792, 68, 0, 0, 0, 0}, {4122, 4208, 5397, 0, 0, 0, 0}, {4940, 102, 1280, 0, 0, 0, 0}, {4120, 5911, 4176, 0, 0, 0, 0}, {72, 4192, 1792, 16384, 0, 0, 0}, {1295, 102, 5654, 21845, 0, 0, 0}, {4138, 12288, 4160, 1280, 0, 0, 0}, {4891, 13107, 68, 5140, 0, 0, 0}, {17228, 4896, 0, 0, 0, 0, 0}, {4114, 5461, 0, 0, 0, 0, 0}, {34, 512, 68, 1280, 4352, 0, 0}, {192, 3855, 4112, 0, 0, 0, 0}, {20720, 24320, 8192, 0, 0, 0, 0}, {275, 68, 1028, 4369, 0, 0, 0}, {34, 514, 1360, 0, 0, 0, 0}, {12, 819, 4096, 0, 0, 0, 0}, {12, 4148, 4868, 68, 1028, 0, 0}, {1375, 9557, 21845, 0, 0, 0, 0}, {12, 4150, 4870, 4176, 5376, 0, 0}, {1919, 10103, 20480, 0, 0, 0, 0}, {22280, 1904, 0, 0, 0, 0, 0}, {4102, 5461, 0, 0, 0, 0, 0}, {8202, 1360, 0, 0, 0, 0, 0}, {819, 4100, 0, 0, 0, 0, 0}, {12, 4144, 4864, 16384, 0, 0, 0}, {1375, 34, 514, 21845, 0, 0, 0}, {12, 514, 1028, 272, 0, 0, 0}, {4095, 8192, 20480, 0, 0, 0, 0}, {12288, 0, 0, 0, 0, 0, 0}, {2, 17, 257, 0, 0, 0, 0}, {2, 4096, 0, 0, 0, 0, 0}, {51, 771, 0, 0, 0, 0, 0}, {8, 12292, 68, 1028, 0, 0, 0}, {10, 12293, 85, 1285, 0, 0, 0}, {10, 102, 1542, 20480, 0, 0, 0}, {8, 119, 1799, 16384, 0, 0, 0}, {8, 12288, 16384, 0, 0, 0, 0}, {10, 51, 771, 85, 1285, 0, 0}, {10, 12288, 20480, 0, 0, 0, 0}, {8, 51, 771, 68, 1028, 0, 0}, {12300, 0, 0, 0, 0, 0, 0}, {2, 4101, 0, 0, 0, 0, 0}, {2, 4100, 0, 0, 0, 0, 0}, {12303, 0, 0, 0, 0, 0, 0}, {32, 4112, 0, 0, 0, 0, 0}, {768, 17, 0, 0, 0, 0, 0}, {34, 4626, 0, 0, 0, 0, 0}, {19, 4096, 0, 0, 0, 0, 0}, {40, 12308, 68, 5140, 0, 0, 0}, {42, 12309, 85, 5397, 0, 0, 0}, {76, 102, 5654, 16384, 0, 0, 0}, {95, 119, 5911, 20480, 0, 0, 0}, {40, 12336, 20560, 0, 0, 0, 0}, {25, 51, 768, 85, 5376, 0, 0}, {42, 12336, 16448, 0, 0, 0, 0}, {27, 51, 768, 68, 5120, 0, 0}, {4124, 32, 4176, 0, 0, 0, 0}, {4637, 34, 85, 0, 0, 0, 0}, {4638, 34, 68, 0, 0, 0, 0}, {4127, 32, 4160, 0, 0, 0, 0}, {32, 4096, 0, 0, 0, 0, 0}, {771, 17, 0, 0, 0, 0, 0}, {34, 4608, 0, 0, 0, 0, 0}, {19, 4112, 0, 0, 0, 0, 0}, {40, 12324, 68, 5120, 0, 0, 0}, {42, 12325, 85, 5376, 0, 0, 0}, {76, 102, 5632, 16448, 0, 0, 0}, {95, 119, 5888, 20560, 0, 0, 0}, {40, 12288, 20480, 0, 0, 0, 0}, {25, 51, 771, 85, 5397, 0, 0}, {42, 12288, 16384, 0, 0, 0, 0}, {27, 51, 771, 68, 5140, 0, 0}, {4108, 32, 4160, 0, 0, 0, 0}, {4623, 34, 85, 0, 0, 0, 0}, {4620, 34, 68, 0, 0, 0, 0}, {4111, 32, 4176, 0, 0, 0, 0}, {12336, 0, 0, 0, 0, 0, 0}, {2, 17, 256, 0, 0, 0, 0}, {2, 4112, 0, 0, 0, 0, 0}, {51, 768, 0, 0, 0, 0, 0}, {8, 12340, 68, 1024, 0, 0, 0}, {10, 12341, 85, 1280, 0, 0, 0}, {10, 102, 1536, 20560, 0, 0, 0}, {8, 119, 1792, 16448, 0, 0, 0}, {8, 12336, 16448, 0, 0, 0, 0}, {10, 51, 768, 85, 1280, 0, 0}, {10, 12336, 20560, 0, 0, 0, 0}, {8, 51, 768, 68, 1024, 0, 0}, {12348, 0, 0, 0, 0, 0, 0}, {2, 4117, 0, 0, 0, 0, 0}, {2, 4116, 0, 0, 0, 0, 0}, {12351, 0, 0, 0, 0, 0, 0}, {128, 12352, 16448, 0, 0, 0, 0}, {10, 773, 1285, 17, 0, 0, 0}, {10, 34, 4674, 20480, 0, 0, 0}, {76, 51, 835, 16384, 0, 0, 0}, {3072, 12288, 68, 0, 0, 0, 0}, {10, 32, 85, 1285, 4112, 0, 0}, {70, 4096, 0, 0, 0, 0, 0}, {119, 18247, 0, 0, 0, 0, 0}, {12360, 0, 0, 0, 0, 0, 0}, {19, 4101, 0, 0, 0, 0, 0}, {10, 32, 4160, 0, 0, 0, 0}, {783, 51, 68, 0, 0, 0, 0}, {76, 12288, 16384, 0, 0, 0, 0}, {10, 34, 4626, 85, 1285, 0, 0}, {10, 34, 4608, 68, 5120, 0, 0}, {127, 12336, 16448, 0, 0, 0, 0}, {160, 12368, 20560, 0, 0, 0, 0}, {8, 772, 1028, 17, 0, 0, 0}, {8, 34, 4690, 16384, 0, 0, 0}, {95, 51, 851, 20480, 0, 0, 0}, {8, 32, 68, 1028, 4112, 0, 0}, {3840, 12288, 85, 0, 0, 0, 0}, {102, 22102, 0, 0, 0, 0, 0}, {87, 4096, 0, 0, 0, 0, 0}, {8, 32, 4176, 0, 0, 0, 0}, {780, 51, 85, 0, 0, 0, 0}, {12378, 0, 0, 0, 0, 0, 0}, {19, 4100, 0, 0, 0, 0, 0}, {108, 12336, 20560, 0, 0, 0, 0}, {8, 34, 4608, 85, 5376, 0, 0}, {8, 34, 4626, 68, 1028, 0, 0}, {95, 12288, 20480, 0, 0, 0, 0}, {160, 12384, 20480, 0, 0, 0, 0}, {8, 775, 1024, 17, 0, 0, 0}, {8, 34, 4672, 16448, 0, 0, 0}, {95, 51, 848, 20560, 0, 0, 0}, {8, 32, 68, 1024, 4096, 0, 0}, {3855, 12336, 85, 0, 0, 0, 0}, {102, 22016, 0, 0, 0, 0, 0}, {87, 4112, 0, 0, 0, 0, 0}, {8, 32, 4160, 0, 0, 0, 0}, {783, 51, 85, 0, 0, 0, 0}, {12394, 0, 0, 0, 0, 0, 0}, {19, 4116, 0, 0, 0, 0, 0}, {108, 12288, 20480, 0, 0, 0, 0}, {8, 34, 4626, 85, 5397, 0, 0}, {8, 34, 4608, 68, 1024, 0, 0}, {95, 12336, 20560, 0, 0, 0, 0}, {128, 12400, 16384, 0, 0, 0, 0}, {10, 774, 1280, 17, 0, 0, 0}, {10, 34, 4688, 20560, 0, 0, 0}, {76, 51, 832, 16448, 0, 0, 0}, {3084, 12336, 68, 0, 0, 0, 0}, {10, 32, 85, 1280, 4096, 0, 0}, {70, 4112, 0, 0, 0, 0, 0}, {119, 18176, 0, 0, 0, 0, 0}, {12408, 0, 0, 0, 0, 0, 0}, {19, 4117, 0, 0, 0, 0, 0}, {10, 32, 4176, 0, 0, 0, 0}, {780, 51, 68, 0, 0, 0, 0}, {76, 12336, 16448, 0, 0, 0, 0}, {10, 34, 4608, 85, 1280, 0, 0}, {10, 34, 4626, 68, 5140, 0, 0}, {127, 12288, 16384, 0, 0, 0, 0}, {128, 12288, 16384, 0, 0, 0, 0}, {10, 771, 1285, 17, 0, 0, 0}, {10, 34, 4608, 20480, 0, 0, 0}, {76, 51, 771, 16448, 0, 0, 0}, {12300, 68, 0, 0, 0, 0, 0}, {32, 4101, 0, 0, 0, 0, 0}, {4102, 4160, 0, 0, 0, 0, 0}, {18191, 119, 0, 0, 0, 0, 0}, {136, 18432, 12288, 0, 0, 0, 0}, {19, 85, 1285, 4112, 0, 0, 0}, {10, 32, 4096, 0, 0, 0, 0}, {51, 771, 68, 0, 0, 0, 0}, {76, 12352, 16448, 0, 0, 0, 0}, {10, 34, 4613, 85, 1285, 0, 0}, {10, 34, 4614, 68, 5120, 0, 0}, {127, 12400, 16384, 0, 0, 0, 0}, {160, 12336, 20560, 0, 0, 0, 0}, {8, 768, 1024, 17, 0, 0, 0}, {8, 34, 4626, 16448, 0, 0, 0}, {95, 51, 768, 20480, 0, 0, 0}, {32, 4116, 0, 0, 0, 0, 0}, {12351, 85, 0, 0, 0, 0, 0}, {22106, 102, 0, 0, 0, 0, 0}, {4119, 4160, 0, 0, 0, 0, 0}, {8, 32, 4112, 0, 0, 0, 0}, {51, 768, 85, 0, 0, 0, 0}, {170, 23130, 12336, 0, 0, 0, 0}, {19, 68, 1024, 4096, 0, 0, 0}, {108, 12368, 20560, 0, 0, 0, 0}, {8, 34, 4629, 85, 5397, 0, 0}, {8, 34, 4630, 68, 1024, 0, 0}, {95, 12384, 20480, 0, 0, 0, 0}, {160, 12288, 20480, 0, 0, 0, 0}, {8, 771, 1028, 17, 0, 0, 0}, {8, 34, 4608, 16384, 0, 0, 0}, {95, 51, 771, 20560, 0, 0, 0}, {32, 4100, 0, 0, 0, 0, 0}, {12303, 85, 0, 0, 0, 0, 0}, {22028, 102, 0, 0, 0, 0, 0}, {4103, 4176, 0, 0, 0, 0, 0}, {8, 32, 4096, 0, 0, 0, 0}, {51, 771, 85, 0, 0, 0, 0}, {170, 23040, 12288, 0, 0, 0, 0}, {19, 68, 1028, 4112, 0, 0, 0}, {108, 12384, 20480, 0, 0, 0, 0}, {8, 34, 4615, 85, 5376, 0, 0}, {8, 34, 4612, 68, 1028, 0, 0}, {95, 12368, 20560, 0, 0, 0, 0}, {128, 12336, 16448, 0, 0, 0, 0}, {10, 768, 1280, 17, 0, 0, 0}, {10, 34, 4626, 20560, 0, 0, 0}, {76, 51, 768, 16384, 0, 0, 0}, {12348, 68, 0, 0, 0, 0, 0}, {32, 4117, 0, 0, 0, 0, 0}, {4118, 4176, 0, 0, 0, 0, 0}, {18248, 119, 0, 0, 0, 0, 0}, {136, 18504, 12336, 0, 0, 0, 0}, {19, 85, 1280, 4096, 0, 0, 0}, {10, 32, 4112, 0, 0, 0, 0}, {51, 768, 68, 0, 0, 0, 0}, {76, 12400, 16384, 0, 0, 0, 0}, {10, 34, 4631, 85, 1280, 0, 0}, {10, 34, 4628, 68, 5140, 0, 0}, {127, 12352, 16448, 0, 0, 0, 0}, {12480, 0, 0, 0, 0, 0, 0}, {2, 261, 17, 0, 0, 0, 0}, {2, 4160, 0, 0, 0, 0, 0}, {783, 51, 0, 0, 0, 0, 0}, {8, 12288, 68, 1024, 0, 0, 0}, {10, 12336, 85, 1285, 0, 0, 0}, {10, 102, 1536, 20480, 0, 0, 0}, {8, 119, 1799, 16448, 0, 0, 0}, {8, 12352, 16448, 0, 0, 0, 0}, {10, 51, 773, 85, 1285, 0, 0}, {10, 12384, 20480, 0, 0, 0, 0}, {8, 51, 775, 68, 1024, 0, 0}, {204, 3072, 12288, 0, 0, 0, 0}, {2, 85, 1285, 4112, 0, 0, 0}, {2, 68, 1024, 4096, 0, 0, 0}, {255, 3855, 12336, 0, 0, 0, 0}, {32, 4176, 0, 0, 0, 0, 0}, {780, 17, 0, 0, 0, 0, 0}, {4698, 34, 0, 0, 0, 0, 0}, {19, 4160, 0, 0, 0, 0, 0}, {40, 12336, 68, 5140, 0, 0, 0}, {42, 12288, 85, 5376, 0, 0, 0}, {76, 102, 5654, 16448, 0, 0, 0}, {95, 119, 5888, 20480, 0, 0, 0}, {40, 12368, 20560, 0, 0, 0, 0}, {25, 51, 789, 85, 5397, 0, 0}, {42, 12400, 16384, 0, 0, 0, 0}, {27, 51, 791, 68, 5120, 0, 0}, {76, 32, 4112, 0, 0, 0, 0}, {34, 4608, 85, 0, 0, 0, 0}, {34, 4626, 68, 0, 0, 0, 0}, {95, 32, 4096, 0, 0, 0, 0}, {32, 4160, 0, 0, 0, 0, 0}, {783, 17, 0, 0, 0, 0, 0}, {4680, 34, 0, 0, 0, 0, 0}, {19, 4176, 0, 0, 0, 0, 0}, {40, 12288, 68, 5120, 0, 0, 0}, {42, 12336, 85, 5397, 0, 0, 0}, {76, 102, 5632, 16384, 0, 0, 0}, {95, 119, 5911, 20560, 0, 0, 0}, {40, 12384, 20480, 0, 0, 0, 0}, {25, 51, 790, 85, 5376, 0, 0}, {42, 12352, 16448, 0, 0, 0, 0}, {27, 51, 788, 68, 5140, 0, 0}, {76, 32, 4096, 0, 0, 0, 0}, {34, 4626, 85, 0, 0, 0, 0}, {34, 4608, 68, 0, 0, 0, 0}, {95, 32, 4112, 0, 0, 0, 0}, {12528, 0, 0, 0, 0, 0, 0}, {2, 260, 17, 0, 0, 0, 0}, {2, 4176, 0, 0, 0, 0, 0}, {780, 51, 0, 0, 0, 0, 0}, {8, 12336, 68, 1028, 0, 0, 0}, {10, 12288, 85, 1280, 0, 0, 0}, {10, 102, 1542, 20560, 0, 0, 0}, {8, 119, 1792, 16384, 0, 0, 0}, {8, 12400, 16384, 0, 0, 0, 0}, {10, 51, 774, 85, 1280, 0, 0}, {10, 12368, 20560, 0, 0, 0, 0}, {8, 51, 772, 68, 1028, 0, 0}, {204, 3084, 12336, 0, 0, 0, 0}, {2, 85, 1280, 4096, 0, 0, 0}, {2, 68, 1028, 4112, 0, 0, 0}, {255, 3840, 12288, 0, 0, 0, 0}, {512, 4352, 0, 0, 0, 0, 0}, {48, 257, 0, 0, 0, 0, 0}, {4386, 514, 0, 0, 0, 0, 0}, {259, 4096, 0, 0, 0, 0, 0}, {520, 12548, 4420, 1028, 0, 0, 0}, {522, 12549, 4437, 1285, 0, 0, 0}, {1036, 4454, 1542, 16384, 0, 0, 0}, {1295, 4471, 1799, 20480, 0, 0, 0}, {520, 13056, 21760, 0, 0, 0, 0}, {265, 48, 771, 4176, 1285, 0, 0}, {522, 13056, 17408, 0, 0, 0, 0}, {267, 48, 771, 4160, 1028, 0, 0}, {4364, 512, 5376, 0, 0, 0, 0}, {4397, 514, 1285, 0, 0, 0, 0}, {4398, 514, 1028, 0, 0, 0, 0}, {4367, 512, 5120, 0, 0, 0, 0}, {768, 272, 0, 0, 0, 0, 0}, {546, 4369, 0, 0, 0, 0, 0}, {274, 4096, 0, 0, 0, 0, 0}, {4403, 4883, 0, 0, 0, 0, 0}, {552, 12564, 4420, 5140, 0, 0, 0}, {554, 12565, 4437, 5397, 0, 0, 0}, {1370, 4454, 5654, 20480, 0, 0, 0}, {1096, 4471, 5911, 16384, 0, 0, 0}, {280, 48, 768, 4176, 5376, 0, 0}, {554, 13107, 21845, 0, 0, 0, 0}, {282, 48, 768, 4160, 5120, 0, 0}, {552, 13107, 17476, 0, 0, 0, 0}, {4892, 544, 1360, 0, 0, 0, 0}, {4381, 546, 5461, 0, 0, 0, 0}, {4382, 546, 5188, 0, 0, 0, 0}, {4895, 544, 1088, 0, 0, 0, 0}, {544, 4352, 0, 0, 0, 0, 0}, {771, 273, 0, 0, 0, 0, 0}, {4386, 4864, 0, 0, 0, 0, 0}, {275, 4112, 0, 0, 0, 0, 0}, {552, 12580, 4420, 5376, 0, 0, 0}, {554, 12581, 4437, 5120, 0, 0, 0}, {1100, 4454, 5888, 16448, 0, 0, 0}, {1375, 4471, 5632, 20560, 0, 0, 0}, {552, 13056, 21760, 0, 0, 0, 0}, {281, 48, 771, 4160, 5397, 0, 0}, {554, 13056, 17408, 0, 0, 0, 0}, {283, 48, 771, 4176, 5140, 0, 0}, {4364, 544, 5440, 0, 0, 0, 0}, {4879, 546, 1365, 0, 0, 0, 0}, {4876, 546, 1092, 0, 0, 0, 0}, {4367, 544, 5200, 0, 0, 0, 0}, {48, 256, 0, 0, 0, 0, 0}, {514, 4369, 0, 0, 0, 0, 0}, {258, 4112, 0, 0, 0, 0, 0}, {4403, 512, 0, 0, 0, 0, 0}, {520, 12596, 4420, 1280, 0, 0, 0}, {522, 12597, 4437, 1024, 0, 0, 0}, {1290, 4454, 1792, 20560, 0, 0, 0}, {1032, 4471, 1536, 16448, 0, 0, 0}, {264, 48, 768, 4160, 1280, 0, 0}, {522, 13107, 21845, 0, 0, 0, 0}, {266, 48, 768, 4176, 1024, 0, 0}, {520, 13107, 17476, 0, 0, 0, 0}, {4412, 512, 1280, 0, 0, 0, 0}, {4381, 514, 5397, 0, 0, 0, 0}, {4382, 514, 5140, 0, 0, 0, 0}, {4415, 512, 1024, 0, 0, 0, 0}, {1536, 1088, 4352, 0, 0, 0, 0}, {626, 1285, 4369, 0, 0, 0, 0}, {1096, 4386, 578, 16384, 0, 0, 0}, {1295, 4403, 4931, 20480, 0, 0, 0}, {2560, 8192, 4420, 0, 0, 0, 0}, {783, 48, 325, 1285, 4112, 0, 0}, {4454, 17990, 0, 0, 0, 0, 0}, {327, 4096, 0, 0, 0, 0, 0}, {4424, 4864, 5376, 0, 0, 0, 0}, {4457, 4883, 1285, 0, 0, 0, 0}, {1546, 4896, 1088, 0, 0, 0, 0}, {1295, 4915, 5188, 0, 0, 0, 0}, {4940, 8704, 21760, 0, 0, 0, 0}, {4381, 48, 4626, 4176, 1285, 0, 0}, {4972, 8738, 17476, 0, 0, 0, 0}, {4367, 48, 4608, 4160, 5120, 0, 0}, {1792, 1360, 4352, 0, 0, 0, 0}, {610, 1028, 4369, 0, 0, 0, 0}, {1370, 4386, 594, 20480, 0, 0, 0}, {1036, 4403, 4947, 16384, 0, 0, 0}, {780, 48, 340, 1028, 4112, 0, 0}, {2048, 8192, 4437, 0, 0, 0, 0}, {342, 4096, 0, 0, 0, 0, 0}, {4471, 22359, 0, 0, 0, 0, 0}, {1800, 4896, 1360, 0, 0, 0, 0}, {1036, 4915, 5461, 0, 0, 0, 0}, {4442, 4864, 5120, 0, 0, 0, 0}, {4475, 4883, 1028, 0, 0, 0, 0}, {4364, 48, 4608, 4176, 5376, 0, 0}, {4991, 8738, 21845, 0, 0, 0, 0}, {4382, 48, 4626, 4160, 1028, 0, 0}, {4959, 8704, 17408, 0, 0, 0, 0}, {608, 1024, 4352, 0, 0, 0, 0}, {1799, 1365, 4369, 0, 0, 0, 0}, {1032, 4386, 4928, 16448, 0, 0, 0}, {1375, 4403, 592, 20560, 0, 0, 0}, {2056, 8224, 4420, 0, 0, 0, 0}, {783, 48, 341, 1024, 4096, 0, 0}, {4454, 22272, 0, 0, 0, 0, 0}, {343, 4112, 0, 0, 0, 0, 0}, {1032, 4896, 5440, 0, 0, 0, 0}, {1807, 4915, 1365, 0, 0, 0, 0}, {4458, 4864, 1024, 0, 0, 0, 0}, {4427, 4883, 5140, 0, 0, 0, 0}, {4972, 8704, 21760, 0, 0, 0, 0}, {4381, 48, 4626, 4160, 5397, 0, 0}, {4940, 8738, 17476, 0, 0, 0, 0}, {4367, 48, 4608, 4176, 1024, 0, 0}, {624, 1280, 4352, 0, 0, 0, 0}, {1542, 1092, 4369, 0, 0, 0, 0}, {1290, 4386, 4944, 20560, 0, 0, 0}, {1100, 4403, 576, 16448, 0, 0, 0}, {780, 48, 324, 1280, 4096, 0, 0}, {2570, 8224, 4437, 0, 0, 0, 0}, {326, 4112, 0, 0, 0, 0, 0}, {4471, 17920, 0, 0, 0, 0, 0}, {4472, 4864, 1280, 0, 0, 0, 0}, {4441, 4883, 5397, 0, 0, 0, 0}, {1290, 4896, 5200, 0, 0, 0, 0}, {1548, 4915, 1092, 0, 0, 0, 0}, {4364, 48, 4608, 4160, 1280, 0, 0}, {4959, 8738, 21845, 0, 0, 0, 0}, {4382, 48, 4626, 4176, 5140, 0, 0}, {4991, 8704, 17408, 0, 0, 0, 0}, {640, 2560, 4352, 0, 0, 0, 0}, {48, 771, 321, 1285, 4369, 0, 0}, {17930, 4386, 0, 0, 0, 0, 0}, {4355, 4160, 0, 0, 0, 0, 0}, {4876, 8192, 4420, 5376, 0, 0, 0}, {4911, 8224, 4437, 1285, 0, 0, 0}, {1100, 4454, 1542, 16448, 0, 0, 0}, {1295, 4471, 5632, 20480, 0, 0, 0}, {4488, 4864, 21760, 0, 0, 0, 0}, {329, 48, 771, 1285, 4112, 0, 0}, {2570, 4896, 17408, 0, 0, 0, 0}, {1295, 48, 771, 1092, 4096, 0, 0}, {4364, 5888, 5440, 0, 0, 0, 0}, {4959, 626, 1285, 0, 0, 0, 0}, {4398, 1542, 1092, 0, 0, 0, 0}, {4367, 624, 5120, 0, 0, 0, 0}, {48, 768, 336, 1024, 4352, 0, 0}, {674, 2056, 4369, 0, 0, 0, 0}, {4370, 4160, 0, 0, 0, 0, 0}, {22367, 4403, 0, 0, 0, 0, 0}, {4892, 8224, 4420, 5140, 0, 0, 0}, {4927, 8192, 4437, 1024, 0, 0, 0}, {1370, 4454, 1792, 20480, 0, 0, 0}, {1032, 4471, 5911, 16448, 0, 0, 0}, {1032, 48, 768, 1360, 4112, 0, 0}, {2048, 4915, 21845, 0, 0, 0, 0}, {346, 48, 768, 1024, 4096, 0, 0}, {4539, 4883, 17476, 0, 0, 0, 0}, {4412, 1792, 1360, 0, 0, 0, 0}, {4381, 610, 5397, 0, 0, 0, 0}, {4382, 5654, 5188, 0, 0, 0, 0}, {4959, 608, 1024, 0, 0, 0, 0}, {672, 2048, 4352, 0, 0, 0, 0}, {48, 771, 337, 1028, 4369, 0, 0}, {22280, 4386, 0, 0, 0, 0, 0}, {4355, 4176, 0, 0, 0, 0, 0}, {4908, 8224, 4420, 1028, 0, 0, 0}, {4879, 8192, 4437, 5120, 0, 0, 0}, {1036, 4454, 5888, 16384, 0, 0, 0}, {1375, 4471, 1799, 20560, 0, 0, 0}, {2056, 4896, 21760, 0, 0, 0, 0}, {1036, 48, 771, 1365, 4096, 0, 0}, {4522, 4864, 17408, 0, 0, 0, 0}, {347, 48, 771, 1028, 4112, 0, 0}, {4364, 608, 5376, 0, 0, 0, 0}, {4397, 1799, 1365, 0, 0, 0, 0}, {4940, 610, 1028, 0, 0, 0, 0}, {4367, 5632, 5200, 0, 0, 0, 0}, {48, 768, 320, 1280, 4352, 0, 0}, {642, 2570, 4369, 0, 0, 0, 0}, {4370, 4176, 0, 0, 0, 0, 0}, {17996, 4403, 0, 0, 0, 0, 0}, {4924, 8192, 4420, 1280, 0, 0, 0}, {4895, 8224, 4437, 5397, 0, 0, 0}, {1290, 4454, 5654, 20560, 0, 0, 0}, {1096, 4471, 1536, 16384, 0, 0, 0}, {328, 48, 768, 1280, 4096, 0, 0}, {4505, 4883, 21845, 0, 0, 0, 0}, {1290, 48, 768, 1088, 4112, 0, 0}, {2560, 4915, 17476, 0, 0, 0, 0}, {4940, 624, 1280, 0, 0, 0, 0}, {4381, 5911, 5461, 0, 0, 0, 0}, {4382, 626, 5140, 0, 0, 0, 0}, {4415, 1536, 1088, 0, 0, 0, 0}, {192, 512, 1024, 4352, 0, 0, 0}, {240, 514, 1285, 4369, 0, 0, 0}, {1032, 4386, 514, 16448, 0, 0, 0}, {1295, 4403, 512, 20480, 0, 0, 0}, {520, 4420, 0, 0, 0, 0, 0}, {48, 261, 0, 0, 0, 0, 0}, {522, 4454, 0, 0, 0, 0, 0}, {263, 4160, 0, 0, 0, 0, 0}, {1032, 1536, 5440, 0, 0, 0, 0}, {522, 4963, 1285, 0, 0, 0, 0}, {522, 4960, 1024, 0, 0, 0, 0}, {1295, 1799, 5188, 0, 0, 0, 0}, {4556, 512, 21760, 0, 0, 0, 0}, {269, 48, 514, 1285, 4112, 0, 0}, {4590, 514, 17476, 0, 0, 0, 0}, {271, 48, 512, 1024, 4096, 0, 0}, {3840, 544, 1360, 4352, 0, 0, 0}, {3084, 546, 1092, 4369, 0, 0, 0}, {1370, 4386, 4864, 20480, 0, 0, 0}, {1100, 4403, 4883, 16448, 0, 0, 0}, {48, 276, 0, 0, 0, 0, 0}, {554, 4437, 0, 0, 0, 0, 0}, {278, 4160, 0, 0, 0, 0, 0}, {4959, 4471, 0, 0, 0, 0, 0}, {5160, 5632, 1360, 0, 0, 0, 0}, {4441, 4979, 5397, 0, 0, 0, 0}, {4442, 4976, 5120, 0, 0, 0, 0}, {5439, 5911, 1092, 0, 0, 0, 0}, {284, 48, 528, 1360, 4112, 0, 0}, {6485, 546, 21845, 0, 0, 0, 0}, {286, 48, 530, 1092, 4096, 0, 0}, {7007, 544, 17408, 0, 0, 0, 0}, {3072, 544, 1088, 4352, 0, 0, 0}, {3855, 546, 1365, 4369, 0, 0, 0}, {1096, 4386, 4864, 16384, 0, 0, 0}, {1375, 4403, 4883, 20560, 0, 0, 0}, {552, 4420, 0, 0, 0, 0, 0}, {48, 277, 0, 0, 0, 0, 0}, {4940, 4454, 0, 0, 0, 0, 0}, {279, 4176, 0, 0, 0, 0, 0}, {4424, 4960, 5376, 0, 0, 0, 0}, {5180, 5654, 1365, 0, 0, 0, 0}, {5418, 5888, 1088, 0, 0, 0, 0}, {4427, 4963, 5140, 0, 0, 0, 0}, {6476, 544, 21760, 0, 0, 0, 0}, {285, 48, 530, 1365, 4096, 0, 0}, {6980, 546, 17476, 0, 0, 0, 0}, {287, 48, 528, 1088, 4112, 0, 0}, {240, 512, 1280, 4352, 0, 0, 0}, {192, 514, 1028, 4369, 0, 0, 0}, {1290, 4386, 514, 20560, 0, 0, 0}, {1036, 4403, 512, 16384, 0, 0, 0}, {48, 260, 0, 0, 0, 0, 0}, {522, 4437, 0, 0, 0, 0, 0}, {262, 4176, 0, 0, 0, 0, 0}, {520, 4471, 0, 0, 0, 0, 0}, {520, 4976, 1280, 0, 0, 0, 0}, {1036, 1542, 5461, 0, 0, 0, 0}, {1290, 1792, 5200, 0, 0, 0, 0}, {520, 4979, 1028, 0, 0, 0, 0}, {268, 48, 512, 1280, 4096, 0, 0}, {4573, 514, 21845, 0, 0, 0, 0}, {270, 48, 514, 1028, 4112, 0, 0}, {4607, 512, 17408, 0, 0, 0, 0}, {512, 4096, 0, 0, 0, 0, 0}, {51, 257, 0, 0, 0, 0, 0}, {4128, 514, 0, 0, 0, 0, 0}, {259, 4352, 0, 0, 0, 0, 0}, {520, 12804, 4160, 1028, 0, 0, 0}, {522, 12805, 4176, 1285, 0, 0, 0}, {1036, 4192, 1542, 17408, 0, 0, 0}, {1295, 4208, 1799, 21760, 0, 0, 0}, {520, 12288, 20480, 0, 0, 0, 0}, {265, 51, 771, 4437, 1285, 0, 0}, {522, 12288, 16384, 0, 0, 0, 0}, {267, 51, 771, 4420, 1028, 0, 0}, {4108, 512, 5120, 0, 0, 0, 0}, {4143, 514, 1285, 0, 0, 0, 0}, {4140, 514, 1028, 0, 0, 0, 0}, {4111, 512, 5376, 0, 0, 0, 0}, {544, 4112, 0, 0, 0, 0, 0}, {768, 273, 0, 0, 0, 0, 0}, {4144, 4626, 0, 0, 0, 0, 0}, {275, 4352, 0, 0, 0, 0, 0}, {552, 12820, 4176, 5140, 0, 0, 0}, {554, 12821, 4160, 5397, 0, 0, 0}, {1100, 4208, 5654, 17408, 0, 0, 0}, {1375, 4192, 5911, 21760, 0, 0, 0}, {552, 12336, 20560, 0, 0, 0, 0}, {281, 51, 768, 4437, 5120, 0, 0}, {554, 12336, 16448, 0, 0, 0, 0}, {283, 51, 768, 4420, 5376, 0, 0}, {4124, 544, 5200, 0, 0, 0, 0}, {4637, 546, 1365, 0, 0, 0, 0}, {4638, 546, 1092, 0, 0, 0, 0}, {4127, 544, 5440, 0, 0, 0, 0}, {4128, 4608, 0, 0, 0, 0, 0}, {274, 4369, 0, 0, 0, 0, 0}, {546, 4096, 0, 0, 0, 0, 0}, {771, 272, 0, 0, 0, 0, 0}, {1096, 4192, 5632, 17476, 0, 0, 0}, {1370, 4208, 5888, 21845, 0, 0, 0}, {554, 12838, 4160, 5120, 0, 0, 0}, {552, 12839, 4176, 5376, 0, 0, 0}, {552, 12288, 16384, 0, 0, 0, 0}, {282, 51, 771, 4437, 5397, 0, 0}, {554, 12288, 20480, 0, 0, 0, 0}, {280, 51, 771, 4420, 5140, 0, 0}, {4620, 544, 1088, 0, 0, 0, 0}, {4111, 546, 5461, 0, 0, 0, 0}, {4108, 546, 5188, 0, 0, 0, 0}, {4623, 544, 1360, 0, 0, 0, 0}, {4144, 512, 0, 0, 0, 0, 0}, {258, 4369, 0, 0, 0, 0, 0}, {514, 4112, 0, 0, 0, 0, 0}, {51, 256, 0, 0, 0, 0, 0}, {1032, 4208, 1536, 17476, 0, 0, 0}, {1290, 4192, 1792, 21845, 0, 0, 0}, {522, 12854, 4176, 1024, 0, 0, 0}, {520, 12855, 4160, 1280, 0, 0, 0}, {520, 12336, 16448, 0, 0, 0, 0}, {266, 51, 768, 4437, 1024, 0, 0}, {522, 12336, 20560, 0, 0, 0, 0}, {264, 51, 768, 4420, 1280, 0, 0}, {4156, 512, 1024, 0, 0, 0, 0}, {4127, 514, 5397, 0, 0, 0, 0}, {4124, 514, 5140, 0, 0, 0, 0}, {4159, 512, 1280, 0, 0, 0, 0}, {2560, 8704, 4160, 0, 0, 0, 0}, {783, 51, 321, 1285, 4369, 0, 0}, {4192, 16962, 0, 0, 0, 0, 0}, {323, 4352, 0, 0, 0, 0, 0}, {1536, 1092, 4096, 0, 0, 0, 0}, {629, 1285, 4112, 0, 0, 0, 0}, {1100, 4128, 582, 17408, 0, 0, 0}, {1295, 4144, 4679, 21760, 0, 0, 0}, {4680, 8192, 20480, 0, 0, 0, 0}, {4124, 51, 4883, 4437, 1285, 0, 0}, {4714, 8224, 16448, 0, 0, 0, 0}, {4111, 51, 4864, 4420, 5376, 0, 0}, {4172, 4608, 5120, 0, 0, 0, 0}, {4207, 4626, 1285, 0, 0, 0, 0}, {1546, 4642, 1092, 0, 0, 0, 0}, {1295, 4656, 5440, 0, 0, 0, 0}, {2048, 8704, 4176, 0, 0, 0, 0}, {780, 51, 337, 1028, 4369, 0, 0}, {4208, 21074, 0, 0, 0, 0, 0}, {339, 4352, 0, 0, 0, 0, 0}, {612, 1028, 4112, 0, 0, 0, 0}, {1792, 1365, 4096, 0, 0, 0, 0}, {1036, 4144, 4694, 17408, 0, 0, 0}, {1375, 4128, 599, 21760, 0, 0, 0}, {4728, 8224, 20560, 0, 0, 0, 0}, {4108, 51, 4864, 4437, 5120, 0, 0}, {4698, 8192, 16384, 0, 0, 0, 0}, {4127, 51, 4883, 4420, 1028, 0, 0}, {1036, 4656, 5200, 0, 0, 0, 0}, {1800, 4642, 1365, 0, 0, 0, 0}, {4220, 4626, 1028, 0, 0, 0, 0}, {4191, 4608, 5376, 0, 0, 0, 0}, {4192, 20992, 0, 0, 0, 0, 0}, {338, 4369, 0, 0, 0, 0, 0}, {2056, 8738, 4160, 0, 0, 0, 0}, {783, 51, 336, 1024, 4352, 0, 0}, {1032, 4128, 4676, 17476, 0, 0, 0}, {1370, 4144, 597, 21845, 0, 0, 0}, {614, 1024, 4096, 0, 0, 0, 0}, {1799, 1360, 4112, 0, 0, 0, 0}, {4680, 8224, 16448, 0, 0, 0, 0}, {4111, 51, 4864, 4437, 1024, 0, 0}, {4714, 8192, 20480, 0, 0, 0, 0}, {4124, 51, 4883, 4420, 5140, 0, 0}, {4204, 4608, 1024, 0, 0, 0, 0}, {4175, 4626, 5397, 0, 0, 0, 0}, {1032, 4642, 5188, 0, 0, 0, 0}, {1807, 4656, 1360, 0, 0, 0, 0}, {4208, 16896, 0, 0, 0, 0, 0}, {322, 4369, 0, 0, 0, 0, 0}, {2570, 8738, 4176, 0, 0, 0, 0}, {780, 51, 320, 1280, 4352, 0, 0}, {1096, 4144, 580, 17476, 0, 0, 0}, {1290, 4128, 4693, 21845, 0, 0, 0}, {1542, 1088, 4112, 0, 0, 0, 0}, {631, 1280, 4096, 0, 0, 0, 0}, {4728, 8192, 16384, 0, 0, 0, 0}, {4127, 51, 4883, 4437, 5397, 0, 0}, {4698, 8224, 20560, 0, 0, 0, 0}, {4108, 51, 4864, 4420, 1280, 0, 0}, {1548, 4656, 1088, 0, 0, 0, 0}, {1290, 4642, 5461, 0, 0, 0, 0}, {4188, 4626, 5140, 0, 0, 0, 0}, {4223, 4608, 1280, 0, 0, 0, 0}, {4224, 4608, 20480, 0, 0, 0, 0}, {333, 51, 771, 1285, 4369, 0, 0}, {2570, 4642, 16384, 0, 0, 0, 0}, {1295, 51, 771, 1088, 4352, 0, 0}, {4108, 5632, 5188, 0, 0, 0, 0}, {4698, 629, 1285, 0, 0, 0, 0}, {4140, 1542, 1088, 0, 0, 0, 0}, {4111, 631, 5376, 0, 0, 0, 0}, {648, 2560, 4096, 0, 0, 0, 0}, {51, 771, 325, 1285, 4112, 0, 0}, {16906, 4128, 0, 0, 0, 0, 0}, {4099, 4420, 0, 0, 0, 0, 0}, {4620, 8704, 4160, 5120, 0, 0, 0}, {4653, 8738, 4176, 1285, 0, 0, 0}, {1096, 4192, 1542, 17476, 0, 0, 0}, {1295, 4208, 5888, 21760, 0, 0, 0}, {2048, 4656, 20560, 0, 0, 0, 0}, {1032, 51, 768, 1365, 4369, 0, 0}, {4272, 4626, 16448, 0, 0, 0, 0}, {351, 51, 768, 1024, 4352, 0, 0}, {4124, 612, 5140, 0, 0, 0, 0}, {4159, 1792, 1365, 0, 0, 0, 0}, {4698, 614, 1024, 0, 0, 0, 0}, {4127, 5911, 5440, 0, 0, 0, 0}, {680, 2056, 4112, 0, 0, 0, 0}, {51, 768, 341, 1024, 4096, 0, 0}, {21082, 4144, 0, 0, 0, 0, 0}, {4115, 4420, 0, 0, 0, 0, 0}, {4668, 8704, 4176, 1024, 0, 0, 0}, {4637, 8738, 4160, 5397, 0, 0, 0}, {1032, 4208, 5654, 17476, 0, 0, 0}, {1375, 4192, 1792, 21760, 0, 0, 0}, {4256, 4608, 16384, 0, 0, 0, 0}, {350, 51, 771, 1028, 4369, 0, 0}, {2056, 4642, 20480, 0, 0, 0, 0}, {1036, 51, 771, 1360, 4352, 0, 0}, {4680, 612, 1028, 0, 0, 0, 0}, {4111, 5888, 5461, 0, 0, 0, 0}, {4108, 614, 5120, 0, 0, 0, 0}, {4143, 1799, 1360, 0, 0, 0, 0}, {21000, 4128, 0, 0, 0, 0, 0}, {4099, 4437, 0, 0, 0, 0, 0}, {682, 2048, 4096, 0, 0, 0, 0}, {51, 771, 340, 1028, 4112, 0, 0}, {1036, 4192, 5632, 17408, 0, 0, 0}, {1370, 4208, 1799, 21845, 0, 0, 0}, {4654, 8738, 4160, 1028, 0, 0, 0}, {4623, 8704, 4176, 5376, 0, 0, 0}, {2560, 4656, 16448, 0, 0, 0, 0}, {1290, 51, 768, 1092, 4369, 0, 0}, {4240, 4626, 20560, 0, 0, 0, 0}, {332, 51, 768, 1280, 4352, 0, 0}, {4156, 1536, 1092, 0, 0, 0, 0}, {4127, 629, 5397, 0, 0, 0, 0}, {4124, 5654, 5200, 0, 0, 0, 0}, {4680, 631, 1280, 0, 0, 0, 0}, {16968, 4144, 0, 0, 0, 0, 0}, {4115, 4437, 0, 0, 0, 0, 0}, {650, 2570, 4112, 0, 0, 0, 0}, {51, 768, 324, 1280, 4096, 0, 0}, {1100, 4208, 1536, 17408, 0, 0, 0}, {1290, 4192, 5911, 21845, 0, 0, 0}, {4638, 8738, 4176, 5140, 0, 0, 0}, {4671, 8704, 4160, 1280, 0, 0, 0}, {4288, 512, 20480, 0, 0, 0, 0}, {269, 51, 514, 1285, 4369, 0, 0}, {4320, 514, 16448, 0, 0, 0, 0}, {271, 51, 512, 1024, 4352, 0, 0}, {1032, 1536, 5188, 0, 0, 0, 0}, {522, 4709, 1285, 0, 0, 0, 0}, {522, 4710, 1024, 0, 0, 0, 0}, {1295, 1799, 5440, 0, 0, 0, 0}, {520, 4160, 0, 0, 0, 0, 0}, {51, 261, 0, 0, 0, 0, 0}, {522, 4192, 0, 0, 0, 0, 0}, {263, 4420, 0, 0, 0, 0, 0}, {204, 512, 1024, 4096, 0, 0, 0}, {255, 514, 1285, 4112, 0, 0, 0}, {1032, 4128, 514, 17476, 0, 0, 0}, {1295, 4144, 512, 21760, 0, 0, 0}, {6224, 544, 20560, 0, 0, 0, 0}, {285, 51, 529, 1365, 4369, 0, 0}, {6746, 546, 16384, 0, 0, 0, 0}, {287, 51, 531, 1088, 4352, 0, 0}, {4188, 4724, 5140, 0, 0, 0, 0}, {5418, 5888, 1365, 0, 0, 0, 0}, {5180, 5654, 1088, 0, 0, 0, 0}, {4191, 4727, 5376, 0, 0, 0, 0}, {552, 4176, 0, 0, 0, 0, 0}, {51, 277, 0, 0, 0, 0, 0}, {4698, 4208, 0, 0, 0, 0, 0}, {279, 4420, 0, 0, 0, 0, 0}, {3084, 544, 1088, 4112, 0, 0, 0}, {3840, 546, 1365, 4096, 0, 0, 0}, {1096, 4144, 4626, 17476, 0, 0, 0}, {1375, 4128, 4608, 21760, 0, 0, 0}, {6720, 544, 16448, 0, 0, 0, 0}, {286, 51, 529, 1092, 4369, 0, 0}, {6216, 546, 20480, 0, 0, 0, 0}, {284, 51, 531, 1360, 4352, 0, 0}, {5160, 5632, 1092, 0, 0, 0, 0}, {4175, 4709, 5397, 0, 0, 0, 0}, {4172, 4710, 5120, 0, 0, 0, 0}, {5439, 5911, 1360, 0, 0, 0, 0}, {4680, 4192, 0, 0, 0, 0, 0}, {278, 4437, 0, 0, 0, 0, 0}, {554, 4160, 0, 0, 0, 0, 0}, {51, 276, 0, 0, 0, 0, 0}, {1100, 4128, 4608, 17408, 0, 0, 0}, {1370, 4144, 4626, 21845, 0, 0, 0}, {3072, 546, 1092, 4096, 0, 0, 0}, {3855, 544, 1360, 4112, 0, 0, 0}, {4336, 512, 16384, 0, 0, 0, 0}, {270, 51, 514, 1028, 4369, 0, 0}, {4304, 514, 20560, 0, 0, 0, 0}, {268, 51, 512, 1280, 4352, 0, 0}, {520, 4724, 1028, 0, 0, 0, 0}, {1290, 1792, 5461, 0, 0, 0, 0}, {1036, 1542, 5200, 0, 0, 0, 0}, {520, 4727, 1280, 0, 0, 0, 0}, {520, 4208, 0, 0, 0, 0, 0}, {262, 4437, 0, 0, 0, 0, 0}, {522, 4176, 0, 0, 0, 0, 0}, {51, 260, 0, 0, 0, 0, 0}, {1036, 4144, 512, 17408, 0, 0, 0}, {1290, 4128, 514, 21845, 0, 0, 0}, {204, 514, 1028, 4112, 0, 0, 0}, {255, 512, 1280, 4096, 0, 0, 0}, {13056, 0, 0, 0, 0, 0, 0}, {2, 16, 257, 0, 0, 0, 0}, {2, 4352, 0, 0, 0, 0, 0}, {48, 771, 0, 0, 0, 0, 0}, {8, 13060, 64, 1028, 0, 0, 0}, {10, 13061, 80, 1285, 0, 0, 0}, {10, 96, 1542, 21760, 0, 0, 0}, {8, 112, 1799, 17408, 0, 0, 0}, {8, 13056, 17408, 0, 0, 0, 0}, {10, 48, 771, 80, 1285, 0, 0}, {10, 13056, 21760, 0, 0, 0, 0}, {8, 48, 771, 64, 1028, 0, 0}, {13068, 0, 0, 0, 0, 0, 0}, {2, 4357, 0, 0, 0, 0, 0}, {2, 4356, 0, 0, 0, 0, 0}, {13071, 0, 0, 0, 0, 0, 0}, {768, 16, 0, 0, 0, 0, 0}, {34, 4369, 0, 0, 0, 0, 0}, {18, 4352, 0, 0, 0, 0, 0}, {32, 4883, 0, 0, 0, 0, 0}, {40, 13076, 80, 5140, 0, 0, 0}, {42, 13077, 64, 5397, 0, 0, 0}, {90, 112, 5654, 21760, 0, 0, 0}, {72, 96, 5911, 17408, 0, 0, 0}, {24, 48, 768, 80, 5120, 0, 0}, {42, 13107, 21845, 0, 0, 0, 0}, {26, 48, 768, 64, 5376, 0, 0}, {40, 13107, 17476, 0, 0, 0, 0}, {4892, 32, 80, 0, 0, 0, 0}, {4381, 34, 4437, 0, 0, 0, 0}, {4382, 34, 4420, 0, 0, 0, 0}, {4895, 32, 64, 0, 0, 0, 0}, {32, 4864, 0, 0, 0, 0, 0}, {18, 4369, 0, 0, 0, 0, 0}, {34, 4352, 0, 0, 0, 0, 0}, {771, 16, 0, 0, 0, 0, 0}, {72, 96, 5888, 17476, 0, 0, 0}, {90, 112, 5632, 21845, 0, 0, 0}, {42, 13094, 64, 5376, 0, 0, 0}, {40, 13095, 80, 5120, 0, 0, 0}, {40, 13056, 17408, 0, 0, 0, 0}, {26, 48, 771, 64, 5397, 0, 0}, {42, 13056, 21760, 0, 0, 0, 0}, {24, 48, 771, 80, 5140, 0, 0}, {4876, 32, 64, 0, 0, 0, 0}, {4367, 34, 4437, 0, 0, 0, 0}, {4364, 34, 4420, 0, 0, 0, 0}, {4879, 32, 80, 0, 0, 0, 0}, {48, 768, 0, 0, 0, 0, 0}, {2, 4369, 0, 0, 0, 0, 0}, {2, 16, 256, 0, 0, 0, 0}, {13107, 0, 0, 0, 0, 0, 0}, {8, 112, 1792, 17476, 0, 0, 0}, {10, 96, 1536, 21845, 0, 0, 0}, {10, 13110, 80, 1280, 0, 0, 0}, {8, 13111, 64, 1024, 0, 0, 0}, {8, 48, 768, 64, 1024, 0, 0}, {10, 13107, 21845, 0, 0, 0, 0}, {10, 48, 768, 80, 1280, 0, 0}, {8, 13107, 17476, 0, 0, 0, 0}, {13116, 0, 0, 0, 0, 0, 0}, {2, 4373, 0, 0, 0, 0, 0}, {2, 4372, 0, 0, 0, 0, 0}, {13119, 0, 0, 0, 0, 0, 0}, {3072, 13056, 64, 0, 0, 0, 0}, {10, 34, 80, 1285, 4369, 0, 0}, {66, 4352, 0, 0, 0, 0, 0}, {112, 17219, 0, 0, 0, 0, 0}, {136, 13124, 17476, 0, 0, 0, 0}, {10, 773, 1285, 16, 0, 0, 0}, {10, 32, 4934, 21760, 0, 0, 0}, {72, 48, 839, 17408, 0, 0, 0}, {72, 13056, 17408, 0, 0, 0, 0}, {10, 32, 4883, 80, 1285, 0, 0}, {10, 32, 4864, 64, 5376, 0, 0}, {120, 13107, 17476, 0, 0, 0, 0}, {13132, 0, 0, 0, 0, 0, 0}, {18, 4357, 0, 0, 0, 0, 0}, {10, 34, 4420, 0, 0, 0, 0}, {783, 48, 64, 0, 0, 0, 0}, {3840, 13056, 80, 0, 0, 0, 0}, {8, 34, 64, 1028, 4369, 0, 0}, {82, 4352, 0, 0, 0, 0, 0}, {96, 21331, 0, 0, 0, 0, 0}, {8, 772, 1028, 16, 0, 0, 0}, {170, 13141, 21845, 0, 0, 0, 0}, {90, 48, 854, 21760, 0, 0, 0}, {8, 32, 4951, 17408, 0, 0, 0}, {8, 32, 4864, 80, 5120, 0, 0}, {106, 13107, 21845, 0, 0, 0, 0}, {90, 13056, 21760, 0, 0, 0, 0}, {8, 32, 4883, 64, 1028, 0, 0}, {780, 48, 80, 0, 0, 0, 0}, {8, 34, 4437, 0, 0, 0, 0}, {18, 4356, 0, 0, 0, 0, 0}, {13151, 0, 0, 0, 0, 0, 0}, {96, 21248, 0, 0, 0, 0, 0}, {82, 4369, 0, 0, 0, 0, 0}, {8, 34, 64, 1024, 4352, 0, 0}, {3855, 13107, 80, 0, 0, 0, 0}, {8, 32, 4932, 17476, 0, 0, 0}, {90, 48, 853, 21845, 0, 0, 0}, {170, 13158, 21760, 0, 0, 0, 0}, {8, 775, 1024, 16, 0, 0, 0}, {8, 32, 4864, 64, 1024, 0, 0}, {90, 13107, 21845, 0, 0, 0, 0}, {106, 13056, 21760, 0, 0, 0, 0}, {8, 32, 4883, 80, 5140, 0, 0}, {13164, 0, 0, 0, 0, 0, 0}, {18, 4373, 0, 0, 0, 0, 0}, {8, 34, 4420, 0, 0, 0, 0}, {783, 48, 80, 0, 0, 0, 0}, {112, 17152, 0, 0, 0, 0, 0}, {66, 4369, 0, 0, 0, 0, 0}, {10, 34, 80, 1280, 4352, 0, 0}, {3084, 13107, 64, 0, 0, 0, 0}, {72, 48, 836, 17476, 0, 0, 0}, {10, 32, 4949, 21845, 0, 0, 0}, {10, 774, 1280, 16, 0, 0, 0}, {136, 13175, 17408, 0, 0, 0, 0}, {120, 13056, 17408, 0, 0, 0, 0}, {10, 32, 4883, 64, 5397, 0, 0}, {10, 32, 4864, 80, 1280, 0, 0}, {72, 13107, 17476, 0, 0, 0, 0}, {780, 48, 64, 0, 0, 0, 0}, {10, 34, 4437, 0, 0, 0, 0}, {18, 4372, 0, 0, 0, 0, 0}, {13183, 0, 0, 0, 0, 0, 0}, {128, 19456, 13056, 0, 0, 0, 0}, {18, 80, 1285, 4369, 0, 0, 0}, {10, 34, 4352, 0, 0, 0, 0}, {48, 771, 64, 0, 0, 0, 0}, {72, 13124, 17476, 0, 0, 0, 0}, {10, 32, 4869, 80, 1285, 0, 0}, {10, 32, 4870, 64, 5376, 0, 0}, {120, 13175, 17408, 0, 0, 0, 0}, {136, 13056, 17408, 0, 0, 0, 0}, {10, 771, 1285, 16, 0, 0, 0}, {10, 32, 4864, 21760, 0, 0, 0}, {72, 48, 771, 17476, 0, 0, 0}, {13068, 64, 0, 0, 0, 0, 0}, {34, 4357, 0, 0, 0, 0, 0}, {4358, 4420, 0, 0, 0, 0, 0}, {17167, 112, 0, 0, 0, 0, 0}, {48, 768, 80, 0, 0, 0, 0}, {8, 34, 4369, 0, 0, 0, 0}, {18, 64, 1024, 4352, 0, 0, 0}, {160, 24415, 13107, 0, 0, 0, 0}, {8, 32, 4884, 80, 5140, 0, 0}, {106, 13141, 21845, 0, 0, 0, 0}, {90, 13158, 21760, 0, 0, 0, 0}, {8, 32, 4887, 64, 1024, 0, 0}, {8, 768, 1024, 16, 0, 0, 0}, {170, 13107, 21845, 0, 0, 0, 0}, {90, 48, 768, 21760, 0, 0, 0}, {8, 32, 4883, 17476, 0, 0, 0}, {13116, 80, 0, 0, 0, 0, 0}, {34, 4373, 0, 0, 0, 0, 0}, {4374, 4420, 0, 0, 0, 0, 0}, {21343, 96, 0, 0, 0, 0, 0}, {160, 24320, 13056, 0, 0, 0, 0}, {18, 64, 1028, 4369, 0, 0, 0}, {8, 34, 4352, 0, 0, 0, 0}, {48, 771, 80, 0, 0, 0, 0}, {8, 32, 4868, 64, 1028, 0, 0}, {90, 13141, 21845, 0, 0, 0, 0}, {106, 13158, 21760, 0, 0, 0, 0}, {8, 32, 4871, 80, 5120, 0, 0}, {8, 32, 4864, 17408, 0, 0, 0}, {90, 48, 771, 21845, 0, 0, 0}, {170, 13056, 21760, 0, 0, 0, 0}, {8, 771, 1028, 16, 0, 0, 0}, {21260, 96, 0, 0, 0, 0, 0}, {4359, 4437, 0, 0, 0, 0, 0}, {34, 4356, 0, 0, 0, 0, 0}, {13071, 80, 0, 0, 0, 0, 0}, {48, 768, 64, 0, 0, 0, 0}, {10, 34, 4369, 0, 0, 0, 0}, {18, 80, 1280, 4352, 0, 0, 0}, {128, 19532, 13107, 0, 0, 0, 0}, {120, 13124, 17476, 0, 0, 0, 0}, {10, 32, 4885, 64, 5397, 0, 0}, {10, 32, 4886, 80, 1280, 0, 0}, {72, 13175, 17408, 0, 0, 0, 0}, {72, 48, 768, 17408, 0, 0, 0}, {10, 32, 4883, 21845, 0, 0, 0}, {10, 768, 1280, 16, 0, 0, 0}, {136, 13107, 17476, 0, 0, 0, 0}, {17228, 112, 0, 0, 0, 0, 0}, {4375, 4437, 0, 0, 0, 0, 0}, {34, 4372, 0, 0, 0, 0, 0}, {13119, 64, 0, 0, 0, 0, 0}, {192, 3072, 13056, 0, 0, 0, 0}, {2, 80, 1285, 4369, 0, 0, 0}, {2, 64, 1024, 4352, 0, 0, 0}, {240, 3855, 13107, 0, 0, 0, 0}, {8, 13124, 17476, 0, 0, 0, 0}, {10, 48, 773, 80, 1285, 0, 0}, {10, 13158, 21760, 0, 0, 0, 0}, {8, 48, 775, 64, 1024, 0, 0}, {8, 13056, 64, 1024, 0, 0, 0}, {10, 13107, 80, 1285, 0, 0, 0}, {10, 96, 1536, 21760, 0, 0, 0}, {8, 112, 1799, 17476, 0, 0, 0}, {13260, 0, 0, 0, 0, 0, 0}, {2, 261, 16, 0, 0, 0, 0}, {2, 4420, 0, 0, 0, 0, 0}, {783, 48, 0, 0, 0, 0, 0}, {32, 4864, 80, 0, 0, 0, 0}, {72, 34, 4369, 0, 0, 0, 0}, {90, 34, 4352, 0, 0, 0, 0}, {32, 4883, 64, 0, 0, 0, 0}, {24, 48, 788, 80, 5140, 0, 0}, {42, 13141, 21845, 0, 0, 0, 0}, {26, 48, 790, 64, 5376, 0, 0}, {40, 13175, 17408, 0, 0, 0, 0}, {40, 13056, 80, 5120, 0, 0, 0}, {42, 13107, 64, 5397, 0, 0, 0}, {90, 112, 5632, 21760, 0, 0, 0}, {72, 96, 5911, 17476, 0, 0, 0}, {780, 16, 0, 0, 0, 0, 0}, {34, 4437, 0, 0, 0, 0, 0}, {18, 4420, 0, 0, 0, 0, 0}, {4959, 32, 0, 0, 0, 0, 0}, {32, 4864, 64, 0, 0, 0, 0}, {90, 34, 4369, 0, 0, 0, 0}, {72, 34, 4352, 0, 0, 0, 0}, {32, 4883, 80, 0, 0, 0, 0}, {40, 13124, 17476, 0, 0, 0, 0}, {26, 48, 789, 64, 5397, 0, 0}, {42, 13158, 21760, 0, 0, 0, 0}, {24, 48, 791, 80, 5120, 0, 0}, {72, 96, 5888, 17408, 0, 0, 0}, {90, 112, 5654, 21845, 0, 0, 0}, {42, 13056, 64, 5376, 0, 0, 0}, {40, 13107, 80, 5140, 0, 0, 0}, {4940, 32, 0, 0, 0, 0, 0}, {18, 4437, 0, 0, 0, 0, 0}, {34, 4420, 0, 0, 0, 0, 0}, {783, 16, 0, 0, 0, 0, 0}, {240, 3840, 13056, 0, 0, 0, 0}, {2, 64, 1028, 4369, 0, 0, 0}, {2, 80, 1280, 4352, 0, 0, 0}, {192, 3084, 13107, 0, 0, 0, 0}, {8, 48, 772, 64, 1028, 0, 0}, {10, 13141, 21845, 0, 0, 0, 0}, {10, 48, 774, 80, 1280, 0, 0}, {8, 13175, 17408, 0, 0, 0, 0}, {8, 112, 1792, 17408, 0, 0, 0}, {10, 96, 1542, 21845, 0, 0, 0}, {10, 13056, 80, 1280, 0, 0, 0}, {8, 13107, 64, 1028, 0, 0, 0}, {780, 48, 0, 0, 0, 0, 0}, {2, 4437, 0, 0, 0, 0, 0}, {2, 260, 16, 0, 0, 0, 0}, {13311, 0, 0, 0, 0, 0, 0}, {2048, 13312, 17408, 0, 0, 0, 0}, {10, 53, 85, 257, 0, 0, 0}, {10, 5154, 514, 20480, 0, 0, 0}, {1036, 1075, 771, 16384, 0, 0, 0}, {192, 12288, 1028, 0, 0, 0, 0}, {10, 512, 85, 1285, 4352, 0, 0}, {1030, 4096, 0, 0, 0, 0, 0}, {17527, 1799, 0, 0, 0, 0, 0}, {13320, 0, 0, 0, 0, 0, 0}, {259, 4101, 0, 0, 0, 0, 0}, {10, 512, 5120, 0, 0, 0, 0}, {63, 771, 1028, 0, 0, 0, 0}, {1036, 12288, 16384, 0, 0, 0, 0}, {10, 4386, 514, 85, 1285, 0, 0}, {10, 4128, 514, 4160, 1028, 0, 0}, {1807, 13056, 17408, 0, 0, 0, 0}, {3072, 1056, 1088, 4112, 0, 0, 0}, {3840, 1826, 85, 4369, 0, 0, 0}, {1096, 1058, 4626, 16384, 0, 0, 0}, {95, 5171, 4883, 20480, 0, 0, 0}, {160, 8192, 5140, 0, 0, 0, 0}, {63, 768, 85, 1045, 4352, 0, 0}, {17510, 5654, 0, 0, 0, 0, 0}, {1047, 4096, 0, 0, 0, 0, 0}, {5144, 4144, 4176, 0, 0, 0, 0}, {5657, 4403, 85, 0, 0, 0, 0}, {5658, 4656, 1088, 0, 0, 0, 0}, {5147, 4915, 5188, 0, 0, 0, 0}, {5180, 8224, 20560, 0, 0, 0, 0}, {4381, 4386, 768, 85, 5376, 0, 0}, {5692, 8738, 17476, 0, 0, 0, 0}, {4127, 4128, 768, 4160, 5120, 0, 0}, {160, 8224, 5120, 0, 0, 0, 0}, {63, 771, 85, 1041, 4369, 0, 0}, {17442, 5632, 0, 0, 0, 0, 0}, {1043, 4112, 0, 0, 0, 0, 0}, {3084, 1060, 1092, 4096, 0, 0, 0}, {3855, 1829, 85, 4352, 0, 0, 0}, {1100, 1062, 4608, 16448, 0, 0, 0}, {95, 5159, 4864, 20560, 0, 0, 0}, {5160, 8192, 20480, 0, 0, 0, 0}, {4364, 4403, 771, 85, 5397, 0, 0}, {5674, 8704, 17408, 0, 0, 0, 0}, {4111, 4144, 771, 4176, 5140, 0, 0}, {5132, 4128, 4160, 0, 0, 0, 0}, {5647, 4386, 85, 0, 0, 0, 0}, {5644, 4642, 1092, 0, 0, 0, 0}, {5135, 4896, 5200, 0, 0, 0, 0}, {192, 12336, 1024, 0, 0, 0, 0}, {10, 514, 85, 1280, 4369, 0, 0}, {1026, 4112, 0, 0, 0, 0, 0}, {17459, 1792, 0, 0, 0, 0, 0}, {2056, 13364, 17476, 0, 0, 0, 0}, {10, 53, 85, 256, 0, 0, 0}, {10, 5174, 512, 20560, 0, 0, 0}, {1032, 1079, 768, 16448, 0, 0, 0}, {1032, 12336, 16448, 0, 0, 0, 0}, {10, 4403, 512, 85, 1280, 0, 0}, {10, 4144, 512, 4176, 1024, 0, 0}, {1800, 13107, 17476, 0, 0, 0, 0}, {13372, 0, 0, 0, 0, 0, 0}, {258, 4117, 0, 0, 0, 0, 0}, {10, 514, 5140, 0, 0, 0, 0}, {63, 768, 1024, 0, 0, 0, 0}, {3072, 12288, 1088, 0, 0, 0, 0}, {10, 546, 85, 1285, 4369, 0, 0}, {1090, 4096, 0, 0, 0, 0, 0}, {17459, 17219, 0, 0, 0, 0, 0}, {2184, 13380, 17476, 0, 0, 0, 0}, {10, 773, 1285, 272, 0, 0, 0}, {10, 5222, 5702, 20480, 0, 0, 0}, {1096, 1143, 1863, 16384, 0, 0, 0}, {1096, 12288, 16384, 0, 0, 0, 0}, {10, 4403, 4883, 85, 1285, 0, 0}, {10, 4128, 4608, 4160, 5120, 0, 0}, {1912, 13107, 17476, 0, 0, 0, 0}, {13388, 0, 0, 0, 0, 0, 0}, {274, 4101, 0, 0, 0, 0, 0}, {10, 546, 5188, 0, 0, 0, 0}, {783, 816, 1088, 0, 0, 0, 0}, {2048, 8192, 5200, 0, 0, 0, 0}, {780, 819, 85, 1028, 4369, 0, 0}, {17442, 21074, 0, 0, 0, 0, 0}, {1107, 4096, 0, 0, 0, 0, 0}, {96, 1028, 4112, 0, 0, 0, 0}, {1792, 85, 4352, 0, 0, 0, 0}, {1036, 1126, 5718, 16384, 0, 0, 0}, {95, 5239, 1879, 20480, 0, 0, 0}, {5240, 8224, 20560, 0, 0, 0, 0}, {4364, 4403, 4608, 85, 5376, 0, 0}, {5722, 8704, 17408, 0, 0, 0, 0}, {4127, 4128, 4883, 4160, 1028, 0, 0}, {1036, 4144, 4176, 0, 0, 0, 0}, {1800, 4386, 85, 0, 0, 0, 0}, {106, 4626, 1028, 0, 0, 0, 0}, {95, 4864, 5120, 0, 0, 0, 0}, {96, 1024, 4096, 0, 0, 0, 0}, {1799, 85, 4369, 0, 0, 0, 0}, {1032, 1122, 5696, 16448, 0, 0, 0}, {95, 5219, 1872, 20560, 0, 0, 0}, {2056, 8224, 5188, 0, 0, 0, 0}, {783, 816, 85, 1024, 4352, 0, 0}, {17510, 20992, 0, 0, 0, 0, 0}, {1111, 4112, 0, 0, 0, 0, 0}, {1032, 4128, 4160, 0, 0, 0, 0}, {1807, 4403, 85, 0, 0, 0, 0}, {106, 4608, 1024, 0, 0, 0, 0}, {95, 4883, 5140, 0, 0, 0, 0}, {5228, 8192, 20480, 0, 0, 0, 0}, {4381, 4386, 4626, 85, 5397, 0, 0}, {5708, 8738, 17476, 0, 0, 0, 0}, {4111, 4144, 4864, 4176, 1024, 0, 0}, {2176, 13424, 17408, 0, 0, 0, 0}, {10, 774, 1280, 273, 0, 0, 0}, {10, 5234, 5712, 20560, 0, 0, 0}, {1100, 1139, 1856, 16448, 0, 0, 0}, {3084, 12336, 1092, 0, 0, 0, 0}, {10, 544, 85, 1280, 4352, 0, 0}, {1094, 4112, 0, 0, 0, 0, 0}, {17527, 17152, 0, 0, 0, 0, 0}, {13432, 0, 0, 0, 0, 0, 0}, {275, 4117, 0, 0, 0, 0, 0}, {10, 544, 5200, 0, 0, 0, 0}, {780, 819, 1092, 0, 0, 0, 0}, {1100, 12336, 16448, 0, 0, 0, 0}, {10, 4386, 4864, 85, 1280, 0, 0}, {10, 4144, 4626, 4176, 5140, 0, 0}, {1919, 13056, 17408, 0, 0, 0, 0}, {13440, 15360, 17408, 0, 0, 0, 0}, {289, 771, 276, 4369, 0, 0, 0}, {10, 5154, 5632, 20480, 0, 0, 0}, {1100, 1139, 771, 16448, 0, 0, 0}, {3084, 12288, 1092, 0, 0, 0, 0}, {10, 544, 85, 1285, 4352, 0, 0}, {5126, 4160, 0, 0, 0, 0, 0}, {17167, 17527, 0, 0, 0, 0, 0}, {17544, 19456, 28672, 0, 0, 0, 0}, {278, 85, 1285, 4112, 0, 0, 0}, {10, 544, 5120, 0, 0, 0, 0}, {63, 771, 1092, 0, 0, 0, 0}, {1100, 12288, 16448, 0, 0, 0, 0}, {10, 4386, 4864, 85, 1285, 0, 0}, {10, 1060, 1542, 1092, 4096, 0, 0}, {3855, 1904, 17408, 0, 0, 0, 0}, {4144, 4176, 1024, 0, 0, 0, 0}, {1800, 85, 4369, 0, 0, 0, 0}, {1032, 1122, 4626, 16448, 0, 0, 0}, {95, 5171, 1792, 20480, 0, 0, 0}, {160, 8224, 5140, 0, 0, 0, 0}, {63, 768, 85, 1024, 4352, 0, 0}, {21082, 17510, 0, 0, 0, 0, 0}, {5143, 4160, 0, 0, 0, 0, 0}, {1032, 96, 4112, 0, 0, 0, 0}, {4403, 1792, 85, 0, 0, 0, 0}, {4698, 4656, 1024, 0, 0, 0, 0}, {5147, 4883, 5188, 0, 0, 0, 0}, {5180, 8192, 20560, 0, 0, 0, 0}, {4381, 4386, 768, 85, 5397, 0, 0}, {170, 5654, 17476, 0, 0, 0, 0}, {95, 96, 768, 1024, 4096, 0, 0}, {160, 8192, 5120, 0, 0, 0, 0}, {63, 771, 85, 1028, 4369, 0, 0}, {21000, 17442, 0, 0, 0, 0, 0}, {5123, 4176, 0, 0, 0, 0, 0}, {4128, 4160, 1028, 0, 0, 0, 0}, {1807, 85, 4352, 0, 0, 0, 0}, {1036, 1126, 4608, 16384, 0, 0, 0}, {95, 5159, 1799, 20560, 0, 0, 0}, {5160, 8224, 20480, 0, 0, 0, 0}, {4364, 4403, 771, 85, 5376, 0, 0}, {170, 5632, 17408, 0, 0, 0, 0}, {95, 96, 771, 1028, 4112, 0, 0}, {1036, 96, 4096, 0, 0, 0, 0}, {4386, 1799, 85, 0, 0, 0, 0}, {4680, 4642, 1028, 0, 0, 0, 0}, {5135, 4864, 5200, 0, 0, 0, 0}, {3072, 12336, 1088, 0, 0, 0, 0}, {10, 546, 85, 1280, 4369, 0, 0}, {5138, 4176, 0, 0, 0, 0, 0}, {17228, 17459, 0, 0, 0, 0, 0}, {13492, 15420, 17476, 0, 0, 0, 0}, {288, 768, 277, 4352, 0, 0, 0}, {10, 5174, 5654, 20560, 0, 0, 0}, {1096, 1143, 768, 16384, 0, 0, 0}, {1096, 12336, 16384, 0, 0, 0, 0}, {10, 4403, 4883, 85, 1280, 0, 0}, {10, 1056, 1536, 1088, 4112, 0, 0}, {3840, 1911, 17476, 0, 0, 0, 0}, {17612, 19532, 28784, 0, 0, 0, 0}, {279, 85, 1280, 4096, 0, 0, 0}, {10, 546, 5140, 0, 0, 0, 0}, {63, 768, 1088, 0, 0, 0, 0}, {192, 12288, 1024, 0, 0, 0, 0}, {10, 514, 85, 1285, 4369, 0, 0}, {1026, 4160, 0, 0, 0, 0, 0}, {1807, 17459, 0, 0, 0, 0, 0}, {13508, 2056, 17476, 0, 0, 0, 0}, {304, 512, 261, 4352, 0, 0, 0}, {10, 5222, 512, 20480, 0, 0, 0}, {1032, 1079, 1799, 16448, 0, 0, 0}, {1032, 12288, 16448, 0, 0, 0, 0}, {10, 4403, 512, 85, 1285, 0, 0}, {10, 96, 512, 1024, 4096, 0, 0}, {255, 1799, 17476, 0, 0, 0, 0}, {17612, 2048, 28672, 0, 0, 0, 0}, {263, 85, 1285, 4112, 0, 0, 0}, {10, 514, 5188, 0, 0, 0, 0}, {783, 816, 1024, 0, 0, 0, 0}, {2080, 8224, 5200, 0, 0, 0, 0}, {780, 819, 85, 1041, 4369, 0, 0}, {5722, 17442, 0, 0, 0, 0, 0}, {1043, 4160, 0, 0, 0, 0, 0}, {4144, 4176, 5140, 0, 0, 0, 0}, {1834, 85, 4352, 0, 0, 0, 0}, {1100, 1062, 5654, 16448, 0, 0, 0}, {95, 5239, 4864, 20480, 0, 0, 0}, {5240, 8192, 20560, 0, 0, 0, 0}, {4364, 4403, 4608, 85, 5397, 0, 0}, {7770, 5744, 17408, 0, 0, 0, 0}, {1051, 1060, 1815, 1092, 4096, 0, 0}, {1100, 96, 4112, 0, 0, 0, 0}, {4386, 5632, 85, 0, 0, 0, 0}, {1070, 4626, 1092, 0, 0, 0, 0}, {95, 4896, 5120, 0, 0, 0, 0}, {4128, 4160, 5120, 0, 0, 0, 0}, {1837, 85, 4369, 0, 0, 0, 0}, {1096, 1058, 5632, 16384, 0, 0, 0}, {95, 5219, 4883, 20560, 0, 0, 0}, {2088, 8192, 5188, 0, 0, 0, 0}, {783, 816, 85, 1045, 4352, 0, 0}, {5708, 17510, 0, 0, 0, 0, 0}, {1047, 4176, 0, 0, 0, 0, 0}, {1096, 96, 4096, 0, 0, 0, 0}, {4403, 5654, 85, 0, 0, 0, 0}, {1066, 4608, 1088, 0, 0, 0, 0}, {95, 4915, 5140, 0, 0, 0, 0}, {5228, 8224, 20480, 0, 0, 0, 0}, {4381, 4386, 4626, 85, 5376, 0, 0}, {7748, 5734, 17476, 0, 0, 0, 0}, {1055, 1056, 1808, 1088, 4112, 0, 0}, {13552, 2048, 17408, 0, 0, 0, 0}, {305, 514, 260, 4369, 0, 0, 0}, {10, 5234, 514, 20560, 0, 0, 0}, {1036, 1075, 1792, 16384, 0, 0, 0}, {192, 12336, 1028, 0, 0, 0, 0}, {10, 512, 85, 1280, 4352, 0, 0}, {1030, 4176, 0, 0, 0, 0, 0}, {1800, 17527, 0, 0, 0, 0, 0}, {17544, 2056, 28784, 0, 0, 0, 0}, {262, 85, 1280, 4096, 0, 0, 0}, {10, 512, 5200, 0, 0, 0, 0}, {780, 819, 1028, 0, 0, 0, 0}, {1036, 12336, 16384, 0, 0, 0, 0}, {10, 4386, 514, 85, 1280, 0, 0}, {10, 96, 514, 1028, 4112, 0, 0}, {255, 1792, 17408, 0, 0, 0, 0}, {2560, 13568, 21760, 0, 0, 0, 0}, {8, 52, 68, 257, 0, 0, 0}, {8, 5410, 514, 16384, 0, 0, 0}, {1295, 1331, 771, 20480, 0, 0, 0}, {8, 512, 68, 1028, 4352, 0, 0}, {240, 12288, 1285, 0, 0, 0, 0}, {21862, 1542, 0, 0, 0, 0, 0}, {1287, 4096, 0, 0, 0, 0, 0}, {8, 512, 5376, 0, 0, 0, 0}, {60, 771, 1285, 0, 0, 0, 0}, {13578, 0, 0, 0, 0, 0, 0}, {259, 4100, 0, 0, 0, 0, 0}, {1548, 13056, 21760, 0, 0, 0, 0}, {8, 4128, 514, 4176, 1285, 0, 0}, {8, 4386, 514, 68, 1028, 0, 0}, {1295, 12288, 20480, 0, 0, 0, 0}, {3840, 1312, 1360, 4112, 0, 0, 0}, {3072, 1570, 68, 4369, 0, 0, 0}, {1370, 1314, 4626, 20480, 0, 0, 0}, {76, 5427, 4883, 16384, 0, 0, 0}, {60, 768, 68, 1300, 4352, 0, 0}, {128, 8192, 5397, 0, 0, 0, 0}, {1302, 4096, 0, 0, 0, 0, 0}, {21879, 5911, 0, 0, 0, 0, 0}, {5912, 4656, 1360, 0, 0, 0, 0}, {5401, 4915, 5461, 0, 0, 0, 0}, {5402, 4144, 4160, 0, 0, 0, 0}, {5915, 4403, 68, 0, 0, 0, 0}, {4124, 4128, 768, 4176, 5376, 0, 0}, {5951, 8738, 21845, 0, 0, 0, 0}, {4382, 4386, 768, 68, 5120, 0, 0}, {5439, 8224, 16448, 0, 0, 0, 0}, {128, 8224, 5376, 0, 0, 0, 0}, {60, 771, 68, 1297, 4369, 0, 0}, {21794, 5888, 0, 0, 0, 0, 0}, {1299, 4112, 0, 0, 0, 0, 0}, {3084, 1572, 68, 4352, 0, 0, 0}, {3855, 1317, 1365, 4096, 0, 0, 0}, {76, 5414, 4864, 16448, 0, 0, 0}, {1375, 1319, 4608, 20560, 0, 0, 0}, {5928, 8704, 21760, 0, 0, 0, 0}, {4108, 4144, 771, 4160, 5397, 0, 0}, {5418, 8192, 16384, 0, 0, 0, 0}, {4367, 4403, 771, 68, 5140, 0, 0}, {5388, 4896, 5440, 0, 0, 0, 0}, {5903, 4642, 1365, 0, 0, 0, 0}, {5900, 4386, 68, 0, 0, 0, 0}, {5391, 4128, 4176, 0, 0, 0, 0}, {240, 12336, 1280, 0, 0, 0, 0}, {8, 514, 68, 1024, 4369, 0, 0}, {1282, 4112, 0, 0, 0, 0, 0}, {21811, 1536, 0, 0, 0, 0, 0}, {8, 52, 68, 256, 0, 0, 0}, {2570, 13621, 21845, 0, 0, 0, 0}, {1290, 1334, 768, 20560, 0, 0, 0}, {8, 5431, 512, 16448, 0, 0, 0}, {8, 4144, 512, 4160, 1280, 0, 0}, {1546, 13107, 21845, 0, 0, 0, 0}, {1290, 12336, 20560, 0, 0, 0, 0}, {8, 4403, 512, 68, 1024, 0, 0}, {60, 768, 1280, 0, 0, 0, 0}, {8, 514, 5397, 0, 0, 0, 0}, {258, 4116, 0, 0, 0, 0, 0}, {13631, 0, 0, 0, 0, 0, 0}, {2560, 8192, 5440, 0, 0, 0, 0}, {783, 819, 68, 1285, 4369, 0, 0}, {21794, 16962, 0, 0, 0, 0, 0}, {1347, 4096, 0, 0, 0, 0, 0}, {1536, 68, 4352, 0, 0, 0, 0}, {112, 1285, 4112, 0, 0, 0, 0}, {76, 5478, 1606, 16384, 0, 0, 0}, {1295, 1399, 5959, 20480, 0, 0, 0}, {5960, 8704, 21760, 0, 0, 0, 0}, {4124, 4128, 4883, 4176, 1285, 0, 0}, {5482, 8224, 16448, 0, 0, 0, 0}, {4367, 4403, 4608, 68, 5120, 0, 0}, {76, 4864, 5376, 0, 0, 0, 0}, {120, 4626, 1285, 0, 0, 0, 0}, {1546, 4386, 68, 0, 0, 0, 0}, {1295, 4144, 4160, 0, 0, 0, 0}, {3840, 12288, 1360, 0, 0, 0, 0}, {8, 546, 68, 1028, 4369, 0, 0}, {1362, 4096, 0, 0, 0, 0, 0}, {21811, 21331, 0, 0, 0, 0, 0}, {8, 772, 1028, 272, 0, 0, 0}, {2730, 13653, 21845, 0, 0, 0, 0}, {1370, 1382, 1622, 20480, 0, 0, 0}, {8, 5495, 5975, 16384, 0, 0, 0}, {8, 4128, 4608, 4176, 5376, 0, 0}, {1642, 13107, 21845, 0, 0, 0, 0}, {1370, 12288, 20480, 0, 0, 0, 0}, {8, 4403, 4883, 68, 1028, 0, 0}, {780, 816, 1360, 0, 0, 0, 0}, {8, 546, 5461, 0, 0, 0, 0}, {274, 4100, 0, 0, 0, 0, 0}, {13663, 0, 0, 0, 0, 0, 0}, {2720, 13664, 21760, 0, 0, 0, 0}, {8, 775, 1024, 273, 0, 0, 0}, {8, 5474, 5952, 16448, 0, 0, 0}, {1375, 1379, 1616, 20560, 0, 0, 0}, {8, 544, 68, 1024, 4352, 0, 0}, {3855, 12336, 1365, 0, 0, 0, 0}, {21862, 21248, 0, 0, 0, 0, 0}, {1367, 4112, 0, 0, 0, 0, 0}, {8, 544, 5440, 0, 0, 0, 0}, {783, 819, 1365, 0, 0, 0, 0}, {13674, 0, 0, 0, 0, 0, 0}, {275, 4116, 0, 0, 0, 0, 0}, {1644, 13056, 21760, 0, 0, 0, 0}, {8, 4144, 4626, 4160, 5397, 0, 0}, {8, 4386, 4864, 68, 1024, 0, 0}, {1375, 12336, 20560, 0, 0, 0, 0}, {112, 1280, 4096, 0, 0, 0, 0}, {1542, 68, 4369, 0, 0, 0, 0}, {1290, 1394, 5968, 20560, 0, 0, 0}, {76, 5491, 1600, 16448, 0, 0, 0}, {780, 816, 68, 1280, 4352, 0, 0}, {2570, 8224, 5461, 0, 0, 0, 0}, {1350, 4112, 0, 0, 0, 0, 0}, {21879, 16896, 0, 0, 0, 0, 0}, {120, 4608, 1280, 0, 0, 0, 0}, {76, 4883, 5397, 0, 0, 0, 0}, {1290, 4128, 4176, 0, 0, 0, 0}, {1548, 4403, 68, 0, 0, 0, 0}, {4108, 4144, 4864, 4160, 1280, 0, 0}, {5983, 8738, 21845, 0, 0, 0, 0}, {4382, 4386, 4626, 68, 5140, 0, 0}, {5503, 8192, 16384, 0, 0, 0, 0}, {128, 8192, 5376, 0, 0, 0, 0}, {60, 771, 68, 1285, 4369, 0, 0}, {16906, 21794, 0, 0, 0, 0, 0}, {5379, 4160, 0, 0, 0, 0, 0}, {1548, 68, 4352, 0, 0, 0, 0}, {4128, 4176, 1285, 0, 0, 0, 0}, {76, 5414, 1542, 16448, 0, 0, 0}, {1295, 1399, 4608, 20480, 0, 0, 0}, {136, 5888, 21760, 0, 0, 0, 0}, {76, 112, 771, 1285, 4112, 0, 0}, {5418, 8224, 16384, 0, 0, 0, 0}, {4367, 4403, 771, 68, 5120, 0, 0}, {5388, 4864, 5440, 0, 0, 0, 0}, {4698, 4642, 1285, 0, 0, 0, 0}, {4386, 1542, 68, 0, 0, 0, 0}, {1295, 112, 4096, 0, 0, 0, 0}, {3840, 12336, 1360, 0, 0, 0, 0}, {8, 546, 68, 1024, 4369, 0, 0}, {5394, 4160, 0, 0, 0, 0, 0}, {21343, 21811, 0, 0, 0, 0, 0}, {288, 768, 276, 4352, 0, 0, 0}, {13717, 16191, 21845, 0, 0, 0, 0}, {1370, 1382, 768, 20480, 0, 0, 0}, {8, 5431, 5911, 16448, 0, 0, 0}, {8, 1312, 1792, 1360, 4112, 0, 0}, {3072, 1638, 21845, 0, 0, 0, 0}, {1370, 12336, 20480, 0, 0, 0, 0}, {8, 4403, 4883, 68, 1024, 0, 0}, {60, 768, 1360, 0, 0, 0, 0}, {8, 546, 5397, 0, 0, 0, 0}, {278, 68, 1024, 4096, 0, 0, 0}, {22015, 24415, 24672, 0, 0, 0, 0}, {13728, 16128, 21760, 0, 0, 0, 0}, {289, 771, 277, 4369, 0, 0, 0}, {8, 5410, 5888, 16384, 0, 0, 0}, {1375, 1379, 771, 20560, 0, 0, 0}, {8, 544, 68, 1028, 4352, 0, 0}, {3855, 12288, 1365, 0, 0, 0, 0}, {21260, 21862, 0, 0, 0, 0, 0}, {5383, 4176, 0, 0, 0, 0, 0}, {8, 544, 5376, 0, 0, 0, 0}, {60, 771, 1365, 0, 0, 0, 0}, {21930, 24320, 24576, 0, 0, 0, 0}, {279, 68, 1028, 4112, 0, 0, 0}, {3084, 1632, 21760, 0, 0, 0, 0}, {8, 1317, 1799, 1365, 4096, 0, 0}, {8, 4386, 4864, 68, 1028, 0, 0}, {1375, 12288, 20560, 0, 0, 0, 0}, {4144, 4160, 1280, 0, 0, 0, 0}, {1546, 68, 4369, 0, 0, 0, 0}, {1290, 1394, 4626, 20560, 0, 0, 0}, {76, 5427, 1536, 16384, 0, 0, 0}, {60, 768, 68, 1280, 4352, 0, 0}, {128, 8224, 5397, 0, 0, 0, 0}, {5398, 4176, 0, 0, 0, 0, 0}, {16968, 21879, 0, 0, 0, 0, 0}, {4680, 4656, 1280, 0, 0, 0, 0}, {5401, 4883, 5461, 0, 0, 0, 0}, {1290, 112, 4112, 0, 0, 0, 0}, {4403, 1536, 68, 0, 0, 0, 0}, {76, 112, 768, 1280, 4096, 0, 0}, {136, 5911, 21845, 0, 0, 0, 0}, {4382, 4386, 768, 68, 5140, 0, 0}, {5439, 8192, 16448, 0, 0, 0, 0}, {13760, 2560, 21760, 0, 0, 0, 0}, {305, 514, 261, 4369, 0, 0, 0}, {8, 5474, 514, 16448, 0, 0, 0}, {1295, 1331, 1536, 20480, 0, 0, 0}, {8, 512, 68, 1024, 4352, 0, 0}, {240, 12336, 1285, 0, 0, 0, 0}, {1546, 21862, 0, 0, 0, 0, 0}, {1287, 4160, 0, 0, 0, 0, 0}, {8, 512, 5440, 0, 0, 0, 0}, {783, 819, 1285, 0, 0, 0, 0}, {21930, 2570, 24672, 0, 0, 0, 0}, {263, 68, 1024, 4096, 0, 0, 0}, {204, 1536, 21760, 0, 0, 0, 0}, {8, 112, 514, 1285, 4112, 0, 0}, {8, 4386, 514, 68, 1024, 0, 0}, {1295, 12336, 20480, 0, 0, 0, 0}, {4128, 4176, 5376, 0, 0, 0, 0}, {1582, 68, 4369, 0, 0, 0, 0}, {1370, 1314, 5888, 20480, 0, 0, 0}, {76, 5491, 4883, 16448, 0, 0, 0}, {780, 816, 68, 1300, 4352, 0, 0}, {2602, 8192, 5461, 0, 0, 0, 0}, {1302, 4160, 0, 0, 0, 0, 0}, {5983, 21879, 0, 0, 0, 0, 0}, {1320, 4608, 1360, 0, 0, 0, 0}, {76, 4915, 5397, 0, 0, 0, 0}, {1370, 112, 4096, 0, 0, 0, 0}, {4403, 5911, 68, 0, 0, 0, 0}, {1308, 1312, 1552, 1360, 4112, 0, 0}, {7509, 6007, 21845, 0, 0, 0, 0}, {4382, 4386, 4626, 68, 5120, 0, 0}, {5503, 8224, 16384, 0, 0, 0, 0}, {2592, 8224, 5440, 0, 0, 0, 0}, {783, 819, 68, 1297, 4369, 0, 0}, {5960, 21794, 0, 0, 0, 0, 0}, {1299, 4176, 0, 0, 0, 0, 0}, {1576, 68, 4352, 0, 0, 0, 0}, {4144, 4160, 5397, 0, 0, 0, 0}, {76, 5478, 4864, 16384, 0, 0, 0}, {1375, 1319, 5911, 20560, 0, 0, 0}, {7496, 5984, 21760, 0, 0, 0, 0}, {1305, 1317, 1558, 1365, 4096, 0, 0}, {5482, 8192, 16448, 0, 0, 0, 0}, {4367, 4403, 4608, 68, 5140, 0, 0}, {76, 4896, 5376, 0, 0, 0, 0}, {1325, 4626, 1365, 0, 0, 0, 0}, {4386, 5888, 68, 0, 0, 0, 0}, {1375, 112, 4112, 0, 0, 0, 0}, {240, 12288, 1280, 0, 0, 0, 0}, {8, 514, 68, 1028, 4369, 0, 0}, {1282, 4176, 0, 0, 0, 0, 0}, {1548, 21811, 0, 0, 0, 0, 0}, {304, 512, 260, 4352, 0, 0, 0}, {13813, 2570, 21845, 0, 0, 0, 0}, {1290, 1334, 1542, 20560, 0, 0, 0}, {8, 5495, 512, 16384, 0, 0, 0}, {8, 112, 512, 1280, 4096, 0, 0}, {204, 1542, 21845, 0, 0, 0, 0}, {1290, 12288, 20560, 0, 0, 0, 0}, {8, 4403, 512, 68, 1028, 0, 0}, {780, 816, 1280, 0, 0, 0, 0}, {8, 514, 5461, 0, 0, 0, 0}, {262, 68, 1028, 4112, 0, 0, 0}, {22015, 2560, 24576, 0, 0, 0, 0}, {2560, 13824, 20480, 0, 0, 0, 0}, {8, 55, 64, 257, 0, 0, 0}, {8, 5152, 514, 17408, 0, 0, 0}, {1295, 1328, 771, 21760, 0, 0, 0}, {8, 512, 64, 1028, 4096, 0, 0}, {255, 13056, 1285, 0, 0, 0, 0}, {20576, 1542, 0, 0, 0, 0, 0}, {1287, 4352, 0, 0, 0, 0, 0}, {8, 512, 5120, 0, 0, 0, 0}, {63, 771, 1285, 0, 0, 0, 0}, {13834, 0, 0, 0, 0, 0, 0}, {259, 4356, 0, 0, 0, 0, 0}, {1548, 12288, 20480, 0, 0, 0, 0}, {8, 4386, 514, 4437, 1285, 0, 0}, {8, 4128, 514, 64, 1028, 0, 0}, {1295, 13056, 21760, 0, 0, 0, 0}, {3072, 1568, 64, 4112, 0, 0, 0}, {3840, 1314, 1365, 4369, 0, 0, 0}, {72, 5168, 4626, 17408, 0, 0, 0}, {1375, 1312, 4883, 21760, 0, 0, 0}, {136, 8704, 5140, 0, 0, 0, 0}, {63, 768, 64, 1301, 4096, 0, 0}, {20592, 5654, 0, 0, 0, 0, 0}, {1303, 4352, 0, 0, 0, 0, 0}, {5144, 4656, 5200, 0, 0, 0, 0}, {5657, 4915, 1365, 0, 0, 0, 0}, {5658, 4144, 64, 0, 0, 0, 0}, {5147, 4403, 4420, 0, 0, 0, 0}, {5692, 8224, 20560, 0, 0, 0, 0}, {4381, 4386, 768, 4437, 5120, 0, 0}, {5180, 8738, 17476, 0, 0, 0, 0}, {4127, 4128, 768, 64, 5376, 0, 0}, {20512, 5632, 0, 0, 0, 0, 0}, {1298, 4369, 0, 0, 0, 0, 0}, {136, 8738, 5120, 0, 0, 0, 0}, {63, 771, 64, 1296, 4112, 0, 0}, {72, 5156, 4608, 17476, 0, 0, 0}, {1370, 1317, 4864, 21845, 0, 0, 0}, {3084, 1574, 64, 4096, 0, 0, 0}, {3855, 1319, 1360, 4352, 0, 0, 0}, {5160, 8704, 17408, 0, 0, 0, 0}, {4111, 4144, 771, 64, 5397, 0, 0}, {5674, 8192, 20480, 0, 0, 0, 0}, {4364, 4403, 771, 4420, 5140, 0, 0}, {5644, 4128, 64, 0, 0, 0, 0}, {5135, 4386, 4437, 0, 0, 0, 0}, {5132, 4642, 5188, 0, 0, 0, 0}, {5647, 4896, 1360, 0, 0, 0, 0}, {20528, 1536, 0, 0, 0, 0, 0}, {1282, 4369, 0, 0, 0, 0, 0}, {8, 514, 64, 1024, 4112, 0, 0}, {255, 13107, 1280, 0, 0, 0, 0}, {8, 5172, 512, 17476, 0, 0, 0}, {1290, 1333, 768, 21845, 0, 0, 0}, {2570, 13878, 20560, 0, 0, 0, 0}, {8, 55, 64, 256, 0, 0, 0}, {8, 4144, 512, 64, 1024, 0, 0}, {1290, 13107, 21845, 0, 0, 0, 0}, {1546, 12336, 20560, 0, 0, 0, 0}, {8, 4403, 512, 4420, 1280, 0, 0}, {13884, 0, 0, 0, 0, 0, 0}, {258, 4373, 0, 0, 0, 0, 0}, {8, 514, 5140, 0, 0, 0, 0}, {63, 768, 1280, 0, 0, 0, 0}, {1536, 64, 4096, 0, 0, 0, 0}, {119, 1285, 4369, 0, 0, 0, 0}, {72, 5216, 1602, 17408, 0, 0, 0}, {1295, 1392, 5699, 21760, 0, 0, 0}, {2560, 8704, 5188, 0, 0, 0, 0}, {783, 816, 64, 1285, 4112, 0, 0}, {20512, 17990, 0, 0, 0, 0, 0}, {1351, 4352, 0, 0, 0, 0, 0}, {72, 4608, 5120, 0, 0, 0, 0}, {127, 4883, 1285, 0, 0, 0, 0}, {1546, 4128, 64, 0, 0, 0, 0}, {1295, 4403, 4420, 0, 0, 0, 0}, {5708, 8192, 20480, 0, 0, 0, 0}, {4381, 4386, 4626, 4437, 1285, 0, 0}, {5228, 8738, 17476, 0, 0, 0, 0}, {4111, 4144, 4864, 64, 5376, 0, 0}, {2720, 13904, 20560, 0, 0, 0, 0}, {8, 772, 1028, 273, 0, 0, 0}, {8, 5232, 5714, 17408, 0, 0, 0}, {1375, 1376, 1619, 21760, 0, 0, 0}, {8, 544, 64, 1028, 4112, 0, 0}, {3840, 13056, 1365, 0, 0, 0, 0}, {20528, 22102, 0, 0, 0, 0, 0}, {1367, 4352, 0, 0, 0, 0, 0}, {8, 544, 5200, 0, 0, 0, 0}, {780, 819, 1365, 0, 0, 0, 0}, {13914, 0, 0, 0, 0, 0, 0}, {275, 4356, 0, 0, 0, 0, 0}, {1644, 12336, 20560, 0, 0, 0, 0}, {8, 4386, 4864, 4437, 5120, 0, 0}, {8, 4144, 4626, 64, 1028, 0, 0}, {1375, 13056, 21760, 0, 0, 0, 0}, {20576, 22016, 0, 0, 0, 0, 0}, {1362, 4369, 0, 0, 0, 0, 0}, {8, 546, 64, 1024, 4096, 0, 0}, {3855, 13107, 1360, 0, 0, 0, 0}, {8, 5220, 5700, 17476, 0, 0, 0}, {1370, 1381, 1621, 21845, 0, 0, 0}, {2730, 13926, 20480, 0, 0, 0, 0}, {8, 775, 1024, 272, 0, 0, 0}, {8, 4128, 4608, 64, 1024, 0, 0}, {1370, 13107, 21845, 0, 0, 0, 0}, {1642, 12288, 20480, 0, 0, 0, 0}, {8, 4403, 4883, 4420, 5140, 0, 0}, {13932, 0, 0, 0, 0, 0, 0}, {274, 4373, 0, 0, 0, 0, 0}, {8, 546, 5188, 0, 0, 0, 0}, {783, 816, 1360, 0, 0, 0, 0}, {20592, 17920, 0, 0, 0, 0, 0}, {1346, 4369, 0, 0, 0, 0, 0}, {2570, 8738, 5200, 0, 0, 0, 0}, {780, 819, 64, 1280, 4096, 0, 0}, {72, 5236, 1604, 17476, 0, 0, 0}, {1290, 1397, 5717, 21845, 0, 0, 0}, {1542, 64, 4112, 0, 0, 0, 0}, {119, 1280, 4352, 0, 0, 0, 0}, {5240, 8704, 17408, 0, 0, 0, 0}, {4127, 4128, 4883, 64, 5397, 0, 0}, {5722, 8224, 20560, 0, 0, 0, 0}, {4364, 4403, 4608, 4420, 1280, 0, 0}, {1548, 4144, 64, 0, 0, 0, 0}, {1290, 4386, 4437, 0, 0, 0, 0}, {72, 4626, 5140, 0, 0, 0, 0}, {127, 4864, 1280, 0, 0, 0, 0}, {128, 5632, 20480, 0, 0, 0, 0}, {72, 119, 771, 1285, 4369, 0, 0}, {5160, 8738, 17408, 0, 0, 0, 0}, {4111, 4144, 771, 64, 5376, 0, 0}, {5132, 4608, 5188, 0, 0, 0, 0}, {4959, 4896, 1285, 0, 0, 0, 0}, {4128, 1542, 64, 0, 0, 0, 0}, {1295, 119, 4352, 0, 0, 0, 0}, {136, 8704, 5120, 0, 0, 0, 0}, {63, 771, 64, 1285, 4112, 0, 0}, {17930, 20512, 0, 0, 0, 0, 0}, {5123, 4420, 0, 0, 0, 0, 0}, {1548, 64, 4096, 0, 0, 0, 0}, {4386, 4437, 1285, 0, 0, 0, 0}, {72, 5156, 1542, 17476, 0, 0, 0}, {1295, 1392, 4864, 21760, 0, 0, 0}, {3072, 1632, 20560, 0, 0, 0, 0}, {8, 1314, 1792, 1365, 4369, 0, 0}, {8, 4144, 4626, 64, 1024, 0, 0}, {1375, 13107, 21760, 0, 0, 0, 0}, {8, 544, 5140, 0, 0, 0, 0}, {63, 768, 1365, 0, 0, 0, 0}, {20720, 23130, 26214, 0, 0, 0, 0}, {279, 64, 1024, 4352, 0, 0, 0}, {8, 544, 64, 1024, 4112, 0, 0}, {3840, 13107, 1365, 0, 0, 0, 0}, {22106, 20528, 0, 0, 0, 0, 0}, {5139, 4420, 0, 0, 0, 0, 0}, {13980, 15420, 20560, 0, 0, 0, 0}, {290, 768, 277, 4096, 0, 0, 0}, {8, 5172, 5654, 17476, 0, 0, 0}, {1375, 1376, 768, 21760, 0, 0, 0}, {20640, 23040, 26112, 0, 0, 0, 0}, {278, 64, 1028, 4369, 0, 0, 0}, {8, 546, 5120, 0, 0, 0, 0}, {63, 771, 1360, 0, 0, 0, 0}, {8, 4128, 4608, 64, 1028, 0, 0}, {1370, 13056, 21845, 0, 0, 0, 0}, {3084, 1638, 20480, 0, 0, 0, 0}, {8, 1319, 1799, 1360, 4352, 0, 0}, {8, 5152, 5632, 17408, 0, 0, 0}, {1370, 1381, 771, 21845, 0, 0, 0}, {13994, 15360, 20480, 0, 0, 0, 0}, {291, 771, 276, 4112, 0, 0, 0}, {22028, 20576, 0, 0, 0, 0, 0}, {5127, 4437, 0, 0, 0, 0, 0}, {8, 546, 64, 1028, 4096, 0, 0}, {3855, 13056, 1360, 0, 0, 0, 0}, {4144, 1536, 64, 0, 0, 0, 0}, {1290, 119, 4369, 0, 0, 0, 0}, {5144, 4626, 5200, 0, 0, 0, 0}, {4940, 4915, 1280, 0, 0, 0, 0}, {5180, 8704, 17476, 0, 0, 0, 0}, {4127, 4128, 768, 64, 5397, 0, 0}, {128, 5654, 20560, 0, 0, 0, 0}, {72, 119, 768, 1280, 4352, 0, 0}, {72, 5168, 1536, 17408, 0, 0, 0}, {1290, 1397, 4883, 21845, 0, 0, 0}, {1546, 64, 4112, 0, 0, 0, 0}, {4403, 4420, 1280, 0, 0, 0, 0}, {17996, 20592, 0, 0, 0, 0, 0}, {5143, 4437, 0, 0, 0, 0, 0}, {136, 8738, 5140, 0, 0, 0, 0}, {63, 768, 64, 1280, 4096, 0, 0}, {192, 1536, 20480, 0, 0, 0, 0}, {8, 119, 514, 1285, 4369, 0, 0}, {8, 4128, 514, 64, 1024, 0, 0}, {1295, 13107, 21760, 0, 0, 0, 0}, {8, 512, 5188, 0, 0, 0, 0}, {783, 816, 1285, 0, 0, 0, 0}, {20640, 2570, 26214, 0, 0, 0, 0}, {263, 64, 1024, 4352, 0, 0, 0}, {8, 512, 64, 1024, 4096, 0, 0}, {255, 13107, 1285, 0, 0, 0, 0}, {1546, 20576, 0, 0, 0, 0, 0}, {1287, 4420, 0, 0, 0, 0, 0}, {14028, 2560, 20480, 0, 0, 0, 0}, {306, 514, 261, 4112, 0, 0, 0}, {8, 5220, 514, 17476, 0, 0, 0}, {1295, 1328, 1536, 21760, 0, 0, 0}, {7248, 5744, 20560, 0, 0, 0, 0}, {1309, 1314, 1553, 1365, 4369, 0, 0}, {5240, 8738, 17408, 0, 0, 0, 0}, {4127, 4128, 4883, 64, 5376, 0, 0}, {72, 4656, 5140, 0, 0, 0, 0}, {1322, 4864, 1365, 0, 0, 0, 0}, {4144, 5654, 64, 0, 0, 0, 0}, {1375, 119, 4352, 0, 0, 0, 0}, {2600, 8704, 5200, 0, 0, 0, 0}, {780, 819, 64, 1301, 4096, 0, 0}, {5722, 20592, 0, 0, 0, 0, 0}, {1303, 4420, 0, 0, 0, 0, 0}, {1580, 64, 4112, 0, 0, 0, 0}, {4386, 4437, 5120, 0, 0, 0, 0}, {72, 5236, 4626, 17476, 0, 0, 0}, {1375, 1312, 5632, 21760, 0, 0, 0}, {4128, 5632, 64, 0, 0, 0, 0}, {1370, 119, 4369, 0, 0, 0, 0}, {72, 4642, 5120, 0, 0, 0, 0}, {1327, 4883, 1360, 0, 0, 0, 0}, {5228, 8704, 17476, 0, 0, 0, 0}, {4111, 4144, 4864, 64, 5397, 0, 0}, {7244, 5734, 20480, 0, 0, 0, 0}, {1304, 1319, 1559, 1360, 4352, 0, 0}, {72, 5216, 4608, 17408, 0, 0, 0}, {1370, 1317, 5654, 21845, 0, 0, 0}, {1578, 64, 4096, 0, 0, 0, 0}, {4403, 4420, 5140, 0, 0, 0, 0}, {5708, 20512, 0, 0, 0, 0, 0}, {1298, 4437, 0, 0, 0, 0, 0}, {2594, 8738, 5188, 0, 0, 0, 0}, {783, 816, 64, 1296, 4112, 0, 0}, {20720, 2560, 26112, 0, 0, 0, 0}, {262, 64, 1028, 4369, 0, 0, 0}, {8, 514, 5200, 0, 0, 0, 0}, {780, 819, 1280, 0, 0, 0, 0}, {8, 4144, 512, 64, 1028, 0, 0}, {1290, 13056, 21845, 0, 0, 0, 0}, {192, 1542, 20560, 0, 0, 0, 0}, {8, 119, 512, 1280, 4352, 0, 0}, {8, 5232, 512, 17408, 0, 0, 0}, {1290, 1333, 1542, 21845, 0, 0, 0}, {14074, 2570, 20560, 0, 0, 0, 0}, {307, 512, 260, 4096, 0, 0, 0}, {1548, 20528, 0, 0, 0, 0, 0}, {1282, 4437, 0, 0, 0, 0, 0}, {8, 514, 64, 1028, 4112, 0, 0}, {255, 13056, 1280, 0, 0, 0, 0}, {2048, 14080, 16384, 0, 0, 0, 0}, {10, 54, 80, 257, 0, 0, 0}, {10, 5408, 514, 21760, 0, 0, 0}, {1036, 1072, 771, 17408, 0, 0, 0}, {204, 13056, 1028, 0, 0, 0, 0}, {10, 512, 80, 1285, 4096, 0, 0}, {1030, 4352, 0, 0, 0, 0, 0}, {16496, 1799, 0, 0, 0, 0, 0}, {14088, 0, 0, 0, 0, 0, 0}, {259, 4357, 0, 0, 0, 0, 0}, {10, 512, 5376, 0, 0, 0, 0}, {60, 771, 1028, 0, 0, 0, 0}, {1036, 13056, 17408, 0, 0, 0, 0}, {10, 4128, 514, 80, 1285, 0, 0}, {10, 4386, 514, 4420, 1028, 0, 0}, {1807, 12288, 16384, 0, 0, 0, 0}, {3840, 1824, 80, 4112, 0, 0, 0}, {3072, 1058, 1092, 4369, 0, 0, 0}, {90, 5424, 4626, 21760, 0, 0, 0}, {1100, 1056, 4883, 17408, 0, 0, 0}, {60, 768, 80, 1044, 4096, 0, 0}, {170, 8704, 5397, 0, 0, 0, 0}, {1046, 4352, 0, 0, 0, 0, 0}, {16480, 5911, 0, 0, 0, 0, 0}, {5912, 4144, 80, 0, 0, 0, 0}, {5401, 4403, 4437, 0, 0, 0, 0}, {5402, 4656, 5440, 0, 0, 0, 0}, {5915, 4915, 1092, 0, 0, 0, 0}, {4124, 4128, 768, 80, 5120, 0, 0}, {5439, 8738, 21845, 0, 0, 0, 0}, {4382, 4386, 768, 4420, 5376, 0, 0}, {5951, 8224, 16448, 0, 0, 0, 0}, {16416, 5888, 0, 0, 0, 0, 0}, {1042, 4369, 0, 0, 0, 0, 0}, {170, 8738, 5376, 0, 0, 0, 0}, {60, 771, 80, 1040, 4112, 0, 0}, {1096, 1060, 4864, 17476, 0, 0, 0}, {90, 5413, 4608, 21845, 0, 0, 0}, {3084, 1062, 1088, 4352, 0, 0, 0}, {3855, 1831, 80, 4096, 0, 0, 0}, {5928, 8192, 16384, 0, 0, 0, 0}, {4367, 4403, 771, 4437, 5397, 0, 0}, {5418, 8704, 21760, 0, 0, 0, 0}, {4108, 4144, 771, 80, 5140, 0, 0}, {5900, 4896, 1088, 0, 0, 0, 0}, {5391, 4642, 5461, 0, 0, 0, 0}, {5388, 4386, 4420, 0, 0, 0, 0}, {5903, 4128, 80, 0, 0, 0, 0}, {16432, 1792, 0, 0, 0, 0, 0}, {1026, 4369, 0, 0, 0, 0, 0}, {10, 514, 80, 1280, 4112, 0, 0}, {204, 13107, 1024, 0, 0, 0, 0}, {1032, 1076, 768, 17476, 0, 0, 0}, {10, 5429, 512, 21845, 0, 0, 0}, {10, 54, 80, 256, 0, 0, 0}, {2056, 14135, 16448, 0, 0, 0, 0}, {1800, 12336, 16448, 0, 0, 0, 0}, {10, 4403, 512, 4437, 1024, 0, 0}, {10, 4144, 512, 80, 1280, 0, 0}, {1032, 13107, 17476, 0, 0, 0, 0}, {60, 768, 1024, 0, 0, 0, 0}, {10, 514, 5397, 0, 0, 0, 0}, {258, 4372, 0, 0, 0, 0, 0}, {14143, 0, 0, 0, 0, 0, 0}, {2176, 14144, 16448, 0, 0, 0, 0}, {10, 773, 1285, 273, 0, 0, 0}, {10, 5472, 5954, 21760, 0, 0, 0}, {1100, 1136, 1859, 17408, 0, 0, 0}, {3072, 13056, 1092, 0, 0, 0, 0}, {10, 544, 80, 1285, 4112, 0, 0}, {1094, 4352, 0, 0, 0, 0, 0}, {16432, 18247, 0, 0, 0, 0, 0}, {14152, 0, 0, 0, 0, 0, 0}, {275, 4357, 0, 0, 0, 0, 0}, {10, 544, 5440, 0, 0, 0, 0}, {783, 819, 1092, 0, 0, 0, 0}, {1100, 13056, 17408, 0, 0, 0, 0}, {10, 4144, 4626, 80, 1285, 0, 0}, {10, 4386, 4864, 4420, 5376, 0, 0}, {1919, 12336, 16448, 0, 0, 0, 0}, {1792, 80, 4096, 0, 0, 0, 0}, {102, 1028, 4369, 0, 0, 0, 0}, {90, 5488, 1874, 21760, 0, 0, 0}, {1036, 1120, 5971, 17408, 0, 0, 0}, {780, 816, 80, 1028, 4112, 0, 0}, {2048, 8704, 5461, 0, 0, 0, 0}, {1110, 4352, 0, 0, 0, 0, 0}, {16416, 22359, 0, 0, 0, 0, 0}, {1800, 4128, 80, 0, 0, 0, 0}, {1036, 4403, 4437, 0, 0, 0, 0}, {90, 4608, 5376, 0, 0, 0, 0}, {108, 4883, 1028, 0, 0, 0, 0}, {4108, 4144, 4864, 80, 5120, 0, 0}, {5503, 8738, 21845, 0, 0, 0, 0}, {4382, 4386, 4626, 4420, 1028, 0, 0}, {5983, 8192, 16384, 0, 0, 0, 0}, {16480, 22272, 0, 0, 0, 0, 0}, {1106, 4369, 0, 0, 0, 0, 0}, {2056, 8738, 5440, 0, 0, 0, 0}, {783, 819, 80, 1024, 4096, 0, 0}, {1032, 1124, 5956, 17476, 0, 0, 0}, {90, 5477, 1877, 21845, 0, 0, 0}, {102, 1024, 4352, 0, 0, 0, 0}, {1799, 80, 4112, 0, 0, 0, 0}, {5960, 8224, 16448, 0, 0, 0, 0}, {4367, 4403, 4608, 4437, 1024, 0, 0}, {5482, 8704, 21760, 0, 0, 0, 0}, {4124, 4128, 4883, 80, 5140, 0, 0}, {108, 4864, 1024, 0, 0, 0, 0}, {90, 4626, 5397, 0, 0, 0, 0}, {1032, 4386, 4420, 0, 0, 0, 0}, {1807, 4144, 80, 0, 0, 0, 0}, {16496, 18176, 0, 0, 0, 0, 0}, {1090, 4369, 0, 0, 0, 0, 0}, {10, 546, 80, 1280, 4096, 0, 0}, {3084, 13107, 1088, 0, 0, 0, 0}, {1096, 1140, 1860, 17476, 0, 0, 0}, {10, 5493, 5973, 21845, 0, 0, 0}, {10, 774, 1280, 272, 0, 0, 0}, {2184, 14199, 16384, 0, 0, 0, 0}, {1912, 12288, 16384, 0, 0, 0, 0}, {10, 4403, 4883, 4437, 5397, 0, 0}, {10, 4128, 4608, 80, 1280, 0, 0}, {1096, 13107, 17476, 0, 0, 0, 0}, {780, 816, 1088, 0, 0, 0, 0}, {10, 546, 5461, 0, 0, 0, 0}, {274, 4372, 0, 0, 0, 0, 0}, {14207, 0, 0, 0, 0, 0, 0}, {16512, 18432, 30464, 0, 0, 0, 0}, {279, 80, 1285, 4369, 0, 0, 0}, {10, 546, 5376, 0, 0, 0, 0}, {60, 771, 1088, 0, 0, 0, 0}, {1096, 13056, 17476, 0, 0, 0, 0}, {10, 4128, 4608, 80, 1285, 0, 0}, {10, 1062, 1542, 1088, 4352, 0, 0}, {3855, 1911, 16384, 0, 0, 0, 0}, {14216, 16128, 16384, 0, 0, 0, 0}, {291, 771, 277, 4112, 0, 0, 0}, {10, 5408, 5888, 21760, 0, 0, 0}, {1096, 1140, 771, 17476, 0, 0, 0}, {3084, 13056, 1088, 0, 0, 0, 0}, {10, 546, 80, 1285, 4096, 0, 0}, {5382, 4420, 0, 0, 0, 0, 0}, {18191, 16496, 0, 0, 0, 0, 0}, {4144, 1792, 80, 0, 0, 0, 0}, {1032, 102, 4369, 0, 0, 0, 0}, {5402, 4626, 5440, 0, 0, 0, 0}, {4959, 4915, 1024, 0, 0, 0, 0}, {4124, 4128, 768, 80, 5140, 0, 0}, {5439, 8704, 21845, 0, 0, 0, 0}, {90, 102, 768, 1024, 4352, 0, 0}, {160, 5911, 16448, 0, 0, 0, 0}, {1800, 80, 4112, 0, 0, 0, 0}, {4403, 4437, 1024, 0, 0, 0, 0}, {90, 5424, 1792, 21760, 0, 0, 0}, {1032, 1124, 4883, 17476, 0, 0, 0}, {60, 768, 80, 1024, 4096, 0, 0}, {170, 8738, 5397, 0, 0, 0, 0}, {5398, 4420, 0, 0, 0, 0, 0}, {22367, 16480, 0, 0, 0, 0, 0}, {160, 5888, 16384, 0, 0, 0, 0}, {90, 102, 771, 1028, 4369, 0, 0}, {5418, 8738, 21760, 0, 0, 0, 0}, {4108, 4144, 771, 80, 5120, 0, 0}, {4940, 4896, 1028, 0, 0, 0, 0}, {5391, 4608, 5461, 0, 0, 0, 0}, {1036, 102, 4352, 0, 0, 0, 0}, {4128, 1799, 80, 0, 0, 0, 0}, {22280, 16416, 0, 0, 0, 0, 0}, {5379, 4437, 0, 0, 0, 0, 0}, {170, 8704, 5376, 0, 0, 0, 0}, {60, 771, 80, 1028, 4112, 0, 0}, {1036, 1120, 4864, 17408, 0, 0, 0}, {90, 5413, 1799, 21845, 0, 0, 0}, {4386, 4420, 1028, 0, 0, 0, 0}, {1807, 80, 4096, 0, 0, 0, 0}, {3840, 1904, 16448, 0, 0, 0, 0}, {10, 1058, 1536, 1092, 4369, 0, 0}, {10, 4144, 4626, 80, 1280, 0, 0}, {1100, 13107, 17408, 0, 0, 0, 0}, {60, 768, 1092, 0, 0, 0, 0}, {10, 544, 5397, 0, 0, 0, 0}, {278, 80, 1280, 4352, 0, 0, 0}, {16576, 18504, 30583, 0, 0, 0, 0}, {18248, 16432, 0, 0, 0, 0, 0}, {5395, 4437, 0, 0, 0, 0, 0}, {10, 544, 80, 1280, 4112, 0, 0}, {3072, 13107, 1092, 0, 0, 0, 0}, {1100, 1136, 768, 17408, 0, 0, 0}, {10, 5429, 5911, 21845, 0, 0, 0}, {290, 768, 276, 4096, 0, 0, 0}, {14271, 16191, 16448, 0, 0, 0, 0}, {16576, 2048, 30464, 0, 0, 0, 0}, {263, 80, 1285, 4369, 0, 0, 0}, {10, 514, 5440, 0, 0, 0, 0}, {783, 819, 1024, 0, 0, 0, 0}, {1032, 13056, 17476, 0, 0, 0, 0}, {10, 4144, 512, 80, 1285, 0, 0}, {10, 102, 512, 1024, 4352, 0, 0}, {240, 1799, 16448, 0, 0, 0, 0}, {14280, 2056, 16448, 0, 0, 0, 0}, {307, 512, 261, 4096, 0, 0, 0}, {10, 5472, 512, 21760, 0, 0, 0}, {1032, 1076, 1799, 17476, 0, 0, 0}, {204, 13056, 1024, 0, 0, 0, 0}, {10, 514, 80, 1285, 4112, 0, 0}, {1026, 4420, 0, 0, 0, 0, 0}, {1807, 16432, 0, 0, 0, 0, 0}, {4128, 5888, 80, 0, 0, 0, 0}, {1096, 102, 4369, 0, 0, 0, 0}, {90, 4642, 5376, 0, 0, 0, 0}, {1068, 4883, 1088, 0, 0, 0, 0}, {4108, 4144, 4864, 80, 5140, 0, 0}, {5503, 8704, 21845, 0, 0, 0, 0}, {1050, 1062, 1814, 1088, 4352, 0, 0}, {8031, 6007, 16384, 0, 0, 0, 0}, {1832, 80, 4096, 0, 0, 0, 0}, {4403, 4437, 5397, 0, 0, 0, 0}, {90, 5488, 4608, 21760, 0, 0, 0}, {1096, 1060, 5911, 17476, 0, 0, 0}, {780, 816, 80, 1040, 4112, 0, 0}, {2082, 8738, 5461, 0, 0, 0, 0}, {1042, 4420, 0, 0, 0, 0, 0}, {5983, 16416, 0, 0, 0, 0, 0}, {8000, 5984, 16448, 0, 0, 0, 0}, {1054, 1058, 1809, 1092, 4369, 0, 0}, {5482, 8738, 21760, 0, 0, 0, 0}, {4124, 4128, 4883, 80, 5120, 0, 0}, {1064, 4864, 1092, 0, 0, 0, 0}, {90, 4656, 5397, 0, 0, 0, 0}, {1100, 102, 4352, 0, 0, 0, 0}, {4144, 5911, 80, 0, 0, 0, 0}, {5960, 16480, 0, 0, 0, 0, 0}, {1046, 4437, 0, 0, 0, 0, 0}, {2090, 8704, 5440, 0, 0, 0, 0}, {783, 819, 80, 1044, 4096, 0, 0}, {1100, 1056, 5888, 17408, 0, 0, 0}, {90, 5477, 4626, 21845, 0, 0, 0}, {4386, 4420, 5376, 0, 0, 0, 0}, {1839, 80, 4112, 0, 0, 0, 0}, {240, 1792, 16384, 0, 0, 0, 0}, {10, 102, 514, 1028, 4369, 0, 0}, {10, 4128, 514, 80, 1280, 0, 0}, {1036, 13107, 17408, 0, 0, 0, 0}, {780, 816, 1028, 0, 0, 0, 0}, {10, 512, 5461, 0, 0, 0, 0}, {262, 80, 1280, 4352, 0, 0, 0}, {16512, 2056, 30583, 0, 0, 0, 0}, {1800, 16496, 0, 0, 0, 0, 0}, {1030, 4437, 0, 0, 0, 0, 0}, {10, 512, 80, 1280, 4096, 0, 0}, {204, 13107, 1028, 0, 0, 0, 0}, {1036, 1072, 1792, 17408, 0, 0, 0}, {10, 5493, 514, 21845, 0, 0, 0}, {306, 514, 260, 4112, 0, 0, 0}, {14335, 2048, 16384, 0, 0, 0, 0}, {2048, 12288, 16384, 0, 0, 0, 0}, {10, 51, 85, 257, 0, 0, 0}, {10, 4128, 514, 20480, 0, 0, 0}, {1036, 51, 771, 17408, 0, 0, 0}, {12300, 1028, 0, 0, 0, 0, 0}, {512, 4101, 0, 0, 0, 0, 0}, {4102, 5120, 0, 0, 0, 0, 0}, {16511, 1799, 0, 0, 0, 0, 0}, {16512, 2056, 12288, 0, 0, 0, 0}, {259, 85, 1285, 4352, 0, 0, 0}, {10, 512, 4096, 0, 0, 0, 0}, {51, 771, 1028, 0, 0, 0, 0}, {1036, 13312, 17408, 0, 0, 0, 0}, {10, 4133, 514, 85, 1285, 0, 0}, {10, 4134, 514, 4160, 1028, 0, 0}, {1807, 14080, 16384, 0, 0, 0, 0}, {160, 2080, 4112, 0, 0, 0, 0}, {51, 768, 85, 1041, 4369, 0, 0}, {16490, 4626, 0, 0, 0, 0, 0}, {4115, 5120, 0, 0, 0, 0, 0}, {4156, 8192, 4176, 5140, 0, 0, 0}, {4671, 8704, 85, 5397, 0, 0, 0}, {1100, 102, 5654, 17408, 0, 0, 0}, {95, 4192, 5911, 20480, 0, 0, 0}, {6168, 4144, 20560, 0, 0, 0, 0}, {1049, 51, 768, 85, 4352, 0, 0}, {6682, 4656, 16448, 0, 0, 0, 0}, {1051, 51, 768, 1092, 4096, 0, 0}, {4124, 1056, 5200, 0, 0, 0, 0}, {4637, 1826, 85, 0, 0, 0, 0}, {4638, 1058, 1092, 0, 0, 0, 0}, {4127, 1824, 4160, 0, 0, 0, 0}, {6144, 4128, 20480, 0, 0, 0, 0}, {1053, 51, 771, 85, 4369, 0, 0}, {6656, 4642, 16384, 0, 0, 0, 0}, {1055, 51, 771, 1088, 4112, 0, 0}, {4108, 1060, 5188, 0, 0, 0, 0}, {4623, 1829, 85, 0, 0, 0, 0}, {4620, 1062, 1088, 0, 0, 0, 0}, {4111, 1831, 4176, 0, 0, 0, 0}, {160, 2088, 4096, 0, 0, 0, 0}, {51, 771, 85, 1045, 4352, 0, 0}, {16426, 4608, 0, 0, 0, 0, 0}, {4099, 5140, 0, 0, 0, 0, 0}, {4140, 8224, 4160, 5120, 0, 0, 0}, {4653, 8738, 85, 5376, 0, 0, 0}, {1096, 102, 5632, 17476, 0, 0, 0}, {95, 4208, 5888, 20560, 0, 0, 0}, {16576, 2048, 12336, 0, 0, 0, 0}, {258, 85, 1280, 4369, 0, 0, 0}, {10, 514, 4112, 0, 0, 0, 0}, {51, 768, 1024, 0, 0, 0, 0}, {1032, 13364, 17476, 0, 0, 0, 0}, {10, 4149, 512, 85, 1280, 0, 0}, {10, 4150, 512, 4176, 1024, 0, 0}, {1800, 14135, 16448, 0, 0, 0, 0}, {2056, 12336, 16448, 0, 0, 0, 0}, {10, 51, 85, 256, 0, 0, 0}, {10, 4144, 512, 20560, 0, 0, 0}, {1032, 51, 768, 17476, 0, 0, 0}, {12348, 1024, 0, 0, 0, 0, 0}, {514, 4117, 0, 0, 0, 0, 0}, {4118, 5140, 0, 0, 0, 0, 0}, {16447, 1792, 0, 0, 0, 0, 0}, {12480, 14400, 16448, 0, 0, 0, 0}, {51, 529, 276, 4369, 0, 0, 0}, {10, 4192, 4674, 20480, 0, 0, 0}, {1100, 51, 1859, 17408, 0, 0, 0}, {3072, 12288, 1092, 0, 0, 0, 0}, {10, 544, 85, 1285, 4112, 0, 0}, {4166, 5120, 0, 0, 0, 0, 0}, {16447, 18247, 0, 0, 0, 0, 0}, {16576, 18504, 28672, 0, 0, 0, 0}, {278, 85, 1285, 4352, 0, 0, 0}, {10, 544, 4160, 0, 0, 0, 0}, {783, 51, 1092, 0, 0, 0, 0}, {1100, 12288, 17408, 0, 0, 0, 0}, {10, 4144, 4626, 85, 1285, 0, 0}, {10, 1058, 1536, 1092, 4096, 0, 0}, {3855, 1904, 16448, 0, 0, 0, 0}, {2048, 8192, 4176, 0, 0, 0, 0}, {780, 51, 85, 1028, 4369, 0, 0}, {16426, 21074, 0, 0, 0, 0, 0}, {4179, 5120, 0, 0, 0, 0, 0}, {108, 1028, 4112, 0, 0, 0, 0}, {4608, 85, 5376, 0, 0, 0, 0}, {1036, 102, 4694, 17408, 0, 0, 0}, {95, 4128, 1879, 20480, 0, 0, 0}, {2056, 4208, 20560, 0, 0, 0, 0}, {1036, 51, 1792, 85, 4352, 0, 0}, {4698, 8704, 16384, 0, 0, 0, 0}, {4127, 51, 4883, 4160, 1028, 0, 0}, {1036, 4144, 5200, 0, 0, 0, 0}, {1800, 4642, 85, 0, 0, 0, 0}, {102, 4626, 1028, 0, 0, 0, 0}, {95, 1792, 4096, 0, 0, 0, 0}, {2048, 4192, 20480, 0, 0, 0, 0}, {1032, 51, 1799, 85, 4369, 0, 0}, {4680, 8738, 16448, 0, 0, 0, 0}, {4111, 51, 4864, 4176, 1024, 0, 0}, {1032, 4128, 5188, 0, 0, 0, 0}, {1807, 4656, 85, 0, 0, 0, 0}, {102, 4608, 1024, 0, 0, 0, 0}, {95, 1799, 4112, 0, 0, 0, 0}, {2056, 8224, 4160, 0, 0, 0, 0}, {783, 51, 85, 1024, 4352, 0, 0}, {16490, 20992, 0, 0, 0, 0, 0}, {4163, 5140, 0, 0, 0, 0, 0}, {108, 1024, 4096, 0, 0, 0, 0}, {4626, 85, 5397, 0, 0, 0, 0}, {1032, 102, 4676, 17476, 0, 0, 0}, {95, 4144, 1872, 20560, 0, 0, 0}, {16512, 18432, 28784, 0, 0, 0, 0}, {279, 85, 1280, 4369, 0, 0, 0}, {10, 546, 4176, 0, 0, 0, 0}, {780, 51, 1088, 0, 0, 0, 0}, {1096, 12336, 17476, 0, 0, 0, 0}, {10, 4128, 4608, 85, 1280, 0, 0}, {10, 1062, 1542, 1088, 4112, 0, 0}, {3840, 1911, 16384, 0, 0, 0, 0}, {12528, 14456, 16384, 0, 0, 0, 0}, {51, 531, 277, 4352, 0, 0, 0}, {10, 4208, 4688, 20560, 0, 0, 0}, {1096, 51, 1860, 17476, 0, 0, 0}, {3084, 12336, 1088, 0, 0, 0, 0}, {10, 546, 85, 1280, 4096, 0, 0}, {4182, 5140, 0, 0, 0, 0, 0}, {16511, 18176, 0, 0, 0, 0, 0}, {16512, 18432, 12288, 0, 0, 0, 0}, {274, 85, 1285, 4369, 0, 0, 0}, {10, 546, 4096, 0, 0, 0, 0}, {51, 771, 1088, 0, 0, 0, 0}, {1096, 13380, 17476, 0, 0, 0, 0}, {10, 4133, 4613, 85, 1285, 0, 0}, {10, 4134, 4614, 4160, 5120, 0, 0}, {1912, 14199, 16384, 0, 0, 0, 0}, {2184, 12288, 16384, 0, 0, 0, 0}, {10, 771, 1285, 272, 0, 0, 0}, {10, 4128, 4608, 20480, 0, 0, 0}, {1096, 51, 771, 17476, 0, 0, 0}, {12300, 1088, 0, 0, 0, 0, 0}, {546, 4101, 0, 0, 0, 0, 0}, {4102, 5188, 0, 0, 0, 0, 0}, {18191, 1904, 0, 0, 0, 0, 0}, {2048, 4144, 20560, 0, 0, 0, 0}, {1032, 51, 768, 85, 4369, 0, 0}, {170, 4626, 16448, 0, 0, 0, 0}, {95, 51, 768, 1024, 4096, 0, 0}, {4124, 4208, 5140, 0, 0, 0, 0}, {5439, 1792, 85, 0, 0, 0, 0}, {4698, 102, 1024, 0, 0, 0, 0}, {4127, 5911, 4160, 0, 0, 0, 0}, {160, 2056, 4112, 0, 0, 0, 0}, {51, 768, 85, 1024, 4352, 0, 0}, {21082, 4656, 0, 0, 0, 0, 0}, {4115, 5188, 0, 0, 0, 0, 0}, {4156, 8192, 4176, 1024, 0, 0, 0}, {4637, 8738, 85, 5397, 0, 0, 0}, {1032, 102, 5654, 17476, 0, 0, 0}, {95, 4192, 1792, 20480, 0, 0, 0}, {160, 2048, 4096, 0, 0, 0, 0}, {51, 771, 85, 1028, 4369, 0, 0}, {21000, 4642, 0, 0, 0, 0, 0}, {4099, 5200, 0, 0, 0, 0, 0}, {4140, 8224, 4160, 1028, 0, 0, 0}, {4623, 8704, 85, 5376, 0, 0, 0}, {1036, 102, 5632, 17408, 0, 0, 0}, {95, 4208, 1799, 20560, 0, 0, 0}, {2056, 4128, 20480, 0, 0, 0, 0}, {1036, 51, 771, 85, 4352, 0, 0}, {170, 4608, 16384, 0, 0, 0, 0}, {95, 51, 771, 1028, 4112, 0, 0}, {4108, 4192, 5120, 0, 0, 0, 0}, {5418, 1799, 85, 0, 0, 0, 0}, {4680, 102, 1028, 0, 0, 0, 0}, {4111, 5888, 4176, 0, 0, 0, 0}, {2176, 12336, 16448, 0, 0, 0, 0}, {10, 768, 1280, 273, 0, 0, 0}, {10, 4144, 4626, 20560, 0, 0, 0}, {1100, 51, 768, 17408, 0, 0, 0}, {12348, 1092, 0, 0, 0, 0, 0}, {544, 4117, 0, 0, 0, 0, 0}, {4118, 5200, 0, 0, 0, 0, 0}, {18248, 1911, 0, 0, 0, 0, 0}, {16576, 18504, 12336, 0, 0, 0, 0}, {275, 85, 1280, 4352, 0, 0, 0}, {10, 544, 4112, 0, 0, 0, 0}, {51, 768, 1092, 0, 0, 0, 0}, {1100, 13424, 17408, 0, 0, 0, 0}, {10, 4149, 4631, 85, 1280, 0, 0}, {10, 4150, 4628, 4176, 5140, 0, 0}, {1919, 14144, 16448, 0, 0, 0, 0}, {16576, 2048, 28672, 0, 0, 0, 0}, {263, 85, 1285, 4369, 0, 0, 0}, {10, 514, 4160, 0, 0, 0, 0}, {783, 51, 1024, 0, 0, 0, 0}, {1032, 12288, 17476, 0, 0, 0, 0}, {10, 4144, 512, 85, 1285, 0, 0}, {10, 102, 512, 1024, 4096, 0, 0}, {255, 1799, 16448, 0, 0, 0, 0}, {12480, 2056, 16448, 0, 0, 0, 0}, {51, 512, 261, 4352, 0, 0, 0}, {10, 4192, 512, 20480, 0, 0, 0}, {1032, 51, 1799, 17476, 0, 0, 0}, {204, 12288, 1024, 0, 0, 0, 0}, {10, 514, 85, 1285, 4112, 0, 0}, {1026, 5188, 0, 0, 0, 0, 0}, {1807, 18224, 0, 0, 0, 0, 0}, {6224, 4208, 20560, 0, 0, 0, 0}, {1053, 51, 1809, 85, 4369, 0, 0}, {4728, 8738, 16384, 0, 0, 0, 0}, {4127, 51, 4883, 4160, 5120, 0, 0}, {4188, 4144, 5140, 0, 0, 0, 0}, {5418, 4608, 85, 0, 0, 0, 0}, {1062, 5654, 1088, 0, 0, 0, 0}, {95, 1911, 4096, 0, 0, 0, 0}, {2088, 8192, 4176, 0, 0, 0, 0}, {780, 51, 85, 1045, 4352, 0, 0}, {4698, 21104, 0, 0, 0, 0, 0}, {1047, 5188, 0, 0, 0, 0, 0}, {1068, 1088, 4112, 0, 0, 0, 0}, {4642, 85, 5376, 0, 0, 0, 0}, {1096, 102, 4626, 17476, 0, 0, 0}, {95, 4128, 5888, 20480, 0, 0, 0}, {2080, 8224, 4160, 0, 0, 0, 0}, {783, 51, 85, 1041, 4369, 0, 0}, {4680, 21026, 0, 0, 0, 0, 0}, {1043, 5200, 0, 0, 0, 0, 0}, {1064, 1092, 4096, 0, 0, 0, 0}, {4656, 85, 5397, 0, 0, 0, 0}, {1100, 102, 4608, 17408, 0, 0, 0}, {95, 4144, 5911, 20560, 0, 0, 0}, {6216, 4192, 20480, 0, 0, 0, 0}, {1049, 51, 1814, 85, 4352, 0, 0}, {4714, 8704, 16448, 0, 0, 0, 0}, {4111, 51, 4864, 4176, 5140, 0, 0}, {4172, 4128, 5120, 0, 0, 0, 0}, {5439, 4626, 85, 0, 0, 0, 0}, {1058, 5632, 1092, 0, 0, 0, 0}, {95, 1904, 4112, 0, 0, 0, 0}, {12528, 2048, 16384, 0, 0, 0, 0}, {51, 514, 260, 4369, 0, 0, 0}, {10, 4208, 514, 20560, 0, 0, 0}, {1036, 51, 1792, 17408, 0, 0, 0}, {204, 12336, 1028, 0, 0, 0, 0}, {10, 512, 85, 1280, 4096, 0, 0}, {1030, 5200, 0, 0, 0, 0, 0}, {1800, 18295, 0, 0, 0, 0, 0}, {16512, 2056, 28784, 0, 0, 0, 0}, {262, 85, 1280, 4352, 0, 0, 0}, {10, 512, 4176, 0, 0, 0, 0}, {780, 51, 1028, 0, 0, 0, 0}, {1036, 12336, 17408, 0, 0, 0, 0}, {10, 4128, 514, 85, 1280, 0, 0}, {10, 102, 514, 1028, 4112, 0, 0}, {255, 1792, 16384, 0, 0, 0, 0}, {2560, 13056, 21760, 0, 0, 0, 0}, {8, 48, 64, 257, 0, 0, 0}, {8, 4386, 514, 17408, 0, 0, 0}, {1295, 48, 771, 20480, 0, 0, 0}, {512, 4356, 0, 0, 0, 0, 0}, {13071, 1285, 0, 0, 0, 0, 0}, {21866, 1542, 0, 0, 0, 0, 0}, {4359, 5120, 0, 0, 0, 0, 0}, {8, 512, 4352, 0, 0, 0, 0}, {48, 771, 1285, 0, 0, 0, 0}, {21930, 2570, 13056, 0, 0, 0, 0}, {259, 64, 1028, 4096, 0, 0, 0}, {1548, 13568, 21760, 0, 0, 0, 0}, {8, 4389, 514, 4437, 1285, 0, 0}, {8, 4390, 514, 64, 1028, 0, 0}, {1295, 13824, 20480, 0, 0, 0, 0}, {48, 768, 64, 1296, 4112, 0, 0}, {136, 2594, 4369, 0, 0, 0, 0}, {4370, 5120, 0, 0, 0, 0, 0}, {21887, 4883, 0, 0, 0, 0, 0}, {4412, 8704, 4420, 5140, 0, 0, 0}, {4927, 8192, 64, 5397, 0, 0, 0}, {1370, 112, 5654, 20480, 0, 0, 0}, {72, 4471, 5911, 17408, 0, 0, 0}, {1304, 48, 768, 1360, 4352, 0, 0}, {6425, 4915, 21845, 0, 0, 0, 0}, {1306, 48, 768, 64, 4096, 0, 0}, {6939, 4403, 17476, 0, 0, 0, 0}, {4892, 1312, 1360, 0, 0, 0, 0}, {4381, 1570, 4437, 0, 0, 0, 0}, {4382, 1314, 5188, 0, 0, 0, 0}, {4895, 1568, 64, 0, 0, 0, 0}, {6400, 4896, 21760, 0, 0, 0, 0}, {1309, 48, 771, 1365, 4369, 0, 0}, {6912, 4386, 17408, 0, 0, 0, 0}, {1311, 48, 771, 64, 4112, 0, 0}, {4364, 1572, 4420, 0, 0, 0, 0}, {4879, 1317, 1365, 0, 0, 0, 0}, {4876, 1574, 64, 0, 0, 0, 0}, {4367, 1319, 5200, 0, 0, 0, 0}, {136, 2600, 4352, 0, 0, 0, 0}, {48, 771, 64, 1301, 4096, 0, 0}, {21802, 4864, 0, 0, 0, 0, 0}, {4355, 5140, 0, 0, 0, 0, 0}, {4908, 8224, 64, 5376, 0, 0, 0}, {4397, 8738, 4437, 5120, 0, 0, 0}, {72, 4454, 5888, 17476, 0, 0, 0}, {1375, 112, 5632, 20560, 0, 0, 0}, {48, 768, 1280, 0, 0, 0, 0}, {8, 514, 4369, 0, 0, 0, 0}, {258, 64, 1024, 4112, 0, 0, 0}, {22015, 2560, 13107, 0, 0, 0, 0}, {8, 4404, 512, 4420, 1280, 0, 0}, {1546, 13621, 21845, 0, 0, 0, 0}, {1290, 13878, 20560, 0, 0, 0, 0}, {8, 4407, 512, 64, 1024, 0, 0}, {8, 48, 64, 256, 0, 0, 0}, {2570, 13107, 21845, 0, 0, 0, 0}, {1290, 48, 768, 20560, 0, 0, 0}, {8, 4403, 512, 17476, 0, 0, 0}, {13116, 1280, 0, 0, 0, 0, 0}, {514, 4373, 0, 0, 0, 0, 0}, {4374, 5140, 0, 0, 0, 0, 0}, {21823, 1536, 0, 0, 0, 0, 0}, {4864, 64, 5376, 0, 0, 0, 0}, {120, 1285, 4369, 0, 0, 0, 0}, {72, 4386, 1602, 17408, 0, 0, 0}, {1295, 112, 4931, 20480, 0, 0, 0}, {2560, 8704, 4420, 0, 0, 0, 0}, {783, 48, 64, 1285, 4112, 0, 0}, {21802, 17990, 0, 0, 0, 0, 0}, {4423, 5120, 0, 0, 0, 0, 0}, {72, 1536, 4352, 0, 0, 0, 0}, {112, 4883, 1285, 0, 0, 0, 0}, {1546, 4896, 64, 0, 0, 0, 0}, {1295, 4403, 5188, 0, 0, 0, 0}, {4940, 8192, 21760, 0, 0, 0, 0}, {4381, 48, 4626, 4437, 1285, 0, 0}, {2570, 4454, 17476, 0, 0, 0, 0}, {1295, 48, 1536, 64, 4096, 0, 0}, {3840, 13056, 1360, 0, 0, 0, 0}, {8, 546, 64, 1028, 4369, 0, 0}, {4434, 5120, 0, 0, 0, 0, 0}, {21823, 21331, 0, 0, 0, 0, 0}, {48, 528, 276, 4112, 0, 0, 0}, {13311, 14677, 21845, 0, 0, 0, 0}, {1370, 48, 1622, 20480, 0, 0, 0}, {8, 4471, 4951, 17408, 0, 0, 0}, {8, 1312, 1792, 1360, 4352, 0, 0}, {3084, 1638, 21845, 0, 0, 0, 0}, {1370, 13056, 20480, 0, 0, 0, 0}, {8, 4403, 4883, 64, 1028, 0, 0}, {780, 48, 1360, 0, 0, 0, 0}, {8, 546, 4437, 0, 0, 0, 0}, {278, 64, 1028, 4096, 0, 0, 0}, {22015, 24415, 26112, 0, 0, 0, 0}, {3072, 1632, 21760, 0, 0, 0, 0}, {8, 1317, 1799, 1365, 4369, 0, 0}, {8, 4386, 4864, 64, 1024, 0, 0}, {1375, 13107, 20560, 0, 0, 0, 0}, {8, 544, 4420, 0, 0, 0, 0}, {783, 48, 1365, 0, 0, 0, 0}, {21930, 24320, 26214, 0, 0, 0, 0}, {279, 64, 1024, 4112, 0, 0, 0}, {8, 544, 64, 1024, 4352, 0, 0}, {3855, 13107, 1365, 0, 0, 0, 0}, {21866, 21248, 0, 0, 0, 0, 0}, {4419, 5140, 0, 0, 0, 0, 0}, {13260, 14700, 21760, 0, 0, 0, 0}, {48, 530, 277, 4096, 0, 0, 0}, {8, 4454, 4932, 17476, 0, 0, 0}, {1375, 48, 1616, 20560, 0, 0, 0}, {112, 4864, 1280, 0, 0, 0, 0}, {72, 1542, 4369, 0, 0, 0, 0}, {1290, 4386, 5200, 0, 0, 0, 0}, {1548, 4915, 64, 0, 0, 0, 0}, {4364, 48, 4608, 4420, 1280, 0, 0}, {4959, 8224, 21845, 0, 0, 0, 0}, {1290, 48, 1542, 64, 4112, 0, 0}, {2560, 4471, 17408, 0, 0, 0, 0}, {120, 1280, 4352, 0, 0, 0, 0}, {4883, 64, 5397, 0, 0, 0, 0}, {1290, 112, 4944, 20560, 0, 0, 0}, {72, 4403, 1604, 17476, 0, 0, 0}, {780, 48, 64, 1280, 4096, 0, 0}, {2570, 8738, 4437, 0, 0, 0, 0}, {4438, 5140, 0, 0, 0, 0, 0}, {21887, 17920, 0, 0, 0, 0, 0}, {128, 4864, 21760, 0, 0, 0, 0}, {72, 48, 771, 1285, 4369, 0, 0}, {2570, 4386, 17408, 0, 0, 0, 0}, {1295, 48, 771, 64, 4096, 0, 0}, {4364, 5888, 4420, 0, 0, 0, 0}, {4959, 112, 1285, 0, 0, 0, 0}, {5418, 1542, 64, 0, 0, 0, 0}, {4367, 4471, 5120, 0, 0, 0, 0}, {136, 2560, 4352, 0, 0, 0, 0}, {48, 771, 64, 1285, 4112, 0, 0}, {17930, 4896, 0, 0, 0, 0, 0}, {4355, 5188, 0, 0, 0, 0, 0}, {4876, 8192, 64, 5376, 0, 0, 0}, {4397, 8738, 4437, 1285, 0, 0, 0}, {72, 4454, 1542, 17476, 0, 0, 0}, {1295, 112, 5632, 20480, 0, 0, 0}, {48, 768, 1360, 0, 0, 0, 0}, {8, 546, 4369, 0, 0, 0, 0}, {274, 64, 1024, 4096, 0, 0, 0}, {22015, 24415, 13107, 0, 0, 0, 0}, {8, 4404, 4884, 4420, 5140, 0, 0}, {1642, 13653, 21845, 0, 0, 0, 0}, {1370, 13926, 20480, 0, 0, 0, 0}, {8, 4407, 4887, 64, 1024, 0, 0}, {8, 768, 1024, 272, 0, 0, 0}, {2730, 13107, 21845, 0, 0, 0, 0}, {1370, 48, 768, 20480, 0, 0, 0}, {8, 4403, 4883, 17476, 0, 0, 0}, {13116, 1360, 0, 0, 0, 0, 0}, {546, 4373, 0, 0, 0, 0, 0}, {4374, 5188, 0, 0, 0, 0, 0}, {21343, 1632, 0, 0, 0, 0, 0}, {2720, 13056, 21760, 0, 0, 0, 0}, {8, 771, 1028, 273, 0, 0, 0}, {8, 4386, 4864, 17408, 0, 0, 0}, {1375, 48, 771, 20560, 0, 0, 0}, {544, 4356, 0, 0, 0, 0, 0}, {13071, 1365, 0, 0, 0, 0, 0}, {21260, 1638, 0, 0, 0, 0, 0}, {4359, 5200, 0, 0, 0, 0, 0}, {8, 544, 4352, 0, 0, 0, 0}, {48, 771, 1365, 0, 0, 0, 0}, {21930, 24320, 13056, 0, 0, 0, 0}, {275, 64, 1028, 4112, 0, 0, 0}, {1644, 13664, 21760, 0, 0, 0, 0}, {8, 4389, 4871, 4437, 5120, 0, 0}, {8, 4390, 4868, 64, 1028, 0, 0}, {1375, 13904, 20560, 0, 0, 0, 0}, {48, 768, 64, 1280, 4096, 0, 0}, {136, 2570, 4369, 0, 0, 0, 0}, {4370, 5200, 0, 0, 0, 0, 0}, {17996, 4915, 0, 0, 0, 0, 0}, {4412, 8704, 4420, 1280, 0, 0, 0}, {4895, 8224, 64, 5397, 0, 0, 0}, {1290, 112, 5654, 20560, 0, 0, 0}, {72, 4471, 1536, 17408, 0, 0, 0}, {72, 48, 768, 1280, 4352, 0, 0}, {128, 4883, 21845, 0, 0, 0, 0}, {1290, 48, 768, 64, 4112, 0, 0}, {2560, 4403, 17476, 0, 0, 0, 0}, {4940, 112, 1280, 0, 0, 0, 0}, {4381, 5911, 4437, 0, 0, 0, 0}, {4382, 4454, 5140, 0, 0, 0, 0}, {5439, 1536, 64, 0, 0, 0, 0}, {192, 1536, 21760, 0, 0, 0, 0}, {8, 112, 514, 1285, 4369, 0, 0}, {8, 4386, 514, 64, 1024, 0, 0}, {1295, 13107, 20480, 0, 0, 0, 0}, {8, 512, 4420, 0, 0, 0, 0}, {783, 48, 1285, 0, 0, 0, 0}, {21930, 2570, 26214, 0, 0, 0, 0}, {263, 64, 1024, 4096, 0, 0, 0}, {8, 512, 64, 1024, 4352, 0, 0}, {240, 13107, 1285, 0, 0, 0, 0}, {1546, 21344, 0, 0, 0, 0, 0}, {1287, 5188, 0, 0, 0, 0, 0}, {13260, 2560, 21760, 0, 0, 0, 0}, {48, 514, 261, 4112, 0, 0, 0}, {8, 4454, 514, 17476, 0, 0, 0}, {1295, 48, 1536, 20480, 0, 0, 0}, {1312, 5632, 1360, 0, 0, 0, 0}, {72, 1638, 4369, 0, 0, 0, 0}, {4442, 4386, 5120, 0, 0, 0, 0}, {5439, 4883, 64, 0, 0, 0, 0}, {4364, 48, 4608, 4420, 5140, 0, 0}, {4991, 8192, 21845, 0, 0, 0, 0}, {1306, 48, 1558, 64, 4096, 0, 0}, {7007, 4471, 17408, 0, 0, 0, 0}, {1320, 1360, 4352, 0, 0, 0, 0}, {4915, 64, 5397, 0, 0, 0, 0}, {1370, 112, 4864, 20480, 0, 0, 0}, {72, 4403, 5911, 17476, 0, 0, 0}, {780, 48, 64, 1296, 4112, 0, 0}, {2594, 8738, 4437, 0, 0, 0, 0}, {1298, 5188, 0, 0, 0, 0, 0}, {4959, 17952, 0, 0, 0, 0, 0}, {4896, 64, 5376, 0, 0, 0, 0}, {1325, 1365, 4369, 0, 0, 0, 0}, {72, 4386, 5888, 17408, 0, 0, 0}, {1375, 112, 4883, 20560, 0, 0, 0}, {2600, 8704, 4420, 0, 0, 0, 0}, {783, 48, 64, 1301, 4096, 0, 0}, {4940, 18022, 0, 0, 0, 0, 0}, {1303, 5200, 0, 0, 0, 0, 0}, {72, 1632, 4352, 0, 0, 0, 0}, {1317, 5654, 1365, 0, 0, 0, 0}, {5418, 4864, 64, 0, 0, 0, 0}, {4427, 4403, 5140, 0, 0, 0, 0}, {4972, 8224, 21760, 0, 0, 0, 0}, {4381, 48, 4626, 4437, 5120, 0, 0}, {6980, 4454, 17476, 0, 0, 0, 0}, {1311, 48, 1552, 64, 4112, 0, 0}, {240, 13056, 1280, 0, 0, 0, 0}, {8, 514, 64, 1028, 4369, 0, 0}, {1282, 5200, 0, 0, 0, 0, 0}, {1548, 21299, 0, 0, 0, 0, 0}, {48, 512, 260, 4096, 0, 0, 0}, {13311, 2570, 21845, 0, 0, 0, 0}, {1290, 48, 1542, 20560, 0, 0, 0}, {8, 4471, 512, 17408, 0, 0, 0}, {8, 112, 512, 1280, 4352, 0, 0}, {192, 1542, 21845, 0, 0, 0, 0}, {1290, 13056, 20560, 0, 0, 0, 0}, {8, 4403, 512, 64, 1028, 0, 0}, {780, 48, 1280, 0, 0, 0, 0}, {8, 514, 4437, 0, 0, 0, 0}, {262, 64, 1028, 4112, 0, 0, 0}, {22015, 2560, 26112, 0, 0, 0, 0}, {2560, 12288, 20480, 0, 0, 0, 0}, {8, 51, 68, 257, 0, 0, 0}, {8, 4128, 514, 16384, 0, 0, 0}, {1295, 51, 771, 21760, 0, 0, 0}, {512, 4100, 0, 0, 0, 0, 0}, {12303, 1285, 0, 0, 0, 0, 0}, {20588, 1542, 0, 0, 0, 0, 0}, {4103, 5376, 0, 0, 0, 0, 0}, {8, 512, 4096, 0, 0, 0, 0}, {51, 771, 1285, 0, 0, 0, 0}, {20640, 2570, 12288, 0, 0, 0, 0}, {259, 68, 1028, 4352, 0, 0, 0}, {1548, 13824, 20480, 0, 0, 0, 0}, {8, 4135, 514, 4176, 1285, 0, 0}, {8, 4132, 514, 68, 1028, 0, 0}, {1295, 13568, 21760, 0, 0, 0, 0}, {128, 2592, 4112, 0, 0, 0, 0}, {51, 768, 68, 1297, 4369, 0, 0}, {20600, 4626, 0, 0, 0, 0, 0}, {4115, 5376, 0, 0, 0, 0, 0}, {4668, 8704, 68, 5140, 0, 0, 0}, {4159, 8192, 4160, 5397, 0, 0, 0}, {76, 4208, 5654, 16384, 0, 0, 0}, {1375, 119, 5911, 21760, 0, 0, 0}, {6168, 4656, 20560, 0, 0, 0, 0}, {1305, 51, 768, 1365, 4096, 0, 0}, {6682, 4144, 16448, 0, 0, 0, 0}, {1307, 51, 768, 68, 4352, 0, 0}, {4124, 1568, 4176, 0, 0, 0, 0}, {4637, 1314, 1365, 0, 0, 0, 0}, {4638, 1570, 68, 0, 0, 0, 0}, {4127, 1312, 5440, 0, 0, 0, 0}, {6656, 4128, 16384, 0, 0, 0, 0}, {1310, 51, 771, 68, 4369, 0, 0}, {6144, 4642, 20480, 0, 0, 0, 0}, {1308, 51, 771, 1360, 4112, 0, 0}, {4620, 1572, 68, 0, 0, 0, 0}, {4111, 1317, 5461, 0, 0, 0, 0}, {4108, 1574, 4160, 0, 0, 0, 0}, {4623, 1319, 1360, 0, 0, 0, 0}, {20520, 4608, 0, 0, 0, 0, 0}, {4099, 5397, 0, 0, 0, 0, 0}, {128, 2602, 4096, 0, 0, 0, 0}, {51, 771, 68, 1300, 4352, 0, 0}, {76, 4192, 5632, 16448, 0, 0, 0}, {1370, 119, 5888, 21845, 0, 0, 0}, {4654, 8738, 68, 5120, 0, 0, 0}, {4143, 8224, 4176, 5376, 0, 0, 0}, {20720, 2560, 12336, 0, 0, 0, 0}, {258, 68, 1024, 4369, 0, 0, 0}, {8, 514, 4112, 0, 0, 0, 0}, {51, 768, 1280, 0, 0, 0, 0}, {8, 4148, 512, 68, 1024, 0, 0}, {1290, 13621, 21845, 0, 0, 0, 0}, {1546, 13878, 20560, 0, 0, 0, 0}, {8, 4151, 512, 4160, 1280, 0, 0}, {8, 4144, 512, 16448, 0, 0, 0}, {1290, 51, 768, 21845, 0, 0, 0}, {2570, 12336, 20560, 0, 0, 0, 0}, {8, 51, 68, 256, 0, 0, 0}, {20540, 1536, 0, 0, 0, 0, 0}, {4119, 5397, 0, 0, 0, 0, 0}, {514, 4116, 0, 0, 0, 0, 0}, {12351, 1280, 0, 0, 0, 0, 0}, {2560, 8192, 4160, 0, 0, 0, 0}, {783, 51, 68, 1285, 4369, 0, 0}, {20520, 16962, 0, 0, 0, 0, 0}, {4163, 5376, 0, 0, 0, 0, 0}, {4608, 68, 5120, 0, 0, 0, 0}, {127, 1285, 4112, 0, 0, 0, 0}, {76, 4128, 1606, 16384, 0, 0, 0}, {1295, 119, 4679, 21760, 0, 0, 0}, {4680, 8704, 20480, 0, 0, 0, 0}, {4124, 51, 4883, 4176, 1285, 0, 0}, {2570, 4192, 16448, 0, 0, 0, 0}, {1295, 51, 1536, 68, 4352, 0, 0}, {76, 1536, 4096, 0, 0, 0, 0}, {119, 4626, 1285, 0, 0, 0, 0}, {1546, 4642, 68, 0, 0, 0, 0}, {1295, 4144, 5440, 0, 0, 0, 0}, {12528, 14928, 20560, 0, 0, 0, 0}, {51, 529, 277, 4369, 0, 0, 0}, {8, 4208, 4690, 16384, 0, 0, 0}, {1375, 51, 1619, 21760, 0, 0, 0}, {8, 544, 68, 1028, 4112, 0, 0}, {3840, 12288, 1365, 0, 0, 0, 0}, {20540, 22102, 0, 0, 0, 0, 0}, {4183, 5376, 0, 0, 0, 0, 0}, {8, 544, 4176, 0, 0, 0, 0}, {780, 51, 1365, 0, 0, 0, 0}, {20720, 23130, 24576, 0, 0, 0, 0}, {279, 68, 1028, 4352, 0, 0, 0}, {3084, 1632, 20560, 0, 0, 0, 0}, {8, 1314, 1792, 1365, 4096, 0, 0}, {8, 4144, 4626, 68, 1028, 0, 0}, {1375, 12288, 21760, 0, 0, 0, 0}, {20640, 23040, 24672, 0, 0, 0, 0}, {278, 68, 1024, 4369, 0, 0, 0}, {8, 546, 4160, 0, 0, 0, 0}, {783, 51, 1360, 0, 0, 0, 0}, {8, 4128, 4608, 68, 1024, 0, 0}, {1370, 12336, 21845, 0, 0, 0, 0}, {3072, 1638, 20480, 0, 0, 0, 0}, {8, 1319, 1799, 1360, 4112, 0, 0}, {8, 4192, 4672, 16448, 0, 0, 0}, {1370, 51, 1621, 21845, 0, 0, 0}, {12480, 14954, 20480, 0, 0, 0, 0}, {51, 531, 276, 4352, 0, 0, 0}, {20588, 22016, 0, 0, 0, 0, 0}, {4167, 5397, 0, 0, 0, 0, 0}, {8, 546, 68, 1024, 4096, 0, 0}, {3855, 12336, 1360, 0, 0, 0, 0}, {2560, 4208, 16384, 0, 0, 0, 0}, {1290, 51, 1542, 68, 4369, 0, 0}, {4698, 8738, 20560, 0, 0, 0, 0}, {4108, 51, 4864, 4160, 1280, 0, 0}, {1548, 4656, 68, 0, 0, 0, 0}, {1290, 4128, 5461, 0, 0, 0, 0}, {76, 1542, 4112, 0, 0, 0, 0}, {119, 4608, 1280, 0, 0, 0, 0}, {20600, 16896, 0, 0, 0, 0, 0}, {4179, 5397, 0, 0, 0, 0, 0}, {2570, 8224, 4176, 0, 0, 0, 0}, {780, 51, 68, 1280, 4352, 0, 0}, {76, 4144, 1600, 16448, 0, 0, 0}, {1290, 119, 4693, 21845, 0, 0, 0}, {4626, 68, 5140, 0, 0, 0, 0}, {127, 1280, 4096, 0, 0, 0, 0}, {128, 2560, 4096, 0, 0, 0, 0}, {51, 771, 68, 1285, 4369, 0, 0}, {16906, 4642, 0, 0, 0, 0, 0}, {4099, 5440, 0, 0, 0, 0, 0}, {4620, 8704, 68, 5120, 0, 0, 0}, {4143, 8224, 4176, 1285, 0, 0, 0}, {76, 4192, 1542, 16448, 0, 0, 0}, {1295, 119, 5888, 21760, 0, 0, 0}, {136, 4608, 20480, 0, 0, 0, 0}, {76, 51, 771, 1285, 4112, 0, 0}, {2570, 4128, 16384, 0, 0, 0, 0}, {1295, 51, 771, 68, 4352, 0, 0}, {4108, 5632, 4160, 0, 0, 0, 0}, {4698, 119, 1285, 0, 0, 0, 0}, {5160, 1542, 68, 0, 0, 0, 0}, {4111, 4208, 5376, 0, 0, 0, 0}, {2720, 12336, 20560, 0, 0, 0, 0}, {8, 768, 1024, 273, 0, 0, 0}, {8, 4144, 4626, 16448, 0, 0, 0}, {1375, 51, 768, 21760, 0, 0, 0}, {544, 4116, 0, 0, 0, 0, 0}, {12351, 1365, 0, 0, 0, 0, 0}, {22106, 1638, 0, 0, 0, 0, 0}, {4119, 5440, 0, 0, 0, 0, 0}, {8, 544, 4112, 0, 0, 0, 0}, {51, 768, 1365, 0, 0, 0, 0}, {20720, 23130, 12336, 0, 0, 0, 0}, {275, 68, 1024, 4352, 0, 0, 0}, {1644, 13904, 20560, 0, 0, 0, 0}, {8, 4151, 4629, 4160, 5397, 0, 0}, {8, 4148, 4630, 68, 1024, 0, 0}, {1375, 13664, 21760, 0, 0, 0, 0}, {20640, 23040, 12288, 0, 0, 0, 0}, {274, 68, 1028, 4369, 0, 0, 0}, {8, 546, 4096, 0, 0, 0, 0}, {51, 771, 1360, 0, 0, 0, 0}, {8, 4132, 4612, 68, 1028, 0, 0}, {1370, 13653, 21845, 0, 0, 0, 0}, {1642, 13926, 20480, 0, 0, 0, 0}, {8, 4135, 4615, 4176, 5376, 0, 0}, {8, 4128, 4608, 16384, 0, 0, 0}, {1370, 51, 771, 21845, 0, 0, 0}, {2730, 12288, 20480, 0, 0, 0, 0}, {8, 771, 1028, 272, 0, 0, 0}, {22028, 1632, 0, 0, 0, 0, 0}, {4103, 5461, 0, 0, 0, 0, 0}, {546, 4100, 0, 0, 0, 0, 0}, {12303, 1360, 0, 0, 0, 0, 0}, {2560, 4144, 16448, 0, 0, 0, 0}, {1290, 51, 768, 68, 4369, 0, 0}, {136, 4626, 20560, 0, 0, 0, 0}, {76, 51, 768, 1280, 4096, 0, 0}, {5180, 1536, 68, 0, 0, 0, 0}, {4127, 4192, 5397, 0, 0, 0, 0}, {4124, 5654, 4176, 0, 0, 0, 0}, {4680, 119, 1280, 0, 0, 0, 0}, {16968, 4656, 0, 0, 0, 0, 0}, {4115, 5461, 0, 0, 0, 0, 0}, {128, 2570, 4112, 0, 0, 0, 0}, {51, 768, 68, 1280, 4352, 0, 0}, {76, 4208, 1536, 16384, 0, 0, 0}, {1290, 119, 5911, 21845, 0, 0, 0}, {4638, 8738, 68, 5140, 0, 0, 0}, {4159, 8192, 4160, 1280, 0, 0, 0}, {12480, 2560, 20480, 0, 0, 0, 0}, {51, 514, 261, 4369, 0, 0, 0}, {8, 4192, 514, 16448, 0, 0, 0}, {1295, 51, 1536, 21760, 0, 0, 0}, {8, 512, 68, 1024, 4096, 0, 0}, {255, 12336, 1285, 0, 0, 0, 0}, {1546, 22118, 0, 0, 0, 0, 0}, {1287, 5440, 0, 0, 0, 0, 0}, {8, 512, 4160, 0, 0, 0, 0}, {783, 51, 1285, 0, 0, 0, 0}, {20640, 2570, 24672, 0, 0, 0, 0}, {263, 68, 1024, 4352, 0, 0, 0}, {204, 1536, 20480, 0, 0, 0, 0}, {8, 119, 514, 1285, 4112, 0, 0}, {8, 4128, 514, 68, 1024, 0, 0}, {1295, 12336, 21760, 0, 0, 0, 0}, {2592, 8224, 4176, 0, 0, 0, 0}, {780, 51, 68, 1297, 4369, 0, 0}, {4698, 16930, 0, 0, 0, 0, 0}, {1299, 5440, 0, 0, 0, 0, 0}, {4656, 68, 5140, 0, 0, 0, 0}, {1322, 1365, 4096, 0, 0, 0, 0}, {76, 4144, 5654, 16448, 0, 0, 0}, {1375, 119, 4608, 21760, 0, 0, 0}, {4728, 8704, 20560, 0, 0, 0, 0}, {4108, 51, 4864, 4160, 5397, 0, 0}, {6746, 4208, 16384, 0, 0, 0, 0}, {1307, 51, 1559, 68, 4352, 0, 0}, {76, 1632, 4112, 0, 0, 0, 0}, {1314, 5888, 1365, 0, 0, 0, 0}, {5180, 4626, 68, 0, 0, 0, 0}, {4191, 4128, 5376, 0, 0, 0, 0}, {6720, 4192, 16448, 0, 0, 0, 0}, {1310, 51, 1553, 68, 4369, 0, 0}, {4714, 8738, 20480, 0, 0, 0, 0}, {4124, 51, 4883, 4176, 5376, 0, 0}, {5160, 4608, 68, 0, 0, 0, 0}, {4175, 4144, 5397, 0, 0, 0, 0}, {76, 1638, 4096, 0, 0, 0, 0}, {1319, 5911, 1360, 0, 0, 0, 0}, {4680, 16992, 0, 0, 0, 0, 0}, {1302, 5461, 0, 0, 0, 0, 0}, {2602, 8192, 4160, 0, 0, 0, 0}, {783, 51, 68, 1300, 4352, 0, 0}, {76, 4128, 5632, 16384, 0, 0, 0}, {1370, 119, 4626, 21845, 0, 0, 0}, {4642, 68, 5120, 0, 0, 0, 0}, {1327, 1360, 4112, 0, 0, 0, 0}, {20720, 2560, 24576, 0, 0, 0, 0}, {262, 68, 1028, 4369, 0, 0, 0}, {8, 514, 4176, 0, 0, 0, 0}, {780, 51, 1280, 0, 0, 0, 0}, {8, 4144, 512, 68, 1028, 0, 0}, {1290, 12288, 21845, 0, 0, 0, 0}, {204, 1542, 20560, 0, 0, 0, 0}, {8, 119, 512, 1280, 4096, 0, 0}, {8, 4208, 512, 16384, 0, 0, 0}, {1290, 51, 1542, 21845, 0, 0, 0}, {12528, 2570, 20560, 0, 0, 0, 0}, {51, 512, 260, 4352, 0, 0, 0}, {1548, 22064, 0, 0, 0, 0, 0}, {1282, 5461, 0, 0, 0, 0, 0}, {8, 514, 68, 1028, 4112, 0, 0}, {255, 12288, 1280, 0, 0, 0, 0}, {2048, 13056, 17408, 0, 0, 0, 0}, {10, 48, 80, 257, 0, 0, 0}, {10, 4386, 514, 21760, 0, 0, 0}, {1036, 48, 771, 16384, 0, 0, 0}, {13068, 1028, 0, 0, 0, 0, 0}, {512, 4357, 0, 0, 0, 0, 0}, {4358, 5376, 0, 0, 0, 0, 0}, {17528, 1799, 0, 0, 0, 0, 0}, {17544, 2056, 13056, 0, 0, 0, 0}, {259, 80, 1285, 4096, 0, 0, 0}, {10, 512, 4352, 0, 0, 0, 0}, {48, 771, 1028, 0, 0, 0, 0}, {1036, 14080, 16384, 0, 0, 0, 0}, {10, 4391, 514, 80, 1285, 0, 0}, {10, 4388, 514, 4420, 1028, 0, 0}, {1807, 13312, 17408, 0, 0, 0, 0}, {48, 768, 80, 1040, 4112, 0, 0}, {170, 2082, 4369, 0, 0, 0, 0}, {4370, 5376, 0, 0, 0, 0, 0}, {17516, 4883, 0, 0, 0, 0, 0}, {4924, 8192, 80, 5140, 0, 0, 0}, {4415, 8704, 4437, 5397, 0, 0, 0}, {90, 4454, 5654, 21760, 0, 0, 0}, {1096, 96, 5911, 16384, 0, 0, 0}, {1048, 48, 768, 80, 4096, 0, 0}, {6425, 4403, 21845, 0, 0, 0, 0}, {1050, 48, 768, 1088, 4352, 0, 0}, {6939, 4915, 17476, 0, 0, 0, 0}, {4892, 1824, 80, 0, 0, 0, 0}, {4381, 1058, 5461, 0, 0, 0, 0}, {4382, 1826, 4420, 0, 0, 0, 0}, {4895, 1056, 1088, 0, 0, 0, 0}, {6912, 4896, 17408, 0, 0, 0, 0}, {1054, 48, 771, 1092, 4369, 0, 0}, {6400, 4386, 21760, 0, 0, 0, 0}, {1052, 48, 771, 80, 4112, 0, 0}, {4876, 1060, 1092, 0, 0, 0, 0}, {4367, 1829, 4437, 0, 0, 0, 0}, {4364, 1062, 5440, 0, 0, 0, 0}, {4879, 1831, 80, 0, 0, 0, 0}, {17448, 4864, 0, 0, 0, 0, 0}, {4355, 5397, 0, 0, 0, 0, 0}, {170, 2090, 4352, 0, 0, 0, 0}, {48, 771, 80, 1044, 4096, 0, 0}, {1100, 96, 5888, 16448, 0, 0, 0}, {90, 4471, 5632, 21845, 0, 0, 0}, {4398, 8738, 4420, 5376, 0, 0, 0}, {4911, 8224, 80, 5120, 0, 0, 0}, {48, 768, 1024, 0, 0, 0, 0}, {10, 514, 4369, 0, 0, 0, 0}, {258, 80, 1280, 4112, 0, 0, 0}, {17612, 2048, 13107, 0, 0, 0, 0}, {1800, 13364, 17476, 0, 0, 0, 0}, {10, 4405, 512, 4437, 1024, 0, 0}, {10, 4406, 512, 80, 1280, 0, 0}, {1032, 14135, 16448, 0, 0, 0, 0}, {1032, 48, 768, 16448, 0, 0, 0}, {10, 4403, 512, 21845, 0, 0, 0}, {10, 48, 80, 256, 0, 0, 0}, {2056, 13107, 17476, 0, 0, 0, 0}, {17468, 1792, 0, 0, 0, 0, 0}, {4375, 5397, 0, 0, 0, 0, 0}, {514, 4372, 0, 0, 0, 0, 0}, {13119, 1024, 0, 0, 0, 0, 0}, {3072, 13056, 1088, 0, 0, 0, 0}, {10, 546, 80, 1285, 4369, 0, 0}, {4418, 5376, 0, 0, 0, 0, 0}, {17468, 17219, 0, 0, 0, 0, 0}, {13260, 15172, 17476, 0, 0, 0, 0}, {48, 528, 277, 4112, 0, 0, 0}, {10, 4454, 4934, 21760, 0, 0, 0}, {1096, 48, 1863, 16384, 0, 0, 0}, {1096, 13056, 16384, 0, 0, 0, 0}, {10, 4403, 4883, 80, 1285, 0, 0}, {10, 1056, 1536, 1088, 4352, 0, 0}, {3855, 1911, 17476, 0, 0, 0, 0}, {17612, 19532, 30464, 0, 0, 0, 0}, {279, 80, 1285, 4096, 0, 0, 0}, {10, 546, 4420, 0, 0, 0, 0}, {783, 48, 1088, 0, 0, 0, 0}, {4864, 80, 5120, 0, 0, 0, 0}, {106, 1028, 4369, 0, 0, 0, 0}, {90, 4386, 1874, 21760, 0, 0, 0}, {1036, 96, 4947, 16384, 0, 0, 0}, {780, 48, 80, 1028, 4112, 0, 0}, {2048, 8704, 4437, 0, 0, 0, 0}, {4438, 5376, 0, 0, 0, 0, 0}, {17448, 22359, 0, 0, 0, 0, 0}, {1800, 4896, 80, 0, 0, 0, 0}, {1036, 4403, 5461, 0, 0, 0, 0}, {90, 1792, 4352, 0, 0, 0, 0}, {96, 4883, 1028, 0, 0, 0, 0}, {1036, 48, 1792, 80, 4096, 0, 0}, {2056, 4471, 21845, 0, 0, 0, 0}, {4382, 48, 4626, 4420, 1028, 0, 0}, {4959, 8192, 17408, 0, 0, 0, 0}, {96, 4864, 1024, 0, 0, 0, 0}, {90, 1799, 4369, 0, 0, 0, 0}, {1032, 4386, 5440, 0, 0, 0, 0}, {1807, 4915, 80, 0, 0, 0, 0}, {4940, 8224, 17476, 0, 0, 0, 0}, {4367, 48, 4608, 4437, 1024, 0, 0}, {2048, 4454, 21760, 0, 0, 0, 0}, {1032, 48, 1799, 80, 4112, 0, 0}, {1032, 96, 4928, 16448, 0, 0, 0}, {90, 4403, 1877, 21845, 0, 0, 0}, {106, 1024, 4352, 0, 0, 0, 0}, {4883, 80, 5140, 0, 0, 0, 0}, {17516, 22272, 0, 0, 0, 0, 0}, {4423, 5397, 0, 0, 0, 0, 0}, {2056, 8738, 4420, 0, 0, 0, 0}, {783, 48, 80, 1024, 4096, 0, 0}, {3840, 1904, 17408, 0, 0, 0, 0}, {10, 1060, 1542, 1092, 4369, 0, 0}, {10, 4386, 4864, 80, 1280, 0, 0}, {1100, 13107, 16448, 0, 0, 0, 0}, {780, 48, 1092, 0, 0, 0, 0}, {10, 544, 4437, 0, 0, 0, 0}, {278, 80, 1280, 4112, 0, 0, 0}, {17544, 19456, 30583, 0, 0, 0, 0}, {17528, 17152, 0, 0, 0, 0, 0}, {4435, 5397, 0, 0, 0, 0, 0}, {10, 544, 80, 1280, 4352, 0, 0}, {3084, 13107, 1092, 0, 0, 0, 0}, {1100, 48, 1856, 16448, 0, 0, 0}, {10, 4471, 4949, 21845, 0, 0, 0}, {48, 530, 276, 4096, 0, 0, 0}, {13311, 15231, 17408, 0, 0, 0, 0}, {2176, 13056, 17408, 0, 0, 0, 0}, {10, 771, 1285, 273, 0, 0, 0}, {10, 4386, 4864, 21760, 0, 0, 0}, {1100, 48, 771, 16448, 0, 0, 0}, {13068, 1092, 0, 0, 0, 0, 0}, {544, 4357, 0, 0, 0, 0, 0}, {4358, 5440, 0, 0, 0, 0, 0}, {17167, 1911, 0, 0, 0, 0, 0}, {17544, 19456, 13056, 0, 0, 0, 0}, {275, 80, 1285, 4112, 0, 0, 0}, {10, 544, 4352, 0, 0, 0, 0}, {48, 771, 1092, 0, 0, 0, 0}, {1100, 14144, 16448, 0, 0, 0, 0}, {10, 4391, 4869, 80, 1285, 0, 0}, {10, 4388, 4870, 4420, 5376, 0, 0}, {1919, 13424, 17408, 0, 0, 0, 0}, {48, 768, 80, 1024, 4096, 0, 0}, {170, 2056, 4369, 0, 0, 0, 0}, {4370, 5440, 0, 0, 0, 0, 0}, {22367, 4915, 0, 0, 0, 0, 0}, {4892, 8224, 80, 5140, 0, 0, 0}, {4415, 8704, 4437, 1024, 0, 0, 0}, {90, 4454, 1792, 21760, 0, 0, 0}, {1032, 96, 5911, 16448, 0, 0, 0}, {1032, 48, 768, 80, 4112, 0, 0}, {2048, 4403, 21845, 0, 0, 0, 0}, {90, 48, 768, 1024, 4352, 0, 0}, {160, 4883, 17476, 0, 0, 0, 0}, {5180, 1792, 80, 0, 0, 0, 0}, {4381, 4471, 5397, 0, 0, 0, 0}, {4382, 5654, 4420, 0, 0, 0, 0}, {4959, 96, 1024, 0, 0, 0, 0}, {160, 4864, 17408, 0, 0, 0, 0}, {90, 48, 771, 1028, 4369, 0, 0}, {2056, 4386, 21760, 0, 0, 0, 0}, {1036, 48, 771, 80, 4096, 0, 0}, {4940, 96, 1028, 0, 0, 0, 0}, {4367, 5632, 4437, 0, 0, 0, 0}, {4364, 4454, 5376, 0, 0, 0, 0}, {5160, 1799, 80, 0, 0, 0, 0}, {22280, 4896, 0, 0, 0, 0, 0}, {4355, 5461, 0, 0, 0, 0, 0}, {170, 2048, 4352, 0, 0, 0, 0}, {48, 771, 80, 1028, 4112, 0, 0}, {1036, 96, 5888, 16384, 0, 0, 0}, {90, 4471, 1799, 21845, 0, 0, 0}, {4398, 8738, 4420, 1028, 0, 0, 0}, {4879, 8192, 80, 5120, 0, 0, 0}, {48, 768, 1088, 0, 0, 0, 0}, {10, 546, 4369, 0, 0, 0, 0}, {274, 80, 1280, 4096, 0, 0, 0}, {17612, 19532, 13107, 0, 0, 0, 0}, {1912, 13380, 17476, 0, 0, 0, 0}, {10, 4405, 4885, 4437, 5397, 0, 0}, {10, 4406, 4886, 80, 1280, 0, 0}, {1096, 14199, 16384, 0, 0, 0, 0}, {1096, 48, 768, 16384, 0, 0, 0}, {10, 4403, 4883, 21845, 0, 0, 0}, {10, 768, 1280, 272, 0, 0, 0}, {2184, 13107, 17476, 0, 0, 0, 0}, {17228, 1904, 0, 0, 0, 0, 0}, {4375, 5461, 0, 0, 0, 0, 0}, {546, 4372, 0, 0, 0, 0, 0}, {13119, 1088, 0, 0, 0, 0, 0}, {192, 13056, 1024, 0, 0, 0, 0}, {10, 514, 80, 1285, 4369, 0, 0}, {1026, 5440, 0, 0, 0, 0, 0}, {1807, 17203, 0, 0, 0, 0, 0}, {13260, 2056, 17476, 0, 0, 0, 0}, {48, 512, 261, 4096, 0, 0, 0}, {10, 4454, 512, 21760, 0, 0, 0}, {1032, 48, 1799, 16448, 0, 0, 0}, {1032, 13056, 16448, 0, 0, 0, 0}, {10, 4403, 512, 80, 1285, 0, 0}, {10, 96, 512, 1024, 4352, 0, 0}, {240, 1799, 17476, 0, 0, 0, 0}, {17612, 2048, 30464, 0, 0, 0, 0}, {263, 80, 1285, 4112, 0, 0, 0}, {10, 514, 4420, 0, 0, 0, 0}, {783, 48, 1024, 0, 0, 0, 0}, {4896, 80, 5120, 0, 0, 0, 0}, {1070, 1092, 4369, 0, 0, 0, 0}, {90, 4386, 5632, 21760, 0, 0, 0}, {1100, 96, 4883, 16448, 0, 0, 0}, {780, 48, 80, 1044, 4096, 0, 0}, {2090, 8704, 4437, 0, 0, 0, 0}, {1046, 5440, 0, 0, 0, 0, 0}, {4959, 22391, 0, 0, 0, 0, 0}, {5160, 4864, 80, 0, 0, 0, 0}, {4441, 4403, 5397, 0, 0, 0, 0}, {90, 1904, 4352, 0, 0, 0, 0}, {1060, 5911, 1092, 0, 0, 0, 0}, {1052, 48, 1808, 80, 4112, 0, 0}, {6485, 4471, 21845, 0, 0, 0, 0}, {4382, 48, 4626, 4420, 5376, 0, 0}, {4991, 8224, 17408, 0, 0, 0, 0}, {1056, 5888, 1088, 0, 0, 0, 0}, {90, 1911, 4369, 0, 0, 0, 0}, {4424, 4386, 5376, 0, 0, 0, 0}, {5180, 4883, 80, 0, 0, 0, 0}, {4972, 8192, 17476, 0, 0, 0, 0}, {4367, 48, 4608, 4437, 5397, 0, 0}, {6476, 4454, 21760, 0, 0, 0, 0}, {1048, 48, 1815, 80, 4096, 0, 0}, {1096, 96, 4864, 16384, 0, 0, 0}, {90, 4403, 5654, 21845, 0, 0, 0}, {1066, 1088, 4352, 0, 0, 0, 0}, {4915, 80, 5140, 0, 0, 0, 0}, {4940, 22304, 0, 0, 0, 0, 0}, {1042, 5461, 0, 0, 0, 0, 0}, {2082, 8738, 4420, 0, 0, 0, 0}, {783, 48, 80, 1040, 4112, 0, 0}, {240, 1792, 17408, 0, 0, 0, 0}, {10, 96, 514, 1028, 4369, 0, 0}, {10, 4386, 514, 80, 1280, 0, 0}, {1036, 13107, 16384, 0, 0, 0, 0}, {780, 48, 1028, 0, 0, 0, 0}, {10, 512, 4437, 0, 0, 0, 0}, {262, 80, 1280, 4096, 0, 0, 0}, {17544, 2056, 30583, 0, 0, 0, 0}, {1800, 17264, 0, 0, 0, 0, 0}, {1030, 5461, 0, 0, 0, 0, 0}, {10, 512, 80, 1280, 4352, 0, 0}, {192, 13107, 1028, 0, 0, 0, 0}, {1036, 48, 1792, 16384, 0, 0, 0}, {10, 4471, 514, 21845, 0, 0, 0}, {48, 514, 260, 4112, 0, 0, 0}, {13311, 2048, 17408, 0, 0, 0, 0}, {15360, 0, 0, 0, 0, 0, 0}, {2, 21, 257, 0, 0, 0, 0}, {2, 5120, 0, 0, 0, 0, 0}, {63, 771, 0, 0, 0, 0, 0}, {8, 12288, 64, 1028, 0, 0, 0}, {10, 13056, 85, 1285, 0, 0, 0}, {10, 96, 1542, 20480, 0, 0, 0}, {8, 119, 1799, 17408, 0, 0, 0}, {8, 13312, 17408, 0, 0, 0, 0}, {10, 53, 771, 85, 1285, 0, 0}, {10, 13824, 20480, 0, 0, 0, 0}, {8, 55, 771, 64, 1028, 0, 0}, {192, 3084, 12288, 0, 0, 0, 0}, {2, 85, 1285, 4352, 0, 0, 0}, {2, 64, 1028, 4096, 0, 0, 0}, {255, 3855, 13056, 0, 0, 0, 0}, {3072, 32, 64, 4112, 0, 0, 0}, {3840, 34, 85, 4369, 0, 0, 0}, {72, 34, 4626, 17408, 0, 0, 0}, {95, 32, 4883, 20480, 0, 0, 0}, {40, 5140, 0, 0, 0, 0, 0}, {768, 21, 0, 0, 0, 0, 0}, {42, 5654, 0, 0, 0, 0, 0}, {23, 5120, 0, 0, 0, 0, 0}, {5144, 5168, 5200, 0, 0, 0, 0}, {5657, 5683, 85, 0, 0, 0, 0}, {5658, 5680, 64, 0, 0, 0, 0}, {5147, 5171, 5188, 0, 0, 0, 0}, {7196, 32, 20560, 0, 0, 0, 0}, {29, 34, 768, 85, 4352, 0, 0}, {7710, 34, 17476, 0, 0, 0, 0}, {31, 32, 768, 64, 4096, 0, 0}, {7168, 32, 20480, 0, 0, 0, 0}, {29, 34, 771, 85, 4369, 0, 0}, {7680, 34, 17408, 0, 0, 0, 0}, {31, 32, 771, 64, 4112, 0, 0}, {5132, 5156, 5188, 0, 0, 0, 0}, {5647, 5669, 85, 0, 0, 0, 0}, {5644, 5670, 64, 0, 0, 0, 0}, {5135, 5159, 5200, 0, 0, 0, 0}, {40, 5120, 0, 0, 0, 0, 0}, {771, 21, 0, 0, 0, 0, 0}, {42, 5632, 0, 0, 0, 0, 0}, {23, 5140, 0, 0, 0, 0, 0}, {3084, 32, 64, 4096, 0, 0, 0}, {3855, 34, 85, 4352, 0, 0, 0}, {72, 34, 4608, 17476, 0, 0, 0}, {95, 32, 4864, 20560, 0, 0, 0}, {192, 3072, 12336, 0, 0, 0, 0}, {2, 85, 1280, 4369, 0, 0, 0}, {2, 64, 1024, 4112, 0, 0, 0}, {255, 3840, 13107, 0, 0, 0, 0}, {8, 13364, 17476, 0, 0, 0, 0}, {10, 53, 768, 85, 1280, 0, 0}, {10, 13878, 20560, 0, 0, 0, 0}, {8, 55, 768, 64, 1024, 0, 0}, {8, 12336, 64, 1024, 0, 0, 0}, {10, 13107, 85, 1280, 0, 0, 0}, {10, 96, 1536, 20560, 0, 0, 0}, {8, 119, 1792, 17476, 0, 0, 0}, {15420, 0, 0, 0, 0, 0, 0}, {2, 21, 256, 0, 0, 0, 0}, {2, 5140, 0, 0, 0, 0, 0}, {63, 768, 0, 0, 0, 0, 0}, {3072, 12288, 64, 0, 0, 0, 0}, {10, 34, 85, 1285, 4369, 0, 0}, {66, 5120, 0, 0, 0, 0, 0}, {127, 17219, 0, 0, 0, 0, 0}, {136, 15428, 17476, 0, 0, 0, 0}, {32, 784, 21, 4112, 0, 0, 0}, {10, 32, 5702, 20480, 0, 0, 0}, {72, 119, 839, 17408, 0, 0, 0}, {72, 12288, 17408, 0, 0, 0, 0}, {10, 32, 4883, 85, 1285, 0, 0}, {10, 32, 1536, 64, 4096, 0, 0}, {3855, 119, 17476, 0, 0, 0, 0}, {128, 19532, 28672, 0, 0, 0, 0}, {23, 85, 1285, 4352, 0, 0, 0}, {10, 34, 5188, 0, 0, 0, 0}, {783, 816, 64, 0, 0, 0, 0}, {160, 15440, 20560, 0, 0, 0, 0}, {34, 785, 21, 4369, 0, 0, 0}, {8, 34, 5714, 17408, 0, 0, 0}, {95, 96, 851, 20480, 0, 0, 0}, {8, 32, 64, 1028, 4112, 0, 0}, {3840, 13056, 85, 0, 0, 0, 0}, {106, 22102, 0, 0, 0, 0, 0}, {87, 5120, 0, 0, 0, 0, 0}, {8, 32, 5200, 0, 0, 0, 0}, {780, 819, 85, 0, 0, 0, 0}, {170, 23130, 26112, 0, 0, 0, 0}, {23, 64, 1028, 4096, 0, 0, 0}, {3084, 96, 20560, 0, 0, 0, 0}, {8, 34, 1792, 85, 4352, 0, 0}, {8, 34, 4626, 64, 1028, 0, 0}, {95, 13056, 20480, 0, 0, 0, 0}, {3072, 96, 20480, 0, 0, 0, 0}, {8, 34, 1799, 85, 4369, 0, 0}, {8, 34, 4608, 64, 1024, 0, 0}, {95, 13107, 20560, 0, 0, 0, 0}, {8, 32, 5188, 0, 0, 0, 0}, {783, 816, 85, 0, 0, 0, 0}, {170, 23040, 26214, 0, 0, 0, 0}, {23, 64, 1024, 4112, 0, 0, 0}, {8, 32, 64, 1024, 4096, 0, 0}, {3855, 13107, 85, 0, 0, 0, 0}, {106, 22016, 0, 0, 0, 0, 0}, {87, 5140, 0, 0, 0, 0, 0}, {160, 15468, 20480, 0, 0, 0, 0}, {34, 786, 21, 4352, 0, 0, 0}, {8, 34, 5700, 17476, 0, 0, 0}, {95, 96, 848, 20560, 0, 0, 0}, {128, 19456, 28784, 0, 0, 0, 0}, {23, 85, 1280, 4369, 0, 0, 0}, {10, 34, 5200, 0, 0, 0, 0}, {780, 819, 64, 0, 0, 0, 0}, {72, 12336, 17476, 0, 0, 0, 0}, {10, 32, 4864, 85, 1280, 0, 0}, {10, 32, 1542, 64, 4112, 0, 0}, {3840, 119, 17408, 0, 0, 0, 0}, {136, 15480, 17408, 0, 0, 0, 0}, {32, 787, 21, 4096, 0, 0, 0}, {10, 32, 5712, 20560, 0, 0, 0}, {72, 119, 836, 17476, 0, 0, 0}, {3084, 12336, 64, 0, 0, 0, 0}, {10, 34, 85, 1280, 4352, 0, 0}, {66, 5140, 0, 0, 0, 0, 0}, {127, 17152, 0, 0, 0, 0, 0}, {128, 19456, 28672, 0, 0, 0, 0}, {23, 85, 1285, 4369, 0, 0, 0}, {10, 34, 5120, 0, 0, 0, 0}, {63, 771, 64, 0, 0, 0, 0}, {72, 12288, 17476, 0, 0, 0, 0}, {10, 32, 4864, 85, 1285, 0, 0}, {10, 32, 1542, 64, 4096, 0, 0}, {3855, 119, 17408, 0, 0, 0, 0}, {136, 15360, 17408, 0, 0, 0, 0}, {32, 771, 21, 4112, 0, 0, 0}, {10, 32, 5632, 20480, 0, 0, 0}, {72, 119, 771, 17476, 0, 0, 0}, {3084, 12288, 64, 0, 0, 0, 0}, {10, 34, 85, 1285, 4352, 0, 0}, {5126, 5188, 0, 0, 0, 0, 0}, {17167, 17264, 0, 0, 0, 0, 0}, {3072, 96, 20560, 0, 0, 0, 0}, {8, 34, 1792, 85, 4369, 0, 0}, {8, 34, 4626, 64, 1024, 0, 0}, {95, 13107, 20480, 0, 0, 0, 0}, {8, 32, 5140, 0, 0, 0, 0}, {63, 768, 85, 0, 0, 0, 0}, {170, 23130, 26214, 0, 0, 0, 0}, {23, 64, 1024, 4096, 0, 0, 0}, {8, 32, 64, 1024, 4112, 0, 0}, {3840, 13107, 85, 0, 0, 0, 0}, {22106, 22064, 0, 0, 0, 0, 0}, {5139, 5188, 0, 0, 0, 0, 0}, {160, 15420, 20560, 0, 0, 0, 0}, {34, 768, 21, 4352, 0, 0, 0}, {8, 34, 5654, 17476, 0, 0, 0}, {95, 96, 768, 20480, 0, 0, 0}, {160, 15360, 20480, 0, 0, 0, 0}, {34, 771, 21, 4369, 0, 0, 0}, {8, 34, 5632, 17408, 0, 0, 0}, {95, 96, 771, 20560, 0, 0, 0}, {8, 32, 64, 1028, 4096, 0, 0}, {3855, 13056, 85, 0, 0, 0, 0}, {22028, 22118, 0, 0, 0, 0, 0}, {5127, 5200, 0, 0, 0, 0, 0}, {8, 32, 5120, 0, 0, 0, 0}, {63, 771, 85, 0, 0, 0, 0}, {170, 23040, 26112, 0, 0, 0, 0}, {23, 64, 1028, 4112, 0, 0, 0}, {3084, 96, 20480, 0, 0, 0, 0}, {8, 34, 1799, 85, 4352, 0, 0}, {8, 34, 4608, 64, 1028, 0, 0}, {95, 13056, 20560, 0, 0, 0, 0}, {3072, 12336, 64, 0, 0, 0, 0}, {10, 34, 85, 1280, 4369, 0, 0}, {5138, 5200, 0, 0, 0, 0, 0}, {17228, 17203, 0, 0, 0, 0, 0}, {136, 15420, 17476, 0, 0, 0, 0}, {32, 768, 21, 4096, 0, 0, 0}, {10, 32, 5654, 20560, 0, 0, 0}, {72, 119, 768, 17408, 0, 0, 0}, {72, 12336, 17408, 0, 0, 0, 0}, {10, 32, 4883, 85, 1280, 0, 0}, {10, 32, 1536, 64, 4112, 0, 0}, {3840, 119, 17476, 0, 0, 0, 0}, {128, 19532, 28784, 0, 0, 0, 0}, {23, 85, 1280, 4352, 0, 0, 0}, {10, 34, 5140, 0, 0, 0, 0}, {63, 768, 64, 0, 0, 0, 0}, {192, 3072, 12288, 0, 0, 0, 0}, {2, 85, 1285, 4369, 0, 0, 0}, {2, 64, 1024, 4096, 0, 0, 0}, {255, 3855, 13107, 0, 0, 0, 0}, {8, 13380, 17476, 0, 0, 0, 0}, {10, 53, 773, 85, 1285, 0, 0}, {10, 13926, 20480, 0, 0, 0, 0}, {8, 55, 775, 64, 1024, 0, 0}, {8, 12288, 64, 1024, 0, 0, 0}, {10, 13107, 85, 1285, 0, 0, 0}, {10, 96, 1536, 20480, 0, 0, 0}, {8, 119, 1799, 17476, 0, 0, 0}, {15564, 0, 0, 0, 0, 0, 0}, {2, 261, 272, 0, 0, 0, 0}, {2, 5188, 0, 0, 0, 0, 0}, {783, 816, 0, 0, 0, 0, 0}, {7248, 32, 20560, 0, 0, 0, 0}, {29, 34, 785, 85, 4369, 0, 0}, {7770, 34, 17408, 0, 0, 0, 0}, {31, 32, 787, 64, 4096, 0, 0}, {72, 96, 5140, 0, 0, 0, 0}, {42, 5632, 85, 0, 0, 0, 0}, {42, 5654, 64, 0, 0, 0, 0}, {95, 119, 5120, 0, 0, 0, 0}, {40, 5200, 0, 0, 0, 0, 0}, {819, 21, 0, 0, 0, 0, 0}, {5722, 5744, 0, 0, 0, 0, 0}, {23, 5188, 0, 0, 0, 0, 0}, {3084, 32, 64, 4112, 0, 0, 0}, {3840, 34, 85, 4352, 0, 0, 0}, {72, 34, 4626, 17476, 0, 0, 0}, {95, 32, 4864, 20480, 0, 0, 0}, {3072, 32, 64, 4096, 0, 0, 0}, {3855, 34, 85, 4369, 0, 0, 0}, {72, 34, 4608, 17408, 0, 0, 0}, {95, 32, 4883, 20560, 0, 0, 0}, {40, 5188, 0, 0, 0, 0, 0}, {816, 21, 0, 0, 0, 0, 0}, {5708, 5734, 0, 0, 0, 0, 0}, {23, 5200, 0, 0, 0, 0, 0}, {72, 96, 5120, 0, 0, 0, 0}, {42, 5654, 85, 0, 0, 0, 0}, {42, 5632, 64, 0, 0, 0, 0}, {95, 119, 5140, 0, 0, 0, 0}, {7244, 32, 20480, 0, 0, 0, 0}, {29, 34, 786, 85, 4352, 0, 0}, {7748, 34, 17476, 0, 0, 0, 0}, {31, 32, 784, 64, 4112, 0, 0}, {15600, 0, 0, 0, 0, 0, 0}, {2, 260, 273, 0, 0, 0, 0}, {2, 5200, 0, 0, 0, 0, 0}, {780, 819, 0, 0, 0, 0, 0}, {8, 12336, 64, 1028, 0, 0, 0}, {10, 13056, 85, 1280, 0, 0, 0}, {10, 96, 1542, 20560, 0, 0, 0}, {8, 119, 1792, 17408, 0, 0, 0}, {8, 13424, 17408, 0, 0, 0, 0}, {10, 53, 774, 85, 1280, 0, 0}, {10, 13904, 20560, 0, 0, 0, 0}, {8, 55, 772, 64, 1028, 0, 0}, {192, 3084, 12336, 0, 0, 0, 0}, {2, 85, 1280, 4352, 0, 0, 0}, {2, 64, 1028, 4112, 0, 0, 0}, {255, 3840, 13056, 0, 0, 0, 0}, {512, 5376, 0, 0, 0, 0, 0}, {60, 257, 0, 0, 0, 0, 0}, {5418, 514, 0, 0, 0, 0, 0}, {259, 5120, 0, 0, 0, 0, 0}, {520, 13056, 4420, 1028, 0, 0, 0}, {522, 12288, 4176, 1285, 0, 0, 0}, {1036, 4454, 1542, 17408, 0, 0, 0}, {1295, 4208, 1799, 20480, 0, 0, 0}, {520, 13568, 21760, 0, 0, 0, 0}, {265, 309, 771, 4437, 1285, 0, 0}, {522, 14080, 16384, 0, 0, 0, 0}, {267, 311, 771, 4160, 1028, 0, 0}, {1036, 512, 4352, 0, 0, 0, 0}, {4128, 514, 1285, 0, 0, 0, 0}, {4386, 514, 1028, 0, 0, 0, 0}, {1295, 512, 4096, 0, 0, 0, 0}, {3840, 544, 1360, 4112, 0, 0, 0}, {3072, 546, 1092, 4369, 0, 0, 0}, {1370, 4144, 4626, 20480, 0, 0, 0}, {1100, 4403, 4883, 17408, 0, 0, 0}, {768, 276, 0, 0, 0, 0, 0}, {554, 5397, 0, 0, 0, 0, 0}, {278, 5120, 0, 0, 0, 0, 0}, {5439, 5911, 0, 0, 0, 0, 0}, {5912, 5424, 1360, 0, 0, 0, 0}, {5401, 5939, 4437, 0, 0, 0, 0}, {5402, 5936, 4160, 0, 0, 0, 0}, {5915, 5427, 1092, 0, 0, 0, 0}, {284, 288, 768, 1360, 4352, 0, 0}, {7453, 546, 21845, 0, 0, 0, 0}, {286, 290, 768, 1092, 4096, 0, 0}, {7967, 544, 16448, 0, 0, 0, 0}, {7424, 544, 21760, 0, 0, 0, 0}, {285, 289, 771, 1365, 4369, 0, 0}, {7936, 546, 16384, 0, 0, 0, 0}, {287, 291, 771, 1088, 4112, 0, 0}, {5388, 5924, 4420, 0, 0, 0, 0}, {5903, 5413, 1365, 0, 0, 0, 0}, {5900, 5414, 1088, 0, 0, 0, 0}, {5391, 5927, 4176, 0, 0, 0, 0}, {552, 5376, 0, 0, 0, 0, 0}, {771, 277, 0, 0, 0, 0, 0}, {5418, 5888, 0, 0, 0, 0, 0}, {279, 5140, 0, 0, 0, 0, 0}, {3084, 544, 1088, 4352, 0, 0, 0}, {3855, 546, 1365, 4096, 0, 0, 0}, {1096, 4386, 4864, 17476, 0, 0, 0}, {1375, 4128, 4608, 20560, 0, 0, 0}, {4144, 512, 1280, 0, 0, 0, 0}, {1032, 514, 4369, 0, 0, 0, 0}, {1290, 514, 4112, 0, 0, 0, 0}, {4403, 512, 1024, 0, 0, 0, 0}, {264, 308, 768, 4420, 1280, 0, 0}, {522, 13621, 21845, 0, 0, 0, 0}, {266, 310, 768, 4176, 1024, 0, 0}, {520, 14135, 16448, 0, 0, 0, 0}, {520, 12336, 4160, 1280, 0, 0, 0}, {522, 13107, 4437, 1024, 0, 0, 0}, {1290, 4192, 1792, 20560, 0, 0, 0}, {1032, 4471, 1536, 17476, 0, 0, 0}, {60, 256, 0, 0, 0, 0, 0}, {514, 5397, 0, 0, 0, 0, 0}, {258, 5140, 0, 0, 0, 0, 0}, {5439, 512, 0, 0, 0, 0, 0}, {2560, 8704, 5440, 0, 0, 0, 0}, {783, 819, 321, 1285, 4369, 0, 0}, {5482, 16962, 0, 0, 0, 0, 0}, {323, 5120, 0, 0, 0, 0, 0}, {4864, 4420, 5376, 0, 0, 0, 0}, {634, 1285, 4112, 0, 0, 0, 0}, {1100, 4454, 582, 17408, 0, 0, 0}, {1295, 4144, 5959, 20480, 0, 0, 0}, {5960, 8192, 21760, 0, 0, 0, 0}, {4124, 4128, 4883, 4437, 1285, 0, 0}, {2570, 5984, 16448, 0, 0, 0, 0}, {1295, 1331, 1536, 1092, 4096, 0, 0}, {1100, 1536, 4352, 0, 0, 0, 0}, {4192, 4626, 1285, 0, 0, 0, 0}, {1546, 4386, 1092, 0, 0, 0, 0}, {1295, 4656, 4160, 0, 0, 0, 0}, {4608, 4176, 5376, 0, 0, 0, 0}, {622, 1028, 4369, 0, 0, 0, 0}, {1370, 4208, 594, 20480, 0, 0, 0}, {1036, 4403, 5971, 17408, 0, 0, 0}, {780, 816, 340, 1028, 4112, 0, 0}, {2048, 8192, 5461, 0, 0, 0, 0}, {342, 5120, 0, 0, 0, 0, 0}, {5503, 22359, 0, 0, 0, 0, 0}, {1800, 4128, 1360, 0, 0, 0, 0}, {1036, 4915, 4437, 0, 0, 0, 0}, {1370, 1792, 4096, 0, 0, 0, 0}, {4471, 4883, 1028, 0, 0, 0, 0}, {1036, 1072, 1792, 1360, 4352, 0, 0}, {2056, 6007, 21845, 0, 0, 0, 0}, {4382, 4386, 4626, 4160, 1028, 0, 0}, {5983, 8704, 16384, 0, 0, 0, 0}, {2048, 5984, 21760, 0, 0, 0, 0}, {1032, 1076, 1799, 1365, 4369, 0, 0}, {5960, 8738, 16448, 0, 0, 0, 0}, {4367, 4403, 4608, 4176, 1024, 0, 0}, {1032, 4896, 4420, 0, 0, 0, 0}, {1807, 4144, 1365, 0, 0, 0, 0}, {4454, 4864, 1024, 0, 0, 0, 0}, {1375, 1799, 4112, 0, 0, 0, 0}, {2056, 8224, 5440, 0, 0, 0, 0}, {783, 819, 341, 1024, 4096, 0, 0}, {5482, 22272, 0, 0, 0, 0, 0}, {343, 5140, 0, 0, 0, 0, 0}, {620, 1024, 4352, 0, 0, 0, 0}, {4626, 4160, 5397, 0, 0, 0, 0}, {1032, 4386, 5956, 17476, 0, 0, 0}, {1375, 4192, 592, 20560, 0, 0, 0}, {4208, 4608, 1280, 0, 0, 0, 0}, {1096, 1542, 4369, 0, 0, 0, 0}, {1290, 4642, 4176, 0, 0, 0, 0}, {1548, 4403, 1088, 0, 0, 0, 0}, {4108, 4144, 4864, 4420, 1280, 0, 0}, {5983, 8224, 21845, 0, 0, 0, 0}, {1290, 1334, 1542, 1088, 4112, 0, 0}, {2560, 6007, 16384, 0, 0, 0, 0}, {632, 1280, 4096, 0, 0, 0, 0}, {4883, 4437, 5397, 0, 0, 0, 0}, {1290, 4128, 5968, 20560, 0, 0, 0}, {1096, 4471, 580, 17476, 0, 0, 0}, {780, 816, 320, 1280, 4352, 0, 0}, {2570, 8738, 5461, 0, 0, 0, 0}, {322, 5140, 0, 0, 0, 0, 0}, {5503, 16896, 0, 0, 0, 0, 0}, {5504, 5888, 21760, 0, 0, 0, 0}, {333, 369, 771, 1285, 4369, 0, 0}, {5928, 8738, 16384, 0, 0, 0, 0}, {4367, 4403, 771, 4160, 5120, 0, 0}, {5388, 4864, 4420, 0, 0, 0, 0}, {4698, 4128, 1285, 0, 0, 0, 0}, {5414, 1542, 1088, 0, 0, 0, 0}, {1295, 1911, 4096, 0, 0, 0, 0}, {648, 8192, 5376, 0, 0, 0, 0}, {60, 771, 325, 1285, 4112, 0, 0}, {16906, 22304, 0, 0, 0, 0, 0}, {5379, 5188, 0, 0, 0, 0, 0}, {1548, 1088, 4352, 0, 0, 0, 0}, {4642, 4176, 1285, 0, 0, 0, 0}, {1096, 4386, 1542, 17476, 0, 0, 0}, {1295, 4208, 4608, 20480, 0, 0, 0}, {5424, 1792, 1360, 0, 0, 0, 0}, {1032, 1638, 4369, 0, 0, 0, 0}, {5402, 4626, 4160, 0, 0, 0, 0}, {4959, 4403, 1024, 0, 0, 0, 0}, {4124, 4128, 768, 4420, 5140, 0, 0}, {5951, 8192, 21845, 0, 0, 0, 0}, {346, 358, 768, 1024, 4096, 0, 0}, {5567, 5911, 16448, 0, 0, 0, 0}, {1800, 1360, 4112, 0, 0, 0, 0}, {4915, 4437, 1024, 0, 0, 0, 0}, {1370, 4144, 1792, 20480, 0, 0, 0}, {1032, 4471, 4883, 17476, 0, 0, 0}, {60, 768, 336, 1024, 4352, 0, 0}, {674, 8738, 5397, 0, 0, 0, 0}, {5398, 5188, 0, 0, 0, 0, 0}, {22367, 16992, 0, 0, 0, 0, 0}, {672, 8704, 5376, 0, 0, 0, 0}, {60, 771, 337, 1028, 4369, 0, 0}, {22280, 16930, 0, 0, 0, 0, 0}, {5379, 5200, 0, 0, 0, 0, 0}, {4896, 4420, 1028, 0, 0, 0, 0}, {1807, 1365, 4096, 0, 0, 0, 0}, {1036, 4454, 4864, 17408, 0, 0, 0}, {1375, 4128, 1799, 20560, 0, 0, 0}, {5928, 8224, 21760, 0, 0, 0, 0}, {4108, 4144, 771, 4437, 5120, 0, 0}, {5546, 5888, 16384, 0, 0, 0, 0}, {347, 359, 771, 1028, 4112, 0, 0}, {1036, 1632, 4352, 0, 0, 0, 0}, {5413, 1799, 1365, 0, 0, 0, 0}, {4940, 4386, 1028, 0, 0, 0, 0}, {5391, 4608, 4176, 0, 0, 0, 0}, {4656, 4160, 1280, 0, 0, 0, 0}, {1546, 1092, 4369, 0, 0, 0, 0}, {1290, 4192, 4626, 20560, 0, 0, 0}, {1100, 4403, 1536, 17408, 0, 0, 0}, {60, 768, 324, 1280, 4096, 0, 0}, {650, 8224, 5397, 0, 0, 0, 0}, {5398, 5200, 0, 0, 0, 0, 0}, {16968, 22391, 0, 0, 0, 0, 0}, {4680, 4144, 1280, 0, 0, 0, 0}, {5401, 4883, 4437, 0, 0, 0, 0}, {1290, 1904, 4112, 0, 0, 0, 0}, {5427, 1536, 1092, 0, 0, 0, 0}, {332, 368, 768, 1280, 4352, 0, 0}, {5525, 5911, 21845, 0, 0, 0, 0}, {4382, 4386, 768, 4176, 5140, 0, 0}, {5951, 8704, 16448, 0, 0, 0, 0}, {5568, 512, 21760, 0, 0, 0, 0}, {269, 305, 514, 1285, 4369, 0, 0}, {5610, 514, 16448, 0, 0, 0, 0}, {271, 307, 512, 1024, 4096, 0, 0}, {1032, 1536, 4420, 0, 0, 0, 0}, {522, 4192, 1285, 0, 0, 0, 0}, {522, 4454, 1024, 0, 0, 0, 0}, {1295, 1799, 4160, 0, 0, 0, 0}, {520, 5440, 0, 0, 0, 0, 0}, {819, 261, 0, 0, 0, 0, 0}, {522, 5984, 0, 0, 0, 0, 0}, {263, 5188, 0, 0, 0, 0, 0}, {204, 512, 1024, 4352, 0, 0, 0}, {240, 514, 1285, 4112, 0, 0, 0}, {1032, 4386, 514, 17476, 0, 0, 0}, {1295, 4144, 512, 20480, 0, 0, 0}, {4128, 4608, 1360, 0, 0, 0, 0}, {1096, 546, 4369, 0, 0, 0, 0}, {1370, 546, 4096, 0, 0, 0, 0}, {4403, 4883, 1088, 0, 0, 0, 0}, {280, 292, 532, 4420, 5140, 0, 0}, {554, 13653, 21845, 0, 0, 0, 0}, {282, 294, 534, 4160, 5120, 0, 0}, {552, 14199, 16384, 0, 0, 0, 0}, {552, 12288, 4176, 5376, 0, 0, 0}, {554, 13107, 4437, 5397, 0, 0, 0}, {1370, 4208, 5888, 20480, 0, 0, 0}, {1096, 4471, 5911, 17476, 0, 0, 0}, {780, 272, 0, 0, 0, 0, 0}, {546, 5461, 0, 0, 0, 0, 0}, {274, 5188, 0, 0, 0, 0, 0}, {5983, 544, 0, 0, 0, 0, 0}, {544, 5440, 0, 0, 0, 0, 0}, {783, 273, 0, 0, 0, 0, 0}, {5960, 546, 0, 0, 0, 0, 0}, {275, 5200, 0, 0, 0, 0, 0}, {552, 13056, 4420, 5376, 0, 0, 0}, {554, 12336, 4160, 5397, 0, 0, 0}, {1100, 4454, 5888, 17408, 0, 0, 0}, {1375, 4192, 5911, 20560, 0, 0, 0}, {552, 13664, 21760, 0, 0, 0, 0}, {281, 293, 534, 4437, 5120, 0, 0}, {554, 14144, 16448, 0, 0, 0, 0}, {283, 295, 532, 4176, 5140, 0, 0}, {1100, 544, 4352, 0, 0, 0, 0}, {4144, 4626, 1365, 0, 0, 0, 0}, {4386, 4864, 1092, 0, 0, 0, 0}, {1375, 544, 4112, 0, 0, 0, 0}, {240, 512, 1280, 4096, 0, 0, 0}, {204, 514, 1028, 4369, 0, 0, 0}, {1290, 4128, 514, 20560, 0, 0, 0}, {1036, 4403, 512, 17408, 0, 0, 0}, {816, 260, 0, 0, 0, 0, 0}, {522, 5461, 0, 0, 0, 0, 0}, {262, 5200, 0, 0, 0, 0, 0}, {520, 6007, 0, 0, 0, 0, 0}, {520, 4208, 1280, 0, 0, 0, 0}, {1036, 1542, 4437, 0, 0, 0, 0}, {1290, 1792, 4176, 0, 0, 0, 0}, {520, 4471, 1028, 0, 0, 0, 0}, {268, 304, 512, 1280, 4352, 0, 0}, {5589, 514, 21845, 0, 0, 0, 0}, {270, 306, 514, 1028, 4112, 0, 0}, {5631, 512, 16384, 0, 0, 0, 0}, {512, 5120, 0, 0, 0, 0, 0}, {63, 257, 0, 0, 0, 0, 0}, {5160, 514, 0, 0, 0, 0, 0}, {259, 5376, 0, 0, 0, 0, 0}, {520, 12288, 4160, 1028, 0, 0, 0}, {522, 13056, 4437, 1285, 0, 0, 0}, {1036, 4192, 1542, 16384, 0, 0, 0}, {1295, 4471, 1799, 21760, 0, 0, 0}, {520, 13824, 20480, 0, 0, 0, 0}, {265, 310, 771, 4176, 1285, 0, 0}, {522, 13312, 17408, 0, 0, 0, 0}, {267, 308, 771, 4420, 1028, 0, 0}, {1036, 512, 4096, 0, 0, 0, 0}, {4386, 514, 1285, 0, 0, 0, 0}, {4128, 514, 1028, 0, 0, 0, 0}, {1295, 512, 4352, 0, 0, 0, 0}, {3072, 544, 1088, 4112, 0, 0, 0}, {3840, 546, 1365, 4369, 0, 0, 0}, {1096, 4144, 4626, 16384, 0, 0, 0}, {1375, 4403, 4883, 21760, 0, 0, 0}, {552, 5140, 0, 0, 0, 0, 0}, {768, 277, 0, 0, 0, 0, 0}, {5180, 5654, 0, 0, 0, 0, 0}, {279, 5376, 0, 0, 0, 0, 0}, {5144, 5680, 4176, 0, 0, 0, 0}, {5657, 5171, 1365, 0, 0, 0, 0}, {5658, 5168, 1088, 0, 0, 0, 0}, {5147, 5683, 4420, 0, 0, 0, 0}, {7196, 544, 20560, 0, 0, 0, 0}, {285, 290, 768, 1365, 4096, 0, 0}, {7710, 546, 17476, 0, 0, 0, 0}, {287, 288, 768, 1088, 4352, 0, 0}, {7680, 544, 17408, 0, 0, 0, 0}, {286, 289, 771, 1092, 4369, 0, 0}, {7168, 546, 20480, 0, 0, 0, 0}, {284, 291, 771, 1360, 4112, 0, 0}, {5644, 5156, 1092, 0, 0, 0, 0}, {5135, 5669, 4437, 0, 0, 0, 0}, {5132, 5670, 4160, 0, 0, 0, 0}, {5647, 5159, 1360, 0, 0, 0, 0}, {5160, 5632, 0, 0, 0, 0, 0}, {278, 5397, 0, 0, 0, 0, 0}, {554, 5120, 0, 0, 0, 0, 0}, {771, 276, 0, 0, 0, 0, 0}, {1100, 4128, 4608, 16448, 0, 0, 0}, {1370, 4386, 4864, 21845, 0, 0, 0}, {3084, 546, 1092, 4096, 0, 0, 0}, {3855, 544, 1360, 4352, 0, 0, 0}, {4144, 512, 1024, 0, 0, 0, 0}, {1290, 514, 4369, 0, 0, 0, 0}, {1032, 514, 4112, 0, 0, 0, 0}, {4403, 512, 1280, 0, 0, 0, 0}, {520, 13364, 17476, 0, 0, 0, 0}, {266, 309, 768, 4437, 1024, 0, 0}, {522, 13878, 20560, 0, 0, 0, 0}, {264, 311, 768, 4160, 1280, 0, 0}, {1032, 4208, 1536, 16448, 0, 0, 0}, {1290, 4454, 1792, 21845, 0, 0, 0}, {522, 12336, 4176, 1024, 0, 0, 0}, {520, 13107, 4420, 1280, 0, 0, 0}, {5180, 512, 0, 0, 0, 0, 0}, {258, 5397, 0, 0, 0, 0, 0}, {514, 5140, 0, 0, 0, 0, 0}, {63, 256, 0, 0, 0, 0, 0}, {4608, 4160, 5120, 0, 0, 0, 0}, {637, 1285, 4369, 0, 0, 0, 0}, {1096, 4192, 578, 16384, 0, 0, 0}, {1295, 4403, 5699, 21760, 0, 0, 0}, {2560, 8192, 5188, 0, 0, 0, 0}, {783, 816, 325, 1285, 4112, 0, 0}, {5228, 17990, 0, 0, 0, 0, 0}, {327, 5376, 0, 0, 0, 0, 0}, {1096, 1536, 4096, 0, 0, 0, 0}, {4454, 4883, 1285, 0, 0, 0, 0}, {1546, 4128, 1088, 0, 0, 0, 0}, {1295, 4915, 4420, 0, 0, 0, 0}, {5708, 8704, 20480, 0, 0, 0, 0}, {4381, 4386, 4626, 4176, 1285, 0, 0}, {2570, 5734, 17476, 0, 0, 0, 0}, {1295, 1328, 1536, 1088, 4352, 0, 0}, {2048, 8704, 5200, 0, 0, 0, 0}, {780, 819, 337, 1028, 4369, 0, 0}, {5240, 21074, 0, 0, 0, 0, 0}, {339, 5376, 0, 0, 0, 0, 0}, {616, 1028, 4112, 0, 0, 0, 0}, {4864, 4437, 5120, 0, 0, 0, 0}, {1036, 4144, 5718, 16384, 0, 0, 0}, {1375, 4471, 599, 21760, 0, 0, 0}, {2056, 5744, 20560, 0, 0, 0, 0}, {1036, 1075, 1792, 1365, 4096, 0, 0}, {5722, 8192, 17408, 0, 0, 0, 0}, {4127, 4128, 4883, 4420, 1028, 0, 0}, {1036, 4656, 4176, 0, 0, 0, 0}, {1800, 4386, 1365, 0, 0, 0, 0}, {4208, 4626, 1028, 0, 0, 0, 0}, {1375, 1792, 4352, 0, 0, 0, 0}, {4192, 4608, 1024, 0, 0, 0, 0}, {1370, 1799, 4369, 0, 0, 0, 0}, {1032, 4642, 4160, 0, 0, 0, 0}, {1807, 4403, 1360, 0, 0, 0, 0}, {5708, 8224, 17476, 0, 0, 0, 0}, {4111, 4144, 4864, 4437, 1024, 0, 0}, {2048, 5734, 20480, 0, 0, 0, 0}, {1032, 1079, 1799, 1360, 4112, 0, 0}, {1032, 4128, 5696, 16448, 0, 0, 0}, {1370, 4454, 597, 21845, 0, 0, 0}, {618, 1024, 4096, 0, 0, 0, 0}, {4883, 4420, 5140, 0, 0, 0, 0}, {5228, 20992, 0, 0, 0, 0, 0}, {338, 5397, 0, 0, 0, 0, 0}, {2056, 8738, 5188, 0, 0, 0, 0}, {783, 816, 336, 1024, 4352, 0, 0}, {2560, 5744, 17408, 0, 0, 0, 0}, {1290, 1333, 1542, 1092, 4369, 0, 0}, {5722, 8738, 20560, 0, 0, 0, 0}, {4364, 4403, 4608, 4160, 1280, 0, 0}, {1548, 4144, 1092, 0, 0, 0, 0}, {1290, 4896, 4437, 0, 0, 0, 0}, {1100, 1542, 4112, 0, 0, 0, 0}, {4471, 4864, 1280, 0, 0, 0, 0}, {5240, 17920, 0, 0, 0, 0, 0}, {326, 5397, 0, 0, 0, 0, 0}, {2570, 8224, 5200, 0, 0, 0, 0}, {780, 819, 324, 1280, 4096, 0, 0}, {1100, 4208, 576, 16448, 0, 0, 0}, {1290, 4386, 5717, 21845, 0, 0, 0}, {4626, 4176, 5140, 0, 0, 0, 0}, {639, 1280, 4352, 0, 0, 0, 0}, {640, 8704, 5120, 0, 0, 0, 0}, {63, 771, 321, 1285, 4369, 0, 0}, {17930, 21026, 0, 0, 0, 0, 0}, {5123, 5440, 0, 0, 0, 0, 0}, {1548, 1092, 4096, 0, 0, 0, 0}, {4896, 4437, 1285, 0, 0, 0, 0}, {1100, 4128, 1542, 16448, 0, 0, 0}, {1295, 4471, 4864, 21760, 0, 0, 0}, {5256, 5632, 20480, 0, 0, 0, 0}, {329, 374, 771, 1285, 4112, 0, 0}, {5674, 8224, 17408, 0, 0, 0, 0}, {4111, 4144, 771, 4420, 5376, 0, 0}, {5132, 4608, 4160, 0, 0, 0, 0}, {4959, 4386, 1285, 0, 0, 0, 0}, {5156, 1542, 1092, 0, 0, 0, 0}, {1295, 1904, 4352, 0, 0, 0, 0}, {4656, 4176, 1024, 0, 0, 0, 0}, {1800, 1365, 4369, 0, 0, 0, 0}, {1032, 4208, 4626, 16448, 0, 0, 0}, {1375, 4403, 1792, 21760, 0, 0, 0}, {680, 8224, 5140, 0, 0, 0, 0}, {63, 768, 341, 1024, 4096, 0, 0}, {21082, 18022, 0, 0, 0, 0, 0}, {5143, 5440, 0, 0, 0, 0, 0}, {1032, 1632, 4112, 0, 0, 0, 0}, {5171, 1792, 1365, 0, 0, 0, 0}, {4698, 4144, 1024, 0, 0, 0, 0}, {5147, 4883, 4420, 0, 0, 0, 0}, {5692, 8704, 20560, 0, 0, 0, 0}, {4381, 4386, 768, 4160, 5397, 0, 0}, {5300, 5654, 17476, 0, 0, 0, 0}, {351, 352, 768, 1024, 4352, 0, 0}, {5280, 5632, 17408, 0, 0, 0, 0}, {350, 353, 771, 1028, 4369, 0, 0}, {5674, 8738, 20480, 0, 0, 0, 0}, {4364, 4403, 771, 4176, 5376, 0, 0}, {4680, 4128, 1028, 0, 0, 0, 0}, {5135, 4864, 4437, 0, 0, 0, 0}, {1036, 1638, 4096, 0, 0, 0, 0}, {5159, 1799, 1360, 0, 0, 0, 0}, {21000, 17952, 0, 0, 0, 0, 0}, {5123, 5461, 0, 0, 0, 0, 0}, {682, 8192, 5120, 0, 0, 0, 0}, {63, 771, 340, 1028, 4112, 0, 0}, {1036, 4192, 4608, 16384, 0, 0, 0}, {1370, 4386, 1799, 21845, 0, 0, 0}, {4642, 4160, 1028, 0, 0, 0, 0}, {1807, 1360, 4352, 0, 0, 0, 0}, {5168, 1536, 1088, 0, 0, 0, 0}, {1290, 1911, 4369, 0, 0, 0, 0}, {5144, 4626, 4176, 0, 0, 0, 0}, {4940, 4403, 1280, 0, 0, 0, 0}, {5692, 8192, 17476, 0, 0, 0, 0}, {4127, 4128, 768, 4437, 5397, 0, 0}, {5276, 5654, 20560, 0, 0, 0, 0}, {328, 375, 768, 1280, 4096, 0, 0}, {1096, 4144, 1536, 16384, 0, 0, 0}, {1290, 4454, 4883, 21845, 0, 0, 0}, {1546, 1088, 4112, 0, 0, 0, 0}, {4915, 4420, 1280, 0, 0, 0, 0}, {17996, 21104, 0, 0, 0, 0, 0}, {5143, 5461, 0, 0, 0, 0, 0}, {642, 8738, 5140, 0, 0, 0, 0}, {63, 768, 320, 1280, 4352, 0, 0}, {192, 512, 1024, 4096, 0, 0, 0}, {255, 514, 1285, 4369, 0, 0, 0}, {1032, 4128, 514, 16448, 0, 0, 0}, {1295, 4403, 512, 21760, 0, 0, 0}, {520, 5188, 0, 0, 0, 0, 0}, {816, 261, 0, 0, 0, 0, 0}, {522, 5734, 0, 0, 0, 0, 0}, {263, 5440, 0, 0, 0, 0, 0}, {1032, 1536, 4160, 0, 0, 0, 0}, {522, 4454, 1285, 0, 0, 0, 0}, {522, 4192, 1024, 0, 0, 0, 0}, {1295, 1799, 4420, 0, 0, 0, 0}, {5324, 512, 20480, 0, 0, 0, 0}, {269, 306, 514, 1285, 4112, 0, 0}, {5348, 514, 17476, 0, 0, 0, 0}, {271, 304, 512, 1024, 4352, 0, 0}, {544, 5200, 0, 0, 0, 0, 0}, {780, 273, 0, 0, 0, 0, 0}, {5722, 546, 0, 0, 0, 0, 0}, {275, 5440, 0, 0, 0, 0, 0}, {552, 12336, 4176, 5140, 0, 0, 0}, {554, 13056, 4437, 5120, 0, 0, 0}, {1100, 4208, 5654, 16448, 0, 0, 0}, {1375, 4471, 5632, 21760, 0, 0, 0}, {552, 13904, 20560, 0, 0, 0, 0}, {281, 294, 533, 4160, 5397, 0, 0}, {554, 13424, 17408, 0, 0, 0, 0}, {283, 292, 535, 4420, 5376, 0, 0}, {1100, 544, 4112, 0, 0, 0, 0}, {4386, 4864, 1365, 0, 0, 0, 0}, {4144, 4626, 1092, 0, 0, 0, 0}, {1375, 544, 4352, 0, 0, 0, 0}, {4128, 4608, 1088, 0, 0, 0, 0}, {1370, 546, 4369, 0, 0, 0, 0}, {1096, 546, 4096, 0, 0, 0, 0}, {4403, 4883, 1360, 0, 0, 0, 0}, {552, 13380, 17476, 0, 0, 0, 0}, {282, 293, 533, 4437, 5397, 0, 0}, {554, 13926, 20480, 0, 0, 0, 0}, {280, 295, 535, 4176, 5376, 0, 0}, {1096, 4192, 5632, 16384, 0, 0, 0}, {1370, 4454, 5654, 21845, 0, 0, 0}, {554, 12288, 4160, 5120, 0, 0, 0}, {552, 13107, 4420, 5140, 0, 0, 0}, {5708, 544, 0, 0, 0, 0, 0}, {274, 5461, 0, 0, 0, 0, 0}, {546, 5188, 0, 0, 0, 0, 0}, {783, 272, 0, 0, 0, 0, 0}, {5360, 512, 17408, 0, 0, 0, 0}, {270, 305, 514, 1028, 4369, 0, 0}, {5336, 514, 20560, 0, 0, 0, 0}, {268, 307, 512, 1280, 4096, 0, 0}, {520, 4208, 1028, 0, 0, 0, 0}, {1290, 1792, 4437, 0, 0, 0, 0}, {1036, 1542, 4176, 0, 0, 0, 0}, {520, 4471, 1280, 0, 0, 0, 0}, {520, 5744, 0, 0, 0, 0, 0}, {262, 5461, 0, 0, 0, 0, 0}, {522, 5200, 0, 0, 0, 0, 0}, {819, 260, 0, 0, 0, 0, 0}, {1036, 4144, 512, 16384, 0, 0, 0}, {1290, 4386, 514, 21845, 0, 0, 0}, {192, 514, 1028, 4112, 0, 0, 0}, {255, 512, 1280, 4352, 0, 0, 0}, {16128, 0, 0, 0, 0, 0, 0}, {2, 20, 257, 0, 0, 0, 0}, {2, 5376, 0, 0, 0, 0, 0}, {60, 771, 0, 0, 0, 0, 0}, {8, 13056, 68, 1028, 0, 0, 0}, {10, 12288, 80, 1285, 0, 0, 0}, {10, 102, 1542, 21760, 0, 0, 0}, {8, 112, 1799, 16384, 0, 0, 0}, {8, 14080, 16384, 0, 0, 0, 0}, {10, 54, 771, 80, 1285, 0, 0}, {10, 13568, 21760, 0, 0, 0, 0}, {8, 52, 771, 68, 1028, 0, 0}, {204, 3084, 13056, 0, 0, 0, 0}, {2, 80, 1285, 4096, 0, 0, 0}, {2, 68, 1028, 4352, 0, 0, 0}, {240, 3855, 12288, 0, 0, 0, 0}, {3840, 32, 80, 4112, 0, 0, 0}, {3072, 34, 68, 4369, 0, 0, 0}, {90, 34, 4626, 21760, 0, 0, 0}, {76, 32, 4883, 16384, 0, 0, 0}, {768, 20, 0, 0, 0, 0, 0}, {42, 5397, 0, 0, 0, 0, 0}, {22, 5376, 0, 0, 0, 0, 0}, {40, 5911, 0, 0, 0, 0, 0}, {5912, 5936, 80, 0, 0, 0, 0}, {5401, 5427, 5461, 0, 0, 0, 0}, {5402, 5424, 5440, 0, 0, 0, 0}, {5915, 5939, 68, 0, 0, 0, 0}, {28, 32, 768, 80, 4096, 0, 0}, {7453, 34, 21845, 0, 0, 0, 0}, {30, 34, 768, 68, 4352, 0, 0}, {7967, 32, 16448, 0, 0, 0, 0}, {7936, 32, 16384, 0, 0, 0, 0}, {30, 34, 771, 68, 4369, 0, 0}, {7424, 34, 21760, 0, 0, 0, 0}, {28, 32, 771, 80, 4112, 0, 0}, {5900, 5924, 68, 0, 0, 0, 0}, {5391, 5413, 5461, 0, 0, 0, 0}, {5388, 5414, 5440, 0, 0, 0, 0}, {5903, 5927, 80, 0, 0, 0, 0}, {40, 5888, 0, 0, 0, 0, 0}, {22, 5397, 0, 0, 0, 0, 0}, {42, 5376, 0, 0, 0, 0, 0}, {771, 20, 0, 0, 0, 0, 0}, {76, 32, 4864, 16448, 0, 0, 0}, {90, 34, 4608, 21845, 0, 0, 0}, {3084, 34, 68, 4352, 0, 0, 0}, {3855, 32, 80, 4096, 0, 0, 0}, {240, 3840, 12336, 0, 0, 0, 0}, {2, 68, 1024, 4369, 0, 0, 0}, {2, 80, 1280, 4112, 0, 0, 0}, {204, 3072, 13107, 0, 0, 0, 0}, {8, 52, 768, 68, 1024, 0, 0}, {10, 13621, 21845, 0, 0, 0, 0}, {10, 54, 768, 80, 1280, 0, 0}, {8, 14135, 16448, 0, 0, 0, 0}, {8, 112, 1792, 16448, 0, 0, 0}, {10, 102, 1536, 21845, 0, 0, 0}, {10, 12336, 80, 1280, 0, 0, 0}, {8, 13107, 68, 1024, 0, 0, 0}, {60, 768, 0, 0, 0, 0, 0}, {2, 5397, 0, 0, 0, 0, 0}, {2, 20, 256, 0, 0, 0, 0}, {16191, 0, 0, 0, 0, 0, 0}, {128, 16192, 16448, 0, 0, 0, 0}, {34, 785, 20, 4369, 0, 0, 0}, {10, 34, 5954, 21760, 0, 0, 0}, {76, 112, 835, 16384, 0, 0, 0}, {3072, 13056, 68, 0, 0, 0, 0}, {10, 32, 80, 1285, 4112, 0, 0}, {70, 5376, 0, 0, 0, 0, 0}, {120, 18247, 0, 0, 0, 0, 0}, {136, 18504, 30464, 0, 0, 0, 0}, {22, 80, 1285, 4096, 0, 0, 0}, {10, 32, 5440, 0, 0, 0, 0}, {783, 819, 68, 0, 0, 0, 0}, {76, 13056, 16384, 0, 0, 0, 0}, {10, 34, 4626, 80, 1285, 0, 0}, {10, 34, 1536, 68, 4352, 0, 0}, {3855, 112, 16448, 0, 0, 0, 0}, {3840, 12288, 80, 0, 0, 0, 0}, {8, 34, 68, 1028, 4369, 0, 0}, {82, 5376, 0, 0, 0, 0, 0}, {108, 21331, 0, 0, 0, 0, 0}, {32, 784, 20, 4112, 0, 0, 0}, {170, 16213, 21845, 0, 0, 0, 0}, {90, 102, 854, 21760, 0, 0, 0}, {8, 32, 5975, 16384, 0, 0, 0}, {8, 32, 1792, 80, 4096, 0, 0}, {3084, 102, 21845, 0, 0, 0, 0}, {90, 12288, 21760, 0, 0, 0, 0}, {8, 32, 4883, 68, 1028, 0, 0}, {780, 816, 80, 0, 0, 0, 0}, {8, 34, 5461, 0, 0, 0, 0}, {22, 68, 1028, 4352, 0, 0, 0}, {160, 24415, 24576, 0, 0, 0, 0}, {160, 24320, 24672, 0, 0, 0, 0}, {22, 68, 1024, 4369, 0, 0, 0}, {8, 34, 5440, 0, 0, 0, 0}, {783, 819, 80, 0, 0, 0, 0}, {8, 32, 4864, 68, 1024, 0, 0}, {90, 12336, 21845, 0, 0, 0, 0}, {3072, 102, 21760, 0, 0, 0, 0}, {8, 32, 1799, 80, 4112, 0, 0}, {8, 32, 5952, 16448, 0, 0, 0}, {90, 102, 853, 21845, 0, 0, 0}, {170, 16234, 21760, 0, 0, 0, 0}, {32, 787, 20, 4096, 0, 0, 0}, {108, 21248, 0, 0, 0, 0, 0}, {82, 5397, 0, 0, 0, 0, 0}, {8, 34, 68, 1024, 4352, 0, 0}, {3855, 12336, 80, 0, 0, 0, 0}, {3840, 112, 16384, 0, 0, 0, 0}, {10, 34, 1542, 68, 4369, 0, 0}, {10, 34, 4608, 80, 1280, 0, 0}, {76, 13107, 16448, 0, 0, 0, 0}, {780, 816, 68, 0, 0, 0, 0}, {10, 32, 5461, 0, 0, 0, 0}, {22, 80, 1280, 4112, 0, 0, 0}, {136, 18432, 30583, 0, 0, 0, 0}, {120, 18176, 0, 0, 0, 0, 0}, {70, 5397, 0, 0, 0, 0, 0}, {10, 32, 80, 1280, 4096, 0, 0}, {3084, 13107, 68, 0, 0, 0, 0}, {76, 112, 832, 16448, 0, 0, 0}, {10, 34, 5973, 21845, 0, 0, 0}, {34, 786, 20, 4352, 0, 0, 0}, {128, 16255, 16384, 0, 0, 0, 0}, {128, 16128, 16384, 0, 0, 0, 0}, {34, 771, 20, 4369, 0, 0, 0}, {10, 34, 5888, 21760, 0, 0, 0}, {76, 112, 771, 16448, 0, 0, 0}, {3084, 13056, 68, 0, 0, 0, 0}, {10, 32, 80, 1285, 4096, 0, 0}, {5382, 5440, 0, 0, 0, 0, 0}, {18191, 18295, 0, 0, 0, 0, 0}, {136, 18432, 30464, 0, 0, 0, 0}, {22, 80, 1285, 4112, 0, 0, 0}, {10, 32, 5376, 0, 0, 0, 0}, {60, 771, 68, 0, 0, 0, 0}, {76, 13056, 16448, 0, 0, 0, 0}, {10, 34, 4608, 80, 1285, 0, 0}, {10, 34, 1542, 68, 4352, 0, 0}, {3855, 112, 16384, 0, 0, 0, 0}, {3840, 12336, 80, 0, 0, 0, 0}, {8, 34, 68, 1024, 4369, 0, 0}, {5394, 5440, 0, 0, 0, 0, 0}, {21343, 21299, 0, 0, 0, 0, 0}, {32, 768, 20, 4096, 0, 0, 0}, {170, 16191, 21845, 0, 0, 0, 0}, {90, 102, 768, 21760, 0, 0, 0}, {8, 32, 5911, 16448, 0, 0, 0}, {8, 32, 1792, 80, 4112, 0, 0}, {3072, 102, 21845, 0, 0, 0, 0}, {90, 12336, 21760, 0, 0, 0, 0}, {8, 32, 4883, 68, 1024, 0, 0}, {60, 768, 80, 0, 0, 0, 0}, {8, 34, 5397, 0, 0, 0, 0}, {22, 68, 1024, 4352, 0, 0, 0}, {160, 24415, 24672, 0, 0, 0, 0}, {160, 24320, 24576, 0, 0, 0, 0}, {22, 68, 1028, 4369, 0, 0, 0}, {8, 34, 5376, 0, 0, 0, 0}, {60, 771, 80, 0, 0, 0, 0}, {8, 32, 4864, 68, 1028, 0, 0}, {90, 12288, 21845, 0, 0, 0, 0}, {3084, 102, 21760, 0, 0, 0, 0}, {8, 32, 1799, 80, 4096, 0, 0}, {8, 32, 5888, 16384, 0, 0, 0}, {90, 102, 771, 21845, 0, 0, 0}, {170, 16128, 21760, 0, 0, 0, 0}, {32, 771, 20, 4112, 0, 0, 0}, {21260, 21344, 0, 0, 0, 0, 0}, {5383, 5461, 0, 0, 0, 0, 0}, {8, 34, 68, 1028, 4352, 0, 0}, {3855, 12288, 80, 0, 0, 0, 0}, {3840, 112, 16448, 0, 0, 0, 0}, {10, 34, 1536, 68, 4369, 0, 0}, {10, 34, 4626, 80, 1280, 0, 0}, {76, 13107, 16384, 0, 0, 0, 0}, {60, 768, 68, 0, 0, 0, 0}, {10, 32, 5397, 0, 0, 0, 0}, {22, 80, 1280, 4096, 0, 0, 0}, {136, 18504, 30583, 0, 0, 0, 0}, {18248, 18224, 0, 0, 0, 0, 0}, {5395, 5461, 0, 0, 0, 0, 0}, {10, 32, 80, 1280, 4112, 0, 0}, {3072, 13107, 68, 0, 0, 0, 0}, {76, 112, 768, 16384, 0, 0, 0}, {10, 34, 5911, 21845, 0, 0, 0}, {34, 768, 20, 4352, 0, 0, 0}, {128, 16191, 16448, 0, 0, 0, 0}, {16320, 0, 0, 0, 0, 0, 0}, {2, 261, 273, 0, 0, 0, 0}, {2, 5440, 0, 0, 0, 0, 0}, {783, 819, 0, 0, 0, 0, 0}, {8, 13056, 68, 1024, 0, 0, 0}, {10, 12336, 80, 1285, 0, 0, 0}, {10, 102, 1536, 21760, 0, 0, 0}, {8, 112, 1799, 16448, 0, 0, 0}, {8, 14144, 16448, 0, 0, 0, 0}, {10, 54, 773, 80, 1285, 0, 0}, {10, 13664, 21760, 0, 0, 0, 0}, {8, 52, 775, 68, 1024, 0, 0}, {204, 3072, 13056, 0, 0, 0, 0}, {2, 80, 1285, 4112, 0, 0, 0}, {2, 68, 1024, 4352, 0, 0, 0}, {240, 3855, 12336, 0, 0, 0, 0}, {3840, 32, 80, 4096, 0, 0, 0}, {3084, 34, 68, 4369, 0, 0, 0}, {90, 34, 4608, 21760, 0, 0, 0}, {76, 32, 4883, 16448, 0, 0, 0}, {816, 20, 0, 0, 0, 0, 0}, {42, 5461, 0, 0, 0, 0, 0}, {22, 5440, 0, 0, 0, 0, 0}, {5983, 6007, 0, 0, 0, 0, 0}, {40, 5888, 80, 0, 0, 0, 0}, {76, 102, 5397, 0, 0, 0, 0}, {90, 112, 5376, 0, 0, 0, 0}, {40, 5911, 68, 0, 0, 0, 0}, {28, 32, 784, 80, 4112, 0, 0}, {7509, 34, 21845, 0, 0, 0, 0}, {30, 34, 786, 68, 4352, 0, 0}, {8031, 32, 16384, 0, 0, 0, 0}, {8000, 32, 16448, 0, 0, 0, 0}, {30, 34, 785, 68, 4369, 0, 0}, {7496, 34, 21760, 0, 0, 0, 0}, {28, 32, 787, 80, 4096, 0, 0}, {40, 5888, 68, 0, 0, 0, 0}, {90, 112, 5397, 0, 0, 0, 0}, {76, 102, 5376, 0, 0, 0, 0}, {40, 5911, 80, 0, 0, 0, 0}, {5960, 5984, 0, 0, 0, 0, 0}, {22, 5461, 0, 0, 0, 0, 0}, {42, 5440, 0, 0, 0, 0, 0}, {819, 20, 0, 0, 0, 0, 0}, {76, 32, 4864, 16384, 0, 0, 0}, {90, 34, 4626, 21845, 0, 0, 0}, {3072, 34, 68, 4352, 0, 0, 0}, {3855, 32, 80, 4112, 0, 0, 0}, {240, 3840, 12288, 0, 0, 0, 0}, {2, 68, 1028, 4369, 0, 0, 0}, {2, 80, 1280, 4096, 0, 0, 0}, {204, 3084, 13107, 0, 0, 0, 0}, {8, 52, 772, 68, 1028, 0, 0}, {10, 13653, 21845, 0, 0, 0, 0}, {10, 54, 774, 80, 1280, 0, 0}, {8, 14199, 16384, 0, 0, 0, 0}, {8, 112, 1792, 16384, 0, 0, 0}, {10, 102, 1542, 21845, 0, 0, 0}, {10, 12288, 80, 1280, 0, 0, 0}, {8, 13107, 68, 1028, 0, 0, 0}, {780, 816, 0, 0, 0, 0, 0}, {2, 5461, 0, 0, 0, 0, 0}, {2, 260, 272, 0, 0, 0, 0}, {16383, 0, 0, 0, 0, 0, 0}, {16384, 0, 0, 0, 0, 0, 0}, {5, 17, 257, 0, 0, 0, 0}, {16386, 0, 0, 0, 0, 0, 0}, {16387, 0, 0, 0, 0, 0, 0}, {68, 1028, 0, 0, 0, 0, 0}, {5, 4096, 0, 0, 0, 0, 0}, {16390, 0, 0, 0, 0, 0, 0}, {16391, 0, 0, 0, 0, 0, 0}, {16392, 0, 0, 0, 0, 0, 0}, {4099, 5, 0, 0, 0, 0, 0}, {10, 8192, 16384, 0, 0, 0, 0}, {15, 51, 771, 68, 1028, 0, 0}, {16396, 0, 0, 0, 0, 0, 0}, {4098, 5, 0, 0, 0, 0, 0}, {10, 34, 514, 68, 1028, 0, 0}, {15, 12288, 16384, 0, 0, 0, 0}, {80, 4112, 0, 0, 0, 0, 0}, {1024, 17, 0, 0, 0, 0, 0}, {16402, 0, 0, 0, 0, 0, 0}, {16403, 0, 0, 0, 0, 0, 0}, {20, 4096, 0, 0, 0, 0, 0}, {85, 5397, 0, 0, 0, 0, 0}, {16406, 0, 0, 0, 0, 0, 0}, {16407, 0, 0, 0, 0, 0, 0}, {4120, 4144, 80, 0, 0, 0, 0}, {5401, 51, 85, 0, 0, 0, 0}, {90, 12336, 16448, 0, 0, 0, 0}, {27, 51, 4864, 68, 1024, 0, 0}, {4124, 4128, 80, 0, 0, 0, 0}, {5405, 34, 85, 0, 0, 0, 0}, {30, 34, 4608, 68, 1024, 0, 0}, {95, 8224, 16448, 0, 0, 0, 0}, {16416, 0, 0, 0, 0, 0, 0}, {1027, 17, 0, 0, 0, 0, 0}, {2048, 34, 16384, 0, 0, 0, 0}, {15, 51, 771, 80, 4112, 0, 0}, {1036, 1060, 68, 0, 0, 0, 0}, {15, 5413, 85, 0, 0, 0, 0}, {3084, 102, 16448, 0, 0, 0, 0}, {15, 39, 1792, 80, 4096, 0, 0}, {40, 8192, 16384, 0, 0, 0, 0}, {15, 51, 771, 85, 5397, 0, 0}, {16426, 0, 0, 0, 0, 0, 0}, {4099, 20, 0, 0, 0, 0, 0}, {108, 8224, 16448, 0, 0, 0, 0}, {15, 34, 4608, 85, 5376, 0, 0}, {1036, 34, 68, 0, 0, 0, 0}, {15, 4128, 80, 0, 0, 0, 0}, {16432, 0, 0, 0, 0, 0, 0}, {1026, 17, 0, 0, 0, 0, 0}, {10, 34, 514, 80, 4112, 0, 0}, {3072, 51, 16384, 0, 0, 0, 0}, {1032, 1076, 68, 0, 0, 0, 0}, {10, 5429, 85, 0, 0, 0, 0}, {10, 54, 1536, 80, 4096, 0, 0}, {2056, 119, 16448, 0, 0, 0, 0}, {120, 12336, 16448, 0, 0, 0, 0}, {10, 51, 4864, 85, 5376, 0, 0}, {10, 4144, 80, 0, 0, 0, 0}, {1032, 51, 68, 0, 0, 0, 0}, {60, 12288, 16384, 0, 0, 0, 0}, {10, 34, 514, 85, 5397, 0, 0}, {4098, 20, 0, 0, 0, 0, 0}, {16447, 0, 0, 0, 0, 0, 0}, {16448, 0, 0, 0, 0, 0, 0}, {5, 17, 256, 0, 0, 0, 0}, {16450, 0, 0, 0, 0, 0, 0}, {16451, 0, 0, 0, 0, 0, 0}, {68, 1024, 0, 0, 0, 0, 0}, {5, 4112, 0, 0, 0, 0, 0}, {16454, 0, 0, 0, 0, 0, 0}, {16455, 0, 0, 0, 0, 0, 0}, {16456, 0, 0, 0, 0, 0, 0}, {4115, 5, 0, 0, 0, 0, 0}, {10, 8224, 16448, 0, 0, 0, 0}, {15, 51, 768, 68, 1024, 0, 0}, {16460, 0, 0, 0, 0, 0, 0}, {4114, 5, 0, 0, 0, 0, 0}, {10, 34, 512, 68, 1024, 0, 0}, {15, 12336, 16448, 0, 0, 0, 0}, {80, 4096, 0, 0, 0, 0, 0}, {1028, 17, 0, 0, 0, 0, 0}, {16466, 0, 0, 0, 0, 0, 0}, {16467, 0, 0, 0, 0, 0, 0}, {20, 4112, 0, 0, 0, 0, 0}, {85, 5376, 0, 0, 0, 0, 0}, {16470, 0, 0, 0, 0, 0, 0}, {16471, 0, 0, 0, 0, 0, 0}, {4104, 4128, 80, 0, 0, 0, 0}, {5388, 51, 85, 0, 0, 0, 0}, {90, 12288, 16384, 0, 0, 0, 0}, {27, 51, 4883, 68, 1028, 0, 0}, {4108, 4144, 80, 0, 0, 0, 0}, {5384, 34, 85, 0, 0, 0, 0}, {30, 34, 4626, 68, 1028, 0, 0}, {95, 8192, 16384, 0, 0, 0, 0}, {16480, 0, 0, 0, 0, 0, 0}, {1031, 17, 0, 0, 0, 0, 0}, {2056, 34, 16448, 0, 0, 0, 0}, {15, 51, 768, 80, 4096, 0, 0}, {1032, 1056, 68, 0, 0, 0, 0}, {15, 5424, 85, 0, 0, 0, 0}, {3072, 102, 16384, 0, 0, 0, 0}, {15, 39, 1799, 80, 4112, 0, 0}, {40, 8224, 16448, 0, 0, 0, 0}, {15, 51, 768, 85, 5376, 0, 0}, {16490, 0, 0, 0, 0, 0, 0}, {4115, 20, 0, 0, 0, 0, 0}, {108, 8192, 16384, 0, 0, 0, 0}, {15, 34, 4626, 85, 5397, 0, 0}, {1032, 34, 68, 0, 0, 0, 0}, {15, 4144, 80, 0, 0, 0, 0}, {16496, 0, 0, 0, 0, 0, 0}, {1030, 17, 0, 0, 0, 0, 0}, {10, 34, 512, 80, 4096, 0, 0}, {3084, 51, 16448, 0, 0, 0, 0}, {1036, 1072, 68, 0, 0, 0, 0}, {10, 5408, 85, 0, 0, 0, 0}, {10, 54, 1542, 80, 4112, 0, 0}, {2048, 119, 16384, 0, 0, 0, 0}, {120, 12288, 16384, 0, 0, 0, 0}, {10, 51, 4883, 85, 5397, 0, 0}, {10, 4128, 80, 0, 0, 0, 0}, {1036, 51, 68, 0, 0, 0, 0}, {60, 12336, 16448, 0, 0, 0, 0}, {10, 34, 512, 85, 5376, 0, 0}, {4114, 20, 0, 0, 0, 0, 0}, {16511, 0, 0, 0, 0, 0, 0}, {16512, 0, 0, 0, 0, 0, 0}, {259, 5, 17, 0, 0, 0, 0}, {10, 34, 512, 16384, 0, 0, 0}, {15, 51, 771, 16448, 0, 0, 0}, {1036, 68, 0, 0, 0, 0, 0}, {4128, 5, 0, 0, 0, 0, 0}, {10, 102, 1542, 16448, 0, 0, 0}, {15, 119, 1792, 16384, 0, 0, 0}, {136, 2048, 16384, 0, 0, 0, 0}, {51, 771, 5, 4112, 0, 0, 0}, {10, 16416, 0, 0, 0, 0, 0}, {1027, 68, 0, 0, 0, 0, 0}, {204, 3084, 16448, 0, 0, 0, 0}, {34, 512, 5, 4096, 0, 0, 0}, {1030, 68, 0, 0, 0, 0, 0}, {15, 16496, 0, 0, 0, 0, 0}, {4144, 80, 0, 0, 0, 0, 0}, {1032, 17, 0, 0, 0, 0, 0}, {90, 34, 4626, 16448, 0, 0, 0}, {95, 51, 4864, 16384, 0, 0, 0}, {4128, 20, 0, 0, 0, 0, 0}, {5439, 85, 0, 0, 0, 0, 0}, {90, 102, 5632, 16384, 0, 0, 0}, {95, 119, 5911, 16448, 0, 0, 0}, {40, 80, 4112, 0, 0, 0, 0}, {51, 85, 5376, 0, 0, 0, 0}, {90, 16432, 0, 0, 0, 0, 0}, {1043, 68, 0, 0, 0, 0, 0}, {60, 80, 4096, 0, 0, 0, 0}, {34, 85, 5397, 0, 0, 0, 0}, {1046, 68, 0, 0, 0, 0, 0}, {95, 16480, 0, 0, 0, 0, 0}, {160, 8192, 16384, 0, 0, 0, 0}, {15, 771, 1028, 17, 0, 0, 0}, {16392, 34, 0, 0, 0, 0, 0}, {4099, 80, 0, 0, 0, 0, 0}, {40, 8224, 68, 1028, 0, 0, 0}, {15, 12288, 85, 5376, 0, 0, 0}, {16396, 102, 0, 0, 0, 0, 0}, {4103, 80, 0, 0, 0, 0, 0}, {16392, 16416, 0, 0, 0, 0, 0}, {5379, 85, 0, 0, 0, 0, 0}, {170, 10752, 16384, 0, 0, 0, 0}, {51, 771, 20, 4112, 0, 0, 0}, {16396, 16480, 0, 0, 0, 0, 0}, {5383, 85, 0, 0, 0, 0, 0}, {34, 68, 1028, 0, 0, 0, 0}, {15, 80, 4096, 0, 0, 0, 0}, {240, 12336, 16448, 0, 0, 0, 0}, {10, 512, 1024, 17, 0, 0, 0}, {4114, 80, 0, 0, 0, 0, 0}, {16460, 51, 0, 0, 0, 0, 0}, {60, 12288, 68, 1024, 0, 0, 0}, {10, 8224, 85, 5397, 0, 0, 0}, {4118, 80, 0, 0, 0, 0, 0}, {16456, 119, 0, 0, 0, 0, 0}, {16456, 16432, 0, 0, 0, 0, 0}, {5395, 85, 0, 0, 0, 0, 0}, {10, 80, 4112, 0, 0, 0, 0}, {51, 68, 1024, 0, 0, 0, 0}, {16460, 16496, 0, 0, 0, 0, 0}, {5399, 85, 0, 0, 0, 0, 0}, {34, 512, 20, 4096, 0, 0, 0}, {255, 16191, 16448, 0, 0, 0, 0}, {16576, 0, 0, 0, 0, 0, 0}, {258, 5, 17, 0, 0, 0, 0}, {10, 34, 514, 16448, 0, 0, 0}, {15, 51, 768, 16384, 0, 0, 0}, {1032, 68, 0, 0, 0, 0, 0}, {4144, 5, 0, 0, 0, 0, 0}, {10, 102, 1536, 16384, 0, 0, 0}, {15, 119, 1799, 16448, 0, 0, 0}, {136, 2056, 16448, 0, 0, 0, 0}, {51, 768, 5, 4096, 0, 0, 0}, {10, 16480, 0, 0, 0, 0, 0}, {1031, 68, 0, 0, 0, 0, 0}, {204, 3072, 16384, 0, 0, 0, 0}, {34, 514, 5, 4112, 0, 0, 0}, {1026, 68, 0, 0, 0, 0, 0}, {15, 16432, 0, 0, 0, 0, 0}, {4128, 80, 0, 0, 0, 0, 0}, {1036, 17, 0, 0, 0, 0, 0}, {90, 34, 4608, 16384, 0, 0, 0}, {95, 51, 4883, 16448, 0, 0, 0}, {4144, 20, 0, 0, 0, 0, 0}, {5418, 85, 0, 0, 0, 0, 0}, {90, 102, 5654, 16448, 0, 0, 0}, {95, 119, 5888, 16384, 0, 0, 0}, {40, 80, 4096, 0, 0, 0, 0}, {51, 85, 5397, 0, 0, 0, 0}, {90, 16496, 0, 0, 0, 0, 0}, {1047, 68, 0, 0, 0, 0, 0}, {60, 80, 4112, 0, 0, 0, 0}, {34, 85, 5376, 0, 0, 0, 0}, {1042, 68, 0, 0, 0, 0, 0}, {95, 16416, 0, 0, 0, 0, 0}, {160, 8224, 16448, 0, 0, 0, 0}, {15, 768, 1024, 17, 0, 0, 0}, {16456, 34, 0, 0, 0, 0, 0}, {4115, 80, 0, 0, 0, 0, 0}, {40, 8192, 68, 1024, 0, 0, 0}, {15, 12336, 85, 5397, 0, 0, 0}, {16460, 102, 0, 0, 0, 0, 0}, {4119, 80, 0, 0, 0, 0, 0}, {16456, 16480, 0, 0, 0, 0, 0}, {5398, 85, 0, 0, 0, 0, 0}, {170, 10794, 16448, 0, 0, 0, 0}, {51, 768, 20, 4096, 0, 0, 0}, {16460, 16416, 0, 0, 0, 0, 0}, {5394, 85, 0, 0, 0, 0, 0}, {34, 68, 1024, 0, 0, 0, 0}, {15, 80, 4112, 0, 0, 0, 0}, {240, 12288, 16384, 0, 0, 0, 0}, {10, 514, 1028, 17, 0, 0, 0}, {4098, 80, 0, 0, 0, 0, 0}, {16396, 51, 0, 0, 0, 0, 0}, {60, 12336, 68, 1028, 0, 0, 0}, {10, 8192, 85, 5376, 0, 0, 0}, {4102, 80, 0, 0, 0, 0, 0}, {16392, 119, 0, 0, 0, 0, 0}, {16392, 16496, 0, 0, 0, 0, 0}, {5382, 85, 0, 0, 0, 0, 0}, {10, 80, 4096, 0, 0, 0, 0}, {51, 68, 1028, 0, 0, 0, 0}, {16396, 16432, 0, 0, 0, 0, 0}, {5378, 85, 0, 0, 0, 0, 0}, {34, 514, 20, 4112, 0, 0, 0}, {255, 16128, 16384, 0, 0, 0, 0}, {1280, 4352, 0, 0, 0, 0, 0}, {64, 257, 0, 0, 0, 0, 0}, {16642, 0, 0, 0, 0, 0, 0}, {16643, 0, 0, 0, 0, 0, 0}, {260, 4096, 0, 0, 0, 0, 0}, {4437, 1285, 0, 0, 0, 0, 0}, {16646, 0, 0, 0, 0, 0, 0}, {16647, 0, 0, 0, 0, 0, 0}, {4360, 4864, 1280, 0, 0, 0, 0}, {4441, 771, 1285, 0, 0, 0, 0}, {1290, 13056, 17408, 0, 0, 0, 0}, {267, 4144, 771, 64, 1028, 0, 0}, {4364, 4608, 1280, 0, 0, 0, 0}, {4445, 514, 1285, 0, 0, 0, 0}, {270, 4128, 514, 64, 1028, 0, 0}, {1295, 8704, 17408, 0, 0, 0, 0}, {1024, 272, 0, 0, 0, 0, 0}, {1365, 4369, 0, 0, 0, 0, 0}, {16658, 0, 0, 0, 0, 0, 0}, {16659, 0, 0, 0, 0, 0, 0}, {4420, 5140, 0, 0, 0, 0, 0}, {277, 4096, 0, 0, 0, 0, 0}, {16662, 0, 0, 0, 0, 0, 0}, {16663, 0, 0, 0, 0, 0, 0}, {5144, 816, 1360, 0, 0, 0, 0}, {4377, 4915, 1365, 0, 0, 0, 0}, {282, 4144, 4864, 64, 1024, 0, 0}, {1375, 13107, 17476, 0, 0, 0, 0}, {5148, 544, 1360, 0, 0, 0, 0}, {4381, 4642, 1365, 0, 0, 0, 0}, {1370, 8738, 17476, 0, 0, 0, 0}, {287, 4128, 4608, 64, 1024, 0, 0}, {1312, 1792, 4352, 0, 0, 0, 0}, {1381, 771, 4369, 0, 0, 0, 0}, {3840, 4386, 20480, 0, 0, 0, 0}, {1036, 291, 771, 64, 4112, 0, 0}, {780, 5156, 4420, 0, 0, 0, 0}, {1807, 1317, 4437, 0, 0, 0, 0}, {1036, 294, 1792, 64, 4096, 0, 0}, {3855, 4471, 20560, 0, 0, 0, 0}, {5160, 13056, 21760, 0, 0, 0, 0}, {4377, 4144, 771, 64, 5397, 0, 0}, {4394, 4864, 5120, 0, 0, 0, 0}, {4475, 771, 5140, 0, 0, 0, 0}, {4364, 4128, 4608, 64, 5376, 0, 0}, {5240, 8738, 21845, 0, 0, 0, 0}, {780, 4642, 5188, 0, 0, 0, 0}, {1807, 544, 5200, 0, 0, 0, 0}, {1328, 1536, 4352, 0, 0, 0, 0}, {1397, 514, 4369, 0, 0, 0, 0}, {1032, 306, 514, 64, 4112, 0, 0}, {2560, 4403, 20480, 0, 0, 0, 0}, {520, 5172, 4420, 0, 0, 0, 0}, {1546, 1333, 4437, 0, 0, 0, 0}, {2570, 4454, 20560, 0, 0, 0, 0}, {1032, 311, 1536, 64, 4096, 0, 0}, {4360, 4144, 4864, 64, 5376, 0, 0}, {5228, 13107, 21845, 0, 0, 0, 0}, {1546, 816, 5200, 0, 0, 0, 0}, {520, 4915, 5188, 0, 0, 0, 0}, {5180, 8704, 21760, 0, 0, 0, 0}, {4381, 4128, 514, 64, 5397, 0, 0}, {4462, 514, 5140, 0, 0, 0, 0}, {4415, 4608, 5120, 0, 0, 0, 0}, {64, 256, 0, 0, 0, 0, 0}, {1285, 4369, 0, 0, 0, 0, 0}, {16706, 0, 0, 0, 0, 0, 0}, {16707, 0, 0, 0, 0, 0, 0}, {4420, 1280, 0, 0, 0, 0, 0}, {261, 4112, 0, 0, 0, 0, 0}, {16710, 0, 0, 0, 0, 0, 0}, {16711, 0, 0, 0, 0, 0, 0}, {4424, 768, 1280, 0, 0, 0, 0}, {4377, 4883, 1285, 0, 0, 0, 0}, {266, 4128, 768, 64, 1024, 0, 0}, {1295, 13107, 17476, 0, 0, 0, 0}, {4428, 512, 1280, 0, 0, 0, 0}, {4381, 4626, 1285, 0, 0, 0, 0}, {1290, 8738, 17476, 0, 0, 0, 0}, {271, 4144, 512, 64, 1024, 0, 0}, {1360, 4352, 0, 0, 0, 0, 0}, {1028, 273, 0, 0, 0, 0, 0}, {16722, 0, 0, 0, 0, 0, 0}, {16723, 0, 0, 0, 0, 0, 0}, {276, 4112, 0, 0, 0, 0, 0}, {4437, 5120, 0, 0, 0, 0, 0}, {16726, 0, 0, 0, 0, 0, 0}, {16727, 0, 0, 0, 0, 0, 0}, {4360, 4896, 1360, 0, 0, 0, 0}, {5132, 819, 1365, 0, 0, 0, 0}, {1370, 13056, 17408, 0, 0, 0, 0}, {283, 4128, 4883, 64, 1028, 0, 0}, {4364, 4656, 1360, 0, 0, 0, 0}, {5128, 546, 1365, 0, 0, 0, 0}, {286, 4144, 4626, 64, 1028, 0, 0}, {1375, 8704, 17408, 0, 0, 0, 0}, {1376, 768, 4352, 0, 0, 0, 0}, {1317, 1799, 4369, 0, 0, 0, 0}, {1032, 290, 768, 64, 4096, 0, 0}, {3855, 4403, 20560, 0, 0, 0, 0}, {1800, 1312, 4420, 0, 0, 0, 0}, {783, 5168, 4437, 0, 0, 0, 0}, {3840, 4454, 20480, 0, 0, 0, 0}, {1032, 295, 1799, 64, 4112, 0, 0}, {4360, 4128, 768, 64, 5376, 0, 0}, {5180, 13107, 21845, 0, 0, 0, 0}, {4458, 768, 5120, 0, 0, 0, 0}, {4411, 4883, 5140, 0, 0, 0, 0}, {5228, 8704, 21760, 0, 0, 0, 0}, {4381, 4144, 4626, 64, 5397, 0, 0}, {1800, 546, 5188, 0, 0, 0, 0}, {783, 4656, 5200, 0, 0, 0, 0}, {1392, 512, 4352, 0, 0, 0, 0}, {1333, 1542, 4369, 0, 0, 0, 0}, {2570, 4386, 20560, 0, 0, 0, 0}, {1036, 307, 512, 64, 4096, 0, 0}, {1548, 1328, 4420, 0, 0, 0, 0}, {522, 5152, 4437, 0, 0, 0, 0}, {1036, 310, 1542, 64, 4112, 0, 0}, {2560, 4471, 20480, 0, 0, 0, 0}, {5240, 13056, 21760, 0, 0, 0, 0}, {4377, 4128, 4883, 64, 5397, 0, 0}, {522, 4896, 5200, 0, 0, 0, 0}, {1548, 819, 5188, 0, 0, 0, 0}, {4364, 4144, 512, 64, 5376, 0, 0}, {5160, 8738, 21845, 0, 0, 0, 0}, {4398, 4626, 5140, 0, 0, 0, 0}, {4479, 512, 5120, 0, 0, 0, 0}, {128, 512, 1280, 4352, 0, 0, 0}, {192, 771, 1285, 4369, 0, 0, 0}, {1290, 4386, 0, 0, 0, 0, 0}, {259, 64, 0, 0, 0, 0, 0}, {780, 12288, 4420, 1280, 0, 0, 0}, {522, 8224, 4437, 1285, 0, 0, 0}, {262, 64, 0, 0, 0, 0, 0}, {1295, 4471, 0, 0, 0, 0, 0}, {4488, 13056, 1280, 0, 0, 0, 0}, {265, 771, 64, 1285, 4112, 0, 0}, {1290, 5152, 1792, 17408, 0, 0, 0}, {1295, 5236, 771, 17476, 0, 0, 0}, {268, 512, 64, 1280, 4096, 0, 0}, {4573, 8738, 1285, 0, 0, 0, 0}, {1290, 5156, 1542, 17476, 0, 0, 0}, {1295, 5232, 512, 17408, 0, 0, 0}, {3072, 816, 1360, 4352, 0, 0, 0}, {2056, 546, 1365, 4369, 0, 0, 0}, {274, 64, 0, 0, 0, 0, 0}, {1375, 4403, 0, 0, 0, 0, 0}, {552, 8224, 4420, 5140, 0, 0, 0}, {831, 12288, 4437, 5120, 0, 0, 0}, {1370, 4454, 0, 0, 0, 0, 0}, {279, 64, 0, 0, 0, 0, 0}, {280, 816, 64, 1296, 4112, 0, 0}, {6963, 13107, 1365, 0, 0, 0, 0}, {1370, 5168, 5888, 17408, 0, 0, 0}, {1375, 5220, 4883, 17476, 0, 0, 0}, {7740, 8704, 1360, 0, 0, 0, 0}, {285, 546, 64, 1301, 4096, 0, 0}, {1370, 5172, 5654, 17476, 0, 0, 0}, {1375, 5216, 4608, 17408, 0, 0, 0}, {1440, 3840, 4352, 0, 0, 0, 0}, {289, 771, 64, 1028, 4369, 0, 0}, {5128, 4386, 4864, 20480, 0, 0, 0}, {5212, 4403, 771, 20560, 0, 0, 0}, {4128, 4356, 0, 0, 0, 0, 0}, {9999, 4437, 0, 0, 0, 0, 0}, {5132, 4454, 5888, 20480, 0, 0, 0}, {5208, 4471, 1799, 20560, 0, 0, 0}, {4360, 1312, 5632, 21760, 0, 0, 0}, {4441, 1381, 771, 21845, 0, 0, 0}, {4522, 13056, 5120, 0, 0, 0, 0}, {299, 771, 64, 1028, 4112, 0, 0}, {4364, 1376, 4608, 21760, 0, 0, 0}, {4445, 1317, 1799, 21845, 0, 0, 0}, {780, 546, 64, 1028, 4096, 0, 0}, {3855, 8704, 5200, 0, 0, 0, 0}, {304, 512, 64, 1024, 4352, 0, 0}, {1525, 2570, 4369, 0, 0, 0, 0}, {5144, 4386, 4626, 20560, 0, 0, 0}, {5196, 4403, 512, 20480, 0, 0, 0}, {13884, 4420, 0, 0, 0, 0, 0}, {4128, 4373, 0, 0, 0, 0, 0}, {5148, 4454, 5654, 20560, 0, 0, 0}, {5192, 4471, 1536, 20480, 0, 0, 0}, {4424, 1328, 1536, 21760, 0, 0, 0}, {4377, 1397, 4883, 21845, 0, 0, 0}, {522, 816, 64, 1024, 4112, 0, 0}, {2560, 13107, 5188, 0, 0, 0, 0}, {4428, 1392, 512, 21760, 0, 0, 0}, {4381, 1333, 5911, 21845, 0, 0, 0}, {4590, 8738, 5140, 0, 0, 0, 0}, {319, 512, 64, 1024, 4096, 0, 0}, {192, 768, 1280, 4352, 0, 0, 0}, {128, 514, 1285, 4369, 0, 0, 0}, {258, 64, 0, 0, 0, 0, 0}, {1295, 4403, 0, 0, 0, 0, 0}, {520, 8192, 4420, 1280, 0, 0, 0}, {783, 12336, 4437, 1285, 0, 0, 0}, {1290, 4454, 0, 0, 0, 0, 0}, {263, 64, 0, 0, 0, 0, 0}, {264, 768, 64, 1280, 4096, 0, 0}, {4505, 13107, 1285, 0, 0, 0, 0}, {1290, 5216, 768, 17408, 0, 0, 0}, {1295, 5172, 1799, 17476, 0, 0, 0}, {4556, 8704, 1280, 0, 0, 0, 0}, {269, 514, 64, 1285, 4112, 0, 0}, {1290, 5220, 514, 17476, 0, 0, 0}, {1295, 5168, 1536, 17408, 0, 0, 0}, {2048, 544, 1360, 4352, 0, 0, 0}, {3084, 819, 1365, 4369, 0, 0, 0}, {1370, 4386, 0, 0, 0, 0, 0}, {275, 64, 0, 0, 0, 0, 0}, {828, 12336, 4420, 5140, 0, 0, 0}, {554, 8192, 4437, 5120, 0, 0, 0}, {278, 64, 0, 0, 0, 0, 0}, {1375, 4471, 0, 0, 0, 0, 0}, {6952, 13056, 1360, 0, 0, 0, 0}, {281, 819, 64, 1301, 4096, 0, 0}, {1370, 5232, 4864, 17408, 0, 0, 0}, {1375, 5156, 5911, 17476, 0, 0, 0}, {284, 544, 64, 1296, 4112, 0, 0}, {7714, 8738, 1365, 0, 0, 0, 0}, {1370, 5236, 4626, 17476, 0, 0, 0}, {1375, 5152, 5632, 17408, 0, 0, 0}, {288, 768, 64, 1024, 4352, 0, 0}, {1445, 3855, 4369, 0, 0, 0, 0}, {5192, 4386, 768, 20480, 0, 0, 0}, {5148, 4403, 4883, 20560, 0, 0, 0}, {10024, 4420, 0, 0, 0, 0, 0}, {4144, 4373, 0, 0, 0, 0, 0}, {5196, 4454, 1792, 20480, 0, 0, 0}, {5144, 4471, 5911, 20560, 0, 0, 0}, {4424, 1376, 768, 21760, 0, 0, 0}, {4377, 1317, 5654, 21845, 0, 0, 0}, {298, 768, 64, 1024, 4096, 0, 0}, {4539, 13107, 5140, 0, 0, 0, 0}, {4428, 1312, 1792, 21760, 0, 0, 0}, {4381, 1381, 4626, 21845, 0, 0, 0}, {3840, 8738, 5188, 0, 0, 0, 0}, {783, 544, 64, 1024, 4112, 0, 0}, {1520, 2560, 4352, 0, 0, 0, 0}, {305, 514, 64, 1028, 4369, 0, 0}, {5208, 4386, 514, 20560, 0, 0, 0}, {5132, 4403, 4608, 20480, 0, 0, 0}, {4144, 4356, 0, 0, 0, 0, 0}, {13834, 4437, 0, 0, 0, 0, 0}, {5212, 4454, 1542, 20560, 0, 0, 0}, {5128, 4471, 5632, 20480, 0, 0, 0}, {4360, 1392, 4864, 21760, 0, 0, 0}, {4441, 1333, 1542, 21845, 0, 0, 0}, {2570, 13056, 5200, 0, 0, 0, 0}, {520, 819, 64, 1028, 4096, 0, 0}, {4364, 1328, 5888, 21760, 0, 0, 0}, {4445, 1397, 514, 21845, 0, 0, 0}, {318, 514, 64, 1028, 4112, 0, 0}, {4607, 8704, 5120, 0, 0, 0, 0}, {16896, 0, 0, 0, 0, 0, 0}, {67, 257, 0, 0, 0, 0, 0}, {128, 514, 16384, 0, 0, 0, 0}, {15, 51, 771, 1280, 4352, 0, 0}, {76, 580, 1028, 0, 0, 0, 0}, {15, 4693, 1285, 0, 0, 0, 0}, {204, 1542, 17408, 0, 0, 0, 0}, {15, 112, 519, 1280, 4096, 0, 0}, {520, 8192, 16384, 0, 0, 0, 0}, {15, 51, 771, 4437, 1285, 0, 0}, {16906, 0, 0, 0, 0, 0, 0}, {4099, 260, 0, 0, 0, 0, 0}, {1548, 8704, 17408, 0, 0, 0, 0}, {15, 4128, 514, 4176, 1285, 0, 0}, {76, 514, 1028, 0, 0, 0, 0}, {15, 4608, 1280, 0, 0, 0, 0}, {112, 592, 4112, 0, 0, 0, 0}, {51, 1621, 4369, 0, 0, 0, 0}, {240, 4626, 20480, 0, 0, 0, 0}, {76, 51, 531, 1024, 4352, 0, 0}, {60, 4676, 5140, 0, 0, 0, 0}, {127, 597, 5397, 0, 0, 0, 0}, {76, 112, 534, 1024, 4096, 0, 0}, {255, 5911, 21760, 0, 0, 0, 0}, {4680, 12336, 20560, 0, 0, 0, 0}, {4377, 51, 4864, 4437, 1024, 0, 0}, {4634, 4144, 4160, 0, 0, 0, 0}, {5915, 51, 4420, 0, 0, 0, 0}, {4124, 4128, 4608, 4176, 1024, 0, 0}, {5960, 8738, 21845, 0, 0, 0, 0}, {4638, 4642, 5188, 0, 0, 0, 0}, {5919, 544, 5440, 0, 0, 0, 0}, {2048, 544, 16384, 0, 0, 0, 0}, {15, 51, 771, 1365, 4369, 0, 0}, {16930, 0, 0, 0, 0, 0, 0}, {1027, 272, 0, 0, 0, 0, 0}, {3084, 1632, 17476, 0, 0, 0, 0}, {15, 1317, 1792, 1365, 4096, 0, 0}, {1036, 1574, 1088, 0, 0, 0, 0}, {15, 5927, 1360, 0, 0, 0, 0}, {16936, 0, 0, 0, 0, 0, 0}, {4099, 277, 0, 0, 0, 0, 0}, {554, 8192, 16384, 0, 0, 0, 0}, {15, 51, 771, 4420, 5140, 0, 0}, {1036, 544, 1088, 0, 0, 0, 0}, {15, 4642, 1365, 0, 0, 0, 0}, {1642, 8738, 17476, 0, 0, 0, 0}, {15, 4128, 4608, 4176, 5376, 0, 0}, {2560, 4656, 20480, 0, 0, 0, 0}, {1032, 51, 514, 1092, 4369, 0, 0}, {112, 514, 4112, 0, 0, 0, 0}, {51, 1536, 4352, 0, 0, 0, 0}, {1032, 1076, 1536, 1092, 4096, 0, 0}, {2570, 5984, 21845, 0, 0, 0, 0}, {1546, 1590, 5200, 0, 0, 0, 0}, {520, 5943, 5440, 0, 0, 0, 0}, {520, 4144, 4160, 0, 0, 0, 0}, {1546, 51, 4437, 0, 0, 0, 0}, {4714, 12336, 20560, 0, 0, 0, 0}, {4360, 51, 4864, 4420, 5376, 0, 0}, {60, 4608, 5120, 0, 0, 0, 0}, {127, 514, 5397, 0, 0, 0, 0}, {4124, 4128, 514, 4176, 5140, 0, 0}, {5951, 8704, 21760, 0, 0, 0, 0}, {128, 512, 16448, 0, 0, 0, 0}, {15, 51, 768, 1285, 4369, 0, 0}, {16962, 0, 0, 0, 0, 0, 0}, {67, 256, 0, 0, 0, 0, 0}, {204, 1536, 17476, 0, 0, 0, 0}, {15, 112, 517, 1285, 4112, 0, 0}, {76, 582, 1024, 0, 0, 0, 0}, {15, 4679, 1280, 0, 0, 0, 0}, {16968, 0, 0, 0, 0, 0, 0}, {4115, 261, 0, 0, 0, 0, 0}, {522, 8224, 16448, 0, 0, 0, 0}, {15, 51, 768, 4420, 1280, 0, 0}, {76, 512, 1024, 0, 0, 0, 0}, {15, 4626, 1285, 0, 0, 0, 0}, {1546, 8738, 17476, 0, 0, 0, 0}, {15, 4144, 512, 4160, 1280, 0, 0}, {240, 4608, 20560, 0, 0, 0, 0}, {76, 51, 529, 1028, 4369, 0, 0}, {112, 594, 4096, 0, 0, 0, 0}, {51, 1619, 4352, 0, 0, 0, 0}, {76, 112, 532, 1028, 4112, 0, 0}, {255, 5888, 21845, 0, 0, 0, 0}, {60, 4694, 5120, 0, 0, 0, 0}, {127, 599, 5376, 0, 0, 0, 0}, {4616, 4128, 4176, 0, 0, 0, 0}, {5900, 51, 4437, 0, 0, 0, 0}, {4698, 12288, 20480, 0, 0, 0, 0}, {4360, 51, 4883, 4420, 1028, 0, 0}, {4620, 4656, 5200, 0, 0, 0, 0}, {5896, 546, 5461, 0, 0, 0, 0}, {4108, 4144, 4626, 4160, 1028, 0, 0}, {5983, 8704, 21760, 0, 0, 0, 0}, {16992, 0, 0, 0, 0, 0, 0}, {1031, 273, 0, 0, 0, 0, 0}, {2056, 546, 16448, 0, 0, 0, 0}, {15, 51, 768, 1360, 4352, 0, 0}, {1032, 1568, 1092, 0, 0, 0, 0}, {15, 5936, 1365, 0, 0, 0, 0}, {3072, 1638, 17408, 0, 0, 0, 0}, {15, 1312, 1799, 1360, 4112, 0, 0}, {552, 8224, 16448, 0, 0, 0, 0}, {15, 51, 768, 4437, 5120, 0, 0}, {17002, 0, 0, 0, 0, 0, 0}, {4115, 276, 0, 0, 0, 0, 0}, {1644, 8704, 17408, 0, 0, 0, 0}, {15, 4144, 4626, 4160, 5397, 0, 0}, {1032, 546, 1092, 0, 0, 0, 0}, {15, 4656, 1360, 0, 0, 0, 0}, {112, 512, 4096, 0, 0, 0, 0}, {51, 1542, 4369, 0, 0, 0, 0}, {2570, 4642, 20560, 0, 0, 0, 0}, {1036, 51, 512, 1088, 4352, 0, 0}, {1548, 1584, 5188, 0, 0, 0, 0}, {522, 5920, 5461, 0, 0, 0, 0}, {1036, 1072, 1542, 1088, 4112, 0, 0}, {2560, 6007, 21760, 0, 0, 0, 0}, {4728, 12288, 20480, 0, 0, 0, 0}, {4377, 51, 4883, 4437, 5397, 0, 0}, {522, 4128, 4176, 0, 0, 0, 0}, {1548, 51, 4420, 0, 0, 0, 0}, {4108, 4144, 512, 4160, 5120, 0, 0}, {5928, 8738, 21845, 0, 0, 0, 0}, {60, 4626, 5140, 0, 0, 0, 0}, {127, 512, 5376, 0, 0, 0, 0}, {128, 512, 16384, 0, 0, 0, 0}, {15, 51, 771, 1285, 4369, 0, 0}, {17026, 2570, 8738, 0, 0, 0, 0}, {259, 320, 1280, 4352, 0, 0, 0}, {1548, 8772, 17476, 0, 0, 0, 0}, {15, 4128, 517, 4176, 1285, 0, 0}, {1036, 1542, 1088, 0, 0, 0, 0}, {15, 4727, 1280, 0, 0, 0, 0}, {17032, 2560, 24576, 0, 0, 0, 0}, {262, 325, 1285, 4112, 0, 0, 0}, {522, 8224, 16384, 0, 0, 0, 0}, {15, 51, 771, 4420, 1280, 0, 0}, {1036, 512, 1088, 0, 0, 0, 0}, {15, 4642, 1285, 0, 0, 0, 0}, {204, 1542, 17476, 0, 0, 0, 0}, {15, 112, 512, 1280, 4096, 0, 0}, {2640, 4656, 20560, 0, 0, 0, 0}, {1032, 51, 529, 1092, 4369, 0, 0}, {4144, 4626, 4160, 0, 0, 0, 0}, {1631, 51, 4352, 0, 0, 0, 0}, {4124, 4128, 532, 4176, 5140, 0, 0}, {5951, 8789, 21845, 0, 0, 0, 0}, {4698, 4710, 5120, 0, 0, 0, 0}, {5439, 5911, 5440, 0, 0, 0, 0}, {600, 112, 4112, 0, 0, 0, 0}, {51, 5888, 4437, 0, 0, 0, 0}, {4714, 12336, 20480, 0, 0, 0, 0}, {4360, 51, 4883, 4420, 5376, 0, 0}, {60, 4608, 5200, 0, 0, 0, 0}, {605, 546, 5397, 0, 0, 0, 0}, {1032, 1076, 1558, 1092, 4096, 0, 0}, {2655, 5984, 21760, 0, 0, 0, 0}, {17056, 18432, 8704, 0, 0, 0, 0}, {274, 337, 1028, 4369, 0, 0, 0}, {2056, 546, 16384, 0, 0, 0, 0}, {15, 51, 771, 1360, 4352, 0, 0}, {76, 612, 1028, 0, 0, 0, 0}, {15, 5888, 1365, 0, 0, 0, 0}, {1642, 8806, 17408, 0, 0, 0, 0}, {15, 4128, 4615, 4176, 5376, 0, 0}, {552, 8224, 16384, 0, 0, 0, 0}, {15, 51, 771, 4437, 5120, 0, 0}, {17066, 18432, 24576, 0, 0, 0, 0}, {279, 340, 1028, 4112, 0, 0, 0}, {3084, 1632, 17408, 0, 0, 0, 0}, {15, 1317, 1799, 1365, 4096, 0, 0}, {76, 546, 1028, 0, 0, 0, 0}, {15, 4608, 1360, 0, 0, 0, 0}, {4144, 512, 4160, 0, 0, 0, 0}, {1546, 51, 4369, 0, 0, 0, 0}, {240, 4626, 20560, 0, 0, 0, 0}, {76, 51, 512, 1024, 4352, 0, 0}, {60, 1536, 5188, 0, 0, 0, 0}, {522, 629, 5397, 0, 0, 0, 0}, {4124, 4128, 4630, 4176, 1024, 0, 0}, {5960, 8823, 21760, 0, 0, 0, 0}, {4680, 12336, 20480, 0, 0, 0, 0}, {4377, 51, 4883, 4437, 1024, 0, 0}, {522, 112, 4112, 0, 0, 0, 0}, {51, 1536, 4420, 0, 0, 0, 0}, {76, 112, 512, 1024, 4096, 0, 0}, {255, 5911, 21845, 0, 0, 0, 0}, {4638, 4642, 5140, 0, 0, 0, 0}, {5439, 512, 5440, 0, 0, 0, 0}, {17088, 2560, 8704, 0, 0, 0, 0}, {258, 321, 1285, 4369, 0, 0, 0}, {128, 514, 16448, 0, 0, 0, 0}, {15, 51, 768, 1280, 4352, 0, 0}, {1032, 1536, 1092, 0, 0, 0, 0}, {15, 4709, 1285, 0, 0, 0, 0}, {1546, 8806, 17408, 0, 0, 0, 0}, {15, 4144, 519, 4160, 1280, 0, 0}, {520, 8192, 16448, 0, 0, 0, 0}, {15, 51, 768, 4437, 1285, 0, 0}, {17098, 2570, 24672, 0, 0, 0, 0}, {263, 324, 1280, 4096, 0, 0, 0}, {204, 1536, 17408, 0, 0, 0, 0}, {15, 112, 514, 1285, 4112, 0, 0}, {1032, 514, 1092, 0, 0, 0, 0}, {15, 4656, 1280, 0, 0, 0, 0}, {4128, 4608, 4176, 0, 0, 0, 0}, {1625, 51, 4369, 0, 0, 0, 0}, {2650, 4642, 20480, 0, 0, 0, 0}, {1036, 51, 531, 1088, 4352, 0, 0}, {4680, 4724, 5140, 0, 0, 0, 0}, {5418, 5888, 5461, 0, 0, 0, 0}, {4108, 4144, 534, 4160, 5120, 0, 0}, {5928, 8823, 21760, 0, 0, 0, 0}, {4728, 12288, 20560, 0, 0, 0, 0}, {4377, 51, 4864, 4437, 5397, 0, 0}, {602, 112, 4096, 0, 0, 0, 0}, {51, 5911, 4420, 0, 0, 0, 0}, {1036, 1072, 1552, 1088, 4112, 0, 0}, {2645, 6007, 21845, 0, 0, 0, 0}, {60, 4626, 5188, 0, 0, 0, 0}, {607, 544, 5376, 0, 0, 0, 0}, {2048, 544, 16448, 0, 0, 0, 0}, {15, 51, 768, 1365, 4369, 0, 0}, {17122, 18504, 8738, 0, 0, 0, 0}, {275, 336, 1024, 4352, 0, 0, 0}, {1644, 8772, 17476, 0, 0, 0, 0}, {15, 4144, 4629, 4160, 5397, 0, 0}, {76, 614, 1024, 0, 0, 0, 0}, {15, 5911, 1360, 0, 0, 0, 0}, {17128, 18504, 24672, 0, 0, 0, 0}, {278, 341, 1024, 4096, 0, 0, 0}, {554, 8192, 16448, 0, 0, 0, 0}, {15, 51, 768, 4420, 5140, 0, 0}, {76, 544, 1024, 0, 0, 0, 0}, {15, 4626, 1365, 0, 0, 0, 0}, {3072, 1638, 17476, 0, 0, 0, 0}, {15, 1312, 1792, 1360, 4112, 0, 0}, {240, 4608, 20480, 0, 0, 0, 0}, {76, 51, 514, 1028, 4369, 0, 0}, {4128, 514, 4176, 0, 0, 0, 0}, {1548, 51, 4352, 0, 0, 0, 0}, {4108, 4144, 4612, 4160, 1028, 0, 0}, {5983, 8789, 21845, 0, 0, 0, 0}, {60, 1542, 5200, 0, 0, 0, 0}, {520, 631, 5376, 0, 0, 0, 0}, {520, 112, 4096, 0, 0, 0, 0}, {51, 1542, 4437, 0, 0, 0, 0}, {4698, 12288, 20560, 0, 0, 0, 0}, {4360, 51, 4864, 4420, 1028, 0, 0}, {4620, 4656, 5120, 0, 0, 0, 0}, {5418, 514, 5461, 0, 0, 0, 0}, {76, 112, 514, 1028, 4112, 0, 0}, {255, 5888, 21760, 0, 0, 0, 0}, {17152, 0, 0, 0, 0, 0, 0}, {66, 257, 0, 0, 0, 0, 0}, {10, 34, 514, 1280, 4352, 0, 0}, {192, 771, 16384, 0, 0, 0, 0}, {72, 836, 1028, 0, 0, 0, 0}, {10, 4949, 1285, 0, 0, 0, 0}, {10, 96, 774, 1280, 4096, 0, 0}, {136, 1799, 17408, 0, 0, 0, 0}, {1800, 13056, 17408, 0, 0, 0, 0}, {10, 4144, 771, 4176, 1285, 0, 0}, {10, 4864, 1280, 0, 0, 0, 0}, {72, 771, 1028, 0, 0, 0, 0}, {780, 12288, 16384, 0, 0, 0, 0}, {10, 34, 514, 4437, 1285, 0, 0}, {4098, 260, 0, 0, 0, 0, 0}, {17167, 0, 0, 0, 0, 0, 0}, {96, 848, 4112, 0, 0, 0, 0}, {34, 1877, 4369, 0, 0, 0, 0}, {72, 34, 786, 1024, 4352, 0, 0}, {160, 4883, 20480, 0, 0, 0, 0}, {40, 4932, 5140, 0, 0, 0, 0}, {106, 853, 5397, 0, 0, 0, 0}, {170, 5654, 21760, 0, 0, 0, 0}, {72, 96, 791, 1024, 4096, 0, 0}, {4120, 4144, 4864, 4176, 1024, 0, 0}, {5708, 13107, 21845, 0, 0, 0, 0}, {5658, 816, 5440, 0, 0, 0, 0}, {4891, 4915, 5188, 0, 0, 0, 0}, {4940, 8224, 20560, 0, 0, 0, 0}, {4381, 34, 4608, 4437, 1024, 0, 0}, {5662, 34, 4420, 0, 0, 0, 0}, {4895, 4128, 4160, 0, 0, 0, 0}, {3840, 4896, 20480, 0, 0, 0, 0}, {1036, 34, 771, 1092, 4369, 0, 0}, {34, 1792, 4352, 0, 0, 0, 0}, {96, 771, 4112, 0, 0, 0, 0}, {1036, 1060, 1792, 1092, 4096, 0, 0}, {3855, 5744, 21845, 0, 0, 0, 0}, {780, 5670, 5440, 0, 0, 0, 0}, {1807, 1831, 5200, 0, 0, 0, 0}, {40, 4864, 5120, 0, 0, 0, 0}, {106, 771, 5397, 0, 0, 0, 0}, {5674, 13056, 21760, 0, 0, 0, 0}, {4120, 4144, 771, 4176, 5140, 0, 0}, {780, 4128, 4160, 0, 0, 0, 0}, {1807, 34, 4437, 0, 0, 0, 0}, {4364, 34, 4608, 4420, 5376, 0, 0}, {4991, 8224, 20560, 0, 0, 0, 0}, {3072, 816, 16384, 0, 0, 0, 0}, {10, 34, 514, 1365, 4369, 0, 0}, {1026, 272, 0, 0, 0, 0, 0}, {17203, 0, 0, 0, 0, 0, 0}, {2056, 1904, 17476, 0, 0, 0, 0}, {10, 1333, 1536, 1365, 4096, 0, 0}, {10, 5686, 1360, 0, 0, 0, 0}, {1032, 1847, 1088, 0, 0, 0, 0}, {1032, 816, 1088, 0, 0, 0, 0}, {10, 4915, 1365, 0, 0, 0, 0}, {10, 4144, 4864, 4176, 5376, 0, 0}, {1919, 13107, 17476, 0, 0, 0, 0}, {17212, 0, 0, 0, 0, 0, 0}, {4098, 277, 0, 0, 0, 0, 0}, {10, 34, 514, 4420, 5140, 0, 0}, {831, 12288, 16384, 0, 0, 0, 0}, {192, 768, 16448, 0, 0, 0, 0}, {10, 34, 512, 1285, 4369, 0, 0}, {66, 256, 0, 0, 0, 0, 0}, {17219, 0, 0, 0, 0, 0, 0}, {136, 1792, 17476, 0, 0, 0, 0}, {10, 96, 773, 1285, 4112, 0, 0}, {10, 4934, 1280, 0, 0, 0, 0}, {72, 839, 1024, 0, 0, 0, 0}, {72, 768, 1024, 0, 0, 0, 0}, {10, 4883, 1285, 0, 0, 0, 0}, {10, 4128, 768, 4160, 1280, 0, 0}, {1807, 13107, 17476, 0, 0, 0, 0}, {17228, 0, 0, 0, 0, 0, 0}, {4114, 261, 0, 0, 0, 0, 0}, {10, 34, 512, 4420, 1280, 0, 0}, {783, 12336, 16448, 0, 0, 0, 0}, {160, 4864, 20560, 0, 0, 0, 0}, {72, 34, 785, 1028, 4369, 0, 0}, {34, 1874, 4352, 0, 0, 0, 0}, {96, 851, 4096, 0, 0, 0, 0}, {72, 96, 788, 1028, 4112, 0, 0}, {170, 5632, 21845, 0, 0, 0, 0}, {106, 854, 5376, 0, 0, 0, 0}, {40, 4951, 5120, 0, 0, 0, 0}, {4872, 4896, 5200, 0, 0, 0, 0}, {5644, 819, 5461, 0, 0, 0, 0}, {5722, 13056, 21760, 0, 0, 0, 0}, {4104, 4128, 4883, 4160, 1028, 0, 0}, {4876, 4144, 4176, 0, 0, 0, 0}, {5640, 34, 4437, 0, 0, 0, 0}, {4364, 34, 4626, 4420, 1028, 0, 0}, {4959, 8192, 20480, 0, 0, 0, 0}, {96, 768, 4096, 0, 0, 0, 0}, {34, 1799, 4369, 0, 0, 0, 0}, {1032, 34, 768, 1088, 4352, 0, 0}, {3855, 4915, 20560, 0, 0, 0, 0}, {1800, 1824, 5188, 0, 0, 0, 0}, {783, 5680, 5461, 0, 0, 0, 0}, {3840, 5734, 21760, 0, 0, 0, 0}, {1032, 1056, 1799, 1088, 4112, 0, 0}, {4104, 4128, 768, 4160, 5120, 0, 0}, {5692, 13107, 21845, 0, 0, 0, 0}, {106, 768, 5376, 0, 0, 0, 0}, {40, 4883, 5140, 0, 0, 0, 0}, {4972, 8192, 20480, 0, 0, 0, 0}, {4381, 34, 4626, 4437, 5397, 0, 0}, {1800, 34, 4420, 0, 0, 0, 0}, {783, 4144, 4176, 0, 0, 0, 0}, {17264, 0, 0, 0, 0, 0, 0}, {1030, 273, 0, 0, 0, 0, 0}, {10, 34, 512, 1360, 4352, 0, 0}, {3084, 819, 16448, 0, 0, 0, 0}, {1036, 1840, 1092, 0, 0, 0, 0}, {10, 5664, 1365, 0, 0, 0, 0}, {10, 1328, 1542, 1360, 4112, 0, 0}, {2048, 1911, 17408, 0, 0, 0, 0}, {1912, 13056, 17408, 0, 0, 0, 0}, {10, 4128, 4883, 4160, 5397, 0, 0}, {10, 4896, 1360, 0, 0, 0, 0}, {1036, 819, 1092, 0, 0, 0, 0}, {828, 12336, 16448, 0, 0, 0, 0}, {10, 34, 512, 4437, 5120, 0, 0}, {4114, 276, 0, 0, 0, 0, 0}, {17279, 0, 0, 0, 0, 0, 0}, {17280, 3840, 13056, 0, 0, 0, 0}, {259, 321, 1285, 4369, 0, 0, 0}, {10, 34, 512, 1280, 4352, 0, 0}, {192, 771, 16448, 0, 0, 0, 0}, {1036, 1792, 1092, 0, 0, 0, 0}, {10, 4981, 1285, 0, 0, 0, 0}, {10, 4128, 774, 4160, 1280, 0, 0}, {1807, 13175, 17408, 0, 0, 0, 0}, {136, 1792, 17408, 0, 0, 0, 0}, {10, 96, 771, 1285, 4112, 0, 0}, {10, 4896, 1280, 0, 0, 0, 0}, {1036, 771, 1092, 0, 0, 0, 0}, {780, 12288, 16448, 0, 0, 0, 0}, {10, 34, 512, 4437, 1285, 0, 0}, {262, 324, 1280, 4096, 0, 0, 0}, {17295, 3855, 28784, 0, 0, 0, 0}, {4144, 4864, 4176, 0, 0, 0, 0}, {1885, 34, 4369, 0, 0, 0, 0}, {1032, 34, 786, 1088, 4352, 0, 0}, {3935, 4915, 20480, 0, 0, 0, 0}, {4940, 4964, 5140, 0, 0, 0, 0}, {5439, 5632, 5461, 0, 0, 0, 0}, {5692, 13158, 21760, 0, 0, 0, 0}, {4104, 4128, 791, 4160, 5120, 0, 0}, {1032, 1056, 1808, 1088, 4112, 0, 0}, {3925, 5734, 21845, 0, 0, 0, 0}, {858, 816, 5376, 0, 0, 0, 0}, {40, 4883, 5188, 0, 0, 0, 0}, {4972, 8192, 20560, 0, 0, 0, 0}, {4381, 34, 4608, 4437, 5397, 0, 0}, {34, 5654, 4420, 0, 0, 0, 0}, {863, 96, 4096, 0, 0, 0, 0}, {160, 4864, 20480, 0, 0, 0, 0}, {72, 34, 771, 1028, 4369, 0, 0}, {1800, 34, 4352, 0, 0, 0, 0}, {4144, 771, 4176, 0, 0, 0, 0}, {4104, 4128, 4868, 4160, 1028, 0, 0}, {5722, 13141, 21845, 0, 0, 0, 0}, {780, 870, 5376, 0, 0, 0, 0}, {40, 1799, 5200, 0, 0, 0, 0}, {4872, 4896, 5120, 0, 0, 0, 0}, {5439, 771, 5461, 0, 0, 0, 0}, {170, 5632, 21760, 0, 0, 0, 0}, {72, 96, 771, 1028, 4112, 0, 0}, {780, 96, 4096, 0, 0, 0, 0}, {34, 1799, 4437, 0, 0, 0, 0}, {4364, 34, 4608, 4420, 1028, 0, 0}, {4959, 8192, 20560, 0, 0, 0, 0}, {3072, 816, 16448, 0, 0, 0, 0}, {10, 34, 512, 1365, 4369, 0, 0}, {274, 336, 1024, 4352, 0, 0, 0}, {17331, 19532, 13107, 0, 0, 0, 0}, {1912, 13124, 17476, 0, 0, 0, 0}, {10, 4128, 4885, 4160, 5397, 0, 0}, {10, 5654, 1360, 0, 0, 0, 0}, {72, 887, 1024, 0, 0, 0, 0}, {72, 816, 1024, 0, 0, 0, 0}, {10, 4883, 1365, 0, 0, 0, 0}, {10, 1328, 1536, 1360, 4112, 0, 0}, {2048, 1911, 17476, 0, 0, 0, 0}, {17340, 19532, 28784, 0, 0, 0, 0}, {279, 341, 1024, 4096, 0, 0, 0}, {10, 34, 512, 4420, 5140, 0, 0}, {831, 12288, 16448, 0, 0, 0, 0}, {192, 768, 16384, 0, 0, 0, 0}, {10, 34, 514, 1285, 4369, 0, 0}, {258, 320, 1280, 4352, 0, 0, 0}, {17347, 3855, 13107, 0, 0, 0, 0}, {1800, 13124, 17476, 0, 0, 0, 0}, {10, 4144, 773, 4176, 1285, 0, 0}, {10, 4966, 1280, 0, 0, 0, 0}, {1032, 1799, 1088, 0, 0, 0, 0}, {1032, 768, 1088, 0, 0, 0, 0}, {10, 4915, 1285, 0, 0, 0, 0}, {10, 96, 768, 1280, 4096, 0, 0}, {136, 1799, 17476, 0, 0, 0, 0}, {17356, 3840, 28672, 0, 0, 0, 0}, {263, 325, 1285, 4112, 0, 0, 0}, {10, 34, 514, 4420, 1280, 0, 0}, {783, 12336, 16384, 0, 0, 0, 0}, {3920, 4896, 20560, 0, 0, 0, 0}, {1036, 34, 785, 1092, 4369, 0, 0}, {1882, 34, 4352, 0, 0, 0, 0}, {4128, 4883, 4160, 0, 0, 0, 0}, {4120, 4144, 788, 4176, 5140, 0, 0}, {5674, 13141, 21845, 0, 0, 0, 0}, {5418, 5654, 5440, 0, 0, 0, 0}, {4959, 4983, 5120, 0, 0, 0, 0}, {40, 4864, 5200, 0, 0, 0, 0}, {857, 819, 5397, 0, 0, 0, 0}, {3930, 5744, 21760, 0, 0, 0, 0}, {1036, 1060, 1815, 1092, 4096, 0, 0}, {860, 96, 4112, 0, 0, 0, 0}, {34, 5632, 4437, 0, 0, 0, 0}, {4364, 34, 4626, 4420, 5376, 0, 0}, {4991, 8224, 20480, 0, 0, 0, 0}, {4128, 768, 4160, 0, 0, 0, 0}, {1807, 34, 4369, 0, 0, 0, 0}, {72, 34, 768, 1024, 4352, 0, 0}, {160, 4883, 20560, 0, 0, 0, 0}, {40, 1792, 5188, 0, 0, 0, 0}, {783, 869, 5397, 0, 0, 0, 0}, {5708, 13158, 21760, 0, 0, 0, 0}, {4120, 4144, 4887, 4176, 1024, 0, 0}, {72, 96, 768, 1024, 4096, 0, 0}, {170, 5654, 21845, 0, 0, 0, 0}, {5418, 768, 5440, 0, 0, 0, 0}, {4891, 4915, 5140, 0, 0, 0, 0}, {4940, 8224, 20480, 0, 0, 0, 0}, {4381, 34, 4626, 4437, 1024, 0, 0}, {34, 1792, 4420, 0, 0, 0, 0}, {783, 96, 4112, 0, 0, 0, 0}, {17392, 19456, 13056, 0, 0, 0, 0}, {275, 337, 1028, 4369, 0, 0, 0}, {10, 34, 514, 1360, 4352, 0, 0}, {3084, 819, 16384, 0, 0, 0, 0}, {72, 884, 1028, 0, 0, 0, 0}, {10, 5632, 1365, 0, 0, 0, 0}, {10, 4144, 4870, 4176, 5376, 0, 0}, {1919, 13175, 17408, 0, 0, 0, 0}, {2056, 1904, 17408, 0, 0, 0, 0}, {10, 1333, 1542, 1365, 4096, 0, 0}, {10, 4864, 1360, 0, 0, 0, 0}, {72, 819, 1028, 0, 0, 0, 0}, {828, 12336, 16384, 0, 0, 0, 0}, {10, 34, 514, 4437, 5120, 0, 0}, {278, 340, 1028, 4112, 0, 0, 0}, {17407, 19456, 28672, 0, 0, 0, 0}, {17408, 0, 0, 0, 0, 0, 0}, {5, 16, 257, 0, 0, 0, 0}, {17410, 0, 0, 0, 0, 0, 0}, {17411, 0, 0, 0, 0, 0, 0}, {64, 1028, 0, 0, 0, 0, 0}, {5, 4352, 0, 0, 0, 0, 0}, {17414, 0, 0, 0, 0, 0, 0}, {17415, 0, 0, 0, 0, 0, 0}, {17416, 0, 0, 0, 0, 0, 0}, {4355, 5, 0, 0, 0, 0, 0}, {10, 8704, 17408, 0, 0, 0, 0}, {15, 48, 771, 64, 1028, 0, 0}, {17420, 0, 0, 0, 0, 0, 0}, {4354, 5, 0, 0, 0, 0, 0}, {10, 32, 514, 64, 1028, 0, 0}, {15, 13056, 17408, 0, 0, 0, 0}, {1024, 16, 0, 0, 0, 0, 0}, {85, 4369, 0, 0, 0, 0, 0}, {17426, 0, 0, 0, 0, 0, 0}, {17427, 0, 0, 0, 0, 0, 0}, {80, 5140, 0, 0, 0, 0, 0}, {21, 4352, 0, 0, 0, 0, 0}, {17430, 0, 0, 0, 0, 0, 0}, {17431, 0, 0, 0, 0, 0, 0}, {5144, 48, 80, 0, 0, 0, 0}, {4377, 4403, 85, 0, 0, 0, 0}, {26, 48, 4608, 64, 1024, 0, 0}, {95, 13107, 17476, 0, 0, 0, 0}, {5148, 32, 80, 0, 0, 0, 0}, {4381, 4386, 85, 0, 0, 0, 0}, {90, 8738, 17476, 0, 0, 0, 0}, {31, 32, 4864, 64, 1024, 0, 0}, {2048, 32, 17408, 0, 0, 0, 0}, {15, 48, 771, 85, 4369, 0, 0}, {17442, 0, 0, 0, 0, 0, 0}, {1027, 16, 0, 0, 0, 0, 0}, {3084, 96, 17476, 0, 0, 0, 0}, {15, 37, 1792, 85, 4352, 0, 0}, {1036, 1062, 64, 0, 0, 0, 0}, {15, 5159, 80, 0, 0, 0, 0}, {17448, 0, 0, 0, 0, 0, 0}, {4355, 21, 0, 0, 0, 0, 0}, {42, 8704, 17408, 0, 0, 0, 0}, {15, 48, 771, 80, 5140, 0, 0}, {1036, 32, 64, 0, 0, 0, 0}, {15, 4386, 85, 0, 0, 0, 0}, {106, 8738, 17476, 0, 0, 0, 0}, {15, 32, 4864, 80, 5120, 0, 0}, {3072, 48, 17408, 0, 0, 0, 0}, {10, 32, 514, 85, 4369, 0, 0}, {1026, 16, 0, 0, 0, 0, 0}, {17459, 0, 0, 0, 0, 0, 0}, {2056, 112, 17476, 0, 0, 0, 0}, {10, 53, 1536, 85, 4352, 0, 0}, {10, 5174, 80, 0, 0, 0, 0}, {1032, 1079, 64, 0, 0, 0, 0}, {1032, 48, 64, 0, 0, 0, 0}, {10, 4403, 85, 0, 0, 0, 0}, {10, 48, 4608, 80, 5120, 0, 0}, {127, 13107, 17476, 0, 0, 0, 0}, {17468, 0, 0, 0, 0, 0, 0}, {4354, 21, 0, 0, 0, 0, 0}, {10, 32, 514, 80, 5140, 0, 0}, {63, 13056, 17408, 0, 0, 0, 0}, {64, 1024, 0, 0, 0, 0, 0}, {5, 4369, 0, 0, 0, 0, 0}, {17474, 0, 0, 0, 0, 0, 0}, {17475, 0, 0, 0, 0, 0, 0}, {17476, 0, 0, 0, 0, 0, 0}, {5, 16, 256, 0, 0, 0, 0}, {17478, 0, 0, 0, 0, 0, 0}, {17479, 0, 0, 0, 0, 0, 0}, {17480, 0, 0, 0, 0, 0, 0}, {4371, 5, 0, 0, 0, 0, 0}, {10, 32, 512, 64, 1024, 0, 0}, {15, 13107, 17476, 0, 0, 0, 0}, {17484, 0, 0, 0, 0, 0, 0}, {4370, 5, 0, 0, 0, 0, 0}, {10, 8738, 17476, 0, 0, 0, 0}, {15, 48, 768, 64, 1024, 0, 0}, {80, 5120, 0, 0, 0, 0, 0}, {21, 4369, 0, 0, 0, 0, 0}, {17490, 0, 0, 0, 0, 0, 0}, {17491, 0, 0, 0, 0, 0, 0}, {1028, 16, 0, 0, 0, 0, 0}, {85, 4352, 0, 0, 0, 0, 0}, {17494, 0, 0, 0, 0, 0, 0}, {17495, 0, 0, 0, 0, 0, 0}, {5128, 32, 80, 0, 0, 0, 0}, {4364, 4403, 85, 0, 0, 0, 0}, {90, 8704, 17408, 0, 0, 0, 0}, {31, 32, 4883, 64, 1028, 0, 0}, {5132, 48, 80, 0, 0, 0, 0}, {4360, 4386, 85, 0, 0, 0, 0}, {26, 48, 4626, 64, 1028, 0, 0}, {95, 13056, 17408, 0, 0, 0, 0}, {3072, 96, 17408, 0, 0, 0, 0}, {15, 37, 1799, 85, 4369, 0, 0}, {1032, 1058, 64, 0, 0, 0, 0}, {15, 5171, 80, 0, 0, 0, 0}, {2056, 32, 17476, 0, 0, 0, 0}, {15, 48, 768, 85, 4352, 0, 0}, {17510, 0, 0, 0, 0, 0, 0}, {1031, 16, 0, 0, 0, 0, 0}, {1032, 32, 64, 0, 0, 0, 0}, {15, 4403, 85, 0, 0, 0, 0}, {106, 8704, 17408, 0, 0, 0, 0}, {15, 32, 4883, 80, 5140, 0, 0}, {17516, 0, 0, 0, 0, 0, 0}, {4370, 21, 0, 0, 0, 0, 0}, {42, 8738, 17476, 0, 0, 0, 0}, {15, 48, 768, 80, 5120, 0, 0}, {2048, 112, 17408, 0, 0, 0, 0}, {10, 53, 1542, 85, 4369, 0, 0}, {10, 5154, 80, 0, 0, 0, 0}, {1036, 1075, 64, 0, 0, 0, 0}, {3084, 48, 17476, 0, 0, 0, 0}, {10, 32, 512, 85, 4352, 0, 0}, {1030, 16, 0, 0, 0, 0, 0}, {17527, 0, 0, 0, 0, 0, 0}, {17528, 0, 0, 0, 0, 0, 0}, {4371, 21, 0, 0, 0, 0, 0}, {10, 32, 512, 80, 5120, 0, 0}, {63, 13107, 17476, 0, 0, 0, 0}, {1036, 48, 64, 0, 0, 0, 0}, {10, 4386, 85, 0, 0, 0, 0}, {10, 48, 4626, 80, 5140, 0, 0}, {127, 13056, 17408, 0, 0, 0, 0}, {128, 2048, 17408, 0, 0, 0, 0}, {48, 771, 5, 4369, 0, 0, 0}, {10, 17442, 0, 0, 0, 0, 0}, {1027, 64, 0, 0, 0, 0, 0}, {192, 3084, 17476, 0, 0, 0, 0}, {32, 512, 5, 4352, 0, 0, 0}, {1030, 64, 0, 0, 0, 0, 0}, {15, 17527, 0, 0, 0, 0, 0}, {17544, 0, 0, 0, 0, 0, 0}, {259, 5, 16, 0, 0, 0, 0}, {10, 32, 512, 17408, 0, 0, 0}, {15, 48, 771, 17476, 0, 0, 0}, {1036, 64, 0, 0, 0, 0, 0}, {4386, 5, 0, 0, 0, 0, 0}, {10, 96, 1542, 17476, 0, 0, 0}, {15, 112, 1792, 17408, 0, 0, 0}, {48, 80, 5120, 0, 0, 0, 0}, {42, 85, 4369, 0, 0, 0, 0}, {1042, 64, 0, 0, 0, 0, 0}, {95, 17459, 0, 0, 0, 0, 0}, {32, 80, 5140, 0, 0, 0, 0}, {63, 85, 4352, 0, 0, 0, 0}, {90, 17510, 0, 0, 0, 0, 0}, {1047, 64, 0, 0, 0, 0, 0}, {1032, 16, 0, 0, 0, 0, 0}, {4403, 85, 0, 0, 0, 0, 0}, {90, 48, 4608, 17408, 0, 0, 0}, {95, 32, 4883, 17476, 0, 0, 0}, {5180, 80, 0, 0, 0, 0, 0}, {4386, 21, 0, 0, 0, 0, 0}, {90, 112, 5654, 17476, 0, 0, 0}, {95, 96, 5888, 17408, 0, 0, 0}, {160, 10240, 17408, 0, 0, 0, 0}, {48, 771, 21, 4369, 0, 0, 0}, {17416, 17442, 0, 0, 0, 0, 0}, {5123, 80, 0, 0, 0, 0, 0}, {32, 64, 1028, 0, 0, 0, 0}, {15, 85, 4352, 0, 0, 0, 0}, {17420, 17510, 0, 0, 0, 0, 0}, {5127, 80, 0, 0, 0, 0, 0}, {17416, 32, 0, 0, 0, 0, 0}, {4355, 85, 0, 0, 0, 0, 0}, {170, 8704, 17408, 0, 0, 0, 0}, {15, 771, 1028, 16, 0, 0, 0}, {17420, 96, 0, 0, 0, 0, 0}, {4359, 85, 0, 0, 0, 0, 0}, {42, 8738, 64, 1028, 0, 0, 0}, {15, 13056, 80, 5120, 0, 0, 0}, {48, 64, 1024, 0, 0, 0, 0}, {10, 85, 4369, 0, 0, 0, 0}, {5138, 80, 0, 0, 0, 0, 0}, {17484, 17459, 0, 0, 0, 0, 0}, {240, 15420, 17476, 0, 0, 0, 0}, {32, 512, 21, 4352, 0, 0, 0}, {5142, 80, 0, 0, 0, 0, 0}, {17480, 17527, 0, 0, 0, 0, 0}, {17480, 48, 0, 0, 0, 0, 0}, {4371, 85, 0, 0, 0, 0, 0}, {10, 512, 1024, 16, 0, 0, 0}, {255, 13107, 17476, 0, 0, 0, 0}, {17484, 112, 0, 0, 0, 0, 0}, {4375, 85, 0, 0, 0, 0, 0}, {10, 8738, 80, 5140, 0, 0, 0}, {63, 13056, 64, 1024, 0, 0, 0}, {192, 3072, 17408, 0, 0, 0, 0}, {32, 514, 5, 4369, 0, 0, 0}, {1026, 64, 0, 0, 0, 0, 0}, {15, 17459, 0, 0, 0, 0, 0}, {128, 2056, 17476, 0, 0, 0, 0}, {48, 768, 5, 4352, 0, 0, 0}, {10, 17510, 0, 0, 0, 0, 0}, {1031, 64, 0, 0, 0, 0, 0}, {1032, 64, 0, 0, 0, 0, 0}, {4403, 5, 0, 0, 0, 0, 0}, {10, 96, 1536, 17408, 0, 0, 0}, {15, 112, 1799, 17476, 0, 0, 0}, {17612, 0, 0, 0, 0, 0, 0}, {258, 5, 16, 0, 0, 0, 0}, {10, 32, 514, 17476, 0, 0, 0}, {15, 48, 768, 17408, 0, 0, 0}, {32, 80, 5120, 0, 0, 0, 0}, {63, 85, 4369, 0, 0, 0, 0}, {90, 17442, 0, 0, 0, 0, 0}, {1043, 64, 0, 0, 0, 0, 0}, {48, 80, 5140, 0, 0, 0, 0}, {42, 85, 4352, 0, 0, 0, 0}, {1046, 64, 0, 0, 0, 0, 0}, {95, 17527, 0, 0, 0, 0, 0}, {5160, 80, 0, 0, 0, 0, 0}, {4403, 21, 0, 0, 0, 0, 0}, {90, 112, 5632, 17408, 0, 0, 0}, {95, 96, 5911, 17476, 0, 0, 0}, {1036, 16, 0, 0, 0, 0, 0}, {4386, 85, 0, 0, 0, 0, 0}, {90, 48, 4626, 17476, 0, 0, 0}, {95, 32, 4864, 17408, 0, 0, 0}, {32, 64, 1024, 0, 0, 0, 0}, {15, 85, 4369, 0, 0, 0, 0}, {17480, 17442, 0, 0, 0, 0, 0}, {5139, 80, 0, 0, 0, 0, 0}, {160, 10280, 17476, 0, 0, 0, 0}, {48, 768, 21, 4352, 0, 0, 0}, {17484, 17510, 0, 0, 0, 0, 0}, {5143, 80, 0, 0, 0, 0, 0}, {17480, 96, 0, 0, 0, 0, 0}, {4374, 85, 0, 0, 0, 0, 0}, {42, 8704, 64, 1024, 0, 0, 0}, {15, 13107, 80, 5140, 0, 0, 0}, {17484, 32, 0, 0, 0, 0, 0}, {4370, 85, 0, 0, 0, 0, 0}, {170, 8738, 17476, 0, 0, 0, 0}, {15, 768, 1024, 16, 0, 0, 0}, {240, 15360, 17408, 0, 0, 0, 0}, {32, 514, 21, 4369, 0, 0, 0}, {5122, 80, 0, 0, 0, 0, 0}, {17420, 17459, 0, 0, 0, 0, 0}, {48, 64, 1028, 0, 0, 0, 0}, {10, 85, 4352, 0, 0, 0, 0}, {5126, 80, 0, 0, 0, 0, 0}, {17416, 17527, 0, 0, 0, 0, 0}, {17416, 112, 0, 0, 0, 0, 0}, {4358, 85, 0, 0, 0, 0, 0}, {10, 8704, 80, 5120, 0, 0, 0}, {63, 13107, 64, 1028, 0, 0, 0}, {17420, 48, 0, 0, 0, 0, 0}, {4354, 85, 0, 0, 0, 0, 0}, {10, 514, 1028, 16, 0, 0, 0}, {255, 13056, 17408, 0, 0, 0, 0}, {1280, 4096, 0, 0, 0, 0, 0}, {68, 257, 0, 0, 0, 0, 0}, {17666, 0, 0, 0, 0, 0, 0}, {17667, 0, 0, 0, 0, 0, 0}, {260, 4352, 0, 0, 0, 0, 0}, {4176, 1285, 0, 0, 0, 0, 0}, {17670, 0, 0, 0, 0, 0, 0}, {17671, 0, 0, 0, 0, 0, 0}, {4104, 4608, 1280, 0, 0, 0, 0}, {4188, 771, 1285, 0, 0, 0, 0}, {1290, 12288, 16384, 0, 0, 0, 0}, {267, 4403, 771, 68, 1028, 0, 0}, {4108, 4864, 1280, 0, 0, 0, 0}, {4184, 514, 1285, 0, 0, 0, 0}, {270, 4386, 514, 68, 1028, 0, 0}, {1295, 8192, 16384, 0, 0, 0, 0}, {1360, 4112, 0, 0, 0, 0, 0}, {1024, 273, 0, 0, 0, 0, 0}, {17682, 0, 0, 0, 0, 0, 0}, {17683, 0, 0, 0, 0, 0, 0}, {276, 4352, 0, 0, 0, 0, 0}, {4160, 5397, 0, 0, 0, 0, 0}, {17686, 0, 0, 0, 0, 0, 0}, {17687, 0, 0, 0, 0, 0, 0}, {4120, 4656, 1360, 0, 0, 0, 0}, {5401, 819, 1365, 0, 0, 0, 0}, {1370, 12336, 16448, 0, 0, 0, 0}, {283, 4403, 4608, 68, 1024, 0, 0}, {4124, 4896, 1360, 0, 0, 0, 0}, {5405, 546, 1365, 0, 0, 0, 0}, {286, 4386, 4864, 68, 1024, 0, 0}, {1375, 8224, 16448, 0, 0, 0, 0}, {3840, 4128, 21760, 0, 0, 0, 0}, {1036, 289, 771, 68, 4369, 0, 0}, {1314, 1792, 4096, 0, 0, 0, 0}, {1379, 771, 4112, 0, 0, 0, 0}, {1036, 292, 1792, 68, 4352, 0, 0}, {3855, 4208, 21845, 0, 0, 0, 0}, {780, 5414, 4160, 0, 0, 0, 0}, {1807, 1319, 4176, 0, 0, 0, 0}, {4136, 4608, 5376, 0, 0, 0, 0}, {4220, 771, 5397, 0, 0, 0, 0}, {5418, 12288, 20480, 0, 0, 0, 0}, {4120, 4403, 771, 68, 5140, 0, 0}, {780, 4896, 5440, 0, 0, 0, 0}, {1807, 546, 5461, 0, 0, 0, 0}, {4108, 4386, 4864, 68, 5120, 0, 0}, {5503, 8224, 20560, 0, 0, 0, 0}, {2560, 4144, 21760, 0, 0, 0, 0}, {1032, 305, 514, 68, 4369, 0, 0}, {1394, 514, 4112, 0, 0, 0, 0}, {1331, 1536, 4096, 0, 0, 0, 0}, {1032, 308, 1536, 68, 4352, 0, 0}, {2570, 4192, 21845, 0, 0, 0, 0}, {1546, 1334, 4176, 0, 0, 0, 0}, {520, 5431, 4160, 0, 0, 0, 0}, {520, 4656, 5440, 0, 0, 0, 0}, {1546, 819, 5461, 0, 0, 0, 0}, {5482, 12336, 20560, 0, 0, 0, 0}, {4104, 4403, 4608, 68, 5120, 0, 0}, {4156, 4864, 5376, 0, 0, 0, 0}, {4200, 514, 5397, 0, 0, 0, 0}, {4124, 4386, 514, 68, 5140, 0, 0}, {5439, 8192, 20480, 0, 0, 0, 0}, {4160, 1280, 0, 0, 0, 0, 0}, {261, 4369, 0, 0, 0, 0, 0}, {17730, 0, 0, 0, 0, 0, 0}, {17731, 0, 0, 0, 0, 0, 0}, {68, 256, 0, 0, 0, 0, 0}, {1285, 4112, 0, 0, 0, 0, 0}, {17734, 0, 0, 0, 0, 0, 0}, {17735, 0, 0, 0, 0, 0, 0}, {4168, 512, 1280, 0, 0, 0, 0}, {4124, 4883, 1285, 0, 0, 0, 0}, {1290, 8224, 16448, 0, 0, 0, 0}, {271, 4403, 512, 68, 1024, 0, 0}, {4172, 768, 1280, 0, 0, 0, 0}, {4120, 4626, 1285, 0, 0, 0, 0}, {266, 4386, 768, 68, 1024, 0, 0}, {1295, 12336, 16448, 0, 0, 0, 0}, {4176, 5376, 0, 0, 0, 0, 0}, {277, 4369, 0, 0, 0, 0, 0}, {17746, 0, 0, 0, 0, 0, 0}, {17747, 0, 0, 0, 0, 0, 0}, {1028, 272, 0, 0, 0, 0, 0}, {1365, 4096, 0, 0, 0, 0, 0}, {17750, 0, 0, 0, 0, 0, 0}, {17751, 0, 0, 0, 0, 0, 0}, {5384, 544, 1360, 0, 0, 0, 0}, {4108, 4915, 1365, 0, 0, 0, 0}, {1370, 8192, 16384, 0, 0, 0, 0}, {287, 4403, 4883, 68, 1028, 0, 0}, {5388, 816, 1360, 0, 0, 0, 0}, {4104, 4642, 1365, 0, 0, 0, 0}, {282, 4386, 4626, 68, 1028, 0, 0}, {1375, 12288, 16384, 0, 0, 0, 0}, {3840, 4192, 21760, 0, 0, 0, 0}, {1032, 293, 1799, 68, 4369, 0, 0}, {1800, 1314, 4160, 0, 0, 0, 0}, {783, 5427, 4176, 0, 0, 0, 0}, {1032, 288, 768, 68, 4352, 0, 0}, {3855, 4144, 21845, 0, 0, 0, 0}, {1382, 768, 4096, 0, 0, 0, 0}, {1319, 1799, 4112, 0, 0, 0, 0}, {1800, 544, 5440, 0, 0, 0, 0}, {783, 4915, 5461, 0, 0, 0, 0}, {5482, 8192, 20480, 0, 0, 0, 0}, {4124, 4403, 4883, 68, 5140, 0, 0}, {4204, 768, 5376, 0, 0, 0, 0}, {4152, 4626, 5397, 0, 0, 0, 0}, {4104, 4386, 768, 68, 5120, 0, 0}, {5439, 12336, 20560, 0, 0, 0, 0}, {2560, 4208, 21760, 0, 0, 0, 0}, {1036, 309, 1542, 68, 4369, 0, 0}, {522, 5410, 4176, 0, 0, 0, 0}, {1548, 1331, 4160, 0, 0, 0, 0}, {1036, 304, 512, 68, 4352, 0, 0}, {2570, 4128, 21845, 0, 0, 0, 0}, {1334, 1542, 4112, 0, 0, 0, 0}, {1399, 512, 4096, 0, 0, 0, 0}, {4216, 512, 5376, 0, 0, 0, 0}, {4140, 4883, 5397, 0, 0, 0, 0}, {5418, 8224, 20560, 0, 0, 0, 0}, {4108, 4403, 512, 68, 5120, 0, 0}, {1548, 816, 5440, 0, 0, 0, 0}, {522, 4642, 5461, 0, 0, 0, 0}, {4120, 4386, 4626, 68, 5140, 0, 0}, {5503, 12288, 20480, 0, 0, 0, 0}, {4224, 12288, 1280, 0, 0, 0, 0}, {265, 771, 68, 1285, 4369, 0, 0}, {1290, 5410, 1792, 16384, 0, 0, 0}, {1295, 5491, 771, 16448, 0, 0, 0}, {268, 512, 68, 1280, 4352, 0, 0}, {4304, 8224, 1285, 0, 0, 0, 0}, {1290, 5414, 1542, 16448, 0, 0, 0}, {1295, 5495, 512, 16384, 0, 0, 0}, {136, 512, 1280, 4096, 0, 0, 0}, {204, 771, 1285, 4112, 0, 0, 0}, {1290, 4128, 0, 0, 0, 0, 0}, {259, 68, 0, 0, 0, 0, 0}, {780, 13056, 4160, 1280, 0, 0, 0}, {522, 8738, 4176, 1285, 0, 0, 0}, {262, 68, 0, 0, 0, 0, 0}, {1295, 4208, 0, 0, 0, 0, 0}, {6704, 12336, 1360, 0, 0, 0, 0}, {281, 819, 68, 1297, 4369, 0, 0}, {1370, 5474, 4626, 16448, 0, 0, 0}, {1375, 5427, 5632, 16384, 0, 0, 0}, {284, 544, 68, 1300, 4352, 0, 0}, {7999, 8192, 1365, 0, 0, 0, 0}, {1370, 5478, 4864, 16384, 0, 0, 0}, {1375, 5431, 5911, 16448, 0, 0, 0}, {2056, 544, 1360, 4112, 0, 0, 0}, {3072, 819, 1365, 4096, 0, 0, 0}, {1370, 4144, 0, 0, 0, 0, 0}, {275, 68, 0, 0, 0, 0, 0}, {828, 13056, 4176, 5376, 0, 0, 0}, {554, 8738, 4160, 5397, 0, 0, 0}, {278, 68, 0, 0, 0, 0, 0}, {1375, 4192, 0, 0, 0, 0, 0}, {4256, 12288, 5376, 0, 0, 0, 0}, {297, 771, 68, 1028, 4369, 0, 0}, {4104, 1314, 5888, 20480, 0, 0, 0}, {4188, 1379, 771, 20560, 0, 0, 0}, {780, 544, 68, 1028, 4352, 0, 0}, {3855, 8192, 5461, 0, 0, 0, 0}, {4108, 1382, 4864, 20480, 0, 0, 0}, {4184, 1319, 1799, 20560, 0, 0, 0}, {5384, 4128, 4608, 21760, 0, 0, 0}, {5465, 4144, 771, 21845, 0, 0, 0}, {1450, 3840, 4096, 0, 0, 0, 0}, {291, 771, 68, 1028, 4112, 0, 0}, {5388, 4192, 5632, 21760, 0, 0, 0}, {5469, 4208, 1799, 21845, 0, 0, 0}, {4386, 4100, 0, 0, 0, 0, 0}, {9487, 4176, 0, 0, 0, 0, 0}, {2560, 12336, 5440, 0, 0, 0, 0}, {522, 819, 68, 1024, 4369, 0, 0}, {4120, 1394, 4626, 20560, 0, 0, 0}, {4172, 1331, 1536, 20480, 0, 0, 0}, {316, 512, 68, 1024, 4352, 0, 0}, {4320, 8224, 5397, 0, 0, 0, 0}, {4124, 1334, 5654, 20560, 0, 0, 0}, {4168, 1399, 512, 20480, 0, 0, 0}, {5448, 4144, 512, 21760, 0, 0, 0}, {5401, 4128, 4883, 21845, 0, 0, 0}, {1530, 2570, 4112, 0, 0, 0, 0}, {307, 512, 68, 1024, 4096, 0, 0}, {5452, 4208, 1536, 21760, 0, 0, 0}, {5405, 4192, 5911, 21845, 0, 0, 0}, {4386, 4116, 0, 0, 0, 0, 0}, {13631, 4160, 0, 0, 0, 0, 0}, {4288, 8192, 1280, 0, 0, 0, 0}, {269, 514, 68, 1285, 4369, 0, 0}, {1290, 5474, 514, 16448, 0, 0, 0}, {1295, 5427, 1536, 16384, 0, 0, 0}, {264, 768, 68, 1280, 4352, 0, 0}, {4240, 12336, 1285, 0, 0, 0, 0}, {1290, 5478, 768, 16384, 0, 0, 0}, {1295, 5431, 1799, 16448, 0, 0, 0}, {520, 8704, 4160, 1280, 0, 0, 0}, {783, 13107, 4176, 1285, 0, 0, 0}, {1290, 4192, 0, 0, 0, 0, 0}, {263, 68, 0, 0, 0, 0, 0}, {204, 768, 1280, 4096, 0, 0, 0}, {136, 514, 1285, 4112, 0, 0, 0}, {258, 68, 0, 0, 0, 0, 0}, {1295, 4144, 0, 0, 0, 0, 0}, {7968, 8224, 1360, 0, 0, 0, 0}, {285, 546, 68, 1297, 4369, 0, 0}, {1370, 5410, 5888, 16384, 0, 0, 0}, {1375, 5491, 4883, 16448, 0, 0, 0}, {280, 816, 68, 1300, 4352, 0, 0}, {6698, 12288, 1365, 0, 0, 0, 0}, {1370, 5414, 5654, 16448, 0, 0, 0}, {1375, 5495, 4608, 16384, 0, 0, 0}, {552, 8704, 4176, 5376, 0, 0, 0}, {831, 13107, 4160, 5397, 0, 0, 0}, {1370, 4208, 0, 0, 0, 0, 0}, {279, 68, 0, 0, 0, 0, 0}, {3084, 816, 1360, 4112, 0, 0, 0}, {2048, 546, 1365, 4096, 0, 0, 0}, {274, 68, 0, 0, 0, 0, 0}, {1375, 4128, 0, 0, 0, 0, 0}, {3840, 8224, 5440, 0, 0, 0, 0}, {783, 546, 68, 1024, 4369, 0, 0}, {4168, 1314, 1792, 20480, 0, 0, 0}, {4124, 1379, 4883, 20560, 0, 0, 0}, {296, 768, 68, 1024, 4352, 0, 0}, {4272, 12336, 5397, 0, 0, 0, 0}, {4172, 1382, 768, 20480, 0, 0, 0}, {4120, 1319, 5911, 20560, 0, 0, 0}, {5448, 4192, 1792, 21760, 0, 0, 0}, {5401, 4208, 5654, 21845, 0, 0, 0}, {9514, 4160, 0, 0, 0, 0, 0}, {4403, 4116, 0, 0, 0, 0, 0}, {5452, 4128, 768, 21760, 0, 0, 0}, {5405, 4144, 4626, 21845, 0, 0, 0}, {290, 768, 68, 1024, 4096, 0, 0}, {1455, 3855, 4112, 0, 0, 0, 0}, {4336, 8192, 5376, 0, 0, 0, 0}, {317, 514, 68, 1028, 4369, 0, 0}, {4184, 1394, 514, 20560, 0, 0, 0}, {4108, 1331, 5632, 20480, 0, 0, 0}, {520, 816, 68, 1028, 4352, 0, 0}, {2570, 12288, 5461, 0, 0, 0, 0}, {4188, 1334, 1542, 20560, 0, 0, 0}, {4104, 1399, 4608, 20480, 0, 0, 0}, {5384, 4208, 5888, 21760, 0, 0, 0}, {5465, 4192, 1542, 21845, 0, 0, 0}, {13578, 4176, 0, 0, 0, 0, 0}, {4403, 4100, 0, 0, 0, 0, 0}, {5388, 4144, 4864, 21760, 0, 0, 0}, {5469, 4128, 514, 21845, 0, 0, 0}, {306, 514, 68, 1028, 4112, 0, 0}, {1535, 2560, 4096, 0, 0, 0, 0}, {17920, 0, 0, 0, 0, 0, 0}, {71, 257, 0, 0, 0, 0, 0}, {136, 514, 17408, 0, 0, 0, 0}, {15, 48, 771, 1280, 4096, 0, 0}, {72, 576, 1028, 0, 0, 0, 0}, {15, 4944, 1285, 0, 0, 0, 0}, {192, 1542, 16384, 0, 0, 0, 0}, {15, 119, 519, 1280, 4352, 0, 0}, {520, 8704, 17408, 0, 0, 0, 0}, {15, 48, 771, 4176, 1285, 0, 0}, {17930, 0, 0, 0, 0, 0, 0}, {4355, 260, 0, 0, 0, 0, 0}, {1548, 8192, 16384, 0, 0, 0, 0}, {15, 4386, 514, 4437, 1285, 0, 0}, {72, 514, 1028, 0, 0, 0, 0}, {15, 4864, 1280, 0, 0, 0, 0}, {48, 1616, 4112, 0, 0, 0, 0}, {119, 597, 4369, 0, 0, 0, 0}, {72, 48, 530, 1024, 4096, 0, 0}, {255, 4883, 21760, 0, 0, 0, 0}, {120, 592, 5140, 0, 0, 0, 0}, {63, 4928, 5397, 0, 0, 0, 0}, {240, 5654, 20480, 0, 0, 0, 0}, {72, 119, 535, 1024, 4352, 0, 0}, {4120, 48, 4608, 4176, 1024, 0, 0}, {4940, 13107, 21845, 0, 0, 0, 0}, {5658, 48, 4160, 0, 0, 0, 0}, {4891, 4403, 4420, 0, 0, 0, 0}, {5708, 8224, 20560, 0, 0, 0, 0}, {4381, 4386, 4864, 4437, 1024, 0, 0}, {5662, 546, 5188, 0, 0, 0, 0}, {4895, 4896, 5440, 0, 0, 0, 0}, {17952, 0, 0, 0, 0, 0, 0}, {1027, 273, 0, 0, 0, 0, 0}, {2048, 546, 17408, 0, 0, 0, 0}, {15, 48, 771, 1360, 4112, 0, 0}, {1036, 1572, 1092, 0, 0, 0, 0}, {15, 5669, 1365, 0, 0, 0, 0}, {3084, 1638, 16448, 0, 0, 0, 0}, {15, 1319, 1792, 1360, 4352, 0, 0}, {552, 8704, 17408, 0, 0, 0, 0}, {15, 48, 771, 4160, 5397, 0, 0}, {17962, 0, 0, 0, 0, 0, 0}, {4355, 276, 0, 0, 0, 0, 0}, {1644, 8224, 16448, 0, 0, 0, 0}, {15, 4386, 4864, 4437, 5120, 0, 0}, {1036, 546, 1092, 0, 0, 0, 0}, {15, 4896, 1360, 0, 0, 0, 0}, {48, 1536, 4096, 0, 0, 0, 0}, {119, 514, 4369, 0, 0, 0, 0}, {1032, 48, 514, 1088, 4112, 0, 0}, {2560, 4915, 21760, 0, 0, 0, 0}, {520, 5684, 5188, 0, 0, 0, 0}, {1546, 1589, 5461, 0, 0, 0, 0}, {2570, 5734, 20560, 0, 0, 0, 0}, {1032, 1079, 1536, 1088, 4352, 0, 0}, {4104, 48, 4608, 4160, 5120, 0, 0}, {4972, 13107, 21845, 0, 0, 0, 0}, {1546, 48, 4176, 0, 0, 0, 0}, {520, 4403, 4420, 0, 0, 0, 0}, {5692, 8192, 20480, 0, 0, 0, 0}, {4381, 4386, 514, 4437, 5397, 0, 0}, {120, 514, 5140, 0, 0, 0, 0}, {63, 4864, 5376, 0, 0, 0, 0}, {192, 1536, 16448, 0, 0, 0, 0}, {15, 119, 517, 1285, 4369, 0, 0}, {72, 578, 1024, 0, 0, 0, 0}, {15, 4931, 1280, 0, 0, 0, 0}, {136, 512, 17476, 0, 0, 0, 0}, {15, 48, 768, 1285, 4112, 0, 0}, {17990, 0, 0, 0, 0, 0, 0}, {71, 256, 0, 0, 0, 0, 0}, {72, 512, 1024, 0, 0, 0, 0}, {15, 4883, 1285, 0, 0, 0, 0}, {1546, 8224, 16448, 0, 0, 0, 0}, {15, 4403, 512, 4420, 1280, 0, 0}, {17996, 0, 0, 0, 0, 0, 0}, {4370, 261, 0, 0, 0, 0, 0}, {522, 8738, 17476, 0, 0, 0, 0}, {15, 48, 768, 4160, 1280, 0, 0}, {240, 5632, 20560, 0, 0, 0, 0}, {72, 119, 533, 1028, 4369, 0, 0}, {120, 594, 5120, 0, 0, 0, 0}, {63, 4947, 5376, 0, 0, 0, 0}, {72, 48, 528, 1028, 4112, 0, 0}, {255, 4864, 21845, 0, 0, 0, 0}, {48, 1622, 4096, 0, 0, 0, 0}, {119, 599, 4352, 0, 0, 0, 0}, {5640, 544, 5200, 0, 0, 0, 0}, {4876, 4915, 5461, 0, 0, 0, 0}, {5722, 8192, 20480, 0, 0, 0, 0}, {4364, 4403, 4883, 4420, 1028, 0, 0}, {5644, 48, 4176, 0, 0, 0, 0}, {4872, 4386, 4437, 0, 0, 0, 0}, {4104, 48, 4626, 4160, 1028, 0, 0}, {4959, 13056, 21760, 0, 0, 0, 0}, {3072, 1632, 16384, 0, 0, 0, 0}, {15, 1314, 1799, 1365, 4369, 0, 0}, {1032, 1570, 1088, 0, 0, 0, 0}, {15, 5683, 1360, 0, 0, 0, 0}, {2056, 544, 17476, 0, 0, 0, 0}, {15, 48, 768, 1365, 4096, 0, 0}, {18022, 0, 0, 0, 0, 0, 0}, {1031, 272, 0, 0, 0, 0, 0}, {1032, 544, 1088, 0, 0, 0, 0}, {15, 4915, 1365, 0, 0, 0, 0}, {1642, 8192, 16384, 0, 0, 0, 0}, {15, 4403, 4883, 4420, 5140, 0, 0}, {18028, 0, 0, 0, 0, 0, 0}, {4370, 277, 0, 0, 0, 0, 0}, {554, 8738, 17476, 0, 0, 0, 0}, {15, 48, 768, 4176, 5376, 0, 0}, {2560, 5744, 20480, 0, 0, 0, 0}, {1036, 1075, 1542, 1092, 4369, 0, 0}, {522, 5666, 5200, 0, 0, 0, 0}, {1548, 1587, 5440, 0, 0, 0, 0}, {1036, 48, 512, 1092, 4096, 0, 0}, {2570, 4896, 21845, 0, 0, 0, 0}, {48, 1542, 4112, 0, 0, 0, 0}, {119, 512, 4352, 0, 0, 0, 0}, {120, 512, 5120, 0, 0, 0, 0}, {63, 4883, 5397, 0, 0, 0, 0}, {5674, 8224, 20560, 0, 0, 0, 0}, {4364, 4403, 512, 4420, 5376, 0, 0}, {1548, 48, 4160, 0, 0, 0, 0}, {522, 4386, 4437, 0, 0, 0, 0}, {4120, 48, 4626, 4176, 5140, 0, 0}, {4991, 13056, 21760, 0, 0, 0, 0}, {18048, 2560, 26112, 0, 0, 0, 0}, {262, 321, 1285, 4369, 0, 0, 0}, {522, 8738, 17408, 0, 0, 0, 0}, {15, 48, 771, 4160, 1280, 0, 0}, {1036, 512, 1092, 0, 0, 0, 0}, {15, 4896, 1285, 0, 0, 0, 0}, {192, 1542, 16448, 0, 0, 0, 0}, {15, 119, 512, 1280, 4352, 0, 0}, {136, 512, 17408, 0, 0, 0, 0}, {15, 48, 771, 1285, 4112, 0, 0}, {18058, 2570, 8224, 0, 0, 0, 0}, {259, 324, 1280, 4096, 0, 0, 0}, {1548, 8256, 16448, 0, 0, 0, 0}, {15, 4386, 517, 4437, 1285, 0, 0}, {1036, 1542, 1092, 0, 0, 0, 0}, {15, 4976, 1280, 0, 0, 0, 0}, {48, 5632, 4176, 0, 0, 0, 0}, {605, 119, 4369, 0, 0, 0, 0}, {4104, 48, 4626, 4160, 5120, 0, 0}, {4972, 13107, 21760, 0, 0, 0, 0}, {600, 544, 5140, 0, 0, 0, 0}, {63, 4864, 5461, 0, 0, 0, 0}, {2650, 5734, 20480, 0, 0, 0, 0}, {1032, 1079, 1559, 1088, 4352, 0, 0}, {1032, 48, 528, 1088, 4112, 0, 0}, {2645, 4915, 21845, 0, 0, 0, 0}, {1626, 48, 4096, 0, 0, 0, 0}, {4403, 4883, 4420, 0, 0, 0, 0}, {5692, 8272, 20560, 0, 0, 0, 0}, {4381, 4386, 533, 4437, 5397, 0, 0}, {5180, 5654, 5188, 0, 0, 0, 0}, {4959, 4960, 5376, 0, 0, 0, 0}, {18080, 19456, 26112, 0, 0, 0, 0}, {278, 337, 1028, 4369, 0, 0, 0}, {554, 8738, 17408, 0, 0, 0, 0}, {15, 48, 771, 4176, 5376, 0, 0}, {72, 544, 1028, 0, 0, 0, 0}, {15, 4864, 1365, 0, 0, 0, 0}, {3084, 1638, 16384, 0, 0, 0, 0}, {15, 1319, 1799, 1360, 4352, 0, 0}, {2056, 544, 17408, 0, 0, 0, 0}, {15, 48, 771, 1365, 4096, 0, 0}, {18090, 19456, 8192, 0, 0, 0, 0}, {275, 340, 1028, 4112, 0, 0, 0}, {1644, 8288, 16384, 0, 0, 0, 0}, {15, 4386, 4871, 4437, 5120, 0, 0}, {72, 610, 1028, 0, 0, 0, 0}, {15, 5632, 1360, 0, 0, 0, 0}, {48, 1536, 4160, 0, 0, 0, 0}, {522, 119, 4369, 0, 0, 0, 0}, {4120, 48, 4626, 4176, 1024, 0, 0}, {4940, 13107, 21760, 0, 0, 0, 0}, {5180, 512, 5188, 0, 0, 0, 0}, {4895, 4896, 5397, 0, 0, 0, 0}, {240, 5654, 20560, 0, 0, 0, 0}, {72, 119, 512, 1024, 4352, 0, 0}, {72, 48, 512, 1024, 4096, 0, 0}, {255, 4883, 21845, 0, 0, 0, 0}, {1546, 48, 4112, 0, 0, 0, 0}, {4403, 512, 4420, 0, 0, 0, 0}, {5708, 8304, 20480, 0, 0, 0, 0}, {4381, 4386, 4887, 4437, 1024, 0, 0}, {522, 626, 5140, 0, 0, 0, 0}, {63, 1536, 5440, 0, 0, 0, 0}, {192, 1536, 16384, 0, 0, 0, 0}, {15, 119, 514, 1285, 4369, 0, 0}, {1032, 514, 1088, 0, 0, 0, 0}, {15, 4915, 1280, 0, 0, 0, 0}, {520, 8704, 17476, 0, 0, 0, 0}, {15, 48, 768, 4176, 1285, 0, 0}, {18118, 2570, 26214, 0, 0, 0, 0}, {263, 320, 1280, 4352, 0, 0, 0}, {1032, 1536, 1088, 0, 0, 0, 0}, {15, 4963, 1285, 0, 0, 0, 0}, {1546, 8288, 16384, 0, 0, 0, 0}, {15, 4403, 519, 4420, 1280, 0, 0}, {18124, 2560, 8192, 0, 0, 0, 0}, {258, 325, 1285, 4112, 0, 0, 0}, {136, 514, 17476, 0, 0, 0, 0}, {15, 48, 768, 1280, 4096, 0, 0}, {2640, 5744, 20560, 0, 0, 0, 0}, {1036, 1075, 1553, 1092, 4369, 0, 0}, {602, 546, 5120, 0, 0, 0, 0}, {63, 4883, 5440, 0, 0, 0, 0}, {4120, 48, 4608, 4176, 5140, 0, 0}, {4991, 13056, 21845, 0, 0, 0, 0}, {48, 5654, 4160, 0, 0, 0, 0}, {607, 119, 4352, 0, 0, 0, 0}, {5160, 5632, 5200, 0, 0, 0, 0}, {4940, 4979, 5397, 0, 0, 0, 0}, {5674, 8304, 20480, 0, 0, 0, 0}, {4364, 4403, 535, 4420, 5376, 0, 0}, {1628, 48, 4112, 0, 0, 0, 0}, {4386, 4864, 4437, 0, 0, 0, 0}, {1036, 48, 530, 1092, 4096, 0, 0}, {2655, 4896, 21760, 0, 0, 0, 0}, {3072, 1632, 16448, 0, 0, 0, 0}, {15, 1314, 1792, 1365, 4369, 0, 0}, {72, 546, 1024, 0, 0, 0, 0}, {15, 4883, 1360, 0, 0, 0, 0}, {552, 8704, 17476, 0, 0, 0, 0}, {15, 48, 768, 4160, 5397, 0, 0}, {18150, 19532, 26214, 0, 0, 0, 0}, {279, 336, 1024, 4352, 0, 0, 0}, {72, 608, 1024, 0, 0, 0, 0}, {15, 5654, 1365, 0, 0, 0, 0}, {1642, 8256, 16448, 0, 0, 0, 0}, {15, 4403, 4884, 4420, 5140, 0, 0}, {18156, 19532, 8224, 0, 0, 0, 0}, {274, 341, 1024, 4096, 0, 0, 0}, {2048, 546, 17476, 0, 0, 0, 0}, {15, 48, 768, 1360, 4112, 0, 0}, {240, 5632, 20480, 0, 0, 0, 0}, {72, 119, 514, 1028, 4369, 0, 0}, {5160, 514, 5200, 0, 0, 0, 0}, {4876, 4915, 5376, 0, 0, 0, 0}, {4104, 48, 4608, 4160, 1028, 0, 0}, {4959, 13056, 21845, 0, 0, 0, 0}, {48, 1542, 4176, 0, 0, 0, 0}, {520, 119, 4352, 0, 0, 0, 0}, {520, 624, 5120, 0, 0, 0, 0}, {63, 1542, 5461, 0, 0, 0, 0}, {5722, 8272, 20560, 0, 0, 0, 0}, {4364, 4403, 4868, 4420, 1028, 0, 0}, {1548, 48, 4096, 0, 0, 0, 0}, {4386, 514, 4437, 0, 0, 0, 0}, {72, 48, 514, 1028, 4112, 0, 0}, {255, 4864, 21760, 0, 0, 0, 0}, {18176, 0, 0, 0, 0, 0, 0}, {70, 257, 0, 0, 0, 0, 0}, {10, 32, 514, 1280, 4096, 0, 0}, {204, 771, 17408, 0, 0, 0, 0}, {76, 832, 1028, 0, 0, 0, 0}, {10, 4688, 1285, 0, 0, 0, 0}, {10, 102, 774, 1280, 4352, 0, 0}, {128, 1799, 16384, 0, 0, 0, 0}, {1800, 12288, 16384, 0, 0, 0, 0}, {10, 4403, 771, 4437, 1285, 0, 0}, {10, 4608, 1280, 0, 0, 0, 0}, {76, 771, 1028, 0, 0, 0, 0}, {780, 13056, 17408, 0, 0, 0, 0}, {10, 32, 514, 4176, 1285, 0, 0}, {4354, 260, 0, 0, 0, 0, 0}, {18191, 0, 0, 0, 0, 0, 0}, {32, 1872, 4112, 0, 0, 0, 0}, {102, 853, 4369, 0, 0, 0, 0}, {170, 4626, 21760, 0, 0, 0, 0}, {76, 32, 787, 1024, 4096, 0, 0}, {108, 848, 5140, 0, 0, 0, 0}, {42, 4672, 5397, 0, 0, 0, 0}, {76, 102, 790, 1024, 4352, 0, 0}, {160, 5911, 20480, 0, 0, 0, 0}, {5960, 12336, 20560, 0, 0, 0, 0}, {4377, 4403, 4608, 4437, 1024, 0, 0}, {4634, 4656, 5440, 0, 0, 0, 0}, {5915, 819, 5188, 0, 0, 0, 0}, {4124, 32, 4864, 4176, 1024, 0, 0}, {4680, 8738, 21845, 0, 0, 0, 0}, {4638, 4386, 4420, 0, 0, 0, 0}, {5919, 32, 4160, 0, 0, 0, 0}, {32, 1792, 4096, 0, 0, 0, 0}, {102, 771, 4369, 0, 0, 0, 0}, {3840, 4642, 21760, 0, 0, 0, 0}, {1036, 32, 771, 1088, 4112, 0, 0}, {780, 5924, 5188, 0, 0, 0, 0}, {1807, 1829, 5461, 0, 0, 0, 0}, {1036, 1062, 1792, 1088, 4352, 0, 0}, {3855, 6007, 20560, 0, 0, 0, 0}, {5928, 12288, 20480, 0, 0, 0, 0}, {4377, 4403, 771, 4437, 5397, 0, 0}, {42, 4608, 5376, 0, 0, 0, 0}, {108, 771, 5140, 0, 0, 0, 0}, {4108, 32, 4864, 4160, 5120, 0, 0}, {4728, 8738, 21845, 0, 0, 0, 0}, {780, 4386, 4420, 0, 0, 0, 0}, {1807, 32, 4176, 0, 0, 0, 0}, {18224, 0, 0, 0, 0, 0, 0}, {1026, 273, 0, 0, 0, 0, 0}, {10, 32, 514, 1360, 4112, 0, 0}, {3072, 819, 17408, 0, 0, 0, 0}, {1032, 1844, 1092, 0, 0, 0, 0}, {10, 5941, 1365, 0, 0, 0, 0}, {10, 1334, 1536, 1360, 4352, 0, 0}, {2056, 1911, 16448, 0, 0, 0, 0}, {1912, 12336, 16448, 0, 0, 0, 0}, {10, 4403, 4608, 4437, 5120, 0, 0}, {10, 4656, 1360, 0, 0, 0, 0}, {1032, 819, 1092, 0, 0, 0, 0}, {828, 13056, 17408, 0, 0, 0, 0}, {10, 32, 514, 4160, 5397, 0, 0}, {4354, 276, 0, 0, 0, 0, 0}, {18239, 0, 0, 0, 0, 0, 0}, {128, 1792, 16448, 0, 0, 0, 0}, {10, 102, 773, 1285, 4369, 0, 0}, {10, 4674, 1280, 0, 0, 0, 0}, {76, 835, 1024, 0, 0, 0, 0}, {204, 768, 17476, 0, 0, 0, 0}, {10, 32, 512, 1285, 4112, 0, 0}, {70, 256, 0, 0, 0, 0, 0}, {18247, 0, 0, 0, 0, 0, 0}, {18248, 0, 0, 0, 0, 0, 0}, {4371, 261, 0, 0, 0, 0, 0}, {10, 32, 512, 4160, 1280, 0, 0}, {783, 13107, 17476, 0, 0, 0, 0}, {76, 768, 1024, 0, 0, 0, 0}, {10, 4626, 1285, 0, 0, 0, 0}, {10, 4386, 768, 4420, 1280, 0, 0}, {1807, 12336, 16448, 0, 0, 0, 0}, {160, 5888, 20560, 0, 0, 0, 0}, {76, 102, 789, 1028, 4369, 0, 0}, {42, 4690, 5376, 0, 0, 0, 0}, {108, 851, 5120, 0, 0, 0, 0}, {76, 32, 784, 1028, 4112, 0, 0}, {170, 4608, 21845, 0, 0, 0, 0}, {102, 854, 4352, 0, 0, 0, 0}, {32, 1879, 4096, 0, 0, 0, 0}, {5896, 32, 4176, 0, 0, 0, 0}, {4620, 4403, 4437, 0, 0, 0, 0}, {4698, 8704, 21760, 0, 0, 0, 0}, {4108, 32, 4883, 4160, 1028, 0, 0}, {5900, 816, 5200, 0, 0, 0, 0}, {4616, 4642, 5461, 0, 0, 0, 0}, {4360, 4386, 4626, 4420, 1028, 0, 0}, {5983, 12288, 20480, 0, 0, 0, 0}, {3840, 5984, 20480, 0, 0, 0, 0}, {1032, 1058, 1799, 1092, 4369, 0, 0}, {1800, 1826, 5440, 0, 0, 0, 0}, {783, 5939, 5200, 0, 0, 0, 0}, {1032, 32, 768, 1092, 4096, 0, 0}, {3855, 4656, 21845, 0, 0, 0, 0}, {102, 768, 4352, 0, 0, 0, 0}, {32, 1799, 4112, 0, 0, 0, 0}, {1800, 32, 4160, 0, 0, 0, 0}, {783, 4403, 4437, 0, 0, 0, 0}, {4714, 8704, 21760, 0, 0, 0, 0}, {4124, 32, 4883, 4176, 5140, 0, 0}, {108, 768, 5120, 0, 0, 0, 0}, {42, 4626, 5397, 0, 0, 0, 0}, {4360, 4386, 768, 4420, 5376, 0, 0}, {5951, 12336, 20560, 0, 0, 0, 0}, {2048, 1904, 16384, 0, 0, 0, 0}, {10, 1331, 1542, 1365, 4369, 0, 0}, {10, 5922, 1360, 0, 0, 0, 0}, {1036, 1843, 1088, 0, 0, 0, 0}, {3084, 816, 17476, 0, 0, 0, 0}, {10, 32, 512, 1365, 4096, 0, 0}, {1030, 272, 0, 0, 0, 0, 0}, {18295, 0, 0, 0, 0, 0, 0}, {18296, 0, 0, 0, 0, 0, 0}, {4371, 277, 0, 0, 0, 0, 0}, {10, 32, 512, 4176, 5376, 0, 0}, {831, 13107, 17476, 0, 0, 0, 0}, {1036, 816, 1088, 0, 0, 0, 0}, {10, 4642, 1365, 0, 0, 0, 0}, {10, 4386, 4626, 4420, 5140, 0, 0}, {1919, 12288, 16384, 0, 0, 0, 0}, {128, 1792, 16384, 0, 0, 0, 0}, {10, 102, 771, 1285, 4369, 0, 0}, {10, 4642, 1280, 0, 0, 0, 0}, {1036, 771, 1088, 0, 0, 0, 0}, {780, 13056, 17476, 0, 0, 0, 0}, {10, 32, 512, 4176, 1285, 0, 0}, {262, 320, 1280, 4352, 0, 0, 0}, {18311, 3855, 30583, 0, 0, 0, 0}, {18312, 3840, 12288, 0, 0, 0, 0}, {259, 325, 1285, 4112, 0, 0, 0}, {10, 32, 512, 1280, 4096, 0, 0}, {204, 771, 17476, 0, 0, 0, 0}, {1036, 1792, 1088, 0, 0, 0, 0}, {10, 4722, 1285, 0, 0, 0, 0}, {10, 4386, 774, 4420, 1280, 0, 0}, {1807, 12400, 16384, 0, 0, 0, 0}, {3920, 5984, 20560, 0, 0, 0, 0}, {1032, 1058, 1809, 1092, 4369, 0, 0}, {42, 4626, 5440, 0, 0, 0, 0}, {863, 819, 5120, 0, 0, 0, 0}, {4124, 32, 4864, 4176, 5140, 0, 0}, {4714, 8704, 21845, 0, 0, 0, 0}, {858, 102, 4352, 0, 0, 0, 0}, {32, 5911, 4160, 0, 0, 0, 0}, {1880, 32, 4112, 0, 0, 0, 0}, {4403, 4608, 4437, 0, 0, 0, 0}, {3930, 4656, 21760, 0, 0, 0, 0}, {1032, 32, 787, 1092, 4096, 0, 0}, {5180, 5888, 5200, 0, 0, 0, 0}, {4680, 4706, 5397, 0, 0, 0, 0}, {4360, 4386, 790, 4420, 5376, 0, 0}, {5951, 12384, 20480, 0, 0, 0, 0}, {160, 5888, 20480, 0, 0, 0, 0}, {76, 102, 771, 1028, 4369, 0, 0}, {4616, 4642, 5376, 0, 0, 0, 0}, {5180, 771, 5200, 0, 0, 0, 0}, {4108, 32, 4864, 4160, 1028, 0, 0}, {4698, 8704, 21845, 0, 0, 0, 0}, {780, 102, 4352, 0, 0, 0, 0}, {32, 1799, 4176, 0, 0, 0, 0}, {1800, 32, 4096, 0, 0, 0, 0}, {4403, 771, 4437, 0, 0, 0, 0}, {170, 4608, 21760, 0, 0, 0, 0}, {76, 32, 771, 1028, 4112, 0, 0}, {780, 864, 5120, 0, 0, 0, 0}, {42, 1799, 5461, 0, 0, 0, 0}, {4360, 4386, 4612, 4420, 1028, 0, 0}, {5983, 12368, 20560, 0, 0, 0, 0}, {2048, 1904, 16448, 0, 0, 0, 0}, {10, 1331, 1536, 1365, 4369, 0, 0}, {10, 4626, 1360, 0, 0, 0, 0}, {76, 819, 1024, 0, 0, 0, 0}, {828, 13056, 17476, 0, 0, 0, 0}, {10, 32, 512, 4160, 5397, 0, 0}, {278, 336, 1024, 4352, 0, 0, 0}, {18359, 18504, 30583, 0, 0, 0, 0}, {18360, 18504, 12336, 0, 0, 0, 0}, {275, 341, 1024, 4096, 0, 0, 0}, {10, 32, 512, 1360, 4112, 0, 0}, {3072, 819, 17476, 0, 0, 0, 0}, {76, 880, 1024, 0, 0, 0, 0}, {10, 5911, 1365, 0, 0, 0, 0}, {10, 4386, 4628, 4420, 5140, 0, 0}, {1919, 12352, 16448, 0, 0, 0, 0}, {18368, 3840, 30464, 0, 0, 0, 0}, {263, 321, 1285, 4369, 0, 0, 0}, {10, 32, 514, 4160, 1280, 0, 0}, {783, 13107, 17408, 0, 0, 0, 0}, {1032, 768, 1092, 0, 0, 0, 0}, {10, 4656, 1285, 0, 0, 0, 0}, {10, 102, 768, 1280, 4352, 0, 0}, {128, 1799, 16448, 0, 0, 0, 0}, {1800, 12352, 16448, 0, 0, 0, 0}, {10, 4403, 773, 4437, 1285, 0, 0}, {10, 4704, 1280, 0, 0, 0, 0}, {1032, 1799, 1092, 0, 0, 0, 0}, {204, 768, 17408, 0, 0, 0, 0}, {10, 32, 514, 1285, 4112, 0, 0}, {258, 324, 1280, 4096, 0, 0, 0}, {18383, 3855, 12336, 0, 0, 0, 0}, {32, 5888, 4176, 0, 0, 0, 0}, {857, 102, 4369, 0, 0, 0, 0}, {4728, 8738, 21760, 0, 0, 0, 0}, {4108, 32, 4883, 4160, 5120, 0, 0}, {860, 816, 5140, 0, 0, 0, 0}, {42, 4608, 5461, 0, 0, 0, 0}, {1036, 1062, 1814, 1088, 4352, 0, 0}, {3935, 6007, 20480, 0, 0, 0, 0}, {5928, 12368, 20560, 0, 0, 0, 0}, {4377, 4403, 789, 4437, 5397, 0, 0}, {4698, 4720, 5376, 0, 0, 0, 0}, {5160, 5911, 5188, 0, 0, 0, 0}, {1036, 32, 784, 1088, 4112, 0, 0}, {3925, 4642, 21845, 0, 0, 0, 0}, {4386, 4626, 4420, 0, 0, 0, 0}, {1887, 32, 4096, 0, 0, 0, 0}, {32, 1792, 4160, 0, 0, 0, 0}, {783, 102, 4369, 0, 0, 0, 0}, {4680, 8738, 21760, 0, 0, 0, 0}, {4124, 32, 4883, 4176, 1024, 0, 0}, {5160, 768, 5188, 0, 0, 0, 0}, {4634, 4656, 5397, 0, 0, 0, 0}, {76, 102, 768, 1024, 4352, 0, 0}, {160, 5911, 20560, 0, 0, 0, 0}, {5960, 12384, 20480, 0, 0, 0, 0}, {4377, 4403, 4630, 4437, 1024, 0, 0}, {42, 1792, 5440, 0, 0, 0, 0}, {783, 867, 5140, 0, 0, 0, 0}, {76, 32, 768, 1024, 4096, 0, 0}, {170, 4626, 21845, 0, 0, 0, 0}, {4386, 768, 4420, 0, 0, 0, 0}, {1807, 32, 4112, 0, 0, 0, 0}, {18416, 18432, 30464, 0, 0, 0, 0}, {279, 337, 1028, 4369, 0, 0, 0}, {10, 32, 514, 4176, 5376, 0, 0}, {831, 13107, 17408, 0, 0, 0, 0}, {76, 816, 1028, 0, 0, 0, 0}, {10, 4608, 1365, 0, 0, 0, 0}, {10, 1334, 1542, 1360, 4352, 0, 0}, {2056, 1911, 16384, 0, 0, 0, 0}, {1912, 12400, 16384, 0, 0, 0, 0}, {10, 4403, 4614, 4437, 5120, 0, 0}, {10, 5888, 1360, 0, 0, 0, 0}, {76, 883, 1028, 0, 0, 0, 0}, {3084, 816, 17408, 0, 0, 0, 0}, {10, 32, 514, 1365, 4096, 0, 0}, {274, 340, 1028, 4112, 0, 0, 0}, {18431, 18432, 12288, 0, 0, 0, 0}, {18432, 0, 0, 0, 0, 0, 0}, {19, 5, 257, 0, 0, 0, 0}, {10, 32, 514, 16384, 0, 0, 0}, {15, 51, 771, 17408, 0, 0, 0}, {76, 1028, 0, 0, 0, 0, 0}, {4608, 5, 0, 0, 0, 0, 0}, {10, 102, 1542, 17408, 0, 0, 0}, {15, 112, 1799, 16384, 0, 0, 0}, {128, 2056, 16384, 0, 0, 0, 0}, {51, 771, 5, 4352, 0, 0, 0}, {10, 16896, 0, 0, 0, 0, 0}, {67, 1028, 0, 0, 0, 0, 0}, {204, 3084, 17408, 0, 0, 0, 0}, {32, 514, 5, 4096, 0, 0, 0}, {70, 1028, 0, 0, 0, 0, 0}, {15, 18176, 0, 0, 0, 0, 0}, {2048, 32, 80, 4112, 0, 0, 0}, {3072, 51, 85, 4369, 0, 0, 0}, {90, 4626, 0, 0, 0, 0, 0}, {19, 1024, 0, 0, 0, 0, 0}, {60, 12288, 80, 5140, 0, 0, 0}, {42, 8704, 85, 5397, 0, 0, 0}, {22, 1024, 0, 0, 0, 0, 0}, {95, 5911, 0, 0, 0, 0, 0}, {6168, 12336, 80, 0, 0, 0, 0}, {25, 51, 85, 1024, 4352, 0, 0}, {90, 112, 4672, 16448, 0, 0, 0}, {95, 51, 5956, 17476, 0, 0, 0}, {28, 32, 80, 1024, 4096, 0, 0}, {7453, 8738, 85, 0, 0, 0, 0}, {90, 102, 4676, 17476, 0, 0, 0}, {95, 32, 5952, 16448, 0, 0, 0}, {2048, 32, 16384, 0, 0, 0, 0}, {15, 51, 771, 85, 4369, 0, 0}, {170, 18466, 8738, 0, 0, 0, 0}, {19, 80, 1040, 4112, 0, 0, 0}, {108, 9252, 17476, 0, 0, 0, 0}, {15, 37, 4608, 85, 5376, 0, 0}, {1036, 1062, 1088, 0, 0, 0, 0}, {15, 5927, 80, 0, 0, 0, 0}, {160, 18472, 24576, 0, 0, 0, 0}, {22, 85, 1045, 4352, 0, 0, 0}, {42, 8704, 16384, 0, 0, 0, 0}, {15, 51, 771, 80, 5140, 0, 0}, {1036, 32, 1088, 0, 0, 0, 0}, {15, 4642, 85, 0, 0, 0, 0}, {3084, 102, 17476, 0, 0, 0, 0}, {15, 32, 1792, 80, 4096, 0, 0}, {240, 18480, 12336, 0, 0, 0, 0}, {19, 85, 1041, 4369, 0, 0, 0}, {10, 32, 514, 80, 4112, 0, 0}, {3072, 51, 17408, 0, 0, 0, 0}, {1032, 1076, 1092, 0, 0, 0, 0}, {10, 5941, 85, 0, 0, 0, 0}, {10, 54, 4608, 80, 5120, 0, 0}, {127, 14135, 16448, 0, 0, 0, 0}, {2056, 112, 16448, 0, 0, 0, 0}, {10, 51, 1536, 85, 4352, 0, 0}, {10, 4656, 80, 0, 0, 0, 0}, {1032, 51, 1092, 0, 0, 0, 0}, {60, 12288, 17408, 0, 0, 0, 0}, {10, 32, 514, 85, 5397, 0, 0}, {22, 80, 1044, 4096, 0, 0, 0}, {255, 18495, 30464, 0, 0, 0, 0}, {128, 2048, 16448, 0, 0, 0, 0}, {51, 768, 5, 4369, 0, 0, 0}, {10, 16962, 0, 0, 0, 0, 0}, {67, 1024, 0, 0, 0, 0, 0}, {204, 3072, 17476, 0, 0, 0, 0}, {32, 512, 5, 4112, 0, 0, 0}, {70, 1024, 0, 0, 0, 0, 0}, {15, 18247, 0, 0, 0, 0, 0}, {18504, 0, 0, 0, 0, 0, 0}, {19, 5, 256, 0, 0, 0, 0}, {10, 32, 512, 16448, 0, 0, 0}, {15, 51, 768, 17476, 0, 0, 0}, {76, 1024, 0, 0, 0, 0, 0}, {4626, 5, 0, 0, 0, 0, 0}, {10, 102, 1536, 17476, 0, 0, 0}, {15, 112, 1792, 16448, 0, 0, 0}, {6144, 12288, 80, 0, 0, 0, 0}, {25, 51, 85, 1028, 4369, 0, 0}, {90, 112, 4690, 16384, 0, 0, 0}, {95, 51, 5971, 17408, 0, 0, 0}, {28, 32, 80, 1028, 4112, 0, 0}, {7424, 8704, 85, 0, 0, 0, 0}, {90, 102, 4694, 17408, 0, 0, 0}, {95, 32, 5975, 16384, 0, 0, 0}, {2056, 32, 80, 4096, 0, 0, 0}, {3084, 51, 85, 4352, 0, 0, 0}, {90, 4608, 0, 0, 0, 0, 0}, {19, 1028, 0, 0, 0, 0, 0}, {60, 12336, 80, 5120, 0, 0, 0}, {42, 8738, 85, 5376, 0, 0, 0}, {22, 1028, 0, 0, 0, 0, 0}, {95, 5888, 0, 0, 0, 0, 0}, {160, 18528, 24672, 0, 0, 0, 0}, {22, 85, 1041, 4369, 0, 0, 0}, {42, 8738, 16448, 0, 0, 0, 0}, {15, 51, 768, 80, 5120, 0, 0}, {1032, 32, 1092, 0, 0, 0, 0}, {15, 4656, 85, 0, 0, 0, 0}, {3072, 102, 17408, 0, 0, 0, 0}, {15, 32, 1799, 80, 4112, 0, 0}, {2056, 32, 16448, 0, 0, 0, 0}, {15, 51, 768, 85, 4352, 0, 0}, {170, 18538, 8704, 0, 0, 0, 0}, {19, 80, 1044, 4096, 0, 0, 0}, {108, 9216, 17408, 0, 0, 0, 0}, {15, 37, 4626, 85, 5397, 0, 0}, {1032, 1058, 1092, 0, 0, 0, 0}, {15, 5936, 80, 0, 0, 0, 0}, {2048, 112, 16384, 0, 0, 0, 0}, {10, 51, 1542, 85, 4369, 0, 0}, {10, 4642, 80, 0, 0, 0, 0}, {1036, 51, 1088, 0, 0, 0, 0}, {60, 12336, 17476, 0, 0, 0, 0}, {10, 32, 512, 85, 5376, 0, 0}, {22, 80, 1040, 4112, 0, 0, 0}, {255, 18551, 30583, 0, 0, 0, 0}, {240, 18552, 12288, 0, 0, 0, 0}, {19, 85, 1045, 4352, 0, 0, 0}, {10, 32, 512, 80, 4096, 0, 0}, {3084, 51, 17476, 0, 0, 0, 0}, {1036, 1072, 1088, 0, 0, 0, 0}, {10, 5922, 85, 0, 0, 0, 0}, {10, 54, 4626, 80, 5140, 0, 0}, {127, 14080, 16384, 0, 0, 0, 0}, {128, 2048, 16384, 0, 0, 0, 0}, {51, 771, 5, 4369, 0, 0, 0}, {10, 16930, 0, 0, 0, 0, 0}, {1027, 1088, 0, 0, 0, 0, 0}, {204, 3084, 17476, 0, 0, 0, 0}, {32, 512, 5, 4096, 0, 0, 0}, {1030, 1088, 0, 0, 0, 0, 0}, {15, 18295, 0, 0, 0, 0, 0}, {18568, 0, 0, 0, 0, 0, 0}, {259, 5, 272, 0, 0, 0, 0}, {10, 32, 512, 16384, 0, 0, 0}, {15, 51, 771, 17476, 0, 0, 0}, {1036, 1088, 0, 0, 0, 0, 0}, {4642, 5, 0, 0, 0, 0, 0}, {10, 102, 1542, 17476, 0, 0, 0}, {15, 112, 1792, 16384, 0, 0, 0}, {6192, 12336, 80, 0, 0, 0, 0}, {25, 51, 85, 1041, 4369, 0, 0}, {90, 112, 4626, 16448, 0, 0, 0}, {95, 51, 5888, 17408, 0, 0, 0}, {28, 32, 80, 1044, 4096, 0, 0}, {7487, 8704, 85, 0, 0, 0, 0}, {90, 102, 4608, 17408, 0, 0, 0}, {95, 32, 5911, 16448, 0, 0, 0}, {2056, 32, 80, 4112, 0, 0, 0}, {3072, 51, 85, 4352, 0, 0, 0}, {90, 4656, 0, 0, 0, 0, 0}, {19, 1092, 0, 0, 0, 0, 0}, {60, 12288, 80, 5120, 0, 0, 0}, {42, 8738, 85, 5397, 0, 0, 0}, {22, 1092, 0, 0, 0, 0, 0}, {95, 5984, 0, 0, 0, 0, 0}, {160, 18432, 24576, 0, 0, 0, 0}, {22, 85, 1028, 4369, 0, 0, 0}, {42, 8738, 16384, 0, 0, 0, 0}, {15, 51, 771, 80, 5120, 0, 0}, {76, 32, 1028, 0, 0, 0, 0}, {15, 4608, 85, 0, 0, 0, 0}, {3084, 102, 17408, 0, 0, 0, 0}, {15, 32, 1799, 80, 4096, 0, 0}, {2056, 32, 16384, 0, 0, 0, 0}, {15, 51, 771, 85, 4352, 0, 0}, {170, 18432, 8704, 0, 0, 0, 0}, {19, 80, 1028, 4112, 0, 0, 0}, {108, 9312, 17408, 0, 0, 0, 0}, {15, 37, 4615, 85, 5376, 0, 0}, {76, 102, 1028, 0, 0, 0, 0}, {15, 5888, 80, 0, 0, 0, 0}, {2048, 112, 16448, 0, 0, 0, 0}, {10, 51, 1536, 85, 4369, 0, 0}, {10, 4626, 80, 0, 0, 0, 0}, {76, 51, 1024, 0, 0, 0, 0}, {60, 12288, 17476, 0, 0, 0, 0}, {10, 32, 512, 85, 5397, 0, 0}, {22, 80, 1024, 4096, 0, 0, 0}, {255, 18504, 30583, 0, 0, 0, 0}, {240, 18504, 12336, 0, 0, 0, 0}, {19, 85, 1024, 4352, 0, 0, 0}, {10, 32, 512, 80, 4112, 0, 0}, {3072, 51, 17476, 0, 0, 0, 0}, {76, 112, 1024, 0, 0, 0, 0}, {10, 5911, 85, 0, 0, 0, 0}, {10, 54, 4628, 80, 5140, 0, 0}, {127, 14144, 16448, 0, 0, 0, 0}, {18624, 0, 0, 0, 0, 0, 0}, {258, 5, 273, 0, 0, 0, 0}, {10, 32, 514, 16448, 0, 0, 0}, {15, 51, 768, 17408, 0, 0, 0}, {1032, 1092, 0, 0, 0, 0, 0}, {4656, 5, 0, 0, 0, 0, 0}, {10, 102, 1536, 17408, 0, 0, 0}, {15, 112, 1799, 16448, 0, 0, 0}, {128, 2056, 16448, 0, 0, 0, 0}, {51, 768, 5, 4352, 0, 0, 0}, {10, 16992, 0, 0, 0, 0, 0}, {1031, 1092, 0, 0, 0, 0, 0}, {204, 3072, 17408, 0, 0, 0, 0}, {32, 514, 5, 4112, 0, 0, 0}, {1026, 1092, 0, 0, 0, 0, 0}, {15, 18224, 0, 0, 0, 0, 0}, {2048, 32, 80, 4096, 0, 0, 0}, {3084, 51, 85, 4369, 0, 0, 0}, {90, 4642, 0, 0, 0, 0, 0}, {19, 1088, 0, 0, 0, 0, 0}, {60, 12336, 80, 5140, 0, 0, 0}, {42, 8704, 85, 5376, 0, 0, 0}, {22, 1088, 0, 0, 0, 0, 0}, {95, 6007, 0, 0, 0, 0, 0}, {6184, 12288, 80, 0, 0, 0, 0}, {25, 51, 85, 1045, 4352, 0, 0}, {90, 112, 4608, 16384, 0, 0, 0}, {95, 51, 5911, 17476, 0, 0, 0}, {28, 32, 80, 1040, 4112, 0, 0}, {7458, 8738, 85, 0, 0, 0, 0}, {90, 102, 4626, 17476, 0, 0, 0}, {95, 32, 5888, 16384, 0, 0, 0}, {2048, 32, 16448, 0, 0, 0, 0}, {15, 51, 768, 85, 4369, 0, 0}, {170, 18504, 8738, 0, 0, 0, 0}, {19, 80, 1024, 4096, 0, 0, 0}, {108, 9284, 17476, 0, 0, 0, 0}, {15, 37, 4629, 85, 5397, 0, 0}, {76, 102, 1024, 0, 0, 0, 0}, {15, 5911, 80, 0, 0, 0, 0}, {160, 18504, 24672, 0, 0, 0, 0}, {22, 85, 1024, 4352, 0, 0, 0}, {42, 8704, 16448, 0, 0, 0, 0}, {15, 51, 768, 80, 5140, 0, 0}, {76, 32, 1024, 0, 0, 0, 0}, {15, 4626, 85, 0, 0, 0, 0}, {3072, 102, 17476, 0, 0, 0, 0}, {15, 32, 1792, 80, 4112, 0, 0}, {240, 18432, 12288, 0, 0, 0, 0}, {19, 85, 1028, 4369, 0, 0, 0}, {10, 32, 514, 80, 4096, 0, 0}, {3084, 51, 17408, 0, 0, 0, 0}, {76, 112, 1028, 0, 0, 0, 0}, {10, 5888, 85, 0, 0, 0, 0}, {10, 54, 4614, 80, 5120, 0, 0}, {127, 14199, 16384, 0, 0, 0, 0}, {2056, 112, 16384, 0, 0, 0, 0}, {10, 51, 1542, 85, 4352, 0, 0}, {10, 4608, 80, 0, 0, 0, 0}, {76, 51, 1028, 0, 0, 0, 0}, {60, 12336, 17408, 0, 0, 0, 0}, {10, 32, 514, 85, 5376, 0, 0}, {22, 80, 1028, 4112, 0, 0, 0}, {255, 18432, 30464, 0, 0, 0, 0}, {4864, 1280, 0, 0, 0, 0, 0}, {72, 257, 0, 0, 0, 0, 0}, {1290, 4386, 514, 17408, 0, 0, 0}, {1295, 4144, 771, 16384, 0, 0, 0}, {4608, 260, 0, 0, 0, 0, 0}, {4959, 1285, 0, 0, 0, 0, 0}, {1290, 4192, 1542, 16384, 0, 0, 0}, {1295, 4471, 1799, 17408, 0, 0, 0}, {520, 1280, 4352, 0, 0, 0, 0}, {771, 4176, 1285, 0, 0, 0, 0}, {1290, 17152, 0, 0, 0, 0, 0}, {323, 1028, 0, 0, 0, 0, 0}, {780, 1280, 4096, 0, 0, 0, 0}, {514, 4437, 1285, 0, 0, 0, 0}, {326, 1028, 0, 0, 0, 0, 0}, {1295, 17920, 0, 0, 0, 0, 0}, {3072, 816, 1360, 4112, 0, 0, 0}, {2048, 546, 1365, 4369, 0, 0, 0}, {274, 1024, 0, 0, 0, 0, 0}, {1375, 4883, 0, 0, 0, 0, 0}, {552, 8704, 4420, 5140, 0, 0, 0}, {831, 12288, 4160, 5397, 0, 0, 0}, {1370, 5654, 0, 0, 0, 0, 0}, {279, 1024, 0, 0, 0, 0, 0}, {280, 816, 336, 1024, 4352, 0, 0}, {6425, 13107, 1365, 0, 0, 0, 0}, {1370, 4208, 4928, 16448, 0, 0, 0}, {1375, 4403, 5700, 17476, 0, 0, 0}, {7196, 8224, 1360, 0, 0, 0, 0}, {285, 546, 341, 1024, 4096, 0, 0}, {1370, 4454, 4932, 17476, 0, 0, 0}, {1375, 4128, 5696, 16448, 0, 0, 0}, {3840, 4896, 21760, 0, 0, 0, 0}, {1036, 289, 771, 1092, 4369, 0, 0}, {4386, 4864, 5120, 0, 0, 0, 0}, {1391, 771, 4112, 0, 0, 0, 0}, {4364, 292, 4608, 4420, 5376, 0, 0}, {4991, 9509, 21845, 0, 0, 0, 0}, {780, 5670, 4160, 0, 0, 0, 0}, {1807, 1319, 5200, 0, 0, 0, 0}, {1320, 1792, 4352, 0, 0, 0, 0}, {4208, 771, 5397, 0, 0, 0, 0}, {5674, 13056, 20480, 0, 0, 0, 0}, {4120, 4403, 771, 4176, 5140, 0, 0}, {780, 4128, 5440, 0, 0, 0, 0}, {1807, 546, 4437, 0, 0, 0, 0}, {1036, 1314, 1792, 1092, 4096, 0, 0}, {3855, 5744, 20560, 0, 0, 0, 0}, {4144, 4864, 5376, 0, 0, 0, 0}, {1405, 514, 4369, 0, 0, 0, 0}, {1032, 306, 514, 1088, 4112, 0, 0}, {2560, 4915, 20480, 0, 0, 0, 0}, {520, 5684, 4420, 0, 0, 0, 0}, {1546, 1333, 5461, 0, 0, 0, 0}, {4972, 13878, 20560, 0, 0, 0, 0}, {4104, 311, 4608, 4160, 5120, 0, 0}, {1032, 1328, 1536, 1088, 4352, 0, 0}, {2570, 5734, 21845, 0, 0, 0, 0}, {1546, 816, 4176, 0, 0, 0, 0}, {520, 4403, 5188, 0, 0, 0, 0}, {5692, 8192, 21760, 0, 0, 0, 0}, {4381, 4128, 514, 4437, 5397, 0, 0}, {4454, 514, 5140, 0, 0, 0, 0}, {1343, 1536, 4096, 0, 0, 0, 0}, {768, 4160, 1280, 0, 0, 0, 0}, {522, 1285, 4369, 0, 0, 0, 0}, {322, 1024, 0, 0, 0, 0, 0}, {1295, 17219, 0, 0, 0, 0, 0}, {512, 4420, 1280, 0, 0, 0, 0}, {783, 1285, 4112, 0, 0, 0, 0}, {1290, 17990, 0, 0, 0, 0, 0}, {327, 1024, 0, 0, 0, 0, 0}, {72, 256, 0, 0, 0, 0, 0}, {4883, 1285, 0, 0, 0, 0, 0}, {1290, 4128, 768, 16448, 0, 0, 0}, {1295, 4403, 512, 17476, 0, 0, 0}, {4940, 1280, 0, 0, 0, 0, 0}, {4626, 261, 0, 0, 0, 0, 0}, {1290, 4454, 1792, 17476, 0, 0, 0}, {1295, 4208, 1536, 16448, 0, 0, 0}, {6400, 13056, 1360, 0, 0, 0, 0}, {281, 819, 337, 1028, 4369, 0, 0}, {1370, 4386, 5714, 17408, 0, 0, 0}, {1375, 4192, 4947, 16384, 0, 0, 0}, {284, 544, 340, 1028, 4112, 0, 0}, {7168, 8192, 1365, 0, 0, 0, 0}, {1370, 4144, 5718, 16384, 0, 0, 0}, {1375, 4471, 4951, 17408, 0, 0, 0}, {2056, 544, 1360, 4352, 0, 0, 0}, {3084, 819, 1365, 4096, 0, 0, 0}, {1370, 4864, 0, 0, 0, 0, 0}, {275, 1028, 0, 0, 0, 0, 0}, {828, 12336, 4176, 5376, 0, 0, 0}, {554, 8738, 4437, 5120, 0, 0, 0}, {278, 1028, 0, 0, 0, 0, 0}, {1375, 5632, 0, 0, 0, 0, 0}, {4192, 768, 5376, 0, 0, 0, 0}, {1325, 1799, 4369, 0, 0, 0, 0}, {4104, 4386, 768, 4160, 5120, 0, 0}, {5692, 13107, 20560, 0, 0, 0, 0}, {1800, 544, 4420, 0, 0, 0, 0}, {783, 4144, 5461, 0, 0, 0, 0}, {3840, 5734, 20480, 0, 0, 0, 0}, {1032, 1319, 1799, 1088, 4112, 0, 0}, {1032, 288, 768, 1088, 4352, 0, 0}, {3855, 4915, 21845, 0, 0, 0, 0}, {1386, 768, 4096, 0, 0, 0, 0}, {4403, 4883, 5140, 0, 0, 0, 0}, {4972, 9472, 21760, 0, 0, 0, 0}, {4381, 293, 4626, 4437, 5397, 0, 0}, {1800, 1314, 5188, 0, 0, 0, 0}, {783, 5680, 4176, 0, 0, 0, 0}, {2560, 5744, 21760, 0, 0, 0, 0}, {1036, 1333, 1542, 1092, 4369, 0, 0}, {522, 4386, 5200, 0, 0, 0, 0}, {1548, 819, 4160, 0, 0, 0, 0}, {4364, 4144, 512, 4420, 5376, 0, 0}, {5674, 8224, 21845, 0, 0, 0, 0}, {1338, 1542, 4112, 0, 0, 0, 0}, {4471, 512, 5120, 0, 0, 0, 0}, {1400, 512, 4352, 0, 0, 0, 0}, {4128, 4883, 5397, 0, 0, 0, 0}, {2570, 4896, 20560, 0, 0, 0, 0}, {1036, 307, 512, 1092, 4096, 0, 0}, {1548, 1328, 5440, 0, 0, 0, 0}, {522, 5666, 4437, 0, 0, 0, 0}, {4120, 310, 4626, 4176, 5140, 0, 0}, {4991, 13824, 20480, 0, 0, 0, 0}, {4992, 13056, 1280, 0, 0, 0, 0}, {265, 771, 321, 1285, 4369, 0, 0}, {1290, 4386, 1792, 17408, 0, 0, 0}, {1295, 4208, 771, 16448, 0, 0, 0}, {268, 512, 324, 1280, 4096, 0, 0}, {5087, 8224, 1285, 0, 0, 0, 0}, {1290, 4128, 1542, 16448, 0, 0, 0}, {1295, 4471, 512, 17408, 0, 0, 0}, {136, 512, 1280, 4352, 0, 0, 0}, {192, 771, 1285, 4112, 0, 0, 0}, {1290, 4896, 0, 0, 0, 0, 0}, {259, 1092, 0, 0, 0, 0, 0}, {780, 12288, 4160, 1280, 0, 0, 0}, {522, 8738, 4437, 1285, 0, 0, 0}, {262, 1092, 0, 0, 0, 0, 0}, {1295, 5744, 0, 0, 0, 0, 0}, {816, 4176, 5376, 0, 0, 0, 0}, {554, 1365, 4369, 0, 0, 0, 0}, {1298, 1088, 0, 0, 0, 0, 0}, {1375, 17203, 0, 0, 0, 0, 0}, {544, 4420, 5140, 0, 0, 0, 0}, {831, 1365, 4096, 0, 0, 0, 0}, {1370, 18022, 0, 0, 0, 0, 0}, {1303, 1088, 0, 0, 0, 0, 0}, {1032, 272, 0, 0, 0, 0, 0}, {4915, 1365, 0, 0, 0, 0, 0}, {1370, 4144, 4864, 16384, 0, 0, 0}, {1375, 4403, 4883, 17476, 0, 0, 0}, {5692, 1360, 0, 0, 0, 0, 0}, {4642, 277, 0, 0, 0, 0, 0}, {1370, 4454, 5654, 17476, 0, 0, 0}, {1375, 4192, 5632, 16384, 0, 0, 0}, {1440, 5632, 21760, 0, 0, 0, 0}, {72, 353, 771, 1028, 4369, 0, 0}, {4872, 4386, 5120, 0, 0, 0, 0}, {5439, 771, 4176, 0, 0, 0, 0}, {4364, 4128, 4608, 4420, 1028, 0, 0}, {5722, 8192, 21845, 0, 0, 0, 0}, {780, 1638, 4096, 0, 0, 0, 0}, {1319, 1799, 5200, 0, 0, 0, 0}, {1800, 544, 4352, 0, 0, 0, 0}, {4144, 771, 5461, 0, 0, 0, 0}, {1450, 4864, 20480, 0, 0, 0, 0}, {72, 291, 771, 1028, 4112, 0, 0}, {780, 4192, 5376, 0, 0, 0, 0}, {1325, 1799, 4437, 0, 0, 0, 0}, {4104, 294, 4868, 4160, 1028, 0, 0}, {4959, 13904, 20560, 0, 0, 0, 0}, {1328, 1536, 5440, 0, 0, 0, 0}, {522, 1911, 4369, 0, 0, 0, 0}, {4120, 4386, 4626, 4176, 1024, 0, 0}, {5708, 13107, 20480, 0, 0, 0, 0}, {5180, 512, 4420, 0, 0, 0, 0}, {4895, 4128, 5397, 0, 0, 0, 0}, {1530, 5654, 20560, 0, 0, 0, 0}, {72, 375, 512, 1024, 4096, 0, 0}, {72, 304, 512, 1024, 4352, 0, 0}, {1525, 4883, 21845, 0, 0, 0, 0}, {1546, 816, 4112, 0, 0, 0, 0}, {4403, 512, 5188, 0, 0, 0, 0}, {4940, 9584, 21760, 0, 0, 0, 0}, {4381, 309, 4887, 4437, 1024, 0, 0}, {522, 4454, 5140, 0, 0, 0, 0}, {1343, 1536, 4160, 0, 0, 0, 0}, {192, 768, 1280, 4096, 0, 0, 0}, {136, 514, 1285, 4369, 0, 0, 0}, {258, 1088, 0, 0, 0, 0, 0}, {1295, 4915, 0, 0, 0, 0, 0}, {520, 8704, 4420, 1280, 0, 0, 0}, {783, 12336, 4176, 1285, 0, 0, 0}, {1290, 5734, 0, 0, 0, 0, 0}, {263, 1088, 0, 0, 0, 0, 0}, {264, 768, 320, 1280, 4352, 0, 0}, {5011, 13107, 1285, 0, 0, 0, 0}, {1290, 4192, 768, 16384, 0, 0, 0}, {1295, 4403, 1799, 17476, 0, 0, 0}, {5068, 8192, 1280, 0, 0, 0, 0}, {269, 514, 325, 1285, 4112, 0, 0}, {1290, 4454, 514, 17476, 0, 0, 0}, {1295, 4144, 1536, 16384, 0, 0, 0}, {4896, 1360, 0, 0, 0, 0, 0}, {1036, 273, 0, 0, 0, 0, 0}, {1370, 4386, 4864, 17408, 0, 0, 0}, {1375, 4128, 4883, 16448, 0, 0, 0}, {4656, 276, 0, 0, 0, 0, 0}, {5674, 1365, 0, 0, 0, 0, 0}, {1370, 4208, 5654, 16448, 0, 0, 0}, {1375, 4471, 5632, 17408, 0, 0, 0}, {552, 1360, 4352, 0, 0, 0, 0}, {819, 4160, 5397, 0, 0, 0, 0}, {1370, 17264, 0, 0, 0, 0, 0}, {1303, 1092, 0, 0, 0, 0, 0}, {828, 1360, 4112, 0, 0, 0, 0}, {546, 4437, 5120, 0, 0, 0, 0}, {1298, 1092, 0, 0, 0, 0, 0}, {1375, 17952, 0, 0, 0, 0, 0}, {4128, 768, 5440, 0, 0, 0, 0}, {1807, 546, 4369, 0, 0, 0, 0}, {72, 290, 768, 1024, 4096, 0, 0}, {1455, 4883, 20560, 0, 0, 0, 0}, {1320, 1792, 4420, 0, 0, 0, 0}, {783, 4208, 5397, 0, 0, 0, 0}, {4940, 13926, 20480, 0, 0, 0, 0}, {4120, 295, 4887, 4176, 1024, 0, 0}, {72, 352, 768, 1024, 4352, 0, 0}, {1445, 5654, 21845, 0, 0, 0, 0}, {5418, 768, 4160, 0, 0, 0, 0}, {4891, 4403, 5140, 0, 0, 0, 0}, {5708, 8224, 21760, 0, 0, 0, 0}, {4381, 4144, 4626, 4437, 1024, 0, 0}, {1314, 1792, 5188, 0, 0, 0, 0}, {783, 1632, 4112, 0, 0, 0, 0}, {1520, 4864, 21760, 0, 0, 0, 0}, {72, 305, 514, 1028, 4369, 0, 0}, {4386, 514, 5200, 0, 0, 0, 0}, {1548, 819, 4096, 0, 0, 0, 0}, {4364, 308, 4868, 4420, 1028, 0, 0}, {4959, 9557, 21845, 0, 0, 0, 0}, {1338, 1542, 4176, 0, 0, 0, 0}, {520, 4471, 5120, 0, 0, 0, 0}, {520, 1904, 4352, 0, 0, 0, 0}, {1333, 1542, 5461, 0, 0, 0, 0}, {5722, 13056, 20560, 0, 0, 0, 0}, {4104, 4403, 4608, 4160, 1028, 0, 0}, {4876, 4144, 5376, 0, 0, 0, 0}, {5160, 514, 4437, 0, 0, 0, 0}, {72, 374, 514, 1028, 4112, 0, 0}, {1535, 5632, 20480, 0, 0, 0, 0}, {2560, 8192, 16384, 0, 0, 0, 0}, {15, 51, 68, 257, 0, 0, 0}, {16392, 514, 0, 0, 0, 0, 0}, {4099, 1280, 0, 0, 0, 0, 0}, {520, 8704, 68, 1028, 0, 0, 0}, {15, 12288, 4176, 1285, 0, 0, 0}, {16396, 1542, 0, 0, 0, 0, 0}, {4103, 1280, 0, 0, 0, 0, 0}, {16392, 16896, 0, 0, 0, 0, 0}, {4179, 1285, 0, 0, 0, 0, 0}, {8352, 2570, 16384, 0, 0, 0, 0}, {51, 771, 260, 4352, 0, 0, 0}, {16396, 17920, 0, 0, 0, 0, 0}, {4183, 1285, 0, 0, 0, 0, 0}, {514, 68, 1028, 0, 0, 0, 0}, {15, 1280, 4096, 0, 0, 0, 0}, {240, 2640, 4112, 0, 0, 0, 0}, {51, 529, 68, 1024, 4369, 0, 0}, {4168, 4144, 4626, 20480, 0, 0, 0}, {5452, 51, 4883, 21760, 0, 0, 0}, {4608, 4116, 0, 0, 0, 0, 0}, {8319, 5397, 0, 0, 0, 0, 0}, {4172, 4208, 5654, 20480, 0, 0, 0}, {5448, 119, 5911, 21760, 0, 0, 0}, {4120, 4192, 592, 20560, 0, 0, 0}, {5401, 51, 1621, 21845, 0, 0, 0}, {6682, 12336, 4160, 0, 0, 0, 0}, {539, 51, 68, 1024, 4352, 0, 0}, {4124, 4128, 1616, 20560, 0, 0, 0}, {5405, 119, 597, 21845, 0, 0, 0}, {542, 546, 68, 1024, 4096, 0, 0}, {7967, 8224, 5440, 0, 0, 0, 0}, {16512, 18976, 8224, 0, 0, 0, 0}, {274, 68, 1297, 4369, 0, 0, 0}, {2048, 546, 16384, 0, 0, 0, 0}, {15, 51, 771, 1360, 4112, 0, 0}, {1036, 1572, 68, 0, 0, 0, 0}, {15, 5413, 1365, 0, 0, 0, 0}, {1642, 9766, 16448, 0, 0, 0, 0}, {15, 4135, 4608, 4176, 5376, 0, 0}, {552, 8704, 16384, 0, 0, 0, 0}, {15, 51, 771, 4160, 5397, 0, 0}, {16512, 18986, 24576, 0, 0, 0, 0}, {279, 68, 1300, 4352, 0, 0, 0}, {3084, 1632, 16448, 0, 0, 0, 0}, {15, 1314, 1792, 1365, 4096, 0, 0}, {1036, 546, 68, 0, 0, 0, 0}, {15, 4128, 1360, 0, 0, 0, 0}, {2560, 4144, 20480, 0, 0, 0, 0}, {1032, 51, 514, 68, 4369, 0, 0}, {120, 514, 4112, 0, 0, 0, 0}, {51, 4864, 5376, 0, 0, 0, 0}, {4104, 4148, 4608, 68, 5120, 0, 0}, {5482, 13621, 21845, 0, 0, 0, 0}, {1546, 1590, 4176, 0, 0, 0, 0}, {520, 5431, 5440, 0, 0, 0, 0}, {520, 4656, 4160, 0, 0, 0, 0}, {1546, 51, 5461, 0, 0, 0, 0}, {2570, 4192, 20560, 0, 0, 0, 0}, {1032, 51, 1536, 68, 4352, 0, 0}, {60, 1536, 4096, 0, 0, 0, 0}, {119, 514, 5397, 0, 0, 0, 0}, {4124, 4128, 514, 68, 5140, 0, 0}, {5439, 8192, 21760, 0, 0, 0, 0}, {8320, 2560, 16448, 0, 0, 0, 0}, {51, 768, 261, 4369, 0, 0, 0}, {16456, 16962, 0, 0, 0, 0, 0}, {4163, 1280, 0, 0, 0, 0, 0}, {512, 68, 1024, 0, 0, 0, 0}, {15, 1285, 4112, 0, 0, 0, 0}, {16460, 17990, 0, 0, 0, 0, 0}, {4167, 1280, 0, 0, 0, 0, 0}, {16456, 512, 0, 0, 0, 0, 0}, {4115, 1285, 0, 0, 0, 0, 0}, {2570, 8224, 16448, 0, 0, 0, 0}, {15, 51, 68, 256, 0, 0, 0}, {16460, 1536, 0, 0, 0, 0, 0}, {4119, 1285, 0, 0, 0, 0, 0}, {522, 8738, 68, 1024, 0, 0, 0}, {15, 12336, 4160, 1280, 0, 0, 0}, {6656, 12288, 4176, 0, 0, 0, 0}, {537, 51, 68, 1028, 4369, 0, 0}, {4104, 4208, 594, 20480, 0, 0, 0}, {5388, 51, 1619, 21760, 0, 0, 0}, {540, 544, 68, 1028, 4112, 0, 0}, {7936, 8192, 5461, 0, 0, 0, 0}, {4108, 4144, 1622, 20480, 0, 0, 0}, {5384, 119, 599, 21760, 0, 0, 0}, {4184, 4128, 4608, 20560, 0, 0, 0}, {5465, 51, 4864, 21845, 0, 0, 0}, {240, 2650, 4096, 0, 0, 0, 0}, {51, 531, 68, 1028, 4352, 0, 0}, {4188, 4192, 5632, 20560, 0, 0, 0}, {5469, 119, 5888, 21845, 0, 0, 0}, {4626, 4100, 0, 0, 0, 0, 0}, {8287, 5376, 0, 0, 0, 0, 0}, {16576, 19040, 24672, 0, 0, 0, 0}, {278, 68, 1297, 4369, 0, 0, 0}, {554, 8738, 16448, 0, 0, 0, 0}, {15, 51, 768, 4176, 5376, 0, 0}, {1032, 544, 68, 0, 0, 0, 0}, {15, 4144, 1365, 0, 0, 0, 0}, {3072, 1638, 16384, 0, 0, 0, 0}, {15, 1319, 1799, 1360, 4112, 0, 0}, {2056, 544, 16448, 0, 0, 0, 0}, {15, 51, 768, 1365, 4096, 0, 0}, {16576, 19050, 8192, 0, 0, 0, 0}, {275, 68, 1300, 4352, 0, 0, 0}, {1644, 9728, 16384, 0, 0, 0, 0}, {15, 4151, 4626, 4160, 5397, 0, 0}, {1032, 1570, 68, 0, 0, 0, 0}, {15, 5424, 1360, 0, 0, 0, 0}, {2560, 4208, 20480, 0, 0, 0, 0}, {1036, 51, 1542, 68, 4369, 0, 0}, {522, 4642, 4176, 0, 0, 0, 0}, {1548, 51, 5440, 0, 0, 0, 0}, {4108, 4144, 512, 68, 5120, 0, 0}, {5418, 8224, 21845, 0, 0, 0, 0}, {60, 1542, 4112, 0, 0, 0, 0}, {119, 512, 5376, 0, 0, 0, 0}, {120, 512, 4096, 0, 0, 0, 0}, {51, 4883, 5397, 0, 0, 0, 0}, {2570, 4128, 20560, 0, 0, 0, 0}, {1036, 51, 512, 68, 4352, 0, 0}, {1548, 1584, 4160, 0, 0, 0, 0}, {522, 5410, 5461, 0, 0, 0, 0}, {4120, 4132, 4626, 68, 5140, 0, 0}, {5503, 13568, 21760, 0, 0, 0, 0}, {16512, 2560, 24576, 0, 0, 0, 0}, {262, 68, 1285, 4369, 0, 0, 0}, {522, 8738, 16384, 0, 0, 0, 0}, {15, 51, 771, 4160, 1280, 0, 0}, {1036, 512, 68, 0, 0, 0, 0}, {15, 4128, 1285, 0, 0, 0, 0}, {204, 1542, 16448, 0, 0, 0, 0}, {15, 119, 512, 1280, 4096, 0, 0}, {136, 512, 16384, 0, 0, 0, 0}, {15, 51, 771, 1285, 4112, 0, 0}, {16512, 2570, 8224, 0, 0, 0, 0}, {259, 68, 1280, 4352, 0, 0, 0}, {1548, 9792, 16448, 0, 0, 0, 0}, {15, 4135, 517, 4176, 1285, 0, 0}, {1036, 1542, 68, 0, 0, 0, 0}, {15, 4208, 1280, 0, 0, 0, 0}, {2640, 4192, 20560, 0, 0, 0, 0}, {1032, 51, 1553, 68, 4369, 0, 0}, {4152, 4626, 4160, 0, 0, 0, 0}, {4959, 51, 5376, 0, 0, 0, 0}, {4124, 4128, 4608, 68, 5140, 0, 0}, {5482, 8192, 21845, 0, 0, 0, 0}, {1626, 1638, 4096, 0, 0, 0, 0}, {5431, 5911, 5440, 0, 0, 0, 0}, {600, 544, 4112, 0, 0, 0, 0}, {51, 4864, 5461, 0, 0, 0, 0}, {2650, 4144, 20480, 0, 0, 0, 0}, {1032, 51, 531, 68, 4352, 0, 0}, {60, 5632, 4176, 0, 0, 0, 0}, {605, 119, 5397, 0, 0, 0, 0}, {4104, 4148, 534, 68, 5120, 0, 0}, {5439, 13664, 21760, 0, 0, 0, 0}, {8352, 10752, 16384, 0, 0, 0, 0}, {51, 771, 277, 4369, 0, 0, 0}, {16392, 16930, 0, 0, 0, 0, 0}, {5379, 1360, 0, 0, 0, 0, 0}, {544, 68, 1028, 0, 0, 0, 0}, {15, 1365, 4096, 0, 0, 0, 0}, {16396, 18022, 0, 0, 0, 0, 0}, {5383, 1360, 0, 0, 0, 0, 0}, {16392, 544, 0, 0, 0, 0, 0}, {4099, 1365, 0, 0, 0, 0, 0}, {2730, 8192, 16384, 0, 0, 0, 0}, {15, 771, 1028, 272, 0, 0, 0}, {16396, 1632, 0, 0, 0, 0, 0}, {4103, 1365, 0, 0, 0, 0, 0}, {554, 8738, 68, 1028, 0, 0, 0}, {15, 12288, 4176, 5376, 0, 0, 0}, {2560, 12336, 4160, 0, 0, 0, 0}, {522, 51, 68, 1024, 4369, 0, 0}, {4120, 4192, 4626, 20560, 0, 0, 0}, {5452, 51, 1536, 21760, 0, 0, 0}, {60, 512, 68, 1024, 4096, 0, 0}, {255, 8224, 5397, 0, 0, 0, 0}, {4124, 4128, 5654, 20560, 0, 0, 0}, {5448, 119, 512, 21760, 0, 0, 0}, {4168, 4144, 512, 20480, 0, 0, 0}, {5401, 51, 4883, 21845, 0, 0, 0}, {240, 2570, 4112, 0, 0, 0, 0}, {51, 512, 68, 1024, 4352, 0, 0}, {4172, 4208, 1536, 20480, 0, 0, 0}, {5405, 119, 5911, 21845, 0, 0, 0}, {4642, 4116, 0, 0, 0, 0, 0}, {13631, 5440, 0, 0, 0, 0, 0}, {16576, 2560, 8192, 0, 0, 0, 0}, {258, 68, 1285, 4369, 0, 0, 0}, {136, 514, 16448, 0, 0, 0, 0}, {15, 51, 768, 1280, 4096, 0, 0}, {1032, 1536, 68, 0, 0, 0, 0}, {15, 4192, 1285, 0, 0, 0, 0}, {1546, 9830, 16384, 0, 0, 0, 0}, {15, 4151, 519, 4160, 1280, 0, 0}, {520, 8704, 16448, 0, 0, 0, 0}, {15, 51, 768, 4176, 1285, 0, 0}, {16576, 2570, 24672, 0, 0, 0, 0}, {263, 68, 1280, 4352, 0, 0, 0}, {204, 1536, 16384, 0, 0, 0, 0}, {15, 119, 514, 1285, 4112, 0, 0}, {1032, 514, 68, 0, 0, 0, 0}, {15, 4144, 1280, 0, 0, 0, 0}, {2640, 4128, 20560, 0, 0, 0, 0}, {1036, 51, 529, 68, 4369, 0, 0}, {602, 546, 4096, 0, 0, 0, 0}, {51, 4883, 5440, 0, 0, 0, 0}, {4120, 4132, 532, 68, 5140, 0, 0}, {5418, 13653, 21845, 0, 0, 0, 0}, {60, 5654, 4160, 0, 0, 0, 0}, {607, 119, 5376, 0, 0, 0, 0}, {4136, 4608, 4176, 0, 0, 0, 0}, {4940, 51, 5397, 0, 0, 0, 0}, {2650, 4208, 20480, 0, 0, 0, 0}, {1036, 51, 1559, 68, 4352, 0, 0}, {1628, 1632, 4112, 0, 0, 0, 0}, {5410, 5888, 5461, 0, 0, 0, 0}, {4108, 4144, 4626, 68, 5120, 0, 0}, {5503, 8224, 21760, 0, 0, 0, 0}, {2720, 8224, 16448, 0, 0, 0, 0}, {15, 768, 1024, 273, 0, 0, 0}, {16456, 546, 0, 0, 0, 0, 0}, {4115, 1360, 0, 0, 0, 0, 0}, {552, 8704, 68, 1024, 0, 0, 0}, {15, 12336, 4160, 5397, 0, 0, 0}, {16460, 1638, 0, 0, 0, 0, 0}, {4119, 1360, 0, 0, 0, 0, 0}, {16456, 16992, 0, 0, 0, 0, 0}, {5398, 1365, 0, 0, 0, 0, 0}, {8320, 10794, 16448, 0, 0, 0, 0}, {51, 768, 276, 4352, 0, 0, 0}, {16460, 17952, 0, 0, 0, 0, 0}, {5394, 1365, 0, 0, 0, 0, 0}, {546, 68, 1024, 0, 0, 0, 0}, {15, 1360, 4112, 0, 0, 0, 0}, {240, 2560, 4096, 0, 0, 0, 0}, {51, 514, 68, 1028, 4369, 0, 0}, {4184, 4128, 514, 20560, 0, 0, 0}, {5388, 51, 4864, 21760, 0, 0, 0}, {4656, 4100, 0, 0, 0, 0, 0}, {13578, 5461, 0, 0, 0, 0, 0}, {4188, 4192, 1542, 20560, 0, 0, 0}, {5384, 119, 5888, 21760, 0, 0, 0}, {4104, 4208, 4608, 20480, 0, 0, 0}, {5465, 51, 1542, 21845, 0, 0, 0}, {2570, 12288, 4176, 0, 0, 0, 0}, {520, 51, 68, 1028, 4352, 0, 0}, {4108, 4144, 5632, 20480, 0, 0, 0}, {5469, 119, 514, 21845, 0, 0, 0}, {60, 514, 68, 1028, 4112, 0, 0}, {255, 8192, 5376, 0, 0, 0, 0}, {3840, 13056, 17408, 0, 0, 0, 0}, {10, 32, 64, 257, 0, 0, 0}, {4354, 1280, 0, 0, 0, 0, 0}, {17420, 771, 0, 0, 0, 0, 0}, {780, 12288, 64, 1028, 0, 0, 0}, {10, 8704, 4437, 1285, 0, 0, 0}, {4358, 1280, 0, 0, 0, 0, 0}, {17416, 1799, 0, 0, 0, 0, 0}, {17416, 17152, 0, 0, 0, 0, 0}, {4435, 1285, 0, 0, 0, 0, 0}, {10, 1280, 4352, 0, 0, 0, 0}, {771, 64, 1028, 0, 0, 0, 0}, {17420, 18176, 0, 0, 0, 0, 0}, {4439, 1285, 0, 0, 0, 0, 0}, {32, 514, 260, 4096, 0, 0, 0}, {13311, 3855, 17408, 0, 0, 0, 0}, {32, 784, 64, 1024, 4112, 0, 0}, {170, 3925, 4369, 0, 0, 0, 0}, {4424, 4386, 4626, 21760, 0, 0, 0}, {5196, 32, 4883, 20480, 0, 0, 0}, {13164, 5140, 0, 0, 0, 0, 0}, {4608, 4373, 0, 0, 0, 0, 0}, {4428, 4454, 5654, 21760, 0, 0, 0}, {5192, 96, 5911, 20480, 0, 0, 0}, {5144, 96, 848, 20560, 0, 0, 0}, {4377, 4403, 1877, 21845, 0, 0, 0}, {794, 816, 64, 1024, 4352, 0, 0}, {6939, 13107, 5188, 0, 0, 0, 0}, {5148, 32, 1872, 20560, 0, 0, 0}, {4381, 4471, 853, 21845, 0, 0, 0}, {7710, 8738, 4420, 0, 0, 0, 0}, {799, 32, 64, 1024, 4096, 0, 0}, {32, 4864, 5120, 0, 0, 0, 0}, {106, 771, 4369, 0, 0, 0, 0}, {3840, 4386, 21760, 0, 0, 0, 0}, {1036, 32, 771, 64, 4112, 0, 0}, {780, 5156, 5188, 0, 0, 0, 0}, {1807, 1829, 4437, 0, 0, 0, 0}, {4364, 4390, 4608, 64, 5376, 0, 0}, {5240, 10023, 20560, 0, 0, 0, 0}, {5160, 13056, 20480, 0, 0, 0, 0}, {4377, 4403, 771, 64, 5397, 0, 0}, {42, 1792, 4352, 0, 0, 0, 0}, {96, 771, 5140, 0, 0, 0, 0}, {1036, 32, 1792, 64, 4096, 0, 0}, {3855, 4471, 21845, 0, 0, 0, 0}, {780, 4642, 4420, 0, 0, 0, 0}, {1807, 32, 5200, 0, 0, 0, 0}, {3072, 816, 17408, 0, 0, 0, 0}, {10, 32, 514, 1365, 4369, 0, 0}, {274, 64, 1296, 4112, 0, 0, 0}, {17612, 19251, 13107, 0, 0, 0, 0}, {1912, 13364, 17476, 0, 0, 0, 0}, {10, 4405, 4608, 4437, 5120, 0, 0}, {10, 5174, 1360, 0, 0, 0, 0}, {1032, 1847, 64, 0, 0, 0, 0}, {1032, 816, 64, 0, 0, 0, 0}, {10, 4403, 1365, 0, 0, 0, 0}, {10, 1328, 1536, 1360, 4352, 0, 0}, {2056, 1911, 17476, 0, 0, 0, 0}, {17612, 19260, 30464, 0, 0, 0, 0}, {279, 64, 1301, 4096, 0, 0, 0}, {10, 32, 514, 4420, 5140, 0, 0}, {831, 12288, 17408, 0, 0, 0, 0}, {768, 64, 1024, 0, 0, 0, 0}, {10, 1285, 4369, 0, 0, 0, 0}, {4418, 1280, 0, 0, 0, 0, 0}, {17484, 17219, 0, 0, 0, 0, 0}, {13260, 3840, 17476, 0, 0, 0, 0}, {32, 512, 261, 4112, 0, 0, 0}, {4422, 1280, 0, 0, 0, 0, 0}, {17480, 18247, 0, 0, 0, 0, 0}, {17480, 768, 0, 0, 0, 0, 0}, {4371, 1285, 0, 0, 0, 0, 0}, {10, 32, 64, 256, 0, 0, 0}, {3855, 13107, 17476, 0, 0, 0, 0}, {17484, 1792, 0, 0, 0, 0, 0}, {4375, 1285, 0, 0, 0, 0, 0}, {10, 8738, 4420, 1280, 0, 0, 0}, {783, 12336, 64, 1024, 0, 0, 0}, {6912, 13056, 5200, 0, 0, 0, 0}, {793, 819, 64, 1028, 4369, 0, 0}, {4360, 4386, 1874, 21760, 0, 0, 0}, {5132, 96, 851, 20480, 0, 0, 0}, {796, 32, 64, 1028, 4112, 0, 0}, {7680, 8704, 4437, 0, 0, 0, 0}, {4364, 4454, 854, 21760, 0, 0, 0}, {5128, 32, 1879, 20480, 0, 0, 0}, {5208, 32, 4864, 20560, 0, 0, 0}, {4441, 4403, 4608, 21845, 0, 0, 0}, {170, 3930, 4352, 0, 0, 0, 0}, {32, 787, 64, 1028, 4096, 0, 0}, {5212, 96, 5888, 20560, 0, 0, 0}, {4445, 4471, 5632, 21845, 0, 0, 0}, {4626, 4356, 0, 0, 0, 0, 0}, {13151, 5120, 0, 0, 0, 0, 0}, {96, 768, 5120, 0, 0, 0, 0}, {42, 1799, 4369, 0, 0, 0, 0}, {4360, 4386, 768, 64, 5376, 0, 0}, {5180, 13107, 20560, 0, 0, 0, 0}, {1800, 32, 5188, 0, 0, 0, 0}, {783, 4656, 4437, 0, 0, 0, 0}, {3840, 4454, 21760, 0, 0, 0, 0}, {1032, 32, 1799, 64, 4112, 0, 0}, {1032, 32, 768, 64, 4096, 0, 0}, {3855, 4403, 21845, 0, 0, 0, 0}, {106, 768, 4352, 0, 0, 0, 0}, {32, 4883, 5140, 0, 0, 0, 0}, {5228, 9984, 20480, 0, 0, 0, 0}, {4381, 4407, 4626, 64, 5397, 0, 0}, {1800, 1826, 4420, 0, 0, 0, 0}, {783, 5168, 5200, 0, 0, 0, 0}, {2048, 1904, 17408, 0, 0, 0, 0}, {10, 1333, 1542, 1365, 4369, 0, 0}, {10, 4386, 1360, 0, 0, 0, 0}, {1036, 819, 64, 0, 0, 0, 0}, {828, 12336, 17476, 0, 0, 0, 0}, {10, 32, 512, 4437, 5120, 0, 0}, {278, 64, 1296, 4112, 0, 0, 0}, {17544, 19319, 30583, 0, 0, 0, 0}, {17544, 19320, 13056, 0, 0, 0, 0}, {275, 64, 1301, 4096, 0, 0, 0}, {10, 32, 512, 1360, 4352, 0, 0}, {3084, 819, 17476, 0, 0, 0, 0}, {1036, 1840, 64, 0, 0, 0, 0}, {10, 5154, 1365, 0, 0, 0, 0}, {10, 4388, 4626, 4420, 5140, 0, 0}, {1919, 13312, 17408, 0, 0, 0, 0}, {128, 1792, 17408, 0, 0, 0, 0}, {10, 96, 771, 1285, 4369, 0, 0}, {10, 4386, 1280, 0, 0, 0, 0}, {1036, 771, 64, 0, 0, 0, 0}, {780, 12288, 17476, 0, 0, 0, 0}, {10, 32, 512, 4437, 1285, 0, 0}, {262, 64, 1280, 4096, 0, 0, 0}, {17544, 3855, 30583, 0, 0, 0, 0}, {17544, 3840, 13056, 0, 0, 0, 0}, {259, 64, 1285, 4112, 0, 0, 0}, {10, 32, 512, 1280, 4352, 0, 0}, {192, 771, 17476, 0, 0, 0, 0}, {1036, 1792, 64, 0, 0, 0, 0}, {10, 4471, 1285, 0, 0, 0, 0}, {10, 4388, 774, 4420, 1280, 0, 0}, {1807, 13424, 17408, 0, 0, 0, 0}, {5168, 5888, 5200, 0, 0, 0, 0}, {1885, 1911, 4369, 0, 0, 0, 0}, {4360, 4386, 4626, 64, 5376, 0, 0}, {5228, 13107, 20480, 0, 0, 0, 0}, {4940, 32, 5140, 0, 0, 0, 0}, {4415, 4608, 4437, 0, 0, 0, 0}, {3930, 4454, 21760, 0, 0, 0, 0}, {1032, 32, 1815, 64, 4096, 0, 0}, {1032, 32, 784, 64, 4112, 0, 0}, {3925, 4403, 21845, 0, 0, 0, 0}, {858, 816, 4352, 0, 0, 0, 0}, {32, 4883, 5188, 0, 0, 0, 0}, {5180, 10064, 20560, 0, 0, 0, 0}, {4381, 4407, 789, 64, 5397, 0, 0}, {42, 5654, 4420, 0, 0, 0, 0}, {863, 96, 5120, 0, 0, 0, 0}, {160, 13056, 5120, 0, 0, 0, 0}, {42, 771, 64, 1028, 4369, 0, 0}, {4360, 4386, 5632, 21760, 0, 0, 0}, {5212, 96, 771, 20560, 0, 0, 0}, {780, 32, 64, 1028, 4096, 0, 0}, {3855, 8704, 4437, 0, 0, 0, 0}, {4364, 4454, 4608, 21760, 0, 0, 0}, {5208, 32, 1799, 20560, 0, 0, 0}, {5128, 32, 4864, 20480, 0, 0, 0}, {4441, 4403, 771, 21845, 0, 0, 0}, {170, 3840, 4352, 0, 0, 0, 0}, {32, 771, 64, 1028, 4112, 0, 0}, {5132, 96, 5888, 20480, 0, 0, 0}, {4445, 4471, 1799, 21845, 0, 0, 0}, {4642, 4356, 0, 0, 0, 0, 0}, {9999, 5200, 0, 0, 0, 0, 0}, {816, 64, 1024, 0, 0, 0, 0}, {10, 1365, 4369, 0, 0, 0, 0}, {5138, 1360, 0, 0, 0, 0, 0}, {17484, 17203, 0, 0, 0, 0, 0}, {13260, 15420, 17476, 0, 0, 0, 0}, {32, 512, 277, 4096, 0, 0, 0}, {5142, 1360, 0, 0, 0, 0, 0}, {17480, 18295, 0, 0, 0, 0, 0}, {17480, 816, 0, 0, 0, 0, 0}, {4371, 1365, 0, 0, 0, 0, 0}, {10, 512, 1024, 272, 0, 0, 0}, {4095, 13107, 17476, 0, 0, 0, 0}, {17484, 1904, 0, 0, 0, 0, 0}, {4375, 1365, 0, 0, 0, 0, 0}, {10, 8738, 4420, 5140, 0, 0, 0}, {831, 12288, 64, 1024, 0, 0, 0}, {192, 768, 17408, 0, 0, 0, 0}, {10, 32, 514, 1285, 4369, 0, 0}, {258, 64, 1280, 4096, 0, 0, 0}, {17612, 3855, 13107, 0, 0, 0, 0}, {1800, 13380, 17476, 0, 0, 0, 0}, {10, 4405, 773, 4437, 1285, 0, 0}, {10, 4454, 1280, 0, 0, 0, 0}, {1032, 1799, 64, 0, 0, 0, 0}, {1032, 768, 64, 0, 0, 0, 0}, {10, 4403, 1285, 0, 0, 0, 0}, {10, 96, 768, 1280, 4352, 0, 0}, {128, 1799, 17476, 0, 0, 0, 0}, {17612, 3840, 30464, 0, 0, 0, 0}, {263, 64, 1285, 4112, 0, 0, 0}, {10, 32, 514, 4420, 1280, 0, 0}, {783, 12336, 17408, 0, 0, 0, 0}, {32, 4864, 5200, 0, 0, 0, 0}, {857, 819, 4369, 0, 0, 0, 0}, {3930, 4386, 21760, 0, 0, 0, 0}, {1036, 32, 787, 64, 4096, 0, 0}, {860, 96, 5140, 0, 0, 0, 0}, {42, 5632, 4437, 0, 0, 0, 0}, {4364, 4390, 790, 64, 5376, 0, 0}, {5160, 10103, 20480, 0, 0, 0, 0}, {5240, 13056, 20560, 0, 0, 0, 0}, {4377, 4403, 4608, 64, 5397, 0, 0}, {1882, 1904, 4352, 0, 0, 0, 0}, {5156, 5911, 5188, 0, 0, 0, 0}, {1036, 32, 1808, 64, 4112, 0, 0}, {3925, 4471, 21845, 0, 0, 0, 0}, {4398, 4626, 4420, 0, 0, 0, 0}, {4959, 32, 5120, 0, 0, 0, 0}, {32, 768, 64, 1024, 4096, 0, 0}, {170, 3855, 4369, 0, 0, 0, 0}, {4424, 4386, 768, 21760, 0, 0, 0}, {5148, 32, 4883, 20560, 0, 0, 0}, {10024, 5188, 0, 0, 0, 0, 0}, {4656, 4373, 0, 0, 0, 0, 0}, {4428, 4454, 1792, 21760, 0, 0, 0}, {5144, 96, 5911, 20560, 0, 0, 0}, {5192, 96, 768, 20480, 0, 0, 0}, {4377, 4403, 5654, 21845, 0, 0, 0}, {42, 768, 64, 1024, 4352, 0, 0}, {160, 13107, 5140, 0, 0, 0, 0}, {5196, 32, 1792, 20480, 0, 0, 0}, {4381, 4471, 4626, 21845, 0, 0, 0}, {3840, 8738, 4420, 0, 0, 0, 0}, {783, 32, 64, 1024, 4112, 0, 0}, {4080, 13056, 17408, 0, 0, 0, 0}, {10, 514, 1028, 273, 0, 0, 0}, {4354, 1360, 0, 0, 0, 0, 0}, {17420, 819, 0, 0, 0, 0, 0}, {828, 12336, 64, 1028, 0, 0, 0}, {10, 8704, 4437, 5120, 0, 0, 0}, {4358, 1360, 0, 0, 0, 0, 0}, {17416, 1911, 0, 0, 0, 0, 0}, {17416, 17264, 0, 0, 0, 0, 0}, {5126, 1365, 0, 0, 0, 0, 0}, {10, 1360, 4352, 0, 0, 0, 0}, {819, 64, 1028, 0, 0, 0, 0}, {17420, 18224, 0, 0, 0, 0, 0}, {5122, 1365, 0, 0, 0, 0, 0}, {32, 514, 276, 4112, 0, 0, 0}, {13311, 15360, 17408, 0, 0, 0, 0}, {19456, 0, 0, 0, 0, 0, 0}, {18, 5, 257, 0, 0, 0, 0}, {10, 34, 514, 17408, 0, 0, 0}, {15, 48, 771, 16384, 0, 0, 0}, {72, 1028, 0, 0, 0, 0, 0}, {4864, 5, 0, 0, 0, 0, 0}, {10, 96, 1542, 16384, 0, 0, 0}, {15, 119, 1799, 17408, 0, 0, 0}, {136, 2056, 17408, 0, 0, 0, 0}, {48, 771, 5, 4096, 0, 0, 0}, {10, 17920, 0, 0, 0, 0, 0}, {71, 1028, 0, 0, 0, 0, 0}, {192, 3084, 16384, 0, 0, 0, 0}, {34, 514, 5, 4352, 0, 0, 0}, {66, 1028, 0, 0, 0, 0, 0}, {15, 17152, 0, 0, 0, 0, 0}, {3072, 48, 80, 4112, 0, 0, 0}, {2048, 34, 85, 4369, 0, 0, 0}, {18, 1024, 0, 0, 0, 0, 0}, {95, 4883, 0, 0, 0, 0, 0}, {40, 8192, 80, 5140, 0, 0, 0}, {63, 13056, 85, 5397, 0, 0, 0}, {90, 5654, 0, 0, 0, 0, 0}, {23, 1024, 0, 0, 0, 0, 0}, {24, 48, 80, 1024, 4096, 0, 0}, {6425, 13107, 85, 0, 0, 0, 0}, {90, 48, 5696, 16448, 0, 0, 0}, {95, 119, 4932, 17476, 0, 0, 0}, {7196, 8224, 80, 0, 0, 0, 0}, {29, 34, 85, 1024, 4352, 0, 0}, {90, 34, 5700, 17476, 0, 0, 0}, {95, 96, 4928, 16448, 0, 0, 0}, {160, 19488, 8224, 0, 0, 0, 0}, {18, 85, 1041, 4369, 0, 0, 0}, {2048, 34, 17408, 0, 0, 0, 0}, {15, 48, 771, 80, 4112, 0, 0}, {1036, 1060, 1092, 0, 0, 0, 0}, {15, 5669, 85, 0, 0, 0, 0}, {106, 9766, 16448, 0, 0, 0, 0}, {15, 39, 4864, 80, 5120, 0, 0}, {40, 8192, 17408, 0, 0, 0, 0}, {15, 48, 771, 85, 5397, 0, 0}, {170, 19498, 26112, 0, 0, 0, 0}, {23, 80, 1044, 4096, 0, 0, 0}, {3084, 96, 16448, 0, 0, 0, 0}, {15, 34, 1792, 85, 4352, 0, 0}, {1036, 34, 1092, 0, 0, 0, 0}, {15, 4896, 80, 0, 0, 0, 0}, {3072, 48, 16384, 0, 0, 0, 0}, {10, 34, 514, 85, 4369, 0, 0}, {18, 80, 1040, 4112, 0, 0, 0}, {255, 19507, 13107, 0, 0, 0, 0}, {120, 13364, 17476, 0, 0, 0, 0}, {10, 53, 4864, 85, 5376, 0, 0}, {10, 5686, 80, 0, 0, 0, 0}, {1032, 1079, 1088, 0, 0, 0, 0}, {1032, 48, 1088, 0, 0, 0, 0}, {10, 4915, 85, 0, 0, 0, 0}, {10, 48, 1536, 80, 4096, 0, 0}, {2056, 119, 17476, 0, 0, 0, 0}, {240, 19516, 28672, 0, 0, 0, 0}, {23, 85, 1045, 4352, 0, 0, 0}, {10, 34, 514, 80, 5140, 0, 0}, {63, 13056, 16384, 0, 0, 0, 0}, {192, 3072, 16448, 0, 0, 0, 0}, {34, 512, 5, 4369, 0, 0, 0}, {66, 1024, 0, 0, 0, 0, 0}, {15, 17219, 0, 0, 0, 0, 0}, {136, 2048, 17476, 0, 0, 0, 0}, {48, 768, 5, 4112, 0, 0, 0}, {10, 17990, 0, 0, 0, 0, 0}, {71, 1024, 0, 0, 0, 0, 0}, {72, 1024, 0, 0, 0, 0, 0}, {4883, 5, 0, 0, 0, 0, 0}, {10, 96, 1536, 16448, 0, 0, 0}, {15, 119, 1792, 17476, 0, 0, 0}, {19532, 0, 0, 0, 0, 0, 0}, {18, 5, 256, 0, 0, 0, 0}, {10, 34, 512, 17476, 0, 0, 0}, {15, 48, 768, 16448, 0, 0, 0}, {7168, 8192, 80, 0, 0, 0, 0}, {29, 34, 85, 1028, 4369, 0, 0}, {90, 34, 5714, 17408, 0, 0, 0}, {95, 96, 4947, 16384, 0, 0, 0}, {24, 48, 80, 1028, 4112, 0, 0}, {6400, 13056, 85, 0, 0, 0, 0}, {90, 48, 5718, 16384, 0, 0, 0}, {95, 119, 4951, 17408, 0, 0, 0}, {40, 8224, 80, 5120, 0, 0, 0}, {63, 13107, 85, 5376, 0, 0, 0}, {90, 5632, 0, 0, 0, 0, 0}, {23, 1028, 0, 0, 0, 0, 0}, {3084, 48, 80, 4096, 0, 0, 0}, {2056, 34, 85, 4352, 0, 0, 0}, {18, 1028, 0, 0, 0, 0, 0}, {95, 4864, 0, 0, 0, 0, 0}, {3072, 96, 16384, 0, 0, 0, 0}, {15, 34, 1799, 85, 4369, 0, 0}, {1032, 34, 1088, 0, 0, 0, 0}, {15, 4915, 80, 0, 0, 0, 0}, {40, 8224, 17476, 0, 0, 0, 0}, {15, 48, 768, 85, 5376, 0, 0}, {170, 19558, 26214, 0, 0, 0, 0}, {23, 80, 1040, 4112, 0, 0, 0}, {1032, 1056, 1088, 0, 0, 0, 0}, {15, 5683, 85, 0, 0, 0, 0}, {106, 9728, 16384, 0, 0, 0, 0}, {15, 39, 4883, 80, 5140, 0, 0}, {160, 19564, 8192, 0, 0, 0, 0}, {18, 85, 1045, 4352, 0, 0, 0}, {2056, 34, 17476, 0, 0, 0, 0}, {15, 48, 768, 80, 4096, 0, 0}, {240, 19568, 28784, 0, 0, 0, 0}, {23, 85, 1041, 4369, 0, 0, 0}, {10, 34, 512, 80, 5120, 0, 0}, {63, 13107, 16448, 0, 0, 0, 0}, {1036, 48, 1092, 0, 0, 0, 0}, {10, 4896, 85, 0, 0, 0, 0}, {10, 48, 1542, 80, 4112, 0, 0}, {2048, 119, 17408, 0, 0, 0, 0}, {120, 13312, 17408, 0, 0, 0, 0}, {10, 53, 4883, 85, 5397, 0, 0}, {10, 5664, 80, 0, 0, 0, 0}, {1036, 1075, 1092, 0, 0, 0, 0}, {3084, 48, 16448, 0, 0, 0, 0}, {10, 34, 512, 85, 4352, 0, 0}, {18, 80, 1044, 4096, 0, 0, 0}, {255, 19583, 13056, 0, 0, 0, 0}, {19584, 0, 0, 0, 0, 0, 0}, {259, 5, 273, 0, 0, 0, 0}, {10, 34, 512, 17408, 0, 0, 0}, {15, 48, 771, 16448, 0, 0, 0}, {1036, 1092, 0, 0, 0, 0, 0}, {4896, 5, 0, 0, 0, 0, 0}, {10, 96, 1542, 16448, 0, 0, 0}, {15, 119, 1792, 17408, 0, 0, 0}, {136, 2048, 17408, 0, 0, 0, 0}, {48, 771, 5, 4112, 0, 0, 0}, {10, 17952, 0, 0, 0, 0, 0}, {1027, 1092, 0, 0, 0, 0, 0}, {192, 3084, 16448, 0, 0, 0, 0}, {34, 512, 5, 4352, 0, 0, 0}, {1030, 1092, 0, 0, 0, 0, 0}, {15, 17264, 0, 0, 0, 0, 0}, {3072, 48, 80, 4096, 0, 0, 0}, {2056, 34, 85, 4369, 0, 0, 0}, {18, 1088, 0, 0, 0, 0, 0}, {95, 4915, 0, 0, 0, 0, 0}, {40, 8224, 80, 5140, 0, 0, 0}, {63, 13056, 85, 5376, 0, 0, 0}, {90, 5734, 0, 0, 0, 0, 0}, {23, 1088, 0, 0, 0, 0, 0}, {24, 48, 80, 1040, 4112, 0, 0}, {6451, 13107, 85, 0, 0, 0, 0}, {90, 48, 5632, 16384, 0, 0, 0}, {95, 119, 4883, 17476, 0, 0, 0}, {7228, 8192, 80, 0, 0, 0, 0}, {29, 34, 85, 1045, 4352, 0, 0}, {90, 34, 5654, 17476, 0, 0, 0}, {95, 96, 4864, 16384, 0, 0, 0}, {160, 19456, 8192, 0, 0, 0, 0}, {18, 85, 1028, 4369, 0, 0, 0}, {2056, 34, 17408, 0, 0, 0, 0}, {15, 48, 771, 80, 4096, 0, 0}, {72, 96, 1028, 0, 0, 0, 0}, {15, 5632, 85, 0, 0, 0, 0}, {106, 9830, 16384, 0, 0, 0, 0}, {15, 39, 4871, 80, 5120, 0, 0}, {40, 8224, 17408, 0, 0, 0, 0}, {15, 48, 771, 85, 5376, 0, 0}, {170, 19456, 26112, 0, 0, 0, 0}, {23, 80, 1028, 4112, 0, 0, 0}, {3084, 96, 16384, 0, 0, 0, 0}, {15, 34, 1799, 85, 4352, 0, 0}, {72, 34, 1028, 0, 0, 0, 0}, {15, 4864, 80, 0, 0, 0, 0}, {3072, 48, 16448, 0, 0, 0, 0}, {10, 34, 512, 85, 4369, 0, 0}, {18, 80, 1024, 4096, 0, 0, 0}, {255, 19532, 13107, 0, 0, 0, 0}, {120, 13380, 17476, 0, 0, 0, 0}, {10, 53, 4885, 85, 5397, 0, 0}, {10, 5654, 80, 0, 0, 0, 0}, {72, 119, 1024, 0, 0, 0, 0}, {72, 48, 1024, 0, 0, 0, 0}, {10, 4883, 85, 0, 0, 0, 0}, {10, 48, 1536, 80, 4112, 0, 0}, {2048, 119, 17476, 0, 0, 0, 0}, {240, 19532, 28784, 0, 0, 0, 0}, {23, 85, 1024, 4352, 0, 0, 0}, {10, 34, 512, 80, 5140, 0, 0}, {63, 13056, 16448, 0, 0, 0, 0}, {192, 3072, 16384, 0, 0, 0, 0}, {34, 514, 5, 4369, 0, 0, 0}, {1026, 1088, 0, 0, 0, 0, 0}, {15, 17203, 0, 0, 0, 0, 0}, {136, 2056, 17476, 0, 0, 0, 0}, {48, 768, 5, 4096, 0, 0, 0}, {10, 18022, 0, 0, 0, 0, 0}, {1031, 1088, 0, 0, 0, 0, 0}, {1032, 1088, 0, 0, 0, 0, 0}, {4915, 5, 0, 0, 0, 0, 0}, {10, 96, 1536, 16384, 0, 0, 0}, {15, 119, 1799, 17476, 0, 0, 0}, {19660, 0, 0, 0, 0, 0, 0}, {258, 5, 272, 0, 0, 0, 0}, {10, 34, 514, 17476, 0, 0, 0}, {15, 48, 768, 16384, 0, 0, 0}, {7200, 8224, 80, 0, 0, 0, 0}, {29, 34, 85, 1041, 4369, 0, 0}, {90, 34, 5632, 17408, 0, 0, 0}, {95, 96, 4883, 16448, 0, 0, 0}, {24, 48, 80, 1044, 4096, 0, 0}, {6442, 13056, 85, 0, 0, 0, 0}, {90, 48, 5654, 16448, 0, 0, 0}, {95, 119, 4864, 17408, 0, 0, 0}, {40, 8192, 80, 5120, 0, 0, 0}, {63, 13107, 85, 5397, 0, 0, 0}, {90, 5744, 0, 0, 0, 0, 0}, {23, 1092, 0, 0, 0, 0, 0}, {3084, 48, 80, 4112, 0, 0, 0}, {2048, 34, 85, 4352, 0, 0, 0}, {18, 1092, 0, 0, 0, 0, 0}, {95, 4896, 0, 0, 0, 0, 0}, {3072, 96, 16448, 0, 0, 0, 0}, {15, 34, 1792, 85, 4369, 0, 0}, {72, 34, 1024, 0, 0, 0, 0}, {15, 4883, 80, 0, 0, 0, 0}, {40, 8192, 17476, 0, 0, 0, 0}, {15, 48, 768, 85, 5397, 0, 0}, {170, 19532, 26214, 0, 0, 0, 0}, {23, 80, 1024, 4096, 0, 0, 0}, {72, 96, 1024, 0, 0, 0, 0}, {15, 5654, 85, 0, 0, 0, 0}, {106, 9792, 16448, 0, 0, 0, 0}, {15, 39, 4884, 80, 5140, 0, 0}, {160, 19532, 8224, 0, 0, 0, 0}, {18, 85, 1024, 4352, 0, 0, 0}, {2048, 34, 17476, 0, 0, 0, 0}, {15, 48, 768, 80, 4112, 0, 0}, {240, 19456, 28672, 0, 0, 0, 0}, {23, 85, 1028, 4369, 0, 0, 0}, {10, 34, 514, 80, 5120, 0, 0}, {63, 13107, 16384, 0, 0, 0, 0}, {72, 48, 1028, 0, 0, 0, 0}, {10, 4864, 85, 0, 0, 0, 0}, {10, 48, 1542, 80, 4096, 0, 0}, {2056, 119, 17408, 0, 0, 0, 0}, {120, 13424, 17408, 0, 0, 0, 0}, {10, 53, 4870, 85, 5376, 0, 0}, {10, 5632, 80, 0, 0, 0, 0}, {72, 119, 1028, 0, 0, 0, 0}, {3084, 48, 16384, 0, 0, 0, 0}, {10, 34, 514, 85, 4352, 0, 0}, {18, 80, 1028, 4112, 0, 0, 0}, {255, 19456, 13056, 0, 0, 0, 0}, {4608, 1280, 0, 0, 0, 0, 0}, {76, 257, 0, 0, 0, 0, 0}, {1290, 4128, 514, 16384, 0, 0, 0}, {1295, 4403, 771, 17408, 0, 0, 0}, {4864, 260, 0, 0, 0, 0, 0}, {4698, 1285, 0, 0, 0, 0, 0}, {1290, 4454, 1542, 17408, 0, 0, 0}, {1295, 4208, 1799, 16384, 0, 0, 0}, {520, 1280, 4096, 0, 0, 0, 0}, {771, 4437, 1285, 0, 0, 0, 0}, {1290, 18176, 0, 0, 0, 0, 0}, {327, 1028, 0, 0, 0, 0, 0}, {780, 1280, 4352, 0, 0, 0, 0}, {514, 4176, 1285, 0, 0, 0, 0}, {322, 1028, 0, 0, 0, 0, 0}, {1295, 16896, 0, 0, 0, 0, 0}, {2048, 544, 1360, 4112, 0, 0, 0}, {3072, 819, 1365, 4369, 0, 0, 0}, {1370, 4626, 0, 0, 0, 0, 0}, {275, 1024, 0, 0, 0, 0, 0}, {828, 13056, 4420, 5140, 0, 0, 0}, {554, 8192, 4160, 5397, 0, 0, 0}, {278, 1024, 0, 0, 0, 0, 0}, {1375, 5911, 0, 0, 0, 0, 0}, {6168, 12336, 1360, 0, 0, 0, 0}, {281, 819, 341, 1024, 4096, 0, 0}, {1370, 4144, 5952, 16448, 0, 0, 0}, {1375, 4471, 4676, 17476, 0, 0, 0}, {284, 544, 336, 1024, 4352, 0, 0}, {7453, 8738, 1365, 0, 0, 0, 0}, {1370, 4386, 5956, 17476, 0, 0, 0}, {1375, 4192, 4672, 16448, 0, 0, 0}, {4128, 4608, 5376, 0, 0, 0, 0}, {1385, 771, 4369, 0, 0, 0, 0}, {3840, 4642, 20480, 0, 0, 0, 0}, {1036, 291, 771, 1088, 4112, 0, 0}, {780, 5924, 4420, 0, 0, 0, 0}, {1807, 1317, 5461, 0, 0, 0, 0}, {4108, 294, 4864, 4160, 5120, 0, 0}, {4728, 10023, 20560, 0, 0, 0, 0}, {5928, 12288, 21760, 0, 0, 0, 0}, {4377, 4144, 771, 4437, 5397, 0, 0}, {1322, 1792, 4096, 0, 0, 0, 0}, {4471, 771, 5140, 0, 0, 0, 0}, {1036, 1312, 1792, 1088, 4352, 0, 0}, {3855, 6007, 21845, 0, 0, 0, 0}, {780, 4386, 5188, 0, 0, 0, 0}, {1807, 544, 4176, 0, 0, 0, 0}, {2560, 4656, 21760, 0, 0, 0, 0}, {1032, 305, 514, 1092, 4369, 0, 0}, {1402, 514, 4112, 0, 0, 0, 0}, {4403, 4608, 5120, 0, 0, 0, 0}, {4360, 308, 4864, 4420, 5376, 0, 0}, {4714, 13621, 21845, 0, 0, 0, 0}, {1546, 1334, 5200, 0, 0, 0, 0}, {520, 5943, 4160, 0, 0, 0, 0}, {520, 4144, 5440, 0, 0, 0, 0}, {1546, 819, 4437, 0, 0, 0, 0}, {2570, 5984, 20560, 0, 0, 0, 0}, {1032, 1331, 1536, 1092, 4096, 0, 0}, {1340, 1536, 4352, 0, 0, 0, 0}, {4192, 514, 5397, 0, 0, 0, 0}, {4124, 4386, 514, 4176, 5140, 0, 0}, {5951, 8704, 20480, 0, 0, 0, 0}, {512, 4160, 1280, 0, 0, 0, 0}, {783, 1285, 4369, 0, 0, 0, 0}, {1290, 16962, 0, 0, 0, 0, 0}, {323, 1024, 0, 0, 0, 0, 0}, {768, 4420, 1280, 0, 0, 0, 0}, {522, 1285, 4112, 0, 0, 0, 0}, {326, 1024, 0, 0, 0, 0, 0}, {1295, 18247, 0, 0, 0, 0, 0}, {4680, 1280, 0, 0, 0, 0, 0}, {4883, 261, 0, 0, 0, 0, 0}, {1290, 4192, 1792, 16448, 0, 0, 0}, {1295, 4471, 1536, 17476, 0, 0, 0}, {76, 256, 0, 0, 0, 0, 0}, {4626, 1285, 0, 0, 0, 0, 0}, {1290, 4386, 768, 17476, 0, 0, 0}, {1295, 4144, 512, 16448, 0, 0, 0}, {7424, 8704, 1360, 0, 0, 0, 0}, {285, 546, 337, 1028, 4369, 0, 0}, {1370, 4208, 4690, 16384, 0, 0, 0}, {1375, 4403, 5971, 17408, 0, 0, 0}, {280, 816, 340, 1028, 4112, 0, 0}, {6144, 12288, 1365, 0, 0, 0, 0}, {1370, 4454, 4694, 17408, 0, 0, 0}, {1375, 4128, 5975, 16384, 0, 0, 0}, {552, 8224, 4176, 5376, 0, 0, 0}, {831, 13107, 4437, 5120, 0, 0, 0}, {1370, 5888, 0, 0, 0, 0, 0}, {279, 1028, 0, 0, 0, 0, 0}, {3084, 816, 1360, 4352, 0, 0, 0}, {2056, 546, 1365, 4096, 0, 0, 0}, {274, 1028, 0, 0, 0, 0, 0}, {1375, 4608, 0, 0, 0, 0, 0}, {3840, 5984, 21760, 0, 0, 0, 0}, {1032, 1317, 1799, 1092, 4369, 0, 0}, {1800, 546, 4160, 0, 0, 0, 0}, {783, 4403, 5200, 0, 0, 0, 0}, {4360, 4128, 768, 4420, 5376, 0, 0}, {5951, 12336, 21845, 0, 0, 0, 0}, {4454, 768, 5120, 0, 0, 0, 0}, {1327, 1799, 4112, 0, 0, 0, 0}, {1800, 1312, 5440, 0, 0, 0, 0}, {783, 5939, 4437, 0, 0, 0, 0}, {4714, 9984, 20480, 0, 0, 0, 0}, {4124, 295, 4883, 4176, 5140, 0, 0}, {1388, 768, 4352, 0, 0, 0, 0}, {4144, 4626, 5397, 0, 0, 0, 0}, {1032, 290, 768, 1092, 4096, 0, 0}, {3855, 4656, 20560, 0, 0, 0, 0}, {4208, 512, 5376, 0, 0, 0, 0}, {1337, 1542, 4369, 0, 0, 0, 0}, {5928, 8738, 20560, 0, 0, 0, 0}, {4108, 4403, 512, 4160, 5120, 0, 0}, {1548, 816, 4420, 0, 0, 0, 0}, {522, 4128, 5461, 0, 0, 0, 0}, {1036, 1334, 1542, 1088, 4112, 0, 0}, {2560, 6007, 20480, 0, 0, 0, 0}, {4728, 13568, 21760, 0, 0, 0, 0}, {4377, 309, 4883, 4437, 5397, 0, 0}, {522, 5920, 4176, 0, 0, 0, 0}, {1548, 1331, 5188, 0, 0, 0, 0}, {1036, 304, 512, 1088, 4352, 0, 0}, {2570, 4642, 21845, 0, 0, 0, 0}, {4386, 4626, 5140, 0, 0, 0, 0}, {1407, 512, 4096, 0, 0, 0, 0}, {128, 512, 1280, 4096, 0, 0, 0}, {204, 771, 1285, 4369, 0, 0, 0}, {1290, 4642, 0, 0, 0, 0, 0}, {259, 1088, 0, 0, 0, 0, 0}, {780, 13056, 4420, 1280, 0, 0, 0}, {522, 8224, 4176, 1285, 0, 0, 0}, {262, 1088, 0, 0, 0, 0, 0}, {1295, 6007, 0, 0, 0, 0, 0}, {4744, 12288, 1280, 0, 0, 0, 0}, {265, 771, 325, 1285, 4112, 0, 0}, {1290, 4128, 1792, 16384, 0, 0, 0}, {1295, 4471, 771, 17476, 0, 0, 0}, {268, 512, 320, 1280, 4352, 0, 0}, {4818, 8738, 1285, 0, 0, 0, 0}, {1290, 4386, 1542, 17476, 0, 0, 0}, {1295, 4208, 512, 16384, 0, 0, 0}, {4656, 1360, 0, 0, 0, 0, 0}, {1032, 273, 0, 0, 0, 0, 0}, {1370, 4144, 4626, 16448, 0, 0, 0}, {1375, 4403, 4608, 17408, 0, 0, 0}, {4896, 276, 0, 0, 0, 0, 0}, {5951, 1365, 0, 0, 0, 0, 0}, {1370, 4454, 5888, 17408, 0, 0, 0}, {1375, 4192, 5911, 16448, 0, 0, 0}, {552, 1360, 4112, 0, 0, 0, 0}, {819, 4437, 5120, 0, 0, 0, 0}, {1370, 18224, 0, 0, 0, 0, 0}, {1299, 1092, 0, 0, 0, 0, 0}, {828, 1360, 4352, 0, 0, 0, 0}, {546, 4160, 5397, 0, 0, 0, 0}, {1302, 1092, 0, 0, 0, 0, 0}, {1375, 16992, 0, 0, 0, 0, 0}, {1440, 4608, 21760, 0, 0, 0, 0}, {76, 289, 771, 1028, 4369, 0, 0}, {1800, 546, 4096, 0, 0, 0, 0}, {4403, 771, 5200, 0, 0, 0, 0}, {4360, 292, 4612, 4420, 1028, 0, 0}, {4698, 13653, 21845, 0, 0, 0, 0}, {780, 4454, 5120, 0, 0, 0, 0}, {1327, 1799, 4176, 0, 0, 0, 0}, {4616, 4128, 5376, 0, 0, 0, 0}, {5180, 771, 4437, 0, 0, 0, 0}, {1450, 5888, 20480, 0, 0, 0, 0}, {76, 359, 771, 1028, 4112, 0, 0}, {780, 1632, 4352, 0, 0, 0, 0}, {1317, 1799, 5461, 0, 0, 0, 0}, {4108, 4386, 4864, 4160, 1028, 0, 0}, {5983, 8704, 20560, 0, 0, 0, 0}, {4144, 512, 5440, 0, 0, 0, 0}, {1546, 819, 4369, 0, 0, 0, 0}, {1530, 4626, 20560, 0, 0, 0, 0}, {76, 307, 512, 1024, 4096, 0, 0}, {1340, 1536, 4420, 0, 0, 0, 0}, {522, 4192, 5397, 0, 0, 0, 0}, {4124, 310, 4630, 4176, 1024, 0, 0}, {4680, 10103, 20480, 0, 0, 0, 0}, {5960, 12336, 21760, 0, 0, 0, 0}, {4377, 4128, 4883, 4437, 1024, 0, 0}, {522, 1904, 4112, 0, 0, 0, 0}, {1331, 1536, 5188, 0, 0, 0, 0}, {76, 368, 512, 1024, 4352, 0, 0}, {1525, 5911, 21845, 0, 0, 0, 0}, {4638, 4386, 5140, 0, 0, 0, 0}, {5439, 512, 4160, 0, 0, 0, 0}, {4800, 8704, 1280, 0, 0, 0, 0}, {269, 514, 321, 1285, 4369, 0, 0}, {1290, 4192, 514, 16448, 0, 0, 0}, {1295, 4403, 1536, 17408, 0, 0, 0}, {264, 768, 324, 1280, 4096, 0, 0}, {4762, 12336, 1285, 0, 0, 0, 0}, {1290, 4454, 768, 17408, 0, 0, 0}, {1295, 4144, 1799, 16448, 0, 0, 0}, {520, 8192, 4160, 1280, 0, 0, 0}, {783, 13107, 4437, 1285, 0, 0, 0}, {1290, 5984, 0, 0, 0, 0, 0}, {263, 1092, 0, 0, 0, 0, 0}, {204, 768, 1280, 4352, 0, 0, 0}, {128, 514, 1285, 4112, 0, 0, 0}, {258, 1092, 0, 0, 0, 0, 0}, {1295, 4656, 0, 0, 0, 0, 0}, {544, 4176, 5376, 0, 0, 0, 0}, {831, 1365, 4369, 0, 0, 0, 0}, {1370, 16930, 0, 0, 0, 0, 0}, {1299, 1088, 0, 0, 0, 0, 0}, {816, 4420, 5140, 0, 0, 0, 0}, {554, 1365, 4096, 0, 0, 0, 0}, {1302, 1088, 0, 0, 0, 0, 0}, {1375, 18295, 0, 0, 0, 0, 0}, {5928, 1360, 0, 0, 0, 0, 0}, {4915, 277, 0, 0, 0, 0, 0}, {1370, 4208, 5888, 16384, 0, 0, 0}, {1375, 4471, 5911, 17476, 0, 0, 0}, {1036, 272, 0, 0, 0, 0, 0}, {4642, 1365, 0, 0, 0, 0, 0}, {1370, 4386, 4626, 17476, 0, 0, 0}, {1375, 4128, 4608, 16384, 0, 0, 0}, {1312, 1792, 5440, 0, 0, 0, 0}, {783, 1638, 4369, 0, 0, 0, 0}, {5960, 8738, 20480, 0, 0, 0, 0}, {4124, 4403, 4883, 4176, 1024, 0, 0}, {5160, 768, 4420, 0, 0, 0, 0}, {4634, 4144, 5397, 0, 0, 0, 0}, {76, 358, 768, 1024, 4096, 0, 0}, {1455, 5911, 20560, 0, 0, 0, 0}, {4680, 13664, 21760, 0, 0, 0, 0}, {4377, 293, 4630, 4437, 1024, 0, 0}, {1322, 1792, 4160, 0, 0, 0, 0}, {783, 4471, 5140, 0, 0, 0, 0}, {76, 288, 768, 1024, 4352, 0, 0}, {1445, 4626, 21845, 0, 0, 0, 0}, {4386, 768, 5188, 0, 0, 0, 0}, {1807, 544, 4112, 0, 0, 0, 0}, {1520, 5888, 21760, 0, 0, 0, 0}, {76, 369, 514, 1028, 4369, 0, 0}, {5418, 514, 4176, 0, 0, 0, 0}, {4620, 4403, 5120, 0, 0, 0, 0}, {4360, 4144, 4864, 4420, 1028, 0, 0}, {5983, 12288, 21845, 0, 0, 0, 0}, {1334, 1542, 5200, 0, 0, 0, 0}, {520, 1911, 4096, 0, 0, 0, 0}, {520, 4208, 5376, 0, 0, 0, 0}, {1337, 1542, 4437, 0, 0, 0, 0}, {4698, 10064, 20560, 0, 0, 0, 0}, {4108, 311, 4612, 4160, 1028, 0, 0}, {1548, 816, 4352, 0, 0, 0, 0}, {4128, 514, 5461, 0, 0, 0, 0}, {76, 306, 514, 1028, 4112, 0, 0}, {1535, 4608, 20480, 0, 0, 0, 0}, {2560, 8704, 17408, 0, 0, 0, 0}, {15, 48, 64, 257, 0, 0, 0}, {17416, 514, 0, 0, 0, 0, 0}, {4355, 1280, 0, 0, 0, 0, 0}, {520, 8192, 64, 1028, 0, 0, 0}, {15, 13056, 4437, 1285, 0, 0, 0}, {17420, 1542, 0, 0, 0, 0, 0}, {4359, 1280, 0, 0, 0, 0, 0}, {17416, 17920, 0, 0, 0, 0, 0}, {4438, 1285, 0, 0, 0, 0, 0}, {8874, 2570, 17408, 0, 0, 0, 0}, {48, 771, 260, 4096, 0, 0, 0}, {17420, 16896, 0, 0, 0, 0, 0}, {4434, 1285, 0, 0, 0, 0, 0}, {514, 64, 1028, 0, 0, 0, 0}, {15, 1280, 4352, 0, 0, 0, 0}, {48, 528, 64, 1024, 4112, 0, 0}, {255, 2645, 4369, 0, 0, 0, 0}, {5192, 48, 4626, 20480, 0, 0, 0}, {4428, 4403, 4883, 21760, 0, 0, 0}, {8824, 5140, 0, 0, 0, 0, 0}, {4864, 4373, 0, 0, 0, 0, 0}, {5196, 112, 5654, 20480, 0, 0, 0}, {4424, 4471, 5911, 21760, 0, 0, 0}, {5144, 48, 1616, 20560, 0, 0, 0}, {4377, 4454, 597, 21845, 0, 0, 0}, {538, 48, 64, 1024, 4096, 0, 0}, {6939, 13107, 4420, 0, 0, 0, 0}, {5148, 112, 592, 20560, 0, 0, 0}, {4381, 4386, 1621, 21845, 0, 0, 0}, {7710, 8738, 5188, 0, 0, 0, 0}, {543, 544, 64, 1024, 4352, 0, 0}, {2048, 544, 17408, 0, 0, 0, 0}, {15, 48, 771, 1365, 4369, 0, 0}, {17544, 20002, 8738, 0, 0, 0, 0}, {275, 64, 1296, 4112, 0, 0, 0}, {1644, 9252, 17476, 0, 0, 0, 0}, {15, 4389, 4864, 4437, 5120, 0, 0}, {1036, 1574, 64, 0, 0, 0, 0}, {15, 5159, 1360, 0, 0, 0, 0}, {17544, 20008, 26112, 0, 0, 0, 0}, {278, 64, 1301, 4096, 0, 0, 0}, {554, 8192, 17408, 0, 0, 0, 0}, {15, 48, 771, 4420, 5140, 0, 0}, {1036, 544, 64, 0, 0, 0, 0}, {15, 4386, 1365, 0, 0, 0, 0}, {3084, 1638, 17476, 0, 0, 0, 0}, {15, 1312, 1792, 1360, 4352, 0, 0}, {48, 4608, 5120, 0, 0, 0, 0}, {127, 514, 4369, 0, 0, 0, 0}, {1032, 48, 514, 64, 4112, 0, 0}, {2560, 4403, 21760, 0, 0, 0, 0}, {520, 5172, 5188, 0, 0, 0, 0}, {1546, 1589, 4437, 0, 0, 0, 0}, {5228, 13878, 20560, 0, 0, 0, 0}, {4360, 4407, 4864, 64, 5376, 0, 0}, {1032, 48, 1536, 64, 4096, 0, 0}, {2570, 4454, 21845, 0, 0, 0, 0}, {1546, 48, 5200, 0, 0, 0, 0}, {520, 4915, 4420, 0, 0, 0, 0}, {5180, 8704, 20480, 0, 0, 0, 0}, {4381, 4386, 514, 64, 5397, 0, 0}, {112, 514, 5140, 0, 0, 0, 0}, {63, 1536, 4352, 0, 0, 0, 0}, {512, 64, 1024, 0, 0, 0, 0}, {15, 1285, 4369, 0, 0, 0, 0}, {17480, 16962, 0, 0, 0, 0, 0}, {4419, 1280, 0, 0, 0, 0, 0}, {8840, 2560, 17476, 0, 0, 0, 0}, {48, 768, 261, 4112, 0, 0, 0}, {17484, 17990, 0, 0, 0, 0, 0}, {4423, 1280, 0, 0, 0, 0, 0}, {17480, 1536, 0, 0, 0, 0, 0}, {4374, 1285, 0, 0, 0, 0, 0}, {522, 8224, 64, 1024, 0, 0, 0}, {15, 13107, 4420, 1280, 0, 0, 0}, {17484, 512, 0, 0, 0, 0, 0}, {4370, 1285, 0, 0, 0, 0, 0}, {2570, 8738, 17476, 0, 0, 0, 0}, {15, 48, 64, 256, 0, 0, 0}, {7680, 8704, 5200, 0, 0, 0, 0}, {541, 546, 64, 1028, 4369, 0, 0}, {5128, 112, 594, 20480, 0, 0, 0}, {4364, 4403, 1619, 21760, 0, 0, 0}, {536, 48, 64, 1028, 4112, 0, 0}, {6912, 13056, 4437, 0, 0, 0, 0}, {5132, 48, 1622, 20480, 0, 0, 0}, {4360, 4471, 599, 21760, 0, 0, 0}, {5208, 112, 5632, 20560, 0, 0, 0}, {4441, 4454, 5888, 21845, 0, 0, 0}, {8794, 5120, 0, 0, 0, 0, 0}, {4883, 4356, 0, 0, 0, 0, 0}, {5212, 48, 4608, 20560, 0, 0, 0}, {4445, 4386, 4864, 21845, 0, 0, 0}, {48, 530, 64, 1028, 4096, 0, 0}, {255, 2655, 4352, 0, 0, 0, 0}, {3072, 1632, 17408, 0, 0, 0, 0}, {15, 1317, 1799, 1365, 4369, 0, 0}, {1032, 546, 64, 0, 0, 0, 0}, {15, 4403, 1360, 0, 0, 0, 0}, {552, 8224, 17476, 0, 0, 0, 0}, {15, 48, 768, 4437, 5120, 0, 0}, {17612, 20070, 26214, 0, 0, 0, 0}, {279, 64, 1296, 4112, 0, 0, 0}, {1032, 1568, 64, 0, 0, 0, 0}, {15, 5171, 1365, 0, 0, 0, 0}, {1642, 9216, 17408, 0, 0, 0, 0}, {15, 4404, 4883, 4420, 5140, 0, 0}, {17612, 20076, 8704, 0, 0, 0, 0}, {274, 64, 1301, 4096, 0, 0, 0}, {2056, 546, 17476, 0, 0, 0, 0}, {15, 48, 768, 1360, 4352, 0, 0}, {112, 512, 5120, 0, 0, 0, 0}, {63, 1542, 4369, 0, 0, 0, 0}, {5160, 8738, 20560, 0, 0, 0, 0}, {4364, 4403, 512, 64, 5376, 0, 0}, {1548, 48, 5188, 0, 0, 0, 0}, {522, 4896, 4437, 0, 0, 0, 0}, {1036, 48, 1542, 64, 4112, 0, 0}, {2560, 4471, 21760, 0, 0, 0, 0}, {5240, 13824, 20480, 0, 0, 0, 0}, {4377, 4390, 4883, 64, 5397, 0, 0}, {522, 5152, 5200, 0, 0, 0, 0}, {1548, 1587, 4420, 0, 0, 0, 0}, {1036, 48, 512, 64, 4096, 0, 0}, {2570, 4386, 21845, 0, 0, 0, 0}, {48, 4626, 5140, 0, 0, 0, 0}, {127, 512, 4352, 0, 0, 0, 0}, {128, 512, 17408, 0, 0, 0, 0}, {15, 48, 771, 1285, 4369, 0, 0}, {17544, 2570, 8738, 0, 0, 0, 0}, {259, 64, 1280, 4096, 0, 0, 0}, {1548, 9284, 17476, 0, 0, 0, 0}, {15, 4389, 517, 4437, 1285, 0, 0}, {1036, 1542, 64, 0, 0, 0, 0}, {15, 4471, 1280, 0, 0, 0, 0}, {17544, 2560, 26112, 0, 0, 0, 0}, {262, 64, 1285, 4112, 0, 0, 0}, {522, 8224, 17408, 0, 0, 0, 0}, {15, 48, 771, 4420, 1280, 0, 0}, {1036, 512, 64, 0, 0, 0, 0}, {15, 4386, 1285, 0, 0, 0, 0}, {192, 1542, 17476, 0, 0, 0, 0}, {15, 112, 512, 1280, 4352, 0, 0}, {48, 4608, 5200, 0, 0, 0, 0}, {605, 546, 4369, 0, 0, 0, 0}, {1032, 48, 530, 64, 4096, 0, 0}, {2655, 4403, 21760, 0, 0, 0, 0}, {600, 112, 5140, 0, 0, 0, 0}, {63, 5888, 4437, 0, 0, 0, 0}, {5180, 13926, 20480, 0, 0, 0, 0}, {4360, 4407, 535, 64, 5376, 0, 0}, {1032, 48, 1552, 64, 4112, 0, 0}, {2645, 4454, 21845, 0, 0, 0, 0}, {4698, 48, 5120, 0, 0, 0, 0}, {4411, 4883, 4420, 0, 0, 0, 0}, {5228, 8704, 20560, 0, 0, 0, 0}, {4381, 4386, 4864, 64, 5397, 0, 0}, {5172, 5654, 5188, 0, 0, 0, 0}, {1631, 1632, 4352, 0, 0, 0, 0}, {2720, 8704, 17408, 0, 0, 0, 0}, {15, 771, 1028, 273, 0, 0, 0}, {17416, 546, 0, 0, 0, 0, 0}, {4355, 1360, 0, 0, 0, 0, 0}, {552, 8224, 64, 1028, 0, 0, 0}, {15, 13056, 4437, 5120, 0, 0, 0}, {17420, 1638, 0, 0, 0, 0, 0}, {4359, 1360, 0, 0, 0, 0, 0}, {17416, 17952, 0, 0, 0, 0, 0}, {5123, 1365, 0, 0, 0, 0, 0}, {8874, 10240, 17408, 0, 0, 0, 0}, {48, 771, 276, 4112, 0, 0, 0}, {17420, 16992, 0, 0, 0, 0, 0}, {5127, 1365, 0, 0, 0, 0, 0}, {546, 64, 1028, 0, 0, 0, 0}, {15, 1360, 4352, 0, 0, 0, 0}, {48, 512, 64, 1024, 4096, 0, 0}, {255, 2570, 4369, 0, 0, 0, 0}, {5144, 48, 4626, 20560, 0, 0, 0}, {4428, 4403, 512, 21760, 0, 0, 0}, {13884, 5188, 0, 0, 0, 0, 0}, {4896, 4373, 0, 0, 0, 0, 0}, {5148, 112, 5654, 20560, 0, 0, 0}, {4424, 4471, 1536, 21760, 0, 0, 0}, {5192, 48, 1536, 20480, 0, 0, 0}, {4377, 4454, 4883, 21845, 0, 0, 0}, {522, 48, 64, 1024, 4112, 0, 0}, {2560, 13107, 4420, 0, 0, 0, 0}, {5196, 112, 512, 20480, 0, 0, 0}, {4381, 4386, 5911, 21845, 0, 0, 0}, {240, 8738, 5140, 0, 0, 0, 0}, {63, 512, 64, 1024, 4352, 0, 0}, {192, 1536, 17408, 0, 0, 0, 0}, {15, 112, 514, 1285, 4369, 0, 0}, {1032, 514, 64, 0, 0, 0, 0}, {15, 4403, 1280, 0, 0, 0, 0}, {520, 8192, 17476, 0, 0, 0, 0}, {15, 48, 768, 4437, 1285, 0, 0}, {17612, 2570, 26214, 0, 0, 0, 0}, {263, 64, 1280, 4096, 0, 0, 0}, {1032, 1536, 64, 0, 0, 0, 0}, {15, 4454, 1285, 0, 0, 0, 0}, {1546, 9312, 17408, 0, 0, 0, 0}, {15, 4404, 519, 4420, 1280, 0, 0}, {17612, 2560, 8704, 0, 0, 0, 0}, {258, 64, 1285, 4112, 0, 0, 0}, {128, 514, 17476, 0, 0, 0, 0}, {15, 48, 768, 1280, 4352, 0, 0}, {5152, 5632, 5200, 0, 0, 0, 0}, {1625, 1638, 4369, 0, 0, 0, 0}, {5240, 8738, 20480, 0, 0, 0, 0}, {4364, 4403, 4883, 64, 5376, 0, 0}, {4680, 48, 5140, 0, 0, 0, 0}, {4394, 4864, 4437, 0, 0, 0, 0}, {1036, 48, 1558, 64, 4096, 0, 0}, {2655, 4471, 21760, 0, 0, 0, 0}, {5160, 13904, 20560, 0, 0, 0, 0}, {4377, 4390, 533, 64, 5397, 0, 0}, {602, 112, 5120, 0, 0, 0, 0}, {63, 5911, 4420, 0, 0, 0, 0}, {1036, 48, 528, 64, 4112, 0, 0}, {2645, 4386, 21845, 0, 0, 0, 0}, {48, 4626, 5188, 0, 0, 0, 0}, {607, 544, 4352, 0, 0, 0, 0}, {544, 64, 1024, 0, 0, 0, 0}, {15, 1365, 4369, 0, 0, 0, 0}, {17480, 16930, 0, 0, 0, 0, 0}, {5139, 1360, 0, 0, 0, 0, 0}, {8840, 10280, 17476, 0, 0, 0, 0}, {48, 768, 277, 4096, 0, 0, 0}, {17484, 18022, 0, 0, 0, 0, 0}, {5143, 1360, 0, 0, 0, 0, 0}, {17480, 1632, 0, 0, 0, 0, 0}, {4374, 1365, 0, 0, 0, 0, 0}, {554, 8192, 64, 1024, 0, 0, 0}, {15, 13107, 4420, 5140, 0, 0, 0}, {17484, 544, 0, 0, 0, 0, 0}, {4370, 1365, 0, 0, 0, 0, 0}, {2730, 8738, 17476, 0, 0, 0, 0}, {15, 768, 1024, 272, 0, 0, 0}, {240, 8704, 5120, 0, 0, 0, 0}, {63, 514, 64, 1028, 4369, 0, 0}, {5208, 112, 514, 20560, 0, 0, 0}, {4364, 4403, 5888, 21760, 0, 0, 0}, {520, 48, 64, 1028, 4096, 0, 0}, {2570, 13056, 4437, 0, 0, 0, 0}, {5212, 48, 1542, 20560, 0, 0, 0}, {4360, 4471, 4864, 21760, 0, 0, 0}, {5128, 112, 5632, 20480, 0, 0, 0}, {4441, 4454, 1542, 21845, 0, 0, 0}, {13834, 5200, 0, 0, 0, 0, 0}, {4915, 4356, 0, 0, 0, 0, 0}, {5132, 48, 4608, 20480, 0, 0, 0}, {4445, 4386, 514, 21845, 0, 0, 0}, {48, 514, 64, 1028, 4112, 0, 0}, {255, 2560, 4352, 0, 0, 0, 0}, {3840, 12288, 16384, 0, 0, 0, 0}, {10, 34, 68, 257, 0, 0, 0}, {4098, 1280, 0, 0, 0, 0, 0}, {16396, 771, 0, 0, 0, 0, 0}, {780, 13056, 68, 1028, 0, 0, 0}, {10, 8192, 4176, 1285, 0, 0, 0}, {4102, 1280, 0, 0, 0, 0, 0}, {16392, 1799, 0, 0, 0, 0, 0}, {16392, 18176, 0, 0, 0, 0, 0}, {4182, 1285, 0, 0, 0, 0, 0}, {10, 1280, 4096, 0, 0, 0, 0}, {771, 68, 1028, 0, 0, 0, 0}, {16396, 17152, 0, 0, 0, 0, 0}, {4178, 1285, 0, 0, 0, 0, 0}, {34, 514, 260, 4352, 0, 0, 0}, {12528, 3855, 16384, 0, 0, 0, 0}, {160, 3920, 4112, 0, 0, 0, 0}, {34, 785, 68, 1024, 4369, 0, 0}, {5448, 34, 4626, 21760, 0, 0, 0}, {4172, 4128, 4883, 20480, 0, 0, 0}, {4864, 4116, 0, 0, 0, 0, 0}, {12394, 5397, 0, 0, 0, 0, 0}, {5452, 102, 5654, 21760, 0, 0, 0}, {4168, 4192, 5911, 20480, 0, 0, 0}, {4120, 4144, 1872, 20560, 0, 0, 0}, {5401, 102, 853, 21845, 0, 0, 0}, {6682, 12336, 5440, 0, 0, 0, 0}, {795, 819, 68, 1024, 4096, 0, 0}, {4124, 4208, 848, 20560, 0, 0, 0}, {5405, 34, 1877, 21845, 0, 0, 0}, {798, 34, 68, 1024, 4352, 0, 0}, {7967, 8224, 4160, 0, 0, 0, 0}, {3840, 4128, 20480, 0, 0, 0, 0}, {1036, 34, 771, 68, 4369, 0, 0}, {34, 4608, 5376, 0, 0, 0, 0}, {108, 771, 4112, 0, 0, 0, 0}, {4108, 4132, 4864, 68, 5120, 0, 0}, {5503, 9509, 21845, 0, 0, 0, 0}, {780, 5414, 5440, 0, 0, 0, 0}, {1807, 1831, 4176, 0, 0, 0, 0}, {40, 1792, 4096, 0, 0, 0, 0}, {102, 771, 5397, 0, 0, 0, 0}, {5418, 12288, 21760, 0, 0, 0, 0}, {4120, 4144, 771, 68, 5140, 0, 0}, {780, 4896, 4160, 0, 0, 0, 0}, {1807, 34, 5461, 0, 0, 0, 0}, {1036, 34, 1792, 68, 4352, 0, 0}, {3855, 4208, 20560, 0, 0, 0, 0}, {16576, 20272, 12336, 0, 0, 0, 0}, {275, 68, 1297, 4369, 0, 0, 0}, {10, 34, 514, 1360, 4112, 0, 0}, {3072, 819, 16384, 0, 0, 0, 0}, {1032, 1844, 68, 0, 0, 0, 0}, {10, 5429, 1365, 0, 0, 0, 0}, {10, 4150, 4864, 4176, 5376, 0, 0}, {1919, 14135, 16448, 0, 0, 0, 0}, {2056, 1904, 16448, 0, 0, 0, 0}, {10, 1331, 1536, 1365, 4096, 0, 0}, {10, 4144, 1360, 0, 0, 0, 0}, {1032, 819, 68, 0, 0, 0, 0}, {828, 13056, 16384, 0, 0, 0, 0}, {10, 34, 514, 4160, 5397, 0, 0}, {278, 68, 1300, 4352, 0, 0, 0}, {16576, 20287, 28672, 0, 0, 0, 0}, {12480, 3840, 16448, 0, 0, 0, 0}, {34, 512, 261, 4369, 0, 0, 0}, {4162, 1280, 0, 0, 0, 0, 0}, {16460, 17219, 0, 0, 0, 0, 0}, {768, 68, 1024, 0, 0, 0, 0}, {10, 1285, 4112, 0, 0, 0, 0}, {4166, 1280, 0, 0, 0, 0, 0}, {16456, 18247, 0, 0, 0, 0, 0}, {16456, 1792, 0, 0, 0, 0, 0}, {4118, 1285, 0, 0, 0, 0, 0}, {10, 8224, 4160, 1280, 0, 0, 0}, {783, 13107, 68, 1024, 0, 0, 0}, {16460, 768, 0, 0, 0, 0, 0}, {4114, 1285, 0, 0, 0, 0, 0}, {10, 34, 68, 256, 0, 0, 0}, {3855, 12336, 16448, 0, 0, 0, 0}, {7936, 8192, 4176, 0, 0, 0, 0}, {797, 34, 68, 1028, 4369, 0, 0}, {5384, 34, 1874, 21760, 0, 0, 0}, {4108, 4192, 851, 20480, 0, 0, 0}, {792, 816, 68, 1028, 4112, 0, 0}, {6656, 12288, 5461, 0, 0, 0, 0}, {5388, 102, 854, 21760, 0, 0, 0}, {4104, 4128, 1879, 20480, 0, 0, 0}, {4184, 4208, 5888, 20560, 0, 0, 0}, {5465, 102, 5632, 21845, 0, 0, 0}, {12378, 5376, 0, 0, 0, 0, 0}, {4883, 4100, 0, 0, 0, 0, 0}, {4188, 4144, 4864, 20560, 0, 0, 0}, {5469, 34, 4608, 21845, 0, 0, 0}, {34, 786, 68, 1028, 4352, 0, 0}, {160, 3935, 4096, 0, 0, 0, 0}, {3840, 4192, 20480, 0, 0, 0, 0}, {1032, 34, 1799, 68, 4369, 0, 0}, {1800, 34, 5440, 0, 0, 0, 0}, {783, 4915, 4176, 0, 0, 0, 0}, {4104, 4128, 768, 68, 5120, 0, 0}, {5439, 12336, 21845, 0, 0, 0, 0}, {102, 768, 5376, 0, 0, 0, 0}, {40, 1799, 4112, 0, 0, 0, 0}, {1800, 1824, 4160, 0, 0, 0, 0}, {783, 5427, 5461, 0, 0, 0, 0}, {5482, 9472, 21760, 0, 0, 0, 0}, {4124, 4148, 4883, 68, 5140, 0, 0}, {108, 768, 4096, 0, 0, 0, 0}, {34, 4626, 5397, 0, 0, 0, 0}, {1032, 34, 768, 68, 4352, 0, 0}, {3855, 4144, 20560, 0, 0, 0, 0}, {16512, 20336, 28784, 0, 0, 0, 0}, {279, 68, 1297, 4369, 0, 0, 0}, {10, 34, 512, 4176, 5376, 0, 0}, {831, 13107, 16448, 0, 0, 0, 0}, {1036, 816, 68, 0, 0, 0, 0}, {10, 4128, 1365, 0, 0, 0, 0}, {10, 1334, 1542, 1360, 4112, 0, 0}, {2048, 1911, 16384, 0, 0, 0, 0}, {1912, 14080, 16384, 0, 0, 0, 0}, {10, 4134, 4883, 4160, 5397, 0, 0}, {10, 5408, 1360, 0, 0, 0, 0}, {1036, 1843, 68, 0, 0, 0, 0}, {3084, 816, 16448, 0, 0, 0, 0}, {10, 34, 512, 1365, 4096, 0, 0}, {274, 68, 1300, 4352, 0, 0, 0}, {16512, 20351, 12288, 0, 0, 0, 0}, {16512, 3840, 12288, 0, 0, 0, 0}, {259, 68, 1285, 4369, 0, 0, 0}, {10, 34, 512, 1280, 4096, 0, 0}, {204, 771, 16448, 0, 0, 0, 0}, {1036, 1792, 68, 0, 0, 0, 0}, {10, 4208, 1285, 0, 0, 0, 0}, {10, 4134, 774, 4160, 1280, 0, 0}, {1807, 14199, 16384, 0, 0, 0, 0}, {136, 1792, 16384, 0, 0, 0, 0}, {10, 102, 771, 1285, 4112, 0, 0}, {10, 4128, 1280, 0, 0, 0, 0}, {1036, 771, 68, 0, 0, 0, 0}, {780, 13056, 16448, 0, 0, 0, 0}, {10, 34, 512, 4176, 1285, 0, 0}, {262, 68, 1280, 4352, 0, 0, 0}, {16512, 3855, 28784, 0, 0, 0, 0}, {3920, 4144, 20560, 0, 0, 0, 0}, {1032, 34, 785, 68, 4369, 0, 0}, {34, 4626, 5440, 0, 0, 0, 0}, {863, 819, 4096, 0, 0, 0, 0}, {4124, 4148, 788, 68, 5140, 0, 0}, {5439, 9557, 21845, 0, 0, 0, 0}, {858, 102, 5376, 0, 0, 0, 0}, {40, 5911, 4160, 0, 0, 0, 0}, {1880, 1904, 4112, 0, 0, 0, 0}, {5427, 5632, 5461, 0, 0, 0, 0}, {5482, 12336, 21760, 0, 0, 0, 0}, {4104, 4128, 4883, 68, 5120, 0, 0}, {4156, 4864, 4176, 0, 0, 0, 0}, {4680, 34, 5397, 0, 0, 0, 0}, {1032, 34, 1814, 68, 4352, 0, 0}, {3935, 4192, 20480, 0, 0, 0, 0}, {160, 3840, 4096, 0, 0, 0, 0}, {34, 771, 68, 1028, 4369, 0, 0}, {5384, 34, 4608, 21760, 0, 0, 0}, {4188, 4144, 771, 20560, 0, 0, 0}, {4896, 4100, 0, 0, 0, 0, 0}, {9487, 5461, 0, 0, 0, 0, 0}, {5388, 102, 5632, 21760, 0, 0, 0}, {4184, 4208, 1799, 20560, 0, 0, 0}, {4104, 4128, 5888, 20480, 0, 0, 0}, {5465, 102, 771, 21845, 0, 0, 0}, {170, 12288, 5376, 0, 0, 0, 0}, {40, 771, 68, 1028, 4112, 0, 0}, {4108, 4192, 4864, 20480, 0, 0, 0}, {5469, 34, 1799, 21845, 0, 0, 0}, {780, 34, 68, 1028, 4352, 0, 0}, {3855, 8192, 4176, 0, 0, 0, 0}, {4080, 12336, 16448, 0, 0, 0, 0}, {10, 512, 1024, 273, 0, 0, 0}, {4114, 1360, 0, 0, 0, 0, 0}, {16460, 819, 0, 0, 0, 0, 0}, {828, 13056, 68, 1024, 0, 0, 0}, {10, 8224, 4160, 5397, 0, 0, 0}, {4118, 1360, 0, 0, 0, 0, 0}, {16456, 1911, 0, 0, 0, 0, 0}, {16456, 18224, 0, 0, 0, 0, 0}, {5395, 1365, 0, 0, 0, 0, 0}, {10, 1360, 4112, 0, 0, 0, 0}, {819, 68, 1024, 0, 0, 0, 0}, {16460, 17264, 0, 0, 0, 0, 0}, {5399, 1365, 0, 0, 0, 0, 0}, {34, 512, 276, 4352, 0, 0, 0}, {12480, 16191, 16448, 0, 0, 0, 0}, {16576, 3840, 28672, 0, 0, 0, 0}, {263, 68, 1285, 4369, 0, 0, 0}, {10, 34, 514, 4160, 1280, 0, 0}, {783, 13107, 16384, 0, 0, 0, 0}, {1032, 768, 68, 0, 0, 0, 0}, {10, 4144, 1285, 0, 0, 0, 0}, {10, 102, 768, 1280, 4096, 0, 0}, {136, 1799, 16448, 0, 0, 0, 0}, {1800, 14144, 16448, 0, 0, 0, 0}, {10, 4150, 773, 4176, 1285, 0, 0}, {10, 4192, 1280, 0, 0, 0, 0}, {1032, 1799, 68, 0, 0, 0, 0}, {204, 768, 16384, 0, 0, 0, 0}, {10, 34, 514, 1285, 4112, 0, 0}, {258, 68, 1280, 4352, 0, 0, 0}, {16576, 3855, 12336, 0, 0, 0, 0}, {3920, 4208, 20560, 0, 0, 0, 0}, {1036, 34, 1809, 68, 4369, 0, 0}, {4698, 34, 5376, 0, 0, 0, 0}, {4140, 4883, 4160, 0, 0, 0, 0}, {4120, 4144, 4864, 68, 5140, 0, 0}, {5503, 12288, 21845, 0, 0, 0, 0}, {5414, 5654, 5440, 0, 0, 0, 0}, {1887, 1911, 4096, 0, 0, 0, 0}, {40, 5888, 4176, 0, 0, 0, 0}, {857, 102, 5397, 0, 0, 0, 0}, {5418, 9584, 21760, 0, 0, 0, 0}, {4108, 4132, 791, 68, 5120, 0, 0}, {860, 816, 4112, 0, 0, 0, 0}, {34, 4608, 5461, 0, 0, 0, 0}, {1036, 34, 786, 68, 4352, 0, 0}, {3935, 4128, 20480, 0, 0, 0, 0}, {3840, 8224, 4160, 0, 0, 0, 0}, {783, 34, 68, 1024, 4369, 0, 0}, {5448, 34, 1792, 21760, 0, 0, 0}, {4124, 4208, 4883, 20560, 0, 0, 0}, {40, 768, 68, 1024, 4096, 0, 0}, {170, 12336, 5397, 0, 0, 0, 0}, {5452, 102, 768, 21760, 0, 0, 0}, {4120, 4144, 5911, 20560, 0, 0, 0}, {4168, 4192, 1792, 20480, 0, 0, 0}, {5401, 102, 5654, 21845, 0, 0, 0}, {9514, 5440, 0, 0, 0, 0, 0}, {4915, 4116, 0, 0, 0, 0, 0}, {4172, 4128, 768, 20480, 0, 0, 0}, {5405, 34, 4626, 21845, 0, 0, 0}, {34, 768, 68, 1024, 4352, 0, 0}, {160, 3855, 4112, 0, 0, 0, 0}, {12528, 16128, 16384, 0, 0, 0, 0}, {34, 514, 277, 4369, 0, 0, 0}, {5378, 1360, 0, 0, 0, 0, 0}, {16396, 17203, 0, 0, 0, 0, 0}, {816, 68, 1028, 0, 0, 0, 0}, {10, 1365, 4096, 0, 0, 0, 0}, {5382, 1360, 0, 0, 0, 0, 0}, {16392, 18295, 0, 0, 0, 0, 0}, {16392, 1904, 0, 0, 0, 0, 0}, {4102, 1365, 0, 0, 0, 0, 0}, {10, 8192, 4176, 5376, 0, 0, 0}, {831, 13107, 68, 1028, 0, 0, 0}, {16396, 816, 0, 0, 0, 0, 0}, {4098, 1365, 0, 0, 0, 0, 0}, {10, 514, 1028, 272, 0, 0, 0}, {4095, 12288, 16384, 0, 0, 0, 0}, {20480, 0, 0, 0, 0, 0, 0}, {4, 17, 257, 0, 0, 0, 0}, {20482, 0, 0, 0, 0, 0, 0}, {20483, 0, 0, 0, 0, 0, 0}, {4, 4096, 0, 0, 0, 0, 0}, {85, 1285, 0, 0, 0, 0, 0}, {20486, 0, 0, 0, 0, 0, 0}, {20487, 0, 0, 0, 0, 0, 0}, {8, 8192, 20480, 0, 0, 0, 0}, {12, 51, 771, 85, 1285, 0, 0}, {20490, 0, 0, 0, 0, 0, 0}, {4099, 4, 0, 0, 0, 0, 0}, {12, 12288, 20480, 0, 0, 0, 0}, {8, 34, 514, 85, 1285, 0, 0}, {4098, 4, 0, 0, 0, 0, 0}, {20495, 0, 0, 0, 0, 0, 0}, {64, 4112, 0, 0, 0, 0, 0}, {1280, 17, 0, 0, 0, 0, 0}, {20498, 0, 0, 0, 0, 0, 0}, {20499, 0, 0, 0, 0, 0, 0}, {68, 5140, 0, 0, 0, 0, 0}, {21, 4096, 0, 0, 0, 0, 0}, {20502, 0, 0, 0, 0, 0, 0}, {20503, 0, 0, 0, 0, 0, 0}, {72, 12336, 20560, 0, 0, 0, 0}, {25, 51, 4864, 85, 1280, 0, 0}, {4122, 4144, 64, 0, 0, 0, 0}, {5147, 51, 68, 0, 0, 0, 0}, {76, 8224, 20560, 0, 0, 0, 0}, {29, 34, 4608, 85, 1280, 0, 0}, {5150, 34, 68, 0, 0, 0, 0}, {4127, 4128, 64, 0, 0, 0, 0}, {20512, 0, 0, 0, 0, 0, 0}, {1283, 17, 0, 0, 0, 0, 0}, {2560, 34, 20480, 0, 0, 0, 0}, {12, 51, 771, 64, 4112, 0, 0}, {12, 5156, 68, 0, 0, 0, 0}, {1295, 1317, 85, 0, 0, 0, 0}, {12, 38, 1536, 64, 4096, 0, 0}, {3855, 119, 20560, 0, 0, 0, 0}, {20520, 0, 0, 0, 0, 0, 0}, {4099, 21, 0, 0, 0, 0, 0}, {42, 8192, 20480, 0, 0, 0, 0}, {12, 51, 771, 68, 5140, 0, 0}, {12, 4128, 64, 0, 0, 0, 0}, {1295, 34, 85, 0, 0, 0, 0}, {12, 34, 4608, 68, 5120, 0, 0}, {127, 8224, 20560, 0, 0, 0, 0}, {20528, 0, 0, 0, 0, 0, 0}, {1282, 17, 0, 0, 0, 0, 0}, {8, 34, 514, 64, 4112, 0, 0}, {3840, 51, 20480, 0, 0, 0, 0}, {8, 5172, 68, 0, 0, 0, 0}, {1290, 1333, 85, 0, 0, 0, 0}, {2570, 102, 20560, 0, 0, 0, 0}, {8, 55, 1792, 64, 4096, 0, 0}, {8, 4144, 64, 0, 0, 0, 0}, {1290, 51, 85, 0, 0, 0, 0}, {106, 12336, 20560, 0, 0, 0, 0}, {8, 51, 4864, 68, 5120, 0, 0}, {20540, 0, 0, 0, 0, 0, 0}, {4098, 21, 0, 0, 0, 0, 0}, {8, 34, 514, 68, 5140, 0, 0}, {63, 12288, 20480, 0, 0, 0, 0}, {64, 4096, 0, 0, 0, 0, 0}, {1285, 17, 0, 0, 0, 0, 0}, {20546, 0, 0, 0, 0, 0, 0}, {20547, 0, 0, 0, 0, 0, 0}, {68, 5120, 0, 0, 0, 0, 0}, {21, 4112, 0, 0, 0, 0, 0}, {20550, 0, 0, 0, 0, 0, 0}, {20551, 0, 0, 0, 0, 0, 0}, {72, 12288, 20480, 0, 0, 0, 0}, {25, 51, 4883, 85, 1285, 0, 0}, {4106, 4128, 64, 0, 0, 0, 0}, {5135, 51, 68, 0, 0, 0, 0}, {76, 8192, 20480, 0, 0, 0, 0}, {29, 34, 4626, 85, 1285, 0, 0}, {5130, 34, 68, 0, 0, 0, 0}, {4111, 4144, 64, 0, 0, 0, 0}, {20560, 0, 0, 0, 0, 0, 0}, {4, 17, 256, 0, 0, 0, 0}, {20562, 0, 0, 0, 0, 0, 0}, {20563, 0, 0, 0, 0, 0, 0}, {4, 4112, 0, 0, 0, 0, 0}, {85, 1280, 0, 0, 0, 0, 0}, {20566, 0, 0, 0, 0, 0, 0}, {20567, 0, 0, 0, 0, 0, 0}, {8, 8224, 20560, 0, 0, 0, 0}, {12, 51, 768, 85, 1280, 0, 0}, {20570, 0, 0, 0, 0, 0, 0}, {4115, 4, 0, 0, 0, 0, 0}, {12, 12336, 20560, 0, 0, 0, 0}, {8, 34, 512, 85, 1280, 0, 0}, {4114, 4, 0, 0, 0, 0, 0}, {20575, 0, 0, 0, 0, 0, 0}, {20576, 0, 0, 0, 0, 0, 0}, {1287, 17, 0, 0, 0, 0, 0}, {8, 34, 512, 64, 4096, 0, 0}, {3855, 51, 20560, 0, 0, 0, 0}, {8, 5152, 68, 0, 0, 0, 0}, {1295, 1328, 85, 0, 0, 0, 0}, {2560, 102, 20480, 0, 0, 0, 0}, {8, 55, 1799, 64, 4112, 0, 0}, {8, 4128, 64, 0, 0, 0, 0}, {1295, 51, 85, 0, 0, 0, 0}, {106, 12288, 20480, 0, 0, 0, 0}, {8, 51, 4883, 68, 5140, 0, 0}, {20588, 0, 0, 0, 0, 0, 0}, {4114, 21, 0, 0, 0, 0, 0}, {8, 34, 512, 68, 5120, 0, 0}, {63, 12336, 20560, 0, 0, 0, 0}, {20592, 0, 0, 0, 0, 0, 0}, {1286, 17, 0, 0, 0, 0, 0}, {2570, 34, 20560, 0, 0, 0, 0}, {12, 51, 768, 64, 4096, 0, 0}, {12, 5168, 68, 0, 0, 0, 0}, {1290, 1312, 85, 0, 0, 0, 0}, {12, 38, 1542, 64, 4112, 0, 0}, {3840, 119, 20480, 0, 0, 0, 0}, {20600, 0, 0, 0, 0, 0, 0}, {4115, 21, 0, 0, 0, 0, 0}, {42, 8224, 20560, 0, 0, 0, 0}, {12, 51, 768, 68, 5120, 0, 0}, {12, 4144, 64, 0, 0, 0, 0}, {1290, 34, 85, 0, 0, 0, 0}, {12, 34, 4626, 68, 5140, 0, 0}, {127, 8192, 20480, 0, 0, 0, 0}, {128, 8192, 20480, 0, 0, 0, 0}, {12, 771, 1285, 17, 0, 0, 0}, {20490, 34, 0, 0, 0, 0, 0}, {4099, 64, 0, 0, 0, 0, 0}, {12, 12288, 68, 5120, 0, 0, 0}, {42, 8224, 85, 1285, 0, 0, 0}, {4102, 64, 0, 0, 0, 0, 0}, {20495, 119, 0, 0, 0, 0, 0}, {136, 10240, 20480, 0, 0, 0, 0}, {51, 771, 21, 4112, 0, 0, 0}, {20490, 20512, 0, 0, 0, 0, 0}, {5123, 68, 0, 0, 0, 0, 0}, {12, 64, 4096, 0, 0, 0, 0}, {34, 85, 1285, 0, 0, 0, 0}, {5126, 68, 0, 0, 0, 0, 0}, {20495, 20592, 0, 0, 0, 0, 0}, {192, 12336, 20560, 0, 0, 0, 0}, {8, 512, 1280, 17, 0, 0, 0}, {4114, 64, 0, 0, 0, 0, 0}, {20575, 51, 0, 0, 0, 0, 0}, {8, 8224, 68, 5140, 0, 0, 0}, {63, 12288, 85, 1280, 0, 0, 0}, {20570, 102, 0, 0, 0, 0, 0}, {4119, 64, 0, 0, 0, 0, 0}, {8, 64, 4112, 0, 0, 0, 0}, {51, 85, 1280, 0, 0, 0, 0}, {20570, 20528, 0, 0, 0, 0, 0}, {5139, 68, 0, 0, 0, 0, 0}, {204, 15420, 20560, 0, 0, 0, 0}, {34, 512, 21, 4096, 0, 0, 0}, {5142, 68, 0, 0, 0, 0, 0}, {20575, 20576, 0, 0, 0, 0, 0}, {20640, 0, 0, 0, 0, 0, 0}, {259, 4, 17, 0, 0, 0, 0}, {8, 34, 512, 20480, 0, 0, 0}, {12, 51, 771, 20560, 0, 0, 0}, {4128, 4, 0, 0, 0, 0, 0}, {1295, 85, 0, 0, 0, 0, 0}, {12, 102, 1536, 20480, 0, 0, 0}, {8, 119, 1799, 20560, 0, 0, 0}, {8, 20512, 0, 0, 0, 0, 0}, {1283, 85, 0, 0, 0, 0, 0}, {170, 2560, 20480, 0, 0, 0, 0}, {51, 771, 4, 4112, 0, 0, 0}, {12, 20576, 0, 0, 0, 0, 0}, {1287, 85, 0, 0, 0, 0, 0}, {34, 512, 4, 4096, 0, 0, 0}, {255, 3855, 20560, 0, 0, 0, 0}, {4144, 64, 0, 0, 0, 0, 0}, {1290, 17, 0, 0, 0, 0, 0}, {72, 34, 4626, 20560, 0, 0, 0}, {76, 51, 4864, 20480, 0, 0, 0}, {5180, 68, 0, 0, 0, 0, 0}, {4128, 21, 0, 0, 0, 0, 0}, {76, 102, 5654, 20560, 0, 0, 0}, {72, 119, 5888, 20480, 0, 0, 0}, {72, 20528, 0, 0, 0, 0, 0}, {1299, 85, 0, 0, 0, 0, 0}, {42, 64, 4112, 0, 0, 0, 0}, {51, 68, 5120, 0, 0, 0, 0}, {76, 20592, 0, 0, 0, 0, 0}, {1303, 85, 0, 0, 0, 0, 0}, {34, 68, 5140, 0, 0, 0, 0}, {63, 64, 4096, 0, 0, 0, 0}, {192, 12288, 20480, 0, 0, 0, 0}, {8, 514, 1285, 17, 0, 0, 0}, {4098, 64, 0, 0, 0, 0, 0}, {20495, 51, 0, 0, 0, 0, 0}, {8, 8192, 68, 5120, 0, 0, 0}, {63, 12336, 85, 1285, 0, 0, 0}, {20490, 102, 0, 0, 0, 0, 0}, {4103, 64, 0, 0, 0, 0, 0}, {8, 64, 4096, 0, 0, 0, 0}, {51, 85, 1285, 0, 0, 0, 0}, {20490, 20576, 0, 0, 0, 0, 0}, {5127, 68, 0, 0, 0, 0, 0}, {204, 15360, 20480, 0, 0, 0, 0}, {34, 514, 21, 4112, 0, 0, 0}, {5122, 68, 0, 0, 0, 0, 0}, {20495, 20528, 0, 0, 0, 0, 0}, {128, 8224, 20560, 0, 0, 0, 0}, {12, 768, 1280, 17, 0, 0, 0}, {20570, 34, 0, 0, 0, 0, 0}, {4115, 64, 0, 0, 0, 0, 0}, {12, 12336, 68, 5140, 0, 0, 0}, {42, 8192, 85, 1280, 0, 0, 0}, {4118, 64, 0, 0, 0, 0, 0}, {20575, 119, 0, 0, 0, 0, 0}, {136, 10280, 20560, 0, 0, 0, 0}, {51, 768, 21, 4096, 0, 0, 0}, {20570, 20592, 0, 0, 0, 0, 0}, {5143, 68, 0, 0, 0, 0, 0}, {12, 64, 4112, 0, 0, 0, 0}, {34, 85, 1280, 0, 0, 0, 0}, {5138, 68, 0, 0, 0, 0, 0}, {20575, 20512, 0, 0, 0, 0, 0}, {4128, 64, 0, 0, 0, 0, 0}, {1295, 17, 0, 0, 0, 0, 0}, {72, 34, 4608, 20480, 0, 0, 0}, {76, 51, 4883, 20560, 0, 0, 0}, {5160, 68, 0, 0, 0, 0, 0}, {4144, 21, 0, 0, 0, 0, 0}, {76, 102, 5632, 20480, 0, 0, 0}, {72, 119, 5911, 20560, 0, 0, 0}, {72, 20576, 0, 0, 0, 0, 0}, {1302, 85, 0, 0, 0, 0, 0}, {42, 64, 4096, 0, 0, 0, 0}, {51, 68, 5140, 0, 0, 0, 0}, {76, 20512, 0, 0, 0, 0, 0}, {1298, 85, 0, 0, 0, 0, 0}, {34, 68, 5120, 0, 0, 0, 0}, {63, 64, 4112, 0, 0, 0, 0}, {20720, 0, 0, 0, 0, 0, 0}, {258, 4, 17, 0, 0, 0, 0}, {8, 34, 514, 20560, 0, 0, 0}, {12, 51, 768, 20480, 0, 0, 0}, {4144, 4, 0, 0, 0, 0, 0}, {1290, 85, 0, 0, 0, 0, 0}, {12, 102, 1542, 20560, 0, 0, 0}, {8, 119, 1792, 20480, 0, 0, 0}, {8, 20592, 0, 0, 0, 0, 0}, {1286, 85, 0, 0, 0, 0, 0}, {170, 2570, 20560, 0, 0, 0, 0}, {51, 768, 4, 4096, 0, 0, 0}, {12, 20528, 0, 0, 0, 0, 0}, {1282, 85, 0, 0, 0, 0, 0}, {34, 514, 4, 4112, 0, 0, 0}, {255, 3840, 20480, 0, 0, 0, 0}, {1024, 4352, 0, 0, 0, 0, 0}, {80, 257, 0, 0, 0, 0, 0}, {20738, 0, 0, 0, 0, 0, 0}, {20739, 0, 0, 0, 0, 0, 0}, {4420, 1028, 0, 0, 0, 0, 0}, {261, 4096, 0, 0, 0, 0, 0}, {20742, 0, 0, 0, 0, 0, 0}, {20743, 0, 0, 0, 0, 0, 0}, {1032, 13056, 21760, 0, 0, 0, 0}, {265, 4144, 771, 80, 1285, 0, 0}, {4362, 4864, 1024, 0, 0, 0, 0}, {4427, 771, 1028, 0, 0, 0, 0}, {1036, 8704, 21760, 0, 0, 0, 0}, {269, 4128, 514, 80, 1285, 0, 0}, {4430, 514, 1028, 0, 0, 0, 0}, {4367, 4608, 1024, 0, 0, 0, 0}, {1280, 272, 0, 0, 0, 0, 0}, {1092, 4369, 0, 0, 0, 0, 0}, {20754, 0, 0, 0, 0, 0, 0}, {20755, 0, 0, 0, 0, 0, 0}, {276, 4096, 0, 0, 0, 0, 0}, {4437, 5397, 0, 0, 0, 0, 0}, {20758, 0, 0, 0, 0, 0, 0}, {20759, 0, 0, 0, 0, 0, 0}, {280, 4144, 4864, 80, 1280, 0, 0}, {1100, 13107, 21845, 0, 0, 0, 0}, {5402, 816, 1088, 0, 0, 0, 0}, {4379, 4915, 1092, 0, 0, 0, 0}, {284, 4128, 4608, 80, 1280, 0, 0}, {1096, 8738, 21845, 0, 0, 0, 0}, {4382, 4642, 1092, 0, 0, 0, 0}, {5407, 544, 1088, 0, 0, 0, 0}, {1056, 1536, 4352, 0, 0, 0, 0}, {1140, 771, 4369, 0, 0, 0, 0}, {3072, 4386, 16384, 0, 0, 0, 0}, {1295, 291, 771, 80, 4112, 0, 0}, {1548, 1060, 4420, 0, 0, 0, 0}, {783, 5413, 4437, 0, 0, 0, 0}, {3084, 4454, 16448, 0, 0, 0, 0}, {1295, 295, 1536, 80, 4096, 0, 0}, {4392, 4864, 5376, 0, 0, 0, 0}, {4457, 771, 5397, 0, 0, 0, 0}, {5418, 13056, 17408, 0, 0, 0, 0}, {4379, 4144, 771, 80, 5140, 0, 0}, {1548, 544, 5440, 0, 0, 0, 0}, {783, 4642, 5461, 0, 0, 0, 0}, {5482, 8738, 17476, 0, 0, 0, 0}, {4367, 4128, 4608, 80, 5120, 0, 0}, {1072, 1792, 4352, 0, 0, 0, 0}, {1124, 514, 4369, 0, 0, 0, 0}, {1290, 306, 514, 80, 4112, 0, 0}, {2048, 4403, 16384, 0, 0, 0, 0}, {1800, 1076, 4420, 0, 0, 0, 0}, {522, 5429, 4437, 0, 0, 0, 0}, {1290, 310, 1792, 80, 4096, 0, 0}, {2056, 4471, 16448, 0, 0, 0, 0}, {1800, 816, 5440, 0, 0, 0, 0}, {522, 4915, 5461, 0, 0, 0, 0}, {4362, 4144, 4864, 80, 5120, 0, 0}, {5503, 13107, 17476, 0, 0, 0, 0}, {4412, 4608, 5376, 0, 0, 0, 0}, {4477, 514, 5397, 0, 0, 0, 0}, {4382, 4128, 514, 80, 5140, 0, 0}, {5439, 8704, 17408, 0, 0, 0, 0}, {1088, 4352, 0, 0, 0, 0, 0}, {1285, 273, 0, 0, 0, 0, 0}, {20802, 0, 0, 0, 0, 0, 0}, {20803, 0, 0, 0, 0, 0, 0}, {4420, 5376, 0, 0, 0, 0, 0}, {277, 4112, 0, 0, 0, 0, 0}, {20806, 0, 0, 0, 0, 0, 0}, {20807, 0, 0, 0, 0, 0, 0}, {1096, 13056, 21760, 0, 0, 0, 0}, {281, 4128, 4883, 80, 1285, 0, 0}, {4362, 4896, 1088, 0, 0, 0, 0}, {5391, 819, 1092, 0, 0, 0, 0}, {1100, 8704, 21760, 0, 0, 0, 0}, {285, 4144, 4626, 80, 1285, 0, 0}, {5386, 546, 1092, 0, 0, 0, 0}, {4367, 4656, 1088, 0, 0, 0, 0}, {80, 256, 0, 0, 0, 0, 0}, {1028, 4369, 0, 0, 0, 0, 0}, {20818, 0, 0, 0, 0, 0, 0}, {20819, 0, 0, 0, 0, 0, 0}, {260, 4112, 0, 0, 0, 0, 0}, {4437, 1024, 0, 0, 0, 0, 0}, {20822, 0, 0, 0, 0, 0, 0}, {20823, 0, 0, 0, 0, 0, 0}, {264, 4128, 768, 80, 1280, 0, 0}, {1036, 13107, 21845, 0, 0, 0, 0}, {4442, 768, 1024, 0, 0, 0, 0}, {4379, 4883, 1028, 0, 0, 0, 0}, {268, 4144, 512, 80, 1280, 0, 0}, {1032, 8738, 21845, 0, 0, 0, 0}, {4382, 4626, 1028, 0, 0, 0, 0}, {4447, 512, 1024, 0, 0, 0, 0}, {1120, 512, 4352, 0, 0, 0, 0}, {1076, 1799, 4369, 0, 0, 0, 0}, {2056, 4386, 16448, 0, 0, 0, 0}, {1295, 307, 512, 80, 4096, 0, 0}, {520, 5408, 4420, 0, 0, 0, 0}, {1807, 1072, 4437, 0, 0, 0, 0}, {2048, 4454, 16384, 0, 0, 0, 0}, {1295, 311, 1799, 80, 4112, 0, 0}, {520, 4896, 5440, 0, 0, 0, 0}, {1807, 819, 5461, 0, 0, 0, 0}, {5482, 13056, 17408, 0, 0, 0, 0}, {4379, 4128, 4883, 80, 5140, 0, 0}, {4460, 512, 5376, 0, 0, 0, 0}, {4397, 4626, 5397, 0, 0, 0, 0}, {5418, 8738, 17476, 0, 0, 0, 0}, {4367, 4144, 512, 80, 5120, 0, 0}, {1136, 768, 4352, 0, 0, 0, 0}, {1060, 1542, 4369, 0, 0, 0, 0}, {1290, 290, 768, 80, 4096, 0, 0}, {3084, 4403, 16448, 0, 0, 0, 0}, {780, 5424, 4420, 0, 0, 0, 0}, {1546, 1056, 4437, 0, 0, 0, 0}, {1290, 294, 1542, 80, 4112, 0, 0}, {3072, 4471, 16384, 0, 0, 0, 0}, {4472, 768, 5376, 0, 0, 0, 0}, {4409, 4883, 5397, 0, 0, 0, 0}, {4362, 4128, 768, 80, 5120, 0, 0}, {5439, 13107, 17476, 0, 0, 0, 0}, {780, 4656, 5440, 0, 0, 0, 0}, {1546, 546, 5461, 0, 0, 0, 0}, {4382, 4144, 4626, 80, 5140, 0, 0}, {5503, 8704, 17408, 0, 0, 0, 0}, {1152, 3072, 4352, 0, 0, 0, 0}, {289, 771, 80, 1285, 4369, 0, 0}, {5386, 4386, 4864, 16384, 0, 0, 0}, {5455, 4403, 771, 16448, 0, 0, 0}, {9740, 4420, 0, 0, 0, 0, 0}, {4128, 4357, 0, 0, 0, 0, 0}, {5450, 4454, 1542, 16448, 0, 0, 0}, {5391, 4471, 5632, 16384, 0, 0, 0}, {4488, 13056, 5376, 0, 0, 0, 0}, {297, 771, 80, 1285, 4112, 0, 0}, {4362, 1056, 5888, 17408, 0, 0, 0}, {4427, 1140, 771, 17476, 0, 0, 0}, {3084, 8704, 5440, 0, 0, 0, 0}, {783, 546, 80, 1285, 4096, 0, 0}, {4430, 1060, 1542, 17476, 0, 0, 0}, {4367, 1136, 4608, 17408, 0, 0, 0}, {304, 512, 80, 1280, 4352, 0, 0}, {1220, 2056, 4369, 0, 0, 0, 0}, {5402, 4386, 4626, 16448, 0, 0, 0}, {5471, 4403, 512, 16384, 0, 0, 0}, {4128, 4372, 0, 0, 0, 0, 0}, {14143, 4437, 0, 0, 0, 0, 0}, {5466, 4454, 1792, 16384, 0, 0, 0}, {5407, 4471, 5911, 16448, 0, 0, 0}, {520, 816, 80, 1280, 4112, 0, 0}, {2048, 13107, 5461, 0, 0, 0, 0}, {4442, 1072, 1792, 17408, 0, 0, 0}, {4379, 1124, 4883, 17476, 0, 0, 0}, {316, 512, 80, 1280, 4096, 0, 0}, {4573, 8738, 5397, 0, 0, 0, 0}, {4382, 1076, 5654, 17476, 0, 0, 0}, {4447, 1120, 512, 17408, 0, 0, 0}, {160, 512, 1024, 4352, 0, 0, 0}, {240, 771, 1028, 4369, 0, 0, 0}, {1032, 4386, 0, 0, 0, 0, 0}, {259, 80, 0, 0, 0, 0, 0}, {520, 8224, 4420, 1028, 0, 0, 0}, {783, 12288, 4437, 1024, 0, 0, 0}, {1036, 4454, 0, 0, 0, 0, 0}, {263, 80, 0, 0, 0, 0, 0}, {1032, 5408, 1536, 21760, 0, 0, 0}, {1036, 5477, 771, 21845, 0, 0, 0}, {4522, 13056, 1024, 0, 0, 0, 0}, {267, 771, 80, 1028, 4112, 0, 0}, {1036, 5472, 512, 21760, 0, 0, 0}, {1032, 5413, 1799, 21845, 0, 0, 0}, {4590, 8738, 1028, 0, 0, 0, 0}, {271, 512, 80, 1024, 4096, 0, 0}, {3840, 816, 1088, 4352, 0, 0, 0}, {2570, 546, 1092, 4369, 0, 0, 0}, {274, 80, 0, 0, 0, 0, 0}, {1100, 4403, 0, 0, 0, 0, 0}, {828, 12288, 4420, 5376, 0, 0, 0}, {554, 8224, 4437, 5397, 0, 0, 0}, {278, 80, 0, 0, 0, 0, 0}, {1096, 4471, 0, 0, 0, 0, 0}, {1096, 5424, 5632, 21760, 0, 0, 0}, {1100, 5493, 4883, 21845, 0, 0, 0}, {282, 816, 80, 1040, 4112, 0, 0}, {6451, 13107, 1092, 0, 0, 0, 0}, {1100, 5488, 4608, 21760, 0, 0, 0}, {1096, 5429, 5911, 21845, 0, 0, 0}, {286, 546, 80, 1044, 4096, 0, 0}, {7487, 8704, 1088, 0, 0, 0, 0}, {1216, 2048, 4352, 0, 0, 0, 0}, {305, 514, 80, 1285, 4369, 0, 0}, {5450, 4386, 514, 16448, 0, 0, 0}, {5391, 4403, 4608, 16384, 0, 0, 0}, {14088, 4420, 0, 0, 0, 0, 0}, {4144, 4357, 0, 0, 0, 0, 0}, {5386, 4454, 5888, 16384, 0, 0, 0}, {5455, 4471, 1799, 16448, 0, 0, 0}, {2056, 13056, 5440, 0, 0, 0, 0}, {522, 819, 80, 1285, 4096, 0, 0}, {4362, 1120, 4864, 17408, 0, 0, 0}, {4427, 1076, 1799, 17476, 0, 0, 0}, {4556, 8704, 5376, 0, 0, 0, 0}, {317, 514, 80, 1285, 4112, 0, 0}, {4430, 1124, 514, 17476, 0, 0, 0}, {4367, 1072, 5632, 17408, 0, 0, 0}, {288, 768, 80, 1280, 4352, 0, 0}, {1156, 3084, 4369, 0, 0, 0, 0}, {5466, 4386, 768, 16384, 0, 0, 0}, {5407, 4403, 4883, 16448, 0, 0, 0}, {4144, 4372, 0, 0, 0, 0, 0}, {9770, 4437, 0, 0, 0, 0, 0}, {5402, 4454, 5654, 16448, 0, 0, 0}, {5471, 4471, 1536, 16384, 0, 0, 0}, {296, 768, 80, 1280, 4096, 0, 0}, {4505, 13107, 5397, 0, 0, 0, 0}, {4442, 1136, 768, 17408, 0, 0, 0}, {4379, 1060, 5911, 17476, 0, 0, 0}, {780, 544, 80, 1280, 4112, 0, 0}, {3072, 8738, 5461, 0, 0, 0, 0}, {4382, 1140, 4626, 17476, 0, 0, 0}, {4447, 1056, 1536, 17408, 0, 0, 0}, {2560, 544, 1088, 4352, 0, 0, 0}, {3855, 819, 1092, 4369, 0, 0, 0}, {1096, 4386, 0, 0, 0, 0, 0}, {275, 80, 0, 0, 0, 0, 0}, {552, 8192, 4420, 5376, 0, 0, 0}, {831, 12336, 4437, 5397, 0, 0, 0}, {1100, 4454, 0, 0, 0, 0, 0}, {279, 80, 0, 0, 0, 0, 0}, {1096, 5472, 4864, 21760, 0, 0, 0}, {1100, 5413, 5654, 21845, 0, 0, 0}, {6442, 13056, 1088, 0, 0, 0, 0}, {283, 819, 80, 1044, 4096, 0, 0}, {1100, 5408, 5888, 21760, 0, 0, 0}, {1096, 5477, 4626, 21845, 0, 0, 0}, {7458, 8738, 1092, 0, 0, 0, 0}, {287, 544, 80, 1040, 4112, 0, 0}, {240, 768, 1024, 4352, 0, 0, 0}, {160, 514, 1028, 4369, 0, 0, 0}, {258, 80, 0, 0, 0, 0, 0}, {1036, 4403, 0, 0, 0, 0, 0}, {780, 12336, 4420, 1028, 0, 0, 0}, {522, 8192, 4437, 1024, 0, 0, 0}, {262, 80, 0, 0, 0, 0, 0}, {1032, 4471, 0, 0, 0, 0, 0}, {1032, 5488, 768, 21760, 0, 0, 0}, {1036, 5429, 1542, 21845, 0, 0, 0}, {266, 768, 80, 1024, 4096, 0, 0}, {4539, 13107, 1028, 0, 0, 0, 0}, {1036, 5424, 1792, 21760, 0, 0, 0}, {1032, 5493, 514, 21845, 0, 0, 0}, {270, 514, 80, 1028, 4112, 0, 0}, {4607, 8704, 1024, 0, 0, 0, 0}, {20992, 0, 0, 0, 0, 0, 0}, {83, 257, 0, 0, 0, 0, 0}, {160, 514, 20480, 0, 0, 0, 0}, {12, 51, 771, 1024, 4352, 0, 0}, {12, 4676, 1028, 0, 0, 0, 0}, {95, 597, 1285, 0, 0, 0, 0}, {12, 96, 518, 1024, 4096, 0, 0}, {255, 1799, 21760, 0, 0, 0, 0}, {21000, 0, 0, 0, 0, 0, 0}, {4099, 261, 0, 0, 0, 0, 0}, {522, 8192, 20480, 0, 0, 0, 0}, {12, 51, 771, 4420, 1028, 0, 0}, {12, 4608, 1024, 0, 0, 0, 0}, {95, 514, 1285, 0, 0, 0, 0}, {12, 4128, 514, 4160, 1028, 0, 0}, {1807, 8704, 21760, 0, 0, 0, 0}, {96, 576, 4112, 0, 0, 0, 0}, {51, 1860, 4369, 0, 0, 0, 0}, {192, 4626, 16384, 0, 0, 0, 0}, {95, 51, 531, 1280, 4352, 0, 0}, {108, 580, 5140, 0, 0, 0, 0}, {63, 4693, 5397, 0, 0, 0, 0}, {204, 5654, 17408, 0, 0, 0, 0}, {95, 96, 535, 1280, 4096, 0, 0}, {4632, 4144, 4176, 0, 0, 0, 0}, {5657, 51, 4437, 0, 0, 0, 0}, {4698, 12336, 16448, 0, 0, 0, 0}, {4379, 51, 4864, 4420, 1280, 0, 0}, {5660, 544, 5200, 0, 0, 0, 0}, {4637, 4642, 5461, 0, 0, 0, 0}, {5722, 8738, 17476, 0, 0, 0, 0}, {4127, 4128, 4608, 4160, 1280, 0, 0}, {2560, 544, 20480, 0, 0, 0, 0}, {12, 51, 771, 1092, 4369, 0, 0}, {21026, 0, 0, 0, 0, 0, 0}, {1283, 272, 0, 0, 0, 0, 0}, {12, 1060, 1536, 1092, 4096, 0, 0}, {3855, 1904, 21845, 0, 0, 0, 0}, {12, 5670, 1088, 0, 0, 0, 0}, {1295, 1831, 1360, 0, 0, 0, 0}, {552, 8192, 20480, 0, 0, 0, 0}, {12, 51, 771, 4437, 5397, 0, 0}, {21034, 0, 0, 0, 0, 0, 0}, {4099, 276, 0, 0, 0, 0, 0}, {12, 4128, 4608, 4160, 5120, 0, 0}, {1912, 8738, 21845, 0, 0, 0, 0}, {12, 4642, 1092, 0, 0, 0, 0}, {1295, 544, 1360, 0, 0, 0, 0}, {2048, 4656, 16384, 0, 0, 0, 0}, {1290, 51, 514, 1365, 4369, 0, 0}, {96, 514, 4112, 0, 0, 0, 0}, {51, 1792, 4352, 0, 0, 0, 0}, {2056, 5744, 17476, 0, 0, 0, 0}, {1290, 1333, 1792, 1365, 4096, 0, 0}, {522, 5686, 5200, 0, 0, 0, 0}, {1800, 1847, 5440, 0, 0, 0, 0}, {4728, 12336, 16448, 0, 0, 0, 0}, {4362, 51, 4864, 4437, 5120, 0, 0}, {522, 4144, 4176, 0, 0, 0, 0}, {1800, 51, 4420, 0, 0, 0, 0}, {5692, 8704, 17408, 0, 0, 0, 0}, {4127, 4128, 514, 4160, 5397, 0, 0}, {108, 514, 5140, 0, 0, 0, 0}, {63, 4608, 5376, 0, 0, 0, 0}, {192, 4608, 16448, 0, 0, 0, 0}, {95, 51, 529, 1285, 4369, 0, 0}, {96, 578, 4096, 0, 0, 0, 0}, {51, 1859, 4352, 0, 0, 0, 0}, {204, 5632, 17476, 0, 0, 0, 0}, {95, 96, 533, 1285, 4112, 0, 0}, {108, 582, 5120, 0, 0, 0, 0}, {63, 4679, 5376, 0, 0, 0, 0}, {4680, 12288, 16384, 0, 0, 0, 0}, {4362, 51, 4883, 4437, 1285, 0, 0}, {4618, 4128, 4160, 0, 0, 0, 0}, {5647, 51, 4420, 0, 0, 0, 0}, {5708, 8704, 17408, 0, 0, 0, 0}, {4111, 4144, 4626, 4176, 1285, 0, 0}, {5642, 546, 5188, 0, 0, 0, 0}, {4623, 4656, 5440, 0, 0, 0, 0}, {160, 512, 20560, 0, 0, 0, 0}, {12, 51, 768, 1028, 4369, 0, 0}, {21074, 0, 0, 0, 0, 0, 0}, {83, 256, 0, 0, 0, 0, 0}, {12, 96, 516, 1028, 4112, 0, 0}, {255, 1792, 21845, 0, 0, 0, 0}, {12, 4694, 1024, 0, 0, 0, 0}, {95, 599, 1280, 0, 0, 0, 0}, {520, 8224, 20560, 0, 0, 0, 0}, {12, 51, 768, 4437, 1024, 0, 0}, {21082, 0, 0, 0, 0, 0, 0}, {4115, 260, 0, 0, 0, 0, 0}, {12, 4144, 512, 4176, 1024, 0, 0}, {1800, 8738, 21845, 0, 0, 0, 0}, {12, 4626, 1028, 0, 0, 0, 0}, {95, 512, 1280, 0, 0, 0, 0}, {96, 512, 4096, 0, 0, 0, 0}, {51, 1799, 4369, 0, 0, 0, 0}, {2056, 4642, 16448, 0, 0, 0, 0}, {1295, 51, 512, 1360, 4352, 0, 0}, {520, 5664, 5188, 0, 0, 0, 0}, {1807, 1840, 5461, 0, 0, 0, 0}, {2048, 5734, 17408, 0, 0, 0, 0}, {1295, 1328, 1799, 1360, 4112, 0, 0}, {520, 4128, 4160, 0, 0, 0, 0}, {1807, 51, 4437, 0, 0, 0, 0}, {4714, 12288, 16384, 0, 0, 0, 0}, {4379, 51, 4883, 4420, 5140, 0, 0}, {108, 512, 5120, 0, 0, 0, 0}, {63, 4626, 5397, 0, 0, 0, 0}, {5674, 8738, 17476, 0, 0, 0, 0}, {4111, 4144, 512, 4176, 5376, 0, 0}, {21104, 0, 0, 0, 0, 0, 0}, {1286, 273, 0, 0, 0, 0, 0}, {2570, 546, 20560, 0, 0, 0, 0}, {12, 51, 768, 1088, 4352, 0, 0}, {12, 5680, 1092, 0, 0, 0, 0}, {1290, 1824, 1365, 0, 0, 0, 0}, {12, 1056, 1542, 1088, 4112, 0, 0}, {3840, 1911, 21760, 0, 0, 0, 0}, {21112, 0, 0, 0, 0, 0, 0}, {4115, 277, 0, 0, 0, 0, 0}, {554, 8224, 20560, 0, 0, 0, 0}, {12, 51, 768, 4420, 5376, 0, 0}, {12, 4656, 1088, 0, 0, 0, 0}, {1290, 546, 1365, 0, 0, 0, 0}, {12, 4144, 4626, 4176, 5140, 0, 0}, {1919, 8704, 21760, 0, 0, 0, 0}, {21120, 23040, 8704, 0, 0, 0, 0}, {274, 321, 1285, 4369, 0, 0, 0}, {2570, 546, 20480, 0, 0, 0, 0}, {12, 51, 771, 1088, 4352, 0, 0}, {12, 5632, 1092, 0, 0, 0, 0}, {95, 629, 1285, 0, 0, 0, 0}, {12, 4128, 4614, 4160, 5120, 0, 0}, {1912, 8823, 21760, 0, 0, 0, 0}, {21128, 23040, 28672, 0, 0, 0, 0}, {278, 325, 1285, 4112, 0, 0, 0}, {554, 8224, 20480, 0, 0, 0, 0}, {12, 51, 771, 4420, 5376, 0, 0}, {12, 4608, 1088, 0, 0, 0, 0}, {95, 546, 1285, 0, 0, 0, 0}, {12, 1060, 1542, 1092, 4096, 0, 0}, {3855, 1904, 21760, 0, 0, 0, 0}, {4144, 512, 4176, 0, 0, 0, 0}, {1800, 51, 4369, 0, 0, 0, 0}, {192, 4626, 16448, 0, 0, 0, 0}, {95, 51, 512, 1280, 4352, 0, 0}, {520, 612, 5140, 0, 0, 0, 0}, {63, 1792, 5461, 0, 0, 0, 0}, {5722, 8806, 17408, 0, 0, 0, 0}, {4127, 4128, 4631, 4160, 1280, 0, 0}, {520, 96, 4112, 0, 0, 0, 0}, {51, 1792, 4437, 0, 0, 0, 0}, {4698, 12336, 16384, 0, 0, 0, 0}, {4379, 51, 4883, 4420, 1280, 0, 0}, {5180, 512, 5200, 0, 0, 0, 0}, {4637, 4642, 5397, 0, 0, 0, 0}, {204, 5654, 17476, 0, 0, 0, 0}, {95, 96, 512, 1280, 4096, 0, 0}, {160, 512, 20480, 0, 0, 0, 0}, {12, 51, 771, 1028, 4369, 0, 0}, {21154, 2056, 8738, 0, 0, 0, 0}, {259, 336, 1024, 4352, 0, 0, 0}, {12, 4128, 516, 4160, 1028, 0, 0}, {1807, 8789, 21845, 0, 0, 0, 0}, {12, 4710, 1024, 0, 0, 0, 0}, {1295, 1799, 1360, 0, 0, 0, 0}, {520, 8224, 20480, 0, 0, 0, 0}, {12, 51, 771, 4437, 1024, 0, 0}, {21162, 2048, 28672, 0, 0, 0, 0}, {263, 340, 1028, 4112, 0, 0, 0}, {12, 96, 512, 1024, 4096, 0, 0}, {255, 1799, 21845, 0, 0, 0, 0}, {12, 4642, 1028, 0, 0, 0, 0}, {1295, 512, 1360, 0, 0, 0, 0}, {2112, 4656, 16448, 0, 0, 0, 0}, {1290, 51, 529, 1365, 4369, 0, 0}, {4144, 4626, 4176, 0, 0, 0, 0}, {1868, 51, 4352, 0, 0, 0, 0}, {5692, 8772, 17476, 0, 0, 0, 0}, {4127, 4128, 533, 4160, 5397, 0, 0}, {5180, 5654, 5200, 0, 0, 0, 0}, {4680, 4727, 5376, 0, 0, 0, 0}, {4728, 12336, 16384, 0, 0, 0, 0}, {4362, 51, 4883, 4437, 5120, 0, 0}, {586, 96, 4112, 0, 0, 0, 0}, {51, 5632, 4420, 0, 0, 0, 0}, {2124, 5744, 17408, 0, 0, 0, 0}, {1290, 1333, 1815, 1365, 4096, 0, 0}, {590, 546, 5140, 0, 0, 0, 0}, {63, 4608, 5440, 0, 0, 0, 0}, {192, 4608, 16384, 0, 0, 0, 0}, {95, 51, 514, 1285, 4369, 0, 0}, {4128, 514, 4160, 0, 0, 0, 0}, {1807, 51, 4352, 0, 0, 0, 0}, {5708, 8772, 17476, 0, 0, 0, 0}, {4111, 4144, 4613, 4176, 1285, 0, 0}, {522, 614, 5120, 0, 0, 0, 0}, {63, 1799, 5440, 0, 0, 0, 0}, {4680, 12288, 16448, 0, 0, 0, 0}, {4362, 51, 4864, 4437, 1285, 0, 0}, {522, 96, 4096, 0, 0, 0, 0}, {51, 1799, 4420, 0, 0, 0, 0}, {204, 5632, 17408, 0, 0, 0, 0}, {95, 96, 514, 1285, 4112, 0, 0}, {5160, 514, 5188, 0, 0, 0, 0}, {4623, 4656, 5376, 0, 0, 0, 0}, {2560, 544, 20560, 0, 0, 0, 0}, {12, 51, 768, 1092, 4369, 0, 0}, {21202, 23130, 8738, 0, 0, 0, 0}, {275, 320, 1280, 4352, 0, 0, 0}, {12, 4144, 4628, 4176, 5140, 0, 0}, {1919, 8789, 21845, 0, 0, 0, 0}, {12, 5654, 1088, 0, 0, 0, 0}, {95, 631, 1280, 0, 0, 0, 0}, {552, 8192, 20560, 0, 0, 0, 0}, {12, 51, 768, 4437, 5397, 0, 0}, {21210, 23130, 28784, 0, 0, 0, 0}, {279, 324, 1280, 4096, 0, 0, 0}, {12, 1056, 1536, 1088, 4112, 0, 0}, {3840, 1911, 21845, 0, 0, 0, 0}, {12, 4626, 1092, 0, 0, 0, 0}, {95, 544, 1280, 0, 0, 0, 0}, {4128, 4608, 4160, 0, 0, 0, 0}, {1867, 51, 4369, 0, 0, 0, 0}, {2120, 4642, 16384, 0, 0, 0, 0}, {1295, 51, 531, 1360, 4352, 0, 0}, {5160, 5632, 5188, 0, 0, 0, 0}, {4698, 4709, 5397, 0, 0, 0, 0}, {5674, 8806, 17408, 0, 0, 0, 0}, {4111, 4144, 535, 4176, 5376, 0, 0}, {584, 96, 4096, 0, 0, 0, 0}, {51, 5654, 4437, 0, 0, 0, 0}, {4714, 12288, 16448, 0, 0, 0, 0}, {4379, 51, 4864, 4420, 5140, 0, 0}, {588, 544, 5120, 0, 0, 0, 0}, {63, 4626, 5461, 0, 0, 0, 0}, {2116, 5734, 17476, 0, 0, 0, 0}, {1295, 1328, 1808, 1360, 4112, 0, 0}, {21232, 2048, 8704, 0, 0, 0, 0}, {258, 337, 1028, 4369, 0, 0, 0}, {160, 514, 20560, 0, 0, 0, 0}, {12, 51, 768, 1024, 4352, 0, 0}, {12, 4724, 1028, 0, 0, 0, 0}, {1290, 1792, 1365, 0, 0, 0, 0}, {12, 4144, 518, 4176, 1024, 0, 0}, {1800, 8823, 21760, 0, 0, 0, 0}, {21240, 2056, 28784, 0, 0, 0, 0}, {262, 341, 1024, 4096, 0, 0, 0}, {522, 8192, 20560, 0, 0, 0, 0}, {12, 51, 768, 4420, 1028, 0, 0}, {12, 4656, 1024, 0, 0, 0, 0}, {1290, 514, 1365, 0, 0, 0, 0}, {12, 96, 514, 1028, 4112, 0, 0}, {255, 1792, 21760, 0, 0, 0, 0}, {21248, 0, 0, 0, 0, 0, 0}, {82, 257, 0, 0, 0, 0, 0}, {8, 34, 514, 1024, 4352, 0, 0}, {240, 771, 20480, 0, 0, 0, 0}, {8, 4932, 1028, 0, 0, 0, 0}, {90, 853, 1285, 0, 0, 0, 0}, {170, 1542, 21760, 0, 0, 0, 0}, {8, 112, 775, 1024, 4096, 0, 0}, {8, 4864, 1024, 0, 0, 0, 0}, {90, 771, 1285, 0, 0, 0, 0}, {1546, 13056, 21760, 0, 0, 0, 0}, {8, 4144, 771, 4160, 1028, 0, 0}, {21260, 0, 0, 0, 0, 0, 0}, {4098, 261, 0, 0, 0, 0, 0}, {8, 34, 514, 4420, 1028, 0, 0}, {783, 12288, 20480, 0, 0, 0, 0}, {112, 832, 4112, 0, 0, 0, 0}, {34, 1604, 4369, 0, 0, 0, 0}, {90, 34, 786, 1280, 4352, 0, 0}, {128, 4883, 16384, 0, 0, 0, 0}, {120, 836, 5140, 0, 0, 0, 0}, {42, 4949, 5397, 0, 0, 0, 0}, {90, 112, 790, 1280, 4096, 0, 0}, {136, 5911, 17408, 0, 0, 0, 0}, {5912, 816, 5200, 0, 0, 0, 0}, {4889, 4915, 5461, 0, 0, 0, 0}, {4122, 4144, 4864, 4160, 1280, 0, 0}, {5983, 13107, 17476, 0, 0, 0, 0}, {4892, 4128, 4176, 0, 0, 0, 0}, {5917, 34, 4437, 0, 0, 0, 0}, {4382, 34, 4608, 4420, 1280, 0, 0}, {4959, 8224, 16448, 0, 0, 0, 0}, {3072, 4896, 16384, 0, 0, 0, 0}, {1295, 34, 771, 1365, 4369, 0, 0}, {34, 1536, 4352, 0, 0, 0, 0}, {112, 771, 4112, 0, 0, 0, 0}, {3084, 5984, 17476, 0, 0, 0, 0}, {1295, 1317, 1536, 1365, 4096, 0, 0}, {1548, 1574, 5440, 0, 0, 0, 0}, {783, 5927, 5200, 0, 0, 0, 0}, {5928, 13056, 17408, 0, 0, 0, 0}, {4122, 4144, 771, 4160, 5397, 0, 0}, {42, 4864, 5376, 0, 0, 0, 0}, {120, 771, 5140, 0, 0, 0, 0}, {4972, 8224, 16448, 0, 0, 0, 0}, {4367, 34, 4608, 4437, 5120, 0, 0}, {1548, 34, 4420, 0, 0, 0, 0}, {783, 4128, 4176, 0, 0, 0, 0}, {3840, 816, 20480, 0, 0, 0, 0}, {8, 34, 514, 1092, 4369, 0, 0}, {1282, 272, 0, 0, 0, 0, 0}, {21299, 0, 0, 0, 0, 0, 0}, {8, 1076, 1792, 1092, 4096, 0, 0}, {2570, 1632, 21845, 0, 0, 0, 0}, {1290, 1590, 1360, 0, 0, 0, 0}, {8, 5943, 1088, 0, 0, 0, 0}, {8, 4144, 4864, 4160, 5120, 0, 0}, {1644, 13107, 21845, 0, 0, 0, 0}, {1290, 816, 1360, 0, 0, 0, 0}, {8, 4915, 1092, 0, 0, 0, 0}, {828, 12288, 20480, 0, 0, 0, 0}, {8, 34, 514, 4437, 5397, 0, 0}, {4098, 276, 0, 0, 0, 0, 0}, {21311, 0, 0, 0, 0, 0, 0}, {128, 4864, 16448, 0, 0, 0, 0}, {90, 34, 785, 1285, 4369, 0, 0}, {34, 1602, 4352, 0, 0, 0, 0}, {112, 835, 4096, 0, 0, 0, 0}, {136, 5888, 17476, 0, 0, 0, 0}, {90, 112, 789, 1285, 4112, 0, 0}, {42, 4934, 5376, 0, 0, 0, 0}, {120, 839, 5120, 0, 0, 0, 0}, {5960, 13056, 17408, 0, 0, 0, 0}, {4106, 4128, 4883, 4176, 1285, 0, 0}, {4874, 4896, 5440, 0, 0, 0, 0}, {5903, 819, 5188, 0, 0, 0, 0}, {4940, 8192, 16384, 0, 0, 0, 0}, {4367, 34, 4626, 4437, 1285, 0, 0}, {5898, 34, 4420, 0, 0, 0, 0}, {4879, 4144, 4160, 0, 0, 0, 0}, {240, 768, 20560, 0, 0, 0, 0}, {8, 34, 512, 1028, 4369, 0, 0}, {82, 256, 0, 0, 0, 0, 0}, {21331, 0, 0, 0, 0, 0, 0}, {8, 112, 772, 1028, 4112, 0, 0}, {170, 1536, 21845, 0, 0, 0, 0}, {90, 854, 1280, 0, 0, 0, 0}, {8, 4951, 1024, 0, 0, 0, 0}, {8, 4128, 768, 4176, 1024, 0, 0}, {1548, 13107, 21845, 0, 0, 0, 0}, {90, 768, 1280, 0, 0, 0, 0}, {8, 4883, 1028, 0, 0, 0, 0}, {780, 12336, 20560, 0, 0, 0, 0}, {8, 34, 512, 4437, 1024, 0, 0}, {4114, 260, 0, 0, 0, 0, 0}, {21343, 0, 0, 0, 0, 0, 0}, {21344, 0, 0, 0, 0, 0, 0}, {1287, 273, 0, 0, 0, 0, 0}, {8, 34, 512, 1088, 4352, 0, 0}, {3855, 819, 20560, 0, 0, 0, 0}, {8, 5920, 1092, 0, 0, 0, 0}, {1295, 1584, 1365, 0, 0, 0, 0}, {2560, 1638, 21760, 0, 0, 0, 0}, {8, 1072, 1799, 1088, 4112, 0, 0}, {8, 4896, 1088, 0, 0, 0, 0}, {1295, 819, 1365, 0, 0, 0, 0}, {1642, 13056, 21760, 0, 0, 0, 0}, {8, 4128, 4883, 4176, 5140, 0, 0}, {21356, 0, 0, 0, 0, 0, 0}, {4114, 277, 0, 0, 0, 0, 0}, {8, 34, 512, 4420, 5376, 0, 0}, {831, 12336, 20560, 0, 0, 0, 0}, {112, 768, 4096, 0, 0, 0, 0}, {34, 1542, 4369, 0, 0, 0, 0}, {1290, 34, 768, 1360, 4352, 0, 0}, {3084, 4915, 16448, 0, 0, 0, 0}, {780, 5936, 5188, 0, 0, 0, 0}, {1546, 1568, 5461, 0, 0, 0, 0}, {1290, 1312, 1542, 1360, 4112, 0, 0}, {3072, 6007, 17408, 0, 0, 0, 0}, {120, 768, 5120, 0, 0, 0, 0}, {42, 4883, 5397, 0, 0, 0, 0}, {4106, 4128, 768, 4176, 5376, 0, 0}, {5951, 13107, 17476, 0, 0, 0, 0}, {780, 4144, 4160, 0, 0, 0, 0}, {1546, 34, 4437, 0, 0, 0, 0}, {4382, 34, 4626, 4420, 5140, 0, 0}, {4991, 8192, 16384, 0, 0, 0, 0}, {128, 4864, 16384, 0, 0, 0, 0}, {90, 34, 771, 1285, 4369, 0, 0}, {1546, 34, 4352, 0, 0, 0, 0}, {4144, 771, 4160, 0, 0, 0, 0}, {5960, 13124, 17476, 0, 0, 0, 0}, {4106, 4128, 4869, 4176, 1285, 0, 0}, {42, 1542, 5440, 0, 0, 0, 0}, {783, 887, 5120, 0, 0, 0, 0}, {136, 5888, 17408, 0, 0, 0, 0}, {90, 112, 771, 1285, 4112, 0, 0}, {4874, 4896, 5376, 0, 0, 0, 0}, {5180, 771, 5188, 0, 0, 0, 0}, {4940, 8192, 16448, 0, 0, 0, 0}, {4367, 34, 4608, 4437, 1285, 0, 0}, {34, 1542, 4420, 0, 0, 0, 0}, {783, 112, 4096, 0, 0, 0, 0}, {3840, 816, 20560, 0, 0, 0, 0}, {8, 34, 512, 1092, 4369, 0, 0}, {274, 320, 1280, 4352, 0, 0, 0}, {21395, 24415, 13107, 0, 0, 0, 0}, {8, 4128, 4884, 4176, 5140, 0, 0}, {1642, 13141, 21845, 0, 0, 0, 0}, {90, 870, 1280, 0, 0, 0, 0}, {8, 5911, 1088, 0, 0, 0, 0}, {8, 1072, 1792, 1088, 4112, 0, 0}, {2560, 1638, 21845, 0, 0, 0, 0}, {90, 816, 1280, 0, 0, 0, 0}, {8, 4883, 1092, 0, 0, 0, 0}, {828, 12288, 20560, 0, 0, 0, 0}, {8, 34, 512, 4437, 5397, 0, 0}, {278, 324, 1280, 4096, 0, 0, 0}, {21407, 24415, 24672, 0, 0, 0, 0}, {21408, 3072, 13056, 0, 0, 0, 0}, {259, 337, 1028, 4369, 0, 0, 0}, {8, 34, 512, 1024, 4352, 0, 0}, {240, 771, 20560, 0, 0, 0, 0}, {8, 4964, 1028, 0, 0, 0, 0}, {1295, 1536, 1365, 0, 0, 0, 0}, {1548, 13158, 21760, 0, 0, 0, 0}, {8, 4128, 775, 4176, 1024, 0, 0}, {8, 4896, 1024, 0, 0, 0, 0}, {1295, 771, 1365, 0, 0, 0, 0}, {170, 1536, 21760, 0, 0, 0, 0}, {8, 112, 771, 1028, 4112, 0, 0}, {21420, 3084, 24672, 0, 0, 0, 0}, {263, 341, 1024, 4096, 0, 0, 0}, {8, 34, 512, 4420, 1028, 0, 0}, {783, 12288, 20560, 0, 0, 0, 0}, {4144, 4864, 4160, 0, 0, 0, 0}, {1614, 34, 4369, 0, 0, 0, 0}, {1290, 34, 786, 1360, 4352, 0, 0}, {3148, 4915, 16384, 0, 0, 0, 0}, {5180, 5888, 5188, 0, 0, 0, 0}, {4959, 4981, 5397, 0, 0, 0, 0}, {4106, 4128, 790, 4176, 5376, 0, 0}, {5951, 13175, 17408, 0, 0, 0, 0}, {840, 816, 5120, 0, 0, 0, 0}, {42, 4883, 5461, 0, 0, 0, 0}, {1290, 1312, 1552, 1360, 4112, 0, 0}, {3140, 6007, 17476, 0, 0, 0, 0}, {844, 112, 4096, 0, 0, 0, 0}, {34, 5911, 4437, 0, 0, 0, 0}, {4382, 34, 4608, 4420, 5140, 0, 0}, {4991, 8192, 16448, 0, 0, 0, 0}, {21440, 24320, 13056, 0, 0, 0, 0}, {275, 321, 1285, 4369, 0, 0, 0}, {8, 34, 514, 1088, 4352, 0, 0}, {3855, 819, 20480, 0, 0, 0, 0}, {8, 5888, 1092, 0, 0, 0, 0}, {90, 869, 1285, 0, 0, 0, 0}, {1644, 13158, 21760, 0, 0, 0, 0}, {8, 4144, 4871, 4160, 5120, 0, 0}, {8, 4864, 1088, 0, 0, 0, 0}, {90, 819, 1285, 0, 0, 0, 0}, {2570, 1632, 21760, 0, 0, 0, 0}, {8, 1076, 1799, 1092, 4096, 0, 0}, {21452, 24320, 24576, 0, 0, 0, 0}, {279, 325, 1285, 4112, 0, 0, 0}, {8, 34, 514, 4420, 5376, 0, 0}, {831, 12336, 20480, 0, 0, 0, 0}, {4128, 768, 4176, 0, 0, 0, 0}, {1548, 34, 4369, 0, 0, 0, 0}, {90, 34, 768, 1280, 4352, 0, 0}, {128, 4883, 16448, 0, 0, 0, 0}, {780, 884, 5140, 0, 0, 0, 0}, {42, 1536, 5461, 0, 0, 0, 0}, {4122, 4144, 4886, 4160, 1280, 0, 0}, {5983, 13175, 17408, 0, 0, 0, 0}, {5160, 768, 5200, 0, 0, 0, 0}, {4889, 4915, 5397, 0, 0, 0, 0}, {90, 112, 768, 1280, 4096, 0, 0}, {136, 5911, 17476, 0, 0, 0, 0}, {780, 112, 4112, 0, 0, 0, 0}, {34, 1536, 4437, 0, 0, 0, 0}, {4382, 34, 4626, 4420, 1280, 0, 0}, {4959, 8224, 16384, 0, 0, 0, 0}, {3136, 4896, 16448, 0, 0, 0, 0}, {1295, 34, 785, 1365, 4369, 0, 0}, {1608, 34, 4352, 0, 0, 0, 0}, {4128, 4883, 4176, 0, 0, 0, 0}, {5928, 13124, 17476, 0, 0, 0, 0}, {4122, 4144, 789, 4160, 5397, 0, 0}, {4940, 4966, 5376, 0, 0, 0, 0}, {5160, 5911, 5200, 0, 0, 0, 0}, {3144, 5984, 17408, 0, 0, 0, 0}, {1295, 1317, 1558, 1365, 4096, 0, 0}, {42, 4864, 5440, 0, 0, 0, 0}, {843, 819, 5140, 0, 0, 0, 0}, {4972, 8224, 16384, 0, 0, 0, 0}, {4367, 34, 4626, 4437, 5120, 0, 0}, {34, 5888, 4420, 0, 0, 0, 0}, {847, 112, 4112, 0, 0, 0, 0}, {240, 768, 20480, 0, 0, 0, 0}, {8, 34, 514, 1028, 4369, 0, 0}, {258, 336, 1024, 4352, 0, 0, 0}, {21491, 3084, 13107, 0, 0, 0, 0}, {8, 4144, 772, 4160, 1028, 0, 0}, {1546, 13141, 21845, 0, 0, 0, 0}, {1290, 1542, 1360, 0, 0, 0, 0}, {8, 4983, 1024, 0, 0, 0, 0}, {8, 112, 768, 1024, 4096, 0, 0}, {170, 1542, 21845, 0, 0, 0, 0}, {1290, 768, 1360, 0, 0, 0, 0}, {8, 4915, 1028, 0, 0, 0, 0}, {780, 12336, 20480, 0, 0, 0, 0}, {8, 34, 514, 4437, 1024, 0, 0}, {262, 340, 1028, 4112, 0, 0, 0}, {21503, 3072, 24576, 0, 0, 0, 0}, {1024, 4096, 0, 0, 0, 0, 0}, {85, 257, 0, 0, 0, 0, 0}, {21506, 0, 0, 0, 0, 0, 0}, {21507, 0, 0, 0, 0, 0, 0}, {4160, 1028, 0, 0, 0, 0, 0}, {261, 4352, 0, 0, 0, 0, 0}, {21510, 0, 0, 0, 0, 0, 0}, {21511, 0, 0, 0, 0, 0, 0}, {1032, 12288, 20480, 0, 0, 0, 0}, {265, 4403, 771, 85, 1285, 0, 0}, {4106, 4608, 1024, 0, 0, 0, 0}, {4175, 771, 1028, 0, 0, 0, 0}, {1036, 8192, 20480, 0, 0, 0, 0}, {269, 4386, 514, 85, 1285, 0, 0}, {4170, 514, 1028, 0, 0, 0, 0}, {4111, 4864, 1024, 0, 0, 0, 0}, {1088, 4112, 0, 0, 0, 0, 0}, {1280, 273, 0, 0, 0, 0, 0}, {21522, 0, 0, 0, 0, 0, 0}, {21523, 0, 0, 0, 0, 0, 0}, {4176, 5140, 0, 0, 0, 0, 0}, {277, 4352, 0, 0, 0, 0, 0}, {21526, 0, 0, 0, 0, 0, 0}, {21527, 0, 0, 0, 0, 0, 0}, {1096, 12336, 20560, 0, 0, 0, 0}, {281, 4403, 4608, 85, 1280, 0, 0}, {4122, 4656, 1088, 0, 0, 0, 0}, {5147, 819, 1092, 0, 0, 0, 0}, {1100, 8224, 20560, 0, 0, 0, 0}, {285, 4386, 4864, 85, 1280, 0, 0}, {5150, 546, 1092, 0, 0, 0, 0}, {4127, 4896, 1088, 0, 0, 0, 0}, {3072, 4128, 17408, 0, 0, 0, 0}, {1295, 289, 771, 85, 4369, 0, 0}, {1058, 1536, 4096, 0, 0, 0, 0}, {1139, 771, 4112, 0, 0, 0, 0}, {3084, 4192, 17476, 0, 0, 0, 0}, {1295, 293, 1536, 85, 4352, 0, 0}, {1548, 1062, 4160, 0, 0, 0, 0}, {783, 5159, 4176, 0, 0, 0, 0}, {5160, 12288, 16384, 0, 0, 0, 0}, {4122, 4403, 771, 85, 5397, 0, 0}, {4138, 4608, 5120, 0, 0, 0, 0}, {4207, 771, 5140, 0, 0, 0, 0}, {5228, 8224, 16448, 0, 0, 0, 0}, {4111, 4386, 4864, 85, 5376, 0, 0}, {1548, 546, 5188, 0, 0, 0, 0}, {783, 4896, 5200, 0, 0, 0, 0}, {2048, 4144, 17408, 0, 0, 0, 0}, {1290, 305, 514, 85, 4369, 0, 0}, {1122, 514, 4112, 0, 0, 0, 0}, {1075, 1792, 4096, 0, 0, 0, 0}, {2056, 4208, 17476, 0, 0, 0, 0}, {1290, 309, 1792, 85, 4352, 0, 0}, {522, 5174, 4176, 0, 0, 0, 0}, {1800, 1079, 4160, 0, 0, 0, 0}, {5240, 12336, 16448, 0, 0, 0, 0}, {4106, 4403, 4608, 85, 5376, 0, 0}, {522, 4656, 5200, 0, 0, 0, 0}, {1800, 819, 5188, 0, 0, 0, 0}, {5180, 8192, 16384, 0, 0, 0, 0}, {4127, 4386, 514, 85, 5397, 0, 0}, {4218, 514, 5140, 0, 0, 0, 0}, {4159, 4864, 5120, 0, 0, 0, 0}, {4160, 5120, 0, 0, 0, 0, 0}, {276, 4369, 0, 0, 0, 0, 0}, {21570, 0, 0, 0, 0, 0, 0}, {21571, 0, 0, 0, 0, 0, 0}, {1092, 4096, 0, 0, 0, 0, 0}, {1285, 272, 0, 0, 0, 0, 0}, {21574, 0, 0, 0, 0, 0, 0}, {21575, 0, 0, 0, 0, 0, 0}, {1096, 8192, 20480, 0, 0, 0, 0}, {284, 4403, 4883, 85, 1285, 0, 0}, {5130, 544, 1088, 0, 0, 0, 0}, {4111, 4915, 1092, 0, 0, 0, 0}, {1100, 12288, 20480, 0, 0, 0, 0}, {280, 4386, 4626, 85, 1285, 0, 0}, {4106, 4642, 1092, 0, 0, 0, 0}, {5135, 816, 1088, 0, 0, 0, 0}, {4176, 1024, 0, 0, 0, 0, 0}, {260, 4369, 0, 0, 0, 0, 0}, {21586, 0, 0, 0, 0, 0, 0}, {21587, 0, 0, 0, 0, 0, 0}, {1028, 4112, 0, 0, 0, 0, 0}, {85, 256, 0, 0, 0, 0, 0}, {21590, 0, 0, 0, 0, 0, 0}, {21591, 0, 0, 0, 0, 0, 0}, {1032, 8224, 20560, 0, 0, 0, 0}, {268, 4403, 512, 85, 1280, 0, 0}, {4186, 512, 1024, 0, 0, 0, 0}, {4127, 4883, 1028, 0, 0, 0, 0}, {1036, 12336, 20560, 0, 0, 0, 0}, {264, 4386, 768, 85, 1280, 0, 0}, {4122, 4626, 1028, 0, 0, 0, 0}, {4191, 768, 1024, 0, 0, 0, 0}, {2048, 4192, 17408, 0, 0, 0, 0}, {1295, 308, 1799, 85, 4369, 0, 0}, {520, 5154, 4160, 0, 0, 0, 0}, {1807, 1075, 4176, 0, 0, 0, 0}, {2056, 4128, 17476, 0, 0, 0, 0}, {1295, 304, 512, 85, 4352, 0, 0}, {1126, 512, 4096, 0, 0, 0, 0}, {1079, 1799, 4112, 0, 0, 0, 0}, {5160, 8224, 16448, 0, 0, 0, 0}, {4111, 4403, 512, 85, 5376, 0, 0}, {4202, 512, 5120, 0, 0, 0, 0}, {4143, 4883, 5140, 0, 0, 0, 0}, {5228, 12288, 16384, 0, 0, 0, 0}, {4122, 4386, 4626, 85, 5397, 0, 0}, {520, 4642, 5188, 0, 0, 0, 0}, {1807, 816, 5200, 0, 0, 0, 0}, {3072, 4208, 17408, 0, 0, 0, 0}, {1290, 292, 1542, 85, 4369, 0, 0}, {1546, 1058, 4176, 0, 0, 0, 0}, {780, 5171, 4160, 0, 0, 0, 0}, {3084, 4144, 17476, 0, 0, 0, 0}, {1290, 288, 768, 85, 4352, 0, 0}, {1062, 1542, 4112, 0, 0, 0, 0}, {1143, 768, 4096, 0, 0, 0, 0}, {5240, 8192, 16384, 0, 0, 0, 0}, {4127, 4403, 4883, 85, 5397, 0, 0}, {1546, 544, 5200, 0, 0, 0, 0}, {780, 4915, 5188, 0, 0, 0, 0}, {5180, 12336, 16448, 0, 0, 0, 0}, {4106, 4386, 768, 85, 5376, 0, 0}, {4154, 4626, 5140, 0, 0, 0, 0}, {4223, 768, 5120, 0, 0, 0, 0}, {4224, 12288, 5120, 0, 0, 0, 0}, {299, 771, 85, 1285, 4369, 0, 0}, {4106, 1058, 5632, 16384, 0, 0, 0}, {4175, 1139, 771, 16448, 0, 0, 0}, {3084, 8192, 5188, 0, 0, 0, 0}, {783, 544, 85, 1285, 4352, 0, 0}, {4170, 1062, 1542, 16448, 0, 0, 0}, {4111, 1143, 4864, 16384, 0, 0, 0}, {1160, 3072, 4096, 0, 0, 0, 0}, {291, 771, 85, 1285, 4112, 0, 0}, {5130, 4128, 4608, 17408, 0, 0, 0}, {5195, 4144, 771, 17476, 0, 0, 0}, {9228, 4160, 0, 0, 0, 0, 0}, {4386, 4101, 0, 0, 0, 0, 0}, {5198, 4192, 1542, 17476, 0, 0, 0}, {5135, 4208, 5888, 17408, 0, 0, 0}, {2048, 12336, 5200, 0, 0, 0, 0}, {520, 819, 85, 1280, 4369, 0, 0}, {4122, 1122, 4626, 16448, 0, 0, 0}, {4191, 1075, 1792, 16384, 0, 0, 0}, {4304, 8224, 5140, 0, 0, 0, 0}, {319, 512, 85, 1280, 4352, 0, 0}, {4186, 1126, 512, 16384, 0, 0, 0}, {4127, 1079, 5911, 16448, 0, 0, 0}, {1224, 2056, 4112, 0, 0, 0, 0}, {307, 512, 85, 1280, 4096, 0, 0}, {5210, 4144, 512, 17408, 0, 0, 0}, {5147, 4128, 4883, 17476, 0, 0, 0}, {13372, 4176, 0, 0, 0, 0, 0}, {4386, 4117, 0, 0, 0, 0, 0}, {5150, 4208, 5654, 17476, 0, 0, 0}, {5215, 4192, 1792, 17408, 0, 0, 0}, {4256, 12288, 1024, 0, 0, 0, 0}, {267, 771, 85, 1028, 4369, 0, 0}, {1032, 5154, 1536, 20480, 0, 0, 0}, {1036, 5219, 771, 20560, 0, 0, 0}, {4320, 8224, 1028, 0, 0, 0, 0}, {271, 512, 85, 1024, 4352, 0, 0}, {1036, 5222, 512, 20480, 0, 0, 0}, {1032, 5159, 1799, 20560, 0, 0, 0}, {1032, 4128, 0, 0, 0, 0, 0}, {259, 85, 0, 0, 0, 0, 0}, {170, 512, 1024, 4096, 0, 0, 0}, {255, 771, 1028, 4112, 0, 0, 0}, {1036, 4192, 0, 0, 0, 0, 0}, {263, 85, 0, 0, 0, 0, 0}, {520, 8738, 4160, 1028, 0, 0, 0}, {783, 13056, 4176, 1024, 0, 0, 0}, {6192, 12336, 1088, 0, 0, 0, 0}, {283, 819, 85, 1041, 4369, 0, 0}, {1096, 5234, 4626, 20560, 0, 0, 0}, {1100, 5171, 5888, 20480, 0, 0, 0}, {7228, 8192, 1092, 0, 0, 0, 0}, {287, 544, 85, 1045, 4352, 0, 0}, {1100, 5174, 5654, 20560, 0, 0, 0}, {1096, 5239, 4864, 20480, 0, 0, 0}, {1096, 4144, 0, 0, 0, 0, 0}, {275, 85, 0, 0, 0, 0, 0}, {2570, 544, 1088, 4112, 0, 0, 0}, {3840, 819, 1092, 4096, 0, 0, 0}, {1100, 4208, 0, 0, 0, 0, 0}, {279, 85, 0, 0, 0, 0, 0}, {552, 8738, 4176, 5140, 0, 0, 0}, {831, 13056, 4160, 5120, 0, 0, 0}, {4288, 8192, 5120, 0, 0, 0, 0}, {318, 514, 85, 1285, 4369, 0, 0}, {4170, 1122, 514, 16448, 0, 0, 0}, {4111, 1075, 5888, 16384, 0, 0, 0}, {2056, 12288, 5188, 0, 0, 0, 0}, {522, 816, 85, 1285, 4352, 0, 0}, {4106, 1126, 4608, 16384, 0, 0, 0}, {4175, 1079, 1799, 16448, 0, 0, 0}, {13320, 4160, 0, 0, 0, 0, 0}, {4403, 4101, 0, 0, 0, 0, 0}, {5130, 4192, 5632, 17408, 0, 0, 0}, {5195, 4208, 1799, 17476, 0, 0, 0}, {1228, 2048, 4096, 0, 0, 0, 0}, {306, 514, 85, 1285, 4112, 0, 0}, {5198, 4128, 514, 17476, 0, 0, 0}, {5135, 4144, 4864, 17408, 0, 0, 0}, {3072, 8224, 5200, 0, 0, 0, 0}, {780, 546, 85, 1280, 4369, 0, 0}, {4186, 1058, 1536, 16384, 0, 0, 0}, {4127, 1139, 4883, 16448, 0, 0, 0}, {4240, 12336, 5140, 0, 0, 0, 0}, {298, 768, 85, 1280, 4352, 0, 0}, {4122, 1062, 5654, 16448, 0, 0, 0}, {4191, 1143, 768, 16384, 0, 0, 0}, {9256, 4176, 0, 0, 0, 0, 0}, {4403, 4117, 0, 0, 0, 0, 0}, {5210, 4208, 1536, 17408, 0, 0, 0}, {5147, 4192, 5911, 17476, 0, 0, 0}, {1164, 3084, 4112, 0, 0, 0, 0}, {290, 768, 85, 1280, 4096, 0, 0}, {5150, 4144, 4626, 17476, 0, 0, 0}, {5215, 4128, 768, 17408, 0, 0, 0}, {7200, 8224, 1088, 0, 0, 0, 0}, {286, 546, 85, 1041, 4369, 0, 0}, {1096, 5154, 5632, 20480, 0, 0, 0}, {1100, 5219, 4883, 20560, 0, 0, 0}, {6184, 12288, 1092, 0, 0, 0, 0}, {282, 816, 85, 1045, 4352, 0, 0}, {1100, 5222, 4608, 20480, 0, 0, 0}, {1096, 5159, 5911, 20560, 0, 0, 0}, {1096, 4192, 0, 0, 0, 0, 0}, {278, 85, 0, 0, 0, 0, 0}, {554, 8704, 4160, 5120, 0, 0, 0}, {828, 13107, 4176, 5140, 0, 0, 0}, {1100, 4128, 0, 0, 0, 0, 0}, {274, 85, 0, 0, 0, 0, 0}, {2560, 546, 1092, 4096, 0, 0, 0}, {3855, 816, 1088, 4112, 0, 0, 0}, {4336, 8192, 1024, 0, 0, 0, 0}, {270, 514, 85, 1028, 4369, 0, 0}, {1032, 5234, 514, 20560, 0, 0, 0}, {1036, 5171, 1792, 20480, 0, 0, 0}, {4272, 12336, 1028, 0, 0, 0, 0}, {266, 768, 85, 1024, 4352, 0, 0}, {1036, 5174, 1542, 20560, 0, 0, 0}, {1032, 5239, 768, 20480, 0, 0, 0}, {1032, 4208, 0, 0, 0, 0, 0}, {262, 85, 0, 0, 0, 0, 0}, {522, 8704, 4176, 1024, 0, 0, 0}, {780, 13107, 4160, 1028, 0, 0, 0}, {1036, 4144, 0, 0, 0, 0, 0}, {258, 85, 0, 0, 0, 0, 0}, {170, 514, 1028, 4112, 0, 0, 0}, {255, 768, 1024, 4096, 0, 0, 0}, {21760, 0, 0, 0, 0, 0, 0}, {4, 16, 257, 0, 0, 0, 0}, {21762, 0, 0, 0, 0, 0, 0}, {21763, 0, 0, 0, 0, 0, 0}, {4, 4352, 0, 0, 0, 0, 0}, {80, 1285, 0, 0, 0, 0, 0}, {21766, 0, 0, 0, 0, 0, 0}, {21767, 0, 0, 0, 0, 0, 0}, {8, 8704, 21760, 0, 0, 0, 0}, {12, 48, 771, 80, 1285, 0, 0}, {21770, 0, 0, 0, 0, 0, 0}, {4355, 4, 0, 0, 0, 0, 0}, {12, 13056, 21760, 0, 0, 0, 0}, {8, 32, 514, 80, 1285, 0, 0}, {4354, 4, 0, 0, 0, 0, 0}, {21775, 0, 0, 0, 0, 0, 0}, {1280, 16, 0, 0, 0, 0, 0}, {68, 4369, 0, 0, 0, 0, 0}, {21778, 0, 0, 0, 0, 0, 0}, {21779, 0, 0, 0, 0, 0, 0}, {20, 4352, 0, 0, 0, 0, 0}, {64, 5397, 0, 0, 0, 0, 0}, {21782, 0, 0, 0, 0, 0, 0}, {21783, 0, 0, 0, 0, 0, 0}, {24, 48, 4608, 80, 1280, 0, 0}, {76, 13107, 21845, 0, 0, 0, 0}, {5402, 48, 64, 0, 0, 0, 0}, {4379, 4403, 68, 0, 0, 0, 0}, {28, 32, 4864, 80, 1280, 0, 0}, {72, 8738, 21845, 0, 0, 0, 0}, {4382, 4386, 68, 0, 0, 0, 0}, {5407, 32, 64, 0, 0, 0, 0}, {2560, 32, 21760, 0, 0, 0, 0}, {12, 48, 771, 68, 4369, 0, 0}, {21794, 0, 0, 0, 0, 0, 0}, {1283, 16, 0, 0, 0, 0, 0}, {12, 36, 1536, 68, 4352, 0, 0}, {3855, 112, 21845, 0, 0, 0, 0}, {12, 5414, 64, 0, 0, 0, 0}, {1295, 1319, 80, 0, 0, 0, 0}, {40, 8704, 21760, 0, 0, 0, 0}, {12, 48, 771, 64, 5397, 0, 0}, {21802, 0, 0, 0, 0, 0, 0}, {4355, 20, 0, 0, 0, 0, 0}, {12, 32, 4864, 64, 5376, 0, 0}, {120, 8738, 21845, 0, 0, 0, 0}, {12, 4386, 68, 0, 0, 0, 0}, {1295, 32, 80, 0, 0, 0, 0}, {3840, 48, 21760, 0, 0, 0, 0}, {8, 32, 514, 68, 4369, 0, 0}, {1282, 16, 0, 0, 0, 0, 0}, {21811, 0, 0, 0, 0, 0, 0}, {8, 52, 1792, 68, 4352, 0, 0}, {2570, 96, 21845, 0, 0, 0, 0}, {1290, 1334, 80, 0, 0, 0, 0}, {8, 5431, 64, 0, 0, 0, 0}, {8, 48, 4608, 64, 5376, 0, 0}, {108, 13107, 21845, 0, 0, 0, 0}, {1290, 48, 80, 0, 0, 0, 0}, {8, 4403, 68, 0, 0, 0, 0}, {60, 13056, 21760, 0, 0, 0, 0}, {8, 32, 514, 64, 5397, 0, 0}, {4354, 20, 0, 0, 0, 0, 0}, {21823, 0, 0, 0, 0, 0, 0}, {64, 5376, 0, 0, 0, 0, 0}, {20, 4369, 0, 0, 0, 0, 0}, {21826, 0, 0, 0, 0, 0, 0}, {21827, 0, 0, 0, 0, 0, 0}, {68, 4352, 0, 0, 0, 0, 0}, {1285, 16, 0, 0, 0, 0, 0}, {21830, 0, 0, 0, 0, 0, 0}, {21831, 0, 0, 0, 0, 0, 0}, {72, 8704, 21760, 0, 0, 0, 0}, {28, 32, 4883, 80, 1285, 0, 0}, {5386, 32, 64, 0, 0, 0, 0}, {4367, 4403, 68, 0, 0, 0, 0}, {76, 13056, 21760, 0, 0, 0, 0}, {24, 48, 4626, 80, 1285, 0, 0}, {4362, 4386, 68, 0, 0, 0, 0}, {5391, 48, 64, 0, 0, 0, 0}, {80, 1280, 0, 0, 0, 0, 0}, {4, 4369, 0, 0, 0, 0, 0}, {21842, 0, 0, 0, 0, 0, 0}, {21843, 0, 0, 0, 0, 0, 0}, {4, 16, 256, 0, 0, 0, 0}, {21845, 0, 0, 0, 0, 0, 0}, {21846, 0, 0, 0, 0, 0, 0}, {21847, 0, 0, 0, 0, 0, 0}, {8, 32, 512, 80, 1280, 0, 0}, {12, 13107, 21845, 0, 0, 0, 0}, {21850, 0, 0, 0, 0, 0, 0}, {4371, 4, 0, 0, 0, 0, 0}, {12, 48, 768, 80, 1280, 0, 0}, {8, 8738, 21845, 0, 0, 0, 0}, {4370, 4, 0, 0, 0, 0, 0}, {21855, 0, 0, 0, 0, 0, 0}, {2560, 96, 21760, 0, 0, 0, 0}, {8, 52, 1799, 68, 4369, 0, 0}, {8, 5410, 64, 0, 0, 0, 0}, {1295, 1331, 80, 0, 0, 0, 0}, {8, 32, 512, 68, 4352, 0, 0}, {3855, 48, 21845, 0, 0, 0, 0}, {21862, 0, 0, 0, 0, 0, 0}, {1287, 16, 0, 0, 0, 0, 0}, {8, 32, 512, 64, 5376, 0, 0}, {60, 13107, 21845, 0, 0, 0, 0}, {21866, 0, 0, 0, 0, 0, 0}, {4371, 20, 0, 0, 0, 0, 0}, {108, 13056, 21760, 0, 0, 0, 0}, {8, 48, 4626, 64, 5397, 0, 0}, {8, 4386, 68, 0, 0, 0, 0}, {1295, 48, 80, 0, 0, 0, 0}, {3840, 112, 21760, 0, 0, 0, 0}, {12, 36, 1542, 68, 4369, 0, 0}, {1290, 1314, 80, 0, 0, 0, 0}, {12, 5427, 64, 0, 0, 0, 0}, {12, 48, 768, 68, 4352, 0, 0}, {2570, 32, 21845, 0, 0, 0, 0}, {1286, 16, 0, 0, 0, 0, 0}, {21879, 0, 0, 0, 0, 0, 0}, {120, 8704, 21760, 0, 0, 0, 0}, {12, 32, 4883, 64, 5397, 0, 0}, {1290, 32, 80, 0, 0, 0, 0}, {12, 4403, 68, 0, 0, 0, 0}, {12, 48, 768, 64, 5376, 0, 0}, {40, 8738, 21845, 0, 0, 0, 0}, {4370, 20, 0, 0, 0, 0, 0}, {21887, 0, 0, 0, 0, 0, 0}, {128, 10752, 21760, 0, 0, 0, 0}, {48, 771, 20, 4369, 0, 0, 0}, {21770, 21794, 0, 0, 0, 0, 0}, {5379, 64, 0, 0, 0, 0, 0}, {12, 68, 4352, 0, 0, 0, 0}, {32, 80, 1285, 0, 0, 0, 0}, {5382, 64, 0, 0, 0, 0, 0}, {21775, 21879, 0, 0, 0, 0, 0}, {136, 8704, 21760, 0, 0, 0, 0}, {12, 771, 1285, 16, 0, 0, 0}, {21770, 32, 0, 0, 0, 0, 0}, {4355, 68, 0, 0, 0, 0, 0}, {12, 13056, 64, 5376, 0, 0, 0}, {40, 8738, 80, 1285, 0, 0, 0}, {4358, 68, 0, 0, 0, 0, 0}, {21775, 112, 0, 0, 0, 0, 0}, {48, 80, 1280, 0, 0, 0, 0}, {8, 68, 4369, 0, 0, 0, 0}, {5394, 64, 0, 0, 0, 0, 0}, {21855, 21811, 0, 0, 0, 0, 0}, {32, 512, 20, 4352, 0, 0, 0}, {192, 16191, 21845, 0, 0, 0, 0}, {21850, 21862, 0, 0, 0, 0, 0}, {5399, 64, 0, 0, 0, 0, 0}, {8, 512, 1280, 16, 0, 0, 0}, {204, 13107, 21845, 0, 0, 0, 0}, {21850, 48, 0, 0, 0, 0, 0}, {4371, 68, 0, 0, 0, 0, 0}, {60, 13056, 80, 1280, 0, 0, 0}, {8, 8738, 64, 5397, 0, 0, 0}, {4374, 68, 0, 0, 0, 0, 0}, {21855, 96, 0, 0, 0, 0, 0}, {160, 2560, 21760, 0, 0, 0, 0}, {48, 771, 4, 4369, 0, 0, 0}, {8, 21794, 0, 0, 0, 0, 0}, {1283, 80, 0, 0, 0, 0, 0}, {32, 512, 4, 4352, 0, 0, 0}, {240, 3855, 21845, 0, 0, 0, 0}, {12, 21862, 0, 0, 0, 0, 0}, {1287, 80, 0, 0, 0, 0, 0}, {8, 32, 512, 21760, 0, 0, 0}, {12, 48, 771, 21845, 0, 0, 0}, {21930, 0, 0, 0, 0, 0, 0}, {259, 4, 16, 0, 0, 0, 0}, {12, 96, 1536, 21760, 0, 0, 0}, {8, 112, 1799, 21845, 0, 0, 0}, {4386, 4, 0, 0, 0, 0, 0}, {1295, 80, 0, 0, 0, 0, 0}, {48, 64, 5376, 0, 0, 0, 0}, {40, 68, 4369, 0, 0, 0, 0}, {1298, 80, 0, 0, 0, 0, 0}, {76, 21811, 0, 0, 0, 0, 0}, {60, 68, 4352, 0, 0, 0, 0}, {32, 64, 5397, 0, 0, 0, 0}, {1302, 80, 0, 0, 0, 0, 0}, {72, 21879, 0, 0, 0, 0, 0}, {72, 48, 4608, 21760, 0, 0, 0}, {76, 32, 4883, 21845, 0, 0, 0}, {1290, 16, 0, 0, 0, 0, 0}, {4403, 68, 0, 0, 0, 0, 0}, {76, 112, 5632, 21760, 0, 0, 0}, {72, 96, 5911, 21845, 0, 0, 0}, {4386, 20, 0, 0, 0, 0, 0}, {5439, 64, 0, 0, 0, 0, 0}, {192, 16128, 21760, 0, 0, 0, 0}, {32, 514, 20, 4369, 0, 0, 0}, {5378, 64, 0, 0, 0, 0, 0}, {21775, 21811, 0, 0, 0, 0, 0}, {8, 68, 4352, 0, 0, 0, 0}, {48, 80, 1285, 0, 0, 0, 0}, {21770, 21862, 0, 0, 0, 0, 0}, {5383, 64, 0, 0, 0, 0, 0}, {8, 8704, 64, 5376, 0, 0, 0}, {60, 13107, 80, 1285, 0, 0, 0}, {21770, 96, 0, 0, 0, 0, 0}, {4359, 68, 0, 0, 0, 0, 0}, {204, 13056, 21760, 0, 0, 0, 0}, {8, 514, 1285, 16, 0, 0, 0}, {4354, 68, 0, 0, 0, 0, 0}, {21775, 48, 0, 0, 0, 0, 0}, {32, 80, 1280, 0, 0, 0, 0}, {12, 68, 4369, 0, 0, 0, 0}, {21850, 21794, 0, 0, 0, 0, 0}, {5395, 64, 0, 0, 0, 0, 0}, {48, 768, 20, 4352, 0, 0, 0}, {128, 10794, 21845, 0, 0, 0, 0}, {5398, 64, 0, 0, 0, 0, 0}, {21855, 21879, 0, 0, 0, 0, 0}, {40, 8704, 80, 1280, 0, 0, 0}, {12, 13107, 64, 5397, 0, 0, 0}, {21850, 112, 0, 0, 0, 0, 0}, {4375, 68, 0, 0, 0, 0, 0}, {12, 768, 1280, 16, 0, 0, 0}, {136, 8738, 21845, 0, 0, 0, 0}, {4370, 68, 0, 0, 0, 0, 0}, {21855, 32, 0, 0, 0, 0, 0}, {32, 64, 5376, 0, 0, 0, 0}, {60, 68, 4369, 0, 0, 0, 0}, {72, 21794, 0, 0, 0, 0, 0}, {1299, 80, 0, 0, 0, 0, 0}, {40, 68, 4352, 0, 0, 0, 0}, {48, 64, 5397, 0, 0, 0, 0}, {76, 21862, 0, 0, 0, 0, 0}, {1303, 80, 0, 0, 0, 0, 0}, {72, 96, 5888, 21760, 0, 0, 0}, {76, 112, 5654, 21845, 0, 0, 0}, {5418, 64, 0, 0, 0, 0, 0}, {4403, 20, 0, 0, 0, 0, 0}, {76, 32, 4864, 21760, 0, 0, 0}, {72, 48, 4626, 21845, 0, 0, 0}, {4386, 68, 0, 0, 0, 0, 0}, {1295, 16, 0, 0, 0, 0, 0}, {240, 3840, 21760, 0, 0, 0, 0}, {32, 514, 4, 4369, 0, 0, 0}, {1282, 80, 0, 0, 0, 0, 0}, {12, 21811, 0, 0, 0, 0, 0}, {48, 768, 4, 4352, 0, 0, 0}, {160, 2570, 21845, 0, 0, 0, 0}, {1286, 80, 0, 0, 0, 0, 0}, {8, 21879, 0, 0, 0, 0, 0}, {8, 112, 1792, 21760, 0, 0, 0}, {12, 96, 1542, 21845, 0, 0, 0}, {1290, 80, 0, 0, 0, 0, 0}, {4403, 4, 0, 0, 0, 0, 0}, {12, 48, 768, 21760, 0, 0, 0}, {8, 32, 514, 21845, 0, 0, 0}, {258, 4, 16, 0, 0, 0, 0}, {22015, 0, 0, 0, 0, 0, 0}, {22016, 0, 0, 0, 0, 0, 0}, {87, 257, 0, 0, 0, 0, 0}, {8, 32, 514, 1024, 4096, 0, 0}, {255, 771, 21760, 0, 0, 0, 0}, {8, 4672, 1028, 0, 0, 0, 0}, {95, 848, 1285, 0, 0, 0, 0}, {160, 1542, 20480, 0, 0, 0, 0}, {8, 119, 775, 1024, 4352, 0, 0}, {8, 4608, 1024, 0, 0, 0, 0}, {95, 771, 1285, 0, 0, 0, 0}, {1546, 12288, 20480, 0, 0, 0, 0}, {8, 4403, 771, 4420, 1028, 0, 0}, {22028, 0, 0, 0, 0, 0, 0}, {4354, 261, 0, 0, 0, 0, 0}, {8, 32, 514, 4160, 1028, 0, 0}, {783, 13056, 21760, 0, 0, 0, 0}, {32, 1600, 4112, 0, 0, 0, 0}, {119, 836, 4369, 0, 0, 0, 0}, {136, 4626, 17408, 0, 0, 0, 0}, {95, 32, 787, 1280, 4096, 0, 0}, {40, 4688, 5140, 0, 0, 0, 0}, {127, 832, 5397, 0, 0, 0, 0}, {128, 5654, 16384, 0, 0, 0, 0}, {95, 119, 791, 1280, 4352, 0, 0}, {4632, 4656, 5200, 0, 0, 0, 0}, {5657, 819, 5461, 0, 0, 0, 0}, {5722, 12336, 16448, 0, 0, 0, 0}, {4379, 4403, 4608, 4420, 1280, 0, 0}, {5660, 32, 4176, 0, 0, 0, 0}, {4637, 4386, 4437, 0, 0, 0, 0}, {4698, 8738, 17476, 0, 0, 0, 0}, {4127, 32, 4864, 4160, 1280, 0, 0}, {32, 1536, 4096, 0, 0, 0, 0}, {119, 771, 4369, 0, 0, 0, 0}, {3072, 4642, 17408, 0, 0, 0, 0}, {1295, 32, 771, 1360, 4112, 0, 0}, {1548, 1572, 5188, 0, 0, 0, 0}, {783, 5669, 5461, 0, 0, 0, 0}, {3084, 5734, 16448, 0, 0, 0, 0}, {1295, 1319, 1536, 1360, 4352, 0, 0}, {40, 4608, 5120, 0, 0, 0, 0}, {127, 771, 5397, 0, 0, 0, 0}, {5674, 12288, 16384, 0, 0, 0, 0}, {4379, 4403, 771, 4420, 5140, 0, 0}, {1548, 32, 4160, 0, 0, 0, 0}, {783, 4386, 4437, 0, 0, 0, 0}, {4714, 8738, 17476, 0, 0, 0, 0}, {4111, 32, 4864, 4176, 5376, 0, 0}, {22064, 0, 0, 0, 0, 0, 0}, {1282, 273, 0, 0, 0, 0, 0}, {8, 32, 514, 1088, 4112, 0, 0}, {3840, 819, 21760, 0, 0, 0, 0}, {8, 5684, 1092, 0, 0, 0, 0}, {1290, 1589, 1365, 0, 0, 0, 0}, {2570, 1638, 20560, 0, 0, 0, 0}, {8, 1079, 1792, 1088, 4352, 0, 0}, {8, 4656, 1088, 0, 0, 0, 0}, {1290, 819, 1365, 0, 0, 0, 0}, {1642, 12336, 20560, 0, 0, 0, 0}, {8, 4403, 4608, 4420, 5376, 0, 0}, {22076, 0, 0, 0, 0, 0, 0}, {4354, 277, 0, 0, 0, 0, 0}, {8, 32, 514, 4176, 5140, 0, 0}, {831, 13056, 21760, 0, 0, 0, 0}, {128, 5632, 16448, 0, 0, 0, 0}, {95, 119, 788, 1285, 4369, 0, 0}, {40, 4674, 5120, 0, 0, 0, 0}, {127, 835, 5376, 0, 0, 0, 0}, {136, 4608, 17476, 0, 0, 0, 0}, {95, 32, 784, 1285, 4112, 0, 0}, {32, 1606, 4096, 0, 0, 0, 0}, {119, 839, 4352, 0, 0, 0, 0}, {4680, 8704, 17408, 0, 0, 0, 0}, {4111, 32, 4883, 4176, 1285, 0, 0}, {5642, 32, 4160, 0, 0, 0, 0}, {4623, 4403, 4420, 0, 0, 0, 0}, {5708, 12288, 16384, 0, 0, 0, 0}, {4362, 4386, 4626, 4437, 1285, 0, 0}, {4618, 4642, 5188, 0, 0, 0, 0}, {5647, 816, 5440, 0, 0, 0, 0}, {160, 1536, 20560, 0, 0, 0, 0}, {8, 119, 772, 1028, 4369, 0, 0}, {8, 4690, 1024, 0, 0, 0, 0}, {95, 851, 1280, 0, 0, 0, 0}, {8, 32, 512, 1028, 4112, 0, 0}, {255, 768, 21845, 0, 0, 0, 0}, {22102, 0, 0, 0, 0, 0, 0}, {87, 256, 0, 0, 0, 0, 0}, {8, 32, 512, 4176, 1024, 0, 0}, {780, 13107, 21845, 0, 0, 0, 0}, {22106, 0, 0, 0, 0, 0, 0}, {4371, 260, 0, 0, 0, 0, 0}, {1548, 12336, 20560, 0, 0, 0, 0}, {8, 4386, 768, 4437, 1024, 0, 0}, {8, 4626, 1028, 0, 0, 0, 0}, {95, 768, 1280, 0, 0, 0, 0}, {2560, 1632, 20480, 0, 0, 0, 0}, {8, 1075, 1799, 1092, 4369, 0, 0}, {8, 5666, 1088, 0, 0, 0, 0}, {1295, 1587, 1360, 0, 0, 0, 0}, {8, 32, 512, 1092, 4096, 0, 0}, {3855, 816, 21845, 0, 0, 0, 0}, {22118, 0, 0, 0, 0, 0, 0}, {1287, 272, 0, 0, 0, 0, 0}, {8, 32, 512, 4160, 5120, 0, 0}, {828, 13107, 21845, 0, 0, 0, 0}, {22122, 0, 0, 0, 0, 0, 0}, {4371, 276, 0, 0, 0, 0, 0}, {1644, 12288, 20480, 0, 0, 0, 0}, {8, 4386, 4626, 4437, 5397, 0, 0}, {8, 4642, 1092, 0, 0, 0, 0}, {1295, 816, 1360, 0, 0, 0, 0}, {3072, 5744, 16384, 0, 0, 0, 0}, {1290, 1314, 1542, 1365, 4369, 0, 0}, {1546, 1570, 5200, 0, 0, 0, 0}, {780, 5683, 5440, 0, 0, 0, 0}, {3084, 4656, 17476, 0, 0, 0, 0}, {1290, 32, 768, 1365, 4096, 0, 0}, {32, 1542, 4112, 0, 0, 0, 0}, {119, 768, 4352, 0, 0, 0, 0}, {4728, 8704, 17408, 0, 0, 0, 0}, {4127, 32, 4883, 4160, 5397, 0, 0}, {1546, 32, 4176, 0, 0, 0, 0}, {780, 4403, 4420, 0, 0, 0, 0}, {5692, 12336, 16448, 0, 0, 0, 0}, {4362, 4386, 768, 4437, 5120, 0, 0}, {40, 4626, 5140, 0, 0, 0, 0}, {127, 768, 5376, 0, 0, 0, 0}, {128, 5632, 16384, 0, 0, 0, 0}, {95, 119, 771, 1285, 4369, 0, 0}, {4618, 4642, 5120, 0, 0, 0, 0}, {5439, 771, 5440, 0, 0, 0, 0}, {4680, 8704, 17476, 0, 0, 0, 0}, {4111, 32, 4864, 4176, 1285, 0, 0}, {32, 1542, 4160, 0, 0, 0, 0}, {783, 119, 4352, 0, 0, 0, 0}, {136, 4608, 17408, 0, 0, 0, 0}, {95, 32, 771, 1285, 4112, 0, 0}, {1546, 32, 4096, 0, 0, 0, 0}, {4403, 771, 4420, 0, 0, 0, 0}, {5708, 12352, 16448, 0, 0, 0, 0}, {4362, 4386, 4613, 4437, 1285, 0, 0}, {40, 1542, 5188, 0, 0, 0, 0}, {783, 880, 5376, 0, 0, 0, 0}, {2560, 1632, 20560, 0, 0, 0, 0}, {8, 1075, 1792, 1092, 4369, 0, 0}, {8, 4626, 1088, 0, 0, 0, 0}, {95, 819, 1280, 0, 0, 0, 0}, {8, 32, 512, 4176, 5140, 0, 0}, {831, 13056, 21845, 0, 0, 0, 0}, {22166, 23130, 26214, 0, 0, 0, 0}, {279, 320, 1280, 4352, 0, 0, 0}, {8, 32, 512, 1088, 4112, 0, 0}, {3840, 819, 21845, 0, 0, 0, 0}, {22170, 23130, 12336, 0, 0, 0, 0}, {275, 324, 1280, 4096, 0, 0, 0}, {1644, 12368, 20560, 0, 0, 0, 0}, {8, 4386, 4629, 4437, 5397, 0, 0}, {8, 5654, 1092, 0, 0, 0, 0}, {95, 864, 1280, 0, 0, 0, 0}, {160, 1536, 20480, 0, 0, 0, 0}, {8, 119, 771, 1028, 4369, 0, 0}, {8, 4642, 1024, 0, 0, 0, 0}, {1295, 771, 1360, 0, 0, 0, 0}, {8, 32, 512, 4160, 1028, 0, 0}, {783, 13056, 21845, 0, 0, 0, 0}, {22182, 3084, 26214, 0, 0, 0, 0}, {263, 336, 1024, 4352, 0, 0, 0}, {8, 32, 512, 1024, 4096, 0, 0}, {255, 771, 21845, 0, 0, 0, 0}, {22186, 3072, 12288, 0, 0, 0, 0}, {259, 340, 1028, 4112, 0, 0, 0}, {1548, 12384, 20480, 0, 0, 0, 0}, {8, 4386, 775, 4437, 1024, 0, 0}, {8, 4706, 1028, 0, 0, 0, 0}, {1295, 1536, 1360, 0, 0, 0, 0}, {3136, 5744, 16448, 0, 0, 0, 0}, {1290, 1314, 1553, 1365, 4369, 0, 0}, {40, 4626, 5200, 0, 0, 0, 0}, {844, 819, 5376, 0, 0, 0, 0}, {4728, 8704, 17476, 0, 0, 0, 0}, {4127, 32, 4864, 4160, 5397, 0, 0}, {32, 5654, 4176, 0, 0, 0, 0}, {840, 119, 4352, 0, 0, 0, 0}, {3144, 4656, 17408, 0, 0, 0, 0}, {1290, 32, 787, 1365, 4096, 0, 0}, {1610, 32, 4112, 0, 0, 0, 0}, {4403, 4608, 4420, 0, 0, 0, 0}, {5692, 12400, 16384, 0, 0, 0, 0}, {4362, 4386, 791, 4437, 5120, 0, 0}, {4698, 4722, 5140, 0, 0, 0, 0}, {5439, 5632, 5440, 0, 0, 0, 0}, {22208, 23040, 26112, 0, 0, 0, 0}, {278, 321, 1285, 4369, 0, 0, 0}, {8, 32, 514, 4160, 5120, 0, 0}, {828, 13107, 21760, 0, 0, 0, 0}, {8, 4608, 1092, 0, 0, 0, 0}, {95, 816, 1285, 0, 0, 0, 0}, {2570, 1638, 20480, 0, 0, 0, 0}, {8, 1079, 1799, 1088, 4352, 0, 0}, {8, 5632, 1088, 0, 0, 0, 0}, {95, 867, 1285, 0, 0, 0, 0}, {1642, 12384, 20480, 0, 0, 0, 0}, {8, 4403, 4615, 4420, 5376, 0, 0}, {22220, 23040, 12288, 0, 0, 0, 0}, {274, 325, 1285, 4112, 0, 0, 0}, {8, 32, 514, 1092, 4096, 0, 0}, {3855, 816, 21760, 0, 0, 0, 0}, {32, 1536, 4176, 0, 0, 0, 0}, {780, 119, 4369, 0, 0, 0, 0}, {4698, 8738, 17408, 0, 0, 0, 0}, {4127, 32, 4883, 4160, 1280, 0, 0}, {4632, 4656, 5140, 0, 0, 0, 0}, {5418, 768, 5461, 0, 0, 0, 0}, {128, 5654, 16448, 0, 0, 0, 0}, {95, 119, 768, 1280, 4352, 0, 0}, {40, 1536, 5200, 0, 0, 0, 0}, {780, 883, 5397, 0, 0, 0, 0}, {5722, 12400, 16384, 0, 0, 0, 0}, {4379, 4403, 4631, 4420, 1280, 0, 0}, {1548, 32, 4112, 0, 0, 0, 0}, {4386, 768, 4437, 0, 0, 0, 0}, {136, 4626, 17476, 0, 0, 0, 0}, {95, 32, 768, 1280, 4096, 0, 0}, {32, 5632, 4160, 0, 0, 0, 0}, {843, 119, 4369, 0, 0, 0, 0}, {4714, 8738, 17408, 0, 0, 0, 0}, {4111, 32, 4883, 4176, 5376, 0, 0}, {40, 4608, 5188, 0, 0, 0, 0}, {847, 816, 5397, 0, 0, 0, 0}, {3148, 5734, 16384, 0, 0, 0, 0}, {1295, 1319, 1559, 1360, 4352, 0, 0}, {4680, 4704, 5120, 0, 0, 0, 0}, {5418, 5654, 5461, 0, 0, 0, 0}, {5674, 12352, 16448, 0, 0, 0, 0}, {4379, 4403, 788, 4420, 5140, 0, 0}, {1612, 32, 4096, 0, 0, 0, 0}, {4386, 4626, 4437, 0, 0, 0, 0}, {3140, 4642, 17476, 0, 0, 0, 0}, {1295, 32, 784, 1360, 4112, 0, 0}, {22256, 3072, 26112, 0, 0, 0, 0}, {262, 337, 1028, 4369, 0, 0, 0}, {8, 32, 514, 4176, 1024, 0, 0}, {780, 13107, 21760, 0, 0, 0, 0}, {8, 4656, 1028, 0, 0, 0, 0}, {1290, 768, 1365, 0, 0, 0, 0}, {160, 1542, 20560, 0, 0, 0, 0}, {8, 119, 768, 1024, 4352, 0, 0}, {8, 4720, 1024, 0, 0, 0, 0}, {1290, 1542, 1365, 0, 0, 0, 0}, {1546, 12368, 20560, 0, 0, 0, 0}, {8, 4403, 772, 4420, 1028, 0, 0}, {22268, 3084, 12336, 0, 0, 0, 0}, {258, 341, 1024, 4096, 0, 0, 0}, {8, 32, 514, 1028, 4112, 0, 0}, {255, 768, 21760, 0, 0, 0, 0}, {22272, 0, 0, 0, 0, 0, 0}, {86, 257, 0, 0, 0, 0, 0}, {170, 514, 21760, 0, 0, 0, 0}, {12, 48, 771, 1024, 4096, 0, 0}, {12, 4928, 1028, 0, 0, 0, 0}, {90, 592, 1285, 0, 0, 0, 0}, {12, 102, 518, 1024, 4352, 0, 0}, {240, 1799, 20480, 0, 0, 0, 0}, {22280, 0, 0, 0, 0, 0, 0}, {4355, 261, 0, 0, 0, 0, 0}, {522, 8704, 21760, 0, 0, 0, 0}, {12, 48, 771, 4160, 1028, 0, 0}, {12, 4864, 1024, 0, 0, 0, 0}, {90, 514, 1285, 0, 0, 0, 0}, {12, 4386, 514, 4420, 1028, 0, 0}, {1807, 8192, 20480, 0, 0, 0, 0}, {48, 1856, 4112, 0, 0, 0, 0}, {102, 580, 4369, 0, 0, 0, 0}, {90, 48, 530, 1280, 4096, 0, 0}, {204, 4883, 17408, 0, 0, 0, 0}, {60, 4944, 5140, 0, 0, 0, 0}, {106, 576, 5397, 0, 0, 0, 0}, {90, 102, 534, 1280, 4352, 0, 0}, {192, 5911, 16384, 0, 0, 0, 0}, {5912, 48, 4176, 0, 0, 0, 0}, {4889, 4403, 4437, 0, 0, 0, 0}, {4122, 48, 4608, 4160, 1280, 0, 0}, {4959, 13107, 17476, 0, 0, 0, 0}, {4892, 4896, 5200, 0, 0, 0, 0}, {5917, 546, 5461, 0, 0, 0, 0}, {4382, 4386, 4864, 4420, 1280, 0, 0}, {5983, 8224, 16448, 0, 0, 0, 0}, {22304, 0, 0, 0, 0, 0, 0}, {1283, 273, 0, 0, 0, 0, 0}, {2560, 546, 21760, 0, 0, 0, 0}, {12, 48, 771, 1088, 4112, 0, 0}, {12, 5924, 1092, 0, 0, 0, 0}, {1295, 1829, 1365, 0, 0, 0, 0}, {12, 1062, 1536, 1088, 4352, 0, 0}, {3855, 1911, 20560, 0, 0, 0, 0}, {22312, 0, 0, 0, 0, 0, 0}, {4355, 277, 0, 0, 0, 0, 0}, {554, 8704, 21760, 0, 0, 0, 0}, {12, 48, 771, 4176, 5140, 0, 0}, {12, 4896, 1088, 0, 0, 0, 0}, {1295, 546, 1365, 0, 0, 0, 0}, {12, 4386, 4864, 4420, 5376, 0, 0}, {1919, 8224, 20560, 0, 0, 0, 0}, {48, 1792, 4096, 0, 0, 0, 0}, {102, 514, 4369, 0, 0, 0, 0}, {1290, 48, 514, 1360, 4112, 0, 0}, {2048, 4915, 17408, 0, 0, 0, 0}, {1800, 1844, 5188, 0, 0, 0, 0}, {522, 5941, 5461, 0, 0, 0, 0}, {1290, 1334, 1792, 1360, 4352, 0, 0}, {2056, 6007, 16448, 0, 0, 0, 0}, {1800, 48, 4160, 0, 0, 0, 0}, {522, 4403, 4437, 0, 0, 0, 0}, {4106, 48, 4608, 4176, 5376, 0, 0}, {4991, 13107, 17476, 0, 0, 0, 0}, {60, 4864, 5120, 0, 0, 0, 0}, {106, 514, 5397, 0, 0, 0, 0}, {4382, 4386, 514, 4420, 5140, 0, 0}, {5951, 8192, 16384, 0, 0, 0, 0}, {192, 5888, 16448, 0, 0, 0, 0}, {90, 102, 532, 1285, 4369, 0, 0}, {106, 578, 5376, 0, 0, 0, 0}, {60, 4931, 5120, 0, 0, 0, 0}, {204, 4864, 17476, 0, 0, 0, 0}, {90, 48, 528, 1285, 4112, 0, 0}, {102, 582, 4352, 0, 0, 0, 0}, {48, 1863, 4096, 0, 0, 0, 0}, {5960, 8192, 16384, 0, 0, 0, 0}, {4367, 4403, 4883, 4437, 1285, 0, 0}, {5898, 544, 5440, 0, 0, 0, 0}, {4879, 4915, 5188, 0, 0, 0, 0}, {4940, 13056, 17408, 0, 0, 0, 0}, {4106, 48, 4626, 4176, 1285, 0, 0}, {4874, 4386, 4420, 0, 0, 0, 0}, {5903, 48, 4160, 0, 0, 0, 0}, {240, 1792, 20560, 0, 0, 0, 0}, {12, 102, 516, 1028, 4369, 0, 0}, {90, 594, 1280, 0, 0, 0, 0}, {12, 4947, 1024, 0, 0, 0, 0}, {12, 48, 768, 1028, 4112, 0, 0}, {170, 512, 21845, 0, 0, 0, 0}, {86, 256, 0, 0, 0, 0, 0}, {22359, 0, 0, 0, 0, 0, 0}, {1800, 8224, 20560, 0, 0, 0, 0}, {12, 4403, 512, 4437, 1024, 0, 0}, {90, 512, 1280, 0, 0, 0, 0}, {12, 4883, 1028, 0, 0, 0, 0}, {12, 48, 768, 4176, 1024, 0, 0}, {520, 8738, 21845, 0, 0, 0, 0}, {4370, 260, 0, 0, 0, 0, 0}, {22367, 0, 0, 0, 0, 0, 0}, {2048, 5984, 16384, 0, 0, 0, 0}, {1295, 1331, 1799, 1365, 4369, 0, 0}, {520, 5922, 5440, 0, 0, 0, 0}, {1807, 1843, 5200, 0, 0, 0, 0}, {2056, 4896, 17476, 0, 0, 0, 0}, {1295, 48, 512, 1365, 4096, 0, 0}, {102, 512, 4352, 0, 0, 0, 0}, {48, 1799, 4112, 0, 0, 0, 0}, {5928, 8224, 16448, 0, 0, 0, 0}, {4367, 4403, 512, 4437, 5120, 0, 0}, {106, 512, 5376, 0, 0, 0, 0}, {60, 4883, 5140, 0, 0, 0, 0}, {4972, 13056, 17408, 0, 0, 0, 0}, {4122, 48, 4626, 4160, 5397, 0, 0}, {520, 4386, 4420, 0, 0, 0, 0}, {1807, 48, 4176, 0, 0, 0, 0}, {3840, 1904, 20480, 0, 0, 0, 0}, {12, 1058, 1542, 1092, 4369, 0, 0}, {1290, 1826, 1360, 0, 0, 0, 0}, {12, 5939, 1088, 0, 0, 0, 0}, {12, 48, 768, 1092, 4096, 0, 0}, {2570, 544, 21845, 0, 0, 0, 0}, {1286, 272, 0, 0, 0, 0, 0}, {22391, 0, 0, 0, 0, 0, 0}, {1912, 8192, 20480, 0, 0, 0, 0}, {12, 4403, 4883, 4437, 5397, 0, 0}, {1290, 544, 1360, 0, 0, 0, 0}, {12, 4915, 1092, 0, 0, 0, 0}, {12, 48, 768, 4160, 5120, 0, 0}, {552, 8738, 21845, 0, 0, 0, 0}, {4370, 276, 0, 0, 0, 0, 0}, {22399, 0, 0, 0, 0, 0, 0}, {22400, 24320, 30464, 0, 0, 0, 0}, {279, 321, 1285, 4369, 0, 0, 0}, {552, 8738, 21760, 0, 0, 0, 0}, {12, 48, 771, 4160, 5120, 0, 0}, {12, 4864, 1092, 0, 0, 0, 0}, {90, 544, 1285, 0, 0, 0, 0}, {12, 1062, 1542, 1088, 4352, 0, 0}, {3855, 1911, 20480, 0, 0, 0, 0}, {22408, 24320, 8192, 0, 0, 0, 0}, {275, 325, 1285, 4112, 0, 0, 0}, {2570, 544, 21760, 0, 0, 0, 0}, {12, 48, 771, 1092, 4096, 0, 0}, {12, 5888, 1088, 0, 0, 0, 0}, {90, 626, 1285, 0, 0, 0, 0}, {12, 4386, 4870, 4420, 5376, 0, 0}, {1919, 8304, 20480, 0, 0, 0, 0}, {48, 1792, 4176, 0, 0, 0, 0}, {520, 102, 4369, 0, 0, 0, 0}, {4122, 48, 4626, 4160, 1280, 0, 0}, {4959, 13107, 17408, 0, 0, 0, 0}, {4892, 4896, 5140, 0, 0, 0, 0}, {5439, 512, 5461, 0, 0, 0, 0}, {90, 102, 512, 1280, 4352, 0, 0}, {192, 5911, 16448, 0, 0, 0, 0}, {1800, 48, 4112, 0, 0, 0, 0}, {4403, 512, 4437, 0, 0, 0, 0}, {90, 48, 512, 1280, 4096, 0, 0}, {204, 4883, 17476, 0, 0, 0, 0}, {60, 1792, 5200, 0, 0, 0, 0}, {520, 610, 5397, 0, 0, 0, 0}, {4382, 4386, 4886, 4420, 1280, 0, 0}, {5983, 8288, 16384, 0, 0, 0, 0}, {22432, 2048, 30464, 0, 0, 0, 0}, {263, 337, 1028, 4369, 0, 0, 0}, {520, 8738, 21760, 0, 0, 0, 0}, {12, 48, 771, 4176, 1024, 0, 0}, {12, 4896, 1028, 0, 0, 0, 0}, {1295, 512, 1365, 0, 0, 0, 0}, {12, 102, 512, 1024, 4352, 0, 0}, {240, 1799, 20560, 0, 0, 0, 0}, {22440, 2056, 8224, 0, 0, 0, 0}, {259, 341, 1024, 4096, 0, 0, 0}, {170, 512, 21760, 0, 0, 0, 0}, {12, 48, 771, 1028, 4112, 0, 0}, {12, 4960, 1024, 0, 0, 0, 0}, {1295, 1799, 1365, 0, 0, 0, 0}, {12, 4386, 516, 4420, 1028, 0, 0}, {1807, 8272, 20560, 0, 0, 0, 0}, {48, 5888, 4160, 0, 0, 0, 0}, {590, 102, 4369, 0, 0, 0, 0}, {4106, 48, 4626, 4176, 5376, 0, 0}, {4991, 13107, 17408, 0, 0, 0, 0}, {60, 4864, 5188, 0, 0, 0, 0}, {586, 544, 5397, 0, 0, 0, 0}, {1290, 1334, 1814, 1360, 4352, 0, 0}, {2120, 6007, 16384, 0, 0, 0, 0}, {1864, 48, 4096, 0, 0, 0, 0}, {4403, 4883, 4437, 0, 0, 0, 0}, {1290, 48, 528, 1360, 4112, 0, 0}, {2116, 4915, 17476, 0, 0, 0, 0}, {4940, 4976, 5120, 0, 0, 0, 0}, {5439, 5911, 5461, 0, 0, 0, 0}, {4382, 4386, 532, 4420, 5140, 0, 0}, {5951, 8256, 16448, 0, 0, 0, 0}, {192, 5888, 16384, 0, 0, 0, 0}, {90, 102, 514, 1285, 4369, 0, 0}, {5418, 514, 5440, 0, 0, 0, 0}, {4879, 4915, 5120, 0, 0, 0, 0}, {4940, 13056, 17476, 0, 0, 0, 0}, {4106, 48, 4608, 4176, 1285, 0, 0}, {522, 102, 4352, 0, 0, 0, 0}, {48, 1799, 4160, 0, 0, 0, 0}, {5960, 8256, 16448, 0, 0, 0, 0}, {4367, 4403, 4869, 4437, 1285, 0, 0}, {522, 608, 5376, 0, 0, 0, 0}, {60, 1799, 5188, 0, 0, 0, 0}, {204, 4864, 17408, 0, 0, 0, 0}, {90, 48, 514, 1285, 4112, 0, 0}, {4386, 514, 4420, 0, 0, 0, 0}, {1807, 48, 4096, 0, 0, 0, 0}, {3840, 1904, 20560, 0, 0, 0, 0}, {12, 1058, 1536, 1092, 4369, 0, 0}, {90, 546, 1280, 0, 0, 0, 0}, {12, 4883, 1088, 0, 0, 0, 0}, {12, 48, 768, 4176, 5140, 0, 0}, {554, 8704, 21845, 0, 0, 0, 0}, {278, 320, 1280, 4352, 0, 0, 0}, {22487, 24415, 30583, 0, 0, 0, 0}, {1912, 8272, 20560, 0, 0, 0, 0}, {12, 4403, 4885, 4437, 5397, 0, 0}, {90, 624, 1280, 0, 0, 0, 0}, {12, 5911, 1092, 0, 0, 0, 0}, {12, 48, 768, 1088, 4112, 0, 0}, {2560, 546, 21845, 0, 0, 0, 0}, {274, 324, 1280, 4096, 0, 0, 0}, {22495, 24415, 8224, 0, 0, 0, 0}, {2112, 5984, 16448, 0, 0, 0, 0}, {1295, 1331, 1809, 1365, 4369, 0, 0}, {584, 546, 5376, 0, 0, 0, 0}, {60, 4883, 5200, 0, 0, 0, 0}, {4972, 13056, 17476, 0, 0, 0, 0}, {4122, 48, 4608, 4160, 5397, 0, 0}, {588, 102, 4352, 0, 0, 0, 0}, {48, 5911, 4176, 0, 0, 0, 0}, {5928, 8288, 16384, 0, 0, 0, 0}, {4367, 4403, 534, 4437, 5120, 0, 0}, {5418, 5888, 5440, 0, 0, 0, 0}, {4959, 4963, 5140, 0, 0, 0, 0}, {2124, 4896, 17408, 0, 0, 0, 0}, {1295, 48, 530, 1365, 4096, 0, 0}, {4386, 4864, 4420, 0, 0, 0, 0}, {1871, 48, 4112, 0, 0, 0, 0}, {240, 1792, 20480, 0, 0, 0, 0}, {12, 102, 514, 1028, 4369, 0, 0}, {1290, 514, 1360, 0, 0, 0, 0}, {12, 4915, 1024, 0, 0, 0, 0}, {12, 48, 768, 4160, 1028, 0, 0}, {522, 8704, 21845, 0, 0, 0, 0}, {262, 336, 1024, 4352, 0, 0, 0}, {22519, 2056, 30583, 0, 0, 0, 0}, {1800, 8304, 20480, 0, 0, 0, 0}, {12, 4403, 518, 4437, 1024, 0, 0}, {1290, 1792, 1360, 0, 0, 0, 0}, {12, 4979, 1028, 0, 0, 0, 0}, {12, 48, 768, 1024, 4096, 0, 0}, {170, 514, 21845, 0, 0, 0, 0}, {258, 340, 1028, 4112, 0, 0, 0}, {22527, 2048, 8192, 0, 0, 0, 0}, {2048, 8192, 20480, 0, 0, 0, 0}, {12, 51, 85, 257, 0, 0, 0}, {20490, 514, 0, 0, 0, 0, 0}, {4099, 1024, 0, 0, 0, 0, 0}, {12, 12288, 4160, 1028, 0, 0, 0}, {522, 8704, 85, 1285, 0, 0, 0}, {4102, 1024, 0, 0, 0, 0, 0}, {20495, 1799, 0, 0, 0, 0, 0}, {8320, 2056, 20480, 0, 0, 0, 0}, {51, 771, 261, 4352, 0, 0, 0}, {20490, 20992, 0, 0, 0, 0, 0}, {4163, 1028, 0, 0, 0, 0, 0}, {12, 1024, 4096, 0, 0, 0, 0}, {514, 85, 1285, 0, 0, 0, 0}, {4166, 1028, 0, 0, 0, 0, 0}, {20495, 22272, 0, 0, 0, 0, 0}, {192, 2112, 4112, 0, 0, 0, 0}, {51, 529, 85, 1280, 4369, 0, 0}, {4186, 4144, 4626, 16384, 0, 0, 0}, {5215, 51, 4883, 17408, 0, 0, 0}, {8300, 5140, 0, 0, 0, 0, 0}, {4608, 4117, 0, 0, 0, 0, 0}, {5210, 102, 5654, 17408, 0, 0, 0}, {4191, 4192, 5911, 16384, 0, 0, 0}, {6168, 12336, 4176, 0, 0, 0, 0}, {537, 51, 85, 1280, 4352, 0, 0}, {4122, 4208, 576, 16448, 0, 0, 0}, {5147, 51, 1860, 17476, 0, 0, 0}, {7196, 8224, 5200, 0, 0, 0, 0}, {541, 546, 85, 1280, 4096, 0, 0}, {5150, 102, 580, 17476, 0, 0, 0}, {4127, 4128, 1856, 16448, 0, 0, 0}, {20640, 22560, 8224, 0, 0, 0, 0}, {274, 85, 1041, 4369, 0, 0, 0}, {2560, 546, 20480, 0, 0, 0, 0}, {12, 51, 771, 1088, 4112, 0, 0}, {12, 5156, 1092, 0, 0, 0, 0}, {1295, 1829, 85, 0, 0, 0, 0}, {12, 4134, 4608, 4160, 5120, 0, 0}, {1912, 10023, 20560, 0, 0, 0, 0}, {20640, 22568, 28672, 0, 0, 0, 0}, {278, 85, 1045, 4352, 0, 0, 0}, {554, 8704, 20480, 0, 0, 0, 0}, {12, 51, 771, 4176, 5140, 0, 0}, {12, 4128, 1088, 0, 0, 0, 0}, {1295, 546, 85, 0, 0, 0, 0}, {12, 1058, 1536, 1092, 4096, 0, 0}, {3855, 1904, 20560, 0, 0, 0, 0}, {2048, 4144, 16384, 0, 0, 0, 0}, {1290, 51, 514, 85, 4369, 0, 0}, {106, 514, 4112, 0, 0, 0, 0}, {51, 4864, 5120, 0, 0, 0, 0}, {5240, 13364, 17476, 0, 0, 0, 0}, {4106, 4149, 4608, 85, 5376, 0, 0}, {522, 5174, 5200, 0, 0, 0, 0}, {1800, 1847, 4160, 0, 0, 0, 0}, {2056, 4208, 16448, 0, 0, 0, 0}, {1290, 51, 1792, 85, 4352, 0, 0}, {522, 4656, 4176, 0, 0, 0, 0}, {1800, 51, 5188, 0, 0, 0, 0}, {5180, 8192, 17408, 0, 0, 0, 0}, {4127, 4128, 514, 85, 5397, 0, 0}, {102, 514, 5140, 0, 0, 0, 0}, {63, 1792, 4096, 0, 0, 0, 0}, {6144, 12288, 4160, 0, 0, 0, 0}, {539, 51, 85, 1285, 4369, 0, 0}, {4106, 4192, 578, 16384, 0, 0, 0}, {5135, 51, 1859, 17408, 0, 0, 0}, {7168, 8192, 5188, 0, 0, 0, 0}, {543, 544, 85, 1285, 4112, 0, 0}, {5130, 102, 582, 17408, 0, 0, 0}, {4111, 4144, 1863, 16384, 0, 0, 0}, {192, 2120, 4096, 0, 0, 0, 0}, {51, 531, 85, 1285, 4352, 0, 0}, {4170, 4128, 4608, 16448, 0, 0, 0}, {5195, 51, 4864, 17476, 0, 0, 0}, {8268, 5120, 0, 0, 0, 0, 0}, {4626, 4101, 0, 0, 0, 0, 0}, {5198, 102, 5632, 17476, 0, 0, 0}, {4175, 4208, 5888, 16448, 0, 0, 0}, {8352, 2048, 20560, 0, 0, 0, 0}, {51, 768, 260, 4369, 0, 0, 0}, {20570, 21074, 0, 0, 0, 0, 0}, {4179, 1024, 0, 0, 0, 0, 0}, {12, 1028, 4112, 0, 0, 0, 0}, {512, 85, 1280, 0, 0, 0, 0}, {4182, 1024, 0, 0, 0, 0, 0}, {20575, 22359, 0, 0, 0, 0, 0}, {2056, 8224, 20560, 0, 0, 0, 0}, {12, 51, 85, 256, 0, 0, 0}, {20570, 512, 0, 0, 0, 0, 0}, {4115, 1028, 0, 0, 0, 0, 0}, {12, 12336, 4176, 1024, 0, 0, 0}, {520, 8738, 85, 1280, 0, 0, 0}, {4118, 1028, 0, 0, 0, 0, 0}, {20575, 1792, 0, 0, 0, 0, 0}, {2048, 4192, 16384, 0, 0, 0, 0}, {1295, 51, 1799, 85, 4369, 0, 0}, {520, 4642, 4160, 0, 0, 0, 0}, {1807, 51, 5200, 0, 0, 0, 0}, {5160, 8224, 17476, 0, 0, 0, 0}, {4111, 4144, 512, 85, 5376, 0, 0}, {102, 512, 5120, 0, 0, 0, 0}, {63, 1799, 4112, 0, 0, 0, 0}, {2056, 4128, 16448, 0, 0, 0, 0}, {1295, 51, 512, 85, 4352, 0, 0}, {106, 512, 4096, 0, 0, 0, 0}, {51, 4883, 5140, 0, 0, 0, 0}, {5228, 13312, 17408, 0, 0, 0, 0}, {4122, 4133, 4626, 85, 5397, 0, 0}, {520, 5154, 5188, 0, 0, 0, 0}, {1807, 1840, 4176, 0, 0, 0, 0}, {20720, 22640, 28784, 0, 0, 0, 0}, {279, 85, 1041, 4369, 0, 0, 0}, {552, 8738, 20560, 0, 0, 0, 0}, {12, 51, 768, 4160, 5120, 0, 0}, {12, 4144, 1092, 0, 0, 0, 0}, {1290, 544, 85, 0, 0, 0, 0}, {12, 1062, 1542, 1088, 4112, 0, 0}, {3840, 1911, 20480, 0, 0, 0, 0}, {20720, 22648, 8192, 0, 0, 0, 0}, {275, 85, 1045, 4352, 0, 0, 0}, {2570, 544, 20560, 0, 0, 0, 0}, {12, 51, 768, 1092, 4096, 0, 0}, {12, 5168, 1088, 0, 0, 0, 0}, {1290, 1826, 85, 0, 0, 0, 0}, {12, 4150, 4626, 4176, 5140, 0, 0}, {1919, 9984, 20480, 0, 0, 0, 0}, {8320, 10240, 20480, 0, 0, 0, 0}, {51, 771, 276, 4369, 0, 0, 0}, {20490, 21026, 0, 0, 0, 0, 0}, {5123, 1088, 0, 0, 0, 0, 0}, {12, 1092, 4096, 0, 0, 0, 0}, {544, 85, 1285, 0, 0, 0, 0}, {5126, 1088, 0, 0, 0, 0, 0}, {20495, 22391, 0, 0, 0, 0, 0}, {2184, 8192, 20480, 0, 0, 0, 0}, {12, 771, 1285, 272, 0, 0, 0}, {20490, 544, 0, 0, 0, 0, 0}, {4099, 1092, 0, 0, 0, 0, 0}, {12, 12288, 4160, 5120, 0, 0, 0}, {552, 8738, 85, 1285, 0, 0, 0}, {4102, 1092, 0, 0, 0, 0, 0}, {20495, 1904, 0, 0, 0, 0, 0}, {2048, 12336, 4176, 0, 0, 0, 0}, {520, 51, 85, 1280, 4369, 0, 0}, {4122, 4208, 4626, 16448, 0, 0, 0}, {5215, 51, 1792, 17408, 0, 0, 0}, {204, 8224, 5140, 0, 0, 0, 0}, {63, 512, 85, 1280, 4096, 0, 0}, {5210, 102, 512, 17408, 0, 0, 0}, {4127, 4128, 5911, 16448, 0, 0, 0}, {192, 2056, 4112, 0, 0, 0, 0}, {51, 512, 85, 1280, 4352, 0, 0}, {4186, 4144, 512, 16384, 0, 0, 0}, {5147, 51, 4883, 17476, 0, 0, 0}, {13372, 5200, 0, 0, 0, 0, 0}, {4642, 4117, 0, 0, 0, 0, 0}, {5150, 102, 5654, 17476, 0, 0, 0}, {4191, 4192, 1792, 16384, 0, 0, 0}, {20640, 2048, 28672, 0, 0, 0, 0}, {263, 85, 1028, 4369, 0, 0, 0}, {520, 8738, 20480, 0, 0, 0, 0}, {12, 51, 771, 4176, 1024, 0, 0}, {12, 4128, 1028, 0, 0, 0, 0}, {1295, 512, 85, 0, 0, 0, 0}, {12, 102, 512, 1024, 4096, 0, 0}, {255, 1799, 20560, 0, 0, 0, 0}, {20640, 2056, 8224, 0, 0, 0, 0}, {259, 85, 1024, 4352, 0, 0, 0}, {170, 512, 20480, 0, 0, 0, 0}, {12, 51, 771, 1028, 4112, 0, 0}, {12, 4192, 1024, 0, 0, 0, 0}, {1295, 1799, 85, 0, 0, 0, 0}, {12, 4134, 516, 4160, 1028, 0, 0}, {1807, 10064, 20560, 0, 0, 0, 0}, {2112, 4208, 16448, 0, 0, 0, 0}, {1290, 51, 1809, 85, 4369, 0, 0}, {4154, 4626, 4176, 0, 0, 0, 0}, {4940, 51, 5120, 0, 0, 0, 0}, {5240, 8192, 17476, 0, 0, 0, 0}, {4127, 4128, 4608, 85, 5397, 0, 0}, {5174, 5654, 5200, 0, 0, 0, 0}, {1864, 1911, 4096, 0, 0, 0, 0}, {2120, 4144, 16384, 0, 0, 0, 0}, {1290, 51, 531, 85, 4352, 0, 0}, {586, 544, 4112, 0, 0, 0, 0}, {51, 4864, 5188, 0, 0, 0, 0}, {5180, 13424, 17408, 0, 0, 0, 0}, {4106, 4149, 535, 85, 5376, 0, 0}, {590, 102, 5140, 0, 0, 0, 0}, {63, 5888, 4160, 0, 0, 0, 0}, {192, 2048, 4096, 0, 0, 0, 0}, {51, 514, 85, 1285, 4369, 0, 0}, {4170, 4128, 514, 16448, 0, 0, 0}, {5135, 51, 4864, 17408, 0, 0, 0}, {13320, 5188, 0, 0, 0, 0, 0}, {4656, 4101, 0, 0, 0, 0, 0}, {5130, 102, 5632, 17408, 0, 0, 0}, {4175, 4208, 1799, 16448, 0, 0, 0}, {2056, 12288, 4160, 0, 0, 0, 0}, {522, 51, 85, 1285, 4352, 0, 0}, {4106, 4192, 4608, 16384, 0, 0, 0}, {5195, 51, 1799, 17476, 0, 0, 0}, {204, 8192, 5120, 0, 0, 0, 0}, {63, 514, 85, 1285, 4112, 0, 0}, {5198, 102, 514, 17476, 0, 0, 0}, {4111, 4144, 5888, 16384, 0, 0, 0}, {2176, 8224, 20560, 0, 0, 0, 0}, {12, 768, 1280, 273, 0, 0, 0}, {20570, 546, 0, 0, 0, 0, 0}, {4115, 1088, 0, 0, 0, 0, 0}, {12, 12336, 4176, 5140, 0, 0, 0}, {554, 8704, 85, 1280, 0, 0, 0}, {4118, 1088, 0, 0, 0, 0, 0}, {20575, 1911, 0, 0, 0, 0, 0}, {8352, 10280, 20560, 0, 0, 0, 0}, {51, 768, 277, 4352, 0, 0, 0}, {20570, 21104, 0, 0, 0, 0, 0}, {5143, 1092, 0, 0, 0, 0, 0}, {12, 1088, 4112, 0, 0, 0, 0}, {546, 85, 1280, 0, 0, 0, 0}, {5138, 1092, 0, 0, 0, 0, 0}, {20575, 22304, 0, 0, 0, 0, 0}, {2112, 4128, 16448, 0, 0, 0, 0}, {1295, 51, 529, 85, 4369, 0, 0}, {584, 546, 4096, 0, 0, 0, 0}, {51, 4883, 5200, 0, 0, 0, 0}, {5160, 13380, 17476, 0, 0, 0, 0}, {4122, 4133, 533, 85, 5397, 0, 0}, {588, 102, 5120, 0, 0, 0, 0}, {63, 5911, 4176, 0, 0, 0, 0}, {2120, 4192, 16384, 0, 0, 0, 0}, {1295, 51, 1814, 85, 4352, 0, 0}, {4138, 4608, 4160, 0, 0, 0, 0}, {4959, 51, 5140, 0, 0, 0, 0}, {5228, 8224, 17408, 0, 0, 0, 0}, {4111, 4144, 4626, 85, 5376, 0, 0}, {5154, 5632, 5188, 0, 0, 0, 0}, {1871, 1904, 4112, 0, 0, 0, 0}, {20720, 2048, 8192, 0, 0, 0, 0}, {258, 85, 1028, 4369, 0, 0, 0}, {170, 514, 20560, 0, 0, 0, 0}, {12, 51, 768, 1024, 4096, 0, 0}, {12, 4208, 1028, 0, 0, 0, 0}, {1290, 1792, 85, 0, 0, 0, 0}, {12, 4150, 518, 4176, 1024, 0, 0}, {1800, 10103, 20480, 0, 0, 0, 0}, {20720, 2056, 28784, 0, 0, 0, 0}, {262, 85, 1024, 4352, 0, 0, 0}, {522, 8704, 20560, 0, 0, 0, 0}, {12, 51, 768, 4160, 1028, 0, 0}, {12, 4144, 1024, 0, 0, 0, 0}, {1290, 514, 85, 0, 0, 0, 0}, {12, 102, 514, 1028, 4112, 0, 0}, {255, 1792, 20480, 0, 0, 0, 0}, {3072, 13056, 21760, 0, 0, 0, 0}, {8, 32, 80, 257, 0, 0, 0}, {4354, 1024, 0, 0, 0, 0, 0}, {21775, 771, 0, 0, 0, 0, 0}, {8, 8704, 4420, 1028, 0, 0, 0}, {783, 12288, 80, 1285, 0, 0, 0}, {21770, 1542, 0, 0, 0, 0, 0}, {4359, 1024, 0, 0, 0, 0, 0}, {8, 1024, 4352, 0, 0, 0, 0}, {771, 80, 1285, 0, 0, 0, 0}, {21770, 21248, 0, 0, 0, 0, 0}, {4419, 1028, 0, 0, 0, 0, 0}, {13260, 3084, 21760, 0, 0, 0, 0}, {32, 514, 261, 4096, 0, 0, 0}, {4422, 1028, 0, 0, 0, 0, 0}, {21775, 22016, 0, 0, 0, 0, 0}, {32, 784, 80, 1280, 4112, 0, 0}, {136, 3140, 4369, 0, 0, 0, 0}, {4442, 4386, 4626, 17408, 0, 0, 0}, {5471, 32, 4883, 16384, 0, 0, 0}, {4608, 4372, 0, 0, 0, 0, 0}, {13183, 5397, 0, 0, 0, 0, 0}, {5466, 112, 5654, 16384, 0, 0, 0}, {4447, 4471, 5911, 17408, 0, 0, 0}, {792, 816, 80, 1280, 4352, 0, 0}, {6425, 13107, 5461, 0, 0, 0, 0}, {5402, 112, 832, 16448, 0, 0, 0}, {4379, 4403, 1604, 17476, 0, 0, 0}, {796, 32, 80, 1280, 4096, 0, 0}, {7453, 8738, 4437, 0, 0, 0, 0}, {4382, 4454, 836, 17476, 0, 0, 0}, {5407, 32, 1600, 16448, 0, 0, 0}, {32, 4864, 5376, 0, 0, 0, 0}, {120, 771, 4369, 0, 0, 0, 0}, {3072, 4386, 17408, 0, 0, 0, 0}, {1295, 32, 771, 80, 4112, 0, 0}, {1548, 1572, 4420, 0, 0, 0, 0}, {783, 5413, 5461, 0, 0, 0, 0}, {5482, 9766, 16448, 0, 0, 0, 0}, {4367, 4391, 4608, 80, 5120, 0, 0}, {40, 1536, 4352, 0, 0, 0, 0}, {112, 771, 5397, 0, 0, 0, 0}, {5418, 13056, 16384, 0, 0, 0, 0}, {4379, 4403, 771, 80, 5140, 0, 0}, {1548, 32, 5440, 0, 0, 0, 0}, {783, 4642, 4437, 0, 0, 0, 0}, {3084, 4454, 17476, 0, 0, 0, 0}, {1295, 32, 1536, 80, 4096, 0, 0}, {3840, 816, 21760, 0, 0, 0, 0}, {8, 32, 514, 1092, 4369, 0, 0}, {274, 80, 1040, 4112, 0, 0, 0}, {22015, 22835, 13107, 0, 0, 0, 0}, {8, 4404, 4608, 4420, 5376, 0, 0}, {1642, 13621, 21845, 0, 0, 0, 0}, {1290, 1590, 80, 0, 0, 0, 0}, {8, 5431, 1088, 0, 0, 0, 0}, {8, 1072, 1792, 1088, 4352, 0, 0}, {2570, 1638, 21845, 0, 0, 0, 0}, {1290, 816, 80, 0, 0, 0, 0}, {8, 4403, 1092, 0, 0, 0, 0}, {828, 12288, 21760, 0, 0, 0, 0}, {8, 32, 514, 4437, 5397, 0, 0}, {278, 80, 1044, 4096, 0, 0, 0}, {22015, 22847, 26112, 0, 0, 0, 0}, {6400, 13056, 5440, 0, 0, 0, 0}, {795, 819, 80, 1285, 4369, 0, 0}, {4362, 4386, 1602, 17408, 0, 0, 0}, {5391, 112, 835, 16384, 0, 0, 0}, {7424, 8704, 4420, 0, 0, 0, 0}, {799, 32, 80, 1285, 4112, 0, 0}, {5386, 32, 1606, 16384, 0, 0, 0}, {4367, 4471, 839, 17408, 0, 0, 0}, {136, 3144, 4352, 0, 0, 0, 0}, {32, 787, 80, 1285, 4096, 0, 0}, {5450, 32, 4864, 16448, 0, 0, 0}, {4427, 4403, 4608, 17476, 0, 0, 0}, {13132, 5376, 0, 0, 0, 0, 0}, {4626, 4357, 0, 0, 0, 0, 0}, {4430, 4454, 5888, 17476, 0, 0, 0}, {5455, 112, 5632, 16448, 0, 0, 0}, {768, 80, 1280, 0, 0, 0, 0}, {8, 1028, 4369, 0, 0, 0, 0}, {4434, 1024, 0, 0, 0, 0, 0}, {21855, 21331, 0, 0, 0, 0, 0}, {32, 512, 260, 4112, 0, 0, 0}, {13311, 3072, 21845, 0, 0, 0, 0}, {21850, 22102, 0, 0, 0, 0, 0}, {4439, 1024, 0, 0, 0, 0, 0}, {8, 32, 80, 256, 0, 0, 0}, {3084, 13107, 21845, 0, 0, 0, 0}, {21850, 768, 0, 0, 0, 0, 0}, {4371, 1028, 0, 0, 0, 0, 0}, {780, 12336, 80, 1280, 0, 0, 0}, {8, 8738, 4437, 1024, 0, 0, 0}, {4374, 1028, 0, 0, 0, 0, 0}, {21855, 1536, 0, 0, 0, 0, 0}, {2560, 1632, 21760, 0, 0, 0, 0}, {8, 1076, 1799, 1092, 4369, 0, 0}, {8, 4386, 1088, 0, 0, 0, 0}, {1295, 819, 80, 0, 0, 0, 0}, {8, 32, 512, 4420, 5376, 0, 0}, {831, 12336, 21845, 0, 0, 0, 0}, {21930, 22886, 26214, 0, 0, 0, 0}, {279, 80, 1040, 4112, 0, 0, 0}, {8, 32, 512, 1088, 4352, 0, 0}, {3855, 819, 21845, 0, 0, 0, 0}, {21930, 22890, 13056, 0, 0, 0, 0}, {275, 80, 1044, 4096, 0, 0, 0}, {1644, 13568, 21760, 0, 0, 0, 0}, {8, 4389, 4626, 4437, 5397, 0, 0}, {8, 5410, 1092, 0, 0, 0, 0}, {1295, 1584, 80, 0, 0, 0, 0}, {112, 768, 5376, 0, 0, 0, 0}, {40, 1542, 4369, 0, 0, 0, 0}, {4362, 4386, 768, 80, 5120, 0, 0}, {5439, 13107, 16448, 0, 0, 0, 0}, {780, 4656, 4420, 0, 0, 0, 0}, {1546, 32, 5461, 0, 0, 0, 0}, {1290, 32, 1542, 80, 4112, 0, 0}, {3072, 4471, 17408, 0, 0, 0, 0}, {120, 768, 4352, 0, 0, 0, 0}, {32, 4883, 5397, 0, 0, 0, 0}, {1290, 32, 768, 80, 4096, 0, 0}, {3084, 4403, 17476, 0, 0, 0, 0}, {780, 5424, 5440, 0, 0, 0, 0}, {1546, 1570, 4437, 0, 0, 0, 0}, {4382, 4406, 4626, 80, 5140, 0, 0}, {5503, 9728, 16384, 0, 0, 0, 0}, {128, 13056, 5376, 0, 0, 0, 0}, {40, 771, 80, 1285, 4369, 0, 0}, {4362, 4386, 5888, 17408, 0, 0, 0}, {5455, 112, 771, 16448, 0, 0, 0}, {3084, 8704, 4420, 0, 0, 0, 0}, {783, 32, 80, 1285, 4096, 0, 0}, {5450, 32, 1542, 16448, 0, 0, 0}, {4367, 4471, 4608, 17408, 0, 0, 0}, {136, 3072, 4352, 0, 0, 0, 0}, {32, 771, 80, 1285, 4112, 0, 0}, {5386, 32, 4864, 16384, 0, 0, 0}, {4427, 4403, 771, 17476, 0, 0, 0}, {9740, 5440, 0, 0, 0, 0, 0}, {4642, 4357, 0, 0, 0, 0, 0}, {4430, 4454, 1542, 17476, 0, 0, 0}, {5391, 112, 5632, 16384, 0, 0, 0}, {816, 80, 1280, 0, 0, 0, 0}, {8, 1092, 4369, 0, 0, 0, 0}, {5394, 1088, 0, 0, 0, 0, 0}, {21855, 21299, 0, 0, 0, 0, 0}, {32, 512, 276, 4096, 0, 0, 0}, {13311, 16191, 21845, 0, 0, 0, 0}, {21850, 22118, 0, 0, 0, 0, 0}, {5399, 1088, 0, 0, 0, 0, 0}, {8, 512, 1280, 272, 0, 0, 0}, {3276, 13107, 21845, 0, 0, 0, 0}, {21850, 816, 0, 0, 0, 0, 0}, {4371, 1092, 0, 0, 0, 0, 0}, {828, 12288, 80, 1280, 0, 0, 0}, {8, 8738, 4437, 5397, 0, 0, 0}, {4374, 1092, 0, 0, 0, 0, 0}, {21855, 1632, 0, 0, 0, 0, 0}, {160, 1536, 21760, 0, 0, 0, 0}, {8, 112, 771, 1028, 4369, 0, 0}, {8, 4386, 1024, 0, 0, 0, 0}, {1295, 771, 80, 0, 0, 0, 0}, {8, 32, 512, 4420, 1028, 0, 0}, {783, 12288, 21845, 0, 0, 0, 0}, {21930, 3084, 26214, 0, 0, 0, 0}, {263, 80, 1024, 4096, 0, 0, 0}, {8, 32, 512, 1024, 4352, 0, 0}, {240, 771, 21845, 0, 0, 0, 0}, {21930, 3072, 13056, 0, 0, 0, 0}, {259, 80, 1028, 4112, 0, 0, 0}, {1548, 13664, 21760, 0, 0, 0, 0}, {8, 4389, 775, 4437, 1024, 0, 0}, {8, 4454, 1028, 0, 0, 0, 0}, {1295, 1536, 80, 0, 0, 0, 0}, {5424, 5632, 5440, 0, 0, 0, 0}, {1614, 1638, 4369, 0, 0, 0, 0}, {4362, 4386, 4626, 80, 5120, 0, 0}, {5503, 13107, 16384, 0, 0, 0, 0}, {4412, 4608, 4420, 0, 0, 0, 0}, {4959, 32, 5397, 0, 0, 0, 0}, {1290, 32, 1558, 80, 4096, 0, 0}, {3144, 4471, 17408, 0, 0, 0, 0}, {840, 816, 4352, 0, 0, 0, 0}, {32, 4883, 5461, 0, 0, 0, 0}, {1290, 32, 784, 80, 4112, 0, 0}, {3140, 4403, 17476, 0, 0, 0, 0}, {844, 112, 5376, 0, 0, 0, 0}, {40, 5911, 4437, 0, 0, 0, 0}, {4382, 4406, 788, 80, 5140, 0, 0}, {5439, 9792, 16448, 0, 0, 0, 0}, {3264, 13056, 21760, 0, 0, 0, 0}, {8, 514, 1285, 273, 0, 0, 0}, {4354, 1088, 0, 0, 0, 0, 0}, {21775, 819, 0, 0, 0, 0, 0}, {8, 8704, 4420, 5376, 0, 0, 0}, {831, 12336, 80, 1285, 0, 0, 0}, {21770, 1638, 0, 0, 0, 0, 0}, {4359, 1088, 0, 0, 0, 0, 0}, {8, 1088, 4352, 0, 0, 0, 0}, {819, 80, 1285, 0, 0, 0, 0}, {21770, 21344, 0, 0, 0, 0, 0}, {5383, 1092, 0, 0, 0, 0, 0}, {13260, 16128, 21760, 0, 0, 0, 0}, {32, 514, 277, 4112, 0, 0, 0}, {5378, 1092, 0, 0, 0, 0, 0}, {21775, 22064, 0, 0, 0, 0, 0}, {32, 768, 80, 1280, 4096, 0, 0}, {136, 3084, 4369, 0, 0, 0, 0}, {4442, 4386, 768, 17408, 0, 0, 0}, {5407, 32, 4883, 16448, 0, 0, 0}, {4656, 4372, 0, 0, 0, 0, 0}, {9770, 5461, 0, 0, 0, 0, 0}, {5402, 112, 5654, 16448, 0, 0, 0}, {4447, 4471, 1536, 17408, 0, 0, 0}, {40, 768, 80, 1280, 4352, 0, 0}, {128, 13107, 5397, 0, 0, 0, 0}, {5466, 112, 768, 16384, 0, 0, 0}, {4379, 4403, 5911, 17476, 0, 0, 0}, {780, 32, 80, 1280, 4112, 0, 0}, {3072, 8738, 4437, 0, 0, 0, 0}, {4382, 4454, 4626, 17476, 0, 0, 0}, {5471, 32, 1536, 16384, 0, 0, 0}, {32, 4864, 5440, 0, 0, 0, 0}, {843, 819, 4369, 0, 0, 0, 0}, {3144, 4386, 17408, 0, 0, 0, 0}, {1295, 32, 787, 80, 4096, 0, 0}, {40, 5888, 4420, 0, 0, 0, 0}, {847, 112, 5397, 0, 0, 0, 0}, {5418, 9830, 16384, 0, 0, 0, 0}, {4367, 4391, 791, 80, 5120, 0, 0}, {1608, 1632, 4352, 0, 0, 0, 0}, {5413, 5654, 5461, 0, 0, 0, 0}, {5482, 13056, 16448, 0, 0, 0, 0}, {4379, 4403, 4608, 80, 5140, 0, 0}, {4940, 32, 5376, 0, 0, 0, 0}, {4397, 4626, 4437, 0, 0, 0, 0}, {3140, 4454, 17476, 0, 0, 0, 0}, {1295, 32, 1552, 80, 4112, 0, 0}, {240, 768, 21760, 0, 0, 0, 0}, {8, 32, 514, 1028, 4369, 0, 0}, {258, 80, 1024, 4096, 0, 0, 0}, {22015, 3084, 13107, 0, 0, 0, 0}, {8, 4404, 772, 4420, 1028, 0, 0}, {1546, 13653, 21845, 0, 0, 0, 0}, {1290, 1542, 80, 0, 0, 0, 0}, {8, 4471, 1024, 0, 0, 0, 0}, {8, 112, 768, 1024, 4352, 0, 0}, {160, 1542, 21845, 0, 0, 0, 0}, {1290, 768, 80, 0, 0, 0, 0}, {8, 4403, 1028, 0, 0, 0, 0}, {780, 12336, 21760, 0, 0, 0, 0}, {8, 32, 514, 4437, 1024, 0, 0}, {262, 80, 1028, 4112, 0, 0, 0}, {22015, 3072, 26112, 0, 0, 0, 0}, {23040, 0, 0, 0, 0, 0, 0}, {19, 4, 257, 0, 0, 0, 0}, {8, 32, 514, 20480, 0, 0, 0}, {12, 51, 771, 21760, 0, 0, 0}, {4608, 4, 0, 0, 0, 0, 0}, {95, 1285, 0, 0, 0, 0, 0}, {12, 96, 1542, 20480, 0, 0, 0}, {8, 119, 1799, 21760, 0, 0, 0}, {8, 20992, 0, 0, 0, 0, 0}, {83, 1285, 0, 0, 0, 0, 0}, {160, 2570, 20480, 0, 0, 0, 0}, {51, 771, 4, 4352, 0, 0, 0}, {12, 22016, 0, 0, 0, 0, 0}, {87, 1285, 0, 0, 0, 0, 0}, {32, 514, 4, 4096, 0, 0, 0}, {255, 3855, 21760, 0, 0, 0, 0}, {2560, 32, 64, 4112, 0, 0, 0}, {3840, 51, 68, 4369, 0, 0, 0}, {72, 4626, 0, 0, 0, 0, 0}, {19, 1280, 0, 0, 0, 0, 0}, {40, 8704, 68, 5140, 0, 0, 0}, {63, 12288, 64, 5397, 0, 0, 0}, {76, 5654, 0, 0, 0, 0, 0}, {23, 1280, 0, 0, 0, 0, 0}, {72, 96, 4688, 20560, 0, 0, 0}, {76, 51, 5717, 21845, 0, 0, 0}, {6682, 12336, 64, 0, 0, 0, 0}, {27, 51, 68, 1280, 4352, 0, 0}, {76, 32, 5712, 20560, 0, 0, 0}, {72, 119, 4693, 21845, 0, 0, 0}, {7710, 8738, 68, 0, 0, 0, 0}, {31, 32, 64, 1280, 4096, 0, 0}, {2560, 32, 20480, 0, 0, 0, 0}, {12, 51, 771, 68, 4369, 0, 0}, {136, 23074, 8738, 0, 0, 0, 0}, {19, 64, 1296, 4112, 0, 0, 0}, {12, 36, 4608, 68, 5120, 0, 0}, {127, 9509, 21845, 0, 0, 0, 0}, {12, 5670, 64, 0, 0, 0, 0}, {1295, 1319, 1360, 0, 0, 0, 0}, {40, 8704, 20480, 0, 0, 0, 0}, {12, 51, 771, 64, 5397, 0, 0}, {128, 23082, 28672, 0, 0, 0, 0}, {23, 68, 1300, 4352, 0, 0, 0}, {12, 32, 1536, 64, 4096, 0, 0}, {3855, 119, 21845, 0, 0, 0, 0}, {12, 4642, 68, 0, 0, 0, 0}, {1295, 32, 1360, 0, 0, 0, 0}, {192, 23088, 12336, 0, 0, 0, 0}, {19, 68, 1297, 4369, 0, 0, 0}, {8, 32, 514, 64, 4112, 0, 0}, {3840, 51, 21760, 0, 0, 0, 0}, {8, 5684, 68, 0, 0, 0, 0}, {1290, 1333, 1365, 0, 0, 0, 0}, {108, 13878, 20560, 0, 0, 0, 0}, {8, 55, 4608, 64, 5376, 0, 0}, {8, 4656, 64, 0, 0, 0, 0}, {1290, 51, 1365, 0, 0, 0, 0}, {2570, 96, 20560, 0, 0, 0, 0}, {8, 51, 1792, 68, 4352, 0, 0}, {204, 23100, 26112, 0, 0, 0, 0}, {23, 64, 1301, 4096, 0, 0, 0}, {8, 32, 514, 68, 5140, 0, 0}, {63, 12288, 21760, 0, 0, 0, 0}, {6656, 12288, 64, 0, 0, 0, 0}, {27, 51, 68, 1285, 4369, 0, 0}, {72, 96, 4674, 20480, 0, 0, 0}, {76, 51, 5699, 21760, 0, 0, 0}, {7680, 8704, 68, 0, 0, 0, 0}, {31, 32, 64, 1285, 4112, 0, 0}, {76, 32, 5702, 20480, 0, 0, 0}, {72, 119, 4679, 21760, 0, 0, 0}, {72, 4608, 0, 0, 0, 0, 0}, {19, 1285, 0, 0, 0, 0, 0}, {2570, 32, 64, 4096, 0, 0, 0}, {3855, 51, 68, 4352, 0, 0, 0}, {76, 5632, 0, 0, 0, 0, 0}, {23, 1285, 0, 0, 0, 0, 0}, {40, 8738, 68, 5120, 0, 0, 0}, {63, 12336, 64, 5376, 0, 0, 0}, {160, 2560, 20560, 0, 0, 0, 0}, {51, 768, 4, 4369, 0, 0, 0}, {8, 21074, 0, 0, 0, 0, 0}, {83, 1280, 0, 0, 0, 0, 0}, {32, 512, 4, 4112, 0, 0, 0}, {255, 3840, 21845, 0, 0, 0, 0}, {12, 22102, 0, 0, 0, 0, 0}, {87, 1280, 0, 0, 0, 0, 0}, {8, 32, 512, 20560, 0, 0, 0}, {12, 51, 768, 21845, 0, 0, 0}, {23130, 0, 0, 0, 0, 0, 0}, {19, 4, 256, 0, 0, 0, 0}, {12, 96, 1536, 20560, 0, 0, 0}, {8, 119, 1792, 21845, 0, 0, 0}, {4626, 4, 0, 0, 0, 0, 0}, {95, 1280, 0, 0, 0, 0, 0}, {2560, 96, 20480, 0, 0, 0, 0}, {8, 51, 1799, 68, 4369, 0, 0}, {8, 4642, 64, 0, 0, 0, 0}, {1295, 51, 1360, 0, 0, 0, 0}, {8, 32, 512, 68, 5120, 0, 0}, {63, 12336, 21845, 0, 0, 0, 0}, {204, 23142, 26214, 0, 0, 0, 0}, {23, 64, 1296, 4112, 0, 0, 0}, {8, 32, 512, 64, 4096, 0, 0}, {3855, 51, 21845, 0, 0, 0, 0}, {192, 23146, 12288, 0, 0, 0, 0}, {19, 68, 1300, 4352, 0, 0, 0}, {108, 13824, 20480, 0, 0, 0, 0}, {8, 55, 4626, 64, 5397, 0, 0}, {8, 5666, 68, 0, 0, 0, 0}, {1295, 1328, 1360, 0, 0, 0, 0}, {128, 23152, 28784, 0, 0, 0, 0}, {23, 68, 1297, 4369, 0, 0, 0}, {40, 8738, 20560, 0, 0, 0, 0}, {12, 51, 768, 64, 5376, 0, 0}, {12, 4656, 68, 0, 0, 0, 0}, {1290, 32, 1365, 0, 0, 0, 0}, {12, 32, 1542, 64, 4112, 0, 0}, {3840, 119, 21760, 0, 0, 0, 0}, {136, 23160, 8704, 0, 0, 0, 0}, {19, 64, 1301, 4096, 0, 0, 0}, {2570, 32, 20560, 0, 0, 0, 0}, {12, 51, 768, 68, 4352, 0, 0}, {12, 5680, 64, 0, 0, 0, 0}, {1290, 1314, 1365, 0, 0, 0, 0}, {12, 36, 4626, 68, 5140, 0, 0}, {127, 9472, 21760, 0, 0, 0, 0}, {128, 23040, 28672, 0, 0, 0, 0}, {23, 68, 1285, 4369, 0, 0, 0}, {40, 8738, 20480, 0, 0, 0, 0}, {12, 51, 771, 64, 5376, 0, 0}, {12, 4608, 68, 0, 0, 0, 0}, {95, 32, 1285, 0, 0, 0, 0}, {12, 32, 1542, 64, 4096, 0, 0}, {3855, 119, 21760, 0, 0, 0, 0}, {136, 23040, 8704, 0, 0, 0, 0}, {19, 64, 1285, 4112, 0, 0, 0}, {2570, 32, 20480, 0, 0, 0, 0}, {12, 51, 771, 68, 4352, 0, 0}, {12, 5632, 64, 0, 0, 0, 0}, {95, 119, 1285, 0, 0, 0, 0}, {12, 36, 4614, 68, 5120, 0, 0}, {127, 9584, 21760, 0, 0, 0, 0}, {2560, 96, 20560, 0, 0, 0, 0}, {8, 51, 1792, 68, 4369, 0, 0}, {8, 4626, 64, 0, 0, 0, 0}, {95, 51, 1280, 0, 0, 0, 0}, {8, 32, 512, 68, 5140, 0, 0}, {63, 12288, 21845, 0, 0, 0, 0}, {204, 23130, 26214, 0, 0, 0, 0}, {23, 64, 1280, 4096, 0, 0, 0}, {8, 32, 512, 64, 4112, 0, 0}, {3840, 51, 21845, 0, 0, 0, 0}, {192, 23130, 12336, 0, 0, 0, 0}, {19, 68, 1280, 4352, 0, 0, 0}, {108, 13904, 20560, 0, 0, 0, 0}, {8, 55, 4629, 64, 5397, 0, 0}, {8, 5654, 68, 0, 0, 0, 0}, {95, 96, 1280, 0, 0, 0, 0}, {160, 2560, 20480, 0, 0, 0, 0}, {51, 771, 4, 4369, 0, 0, 0}, {8, 21026, 0, 0, 0, 0, 0}, {1283, 1360, 0, 0, 0, 0, 0}, {32, 512, 4, 4096, 0, 0, 0}, {255, 3855, 21845, 0, 0, 0, 0}, {12, 22118, 0, 0, 0, 0, 0}, {1287, 1360, 0, 0, 0, 0, 0}, {8, 32, 512, 20480, 0, 0, 0}, {12, 51, 771, 21845, 0, 0, 0}, {23210, 0, 0, 0, 0, 0, 0}, {259, 4, 272, 0, 0, 0, 0}, {12, 96, 1536, 20480, 0, 0, 0}, {8, 119, 1799, 21845, 0, 0, 0}, {4642, 4, 0, 0, 0, 0, 0}, {1295, 1360, 0, 0, 0, 0, 0}, {6704, 12336, 64, 0, 0, 0, 0}, {27, 51, 68, 1297, 4369, 0, 0}, {72, 96, 4626, 20560, 0, 0, 0}, {76, 51, 5632, 21760, 0, 0, 0}, {7740, 8704, 68, 0, 0, 0, 0}, {31, 32, 64, 1301, 4096, 0, 0}, {76, 32, 5654, 20560, 0, 0, 0}, {72, 119, 4608, 21760, 0, 0, 0}, {72, 4656, 0, 0, 0, 0, 0}, {19, 1365, 0, 0, 0, 0, 0}, {2570, 32, 64, 4112, 0, 0, 0}, {3840, 51, 68, 4352, 0, 0, 0}, {76, 5744, 0, 0, 0, 0, 0}, {23, 1365, 0, 0, 0, 0, 0}, {40, 8738, 68, 5140, 0, 0, 0}, {63, 12288, 64, 5376, 0, 0, 0}, {192, 23040, 12288, 0, 0, 0, 0}, {19, 68, 1285, 4369, 0, 0, 0}, {8, 32, 514, 64, 4096, 0, 0}, {3855, 51, 21760, 0, 0, 0, 0}, {8, 5632, 68, 0, 0, 0, 0}, {95, 96, 1285, 0, 0, 0, 0}, {108, 13926, 20480, 0, 0, 0, 0}, {8, 55, 4615, 64, 5376, 0, 0}, {8, 4608, 64, 0, 0, 0, 0}, {95, 51, 1285, 0, 0, 0, 0}, {2570, 96, 20480, 0, 0, 0, 0}, {8, 51, 1799, 68, 4352, 0, 0}, {204, 23040, 26112, 0, 0, 0, 0}, {23, 64, 1285, 4112, 0, 0, 0}, {8, 32, 514, 68, 5120, 0, 0}, {63, 12336, 21760, 0, 0, 0, 0}, {2560, 32, 20560, 0, 0, 0, 0}, {12, 51, 768, 68, 4369, 0, 0}, {136, 23130, 8738, 0, 0, 0, 0}, {19, 64, 1280, 4096, 0, 0, 0}, {12, 36, 4628, 68, 5140, 0, 0}, {127, 9557, 21845, 0, 0, 0, 0}, {12, 5654, 64, 0, 0, 0, 0}, {95, 119, 1280, 0, 0, 0, 0}, {40, 8704, 20560, 0, 0, 0, 0}, {12, 51, 768, 64, 5397, 0, 0}, {128, 23130, 28784, 0, 0, 0, 0}, {23, 68, 1280, 4352, 0, 0, 0}, {12, 32, 1536, 64, 4112, 0, 0}, {3840, 119, 21845, 0, 0, 0, 0}, {12, 4626, 68, 0, 0, 0, 0}, {95, 32, 1280, 0, 0, 0, 0}, {2560, 32, 64, 4096, 0, 0, 0}, {3855, 51, 68, 4369, 0, 0, 0}, {72, 4642, 0, 0, 0, 0, 0}, {19, 1360, 0, 0, 0, 0, 0}, {40, 8704, 68, 5120, 0, 0, 0}, {63, 12336, 64, 5397, 0, 0, 0}, {76, 5734, 0, 0, 0, 0, 0}, {23, 1360, 0, 0, 0, 0, 0}, {72, 96, 4608, 20480, 0, 0, 0}, {76, 51, 5654, 21845, 0, 0, 0}, {6698, 12288, 64, 0, 0, 0, 0}, {27, 51, 68, 1300, 4352, 0, 0}, {76, 32, 5632, 20480, 0, 0, 0}, {72, 119, 4626, 21845, 0, 0, 0}, {7714, 8738, 68, 0, 0, 0, 0}, {31, 32, 64, 1296, 4112, 0, 0}, {23280, 0, 0, 0, 0, 0, 0}, {258, 4, 273, 0, 0, 0, 0}, {8, 32, 514, 20560, 0, 0, 0}, {12, 51, 768, 21760, 0, 0, 0}, {4656, 4, 0, 0, 0, 0, 0}, {1290, 1365, 0, 0, 0, 0, 0}, {12, 96, 1542, 20560, 0, 0, 0}, {8, 119, 1792, 21760, 0, 0, 0}, {8, 21104, 0, 0, 0, 0, 0}, {1286, 1365, 0, 0, 0, 0, 0}, {160, 2570, 20560, 0, 0, 0, 0}, {51, 768, 4, 4352, 0, 0, 0}, {12, 22064, 0, 0, 0, 0, 0}, {1282, 1365, 0, 0, 0, 0, 0}, {32, 514, 4, 4112, 0, 0, 0}, {255, 3840, 21760, 0, 0, 0, 0}, {4864, 1024, 0, 0, 0, 0, 0}, {90, 257, 0, 0, 0, 0, 0}, {1032, 4386, 514, 21760, 0, 0, 0}, {1036, 4144, 771, 20480, 0, 0, 0}, {4940, 1028, 0, 0, 0, 0, 0}, {4608, 261, 0, 0, 0, 0, 0}, {1036, 4454, 1542, 21760, 0, 0, 0}, {1032, 4208, 1799, 20480, 0, 0, 0}, {1032, 21248, 0, 0, 0, 0, 0}, {339, 1285, 0, 0, 0, 0, 0}, {522, 1024, 4352, 0, 0, 0, 0}, {771, 4160, 1028, 0, 0, 0, 0}, {1036, 22272, 0, 0, 0, 0, 0}, {343, 1285, 0, 0, 0, 0, 0}, {514, 4420, 1028, 0, 0, 0, 0}, {783, 1024, 4096, 0, 0, 0, 0}, {3840, 816, 1088, 4112, 0, 0, 0}, {2560, 546, 1092, 4369, 0, 0, 0}, {274, 1280, 0, 0, 0, 0, 0}, {1100, 4883, 0, 0, 0, 0, 0}, {828, 12288, 4176, 5140, 0, 0, 0}, {554, 8704, 4437, 5397, 0, 0, 0}, {278, 1280, 0, 0, 0, 0, 0}, {1096, 5911, 0, 0, 0, 0, 0}, {1096, 4192, 4944, 20560, 0, 0, 0}, {1100, 4403, 5973, 21845, 0, 0, 0}, {282, 816, 320, 1280, 4352, 0, 0}, {6939, 13107, 1092, 0, 0, 0, 0}, {1100, 4128, 5968, 20560, 0, 0, 0}, {1096, 4471, 4949, 21845, 0, 0, 0}, {286, 546, 324, 1280, 4096, 0, 0}, {7967, 8224, 1088, 0, 0, 0, 0}, {3072, 4896, 17408, 0, 0, 0, 0}, {1295, 289, 771, 1365, 4369, 0, 0}, {4386, 4864, 5376, 0, 0, 0, 0}, {1148, 771, 4112, 0, 0, 0, 0}, {4972, 9252, 17476, 0, 0, 0, 0}, {4367, 293, 4608, 4437, 5120, 0, 0}, {1548, 1062, 5440, 0, 0, 0, 0}, {783, 5927, 4176, 0, 0, 0, 0}, {5928, 13056, 16384, 0, 0, 0, 0}, {4122, 4403, 771, 4160, 5397, 0, 0}, {1066, 1536, 4352, 0, 0, 0, 0}, {4192, 771, 5140, 0, 0, 0, 0}, {3084, 5984, 16448, 0, 0, 0, 0}, {1295, 1058, 1536, 1365, 4096, 0, 0}, {1548, 546, 4420, 0, 0, 0, 0}, {783, 4128, 5200, 0, 0, 0, 0}, {4144, 4864, 5120, 0, 0, 0, 0}, {1134, 514, 4369, 0, 0, 0, 0}, {1290, 306, 514, 1360, 4112, 0, 0}, {2048, 4915, 16384, 0, 0, 0, 0}, {1800, 1076, 5188, 0, 0, 0, 0}, {522, 5941, 4437, 0, 0, 0, 0}, {4106, 310, 4608, 4176, 5376, 0, 0}, {4991, 14135, 16448, 0, 0, 0, 0}, {1800, 816, 4160, 0, 0, 0, 0}, {522, 4403, 5461, 0, 0, 0, 0}, {1290, 1072, 1792, 1360, 4352, 0, 0}, {2056, 6007, 17476, 0, 0, 0, 0}, {1084, 1792, 4096, 0, 0, 0, 0}, {4471, 514, 5397, 0, 0, 0, 0}, {4382, 4128, 514, 4420, 5140, 0, 0}, {5951, 8192, 17408, 0, 0, 0, 0}, {6912, 13056, 1088, 0, 0, 0, 0}, {283, 819, 321, 1285, 4369, 0, 0}, {1096, 4386, 5954, 21760, 0, 0, 0}, {1100, 4208, 4931, 20480, 0, 0, 0}, {7936, 8192, 1092, 0, 0, 0, 0}, {287, 544, 325, 1285, 4112, 0, 0}, {1100, 4454, 4934, 21760, 0, 0, 0}, {1096, 4144, 5959, 20480, 0, 0, 0}, {1096, 4864, 0, 0, 0, 0, 0}, {275, 1285, 0, 0, 0, 0, 0}, {2570, 544, 1088, 4352, 0, 0, 0}, {3855, 819, 1092, 4096, 0, 0, 0}, {1100, 5888, 0, 0, 0, 0, 0}, {279, 1285, 0, 0, 0, 0, 0}, {552, 8738, 4420, 5376, 0, 0, 0}, {831, 12336, 4160, 5120, 0, 0, 0}, {768, 4176, 1024, 0, 0, 0, 0}, {520, 1028, 4369, 0, 0, 0, 0}, {338, 1280, 0, 0, 0, 0, 0}, {1036, 21331, 0, 0, 0, 0, 0}, {780, 1028, 4112, 0, 0, 0, 0}, {512, 4437, 1024, 0, 0, 0, 0}, {342, 1280, 0, 0, 0, 0, 0}, {1032, 22359, 0, 0, 0, 0, 0}, {1032, 4128, 768, 20560, 0, 0, 0}, {1036, 4403, 512, 21845, 0, 0, 0}, {90, 256, 0, 0, 0, 0, 0}, {4883, 1028, 0, 0, 0, 0, 0}, {1036, 4192, 1792, 20560, 0, 0, 0}, {1032, 4471, 1536, 21845, 0, 0, 0}, {4626, 260, 0, 0, 0, 0, 0}, {4959, 1024, 0, 0, 0, 0, 0}, {2048, 5984, 17408, 0, 0, 0, 0}, {1295, 1076, 1799, 1365, 4369, 0, 0}, {520, 4386, 5440, 0, 0, 0, 0}, {1807, 819, 4176, 0, 0, 0, 0}, {5928, 8224, 17476, 0, 0, 0, 0}, {4367, 4144, 512, 4437, 5120, 0, 0}, {4454, 512, 5376, 0, 0, 0, 0}, {1080, 1799, 4112, 0, 0, 0, 0}, {2056, 4896, 16448, 0, 0, 0, 0}, {1295, 307, 512, 1365, 4096, 0, 0}, {1130, 512, 4352, 0, 0, 0, 0}, {4128, 4883, 5140, 0, 0, 0, 0}, {4972, 14080, 16384, 0, 0, 0, 0}, {4122, 311, 4626, 4160, 5397, 0, 0}, {520, 5922, 4420, 0, 0, 0, 0}, {1807, 1072, 5200, 0, 0, 0, 0}, {4208, 768, 5120, 0, 0, 0, 0}, {1070, 1542, 4369, 0, 0, 0, 0}, {4106, 4386, 768, 4176, 5376, 0, 0}, {5951, 13107, 16448, 0, 0, 0, 0}, {780, 4144, 5188, 0, 0, 0, 0}, {1546, 544, 4437, 0, 0, 0, 0}, {1290, 1062, 1542, 1360, 4112, 0, 0}, {3072, 6007, 16384, 0, 0, 0, 0}, {1144, 768, 4096, 0, 0, 0, 0}, {4403, 4883, 5397, 0, 0, 0, 0}, {1290, 288, 768, 1360, 4352, 0, 0}, {3084, 4915, 17476, 0, 0, 0, 0}, {780, 5936, 4160, 0, 0, 0, 0}, {1546, 1058, 5461, 0, 0, 0, 0}, {4382, 292, 4626, 4420, 5140, 0, 0}, {4991, 9216, 17408, 0, 0, 0, 0}, {1152, 5888, 17408, 0, 0, 0, 0}, {90, 369, 771, 1285, 4369, 0, 0}, {4874, 4386, 5376, 0, 0, 0, 0}, {5180, 771, 4160, 0, 0, 0, 0}, {5960, 8192, 17476, 0, 0, 0, 0}, {4367, 4128, 4608, 4437, 1285, 0, 0}, {1062, 1542, 5440, 0, 0, 0, 0}, {783, 1911, 4096, 0, 0, 0, 0}, {1160, 4864, 16384, 0, 0, 0, 0}, {90, 291, 771, 1285, 4112, 0, 0}, {1546, 544, 4352, 0, 0, 0, 0}, {4144, 771, 5188, 0, 0, 0, 0}, {4940, 14144, 16448, 0, 0, 0, 0}, {4106, 295, 4869, 4176, 1285, 0, 0}, {1070, 1542, 4420, 0, 0, 0, 0}, {783, 4208, 5120, 0, 0, 0, 0}, {1072, 1792, 5200, 0, 0, 0, 0}, {520, 1638, 4369, 0, 0, 0, 0}, {4122, 4386, 4626, 4160, 1280, 0, 0}, {5983, 13107, 16384, 0, 0, 0, 0}, {4892, 4128, 5140, 0, 0, 0, 0}, {5439, 512, 4437, 0, 0, 0, 0}, {90, 358, 512, 1280, 4096, 0, 0}, {1224, 5911, 16448, 0, 0, 0, 0}, {1800, 816, 4112, 0, 0, 0, 0}, {4403, 512, 5461, 0, 0, 0, 0}, {90, 304, 512, 1280, 4352, 0, 0}, {1220, 4883, 17476, 0, 0, 0, 0}, {1084, 1792, 4176, 0, 0, 0, 0}, {520, 4471, 5397, 0, 0, 0, 0}, {4382, 308, 4886, 4420, 1280, 0, 0}, {4959, 9312, 17408, 0, 0, 0, 0}, {5024, 13056, 1024, 0, 0, 0, 0}, {267, 771, 337, 1028, 4369, 0, 0}, {1032, 4386, 1536, 21760, 0, 0, 0}, {1036, 4192, 771, 20560, 0, 0, 0}, {5100, 8224, 1028, 0, 0, 0, 0}, {271, 512, 341, 1024, 4096, 0, 0}, {1036, 4454, 512, 21760, 0, 0, 0}, {1032, 4128, 1799, 20560, 0, 0, 0}, {1032, 4896, 0, 0, 0, 0, 0}, {259, 1365, 0, 0, 0, 0, 0}, {170, 512, 1024, 4352, 0, 0, 0}, {240, 771, 1028, 4112, 0, 0, 0}, {1036, 5984, 0, 0, 0, 0, 0}, {263, 1365, 0, 0, 0, 0, 0}, {520, 8738, 4420, 1028, 0, 0, 0}, {783, 12288, 4176, 1024, 0, 0, 0}, {816, 4160, 5120, 0, 0, 0, 0}, {552, 1092, 4369, 0, 0, 0, 0}, {1042, 1360, 0, 0, 0, 0, 0}, {1100, 21299, 0, 0, 0, 0, 0}, {828, 1092, 4096, 0, 0, 0, 0}, {544, 4437, 5397, 0, 0, 0, 0}, {1046, 1360, 0, 0, 0, 0, 0}, {1096, 22391, 0, 0, 0, 0, 0}, {1096, 4144, 4864, 20480, 0, 0, 0}, {1100, 4403, 4883, 21845, 0, 0, 0}, {1290, 272, 0, 0, 0, 0, 0}, {4915, 1092, 0, 0, 0, 0, 0}, {1100, 4208, 5888, 20480, 0, 0, 0}, {1096, 4471, 5911, 21845, 0, 0, 0}, {4642, 276, 0, 0, 0, 0, 0}, {5951, 1088, 0, 0, 0, 0, 0}, {1216, 4864, 17408, 0, 0, 0, 0}, {90, 305, 514, 1285, 4369, 0, 0}, {4386, 514, 5440, 0, 0, 0, 0}, {1807, 819, 4096, 0, 0, 0, 0}, {4940, 9284, 17476, 0, 0, 0, 0}, {4367, 309, 4869, 4437, 1285, 0, 0}, {522, 4454, 5376, 0, 0, 0, 0}, {1080, 1799, 4160, 0, 0, 0, 0}, {5960, 13056, 16448, 0, 0, 0, 0}, {4106, 4403, 4608, 4176, 1285, 0, 0}, {522, 1632, 4352, 0, 0, 0, 0}, {1076, 1799, 5188, 0, 0, 0, 0}, {1228, 5888, 16384, 0, 0, 0, 0}, {90, 359, 514, 1285, 4112, 0, 0}, {5418, 514, 4420, 0, 0, 0, 0}, {4879, 4144, 5120, 0, 0, 0, 0}, {4128, 768, 5200, 0, 0, 0, 0}, {1548, 546, 4369, 0, 0, 0, 0}, {90, 290, 768, 1280, 4096, 0, 0}, {1164, 4883, 16448, 0, 0, 0, 0}, {780, 4192, 5140, 0, 0, 0, 0}, {1066, 1536, 4437, 0, 0, 0, 0}, {4122, 294, 4886, 4160, 1280, 0, 0}, {4959, 14199, 16384, 0, 0, 0, 0}, {5160, 768, 4176, 0, 0, 0, 0}, {4889, 4403, 5397, 0, 0, 0, 0}, {90, 368, 768, 1280, 4352, 0, 0}, {1156, 5911, 17476, 0, 0, 0, 0}, {780, 1904, 4112, 0, 0, 0, 0}, {1058, 1536, 5461, 0, 0, 0, 0}, {4382, 4144, 4626, 4420, 1280, 0, 0}, {5983, 8224, 17408, 0, 0, 0, 0}, {4896, 1088, 0, 0, 0, 0, 0}, {1295, 273, 0, 0, 0, 0, 0}, {1096, 4386, 4864, 21760, 0, 0, 0}, {1100, 4128, 4883, 20560, 0, 0, 0}, {5928, 1092, 0, 0, 0, 0, 0}, {4656, 277, 0, 0, 0, 0, 0}, {1100, 4454, 5888, 21760, 0, 0, 0}, {1096, 4192, 5911, 20560, 0, 0, 0}, {1096, 21344, 0, 0, 0, 0, 0}, {1046, 1365, 0, 0, 0, 0, 0}, {554, 1088, 4352, 0, 0, 0, 0}, {819, 4176, 5140, 0, 0, 0, 0}, {1100, 22304, 0, 0, 0, 0, 0}, {1042, 1365, 0, 0, 0, 0, 0}, {546, 4420, 5376, 0, 0, 0, 0}, {831, 1088, 4112, 0, 0, 0, 0}, {240, 768, 1024, 4096, 0, 0, 0}, {170, 514, 1028, 4369, 0, 0, 0}, {258, 1360, 0, 0, 0, 0, 0}, {1036, 4915, 0, 0, 0, 0, 0}, {780, 12336, 4160, 1028, 0, 0, 0}, {522, 8704, 4437, 1024, 0, 0, 0}, {262, 1360, 0, 0, 0, 0, 0}, {1032, 6007, 0, 0, 0, 0, 0}, {1032, 4208, 768, 20480, 0, 0, 0}, {1036, 4403, 1542, 21845, 0, 0, 0}, {266, 768, 336, 1024, 4352, 0, 0}, {5043, 13107, 1028, 0, 0, 0, 0}, {1036, 4144, 1792, 20480, 0, 0, 0}, {1032, 4471, 514, 21845, 0, 0, 0}, {270, 514, 340, 1028, 4112, 0, 0}, {5119, 8192, 1024, 0, 0, 0, 0}, {3072, 12288, 20480, 0, 0, 0, 0}, {8, 34, 85, 257, 0, 0, 0}, {4098, 1024, 0, 0, 0, 0, 0}, {20495, 771, 0, 0, 0, 0, 0}, {8, 8192, 4160, 1028, 0, 0, 0}, {783, 13056, 85, 1285, 0, 0, 0}, {20490, 1542, 0, 0, 0, 0, 0}, {4103, 1024, 0, 0, 0, 0, 0}, {8, 1024, 4096, 0, 0, 0, 0}, {771, 85, 1285, 0, 0, 0, 0}, {20490, 22016, 0, 0, 0, 0, 0}, {4167, 1028, 0, 0, 0, 0, 0}, {12480, 3084, 20480, 0, 0, 0, 0}, {34, 514, 261, 4352, 0, 0, 0}, {4162, 1028, 0, 0, 0, 0, 0}, {20495, 21248, 0, 0, 0, 0, 0}, {128, 3136, 4112, 0, 0, 0, 0}, {34, 785, 85, 1280, 4369, 0, 0}, {5210, 34, 4626, 17408, 0, 0, 0}, {4191, 4128, 4883, 16384, 0, 0, 0}, {12408, 5140, 0, 0, 0, 0, 0}, {4864, 4117, 0, 0, 0, 0, 0}, {4186, 4208, 5654, 16384, 0, 0, 0}, {5215, 119, 5911, 17408, 0, 0, 0}, {6168, 12336, 5200, 0, 0, 0, 0}, {793, 819, 85, 1280, 4096, 0, 0}, {4122, 4144, 1600, 16448, 0, 0, 0}, {5147, 119, 836, 17476, 0, 0, 0}, {7196, 8224, 4176, 0, 0, 0, 0}, {797, 34, 85, 1280, 4352, 0, 0}, {5150, 34, 1604, 17476, 0, 0, 0}, {4127, 4192, 832, 16448, 0, 0, 0}, {3072, 4128, 16384, 0, 0, 0, 0}, {1295, 34, 771, 85, 4369, 0, 0}, {34, 4608, 5120, 0, 0, 0, 0}, {127, 771, 4112, 0, 0, 0, 0}, {5228, 9252, 17476, 0, 0, 0, 0}, {4111, 4133, 4864, 85, 5376, 0, 0}, {1548, 1574, 4160, 0, 0, 0, 0}, {783, 5159, 5200, 0, 0, 0, 0}, {5160, 12288, 17408, 0, 0, 0, 0}, {4122, 4144, 771, 85, 5397, 0, 0}, {42, 1536, 4096, 0, 0, 0, 0}, {119, 771, 5140, 0, 0, 0, 0}, {3084, 4192, 16448, 0, 0, 0, 0}, {1295, 34, 1536, 85, 4352, 0, 0}, {1548, 34, 5188, 0, 0, 0, 0}, {783, 4896, 4176, 0, 0, 0, 0}, {20720, 23600, 12336, 0, 0, 0, 0}, {275, 85, 1041, 4369, 0, 0, 0}, {8, 34, 514, 1088, 4112, 0, 0}, {3840, 819, 20480, 0, 0, 0, 0}, {8, 5172, 1092, 0, 0, 0, 0}, {1290, 1589, 85, 0, 0, 0, 0}, {1644, 13878, 20560, 0, 0, 0, 0}, {8, 4151, 4864, 4160, 5120, 0, 0}, {8, 4144, 1088, 0, 0, 0, 0}, {1290, 819, 85, 0, 0, 0, 0}, {2570, 1632, 20560, 0, 0, 0, 0}, {8, 1075, 1792, 1092, 4096, 0, 0}, {20720, 23612, 24576, 0, 0, 0, 0}, {279, 85, 1045, 4352, 0, 0, 0}, {8, 34, 514, 4176, 5140, 0, 0}, {831, 13056, 20480, 0, 0, 0, 0}, {7168, 8192, 4160, 0, 0, 0, 0}, {798, 34, 85, 1285, 4369, 0, 0}, {5130, 34, 1602, 17408, 0, 0, 0}, {4111, 4208, 835, 16384, 0, 0, 0}, {6144, 12288, 5188, 0, 0, 0, 0}, {794, 816, 85, 1285, 4112, 0, 0}, {4106, 4128, 1606, 16384, 0, 0, 0}, {5135, 119, 839, 17408, 0, 0, 0}, {12360, 5120, 0, 0, 0, 0, 0}, {4883, 4101, 0, 0, 0, 0, 0}, {4170, 4192, 5632, 16448, 0, 0, 0}, {5195, 119, 5888, 17476, 0, 0, 0}, {128, 3148, 4096, 0, 0, 0, 0}, {34, 786, 85, 1285, 4352, 0, 0}, {5198, 34, 4608, 17476, 0, 0, 0}, {4175, 4144, 4864, 16448, 0, 0, 0}, {12528, 3072, 20560, 0, 0, 0, 0}, {34, 512, 260, 4369, 0, 0, 0}, {4178, 1024, 0, 0, 0, 0, 0}, {20575, 21331, 0, 0, 0, 0, 0}, {8, 1028, 4112, 0, 0, 0, 0}, {768, 85, 1280, 0, 0, 0, 0}, {20570, 22102, 0, 0, 0, 0, 0}, {4183, 1024, 0, 0, 0, 0, 0}, {8, 8224, 4176, 1024, 0, 0, 0}, {780, 13107, 85, 1280, 0, 0, 0}, {20570, 1536, 0, 0, 0, 0, 0}, {4119, 1028, 0, 0, 0, 0, 0}, {3084, 12336, 20560, 0, 0, 0, 0}, {8, 34, 85, 256, 0, 0, 0}, {4114, 1028, 0, 0, 0, 0, 0}, {20575, 768, 0, 0, 0, 0, 0}, {20640, 23648, 24672, 0, 0, 0, 0}, {278, 85, 1041, 4369, 0, 0, 0}, {8, 34, 512, 4160, 5120, 0, 0}, {828, 13107, 20560, 0, 0, 0, 0}, {8, 4128, 1092, 0, 0, 0, 0}, {1295, 816, 85, 0, 0, 0, 0}, {2560, 1638, 20480, 0, 0, 0, 0}, {8, 1079, 1799, 1088, 4112, 0, 0}, {8, 5152, 1088, 0, 0, 0, 0}, {1295, 1587, 85, 0, 0, 0, 0}, {1642, 13824, 20480, 0, 0, 0, 0}, {8, 4135, 4883, 4176, 5140, 0, 0}, {20640, 23660, 12288, 0, 0, 0, 0}, {274, 85, 1045, 4352, 0, 0, 0}, {8, 34, 512, 1092, 4096, 0, 0}, {3855, 816, 20560, 0, 0, 0, 0}, {3072, 4208, 16384, 0, 0, 0, 0}, {1290, 34, 1542, 85, 4369, 0, 0}, {1546, 34, 5200, 0, 0, 0, 0}, {780, 4915, 4160, 0, 0, 0, 0}, {5180, 12336, 17476, 0, 0, 0, 0}, {4106, 4128, 768, 85, 5376, 0, 0}, {42, 1542, 4112, 0, 0, 0, 0}, {119, 768, 5120, 0, 0, 0, 0}, {5240, 9216, 17408, 0, 0, 0, 0}, {4127, 4149, 4883, 85, 5397, 0, 0}, {1546, 1568, 4176, 0, 0, 0, 0}, {780, 5171, 5188, 0, 0, 0, 0}, {3084, 4144, 16448, 0, 0, 0, 0}, {1290, 34, 768, 85, 4352, 0, 0}, {34, 4626, 5140, 0, 0, 0, 0}, {127, 768, 4096, 0, 0, 0, 0}, {128, 3072, 4096, 0, 0, 0, 0}, {34, 771, 85, 1285, 4369, 0, 0}, {5130, 34, 4608, 17408, 0, 0, 0}, {4175, 4144, 771, 16448, 0, 0, 0}, {9228, 5188, 0, 0, 0, 0, 0}, {4896, 4101, 0, 0, 0, 0, 0}, {4170, 4192, 1542, 16448, 0, 0, 0}, {5135, 119, 5888, 17408, 0, 0, 0}, {136, 12288, 5120, 0, 0, 0, 0}, {42, 771, 85, 1285, 4112, 0, 0}, {4106, 4128, 5632, 16384, 0, 0, 0}, {5195, 119, 771, 17476, 0, 0, 0}, {3084, 8192, 4160, 0, 0, 0, 0}, {783, 34, 85, 1285, 4352, 0, 0}, {5198, 34, 1542, 17476, 0, 0, 0}, {4111, 4208, 4864, 16384, 0, 0, 0}, {3264, 12336, 20560, 0, 0, 0, 0}, {8, 512, 1280, 273, 0, 0, 0}, {4114, 1088, 0, 0, 0, 0, 0}, {20575, 819, 0, 0, 0, 0, 0}, {8, 8224, 4176, 5140, 0, 0, 0}, {831, 13056, 85, 1280, 0, 0, 0}, {20570, 1638, 0, 0, 0, 0, 0}, {4119, 1088, 0, 0, 0, 0, 0}, {8, 1088, 4112, 0, 0, 0, 0}, {819, 85, 1280, 0, 0, 0, 0}, {20570, 22064, 0, 0, 0, 0, 0}, {5139, 1092, 0, 0, 0, 0, 0}, {12528, 15420, 20560, 0, 0, 0, 0}, {34, 512, 277, 4352, 0, 0, 0}, {5142, 1092, 0, 0, 0, 0, 0}, {20575, 21344, 0, 0, 0, 0, 0}, {20640, 3072, 12288, 0, 0, 0, 0}, {259, 85, 1028, 4369, 0, 0, 0}, {8, 34, 512, 1024, 4096, 0, 0}, {255, 771, 20560, 0, 0, 0, 0}, {8, 4192, 1028, 0, 0, 0, 0}, {1295, 1536, 85, 0, 0, 0, 0}, {1548, 13926, 20480, 0, 0, 0, 0}, {8, 4135, 775, 4176, 1024, 0, 0}, {8, 4128, 1024, 0, 0, 0, 0}, {1295, 771, 85, 0, 0, 0, 0}, {170, 1536, 20480, 0, 0, 0, 0}, {8, 119, 771, 1028, 4112, 0, 0}, {20640, 3084, 24672, 0, 0, 0, 0}, {263, 85, 1024, 4352, 0, 0, 0}, {8, 34, 512, 4160, 1028, 0, 0}, {783, 13056, 20560, 0, 0, 0, 0}, {3136, 4144, 16448, 0, 0, 0, 0}, {1290, 34, 785, 85, 4369, 0, 0}, {34, 4626, 5200, 0, 0, 0, 0}, {844, 819, 4096, 0, 0, 0, 0}, {5180, 9284, 17476, 0, 0, 0, 0}, {4127, 4149, 789, 85, 5397, 0, 0}, {42, 5654, 4176, 0, 0, 0, 0}, {840, 119, 5120, 0, 0, 0, 0}, {5240, 12336, 17408, 0, 0, 0, 0}, {4106, 4128, 4883, 85, 5376, 0, 0}, {1610, 1632, 4112, 0, 0, 0, 0}, {5171, 5888, 5188, 0, 0, 0, 0}, {3148, 4208, 16384, 0, 0, 0, 0}, {1290, 34, 1559, 85, 4352, 0, 0}, {4698, 34, 5140, 0, 0, 0, 0}, {4159, 4864, 4160, 0, 0, 0, 0}, {12480, 15360, 20480, 0, 0, 0, 0}, {34, 514, 276, 4369, 0, 0, 0}, {5122, 1088, 0, 0, 0, 0, 0}, {20495, 21299, 0, 0, 0, 0, 0}, {8, 1092, 4096, 0, 0, 0, 0}, {816, 85, 1285, 0, 0, 0, 0}, {20490, 22118, 0, 0, 0, 0, 0}, {5127, 1088, 0, 0, 0, 0, 0}, {8, 8192, 4160, 5120, 0, 0, 0}, {828, 13107, 85, 1285, 0, 0, 0}, {20490, 1632, 0, 0, 0, 0, 0}, {4103, 1092, 0, 0, 0, 0, 0}, {3276, 12288, 20480, 0, 0, 0, 0}, {8, 514, 1285, 272, 0, 0, 0}, {4098, 1092, 0, 0, 0, 0, 0}, {20495, 816, 0, 0, 0, 0, 0}, {3072, 8224, 4176, 0, 0, 0, 0}, {780, 34, 85, 1280, 4369, 0, 0}, {5210, 34, 1536, 17408, 0, 0, 0}, {4127, 4192, 4883, 16448, 0, 0, 0}, {136, 12336, 5140, 0, 0, 0, 0}, {42, 768, 85, 1280, 4096, 0, 0}, {4122, 4144, 5654, 16448, 0, 0, 0}, {5215, 119, 768, 17408, 0, 0, 0}, {9256, 5200, 0, 0, 0, 0, 0}, {4915, 4117, 0, 0, 0, 0, 0}, {4186, 4208, 1536, 16384, 0, 0, 0}, {5147, 119, 5911, 17476, 0, 0, 0}, {128, 3084, 4112, 0, 0, 0, 0}, {34, 768, 85, 1280, 4352, 0, 0}, {5150, 34, 4626, 17476, 0, 0, 0}, {4191, 4128, 768, 16384, 0, 0, 0}, {3136, 4192, 16448, 0, 0, 0, 0}, {1295, 34, 1553, 85, 4369, 0, 0}, {4680, 34, 5120, 0, 0, 0, 0}, {4143, 4883, 4176, 0, 0, 0, 0}, {5228, 12288, 17476, 0, 0, 0, 0}, {4122, 4144, 4864, 85, 5397, 0, 0}, {1612, 1638, 4096, 0, 0, 0, 0}, {5159, 5911, 5200, 0, 0, 0, 0}, {5160, 9312, 17408, 0, 0, 0, 0}, {4111, 4133, 790, 85, 5376, 0, 0}, {42, 5632, 4160, 0, 0, 0, 0}, {843, 119, 5140, 0, 0, 0, 0}, {3148, 4128, 16384, 0, 0, 0, 0}, {1295, 34, 786, 85, 4352, 0, 0}, {34, 4608, 5188, 0, 0, 0, 0}, {847, 816, 4112, 0, 0, 0, 0}, {20720, 3072, 24576, 0, 0, 0, 0}, {262, 85, 1028, 4369, 0, 0, 0}, {8, 34, 514, 4176, 1024, 0, 0}, {780, 13107, 20480, 0, 0, 0, 0}, {8, 4144, 1028, 0, 0, 0, 0}, {1290, 768, 85, 0, 0, 0, 0}, {170, 1542, 20560, 0, 0, 0, 0}, {8, 119, 768, 1024, 4096, 0, 0}, {8, 4208, 1024, 0, 0, 0, 0}, {1290, 1542, 85, 0, 0, 0, 0}, {1546, 13904, 20560, 0, 0, 0, 0}, {8, 4151, 772, 4160, 1028, 0, 0}, {20720, 3084, 12336, 0, 0, 0, 0}, {258, 85, 1024, 4352, 0, 0, 0}, {8, 34, 514, 1028, 4112, 0, 0}, {255, 768, 20480, 0, 0, 0, 0}, {2048, 8704, 21760, 0, 0, 0, 0}, {12, 48, 80, 257, 0, 0, 0}, {21770, 514, 0, 0, 0, 0, 0}, {4355, 1024, 0, 0, 0, 0, 0}, {12, 13056, 4420, 1028, 0, 0, 0}, {522, 8192, 80, 1285, 0, 0, 0}, {4358, 1024, 0, 0, 0, 0, 0}, {21775, 1799, 0, 0, 0, 0, 0}, {8840, 2056, 21760, 0, 0, 0, 0}, {48, 771, 261, 4096, 0, 0, 0}, {21770, 22272, 0, 0, 0, 0, 0}, {4423, 1028, 0, 0, 0, 0, 0}, {12, 1024, 4352, 0, 0, 0, 0}, {514, 80, 1285, 0, 0, 0, 0}, {4418, 1028, 0, 0, 0, 0, 0}, {21775, 20992, 0, 0, 0, 0, 0}, {48, 528, 80, 1280, 4112, 0, 0}, {204, 2116, 4369, 0, 0, 0, 0}, {5466, 48, 4626, 16384, 0, 0, 0}, {4447, 4403, 4883, 17408, 0, 0, 0}, {4864, 4372, 0, 0, 0, 0, 0}, {8810, 5397, 0, 0, 0, 0, 0}, {4442, 4454, 5654, 17408, 0, 0, 0}, {5471, 96, 5911, 16384, 0, 0, 0}, {536, 48, 80, 1280, 4096, 0, 0}, {6425, 13107, 4437, 0, 0, 0, 0}, {5402, 48, 1856, 16448, 0, 0, 0}, {4379, 4471, 580, 17476, 0, 0, 0}, {540, 544, 80, 1280, 4352, 0, 0}, {7453, 8738, 5461, 0, 0, 0, 0}, {4382, 4386, 1860, 17476, 0, 0, 0}, {5407, 96, 576, 16448, 0, 0, 0}, {2560, 544, 21760, 0, 0, 0, 0}, {12, 48, 771, 1092, 4369, 0, 0}, {21930, 23842, 8738, 0, 0, 0, 0}, {275, 80, 1040, 4112, 0, 0, 0}, {12, 4388, 4864, 4420, 5376, 0, 0}, {1919, 9509, 21845, 0, 0, 0, 0}, {12, 5414, 1088, 0, 0, 0, 0}, {1295, 1831, 80, 0, 0, 0, 0}, {552, 8192, 21760, 0, 0, 0, 0}, {12, 48, 771, 4437, 5397, 0, 0}, {21930, 23850, 30464, 0, 0, 0, 0}, {279, 80, 1044, 4096, 0, 0, 0}, {12, 1056, 1536, 1088, 4352, 0, 0}, {3855, 1911, 21845, 0, 0, 0, 0}, {12, 4386, 1092, 0, 0, 0, 0}, {1295, 544, 80, 0, 0, 0, 0}, {48, 4608, 5376, 0, 0, 0, 0}, {108, 514, 4369, 0, 0, 0, 0}, {1290, 48, 514, 80, 4112, 0, 0}, {2048, 4403, 17408, 0, 0, 0, 0}, {1800, 1844, 4420, 0, 0, 0, 0}, {522, 5429, 5461, 0, 0, 0, 0}, {4362, 4406, 4864, 80, 5120, 0, 0}, {5503, 14135, 16448, 0, 0, 0, 0}, {1800, 48, 5440, 0, 0, 0, 0}, {522, 4915, 4437, 0, 0, 0, 0}, {1290, 48, 1792, 80, 4096, 0, 0}, {2056, 4471, 17476, 0, 0, 0, 0}, {60, 1792, 4352, 0, 0, 0, 0}, {96, 514, 5397, 0, 0, 0, 0}, {4382, 4386, 514, 80, 5140, 0, 0}, {5439, 8704, 16384, 0, 0, 0, 0}, {7424, 8704, 5440, 0, 0, 0, 0}, {542, 546, 80, 1285, 4369, 0, 0}, {5386, 96, 578, 16384, 0, 0, 0}, {4367, 4403, 1859, 17408, 0, 0, 0}, {6400, 13056, 4420, 0, 0, 0, 0}, {538, 48, 80, 1285, 4112, 0, 0}, {4362, 4454, 582, 17408, 0, 0, 0}, {5391, 48, 1863, 16384, 0, 0, 0}, {8776, 5376, 0, 0, 0, 0, 0}, {4883, 4357, 0, 0, 0, 0, 0}, {5450, 96, 5888, 16448, 0, 0, 0}, {4427, 4471, 5632, 17476, 0, 0, 0}, {204, 2124, 4352, 0, 0, 0, 0}, {48, 530, 80, 1285, 4096, 0, 0}, {4430, 4386, 4864, 17476, 0, 0, 0}, {5455, 48, 4608, 16448, 0, 0, 0}, {512, 80, 1280, 0, 0, 0, 0}, {12, 1028, 4369, 0, 0, 0, 0}, {21850, 21074, 0, 0, 0, 0, 0}, {4435, 1024, 0, 0, 0, 0, 0}, {48, 768, 260, 4112, 0, 0, 0}, {8874, 2048, 21845, 0, 0, 0, 0}, {4438, 1024, 0, 0, 0, 0, 0}, {21855, 22359, 0, 0, 0, 0, 0}, {520, 8224, 80, 1280, 0, 0, 0}, {12, 13107, 4437, 1024, 0, 0, 0}, {21850, 1792, 0, 0, 0, 0, 0}, {4375, 1028, 0, 0, 0, 0, 0}, {12, 48, 80, 256, 0, 0, 0}, {2056, 8738, 21845, 0, 0, 0, 0}, {4370, 1028, 0, 0, 0, 0, 0}, {21855, 512, 0, 0, 0, 0, 0}, {96, 512, 5376, 0, 0, 0, 0}, {60, 1799, 4369, 0, 0, 0, 0}, {5418, 8738, 16448, 0, 0, 0, 0}, {4367, 4403, 512, 80, 5120, 0, 0}, {520, 4896, 4420, 0, 0, 0, 0}, {1807, 48, 5461, 0, 0, 0, 0}, {2048, 4454, 17408, 0, 0, 0, 0}, {1295, 48, 1799, 80, 4112, 0, 0}, {520, 5408, 5440, 0, 0, 0, 0}, {1807, 1843, 4437, 0, 0, 0, 0}, {5482, 14080, 16384, 0, 0, 0, 0}, {4379, 4391, 4883, 80, 5140, 0, 0}, {108, 512, 4352, 0, 0, 0, 0}, {48, 4626, 5397, 0, 0, 0, 0}, {2056, 4386, 17476, 0, 0, 0, 0}, {1295, 48, 512, 80, 4096, 0, 0}, {3840, 1904, 21760, 0, 0, 0, 0}, {12, 1060, 1542, 1092, 4369, 0, 0}, {1290, 546, 80, 0, 0, 0, 0}, {12, 4403, 1088, 0, 0, 0, 0}, {12, 48, 768, 4420, 5376, 0, 0}, {554, 8224, 21845, 0, 0, 0, 0}, {278, 80, 1040, 4112, 0, 0, 0}, {22015, 23927, 30583, 0, 0, 0, 0}, {1912, 9472, 21760, 0, 0, 0, 0}, {12, 4405, 4883, 4437, 5397, 0, 0}, {1290, 1824, 80, 0, 0, 0, 0}, {12, 5427, 1092, 0, 0, 0, 0}, {12, 48, 768, 1088, 4352, 0, 0}, {2570, 546, 21845, 0, 0, 0, 0}, {274, 80, 1044, 4096, 0, 0, 0}, {22015, 23935, 8704, 0, 0, 0, 0}, {2176, 8704, 21760, 0, 0, 0, 0}, {12, 771, 1285, 273, 0, 0, 0}, {21770, 546, 0, 0, 0, 0, 0}, {4355, 1088, 0, 0, 0, 0, 0}, {12, 13056, 4420, 5376, 0, 0, 0}, {554, 8224, 80, 1285, 0, 0, 0}, {4358, 1088, 0, 0, 0, 0, 0}, {21775, 1911, 0, 0, 0, 0, 0}, {8840, 10752, 21760, 0, 0, 0, 0}, {48, 771, 277, 4112, 0, 0, 0}, {21770, 22304, 0, 0, 0, 0, 0}, {5379, 1092, 0, 0, 0, 0, 0}, {12, 1088, 4352, 0, 0, 0, 0}, {546, 80, 1285, 0, 0, 0, 0}, {5382, 1092, 0, 0, 0, 0, 0}, {21775, 21104, 0, 0, 0, 0, 0}, {48, 512, 80, 1280, 4096, 0, 0}, {204, 2056, 4369, 0, 0, 0, 0}, {5402, 48, 4626, 16448, 0, 0, 0}, {4447, 4403, 512, 17408, 0, 0, 0}, {4896, 4372, 0, 0, 0, 0, 0}, {14143, 5461, 0, 0, 0, 0, 0}, {4442, 4454, 1792, 17408, 0, 0, 0}, {5407, 96, 5911, 16448, 0, 0, 0}, {520, 48, 80, 1280, 4112, 0, 0}, {2048, 13107, 4437, 0, 0, 0, 0}, {5466, 48, 1792, 16384, 0, 0, 0}, {4379, 4471, 4883, 17476, 0, 0, 0}, {60, 512, 80, 1280, 4352, 0, 0}, {192, 8738, 5397, 0, 0, 0, 0}, {4382, 4386, 5654, 17476, 0, 0, 0}, {5471, 96, 512, 16384, 0, 0, 0}, {160, 512, 21760, 0, 0, 0, 0}, {12, 48, 771, 1028, 4369, 0, 0}, {21930, 2056, 8738, 0, 0, 0, 0}, {259, 80, 1024, 4096, 0, 0, 0}, {12, 4388, 516, 4420, 1028, 0, 0}, {1807, 9557, 21845, 0, 0, 0, 0}, {12, 4454, 1024, 0, 0, 0, 0}, {1295, 1799, 80, 0, 0, 0, 0}, {520, 8224, 21760, 0, 0, 0, 0}, {12, 48, 771, 4437, 1024, 0, 0}, {21930, 2048, 30464, 0, 0, 0, 0}, {263, 80, 1028, 4112, 0, 0, 0}, {12, 96, 512, 1024, 4352, 0, 0}, {240, 1799, 21845, 0, 0, 0, 0}, {12, 4386, 1028, 0, 0, 0, 0}, {1295, 512, 80, 0, 0, 0, 0}, {48, 4608, 5440, 0, 0, 0, 0}, {590, 546, 4369, 0, 0, 0, 0}, {1290, 48, 530, 80, 4096, 0, 0}, {2124, 4403, 17408, 0, 0, 0, 0}, {60, 5632, 4420, 0, 0, 0, 0}, {586, 96, 5397, 0, 0, 0, 0}, {4362, 4406, 534, 80, 5120, 0, 0}, {5439, 14199, 16384, 0, 0, 0, 0}, {4680, 48, 5376, 0, 0, 0, 0}, {4409, 4883, 4437, 0, 0, 0, 0}, {1290, 48, 1808, 80, 4112, 0, 0}, {2116, 4471, 17476, 0, 0, 0, 0}, {1868, 1904, 4352, 0, 0, 0, 0}, {5429, 5911, 5461, 0, 0, 0, 0}, {4382, 4386, 4864, 80, 5140, 0, 0}, {5503, 8704, 16448, 0, 0, 0, 0}, {192, 8704, 5376, 0, 0, 0, 0}, {60, 514, 80, 1285, 4369, 0, 0}, {5450, 96, 514, 16448, 0, 0, 0}, {4367, 4403, 5632, 17408, 0, 0, 0}, {2056, 13056, 4420, 0, 0, 0, 0}, {522, 48, 80, 1285, 4096, 0, 0}, {4362, 4454, 4864, 17408, 0, 0, 0}, {5455, 48, 1799, 16448, 0, 0, 0}, {14088, 5440, 0, 0, 0, 0, 0}, {4915, 4357, 0, 0, 0, 0, 0}, {5386, 96, 5888, 16384, 0, 0, 0}, {4427, 4471, 1799, 17476, 0, 0, 0}, {204, 2048, 4352, 0, 0, 0, 0}, {48, 514, 80, 1285, 4112, 0, 0}, {4430, 4386, 514, 17476, 0, 0, 0}, {5391, 48, 4608, 16384, 0, 0, 0}, {544, 80, 1280, 0, 0, 0, 0}, {12, 1092, 4369, 0, 0, 0, 0}, {21850, 21026, 0, 0, 0, 0, 0}, {5395, 1088, 0, 0, 0, 0, 0}, {48, 768, 276, 4096, 0, 0, 0}, {8874, 10794, 21845, 0, 0, 0, 0}, {5398, 1088, 0, 0, 0, 0, 0}, {21855, 22391, 0, 0, 0, 0, 0}, {552, 8192, 80, 1280, 0, 0, 0}, {12, 13107, 4437, 5397, 0, 0, 0}, {21850, 1904, 0, 0, 0, 0, 0}, {4375, 1092, 0, 0, 0, 0, 0}, {12, 768, 1280, 272, 0, 0, 0}, {2184, 8738, 21845, 0, 0, 0, 0}, {4370, 1092, 0, 0, 0, 0, 0}, {21855, 544, 0, 0, 0, 0, 0}, {5408, 5888, 5440, 0, 0, 0, 0}, {1867, 1911, 4369, 0, 0, 0, 0}, {5482, 8738, 16384, 0, 0, 0, 0}, {4367, 4403, 4883, 80, 5120, 0, 0}, {4392, 4864, 4420, 0, 0, 0, 0}, {4698, 48, 5397, 0, 0, 0, 0}, {2124, 4454, 17408, 0, 0, 0, 0}, {1295, 48, 1815, 80, 4096, 0, 0}, {584, 96, 5376, 0, 0, 0, 0}, {60, 5654, 4437, 0, 0, 0, 0}, {5418, 14144, 16448, 0, 0, 0, 0}, {4379, 4391, 532, 80, 5140, 0, 0}, {588, 544, 4352, 0, 0, 0, 0}, {48, 4626, 5461, 0, 0, 0, 0}, {2116, 4386, 17476, 0, 0, 0, 0}, {1295, 48, 528, 80, 4112, 0, 0}, {240, 1792, 21760, 0, 0, 0, 0}, {12, 96, 514, 1028, 4369, 0, 0}, {1290, 514, 80, 0, 0, 0, 0}, {12, 4403, 1024, 0, 0, 0, 0}, {12, 48, 768, 4420, 1028, 0, 0}, {522, 8192, 21845, 0, 0, 0, 0}, {262, 80, 1024, 4096, 0, 0, 0}, {22015, 2056, 30583, 0, 0, 0, 0}, {1800, 9584, 21760, 0, 0, 0, 0}, {12, 4405, 518, 4437, 1024, 0, 0}, {1290, 1792, 80, 0, 0, 0, 0}, {12, 4471, 1028, 0, 0, 0, 0}, {12, 48, 768, 1024, 4352, 0, 0}, {160, 514, 21845, 0, 0, 0, 0}, {258, 80, 1028, 4112, 0, 0, 0}, {22015, 2048, 8704, 0, 0, 0, 0}, {4608, 1024, 0, 0, 0, 0, 0}, {95, 257, 0, 0, 0, 0, 0}, {1032, 4128, 514, 20480, 0, 0, 0}, {1036, 4403, 771, 21760, 0, 0, 0}, {4680, 1028, 0, 0, 0, 0, 0}, {4864, 261, 0, 0, 0, 0, 0}, {1036, 4192, 1542, 20480, 0, 0, 0}, {1032, 4471, 1799, 21760, 0, 0, 0}, {1032, 22016, 0, 0, 0, 0, 0}, {342, 1285, 0, 0, 0, 0, 0}, {522, 1024, 4096, 0, 0, 0, 0}, {771, 4420, 1028, 0, 0, 0, 0}, {1036, 20992, 0, 0, 0, 0, 0}, {338, 1285, 0, 0, 0, 0, 0}, {514, 4160, 1028, 0, 0, 0, 0}, {783, 1024, 4352, 0, 0, 0, 0}, {2560, 544, 1088, 4112, 0, 0, 0}, {3840, 819, 1092, 4369, 0, 0, 0}, {1096, 4626, 0, 0, 0, 0, 0}, {275, 1280, 0, 0, 0, 0, 0}, {552, 8192, 4176, 5140, 0, 0, 0}, {831, 13056, 4437, 5397, 0, 0, 0}, {1100, 5654, 0, 0, 0, 0, 0}, {279, 1280, 0, 0, 0, 0, 0}, {1096, 4144, 5712, 20560, 0, 0, 0}, {1100, 4454, 4693, 21845, 0, 0, 0}, {6682, 12336, 1088, 0, 0, 0, 0}, {283, 819, 324, 1280, 4096, 0, 0}, {1100, 4208, 4688, 20560, 0, 0, 0}, {1096, 4386, 5717, 21845, 0, 0, 0}, {7710, 8738, 1092, 0, 0, 0, 0}, {287, 544, 320, 1280, 4352, 0, 0}, {4128, 4608, 5120, 0, 0, 0, 0}, {1147, 771, 4369, 0, 0, 0, 0}, {3072, 4642, 16384, 0, 0, 0, 0}, {1295, 291, 771, 1360, 4112, 0, 0}, {1548, 1060, 5188, 0, 0, 0, 0}, {783, 5669, 4437, 0, 0, 0, 0}, {4714, 9766, 16448, 0, 0, 0, 0}, {4111, 295, 4864, 4176, 5376, 0, 0}, {1064, 1536, 4096, 0, 0, 0, 0}, {4454, 771, 5397, 0, 0, 0, 0}, {5674, 12288, 17408, 0, 0, 0, 0}, {4379, 4144, 771, 4420, 5140, 0, 0}, {1548, 544, 4160, 0, 0, 0, 0}, {783, 4386, 5461, 0, 0, 0, 0}, {3084, 5734, 17476, 0, 0, 0, 0}, {1295, 1056, 1536, 1360, 4352, 0, 0}, {2048, 4656, 17408, 0, 0, 0, 0}, {1290, 305, 514, 1365, 4369, 0, 0}, {1128, 514, 4112, 0, 0, 0, 0}, {4403, 4608, 5376, 0, 0, 0, 0}, {4728, 13364, 17476, 0, 0, 0, 0}, {4362, 309, 4864, 4437, 5120, 0, 0}, {522, 5686, 4176, 0, 0, 0, 0}, {1800, 1079, 5440, 0, 0, 0, 0}, {2056, 5744, 16448, 0, 0, 0, 0}, {1290, 1075, 1792, 1365, 4096, 0, 0}, {522, 4144, 5200, 0, 0, 0, 0}, {1800, 819, 4420, 0, 0, 0, 0}, {5692, 8704, 16384, 0, 0, 0, 0}, {4127, 4386, 514, 4160, 5397, 0, 0}, {4208, 514, 5140, 0, 0, 0, 0}, {1087, 1792, 4352, 0, 0, 0, 0}, {7680, 8704, 1088, 0, 0, 0, 0}, {286, 546, 321, 1285, 4369, 0, 0}, {1096, 4192, 4674, 20480, 0, 0, 0}, {1100, 4403, 5699, 21760, 0, 0, 0}, {6656, 12288, 1092, 0, 0, 0, 0}, {282, 816, 325, 1285, 4112, 0, 0}, {1100, 4128, 5702, 20480, 0, 0, 0}, {1096, 4471, 4679, 21760, 0, 0, 0}, {1096, 5632, 0, 0, 0, 0, 0}, {278, 1285, 0, 0, 0, 0, 0}, {554, 8224, 4160, 5120, 0, 0, 0}, {828, 13107, 4420, 5376, 0, 0, 0}, {1100, 4608, 0, 0, 0, 0, 0}, {274, 1285, 0, 0, 0, 0, 0}, {2570, 546, 1092, 4096, 0, 0, 0}, {3855, 816, 1088, 4352, 0, 0, 0}, {512, 4176, 1024, 0, 0, 0, 0}, {780, 1028, 4369, 0, 0, 0, 0}, {1032, 21074, 0, 0, 0, 0, 0}, {339, 1280, 0, 0, 0, 0, 0}, {520, 1028, 4112, 0, 0, 0, 0}, {768, 4437, 1024, 0, 0, 0, 0}, {1036, 22102, 0, 0, 0, 0, 0}, {343, 1280, 0, 0, 0, 0, 0}, {1032, 4208, 1536, 20560, 0, 0, 0}, {1036, 4454, 1792, 21845, 0, 0, 0}, {4698, 1024, 0, 0, 0, 0, 0}, {4883, 260, 0, 0, 0, 0, 0}, {1036, 4144, 512, 20560, 0, 0, 0}, {1032, 4386, 768, 21845, 0, 0, 0}, {4626, 1028, 0, 0, 0, 0, 0}, {95, 256, 0, 0, 0, 0, 0}, {4192, 512, 5120, 0, 0, 0, 0}, {1083, 1799, 4369, 0, 0, 0, 0}, {5674, 8738, 16448, 0, 0, 0, 0}, {4111, 4403, 512, 4176, 5376, 0, 0}, {520, 4128, 5188, 0, 0, 0, 0}, {1807, 816, 4437, 0, 0, 0, 0}, {2048, 5734, 16384, 0, 0, 0, 0}, {1295, 1079, 1799, 1360, 4112, 0, 0}, {520, 5664, 4160, 0, 0, 0, 0}, {1807, 1075, 5461, 0, 0, 0, 0}, {4714, 13312, 17408, 0, 0, 0, 0}, {4379, 308, 4883, 4420, 5140, 0, 0}, {1132, 512, 4096, 0, 0, 0, 0}, {4386, 4626, 5397, 0, 0, 0, 0}, {2056, 4642, 17476, 0, 0, 0, 0}, {1295, 304, 512, 1360, 4352, 0, 0}, {3072, 5744, 17408, 0, 0, 0, 0}, {1290, 1060, 1542, 1365, 4369, 0, 0}, {1546, 546, 4176, 0, 0, 0, 0}, {780, 4403, 5440, 0, 0, 0, 0}, {5692, 12336, 17476, 0, 0, 0, 0}, {4362, 4128, 768, 4437, 5120, 0, 0}, {1068, 1542, 4112, 0, 0, 0, 0}, {4471, 768, 5376, 0, 0, 0, 0}, {4728, 9728, 16384, 0, 0, 0, 0}, {4127, 294, 4883, 4160, 5397, 0, 0}, {1546, 1056, 5200, 0, 0, 0, 0}, {780, 5683, 4420, 0, 0, 0, 0}, {3084, 4656, 16448, 0, 0, 0, 0}, {1290, 290, 768, 1365, 4096, 0, 0}, {4144, 4626, 5140, 0, 0, 0, 0}, {1151, 768, 4352, 0, 0, 0, 0}, {1152, 4608, 17408, 0, 0, 0, 0}, {95, 289, 771, 1285, 4369, 0, 0}, {1546, 546, 4096, 0, 0, 0, 0}, {4403, 771, 5440, 0, 0, 0, 0}, {4680, 13380, 17476, 0, 0, 0, 0}, {4362, 293, 4613, 4437, 1285, 0, 0}, {1068, 1542, 4160, 0, 0, 0, 0}, {783, 4471, 5376, 0, 0, 0, 0}, {1160, 5632, 16384, 0, 0, 0, 0}, {95, 374, 771, 1285, 4112, 0, 0}, {4618, 4128, 5120, 0, 0, 0, 0}, {5439, 771, 4420, 0, 0, 0, 0}, {5708, 8704, 16448, 0, 0, 0, 0}, {4111, 4386, 4864, 4176, 1285, 0, 0}, {1060, 1542, 5188, 0, 0, 0, 0}, {783, 1904, 4352, 0, 0, 0, 0}, {4144, 512, 5200, 0, 0, 0, 0}, {1800, 819, 4369, 0, 0, 0, 0}, {1224, 4626, 16448, 0, 0, 0, 0}, {95, 307, 512, 1280, 4096, 0, 0}, {520, 4208, 5140, 0, 0, 0, 0}, {1087, 1792, 4437, 0, 0, 0, 0}, {4698, 9830, 16384, 0, 0, 0, 0}, {4127, 311, 4631, 4160, 1280, 0, 0}, {520, 1632, 4112, 0, 0, 0, 0}, {1075, 1792, 5461, 0, 0, 0, 0}, {5722, 12336, 17408, 0, 0, 0, 0}, {4379, 4128, 4883, 4420, 1280, 0, 0}, {5180, 512, 4176, 0, 0, 0, 0}, {4637, 4386, 5397, 0, 0, 0, 0}, {1220, 5654, 17476, 0, 0, 0, 0}, {95, 352, 512, 1280, 4352, 0, 0}, {160, 512, 1024, 4096, 0, 0, 0}, {255, 771, 1028, 4369, 0, 0, 0}, {1032, 4642, 0, 0, 0, 0, 0}, {259, 1360, 0, 0, 0, 0, 0}, {520, 8224, 4160, 1028, 0, 0, 0}, {783, 13056, 4437, 1024, 0, 0, 0}, {1036, 5734, 0, 0, 0, 0, 0}, {263, 1360, 0, 0, 0, 0, 0}, {1032, 4128, 1536, 20480, 0, 0, 0}, {1036, 4454, 771, 21845, 0, 0, 0}, {4778, 12288, 1024, 0, 0, 0, 0}, {267, 771, 340, 1028, 4112, 0, 0}, {1036, 4192, 512, 20480, 0, 0, 0}, {1032, 4386, 1799, 21845, 0, 0, 0}, {4834, 8738, 1028, 0, 0, 0, 0}, {271, 512, 336, 1024, 4352, 0, 0}, {4656, 1088, 0, 0, 0, 0, 0}, {1290, 273, 0, 0, 0, 0, 0}, {1096, 4144, 4626, 20560, 0, 0, 0}, {1100, 4403, 4608, 21760, 0, 0, 0}, {5692, 1092, 0, 0, 0, 0, 0}, {4896, 277, 0, 0, 0, 0, 0}, {1100, 4208, 5654, 20560, 0, 0, 0}, {1096, 4471, 5632, 21760, 0, 0, 0}, {1096, 22064, 0, 0, 0, 0, 0}, {1043, 1365, 0, 0, 0, 0, 0}, {554, 1088, 4112, 0, 0, 0, 0}, {819, 4420, 5376, 0, 0, 0, 0}, {1100, 21104, 0, 0, 0, 0, 0}, {1047, 1365, 0, 0, 0, 0, 0}, {546, 4176, 5140, 0, 0, 0, 0}, {831, 1088, 4352, 0, 0, 0, 0}, {1216, 5632, 17408, 0, 0, 0, 0}, {95, 353, 514, 1285, 4369, 0, 0}, {5160, 514, 4160, 0, 0, 0, 0}, {4623, 4403, 5376, 0, 0, 0, 0}, {5708, 12288, 17476, 0, 0, 0, 0}, {4362, 4144, 4864, 4437, 1285, 0, 0}, {522, 1638, 4096, 0, 0, 0, 0}, {1079, 1799, 5440, 0, 0, 0, 0}, {4680, 9792, 16448, 0, 0, 0, 0}, {4111, 310, 4613, 4176, 1285, 0, 0}, {522, 4192, 5120, 0, 0, 0, 0}, {1083, 1799, 4420, 0, 0, 0, 0}, {1228, 4608, 16384, 0, 0, 0, 0}, {95, 306, 514, 1285, 4112, 0, 0}, {4128, 514, 5188, 0, 0, 0, 0}, {1807, 816, 4352, 0, 0, 0, 0}, {1056, 1536, 5200, 0, 0, 0, 0}, {780, 1911, 4369, 0, 0, 0, 0}, {5722, 8738, 16384, 0, 0, 0, 0}, {4127, 4403, 4883, 4160, 1280, 0, 0}, {4632, 4144, 5140, 0, 0, 0, 0}, {5418, 768, 4437, 0, 0, 0, 0}, {1164, 5654, 16448, 0, 0, 0, 0}, {95, 375, 768, 1280, 4096, 0, 0}, {1064, 1536, 4176, 0, 0, 0, 0}, {780, 4454, 5397, 0, 0, 0, 0}, {4698, 13424, 17408, 0, 0, 0, 0}, {4379, 292, 4631, 4420, 1280, 0, 0}, {1548, 544, 4112, 0, 0, 0, 0}, {4386, 768, 5461, 0, 0, 0, 0}, {1156, 4626, 17476, 0, 0, 0, 0}, {95, 288, 768, 1280, 4352, 0, 0}, {544, 4160, 5120, 0, 0, 0, 0}, {828, 1092, 4369, 0, 0, 0, 0}, {1096, 21026, 0, 0, 0, 0, 0}, {1043, 1360, 0, 0, 0, 0, 0}, {552, 1092, 4096, 0, 0, 0, 0}, {816, 4437, 5397, 0, 0, 0, 0}, {1100, 22118, 0, 0, 0, 0, 0}, {1047, 1360, 0, 0, 0, 0, 0}, {1096, 4192, 5632, 20480, 0, 0, 0}, {1100, 4454, 5654, 21845, 0, 0, 0}, {5674, 1088, 0, 0, 0, 0, 0}, {4915, 276, 0, 0, 0, 0, 0}, {1100, 4128, 4608, 20480, 0, 0, 0}, {1096, 4386, 4626, 21845, 0, 0, 0}, {4642, 1092, 0, 0, 0, 0, 0}, {1295, 272, 0, 0, 0, 0, 0}, {4848, 8704, 1024, 0, 0, 0, 0}, {270, 514, 337, 1028, 4369, 0, 0}, {1032, 4208, 514, 20560, 0, 0, 0}, {1036, 4403, 1792, 21760, 0, 0, 0}, {4792, 12336, 1028, 0, 0, 0, 0}, {266, 768, 341, 1024, 4096, 0, 0}, {1036, 4144, 1542, 20560, 0, 0, 0}, {1032, 4471, 768, 21760, 0, 0, 0}, {1032, 5744, 0, 0, 0, 0, 0}, {262, 1365, 0, 0, 0, 0, 0}, {522, 8192, 4176, 1024, 0, 0, 0}, {780, 13107, 4420, 1028, 0, 0, 0}, {1036, 4656, 0, 0, 0, 0, 0}, {258, 1365, 0, 0, 0, 0, 0}, {160, 514, 1028, 4112, 0, 0, 0}, {255, 768, 1024, 4352, 0, 0, 0}, {24320, 0, 0, 0, 0, 0, 0}, {18, 4, 257, 0, 0, 0, 0}, {8, 34, 514, 21760, 0, 0, 0}, {12, 48, 771, 20480, 0, 0, 0}, {4864, 4, 0, 0, 0, 0, 0}, {90, 1285, 0, 0, 0, 0, 0}, {12, 102, 1542, 21760, 0, 0, 0}, {8, 112, 1799, 20480, 0, 0, 0}, {8, 22272, 0, 0, 0, 0, 0}, {86, 1285, 0, 0, 0, 0, 0}, {170, 2570, 21760, 0, 0, 0, 0}, {48, 771, 4, 4096, 0, 0, 0}, {12, 21248, 0, 0, 0, 0, 0}, {82, 1285, 0, 0, 0, 0, 0}, {34, 514, 4, 4352, 0, 0, 0}, {240, 3855, 20480, 0, 0, 0, 0}, {3840, 48, 64, 4112, 0, 0, 0}, {2560, 34, 68, 4369, 0, 0, 0}, {18, 1280, 0, 0, 0, 0, 0}, {76, 4883, 0, 0, 0, 0, 0}, {60, 13056, 68, 5140, 0, 0, 0}, {42, 8192, 64, 5397, 0, 0, 0}, {22, 1280, 0, 0, 0, 0, 0}, {72, 5911, 0, 0, 0, 0, 0}, {72, 48, 5968, 20560, 0, 0, 0}, {76, 102, 4949, 21845, 0, 0, 0}, {26, 48, 64, 1280, 4096, 0, 0}, {6939, 13107, 68, 0, 0, 0, 0}, {76, 112, 4944, 20560, 0, 0, 0}, {72, 34, 5973, 21845, 0, 0, 0}, {30, 34, 68, 1280, 4352, 0, 0}, {7967, 8224, 64, 0, 0, 0, 0}, {128, 24352, 8224, 0, 0, 0, 0}, {18, 68, 1297, 4369, 0, 0, 0}, {2560, 34, 21760, 0, 0, 0, 0}, {12, 48, 771, 64, 4112, 0, 0}, {12, 5924, 68, 0, 0, 0, 0}, {1295, 1317, 1365, 0, 0, 0, 0}, {12, 38, 4864, 64, 5376, 0, 0}, {120, 10023, 20560, 0, 0, 0, 0}, {136, 24360, 30464, 0, 0, 0, 0}, {22, 64, 1301, 4096, 0, 0, 0}, {42, 8192, 21760, 0, 0, 0, 0}, {12, 48, 771, 68, 5140, 0, 0}, {12, 4896, 64, 0, 0, 0, 0}, {1295, 34, 1365, 0, 0, 0, 0}, {12, 34, 1536, 68, 4352, 0, 0}, {3855, 112, 20560, 0, 0, 0, 0}, {3840, 48, 20480, 0, 0, 0, 0}, {8, 34, 514, 68, 4369, 0, 0}, {18, 64, 1296, 4112, 0, 0, 0}, {204, 24371, 13107, 0, 0, 0, 0}, {8, 52, 4864, 68, 5120, 0, 0}, {106, 13621, 21845, 0, 0, 0, 0}, {1290, 1334, 1360, 0, 0, 0, 0}, {8, 5943, 64, 0, 0, 0, 0}, {8, 48, 1792, 64, 4096, 0, 0}, {2570, 102, 21845, 0, 0, 0, 0}, {1290, 48, 1360, 0, 0, 0, 0}, {8, 4915, 68, 0, 0, 0, 0}, {60, 13056, 20480, 0, 0, 0, 0}, {8, 34, 514, 64, 5397, 0, 0}, {22, 68, 1300, 4352, 0, 0, 0}, {192, 24383, 24576, 0, 0, 0, 0}, {7936, 8192, 64, 0, 0, 0, 0}, {30, 34, 68, 1285, 4369, 0, 0}, {72, 34, 5954, 21760, 0, 0, 0}, {76, 112, 4931, 20480, 0, 0, 0}, {6912, 13056, 68, 0, 0, 0, 0}, {26, 48, 64, 1285, 4112, 0, 0}, {76, 102, 4934, 21760, 0, 0, 0}, {72, 48, 5959, 20480, 0, 0, 0}, {72, 5888, 0, 0, 0, 0, 0}, {22, 1285, 0, 0, 0, 0, 0}, {42, 8224, 64, 5376, 0, 0, 0}, {60, 13107, 68, 5120, 0, 0, 0}, {76, 4864, 0, 0, 0, 0, 0}, {18, 1285, 0, 0, 0, 0, 0}, {2570, 34, 68, 4352, 0, 0, 0}, {3855, 48, 64, 4096, 0, 0, 0}, {240, 3840, 20560, 0, 0, 0, 0}, {34, 512, 4, 4369, 0, 0, 0}, {82, 1280, 0, 0, 0, 0, 0}, {12, 21331, 0, 0, 0, 0, 0}, {48, 768, 4, 4112, 0, 0, 0}, {170, 2560, 21845, 0, 0, 0, 0}, {86, 1280, 0, 0, 0, 0, 0}, {8, 22359, 0, 0, 0, 0, 0}, {8, 112, 1792, 20560, 0, 0, 0}, {12, 102, 1536, 21845, 0, 0, 0}, {90, 1280, 0, 0, 0, 0, 0}, {4883, 4, 0, 0, 0, 0, 0}, {12, 48, 768, 20560, 0, 0, 0}, {8, 34, 512, 21845, 0, 0, 0}, {18, 4, 256, 0, 0, 0, 0}, {24415, 0, 0, 0, 0, 0, 0}, {192, 24416, 24672, 0, 0, 0, 0}, {22, 68, 1297, 4369, 0, 0, 0}, {8, 34, 512, 64, 5376, 0, 0}, {60, 13107, 20560, 0, 0, 0, 0}, {8, 4896, 68, 0, 0, 0, 0}, {1295, 48, 1365, 0, 0, 0, 0}, {2560, 102, 21760, 0, 0, 0, 0}, {8, 48, 1799, 64, 4112, 0, 0}, {8, 5920, 64, 0, 0, 0, 0}, {1295, 1331, 1365, 0, 0, 0, 0}, {106, 13568, 21760, 0, 0, 0, 0}, {8, 52, 4883, 68, 5140, 0, 0}, {204, 24428, 13056, 0, 0, 0, 0}, {18, 64, 1301, 4096, 0, 0, 0}, {8, 34, 512, 68, 4352, 0, 0}, {3855, 48, 20560, 0, 0, 0, 0}, {3840, 112, 20480, 0, 0, 0, 0}, {12, 34, 1542, 68, 4369, 0, 0}, {1290, 34, 1360, 0, 0, 0, 0}, {12, 4915, 64, 0, 0, 0, 0}, {12, 48, 768, 68, 5120, 0, 0}, {42, 8224, 21845, 0, 0, 0, 0}, {22, 64, 1296, 4112, 0, 0, 0}, {136, 24439, 30583, 0, 0, 0, 0}, {120, 9984, 20480, 0, 0, 0, 0}, {12, 38, 4883, 64, 5397, 0, 0}, {1290, 1312, 1360, 0, 0, 0, 0}, {12, 5939, 68, 0, 0, 0, 0}, {12, 48, 768, 64, 4096, 0, 0}, {2570, 34, 21845, 0, 0, 0, 0}, {18, 68, 1300, 4352, 0, 0, 0}, {128, 24447, 8192, 0, 0, 0, 0}, {128, 24320, 8192, 0, 0, 0, 0}, {18, 68, 1285, 4369, 0, 0, 0}, {2570, 34, 21760, 0, 0, 0, 0}, {12, 48, 771, 64, 4096, 0, 0}, {12, 5888, 68, 0, 0, 0, 0}, {90, 112, 1285, 0, 0, 0, 0}, {12, 38, 4870, 64, 5376, 0, 0}, {120, 10103, 20480, 0, 0, 0, 0}, {136, 24320, 30464, 0, 0, 0, 0}, {22, 64, 1285, 4112, 0, 0, 0}, {42, 8224, 21760, 0, 0, 0, 0}, {12, 48, 771, 68, 5120, 0, 0}, {12, 4864, 64, 0, 0, 0, 0}, {90, 34, 1285, 0, 0, 0, 0}, {12, 34, 1542, 68, 4352, 0, 0}, {3855, 112, 20480, 0, 0, 0, 0}, {3840, 48, 20560, 0, 0, 0, 0}, {8, 34, 512, 68, 4369, 0, 0}, {18, 64, 1280, 4096, 0, 0, 0}, {204, 24415, 13107, 0, 0, 0, 0}, {8, 52, 4884, 68, 5140, 0, 0}, {106, 13653, 21845, 0, 0, 0, 0}, {90, 102, 1280, 0, 0, 0, 0}, {8, 5911, 64, 0, 0, 0, 0}, {8, 48, 1792, 64, 4112, 0, 0}, {2560, 102, 21845, 0, 0, 0, 0}, {90, 48, 1280, 0, 0, 0, 0}, {8, 4883, 68, 0, 0, 0, 0}, {60, 13056, 20560, 0, 0, 0, 0}, {8, 34, 512, 64, 5397, 0, 0}, {22, 68, 1280, 4352, 0, 0, 0}, {192, 24415, 24672, 0, 0, 0, 0}, {24480, 0, 0, 0, 0, 0, 0}, {259, 4, 273, 0, 0, 0, 0}, {8, 34, 512, 21760, 0, 0, 0}, {12, 48, 771, 20560, 0, 0, 0}, {4896, 4, 0, 0, 0, 0, 0}, {1295, 1365, 0, 0, 0, 0, 0}, {12, 102, 1536, 21760, 0, 0, 0}, {8, 112, 1799, 20560, 0, 0, 0}, {8, 22304, 0, 0, 0, 0, 0}, {1283, 1365, 0, 0, 0, 0, 0}, {170, 2560, 21760, 0, 0, 0, 0}, {48, 771, 4, 4112, 0, 0, 0}, {12, 21344, 0, 0, 0, 0, 0}, {1287, 1365, 0, 0, 0, 0, 0}, {34, 512, 4, 4352, 0, 0, 0}, {240, 3855, 20560, 0, 0, 0, 0}, {3840, 48, 64, 4096, 0, 0, 0}, {2570, 34, 68, 4369, 0, 0, 0}, {18, 1360, 0, 0, 0, 0, 0}, {76, 4915, 0, 0, 0, 0, 0}, {60, 13056, 68, 5120, 0, 0, 0}, {42, 8224, 64, 5397, 0, 0, 0}, {22, 1360, 0, 0, 0, 0, 0}, {72, 6007, 0, 0, 0, 0, 0}, {72, 48, 5888, 20480, 0, 0, 0}, {76, 102, 4883, 21845, 0, 0, 0}, {26, 48, 64, 1296, 4112, 0, 0}, {6963, 13107, 68, 0, 0, 0, 0}, {76, 112, 4864, 20480, 0, 0, 0}, {72, 34, 5911, 21845, 0, 0, 0}, {30, 34, 68, 1300, 4352, 0, 0}, {7999, 8192, 64, 0, 0, 0, 0}, {192, 24320, 24576, 0, 0, 0, 0}, {22, 68, 1285, 4369, 0, 0, 0}, {8, 34, 514, 64, 5376, 0, 0}, {60, 13107, 20480, 0, 0, 0, 0}, {8, 4864, 68, 0, 0, 0, 0}, {90, 48, 1285, 0, 0, 0, 0}, {2570, 102, 21760, 0, 0, 0, 0}, {8, 48, 1799, 64, 4096, 0, 0}, {8, 5888, 64, 0, 0, 0, 0}, {90, 102, 1285, 0, 0, 0, 0}, {106, 13664, 21760, 0, 0, 0, 0}, {8, 52, 4871, 68, 5120, 0, 0}, {204, 24320, 13056, 0, 0, 0, 0}, {18, 64, 1285, 4112, 0, 0, 0}, {8, 34, 514, 68, 4352, 0, 0}, {3855, 48, 20480, 0, 0, 0, 0}, {3840, 112, 20560, 0, 0, 0, 0}, {12, 34, 1536, 68, 4369, 0, 0}, {90, 34, 1280, 0, 0, 0, 0}, {12, 4883, 64, 0, 0, 0, 0}, {12, 48, 768, 68, 5140, 0, 0}, {42, 8192, 21845, 0, 0, 0, 0}, {22, 64, 1280, 4096, 0, 0, 0}, {136, 24415, 30583, 0, 0, 0, 0}, {120, 10064, 20560, 0, 0, 0, 0}, {12, 38, 4885, 64, 5397, 0, 0}, {90, 112, 1280, 0, 0, 0, 0}, {12, 5911, 68, 0, 0, 0, 0}, {12, 48, 768, 64, 4112, 0, 0}, {2560, 34, 21845, 0, 0, 0, 0}, {18, 68, 1280, 4352, 0, 0, 0}, {128, 24415, 8224, 0, 0, 0, 0}, {7968, 8224, 64, 0, 0, 0, 0}, {30, 34, 68, 1297, 4369, 0, 0}, {72, 34, 5888, 21760, 0, 0, 0}, {76, 112, 4883, 20560, 0, 0, 0}, {6952, 13056, 68, 0, 0, 0, 0}, {26, 48, 64, 1301, 4096, 0, 0}, {76, 102, 4864, 21760, 0, 0, 0}, {72, 48, 5911, 20560, 0, 0, 0}, {72, 5984, 0, 0, 0, 0, 0}, {22, 1365, 0, 0, 0, 0, 0}, {42, 8192, 64, 5376, 0, 0, 0}, {60, 13107, 68, 5140, 0, 0, 0}, {76, 4896, 0, 0, 0, 0, 0}, {18, 1365, 0, 0, 0, 0, 0}, {2560, 34, 68, 4352, 0, 0, 0}, {3855, 48, 64, 4112, 0, 0, 0}, {240, 3840, 20480, 0, 0, 0, 0}, {34, 514, 4, 4369, 0, 0, 0}, {1282, 1360, 0, 0, 0, 0, 0}, {12, 21299, 0, 0, 0, 0, 0}, {48, 768, 4, 4096, 0, 0, 0}, {170, 2570, 21845, 0, 0, 0, 0}, {1286, 1360, 0, 0, 0, 0, 0}, {8, 22391, 0, 0, 0, 0, 0}, {8, 112, 1792, 20480, 0, 0, 0}, {12, 102, 1542, 21845, 0, 0, 0}, {1290, 1360, 0, 0, 0, 0, 0}, {4915, 4, 0, 0, 0, 0, 0}, {12, 48, 768, 20480, 0, 0, 0}, {8, 34, 514, 21845, 0, 0, 0}, {258, 4, 272, 0, 0, 0, 0}, {24575, 0, 0, 0, 0, 0, 0}, {24576, 0, 0, 0, 0, 0, 0}, {7, 17, 257, 0, 0, 0, 0}, {8, 34, 514, 16384, 0, 0, 0}, {15, 51, 771, 20480, 0, 0, 0}, {8, 8192, 68, 1028, 0, 0, 0}, {15, 12288, 85, 1285, 0, 0, 0}, {102, 1542, 0, 0, 0, 0, 0}, {7, 4096, 0, 0, 0, 0, 0}, {8, 8192, 16384, 0, 0, 0, 0}, {15, 51, 771, 85, 1285, 0, 0}, {24586, 0, 0, 0, 0, 0, 0}, {4099, 4100, 0, 0, 0, 0, 0}, {24588, 0, 0, 0, 0, 0, 0}, {4098, 4101, 0, 0, 0, 0, 0}, {8, 34, 514, 68, 1028, 0, 0}, {15, 12288, 20480, 0, 0, 0, 0}, {112, 4112, 0, 0, 0, 0, 0}, {1536, 17, 0, 0, 0, 0, 0}, {90, 34, 4626, 20480, 0, 0, 0}, {76, 51, 4883, 16384, 0, 0, 0}, {60, 12288, 68, 5140, 0, 0, 0}, {42, 8192, 85, 5397, 0, 0, 0}, {22, 4096, 0, 0, 0, 0, 0}, {119, 5911, 0, 0, 0, 0, 0}, {120, 12336, 20560, 0, 0, 0, 0}, {25, 51, 4864, 85, 5376, 0, 0}, {4122, 4144, 4160, 0, 0, 0, 0}, {5915, 51, 68, 0, 0, 0, 0}, {4124, 4128, 4176, 0, 0, 0, 0}, {5917, 34, 85, 0, 0, 0, 0}, {30, 34, 4608, 68, 5120, 0, 0}, {127, 8224, 16448, 0, 0, 0, 0}, {128, 8224, 16384, 0, 0, 0, 0}, {15, 771, 1280, 17, 0, 0, 0}, {34, 16896, 0, 0, 0, 0, 0}, {67, 4112, 0, 0, 0, 0, 0}, {3084, 9252, 68, 0, 0, 0, 0}, {15, 37, 85, 1280, 4096, 0, 0}, {76, 102, 1600, 16448, 0, 0, 0}, {15, 119, 5968, 20560, 0, 0, 0}, {24616, 0, 0, 0, 0, 0, 0}, {4099, 4117, 0, 0, 0, 0, 0}, {42, 8192, 16384, 0, 0, 0, 0}, {15, 51, 771, 68, 5140, 0, 0}, {76, 8224, 16448, 0, 0, 0, 0}, {15, 34, 4608, 85, 1280, 0, 0}, {1548, 34, 68, 0, 0, 0, 0}, {15, 4128, 4176, 0, 0, 0, 0}, {240, 12336, 20480, 0, 0, 0, 0}, {8, 514, 1024, 17, 0, 0, 0}, {82, 4112, 0, 0, 0, 0, 0}, {51, 21248, 0, 0, 0, 0, 0}, {8, 52, 68, 1024, 4096, 0, 0}, {2570, 13621, 85, 0, 0, 0, 0}, {90, 102, 1616, 20560, 0, 0, 0}, {8, 119, 5952, 16448, 0, 0, 0}, {8, 4144, 4160, 0, 0, 0, 0}, {1546, 51, 85, 0, 0, 0, 0}, {90, 12336, 20560, 0, 0, 0, 0}, {8, 51, 4864, 68, 1024, 0, 0}, {60, 12288, 20480, 0, 0, 0, 0}, {8, 34, 514, 85, 5397, 0, 0}, {4098, 4116, 0, 0, 0, 0, 0}, {24639, 0, 0, 0, 0, 0, 0}, {128, 8192, 16448, 0, 0, 0, 0}, {15, 768, 1285, 17, 0, 0, 0}, {34, 16962, 0, 0, 0, 0, 0}, {67, 4096, 0, 0, 0, 0, 0}, {3072, 9216, 68, 0, 0, 0, 0}, {15, 37, 85, 1285, 4112, 0, 0}, {76, 102, 1606, 16384, 0, 0, 0}, {15, 119, 5959, 20480, 0, 0, 0}, {24648, 0, 0, 0, 0, 0, 0}, {4115, 4101, 0, 0, 0, 0, 0}, {42, 8224, 16448, 0, 0, 0, 0}, {15, 51, 768, 68, 5120, 0, 0}, {76, 8192, 16384, 0, 0, 0, 0}, {15, 34, 4626, 85, 1285, 0, 0}, {1546, 34, 68, 0, 0, 0, 0}, {15, 4144, 4160, 0, 0, 0, 0}, {240, 12288, 20560, 0, 0, 0, 0}, {8, 512, 1028, 17, 0, 0, 0}, {82, 4096, 0, 0, 0, 0, 0}, {51, 21331, 0, 0, 0, 0, 0}, {8, 52, 68, 1028, 4112, 0, 0}, {2560, 13568, 85, 0, 0, 0, 0}, {90, 102, 1622, 20480, 0, 0, 0}, {8, 119, 5975, 16384, 0, 0, 0}, {8, 4128, 4176, 0, 0, 0, 0}, {1548, 51, 85, 0, 0, 0, 0}, {90, 12288, 20480, 0, 0, 0, 0}, {8, 51, 4883, 68, 1028, 0, 0}, {60, 12336, 20560, 0, 0, 0, 0}, {8, 34, 512, 85, 5376, 0, 0}, {4114, 4100, 0, 0, 0, 0, 0}, {24671, 0, 0, 0, 0, 0, 0}, {24672, 0, 0, 0, 0, 0, 0}, {7, 17, 256, 0, 0, 0, 0}, {8, 34, 512, 16448, 0, 0, 0}, {15, 51, 768, 20560, 0, 0, 0}, {8, 8224, 68, 1024, 0, 0, 0}, {15, 12336, 85, 1280, 0, 0, 0}, {102, 1536, 0, 0, 0, 0, 0}, {7, 4112, 0, 0, 0, 0, 0}, {8, 8224, 16448, 0, 0, 0, 0}, {15, 51, 768, 85, 1280, 0, 0}, {24682, 0, 0, 0, 0, 0, 0}, {4115, 4116, 0, 0, 0, 0, 0}, {24684, 0, 0, 0, 0, 0, 0}, {4114, 4117, 0, 0, 0, 0, 0}, {8, 34, 512, 68, 1024, 0, 0}, {15, 12336, 20560, 0, 0, 0, 0}, {112, 4096, 0, 0, 0, 0, 0}, {1542, 17, 0, 0, 0, 0, 0}, {90, 34, 4608, 20560, 0, 0, 0}, {76, 51, 4864, 16448, 0, 0, 0}, {60, 12336, 68, 5120, 0, 0, 0}, {42, 8224, 85, 5376, 0, 0, 0}, {22, 4112, 0, 0, 0, 0, 0}, {119, 5888, 0, 0, 0, 0, 0}, {120, 12288, 20480, 0, 0, 0, 0}, {25, 51, 4883, 85, 5397, 0, 0}, {4106, 4128, 4176, 0, 0, 0, 0}, {5900, 51, 68, 0, 0, 0, 0}, {4108, 4144, 4160, 0, 0, 0, 0}, {5898, 34, 85, 0, 0, 0, 0}, {30, 34, 4626, 68, 5140, 0, 0}, {127, 8192, 16384, 0, 0, 0, 0}, {128, 8192, 16384, 0, 0, 0, 0}, {15, 771, 1285, 17, 0, 0, 0}, {16906, 34, 0, 0, 0, 0, 0}, {4099, 4160, 0, 0, 0, 0, 0}, {9228, 68, 0, 0, 0, 0, 0}, {4128, 4101, 0, 0, 0, 0, 0}, {76, 102, 1542, 16448, 0, 0, 0}, {15, 119, 5888, 20480, 0, 0, 0}, {136, 18432, 24576, 0, 0, 0, 0}, {22, 85, 1285, 4112, 0, 0, 0}, {42, 8224, 16384, 0, 0, 0, 0}, {15, 51, 771, 68, 5120, 0, 0}, {76, 8192, 16448, 0, 0, 0, 0}, {15, 34, 4608, 85, 1285, 0, 0}, {34, 1542, 68, 0, 0, 0, 0}, {15, 112, 4096, 0, 0, 0, 0}, {240, 12336, 20560, 0, 0, 0, 0}, {8, 512, 1024, 17, 0, 0, 0}, {4114, 4160, 0, 0, 0, 0, 0}, {21343, 51, 0, 0, 0, 0, 0}, {4128, 4116, 0, 0, 0, 0, 0}, {13631, 85, 0, 0, 0, 0, 0}, {90, 102, 1536, 20480, 0, 0, 0}, {8, 119, 5911, 16448, 0, 0, 0}, {8, 112, 4112, 0, 0, 0, 0}, {51, 1536, 85, 0, 0, 0, 0}, {90, 12336, 20480, 0, 0, 0, 0}, {8, 51, 4883, 68, 1024, 0, 0}, {60, 12288, 20560, 0, 0, 0, 0}, {8, 34, 512, 85, 5397, 0, 0}, {22, 68, 1024, 4096, 0, 0, 0}, {255, 24415, 24672, 0, 0, 0, 0}, {24736, 0, 0, 0, 0, 0, 0}, {259, 260, 17, 0, 0, 0, 0}, {8, 34, 512, 16384, 0, 0, 0}, {15, 51, 771, 20560, 0, 0, 0}, {8, 8224, 68, 1028, 0, 0, 0}, {15, 12288, 85, 1280, 0, 0, 0}, {1548, 102, 0, 0, 0, 0, 0}, {7, 4176, 0, 0, 0, 0, 0}, {8, 8224, 16384, 0, 0, 0, 0}, {15, 51, 771, 85, 1280, 0, 0}, {170, 2560, 24576, 0, 0, 0, 0}, {7, 68, 1028, 4112, 0, 0, 0}, {204, 3084, 24672, 0, 0, 0, 0}, {7, 85, 1280, 4096, 0, 0, 0}, {8, 34, 512, 68, 1028, 0, 0}, {15, 12288, 20560, 0, 0, 0, 0}, {4144, 4160, 0, 0, 0, 0, 0}, {1546, 17, 0, 0, 0, 0, 0}, {90, 34, 4626, 20560, 0, 0, 0}, {76, 51, 4864, 16384, 0, 0, 0}, {60, 12288, 68, 5120, 0, 0, 0}, {42, 8224, 85, 5397, 0, 0, 0}, {22, 4176, 0, 0, 0, 0, 0}, {5960, 119, 0, 0, 0, 0, 0}, {120, 12336, 20480, 0, 0, 0, 0}, {25, 51, 4883, 85, 5376, 0, 0}, {90, 112, 4112, 0, 0, 0, 0}, {51, 5888, 68, 0, 0, 0, 0}, {76, 112, 4096, 0, 0, 0, 0}, {34, 5911, 85, 0, 0, 0, 0}, {30, 34, 4608, 68, 5140, 0, 0}, {127, 8192, 16448, 0, 0, 0, 0}, {24768, 0, 0, 0, 0, 0, 0}, {258, 261, 17, 0, 0, 0, 0}, {8, 34, 514, 16448, 0, 0, 0}, {15, 51, 768, 20480, 0, 0, 0}, {8, 8192, 68, 1024, 0, 0, 0}, {15, 12336, 85, 1285, 0, 0, 0}, {1546, 102, 0, 0, 0, 0, 0}, {7, 4160, 0, 0, 0, 0, 0}, {8, 8192, 16448, 0, 0, 0, 0}, {15, 51, 768, 85, 1285, 0, 0}, {170, 2570, 24672, 0, 0, 0, 0}, {7, 68, 1024, 4096, 0, 0, 0}, {204, 3072, 24576, 0, 0, 0, 0}, {7, 85, 1285, 4112, 0, 0, 0}, {8, 34, 514, 68, 1024, 0, 0}, {15, 12336, 20480, 0, 0, 0, 0}, {4128, 4176, 0, 0, 0, 0, 0}, {1548, 17, 0, 0, 0, 0, 0}, {90, 34, 4608, 20480, 0, 0, 0}, {76, 51, 4883, 16448, 0, 0, 0}, {60, 12336, 68, 5140, 0, 0, 0}, {42, 8192, 85, 5376, 0, 0, 0}, {22, 4160, 0, 0, 0, 0, 0}, {5983, 119, 0, 0, 0, 0, 0}, {120, 12288, 20560, 0, 0, 0, 0}, {25, 51, 4864, 85, 5397, 0, 0}, {90, 112, 4096, 0, 0, 0, 0}, {51, 5911, 68, 0, 0, 0, 0}, {76, 112, 4112, 0, 0, 0, 0}, {34, 5888, 85, 0, 0, 0, 0}, {30, 34, 4626, 68, 5120, 0, 0}, {127, 8224, 16384, 0, 0, 0, 0}, {128, 8224, 16448, 0, 0, 0, 0}, {15, 768, 1280, 17, 0, 0, 0}, {16968, 34, 0, 0, 0, 0, 0}, {4115, 4176, 0, 0, 0, 0, 0}, {9256, 68, 0, 0, 0, 0, 0}, {4144, 4117, 0, 0, 0, 0, 0}, {76, 102, 1536, 16384, 0, 0, 0}, {15, 119, 5911, 20560, 0, 0, 0}, {136, 18504, 24672, 0, 0, 0, 0}, {22, 85, 1280, 4096, 0, 0, 0}, {42, 8192, 16448, 0, 0, 0, 0}, {15, 51, 768, 68, 5140, 0, 0}, {76, 8224, 16384, 0, 0, 0, 0}, {15, 34, 4626, 85, 1280, 0, 0}, {34, 1536, 68, 0, 0, 0, 0}, {15, 112, 4112, 0, 0, 0, 0}, {240, 12288, 20480, 0, 0, 0, 0}, {8, 514, 1028, 17, 0, 0, 0}, {4098, 4176, 0, 0, 0, 0, 0}, {21260, 51, 0, 0, 0, 0, 0}, {4144, 4100, 0, 0, 0, 0, 0}, {13578, 85, 0, 0, 0, 0, 0}, {90, 102, 1542, 20560, 0, 0, 0}, {8, 119, 5888, 16384, 0, 0, 0}, {8, 112, 4096, 0, 0, 0, 0}, {51, 1542, 85, 0, 0, 0, 0}, {90, 12288, 20560, 0, 0, 0, 0}, {8, 51, 4864, 68, 1028, 0, 0}, {60, 12336, 20480, 0, 0, 0, 0}, {8, 34, 514, 85, 5376, 0, 0}, {22, 68, 1028, 4112, 0, 0, 0}, {255, 24320, 24576, 0, 0, 0, 0}, {1792, 4352, 0, 0, 0, 0, 0}, {96, 257, 0, 0, 0, 0, 0}, {1290, 4386, 514, 20480, 0, 0, 0}, {1036, 4403, 771, 16384, 0, 0, 0}, {780, 12288, 4420, 1028, 0, 0, 0}, {522, 8192, 4437, 1285, 0, 0, 0}, {262, 4096, 0, 0, 0, 0, 0}, {4471, 1799, 0, 0, 0, 0, 0}, {1800, 13056, 21760, 0, 0, 0, 0}, {265, 4144, 771, 4176, 1285, 0, 0}, {4362, 4864, 5120, 0, 0, 0, 0}, {4475, 771, 1028, 0, 0, 0, 0}, {4364, 4608, 5376, 0, 0, 0, 0}, {4477, 514, 1285, 0, 0, 0, 0}, {270, 4128, 514, 4160, 1028, 0, 0}, {1807, 8704, 17408, 0, 0, 0, 0}, {1536, 272, 0, 0, 0, 0, 0}, {1911, 4369, 0, 0, 0, 0, 0}, {1096, 4386, 4626, 16384, 0, 0, 0}, {1375, 4403, 4883, 20480, 0, 0, 0}, {552, 8192, 4420, 5140, 0, 0, 0}, {831, 12288, 4437, 5397, 0, 0, 0}, {4454, 5654, 0, 0, 0, 0, 0}, {279, 4096, 0, 0, 0, 0, 0}, {280, 4144, 4864, 4176, 5376, 0, 0}, {1919, 13107, 21845, 0, 0, 0, 0}, {5658, 816, 1088, 0, 0, 0, 0}, {4379, 4915, 5188, 0, 0, 0, 0}, {5660, 544, 1360, 0, 0, 0, 0}, {4381, 4642, 5461, 0, 0, 0, 0}, {1912, 8738, 17476, 0, 0, 0, 0}, {287, 4128, 4608, 4160, 5120, 0, 0}, {544, 1280, 4352, 0, 0, 0, 0}, {771, 1092, 4369, 0, 0, 0, 0}, {4386, 17152, 0, 0, 0, 0, 0}, {323, 4112, 0, 0, 0, 0, 0}, {780, 292, 324, 1280, 4096, 0, 0}, {3855, 9509, 4437, 0, 0, 0, 0}, {1100, 4454, 1856, 16448, 0, 0, 0}, {1295, 4471, 5712, 20560, 0, 0, 0}, {4392, 4864, 1280, 0, 0, 0, 0}, {4441, 771, 5397, 0, 0, 0, 0}, {5674, 13056, 17408, 0, 0, 0, 0}, {4379, 4144, 771, 4176, 5140, 0, 0}, {4364, 4128, 4608, 4160, 1280, 0, 0}, {5722, 8738, 21845, 0, 0, 0, 0}, {780, 4642, 1092, 0, 0, 0, 0}, {1295, 544, 5200, 0, 0, 0, 0}, {816, 1024, 4352, 0, 0, 0, 0}, {514, 1365, 4369, 0, 0, 0, 0}, {338, 4112, 0, 0, 0, 0, 0}, {4403, 20992, 0, 0, 0, 0, 0}, {2056, 13364, 4420, 0, 0, 0, 0}, {522, 309, 341, 1024, 4096, 0, 0}, {1370, 4454, 1872, 20560, 0, 0, 0}, {1032, 4471, 5696, 16448, 0, 0, 0}, {1032, 816, 5440, 0, 0, 0, 0}, {522, 4915, 1365, 0, 0, 0, 0}, {4362, 4144, 4864, 4176, 1024, 0, 0}, {5708, 13107, 17476, 0, 0, 0, 0}, {5692, 8704, 21760, 0, 0, 0, 0}, {4381, 4128, 514, 4160, 5397, 0, 0}, {4430, 514, 5140, 0, 0, 0, 0}, {4415, 4608, 1024, 0, 0, 0, 0}, {768, 1088, 4352, 0, 0, 0, 0}, {546, 1285, 4369, 0, 0, 0, 0}, {322, 4096, 0, 0, 0, 0, 0}, {4403, 17219, 0, 0, 0, 0, 0}, {3840, 9472, 4420, 0, 0, 0, 0}, {783, 293, 325, 1285, 4112, 0, 0}, {1290, 4454, 5702, 20480, 0, 0, 0}, {1096, 4471, 1863, 16384, 0, 0, 0}, {4424, 768, 5376, 0, 0, 0, 0}, {4409, 4883, 1285, 0, 0, 0, 0}, {4362, 4128, 768, 4160, 5120, 0, 0}, {5692, 13107, 17476, 0, 0, 0, 0}, {5708, 8704, 21760, 0, 0, 0, 0}, {4381, 4144, 4626, 4176, 1285, 0, 0}, {1290, 546, 5188, 0, 0, 0, 0}, {783, 4656, 1088, 0, 0, 0, 0}, {512, 1360, 4352, 0, 0, 0, 0}, {819, 1028, 4369, 0, 0, 0, 0}, {4386, 21074, 0, 0, 0, 0, 0}, {339, 4096, 0, 0, 0, 0, 0}, {520, 308, 340, 1028, 4112, 0, 0}, {2048, 13312, 4437, 0, 0, 0, 0}, {1036, 4454, 5718, 16384, 0, 0, 0}, {1375, 4471, 1879, 20480, 0, 0, 0}, {520, 4896, 1360, 0, 0, 0, 0}, {1036, 819, 5461, 0, 0, 0, 0}, {5722, 13056, 17408, 0, 0, 0, 0}, {4379, 4128, 4883, 4160, 1028, 0, 0}, {4364, 4144, 512, 4176, 5376, 0, 0}, {5674, 8738, 21845, 0, 0, 0, 0}, {4398, 4626, 1028, 0, 0, 0, 0}, {4447, 512, 5120, 0, 0, 0, 0}, {96, 256, 0, 0, 0, 0, 0}, {1799, 4369, 0, 0, 0, 0, 0}, {1032, 4386, 768, 16448, 0, 0, 0}, {1295, 4403, 512, 20560, 0, 0, 0}, {520, 8224, 4420, 1280, 0, 0, 0}, {783, 12336, 4437, 1024, 0, 0, 0}, {4454, 1792, 0, 0, 0, 0, 0}, {263, 4112, 0, 0, 0, 0, 0}, {264, 4128, 768, 4160, 1280, 0, 0}, {1807, 13107, 21845, 0, 0, 0, 0}, {4458, 768, 1024, 0, 0, 0, 0}, {4379, 4883, 5140, 0, 0, 0, 0}, {4460, 512, 1280, 0, 0, 0, 0}, {4381, 4626, 5397, 0, 0, 0, 0}, {1800, 8738, 17476, 0, 0, 0, 0}, {271, 4144, 512, 4176, 1024, 0, 0}, {1904, 4352, 0, 0, 0, 0, 0}, {1542, 273, 0, 0, 0, 0, 0}, {1370, 4386, 4864, 20560, 0, 0, 0}, {1100, 4403, 4608, 16448, 0, 0, 0}, {828, 12336, 4420, 5376, 0, 0, 0}, {554, 8224, 4437, 5120, 0, 0, 0}, {278, 4112, 0, 0, 0, 0, 0}, {4471, 5632, 0, 0, 0, 0, 0}, {1912, 13056, 21760, 0, 0, 0, 0}, {281, 4128, 4883, 4160, 5397, 0, 0}, {4362, 4896, 5200, 0, 0, 0, 0}, {5644, 819, 1092, 0, 0, 0, 0}, {4364, 4656, 5440, 0, 0, 0, 0}, {5642, 546, 1365, 0, 0, 0, 0}, {286, 4144, 4626, 4176, 5140, 0, 0}, {1919, 8704, 17408, 0, 0, 0, 0}, {1920, 3840, 4352, 0, 0, 0, 0}, {289, 771, 321, 1285, 4369, 0, 0}, {1290, 4386, 4864, 20480, 0, 0, 0}, {1100, 4403, 771, 16448, 0, 0, 0}, {780, 12288, 4420, 5376, 0, 0, 0}, {554, 8224, 4437, 1285, 0, 0, 0}, {4358, 4160, 0, 0, 0, 0, 0}, {17167, 4471, 0, 0, 0, 0, 0}, {4488, 5632, 21760, 0, 0, 0, 0}, {329, 96, 771, 1285, 4112, 0, 0}, {4362, 4896, 5120, 0, 0, 0, 0}, {5439, 771, 1092, 0, 0, 0, 0}, {4364, 4608, 5440, 0, 0, 0, 0}, {4959, 546, 1285, 0, 0, 0, 0}, {1290, 1060, 1542, 1092, 4096, 0, 0}, {3855, 5744, 17408, 0, 0, 0, 0}, {304, 512, 336, 1024, 4352, 0, 0}, {2039, 2056, 4369, 0, 0, 0, 0}, {1032, 4386, 4626, 16448, 0, 0, 0}, {1375, 4403, 512, 20480, 0, 0, 0}, {520, 8224, 4420, 5140, 0, 0, 0}, {831, 12288, 4437, 1024, 0, 0, 0}, {21082, 4454, 0, 0, 0, 0, 0}, {4375, 4160, 0, 0, 0, 0, 0}, {1032, 1328, 1536, 1360, 4112, 0, 0}, {2048, 5734, 21845, 0, 0, 0, 0}, {4698, 816, 1024, 0, 0, 0, 0}, {4379, 4883, 5188, 0, 0, 0, 0}, {5180, 512, 1360, 0, 0, 0, 0}, {4381, 4642, 5397, 0, 0, 0, 0}, {4590, 5654, 17476, 0, 0, 0, 0}, {351, 96, 512, 1024, 4096, 0, 0}, {160, 512, 1280, 4352, 0, 0, 0}, {192, 771, 1028, 4369, 0, 0, 0}, {1800, 4386, 0, 0, 0, 0, 0}, {259, 4176, 0, 0, 0, 0, 0}, {4128, 260, 0, 0, 0, 0, 0}, {1807, 4437, 0, 0, 0, 0, 0}, {1036, 4454, 1792, 16384, 0, 0, 0}, {1295, 4471, 1799, 20560, 0, 0, 0}, {520, 4896, 1280, 0, 0, 0, 0}, {1036, 771, 5461, 0, 0, 0, 0}, {4522, 1792, 17408, 0, 0, 0, 0}, {267, 96, 771, 1028, 4112, 0, 0}, {268, 96, 512, 1280, 4096, 0, 0}, {4573, 1799, 21845, 0, 0, 0, 0}, {780, 4642, 1028, 0, 0, 0, 0}, {1295, 512, 5200, 0, 0, 0, 0}, {3072, 816, 1088, 4352, 0, 0, 0}, {2570, 546, 1365, 4369, 0, 0, 0}, {274, 4176, 0, 0, 0, 0, 0}, {5708, 4403, 0, 0, 0, 0, 0}, {5692, 4420, 0, 0, 0, 0, 0}, {4128, 277, 0, 0, 0, 0, 0}, {1370, 4454, 5654, 20560, 0, 0, 0}, {1096, 4471, 5632, 16384, 0, 0, 0}, {4424, 816, 5376, 0, 0, 0, 0}, {4409, 4883, 1365, 0, 0, 0, 0}, {282, 1056, 1808, 1088, 4112, 0, 0}, {7748, 1911, 17476, 0, 0, 0, 0}, {6476, 1904, 21760, 0, 0, 0, 0}, {285, 1333, 1815, 1365, 4096, 0, 0}, {4430, 546, 5140, 0, 0, 0, 0}, {4415, 4608, 1088, 0, 0, 0, 0}, {192, 768, 1024, 4352, 0, 0, 0}, {160, 514, 1285, 4369, 0, 0, 0}, {258, 4160, 0, 0, 0, 0, 0}, {1807, 4403, 0, 0, 0, 0, 0}, {1800, 4420, 0, 0, 0, 0, 0}, {4144, 261, 0, 0, 0, 0, 0}, {1290, 4454, 1792, 20480, 0, 0, 0}, {1032, 4471, 1799, 16448, 0, 0, 0}, {1032, 768, 5440, 0, 0, 0, 0}, {522, 4915, 1285, 0, 0, 0, 0}, {266, 96, 768, 1024, 4096, 0, 0}, {4539, 1799, 17476, 0, 0, 0, 0}, {4556, 1792, 21760, 0, 0, 0, 0}, {269, 96, 514, 1285, 4112, 0, 0}, {1290, 514, 5188, 0, 0, 0, 0}, {783, 4656, 1024, 0, 0, 0, 0}, {2560, 544, 1360, 4352, 0, 0, 0}, {3084, 819, 1092, 4369, 0, 0, 0}, {5722, 4386, 0, 0, 0, 0, 0}, {275, 4160, 0, 0, 0, 0, 0}, {4144, 276, 0, 0, 0, 0, 0}, {5674, 4437, 0, 0, 0, 0, 0}, {1100, 4454, 5654, 16448, 0, 0, 0}, {1375, 4471, 5632, 20480, 0, 0, 0}, {4392, 4864, 1360, 0, 0, 0, 0}, {4441, 819, 5397, 0, 0, 0, 0}, {7770, 1904, 17408, 0, 0, 0, 0}, {283, 1060, 1815, 1092, 4096, 0, 0}, {284, 1328, 1808, 1360, 4112, 0, 0}, {6485, 1911, 21845, 0, 0, 0, 0}, {4398, 4626, 1092, 0, 0, 0, 0}, {4447, 544, 5120, 0, 0, 0, 0}, {288, 768, 320, 1280, 4352, 0, 0}, {1927, 3855, 4369, 0, 0, 0, 0}, {1096, 4386, 768, 16384, 0, 0, 0}, {1295, 4403, 4883, 20560, 0, 0, 0}, {552, 8192, 4420, 1280, 0, 0, 0}, {783, 12336, 4437, 5397, 0, 0, 0}, {17228, 4454, 0, 0, 0, 0, 0}, {4375, 4176, 0, 0, 0, 0, 0}, {328, 96, 768, 1280, 4096, 0, 0}, {4505, 5654, 21845, 0, 0, 0, 0}, {5418, 768, 1088, 0, 0, 0, 0}, {4379, 4915, 5140, 0, 0, 0, 0}, {4940, 544, 1280, 0, 0, 0, 0}, {4381, 4626, 5461, 0, 0, 0, 0}, {3840, 5734, 17476, 0, 0, 0, 0}, {1295, 1056, 1536, 1088, 4112, 0, 0}, {2032, 2048, 4352, 0, 0, 0, 0}, {305, 514, 337, 1028, 4369, 0, 0}, {1370, 4386, 514, 20560, 0, 0, 0}, {1036, 4403, 4608, 16384, 0, 0, 0}, {828, 12336, 4420, 1028, 0, 0, 0}, {522, 8192, 4437, 5120, 0, 0, 0}, {4358, 4176, 0, 0, 0, 0, 0}, {21000, 4471, 0, 0, 0, 0, 0}, {2056, 5744, 21760, 0, 0, 0, 0}, {1036, 1333, 1542, 1365, 4096, 0, 0}, {4362, 4864, 5200, 0, 0, 0, 0}, {4680, 819, 1028, 0, 0, 0, 0}, {4364, 4656, 5376, 0, 0, 0, 0}, {5160, 514, 1365, 0, 0, 0, 0}, {350, 96, 514, 1028, 4112, 0, 0}, {4607, 5632, 17408, 0, 0, 0, 0}, {2048, 8704, 16384, 0, 0, 0, 0}, {15, 51, 80, 257, 0, 0, 0}, {16416, 514, 0, 0, 0, 0, 0}, {1027, 4352, 0, 0, 0, 0, 0}, {204, 8772, 1028, 0, 0, 0, 0}, {15, 517, 80, 1285, 4096, 0, 0}, {1036, 1120, 1542, 17408, 0, 0, 0}, {15, 5488, 1799, 21760, 0, 0, 0}, {25096, 0, 0, 0, 0, 0, 0}, {4099, 4357, 0, 0, 0, 0, 0}, {522, 8192, 16384, 0, 0, 0, 0}, {15, 51, 771, 4420, 1028, 0, 0}, {1036, 8704, 17408, 0, 0, 0, 0}, {15, 4128, 514, 80, 1285, 0, 0}, {108, 514, 1028, 0, 0, 0, 0}, {15, 4608, 5376, 0, 0, 0, 0}, {2560, 544, 80, 4112, 0, 0, 0}, {3072, 51, 1092, 4369, 0, 0, 0}, {16432, 4626, 0, 0, 0, 0, 0}, {1043, 4352, 0, 0, 0, 0, 0}, {60, 532, 80, 1044, 4096, 0, 0}, {255, 8789, 5397, 0, 0, 0, 0}, {1100, 1136, 5654, 17408, 0, 0, 0}, {95, 5472, 5911, 21760, 0, 0, 0}, {4632, 4144, 80, 0, 0, 0, 0}, {5401, 51, 4437, 0, 0, 0, 0}, {4714, 12336, 16448, 0, 0, 0, 0}, {4379, 51, 4864, 4420, 5376, 0, 0}, {4124, 4128, 4608, 80, 5120, 0, 0}, {5482, 8738, 21845, 0, 0, 0, 0}, {4638, 4642, 1092, 0, 0, 0, 0}, {5407, 544, 5440, 0, 0, 0, 0}, {16416, 16896, 0, 0, 0, 0, 0}, {1095, 4369, 0, 0, 0, 0, 0}, {2184, 8738, 16384, 0, 0, 0, 0}, {15, 771, 1280, 272, 0, 0, 0}, {1096, 1060, 580, 17476, 0, 0, 0}, {15, 5413, 4693, 21845, 0, 0, 0}, {3084, 9766, 1088, 0, 0, 0, 0}, {15, 551, 80, 1280, 4096, 0, 0}, {552, 8192, 16384, 0, 0, 0, 0}, {15, 51, 771, 4437, 5397, 0, 0}, {25130, 0, 0, 0, 0, 0, 0}, {4099, 4372, 0, 0, 0, 0, 0}, {1548, 544, 1088, 0, 0, 0, 0}, {15, 4642, 5461, 0, 0, 0, 0}, {1096, 8738, 17476, 0, 0, 0, 0}, {15, 4128, 4608, 80, 1280, 0, 0}, {16432, 20992, 0, 0, 0, 0, 0}, {1111, 4369, 0, 0, 0, 0, 0}, {514, 80, 4112, 0, 0, 0, 0}, {51, 1024, 4352, 0, 0, 0, 0}, {1032, 1076, 4676, 17476, 0, 0, 0}, {95, 5429, 597, 21845, 0, 0, 0}, {522, 566, 80, 1024, 4096, 0, 0}, {2056, 14135, 5440, 0, 0, 0, 0}, {4680, 12336, 16448, 0, 0, 0, 0}, {4362, 51, 4864, 4437, 1024, 0, 0}, {522, 4144, 80, 0, 0, 0, 0}, {1032, 51, 4420, 0, 0, 0, 0}, {60, 4608, 1024, 0, 0, 0, 0}, {95, 514, 5397, 0, 0, 0, 0}, {4124, 4128, 514, 80, 5140, 0, 0}, {5439, 8704, 21760, 0, 0, 0, 0}, {2176, 8704, 16448, 0, 0, 0, 0}, {15, 768, 1285, 273, 0, 0, 0}, {16480, 16962, 0, 0, 0, 0, 0}, {1091, 4352, 0, 0, 0, 0, 0}, {3072, 9728, 1092, 0, 0, 0, 0}, {15, 549, 80, 1285, 4112, 0, 0}, {1100, 1056, 582, 17408, 0, 0, 0}, {15, 5424, 4679, 21760, 0, 0, 0}, {25160, 0, 0, 0, 0, 0, 0}, {4115, 4357, 0, 0, 0, 0, 0}, {554, 8224, 16448, 0, 0, 0, 0}, {15, 51, 768, 4420, 5376, 0, 0}, {1100, 8704, 17408, 0, 0, 0, 0}, {15, 4144, 4626, 80, 1285, 0, 0}, {1546, 546, 1092, 0, 0, 0, 0}, {15, 4656, 5440, 0, 0, 0, 0}, {512, 80, 4096, 0, 0, 0, 0}, {51, 1028, 4369, 0, 0, 0, 0}, {16496, 21074, 0, 0, 0, 0, 0}, {1107, 4352, 0, 0, 0, 0, 0}, {520, 564, 80, 1028, 4112, 0, 0}, {2048, 14080, 5461, 0, 0, 0, 0}, {1036, 1072, 4694, 17408, 0, 0, 0}, {95, 5408, 599, 21760, 0, 0, 0}, {520, 4128, 80, 0, 0, 0, 0}, {1036, 51, 4437, 0, 0, 0, 0}, {4698, 12288, 16384, 0, 0, 0, 0}, {4379, 51, 4883, 4420, 1028, 0, 0}, {4108, 4144, 512, 80, 5120, 0, 0}, {5418, 8738, 21845, 0, 0, 0, 0}, {60, 4626, 1028, 0, 0, 0, 0}, {95, 512, 5376, 0, 0, 0, 0}, {16480, 512, 0, 0, 0, 0, 0}, {1031, 4369, 0, 0, 0, 0, 0}, {2056, 8738, 16448, 0, 0, 0, 0}, {15, 51, 80, 256, 0, 0, 0}, {1032, 1124, 1536, 17476, 0, 0, 0}, {15, 5477, 1792, 21845, 0, 0, 0}, {204, 8806, 1024, 0, 0, 0, 0}, {15, 519, 80, 1280, 4112, 0, 0}, {520, 8224, 16448, 0, 0, 0, 0}, {15, 51, 768, 4437, 1024, 0, 0}, {25194, 0, 0, 0, 0, 0, 0}, {4115, 4372, 0, 0, 0, 0, 0}, {108, 512, 1024, 0, 0, 0, 0}, {15, 4626, 5397, 0, 0, 0, 0}, {1032, 8738, 17476, 0, 0, 0, 0}, {15, 4144, 512, 80, 1280, 0, 0}, {16496, 4608, 0, 0, 0, 0, 0}, {1047, 4369, 0, 0, 0, 0, 0}, {2570, 546, 80, 4096, 0, 0, 0}, {3084, 51, 1088, 4352, 0, 0, 0}, {1096, 1140, 5632, 17476, 0, 0, 0}, {95, 5493, 5888, 21845, 0, 0, 0}, {60, 534, 80, 1040, 4112, 0, 0}, {255, 8823, 5376, 0, 0, 0, 0}, {4728, 12288, 16384, 0, 0, 0, 0}, {4362, 51, 4883, 4437, 5397, 0, 0}, {4618, 4128, 80, 0, 0, 0, 0}, {5388, 51, 4420, 0, 0, 0, 0}, {4620, 4656, 1088, 0, 0, 0, 0}, {5386, 546, 5461, 0, 0, 0, 0}, {4108, 4144, 4626, 80, 5140, 0, 0}, {5503, 8704, 21760, 0, 0, 0, 0}, {16512, 18432, 8704, 0, 0, 0, 0}, {274, 80, 1285, 4369, 0, 0, 0}, {2570, 546, 16384, 0, 0, 0, 0}, {15, 51, 771, 1088, 4352, 0, 0}, {1096, 8772, 17476, 0, 0, 0, 0}, {15, 4128, 4613, 80, 1285, 0, 0}, {1068, 1542, 1088, 0, 0, 0, 0}, {15, 4727, 5376, 0, 0, 0, 0}, {8840, 10752, 16384, 0, 0, 0, 0}, {51, 771, 277, 4112, 0, 0, 0}, {16906, 16416, 0, 0, 0, 0, 0}, {5379, 4420, 0, 0, 0, 0, 0}, {3084, 8704, 1088, 0, 0, 0, 0}, {15, 546, 80, 1285, 4096, 0, 0}, {1096, 1060, 1542, 17476, 0, 0, 0}, {15, 5488, 4608, 21760, 0, 0, 0}, {4144, 512, 80, 0, 0, 0, 0}, {1032, 51, 4369, 0, 0, 0, 0}, {240, 4626, 16448, 0, 0, 0, 0}, {95, 51, 512, 1024, 4352, 0, 0}, {4124, 4128, 4628, 80, 5140, 0, 0}, {5482, 8789, 21845, 0, 0, 0, 0}, {4698, 4710, 1024, 0, 0, 0, 0}, {5407, 5911, 5440, 0, 0, 0, 0}, {520, 80, 4112, 0, 0, 0, 0}, {51, 4437, 1024, 0, 0, 0, 0}, {21082, 16432, 0, 0, 0, 0, 0}, {5395, 4420, 0, 0, 0, 0, 0}, {60, 512, 80, 1024, 4096, 0, 0}, {255, 8738, 5397, 0, 0, 0, 0}, {1032, 1076, 5654, 17476, 0, 0, 0}, {95, 5472, 512, 21760, 0, 0, 0}, {160, 512, 16384, 0, 0, 0, 0}, {15, 51, 771, 1028, 4369, 0, 0}, {16512, 2056, 8738, 0, 0, 0, 0}, {259, 80, 1280, 4352, 0, 0, 0}, {520, 612, 1028, 0, 0, 0, 0}, {15, 1792, 5461, 0, 0, 0, 0}, {1036, 8806, 17408, 0, 0, 0, 0}, {15, 4128, 519, 80, 1280, 0, 0}, {520, 16416, 0, 0, 0, 0, 0}, {1027, 4437, 0, 0, 0, 0, 0}, {8874, 2048, 16384, 0, 0, 0, 0}, {51, 771, 260, 4112, 0, 0, 0}, {1036, 1120, 512, 17408, 0, 0, 0}, {15, 5413, 1799, 21845, 0, 0, 0}, {204, 8738, 1028, 0, 0, 0, 0}, {15, 512, 80, 1280, 4096, 0, 0}, {6720, 4656, 16448, 0, 0, 0, 0}, {1051, 51, 529, 1092, 4369, 0, 0}, {4144, 4626, 80, 0, 0, 0, 0}, {1100, 51, 4352, 0, 0, 0, 0}, {60, 5632, 1092, 0, 0, 0, 0}, {95, 629, 5397, 0, 0, 0, 0}, {4124, 4128, 534, 80, 5120, 0, 0}, {5439, 8823, 21760, 0, 0, 0, 0}, {4680, 16432, 0, 0, 0, 0, 0}, {1043, 4437, 0, 0, 0, 0, 0}, {554, 80, 4112, 0, 0, 0, 0}, {51, 4420, 5376, 0, 0, 0, 0}, {1100, 1136, 4608, 17408, 0, 0, 0}, {95, 5429, 5911, 21845, 0, 0, 0}, {542, 546, 80, 1044, 4096, 0, 0}, {7487, 8704, 5440, 0, 0, 0, 0}, {16576, 2048, 8704, 0, 0, 0, 0}, {258, 80, 1285, 4369, 0, 0, 0}, {160, 514, 16448, 0, 0, 0, 0}, {15, 51, 768, 1024, 4352, 0, 0}, {1032, 8772, 17476, 0, 0, 0, 0}, {15, 4144, 517, 80, 1285, 0, 0}, {522, 614, 1024, 0, 0, 0, 0}, {15, 1799, 5440, 0, 0, 0, 0}, {8840, 2056, 16448, 0, 0, 0, 0}, {51, 768, 261, 4096, 0, 0, 0}, {522, 16480, 0, 0, 0, 0, 0}, {1031, 4420, 0, 0, 0, 0, 0}, {204, 8704, 1024, 0, 0, 0, 0}, {15, 514, 80, 1285, 4112, 0, 0}, {1032, 1124, 514, 17476, 0, 0, 0}, {15, 5424, 1792, 21760, 0, 0, 0}, {4128, 4608, 80, 0, 0, 0, 0}, {1096, 51, 4369, 0, 0, 0, 0}, {6746, 4642, 16384, 0, 0, 0, 0}, {1055, 51, 531, 1088, 4352, 0, 0}, {4108, 4144, 532, 80, 5140, 0, 0}, {5418, 8789, 21845, 0, 0, 0, 0}, {60, 5654, 1088, 0, 0, 0, 0}, {95, 631, 5376, 0, 0, 0, 0}, {552, 80, 4096, 0, 0, 0, 0}, {51, 4437, 5397, 0, 0, 0, 0}, {4698, 16496, 0, 0, 0, 0, 0}, {1047, 4420, 0, 0, 0, 0, 0}, {540, 544, 80, 1040, 4112, 0, 0}, {7458, 8738, 5461, 0, 0, 0, 0}, {1096, 1140, 4626, 17476, 0, 0, 0}, {95, 5408, 5888, 21760, 0, 0, 0}, {2560, 544, 16448, 0, 0, 0, 0}, {15, 51, 768, 1092, 4369, 0, 0}, {16576, 18504, 8738, 0, 0, 0, 0}, {275, 80, 1280, 4352, 0, 0, 0}, {1064, 1536, 1092, 0, 0, 0, 0}, {15, 4709, 5397, 0, 0, 0, 0}, {1100, 8806, 17408, 0, 0, 0, 0}, {15, 4144, 4631, 80, 1280, 0, 0}, {16968, 16480, 0, 0, 0, 0, 0}, {5398, 4437, 0, 0, 0, 0, 0}, {8874, 10794, 16448, 0, 0, 0, 0}, {51, 768, 276, 4096, 0, 0, 0}, {1100, 1056, 1536, 17408, 0, 0, 0}, {15, 5477, 4626, 21845, 0, 0, 0}, {3072, 8738, 1092, 0, 0, 0, 0}, {15, 544, 80, 1280, 4112, 0, 0}, {240, 4608, 16384, 0, 0, 0, 0}, {95, 51, 514, 1028, 4369, 0, 0}, {4128, 514, 80, 0, 0, 0, 0}, {1036, 51, 4352, 0, 0, 0, 0}, {4680, 4724, 1028, 0, 0, 0, 0}, {5386, 5888, 5461, 0, 0, 0, 0}, {4108, 4144, 4614, 80, 5120, 0, 0}, {5503, 8823, 21760, 0, 0, 0, 0}, {21000, 16496, 0, 0, 0, 0, 0}, {5382, 4437, 0, 0, 0, 0, 0}, {522, 80, 4096, 0, 0, 0, 0}, {51, 4420, 1028, 0, 0, 0, 0}, {1036, 1072, 5632, 17408, 0, 0, 0}, {95, 5493, 514, 21845, 0, 0, 0}, {60, 514, 80, 1028, 4112, 0, 0}, {255, 8704, 5376, 0, 0, 0, 0}, {3840, 13056, 20480, 0, 0, 0, 0}, {8, 34, 64, 257, 0, 0, 0}, {1282, 4352, 0, 0, 0, 0, 0}, {20528, 771, 0, 0, 0, 0, 0}, {8, 772, 64, 1028, 4096, 0, 0}, {170, 13141, 1285, 0, 0, 0, 0}, {1290, 1376, 1542, 21760, 0, 0, 0}, {8, 5232, 1799, 17408, 0, 0, 0}, {8, 4864, 5120, 0, 0, 0, 0}, {106, 771, 1285, 0, 0, 0, 0}, {1290, 13056, 21760, 0, 0, 0, 0}, {8, 4144, 771, 64, 1028, 0, 0}, {780, 12288, 20480, 0, 0, 0, 0}, {8, 34, 514, 4437, 1285, 0, 0}, {4098, 4356, 0, 0, 0, 0, 0}, {25359, 0, 0, 0, 0, 0, 0}, {3072, 816, 64, 4112, 0, 0, 0}, {2560, 34, 1365, 4369, 0, 0, 0}, {1298, 4352, 0, 0, 0, 0, 0}, {20512, 4883, 0, 0, 0, 0, 0}, {136, 13124, 5140, 0, 0, 0, 0}, {42, 789, 64, 1301, 4096, 0, 0}, {1370, 1392, 5654, 21760, 0, 0, 0}, {72, 5216, 5911, 17408, 0, 0, 0}, {5144, 816, 5200, 0, 0, 0, 0}, {4889, 4915, 1365, 0, 0, 0, 0}, {4122, 4144, 4864, 64, 5376, 0, 0}, {5228, 13107, 17476, 0, 0, 0, 0}, {4972, 8224, 20560, 0, 0, 0, 0}, {4381, 34, 4608, 4437, 5120, 0, 0}, {5150, 34, 4420, 0, 0, 0, 0}, {4895, 4128, 64, 0, 0, 0, 0}, {20512, 17152, 0, 0, 0, 0, 0}, {1351, 4369, 0, 0, 0, 0, 0}, {34, 1280, 4352, 0, 0, 0, 0}, {771, 64, 4112, 0, 0, 0, 0}, {72, 5156, 836, 17476, 0, 0, 0}, {1295, 1317, 4949, 21845, 0, 0, 0}, {780, 806, 64, 1280, 4096, 0, 0}, {3855, 10023, 5200, 0, 0, 0, 0}, {5160, 13056, 17408, 0, 0, 0, 0}, {4122, 4144, 771, 64, 5397, 0, 0}, {42, 4864, 1280, 0, 0, 0, 0}, {72, 771, 5140, 0, 0, 0, 0}, {780, 4128, 64, 0, 0, 0, 0}, {1295, 34, 4437, 0, 0, 0, 0}, {4364, 34, 4608, 4420, 1280, 0, 0}, {4959, 8224, 20560, 0, 0, 0, 0}, {20528, 21248, 0, 0, 0, 0, 0}, {1367, 4369, 0, 0, 0, 0, 0}, {8, 514, 1024, 272, 0, 0, 0}, {4095, 13107, 20480, 0, 0, 0, 0}, {8, 5172, 4932, 17476, 0, 0, 0}, {1375, 1333, 853, 21845, 0, 0, 0}, {2570, 13878, 1360, 0, 0, 0, 0}, {8, 823, 64, 1024, 4096, 0, 0}, {8, 4144, 4864, 64, 1024, 0, 0}, {1375, 13107, 21845, 0, 0, 0, 0}, {1546, 816, 1360, 0, 0, 0, 0}, {8, 4915, 5188, 0, 0, 0, 0}, {25404, 0, 0, 0, 0, 0, 0}, {4098, 4373, 0, 0, 0, 0, 0}, {8, 34, 514, 4420, 5140, 0, 0}, {831, 12288, 20480, 0, 0, 0, 0}, {768, 64, 4096, 0, 0, 0, 0}, {34, 1285, 4369, 0, 0, 0, 0}, {1346, 4352, 0, 0, 0, 0, 0}, {20592, 17219, 0, 0, 0, 0, 0}, {3840, 9984, 5188, 0, 0, 0, 0}, {783, 805, 64, 1285, 4112, 0, 0}, {1290, 1312, 4934, 21760, 0, 0, 0}, {72, 5168, 839, 17408, 0, 0, 0}, {72, 768, 5120, 0, 0, 0, 0}, {42, 4883, 1285, 0, 0, 0, 0}, {4106, 4128, 768, 64, 5376, 0, 0}, {5180, 13107, 17476, 0, 0, 0, 0}, {4940, 8192, 20480, 0, 0, 0, 0}, {4381, 34, 4626, 4437, 1285, 0, 0}, {1290, 34, 4420, 0, 0, 0, 0}, {783, 4144, 64, 0, 0, 0, 0}, {4080, 13056, 20560, 0, 0, 0, 0}, {8, 512, 1028, 273, 0, 0, 0}, {1362, 4352, 0, 0, 0, 0, 0}, {20576, 21331, 0, 0, 0, 0, 0}, {8, 820, 64, 1028, 4112, 0, 0}, {2560, 13824, 1365, 0, 0, 0, 0}, {1370, 1328, 854, 21760, 0, 0, 0}, {8, 5152, 4951, 17408, 0, 0, 0}, {8, 4896, 5200, 0, 0, 0, 0}, {1548, 819, 1365, 0, 0, 0, 0}, {1370, 13056, 21760, 0, 0, 0, 0}, {8, 4128, 4883, 64, 1028, 0, 0}, {828, 12336, 20560, 0, 0, 0, 0}, {8, 34, 512, 4437, 5120, 0, 0}, {4114, 4356, 0, 0, 0, 0, 0}, {25439, 0, 0, 0, 0, 0, 0}, {20576, 768, 0, 0, 0, 0, 0}, {1287, 4369, 0, 0, 0, 0, 0}, {8, 34, 64, 256, 0, 0, 0}, {3855, 13107, 20560, 0, 0, 0, 0}, {8, 5220, 1792, 17476, 0, 0, 0}, {1295, 1381, 1536, 21845, 0, 0, 0}, {170, 13158, 1280, 0, 0, 0, 0}, {8, 775, 64, 1024, 4112, 0, 0}, {8, 4128, 768, 64, 1024, 0, 0}, {1295, 13107, 21845, 0, 0, 0, 0}, {106, 768, 1280, 0, 0, 0, 0}, {8, 4883, 5140, 0, 0, 0, 0}, {25452, 0, 0, 0, 0, 0, 0}, {4114, 4373, 0, 0, 0, 0, 0}, {8, 34, 512, 4420, 1280, 0, 0}, {783, 12336, 20560, 0, 0, 0, 0}, {20592, 4864, 0, 0, 0, 0, 0}, {1303, 4369, 0, 0, 0, 0, 0}, {2570, 34, 1360, 4352, 0, 0, 0}, {3084, 819, 64, 4096, 0, 0, 0}, {72, 5236, 5888, 17476, 0, 0, 0}, {1375, 1397, 5632, 21845, 0, 0, 0}, {42, 790, 64, 1296, 4112, 0, 0}, {136, 13175, 5120, 0, 0, 0, 0}, {5240, 13056, 17408, 0, 0, 0, 0}, {4106, 4128, 4883, 64, 5397, 0, 0}, {4874, 4896, 1360, 0, 0, 0, 0}, {5132, 819, 5188, 0, 0, 0, 0}, {4876, 4144, 64, 0, 0, 0, 0}, {5130, 34, 4437, 0, 0, 0, 0}, {4364, 34, 4626, 4420, 5140, 0, 0}, {4991, 8192, 20480, 0, 0, 0, 0}, {128, 4864, 20480, 0, 0, 0, 0}, {72, 34, 771, 1285, 4369, 0, 0}, {1290, 34, 4352, 0, 0, 0, 0}, {4144, 771, 64, 0, 0, 0, 0}, {5132, 5888, 5188, 0, 0, 0, 0}, {4959, 4981, 1285, 0, 0, 0, 0}, {4106, 4128, 4870, 64, 5376, 0, 0}, {5240, 13175, 17408, 0, 0, 0, 0}, {136, 13056, 5120, 0, 0, 0, 0}, {42, 771, 64, 1285, 4112, 0, 0}, {1290, 1312, 5632, 21760, 0, 0, 0}, {72, 5236, 771, 17476, 0, 0, 0}, {780, 64, 4096, 0, 0, 0, 0}, {34, 4437, 1285, 0, 0, 0, 0}, {5126, 4420, 0, 0, 0, 0, 0}, {17167, 20592, 0, 0, 0, 0, 0}, {3072, 816, 20560, 0, 0, 0, 0}, {8, 34, 512, 1365, 4369, 0, 0}, {274, 64, 1024, 4352, 0, 0, 0}, {20640, 24415, 13107, 0, 0, 0, 0}, {8, 4964, 5140, 0, 0, 0, 0}, {1343, 1536, 1365, 0, 0, 0, 0}, {1370, 13158, 21760, 0, 0, 0, 0}, {8, 4128, 4887, 64, 1024, 0, 0}, {8, 816, 64, 1024, 4112, 0, 0}, {2560, 13107, 1365, 0, 0, 0, 0}, {1370, 1328, 1536, 21760, 0, 0, 0}, {8, 5220, 4883, 17476, 0, 0, 0}, {13260, 15420, 20560, 0, 0, 0, 0}, {34, 512, 277, 4096, 0, 0, 0}, {5142, 4420, 0, 0, 0, 0, 0}, {21343, 20576, 0, 0, 0, 0, 0}, {20640, 3840, 13056, 0, 0, 0, 0}, {259, 64, 1028, 4369, 0, 0, 0}, {8, 34, 512, 1280, 4352, 0, 0}, {192, 771, 20560, 0, 0, 0, 0}, {8, 4128, 772, 64, 1028, 0, 0}, {1295, 13141, 21845, 0, 0, 0, 0}, {780, 870, 1280, 0, 0, 0, 0}, {8, 1799, 5200, 0, 0, 0, 0}, {8, 5152, 1792, 17408, 0, 0, 0}, {1295, 1381, 771, 21845, 0, 0, 0}, {170, 13056, 1280, 0, 0, 0, 0}, {8, 771, 64, 1028, 4112, 0, 0}, {780, 20576, 0, 0, 0, 0, 0}, {1287, 4437, 0, 0, 0, 0, 0}, {34, 512, 260, 4096, 0, 0, 0}, {13311, 3855, 20560, 0, 0, 0, 0}, {4144, 4864, 64, 0, 0, 0, 0}, {1375, 34, 4369, 0, 0, 0, 0}, {1304, 34, 786, 1360, 4352, 0, 0}, {7244, 4915, 20480, 0, 0, 0, 0}, {5180, 13124, 17476, 0, 0, 0, 0}, {4106, 4128, 789, 64, 5397, 0, 0}, {42, 5654, 1360, 0, 0, 0, 0}, {72, 887, 5120, 0, 0, 0, 0}, {72, 5168, 5888, 17408, 0, 0, 0}, {1375, 1397, 4883, 21845, 0, 0, 0}, {794, 816, 64, 1296, 4112, 0, 0}, {6963, 13107, 5188, 0, 0, 0, 0}, {4940, 20592, 0, 0, 0, 0, 0}, {1303, 4437, 0, 0, 0, 0, 0}, {34, 4420, 5140, 0, 0, 0, 0}, {831, 64, 4096, 0, 0, 0, 0}, {192, 768, 20480, 0, 0, 0, 0}, {8, 34, 514, 1285, 4369, 0, 0}, {258, 64, 1024, 4352, 0, 0, 0}, {20720, 3855, 13107, 0, 0, 0, 0}, {8, 1792, 5188, 0, 0, 0, 0}, {783, 869, 1285, 0, 0, 0, 0}, {1290, 13158, 21760, 0, 0, 0, 0}, {8, 4144, 775, 64, 1024, 0, 0}, {8, 768, 64, 1024, 4096, 0, 0}, {170, 13107, 1285, 0, 0, 0, 0}, {1290, 1376, 768, 21760, 0, 0, 0}, {8, 5172, 1799, 17476, 0, 0, 0}, {13260, 3840, 20480, 0, 0, 0, 0}, {34, 514, 261, 4112, 0, 0, 0}, {1282, 4420, 0, 0, 0, 0, 0}, {783, 20528, 0, 0, 0, 0, 0}, {7248, 4896, 20560, 0, 0, 0, 0}, {1309, 34, 785, 1365, 4369, 0, 0}, {1370, 34, 4352, 0, 0, 0, 0}, {4128, 4883, 64, 0, 0, 0, 0}, {72, 884, 5140, 0, 0, 0, 0}, {42, 5632, 1365, 0, 0, 0, 0}, {4122, 4144, 790, 64, 5376, 0, 0}, {5160, 13175, 17408, 0, 0, 0, 0}, {6952, 13056, 5200, 0, 0, 0, 0}, {793, 819, 64, 1301, 4096, 0, 0}, {1370, 1392, 4864, 21760, 0, 0, 0}, {72, 5156, 5911, 17476, 0, 0, 0}, {828, 64, 4112, 0, 0, 0, 0}, {34, 4437, 5120, 0, 0, 0, 0}, {1298, 4420, 0, 0, 0, 0, 0}, {4959, 20512, 0, 0, 0, 0, 0}, {4128, 768, 64, 0, 0, 0, 0}, {1295, 34, 4369, 0, 0, 0, 0}, {72, 34, 768, 1280, 4352, 0, 0}, {128, 4883, 20560, 0, 0, 0, 0}, {5228, 13124, 17476, 0, 0, 0, 0}, {4122, 4144, 4885, 64, 5397, 0, 0}, {4940, 4966, 1280, 0, 0, 0, 0}, {5144, 5911, 5200, 0, 0, 0, 0}, {72, 5216, 768, 17408, 0, 0, 0}, {1295, 1317, 5654, 21845, 0, 0, 0}, {42, 768, 64, 1280, 4096, 0, 0}, {136, 13107, 5140, 0, 0, 0, 0}, {17228, 20512, 0, 0, 0, 0, 0}, {5138, 4437, 0, 0, 0, 0, 0}, {34, 4420, 1280, 0, 0, 0, 0}, {783, 64, 4112, 0, 0, 0, 0}, {20720, 24320, 13056, 0, 0, 0, 0}, {275, 64, 1028, 4369, 0, 0, 0}, {8, 34, 514, 1360, 4352, 0, 0}, {3084, 819, 20480, 0, 0, 0, 0}, {8, 4144, 4868, 64, 1028, 0, 0}, {1375, 13141, 21845, 0, 0, 0, 0}, {1338, 1542, 1360, 0, 0, 0, 0}, {8, 4983, 5120, 0, 0, 0, 0}, {8, 5232, 4864, 17408, 0, 0, 0}, {1375, 1333, 1542, 21845, 0, 0, 0}, {2570, 13056, 1360, 0, 0, 0, 0}, {8, 819, 64, 1028, 4096, 0, 0}, {21260, 20528, 0, 0, 0, 0, 0}, {5122, 4437, 0, 0, 0, 0, 0}, {34, 514, 276, 4112, 0, 0, 0}, {13311, 15360, 20480, 0, 0, 0, 0}, {2048, 8192, 17408, 0, 0, 0, 0}, {15, 48, 85, 257, 0, 0, 0}, {17442, 514, 0, 0, 0, 0, 0}, {1027, 4096, 0, 0, 0, 0, 0}, {192, 8256, 1028, 0, 0, 0, 0}, {15, 517, 85, 1285, 4352, 0, 0}, {1036, 1126, 1542, 16384, 0, 0, 0}, {15, 5239, 1799, 20480, 0, 0, 0}, {25608, 0, 0, 0, 0, 0, 0}, {4355, 4101, 0, 0, 0, 0, 0}, {522, 8704, 17408, 0, 0, 0, 0}, {15, 48, 771, 4160, 1028, 0, 0}, {1036, 8192, 16384, 0, 0, 0, 0}, {15, 4386, 514, 85, 1285, 0, 0}, {106, 514, 1028, 0, 0, 0, 0}, {15, 4864, 5120, 0, 0, 0, 0}, {3072, 48, 1088, 4112, 0, 0, 0}, {2560, 546, 85, 4369, 0, 0, 0}, {1042, 4096, 0, 0, 0, 0, 0}, {17459, 4883, 0, 0, 0, 0, 0}, {240, 8272, 5140, 0, 0, 0, 0}, {63, 533, 85, 1045, 4352, 0, 0}, {90, 5222, 5654, 20480, 0, 0, 0}, {1096, 1143, 5911, 16384, 0, 0, 0}, {5144, 48, 4176, 0, 0, 0, 0}, {4889, 4403, 85, 0, 0, 0, 0}, {4122, 48, 4608, 4160, 5120, 0, 0}, {4972, 13107, 17476, 0, 0, 0, 0}, {5228, 8224, 20560, 0, 0, 0, 0}, {4381, 4386, 4864, 85, 5376, 0, 0}, {5150, 546, 5188, 0, 0, 0, 0}, {4895, 4896, 1088, 0, 0, 0, 0}, {2176, 8224, 17408, 0, 0, 0, 0}, {15, 771, 1280, 273, 0, 0, 0}, {17442, 17920, 0, 0, 0, 0, 0}, {1091, 4112, 0, 0, 0, 0, 0}, {3084, 9252, 1092, 0, 0, 0, 0}, {15, 549, 85, 1280, 4352, 0, 0}, {1100, 1062, 576, 16448, 0, 0, 0}, {15, 5159, 4944, 20560, 0, 0, 0}, {25640, 0, 0, 0, 0, 0, 0}, {4355, 4117, 0, 0, 0, 0, 0}, {554, 8704, 17408, 0, 0, 0, 0}, {15, 48, 771, 4176, 5140, 0, 0}, {1100, 8224, 16448, 0, 0, 0, 0}, {15, 4386, 4864, 85, 1280, 0, 0}, {1548, 546, 1092, 0, 0, 0, 0}, {15, 4896, 5200, 0, 0, 0, 0}, {48, 1024, 4096, 0, 0, 0, 0}, {514, 85, 4369, 0, 0, 0, 0}, {1106, 4112, 0, 0, 0, 0, 0}, {17459, 22272, 0, 0, 0, 0, 0}, {2056, 13364, 5188, 0, 0, 0, 0}, {522, 565, 85, 1024, 4352, 0, 0}, {90, 5174, 592, 20560, 0, 0, 0}, {1032, 1079, 4928, 16448, 0, 0, 0}, {1032, 48, 4160, 0, 0, 0, 0}, {522, 4403, 85, 0, 0, 0, 0}, {4106, 48, 4608, 4176, 1024, 0, 0}, {4940, 13107, 17476, 0, 0, 0, 0}, {5180, 8192, 20480, 0, 0, 0, 0}, {4381, 4386, 514, 85, 5397, 0, 0}, {90, 514, 5140, 0, 0, 0, 0}, {63, 4864, 1024, 0, 0, 0, 0}, {3072, 9216, 1088, 0, 0, 0, 0}, {15, 551, 85, 1285, 4369, 0, 0}, {1096, 1058, 578, 16384, 0, 0, 0}, {15, 5171, 4931, 20480, 0, 0, 0}, {2184, 8192, 17476, 0, 0, 0, 0}, {15, 768, 1285, 272, 0, 0, 0}, {17510, 17990, 0, 0, 0, 0, 0}, {1095, 4096, 0, 0, 0, 0, 0}, {1096, 8192, 16384, 0, 0, 0, 0}, {15, 4403, 4883, 85, 1285, 0, 0}, {1546, 544, 1088, 0, 0, 0, 0}, {15, 4915, 5188, 0, 0, 0, 0}, {25676, 0, 0, 0, 0, 0, 0}, {4370, 4101, 0, 0, 0, 0, 0}, {552, 8738, 17476, 0, 0, 0, 0}, {15, 48, 768, 4160, 5120, 0, 0}, {2048, 13312, 5200, 0, 0, 0, 0}, {520, 567, 85, 1028, 4369, 0, 0}, {90, 5154, 594, 20480, 0, 0, 0}, {1036, 1075, 4947, 16384, 0, 0, 0}, {48, 1028, 4112, 0, 0, 0, 0}, {512, 85, 4352, 0, 0, 0, 0}, {1110, 4096, 0, 0, 0, 0, 0}, {17527, 22359, 0, 0, 0, 0, 0}, {5160, 8224, 20560, 0, 0, 0, 0}, {4364, 4403, 512, 85, 5376, 0, 0}, {90, 512, 5120, 0, 0, 0, 0}, {63, 4883, 1028, 0, 0, 0, 0}, {1036, 48, 4176, 0, 0, 0, 0}, {520, 4386, 85, 0, 0, 0, 0}, {4122, 48, 4626, 4160, 1028, 0, 0}, {4959, 13056, 17408, 0, 0, 0, 0}, {192, 8288, 1024, 0, 0, 0, 0}, {15, 519, 85, 1280, 4369, 0, 0}, {1032, 1122, 1536, 16448, 0, 0, 0}, {15, 5219, 1792, 20560, 0, 0, 0}, {2056, 8224, 17476, 0, 0, 0, 0}, {15, 48, 85, 256, 0, 0, 0}, {17510, 512, 0, 0, 0, 0, 0}, {1031, 4112, 0, 0, 0, 0, 0}, {1032, 8224, 16448, 0, 0, 0, 0}, {15, 4403, 512, 85, 1280, 0, 0}, {106, 512, 1024, 0, 0, 0, 0}, {15, 4883, 5140, 0, 0, 0, 0}, {25708, 0, 0, 0, 0, 0, 0}, {4370, 4117, 0, 0, 0, 0, 0}, {520, 8738, 17476, 0, 0, 0, 0}, {15, 48, 768, 4176, 1024, 0, 0}, {240, 8304, 5120, 0, 0, 0, 0}, {63, 535, 85, 1041, 4369, 0, 0}, {90, 5234, 5632, 20560, 0, 0, 0}, {1100, 1139, 5888, 16448, 0, 0, 0}, {3084, 48, 1092, 4096, 0, 0, 0}, {2570, 544, 85, 4352, 0, 0, 0}, {1046, 4112, 0, 0, 0, 0, 0}, {17527, 4864, 0, 0, 0, 0, 0}, {5240, 8192, 20480, 0, 0, 0, 0}, {4364, 4403, 4883, 85, 5397, 0, 0}, {5130, 544, 5200, 0, 0, 0, 0}, {4876, 4915, 1092, 0, 0, 0, 0}, {5132, 48, 4160, 0, 0, 0, 0}, {4874, 4386, 85, 0, 0, 0, 0}, {4106, 48, 4626, 4176, 5140, 0, 0}, {4991, 13056, 17408, 0, 0, 0, 0}, {8320, 10240, 17408, 0, 0, 0, 0}, {48, 771, 276, 4369, 0, 0, 0}, {17930, 17442, 0, 0, 0, 0, 0}, {5123, 4160, 0, 0, 0, 0, 0}, {3084, 8192, 1092, 0, 0, 0, 0}, {15, 544, 85, 1285, 4352, 0, 0}, {1100, 1062, 1542, 16448, 0, 0, 0}, {15, 5239, 4864, 20480, 0, 0, 0}, {17544, 19456, 8192, 0, 0, 0, 0}, {275, 85, 1285, 4112, 0, 0, 0}, {2570, 544, 17408, 0, 0, 0, 0}, {15, 48, 771, 1092, 4096, 0, 0}, {1100, 8256, 16448, 0, 0, 0, 0}, {15, 4386, 4869, 85, 1285, 0, 0}, {1070, 1542, 1092, 0, 0, 0, 0}, {15, 4976, 5120, 0, 0, 0, 0}, {48, 4176, 1024, 0, 0, 0, 0}, {520, 85, 4369, 0, 0, 0, 0}, {5138, 4160, 0, 0, 0, 0, 0}, {22367, 17459, 0, 0, 0, 0, 0}, {240, 8224, 5140, 0, 0, 0, 0}, {63, 512, 85, 1024, 4352, 0, 0}, {90, 5222, 512, 20480, 0, 0, 0}, {1032, 1079, 5911, 16448, 0, 0, 0}, {1032, 48, 4112, 0, 0, 0, 0}, {4403, 512, 85, 0, 0, 0, 0}, {90, 48, 512, 1024, 4096, 0, 0}, {255, 4883, 17476, 0, 0, 0, 0}, {5228, 8272, 20560, 0, 0, 0, 0}, {4381, 4386, 4885, 85, 5397, 0, 0}, {5150, 5654, 5188, 0, 0, 0, 0}, {4959, 4960, 1024, 0, 0, 0, 0}, {8352, 2048, 17408, 0, 0, 0, 0}, {48, 771, 260, 4369, 0, 0, 0}, {520, 17442, 0, 0, 0, 0, 0}, {1027, 4176, 0, 0, 0, 0, 0}, {192, 8224, 1028, 0, 0, 0, 0}, {15, 512, 85, 1280, 4352, 0, 0}, {1036, 1126, 512, 16384, 0, 0, 0}, {15, 5159, 1799, 20560, 0, 0, 0}, {17544, 2056, 8224, 0, 0, 0, 0}, {259, 85, 1280, 4096, 0, 0, 0}, {170, 512, 17408, 0, 0, 0, 0}, {15, 48, 771, 1028, 4112, 0, 0}, {1036, 8288, 16384, 0, 0, 0, 0}, {15, 4386, 519, 85, 1280, 0, 0}, {520, 610, 1028, 0, 0, 0, 0}, {15, 1792, 5200, 0, 0, 0, 0}, {48, 4160, 5120, 0, 0, 0, 0}, {552, 85, 4369, 0, 0, 0, 0}, {1042, 4176, 0, 0, 0, 0, 0}, {4940, 17459, 0, 0, 0, 0, 0}, {7228, 8192, 5188, 0, 0, 0, 0}, {543, 544, 85, 1045, 4352, 0, 0}, {90, 5174, 5654, 20560, 0, 0, 0}, {1096, 1143, 4864, 16384, 0, 0, 0}, {1096, 48, 4096, 0, 0, 0, 0}, {4403, 4883, 85, 0, 0, 0, 0}, {1050, 48, 528, 1088, 4112, 0, 0}, {6980, 4915, 17476, 0, 0, 0, 0}, {5180, 8304, 20480, 0, 0, 0, 0}, {4381, 4386, 535, 85, 5376, 0, 0}, {90, 626, 5140, 0, 0, 0, 0}, {63, 5888, 1088, 0, 0, 0, 0}, {192, 8192, 1024, 0, 0, 0, 0}, {15, 514, 85, 1285, 4369, 0, 0}, {1032, 1122, 514, 16448, 0, 0, 0}, {15, 5171, 1792, 20480, 0, 0, 0}, {8320, 2056, 17476, 0, 0, 0, 0}, {48, 768, 261, 4352, 0, 0, 0}, {522, 17510, 0, 0, 0, 0, 0}, {1031, 4160, 0, 0, 0, 0, 0}, {1032, 8256, 16448, 0, 0, 0, 0}, {15, 4403, 517, 85, 1285, 0, 0}, {522, 608, 1024, 0, 0, 0, 0}, {15, 1799, 5188, 0, 0, 0, 0}, {17612, 2048, 8192, 0, 0, 0, 0}, {258, 85, 1285, 4112, 0, 0, 0}, {170, 514, 17476, 0, 0, 0, 0}, {15, 48, 768, 1024, 4096, 0, 0}, {7200, 8224, 5200, 0, 0, 0, 0}, {541, 546, 85, 1041, 4369, 0, 0}, {90, 5154, 5632, 20480, 0, 0, 0}, {1100, 1139, 4883, 16448, 0, 0, 0}, {48, 4176, 5140, 0, 0, 0, 0}, {554, 85, 4352, 0, 0, 0, 0}, {1046, 4160, 0, 0, 0, 0, 0}, {4959, 17527, 0, 0, 0, 0, 0}, {5160, 8272, 20560, 0, 0, 0, 0}, {4364, 4403, 533, 85, 5397, 0, 0}, {90, 624, 5120, 0, 0, 0, 0}, {63, 5911, 1092, 0, 0, 0, 0}, {1100, 48, 4112, 0, 0, 0, 0}, {4386, 4864, 85, 0, 0, 0, 0}, {1054, 48, 530, 1092, 4096, 0, 0}, {7007, 4896, 17408, 0, 0, 0, 0}, {3072, 8224, 1088, 0, 0, 0, 0}, {15, 546, 85, 1280, 4369, 0, 0}, {1096, 1058, 1536, 16384, 0, 0, 0}, {15, 5219, 4883, 20560, 0, 0, 0}, {8352, 10280, 17476, 0, 0, 0, 0}, {48, 768, 277, 4352, 0, 0, 0}, {17996, 17510, 0, 0, 0, 0, 0}, {5143, 4176, 0, 0, 0, 0, 0}, {1096, 8288, 16384, 0, 0, 0, 0}, {15, 4403, 4886, 85, 1280, 0, 0}, {1066, 1536, 1088, 0, 0, 0, 0}, {15, 4963, 5140, 0, 0, 0, 0}, {17612, 19532, 8224, 0, 0, 0, 0}, {274, 85, 1280, 4096, 0, 0, 0}, {2560, 546, 17476, 0, 0, 0, 0}, {15, 48, 768, 1088, 4112, 0, 0}, {240, 8192, 5120, 0, 0, 0, 0}, {63, 514, 85, 1028, 4369, 0, 0}, {90, 5234, 514, 20560, 0, 0, 0}, {1036, 1075, 5888, 16384, 0, 0, 0}, {48, 4160, 1028, 0, 0, 0, 0}, {522, 85, 4352, 0, 0, 0, 0}, {5126, 4176, 0, 0, 0, 0, 0}, {22280, 17527, 0, 0, 0, 0, 0}, {5240, 8304, 20480, 0, 0, 0, 0}, {4364, 4403, 4870, 85, 5376, 0, 0}, {5130, 5632, 5200, 0, 0, 0, 0}, {4940, 4979, 1028, 0, 0, 0, 0}, {1036, 48, 4096, 0, 0, 0, 0}, {4386, 514, 85, 0, 0, 0, 0}, {90, 48, 514, 1028, 4112, 0, 0}, {255, 4864, 17408, 0, 0, 0, 0}, {3840, 12288, 21760, 0, 0, 0, 0}, {8, 32, 68, 257, 0, 0, 0}, {1282, 4096, 0, 0, 0, 0, 0}, {21811, 771, 0, 0, 0, 0, 0}, {8, 772, 68, 1028, 4352, 0, 0}, {160, 12368, 1285, 0, 0, 0, 0}, {1290, 1382, 1542, 20480, 0, 0, 0}, {8, 5495, 1799, 16384, 0, 0, 0}, {8, 4608, 5376, 0, 0, 0, 0}, {108, 771, 1285, 0, 0, 0, 0}, {1290, 12288, 20480, 0, 0, 0, 0}, {8, 4403, 771, 68, 1028, 0, 0}, {780, 13056, 21760, 0, 0, 0, 0}, {8, 32, 514, 4176, 1285, 0, 0}, {4354, 4100, 0, 0, 0, 0, 0}, {25871, 0, 0, 0, 0, 0, 0}, {2560, 32, 1360, 4112, 0, 0, 0}, {3072, 819, 68, 4369, 0, 0, 0}, {21794, 4626, 0, 0, 0, 0, 0}, {1299, 4096, 0, 0, 0, 0, 0}, {40, 788, 68, 1300, 4352, 0, 0}, {128, 12352, 5397, 0, 0, 0, 0}, {76, 5478, 5654, 16384, 0, 0, 0}, {1375, 1399, 5911, 20480, 0, 0, 0}, {4632, 4656, 1360, 0, 0, 0, 0}, {5401, 819, 5461, 0, 0, 0, 0}, {5482, 12336, 16448, 0, 0, 0, 0}, {4379, 4403, 4608, 68, 5120, 0, 0}, {4124, 32, 4864, 4176, 5376, 0, 0}, {4714, 8738, 21845, 0, 0, 0, 0}, {4638, 4386, 68, 0, 0, 0, 0}, {5407, 32, 4160, 0, 0, 0, 0}, {32, 1280, 4096, 0, 0, 0, 0}, {771, 68, 4369, 0, 0, 0, 0}, {21794, 18176, 0, 0, 0, 0, 0}, {1347, 4112, 0, 0, 0, 0, 0}, {780, 804, 68, 1280, 4352, 0, 0}, {3855, 9509, 5461, 0, 0, 0, 0}, {76, 5414, 832, 16448, 0, 0, 0}, {1295, 1319, 4688, 20560, 0, 0, 0}, {40, 4608, 1280, 0, 0, 0, 0}, {76, 771, 5397, 0, 0, 0, 0}, {5418, 12288, 16384, 0, 0, 0, 0}, {4379, 4403, 771, 68, 5140, 0, 0}, {4108, 32, 4864, 4160, 1280, 0, 0}, {4698, 8738, 21845, 0, 0, 0, 0}, {780, 4386, 68, 0, 0, 0, 0}, {1295, 32, 4176, 0, 0, 0, 0}, {4080, 12336, 21760, 0, 0, 0, 0}, {8, 514, 1024, 273, 0, 0, 0}, {1362, 4112, 0, 0, 0, 0, 0}, {21811, 22016, 0, 0, 0, 0, 0}, {8, 820, 68, 1024, 4352, 0, 0}, {2570, 13621, 1365, 0, 0, 0, 0}, {1370, 1334, 848, 20560, 0, 0, 0}, {8, 5431, 4672, 16448, 0, 0, 0}, {8, 4656, 5440, 0, 0, 0, 0}, {1546, 819, 1365, 0, 0, 0, 0}, {1370, 12336, 20560, 0, 0, 0, 0}, {8, 4403, 4608, 68, 1024, 0, 0}, {828, 13056, 21760, 0, 0, 0, 0}, {8, 32, 514, 4160, 5397, 0, 0}, {4354, 4116, 0, 0, 0, 0, 0}, {25919, 0, 0, 0, 0, 0, 0}, {3840, 9472, 5440, 0, 0, 0, 0}, {783, 807, 68, 1285, 4369, 0, 0}, {1290, 1314, 4674, 20480, 0, 0, 0}, {76, 5427, 835, 16384, 0, 0, 0}, {768, 68, 4352, 0, 0, 0, 0}, {32, 1285, 4112, 0, 0, 0, 0}, {1350, 4096, 0, 0, 0, 0, 0}, {21879, 18247, 0, 0, 0, 0, 0}, {4680, 8704, 21760, 0, 0, 0, 0}, {4124, 32, 4883, 4176, 1285, 0, 0}, {1290, 32, 4160, 0, 0, 0, 0}, {783, 4403, 68, 0, 0, 0, 0}, {76, 768, 5376, 0, 0, 0, 0}, {40, 4626, 1285, 0, 0, 0, 0}, {4362, 4386, 768, 68, 5120, 0, 0}, {5439, 12336, 16448, 0, 0, 0, 0}, {2560, 13568, 1360, 0, 0, 0, 0}, {8, 823, 68, 1028, 4369, 0, 0}, {8, 5410, 4690, 16384, 0, 0, 0}, {1375, 1331, 851, 20480, 0, 0, 0}, {8, 512, 1028, 272, 0, 0, 0}, {4095, 12288, 21845, 0, 0, 0, 0}, {21862, 22102, 0, 0, 0, 0, 0}, {1367, 4096, 0, 0, 0, 0, 0}, {8, 32, 512, 4176, 5376, 0, 0}, {831, 13107, 21845, 0, 0, 0, 0}, {25946, 0, 0, 0, 0, 0, 0}, {4371, 4100, 0, 0, 0, 0, 0}, {1548, 816, 1360, 0, 0, 0, 0}, {8, 4642, 5461, 0, 0, 0, 0}, {8, 4386, 4626, 68, 1028, 0, 0}, {1375, 12288, 20480, 0, 0, 0, 0}, {160, 12384, 1280, 0, 0, 0, 0}, {8, 775, 68, 1024, 4369, 0, 0}, {8, 5474, 1792, 16448, 0, 0, 0}, {1295, 1379, 1536, 20560, 0, 0, 0}, {8, 32, 68, 256, 0, 0, 0}, {3855, 12336, 21845, 0, 0, 0, 0}, {21862, 768, 0, 0, 0, 0, 0}, {1287, 4112, 0, 0, 0, 0, 0}, {8, 32, 512, 4160, 1280, 0, 0}, {783, 13107, 21845, 0, 0, 0, 0}, {25962, 0, 0, 0, 0, 0, 0}, {4371, 4116, 0, 0, 0, 0, 0}, {108, 768, 1280, 0, 0, 0, 0}, {8, 4626, 5397, 0, 0, 0, 0}, {8, 4386, 768, 68, 1024, 0, 0}, {1295, 12336, 20560, 0, 0, 0, 0}, {128, 12400, 5376, 0, 0, 0, 0}, {40, 791, 68, 1297, 4369, 0, 0}, {1370, 1394, 5888, 20560, 0, 0, 0}, {76, 5491, 5632, 16448, 0, 0, 0}, {3084, 816, 68, 4352, 0, 0, 0}, {2570, 32, 1365, 4096, 0, 0, 0}, {1302, 4112, 0, 0, 0, 0, 0}, {21879, 4608, 0, 0, 0, 0, 0}, {4728, 8704, 21760, 0, 0, 0, 0}, {4108, 32, 4883, 4160, 5397, 0, 0}, {5386, 32, 4176, 0, 0, 0, 0}, {4620, 4403, 68, 0, 0, 0, 0}, {5388, 816, 5440, 0, 0, 0, 0}, {4618, 4642, 1365, 0, 0, 0, 0}, {4362, 4386, 4626, 68, 5140, 0, 0}, {5503, 12288, 16384, 0, 0, 0, 0}, {128, 12288, 5376, 0, 0, 0, 0}, {40, 771, 68, 1285, 4369, 0, 0}, {1290, 1314, 5888, 20480, 0, 0, 0}, {76, 5491, 771, 16448, 0, 0, 0}, {780, 68, 4352, 0, 0, 0, 0}, {32, 4176, 1285, 0, 0, 0, 0}, {5382, 4160, 0, 0, 0, 0, 0}, {18191, 21879, 0, 0, 0, 0, 0}, {136, 4608, 21760, 0, 0, 0, 0}, {76, 32, 771, 1285, 4112, 0, 0}, {1290, 32, 4096, 0, 0, 0, 0}, {4403, 771, 68, 0, 0, 0, 0}, {5388, 5632, 5440, 0, 0, 0, 0}, {4698, 4722, 1285, 0, 0, 0, 0}, {4362, 4386, 4614, 68, 5120, 0, 0}, {5503, 12400, 16384, 0, 0, 0, 0}, {2560, 12336, 1360, 0, 0, 0, 0}, {8, 819, 68, 1024, 4369, 0, 0}, {8, 5474, 4626, 16448, 0, 0, 0}, {1375, 1331, 1536, 20480, 0, 0, 0}, {32, 512, 276, 4352, 0, 0, 0}, {12480, 16191, 21845, 0, 0, 0, 0}, {22106, 21862, 0, 0, 0, 0, 0}, {5399, 4160, 0, 0, 0, 0, 0}, {8, 32, 512, 1360, 4112, 0, 0}, {3072, 819, 21845, 0, 0, 0, 0}, {21930, 23130, 12336, 0, 0, 0, 0}, {275, 68, 1024, 4096, 0, 0, 0}, {1340, 1536, 1360, 0, 0, 0, 0}, {8, 4706, 5397, 0, 0, 0, 0}, {8, 4386, 4630, 68, 1024, 0, 0}, {1375, 12384, 20480, 0, 0, 0, 0}, {160, 12288, 1280, 0, 0, 0, 0}, {8, 771, 68, 1028, 4369, 0, 0}, {8, 5410, 1792, 16384, 0, 0, 0}, {1295, 1379, 771, 20560, 0, 0, 0}, {32, 512, 260, 4352, 0, 0, 0}, {12528, 3855, 21845, 0, 0, 0, 0}, {780, 21862, 0, 0, 0, 0, 0}, {1287, 4176, 0, 0, 0, 0, 0}, {8, 32, 512, 1280, 4096, 0, 0}, {204, 771, 21845, 0, 0, 0, 0}, {21930, 3840, 12288, 0, 0, 0, 0}, {259, 68, 1028, 4112, 0, 0, 0}, {780, 864, 1280, 0, 0, 0, 0}, {8, 1799, 5461, 0, 0, 0, 0}, {8, 4386, 772, 68, 1028, 0, 0}, {1295, 12368, 20560, 0, 0, 0, 0}, {6704, 12336, 5440, 0, 0, 0, 0}, {795, 819, 68, 1297, 4369, 0, 0}, {1370, 1394, 4626, 20560, 0, 0, 0}, {76, 5427, 5632, 16384, 0, 0, 0}, {828, 68, 4352, 0, 0, 0, 0}, {32, 4160, 5397, 0, 0, 0, 0}, {1302, 4176, 0, 0, 0, 0, 0}, {4680, 21879, 0, 0, 0, 0, 0}, {7496, 4656, 21760, 0, 0, 0, 0}, {1305, 32, 787, 1365, 4096, 0, 0}, {1370, 32, 4112, 0, 0, 0, 0}, {4403, 4608, 68, 0, 0, 0, 0}, {76, 880, 5376, 0, 0, 0, 0}, {40, 5911, 1365, 0, 0, 0, 0}, {4362, 4386, 788, 68, 5140, 0, 0}, {5439, 12352, 16448, 0, 0, 0, 0}, {12480, 3840, 21760, 0, 0, 0, 0}, {32, 514, 261, 4369, 0, 0, 0}, {1282, 4160, 0, 0, 0, 0, 0}, {783, 21811, 0, 0, 0, 0, 0}, {8, 768, 68, 1024, 4352, 0, 0}, {160, 12336, 1285, 0, 0, 0, 0}, {1290, 1382, 768, 20480, 0, 0, 0}, {8, 5431, 1799, 16448, 0, 0, 0}, {8, 1792, 5440, 0, 0, 0, 0}, {783, 867, 1285, 0, 0, 0, 0}, {1290, 12384, 20480, 0, 0, 0, 0}, {8, 4403, 775, 68, 1024, 0, 0}, {204, 768, 21760, 0, 0, 0, 0}, {8, 32, 514, 1285, 4112, 0, 0}, {258, 68, 1024, 4096, 0, 0, 0}, {22015, 3855, 12336, 0, 0, 0, 0}, {32, 4176, 5376, 0, 0, 0, 0}, {831, 68, 4369, 0, 0, 0, 0}, {4698, 21794, 0, 0, 0, 0, 0}, {1299, 4160, 0, 0, 0, 0, 0}, {792, 816, 68, 1300, 4352, 0, 0}, {6698, 12288, 5461, 0, 0, 0, 0}, {76, 5414, 5654, 16448, 0, 0, 0}, {1375, 1399, 4608, 20480, 0, 0, 0}, {40, 5888, 1360, 0, 0, 0, 0}, {76, 883, 5397, 0, 0, 0, 0}, {5418, 12400, 16384, 0, 0, 0, 0}, {4379, 4403, 791, 68, 5120, 0, 0}, {1308, 32, 784, 1360, 4112, 0, 0}, {7509, 4642, 21845, 0, 0, 0, 0}, {4386, 4626, 68, 0, 0, 0, 0}, {1375, 32, 4096, 0, 0, 0, 0}, {32, 4160, 1280, 0, 0, 0, 0}, {783, 68, 4369, 0, 0, 0, 0}, {18248, 21794, 0, 0, 0, 0, 0}, {5395, 4176, 0, 0, 0, 0, 0}, {40, 768, 68, 1280, 4352, 0, 0}, {128, 12336, 5397, 0, 0, 0, 0}, {76, 5478, 768, 16384, 0, 0, 0}, {1295, 1319, 5911, 20560, 0, 0, 0}, {4680, 4704, 1280, 0, 0, 0, 0}, {5401, 5654, 5461, 0, 0, 0, 0}, {5482, 12352, 16448, 0, 0, 0, 0}, {4379, 4403, 4628, 68, 5140, 0, 0}, {76, 32, 768, 1280, 4096, 0, 0}, {136, 4626, 21845, 0, 0, 0, 0}, {4386, 768, 68, 0, 0, 0, 0}, {1295, 32, 4112, 0, 0, 0, 0}, {12528, 16128, 21760, 0, 0, 0, 0}, {32, 514, 277, 4369, 0, 0, 0}, {5378, 4176, 0, 0, 0, 0, 0}, {22028, 21811, 0, 0, 0, 0, 0}, {8, 816, 68, 1028, 4352, 0, 0}, {2570, 12288, 1365, 0, 0, 0, 0}, {1370, 1334, 1542, 20560, 0, 0, 0}, {8, 5495, 4608, 16384, 0, 0, 0}, {8, 4720, 5376, 0, 0, 0, 0}, {1337, 1542, 1365, 0, 0, 0, 0}, {1370, 12368, 20560, 0, 0, 0, 0}, {8, 4403, 4612, 68, 1028, 0, 0}, {3084, 816, 21760, 0, 0, 0, 0}, {8, 32, 514, 1365, 4096, 0, 0}, {274, 68, 1028, 4112, 0, 0, 0}, {22015, 23040, 12288, 0, 0, 0, 0}, {26112, 0, 0, 0, 0, 0, 0}, {7, 16, 257, 0, 0, 0, 0}, {8, 32, 514, 17408, 0, 0, 0}, {15, 48, 771, 21760, 0, 0, 0}, {8, 8704, 64, 1028, 0, 0, 0}, {15, 13056, 80, 1285, 0, 0, 0}, {96, 1542, 0, 0, 0, 0, 0}, {7, 4352, 0, 0, 0, 0, 0}, {8, 8704, 17408, 0, 0, 0, 0}, {15, 48, 771, 80, 1285, 0, 0}, {26122, 0, 0, 0, 0, 0, 0}, {4355, 4356, 0, 0, 0, 0, 0}, {26124, 0, 0, 0, 0, 0, 0}, {4354, 4357, 0, 0, 0, 0, 0}, {8, 32, 514, 64, 1028, 0, 0}, {15, 13056, 21760, 0, 0, 0, 0}, {1536, 16, 0, 0, 0, 0, 0}, {119, 4369, 0, 0, 0, 0, 0}, {72, 48, 4626, 17408, 0, 0, 0}, {95, 32, 4883, 21760, 0, 0, 0}, {40, 8704, 80, 5140, 0, 0, 0}, {63, 13056, 64, 5397, 0, 0, 0}, {112, 5654, 0, 0, 0, 0, 0}, {23, 4352, 0, 0, 0, 0, 0}, {24, 48, 4608, 80, 5120, 0, 0}, {127, 13107, 21845, 0, 0, 0, 0}, {5658, 48, 64, 0, 0, 0, 0}, {4379, 4403, 4420, 0, 0, 0, 0}, {5660, 32, 80, 0, 0, 0, 0}, {4381, 4386, 4437, 0, 0, 0, 0}, {120, 8738, 17476, 0, 0, 0, 0}, {31, 32, 4864, 64, 5376, 0, 0}, {32, 17920, 0, 0, 0, 0, 0}, {71, 4369, 0, 0, 0, 0, 0}, {136, 8738, 17408, 0, 0, 0, 0}, {15, 771, 1280, 16, 0, 0, 0}, {72, 96, 1604, 17476, 0, 0, 0}, {15, 112, 5717, 21845, 0, 0, 0}, {3084, 9766, 64, 0, 0, 0, 0}, {15, 39, 80, 1280, 4352, 0, 0}, {40, 8704, 17408, 0, 0, 0, 0}, {15, 48, 771, 64, 5397, 0, 0}, {26154, 0, 0, 0, 0, 0, 0}, {4355, 4372, 0, 0, 0, 0, 0}, {1548, 32, 64, 0, 0, 0, 0}, {15, 4386, 4437, 0, 0, 0, 0}, {72, 8738, 17476, 0, 0, 0, 0}, {15, 32, 4864, 80, 1280, 0, 0}, {48, 22016, 0, 0, 0, 0, 0}, {87, 4369, 0, 0, 0, 0, 0}, {8, 514, 1024, 16, 0, 0, 0}, {255, 13107, 21760, 0, 0, 0, 0}, {8, 112, 5700, 17476, 0, 0, 0}, {95, 96, 1621, 21845, 0, 0, 0}, {2570, 13878, 80, 0, 0, 0, 0}, {8, 55, 64, 1024, 4352, 0, 0}, {8, 48, 4608, 64, 1024, 0, 0}, {95, 13107, 21845, 0, 0, 0, 0}, {1546, 48, 80, 0, 0, 0, 0}, {8, 4403, 4420, 0, 0, 0, 0}, {26172, 0, 0, 0, 0, 0, 0}, {4354, 4373, 0, 0, 0, 0, 0}, {8, 32, 514, 80, 5140, 0, 0}, {63, 13056, 21760, 0, 0, 0, 0}, {3072, 9728, 64, 0, 0, 0, 0}, {15, 39, 80, 1285, 4369, 0, 0}, {72, 96, 1602, 17408, 0, 0, 0}, {15, 112, 5699, 21760, 0, 0, 0}, {136, 8704, 17476, 0, 0, 0, 0}, {15, 768, 1285, 16, 0, 0, 0}, {32, 17990, 0, 0, 0, 0, 0}, {71, 4352, 0, 0, 0, 0, 0}, {72, 8704, 17408, 0, 0, 0, 0}, {15, 32, 4883, 80, 1285, 0, 0}, {1546, 32, 64, 0, 0, 0, 0}, {15, 4403, 4420, 0, 0, 0, 0}, {26188, 0, 0, 0, 0, 0, 0}, {4370, 4357, 0, 0, 0, 0, 0}, {40, 8738, 17476, 0, 0, 0, 0}, {15, 48, 768, 64, 5376, 0, 0}, {2560, 13824, 80, 0, 0, 0, 0}, {8, 55, 64, 1028, 4369, 0, 0}, {8, 112, 5714, 17408, 0, 0, 0}, {95, 96, 1619, 21760, 0, 0, 0}, {8, 512, 1028, 16, 0, 0, 0}, {255, 13056, 21845, 0, 0, 0, 0}, {48, 22102, 0, 0, 0, 0, 0}, {87, 4352, 0, 0, 0, 0, 0}, {8, 32, 512, 80, 5120, 0, 0}, {63, 13107, 21845, 0, 0, 0, 0}, {26202, 0, 0, 0, 0, 0, 0}, {4371, 4356, 0, 0, 0, 0, 0}, {1548, 48, 80, 0, 0, 0, 0}, {8, 4386, 4437, 0, 0, 0, 0}, {8, 48, 4626, 64, 1028, 0, 0}, {95, 13056, 21760, 0, 0, 0, 0}, {96, 1536, 0, 0, 0, 0, 0}, {7, 4369, 0, 0, 0, 0, 0}, {8, 8738, 64, 1024, 0, 0, 0}, {15, 13107, 80, 1280, 0, 0, 0}, {8, 32, 512, 17476, 0, 0, 0}, {15, 48, 768, 21845, 0, 0, 0}, {26214, 0, 0, 0, 0, 0, 0}, {7, 16, 256, 0, 0, 0, 0}, {8, 32, 512, 64, 1024, 0, 0}, {15, 13107, 21845, 0, 0, 0, 0}, {26218, 0, 0, 0, 0, 0, 0}, {4371, 4372, 0, 0, 0, 0, 0}, {26220, 0, 0, 0, 0, 0, 0}, {4370, 4373, 0, 0, 0, 0, 0}, {8, 8738, 17476, 0, 0, 0, 0}, {15, 48, 768, 80, 1280, 0, 0}, {112, 5632, 0, 0, 0, 0, 0}, {23, 4369, 0, 0, 0, 0, 0}, {40, 8738, 80, 5120, 0, 0, 0}, {63, 13107, 64, 5376, 0, 0, 0}, {72, 48, 4608, 17476, 0, 0, 0}, {95, 32, 4864, 21845, 0, 0, 0}, {1542, 16, 0, 0, 0, 0, 0}, {119, 4352, 0, 0, 0, 0, 0}, {120, 8704, 17408, 0, 0, 0, 0}, {31, 32, 4883, 64, 5397, 0, 0}, {5642, 32, 80, 0, 0, 0, 0}, {4364, 4403, 4420, 0, 0, 0, 0}, {5644, 48, 64, 0, 0, 0, 0}, {4362, 4386, 4437, 0, 0, 0, 0}, {24, 48, 4626, 80, 5140, 0, 0}, {127, 13056, 21760, 0, 0, 0, 0}, {128, 19456, 26112, 0, 0, 0, 0}, {23, 80, 1285, 4369, 0, 0, 0}, {40, 8738, 17408, 0, 0, 0, 0}, {15, 48, 771, 64, 5376, 0, 0}, {72, 8704, 17476, 0, 0, 0, 0}, {15, 32, 4864, 80, 1285, 0, 0}, {32, 1542, 64, 0, 0, 0, 0}, {15, 119, 4352, 0, 0, 0, 0}, {136, 8704, 17408, 0, 0, 0, 0}, {15, 771, 1285, 16, 0, 0, 0}, {17930, 32, 0, 0, 0, 0, 0}, {4355, 4420, 0, 0, 0, 0, 0}, {9740, 64, 0, 0, 0, 0, 0}, {4386, 4357, 0, 0, 0, 0, 0}, {72, 96, 1542, 17476, 0, 0, 0}, {15, 112, 5632, 21760, 0, 0, 0}, {48, 1536, 80, 0, 0, 0, 0}, {8, 119, 4369, 0, 0, 0, 0}, {8, 48, 4626, 64, 1024, 0, 0}, {95, 13107, 21760, 0, 0, 0, 0}, {8, 32, 512, 80, 5140, 0, 0}, {63, 13056, 21845, 0, 0, 0, 0}, {240, 23130, 26214, 0, 0, 0, 0}, {23, 64, 1024, 4352, 0, 0, 0}, {8, 512, 1024, 16, 0, 0, 0}, {255, 13107, 21845, 0, 0, 0, 0}, {22106, 48, 0, 0, 0, 0, 0}, {4371, 4420, 0, 0, 0, 0, 0}, {13884, 80, 0, 0, 0, 0, 0}, {4386, 4373, 0, 0, 0, 0, 0}, {8, 112, 5654, 17476, 0, 0, 0}, {95, 96, 1536, 21760, 0, 0, 0}, {160, 2560, 26112, 0, 0, 0, 0}, {7, 64, 1028, 4369, 0, 0, 0}, {8, 8738, 17408, 0, 0, 0, 0}, {15, 48, 771, 80, 1280, 0, 0}, {8, 32, 512, 64, 1028, 0, 0}, {15, 13056, 21845, 0, 0, 0, 0}, {192, 3084, 26214, 0, 0, 0, 0}, {7, 80, 1280, 4352, 0, 0, 0}, {8, 32, 512, 17408, 0, 0, 0}, {15, 48, 771, 21845, 0, 0, 0}, {26282, 0, 0, 0, 0, 0, 0}, {259, 260, 16, 0, 0, 0, 0}, {1548, 96, 0, 0, 0, 0, 0}, {7, 4437, 0, 0, 0, 0, 0}, {8, 8738, 64, 1028, 0, 0, 0}, {15, 13056, 80, 1280, 0, 0, 0}, {48, 5632, 64, 0, 0, 0, 0}, {95, 119, 4369, 0, 0, 0, 0}, {24, 48, 4626, 80, 5120, 0, 0}, {127, 13107, 21760, 0, 0, 0, 0}, {120, 8704, 17476, 0, 0, 0, 0}, {31, 32, 4864, 64, 5397, 0, 0}, {32, 5654, 80, 0, 0, 0, 0}, {72, 119, 4352, 0, 0, 0, 0}, {72, 48, 4608, 17408, 0, 0, 0}, {95, 32, 4883, 21845, 0, 0, 0}, {1546, 16, 0, 0, 0, 0, 0}, {4403, 4420, 0, 0, 0, 0, 0}, {5708, 112, 0, 0, 0, 0, 0}, {23, 4437, 0, 0, 0, 0, 0}, {40, 8738, 80, 5140, 0, 0, 0}, {63, 13056, 64, 5376, 0, 0, 0}, {192, 3072, 26112, 0, 0, 0, 0}, {7, 80, 1285, 4369, 0, 0, 0}, {8, 32, 514, 64, 1024, 0, 0}, {15, 13107, 21760, 0, 0, 0, 0}, {8, 8704, 17476, 0, 0, 0, 0}, {15, 48, 768, 80, 1285, 0, 0}, {160, 2570, 26214, 0, 0, 0, 0}, {7, 64, 1024, 4352, 0, 0, 0}, {8, 8704, 64, 1024, 0, 0, 0}, {15, 13107, 80, 1285, 0, 0, 0}, {1546, 96, 0, 0, 0, 0, 0}, {7, 4420, 0, 0, 0, 0, 0}, {26316, 0, 0, 0, 0, 0, 0}, {258, 261, 16, 0, 0, 0, 0}, {8, 32, 514, 17476, 0, 0, 0}, {15, 48, 768, 21760, 0, 0, 0}, {32, 5632, 80, 0, 0, 0, 0}, {72, 119, 4369, 0, 0, 0, 0}, {120, 8738, 17408, 0, 0, 0, 0}, {31, 32, 4883, 64, 5376, 0, 0}, {24, 48, 4608, 80, 5140, 0, 0}, {127, 13056, 21845, 0, 0, 0, 0}, {48, 5654, 64, 0, 0, 0, 0}, {95, 119, 4352, 0, 0, 0, 0}, {40, 8704, 80, 5120, 0, 0, 0}, {63, 13107, 64, 5397, 0, 0, 0}, {5722, 112, 0, 0, 0, 0, 0}, {23, 4420, 0, 0, 0, 0, 0}, {1548, 16, 0, 0, 0, 0, 0}, {4386, 4437, 0, 0, 0, 0, 0}, {72, 48, 4626, 17476, 0, 0, 0}, {95, 32, 4864, 21760, 0, 0, 0}, {32, 1536, 64, 0, 0, 0, 0}, {15, 119, 4369, 0, 0, 0, 0}, {72, 8738, 17408, 0, 0, 0, 0}, {15, 32, 4883, 80, 1280, 0, 0}, {40, 8704, 17476, 0, 0, 0, 0}, {15, 48, 768, 64, 5397, 0, 0}, {128, 19532, 26214, 0, 0, 0, 0}, {23, 80, 1280, 4352, 0, 0, 0}, {72, 96, 1536, 17408, 0, 0, 0}, {15, 112, 5654, 21845, 0, 0, 0}, {9770, 64, 0, 0, 0, 0, 0}, {4403, 4372, 0, 0, 0, 0, 0}, {17996, 32, 0, 0, 0, 0, 0}, {4370, 4437, 0, 0, 0, 0, 0}, {136, 8738, 17476, 0, 0, 0, 0}, {15, 768, 1280, 16, 0, 0, 0}, {240, 23040, 26112, 0, 0, 0, 0}, {23, 64, 1028, 4369, 0, 0, 0}, {8, 32, 514, 80, 5120, 0, 0}, {63, 13107, 21760, 0, 0, 0, 0}, {8, 48, 4608, 64, 1028, 0, 0}, {95, 13056, 21845, 0, 0, 0, 0}, {48, 1542, 80, 0, 0, 0, 0}, {8, 119, 4352, 0, 0, 0, 0}, {8, 112, 5632, 17408, 0, 0, 0}, {95, 96, 1542, 21845, 0, 0, 0}, {13834, 80, 0, 0, 0, 0, 0}, {4403, 4356, 0, 0, 0, 0, 0}, {22028, 48, 0, 0, 0, 0, 0}, {4354, 4437, 0, 0, 0, 0, 0}, {8, 514, 1028, 16, 0, 0, 0}, {255, 13056, 21760, 0, 0, 0, 0}, {1792, 4096, 0, 0, 0, 0, 0}, {102, 257, 0, 0, 0, 0, 0}, {1290, 4128, 514, 21760, 0, 0, 0}, {1036, 4144, 771, 17408, 0, 0, 0}, {780, 13056, 4160, 1028, 0, 0, 0}, {522, 8704, 4176, 1285, 0, 0, 0}, {262, 4352, 0, 0, 0, 0, 0}, {4208, 1799, 0, 0, 0, 0, 0}, {1800, 12288, 20480, 0, 0, 0, 0}, {265, 4403, 771, 4437, 1285, 0, 0}, {4106, 4608, 5376, 0, 0, 0, 0}, {4220, 771, 1028, 0, 0, 0, 0}, {4108, 4864, 5120, 0, 0, 0, 0}, {4218, 514, 1285, 0, 0, 0, 0}, {270, 4386, 514, 4420, 1028, 0, 0}, {1807, 8192, 16384, 0, 0, 0, 0}, {1904, 4112, 0, 0, 0, 0, 0}, {1536, 273, 0, 0, 0, 0, 0}, {1370, 4144, 4626, 21760, 0, 0, 0}, {1100, 4128, 4883, 17408, 0, 0, 0}, {828, 13056, 4176, 5140, 0, 0, 0}, {554, 8704, 4160, 5397, 0, 0, 0}, {278, 4352, 0, 0, 0, 0, 0}, {4192, 5911, 0, 0, 0, 0, 0}, {1912, 12336, 20560, 0, 0, 0, 0}, {281, 4403, 4608, 4437, 5120, 0, 0}, {4122, 4656, 5440, 0, 0, 0, 0}, {5915, 819, 1092, 0, 0, 0, 0}, {4124, 4896, 5200, 0, 0, 0, 0}, {5917, 546, 1365, 0, 0, 0, 0}, {286, 4386, 4864, 4420, 5376, 0, 0}, {1919, 8224, 16448, 0, 0, 0, 0}, {4128, 18176, 0, 0, 0, 0, 0}, {327, 4369, 0, 0, 0, 0, 0}, {546, 1280, 4096, 0, 0, 0, 0}, {771, 1088, 4112, 0, 0, 0, 0}, {1096, 4192, 1860, 17476, 0, 0, 0}, {1295, 4208, 5973, 21845, 0, 0, 0}, {780, 294, 320, 1280, 4352, 0, 0}, {3855, 10023, 4176, 0, 0, 0, 0}, {5928, 12288, 16384, 0, 0, 0, 0}, {4122, 4403, 771, 4437, 5397, 0, 0}, {4138, 4608, 1280, 0, 0, 0, 0}, {4188, 771, 5140, 0, 0, 0, 0}, {780, 4896, 1088, 0, 0, 0, 0}, {1295, 546, 5461, 0, 0, 0, 0}, {4108, 4386, 4864, 4420, 1280, 0, 0}, {5983, 8224, 20560, 0, 0, 0, 0}, {4144, 22272, 0, 0, 0, 0, 0}, {343, 4369, 0, 0, 0, 0, 0}, {514, 1360, 4112, 0, 0, 0, 0}, {819, 1024, 4096, 0, 0, 0, 0}, {1032, 4208, 5956, 17476, 0, 0, 0}, {1375, 4192, 1877, 21845, 0, 0, 0}, {522, 310, 336, 1024, 4352, 0, 0}, {2056, 14135, 4160, 0, 0, 0, 0}, {5960, 12336, 16448, 0, 0, 0, 0}, {4106, 4403, 4608, 4437, 1024, 0, 0}, {522, 4656, 1360, 0, 0, 0, 0}, {1032, 819, 5188, 0, 0, 0, 0}, {4156, 4864, 1024, 0, 0, 0, 0}, {4170, 514, 5397, 0, 0, 0, 0}, {4124, 4386, 514, 4420, 5140, 0, 0}, {5951, 8192, 20480, 0, 0, 0, 0}, {3840, 9984, 4160, 0, 0, 0, 0}, {783, 295, 321, 1285, 4369, 0, 0}, {1290, 4192, 5954, 21760, 0, 0, 0}, {1100, 4208, 1859, 17408, 0, 0, 0}, {768, 1092, 4096, 0, 0, 0, 0}, {544, 1285, 4112, 0, 0, 0, 0}, {326, 4352, 0, 0, 0, 0, 0}, {4144, 18247, 0, 0, 0, 0, 0}, {5960, 8192, 20480, 0, 0, 0, 0}, {4124, 4403, 4883, 4437, 1285, 0, 0}, {1290, 544, 5440, 0, 0, 0, 0}, {783, 4915, 1092, 0, 0, 0, 0}, {4172, 768, 5120, 0, 0, 0, 0}, {4154, 4626, 1285, 0, 0, 0, 0}, {4106, 4386, 768, 4420, 5376, 0, 0}, {5951, 12336, 16448, 0, 0, 0, 0}, {2048, 14080, 4176, 0, 0, 0, 0}, {520, 311, 337, 1028, 4369, 0, 0}, {1370, 4208, 1874, 21760, 0, 0, 0}, {1036, 4192, 5971, 17408, 0, 0, 0}, {816, 1028, 4112, 0, 0, 0, 0}, {512, 1365, 4096, 0, 0, 0, 0}, {342, 4352, 0, 0, 0, 0, 0}, {4128, 22359, 0, 0, 0, 0, 0}, {5928, 8224, 20560, 0, 0, 0, 0}, {4108, 4403, 512, 4437, 5120, 0, 0}, {4186, 512, 5376, 0, 0, 0, 0}, {4140, 4883, 1028, 0, 0, 0, 0}, {1036, 816, 5200, 0, 0, 0, 0}, {520, 4642, 1365, 0, 0, 0, 0}, {4122, 4386, 4626, 4420, 1028, 0, 0}, {5983, 12288, 16384, 0, 0, 0, 0}, {4192, 1792, 0, 0, 0, 0, 0}, {263, 4369, 0, 0, 0, 0, 0}, {520, 8738, 4160, 1280, 0, 0, 0}, {783, 13107, 4176, 1024, 0, 0, 0}, {1032, 4128, 768, 17476, 0, 0, 0}, {1295, 4144, 512, 21845, 0, 0, 0}, {102, 256, 0, 0, 0, 0, 0}, {1799, 4112, 0, 0, 0, 0, 0}, {1800, 8224, 16448, 0, 0, 0, 0}, {271, 4403, 512, 4437, 1024, 0, 0}, {4202, 512, 1280, 0, 0, 0, 0}, {4124, 4883, 5140, 0, 0, 0, 0}, {4204, 768, 1024, 0, 0, 0, 0}, {4122, 4626, 5397, 0, 0, 0, 0}, {264, 4386, 768, 4420, 1280, 0, 0}, {1807, 12336, 20560, 0, 0, 0, 0}, {4208, 5888, 0, 0, 0, 0, 0}, {279, 4369, 0, 0, 0, 0, 0}, {552, 8738, 4176, 5376, 0, 0, 0}, {831, 13107, 4160, 5120, 0, 0, 0}, {1096, 4144, 4864, 17476, 0, 0, 0}, {1375, 4128, 4608, 21845, 0, 0, 0}, {1542, 272, 0, 0, 0, 0, 0}, {1911, 4096, 0, 0, 0, 0, 0}, {1912, 8192, 16384, 0, 0, 0, 0}, {287, 4403, 4883, 4437, 5397, 0, 0}, {5898, 544, 1360, 0, 0, 0, 0}, {4108, 4915, 5188, 0, 0, 0, 0}, {5900, 816, 1088, 0, 0, 0, 0}, {4106, 4642, 5461, 0, 0, 0, 0}, {280, 4386, 4626, 4420, 5140, 0, 0}, {1919, 12288, 20480, 0, 0, 0, 0}, {4224, 5888, 20480, 0, 0, 0, 0}, {333, 102, 771, 1285, 4369, 0, 0}, {4106, 4642, 5376, 0, 0, 0, 0}, {5180, 771, 1088, 0, 0, 0, 0}, {4108, 4864, 5188, 0, 0, 0, 0}, {4698, 544, 1285, 0, 0, 0, 0}, {1290, 1062, 1542, 1088, 4352, 0, 0}, {3855, 6007, 16384, 0, 0, 0, 0}, {1928, 3840, 4096, 0, 0, 0, 0}, {291, 771, 325, 1285, 4112, 0, 0}, {1290, 4128, 4608, 21760, 0, 0, 0}, {1096, 4144, 771, 17476, 0, 0, 0}, {780, 13056, 4160, 5120, 0, 0, 0}, {552, 8738, 4176, 1285, 0, 0, 0}, {4102, 4420, 0, 0, 0, 0, 0}, {18191, 4208, 0, 0, 0, 0, 0}, {2048, 5984, 20560, 0, 0, 0, 0}, {1032, 1331, 1536, 1365, 4369, 0, 0}, {4122, 4626, 5440, 0, 0, 0, 0}, {4959, 819, 1024, 0, 0, 0, 0}, {4124, 4896, 5140, 0, 0, 0, 0}, {5439, 512, 1365, 0, 0, 0, 0}, {346, 102, 512, 1024, 4352, 0, 0}, {4320, 5911, 16448, 0, 0, 0, 0}, {2040, 2056, 4112, 0, 0, 0, 0}, {307, 512, 341, 1024, 4096, 0, 0}, {1370, 4144, 512, 21760, 0, 0, 0}, {1032, 4128, 4883, 17476, 0, 0, 0}, {828, 13056, 4176, 1024, 0, 0, 0}, {520, 8738, 4160, 5397, 0, 0, 0}, {4118, 4420, 0, 0, 0, 0, 0}, {22367, 4192, 0, 0, 0, 0, 0}, {4256, 1792, 16384, 0, 0, 0, 0}, {267, 102, 771, 1028, 4369, 0, 0}, {520, 4642, 1280, 0, 0, 0, 0}, {1036, 771, 5200, 0, 0, 0, 0}, {780, 4896, 1028, 0, 0, 0, 0}, {1295, 512, 5461, 0, 0, 0, 0}, {268, 102, 512, 1280, 4352, 0, 0}, {4304, 1799, 20560, 0, 0, 0, 0}, {1800, 4128, 0, 0, 0, 0, 0}, {259, 4437, 0, 0, 0, 0, 0}, {170, 512, 1280, 4096, 0, 0, 0}, {204, 771, 1028, 4112, 0, 0, 0}, {1036, 4192, 1792, 17408, 0, 0, 0}, {1295, 4208, 1799, 21845, 0, 0, 0}, {4386, 260, 0, 0, 0, 0, 0}, {1807, 4176, 0, 0, 0, 0, 0}, {8000, 1904, 16448, 0, 0, 0, 0}, {283, 1058, 1809, 1092, 4369, 0, 0}, {4154, 4626, 1360, 0, 0, 0, 0}, {4172, 819, 5120, 0, 0, 0, 0}, {4156, 4864, 1092, 0, 0, 0, 0}, {4170, 544, 5397, 0, 0, 0, 0}, {284, 1334, 1814, 1360, 4352, 0, 0}, {6216, 1911, 20480, 0, 0, 0, 0}, {5960, 4144, 0, 0, 0, 0, 0}, {275, 4437, 0, 0, 0, 0, 0}, {2570, 544, 1360, 4112, 0, 0, 0}, {3072, 819, 1092, 4096, 0, 0, 0}, {1100, 4208, 5888, 17408, 0, 0, 0}, {1375, 4192, 5911, 21845, 0, 0, 0}, {4386, 276, 0, 0, 0, 0, 0}, {5951, 4160, 0, 0, 0, 0, 0}, {4288, 1792, 20480, 0, 0, 0, 0}, {269, 102, 514, 1285, 4369, 0, 0}, {1290, 514, 5440, 0, 0, 0, 0}, {783, 4915, 1024, 0, 0, 0, 0}, {1032, 768, 5188, 0, 0, 0, 0}, {522, 4656, 1285, 0, 0, 0, 0}, {266, 102, 768, 1024, 4352, 0, 0}, {4272, 1799, 16448, 0, 0, 0, 0}, {1800, 4160, 0, 0, 0, 0, 0}, {4403, 261, 0, 0, 0, 0, 0}, {1290, 4192, 1792, 21760, 0, 0, 0}, {1032, 4208, 1799, 17476, 0, 0, 0}, {204, 768, 1024, 4096, 0, 0, 0}, {170, 514, 1285, 4112, 0, 0, 0}, {258, 4420, 0, 0, 0, 0, 0}, {1807, 4144, 0, 0, 0, 0, 0}, {6224, 1904, 20560, 0, 0, 0, 0}, {285, 1331, 1809, 1365, 4369, 0, 0}, {4186, 546, 5376, 0, 0, 0, 0}, {4140, 4883, 1088, 0, 0, 0, 0}, {4188, 816, 5140, 0, 0, 0, 0}, {4138, 4608, 1365, 0, 0, 0, 0}, {282, 1062, 1814, 1088, 4352, 0, 0}, {8031, 1911, 16384, 0, 0, 0, 0}, {5928, 4176, 0, 0, 0, 0, 0}, {4403, 277, 0, 0, 0, 0, 0}, {1370, 4208, 5888, 21760, 0, 0, 0}, {1096, 4192, 5911, 17476, 0, 0, 0}, {3084, 816, 1088, 4112, 0, 0, 0}, {2560, 546, 1365, 4096, 0, 0, 0}, {274, 4420, 0, 0, 0, 0, 0}, {5983, 4128, 0, 0, 0, 0, 0}, {3840, 5984, 16448, 0, 0, 0, 0}, {1295, 1058, 1536, 1092, 4369, 0, 0}, {4680, 546, 1280, 0, 0, 0, 0}, {4124, 4883, 5200, 0, 0, 0, 0}, {5160, 768, 1092, 0, 0, 0, 0}, {4122, 4656, 5397, 0, 0, 0, 0}, {332, 102, 768, 1280, 4352, 0, 0}, {4240, 5911, 20560, 0, 0, 0, 0}, {18248, 4192, 0, 0, 0, 0, 0}, {4118, 4437, 0, 0, 0, 0, 0}, {554, 8704, 4160, 1280, 0, 0, 0}, {783, 13107, 4176, 5140, 0, 0, 0}, {1100, 4128, 768, 17408, 0, 0, 0}, {1295, 4144, 4626, 21845, 0, 0, 0}, {290, 768, 324, 1280, 4096, 0, 0}, {1935, 3855, 4112, 0, 0, 0, 0}, {4336, 5888, 16384, 0, 0, 0, 0}, {347, 102, 514, 1028, 4369, 0, 0}, {5418, 514, 1360, 0, 0, 0, 0}, {4108, 4915, 5120, 0, 0, 0, 0}, {4940, 816, 1028, 0, 0, 0, 0}, {4106, 4608, 5461, 0, 0, 0, 0}, {1036, 1334, 1542, 1360, 4352, 0, 0}, {2056, 6007, 20480, 0, 0, 0, 0}, {22280, 4208, 0, 0, 0, 0, 0}, {4102, 4437, 0, 0, 0, 0, 0}, {522, 8704, 4176, 5376, 0, 0, 0}, {831, 13107, 4160, 1028, 0, 0, 0}, {1036, 4144, 4864, 17408, 0, 0, 0}, {1375, 4128, 514, 21845, 0, 0, 0}, {306, 514, 340, 1028, 4112, 0, 0}, {2047, 2048, 4096, 0, 0, 0, 0}, {2048, 8192, 16384, 0, 0, 0, 0}, {15, 51, 85, 257, 0, 0, 0}, {16426, 514, 0, 0, 0, 0, 0}, {4099, 5120, 0, 0, 0, 0, 0}, {8268, 1028, 0, 0, 0, 0, 0}, {4608, 4101, 0, 0, 0, 0, 0}, {1036, 102, 1542, 17408, 0, 0, 0}, {15, 4208, 1799, 20480, 0, 0, 0}, {16512, 2056, 24576, 0, 0, 0, 0}, {262, 85, 1285, 4352, 0, 0, 0}, {522, 8704, 16384, 0, 0, 0, 0}, {15, 51, 771, 4160, 1028, 0, 0}, {1036, 8192, 17408, 0, 0, 0, 0}, {15, 4128, 514, 85, 1285, 0, 0}, {102, 514, 1028, 0, 0, 0, 0}, {15, 1792, 4096, 0, 0, 0, 0}, {240, 2160, 4112, 0, 0, 0, 0}, {51, 529, 85, 1041, 4369, 0, 0}, {90, 4144, 4626, 20480, 0, 0, 0}, {1100, 51, 4883, 17408, 0, 0, 0}, {60, 12288, 4176, 5140, 0, 0, 0}, {554, 8704, 85, 5397, 0, 0, 0}, {4118, 5120, 0, 0, 0, 0, 0}, {16447, 5911, 0, 0, 0, 0, 0}, {6168, 4192, 20560, 0, 0, 0, 0}, {1049, 51, 1536, 85, 4352, 0, 0}, {4122, 4656, 4160, 0, 0, 0, 0}, {5915, 51, 1092, 0, 0, 0, 0}, {4124, 4128, 5200, 0, 0, 0, 0}, {5917, 546, 85, 0, 0, 0, 0}, {1054, 1058, 1536, 1092, 4096, 0, 0}, {7967, 5984, 16448, 0, 0, 0, 0}, {16512, 18432, 8224, 0, 0, 0, 0}, {274, 85, 1280, 4369, 0, 0, 0}, {2560, 546, 16384, 0, 0, 0, 0}, {15, 51, 771, 1088, 4112, 0, 0}, {1096, 9252, 17476, 0, 0, 0, 0}, {15, 4133, 4608, 85, 1280, 0, 0}, {1548, 1062, 1088, 0, 0, 0, 0}, {15, 5927, 4176, 0, 0, 0, 0}, {8352, 10280, 16384, 0, 0, 0, 0}, {51, 771, 277, 4352, 0, 0, 0}, {16426, 16896, 0, 0, 0, 0, 0}, {4179, 5140, 0, 0, 0, 0, 0}, {3084, 8224, 1088, 0, 0, 0, 0}, {15, 546, 85, 1280, 4096, 0, 0}, {1096, 102, 580, 17476, 0, 0, 0}, {15, 4128, 5968, 20560, 0, 0, 0}, {2048, 4144, 20480, 0, 0, 0, 0}, {1032, 51, 514, 85, 4369, 0, 0}, {90, 514, 4112, 0, 0, 0, 0}, {51, 4864, 1024, 0, 0, 0, 0}, {1032, 1076, 5188, 0, 0, 0, 0}, {522, 5941, 85, 0, 0, 0, 0}, {4106, 4150, 4608, 4176, 1024, 0, 0}, {5960, 14135, 16448, 0, 0, 0, 0}, {2056, 12336, 4160, 0, 0, 0, 0}, {522, 51, 85, 1024, 4352, 0, 0}, {90, 4192, 592, 20560, 0, 0, 0}, {1032, 51, 5956, 17476, 0, 0, 0}, {60, 1024, 4096, 0, 0, 0, 0}, {514, 85, 5397, 0, 0, 0, 0}, {4166, 5140, 0, 0, 0, 0, 0}, {16447, 22272, 0, 0, 0, 0, 0}, {8320, 10240, 16448, 0, 0, 0, 0}, {51, 768, 276, 4369, 0, 0, 0}, {16490, 16962, 0, 0, 0, 0, 0}, {4163, 5120, 0, 0, 0, 0, 0}, {3072, 8192, 1092, 0, 0, 0, 0}, {15, 544, 85, 1285, 4112, 0, 0}, {1100, 102, 582, 17408, 0, 0, 0}, {15, 4144, 5959, 20480, 0, 0, 0}, {16576, 18504, 8192, 0, 0, 0, 0}, {275, 85, 1285, 4352, 0, 0, 0}, {2570, 544, 16448, 0, 0, 0, 0}, {15, 51, 768, 1092, 4096, 0, 0}, {1100, 9216, 17408, 0, 0, 0, 0}, {15, 4149, 4626, 85, 1285, 0, 0}, {1546, 1058, 1092, 0, 0, 0, 0}, {15, 5936, 4160, 0, 0, 0, 0}, {2048, 12288, 4176, 0, 0, 0, 0}, {520, 51, 85, 1028, 4369, 0, 0}, {90, 4208, 594, 20480, 0, 0, 0}, {1036, 51, 5971, 17408, 0, 0, 0}, {60, 1028, 4112, 0, 0, 0, 0}, {512, 85, 5376, 0, 0, 0, 0}, {4182, 5120, 0, 0, 0, 0, 0}, {16511, 22359, 0, 0, 0, 0, 0}, {2056, 4128, 20560, 0, 0, 0, 0}, {1036, 51, 512, 85, 4352, 0, 0}, {90, 512, 4096, 0, 0, 0, 0}, {51, 4883, 1028, 0, 0, 0, 0}, {1036, 1072, 5200, 0, 0, 0, 0}, {520, 5922, 85, 0, 0, 0, 0}, {4122, 4134, 4626, 4160, 1028, 0, 0}, {5983, 14080, 16384, 0, 0, 0, 0}, {16576, 2048, 24672, 0, 0, 0, 0}, {263, 85, 1280, 4369, 0, 0, 0}, {520, 8738, 16448, 0, 0, 0, 0}, {15, 51, 768, 4176, 1024, 0, 0}, {1032, 8224, 17476, 0, 0, 0, 0}, {15, 4144, 512, 85, 1280, 0, 0}, {102, 512, 1024, 0, 0, 0, 0}, {15, 1799, 4112, 0, 0, 0, 0}, {2056, 8224, 16448, 0, 0, 0, 0}, {15, 51, 85, 256, 0, 0, 0}, {16490, 512, 0, 0, 0, 0, 0}, {4115, 5140, 0, 0, 0, 0, 0}, {8300, 1024, 0, 0, 0, 0, 0}, {4626, 4117, 0, 0, 0, 0, 0}, {1032, 102, 1536, 17476, 0, 0, 0}, {15, 4192, 1792, 20560, 0, 0, 0}, {6144, 4208, 20480, 0, 0, 0, 0}, {1053, 51, 1542, 85, 4369, 0, 0}, {4106, 4642, 4176, 0, 0, 0, 0}, {5900, 51, 1088, 0, 0, 0, 0}, {4108, 4144, 5188, 0, 0, 0, 0}, {5898, 544, 85, 0, 0, 0, 0}, {1050, 1062, 1542, 1088, 4112, 0, 0}, {7936, 6007, 16384, 0, 0, 0, 0}, {240, 2168, 4096, 0, 0, 0, 0}, {51, 531, 85, 1045, 4352, 0, 0}, {90, 4128, 4608, 20560, 0, 0, 0}, {1096, 51, 4864, 17476, 0, 0, 0}, {60, 12336, 4160, 5120, 0, 0, 0}, {552, 8738, 85, 5376, 0, 0, 0}, {4102, 5140, 0, 0, 0, 0, 0}, {16511, 5888, 0, 0, 0, 0, 0}, {16512, 18432, 24576, 0, 0, 0, 0}, {279, 85, 1285, 4369, 0, 0, 0}, {552, 8738, 16384, 0, 0, 0, 0}, {15, 51, 771, 4160, 5120, 0, 0}, {1096, 8192, 17476, 0, 0, 0, 0}, {15, 4128, 4608, 85, 1285, 0, 0}, {1062, 1542, 1088, 0, 0, 0, 0}, {15, 1911, 4096, 0, 0, 0, 0}, {2184, 8192, 16384, 0, 0, 0, 0}, {15, 771, 1285, 272, 0, 0, 0}, {16906, 544, 0, 0, 0, 0, 0}, {4099, 5188, 0, 0, 0, 0, 0}, {9228, 1088, 0, 0, 0, 0, 0}, {4642, 4101, 0, 0, 0, 0, 0}, {1096, 102, 1542, 17476, 0, 0, 0}, {15, 4208, 5888, 20480, 0, 0, 0}, {2048, 4192, 20560, 0, 0, 0, 0}, {1032, 51, 1536, 85, 4369, 0, 0}, {4122, 4626, 4160, 0, 0, 0, 0}, {4959, 51, 1024, 0, 0, 0, 0}, {4124, 4128, 5140, 0, 0, 0, 0}, {5439, 512, 85, 0, 0, 0, 0}, {90, 102, 512, 1024, 4096, 0, 0}, {255, 5911, 16448, 0, 0, 0, 0}, {240, 2056, 4112, 0, 0, 0, 0}, {51, 512, 85, 1024, 4352, 0, 0}, {90, 4144, 512, 20480, 0, 0, 0}, {1032, 51, 4883, 17476, 0, 0, 0}, {60, 12288, 4176, 1024, 0, 0, 0}, {520, 8738, 85, 5397, 0, 0, 0}, {4118, 5188, 0, 0, 0, 0, 0}, {22367, 5984, 0, 0, 0, 0, 0}, {8352, 2048, 16384, 0, 0, 0, 0}, {51, 771, 260, 4369, 0, 0, 0}, {520, 16930, 0, 0, 0, 0, 0}, {1027, 5200, 0, 0, 0, 0, 0}, {204, 8224, 1028, 0, 0, 0, 0}, {15, 512, 85, 1280, 4096, 0, 0}, {1036, 102, 512, 17408, 0, 0, 0}, {15, 4128, 1799, 20560, 0, 0, 0}, {16512, 2056, 8224, 0, 0, 0, 0}, {259, 85, 1280, 4352, 0, 0, 0}, {170, 512, 16384, 0, 0, 0, 0}, {15, 51, 771, 1028, 4112, 0, 0}, {1036, 9312, 17408, 0, 0, 0, 0}, {15, 4133, 519, 85, 1280, 0, 0}, {520, 102, 1028, 0, 0, 0, 0}, {15, 1792, 4176, 0, 0, 0, 0}, {6192, 12336, 4160, 0, 0, 0, 0}, {539, 51, 85, 1041, 4369, 0, 0}, {90, 4192, 4626, 20560, 0, 0, 0}, {1100, 51, 5888, 17408, 0, 0, 0}, {60, 1092, 4096, 0, 0, 0, 0}, {544, 85, 5397, 0, 0, 0, 0}, {1046, 5200, 0, 0, 0, 0, 0}, {5960, 22391, 0, 0, 0, 0, 0}, {6216, 4144, 20480, 0, 0, 0, 0}, {1049, 51, 531, 85, 4352, 0, 0}, {90, 544, 4112, 0, 0, 0, 0}, {51, 4864, 1092, 0, 0, 0, 0}, {4172, 4208, 5120, 0, 0, 0, 0}, {5439, 5911, 85, 0, 0, 0, 0}, {4106, 4150, 532, 4176, 5140, 0, 0}, {5951, 14144, 16448, 0, 0, 0, 0}, {16576, 2048, 8192, 0, 0, 0, 0}, {258, 85, 1285, 4369, 0, 0, 0}, {170, 514, 16448, 0, 0, 0, 0}, {15, 51, 768, 1024, 4096, 0, 0}, {1032, 9284, 17476, 0, 0, 0, 0}, {15, 4149, 517, 85, 1285, 0, 0}, {522, 102, 1024, 0, 0, 0, 0}, {15, 1799, 4160, 0, 0, 0, 0}, {8320, 2056, 16448, 0, 0, 0, 0}, {51, 768, 261, 4352, 0, 0, 0}, {522, 16992, 0, 0, 0, 0, 0}, {1031, 5188, 0, 0, 0, 0, 0}, {204, 8192, 1024, 0, 0, 0, 0}, {15, 514, 85, 1285, 4112, 0, 0}, {1032, 102, 514, 17476, 0, 0, 0}, {15, 4144, 1792, 20480, 0, 0, 0}, {6224, 4128, 20560, 0, 0, 0, 0}, {1053, 51, 529, 85, 4369, 0, 0}, {90, 546, 4096, 0, 0, 0, 0}, {51, 4883, 1088, 0, 0, 0, 0}, {4188, 4192, 5140, 0, 0, 0, 0}, {5418, 5888, 85, 0, 0, 0, 0}, {4122, 4134, 534, 4160, 5120, 0, 0}, {5928, 14199, 16384, 0, 0, 0, 0}, {6184, 12288, 4176, 0, 0, 0, 0}, {537, 51, 85, 1045, 4352, 0, 0}, {90, 4208, 4608, 20480, 0, 0, 0}, {1096, 51, 5911, 17476, 0, 0, 0}, {60, 1088, 4112, 0, 0, 0, 0}, {546, 85, 5376, 0, 0, 0, 0}, {1042, 5188, 0, 0, 0, 0, 0}, {5983, 22304, 0, 0, 0, 0, 0}, {2176, 8224, 16448, 0, 0, 0, 0}, {15, 768, 1280, 273, 0, 0, 0}, {16968, 546, 0, 0, 0, 0, 0}, {4115, 5200, 0, 0, 0, 0, 0}, {9256, 1092, 0, 0, 0, 0, 0}, {4656, 4117, 0, 0, 0, 0, 0}, {1100, 102, 1536, 17408, 0, 0, 0}, {15, 4192, 5911, 20560, 0, 0, 0}, {16576, 18504, 24672, 0, 0, 0, 0}, {278, 85, 1280, 4352, 0, 0, 0}, {554, 8704, 16448, 0, 0, 0, 0}, {15, 51, 768, 4176, 5140, 0, 0}, {1100, 8224, 17408, 0, 0, 0, 0}, {15, 4144, 4626, 85, 1280, 0, 0}, {1058, 1536, 1092, 0, 0, 0, 0}, {15, 1904, 4112, 0, 0, 0, 0}, {240, 2048, 4096, 0, 0, 0, 0}, {51, 514, 85, 1028, 4369, 0, 0}, {90, 4128, 514, 20560, 0, 0, 0}, {1036, 51, 4864, 17408, 0, 0, 0}, {60, 12336, 4160, 1028, 0, 0, 0}, {522, 8704, 85, 5376, 0, 0, 0}, {4102, 5200, 0, 0, 0, 0, 0}, {22280, 6007, 0, 0, 0, 0, 0}, {2056, 4208, 20480, 0, 0, 0, 0}, {1036, 51, 1542, 85, 4352, 0, 0}, {4106, 4608, 4176, 0, 0, 0, 0}, {4940, 51, 1028, 0, 0, 0, 0}, {4108, 4144, 5120, 0, 0, 0, 0}, {5418, 514, 85, 0, 0, 0, 0}, {90, 102, 514, 1028, 4112, 0, 0}, {255, 5888, 16384, 0, 0, 0, 0}, {3840, 13056, 21760, 0, 0, 0, 0}, {8, 32, 64, 257, 0, 0, 0}, {4354, 5120, 0, 0, 0, 0, 0}, {21823, 771, 0, 0, 0, 0, 0}, {4608, 4356, 0, 0, 0, 0, 0}, {13151, 1285, 0, 0, 0, 0, 0}, {1290, 96, 1542, 20480, 0, 0, 0}, {8, 4471, 1799, 17408, 0, 0, 0}, {8, 1792, 4352, 0, 0, 0, 0}, {96, 771, 1285, 0, 0, 0, 0}, {1290, 13056, 20480, 0, 0, 0, 0}, {8, 4403, 771, 64, 1028, 0, 0}, {780, 12288, 21760, 0, 0, 0, 0}, {8, 32, 514, 4437, 1285, 0, 0}, {262, 64, 1028, 4096, 0, 0, 0}, {22015, 3855, 26112, 0, 0, 0, 0}, {32, 784, 64, 1296, 4112, 0, 0}, {136, 3959, 4369, 0, 0, 0, 0}, {72, 4386, 4626, 17408, 0, 0, 0}, {1375, 32, 4883, 20480, 0, 0, 0}, {40, 8704, 4420, 5140, 0, 0, 0}, {831, 12288, 64, 5397, 0, 0, 0}, {21802, 5654, 0, 0, 0, 0, 0}, {4375, 5120, 0, 0, 0, 0, 0}, {1304, 1328, 1536, 1360, 4352, 0, 0}, {6425, 5734, 21845, 0, 0, 0, 0}, {5658, 816, 64, 0, 0, 0, 0}, {4379, 4403, 5188, 0, 0, 0, 0}, {5660, 32, 1360, 0, 0, 0, 0}, {4381, 4642, 4437, 0, 0, 0, 0}, {7710, 4454, 17476, 0, 0, 0, 0}, {1311, 32, 1536, 64, 4096, 0, 0}, {32, 4864, 1280, 0, 0, 0, 0}, {72, 771, 4369, 0, 0, 0, 0}, {3840, 4386, 17408, 0, 0, 0, 0}, {1295, 32, 771, 64, 4112, 0, 0}, {4364, 4388, 4608, 4420, 1280, 0, 0}, {5722, 9509, 21845, 0, 0, 0, 0}, {780, 5670, 64, 0, 0, 0, 0}, {1295, 1319, 5200, 0, 0, 0, 0}, {40, 1280, 4352, 0, 0, 0, 0}, {771, 64, 5397, 0, 0, 0, 0}, {21802, 17152, 0, 0, 0, 0, 0}, {4435, 5140, 0, 0, 0, 0, 0}, {780, 32, 64, 1280, 4096, 0, 0}, {3855, 8738, 4437, 0, 0, 0, 0}, {72, 4454, 836, 17476, 0, 0, 0}, {1295, 32, 5712, 20560, 0, 0, 0}, {3072, 816, 21760, 0, 0, 0, 0}, {8, 32, 514, 1365, 4369, 0, 0}, {274, 64, 1024, 4112, 0, 0, 0}, {22015, 23040, 13107, 0, 0, 0, 0}, {8, 5684, 4420, 0, 0, 0, 0}, {1546, 1333, 1365, 0, 0, 0, 0}, {1370, 13878, 20560, 0, 0, 0, 0}, {8, 4407, 4608, 64, 1024, 0, 0}, {8, 816, 64, 1024, 4352, 0, 0}, {2570, 13107, 1365, 0, 0, 0, 0}, {1370, 96, 848, 20560, 0, 0, 0}, {8, 4403, 5700, 17476, 0, 0, 0}, {13260, 15420, 21760, 0, 0, 0, 0}, {32, 514, 277, 4096, 0, 0, 0}, {4422, 5140, 0, 0, 0, 0, 0}, {21823, 22016, 0, 0, 0, 0, 0}, {768, 64, 5376, 0, 0, 0, 0}, {40, 1285, 4369, 0, 0, 0, 0}, {4418, 5120, 0, 0, 0, 0, 0}, {21887, 17219, 0, 0, 0, 0, 0}, {3840, 8704, 4420, 0, 0, 0, 0}, {783, 32, 64, 1285, 4112, 0, 0}, {1290, 32, 5702, 20480, 0, 0, 0}, {72, 4471, 839, 17408, 0, 0, 0}, {72, 768, 4352, 0, 0, 0, 0}, {32, 4883, 1285, 0, 0, 0, 0}, {1290, 32, 768, 64, 4096, 0, 0}, {3855, 4403, 17476, 0, 0, 0, 0}, {5708, 9472, 21760, 0, 0, 0, 0}, {4381, 4405, 4626, 4437, 1285, 0, 0}, {1290, 1314, 5188, 0, 0, 0, 0}, {783, 5680, 64, 0, 0, 0, 0}, {2560, 13056, 1360, 0, 0, 0, 0}, {8, 819, 64, 1028, 4369, 0, 0}, {8, 4386, 5714, 17408, 0, 0, 0}, {1375, 96, 851, 20480, 0, 0, 0}, {32, 512, 276, 4112, 0, 0, 0}, {13311, 15360, 21845, 0, 0, 0, 0}, {21866, 22102, 0, 0, 0, 0, 0}, {4439, 5120, 0, 0, 0, 0, 0}, {8, 32, 512, 1360, 4352, 0, 0}, {3084, 819, 21845, 0, 0, 0, 0}, {21930, 23130, 13056, 0, 0, 0, 0}, {275, 64, 1028, 4096, 0, 0, 0}, {1548, 1328, 1360, 0, 0, 0, 0}, {8, 5666, 4437, 0, 0, 0, 0}, {8, 4390, 4626, 64, 1028, 0, 0}, {1375, 13824, 20480, 0, 0, 0, 0}, {96, 768, 1280, 0, 0, 0, 0}, {8, 1799, 4369, 0, 0, 0, 0}, {8, 4386, 768, 64, 1024, 0, 0}, {1295, 13107, 20560, 0, 0, 0, 0}, {8, 32, 512, 4420, 1280, 0, 0}, {783, 12336, 21845, 0, 0, 0, 0}, {21930, 3840, 26214, 0, 0, 0, 0}, {263, 64, 1024, 4112, 0, 0, 0}, {8, 32, 64, 256, 0, 0, 0}, {3855, 13107, 21845, 0, 0, 0, 0}, {21866, 768, 0, 0, 0, 0, 0}, {4371, 5140, 0, 0, 0, 0, 0}, {13164, 1280, 0, 0, 0, 0, 0}, {4626, 4373, 0, 0, 0, 0, 0}, {8, 4454, 1792, 17476, 0, 0, 0}, {1295, 96, 1536, 20560, 0, 0, 0}, {6400, 5744, 21760, 0, 0, 0, 0}, {1309, 1333, 1542, 1365, 4369, 0, 0}, {4362, 4386, 5200, 0, 0, 0, 0}, {5644, 819, 64, 0, 0, 0, 0}, {4364, 4656, 4420, 0, 0, 0, 0}, {5642, 32, 1365, 0, 0, 0, 0}, {1306, 32, 1542, 64, 4112, 0, 0}, {7680, 4471, 17408, 0, 0, 0, 0}, {136, 3960, 4352, 0, 0, 0, 0}, {32, 787, 64, 1301, 4096, 0, 0}, {1370, 32, 4864, 20560, 0, 0, 0}, {72, 4403, 4608, 17476, 0, 0, 0}, {828, 12336, 64, 5376, 0, 0, 0}, {40, 8738, 4437, 5120, 0, 0, 0}, {4358, 5140, 0, 0, 0, 0, 0}, {21887, 5632, 0, 0, 0, 0, 0}, {128, 5632, 21760, 0, 0, 0, 0}, {72, 96, 771, 1285, 4369, 0, 0}, {4362, 4386, 5120, 0, 0, 0, 0}, {5439, 771, 64, 0, 0, 0, 0}, {4364, 4608, 4420, 0, 0, 0, 0}, {4959, 32, 1285, 0, 0, 0, 0}, {1290, 32, 1542, 64, 4096, 0, 0}, {3855, 4471, 17408, 0, 0, 0, 0}, {136, 3840, 4352, 0, 0, 0, 0}, {32, 771, 64, 1285, 4112, 0, 0}, {1290, 32, 4864, 20480, 0, 0, 0}, {72, 4403, 771, 17476, 0, 0, 0}, {780, 12288, 64, 5376, 0, 0, 0}, {40, 8738, 4437, 1285, 0, 0, 0}, {4358, 5188, 0, 0, 0, 0, 0}, {17167, 5744, 0, 0, 0, 0, 0}, {1328, 1536, 1360, 0, 0, 0, 0}, {8, 1911, 4369, 0, 0, 0, 0}, {8, 4386, 4626, 64, 1024, 0, 0}, {1375, 13107, 20480, 0, 0, 0, 0}, {8, 32, 512, 4420, 5140, 0, 0}, {831, 12288, 21845, 0, 0, 0, 0}, {21930, 23130, 26214, 0, 0, 0, 0}, {279, 64, 1024, 4096, 0, 0, 0}, {8, 512, 1024, 272, 0, 0, 0}, {4095, 13107, 21845, 0, 0, 0, 0}, {22106, 816, 0, 0, 0, 0, 0}, {4371, 5188, 0, 0, 0, 0, 0}, {13884, 1360, 0, 0, 0, 0, 0}, {4642, 4373, 0, 0, 0, 0, 0}, {8, 4454, 5654, 17476, 0, 0, 0}, {1375, 96, 1536, 20480, 0, 0, 0}, {160, 13056, 1280, 0, 0, 0, 0}, {8, 771, 64, 1028, 4369, 0, 0}, {8, 4386, 1792, 17408, 0, 0, 0}, {1295, 96, 771, 20560, 0, 0, 0}, {32, 512, 260, 4096, 0, 0, 0}, {13311, 3855, 21845, 0, 0, 0, 0}, {780, 22118, 0, 0, 0, 0, 0}, {1287, 5200, 0, 0, 0, 0, 0}, {8, 32, 512, 1280, 4352, 0, 0}, {192, 771, 21845, 0, 0, 0, 0}, {21930, 3840, 13056, 0, 0, 0, 0}, {259, 64, 1028, 4112, 0, 0, 0}, {780, 96, 1280, 0, 0, 0, 0}, {8, 1799, 4437, 0, 0, 0, 0}, {8, 4390, 772, 64, 1028, 0, 0}, {1295, 13904, 20560, 0, 0, 0, 0}, {816, 64, 5376, 0, 0, 0, 0}, {40, 1365, 4369, 0, 0, 0, 0}, {1298, 5200, 0, 0, 0, 0, 0}, {5708, 17203, 0, 0, 0, 0, 0}, {7740, 8704, 4420, 0, 0, 0, 0}, {799, 32, 64, 1301, 4096, 0, 0}, {1370, 32, 5654, 20560, 0, 0, 0}, {72, 4471, 4608, 17408, 0, 0, 0}, {72, 816, 4352, 0, 0, 0, 0}, {32, 4883, 1365, 0, 0, 0, 0}, {1306, 32, 784, 64, 4112, 0, 0}, {7748, 4403, 17476, 0, 0, 0, 0}, {5692, 9584, 21760, 0, 0, 0, 0}, {4381, 4405, 791, 4437, 5120, 0, 0}, {4430, 4454, 5140, 0, 0, 0, 0}, {5439, 5632, 64, 0, 0, 0, 0}, {192, 768, 21760, 0, 0, 0, 0}, {8, 32, 514, 1285, 4369, 0, 0}, {258, 64, 1024, 4096, 0, 0, 0}, {22015, 3855, 13107, 0, 0, 0, 0}, {8, 1792, 4420, 0, 0, 0, 0}, {783, 96, 1285, 0, 0, 0, 0}, {1290, 13926, 20480, 0, 0, 0, 0}, {8, 4407, 775, 64, 1024, 0, 0}, {8, 768, 64, 1024, 4352, 0, 0}, {160, 13107, 1285, 0, 0, 0, 0}, {1290, 96, 768, 20480, 0, 0, 0}, {8, 4403, 1799, 17476, 0, 0, 0}, {13260, 3840, 21760, 0, 0, 0, 0}, {32, 514, 261, 4112, 0, 0, 0}, {1282, 5188, 0, 0, 0, 0, 0}, {783, 22064, 0, 0, 0, 0, 0}, {32, 4864, 1360, 0, 0, 0, 0}, {72, 819, 4369, 0, 0, 0, 0}, {7770, 4386, 17408, 0, 0, 0, 0}, {1311, 32, 787, 64, 4096, 0, 0}, {4364, 4388, 788, 4420, 5140, 0, 0}, {5674, 9557, 21845, 0, 0, 0, 0}, {5418, 5654, 64, 0, 0, 0, 0}, {4447, 4471, 5120, 0, 0, 0, 0}, {40, 1360, 4352, 0, 0, 0, 0}, {819, 64, 5397, 0, 0, 0, 0}, {5722, 17264, 0, 0, 0, 0, 0}, {1303, 5188, 0, 0, 0, 0, 0}, {796, 32, 64, 1296, 4112, 0, 0}, {7714, 8738, 4437, 0, 0, 0, 0}, {72, 4454, 4626, 17476, 0, 0, 0}, {1375, 32, 5632, 20480, 0, 0, 0}, {32, 768, 64, 1280, 4096, 0, 0}, {136, 3855, 4369, 0, 0, 0, 0}, {72, 4386, 768, 17408, 0, 0, 0}, {1295, 32, 4883, 20560, 0, 0, 0}, {40, 8704, 4420, 1280, 0, 0, 0}, {783, 12336, 64, 5397, 0, 0, 0}, {17228, 5734, 0, 0, 0, 0, 0}, {4375, 5200, 0, 0, 0, 0, 0}, {72, 96, 768, 1280, 4352, 0, 0}, {128, 5654, 21845, 0, 0, 0, 0}, {5418, 768, 64, 0, 0, 0, 0}, {4379, 4403, 5140, 0, 0, 0, 0}, {4940, 32, 1280, 0, 0, 0, 0}, {4381, 4626, 4437, 0, 0, 0, 0}, {3840, 4454, 17476, 0, 0, 0, 0}, {1295, 32, 1536, 64, 4112, 0, 0}, {4080, 13056, 21760, 0, 0, 0, 0}, {8, 514, 1028, 273, 0, 0, 0}, {4354, 5200, 0, 0, 0, 0, 0}, {22028, 819, 0, 0, 0, 0, 0}, {4656, 4356, 0, 0, 0, 0, 0}, {13834, 1365, 0, 0, 0, 0, 0}, {1370, 96, 1542, 20560, 0, 0, 0}, {8, 4471, 5632, 17408, 0, 0, 0}, {8, 1904, 4352, 0, 0, 0, 0}, {1333, 1542, 1365, 0, 0, 0, 0}, {1370, 13056, 20560, 0, 0, 0, 0}, {8, 4403, 4608, 64, 1028, 0, 0}, {828, 12336, 21760, 0, 0, 0, 0}, {8, 32, 514, 4437, 5120, 0, 0}, {278, 64, 1028, 4112, 0, 0, 0}, {22015, 23040, 26112, 0, 0, 0, 0}, {27136, 0, 0, 0, 0, 0, 0}, {19, 20, 257, 0, 0, 0, 0}, {8, 32, 514, 16384, 0, 0, 0}, {15, 51, 771, 21760, 0, 0, 0}, {8, 8704, 68, 1028, 0, 0, 0}, {15, 12288, 80, 1285, 0, 0, 0}, {108, 1542, 0, 0, 0, 0, 0}, {7, 5376, 0, 0, 0, 0, 0}, {8, 8704, 16384, 0, 0, 0, 0}, {15, 51, 771, 80, 1285, 0, 0}, {160, 2570, 24576, 0, 0, 0, 0}, {7, 68, 1028, 4352, 0, 0, 0}, {204, 3084, 26112, 0, 0, 0, 0}, {7, 80, 1285, 4096, 0, 0, 0}, {8, 32, 514, 68, 1028, 0, 0}, {15, 12288, 21760, 0, 0, 0, 0}, {2560, 32, 80, 4112, 0, 0, 0}, {3072, 51, 68, 4369, 0, 0, 0}, {120, 4626, 0, 0, 0, 0, 0}, {19, 5376, 0, 0, 0, 0, 0}, {4608, 20, 0, 0, 0, 0, 0}, {127, 5397, 0, 0, 0, 0, 0}, {76, 112, 5654, 16384, 0, 0, 0}, {95, 119, 5911, 21760, 0, 0, 0}, {4632, 4656, 80, 0, 0, 0, 0}, {5401, 51, 5461, 0, 0, 0, 0}, {6682, 112, 16448, 0, 0, 0, 0}, {27, 51, 1536, 68, 4352, 0, 0}, {28, 32, 1536, 80, 4096, 0, 0}, {7453, 119, 21845, 0, 0, 0, 0}, {4638, 4642, 68, 0, 0, 0, 0}, {5407, 32, 5440, 0, 0, 0, 0}, {2560, 32, 16384, 0, 0, 0, 0}, {15, 51, 771, 68, 4369, 0, 0}, {136, 18432, 8738, 0, 0, 0, 0}, {19, 80, 1280, 4112, 0, 0, 0}, {1548, 1572, 68, 0, 0, 0, 0}, {15, 5413, 5461, 0, 0, 0, 0}, {76, 9766, 16448, 0, 0, 0, 0}, {15, 39, 4608, 80, 1280, 0, 0}, {40, 16896, 0, 0, 0, 0, 0}, {67, 5397, 0, 0, 0, 0, 0}, {128, 10794, 16384, 0, 0, 0, 0}, {51, 771, 20, 4352, 0, 0, 0}, {76, 32, 1600, 16448, 0, 0, 0}, {15, 119, 4693, 21845, 0, 0, 0}, {3084, 8738, 68, 0, 0, 0, 0}, {15, 32, 80, 1280, 4096, 0, 0}, {240, 23040, 12336, 0, 0, 0, 0}, {19, 68, 1024, 4369, 0, 0, 0}, {8, 32, 514, 80, 4112, 0, 0}, {3072, 51, 21760, 0, 0, 0, 0}, {8, 52, 4608, 68, 1024, 0, 0}, {95, 13621, 21845, 0, 0, 0, 0}, {1546, 1590, 80, 0, 0, 0, 0}, {8, 5431, 5440, 0, 0, 0, 0}, {8, 112, 4672, 16448, 0, 0, 0}, {95, 51, 1621, 21845, 0, 0, 0}, {2570, 12336, 80, 0, 0, 0, 0}, {8, 51, 68, 1024, 4352, 0, 0}, {60, 22016, 0, 0, 0, 0, 0}, {87, 5397, 0, 0, 0, 0, 0}, {32, 514, 20, 4096, 0, 0, 0}, {255, 16191, 21760, 0, 0, 0, 0}, {128, 10752, 16448, 0, 0, 0, 0}, {51, 768, 20, 4369, 0, 0, 0}, {40, 16962, 0, 0, 0, 0, 0}, {67, 5376, 0, 0, 0, 0, 0}, {3072, 8704, 68, 0, 0, 0, 0}, {15, 32, 80, 1285, 4112, 0, 0}, {76, 32, 1606, 16384, 0, 0, 0}, {15, 119, 4679, 21760, 0, 0, 0}, {136, 18504, 8704, 0, 0, 0, 0}, {19, 80, 1285, 4096, 0, 0, 0}, {2570, 32, 16448, 0, 0, 0, 0}, {15, 51, 768, 68, 4352, 0, 0}, {76, 9728, 16384, 0, 0, 0, 0}, {15, 39, 4626, 80, 1285, 0, 0}, {1546, 1570, 68, 0, 0, 0, 0}, {15, 5424, 5440, 0, 0, 0, 0}, {2560, 12288, 80, 0, 0, 0, 0}, {8, 51, 68, 1028, 4369, 0, 0}, {8, 112, 4690, 16384, 0, 0, 0}, {95, 51, 1619, 21760, 0, 0, 0}, {32, 512, 20, 4112, 0, 0, 0}, {255, 16128, 21845, 0, 0, 0, 0}, {60, 22102, 0, 0, 0, 0, 0}, {87, 5376, 0, 0, 0, 0, 0}, {8, 32, 512, 80, 4096, 0, 0}, {3084, 51, 21845, 0, 0, 0, 0}, {240, 23130, 12288, 0, 0, 0, 0}, {19, 68, 1028, 4352, 0, 0, 0}, {1548, 1584, 80, 0, 0, 0, 0}, {8, 5410, 5461, 0, 0, 0, 0}, {8, 52, 4626, 68, 1028, 0, 0}, {95, 13568, 21760, 0, 0, 0, 0}, {160, 2560, 24672, 0, 0, 0, 0}, {7, 68, 1024, 4369, 0, 0, 0}, {8, 8738, 16448, 0, 0, 0, 0}, {15, 51, 768, 80, 1280, 0, 0}, {8, 32, 512, 68, 1024, 0, 0}, {15, 12336, 21845, 0, 0, 0, 0}, {204, 3072, 26214, 0, 0, 0, 0}, {7, 80, 1280, 4112, 0, 0, 0}, {8, 32, 512, 16448, 0, 0, 0}, {15, 51, 768, 21845, 0, 0, 0}, {27242, 0, 0, 0, 0, 0, 0}, {19, 20, 256, 0, 0, 0, 0}, {108, 1536, 0, 0, 0, 0, 0}, {7, 5397, 0, 0, 0, 0, 0}, {8, 8738, 68, 1024, 0, 0, 0}, {15, 12336, 80, 1280, 0, 0, 0}, {6656, 112, 16384, 0, 0, 0, 0}, {27, 51, 1542, 68, 4369, 0, 0}, {4618, 4642, 80, 0, 0, 0, 0}, {5388, 51, 5440, 0, 0, 0, 0}, {4620, 4656, 68, 0, 0, 0, 0}, {5386, 32, 5461, 0, 0, 0, 0}, {28, 32, 1542, 80, 4112, 0, 0}, {7424, 119, 21760, 0, 0, 0, 0}, {120, 4608, 0, 0, 0, 0, 0}, {19, 5397, 0, 0, 0, 0, 0}, {2570, 32, 80, 4096, 0, 0, 0}, {3084, 51, 68, 4352, 0, 0, 0}, {76, 112, 5632, 16448, 0, 0, 0}, {95, 119, 5888, 21845, 0, 0, 0}, {4626, 20, 0, 0, 0, 0, 0}, {127, 5376, 0, 0, 0, 0, 0}, {128, 10752, 16384, 0, 0, 0, 0}, {51, 771, 20, 4369, 0, 0, 0}, {16906, 16930, 0, 0, 0, 0, 0}, {5379, 5440, 0, 0, 0, 0, 0}, {3084, 8704, 68, 0, 0, 0, 0}, {15, 32, 80, 1285, 4096, 0, 0}, {76, 32, 1542, 16448, 0, 0, 0}, {15, 119, 4608, 21760, 0, 0, 0}, {136, 18432, 8704, 0, 0, 0, 0}, {19, 80, 1285, 4112, 0, 0, 0}, {2570, 32, 16384, 0, 0, 0, 0}, {15, 51, 771, 68, 4352, 0, 0}, {76, 9792, 16448, 0, 0, 0, 0}, {15, 39, 4613, 80, 1285, 0, 0}, {40, 1542, 68, 0, 0, 0, 0}, {15, 112, 5376, 0, 0, 0, 0}, {2560, 12336, 80, 0, 0, 0, 0}, {8, 51, 68, 1024, 4369, 0, 0}, {8, 112, 4626, 16448, 0, 0, 0}, {95, 51, 1536, 21760, 0, 0, 0}, {32, 512, 20, 4096, 0, 0, 0}, {255, 16191, 21845, 0, 0, 0, 0}, {22106, 22118, 0, 0, 0, 0, 0}, {5399, 5440, 0, 0, 0, 0, 0}, {8, 32, 512, 80, 4112, 0, 0}, {3072, 51, 21845, 0, 0, 0, 0}, {240, 23130, 12336, 0, 0, 0, 0}, {19, 68, 1024, 4352, 0, 0, 0}, {60, 1536, 80, 0, 0, 0, 0}, {8, 119, 5397, 0, 0, 0, 0}, {8, 52, 4630, 68, 1024, 0, 0}, {95, 13664, 21760, 0, 0, 0, 0}, {160, 2560, 24576, 0, 0, 0, 0}, {7, 68, 1028, 4369, 0, 0, 0}, {8, 8738, 16384, 0, 0, 0, 0}, {15, 51, 771, 80, 1280, 0, 0}, {8, 32, 512, 68, 1028, 0, 0}, {15, 12288, 21845, 0, 0, 0, 0}, {204, 3084, 26214, 0, 0, 0, 0}, {7, 80, 1280, 4096, 0, 0, 0}, {8, 32, 512, 16384, 0, 0, 0}, {15, 51, 771, 21845, 0, 0, 0}, {27306, 0, 0, 0, 0, 0, 0}, {259, 260, 272, 0, 0, 0, 0}, {1548, 1632, 0, 0, 0, 0, 0}, {7, 5461, 0, 0, 0, 0, 0}, {8, 8738, 68, 1028, 0, 0, 0}, {15, 12288, 80, 1280, 0, 0, 0}, {6720, 112, 16448, 0, 0, 0, 0}, {27, 51, 1553, 68, 4369, 0, 0}, {40, 4626, 80, 0, 0, 0, 0}, {76, 51, 5376, 0, 0, 0, 0}, {60, 4608, 68, 0, 0, 0, 0}, {95, 32, 5397, 0, 0, 0, 0}, {28, 32, 1558, 80, 4096, 0, 0}, {7496, 119, 21760, 0, 0, 0, 0}, {4680, 4656, 0, 0, 0, 0, 0}, {19, 5461, 0, 0, 0, 0, 0}, {2570, 32, 80, 4112, 0, 0, 0}, {3072, 51, 68, 4352, 0, 0, 0}, {76, 112, 5632, 16384, 0, 0, 0}, {95, 119, 5911, 21845, 0, 0, 0}, {4642, 20, 0, 0, 0, 0, 0}, {5439, 5440, 0, 0, 0, 0, 0}, {27328, 0, 0, 0, 0, 0, 0}, {258, 261, 273, 0, 0, 0, 0}, {8, 32, 514, 16448, 0, 0, 0}, {15, 51, 768, 21760, 0, 0, 0}, {8, 8704, 68, 1024, 0, 0, 0}, {15, 12336, 80, 1285, 0, 0, 0}, {1546, 1638, 0, 0, 0, 0, 0}, {7, 5440, 0, 0, 0, 0, 0}, {8, 8704, 16448, 0, 0, 0, 0}, {15, 51, 768, 80, 1285, 0, 0}, {160, 2570, 24672, 0, 0, 0, 0}, {7, 68, 1024, 4352, 0, 0, 0}, {204, 3072, 26112, 0, 0, 0, 0}, {7, 80, 1285, 4112, 0, 0, 0}, {8, 32, 514, 68, 1024, 0, 0}, {15, 12336, 21760, 0, 0, 0, 0}, {2560, 32, 80, 4096, 0, 0, 0}, {3084, 51, 68, 4369, 0, 0, 0}, {4698, 4642, 0, 0, 0, 0, 0}, {19, 5440, 0, 0, 0, 0, 0}, {4656, 20, 0, 0, 0, 0, 0}, {5418, 5461, 0, 0, 0, 0, 0}, {76, 112, 5654, 16448, 0, 0, 0}, {95, 119, 5888, 21760, 0, 0, 0}, {40, 4608, 80, 0, 0, 0, 0}, {76, 51, 5397, 0, 0, 0, 0}, {6746, 112, 16384, 0, 0, 0, 0}, {27, 51, 1559, 68, 4352, 0, 0}, {28, 32, 1552, 80, 4112, 0, 0}, {7509, 119, 21845, 0, 0, 0, 0}, {60, 4626, 68, 0, 0, 0, 0}, {95, 32, 5376, 0, 0, 0, 0}, {2560, 32, 16448, 0, 0, 0, 0}, {15, 51, 768, 68, 4369, 0, 0}, {136, 18504, 8738, 0, 0, 0, 0}, {19, 80, 1280, 4096, 0, 0, 0}, {40, 1536, 68, 0, 0, 0, 0}, {15, 112, 5397, 0, 0, 0, 0}, {76, 9830, 16384, 0, 0, 0, 0}, {15, 39, 4631, 80, 1280, 0, 0}, {16968, 16992, 0, 0, 0, 0, 0}, {5398, 5461, 0, 0, 0, 0, 0}, {128, 10794, 16448, 0, 0, 0, 0}, {51, 768, 20, 4352, 0, 0, 0}, {76, 32, 1536, 16384, 0, 0, 0}, {15, 119, 4626, 21845, 0, 0, 0}, {3072, 8738, 68, 0, 0, 0, 0}, {15, 32, 80, 1280, 4112, 0, 0}, {240, 23040, 12288, 0, 0, 0, 0}, {19, 68, 1028, 4369, 0, 0, 0}, {8, 32, 514, 80, 4096, 0, 0}, {3084, 51, 21760, 0, 0, 0, 0}, {8, 52, 4612, 68, 1028, 0, 0}, {95, 13653, 21845, 0, 0, 0, 0}, {60, 1542, 80, 0, 0, 0, 0}, {8, 119, 5376, 0, 0, 0, 0}, {8, 112, 4608, 16384, 0, 0, 0}, {95, 51, 1542, 21845, 0, 0, 0}, {2570, 12288, 80, 0, 0, 0, 0}, {8, 51, 68, 1028, 4352, 0, 0}, {22028, 22064, 0, 0, 0, 0, 0}, {5378, 5461, 0, 0, 0, 0, 0}, {32, 514, 20, 4112, 0, 0, 0}, {255, 16128, 21760, 0, 0, 0, 0}, {4864, 5120, 0, 0, 0, 0, 0}, {106, 257, 0, 0, 0, 0, 0}, {1290, 4386, 514, 21760, 0, 0, 0}, {1036, 4144, 771, 16384, 0, 0, 0}, {780, 12288, 4160, 1028, 0, 0, 0}, {522, 8704, 4437, 1285, 0, 0, 0}, {262, 5376, 0, 0, 0, 0, 0}, {5240, 1799, 0, 0, 0, 0, 0}, {1800, 13056, 20480, 0, 0, 0, 0}, {265, 4403, 771, 4176, 1285, 0, 0}, {1290, 1792, 4352, 0, 0, 0, 0}, {4208, 771, 1028, 0, 0, 0, 0}, {1036, 1792, 4096, 0, 0, 0, 0}, {4471, 514, 1285, 0, 0, 0, 0}, {270, 4128, 514, 4420, 1028, 0, 0}, {1807, 8192, 17408, 0, 0, 0, 0}, {3072, 816, 1088, 4112, 0, 0, 0}, {2560, 546, 1365, 4369, 0, 0, 0}, {274, 5376, 0, 0, 0, 0, 0}, {5228, 4883, 0, 0, 0, 0, 0}, {4972, 5140, 0, 0, 0, 0, 0}, {4608, 277, 0, 0, 0, 0, 0}, {1370, 4454, 5654, 21760, 0, 0, 0}, {1096, 4192, 5911, 16384, 0, 0, 0}, {5144, 816, 4176, 0, 0, 0, 0}, {4889, 4403, 1365, 0, 0, 0, 0}, {282, 1328, 1536, 1088, 4352, 0, 0}, {6939, 1911, 17476, 0, 0, 0, 0}, {7196, 1904, 20560, 0, 0, 0, 0}, {285, 1058, 1536, 1365, 4096, 0, 0}, {5150, 546, 4420, 0, 0, 0, 0}, {4895, 4128, 1088, 0, 0, 0, 0}, {3840, 4896, 17408, 0, 0, 0, 0}, {1295, 289, 771, 1092, 4369, 0, 0}, {4386, 4864, 1280, 0, 0, 0, 0}, {1100, 771, 4112, 0, 0, 0, 0}, {780, 5156, 1092, 0, 0, 0, 0}, {1295, 1829, 4437, 0, 0, 0, 0}, {4364, 294, 4608, 4160, 1280, 0, 0}, {4959, 10023, 20560, 0, 0, 0, 0}, {5160, 17152, 0, 0, 0, 0, 0}, {323, 5397, 0, 0, 0, 0, 0}, {554, 1280, 4352, 0, 0, 0, 0}, {771, 4176, 5140, 0, 0, 0, 0}, {1100, 4128, 1856, 16448, 0, 0, 0}, {1295, 4471, 4949, 21845, 0, 0, 0}, {780, 546, 324, 1280, 4096, 0, 0}, {3855, 8224, 5200, 0, 0, 0, 0}, {4144, 4864, 1024, 0, 0, 0, 0}, {1375, 514, 4369, 0, 0, 0, 0}, {1032, 306, 514, 1360, 4112, 0, 0}, {2048, 4915, 20480, 0, 0, 0, 0}, {4940, 13364, 17476, 0, 0, 0, 0}, {4106, 309, 4608, 4437, 1024, 0, 0}, {522, 5174, 1360, 0, 0, 0, 0}, {1032, 1847, 4160, 0, 0, 0, 0}, {1032, 4208, 4928, 16448, 0, 0, 0}, {1375, 4403, 1877, 21845, 0, 0, 0}, {522, 816, 336, 1024, 4352, 0, 0}, {2056, 13107, 5188, 0, 0, 0, 0}, {5180, 22272, 0, 0, 0, 0, 0}, {343, 5397, 0, 0, 0, 0, 0}, {514, 4420, 5140, 0, 0, 0, 0}, {831, 1024, 4096, 0, 0, 0, 0}, {768, 4160, 5120, 0, 0, 0, 0}, {552, 1285, 4369, 0, 0, 0, 0}, {322, 5376, 0, 0, 0, 0, 0}, {5180, 17219, 0, 0, 0, 0, 0}, {3840, 8192, 5188, 0, 0, 0, 0}, {783, 544, 325, 1285, 4112, 0, 0}, {1290, 4454, 4934, 21760, 0, 0, 0}, {1096, 4144, 1863, 16384, 0, 0, 0}, {1096, 768, 4096, 0, 0, 0, 0}, {4403, 4883, 1285, 0, 0, 0, 0}, {1290, 288, 768, 1088, 4352, 0, 0}, {3855, 4915, 17476, 0, 0, 0, 0}, {4940, 9984, 20480, 0, 0, 0, 0}, {4381, 295, 4626, 4176, 1285, 0, 0}, {1290, 1826, 4420, 0, 0, 0, 0}, {783, 5168, 1088, 0, 0, 0, 0}, {2048, 13056, 5200, 0, 0, 0, 0}, {520, 819, 337, 1028, 4369, 0, 0}, {1370, 4386, 1874, 21760, 0, 0, 0}, {1036, 4192, 4947, 16384, 0, 0, 0}, {828, 1028, 4112, 0, 0, 0, 0}, {512, 4437, 5120, 0, 0, 0, 0}, {342, 5376, 0, 0, 0, 0, 0}, {5160, 22359, 0, 0, 0, 0, 0}, {2056, 4896, 20560, 0, 0, 0, 0}, {1036, 307, 512, 1365, 4096, 0, 0}, {1370, 512, 4352, 0, 0, 0, 0}, {4128, 4883, 1028, 0, 0, 0, 0}, {1036, 1840, 4176, 0, 0, 0, 0}, {520, 5154, 1365, 0, 0, 0, 0}, {4122, 308, 4626, 4420, 1028, 0, 0}, {4959, 13312, 17408, 0, 0, 0, 0}, {4192, 768, 1024, 0, 0, 0, 0}, {1295, 1799, 4369, 0, 0, 0, 0}, {264, 4386, 768, 4160, 1280, 0, 0}, {1807, 13107, 20560, 0, 0, 0, 0}, {1800, 8224, 17476, 0, 0, 0, 0}, {271, 4144, 512, 4437, 1024, 0, 0}, {4454, 512, 1280, 0, 0, 0, 0}, {1032, 1799, 4112, 0, 0, 0, 0}, {1032, 4128, 768, 16448, 0, 0, 0}, {1295, 4403, 512, 21845, 0, 0, 0}, {106, 256, 0, 0, 0, 0, 0}, {4883, 5140, 0, 0, 0, 0, 0}, {5228, 1792, 0, 0, 0, 0, 0}, {263, 5397, 0, 0, 0, 0, 0}, {520, 8738, 4420, 1280, 0, 0, 0}, {783, 12336, 4176, 1024, 0, 0, 0}, {6912, 1904, 17408, 0, 0, 0, 0}, {283, 1333, 1542, 1092, 4369, 0, 0}, {4874, 4386, 1360, 0, 0, 0, 0}, {5132, 819, 4160, 0, 0, 0, 0}, {4876, 4144, 1092, 0, 0, 0, 0}, {5130, 544, 4437, 0, 0, 0, 0}, {284, 1062, 1542, 1360, 4112, 0, 0}, {7168, 1911, 20480, 0, 0, 0, 0}, {5240, 4864, 0, 0, 0, 0, 0}, {275, 5397, 0, 0, 0, 0, 0}, {2570, 544, 1360, 4352, 0, 0, 0}, {3084, 819, 1092, 4096, 0, 0, 0}, {1100, 4208, 5888, 16448, 0, 0, 0}, {1375, 4471, 5632, 21845, 0, 0, 0}, {4626, 276, 0, 0, 0, 0, 0}, {4991, 5120, 0, 0, 0, 0, 0}, {4992, 13056, 5120, 0, 0, 0, 0}, {299, 771, 321, 1285, 4369, 0, 0}, {1290, 4386, 5632, 21760, 0, 0, 0}, {1100, 4208, 771, 16448, 0, 0, 0}, {780, 1092, 4096, 0, 0, 0, 0}, {544, 4437, 1285, 0, 0, 0, 0}, {5126, 5440, 0, 0, 0, 0, 0}, {17167, 22391, 0, 0, 0, 0, 0}, {5256, 4864, 20480, 0, 0, 0, 0}, {329, 291, 771, 1285, 4112, 0, 0}, {1290, 544, 4352, 0, 0, 0, 0}, {4144, 771, 1092, 0, 0, 0, 0}, {5132, 5888, 4160, 0, 0, 0, 0}, {4959, 4471, 1285, 0, 0, 0, 0}, {4106, 292, 4870, 4420, 5376, 0, 0}, {4991, 13424, 17408, 0, 0, 0, 0}, {816, 4176, 1024, 0, 0, 0, 0}, {520, 1365, 4369, 0, 0, 0, 0}, {5138, 5440, 0, 0, 0, 0, 0}, {22367, 17203, 0, 0, 0, 0, 0}, {5100, 8224, 5140, 0, 0, 0, 0}, {319, 512, 341, 1024, 4096, 0, 0}, {1370, 4454, 512, 21760, 0, 0, 0}, {1032, 4128, 5911, 16448, 0, 0, 0}, {1032, 816, 4112, 0, 0, 0, 0}, {4403, 512, 1365, 0, 0, 0, 0}, {346, 304, 512, 1024, 4352, 0, 0}, {5348, 4883, 17476, 0, 0, 0, 0}, {4972, 10064, 20560, 0, 0, 0, 0}, {4381, 311, 4885, 4160, 5397, 0, 0}, {5150, 5654, 4420, 0, 0, 0, 0}, {4959, 4192, 1024, 0, 0, 0, 0}, {5280, 1792, 17408, 0, 0, 0, 0}, {267, 353, 771, 1028, 4369, 0, 0}, {520, 4386, 1280, 0, 0, 0, 0}, {1036, 771, 4176, 0, 0, 0, 0}, {780, 4128, 1028, 0, 0, 0, 0}, {1295, 512, 4437, 0, 0, 0, 0}, {268, 358, 512, 1280, 4096, 0, 0}, {5336, 1799, 20560, 0, 0, 0, 0}, {1800, 4896, 0, 0, 0, 0, 0}, {259, 5461, 0, 0, 0, 0, 0}, {170, 512, 1280, 4352, 0, 0, 0}, {192, 771, 1028, 4112, 0, 0, 0}, {1036, 4192, 1792, 16384, 0, 0, 0}, {1295, 4471, 1799, 21845, 0, 0, 0}, {4642, 260, 0, 0, 0, 0, 0}, {1807, 5200, 0, 0, 0, 0, 0}, {5168, 5888, 1088, 0, 0, 0, 0}, {1375, 1911, 4369, 0, 0, 0, 0}, {280, 4386, 4626, 4176, 5376, 0, 0}, {1919, 13107, 20480, 0, 0, 0, 0}, {1912, 8192, 17476, 0, 0, 0, 0}, {287, 4128, 4608, 4437, 5397, 0, 0}, {5174, 5654, 1360, 0, 0, 0, 0}, {1096, 1911, 4096, 0, 0, 0, 0}, {1096, 4144, 4864, 16384, 0, 0, 0}, {1375, 4403, 4883, 21845, 0, 0, 0}, {1546, 272, 0, 0, 0, 0, 0}, {4915, 5188, 0, 0, 0, 0, 0}, {4940, 1904, 0, 0, 0, 0, 0}, {279, 5461, 0, 0, 0, 0, 0}, {552, 8738, 4420, 5140, 0, 0, 0}, {831, 12288, 4160, 5120, 0, 0, 0}, {192, 768, 1024, 4096, 0, 0, 0}, {170, 514, 1285, 4369, 0, 0, 0}, {258, 5440, 0, 0, 0, 0, 0}, {1807, 4915, 0, 0, 0, 0, 0}, {1800, 5188, 0, 0, 0, 0, 0}, {4656, 261, 0, 0, 0, 0, 0}, {1290, 4454, 1792, 21760, 0, 0, 0}, {1032, 4208, 1799, 16448, 0, 0, 0}, {1032, 768, 4160, 0, 0, 0, 0}, {522, 4403, 1285, 0, 0, 0, 0}, {266, 352, 768, 1024, 4352, 0, 0}, {5300, 1799, 17476, 0, 0, 0, 0}, {5324, 1792, 20480, 0, 0, 0, 0}, {269, 359, 514, 1285, 4112, 0, 0}, {1290, 514, 4420, 0, 0, 0, 0}, {783, 4144, 1024, 0, 0, 0, 0}, {4896, 5200, 0, 0, 0, 0, 0}, {1548, 273, 0, 0, 0, 0, 0}, {1370, 4386, 4864, 21760, 0, 0, 0}, {1100, 4128, 4883, 16448, 0, 0, 0}, {828, 12336, 4176, 5140, 0, 0, 0}, {554, 8704, 4437, 5120, 0, 0, 0}, {278, 5440, 0, 0, 0, 0, 0}, {4959, 1911, 0, 0, 0, 0, 0}, {1912, 13056, 20560, 0, 0, 0, 0}, {281, 4403, 4608, 4160, 5397, 0, 0}, {1370, 1904, 4352, 0, 0, 0, 0}, {5156, 5911, 1092, 0, 0, 0, 0}, {1100, 1904, 4112, 0, 0, 0, 0}, {5154, 5632, 1365, 0, 0, 0, 0}, {286, 4144, 4626, 4420, 5376, 0, 0}, {1919, 8224, 17408, 0, 0, 0, 0}, {4128, 768, 1088, 0, 0, 0, 0}, {1295, 546, 4369, 0, 0, 0, 0}, {328, 290, 768, 1280, 4096, 0, 0}, {5276, 4883, 20560, 0, 0, 0, 0}, {4972, 13380, 17476, 0, 0, 0, 0}, {4122, 293, 4885, 4437, 5397, 0, 0}, {4940, 4454, 1280, 0, 0, 0, 0}, {5144, 5911, 4176, 0, 0, 0, 0}, {1096, 4192, 768, 16384, 0, 0, 0}, {1295, 4403, 5654, 21845, 0, 0, 0}, {298, 768, 320, 1280, 4352, 0, 0}, {5011, 13107, 5140, 0, 0, 0, 0}, {17228, 22304, 0, 0, 0, 0, 0}, {5138, 5461, 0, 0, 0, 0, 0}, {546, 4420, 1280, 0, 0, 0, 0}, {783, 1088, 4112, 0, 0, 0, 0}, {5360, 4864, 17408, 0, 0, 0, 0}, {347, 305, 514, 1028, 4369, 0, 0}, {4386, 514, 1360, 0, 0, 0, 0}, {1036, 819, 4096, 0, 0, 0, 0}, {4940, 4208, 1028, 0, 0, 0, 0}, {5130, 5632, 4437, 0, 0, 0, 0}, {4364, 310, 4870, 4176, 5376, 0, 0}, {4991, 10103, 20480, 0, 0, 0, 0}, {22280, 17264, 0, 0, 0, 0, 0}, {5126, 5461, 0, 0, 0, 0, 0}, {522, 1360, 4352, 0, 0, 0, 0}, {819, 4160, 1028, 0, 0, 0, 0}, {1036, 4144, 5888, 16384, 0, 0, 0}, {1375, 4471, 514, 21845, 0, 0, 0}, {318, 514, 340, 1028, 4112, 0, 0}, {5119, 8192, 5120, 0, 0, 0, 0}, {27648, 0, 0, 0, 0, 0, 0}, {18, 21, 257, 0, 0, 0, 0}, {8, 34, 514, 17408, 0, 0, 0}, {15, 48, 771, 20480, 0, 0, 0}, {8, 8192, 64, 1028, 0, 0, 0}, {15, 13056, 85, 1285, 0, 0, 0}, {106, 1542, 0, 0, 0, 0, 0}, {7, 5120, 0, 0, 0, 0, 0}, {8, 8192, 17408, 0, 0, 0, 0}, {15, 48, 771, 85, 1285, 0, 0}, {170, 2570, 26112, 0, 0, 0, 0}, {7, 64, 1028, 4096, 0, 0, 0}, {192, 3084, 24576, 0, 0, 0, 0}, {7, 85, 1285, 4352, 0, 0, 0}, {8, 34, 514, 64, 1028, 0, 0}, {15, 13056, 20480, 0, 0, 0, 0}, {3072, 48, 64, 4112, 0, 0, 0}, {2560, 34, 85, 4369, 0, 0, 0}, {18, 5120, 0, 0, 0, 0, 0}, {127, 4883, 0, 0, 0, 0, 0}, {120, 5140, 0, 0, 0, 0, 0}, {4864, 21, 0, 0, 0, 0, 0}, {90, 112, 5654, 20480, 0, 0, 0}, {72, 119, 5911, 17408, 0, 0, 0}, {5144, 48, 5200, 0, 0, 0, 0}, {4889, 4915, 85, 0, 0, 0, 0}, {26, 48, 1536, 64, 4096, 0, 0}, {6939, 119, 17476, 0, 0, 0, 0}, {7196, 112, 20560, 0, 0, 0, 0}, {29, 34, 1536, 85, 4352, 0, 0}, {5150, 34, 5188, 0, 0, 0, 0}, {4895, 4896, 64, 0, 0, 0, 0}, {128, 19456, 8224, 0, 0, 0, 0}, {18, 85, 1280, 4369, 0, 0, 0}, {2560, 34, 17408, 0, 0, 0, 0}, {15, 48, 771, 64, 4112, 0, 0}, {72, 9252, 17476, 0, 0, 0, 0}, {15, 37, 4864, 85, 1280, 0, 0}, {1548, 1574, 64, 0, 0, 0, 0}, {15, 5159, 5200, 0, 0, 0, 0}, {136, 10280, 17408, 0, 0, 0, 0}, {48, 771, 21, 4096, 0, 0, 0}, {42, 17920, 0, 0, 0, 0, 0}, {71, 5140, 0, 0, 0, 0, 0}, {3084, 8224, 64, 0, 0, 0, 0}, {15, 34, 85, 1280, 4352, 0, 0}, {72, 34, 1604, 17476, 0, 0, 0}, {15, 112, 4944, 20560, 0, 0, 0}, {3072, 48, 20480, 0, 0, 0, 0}, {8, 34, 514, 85, 4369, 0, 0}, {18, 64, 1024, 4112, 0, 0, 0}, {255, 24320, 13107, 0, 0, 0, 0}, {8, 5172, 5188, 0, 0, 0, 0}, {1546, 1589, 85, 0, 0, 0, 0}, {90, 13878, 20560, 0, 0, 0, 0}, {8, 55, 4864, 64, 1024, 0, 0}, {8, 48, 64, 1024, 4096, 0, 0}, {2570, 13107, 85, 0, 0, 0, 0}, {90, 48, 1616, 20560, 0, 0, 0}, {8, 119, 4932, 17476, 0, 0, 0}, {240, 15420, 20480, 0, 0, 0, 0}, {34, 514, 21, 4352, 0, 0, 0}, {82, 5140, 0, 0, 0, 0, 0}, {63, 21248, 0, 0, 0, 0, 0}, {3072, 8192, 64, 0, 0, 0, 0}, {15, 34, 85, 1285, 4369, 0, 0}, {72, 34, 1602, 17408, 0, 0, 0}, {15, 112, 4931, 20480, 0, 0, 0}, {136, 10240, 17476, 0, 0, 0, 0}, {48, 768, 21, 4112, 0, 0, 0}, {42, 17990, 0, 0, 0, 0, 0}, {71, 5120, 0, 0, 0, 0, 0}, {72, 9216, 17408, 0, 0, 0, 0}, {15, 37, 4883, 85, 1285, 0, 0}, {1546, 1568, 64, 0, 0, 0, 0}, {15, 5171, 5188, 0, 0, 0, 0}, {128, 19532, 8192, 0, 0, 0, 0}, {18, 85, 1285, 4352, 0, 0, 0}, {2570, 34, 17476, 0, 0, 0, 0}, {15, 48, 768, 64, 4096, 0, 0}, {240, 15360, 20560, 0, 0, 0, 0}, {34, 512, 21, 4369, 0, 0, 0}, {82, 5120, 0, 0, 0, 0, 0}, {63, 21331, 0, 0, 0, 0, 0}, {8, 48, 64, 1028, 4112, 0, 0}, {2560, 13056, 85, 0, 0, 0, 0}, {90, 48, 1622, 20480, 0, 0, 0}, {8, 119, 4951, 17408, 0, 0, 0}, {8, 5152, 5200, 0, 0, 0, 0}, {1548, 1587, 85, 0, 0, 0, 0}, {90, 13824, 20480, 0, 0, 0, 0}, {8, 55, 4883, 64, 1028, 0, 0}, {3084, 48, 20560, 0, 0, 0, 0}, {8, 34, 512, 85, 4352, 0, 0}, {18, 64, 1028, 4096, 0, 0, 0}, {255, 24415, 13056, 0, 0, 0, 0}, {192, 3072, 24672, 0, 0, 0, 0}, {7, 85, 1280, 4369, 0, 0, 0}, {8, 34, 512, 64, 1024, 0, 0}, {15, 13107, 20560, 0, 0, 0, 0}, {8, 8224, 17476, 0, 0, 0, 0}, {15, 48, 768, 85, 1280, 0, 0}, {170, 2560, 26214, 0, 0, 0, 0}, {7, 64, 1024, 4112, 0, 0, 0}, {8, 8224, 64, 1024, 0, 0, 0}, {15, 13107, 85, 1280, 0, 0, 0}, {106, 1536, 0, 0, 0, 0, 0}, {7, 5140, 0, 0, 0, 0, 0}, {27756, 0, 0, 0, 0, 0, 0}, {18, 21, 256, 0, 0, 0, 0}, {8, 34, 512, 17476, 0, 0, 0}, {15, 48, 768, 20560, 0, 0, 0}, {7168, 112, 20480, 0, 0, 0, 0}, {29, 34, 1542, 85, 4369, 0, 0}, {5130, 34, 5200, 0, 0, 0, 0}, {4876, 4915, 64, 0, 0, 0, 0}, {5132, 48, 5188, 0, 0, 0, 0}, {4874, 4896, 85, 0, 0, 0, 0}, {26, 48, 1542, 64, 4112, 0, 0}, {6912, 119, 17408, 0, 0, 0, 0}, {120, 5120, 0, 0, 0, 0, 0}, {4883, 21, 0, 0, 0, 0, 0}, {90, 112, 5632, 20560, 0, 0, 0}, {72, 119, 5888, 17476, 0, 0, 0}, {3084, 48, 64, 4096, 0, 0, 0}, {2570, 34, 85, 4352, 0, 0, 0}, {18, 5140, 0, 0, 0, 0, 0}, {127, 4864, 0, 0, 0, 0, 0}, {128, 19456, 8192, 0, 0, 0, 0}, {18, 85, 1285, 4369, 0, 0, 0}, {2570, 34, 17408, 0, 0, 0, 0}, {15, 48, 771, 64, 4096, 0, 0}, {72, 9284, 17476, 0, 0, 0, 0}, {15, 37, 4869, 85, 1285, 0, 0}, {42, 1542, 64, 0, 0, 0, 0}, {15, 119, 5120, 0, 0, 0, 0}, {136, 10240, 17408, 0, 0, 0, 0}, {48, 771, 21, 4112, 0, 0, 0}, {17930, 17952, 0, 0, 0, 0, 0}, {5123, 5188, 0, 0, 0, 0, 0}, {3084, 8192, 64, 0, 0, 0, 0}, {15, 34, 85, 1285, 4352, 0, 0}, {72, 34, 1542, 17476, 0, 0, 0}, {15, 112, 4864, 20480, 0, 0, 0}, {3072, 48, 20560, 0, 0, 0, 0}, {8, 34, 512, 85, 4369, 0, 0}, {18, 64, 1024, 4096, 0, 0, 0}, {255, 24415, 13107, 0, 0, 0, 0}, {8, 112, 5140, 0, 0, 0, 0}, {63, 1536, 85, 0, 0, 0, 0}, {90, 13926, 20480, 0, 0, 0, 0}, {8, 55, 4887, 64, 1024, 0, 0}, {8, 48, 64, 1024, 4112, 0, 0}, {2560, 13107, 85, 0, 0, 0, 0}, {90, 48, 1536, 20480, 0, 0, 0}, {8, 119, 4883, 17476, 0, 0, 0}, {240, 15420, 20560, 0, 0, 0, 0}, {34, 512, 21, 4352, 0, 0, 0}, {5142, 5188, 0, 0, 0, 0, 0}, {21343, 21344, 0, 0, 0, 0, 0}, {27808, 0, 0, 0, 0, 0, 0}, {259, 260, 273, 0, 0, 0, 0}, {8, 34, 512, 17408, 0, 0, 0}, {15, 48, 771, 20560, 0, 0, 0}, {8, 8224, 64, 1028, 0, 0, 0}, {15, 13056, 85, 1280, 0, 0, 0}, {1548, 1638, 0, 0, 0, 0, 0}, {7, 5200, 0, 0, 0, 0, 0}, {8, 8224, 17408, 0, 0, 0, 0}, {15, 48, 771, 85, 1280, 0, 0}, {170, 2560, 26112, 0, 0, 0, 0}, {7, 64, 1028, 4112, 0, 0, 0}, {192, 3084, 24672, 0, 0, 0, 0}, {7, 85, 1280, 4352, 0, 0, 0}, {8, 34, 512, 64, 1028, 0, 0}, {15, 13056, 20560, 0, 0, 0, 0}, {3072, 48, 64, 4096, 0, 0, 0}, {2570, 34, 85, 4369, 0, 0, 0}, {18, 5200, 0, 0, 0, 0, 0}, {4940, 4915, 0, 0, 0, 0, 0}, {5180, 5188, 0, 0, 0, 0, 0}, {4896, 21, 0, 0, 0, 0, 0}, {90, 112, 5654, 20560, 0, 0, 0}, {72, 119, 5888, 17408, 0, 0, 0}, {72, 48, 5120, 0, 0, 0, 0}, {42, 4883, 85, 0, 0, 0, 0}, {26, 48, 1552, 64, 4112, 0, 0}, {6980, 119, 17476, 0, 0, 0, 0}, {7244, 112, 20480, 0, 0, 0, 0}, {29, 34, 1559, 85, 4352, 0, 0}, {90, 34, 5140, 0, 0, 0, 0}, {63, 4864, 64, 0, 0, 0, 0}, {192, 3072, 24576, 0, 0, 0, 0}, {7, 85, 1285, 4369, 0, 0, 0}, {8, 34, 514, 64, 1024, 0, 0}, {15, 13107, 20480, 0, 0, 0, 0}, {8, 8192, 17476, 0, 0, 0, 0}, {15, 48, 768, 85, 1285, 0, 0}, {170, 2570, 26214, 0, 0, 0, 0}, {7, 64, 1024, 4096, 0, 0, 0}, {8, 8192, 64, 1024, 0, 0, 0}, {15, 13107, 85, 1285, 0, 0, 0}, {1546, 1632, 0, 0, 0, 0, 0}, {7, 5188, 0, 0, 0, 0, 0}, {27852, 0, 0, 0, 0, 0, 0}, {258, 261, 272, 0, 0, 0, 0}, {8, 34, 514, 17476, 0, 0, 0}, {15, 48, 768, 20480, 0, 0, 0}, {7248, 112, 20560, 0, 0, 0, 0}, {29, 34, 1553, 85, 4369, 0, 0}, {90, 34, 5120, 0, 0, 0, 0}, {63, 4883, 64, 0, 0, 0, 0}, {72, 48, 5140, 0, 0, 0, 0}, {42, 4864, 85, 0, 0, 0, 0}, {26, 48, 1558, 64, 4096, 0, 0}, {7007, 119, 17408, 0, 0, 0, 0}, {5160, 5200, 0, 0, 0, 0, 0}, {4915, 21, 0, 0, 0, 0, 0}, {90, 112, 5632, 20480, 0, 0, 0}, {72, 119, 5911, 17476, 0, 0, 0}, {3084, 48, 64, 4112, 0, 0, 0}, {2560, 34, 85, 4352, 0, 0, 0}, {18, 5188, 0, 0, 0, 0, 0}, {4959, 4896, 0, 0, 0, 0, 0}, {3072, 8224, 64, 0, 0, 0, 0}, {15, 34, 85, 1280, 4369, 0, 0}, {72, 34, 1536, 17408, 0, 0, 0}, {15, 112, 4883, 20560, 0, 0, 0}, {136, 10280, 17476, 0, 0, 0, 0}, {48, 768, 21, 4096, 0, 0, 0}, {17996, 18022, 0, 0, 0, 0, 0}, {5143, 5200, 0, 0, 0, 0, 0}, {72, 9312, 17408, 0, 0, 0, 0}, {15, 37, 4886, 85, 1280, 0, 0}, {42, 1536, 64, 0, 0, 0, 0}, {15, 119, 5140, 0, 0, 0, 0}, {128, 19532, 8224, 0, 0, 0, 0}, {18, 85, 1280, 4352, 0, 0, 0}, {2560, 34, 17476, 0, 0, 0, 0}, {15, 48, 768, 64, 4112, 0, 0}, {240, 15360, 20480, 0, 0, 0, 0}, {34, 514, 21, 4369, 0, 0, 0}, {5122, 5200, 0, 0, 0, 0, 0}, {21260, 21299, 0, 0, 0, 0, 0}, {8, 48, 64, 1028, 4096, 0, 0}, {2570, 13056, 85, 0, 0, 0, 0}, {90, 48, 1542, 20560, 0, 0, 0}, {8, 119, 4864, 17408, 0, 0, 0}, {8, 112, 5120, 0, 0, 0, 0}, {63, 1542, 85, 0, 0, 0, 0}, {90, 13904, 20560, 0, 0, 0, 0}, {8, 55, 4868, 64, 1028, 0, 0}, {3084, 48, 20480, 0, 0, 0, 0}, {8, 34, 514, 85, 4352, 0, 0}, {18, 64, 1028, 4112, 0, 0, 0}, {255, 24320, 13056, 0, 0, 0, 0}, {4608, 5376, 0, 0, 0, 0, 0}, {108, 257, 0, 0, 0, 0, 0}, {1290, 4128, 514, 20480, 0, 0, 0}, {1036, 4403, 771, 17408, 0, 0, 0}, {780, 13056, 4420, 1028, 0, 0, 0}, {522, 8192, 4176, 1285, 0, 0, 0}, {262, 5120, 0, 0, 0, 0, 0}, {5503, 1799, 0, 0, 0, 0, 0}, {1800, 12288, 21760, 0, 0, 0, 0}, {265, 4144, 771, 4437, 1285, 0, 0}, {1290, 1792, 4096, 0, 0, 0, 0}, {4471, 771, 1028, 0, 0, 0, 0}, {1036, 1792, 4352, 0, 0, 0, 0}, {4208, 514, 1285, 0, 0, 0, 0}, {270, 4386, 514, 4160, 1028, 0, 0}, {1807, 8704, 16384, 0, 0, 0, 0}, {2560, 544, 1360, 4112, 0, 0, 0}, {3072, 819, 1092, 4369, 0, 0, 0}, {5482, 4626, 0, 0, 0, 0, 0}, {275, 5120, 0, 0, 0, 0, 0}, {4864, 276, 0, 0, 0, 0, 0}, {4714, 5397, 0, 0, 0, 0, 0}, {1100, 4454, 5654, 17408, 0, 0, 0}, {1375, 4192, 5911, 20480, 0, 0, 0}, {4632, 4144, 1360, 0, 0, 0, 0}, {5401, 819, 4437, 0, 0, 0, 0}, {6682, 1904, 16448, 0, 0, 0, 0}, {283, 1331, 1536, 1092, 4096, 0, 0}, {284, 1056, 1536, 1360, 4352, 0, 0}, {7453, 1911, 21845, 0, 0, 0, 0}, {4638, 4386, 1092, 0, 0, 0, 0}, {5407, 544, 4160, 0, 0, 0, 0}, {4128, 4608, 1280, 0, 0, 0, 0}, {1096, 771, 4369, 0, 0, 0, 0}, {3840, 4642, 16384, 0, 0, 0, 0}, {1295, 291, 771, 1088, 4112, 0, 0}, {4108, 292, 4864, 4420, 1280, 0, 0}, {4698, 9509, 21845, 0, 0, 0, 0}, {780, 5414, 1088, 0, 0, 0, 0}, {1295, 1831, 4176, 0, 0, 0, 0}, {552, 1280, 4096, 0, 0, 0, 0}, {771, 4437, 5397, 0, 0, 0, 0}, {5418, 18176, 0, 0, 0, 0, 0}, {327, 5140, 0, 0, 0, 0, 0}, {780, 544, 320, 1280, 4352, 0, 0}, {3855, 8738, 5461, 0, 0, 0, 0}, {1096, 4386, 1860, 17476, 0, 0, 0}, {1295, 4208, 4688, 20560, 0, 0, 0}, {2048, 4656, 21760, 0, 0, 0, 0}, {1032, 305, 514, 1365, 4369, 0, 0}, {1370, 514, 4112, 0, 0, 0, 0}, {4403, 4608, 1024, 0, 0, 0, 0}, {1032, 1844, 4420, 0, 0, 0, 0}, {522, 5429, 1365, 0, 0, 0, 0}, {4362, 310, 4864, 4176, 1024, 0, 0}, {4680, 14135, 16448, 0, 0, 0, 0}, {2056, 12336, 5440, 0, 0, 0, 0}, {522, 819, 341, 1024, 4096, 0, 0}, {1370, 4144, 1872, 20560, 0, 0, 0}, {1032, 4471, 4676, 17476, 0, 0, 0}, {828, 1024, 4352, 0, 0, 0, 0}, {514, 4160, 5397, 0, 0, 0, 0}, {338, 5140, 0, 0, 0, 0, 0}, {5439, 20992, 0, 0, 0, 0, 0}, {3840, 8704, 5440, 0, 0, 0, 0}, {783, 546, 321, 1285, 4369, 0, 0}, {1290, 4192, 4674, 20480, 0, 0, 0}, {1100, 4403, 1859, 17408, 0, 0, 0}, {768, 4420, 5376, 0, 0, 0, 0}, {554, 1285, 4112, 0, 0, 0, 0}, {326, 5120, 0, 0, 0, 0, 0}, {5439, 18247, 0, 0, 0, 0, 0}, {4680, 9472, 21760, 0, 0, 0, 0}, {4124, 293, 4883, 4437, 1285, 0, 0}, {1290, 1824, 4160, 0, 0, 0, 0}, {783, 5427, 1092, 0, 0, 0, 0}, {1100, 768, 4352, 0, 0, 0, 0}, {4144, 4626, 1285, 0, 0, 0, 0}, {1290, 290, 768, 1092, 4096, 0, 0}, {3855, 4656, 16448, 0, 0, 0, 0}, {512, 4176, 5376, 0, 0, 0, 0}, {831, 1028, 4369, 0, 0, 0, 0}, {5418, 21074, 0, 0, 0, 0, 0}, {339, 5120, 0, 0, 0, 0, 0}, {520, 816, 340, 1028, 4112, 0, 0}, {2048, 12288, 5461, 0, 0, 0, 0}, {1036, 4454, 4694, 17408, 0, 0, 0}, {1375, 4128, 1879, 20480, 0, 0, 0}, {520, 5408, 1360, 0, 0, 0, 0}, {1036, 1843, 4437, 0, 0, 0, 0}, {4698, 14080, 16384, 0, 0, 0, 0}, {4379, 311, 4883, 4160, 1028, 0, 0}, {1036, 304, 512, 1360, 4352, 0, 0}, {2056, 4642, 21845, 0, 0, 0, 0}, {4386, 4626, 1028, 0, 0, 0, 0}, {1375, 512, 4096, 0, 0, 0, 0}, {4192, 512, 1280, 0, 0, 0, 0}, {1032, 1799, 4369, 0, 0, 0, 0}, {1800, 8738, 16448, 0, 0, 0, 0}, {271, 4403, 512, 4176, 1024, 0, 0}, {264, 4128, 768, 4420, 1280, 0, 0}, {1807, 12336, 21845, 0, 0, 0, 0}, {4454, 768, 1024, 0, 0, 0, 0}, {1295, 1799, 4112, 0, 0, 0, 0}, {520, 8224, 4160, 1280, 0, 0, 0}, {783, 13107, 4437, 1024, 0, 0, 0}, {5482, 1792, 0, 0, 0, 0, 0}, {263, 5140, 0, 0, 0, 0, 0}, {108, 256, 0, 0, 0, 0, 0}, {4626, 5397, 0, 0, 0, 0, 0}, {1032, 4386, 768, 17476, 0, 0, 0}, {1295, 4144, 512, 20560, 0, 0, 0}, {7424, 1904, 21760, 0, 0, 0, 0}, {285, 1060, 1542, 1365, 4369, 0, 0}, {5386, 546, 4176, 0, 0, 0, 0}, {4620, 4403, 1088, 0, 0, 0, 0}, {5388, 816, 4420, 0, 0, 0, 0}, {4618, 4128, 1365, 0, 0, 0, 0}, {282, 1334, 1542, 1088, 4112, 0, 0}, {6656, 1911, 16384, 0, 0, 0, 0}, {4728, 5376, 0, 0, 0, 0, 0}, {4883, 277, 0, 0, 0, 0, 0}, {1370, 4208, 5888, 20560, 0, 0, 0}, {1096, 4471, 5632, 17476, 0, 0, 0}, {3084, 816, 1088, 4352, 0, 0, 0}, {2570, 546, 1365, 4096, 0, 0, 0}, {274, 5140, 0, 0, 0, 0, 0}, {5503, 4608, 0, 0, 0, 0, 0}, {5504, 4608, 21760, 0, 0, 0, 0}, {333, 289, 771, 1285, 4369, 0, 0}, {1290, 546, 4096, 0, 0, 0, 0}, {4403, 771, 1088, 0, 0, 0, 0}, {5388, 5632, 4420, 0, 0, 0, 0}, {4698, 4208, 1285, 0, 0, 0, 0}, {4362, 294, 4614, 4160, 5120, 0, 0}, {4728, 14199, 16384, 0, 0, 0, 0}, {4744, 12288, 5376, 0, 0, 0, 0}, {297, 771, 325, 1285, 4112, 0, 0}, {1290, 4128, 5888, 20480, 0, 0, 0}, {1096, 4471, 771, 17476, 0, 0, 0}, {780, 1088, 4352, 0, 0, 0, 0}, {546, 4176, 1285, 0, 0, 0, 0}, {5382, 5188, 0, 0, 0, 0, 0}, {18191, 21104, 0, 0, 0, 0, 0}, {4144, 512, 1360, 0, 0, 0, 0}, {1032, 819, 4369, 0, 0, 0, 0}, {5610, 4626, 16448, 0, 0, 0, 0}, {351, 307, 512, 1024, 4096, 0, 0}, {4124, 308, 4628, 4420, 5140, 0, 0}, {4714, 9557, 21845, 0, 0, 0, 0}, {4698, 4454, 1024, 0, 0, 0, 0}, {5407, 5911, 4160, 0, 0, 0, 0}, {520, 1360, 4112, 0, 0, 0, 0}, {819, 4437, 1024, 0, 0, 0, 0}, {21082, 18224, 0, 0, 0, 0, 0}, {5395, 5188, 0, 0, 0, 0, 0}, {316, 512, 336, 1024, 4352, 0, 0}, {4834, 8738, 5397, 0, 0, 0, 0}, {1032, 4386, 5654, 17476, 0, 0, 0}, {1375, 4192, 512, 20480, 0, 0, 0}, {160, 512, 1280, 4096, 0, 0, 0}, {204, 771, 1028, 4369, 0, 0, 0}, {1800, 4642, 0, 0, 0, 0, 0}, {259, 5200, 0, 0, 0, 0, 0}, {4896, 260, 0, 0, 0, 0, 0}, {1807, 5461, 0, 0, 0, 0, 0}, {1036, 4454, 1792, 17408, 0, 0, 0}, {1295, 4208, 1799, 20560, 0, 0, 0}, {520, 4128, 1280, 0, 0, 0, 0}, {1036, 771, 4437, 0, 0, 0, 0}, {5546, 1792, 16384, 0, 0, 0, 0}, {267, 359, 771, 1028, 4112, 0, 0}, {268, 352, 512, 1280, 4352, 0, 0}, {5589, 1799, 21845, 0, 0, 0, 0}, {780, 4386, 1028, 0, 0, 0, 0}, {1295, 512, 4176, 0, 0, 0, 0}, {4656, 5440, 0, 0, 0, 0, 0}, {1546, 273, 0, 0, 0, 0, 0}, {1370, 4144, 4626, 20560, 0, 0, 0}, {1100, 4403, 4608, 17408, 0, 0, 0}, {828, 13056, 4420, 5376, 0, 0, 0}, {554, 8224, 4160, 5397, 0, 0, 0}, {278, 5200, 0, 0, 0, 0, 0}, {4680, 1911, 0, 0, 0, 0, 0}, {1912, 12336, 21760, 0, 0, 0, 0}, {281, 4128, 4883, 4437, 5120, 0, 0}, {1370, 1904, 4112, 0, 0, 0, 0}, {5427, 5632, 1092, 0, 0, 0, 0}, {1100, 1904, 4352, 0, 0, 0, 0}, {5429, 5911, 1365, 0, 0, 0, 0}, {286, 4386, 4864, 4176, 5140, 0, 0}, {1919, 8704, 16448, 0, 0, 0, 0}, {5568, 1792, 21760, 0, 0, 0, 0}, {269, 353, 514, 1285, 4369, 0, 0}, {1290, 514, 4160, 0, 0, 0, 0}, {783, 4403, 1024, 0, 0, 0, 0}, {1032, 768, 4420, 0, 0, 0, 0}, {522, 4144, 1285, 0, 0, 0, 0}, {266, 358, 768, 1024, 4096, 0, 0}, {5567, 1799, 16448, 0, 0, 0, 0}, {1800, 5440, 0, 0, 0, 0, 0}, {4915, 261, 0, 0, 0, 0, 0}, {1290, 4192, 1792, 20480, 0, 0, 0}, {1032, 4471, 1799, 17476, 0, 0, 0}, {204, 768, 1024, 4352, 0, 0, 0}, {160, 514, 1285, 4112, 0, 0, 0}, {258, 5188, 0, 0, 0, 0, 0}, {1807, 4656, 0, 0, 0, 0, 0}, {5408, 5888, 1360, 0, 0, 0, 0}, {1096, 1911, 4369, 0, 0, 0, 0}, {1912, 8738, 16384, 0, 0, 0, 0}, {287, 4403, 4883, 4160, 5120, 0, 0}, {280, 4144, 4864, 4420, 5140, 0, 0}, {1919, 12288, 21845, 0, 0, 0, 0}, {5414, 5654, 1088, 0, 0, 0, 0}, {1375, 1911, 4096, 0, 0, 0, 0}, {552, 8192, 4176, 5376, 0, 0, 0}, {831, 13107, 4437, 5397, 0, 0, 0}, {4698, 1904, 0, 0, 0, 0, 0}, {279, 5188, 0, 0, 0, 0, 0}, {1548, 272, 0, 0, 0, 0, 0}, {4642, 5461, 0, 0, 0, 0, 0}, {1096, 4386, 4626, 17476, 0, 0, 0}, {1375, 4128, 4608, 20480, 0, 0, 0}, {544, 4160, 1280, 0, 0, 0, 0}, {783, 1092, 4369, 0, 0, 0, 0}, {18248, 21026, 0, 0, 0, 0, 0}, {5395, 5200, 0, 0, 0, 0, 0}, {296, 768, 324, 1280, 4096, 0, 0}, {4762, 12336, 5397, 0, 0, 0, 0}, {1100, 4454, 768, 17408, 0, 0, 0}, {1295, 4144, 5911, 20560, 0, 0, 0}, {4680, 4192, 1280, 0, 0, 0, 0}, {5401, 5654, 4437, 0, 0, 0, 0}, {4714, 14144, 16448, 0, 0, 0, 0}, {4379, 295, 4628, 4176, 5140, 0, 0}, {332, 288, 768, 1280, 4352, 0, 0}, {5525, 4626, 21845, 0, 0, 0, 0}, {4386, 768, 1092, 0, 0, 0, 0}, {1295, 544, 4112, 0, 0, 0, 0}, {4848, 8704, 5376, 0, 0, 0, 0}, {317, 514, 337, 1028, 4369, 0, 0}, {1370, 4208, 514, 20560, 0, 0, 0}, {1036, 4403, 5632, 17408, 0, 0, 0}, {816, 4420, 1028, 0, 0, 0, 0}, {522, 1365, 4096, 0, 0, 0, 0}, {5382, 5200, 0, 0, 0, 0, 0}, {21000, 18295, 0, 0, 0, 0, 0}, {4728, 9584, 21760, 0, 0, 0, 0}, {4108, 309, 4614, 4437, 5120, 0, 0}, {5386, 5888, 4176, 0, 0, 0, 0}, {4680, 4471, 1028, 0, 0, 0, 0}, {1036, 816, 4352, 0, 0, 0, 0}, {4128, 514, 1365, 0, 0, 0, 0}, {350, 306, 514, 1028, 4112, 0, 0}, {5631, 4608, 16384, 0, 0, 0, 0}, {2048, 8704, 17408, 0, 0, 0, 0}, {15, 48, 80, 257, 0, 0, 0}, {17448, 514, 0, 0, 0, 0, 0}, {4355, 5376, 0, 0, 0, 0, 0}, {8776, 1028, 0, 0, 0, 0, 0}, {4864, 4357, 0, 0, 0, 0, 0}, {1036, 96, 1542, 16384, 0, 0, 0}, {15, 4471, 1799, 21760, 0, 0, 0}, {17544, 2056, 26112, 0, 0, 0, 0}, {262, 80, 1285, 4096, 0, 0, 0}, {522, 8192, 17408, 0, 0, 0, 0}, {15, 48, 771, 4420, 1028, 0, 0}, {1036, 8704, 16384, 0, 0, 0, 0}, {15, 4386, 514, 80, 1285, 0, 0}, {96, 514, 1028, 0, 0, 0, 0}, {15, 1792, 4352, 0, 0, 0, 0}, {48, 528, 80, 1040, 4112, 0, 0}, {255, 2167, 4369, 0, 0, 0, 0}, {1096, 48, 4626, 16384, 0, 0, 0}, {95, 4403, 4883, 21760, 0, 0, 0}, {552, 8192, 80, 5140, 0, 0, 0}, {63, 13056, 4437, 5397, 0, 0, 0}, {17468, 5654, 0, 0, 0, 0, 0}, {4375, 5376, 0, 0, 0, 0, 0}, {1048, 48, 1536, 80, 4096, 0, 0}, {6425, 4454, 21845, 0, 0, 0, 0}, {5658, 48, 1088, 0, 0, 0, 0}, {4379, 4915, 4420, 0, 0, 0, 0}, {5660, 544, 80, 0, 0, 0, 0}, {4381, 4386, 5461, 0, 0, 0, 0}, {7710, 5734, 17476, 0, 0, 0, 0}, {1055, 1056, 1536, 1088, 4352, 0, 0}, {2560, 544, 17408, 0, 0, 0, 0}, {15, 48, 771, 1092, 4369, 0, 0}, {17544, 19456, 8738, 0, 0, 0, 0}, {275, 80, 1280, 4112, 0, 0, 0}, {1548, 1060, 1092, 0, 0, 0, 0}, {15, 5669, 4437, 0, 0, 0, 0}, {1100, 9766, 16448, 0, 0, 0, 0}, {15, 4391, 4864, 80, 1280, 0, 0}, {17448, 17920, 0, 0, 0, 0, 0}, {4438, 5397, 0, 0, 0, 0, 0}, {8874, 10794, 17408, 0, 0, 0, 0}, {48, 771, 276, 4096, 0, 0, 0}, {1100, 96, 576, 16448, 0, 0, 0}, {15, 4386, 5717, 21845, 0, 0, 0}, {3084, 8738, 1092, 0, 0, 0, 0}, {15, 544, 80, 1280, 4352, 0, 0}, {48, 4608, 1024, 0, 0, 0, 0}, {95, 514, 4369, 0, 0, 0, 0}, {1032, 48, 514, 80, 4112, 0, 0}, {2048, 4403, 21760, 0, 0, 0, 0}, {5708, 13364, 17476, 0, 0, 0, 0}, {4362, 4405, 4864, 4437, 1024, 0, 0}, {522, 5686, 80, 0, 0, 0, 0}, {1032, 1079, 5440, 0, 0, 0, 0}, {1032, 48, 5696, 16448, 0, 0, 0}, {95, 4454, 597, 21845, 0, 0, 0}, {522, 48, 80, 1024, 4096, 0, 0}, {2056, 13107, 4420, 0, 0, 0, 0}, {17468, 20992, 0, 0, 0, 0, 0}, {4418, 5397, 0, 0, 0, 0, 0}, {514, 80, 5140, 0, 0, 0, 0}, {63, 1024, 4352, 0, 0, 0, 0}, {3072, 8704, 1088, 0, 0, 0, 0}, {15, 546, 80, 1285, 4369, 0, 0}, {1096, 96, 578, 16384, 0, 0, 0}, {15, 4403, 5699, 21760, 0, 0, 0}, {8840, 10752, 17476, 0, 0, 0, 0}, {48, 768, 277, 4112, 0, 0, 0}, {17516, 17990, 0, 0, 0, 0, 0}, {4423, 5376, 0, 0, 0, 0, 0}, {1096, 9728, 16384, 0, 0, 0, 0}, {15, 4406, 4883, 80, 1285, 0, 0}, {1546, 1056, 1088, 0, 0, 0, 0}, {15, 5683, 4420, 0, 0, 0, 0}, {17612, 19532, 8704, 0, 0, 0, 0}, {274, 80, 1285, 4096, 0, 0, 0}, {2570, 546, 17476, 0, 0, 0, 0}, {15, 48, 768, 1088, 4352, 0, 0}, {512, 80, 5120, 0, 0, 0, 0}, {63, 1028, 4369, 0, 0, 0, 0}, {17528, 21074, 0, 0, 0, 0, 0}, {4435, 5376, 0, 0, 0, 0, 0}, {520, 48, 80, 1028, 4112, 0, 0}, {2048, 13056, 4437, 0, 0, 0, 0}, {1036, 48, 5718, 16384, 0, 0, 0}, {95, 4471, 599, 21760, 0, 0, 0}, {520, 5664, 80, 0, 0, 0, 0}, {1036, 1075, 5461, 0, 0, 0, 0}, {5722, 13312, 17408, 0, 0, 0, 0}, {4379, 4388, 4883, 4420, 1028, 0, 0}, {1036, 48, 512, 80, 4096, 0, 0}, {2056, 4386, 21845, 0, 0, 0, 0}, {48, 4626, 1028, 0, 0, 0, 0}, {95, 512, 4352, 0, 0, 0, 0}, {96, 512, 1024, 0, 0, 0, 0}, {15, 1799, 4369, 0, 0, 0, 0}, {1032, 8738, 16448, 0, 0, 0, 0}, {15, 4403, 512, 80, 1280, 0, 0}, {520, 8224, 17476, 0, 0, 0, 0}, {15, 48, 768, 4437, 1024, 0, 0}, {17612, 2048, 26214, 0, 0, 0, 0}, {263, 80, 1280, 4112, 0, 0, 0}, {1032, 96, 1536, 16448, 0, 0, 0}, {15, 4454, 1792, 21845, 0, 0, 0}, {8810, 1024, 0, 0, 0, 0, 0}, {4883, 4372, 0, 0, 0, 0, 0}, {17516, 512, 0, 0, 0, 0, 0}, {4370, 5397, 0, 0, 0, 0, 0}, {2056, 8738, 17476, 0, 0, 0, 0}, {15, 48, 80, 256, 0, 0, 0}, {7680, 5744, 17408, 0, 0, 0, 0}, {1051, 1060, 1542, 1092, 4369, 0, 0}, {5642, 546, 80, 0, 0, 0, 0}, {4364, 4403, 5440, 0, 0, 0, 0}, {5644, 48, 1092, 0, 0, 0, 0}, {4362, 4896, 4437, 0, 0, 0, 0}, {1052, 48, 1542, 80, 4112, 0, 0}, {6400, 4471, 21760, 0, 0, 0, 0}, {17528, 5632, 0, 0, 0, 0, 0}, {4358, 5397, 0, 0, 0, 0, 0}, {554, 8224, 80, 5120, 0, 0, 0}, {63, 13107, 4420, 5376, 0, 0, 0}, {1100, 48, 4608, 16448, 0, 0, 0}, {95, 4386, 4864, 21845, 0, 0, 0}, {48, 530, 80, 1044, 4096, 0, 0}, {255, 2175, 4352, 0, 0, 0, 0}, {2176, 8704, 17408, 0, 0, 0, 0}, {15, 771, 1285, 273, 0, 0, 0}, {17930, 546, 0, 0, 0, 0, 0}, {4355, 5440, 0, 0, 0, 0, 0}, {9740, 1092, 0, 0, 0, 0, 0}, {4896, 4357, 0, 0, 0, 0, 0}, {1100, 96, 1542, 16448, 0, 0, 0}, {15, 4471, 5632, 21760, 0, 0, 0}, {17544, 19456, 26112, 0, 0, 0, 0}, {278, 80, 1285, 4112, 0, 0, 0}, {554, 8224, 17408, 0, 0, 0, 0}, {15, 48, 771, 4420, 5376, 0, 0}, {1100, 8704, 16448, 0, 0, 0, 0}, {15, 4386, 4864, 80, 1285, 0, 0}, {1060, 1542, 1092, 0, 0, 0, 0}, {15, 1904, 4352, 0, 0, 0, 0}, {48, 512, 80, 1024, 4096, 0, 0}, {255, 2056, 4369, 0, 0, 0, 0}, {1032, 48, 4626, 16448, 0, 0, 0}, {95, 4403, 512, 21760, 0, 0, 0}, {520, 8224, 80, 5140, 0, 0, 0}, {63, 13056, 4437, 1024, 0, 0, 0}, {21082, 5734, 0, 0, 0, 0, 0}, {4375, 5440, 0, 0, 0, 0, 0}, {1032, 48, 1536, 80, 4112, 0, 0}, {2048, 4454, 21845, 0, 0, 0, 0}, {4698, 48, 1024, 0, 0, 0, 0}, {4379, 4883, 4420, 0, 0, 0, 0}, {5180, 512, 80, 0, 0, 0, 0}, {4381, 4386, 5397, 0, 0, 0, 0}, {240, 5654, 17476, 0, 0, 0, 0}, {95, 96, 512, 1024, 4352, 0, 0}, {160, 512, 17408, 0, 0, 0, 0}, {15, 48, 771, 1028, 4369, 0, 0}, {17544, 2056, 8738, 0, 0, 0, 0}, {259, 80, 1280, 4096, 0, 0, 0}, {520, 96, 1028, 0, 0, 0, 0}, {15, 1792, 4437, 0, 0, 0, 0}, {1036, 9830, 16384, 0, 0, 0, 0}, {15, 4391, 519, 80, 1280, 0, 0}, {520, 17952, 0, 0, 0, 0, 0}, {1027, 5461, 0, 0, 0, 0, 0}, {8874, 2048, 17408, 0, 0, 0, 0}, {48, 771, 260, 4112, 0, 0, 0}, {1036, 96, 512, 16384, 0, 0, 0}, {15, 4386, 1799, 21845, 0, 0, 0}, {192, 8738, 1028, 0, 0, 0, 0}, {15, 512, 80, 1280, 4352, 0, 0}, {48, 4608, 1088, 0, 0, 0, 0}, {95, 546, 4369, 0, 0, 0, 0}, {1048, 48, 530, 80, 4096, 0, 0}, {6476, 4403, 21760, 0, 0, 0, 0}, {5692, 13380, 17476, 0, 0, 0, 0}, {4362, 4405, 533, 4437, 5397, 0, 0}, {5180, 5654, 80, 0, 0, 0, 0}, {4424, 4471, 5376, 0, 0, 0, 0}, {1096, 48, 5632, 16384, 0, 0, 0}, {95, 4454, 4883, 21845, 0, 0, 0}, {538, 48, 80, 1040, 4112, 0, 0}, {6451, 13107, 4420, 0, 0, 0, 0}, {5708, 21104, 0, 0, 0, 0, 0}, {1047, 5461, 0, 0, 0, 0, 0}, {546, 80, 5140, 0, 0, 0, 0}, {63, 1088, 4352, 0, 0, 0, 0}, {192, 8704, 1024, 0, 0, 0, 0}, {15, 514, 80, 1285, 4369, 0, 0}, {1032, 96, 514, 16448, 0, 0, 0}, {15, 4403, 1792, 21760, 0, 0, 0}, {8840, 2056, 17476, 0, 0, 0, 0}, {48, 768, 261, 4096, 0, 0, 0}, {522, 18022, 0, 0, 0, 0, 0}, {1031, 5440, 0, 0, 0, 0, 0}, {1032, 9792, 16448, 0, 0, 0, 0}, {15, 4406, 517, 80, 1285, 0, 0}, {522, 96, 1024, 0, 0, 0, 0}, {15, 1799, 4420, 0, 0, 0, 0}, {17612, 2048, 8704, 0, 0, 0, 0}, {258, 80, 1285, 4112, 0, 0, 0}, {160, 514, 17476, 0, 0, 0, 0}, {15, 48, 768, 1024, 4352, 0, 0}, {544, 80, 5120, 0, 0, 0, 0}, {63, 1092, 4369, 0, 0, 0, 0}, {5722, 21026, 0, 0, 0, 0, 0}, {1043, 5440, 0, 0, 0, 0, 0}, {536, 48, 80, 1044, 4096, 0, 0}, {6442, 13056, 4437, 0, 0, 0, 0}, {1100, 48, 5654, 16448, 0, 0, 0}, {95, 4471, 4864, 21760, 0, 0, 0}, {5160, 5632, 80, 0, 0, 0, 0}, {4441, 4454, 5397, 0, 0, 0, 0}, {5674, 13424, 17408, 0, 0, 0, 0}, {4379, 4388, 535, 4420, 5376, 0, 0}, {1052, 48, 528, 80, 4112, 0, 0}, {6485, 4386, 21845, 0, 0, 0, 0}, {48, 4626, 1092, 0, 0, 0, 0}, {95, 544, 4352, 0, 0, 0, 0}, {1056, 1536, 1088, 0, 0, 0, 0}, {15, 1911, 4369, 0, 0, 0, 0}, {1096, 8738, 16384, 0, 0, 0, 0}, {15, 4403, 4883, 80, 1280, 0, 0}, {552, 8192, 17476, 0, 0, 0, 0}, {15, 48, 768, 4437, 5397, 0, 0}, {17612, 19532, 26214, 0, 0, 0, 0}, {279, 80, 1280, 4096, 0, 0, 0}, {1096, 96, 1536, 16384, 0, 0, 0}, {15, 4454, 5654, 21845, 0, 0, 0}, {9770, 1088, 0, 0, 0, 0, 0}, {4915, 4372, 0, 0, 0, 0, 0}, {17996, 544, 0, 0, 0, 0, 0}, {4370, 5461, 0, 0, 0, 0, 0}, {2184, 8738, 17476, 0, 0, 0, 0}, {15, 768, 1280, 272, 0, 0, 0}, {240, 5632, 17408, 0, 0, 0, 0}, {95, 96, 514, 1028, 4369, 0, 0}, {5160, 514, 80, 0, 0, 0, 0}, {4364, 4403, 5376, 0, 0, 0, 0}, {4680, 48, 1028, 0, 0, 0, 0}, {4362, 4864, 4437, 0, 0, 0, 0}, {1036, 48, 1542, 80, 4096, 0, 0}, {2056, 4471, 21760, 0, 0, 0, 0}, {21000, 5744, 0, 0, 0, 0, 0}, {4358, 5461, 0, 0, 0, 0, 0}, {522, 8192, 80, 5120, 0, 0, 0}, {63, 13107, 4420, 1028, 0, 0, 0}, {1036, 48, 4608, 16384, 0, 0, 0}, {95, 4386, 514, 21845, 0, 0, 0}, {48, 514, 80, 1028, 4112, 0, 0}, {255, 2048, 4352, 0, 0, 0, 0}, {3840, 12288, 20480, 0, 0, 0, 0}, {8, 34, 68, 257, 0, 0, 0}, {4098, 5376, 0, 0, 0, 0, 0}, {20540, 771, 0, 0, 0, 0, 0}, {4864, 4100, 0, 0, 0, 0, 0}, {12378, 1285, 0, 0, 0, 0, 0}, {1290, 102, 1542, 21760, 0, 0, 0}, {8, 4208, 1799, 16384, 0, 0, 0}, {8, 1792, 4096, 0, 0, 0, 0}, {102, 771, 1285, 0, 0, 0, 0}, {1290, 12288, 21760, 0, 0, 0, 0}, {8, 4144, 771, 68, 1028, 0, 0}, {780, 13056, 20480, 0, 0, 0, 0}, {8, 34, 514, 4176, 1285, 0, 0}, {262, 68, 1028, 4352, 0, 0, 0}, {20720, 3855, 24576, 0, 0, 0, 0}, {128, 3952, 4112, 0, 0, 0, 0}, {34, 785, 68, 1297, 4369, 0, 0}, {1370, 34, 4626, 21760, 0, 0, 0}, {76, 4128, 4883, 16384, 0, 0, 0}, {828, 13056, 68, 5140, 0, 0, 0}, {42, 8192, 4160, 5397, 0, 0, 0}, {4118, 5376, 0, 0, 0, 0, 0}, {20520, 5911, 0, 0, 0, 0, 0}, {6168, 5984, 20560, 0, 0, 0, 0}, {1305, 1331, 1536, 1365, 4096, 0, 0}, {4122, 4144, 5440, 0, 0, 0, 0}, {5915, 819, 68, 0, 0, 0, 0}, {4124, 4896, 4176, 0, 0, 0, 0}, {5917, 34, 1365, 0, 0, 0, 0}, {1310, 34, 1536, 68, 4352, 0, 0}, {7967, 4192, 16448, 0, 0, 0, 0}, {3840, 4128, 16384, 0, 0, 0, 0}, {1295, 34, 771, 68, 4369, 0, 0}, {34, 4608, 1280, 0, 0, 0, 0}, {76, 771, 4112, 0, 0, 0, 0}, {780, 5924, 68, 0, 0, 0, 0}, {1295, 1317, 5461, 0, 0, 0, 0}, {4108, 4134, 4864, 4160, 1280, 0, 0}, {5983, 10023, 20560, 0, 0, 0, 0}, {20520, 18176, 0, 0, 0, 0, 0}, {4182, 5397, 0, 0, 0, 0, 0}, {42, 1280, 4096, 0, 0, 0, 0}, {771, 68, 5140, 0, 0, 0, 0}, {76, 4192, 832, 16448, 0, 0, 0}, {1295, 34, 5973, 21845, 0, 0, 0}, {780, 34, 68, 1280, 4352, 0, 0}, {3855, 8224, 4176, 0, 0, 0, 0}, {20720, 24320, 12336, 0, 0, 0, 0}, {275, 68, 1024, 4369, 0, 0, 0}, {8, 34, 514, 1360, 4112, 0, 0}, {3072, 819, 20480, 0, 0, 0, 0}, {8, 4148, 4864, 68, 1024, 0, 0}, {1375, 13621, 21845, 0, 0, 0, 0}, {1546, 1334, 1360, 0, 0, 0, 0}, {8, 5943, 4160, 0, 0, 0, 0}, {8, 4144, 5952, 16448, 0, 0, 0}, {1375, 102, 853, 21845, 0, 0, 0}, {2570, 12336, 1360, 0, 0, 0, 0}, {8, 819, 68, 1024, 4096, 0, 0}, {20540, 21248, 0, 0, 0, 0, 0}, {4162, 5397, 0, 0, 0, 0, 0}, {34, 514, 276, 4352, 0, 0, 0}, {12480, 16191, 20480, 0, 0, 0, 0}, {3840, 8192, 4160, 0, 0, 0, 0}, {783, 34, 68, 1285, 4369, 0, 0}, {1290, 34, 5954, 21760, 0, 0, 0}, {76, 4208, 835, 16384, 0, 0, 0}, {768, 68, 5120, 0, 0, 0, 0}, {42, 1285, 4112, 0, 0, 0, 0}, {4166, 5376, 0, 0, 0, 0, 0}, {20600, 18247, 0, 0, 0, 0, 0}, {5960, 9984, 20480, 0, 0, 0, 0}, {4124, 4150, 4883, 4176, 1285, 0, 0}, {1290, 1312, 5440, 0, 0, 0, 0}, {783, 5939, 68, 0, 0, 0, 0}, {76, 768, 4096, 0, 0, 0, 0}, {34, 4626, 1285, 0, 0, 0, 0}, {1290, 34, 768, 68, 4352, 0, 0}, {3855, 4144, 16448, 0, 0, 0, 0}, {12528, 16128, 20560, 0, 0, 0, 0}, {34, 512, 277, 4369, 0, 0, 0}, {4178, 5376, 0, 0, 0, 0, 0}, {20588, 21331, 0, 0, 0, 0, 0}, {8, 816, 68, 1028, 4112, 0, 0}, {2560, 12288, 1365, 0, 0, 0, 0}, {1370, 102, 854, 21760, 0, 0, 0}, {8, 4128, 5975, 16384, 0, 0, 0}, {8, 5920, 4176, 0, 0, 0, 0}, {1548, 1331, 1365, 0, 0, 0, 0}, {1370, 13568, 21760, 0, 0, 0, 0}, {8, 4132, 4883, 68, 1028, 0, 0}, {3084, 816, 20560, 0, 0, 0, 0}, {8, 34, 512, 1365, 4096, 0, 0}, {274, 68, 1028, 4352, 0, 0, 0}, {20640, 24415, 12288, 0, 0, 0, 0}, {20640, 3840, 24672, 0, 0, 0, 0}, {263, 68, 1024, 4369, 0, 0, 0}, {8, 34, 512, 4160, 1280, 0, 0}, {783, 13107, 20560, 0, 0, 0, 0}, {8, 4128, 768, 68, 1024, 0, 0}, {1295, 12336, 21845, 0, 0, 0, 0}, {102, 768, 1280, 0, 0, 0, 0}, {8, 1799, 4112, 0, 0, 0, 0}, {8, 4192, 1792, 16448, 0, 0, 0}, {1295, 102, 1536, 21845, 0, 0, 0}, {12394, 1280, 0, 0, 0, 0, 0}, {4883, 4116, 0, 0, 0, 0, 0}, {20588, 768, 0, 0, 0, 0, 0}, {4114, 5397, 0, 0, 0, 0, 0}, {8, 34, 68, 256, 0, 0, 0}, {3855, 12336, 20560, 0, 0, 0, 0}, {7936, 4208, 16384, 0, 0, 0, 0}, {1307, 34, 1542, 68, 4369, 0, 0}, {5898, 34, 1360, 0, 0, 0, 0}, {4108, 4915, 4160, 0, 0, 0, 0}, {5900, 816, 68, 0, 0, 0, 0}, {4106, 4128, 5461, 0, 0, 0, 0}, {1308, 1334, 1542, 1360, 4112, 0, 0}, {6144, 6007, 20480, 0, 0, 0, 0}, {20600, 5888, 0, 0, 0, 0, 0}, {4102, 5397, 0, 0, 0, 0, 0}, {42, 8224, 4176, 5376, 0, 0, 0}, {831, 13107, 68, 5120, 0, 0, 0}, {76, 4144, 4864, 16448, 0, 0, 0}, {1375, 34, 4608, 21845, 0, 0, 0}, {34, 786, 68, 1300, 4352, 0, 0}, {128, 3967, 4096, 0, 0, 0, 0}, {128, 3840, 4096, 0, 0, 0, 0}, {34, 771, 68, 1285, 4369, 0, 0}, {1290, 34, 4608, 21760, 0, 0, 0}, {76, 4144, 771, 16448, 0, 0, 0}, {780, 13056, 68, 5120, 0, 0, 0}, {42, 8224, 4176, 1285, 0, 0, 0}, {4102, 5440, 0, 0, 0, 0, 0}, {18191, 6007, 0, 0, 0, 0, 0}, {136, 5888, 20480, 0, 0, 0, 0}, {76, 102, 771, 1285, 4112, 0, 0}, {4106, 4128, 5376, 0, 0, 0, 0}, {5180, 771, 68, 0, 0, 0, 0}, {4108, 4864, 4160, 0, 0, 0, 0}, {4698, 34, 1285, 0, 0, 0, 0}, {1290, 34, 1542, 68, 4352, 0, 0}, {3855, 4208, 16384, 0, 0, 0, 0}, {4080, 12336, 20560, 0, 0, 0, 0}, {8, 512, 1024, 273, 0, 0, 0}, {4114, 5440, 0, 0, 0, 0, 0}, {21343, 819, 0, 0, 0, 0, 0}, {4896, 4116, 0, 0, 0, 0, 0}, {13631, 1365, 0, 0, 0, 0, 0}, {1370, 102, 1536, 21760, 0, 0, 0}, {8, 4192, 5911, 16448, 0, 0, 0}, {8, 1904, 4112, 0, 0, 0, 0}, {1331, 1536, 1365, 0, 0, 0, 0}, {1370, 12336, 21760, 0, 0, 0, 0}, {8, 4128, 4883, 68, 1024, 0, 0}, {828, 13056, 20560, 0, 0, 0, 0}, {8, 34, 512, 4160, 5397, 0, 0}, {278, 68, 1024, 4352, 0, 0, 0}, {20640, 24415, 24672, 0, 0, 0, 0}, {20640, 3840, 12288, 0, 0, 0, 0}, {259, 68, 1028, 4369, 0, 0, 0}, {8, 34, 512, 1280, 4096, 0, 0}, {204, 771, 20560, 0, 0, 0, 0}, {8, 4132, 772, 68, 1028, 0, 0}, {1295, 13653, 21845, 0, 0, 0, 0}, {780, 102, 1280, 0, 0, 0, 0}, {8, 1799, 4176, 0, 0, 0, 0}, {8, 4128, 1792, 16384, 0, 0, 0}, {1295, 102, 771, 21845, 0, 0, 0}, {170, 12288, 1280, 0, 0, 0, 0}, {8, 771, 68, 1028, 4112, 0, 0}, {780, 21344, 0, 0, 0, 0, 0}, {1287, 5461, 0, 0, 0, 0, 0}, {34, 512, 260, 4352, 0, 0, 0}, {12528, 3855, 20560, 0, 0, 0, 0}, {8000, 4144, 16448, 0, 0, 0, 0}, {1307, 34, 785, 68, 4369, 0, 0}, {34, 4626, 1360, 0, 0, 0, 0}, {76, 819, 4096, 0, 0, 0, 0}, {5180, 5888, 68, 0, 0, 0, 0}, {4170, 4192, 5397, 0, 0, 0, 0}, {4124, 4150, 790, 4176, 5376, 0, 0}, {5951, 10103, 20480, 0, 0, 0, 0}, {5960, 18224, 0, 0, 0, 0, 0}, {1299, 5461, 0, 0, 0, 0, 0}, {42, 1360, 4112, 0, 0, 0, 0}, {819, 68, 5120, 0, 0, 0, 0}, {76, 4208, 4864, 16384, 0, 0, 0}, {1375, 34, 5911, 21845, 0, 0, 0}, {798, 34, 68, 1300, 4352, 0, 0}, {7999, 8192, 4160, 0, 0, 0, 0}, {12480, 3840, 20480, 0, 0, 0, 0}, {34, 514, 261, 4369, 0, 0, 0}, {1282, 5440, 0, 0, 0, 0, 0}, {783, 21299, 0, 0, 0, 0, 0}, {8, 768, 68, 1024, 4096, 0, 0}, {170, 12336, 1285, 0, 0, 0, 0}, {1290, 102, 768, 21760, 0, 0, 0}, {8, 4144, 1799, 16448, 0, 0, 0}, {8, 1792, 4160, 0, 0, 0, 0}, {783, 102, 1285, 0, 0, 0, 0}, {1290, 13664, 21760, 0, 0, 0, 0}, {8, 4148, 775, 68, 1024, 0, 0}, {204, 768, 20480, 0, 0, 0, 0}, {8, 34, 514, 1285, 4112, 0, 0}, {258, 68, 1024, 4352, 0, 0, 0}, {20720, 3855, 12336, 0, 0, 0, 0}, {7968, 8224, 4176, 0, 0, 0, 0}, {797, 34, 68, 1297, 4369, 0, 0}, {1370, 34, 5888, 21760, 0, 0, 0}, {76, 4192, 4883, 16448, 0, 0, 0}, {816, 68, 5140, 0, 0, 0, 0}, {42, 1365, 4096, 0, 0, 0, 0}, {1302, 5440, 0, 0, 0, 0, 0}, {5983, 18295, 0, 0, 0, 0, 0}, {5928, 10064, 20560, 0, 0, 0, 0}, {4108, 4134, 789, 4160, 5397, 0, 0}, {4186, 4208, 5376, 0, 0, 0, 0}, {5160, 5911, 68, 0, 0, 0, 0}, {76, 816, 4112, 0, 0, 0, 0}, {34, 4608, 1365, 0, 0, 0, 0}, {1310, 34, 786, 68, 4352, 0, 0}, {8031, 4128, 16384, 0, 0, 0, 0}, {3840, 4192, 16448, 0, 0, 0, 0}, {1295, 34, 1536, 68, 4369, 0, 0}, {4680, 34, 1280, 0, 0, 0, 0}, {4124, 4883, 4176, 0, 0, 0, 0}, {5160, 768, 68, 0, 0, 0, 0}, {4122, 4144, 5397, 0, 0, 0, 0}, {76, 102, 768, 1280, 4096, 0, 0}, {136, 5911, 20560, 0, 0, 0, 0}, {18248, 5984, 0, 0, 0, 0, 0}, {4118, 5461, 0, 0, 0, 0, 0}, {42, 8192, 4160, 1280, 0, 0, 0}, {783, 13107, 68, 5140, 0, 0, 0}, {76, 4128, 768, 16384, 0, 0, 0}, {1295, 34, 4626, 21845, 0, 0, 0}, {34, 768, 68, 1280, 4352, 0, 0}, {128, 3855, 4112, 0, 0, 0, 0}, {20720, 24320, 24576, 0, 0, 0, 0}, {279, 68, 1028, 4369, 0, 0, 0}, {8, 34, 514, 4176, 5376, 0, 0}, {831, 13107, 20480, 0, 0, 0, 0}, {8, 4144, 4864, 68, 1028, 0, 0}, {1375, 12288, 21845, 0, 0, 0, 0}, {1334, 1542, 1360, 0, 0, 0, 0}, {8, 1911, 4096, 0, 0, 0, 0}, {8, 4208, 5888, 16384, 0, 0, 0}, {1375, 102, 1542, 21845, 0, 0, 0}, {13578, 1360, 0, 0, 0, 0, 0}, {4915, 4100, 0, 0, 0, 0, 0}, {21260, 816, 0, 0, 0, 0, 0}, {4098, 5461, 0, 0, 0, 0, 0}, {8, 514, 1028, 272, 0, 0, 0}, {4095, 12288, 20480, 0, 0, 0, 0}, {28672, 0, 0, 0, 0, 0, 0}, {6, 17, 257, 0, 0, 0, 0}, {10, 34, 514, 20480, 0, 0, 0}, {12, 51, 771, 16384, 0, 0, 0}, {12, 12288, 68, 1028, 0, 0, 0}, {10, 8192, 85, 1285, 0, 0, 0}, {6, 4096, 0, 0, 0, 0, 0}, {119, 1799, 0, 0, 0, 0, 0}, {28680, 0, 0, 0, 0, 0, 0}, {4099, 4101, 0, 0, 0, 0, 0}, {10, 8192, 20480, 0, 0, 0, 0}, {12, 51, 771, 68, 1028, 0, 0}, {12, 12288, 16384, 0, 0, 0, 0}, {10, 34, 514, 85, 1285, 0, 0}, {4098, 4100, 0, 0, 0, 0, 0}, {28687, 0, 0, 0, 0, 0, 0}, {96, 4112, 0, 0, 0, 0, 0}, {1792, 17, 0, 0, 0, 0, 0}, {72, 34, 4626, 16384, 0, 0, 0}, {95, 51, 4883, 20480, 0, 0, 0}, {40, 8192, 68, 5140, 0, 0, 0}, {63, 12288, 85, 5397, 0, 0, 0}, {102, 5654, 0, 0, 0, 0, 0}, {23, 4096, 0, 0, 0, 0, 0}, {4120, 4144, 4176, 0, 0, 0, 0}, {5657, 51, 85, 0, 0, 0, 0}, {106, 12336, 16448, 0, 0, 0, 0}, {27, 51, 4864, 68, 5120, 0, 0}, {108, 8224, 20560, 0, 0, 0, 0}, {29, 34, 4608, 85, 5376, 0, 0}, {5662, 34, 68, 0, 0, 0, 0}, {4127, 4128, 4160, 0, 0, 0, 0}, {160, 8224, 20480, 0, 0, 0, 0}, {12, 771, 1024, 17, 0, 0, 0}, {34, 20992, 0, 0, 0, 0, 0}, {83, 4112, 0, 0, 0, 0, 0}, {12, 36, 68, 1024, 4096, 0, 0}, {3855, 9509, 85, 0, 0, 0, 0}, {12, 102, 5696, 16448, 0, 0, 0}, {95, 119, 1872, 20560, 0, 0, 0}, {40, 8192, 20480, 0, 0, 0, 0}, {12, 51, 771, 85, 5397, 0, 0}, {28714, 0, 0, 0, 0, 0, 0}, {4099, 4116, 0, 0, 0, 0, 0}, {12, 4128, 4160, 0, 0, 0, 0}, {1807, 34, 85, 0, 0, 0, 0}, {12, 34, 4608, 68, 1024, 0, 0}, {95, 8224, 20560, 0, 0, 0, 0}, {192, 12336, 16384, 0, 0, 0, 0}, {10, 514, 1280, 17, 0, 0, 0}, {66, 4112, 0, 0, 0, 0, 0}, {51, 17152, 0, 0, 0, 0, 0}, {2056, 13364, 68, 0, 0, 0, 0}, {10, 53, 85, 1280, 4096, 0, 0}, {10, 102, 5712, 20560, 0, 0, 0}, {72, 119, 1856, 16448, 0, 0, 0}, {72, 12336, 16448, 0, 0, 0, 0}, {10, 51, 4864, 85, 1280, 0, 0}, {10, 4144, 4176, 0, 0, 0, 0}, {1800, 51, 68, 0, 0, 0, 0}, {28732, 0, 0, 0, 0, 0, 0}, {4098, 4117, 0, 0, 0, 0, 0}, {10, 34, 514, 68, 5140, 0, 0}, {63, 12288, 16384, 0, 0, 0, 0}, {192, 12288, 16448, 0, 0, 0, 0}, {10, 512, 1285, 17, 0, 0, 0}, {66, 4096, 0, 0, 0, 0, 0}, {51, 17219, 0, 0, 0, 0, 0}, {2048, 13312, 68, 0, 0, 0, 0}, {10, 53, 85, 1285, 4112, 0, 0}, {10, 102, 5702, 20480, 0, 0, 0}, {72, 119, 1863, 16384, 0, 0, 0}, {72, 12288, 16384, 0, 0, 0, 0}, {10, 51, 4883, 85, 1285, 0, 0}, {10, 4128, 4160, 0, 0, 0, 0}, {1807, 51, 68, 0, 0, 0, 0}, {28748, 0, 0, 0, 0, 0, 0}, {4114, 4101, 0, 0, 0, 0, 0}, {10, 34, 512, 68, 5120, 0, 0}, {63, 12336, 16448, 0, 0, 0, 0}, {160, 8192, 20560, 0, 0, 0, 0}, {12, 768, 1028, 17, 0, 0, 0}, {34, 21074, 0, 0, 0, 0, 0}, {83, 4096, 0, 0, 0, 0, 0}, {12, 36, 68, 1028, 4112, 0, 0}, {3840, 9472, 85, 0, 0, 0, 0}, {12, 102, 5718, 16384, 0, 0, 0}, {95, 119, 1879, 20480, 0, 0, 0}, {40, 8224, 20560, 0, 0, 0, 0}, {12, 51, 768, 85, 5376, 0, 0}, {28762, 0, 0, 0, 0, 0, 0}, {4115, 4100, 0, 0, 0, 0, 0}, {12, 4144, 4176, 0, 0, 0, 0}, {1800, 34, 85, 0, 0, 0, 0}, {12, 34, 4626, 68, 1028, 0, 0}, {95, 8192, 20480, 0, 0, 0, 0}, {96, 4096, 0, 0, 0, 0, 0}, {1799, 17, 0, 0, 0, 0, 0}, {72, 34, 4608, 16448, 0, 0, 0}, {95, 51, 4864, 20560, 0, 0, 0}, {40, 8224, 68, 5120, 0, 0, 0}, {63, 12336, 85, 5376, 0, 0, 0}, {102, 5632, 0, 0, 0, 0, 0}, {23, 4112, 0, 0, 0, 0, 0}, {4104, 4128, 4160, 0, 0, 0, 0}, {5647, 51, 85, 0, 0, 0, 0}, {106, 12288, 16384, 0, 0, 0, 0}, {27, 51, 4883, 68, 5140, 0, 0}, {108, 8192, 20480, 0, 0, 0, 0}, {29, 34, 4626, 85, 5397, 0, 0}, {5640, 34, 68, 0, 0, 0, 0}, {4111, 4144, 4176, 0, 0, 0, 0}, {28784, 0, 0, 0, 0, 0, 0}, {6, 17, 256, 0, 0, 0, 0}, {10, 34, 512, 20560, 0, 0, 0}, {12, 51, 768, 16448, 0, 0, 0}, {12, 12336, 68, 1024, 0, 0, 0}, {10, 8224, 85, 1280, 0, 0, 0}, {6, 4112, 0, 0, 0, 0, 0}, {119, 1792, 0, 0, 0, 0, 0}, {28792, 0, 0, 0, 0, 0, 0}, {4115, 4117, 0, 0, 0, 0, 0}, {10, 8224, 20560, 0, 0, 0, 0}, {12, 51, 768, 68, 1024, 0, 0}, {12, 12336, 16448, 0, 0, 0, 0}, {10, 34, 512, 85, 1280, 0, 0}, {4114, 4116, 0, 0, 0, 0, 0}, {28799, 0, 0, 0, 0, 0, 0}, {28800, 0, 0, 0, 0, 0, 0}, {259, 261, 17, 0, 0, 0, 0}, {10, 34, 512, 20480, 0, 0, 0}, {12, 51, 771, 16448, 0, 0, 0}, {12, 12288, 68, 1024, 0, 0, 0}, {10, 8224, 85, 1285, 0, 0, 0}, {6, 4160, 0, 0, 0, 0, 0}, {1807, 119, 0, 0, 0, 0, 0}, {136, 2048, 28672, 0, 0, 0, 0}, {6, 85, 1285, 4112, 0, 0, 0}, {10, 8224, 20480, 0, 0, 0, 0}, {12, 51, 771, 68, 1024, 0, 0}, {12, 12288, 16448, 0, 0, 0, 0}, {10, 34, 512, 85, 1285, 0, 0}, {6, 68, 1024, 4096, 0, 0, 0}, {255, 3855, 28784, 0, 0, 0, 0}, {4144, 4176, 0, 0, 0, 0, 0}, {1800, 17, 0, 0, 0, 0, 0}, {72, 34, 4626, 16448, 0, 0, 0}, {95, 51, 4864, 20480, 0, 0, 0}, {40, 8224, 68, 5140, 0, 0, 0}, {63, 12288, 85, 5376, 0, 0, 0}, {5722, 102, 0, 0, 0, 0, 0}, {23, 4160, 0, 0, 0, 0, 0}, {72, 96, 4112, 0, 0, 0, 0}, {51, 5632, 85, 0, 0, 0, 0}, {106, 12336, 16384, 0, 0, 0, 0}, {27, 51, 4883, 68, 5120, 0, 0}, {108, 8192, 20560, 0, 0, 0, 0}, {29, 34, 4608, 85, 5397, 0, 0}, {34, 5654, 68, 0, 0, 0, 0}, {95, 96, 4096, 0, 0, 0, 0}, {160, 8192, 20480, 0, 0, 0, 0}, {12, 771, 1028, 17, 0, 0, 0}, {21000, 34, 0, 0, 0, 0, 0}, {4099, 4176, 0, 0, 0, 0, 0}, {4128, 4100, 0, 0, 0, 0, 0}, {9487, 85, 0, 0, 0, 0, 0}, {12, 102, 5632, 16384, 0, 0, 0}, {95, 119, 1799, 20560, 0, 0, 0}, {40, 8224, 20480, 0, 0, 0, 0}, {12, 51, 771, 85, 5376, 0, 0}, {170, 23040, 28672, 0, 0, 0, 0}, {23, 68, 1028, 4112, 0, 0, 0}, {12, 96, 4096, 0, 0, 0, 0}, {34, 1799, 85, 0, 0, 0, 0}, {12, 34, 4608, 68, 1028, 0, 0}, {95, 8192, 20560, 0, 0, 0, 0}, {192, 12336, 16448, 0, 0, 0, 0}, {10, 512, 1280, 17, 0, 0, 0}, {4114, 4176, 0, 0, 0, 0, 0}, {17228, 51, 0, 0, 0, 0, 0}, {13372, 68, 0, 0, 0, 0, 0}, {4128, 4117, 0, 0, 0, 0, 0}, {10, 102, 5654, 20560, 0, 0, 0}, {72, 119, 1792, 16384, 0, 0, 0}, {72, 12336, 16384, 0, 0, 0, 0}, {10, 51, 4883, 85, 1280, 0, 0}, {10, 96, 4112, 0, 0, 0, 0}, {51, 1792, 68, 0, 0, 0, 0}, {204, 19532, 28784, 0, 0, 0, 0}, {23, 85, 1280, 4096, 0, 0, 0}, {10, 34, 512, 68, 5140, 0, 0}, {63, 12288, 16448, 0, 0, 0, 0}, {192, 12288, 16384, 0, 0, 0, 0}, {10, 514, 1285, 17, 0, 0, 0}, {4098, 4160, 0, 0, 0, 0, 0}, {17167, 51, 0, 0, 0, 0, 0}, {13320, 68, 0, 0, 0, 0, 0}, {4144, 4101, 0, 0, 0, 0, 0}, {10, 102, 5632, 20480, 0, 0, 0}, {72, 119, 1799, 16448, 0, 0, 0}, {72, 12288, 16448, 0, 0, 0, 0}, {10, 51, 4864, 85, 1285, 0, 0}, {10, 96, 4096, 0, 0, 0, 0}, {51, 1799, 68, 0, 0, 0, 0}, {204, 19456, 28672, 0, 0, 0, 0}, {23, 85, 1285, 4112, 0, 0, 0}, {10, 34, 514, 68, 5120, 0, 0}, {63, 12336, 16384, 0, 0, 0, 0}, {160, 8224, 20560, 0, 0, 0, 0}, {12, 768, 1024, 17, 0, 0, 0}, {21082, 34, 0, 0, 0, 0, 0}, {4115, 4160, 0, 0, 0, 0, 0}, {4144, 4116, 0, 0, 0, 0, 0}, {9514, 85, 0, 0, 0, 0, 0}, {12, 102, 5654, 16448, 0, 0, 0}, {95, 119, 1792, 20480, 0, 0, 0}, {40, 8192, 20560, 0, 0, 0, 0}, {12, 51, 768, 85, 5397, 0, 0}, {170, 23130, 28784, 0, 0, 0, 0}, {23, 68, 1024, 4096, 0, 0, 0}, {12, 96, 4112, 0, 0, 0, 0}, {34, 1792, 85, 0, 0, 0, 0}, {12, 34, 4626, 68, 1024, 0, 0}, {95, 8224, 20480, 0, 0, 0, 0}, {4128, 4160, 0, 0, 0, 0, 0}, {1807, 17, 0, 0, 0, 0, 0}, {72, 34, 4608, 16384, 0, 0, 0}, {95, 51, 4883, 20560, 0, 0, 0}, {40, 8192, 68, 5120, 0, 0, 0}, {63, 12336, 85, 5397, 0, 0, 0}, {5708, 102, 0, 0, 0, 0, 0}, {23, 4176, 0, 0, 0, 0, 0}, {72, 96, 4096, 0, 0, 0, 0}, {51, 5654, 85, 0, 0, 0, 0}, {106, 12288, 16448, 0, 0, 0, 0}, {27, 51, 4864, 68, 5140, 0, 0}, {108, 8224, 20480, 0, 0, 0, 0}, {29, 34, 4626, 85, 5376, 0, 0}, {34, 5632, 68, 0, 0, 0, 0}, {95, 96, 4112, 0, 0, 0, 0}, {28912, 0, 0, 0, 0, 0, 0}, {258, 260, 17, 0, 0, 0, 0}, {10, 34, 514, 20560, 0, 0, 0}, {12, 51, 768, 16384, 0, 0, 0}, {12, 12336, 68, 1028, 0, 0, 0}, {10, 8192, 85, 1280, 0, 0, 0}, {6, 4176, 0, 0, 0, 0, 0}, {1800, 119, 0, 0, 0, 0, 0}, {136, 2056, 28784, 0, 0, 0, 0}, {6, 85, 1280, 4096, 0, 0, 0}, {10, 8192, 20560, 0, 0, 0, 0}, {12, 51, 768, 68, 1028, 0, 0}, {12, 12336, 16384, 0, 0, 0, 0}, {10, 34, 514, 85, 1280, 0, 0}, {6, 68, 1028, 4112, 0, 0, 0}, {255, 3840, 28672, 0, 0, 0, 0}, {1536, 4352, 0, 0, 0, 0, 0}, {112, 257, 0, 0, 0, 0, 0}, {1032, 4386, 514, 16384, 0, 0, 0}, {1295, 4403, 771, 20480, 0, 0, 0}, {520, 8192, 4420, 1028, 0, 0, 0}, {783, 12288, 4437, 1285, 0, 0, 0}, {4454, 1542, 0, 0, 0, 0, 0}, {263, 4096, 0, 0, 0, 0, 0}, {4360, 4864, 5376, 0, 0, 0, 0}, {4457, 771, 1285, 0, 0, 0, 0}, {1546, 13056, 17408, 0, 0, 0, 0}, {267, 4144, 771, 4160, 1028, 0, 0}, {1548, 8704, 21760, 0, 0, 0, 0}, {269, 4128, 514, 4176, 1285, 0, 0}, {4462, 514, 1028, 0, 0, 0, 0}, {4367, 4608, 5120, 0, 0, 0, 0}, {1792, 272, 0, 0, 0, 0, 0}, {1638, 4369, 0, 0, 0, 0, 0}, {1370, 4386, 4626, 20480, 0, 0, 0}, {1100, 4403, 4883, 16384, 0, 0, 0}, {828, 12288, 4420, 5140, 0, 0, 0}, {554, 8192, 4437, 5397, 0, 0, 0}, {278, 4096, 0, 0, 0, 0, 0}, {4471, 5911, 0, 0, 0, 0, 0}, {5912, 816, 1360, 0, 0, 0, 0}, {4377, 4915, 5461, 0, 0, 0, 0}, {282, 4144, 4864, 4160, 5120, 0, 0}, {1644, 13107, 17476, 0, 0, 0, 0}, {284, 4128, 4608, 4176, 5376, 0, 0}, {1642, 8738, 21845, 0, 0, 0, 0}, {4382, 4642, 5188, 0, 0, 0, 0}, {5919, 544, 1088, 0, 0, 0, 0}, {544, 1024, 4352, 0, 0, 0, 0}, {771, 1365, 4369, 0, 0, 0, 0}, {4386, 21248, 0, 0, 0, 0, 0}, {339, 4112, 0, 0, 0, 0, 0}, {3084, 9252, 4420, 0, 0, 0, 0}, {783, 293, 341, 1024, 4096, 0, 0}, {1036, 4454, 5952, 16448, 0, 0, 0}, {1375, 4471, 1616, 20560, 0, 0, 0}, {5928, 13056, 21760, 0, 0, 0, 0}, {4377, 4144, 771, 4160, 5397, 0, 0}, {4394, 4864, 1024, 0, 0, 0, 0}, {4427, 771, 5140, 0, 0, 0, 0}, {1036, 544, 5440, 0, 0, 0, 0}, {783, 4642, 1365, 0, 0, 0, 0}, {5960, 8738, 17476, 0, 0, 0, 0}, {4367, 4128, 4608, 4176, 1024, 0, 0}, {816, 1280, 4352, 0, 0, 0, 0}, {514, 1092, 4369, 0, 0, 0, 0}, {322, 4112, 0, 0, 0, 0, 0}, {4403, 16896, 0, 0, 0, 0, 0}, {520, 308, 324, 1280, 4096, 0, 0}, {2570, 13621, 4437, 0, 0, 0, 0}, {1290, 4454, 5968, 20560, 0, 0, 0}, {1096, 4471, 1600, 16448, 0, 0, 0}, {4360, 4144, 4864, 4160, 1280, 0, 0}, {5983, 13107, 21845, 0, 0, 0, 0}, {1290, 816, 5200, 0, 0, 0, 0}, {520, 4915, 1092, 0, 0, 0, 0}, {4412, 4608, 1280, 0, 0, 0, 0}, {4445, 514, 5397, 0, 0, 0, 0}, {4382, 4128, 514, 4176, 5140, 0, 0}, {5951, 8704, 17408, 0, 0, 0, 0}, {512, 1088, 4352, 0, 0, 0, 0}, {819, 1285, 4369, 0, 0, 0, 0}, {4386, 16962, 0, 0, 0, 0, 0}, {323, 4096, 0, 0, 0, 0, 0}, {2560, 13568, 4420, 0, 0, 0, 0}, {522, 309, 325, 1285, 4112, 0, 0}, {1100, 4454, 1606, 16384, 0, 0, 0}, {1295, 4471, 5959, 20480, 0, 0, 0}, {5960, 13056, 21760, 0, 0, 0, 0}, {4377, 4128, 4883, 4176, 1285, 0, 0}, {522, 4896, 1088, 0, 0, 0, 0}, {1295, 819, 5188, 0, 0, 0, 0}, {4428, 512, 5376, 0, 0, 0, 0}, {4397, 4626, 1285, 0, 0, 0, 0}, {5928, 8738, 17476, 0, 0, 0, 0}, {4367, 4144, 512, 4160, 5120, 0, 0}, {768, 1360, 4352, 0, 0, 0, 0}, {546, 1028, 4369, 0, 0, 0, 0}, {338, 4096, 0, 0, 0, 0, 0}, {4403, 21331, 0, 0, 0, 0, 0}, {780, 292, 340, 1028, 4112, 0, 0}, {3072, 9216, 4437, 0, 0, 0, 0}, {1370, 4454, 1622, 20480, 0, 0, 0}, {1032, 4471, 5975, 16384, 0, 0, 0}, {4360, 4128, 768, 4176, 5376, 0, 0}, {5951, 13107, 21845, 0, 0, 0, 0}, {4442, 768, 5120, 0, 0, 0, 0}, {4411, 4883, 1028, 0, 0, 0, 0}, {780, 4656, 1360, 0, 0, 0, 0}, {1032, 546, 5461, 0, 0, 0, 0}, {4382, 4144, 4626, 4160, 1028, 0, 0}, {5983, 8704, 17408, 0, 0, 0, 0}, {1632, 4352, 0, 0, 0, 0, 0}, {1799, 273, 0, 0, 0, 0, 0}, {1096, 4386, 4864, 16448, 0, 0, 0}, {1375, 4403, 4608, 20560, 0, 0, 0}, {552, 8224, 4420, 5376, 0, 0, 0}, {831, 12336, 4437, 5120, 0, 0, 0}, {4454, 5888, 0, 0, 0, 0, 0}, {279, 4112, 0, 0, 0, 0, 0}, {4360, 4896, 5440, 0, 0, 0, 0}, {5903, 819, 1365, 0, 0, 0, 0}, {1642, 13056, 17408, 0, 0, 0, 0}, {283, 4128, 4883, 4176, 5140, 0, 0}, {1644, 8704, 21760, 0, 0, 0, 0}, {285, 4144, 4626, 4160, 5397, 0, 0}, {5896, 546, 1092, 0, 0, 0, 0}, {4367, 4656, 5200, 0, 0, 0, 0}, {112, 256, 0, 0, 0, 0, 0}, {1542, 4369, 0, 0, 0, 0, 0}, {1290, 4386, 768, 20560, 0, 0, 0}, {1036, 4403, 512, 16448, 0, 0, 0}, {780, 12336, 4420, 1280, 0, 0, 0}, {522, 8224, 4437, 1024, 0, 0, 0}, {262, 4112, 0, 0, 0, 0, 0}, {4471, 1536, 0, 0, 0, 0, 0}, {4472, 768, 1280, 0, 0, 0, 0}, {4377, 4883, 5397, 0, 0, 0, 0}, {266, 4128, 768, 4176, 1024, 0, 0}, {1548, 13107, 17476, 0, 0, 0, 0}, {268, 4144, 512, 4160, 1280, 0, 0}, {1546, 8738, 21845, 0, 0, 0, 0}, {4382, 4626, 5140, 0, 0, 0, 0}, {4479, 512, 1024, 0, 0, 0, 0}, {128, 512, 1024, 4352, 0, 0, 0}, {240, 771, 1285, 4369, 0, 0, 0}, {1546, 4386, 0, 0, 0, 0, 0}, {259, 4160, 0, 0, 0, 0, 0}, {1548, 4420, 0, 0, 0, 0, 0}, {4128, 261, 0, 0, 0, 0, 0}, {1036, 4454, 1542, 16448, 0, 0, 0}, {1295, 4471, 1536, 20480, 0, 0, 0}, {4488, 1536, 21760, 0, 0, 0, 0}, {265, 112, 771, 1285, 4112, 0, 0}, {522, 4896, 1024, 0, 0, 0, 0}, {1295, 771, 5188, 0, 0, 0, 0}, {1036, 512, 5440, 0, 0, 0, 0}, {783, 4642, 1285, 0, 0, 0, 0}, {4590, 1542, 17476, 0, 0, 0, 0}, {271, 112, 512, 1024, 4096, 0, 0}, {3840, 816, 1360, 4352, 0, 0, 0}, {2056, 546, 1092, 4369, 0, 0, 0}, {274, 4160, 0, 0, 0, 0, 0}, {5983, 4403, 0, 0, 0, 0, 0}, {4128, 276, 0, 0, 0, 0, 0}, {5951, 4437, 0, 0, 0, 0, 0}, {1370, 4454, 5888, 20480, 0, 0, 0}, {1096, 4471, 5911, 16448, 0, 0, 0}, {280, 1312, 1552, 1360, 4112, 0, 0}, {7509, 1638, 21845, 0, 0, 0, 0}, {4442, 816, 5120, 0, 0, 0, 0}, {4411, 4883, 1092, 0, 0, 0, 0}, {4412, 4608, 1360, 0, 0, 0, 0}, {4445, 546, 5397, 0, 0, 0, 0}, {286, 1076, 1558, 1092, 4096, 0, 0}, {7007, 1632, 17408, 0, 0, 0, 0}, {1696, 3072, 4352, 0, 0, 0, 0}, {289, 771, 337, 1028, 4369, 0, 0}, {1032, 4386, 4864, 16384, 0, 0, 0}, {1375, 4403, 771, 20560, 0, 0, 0}, {552, 8224, 4420, 1028, 0, 0, 0}, {783, 12288, 4437, 5120, 0, 0, 0}, {21260, 4454, 0, 0, 0, 0, 0}, {4359, 4176, 0, 0, 0, 0, 0}, {4360, 4896, 5376, 0, 0, 0, 0}, {5180, 771, 1365, 0, 0, 0, 0}, {4522, 5888, 17408, 0, 0, 0, 0}, {347, 112, 771, 1028, 4112, 0, 0}, {3084, 5984, 21760, 0, 0, 0, 0}, {1032, 1317, 1799, 1365, 4096, 0, 0}, {4940, 546, 1028, 0, 0, 0, 0}, {4367, 4608, 5200, 0, 0, 0, 0}, {304, 512, 320, 1280, 4352, 0, 0}, {1734, 2570, 4369, 0, 0, 0, 0}, {1290, 4386, 4626, 20560, 0, 0, 0}, {1100, 4403, 512, 16384, 0, 0, 0}, {828, 12288, 4420, 1280, 0, 0, 0}, {522, 8224, 4437, 5397, 0, 0, 0}, {4374, 4176, 0, 0, 0, 0, 0}, {16968, 4471, 0, 0, 0, 0, 0}, {4680, 816, 1280, 0, 0, 0, 0}, {4377, 4883, 5461, 0, 0, 0, 0}, {1290, 1072, 1792, 1088, 4112, 0, 0}, {2560, 6007, 17476, 0, 0, 0, 0}, {332, 112, 512, 1280, 4096, 0, 0}, {4573, 5911, 21845, 0, 0, 0, 0}, {4382, 4642, 5140, 0, 0, 0, 0}, {5439, 512, 1088, 0, 0, 0, 0}, {1728, 2560, 4352, 0, 0, 0, 0}, {305, 514, 321, 1285, 4369, 0, 0}, {1096, 4386, 514, 16448, 0, 0, 0}, {1295, 4403, 4608, 20480, 0, 0, 0}, {520, 8192, 4420, 5376, 0, 0, 0}, {831, 12336, 4437, 1285, 0, 0, 0}, {16906, 4454, 0, 0, 0, 0, 0}, {4359, 4160, 0, 0, 0, 0, 0}, {4360, 4864, 5440, 0, 0, 0, 0}, {4698, 819, 1285, 0, 0, 0, 0}, {2570, 5984, 17408, 0, 0, 0, 0}, {1295, 1076, 1799, 1092, 4096, 0, 0}, {4556, 5888, 21760, 0, 0, 0, 0}, {333, 112, 514, 1285, 4112, 0, 0}, {5418, 514, 1092, 0, 0, 0, 0}, {4367, 4656, 5120, 0, 0, 0, 0}, {288, 768, 336, 1024, 4352, 0, 0}, {1702, 3084, 4369, 0, 0, 0, 0}, {1370, 4386, 768, 20480, 0, 0, 0}, {1036, 4403, 4883, 16448, 0, 0, 0}, {780, 12336, 4420, 5140, 0, 0, 0}, {554, 8192, 4437, 1024, 0, 0, 0}, {4374, 4160, 0, 0, 0, 0, 0}, {21343, 4471, 0, 0, 0, 0, 0}, {5160, 768, 1360, 0, 0, 0, 0}, {4377, 4915, 5397, 0, 0, 0, 0}, {346, 112, 768, 1024, 4096, 0, 0}, {4539, 5911, 17476, 0, 0, 0, 0}, {1036, 1312, 1792, 1360, 4112, 0, 0}, {3072, 6007, 21845, 0, 0, 0, 0}, {4382, 4626, 5188, 0, 0, 0, 0}, {4959, 544, 1024, 0, 0, 0, 0}, {2048, 544, 1088, 4352, 0, 0, 0}, {3855, 819, 1365, 4369, 0, 0, 0}, {5960, 4386, 0, 0, 0, 0, 0}, {275, 4176, 0, 0, 0, 0, 0}, {5928, 4420, 0, 0, 0, 0, 0}, {4144, 277, 0, 0, 0, 0, 0}, {1100, 4454, 5888, 16384, 0, 0, 0}, {1375, 4471, 5911, 20560, 0, 0, 0}, {7496, 1632, 21760, 0, 0, 0, 0}, {281, 1317, 1558, 1365, 4096, 0, 0}, {4394, 4864, 1088, 0, 0, 0, 0}, {4427, 819, 5140, 0, 0, 0, 0}, {4428, 544, 5376, 0, 0, 0, 0}, {4397, 4626, 1365, 0, 0, 0, 0}, {6980, 1638, 17476, 0, 0, 0, 0}, {287, 1072, 1552, 1088, 4112, 0, 0}, {240, 768, 1280, 4352, 0, 0, 0}, {128, 514, 1028, 4369, 0, 0, 0}, {258, 4176, 0, 0, 0, 0, 0}, {1548, 4403, 0, 0, 0, 0, 0}, {4144, 260, 0, 0, 0, 0, 0}, {1546, 4437, 0, 0, 0, 0, 0}, {1290, 4454, 1542, 20560, 0, 0, 0}, {1032, 4471, 1536, 16384, 0, 0, 0}, {264, 112, 768, 1280, 4096, 0, 0}, {4505, 1542, 21845, 0, 0, 0, 0}, {1290, 768, 5200, 0, 0, 0, 0}, {520, 4915, 1028, 0, 0, 0, 0}, {780, 4656, 1280, 0, 0, 0, 0}, {1032, 514, 5461, 0, 0, 0, 0}, {270, 112, 514, 1028, 4112, 0, 0}, {4607, 1536, 17408, 0, 0, 0, 0}, {2560, 8704, 20480, 0, 0, 0, 0}, {12, 51, 64, 257, 0, 0, 0}, {20512, 514, 0, 0, 0, 0, 0}, {1283, 4352, 0, 0, 0, 0, 0}, {12, 516, 64, 1028, 4096, 0, 0}, {255, 8789, 1285, 0, 0, 0, 0}, {12, 5216, 1542, 17408, 0, 0, 0}, {1295, 1392, 1799, 21760, 0, 0, 0}, {520, 8192, 20480, 0, 0, 0, 0}, {12, 51, 771, 4437, 1285, 0, 0}, {29194, 0, 0, 0, 0, 0, 0}, {4099, 4356, 0, 0, 0, 0, 0}, {12, 4608, 5120, 0, 0, 0, 0}, {127, 514, 1285, 0, 0, 0, 0}, {12, 4128, 514, 64, 1028, 0, 0}, {1295, 8704, 21760, 0, 0, 0, 0}, {2048, 544, 64, 4112, 0, 0, 0}, {3840, 51, 1365, 4369, 0, 0, 0}, {20528, 4626, 0, 0, 0, 0, 0}, {1299, 4352, 0, 0, 0, 0, 0}, {204, 8772, 5140, 0, 0, 0, 0}, {63, 533, 64, 1301, 4096, 0, 0}, {76, 5232, 5654, 17408, 0, 0, 0}, {1375, 1376, 5911, 21760, 0, 0, 0}, {4728, 12336, 20560, 0, 0, 0, 0}, {4377, 51, 4864, 4437, 5120, 0, 0}, {4634, 4144, 64, 0, 0, 0, 0}, {5147, 51, 4420, 0, 0, 0, 0}, {5148, 544, 5200, 0, 0, 0, 0}, {4637, 4642, 1365, 0, 0, 0, 0}, {5240, 8738, 17476, 0, 0, 0, 0}, {4127, 4128, 4608, 64, 5376, 0, 0}, {20512, 20992, 0, 0, 0, 0, 0}, {1366, 4369, 0, 0, 0, 0, 0}, {2730, 8738, 20480, 0, 0, 0, 0}, {12, 771, 1024, 272, 0, 0, 0}, {12, 5156, 4676, 17476, 0, 0, 0}, {1370, 1317, 597, 21845, 0, 0, 0}, {12, 550, 64, 1024, 4096, 0, 0}, {3855, 10023, 1360, 0, 0, 0, 0}, {29224, 0, 0, 0, 0, 0, 0}, {4099, 4373, 0, 0, 0, 0, 0}, {554, 8192, 20480, 0, 0, 0, 0}, {12, 51, 771, 4420, 5140, 0, 0}, {12, 4128, 4608, 64, 1024, 0, 0}, {1370, 8738, 21845, 0, 0, 0, 0}, {12, 4642, 5188, 0, 0, 0, 0}, {1807, 544, 1360, 0, 0, 0, 0}, {20528, 16896, 0, 0, 0, 0, 0}, {1350, 4369, 0, 0, 0, 0, 0}, {514, 64, 4112, 0, 0, 0, 0}, {51, 1280, 4352, 0, 0, 0, 0}, {76, 5172, 580, 17476, 0, 0, 0}, {1290, 1333, 4693, 21845, 0, 0, 0}, {2570, 13878, 5200, 0, 0, 0, 0}, {520, 567, 64, 1280, 4096, 0, 0}, {520, 4144, 64, 0, 0, 0, 0}, {1290, 51, 4437, 0, 0, 0, 0}, {4698, 12336, 20560, 0, 0, 0, 0}, {4360, 51, 4864, 4420, 1280, 0, 0}, {5180, 8704, 17408, 0, 0, 0, 0}, {4127, 4128, 514, 64, 5397, 0, 0}, {76, 514, 5140, 0, 0, 0, 0}, {63, 4608, 1280, 0, 0, 0, 0}, {512, 64, 4096, 0, 0, 0, 0}, {51, 1285, 4369, 0, 0, 0, 0}, {20576, 16962, 0, 0, 0, 0, 0}, {1347, 4352, 0, 0, 0, 0, 0}, {2560, 13824, 5188, 0, 0, 0, 0}, {522, 565, 64, 1285, 4112, 0, 0}, {76, 5152, 582, 17408, 0, 0, 0}, {1295, 1328, 4679, 21760, 0, 0, 0}, {4680, 12288, 20480, 0, 0, 0, 0}, {4377, 51, 4883, 4437, 1285, 0, 0}, {522, 4128, 64, 0, 0, 0, 0}, {1295, 51, 4420, 0, 0, 0, 0}, {76, 512, 5120, 0, 0, 0, 0}, {63, 4626, 1285, 0, 0, 0, 0}, {5160, 8738, 17476, 0, 0, 0, 0}, {4111, 4144, 512, 64, 5376, 0, 0}, {2720, 8704, 20560, 0, 0, 0, 0}, {12, 768, 1028, 273, 0, 0, 0}, {20592, 21074, 0, 0, 0, 0, 0}, {1363, 4352, 0, 0, 0, 0, 0}, {12, 548, 64, 1028, 4112, 0, 0}, {3840, 9984, 1365, 0, 0, 0, 0}, {12, 5168, 4694, 17408, 0, 0, 0}, {1375, 1312, 599, 21760, 0, 0, 0}, {552, 8224, 20560, 0, 0, 0, 0}, {12, 51, 768, 4437, 5120, 0, 0}, {29274, 0, 0, 0, 0, 0, 0}, {4115, 4356, 0, 0, 0, 0, 0}, {12, 4656, 5200, 0, 0, 0, 0}, {1800, 546, 1365, 0, 0, 0, 0}, {12, 4144, 4626, 64, 1028, 0, 0}, {1375, 8704, 21760, 0, 0, 0, 0}, {20576, 4608, 0, 0, 0, 0, 0}, {1302, 4369, 0, 0, 0, 0, 0}, {2056, 546, 64, 4096, 0, 0, 0}, {3855, 51, 1360, 4352, 0, 0, 0}, {76, 5220, 5632, 17476, 0, 0, 0}, {1370, 1381, 5888, 21845, 0, 0, 0}, {204, 8806, 5120, 0, 0, 0, 0}, {63, 535, 64, 1296, 4112, 0, 0}, {4616, 4128, 64, 0, 0, 0, 0}, {5135, 51, 4437, 0, 0, 0, 0}, {4714, 12288, 20480, 0, 0, 0, 0}, {4360, 51, 4883, 4420, 5140, 0, 0}, {5228, 8704, 17408, 0, 0, 0, 0}, {4111, 4144, 4626, 64, 5397, 0, 0}, {5128, 546, 5188, 0, 0, 0, 0}, {4623, 4656, 1360, 0, 0, 0, 0}, {20592, 512, 0, 0, 0, 0, 0}, {1286, 4369, 0, 0, 0, 0, 0}, {2570, 8738, 20560, 0, 0, 0, 0}, {12, 51, 64, 256, 0, 0, 0}, {12, 5236, 1536, 17476, 0, 0, 0}, {1290, 1397, 1792, 21845, 0, 0, 0}, {12, 518, 64, 1024, 4112, 0, 0}, {255, 8823, 1280, 0, 0, 0, 0}, {29304, 0, 0, 0, 0, 0, 0}, {4115, 4373, 0, 0, 0, 0, 0}, {522, 8224, 20560, 0, 0, 0, 0}, {12, 51, 768, 4420, 1280, 0, 0}, {12, 4144, 512, 64, 1024, 0, 0}, {1290, 8738, 21845, 0, 0, 0, 0}, {12, 4626, 5140, 0, 0, 0, 0}, {127, 512, 1280, 0, 0, 0, 0}, {128, 512, 20480, 0, 0, 0, 0}, {12, 51, 771, 1285, 4369, 0, 0}, {20640, 2570, 8738, 0, 0, 0, 0}, {259, 64, 1024, 4352, 0, 0, 0}, {12, 1536, 5188, 0, 0, 0, 0}, {522, 629, 1285, 0, 0, 0, 0}, {12, 4128, 518, 64, 1024, 0, 0}, {1295, 8823, 21760, 0, 0, 0, 0}, {8840, 2560, 20480, 0, 0, 0, 0}, {51, 771, 261, 4112, 0, 0, 0}, {522, 20512, 0, 0, 0, 0, 0}, {1283, 4420, 0, 0, 0, 0, 0}, {12, 512, 64, 1024, 4096, 0, 0}, {255, 8738, 1285, 0, 0, 0, 0}, {12, 5156, 1542, 17476, 0, 0, 0}, {1295, 1392, 512, 21760, 0, 0, 0}, {6224, 4656, 20560, 0, 0, 0, 0}, {1305, 51, 529, 1365, 4369, 0, 0}, {4144, 4626, 64, 0, 0, 0, 0}, {1375, 51, 4352, 0, 0, 0, 0}, {76, 612, 5140, 0, 0, 0, 0}, {63, 5888, 1365, 0, 0, 0, 0}, {5180, 8806, 17408, 0, 0, 0, 0}, {4127, 4128, 535, 64, 5376, 0, 0}, {552, 64, 4112, 0, 0, 0, 0}, {51, 4437, 5120, 0, 0, 0, 0}, {4698, 20528, 0, 0, 0, 0, 0}, {1299, 4420, 0, 0, 0, 0, 0}, {7740, 8704, 5200, 0, 0, 0, 0}, {541, 546, 64, 1301, 4096, 0, 0}, {76, 5172, 5654, 17476, 0, 0, 0}, {1375, 1376, 4608, 21760, 0, 0, 0}, {20640, 23040, 8704, 0, 0, 0, 0}, {274, 64, 1028, 4369, 0, 0, 0}, {2056, 546, 20480, 0, 0, 0, 0}, {12, 51, 771, 1360, 4352, 0, 0}, {12, 4128, 4612, 64, 1028, 0, 0}, {1370, 8789, 21845, 0, 0, 0, 0}, {12, 4710, 5120, 0, 0, 0, 0}, {1327, 1799, 1360, 0, 0, 0, 0}, {21000, 20512, 0, 0, 0, 0, 0}, {5123, 4437, 0, 0, 0, 0, 0}, {8874, 10240, 20480, 0, 0, 0, 0}, {51, 771, 276, 4112, 0, 0, 0}, {12, 5216, 4608, 17408, 0, 0, 0}, {1370, 1317, 1799, 21845, 0, 0, 0}, {12, 546, 64, 1028, 4096, 0, 0}, {3855, 8704, 1360, 0, 0, 0, 0}, {4144, 512, 64, 0, 0, 0, 0}, {1290, 51, 4369, 0, 0, 0, 0}, {192, 4626, 20560, 0, 0, 0, 0}, {76, 51, 512, 1280, 4352, 0, 0}, {5240, 8772, 17476, 0, 0, 0, 0}, {4127, 4128, 4629, 64, 5397, 0, 0}, {5148, 5654, 5200, 0, 0, 0, 0}, {4680, 4727, 1280, 0, 0, 0, 0}, {16968, 20528, 0, 0, 0, 0, 0}, {5139, 4437, 0, 0, 0, 0, 0}, {522, 64, 4112, 0, 0, 0, 0}, {51, 4420, 1280, 0, 0, 0, 0}, {76, 5232, 512, 17408, 0, 0, 0}, {1290, 1333, 5911, 21845, 0, 0, 0}, {204, 8738, 5140, 0, 0, 0, 0}, {63, 512, 64, 1280, 4096, 0, 0}, {192, 4608, 20480, 0, 0, 0, 0}, {76, 51, 514, 1285, 4369, 0, 0}, {4128, 514, 64, 0, 0, 0, 0}, {1295, 51, 4352, 0, 0, 0, 0}, {5128, 5632, 5188, 0, 0, 0, 0}, {4698, 4709, 1285, 0, 0, 0, 0}, {5228, 8806, 17408, 0, 0, 0, 0}, {4111, 4144, 4615, 64, 5376, 0, 0}, {520, 64, 4096, 0, 0, 0, 0}, {51, 4437, 1285, 0, 0, 0, 0}, {16906, 20576, 0, 0, 0, 0, 0}, {5127, 4420, 0, 0, 0, 0, 0}, {204, 8704, 5120, 0, 0, 0, 0}, {63, 514, 64, 1285, 4112, 0, 0}, {76, 5220, 514, 17476, 0, 0, 0}, {1295, 1328, 5888, 21760, 0, 0, 0}, {2048, 544, 20560, 0, 0, 0, 0}, {12, 51, 768, 1365, 4369, 0, 0}, {20720, 23130, 8738, 0, 0, 0, 0}, {275, 64, 1024, 4352, 0, 0, 0}, {12, 4724, 5140, 0, 0, 0, 0}, {1322, 1792, 1365, 0, 0, 0, 0}, {12, 4144, 4630, 64, 1024, 0, 0}, {1375, 8823, 21760, 0, 0, 0, 0}, {8840, 10280, 20560, 0, 0, 0, 0}, {51, 768, 277, 4096, 0, 0, 0}, {21082, 20592, 0, 0, 0, 0, 0}, {5143, 4420, 0, 0, 0, 0, 0}, {12, 544, 64, 1024, 4112, 0, 0}, {3840, 8738, 1365, 0, 0, 0, 0}, {12, 5236, 4626, 17476, 0, 0, 0}, {1375, 1312, 1792, 21760, 0, 0, 0}, {4128, 4608, 64, 0, 0, 0, 0}, {1370, 51, 4369, 0, 0, 0, 0}, {6216, 4642, 20480, 0, 0, 0, 0}, {1308, 51, 531, 1360, 4352, 0, 0}, {5160, 8772, 17476, 0, 0, 0, 0}, {4111, 4144, 533, 64, 5397, 0, 0}, {76, 614, 5120, 0, 0, 0, 0}, {63, 5911, 1360, 0, 0, 0, 0}, {4680, 20576, 0, 0, 0, 0, 0}, {1302, 4437, 0, 0, 0, 0, 0}, {554, 64, 4096, 0, 0, 0, 0}, {51, 4420, 5140, 0, 0, 0, 0}, {76, 5152, 5632, 17408, 0, 0, 0}, {1370, 1381, 4626, 21845, 0, 0, 0}, {7714, 8738, 5188, 0, 0, 0, 0}, {543, 544, 64, 1296, 4112, 0, 0}, {20720, 2560, 8704, 0, 0, 0, 0}, {258, 64, 1028, 4369, 0, 0, 0}, {128, 514, 20560, 0, 0, 0, 0}, {12, 51, 768, 1280, 4352, 0, 0}, {12, 4144, 516, 64, 1028, 0, 0}, {1290, 8789, 21845, 0, 0, 0, 0}, {12, 1542, 5200, 0, 0, 0, 0}, {520, 631, 1280, 0, 0, 0, 0}, {520, 20592, 0, 0, 0, 0, 0}, {1286, 4437, 0, 0, 0, 0, 0}, {8874, 2570, 20560, 0, 0, 0, 0}, {51, 768, 260, 4096, 0, 0, 0}, {12, 5168, 1536, 17408, 0, 0, 0}, {1290, 1397, 514, 21845, 0, 0, 0}, {12, 514, 64, 1028, 4112, 0, 0}, {255, 8704, 1280, 0, 0, 0, 0}, {3072, 13056, 16384, 0, 0, 0, 0}, {10, 34, 80, 257, 0, 0, 0}, {1026, 4352, 0, 0, 0, 0, 0}, {16432, 771, 0, 0, 0, 0, 0}, {136, 13124, 1028, 0, 0, 0, 0}, {10, 773, 80, 1285, 4096, 0, 0}, {10, 5472, 1542, 21760, 0, 0, 0}, {1032, 1136, 1799, 17408, 0, 0, 0}, {1032, 13056, 17408, 0, 0, 0, 0}, {10, 4144, 771, 80, 1285, 0, 0}, {10, 4864, 5376, 0, 0, 0, 0}, {120, 771, 1028, 0, 0, 0, 0}, {29452, 0, 0, 0, 0, 0, 0}, {4098, 4357, 0, 0, 0, 0, 0}, {10, 34, 514, 4420, 1028, 0, 0}, {783, 12288, 16384, 0, 0, 0, 0}, {3840, 816, 80, 4112, 0, 0, 0}, {2048, 34, 1092, 4369, 0, 0, 0}, {1042, 4352, 0, 0, 0, 0, 0}, {16416, 4883, 0, 0, 0, 0, 0}, {40, 788, 80, 1044, 4096, 0, 0}, {170, 13141, 5397, 0, 0, 0, 0}, {90, 5488, 5654, 21760, 0, 0, 0}, {1096, 1120, 5911, 17408, 0, 0, 0}, {4120, 4144, 4864, 80, 5120, 0, 0}, {5503, 13107, 21845, 0, 0, 0, 0}, {5402, 816, 5440, 0, 0, 0, 0}, {4891, 4915, 1092, 0, 0, 0, 0}, {4892, 4128, 80, 0, 0, 0, 0}, {5405, 34, 4437, 0, 0, 0, 0}, {4382, 34, 4608, 4420, 5376, 0, 0}, {4991, 8224, 16448, 0, 0, 0, 0}, {16416, 21248, 0, 0, 0, 0, 0}, {1110, 4369, 0, 0, 0, 0, 0}, {34, 1024, 4352, 0, 0, 0, 0}, {771, 80, 4112, 0, 0, 0, 0}, {1036, 1060, 4932, 17476, 0, 0, 0}, {90, 5413, 853, 21845, 0, 0, 0}, {3084, 9766, 5440, 0, 0, 0, 0}, {783, 807, 80, 1024, 4096, 0, 0}, {40, 4864, 1024, 0, 0, 0, 0}, {90, 771, 5397, 0, 0, 0, 0}, {5418, 13056, 21760, 0, 0, 0, 0}, {4120, 4144, 771, 80, 5140, 0, 0}, {4940, 8224, 16448, 0, 0, 0, 0}, {4367, 34, 4608, 4437, 1024, 0, 0}, {1036, 34, 4420, 0, 0, 0, 0}, {783, 4128, 80, 0, 0, 0, 0}, {16432, 17152, 0, 0, 0, 0, 0}, {1094, 4369, 0, 0, 0, 0, 0}, {10, 514, 1280, 272, 0, 0, 0}, {3276, 13107, 16384, 0, 0, 0, 0}, {1100, 1076, 836, 17476, 0, 0, 0}, {10, 5429, 4949, 21845, 0, 0, 0}, {10, 822, 80, 1280, 4096, 0, 0}, {2056, 14135, 1088, 0, 0, 0, 0}, {1800, 816, 1088, 0, 0, 0, 0}, {10, 4915, 5461, 0, 0, 0, 0}, {10, 4144, 4864, 80, 1280, 0, 0}, {1100, 13107, 17476, 0, 0, 0, 0}, {828, 12288, 16384, 0, 0, 0, 0}, {10, 34, 514, 4437, 5397, 0, 0}, {4098, 4372, 0, 0, 0, 0, 0}, {29503, 0, 0, 0, 0, 0, 0}, {3264, 13056, 16448, 0, 0, 0, 0}, {10, 512, 1285, 273, 0, 0, 0}, {1090, 4352, 0, 0, 0, 0, 0}, {16496, 17219, 0, 0, 0, 0, 0}, {2048, 14080, 1092, 0, 0, 0, 0}, {10, 821, 80, 1285, 4112, 0, 0}, {10, 5408, 4934, 21760, 0, 0, 0}, {1096, 1072, 839, 17408, 0, 0, 0}, {1096, 13056, 17408, 0, 0, 0, 0}, {10, 4128, 4883, 80, 1285, 0, 0}, {10, 4896, 5440, 0, 0, 0, 0}, {1807, 819, 1092, 0, 0, 0, 0}, {29516, 0, 0, 0, 0, 0, 0}, {4114, 4357, 0, 0, 0, 0, 0}, {10, 34, 512, 4420, 5376, 0, 0}, {831, 12336, 16448, 0, 0, 0, 0}, {768, 80, 4096, 0, 0, 0, 0}, {34, 1028, 4369, 0, 0, 0, 0}, {1106, 4352, 0, 0, 0, 0, 0}, {16480, 21331, 0, 0, 0, 0, 0}, {780, 804, 80, 1028, 4112, 0, 0}, {3072, 9728, 5461, 0, 0, 0, 0}, {90, 5424, 854, 21760, 0, 0, 0}, {1032, 1056, 4951, 17408, 0, 0, 0}, {4104, 4128, 768, 80, 5120, 0, 0}, {5439, 13107, 21845, 0, 0, 0, 0}, {90, 768, 5376, 0, 0, 0, 0}, {40, 4883, 1028, 0, 0, 0, 0}, {780, 4144, 80, 0, 0, 0, 0}, {1032, 34, 4437, 0, 0, 0, 0}, {4382, 34, 4626, 4420, 1028, 0, 0}, {4959, 8192, 16384, 0, 0, 0, 0}, {16480, 4864, 0, 0, 0, 0, 0}, {1046, 4369, 0, 0, 0, 0, 0}, {2056, 34, 1088, 4352, 0, 0, 0}, {3855, 819, 80, 4096, 0, 0, 0}, {1100, 1124, 5888, 17476, 0, 0, 0}, {90, 5477, 5632, 21845, 0, 0, 0}, {170, 13158, 5376, 0, 0, 0, 0}, {40, 791, 80, 1040, 4112, 0, 0}, {4872, 4896, 1088, 0, 0, 0, 0}, {5391, 819, 5461, 0, 0, 0, 0}, {5482, 13056, 21760, 0, 0, 0, 0}, {4104, 4128, 4883, 80, 5140, 0, 0}, {4972, 8192, 16384, 0, 0, 0, 0}, {4367, 34, 4626, 4437, 5397, 0, 0}, {5384, 34, 4420, 0, 0, 0, 0}, {4879, 4144, 80, 0, 0, 0, 0}, {16496, 768, 0, 0, 0, 0, 0}, {1030, 4369, 0, 0, 0, 0, 0}, {10, 34, 80, 256, 0, 0, 0}, {3084, 13107, 16448, 0, 0, 0, 0}, {1036, 1140, 1792, 17476, 0, 0, 0}, {10, 5493, 1536, 21845, 0, 0, 0}, {10, 774, 80, 1280, 4112, 0, 0}, {136, 13175, 1024, 0, 0, 0, 0}, {120, 768, 1024, 0, 0, 0, 0}, {10, 4883, 5397, 0, 0, 0, 0}, {10, 4128, 768, 80, 1280, 0, 0}, {1036, 13107, 17476, 0, 0, 0, 0}, {780, 12336, 16448, 0, 0, 0, 0}, {10, 34, 512, 4437, 1024, 0, 0}, {4114, 4372, 0, 0, 0, 0, 0}, {29567, 0, 0, 0, 0, 0, 0}, {16512, 3072, 13056, 0, 0, 0, 0}, {259, 80, 1285, 4369, 0, 0, 0}, {10, 34, 512, 1024, 4352, 0, 0}, {240, 771, 16448, 0, 0, 0, 0}, {1036, 13124, 17476, 0, 0, 0, 0}, {10, 4128, 773, 80, 1285, 0, 0}, {10, 1542, 5440, 0, 0, 0, 0}, {783, 887, 1024, 0, 0, 0, 0}, {136, 13056, 1024, 0, 0, 0, 0}, {10, 771, 80, 1285, 4112, 0, 0}, {10, 5408, 1536, 21760, 0, 0, 0}, {1036, 1140, 771, 17476, 0, 0, 0}, {13260, 3084, 16448, 0, 0, 0, 0}, {34, 512, 261, 4096, 0, 0, 0}, {1030, 4420, 0, 0, 0, 0, 0}, {783, 16496, 0, 0, 0, 0, 0}, {4144, 4864, 80, 0, 0, 0, 0}, {1100, 34, 4369, 0, 0, 0, 0}, {1050, 34, 786, 1088, 4352, 0, 0}, {8031, 4915, 16384, 0, 0, 0, 0}, {4104, 4128, 788, 80, 5140, 0, 0}, {5439, 13141, 21845, 0, 0, 0, 0}, {90, 870, 5376, 0, 0, 0, 0}, {40, 5911, 1088, 0, 0, 0, 0}, {792, 816, 80, 1040, 4112, 0, 0}, {6451, 13107, 5461, 0, 0, 0, 0}, {90, 5424, 5632, 21760, 0, 0, 0}, {1100, 1124, 4883, 17476, 0, 0, 0}, {828, 80, 4096, 0, 0, 0, 0}, {34, 4437, 5397, 0, 0, 0, 0}, {1046, 4420, 0, 0, 0, 0, 0}, {4959, 16480, 0, 0, 0, 0, 0}, {160, 4864, 16384, 0, 0, 0, 0}, {90, 34, 771, 1028, 4369, 0, 0}, {1032, 34, 4352, 0, 0, 0, 0}, {4144, 771, 80, 0, 0, 0, 0}, {4940, 4964, 1028, 0, 0, 0, 0}, {5391, 5632, 5461, 0, 0, 0, 0}, {5482, 13158, 21760, 0, 0, 0, 0}, {4104, 4128, 4871, 80, 5120, 0, 0}, {1032, 1056, 5888, 17408, 0, 0, 0}, {90, 5477, 771, 21845, 0, 0, 0}, {170, 13056, 5376, 0, 0, 0, 0}, {40, 771, 80, 1028, 4112, 0, 0}, {21260, 16480, 0, 0, 0, 0, 0}, {5383, 4437, 0, 0, 0, 0, 0}, {34, 4420, 1028, 0, 0, 0, 0}, {783, 80, 4096, 0, 0, 0, 0}, {3840, 816, 16448, 0, 0, 0, 0}, {10, 34, 512, 1092, 4369, 0, 0}, {274, 80, 1280, 4352, 0, 0, 0}, {16512, 19532, 13107, 0, 0, 0, 0}, {1084, 1792, 1092, 0, 0, 0, 0}, {10, 4981, 5397, 0, 0, 0, 0}, {10, 4128, 4886, 80, 1280, 0, 0}, {1096, 13175, 17408, 0, 0, 0, 0}, {1096, 1072, 1792, 17408, 0, 0, 0}, {10, 5493, 4883, 21845, 0, 0, 0}, {10, 816, 80, 1280, 4112, 0, 0}, {2048, 13107, 1092, 0, 0, 0, 0}, {17228, 16496, 0, 0, 0, 0, 0}, {5399, 4437, 0, 0, 0, 0, 0}, {34, 512, 276, 4096, 0, 0, 0}, {13311, 16191, 16448, 0, 0, 0, 0}, {16576, 19456, 13056, 0, 0, 0, 0}, {275, 80, 1285, 4369, 0, 0, 0}, {10, 34, 514, 1088, 4352, 0, 0}, {3855, 819, 16384, 0, 0, 0, 0}, {1100, 13124, 17476, 0, 0, 0, 0}, {10, 4144, 4869, 80, 1285, 0, 0}, {10, 4966, 5376, 0, 0, 0, 0}, {1080, 1799, 1088, 0, 0, 0, 0}, {2056, 13056, 1088, 0, 0, 0, 0}, {10, 819, 80, 1285, 4096, 0, 0}, {10, 5472, 4864, 21760, 0, 0, 0}, {1100, 1076, 1799, 17476, 0, 0, 0}, {13260, 16128, 16384, 0, 0, 0, 0}, {34, 514, 277, 4112, 0, 0, 0}, {5378, 4420, 0, 0, 0, 0, 0}, {17167, 16432, 0, 0, 0, 0, 0}, {4128, 768, 80, 0, 0, 0, 0}, {1036, 34, 4369, 0, 0, 0, 0}, {90, 34, 768, 1024, 4352, 0, 0}, {160, 4883, 16448, 0, 0, 0, 0}, {4120, 4144, 4884, 80, 5140, 0, 0}, {5503, 13141, 21845, 0, 0, 0, 0}, {5402, 5654, 5440, 0, 0, 0, 0}, {4959, 4983, 1024, 0, 0, 0, 0}, {40, 768, 80, 1024, 4096, 0, 0}, {170, 13107, 5397, 0, 0, 0, 0}, {90, 5488, 768, 21760, 0, 0, 0}, {1036, 1060, 5911, 17476, 0, 0, 0}, {780, 80, 4112, 0, 0, 0, 0}, {34, 4437, 1024, 0, 0, 0, 0}, {5394, 4420, 0, 0, 0, 0, 0}, {21343, 16416, 0, 0, 0, 0, 0}, {8000, 4896, 16448, 0, 0, 0, 0}, {1054, 34, 785, 1092, 4369, 0, 0}, {1096, 34, 4352, 0, 0, 0, 0}, {4128, 4883, 80, 0, 0, 0, 0}, {40, 5888, 1092, 0, 0, 0, 0}, {90, 869, 5397, 0, 0, 0, 0}, {5418, 13158, 21760, 0, 0, 0, 0}, {4120, 4144, 791, 80, 5120, 0, 0}, {1096, 1120, 4864, 17408, 0, 0, 0}, {90, 5413, 5654, 21845, 0, 0, 0}, {6442, 13056, 5440, 0, 0, 0, 0}, {795, 819, 80, 1044, 4096, 0, 0}, {4940, 16416, 0, 0, 0, 0, 0}, {1042, 4437, 0, 0, 0, 0, 0}, {34, 4420, 5376, 0, 0, 0, 0}, {831, 80, 4112, 0, 0, 0, 0}, {240, 768, 16384, 0, 0, 0, 0}, {10, 34, 514, 1028, 4369, 0, 0}, {258, 80, 1280, 4352, 0, 0, 0}, {16576, 3084, 13107, 0, 0, 0, 0}, {780, 884, 1028, 0, 0, 0, 0}, {10, 1536, 5461, 0, 0, 0, 0}, {10, 4144, 774, 80, 1280, 0, 0}, {1032, 13175, 17408, 0, 0, 0, 0}, {1032, 1136, 768, 17408, 0, 0, 0}, {10, 5429, 1542, 21845, 0, 0, 0}, {10, 768, 80, 1280, 4096, 0, 0}, {136, 13107, 1028, 0, 0, 0, 0}, {780, 16432, 0, 0, 0, 0, 0}, {1026, 4437, 0, 0, 0, 0, 0}, {34, 514, 260, 4112, 0, 0, 0}, {13311, 3072, 16384, 0, 0, 0, 0}, {3072, 12288, 17408, 0, 0, 0, 0}, {10, 32, 85, 257, 0, 0, 0}, {1026, 4096, 0, 0, 0, 0, 0}, {17459, 771, 0, 0, 0, 0, 0}, {128, 12352, 1028, 0, 0, 0, 0}, {10, 773, 85, 1285, 4352, 0, 0}, {10, 5222, 1542, 20480, 0, 0, 0}, {1032, 1143, 1799, 16384, 0, 0, 0}, {1032, 12288, 16384, 0, 0, 0, 0}, {10, 4403, 771, 85, 1285, 0, 0}, {10, 4608, 5120, 0, 0, 0, 0}, {127, 771, 1028, 0, 0, 0, 0}, {29708, 0, 0, 0, 0, 0, 0}, {4354, 4101, 0, 0, 0, 0, 0}, {10, 32, 514, 4160, 1028, 0, 0}, {783, 13056, 17408, 0, 0, 0, 0}, {2048, 32, 1088, 4112, 0, 0, 0}, {3840, 819, 85, 4369, 0, 0, 0}, {17442, 4626, 0, 0, 0, 0, 0}, {1043, 4096, 0, 0, 0, 0, 0}, {160, 12368, 5140, 0, 0, 0, 0}, {42, 789, 85, 1045, 4352, 0, 0}, {1100, 1126, 5654, 16384, 0, 0, 0}, {95, 5239, 5911, 20480, 0, 0, 0}, {5240, 12336, 20560, 0, 0, 0, 0}, {4377, 4403, 4608, 85, 5376, 0, 0}, {4634, 4656, 1088, 0, 0, 0, 0}, {5147, 819, 5188, 0, 0, 0, 0}, {5148, 32, 4176, 0, 0, 0, 0}, {4637, 4386, 85, 0, 0, 0, 0}, {4728, 8738, 17476, 0, 0, 0, 0}, {4127, 32, 4864, 4160, 5120, 0, 0}, {32, 1024, 4096, 0, 0, 0, 0}, {771, 85, 4369, 0, 0, 0, 0}, {17442, 22016, 0, 0, 0, 0, 0}, {1107, 4112, 0, 0, 0, 0, 0}, {3084, 9252, 5188, 0, 0, 0, 0}, {783, 805, 85, 1024, 4352, 0, 0}, {1036, 1062, 4672, 16448, 0, 0, 0}, {95, 5159, 848, 20560, 0, 0, 0}, {5160, 12288, 20480, 0, 0, 0, 0}, {4377, 4403, 771, 85, 5397, 0, 0}, {42, 4608, 1024, 0, 0, 0, 0}, {95, 771, 5140, 0, 0, 0, 0}, {1036, 32, 4160, 0, 0, 0, 0}, {783, 4386, 85, 0, 0, 0, 0}, {4680, 8738, 17476, 0, 0, 0, 0}, {4111, 32, 4864, 4176, 1024, 0, 0}, {3264, 12336, 17408, 0, 0, 0, 0}, {10, 514, 1280, 273, 0, 0, 0}, {1090, 4112, 0, 0, 0, 0, 0}, {17459, 18176, 0, 0, 0, 0, 0}, {2056, 13364, 1092, 0, 0, 0, 0}, {10, 821, 85, 1280, 4352, 0, 0}, {10, 5174, 4688, 20560, 0, 0, 0}, {1096, 1079, 832, 16448, 0, 0, 0}, {1096, 12336, 16448, 0, 0, 0, 0}, {10, 4403, 4608, 85, 1280, 0, 0}, {10, 4656, 5200, 0, 0, 0, 0}, {1800, 819, 1092, 0, 0, 0, 0}, {29756, 0, 0, 0, 0, 0, 0}, {4354, 4117, 0, 0, 0, 0, 0}, {10, 32, 514, 4176, 5140, 0, 0}, {831, 13056, 17408, 0, 0, 0, 0}, {2048, 13312, 1088, 0, 0, 0, 0}, {10, 822, 85, 1285, 4369, 0, 0}, {10, 5154, 4674, 20480, 0, 0, 0}, {1100, 1075, 835, 16384, 0, 0, 0}, {3276, 12288, 17476, 0, 0, 0, 0}, {10, 512, 1285, 272, 0, 0, 0}, {1094, 4096, 0, 0, 0, 0, 0}, {17527, 18247, 0, 0, 0, 0, 0}, {29768, 0, 0, 0, 0, 0, 0}, {4371, 4101, 0, 0, 0, 0, 0}, {10, 32, 512, 4160, 5120, 0, 0}, {828, 13107, 17476, 0, 0, 0, 0}, {1100, 12288, 16384, 0, 0, 0, 0}, {10, 4386, 4626, 85, 1285, 0, 0}, {10, 4642, 5188, 0, 0, 0, 0}, {1807, 816, 1088, 0, 0, 0, 0}, {3072, 9216, 5200, 0, 0, 0, 0}, {780, 806, 85, 1028, 4369, 0, 0}, {1032, 1058, 4690, 16384, 0, 0, 0}, {95, 5171, 851, 20480, 0, 0, 0}, {32, 1028, 4112, 0, 0, 0, 0}, {768, 85, 4352, 0, 0, 0, 0}, {17510, 22102, 0, 0, 0, 0, 0}, {1111, 4096, 0, 0, 0, 0, 0}, {1032, 32, 4176, 0, 0, 0, 0}, {780, 4403, 85, 0, 0, 0, 0}, {4698, 8704, 17408, 0, 0, 0, 0}, {4127, 32, 4883, 4160, 1028, 0, 0}, {5180, 12336, 20560, 0, 0, 0, 0}, {4360, 4386, 768, 85, 5376, 0, 0}, {42, 4626, 1028, 0, 0, 0, 0}, {95, 768, 5120, 0, 0, 0, 0}, {160, 12384, 5120, 0, 0, 0, 0}, {42, 790, 85, 1041, 4369, 0, 0}, {1096, 1122, 5632, 16448, 0, 0, 0}, {95, 5219, 5888, 20560, 0, 0, 0}, {2056, 32, 1092, 4096, 0, 0, 0}, {3855, 816, 85, 4352, 0, 0, 0}, {17510, 4608, 0, 0, 0, 0, 0}, {1047, 4112, 0, 0, 0, 0, 0}, {5128, 32, 4160, 0, 0, 0, 0}, {4623, 4403, 85, 0, 0, 0, 0}, {4714, 8704, 17408, 0, 0, 0, 0}, {4111, 32, 4883, 4176, 5140, 0, 0}, {5228, 12288, 20480, 0, 0, 0, 0}, {4360, 4386, 4626, 85, 5397, 0, 0}, {4616, 4642, 1092, 0, 0, 0, 0}, {5135, 816, 5200, 0, 0, 0, 0}, {128, 12400, 1024, 0, 0, 0, 0}, {10, 774, 85, 1280, 4369, 0, 0}, {10, 5234, 1536, 20560, 0, 0, 0}, {1036, 1139, 1792, 16448, 0, 0, 0}, {3084, 12336, 17476, 0, 0, 0, 0}, {10, 32, 85, 256, 0, 0, 0}, {1030, 4112, 0, 0, 0, 0, 0}, {17527, 768, 0, 0, 0, 0, 0}, {29816, 0, 0, 0, 0, 0, 0}, {4371, 4117, 0, 0, 0, 0, 0}, {10, 32, 512, 4176, 1024, 0, 0}, {780, 13107, 17476, 0, 0, 0, 0}, {1036, 12336, 16448, 0, 0, 0, 0}, {10, 4386, 768, 85, 1280, 0, 0}, {10, 4626, 5140, 0, 0, 0, 0}, {127, 768, 1024, 0, 0, 0, 0}, {128, 12288, 1024, 0, 0, 0, 0}, {10, 771, 85, 1285, 4369, 0, 0}, {10, 5154, 1536, 20480, 0, 0, 0}, {1036, 1139, 771, 16448, 0, 0, 0}, {12480, 3084, 17476, 0, 0, 0, 0}, {32, 512, 261, 4352, 0, 0, 0}, {1030, 4160, 0, 0, 0, 0, 0}, {783, 17527, 0, 0, 0, 0, 0}, {17544, 3072, 12288, 0, 0, 0, 0}, {259, 85, 1285, 4112, 0, 0, 0}, {10, 32, 512, 1024, 4096, 0, 0}, {255, 771, 17476, 0, 0, 0, 0}, {1036, 12352, 16448, 0, 0, 0, 0}, {10, 4386, 773, 85, 1285, 0, 0}, {10, 1542, 5188, 0, 0, 0, 0}, {783, 880, 1024, 0, 0, 0, 0}, {6192, 12336, 5200, 0, 0, 0, 0}, {793, 819, 85, 1041, 4369, 0, 0}, {1096, 1122, 4626, 16448, 0, 0, 0}, {95, 5171, 5888, 20480, 0, 0, 0}, {32, 4176, 5140, 0, 0, 0, 0}, {831, 85, 4352, 0, 0, 0, 0}, {4698, 17510, 0, 0, 0, 0, 0}, {1047, 4160, 0, 0, 0, 0, 0}, {1096, 32, 4112, 0, 0, 0, 0}, {4403, 4608, 85, 0, 0, 0, 0}, {7770, 4656, 17408, 0, 0, 0, 0}, {1051, 32, 787, 1092, 4096, 0, 0}, {5180, 12368, 20560, 0, 0, 0, 0}, {4360, 4386, 789, 85, 5397, 0, 0}, {42, 5654, 1092, 0, 0, 0, 0}, {95, 864, 5120, 0, 0, 0, 0}, {160, 12288, 5120, 0, 0, 0, 0}, {42, 771, 85, 1028, 4369, 0, 0}, {1032, 1058, 5632, 16384, 0, 0, 0}, {95, 5219, 771, 20560, 0, 0, 0}, {32, 4160, 1028, 0, 0, 0, 0}, {783, 85, 4352, 0, 0, 0, 0}, {22028, 17510, 0, 0, 0, 0, 0}, {5127, 4176, 0, 0, 0, 0, 0}, {1032, 32, 4096, 0, 0, 0, 0}, {4403, 771, 85, 0, 0, 0, 0}, {170, 4608, 17408, 0, 0, 0, 0}, {95, 32, 771, 1028, 4112, 0, 0}, {5228, 12384, 20480, 0, 0, 0, 0}, {4360, 4386, 4615, 85, 5376, 0, 0}, {4680, 4706, 1028, 0, 0, 0, 0}, {5135, 5888, 5200, 0, 0, 0, 0}, {2048, 12336, 1088, 0, 0, 0, 0}, {10, 819, 85, 1280, 4369, 0, 0}, {10, 5234, 4626, 20560, 0, 0, 0}, {1100, 1075, 1792, 16384, 0, 0, 0}, {12528, 15420, 17476, 0, 0, 0, 0}, {32, 512, 277, 4352, 0, 0, 0}, {5142, 4176, 0, 0, 0, 0, 0}, {18248, 17527, 0, 0, 0, 0, 0}, {17544, 18504, 12336, 0, 0, 0, 0}, {275, 85, 1280, 4096, 0, 0, 0}, {10, 32, 512, 1088, 4112, 0, 0}, {3840, 819, 17476, 0, 0, 0, 0}, {1100, 12400, 16384, 0, 0, 0, 0}, {10, 4386, 4631, 85, 1280, 0, 0}, {10, 4722, 5140, 0, 0, 0, 0}, {1087, 1792, 1088, 0, 0, 0, 0}, {12480, 15360, 17408, 0, 0, 0, 0}, {32, 514, 276, 4369, 0, 0, 0}, {5122, 4160, 0, 0, 0, 0, 0}, {18191, 17459, 0, 0, 0, 0, 0}, {2056, 12288, 1092, 0, 0, 0, 0}, {10, 816, 85, 1285, 4352, 0, 0}, {10, 5222, 4608, 20480, 0, 0, 0}, {1096, 1079, 1799, 16448, 0, 0, 0}, {1096, 12352, 16448, 0, 0, 0, 0}, {10, 4403, 4613, 85, 1285, 0, 0}, {10, 4704, 5120, 0, 0, 0, 0}, {1083, 1799, 1092, 0, 0, 0, 0}, {17612, 18432, 12288, 0, 0, 0, 0}, {274, 85, 1285, 4112, 0, 0, 0}, {10, 32, 514, 1092, 4096, 0, 0}, {3855, 816, 17408, 0, 0, 0, 0}, {32, 4176, 1024, 0, 0, 0, 0}, {780, 85, 4369, 0, 0, 0, 0}, {22106, 17442, 0, 0, 0, 0, 0}, {5139, 4160, 0, 0, 0, 0, 0}, {160, 12336, 5140, 0, 0, 0, 0}, {42, 768, 85, 1024, 4352, 0, 0}, {1036, 1062, 5654, 16448, 0, 0, 0}, {95, 5239, 768, 20480, 0, 0, 0}, {5240, 12368, 20560, 0, 0, 0, 0}, {4377, 4403, 4629, 85, 5397, 0, 0}, {4698, 4720, 1024, 0, 0, 0, 0}, {5147, 5911, 5188, 0, 0, 0, 0}, {1036, 32, 4112, 0, 0, 0, 0}, {4386, 768, 85, 0, 0, 0, 0}, {170, 4626, 17476, 0, 0, 0, 0}, {95, 32, 768, 1024, 4096, 0, 0}, {32, 4160, 5120, 0, 0, 0, 0}, {828, 85, 4369, 0, 0, 0, 0}, {4680, 17442, 0, 0, 0, 0, 0}, {1043, 4176, 0, 0, 0, 0, 0}, {6184, 12288, 5188, 0, 0, 0, 0}, {794, 816, 85, 1045, 4352, 0, 0}, {1100, 1126, 4608, 16384, 0, 0, 0}, {95, 5159, 5911, 20560, 0, 0, 0}, {5160, 12384, 20480, 0, 0, 0, 0}, {4377, 4403, 790, 85, 5376, 0, 0}, {42, 5632, 1088, 0, 0, 0, 0}, {95, 867, 5140, 0, 0, 0, 0}, {1100, 32, 4096, 0, 0, 0, 0}, {4386, 4626, 85, 0, 0, 0, 0}, {7748, 4642, 17476, 0, 0, 0, 0}, {1055, 32, 784, 1088, 4112, 0, 0}, {12528, 3072, 17408, 0, 0, 0, 0}, {32, 514, 260, 4369, 0, 0, 0}, {1026, 4176, 0, 0, 0, 0, 0}, {780, 17459, 0, 0, 0, 0, 0}, {128, 12336, 1028, 0, 0, 0, 0}, {10, 768, 85, 1280, 4352, 0, 0}, {10, 5174, 1542, 20560, 0, 0, 0}, {1032, 1143, 768, 16384, 0, 0, 0}, {1032, 12400, 16384, 0, 0, 0, 0}, {10, 4403, 774, 85, 1280, 0, 0}, {10, 1536, 5200, 0, 0, 0, 0}, {780, 883, 1028, 0, 0, 0, 0}, {17612, 3084, 12336, 0, 0, 0, 0}, {258, 85, 1280, 4096, 0, 0, 0}, {10, 32, 514, 1028, 4112, 0, 0}, {255, 768, 17408, 0, 0, 0, 0}, {2560, 8192, 21760, 0, 0, 0, 0}, {12, 48, 68, 257, 0, 0, 0}, {21794, 514, 0, 0, 0, 0, 0}, {1283, 4096, 0, 0, 0, 0, 0}, {12, 516, 68, 1028, 4352, 0, 0}, {240, 8272, 1285, 0, 0, 0, 0}, {12, 5478, 1542, 16384, 0, 0, 0}, {1295, 1399, 1799, 20480, 0, 0, 0}, {520, 8704, 21760, 0, 0, 0, 0}, {12, 48, 771, 4176, 1285, 0, 0}, {29962, 0, 0, 0, 0, 0, 0}, {4355, 4100, 0, 0, 0, 0, 0}, {12, 4864, 5376, 0, 0, 0, 0}, {120, 514, 1285, 0, 0, 0, 0}, {12, 4386, 514, 68, 1028, 0, 0}, {1295, 8192, 20480, 0, 0, 0, 0}, {3840, 48, 1360, 4112, 0, 0, 0}, {2048, 546, 68, 4369, 0, 0, 0}, {1298, 4096, 0, 0, 0, 0, 0}, {21811, 4883, 0, 0, 0, 0, 0}, {60, 532, 68, 1300, 4352, 0, 0}, {192, 8256, 5397, 0, 0, 0, 0}, {1370, 1382, 5654, 20480, 0, 0, 0}, {72, 5495, 5911, 16384, 0, 0, 0}, {4120, 48, 4608, 4176, 5376, 0, 0}, {4991, 13107, 21845, 0, 0, 0, 0}, {5402, 48, 4160, 0, 0, 0, 0}, {4891, 4403, 68, 0, 0, 0, 0}, {4892, 4896, 1360, 0, 0, 0, 0}, {5405, 546, 5461, 0, 0, 0, 0}, {4382, 4386, 4864, 68, 5120, 0, 0}, {5503, 8224, 16448, 0, 0, 0, 0}, {2720, 8224, 21760, 0, 0, 0, 0}, {12, 771, 1024, 273, 0, 0, 0}, {21794, 22272, 0, 0, 0, 0, 0}, {1363, 4112, 0, 0, 0, 0, 0}, {12, 548, 68, 1024, 4352, 0, 0}, {3855, 9509, 1365, 0, 0, 0, 0}, {12, 5414, 4928, 16448, 0, 0, 0}, {1375, 1319, 592, 20560, 0, 0, 0}, {552, 8704, 21760, 0, 0, 0, 0}, {12, 48, 771, 4160, 5397, 0, 0}, {29994, 0, 0, 0, 0, 0, 0}, {4355, 4116, 0, 0, 0, 0, 0}, {12, 4896, 5440, 0, 0, 0, 0}, {1807, 546, 1365, 0, 0, 0, 0}, {12, 4386, 4864, 68, 1024, 0, 0}, {1375, 8224, 20560, 0, 0, 0, 0}, {48, 1280, 4096, 0, 0, 0, 0}, {514, 68, 4369, 0, 0, 0, 0}, {1346, 4112, 0, 0, 0, 0, 0}, {21811, 17920, 0, 0, 0, 0, 0}, {520, 564, 68, 1280, 4352, 0, 0}, {2570, 13621, 5461, 0, 0, 0, 0}, {1290, 1334, 4944, 20560, 0, 0, 0}, {72, 5431, 576, 16448, 0, 0, 0}, {4104, 48, 4608, 4160, 1280, 0, 0}, {4959, 13107, 21845, 0, 0, 0, 0}, {1290, 48, 4176, 0, 0, 0, 0}, {520, 4403, 68, 0, 0, 0, 0}, {60, 4864, 1280, 0, 0, 0, 0}, {72, 514, 5397, 0, 0, 0, 0}, {4382, 4386, 514, 68, 5140, 0, 0}, {5439, 8192, 16384, 0, 0, 0, 0}, {2560, 13568, 5440, 0, 0, 0, 0}, {522, 566, 68, 1285, 4369, 0, 0}, {72, 5410, 578, 16384, 0, 0, 0}, {1295, 1331, 4931, 20480, 0, 0, 0}, {512, 68, 4352, 0, 0, 0, 0}, {48, 1285, 4112, 0, 0, 0, 0}, {21862, 17990, 0, 0, 0, 0, 0}, {1351, 4096, 0, 0, 0, 0, 0}, {72, 512, 5376, 0, 0, 0, 0}, {60, 4883, 1285, 0, 0, 0, 0}, {5418, 8224, 16448, 0, 0, 0, 0}, {4367, 4403, 512, 68, 5120, 0, 0}, {4940, 13056, 21760, 0, 0, 0, 0}, {4120, 48, 4626, 4176, 1285, 0, 0}, {522, 4386, 68, 0, 0, 0, 0}, {1295, 48, 4160, 0, 0, 0, 0}, {3840, 9472, 1360, 0, 0, 0, 0}, {12, 550, 68, 1028, 4369, 0, 0}, {1370, 1314, 594, 20480, 0, 0, 0}, {12, 5427, 4947, 16384, 0, 0, 0}, {12, 768, 1028, 272, 0, 0, 0}, {2730, 8192, 21845, 0, 0, 0, 0}, {1366, 4096, 0, 0, 0, 0, 0}, {21879, 22359, 0, 0, 0, 0, 0}, {1800, 544, 1360, 0, 0, 0, 0}, {12, 4915, 5461, 0, 0, 0, 0}, {1370, 8192, 20480, 0, 0, 0, 0}, {12, 4403, 4883, 68, 1028, 0, 0}, {12, 48, 768, 4176, 5376, 0, 0}, {554, 8738, 21845, 0, 0, 0, 0}, {4370, 4100, 0, 0, 0, 0, 0}, {30047, 0, 0, 0, 0, 0, 0}, {192, 8288, 5376, 0, 0, 0, 0}, {60, 534, 68, 1297, 4369, 0, 0}, {72, 5474, 5888, 16448, 0, 0, 0}, {1375, 1379, 5632, 20560, 0, 0, 0}, {2056, 544, 68, 4352, 0, 0, 0}, {3855, 48, 1365, 4096, 0, 0, 0}, {21862, 4864, 0, 0, 0, 0, 0}, {1303, 4112, 0, 0, 0, 0, 0}, {5384, 544, 5440, 0, 0, 0, 0}, {4879, 4915, 1365, 0, 0, 0, 0}, {5482, 8192, 16384, 0, 0, 0, 0}, {4367, 4403, 4883, 68, 5140, 0, 0}, {4972, 13056, 21760, 0, 0, 0, 0}, {4104, 48, 4626, 4160, 5397, 0, 0}, {4872, 4386, 68, 0, 0, 0, 0}, {5391, 48, 4176, 0, 0, 0, 0}, {240, 8304, 1280, 0, 0, 0, 0}, {12, 518, 68, 1024, 4369, 0, 0}, {1290, 1394, 1792, 20560, 0, 0, 0}, {12, 5491, 1536, 16448, 0, 0, 0}, {12, 48, 68, 256, 0, 0, 0}, {2570, 8224, 21845, 0, 0, 0, 0}, {1286, 4112, 0, 0, 0, 0, 0}, {21879, 512, 0, 0, 0, 0, 0}, {120, 512, 1280, 0, 0, 0, 0}, {12, 4883, 5397, 0, 0, 0, 0}, {1290, 8224, 20560, 0, 0, 0, 0}, {12, 4403, 512, 68, 1024, 0, 0}, {12, 48, 768, 4160, 1280, 0, 0}, {522, 8738, 21845, 0, 0, 0, 0}, {4370, 4116, 0, 0, 0, 0, 0}, {30079, 0, 0, 0, 0, 0, 0}, {8320, 2560, 21760, 0, 0, 0, 0}, {48, 771, 261, 4369, 0, 0, 0}, {522, 21794, 0, 0, 0, 0, 0}, {1283, 4160, 0, 0, 0, 0, 0}, {12, 512, 68, 1024, 4352, 0, 0}, {240, 8224, 1285, 0, 0, 0, 0}, {12, 5414, 1542, 16448, 0, 0, 0}, {1295, 1399, 512, 20480, 0, 0, 0}, {136, 512, 21760, 0, 0, 0, 0}, {12, 48, 771, 1285, 4112, 0, 0}, {21930, 2570, 8224, 0, 0, 0, 0}, {259, 68, 1024, 4096, 0, 0, 0}, {12, 1536, 5440, 0, 0, 0, 0}, {522, 626, 1285, 0, 0, 0, 0}, {12, 4386, 518, 68, 1024, 0, 0}, {1295, 8304, 20480, 0, 0, 0, 0}, {48, 4176, 5376, 0, 0, 0, 0}, {554, 68, 4369, 0, 0, 0, 0}, {1298, 4160, 0, 0, 0, 0, 0}, {4959, 21811, 0, 0, 0, 0, 0}, {540, 544, 68, 1300, 4352, 0, 0}, {7999, 8192, 5461, 0, 0, 0, 0}, {1370, 1382, 4864, 20480, 0, 0, 0}, {72, 5431, 5911, 16448, 0, 0, 0}, {1304, 48, 528, 1360, 4112, 0, 0}, {6485, 4915, 21845, 0, 0, 0, 0}, {1370, 48, 4096, 0, 0, 0, 0}, {4403, 4883, 68, 0, 0, 0, 0}, {60, 5632, 1360, 0, 0, 0, 0}, {72, 610, 5397, 0, 0, 0, 0}, {4382, 4386, 534, 68, 5120, 0, 0}, {5439, 8288, 16384, 0, 0, 0, 0}, {8352, 10752, 21760, 0, 0, 0, 0}, {48, 771, 277, 4369, 0, 0, 0}, {22280, 21794, 0, 0, 0, 0, 0}, {5379, 4176, 0, 0, 0, 0, 0}, {12, 544, 68, 1028, 4352, 0, 0}, {3855, 8192, 1365, 0, 0, 0, 0}, {12, 5478, 4864, 16384, 0, 0, 0}, {1375, 1319, 1799, 20560, 0, 0, 0}, {2056, 544, 21760, 0, 0, 0, 0}, {12, 48, 771, 1365, 4096, 0, 0}, {21930, 24320, 8192, 0, 0, 0, 0}, {275, 68, 1028, 4112, 0, 0, 0}, {12, 4960, 5376, 0, 0, 0, 0}, {1325, 1799, 1365, 0, 0, 0, 0}, {12, 4386, 4868, 68, 1028, 0, 0}, {1375, 8272, 20560, 0, 0, 0, 0}, {48, 4160, 1280, 0, 0, 0, 0}, {522, 68, 4369, 0, 0, 0, 0}, {5394, 4176, 0, 0, 0, 0, 0}, {17996, 21811, 0, 0, 0, 0, 0}, {60, 512, 68, 1280, 4352, 0, 0}, {192, 8224, 5397, 0, 0, 0, 0}, {1290, 1334, 5654, 20560, 0, 0, 0}, {72, 5495, 512, 16384, 0, 0, 0}, {72, 48, 512, 1280, 4096, 0, 0}, {204, 4883, 21845, 0, 0, 0, 0}, {1290, 48, 4112, 0, 0, 0, 0}, {4403, 512, 68, 0, 0, 0, 0}, {4940, 4976, 1280, 0, 0, 0, 0}, {5405, 5911, 5461, 0, 0, 0, 0}, {4382, 4386, 4884, 68, 5140, 0, 0}, {5503, 8256, 16448, 0, 0, 0, 0}, {192, 8192, 5376, 0, 0, 0, 0}, {60, 514, 68, 1285, 4369, 0, 0}, {72, 5474, 514, 16448, 0, 0, 0}, {1295, 1331, 5632, 20480, 0, 0, 0}, {520, 68, 4352, 0, 0, 0, 0}, {48, 4176, 1285, 0, 0, 0, 0}, {17930, 21862, 0, 0, 0, 0, 0}, {5383, 4160, 0, 0, 0, 0, 0}, {5384, 5888, 5440, 0, 0, 0, 0}, {4959, 4963, 1285, 0, 0, 0, 0}, {5482, 8288, 16384, 0, 0, 0, 0}, {4367, 4403, 4871, 68, 5120, 0, 0}, {204, 4864, 21760, 0, 0, 0, 0}, {72, 48, 514, 1285, 4112, 0, 0}, {4386, 514, 68, 0, 0, 0, 0}, {1295, 48, 4096, 0, 0, 0, 0}, {3840, 8224, 1360, 0, 0, 0, 0}, {12, 546, 68, 1024, 4369, 0, 0}, {1370, 1314, 1792, 20480, 0, 0, 0}, {12, 5491, 4883, 16448, 0, 0, 0}, {48, 768, 276, 4352, 0, 0, 0}, {8320, 10794, 21845, 0, 0, 0, 0}, {5398, 4160, 0, 0, 0, 0, 0}, {22367, 21879, 0, 0, 0, 0, 0}, {1320, 1792, 1360, 0, 0, 0, 0}, {12, 4979, 5397, 0, 0, 0, 0}, {1370, 8304, 20480, 0, 0, 0, 0}, {12, 4403, 4887, 68, 1024, 0, 0}, {12, 48, 768, 1360, 4112, 0, 0}, {2048, 546, 21845, 0, 0, 0, 0}, {274, 68, 1024, 4096, 0, 0, 0}, {22015, 24415, 8224, 0, 0, 0, 0}, {7968, 8224, 5440, 0, 0, 0, 0}, {542, 546, 68, 1297, 4369, 0, 0}, {72, 5410, 5888, 16384, 0, 0, 0}, {1375, 1379, 4883, 20560, 0, 0, 0}, {552, 68, 4352, 0, 0, 0, 0}, {48, 4160, 5397, 0, 0, 0, 0}, {4940, 21862, 0, 0, 0, 0, 0}, {1303, 4176, 0, 0, 0, 0, 0}, {72, 608, 5376, 0, 0, 0, 0}, {60, 5654, 1365, 0, 0, 0, 0}, {5418, 8256, 16448, 0, 0, 0, 0}, {4367, 4403, 532, 68, 5140, 0, 0}, {6476, 4896, 21760, 0, 0, 0, 0}, {1309, 48, 530, 1365, 4096, 0, 0}, {4386, 4864, 68, 0, 0, 0, 0}, {1375, 48, 4112, 0, 0, 0, 0}, {240, 8192, 1280, 0, 0, 0, 0}, {12, 514, 68, 1028, 4369, 0, 0}, {1290, 1394, 514, 20560, 0, 0, 0}, {12, 5427, 1536, 16384, 0, 0, 0}, {48, 768, 260, 4352, 0, 0, 0}, {8352, 2570, 21845, 0, 0, 0, 0}, {1286, 4176, 0, 0, 0, 0, 0}, {520, 21879, 0, 0, 0, 0, 0}, {520, 624, 1280, 0, 0, 0, 0}, {12, 1542, 5461, 0, 0, 0, 0}, {1290, 8272, 20560, 0, 0, 0, 0}, {12, 4403, 516, 68, 1028, 0, 0}, {12, 48, 768, 1280, 4096, 0, 0}, {136, 514, 21845, 0, 0, 0, 0}, {258, 68, 1028, 4112, 0, 0, 0}, {22015, 2560, 8192, 0, 0, 0, 0}, {1536, 4096, 0, 0, 0, 0, 0}, {119, 257, 0, 0, 0, 0, 0}, {1032, 4128, 514, 17408, 0, 0, 0}, {1295, 4144, 771, 21760, 0, 0, 0}, {520, 8704, 4160, 1028, 0, 0, 0}, {783, 13056, 4176, 1285, 0, 0, 0}, {4192, 1542, 0, 0, 0, 0, 0}, {263, 4352, 0, 0, 0, 0, 0}, {4104, 4608, 5120, 0, 0, 0, 0}, {4207, 771, 1285, 0, 0, 0, 0}, {1546, 12288, 16384, 0, 0, 0, 0}, {267, 4403, 771, 4420, 1028, 0, 0}, {1548, 8192, 20480, 0, 0, 0, 0}, {269, 4386, 514, 4437, 1285, 0, 0}, {4200, 514, 1028, 0, 0, 0, 0}, {4111, 4864, 5376, 0, 0, 0, 0}, {1632, 4112, 0, 0, 0, 0, 0}, {1792, 273, 0, 0, 0, 0, 0}, {1096, 4144, 4626, 17408, 0, 0, 0}, {1375, 4128, 4883, 21760, 0, 0, 0}, {552, 8704, 4176, 5140, 0, 0, 0}, {831, 13056, 4160, 5397, 0, 0, 0}, {4208, 5654, 0, 0, 0, 0, 0}, {279, 4352, 0, 0, 0, 0, 0}, {4120, 4656, 5200, 0, 0, 0, 0}, {5657, 819, 1365, 0, 0, 0, 0}, {1642, 12336, 16448, 0, 0, 0, 0}, {283, 4403, 4608, 4420, 5376, 0, 0}, {1644, 8224, 20560, 0, 0, 0, 0}, {285, 4386, 4864, 4437, 5120, 0, 0}, {5662, 546, 1092, 0, 0, 0, 0}, {4127, 4896, 5440, 0, 0, 0, 0}, {4128, 22016, 0, 0, 0, 0, 0}, {342, 4369, 0, 0, 0, 0, 0}, {546, 1024, 4096, 0, 0, 0, 0}, {771, 1360, 4112, 0, 0, 0, 0}, {1036, 4192, 5700, 17476, 0, 0, 0}, {1370, 4208, 1621, 21845, 0, 0, 0}, {3084, 9766, 4160, 0, 0, 0, 0}, {783, 295, 336, 1024, 4352, 0, 0}, {4136, 4608, 1024, 0, 0, 0, 0}, {4175, 771, 5397, 0, 0, 0, 0}, {5674, 12288, 20480, 0, 0, 0, 0}, {4120, 4403, 771, 4420, 5140, 0, 0}, {5708, 8224, 16448, 0, 0, 0, 0}, {4111, 4386, 4864, 4437, 1024, 0, 0}, {1036, 546, 5188, 0, 0, 0, 0}, {783, 4896, 1360, 0, 0, 0, 0}, {4144, 17920, 0, 0, 0, 0, 0}, {326, 4369, 0, 0, 0, 0, 0}, {514, 1088, 4112, 0, 0, 0, 0}, {819, 1280, 4096, 0, 0, 0, 0}, {1100, 4208, 1604, 17476, 0, 0, 0}, {1290, 4192, 5717, 21845, 0, 0, 0}, {2570, 13878, 4176, 0, 0, 0, 0}, {520, 311, 320, 1280, 4352, 0, 0}, {520, 4656, 1088, 0, 0, 0, 0}, {1290, 819, 5461, 0, 0, 0, 0}, {5722, 12336, 20560, 0, 0, 0, 0}, {4104, 4403, 4608, 4420, 1280, 0, 0}, {5692, 8192, 16384, 0, 0, 0, 0}, {4127, 4386, 514, 4437, 5397, 0, 0}, {4184, 514, 5140, 0, 0, 0, 0}, {4159, 4864, 1280, 0, 0, 0, 0}, {2560, 13824, 4160, 0, 0, 0, 0}, {522, 310, 321, 1285, 4369, 0, 0}, {1096, 4192, 1602, 17408, 0, 0, 0}, {1295, 4208, 5699, 21760, 0, 0, 0}, {512, 1092, 4096, 0, 0, 0, 0}, {816, 1285, 4112, 0, 0, 0, 0}, {4128, 17990, 0, 0, 0, 0, 0}, {327, 4352, 0, 0, 0, 0, 0}, {4168, 512, 5120, 0, 0, 0, 0}, {4143, 4883, 1285, 0, 0, 0, 0}, {5674, 8224, 16448, 0, 0, 0, 0}, {4111, 4403, 512, 4420, 5376, 0, 0}, {5708, 12288, 20480, 0, 0, 0, 0}, {4120, 4386, 4626, 4437, 1285, 0, 0}, {522, 4642, 1092, 0, 0, 0, 0}, {1295, 816, 5440, 0, 0, 0, 0}, {3072, 9728, 4176, 0, 0, 0, 0}, {780, 294, 337, 1028, 4369, 0, 0}, {1032, 4208, 5714, 17408, 0, 0, 0}, {1375, 4192, 1619, 21760, 0, 0, 0}, {544, 1028, 4112, 0, 0, 0, 0}, {768, 1365, 4096, 0, 0, 0, 0}, {4144, 22102, 0, 0, 0, 0, 0}, {343, 4352, 0, 0, 0, 0, 0}, {1032, 544, 5200, 0, 0, 0, 0}, {780, 4915, 1365, 0, 0, 0, 0}, {5722, 8192, 16384, 0, 0, 0, 0}, {4127, 4403, 4883, 4420, 1028, 0, 0}, {5692, 12336, 20560, 0, 0, 0, 0}, {4104, 4386, 768, 4437, 5120, 0, 0}, {4152, 4626, 1028, 0, 0, 0, 0}, {4191, 768, 5376, 0, 0, 0, 0}, {4192, 5632, 0, 0, 0, 0, 0}, {278, 4369, 0, 0, 0, 0, 0}, {554, 8738, 4160, 5120, 0, 0, 0}, {828, 13107, 4176, 5376, 0, 0, 0}, {1100, 4128, 4608, 17476, 0, 0, 0}, {1370, 4144, 4864, 21845, 0, 0, 0}, {1638, 4096, 0, 0, 0, 0, 0}, {1799, 272, 0, 0, 0, 0, 0}, {5640, 544, 1088, 0, 0, 0, 0}, {4111, 4915, 5461, 0, 0, 0, 0}, {1642, 8192, 20480, 0, 0, 0, 0}, {284, 4403, 4883, 4420, 5140, 0, 0}, {1644, 12288, 16384, 0, 0, 0, 0}, {282, 4386, 4626, 4437, 5397, 0, 0}, {4104, 4642, 5188, 0, 0, 0, 0}, {5647, 816, 1360, 0, 0, 0, 0}, {4208, 1536, 0, 0, 0, 0, 0}, {262, 4369, 0, 0, 0, 0, 0}, {522, 8738, 4176, 1024, 0, 0, 0}, {780, 13107, 4160, 1280, 0, 0, 0}, {1036, 4144, 512, 17476, 0, 0, 0}, {1290, 4128, 768, 21845, 0, 0, 0}, {1542, 4112, 0, 0, 0, 0, 0}, {119, 256, 0, 0, 0, 0, 0}, {4216, 512, 1024, 0, 0, 0, 0}, {4127, 4883, 5397, 0, 0, 0, 0}, {1546, 8224, 20560, 0, 0, 0, 0}, {268, 4403, 512, 4420, 1280, 0, 0}, {1548, 12336, 16448, 0, 0, 0, 0}, {266, 4386, 768, 4437, 1024, 0, 0}, {4120, 4626, 5140, 0, 0, 0, 0}, {4223, 768, 1280, 0, 0, 0, 0}, {4224, 1536, 20480, 0, 0, 0, 0}, {265, 119, 771, 1285, 4369, 0, 0}, {522, 4642, 1024, 0, 0, 0, 0}, {1295, 771, 5440, 0, 0, 0, 0}, {1036, 512, 5188, 0, 0, 0, 0}, {783, 4896, 1285, 0, 0, 0, 0}, {4320, 1542, 16448, 0, 0, 0, 0}, {271, 119, 512, 1024, 4352, 0, 0}, {136, 512, 1024, 4096, 0, 0, 0}, {255, 771, 1285, 4112, 0, 0, 0}, {1546, 4128, 0, 0, 0, 0, 0}, {259, 4420, 0, 0, 0, 0, 0}, {1548, 4160, 0, 0, 0, 0, 0}, {4386, 261, 0, 0, 0, 0, 0}, {1036, 4192, 1542, 17476, 0, 0, 0}, {1295, 4208, 1536, 21760, 0, 0, 0}, {7248, 1632, 20560, 0, 0, 0, 0}, {281, 1314, 1553, 1365, 4369, 0, 0}, {4152, 4626, 1088, 0, 0, 0, 0}, {4191, 819, 5376, 0, 0, 0, 0}, {4184, 544, 5140, 0, 0, 0, 0}, {4159, 4864, 1365, 0, 0, 0, 0}, {6746, 1638, 16384, 0, 0, 0, 0}, {287, 1079, 1559, 1088, 4352, 0, 0}, {2056, 544, 1088, 4112, 0, 0, 0}, {3840, 819, 1365, 4096, 0, 0, 0}, {5722, 4144, 0, 0, 0, 0, 0}, {275, 4420, 0, 0, 0, 0, 0}, {5692, 4176, 0, 0, 0, 0, 0}, {4386, 277, 0, 0, 0, 0, 0}, {1100, 4208, 5654, 17476, 0, 0, 0}, {1375, 4192, 5632, 21760, 0, 0, 0}, {4256, 5632, 16384, 0, 0, 0, 0}, {350, 119, 771, 1028, 4369, 0, 0}, {4104, 4642, 5120, 0, 0, 0, 0}, {5439, 771, 1360, 0, 0, 0, 0}, {4680, 544, 1028, 0, 0, 0, 0}, {4111, 4864, 5461, 0, 0, 0, 0}, {3084, 5734, 20480, 0, 0, 0, 0}, {1032, 1319, 1799, 1360, 4352, 0, 0}, {1032, 4128, 4608, 17408, 0, 0, 0}, {1370, 4144, 771, 21845, 0, 0, 0}, {1706, 3072, 4096, 0, 0, 0, 0}, {291, 771, 340, 1028, 4112, 0, 0}, {22028, 4192, 0, 0, 0, 0, 0}, {4103, 4437, 0, 0, 0, 0, 0}, {554, 8738, 4160, 1028, 0, 0, 0}, {783, 13056, 4176, 5376, 0, 0, 0}, {2560, 5744, 16448, 0, 0, 0, 0}, {1290, 1075, 1792, 1092, 4369, 0, 0}, {4120, 4626, 5200, 0, 0, 0, 0}, {4940, 819, 1280, 0, 0, 0, 0}, {5180, 512, 1092, 0, 0, 0, 0}, {4127, 4896, 5397, 0, 0, 0, 0}, {4304, 5654, 20560, 0, 0, 0, 0}, {328, 119, 512, 1280, 4352, 0, 0}, {1096, 4144, 512, 17408, 0, 0, 0}, {1290, 4128, 4883, 21845, 0, 0, 0}, {1738, 2570, 4112, 0, 0, 0, 0}, {307, 512, 324, 1280, 4096, 0, 0}, {17996, 4208, 0, 0, 0, 0, 0}, {4119, 4437, 0, 0, 0, 0, 0}, {522, 8738, 4176, 5140, 0, 0, 0}, {831, 13056, 4160, 1280, 0, 0, 0}, {4288, 5632, 20480, 0, 0, 0, 0}, {329, 119, 514, 1285, 4369, 0, 0}, {5160, 514, 1088, 0, 0, 0, 0}, {4111, 4915, 5376, 0, 0, 0, 0}, {4104, 4608, 5188, 0, 0, 0, 0}, {4959, 816, 1285, 0, 0, 0, 0}, {2570, 5734, 16384, 0, 0, 0, 0}, {1295, 1079, 1799, 1088, 4352, 0, 0}, {520, 8704, 4160, 5120, 0, 0, 0}, {828, 13107, 4176, 1285, 0, 0, 0}, {17930, 4192, 0, 0, 0, 0, 0}, {4103, 4420, 0, 0, 0, 0, 0}, {1740, 2560, 4096, 0, 0, 0, 0}, {306, 514, 325, 1285, 4112, 0, 0}, {1100, 4128, 514, 17476, 0, 0, 0}, {1295, 4144, 4864, 21760, 0, 0, 0}, {3072, 5744, 20560, 0, 0, 0, 0}, {1036, 1314, 1792, 1365, 4369, 0, 0}, {4698, 546, 1024, 0, 0, 0, 0}, {4127, 4883, 5440, 0, 0, 0, 0}, {4120, 4656, 5140, 0, 0, 0, 0}, {5418, 768, 1365, 0, 0, 0, 0}, {4272, 5654, 16448, 0, 0, 0, 0}, {351, 119, 768, 1024, 4352, 0, 0}, {552, 8704, 4176, 1024, 0, 0, 0}, {780, 13107, 4160, 5397, 0, 0, 0}, {22106, 4208, 0, 0, 0, 0, 0}, {4119, 4420, 0, 0, 0, 0, 0}, {1708, 3084, 4112, 0, 0, 0, 0}, {290, 768, 341, 1024, 4096, 0, 0}, {1036, 4144, 4626, 17476, 0, 0, 0}, {1375, 4128, 768, 21760, 0, 0, 0}, {6720, 1632, 16448, 0, 0, 0, 0}, {286, 1075, 1553, 1092, 4369, 0, 0}, {4168, 546, 5120, 0, 0, 0, 0}, {4143, 4883, 1360, 0, 0, 0, 0}, {4136, 4608, 1092, 0, 0, 0, 0}, {4175, 816, 5397, 0, 0, 0, 0}, {7244, 1638, 20480, 0, 0, 0, 0}, {280, 1319, 1559, 1360, 4352, 0, 0}, {1096, 4192, 5632, 17408, 0, 0, 0}, {1370, 4208, 5654, 21845, 0, 0, 0}, {5674, 4160, 0, 0, 0, 0, 0}, {4403, 276, 0, 0, 0, 0, 0}, {5708, 4128, 0, 0, 0, 0, 0}, {274, 4437, 0, 0, 0, 0, 0}, {2048, 546, 1092, 4096, 0, 0, 0}, {3855, 816, 1360, 4112, 0, 0, 0}, {4336, 1536, 16384, 0, 0, 0, 0}, {270, 119, 514, 1028, 4369, 0, 0}, {1032, 514, 5200, 0, 0, 0, 0}, {780, 4915, 1280, 0, 0, 0, 0}, {520, 4656, 1028, 0, 0, 0, 0}, {1290, 768, 5461, 0, 0, 0, 0}, {4240, 1542, 20560, 0, 0, 0, 0}, {264, 119, 768, 1280, 4352, 0, 0}, {1032, 4208, 1536, 17408, 0, 0, 0}, {1290, 4192, 1542, 21845, 0, 0, 0}, {1546, 4176, 0, 0, 0, 0, 0}, {4403, 260, 0, 0, 0, 0, 0}, {1548, 4144, 0, 0, 0, 0, 0}, {258, 4437, 0, 0, 0, 0, 0}, {136, 514, 1028, 4112, 0, 0, 0}, {255, 768, 1280, 4096, 0, 0, 0}, {30464, 0, 0, 0, 0, 0, 0}, {6, 16, 257, 0, 0, 0, 0}, {10, 32, 514, 21760, 0, 0, 0}, {12, 48, 771, 17408, 0, 0, 0}, {12, 13056, 64, 1028, 0, 0, 0}, {10, 8704, 80, 1285, 0, 0, 0}, {6, 4352, 0, 0, 0, 0, 0}, {112, 1799, 0, 0, 0, 0, 0}, {30472, 0, 0, 0, 0, 0, 0}, {4355, 4357, 0, 0, 0, 0, 0}, {10, 8704, 21760, 0, 0, 0, 0}, {12, 48, 771, 64, 1028, 0, 0}, {12, 13056, 17408, 0, 0, 0, 0}, {10, 32, 514, 80, 1285, 0, 0}, {4354, 4356, 0, 0, 0, 0, 0}, {30479, 0, 0, 0, 0, 0, 0}, {1792, 16, 0, 0, 0, 0, 0}, {102, 4369, 0, 0, 0, 0, 0}, {90, 48, 4626, 21760, 0, 0, 0}, {76, 32, 4883, 17408, 0, 0, 0}, {60, 13056, 80, 5140, 0, 0, 0}, {42, 8704, 64, 5397, 0, 0, 0}, {22, 4352, 0, 0, 0, 0, 0}, {96, 5911, 0, 0, 0, 0, 0}, {5912, 48, 80, 0, 0, 0, 0}, {4377, 4403, 4437, 0, 0, 0, 0}, {26, 48, 4608, 64, 5376, 0, 0}, {108, 13107, 17476, 0, 0, 0, 0}, {28, 32, 4864, 80, 5120, 0, 0}, {106, 8738, 21845, 0, 0, 0, 0}, {4382, 4386, 4420, 0, 0, 0, 0}, {5919, 32, 64, 0, 0, 0, 0}, {32, 22272, 0, 0, 0, 0, 0}, {86, 4369, 0, 0, 0, 0, 0}, {170, 8738, 21760, 0, 0, 0, 0}, {12, 771, 1024, 16, 0, 0, 0}, {12, 96, 5956, 17476, 0, 0, 0}, {90, 112, 1877, 21845, 0, 0, 0}, {12, 38, 64, 1024, 4352, 0, 0}, {3855, 10023, 80, 0, 0, 0, 0}, {30504, 0, 0, 0, 0, 0, 0}, {4355, 4373, 0, 0, 0, 0, 0}, {42, 8704, 21760, 0, 0, 0, 0}, {12, 48, 771, 80, 5140, 0, 0}, {12, 32, 4864, 64, 1024, 0, 0}, {90, 8738, 21845, 0, 0, 0, 0}, {12, 4386, 4420, 0, 0, 0, 0}, {1807, 32, 80, 0, 0, 0, 0}, {48, 18176, 0, 0, 0, 0, 0}, {70, 4369, 0, 0, 0, 0, 0}, {10, 514, 1280, 16, 0, 0, 0}, {204, 13107, 17408, 0, 0, 0, 0}, {76, 112, 1860, 17476, 0, 0, 0}, {10, 96, 5973, 21845, 0, 0, 0}, {10, 54, 80, 1280, 4352, 0, 0}, {2056, 14135, 64, 0, 0, 0, 0}, {1800, 48, 64, 0, 0, 0, 0}, {10, 4403, 4437, 0, 0, 0, 0}, {10, 48, 4608, 80, 1280, 0, 0}, {76, 13107, 17476, 0, 0, 0, 0}, {60, 13056, 17408, 0, 0, 0, 0}, {10, 32, 514, 64, 5397, 0, 0}, {4354, 4372, 0, 0, 0, 0, 0}, {30527, 0, 0, 0, 0, 0, 0}, {2048, 14080, 64, 0, 0, 0, 0}, {10, 54, 80, 1285, 4369, 0, 0}, {10, 96, 5954, 21760, 0, 0, 0}, {76, 112, 1859, 17408, 0, 0, 0}, {204, 13056, 17476, 0, 0, 0, 0}, {10, 512, 1285, 16, 0, 0, 0}, {70, 4352, 0, 0, 0, 0, 0}, {48, 18247, 0, 0, 0, 0, 0}, {30536, 0, 0, 0, 0, 0, 0}, {4371, 4357, 0, 0, 0, 0, 0}, {10, 32, 512, 64, 5376, 0, 0}, {60, 13107, 17476, 0, 0, 0, 0}, {76, 13056, 17408, 0, 0, 0, 0}, {10, 48, 4626, 80, 1285, 0, 0}, {10, 4386, 4420, 0, 0, 0, 0}, {1807, 48, 64, 0, 0, 0, 0}, {3840, 9984, 80, 0, 0, 0, 0}, {12, 38, 64, 1028, 4369, 0, 0}, {90, 112, 1874, 21760, 0, 0, 0}, {12, 96, 5971, 17408, 0, 0, 0}, {12, 768, 1028, 16, 0, 0, 0}, {170, 8704, 21845, 0, 0, 0, 0}, {86, 4352, 0, 0, 0, 0, 0}, {32, 22359, 0, 0, 0, 0, 0}, {1800, 32, 80, 0, 0, 0, 0}, {12, 4403, 4437, 0, 0, 0, 0}, {90, 8704, 21760, 0, 0, 0, 0}, {12, 32, 4883, 64, 1028, 0, 0}, {12, 48, 768, 80, 5120, 0, 0}, {42, 8738, 21845, 0, 0, 0, 0}, {4370, 4356, 0, 0, 0, 0, 0}, {30559, 0, 0, 0, 0, 0, 0}, {96, 5888, 0, 0, 0, 0, 0}, {22, 4369, 0, 0, 0, 0, 0}, {42, 8738, 64, 5376, 0, 0, 0}, {60, 13107, 80, 5120, 0, 0, 0}, {76, 32, 4864, 17476, 0, 0, 0}, {90, 48, 4608, 21845, 0, 0, 0}, {102, 4352, 0, 0, 0, 0, 0}, {1799, 16, 0, 0, 0, 0, 0}, {5896, 32, 64, 0, 0, 0, 0}, {4367, 4403, 4437, 0, 0, 0, 0}, {106, 8704, 21760, 0, 0, 0, 0}, {28, 32, 4883, 80, 5140, 0, 0}, {108, 13056, 17408, 0, 0, 0, 0}, {26, 48, 4626, 64, 5397, 0, 0}, {4360, 4386, 4420, 0, 0, 0, 0}, {5903, 48, 80, 0, 0, 0, 0}, {112, 1792, 0, 0, 0, 0, 0}, {6, 4369, 0, 0, 0, 0, 0}, {10, 8738, 80, 1280, 0, 0, 0}, {12, 13107, 64, 1024, 0, 0, 0}, {12, 48, 768, 17476, 0, 0, 0}, {10, 32, 512, 21845, 0, 0, 0}, {6, 16, 256, 0, 0, 0, 0}, {30583, 0, 0, 0, 0, 0, 0}, {30584, 0, 0, 0, 0, 0, 0}, {4371, 4373, 0, 0, 0, 0, 0}, {10, 32, 512, 80, 1280, 0, 0}, {12, 13107, 17476, 0, 0, 0, 0}, {12, 48, 768, 64, 1024, 0, 0}, {10, 8738, 21845, 0, 0, 0, 0}, {4370, 4372, 0, 0, 0, 0, 0}, {30591, 0, 0, 0, 0, 0, 0}, {128, 2048, 30464, 0, 0, 0, 0}, {6, 80, 1285, 4369, 0, 0, 0}, {10, 8738, 21760, 0, 0, 0, 0}, {12, 48, 771, 64, 1024, 0, 0}, {12, 13056, 17476, 0, 0, 0, 0}, {10, 32, 512, 80, 1285, 0, 0}, {6, 64, 1024, 4352, 0, 0, 0}, {240, 3855, 30583, 0, 0, 0, 0}, {30600, 0, 0, 0, 0, 0, 0}, {259, 261, 16, 0, 0, 0, 0}, {10, 32, 512, 21760, 0, 0, 0}, {12, 48, 771, 17476, 0, 0, 0}, {12, 13056, 64, 1024, 0, 0, 0}, {10, 8738, 80, 1285, 0, 0, 0}, {6, 4420, 0, 0, 0, 0, 0}, {1807, 112, 0, 0, 0, 0, 0}, {48, 5888, 80, 0, 0, 0, 0}, {76, 102, 4369, 0, 0, 0, 0}, {26, 48, 4626, 64, 5376, 0, 0}, {108, 13107, 17408, 0, 0, 0, 0}, {28, 32, 4864, 80, 5140, 0, 0}, {106, 8704, 21845, 0, 0, 0, 0}, {90, 102, 4352, 0, 0, 0, 0}, {32, 5911, 64, 0, 0, 0, 0}, {1800, 16, 0, 0, 0, 0, 0}, {4403, 4437, 0, 0, 0, 0, 0}, {90, 48, 4608, 21760, 0, 0, 0}, {76, 32, 4883, 17476, 0, 0, 0}, {60, 13056, 80, 5120, 0, 0, 0}, {42, 8738, 64, 5397, 0, 0, 0}, {22, 4420, 0, 0, 0, 0, 0}, {5983, 96, 0, 0, 0, 0, 0}, {160, 24320, 30464, 0, 0, 0, 0}, {22, 64, 1028, 4369, 0, 0, 0}, {42, 8738, 21760, 0, 0, 0, 0}, {12, 48, 771, 80, 5120, 0, 0}, {12, 32, 4864, 64, 1028, 0, 0}, {90, 8704, 21845, 0, 0, 0, 0}, {12, 102, 4352, 0, 0, 0, 0}, {32, 1799, 80, 0, 0, 0, 0}, {22280, 32, 0, 0, 0, 0, 0}, {4355, 4437, 0, 0, 0, 0, 0}, {170, 8704, 21760, 0, 0, 0, 0}, {12, 771, 1028, 16, 0, 0, 0}, {12, 96, 5888, 17408, 0, 0, 0}, {90, 112, 1799, 21845, 0, 0, 0}, {4386, 4356, 0, 0, 0, 0, 0}, {9999, 80, 0, 0, 0, 0, 0}, {48, 1792, 64, 0, 0, 0, 0}, {10, 102, 4369, 0, 0, 0, 0}, {10, 48, 4626, 80, 1280, 0, 0}, {76, 13107, 17408, 0, 0, 0, 0}, {60, 13056, 17476, 0, 0, 0, 0}, {10, 32, 512, 64, 5397, 0, 0}, {22, 80, 1280, 4352, 0, 0, 0}, {192, 18504, 30583, 0, 0, 0, 0}, {18248, 48, 0, 0, 0, 0, 0}, {4371, 4437, 0, 0, 0, 0, 0}, {10, 512, 1280, 16, 0, 0, 0}, {204, 13107, 17476, 0, 0, 0, 0}, {76, 112, 1792, 17408, 0, 0, 0}, {10, 96, 5911, 21845, 0, 0, 0}, {4386, 4372, 0, 0, 0, 0, 0}, {14143, 64, 0, 0, 0, 0, 0}, {192, 18432, 30464, 0, 0, 0, 0}, {22, 80, 1285, 4369, 0, 0, 0}, {10, 32, 514, 64, 5376, 0, 0}, {60, 13107, 17408, 0, 0, 0, 0}, {76, 13056, 17476, 0, 0, 0, 0}, {10, 48, 4608, 80, 1285, 0, 0}, {10, 102, 4352, 0, 0, 0, 0}, {48, 1799, 64, 0, 0, 0, 0}, {14088, 64, 0, 0, 0, 0, 0}, {4403, 4357, 0, 0, 0, 0, 0}, {10, 96, 5888, 21760, 0, 0, 0}, {76, 112, 1799, 17476, 0, 0, 0}, {204, 13056, 17408, 0, 0, 0, 0}, {10, 514, 1285, 16, 0, 0, 0}, {4354, 4420, 0, 0, 0, 0, 0}, {18191, 48, 0, 0, 0, 0, 0}, {32, 1792, 80, 0, 0, 0, 0}, {12, 102, 4369, 0, 0, 0, 0}, {90, 8738, 21760, 0, 0, 0, 0}, {12, 32, 4883, 64, 1024, 0, 0}, {12, 48, 768, 80, 5140, 0, 0}, {42, 8704, 21845, 0, 0, 0, 0}, {22, 64, 1024, 4352, 0, 0, 0}, {160, 24415, 30583, 0, 0, 0, 0}, {10024, 80, 0, 0, 0, 0, 0}, {4403, 4373, 0, 0, 0, 0, 0}, {90, 112, 1792, 21760, 0, 0, 0}, {12, 96, 5911, 17476, 0, 0, 0}, {12, 768, 1024, 16, 0, 0, 0}, {170, 8738, 21845, 0, 0, 0, 0}, {4370, 4420, 0, 0, 0, 0, 0}, {22367, 32, 0, 0, 0, 0, 0}, {32, 5888, 64, 0, 0, 0, 0}, {90, 102, 4369, 0, 0, 0, 0}, {106, 8738, 21760, 0, 0, 0, 0}, {28, 32, 4883, 80, 5120, 0, 0}, {108, 13056, 17476, 0, 0, 0, 0}, {26, 48, 4608, 64, 5397, 0, 0}, {76, 102, 4352, 0, 0, 0, 0}, {48, 5911, 80, 0, 0, 0, 0}, {5960, 96, 0, 0, 0, 0, 0}, {22, 4437, 0, 0, 0, 0, 0}, {42, 8704, 64, 5376, 0, 0, 0}, {60, 13107, 80, 5140, 0, 0, 0}, {76, 32, 4864, 17408, 0, 0, 0}, {90, 48, 4626, 21845, 0, 0, 0}, {4386, 4420, 0, 0, 0, 0, 0}, {1807, 16, 0, 0, 0, 0, 0}, {240, 3840, 30464, 0, 0, 0, 0}, {6, 64, 1028, 4369, 0, 0, 0}, {10, 32, 514, 80, 1280, 0, 0}, {12, 13107, 17408, 0, 0, 0, 0}, {12, 48, 768, 64, 1028, 0, 0}, {10, 8704, 21845, 0, 0, 0, 0}, {6, 80, 1280, 4352, 0, 0, 0}, {128, 2056, 30583, 0, 0, 0, 0}, {1800, 112, 0, 0, 0, 0, 0}, {6, 4437, 0, 0, 0, 0, 0}, {10, 8704, 80, 1280, 0, 0, 0}, {12, 13107, 64, 1028, 0, 0, 0}, {12, 48, 768, 17408, 0, 0, 0}, {10, 32, 514, 21845, 0, 0, 0}, {258, 260, 16, 0, 0, 0, 0}, {30719, 0, 0, 0, 0, 0, 0}, {30720, 0, 0, 0, 0, 0, 0}, {19, 21, 257, 0, 0, 0, 0}, {10, 32, 514, 20480, 0, 0, 0}, {12, 51, 771, 17408, 0, 0, 0}, {12, 12288, 64, 1028, 0, 0, 0}, {10, 8704, 85, 1285, 0, 0, 0}, {6, 5120, 0, 0, 0, 0, 0}, {127, 1799, 0, 0, 0, 0, 0}, {128, 2056, 28672, 0, 0, 0, 0}, {6, 85, 1285, 4352, 0, 0, 0}, {10, 8704, 20480, 0, 0, 0, 0}, {12, 51, 771, 64, 1028, 0, 0}, {12, 12288, 17408, 0, 0, 0, 0}, {10, 32, 514, 85, 1285, 0, 0}, {6, 64, 1028, 4096, 0, 0, 0}, {255, 3855, 30464, 0, 0, 0, 0}, {2048, 32, 64, 4112, 0, 0, 0}, {3840, 51, 85, 4369, 0, 0, 0}, {106, 4626, 0, 0, 0, 0, 0}, {19, 5120, 0, 0, 0, 0, 0}, {108, 5140, 0, 0, 0, 0, 0}, {4608, 21, 0, 0, 0, 0, 0}, {76, 102, 5654, 17408, 0, 0, 0}, {95, 96, 5911, 20480, 0, 0, 0}, {6168, 96, 20560, 0, 0, 0, 0}, {25, 51, 1792, 85, 4352, 0, 0}, {4634, 4656, 64, 0, 0, 0, 0}, {5147, 51, 5188, 0, 0, 0, 0}, {5148, 32, 5200, 0, 0, 0, 0}, {4637, 4642, 85, 0, 0, 0, 0}, {7710, 102, 17476, 0, 0, 0, 0}, {31, 32, 1792, 64, 4096, 0, 0}, {2048, 32, 20480, 0, 0, 0, 0}, {12, 51, 771, 85, 4369, 0, 0}, {170, 23040, 8738, 0, 0, 0, 0}, {19, 64, 1024, 4112, 0, 0, 0}, {12, 5156, 5188, 0, 0, 0, 0}, {1807, 1829, 85, 0, 0, 0, 0}, {12, 38, 4608, 64, 1024, 0, 0}, {95, 10023, 20560, 0, 0, 0, 0}, {160, 10280, 20480, 0, 0, 0, 0}, {51, 771, 21, 4352, 0, 0, 0}, {42, 20992, 0, 0, 0, 0, 0}, {83, 5140, 0, 0, 0, 0, 0}, {12, 32, 64, 1024, 4096, 0, 0}, {3855, 8738, 85, 0, 0, 0, 0}, {12, 102, 4676, 17476, 0, 0, 0}, {95, 32, 1872, 20560, 0, 0, 0}, {192, 18432, 12336, 0, 0, 0, 0}, {19, 85, 1280, 4369, 0, 0, 0}, {10, 32, 514, 64, 4112, 0, 0}, {3840, 51, 17408, 0, 0, 0, 0}, {76, 13364, 17476, 0, 0, 0, 0}, {10, 53, 4608, 85, 1280, 0, 0}, {10, 5174, 5200, 0, 0, 0, 0}, {1800, 1847, 64, 0, 0, 0, 0}, {2056, 12336, 64, 0, 0, 0, 0}, {10, 51, 85, 1280, 4352, 0, 0}, {10, 96, 4688, 20560, 0, 0, 0}, {76, 51, 1860, 17476, 0, 0, 0}, {204, 15420, 17408, 0, 0, 0, 0}, {32, 514, 21, 4096, 0, 0, 0}, {70, 5140, 0, 0, 0, 0, 0}, {63, 18176, 0, 0, 0, 0, 0}, {2048, 12288, 64, 0, 0, 0, 0}, {10, 51, 85, 1285, 4369, 0, 0}, {10, 96, 4674, 20480, 0, 0, 0}, {76, 51, 1859, 17408, 0, 0, 0}, {204, 15360, 17476, 0, 0, 0, 0}, {32, 512, 21, 4112, 0, 0, 0}, {70, 5120, 0, 0, 0, 0, 0}, {63, 18247, 0, 0, 0, 0, 0}, {192, 18504, 12288, 0, 0, 0, 0}, {19, 85, 1285, 4352, 0, 0, 0}, {10, 32, 512, 64, 4096, 0, 0}, {3855, 51, 17476, 0, 0, 0, 0}, {76, 13312, 17408, 0, 0, 0, 0}, {10, 53, 4626, 85, 1285, 0, 0}, {10, 5154, 5188, 0, 0, 0, 0}, {1807, 1840, 64, 0, 0, 0, 0}, {160, 10240, 20560, 0, 0, 0, 0}, {51, 768, 21, 4369, 0, 0, 0}, {42, 21074, 0, 0, 0, 0, 0}, {83, 5120, 0, 0, 0, 0, 0}, {12, 32, 64, 1028, 4112, 0, 0}, {3840, 8704, 85, 0, 0, 0, 0}, {12, 102, 4694, 17408, 0, 0, 0}, {95, 32, 1879, 20480, 0, 0, 0}, {2056, 32, 20560, 0, 0, 0, 0}, {12, 51, 768, 85, 4352, 0, 0}, {170, 23130, 8704, 0, 0, 0, 0}, {19, 64, 1028, 4096, 0, 0, 0}, {12, 5168, 5200, 0, 0, 0, 0}, {1800, 1826, 85, 0, 0, 0, 0}, {12, 38, 4626, 64, 1028, 0, 0}, {95, 9984, 20480, 0, 0, 0, 0}, {6144, 96, 20480, 0, 0, 0, 0}, {25, 51, 1799, 85, 4369, 0, 0}, {4616, 4642, 64, 0, 0, 0, 0}, {5135, 51, 5200, 0, 0, 0, 0}, {5128, 32, 5188, 0, 0, 0, 0}, {4623, 4656, 85, 0, 0, 0, 0}, {7680, 102, 17408, 0, 0, 0, 0}, {31, 32, 1799, 64, 4112, 0, 0}, {2056, 32, 64, 4096, 0, 0, 0}, {3855, 51, 85, 4352, 0, 0, 0}, {106, 4608, 0, 0, 0, 0, 0}, {19, 5140, 0, 0, 0, 0, 0}, {108, 5120, 0, 0, 0, 0, 0}, {4626, 21, 0, 0, 0, 0, 0}, {76, 102, 5632, 17476, 0, 0, 0}, {95, 96, 5888, 20560, 0, 0, 0}, {128, 2048, 28784, 0, 0, 0, 0}, {6, 85, 1280, 4369, 0, 0, 0}, {10, 8738, 20560, 0, 0, 0, 0}, {12, 51, 768, 64, 1024, 0, 0}, {12, 12336, 17476, 0, 0, 0, 0}, {10, 32, 512, 85, 1280, 0, 0}, {6, 64, 1024, 4112, 0, 0, 0}, {255, 3840, 30583, 0, 0, 0, 0}, {30840, 0, 0, 0, 0, 0, 0}, {19, 21, 256, 0, 0, 0, 0}, {10, 32, 512, 20560, 0, 0, 0}, {12, 51, 768, 17476, 0, 0, 0}, {12, 12336, 64, 1024, 0, 0, 0}, {10, 8738, 85, 1280, 0, 0, 0}, {6, 5140, 0, 0, 0, 0, 0}, {127, 1792, 0, 0, 0, 0, 0}, {128, 2048, 28672, 0, 0, 0, 0}, {6, 85, 1285, 4369, 0, 0, 0}, {10, 8738, 20480, 0, 0, 0, 0}, {12, 51, 771, 64, 1024, 0, 0}, {12, 12288, 17476, 0, 0, 0, 0}, {10, 32, 512, 85, 1285, 0, 0}, {6, 64, 1024, 4096, 0, 0, 0}, {255, 3855, 30583, 0, 0, 0, 0}, {30856, 0, 0, 0, 0, 0, 0}, {259, 261, 272, 0, 0, 0, 0}, {10, 32, 512, 20480, 0, 0, 0}, {12, 51, 771, 17476, 0, 0, 0}, {12, 12288, 64, 1024, 0, 0, 0}, {10, 8738, 85, 1285, 0, 0, 0}, {6, 5188, 0, 0, 0, 0, 0}, {1807, 1904, 0, 0, 0, 0, 0}, {6224, 96, 20560, 0, 0, 0, 0}, {25, 51, 1809, 85, 4369, 0, 0}, {42, 4626, 64, 0, 0, 0, 0}, {95, 51, 5120, 0, 0, 0, 0}, {76, 32, 5140, 0, 0, 0, 0}, {63, 4608, 85, 0, 0, 0, 0}, {7770, 102, 17408, 0, 0, 0, 0}, {31, 32, 1815, 64, 4096, 0, 0}, {2056, 32, 64, 4112, 0, 0, 0}, {3840, 51, 85, 4352, 0, 0, 0}, {4698, 4656, 0, 0, 0, 0, 0}, {19, 5188, 0, 0, 0, 0, 0}, {5180, 5200, 0, 0, 0, 0, 0}, {4642, 21, 0, 0, 0, 0, 0}, {76, 102, 5654, 17476, 0, 0, 0}, {95, 96, 5888, 20480, 0, 0, 0}, {160, 10240, 20480, 0, 0, 0, 0}, {51, 771, 21, 4369, 0, 0, 0}, {21000, 21026, 0, 0, 0, 0, 0}, {5123, 5200, 0, 0, 0, 0, 0}, {12, 32, 64, 1028, 4096, 0, 0}, {3855, 8704, 85, 0, 0, 0, 0}, {12, 102, 4608, 17408, 0, 0, 0}, {95, 32, 1799, 20560, 0, 0, 0}, {2056, 32, 20480, 0, 0, 0, 0}, {12, 51, 771, 85, 4352, 0, 0}, {170, 23040, 8704, 0, 0, 0, 0}, {19, 64, 1028, 4112, 0, 0, 0}, {12, 96, 5120, 0, 0, 0, 0}, {42, 1799, 85, 0, 0, 0, 0}, {12, 38, 4612, 64, 1028, 0, 0}, {95, 10064, 20560, 0, 0, 0, 0}, {2048, 12336, 64, 0, 0, 0, 0}, {10, 51, 85, 1280, 4369, 0, 0}, {10, 96, 4626, 20560, 0, 0, 0}, {76, 51, 1792, 17408, 0, 0, 0}, {204, 15420, 17476, 0, 0, 0, 0}, {32, 512, 21, 4096, 0, 0, 0}, {5142, 5200, 0, 0, 0, 0, 0}, {18248, 18295, 0, 0, 0, 0, 0}, {192, 18504, 12336, 0, 0, 0, 0}, {19, 85, 1280, 4352, 0, 0, 0}, {10, 32, 512, 64, 4112, 0, 0}, {3840, 51, 17476, 0, 0, 0, 0}, {76, 13424, 17408, 0, 0, 0, 0}, {10, 53, 4631, 85, 1280, 0, 0}, {10, 102, 5140, 0, 0, 0, 0}, {63, 1792, 64, 0, 0, 0, 0}, {192, 18432, 12288, 0, 0, 0, 0}, {19, 85, 1285, 4369, 0, 0, 0}, {10, 32, 514, 64, 4096, 0, 0}, {3855, 51, 17408, 0, 0, 0, 0}, {76, 13380, 17476, 0, 0, 0, 0}, {10, 53, 4613, 85, 1285, 0, 0}, {10, 102, 5120, 0, 0, 0, 0}, {63, 1799, 64, 0, 0, 0, 0}, {2056, 12288, 64, 0, 0, 0, 0}, {10, 51, 85, 1285, 4352, 0, 0}, {10, 96, 4608, 20480, 0, 0, 0}, {76, 51, 1799, 17476, 0, 0, 0}, {204, 15360, 17408, 0, 0, 0, 0}, {32, 514, 21, 4112, 0, 0, 0}, {5122, 5188, 0, 0, 0, 0, 0}, {18191, 18224, 0, 0, 0, 0, 0}, {2048, 32, 20560, 0, 0, 0, 0}, {12, 51, 768, 85, 4369, 0, 0}, {170, 23130, 8738, 0, 0, 0, 0}, {19, 64, 1024, 4096, 0, 0, 0}, {12, 96, 5140, 0, 0, 0, 0}, {42, 1792, 85, 0, 0, 0, 0}, {12, 38, 4630, 64, 1024, 0, 0}, {95, 10103, 20480, 0, 0, 0, 0}, {160, 10280, 20560, 0, 0, 0, 0}, {51, 768, 21, 4352, 0, 0, 0}, {21082, 21104, 0, 0, 0, 0, 0}, {5143, 5188, 0, 0, 0, 0, 0}, {12, 32, 64, 1024, 4112, 0, 0}, {3840, 8738, 85, 0, 0, 0, 0}, {12, 102, 4626, 17476, 0, 0, 0}, {95, 32, 1792, 20480, 0, 0, 0}, {2048, 32, 64, 4096, 0, 0, 0}, {3855, 51, 85, 4369, 0, 0, 0}, {4680, 4642, 0, 0, 0, 0, 0}, {19, 5200, 0, 0, 0, 0, 0}, {5160, 5188, 0, 0, 0, 0, 0}, {4656, 21, 0, 0, 0, 0, 0}, {76, 102, 5632, 17408, 0, 0, 0}, {95, 96, 5911, 20560, 0, 0, 0}, {6216, 96, 20480, 0, 0, 0, 0}, {25, 51, 1814, 85, 4352, 0, 0}, {42, 4608, 64, 0, 0, 0, 0}, {95, 51, 5140, 0, 0, 0, 0}, {76, 32, 5120, 0, 0, 0, 0}, {63, 4626, 85, 0, 0, 0, 0}, {7748, 102, 17476, 0, 0, 0, 0}, {31, 32, 1808, 64, 4112, 0, 0}, {30960, 0, 0, 0, 0, 0, 0}, {258, 260, 273, 0, 0, 0, 0}, {10, 32, 514, 20560, 0, 0, 0}, {12, 51, 768, 17408, 0, 0, 0}, {12, 12336, 64, 1028, 0, 0, 0}, {10, 8704, 85, 1280, 0, 0, 0}, {6, 5200, 0, 0, 0, 0, 0}, {1800, 1911, 0, 0, 0, 0, 0}, {128, 2056, 28784, 0, 0, 0, 0}, {6, 85, 1280, 4352, 0, 0, 0}, {10, 8704, 20560, 0, 0, 0, 0}, {12, 51, 768, 64, 1028, 0, 0}, {12, 12336, 17408, 0, 0, 0, 0}, {10, 32, 514, 85, 1280, 0, 0}, {6, 64, 1028, 4112, 0, 0, 0}, {255, 3840, 30464, 0, 0, 0, 0}, {4864, 5376, 0, 0, 0, 0, 0}, {120, 257, 0, 0, 0, 0, 0}, {1032, 4386, 514, 17408, 0, 0, 0}, {1295, 4144, 771, 20480, 0, 0, 0}, {520, 8704, 4420, 1028, 0, 0, 0}, {783, 12288, 4176, 1285, 0, 0, 0}, {5482, 1542, 0, 0, 0, 0, 0}, {263, 5120, 0, 0, 0, 0, 0}, {1032, 1536, 4352, 0, 0, 0, 0}, {4192, 771, 1285, 0, 0, 0, 0}, {1546, 13056, 16384, 0, 0, 0, 0}, {267, 4403, 771, 4160, 1028, 0, 0}, {1548, 8192, 21760, 0, 0, 0, 0}, {269, 4128, 514, 4437, 1285, 0, 0}, {4454, 514, 1028, 0, 0, 0, 0}, {1295, 1536, 4096, 0, 0, 0, 0}, {3840, 816, 1360, 4112, 0, 0, 0}, {2048, 546, 1092, 4369, 0, 0, 0}, {274, 5120, 0, 0, 0, 0, 0}, {5503, 4883, 0, 0, 0, 0, 0}, {4608, 276, 0, 0, 0, 0, 0}, {4991, 5397, 0, 0, 0, 0, 0}, {1370, 4208, 5654, 20480, 0, 0, 0}, {1096, 4471, 5911, 17408, 0, 0, 0}, {280, 1072, 1792, 1360, 4352, 0, 0}, {6425, 1638, 21845, 0, 0, 0, 0}, {5402, 816, 4160, 0, 0, 0, 0}, {4891, 4403, 1092, 0, 0, 0, 0}, {4892, 4128, 1360, 0, 0, 0, 0}, {5405, 546, 4437, 0, 0, 0, 0}, {286, 1314, 1792, 1092, 4096, 0, 0}, {7967, 1632, 16448, 0, 0, 0, 0}, {3072, 4896, 21760, 0, 0, 0, 0}, {1036, 289, 771, 1365, 4369, 0, 0}, {4386, 4864, 1024, 0, 0, 0, 0}, {1375, 771, 4112, 0, 0, 0, 0}, {1036, 1572, 4420, 0, 0, 0, 0}, {783, 5413, 1365, 0, 0, 0, 0}, {4940, 9766, 16448, 0, 0, 0, 0}, {4367, 295, 4608, 4176, 1024, 0, 0}, {552, 1024, 4352, 0, 0, 0, 0}, {771, 4160, 5397, 0, 0, 0, 0}, {5418, 21248, 0, 0, 0, 0, 0}, {339, 5140, 0, 0, 0, 0, 0}, {3084, 8224, 5440, 0, 0, 0, 0}, {783, 546, 341, 1024, 4096, 0, 0}, {1036, 4454, 4932, 17476, 0, 0, 0}, {1375, 4128, 1616, 20560, 0, 0, 0}, {4144, 4864, 1280, 0, 0, 0, 0}, {1100, 514, 4369, 0, 0, 0, 0}, {1290, 306, 514, 1088, 4112, 0, 0}, {2560, 4915, 16384, 0, 0, 0, 0}, {4104, 308, 4608, 4420, 1280, 0, 0}, {4959, 13621, 21845, 0, 0, 0, 0}, {1290, 1590, 4176, 0, 0, 0, 0}, {520, 5431, 1088, 0, 0, 0, 0}, {520, 816, 320, 1280, 4352, 0, 0}, {2570, 13107, 5461, 0, 0, 0, 0}, {1290, 4192, 4944, 20560, 0, 0, 0}, {1100, 4403, 1604, 17476, 0, 0, 0}, {828, 1280, 4096, 0, 0, 0, 0}, {514, 4437, 5397, 0, 0, 0, 0}, {326, 5140, 0, 0, 0, 0, 0}, {5439, 17920, 0, 0, 0, 0, 0}, {2560, 13056, 5440, 0, 0, 0, 0}, {522, 819, 321, 1285, 4369, 0, 0}, {1096, 4386, 1602, 17408, 0, 0, 0}, {1295, 4208, 4931, 20480, 0, 0, 0}, {512, 4420, 5376, 0, 0, 0, 0}, {831, 1285, 4112, 0, 0, 0, 0}, {5418, 17990, 0, 0, 0, 0, 0}, {327, 5120, 0, 0, 0, 0, 0}, {1096, 512, 4352, 0, 0, 0, 0}, {4128, 4883, 1285, 0, 0, 0, 0}, {2570, 4896, 16448, 0, 0, 0, 0}, {1295, 307, 512, 1092, 4096, 0, 0}, {4940, 13568, 21760, 0, 0, 0, 0}, {4120, 309, 4626, 4437, 1285, 0, 0}, {522, 5410, 1092, 0, 0, 0, 0}, {1295, 1584, 4160, 0, 0, 0, 0}, {768, 4176, 5376, 0, 0, 0, 0}, {554, 1028, 4369, 0, 0, 0, 0}, {338, 5120, 0, 0, 0, 0, 0}, {5439, 21331, 0, 0, 0, 0, 0}, {780, 544, 340, 1028, 4112, 0, 0}, {3072, 8192, 5461, 0, 0, 0, 0}, {1370, 4144, 1622, 20480, 0, 0, 0}, {1032, 4471, 4951, 17408, 0, 0, 0}, {1032, 288, 768, 1360, 4352, 0, 0}, {3084, 4915, 21845, 0, 0, 0, 0}, {1370, 768, 4096, 0, 0, 0, 0}, {4403, 4883, 1028, 0, 0, 0, 0}, {780, 5424, 1360, 0, 0, 0, 0}, {1032, 1570, 4437, 0, 0, 0, 0}, {4382, 294, 4626, 4160, 1028, 0, 0}, {4959, 9728, 16384, 0, 0, 0, 0}, {6400, 1632, 21760, 0, 0, 0, 0}, {281, 1076, 1799, 1365, 4369, 0, 0}, {4872, 4386, 1088, 0, 0, 0, 0}, {5391, 819, 4176, 0, 0, 0, 0}, {5384, 544, 4420, 0, 0, 0, 0}, {4879, 4144, 1365, 0, 0, 0, 0}, {7936, 1638, 16384, 0, 0, 0, 0}, {287, 1319, 1799, 1088, 4112, 0, 0}, {2056, 544, 1088, 4352, 0, 0, 0}, {3855, 819, 1365, 4096, 0, 0, 0}, {5482, 4864, 0, 0, 0, 0, 0}, {275, 5140, 0, 0, 0, 0, 0}, {4972, 5376, 0, 0, 0, 0, 0}, {4626, 277, 0, 0, 0, 0, 0}, {1100, 4454, 5888, 17476, 0, 0, 0}, {1375, 4192, 5632, 20560, 0, 0, 0}, {4208, 768, 1280, 0, 0, 0, 0}, {1036, 1542, 4369, 0, 0, 0, 0}, {266, 4386, 768, 4176, 1024, 0, 0}, {1548, 13107, 16448, 0, 0, 0, 0}, {268, 4144, 512, 4420, 1280, 0, 0}, {1546, 8224, 21845, 0, 0, 0, 0}, {1290, 1542, 4112, 0, 0, 0, 0}, {4471, 512, 1024, 0, 0, 0, 0}, {120, 256, 0, 0, 0, 0, 0}, {4883, 5397, 0, 0, 0, 0, 0}, {1290, 4128, 768, 20560, 0, 0, 0}, {1036, 4403, 512, 17476, 0, 0, 0}, {780, 12336, 4160, 1280, 0, 0, 0}, {522, 8738, 4437, 1024, 0, 0, 0}, {262, 5140, 0, 0, 0, 0, 0}, {5503, 1536, 0, 0, 0, 0, 0}, {5504, 1536, 21760, 0, 0, 0, 0}, {265, 369, 771, 1285, 4369, 0, 0}, {522, 4386, 1024, 0, 0, 0, 0}, {1295, 771, 4160, 0, 0, 0, 0}, {1036, 512, 4420, 0, 0, 0, 0}, {783, 4128, 1285, 0, 0, 0, 0}, {5610, 1542, 16448, 0, 0, 0, 0}, {271, 375, 512, 1024, 4096, 0, 0}, {136, 512, 1024, 4352, 0, 0, 0}, {240, 771, 1285, 4112, 0, 0, 0}, {1546, 4896, 0, 0, 0, 0, 0}, {259, 5188, 0, 0, 0, 0, 0}, {1548, 5440, 0, 0, 0, 0, 0}, {4642, 261, 0, 0, 0, 0, 0}, {1036, 4454, 1542, 17476, 0, 0, 0}, {1295, 4208, 1536, 20480, 0, 0, 0}, {5424, 5632, 1360, 0, 0, 0, 0}, {1100, 1638, 4369, 0, 0, 0, 0}, {282, 4386, 4626, 4160, 5120, 0, 0}, {1644, 13107, 16384, 0, 0, 0, 0}, {284, 4128, 4608, 4420, 5140, 0, 0}, {1642, 8192, 21845, 0, 0, 0, 0}, {1370, 1638, 4096, 0, 0, 0, 0}, {5431, 5911, 1088, 0, 0, 0, 0}, {1800, 272, 0, 0, 0, 0, 0}, {4915, 5461, 0, 0, 0, 0, 0}, {1370, 4144, 4864, 20480, 0, 0, 0}, {1100, 4403, 4883, 17476, 0, 0, 0}, {828, 12288, 4176, 5376, 0, 0, 0}, {554, 8738, 4437, 5397, 0, 0, 0}, {278, 5188, 0, 0, 0, 0, 0}, {4959, 1632, 0, 0, 0, 0, 0}, {5024, 13056, 5376, 0, 0, 0, 0}, {297, 771, 337, 1028, 4369, 0, 0}, {1032, 4386, 5888, 17408, 0, 0, 0}, {1375, 4192, 771, 20560, 0, 0, 0}, {544, 4420, 1028, 0, 0, 0, 0}, {783, 1365, 4096, 0, 0, 0, 0}, {21260, 18022, 0, 0, 0, 0, 0}, {5383, 5200, 0, 0, 0, 0, 0}, {1032, 544, 4352, 0, 0, 0, 0}, {4144, 771, 1365, 0, 0, 0, 0}, {5546, 4864, 16384, 0, 0, 0, 0}, {347, 291, 771, 1028, 4112, 0, 0}, {4972, 13664, 21760, 0, 0, 0, 0}, {4104, 293, 4871, 4437, 5120, 0, 0}, {4940, 4454, 1028, 0, 0, 0, 0}, {5391, 5632, 4176, 0, 0, 0, 0}, {816, 4160, 1280, 0, 0, 0, 0}, {522, 1092, 4369, 0, 0, 0, 0}, {5394, 5200, 0, 0, 0, 0, 0}, {17996, 21299, 0, 0, 0, 0, 0}, {316, 512, 324, 1280, 4096, 0, 0}, {5087, 8224, 5397, 0, 0, 0, 0}, {1290, 4128, 5654, 20560, 0, 0, 0}, {1096, 4471, 512, 17408, 0, 0, 0}, {328, 304, 512, 1280, 4352, 0, 0}, {5589, 4883, 21845, 0, 0, 0, 0}, {1290, 816, 4112, 0, 0, 0, 0}, {4403, 512, 1092, 0, 0, 0, 0}, {4940, 4208, 1280, 0, 0, 0, 0}, {5405, 5911, 4437, 0, 0, 0, 0}, {4382, 310, 4884, 4176, 5140, 0, 0}, {4991, 9792, 16448, 0, 0, 0, 0}, {5568, 4864, 21760, 0, 0, 0, 0}, {329, 305, 514, 1285, 4369, 0, 0}, {4386, 514, 1088, 0, 0, 0, 0}, {1295, 819, 4096, 0, 0, 0, 0}, {5384, 5888, 4420, 0, 0, 0, 0}, {4959, 4192, 1285, 0, 0, 0, 0}, {4972, 9830, 16384, 0, 0, 0, 0}, {4367, 311, 4871, 4160, 5120, 0, 0}, {520, 1088, 4352, 0, 0, 0, 0}, {819, 4176, 1285, 0, 0, 0, 0}, {17930, 21344, 0, 0, 0, 0, 0}, {5383, 5188, 0, 0, 0, 0, 0}, {5068, 8192, 5376, 0, 0, 0, 0}, {317, 514, 325, 1285, 4112, 0, 0}, {1100, 4454, 514, 17476, 0, 0, 0}, {1295, 4144, 5632, 20480, 0, 0, 0}, {4128, 768, 1360, 0, 0, 0, 0}, {1036, 546, 4369, 0, 0, 0, 0}, {346, 290, 768, 1024, 4096, 0, 0}, {5567, 4883, 16448, 0, 0, 0, 0}, {4120, 292, 4884, 4420, 5140, 0, 0}, {4991, 13653, 21845, 0, 0, 0, 0}, {5402, 5654, 4160, 0, 0, 0, 0}, {4959, 4471, 1024, 0, 0, 0, 0}, {296, 768, 336, 1024, 4352, 0, 0}, {5043, 13107, 5397, 0, 0, 0, 0}, {1370, 4208, 768, 20480, 0, 0, 0}, {1036, 4403, 5911, 17476, 0, 0, 0}, {780, 1360, 4112, 0, 0, 0, 0}, {546, 4437, 1024, 0, 0, 0, 0}, {5394, 5188, 0, 0, 0, 0, 0}, {21343, 17952, 0, 0, 0, 0, 0}, {4896, 5440, 0, 0, 0, 0, 0}, {1807, 273, 0, 0, 0, 0, 0}, {1096, 4386, 4864, 17408, 0, 0, 0}, {1375, 4128, 4883, 20560, 0, 0, 0}, {552, 8704, 4420, 5376, 0, 0, 0}, {831, 12336, 4160, 5397, 0, 0, 0}, {4940, 1638, 0, 0, 0, 0, 0}, {279, 5200, 0, 0, 0, 0, 0}, {1096, 1632, 4352, 0, 0, 0, 0}, {5413, 5654, 1365, 0, 0, 0, 0}, {1642, 13056, 16448, 0, 0, 0, 0}, {283, 4403, 4608, 4176, 5140, 0, 0}, {1644, 8224, 21760, 0, 0, 0, 0}, {285, 4144, 4626, 4437, 5120, 0, 0}, {5410, 5888, 1092, 0, 0, 0, 0}, {1375, 1632, 4112, 0, 0, 0, 0}, {240, 768, 1280, 4096, 0, 0, 0}, {136, 514, 1028, 4369, 0, 0, 0}, {258, 5200, 0, 0, 0, 0, 0}, {1548, 4915, 0, 0, 0, 0, 0}, {4656, 260, 0, 0, 0, 0, 0}, {1546, 5461, 0, 0, 0, 0, 0}, {1290, 4192, 1542, 20560, 0, 0, 0}, {1032, 4471, 1536, 17408, 0, 0, 0}, {264, 368, 768, 1280, 4352, 0, 0}, {5525, 1542, 21845, 0, 0, 0, 0}, {1290, 768, 4176, 0, 0, 0, 0}, {520, 4403, 1028, 0, 0, 0, 0}, {780, 4144, 1280, 0, 0, 0, 0}, {1032, 514, 4437, 0, 0, 0, 0}, {270, 374, 514, 1028, 4112, 0, 0}, {5631, 1536, 16384, 0, 0, 0, 0}, {2560, 8192, 20480, 0, 0, 0, 0}, {12, 51, 68, 257, 0, 0, 0}, {20520, 514, 0, 0, 0, 0, 0}, {4099, 5376, 0, 0, 0, 0, 0}, {4608, 4100, 0, 0, 0, 0, 0}, {8287, 1285, 0, 0, 0, 0, 0}, {12, 4192, 1542, 16384, 0, 0, 0}, {1295, 119, 1799, 21760, 0, 0, 0}, {520, 8704, 20480, 0, 0, 0, 0}, {12, 51, 771, 4176, 1285, 0, 0}, {20640, 2570, 28672, 0, 0, 0, 0}, {263, 68, 1028, 4352, 0, 0, 0}, {12, 1536, 4096, 0, 0, 0, 0}, {119, 514, 1285, 0, 0, 0, 0}, {12, 4128, 514, 68, 1028, 0, 0}, {1295, 8192, 21760, 0, 0, 0, 0}, {192, 2656, 4112, 0, 0, 0, 0}, {51, 529, 68, 1297, 4369, 0, 0}, {72, 4144, 4626, 16384, 0, 0, 0}, {1375, 51, 4883, 21760, 0, 0, 0}, {552, 8704, 68, 5140, 0, 0, 0}, {63, 12288, 4160, 5397, 0, 0, 0}, {20540, 5654, 0, 0, 0, 0, 0}, {4119, 5376, 0, 0, 0, 0, 0}, {4120, 4656, 4176, 0, 0, 0, 0}, {5657, 51, 1365, 0, 0, 0, 0}, {6682, 4208, 16448, 0, 0, 0, 0}, {1307, 51, 1792, 68, 4352, 0, 0}, {7196, 5744, 20560, 0, 0, 0, 0}, {1309, 1314, 1792, 1365, 4096, 0, 0}, {5662, 546, 68, 0, 0, 0, 0}, {4127, 4128, 5440, 0, 0, 0, 0}, {20640, 23040, 8224, 0, 0, 0, 0}, {274, 68, 1024, 4369, 0, 0, 0}, {2048, 546, 20480, 0, 0, 0, 0}, {12, 51, 771, 1360, 4112, 0, 0}, {12, 4132, 4608, 68, 1024, 0, 0}, {1370, 9509, 21845, 0, 0, 0, 0}, {12, 5670, 4160, 0, 0, 0, 0}, {1807, 1319, 1360, 0, 0, 0, 0}, {20520, 20992, 0, 0, 0, 0, 0}, {4163, 5397, 0, 0, 0, 0, 0}, {8320, 10794, 20480, 0, 0, 0, 0}, {51, 771, 276, 4352, 0, 0, 0}, {12, 4128, 5696, 16448, 0, 0, 0}, {1370, 119, 597, 21845, 0, 0, 0}, {12, 546, 68, 1024, 4096, 0, 0}, {3855, 8224, 1360, 0, 0, 0, 0}, {2560, 4144, 16384, 0, 0, 0, 0}, {1290, 51, 514, 68, 4369, 0, 0}, {72, 514, 4112, 0, 0, 0, 0}, {51, 4864, 1280, 0, 0, 0, 0}, {520, 5684, 68, 0, 0, 0, 0}, {1290, 1333, 5461, 0, 0, 0, 0}, {5722, 13878, 20560, 0, 0, 0, 0}, {4104, 4151, 4608, 4160, 1280, 0, 0}, {72, 4208, 576, 16448, 0, 0, 0}, {1290, 51, 5717, 21845, 0, 0, 0}, {2570, 12336, 4176, 0, 0, 0, 0}, {520, 51, 68, 1280, 4352, 0, 0}, {20540, 17920, 0, 0, 0, 0, 0}, {4183, 5397, 0, 0, 0, 0, 0}, {514, 68, 5140, 0, 0, 0, 0}, {63, 1280, 4096, 0, 0, 0, 0}, {2560, 12288, 4160, 0, 0, 0, 0}, {522, 51, 68, 1285, 4369, 0, 0}, {72, 4192, 578, 16384, 0, 0, 0}, {1295, 51, 5699, 21760, 0, 0, 0}, {512, 68, 5120, 0, 0, 0, 0}, {63, 1285, 4112, 0, 0, 0, 0}, {20588, 17990, 0, 0, 0, 0, 0}, {4167, 5376, 0, 0, 0, 0, 0}, {72, 512, 4096, 0, 0, 0, 0}, {51, 4883, 1285, 0, 0, 0, 0}, {2570, 4128, 16448, 0, 0, 0, 0}, {1295, 51, 512, 68, 4352, 0, 0}, {5708, 13824, 20480, 0, 0, 0, 0}, {4120, 4135, 4626, 4176, 1285, 0, 0}, {522, 5666, 68, 0, 0, 0, 0}, {1295, 1328, 5440, 0, 0, 0, 0}, {8352, 10752, 20560, 0, 0, 0, 0}, {51, 768, 277, 4369, 0, 0, 0}, {20600, 21074, 0, 0, 0, 0, 0}, {4179, 5376, 0, 0, 0, 0, 0}, {12, 544, 68, 1028, 4112, 0, 0}, {3840, 8192, 1365, 0, 0, 0, 0}, {12, 4144, 5718, 16384, 0, 0, 0}, {1375, 119, 599, 21760, 0, 0, 0}, {2056, 544, 20560, 0, 0, 0, 0}, {12, 51, 768, 1365, 4096, 0, 0}, {20720, 23130, 8192, 0, 0, 0, 0}, {275, 68, 1028, 4352, 0, 0, 0}, {12, 5680, 4176, 0, 0, 0, 0}, {1800, 1314, 1365, 0, 0, 0, 0}, {12, 4148, 4626, 68, 1028, 0, 0}, {1375, 9472, 21760, 0, 0, 0, 0}, {6656, 4192, 16384, 0, 0, 0, 0}, {1310, 51, 1799, 68, 4369, 0, 0}, {4104, 4642, 4160, 0, 0, 0, 0}, {5647, 51, 1360, 0, 0, 0, 0}, {5640, 544, 68, 0, 0, 0, 0}, {4111, 4144, 5461, 0, 0, 0, 0}, {7168, 5734, 20480, 0, 0, 0, 0}, {1304, 1319, 1799, 1360, 4112, 0, 0}, {72, 4128, 4608, 16448, 0, 0, 0}, {1370, 51, 4864, 21845, 0, 0, 0}, {192, 2666, 4096, 0, 0, 0, 0}, {51, 531, 68, 1300, 4352, 0, 0}, {20588, 5632, 0, 0, 0, 0, 0}, {4103, 5397, 0, 0, 0, 0, 0}, {554, 8738, 68, 5120, 0, 0, 0}, {63, 12336, 4176, 5376, 0, 0, 0}, {20720, 2560, 28784, 0, 0, 0, 0}, {262, 68, 1024, 4369, 0, 0, 0}, {522, 8738, 20560, 0, 0, 0, 0}, {12, 51, 768, 4160, 1280, 0, 0}, {12, 4144, 512, 68, 1024, 0, 0}, {1290, 8224, 21845, 0, 0, 0, 0}, {12, 1542, 4112, 0, 0, 0, 0}, {119, 512, 1280, 0, 0, 0, 0}, {20600, 512, 0, 0, 0, 0, 0}, {4115, 5397, 0, 0, 0, 0, 0}, {2570, 8224, 20560, 0, 0, 0, 0}, {12, 51, 68, 256, 0, 0, 0}, {12, 4208, 1536, 16448, 0, 0, 0}, {1290, 119, 1792, 21845, 0, 0, 0}, {4626, 4116, 0, 0, 0, 0, 0}, {8319, 1280, 0, 0, 0, 0, 0}, {8320, 2560, 20480, 0, 0, 0, 0}, {51, 771, 261, 4369, 0, 0, 0}, {522, 21026, 0, 0, 0, 0, 0}, {1283, 5440, 0, 0, 0, 0, 0}, {12, 512, 68, 1024, 4096, 0, 0}, {255, 8224, 1285, 0, 0, 0, 0}, {12, 4128, 1542, 16448, 0, 0, 0}, {1295, 119, 512, 21760, 0, 0, 0}, {136, 512, 20480, 0, 0, 0, 0}, {12, 51, 771, 1285, 4112, 0, 0}, {20640, 2570, 8224, 0, 0, 0, 0}, {259, 68, 1024, 4352, 0, 0, 0}, {12, 1536, 4160, 0, 0, 0, 0}, {522, 119, 1285, 0, 0, 0, 0}, {12, 4132, 518, 68, 1024, 0, 0}, {1295, 9584, 21760, 0, 0, 0, 0}, {6704, 12336, 4176, 0, 0, 0, 0}, {537, 51, 68, 1297, 4369, 0, 0}, {72, 4208, 4626, 16448, 0, 0, 0}, {1375, 51, 5632, 21760, 0, 0, 0}, {544, 68, 5140, 0, 0, 0, 0}, {63, 1365, 4096, 0, 0, 0, 0}, {5722, 18022, 0, 0, 0, 0, 0}, {1303, 5440, 0, 0, 0, 0, 0}, {72, 544, 4112, 0, 0, 0, 0}, {51, 4864, 1365, 0, 0, 0, 0}, {6746, 4144, 16384, 0, 0, 0, 0}, {1307, 51, 531, 68, 4352, 0, 0}, {5692, 13904, 20560, 0, 0, 0, 0}, {4104, 4151, 533, 4160, 5397, 0, 0}, {5180, 5654, 68, 0, 0, 0, 0}, {4191, 4192, 5376, 0, 0, 0, 0}, {20640, 23040, 28672, 0, 0, 0, 0}, {278, 68, 1028, 4369, 0, 0, 0}, {554, 8738, 20480, 0, 0, 0, 0}, {12, 51, 771, 4176, 5376, 0, 0}, {12, 4128, 4608, 68, 1028, 0, 0}, {1370, 8192, 21845, 0, 0, 0, 0}, {12, 1638, 4096, 0, 0, 0, 0}, {1319, 1799, 1360, 0, 0, 0, 0}, {21000, 544, 0, 0, 0, 0, 0}, {4099, 5461, 0, 0, 0, 0, 0}, {2730, 8192, 20480, 0, 0, 0, 0}, {12, 771, 1028, 272, 0, 0, 0}, {12, 4192, 5632, 16384, 0, 0, 0}, {1370, 119, 1799, 21845, 0, 0, 0}, {4642, 4100, 0, 0, 0, 0, 0}, {9487, 1360, 0, 0, 0, 0, 0}, {2560, 4208, 16448, 0, 0, 0, 0}, {1290, 51, 1792, 68, 4369, 0, 0}, {4120, 4626, 4176, 0, 0, 0, 0}, {4940, 51, 1280, 0, 0, 0, 0}, {5180, 512, 68, 0, 0, 0, 0}, {4127, 4128, 5397, 0, 0, 0, 0}, {204, 5654, 20560, 0, 0, 0, 0}, {72, 119, 512, 1280, 4096, 0, 0}, {72, 4144, 512, 16384, 0, 0, 0}, {1290, 51, 4883, 21845, 0, 0, 0}, {192, 2570, 4112, 0, 0, 0, 0}, {51, 512, 68, 1280, 4352, 0, 0}, {17996, 5744, 0, 0, 0, 0, 0}, {4119, 5461, 0, 0, 0, 0, 0}, {522, 8738, 68, 5140, 0, 0, 0}, {63, 12288, 4160, 1280, 0, 0, 0}, {192, 2560, 4096, 0, 0, 0, 0}, {51, 514, 68, 1285, 4369, 0, 0}, {72, 4128, 514, 16448, 0, 0, 0}, {1295, 51, 4864, 21760, 0, 0, 0}, {520, 8704, 68, 5120, 0, 0, 0}, {63, 12336, 4176, 1285, 0, 0, 0}, {17930, 5734, 0, 0, 0, 0, 0}, {4103, 5440, 0, 0, 0, 0, 0}, {4104, 4608, 4160, 0, 0, 0, 0}, {4959, 51, 1285, 0, 0, 0, 0}, {2570, 4192, 16384, 0, 0, 0, 0}, {1295, 51, 1799, 68, 4352, 0, 0}, {204, 5632, 20480, 0, 0, 0, 0}, {72, 119, 514, 1285, 4112, 0, 0}, {5160, 514, 68, 0, 0, 0, 0}, {4111, 4144, 5376, 0, 0, 0, 0}, {2720, 8224, 20560, 0, 0, 0, 0}, {12, 768, 1024, 273, 0, 0, 0}, {21082, 546, 0, 0, 0, 0, 0}, {4115, 5440, 0, 0, 0, 0, 0}, {4656, 4116, 0, 0, 0, 0, 0}, {9514, 1365, 0, 0, 0, 0, 0}, {12, 4208, 5654, 16448, 0, 0, 0}, {1375, 119, 1792, 21760, 0, 0, 0}, {552, 8704, 20560, 0, 0, 0, 0}, {12, 51, 768, 4160, 5397, 0, 0}, {20720, 23130, 28784, 0, 0, 0, 0}, {279, 68, 1024, 4352, 0, 0, 0}, {12, 1632, 4112, 0, 0, 0, 0}, {1314, 1792, 1365, 0, 0, 0, 0}, {12, 4144, 4626, 68, 1024, 0, 0}, {1375, 8224, 21760, 0, 0, 0, 0}, {6720, 4128, 16448, 0, 0, 0, 0}, {1310, 51, 529, 68, 4369, 0, 0}, {72, 546, 4096, 0, 0, 0, 0}, {51, 4883, 1360, 0, 0, 0, 0}, {5160, 5632, 68, 0, 0, 0, 0}, {4175, 4208, 5397, 0, 0, 0, 0}, {5674, 13926, 20480, 0, 0, 0, 0}, {4120, 4135, 535, 4176, 5376, 0, 0}, {72, 4192, 4608, 16384, 0, 0, 0}, {1370, 51, 5654, 21845, 0, 0, 0}, {6698, 12288, 4160, 0, 0, 0, 0}, {539, 51, 68, 1300, 4352, 0, 0}, {5708, 17952, 0, 0, 0, 0, 0}, {1298, 5461, 0, 0, 0, 0, 0}, {546, 68, 5120, 0, 0, 0, 0}, {63, 1360, 4112, 0, 0, 0, 0}, {20720, 2560, 8192, 0, 0, 0, 0}, {258, 68, 1028, 4369, 0, 0, 0}, {136, 514, 20560, 0, 0, 0, 0}, {12, 51, 768, 1280, 4096, 0, 0}, {12, 4148, 516, 68, 1028, 0, 0}, {1290, 9557, 21845, 0, 0, 0, 0}, {12, 1542, 4176, 0, 0, 0, 0}, {520, 119, 1280, 0, 0, 0, 0}, {520, 21104, 0, 0, 0, 0, 0}, {1286, 5461, 0, 0, 0, 0, 0}, {8352, 2570, 20560, 0, 0, 0, 0}, {51, 768, 260, 4352, 0, 0, 0}, {12, 4144, 1536, 16384, 0, 0, 0}, {1290, 119, 514, 21845, 0, 0, 0}, {12, 514, 68, 1028, 4112, 0, 0}, {255, 8192, 1280, 0, 0, 0, 0}, {3072, 13056, 17408, 0, 0, 0, 0}, {10, 32, 80, 257, 0, 0, 0}, {4354, 5376, 0, 0, 0, 0, 0}, {17468, 771, 0, 0, 0, 0, 0}, {13132, 1028, 0, 0, 0, 0, 0}, {4608, 4357, 0, 0, 0, 0, 0}, {10, 4454, 1542, 21760, 0, 0, 0}, {1032, 112, 1799, 16384, 0, 0, 0}, {1032, 13056, 16384, 0, 0, 0, 0}, {10, 4403, 771, 80, 1285, 0, 0}, {10, 1536, 4352, 0, 0, 0, 0}, {112, 771, 1028, 0, 0, 0, 0}, {17612, 3084, 30464, 0, 0, 0, 0}, {263, 80, 1285, 4096, 0, 0, 0}, {10, 32, 514, 4420, 1028, 0, 0}, {783, 12288, 17408, 0, 0, 0, 0}, {32, 784, 80, 1040, 4112, 0, 0}, {170, 3174, 4369, 0, 0, 0, 0}, {90, 4386, 4626, 21760, 0, 0, 0}, {1100, 32, 4883, 16384, 0, 0, 0}, {828, 12288, 80, 5140, 0, 0, 0}, {42, 8704, 4437, 5397, 0, 0, 0}, {4374, 5376, 0, 0, 0, 0, 0}, {17448, 5911, 0, 0, 0, 0, 0}, {5912, 816, 80, 0, 0, 0, 0}, {4377, 4403, 5461, 0, 0, 0, 0}, {1050, 1072, 1792, 1088, 4352, 0, 0}, {6939, 6007, 17476, 0, 0, 0, 0}, {1052, 32, 1792, 80, 4096, 0, 0}, {7453, 4471, 21845, 0, 0, 0, 0}, {4382, 4642, 4420, 0, 0, 0, 0}, {5919, 32, 1088, 0, 0, 0, 0}, {32, 4864, 1024, 0, 0, 0, 0}, {90, 771, 4369, 0, 0, 0, 0}, {3072, 4386, 21760, 0, 0, 0, 0}, {1036, 32, 771, 80, 4112, 0, 0}, {5960, 9252, 17476, 0, 0, 0, 0}, {4367, 4389, 4608, 4437, 1024, 0, 0}, {1036, 1062, 5440, 0, 0, 0, 0}, {783, 5927, 80, 0, 0, 0, 0}, {17448, 21248, 0, 0, 0, 0, 0}, {4419, 5397, 0, 0, 0, 0, 0}, {42, 1024, 4352, 0, 0, 0, 0}, {771, 80, 5140, 0, 0, 0, 0}, {1036, 32, 5952, 16448, 0, 0, 0}, {90, 4471, 853, 21845, 0, 0, 0}, {3084, 8738, 4420, 0, 0, 0, 0}, {783, 32, 80, 1024, 4096, 0, 0}, {3840, 816, 17408, 0, 0, 0, 0}, {10, 32, 514, 1092, 4369, 0, 0}, {274, 80, 1280, 4112, 0, 0, 0}, {17612, 18432, 13107, 0, 0, 0, 0}, {1800, 1076, 1092, 0, 0, 0, 0}, {10, 5941, 4437, 0, 0, 0, 0}, {10, 4406, 4608, 80, 1280, 0, 0}, {1096, 14135, 16448, 0, 0, 0, 0}, {1096, 112, 832, 16448, 0, 0, 0}, {10, 4403, 5973, 21845, 0, 0, 0}, {10, 816, 80, 1280, 4352, 0, 0}, {2056, 13107, 1092, 0, 0, 0, 0}, {17468, 18176, 0, 0, 0, 0, 0}, {4439, 5397, 0, 0, 0, 0, 0}, {32, 514, 276, 4096, 0, 0, 0}, {13311, 16191, 17408, 0, 0, 0, 0}, {2048, 13056, 1088, 0, 0, 0, 0}, {10, 819, 80, 1285, 4369, 0, 0}, {10, 4386, 5954, 21760, 0, 0, 0}, {1100, 112, 835, 16384, 0, 0, 0}, {13260, 16128, 17476, 0, 0, 0, 0}, {32, 512, 277, 4112, 0, 0, 0}, {4422, 5376, 0, 0, 0, 0, 0}, {17528, 18247, 0, 0, 0, 0, 0}, {17544, 18504, 13056, 0, 0, 0, 0}, {275, 80, 1285, 4096, 0, 0, 0}, {10, 32, 512, 1088, 4352, 0, 0}, {3855, 819, 17476, 0, 0, 0, 0}, {1100, 14080, 16384, 0, 0, 0, 0}, {10, 4391, 4626, 80, 1285, 0, 0}, {10, 5922, 4420, 0, 0, 0, 0}, {1807, 1072, 1088, 0, 0, 0, 0}, {768, 80, 5120, 0, 0, 0, 0}, {42, 1028, 4369, 0, 0, 0, 0}, {4434, 5376, 0, 0, 0, 0, 0}, {17516, 21331, 0, 0, 0, 0, 0}, {780, 32, 80, 1028, 4112, 0, 0}, {3072, 8704, 4437, 0, 0, 0, 0}, {90, 4454, 854, 21760, 0, 0, 0}, {1032, 32, 5975, 16384, 0, 0, 0}, {1032, 32, 768, 80, 4096, 0, 0}, {3084, 4403, 21845, 0, 0, 0, 0}, {90, 768, 4352, 0, 0, 0, 0}, {32, 4883, 1028, 0, 0, 0, 0}, {780, 5936, 80, 0, 0, 0, 0}, {1032, 1058, 5461, 0, 0, 0, 0}, {4382, 4404, 4626, 4420, 1028, 0, 0}, {5983, 9216, 17408, 0, 0, 0, 0}, {6912, 5984, 17408, 0, 0, 0, 0}, {1054, 1076, 1799, 1092, 4369, 0, 0}, {4360, 4386, 5440, 0, 0, 0, 0}, {5903, 819, 80, 0, 0, 0, 0}, {5896, 32, 1092, 0, 0, 0, 0}, {4367, 4656, 4437, 0, 0, 0, 0}, {7424, 4454, 21760, 0, 0, 0, 0}, {1048, 32, 1799, 80, 4112, 0, 0}, {1096, 32, 4864, 16448, 0, 0, 0}, {90, 4403, 4608, 21845, 0, 0, 0}, {170, 3178, 4352, 0, 0, 0, 0}, {32, 787, 80, 1044, 4096, 0, 0}, {17516, 5888, 0, 0, 0, 0, 0}, {4359, 5397, 0, 0, 0, 0, 0}, {42, 8738, 4420, 5376, 0, 0, 0}, {831, 12336, 80, 5120, 0, 0, 0}, {112, 768, 1024, 0, 0, 0, 0}, {10, 1542, 4369, 0, 0, 0, 0}, {10, 4386, 768, 80, 1280, 0, 0}, {1036, 13107, 16448, 0, 0, 0, 0}, {780, 12336, 17476, 0, 0, 0, 0}, {10, 32, 512, 4437, 1024, 0, 0}, {262, 80, 1280, 4112, 0, 0, 0}, {17544, 3072, 30583, 0, 0, 0, 0}, {17528, 768, 0, 0, 0, 0, 0}, {4371, 5397, 0, 0, 0, 0, 0}, {10, 32, 80, 256, 0, 0, 0}, {3084, 13107, 17476, 0, 0, 0, 0}, {1036, 112, 1792, 16448, 0, 0, 0}, {10, 4471, 1536, 21845, 0, 0, 0}, {4626, 4372, 0, 0, 0, 0, 0}, {13183, 1024, 0, 0, 0, 0, 0}, {128, 13056, 1024, 0, 0, 0, 0}, {10, 771, 80, 1285, 4369, 0, 0}, {10, 4386, 1536, 21760, 0, 0, 0}, {1036, 112, 771, 16448, 0, 0, 0}, {13260, 3084, 17476, 0, 0, 0, 0}, {32, 512, 261, 4096, 0, 0, 0}, {1030, 5440, 0, 0, 0, 0, 0}, {783, 18295, 0, 0, 0, 0, 0}, {17544, 3072, 13056, 0, 0, 0, 0}, {259, 80, 1285, 4112, 0, 0, 0}, {10, 32, 512, 1024, 4352, 0, 0}, {240, 771, 17476, 0, 0, 0, 0}, {1036, 14144, 16448, 0, 0, 0, 0}, {10, 4391, 773, 80, 1285, 0, 0}, {10, 1542, 4420, 0, 0, 0, 0}, {783, 112, 1024, 0, 0, 0, 0}, {816, 80, 5120, 0, 0, 0, 0}, {42, 1092, 4369, 0, 0, 0, 0}, {1042, 5440, 0, 0, 0, 0, 0}, {5983, 21299, 0, 0, 0, 0, 0}, {796, 32, 80, 1044, 4096, 0, 0}, {7487, 8704, 4437, 0, 0, 0, 0}, {90, 4454, 4608, 21760, 0, 0, 0}, {1096, 32, 5911, 16448, 0, 0, 0}, {1048, 32, 784, 80, 4112, 0, 0}, {7509, 4403, 21845, 0, 0, 0, 0}, {90, 816, 4352, 0, 0, 0, 0}, {32, 4883, 1092, 0, 0, 0, 0}, {5180, 5888, 80, 0, 0, 0, 0}, {4445, 4471, 5397, 0, 0, 0, 0}, {4382, 4404, 790, 4420, 5376, 0, 0}, {5951, 9312, 17408, 0, 0, 0, 0}, {160, 5888, 17408, 0, 0, 0, 0}, {90, 112, 771, 1028, 4369, 0, 0}, {4360, 4386, 5376, 0, 0, 0, 0}, {5180, 771, 80, 0, 0, 0, 0}, {4940, 32, 1028, 0, 0, 0, 0}, {4367, 4608, 4437, 0, 0, 0, 0}, {3084, 4454, 21760, 0, 0, 0, 0}, {1032, 32, 1799, 80, 4096, 0, 0}, {1032, 32, 4864, 16384, 0, 0, 0}, {90, 4403, 771, 21845, 0, 0, 0}, {170, 3072, 4352, 0, 0, 0, 0}, {32, 771, 80, 1028, 4112, 0, 0}, {21260, 5984, 0, 0, 0, 0, 0}, {4359, 5461, 0, 0, 0, 0, 0}, {42, 8738, 4420, 1028, 0, 0, 0}, {783, 12288, 80, 5120, 0, 0, 0}, {1072, 1792, 1088, 0, 0, 0, 0}, {10, 1638, 4369, 0, 0, 0, 0}, {10, 4386, 4626, 80, 1280, 0, 0}, {1100, 13107, 16384, 0, 0, 0, 0}, {828, 12288, 17476, 0, 0, 0, 0}, {10, 32, 512, 4437, 5397, 0, 0}, {278, 80, 1280, 4096, 0, 0, 0}, {17544, 18504, 30583, 0, 0, 0, 0}, {18248, 816, 0, 0, 0, 0, 0}, {4371, 5461, 0, 0, 0, 0, 0}, {10, 512, 1280, 272, 0, 0, 0}, {3276, 13107, 17476, 0, 0, 0, 0}, {1100, 112, 1792, 16384, 0, 0, 0}, {10, 4471, 5911, 21845, 0, 0, 0}, {4642, 4372, 0, 0, 0, 0, 0}, {14143, 1088, 0, 0, 0, 0, 0}, {3264, 13056, 17408, 0, 0, 0, 0}, {10, 514, 1285, 273, 0, 0, 0}, {4354, 5440, 0, 0, 0, 0, 0}, {18191, 819, 0, 0, 0, 0, 0}, {14088, 1092, 0, 0, 0, 0, 0}, {4656, 4357, 0, 0, 0, 0, 0}, {10, 4454, 5888, 21760, 0, 0, 0}, {1096, 112, 1799, 16448, 0, 0, 0}, {1096, 13056, 16448, 0, 0, 0, 0}, {10, 4403, 4608, 80, 1285, 0, 0}, {10, 1632, 4352, 0, 0, 0, 0}, {1076, 1799, 1092, 0, 0, 0, 0}, {17612, 18432, 30464, 0, 0, 0, 0}, {279, 80, 1285, 4112, 0, 0, 0}, {10, 32, 514, 4420, 5376, 0, 0}, {831, 12336, 17408, 0, 0, 0, 0}, {32, 768, 80, 1024, 4096, 0, 0}, {170, 3084, 4369, 0, 0, 0, 0}, {90, 4386, 768, 21760, 0, 0, 0}, {1036, 32, 4883, 16448, 0, 0, 0}, {780, 12336, 80, 5140, 0, 0, 0}, {42, 8704, 4437, 1024, 0, 0, 0}, {4374, 5440, 0, 0, 0, 0, 0}, {21343, 6007, 0, 0, 0, 0, 0}, {5160, 768, 80, 0, 0, 0, 0}, {4377, 4403, 5397, 0, 0, 0, 0}, {90, 112, 768, 1024, 4352, 0, 0}, {160, 5911, 17476, 0, 0, 0, 0}, {1036, 32, 1792, 80, 4112, 0, 0}, {3072, 4471, 21845, 0, 0, 0, 0}, {4382, 4626, 4420, 0, 0, 0, 0}, {4959, 32, 1024, 0, 0, 0, 0}, {32, 4864, 1088, 0, 0, 0, 0}, {90, 819, 4369, 0, 0, 0, 0}, {7496, 4386, 21760, 0, 0, 0, 0}, {1052, 32, 787, 80, 4096, 0, 0}, {5928, 9284, 17476, 0, 0, 0, 0}, {4367, 4389, 789, 4437, 5397, 0, 0}, {4428, 4454, 5376, 0, 0, 0, 0}, {5160, 5911, 80, 0, 0, 0, 0}, {5960, 21344, 0, 0, 0, 0, 0}, {1046, 5461, 0, 0, 0, 0, 0}, {42, 1088, 4352, 0, 0, 0, 0}, {819, 80, 5140, 0, 0, 0, 0}, {1100, 32, 5888, 16384, 0, 0, 0}, {90, 4471, 4626, 21845, 0, 0, 0}, {7458, 8738, 4420, 0, 0, 0, 0}, {799, 32, 80, 1040, 4112, 0, 0}, {240, 768, 17408, 0, 0, 0, 0}, {10, 32, 514, 1028, 4369, 0, 0}, {258, 80, 1280, 4096, 0, 0, 0}, {17612, 3084, 13107, 0, 0, 0, 0}, {780, 112, 1028, 0, 0, 0, 0}, {10, 1536, 4437, 0, 0, 0, 0}, {10, 4406, 774, 80, 1280, 0, 0}, {1032, 14199, 16384, 0, 0, 0, 0}, {1032, 112, 768, 16384, 0, 0, 0}, {10, 4403, 1542, 21845, 0, 0, 0}, {10, 768, 80, 1280, 4352, 0, 0}, {128, 13107, 1028, 0, 0, 0, 0}, {780, 18224, 0, 0, 0, 0, 0}, {1026, 5461, 0, 0, 0, 0, 0}, {32, 514, 260, 4112, 0, 0, 0}, {13311, 3072, 17408, 0, 0, 0, 0}, {3072, 12288, 16384, 0, 0, 0, 0}, {10, 34, 85, 257, 0, 0, 0}, {4098, 5120, 0, 0, 0, 0, 0}, {16447, 771, 0, 0, 0, 0, 0}, {12360, 1028, 0, 0, 0, 0, 0}, {4864, 4101, 0, 0, 0, 0, 0}, {10, 4192, 1542, 20480, 0, 0, 0}, {1032, 119, 1799, 17408, 0, 0, 0}, {1032, 12288, 17408, 0, 0, 0, 0}, {10, 4144, 771, 85, 1285, 0, 0}, {10, 1536, 4096, 0, 0, 0, 0}, {119, 771, 1028, 0, 0, 0, 0}, {16576, 3084, 28672, 0, 0, 0, 0}, {263, 85, 1285, 4352, 0, 0, 0}, {10, 34, 514, 4160, 1028, 0, 0}, {783, 13056, 16384, 0, 0, 0, 0}, {160, 3168, 4112, 0, 0, 0, 0}, {34, 785, 85, 1041, 4369, 0, 0}, {1096, 34, 4626, 17408, 0, 0, 0}, {95, 4128, 4883, 20480, 0, 0, 0}, {40, 8192, 4176, 5140, 0, 0, 0}, {831, 13056, 85, 5397, 0, 0, 0}, {16426, 5654, 0, 0, 0, 0, 0}, {4119, 5120, 0, 0, 0, 0, 0}, {4120, 4144, 5200, 0, 0, 0, 0}, {5657, 819, 85, 0, 0, 0, 0}, {6682, 5744, 16448, 0, 0, 0, 0}, {1051, 1075, 1792, 1092, 4096, 0, 0}, {7196, 4208, 20560, 0, 0, 0, 0}, {1053, 34, 1792, 85, 4352, 0, 0}, {5662, 34, 1092, 0, 0, 0, 0}, {4127, 4896, 4160, 0, 0, 0, 0}, {3072, 4128, 20480, 0, 0, 0, 0}, {1036, 34, 771, 85, 4369, 0, 0}, {34, 4608, 1024, 0, 0, 0, 0}, {95, 771, 4112, 0, 0, 0, 0}, {1036, 1060, 5188, 0, 0, 0, 0}, {783, 5669, 85, 0, 0, 0, 0}, {5708, 9766, 16448, 0, 0, 0, 0}, {4111, 4135, 4864, 4176, 1024, 0, 0}, {40, 1024, 4096, 0, 0, 0, 0}, {771, 85, 5397, 0, 0, 0, 0}, {16426, 22016, 0, 0, 0, 0, 0}, {4167, 5140, 0, 0, 0, 0, 0}, {3084, 8224, 4160, 0, 0, 0, 0}, {783, 34, 85, 1024, 4352, 0, 0}, {1036, 34, 5700, 17476, 0, 0, 0}, {95, 4208, 848, 20560, 0, 0, 0}, {16576, 19456, 12336, 0, 0, 0, 0}, {275, 85, 1280, 4369, 0, 0, 0}, {10, 34, 514, 1088, 4112, 0, 0}, {3840, 819, 16384, 0, 0, 0, 0}, {1100, 13364, 17476, 0, 0, 0, 0}, {10, 4149, 4864, 85, 1280, 0, 0}, {10, 5686, 4176, 0, 0, 0, 0}, {1800, 1079, 1088, 0, 0, 0, 0}, {2056, 12336, 1088, 0, 0, 0, 0}, {10, 819, 85, 1280, 4096, 0, 0}, {10, 4144, 5712, 20560, 0, 0, 0}, {1100, 119, 836, 17476, 0, 0, 0}, {12528, 15420, 16384, 0, 0, 0, 0}, {34, 514, 277, 4352, 0, 0, 0}, {4178, 5140, 0, 0, 0, 0, 0}, {16447, 17152, 0, 0, 0, 0, 0}, {12480, 15360, 16448, 0, 0, 0, 0}, {34, 512, 276, 4369, 0, 0, 0}, {4162, 5120, 0, 0, 0, 0, 0}, {16511, 17219, 0, 0, 0, 0, 0}, {2048, 12288, 1092, 0, 0, 0, 0}, {10, 816, 85, 1285, 4112, 0, 0}, {10, 4128, 5702, 20480, 0, 0, 0}, {1096, 119, 839, 17408, 0, 0, 0}, {1096, 13312, 17408, 0, 0, 0, 0}, {10, 4133, 4883, 85, 1285, 0, 0}, {10, 5664, 4160, 0, 0, 0, 0}, {1807, 1075, 1092, 0, 0, 0, 0}, {16512, 19532, 12288, 0, 0, 0, 0}, {274, 85, 1285, 4352, 0, 0, 0}, {10, 34, 512, 1092, 4096, 0, 0}, {3855, 816, 16448, 0, 0, 0, 0}, {3072, 8192, 4176, 0, 0, 0, 0}, {780, 34, 85, 1028, 4369, 0, 0}, {1032, 34, 5714, 17408, 0, 0, 0}, {95, 4192, 851, 20480, 0, 0, 0}, {40, 1028, 4112, 0, 0, 0, 0}, {768, 85, 5376, 0, 0, 0, 0}, {16490, 22102, 0, 0, 0, 0, 0}, {4183, 5120, 0, 0, 0, 0, 0}, {1032, 1056, 5200, 0, 0, 0, 0}, {780, 5683, 85, 0, 0, 0, 0}, {5722, 9728, 16384, 0, 0, 0, 0}, {4127, 4151, 4883, 4160, 1028, 0, 0}, {3084, 4144, 20560, 0, 0, 0, 0}, {1032, 34, 768, 85, 4352, 0, 0}, {34, 4626, 1028, 0, 0, 0, 0}, {95, 768, 4096, 0, 0, 0, 0}, {7168, 4192, 20480, 0, 0, 0, 0}, {1049, 34, 1799, 85, 4369, 0, 0}, {5640, 34, 1088, 0, 0, 0, 0}, {4111, 4915, 4176, 0, 0, 0, 0}, {4104, 4128, 5188, 0, 0, 0, 0}, {5647, 816, 85, 0, 0, 0, 0}, {6656, 5734, 16384, 0, 0, 0, 0}, {1055, 1079, 1799, 1088, 4112, 0, 0}, {40, 8224, 4160, 5120, 0, 0, 0}, {828, 13107, 85, 5376, 0, 0, 0}, {16490, 5632, 0, 0, 0, 0, 0}, {4103, 5140, 0, 0, 0, 0, 0}, {160, 3180, 4096, 0, 0, 0, 0}, {34, 786, 85, 1045, 4352, 0, 0}, {1100, 34, 4608, 17476, 0, 0, 0}, {95, 4144, 4864, 20560, 0, 0, 0}, {16512, 3072, 28784, 0, 0, 0, 0}, {262, 85, 1280, 4369, 0, 0, 0}, {10, 34, 512, 4176, 1024, 0, 0}, {780, 13107, 16448, 0, 0, 0, 0}, {1036, 12336, 17476, 0, 0, 0, 0}, {10, 4128, 768, 85, 1280, 0, 0}, {10, 1542, 4112, 0, 0, 0, 0}, {119, 768, 1024, 0, 0, 0, 0}, {12408, 1024, 0, 0, 0, 0, 0}, {4883, 4117, 0, 0, 0, 0, 0}, {10, 4208, 1536, 20560, 0, 0, 0}, {1036, 119, 1792, 17476, 0, 0, 0}, {3084, 12336, 16448, 0, 0, 0, 0}, {10, 34, 85, 256, 0, 0, 0}, {4114, 5140, 0, 0, 0, 0, 0}, {16511, 768, 0, 0, 0, 0, 0}, {16512, 3072, 12288, 0, 0, 0, 0}, {259, 85, 1285, 4369, 0, 0, 0}, {10, 34, 512, 1024, 4096, 0, 0}, {255, 771, 16448, 0, 0, 0, 0}, {1036, 13380, 17476, 0, 0, 0, 0}, {10, 4133, 773, 85, 1285, 0, 0}, {10, 1542, 4160, 0, 0, 0, 0}, {783, 119, 1024, 0, 0, 0, 0}, {136, 12288, 1024, 0, 0, 0, 0}, {10, 771, 85, 1285, 4112, 0, 0}, {10, 4128, 1536, 20480, 0, 0, 0}, {1036, 119, 771, 17476, 0, 0, 0}, {12480, 3084, 16448, 0, 0, 0, 0}, {34, 512, 261, 4352, 0, 0, 0}, {1030, 5188, 0, 0, 0, 0, 0}, {783, 17264, 0, 0, 0, 0, 0}, {7248, 4144, 20560, 0, 0, 0, 0}, {1049, 34, 785, 85, 4369, 0, 0}, {34, 4626, 1088, 0, 0, 0, 0}, {95, 819, 4096, 0, 0, 0, 0}, {4184, 4208, 5140, 0, 0, 0, 0}, {5439, 5632, 85, 0, 0, 0, 0}, {5692, 9830, 16384, 0, 0, 0, 0}, {4127, 4151, 791, 4160, 5120, 0, 0}, {40, 1088, 4112, 0, 0, 0, 0}, {819, 85, 5376, 0, 0, 0, 0}, {5722, 22064, 0, 0, 0, 0, 0}, {1043, 5188, 0, 0, 0, 0, 0}, {7228, 8192, 4176, 0, 0, 0, 0}, {797, 34, 85, 1045, 4352, 0, 0}, {1100, 34, 5654, 17476, 0, 0, 0}, {95, 4192, 4864, 20480, 0, 0, 0}, {160, 3072, 4096, 0, 0, 0, 0}, {34, 771, 85, 1028, 4369, 0, 0}, {1032, 34, 4608, 17408, 0, 0, 0}, {95, 4144, 771, 20560, 0, 0, 0}, {40, 8224, 4160, 1028, 0, 0, 0}, {783, 13056, 85, 5376, 0, 0, 0}, {22028, 5734, 0, 0, 0, 0, 0}, {4103, 5200, 0, 0, 0, 0, 0}, {4104, 4128, 5120, 0, 0, 0, 0}, {5439, 771, 85, 0, 0, 0, 0}, {170, 5632, 16384, 0, 0, 0, 0}, {95, 119, 771, 1028, 4112, 0, 0}, {3084, 4192, 20480, 0, 0, 0, 0}, {1032, 34, 1799, 85, 4352, 0, 0}, {4680, 34, 1028, 0, 0, 0, 0}, {4111, 4864, 4176, 0, 0, 0, 0}, {3264, 12336, 16448, 0, 0, 0, 0}, {10, 512, 1280, 273, 0, 0, 0}, {4114, 5200, 0, 0, 0, 0, 0}, {17228, 819, 0, 0, 0, 0, 0}, {13372, 1092, 0, 0, 0, 0, 0}, {4896, 4117, 0, 0, 0, 0, 0}, {10, 4208, 5654, 20560, 0, 0, 0}, {1096, 119, 1792, 17408, 0, 0, 0}, {1096, 12336, 17408, 0, 0, 0, 0}, {10, 4128, 4883, 85, 1280, 0, 0}, {10, 1632, 4112, 0, 0, 0, 0}, {1075, 1792, 1092, 0, 0, 0, 0}, {16512, 19532, 28784, 0, 0, 0, 0}, {279, 85, 1280, 4352, 0, 0, 0}, {10, 34, 512, 4176, 5140, 0, 0}, {831, 13056, 16448, 0, 0, 0, 0}, {16576, 19456, 28672, 0, 0, 0, 0}, {278, 85, 1285, 4369, 0, 0, 0}, {10, 34, 514, 4160, 5120, 0, 0}, {828, 13107, 16384, 0, 0, 0, 0}, {1100, 12288, 17476, 0, 0, 0, 0}, {10, 4144, 4864, 85, 1285, 0, 0}, {10, 1638, 4096, 0, 0, 0, 0}, {1079, 1799, 1088, 0, 0, 0, 0}, {13320, 1088, 0, 0, 0, 0, 0}, {4915, 4101, 0, 0, 0, 0, 0}, {10, 4192, 5632, 20480, 0, 0, 0}, {1100, 119, 1799, 17476, 0, 0, 0}, {3276, 12288, 16384, 0, 0, 0, 0}, {10, 514, 1285, 272, 0, 0, 0}, {4098, 5188, 0, 0, 0, 0, 0}, {17167, 816, 0, 0, 0, 0, 0}, {3072, 4208, 20560, 0, 0, 0, 0}, {1036, 34, 1792, 85, 4369, 0, 0}, {4698, 34, 1024, 0, 0, 0, 0}, {4127, 4883, 4160, 0, 0, 0, 0}, {4120, 4144, 5140, 0, 0, 0, 0}, {5418, 768, 85, 0, 0, 0, 0}, {170, 5654, 16448, 0, 0, 0, 0}, {95, 119, 768, 1024, 4096, 0, 0}, {40, 8192, 4176, 1024, 0, 0, 0}, {780, 13107, 85, 5397, 0, 0, 0}, {22106, 5744, 0, 0, 0, 0, 0}, {4119, 5188, 0, 0, 0, 0, 0}, {160, 3084, 4112, 0, 0, 0, 0}, {34, 768, 85, 1024, 4352, 0, 0}, {1036, 34, 4626, 17476, 0, 0, 0}, {95, 4128, 768, 20480, 0, 0, 0}, {7200, 8224, 4160, 0, 0, 0, 0}, {798, 34, 85, 1041, 4369, 0, 0}, {1096, 34, 5632, 17408, 0, 0, 0}, {95, 4208, 4883, 20560, 0, 0, 0}, {40, 1092, 4096, 0, 0, 0, 0}, {816, 85, 5397, 0, 0, 0, 0}, {5708, 22118, 0, 0, 0, 0, 0}, {1047, 5200, 0, 0, 0, 0, 0}, {4168, 4192, 5120, 0, 0, 0, 0}, {5418, 5654, 85, 0, 0, 0, 0}, {5674, 9792, 16448, 0, 0, 0, 0}, {4111, 4135, 788, 4176, 5140, 0, 0}, {7244, 4128, 20480, 0, 0, 0, 0}, {1053, 34, 786, 85, 4352, 0, 0}, {34, 4608, 1092, 0, 0, 0, 0}, {95, 816, 4112, 0, 0, 0, 0}, {12528, 3072, 16384, 0, 0, 0, 0}, {34, 514, 260, 4369, 0, 0, 0}, {1026, 5200, 0, 0, 0, 0, 0}, {780, 17203, 0, 0, 0, 0, 0}, {136, 12336, 1028, 0, 0, 0, 0}, {10, 768, 85, 1280, 4096, 0, 0}, {10, 4144, 1542, 20560, 0, 0, 0}, {1032, 119, 768, 17408, 0, 0, 0}, {1032, 13424, 17408, 0, 0, 0, 0}, {10, 4149, 774, 85, 1280, 0, 0}, {10, 1536, 4176, 0, 0, 0, 0}, {780, 119, 1028, 0, 0, 0, 0}, {16576, 3084, 12336, 0, 0, 0, 0}, {258, 85, 1280, 4352, 0, 0, 0}, {10, 34, 514, 1028, 4112, 0, 0}, {255, 768, 16384, 0, 0, 0, 0}, {2560, 8704, 21760, 0, 0, 0, 0}, {12, 48, 64, 257, 0, 0, 0}, {21802, 514, 0, 0, 0, 0, 0}, {4355, 5120, 0, 0, 0, 0, 0}, {4864, 4356, 0, 0, 0, 0, 0}, {8794, 1285, 0, 0, 0, 0, 0}, {12, 4454, 1542, 17408, 0, 0, 0}, {1295, 112, 1799, 20480, 0, 0, 0}, {520, 8192, 21760, 0, 0, 0, 0}, {12, 48, 771, 4437, 1285, 0, 0}, {21930, 2570, 30464, 0, 0, 0, 0}, {263, 64, 1028, 4096, 0, 0, 0}, {12, 1536, 4352, 0, 0, 0, 0}, {112, 514, 1285, 0, 0, 0, 0}, {12, 4386, 514, 64, 1028, 0, 0}, {1295, 8704, 20480, 0, 0, 0, 0}, {48, 528, 64, 1296, 4112, 0, 0}, {204, 2662, 4369, 0, 0, 0, 0}, {1370, 48, 4626, 20480, 0, 0, 0}, {76, 4403, 4883, 17408, 0, 0, 0}, {60, 13056, 4420, 5140, 0, 0, 0}, {554, 8192, 64, 5397, 0, 0, 0}, {4374, 5120, 0, 0, 0, 0, 0}, {21823, 5911, 0, 0, 0, 0, 0}, {5912, 48, 1360, 0, 0, 0, 0}, {4377, 4915, 4437, 0, 0, 0, 0}, {1306, 48, 1792, 64, 4096, 0, 0}, {6939, 4471, 17476, 0, 0, 0, 0}, {1308, 1312, 1792, 1360, 4352, 0, 0}, {7453, 6007, 21845, 0, 0, 0, 0}, {4382, 4386, 5188, 0, 0, 0, 0}, {5919, 544, 64, 0, 0, 0, 0}, {2048, 544, 21760, 0, 0, 0, 0}, {12, 48, 771, 1365, 4369, 0, 0}, {21930, 24320, 8738, 0, 0, 0, 0}, {275, 64, 1024, 4112, 0, 0, 0}, {12, 5924, 4420, 0, 0, 0, 0}, {1807, 1317, 1365, 0, 0, 0, 0}, {12, 4390, 4864, 64, 1024, 0, 0}, {1375, 10023, 20560, 0, 0, 0, 0}, {8840, 10280, 21760, 0, 0, 0, 0}, {48, 771, 277, 4096, 0, 0, 0}, {21802, 22272, 0, 0, 0, 0, 0}, {4423, 5140, 0, 0, 0, 0, 0}, {12, 544, 64, 1024, 4352, 0, 0}, {3855, 8738, 1365, 0, 0, 0, 0}, {12, 4386, 5956, 17476, 0, 0, 0}, {1375, 112, 592, 20560, 0, 0, 0}, {48, 4608, 1280, 0, 0, 0, 0}, {76, 514, 4369, 0, 0, 0, 0}, {1290, 48, 514, 64, 4112, 0, 0}, {2560, 4403, 17408, 0, 0, 0, 0}, {4360, 4404, 4864, 4420, 1280, 0, 0}, {5983, 13621, 21845, 0, 0, 0, 0}, {1290, 1334, 5200, 0, 0, 0, 0}, {520, 5943, 64, 0, 0, 0, 0}, {520, 48, 64, 1280, 4096, 0, 0}, {2570, 13107, 4437, 0, 0, 0, 0}, {1290, 48, 5968, 20560, 0, 0, 0}, {76, 4471, 580, 17476, 0, 0, 0}, {60, 1280, 4352, 0, 0, 0, 0}, {514, 64, 5397, 0, 0, 0, 0}, {4434, 5140, 0, 0, 0, 0, 0}, {21823, 16896, 0, 0, 0, 0, 0}, {512, 64, 5376, 0, 0, 0, 0}, {60, 1285, 4369, 0, 0, 0, 0}, {21866, 16962, 0, 0, 0, 0, 0}, {4419, 5120, 0, 0, 0, 0, 0}, {2560, 13056, 4420, 0, 0, 0, 0}, {522, 48, 64, 1285, 4112, 0, 0}, {76, 4454, 582, 17408, 0, 0, 0}, {1295, 48, 5959, 20480, 0, 0, 0}, {5960, 13568, 21760, 0, 0, 0, 0}, {4377, 4389, 4883, 4437, 1285, 0, 0}, {522, 5920, 64, 0, 0, 0, 0}, {1295, 1331, 5188, 0, 0, 0, 0}, {76, 512, 4352, 0, 0, 0, 0}, {48, 4626, 1285, 0, 0, 0, 0}, {2570, 4386, 17476, 0, 0, 0, 0}, {1295, 48, 512, 64, 4096, 0, 0}, {3840, 8704, 1360, 0, 0, 0, 0}, {12, 546, 64, 1028, 4369, 0, 0}, {1370, 112, 594, 20480, 0, 0, 0}, {12, 4403, 5971, 17408, 0, 0, 0}, {48, 768, 276, 4112, 0, 0, 0}, {8874, 10240, 21845, 0, 0, 0, 0}, {4438, 5120, 0, 0, 0, 0, 0}, {21887, 22359, 0, 0, 0, 0, 0}, {1800, 1312, 1360, 0, 0, 0, 0}, {12, 5939, 4437, 0, 0, 0, 0}, {1370, 9984, 20480, 0, 0, 0, 0}, {12, 4407, 4883, 64, 1028, 0, 0}, {12, 48, 768, 1360, 4352, 0, 0}, {2056, 546, 21845, 0, 0, 0, 0}, {274, 64, 1028, 4096, 0, 0, 0}, {22015, 24415, 8704, 0, 0, 0, 0}, {7424, 5984, 21760, 0, 0, 0, 0}, {1305, 1317, 1799, 1365, 4369, 0, 0}, {5896, 546, 64, 0, 0, 0, 0}, {4367, 4403, 5200, 0, 0, 0, 0}, {4360, 4896, 4420, 0, 0, 0, 0}, {5903, 48, 1365, 0, 0, 0, 0}, {6912, 4454, 17408, 0, 0, 0, 0}, {1311, 48, 1799, 64, 4112, 0, 0}, {552, 8224, 64, 5376, 0, 0, 0}, {60, 13107, 4437, 5120, 0, 0, 0}, {21866, 5888, 0, 0, 0, 0, 0}, {4359, 5140, 0, 0, 0, 0, 0}, {204, 2668, 4352, 0, 0, 0, 0}, {48, 530, 64, 1301, 4096, 0, 0}, {76, 4386, 4864, 17476, 0, 0, 0}, {1375, 48, 4608, 20560, 0, 0, 0}, {112, 512, 1280, 0, 0, 0, 0}, {12, 1542, 4369, 0, 0, 0, 0}, {1290, 8738, 20560, 0, 0, 0, 0}, {12, 4403, 512, 64, 1024, 0, 0}, {12, 48, 768, 4420, 1280, 0, 0}, {522, 8224, 21845, 0, 0, 0, 0}, {262, 64, 1024, 4112, 0, 0, 0}, {22015, 2560, 30583, 0, 0, 0, 0}, {8824, 1280, 0, 0, 0, 0, 0}, {4883, 4373, 0, 0, 0, 0, 0}, {1290, 112, 1792, 20560, 0, 0, 0}, {12, 4471, 1536, 17476, 0, 0, 0}, {12, 48, 64, 256, 0, 0, 0}, {2570, 8738, 21845, 0, 0, 0, 0}, {4370, 5140, 0, 0, 0, 0, 0}, {21887, 512, 0, 0, 0, 0, 0}, {128, 512, 21760, 0, 0, 0, 0}, {12, 48, 771, 1285, 4369, 0, 0}, {21930, 2570, 8738, 0, 0, 0, 0}, {259, 64, 1024, 4096, 0, 0, 0}, {12, 1536, 4420, 0, 0, 0, 0}, {522, 112, 1285, 0, 0, 0, 0}, {12, 4390, 518, 64, 1024, 0, 0}, {1295, 10103, 20480, 0, 0, 0, 0}, {8840, 2560, 21760, 0, 0, 0, 0}, {48, 771, 261, 4112, 0, 0, 0}, {522, 22304, 0, 0, 0, 0, 0}, {1283, 5188, 0, 0, 0, 0, 0}, {12, 512, 64, 1024, 4352, 0, 0}, {240, 8738, 1285, 0, 0, 0, 0}, {12, 4386, 1542, 17476, 0, 0, 0}, {1295, 112, 512, 20480, 0, 0, 0}, {48, 4608, 1360, 0, 0, 0, 0}, {76, 546, 4369, 0, 0, 0, 0}, {1306, 48, 530, 64, 4096, 0, 0}, {7007, 4403, 17408, 0, 0, 0, 0}, {4360, 4404, 532, 4420, 5140, 0, 0}, {5951, 13653, 21845, 0, 0, 0, 0}, {4442, 4454, 5120, 0, 0, 0, 0}, {5439, 5911, 64, 0, 0, 0, 0}, {536, 48, 64, 1296, 4112, 0, 0}, {6963, 13107, 4437, 0, 0, 0, 0}, {1370, 48, 5888, 20480, 0, 0, 0}, {76, 4471, 4883, 17476, 0, 0, 0}, {60, 1360, 4352, 0, 0, 0, 0}, {546, 64, 5397, 0, 0, 0, 0}, {1302, 5188, 0, 0, 0, 0, 0}, {5983, 16992, 0, 0, 0, 0, 0}, {2720, 8704, 21760, 0, 0, 0, 0}, {12, 771, 1028, 273, 0, 0, 0}, {22280, 546, 0, 0, 0, 0, 0}, {4355, 5200, 0, 0, 0, 0, 0}, {4896, 4356, 0, 0, 0, 0, 0}, {9999, 1365, 0, 0, 0, 0, 0}, {12, 4454, 5888, 17408, 0, 0, 0}, {1375, 112, 1799, 20560, 0, 0, 0}, {552, 8224, 21760, 0, 0, 0, 0}, {12, 48, 771, 4437, 5120, 0, 0}, {21930, 24320, 30464, 0, 0, 0, 0}, {279, 64, 1028, 4112, 0, 0, 0}, {12, 1632, 4352, 0, 0, 0, 0}, {1317, 1799, 1365, 0, 0, 0, 0}, {12, 4386, 4864, 64, 1028, 0, 0}, {1375, 8704, 20560, 0, 0, 0, 0}, {48, 512, 64, 1280, 4096, 0, 0}, {204, 2570, 4369, 0, 0, 0, 0}, {1290, 48, 4626, 20560, 0, 0, 0}, {76, 4403, 512, 17408, 0, 0, 0}, {60, 13056, 4420, 1280, 0, 0, 0}, {522, 8224, 64, 5397, 0, 0, 0}, {4374, 5200, 0, 0, 0, 0, 0}, {16968, 6007, 0, 0, 0, 0, 0}, {4680, 48, 1280, 0, 0, 0, 0}, {4377, 4883, 4437, 0, 0, 0, 0}, {1290, 48, 1792, 64, 4112, 0, 0}, {2560, 4471, 17476, 0, 0, 0, 0}, {76, 112, 512, 1280, 4352, 0, 0}, {192, 5911, 21845, 0, 0, 0, 0}, {4382, 4386, 5140, 0, 0, 0, 0}, {5439, 512, 64, 0, 0, 0, 0}, {192, 5888, 21760, 0, 0, 0, 0}, {76, 112, 514, 1285, 4369, 0, 0}, {5418, 514, 64, 0, 0, 0, 0}, {4367, 4403, 5120, 0, 0, 0, 0}, {4360, 4864, 4420, 0, 0, 0, 0}, {4698, 48, 1285, 0, 0, 0, 0}, {2570, 4454, 17408, 0, 0, 0, 0}, {1295, 48, 1799, 64, 4096, 0, 0}, {520, 8192, 64, 5376, 0, 0, 0}, {60, 13107, 4437, 1285, 0, 0, 0}, {16906, 5984, 0, 0, 0, 0, 0}, {4359, 5188, 0, 0, 0, 0, 0}, {204, 2560, 4352, 0, 0, 0, 0}, {48, 514, 64, 1285, 4112, 0, 0}, {76, 4386, 514, 17476, 0, 0, 0}, {1295, 48, 4608, 20480, 0, 0, 0}, {1312, 1792, 1360, 0, 0, 0, 0}, {12, 1638, 4369, 0, 0, 0, 0}, {1370, 8738, 20480, 0, 0, 0, 0}, {12, 4403, 4883, 64, 1024, 0, 0}, {12, 48, 768, 4420, 5140, 0, 0}, {554, 8192, 21845, 0, 0, 0, 0}, {278, 64, 1024, 4096, 0, 0, 0}, {22015, 24415, 30583, 0, 0, 0, 0}, {10024, 1360, 0, 0, 0, 0, 0}, {4915, 4373, 0, 0, 0, 0, 0}, {1370, 112, 1792, 20480, 0, 0, 0}, {12, 4471, 5911, 17476, 0, 0, 0}, {12, 768, 1024, 272, 0, 0, 0}, {2730, 8738, 21845, 0, 0, 0, 0}, {4370, 5188, 0, 0, 0, 0, 0}, {22367, 544, 0, 0, 0, 0, 0}, {544, 64, 5376, 0, 0, 0, 0}, {60, 1365, 4369, 0, 0, 0, 0}, {5960, 16930, 0, 0, 0, 0, 0}, {1299, 5200, 0, 0, 0, 0, 0}, {6952, 13056, 4420, 0, 0, 0, 0}, {538, 48, 64, 1301, 4096, 0, 0}, {76, 4454, 4864, 17408, 0, 0, 0}, {1375, 48, 5911, 20560, 0, 0, 0}, {5928, 13664, 21760, 0, 0, 0, 0}, {4377, 4389, 534, 4437, 5120, 0, 0}, {5418, 5888, 64, 0, 0, 0, 0}, {4427, 4471, 5140, 0, 0, 0, 0}, {76, 544, 4352, 0, 0, 0, 0}, {48, 4626, 1365, 0, 0, 0, 0}, {6980, 4386, 17476, 0, 0, 0, 0}, {1311, 48, 528, 64, 4112, 0, 0}, {240, 8704, 1280, 0, 0, 0, 0}, {12, 514, 64, 1028, 4369, 0, 0}, {1290, 112, 514, 20560, 0, 0, 0}, {12, 4403, 1536, 17408, 0, 0, 0}, {48, 768, 260, 4096, 0, 0, 0}, {8874, 2570, 21845, 0, 0, 0, 0}, {1286, 5200, 0, 0, 0, 0, 0}, {520, 22391, 0, 0, 0, 0, 0}, {520, 112, 1280, 0, 0, 0, 0}, {12, 1542, 4437, 0, 0, 0, 0}, {1290, 10064, 20560, 0, 0, 0, 0}, {12, 4407, 516, 64, 1028, 0, 0}, {12, 48, 768, 1280, 4352, 0, 0}, {128, 514, 21845, 0, 0, 0, 0}, {258, 64, 1028, 4112, 0, 0, 0}, {22015, 2560, 8704, 0, 0, 0, 0}, {4608, 5120, 0, 0, 0, 0, 0}, {127, 257, 0, 0, 0, 0, 0}, {1032, 4128, 514, 16384, 0, 0, 0}, {1295, 4403, 771, 21760, 0, 0, 0}, {520, 8192, 4160, 1028, 0, 0, 0}, {783, 13056, 4437, 1285, 0, 0, 0}, {5228, 1542, 0, 0, 0, 0, 0}, {263, 5376, 0, 0, 0, 0, 0}, {1032, 1536, 4096, 0, 0, 0, 0}, {4454, 771, 1285, 0, 0, 0, 0}, {1546, 12288, 17408, 0, 0, 0, 0}, {267, 4144, 771, 4420, 1028, 0, 0}, {1548, 8704, 20480, 0, 0, 0, 0}, {269, 4386, 514, 4176, 1285, 0, 0}, {4192, 514, 1028, 0, 0, 0, 0}, {1295, 1536, 4352, 0, 0, 0, 0}, {2048, 544, 1088, 4112, 0, 0, 0}, {3840, 819, 1365, 4369, 0, 0, 0}, {5240, 4626, 0, 0, 0, 0, 0}, {275, 5376, 0, 0, 0, 0, 0}, {4728, 5140, 0, 0, 0, 0, 0}, {4864, 277, 0, 0, 0, 0, 0}, {1100, 4208, 5654, 16384, 0, 0, 0}, {1375, 4471, 5911, 21760, 0, 0, 0}, {6168, 1632, 20560, 0, 0, 0, 0}, {281, 1075, 1792, 1365, 4096, 0, 0}, {4634, 4144, 1088, 0, 0, 0, 0}, {5147, 819, 4420, 0, 0, 0, 0}, {5148, 544, 4176, 0, 0, 0, 0}, {4637, 4386, 1365, 0, 0, 0, 0}, {7710, 1638, 17476, 0, 0, 0, 0}, {287, 1312, 1792, 1088, 4352, 0, 0}, {4128, 4608, 1024, 0, 0, 0, 0}, {1370, 771, 4369, 0, 0, 0, 0}, {3072, 4642, 20480, 0, 0, 0, 0}, {1036, 291, 771, 1360, 4112, 0, 0}, {4680, 9252, 17476, 0, 0, 0, 0}, {4111, 293, 4864, 4437, 1024, 0, 0}, {1036, 1574, 4160, 0, 0, 0, 0}, {783, 5159, 1360, 0, 0, 0, 0}, {5160, 22016, 0, 0, 0, 0, 0}, {342, 5397, 0, 0, 0, 0, 0}, {554, 1024, 4096, 0, 0, 0, 0}, {771, 4420, 5140, 0, 0, 0, 0}, {1036, 4192, 4672, 16448, 0, 0, 0}, {1370, 4386, 1621, 21845, 0, 0, 0}, {3084, 8738, 5188, 0, 0, 0, 0}, {783, 544, 336, 1024, 4352, 0, 0}, {2560, 4656, 17408, 0, 0, 0, 0}, {1290, 305, 514, 1092, 4369, 0, 0}, {1096, 514, 4112, 0, 0, 0, 0}, {4403, 4608, 1280, 0, 0, 0, 0}, {520, 5172, 1092, 0, 0, 0, 0}, {1290, 1589, 4437, 0, 0, 0, 0}, {4698, 13878, 20560, 0, 0, 0, 0}, {4360, 311, 4864, 4160, 1280, 0, 0}, {1096, 4144, 1600, 16448, 0, 0, 0}, {1290, 4454, 4693, 21845, 0, 0, 0}, {2570, 12336, 5200, 0, 0, 0, 0}, {520, 819, 324, 1280, 4096, 0, 0}, {5180, 16896, 0, 0, 0, 0, 0}, {322, 5397, 0, 0, 0, 0, 0}, {514, 4176, 5140, 0, 0, 0, 0}, {831, 1280, 4352, 0, 0, 0, 0}, {512, 4160, 5120, 0, 0, 0, 0}, {828, 1285, 4369, 0, 0, 0, 0}, {5160, 16962, 0, 0, 0, 0, 0}, {323, 5376, 0, 0, 0, 0, 0}, {2560, 12288, 5188, 0, 0, 0, 0}, {522, 816, 325, 1285, 4112, 0, 0}, {1100, 4128, 1606, 16384, 0, 0, 0}, {1295, 4471, 4679, 21760, 0, 0, 0}, {4680, 13824, 20480, 0, 0, 0, 0}, {4377, 310, 4883, 4176, 1285, 0, 0}, {522, 5152, 1088, 0, 0, 0, 0}, {1295, 1587, 4420, 0, 0, 0, 0}, {1100, 512, 4096, 0, 0, 0, 0}, {4386, 4626, 1285, 0, 0, 0, 0}, {2570, 4642, 17476, 0, 0, 0, 0}, {1295, 304, 512, 1088, 4352, 0, 0}, {3072, 8704, 5200, 0, 0, 0, 0}, {780, 546, 337, 1028, 4369, 0, 0}, {1032, 4208, 4690, 16384, 0, 0, 0}, {1375, 4403, 1619, 21760, 0, 0, 0}, {552, 1028, 4112, 0, 0, 0, 0}, {768, 4437, 5120, 0, 0, 0, 0}, {5180, 22102, 0, 0, 0, 0, 0}, {343, 5376, 0, 0, 0, 0, 0}, {1032, 1568, 4176, 0, 0, 0, 0}, {780, 5171, 1365, 0, 0, 0, 0}, {4698, 9216, 17408, 0, 0, 0, 0}, {4127, 292, 4883, 4420, 1028, 0, 0}, {3084, 4656, 20560, 0, 0, 0, 0}, {1032, 290, 768, 1365, 4096, 0, 0}, {4144, 4626, 1028, 0, 0, 0, 0}, {1375, 768, 4352, 0, 0, 0, 0}, {7680, 1632, 17408, 0, 0, 0, 0}, {286, 1317, 1799, 1092, 4369, 0, 0}, {5128, 546, 4160, 0, 0, 0, 0}, {4623, 4403, 1360, 0, 0, 0, 0}, {4616, 4128, 1092, 0, 0, 0, 0}, {5135, 816, 4437, 0, 0, 0, 0}, {6144, 1638, 20480, 0, 0, 0, 0}, {280, 1079, 1799, 1360, 4112, 0, 0}, {1096, 4192, 5632, 16448, 0, 0, 0}, {1370, 4454, 5888, 21845, 0, 0, 0}, {4714, 5120, 0, 0, 0, 0, 0}, {4883, 276, 0, 0, 0, 0, 0}, {5228, 4608, 0, 0, 0, 0, 0}, {274, 5397, 0, 0, 0, 0, 0}, {2056, 546, 1092, 4096, 0, 0, 0}, {3855, 816, 1360, 4352, 0, 0, 0}, {4208, 512, 1024, 0, 0, 0, 0}, {1290, 1542, 4369, 0, 0, 0, 0}, {1546, 8738, 20560, 0, 0, 0, 0}, {268, 4403, 512, 4160, 1280, 0, 0}, {1548, 12336, 17476, 0, 0, 0, 0}, {266, 4128, 768, 4437, 1024, 0, 0}, {1036, 1542, 4112, 0, 0, 0, 0}, {4471, 768, 1280, 0, 0, 0, 0}, {5240, 1536, 0, 0, 0, 0, 0}, {262, 5397, 0, 0, 0, 0, 0}, {522, 8224, 4176, 1024, 0, 0, 0}, {780, 13107, 4420, 1280, 0, 0, 0}, {1036, 4144, 512, 16448, 0, 0, 0}, {1290, 4386, 768, 21845, 0, 0, 0}, {4626, 5140, 0, 0, 0, 0, 0}, {127, 256, 0, 0, 0, 0, 0}, {128, 512, 1024, 4096, 0, 0, 0}, {255, 771, 1285, 4369, 0, 0, 0}, {1546, 4642, 0, 0, 0, 0, 0}, {259, 5440, 0, 0, 0, 0, 0}, {1548, 5188, 0, 0, 0, 0, 0}, {4896, 261, 0, 0, 0, 0, 0}, {1036, 4192, 1542, 16448, 0, 0, 0}, {1295, 4471, 1536, 21760, 0, 0, 0}, {5256, 1536, 20480, 0, 0, 0, 0}, {265, 374, 771, 1285, 4112, 0, 0}, {522, 4128, 1024, 0, 0, 0, 0}, {1295, 771, 4420, 0, 0, 0, 0}, {1036, 512, 4160, 0, 0, 0, 0}, {783, 4386, 1285, 0, 0, 0, 0}, {5348, 1542, 17476, 0, 0, 0, 0}, {271, 368, 512, 1024, 4352, 0, 0}, {4656, 5200, 0, 0, 0, 0, 0}, {1800, 273, 0, 0, 0, 0, 0}, {1096, 4144, 4626, 16448, 0, 0, 0}, {1375, 4403, 4608, 21760, 0, 0, 0}, {552, 8224, 4176, 5140, 0, 0, 0}, {831, 13056, 4437, 5120, 0, 0, 0}, {4698, 1638, 0, 0, 0, 0, 0}, {279, 5440, 0, 0, 0, 0, 0}, {1096, 1632, 4112, 0, 0, 0, 0}, {5171, 5888, 1365, 0, 0, 0, 0}, {1642, 12336, 17408, 0, 0, 0, 0}, {283, 4128, 4883, 4420, 5376, 0, 0}, {1644, 8704, 20560, 0, 0, 0, 0}, {285, 4386, 4864, 4160, 5397, 0, 0}, {5172, 5654, 1092, 0, 0, 0, 0}, {1375, 1632, 4352, 0, 0, 0, 0}, {5280, 4608, 17408, 0, 0, 0, 0}, {350, 289, 771, 1028, 4369, 0, 0}, {1032, 546, 4096, 0, 0, 0, 0}, {4403, 771, 1360, 0, 0, 0, 0}, {4680, 4192, 1028, 0, 0, 0, 0}, {5135, 5888, 4437, 0, 0, 0, 0}, {4714, 13926, 20480, 0, 0, 0, 0}, {4360, 295, 4615, 4176, 5376, 0, 0}, {1032, 4128, 5632, 16384, 0, 0, 0}, {1370, 4454, 771, 21845, 0, 0, 0}, {4778, 12288, 5120, 0, 0, 0, 0}, {299, 771, 340, 1028, 4112, 0, 0}, {22028, 16992, 0, 0, 0, 0, 0}, {5127, 5461, 0, 0, 0, 0, 0}, {546, 4160, 1028, 0, 0, 0, 0}, {783, 1360, 4352, 0, 0, 0, 0}, {4144, 512, 1088, 0, 0, 0, 0}, {1290, 819, 4369, 0, 0, 0, 0}, {5336, 4626, 20560, 0, 0, 0, 0}, {332, 307, 512, 1280, 4096, 0, 0}, {4728, 9284, 17476, 0, 0, 0, 0}, {4127, 309, 4629, 4437, 5397, 0, 0}, {5148, 5654, 4176, 0, 0, 0, 0}, {4680, 4471, 1280, 0, 0, 0, 0}, {16968, 22064, 0, 0, 0, 0, 0}, {5139, 5461, 0, 0, 0, 0, 0}, {522, 1088, 4112, 0, 0, 0, 0}, {819, 4420, 1280, 0, 0, 0, 0}, {1100, 4208, 512, 16384, 0, 0, 0}, {1290, 4386, 5911, 21845, 0, 0, 0}, {4818, 8738, 5140, 0, 0, 0, 0}, {319, 512, 320, 1280, 4352, 0, 0}, {4800, 8704, 5120, 0, 0, 0, 0}, {318, 514, 321, 1285, 4369, 0, 0}, {1096, 4192, 514, 16448, 0, 0, 0}, {1295, 4403, 5888, 21760, 0, 0, 0}, {520, 1092, 4096, 0, 0, 0, 0}, {816, 4437, 1285, 0, 0, 0, 0}, {16906, 22118, 0, 0, 0, 0, 0}, {5127, 5440, 0, 0, 0, 0, 0}, {5128, 5632, 4160, 0, 0, 0, 0}, {4698, 4454, 1285, 0, 0, 0, 0}, {4714, 9312, 17408, 0, 0, 0, 0}, {4111, 308, 4615, 4420, 5376, 0, 0}, {5324, 4608, 20480, 0, 0, 0, 0}, {333, 306, 514, 1285, 4112, 0, 0}, {4128, 514, 1092, 0, 0, 0, 0}, {1295, 816, 4352, 0, 0, 0, 0}, {544, 4176, 1024, 0, 0, 0, 0}, {780, 1365, 4369, 0, 0, 0, 0}, {22106, 16930, 0, 0, 0, 0, 0}, {5139, 5440, 0, 0, 0, 0, 0}, {4792, 12336, 5140, 0, 0, 0, 0}, {298, 768, 341, 1024, 4096, 0, 0}, {1036, 4144, 5654, 16448, 0, 0, 0}, {1375, 4471, 768, 21760, 0, 0, 0}, {4728, 13904, 20560, 0, 0, 0, 0}, {4377, 294, 4629, 4160, 5397, 0, 0}, {4698, 4208, 1024, 0, 0, 0, 0}, {5147, 5911, 4420, 0, 0, 0, 0}, {1036, 544, 4112, 0, 0, 0, 0}, {4386, 768, 1365, 0, 0, 0, 0}, {5300, 4626, 17476, 0, 0, 0, 0}, {351, 288, 768, 1024, 4352, 0, 0}, {5152, 5632, 1088, 0, 0, 0, 0}, {1370, 1638, 4369, 0, 0, 0, 0}, {1642, 8738, 20480, 0, 0, 0, 0}, {284, 4403, 4883, 4176, 5376, 0, 0}, {1644, 12288, 17476, 0, 0, 0, 0}, {282, 4144, 4864, 4437, 5397, 0, 0}, {1100, 1638, 4096, 0, 0, 0, 0}, {5159, 5911, 1360, 0, 0, 0, 0}, {4680, 1632, 0, 0, 0, 0, 0}, {278, 5461, 0, 0, 0, 0, 0}, {554, 8192, 4160, 5120, 0, 0, 0}, {828, 13107, 4420, 5140, 0, 0, 0}, {1100, 4128, 4608, 16384, 0, 0, 0}, {1370, 4386, 4626, 21845, 0, 0, 0}, {4642, 5188, 0, 0, 0, 0, 0}, {1807, 272, 0, 0, 0, 0, 0}, {5360, 1536, 17408, 0, 0, 0, 0}, {270, 369, 514, 1028, 4369, 0, 0}, {1032, 514, 4176, 0, 0, 0, 0}, {780, 4403, 1280, 0, 0, 0, 0}, {520, 4144, 1028, 0, 0, 0, 0}, {1290, 768, 4437, 0, 0, 0, 0}, {5276, 1542, 20560, 0, 0, 0, 0}, {264, 375, 768, 1280, 4096, 0, 0}, {1032, 4208, 1536, 16384, 0, 0, 0}, {1290, 4454, 1542, 21845, 0, 0, 0}, {1546, 5200, 0, 0, 0, 0, 0}, {4915, 260, 0, 0, 0, 0, 0}, {1548, 4656, 0, 0, 0, 0, 0}, {258, 5461, 0, 0, 0, 0, 0}, {128, 514, 1028, 4112, 0, 0, 0}, {255, 768, 1280, 4352, 0, 0, 0}, {32512, 0, 0, 0, 0, 0, 0}, {18, 20, 257, 0, 0, 0, 0}, {10, 34, 514, 21760, 0, 0, 0}, {12, 48, 771, 16384, 0, 0, 0}, {12, 13056, 68, 1028, 0, 0, 0}, {10, 8192, 80, 1285, 0, 0, 0}, {6, 5376, 0, 0, 0, 0, 0}, {120, 1799, 0, 0, 0, 0, 0}, {136, 2056, 30464, 0, 0, 0, 0}, {6, 80, 1285, 4096, 0, 0, 0}, {10, 8192, 21760, 0, 0, 0, 0}, {12, 48, 771, 68, 1028, 0, 0}, {12, 13056, 16384, 0, 0, 0, 0}, {10, 34, 514, 80, 1285, 0, 0}, {6, 68, 1028, 4352, 0, 0, 0}, {240, 3855, 28672, 0, 0, 0, 0}, {3840, 48, 80, 4112, 0, 0, 0}, {2048, 34, 68, 4369, 0, 0, 0}, {18, 5376, 0, 0, 0, 0, 0}, {108, 4883, 0, 0, 0, 0, 0}, {4864, 20, 0, 0, 0, 0, 0}, {106, 5397, 0, 0, 0, 0, 0}, {90, 102, 5654, 21760, 0, 0, 0}, {72, 96, 5911, 16384, 0, 0, 0}, {24, 48, 1792, 80, 4096, 0, 0}, {6425, 102, 21845, 0, 0, 0, 0}, {5402, 48, 5440, 0, 0, 0, 0}, {4891, 4915, 68, 0, 0, 0, 0}, {4892, 4896, 80, 0, 0, 0, 0}, {5405, 34, 5461, 0, 0, 0, 0}, {30, 34, 1792, 68, 4352, 0, 0}, {7967, 96, 16448, 0, 0, 0, 0}, {160, 24320, 8224, 0, 0, 0, 0}, {18, 68, 1024, 4369, 0, 0, 0}, {2048, 34, 21760, 0, 0, 0, 0}, {12, 48, 771, 80, 4112, 0, 0}, {12, 36, 4864, 68, 1024, 0, 0}, {90, 9509, 21845, 0, 0, 0, 0}, {12, 5414, 5440, 0, 0, 0, 0}, {1807, 1831, 80, 0, 0, 0, 0}, {40, 22272, 0, 0, 0, 0, 0}, {86, 5397, 0, 0, 0, 0, 0}, {170, 10794, 21760, 0, 0, 0, 0}, {48, 771, 20, 4096, 0, 0, 0}, {12, 96, 4928, 16448, 0, 0, 0}, {90, 34, 1877, 21845, 0, 0, 0}, {12, 34, 68, 1024, 4352, 0, 0}, {3855, 8224, 80, 0, 0, 0, 0}, {3840, 48, 16384, 0, 0, 0, 0}, {10, 34, 514, 68, 4369, 0, 0}, {18, 80, 1280, 4112, 0, 0, 0}, {204, 19456, 13107, 0, 0, 0, 0}, {1800, 1844, 68, 0, 0, 0, 0}, {10, 5429, 5461, 0, 0, 0, 0}, {10, 54, 4864, 80, 1280, 0, 0}, {72, 14135, 16448, 0, 0, 0, 0}, {72, 48, 1856, 16448, 0, 0, 0}, {10, 102, 4949, 21845, 0, 0, 0}, {10, 48, 80, 1280, 4096, 0, 0}, {2056, 13107, 68, 0, 0, 0, 0}, {60, 17152, 0, 0, 0, 0, 0}, {66, 5397, 0, 0, 0, 0, 0}, {34, 514, 20, 4352, 0, 0, 0}, {192, 16191, 16384, 0, 0, 0, 0}, {192, 16128, 16448, 0, 0, 0, 0}, {34, 512, 20, 4369, 0, 0, 0}, {66, 5376, 0, 0, 0, 0, 0}, {60, 17219, 0, 0, 0, 0, 0}, {2048, 13056, 68, 0, 0, 0, 0}, {10, 48, 80, 1285, 4112, 0, 0}, {10, 102, 4934, 21760, 0, 0, 0}, {72, 48, 1863, 16384, 0, 0, 0}, {72, 14080, 16384, 0, 0, 0, 0}, {10, 54, 4883, 80, 1285, 0, 0}, {10, 5408, 5440, 0, 0, 0, 0}, {1807, 1843, 68, 0, 0, 0, 0}, {204, 19532, 13056, 0, 0, 0, 0}, {18, 80, 1285, 4096, 0, 0, 0}, {10, 34, 512, 68, 4352, 0, 0}, {3855, 48, 16448, 0, 0, 0, 0}, {3840, 8192, 80, 0, 0, 0, 0}, {12, 34, 68, 1028, 4369, 0, 0}, {90, 34, 1874, 21760, 0, 0, 0}, {12, 96, 4947, 16384, 0, 0, 0}, {48, 768, 20, 4112, 0, 0, 0}, {170, 10752, 21845, 0, 0, 0, 0}, {86, 5376, 0, 0, 0, 0, 0}, {40, 22359, 0, 0, 0, 0, 0}, {1800, 1824, 80, 0, 0, 0, 0}, {12, 5427, 5461, 0, 0, 0, 0}, {90, 9472, 21760, 0, 0, 0, 0}, {12, 36, 4883, 68, 1028, 0, 0}, {12, 48, 768, 80, 4096, 0, 0}, {2056, 34, 21845, 0, 0, 0, 0}, {18, 68, 1028, 4352, 0, 0, 0}, {160, 24415, 8192, 0, 0, 0, 0}, {7936, 96, 16384, 0, 0, 0, 0}, {30, 34, 1799, 68, 4369, 0, 0}, {5384, 34, 5440, 0, 0, 0, 0}, {4879, 4915, 80, 0, 0, 0, 0}, {4872, 4896, 68, 0, 0, 0, 0}, {5391, 48, 5461, 0, 0, 0, 0}, {6400, 102, 21760, 0, 0, 0, 0}, {24, 48, 1799, 80, 4112, 0, 0}, {72, 96, 5888, 16448, 0, 0, 0}, {90, 102, 5632, 21845, 0, 0, 0}, {106, 5376, 0, 0, 0, 0, 0}, {4883, 20, 0, 0, 0, 0, 0}, {108, 4864, 0, 0, 0, 0, 0}, {18, 5397, 0, 0, 0, 0, 0}, {2056, 34, 68, 4352, 0, 0, 0}, {3855, 48, 80, 4096, 0, 0, 0}, {240, 3840, 28784, 0, 0, 0, 0}, {6, 68, 1024, 4369, 0, 0, 0}, {10, 34, 512, 80, 1280, 0, 0}, {12, 13107, 16448, 0, 0, 0, 0}, {12, 48, 768, 68, 1024, 0, 0}, {10, 8224, 21845, 0, 0, 0, 0}, {6, 80, 1280, 4112, 0, 0, 0}, {136, 2048, 30583, 0, 0, 0, 0}, {120, 1792, 0, 0, 0, 0, 0}, {6, 5397, 0, 0, 0, 0, 0}, {10, 8224, 80, 1280, 0, 0, 0}, {12, 13107, 68, 1024, 0, 0, 0}, {12, 48, 768, 16448, 0, 0, 0}, {10, 34, 512, 21845, 0, 0, 0}, {18, 20, 256, 0, 0, 0, 0}, {32639, 0, 0, 0, 0, 0, 0}, {32640, 0, 0, 0, 0, 0, 0}, {259, 261, 273, 0, 0, 0, 0}, {10, 34, 512, 21760, 0, 0, 0}, {12, 48, 771, 16448, 0, 0, 0}, {12, 13056, 68, 1024, 0, 0, 0}, {10, 8224, 80, 1285, 0, 0, 0}, {6, 5440, 0, 0, 0, 0, 0}, {1807, 1911, 0, 0, 0, 0, 0}, {136, 2048, 30464, 0, 0, 0, 0}, {6, 80, 1285, 4112, 0, 0, 0}, {10, 8224, 21760, 0, 0, 0, 0}, {12, 48, 771, 68, 1024, 0, 0}, {12, 13056, 16448, 0, 0, 0, 0}, {10, 34, 512, 80, 1285, 0, 0}, {6, 68, 1024, 4352, 0, 0, 0}, {240, 3855, 28784, 0, 0, 0, 0}, {3840, 48, 80, 4096, 0, 0, 0}, {2056, 34, 68, 4369, 0, 0, 0}, {18, 5440, 0, 0, 0, 0, 0}, {4959, 4915, 0, 0, 0, 0, 0}, {4896, 20, 0, 0, 0, 0, 0}, {5439, 5461, 0, 0, 0, 0, 0}, {90, 102, 5632, 21760, 0, 0, 0}, {72, 96, 5911, 16448, 0, 0, 0}, {24, 48, 1808, 80, 4112, 0, 0}, {6485, 102, 21845, 0, 0, 0, 0}, {90, 48, 5376, 0, 0, 0, 0}, {40, 4883, 68, 0, 0, 0, 0}, {60, 4864, 80, 0, 0, 0, 0}, {72, 34, 5397, 0, 0, 0, 0}, {30, 34, 1814, 68, 4352, 0, 0}, {8031, 96, 16384, 0, 0, 0, 0}, {160, 24320, 8192, 0, 0, 0, 0}, {18, 68, 1028, 4369, 0, 0, 0}, {2056, 34, 21760, 0, 0, 0, 0}, {12, 48, 771, 80, 4096, 0, 0}, {12, 36, 4868, 68, 1028, 0, 0}, {90, 9557, 21845, 0, 0, 0, 0}, {12, 102, 5376, 0, 0, 0, 0}, {40, 1799, 80, 0, 0, 0, 0}, {22280, 22304, 0, 0, 0, 0, 0}, {5379, 5461, 0, 0, 0, 0, 0}, {170, 10752, 21760, 0, 0, 0, 0}, {48, 771, 20, 4112, 0, 0, 0}, {12, 96, 4864, 16384, 0, 0, 0}, {90, 34, 1799, 21845, 0, 0, 0}, {12, 34, 68, 1028, 4352, 0, 0}, {3855, 8192, 80, 0, 0, 0, 0}, {3840, 48, 16448, 0, 0, 0, 0}, {10, 34, 512, 68, 4369, 0, 0}, {18, 80, 1280, 4096, 0, 0, 0}, {204, 19532, 13107, 0, 0, 0, 0}, {60, 1792, 68, 0, 0, 0, 0}, {10, 96, 5397, 0, 0, 0, 0}, {10, 54, 4886, 80, 1280, 0, 0}, {72, 14199, 16384, 0, 0, 0, 0}, {72, 48, 1792, 16384, 0, 0, 0}, {10, 102, 4883, 21845, 0, 0, 0}, {10, 48, 80, 1280, 4112, 0, 0}, {2048, 13107, 68, 0, 0, 0, 0}, {17228, 17264, 0, 0, 0, 0, 0}, {5399, 5461, 0, 0, 0, 0, 0}, {34, 512, 20, 4352, 0, 0, 0}, {192, 16191, 16448, 0, 0, 0, 0}, {192, 16128, 16384, 0, 0, 0, 0}, {34, 514, 20, 4369, 0, 0, 0}, {5378, 5440, 0, 0, 0, 0, 0}, {17167, 17203, 0, 0, 0, 0, 0}, {2056, 13056, 68, 0, 0, 0, 0}, {10, 48, 80, 1285, 4096, 0, 0}, {10, 102, 4864, 21760, 0, 0, 0}, {72, 48, 1799, 16448, 0, 0, 0}, {72, 14144, 16448, 0, 0, 0, 0}, {10, 54, 4869, 80, 1285, 0, 0}, {10, 96, 5376, 0, 0, 0, 0}, {60, 1799, 68, 0, 0, 0, 0}, {204, 19456, 13056, 0, 0, 0, 0}, {18, 80, 1285, 4112, 0, 0, 0}, {10, 34, 514, 68, 4352, 0, 0}, {3855, 48, 16384, 0, 0, 0, 0}, {3840, 8224, 80, 0, 0, 0, 0}, {12, 34, 68, 1024, 4369, 0, 0}, {90, 34, 1792, 21760, 0, 0, 0}, {12, 96, 4883, 16448, 0, 0, 0}, {48, 768, 20, 4096, 0, 0, 0}, {170, 10794, 21845, 0, 0, 0, 0}, {5398, 5440, 0, 0, 0, 0, 0}, {22367, 22391, 0, 0, 0, 0, 0}, {40, 1792, 80, 0, 0, 0, 0}, {12, 102, 5397, 0, 0, 0, 0}, {90, 9584, 21760, 0, 0, 0, 0}, {12, 36, 4887, 68, 1024, 0, 0}, {12, 48, 768, 80, 4112, 0, 0}, {2048, 34, 21845, 0, 0, 0, 0}, {18, 68, 1024, 4352, 0, 0, 0}, {160, 24415, 8224, 0, 0, 0, 0}, {8000, 96, 16448, 0, 0, 0, 0}, {30, 34, 1809, 68, 4369, 0, 0}, {72, 34, 5376, 0, 0, 0, 0}, {60, 4883, 80, 0, 0, 0, 0}, {40, 4864, 68, 0, 0, 0, 0}, {90, 48, 5397, 0, 0, 0, 0}, {6476, 102, 21760, 0, 0, 0, 0}, {24, 48, 1815, 80, 4096, 0, 0}, {72, 96, 5888, 16384, 0, 0, 0}, {90, 102, 5654, 21845, 0, 0, 0}, {5418, 5440, 0, 0, 0, 0, 0}, {4915, 20, 0, 0, 0, 0, 0}, {4940, 4896, 0, 0, 0, 0, 0}, {18, 5461, 0, 0, 0, 0, 0}, {2048, 34, 68, 4352, 0, 0, 0}, {3855, 48, 80, 4112, 0, 0, 0}, {240, 3840, 28672, 0, 0, 0, 0}, {6, 68, 1028, 4369, 0, 0, 0}, {10, 34, 514, 80, 1280, 0, 0}, {12, 13107, 16384, 0, 0, 0, 0}, {12, 48, 768, 68, 1028, 0, 0}, {10, 8192, 21845, 0, 0, 0, 0}, {6, 80, 1280, 4096, 0, 0, 0}, {136, 2056, 30583, 0, 0, 0, 0}, {1800, 1904, 0, 0, 0, 0, 0}, {6, 5461, 0, 0, 0, 0, 0}, {10, 8192, 80, 1280, 0, 0, 0}, {12, 13107, 68, 1028, 0, 0, 0}, {12, 48, 768, 16384, 0, 0, 0}, {10, 34, 514, 21845, 0, 0, 0}, {258, 260, 272, 0, 0, 0, 0}, {32767, 0, 0, 0, 0, 0, 0}, {32768, 0, 0, 0, 0, 0, 0}, {3, 5, 17, 257, 0, 0, 0}, {10, 34, 514, 0, 0, 0, 0}, {3, 16384, 0, 0, 0, 0, 0}, {12, 68, 1028, 0, 0, 0, 0}, {8192, 5, 0, 0, 0, 0, 0}, {6, 16384, 0, 0, 0, 0, 0}, {15, 119, 1799, 0, 0, 0, 0}, {136, 2056, 0, 0, 0, 0, 0}, {3, 5, 4096, 0, 0, 0, 0}, {10, 8192, 0, 0, 0, 0, 0}, {3, 68, 1028, 0, 0, 0, 0}, {12, 16384, 0, 0, 0, 0, 0}, {34, 514, 5, 0, 0, 0, 0}, {6, 68, 1028, 0, 0, 0, 0}, {15, 28672, 0, 0, 0, 0, 0}, {48, 80, 4112, 0, 0, 0, 0}, {2048, 17, 0, 0, 0, 0, 0}, {18, 16384, 0, 0, 0, 0, 0}, {95, 51, 4883, 0, 0, 0, 0}, {8192, 20, 0, 0, 0, 0, 0}, {63, 85, 5397, 0, 0, 0, 0}, {90, 102, 5654, 0, 0, 0, 0}, {23, 16384, 0, 0, 0, 0, 0}, {24, 48, 80, 4096, 0, 0, 0}, {6425, 51, 85, 0, 0, 0, 0}, {90, 48, 16448, 0, 0, 0, 0}, {27, 51, 4864, 68, 0, 0, 0}, {60, 8224, 80, 0, 0, 0, 0}, {29, 34, 85, 5376, 0, 0, 0}, {30, 34, 5632, 68, 0, 0, 0}, {95, 96, 16448, 0, 0, 0, 0}, {160, 8224, 0, 0, 0, 0, 0}, {3, 1024, 17, 0, 0, 0, 0}, {2048, 34, 0, 0, 0, 0, 0}, {3, 80, 4112, 0, 0, 0, 0}, {12, 36, 68, 1024, 0, 0, 0}, {15, 9509, 85, 0, 0, 0, 0}, {12, 102, 16448, 0, 0, 0, 0}, {15, 39, 1792, 80, 0, 0, 0}, {40, 8192, 0, 0, 0, 0, 0}, {3, 85, 5397, 0, 0, 0, 0}, {170, 10794, 0, 0, 0, 0, 0}, {3, 20, 4096, 0, 0, 0, 0}, {12, 96, 16448, 0, 0, 0, 0}, {15, 34, 1792, 85, 0, 0, 0}, {12, 34, 68, 1024, 0, 0, 0}, {15, 8224, 80, 0, 0, 0, 0}, {48, 16384, 0, 0, 0, 0, 0}, {10, 514, 17, 0, 0, 0, 0}, {18, 80, 4112, 0, 0, 0, 0}, {19456, 51, 0, 0, 0, 0, 0}, {60, 13364, 68, 0, 0, 0, 0}, {10, 53, 85, 5376, 0, 0, 0}, {10, 54, 5632, 80, 0, 0, 0}, {72, 119, 16448, 0, 0, 0, 0}, {72, 48, 16448, 0, 0, 0, 0}, {10, 51, 4864, 85, 0, 0, 0}, {10, 48, 80, 4096, 0, 0, 0}, {2056, 51, 68, 0, 0, 0, 0}, {60, 28672, 0, 0, 0, 0, 0}, {23, 85, 5397, 0, 0, 0, 0}, {34, 514, 20, 0, 0, 0, 0}, {63, 16384, 0, 0, 0, 0, 0}, {192, 16448, 0, 0, 0, 0, 0}, {512, 5, 17, 0, 0, 0, 0}, {66, 16384, 0, 0, 0, 0, 0}, {15, 51, 17219, 0, 0, 0, 0}, {2048, 68, 0, 0, 0, 0, 0}, {48, 5, 4112, 0, 0, 0, 0}, {10, 102, 17990, 0, 0, 0, 0}, {71, 16384, 0, 0, 0, 0, 0}, {72, 16384, 0, 0, 0, 0, 0}, {51, 4883, 5, 0, 0, 0, 0}, {10, 96, 16448, 0, 0, 0, 0}, {15, 51, 1792, 68, 0, 0, 0}, {204, 19532, 0, 0, 0, 0, 0}, {18, 5, 4096, 0, 0, 0, 0}, {10, 34, 512, 68, 0, 0, 0}, {15, 48, 16448, 0, 0, 0, 0}, {8192, 80, 0, 0, 0, 0, 0}, {12, 1028, 17, 0, 0, 0, 0}, {90, 34, 21074, 0, 0, 0, 0}, {83, 16384, 0, 0, 0, 0, 0}, {48, 20, 4112, 0, 0, 0, 0}, {10752, 85, 0, 0, 0, 0, 0}, {86, 16384, 0, 0, 0, 0, 0}, {95, 119, 22359, 0, 0, 0, 0}, {40, 8224, 80, 0, 0, 0, 0}, {12, 51, 85, 5376, 0, 0, 0}, {90, 28672, 0, 0, 0, 0, 0}, {23, 68, 1028, 0, 0, 0, 0}, {12, 48, 80, 4096, 0, 0, 0}, {2056, 34, 85, 0, 0, 0, 0}, {18, 68, 1028, 0, 0, 0, 0}, {95, 8192, 0, 0, 0, 0, 0}, {96, 16384, 0, 0, 0, 0, 0}, {15, 1799, 17, 0, 0, 0, 0}, {72, 34, 16448, 0, 0, 0, 0}, {15, 51, 4864, 80, 0, 0, 0}, {40, 8224, 68, 0, 0, 0, 0}, {15, 48, 85, 5376, 0, 0, 0}, {19456, 102, 0, 0, 0, 0, 0}, {23, 80, 4112, 0, 0, 0, 0}, {72, 96, 16448, 0, 0, 0, 0}, {15, 51, 5632, 85, 0, 0, 0}, {106, 16384, 0, 0, 0, 0, 0}, {51, 4883, 20, 0, 0, 0, 0}, {108, 8192, 0, 0, 0, 0, 0}, {18, 85, 5397, 0, 0, 0, 0}, {2056, 34, 68, 0, 0, 0, 0}, {15, 48, 80, 4096, 0, 0, 0}, {240, 28784, 0, 0, 0, 0, 0}, {6, 1024, 17, 0, 0, 0, 0}, {10, 34, 512, 80, 0, 0, 0}, {12, 51, 16448, 0, 0, 0, 0}, {12, 48, 68, 1024, 0, 0, 0}, {10, 8224, 85, 0, 0, 0, 0}, {6, 80, 4112, 0, 0, 0, 0}, {2048, 119, 0, 0, 0, 0, 0}, {120, 28672, 0, 0, 0, 0, 0}, {6, 85, 5397, 0, 0, 0, 0}, {10, 8224, 80, 0, 0, 0, 0}, {12, 51, 68, 1024, 0, 0, 0}, {12, 48, 16448, 0, 0, 0, 0}, {10, 34, 512, 85, 0, 0, 0}, {18, 20, 4096, 0, 0, 0, 0}, {255, 32639, 0, 0, 0, 0, 0}, {32896, 0, 0, 0, 0, 0, 0}, {3, 5, 17, 256, 0, 0, 0}, {10, 34, 512, 0, 0, 0, 0}, {3, 16448, 0, 0, 0, 0, 0}, {12, 68, 1024, 0, 0, 0, 0}, {8224, 5, 0, 0, 0, 0, 0}, {6, 16448, 0, 0, 0, 0, 0}, {15, 119, 1792, 0, 0, 0, 0}, {136, 2048, 0, 0, 0, 0, 0}, {3, 5, 4112, 0, 0, 0, 0}, {10, 8224, 0, 0, 0, 0, 0}, {3, 68, 1024, 0, 0, 0, 0}, {12, 16448, 0, 0, 0, 0, 0}, {34, 512, 5, 0, 0, 0, 0}, {6, 68, 1024, 0, 0, 0, 0}, {15, 28784, 0, 0, 0, 0, 0}, {48, 80, 4096, 0, 0, 0, 0}, {2056, 17, 0, 0, 0, 0, 0}, {18, 16448, 0, 0, 0, 0, 0}, {95, 51, 4864, 0, 0, 0, 0}, {8224, 20, 0, 0, 0, 0, 0}, {63, 85, 5376, 0, 0, 0, 0}, {90, 102, 5632, 0, 0, 0, 0}, {23, 16448, 0, 0, 0, 0, 0}, {24, 48, 80, 4112, 0, 0, 0}, {6400, 51, 85, 0, 0, 0, 0}, {90, 48, 16384, 0, 0, 0, 0}, {27, 51, 4883, 68, 0, 0, 0}, {60, 8192, 80, 0, 0, 0, 0}, {29, 34, 85, 5397, 0, 0, 0}, {30, 34, 5654, 68, 0, 0, 0}, {95, 96, 16384, 0, 0, 0, 0}, {160, 8192, 0, 0, 0, 0, 0}, {3, 1028, 17, 0, 0, 0, 0}, {2056, 34, 0, 0, 0, 0, 0}, {3, 80, 4096, 0, 0, 0, 0}, {12, 36, 68, 1028, 0, 0, 0}, {15, 9472, 85, 0, 0, 0, 0}, {12, 102, 16384, 0, 0, 0, 0}, {15, 39, 1799, 80, 0, 0, 0}, {40, 8224, 0, 0, 0, 0, 0}, {3, 85, 5376, 0, 0, 0, 0}, {170, 10752, 0, 0, 0, 0, 0}, {3, 20, 4112, 0, 0, 0, 0}, {12, 96, 16384, 0, 0, 0, 0}, {15, 34, 1799, 85, 0, 0, 0}, {12, 34, 68, 1028, 0, 0, 0}, {15, 8192, 80, 0, 0, 0, 0}, {48, 16448, 0, 0, 0, 0, 0}, {10, 512, 17, 0, 0, 0, 0}, {18, 80, 4096, 0, 0, 0, 0}, {19532, 51, 0, 0, 0, 0, 0}, {60, 13312, 68, 0, 0, 0, 0}, {10, 53, 85, 5397, 0, 0, 0}, {10, 54, 5654, 80, 0, 0, 0}, {72, 119, 16384, 0, 0, 0, 0}, {72, 48, 16384, 0, 0, 0, 0}, {10, 51, 4883, 85, 0, 0, 0}, {10, 48, 80, 4112, 0, 0, 0}, {2048, 51, 68, 0, 0, 0, 0}, {60, 28784, 0, 0, 0, 0, 0}, {23, 85, 5376, 0, 0, 0, 0}, {34, 512, 20, 0, 0, 0, 0}, {63, 16448, 0, 0, 0, 0, 0}, {192, 16384, 0, 0, 0, 0, 0}, {514, 5, 17, 0, 0, 0, 0}, {66, 16448, 0, 0, 0, 0, 0}, {15, 51, 17152, 0, 0, 0, 0}, {2056, 68, 0, 0, 0, 0, 0}, {48, 5, 4096, 0, 0, 0, 0}, {10, 102, 17920, 0, 0, 0, 0}, {71, 16448, 0, 0, 0, 0, 0}, {72, 16448, 0, 0, 0, 0, 0}, {51, 4864, 5, 0, 0, 0, 0}, {10, 96, 16384, 0, 0, 0, 0}, {15, 51, 1799, 68, 0, 0, 0}, {204, 19456, 0, 0, 0, 0, 0}, {18, 5, 4112, 0, 0, 0, 0}, {10, 34, 514, 68, 0, 0, 0}, {15, 48, 16384, 0, 0, 0, 0}, {8224, 80, 0, 0, 0, 0, 0}, {12, 1024, 17, 0, 0, 0, 0}, {90, 34, 20992, 0, 0, 0, 0}, {83, 16448, 0, 0, 0, 0, 0}, {48, 20, 4096, 0, 0, 0, 0}, {10794, 85, 0, 0, 0, 0, 0}, {86, 16448, 0, 0, 0, 0, 0}, {95, 119, 22272, 0, 0, 0, 0}, {40, 8192, 80, 0, 0, 0, 0}, {12, 51, 85, 5397, 0, 0, 0}, {90, 28784, 0, 0, 0, 0, 0}, {23, 68, 1024, 0, 0, 0, 0}, {12, 48, 80, 4112, 0, 0, 0}, {2048, 34, 85, 0, 0, 0, 0}, {18, 68, 1024, 0, 0, 0, 0}, {95, 8224, 0, 0, 0, 0, 0}, {96, 16448, 0, 0, 0, 0, 0}, {15, 1792, 17, 0, 0, 0, 0}, {72, 34, 16384, 0, 0, 0, 0}, {15, 51, 4883, 80, 0, 0, 0}, {40, 8192, 68, 0, 0, 0, 0}, {15, 48, 85, 5397, 0, 0, 0}, {19532, 102, 0, 0, 0, 0, 0}, {23, 80, 4096, 0, 0, 0, 0}, {72, 96, 16384, 0, 0, 0, 0}, {15, 51, 5654, 85, 0, 0, 0}, {106, 16448, 0, 0, 0, 0, 0}, {51, 4864, 20, 0, 0, 0, 0}, {108, 8224, 0, 0, 0, 0, 0}, {18, 85, 5376, 0, 0, 0, 0}, {2048, 34, 68, 0, 0, 0, 0}, {15, 48, 80, 4112, 0, 0, 0}, {240, 28672, 0, 0, 0, 0, 0}, {6, 1028, 17, 0, 0, 0, 0}, {10, 34, 514, 80, 0, 0, 0}, {12, 51, 16384, 0, 0, 0, 0}, {12, 48, 68, 1028, 0, 0, 0}, {10, 8192, 85, 0, 0, 0, 0}, {6, 80, 4096, 0, 0, 0, 0}, {2056, 119, 0, 0, 0, 0, 0}, {120, 28784, 0, 0, 0, 0, 0}, {6, 85, 5376, 0, 0, 0, 0}, {10, 8192, 80, 0, 0, 0, 0}, {12, 51, 68, 1028, 0, 0, 0}, {12, 48, 16384, 0, 0, 0, 0}, {10, 34, 514, 85, 0, 0, 0}, {18, 20, 4112, 0, 0, 0, 0}, {255, 32512, 0, 0, 0, 0, 0}, {768, 1280, 4352, 0, 0, 0, 0}, {128, 257, 0, 0, 0, 0, 0}, {258, 16384, 0, 0, 0, 0, 0}, {1295, 4403, 771, 0, 0, 0, 0}, {8192, 260, 0, 0, 0, 0, 0}, {783, 4437, 1285, 0, 0, 0, 0}, {1290, 4454, 1542, 0, 0, 0, 0}, {263, 16384, 0, 0, 0, 0, 0}, {264, 768, 1280, 4096, 0, 0, 0}, {4505, 771, 1285, 0, 0, 0, 0}, {1290, 768, 17408, 0, 0, 0, 0}, {267, 4144, 771, 1028, 0, 0, 0}, {780, 8704, 1280, 0, 0, 0, 0}, {269, 514, 4176, 1285, 0, 0, 0}, {270, 4192, 514, 1028, 0, 0, 0}, {1295, 1536, 17408, 0, 0, 0, 0}, {2048, 272, 0, 0, 0, 0, 0}, {819, 1365, 4369, 0, 0, 0, 0}, {1370, 4386, 4626, 0, 0, 0, 0}, {275, 16384, 0, 0, 0, 0, 0}, {828, 4420, 5140, 0, 0, 0, 0}, {8192, 277, 0, 0, 0, 0, 0}, {278, 16384, 0, 0, 0, 0, 0}, {1375, 4471, 5911, 0, 0, 0, 0}, {6168, 816, 1360, 0, 0, 0, 0}, {281, 819, 1365, 4096, 0, 0, 0}, {282, 4144, 4864, 1088, 0, 0, 0}, {1375, 819, 17476, 0, 0, 0, 0}, {284, 544, 4176, 5376, 0, 0, 0}, {831, 8738, 1365, 0, 0, 0, 0}, {1370, 1638, 17476, 0, 0, 0, 0}, {287, 5152, 5632, 1088, 0, 0, 0}, {288, 768, 1024, 4352, 0, 0, 0}, {1445, 771, 4369, 0, 0, 0, 0}, {4386, 768, 20480, 0, 0, 0, 0}, {1036, 291, 771, 4112, 0, 0, 0}, {780, 9252, 4420, 0, 0, 0, 0}, {783, 293, 4437, 1024, 0, 0, 0}, {1036, 294, 1792, 4160, 0, 0, 0}, {783, 4471, 20560, 0, 0, 0, 0}, {5160, 768, 21760, 0, 0, 0, 0}, {4377, 4144, 771, 5397, 0, 0, 0}, {298, 768, 1024, 4096, 0, 0, 0}, {4539, 771, 5140, 0, 0, 0, 0}, {1036, 1312, 1792, 5440, 0, 0, 0}, {783, 6007, 21845, 0, 0, 0, 0}, {780, 8738, 5188, 0, 0, 0, 0}, {783, 544, 4176, 1024, 0, 0, 0}, {2560, 816, 4352, 0, 0, 0, 0}, {305, 514, 1092, 4369, 0, 0, 0}, {1096, 306, 514, 4112, 0, 0, 0}, {4403, 4608, 20480, 0, 0, 0, 0}, {520, 308, 4420, 5376, 0, 0, 0}, {831, 13621, 4437, 0, 0, 0, 0}, {4698, 4454, 20560, 0, 0, 0, 0}, {5128, 311, 5632, 4160, 0, 0, 0}, {4360, 4144, 4864, 5440, 0, 0, 0}, {5983, 819, 21845, 0, 0, 0, 0}, {2570, 816, 5200, 0, 0, 0, 0}, {520, 819, 1092, 4096, 0, 0, 0}, {5180, 5888, 21760, 0, 0, 0, 0}, {4445, 4192, 514, 5397, 0, 0, 0}, {318, 514, 4176, 5140, 0, 0, 0}, {831, 8704, 5120, 0, 0, 0, 0}, {512, 320, 1280, 4352, 0, 0, 0}, {963, 1285, 4369, 0, 0, 0, 0}, {1290, 4386, 16962, 0, 0, 0, 0}, {323, 16384, 0, 0, 0, 0, 0}, {12288, 4420, 1280, 0, 0, 0, 0}, {522, 325, 1285, 4112, 0, 0, 0}, {326, 16384, 0, 0, 0, 0, 0}, {1295, 4471, 18247, 0, 0, 0, 0}, {4680, 13056, 1280, 0, 0, 0, 0}, {4377, 4883, 4176, 1285, 0, 0, 0}, {1290, 5152, 1792, 1088, 0, 0, 0}, {1295, 6007, 17476, 0, 0, 0, 0}, {332, 512, 1280, 4096, 0, 0, 0}, {4573, 4626, 1285, 0, 0, 0, 0}, {1290, 4642, 17476, 0, 0, 0, 0}, {1295, 4144, 512, 1088, 0, 0, 0}, {3072, 1360, 4352, 0, 0, 0, 0}, {546, 337, 1028, 4369, 0, 0, 0}, {338, 16384, 0, 0, 0, 0, 0}, {1375, 4403, 21331, 0, 0, 0, 0}, {552, 340, 1028, 4112, 0, 0, 0}, {12288, 4437, 5120, 0, 0, 0, 0}, {1370, 4454, 22102, 0, 0, 0, 0}, {343, 16384, 0, 0, 0, 0, 0}, {4360, 4896, 4176, 5376, 0, 0, 0}, {5951, 13107, 1365, 0, 0, 0, 0}, {1370, 5888, 17408, 0, 0, 0, 0}, {347, 4192, 4883, 1028, 0, 0, 0}, {3084, 4656, 1360, 0, 0, 0, 0}, {1032, 546, 1365, 4096, 0, 0, 0}, {350, 4144, 4626, 1028, 0, 0, 0}, {1375, 4608, 17408, 0, 0, 0, 0}, {3840, 1632, 4352, 0, 0, 0, 0}, {1317, 1799, 1092, 4369, 0, 0, 0}, {5128, 4386, 4864, 4160, 0, 0, 0}, {5983, 4403, 20560, 0, 0, 0, 0}, {4616, 4128, 4420, 5376, 0, 0, 0}, {5951, 12336, 4437, 0, 0, 0, 0}, {4454, 5888, 20480, 0, 0, 0, 0}, {1096, 359, 1799, 4112, 0, 0, 0}, {4360, 1312, 5632, 5440, 0, 0, 0}, {4698, 1638, 21845, 0, 0, 0, 0}, {4714, 13056, 5120, 0, 0, 0, 0}, {4411, 4883, 4176, 5140, 0, 0, 0}, {5228, 4608, 21760, 0, 0, 0, 0}, {4445, 4144, 4626, 5397, 0, 0, 0}, {1800, 546, 1092, 4096, 0, 0, 0}, {3855, 4656, 5200, 0, 0, 0, 0}, {368, 512, 1024, 4352, 0, 0, 0}, {1525, 1542, 4369, 0, 0, 0, 0}, {1546, 4386, 20560, 0, 0, 0, 0}, {1036, 4403, 512, 4160, 0, 0, 0}, {1548, 12336, 4420, 0, 0, 0, 0}, {522, 4128, 4437, 1024, 0, 0, 0}, {1036, 374, 1542, 4112, 0, 0, 0}, {4471, 1536, 20480, 0, 0, 0, 0}, {5240, 1536, 21760, 0, 0, 0, 0}, {4377, 4192, 4883, 5397, 0, 0, 0}, {522, 4896, 4176, 1024, 0, 0, 0}, {1548, 13107, 5188, 0, 0, 0, 0}, {1036, 4144, 512, 5440, 0, 0, 0}, {1546, 4642, 21845, 0, 0, 0, 0}, {4590, 4626, 5140, 0, 0, 0, 0}, {383, 512, 1024, 4096, 0, 0, 0}, {128, 256, 0, 0, 0, 0, 0}, {771, 1285, 4369, 0, 0, 0, 0}, {1290, 4386, 768, 0, 0, 0, 0}, {259, 16448, 0, 0, 0, 0, 0}, {780, 4420, 1280, 0, 0, 0, 0}, {8224, 261, 0, 0, 0, 0, 0}, {262, 16448, 0, 0, 0, 0, 0}, {1295, 4471, 1536, 0, 0, 0, 0}, {4488, 768, 1280, 0, 0, 0, 0}, {265, 771, 1285, 4112, 0, 0, 0}, {266, 4128, 768, 1024, 0, 0, 0}, {1295, 771, 17476, 0, 0, 0, 0}, {268, 512, 4160, 1280, 0, 0, 0}, {783, 8738, 1285, 0, 0, 0, 0}, {1290, 1542, 17476, 0, 0, 0, 0}, {271, 4208, 512, 1024, 0, 0, 0}, {816, 1360, 4352, 0, 0, 0, 0}, {2056, 273, 0, 0, 0, 0, 0}, {274, 16448, 0, 0, 0, 0, 0}, {1375, 4403, 4608, 0, 0, 0, 0}, {8224, 276, 0, 0, 0, 0, 0}, {831, 4437, 5120, 0, 0, 0, 0}, {1370, 4454, 5888, 0, 0, 0, 0}, {279, 16448, 0, 0, 0, 0, 0}, {280, 816, 1360, 4112, 0, 0, 0}, {6144, 819, 1365, 0, 0, 0, 0}, {1370, 816, 17408, 0, 0, 0, 0}, {283, 4128, 4883, 1092, 0, 0, 0}, {828, 8704, 1360, 0, 0, 0, 0}, {285, 546, 4160, 5397, 0, 0, 0}, {286, 5172, 5654, 1092, 0, 0, 0}, {1375, 1632, 17408, 0, 0, 0, 0}, {1440, 768, 4352, 0, 0, 0, 0}, {289, 771, 1028, 4369, 0, 0, 0}, {1032, 290, 768, 4096, 0, 0, 0}, {4403, 771, 20560, 0, 0, 0, 0}, {780, 292, 4420, 1028, 0, 0, 0}, {783, 9216, 4437, 0, 0, 0, 0}, {780, 4454, 20480, 0, 0, 0, 0}, {1032, 295, 1799, 4176, 0, 0, 0}, {4360, 4128, 768, 5376, 0, 0, 0}, {5180, 771, 21845, 0, 0, 0, 0}, {4522, 768, 5120, 0, 0, 0, 0}, {299, 771, 1028, 4112, 0, 0, 0}, {780, 5984, 21760, 0, 0, 0, 0}, {1032, 1317, 1799, 5461, 0, 0, 0}, {780, 546, 4160, 1028, 0, 0, 0}, {783, 8704, 5200, 0, 0, 0, 0}, {304, 512, 1088, 4352, 0, 0, 0}, {2570, 819, 4369, 0, 0, 0, 0}, {4386, 4626, 20560, 0, 0, 0, 0}, {1100, 307, 512, 4096, 0, 0, 0}, {828, 13568, 4420, 0, 0, 0, 0}, {522, 309, 4437, 5397, 0, 0, 0}, {5148, 310, 5654, 4176, 0, 0, 0}, {4680, 4471, 20480, 0, 0, 0, 0}, {5960, 816, 21760, 0, 0, 0, 0}, {4377, 4128, 4883, 5461, 0, 0, 0}, {522, 816, 1088, 4112, 0, 0, 0}, {2560, 819, 5188, 0, 0, 0, 0}, {4428, 4208, 512, 5376, 0, 0, 0}, {5160, 5911, 21845, 0, 0, 0, 0}, {828, 8738, 5140, 0, 0, 0, 0}, {319, 512, 4160, 5120, 0, 0, 0}, {960, 1280, 4352, 0, 0, 0, 0}, {514, 321, 1285, 4369, 0, 0, 0}, {322, 16448, 0, 0, 0, 0, 0}, {1295, 4403, 16896, 0, 0, 0, 0}, {520, 324, 1280, 4096, 0, 0, 0}, {12336, 4437, 1285, 0, 0, 0, 0}, {1290, 4454, 18176, 0, 0, 0, 0}, {327, 16448, 0, 0, 0, 0, 0}, {4360, 4864, 4160, 1280, 0, 0, 0}, {4698, 13107, 1285, 0, 0, 0, 0}, {1290, 5984, 17408, 0, 0, 0, 0}, {1295, 5172, 1799, 1092, 0, 0, 0}, {4556, 4608, 1280, 0, 0, 0, 0}, {333, 514, 1285, 4112, 0, 0, 0}, {1290, 4128, 514, 1092, 0, 0, 0}, {1295, 4656, 17408, 0, 0, 0, 0}, {544, 336, 1024, 4352, 0, 0, 0}, {3084, 1365, 4369, 0, 0, 0, 0}, {1370, 4386, 21248, 0, 0, 0, 0}, {339, 16448, 0, 0, 0, 0, 0}, {12336, 4420, 5140, 0, 0, 0, 0}, {554, 341, 1024, 4096, 0, 0, 0}, {342, 16448, 0, 0, 0, 0, 0}, {1375, 4471, 22016, 0, 0, 0, 0}, {5928, 13056, 1360, 0, 0, 0, 0}, {4377, 4915, 4160, 5397, 0, 0, 0}, {346, 4208, 4864, 1024, 0, 0, 0}, {1375, 5911, 17476, 0, 0, 0, 0}, {1036, 544, 1360, 4112, 0, 0, 0}, {3072, 4642, 1365, 0, 0, 0, 0}, {1370, 4626, 17476, 0, 0, 0, 0}, {351, 4128, 4608, 1024, 0, 0, 0}, {1312, 1792, 1088, 4352, 0, 0, 0}, {3855, 1638, 4369, 0, 0, 0, 0}, {5960, 4386, 20480, 0, 0, 0, 0}, {5148, 4403, 4883, 4176, 0, 0, 0}, {5928, 12288, 4420, 0, 0, 0, 0}, {4634, 4144, 4437, 5397, 0, 0, 0}, {1100, 358, 1792, 4096, 0, 0, 0}, {4471, 5911, 20560, 0, 0, 0, 0}, {4680, 1632, 21760, 0, 0, 0, 0}, {4377, 1317, 5654, 5461, 0, 0, 0}, {4394, 4864, 4160, 5120, 0, 0, 0}, {4728, 13107, 5140, 0, 0, 0, 0}, {4428, 4128, 4608, 5376, 0, 0, 0}, {5240, 4626, 21845, 0, 0, 0, 0}, {3840, 4642, 5188, 0, 0, 0, 0}, {1807, 544, 1088, 4112, 0, 0, 0}, {1520, 1536, 4352, 0, 0, 0, 0}, {369, 514, 1028, 4369, 0, 0, 0}, {1032, 4386, 514, 4176, 0, 0, 0}, {1548, 4403, 20480, 0, 0, 0, 0}, {520, 4144, 4420, 1028, 0, 0, 0}, {1546, 12288, 4437, 0, 0, 0, 0}, {4454, 1542, 20560, 0, 0, 0, 0}, {1032, 375, 1536, 4096, 0, 0, 0}, {4360, 4208, 4864, 5376, 0, 0, 0}, {5228, 1542, 21845, 0, 0, 0, 0}, {1546, 13056, 5200, 0, 0, 0, 0}, {520, 4915, 4160, 1028, 0, 0, 0}, {1548, 4656, 21760, 0, 0, 0, 0}, {1032, 4128, 514, 5461, 0, 0, 0}, {382, 514, 1028, 4112, 0, 0, 0}, {4607, 4608, 5120, 0, 0, 0, 0}, {2560, 8704, 0, 0, 0, 0, 0}, {3, 64, 257, 0, 0, 0, 0}, {128, 514, 0, 0, 0, 0, 0}, {3, 1280, 4352, 0, 0, 0, 0}, {12, 516, 64, 1028, 0, 0, 0}, {15, 8789, 1285, 0, 0, 0, 0}, {12, 1542, 17408, 0, 0, 0, 0}, {15, 112, 519, 1280, 0, 0, 0}, {520, 8192, 0, 0, 0, 0, 0}, {3, 4437, 1285, 0, 0, 0, 0}, {8874, 2570, 0, 0, 0, 0, 0}, {3, 260, 4096, 0, 0, 0, 0}, {12, 1536, 17408, 0, 0, 0, 0}, {15, 112, 514, 1285, 0, 0, 0}, {12, 514, 64, 1028, 0, 0, 0}, {15, 8704, 1280, 0, 0, 0, 0}, {48, 528, 64, 4112, 0, 0, 0}, {2645, 51, 4369, 0, 0, 0, 0}, {48, 4626, 20480, 0, 0, 0, 0}, {76, 51, 531, 4352, 0, 0, 0}, {60, 8772, 5140, 0, 0, 0, 0}, {63, 533, 64, 5397, 0, 0, 0}, {76, 112, 534, 5120, 0, 0, 0}, {63, 5911, 21760, 0, 0, 0, 0}, {4680, 48, 20560, 0, 0, 0, 0}, {4377, 51, 4864, 4437, 0, 0, 0}, {538, 48, 64, 4096, 0, 0, 0}, {6939, 51, 4420, 0, 0, 0, 0}, {5148, 5152, 5632, 5200, 0, 0, 0}, {5960, 6007, 21845, 0, 0, 0, 0}, {60, 8738, 5188, 0, 0, 0, 0}, {543, 544, 64, 5376, 0, 0, 0}, {2048, 544, 0, 0, 0, 0, 0}, {3, 1365, 4369, 0, 0, 0, 0}, {2730, 8738, 0, 0, 0, 0, 0}, {3, 1024, 272, 0, 0, 0, 0}, {12, 1632, 17476, 0, 0, 0, 0}, {15, 1317, 1792, 1365, 0, 0, 0}, {12, 550, 64, 1024, 0, 0, 0}, {15, 10023, 1360, 0, 0, 0, 0}, {8840, 10280, 0, 0, 0, 0, 0}, {3, 277, 4096, 0, 0, 0, 0}, {554, 8192, 0, 0, 0, 0, 0}, {3, 4420, 5140, 0, 0, 0, 0}, {12, 544, 64, 1024, 0, 0, 0}, {15, 8738, 1365, 0, 0, 0, 0}, {12, 1638, 17476, 0, 0, 0, 0}, {15, 1312, 1792, 1360, 0, 0, 0}, {48, 4608, 20480, 0, 0, 0, 0}, {76, 51, 514, 4369, 0, 0, 0}, {48, 514, 64, 4112, 0, 0, 0}, {2560, 51, 4352, 0, 0, 0, 0}, {5128, 5172, 5632, 5188, 0, 0, 0}, {5983, 5984, 21845, 0, 0, 0, 0}, {60, 13878, 5200, 0, 0, 0, 0}, {520, 567, 64, 5376, 0, 0, 0}, {520, 48, 64, 4096, 0, 0, 0}, {2570, 51, 4437, 0, 0, 0, 0}, {4698, 48, 20560, 0, 0, 0, 0}, {4360, 51, 4864, 4420, 0, 0, 0}, {60, 8704, 5120, 0, 0, 0, 0}, {63, 514, 64, 5397, 0, 0, 0}, {76, 112, 514, 5140, 0, 0, 0}, {63, 5888, 21760, 0, 0, 0, 0}, {512, 64, 0, 0, 0, 0, 0}, {15, 51, 1285, 4369, 0, 0, 0}, {192, 16962, 0, 0, 0, 0, 0}, {67, 1280, 4352, 0, 0, 0, 0}, {204, 2560, 8772, 17476, 0, 0, 0}, {15, 48, 517, 64, 1285, 4112, 0}, {76, 582, 17408, 0, 0, 0, 0}, {15, 48, 4679, 1280, 0, 0, 0}, {16968, 24576, 0, 0, 0, 0, 0}, {4374, 4437, 1285, 0, 0, 0, 0}, {522, 8224, 64, 0, 0, 0, 0}, {15, 51, 4420, 1280, 0, 0, 0}, {76, 512, 17408, 0, 0, 0, 0}, {15, 48, 4626, 1285, 0, 0, 0}, {204, 2570, 8738, 17476, 0, 0, 0}, {15, 48, 512, 64, 1280, 4096, 0}, {240, 2640, 8704, 20560, 0, 0, 0}, {12, 51, 529, 64, 1028, 4369, 0}, {112, 594, 20480, 0, 0, 0, 0}, {12, 51, 1619, 4352, 0, 0, 0}, {12, 48, 532, 64, 1028, 4112, 0}, {255, 2645, 8789, 21845, 0, 0, 0}, {12, 48, 4694, 5120, 0, 0, 0}, {127, 599, 21760, 0, 0, 0, 0}, {600, 112, 20560, 0, 0, 0, 0}, {12, 51, 5888, 4437, 0, 0, 0}, {8794, 20480, 0, 0, 0, 0, 0}, {51, 4883, 4356, 0, 0, 0, 0}, {12, 48, 4608, 5200, 0, 0, 0}, {605, 546, 21845, 0, 0, 0, 0}, {12, 48, 530, 64, 1028, 4096, 0}, {255, 2655, 8704, 21760, 0, 0, 0}, {18432, 16992, 0, 0, 0, 0, 0}, {1302, 1365, 4369, 0, 0, 0, 0}, {2056, 546, 64, 0, 0, 0, 0}, {15, 51, 1360, 4352, 0, 0, 0}, {76, 612, 17476, 0, 0, 0, 0}, {15, 48, 5888, 1365, 0, 0, 0}, {204, 2662, 8806, 17408, 0, 0, 0}, {15, 48, 535, 64, 1296, 4112, 0}, {552, 8224, 64, 0, 0, 0, 0}, {15, 51, 4437, 5120, 0, 0, 0}, {17002, 24576, 0, 0, 0, 0, 0}, {4359, 4420, 5140, 0, 0, 0, 0}, {204, 2668, 8704, 17408, 0, 0, 0}, {15, 48, 530, 64, 1301, 4096, 0}, {76, 546, 17476, 0, 0, 0, 0}, {15, 48, 4608, 1360, 0, 0, 0}, {112, 512, 20480, 0, 0, 0, 0}, {12, 51, 1542, 4369, 0, 0, 0}, {240, 2570, 8738, 20560, 0, 0, 0}, {12, 51, 512, 64, 1024, 4352, 0}, {12, 48, 1536, 5188, 0, 0, 0}, {522, 629, 21845, 0, 0, 0, 0}, {12, 48, 518, 64, 1024, 4112, 0}, {255, 2560, 8823, 21760, 0, 0, 0}, {8824, 20480, 0, 0, 0, 0, 0}, {51, 4883, 4373, 0, 0, 0, 0}, {522, 112, 20560, 0, 0, 0, 0}, {12, 51, 1536, 4420, 0, 0, 0}, {12, 48, 512, 64, 1024, 4096, 0}, {255, 2570, 8738, 21845, 0, 0, 0}, {12, 48, 4626, 5140, 0, 0, 0}, {127, 512, 21760, 0, 0, 0, 0}, {128, 512, 0, 0, 0, 0, 0}, {3, 1285, 4369, 0, 0, 0, 0}, {2570, 8738, 0, 0, 0, 0, 0}, {3, 64, 256, 0, 0, 0, 0}, {12, 1536, 17476, 0, 0, 0, 0}, {15, 112, 517, 1285, 0, 0, 0}, {12, 518, 64, 1024, 0, 0, 0}, {15, 8823, 1280, 0, 0, 0, 0}, {8840, 2560, 0, 0, 0, 0, 0}, {3, 261, 4112, 0, 0, 0, 0}, {522, 8224, 0, 0, 0, 0, 0}, {3, 4420, 1280, 0, 0, 0, 0}, {12, 512, 64, 1024, 0, 0, 0}, {15, 8738, 1285, 0, 0, 0, 0}, {12, 1542, 17476, 0, 0, 0, 0}, {15, 112, 512, 1280, 0, 0, 0}, {48, 4608, 20560, 0, 0, 0, 0}, {76, 51, 529, 4369, 0, 0, 0}, {48, 530, 64, 4096, 0, 0, 0}, {2655, 51, 4352, 0, 0, 0, 0}, {76, 112, 532, 5140, 0, 0, 0}, {63, 5888, 21845, 0, 0, 0, 0}, {60, 8806, 5120, 0, 0, 0, 0}, {63, 535, 64, 5376, 0, 0, 0}, {536, 48, 64, 4112, 0, 0, 0}, {6912, 51, 4437, 0, 0, 0, 0}, {4698, 48, 20480, 0, 0, 0, 0}, {4360, 51, 4883, 4420, 0, 0, 0}, {60, 8704, 5200, 0, 0, 0, 0}, {541, 546, 64, 5397, 0, 0, 0}, {5128, 5172, 5654, 5188, 0, 0, 0}, {5983, 5984, 21760, 0, 0, 0, 0}, {2720, 8704, 0, 0, 0, 0, 0}, {3, 1028, 273, 0, 0, 0, 0}, {2056, 546, 0, 0, 0, 0, 0}, {3, 1360, 4352, 0, 0, 0, 0}, {12, 548, 64, 1028, 0, 0, 0}, {15, 9984, 1365, 0, 0, 0, 0}, {12, 1638, 17408, 0, 0, 0, 0}, {15, 1312, 1799, 1360, 0, 0, 0}, {552, 8224, 0, 0, 0, 0, 0}, {3, 4437, 5120, 0, 0, 0, 0}, {8874, 10240, 0, 0, 0, 0, 0}, {3, 276, 4112, 0, 0, 0, 0}, {12, 1632, 17408, 0, 0, 0, 0}, {15, 1317, 1799, 1365, 0, 0, 0}, {12, 546, 64, 1028, 0, 0, 0}, {15, 8704, 1360, 0, 0, 0, 0}, {48, 512, 64, 4096, 0, 0, 0}, {2570, 51, 4369, 0, 0, 0, 0}, {48, 4626, 20560, 0, 0, 0, 0}, {76, 51, 512, 4352, 0, 0, 0}, {60, 13824, 5188, 0, 0, 0, 0}, {522, 565, 64, 5397, 0, 0, 0}, {5148, 5152, 5654, 5200, 0, 0, 0}, {5960, 6007, 21760, 0, 0, 0, 0}, {4680, 48, 20480, 0, 0, 0, 0}, {4377, 51, 4883, 4437, 0, 0, 0}, {522, 48, 64, 4112, 0, 0, 0}, {2560, 51, 4420, 0, 0, 0, 0}, {76, 112, 512, 5120, 0, 0, 0}, {63, 5911, 21845, 0, 0, 0, 0}, {60, 8738, 5140, 0, 0, 0, 0}, {63, 512, 64, 5376, 0, 0, 0}, {192, 16896, 0, 0, 0, 0, 0}, {67, 1285, 4369, 0, 0, 0, 0}, {514, 64, 0, 0, 0, 0, 0}, {15, 51, 1280, 4352, 0, 0, 0}, {76, 580, 17476, 0, 0, 0, 0}, {15, 48, 4693, 1285, 0, 0, 0}, {204, 2570, 8806, 17408, 0, 0, 0}, {15, 48, 519, 64, 1280, 4096, 0}, {520, 8192, 64, 0, 0, 0, 0}, {15, 51, 4437, 1285, 0, 0, 0}, {16906, 24672, 0, 0, 0, 0, 0}, {4359, 4420, 1280, 0, 0, 0, 0}, {204, 2560, 8704, 17408, 0, 0, 0}, {15, 48, 514, 64, 1285, 4112, 0}, {76, 514, 17476, 0, 0, 0, 0}, {15, 48, 4608, 1280, 0, 0, 0}, {112, 592, 20560, 0, 0, 0, 0}, {12, 51, 1621, 4369, 0, 0, 0}, {240, 2650, 8738, 20480, 0, 0, 0}, {12, 51, 531, 64, 1024, 4352, 0}, {12, 48, 4676, 5140, 0, 0, 0}, {127, 597, 21845, 0, 0, 0, 0}, {12, 48, 534, 64, 1024, 4096, 0}, {255, 2655, 8823, 21760, 0, 0, 0}, {8824, 20560, 0, 0, 0, 0, 0}, {51, 4864, 4373, 0, 0, 0, 0}, {602, 112, 20480, 0, 0, 0, 0}, {12, 51, 5911, 4420, 0, 0, 0}, {12, 48, 528, 64, 1024, 4112, 0}, {255, 2645, 8738, 21845, 0, 0, 0}, {12, 48, 4626, 5188, 0, 0, 0}, {607, 544, 21760, 0, 0, 0, 0}, {2048, 544, 64, 0, 0, 0, 0}, {15, 51, 1365, 4369, 0, 0, 0}, {18504, 16930, 0, 0, 0, 0, 0}, {1299, 1360, 4352, 0, 0, 0, 0}, {204, 2668, 8772, 17476, 0, 0, 0}, {15, 48, 533, 64, 1301, 4096, 0}, {76, 614, 17408, 0, 0, 0, 0}, {15, 48, 5911, 1360, 0, 0, 0}, {16936, 24672, 0, 0, 0, 0, 0}, {4374, 4437, 5120, 0, 0, 0, 0}, {554, 8192, 64, 0, 0, 0, 0}, {15, 51, 4420, 5140, 0, 0, 0}, {76, 544, 17408, 0, 0, 0, 0}, {15, 48, 4626, 1365, 0, 0, 0}, {204, 2662, 8738, 17476, 0, 0, 0}, {15, 48, 528, 64, 1296, 4112, 0}, {240, 2560, 8704, 20480, 0, 0, 0}, {12, 51, 514, 64, 1028, 4369, 0}, {112, 514, 20560, 0, 0, 0, 0}, {12, 51, 1536, 4352, 0, 0, 0}, {12, 48, 516, 64, 1028, 4096, 0}, {255, 2570, 8789, 21845, 0, 0, 0}, {12, 48, 1542, 5200, 0, 0, 0}, {520, 631, 21760, 0, 0, 0, 0}, {520, 112, 20480, 0, 0, 0, 0}, {12, 51, 1542, 4437, 0, 0, 0}, {8794, 20560, 0, 0, 0, 0, 0}, {51, 4864, 4356, 0, 0, 0, 0}, {12, 48, 4608, 5120, 0, 0, 0}, {127, 514, 21845, 0, 0, 0, 0}, {12, 48, 514, 64, 1028, 4112, 0}, {255, 2560, 8704, 21760, 0, 0, 0}, {768, 16384, 0, 0, 0, 0, 0}, {10, 34, 257, 0, 0, 0, 0}, {258, 1280, 4352, 0, 0, 0, 0}, {16576, 771, 0, 0, 0, 0, 0}, {780, 13124, 1028, 0, 0, 0, 0}, {10, 773, 4176, 1285, 0, 0, 0}, {10, 4192, 774, 1280, 0, 0, 0}, {1032, 1799, 17408, 0, 0, 0, 0}, {1032, 768, 17408, 0, 0, 0, 0}, {10, 4144, 771, 1285, 0, 0, 0}, {10, 768, 1280, 4096, 0, 0, 0}, {136, 771, 1028, 0, 0, 0, 0}, {780, 28672, 0, 0, 0, 0, 0}, {263, 4437, 1285, 0, 0, 0, 0}, {34, 514, 260, 0, 0, 0, 0}, {783, 16384, 0, 0, 0, 0, 0}, {3920, 816, 4112, 0, 0, 0, 0}, {34, 785, 1092, 4369, 0, 0, 0}, {1096, 34, 786, 4352, 0, 0, 0}, {4128, 4883, 20480, 0, 0, 0, 0}, {40, 788, 4176, 5140, 0, 0, 0}, {831, 13141, 5397, 0, 0, 0, 0}, {5418, 5654, 21760, 0, 0, 0, 0}, {4168, 4192, 791, 5120, 0, 0, 0}, {4120, 4144, 4864, 5200, 0, 0, 0}, {5708, 819, 21845, 0, 0, 0, 0}, {6682, 816, 5440, 0, 0, 0, 0}, {795, 819, 1092, 4096, 0, 0, 0}, {4940, 4208, 20560, 0, 0, 0, 0}, {5405, 34, 5632, 4437, 0, 0, 0}, {798, 34, 4420, 5376, 0, 0, 0}, {831, 8224, 4160, 0, 0, 0, 0}, {4128, 768, 20480, 0, 0, 0, 0}, {1036, 34, 771, 4369, 0, 0, 0}, {34, 768, 1024, 4352, 0, 0, 0}, {160, 771, 4112, 0, 0, 0, 0}, {1036, 1060, 1792, 5188, 0, 0, 0}, {783, 5744, 21845, 0, 0, 0, 0}, {780, 9766, 5440, 0, 0, 0, 0}, {783, 807, 4176, 1024, 0, 0, 0}, {40, 768, 1024, 4096, 0, 0, 0}, {170, 771, 5397, 0, 0, 0, 0}, {5418, 768, 21760, 0, 0, 0, 0}, {4120, 4144, 771, 5140, 0, 0, 0}, {780, 8224, 4160, 0, 0, 0, 0}, {783, 34, 4437, 1024, 0, 0, 0}, {1036, 34, 1792, 4420, 0, 0, 0}, {783, 4208, 20560, 0, 0, 0, 0}, {19456, 816, 0, 0, 0, 0, 0}, {275, 1365, 4369, 0, 0, 0, 0}, {10, 514, 272, 0, 0, 0, 0}, {819, 16384, 0, 0, 0, 0, 0}, {1100, 1904, 17476, 0, 0, 0, 0}, {10, 5429, 5632, 1365, 0, 0, 0}, {10, 822, 4176, 5376, 0, 0, 0}, {831, 14135, 1088, 0, 0, 0, 0}, {2056, 816, 1088, 0, 0, 0, 0}, {10, 819, 1365, 4096, 0, 0, 0}, {10, 4144, 4864, 1360, 0, 0, 0}, {1100, 819, 17476, 0, 0, 0, 0}, {828, 16384, 0, 0, 0, 0, 0}, {34, 514, 277, 0, 0, 0, 0}, {278, 4420, 5140, 0, 0, 0, 0}, {831, 28672, 0, 0, 0, 0, 0}, {960, 3840, 13056, 16448, 0, 0, 0}, {10, 34, 512, 321, 1285, 4369, 0}, {322, 1280, 4352, 0, 0, 0, 0}, {16512, 17219, 0, 0, 0, 0, 0}, {1792, 1092, 0, 0, 0, 0, 0}, {10, 869, 1285, 4112, 0, 0, 0}, {10, 4128, 4934, 1280, 0, 0, 0}, {1096, 839, 17408, 0, 0, 0, 0}, {1096, 1792, 17408, 0, 0, 0, 0}, {10, 4208, 4883, 1285, 0, 0, 0}, {10, 4896, 4160, 1280, 0, 0, 0}, {1807, 13107, 1092, 0, 0, 0, 0}, {17228, 12288, 0, 0, 0, 0, 0}, {4114, 4437, 1285, 0, 0, 0, 0}, {10, 34, 512, 324, 1280, 4096, 0}, {975, 3855, 12336, 16448, 0, 0, 0}, {4864, 4176, 0, 0, 0, 0, 0}, {857, 34, 1028, 4369, 0, 0, 0}, {1032, 34, 1874, 4352, 0, 0, 0}, {4192, 851, 20480, 0, 0, 0, 0}, {860, 884, 1028, 4112, 0, 0, 0}, {5632, 5461, 0, 0, 0, 0, 0}, {5482, 854, 21760, 0, 0, 0, 0}, {4104, 4128, 4951, 5120, 0, 0, 0}, {1032, 1056, 5888, 5200, 0, 0, 0}, {857, 5734, 21845, 0, 0, 0, 0}, {858, 13056, 5376, 0, 0, 0, 0}, {40, 4883, 4160, 1028, 0, 0, 0}, {860, 4144, 20560, 0, 0, 0, 0}, {1032, 34, 4608, 4437, 0, 0, 0}, {34, 4626, 4420, 1028, 0, 0, 0}, {863, 4096, 0, 0, 0, 0, 0}, {4192, 4864, 20480, 0, 0, 0, 0}, {1100, 34, 1799, 4369, 0, 0, 0}, {1800, 34, 1088, 4352, 0, 0, 0}, {3855, 4915, 4176, 0, 0, 0, 0}, {4104, 4128, 5888, 5188, 0, 0, 0}, {5722, 869, 21845, 0, 0, 0, 0}, {870, 5376, 0, 0, 0, 0, 0}, {40, 1799, 1088, 4112, 0, 0, 0}, {4872, 4896, 4160, 5120, 0, 0, 0}, {5692, 13107, 5461, 0, 0, 0, 0}, {5482, 5632, 21760, 0, 0, 0, 0}, {4184, 4208, 4883, 5140, 0, 0, 0}, {876, 4096, 0, 0, 0, 0, 0}, {34, 4626, 4437, 5397, 0, 0, 0}, {5384, 34, 4608, 4420, 0, 0, 0}, {4959, 4144, 20560, 0, 0, 0, 0}, {3072, 17264, 0, 0, 0, 0, 0}, {1030, 1365, 4369, 0, 0, 0, 0}, {10, 34, 512, 336, 1024, 4352, 0}, {1011, 3084, 13107, 16448, 0, 0, 0}, {1036, 884, 17476, 0, 0, 0, 0}, {10, 4128, 1536, 1365, 0, 0, 0}, {10, 1542, 1360, 4112, 0, 0, 0}, {887, 1024, 0, 0, 0, 0, 0}, {888, 13056, 1024, 0, 0, 0, 0}, {10, 4883, 4160, 5397, 0, 0, 0}, {10, 5408, 1536, 1360, 0, 0, 0}, {1036, 1911, 17476, 0, 0, 0, 0}, {1020, 3084, 12336, 16448, 0, 0, 0}, {10, 34, 512, 341, 1024, 4096, 0}, {4114, 4420, 5140, 0, 0, 0, 0}, {17279, 12288, 0, 0, 0, 0, 0}, {16512, 768, 0, 0, 0, 0, 0}, {259, 1285, 4369, 0, 0, 0, 0}, {10, 34, 256, 0, 0, 0, 0}, {771, 16448, 0, 0, 0, 0, 0}, {1036, 1792, 17476, 0, 0, 0, 0}, {10, 4208, 773, 1285, 0, 0, 0}, {10, 774, 4160, 1280, 0, 0, 0}, {783, 13175, 1024, 0, 0, 0, 0}, {136, 768, 1024, 0, 0, 0, 0}, {10, 771, 1285, 4112, 0, 0, 0}, {10, 4128, 768, 1280, 0, 0, 0}, {1036, 771, 17476, 0, 0, 0, 0}, {780, 16448, 0, 0, 0, 0, 0}, {34, 512, 261, 0, 0, 0, 0}, {262, 4420, 1280, 0, 0, 0, 0}, {783, 28784, 0, 0, 0, 0, 0}, {4144, 4864, 20560, 0, 0, 0, 0}, {1100, 34, 785, 4369, 0, 0, 0}, {34, 786, 1088, 4352, 0, 0, 0}, {3935, 819, 4096, 0, 0, 0, 0}, {4184, 4208, 788, 5140, 0, 0, 0}, {5439, 5632, 21845, 0, 0, 0, 0}, {828, 13158, 5376, 0, 0, 0, 0}, {40, 791, 4160, 5120, 0, 0, 0}, {792, 816, 1088, 4112, 0, 0, 0}, {6656, 819, 5461, 0, 0, 0, 0}, {5722, 816, 21760, 0, 0, 0, 0}, {4104, 4128, 4883, 5188, 0, 0, 0}, {828, 8192, 4176, 0, 0, 0, 0}, {797, 34, 4437, 5397, 0, 0, 0}, {5384, 34, 5654, 4420, 0, 0, 0}, {4959, 4192, 20480, 0, 0, 0, 0}, {160, 768, 4096, 0, 0, 0, 0}, {34, 771, 1028, 4369, 0, 0, 0}, {1032, 34, 768, 4352, 0, 0, 0}, {4144, 771, 20560, 0, 0, 0, 0}, {780, 804, 4160, 1028, 0, 0, 0}, {783, 9728, 5461, 0, 0, 0, 0}, {780, 5734, 21760, 0, 0, 0, 0}, {1032, 1056, 1799, 5200, 0, 0, 0}, {4104, 4128, 768, 5120, 0, 0, 0}, {5439, 771, 21845, 0, 0, 0, 0}, {170, 768, 5376, 0, 0, 0, 0}, {40, 771, 1028, 4112, 0, 0, 0}, {780, 4192, 20480, 0, 0, 0, 0}, {1032, 34, 1799, 4437, 0, 0, 0}, {780, 34, 4420, 1028, 0, 0, 0}, {783, 8192, 4176, 0, 0, 0, 0}, {816, 16448, 0, 0, 0, 0, 0}, {10, 512, 273, 0, 0, 0, 0}, {274, 1360, 4352, 0, 0, 0, 0}, {19532, 819, 0, 0, 0, 0, 0}, {828, 14080, 1092, 0, 0, 0, 0}, {10, 821, 4160, 5397, 0, 0, 0}, {10, 5408, 5654, 1360, 0, 0, 0}, {1096, 1911, 17408, 0, 0, 0, 0}, {1096, 816, 17408, 0, 0, 0, 0}, {10, 4128, 4883, 1365, 0, 0, 0}, {10, 816, 1360, 4112, 0, 0, 0}, {2048, 819, 1092, 0, 0, 0, 0}, {828, 28784, 0, 0, 0, 0, 0}, {279, 4437, 5120, 0, 0, 0, 0}, {34, 512, 276, 0, 0, 0, 0}, {831, 16448, 0, 0, 0, 0, 0}, {16576, 17152, 0, 0, 0, 0, 0}, {323, 1285, 4369, 0, 0, 0, 0}, {10, 34, 514, 320, 1280, 4352, 0}, {963, 3855, 13107, 16384, 0, 0, 0}, {1100, 836, 17476, 0, 0, 0, 0}, {10, 4144, 4949, 1285, 0, 0, 0}, {10, 870, 1280, 4096, 0, 0, 0}, {1799, 1088, 0, 0, 0, 0, 0}, {1800, 13056, 1088, 0, 0, 0, 0}, {10, 4915, 4176, 1285, 0, 0, 0}, {10, 4192, 4864, 1280, 0, 0, 0}, {1100, 1799, 17476, 0, 0, 0, 0}, {972, 3840, 12288, 16384, 0, 0, 0}, {10, 34, 514, 325, 1285, 4112, 0}, {4098, 4420, 1280, 0, 0, 0, 0}, {17167, 12336, 0, 0, 0, 0, 0}, {4208, 848, 20560, 0, 0, 0, 0}, {1036, 34, 1877, 4369, 0, 0, 0}, {858, 34, 1024, 4352, 0, 0, 0}, {4883, 4160, 0, 0, 0, 0, 0}, {4120, 4144, 4932, 5140, 0, 0, 0}, {5503, 853, 21845, 0, 0, 0, 0}, {5654, 5440, 0, 0, 0, 0, 0}, {863, 887, 1024, 4096, 0, 0, 0}, {40, 4864, 4176, 1024, 0, 0, 0}, {857, 13107, 5397, 0, 0, 0, 0}, {858, 5744, 21760, 0, 0, 0, 0}, {1036, 1060, 5911, 5188, 0, 0, 0}, {860, 4112, 0, 0, 0, 0, 0}, {34, 4608, 4437, 1024, 0, 0, 0}, {1036, 34, 4626, 4420, 0, 0, 0}, {863, 4128, 20480, 0, 0, 0, 0}, {3840, 4896, 4160, 0, 0, 0, 0}, {1807, 34, 1092, 4369, 0, 0, 0}, {1096, 34, 1792, 4352, 0, 0, 0}, {4208, 4883, 20560, 0, 0, 0, 0}, {40, 1792, 1092, 4096, 0, 0, 0}, {869, 5397, 0, 0, 0, 0, 0}, {5708, 870, 21760, 0, 0, 0, 0}, {4120, 4144, 5911, 5200, 0, 0, 0}, {4168, 4192, 4864, 5120, 0, 0, 0}, {5503, 5654, 21845, 0, 0, 0, 0}, {5674, 13056, 5440, 0, 0, 0, 0}, {4891, 4915, 4176, 5140, 0, 0, 0}, {4940, 4128, 20480, 0, 0, 0, 0}, {5405, 34, 4626, 4437, 0, 0, 0}, {34, 4608, 4420, 5376, 0, 0, 0}, {879, 4112, 0, 0, 0, 0, 0}, {1008, 3072, 13056, 16384, 0, 0, 0}, {10, 34, 514, 337, 1028, 4369, 0}, {1026, 1360, 4352, 0, 0, 0, 0}, {3084, 17203, 0, 0, 0, 0, 0}, {884, 1028, 0, 0, 0, 0, 0}, {10, 1536, 1365, 4096, 0, 0, 0}, {10, 4144, 1542, 1360, 0, 0, 0}, {1032, 887, 17408, 0, 0, 0, 0}, {1032, 1904, 17408, 0, 0, 0, 0}, {10, 5429, 1542, 1365, 0, 0, 0}, {10, 4864, 4176, 5376, 0, 0, 0}, {891, 13107, 1028, 0, 0, 0, 0}, {17212, 12336, 0, 0, 0, 0, 0}, {4098, 4437, 5120, 0, 0, 0, 0}, {10, 34, 514, 340, 1028, 4112, 0}, {1023, 3072, 12288, 16384, 0, 0, 0}, {3072, 17408, 0, 0, 0, 0, 0}, {32, 5, 257, 0, 0, 0, 0}, {1026, 16384, 0, 0, 0, 0, 0}, {15, 17459, 771, 0, 0, 0, 0}, {128, 1028, 0, 0, 0, 0, 0}, {768, 5, 4352, 0, 0, 0, 0}, {10, 17510, 1542, 0, 0, 0, 0}, {1031, 16384, 0, 0, 0, 0, 0}, {1032, 16384, 0, 0, 0, 0, 0}, {4403, 771, 5, 0, 0, 0, 0}, {10, 1536, 17408, 0, 0, 0, 0}, {15, 112, 771, 1028, 0, 0, 0}, {17612, 3084, 0, 0, 0, 0, 0}, {258, 5, 4096, 0, 0, 0, 0}, {10, 32, 514, 1028, 0, 0, 0}, {15, 768, 17408, 0, 0, 0, 0}, {32, 80, 1040, 4112, 0, 0, 0}, {3123, 85, 4369, 0, 0, 0, 0}, {90, 17442, 4626, 0, 0, 0, 0}, {1043, 16384, 0, 0, 0, 0, 0}, {12288, 80, 5140, 0, 0, 0, 0}, {42, 85, 1045, 4352, 0, 0, 0}, {1046, 16384, 0, 0, 0, 0, 0}, {95, 17527, 5911, 0, 0, 0, 0}, {5160, 12336, 80, 0, 0, 0, 0}, {4377, 4403, 85, 5376, 0, 0, 0}, {1050, 1072, 5632, 1088, 0, 0, 0}, {95, 6007, 17476, 0, 0, 0, 0}, {1052, 32, 80, 4096, 0, 0, 0}, {7453, 4386, 85, 0, 0, 0, 0}, {90, 4642, 17476, 0, 0, 0, 0}, {1055, 32, 4864, 1088, 0, 0, 0}, {32, 1024, 0, 0, 0, 0, 0}, {15, 771, 85, 4369, 0, 0, 0}, {3072, 17442, 0, 0, 0, 0, 0}, {1027, 80, 4112, 0, 0, 0, 0}, {160, 3084, 9252, 17476, 0, 0, 0}, {15, 37, 768, 85, 1024, 4352, 0}, {1036, 1062, 16448, 0, 0, 0, 0}, {15, 5159, 768, 80, 0, 0, 0}, {17448, 24576, 0, 0, 0, 0, 0}, {4374, 85, 5397, 0, 0, 0, 0}, {42, 8704, 1024, 0, 0, 0, 0}, {15, 771, 80, 5140, 0, 0, 0}, {1036, 32, 16448, 0, 0, 0, 0}, {15, 4386, 768, 85, 0, 0, 0}, {170, 3084, 8738, 17476, 0, 0, 0}, {15, 32, 768, 80, 1024, 4096, 0}, {240, 3120, 12336, 17408, 0, 0, 0}, {10, 32, 514, 85, 1041, 4369, 0}, {1042, 80, 4112, 0, 0, 0, 0}, {18432, 17459, 0, 0, 0, 0, 0}, {2056, 1076, 1092, 0, 0, 0, 0}, {10, 1589, 85, 4352, 0, 0, 0}, {10, 5174, 4608, 80, 0, 0, 0}, {1096, 1079, 16448, 0, 0, 0, 0}, {1096, 112, 16448, 0, 0, 0, 0}, {10, 4403, 5888, 85, 0, 0, 0}, {10, 4656, 80, 5120, 0, 0, 0}, {1083, 13107, 1092, 0, 0, 0, 0}, {17468, 12288, 0, 0, 0, 0, 0}, {4354, 85, 5397, 0, 0, 0, 0}, {10, 32, 514, 80, 1044, 4096, 0}, {255, 3135, 13056, 17408, 0, 0, 0}, {2048, 1088, 0, 0, 0, 0, 0}, {819, 5, 4369, 0, 0, 0, 0}, {10, 17442, 16962, 0, 0, 0, 0}, {1091, 16384, 0, 0, 0, 0, 0}, {3276, 17476, 0, 0, 0, 0, 0}, {512, 5, 272, 0, 0, 0, 0}, {1094, 16384, 0, 0, 0, 0, 0}, {15, 17527, 18247, 0, 0, 0, 0}, {17544, 18504, 0, 0, 0, 0, 0}, {275, 5, 4096, 0, 0, 0, 0}, {10, 32, 512, 1088, 0, 0, 0}, {15, 819, 17476, 0, 0, 0, 0}, {1100, 16384, 0, 0, 0, 0, 0}, {4386, 4626, 5, 0, 0, 0, 0}, {10, 1638, 17476, 0, 0, 0, 0}, {15, 1072, 1792, 1088, 0, 0, 0}, {12288, 80, 5120, 0, 0, 0, 0}, {42, 85, 1028, 4369, 0, 0, 0}, {1106, 16384, 0, 0, 0, 0, 0}, {95, 17459, 21331, 0, 0, 0, 0}, {32, 80, 1028, 4112, 0, 0, 0}, {3072, 85, 4352, 0, 0, 0, 0}, {90, 17510, 22102, 0, 0, 0, 0}, {1111, 16384, 0, 0, 0, 0, 0}, {1032, 32, 80, 4096, 0, 0, 0}, {3084, 4403, 85, 0, 0, 0, 0}, {90, 4608, 17408, 0, 0, 0, 0}, {95, 32, 4883, 1028, 0, 0, 0}, {5180, 12336, 80, 0, 0, 0, 0}, {4360, 4386, 85, 5376, 0, 0, 0}, {90, 112, 4626, 1028, 0, 0, 0}, {95, 5888, 17408, 0, 0, 0, 0}, {160, 3168, 9312, 17408, 0, 0, 0}, {15, 37, 790, 85, 1041, 4369, 0}, {1096, 1122, 16448, 0, 0, 0, 0}, {15, 5171, 5888, 80, 0, 0, 0}, {2056, 32, 1092, 0, 0, 0, 0}, {15, 816, 85, 4352, 0, 0, 0}, {18432, 17510, 0, 0, 0, 0, 0}, {1047, 80, 4112, 0, 0, 0, 0}, {1096, 32, 16448, 0, 0, 0, 0}, {15, 4403, 4608, 85, 0, 0, 0}, {170, 3178, 8704, 17408, 0, 0, 0}, {15, 32, 787, 80, 1044, 4096, 0}, {17516, 24576, 0, 0, 0, 0, 0}, {4359, 85, 5397, 0, 0, 0, 0}, {42, 8738, 1092, 0, 0, 0, 0}, {15, 816, 80, 5120, 0, 0, 0}, {112, 1024, 0, 0, 0, 0, 0}, {10, 1542, 85, 4369, 0, 0, 0}, {10, 5154, 1536, 80, 0, 0, 0}, {1036, 1139, 16448, 0, 0, 0, 0}, {240, 3084, 12336, 17476, 0, 0, 0}, {10, 32, 512, 85, 1024, 4352, 0}, {1030, 80, 4112, 0, 0, 0, 0}, {3072, 17527, 0, 0, 0, 0, 0}, {17528, 12288, 0, 0, 0, 0, 0}, {4371, 85, 5397, 0, 0, 0, 0}, {10, 32, 512, 80, 1024, 4096, 0}, {255, 3084, 13107, 17476, 0, 0, 0}, {1036, 112, 16448, 0, 0, 0, 0}, {10, 4386, 1536, 85, 0, 0, 0}, {10, 4626, 80, 5140, 0, 0, 0}, {127, 13056, 1024, 0, 0, 0, 0}, {128, 1024, 0, 0, 0, 0, 0}, {771, 5, 4369, 0, 0, 0, 0}, {10, 17442, 1536, 0, 0, 0, 0}, {1027, 16448, 0, 0, 0, 0, 0}, {3084, 17476, 0, 0, 0, 0, 0}, {32, 5, 256, 0, 0, 0, 0}, {1030, 16448, 0, 0, 0, 0, 0}, {15, 17527, 768, 0, 0, 0, 0}, {17544, 3072, 0, 0, 0, 0, 0}, {259, 5, 4112, 0, 0, 0, 0}, {10, 32, 512, 1024, 0, 0, 0}, {15, 771, 17476, 0, 0, 0, 0}, {1036, 16448, 0, 0, 0, 0, 0}, {4386, 768, 5, 0, 0, 0, 0}, {10, 1542, 17476, 0, 0, 0, 0}, {15, 112, 768, 1024, 0, 0, 0}, {12336, 80, 5120, 0, 0, 0, 0}, {42, 85, 1041, 4369, 0, 0, 0}, {1042, 16448, 0, 0, 0, 0, 0}, {95, 17459, 5888, 0, 0, 0, 0}, {32, 80, 1044, 4096, 0, 0, 0}, {3135, 85, 4352, 0, 0, 0, 0}, {90, 17510, 4608, 0, 0, 0, 0}, {1047, 16448, 0, 0, 0, 0, 0}, {1048, 32, 80, 4112, 0, 0, 0}, {7424, 4403, 85, 0, 0, 0, 0}, {90, 4656, 17408, 0, 0, 0, 0}, {1051, 32, 4883, 1092, 0, 0, 0}, {5180, 12288, 80, 0, 0, 0, 0}, {4360, 4386, 85, 5397, 0, 0, 0}, {1054, 1076, 5654, 1092, 0, 0, 0}, {95, 5984, 17408, 0, 0, 0, 0}, {160, 3072, 9216, 17408, 0, 0, 0}, {15, 37, 771, 85, 1028, 4369, 0}, {1032, 1058, 16384, 0, 0, 0, 0}, {15, 5171, 771, 80, 0, 0, 0}, {32, 1028, 0, 0, 0, 0, 0}, {15, 768, 85, 4352, 0, 0, 0}, {3084, 17510, 0, 0, 0, 0, 0}, {1031, 80, 4096, 0, 0, 0, 0}, {1032, 32, 16384, 0, 0, 0, 0}, {15, 4403, 771, 85, 0, 0, 0}, {170, 3072, 8704, 17408, 0, 0, 0}, {15, 32, 771, 80, 1028, 4112, 0}, {17516, 24672, 0, 0, 0, 0, 0}, {4359, 85, 5376, 0, 0, 0, 0}, {42, 8738, 1028, 0, 0, 0, 0}, {15, 768, 80, 5120, 0, 0, 0}, {2048, 1072, 1088, 0, 0, 0, 0}, {10, 1587, 85, 4369, 0, 0, 0}, {10, 5154, 4626, 80, 0, 0, 0}, {1100, 1075, 16384, 0, 0, 0, 0}, {240, 3132, 12288, 17476, 0, 0, 0}, {10, 32, 512, 85, 1045, 4352, 0}, {1046, 80, 4096, 0, 0, 0, 0}, {18504, 17527, 0, 0, 0, 0, 0}, {17528, 12336, 0, 0, 0, 0, 0}, {4371, 85, 5376, 0, 0, 0, 0}, {10, 32, 512, 80, 1040, 4112, 0}, {255, 3123, 13107, 17476, 0, 0, 0}, {1100, 112, 16384, 0, 0, 0, 0}, {10, 4386, 5911, 85, 0, 0, 0}, {10, 4642, 80, 5140, 0, 0, 0}, {1087, 13056, 1088, 0, 0, 0, 0}, {3264, 17408, 0, 0, 0, 0, 0}, {514, 5, 273, 0, 0, 0, 0}, {1090, 16448, 0, 0, 0, 0, 0}, {15, 17459, 18176, 0, 0, 0, 0}, {2056, 1092, 0, 0, 0, 0, 0}, {816, 5, 4352, 0, 0, 0, 0}, {10, 17510, 16896, 0, 0, 0, 0}, {1095, 16448, 0, 0, 0, 0, 0}, {1096, 16448, 0, 0, 0, 0, 0}, {4403, 4608, 5, 0, 0, 0, 0}, {10, 1632, 17408, 0, 0, 0, 0}, {15, 1076, 1799, 1092, 0, 0, 0}, {17612, 18432, 0, 0, 0, 0, 0}, {274, 5, 4112, 0, 0, 0, 0}, {10, 32, 514, 1092, 0, 0, 0}, {15, 816, 17408, 0, 0, 0, 0}, {32, 80, 1024, 4096, 0, 0, 0}, {3084, 85, 4369, 0, 0, 0, 0}, {90, 17442, 22016, 0, 0, 0, 0}, {1107, 16448, 0, 0, 0, 0, 0}, {12336, 80, 5140, 0, 0, 0, 0}, {42, 85, 1024, 4352, 0, 0, 0}, {1110, 16448, 0, 0, 0, 0, 0}, {95, 17527, 21248, 0, 0, 0, 0}, {5160, 12288, 80, 0, 0, 0, 0}, {4377, 4403, 85, 5397, 0, 0, 0}, {90, 112, 4608, 1024, 0, 0, 0}, {95, 5911, 17476, 0, 0, 0, 0}, {1036, 32, 80, 4112, 0, 0, 0}, {3072, 4386, 85, 0, 0, 0, 0}, {90, 4626, 17476, 0, 0, 0, 0}, {95, 32, 4864, 1024, 0, 0, 0}, {2048, 32, 1088, 0, 0, 0, 0}, {15, 819, 85, 4369, 0, 0, 0}, {18504, 17442, 0, 0, 0, 0, 0}, {1043, 80, 4096, 0, 0, 0, 0}, {160, 3180, 9284, 17476, 0, 0, 0}, {15, 37, 789, 85, 1045, 4352, 0}, {1100, 1126, 16384, 0, 0, 0, 0}, {15, 5159, 5911, 80, 0, 0, 0}, {17448, 24672, 0, 0, 0, 0, 0}, {4374, 85, 5376, 0, 0, 0, 0}, {42, 8704, 1088, 0, 0, 0, 0}, {15, 819, 80, 5140, 0, 0, 0}, {1100, 32, 16384, 0, 0, 0, 0}, {15, 4386, 4626, 85, 0, 0, 0}, {170, 3174, 8738, 17476, 0, 0, 0}, {15, 32, 784, 80, 1040, 4112, 0}, {240, 3072, 12288, 17408, 0, 0, 0}, {10, 32, 514, 85, 1028, 4369, 0}, {1026, 80, 4096, 0, 0, 0, 0}, {3084, 17459, 0, 0, 0, 0, 0}, {112, 1028, 0, 0, 0, 0, 0}, {10, 1536, 85, 4352, 0, 0, 0}, {10, 5174, 1542, 80, 0, 0, 0}, {1032, 1143, 16384, 0, 0, 0, 0}, {1032, 112, 16384, 0, 0, 0, 0}, {10, 4403, 1542, 85, 0, 0, 0}, {10, 4608, 80, 5120, 0, 0, 0}, {127, 13107, 1028, 0, 0, 0, 0}, {17468, 12336, 0, 0, 0, 0, 0}, {4354, 85, 5376, 0, 0, 0, 0}, {10, 32, 514, 80, 1028, 4112, 0}, {255, 3072, 13056, 17408, 0, 0, 0}, {8192, 1280, 0, 0, 0, 0, 0}, {12, 68, 257, 0, 0, 0, 0}, {1290, 21794, 514, 0, 0, 0, 0}, {1283, 16384, 0, 0, 0, 0, 0}, {768, 260, 4352, 0, 0, 0, 0}, {8352, 1285, 0, 0, 0, 0, 0}, {1286, 16384, 0, 0, 0, 0, 0}, {1295, 21879, 1799, 0, 0, 0, 0}, {520, 8704, 1280, 0, 0, 0, 0}, {12, 771, 4176, 1285, 0, 0, 0}, {1290, 28672, 0, 0, 0, 0, 0}, {263, 68, 1028, 0, 0, 0, 0}, {12, 768, 1280, 4096, 0, 0, 0}, {136, 514, 1285, 0, 0, 0, 0}, {258, 68, 1028, 0, 0, 0, 0}, {1295, 8192, 0, 0, 0, 0, 0}, {3888, 1360, 4112, 0, 0, 0, 0}, {546, 68, 1297, 4369, 0, 0, 0}, {1298, 16384, 0, 0, 0, 0, 0}, {1375, 21811, 4883, 0, 0, 0, 0}, {552, 68, 1300, 4352, 0, 0, 0}, {12288, 4160, 5397, 0, 0, 0, 0}, {1370, 21862, 5654, 0, 0, 0, 0}, {1303, 16384, 0, 0, 0, 0, 0}, {4120, 4656, 4176, 5376, 0, 0, 0}, {5674, 13107, 1365, 0, 0, 0, 0}, {1370, 4208, 16448, 0, 0, 0, 0}, {1307, 4403, 5632, 68, 0, 0, 0}, {7196, 4896, 1360, 0, 0, 0, 0}, {1309, 546, 1365, 4096, 0, 0, 0}, {1310, 4386, 4864, 68, 0, 0, 0}, {1375, 4128, 16448, 0, 0, 0, 0}, {1440, 3840, 8224, 21760, 0, 0, 0}, {12, 289, 771, 68, 1024, 4369, 0}, {1314, 1792, 20480, 0, 0, 0, 0}, {12, 1379, 771, 4112, 0, 0, 0}, {12, 292, 768, 68, 1024, 4352, 0}, {1445, 3855, 9509, 21845, 0, 0, 0}, {12, 5414, 768, 4160, 0, 0, 0}, {1807, 1319, 20560, 0, 0, 0, 0}, {1320, 1792, 21760, 0, 0, 0, 0}, {12, 4208, 771, 5397, 0, 0, 0}, {9514, 20480, 0, 0, 0, 0, 0}, {4403, 771, 4116, 0, 0, 0, 0}, {12, 4128, 768, 5440, 0, 0, 0}, {1807, 546, 21845, 0, 0, 0, 0}, {12, 290, 768, 68, 1024, 4096, 0}, {1455, 3855, 8224, 20560, 0, 0, 0}, {4144, 5376, 0, 0, 0, 0, 0}, {1337, 514, 68, 4369, 0, 0, 0}, {72, 1394, 514, 4112, 0, 0, 0}, {1331, 5632, 20480, 0, 0, 0, 0}, {520, 1844, 68, 4352, 0, 0, 0}, {2570, 1333, 5461, 0, 0, 0, 0}, {5722, 1334, 20560, 0, 0, 0, 0}, {4104, 5431, 4608, 4160, 0, 0, 0}, {5384, 1328, 5888, 5440, 0, 0, 0}, {4959, 5734, 21845, 0, 0, 0, 0}, {1338, 12336, 4176, 0, 0, 0, 0}, {520, 4403, 68, 5120, 0, 0, 0}, {1340, 4864, 21760, 0, 0, 0, 0}, {72, 4128, 514, 5397, 0, 0, 0}, {4386, 514, 68, 5140, 0, 0, 0}, {1343, 4096, 0, 0, 0, 0, 0}, {12288, 4160, 1280, 0, 0, 0, 0}, {522, 68, 1285, 4369, 0, 0, 0}, {1346, 16384, 0, 0, 0, 0, 0}, {1295, 21811, 17219, 0, 0, 0, 0}, {512, 68, 1280, 4352, 0, 0, 0}, {192, 1285, 4112, 0, 0, 0, 0}, {1290, 21862, 17990, 0, 0, 0, 0}, {1351, 16384, 0, 0, 0, 0, 0}, {72, 512, 1280, 4096, 0, 0, 0}, {204, 4883, 1285, 0, 0, 0, 0}, {1290, 4128, 16448, 0, 0, 0, 0}, {1295, 4403, 512, 68, 0, 0, 0}, {4940, 13056, 1280, 0, 0, 0, 0}, {4120, 4626, 4176, 1285, 0, 0, 0}, {1290, 4386, 1792, 68, 0, 0, 0}, {1295, 4208, 16448, 0, 0, 0, 0}, {10752, 1360, 0, 0, 0, 0, 0}, {819, 277, 4369, 0, 0, 0, 0}, {1370, 21794, 21074, 0, 0, 0, 0}, {1363, 16384, 0, 0, 0, 0, 0}, {12, 1028, 272, 0, 0, 0, 0}, {8192, 1365, 0, 0, 0, 0, 0}, {1366, 16384, 0, 0, 0, 0, 0}, {1375, 21879, 22359, 0, 0, 0, 0}, {2056, 544, 1360, 0, 0, 0, 0}, {12, 819, 1365, 4096, 0, 0, 0}, {1370, 8192, 0, 0, 0, 0, 0}, {275, 68, 1028, 0, 0, 0, 0}, {12, 816, 4176, 5376, 0, 0, 0}, {554, 8738, 1365, 0, 0, 0, 0}, {278, 68, 1028, 0, 0, 0, 0}, {1375, 28672, 0, 0, 0, 0, 0}, {4192, 5376, 0, 0, 0, 0, 0}, {1325, 1799, 68, 4369, 0, 0, 0}, {4104, 1314, 5888, 4160, 0, 0, 0}, {4959, 1379, 20560, 0, 0, 0, 0}, {1800, 544, 68, 4352, 0, 0, 0}, {3855, 4144, 5461, 0, 0, 0, 0}, {1382, 4864, 20480, 0, 0, 0, 0}, {72, 1319, 1799, 4112, 0, 0, 0}, {5384, 4128, 4608, 5440, 0, 0, 0}, {5722, 4915, 21845, 0, 0, 0, 0}, {1386, 4096, 0, 0, 0, 0, 0}, {4403, 4883, 68, 5140, 0, 0, 0}, {1388, 5632, 21760, 0, 0, 0, 0}, {72, 4208, 4626, 5397, 0, 0, 0}, {4872, 4386, 68, 5120, 0, 0, 0}, {5439, 12336, 4176, 0, 0, 0, 0}, {1520, 2560, 9584, 21760, 0, 0, 0}, {12, 309, 518, 68, 1024, 4369, 0}, {522, 1394, 20560, 0, 0, 0, 0}, {12, 1331, 1536, 4160, 0, 0, 0}, {12, 304, 512, 68, 1024, 4352, 0}, {1525, 2570, 8224, 21845, 0, 0, 0}, {12, 1334, 1542, 4112, 0, 0, 0}, {1399, 512, 20480, 0, 0, 0, 0}, {1400, 512, 21760, 0, 0, 0, 0}, {12, 4128, 4883, 5397, 0, 0, 0}, {1530, 2570, 8224, 20560, 0, 0, 0}, {12, 307, 512, 68, 1024, 4096, 0}, {12, 1328, 1536, 5440, 0, 0, 0}, {522, 1911, 21845, 0, 0, 0, 0}, {4386, 4626, 4116, 0, 0, 0, 0}, {9599, 20480, 0, 0, 0, 0, 0}, {8320, 1280, 0, 0, 0, 0, 0}, {771, 261, 4369, 0, 0, 0, 0}, {1290, 21794, 1792, 0, 0, 0, 0}, {1283, 16448, 0, 0, 0, 0, 0}, {12, 68, 256, 0, 0, 0, 0}, {8224, 1285, 0, 0, 0, 0, 0}, {1286, 16448, 0, 0, 0, 0, 0}, {1295, 21879, 512, 0, 0, 0, 0}, {136, 512, 1280, 0, 0, 0, 0}, {12, 771, 1285, 4112, 0, 0, 0}, {1290, 8224, 0, 0, 0, 0, 0}, {259, 68, 1024, 0, 0, 0, 0}, {12, 768, 4160, 1280, 0, 0, 0}, {522, 8738, 1285, 0, 0, 0, 0}, {262, 68, 1024, 0, 0, 0, 0}, {1295, 28784, 0, 0, 0, 0, 0}, {12336, 4176, 5376, 0, 0, 0, 0}, {554, 68, 1297, 4369, 0, 0, 0}, {1298, 16448, 0, 0, 0, 0, 0}, {1375, 21811, 5632, 0, 0, 0, 0}, {544, 68, 1300, 4352, 0, 0, 0}, {3903, 1365, 4096, 0, 0, 0, 0}, {1370, 21862, 4864, 0, 0, 0, 0}, {1303, 16448, 0, 0, 0, 0, 0}, {1304, 544, 1360, 4112, 0, 0, 0}, {7168, 4915, 1365, 0, 0, 0, 0}, {1370, 4144, 16384, 0, 0, 0, 0}, {1307, 4403, 4883, 68, 0, 0, 0}, {5692, 13056, 1360, 0, 0, 0, 0}, {4104, 4642, 4160, 5397, 0, 0, 0}, {1310, 4386, 5654, 68, 0, 0, 0}, {1375, 4192, 16384, 0, 0, 0, 0}, {1440, 3840, 9472, 21760, 0, 0, 0}, {12, 293, 771, 68, 1028, 4369, 0}, {1800, 1314, 20480, 0, 0, 0, 0}, {12, 5427, 771, 4176, 0, 0, 0}, {12, 288, 768, 68, 1028, 4352, 0}, {1445, 3855, 8192, 21845, 0, 0, 0}, {12, 1382, 768, 4096, 0, 0, 0}, {1319, 1799, 20560, 0, 0, 0, 0}, {1800, 544, 21760, 0, 0, 0, 0}, {12, 4144, 771, 5461, 0, 0, 0}, {1450, 3840, 8192, 20480, 0, 0, 0}, {12, 291, 771, 68, 1028, 4112, 0}, {12, 4192, 768, 5376, 0, 0, 0}, {1325, 1799, 21845, 0, 0, 0, 0}, {4386, 768, 4100, 0, 0, 0, 0}, {9487, 20560, 0, 0, 0, 0, 0}, {2560, 1328, 5440, 0, 0, 0, 0}, {522, 1843, 68, 4369, 0, 0, 0}, {4120, 5410, 4626, 4176, 0, 0, 0}, {5708, 1331, 20480, 0, 0, 0, 0}, {1340, 512, 68, 4352, 0, 0, 0}, {4128, 5397, 0, 0, 0, 0, 0}, {1334, 5654, 20560, 0, 0, 0, 0}, {72, 1399, 512, 4096, 0, 0, 0}, {72, 4144, 512, 5376, 0, 0, 0}, {1337, 4883, 21845, 0, 0, 0, 0}, {1338, 4112, 0, 0, 0, 0, 0}, {4403, 512, 68, 5120, 0, 0, 0}, {4940, 5744, 21760, 0, 0, 0, 0}, {5405, 1333, 5911, 5461, 0, 0, 0}, {522, 4386, 68, 5140, 0, 0, 0}, {1343, 12288, 4160, 0, 0, 0, 0}, {192, 1280, 4096, 0, 0, 0, 0}, {514, 68, 1285, 4369, 0, 0, 0}, {1346, 16448, 0, 0, 0, 0, 0}, {1295, 21811, 17920, 0, 0, 0, 0}, {520, 68, 1280, 4352, 0, 0, 0}, {12336, 4176, 1285, 0, 0, 0, 0}, {1290, 21862, 17152, 0, 0, 0, 0}, {1351, 16448, 0, 0, 0, 0, 0}, {4104, 4608, 4160, 1280, 0, 0, 0}, {4959, 13107, 1285, 0, 0, 0, 0}, {1290, 4192, 16384, 0, 0, 0, 0}, {1295, 4403, 1799, 68, 0, 0, 0}, {204, 4864, 1280, 0, 0, 0, 0}, {72, 514, 1285, 4112, 0, 0, 0}, {1290, 4386, 514, 68, 0, 0, 0}, {1295, 4144, 16384, 0, 0, 0, 0}, {8224, 1360, 0, 0, 0, 0, 0}, {12, 1024, 273, 0, 0, 0, 0}, {1370, 21794, 22272, 0, 0, 0, 0}, {1363, 16448, 0, 0, 0, 0, 0}, {816, 276, 4352, 0, 0, 0, 0}, {10794, 1365, 0, 0, 0, 0, 0}, {1366, 16448, 0, 0, 0, 0, 0}, {1375, 21879, 20992, 0, 0, 0, 0}, {552, 8704, 1360, 0, 0, 0, 0}, {12, 819, 4160, 5397, 0, 0, 0}, {1370, 28784, 0, 0, 0, 0, 0}, {279, 68, 1024, 0, 0, 0, 0}, {12, 816, 1360, 4112, 0, 0, 0}, {2048, 546, 1365, 0, 0, 0, 0}, {274, 68, 1024, 0, 0, 0, 0}, {1375, 8224, 0, 0, 0, 0, 0}, {3840, 4128, 5440, 0, 0, 0, 0}, {1807, 546, 68, 4369, 0, 0, 0}, {72, 1314, 1792, 4096, 0, 0, 0}, {1379, 4883, 20560, 0, 0, 0, 0}, {1320, 1792, 68, 4352, 0, 0, 0}, {4208, 5397, 0, 0, 0, 0, 0}, {4940, 1382, 20480, 0, 0, 0, 0}, {4120, 1319, 5911, 4176, 0, 0, 0}, {72, 4192, 4608, 5376, 0, 0, 0}, {1385, 5654, 21845, 0, 0, 0, 0}, {5418, 12288, 4160, 0, 0, 0, 0}, {4891, 4403, 68, 5140, 0, 0, 0}, {5708, 4896, 21760, 0, 0, 0, 0}, {5405, 4144, 4626, 5461, 0, 0, 0}, {4386, 4864, 68, 5120, 0, 0, 0}, {1391, 4112, 0, 0, 0, 0, 0}, {1520, 2560, 8192, 21760, 0, 0, 0}, {12, 305, 514, 68, 1028, 4369, 0}, {1394, 514, 20560, 0, 0, 0, 0}, {12, 1331, 1536, 4096, 0, 0, 0}, {12, 308, 516, 68, 1028, 4352, 0}, {1525, 2570, 9557, 21845, 0, 0, 0}, {12, 1334, 1542, 4176, 0, 0, 0}, {520, 1399, 20480, 0, 0, 0, 0}, {520, 1904, 21760, 0, 0, 0, 0}, {12, 1333, 1542, 5461, 0, 0, 0}, {9562, 20560, 0, 0, 0, 0, 0}, {4403, 4608, 4100, 0, 0, 0, 0}, {12, 4144, 4864, 5376, 0, 0, 0}, {1405, 514, 21845, 0, 0, 0, 0}, {12, 306, 514, 68, 1028, 4112, 0}, {1535, 2560, 8192, 20480, 0, 0, 0}, {1536, 16384, 0, 0, 0, 0, 0}, {15, 119, 257, 0, 0, 0, 0}, {1032, 514, 17408, 0, 0, 0, 0}, {15, 4144, 771, 1280, 0, 0, 0}, {520, 8704, 1028, 0, 0, 0, 0}, {15, 768, 4176, 1285, 0, 0, 0}, {16576, 1542, 0, 0, 0, 0, 0}, {263, 1280, 4352, 0, 0, 0, 0}, {1032, 1536, 17408, 0, 0, 0, 0}, {15, 4192, 771, 1285, 0, 0, 0}, {1546, 16384, 0, 0, 0, 0, 0}, {4403, 771, 260, 0, 0, 0, 0}, {1548, 8192, 0, 0, 0, 0, 0}, {258, 4437, 1285, 0, 0, 0, 0}, {136, 514, 1028, 0, 0, 0, 0}, {15, 768, 1280, 4096, 0, 0, 0}, {2640, 1632, 4112, 0, 0, 0, 0}, {1075, 1553, 1092, 4369, 0, 0, 0}, {4168, 4144, 4626, 5120, 0, 0, 0}, {5503, 4883, 21760, 0, 0, 0, 0}, {4136, 4608, 4176, 5140, 0, 0, 0}, {4991, 13056, 5397, 0, 0, 0, 0}, {4208, 5654, 20480, 0, 0, 0, 0}, {1096, 119, 1559, 4352, 0, 0, 0}, {4120, 1072, 5632, 5200, 0, 0, 0}, {4940, 1638, 21845, 0, 0, 0, 0}, {5674, 12336, 4160, 0, 0, 0, 0}, {4891, 4403, 4420, 5376, 0, 0, 0}, {5708, 4128, 20560, 0, 0, 0, 0}, {5405, 4386, 4864, 4437, 0, 0, 0}, {1566, 546, 1092, 4096, 0, 0, 0}, {7967, 4896, 5440, 0, 0, 0, 0}, {3072, 17952, 0, 0, 0, 0, 0}, {1027, 1365, 4369, 0, 0, 0, 0}, {546, 1024, 0, 0, 0, 0, 0}, {15, 771, 1360, 4112, 0, 0, 0}, {1036, 1572, 17476, 0, 0, 0, 0}, {15, 5413, 768, 1365, 0, 0, 0}, {1702, 3084, 9766, 16448, 0, 0, 0}, {15, 295, 768, 336, 1024, 4352, 0}, {552, 8704, 1024, 0, 0, 0, 0}, {15, 771, 4160, 5397, 0, 0, 0}, {17962, 24576, 0, 0, 0, 0, 0}, {4119, 4420, 5140, 0, 0, 0, 0}, {1708, 3084, 8224, 16448, 0, 0, 0}, {15, 290, 768, 341, 1024, 4096, 0}, {1036, 546, 17476, 0, 0, 0, 0}, {15, 4128, 768, 1360, 0, 0, 0}, {4144, 5632, 20480, 0, 0, 0, 0}, {1100, 119, 514, 4369, 0, 0, 0}, {1080, 514, 1088, 4112, 0, 0, 0}, {4915, 5376, 0, 0, 0, 0, 0}, {4104, 1076, 4608, 5188, 0, 0, 0}, {4959, 1589, 21845, 0, 0, 0, 0}, {2570, 1590, 4176, 0, 0, 0, 0}, {520, 1079, 1088, 4352, 0, 0, 0}, {520, 4656, 4160, 5120, 0, 0, 0}, {1593, 13107, 5461, 0, 0, 0, 0}, {5722, 4192, 20560, 0, 0, 0, 0}, {5384, 4403, 5888, 4420, 0, 0, 0}, {1596, 4096, 0, 0, 0, 0, 0}, {4386, 514, 4437, 5397, 0, 0, 0}, {4184, 4128, 514, 5140, 0, 0, 0}, {5439, 4864, 21760, 0, 0, 0, 0}, {1728, 2560, 9792, 16448, 0, 0, 0}, {15, 310, 517, 321, 1285, 4369, 0}, {1096, 1602, 17408, 0, 0, 0, 0}, {15, 4208, 4931, 1280, 0, 0, 0}, {512, 1092, 0, 0, 0, 0, 0}, {15, 816, 1285, 4112, 0, 0, 0}, {16512, 17990, 0, 0, 0, 0, 0}, {327, 1280, 4352, 0, 0, 0, 0}, {1096, 512, 17408, 0, 0, 0, 0}, {15, 4128, 4883, 1285, 0, 0, 0}, {1738, 2570, 8224, 16448, 0, 0, 0}, {15, 307, 512, 324, 1280, 4096, 0}, {17996, 24576, 0, 0, 0, 0, 0}, {4119, 4437, 1285, 0, 0, 0, 0}, {522, 8738, 1092, 0, 0, 0, 0}, {15, 816, 4160, 1280, 0, 0, 0}, {5632, 4176, 0, 0, 0, 0, 0}, {605, 119, 1028, 4369, 0, 0, 0}, {4104, 4208, 594, 5120, 0, 0, 0}, {5439, 1619, 21760, 0, 0, 0, 0}, {600, 544, 1028, 4112, 0, 0, 0}, {4864, 5461, 0, 0, 0, 0, 0}, {4144, 1622, 20480, 0, 0, 0, 0}, {1032, 119, 599, 4352, 0, 0, 0}, {1032, 4128, 4608, 5200, 0, 0, 0}, {1625, 4915, 21845, 0, 0, 0, 0}, {1626, 4096, 0, 0, 0, 0, 0}, {4403, 4883, 4420, 1028, 0, 0, 0}, {1628, 4192, 20560, 0, 0, 0, 0}, {1032, 4386, 5888, 4437, 0, 0, 0}, {4152, 4626, 4160, 1028, 0, 0, 0}, {4959, 13056, 5376, 0, 0, 0, 0}, {19456, 1632, 0, 0, 0, 0, 0}, {278, 1365, 4369, 0, 0, 0, 0}, {554, 8738, 1088, 0, 0, 0, 0}, {15, 819, 4176, 5376, 0, 0, 0}, {1100, 544, 17476, 0, 0, 0, 0}, {15, 4144, 4864, 1365, 0, 0, 0}, {1638, 16384, 0, 0, 0, 0, 0}, {15, 1799, 272, 0, 0, 0, 0}, {2056, 544, 1088, 0, 0, 0, 0}, {15, 819, 1365, 4096, 0, 0, 0}, {1642, 8192, 0, 0, 0, 0, 0}, {275, 4420, 5140, 0, 0, 0, 0}, {1644, 16384, 0, 0, 0, 0, 0}, {4386, 4626, 277, 0, 0, 0, 0}, {1100, 1638, 17476, 0, 0, 0, 0}, {15, 5424, 5632, 1360, 0, 0, 0}, {4208, 1536, 20480, 0, 0, 0, 0}, {1036, 119, 1542, 4369, 0, 0, 0}, {522, 4642, 4176, 1024, 0, 0, 0}, {1548, 13107, 5440, 0, 0, 0, 0}, {1036, 4144, 512, 5188, 0, 0, 0}, {1546, 4896, 21845, 0, 0, 0, 0}, {240, 1542, 4112, 0, 0, 0, 0}, {119, 512, 1024, 4352, 0, 0, 0}, {120, 512, 1024, 4096, 0, 0, 0}, {255, 4883, 5397, 0, 0, 0, 0}, {1546, 4128, 20560, 0, 0, 0, 0}, {1036, 4403, 512, 4420, 0, 0, 0}, {1548, 12336, 4160, 0, 0, 0, 0}, {522, 4386, 4437, 1024, 0, 0, 0}, {4120, 4192, 4626, 5140, 0, 0, 0}, {5503, 1536, 21760, 0, 0, 0, 0}, {16512, 1536, 0, 0, 0, 0, 0}, {262, 1285, 4369, 0, 0, 0, 0}, {522, 8738, 1024, 0, 0, 0, 0}, {15, 771, 4160, 1280, 0, 0, 0}, {1036, 512, 17476, 0, 0, 0, 0}, {15, 4128, 768, 1285, 0, 0, 0}, {1542, 16448, 0, 0, 0, 0, 0}, {15, 119, 256, 0, 0, 0, 0}, {136, 512, 1024, 0, 0, 0, 0}, {15, 771, 1285, 4112, 0, 0, 0}, {1546, 8224, 0, 0, 0, 0, 0}, {259, 4420, 1280, 0, 0, 0, 0}, {1548, 16448, 0, 0, 0, 0, 0}, {4386, 768, 261, 0, 0, 0, 0}, {1036, 1542, 17476, 0, 0, 0, 0}, {15, 4208, 768, 1280, 0, 0, 0}, {4192, 5632, 20560, 0, 0, 0, 0}, {1100, 119, 1553, 4369, 0, 0, 0}, {4152, 4626, 4160, 5120, 0, 0, 0}, {4972, 13107, 5376, 0, 0, 0, 0}, {4184, 4128, 4608, 5140, 0, 0, 0}, {5482, 4864, 21845, 0, 0, 0, 0}, {2650, 1638, 4096, 0, 0, 0, 0}, {1079, 1559, 1088, 4352, 0, 0, 0}, {1560, 544, 1088, 4112, 0, 0, 0}, {7936, 4915, 5461, 0, 0, 0, 0}, {5722, 4144, 20480, 0, 0, 0, 0}, {5384, 4403, 4883, 4420, 0, 0, 0}, {5692, 12288, 4176, 0, 0, 0, 0}, {4872, 4386, 4437, 5397, 0, 0, 0}, {4104, 1076, 5654, 5188, 0, 0, 0}, {4959, 1632, 21760, 0, 0, 0, 0}, {1696, 3072, 9728, 16384, 0, 0, 0}, {15, 294, 771, 337, 1028, 4369, 0}, {1032, 1570, 17408, 0, 0, 0, 0}, {15, 5424, 771, 1360, 0, 0, 0}, {544, 1028, 0, 0, 0, 0, 0}, {15, 768, 1365, 4096, 0, 0, 0}, {3084, 18022, 0, 0, 0, 0, 0}, {1031, 1360, 4352, 0, 0, 0, 0}, {1032, 544, 17408, 0, 0, 0, 0}, {15, 4144, 771, 1365, 0, 0, 0}, {1706, 3072, 8192, 16384, 0, 0, 0}, {15, 291, 771, 340, 1028, 4112, 0}, {18028, 24672, 0, 0, 0, 0, 0}, {4103, 4437, 5120, 0, 0, 0, 0}, {554, 8738, 1028, 0, 0, 0, 0}, {15, 768, 4176, 5376, 0, 0, 0}, {2560, 1584, 4160, 0, 0, 0, 0}, {522, 1075, 1092, 4369, 0, 0, 0}, {4120, 1072, 4626, 5200, 0, 0, 0}, {4940, 1587, 21760, 0, 0, 0, 0}, {1084, 512, 1092, 4096, 0, 0, 0}, {4896, 5397, 0, 0, 0, 0, 0}, {4128, 5654, 20560, 0, 0, 0, 0}, {1096, 119, 512, 4352, 0, 0, 0}, {4168, 4144, 512, 5120, 0, 0, 0}, {5418, 4883, 21845, 0, 0, 0, 0}, {1594, 4112, 0, 0, 0, 0, 0}, {4403, 512, 4420, 5376, 0, 0, 0}, {5708, 4208, 20480, 0, 0, 0, 0}, {5405, 4386, 5911, 4437, 0, 0, 0}, {522, 4642, 4176, 5140, 0, 0, 0}, {1599, 13056, 5440, 0, 0, 0, 0}, {16576, 17920, 0, 0, 0, 0, 0}, {326, 1285, 4369, 0, 0, 0, 0}, {514, 1088, 0, 0, 0, 0, 0}, {15, 819, 1280, 4096, 0, 0, 0}, {1100, 1604, 17476, 0, 0, 0, 0}, {15, 4192, 4944, 1285, 0, 0, 0}, {1734, 2570, 9830, 16384, 0, 0, 0}, {15, 311, 519, 320, 1280, 4352, 0}, {520, 8704, 1088, 0, 0, 0, 0}, {15, 819, 4176, 1285, 0, 0, 0}, {17930, 24672, 0, 0, 0, 0, 0}, {4103, 4420, 1280, 0, 0, 0, 0}, {1740, 2560, 8192, 16384, 0, 0, 0}, {15, 306, 514, 325, 1285, 4112, 0}, {1100, 514, 17476, 0, 0, 0, 0}, {15, 4144, 4864, 1280, 0, 0, 0}, {4128, 1616, 20560, 0, 0, 0, 0}, {1036, 119, 597, 4369, 0, 0, 0}, {602, 546, 1024, 4096, 0, 0, 0}, {4883, 5440, 0, 0, 0, 0, 0}, {4120, 4192, 592, 5140, 0, 0, 0}, {5418, 1621, 21845, 0, 0, 0, 0}, {5654, 4160, 0, 0, 0, 0, 0}, {607, 119, 1024, 4352, 0, 0, 0}, {4136, 4608, 4176, 1024, 0, 0, 0}, {4940, 13107, 5397, 0, 0, 0, 0}, {1626, 4208, 20480, 0, 0, 0, 0}, {1036, 4403, 5911, 4420, 0, 0, 0}, {1628, 4112, 0, 0, 0, 0, 0}, {4386, 4864, 4437, 1024, 0, 0, 0}, {1036, 4144, 4626, 5188, 0, 0, 0}, {1631, 4896, 21760, 0, 0, 0, 0}, {1632, 16448, 0, 0, 0, 0, 0}, {15, 1792, 273, 0, 0, 0, 0}, {1096, 546, 17408, 0, 0, 0, 0}, {15, 4128, 4883, 1360, 0, 0, 0}, {552, 8704, 1092, 0, 0, 0, 0}, {15, 816, 4160, 5397, 0, 0, 0}, {19532, 1638, 0, 0, 0, 0, 0}, {279, 1360, 4352, 0, 0, 0, 0}, {1096, 1632, 17408, 0, 0, 0, 0}, {15, 5413, 5654, 1365, 0, 0, 0}, {1642, 16448, 0, 0, 0, 0, 0}, {4403, 4608, 276, 0, 0, 0, 0}, {1644, 8224, 0, 0, 0, 0, 0}, {274, 4437, 5120, 0, 0, 0, 0}, {2048, 546, 1092, 0, 0, 0, 0}, {15, 816, 1360, 4112, 0, 0, 0}, {240, 1536, 4096, 0, 0, 0, 0}, {119, 514, 1028, 4369, 0, 0, 0}, {1032, 4128, 514, 5200, 0, 0, 0}, {1548, 4915, 21760, 0, 0, 0, 0}, {520, 4656, 4160, 1028, 0, 0, 0}, {1546, 13056, 5461, 0, 0, 0, 0}, {4192, 1542, 20560, 0, 0, 0, 0}, {1032, 119, 1536, 4352, 0, 0, 0}, {4104, 4208, 4608, 5120, 0, 0, 0}, {5482, 1542, 21845, 0, 0, 0, 0}, {1546, 12288, 4176, 0, 0, 0, 0}, {520, 4403, 4420, 1028, 0, 0, 0}, {1548, 4144, 20480, 0, 0, 0, 0}, {1032, 4386, 514, 4437, 0, 0, 0}, {120, 514, 1028, 4112, 0, 0, 0}, {255, 4864, 5376, 0, 0, 0, 0}, {3840, 30464, 0, 0, 0, 0, 0}, {6, 64, 257, 0, 0, 0, 0}, {10, 32, 514, 1280, 0, 0, 0}, {12, 771, 17408, 0, 0, 0, 0}, {12, 768, 64, 1028, 0, 0, 0}, {10, 8704, 1285, 0, 0, 0, 0}, {6, 1280, 4352, 0, 0, 0, 0}, {128, 1799, 0, 0, 0, 0, 0}, {1800, 28672, 0, 0, 0, 0, 0}, {6, 4437, 1285, 0, 0, 0, 0}, {10, 8704, 1280, 0, 0, 0, 0}, {12, 771, 64, 1028, 0, 0, 0}, {12, 768, 17408, 0, 0, 0, 0}, {10, 32, 514, 1285, 0, 0, 0}, {258, 260, 4096, 0, 0, 0, 0}, {30719, 3855, 0, 0, 0, 0, 0}, {32, 1808, 64, 4112, 0, 0, 0}, {3925, 102, 4369, 0, 0, 0, 0}, {106, 4626, 21760, 0, 0, 0, 0}, {76, 32, 4883, 5120, 0, 0, 0}, {108, 13056, 5140, 0, 0, 0, 0}, {42, 4608, 64, 5397, 0, 0, 0}, {76, 102, 1814, 4352, 0, 0, 0}, {96, 5911, 20480, 0, 0, 0, 0}, {5960, 96, 20560, 0, 0, 0, 0}, {4377, 4403, 5632, 4437, 0, 0, 0}, {4634, 4656, 64, 5376, 0, 0, 0}, {5160, 13107, 5188, 0, 0, 0, 0}, {5148, 32, 4864, 5200, 0, 0, 0}, {4680, 4642, 21845, 0, 0, 0, 0}, {7710, 4386, 4420, 0, 0, 0, 0}, {1823, 32, 64, 4096, 0, 0, 0}, {32, 1792, 20480, 0, 0, 0, 0}, {12, 102, 771, 4369, 0, 0, 0}, {170, 3840, 8738, 21760, 0, 0, 0}, {12, 32, 771, 64, 1024, 4112, 0}, {12, 5156, 768, 5188, 0, 0, 0}, {1807, 1829, 21845, 0, 0, 0, 0}, {12, 38, 768, 64, 1024, 4352, 0}, {160, 3855, 10023, 20560, 0, 0, 0}, {10024, 20480, 0, 0, 0, 0, 0}, {4403, 771, 4373, 0, 0, 0, 0}, {42, 1792, 21760, 0, 0, 0, 0}, {12, 96, 771, 5140, 0, 0, 0}, {12, 32, 768, 64, 1024, 4096, 0}, {170, 3855, 8738, 21845, 0, 0, 0}, {12, 4386, 768, 4420, 0, 0, 0}, {1807, 32, 20560, 0, 0, 0, 0}, {18432, 18224, 0, 0, 0, 0, 0}, {1299, 1365, 4369, 0, 0, 0, 0}, {10, 32, 514, 64, 1296, 4112, 0}, {204, 3891, 13107, 17408, 0, 0, 0}, {76, 1844, 17476, 0, 0, 0, 0}, {10, 1333, 4608, 1365, 0, 0, 0}, {10, 1334, 1360, 4352, 0, 0, 0}, {2056, 1847, 64, 0, 0, 0, 0}, {1848, 12336, 64, 0, 0, 0, 0}, {10, 4403, 4437, 5120, 0, 0, 0}, {10, 1328, 5888, 1360, 0, 0, 0}, {76, 1911, 17476, 0, 0, 0, 0}, {204, 3900, 13056, 17408, 0, 0, 0}, {10, 32, 514, 64, 1301, 4096, 0}, {4354, 4420, 5140, 0, 0, 0, 0}, {18239, 12288, 0, 0, 0, 0, 0}, {1792, 64, 0, 0, 0, 0, 0}, {10, 102, 1285, 4369, 0, 0, 0}, {10, 96, 4674, 1280, 0, 0, 0}, {76, 1859, 17408, 0, 0, 0, 0}, {204, 3840, 13056, 17476, 0, 0, 0}, {10, 32, 512, 64, 1285, 4112, 0}, {70, 1280, 4352, 0, 0, 0, 0}, {192, 18247, 0, 0, 0, 0, 0}, {18248, 12288, 0, 0, 0, 0, 0}, {4371, 4437, 1285, 0, 0, 0, 0}, {10, 32, 512, 64, 1280, 4096, 0}, {204, 3855, 13107, 17476, 0, 0, 0}, {76, 1792, 17408, 0, 0, 0, 0}, {10, 96, 4626, 1285, 0, 0, 0}, {10, 4386, 4420, 1280, 0, 0, 0}, {1807, 12336, 64, 0, 0, 0, 0}, {160, 3920, 10064, 20560, 0, 0, 0}, {12, 38, 789, 64, 1028, 4369, 0}, {42, 1874, 21760, 0, 0, 0, 0}, {12, 96, 851, 5120, 0, 0, 0}, {12, 32, 784, 64, 1028, 4112, 0}, {170, 3925, 8704, 21845, 0, 0, 0}, {12, 102, 854, 4352, 0, 0, 0}, {32, 1879, 20480, 0, 0, 0, 0}, {1880, 32, 20560, 0, 0, 0, 0}, {12, 4403, 4608, 4437, 0, 0, 0}, {170, 3930, 8704, 21760, 0, 0, 0}, {12, 32, 787, 64, 1028, 4096, 0}, {12, 5168, 5888, 5200, 0, 0, 0}, {1885, 1911, 21845, 0, 0, 0, 0}, {4386, 4626, 4356, 0, 0, 0, 0}, {10079, 20480, 0, 0, 0, 0, 0}, {96, 5888, 20480, 0, 0, 0, 0}, {76, 102, 1799, 4369, 0, 0, 0}, {4616, 4642, 64, 5376, 0, 0, 0}, {5180, 13107, 5200, 0, 0, 0, 0}, {5128, 32, 4864, 5188, 0, 0, 0}, {4698, 4656, 21845, 0, 0, 0, 0}, {3840, 102, 4352, 0, 0, 0, 0}, {32, 1799, 64, 4112, 0, 0, 0}, {1800, 32, 64, 4096, 0, 0, 0}, {3855, 4403, 4437, 0, 0, 0, 0}, {106, 4608, 21760, 0, 0, 0, 0}, {76, 32, 4883, 5140, 0, 0, 0}, {108, 13056, 5120, 0, 0, 0, 0}, {42, 4626, 64, 5397, 0, 0, 0}, {4360, 4386, 5632, 4420, 0, 0, 0}, {5983, 96, 20560, 0, 0, 0, 0}, {2048, 1904, 0, 0, 0, 0, 0}, {6, 1365, 4369, 0, 0, 0, 0}, {10, 8738, 1360, 0, 0, 0, 0}, {12, 819, 64, 1024, 0, 0, 0}, {12, 816, 17476, 0, 0, 0, 0}, {10, 32, 512, 1365, 0, 0, 0}, {6, 1024, 272, 0, 0, 0, 0}, {4095, 30583, 0, 0, 0, 0, 0}, {30600, 30840, 0, 0, 0, 0, 0}, {275, 277, 4096, 0, 0, 0, 0}, {10, 32, 512, 1360, 0, 0, 0}, {12, 819, 17476, 0, 0, 0, 0}, {12, 816, 64, 1024, 0, 0, 0}, {10, 8738, 1365, 0, 0, 0, 0}, {6, 4420, 5140, 0, 0, 0, 0}, {1919, 28672, 0, 0, 0, 0, 0}, {128, 1792, 0, 0, 0, 0, 0}, {6, 1285, 4369, 0, 0, 0, 0}, {10, 8738, 1280, 0, 0, 0, 0}, {12, 771, 64, 1024, 0, 0, 0}, {12, 768, 17476, 0, 0, 0, 0}, {10, 32, 512, 1285, 0, 0, 0}, {6, 64, 256, 0, 0, 0, 0}, {3855, 30583, 0, 0, 0, 0, 0}, {30600, 3840, 0, 0, 0, 0, 0}, {259, 261, 4112, 0, 0, 0, 0}, {10, 32, 512, 1280, 0, 0, 0}, {12, 771, 17476, 0, 0, 0, 0}, {12, 768, 64, 1024, 0, 0, 0}, {10, 8738, 1285, 0, 0, 0, 0}, {6, 4420, 1280, 0, 0, 0, 0}, {1807, 28784, 0, 0, 0, 0, 0}, {96, 5888, 20560, 0, 0, 0, 0}, {76, 102, 1809, 4369, 0, 0, 0}, {42, 4626, 64, 5376, 0, 0, 0}, {108, 13107, 5120, 0, 0, 0, 0}, {76, 32, 4864, 5140, 0, 0, 0}, {106, 4608, 21845, 0, 0, 0, 0}, {3930, 102, 4352, 0, 0, 0, 0}, {32, 1815, 64, 4096, 0, 0, 0}, {1816, 32, 64, 4112, 0, 0, 0}, {7680, 4403, 4437, 0, 0, 0, 0}, {4698, 4656, 21760, 0, 0, 0, 0}, {5128, 32, 4883, 5188, 0, 0, 0}, {5180, 13056, 5200, 0, 0, 0, 0}, {4616, 4642, 64, 5397, 0, 0, 0}, {4360, 4386, 5654, 4420, 0, 0, 0}, {5983, 96, 20480, 0, 0, 0, 0}, {160, 3840, 9984, 20480, 0, 0, 0}, {12, 38, 771, 64, 1028, 4369, 0}, {1800, 1826, 21760, 0, 0, 0, 0}, {12, 5168, 771, 5200, 0, 0, 0}, {12, 32, 768, 64, 1028, 4096, 0}, {170, 3855, 8704, 21845, 0, 0, 0}, {12, 102, 768, 4352, 0, 0, 0}, {32, 1799, 20560, 0, 0, 0, 0}, {1800, 32, 20480, 0, 0, 0, 0}, {12, 4403, 771, 4437, 0, 0, 0}, {170, 3840, 8704, 21760, 0, 0, 0}, {12, 32, 771, 64, 1028, 4112, 0}, {12, 96, 768, 5120, 0, 0, 0}, {42, 1799, 21845, 0, 0, 0, 0}, {4386, 768, 4356, 0, 0, 0, 0}, {9999, 20560, 0, 0, 0, 0, 0}, {2048, 1840, 64, 0, 0, 0, 0}, {10, 1331, 1365, 4369, 0, 0, 0}, {10, 1328, 4626, 1360, 0, 0, 0}, {76, 1843, 17408, 0, 0, 0, 0}, {204, 3900, 13056, 17476, 0, 0, 0}, {10, 32, 512, 64, 1301, 4096, 0}, {1302, 1360, 4352, 0, 0, 0, 0}, {18504, 18295, 0, 0, 0, 0, 0}, {18296, 12336, 0, 0, 0, 0, 0}, {4371, 4437, 5120, 0, 0, 0, 0}, {10, 32, 512, 64, 1296, 4112, 0}, {204, 3891, 13107, 17476, 0, 0, 0}, {76, 1904, 17408, 0, 0, 0, 0}, {10, 1333, 5911, 1365, 0, 0, 0}, {10, 4386, 4420, 5140, 0, 0, 0}, {1855, 12288, 64, 0, 0, 0, 0}, {192, 18176, 0, 0, 0, 0, 0}, {70, 1285, 4369, 0, 0, 0, 0}, {10, 32, 514, 64, 1280, 4096, 0}, {204, 3855, 13107, 17408, 0, 0, 0}, {76, 1860, 17476, 0, 0, 0, 0}, {10, 96, 4688, 1285, 0, 0, 0}, {10, 102, 1280, 4352, 0, 0, 0}, {1799, 64, 0, 0, 0, 0, 0}, {1800, 12288, 64, 0, 0, 0, 0}, {10, 4403, 4437, 1285, 0, 0, 0}, {10, 96, 4608, 1280, 0, 0, 0}, {76, 1799, 17476, 0, 0, 0, 0}, {204, 3840, 13056, 17408, 0, 0, 0}, {10, 32, 514, 64, 1285, 4112, 0}, {4354, 4420, 1280, 0, 0, 0, 0}, {18191, 12336, 0, 0, 0, 0, 0}, {32, 1872, 20560, 0, 0, 0, 0}, {12, 102, 853, 4369, 0, 0, 0}, {170, 3930, 8738, 21760, 0, 0, 0}, {12, 32, 787, 64, 1024, 4096, 0}, {12, 96, 848, 5140, 0, 0, 0}, {42, 1877, 21845, 0, 0, 0, 0}, {12, 38, 790, 64, 1024, 4352, 0}, {160, 3935, 10103, 20480, 0, 0, 0}, {10104, 20560, 0, 0, 0, 0, 0}, {4403, 4608, 4373, 0, 0, 0, 0}, {1882, 1904, 21760, 0, 0, 0, 0}, {12, 5156, 5911, 5188, 0, 0, 0}, {12, 32, 784, 64, 1024, 4112, 0}, {170, 3925, 8738, 21845, 0, 0, 0}, {12, 4386, 4626, 4420, 0, 0, 0}, {1887, 32, 20480, 0, 0, 0, 0}, {32, 1792, 64, 4096, 0, 0, 0}, {3855, 102, 4369, 0, 0, 0, 0}, {4680, 4642, 21760, 0, 0, 0, 0}, {5148, 32, 4883, 5200, 0, 0, 0}, {5160, 13056, 5188, 0, 0, 0, 0}, {4634, 4656, 64, 5397, 0, 0, 0}, {76, 102, 1792, 4352, 0, 0, 0}, {96, 5911, 20560, 0, 0, 0, 0}, {5960, 96, 20480, 0, 0, 0, 0}, {4377, 4403, 5654, 4437, 0, 0, 0}, {42, 4608, 64, 5376, 0, 0, 0}, {108, 13107, 5140, 0, 0, 0, 0}, {76, 32, 4864, 5120, 0, 0, 0}, {106, 4626, 21845, 0, 0, 0, 0}, {3840, 4386, 4420, 0, 0, 0, 0}, {1807, 32, 64, 4112, 0, 0, 0}, {4080, 30464, 0, 0, 0, 0, 0}, {6, 1028, 273, 0, 0, 0, 0}, {10, 32, 514, 1360, 0, 0, 0}, {12, 819, 17408, 0, 0, 0, 0}, {12, 816, 64, 1028, 0, 0, 0}, {10, 8704, 1365, 0, 0, 0, 0}, {6, 1360, 4352, 0, 0, 0, 0}, {2056, 1911, 0, 0, 0, 0, 0}, {1912, 28784, 0, 0, 0, 0, 0}, {6, 4437, 5120, 0, 0, 0, 0}, {10, 8704, 1360, 0, 0, 0, 0}, {12, 819, 64, 1028, 0, 0, 0}, {12, 816, 17408, 0, 0, 0, 0}, {10, 32, 514, 1365, 0, 0, 0}, {274, 276, 4112, 0, 0, 0, 0}, {30719, 30720, 0, 0, 0, 0, 0}, {34816, 0, 0, 0, 0, 0, 0}, {3, 5, 16, 257, 0, 0, 0}, {10, 32, 514, 0, 0, 0, 0}, {3, 17408, 0, 0, 0, 0, 0}, {12, 64, 1028, 0, 0, 0, 0}, {8704, 5, 0, 0, 0, 0, 0}, {6, 17408, 0, 0, 0, 0, 0}, {15, 112, 1799, 0, 0, 0, 0}, {128, 2056, 0, 0, 0, 0, 0}, {3, 5, 4352, 0, 0, 0, 0}, {10, 8704, 0, 0, 0, 0, 0}, {3, 64, 1028, 0, 0, 0, 0}, {12, 17408, 0, 0, 0, 0, 0}, {32, 514, 5, 0, 0, 0, 0}, {6, 64, 1028, 0, 0, 0, 0}, {15, 30464, 0, 0, 0, 0, 0}, {2048, 16, 0, 0, 0, 0, 0}, {51, 85, 4369, 0, 0, 0, 0}, {90, 48, 4626, 0, 0, 0, 0}, {19, 17408, 0, 0, 0, 0, 0}, {60, 80, 5140, 0, 0, 0, 0}, {8704, 21, 0, 0, 0, 0, 0}, {22, 17408, 0, 0, 0, 0, 0}, {95, 96, 5911, 0, 0, 0, 0}, {6168, 48, 80, 0, 0, 0, 0}, {25, 51, 85, 4352, 0, 0, 0}, {26, 48, 4608, 64, 0, 0, 0}, {95, 51, 17476, 0, 0, 0, 0}, {28, 32, 80, 5120, 0, 0, 0}, {63, 8738, 85, 0, 0, 0, 0}, {90, 102, 17476, 0, 0, 0, 0}, {31, 32, 5888, 64, 0, 0, 0}, {2048, 32, 0, 0, 0, 0, 0}, {3, 85, 4369, 0, 0, 0, 0}, {170, 8738, 0, 0, 0, 0, 0}, {3, 1024, 16, 0, 0, 0, 0}, {12, 96, 17476, 0, 0, 0, 0}, {15, 37, 1792, 85, 0, 0, 0}, {12, 38, 64, 1024, 0, 0, 0}, {15, 10023, 80, 0, 0, 0, 0}, {160, 10280, 0, 0, 0, 0, 0}, {3, 21, 4352, 0, 0, 0, 0}, {42, 8704, 0, 0, 0, 0, 0}, {3, 80, 5140, 0, 0, 0, 0}, {12, 32, 64, 1024, 0, 0, 0}, {15, 8738, 85, 0, 0, 0, 0}, {12, 102, 17476, 0, 0, 0, 0}, {15, 32, 1792, 80, 0, 0, 0}, {18432, 48, 0, 0, 0, 0, 0}, {19, 85, 4369, 0, 0, 0, 0}, {10, 514, 16, 0, 0, 0, 0}, {51, 17408, 0, 0, 0, 0, 0}, {76, 112, 17476, 0, 0, 0, 0}, {10, 53, 5888, 85, 0, 0, 0}, {10, 54, 80, 5120, 0, 0, 0}, {63, 14135, 64, 0, 0, 0, 0}, {2056, 48, 64, 0, 0, 0, 0}, {10, 51, 85, 4352, 0, 0, 0}, {10, 48, 4608, 80, 0, 0, 0}, {76, 51, 17476, 0, 0, 0, 0}, {60, 17408, 0, 0, 0, 0, 0}, {32, 514, 21, 0, 0, 0, 0}, {22, 80, 5140, 0, 0, 0, 0}, {63, 30464, 0, 0, 0, 0, 0}, {2048, 64, 0, 0, 0, 0, 0}, {51, 5, 4369, 0, 0, 0, 0}, {10, 96, 16962, 0, 0, 0, 0}, {67, 17408, 0, 0, 0, 0, 0}, {204, 17476, 0, 0, 0, 0, 0}, {512, 5, 16, 0, 0, 0, 0}, {70, 17408, 0, 0, 0, 0, 0}, {15, 48, 18247, 0, 0, 0, 0}, {192, 18504, 0, 0, 0, 0, 0}, {19, 5, 4352, 0, 0, 0, 0}, {10, 32, 512, 64, 0, 0, 0}, {15, 51, 17476, 0, 0, 0, 0}, {76, 17408, 0, 0, 0, 0, 0}, {48, 4626, 5, 0, 0, 0, 0}, {10, 102, 17476, 0, 0, 0, 0}, {15, 48, 1792, 64, 0, 0, 0}, {10240, 80, 0, 0, 0, 0, 0}, {51, 21, 4369, 0, 0, 0, 0}, {90, 112, 21074, 0, 0, 0, 0}, {83, 17408, 0, 0, 0, 0, 0}, {12, 1028, 16, 0, 0, 0, 0}, {8704, 85, 0, 0, 0, 0, 0}, {86, 17408, 0, 0, 0, 0, 0}, {95, 32, 22359, 0, 0, 0, 0}, {2056, 32, 80, 0, 0, 0, 0}, {12, 51, 85, 4352, 0, 0, 0}, {90, 8704, 0, 0, 0, 0, 0}, {19, 64, 1028, 0, 0, 0, 0}, {12, 48, 80, 5120, 0, 0, 0}, {42, 8738, 85, 0, 0, 0, 0}, {22, 64, 1028, 0, 0, 0, 0}, {95, 30464, 0, 0, 0, 0, 0}, {18432, 96, 0, 0, 0, 0, 0}, {22, 85, 4369, 0, 0, 0, 0}, {42, 8738, 64, 0, 0, 0, 0}, {15, 51, 80, 5120, 0, 0, 0}, {76, 32, 17476, 0, 0, 0, 0}, {15, 48, 4608, 85, 0, 0, 0}, {102, 17408, 0, 0, 0, 0, 0}, {15, 1799, 16, 0, 0, 0, 0}, {2056, 32, 64, 0, 0, 0, 0}, {15, 51, 85, 4352, 0, 0, 0}, {106, 8704, 0, 0, 0, 0, 0}, {19, 80, 5140, 0, 0, 0, 0}, {108, 17408, 0, 0, 0, 0, 0}, {48, 4626, 21, 0, 0, 0, 0}, {76, 102, 17476, 0, 0, 0, 0}, {15, 48, 5888, 80, 0, 0, 0}, {2048, 112, 0, 0, 0, 0, 0}, {6, 85, 4369, 0, 0, 0, 0}, {10, 8738, 80, 0, 0, 0, 0}, {12, 51, 64, 1024, 0, 0, 0}, {12, 48, 17476, 0, 0, 0, 0}, {10, 32, 512, 85, 0, 0, 0}, {6, 1024, 16, 0, 0, 0, 0}, {255, 30583, 0, 0, 0, 0, 0}, {240, 30840, 0, 0, 0, 0, 0}, {19, 21, 4352, 0, 0, 0, 0}, {10, 32, 512, 80, 0, 0, 0}, {12, 51, 17476, 0, 0, 0, 0}, {12, 48, 64, 1024, 0, 0, 0}, {10, 8738, 85, 0, 0, 0, 0}, {6, 80, 5140, 0, 0, 0, 0}, {127, 30464, 0, 0, 0, 0, 0}, {128, 2048, 0, 0, 0, 0, 0}, {3, 5, 4369, 0, 0, 0, 0}, {10, 8738, 0, 0, 0, 0, 0}, {3, 64, 1024, 0, 0, 0, 0}, {12, 17476, 0, 0, 0, 0, 0}, {32, 512, 5, 0, 0, 0, 0}, {6, 64, 1024, 0, 0, 0, 0}, {15, 30583, 0, 0, 0, 0, 0}, {34952, 0, 0, 0, 0, 0, 0}, {3, 5, 16, 256, 0, 0, 0}, {10, 32, 512, 0, 0, 0, 0}, {3, 17476, 0, 0, 0, 0, 0}, {12, 64, 1024, 0, 0, 0, 0}, {8738, 5, 0, 0, 0, 0, 0}, {6, 17476, 0, 0, 0, 0, 0}, {15, 112, 1792, 0, 0, 0, 0}, {6144, 48, 80, 0, 0, 0, 0}, {25, 51, 85, 4369, 0, 0, 0}, {26, 48, 4626, 64, 0, 0, 0}, {95, 51, 17408, 0, 0, 0, 0}, {28, 32, 80, 5140, 0, 0, 0}, {63, 8704, 85, 0, 0, 0, 0}, {90, 102, 17408, 0, 0, 0, 0}, {31, 32, 5911, 64, 0, 0, 0}, {2056, 16, 0, 0, 0, 0, 0}, {51, 85, 4352, 0, 0, 0, 0}, {90, 48, 4608, 0, 0, 0, 0}, {19, 17476, 0, 0, 0, 0, 0}, {60, 80, 5120, 0, 0, 0, 0}, {8738, 21, 0, 0, 0, 0, 0}, {22, 17476, 0, 0, 0, 0, 0}, {95, 96, 5888, 0, 0, 0, 0}, {160, 10240, 0, 0, 0, 0, 0}, {3, 21, 4369, 0, 0, 0, 0}, {42, 8738, 0, 0, 0, 0, 0}, {3, 80, 5120, 0, 0, 0, 0}, {12, 32, 64, 1028, 0, 0, 0}, {15, 8704, 85, 0, 0, 0, 0}, {12, 102, 17408, 0, 0, 0, 0}, {15, 32, 1799, 80, 0, 0, 0}, {2056, 32, 0, 0, 0, 0, 0}, {3, 85, 4352, 0, 0, 0, 0}, {170, 8704, 0, 0, 0, 0, 0}, {3, 1028, 16, 0, 0, 0, 0}, {12, 96, 17408, 0, 0, 0, 0}, {15, 37, 1799, 85, 0, 0, 0}, {12, 38, 64, 1028, 0, 0, 0}, {15, 9984, 80, 0, 0, 0, 0}, {2048, 48, 64, 0, 0, 0, 0}, {10, 51, 85, 4369, 0, 0, 0}, {10, 48, 4626, 80, 0, 0, 0}, {76, 51, 17408, 0, 0, 0, 0}, {60, 17476, 0, 0, 0, 0, 0}, {32, 512, 21, 0, 0, 0, 0}, {22, 80, 5120, 0, 0, 0, 0}, {63, 30583, 0, 0, 0, 0, 0}, {18504, 48, 0, 0, 0, 0, 0}, {19, 85, 4352, 0, 0, 0, 0}, {10, 512, 16, 0, 0, 0, 0}, {51, 17476, 0, 0, 0, 0, 0}, {76, 112, 17408, 0, 0, 0, 0}, {10, 53, 5911, 85, 0, 0, 0}, {10, 54, 80, 5140, 0, 0, 0}, {63, 14080, 64, 0, 0, 0, 0}, {192, 18432, 0, 0, 0, 0, 0}, {19, 5, 4369, 0, 0, 0, 0}, {10, 32, 514, 64, 0, 0, 0}, {15, 51, 17408, 0, 0, 0, 0}, {76, 17476, 0, 0, 0, 0, 0}, {48, 4608, 5, 0, 0, 0, 0}, {10, 102, 17408, 0, 0, 0, 0}, {15, 48, 1799, 64, 0, 0, 0}, {2056, 64, 0, 0, 0, 0, 0}, {51, 5, 4352, 0, 0, 0, 0}, {10, 96, 16896, 0, 0, 0, 0}, {67, 17476, 0, 0, 0, 0, 0}, {204, 17408, 0, 0, 0, 0, 0}, {514, 5, 16, 0, 0, 0, 0}, {70, 17476, 0, 0, 0, 0, 0}, {15, 48, 18176, 0, 0, 0, 0}, {2048, 32, 80, 0, 0, 0, 0}, {12, 51, 85, 4369, 0, 0, 0}, {90, 8738, 0, 0, 0, 0, 0}, {19, 64, 1024, 0, 0, 0, 0}, {12, 48, 80, 5140, 0, 0, 0}, {42, 8704, 85, 0, 0, 0, 0}, {22, 64, 1024, 0, 0, 0, 0}, {95, 30583, 0, 0, 0, 0, 0}, {10280, 80, 0, 0, 0, 0, 0}, {51, 21, 4352, 0, 0, 0, 0}, {90, 112, 20992, 0, 0, 0, 0}, {83, 17476, 0, 0, 0, 0, 0}, {12, 1024, 16, 0, 0, 0, 0}, {8738, 85, 0, 0, 0, 0, 0}, {86, 17476, 0, 0, 0, 0, 0}, {95, 32, 22272, 0, 0, 0, 0}, {2048, 32, 64, 0, 0, 0, 0}, {15, 51, 85, 4369, 0, 0, 0}, {106, 8738, 0, 0, 0, 0, 0}, {19, 80, 5120, 0, 0, 0, 0}, {108, 17476, 0, 0, 0, 0, 0}, {48, 4608, 21, 0, 0, 0, 0}, {76, 102, 17408, 0, 0, 0, 0}, {15, 48, 5911, 80, 0, 0, 0}, {18504, 96, 0, 0, 0, 0, 0}, {22, 85, 4352, 0, 0, 0, 0}, {42, 8704, 64, 0, 0, 0, 0}, {15, 51, 80, 5140, 0, 0, 0}, {76, 32, 17408, 0, 0, 0, 0}, {15, 48, 4626, 85, 0, 0, 0}, {102, 17476, 0, 0, 0, 0, 0}, {15, 1792, 16, 0, 0, 0, 0}, {240, 30720, 0, 0, 0, 0, 0}, {19, 21, 4369, 0, 0, 0, 0}, {10, 32, 514, 80, 0, 0, 0}, {12, 51, 17408, 0, 0, 0, 0}, {12, 48, 64, 1028, 0, 0, 0}, {10, 8704, 85, 0, 0, 0, 0}, {6, 80, 5120, 0, 0, 0, 0}, {127, 30583, 0, 0, 0, 0, 0}, {2056, 112, 0, 0, 0, 0, 0}, {6, 85, 4352, 0, 0, 0, 0}, {10, 8704, 80, 0, 0, 0, 0}, {12, 51, 64, 1028, 0, 0, 0}, {12, 48, 17408, 0, 0, 0, 0}, {10, 32, 514, 85, 0, 0, 0}, {6, 1028, 16, 0, 0, 0, 0}, {255, 30464, 0, 0, 0, 0, 0}, {768, 1280, 4096, 0, 0, 0, 0}, {136, 257, 0, 0, 0, 0, 0}, {258, 17408, 0, 0, 0, 0, 0}, {1295, 4144, 771, 0, 0, 0, 0}, {8704, 260, 0, 0, 0, 0, 0}, {783, 4176, 1285, 0, 0, 0, 0}, {1290, 4192, 1542, 0, 0, 0, 0}, {263, 17408, 0, 0, 0, 0, 0}, {264, 768, 1280, 4352, 0, 0, 0}, {4240, 771, 1285, 0, 0, 0, 0}, {1290, 768, 16384, 0, 0, 0, 0}, {267, 4403, 771, 1028, 0, 0, 0}, {780, 8192, 1280, 0, 0, 0, 0}, {269, 514, 4437, 1285, 0, 0, 0}, {270, 4454, 514, 1028, 0, 0, 0}, {1295, 1536, 16384, 0, 0, 0, 0}, {816, 1360, 4112, 0, 0, 0, 0}, {2048, 273, 0, 0, 0, 0, 0}, {274, 17408, 0, 0, 0, 0, 0}, {1375, 4128, 4883, 0, 0, 0, 0}, {8704, 276, 0, 0, 0, 0, 0}, {831, 4160, 5397, 0, 0, 0, 0}, {1370, 4208, 5654, 0, 0, 0, 0}, {279, 17408, 0, 0, 0, 0, 0}, {280, 816, 1360, 4352, 0, 0, 0}, {6425, 819, 1365, 0, 0, 0, 0}, {1370, 816, 16448, 0, 0, 0, 0}, {283, 4403, 4608, 1092, 0, 0, 0}, {828, 8224, 1360, 0, 0, 0, 0}, {285, 546, 4437, 5120, 0, 0, 0}, {286, 5410, 5888, 1092, 0, 0, 0}, {1375, 1632, 16448, 0, 0, 0, 0}, {4128, 768, 21760, 0, 0, 0, 0}, {1036, 289, 771, 4369, 0, 0, 0}, {290, 768, 1024, 4096, 0, 0, 0}, {1455, 771, 4112, 0, 0, 0, 0}, {1036, 292, 1792, 4420, 0, 0, 0}, {783, 4208, 21845, 0, 0, 0, 0}, {780, 9766, 4160, 0, 0, 0, 0}, {783, 295, 4176, 1024, 0, 0, 0}, {296, 768, 1024, 4352, 0, 0, 0}, {4272, 771, 5397, 0, 0, 0, 0}, {5418, 768, 20480, 0, 0, 0, 0}, {4120, 4403, 771, 5140, 0, 0, 0}, {780, 8224, 5440, 0, 0, 0, 0}, {783, 546, 4437, 1024, 0, 0, 0}, {1036, 1314, 1792, 5188, 0, 0, 0}, {783, 5744, 20560, 0, 0, 0, 0}, {4144, 4864, 21760, 0, 0, 0, 0}, {1100, 305, 514, 4369, 0, 0, 0}, {306, 514, 1088, 4112, 0, 0, 0}, {2560, 819, 4096, 0, 0, 0, 0}, {5384, 308, 5888, 4420, 0, 0, 0}, {4959, 4192, 21845, 0, 0, 0, 0}, {828, 13878, 4176, 0, 0, 0, 0}, {520, 311, 4160, 5120, 0, 0, 0}, {520, 816, 1088, 4352, 0, 0, 0}, {2570, 819, 5461, 0, 0, 0, 0}, {5722, 816, 20560, 0, 0, 0, 0}, {4104, 4403, 4608, 5188, 0, 0, 0}, {828, 8192, 5376, 0, 0, 0, 0}, {317, 514, 4437, 5397, 0, 0, 0}, {4184, 4454, 514, 5140, 0, 0, 0}, {5439, 5632, 20480, 0, 0, 0, 0}, {13056, 4160, 1280, 0, 0, 0, 0}, {522, 321, 1285, 4369, 0, 0, 0}, {322, 17408, 0, 0, 0, 0, 0}, {1295, 4208, 17219, 0, 0, 0, 0}, {512, 324, 1280, 4096, 0, 0, 0}, {975, 1285, 4112, 0, 0, 0, 0}, {1290, 4128, 17990, 0, 0, 0, 0}, {327, 17408, 0, 0, 0, 0, 0}, {328, 512, 1280, 4352, 0, 0, 0}, {4304, 4883, 1285, 0, 0, 0, 0}, {1290, 4896, 16448, 0, 0, 0, 0}, {1295, 4403, 512, 1092, 0, 0, 0}, {4940, 12288, 1280, 0, 0, 0, 0}, {4120, 4626, 4437, 1285, 0, 0, 0}, {1290, 5410, 1792, 1092, 0, 0, 0}, {1295, 5744, 16448, 0, 0, 0, 0}, {13056, 4176, 5376, 0, 0, 0, 0}, {554, 337, 1028, 4369, 0, 0, 0}, {338, 17408, 0, 0, 0, 0, 0}, {1375, 4192, 21331, 0, 0, 0, 0}, {544, 340, 1028, 4112, 0, 0, 0}, {3072, 1365, 4096, 0, 0, 0, 0}, {1370, 4144, 22102, 0, 0, 0, 0}, {343, 17408, 0, 0, 0, 0, 0}, {1032, 544, 1360, 4352, 0, 0, 0}, {3084, 4915, 1365, 0, 0, 0, 0}, {1370, 4864, 16384, 0, 0, 0, 0}, {347, 4403, 4883, 1028, 0, 0, 0}, {5692, 12336, 1360, 0, 0, 0, 0}, {4104, 4642, 4437, 5120, 0, 0, 0}, {350, 4454, 4626, 1028, 0, 0, 0}, {1375, 5632, 16384, 0, 0, 0, 0}, {4192, 5632, 21760, 0, 0, 0, 0}, {1100, 353, 1799, 4369, 0, 0, 0}, {4872, 4386, 4160, 5120, 0, 0, 0}, {5692, 13107, 4176, 0, 0, 0, 0}, {5384, 4128, 4608, 4420, 0, 0, 0}, {5722, 4144, 21845, 0, 0, 0, 0}, {3840, 1638, 4096, 0, 0, 0, 0}, {1319, 1799, 1088, 4112, 0, 0, 0}, {1800, 544, 1088, 4352, 0, 0, 0}, {3855, 4915, 5461, 0, 0, 0, 0}, {5482, 4864, 20480, 0, 0, 0, 0}, {4184, 4403, 4883, 5140, 0, 0, 0}, {4972, 12288, 5376, 0, 0, 0, 0}, {4152, 4626, 4437, 5397, 0, 0, 0}, {4104, 1314, 5888, 5188, 0, 0, 0}, {4959, 1632, 20560, 0, 0, 0, 0}, {4208, 1536, 21760, 0, 0, 0, 0}, {1036, 369, 1542, 4369, 0, 0, 0}, {522, 4386, 4176, 1024, 0, 0, 0}, {1548, 13107, 4160, 0, 0, 0, 0}, {1036, 4144, 512, 4420, 0, 0, 0}, {1546, 4128, 21845, 0, 0, 0, 0}, {1530, 1542, 4112, 0, 0, 0, 0}, {375, 512, 1024, 4096, 0, 0, 0}, {376, 512, 1024, 4352, 0, 0, 0}, {4320, 4883, 5397, 0, 0, 0, 0}, {1546, 4896, 20560, 0, 0, 0, 0}, {1036, 4403, 512, 5188, 0, 0, 0}, {1548, 12336, 5440, 0, 0, 0, 0}, {522, 4642, 4437, 1024, 0, 0, 0}, {4120, 4454, 4626, 5140, 0, 0, 0}, {5503, 1536, 20480, 0, 0, 0, 0}, {4224, 768, 1280, 0, 0, 0, 0}, {265, 771, 1285, 4369, 0, 0, 0}, {266, 4386, 768, 1024, 0, 0, 0}, {1295, 771, 16448, 0, 0, 0, 0}, {268, 512, 4420, 1280, 0, 0, 0}, {783, 8224, 1285, 0, 0, 0, 0}, {1290, 1542, 16448, 0, 0, 0, 0}, {271, 4471, 512, 1024, 0, 0, 0}, {136, 256, 0, 0, 0, 0, 0}, {771, 1285, 4112, 0, 0, 0, 0}, {1290, 4128, 768, 0, 0, 0, 0}, {259, 17476, 0, 0, 0, 0, 0}, {780, 4160, 1280, 0, 0, 0, 0}, {8738, 261, 0, 0, 0, 0, 0}, {262, 17476, 0, 0, 0, 0, 0}, {1295, 4208, 1536, 0, 0, 0, 0}, {6400, 816, 1360, 0, 0, 0, 0}, {281, 819, 1365, 4369, 0, 0, 0}, {282, 4386, 4626, 1088, 0, 0, 0}, {1375, 819, 16384, 0, 0, 0, 0}, {284, 544, 4420, 5140, 0, 0, 0}, {831, 8192, 1365, 0, 0, 0, 0}, {1370, 1638, 16384, 0, 0, 0, 0}, {287, 5431, 5911, 1088, 0, 0, 0}, {2056, 272, 0, 0, 0, 0, 0}, {819, 1365, 4096, 0, 0, 0, 0}, {1370, 4144, 4864, 0, 0, 0, 0}, {275, 17476, 0, 0, 0, 0, 0}, {828, 4176, 5376, 0, 0, 0, 0}, {8738, 277, 0, 0, 0, 0, 0}, {278, 17476, 0, 0, 0, 0, 0}, {1375, 4192, 5632, 0, 0, 0, 0}, {4256, 768, 5376, 0, 0, 0, 0}, {297, 771, 1028, 4369, 0, 0, 0}, {4104, 4386, 768, 5120, 0, 0, 0}, {5439, 771, 20560, 0, 0, 0, 0}, {780, 544, 4420, 1028, 0, 0, 0}, {783, 8192, 5461, 0, 0, 0, 0}, {780, 5734, 20480, 0, 0, 0, 0}, {1032, 1319, 1799, 5200, 0, 0, 0}, {1032, 288, 768, 4352, 0, 0, 0}, {4144, 771, 21845, 0, 0, 0, 0}, {1450, 768, 4096, 0, 0, 0, 0}, {291, 771, 1028, 4112, 0, 0, 0}, {780, 4192, 21760, 0, 0, 0, 0}, {1032, 293, 1799, 4437, 0, 0, 0}, {780, 294, 4160, 1028, 0, 0, 0}, {783, 9728, 4176, 0, 0, 0, 0}, {2560, 816, 5440, 0, 0, 0, 0}, {522, 819, 1092, 4369, 0, 0, 0}, {4120, 4386, 4626, 5200, 0, 0, 0}, {5708, 819, 20480, 0, 0, 0, 0}, {316, 512, 4420, 5376, 0, 0, 0}, {831, 8224, 5397, 0, 0, 0, 0}, {5418, 5654, 20560, 0, 0, 0, 0}, {4168, 4471, 512, 5120, 0, 0, 0}, {1096, 304, 512, 4352, 0, 0, 0}, {4128, 4883, 21845, 0, 0, 0, 0}, {2570, 816, 4112, 0, 0, 0, 0}, {307, 512, 1092, 4096, 0, 0, 0}, {4940, 4208, 21760, 0, 0, 0, 0}, {5405, 309, 5911, 4437, 0, 0, 0}, {522, 310, 4176, 5140, 0, 0, 0}, {831, 13824, 4160, 0, 0, 0, 0}, {4288, 4864, 1280, 0, 0, 0, 0}, {329, 514, 1285, 4369, 0, 0, 0}, {1290, 4386, 514, 1088, 0, 0, 0}, {1295, 4915, 16384, 0, 0, 0, 0}, {4104, 4608, 4420, 1280, 0, 0, 0}, {4959, 12336, 1285, 0, 0, 0, 0}, {1290, 5734, 16384, 0, 0, 0, 0}, {1295, 5431, 1799, 1088, 0, 0, 0}, {520, 320, 1280, 4352, 0, 0, 0}, {13107, 4176, 1285, 0, 0, 0, 0}, {1290, 4192, 17152, 0, 0, 0, 0}, {323, 17476, 0, 0, 0, 0, 0}, {972, 1280, 4096, 0, 0, 0, 0}, {514, 325, 1285, 4112, 0, 0, 0}, {326, 17476, 0, 0, 0, 0, 0}, {1295, 4144, 17920, 0, 0, 0, 0}, {3072, 4896, 1360, 0, 0, 0, 0}, {1036, 546, 1365, 4369, 0, 0, 0}, {346, 4386, 4864, 1024, 0, 0, 0}, {1375, 4883, 16448, 0, 0, 0, 0}, {4120, 4656, 4420, 5140, 0, 0, 0}, {5674, 12288, 1365, 0, 0, 0, 0}, {1370, 5654, 16448, 0, 0, 0, 0}, {351, 4471, 4608, 1024, 0, 0, 0}, {552, 336, 1024, 4352, 0, 0, 0}, {13107, 4160, 5397, 0, 0, 0, 0}, {1370, 4208, 21248, 0, 0, 0, 0}, {339, 17476, 0, 0, 0, 0, 0}, {3084, 1360, 4112, 0, 0, 0, 0}, {546, 341, 1024, 4096, 0, 0, 0}, {342, 17476, 0, 0, 0, 0, 0}, {1375, 4128, 22016, 0, 0, 0, 0}, {3840, 4896, 5440, 0, 0, 0, 0}, {1807, 546, 1092, 4369, 0, 0, 0}, {4168, 4386, 4864, 5120, 0, 0, 0}, {5503, 4883, 20560, 0, 0, 0, 0}, {4136, 4608, 4420, 5376, 0, 0, 0}, {4991, 12336, 5397, 0, 0, 0, 0}, {4940, 1638, 20480, 0, 0, 0, 0}, {4120, 1319, 5911, 5200, 0, 0, 0}, {1096, 352, 1792, 4352, 0, 0, 0}, {4208, 5654, 21845, 0, 0, 0, 0}, {5674, 13056, 4160, 0, 0, 0, 0}, {4891, 4403, 4176, 5140, 0, 0, 0}, {5708, 4128, 21760, 0, 0, 0, 0}, {5405, 4144, 4626, 4437, 0, 0, 0}, {1314, 1792, 1092, 4096, 0, 0, 0}, {3855, 1632, 4112, 0, 0, 0, 0}, {4336, 4864, 5376, 0, 0, 0, 0}, {377, 514, 1028, 4369, 0, 0, 0}, {1032, 4386, 514, 5200, 0, 0, 0}, {1548, 4915, 20480, 0, 0, 0, 0}, {520, 4656, 4420, 1028, 0, 0, 0}, {1546, 12288, 5461, 0, 0, 0, 0}, {5482, 1542, 20560, 0, 0, 0, 0}, {4104, 4471, 4608, 5120, 0, 0, 0}, {1032, 368, 1536, 4352, 0, 0, 0}, {4192, 1542, 21845, 0, 0, 0, 0}, {1546, 13056, 4176, 0, 0, 0, 0}, {520, 4403, 4160, 1028, 0, 0, 0}, {1548, 4144, 21760, 0, 0, 0, 0}, {1032, 4128, 514, 4437, 0, 0, 0}, {374, 514, 1028, 4112, 0, 0, 0}, {1535, 1536, 4096, 0, 0, 0, 0}, {2560, 8192, 0, 0, 0, 0, 0}, {3, 68, 257, 0, 0, 0, 0}, {136, 514, 0, 0, 0, 0, 0}, {3, 1280, 4096, 0, 0, 0, 0}, {12, 516, 68, 1028, 0, 0, 0}, {15, 8272, 1285, 0, 0, 0, 0}, {12, 1542, 16384, 0, 0, 0, 0}, {15, 119, 519, 1280, 0, 0, 0}, {520, 8704, 0, 0, 0, 0, 0}, {3, 4176, 1285, 0, 0, 0, 0}, {8352, 2570, 0, 0, 0, 0, 0}, {3, 260, 4352, 0, 0, 0, 0}, {12, 1536, 16384, 0, 0, 0, 0}, {15, 119, 514, 1285, 0, 0, 0}, {12, 514, 68, 1028, 0, 0, 0}, {15, 8192, 1280, 0, 0, 0, 0}, {2640, 48, 4112, 0, 0, 0, 0}, {51, 529, 68, 4369, 0, 0, 0}, {72, 48, 530, 4096, 0, 0, 0}, {51, 4883, 21760, 0, 0, 0, 0}, {60, 532, 68, 5140, 0, 0, 0}, {63, 8256, 5397, 0, 0, 0, 0}, {60, 5654, 20480, 0, 0, 0, 0}, {72, 119, 535, 5376, 0, 0, 0}, {4120, 48, 4608, 4176, 0, 0, 0}, {4940, 51, 21845, 0, 0, 0, 0}, {6682, 48, 4160, 0, 0, 0, 0}, {539, 51, 68, 4352, 0, 0, 0}, {5708, 5744, 20560, 0, 0, 0, 0}, {5405, 5410, 5888, 5461, 0, 0, 0}, {542, 546, 68, 5120, 0, 0, 0}, {63, 8224, 5440, 0, 0, 0, 0}, {2720, 8224, 0, 0, 0, 0, 0}, {3, 1024, 273, 0, 0, 0, 0}, {2048, 546, 0, 0, 0, 0, 0}, {3, 1360, 4112, 0, 0, 0, 0}, {12, 548, 68, 1024, 0, 0, 0}, {15, 9509, 1365, 0, 0, 0, 0}, {12, 1638, 16448, 0, 0, 0, 0}, {15, 1319, 1792, 1360, 0, 0, 0}, {552, 8704, 0, 0, 0, 0, 0}, {3, 4160, 5397, 0, 0, 0, 0}, {8320, 10794, 0, 0, 0, 0, 0}, {3, 276, 4352, 0, 0, 0, 0}, {12, 1632, 16448, 0, 0, 0, 0}, {15, 1314, 1792, 1365, 0, 0, 0}, {12, 546, 68, 1024, 0, 0, 0}, {15, 8224, 1360, 0, 0, 0, 0}, {2560, 48, 4096, 0, 0, 0, 0}, {51, 514, 68, 4369, 0, 0, 0}, {72, 48, 514, 4112, 0, 0, 0}, {51, 4864, 21760, 0, 0, 0, 0}, {520, 564, 68, 5120, 0, 0, 0}, {63, 13621, 5461, 0, 0, 0, 0}, {5722, 5734, 20560, 0, 0, 0, 0}, {5384, 5431, 5888, 5440, 0, 0, 0}, {4104, 48, 4608, 4160, 0, 0, 0}, {4959, 51, 21845, 0, 0, 0, 0}, {2570, 48, 4176, 0, 0, 0, 0}, {520, 51, 68, 4352, 0, 0, 0}, {60, 5632, 20480, 0, 0, 0, 0}, {72, 119, 514, 5397, 0, 0, 0}, {60, 514, 68, 5140, 0, 0, 0}, {63, 8192, 5376, 0, 0, 0, 0}, {192, 2560, 8256, 16448, 0, 0, 0}, {15, 51, 517, 68, 1285, 4369, 0}, {72, 578, 16384, 0, 0, 0, 0}, {15, 51, 4931, 1280, 0, 0, 0}, {512, 68, 0, 0, 0, 0, 0}, {15, 48, 1285, 4112, 0, 0, 0}, {204, 17990, 0, 0, 0, 0, 0}, {71, 1280, 4096, 0, 0, 0, 0}, {72, 512, 16384, 0, 0, 0, 0}, {15, 51, 4883, 1285, 0, 0, 0}, {192, 2570, 8224, 16448, 0, 0, 0}, {15, 51, 512, 68, 1280, 4352, 0}, {17996, 26112, 0, 0, 0, 0, 0}, {4119, 4176, 1285, 0, 0, 0, 0}, {522, 8738, 68, 0, 0, 0, 0}, {15, 48, 4160, 1280, 0, 0, 0}, {240, 2640, 8272, 20560, 0, 0, 0}, {12, 51, 533, 68, 1028, 4369, 0}, {120, 594, 20480, 0, 0, 0, 0}, {12, 51, 4947, 5376, 0, 0, 0}, {12, 48, 528, 68, 1028, 4112, 0}, {255, 2645, 8192, 21845, 0, 0, 0}, {12, 48, 1622, 4096, 0, 0, 0}, {119, 599, 21760, 0, 0, 0, 0}, {600, 544, 20560, 0, 0, 0, 0}, {12, 51, 4864, 5461, 0, 0, 0}, {240, 2650, 8192, 20480, 0, 0, 0}, {12, 51, 531, 68, 1028, 4352, 0}, {12, 48, 5632, 4176, 0, 0, 0}, {605, 119, 21845, 0, 0, 0, 0}, {48, 4626, 4100, 0, 0, 0, 0}, {8287, 21760, 0, 0, 0, 0, 0}, {192, 2656, 8288, 16384, 0, 0, 0}, {15, 51, 534, 68, 1297, 4369, 0}, {72, 610, 16448, 0, 0, 0, 0}, {15, 51, 5632, 1360, 0, 0, 0}, {2056, 544, 68, 0, 0, 0, 0}, {15, 48, 1365, 4096, 0, 0, 0}, {19456, 18022, 0, 0, 0, 0, 0}, {1303, 1360, 4112, 0, 0, 0, 0}, {72, 544, 16448, 0, 0, 0, 0}, {15, 51, 4864, 1365, 0, 0, 0}, {192, 2666, 8192, 16384, 0, 0, 0}, {15, 51, 531, 68, 1300, 4352, 0}, {18028, 26112, 0, 0, 0, 0, 0}, {4103, 4160, 5397, 0, 0, 0, 0}, {554, 8738, 68, 0, 0, 0, 0}, {15, 48, 4176, 5376, 0, 0, 0}, {240, 2560, 8304, 20480, 0, 0, 0}, {12, 51, 518, 68, 1024, 4369, 0}, {522, 626, 20560, 0, 0, 0, 0}, {12, 51, 1536, 5440, 0, 0, 0}, {12, 48, 512, 68, 1024, 4096, 0}, {255, 2570, 8224, 21845, 0, 0, 0}, {12, 48, 1542, 4112, 0, 0, 0}, {119, 512, 21760, 0, 0, 0, 0}, {120, 512, 20480, 0, 0, 0, 0}, {12, 51, 4883, 5397, 0, 0, 0}, {240, 2570, 8224, 20560, 0, 0, 0}, {12, 51, 512, 68, 1024, 4352, 0}, {12, 48, 1536, 4160, 0, 0, 0}, {522, 119, 21845, 0, 0, 0, 0}, {48, 4626, 4116, 0, 0, 0, 0}, {8319, 21760, 0, 0, 0, 0, 0}, {8320, 2560, 0, 0, 0, 0, 0}, {3, 261, 4369, 0, 0, 0, 0}, {522, 8738, 0, 0, 0, 0, 0}, {3, 4160, 1280, 0, 0, 0, 0}, {12, 512, 68, 1024, 0, 0, 0}, {15, 8224, 1285, 0, 0, 0, 0}, {12, 1542, 16448, 0, 0, 0, 0}, {15, 119, 512, 1280, 0, 0, 0}, {136, 512, 0, 0, 0, 0, 0}, {3, 1285, 4112, 0, 0, 0, 0}, {2570, 8224, 0, 0, 0, 0, 0}, {3, 68, 256, 0, 0, 0, 0}, {12, 1536, 16448, 0, 0, 0, 0}, {15, 119, 517, 1285, 0, 0, 0}, {12, 518, 68, 1024, 0, 0, 0}, {15, 8304, 1280, 0, 0, 0, 0}, {6656, 48, 4176, 0, 0, 0, 0}, {537, 51, 68, 4369, 0, 0, 0}, {4104, 48, 4626, 4160, 0, 0, 0}, {4959, 51, 21760, 0, 0, 0, 0}, {540, 544, 68, 5140, 0, 0, 0}, {63, 8192, 5461, 0, 0, 0, 0}, {5722, 5734, 20480, 0, 0, 0, 0}, {5384, 5431, 5911, 5440, 0, 0, 0}, {72, 48, 528, 4112, 0, 0, 0}, {51, 4864, 21845, 0, 0, 0, 0}, {2650, 48, 4096, 0, 0, 0, 0}, {51, 531, 68, 4352, 0, 0, 0}, {60, 5632, 20560, 0, 0, 0, 0}, {72, 119, 533, 5397, 0, 0, 0}, {60, 534, 68, 5120, 0, 0, 0}, {63, 8288, 5376, 0, 0, 0, 0}, {8352, 10752, 0, 0, 0, 0, 0}, {3, 277, 4369, 0, 0, 0, 0}, {554, 8738, 0, 0, 0, 0, 0}, {3, 4176, 5376, 0, 0, 0, 0}, {12, 544, 68, 1028, 0, 0, 0}, {15, 8192, 1365, 0, 0, 0, 0}, {12, 1638, 16384, 0, 0, 0, 0}, {15, 1319, 1799, 1360, 0, 0, 0}, {2056, 544, 0, 0, 0, 0, 0}, {3, 1365, 4096, 0, 0, 0, 0}, {2730, 8192, 0, 0, 0, 0, 0}, {3, 1028, 272, 0, 0, 0, 0}, {12, 1632, 16384, 0, 0, 0, 0}, {15, 1314, 1799, 1365, 0, 0, 0}, {12, 550, 68, 1028, 0, 0, 0}, {15, 9472, 1360, 0, 0, 0, 0}, {2560, 48, 4160, 0, 0, 0, 0}, {522, 51, 68, 4369, 0, 0, 0}, {4120, 48, 4626, 4176, 0, 0, 0}, {4940, 51, 21760, 0, 0, 0, 0}, {60, 512, 68, 5120, 0, 0, 0}, {63, 8224, 5397, 0, 0, 0, 0}, {60, 5654, 20560, 0, 0, 0, 0}, {72, 119, 512, 5376, 0, 0, 0}, {72, 48, 512, 4096, 0, 0, 0}, {51, 4883, 21845, 0, 0, 0, 0}, {2570, 48, 4112, 0, 0, 0, 0}, {51, 512, 68, 4352, 0, 0, 0}, {5708, 5744, 20480, 0, 0, 0, 0}, {5405, 5410, 5911, 5461, 0, 0, 0}, {522, 566, 68, 5140, 0, 0, 0}, {63, 13568, 5440, 0, 0, 0, 0}, {192, 2560, 8192, 16384, 0, 0, 0}, {15, 51, 514, 68, 1285, 4369, 0}, {72, 514, 16448, 0, 0, 0, 0}, {15, 51, 4864, 1280, 0, 0, 0}, {520, 8704, 68, 0, 0, 0, 0}, {15, 48, 4176, 1285, 0, 0, 0}, {17930, 26214, 0, 0, 0, 0, 0}, {4103, 4160, 1280, 0, 0, 0, 0}, {72, 576, 16448, 0, 0, 0, 0}, {15, 51, 4944, 1285, 0, 0, 0}, {192, 2570, 8288, 16384, 0, 0, 0}, {15, 51, 519, 68, 1280, 4352, 0}, {204, 17920, 0, 0, 0, 0, 0}, {71, 1285, 4112, 0, 0, 0, 0}, {514, 68, 0, 0, 0, 0, 0}, {15, 48, 1280, 4096, 0, 0, 0}, {240, 2640, 8224, 20560, 0, 0, 0}, {12, 51, 529, 68, 1024, 4369, 0}, {602, 546, 20480, 0, 0, 0, 0}, {12, 51, 4883, 5440, 0, 0, 0}, {48, 4608, 4116, 0, 0, 0, 0}, {8319, 21845, 0, 0, 0, 0, 0}, {12, 48, 5654, 4160, 0, 0, 0}, {607, 119, 21760, 0, 0, 0, 0}, {120, 592, 20560, 0, 0, 0, 0}, {12, 51, 4928, 5397, 0, 0, 0}, {240, 2650, 8304, 20480, 0, 0, 0}, {12, 51, 535, 68, 1024, 4352, 0}, {12, 48, 1616, 4112, 0, 0, 0}, {119, 597, 21845, 0, 0, 0, 0}, {12, 48, 530, 68, 1024, 4096, 0}, {255, 2655, 8224, 21760, 0, 0, 0}, {192, 2656, 8224, 16448, 0, 0, 0}, {15, 51, 529, 68, 1297, 4369, 0}, {72, 546, 16384, 0, 0, 0, 0}, {15, 51, 4883, 1360, 0, 0, 0}, {552, 8704, 68, 0, 0, 0, 0}, {15, 48, 4160, 5397, 0, 0, 0}, {17962, 26214, 0, 0, 0, 0, 0}, {4119, 4176, 5376, 0, 0, 0, 0}, {72, 608, 16384, 0, 0, 0, 0}, {15, 51, 5654, 1365, 0, 0, 0}, {192, 2666, 8256, 16448, 0, 0, 0}, {15, 51, 532, 68, 1300, 4352, 0}, {19532, 17952, 0, 0, 0, 0, 0}, {1298, 1365, 4096, 0, 0, 0, 0}, {2048, 546, 68, 0, 0, 0, 0}, {15, 48, 1360, 4112, 0, 0, 0}, {240, 2560, 8192, 20480, 0, 0, 0}, {12, 51, 514, 68, 1028, 4369, 0}, {120, 514, 20560, 0, 0, 0, 0}, {12, 51, 4864, 5376, 0, 0, 0}, {48, 4608, 4100, 0, 0, 0, 0}, {8287, 21845, 0, 0, 0, 0, 0}, {12, 48, 1542, 4176, 0, 0, 0}, {520, 119, 21760, 0, 0, 0, 0}, {520, 624, 20480, 0, 0, 0, 0}, {12, 51, 1542, 5461, 0, 0, 0}, {240, 2570, 8272, 20560, 0, 0, 0}, {12, 51, 516, 68, 1028, 4352, 0}, {12, 48, 1536, 4096, 0, 0, 0}, {119, 514, 21845, 0, 0, 0, 0}, {12, 48, 514, 68, 1028, 4112, 0}, {255, 2560, 8192, 21760, 0, 0, 0}, {768, 17408, 0, 0, 0, 0, 0}, {10, 32, 257, 0, 0, 0, 0}, {258, 1280, 4096, 0, 0, 0, 0}, {17612, 771, 0, 0, 0, 0, 0}, {780, 12352, 1028, 0, 0, 0, 0}, {10, 773, 4437, 1285, 0, 0, 0}, {10, 4454, 774, 1280, 0, 0, 0}, {1032, 1799, 16384, 0, 0, 0, 0}, {1032, 768, 16384, 0, 0, 0, 0}, {10, 4403, 771, 1285, 0, 0, 0}, {10, 768, 1280, 4352, 0, 0, 0}, {128, 771, 1028, 0, 0, 0, 0}, {780, 30464, 0, 0, 0, 0, 0}, {263, 4176, 1285, 0, 0, 0, 0}, {32, 514, 260, 0, 0, 0, 0}, {783, 17408, 0, 0, 0, 0, 0}, {32, 784, 1088, 4112, 0, 0, 0}, {3925, 819, 4369, 0, 0, 0, 0}, {4386, 4626, 21760, 0, 0, 0, 0}, {1100, 32, 787, 4096, 0, 0, 0}, {828, 12368, 5140, 0, 0, 0, 0}, {42, 789, 4437, 5397, 0, 0, 0}, {4428, 4454, 790, 5376, 0, 0, 0}, {5160, 5911, 20480, 0, 0, 0, 0}, {5960, 816, 20560, 0, 0, 0, 0}, {4377, 4403, 4608, 5461, 0, 0, 0}, {794, 816, 1088, 4352, 0, 0, 0}, {6939, 819, 5188, 0, 0, 0, 0}, {5148, 32, 5888, 4176, 0, 0, 0}, {4680, 4471, 21845, 0, 0, 0, 0}, {828, 8738, 4420, 0, 0, 0, 0}, {799, 32, 4160, 5120, 0, 0, 0}, {32, 768, 1024, 4096, 0, 0, 0}, {170, 771, 4369, 0, 0, 0, 0}, {4386, 768, 21760, 0, 0, 0, 0}, {1036, 32, 771, 4112, 0, 0, 0}, {780, 9252, 5188, 0, 0, 0, 0}, {783, 805, 4437, 1024, 0, 0, 0}, {1036, 1062, 1792, 5440, 0, 0, 0}, {783, 6007, 20560, 0, 0, 0, 0}, {5160, 768, 20480, 0, 0, 0, 0}, {4377, 4403, 771, 5397, 0, 0, 0}, {42, 768, 1024, 4352, 0, 0, 0}, {160, 771, 5140, 0, 0, 0, 0}, {1036, 32, 1792, 4160, 0, 0, 0}, {783, 4471, 21845, 0, 0, 0, 0}, {780, 8738, 4420, 0, 0, 0, 0}, {783, 32, 4176, 1024, 0, 0, 0}, {816, 17408, 0, 0, 0, 0, 0}, {10, 514, 273, 0, 0, 0, 0}, {274, 1360, 4112, 0, 0, 0, 0}, {18432, 819, 0, 0, 0, 0, 0}, {828, 13364, 1092, 0, 0, 0, 0}, {10, 821, 4437, 5120, 0, 0, 0}, {10, 5174, 5888, 1360, 0, 0, 0}, {1096, 1911, 16448, 0, 0, 0, 0}, {1096, 816, 16448, 0, 0, 0, 0}, {10, 4403, 4608, 1365, 0, 0, 0}, {10, 816, 1360, 4352, 0, 0, 0}, {2056, 819, 1092, 0, 0, 0, 0}, {828, 30464, 0, 0, 0, 0, 0}, {279, 4160, 5397, 0, 0, 0, 0}, {32, 514, 276, 0, 0, 0, 0}, {831, 17408, 0, 0, 0, 0, 0}, {1792, 1088, 0, 0, 0, 0, 0}, {10, 867, 1285, 4369, 0, 0, 0}, {10, 4386, 4674, 1280, 0, 0, 0}, {1100, 835, 16384, 0, 0, 0, 0}, {972, 3840, 12288, 17476, 0, 0, 0}, {10, 32, 512, 325, 1285, 4112, 0}, {326, 1280, 4096, 0, 0, 0, 0}, {17544, 18247, 0, 0, 0, 0, 0}, {18248, 13056, 0, 0, 0, 0, 0}, {4371, 4176, 1285, 0, 0, 0, 0}, {10, 32, 512, 320, 1280, 4352, 0}, {963, 3855, 13107, 17476, 0, 0, 0}, {1100, 1792, 16384, 0, 0, 0, 0}, {10, 4471, 4626, 1285, 0, 0, 0}, {10, 4642, 4420, 1280, 0, 0, 0}, {1807, 12336, 1088, 0, 0, 0, 0}, {5888, 5200, 0, 0, 0, 0, 0}, {857, 883, 1028, 4369, 0, 0, 0}, {4360, 4386, 4690, 5376, 0, 0, 0}, {5228, 851, 20480, 0, 0, 0, 0}, {860, 32, 1028, 4112, 0, 0, 0}, {4608, 4437, 0, 0, 0, 0, 0}, {4454, 854, 21760, 0, 0, 0, 0}, {1032, 32, 1879, 4096, 0, 0, 0}, {1032, 32, 4864, 4176, 0, 0, 0}, {857, 4403, 21845, 0, 0, 0, 0}, {858, 4352, 0, 0, 0, 0, 0}, {32, 4883, 4160, 1028, 0, 0, 0}, {860, 5984, 20560, 0, 0, 0, 0}, {1032, 1058, 5632, 5461, 0, 0, 0}, {42, 4626, 4420, 1028, 0, 0, 0}, {863, 12288, 5120, 0, 0, 0, 0}, {864, 5120, 0, 0, 0, 0, 0}, {42, 1799, 1092, 4369, 0, 0, 0}, {4360, 4386, 5632, 5440, 0, 0, 0}, {5983, 867, 20560, 0, 0, 0, 0}, {1800, 32, 1092, 4096, 0, 0, 0}, {3855, 4656, 4437, 0, 0, 0, 0}, {4454, 4608, 21760, 0, 0, 0, 0}, {1096, 32, 1799, 4112, 0, 0, 0}, {5128, 32, 4864, 4160, 0, 0, 0}, {4698, 4403, 21845, 0, 0, 0, 0}, {874, 4352, 0, 0, 0, 0, 0}, {32, 4883, 4176, 5140, 0, 0, 0}, {5228, 5888, 20480, 0, 0, 0, 0}, {4445, 4471, 4626, 5397, 0, 0, 0}, {4616, 4642, 4420, 5376, 0, 0, 0}, {5951, 12336, 5200, 0, 0, 0, 0}, {880, 1024, 0, 0, 0, 0, 0}, {10, 1542, 1365, 4369, 0, 0, 0}, {10, 4386, 1536, 1360, 0, 0, 0}, {1036, 883, 16448, 0, 0, 0, 0}, {1020, 3084, 12336, 17476, 0, 0, 0}, {10, 32, 512, 341, 1024, 4096, 0}, {1030, 1360, 4112, 0, 0, 0, 0}, {3072, 18295, 0, 0, 0, 0, 0}, {18296, 13056, 0, 0, 0, 0, 0}, {4371, 4160, 5397, 0, 0, 0, 0}, {10, 32, 512, 336, 1024, 4352, 0}, {1011, 3084, 13107, 17476, 0, 0, 0}, {1036, 1904, 16448, 0, 0, 0, 0}, {10, 5154, 1536, 1365, 0, 0, 0}, {10, 4626, 4420, 5140, 0, 0, 0}, {895, 12288, 1024, 0, 0, 0, 0}, {128, 768, 1024, 0, 0, 0, 0}, {10, 771, 1285, 4369, 0, 0, 0}, {10, 4386, 768, 1280, 0, 0, 0}, {1036, 771, 16448, 0, 0, 0, 0}, {780, 17476, 0, 0, 0, 0, 0}, {32, 512, 261, 0, 0, 0, 0}, {262, 4160, 1280, 0, 0, 0, 0}, {783, 30583, 0, 0, 0, 0, 0}, {17544, 768, 0, 0, 0, 0, 0}, {259, 1285, 4112, 0, 0, 0, 0}, {10, 32, 256, 0, 0, 0, 0}, {771, 17476, 0, 0, 0, 0, 0}, {1036, 1792, 16448, 0, 0, 0, 0}, {10, 4471, 773, 1285, 0, 0, 0}, {10, 774, 4420, 1280, 0, 0, 0}, {783, 12400, 1024, 0, 0, 0, 0}, {6912, 816, 5200, 0, 0, 0, 0}, {793, 819, 1092, 4369, 0, 0, 0}, {4360, 4386, 4626, 5440, 0, 0, 0}, {5983, 819, 20480, 0, 0, 0, 0}, {796, 32, 4176, 5140, 0, 0, 0}, {831, 8704, 4437, 0, 0, 0, 0}, {4698, 4454, 21760, 0, 0, 0, 0}, {5128, 32, 5911, 4160, 0, 0, 0}, {1096, 32, 784, 4112, 0, 0, 0}, {4403, 4608, 21845, 0, 0, 0, 0}, {3930, 816, 4352, 0, 0, 0, 0}, {32, 787, 1092, 4096, 0, 0, 0}, {5180, 5888, 20560, 0, 0, 0, 0}, {4445, 4471, 789, 5397, 0, 0, 0}, {42, 790, 4420, 5376, 0, 0, 0}, {831, 12384, 5120, 0, 0, 0, 0}, {160, 768, 5120, 0, 0, 0, 0}, {42, 771, 1028, 4369, 0, 0, 0}, {4360, 4386, 768, 5376, 0, 0, 0}, {5180, 771, 20560, 0, 0, 0, 0}, {780, 32, 4160, 1028, 0, 0, 0}, {783, 8704, 4437, 0, 0, 0, 0}, {780, 4454, 21760, 0, 0, 0, 0}, {1032, 32, 1799, 4176, 0, 0, 0}, {1032, 32, 768, 4096, 0, 0, 0}, {4403, 771, 21845, 0, 0, 0, 0}, {170, 768, 4352, 0, 0, 0, 0}, {32, 771, 1028, 4112, 0, 0, 0}, {780, 5984, 20480, 0, 0, 0, 0}, {1032, 1058, 1799, 5461, 0, 0, 0}, {780, 806, 4420, 1028, 0, 0, 0}, {783, 9216, 5200, 0, 0, 0, 0}, {2048, 816, 1088, 0, 0, 0, 0}, {10, 819, 1365, 4369, 0, 0, 0}, {10, 4386, 4626, 1360, 0, 0, 0}, {1100, 819, 16384, 0, 0, 0, 0}, {828, 17476, 0, 0, 0, 0, 0}, {32, 512, 277, 0, 0, 0, 0}, {278, 4176, 5376, 0, 0, 0, 0}, {831, 30583, 0, 0, 0, 0, 0}, {18504, 816, 0, 0, 0, 0, 0}, {275, 1365, 4096, 0, 0, 0, 0}, {10, 512, 272, 0, 0, 0, 0}, {819, 17476, 0, 0, 0, 0, 0}, {1100, 1904, 16384, 0, 0, 0, 0}, {10, 5154, 5911, 1365, 0, 0, 0}, {10, 822, 4420, 5140, 0, 0, 0}, {831, 13312, 1088, 0, 0, 0, 0}, {960, 3840, 13056, 17408, 0, 0, 0}, {10, 32, 514, 321, 1285, 4369, 0}, {4354, 4160, 1280, 0, 0, 0, 0}, {18191, 13107, 0, 0, 0, 0, 0}, {1800, 12288, 1092, 0, 0, 0, 0}, {10, 4656, 4437, 1285, 0, 0, 0}, {10, 4454, 4608, 1280, 0, 0, 0}, {1096, 1799, 16448, 0, 0, 0, 0}, {1096, 832, 16448, 0, 0, 0, 0}, {10, 4403, 4688, 1285, 0, 0, 0}, {10, 864, 1280, 4352, 0, 0, 0}, {1799, 1092, 0, 0, 0, 0, 0}, {17612, 18176, 0, 0, 0, 0, 0}, {327, 1285, 4112, 0, 0, 0, 0}, {10, 32, 514, 324, 1280, 4096, 0}, {975, 3855, 12336, 17408, 0, 0, 0}, {32, 4864, 4176, 1024, 0, 0, 0}, {857, 4369, 0, 0, 0, 0, 0}, {858, 4386, 21760, 0, 0, 0, 0}, {1036, 32, 4883, 4160, 0, 0, 0}, {860, 12336, 5140, 0, 0, 0, 0}, {42, 4608, 4437, 1024, 0, 0, 0}, {1036, 1062, 5654, 5440, 0, 0, 0}, {863, 6007, 20480, 0, 0, 0, 0}, {5240, 848, 20560, 0, 0, 0, 0}, {4377, 4403, 4672, 5397, 0, 0, 0}, {858, 880, 1024, 4352, 0, 0, 0}, {5911, 5188, 0, 0, 0, 0, 0}, {1036, 32, 1872, 4112, 0, 0, 0}, {4471, 853, 21845, 0, 0, 0, 0}, {4626, 4420, 0, 0, 0, 0, 0}, {863, 32, 1024, 4096, 0, 0, 0}, {32, 4864, 4160, 5120, 0, 0, 0}, {873, 4369, 0, 0, 0, 0, 0}, {4680, 4386, 21760, 0, 0, 0, 0}, {5148, 32, 4883, 4176, 0, 0, 0}, {5928, 12288, 5188, 0, 0, 0, 0}, {4634, 4656, 4437, 5397, 0, 0, 0}, {4428, 4454, 4608, 5376, 0, 0, 0}, {5240, 5911, 20560, 0, 0, 0, 0}, {5960, 864, 20480, 0, 0, 0, 0}, {4377, 4403, 5654, 5461, 0, 0, 0}, {42, 1792, 1088, 4352, 0, 0, 0}, {867, 5140, 0, 0, 0, 0, 0}, {1100, 32, 1792, 4096, 0, 0, 0}, {4471, 4626, 21845, 0, 0, 0, 0}, {3840, 4642, 4420, 0, 0, 0, 0}, {1807, 32, 1088, 4112, 0, 0, 0}, {1008, 3072, 13056, 17408, 0, 0, 0}, {10, 32, 514, 337, 1028, 4369, 0}, {4354, 4176, 5376, 0, 0, 0, 0}, {18239, 13107, 0, 0, 0, 0, 0}, {892, 12336, 1028, 0, 0, 0, 0}, {10, 4608, 4437, 5120, 0, 0, 0}, {10, 5174, 1542, 1360, 0, 0, 0}, {1032, 1911, 16384, 0, 0, 0, 0}, {1032, 880, 16384, 0, 0, 0, 0}, {10, 4403, 1542, 1365, 0, 0, 0}, {10, 1536, 1360, 4352, 0, 0, 0}, {883, 1028, 0, 0, 0, 0, 0}, {3084, 18224, 0, 0, 0, 0, 0}, {1026, 1365, 4096, 0, 0, 0, 0}, {10, 32, 514, 340, 1028, 4112, 0}, {1023, 3072, 12288, 17408, 0, 0, 0}, {3072, 16384, 0, 0, 0, 0, 0}, {34, 5, 257, 0, 0, 0, 0}, {1026, 17408, 0, 0, 0, 0, 0}, {15, 16432, 771, 0, 0, 0, 0}, {136, 1028, 0, 0, 0, 0, 0}, {768, 5, 4096, 0, 0, 0, 0}, {10, 16480, 1542, 0, 0, 0, 0}, {1031, 17408, 0, 0, 0, 0, 0}, {1032, 17408, 0, 0, 0, 0, 0}, {4144, 771, 5, 0, 0, 0, 0}, {10, 1536, 16384, 0, 0, 0, 0}, {15, 119, 771, 1028, 0, 0, 0}, {16576, 3084, 0, 0, 0, 0, 0}, {258, 5, 4352, 0, 0, 0, 0}, {10, 34, 514, 1028, 0, 0, 0}, {15, 768, 16384, 0, 0, 0, 0}, {3120, 80, 4112, 0, 0, 0, 0}, {34, 85, 1041, 4369, 0, 0, 0}, {1042, 17408, 0, 0, 0, 0, 0}, {95, 16416, 4883, 0, 0, 0, 0}, {40, 80, 1044, 4096, 0, 0, 0}, {13056, 85, 5397, 0, 0, 0, 0}, {90, 16496, 5654, 0, 0, 0, 0}, {1047, 17408, 0, 0, 0, 0, 0}, {4120, 4144, 80, 5120, 0, 0, 0}, {5418, 13107, 85, 0, 0, 0, 0}, {90, 5744, 16448, 0, 0, 0, 0}, {1051, 1075, 5888, 1092, 0, 0, 0}, {7196, 4128, 80, 0, 0, 0, 0}, {1053, 34, 85, 4352, 0, 0, 0}, {1054, 34, 4608, 1092, 0, 0, 0}, {95, 4896, 16448, 0, 0, 0, 0}, {3072, 16416, 0, 0, 0, 0, 0}, {1027, 85, 4369, 0, 0, 0, 0}, {34, 1024, 0, 0, 0, 0, 0}, {15, 771, 80, 4112, 0, 0, 0}, {1036, 1060, 17476, 0, 0, 0, 0}, {15, 5413, 768, 85, 0, 0, 0}, {170, 3084, 9766, 16448, 0, 0, 0}, {15, 39, 768, 80, 1024, 4096, 0}, {40, 8192, 1024, 0, 0, 0, 0}, {15, 771, 85, 5397, 0, 0, 0}, {16426, 26112, 0, 0, 0, 0, 0}, {4119, 80, 5140, 0, 0, 0, 0}, {160, 3084, 8224, 16448, 0, 0, 0}, {15, 34, 768, 85, 1024, 4352, 0}, {1036, 34, 17476, 0, 0, 0, 0}, {15, 4128, 768, 80, 0, 0, 0}, {19456, 16432, 0, 0, 0, 0, 0}, {1043, 85, 4369, 0, 0, 0, 0}, {10, 34, 514, 80, 1040, 4112, 0}, {255, 3123, 13107, 16384, 0, 0, 0}, {1100, 1076, 17476, 0, 0, 0, 0}, {10, 5429, 4864, 85, 0, 0, 0}, {10, 1590, 80, 4096, 0, 0, 0}, {2056, 1079, 1088, 0, 0, 0, 0}, {1080, 12336, 1088, 0, 0, 0, 0}, {10, 4915, 85, 5376, 0, 0, 0}, {10, 4144, 5632, 80, 0, 0, 0}, {1100, 119, 17476, 0, 0, 0, 0}, {240, 3132, 12288, 16384, 0, 0, 0}, {10, 34, 514, 85, 1045, 4352, 0}, {4098, 80, 5140, 0, 0, 0, 0}, {16447, 13056, 0, 0, 0, 0, 0}, {3264, 16448, 0, 0, 0, 0, 0}, {512, 5, 273, 0, 0, 0, 0}, {1090, 17408, 0, 0, 0, 0, 0}, {15, 16496, 17219, 0, 0, 0, 0}, {2048, 1092, 0, 0, 0, 0, 0}, {816, 5, 4112, 0, 0, 0, 0}, {10, 16416, 17990, 0, 0, 0, 0}, {1095, 17408, 0, 0, 0, 0, 0}, {1096, 17408, 0, 0, 0, 0, 0}, {4128, 4883, 5, 0, 0, 0, 0}, {10, 1632, 16448, 0, 0, 0, 0}, {15, 1075, 1792, 1092, 0, 0, 0}, {16512, 19532, 0, 0, 0, 0, 0}, {274, 5, 4352, 0, 0, 0, 0}, {10, 34, 512, 1092, 0, 0, 0}, {15, 816, 16448, 0, 0, 0, 0}, {3072, 80, 4096, 0, 0, 0, 0}, {34, 85, 1028, 4369, 0, 0, 0}, {1106, 17408, 0, 0, 0, 0, 0}, {95, 16480, 21331, 0, 0, 0, 0}, {40, 80, 1028, 4112, 0, 0, 0}, {13056, 85, 5376, 0, 0, 0, 0}, {90, 16432, 22102, 0, 0, 0, 0}, {1111, 17408, 0, 0, 0, 0, 0}, {4104, 4128, 80, 5120, 0, 0, 0}, {5439, 13107, 85, 0, 0, 0, 0}, {90, 5632, 16384, 0, 0, 0, 0}, {95, 119, 4883, 1028, 0, 0, 0}, {3084, 4144, 80, 0, 0, 0, 0}, {1032, 34, 85, 4352, 0, 0, 0}, {90, 34, 4626, 1028, 0, 0, 0}, {95, 4864, 16384, 0, 0, 0, 0}, {19456, 16480, 0, 0, 0, 0, 0}, {1046, 85, 4369, 0, 0, 0, 0}, {2056, 34, 1088, 0, 0, 0, 0}, {15, 819, 80, 4096, 0, 0, 0}, {1100, 1124, 17476, 0, 0, 0, 0}, {15, 5424, 5632, 85, 0, 0, 0}, {170, 3174, 9830, 16384, 0, 0, 0}, {15, 39, 791, 80, 1040, 4112, 0}, {40, 8224, 1088, 0, 0, 0, 0}, {15, 819, 85, 5376, 0, 0, 0}, {16490, 26112, 0, 0, 0, 0, 0}, {4103, 80, 5140, 0, 0, 0, 0}, {160, 3180, 8192, 16384, 0, 0, 0}, {15, 34, 786, 85, 1045, 4352, 0}, {1100, 34, 17476, 0, 0, 0, 0}, {15, 4144, 4864, 80, 0, 0, 0}, {3072, 16496, 0, 0, 0, 0, 0}, {1030, 85, 4369, 0, 0, 0, 0}, {10, 34, 512, 80, 1024, 4096, 0}, {255, 3084, 13107, 16448, 0, 0, 0}, {1036, 1140, 17476, 0, 0, 0, 0}, {10, 5408, 1536, 85, 0, 0, 0}, {10, 1542, 80, 4112, 0, 0, 0}, {119, 1024, 0, 0, 0, 0, 0}, {120, 12288, 1024, 0, 0, 0, 0}, {10, 4883, 85, 5397, 0, 0, 0}, {10, 4128, 1536, 80, 0, 0, 0}, {1036, 119, 17476, 0, 0, 0, 0}, {240, 3084, 12336, 16448, 0, 0, 0}, {10, 34, 512, 85, 1024, 4352, 0}, {4114, 80, 5140, 0, 0, 0, 0}, {16511, 13056, 0, 0, 0, 0, 0}, {16512, 3072, 0, 0, 0, 0, 0}, {259, 5, 4369, 0, 0, 0, 0}, {10, 34, 512, 1024, 0, 0, 0}, {15, 771, 16448, 0, 0, 0, 0}, {1036, 17476, 0, 0, 0, 0, 0}, {4128, 768, 5, 0, 0, 0, 0}, {10, 1542, 16448, 0, 0, 0, 0}, {15, 119, 768, 1024, 0, 0, 0}, {136, 1024, 0, 0, 0, 0, 0}, {771, 5, 4112, 0, 0, 0, 0}, {10, 16416, 1536, 0, 0, 0, 0}, {1027, 17476, 0, 0, 0, 0, 0}, {3084, 16448, 0, 0, 0, 0, 0}, {34, 5, 256, 0, 0, 0, 0}, {1030, 17476, 0, 0, 0, 0, 0}, {15, 16496, 768, 0, 0, 0, 0}, {7168, 4144, 80, 0, 0, 0, 0}, {1049, 34, 85, 4369, 0, 0, 0}, {1050, 34, 4626, 1088, 0, 0, 0}, {95, 4915, 16384, 0, 0, 0, 0}, {4104, 4128, 80, 5140, 0, 0, 0}, {5439, 13056, 85, 0, 0, 0, 0}, {90, 5734, 16384, 0, 0, 0, 0}, {1055, 1079, 5911, 1088, 0, 0, 0}, {40, 80, 1040, 4112, 0, 0, 0}, {13107, 85, 5376, 0, 0, 0, 0}, {90, 16432, 5632, 0, 0, 0, 0}, {1043, 17476, 0, 0, 0, 0, 0}, {3132, 80, 4096, 0, 0, 0, 0}, {34, 85, 1045, 4352, 0, 0, 0}, {1046, 17476, 0, 0, 0, 0, 0}, {95, 16480, 4864, 0, 0, 0, 0}, {160, 3072, 8192, 16384, 0, 0, 0}, {15, 34, 771, 85, 1028, 4369, 0}, {1032, 34, 17408, 0, 0, 0, 0}, {15, 4144, 771, 80, 0, 0, 0}, {40, 8224, 1028, 0, 0, 0, 0}, {15, 768, 85, 5376, 0, 0, 0}, {16490, 26214, 0, 0, 0, 0, 0}, {4103, 80, 5120, 0, 0, 0, 0}, {1032, 1056, 17408, 0, 0, 0, 0}, {15, 5424, 771, 85, 0, 0, 0}, {170, 3072, 9728, 16384, 0, 0, 0}, {15, 39, 771, 80, 1028, 4112, 0}, {3084, 16480, 0, 0, 0, 0, 0}, {1031, 85, 4352, 0, 0, 0, 0}, {34, 1028, 0, 0, 0, 0, 0}, {15, 768, 80, 4096, 0, 0, 0}, {240, 3120, 12336, 16448, 0, 0, 0}, {10, 34, 512, 85, 1041, 4369, 0}, {4114, 80, 5120, 0, 0, 0, 0}, {16511, 13107, 0, 0, 0, 0, 0}, {1084, 12288, 1092, 0, 0, 0, 0}, {10, 4896, 85, 5397, 0, 0, 0}, {10, 4128, 5654, 80, 0, 0, 0}, {1096, 119, 17408, 0, 0, 0, 0}, {1096, 1072, 17408, 0, 0, 0, 0}, {10, 5408, 4883, 85, 0, 0, 0}, {10, 1584, 80, 4112, 0, 0, 0}, {2048, 1075, 1092, 0, 0, 0, 0}, {19532, 16496, 0, 0, 0, 0, 0}, {1047, 85, 4352, 0, 0, 0, 0}, {10, 34, 512, 80, 1044, 4096, 0}, {255, 3135, 13056, 16448, 0, 0, 0}, {16576, 19456, 0, 0, 0, 0, 0}, {275, 5, 4369, 0, 0, 0, 0}, {10, 34, 514, 1088, 0, 0, 0}, {15, 819, 16384, 0, 0, 0, 0}, {1100, 17476, 0, 0, 0, 0, 0}, {4144, 4864, 5, 0, 0, 0, 0}, {10, 1638, 16384, 0, 0, 0, 0}, {15, 1079, 1799, 1088, 0, 0, 0}, {2056, 1088, 0, 0, 0, 0, 0}, {819, 5, 4096, 0, 0, 0, 0}, {10, 16480, 17920, 0, 0, 0, 0}, {1091, 17476, 0, 0, 0, 0, 0}, {3276, 16384, 0, 0, 0, 0, 0}, {514, 5, 272, 0, 0, 0, 0}, {1094, 17476, 0, 0, 0, 0, 0}, {15, 16432, 17152, 0, 0, 0, 0}, {3072, 4128, 80, 0, 0, 0, 0}, {1036, 34, 85, 4369, 0, 0, 0}, {90, 34, 4608, 1024, 0, 0, 0}, {95, 4883, 16448, 0, 0, 0, 0}, {4120, 4144, 80, 5140, 0, 0, 0}, {5418, 13056, 85, 0, 0, 0, 0}, {90, 5654, 16448, 0, 0, 0, 0}, {95, 119, 4864, 1024, 0, 0, 0}, {40, 80, 1024, 4096, 0, 0, 0}, {13107, 85, 5397, 0, 0, 0, 0}, {90, 16496, 22016, 0, 0, 0, 0}, {1107, 17476, 0, 0, 0, 0, 0}, {3084, 80, 4112, 0, 0, 0, 0}, {34, 85, 1024, 4352, 0, 0, 0}, {1110, 17476, 0, 0, 0, 0, 0}, {95, 16416, 21248, 0, 0, 0, 0}, {160, 3168, 8224, 16448, 0, 0, 0}, {15, 34, 785, 85, 1041, 4369, 0}, {1096, 34, 17408, 0, 0, 0, 0}, {15, 4128, 4883, 80, 0, 0, 0}, {40, 8192, 1092, 0, 0, 0, 0}, {15, 816, 85, 5397, 0, 0, 0}, {16426, 26214, 0, 0, 0, 0, 0}, {4119, 80, 5120, 0, 0, 0, 0}, {1096, 1120, 17408, 0, 0, 0, 0}, {15, 5413, 5654, 85, 0, 0, 0}, {170, 3178, 9792, 16448, 0, 0, 0}, {15, 39, 788, 80, 1044, 4096, 0}, {19532, 16416, 0, 0, 0, 0, 0}, {1042, 85, 4352, 0, 0, 0, 0}, {2048, 34, 1092, 0, 0, 0, 0}, {15, 816, 80, 4112, 0, 0, 0}, {240, 3072, 12288, 16384, 0, 0, 0}, {10, 34, 514, 85, 1028, 4369, 0}, {4098, 80, 5120, 0, 0, 0, 0}, {16447, 13107, 0, 0, 0, 0, 0}, {120, 12336, 1028, 0, 0, 0, 0}, {10, 4864, 85, 5376, 0, 0, 0}, {10, 4144, 1542, 80, 0, 0, 0}, {1032, 119, 17408, 0, 0, 0, 0}, {1032, 1136, 17408, 0, 0, 0, 0}, {10, 5429, 1542, 85, 0, 0, 0}, {10, 1536, 80, 4096, 0, 0, 0}, {119, 1028, 0, 0, 0, 0, 0}, {3084, 16432, 0, 0, 0, 0, 0}, {1026, 85, 4352, 0, 0, 0, 0}, {10, 34, 514, 80, 1028, 4112, 0}, {255, 3072, 13056, 16384, 0, 0, 0}, {8704, 1280, 0, 0, 0, 0, 0}, {12, 64, 257, 0, 0, 0, 0}, {1290, 20512, 514, 0, 0, 0, 0}, {1283, 17408, 0, 0, 0, 0, 0}, {768, 260, 4096, 0, 0, 0, 0}, {8874, 1285, 0, 0, 0, 0, 0}, {1286, 17408, 0, 0, 0, 0, 0}, {1295, 20592, 1799, 0, 0, 0, 0}, {520, 8192, 1280, 0, 0, 0, 0}, {12, 771, 4437, 1285, 0, 0, 0}, {1290, 30464, 0, 0, 0, 0, 0}, {263, 64, 1028, 0, 0, 0, 0}, {12, 768, 1280, 4352, 0, 0, 0}, {128, 514, 1285, 0, 0, 0, 0}, {258, 64, 1028, 0, 0, 0, 0}, {1295, 8704, 0, 0, 0, 0, 0}, {544, 64, 1296, 4112, 0, 0, 0}, {3891, 1365, 4369, 0, 0, 0, 0}, {1370, 20528, 4626, 0, 0, 0, 0}, {1299, 17408, 0, 0, 0, 0, 0}, {13056, 4420, 5140, 0, 0, 0, 0}, {554, 64, 1301, 4096, 0, 0, 0}, {1302, 17408, 0, 0, 0, 0, 0}, {1375, 20576, 5911, 0, 0, 0, 0}, {5928, 12336, 1360, 0, 0, 0, 0}, {4377, 4915, 4437, 5120, 0, 0, 0}, {1306, 4144, 5888, 64, 0, 0, 0}, {1375, 4471, 17476, 0, 0, 0, 0}, {1308, 544, 1360, 4352, 0, 0, 0}, {7453, 4642, 1365, 0, 0, 0, 0}, {1370, 4386, 17476, 0, 0, 0, 0}, {1311, 4128, 4608, 64, 0, 0, 0}, {1312, 1792, 21760, 0, 0, 0, 0}, {12, 1381, 771, 4369, 0, 0, 0}, {1450, 3840, 8738, 20480, 0, 0, 0}, {12, 291, 771, 64, 1024, 4112, 0}, {12, 5156, 768, 4420, 0, 0, 0}, {1807, 1317, 21845, 0, 0, 0, 0}, {12, 294, 768, 64, 1024, 4096, 0}, {1455, 3855, 10023, 20560, 0, 0, 0}, {10024, 21760, 0, 0, 0, 0, 0}, {4144, 771, 4373, 0, 0, 0, 0}, {1322, 1792, 20480, 0, 0, 0, 0}, {12, 4471, 771, 5140, 0, 0, 0}, {12, 288, 768, 64, 1024, 4352, 0}, {1445, 3855, 8738, 21845, 0, 0, 0}, {12, 4386, 768, 5188, 0, 0, 0}, {1807, 544, 20560, 0, 0, 0, 0}, {1328, 5888, 21760, 0, 0, 0, 0}, {76, 1397, 514, 4369, 0, 0, 0}, {1338, 514, 64, 4112, 0, 0, 0}, {4403, 5120, 0, 0, 0, 0, 0}, {4360, 5172, 4864, 4420, 0, 0, 0}, {5983, 1333, 21845, 0, 0, 0, 0}, {2570, 1334, 5200, 0, 0, 0, 0}, {520, 1847, 64, 4096, 0, 0, 0}, {520, 4144, 64, 5376, 0, 0, 0}, {1337, 13107, 4437, 0, 0, 0, 0}, {4698, 5984, 20560, 0, 0, 0, 0}, {5128, 1331, 5632, 5188, 0, 0, 0}, {1340, 4352, 0, 0, 0, 0, 0}, {4128, 514, 64, 5397, 0, 0, 0}, {76, 4386, 514, 5140, 0, 0, 0}, {1343, 4608, 20480, 0, 0, 0, 0}, {512, 64, 1280, 4096, 0, 0, 0}, {204, 1285, 4369, 0, 0, 0, 0}, {1290, 20576, 16962, 0, 0, 0, 0}, {1347, 17408, 0, 0, 0, 0, 0}, {13056, 4420, 1280, 0, 0, 0, 0}, {522, 64, 1285, 4112, 0, 0, 0}, {1350, 17408, 0, 0, 0, 0, 0}, {1295, 20528, 18247, 0, 0, 0, 0}, {4680, 12288, 1280, 0, 0, 0, 0}, {4377, 4883, 4437, 1285, 0, 0, 0}, {1290, 4128, 1792, 64, 0, 0, 0}, {1295, 4471, 17476, 0, 0, 0, 0}, {76, 512, 1280, 4352, 0, 0, 0}, {192, 4626, 1285, 0, 0, 0, 0}, {1290, 4386, 17476, 0, 0, 0, 0}, {1295, 4144, 512, 64, 0, 0, 0}, {8704, 1360, 0, 0, 0, 0, 0}, {12, 1028, 273, 0, 0, 0, 0}, {1370, 20592, 21074, 0, 0, 0, 0}, {1363, 17408, 0, 0, 0, 0, 0}, {816, 276, 4112, 0, 0, 0, 0}, {10240, 1365, 0, 0, 0, 0, 0}, {1366, 17408, 0, 0, 0, 0, 0}, {1375, 20512, 22359, 0, 0, 0, 0}, {552, 8224, 1360, 0, 0, 0, 0}, {12, 819, 4437, 5120, 0, 0, 0}, {1370, 30464, 0, 0, 0, 0, 0}, {279, 64, 1028, 0, 0, 0, 0}, {12, 816, 1360, 4352, 0, 0, 0}, {2056, 546, 1365, 0, 0, 0, 0}, {274, 64, 1028, 0, 0, 0, 0}, {1375, 8704, 0, 0, 0, 0, 0}, {1376, 4608, 21760, 0, 0, 0, 0}, {76, 1317, 1799, 4369, 0, 0, 0}, {1800, 546, 64, 4096, 0, 0, 0}, {3855, 4403, 5200, 0, 0, 0, 0}, {4360, 1312, 5632, 4420, 0, 0, 0}, {4698, 1381, 21845, 0, 0, 0, 0}, {4454, 5120, 0, 0, 0, 0, 0}, {1327, 1799, 64, 4112, 0, 0, 0}, {4616, 4128, 64, 5376, 0, 0, 0}, {5180, 13107, 4437, 0, 0, 0, 0}, {1386, 5888, 20480, 0, 0, 0, 0}, {76, 4471, 4883, 5140, 0, 0, 0}, {1388, 4352, 0, 0, 0, 0, 0}, {4144, 4626, 64, 5397, 0, 0, 0}, {5128, 4386, 4864, 5188, 0, 0, 0}, {5983, 4656, 20560, 0, 0, 0, 0}, {1392, 512, 21760, 0, 0, 0, 0}, {12, 1333, 1542, 4369, 0, 0, 0}, {1530, 2570, 8738, 20560, 0, 0, 0}, {12, 307, 512, 64, 1024, 4096, 0}, {12, 1328, 1536, 4420, 0, 0, 0}, {522, 1397, 21845, 0, 0, 0, 0}, {12, 310, 518, 64, 1024, 4112, 0}, {1535, 2560, 10103, 20480, 0, 0, 0}, {10104, 21760, 0, 0, 0, 0, 0}, {4128, 4883, 4373, 0, 0, 0, 0}, {522, 1904, 20560, 0, 0, 0, 0}, {12, 1331, 1536, 5188, 0, 0, 0}, {12, 304, 512, 64, 1024, 4352, 0}, {1525, 2570, 8738, 21845, 0, 0, 0}, {12, 4386, 4626, 5140, 0, 0, 0}, {1407, 512, 20480, 0, 0, 0, 0}, {128, 512, 1280, 0, 0, 0, 0}, {12, 771, 1285, 4369, 0, 0, 0}, {1290, 8738, 0, 0, 0, 0, 0}, {259, 64, 1024, 0, 0, 0, 0}, {12, 768, 4420, 1280, 0, 0, 0}, {522, 8224, 1285, 0, 0, 0, 0}, {262, 64, 1024, 0, 0, 0, 0}, {1295, 30583, 0, 0, 0, 0, 0}, {8840, 1280, 0, 0, 0, 0, 0}, {771, 261, 4112, 0, 0, 0, 0}, {1290, 20512, 1792, 0, 0, 0, 0}, {1283, 17476, 0, 0, 0, 0, 0}, {12, 64, 256, 0, 0, 0, 0}, {8738, 1285, 0, 0, 0, 0, 0}, {1286, 17476, 0, 0, 0, 0, 0}, {1295, 20592, 512, 0, 0, 0, 0}, {7424, 4656, 1360, 0, 0, 0, 0}, {1305, 546, 1365, 4369, 0, 0, 0}, {1306, 4144, 4626, 64, 0, 0, 0}, {1375, 4403, 17408, 0, 0, 0, 0}, {4360, 4896, 4420, 5140, 0, 0, 0}, {5951, 12288, 1365, 0, 0, 0, 0}, {1370, 4454, 17408, 0, 0, 0, 0}, {1311, 4128, 5911, 64, 0, 0, 0}, {552, 64, 1296, 4112, 0, 0, 0}, {13107, 4437, 5120, 0, 0, 0, 0}, {1370, 20528, 5888, 0, 0, 0, 0}, {1299, 17476, 0, 0, 0, 0, 0}, {3900, 1360, 4352, 0, 0, 0, 0}, {546, 64, 1301, 4096, 0, 0, 0}, {1302, 17476, 0, 0, 0, 0, 0}, {1375, 20576, 4608, 0, 0, 0, 0}, {1440, 3840, 8704, 21760, 0, 0, 0}, {12, 289, 771, 64, 1028, 4369, 0}, {1800, 546, 20480, 0, 0, 0, 0}, {12, 4403, 771, 5200, 0, 0, 0}, {4128, 768, 4356, 0, 0, 0, 0}, {9999, 21845, 0, 0, 0, 0, 0}, {12, 4454, 768, 5120, 0, 0, 0}, {1327, 1799, 20560, 0, 0, 0, 0}, {1800, 1312, 21760, 0, 0, 0, 0}, {12, 5168, 771, 4437, 0, 0, 0}, {1450, 3840, 9984, 20480, 0, 0, 0}, {12, 295, 771, 64, 1028, 4112, 0}, {12, 1376, 768, 4352, 0, 0, 0}, {1317, 1799, 21845, 0, 0, 0, 0}, {12, 290, 768, 64, 1028, 4096, 0}, {1455, 3855, 8704, 20560, 0, 0, 0}, {4144, 512, 64, 5376, 0, 0, 0}, {1337, 4369, 0, 0, 0, 0, 0}, {1338, 4626, 20560, 0, 0, 0, 0}, {76, 4403, 512, 5120, 0, 0, 0}, {1340, 13056, 4420, 0, 0, 0, 0}, {522, 4128, 64, 5397, 0, 0, 0}, {5148, 1334, 5654, 5200, 0, 0, 0}, {4680, 6007, 20480, 0, 0, 0, 0}, {5960, 1328, 21760, 0, 0, 0, 0}, {4377, 5152, 4883, 4437, 0, 0, 0}, {522, 1840, 64, 4112, 0, 0, 0}, {2560, 1331, 5188, 0, 0, 0, 0}, {76, 1392, 512, 4352, 0, 0, 0}, {1333, 5911, 21845, 0, 0, 0, 0}, {4386, 5140, 0, 0, 0, 0, 0}, {1343, 512, 64, 4096, 0, 0, 0}, {192, 4608, 1280, 0, 0, 0, 0}, {76, 514, 1285, 4369, 0, 0, 0}, {1290, 4128, 514, 64, 0, 0, 0}, {1295, 4403, 17408, 0, 0, 0, 0}, {4360, 4864, 4420, 1280, 0, 0, 0}, {4698, 12336, 1285, 0, 0, 0, 0}, {1290, 4454, 17408, 0, 0, 0, 0}, {1295, 4144, 1799, 64, 0, 0, 0}, {520, 64, 1280, 4096, 0, 0, 0}, {13107, 4437, 1285, 0, 0, 0, 0}, {1290, 20576, 18176, 0, 0, 0, 0}, {1347, 17476, 0, 0, 0, 0, 0}, {204, 1280, 4352, 0, 0, 0, 0}, {514, 64, 1285, 4112, 0, 0, 0}, {1350, 17476, 0, 0, 0, 0, 0}, {1295, 20528, 16896, 0, 0, 0, 0}, {2048, 544, 1360, 0, 0, 0, 0}, {12, 819, 1365, 4369, 0, 0, 0}, {1370, 8738, 0, 0, 0, 0, 0}, {275, 64, 1024, 0, 0, 0, 0}, {12, 816, 4420, 5140, 0, 0, 0}, {554, 8192, 1365, 0, 0, 0, 0}, {278, 64, 1024, 0, 0, 0, 0}, {1375, 30583, 0, 0, 0, 0, 0}, {10280, 1360, 0, 0, 0, 0, 0}, {819, 277, 4096, 0, 0, 0, 0}, {1370, 20592, 22272, 0, 0, 0, 0}, {1363, 17476, 0, 0, 0, 0, 0}, {12, 1024, 272, 0, 0, 0, 0}, {8738, 1365, 0, 0, 0, 0, 0}, {1366, 17476, 0, 0, 0, 0, 0}, {1375, 20512, 20992, 0, 0, 0, 0}, {4128, 4608, 64, 5376, 0, 0, 0}, {1385, 4369, 0, 0, 0, 0, 0}, {5960, 4642, 20480, 0, 0, 0, 0}, {5148, 4403, 4883, 5200, 0, 0, 0}, {5160, 13056, 4420, 0, 0, 0, 0}, {4634, 4144, 64, 5397, 0, 0, 0}, {76, 4454, 4864, 5120, 0, 0, 0}, {1391, 5911, 20560, 0, 0, 0, 0}, {4680, 1376, 21760, 0, 0, 0, 0}, {4377, 1317, 5654, 4437, 0, 0, 0}, {1322, 1792, 64, 4096, 0, 0, 0}, {4471, 5140, 0, 0, 0, 0, 0}, {76, 1312, 1792, 4352, 0, 0, 0}, {1381, 4626, 21845, 0, 0, 0, 0}, {3840, 4386, 5188, 0, 0, 0, 0}, {1807, 544, 64, 4112, 0, 0, 0}, {1520, 2560, 8704, 21760, 0, 0, 0}, {12, 305, 514, 64, 1028, 4369, 0}, {1402, 514, 20560, 0, 0, 0, 0}, {12, 4403, 4608, 5120, 0, 0, 0}, {4144, 4864, 4356, 0, 0, 0, 0}, {10079, 21845, 0, 0, 0, 0, 0}, {12, 1334, 1542, 5200, 0, 0, 0}, {520, 1911, 20480, 0, 0, 0, 0}, {520, 1392, 21760, 0, 0, 0, 0}, {12, 1333, 1542, 4437, 0, 0, 0}, {1530, 2570, 10064, 20560, 0, 0, 0}, {12, 311, 516, 64, 1028, 4096, 0}, {12, 1328, 1536, 4352, 0, 0, 0}, {1397, 514, 21845, 0, 0, 0, 0}, {12, 306, 514, 64, 1028, 4112, 0}, {1535, 2560, 8704, 20480, 0, 0, 0}, {1536, 17408, 0, 0, 0, 0, 0}, {15, 112, 257, 0, 0, 0, 0}, {1032, 514, 16384, 0, 0, 0, 0}, {15, 4403, 771, 1280, 0, 0, 0}, {520, 8192, 1028, 0, 0, 0, 0}, {15, 768, 4437, 1285, 0, 0, 0}, {17612, 1542, 0, 0, 0, 0, 0}, {263, 1280, 4096, 0, 0, 0, 0}, {1032, 1536, 16384, 0, 0, 0, 0}, {15, 4454, 771, 1285, 0, 0, 0}, {1546, 17408, 0, 0, 0, 0, 0}, {4144, 771, 260, 0, 0, 0, 0}, {1548, 8704, 0, 0, 0, 0, 0}, {258, 4176, 1285, 0, 0, 0, 0}, {128, 514, 1028, 0, 0, 0, 0}, {15, 768, 1280, 4352, 0, 0, 0}, {1072, 1552, 1088, 4112, 0, 0, 0}, {2645, 1638, 4369, 0, 0, 0, 0}, {5240, 4626, 20480, 0, 0, 0, 0}, {4428, 4403, 4883, 5376, 0, 0, 0}, {4728, 12288, 5140, 0, 0, 0, 0}, {4394, 4864, 4437, 5397, 0, 0, 0}, {1100, 112, 1558, 4096, 0, 0, 0}, {4471, 5911, 21760, 0, 0, 0, 0}, {4680, 1632, 20560, 0, 0, 0, 0}, {4377, 1075, 5888, 5461, 0, 0, 0}, {4634, 4144, 4160, 5120, 0, 0, 0}, {5928, 13107, 4420, 0, 0, 0, 0}, {5148, 4128, 4608, 4176, 0, 0, 0}, {5960, 4386, 21845, 0, 0, 0, 0}, {7710, 4642, 5188, 0, 0, 0, 0}, {1567, 544, 1088, 4352, 0, 0, 0}, {544, 1024, 0, 0, 0, 0, 0}, {15, 771, 1365, 4369, 0, 0, 0}, {3072, 16930, 0, 0, 0, 0, 0}, {1027, 1360, 4112, 0, 0, 0, 0}, {1708, 3084, 9252, 17476, 0, 0, 0}, {15, 293, 768, 341, 1024, 4096, 0}, {1036, 1574, 16448, 0, 0, 0, 0}, {15, 5159, 768, 1360, 0, 0, 0}, {16936, 26112, 0, 0, 0, 0, 0}, {4374, 4160, 5397, 0, 0, 0, 0}, {554, 8192, 1024, 0, 0, 0, 0}, {15, 771, 4420, 5140, 0, 0, 0}, {1036, 544, 16448, 0, 0, 0, 0}, {15, 4386, 768, 1365, 0, 0, 0}, {1702, 3084, 8738, 17476, 0, 0, 0}, {15, 288, 768, 336, 1024, 4352, 0}, {4656, 5120, 0, 0, 0, 0, 0}, {1083, 514, 1092, 4369, 0, 0, 0}, {1096, 112, 514, 4112, 0, 0, 0}, {4403, 5888, 21760, 0, 0, 0, 0}, {520, 1076, 1092, 4096, 0, 0, 0}, {2570, 1589, 4437, 0, 0, 0, 0}, {4698, 1590, 20560, 0, 0, 0, 0}, {4360, 1079, 4864, 5440, 0, 0, 0}, {5128, 4144, 5632, 4160, 0, 0, 0}, {5983, 4454, 21845, 0, 0, 0, 0}, {1594, 12336, 5200, 0, 0, 0, 0}, {520, 4915, 4420, 5376, 0, 0, 0}, {5180, 4608, 20480, 0, 0, 0, 0}, {4445, 4386, 514, 5397, 0, 0, 0}, {4128, 514, 4176, 5140, 0, 0, 0}, {1599, 4352, 0, 0, 0, 0, 0}, {512, 1088, 0, 0, 0, 0, 0}, {15, 819, 1285, 4369, 0, 0, 0}, {17544, 16962, 0, 0, 0, 0, 0}, {323, 1280, 4096, 0, 0, 0, 0}, {1740, 2560, 9284, 17476, 0, 0, 0}, {15, 309, 517, 325, 1285, 4112, 0}, {1100, 1606, 16384, 0, 0, 0, 0}, {15, 4471, 4679, 1280, 0, 0, 0}, {16968, 26112, 0, 0, 0, 0, 0}, {4374, 4176, 1285, 0, 0, 0, 0}, {522, 8224, 1088, 0, 0, 0, 0}, {15, 819, 4420, 1280, 0, 0, 0}, {1100, 512, 16384, 0, 0, 0, 0}, {15, 4386, 4626, 1285, 0, 0, 0}, {1734, 2570, 8738, 17476, 0, 0, 0}, {15, 304, 512, 320, 1280, 4352, 0}, {4608, 5200, 0, 0, 0, 0, 0}, {605, 546, 1028, 4369, 0, 0, 0}, {1032, 112, 594, 4096, 0, 0, 0}, {4403, 1619, 21760, 0, 0, 0, 0}, {600, 112, 1028, 4112, 0, 0, 0}, {5888, 4437, 0, 0, 0, 0, 0}, {5180, 1622, 20480, 0, 0, 0, 0}, {4360, 4471, 599, 5376, 0, 0, 0}, {1032, 4128, 5632, 4176, 0, 0, 0}, {1625, 4454, 21845, 0, 0, 0, 0}, {4698, 12288, 5120, 0, 0, 0, 0}, {4411, 4883, 4420, 1028, 0, 0, 0}, {1628, 4656, 20560, 0, 0, 0, 0}, {1032, 4386, 4864, 5461, 0, 0, 0}, {4144, 4626, 4160, 1028, 0, 0, 0}, {1631, 4352, 0, 0, 0, 0, 0}, {1632, 17408, 0, 0, 0, 0, 0}, {15, 1799, 273, 0, 0, 0, 0}, {1096, 546, 16448, 0, 0, 0, 0}, {15, 4403, 4608, 1360, 0, 0, 0}, {552, 8224, 1092, 0, 0, 0, 0}, {15, 816, 4437, 5120, 0, 0, 0}, {18432, 1638, 0, 0, 0, 0, 0}, {279, 1360, 4112, 0, 0, 0, 0}, {1096, 1632, 16448, 0, 0, 0, 0}, {15, 5171, 5888, 1365, 0, 0, 0}, {1642, 17408, 0, 0, 0, 0, 0}, {4128, 4883, 276, 0, 0, 0, 0}, {1644, 8704, 0, 0, 0, 0, 0}, {274, 4160, 5397, 0, 0, 0, 0}, {2056, 546, 1092, 0, 0, 0, 0}, {15, 816, 1360, 4352, 0, 0, 0}, {112, 512, 1024, 4096, 0, 0, 0}, {255, 1542, 4369, 0, 0, 0, 0}, {1546, 4642, 20560, 0, 0, 0, 0}, {1036, 4403, 512, 5440, 0, 0, 0}, {1548, 12336, 5188, 0, 0, 0, 0}, {522, 4896, 4437, 1024, 0, 0, 0}, {1036, 112, 1542, 4112, 0, 0, 0}, {4471, 1536, 21760, 0, 0, 0, 0}, {5240, 1536, 20480, 0, 0, 0, 0}, {4377, 4454, 4883, 5397, 0, 0, 0}, {522, 4128, 4176, 1024, 0, 0, 0}, {1548, 13107, 4420, 0, 0, 0, 0}, {1036, 4144, 512, 4160, 0, 0, 0}, {1546, 4386, 21845, 0, 0, 0, 0}, {240, 4626, 5140, 0, 0, 0, 0}, {127, 512, 1024, 4352, 0, 0, 0}, {128, 512, 1024, 0, 0, 0, 0}, {15, 771, 1285, 4369, 0, 0, 0}, {1546, 8738, 0, 0, 0, 0, 0}, {259, 4160, 1280, 0, 0, 0, 0}, {1548, 17476, 0, 0, 0, 0, 0}, {4128, 768, 261, 0, 0, 0, 0}, {1036, 1542, 16448, 0, 0, 0, 0}, {15, 4471, 768, 1280, 0, 0, 0}, {17544, 1536, 0, 0, 0, 0, 0}, {262, 1285, 4112, 0, 0, 0, 0}, {522, 8224, 1024, 0, 0, 0, 0}, {15, 771, 4420, 1280, 0, 0, 0}, {1036, 512, 16448, 0, 0, 0, 0}, {15, 4386, 768, 1285, 0, 0, 0}, {1542, 17476, 0, 0, 0, 0, 0}, {15, 112, 256, 0, 0, 0, 0}, {7680, 4656, 5200, 0, 0, 0, 0}, {1561, 546, 1092, 4369, 0, 0, 0}, {5128, 4144, 4626, 4160, 0, 0, 0}, {5983, 4403, 21760, 0, 0, 0, 0}, {4616, 4128, 4176, 5140, 0, 0, 0}, {5951, 13056, 4437, 0, 0, 0, 0}, {4698, 1638, 20480, 0, 0, 0, 0}, {4360, 1079, 5911, 5440, 0, 0, 0}, {1096, 112, 1552, 4112, 0, 0, 0}, {4454, 5888, 21845, 0, 0, 0, 0}, {4714, 12336, 5120, 0, 0, 0, 0}, {4411, 4883, 4420, 5376, 0, 0, 0}, {5228, 4608, 20560, 0, 0, 0, 0}, {4445, 4386, 4864, 5397, 0, 0, 0}, {1076, 1558, 1092, 4096, 0, 0, 0}, {2655, 1632, 4352, 0, 0, 0, 0}, {1696, 3072, 8704, 17408, 0, 0, 0}, {15, 289, 771, 337, 1028, 4369, 0}, {1032, 546, 16384, 0, 0, 0, 0}, {15, 4403, 771, 1360, 0, 0, 0}, {552, 8224, 1028, 0, 0, 0, 0}, {15, 768, 4437, 5120, 0, 0, 0}, {17002, 26214, 0, 0, 0, 0, 0}, {4359, 4176, 5376, 0, 0, 0, 0}, {1032, 1568, 16384, 0, 0, 0, 0}, {15, 5171, 771, 1365, 0, 0, 0}, {1706, 3072, 9216, 17408, 0, 0, 0}, {15, 292, 771, 340, 1028, 4112, 0}, {3084, 16992, 0, 0, 0, 0, 0}, {1031, 1365, 4096, 0, 0, 0, 0}, {546, 1028, 0, 0, 0, 0, 0}, {15, 768, 1360, 4352, 0, 0, 0}, {4144, 512, 4160, 5120, 0, 0, 0}, {1593, 4369, 0, 0, 0, 0, 0}, {5160, 4626, 20560, 0, 0, 0, 0}, {4428, 4403, 512, 5376, 0, 0, 0}, {1596, 12288, 5188, 0, 0, 0, 0}, {522, 4896, 4437, 5397, 0, 0, 0}, {5148, 4128, 5654, 4176, 0, 0, 0}, {5960, 4471, 21760, 0, 0, 0, 0}, {4680, 1584, 20480, 0, 0, 0, 0}, {4377, 1075, 4883, 5461, 0, 0, 0}, {522, 1072, 1088, 4112, 0, 0, 0}, {2560, 1587, 4420, 0, 0, 0, 0}, {1100, 112, 512, 4096, 0, 0, 0}, {4386, 5911, 21845, 0, 0, 0, 0}, {4642, 5140, 0, 0, 0, 0, 0}, {1087, 512, 1088, 4352, 0, 0, 0}, {1728, 2560, 8704, 17408, 0, 0, 0}, {15, 305, 514, 321, 1285, 4369, 0}, {1096, 514, 16448, 0, 0, 0, 0}, {15, 4403, 4608, 1280, 0, 0, 0}, {520, 8192, 1092, 0, 0, 0, 0}, {15, 816, 4437, 1285, 0, 0, 0}, {16906, 26214, 0, 0, 0, 0, 0}, {4359, 4160, 1280, 0, 0, 0, 0}, {1096, 1600, 16448, 0, 0, 0, 0}, {15, 4454, 4693, 1285, 0, 0, 0}, {1738, 2570, 9312, 17408, 0, 0, 0}, {15, 308, 519, 324, 1280, 4096, 0}, {17612, 16896, 0, 0, 0, 0, 0}, {322, 1285, 4112, 0, 0, 0, 0}, {514, 1092, 0, 0, 0, 0, 0}, {15, 816, 1280, 4352, 0, 0, 0}, {4128, 4608, 4176, 1024, 0, 0, 0}, {1625, 4369, 0, 0, 0, 0, 0}, {1626, 4642, 20480, 0, 0, 0, 0}, {1036, 4403, 4883, 5440, 0, 0, 0}, {4680, 12336, 5140, 0, 0, 0, 0}, {4394, 4864, 4437, 1024, 0, 0, 0}, {1036, 4144, 5654, 4160, 0, 0, 0}, {1631, 4471, 21760, 0, 0, 0, 0}, {5160, 1616, 20560, 0, 0, 0, 0}, {4377, 4454, 597, 5397, 0, 0, 0}, {602, 112, 1024, 4096, 0, 0, 0}, {5911, 4420, 0, 0, 0, 0, 0}, {1036, 112, 592, 4112, 0, 0, 0}, {4386, 1621, 21845, 0, 0, 0, 0}, {4626, 5188, 0, 0, 0, 0, 0}, {607, 544, 1024, 4352, 0, 0, 0}, {2048, 544, 1088, 0, 0, 0, 0}, {15, 819, 1365, 4369, 0, 0, 0}, {1642, 8738, 0, 0, 0, 0, 0}, {275, 4176, 5376, 0, 0, 0, 0}, {1644, 17476, 0, 0, 0, 0, 0}, {4144, 4864, 277, 0, 0, 0, 0}, {1100, 1638, 16384, 0, 0, 0, 0}, {15, 5159, 5911, 1360, 0, 0, 0}, {18504, 1632, 0, 0, 0, 0, 0}, {278, 1365, 4096, 0, 0, 0, 0}, {554, 8192, 1088, 0, 0, 0, 0}, {15, 819, 4420, 5140, 0, 0, 0}, {1100, 544, 16384, 0, 0, 0, 0}, {15, 4386, 4626, 1365, 0, 0, 0}, {1638, 17476, 0, 0, 0, 0, 0}, {15, 1792, 272, 0, 0, 0, 0}, {240, 4608, 5120, 0, 0, 0, 0}, {127, 514, 1028, 4369, 0, 0, 0}, {1032, 4128, 514, 4176, 0, 0, 0}, {1548, 4403, 21760, 0, 0, 0, 0}, {520, 4144, 4160, 1028, 0, 0, 0}, {1546, 13056, 4437, 0, 0, 0, 0}, {5228, 1542, 20560, 0, 0, 0, 0}, {4360, 4471, 4864, 5376, 0, 0, 0}, {1032, 112, 1536, 4096, 0, 0, 0}, {4454, 1542, 21845, 0, 0, 0, 0}, {1546, 12288, 5200, 0, 0, 0, 0}, {520, 4915, 4420, 1028, 0, 0, 0}, {1548, 4656, 20480, 0, 0, 0, 0}, {1032, 4386, 514, 5461, 0, 0, 0}, {112, 514, 1028, 4112, 0, 0, 0}, {255, 1536, 4352, 0, 0, 0, 0}, {3840, 28672, 0, 0, 0, 0, 0}, {6, 68, 257, 0, 0, 0, 0}, {10, 34, 514, 1280, 0, 0, 0}, {12, 771, 16384, 0, 0, 0, 0}, {12, 768, 68, 1028, 0, 0, 0}, {10, 8192, 1285, 0, 0, 0, 0}, {6, 1280, 4096, 0, 0, 0, 0}, {136, 1799, 0, 0, 0, 0, 0}, {1800, 30464, 0, 0, 0, 0, 0}, {6, 4176, 1285, 0, 0, 0, 0}, {10, 8192, 1280, 0, 0, 0, 0}, {12, 771, 68, 1028, 0, 0, 0}, {12, 768, 16384, 0, 0, 0, 0}, {10, 34, 514, 1285, 0, 0, 0}, {258, 260, 4352, 0, 0, 0, 0}, {28912, 3855, 0, 0, 0, 0, 0}, {3920, 96, 4112, 0, 0, 0, 0}, {34, 1809, 68, 4369, 0, 0, 0}, {72, 34, 4626, 5376, 0, 0, 0}, {108, 4883, 20480, 0, 0, 0, 0}, {40, 4864, 68, 5140, 0, 0, 0}, {106, 12288, 5397, 0, 0, 0, 0}, {102, 5654, 21760, 0, 0, 0, 0}, {72, 96, 1815, 4096, 0, 0, 0}, {4120, 4144, 5888, 4176, 0, 0, 0}, {5708, 102, 21845, 0, 0, 0, 0}, {5418, 12336, 5440, 0, 0, 0, 0}, {4891, 4915, 68, 5120, 0, 0, 0}, {4940, 4896, 20560, 0, 0, 0, 0}, {5405, 34, 4608, 5461, 0, 0, 0}, {1822, 34, 68, 4352, 0, 0, 0}, {7967, 4128, 4160, 0, 0, 0, 0}, {160, 3840, 8224, 20480, 0, 0, 0}, {12, 34, 771, 68, 1024, 4369, 0}, {34, 1792, 21760, 0, 0, 0, 0}, {12, 96, 771, 4112, 0, 0, 0}, {12, 36, 768, 68, 1024, 4096, 0}, {170, 3855, 9509, 21845, 0, 0, 0}, {12, 5414, 768, 5440, 0, 0, 0}, {1807, 1831, 20560, 0, 0, 0, 0}, {40, 1792, 20480, 0, 0, 0, 0}, {12, 102, 771, 5397, 0, 0, 0}, {9514, 21760, 0, 0, 0, 0, 0}, {4144, 771, 4116, 0, 0, 0, 0}, {12, 4128, 768, 4160, 0, 0, 0}, {1807, 34, 21845, 0, 0, 0, 0}, {12, 34, 768, 68, 1024, 4352, 0}, {160, 3855, 8224, 20560, 0, 0, 0}, {192, 3888, 12336, 16384, 0, 0, 0}, {10, 34, 514, 68, 1297, 4369, 0}, {1298, 1360, 4112, 0, 0, 0, 0}, {19456, 17203, 0, 0, 0, 0, 0}, {2056, 1844, 68, 0, 0, 0, 0}, {10, 1333, 1365, 4096, 0, 0, 0}, {10, 1334, 4864, 1360, 0, 0, 0}, {72, 1847, 16448, 0, 0, 0, 0}, {72, 1904, 16448, 0, 0, 0, 0}, {10, 1331, 5632, 1365, 0, 0, 0}, {10, 4144, 4176, 5376, 0, 0, 0}, {1851, 13107, 68, 0, 0, 0, 0}, {17212, 13056, 0, 0, 0, 0, 0}, {4098, 4160, 5397, 0, 0, 0, 0}, {10, 34, 514, 68, 1300, 4352, 0}, {192, 3903, 12288, 16384, 0, 0, 0}, {192, 3840, 12288, 16448, 0, 0, 0}, {10, 34, 512, 68, 1285, 4369, 0}, {66, 1280, 4096, 0, 0, 0, 0}, {204, 17219, 0, 0, 0, 0, 0}, {1792, 68, 0, 0, 0, 0, 0}, {10, 96, 1285, 4112, 0, 0, 0}, {10, 102, 4934, 1280, 0, 0, 0}, {72, 1863, 16384, 0, 0, 0, 0}, {72, 1792, 16384, 0, 0, 0, 0}, {10, 102, 4883, 1285, 0, 0, 0}, {10, 4128, 4160, 1280, 0, 0, 0}, {1807, 13107, 68, 0, 0, 0, 0}, {17228, 13056, 0, 0, 0, 0, 0}, {4114, 4176, 1285, 0, 0, 0, 0}, {10, 34, 512, 68, 1280, 4352, 0}, {192, 3855, 12336, 16448, 0, 0, 0}, {160, 3920, 8192, 20560, 0, 0, 0}, {12, 34, 785, 68, 1028, 4369, 0}, {34, 1874, 21760, 0, 0, 0, 0}, {12, 96, 851, 4096, 0, 0, 0}, {12, 36, 788, 68, 1028, 4112, 0}, {170, 3925, 9557, 21845, 0, 0, 0}, {12, 102, 854, 5376, 0, 0, 0}, {40, 1879, 20480, 0, 0, 0, 0}, {1880, 1904, 20560, 0, 0, 0, 0}, {12, 5427, 5632, 5461, 0, 0, 0}, {9562, 21760, 0, 0, 0, 0, 0}, {4128, 4883, 4100, 0, 0, 0, 0}, {12, 4144, 4864, 4176, 0, 0, 0}, {1885, 34, 21845, 0, 0, 0, 0}, {12, 34, 786, 68, 1028, 4352, 0}, {160, 3935, 8192, 20480, 0, 0, 0}, {3840, 96, 4096, 0, 0, 0, 0}, {34, 1799, 68, 4369, 0, 0, 0}, {5384, 34, 4608, 5440, 0, 0, 0}, {4959, 4915, 20560, 0, 0, 0, 0}, {4872, 4896, 68, 5120, 0, 0, 0}, {5439, 12336, 5461, 0, 0, 0, 0}, {102, 5632, 21760, 0, 0, 0, 0}, {72, 96, 1799, 4112, 0, 0, 0}, {4104, 4128, 5888, 4160, 0, 0, 0}, {5722, 102, 21845, 0, 0, 0, 0}, {106, 12288, 5376, 0, 0, 0, 0}, {40, 4883, 68, 5140, 0, 0, 0}, {108, 4864, 20480, 0, 0, 0, 0}, {72, 34, 4626, 5397, 0, 0, 0}, {1800, 34, 68, 4352, 0, 0, 0}, {3855, 4144, 4176, 0, 0, 0, 0}, {4080, 28784, 0, 0, 0, 0, 0}, {6, 1024, 273, 0, 0, 0, 0}, {10, 34, 512, 1360, 0, 0, 0}, {12, 819, 16448, 0, 0, 0, 0}, {12, 816, 68, 1024, 0, 0, 0}, {10, 8224, 1365, 0, 0, 0, 0}, {6, 1360, 4112, 0, 0, 0, 0}, {2048, 1911, 0, 0, 0, 0, 0}, {1912, 30464, 0, 0, 0, 0, 0}, {6, 4160, 5397, 0, 0, 0, 0}, {10, 8224, 1360, 0, 0, 0, 0}, {12, 819, 68, 1024, 0, 0, 0}, {12, 816, 16448, 0, 0, 0, 0}, {10, 34, 512, 1365, 0, 0, 0}, {274, 276, 4352, 0, 0, 0, 0}, {28800, 32639, 0, 0, 0, 0, 0}, {28800, 3840, 0, 0, 0, 0, 0}, {259, 261, 4369, 0, 0, 0, 0}, {10, 34, 512, 1280, 0, 0, 0}, {12, 771, 16448, 0, 0, 0, 0}, {12, 768, 68, 1024, 0, 0, 0}, {10, 8224, 1285, 0, 0, 0, 0}, {6, 4160, 1280, 0, 0, 0, 0}, {1807, 30583, 0, 0, 0, 0, 0}, {136, 1792, 0, 0, 0, 0, 0}, {6, 1285, 4112, 0, 0, 0, 0}, {10, 8224, 1280, 0, 0, 0, 0}, {12, 771, 68, 1024, 0, 0, 0}, {12, 768, 16448, 0, 0, 0, 0}, {10, 34, 512, 1285, 0, 0, 0}, {6, 68, 256, 0, 0, 0, 0}, {3855, 28784, 0, 0, 0, 0, 0}, {7936, 4144, 4176, 0, 0, 0, 0}, {1817, 34, 68, 4369, 0, 0, 0}, {5384, 34, 4626, 5440, 0, 0, 0}, {4959, 4915, 20480, 0, 0, 0, 0}, {4872, 4896, 68, 5140, 0, 0, 0}, {5439, 12288, 5461, 0, 0, 0, 0}, {5722, 102, 21760, 0, 0, 0, 0}, {4104, 4128, 5911, 4160, 0, 0, 0}, {72, 96, 1808, 4112, 0, 0, 0}, {102, 5632, 21845, 0, 0, 0, 0}, {106, 12336, 5376, 0, 0, 0, 0}, {40, 4883, 68, 5120, 0, 0, 0}, {108, 4864, 20560, 0, 0, 0, 0}, {72, 34, 4608, 5397, 0, 0, 0}, {34, 1814, 68, 4352, 0, 0, 0}, {3935, 96, 4096, 0, 0, 0, 0}, {160, 3840, 8192, 20480, 0, 0, 0}, {12, 34, 771, 68, 1028, 4369, 0}, {1800, 34, 21760, 0, 0, 0, 0}, {12, 4144, 771, 4176, 0, 0, 0}, {4128, 768, 4100, 0, 0, 0, 0}, {9487, 21845, 0, 0, 0, 0, 0}, {12, 102, 768, 5376, 0, 0, 0}, {40, 1799, 20560, 0, 0, 0, 0}, {1800, 1824, 20480, 0, 0, 0, 0}, {12, 5427, 771, 5461, 0, 0, 0}, {170, 3840, 9472, 21760, 0, 0, 0}, {12, 36, 771, 68, 1028, 4112, 0}, {12, 96, 768, 4096, 0, 0, 0}, {34, 1799, 21845, 0, 0, 0, 0}, {12, 34, 768, 68, 1028, 4352, 0}, {160, 3855, 8192, 20560, 0, 0, 0}, {192, 3888, 12336, 16448, 0, 0, 0}, {10, 34, 512, 68, 1297, 4369, 0}, {4114, 4176, 5376, 0, 0, 0, 0}, {17279, 13107, 0, 0, 0, 0, 0}, {1852, 13056, 68, 0, 0, 0, 0}, {10, 4128, 4160, 5397, 0, 0, 0}, {10, 1334, 5654, 1360, 0, 0, 0}, {72, 1911, 16384, 0, 0, 0, 0}, {72, 1840, 16384, 0, 0, 0, 0}, {10, 1331, 4883, 1365, 0, 0, 0}, {10, 1328, 1360, 4112, 0, 0, 0}, {2048, 1843, 68, 0, 0, 0, 0}, {19532, 17264, 0, 0, 0, 0, 0}, {1303, 1365, 4096, 0, 0, 0, 0}, {10, 34, 512, 68, 1300, 4352, 0}, {192, 3903, 12288, 16448, 0, 0, 0}, {192, 3840, 12288, 16384, 0, 0, 0}, {10, 34, 514, 68, 1285, 4369, 0}, {4098, 4160, 1280, 0, 0, 0, 0}, {17167, 13107, 0, 0, 0, 0, 0}, {1800, 13056, 68, 0, 0, 0, 0}, {10, 4144, 4176, 1285, 0, 0, 0}, {10, 102, 4864, 1280, 0, 0, 0}, {72, 1799, 16448, 0, 0, 0, 0}, {72, 1856, 16448, 0, 0, 0, 0}, {10, 102, 4949, 1285, 0, 0, 0}, {10, 96, 1280, 4096, 0, 0, 0}, {1799, 68, 0, 0, 0, 0, 0}, {204, 17152, 0, 0, 0, 0, 0}, {66, 1285, 4112, 0, 0, 0, 0}, {10, 34, 514, 68, 1280, 4352, 0}, {192, 3855, 12336, 16384, 0, 0, 0}, {160, 3920, 8224, 20560, 0, 0, 0}, {12, 34, 785, 68, 1024, 4369, 0}, {1882, 34, 21760, 0, 0, 0, 0}, {12, 4128, 4883, 4160, 0, 0, 0}, {4144, 4864, 4116, 0, 0, 0, 0}, {9599, 21845, 0, 0, 0, 0, 0}, {12, 5414, 5654, 5440, 0, 0, 0}, {1887, 1911, 20480, 0, 0, 0, 0}, {40, 1872, 20560, 0, 0, 0, 0}, {12, 102, 853, 5397, 0, 0, 0}, {170, 3930, 9584, 21760, 0, 0, 0}, {12, 36, 791, 68, 1024, 4096, 0}, {12, 96, 848, 4112, 0, 0, 0}, {34, 1877, 21845, 0, 0, 0, 0}, {12, 34, 786, 68, 1024, 4352, 0}, {160, 3935, 8224, 20480, 0, 0, 0}, {3840, 4128, 4160, 0, 0, 0, 0}, {1807, 34, 68, 4369, 0, 0, 0}, {72, 34, 4608, 5376, 0, 0, 0}, {108, 4883, 20560, 0, 0, 0, 0}, {40, 4864, 68, 5120, 0, 0, 0}, {106, 12336, 5397, 0, 0, 0, 0}, {5708, 102, 21760, 0, 0, 0, 0}, {4120, 4144, 5911, 4176, 0, 0, 0}, {72, 96, 1792, 4096, 0, 0, 0}, {102, 5654, 21845, 0, 0, 0, 0}, {5418, 12288, 5440, 0, 0, 0, 0}, {4891, 4915, 68, 5140, 0, 0, 0}, {4940, 4896, 20480, 0, 0, 0, 0}, {5405, 34, 4626, 5461, 0, 0, 0}, {34, 1792, 68, 4352, 0, 0, 0}, {3855, 96, 4112, 0, 0, 0, 0}, {28912, 32512, 0, 0, 0, 0, 0}, {275, 277, 4369, 0, 0, 0, 0}, {10, 34, 514, 1360, 0, 0, 0}, {12, 819, 16384, 0, 0, 0, 0}, {12, 816, 68, 1028, 0, 0, 0}, {10, 8192, 1365, 0, 0, 0, 0}, {6, 4176, 5376, 0, 0, 0, 0}, {1919, 30583, 0, 0, 0, 0, 0}, {2056, 1904, 0, 0, 0, 0, 0}, {6, 1365, 4096, 0, 0, 0, 0}, {10, 8192, 1360, 0, 0, 0, 0}, {12, 819, 68, 1028, 0, 0, 0}, {12, 816, 16384, 0, 0, 0, 0}, {10, 34, 514, 1365, 0, 0, 0}, {6, 1028, 272, 0, 0, 0, 0}, {4095, 28672, 0, 0, 0, 0, 0}, {12288, 20480, 0, 0, 0, 0, 0}, {8, 17, 257, 0, 0, 0, 0}, {4098, 16384, 0, 0, 0, 0, 0}, {20495, 51, 771, 0, 0, 0, 0}, {8192, 4100, 0, 0, 0, 0, 0}, {12303, 85, 1285, 0, 0, 0, 0}, {20490, 102, 1542, 0, 0, 0, 0}, {4103, 16384, 0, 0, 0, 0, 0}, {8, 4096, 0, 0, 0, 0, 0}, {51, 771, 85, 1285, 0, 0, 0}, {20490, 12288, 0, 0, 0, 0, 0}, {4099, 68, 1028, 0, 0, 0, 0}, {12300, 20480, 0, 0, 0, 0, 0}, {34, 514, 4101, 0, 0, 0, 0}, {4102, 68, 1028, 0, 0, 0, 0}, {20495, 24576, 0, 0, 0, 0, 0}, {128, 4112, 0, 0, 0, 0, 0}, {768, 1280, 17, 0, 0, 0, 0}, {20570, 34, 4626, 0, 0, 0, 0}, {4115, 16384, 0, 0, 0, 0, 0}, {12348, 68, 5140, 0, 0, 0, 0}, {8192, 4117, 0, 0, 0, 0, 0}, {4118, 16384, 0, 0, 0, 0, 0}, {20575, 119, 5911, 0, 0, 0, 0}, {136, 6168, 12336, 20560, 0, 0, 0}, {25, 51, 768, 85, 1280, 4096, 0}, {4122, 4144, 16448, 0, 0, 0, 0}, {5147, 51, 768, 68, 0, 0, 0}, {4124, 8224, 4176, 0, 0, 0, 0}, {4637, 34, 85, 1280, 0, 0, 0}, {5150, 34, 1536, 68, 0, 0, 0}, {4127, 4192, 16448, 0, 0, 0, 0}, {4128, 16384, 0, 0, 0, 0, 0}, {1295, 771, 17, 0, 0, 0, 0}, {34, 4608, 20480, 0, 0, 0, 0}, {76, 51, 771, 4112, 0, 0, 0}, {5160, 9252, 68, 0, 0, 0, 0}, {4111, 4133, 85, 5376, 0, 0, 0}, {4108, 4134, 5632, 4160, 0, 0, 0}, {5983, 119, 20560, 0, 0, 0, 0}, {20520, 12288, 0, 0, 0, 0, 0}, {4099, 85, 5397, 0, 0, 0, 0}, {42, 4096, 0, 0, 0, 0, 0}, {51, 771, 68, 5140, 0, 0, 0}, {76, 4192, 16448, 0, 0, 0, 0}, {1295, 34, 5888, 85, 0, 0, 0}, {4620, 34, 68, 5120, 0, 0, 0}, {4143, 8224, 4176, 0, 0, 0, 0}, {20720, 12336, 0, 0, 0, 0, 0}, {258, 1024, 17, 0, 0, 0, 0}, {8, 34, 514, 4112, 0, 0, 0}, {51, 768, 20480, 0, 0, 0, 0}, {8, 4148, 68, 1024, 0, 0, 0}, {1290, 13621, 85, 0, 0, 0, 0}, {1546, 102, 20560, 0, 0, 0, 0}, {8, 4151, 1792, 4160, 0, 0, 0}, {8, 4144, 16448, 0, 0, 0, 0}, {1290, 51, 768, 85, 0, 0, 0}, {170, 2570, 12336, 20560, 0, 0, 0}, {8, 51, 768, 68, 1024, 4096, 0}, {20540, 24576, 0, 0, 0, 0, 0}, {4119, 85, 5397, 0, 0, 0, 0}, {34, 514, 4116, 0, 0, 0, 0}, {12351, 20480, 0, 0, 0, 0, 0}, {8192, 4160, 0, 0, 0, 0, 0}, {783, 1285, 17, 0, 0, 0, 0}, {20490, 34, 16962, 0, 0, 0, 0}, {4163, 16384, 0, 0, 0, 0, 0}, {12288, 68, 5120, 0, 0, 0, 0}, {42, 85, 1285, 4112, 0, 0, 0}, {4166, 16384, 0, 0, 0, 0, 0}, {20495, 119, 18247, 0, 0, 0, 0}, {12360, 20480, 0, 0, 0, 0, 0}, {51, 4883, 4101, 0, 0, 0, 0}, {4170, 4192, 16448, 0, 0, 0, 0}, {5135, 51, 5888, 68, 0, 0, 0}, {76, 4096, 0, 0, 0, 0, 0}, {34, 4626, 85, 1285, 0, 0, 0}, {5130, 34, 4608, 68, 0, 0, 0}, {4175, 4144, 16448, 0, 0, 0, 0}, {12528, 20560, 0, 0, 0, 0, 0}, {512, 260, 17, 0, 0, 0, 0}, {4178, 16384, 0, 0, 0, 0, 0}, {20575, 51, 21331, 0, 0, 0, 0}, {8, 68, 1028, 4112, 0, 0, 0}, {12288, 85, 1280, 0, 0, 0, 0}, {20570, 102, 22102, 0, 0, 0, 0}, {4183, 16384, 0, 0, 0, 0, 0}, {8, 8224, 4176, 0, 0, 0, 0}, {780, 51, 85, 1280, 0, 0, 0}, {20570, 24576, 0, 0, 0, 0, 0}, {4119, 68, 1028, 0, 0, 0, 0}, {204, 3084, 12336, 20560, 0, 0, 0}, {8, 34, 512, 85, 1280, 4096, 0}, {4114, 68, 1028, 0, 0, 0, 0}, {20575, 12288, 0, 0, 0, 0, 0}, {20640, 24672, 0, 0, 0, 0, 0}, {263, 1024, 17, 0, 0, 0, 0}, {8, 34, 512, 4160, 0, 0, 0}, {783, 51, 20560, 0, 0, 0, 0}, {8, 4128, 68, 1024, 0, 0, 0}, {1295, 12336, 85, 0, 0, 0, 0}, {102, 1536, 20480, 0, 0, 0, 0}, {8, 119, 1799, 4112, 0, 0, 0}, {8, 4192, 16448, 0, 0, 0, 0}, {1295, 51, 1536, 85, 0, 0, 0}, {12394, 20480, 0, 0, 0, 0, 0}, {51, 4883, 4116, 0, 0, 0, 0}, {20588, 12288, 0, 0, 0, 0, 0}, {4114, 85, 5397, 0, 0, 0, 0}, {8, 34, 512, 68, 1024, 4096, 0}, {255, 3855, 12336, 20560, 0, 0, 0}, {4208, 16384, 0, 0, 0, 0, 0}, {1290, 1542, 17, 0, 0, 0, 0}, {4698, 34, 20560, 0, 0, 0, 0}, {4108, 51, 4864, 4160, 0, 0, 0}, {5180, 12336, 68, 0, 0, 0, 0}, {4106, 4128, 85, 5376, 0, 0, 0}, {76, 102, 1542, 4112, 0, 0, 0}, {119, 5888, 20480, 0, 0, 0, 0}, {20600, 24576, 0, 0, 0, 0, 0}, {4102, 85, 5397, 0, 0, 0, 0}, {42, 8224, 4176, 0, 0, 0, 0}, {780, 51, 68, 5120, 0, 0, 0}, {76, 4144, 16448, 0, 0, 0, 0}, {1290, 34, 4608, 85, 0, 0, 0}, {34, 4626, 68, 5140, 0, 0, 0}, {127, 4096, 0, 0, 0, 0, 0}, {128, 4096, 0, 0, 0, 0, 0}, {771, 1285, 17, 0, 0, 0, 0}, {20490, 34, 4608, 0, 0, 0, 0}, {4099, 16448, 0, 0, 0, 0, 0}, {12300, 68, 5120, 0, 0, 0, 0}, {8224, 4101, 0, 0, 0, 0, 0}, {4102, 16448, 0, 0, 0, 0, 0}, {20495, 119, 5888, 0, 0, 0, 0}, {136, 6144, 12288, 20480, 0, 0, 0}, {25, 51, 771, 85, 1285, 4112, 0}, {4106, 4128, 16384, 0, 0, 0, 0}, {5135, 51, 771, 68, 0, 0, 0}, {4108, 8192, 4160, 0, 0, 0, 0}, {4623, 34, 85, 1285, 0, 0, 0}, {5130, 34, 1542, 68, 0, 0, 0}, {4111, 4208, 16384, 0, 0, 0, 0}, {12336, 20560, 0, 0, 0, 0, 0}, {8, 17, 256, 0, 0, 0, 0}, {4114, 16448, 0, 0, 0, 0, 0}, {20575, 51, 768, 0, 0, 0, 0}, {8224, 4116, 0, 0, 0, 0, 0}, {12351, 85, 1280, 0, 0, 0, 0}, {20570, 102, 1536, 0, 0, 0, 0}, {4119, 16448, 0, 0, 0, 0, 0}, {8, 4112, 0, 0, 0, 0, 0}, {51, 768, 85, 1280, 0, 0, 0}, {20570, 12336, 0, 0, 0, 0, 0}, {4115, 68, 1024, 0, 0, 0, 0}, {12348, 20560, 0, 0, 0, 0, 0}, {34, 512, 4117, 0, 0, 0, 0}, {4118, 68, 1024, 0, 0, 0, 0}, {20575, 24672, 0, 0, 0, 0, 0}, {20640, 12288, 0, 0, 0, 0, 0}, {259, 1028, 17, 0, 0, 0, 0}, {8, 34, 512, 4096, 0, 0, 0}, {51, 771, 20560, 0, 0, 0, 0}, {8, 4132, 68, 1028, 0, 0, 0}, {1295, 13568, 85, 0, 0, 0, 0}, {1548, 102, 20480, 0, 0, 0, 0}, {8, 4135, 1799, 4176, 0, 0, 0}, {8, 4128, 16384, 0, 0, 0, 0}, {1295, 51, 771, 85, 0, 0, 0}, {170, 2560, 12288, 20480, 0, 0, 0}, {8, 51, 771, 68, 1028, 4112, 0}, {20588, 24672, 0, 0, 0, 0, 0}, {4103, 85, 5376, 0, 0, 0, 0}, {34, 512, 4100, 0, 0, 0, 0}, {12303, 20560, 0, 0, 0, 0, 0}, {4144, 16448, 0, 0, 0, 0, 0}, {1290, 768, 17, 0, 0, 0, 0}, {34, 4626, 20560, 0, 0, 0, 0}, {76, 51, 768, 4096, 0, 0, 0}, {5180, 9216, 68, 0, 0, 0, 0}, {4127, 4149, 85, 5397, 0, 0, 0}, {4124, 4150, 5654, 4176, 0, 0, 0}, {5960, 119, 20480, 0, 0, 0, 0}, {20600, 12336, 0, 0, 0, 0, 0}, {4115, 85, 5376, 0, 0, 0, 0}, {42, 4112, 0, 0, 0, 0, 0}, {51, 768, 68, 5120, 0, 0, 0}, {76, 4208, 16384, 0, 0, 0, 0}, {1290, 34, 5911, 85, 0, 0, 0}, {4638, 34, 68, 5140, 0, 0, 0}, {4159, 8192, 4160, 0, 0, 0, 0}, {12480, 20480, 0, 0, 0, 0, 0}, {514, 261, 17, 0, 0, 0, 0}, {4162, 16448, 0, 0, 0, 0, 0}, {20495, 51, 21248, 0, 0, 0, 0}, {8, 68, 1024, 4096, 0, 0, 0}, {12336, 85, 1285, 0, 0, 0, 0}, {20490, 102, 22016, 0, 0, 0, 0}, {4167, 16448, 0, 0, 0, 0, 0}, {8, 8192, 4160, 0, 0, 0, 0}, {783, 51, 85, 1285, 0, 0, 0}, {20490, 24672, 0, 0, 0, 0, 0}, {4103, 68, 1024, 0, 0, 0, 0}, {204, 3072, 12288, 20480, 0, 0, 0}, {8, 34, 514, 85, 1285, 4112, 0}, {4098, 68, 1024, 0, 0, 0, 0}, {20495, 12336, 0, 0, 0, 0, 0}, {8224, 4176, 0, 0, 0, 0, 0}, {780, 1280, 17, 0, 0, 0, 0}, {20570, 34, 16896, 0, 0, 0, 0}, {4179, 16448, 0, 0, 0, 0, 0}, {12336, 68, 5140, 0, 0, 0, 0}, {42, 85, 1280, 4096, 0, 0, 0}, {4182, 16448, 0, 0, 0, 0, 0}, {20575, 119, 18176, 0, 0, 0, 0}, {12408, 20560, 0, 0, 0, 0, 0}, {51, 4864, 4117, 0, 0, 0, 0}, {4186, 4208, 16384, 0, 0, 0, 0}, {5147, 51, 5911, 68, 0, 0, 0}, {76, 4112, 0, 0, 0, 0, 0}, {34, 4608, 85, 1280, 0, 0, 0}, {5150, 34, 4626, 68, 0, 0, 0}, {4191, 4128, 16384, 0, 0, 0, 0}, {4192, 16448, 0, 0, 0, 0, 0}, {1295, 1536, 17, 0, 0, 0, 0}, {4680, 34, 20480, 0, 0, 0, 0}, {4124, 51, 4883, 4176, 0, 0, 0}, {5160, 12288, 68, 0, 0, 0, 0}, {4122, 4144, 85, 5397, 0, 0, 0}, {76, 102, 1536, 4096, 0, 0, 0}, {119, 5911, 20560, 0, 0, 0, 0}, {20520, 24672, 0, 0, 0, 0, 0}, {4118, 85, 5376, 0, 0, 0, 0}, {42, 8192, 4160, 0, 0, 0, 0}, {783, 51, 68, 5140, 0, 0, 0}, {76, 4128, 16384, 0, 0, 0, 0}, {1295, 34, 4626, 85, 0, 0, 0}, {34, 4608, 68, 5120, 0, 0, 0}, {127, 4112, 0, 0, 0, 0, 0}, {20720, 24576, 0, 0, 0, 0, 0}, {262, 1028, 17, 0, 0, 0, 0}, {8, 34, 514, 4176, 0, 0, 0}, {780, 51, 20480, 0, 0, 0, 0}, {8, 4144, 68, 1028, 0, 0, 0}, {1290, 12288, 85, 0, 0, 0, 0}, {102, 1542, 20560, 0, 0, 0, 0}, {8, 119, 1792, 4096, 0, 0, 0}, {8, 4208, 16384, 0, 0, 0, 0}, {1290, 51, 1542, 85, 0, 0, 0}, {12378, 20560, 0, 0, 0, 0, 0}, {51, 4864, 4100, 0, 0, 0, 0}, {20540, 12336, 0, 0, 0, 0, 0}, {4098, 85, 5376, 0, 0, 0, 0}, {8, 34, 514, 68, 1028, 4112, 0}, {255, 3840, 12288, 20480, 0, 0, 0}, {2048, 4352, 0, 0, 0, 0, 0}, {48, 80, 257, 0, 0, 0, 0}, {21770, 4386, 514, 0, 0, 0, 0}, {4355, 16384, 0, 0, 0, 0, 0}, {13068, 4420, 1028, 0, 0, 0, 0}, {8192, 4357, 0, 0, 0, 0, 0}, {4358, 16384, 0, 0, 0, 0, 0}, {21775, 4471, 1799, 0, 0, 0, 0}, {4488, 2056, 13056, 21760, 0, 0, 0}, {265, 48, 771, 80, 1285, 4096, 0}, {4362, 4864, 17408, 0, 0, 0, 0}, {4427, 48, 771, 1028, 0, 0, 0}, {4364, 8704, 5376, 0, 0, 0, 0}, {4397, 514, 80, 1285, 0, 0, 0}, {4430, 96, 514, 1028, 0, 0, 0}, {4367, 5632, 17408, 0, 0, 0, 0}, {768, 1280, 272, 0, 0, 0, 0}, {2184, 4369, 0, 0, 0, 0, 0}, {4370, 16384, 0, 0, 0, 0, 0}, {21855, 4403, 4883, 0, 0, 0, 0}, {8192, 4372, 0, 0, 0, 0, 0}, {13119, 4437, 5397, 0, 0, 0, 0}, {21850, 4454, 5654, 0, 0, 0, 0}, {4375, 16384, 0, 0, 0, 0, 0}, {280, 48, 768, 80, 1280, 4096, 0}, {4505, 6425, 13107, 21845, 0, 0, 0}, {5402, 48, 768, 1088, 0, 0, 0}, {4379, 4915, 17476, 0, 0, 0, 0}, {4892, 544, 80, 1280, 0, 0, 0}, {4381, 8738, 5461, 0, 0, 0, 0}, {4382, 5734, 17476, 0, 0, 0, 0}, {5407, 1056, 1536, 1088, 0, 0, 0}, {2560, 544, 4352, 0, 0, 0, 0}, {48, 771, 1092, 4369, 0, 0, 0}, {19456, 4386, 0, 0, 0, 0, 0}, {275, 80, 4112, 0, 0, 0, 0}, {4876, 4388, 4420, 5376, 0, 0, 0}, {5674, 9509, 4437, 0, 0, 0, 0}, {1100, 4454, 16448, 0, 0, 0, 0}, {1295, 4391, 5632, 80, 0, 0, 0}, {4392, 4864, 21760, 0, 0, 0, 0}, {4441, 48, 771, 5397, 0, 0, 0}, {4522, 6442, 13056, 17408, 0, 0, 0}, {283, 48, 771, 80, 1044, 4096, 0}, {4364, 5408, 5888, 5440, 0, 0, 0}, {5722, 1911, 21845, 0, 0, 0, 0}, {4398, 8738, 1092, 0, 0, 0, 0}, {4367, 544, 80, 5120, 0, 0, 0}, {48, 768, 1024, 4352, 0, 0, 0}, {160, 514, 4369, 0, 0, 0, 0}, {258, 80, 4112, 0, 0, 0, 0}, {2048, 4403, 0, 0, 0, 0, 0}, {1800, 13364, 4420, 0, 0, 0, 0}, {522, 4405, 4437, 1024, 0, 0, 0}, {1290, 4406, 1792, 80, 0, 0, 0}, {1032, 4471, 16448, 0, 0, 0, 0}, {1032, 48, 768, 5440, 0, 0, 0}, {522, 4915, 21845, 0, 0, 0, 0}, {266, 48, 768, 80, 1024, 4096, 0}, {4539, 2056, 13107, 17476, 0, 0, 0}, {4412, 1792, 21760, 0, 0, 0, 0}, {4381, 96, 514, 5397, 0, 0, 0}, {4382, 514, 80, 5140, 0, 0, 0}, {4415, 8704, 1024, 0, 0, 0, 0}, {3072, 1088, 4352, 0, 0, 0, 0}, {546, 80, 1285, 4369, 0, 0, 0}, {4418, 16384, 0, 0, 0, 0, 0}, {21775, 4403, 17219, 0, 0, 0, 0}, {10752, 4420, 0, 0, 0, 0, 0}, {48, 277, 4112, 0, 0, 0, 0}, {21770, 4454, 17990, 0, 0, 0, 0}, {4423, 16384, 0, 0, 0, 0, 0}, {4424, 13056, 5376, 0, 0, 0, 0}, {4409, 4883, 80, 1285, 0, 0, 0}, {4362, 1056, 5888, 1088, 0, 0, 0}, {4427, 1911, 17476, 0, 0, 0, 0}, {4556, 6476, 8704, 21760, 0, 0, 0}, {285, 48, 530, 80, 1285, 4096, 0}, {4430, 546, 17476, 0, 0, 0, 0}, {4367, 48, 4608, 1088, 0, 0, 0}, {512, 80, 1280, 4352, 0, 0, 0}, {192, 1028, 4369, 0, 0, 0, 0}, {21850, 4386, 21074, 0, 0, 0, 0}, {4435, 16384, 0, 0, 0, 0, 0}, {48, 260, 4112, 0, 0, 0, 0}, {2048, 4437, 0, 0, 0, 0, 0}, {4438, 16384, 0, 0, 0, 0, 0}, {21855, 4471, 22359, 0, 0, 0, 0}, {520, 4896, 80, 1280, 0, 0, 0}, {1036, 13107, 5461, 0, 0, 0, 0}, {4442, 1792, 17408, 0, 0, 0, 0}, {4379, 96, 4883, 1028, 0, 0, 0}, {268, 48, 512, 80, 1280, 4096, 0}, {4573, 2056, 8738, 21845, 0, 0, 0}, {4382, 48, 4626, 1028, 0, 0, 0}, {4447, 512, 17408, 0, 0, 0, 0}, {96, 512, 1024, 4352, 0, 0, 0}, {240, 1799, 4369, 0, 0, 0, 0}, {1032, 4386, 16448, 0, 0, 0, 0}, {1295, 4403, 512, 80, 0, 0, 0}, {520, 8224, 4420, 0, 0, 0, 0}, {783, 48, 4437, 1024, 0, 0, 0}, {2048, 4454, 0, 0, 0, 0, 0}, {263, 80, 4112, 0, 0, 0, 0}, {1032, 5408, 1536, 5440, 0, 0, 0}, {1807, 5734, 21845, 0, 0, 0, 0}, {4458, 13056, 1024, 0, 0, 0, 0}, {4379, 4883, 80, 5140, 0, 0, 0}, {4460, 512, 21760, 0, 0, 0, 0}, {4381, 48, 4626, 5397, 0, 0, 0}, {4590, 2056, 8738, 17476, 0, 0, 0}, {271, 48, 512, 80, 1024, 4096, 0}, {3840, 1904, 4352, 0, 0, 0, 0}, {1060, 1542, 1092, 4369, 0, 0, 0}, {1290, 4386, 4864, 80, 0, 0, 0}, {1100, 4403, 16448, 0, 0, 0, 0}, {780, 48, 4420, 5376, 0, 0, 0}, {554, 8224, 4437, 0, 0, 0, 0}, {278, 80, 4112, 0, 0, 0, 0}, {19456, 4471, 0, 0, 0, 0, 0}, {4472, 5632, 21760, 0, 0, 0, 0}, {4441, 96, 4883, 5397, 0, 0, 0}, {4362, 4896, 80, 5120, 0, 0, 0}, {5439, 13107, 1092, 0, 0, 0, 0}, {4364, 48, 4608, 5440, 0, 0, 0}, {4959, 546, 21845, 0, 0, 0, 0}, {286, 48, 530, 80, 1044, 4096, 0}, {4607, 6527, 8704, 17408, 0, 0, 0}, {2176, 4352, 0, 0, 0, 0, 0}, {771, 1285, 273, 0, 0, 0, 0}, {21770, 4386, 4864, 0, 0, 0, 0}, {4355, 16448, 0, 0, 0, 0, 0}, {13068, 4420, 5376, 0, 0, 0, 0}, {8224, 4357, 0, 0, 0, 0, 0}, {4358, 16448, 0, 0, 0, 0, 0}, {21775, 4471, 5632, 0, 0, 0, 0}, {4488, 6400, 13056, 21760, 0, 0, 0}, {281, 48, 771, 80, 1285, 4112, 0}, {4362, 4896, 17408, 0, 0, 0, 0}, {5391, 48, 771, 1092, 0, 0, 0}, {4364, 8704, 5440, 0, 0, 0, 0}, {4879, 546, 80, 1285, 0, 0, 0}, {5386, 1060, 1542, 1092, 0, 0, 0}, {4367, 5744, 17408, 0, 0, 0, 0}, {48, 80, 256, 0, 0, 0, 0}, {2056, 4369, 0, 0, 0, 0, 0}, {4370, 16448, 0, 0, 0, 0, 0}, {21855, 4403, 512, 0, 0, 0, 0}, {8224, 4372, 0, 0, 0, 0, 0}, {13119, 4437, 1024, 0, 0, 0, 0}, {21850, 4454, 1792, 0, 0, 0, 0}, {4375, 16448, 0, 0, 0, 0, 0}, {264, 48, 768, 80, 1280, 4112, 0}, {4505, 2048, 13107, 21845, 0, 0, 0}, {4442, 48, 768, 1024, 0, 0, 0}, {4379, 4883, 17476, 0, 0, 0, 0}, {4412, 512, 80, 1280, 0, 0, 0}, {4381, 8738, 5397, 0, 0, 0, 0}, {4382, 5654, 17476, 0, 0, 0, 0}, {4447, 96, 512, 1024, 0, 0, 0}, {160, 512, 4352, 0, 0, 0, 0}, {48, 771, 1028, 4369, 0, 0, 0}, {2056, 4386, 0, 0, 0, 0, 0}, {259, 80, 4096, 0, 0, 0, 0}, {520, 4388, 4420, 1028, 0, 0, 0}, {1807, 13312, 4437, 0, 0, 0, 0}, {1036, 4454, 16384, 0, 0, 0, 0}, {1295, 4391, 1799, 80, 0, 0, 0}, {520, 4896, 21760, 0, 0, 0, 0}, {1036, 48, 771, 5461, 0, 0, 0}, {4522, 2048, 13056, 17408, 0, 0, 0}, {267, 48, 771, 80, 1028, 4112, 0}, {4364, 96, 512, 5376, 0, 0, 0}, {4397, 1799, 21845, 0, 0, 0, 0}, {4398, 8738, 1028, 0, 0, 0, 0}, {4367, 512, 80, 5120, 0, 0, 0}, {48, 768, 1088, 4352, 0, 0, 0}, {2570, 546, 4369, 0, 0, 0, 0}, {274, 80, 4096, 0, 0, 0, 0}, {19532, 4403, 0, 0, 0, 0, 0}, {5692, 9472, 4420, 0, 0, 0, 0}, {4895, 4405, 4437, 5397, 0, 0, 0}, {1290, 4406, 5654, 80, 0, 0, 0}, {1096, 4471, 16384, 0, 0, 0, 0}, {4424, 48, 768, 5376, 0, 0, 0}, {4409, 4883, 21845, 0, 0, 0, 0}, {282, 48, 768, 80, 1040, 4112, 0}, {4539, 6451, 13107, 17476, 0, 0, 0}, {5708, 1904, 21760, 0, 0, 0, 0}, {4381, 5429, 5911, 5461, 0, 0, 0}, {4382, 546, 80, 5140, 0, 0, 0}, {4415, 8704, 1088, 0, 0, 0, 0}, {192, 1024, 4352, 0, 0, 0, 0}, {514, 80, 1285, 4369, 0, 0, 0}, {4418, 16448, 0, 0, 0, 0, 0}, {21775, 4403, 20992, 0, 0, 0, 0}, {2056, 4420, 0, 0, 0, 0, 0}, {48, 261, 4096, 0, 0, 0, 0}, {21770, 4454, 22272, 0, 0, 0, 0}, {4423, 16448, 0, 0, 0, 0, 0}, {1032, 13056, 5440, 0, 0, 0, 0}, {522, 4915, 80, 1285, 0, 0, 0}, {4362, 96, 4864, 1024, 0, 0, 0}, {4427, 1799, 17476, 0, 0, 0, 0}, {4556, 2048, 8704, 21760, 0, 0, 0}, {269, 48, 514, 80, 1285, 4112, 0}, {4430, 514, 17476, 0, 0, 0, 0}, {4367, 48, 4608, 1024, 0, 0, 0}, {544, 80, 1280, 4352, 0, 0, 0}, {3084, 1092, 4369, 0, 0, 0, 0}, {21850, 4386, 17152, 0, 0, 0, 0}, {4435, 16448, 0, 0, 0, 0, 0}, {48, 276, 4096, 0, 0, 0, 0}, {10794, 4437, 0, 0, 0, 0, 0}, {4438, 16448, 0, 0, 0, 0, 0}, {21855, 4471, 17920, 0, 0, 0, 0}, {4392, 4864, 80, 1280, 0, 0, 0}, {4441, 13107, 5397, 0, 0, 0, 0}, {4442, 1904, 17408, 0, 0, 0, 0}, {4379, 1060, 5911, 1092, 0, 0, 0}, {284, 48, 528, 80, 1280, 4112, 0}, {4573, 6485, 8738, 21845, 0, 0, 0}, {4382, 48, 4626, 1092, 0, 0, 0}, {4447, 544, 17408, 0, 0, 0, 0}, {1056, 1536, 1088, 4352, 0, 0, 0}, {3855, 1911, 4369, 0, 0, 0, 0}, {1096, 4386, 16384, 0, 0, 0, 0}, {1295, 4403, 4883, 80, 0, 0, 0}, {552, 8192, 4420, 0, 0, 0, 0}, {783, 48, 4437, 5397, 0, 0, 0}, {19532, 4454, 0, 0, 0, 0, 0}, {279, 80, 4096, 0, 0, 0, 0}, {4424, 96, 4864, 5376, 0, 0, 0}, {4457, 5654, 21845, 0, 0, 0, 0}, {5418, 13056, 1088, 0, 0, 0, 0}, {4379, 4915, 80, 5140, 0, 0, 0}, {4940, 544, 21760, 0, 0, 0, 0}, {4381, 48, 4626, 5461, 0, 0, 0}, {4590, 6502, 8738, 17476, 0, 0, 0}, {287, 48, 528, 80, 1040, 4112, 0}, {240, 1792, 4352, 0, 0, 0, 0}, {96, 514, 1028, 4369, 0, 0, 0}, {1290, 4386, 514, 80, 0, 0, 0}, {1036, 4403, 16384, 0, 0, 0, 0}, {780, 48, 4420, 1028, 0, 0, 0}, {522, 8192, 4437, 0, 0, 0, 0}, {262, 80, 4096, 0, 0, 0, 0}, {2056, 4471, 0, 0, 0, 0, 0}, {1800, 5744, 21760, 0, 0, 0, 0}, {1036, 5429, 1542, 5461, 0, 0, 0}, {4362, 4864, 80, 5120, 0, 0, 0}, {4475, 13107, 1028, 0, 0, 0, 0}, {4364, 48, 4608, 5376, 0, 0, 0}, {4477, 514, 21845, 0, 0, 0, 0}, {270, 48, 514, 80, 1028, 4112, 0}, {4607, 2048, 8704, 17408, 0, 0, 0}, {4608, 16384, 0, 0, 0, 0, 0}, {95, 51, 257, 0, 0, 0, 0}, {4128, 514, 20480, 0, 0, 0, 0}, {1036, 51, 771, 4352, 0, 0, 0}, {4680, 8772, 1028, 0, 0, 0, 0}, {4111, 4613, 4176, 1285, 0, 0, 0}, {4108, 4192, 4614, 5120, 0, 0, 0}, {5503, 1799, 21760, 0, 0, 0, 0}, {21000, 12288, 0, 0, 0, 0, 0}, {4099, 4437, 1285, 0, 0, 0, 0}, {522, 4096, 0, 0, 0, 0, 0}, {51, 771, 4420, 1028, 0, 0, 0}, {1036, 5632, 17408, 0, 0, 0, 0}, {95, 4208, 514, 1285, 0, 0, 0}, {4140, 514, 4160, 1028, 0, 0, 0}, {4623, 8704, 5376, 0, 0, 0, 0}, {2560, 544, 4112, 0, 0, 0, 0}, {51, 768, 1092, 4369, 0, 0, 0}, {16576, 4626, 0, 0, 0, 0, 0}, {275, 1280, 4352, 0, 0, 0, 0}, {4156, 4628, 4176, 5140, 0, 0, 0}, {4714, 8789, 5397, 0, 0, 0, 0}, {1100, 5654, 17408, 0, 0, 0, 0}, {95, 4192, 4631, 1280, 0, 0, 0}, {4632, 4144, 20560, 0, 0, 0, 0}, {5401, 51, 768, 4437, 0, 0, 0}, {4762, 6682, 12336, 16448, 0, 0, 0}, {283, 51, 768, 324, 1280, 4096, 0}, {4124, 1056, 1536, 5200, 0, 0, 0}, {4637, 1911, 21845, 0, 0, 0, 0}, {4638, 8738, 1092, 0, 0, 0, 0}, {4127, 544, 4160, 1280, 0, 0, 0}, {4128, 4608, 20480, 0, 0, 0, 0}, {1096, 51, 771, 4369, 0, 0, 0}, {4642, 16384, 0, 0, 0, 0, 0}, {1295, 771, 272, 0, 0, 0, 0}, {4108, 1060, 5632, 5188, 0, 0, 0}, {4698, 1904, 21845, 0, 0, 0, 0}, {5674, 9766, 1088, 0, 0, 0, 0}, {4111, 4647, 4176, 5376, 0, 0, 0}, {552, 4096, 0, 0, 0, 0, 0}, {51, 771, 4437, 5397, 0, 0, 0}, {21034, 12288, 0, 0, 0, 0, 0}, {4099, 4420, 5140, 0, 0, 0, 0}, {4620, 544, 4160, 5120, 0, 0, 0}, {4653, 8738, 5461, 0, 0, 0, 0}, {1096, 5734, 17476, 0, 0, 0, 0}, {1295, 5408, 5888, 1360, 0, 0, 0}, {2048, 4656, 0, 0, 0, 0, 0}, {258, 1365, 4369, 0, 0, 0, 0}, {160, 514, 4112, 0, 0, 0, 0}, {51, 768, 1024, 4352, 0, 0, 0}, {1032, 5744, 17476, 0, 0, 0, 0}, {1290, 5429, 1792, 1365, 0, 0, 0}, {522, 4662, 4176, 1024, 0, 0, 0}, {1800, 14135, 5440, 0, 0, 0, 0}, {4792, 2056, 12336, 16448, 0, 0, 0}, {266, 51, 768, 341, 1024, 4096, 0}, {522, 4144, 20560, 0, 0, 0, 0}, {1032, 51, 768, 4420, 0, 0, 0}, {4668, 8704, 1024, 0, 0, 0, 0}, {4127, 514, 4160, 5397, 0, 0, 0}, {4124, 4208, 514, 5140, 0, 0, 0}, {5439, 1792, 21760, 0, 0, 0, 0}, {4800, 6720, 8704, 16448, 0, 0, 0}, {286, 51, 529, 321, 1285, 4369, 0}, {4192, 4674, 20480, 0, 0, 0, 0}, {1100, 51, 1859, 4352, 0, 0, 0}, {5632, 1092, 0, 0, 0, 0, 0}, {95, 629, 1285, 4112, 0, 0, 0}, {4172, 4128, 582, 5120, 0, 0, 0}, {5439, 4679, 21760, 0, 0, 0, 0}, {4680, 28672, 0, 0, 0, 0, 0}, {278, 4437, 1285, 0, 0, 0, 0}, {554, 8224, 4160, 0, 0, 0, 0}, {783, 51, 4420, 5376, 0, 0, 0}, {1100, 4608, 17408, 0, 0, 0, 0}, {95, 4144, 4626, 1285, 0, 0, 0}, {1546, 546, 1092, 4096, 0, 0, 0}, {3855, 4656, 5440, 0, 0, 0, 0}, {512, 4176, 0, 0, 0, 0, 0}, {780, 51, 1028, 4369, 0, 0, 0}, {16512, 21074, 0, 0, 0, 0, 0}, {339, 1280, 4352, 0, 0, 0, 0}, {520, 612, 1028, 4112, 0, 0, 0}, {1792, 5461, 0, 0, 0, 0, 0}, {1036, 4694, 17408, 0, 0, 0, 0}, {95, 4128, 599, 1280, 0, 0, 0}, {520, 4208, 20560, 0, 0, 0, 0}, {1036, 51, 1792, 4437, 0, 0, 0}, {4698, 16384, 0, 0, 0, 0, 0}, {51, 4883, 260, 0, 0, 0, 0}, {1036, 4144, 512, 5200, 0, 0, 0}, {1800, 4642, 21845, 0, 0, 0, 0}, {204, 4626, 1028, 0, 0, 0, 0}, {95, 512, 1280, 4096, 0, 0, 0}, {4192, 512, 20480, 0, 0, 0, 0}, {1032, 51, 1799, 4369, 0, 0, 0}, {4834, 2056, 8738, 16448, 0, 0, 0}, {271, 51, 512, 336, 1024, 4352, 0}, {1032, 4128, 1536, 5188, 0, 0, 0}, {1807, 4709, 21845, 0, 0, 0, 0}, {4710, 1024, 0, 0, 0, 0, 0}, {1295, 1799, 1360, 4112, 0, 0, 0}, {520, 8224, 4160, 0, 0, 0, 0}, {783, 51, 4437, 1024, 0, 0, 0}, {4714, 28672, 0, 0, 0, 0, 0}, {263, 4420, 5140, 0, 0, 0, 0}, {108, 512, 1024, 4096, 0, 0, 0}, {255, 4626, 5397, 0, 0, 0, 0}, {1032, 4642, 17476, 0, 0, 0, 0}, {1295, 4144, 512, 1360, 0, 0, 0}, {18432, 21104, 0, 0, 0, 0, 0}, {1047, 1365, 4369, 0, 0, 0, 0}, {2570, 546, 4176, 0, 0, 0, 0}, {780, 51, 1088, 4352, 0, 0, 0}, {1096, 4724, 17476, 0, 0, 0, 0}, {1290, 4128, 5888, 1365, 0, 0, 0}, {1068, 1542, 1088, 4112, 0, 0, 0}, {4727, 5376, 0, 0, 0, 0, 0}, {4728, 16384, 0, 0, 0, 0, 0}, {51, 4883, 277, 0, 0, 0, 0}, {4698, 4208, 20560, 0, 0, 0, 0}, {5388, 51, 5632, 4420, 0, 0, 0}, {3084, 4656, 1088, 0, 0, 0, 0}, {1290, 546, 1365, 4096, 0, 0, 0}, {4188, 4144, 4626, 5140, 0, 0, 0}, {5503, 4608, 21760, 0, 0, 0, 0}, {16512, 4608, 0, 0, 0, 0, 0}, {274, 1285, 4369, 0, 0, 0, 0}, {2570, 546, 4096, 0, 0, 0, 0}, {51, 771, 1088, 4352, 0, 0, 0}, {1096, 5632, 17476, 0, 0, 0, 0}, {95, 4208, 4613, 1285, 0, 0, 0}, {4140, 4614, 4160, 5120, 0, 0, 0}, {4728, 8823, 5376, 0, 0, 0, 0}, {4744, 6656, 12288, 16384, 0, 0, 0}, {282, 51, 771, 325, 1285, 4112, 0}, {4618, 4128, 20480, 0, 0, 0, 0}, {5388, 51, 771, 4420, 0, 0, 0}, {4620, 8704, 1088, 0, 0, 0, 0}, {4111, 546, 4176, 1285, 0, 0, 0}, {4108, 1060, 1542, 5188, 0, 0, 0}, {4623, 1904, 21760, 0, 0, 0, 0}, {4144, 512, 20560, 0, 0, 0, 0}, {1032, 51, 768, 4369, 0, 0, 0}, {4626, 16448, 0, 0, 0, 0, 0}, {95, 51, 256, 0, 0, 0, 0}, {4124, 4208, 4628, 5140, 0, 0, 0}, {5482, 1792, 21845, 0, 0, 0, 0}, {4698, 8806, 1024, 0, 0, 0, 0}, {4127, 4631, 4160, 1280, 0, 0, 0}, {520, 4112, 0, 0, 0, 0, 0}, {51, 768, 4437, 1024, 0, 0, 0}, {21082, 12336, 0, 0, 0, 0, 0}, {4115, 4420, 1280, 0, 0, 0, 0}, {4156, 512, 4176, 1024, 0, 0, 0}, {4637, 8738, 5397, 0, 0, 0, 0}, {1032, 5654, 17476, 0, 0, 0, 0}, {95, 4192, 512, 1280, 0, 0, 0}, {160, 512, 4096, 0, 0, 0, 0}, {51, 771, 1028, 4369, 0, 0, 0}, {2056, 4642, 0, 0, 0, 0, 0}, {259, 1360, 4352, 0, 0, 0, 0}, {520, 4644, 4160, 1028, 0, 0, 0}, {1807, 14080, 5461, 0, 0, 0, 0}, {1036, 5734, 17408, 0, 0, 0, 0}, {1295, 5408, 1799, 1360, 0, 0, 0}, {520, 4128, 20480, 0, 0, 0, 0}, {1036, 51, 771, 4437, 0, 0, 0}, {4778, 2048, 12288, 16384, 0, 0, 0}, {267, 51, 771, 340, 1028, 4112, 0}, {4108, 4192, 512, 5120, 0, 0, 0}, {5418, 1799, 21845, 0, 0, 0, 0}, {4654, 8738, 1028, 0, 0, 0, 0}, {4111, 512, 4176, 5376, 0, 0, 0}, {4656, 16448, 0, 0, 0, 0, 0}, {1290, 768, 273, 0, 0, 0, 0}, {4144, 4626, 20560, 0, 0, 0, 0}, {1100, 51, 768, 4352, 0, 0, 0}, {5692, 9728, 1092, 0, 0, 0, 0}, {4127, 4661, 4160, 5397, 0, 0, 0}, {4124, 1056, 5654, 5200, 0, 0, 0}, {4680, 1911, 21760, 0, 0, 0, 0}, {21112, 12336, 0, 0, 0, 0, 0}, {4115, 4437, 5120, 0, 0, 0, 0}, {554, 4112, 0, 0, 0, 0, 0}, {51, 768, 4420, 5376, 0, 0, 0}, {1100, 5744, 17408, 0, 0, 0, 0}, {1290, 5429, 5911, 1365, 0, 0, 0}, {4638, 546, 4176, 5140, 0, 0, 0}, {4671, 8704, 5440, 0, 0, 0, 0}, {16576, 20992, 0, 0, 0, 0, 0}, {338, 1285, 4369, 0, 0, 0, 0}, {514, 4160, 0, 0, 0, 0, 0}, {783, 51, 1024, 4352, 0, 0, 0}, {1032, 4676, 17476, 0, 0, 0, 0}, {95, 4144, 597, 1285, 0, 0, 0}, {522, 614, 1024, 4096, 0, 0, 0}, {1799, 5440, 0, 0, 0, 0, 0}, {4680, 16448, 0, 0, 0, 0, 0}, {51, 4864, 261, 0, 0, 0, 0}, {522, 4192, 20480, 0, 0, 0, 0}, {1032, 51, 1799, 4420, 0, 0, 0}, {204, 4608, 1024, 0, 0, 0, 0}, {95, 514, 1285, 4112, 0, 0, 0}, {1032, 4128, 514, 5188, 0, 0, 0}, {1807, 4656, 21760, 0, 0, 0, 0}, {4208, 4688, 20560, 0, 0, 0, 0}, {1096, 51, 1860, 4369, 0, 0, 0}, {4818, 6746, 8738, 16384, 0, 0, 0}, {287, 51, 531, 320, 1280, 4352, 0}, {4188, 4144, 580, 5140, 0, 0, 0}, {5418, 4693, 21845, 0, 0, 0, 0}, {5654, 1088, 0, 0, 0, 0, 0}, {95, 631, 1280, 4096, 0, 0, 0}, {552, 8192, 4176, 0, 0, 0, 0}, {780, 51, 4437, 5397, 0, 0, 0}, {4698, 28784, 0, 0, 0, 0, 0}, {279, 4420, 1280, 0, 0, 0, 0}, {1548, 544, 1088, 4112, 0, 0, 0}, {3840, 4642, 5461, 0, 0, 0, 0}, {1096, 4626, 17476, 0, 0, 0, 0}, {95, 4128, 4608, 1280, 0, 0, 0}, {2560, 544, 4160, 0, 0, 0, 0}, {783, 51, 1092, 4369, 0, 0, 0}, {18504, 21026, 0, 0, 0, 0, 0}, {1043, 1360, 4352, 0, 0, 0, 0}, {1064, 1536, 1092, 4096, 0, 0, 0}, {4709, 5397, 0, 0, 0, 0, 0}, {1100, 4710, 17408, 0, 0, 0, 0}, {1295, 4144, 5911, 1360, 0, 0, 0}, {4680, 4192, 20480, 0, 0, 0, 0}, {5401, 51, 5654, 4437, 0, 0, 0}, {4714, 16448, 0, 0, 0, 0, 0}, {51, 4864, 276, 0, 0, 0, 0}, {4172, 4128, 4608, 5120, 0, 0, 0}, {5482, 4626, 21845, 0, 0, 0, 0}, {3072, 4642, 1092, 0, 0, 0, 0}, {1295, 544, 1360, 4112, 0, 0, 0}, {4848, 2048, 8704, 16384, 0, 0, 0}, {270, 51, 514, 337, 1028, 4369, 0}, {4208, 514, 20560, 0, 0, 0, 0}, {1036, 51, 1792, 4352, 0, 0, 0}, {4724, 1028, 0, 0, 0, 0, 0}, {1290, 1792, 1365, 4096, 0, 0, 0}, {1036, 4144, 1542, 5200, 0, 0, 0}, {1800, 4727, 21760, 0, 0, 0, 0}, {4728, 28784, 0, 0, 0, 0, 0}, {262, 4437, 5120, 0, 0, 0, 0}, {522, 8192, 4176, 0, 0, 0, 0}, {780, 51, 4420, 1028, 0, 0, 0}, {1036, 4656, 17408, 0, 0, 0, 0}, {1290, 4128, 514, 1365, 0, 0, 0}, {108, 514, 1028, 4112, 0, 0, 0}, {255, 4608, 5376, 0, 0, 0, 0}, {24320, 13056, 0, 0, 0, 0, 0}, {18, 64, 257, 0, 0, 0, 0}, {8, 34, 514, 4352, 0, 0, 0}, {48, 771, 20480, 0, 0, 0, 0}, {8, 4868, 64, 1028, 0, 0, 0}, {90, 13141, 1285, 0, 0, 0, 0}, {106, 1542, 21760, 0, 0, 0, 0}, {8, 112, 4871, 5120, 0, 0, 0}, {8, 4864, 17408, 0, 0, 0, 0}, {90, 48, 771, 1285, 0, 0, 0}, {170, 2570, 13056, 21760, 0, 0, 0}, {8, 48, 771, 64, 1028, 4096, 0}, {21260, 24576, 0, 0, 0, 0, 0}, {4359, 4437, 1285, 0, 0, 0, 0}, {34, 514, 4356, 0, 0, 0, 0}, {13071, 20480, 0, 0, 0, 0, 0}, {48, 768, 64, 4112, 0, 0, 0}, {2560, 34, 4369, 0, 0, 0, 0}, {18, 1280, 4352, 0, 0, 0, 0}, {128, 4883, 0, 0, 0, 0, 0}, {120, 13124, 5140, 0, 0, 0, 0}, {42, 4885, 64, 5397, 0, 0, 0}, {90, 112, 4886, 1280, 0, 0, 0}, {72, 5911, 17408, 0, 0, 0, 0}, {5144, 48, 768, 5200, 0, 0, 0}, {4889, 4915, 21845, 0, 0, 0, 0}, {26, 48, 768, 64, 1280, 4096, 0}, {136, 6939, 13107, 17476, 0, 0, 0}, {4892, 112, 20560, 0, 0, 0, 0}, {4381, 34, 1536, 4437, 0, 0, 0}, {4382, 34, 4420, 1280, 0, 0, 0}, {4895, 8224, 64, 0, 0, 0, 0}, {19456, 4896, 0, 0, 0, 0, 0}, {18, 1365, 4369, 0, 0, 0, 0}, {2560, 34, 4352, 0, 0, 0, 0}, {48, 771, 64, 4112, 0, 0, 0}, {72, 5984, 17476, 0, 0, 0, 0}, {1295, 1317, 5632, 1365, 0, 0, 0}, {4876, 4902, 64, 5376, 0, 0, 0}, {5160, 10023, 5200, 0, 0, 0, 0}, {136, 6952, 13056, 17408, 0, 0, 0}, {26, 48, 771, 64, 1301, 4096, 0}, {42, 4864, 21760, 0, 0, 0, 0}, {72, 48, 771, 5140, 0, 0, 0}, {4908, 8224, 64, 0, 0, 0, 0}, {4367, 34, 4437, 5120, 0, 0, 0}, {4364, 34, 5888, 4420, 0, 0, 0}, {4959, 112, 20560, 0, 0, 0, 0}, {48, 768, 20480, 0, 0, 0, 0}, {8, 34, 514, 4369, 0, 0, 0}, {258, 1024, 272, 0, 0, 0, 0}, {24575, 13107, 0, 0, 0, 0, 0}, {8, 5172, 1792, 5188, 0, 0, 0}, {1546, 1632, 21845, 0, 0, 0, 0}, {1290, 13878, 1360, 0, 0, 0, 0}, {8, 4919, 64, 1024, 0, 0, 0}, {8, 48, 768, 64, 1024, 4096, 0}, {170, 2570, 13107, 21845, 0, 0, 0}, {1290, 48, 768, 1360, 0, 0, 0}, {8, 4915, 17476, 0, 0, 0, 0}, {13116, 20480, 0, 0, 0, 0, 0}, {34, 514, 4373, 0, 0, 0, 0}, {4374, 4420, 5140, 0, 0, 0, 0}, {21311, 24576, 0, 0, 0, 0, 0}, {4864, 64, 0, 0, 0, 0, 0}, {90, 34, 1285, 4369, 0, 0, 0}, {72, 34, 1602, 4352, 0, 0, 0}, {112, 4931, 20480, 0, 0, 0, 0}, {136, 6980, 13124, 17476, 0, 0, 0}, {26, 48, 789, 64, 1285, 4112, 0}, {42, 4934, 21760, 0, 0, 0, 0}, {72, 48, 839, 5120, 0, 0, 0}, {72, 5888, 17408, 0, 0, 0, 0}, {90, 112, 4883, 1285, 0, 0, 0}, {4874, 4896, 64, 5376, 0, 0, 0}, {5180, 13107, 5188, 0, 0, 0, 0}, {4940, 8192, 0, 0, 0, 0, 0}, {18, 4437, 1285, 0, 0, 0, 0}, {2570, 34, 4420, 0, 0, 0, 0}, {783, 48, 64, 4096, 0, 0, 0}, {240, 3840, 13056, 20560, 0, 0, 0}, {8, 34, 512, 64, 1028, 4369, 0}, {82, 1280, 4352, 0, 0, 0, 0}, {192, 21331, 0, 0, 0, 0, 0}, {8, 48, 772, 64, 1028, 4112, 0}, {170, 2560, 13141, 21845, 0, 0, 0}, {90, 48, 854, 1280, 0, 0, 0}, {8, 4951, 17408, 0, 0, 0, 0}, {8, 5152, 1792, 5200, 0, 0, 0}, {1548, 1638, 21845, 0, 0, 0, 0}, {90, 13056, 1280, 0, 0, 0, 0}, {8, 4883, 64, 1028, 0, 0, 0}, {780, 48, 20560, 0, 0, 0, 0}, {8, 34, 512, 4437, 0, 0, 0}, {18, 260, 4096, 0, 0, 0, 0}, {13311, 24415, 0, 0, 0, 0, 0}, {3072, 21344, 0, 0, 0, 0, 0}, {1287, 1365, 4369, 0, 0, 0, 0}, {8, 34, 512, 64, 1024, 4352, 0}, {240, 3855, 13107, 20560, 0, 0, 0}, {8, 4964, 17476, 0, 0, 0, 0}, {1295, 48, 1536, 1365, 0, 0, 0}, {170, 2560, 13158, 21760, 0, 0, 0}, {8, 48, 775, 64, 1024, 4112, 0}, {8, 4896, 64, 1024, 0, 0, 0}, {1295, 13107, 1365, 0, 0, 0, 0}, {106, 1536, 21760, 0, 0, 0, 0}, {8, 112, 4883, 5140, 0, 0, 0}, {13260, 27756, 0, 0, 0, 0, 0}, {18, 277, 4096, 0, 0, 0, 0}, {8, 34, 512, 4420, 0, 0, 0}, {783, 48, 20560, 0, 0, 0, 0}, {112, 4864, 20480, 0, 0, 0, 0}, {72, 34, 1542, 4369, 0, 0, 0}, {1290, 34, 1360, 4352, 0, 0, 0}, {3084, 4915, 64, 0, 0, 0, 0}, {5132, 48, 5888, 5188, 0, 0, 0}, {4959, 4981, 21845, 0, 0, 0, 0}, {26, 48, 790, 64, 1296, 4112, 0}, {136, 7031, 13175, 17408, 0, 0, 0}, {120, 13056, 5120, 0, 0, 0, 0}, {42, 4883, 64, 5397, 0, 0, 0}, {1290, 1312, 5632, 1360, 0, 0, 0}, {72, 6007, 17476, 0, 0, 0, 0}, {780, 48, 64, 4096, 0, 0, 0}, {2570, 34, 4437, 0, 0, 0, 0}, {18, 4420, 5140, 0, 0, 0, 0}, {4991, 8192, 0, 0, 0, 0, 0}, {128, 4864, 0, 0, 0, 0, 0}, {18, 1285, 4369, 0, 0, 0, 0}, {2570, 34, 4352, 0, 0, 0, 0}, {48, 771, 64, 4096, 0, 0, 0}, {72, 5888, 17476, 0, 0, 0, 0}, {90, 112, 4869, 1285, 0, 0, 0}, {42, 4870, 64, 5376, 0, 0, 0}, {120, 13175, 5120, 0, 0, 0, 0}, {136, 6912, 13056, 17408, 0, 0, 0}, {26, 48, 771, 64, 1285, 4112, 0}, {4874, 4896, 21760, 0, 0, 0, 0}, {5132, 48, 771, 5188, 0, 0, 0}, {4876, 8192, 64, 0, 0, 0, 0}, {4367, 34, 4437, 1285, 0, 0, 0}, {4364, 34, 1542, 4420, 0, 0, 0}, {4879, 112, 20480, 0, 0, 0, 0}, {48, 768, 20560, 0, 0, 0, 0}, {8, 34, 512, 4369, 0, 0, 0}, {18, 64, 256, 0, 0, 0, 0}, {24415, 13107, 0, 0, 0, 0, 0}, {8, 112, 4884, 5140, 0, 0, 0}, {106, 1536, 21845, 0, 0, 0, 0}, {90, 13158, 1280, 0, 0, 0, 0}, {8, 4887, 64, 1024, 0, 0, 0}, {8, 48, 768, 64, 1024, 4112, 0}, {170, 2560, 13107, 21845, 0, 0, 0}, {90, 48, 768, 1280, 0, 0, 0}, {8, 4883, 17476, 0, 0, 0, 0}, {13116, 20560, 0, 0, 0, 0, 0}, {34, 512, 4373, 0, 0, 0, 0}, {4374, 4420, 1280, 0, 0, 0, 0}, {21343, 24672, 0, 0, 0, 0, 0}, {24480, 13056, 0, 0, 0, 0, 0}, {259, 1028, 273, 0, 0, 0, 0}, {8, 34, 512, 4352, 0, 0, 0}, {48, 771, 20560, 0, 0, 0, 0}, {8, 4900, 64, 1028, 0, 0, 0}, {1295, 13824, 1365, 0, 0, 0, 0}, {1548, 1638, 21760, 0, 0, 0, 0}, {8, 5152, 1799, 5200, 0, 0, 0}, {8, 4896, 17408, 0, 0, 0, 0}, {1295, 48, 771, 1365, 0, 0, 0}, {170, 2560, 13056, 21760, 0, 0, 0}, {8, 48, 771, 64, 1028, 4112, 0}, {21356, 24672, 0, 0, 0, 0, 0}, {4359, 4437, 5120, 0, 0, 0, 0}, {34, 512, 4356, 0, 0, 0, 0}, {13071, 20560, 0, 0, 0, 0, 0}, {48, 768, 64, 4096, 0, 0, 0}, {2570, 34, 4369, 0, 0, 0, 0}, {18, 1360, 4352, 0, 0, 0, 0}, {19532, 4915, 0, 0, 0, 0, 0}, {5180, 9984, 5188, 0, 0, 0, 0}, {4895, 4917, 64, 5397, 0, 0, 0}, {1290, 1312, 5654, 1360, 0, 0, 0}, {72, 6007, 17408, 0, 0, 0, 0}, {72, 48, 768, 5120, 0, 0, 0}, {42, 4883, 21845, 0, 0, 0, 0}, {26, 48, 768, 64, 1296, 4112, 0}, {136, 6963, 13107, 17476, 0, 0, 0}, {4940, 112, 20480, 0, 0, 0, 0}, {4381, 34, 5911, 4437, 0, 0, 0}, {4382, 34, 4420, 5140, 0, 0, 0}, {4927, 8192, 64, 0, 0, 0, 0}, {192, 21248, 0, 0, 0, 0, 0}, {82, 1285, 4369, 0, 0, 0, 0}, {8, 34, 514, 64, 1024, 4352, 0}, {240, 3855, 13107, 20480, 0, 0, 0}, {8, 4932, 17476, 0, 0, 0, 0}, {90, 48, 853, 1285, 0, 0, 0}, {170, 2570, 13158, 21760, 0, 0, 0}, {8, 48, 775, 64, 1024, 4096, 0}, {8, 4864, 64, 1024, 0, 0, 0}, {90, 13107, 1285, 0, 0, 0, 0}, {1546, 1632, 21760, 0, 0, 0, 0}, {8, 5172, 1799, 5188, 0, 0, 0}, {13260, 24320, 0, 0, 0, 0, 0}, {18, 261, 4112, 0, 0, 0, 0}, {8, 34, 514, 4420, 0, 0, 0}, {783, 48, 20480, 0, 0, 0, 0}, {112, 4944, 20560, 0, 0, 0, 0}, {72, 34, 1604, 4369, 0, 0, 0}, {90, 34, 1280, 4352, 0, 0, 0}, {4883, 64, 0, 0, 0, 0, 0}, {72, 48, 836, 5140, 0, 0, 0}, {42, 4949, 21845, 0, 0, 0, 0}, {26, 48, 790, 64, 1280, 4096, 0}, {136, 7007, 13175, 17408, 0, 0, 0}, {5160, 13056, 5200, 0, 0, 0, 0}, {4889, 4915, 64, 5397, 0, 0, 0}, {90, 112, 4864, 1280, 0, 0, 0}, {72, 5911, 17476, 0, 0, 0, 0}, {780, 48, 64, 4112, 0, 0, 0}, {2560, 34, 4437, 0, 0, 0, 0}, {18, 4420, 1280, 0, 0, 0, 0}, {4959, 8224, 0, 0, 0, 0, 0}, {3072, 4896, 64, 0, 0, 0, 0}, {1295, 34, 1365, 4369, 0, 0, 0}, {72, 34, 1536, 4352, 0, 0, 0}, {112, 4883, 20560, 0, 0, 0, 0}, {136, 7020, 13124, 17476, 0, 0, 0}, {26, 48, 789, 64, 1301, 4096, 0}, {4940, 4966, 21760, 0, 0, 0, 0}, {5144, 48, 5911, 5200, 0, 0, 0}, {72, 5984, 17408, 0, 0, 0, 0}, {1295, 1317, 5654, 1365, 0, 0, 0}, {42, 4864, 64, 5376, 0, 0, 0}, {120, 13107, 5140, 0, 0, 0, 0}, {4972, 8224, 0, 0, 0, 0, 0}, {18, 4437, 5120, 0, 0, 0, 0}, {2560, 34, 4420, 0, 0, 0, 0}, {783, 48, 64, 4112, 0, 0, 0}, {240, 3840, 13056, 20480, 0, 0, 0}, {8, 34, 514, 64, 1028, 4369, 0}, {1282, 1360, 4352, 0, 0, 0, 0}, {3084, 21299, 0, 0, 0, 0, 0}, {8, 48, 772, 64, 1028, 4096, 0}, {170, 2570, 13141, 21845, 0, 0, 0}, {1290, 48, 1542, 1360, 0, 0, 0}, {8, 4983, 17408, 0, 0, 0, 0}, {8, 112, 4864, 5120, 0, 0, 0}, {106, 1542, 21845, 0, 0, 0, 0}, {1290, 13056, 1360, 0, 0, 0, 0}, {8, 4915, 64, 1028, 0, 0, 0}, {780, 48, 20480, 0, 0, 0, 0}, {8, 34, 514, 4437, 0, 0, 0}, {18, 276, 4112, 0, 0, 0, 0}, {13311, 27648, 0, 0, 0, 0, 0}, {8192, 5120, 0, 0, 0, 0, 0}, {63, 85, 257, 0, 0, 0, 0}, {20490, 17442, 514, 0, 0, 0, 0}, {5123, 16384, 0, 0, 0, 0, 0}, {12288, 4160, 1028, 0, 0, 0, 0}, {522, 85, 1285, 4352, 0, 0, 0}, {5126, 16384, 0, 0, 0, 0, 0}, {20495, 17527, 1799, 0, 0, 0, 0}, {13320, 20480, 0, 0, 0, 0, 0}, {4403, 771, 4101, 0, 0, 0, 0}, {5130, 5632, 17408, 0, 0, 0, 0}, {4175, 4208, 771, 1028, 0, 0, 0}, {1036, 4096, 0, 0, 0, 0, 0}, {4386, 514, 85, 1285, 0, 0, 0}, {4170, 4128, 514, 1028, 0, 0, 0}, {5135, 4864, 17408, 0, 0, 0, 0}, {3072, 1088, 4112, 0, 0, 0, 0}, {546, 85, 1280, 4369, 0, 0, 0}, {5138, 16384, 0, 0, 0, 0, 0}, {20575, 17459, 4883, 0, 0, 0, 0}, {8352, 5140, 0, 0, 0, 0, 0}, {768, 277, 4352, 0, 0, 0, 0}, {20570, 17510, 5654, 0, 0, 0, 0}, {5143, 16384, 0, 0, 0, 0, 0}, {5144, 12336, 4176, 0, 0, 0, 0}, {4889, 4403, 85, 1280, 0, 0, 0}, {4122, 5168, 1536, 1088, 0, 0, 0}, {5147, 1911, 17476, 0, 0, 0, 0}, {5276, 7196, 8224, 20560, 0, 0, 0}, {285, 290, 768, 85, 1280, 4096, 0}, {5150, 546, 17476, 0, 0, 0, 0}, {4127, 4128, 768, 1088, 0, 0, 0}, {5280, 7200, 8224, 17408, 0, 0, 0}, {286, 289, 771, 85, 1041, 4369, 0}, {5154, 5632, 20480, 0, 0, 0, 0}, {1100, 1139, 771, 4112, 0, 0, 0}, {3084, 5156, 1092, 0, 0, 0, 0}, {1295, 1829, 85, 4352, 0, 0, 0}, {5132, 1062, 4608, 4160, 0, 0, 0}, {4959, 5159, 20560, 0, 0, 0, 0}, {5160, 28672, 0, 0, 0, 0, 0}, {278, 85, 5397, 0, 0, 0, 0}, {554, 8704, 5120, 0, 0, 0, 0}, {63, 771, 4176, 5140, 0, 0, 0}, {1100, 4128, 16448, 0, 0, 0, 0}, {1295, 4386, 4864, 85, 0, 0, 0}, {1548, 546, 1092, 4096, 0, 0, 0}, {3855, 4896, 5200, 0, 0, 0, 0}, {4144, 1024, 0, 0, 0, 0, 0}, {1290, 514, 85, 4369, 0, 0, 0}, {1032, 1122, 514, 4112, 0, 0, 0}, {5171, 1792, 20480, 0, 0, 0, 0}, {5300, 2056, 13364, 17476, 0, 0, 0}, {266, 309, 768, 85, 1024, 4352, 0}, {522, 5174, 20560, 0, 0, 0, 0}, {1032, 1079, 768, 4160, 0, 0, 0}, {1032, 4208, 16448, 0, 0, 0, 0}, {1290, 4403, 1792, 85, 0, 0, 0}, {522, 4656, 4176, 1024, 0, 0, 0}, {1800, 13107, 5188, 0, 0, 0, 0}, {5180, 8192, 0, 0, 0, 0, 0}, {258, 85, 5397, 0, 0, 0, 0}, {170, 514, 5140, 0, 0, 0, 0}, {63, 768, 1024, 4096, 0, 0, 0}, {12288, 4160, 5120, 0, 0, 0, 0}, {552, 85, 1285, 4369, 0, 0, 0}, {5186, 16384, 0, 0, 0, 0, 0}, {20495, 17459, 17219, 0, 0, 0, 0}, {8192, 5188, 0, 0, 0, 0, 0}, {783, 1285, 272, 0, 0, 0, 0}, {20490, 17510, 17990, 0, 0, 0, 0}, {5191, 16384, 0, 0, 0, 0, 0}, {1096, 4096, 0, 0, 0, 0, 0}, {4403, 4883, 85, 1285, 0, 0, 0}, {5130, 4128, 4608, 1088, 0, 0, 0}, {5195, 4915, 17476, 0, 0, 0, 0}, {13388, 20480, 0, 0, 0, 0, 0}, {4386, 4626, 4101, 0, 0, 0, 0}, {5198, 5734, 17476, 0, 0, 0, 0}, {5135, 5168, 5888, 1088, 0, 0, 0}, {2048, 5200, 0, 0, 0, 0, 0}, {819, 260, 4369, 0, 0, 0, 0}, {20570, 17442, 21074, 0, 0, 0, 0}, {5203, 16384, 0, 0, 0, 0, 0}, {192, 1028, 4112, 0, 0, 0, 0}, {512, 85, 1280, 4352, 0, 0, 0}, {5206, 16384, 0, 0, 0, 0, 0}, {20575, 17527, 22359, 0, 0, 0, 0}, {5336, 2056, 8224, 20560, 0, 0, 0}, {268, 307, 512, 85, 1280, 4096, 0}, {5210, 512, 17408, 0, 0, 0, 0}, {4127, 4128, 4883, 1028, 0, 0, 0}, {1036, 12336, 4176, 0, 0, 0, 0}, {520, 4386, 85, 1280, 0, 0, 0}, {4122, 4208, 4626, 1028, 0, 0, 0}, {5215, 1792, 17408, 0, 0, 0, 0}, {4192, 1024, 0, 0, 0, 0, 0}, {1295, 1799, 85, 4369, 0, 0, 0}, {1032, 5154, 1536, 4160, 0, 0, 0}, {1807, 5219, 20560, 0, 0, 0, 0}, {5348, 2056, 8224, 17476, 0, 0, 0}, {271, 304, 512, 85, 1024, 4352, 0}, {5222, 512, 20480, 0, 0, 0, 0}, {1032, 1079, 1799, 4112, 0, 0, 0}, {1032, 4128, 16448, 0, 0, 0, 0}, {1295, 4403, 512, 85, 0, 0, 0}, {106, 512, 1024, 4096, 0, 0, 0}, {255, 4883, 5140, 0, 0, 0, 0}, {5228, 28672, 0, 0, 0, 0, 0}, {263, 85, 5397, 0, 0, 0, 0}, {520, 8738, 5188, 0, 0, 0, 0}, {783, 816, 4176, 1024, 0, 0, 0}, {5360, 7280, 13424, 17408, 0, 0, 0}, {283, 292, 535, 85, 1041, 4369, 0}, {5722, 5234, 20560, 0, 0, 0, 0}, {5132, 5171, 5888, 4160, 0, 0, 0}, {3084, 4144, 1092, 0, 0, 0, 0}, {1290, 544, 85, 4352, 0, 0, 0}, {1100, 1062, 1542, 4112, 0, 0, 0}, {5239, 4864, 20480, 0, 0, 0, 0}, {5240, 8192, 0, 0, 0, 0, 0}, {275, 85, 5397, 0, 0, 0, 0}, {2570, 544, 5200, 0, 0, 0, 0}, {780, 819, 1092, 4096, 0, 0, 0}, {1100, 4208, 16448, 0, 0, 0, 0}, {1290, 4386, 5632, 85, 0, 0, 0}, {4154, 4626, 4176, 5140, 0, 0, 0}, {4991, 13056, 5120, 0, 0, 0, 0}, {8320, 5120, 0, 0, 0, 0, 0}, {771, 276, 4369, 0, 0, 0, 0}, {20490, 17442, 5632, 0, 0, 0, 0}, {5123, 16448, 0, 0, 0, 0, 0}, {3084, 1092, 4096, 0, 0, 0, 0}, {544, 85, 1285, 4352, 0, 0, 0}, {5126, 16448, 0, 0, 0, 0, 0}, {20495, 17527, 4864, 0, 0, 0, 0}, {5256, 7168, 8192, 20480, 0, 0, 0}, {284, 291, 771, 85, 1285, 4112, 0}, {5130, 544, 17408, 0, 0, 0, 0}, {4111, 4144, 771, 1092, 0, 0, 0}, {5132, 12288, 4160, 0, 0, 0, 0}, {4874, 4386, 85, 1285, 0, 0, 0}, {4106, 5156, 1542, 1092, 0, 0, 0}, {5135, 1904, 17408, 0, 0, 0, 0}, {12336, 4176, 1024, 0, 0, 0, 0}, {520, 85, 1280, 4369, 0, 0, 0}, {5138, 16448, 0, 0, 0, 0, 0}, {20575, 17459, 1792, 0, 0, 0, 0}, {8224, 5140, 0, 0, 0, 0, 0}, {63, 85, 256, 0, 0, 0, 0}, {20570, 17510, 512, 0, 0, 0, 0}, {5143, 16448, 0, 0, 0, 0, 0}, {1032, 4112, 0, 0, 0, 0, 0}, {4403, 512, 85, 1280, 0, 0, 0}, {4186, 4144, 512, 1024, 0, 0, 0}, {5147, 4883, 17476, 0, 0, 0, 0}, {13372, 20560, 0, 0, 0, 0, 0}, {4386, 768, 4117, 0, 0, 0, 0}, {5150, 5654, 17476, 0, 0, 0, 0}, {4191, 4192, 768, 1024, 0, 0, 0}, {5280, 2048, 13312, 17408, 0, 0, 0}, {267, 308, 771, 85, 1028, 4369, 0}, {520, 5154, 20480, 0, 0, 0, 0}, {1036, 1075, 771, 4176, 0, 0, 0}, {4128, 1028, 0, 0, 0, 0, 0}, {1295, 512, 85, 4352, 0, 0, 0}, {1036, 1126, 512, 4096, 0, 0, 0}, {5159, 1799, 20560, 0, 0, 0, 0}, {5160, 8224, 0, 0, 0, 0, 0}, {259, 85, 5376, 0, 0, 0, 0}, {170, 512, 5120, 0, 0, 0, 0}, {63, 771, 1028, 4112, 0, 0, 0}, {1036, 4192, 16384, 0, 0, 0, 0}, {1295, 4386, 1799, 85, 0, 0, 0}, {520, 4642, 4160, 1028, 0, 0, 0}, {1807, 13056, 5200, 0, 0, 0, 0}, {3072, 5168, 1088, 0, 0, 0, 0}, {1290, 1826, 85, 4369, 0, 0, 0}, {5144, 1058, 4626, 4176, 0, 0, 0}, {4940, 5171, 20480, 0, 0, 0, 0}, {5300, 7228, 8192, 17476, 0, 0, 0}, {287, 288, 768, 85, 1045, 4352, 0}, {5174, 5654, 20560, 0, 0, 0, 0}, {1096, 1143, 768, 4096, 0, 0, 0}, {1096, 4144, 16384, 0, 0, 0, 0}, {1290, 4403, 4883, 85, 0, 0, 0}, {1546, 544, 1088, 4112, 0, 0, 0}, {3840, 4915, 5188, 0, 0, 0, 0}, {5180, 28784, 0, 0, 0, 0, 0}, {279, 85, 5376, 0, 0, 0, 0}, {552, 8738, 5140, 0, 0, 0, 0}, {63, 768, 4160, 5120, 0, 0, 0}, {192, 1024, 4096, 0, 0, 0, 0}, {514, 85, 1285, 4369, 0, 0, 0}, {5186, 16448, 0, 0, 0, 0, 0}, {20495, 17459, 22272, 0, 0, 0, 0}, {2056, 5188, 0, 0, 0, 0, 0}, {816, 261, 4352, 0, 0, 0, 0}, {20490, 17510, 20992, 0, 0, 0, 0}, {5191, 16448, 0, 0, 0, 0, 0}, {1032, 12288, 4160, 0, 0, 0, 0}, {522, 4403, 85, 1285, 0, 0, 0}, {4106, 4192, 4608, 1024, 0, 0, 0}, {5195, 1799, 17476, 0, 0, 0, 0}, {5324, 2048, 8192, 20480, 0, 0, 0}, {269, 306, 514, 85, 1285, 4112, 0}, {5198, 514, 17476, 0, 0, 0, 0}, {4111, 4144, 4864, 1024, 0, 0, 0}, {8224, 5200, 0, 0, 0, 0, 0}, {780, 1280, 273, 0, 0, 0, 0}, {20570, 17442, 17920, 0, 0, 0, 0}, {5203, 16448, 0, 0, 0, 0, 0}, {12336, 4176, 5140, 0, 0, 0, 0}, {554, 85, 1280, 4352, 0, 0, 0}, {5206, 16448, 0, 0, 0, 0, 0}, {20575, 17527, 17152, 0, 0, 0, 0}, {13432, 20560, 0, 0, 0, 0, 0}, {4403, 4608, 4117, 0, 0, 0, 0}, {5210, 5744, 17408, 0, 0, 0, 0}, {5147, 5156, 5911, 1092, 0, 0, 0}, {1100, 4112, 0, 0, 0, 0, 0}, {4386, 4864, 85, 1280, 0, 0, 0}, {5150, 4144, 4626, 1092, 0, 0, 0}, {5215, 4896, 17408, 0, 0, 0, 0}, {3072, 4128, 1088, 0, 0, 0, 0}, {1295, 546, 85, 4369, 0, 0, 0}, {1096, 1058, 1536, 4096, 0, 0, 0}, {5219, 4883, 20560, 0, 0, 0, 0}, {5348, 7276, 13380, 17476, 0, 0, 0}, {282, 293, 533, 85, 1045, 4352, 0}, {5708, 5222, 20480, 0, 0, 0, 0}, {5144, 5159, 5911, 4176, 0, 0, 0}, {1096, 4192, 16384, 0, 0, 0, 0}, {1295, 4403, 5654, 85, 0, 0, 0}, {4138, 4608, 4160, 5120, 0, 0, 0}, {4972, 13107, 5140, 0, 0, 0, 0}, {5228, 8224, 0, 0, 0, 0, 0}, {274, 85, 5376, 0, 0, 0, 0}, {2560, 546, 5188, 0, 0, 0, 0}, {783, 816, 1088, 4112, 0, 0, 0}, {5360, 2048, 8192, 17408, 0, 0, 0}, {270, 305, 514, 85, 1028, 4369, 0}, {5234, 514, 20560, 0, 0, 0, 0}, {1036, 1075, 1792, 4096, 0, 0, 0}, {4208, 1028, 0, 0, 0, 0, 0}, {1290, 1792, 85, 4352, 0, 0, 0}, {1036, 5174, 1542, 4176, 0, 0, 0}, {1800, 5239, 20480, 0, 0, 0, 0}, {5240, 28784, 0, 0, 0, 0, 0}, {262, 85, 5376, 0, 0, 0, 0}, {522, 8704, 5200, 0, 0, 0, 0}, {780, 819, 4160, 1028, 0, 0, 0}, {1036, 4144, 16384, 0, 0, 0, 0}, {1290, 4386, 514, 85, 0, 0, 0}, {106, 514, 1028, 4112, 0, 0, 0}, {255, 4864, 5120, 0, 0, 0, 0}, {16128, 21760, 0, 0, 0, 0, 0}, {32, 20, 257, 0, 0, 0, 0}, {5378, 16384, 0, 0, 0, 0, 0}, {21775, 21811, 771, 0, 0, 0, 0}, {8, 68, 1028, 4352, 0, 0, 0}, {12288, 80, 1285, 0, 0, 0, 0}, {21770, 21862, 1542, 0, 0, 0, 0}, {5383, 16384, 0, 0, 0, 0, 0}, {8, 8704, 5376, 0, 0, 0, 0}, {60, 771, 80, 1285, 0, 0, 0}, {21770, 24576, 0, 0, 0, 0, 0}, {4359, 68, 1028, 0, 0, 0, 0}, {204, 3084, 13056, 21760, 0, 0, 0}, {8, 32, 514, 80, 1285, 4096, 0}, {4354, 68, 1028, 0, 0, 0, 0}, {21775, 12288, 0, 0, 0, 0, 0}, {32, 80, 1280, 4112, 0, 0, 0}, {3072, 68, 4369, 0, 0, 0, 0}, {21850, 21794, 4626, 0, 0, 0, 0}, {5395, 16384, 0, 0, 0, 0, 0}, {768, 20, 4352, 0, 0, 0, 0}, {128, 5397, 0, 0, 0, 0, 0}, {5398, 16384, 0, 0, 0, 0, 0}, {21855, 21879, 5911, 0, 0, 0, 0}, {4632, 4656, 80, 1280, 0, 0, 0}, {5401, 13107, 5461, 0, 0, 0, 0}, {5402, 112, 16448, 0, 0, 0, 0}, {4379, 4403, 1536, 68, 0, 0, 0}, {28, 32, 768, 80, 1280, 4096, 0}, {136, 7453, 8738, 21845, 0, 0, 0}, {4382, 4386, 768, 68, 0, 0, 0}, {5407, 32, 16448, 0, 0, 0, 0}, {32, 5376, 0, 0, 0, 0, 0}, {60, 771, 68, 4369, 0, 0, 0}, {18432, 21794, 0, 0, 0, 0, 0}, {1299, 80, 4112, 0, 0, 0, 0}, {1548, 1572, 68, 4352, 0, 0, 0}, {3855, 5413, 5461, 0, 0, 0, 0}, {76, 5414, 16448, 0, 0, 0, 0}, {1295, 1319, 4608, 80, 0, 0, 0}, {40, 5888, 21760, 0, 0, 0, 0}, {76, 112, 771, 5397, 0, 0, 0}, {5418, 16384, 0, 0, 0, 0, 0}, {4403, 771, 20, 0, 0, 0, 0}, {5388, 32, 4864, 5440, 0, 0, 0}, {4698, 4642, 21845, 0, 0, 0, 0}, {3084, 4386, 68, 0, 0, 0, 0}, {1295, 32, 80, 4096, 0, 0, 0}, {240, 3840, 12336, 21760, 0, 0, 0}, {8, 32, 514, 68, 1024, 4369, 0}, {1282, 80, 4112, 0, 0, 0, 0}, {3072, 21811, 0, 0, 0, 0, 0}, {8, 52, 768, 68, 1024, 4352, 0}, {160, 2570, 13621, 21845, 0, 0, 0}, {1290, 1334, 768, 80, 0, 0, 0}, {8, 5431, 16448, 0, 0, 0, 0}, {8, 5424, 1792, 5440, 0, 0, 0}, {1546, 1638, 21845, 0, 0, 0, 0}, {1290, 12336, 80, 0, 0, 0, 0}, {8, 4403, 68, 1024, 0, 0, 0}, {60, 768, 21760, 0, 0, 0, 0}, {8, 32, 514, 5397, 0, 0, 0}, {258, 20, 4096, 0, 0, 0, 0}, {22015, 16191, 0, 0, 0, 0, 0}, {10752, 5440, 0, 0, 0, 0, 0}, {819, 20, 4369, 0, 0, 0, 0}, {21770, 21794, 16962, 0, 0, 0, 0}, {5443, 16384, 0, 0, 0, 0, 0}, {3072, 68, 4352, 0, 0, 0, 0}, {32, 80, 1285, 4112, 0, 0, 0}, {5446, 16384, 0, 0, 0, 0, 0}, {21775, 21879, 18247, 0, 0, 0, 0}, {136, 7496, 8704, 21760, 0, 0, 0}, {28, 32, 787, 80, 1285, 4096, 0}, {5450, 32, 16448, 0, 0, 0, 0}, {4367, 4403, 4608, 68, 0, 0, 0}, {76, 13056, 5376, 0, 0, 0, 0}, {40, 4626, 80, 1285, 0, 0, 0}, {4362, 4386, 5888, 68, 0, 0, 0}, {5455, 112, 16448, 0, 0, 0, 0}, {12288, 80, 1280, 0, 0, 0, 0}, {8, 68, 1028, 4369, 0, 0, 0}, {5458, 16384, 0, 0, 0, 0, 0}, {21855, 21811, 21331, 0, 0, 0, 0}, {512, 260, 272, 0, 0, 0, 0}, {16383, 21845, 0, 0, 0, 0, 0}, {21850, 21862, 22102, 0, 0, 0, 0}, {5463, 16384, 0, 0, 0, 0, 0}, {8, 32, 512, 80, 1280, 4096, 0}, {204, 3084, 13107, 21845, 0, 0, 0}, {21850, 12288, 0, 0, 0, 0, 0}, {4371, 68, 1028, 0, 0, 0, 0}, {780, 816, 80, 1280, 0, 0, 0}, {8, 8738, 5461, 0, 0, 0, 0}, {4374, 68, 1028, 0, 0, 0, 0}, {21855, 24576, 0, 0, 0, 0, 0}, {160, 2560, 13664, 21760, 0, 0, 0}, {8, 52, 775, 68, 1024, 4369, 0}, {8, 5474, 16448, 0, 0, 0, 0}, {1295, 1331, 1536, 80, 0, 0, 0}, {8, 32, 512, 68, 1024, 4352, 0}, {240, 3855, 12336, 21845, 0, 0, 0}, {3072, 21862, 0, 0, 0, 0, 0}, {1287, 80, 4112, 0, 0, 0, 0}, {8, 32, 512, 5440, 0, 0, 0}, {783, 819, 21845, 0, 0, 0, 0}, {21930, 27242, 0, 0, 0, 0, 0}, {275, 20, 4096, 0, 0, 0, 0}, {108, 1536, 21760, 0, 0, 0, 0}, {8, 112, 4626, 5397, 0, 0, 0}, {8, 4386, 68, 1024, 0, 0, 0}, {1295, 12336, 80, 0, 0, 0, 0}, {112, 5376, 0, 0, 0, 0, 0}, {40, 1542, 68, 4369, 0, 0, 0}, {1290, 1314, 5888, 80, 0, 0, 0}, {76, 5491, 16448, 0, 0, 0, 0}, {780, 816, 68, 4352, 0, 0, 0}, {2570, 32, 5461, 0, 0, 0, 0}, {1302, 80, 4112, 0, 0, 0, 0}, {18432, 21879, 0, 0, 0, 0, 0}, {120, 4608, 21760, 0, 0, 0, 0}, {76, 32, 4883, 5397, 0, 0, 0}, {1290, 32, 80, 4096, 0, 0, 0}, {3084, 4403, 68, 0, 0, 0, 0}, {5388, 5424, 5632, 5440, 0, 0, 0}, {5983, 6007, 21845, 0, 0, 0, 0}, {4386, 4626, 20, 0, 0, 0, 0}, {5503, 16384, 0, 0, 0, 0, 0}, {128, 5376, 0, 0, 0, 0, 0}, {771, 20, 4369, 0, 0, 0, 0}, {21770, 21794, 5888, 0, 0, 0, 0}, {5379, 16448, 0, 0, 0, 0, 0}, {3084, 68, 4352, 0, 0, 0, 0}, {32, 80, 1285, 4096, 0, 0, 0}, {5382, 16448, 0, 0, 0, 0, 0}, {21775, 21879, 4608, 0, 0, 0, 0}, {136, 7424, 8704, 21760, 0, 0, 0}, {28, 32, 771, 80, 1285, 4112, 0}, {5386, 32, 16384, 0, 0, 0, 0}, {4367, 4403, 771, 68, 0, 0, 0}, {5388, 13056, 5440, 0, 0, 0, 0}, {4618, 4642, 80, 1285, 0, 0, 0}, {4362, 4386, 1542, 68, 0, 0, 0}, {5391, 112, 16384, 0, 0, 0, 0}, {12336, 80, 1280, 0, 0, 0, 0}, {8, 68, 1024, 4369, 0, 0, 0}, {5394, 16448, 0, 0, 0, 0, 0}, {21855, 21811, 1536, 0, 0, 0, 0}, {32, 20, 256, 0, 0, 0, 0}, {16191, 21845, 0, 0, 0, 0, 0}, {21850, 21862, 768, 0, 0, 0, 0}, {5399, 16448, 0, 0, 0, 0, 0}, {8, 32, 512, 80, 1280, 4112, 0}, {204, 3072, 13107, 21845, 0, 0, 0}, {21850, 12336, 0, 0, 0, 0, 0}, {4371, 68, 1024, 0, 0, 0, 0}, {60, 768, 80, 1280, 0, 0, 0}, {8, 8738, 5397, 0, 0, 0, 0}, {4374, 68, 1024, 0, 0, 0, 0}, {21855, 24672, 0, 0, 0, 0, 0}, {160, 2560, 13568, 21760, 0, 0, 0}, {8, 52, 771, 68, 1028, 4369, 0}, {8, 5410, 16384, 0, 0, 0, 0}, {1295, 1331, 771, 80, 0, 0, 0}, {8, 32, 512, 68, 1028, 4352, 0}, {240, 3855, 12288, 21845, 0, 0, 0}, {3084, 21862, 0, 0, 0, 0, 0}, {1287, 80, 4096, 0, 0, 0, 0}, {8, 32, 512, 5376, 0, 0, 0}, {60, 771, 21845, 0, 0, 0, 0}, {21930, 16128, 0, 0, 0, 0, 0}, {259, 20, 4112, 0, 0, 0, 0}, {1548, 1632, 21760, 0, 0, 0, 0}, {8, 5413, 1799, 5461, 0, 0, 0}, {8, 4386, 68, 1028, 0, 0, 0}, {1295, 12288, 80, 0, 0, 0, 0}, {3840, 5424, 5440, 0, 0, 0, 0}, {1546, 1570, 68, 4369, 0, 0, 0}, {1290, 1314, 4626, 80, 0, 0, 0}, {76, 5427, 16384, 0, 0, 0, 0}, {60, 768, 68, 4352, 0, 0, 0}, {32, 5397, 0, 0, 0, 0, 0}, {1302, 80, 4096, 0, 0, 0, 0}, {18504, 21879, 0, 0, 0, 0, 0}, {4680, 4656, 21760, 0, 0, 0, 0}, {5401, 32, 4883, 5461, 0, 0, 0}, {1290, 32, 80, 4112, 0, 0, 0}, {3072, 4403, 68, 0, 0, 0, 0}, {76, 112, 768, 5376, 0, 0, 0}, {40, 5911, 21845, 0, 0, 0, 0}, {4386, 768, 20, 0, 0, 0, 0}, {5439, 16448, 0, 0, 0, 0, 0}, {16320, 21760, 0, 0, 0, 0, 0}, {514, 261, 273, 0, 0, 0, 0}, {5442, 16448, 0, 0, 0, 0, 0}, {21775, 21811, 22016, 0, 0, 0, 0}, {8, 68, 1024, 4352, 0, 0, 0}, {12336, 80, 1285, 0, 0, 0, 0}, {21770, 21862, 21248, 0, 0, 0, 0}, {5447, 16448, 0, 0, 0, 0, 0}, {8, 8704, 5440, 0, 0, 0, 0}, {783, 819, 80, 1285, 0, 0, 0}, {21770, 24672, 0, 0, 0, 0, 0}, {4359, 68, 1024, 0, 0, 0, 0}, {204, 3072, 13056, 21760, 0, 0, 0}, {8, 32, 514, 80, 1285, 4112, 0}, {4354, 68, 1024, 0, 0, 0, 0}, {21775, 12336, 0, 0, 0, 0, 0}, {32, 80, 1280, 4096, 0, 0, 0}, {3084, 68, 4369, 0, 0, 0, 0}, {21850, 21794, 18176, 0, 0, 0, 0}, {5459, 16448, 0, 0, 0, 0, 0}, {816, 20, 4352, 0, 0, 0, 0}, {10794, 5461, 0, 0, 0, 0, 0}, {5462, 16448, 0, 0, 0, 0, 0}, {21855, 21879, 16896, 0, 0, 0, 0}, {40, 4608, 80, 1280, 0, 0, 0}, {76, 13107, 5397, 0, 0, 0, 0}, {5466, 112, 16384, 0, 0, 0, 0}, {4379, 4403, 5911, 68, 0, 0, 0}, {28, 32, 784, 80, 1280, 4112, 0}, {136, 7509, 8738, 21845, 0, 0, 0}, {4382, 4386, 4626, 68, 0, 0, 0}, {5471, 32, 16384, 0, 0, 0, 0}, {2560, 32, 5440, 0, 0, 0, 0}, {783, 819, 68, 4369, 0, 0, 0}, {18504, 21794, 0, 0, 0, 0, 0}, {1299, 80, 4096, 0, 0, 0, 0}, {40, 1536, 68, 4352, 0, 0, 0}, {112, 5397, 0, 0, 0, 0, 0}, {76, 5478, 16384, 0, 0, 0, 0}, {1295, 1319, 5911, 80, 0, 0, 0}, {5960, 5984, 21760, 0, 0, 0, 0}, {5401, 5413, 5654, 5461, 0, 0, 0}, {5482, 16448, 0, 0, 0, 0, 0}, {4403, 4608, 20, 0, 0, 0, 0}, {76, 32, 4864, 5376, 0, 0, 0}, {120, 4626, 21845, 0, 0, 0, 0}, {3072, 4386, 68, 0, 0, 0, 0}, {1295, 32, 80, 4112, 0, 0, 0}, {240, 3840, 12288, 21760, 0, 0, 0}, {8, 32, 514, 68, 1028, 4369, 0}, {1282, 80, 4096, 0, 0, 0, 0}, {3084, 21811, 0, 0, 0, 0, 0}, {8, 52, 772, 68, 1028, 4352, 0}, {160, 2570, 13653, 21845, 0, 0, 0}, {1290, 1334, 1542, 80, 0, 0, 0}, {8, 5495, 16384, 0, 0, 0, 0}, {8, 112, 4608, 5376, 0, 0, 0}, {108, 1542, 21845, 0, 0, 0, 0}, {1290, 12288, 80, 0, 0, 0, 0}, {8, 4403, 68, 1028, 0, 0, 0}, {780, 816, 21760, 0, 0, 0, 0}, {8, 32, 514, 5461, 0, 0, 0}, {274, 20, 4112, 0, 0, 0, 0}, {22015, 27136, 0, 0, 0, 0, 0}, {23040, 26112, 0, 0, 0, 0, 0}, {23, 64, 257, 0, 0, 0, 0}, {8, 32, 514, 5120, 0, 0, 0}, {63, 771, 21760, 0, 0, 0, 0}, {8, 4608, 64, 1028, 0, 0, 0}, {95, 13056, 1285, 0, 0, 0, 0}, {96, 1542, 20480, 0, 0, 0, 0}, {8, 119, 1799, 4352, 0, 0, 0}, {8, 5632, 17408, 0, 0, 0, 0}, {95, 96, 771, 1285, 0, 0, 0}, {13834, 20480, 0, 0, 0, 0, 0}, {4403, 771, 4356, 0, 0, 0, 0}, {22028, 12288, 0, 0, 0, 0, 0}, {4354, 4437, 1285, 0, 0, 0, 0}, {8, 32, 514, 64, 1028, 4096, 0}, {255, 3855, 13056, 21760, 0, 0, 0}, {32, 1536, 64, 4112, 0, 0, 0}, {3840, 119, 4369, 0, 0, 0, 0}, {72, 4626, 17408, 0, 0, 0, 0}, {95, 32, 4883, 1280, 0, 0, 0}, {40, 8704, 5140, 0, 0, 0, 0}, {63, 768, 64, 5397, 0, 0, 0}, {128, 5654, 0, 0, 0, 0, 0}, {23, 1280, 4352, 0, 0, 0, 0}, {5144, 5168, 1536, 5200, 0, 0, 0}, {5657, 5734, 21845, 0, 0, 0, 0}, {5658, 12336, 64, 0, 0, 0, 0}, {4379, 4403, 4420, 1280, 0, 0, 0}, {5660, 32, 20560, 0, 0, 0, 0}, {4381, 4386, 768, 4437, 0, 0, 0}, {136, 7710, 8738, 17476, 0, 0, 0}, {31, 32, 768, 64, 1280, 4096, 0}, {32, 5632, 20480, 0, 0, 0, 0}, {72, 119, 771, 4369, 0, 0, 0}, {136, 7714, 8738, 17408, 0, 0, 0}, {31, 32, 771, 64, 1296, 4112, 0}, {5132, 5156, 4608, 5188, 0, 0, 0}, {5722, 5669, 21845, 0, 0, 0, 0}, {3084, 5670, 64, 0, 0, 0, 0}, {1295, 1319, 1360, 4352, 0, 0, 0}, {40, 8704, 5120, 0, 0, 0, 0}, {63, 771, 64, 5397, 0, 0, 0}, {5674, 28672, 0, 0, 0, 0, 0}, {23, 4420, 5140, 0, 0, 0, 0}, {1548, 32, 64, 4096, 0, 0, 0}, {3855, 4386, 4437, 0, 0, 0, 0}, {72, 4642, 17476, 0, 0, 0, 0}, {1295, 32, 4864, 1360, 0, 0, 0}, {3072, 22064, 0, 0, 0, 0, 0}, {1282, 1365, 4369, 0, 0, 0, 0}, {8, 32, 514, 64, 1024, 4112, 0}, {255, 3840, 13107, 21760, 0, 0, 0}, {8, 5684, 17476, 0, 0, 0, 0}, {1290, 1333, 768, 1365, 0, 0, 0}, {160, 2570, 13878, 20560, 0, 0, 0}, {8, 55, 768, 64, 1024, 4352, 0}, {8, 4656, 64, 1024, 0, 0, 0}, {1290, 13107, 1365, 0, 0, 0, 0}, {1546, 96, 20560, 0, 0, 0, 0}, {8, 4403, 1792, 4420, 0, 0, 0}, {26316, 15420, 0, 0, 0, 0, 0}, {258, 277, 4096, 0, 0, 0, 0}, {8, 32, 514, 5140, 0, 0, 0}, {63, 768, 21760, 0, 0, 0, 0}, {5632, 64, 0, 0, 0, 0, 0}, {95, 119, 1285, 4369, 0, 0, 0}, {72, 96, 4674, 5120, 0, 0, 0}, {127, 5699, 21760, 0, 0, 0, 0}, {136, 7748, 8704, 17476, 0, 0, 0}, {31, 32, 784, 64, 1285, 4112, 0}, {32, 5702, 20480, 0, 0, 0, 0}, {72, 119, 839, 4352, 0, 0, 0}, {72, 4608, 17408, 0, 0, 0, 0}, {95, 32, 4883, 1285, 0, 0, 0}, {1546, 32, 64, 4096, 0, 0, 0}, {3855, 4403, 4420, 0, 0, 0, 0}, {5708, 28672, 0, 0, 0, 0, 0}, {23, 4437, 1285, 0, 0, 0, 0}, {40, 8738, 5188, 0, 0, 0, 0}, {783, 816, 64, 5376, 0, 0, 0}, {160, 2560, 13904, 20560, 0, 0, 0}, {8, 55, 772, 64, 1028, 4369, 0}, {8, 5714, 17408, 0, 0, 0, 0}, {95, 96, 851, 1280, 0, 0, 0}, {8, 32, 512, 64, 1028, 4112, 0}, {255, 3840, 13056, 21845, 0, 0, 0}, {192, 22102, 0, 0, 0, 0, 0}, {87, 1280, 4352, 0, 0, 0, 0}, {8, 32, 512, 5200, 0, 0, 0}, {780, 819, 21845, 0, 0, 0, 0}, {26282, 23130, 0, 0, 0, 0, 0}, {275, 260, 4096, 0, 0, 0, 0}, {1548, 96, 20560, 0, 0, 0, 0}, {8, 4386, 1792, 4437, 0, 0, 0}, {8, 4626, 64, 1028, 0, 0, 0}, {95, 13056, 1280, 0, 0, 0, 0}, {96, 1536, 20480, 0, 0, 0, 0}, {8, 119, 1799, 4369, 0, 0, 0}, {8, 4642, 64, 1024, 0, 0, 0}, {1295, 13107, 1360, 0, 0, 0, 0}, {8, 32, 512, 5188, 0, 0, 0}, {783, 816, 21845, 0, 0, 0, 0}, {23210, 26214, 0, 0, 0, 0, 0}, {263, 1024, 272, 0, 0, 0, 0}, {8, 32, 512, 64, 1024, 4096, 0}, {255, 3855, 13107, 21845, 0, 0, 0}, {22122, 12288, 0, 0, 0, 0, 0}, {4371, 4420, 5140, 0, 0, 0, 0}, {13932, 20480, 0, 0, 0, 0, 0}, {4386, 4626, 4373, 0, 0, 0, 0}, {8, 5734, 17476, 0, 0, 0, 0}, {1295, 1328, 1536, 1360, 0, 0, 0}, {19456, 5744, 0, 0, 0, 0, 0}, {23, 1365, 4369, 0, 0, 0, 0}, {40, 8738, 5200, 0, 0, 0, 0}, {780, 819, 64, 5376, 0, 0, 0}, {72, 4656, 17476, 0, 0, 0, 0}, {1290, 32, 4864, 1365, 0, 0, 0}, {32, 1542, 64, 4112, 0, 0, 0}, {3840, 119, 4352, 0, 0, 0, 0}, {136, 7800, 8704, 17408, 0, 0, 0}, {31, 32, 787, 64, 1301, 4096, 0}, {5722, 32, 20560, 0, 0, 0, 0}, {4364, 4403, 4608, 4420, 0, 0, 0}, {5692, 12336, 64, 0, 0, 0, 0}, {4362, 4386, 4437, 5120, 0, 0, 0}, {72, 96, 4626, 5140, 0, 0, 0}, {127, 5632, 21760, 0, 0, 0, 0}, {128, 5632, 0, 0, 0, 0, 0}, {23, 1285, 4369, 0, 0, 0, 0}, {40, 8738, 5120, 0, 0, 0, 0}, {63, 771, 64, 5376, 0, 0, 0}, {72, 4608, 17476, 0, 0, 0, 0}, {95, 32, 4864, 1285, 0, 0, 0}, {32, 1542, 64, 4096, 0, 0, 0}, {3855, 119, 4352, 0, 0, 0, 0}, {136, 7680, 8704, 17408, 0, 0, 0}, {31, 32, 771, 64, 1285, 4112, 0}, {5642, 32, 20480, 0, 0, 0, 0}, {4364, 4403, 771, 4420, 0, 0, 0}, {5644, 12288, 64, 0, 0, 0, 0}, {4362, 4386, 4437, 1285, 0, 0, 0}, {5132, 5156, 1542, 5188, 0, 0, 0}, {5647, 5744, 21760, 0, 0, 0, 0}, {96, 1536, 20560, 0, 0, 0, 0}, {8, 119, 1792, 4369, 0, 0, 0}, {8, 4626, 64, 1024, 0, 0, 0}, {95, 13107, 1280, 0, 0, 0, 0}, {8, 32, 512, 5140, 0, 0, 0}, {63, 768, 21845, 0, 0, 0, 0}, {23130, 26214, 0, 0, 0, 0, 0}, {23, 64, 256, 0, 0, 0, 0}, {8, 32, 512, 64, 1024, 4112, 0}, {255, 3840, 13107, 21845, 0, 0, 0}, {22106, 12336, 0, 0, 0, 0, 0}, {4371, 4420, 1280, 0, 0, 0, 0}, {13884, 20560, 0, 0, 0, 0, 0}, {4386, 768, 4373, 0, 0, 0, 0}, {8, 5654, 17476, 0, 0, 0, 0}, {95, 96, 768, 1280, 0, 0, 0}, {160, 2560, 13824, 20480, 0, 0, 0}, {8, 55, 771, 64, 1028, 4369, 0}, {8, 5666, 17408, 0, 0, 0, 0}, {1295, 1328, 771, 1360, 0, 0, 0}, {8, 32, 512, 64, 1028, 4096, 0}, {255, 3855, 13056, 21845, 0, 0, 0}, {3084, 22118, 0, 0, 0, 0, 0}, {1287, 1360, 4352, 0, 0, 0, 0}, {8, 32, 512, 5120, 0, 0, 0}, {63, 771, 21845, 0, 0, 0, 0}, {26282, 15360, 0, 0, 0, 0, 0}, {259, 276, 4112, 0, 0, 0, 0}, {1548, 96, 20480, 0, 0, 0, 0}, {8, 4386, 1799, 4437, 0, 0, 0}, {8, 4642, 64, 1028, 0, 0, 0}, {1295, 13056, 1360, 0, 0, 0, 0}, {3072, 5680, 64, 0, 0, 0, 0}, {1290, 1314, 1365, 4369, 0, 0, 0}, {5144, 5168, 4626, 5200, 0, 0, 0}, {5708, 5683, 21760, 0, 0, 0, 0}, {136, 7740, 8704, 17476, 0, 0, 0}, {31, 32, 768, 64, 1301, 4096, 0}, {32, 5654, 20560, 0, 0, 0, 0}, {72, 119, 768, 4352, 0, 0, 0}, {72, 4656, 17408, 0, 0, 0, 0}, {1290, 32, 4883, 1365, 0, 0, 0}, {1546, 32, 64, 4112, 0, 0, 0}, {3840, 4403, 4420, 0, 0, 0, 0}, {5692, 28784, 0, 0, 0, 0, 0}, {23, 4437, 5120, 0, 0, 0, 0}, {40, 8738, 5140, 0, 0, 0, 0}, {63, 768, 64, 5376, 0, 0, 0}, {192, 22016, 0, 0, 0, 0, 0}, {87, 1285, 4369, 0, 0, 0, 0}, {8, 32, 514, 64, 1024, 4096, 0}, {255, 3855, 13107, 21760, 0, 0, 0}, {8, 5700, 17476, 0, 0, 0, 0}, {95, 96, 848, 1285, 0, 0, 0}, {160, 2570, 13926, 20480, 0, 0, 0}, {8, 55, 775, 64, 1024, 4352, 0}, {8, 4608, 64, 1024, 0, 0, 0}, {95, 13107, 1285, 0, 0, 0, 0}, {1546, 96, 20480, 0, 0, 0, 0}, {8, 4403, 1799, 4420, 0, 0, 0}, {26316, 23040, 0, 0, 0, 0, 0}, {274, 261, 4112, 0, 0, 0, 0}, {8, 32, 514, 5188, 0, 0, 0}, {783, 816, 21760, 0, 0, 0, 0}, {32, 5712, 20560, 0, 0, 0, 0}, {72, 119, 836, 4369, 0, 0, 0}, {136, 7770, 8738, 17408, 0, 0, 0}, {31, 32, 787, 64, 1280, 4096, 0}, {72, 96, 4688, 5140, 0, 0, 0}, {127, 5717, 21845, 0, 0, 0, 0}, {5654, 64, 0, 0, 0, 0, 0}, {95, 119, 1280, 4352, 0, 0, 0}, {40, 8704, 5200, 0, 0, 0, 0}, {780, 819, 64, 5397, 0, 0, 0}, {5722, 28784, 0, 0, 0, 0, 0}, {23, 4420, 1280, 0, 0, 0, 0}, {1548, 32, 64, 4112, 0, 0, 0}, {3840, 4386, 4437, 0, 0, 0, 0}, {72, 4626, 17476, 0, 0, 0, 0}, {95, 32, 4864, 1280, 0, 0, 0}, {32, 1536, 64, 4096, 0, 0, 0}, {3855, 119, 4369, 0, 0, 0, 0}, {72, 4642, 17408, 0, 0, 0, 0}, {1295, 32, 4883, 1360, 0, 0, 0}, {40, 8704, 5188, 0, 0, 0, 0}, {783, 816, 64, 5397, 0, 0, 0}, {19532, 5734, 0, 0, 0, 0, 0}, {23, 1360, 4352, 0, 0, 0, 0}, {72, 96, 4608, 5120, 0, 0, 0}, {127, 5654, 21845, 0, 0, 0, 0}, {5674, 12288, 64, 0, 0, 0, 0}, {4379, 4403, 4420, 5140, 0, 0, 0}, {5708, 32, 20480, 0, 0, 0, 0}, {4381, 4386, 4626, 4437, 0, 0, 0}, {136, 7782, 8738, 17476, 0, 0, 0}, {31, 32, 784, 64, 1296, 4112, 0}, {23280, 26112, 0, 0, 0, 0, 0}, {262, 1028, 273, 0, 0, 0, 0}, {8, 32, 514, 5200, 0, 0, 0}, {780, 819, 21760, 0, 0, 0, 0}, {8, 4656, 64, 1028, 0, 0, 0}, {1290, 13056, 1365, 0, 0, 0, 0}, {96, 1542, 20560, 0, 0, 0, 0}, {8, 119, 1792, 4352, 0, 0, 0}, {8, 5744, 17408, 0, 0, 0, 0}, {1290, 1333, 1542, 1365, 0, 0, 0}, {13914, 20560, 0, 0, 0, 0, 0}, {4403, 4608, 4356, 0, 0, 0, 0}, {22076, 12336, 0, 0, 0, 0, 0}, {4354, 4437, 5120, 0, 0, 0, 0}, {8, 32, 514, 64, 1028, 4112, 0}, {255, 3840, 13056, 21760, 0, 0, 0}, {5888, 16384, 0, 0, 0, 0, 0}, {90, 102, 257, 0, 0, 0, 0}, {5418, 514, 21760, 0, 0, 0, 0}, {4108, 4144, 771, 5120, 0, 0, 0}, {4940, 13056, 1028, 0, 0, 0, 0}, {4106, 4608, 4176, 1285, 0, 0, 0}, {1036, 102, 1542, 4352, 0, 0, 0}, {4208, 1799, 20480, 0, 0, 0, 0}, {22280, 24576, 0, 0, 0, 0, 0}, {4102, 4437, 1285, 0, 0, 0, 0}, {522, 8704, 5376, 0, 0, 0, 0}, {60, 771, 4160, 1028, 0, 0, 0}, {1036, 4864, 17408, 0, 0, 0, 0}, {90, 4128, 514, 1285, 0, 0, 0}, {4386, 514, 4420, 1028, 0, 0, 0}, {1807, 4096, 0, 0, 0, 0, 0}, {3840, 1904, 4112, 0, 0, 0, 0}, {1058, 1536, 1092, 4369, 0, 0, 0}, {90, 4144, 4626, 1280, 0, 0, 0}, {1100, 4883, 17408, 0, 0, 0, 0}, {60, 768, 4176, 5140, 0, 0, 0}, {554, 8704, 5397, 0, 0, 0, 0}, {278, 1280, 4352, 0, 0, 0, 0}, {16576, 5911, 0, 0, 0, 0, 0}, {5912, 4192, 20560, 0, 0, 0, 0}, {5401, 4403, 1536, 4437, 0, 0, 0}, {4122, 4656, 4160, 1280, 0, 0, 0}, {5915, 13107, 1092, 0, 0, 0, 0}, {4124, 4128, 768, 5200, 0, 0, 0}, {5917, 546, 21845, 0, 0, 0, 0}, {286, 290, 768, 324, 1280, 4096, 0}, {6047, 7967, 8224, 16448, 0, 0, 0}, {18432, 22304, 0, 0, 0, 0, 0}, {1042, 1365, 4369, 0, 0, 0, 0}, {546, 5376, 0, 0, 0, 0, 0}, {60, 771, 1088, 4112, 0, 0, 0}, {1096, 5924, 17476, 0, 0, 0, 0}, {1295, 5413, 4608, 1365, 0, 0, 0}, {1548, 1062, 1088, 4352, 0, 0, 0}, {3855, 5927, 4176, 0, 0, 0, 0}, {5928, 16384, 0, 0, 0, 0, 0}, {4403, 771, 277, 0, 0, 0, 0}, {5418, 5888, 21760, 0, 0, 0, 0}, {4188, 4192, 771, 5140, 0, 0, 0}, {3084, 4896, 1088, 0, 0, 0, 0}, {1295, 546, 1365, 4096, 0, 0, 0}, {5388, 4386, 4864, 4420, 0, 0, 0}, {5983, 4128, 20560, 0, 0, 0, 0}, {4144, 1792, 20480, 0, 0, 0, 0}, {1032, 102, 514, 4369, 0, 0, 0}, {1290, 514, 1360, 4112, 0, 0, 0}, {4915, 1024, 0, 0, 0, 0, 0}, {1032, 1076, 768, 5188, 0, 0, 0}, {522, 5941, 21845, 0, 0, 0, 0}, {266, 310, 768, 336, 1024, 4352, 0}, {6071, 2056, 14135, 16448, 0, 0, 0}, {1800, 12336, 4160, 0, 0, 0, 0}, {522, 4403, 4437, 1024, 0, 0, 0}, {1290, 5424, 1792, 1360, 0, 0, 0}, {1032, 6007, 17476, 0, 0, 0, 0}, {60, 768, 1024, 4096, 0, 0, 0}, {170, 514, 5397, 0, 0, 0, 0}, {258, 4420, 5140, 0, 0, 0, 0}, {5951, 8192, 0, 0, 0, 0, 0}, {6080, 8000, 14144, 16448, 0, 0, 0}, {283, 295, 532, 321, 1285, 4369, 0}, {5482, 5954, 21760, 0, 0, 0, 0}, {4172, 4208, 4931, 5120, 0, 0, 0}, {4864, 1092, 0, 0, 0, 0, 0}, {90, 544, 1285, 4112, 0, 0, 0}, {1100, 102, 582, 4352, 0, 0, 0}, {4144, 5959, 20480, 0, 0, 0, 0}, {5960, 8192, 0, 0, 0, 0, 0}, {275, 4437, 1285, 0, 0, 0, 0}, {2570, 544, 5440, 0, 0, 0, 0}, {783, 819, 1092, 4096, 0, 0, 0}, {1100, 5888, 17408, 0, 0, 0, 0}, {90, 4192, 4626, 1285, 0, 0, 0}, {4874, 4386, 4420, 5376, 0, 0, 0}, {5951, 12336, 4160, 0, 0, 0, 0}, {1792, 4176, 0, 0, 0, 0, 0}, {520, 102, 1028, 4369, 0, 0, 0}, {90, 4208, 594, 1280, 0, 0, 0}, {1036, 5971, 17408, 0, 0, 0, 0}, {780, 816, 1028, 4112, 0, 0, 0}, {512, 5461, 0, 0, 0, 0, 0}, {342, 1280, 4352, 0, 0, 0, 0}, {16512, 22359, 0, 0, 0, 0, 0}, {1800, 4128, 20560, 0, 0, 0, 0}, {1036, 4403, 512, 4437, 0, 0, 0}, {90, 512, 1280, 4096, 0, 0, 0}, {204, 4883, 1028, 0, 0, 0, 0}, {1036, 1072, 1792, 5200, 0, 0, 0}, {520, 6007, 21845, 0, 0, 0, 0}, {4386, 4626, 260, 0, 0, 0, 0}, {5983, 16384, 0, 0, 0, 0, 0}, {2048, 5984, 0, 0, 0, 0, 0}, {263, 1365, 4369, 0, 0, 0, 0}, {520, 8738, 5440, 0, 0, 0, 0}, {783, 819, 4176, 1024, 0, 0, 0}, {1032, 4896, 17476, 0, 0, 0, 0}, {1295, 4144, 512, 1365, 0, 0, 0}, {102, 512, 1024, 4352, 0, 0, 0}, {240, 1799, 4112, 0, 0, 0, 0}, {6120, 2056, 8224, 16448, 0, 0, 0}, {271, 307, 512, 341, 1024, 4096, 0}, {5482, 512, 21760, 0, 0, 0, 0}, {4124, 4128, 4883, 5140, 0, 0, 0}, {4972, 13056, 1024, 0, 0, 0, 0}, {4122, 4626, 4160, 5397, 0, 0, 0}, {1032, 4386, 1536, 4420, 0, 0, 0}, {1807, 4192, 20560, 0, 0, 0, 0}, {4208, 5888, 20480, 0, 0, 0, 0}, {1096, 102, 1542, 4369, 0, 0, 0}, {4106, 4642, 4176, 5376, 0, 0, 0}, {5951, 13107, 1088, 0, 0, 0, 0}, {4108, 4144, 4864, 5188, 0, 0, 0}, {5983, 544, 21845, 0, 0, 0, 0}, {1290, 1542, 272, 0, 0, 0, 0}, {6007, 16384, 0, 0, 0, 0, 0}, {1912, 4096, 0, 0, 0, 0, 0}, {4403, 4883, 4437, 5397, 0, 0, 0}, {1290, 4128, 4608, 1360, 0, 0, 0}, {1096, 4915, 17476, 0, 0, 0, 0}, {780, 816, 4160, 5120, 0, 0, 0}, {552, 8738, 5461, 0, 0, 0, 0}, {4102, 4420, 5140, 0, 0, 0, 0}, {22399, 24576, 0, 0, 0, 0, 0}, {16512, 5888, 0, 0, 0, 0, 0}, {279, 1285, 4369, 0, 0, 0, 0}, {552, 8738, 5376, 0, 0, 0, 0}, {60, 771, 4160, 5120, 0, 0, 0}, {1096, 4864, 17476, 0, 0, 0, 0}, {90, 4128, 4608, 1285, 0, 0, 0}, {1062, 1542, 1088, 4352, 0, 0, 0}, {3855, 1911, 4096, 0, 0, 0, 0}, {6024, 7936, 8192, 16384, 0, 0, 0}, {287, 291, 771, 325, 1285, 4112, 0}, {5898, 544, 21760, 0, 0, 0, 0}, {4108, 4144, 771, 5188, 0, 0, 0}, {5900, 13056, 1088, 0, 0, 0, 0}, {4106, 4642, 4176, 1285, 0, 0, 0}, {5388, 4386, 1542, 4420, 0, 0, 0}, {5903, 4208, 20480, 0, 0, 0, 0}, {4192, 1792, 20560, 0, 0, 0, 0}, {1032, 102, 1536, 4369, 0, 0, 0}, {4122, 4626, 4160, 1280, 0, 0, 0}, {4959, 13107, 1024, 0, 0, 0, 0}, {4124, 4128, 768, 5140, 0, 0, 0}, {5439, 512, 21845, 0, 0, 0, 0}, {90, 102, 256, 0, 0, 0, 0}, {5911, 16448, 0, 0, 0, 0, 0}, {1800, 4112, 0, 0, 0, 0, 0}, {4403, 512, 4437, 1024, 0, 0, 0}, {90, 4144, 512, 1280, 0, 0, 0}, {1032, 4883, 17476, 0, 0, 0, 0}, {60, 768, 4176, 1024, 0, 0, 0}, {520, 8738, 5397, 0, 0, 0, 0}, {4118, 4420, 1280, 0, 0, 0, 0}, {22367, 24672, 0, 0, 0, 0, 0}, {6048, 2048, 14080, 16384, 0, 0, 0}, {267, 311, 771, 337, 1028, 4369, 0}, {520, 5922, 21760, 0, 0, 0, 0}, {1036, 1072, 771, 5200, 0, 0, 0}, {4896, 1028, 0, 0, 0, 0, 0}, {1295, 512, 1365, 4096, 0, 0, 0}, {1036, 102, 512, 4352, 0, 0, 0}, {4128, 1799, 20560, 0, 0, 0, 0}, {5928, 8224, 0, 0, 0, 0, 0}, {259, 4437, 5120, 0, 0, 0, 0}, {170, 512, 5376, 0, 0, 0, 0}, {60, 771, 1028, 4112, 0, 0, 0}, {1036, 5984, 17408, 0, 0, 0, 0}, {1295, 5413, 1799, 1365, 0, 0, 0}, {520, 4386, 4420, 1028, 0, 0, 0}, {1807, 12288, 4176, 0, 0, 0, 0}, {3840, 5936, 4160, 0, 0, 0, 0}, {1546, 1058, 1092, 4369, 0, 0, 0}, {1290, 5424, 4626, 1360, 0, 0, 0}, {1100, 5939, 17408, 0, 0, 0, 0}, {60, 768, 1092, 4096, 0, 0, 0}, {544, 5397, 0, 0, 0, 0, 0}, {1046, 1360, 4352, 0, 0, 0, 0}, {18504, 22391, 0, 0, 0, 0, 0}, {5960, 4144, 20480, 0, 0, 0, 0}, {5401, 4403, 4883, 4437, 0, 0, 0}, {1290, 544, 1360, 4112, 0, 0, 0}, {3072, 4915, 1092, 0, 0, 0, 0}, {4172, 4208, 768, 5120, 0, 0, 0}, {5439, 5911, 21845, 0, 0, 0, 0}, {4386, 768, 276, 0, 0, 0, 0}, {5951, 16448, 0, 0, 0, 0, 0}, {16576, 22272, 0, 0, 0, 0, 0}, {343, 1285, 4369, 0, 0, 0, 0}, {514, 5440, 0, 0, 0, 0, 0}, {783, 819, 1024, 4096, 0, 0, 0}, {1032, 5956, 17476, 0, 0, 0, 0}, {90, 4192, 592, 1285, 0, 0, 0}, {522, 102, 1024, 4352, 0, 0, 0}, {1799, 4160, 0, 0, 0, 0, 0}, {5960, 16448, 0, 0, 0, 0, 0}, {4403, 4608, 261, 0, 0, 0, 0}, {522, 5984, 21760, 0, 0, 0, 0}, {1032, 1076, 1799, 5188, 0, 0, 0}, {204, 4864, 1024, 0, 0, 0, 0}, {90, 514, 1285, 4112, 0, 0, 0}, {1032, 4386, 514, 4420, 0, 0, 0}, {1807, 4144, 20480, 0, 0, 0, 0}, {4128, 5968, 20560, 0, 0, 0, 0}, {1096, 102, 580, 4369, 0, 0, 0}, {90, 546, 1280, 4096, 0, 0, 0}, {4883, 1088, 0, 0, 0, 0, 0}, {4188, 4192, 4944, 5140, 0, 0, 0}, {5503, 5973, 21845, 0, 0, 0, 0}, {282, 294, 534, 320, 1280, 4352, 0}, {6103, 8031, 14199, 16384, 0, 0, 0}, {5928, 12288, 4176, 0, 0, 0, 0}, {4889, 4403, 4437, 5397, 0, 0, 0}, {90, 4208, 4608, 1280, 0, 0, 0}, {1096, 5911, 17476, 0, 0, 0, 0}, {780, 816, 1088, 4112, 0, 0, 0}, {2560, 546, 5461, 0, 0, 0, 0}, {274, 4420, 1280, 0, 0, 0, 0}, {5983, 8224, 0, 0, 0, 0, 0}, {5984, 16448, 0, 0, 0, 0, 0}, {1295, 1536, 273, 0, 0, 0, 0}, {5960, 546, 21760, 0, 0, 0, 0}, {4124, 4128, 4883, 5200, 0, 0, 0}, {5928, 13056, 1092, 0, 0, 0, 0}, {4122, 4656, 4160, 5397, 0, 0, 0}, {1100, 102, 1536, 4352, 0, 0, 0}, {4192, 5911, 20560, 0, 0, 0, 0}, {22312, 24672, 0, 0, 0, 0, 0}, {4118, 4437, 5120, 0, 0, 0, 0}, {554, 8704, 5440, 0, 0, 0, 0}, {783, 819, 4176, 5140, 0, 0, 0}, {1100, 4896, 17408, 0, 0, 0, 0}, {1295, 4144, 4626, 1365, 0, 0, 0}, {4386, 4864, 4420, 5376, 0, 0, 0}, {1919, 4112, 0, 0, 0, 0, 0}, {240, 1792, 4096, 0, 0, 0, 0}, {102, 514, 1028, 4369, 0, 0, 0}, {1290, 4128, 514, 1360, 0, 0, 0}, {1036, 4915, 17408, 0, 0, 0, 0}, {780, 816, 4160, 1028, 0, 0, 0}, {522, 8704, 5461, 0, 0, 0, 0}, {262, 1360, 4352, 0, 0, 0, 0}, {2056, 6007, 0, 0, 0, 0, 0}, {1800, 4208, 20480, 0, 0, 0, 0}, {1036, 4403, 1542, 4437, 0, 0, 0}, {4106, 4608, 4176, 5376, 0, 0, 0}, {4991, 13107, 1028, 0, 0, 0, 0}, {4108, 4144, 4864, 5120, 0, 0, 0}, {5503, 514, 21845, 0, 0, 0, 0}, {270, 306, 514, 340, 1028, 4112, 0}, {6143, 2048, 8192, 16384, 0, 0, 0}, {2048, 4096, 0, 0, 0, 0, 0}, {51, 85, 257, 0, 0, 0, 0}, {20490, 4128, 514, 0, 0, 0, 0}, {4099, 17408, 0, 0, 0, 0, 0}, {12300, 4160, 1028, 0, 0, 0, 0}, {8704, 4101, 0, 0, 0, 0, 0}, {4102, 17408, 0, 0, 0, 0, 0}, {20495, 4208, 1799, 0, 0, 0, 0}, {4224, 2056, 12288, 20480, 0, 0, 0}, {265, 51, 771, 85, 1285, 4352, 0}, {4106, 4608, 16384, 0, 0, 0, 0}, {4175, 51, 771, 1028, 0, 0, 0}, {4108, 8192, 5120, 0, 0, 0, 0}, {4143, 514, 85, 1285, 0, 0, 0}, {4170, 102, 514, 1028, 0, 0, 0}, {4111, 5888, 16384, 0, 0, 0, 0}, {2176, 4112, 0, 0, 0, 0, 0}, {768, 1280, 273, 0, 0, 0, 0}, {20570, 4144, 4626, 0, 0, 0, 0}, {4115, 17408, 0, 0, 0, 0, 0}, {12348, 4176, 5140, 0, 0, 0, 0}, {8704, 4117, 0, 0, 0, 0, 0}, {4118, 17408, 0, 0, 0, 0, 0}, {20575, 4192, 5911, 0, 0, 0, 0}, {4240, 6168, 12336, 20560, 0, 0, 0}, {281, 51, 768, 85, 1280, 4352, 0}, {4122, 4656, 16448, 0, 0, 0, 0}, {5147, 51, 768, 1092, 0, 0, 0}, {4124, 8224, 5200, 0, 0, 0, 0}, {4637, 546, 85, 1280, 0, 0, 0}, {5150, 1058, 1536, 1092, 0, 0, 0}, {4127, 5984, 16448, 0, 0, 0, 0}, {18432, 4128, 0, 0, 0, 0, 0}, {274, 85, 4369, 0, 0, 0, 0}, {2560, 546, 4096, 0, 0, 0, 0}, {51, 771, 1088, 4112, 0, 0, 0}, {1096, 4192, 17476, 0, 0, 0, 0}, {1295, 4133, 5888, 85, 0, 0, 0}, {4620, 4134, 4160, 5120, 0, 0, 0}, {5928, 10023, 4176, 0, 0, 0, 0}, {4256, 6184, 12288, 16384, 0, 0, 0}, {282, 51, 771, 85, 1045, 4352, 0}, {4138, 4608, 20480, 0, 0, 0, 0}, {4188, 51, 771, 5140, 0, 0, 0}, {4140, 8224, 1088, 0, 0, 0, 0}, {4111, 546, 85, 5376, 0, 0, 0}, {4108, 5154, 5632, 5188, 0, 0, 0}, {5983, 1904, 20560, 0, 0, 0, 0}, {2048, 4144, 0, 0, 0, 0, 0}, {258, 85, 4369, 0, 0, 0, 0}, {170, 514, 4112, 0, 0, 0, 0}, {51, 768, 1024, 4096, 0, 0, 0}, {1032, 4208, 17476, 0, 0, 0, 0}, {1290, 4149, 1792, 85, 0, 0, 0}, {522, 4150, 4176, 1024, 0, 0, 0}, {1800, 14135, 4160, 0, 0, 0, 0}, {4272, 2056, 12336, 16448, 0, 0, 0}, {266, 51, 768, 85, 1024, 4352, 0}, {522, 4656, 20560, 0, 0, 0, 0}, {1032, 51, 768, 5188, 0, 0, 0}, {4156, 8192, 1024, 0, 0, 0, 0}, {4127, 514, 85, 5397, 0, 0, 0}, {4124, 102, 514, 5140, 0, 0, 0}, {4159, 1792, 20480, 0, 0, 0, 0}, {10240, 4160, 0, 0, 0, 0, 0}, {51, 276, 4369, 0, 0, 0, 0}, {20490, 4192, 16962, 0, 0, 0, 0}, {4163, 17408, 0, 0, 0, 0, 0}, {3072, 1092, 4096, 0, 0, 0, 0}, {544, 85, 1285, 4112, 0, 0, 0}, {4166, 17408, 0, 0, 0, 0, 0}, {20495, 4144, 18247, 0, 0, 0, 0}, {4288, 6216, 8192, 20480, 0, 0, 0}, {284, 51, 531, 85, 1285, 4352, 0}, {4170, 544, 16448, 0, 0, 0, 0}, {4111, 51, 4864, 1092, 0, 0, 0}, {4172, 12288, 5120, 0, 0, 0, 0}, {4154, 4626, 85, 1285, 0, 0, 0}, {4106, 1058, 5632, 1092, 0, 0, 0}, {4175, 1904, 16448, 0, 0, 0, 0}, {2048, 4176, 0, 0, 0, 0, 0}, {51, 260, 4369, 0, 0, 0, 0}, {20570, 4208, 21074, 0, 0, 0, 0}, {4179, 17408, 0, 0, 0, 0, 0}, {204, 1028, 4112, 0, 0, 0, 0}, {512, 85, 1280, 4096, 0, 0, 0}, {4182, 17408, 0, 0, 0, 0, 0}, {20575, 4128, 22359, 0, 0, 0, 0}, {4304, 2056, 8224, 20560, 0, 0, 0}, {268, 51, 512, 85, 1280, 4352, 0}, {4186, 512, 16384, 0, 0, 0, 0}, {4127, 51, 4883, 1028, 0, 0, 0}, {1036, 12336, 5200, 0, 0, 0, 0}, {520, 4642, 85, 1280, 0, 0, 0}, {4122, 102, 4626, 1028, 0, 0, 0}, {4191, 1792, 16384, 0, 0, 0, 0}, {2048, 4192, 0, 0, 0, 0, 0}, {263, 85, 4369, 0, 0, 0, 0}, {520, 8738, 4160, 0, 0, 0, 0}, {783, 51, 4176, 1024, 0, 0, 0}, {1032, 4128, 17476, 0, 0, 0, 0}, {1295, 4144, 512, 85, 0, 0, 0}, {102, 512, 1024, 4096, 0, 0, 0}, {255, 1799, 4112, 0, 0, 0, 0}, {4320, 2056, 8224, 16448, 0, 0, 0}, {271, 51, 512, 85, 1024, 4352, 0}, {4202, 512, 20480, 0, 0, 0, 0}, {4124, 51, 4883, 5140, 0, 0, 0}, {4204, 12288, 1024, 0, 0, 0, 0}, {4122, 4626, 85, 5397, 0, 0, 0}, {1032, 5154, 1536, 5188, 0, 0, 0}, {1807, 5984, 20560, 0, 0, 0, 0}, {18432, 4208, 0, 0, 0, 0, 0}, {279, 85, 4369, 0, 0, 0, 0}, {552, 8738, 4176, 0, 0, 0, 0}, {780, 51, 4160, 5120, 0, 0, 0}, {1096, 4144, 17476, 0, 0, 0, 0}, {1290, 4128, 4608, 85, 0, 0, 0}, {1062, 1542, 1088, 4112, 0, 0, 0}, {3840, 1911, 4096, 0, 0, 0, 0}, {4336, 6264, 8192, 16384, 0, 0, 0}, {287, 51, 531, 85, 1045, 4352, 0}, {4698, 544, 20560, 0, 0, 0, 0}, {4108, 51, 4864, 5188, 0, 0, 0}, {5180, 12336, 1088, 0, 0, 0, 0}, {4106, 4642, 85, 5376, 0, 0, 0}, {4188, 102, 4626, 5140, 0, 0, 0}, {4223, 5888, 20480, 0, 0, 0, 0}, {4224, 6144, 12288, 20480, 0, 0, 0}, {280, 51, 771, 85, 1285, 4369, 0}, {4106, 4642, 16384, 0, 0, 0, 0}, {5135, 51, 771, 1088, 0, 0, 0}, {4108, 8192, 5188, 0, 0, 0, 0}, {4623, 544, 85, 1285, 0, 0, 0}, {5130, 1062, 1542, 1088, 0, 0, 0}, {4111, 6007, 16384, 0, 0, 0, 0}, {2184, 4096, 0, 0, 0, 0, 0}, {771, 1285, 272, 0, 0, 0, 0}, {20490, 4128, 4608, 0, 0, 0, 0}, {4099, 17476, 0, 0, 0, 0, 0}, {12300, 4160, 5120, 0, 0, 0, 0}, {8738, 4101, 0, 0, 0, 0, 0}, {4102, 17476, 0, 0, 0, 0, 0}, {20495, 4208, 5888, 0, 0, 0, 0}, {4240, 2048, 12336, 20560, 0, 0, 0}, {264, 51, 768, 85, 1280, 4369, 0}, {4122, 4626, 16448, 0, 0, 0, 0}, {4191, 51, 768, 1024, 0, 0, 0}, {4124, 8224, 5140, 0, 0, 0, 0}, {4159, 512, 85, 1280, 0, 0, 0}, {4186, 102, 512, 1024, 0, 0, 0}, {4127, 5911, 16448, 0, 0, 0, 0}, {2056, 4112, 0, 0, 0, 0, 0}, {51, 85, 256, 0, 0, 0, 0}, {20570, 4144, 512, 0, 0, 0, 0}, {4115, 17476, 0, 0, 0, 0, 0}, {12348, 4176, 1024, 0, 0, 0, 0}, {8738, 4117, 0, 0, 0, 0, 0}, {4118, 17476, 0, 0, 0, 0, 0}, {20575, 4192, 1792, 0, 0, 0, 0}, {4256, 2048, 12288, 16384, 0, 0, 0}, {267, 51, 771, 85, 1028, 4369, 0}, {520, 4642, 20480, 0, 0, 0, 0}, {1036, 51, 771, 5200, 0, 0, 0}, {4140, 8224, 1028, 0, 0, 0, 0}, {4111, 512, 85, 5376, 0, 0, 0}, {4108, 102, 512, 5120, 0, 0, 0}, {4143, 1799, 20560, 0, 0, 0, 0}, {2056, 4128, 0, 0, 0, 0, 0}, {259, 85, 4352, 0, 0, 0, 0}, {170, 512, 4096, 0, 0, 0, 0}, {51, 771, 1028, 4112, 0, 0, 0}, {1036, 4192, 17408, 0, 0, 0, 0}, {1295, 4133, 1799, 85, 0, 0, 0}, {520, 4134, 4160, 1028, 0, 0, 0}, {1807, 14080, 4176, 0, 0, 0, 0}, {4272, 6192, 12336, 16448, 0, 0, 0}, {283, 51, 768, 85, 1041, 4369, 0}, {4154, 4626, 20560, 0, 0, 0, 0}, {4172, 51, 768, 5120, 0, 0, 0}, {4156, 8192, 1092, 0, 0, 0, 0}, {4127, 544, 85, 5397, 0, 0, 0}, {4124, 5174, 5654, 5200, 0, 0, 0}, {5960, 1911, 20480, 0, 0, 0, 0}, {18504, 4144, 0, 0, 0, 0, 0}, {275, 85, 4352, 0, 0, 0, 0}, {2570, 544, 4112, 0, 0, 0, 0}, {51, 768, 1092, 4096, 0, 0, 0}, {1100, 4208, 17408, 0, 0, 0, 0}, {1290, 4149, 5911, 85, 0, 0, 0}, {4638, 4150, 4176, 5140, 0, 0, 0}, {5951, 9984, 4160, 0, 0, 0, 0}, {4288, 2048, 8192, 20480, 0, 0, 0}, {269, 51, 514, 85, 1285, 4369, 0}, {4170, 514, 16448, 0, 0, 0, 0}, {4111, 51, 4864, 1024, 0, 0, 0}, {1032, 12288, 5188, 0, 0, 0, 0}, {522, 4656, 85, 1285, 0, 0, 0}, {4106, 102, 4608, 1024, 0, 0, 0}, {4175, 1799, 16448, 0, 0, 0, 0}, {2056, 4160, 0, 0, 0, 0, 0}, {51, 261, 4352, 0, 0, 0, 0}, {20490, 4192, 20992, 0, 0, 0, 0}, {4163, 17476, 0, 0, 0, 0, 0}, {204, 1024, 4096, 0, 0, 0, 0}, {514, 85, 1285, 4112, 0, 0, 0}, {4166, 17476, 0, 0, 0, 0, 0}, {20495, 4144, 22272, 0, 0, 0, 0}, {4304, 6224, 8224, 20560, 0, 0, 0}, {285, 51, 529, 85, 1280, 4369, 0}, {4186, 546, 16384, 0, 0, 0, 0}, {4127, 51, 4883, 1088, 0, 0, 0}, {4188, 12336, 5140, 0, 0, 0, 0}, {4138, 4608, 85, 1280, 0, 0, 0}, {4122, 1062, 5654, 1088, 0, 0, 0}, {4191, 1911, 16384, 0, 0, 0, 0}, {10280, 4176, 0, 0, 0, 0, 0}, {51, 277, 4352, 0, 0, 0, 0}, {20570, 4208, 16896, 0, 0, 0, 0}, {4179, 17476, 0, 0, 0, 0, 0}, {3084, 1088, 4112, 0, 0, 0, 0}, {546, 85, 1280, 4096, 0, 0, 0}, {4182, 17476, 0, 0, 0, 0, 0}, {20575, 4128, 18176, 0, 0, 0, 0}, {4320, 6240, 8224, 16448, 0, 0, 0}, {286, 51, 529, 85, 1041, 4369, 0}, {4680, 546, 20480, 0, 0, 0, 0}, {4124, 51, 4883, 5200, 0, 0, 0}, {5160, 12288, 1092, 0, 0, 0, 0}, {4122, 4656, 85, 5397, 0, 0, 0}, {4172, 102, 4608, 5120, 0, 0, 0}, {4207, 5911, 20560, 0, 0, 0, 0}, {18504, 4192, 0, 0, 0, 0, 0}, {278, 85, 4352, 0, 0, 0, 0}, {554, 8704, 4160, 0, 0, 0, 0}, {783, 51, 4176, 5140, 0, 0, 0}, {1100, 4128, 17408, 0, 0, 0, 0}, {1295, 4144, 4626, 85, 0, 0, 0}, {1058, 1536, 1092, 4096, 0, 0, 0}, {3855, 1904, 4112, 0, 0, 0, 0}, {4336, 2048, 8192, 16384, 0, 0, 0}, {270, 51, 514, 85, 1028, 4369, 0}, {4218, 514, 20560, 0, 0, 0, 0}, {4108, 51, 4864, 5120, 0, 0, 0}, {4220, 12336, 1028, 0, 0, 0, 0}, {4106, 4608, 85, 5376, 0, 0, 0}, {1036, 5174, 1542, 5200, 0, 0, 0}, {1800, 6007, 20480, 0, 0, 0, 0}, {2056, 4208, 0, 0, 0, 0, 0}, {262, 85, 4352, 0, 0, 0, 0}, {522, 8704, 4176, 0, 0, 0, 0}, {780, 51, 4160, 1028, 0, 0, 0}, {1036, 4144, 17408, 0, 0, 0, 0}, {1290, 4128, 514, 85, 0, 0, 0}, {102, 514, 1028, 4112, 0, 0, 0}, {255, 1792, 4096, 0, 0, 0, 0}, {13056, 21760, 0, 0, 0, 0, 0}, {8, 16, 257, 0, 0, 0, 0}, {4354, 17408, 0, 0, 0, 0, 0}, {21775, 48, 771, 0, 0, 0, 0}, {8704, 4356, 0, 0, 0, 0, 0}, {13071, 80, 1285, 0, 0, 0, 0}, {21770, 96, 1542, 0, 0, 0, 0}, {4359, 17408, 0, 0, 0, 0, 0}, {8, 4352, 0, 0, 0, 0, 0}, {48, 771, 80, 1285, 0, 0, 0}, {21770, 13056, 0, 0, 0, 0, 0}, {4355, 64, 1028, 0, 0, 0, 0}, {13068, 21760, 0, 0, 0, 0, 0}, {32, 514, 4357, 0, 0, 0, 0}, {4358, 64, 1028, 0, 0, 0, 0}, {21775, 26112, 0, 0, 0, 0, 0}, {768, 1280, 16, 0, 0, 0, 0}, {136, 4369, 0, 0, 0, 0, 0}, {4370, 17408, 0, 0, 0, 0, 0}, {21855, 32, 4883, 0, 0, 0, 0}, {8704, 4372, 0, 0, 0, 0, 0}, {13119, 64, 5397, 0, 0, 0, 0}, {21850, 112, 5654, 0, 0, 0, 0}, {4375, 17408, 0, 0, 0, 0, 0}, {24, 48, 768, 80, 1280, 4352, 0}, {128, 6425, 13107, 21845, 0, 0, 0}, {5402, 48, 768, 64, 0, 0, 0}, {4379, 4403, 17476, 0, 0, 0, 0}, {4892, 32, 80, 1280, 0, 0, 0}, {4381, 8738, 4437, 0, 0, 0, 0}, {4382, 4454, 17476, 0, 0, 0, 0}, {5407, 32, 1536, 64, 0, 0, 0}, {32, 4864, 21760, 0, 0, 0, 0}, {72, 48, 771, 4369, 0, 0, 0}, {4386, 17408, 0, 0, 0, 0, 0}, {1295, 771, 16, 0, 0, 0, 0}, {4364, 4388, 5888, 4420, 0, 0, 0}, {5722, 112, 21845, 0, 0, 0, 0}, {5418, 9766, 64, 0, 0, 0, 0}, {4367, 4391, 80, 5120, 0, 0, 0}, {40, 4352, 0, 0, 0, 0, 0}, {48, 771, 64, 5397, 0, 0, 0}, {21802, 13056, 0, 0, 0, 0, 0}, {4355, 80, 5140, 0, 0, 0, 0}, {4876, 32, 64, 5376, 0, 0, 0}, {4397, 8738, 4437, 0, 0, 0, 0}, {72, 4454, 17476, 0, 0, 0, 0}, {1295, 32, 5632, 80, 0, 0, 0}, {48, 768, 21760, 0, 0, 0, 0}, {8, 32, 514, 4369, 0, 0, 0}, {258, 1024, 16, 0, 0, 0, 0}, {22015, 13107, 0, 0, 0, 0, 0}, {8, 4404, 1792, 4420, 0, 0, 0}, {1546, 96, 21845, 0, 0, 0, 0}, {1290, 13878, 80, 0, 0, 0, 0}, {8, 4407, 64, 1024, 0, 0, 0}, {8, 48, 768, 64, 1024, 4352, 0}, {160, 2570, 13107, 21845, 0, 0, 0}, {1290, 48, 768, 80, 0, 0, 0}, {8, 4403, 17476, 0, 0, 0, 0}, {13116, 21760, 0, 0, 0, 0, 0}, {32, 514, 4373, 0, 0, 0, 0}, {4374, 80, 5140, 0, 0, 0, 0}, {21823, 26112, 0, 0, 0, 0, 0}, {13056, 64, 5376, 0, 0, 0, 0}, {40, 80, 1285, 4369, 0, 0, 0}, {4418, 17408, 0, 0, 0, 0, 0}, {21775, 112, 17219, 0, 0, 0, 0}, {8704, 4420, 0, 0, 0, 0, 0}, {783, 1285, 16, 0, 0, 0, 0}, {21770, 32, 17990, 0, 0, 0, 0}, {4423, 17408, 0, 0, 0, 0, 0}, {72, 4352, 0, 0, 0, 0, 0}, {32, 4883, 80, 1285, 0, 0, 0}, {5386, 32, 4864, 64, 0, 0, 0}, {4427, 4403, 17476, 0, 0, 0, 0}, {13132, 21760, 0, 0, 0, 0, 0}, {48, 4626, 4357, 0, 0, 0, 0}, {4430, 4454, 17476, 0, 0, 0, 0}, {5391, 48, 5632, 64, 0, 0, 0}, {13056, 80, 1280, 0, 0, 0, 0}, {8, 64, 1028, 4369, 0, 0, 0}, {4434, 17408, 0, 0, 0, 0, 0}, {21855, 96, 21331, 0, 0, 0, 0}, {512, 260, 16, 0, 0, 0, 0}, {13311, 21845, 0, 0, 0, 0, 0}, {21850, 48, 22102, 0, 0, 0, 0}, {4439, 17408, 0, 0, 0, 0, 0}, {8, 32, 512, 80, 1280, 4352, 0}, {192, 3084, 13107, 21845, 0, 0, 0}, {21850, 13056, 0, 0, 0, 0, 0}, {4371, 64, 1028, 0, 0, 0, 0}, {780, 48, 80, 1280, 0, 0, 0}, {8, 8738, 4437, 0, 0, 0, 0}, {4374, 64, 1028, 0, 0, 0, 0}, {21855, 26112, 0, 0, 0, 0, 0}, {96, 1536, 21760, 0, 0, 0, 0}, {8, 112, 1799, 4369, 0, 0, 0}, {8, 4386, 64, 1024, 0, 0, 0}, {1295, 13107, 80, 0, 0, 0, 0}, {8, 32, 512, 4420, 0, 0, 0}, {783, 48, 21845, 0, 0, 0, 0}, {21930, 26214, 0, 0, 0, 0, 0}, {263, 1024, 16, 0, 0, 0, 0}, {8, 32, 512, 64, 1024, 4352, 0}, {240, 3855, 13107, 21845, 0, 0, 0}, {21866, 13056, 0, 0, 0, 0, 0}, {4371, 80, 5140, 0, 0, 0, 0}, {13164, 21760, 0, 0, 0, 0, 0}, {48, 4626, 4373, 0, 0, 0, 0}, {8, 4454, 17476, 0, 0, 0, 0}, {1295, 48, 1536, 80, 0, 0, 0}, {112, 5632, 21760, 0, 0, 0, 0}, {72, 96, 1542, 4369, 0, 0, 0}, {4362, 4386, 80, 5120, 0, 0, 0}, {5439, 13107, 64, 0, 0, 0, 0}, {4364, 48, 4608, 4420, 0, 0, 0}, {4959, 32, 21845, 0, 0, 0, 0}, {1290, 1542, 16, 0, 0, 0, 0}, {4471, 17408, 0, 0, 0, 0, 0}, {120, 4352, 0, 0, 0, 0, 0}, {32, 4883, 64, 5397, 0, 0, 0}, {1290, 32, 4864, 80, 0, 0, 0}, {72, 4403, 17476, 0, 0, 0, 0}, {780, 48, 64, 5376, 0, 0, 0}, {40, 8738, 4437, 0, 0, 0, 0}, {4358, 80, 5140, 0, 0, 0, 0}, {21887, 26112, 0, 0, 0, 0, 0}, {128, 6400, 13056, 21760, 0, 0, 0}, {24, 48, 771, 80, 1285, 4369, 0}, {4362, 4386, 17408, 0, 0, 0, 0}, {5391, 48, 771, 64, 0, 0, 0}, {4364, 8704, 4420, 0, 0, 0, 0}, {4879, 32, 80, 1285, 0, 0, 0}, {5386, 32, 1542, 64, 0, 0, 0}, {4367, 4471, 17408, 0, 0, 0, 0}, {136, 4352, 0, 0, 0, 0, 0}, {771, 1285, 16, 0, 0, 0, 0}, {21770, 32, 4864, 0, 0, 0, 0}, {4355, 17476, 0, 0, 0, 0, 0}, {13068, 64, 5376, 0, 0, 0, 0}, {8738, 4357, 0, 0, 0, 0, 0}, {4358, 17476, 0, 0, 0, 0, 0}, {21775, 112, 5632, 0, 0, 0, 0}, {48, 768, 80, 1280, 0, 0, 0}, {8, 4369, 0, 0, 0, 0, 0}, {4370, 64, 1024, 0, 0, 0, 0}, {21855, 13107, 0, 0, 0, 0, 0}, {32, 512, 4372, 0, 0, 0, 0}, {13119, 21845, 0, 0, 0, 0, 0}, {21850, 26214, 0, 0, 0, 0, 0}, {4375, 64, 1024, 0, 0, 0, 0}, {8, 16, 256, 0, 0, 0, 0}, {13107, 21845, 0, 0, 0, 0, 0}, {21850, 48, 768, 0, 0, 0, 0}, {4371, 17476, 0, 0, 0, 0, 0}, {13116, 80, 1280, 0, 0, 0, 0}, {8738, 4373, 0, 0, 0, 0, 0}, {4374, 17476, 0, 0, 0, 0, 0}, {21855, 96, 1536, 0, 0, 0, 0}, {160, 2560, 13056, 21760, 0, 0, 0}, {8, 48, 771, 64, 1028, 4369, 0}, {8, 4386, 17408, 0, 0, 0, 0}, {1295, 48, 771, 80, 0, 0, 0}, {32, 512, 4356, 0, 0, 0, 0}, {13071, 21845, 0, 0, 0, 0, 0}, {21866, 26214, 0, 0, 0, 0, 0}, {4359, 80, 5120, 0, 0, 0, 0}, {8, 32, 512, 4352, 0, 0, 0}, {48, 771, 21845, 0, 0, 0, 0}, {21930, 13056, 0, 0, 0, 0, 0}, {259, 1028, 16, 0, 0, 0, 0}, {1548, 96, 21760, 0, 0, 0, 0}, {8, 4389, 1799, 4437, 0, 0, 0}, {8, 4390, 64, 1028, 0, 0, 0}, {1295, 13824, 80, 0, 0, 0, 0}, {48, 768, 64, 5376, 0, 0, 0}, {40, 4369, 0, 0, 0, 0, 0}, {4370, 80, 5120, 0, 0, 0, 0}, {21887, 13107, 0, 0, 0, 0, 0}, {4412, 8704, 4420, 0, 0, 0, 0}, {4895, 32, 64, 5397, 0, 0, 0}, {1290, 32, 5654, 80, 0, 0, 0}, {72, 4471, 17408, 0, 0, 0, 0}, {72, 48, 768, 4352, 0, 0, 0}, {32, 4883, 21845, 0, 0, 0, 0}, {1290, 768, 16, 0, 0, 0, 0}, {4403, 17476, 0, 0, 0, 0, 0}, {5708, 112, 21760, 0, 0, 0, 0}, {4381, 4405, 5911, 4437, 0, 0, 0}, {4382, 4406, 80, 5140, 0, 0, 0}, {5439, 9728, 64, 0, 0, 0, 0}, {192, 3072, 13056, 21760, 0, 0, 0}, {8, 32, 514, 80, 1285, 4369, 0}, {4354, 64, 1024, 0, 0, 0, 0}, {21775, 13107, 0, 0, 0, 0, 0}, {8, 8704, 4420, 0, 0, 0, 0}, {783, 48, 80, 1285, 0, 0, 0}, {21770, 26214, 0, 0, 0, 0, 0}, {4359, 64, 1024, 0, 0, 0, 0}, {8, 64, 1024, 4352, 0, 0, 0}, {13107, 80, 1285, 0, 0, 0, 0}, {21770, 96, 21248, 0, 0, 0, 0}, {4419, 17476, 0, 0, 0, 0, 0}, {13260, 21760, 0, 0, 0, 0, 0}, {514, 261, 16, 0, 0, 0, 0}, {4422, 17476, 0, 0, 0, 0, 0}, {21775, 48, 22016, 0, 0, 0, 0}, {32, 4864, 80, 1280, 0, 0, 0}, {72, 4369, 0, 0, 0, 0, 0}, {4442, 4386, 17408, 0, 0, 0, 0}, {5407, 32, 4883, 64, 0, 0, 0}, {48, 4608, 4372, 0, 0, 0, 0}, {13183, 21845, 0, 0, 0, 0, 0}, {5402, 48, 5654, 64, 0, 0, 0}, {4447, 4471, 17408, 0, 0, 0, 0}, {40, 80, 1280, 4352, 0, 0, 0}, {13107, 64, 5397, 0, 0, 0, 0}, {21850, 112, 17152, 0, 0, 0, 0}, {4435, 17476, 0, 0, 0, 0, 0}, {780, 1280, 16, 0, 0, 0, 0}, {8738, 4437, 0, 0, 0, 0, 0}, {4438, 17476, 0, 0, 0, 0, 0}, {21855, 32, 17920, 0, 0, 0, 0}, {32, 4864, 64, 5376, 0, 0, 0}, {120, 4369, 0, 0, 0, 0, 0}, {72, 4386, 17408, 0, 0, 0, 0}, {1295, 32, 4883, 80, 0, 0, 0}, {40, 8704, 4420, 0, 0, 0, 0}, {783, 48, 64, 5397, 0, 0, 0}, {21802, 26214, 0, 0, 0, 0, 0}, {4375, 80, 5120, 0, 0, 0, 0}, {72, 96, 1536, 4352, 0, 0, 0}, {112, 5654, 21845, 0, 0, 0, 0}, {5418, 13056, 64, 0, 0, 0, 0}, {4379, 4403, 80, 5140, 0, 0, 0}, {4940, 32, 21760, 0, 0, 0, 0}, {4381, 48, 4626, 4437, 0, 0, 0}, {4454, 17476, 0, 0, 0, 0, 0}, {1295, 1536, 16, 0, 0, 0, 0}, {240, 3840, 13056, 21760, 0, 0, 0}, {8, 32, 514, 64, 1028, 4369, 0}, {4354, 80, 5120, 0, 0, 0, 0}, {21823, 13107, 0, 0, 0, 0, 0}, {48, 4608, 4356, 0, 0, 0, 0}, {13151, 21845, 0, 0, 0, 0, 0}, {1290, 48, 1542, 80, 0, 0, 0}, {8, 4471, 17408, 0, 0, 0, 0}, {8, 112, 1792, 4352, 0, 0, 0}, {96, 1542, 21845, 0, 0, 0, 0}, {1290, 13056, 80, 0, 0, 0, 0}, {8, 4403, 64, 1028, 0, 0, 0}, {780, 48, 21760, 0, 0, 0, 0}, {8, 32, 514, 4437, 0, 0, 0}, {262, 1028, 16, 0, 0, 0, 0}, {22015, 26112, 0, 0, 0, 0, 0}, {23040, 12288, 0, 0, 0, 0, 0}, {19, 68, 257, 0, 0, 0, 0}, {8, 32, 514, 4096, 0, 0, 0}, {51, 771, 21760, 0, 0, 0, 0}, {8, 4612, 68, 1028, 0, 0, 0}, {95, 12368, 1285, 0, 0, 0, 0}, {108, 1542, 20480, 0, 0, 0, 0}, {8, 119, 4615, 5376, 0, 0, 0}, {8, 4608, 16384, 0, 0, 0, 0}, {95, 51, 771, 1285, 0, 0, 0}, {160, 2570, 12288, 20480, 0, 0, 0}, {8, 51, 771, 68, 1028, 4352, 0}, {22028, 26112, 0, 0, 0, 0, 0}, {4103, 4176, 1285, 0, 0, 0, 0}, {32, 514, 4100, 0, 0, 0, 0}, {12303, 21760, 0, 0, 0, 0, 0}, {2560, 32, 4112, 0, 0, 0, 0}, {51, 768, 68, 4369, 0, 0, 0}, {136, 4626, 0, 0, 0, 0, 0}, {19, 1280, 4096, 0, 0, 0, 0}, {40, 4628, 68, 5140, 0, 0, 0}, {127, 12352, 5397, 0, 0, 0, 0}, {76, 5654, 16384, 0, 0, 0, 0}, {95, 119, 4631, 1280, 0, 0, 0}, {4632, 4656, 20560, 0, 0, 0, 0}, {5401, 51, 768, 5461, 0, 0, 0}, {128, 6682, 12336, 16448, 0, 0, 0}, {27, 51, 768, 68, 1280, 4352, 0}, {4124, 32, 1536, 4176, 0, 0, 0}, {4637, 119, 21845, 0, 0, 0, 0}, {4638, 8738, 68, 0, 0, 0, 0}, {4127, 32, 4160, 1280, 0, 0, 0}, {2560, 32, 4096, 0, 0, 0, 0}, {51, 771, 68, 4369, 0, 0, 0}, {18432, 4642, 0, 0, 0, 0, 0}, {19, 1360, 4112, 0, 0, 0, 0}, {4620, 4644, 68, 5120, 0, 0, 0}, {5418, 9509, 5461, 0, 0, 0, 0}, {76, 5734, 16448, 0, 0, 0, 0}, {1295, 1319, 5888, 1360, 0, 0, 0}, {40, 4608, 20480, 0, 0, 0, 0}, {76, 51, 771, 5397, 0, 0, 0}, {128, 6698, 12288, 16384, 0, 0, 0}, {27, 51, 771, 68, 1300, 4352, 0}, {4108, 32, 5632, 4160, 0, 0, 0}, {4698, 119, 21845, 0, 0, 0, 0}, {4654, 8738, 68, 0, 0, 0, 0}, {4111, 32, 4176, 5376, 0, 0, 0}, {23280, 12336, 0, 0, 0, 0, 0}, {258, 1024, 273, 0, 0, 0, 0}, {8, 32, 514, 4112, 0, 0, 0}, {51, 768, 21760, 0, 0, 0, 0}, {8, 4660, 68, 1024, 0, 0, 0}, {1290, 13621, 1365, 0, 0, 0, 0}, {1546, 1638, 20560, 0, 0, 0, 0}, {8, 5431, 1792, 5440, 0, 0, 0}, {8, 4656, 16448, 0, 0, 0, 0}, {1290, 51, 768, 1365, 0, 0, 0}, {160, 2570, 12336, 20560, 0, 0, 0}, {8, 51, 768, 68, 1024, 4352, 0}, {22076, 26112, 0, 0, 0, 0, 0}, {4119, 4160, 5397, 0, 0, 0, 0}, {32, 514, 4116, 0, 0, 0, 0}, {12351, 21760, 0, 0, 0, 0, 0}, {128, 6720, 12352, 16448, 0, 0, 0}, {27, 51, 788, 68, 1285, 4369, 0}, {40, 4674, 20480, 0, 0, 0, 0}, {76, 51, 835, 5376, 0, 0, 0}, {4608, 68, 0, 0, 0, 0, 0}, {95, 32, 1285, 4112, 0, 0, 0}, {76, 32, 1606, 4096, 0, 0, 0}, {119, 4679, 21760, 0, 0, 0, 0}, {4680, 8704, 0, 0, 0, 0, 0}, {19, 4176, 1285, 0, 0, 0, 0}, {2570, 32, 4160, 0, 0, 0, 0}, {783, 51, 68, 4352, 0, 0, 0}, {76, 5632, 16384, 0, 0, 0, 0}, {95, 119, 4626, 1285, 0, 0, 0}, {4618, 4642, 68, 5120, 0, 0, 0}, {5439, 12336, 5440, 0, 0, 0, 0}, {160, 2560, 12368, 20560, 0, 0, 0}, {8, 51, 772, 68, 1028, 4369, 0}, {8, 4690, 16384, 0, 0, 0, 0}, {95, 51, 851, 1280, 0, 0, 0}, {8, 32, 512, 68, 1028, 4112, 0}, {255, 3840, 12288, 21845, 0, 0, 0}, {204, 22102, 0, 0, 0, 0, 0}, {87, 1280, 4096, 0, 0, 0, 0}, {8, 32, 512, 4176, 0, 0, 0}, {780, 51, 21845, 0, 0, 0, 0}, {12528, 23130, 0, 0, 0, 0, 0}, {19, 260, 4352, 0, 0, 0, 0}, {1548, 1632, 20560, 0, 0, 0, 0}, {8, 5410, 1792, 5461, 0, 0, 0}, {8, 4626, 68, 1028, 0, 0, 0}, {95, 12288, 1280, 0, 0, 0, 0}, {160, 2560, 12384, 20480, 0, 0, 0}, {8, 51, 775, 68, 1024, 4369, 0}, {8, 4706, 16448, 0, 0, 0, 0}, {1295, 51, 1536, 1360, 0, 0, 0}, {8, 32, 512, 68, 1024, 4096, 0}, {255, 3855, 12336, 21845, 0, 0, 0}, {3072, 22118, 0, 0, 0, 0, 0}, {1287, 1360, 4112, 0, 0, 0, 0}, {8, 32, 512, 4160, 0, 0, 0}, {783, 51, 21845, 0, 0, 0, 0}, {12480, 27242, 0, 0, 0, 0, 0}, {19, 276, 4352, 0, 0, 0, 0}, {108, 1536, 20480, 0, 0, 0, 0}, {8, 119, 4626, 5397, 0, 0, 0}, {8, 4642, 68, 1024, 0, 0, 0}, {1295, 12336, 1360, 0, 0, 0, 0}, {128, 6768, 12400, 16384, 0, 0, 0}, {27, 51, 791, 68, 1297, 4369, 0}, {4698, 4722, 20560, 0, 0, 0, 0}, {5388, 51, 5632, 5440, 0, 0, 0}, {3084, 4656, 68, 0, 0, 0, 0}, {1290, 32, 1365, 4096, 0, 0, 0}, {76, 32, 1542, 4112, 0, 0, 0}, {119, 4608, 21760, 0, 0, 0, 0}, {4728, 8704, 0, 0, 0, 0, 0}, {19, 4160, 5397, 0, 0, 0, 0}, {2570, 32, 4176, 0, 0, 0, 0}, {780, 51, 68, 4352, 0, 0, 0}, {76, 5744, 16448, 0, 0, 0, 0}, {1290, 1314, 5888, 1365, 0, 0, 0}, {40, 4626, 68, 5140, 0, 0, 0}, {127, 12288, 5376, 0, 0, 0, 0}, {128, 6656, 12288, 16384, 0, 0, 0}, {27, 51, 771, 68, 1285, 4369, 0}, {4618, 4642, 20480, 0, 0, 0, 0}, {5388, 51, 771, 5440, 0, 0, 0}, {4620, 8704, 68, 0, 0, 0, 0}, {4111, 32, 4176, 1285, 0, 0, 0}, {4108, 32, 1542, 4160, 0, 0, 0}, {4623, 119, 21760, 0, 0, 0, 0}, {136, 4608, 0, 0, 0, 0, 0}, {19, 1285, 4112, 0, 0, 0, 0}, {2570, 32, 4096, 0, 0, 0, 0}, {51, 771, 68, 4352, 0, 0, 0}, {76, 5632, 16448, 0, 0, 0, 0}, {95, 119, 4613, 1285, 0, 0, 0}, {40, 4614, 68, 5120, 0, 0, 0}, {127, 12400, 5376, 0, 0, 0, 0}, {160, 2560, 12336, 20560, 0, 0, 0}, {8, 51, 768, 68, 1024, 4369, 0}, {8, 4626, 16448, 0, 0, 0, 0}, {95, 51, 768, 1280, 0, 0, 0}, {32, 512, 4116, 0, 0, 0, 0}, {12351, 21845, 0, 0, 0, 0, 0}, {22106, 26214, 0, 0, 0, 0, 0}, {4119, 4160, 1280, 0, 0, 0, 0}, {8, 32, 512, 4112, 0, 0, 0}, {51, 768, 21845, 0, 0, 0, 0}, {23130, 12336, 0, 0, 0, 0, 0}, {19, 68, 256, 0, 0, 0, 0}, {108, 1536, 20560, 0, 0, 0, 0}, {8, 119, 4629, 5397, 0, 0, 0}, {8, 4630, 68, 1024, 0, 0, 0}, {95, 12384, 1280, 0, 0, 0, 0}, {160, 2560, 12288, 20480, 0, 0, 0}, {8, 51, 771, 68, 1028, 4369, 0}, {8, 4642, 16384, 0, 0, 0, 0}, {1295, 51, 771, 1360, 0, 0, 0}, {32, 512, 4100, 0, 0, 0, 0}, {12303, 21845, 0, 0, 0, 0, 0}, {22122, 26214, 0, 0, 0, 0, 0}, {4103, 4176, 5376, 0, 0, 0, 0}, {8, 32, 512, 4096, 0, 0, 0}, {51, 771, 21845, 0, 0, 0, 0}, {23210, 12288, 0, 0, 0, 0, 0}, {259, 1028, 272, 0, 0, 0, 0}, {1548, 1632, 20480, 0, 0, 0, 0}, {8, 5410, 1799, 5461, 0, 0, 0}, {8, 4646, 68, 1028, 0, 0, 0}, {1295, 13568, 1360, 0, 0, 0, 0}, {128, 6704, 12336, 16448, 0, 0, 0}, {27, 51, 768, 68, 1297, 4369, 0}, {40, 4626, 20560, 0, 0, 0, 0}, {76, 51, 768, 5376, 0, 0, 0}, {4668, 8704, 68, 0, 0, 0, 0}, {4127, 32, 4160, 5397, 0, 0, 0}, {4124, 32, 5654, 4176, 0, 0, 0}, {4680, 119, 21760, 0, 0, 0, 0}, {18504, 4656, 0, 0, 0, 0, 0}, {19, 1365, 4096, 0, 0, 0, 0}, {2570, 32, 4112, 0, 0, 0, 0}, {51, 768, 68, 4352, 0, 0, 0}, {76, 5744, 16384, 0, 0, 0, 0}, {1290, 1314, 5911, 1365, 0, 0, 0}, {4638, 4662, 68, 5140, 0, 0, 0}, {5439, 9472, 5440, 0, 0, 0, 0}, {12480, 23040, 0, 0, 0, 0, 0}, {19, 261, 4369, 0, 0, 0, 0}, {8, 32, 514, 4160, 0, 0, 0}, {783, 51, 21760, 0, 0, 0, 0}, {8, 4608, 68, 1024, 0, 0, 0}, {95, 12336, 1285, 0, 0, 0, 0}, {1546, 1638, 20480, 0, 0, 0, 0}, {8, 5431, 1799, 5440, 0, 0, 0}, {8, 4672, 16448, 0, 0, 0, 0}, {95, 51, 848, 1285, 0, 0, 0}, {160, 2570, 12384, 20480, 0, 0, 0}, {8, 51, 775, 68, 1024, 4352, 0}, {204, 22016, 0, 0, 0, 0, 0}, {87, 1285, 4112, 0, 0, 0, 0}, {8, 32, 514, 68, 1024, 4096, 0}, {255, 3855, 12336, 21760, 0, 0, 0}, {2560, 32, 4176, 0, 0, 0, 0}, {780, 51, 68, 4369, 0, 0, 0}, {4698, 8738, 0, 0, 0, 0, 0}, {19, 4160, 1280, 0, 0, 0, 0}, {4632, 4656, 68, 5140, 0, 0, 0}, {5418, 12288, 5461, 0, 0, 0, 0}, {76, 5654, 16448, 0, 0, 0, 0}, {95, 119, 4608, 1280, 0, 0, 0}, {40, 4688, 20560, 0, 0, 0, 0}, {76, 51, 832, 5397, 0, 0, 0}, {128, 6746, 12400, 16384, 0, 0, 0}, {27, 51, 791, 68, 1280, 4352, 0}, {76, 32, 1600, 4112, 0, 0, 0}, {119, 4693, 21845, 0, 0, 0, 0}, {4626, 68, 0, 0, 0, 0, 0}, {95, 32, 1280, 4096, 0, 0, 0}, {2560, 32, 4160, 0, 0, 0, 0}, {783, 51, 68, 4369, 0, 0, 0}, {4714, 8738, 0, 0, 0, 0, 0}, {19, 4176, 5376, 0, 0, 0, 0}, {40, 4608, 68, 5120, 0, 0, 0}, {127, 12336, 5397, 0, 0, 0, 0}, {76, 5734, 16384, 0, 0, 0, 0}, {1295, 1319, 5911, 1360, 0, 0, 0}, {4680, 4704, 20480, 0, 0, 0, 0}, {5401, 51, 5654, 5461, 0, 0, 0}, {128, 6762, 12352, 16448, 0, 0, 0}, {27, 51, 788, 68, 1300, 4352, 0}, {76, 32, 1536, 4096, 0, 0, 0}, {119, 4626, 21845, 0, 0, 0, 0}, {3072, 4642, 68, 0, 0, 0, 0}, {1295, 32, 1360, 4112, 0, 0, 0}, {12528, 27136, 0, 0, 0, 0, 0}, {19, 277, 4369, 0, 0, 0, 0}, {8, 32, 514, 4176, 0, 0, 0}, {780, 51, 21760, 0, 0, 0, 0}, {8, 4656, 68, 1028, 0, 0, 0}, {1290, 12288, 1365, 0, 0, 0, 0}, {108, 1542, 20560, 0, 0, 0, 0}, {8, 119, 4608, 5376, 0, 0, 0}, {8, 4720, 16384, 0, 0, 0, 0}, {1290, 51, 1542, 1365, 0, 0, 0}, {160, 2570, 12368, 20560, 0, 0, 0}, {8, 51, 772, 68, 1028, 4352, 0}, {3084, 22064, 0, 0, 0, 0, 0}, {1282, 1365, 4096, 0, 0, 0, 0}, {8, 32, 514, 68, 1028, 4112, 0}, {255, 3840, 12288, 21760, 0, 0, 0}, {4864, 17408, 0, 0, 0, 0, 0}, {90, 48, 257, 0, 0, 0, 0}, {4386, 514, 21760, 0, 0, 0, 0}, {1036, 48, 771, 4096, 0, 0, 0}, {4940, 8256, 1028, 0, 0, 0, 0}, {4367, 4869, 4437, 1285, 0, 0, 0}, {4364, 4454, 4870, 5376, 0, 0, 0}, {5240, 1799, 20480, 0, 0, 0, 0}, {22280, 13056, 0, 0, 0, 0, 0}, {4355, 4176, 1285, 0, 0, 0, 0}, {522, 4352, 0, 0, 0, 0, 0}, {48, 771, 4160, 1028, 0, 0, 0}, {1036, 5888, 16384, 0, 0, 0, 0}, {90, 4471, 514, 1285, 0, 0, 0}, {4398, 514, 4420, 1028, 0, 0, 0}, {4879, 8192, 5120, 0, 0, 0, 0}, {48, 768, 1088, 4112, 0, 0, 0}, {2560, 546, 4369, 0, 0, 0, 0}, {274, 1280, 4096, 0, 0, 0, 0}, {17612, 4883, 0, 0, 0, 0, 0}, {4972, 8272, 5140, 0, 0, 0, 0}, {4415, 4885, 4437, 5397, 0, 0, 0}, {90, 4454, 4886, 1280, 0, 0, 0}, {1096, 5911, 16384, 0, 0, 0, 0}, {5144, 48, 768, 4176, 0, 0, 0}, {4889, 4403, 21845, 0, 0, 0, 0}, {282, 48, 768, 320, 1280, 4352, 0}, {5011, 6939, 13107, 17476, 0, 0, 0}, {4892, 1904, 20560, 0, 0, 0, 0}, {4381, 1058, 1536, 5461, 0, 0, 0}, {4382, 546, 4420, 1280, 0, 0, 0}, {4895, 8224, 1088, 0, 0, 0, 0}, {4896, 17408, 0, 0, 0, 0, 0}, {1295, 771, 273, 0, 0, 0, 0}, {4386, 4864, 21760, 0, 0, 0, 0}, {1100, 48, 771, 4112, 0, 0, 0}, {5928, 9252, 1092, 0, 0, 0, 0}, {4367, 4901, 4437, 5120, 0, 0, 0}, {4364, 1062, 5888, 5440, 0, 0, 0}, {4959, 1911, 20560, 0, 0, 0, 0}, {22312, 13056, 0, 0, 0, 0, 0}, {4355, 4160, 5397, 0, 0, 0, 0}, {554, 4352, 0, 0, 0, 0, 0}, {48, 771, 4176, 5140, 0, 0, 0}, {1100, 5984, 16448, 0, 0, 0, 0}, {1295, 5154, 5632, 1365, 0, 0, 0}, {4876, 546, 4420, 5376, 0, 0, 0}, {4911, 8224, 5200, 0, 0, 0, 0}, {48, 768, 1024, 4096, 0, 0, 0}, {170, 514, 4369, 0, 0, 0, 0}, {258, 1360, 4112, 0, 0, 0, 0}, {2048, 4915, 0, 0, 0, 0, 0}, {1800, 13364, 5188, 0, 0, 0, 0}, {522, 4917, 4437, 1024, 0, 0, 0}, {1290, 5174, 1792, 1360, 0, 0, 0}, {1032, 6007, 16448, 0, 0, 0, 0}, {1032, 48, 768, 4160, 0, 0, 0}, {522, 4403, 21845, 0, 0, 0, 0}, {266, 48, 768, 336, 1024, 4352, 0}, {5043, 2056, 13107, 17476, 0, 0, 0}, {5180, 1792, 20480, 0, 0, 0, 0}, {4381, 4471, 514, 5397, 0, 0, 0}, {4382, 514, 4420, 5140, 0, 0, 0}, {4927, 8192, 1024, 0, 0, 0, 0}, {5888, 1088, 0, 0, 0, 0, 0}, {90, 626, 1285, 4369, 0, 0, 0}, {4424, 4386, 578, 5376, 0, 0, 0}, {5180, 4931, 20480, 0, 0, 0, 0}, {5068, 6980, 8192, 17476, 0, 0, 0}, {287, 48, 528, 325, 1285, 4112, 0}, {4454, 4934, 21760, 0, 0, 0, 0}, {1096, 48, 1863, 4096, 0, 0, 0}, {1096, 4864, 16384, 0, 0, 0, 0}, {90, 4403, 4883, 1285, 0, 0, 0}, {1546, 544, 1088, 4352, 0, 0, 0}, {3855, 4915, 5188, 0, 0, 0, 0}, {4940, 30464, 0, 0, 0, 0, 0}, {279, 4176, 1285, 0, 0, 0, 0}, {552, 8738, 4420, 0, 0, 0, 0}, {783, 48, 4160, 5120, 0, 0, 0}, {1792, 5200, 0, 0, 0, 0, 0}, {520, 610, 1028, 4369, 0, 0, 0}, {90, 4386, 594, 1280, 0, 0, 0}, {1036, 4947, 16384, 0, 0, 0, 0}, {780, 48, 1028, 4112, 0, 0, 0}, {512, 4437, 0, 0, 0, 0, 0}, {342, 1280, 4096, 0, 0, 0, 0}, {17544, 22359, 0, 0, 0, 0, 0}, {1800, 4896, 20560, 0, 0, 0, 0}, {1036, 4403, 512, 5461, 0, 0, 0}, {90, 512, 1280, 4352, 0, 0, 0}, {192, 4883, 1028, 0, 0, 0, 0}, {1036, 48, 1792, 4176, 0, 0, 0}, {520, 4471, 21845, 0, 0, 0, 0}, {48, 4626, 260, 0, 0, 0, 0}, {4959, 17408, 0, 0, 0, 0, 0}, {4960, 1024, 0, 0, 0, 0, 0}, {1295, 1799, 1365, 4369, 0, 0, 0}, {1032, 4386, 1536, 5440, 0, 0, 0}, {1807, 4963, 20560, 0, 0, 0, 0}, {5100, 2056, 8224, 17476, 0, 0, 0}, {271, 48, 512, 341, 1024, 4096, 0}, {4454, 512, 21760, 0, 0, 0, 0}, {1032, 48, 1799, 4112, 0, 0, 0}, {1032, 4896, 16448, 0, 0, 0, 0}, {1295, 4403, 512, 1365, 0, 0, 0}, {106, 512, 1024, 4352, 0, 0, 0}, {240, 4883, 5140, 0, 0, 0, 0}, {4972, 30464, 0, 0, 0, 0, 0}, {263, 4160, 5397, 0, 0, 0, 0}, {520, 8738, 4420, 0, 0, 0, 0}, {783, 48, 4176, 1024, 0, 0, 0}, {4976, 5120, 0, 0, 0, 0, 0}, {1070, 1542, 1092, 4369, 0, 0, 0}, {1290, 4386, 5632, 1360, 0, 0, 0}, {1100, 4979, 16448, 0, 0, 0, 0}, {780, 48, 1092, 4096, 0, 0, 0}, {2570, 544, 4437, 0, 0, 0, 0}, {1046, 1360, 4112, 0, 0, 0, 0}, {19456, 22391, 0, 0, 0, 0, 0}, {5240, 4864, 20480, 0, 0, 0, 0}, {4441, 4403, 4883, 5397, 0, 0, 0}, {1290, 544, 1360, 4352, 0, 0, 0}, {3084, 4915, 1092, 0, 0, 0, 0}, {5132, 48, 5888, 4160, 0, 0, 0}, {4959, 4471, 21845, 0, 0, 0, 0}, {48, 4626, 276, 0, 0, 0, 0}, {4991, 17408, 0, 0, 0, 0, 0}, {4992, 6912, 13056, 17408, 0, 0, 0}, {283, 48, 771, 321, 1285, 4369, 0}, {4874, 4386, 21760, 0, 0, 0, 0}, {5132, 48, 771, 4160, 0, 0, 0}, {4876, 8192, 1092, 0, 0, 0, 0}, {4367, 544, 4437, 1285, 0, 0, 0}, {4364, 1062, 1542, 5440, 0, 0, 0}, {4879, 1911, 20480, 0, 0, 0, 0}, {17544, 4864, 0, 0, 0, 0, 0}, {275, 1285, 4112, 0, 0, 0, 0}, {2570, 544, 4352, 0, 0, 0, 0}, {48, 771, 1092, 4096, 0, 0, 0}, {1100, 5888, 16448, 0, 0, 0, 0}, {90, 4471, 4869, 1285, 0, 0, 0}, {4398, 4870, 4420, 5376, 0, 0, 0}, {4991, 8304, 5120, 0, 0, 0, 0}, {48, 768, 4176, 1024, 0, 0, 0}, {520, 4369, 0, 0, 0, 0, 0}, {4370, 4160, 1280, 0, 0, 0, 0}, {22367, 13107, 0, 0, 0, 0, 0}, {4892, 8224, 5140, 0, 0, 0, 0}, {4415, 512, 4437, 1024, 0, 0, 0}, {90, 4454, 512, 1280, 0, 0, 0}, {1032, 5911, 16448, 0, 0, 0, 0}, {1032, 48, 768, 4112, 0, 0, 0}, {4403, 512, 21845, 0, 0, 0, 0}, {90, 48, 256, 0, 0, 0, 0}, {4883, 17476, 0, 0, 0, 0, 0}, {5228, 1792, 20560, 0, 0, 0, 0}, {4381, 4471, 4885, 5397, 0, 0, 0}, {4382, 4886, 4420, 1280, 0, 0, 0}, {4959, 8288, 1024, 0, 0, 0, 0}, {5024, 2048, 13056, 17408, 0, 0, 0}, {267, 48, 771, 337, 1028, 4369, 0}, {520, 4386, 21760, 0, 0, 0, 0}, {1036, 48, 771, 4176, 0, 0, 0}, {4908, 8224, 1028, 0, 0, 0, 0}, {4367, 512, 4437, 5120, 0, 0, 0}, {4364, 4454, 512, 5376, 0, 0, 0}, {5160, 1799, 20560, 0, 0, 0, 0}, {2056, 4896, 0, 0, 0, 0, 0}, {259, 1365, 4096, 0, 0, 0, 0}, {170, 512, 4352, 0, 0, 0, 0}, {48, 771, 1028, 4112, 0, 0, 0}, {1036, 5984, 16384, 0, 0, 0, 0}, {1295, 5154, 1799, 1365, 0, 0, 0}, {520, 4902, 4420, 1028, 0, 0, 0}, {1807, 13312, 5200, 0, 0, 0, 0}, {48, 768, 4160, 5120, 0, 0, 0}, {552, 4369, 0, 0, 0, 0, 0}, {4370, 4176, 5376, 0, 0, 0, 0}, {22399, 13107, 0, 0, 0, 0, 0}, {4924, 8192, 5188, 0, 0, 0, 0}, {4895, 544, 4437, 5397, 0, 0, 0}, {1290, 5174, 5654, 1360, 0, 0, 0}, {1096, 6007, 16384, 0, 0, 0, 0}, {1096, 48, 768, 4096, 0, 0, 0}, {4403, 4883, 21845, 0, 0, 0, 0}, {1290, 768, 272, 0, 0, 0, 0}, {4915, 17476, 0, 0, 0, 0, 0}, {4940, 1904, 20480, 0, 0, 0, 0}, {4381, 1058, 5911, 5461, 0, 0, 0}, {4382, 4918, 4420, 5140, 0, 0, 0}, {5951, 9216, 1088, 0, 0, 0, 0}, {192, 4864, 1024, 0, 0, 0, 0}, {90, 514, 1285, 4369, 0, 0, 0}, {1032, 4386, 514, 5440, 0, 0, 0}, {1807, 4915, 20480, 0, 0, 0, 0}, {4940, 17476, 0, 0, 0, 0, 0}, {48, 4608, 261, 0, 0, 0, 0}, {522, 4454, 21760, 0, 0, 0, 0}, {1032, 48, 1799, 4160, 0, 0, 0}, {1032, 4928, 16448, 0, 0, 0, 0}, {90, 4403, 592, 1285, 0, 0, 0}, {522, 608, 1024, 4352, 0, 0, 0}, {1799, 5188, 0, 0, 0, 0, 0}, {17612, 22272, 0, 0, 0, 0, 0}, {343, 1285, 4112, 0, 0, 0, 0}, {514, 4420, 0, 0, 0, 0, 0}, {783, 48, 1024, 4096, 0, 0, 0}, {3840, 4896, 5200, 0, 0, 0, 0}, {1548, 546, 1092, 4369, 0, 0, 0}, {90, 4386, 4864, 1280, 0, 0, 0}, {1100, 4883, 16448, 0, 0, 0, 0}, {780, 48, 4176, 5140, 0, 0, 0}, {554, 8704, 4437, 0, 0, 0, 0}, {278, 4160, 1280, 0, 0, 0, 0}, {4959, 30583, 0, 0, 0, 0, 0}, {5160, 4944, 20560, 0, 0, 0, 0}, {4441, 4403, 576, 5397, 0, 0, 0}, {90, 624, 1280, 4352, 0, 0, 0}, {5911, 1092, 0, 0, 0, 0, 0}, {1100, 48, 1856, 4112, 0, 0, 0}, {4471, 4949, 21845, 0, 0, 0, 0}, {286, 48, 530, 324, 1280, 4096, 0}, {5087, 7007, 8224, 17408, 0, 0, 0}, {3072, 4896, 1088, 0, 0, 0, 0}, {1295, 546, 1365, 4369, 0, 0, 0}, {4424, 4386, 4864, 5376, 0, 0, 0}, {5228, 4883, 20560, 0, 0, 0, 0}, {4972, 17476, 0, 0, 0, 0, 0}, {48, 4608, 277, 0, 0, 0, 0}, {4940, 4454, 21760, 0, 0, 0, 0}, {5144, 48, 5911, 4176, 0, 0, 0}, {1096, 4960, 16384, 0, 0, 0, 0}, {1295, 4403, 5654, 1365, 0, 0, 0}, {1066, 1536, 1088, 4352, 0, 0, 0}, {4963, 5140, 0, 0, 0, 0, 0}, {19532, 22304, 0, 0, 0, 0, 0}, {1042, 1365, 4096, 0, 0, 0, 0}, {2560, 546, 4420, 0, 0, 0, 0}, {783, 48, 1088, 4112, 0, 0, 0}, {240, 4864, 5120, 0, 0, 0, 0}, {106, 514, 1028, 4369, 0, 0, 0}, {1290, 4386, 514, 1360, 0, 0, 0}, {1036, 4915, 16384, 0, 0, 0, 0}, {780, 48, 4160, 1028, 0, 0, 0}, {522, 8704, 4437, 0, 0, 0, 0}, {262, 4176, 5376, 0, 0, 0, 0}, {4991, 30583, 0, 0, 0, 0, 0}, {1800, 4976, 20480, 0, 0, 0, 0}, {1036, 4403, 1542, 5461, 0, 0, 0}, {1290, 1792, 1360, 4352, 0, 0, 0}, {4979, 1028, 0, 0, 0, 0, 0}, {1036, 48, 1792, 4096, 0, 0, 0}, {4471, 514, 21845, 0, 0, 0, 0}, {270, 48, 514, 340, 1028, 4112, 0}, {5119, 2048, 8192, 17408, 0, 0, 0}, {15360, 20480, 0, 0, 0, 0, 0}, {34, 21, 257, 0, 0, 0, 0}, {5122, 17408, 0, 0, 0, 0, 0}, {20495, 20528, 771, 0, 0, 0, 0}, {8, 64, 1028, 4096, 0, 0, 0}, {13056, 85, 1285, 0, 0, 0, 0}, {20490, 20576, 1542, 0, 0, 0, 0}, {5127, 17408, 0, 0, 0, 0, 0}, {8, 8192, 5120, 0, 0, 0, 0}, {63, 771, 85, 1285, 0, 0, 0}, {20490, 26112, 0, 0, 0, 0, 0}, {4103, 64, 1028, 0, 0, 0, 0}, {192, 3084, 12288, 20480, 0, 0, 0}, {8, 34, 514, 85, 1285, 4352, 0}, {4098, 64, 1028, 0, 0, 0, 0}, {20495, 13056, 0, 0, 0, 0, 0}, {3072, 64, 4112, 0, 0, 0, 0}, {34, 85, 1280, 4369, 0, 0, 0}, {5138, 17408, 0, 0, 0, 0, 0}, {20575, 20512, 4883, 0, 0, 0, 0}, {136, 5140, 0, 0, 0, 0, 0}, {768, 21, 4096, 0, 0, 0, 0}, {20570, 20592, 5654, 0, 0, 0, 0}, {5143, 17408, 0, 0, 0, 0, 0}, {5144, 12336, 5200, 0, 0, 0, 0}, {4889, 4915, 85, 1280, 0, 0, 0}, {4122, 4144, 1536, 64, 0, 0, 0}, {5147, 119, 17476, 0, 0, 0, 0}, {128, 7196, 8224, 20560, 0, 0, 0}, {29, 34, 768, 85, 1280, 4352, 0}, {5150, 34, 17476, 0, 0, 0, 0}, {4127, 4128, 768, 64, 0, 0, 0}, {19456, 20512, 0, 0, 0, 0, 0}, {1298, 85, 4369, 0, 0, 0, 0}, {34, 5120, 0, 0, 0, 0, 0}, {63, 771, 64, 4112, 0, 0, 0}, {72, 5156, 17476, 0, 0, 0, 0}, {1295, 1317, 4864, 85, 0, 0, 0}, {1548, 1574, 64, 4096, 0, 0, 0}, {3855, 5159, 5200, 0, 0, 0, 0}, {5160, 17408, 0, 0, 0, 0, 0}, {4144, 771, 21, 0, 0, 0, 0}, {42, 5632, 20480, 0, 0, 0, 0}, {72, 119, 771, 5140, 0, 0, 0}, {3084, 4128, 64, 0, 0, 0, 0}, {1295, 34, 85, 4352, 0, 0, 0}, {5132, 34, 4608, 5188, 0, 0, 0}, {4959, 4896, 20560, 0, 0, 0, 0}, {3072, 20528, 0, 0, 0, 0, 0}, {1282, 85, 4369, 0, 0, 0, 0}, {8, 34, 514, 64, 1024, 4112, 0}, {255, 3840, 13107, 20480, 0, 0, 0}, {8, 5172, 17476, 0, 0, 0, 0}, {1290, 1333, 768, 85, 0, 0, 0}, {170, 2570, 13878, 20560, 0, 0, 0}, {8, 55, 768, 64, 1024, 4096, 0}, {8, 4144, 64, 1024, 0, 0, 0}, {1290, 13107, 85, 0, 0, 0, 0}, {1546, 1632, 20560, 0, 0, 0, 0}, {8, 5171, 1792, 5188, 0, 0, 0}, {20720, 15420, 0, 0, 0, 0, 0}, {258, 21, 4352, 0, 0, 0, 0}, {8, 34, 514, 5140, 0, 0, 0}, {63, 768, 20480, 0, 0, 0, 0}, {3072, 64, 4096, 0, 0, 0, 0}, {34, 85, 1285, 4369, 0, 0, 0}, {5186, 17408, 0, 0, 0, 0, 0}, {20495, 20592, 17219, 0, 0, 0, 0}, {10240, 5188, 0, 0, 0, 0, 0}, {816, 21, 4112, 0, 0, 0, 0}, {20490, 20512, 17990, 0, 0, 0, 0}, {5191, 17408, 0, 0, 0, 0, 0}, {72, 12288, 5120, 0, 0, 0, 0}, {42, 4883, 85, 1285, 0, 0, 0}, {4106, 4128, 5632, 64, 0, 0, 0}, {5195, 119, 17476, 0, 0, 0, 0}, {128, 7244, 8192, 20480, 0, 0, 0}, {29, 34, 786, 85, 1285, 4352, 0}, {5198, 34, 17476, 0, 0, 0, 0}, {4111, 4144, 4864, 64, 0, 0, 0}, {15600, 20560, 0, 0, 0, 0, 0}, {512, 260, 273, 0, 0, 0, 0}, {5202, 17408, 0, 0, 0, 0, 0}, {20575, 20576, 21331, 0, 0, 0, 0}, {8, 64, 1028, 4112, 0, 0, 0}, {13056, 85, 1280, 0, 0, 0, 0}, {20570, 20528, 22102, 0, 0, 0, 0}, {5207, 17408, 0, 0, 0, 0, 0}, {8, 8224, 5200, 0, 0, 0, 0}, {780, 819, 85, 1280, 0, 0, 0}, {20570, 26112, 0, 0, 0, 0, 0}, {4119, 64, 1028, 0, 0, 0, 0}, {192, 3084, 12336, 20560, 0, 0, 0}, {8, 34, 512, 85, 1280, 4352, 0}, {4114, 64, 1028, 0, 0, 0, 0}, {20575, 13056, 0, 0, 0, 0, 0}, {3072, 20576, 0, 0, 0, 0, 0}, {1287, 85, 4369, 0, 0, 0, 0}, {8, 34, 512, 64, 1024, 4096, 0}, {255, 3855, 13107, 20560, 0, 0, 0}, {8, 5220, 17476, 0, 0, 0, 0}, {1295, 1328, 1536, 85, 0, 0, 0}, {170, 2560, 13926, 20480, 0, 0, 0}, {8, 55, 775, 64, 1024, 4112, 0}, {8, 4128, 64, 1024, 0, 0, 0}, {1295, 13107, 85, 0, 0, 0, 0}, {106, 1536, 20480, 0, 0, 0, 0}, {8, 119, 4883, 5140, 0, 0, 0}, {20640, 27756, 0, 0, 0, 0, 0}, {274, 21, 4352, 0, 0, 0, 0}, {8, 34, 512, 5188, 0, 0, 0}, {783, 816, 20560, 0, 0, 0, 0}, {19456, 20592, 0, 0, 0, 0, 0}, {1303, 85, 4369, 0, 0, 0, 0}, {2570, 34, 5200, 0, 0, 0, 0}, {780, 819, 64, 4096, 0, 0, 0}, {72, 5236, 17476, 0, 0, 0, 0}, {1290, 1312, 5632, 85, 0, 0, 0}, {42, 1542, 64, 4112, 0, 0, 0}, {119, 5120, 0, 0, 0, 0, 0}, {5240, 17408, 0, 0, 0, 0, 0}, {4128, 4883, 21, 0, 0, 0, 0}, {5722, 5744, 20560, 0, 0, 0, 0}, {5132, 5171, 5888, 5188, 0, 0, 0}, {3084, 4144, 64, 0, 0, 0, 0}, {1290, 34, 85, 4352, 0, 0, 0}, {72, 34, 4626, 5140, 0, 0, 0}, {127, 4864, 20480, 0, 0, 0, 0}, {128, 7168, 8192, 20480, 0, 0, 0}, {29, 34, 771, 85, 1285, 4369, 0}, {5130, 34, 17408, 0, 0, 0, 0}, {4111, 4144, 771, 64, 0, 0, 0}, {5132, 12288, 5188, 0, 0, 0, 0}, {4874, 4896, 85, 1285, 0, 0, 0}, {4106, 4128, 1542, 64, 0, 0, 0}, {5135, 119, 17408, 0, 0, 0, 0}, {136, 5120, 0, 0, 0, 0, 0}, {771, 21, 4112, 0, 0, 0, 0}, {20490, 20512, 5632, 0, 0, 0, 0}, {5123, 17476, 0, 0, 0, 0, 0}, {3084, 64, 4096, 0, 0, 0, 0}, {34, 85, 1285, 4352, 0, 0, 0}, {5126, 17476, 0, 0, 0, 0, 0}, {20495, 20592, 4864, 0, 0, 0, 0}, {192, 3072, 12336, 20560, 0, 0, 0}, {8, 34, 512, 85, 1280, 4369, 0}, {4114, 64, 1024, 0, 0, 0, 0}, {20575, 13107, 0, 0, 0, 0, 0}, {8, 8224, 5140, 0, 0, 0, 0}, {63, 768, 85, 1280, 0, 0, 0}, {20570, 26214, 0, 0, 0, 0, 0}, {4119, 64, 1024, 0, 0, 0, 0}, {8, 64, 1024, 4112, 0, 0, 0}, {13107, 85, 1280, 0, 0, 0, 0}, {20570, 20528, 1536, 0, 0, 0, 0}, {5139, 17476, 0, 0, 0, 0, 0}, {15420, 20560, 0, 0, 0, 0, 0}, {34, 21, 256, 0, 0, 0, 0}, {5142, 17476, 0, 0, 0, 0, 0}, {20575, 20576, 768, 0, 0, 0, 0}, {20640, 15360, 0, 0, 0, 0, 0}, {259, 21, 4369, 0, 0, 0, 0}, {8, 34, 512, 5120, 0, 0, 0}, {63, 771, 20560, 0, 0, 0, 0}, {8, 4128, 64, 1028, 0, 0, 0}, {1295, 13056, 85, 0, 0, 0, 0}, {1548, 1638, 20480, 0, 0, 0, 0}, {8, 5159, 1799, 5200, 0, 0, 0}, {8, 5152, 17408, 0, 0, 0, 0}, {1295, 1328, 771, 85, 0, 0, 0}, {170, 2560, 13824, 20480, 0, 0, 0}, {8, 55, 771, 64, 1028, 4112, 0}, {3084, 20576, 0, 0, 0, 0, 0}, {1287, 85, 4352, 0, 0, 0, 0}, {8, 34, 512, 64, 1028, 4096, 0}, {255, 3855, 13056, 20560, 0, 0, 0}, {3072, 4144, 64, 0, 0, 0, 0}, {1290, 34, 85, 4369, 0, 0, 0}, {5144, 34, 4626, 5200, 0, 0, 0}, {4940, 4915, 20480, 0, 0, 0, 0}, {5180, 17476, 0, 0, 0, 0, 0}, {4128, 768, 21, 0, 0, 0, 0}, {42, 5654, 20560, 0, 0, 0, 0}, {72, 119, 768, 5120, 0, 0, 0}, {72, 5168, 17408, 0, 0, 0, 0}, {1290, 1312, 4883, 85, 0, 0, 0}, {1546, 1568, 64, 4112, 0, 0, 0}, {3840, 5171, 5188, 0, 0, 0, 0}, {19532, 20592, 0, 0, 0, 0, 0}, {1303, 85, 4352, 0, 0, 0, 0}, {34, 5140, 0, 0, 0, 0, 0}, {63, 768, 64, 4096, 0, 0, 0}, {192, 3072, 12288, 20480, 0, 0, 0}, {8, 34, 514, 85, 1285, 4369, 0}, {4098, 64, 1024, 0, 0, 0, 0}, {20495, 13107, 0, 0, 0, 0, 0}, {8, 8192, 5188, 0, 0, 0, 0}, {783, 816, 85, 1285, 0, 0, 0}, {20490, 26214, 0, 0, 0, 0, 0}, {4103, 64, 1024, 0, 0, 0, 0}, {8, 64, 1024, 4096, 0, 0, 0}, {13107, 85, 1285, 0, 0, 0, 0}, {20490, 20576, 22016, 0, 0, 0, 0}, {5187, 17476, 0, 0, 0, 0, 0}, {15564, 20480, 0, 0, 0, 0, 0}, {514, 261, 272, 0, 0, 0, 0}, {5190, 17476, 0, 0, 0, 0, 0}, {20495, 20528, 21248, 0, 0, 0, 0}, {128, 7248, 8224, 20560, 0, 0, 0}, {29, 34, 785, 85, 1280, 4369, 0}, {5210, 34, 17408, 0, 0, 0, 0}, {4127, 4128, 4883, 64, 0, 0, 0}, {72, 12336, 5140, 0, 0, 0, 0}, {42, 4864, 85, 1280, 0, 0, 0}, {4122, 4144, 5654, 64, 0, 0, 0}, {5215, 119, 17408, 0, 0, 0, 0}, {10280, 5200, 0, 0, 0, 0, 0}, {819, 21, 4096, 0, 0, 0, 0}, {20570, 20592, 17920, 0, 0, 0, 0}, {5203, 17476, 0, 0, 0, 0, 0}, {3084, 64, 4112, 0, 0, 0, 0}, {34, 85, 1280, 4352, 0, 0, 0}, {5206, 17476, 0, 0, 0, 0, 0}, {20575, 20512, 17152, 0, 0, 0, 0}, {3072, 4128, 64, 0, 0, 0, 0}, {1295, 34, 85, 4369, 0, 0, 0}, {72, 34, 4608, 5120, 0, 0, 0}, {127, 4883, 20560, 0, 0, 0, 0}, {5228, 17476, 0, 0, 0, 0, 0}, {4144, 4864, 21, 0, 0, 0, 0}, {5708, 5734, 20480, 0, 0, 0, 0}, {5144, 5159, 5911, 5200, 0, 0, 0}, {72, 5216, 17408, 0, 0, 0, 0}, {1295, 1317, 5654, 85, 0, 0, 0}, {42, 1536, 64, 4096, 0, 0, 0}, {119, 5140, 0, 0, 0, 0, 0}, {19532, 20512, 0, 0, 0, 0, 0}, {1298, 85, 4352, 0, 0, 0, 0}, {2560, 34, 5188, 0, 0, 0, 0}, {783, 816, 64, 4112, 0, 0, 0}, {20720, 27648, 0, 0, 0, 0, 0}, {275, 21, 4369, 0, 0, 0, 0}, {8, 34, 514, 5200, 0, 0, 0}, {780, 819, 20480, 0, 0, 0, 0}, {8, 4144, 64, 1028, 0, 0, 0}, {1290, 13056, 85, 0, 0, 0, 0}, {106, 1542, 20560, 0, 0, 0, 0}, {8, 119, 4864, 5120, 0, 0, 0}, {8, 5232, 17408, 0, 0, 0, 0}, {1290, 1333, 1542, 85, 0, 0, 0}, {170, 2570, 13904, 20560, 0, 0, 0}, {8, 55, 772, 64, 1028, 4096, 0}, {3084, 20528, 0, 0, 0, 0, 0}, {1282, 85, 4352, 0, 0, 0, 0}, {8, 34, 514, 64, 1028, 4112, 0}, {255, 3840, 13056, 20480, 0, 0, 0}, {8704, 5376, 0, 0, 0, 0, 0}, {60, 80, 257, 0, 0, 0, 0}, {21770, 16416, 514, 0, 0, 0, 0}, {5379, 17408, 0, 0, 0, 0, 0}, {13056, 4420, 1028, 0, 0, 0, 0}, {522, 80, 1285, 4096, 0, 0, 0}, {5382, 17408, 0, 0, 0, 0, 0}, {21775, 16496, 1799, 0, 0, 0, 0}, {14088, 21760, 0, 0, 0, 0, 0}, {4144, 771, 4357, 0, 0, 0, 0}, {5386, 5888, 16384, 0, 0, 0, 0}, {4427, 4471, 771, 1028, 0, 0, 0}, {1036, 4352, 0, 0, 0, 0, 0}, {4128, 514, 80, 1285, 0, 0, 0}, {4430, 4386, 514, 1028, 0, 0, 0}, {5391, 4608, 16384, 0, 0, 0, 0}, {544, 80, 1280, 4112, 0, 0, 0}, {3072, 1092, 4369, 0, 0, 0, 0}, {21850, 16432, 4626, 0, 0, 0, 0}, {5395, 17408, 0, 0, 0, 0, 0}, {768, 276, 4096, 0, 0, 0, 0}, {8874, 5397, 0, 0, 0, 0, 0}, {5398, 17408, 0, 0, 0, 0, 0}, {21855, 16480, 5911, 0, 0, 0, 0}, {4632, 4144, 80, 1280, 0, 0, 0}, {5401, 13107, 4437, 0, 0, 0, 0}, {5402, 1904, 16448, 0, 0, 0, 0}, {4379, 5427, 1536, 1092, 0, 0, 0}, {284, 288, 768, 80, 1280, 4352, 0}, {5525, 7453, 8738, 21845, 0, 0, 0}, {4382, 4386, 768, 1092, 0, 0, 0}, {5407, 544, 16448, 0, 0, 0, 0}, {5408, 5888, 21760, 0, 0, 0, 0}, {1096, 1140, 771, 4369, 0, 0, 0}, {5546, 7458, 8738, 16384, 0, 0, 0}, {287, 291, 771, 80, 1040, 4112, 0}, {5388, 1060, 4864, 4420, 0, 0, 0}, {4698, 5413, 21845, 0, 0, 0, 0}, {3084, 5414, 1088, 0, 0, 0, 0}, {1295, 1831, 80, 4096, 0, 0, 0}, {552, 8192, 5376, 0, 0, 0, 0}, {60, 771, 4437, 5397, 0, 0, 0}, {5418, 30464, 0, 0, 0, 0, 0}, {279, 80, 5140, 0, 0, 0, 0}, {1548, 544, 1088, 4352, 0, 0, 0}, {3855, 4642, 5461, 0, 0, 0, 0}, {1096, 4386, 17476, 0, 0, 0, 0}, {1295, 4128, 4608, 80, 0, 0, 0}, {5424, 1792, 21760, 0, 0, 0, 0}, {1032, 1124, 514, 4369, 0, 0, 0}, {1290, 514, 80, 4112, 0, 0, 0}, {4403, 1024, 0, 0, 0, 0, 0}, {1032, 1076, 768, 4420, 0, 0, 0}, {522, 5429, 21845, 0, 0, 0, 0}, {266, 310, 768, 80, 1024, 4096, 0}, {5567, 2056, 14135, 16448, 0, 0, 0}, {1800, 12336, 5440, 0, 0, 0, 0}, {522, 4915, 4437, 1024, 0, 0, 0}, {1290, 4144, 1792, 80, 0, 0, 0}, {1032, 4471, 17476, 0, 0, 0, 0}, {60, 768, 1024, 4352, 0, 0, 0}, {160, 514, 5397, 0, 0, 0, 0}, {258, 80, 5140, 0, 0, 0, 0}, {5439, 8704, 0, 0, 0, 0, 0}, {8704, 5440, 0, 0, 0, 0, 0}, {783, 1285, 273, 0, 0, 0, 0}, {21770, 16480, 16962, 0, 0, 0, 0}, {5443, 17408, 0, 0, 0, 0, 0}, {13056, 4420, 5376, 0, 0, 0, 0}, {554, 80, 1285, 4112, 0, 0, 0}, {5446, 17408, 0, 0, 0, 0, 0}, {21775, 16432, 18247, 0, 0, 0, 0}, {14152, 21760, 0, 0, 0, 0, 0}, {4128, 4883, 4357, 0, 0, 0, 0}, {5450, 5984, 16448, 0, 0, 0, 0}, {5391, 5427, 5632, 1092, 0, 0, 0}, {1100, 4352, 0, 0, 0, 0, 0}, {4144, 4626, 80, 1285, 0, 0, 0}, {5386, 4386, 4864, 1092, 0, 0, 0}, {5455, 4656, 16448, 0, 0, 0, 0}, {512, 80, 1280, 4096, 0, 0, 0}, {204, 1028, 4369, 0, 0, 0, 0}, {21850, 16496, 21074, 0, 0, 0, 0}, {5459, 17408, 0, 0, 0, 0, 0}, {816, 260, 4112, 0, 0, 0, 0}, {2048, 5461, 0, 0, 0, 0, 0}, {5462, 17408, 0, 0, 0, 0, 0}, {21855, 16416, 22359, 0, 0, 0, 0}, {520, 4128, 80, 1280, 0, 0, 0}, {1036, 13107, 4437, 0, 0, 0, 0}, {5466, 1792, 16384, 0, 0, 0, 0}, {4379, 4471, 4883, 1028, 0, 0, 0}, {268, 304, 512, 80, 1280, 4352, 0}, {5589, 2056, 8738, 21845, 0, 0, 0}, {4382, 4386, 4626, 1028, 0, 0, 0}, {5471, 512, 16384, 0, 0, 0, 0}, {5472, 512, 21760, 0, 0, 0, 0}, {1032, 1076, 1799, 4369, 0, 0, 0}, {5610, 2056, 8738, 16448, 0, 0, 0}, {271, 307, 512, 80, 1024, 4096, 0}, {1032, 5408, 1536, 4420, 0, 0, 0}, {1807, 5477, 21845, 0, 0, 0, 0}, {4454, 1024, 0, 0, 0, 0, 0}, {1295, 1799, 80, 4112, 0, 0, 0}, {520, 8224, 5440, 0, 0, 0, 0}, {783, 819, 4437, 1024, 0, 0, 0}, {5482, 30464, 0, 0, 0, 0, 0}, {263, 80, 5140, 0, 0, 0, 0}, {108, 512, 1024, 4352, 0, 0, 0}, {240, 4626, 5397, 0, 0, 0, 0}, {1032, 4386, 17476, 0, 0, 0, 0}, {1295, 4144, 512, 80, 0, 0, 0}, {5488, 4608, 21760, 0, 0, 0, 0}, {1096, 1060, 1542, 4369, 0, 0, 0}, {1290, 546, 80, 4096, 0, 0, 0}, {3084, 4403, 1088, 0, 0, 0, 0}, {5388, 5424, 5632, 4420, 0, 0, 0}, {5983, 5493, 21845, 0, 0, 0, 0}, {282, 294, 534, 80, 1040, 4112, 0}, {5631, 7543, 14199, 16384, 0, 0, 0}, {4728, 12288, 5376, 0, 0, 0, 0}, {4409, 4883, 4437, 5397, 0, 0, 0}, {1290, 4128, 5888, 80, 0, 0, 0}, {1096, 4471, 17476, 0, 0, 0, 0}, {780, 816, 1088, 4352, 0, 0, 0}, {2570, 546, 5461, 0, 0, 0, 0}, {274, 80, 5140, 0, 0, 0, 0}, {5503, 8704, 0, 0, 0, 0, 0}, {5504, 7424, 8704, 21760, 0, 0, 0}, {285, 289, 771, 80, 1285, 4369, 0}, {5386, 546, 16384, 0, 0, 0, 0}, {4367, 4403, 771, 1088, 0, 0, 0}, {5388, 13056, 4420, 0, 0, 0, 0}, {4618, 4128, 80, 1285, 0, 0, 0}, {4362, 5414, 1542, 1088, 0, 0, 0}, {5391, 1911, 16384, 0, 0, 0, 0}, {8840, 5376, 0, 0, 0, 0, 0}, {771, 277, 4112, 0, 0, 0, 0}, {21770, 16416, 5888, 0, 0, 0, 0}, {5379, 17476, 0, 0, 0, 0, 0}, {3084, 1088, 4352, 0, 0, 0, 0}, {546, 80, 1285, 4096, 0, 0, 0}, {5382, 17476, 0, 0, 0, 0, 0}, {21775, 16496, 4608, 0, 0, 0, 0}, {4144, 512, 80, 1280, 0, 0, 0}, {1032, 4369, 0, 0, 0, 0, 0}, {5402, 4626, 16448, 0, 0, 0, 0}, {4447, 4403, 512, 1024, 0, 0, 0}, {4128, 768, 4372, 0, 0, 0, 0}, {14143, 21845, 0, 0, 0, 0, 0}, {4442, 4454, 768, 1024, 0, 0, 0}, {5407, 5911, 16448, 0, 0, 0, 0}, {520, 80, 1280, 4112, 0, 0, 0}, {13107, 4437, 1024, 0, 0, 0, 0}, {21850, 16432, 1792, 0, 0, 0, 0}, {5395, 17476, 0, 0, 0, 0, 0}, {60, 80, 256, 0, 0, 0, 0}, {8738, 5397, 0, 0, 0, 0, 0}, {5398, 17476, 0, 0, 0, 0, 0}, {21855, 16480, 512, 0, 0, 0, 0}, {160, 512, 5376, 0, 0, 0, 0}, {60, 771, 1028, 4369, 0, 0, 0}, {5418, 8738, 0, 0, 0, 0, 0}, {259, 80, 5120, 0, 0, 0, 0}, {520, 4896, 4420, 1028, 0, 0, 0}, {1807, 12288, 5461, 0, 0, 0, 0}, {1036, 4454, 17408, 0, 0, 0, 0}, {1295, 4128, 1799, 80, 0, 0, 0}, {520, 5408, 21760, 0, 0, 0, 0}, {1036, 1072, 771, 4437, 0, 0, 0}, {5546, 2048, 14080, 16384, 0, 0, 0}, {267, 311, 771, 80, 1028, 4112, 0}, {1036, 1120, 512, 4352, 0, 0, 0}, {5413, 1799, 21845, 0, 0, 0, 0}, {4386, 1028, 0, 0, 0, 0, 0}, {1295, 512, 80, 4096, 0, 0, 0}, {3840, 4656, 5440, 0, 0, 0, 0}, {1546, 546, 1092, 4369, 0, 0, 0}, {1290, 4144, 4626, 80, 0, 0, 0}, {1100, 4403, 17408, 0, 0, 0, 0}, {60, 768, 4420, 5376, 0, 0, 0}, {554, 8224, 5397, 0, 0, 0, 0}, {278, 80, 5120, 0, 0, 0, 0}, {5439, 30583, 0, 0, 0, 0, 0}, {4680, 5424, 21760, 0, 0, 0, 0}, {5401, 1056, 4883, 4437, 0, 0, 0}, {1290, 1824, 80, 4112, 0, 0, 0}, {3072, 5427, 1092, 0, 0, 0, 0}, {1100, 1136, 768, 4352, 0, 0, 0}, {5429, 5911, 21845, 0, 0, 0, 0}, {286, 290, 768, 80, 1044, 4096, 0}, {5567, 7487, 8704, 16448, 0, 0, 0}, {5568, 2048, 8704, 21760, 0, 0, 0}, {269, 305, 514, 80, 1285, 4369, 0}, {5450, 514, 16448, 0, 0, 0, 0}, {4367, 4403, 4608, 1024, 0, 0, 0}, {1032, 13056, 4420, 0, 0, 0, 0}, {522, 4144, 80, 1285, 0, 0, 0}, {4362, 4454, 4864, 1024, 0, 0, 0}, {5455, 1799, 16448, 0, 0, 0, 0}, {2056, 5440, 0, 0, 0, 0, 0}, {819, 261, 4096, 0, 0, 0, 0}, {21770, 16480, 22272, 0, 0, 0, 0}, {5443, 17476, 0, 0, 0, 0, 0}, {204, 1024, 4352, 0, 0, 0, 0}, {514, 80, 1285, 4112, 0, 0, 0}, {5446, 17476, 0, 0, 0, 0, 0}, {21775, 16432, 20992, 0, 0, 0, 0}, {4128, 4608, 80, 1280, 0, 0, 0}, {1096, 4369, 0, 0, 0, 0, 0}, {5466, 4642, 16384, 0, 0, 0, 0}, {5407, 4403, 4883, 1088, 0, 0, 0}, {4144, 4864, 4372, 0, 0, 0, 0}, {14207, 21845, 0, 0, 0, 0, 0}, {5402, 5414, 5654, 1088, 0, 0, 0}, {5471, 6007, 16384, 0, 0, 0, 0}, {552, 80, 1280, 4096, 0, 0, 0}, {13107, 4437, 5397, 0, 0, 0, 0}, {21850, 16496, 18176, 0, 0, 0, 0}, {5459, 17476, 0, 0, 0, 0, 0}, {780, 1280, 272, 0, 0, 0, 0}, {8738, 5461, 0, 0, 0, 0, 0}, {5462, 17476, 0, 0, 0, 0, 0}, {21855, 16416, 16896, 0, 0, 0, 0}, {2560, 544, 5440, 0, 0, 0, 0}, {783, 819, 1092, 4369, 0, 0, 0}, {5482, 8738, 0, 0, 0, 0, 0}, {275, 80, 5120, 0, 0, 0, 0}, {4392, 4864, 4420, 5376, 0, 0, 0}, {4714, 12336, 5397, 0, 0, 0, 0}, {1100, 4454, 17408, 0, 0, 0, 0}, {1295, 4144, 5911, 80, 0, 0, 0}, {5960, 5472, 21760, 0, 0, 0, 0}, {5401, 5413, 5654, 4437, 0, 0, 0}, {5610, 7530, 14144, 16448, 0, 0, 0}, {283, 295, 532, 80, 1044, 4096, 0}, {1100, 1056, 1536, 4352, 0, 0, 0}, {5477, 4626, 21845, 0, 0, 0, 0}, {3072, 4386, 1092, 0, 0, 0, 0}, {1295, 544, 80, 4112, 0, 0, 0}, {240, 4608, 5376, 0, 0, 0, 0}, {108, 514, 1028, 4369, 0, 0, 0}, {1290, 4128, 514, 80, 0, 0, 0}, {1036, 4403, 17408, 0, 0, 0, 0}, {780, 816, 4420, 1028, 0, 0, 0}, {522, 8192, 5461, 0, 0, 0, 0}, {262, 80, 5120, 0, 0, 0, 0}, {5503, 30583, 0, 0, 0, 0, 0}, {1800, 5488, 21760, 0, 0, 0, 0}, {1036, 5429, 1542, 4437, 0, 0, 0}, {1290, 1792, 80, 4096, 0, 0, 0}, {4471, 1028, 0, 0, 0, 0, 0}, {1036, 1072, 1792, 4352, 0, 0, 0}, {5493, 514, 21845, 0, 0, 0, 0}, {270, 306, 514, 80, 1028, 4112, 0}, {5631, 2048, 8704, 16384, 0, 0, 0}, {5632, 17408, 0, 0, 0, 0, 0}, {95, 96, 257, 0, 0, 0, 0}, {5160, 514, 20480, 0, 0, 0, 0}, {4364, 4403, 771, 5376, 0, 0, 0}, {4680, 12288, 1028, 0, 0, 0, 0}, {4362, 4864, 4437, 1285, 0, 0, 0}, {1036, 96, 1542, 4096, 0, 0, 0}, {4471, 1799, 21760, 0, 0, 0, 0}, {21000, 26112, 0, 0, 0, 0, 0}, {4358, 4176, 1285, 0, 0, 0, 0}, {522, 8192, 5120, 0, 0, 0, 0}, {63, 771, 4420, 1028, 0, 0, 0}, {1036, 4608, 16384, 0, 0, 0, 0}, {95, 4386, 514, 1285, 0, 0, 0}, {4128, 514, 4160, 1028, 0, 0, 0}, {1807, 4352, 0, 0, 0, 0, 0}, {1056, 1536, 1088, 4112, 0, 0, 0}, {3840, 1911, 4369, 0, 0, 0, 0}, {1096, 4626, 16384, 0, 0, 0, 0}, {95, 4403, 4883, 1280, 0, 0, 0}, {552, 8192, 5140, 0, 0, 0, 0}, {63, 768, 4437, 5397, 0, 0, 0}, {17612, 5654, 0, 0, 0, 0, 0}, {279, 1280, 4096, 0, 0, 0, 0}, {5144, 4144, 1536, 4176, 0, 0, 0}, {5657, 4454, 21845, 0, 0, 0, 0}, {5658, 12336, 1088, 0, 0, 0, 0}, {4379, 4915, 4420, 1280, 0, 0, 0}, {5660, 544, 20560, 0, 0, 0, 0}, {4381, 4386, 768, 5461, 0, 0, 0}, {5782, 7710, 8738, 17476, 0, 0, 0}, {287, 288, 768, 320, 1280, 4352, 0}, {544, 5120, 0, 0, 0, 0, 0}, {63, 771, 1092, 4369, 0, 0, 0}, {19456, 21026, 0, 0, 0, 0, 0}, {1043, 1360, 4112, 0, 0, 0, 0}, {1548, 1060, 1092, 4096, 0, 0, 0}, {3855, 5669, 4437, 0, 0, 0, 0}, {1100, 5670, 16448, 0, 0, 0, 0}, {1295, 5159, 4864, 1360, 0, 0, 0}, {5160, 5632, 20480, 0, 0, 0, 0}, {4441, 4454, 771, 5397, 0, 0, 0}, {5674, 17408, 0, 0, 0, 0, 0}, {4144, 771, 276, 0, 0, 0, 0}, {5132, 4128, 4608, 4160, 0, 0, 0}, {5722, 4386, 21845, 0, 0, 0, 0}, {3084, 4642, 1092, 0, 0, 0, 0}, {1295, 544, 1360, 4352, 0, 0, 0}, {4656, 1024, 0, 0, 0, 0, 0}, {1290, 514, 1365, 4369, 0, 0, 0}, {1032, 96, 514, 4112, 0, 0, 0}, {4403, 1792, 21760, 0, 0, 0, 0}, {5820, 2056, 13364, 17476, 0, 0, 0}, {266, 309, 768, 341, 1024, 4096, 0}, {522, 5686, 20560, 0, 0, 0, 0}, {1032, 1079, 768, 5440, 0, 0, 0}, {1032, 5744, 16448, 0, 0, 0, 0}, {1290, 5171, 1792, 1365, 0, 0, 0}, {522, 4144, 4176, 1024, 0, 0, 0}, {1800, 13107, 4420, 0, 0, 0, 0}, {5692, 8704, 0, 0, 0, 0, 0}, {258, 4160, 5397, 0, 0, 0, 0}, {160, 514, 5140, 0, 0, 0, 0}, {63, 768, 1024, 4352, 0, 0, 0}, {4608, 1088, 0, 0, 0, 0, 0}, {95, 546, 1285, 4369, 0, 0, 0}, {1096, 96, 578, 4096, 0, 0, 0}, {4403, 5699, 21760, 0, 0, 0, 0}, {5836, 7748, 13380, 17476, 0, 0, 0}, {282, 293, 533, 325, 1285, 4112, 0}, {5228, 5702, 20480, 0, 0, 0, 0}, {4424, 4471, 4679, 5376, 0, 0, 0}, {1096, 5632, 16384, 0, 0, 0, 0}, {95, 4454, 4883, 1285, 0, 0, 0}, {4618, 4128, 4160, 5120, 0, 0, 0}, {5692, 13107, 4420, 0, 0, 0, 0}, {5708, 8704, 0, 0, 0, 0, 0}, {274, 4176, 1285, 0, 0, 0, 0}, {2570, 546, 5188, 0, 0, 0, 0}, {783, 816, 1088, 4352, 0, 0, 0}, {512, 5200, 0, 0, 0, 0, 0}, {780, 819, 1028, 4369, 0, 0, 0}, {17544, 21074, 0, 0, 0, 0, 0}, {339, 1280, 4096, 0, 0, 0, 0}, {520, 96, 1028, 4112, 0, 0, 0}, {1792, 4437, 0, 0, 0, 0, 0}, {1036, 5718, 16384, 0, 0, 0, 0}, {95, 4471, 599, 1280, 0, 0, 0}, {520, 5744, 20560, 0, 0, 0, 0}, {1036, 1075, 1792, 5461, 0, 0, 0}, {5722, 17408, 0, 0, 0, 0, 0}, {4128, 4883, 260, 0, 0, 0, 0}, {1036, 4144, 512, 4176, 0, 0, 0}, {1800, 4386, 21845, 0, 0, 0, 0}, {192, 4626, 1028, 0, 0, 0, 0}, {95, 512, 1280, 4352, 0, 0, 0}, {96, 512, 1024, 4096, 0, 0, 0}, {255, 1799, 4369, 0, 0, 0, 0}, {1032, 4642, 16448, 0, 0, 0, 0}, {1295, 4403, 512, 1360, 0, 0, 0}, {520, 8224, 5188, 0, 0, 0, 0}, {783, 816, 4437, 1024, 0, 0, 0}, {2048, 5734, 0, 0, 0, 0, 0}, {263, 1360, 4112, 0, 0, 0, 0}, {1032, 4128, 1536, 4160, 0, 0, 0}, {1807, 4454, 21845, 0, 0, 0, 0}, {4714, 12288, 1024, 0, 0, 0, 0}, {4379, 4883, 4420, 5140, 0, 0, 0}, {5228, 512, 20480, 0, 0, 0, 0}, {4381, 4386, 4626, 5397, 0, 0, 0}, {5862, 2056, 8738, 17476, 0, 0, 0}, {271, 304, 512, 336, 1024, 4352, 0}, {5744, 17408, 0, 0, 0, 0, 0}, {1290, 1542, 273, 0, 0, 0, 0}, {5722, 546, 20560, 0, 0, 0, 0}, {4364, 4403, 4608, 5440, 0, 0, 0}, {5692, 12336, 1092, 0, 0, 0, 0}, {4362, 4896, 4437, 5120, 0, 0, 0}, {1100, 96, 1542, 4112, 0, 0, 0}, {4471, 5632, 21760, 0, 0, 0, 0}, {21112, 26112, 0, 0, 0, 0, 0}, {4358, 4160, 5397, 0, 0, 0, 0}, {554, 8224, 5200, 0, 0, 0, 0}, {780, 819, 4420, 5376, 0, 0, 0}, {1100, 4656, 16448, 0, 0, 0, 0}, {1290, 4386, 4864, 1365, 0, 0, 0}, {4144, 4626, 4176, 5140, 0, 0, 0}, {1919, 4352, 0, 0, 0, 0, 0}, {5760, 7680, 8704, 17408, 0, 0, 0}, {286, 289, 771, 321, 1285, 4369, 0}, {5642, 546, 20480, 0, 0, 0, 0}, {4364, 4403, 771, 5440, 0, 0, 0}, {5644, 12288, 1092, 0, 0, 0, 0}, {4362, 4896, 4437, 1285, 0, 0, 0}, {5132, 4128, 1542, 4160, 0, 0, 0}, {5647, 4471, 21760, 0, 0, 0, 0}, {17544, 5632, 0, 0, 0, 0, 0}, {278, 1285, 4112, 0, 0, 0, 0}, {554, 8224, 5120, 0, 0, 0, 0}, {63, 771, 4420, 5376, 0, 0, 0}, {1100, 4608, 16448, 0, 0, 0, 0}, {95, 4386, 4864, 1285, 0, 0, 0}, {1060, 1542, 1092, 4096, 0, 0, 0}, {3855, 1904, 4352, 0, 0, 0, 0}, {4144, 512, 4176, 1024, 0, 0, 0}, {1800, 4369, 0, 0, 0, 0, 0}, {1032, 4626, 16448, 0, 0, 0, 0}, {95, 4403, 512, 1280, 0, 0, 0}, {520, 8224, 5140, 0, 0, 0, 0}, {63, 768, 4437, 1024, 0, 0, 0}, {21082, 26214, 0, 0, 0, 0, 0}, {4375, 4160, 1280, 0, 0, 0, 0}, {1032, 96, 1536, 4112, 0, 0, 0}, {4454, 1792, 21845, 0, 0, 0, 0}, {4698, 12336, 1024, 0, 0, 0, 0}, {4379, 4883, 4420, 1280, 0, 0, 0}, {5180, 512, 20560, 0, 0, 0, 0}, {4381, 4386, 768, 5397, 0, 0, 0}, {5654, 17476, 0, 0, 0, 0, 0}, {95, 96, 256, 0, 0, 0, 0}, {160, 512, 5120, 0, 0, 0, 0}, {63, 771, 1028, 4369, 0, 0, 0}, {5674, 8738, 0, 0, 0, 0, 0}, {259, 4176, 5376, 0, 0, 0, 0}, {520, 4128, 4160, 1028, 0, 0, 0}, {1807, 13056, 4437, 0, 0, 0, 0}, {1036, 5734, 16384, 0, 0, 0, 0}, {1295, 5159, 1799, 1360, 0, 0, 0}, {520, 5664, 20480, 0, 0, 0, 0}, {1036, 1075, 771, 5461, 0, 0, 0}, {5802, 2048, 13312, 17408, 0, 0, 0}, {267, 308, 771, 340, 1028, 4112, 0}, {1036, 96, 512, 4096, 0, 0, 0}, {4386, 1799, 21845, 0, 0, 0, 0}, {4642, 1028, 0, 0, 0, 0, 0}, {1295, 512, 1360, 4352, 0, 0, 0}, {3072, 4656, 1088, 0, 0, 0, 0}, {1290, 546, 1365, 4369, 0, 0, 0}, {5144, 4144, 4626, 4176, 0, 0, 0}, {5708, 4403, 21760, 0, 0, 0, 0}, {5692, 17476, 0, 0, 0, 0, 0}, {4128, 768, 277, 0, 0, 0, 0}, {5180, 5654, 20560, 0, 0, 0, 0}, {4424, 4471, 768, 5376, 0, 0, 0}, {1096, 5680, 16384, 0, 0, 0, 0}, {1290, 5171, 4883, 1365, 0, 0, 0}, {1546, 1056, 1088, 4112, 0, 0, 0}, {3840, 5683, 4420, 0, 0, 0, 0}, {19532, 21104, 0, 0, 0, 0, 0}, {1047, 1365, 4096, 0, 0, 0, 0}, {546, 5140, 0, 0, 0, 0, 0}, {63, 768, 1088, 4352, 0, 0, 0}, {192, 4608, 1024, 0, 0, 0, 0}, {95, 514, 1285, 4369, 0, 0, 0}, {1032, 4128, 514, 4160, 0, 0, 0}, {1807, 4403, 21760, 0, 0, 0, 0}, {5708, 17476, 0, 0, 0, 0, 0}, {4144, 4864, 261, 0, 0, 0, 0}, {522, 5734, 20480, 0, 0, 0, 0}, {1032, 1079, 1799, 5440, 0, 0, 0}, {1032, 5696, 16448, 0, 0, 0, 0}, {95, 4454, 597, 1285, 0, 0, 0}, {522, 96, 1024, 4096, 0, 0, 0}, {1799, 4420, 0, 0, 0, 0, 0}, {17612, 20992, 0, 0, 0, 0, 0}, {338, 1285, 4112, 0, 0, 0, 0}, {514, 5188, 0, 0, 0, 0, 0}, {783, 816, 1024, 4352, 0, 0, 0}, {2560, 544, 5200, 0, 0, 0, 0}, {780, 819, 1092, 4369, 0, 0, 0}, {5722, 8738, 0, 0, 0, 0, 0}, {275, 4160, 1280, 0, 0, 0, 0}, {4632, 4144, 4176, 5140, 0, 0, 0}, {5674, 13056, 4437, 0, 0, 0, 0}, {1100, 5654, 16448, 0, 0, 0, 0}, {95, 4471, 4864, 1280, 0, 0, 0}, {5240, 5712, 20560, 0, 0, 0, 0}, {4441, 4454, 4693, 5397, 0, 0, 0}, {5850, 7770, 13424, 17408, 0, 0, 0}, {283, 292, 535, 324, 1280, 4096, 0}, {1100, 96, 576, 4112, 0, 0, 0}, {4386, 5717, 21845, 0, 0, 0, 0}, {4626, 1092, 0, 0, 0, 0, 0}, {95, 544, 1280, 4352, 0, 0, 0}, {4128, 4608, 4160, 5120, 0, 0, 0}, {1912, 4369, 0, 0, 0, 0, 0}, {1096, 4642, 16384, 0, 0, 0, 0}, {1295, 4403, 4883, 1360, 0, 0, 0}, {552, 8192, 5188, 0, 0, 0, 0}, {783, 816, 4437, 5397, 0, 0, 0}, {21034, 26214, 0, 0, 0, 0, 0}, {4375, 4176, 5376, 0, 0, 0, 0}, {1096, 96, 1536, 4096, 0, 0, 0}, {4454, 5654, 21845, 0, 0, 0, 0}, {5674, 12288, 1088, 0, 0, 0, 0}, {4379, 4915, 4420, 5140, 0, 0, 0}, {5708, 544, 20480, 0, 0, 0, 0}, {4381, 4386, 4626, 5461, 0, 0, 0}, {5734, 17476, 0, 0, 0, 0, 0}, {1295, 1536, 272, 0, 0, 0, 0}, {5872, 2048, 8704, 17408, 0, 0, 0}, {270, 305, 514, 337, 1028, 4369, 0}, {5240, 514, 20560, 0, 0, 0, 0}, {4364, 4403, 4608, 5376, 0, 0, 0}, {4728, 12336, 1028, 0, 0, 0, 0}, {4362, 4864, 4437, 5120, 0, 0, 0}, {1036, 4144, 1542, 4176, 0, 0, 0}, {1800, 4471, 21760, 0, 0, 0, 0}, {2056, 5744, 0, 0, 0, 0, 0}, {262, 1365, 4096, 0, 0, 0, 0}, {522, 8192, 5200, 0, 0, 0, 0}, {780, 819, 4420, 1028, 0, 0, 0}, {1036, 4656, 16384, 0, 0, 0, 0}, {1290, 4386, 514, 1365, 0, 0, 0}, {96, 514, 1028, 4112, 0, 0, 0}, {255, 1792, 4352, 0, 0, 0, 0}, {24320, 24576, 0, 0, 0, 0, 0}, {22, 68, 257, 0, 0, 0, 0}, {8, 34, 514, 5376, 0, 0, 0}, {60, 771, 20480, 0, 0, 0, 0}, {8, 4864, 68, 1028, 0, 0, 0}, {90, 12288, 1285, 0, 0, 0, 0}, {102, 1542, 21760, 0, 0, 0, 0}, {8, 112, 1799, 4096, 0, 0, 0}, {8, 5888, 16384, 0, 0, 0, 0}, {90, 102, 771, 1285, 0, 0, 0}, {13578, 21760, 0, 0, 0, 0, 0}, {4144, 771, 4100, 0, 0, 0, 0}, {21260, 13056, 0, 0, 0, 0, 0}, {4098, 4176, 1285, 0, 0, 0, 0}, {8, 34, 514, 68, 1028, 4352, 0}, {240, 3855, 12288, 20480, 0, 0, 0}, {3840, 112, 4112, 0, 0, 0, 0}, {34, 1536, 68, 4369, 0, 0, 0}, {90, 34, 4626, 1280, 0, 0, 0}, {76, 4883, 16384, 0, 0, 0, 0}, {60, 768, 68, 5140, 0, 0, 0}, {42, 8192, 5397, 0, 0, 0, 0}, {22, 1280, 4096, 0, 0, 0, 0}, {136, 5911, 0, 0, 0, 0, 0}, {5912, 5984, 20560, 0, 0, 0, 0}, {5401, 5427, 1536, 5461, 0, 0, 0}, {4122, 4144, 4160, 1280, 0, 0, 0}, {5915, 13107, 68, 0, 0, 0, 0}, {4124, 4128, 768, 4176, 0, 0, 0}, {5917, 34, 21845, 0, 0, 0, 0}, {30, 34, 768, 68, 1280, 4352, 0}, {128, 7967, 8224, 16448, 0, 0, 0}, {128, 7968, 8224, 16384, 0, 0, 0}, {30, 34, 771, 68, 1297, 4369, 0}, {34, 5888, 21760, 0, 0, 0, 0}, {76, 112, 771, 4112, 0, 0, 0}, {3084, 5924, 68, 0, 0, 0, 0}, {1295, 1317, 1365, 4096, 0, 0, 0}, {5388, 5414, 4864, 5440, 0, 0, 0}, {5983, 5927, 20560, 0, 0, 0, 0}, {5928, 30464, 0, 0, 0, 0, 0}, {22, 4160, 5397, 0, 0, 0, 0}, {42, 8192, 5376, 0, 0, 0, 0}, {60, 771, 68, 5140, 0, 0, 0}, {76, 4896, 16448, 0, 0, 0, 0}, {1295, 34, 4608, 1365, 0, 0, 0}, {1548, 34, 68, 4352, 0, 0, 0}, {3855, 4128, 4176, 0, 0, 0, 0}, {240, 3840, 12336, 20480, 0, 0, 0}, {8, 34, 514, 68, 1024, 4369, 0}, {1282, 1360, 4112, 0, 0, 0, 0}, {3072, 21299, 0, 0, 0, 0, 0}, {8, 52, 768, 68, 1024, 4096, 0}, {170, 2570, 13621, 21845, 0, 0, 0}, {1290, 1334, 768, 1360, 0, 0, 0}, {8, 5943, 16448, 0, 0, 0, 0}, {8, 4144, 1792, 4160, 0, 0, 0}, {1546, 102, 21845, 0, 0, 0, 0}, {1290, 12336, 1360, 0, 0, 0, 0}, {8, 4915, 68, 1024, 0, 0, 0}, {60, 768, 20480, 0, 0, 0, 0}, {8, 34, 514, 5397, 0, 0, 0}, {258, 276, 4352, 0, 0, 0, 0}, {24768, 16191, 0, 0, 0, 0, 0}, {128, 8000, 8192, 16448, 0, 0, 0}, {30, 34, 785, 68, 1285, 4369, 0}, {34, 5954, 21760, 0, 0, 0, 0}, {76, 112, 835, 4096, 0, 0, 0}, {5888, 68, 0, 0, 0, 0, 0}, {90, 112, 1285, 4112, 0, 0, 0}, {76, 102, 4934, 5376, 0, 0, 0}, {120, 5959, 20480, 0, 0, 0, 0}, {5960, 30464, 0, 0, 0, 0, 0}, {22, 4176, 1285, 0, 0, 0, 0}, {42, 8224, 5440, 0, 0, 0, 0}, {783, 819, 68, 5120, 0, 0, 0}, {76, 4864, 16384, 0, 0, 0, 0}, {90, 34, 4626, 1285, 0, 0, 0}, {1546, 34, 68, 4352, 0, 0, 0}, {3855, 4144, 4160, 0, 0, 0, 0}, {240, 3840, 12288, 20560, 0, 0, 0}, {8, 34, 512, 68, 1028, 4369, 0}, {82, 1280, 4096, 0, 0, 0, 0}, {204, 21331, 0, 0, 0, 0, 0}, {8, 52, 772, 68, 1028, 4112, 0}, {170, 2560, 13653, 21845, 0, 0, 0}, {90, 102, 854, 1280, 0, 0, 0}, {8, 5975, 16384, 0, 0, 0, 0}, {8, 4128, 1792, 4176, 0, 0, 0}, {1548, 102, 21845, 0, 0, 0, 0}, {90, 12288, 1280, 0, 0, 0, 0}, {8, 4883, 68, 1028, 0, 0, 0}, {780, 816, 20560, 0, 0, 0, 0}, {8, 34, 512, 5461, 0, 0, 0}, {274, 260, 4352, 0, 0, 0, 0}, {24736, 24415, 0, 0, 0, 0, 0}, {24480, 24672, 0, 0, 0, 0, 0}, {263, 1024, 273, 0, 0, 0, 0}, {8, 34, 512, 5440, 0, 0, 0}, {783, 819, 20560, 0, 0, 0, 0}, {8, 4896, 68, 1024, 0, 0, 0}, {1295, 12336, 1365, 0, 0, 0, 0}, {102, 1536, 21760, 0, 0, 0, 0}, {8, 112, 1799, 4112, 0, 0, 0}, {8, 5984, 16448, 0, 0, 0, 0}, {1295, 1331, 1536, 1365, 0, 0, 0}, {13674, 21760, 0, 0, 0, 0, 0}, {4128, 4883, 4116, 0, 0, 0, 0}, {21356, 13056, 0, 0, 0, 0, 0}, {4114, 4160, 5397, 0, 0, 0, 0}, {8, 34, 512, 68, 1024, 4352, 0}, {240, 3855, 12336, 20560, 0, 0, 0}, {3840, 112, 4096, 0, 0, 0, 0}, {34, 1542, 68, 4369, 0, 0, 0}, {1290, 34, 4608, 1360, 0, 0, 0}, {76, 4915, 16448, 0, 0, 0, 0}, {780, 816, 68, 5120, 0, 0, 0}, {42, 8224, 5461, 0, 0, 0, 0}, {22, 1360, 4112, 0, 0, 0, 0}, {18432, 6007, 0, 0, 0, 0, 0}, {120, 5888, 20480, 0, 0, 0, 0}, {76, 102, 4883, 5397, 0, 0, 0}, {4106, 4128, 4176, 5376, 0, 0, 0}, {5951, 13107, 68, 0, 0, 0, 0}, {4108, 4144, 4864, 4160, 0, 0, 0}, {5983, 34, 21845, 0, 0, 0, 0}, {30, 34, 786, 68, 1300, 4352, 0}, {128, 8063, 8192, 16384, 0, 0, 0}, {128, 7936, 8192, 16384, 0, 0, 0}, {30, 34, 771, 68, 1285, 4369, 0}, {5898, 34, 21760, 0, 0, 0, 0}, {4108, 4144, 771, 4160, 0, 0, 0}, {5900, 13056, 68, 0, 0, 0, 0}, {4106, 4128, 4176, 1285, 0, 0, 0}, {5388, 5414, 1542, 5440, 0, 0, 0}, {5903, 6007, 20480, 0, 0, 0, 0}, {136, 5888, 0, 0, 0, 0, 0}, {22, 1285, 4112, 0, 0, 0, 0}, {42, 8224, 5376, 0, 0, 0, 0}, {60, 771, 68, 5120, 0, 0, 0}, {76, 4864, 16448, 0, 0, 0, 0}, {90, 34, 4608, 1285, 0, 0, 0}, {34, 1542, 68, 4352, 0, 0, 0}, {3855, 112, 4096, 0, 0, 0, 0}, {240, 3840, 12336, 20560, 0, 0, 0}, {8, 34, 512, 68, 1024, 4369, 0}, {4114, 4160, 1280, 0, 0, 0, 0}, {21343, 13107, 0, 0, 0, 0, 0}, {4128, 768, 4116, 0, 0, 0, 0}, {13631, 21845, 0, 0, 0, 0, 0}, {90, 102, 768, 1280, 0, 0, 0}, {8, 5911, 16448, 0, 0, 0, 0}, {8, 112, 1792, 4112, 0, 0, 0}, {102, 1536, 21845, 0, 0, 0, 0}, {90, 12336, 1280, 0, 0, 0, 0}, {8, 4883, 68, 1024, 0, 0, 0}, {60, 768, 20560, 0, 0, 0, 0}, {8, 34, 512, 5397, 0, 0, 0}, {22, 68, 256, 0, 0, 0, 0}, {24415, 24672, 0, 0, 0, 0, 0}, {24736, 16128, 0, 0, 0, 0, 0}, {259, 277, 4369, 0, 0, 0, 0}, {8, 34, 512, 5376, 0, 0, 0}, {60, 771, 20560, 0, 0, 0, 0}, {8, 4896, 68, 1028, 0, 0, 0}, {1295, 12288, 1365, 0, 0, 0, 0}, {1548, 102, 21760, 0, 0, 0, 0}, {8, 4128, 1799, 4176, 0, 0, 0}, {8, 5920, 16384, 0, 0, 0, 0}, {1295, 1331, 771, 1365, 0, 0, 0}, {170, 2560, 13568, 21760, 0, 0, 0}, {8, 52, 771, 68, 1028, 4112, 0}, {3084, 21344, 0, 0, 0, 0, 0}, {1287, 1365, 4096, 0, 0, 0, 0}, {8, 34, 512, 68, 1028, 4352, 0}, {240, 3855, 12288, 20560, 0, 0, 0}, {3840, 4144, 4160, 0, 0, 0, 0}, {1546, 34, 68, 4369, 0, 0, 0}, {1290, 34, 4626, 1360, 0, 0, 0}, {76, 4915, 16384, 0, 0, 0, 0}, {60, 768, 68, 5120, 0, 0, 0}, {42, 8224, 5397, 0, 0, 0, 0}, {22, 4176, 5376, 0, 0, 0, 0}, {5951, 30583, 0, 0, 0, 0, 0}, {5960, 5936, 20480, 0, 0, 0, 0}, {5401, 5427, 4883, 5461, 0, 0, 0}, {1290, 1312, 1360, 4112, 0, 0, 0}, {3072, 5939, 68, 0, 0, 0, 0}, {76, 112, 768, 4096, 0, 0, 0}, {34, 5911, 21845, 0, 0, 0, 0}, {30, 34, 768, 68, 1300, 4352, 0}, {128, 7999, 8192, 16448, 0, 0, 0}, {24768, 24320, 0, 0, 0, 0, 0}, {275, 261, 4369, 0, 0, 0, 0}, {8, 34, 514, 5440, 0, 0, 0}, {783, 819, 20480, 0, 0, 0, 0}, {8, 4864, 68, 1024, 0, 0, 0}, {90, 12336, 1285, 0, 0, 0, 0}, {1546, 102, 21760, 0, 0, 0, 0}, {8, 4144, 1799, 4160, 0, 0, 0}, {8, 5952, 16448, 0, 0, 0, 0}, {90, 102, 853, 1285, 0, 0, 0}, {170, 2570, 13664, 21760, 0, 0, 0}, {8, 52, 775, 68, 1024, 4096, 0}, {204, 21248, 0, 0, 0, 0, 0}, {82, 1285, 4112, 0, 0, 0, 0}, {8, 34, 514, 68, 1024, 4352, 0}, {240, 3855, 12336, 20480, 0, 0, 0}, {3840, 4128, 4176, 0, 0, 0, 0}, {1548, 34, 68, 4369, 0, 0, 0}, {90, 34, 4608, 1280, 0, 0, 0}, {76, 4883, 16448, 0, 0, 0, 0}, {780, 816, 68, 5140, 0, 0, 0}, {42, 8192, 5461, 0, 0, 0, 0}, {22, 4160, 1280, 0, 0, 0, 0}, {5983, 30583, 0, 0, 0, 0, 0}, {120, 5968, 20560, 0, 0, 0, 0}, {76, 102, 4949, 5397, 0, 0, 0}, {90, 112, 1280, 4096, 0, 0, 0}, {5911, 68, 0, 0, 0, 0, 0}, {76, 112, 832, 4112, 0, 0, 0}, {34, 5973, 21845, 0, 0, 0, 0}, {30, 34, 786, 68, 1280, 4352, 0}, {128, 8031, 8224, 16384, 0, 0, 0}, {128, 8032, 8224, 16448, 0, 0, 0}, {30, 34, 785, 68, 1297, 4369, 0}, {5960, 34, 21760, 0, 0, 0, 0}, {4124, 4128, 4883, 4176, 0, 0, 0}, {5928, 13056, 68, 0, 0, 0, 0}, {4122, 4144, 4160, 5397, 0, 0, 0}, {76, 102, 4864, 5376, 0, 0, 0}, {120, 5911, 20560, 0, 0, 0, 0}, {18504, 5984, 0, 0, 0, 0, 0}, {22, 1365, 4096, 0, 0, 0, 0}, {42, 8192, 5440, 0, 0, 0, 0}, {783, 819, 68, 5140, 0, 0, 0}, {76, 4896, 16384, 0, 0, 0, 0}, {1295, 34, 4626, 1365, 0, 0, 0}, {34, 1536, 68, 4352, 0, 0, 0}, {3855, 112, 4112, 0, 0, 0, 0}, {240, 3840, 12288, 20480, 0, 0, 0}, {8, 34, 514, 68, 1028, 4369, 0}, {4098, 4176, 5376, 0, 0, 0, 0}, {21311, 13107, 0, 0, 0, 0, 0}, {4144, 4864, 4100, 0, 0, 0, 0}, {13663, 21845, 0, 0, 0, 0, 0}, {1290, 1334, 1542, 1360, 0, 0, 0}, {8, 6007, 16384, 0, 0, 0, 0}, {8, 112, 1792, 4096, 0, 0, 0}, {102, 1542, 21845, 0, 0, 0, 0}, {1290, 12288, 1360, 0, 0, 0, 0}, {8, 4915, 68, 1028, 0, 0, 0}, {780, 816, 20480, 0, 0, 0, 0}, {8, 34, 514, 5461, 0, 0, 0}, {262, 1028, 272, 0, 0, 0, 0}, {24575, 24576, 0, 0, 0, 0, 0}, {40960, 0, 0, 0, 0, 0, 0}, {3, 4, 17, 257, 0, 0, 0}, {8, 34, 514, 0, 0, 0, 0}, {3, 20480, 0, 0, 0, 0, 0}, {8192, 4, 0, 0, 0, 0, 0}, {15, 85, 1285, 0, 0, 0, 0}, {12, 102, 1542, 0, 0, 0, 0}, {7, 20480, 0, 0, 0, 0, 0}, {8, 8192, 0, 0, 0, 0, 0}, {3, 85, 1285, 0, 0, 0, 0}, {170, 2570, 0, 0, 0, 0, 0}, {3, 4, 4096, 0, 0, 0, 0}, {12, 24576, 0, 0, 0, 0, 0}, {7, 85, 1285, 0, 0, 0, 0}, {34, 514, 4, 0, 0, 0, 0}, {15, 20480, 0, 0, 0, 0, 0}, {48, 64, 4112, 0, 0, 0, 0}, {2560, 17, 0, 0, 0, 0, 0}, {18, 20480, 0, 0, 0, 0, 0}, {76, 51, 4883, 0, 0, 0, 0}, {60, 68, 5140, 0, 0, 0, 0}, {8192, 21, 0, 0, 0, 0, 0}, {22, 20480, 0, 0, 0, 0, 0}, {72, 119, 5911, 0, 0, 0, 0}, {72, 48, 20560, 0, 0, 0, 0}, {25, 51, 4864, 85, 0, 0, 0}, {26, 48, 64, 4096, 0, 0, 0}, {6939, 51, 68, 0, 0, 0, 0}, {76, 112, 20560, 0, 0, 0, 0}, {29, 34, 5888, 85, 0, 0, 0}, {30, 34, 68, 5120, 0, 0, 0}, {63, 8224, 64, 0, 0, 0, 0}, {128, 8224, 0, 0, 0, 0, 0}, {3, 1280, 17, 0, 0, 0, 0}, {2560, 34, 0, 0, 0, 0, 0}, {3, 64, 4112, 0, 0, 0, 0}, {12, 9252, 68, 0, 0, 0, 0}, {15, 37, 85, 1280, 0, 0, 0}, {12, 38, 1536, 64, 0, 0, 0}, {15, 119, 20560, 0, 0, 0, 0}, {136, 10280, 0, 0, 0, 0, 0}, {3, 21, 4096, 0, 0, 0, 0}, {42, 8192, 0, 0, 0, 0, 0}, {3, 68, 5140, 0, 0, 0, 0}, {12, 8224, 64, 0, 0, 0, 0}, {15, 34, 85, 1280, 0, 0, 0}, {12, 34, 1536, 68, 0, 0, 0}, {15, 112, 20560, 0, 0, 0, 0}, {48, 20480, 0, 0, 0, 0, 0}, {8, 514, 17, 0, 0, 0, 0}, {18, 64, 4112, 0, 0, 0, 0}, {24320, 51, 0, 0, 0, 0, 0}, {8, 52, 68, 5120, 0, 0, 0}, {63, 13621, 85, 0, 0, 0, 0}, {90, 102, 20560, 0, 0, 0, 0}, {8, 55, 5888, 64, 0, 0, 0}, {8, 48, 64, 4096, 0, 0, 0}, {2570, 51, 85, 0, 0, 0, 0}, {90, 48, 20560, 0, 0, 0, 0}, {8, 51, 4864, 68, 0, 0, 0}, {60, 20480, 0, 0, 0, 0, 0}, {34, 514, 21, 0, 0, 0, 0}, {22, 68, 5140, 0, 0, 0, 0}, {63, 24576, 0, 0, 0, 0, 0}, {8192, 64, 0, 0, 0, 0, 0}, {15, 1285, 17, 0, 0, 0, 0}, {72, 34, 16962, 0, 0, 0, 0}, {67, 20480, 0, 0, 0, 0, 0}, {10240, 68, 0, 0, 0, 0, 0}, {48, 21, 4112, 0, 0, 0, 0}, {76, 102, 17990, 0, 0, 0, 0}, {71, 20480, 0, 0, 0, 0, 0}, {72, 24576, 0, 0, 0, 0, 0}, {22, 85, 1285, 0, 0, 0, 0}, {42, 8224, 64, 0, 0, 0, 0}, {15, 51, 68, 5120, 0, 0, 0}, {76, 8192, 0, 0, 0, 0, 0}, {18, 85, 1285, 0, 0, 0, 0}, {2570, 34, 68, 0, 0, 0, 0}, {15, 48, 64, 4096, 0, 0, 0}, {240, 20560, 0, 0, 0, 0, 0}, {512, 4, 17, 0, 0, 0, 0}, {82, 20480, 0, 0, 0, 0, 0}, {12, 51, 21331, 0, 0, 0, 0}, {48, 4, 4112, 0, 0, 0, 0}, {2560, 85, 0, 0, 0, 0, 0}, {86, 20480, 0, 0, 0, 0, 0}, {8, 119, 22359, 0, 0, 0, 0}, {8, 112, 20560, 0, 0, 0, 0}, {12, 51, 1536, 85, 0, 0, 0}, {90, 20480, 0, 0, 0, 0, 0}, {51, 4883, 4, 0, 0, 0, 0}, {12, 48, 20560, 0, 0, 0, 0}, {8, 34, 512, 85, 0, 0, 0}, {18, 4, 4096, 0, 0, 0, 0}, {255, 24415, 0, 0, 0, 0, 0}, {192, 24672, 0, 0, 0, 0, 0}, {7, 1280, 17, 0, 0, 0, 0}, {8, 34, 512, 64, 0, 0, 0}, {15, 51, 20560, 0, 0, 0, 0}, {8, 8224, 68, 0, 0, 0, 0}, {15, 48, 85, 1280, 0, 0, 0}, {2560, 102, 0, 0, 0, 0, 0}, {7, 64, 4112, 0, 0, 0, 0}, {8, 8224, 64, 0, 0, 0, 0}, {15, 51, 85, 1280, 0, 0, 0}, {106, 24576, 0, 0, 0, 0, 0}, {7, 68, 5140, 0, 0, 0, 0}, {204, 27756, 0, 0, 0, 0, 0}, {18, 21, 4096, 0, 0, 0, 0}, {8, 34, 512, 68, 0, 0, 0}, {15, 48, 20560, 0, 0, 0, 0}, {112, 20480, 0, 0, 0, 0, 0}, {12, 1542, 17, 0, 0, 0, 0}, {90, 34, 20560, 0, 0, 0, 0}, {12, 51, 4864, 64, 0, 0, 0}, {12, 48, 68, 5120, 0, 0, 0}, {42, 8224, 85, 0, 0, 0, 0}, {22, 64, 4112, 0, 0, 0, 0}, {24320, 119, 0, 0, 0, 0, 0}, {120, 20480, 0, 0, 0, 0, 0}, {51, 4883, 21, 0, 0, 0, 0}, {90, 112, 20560, 0, 0, 0, 0}, {12, 51, 5888, 68, 0, 0, 0}, {12, 48, 64, 4096, 0, 0, 0}, {2570, 34, 85, 0, 0, 0, 0}, {18, 68, 5140, 0, 0, 0, 0}, {127, 8192, 0, 0, 0, 0, 0}, {128, 8192, 0, 0, 0, 0, 0}, {3, 1285, 17, 0, 0, 0, 0}, {2570, 34, 0, 0, 0, 0, 0}, {3, 64, 4096, 0, 0, 0, 0}, {12, 9216, 68, 0, 0, 0, 0}, {15, 37, 85, 1285, 0, 0, 0}, {12, 38, 1542, 64, 0, 0, 0}, {15, 119, 20480, 0, 0, 0, 0}, {136, 10240, 0, 0, 0, 0, 0}, {3, 21, 4112, 0, 0, 0, 0}, {42, 8224, 0, 0, 0, 0, 0}, {3, 68, 5120, 0, 0, 0, 0}, {12, 8192, 64, 0, 0, 0, 0}, {15, 34, 85, 1285, 0, 0, 0}, {12, 34, 1542, 68, 0, 0, 0}, {15, 112, 20480, 0, 0, 0, 0}, {48, 20560, 0, 0, 0, 0, 0}, {8, 512, 17, 0, 0, 0, 0}, {18, 64, 4096, 0, 0, 0, 0}, {24415, 51, 0, 0, 0, 0, 0}, {8, 52, 68, 5140, 0, 0, 0}, {63, 13568, 85, 0, 0, 0, 0}, {90, 102, 20480, 0, 0, 0, 0}, {8, 55, 5911, 64, 0, 0, 0}, {8, 48, 64, 4112, 0, 0, 0}, {2560, 51, 85, 0, 0, 0, 0}, {90, 48, 20480, 0, 0, 0, 0}, {8, 51, 4883, 68, 0, 0, 0}, {60, 20560, 0, 0, 0, 0, 0}, {34, 512, 21, 0, 0, 0, 0}, {22, 68, 5120, 0, 0, 0, 0}, {63, 24672, 0, 0, 0, 0, 0}, {41120, 0, 0, 0, 0, 0, 0}, {3, 4, 17, 256, 0, 0, 0}, {8, 34, 512, 0, 0, 0, 0}, {3, 20560, 0, 0, 0, 0, 0}, {8224, 4, 0, 0, 0, 0, 0}, {15, 85, 1280, 0, 0, 0, 0}, {12, 102, 1536, 0, 0, 0, 0}, {7, 20560, 0, 0, 0, 0, 0}, {8, 8224, 0, 0, 0, 0, 0}, {3, 85, 1280, 0, 0, 0, 0}, {170, 2560, 0, 0, 0, 0, 0}, {3, 4, 4112, 0, 0, 0, 0}, {12, 24672, 0, 0, 0, 0, 0}, {7, 85, 1280, 0, 0, 0, 0}, {34, 512, 4, 0, 0, 0, 0}, {15, 20560, 0, 0, 0, 0, 0}, {48, 64, 4096, 0, 0, 0, 0}, {2570, 17, 0, 0, 0, 0, 0}, {18, 20560, 0, 0, 0, 0, 0}, {76, 51, 4864, 0, 0, 0, 0}, {60, 68, 5120, 0, 0, 0, 0}, {8224, 21, 0, 0, 0, 0, 0}, {22, 20560, 0, 0, 0, 0, 0}, {72, 119, 5888, 0, 0, 0, 0}, {72, 48, 20480, 0, 0, 0, 0}, {25, 51, 4883, 85, 0, 0, 0}, {26, 48, 64, 4112, 0, 0, 0}, {6912, 51, 68, 0, 0, 0, 0}, {76, 112, 20480, 0, 0, 0, 0}, {29, 34, 5911, 85, 0, 0, 0}, {30, 34, 68, 5140, 0, 0, 0}, {63, 8192, 64, 0, 0, 0, 0}, {192, 24576, 0, 0, 0, 0, 0}, {7, 1285, 17, 0, 0, 0, 0}, {8, 34, 514, 64, 0, 0, 0}, {15, 51, 20480, 0, 0, 0, 0}, {8, 8192, 68, 0, 0, 0, 0}, {15, 48, 85, 1285, 0, 0, 0}, {2570, 102, 0, 0, 0, 0, 0}, {7, 64, 4096, 0, 0, 0, 0}, {8, 8192, 64, 0, 0, 0, 0}, {15, 51, 85, 1285, 0, 0, 0}, {106, 24672, 0, 0, 0, 0, 0}, {7, 68, 5120, 0, 0, 0, 0}, {204, 27648, 0, 0, 0, 0, 0}, {18, 21, 4112, 0, 0, 0, 0}, {8, 34, 514, 68, 0, 0, 0}, {15, 48, 20480, 0, 0, 0, 0}, {112, 20560, 0, 0, 0, 0, 0}, {12, 1536, 17, 0, 0, 0, 0}, {90, 34, 20480, 0, 0, 0, 0}, {12, 51, 4883, 64, 0, 0, 0}, {12, 48, 68, 5140, 0, 0, 0}, {42, 8192, 85, 0, 0, 0, 0}, {22, 64, 4096, 0, 0, 0, 0}, {24415, 119, 0, 0, 0, 0, 0}, {120, 20560, 0, 0, 0, 0, 0}, {51, 4864, 21, 0, 0, 0, 0}, {90, 112, 20480, 0, 0, 0, 0}, {12, 51, 5911, 68, 0, 0, 0}, {12, 48, 64, 4112, 0, 0, 0}, {2560, 34, 85, 0, 0, 0, 0}, {18, 68, 5120, 0, 0, 0, 0}, {127, 8224, 0, 0, 0, 0, 0}, {8224, 64, 0, 0, 0, 0, 0}, {15, 1280, 17, 0, 0, 0, 0}, {72, 34, 16896, 0, 0, 0, 0}, {67, 20560, 0, 0, 0, 0, 0}, {10280, 68, 0, 0, 0, 0, 0}, {48, 21, 4096, 0, 0, 0, 0}, {76, 102, 17920, 0, 0, 0, 0}, {71, 20560, 0, 0, 0, 0, 0}, {72, 24672, 0, 0, 0, 0, 0}, {22, 85, 1280, 0, 0, 0, 0}, {42, 8192, 64, 0, 0, 0, 0}, {15, 51, 68, 5140, 0, 0, 0}, {76, 8224, 0, 0, 0, 0, 0}, {18, 85, 1280, 0, 0, 0, 0}, {2560, 34, 68, 0, 0, 0, 0}, {15, 48, 64, 4112, 0, 0, 0}, {240, 20480, 0, 0, 0, 0, 0}, {514, 4, 17, 0, 0, 0, 0}, {82, 20560, 0, 0, 0, 0, 0}, {12, 51, 21248, 0, 0, 0, 0}, {48, 4, 4096, 0, 0, 0, 0}, {2570, 85, 0, 0, 0, 0, 0}, {86, 20560, 0, 0, 0, 0, 0}, {8, 119, 22272, 0, 0, 0, 0}, {8, 112, 20480, 0, 0, 0, 0}, {12, 51, 1542, 85, 0, 0, 0}, {90, 20560, 0, 0, 0, 0, 0}, {51, 4864, 4, 0, 0, 0, 0}, {12, 48, 20480, 0, 0, 0, 0}, {8, 34, 514, 85, 0, 0, 0}, {18, 4, 4112, 0, 0, 0, 0}, {255, 24320, 0, 0, 0, 0, 0}, {768, 1024, 4352, 0, 0, 0, 0}, {160, 257, 0, 0, 0, 0, 0}, {258, 20480, 0, 0, 0, 0, 0}, {1036, 4403, 771, 0, 0, 0, 0}, {780, 4420, 1028, 0, 0, 0, 0}, {8192, 261, 0, 0, 0, 0, 0}, {262, 20480, 0, 0, 0, 0, 0}, {1032, 4471, 1799, 0, 0, 0, 0}, {1032, 768, 21760, 0, 0, 0, 0}, {265, 4144, 771, 1285, 0, 0, 0}, {266, 768, 1024, 4096, 0, 0, 0}, {4539, 771, 1028, 0, 0, 0, 0}, {1036, 1792, 21760, 0, 0, 0, 0}, {269, 4208, 514, 1285, 0, 0, 0}, {270, 514, 4160, 1028, 0, 0, 0}, {783, 8704, 1024, 0, 0, 0, 0}, {2560, 272, 0, 0, 0, 0, 0}, {819, 1092, 4369, 0, 0, 0, 0}, {1096, 4386, 4626, 0, 0, 0, 0}, {275, 20480, 0, 0, 0, 0, 0}, {8192, 276, 0, 0, 0, 0, 0}, {831, 4437, 5397, 0, 0, 0, 0}, {1100, 4454, 5654, 0, 0, 0, 0}, {279, 20480, 0, 0, 0, 0, 0}, {280, 4144, 4864, 1360, 0, 0, 0}, {1100, 819, 21845, 0, 0, 0, 0}, {6682, 816, 1088, 0, 0, 0, 0}, {283, 819, 1092, 4096, 0, 0, 0}, {284, 5408, 5888, 1360, 0, 0, 0}, {1096, 1911, 21845, 0, 0, 0, 0}, {828, 8738, 1092, 0, 0, 0, 0}, {287, 544, 4160, 5120, 0, 0, 0}, {288, 768, 1280, 4352, 0, 0, 0}, {1156, 771, 4369, 0, 0, 0, 0}, {4386, 768, 16384, 0, 0, 0, 0}, {1295, 291, 771, 4112, 0, 0, 0}, {780, 292, 4420, 1280, 0, 0, 0}, {783, 9509, 4437, 0, 0, 0, 0}, {780, 4454, 16448, 0, 0, 0, 0}, {1295, 295, 1536, 4176, 0, 0, 0}, {296, 768, 1280, 4096, 0, 0, 0}, {4505, 771, 5397, 0, 0, 0, 0}, {5418, 768, 17408, 0, 0, 0, 0}, {4379, 4144, 771, 5140, 0, 0, 0}, {780, 544, 4160, 1280, 0, 0, 0}, {783, 8738, 5461, 0, 0, 0, 0}, {780, 5734, 17476, 0, 0, 0, 0}, {1295, 1056, 1536, 5200, 0, 0, 0}, {2048, 816, 4352, 0, 0, 0, 0}, {305, 514, 1365, 4369, 0, 0, 0}, {1370, 306, 514, 4112, 0, 0, 0}, {4403, 4608, 16384, 0, 0, 0, 0}, {828, 13364, 4420, 0, 0, 0, 0}, {522, 309, 4437, 5120, 0, 0, 0}, {5386, 310, 5888, 4176, 0, 0, 0}, {4680, 4471, 16448, 0, 0, 0, 0}, {2056, 816, 5440, 0, 0, 0, 0}, {522, 819, 1365, 4096, 0, 0, 0}, {4362, 4144, 4864, 5200, 0, 0, 0}, {5708, 819, 17476, 0, 0, 0, 0}, {828, 8704, 5376, 0, 0, 0, 0}, {317, 514, 4160, 5397, 0, 0, 0}, {4430, 4208, 514, 5140, 0, 0, 0}, {5439, 5632, 17408, 0, 0, 0, 0}, {3840, 1088, 4352, 0, 0, 0, 0}, {546, 321, 1285, 4369, 0, 0, 0}, {322, 20480, 0, 0, 0, 0, 0}, {1100, 4403, 17219, 0, 0, 0, 0}, {12288, 4420, 5376, 0, 0, 0, 0}, {554, 325, 1285, 4112, 0, 0, 0}, {326, 20480, 0, 0, 0, 0, 0}, {1096, 4471, 18247, 0, 0, 0, 0}, {1096, 5632, 21760, 0, 0, 0, 0}, {329, 4208, 4883, 1285, 0, 0, 0}, {4362, 4896, 4160, 5120, 0, 0, 0}, {5692, 13107, 1092, 0, 0, 0, 0}, {1100, 4608, 21760, 0, 0, 0, 0}, {333, 4144, 4626, 1285, 0, 0, 0}, {1290, 546, 1092, 4096, 0, 0, 0}, {3855, 4656, 1088, 0, 0, 0, 0}, {512, 336, 1024, 4352, 0, 0, 0}, {1011, 1028, 4369, 0, 0, 0, 0}, {1032, 4386, 21074, 0, 0, 0, 0}, {339, 20480, 0, 0, 0, 0, 0}, {520, 340, 1028, 4112, 0, 0, 0}, {12288, 4437, 1024, 0, 0, 0, 0}, {1036, 4454, 22102, 0, 0, 0, 0}, {343, 20480, 0, 0, 0, 0, 0}, {1032, 5408, 1536, 1360, 0, 0, 0}, {1036, 5734, 21845, 0, 0, 0, 0}, {4698, 13056, 1024, 0, 0, 0, 0}, {4379, 4883, 4160, 1028, 0, 0, 0}, {1036, 4144, 512, 1360, 0, 0, 0}, {1032, 4642, 21845, 0, 0, 0, 0}, {4590, 4626, 1028, 0, 0, 0, 0}, {351, 512, 1024, 4096, 0, 0, 0}, {352, 512, 1280, 4352, 0, 0, 0}, {1220, 1799, 4369, 0, 0, 0, 0}, {1800, 4386, 16448, 0, 0, 0, 0}, {1295, 4403, 512, 4176, 0, 0, 0}, {520, 4128, 4420, 1280, 0, 0, 0}, {1807, 12336, 4437, 0, 0, 0, 0}, {4454, 1792, 16384, 0, 0, 0, 0}, {1295, 359, 1799, 4112, 0, 0, 0}, {520, 4896, 4160, 1280, 0, 0, 0}, {1807, 13107, 5461, 0, 0, 0, 0}, {5482, 1792, 17408, 0, 0, 0, 0}, {4379, 4208, 4883, 5140, 0, 0, 0}, {364, 512, 1280, 4096, 0, 0, 0}, {4573, 4626, 5397, 0, 0, 0, 0}, {1800, 4642, 17476, 0, 0, 0, 0}, {1295, 4144, 512, 5200, 0, 0, 0}, {3072, 1904, 4352, 0, 0, 0, 0}, {1060, 1542, 1365, 4369, 0, 0, 0}, {5386, 4386, 4864, 4176, 0, 0, 0}, {5708, 4403, 16448, 0, 0, 0, 0}, {5692, 12336, 4420, 0, 0, 0, 0}, {4618, 4128, 4437, 5120, 0, 0, 0}, {1370, 374, 1542, 4112, 0, 0, 0}, {4471, 5632, 16384, 0, 0, 0, 0}, {4728, 13056, 5376, 0, 0, 0, 0}, {4409, 4883, 4160, 5397, 0, 0, 0}, {4362, 1056, 5888, 5200, 0, 0, 0}, {4680, 1911, 17476, 0, 0, 0, 0}, {3084, 4656, 5440, 0, 0, 0, 0}, {1546, 546, 1365, 4096, 0, 0, 0}, {4430, 4144, 4626, 5140, 0, 0, 0}, {5503, 4608, 17408, 0, 0, 0, 0}, {1152, 768, 4352, 0, 0, 0, 0}, {289, 771, 1285, 4369, 0, 0, 0}, {1290, 290, 768, 4096, 0, 0, 0}, {4403, 771, 16448, 0, 0, 0, 0}, {780, 9472, 4420, 0, 0, 0, 0}, {783, 293, 4437, 1285, 0, 0, 0}, {1290, 294, 1542, 4160, 0, 0, 0}, {783, 4471, 16384, 0, 0, 0, 0}, {4488, 768, 5376, 0, 0, 0, 0}, {297, 771, 1285, 4112, 0, 0, 0}, {4362, 4128, 768, 5120, 0, 0, 0}, {5439, 771, 17476, 0, 0, 0, 0}, {780, 8704, 5440, 0, 0, 0, 0}, {783, 546, 4176, 1285, 0, 0, 0}, {1290, 1060, 1542, 5188, 0, 0, 0}, {783, 5744, 17408, 0, 0, 0, 0}, {304, 512, 1360, 4352, 0, 0, 0}, {2056, 819, 4369, 0, 0, 0, 0}, {4386, 4626, 16448, 0, 0, 0, 0}, {1375, 307, 512, 4096, 0, 0, 0}, {520, 308, 4420, 5140, 0, 0, 0}, {831, 13312, 4437, 0, 0, 0, 0}, {4698, 4454, 16384, 0, 0, 0, 0}, {5407, 311, 5911, 4160, 0, 0, 0}, {520, 816, 1360, 4112, 0, 0, 0}, {2048, 819, 5461, 0, 0, 0, 0}, {5722, 816, 17408, 0, 0, 0, 0}, {4379, 4128, 4883, 5188, 0, 0, 0}, {316, 512, 4176, 5376, 0, 0, 0}, {831, 8738, 5397, 0, 0, 0, 0}, {5418, 5654, 17476, 0, 0, 0, 0}, {4447, 4192, 512, 5120, 0, 0, 0}, {160, 256, 0, 0, 0, 0, 0}, {771, 1028, 4369, 0, 0, 0, 0}, {1032, 4386, 768, 0, 0, 0, 0}, {259, 20560, 0, 0, 0, 0, 0}, {8224, 260, 0, 0, 0, 0, 0}, {783, 4437, 1024, 0, 0, 0, 0}, {1036, 4454, 1792, 0, 0, 0, 0}, {263, 20560, 0, 0, 0, 0, 0}, {264, 4128, 768, 1280, 0, 0, 0}, {1036, 771, 21845, 0, 0, 0, 0}, {4522, 768, 1024, 0, 0, 0, 0}, {267, 771, 1028, 4112, 0, 0, 0}, {268, 4192, 512, 1280, 0, 0, 0}, {1032, 1799, 21845, 0, 0, 0, 0}, {780, 8738, 1028, 0, 0, 0, 0}, {271, 512, 4176, 1024, 0, 0, 0}, {816, 1088, 4352, 0, 0, 0, 0}, {2570, 273, 0, 0, 0, 0, 0}, {274, 20560, 0, 0, 0, 0, 0}, {1100, 4403, 4608, 0, 0, 0, 0}, {828, 4420, 5376, 0, 0, 0, 0}, {8224, 277, 0, 0, 0, 0, 0}, {278, 20560, 0, 0, 0, 0, 0}, {1096, 4471, 5632, 0, 0, 0, 0}, {1096, 816, 21760, 0, 0, 0, 0}, {281, 4128, 4883, 1365, 0, 0, 0}, {282, 816, 1088, 4112, 0, 0, 0}, {6656, 819, 1092, 0, 0, 0, 0}, {1100, 1904, 21760, 0, 0, 0, 0}, {285, 5429, 5911, 1365, 0, 0, 0}, {286, 546, 4176, 5140, 0, 0, 0}, {831, 8704, 1088, 0, 0, 0, 0}, {1216, 1792, 4352, 0, 0, 0, 0}, {353, 514, 1285, 4369, 0, 0, 0}, {1290, 4386, 514, 4160, 0, 0, 0}, {1807, 4403, 16384, 0, 0, 0, 0}, {1800, 12288, 4420, 0, 0, 0, 0}, {522, 4144, 4437, 1285, 0, 0, 0}, {1290, 358, 1792, 4096, 0, 0, 0}, {4471, 1799, 16448, 0, 0, 0, 0}, {1800, 13056, 5440, 0, 0, 0, 0}, {522, 4915, 4176, 1285, 0, 0, 0}, {4362, 4192, 4864, 5120, 0, 0, 0}, {5503, 1799, 17476, 0, 0, 0, 0}, {4556, 4608, 5376, 0, 0, 0, 0}, {365, 514, 1285, 4112, 0, 0, 0}, {1290, 4128, 514, 5188, 0, 0, 0}, {1807, 4656, 17408, 0, 0, 0, 0}, {1056, 1536, 1360, 4352, 0, 0, 0}, {3084, 1911, 4369, 0, 0, 0, 0}, {5722, 4386, 16384, 0, 0, 0, 0}, {5407, 4403, 4883, 4160, 0, 0, 0}, {4632, 4144, 4420, 5140, 0, 0, 0}, {5674, 12288, 4437, 0, 0, 0, 0}, {4454, 5654, 16448, 0, 0, 0, 0}, {1375, 375, 1536, 4096, 0, 0, 0}, {4392, 4864, 4176, 5376, 0, 0, 0}, {4714, 13107, 5397, 0, 0, 0, 0}, {4698, 1904, 17408, 0, 0, 0, 0}, {4379, 1060, 5911, 5188, 0, 0, 0}, {1548, 544, 1360, 4112, 0, 0, 0}, {3072, 4642, 5461, 0, 0, 0, 0}, {5482, 4626, 17476, 0, 0, 0, 0}, {4447, 4128, 4608, 5120, 0, 0, 0}, {544, 320, 1280, 4352, 0, 0, 0}, {3855, 1092, 4369, 0, 0, 0, 0}, {1096, 4386, 17152, 0, 0, 0, 0}, {323, 20560, 0, 0, 0, 0, 0}, {552, 324, 1280, 4096, 0, 0, 0}, {12336, 4437, 5397, 0, 0, 0, 0}, {1100, 4454, 18176, 0, 0, 0, 0}, {327, 20560, 0, 0, 0, 0, 0}, {328, 4192, 4864, 1280, 0, 0, 0}, {1100, 5654, 21845, 0, 0, 0, 0}, {5674, 13056, 1088, 0, 0, 0, 0}, {4379, 4915, 4176, 5140, 0, 0, 0}, {332, 4128, 4608, 1280, 0, 0, 0}, {1096, 4626, 21845, 0, 0, 0, 0}, {3840, 4642, 1092, 0, 0, 0, 0}, {1295, 544, 1088, 4112, 0, 0, 0}, {1008, 1024, 4352, 0, 0, 0, 0}, {514, 337, 1028, 4369, 0, 0, 0}, {338, 20560, 0, 0, 0, 0, 0}, {1036, 4403, 20992, 0, 0, 0, 0}, {12336, 4420, 1028, 0, 0, 0, 0}, {522, 341, 1024, 4096, 0, 0, 0}, {342, 20560, 0, 0, 0, 0, 0}, {1032, 4471, 22016, 0, 0, 0, 0}, {1032, 5744, 21760, 0, 0, 0, 0}, {1036, 5429, 1542, 1365, 0, 0, 0}, {4362, 4864, 4176, 1024, 0, 0, 0}, {4680, 13107, 1028, 0, 0, 0, 0}, {1036, 4656, 21760, 0, 0, 0, 0}, {1032, 4128, 514, 1365, 0, 0, 0}, {350, 514, 1028, 4112, 0, 0, 0}, {4607, 4608, 1024, 0, 0, 0, 0}, {2048, 8704, 0, 0, 0, 0, 0}, {3, 80, 257, 0, 0, 0, 0}, {160, 514, 0, 0, 0, 0, 0}, {3, 1024, 4352, 0, 0, 0, 0}, {12, 8772, 1028, 0, 0, 0, 0}, {15, 517, 80, 1285, 0, 0, 0}, {12, 96, 518, 1024, 0, 0, 0}, {15, 1799, 21760, 0, 0, 0, 0}, {8840, 2056, 0, 0, 0, 0, 0}, {3, 261, 4096, 0, 0, 0, 0}, {522, 8192, 0, 0, 0, 0, 0}, {3, 4420, 1028, 0, 0, 0, 0}, {12, 8704, 1024, 0, 0, 0, 0}, {15, 514, 80, 1285, 0, 0, 0}, {12, 96, 514, 1028, 0, 0, 0}, {15, 1792, 21760, 0, 0, 0, 0}, {48, 528, 80, 4112, 0, 0, 0}, {2116, 51, 4369, 0, 0, 0, 0}, {48, 4626, 16384, 0, 0, 0, 0}, {95, 51, 531, 4352, 0, 0, 0}, {60, 532, 80, 5140, 0, 0, 0}, {63, 8789, 5397, 0, 0, 0, 0}, {60, 5654, 17408, 0, 0, 0, 0}, {95, 96, 535, 5376, 0, 0, 0}, {536, 48, 80, 4096, 0, 0, 0}, {6425, 51, 4437, 0, 0, 0, 0}, {4698, 48, 16448, 0, 0, 0, 0}, {4379, 51, 4864, 4420, 0, 0, 0}, {540, 544, 80, 5120, 0, 0, 0}, {63, 8738, 5461, 0, 0, 0, 0}, {5722, 5734, 17476, 0, 0, 0, 0}, {5407, 5408, 5888, 5440, 0, 0, 0}, {2560, 544, 0, 0, 0, 0, 0}, {3, 1092, 4369, 0, 0, 0, 0}, {2184, 8738, 0, 0, 0, 0, 0}, {3, 1280, 272, 0, 0, 0, 0}, {12, 1060, 1536, 1092, 0, 0, 0}, {15, 1904, 21845, 0, 0, 0, 0}, {12, 9766, 1088, 0, 0, 0, 0}, {15, 551, 80, 1280, 0, 0, 0}, {552, 8192, 0, 0, 0, 0, 0}, {3, 4437, 5397, 0, 0, 0, 0}, {8874, 10794, 0, 0, 0, 0, 0}, {3, 276, 4096, 0, 0, 0, 0}, {12, 1056, 1536, 1088, 0, 0, 0}, {15, 1911, 21845, 0, 0, 0, 0}, {12, 8738, 1092, 0, 0, 0, 0}, {15, 544, 80, 1280, 0, 0, 0}, {48, 4608, 16384, 0, 0, 0, 0}, {95, 51, 514, 4369, 0, 0, 0}, {48, 514, 80, 4112, 0, 0, 0}, {2048, 51, 4352, 0, 0, 0, 0}, {5708, 5744, 17476, 0, 0, 0, 0}, {5386, 5429, 5888, 5461, 0, 0, 0}, {522, 566, 80, 5120, 0, 0, 0}, {63, 14135, 5440, 0, 0, 0, 0}, {4680, 48, 16448, 0, 0, 0, 0}, {4362, 51, 4864, 4437, 0, 0, 0}, {522, 48, 80, 4096, 0, 0, 0}, {2056, 51, 4420, 0, 0, 0, 0}, {60, 5632, 17408, 0, 0, 0, 0}, {95, 96, 514, 5397, 0, 0, 0}, {60, 514, 80, 5140, 0, 0, 0}, {63, 8704, 5376, 0, 0, 0, 0}, {192, 2112, 8704, 16448, 0, 0, 0}, {15, 51, 529, 80, 1285, 4369, 0}, {96, 578, 16384, 0, 0, 0, 0}, {15, 51, 1859, 4352, 0, 0, 0}, {204, 2116, 8772, 17476, 0, 0, 0}, {15, 48, 533, 80, 1285, 4112, 0}, {108, 582, 17408, 0, 0, 0, 0}, {15, 48, 4679, 5376, 0, 0, 0}, {8776, 16384, 0, 0, 0, 0, 0}, {51, 4883, 4357, 0, 0, 0, 0}, {586, 96, 16448, 0, 0, 0, 0}, {15, 51, 5632, 4420, 0, 0, 0}, {204, 2124, 8704, 17408, 0, 0, 0}, {15, 48, 530, 80, 1285, 4096, 0}, {590, 546, 17476, 0, 0, 0, 0}, {15, 48, 4608, 5440, 0, 0, 0}, {512, 80, 0, 0, 0, 0, 0}, {12, 51, 1028, 4369, 0, 0, 0}, {240, 21074, 0, 0, 0, 0, 0}, {83, 1024, 4352, 0, 0, 0, 0}, {12, 48, 516, 80, 1028, 4112, 0}, {255, 2048, 8789, 21845, 0, 0, 0}, {12, 48, 4694, 1024, 0, 0, 0}, {95, 599, 21760, 0, 0, 0, 0}, {520, 8224, 80, 0, 0, 0, 0}, {12, 51, 4437, 1024, 0, 0, 0}, {21082, 28672, 0, 0, 0, 0, 0}, {4375, 4420, 1028, 0, 0, 0, 0}, {12, 48, 512, 80, 1024, 4096, 0}, {255, 2056, 8738, 21845, 0, 0, 0}, {12, 48, 4626, 1028, 0, 0, 0}, {95, 512, 21760, 0, 0, 0, 0}, {96, 512, 16384, 0, 0, 0, 0}, {15, 51, 1799, 4369, 0, 0, 0}, {192, 2056, 8738, 16448, 0, 0, 0}, {15, 51, 512, 80, 1280, 4352, 0}, {520, 612, 17476, 0, 0, 0, 0}, {15, 48, 1792, 5461, 0, 0, 0}, {204, 2048, 8806, 17408, 0, 0, 0}, {15, 48, 519, 80, 1280, 4112, 0}, {520, 96, 16448, 0, 0, 0, 0}, {15, 51, 1792, 4437, 0, 0, 0}, {8810, 16384, 0, 0, 0, 0, 0}, {51, 4883, 4372, 0, 0, 0, 0}, {108, 512, 17408, 0, 0, 0, 0}, {15, 48, 4626, 5397, 0, 0, 0}, {204, 2056, 8738, 17476, 0, 0, 0}, {15, 48, 512, 80, 1280, 4096, 0}, {23040, 21104, 0, 0, 0, 0, 0}, {1047, 1092, 4369, 0, 0, 0, 0}, {2570, 546, 80, 0, 0, 0, 0}, {12, 51, 1088, 4352, 0, 0, 0}, {12, 48, 5632, 1092, 0, 0, 0}, {95, 629, 21845, 0, 0, 0, 0}, {12, 48, 534, 80, 1040, 4112, 0}, {255, 2167, 8823, 21760, 0, 0, 0}, {21112, 28672, 0, 0, 0, 0, 0}, {4358, 4437, 5397, 0, 0, 0, 0}, {554, 8224, 80, 0, 0, 0, 0}, {12, 51, 4420, 5376, 0, 0, 0}, {12, 48, 4608, 1088, 0, 0, 0}, {95, 546, 21845, 0, 0, 0, 0}, {12, 48, 530, 80, 1044, 4096, 0}, {255, 2175, 8704, 21760, 0, 0, 0}, {2176, 8704, 0, 0, 0, 0, 0}, {3, 1285, 273, 0, 0, 0, 0}, {2570, 546, 0, 0, 0, 0, 0}, {3, 1088, 4352, 0, 0, 0, 0}, {12, 9728, 1092, 0, 0, 0, 0}, {15, 549, 80, 1285, 0, 0, 0}, {12, 1056, 1542, 1088, 0, 0, 0}, {15, 1911, 21760, 0, 0, 0, 0}, {8840, 10752, 0, 0, 0, 0, 0}, {3, 277, 4112, 0, 0, 0, 0}, {554, 8224, 0, 0, 0, 0, 0}, {3, 4420, 5376, 0, 0, 0, 0}, {12, 8704, 1088, 0, 0, 0, 0}, {15, 546, 80, 1285, 0, 0, 0}, {12, 1060, 1542, 1092, 0, 0, 0}, {15, 1904, 21760, 0, 0, 0, 0}, {48, 512, 80, 4096, 0, 0, 0}, {2056, 51, 4369, 0, 0, 0, 0}, {48, 4626, 16448, 0, 0, 0, 0}, {95, 51, 512, 4352, 0, 0, 0}, {520, 564, 80, 5140, 0, 0, 0}, {63, 14080, 5461, 0, 0, 0, 0}, {5722, 5734, 17408, 0, 0, 0, 0}, {5407, 5408, 5911, 5440, 0, 0, 0}, {520, 48, 80, 4112, 0, 0, 0}, {2048, 51, 4437, 0, 0, 0, 0}, {4698, 48, 16384, 0, 0, 0, 0}, {4379, 51, 4883, 4420, 0, 0, 0}, {60, 512, 80, 5120, 0, 0, 0}, {63, 8738, 5397, 0, 0, 0, 0}, {60, 5654, 17476, 0, 0, 0, 0}, {95, 96, 512, 5376, 0, 0, 0}, {160, 512, 0, 0, 0, 0, 0}, {3, 1028, 4369, 0, 0, 0, 0}, {2056, 8738, 0, 0, 0, 0, 0}, {3, 80, 256, 0, 0, 0, 0}, {12, 96, 516, 1028, 0, 0, 0}, {15, 1792, 21845, 0, 0, 0, 0}, {12, 8806, 1024, 0, 0, 0, 0}, {15, 519, 80, 1280, 0, 0, 0}, {520, 8224, 0, 0, 0, 0, 0}, {3, 4437, 1024, 0, 0, 0, 0}, {8874, 2048, 0, 0, 0, 0, 0}, {3, 260, 4112, 0, 0, 0, 0}, {12, 96, 512, 1024, 0, 0, 0}, {15, 1799, 21845, 0, 0, 0, 0}, {12, 8738, 1028, 0, 0, 0, 0}, {15, 512, 80, 1280, 0, 0, 0}, {48, 4608, 16448, 0, 0, 0, 0}, {95, 51, 529, 4369, 0, 0, 0}, {48, 530, 80, 4096, 0, 0, 0}, {2124, 51, 4352, 0, 0, 0, 0}, {60, 5632, 17476, 0, 0, 0, 0}, {95, 96, 533, 5397, 0, 0, 0}, {60, 534, 80, 5120, 0, 0, 0}, {63, 8823, 5376, 0, 0, 0, 0}, {4680, 48, 16384, 0, 0, 0, 0}, {4362, 51, 4883, 4437, 0, 0, 0}, {538, 48, 80, 4112, 0, 0, 0}, {6400, 51, 4420, 0, 0, 0, 0}, {5708, 5744, 17408, 0, 0, 0, 0}, {5386, 5429, 5911, 5461, 0, 0, 0}, {542, 546, 80, 5140, 0, 0, 0}, {63, 8704, 5440, 0, 0, 0, 0}, {192, 2048, 8704, 16384, 0, 0, 0}, {15, 51, 514, 80, 1285, 4369, 0}, {96, 514, 16448, 0, 0, 0, 0}, {15, 51, 1792, 4352, 0, 0, 0}, {204, 2056, 8772, 17476, 0, 0, 0}, {15, 48, 517, 80, 1285, 4096, 0}, {522, 614, 17408, 0, 0, 0, 0}, {15, 48, 1799, 5440, 0, 0, 0}, {8776, 16448, 0, 0, 0, 0, 0}, {51, 4864, 4357, 0, 0, 0, 0}, {522, 96, 16384, 0, 0, 0, 0}, {15, 51, 1799, 4420, 0, 0, 0}, {204, 2048, 8704, 17408, 0, 0, 0}, {15, 48, 514, 80, 1285, 4112, 0}, {108, 514, 17476, 0, 0, 0, 0}, {15, 48, 4608, 5376, 0, 0, 0}, {2560, 544, 80, 0, 0, 0, 0}, {12, 51, 1092, 4369, 0, 0, 0}, {23130, 21026, 0, 0, 0, 0, 0}, {1043, 1088, 4352, 0, 0, 0, 0}, {12, 48, 532, 80, 1044, 4096, 0}, {255, 2175, 8789, 21845, 0, 0, 0}, {12, 48, 5654, 1088, 0, 0, 0}, {95, 631, 21760, 0, 0, 0, 0}, {552, 8192, 80, 0, 0, 0, 0}, {12, 51, 4437, 5397, 0, 0, 0}, {21034, 28784, 0, 0, 0, 0, 0}, {4375, 4420, 5376, 0, 0, 0, 0}, {12, 48, 528, 80, 1040, 4112, 0}, {255, 2167, 8738, 21845, 0, 0, 0}, {12, 48, 4626, 1092, 0, 0, 0}, {95, 544, 21760, 0, 0, 0, 0}, {96, 576, 16448, 0, 0, 0, 0}, {15, 51, 1860, 4369, 0, 0, 0}, {192, 2120, 8738, 16384, 0, 0, 0}, {15, 51, 531, 80, 1280, 4352, 0}, {108, 580, 17476, 0, 0, 0, 0}, {15, 48, 4693, 5397, 0, 0, 0}, {204, 2124, 8806, 17408, 0, 0, 0}, {15, 48, 535, 80, 1280, 4096, 0}, {584, 96, 16384, 0, 0, 0, 0}, {15, 51, 5654, 4437, 0, 0, 0}, {8810, 16448, 0, 0, 0, 0, 0}, {51, 4864, 4372, 0, 0, 0, 0}, {588, 544, 17408, 0, 0, 0, 0}, {15, 48, 4626, 5461, 0, 0, 0}, {204, 2116, 8738, 17476, 0, 0, 0}, {15, 48, 528, 80, 1280, 4112, 0}, {240, 20992, 0, 0, 0, 0, 0}, {83, 1028, 4369, 0, 0, 0, 0}, {514, 80, 0, 0, 0, 0, 0}, {12, 51, 1024, 4352, 0, 0, 0}, {12, 48, 4676, 1028, 0, 0, 0}, {95, 597, 21845, 0, 0, 0, 0}, {12, 48, 518, 80, 1024, 4096, 0}, {255, 2056, 8823, 21760, 0, 0, 0}, {21000, 28784, 0, 0, 0, 0, 0}, {4358, 4437, 1024, 0, 0, 0, 0}, {522, 8192, 80, 0, 0, 0, 0}, {12, 51, 4420, 1028, 0, 0, 0}, {12, 48, 4608, 1024, 0, 0, 0}, {95, 514, 21845, 0, 0, 0, 0}, {12, 48, 514, 80, 1028, 4112, 0}, {255, 2048, 8704, 21760, 0, 0, 0}, {768, 20480, 0, 0, 0, 0, 0}, {8, 34, 257, 0, 0, 0, 0}, {258, 1024, 4352, 0, 0, 0, 0}, {20720, 771, 0, 0, 0, 0, 0}, {8, 772, 4160, 1028, 0, 0, 0}, {783, 13141, 1285, 0, 0, 0, 0}, {1290, 1542, 21760, 0, 0, 0, 0}, {8, 4208, 775, 1024, 0, 0, 0}, {8, 768, 1024, 4096, 0, 0, 0}, {170, 771, 1285, 0, 0, 0, 0}, {1290, 768, 21760, 0, 0, 0, 0}, {8, 4144, 771, 1028, 0, 0, 0}, {780, 20480, 0, 0, 0, 0, 0}, {34, 514, 261, 0, 0, 0, 0}, {262, 4420, 1028, 0, 0, 0, 0}, {783, 24576, 0, 0, 0, 0, 0}, {3136, 816, 4112, 0, 0, 0, 0}, {34, 785, 1365, 4369, 0, 0, 0}, {1370, 34, 786, 4352, 0, 0, 0}, {4128, 4883, 16384, 0, 0, 0, 0}, {828, 13124, 5140, 0, 0, 0, 0}, {42, 789, 4160, 5397, 0, 0, 0}, {4186, 4208, 790, 5376, 0, 0, 0}, {5160, 5911, 17408, 0, 0, 0, 0}, {6168, 816, 5200, 0, 0, 0, 0}, {793, 819, 1365, 4096, 0, 0, 0}, {4122, 4144, 4864, 5440, 0, 0, 0}, {5983, 819, 17476, 0, 0, 0, 0}, {828, 8224, 4176, 0, 0, 0, 0}, {797, 34, 4437, 5120, 0, 0, 0}, {5150, 34, 5888, 4420, 0, 0, 0}, {4959, 4192, 16448, 0, 0, 0, 0}, {4128, 768, 16384, 0, 0, 0, 0}, {1295, 34, 771, 4369, 0, 0, 0}, {34, 768, 1280, 4352, 0, 0, 0}, {128, 771, 4112, 0, 0, 0, 0}, {780, 5984, 17476, 0, 0, 0, 0}, {1295, 1317, 1536, 5461, 0, 0, 0}, {780, 806, 4160, 1280, 0, 0, 0}, {783, 10023, 5200, 0, 0, 0, 0}, {5160, 768, 17408, 0, 0, 0, 0}, {4122, 4144, 771, 5397, 0, 0, 0}, {42, 768, 1280, 4096, 0, 0, 0}, {136, 771, 5140, 0, 0, 0, 0}, {780, 4192, 16448, 0, 0, 0, 0}, {1295, 34, 1536, 4437, 0, 0, 0}, {780, 34, 4420, 1280, 0, 0, 0}, {783, 8224, 4176, 0, 0, 0, 0}, {24320, 816, 0, 0, 0, 0, 0}, {275, 1092, 4369, 0, 0, 0, 0}, {8, 514, 272, 0, 0, 0, 0}, {819, 20480, 0, 0, 0, 0, 0}, {8, 5172, 5888, 1092, 0, 0, 0}, {1375, 1632, 21845, 0, 0, 0, 0}, {828, 13878, 1360, 0, 0, 0, 0}, {8, 823, 4160, 5120, 0, 0, 0}, {8, 4144, 4864, 1088, 0, 0, 0}, {1375, 819, 21845, 0, 0, 0, 0}, {2570, 816, 1360, 0, 0, 0, 0}, {8, 819, 1092, 4096, 0, 0, 0}, {828, 24576, 0, 0, 0, 0, 0}, {279, 4437, 5397, 0, 0, 0, 0}, {34, 514, 276, 0, 0, 0, 0}, {831, 20480, 0, 0, 0, 0, 0}, {4864, 4160, 0, 0, 0, 0, 0}, {843, 34, 1285, 4369, 0, 0, 0}, {1290, 34, 1602, 4352, 0, 0, 0}, {4208, 835, 16384, 0, 0, 0, 0}, {5888, 5188, 0, 0, 0, 0, 0}, {847, 869, 1285, 4112, 0, 0, 0}, {4106, 4128, 4934, 5376, 0, 0, 0}, {5240, 839, 17408, 0, 0, 0, 0}, {840, 13056, 5120, 0, 0, 0, 0}, {42, 4883, 4176, 1285, 0, 0, 0}, {1290, 1312, 5632, 5440, 0, 0, 0}, {843, 6007, 17476, 0, 0, 0, 0}, {844, 4096, 0, 0, 0, 0, 0}, {34, 4626, 4437, 1285, 0, 0, 0}, {1290, 34, 4608, 4420, 0, 0, 0}, {847, 4144, 16448, 0, 0, 0, 0}, {1008, 3072, 13056, 20560, 0, 0, 0}, {8, 34, 512, 337, 1028, 4369, 0}, {338, 1024, 4352, 0, 0, 0, 0}, {20640, 21331, 0, 0, 0, 0, 0}, {8, 884, 1028, 4112, 0, 0, 0}, {1536, 1365, 0, 0, 0, 0, 0}, {1370, 854, 21760, 0, 0, 0, 0}, {8, 4128, 4951, 1024, 0, 0, 0}, {8, 4896, 4176, 1024, 0, 0, 0}, {1548, 13107, 1365, 0, 0, 0, 0}, {1370, 1536, 21760, 0, 0, 0, 0}, {8, 4192, 4883, 1028, 0, 0, 0}, {1020, 3084, 12336, 20560, 0, 0, 0}, {8, 34, 512, 341, 1024, 4096, 0}, {4114, 4420, 1028, 0, 0, 0, 0}, {21343, 12288, 0, 0, 0, 0, 0}, {3840, 21344, 0, 0, 0, 0, 0}, {1287, 1092, 4369, 0, 0, 0, 0}, {8, 34, 512, 320, 1280, 4352, 0}, {963, 3855, 13107, 20560, 0, 0, 0}, {8, 4128, 1792, 1092, 0, 0, 0}, {1295, 869, 21845, 0, 0, 0, 0}, {870, 1280, 0, 0, 0, 0, 0}, {8, 1799, 1088, 4112, 0, 0, 0}, {8, 5152, 1792, 1088, 0, 0, 0}, {1295, 1638, 21845, 0, 0, 0, 0}, {874, 13056, 1280, 0, 0, 0, 0}, {8, 4883, 4176, 5140, 0, 0, 0}, {21356, 12288, 0, 0, 0, 0, 0}, {4114, 4437, 5397, 0, 0, 0, 0}, {8, 34, 512, 324, 1280, 4096, 0}, {975, 3855, 12336, 20560, 0, 0, 0}, {4208, 4864, 16384, 0, 0, 0, 0}, {1375, 34, 1542, 4369, 0, 0, 0}, {1546, 34, 1360, 4352, 0, 0, 0}, {3084, 4915, 4160, 0, 0, 0, 0}, {5960, 884, 17476, 0, 0, 0, 0}, {4106, 4128, 5632, 5461, 0, 0, 0}, {42, 1542, 1360, 4112, 0, 0, 0}, {887, 5120, 0, 0, 0, 0, 0}, {5240, 5888, 17408, 0, 0, 0, 0}, {4170, 4192, 4883, 5397, 0, 0, 0}, {4874, 4896, 4176, 5376, 0, 0, 0}, {5951, 13107, 5188, 0, 0, 0, 0}, {4940, 4144, 16448, 0, 0, 0, 0}, {5130, 34, 4608, 4437, 0, 0, 0}, {34, 4626, 4420, 5140, 0, 0, 0}, {895, 4096, 0, 0, 0, 0, 0}, {128, 768, 4096, 0, 0, 0, 0}, {34, 771, 1285, 4369, 0, 0, 0}, {1290, 34, 768, 4352, 0, 0, 0}, {4144, 771, 16448, 0, 0, 0, 0}, {780, 9984, 5188, 0, 0, 0, 0}, {783, 805, 4176, 1285, 0, 0, 0}, {1290, 1312, 1542, 5440, 0, 0, 0}, {783, 6007, 17408, 0, 0, 0, 0}, {136, 768, 5120, 0, 0, 0, 0}, {42, 771, 1285, 4112, 0, 0, 0}, {4106, 4128, 768, 5376, 0, 0, 0}, {5180, 771, 17476, 0, 0, 0, 0}, {780, 8192, 4160, 0, 0, 0, 0}, {783, 34, 4437, 1285, 0, 0, 0}, {1290, 34, 1542, 4420, 0, 0, 0}, {783, 4208, 16384, 0, 0, 0, 0}, {816, 20560, 0, 0, 0, 0, 0}, {8, 512, 273, 0, 0, 0, 0}, {274, 1088, 4352, 0, 0, 0, 0}, {24415, 819, 0, 0, 0, 0, 0}, {8, 820, 4176, 5140, 0, 0, 0}, {831, 13824, 1365, 0, 0, 0, 0}, {1370, 1638, 21760, 0, 0, 0, 0}, {8, 5152, 5911, 1088, 0, 0, 0}, {8, 816, 1088, 4112, 0, 0, 0}, {2560, 819, 1365, 0, 0, 0, 0}, {1370, 816, 21760, 0, 0, 0, 0}, {8, 4128, 4883, 1092, 0, 0, 0}, {828, 20560, 0, 0, 0, 0, 0}, {34, 512, 277, 0, 0, 0, 0}, {278, 4420, 5376, 0, 0, 0, 0}, {831, 24672, 0, 0, 0, 0, 0}, {20640, 768, 0, 0, 0, 0, 0}, {259, 1028, 4369, 0, 0, 0, 0}, {8, 34, 256, 0, 0, 0, 0}, {771, 20560, 0, 0, 0, 0, 0}, {8, 4192, 772, 1028, 0, 0, 0}, {1295, 1536, 21845, 0, 0, 0, 0}, {780, 13158, 1280, 0, 0, 0, 0}, {8, 775, 4176, 1024, 0, 0, 0}, {8, 4128, 768, 1024, 0, 0, 0}, {1295, 771, 21845, 0, 0, 0, 0}, {170, 768, 1280, 0, 0, 0, 0}, {8, 771, 1028, 4112, 0, 0, 0}, {780, 24672, 0, 0, 0, 0, 0}, {263, 4437, 1024, 0, 0, 0, 0}, {34, 512, 260, 0, 0, 0, 0}, {783, 20560, 0, 0, 0, 0, 0}, {4144, 4864, 16448, 0, 0, 0, 0}, {1375, 34, 785, 4369, 0, 0, 0}, {34, 786, 1360, 4352, 0, 0, 0}, {3148, 819, 4096, 0, 0, 0, 0}, {5180, 5888, 17476, 0, 0, 0, 0}, {4170, 4192, 789, 5397, 0, 0, 0}, {42, 790, 4176, 5376, 0, 0, 0}, {831, 13175, 5120, 0, 0, 0, 0}, {5960, 816, 17408, 0, 0, 0, 0}, {4106, 4128, 4883, 5461, 0, 0, 0}, {794, 816, 1360, 4112, 0, 0, 0}, {6144, 819, 5188, 0, 0, 0, 0}, {4940, 4208, 16384, 0, 0, 0, 0}, {5130, 34, 5911, 4437, 0, 0, 0}, {798, 34, 4420, 5140, 0, 0, 0}, {831, 8192, 4160, 0, 0, 0, 0}, {960, 3840, 13056, 20480, 0, 0, 0}, {8, 34, 514, 321, 1285, 4369, 0}, {1282, 1088, 4352, 0, 0, 0, 0}, {3855, 21299, 0, 0, 0, 0, 0}, {8, 1792, 1092, 4096, 0, 0, 0}, {869, 1285, 0, 0, 0, 0, 0}, {1290, 870, 21760, 0, 0, 0, 0}, {8, 4144, 1799, 1088, 0, 0, 0}, {8, 4864, 4160, 5120, 0, 0, 0}, {873, 13107, 1285, 0, 0, 0, 0}, {1290, 1632, 21760, 0, 0, 0, 0}, {8, 5172, 1799, 1092, 0, 0, 0}, {972, 3840, 12288, 20480, 0, 0, 0}, {8, 34, 514, 325, 1285, 4112, 0}, {4098, 4420, 5376, 0, 0, 0, 0}, {21311, 12336, 0, 0, 0, 0, 0}, {3072, 4896, 4176, 0, 0, 0, 0}, {1548, 34, 1365, 4369, 0, 0, 0}, {1370, 34, 1536, 4352, 0, 0, 0}, {4192, 4883, 16448, 0, 0, 0, 0}, {884, 5140, 0, 0, 0, 0, 0}, {42, 1536, 1365, 4096, 0, 0, 0}, {4122, 4144, 5654, 5440, 0, 0, 0}, {5983, 887, 17408, 0, 0, 0, 0}, {5928, 13056, 5200, 0, 0, 0, 0}, {4889, 4915, 4160, 5397, 0, 0, 0}, {4186, 4208, 4864, 5376, 0, 0, 0}, {5228, 5911, 17476, 0, 0, 0, 0}, {892, 4112, 0, 0, 0, 0, 0}, {34, 4608, 4437, 5120, 0, 0, 0}, {5150, 34, 4626, 4420, 0, 0, 0}, {4959, 4128, 16384, 0, 0, 0, 0}, {4192, 832, 16448, 0, 0, 0, 0}, {1295, 34, 1604, 4369, 0, 0, 0}, {840, 34, 1280, 4352, 0, 0, 0}, {4883, 4176, 0, 0, 0, 0, 0}, {5228, 836, 17476, 0, 0, 0, 0}, {4122, 4144, 4949, 5397, 0, 0, 0}, {844, 870, 1280, 4096, 0, 0, 0}, {5911, 5200, 0, 0, 0, 0, 0}, {840, 5984, 17408, 0, 0, 0, 0}, {1295, 1317, 5654, 5461, 0, 0, 0}, {42, 4864, 4160, 1280, 0, 0, 0}, {843, 13107, 5140, 0, 0, 0, 0}, {844, 4128, 16384, 0, 0, 0, 0}, {1295, 34, 4626, 4437, 0, 0, 0}, {34, 4608, 4420, 1280, 0, 0, 0}, {847, 4112, 0, 0, 0, 0, 0}, {20720, 21248, 0, 0, 0, 0, 0}, {339, 1028, 4369, 0, 0, 0, 0}, {8, 34, 514, 336, 1024, 4352, 0}, {1011, 3084, 13107, 20480, 0, 0, 0}, {8, 4144, 4932, 1028, 0, 0, 0}, {1375, 853, 21845, 0, 0, 0, 0}, {1542, 1360, 0, 0, 0, 0, 0}, {8, 887, 1024, 4096, 0, 0, 0}, {8, 4208, 4864, 1024, 0, 0, 0}, {1375, 1542, 21845, 0, 0, 0, 0}, {1546, 13056, 1360, 0, 0, 0, 0}, {8, 4915, 4160, 1028, 0, 0, 0}, {21260, 12336, 0, 0, 0, 0, 0}, {4098, 4437, 1024, 0, 0, 0, 0}, {8, 34, 514, 340, 1028, 4112, 0}, {1023, 3072, 12288, 20480, 0, 0, 0}, {8192, 1024, 0, 0, 0, 0, 0}, {15, 85, 257, 0, 0, 0, 0}, {1032, 17442, 514, 0, 0, 0, 0}, {1027, 20480, 0, 0, 0, 0, 0}, {8320, 1028, 0, 0, 0, 0, 0}, {768, 261, 4352, 0, 0, 0, 0}, {1036, 17510, 1542, 0, 0, 0, 0}, {1031, 20480, 0, 0, 0, 0, 0}, {1032, 24576, 0, 0, 0, 0, 0}, {262, 85, 1285, 0, 0, 0, 0}, {522, 8704, 1024, 0, 0, 0, 0}, {15, 771, 4160, 1028, 0, 0, 0}, {1036, 8192, 0, 0, 0, 0, 0}, {258, 85, 1285, 0, 0, 0, 0}, {170, 514, 1028, 0, 0, 0, 0}, {15, 768, 1024, 4096, 0, 0, 0}, {3120, 1088, 4112, 0, 0, 0, 0}, {546, 85, 1041, 4369, 0, 0, 0}, {1042, 20480, 0, 0, 0, 0, 0}, {1100, 17459, 4883, 0, 0, 0, 0}, {12288, 4176, 5140, 0, 0, 0, 0}, {554, 85, 1045, 4352, 0, 0, 0}, {1046, 20480, 0, 0, 0, 0, 0}, {1096, 17527, 5911, 0, 0, 0, 0}, {1096, 4192, 20560, 0, 0, 0, 0}, {1049, 4403, 5888, 85, 0, 0, 0}, {4122, 4656, 4160, 5120, 0, 0, 0}, {5928, 13107, 1092, 0, 0, 0, 0}, {1100, 4128, 20560, 0, 0, 0, 0}, {1053, 4386, 4864, 85, 0, 0, 0}, {1054, 546, 1092, 4096, 0, 0, 0}, {7967, 4896, 1088, 0, 0, 0, 0}, {1152, 3072, 8224, 17408, 0, 0, 0}, {15, 289, 771, 85, 1280, 4369, 0}, {1058, 1536, 16384, 0, 0, 0, 0}, {15, 1139, 771, 4112, 0, 0, 0}, {1156, 3084, 9252, 17476, 0, 0, 0}, {15, 293, 768, 85, 1280, 4352, 0}, {1548, 1062, 16448, 0, 0, 0, 0}, {15, 5159, 768, 4176, 0, 0, 0}, {9256, 16384, 0, 0, 0, 0, 0}, {4403, 771, 4117, 0, 0, 0, 0}, {1066, 1536, 17408, 0, 0, 0, 0}, {15, 4192, 771, 5140, 0, 0, 0}, {1164, 3084, 8224, 16448, 0, 0, 0}, {15, 290, 768, 85, 1280, 4096, 0}, {1548, 546, 17476, 0, 0, 0, 0}, {15, 4128, 768, 5200, 0, 0, 0}, {4144, 5120, 0, 0, 0, 0, 0}, {1083, 514, 85, 4369, 0, 0, 0}, {90, 1122, 514, 4112, 0, 0, 0}, {1075, 5888, 16384, 0, 0, 0, 0}, {2056, 1076, 5188, 0, 0, 0, 0}, {522, 1589, 85, 4352, 0, 0, 0}, {4106, 5174, 4608, 4176, 0, 0, 0}, {5960, 1079, 16448, 0, 0, 0, 0}, {1080, 12336, 4160, 0, 0, 0, 0}, {522, 4403, 85, 5376, 0, 0, 0}, {5130, 1072, 5632, 5200, 0, 0, 0}, {4940, 6007, 17476, 0, 0, 0, 0}, {1084, 4096, 0, 0, 0, 0, 0}, {4386, 514, 85, 5397, 0, 0, 0}, {90, 4128, 514, 5140, 0, 0, 0}, {1087, 4864, 17408, 0, 0, 0, 0}, {10240, 1088, 0, 0, 0, 0, 0}, {819, 276, 4369, 0, 0, 0, 0}, {1096, 17442, 16962, 0, 0, 0, 0}, {1091, 20480, 0, 0, 0, 0, 0}, {8192, 1092, 0, 0, 0, 0, 0}, {15, 1285, 272, 0, 0, 0, 0}, {1100, 17510, 17990, 0, 0, 0, 0}, {1095, 20480, 0, 0, 0, 0, 0}, {1096, 8192, 0, 0, 0, 0, 0}, {275, 85, 1285, 0, 0, 0, 0}, {2570, 544, 1088, 0, 0, 0, 0}, {15, 819, 1092, 4096, 0, 0, 0}, {1100, 24576, 0, 0, 0, 0, 0}, {279, 85, 1285, 0, 0, 0, 0}, {552, 8738, 1092, 0, 0, 0, 0}, {15, 816, 4160, 5120, 0, 0, 0}, {12288, 4176, 1024, 0, 0, 0, 0}, {520, 85, 1028, 4369, 0, 0, 0}, {1106, 20480, 0, 0, 0, 0, 0}, {1036, 17459, 21331, 0, 0, 0, 0}, {240, 1028, 4112, 0, 0, 0, 0}, {512, 85, 1024, 4352, 0, 0, 0}, {1110, 20480, 0, 0, 0, 0, 0}, {1032, 17527, 22359, 0, 0, 0, 0}, {1032, 4128, 20560, 0, 0, 0, 0}, {1036, 4403, 512, 85, 0, 0, 0}, {90, 512, 1024, 4096, 0, 0, 0}, {255, 4883, 1028, 0, 0, 0, 0}, {1036, 4192, 20560, 0, 0, 0, 0}, {1032, 4386, 1536, 85, 0, 0, 0}, {4122, 4626, 4160, 1028, 0, 0, 0}, {4959, 13056, 1024, 0, 0, 0, 0}, {1216, 2048, 9312, 17408, 0, 0, 0}, {15, 308, 519, 85, 1280, 4369, 0}, {520, 1122, 16448, 0, 0, 0, 0}, {15, 1075, 1792, 4176, 0, 0, 0}, {1220, 2056, 8224, 17476, 0, 0, 0}, {15, 304, 512, 85, 1280, 4352, 0}, {1126, 512, 16384, 0, 0, 0, 0}, {15, 1079, 1799, 4112, 0, 0, 0}, {1224, 2056, 8224, 16448, 0, 0, 0}, {15, 307, 512, 85, 1280, 4096, 0}, {1130, 512, 17408, 0, 0, 0, 0}, {15, 4128, 4883, 5140, 0, 0, 0}, {9324, 16384, 0, 0, 0, 0, 0}, {4386, 4626, 4117, 0, 0, 0, 0}, {520, 1638, 17476, 0, 0, 0, 0}, {15, 1072, 1792, 5200, 0, 0, 0}, {4208, 5120, 0, 0, 0, 0, 0}, {1070, 1542, 85, 4369, 0, 0, 0}, {4106, 1058, 5632, 4176, 0, 0, 0}, {4940, 1139, 16448, 0, 0, 0, 0}, {3084, 4144, 5188, 0, 0, 0, 0}, {1546, 544, 85, 4352, 0, 0, 0}, {90, 1062, 1542, 4112, 0, 0, 0}, {1143, 4864, 16384, 0, 0, 0, 0}, {1144, 4096, 0, 0, 0, 0, 0}, {4403, 4883, 85, 5397, 0, 0, 0}, {5130, 4128, 4608, 5200, 0, 0, 0}, {5960, 4915, 17476, 0, 0, 0, 0}, {5180, 12336, 4160, 0, 0, 0, 0}, {4874, 4386, 85, 5376, 0, 0, 0}, {90, 4192, 4626, 5140, 0, 0, 0}, {1151, 5888, 17408, 0, 0, 0, 0}, {1152, 3072, 9216, 17408, 0, 0, 0}, {15, 292, 771, 85, 1285, 4369, 0}, {1546, 1058, 16384, 0, 0, 0, 0}, {15, 5171, 771, 4160, 0, 0, 0}, {1156, 3084, 8192, 17476, 0, 0, 0}, {15, 288, 768, 85, 1285, 4352, 0}, {1062, 1542, 16448, 0, 0, 0, 0}, {15, 1143, 768, 4096, 0, 0, 0}, {1160, 3072, 8192, 16384, 0, 0, 0}, {15, 291, 771, 85, 1285, 4112, 0}, {1546, 544, 17408, 0, 0, 0, 0}, {15, 4144, 771, 5188, 0, 0, 0}, {9228, 16448, 0, 0, 0, 0, 0}, {4386, 768, 4101, 0, 0, 0, 0}, {1070, 1542, 17476, 0, 0, 0, 0}, {15, 4208, 768, 5120, 0, 0, 0}, {2048, 1072, 5200, 0, 0, 0, 0}, {520, 1587, 85, 4369, 0, 0, 0}, {4122, 5154, 4626, 4160, 0, 0, 0}, {5983, 1075, 16384, 0, 0, 0, 0}, {4128, 5140, 0, 0, 0, 0, 0}, {1087, 512, 85, 4352, 0, 0, 0}, {90, 1126, 512, 4096, 0, 0, 0}, {1079, 5911, 16448, 0, 0, 0, 0}, {1080, 4112, 0, 0, 0, 0, 0}, {4403, 512, 85, 5376, 0, 0, 0}, {90, 4144, 512, 5120, 0, 0, 0}, {1083, 4883, 17476, 0, 0, 0, 0}, {1084, 12288, 4176, 0, 0, 0, 0}, {520, 4386, 85, 5397, 0, 0, 0}, {5150, 1076, 5654, 5188, 0, 0, 0}, {4959, 5984, 17408, 0, 0, 0, 0}, {8352, 1024, 0, 0, 0, 0, 0}, {771, 260, 4369, 0, 0, 0, 0}, {1032, 17442, 1536, 0, 0, 0, 0}, {1027, 20560, 0, 0, 0, 0, 0}, {8224, 1028, 0, 0, 0, 0, 0}, {15, 85, 256, 0, 0, 0, 0}, {1036, 17510, 512, 0, 0, 0, 0}, {1031, 20560, 0, 0, 0, 0, 0}, {1032, 8224, 0, 0, 0, 0, 0}, {259, 85, 1280, 0, 0, 0, 0}, {170, 512, 1024, 0, 0, 0, 0}, {15, 771, 1028, 4112, 0, 0, 0}, {1036, 24672, 0, 0, 0, 0, 0}, {263, 85, 1280, 0, 0, 0, 0}, {520, 8738, 1028, 0, 0, 0, 0}, {15, 768, 4176, 1024, 0, 0, 0}, {12336, 4160, 5120, 0, 0, 0, 0}, {552, 85, 1041, 4369, 0, 0, 0}, {1042, 20560, 0, 0, 0, 0, 0}, {1100, 17459, 5888, 0, 0, 0, 0}, {3132, 1092, 4096, 0, 0, 0, 0}, {544, 85, 1045, 4352, 0, 0, 0}, {1046, 20560, 0, 0, 0, 0, 0}, {1096, 17527, 4864, 0, 0, 0, 0}, {1096, 4144, 20480, 0, 0, 0, 0}, {1049, 4403, 4883, 85, 0, 0, 0}, {1050, 544, 1088, 4112, 0, 0, 0}, {7936, 4915, 1092, 0, 0, 0, 0}, {1100, 4208, 20480, 0, 0, 0, 0}, {1053, 4386, 5911, 85, 0, 0, 0}, {4106, 4642, 4176, 5140, 0, 0, 0}, {5951, 13056, 1088, 0, 0, 0, 0}, {1216, 2048, 8192, 17408, 0, 0, 0}, {15, 305, 514, 85, 1285, 4369, 0}, {1122, 514, 16448, 0, 0, 0, 0}, {15, 1075, 1792, 4096, 0, 0, 0}, {1220, 2056, 9284, 17476, 0, 0, 0}, {15, 309, 517, 85, 1285, 4352, 0}, {522, 1126, 16384, 0, 0, 0, 0}, {15, 1079, 1799, 4160, 0, 0, 0}, {9288, 16448, 0, 0, 0, 0, 0}, {4403, 4608, 4101, 0, 0, 0, 0}, {522, 1632, 17408, 0, 0, 0, 0}, {15, 1076, 1799, 5188, 0, 0, 0}, {1228, 2048, 8192, 16384, 0, 0, 0}, {15, 306, 514, 85, 1285, 4112, 0}, {1134, 514, 17476, 0, 0, 0, 0}, {15, 4144, 4864, 5120, 0, 0, 0}, {3072, 4128, 5200, 0, 0, 0, 0}, {1548, 546, 85, 4369, 0, 0, 0}, {90, 1058, 1536, 4096, 0, 0, 0}, {1139, 4883, 16448, 0, 0, 0, 0}, {4192, 5140, 0, 0, 0, 0, 0}, {1066, 1536, 85, 4352, 0, 0, 0}, {4122, 1062, 5654, 4160, 0, 0, 0}, {4959, 1143, 16384, 0, 0, 0, 0}, {5160, 12288, 4176, 0, 0, 0, 0}, {4889, 4403, 85, 5397, 0, 0, 0}, {90, 4208, 4608, 5120, 0, 0, 0}, {1147, 5911, 17476, 0, 0, 0, 0}, {1148, 4112, 0, 0, 0, 0, 0}, {4386, 4864, 85, 5376, 0, 0, 0}, {5150, 4144, 4626, 5188, 0, 0, 0}, {5983, 4896, 17408, 0, 0, 0, 0}, {8224, 1088, 0, 0, 0, 0, 0}, {15, 1280, 273, 0, 0, 0, 0}, {1096, 17442, 17920, 0, 0, 0, 0}, {1091, 20560, 0, 0, 0, 0, 0}, {10280, 1092, 0, 0, 0, 0, 0}, {816, 277, 4352, 0, 0, 0, 0}, {1100, 17510, 16896, 0, 0, 0, 0}, {1095, 20560, 0, 0, 0, 0, 0}, {1096, 24672, 0, 0, 0, 0, 0}, {278, 85, 1280, 0, 0, 0, 0}, {554, 8704, 1088, 0, 0, 0, 0}, {15, 819, 4176, 5140, 0, 0, 0}, {1100, 8224, 0, 0, 0, 0, 0}, {274, 85, 1280, 0, 0, 0, 0}, {2560, 546, 1092, 0, 0, 0, 0}, {15, 816, 1088, 4112, 0, 0, 0}, {240, 1024, 4096, 0, 0, 0, 0}, {514, 85, 1028, 4369, 0, 0, 0}, {1106, 20560, 0, 0, 0, 0, 0}, {1036, 17459, 22272, 0, 0, 0, 0}, {12336, 4160, 1028, 0, 0, 0, 0}, {522, 85, 1024, 4352, 0, 0, 0}, {1110, 20560, 0, 0, 0, 0, 0}, {1032, 17527, 21248, 0, 0, 0, 0}, {1032, 4208, 20480, 0, 0, 0, 0}, {1036, 4403, 1542, 85, 0, 0, 0}, {4106, 4608, 4176, 1024, 0, 0, 0}, {4940, 13107, 1028, 0, 0, 0, 0}, {1036, 4144, 20480, 0, 0, 0, 0}, {1032, 4386, 514, 85, 0, 0, 0}, {90, 514, 1028, 4112, 0, 0, 0}, {255, 4864, 1024, 0, 0, 0, 0}, {3840, 21760, 0, 0, 0, 0, 0}, {32, 4, 257, 0, 0, 0, 0}, {1282, 20480, 0, 0, 0, 0, 0}, {12, 21811, 771, 0, 0, 0, 0}, {768, 4, 4352, 0, 0, 0, 0}, {160, 1285, 0, 0, 0, 0, 0}, {1286, 20480, 0, 0, 0, 0, 0}, {8, 21879, 1799, 0, 0, 0, 0}, {8, 1792, 21760, 0, 0, 0, 0}, {12, 96, 771, 1285, 0, 0, 0}, {1290, 20480, 0, 0, 0, 0, 0}, {4403, 771, 4, 0, 0, 0, 0}, {12, 768, 21760, 0, 0, 0, 0}, {8, 32, 514, 1285, 0, 0, 0}, {258, 4, 4096, 0, 0, 0, 0}, {22015, 3855, 0, 0, 0, 0, 0}, {32, 64, 1296, 4112, 0, 0, 0}, {3891, 68, 4369, 0, 0, 0, 0}, {72, 21794, 4626, 0, 0, 0, 0}, {1299, 20480, 0, 0, 0, 0, 0}, {40, 68, 1300, 4352, 0, 0, 0}, {12288, 64, 5397, 0, 0, 0, 0}, {76, 21862, 5654, 0, 0, 0, 0}, {1303, 20480, 0, 0, 0, 0, 0}, {1304, 1328, 5888, 1360, 0, 0, 0}, {76, 5734, 21845, 0, 0, 0, 0}, {5418, 12336, 64, 0, 0, 0, 0}, {4379, 4403, 68, 5120, 0, 0, 0}, {1308, 32, 4864, 1360, 0, 0, 0}, {72, 4642, 21845, 0, 0, 0, 0}, {7710, 4386, 68, 0, 0, 0, 0}, {1311, 32, 64, 4096, 0, 0, 0}, {32, 1280, 0, 0, 0, 0, 0}, {12, 771, 68, 4369, 0, 0, 0}, {3840, 21794, 0, 0, 0, 0, 0}, {1283, 64, 4112, 0, 0, 0, 0}, {12, 36, 768, 68, 1280, 4352, 0}, {128, 3855, 9509, 21845, 0, 0, 0}, {12, 5414, 768, 64, 0, 0, 0}, {1295, 1319, 20560, 0, 0, 0, 0}, {40, 8704, 1280, 0, 0, 0, 0}, {12, 771, 64, 5397, 0, 0, 0}, {21802, 28672, 0, 0, 0, 0, 0}, {4375, 68, 5140, 0, 0, 0, 0}, {12, 32, 768, 64, 1280, 4096, 0}, {136, 3855, 8738, 21845, 0, 0, 0}, {12, 4386, 768, 68, 0, 0, 0}, {1295, 32, 20560, 0, 0, 0, 0}, {192, 3888, 12336, 21760, 0, 0, 0}, {8, 32, 514, 68, 1297, 4369, 0}, {1298, 64, 4112, 0, 0, 0, 0}, {23040, 21811, 0, 0, 0, 0, 0}, {8, 1844, 68, 4352, 0, 0, 0}, {2570, 1333, 1365, 0, 0, 0, 0}, {1370, 1334, 20560, 0, 0, 0, 0}, {8, 5431, 4608, 64, 0, 0, 0}, {8, 4656, 64, 5376, 0, 0, 0}, {1337, 13107, 1365, 0, 0, 0, 0}, {1370, 96, 20560, 0, 0, 0, 0}, {8, 4403, 5632, 68, 0, 0, 0}, {204, 3900, 13056, 21760, 0, 0, 0}, {8, 32, 514, 64, 1301, 4096, 0}, {4354, 68, 5140, 0, 0, 0, 0}, {21823, 12288, 0, 0, 0, 0, 0}, {12288, 64, 5376, 0, 0, 0, 0}, {40, 68, 1285, 4369, 0, 0, 0}, {1346, 20480, 0, 0, 0, 0, 0}, {76, 21811, 17219, 0, 0, 0, 0}, {3840, 68, 4352, 0, 0, 0, 0}, {32, 64, 1285, 4112, 0, 0, 0}, {1350, 20480, 0, 0, 0, 0, 0}, {72, 21879, 18247, 0, 0, 0, 0}, {72, 4608, 21760, 0, 0, 0, 0}, {76, 32, 4883, 1285, 0, 0, 0}, {1290, 32, 64, 4096, 0, 0, 0}, {3855, 4403, 68, 0, 0, 0, 0}, {76, 5632, 21760, 0, 0, 0, 0}, {72, 96, 4626, 1285, 0, 0, 0}, {4362, 4386, 68, 5120, 0, 0, 0}, {5439, 12336, 64, 0, 0, 0, 0}, {2560, 1360, 0, 0, 0, 0, 0}, {819, 4, 4369, 0, 0, 0, 0}, {8, 21794, 21074, 0, 0, 0, 0}, {1363, 20480, 0, 0, 0, 0, 0}, {512, 4, 272, 0, 0, 0, 0}, {4095, 21845, 0, 0, 0, 0, 0}, {12, 21862, 22102, 0, 0, 0, 0}, {1367, 20480, 0, 0, 0, 0, 0}, {8, 32, 512, 1360, 0, 0, 0}, {12, 819, 21845, 0, 0, 0, 0}, {21930, 23130, 0, 0, 0, 0, 0}, {275, 4, 4096, 0, 0, 0, 0}, {12, 1328, 1536, 1360, 0, 0, 0}, {8, 1911, 21845, 0, 0, 0, 0}, {4386, 4626, 4, 0, 0, 0, 0}, {1375, 20480, 0, 0, 0, 0, 0}, {96, 1280, 0, 0, 0, 0, 0}, {8, 1799, 68, 4369, 0, 0, 0}, {8, 5410, 1792, 64, 0, 0, 0}, {1295, 1379, 20560, 0, 0, 0, 0}, {8, 32, 512, 68, 1280, 4352, 0}, {192, 3855, 12336, 21845, 0, 0, 0}, {3840, 21862, 0, 0, 0, 0, 0}, {1287, 64, 4112, 0, 0, 0, 0}, {8, 32, 512, 64, 1280, 4096, 0}, {204, 3855, 13107, 21845, 0, 0, 0}, {21866, 12288, 0, 0, 0, 0, 0}, {4371, 68, 5140, 0, 0, 0, 0}, {108, 13056, 1280, 0, 0, 0, 0}, {8, 4626, 64, 5397, 0, 0, 0}, {8, 4386, 1792, 68, 0, 0, 0}, {1295, 96, 20560, 0, 0, 0, 0}, {128, 3952, 9584, 21760, 0, 0, 0}, {12, 36, 791, 68, 1297, 4369, 0}, {1370, 1394, 20560, 0, 0, 0, 0}, {12, 5427, 5632, 64, 0, 0, 0}, {12, 816, 68, 4352, 0, 0, 0}, {2570, 32, 1365, 0, 0, 0, 0}, {1302, 64, 4112, 0, 0, 0, 0}, {23040, 21879, 0, 0, 0, 0, 0}, {136, 3960, 8704, 21760, 0, 0, 0}, {12, 32, 787, 64, 1301, 4096, 0}, {1370, 32, 20560, 0, 0, 0, 0}, {12, 4403, 4608, 68, 0, 0, 0}, {12, 816, 64, 5376, 0, 0, 0}, {40, 8738, 1365, 0, 0, 0, 0}, {4358, 68, 5140, 0, 0, 0, 0}, {21887, 28672, 0, 0, 0, 0, 0}, {128, 3840, 9472, 21760, 0, 0, 0}, {12, 36, 771, 68, 1285, 4369, 0}, {1290, 1314, 20480, 0, 0, 0, 0}, {12, 5427, 771, 64, 0, 0, 0}, {12, 768, 68, 4352, 0, 0, 0}, {32, 1285, 0, 0, 0, 0, 0}, {1286, 64, 4096, 0, 0, 0, 0}, {3855, 21879, 0, 0, 0, 0, 0}, {136, 3840, 8704, 21760, 0, 0, 0}, {12, 32, 771, 64, 1285, 4112, 0}, {1290, 32, 20480, 0, 0, 0, 0}, {12, 4403, 771, 68, 0, 0, 0}, {12, 768, 64, 5376, 0, 0, 0}, {40, 8738, 1285, 0, 0, 0, 0}, {4358, 68, 5120, 0, 0, 0, 0}, {21887, 28784, 0, 0, 0, 0, 0}, {2560, 1328, 1360, 0, 0, 0, 0}, {8, 1843, 68, 4369, 0, 0, 0}, {8, 5410, 4626, 64, 0, 0, 0}, {1375, 1331, 20480, 0, 0, 0, 0}, {8, 32, 512, 68, 1300, 4352, 0}, {192, 3903, 12288, 21845, 0, 0, 0}, {23130, 21862, 0, 0, 0, 0, 0}, {1303, 64, 4096, 0, 0, 0, 0}, {8, 32, 512, 64, 1296, 4112, 0}, {204, 3891, 13107, 21845, 0, 0, 0}, {21866, 12336, 0, 0, 0, 0, 0}, {4371, 68, 5120, 0, 0, 0, 0}, {1340, 13056, 1360, 0, 0, 0, 0}, {8, 4642, 64, 5397, 0, 0, 0}, {8, 4386, 5654, 68, 0, 0, 0}, {1375, 96, 20480, 0, 0, 0, 0}, {160, 1280, 0, 0, 0, 0, 0}, {771, 4, 4369, 0, 0, 0, 0}, {8, 21794, 1792, 0, 0, 0, 0}, {1283, 20560, 0, 0, 0, 0, 0}, {32, 4, 256, 0, 0, 0, 0}, {3855, 21845, 0, 0, 0, 0, 0}, {12, 21862, 768, 0, 0, 0, 0}, {1287, 20560, 0, 0, 0, 0, 0}, {8, 32, 512, 1280, 0, 0, 0}, {12, 771, 21845, 0, 0, 0, 0}, {21930, 3840, 0, 0, 0, 0, 0}, {259, 4, 4112, 0, 0, 0, 0}, {12, 96, 768, 1280, 0, 0, 0}, {8, 1799, 21845, 0, 0, 0, 0}, {4386, 768, 4, 0, 0, 0, 0}, {1295, 20560, 0, 0, 0, 0, 0}, {12336, 64, 5376, 0, 0, 0, 0}, {40, 68, 1297, 4369, 0, 0, 0}, {1298, 20560, 0, 0, 0, 0, 0}, {76, 21811, 5632, 0, 0, 0, 0}, {3900, 68, 4352, 0, 0, 0, 0}, {32, 64, 1301, 4096, 0, 0, 0}, {1302, 20560, 0, 0, 0, 0, 0}, {72, 21879, 4608, 0, 0, 0, 0}, {72, 4656, 21760, 0, 0, 0, 0}, {1305, 32, 4883, 1365, 0, 0, 0}, {1306, 32, 64, 4112, 0, 0, 0}, {7680, 4403, 68, 0, 0, 0, 0}, {76, 5744, 21760, 0, 0, 0, 0}, {1309, 1333, 5911, 1365, 0, 0, 0}, {4362, 4386, 68, 5140, 0, 0, 0}, {5439, 12288, 64, 0, 0, 0, 0}, {192, 3840, 12288, 21760, 0, 0, 0}, {8, 32, 514, 68, 1285, 4369, 0}, {1282, 64, 4096, 0, 0, 0, 0}, {3855, 21811, 0, 0, 0, 0, 0}, {8, 1792, 68, 4352, 0, 0, 0}, {96, 1285, 0, 0, 0, 0, 0}, {1290, 1382, 20480, 0, 0, 0, 0}, {8, 5431, 1799, 64, 0, 0, 0}, {8, 4608, 64, 5376, 0, 0, 0}, {108, 13107, 1285, 0, 0, 0, 0}, {1290, 96, 20480, 0, 0, 0, 0}, {8, 4403, 1799, 68, 0, 0, 0}, {204, 3840, 13056, 21760, 0, 0, 0}, {8, 32, 514, 64, 1285, 4112, 0}, {4354, 68, 5120, 0, 0, 0, 0}, {21823, 12336, 0, 0, 0, 0, 0}, {2560, 32, 1360, 0, 0, 0, 0}, {12, 819, 68, 4369, 0, 0, 0}, {23130, 21794, 0, 0, 0, 0, 0}, {1299, 64, 4096, 0, 0, 0, 0}, {12, 36, 788, 68, 1300, 4352, 0}, {128, 3967, 9557, 21845, 0, 0, 0}, {12, 5414, 5654, 64, 0, 0, 0}, {1375, 1399, 20480, 0, 0, 0, 0}, {40, 8704, 1360, 0, 0, 0, 0}, {12, 819, 64, 5397, 0, 0, 0}, {21802, 28784, 0, 0, 0, 0, 0}, {4375, 68, 5120, 0, 0, 0, 0}, {12, 32, 784, 64, 1296, 4112, 0}, {136, 3959, 8738, 21845, 0, 0, 0}, {12, 4386, 4626, 68, 0, 0, 0}, {1375, 32, 20480, 0, 0, 0, 0}, {32, 64, 1280, 4096, 0, 0, 0}, {3855, 68, 4369, 0, 0, 0, 0}, {72, 21794, 18176, 0, 0, 0, 0}, {1347, 20560, 0, 0, 0, 0, 0}, {40, 68, 1280, 4352, 0, 0, 0}, {12336, 64, 5397, 0, 0, 0, 0}, {76, 21862, 17152, 0, 0, 0, 0}, {1351, 20560, 0, 0, 0, 0, 0}, {72, 96, 4608, 1280, 0, 0, 0}, {76, 5654, 21845, 0, 0, 0, 0}, {5418, 12288, 64, 0, 0, 0, 0}, {4379, 4403, 68, 5140, 0, 0, 0}, {76, 32, 4864, 1280, 0, 0, 0}, {72, 4626, 21845, 0, 0, 0, 0}, {3840, 4386, 68, 0, 0, 0, 0}, {1295, 32, 64, 4112, 0, 0, 0}, {4080, 21760, 0, 0, 0, 0, 0}, {514, 4, 273, 0, 0, 0, 0}, {1362, 20560, 0, 0, 0, 0, 0}, {12, 21811, 22016, 0, 0, 0, 0}, {816, 4, 4352, 0, 0, 0, 0}, {2570, 1365, 0, 0, 0, 0, 0}, {1366, 20560, 0, 0, 0, 0, 0}, {8, 21879, 20992, 0, 0, 0, 0}, {8, 1904, 21760, 0, 0, 0, 0}, {12, 1333, 1542, 1365, 0, 0, 0}, {1370, 20560, 0, 0, 0, 0, 0}, {4403, 4608, 4, 0, 0, 0, 0}, {12, 816, 21760, 0, 0, 0, 0}, {8, 32, 514, 1365, 0, 0, 0}, {274, 4, 4112, 0, 0, 0, 0}, {22015, 23040, 0, 0, 0, 0, 0}, {3072, 26112, 0, 0, 0, 0, 0}, {7, 80, 257, 0, 0, 0, 0}, {8, 32, 514, 1024, 0, 0, 0}, {15, 771, 21760, 0, 0, 0, 0}, {8, 8704, 1028, 0, 0, 0, 0}, {15, 768, 80, 1285, 0, 0, 0}, {160, 1542, 0, 0, 0, 0, 0}, {7, 1024, 4352, 0, 0, 0, 0}, {8, 8704, 1024, 0, 0, 0, 0}, {15, 771, 80, 1285, 0, 0, 0}, {1546, 24576, 0, 0, 0, 0, 0}, {7, 4420, 1028, 0, 0, 0, 0}, {26316, 3084, 0, 0, 0, 0, 0}, {258, 261, 4096, 0, 0, 0, 0}, {8, 32, 514, 1028, 0, 0, 0}, {15, 768, 21760, 0, 0, 0, 0}, {32, 1552, 80, 4112, 0, 0, 0}, {3140, 119, 4369, 0, 0, 0, 0}, {120, 4626, 17408, 0, 0, 0, 0}, {95, 32, 4883, 5376, 0, 0, 0}, {40, 4608, 80, 5140, 0, 0, 0}, {127, 13056, 5397, 0, 0, 0, 0}, {112, 5654, 16384, 0, 0, 0, 0}, {95, 119, 1559, 4352, 0, 0, 0}, {4632, 4656, 80, 5120, 0, 0, 0}, {5418, 13107, 5461, 0, 0, 0, 0}, {5722, 112, 16448, 0, 0, 0, 0}, {4379, 4403, 5888, 4420, 0, 0, 0}, {1564, 32, 80, 4096, 0, 0, 0}, {7453, 4386, 4437, 0, 0, 0, 0}, {4698, 4642, 17476, 0, 0, 0, 0}, {5407, 32, 4864, 5440, 0, 0, 0}, {32, 1536, 16384, 0, 0, 0, 0}, {15, 119, 771, 4369, 0, 0, 0}, {136, 3072, 8738, 17408, 0, 0, 0}, {15, 32, 771, 80, 1280, 4112, 0}, {1548, 1572, 17476, 0, 0, 0, 0}, {15, 5413, 768, 5461, 0, 0, 0}, {128, 3084, 9766, 16448, 0, 0, 0}, {15, 39, 768, 80, 1280, 4352, 0}, {40, 1536, 17408, 0, 0, 0, 0}, {15, 112, 771, 5397, 0, 0, 0}, {9770, 16384, 0, 0, 0, 0, 0}, {4403, 771, 4372, 0, 0, 0, 0}, {1548, 32, 16448, 0, 0, 0, 0}, {15, 4386, 768, 4437, 0, 0, 0}, {136, 3084, 8738, 17476, 0, 0, 0}, {15, 32, 768, 80, 1280, 4096, 0}, {23040, 22064, 0, 0, 0, 0, 0}, {1043, 1092, 4369, 0, 0, 0, 0}, {8, 32, 514, 80, 1040, 4112, 0}, {255, 3123, 13107, 21760, 0, 0, 0}, {8, 1076, 4608, 1092, 0, 0, 0}, {95, 1589, 21845, 0, 0, 0, 0}, {2570, 1590, 80, 0, 0, 0, 0}, {8, 1079, 1088, 4352, 0, 0, 0}, {8, 1072, 5632, 1088, 0, 0, 0}, {95, 1638, 21845, 0, 0, 0, 0}, {1594, 12336, 80, 0, 0, 0, 0}, {8, 4403, 4420, 5376, 0, 0, 0}, {22076, 12288, 0, 0, 0, 0, 0}, {4354, 4437, 5397, 0, 0, 0, 0}, {8, 32, 514, 80, 1044, 4096, 0}, {255, 3135, 13056, 21760, 0, 0, 0}, {128, 3136, 9792, 16448, 0, 0, 0}, {15, 39, 788, 80, 1285, 4369, 0}, {40, 1602, 17408, 0, 0, 0, 0}, {15, 112, 835, 5376, 0, 0, 0}, {136, 3140, 8704, 17476, 0, 0, 0}, {15, 32, 784, 80, 1285, 4112, 0}, {32, 1606, 16384, 0, 0, 0, 0}, {15, 119, 839, 4352, 0, 0, 0}, {136, 3144, 8704, 17408, 0, 0, 0}, {15, 32, 787, 80, 1285, 4096, 0}, {1610, 32, 16448, 0, 0, 0, 0}, {15, 4403, 4608, 4420, 0, 0, 0}, {9804, 16384, 0, 0, 0, 0, 0}, {4386, 4626, 4357, 0, 0, 0, 0}, {1614, 1638, 17476, 0, 0, 0, 0}, {15, 5424, 5632, 5440, 0, 0, 0}, {1536, 80, 0, 0, 0, 0, 0}, {8, 119, 1028, 4369, 0, 0, 0}, {8, 112, 4690, 1024, 0, 0, 0}, {95, 1619, 21760, 0, 0, 0, 0}, {8, 32, 512, 80, 1028, 4112, 0}, {255, 3072, 13056, 21845, 0, 0, 0}, {240, 22102, 0, 0, 0, 0, 0}, {87, 1024, 4352, 0, 0, 0, 0}, {8, 32, 512, 80, 1024, 4096, 0}, {255, 3084, 13107, 21845, 0, 0, 0}, {22106, 12288, 0, 0, 0, 0, 0}, {4371, 4420, 1028, 0, 0, 0, 0}, {1548, 12336, 80, 0, 0, 0, 0}, {8, 4386, 4437, 1024, 0, 0, 0}, {8, 112, 4626, 1028, 0, 0, 0}, {95, 1536, 21760, 0, 0, 0, 0}, {2560, 1632, 0, 0, 0, 0, 0}, {7, 1092, 4369, 0, 0, 0, 0}, {8, 8738, 1088, 0, 0, 0, 0}, {15, 819, 80, 1280, 0, 0, 0}, {8, 32, 512, 1092, 0, 0, 0}, {15, 816, 21845, 0, 0, 0, 0}, {3276, 26214, 0, 0, 0, 0, 0}, {7, 1280, 272, 0, 0, 0, 0}, {8, 32, 512, 1088, 0, 0, 0}, {15, 819, 21845, 0, 0, 0, 0}, {26282, 27242, 0, 0, 0, 0, 0}, {275, 276, 4096, 0, 0, 0, 0}, {1644, 24576, 0, 0, 0, 0, 0}, {7, 4437, 5397, 0, 0, 0, 0}, {8, 8738, 1092, 0, 0, 0, 0}, {15, 816, 80, 1280, 0, 0, 0}, {112, 5632, 16384, 0, 0, 0, 0}, {95, 119, 1542, 4369, 0, 0, 0}, {4618, 4642, 80, 5120, 0, 0, 0}, {5439, 13107, 5440, 0, 0, 0, 0}, {4680, 4656, 17476, 0, 0, 0, 0}, {5386, 32, 4864, 5461, 0, 0, 0}, {32, 1542, 80, 4112, 0, 0, 0}, {3072, 119, 4352, 0, 0, 0, 0}, {120, 4608, 17408, 0, 0, 0, 0}, {95, 32, 4883, 5397, 0, 0, 0}, {1546, 32, 80, 4096, 0, 0, 0}, {3084, 4403, 4420, 0, 0, 0, 0}, {5708, 112, 16448, 0, 0, 0, 0}, {4362, 4386, 5888, 4437, 0, 0, 0}, {40, 4626, 80, 5140, 0, 0, 0}, {127, 13056, 5376, 0, 0, 0, 0}, {128, 3072, 9728, 16384, 0, 0, 0}, {15, 39, 771, 80, 1285, 4369, 0}, {1546, 1570, 17408, 0, 0, 0, 0}, {15, 5424, 771, 5440, 0, 0, 0}, {136, 3084, 8704, 17476, 0, 0, 0}, {15, 32, 768, 80, 1285, 4096, 0}, {32, 1542, 16448, 0, 0, 0, 0}, {15, 119, 768, 4352, 0, 0, 0}, {136, 3072, 8704, 17408, 0, 0, 0}, {15, 32, 771, 80, 1285, 4112, 0}, {1546, 32, 16384, 0, 0, 0, 0}, {15, 4403, 771, 4420, 0, 0, 0}, {9740, 16448, 0, 0, 0, 0, 0}, {4386, 768, 4357, 0, 0, 0, 0}, {40, 1542, 17476, 0, 0, 0, 0}, {15, 112, 768, 5376, 0, 0, 0}, {2560, 1584, 80, 0, 0, 0, 0}, {8, 1075, 1092, 4369, 0, 0, 0}, {8, 1072, 4626, 1088, 0, 0, 0}, {95, 1587, 21760, 0, 0, 0, 0}, {8, 32, 512, 80, 1044, 4096, 0}, {255, 3135, 13056, 21845, 0, 0, 0}, {23130, 22118, 0, 0, 0, 0, 0}, {1047, 1088, 4352, 0, 0, 0, 0}, {8, 32, 512, 80, 1040, 4112, 0}, {255, 3123, 13107, 21845, 0, 0, 0}, {22122, 12336, 0, 0, 0, 0, 0}, {4371, 4420, 5376, 0, 0, 0, 0}, {1596, 12288, 80, 0, 0, 0, 0}, {8, 4386, 4437, 5397, 0, 0, 0}, {8, 1076, 5654, 1092, 0, 0, 0}, {95, 1632, 21760, 0, 0, 0, 0}, {160, 1536, 0, 0, 0, 0, 0}, {7, 1028, 4369, 0, 0, 0, 0}, {8, 8738, 1024, 0, 0, 0, 0}, {15, 771, 80, 1280, 0, 0, 0}, {8, 32, 512, 1028, 0, 0, 0}, {15, 768, 21845, 0, 0, 0, 0}, {3084, 26214, 0, 0, 0, 0, 0}, {7, 80, 256, 0, 0, 0, 0}, {8, 32, 512, 1024, 0, 0, 0}, {15, 771, 21845, 0, 0, 0, 0}, {26282, 3072, 0, 0, 0, 0, 0}, {259, 260, 4112, 0, 0, 0, 0}, {1548, 24672, 0, 0, 0, 0, 0}, {7, 4437, 1024, 0, 0, 0, 0}, {8, 8738, 1028, 0, 0, 0, 0}, {15, 768, 80, 1280, 0, 0, 0}, {112, 5632, 16448, 0, 0, 0, 0}, {95, 119, 1553, 4369, 0, 0, 0}, {40, 4626, 80, 5120, 0, 0, 0}, {127, 13107, 5376, 0, 0, 0, 0}, {120, 4608, 17476, 0, 0, 0, 0}, {95, 32, 4864, 5397, 0, 0, 0}, {32, 1558, 80, 4096, 0, 0, 0}, {3144, 119, 4352, 0, 0, 0, 0}, {4680, 4656, 17408, 0, 0, 0, 0}, {5386, 32, 4883, 5461, 0, 0, 0}, {1562, 32, 80, 4112, 0, 0, 0}, {7424, 4403, 4420, 0, 0, 0, 0}, {5708, 112, 16384, 0, 0, 0, 0}, {4362, 4386, 5911, 4437, 0, 0, 0}, {4618, 4642, 80, 5140, 0, 0, 0}, {5439, 13056, 5440, 0, 0, 0, 0}, {3264, 26112, 0, 0, 0, 0, 0}, {7, 1285, 273, 0, 0, 0, 0}, {8, 32, 514, 1088, 0, 0, 0}, {15, 819, 21760, 0, 0, 0, 0}, {8, 8704, 1092, 0, 0, 0, 0}, {15, 816, 80, 1285, 0, 0, 0}, {2570, 1638, 0, 0, 0, 0, 0}, {7, 1088, 4352, 0, 0, 0, 0}, {8, 8704, 1088, 0, 0, 0, 0}, {15, 819, 80, 1285, 0, 0, 0}, {1642, 24672, 0, 0, 0, 0, 0}, {7, 4420, 5376, 0, 0, 0, 0}, {26316, 27136, 0, 0, 0, 0, 0}, {274, 277, 4112, 0, 0, 0, 0}, {8, 32, 514, 1092, 0, 0, 0}, {15, 816, 21760, 0, 0, 0, 0}, {32, 1536, 80, 4096, 0, 0, 0}, {3084, 119, 4369, 0, 0, 0, 0}, {4698, 4642, 17408, 0, 0, 0, 0}, {5407, 32, 4883, 5440, 0, 0, 0}, {4632, 4656, 80, 5140, 0, 0, 0}, {5418, 13056, 5461, 0, 0, 0, 0}, {112, 5654, 16448, 0, 0, 0, 0}, {95, 119, 1536, 4352, 0, 0, 0}, {40, 4608, 80, 5120, 0, 0, 0}, {127, 13107, 5397, 0, 0, 0, 0}, {5722, 112, 16384, 0, 0, 0, 0}, {4379, 4403, 5911, 4420, 0, 0, 0}, {1548, 32, 80, 4112, 0, 0, 0}, {3072, 4386, 4437, 0, 0, 0, 0}, {120, 4626, 17476, 0, 0, 0, 0}, {95, 32, 4864, 5376, 0, 0, 0}, {32, 1600, 16448, 0, 0, 0, 0}, {15, 119, 836, 4369, 0, 0, 0}, {136, 3144, 8738, 17408, 0, 0, 0}, {15, 32, 787, 80, 1280, 4096, 0}, {40, 1604, 17476, 0, 0, 0, 0}, {15, 112, 832, 5397, 0, 0, 0}, {128, 3148, 9830, 16384, 0, 0, 0}, {15, 39, 791, 80, 1280, 4352, 0}, {1608, 1632, 17408, 0, 0, 0, 0}, {15, 5413, 5654, 5461, 0, 0, 0}, {9834, 16448, 0, 0, 0, 0, 0}, {4403, 4608, 4372, 0, 0, 0, 0}, {1612, 32, 16384, 0, 0, 0, 0}, {15, 4386, 4626, 4437, 0, 0, 0}, {136, 3140, 8738, 17476, 0, 0, 0}, {15, 32, 784, 80, 1280, 4112, 0}, {240, 22016, 0, 0, 0, 0, 0}, {87, 1028, 4369, 0, 0, 0, 0}, {8, 32, 514, 80, 1024, 4096, 0}, {255, 3084, 13107, 21760, 0, 0, 0}, {8, 112, 4672, 1028, 0, 0, 0}, {95, 1621, 21845, 0, 0, 0, 0}, {1542, 80, 0, 0, 0, 0, 0}, {8, 119, 1024, 4352, 0, 0, 0}, {8, 112, 4608, 1024, 0, 0, 0}, {95, 1542, 21845, 0, 0, 0, 0}, {1546, 12288, 80, 0, 0, 0, 0}, {8, 4403, 4420, 1028, 0, 0, 0}, {22028, 12336, 0, 0, 0, 0, 0}, {4354, 4437, 1024, 0, 0, 0, 0}, {8, 32, 514, 80, 1028, 4112, 0}, {255, 3072, 13056, 21760, 0, 0, 0}, {1792, 20480, 0, 0, 0, 0, 0}, {12, 102, 257, 0, 0, 0, 0}, {1290, 514, 21760, 0, 0, 0, 0}, {12, 4144, 771, 1024, 0, 0, 0}, {12, 768, 4160, 1028, 0, 0, 0}, {522, 8704, 1285, 0, 0, 0, 0}, {262, 1024, 4352, 0, 0, 0, 0}, {20720, 1799, 0, 0, 0, 0, 0}, {1800, 20480, 0, 0, 0, 0, 0}, {4403, 771, 261, 0, 0, 0, 0}, {1290, 1792, 21760, 0, 0, 0, 0}, {12, 4208, 771, 1028, 0, 0, 0}, {12, 768, 1024, 4096, 0, 0, 0}, {170, 514, 1285, 0, 0, 0, 0}, {258, 4420, 1028, 0, 0, 0, 0}, {1807, 8192, 0, 0, 0, 0, 0}, {2112, 1904, 4112, 0, 0, 0, 0}, {1331, 1809, 1365, 4369, 0, 0, 0}, {4186, 4144, 4626, 5376, 0, 0, 0}, {5228, 4883, 17408, 0, 0, 0, 0}, {4972, 13056, 5140, 0, 0, 0, 0}, {4138, 4608, 4160, 5397, 0, 0, 0}, {1370, 102, 1814, 4352, 0, 0, 0}, {4192, 5911, 16384, 0, 0, 0, 0}, {5928, 12336, 4176, 0, 0, 0, 0}, {4889, 4403, 4437, 5120, 0, 0, 0}, {4122, 1328, 5888, 5440, 0, 0, 0}, {4959, 1911, 17476, 0, 0, 0, 0}, {7196, 4896, 5200, 0, 0, 0, 0}, {1821, 546, 1365, 4096, 0, 0, 0}, {5150, 4386, 4864, 4420, 0, 0, 0}, {5983, 4128, 16448, 0, 0, 0, 0}, {3840, 22304, 0, 0, 0, 0, 0}, {1283, 1092, 4369, 0, 0, 0, 0}, {546, 1280, 0, 0, 0, 0, 0}, {12, 771, 1088, 4112, 0, 0, 0}, {12, 5156, 768, 1092, 0, 0, 0}, {1295, 1829, 21845, 0, 0, 0, 0}, {12, 294, 768, 320, 1280, 4352, 0}, {1927, 3855, 10023, 20560, 0, 0, 0}, {22312, 28672, 0, 0, 0, 0, 0}, {4118, 4437, 5397, 0, 0, 0, 0}, {554, 8704, 1280, 0, 0, 0, 0}, {12, 771, 4176, 5140, 0, 0, 0}, {12, 4128, 768, 1088, 0, 0, 0}, {1295, 546, 21845, 0, 0, 0, 0}, {12, 290, 768, 324, 1280, 4096, 0}, {1935, 3855, 8224, 20560, 0, 0, 0}, {4144, 5888, 16384, 0, 0, 0, 0}, {1375, 102, 514, 4369, 0, 0, 0}, {1338, 514, 1360, 4112, 0, 0, 0}, {4915, 5120, 0, 0, 0, 0, 0}, {4940, 1844, 17476, 0, 0, 0, 0}, {4106, 1333, 4608, 5461, 0, 0, 0}, {522, 1334, 1360, 4352, 0, 0, 0}, {2056, 1847, 4160, 0, 0, 0, 0}, {5960, 4208, 16448, 0, 0, 0, 0}, {5130, 4403, 5632, 4437, 0, 0, 0}, {522, 4656, 4176, 5376, 0, 0, 0}, {1851, 13107, 5188, 0, 0, 0, 0}, {5180, 4864, 17408, 0, 0, 0, 0}, {4170, 4128, 514, 5397, 0, 0, 0}, {4386, 514, 4420, 5140, 0, 0, 0}, {1855, 4096, 0, 0, 0, 0, 0}, {5888, 4160, 0, 0, 0, 0, 0}, {590, 102, 1285, 4369, 0, 0, 0}, {4106, 4192, 578, 5376, 0, 0, 0}, {5180, 1859, 17408, 0, 0, 0, 0}, {4864, 5188, 0, 0, 0, 0, 0}, {586, 544, 1285, 4112, 0, 0, 0}, {1290, 102, 582, 4352, 0, 0, 0}, {4144, 1863, 16384, 0, 0, 0, 0}, {1864, 4096, 0, 0, 0, 0, 0}, {4403, 4883, 4437, 1285, 0, 0, 0}, {1290, 4128, 4608, 5440, 0, 0, 0}, {1867, 4915, 17476, 0, 0, 0, 0}, {4940, 13056, 5120, 0, 0, 0, 0}, {4154, 4626, 4176, 1285, 0, 0, 0}, {1290, 4386, 5632, 4420, 0, 0, 0}, {1871, 4208, 16448, 0, 0, 0, 0}, {2032, 2048, 10064, 20560, 0, 0, 0}, {12, 311, 516, 337, 1028, 4369, 0}, {1370, 1874, 21760, 0, 0, 0, 0}, {12, 4192, 4947, 1024, 0, 0, 0}, {12, 816, 1028, 4112, 0, 0, 0}, {512, 1365, 0, 0, 0, 0, 0}, {342, 1024, 4352, 0, 0, 0, 0}, {20640, 22359, 0, 0, 0, 0, 0}, {2040, 2056, 8224, 20560, 0, 0, 0}, {12, 307, 512, 341, 1024, 4096, 0}, {1370, 512, 21760, 0, 0, 0, 0}, {12, 4128, 4883, 1028, 0, 0, 0}, {12, 816, 4176, 1024, 0, 0, 0}, {520, 8738, 1365, 0, 0, 0, 0}, {4118, 4420, 1028, 0, 0, 0, 0}, {22367, 28672, 0, 0, 0, 0, 0}, {4192, 1792, 16384, 0, 0, 0, 0}, {1295, 102, 1799, 4369, 0, 0, 0}, {520, 4642, 4160, 1280, 0, 0, 0}, {1807, 13107, 5200, 0, 0, 0, 0}, {1800, 4896, 17476, 0, 0, 0, 0}, {1295, 4144, 512, 5461, 0, 0, 0}, {102, 512, 1280, 4352, 0, 0, 0}, {192, 1799, 4112, 0, 0, 0, 0}, {1800, 4128, 16448, 0, 0, 0, 0}, {1295, 4403, 512, 4437, 0, 0, 0}, {106, 512, 1280, 4096, 0, 0, 0}, {204, 4883, 5140, 0, 0, 0, 0}, {5228, 1792, 17408, 0, 0, 0, 0}, {4122, 4208, 4626, 5397, 0, 0, 0}, {520, 4386, 4420, 1280, 0, 0, 0}, {1807, 12336, 4176, 0, 0, 0, 0}, {24320, 1904, 0, 0, 0, 0, 0}, {279, 1092, 4369, 0, 0, 0, 0}, {552, 8738, 1360, 0, 0, 0, 0}, {12, 819, 4160, 5120, 0, 0, 0}, {12, 4144, 4864, 1092, 0, 0, 0}, {1375, 544, 21845, 0, 0, 0, 0}, {12, 1542, 272, 0, 0, 0, 0}, {1911, 20480, 0, 0, 0, 0, 0}, {1912, 8192, 0, 0, 0, 0, 0}, {275, 4437, 5397, 0, 0, 0, 0}, {2570, 544, 1360, 0, 0, 0, 0}, {12, 819, 1092, 4096, 0, 0, 0}, {12, 5168, 5888, 1088, 0, 0, 0}, {1375, 1911, 21845, 0, 0, 0, 0}, {4386, 4626, 276, 0, 0, 0, 0}, {1919, 20480, 0, 0, 0, 0, 0}, {1920, 3840, 9984, 20480, 0, 0, 0}, {12, 295, 771, 321, 1285, 4369, 0}, {1290, 1826, 21760, 0, 0, 0, 0}, {12, 5168, 771, 1088, 0, 0, 0}, {12, 768, 1092, 4096, 0, 0, 0}, {544, 1285, 0, 0, 0, 0, 0}, {1286, 1088, 4352, 0, 0, 0, 0}, {3855, 22391, 0, 0, 0, 0, 0}, {1928, 3840, 8192, 20480, 0, 0, 0}, {12, 291, 771, 325, 1285, 4112, 0}, {1290, 544, 21760, 0, 0, 0, 0}, {12, 4144, 771, 1092, 0, 0, 0}, {12, 768, 4160, 5120, 0, 0, 0}, {552, 8738, 1285, 0, 0, 0, 0}, {4102, 4420, 5376, 0, 0, 0, 0}, {22399, 28784, 0, 0, 0, 0, 0}, {2048, 1840, 4176, 0, 0, 0, 0}, {520, 1331, 1365, 4369, 0, 0, 0}, {4122, 1328, 4626, 5440, 0, 0, 0}, {4959, 1843, 17408, 0, 0, 0, 0}, {4896, 5140, 0, 0, 0, 0, 0}, {1343, 512, 1365, 4096, 0, 0, 0}, {1370, 102, 512, 4352, 0, 0, 0}, {4128, 5911, 16448, 0, 0, 0, 0}, {1848, 4112, 0, 0, 0, 0, 0}, {4403, 512, 4437, 5120, 0, 0, 0}, {4186, 4144, 512, 5376, 0, 0, 0}, {5160, 4883, 17476, 0, 0, 0, 0}, {1852, 13056, 5200, 0, 0, 0, 0}, {520, 4642, 4160, 5397, 0, 0, 0}, {5150, 4386, 5654, 4420, 0, 0, 0}, {5983, 4192, 16384, 0, 0, 0, 0}, {20640, 1792, 0, 0, 0, 0, 0}, {263, 1028, 4369, 0, 0, 0, 0}, {520, 8738, 1280, 0, 0, 0, 0}, {12, 771, 4176, 1024, 0, 0, 0}, {12, 4128, 768, 1028, 0, 0, 0}, {1295, 512, 21845, 0, 0, 0, 0}, {12, 102, 256, 0, 0, 0, 0}, {1799, 20560, 0, 0, 0, 0, 0}, {1800, 8224, 0, 0, 0, 0, 0}, {259, 4437, 1024, 0, 0, 0, 0}, {170, 512, 1280, 0, 0, 0, 0}, {12, 771, 1028, 4112, 0, 0, 0}, {12, 4192, 768, 1024, 0, 0, 0}, {1295, 1799, 21845, 0, 0, 0, 0}, {4386, 768, 260, 0, 0, 0, 0}, {1807, 20560, 0, 0, 0, 0, 0}, {4208, 5888, 16448, 0, 0, 0, 0}, {1375, 102, 1809, 4369, 0, 0, 0}, {4154, 4626, 4176, 5376, 0, 0, 0}, {4991, 13107, 5120, 0, 0, 0, 0}, {5240, 4864, 17476, 0, 0, 0, 0}, {4170, 4128, 4608, 5397, 0, 0, 0}, {1334, 1814, 1360, 4352, 0, 0, 0}, {2120, 1911, 4096, 0, 0, 0, 0}, {5960, 4144, 16384, 0, 0, 0, 0}, {5130, 4403, 4883, 4437, 0, 0, 0}, {1818, 544, 1360, 4112, 0, 0, 0}, {7168, 4915, 5188, 0, 0, 0, 0}, {4940, 1904, 17408, 0, 0, 0, 0}, {4106, 1333, 5911, 5461, 0, 0, 0}, {4874, 4386, 4420, 5140, 0, 0, 0}, {5951, 12288, 4160, 0, 0, 0, 0}, {192, 1792, 4096, 0, 0, 0, 0}, {102, 514, 1285, 4369, 0, 0, 0}, {1290, 4128, 514, 5440, 0, 0, 0}, {1807, 4915, 17408, 0, 0, 0, 0}, {1800, 13056, 5188, 0, 0, 0, 0}, {522, 4656, 4176, 1285, 0, 0, 0}, {1290, 102, 1792, 4352, 0, 0, 0}, {4208, 1799, 16448, 0, 0, 0, 0}, {1800, 12288, 4160, 0, 0, 0, 0}, {522, 4403, 4437, 1285, 0, 0, 0}, {4106, 4192, 4608, 5376, 0, 0, 0}, {5240, 1799, 17476, 0, 0, 0, 0}, {204, 4864, 5120, 0, 0, 0, 0}, {106, 514, 1285, 4112, 0, 0, 0}, {1290, 4386, 514, 4420, 0, 0, 0}, {1807, 4144, 16384, 0, 0, 0, 0}, {1904, 20560, 0, 0, 0, 0, 0}, {12, 1536, 273, 0, 0, 0, 0}, {1370, 546, 21760, 0, 0, 0, 0}, {12, 4128, 4883, 1088, 0, 0, 0}, {12, 816, 4176, 5140, 0, 0, 0}, {554, 8704, 1365, 0, 0, 0, 0}, {278, 1088, 4352, 0, 0, 0, 0}, {24415, 1911, 0, 0, 0, 0, 0}, {1912, 20560, 0, 0, 0, 0, 0}, {4403, 4608, 277, 0, 0, 0, 0}, {1370, 1904, 21760, 0, 0, 0, 0}, {12, 5156, 5911, 1092, 0, 0, 0}, {12, 816, 1088, 4112, 0, 0, 0}, {2560, 546, 1365, 0, 0, 0, 0}, {274, 4420, 5376, 0, 0, 0, 0}, {1919, 8224, 0, 0, 0, 0, 0}, {4128, 1856, 16448, 0, 0, 0, 0}, {1295, 102, 580, 4369, 0, 0, 0}, {584, 546, 1280, 4096, 0, 0, 0}, {4883, 5200, 0, 0, 0, 0, 0}, {5160, 1860, 17476, 0, 0, 0, 0}, {4122, 4208, 576, 5397, 0, 0, 0}, {588, 102, 1280, 4352, 0, 0, 0}, {5911, 4176, 0, 0, 0, 0, 0}, {1864, 4192, 16384, 0, 0, 0, 0}, {1295, 4403, 5654, 4437, 0, 0, 0}, {4138, 4608, 4160, 1280, 0, 0, 0}, {4959, 13107, 5140, 0, 0, 0, 0}, {1868, 4896, 17408, 0, 0, 0, 0}, {1295, 4144, 4626, 5461, 0, 0, 0}, {4386, 4864, 4420, 1280, 0, 0, 0}, {1871, 4112, 0, 0, 0, 0, 0}, {20720, 22272, 0, 0, 0, 0, 0}, {343, 1028, 4369, 0, 0, 0, 0}, {514, 1360, 0, 0, 0, 0, 0}, {12, 819, 1024, 4096, 0, 0, 0}, {12, 4208, 4928, 1028, 0, 0, 0}, {1375, 1877, 21845, 0, 0, 0, 0}, {12, 310, 518, 336, 1024, 4352, 0}, {2039, 2056, 10103, 20480, 0, 0, 0}, {22280, 28784, 0, 0, 0, 0, 0}, {4102, 4437, 1024, 0, 0, 0, 0}, {522, 8704, 1360, 0, 0, 0, 0}, {12, 819, 4160, 1028, 0, 0, 0}, {12, 4144, 4864, 1024, 0, 0, 0}, {1375, 514, 21845, 0, 0, 0, 0}, {12, 306, 514, 340, 1028, 4112, 0}, {2047, 2048, 8192, 20480, 0, 0, 0}, {2048, 8192, 0, 0, 0, 0, 0}, {3, 85, 257, 0, 0, 0, 0}, {170, 514, 0, 0, 0, 0, 0}, {3, 1024, 4096, 0, 0, 0, 0}, {12, 8256, 1028, 0, 0, 0, 0}, {15, 517, 85, 1285, 0, 0, 0}, {12, 102, 518, 1024, 0, 0, 0}, {15, 1799, 20480, 0, 0, 0, 0}, {8320, 2056, 0, 0, 0, 0, 0}, {3, 261, 4352, 0, 0, 0, 0}, {522, 8704, 0, 0, 0, 0, 0}, {3, 4160, 1028, 0, 0, 0, 0}, {12, 8192, 1024, 0, 0, 0, 0}, {15, 514, 85, 1285, 0, 0, 0}, {12, 102, 514, 1028, 0, 0, 0}, {15, 1792, 20480, 0, 0, 0, 0}, {2112, 48, 4112, 0, 0, 0, 0}, {51, 529, 85, 4369, 0, 0, 0}, {90, 48, 530, 4096, 0, 0, 0}, {51, 4883, 17408, 0, 0, 0, 0}, {60, 8272, 5140, 0, 0, 0, 0}, {63, 533, 85, 5397, 0, 0, 0}, {90, 102, 534, 5120, 0, 0, 0}, {63, 5911, 16384, 0, 0, 0, 0}, {6168, 48, 4176, 0, 0, 0, 0}, {537, 51, 85, 4352, 0, 0, 0}, {4122, 48, 4608, 4160, 0, 0, 0}, {4959, 51, 17476, 0, 0, 0, 0}, {60, 8224, 5200, 0, 0, 0, 0}, {541, 546, 85, 5376, 0, 0, 0}, {5150, 5154, 5632, 5188, 0, 0, 0}, {5983, 5984, 16448, 0, 0, 0, 0}, {2176, 8224, 0, 0, 0, 0, 0}, {3, 1280, 273, 0, 0, 0, 0}, {2560, 546, 0, 0, 0, 0, 0}, {3, 1088, 4112, 0, 0, 0, 0}, {12, 9252, 1092, 0, 0, 0, 0}, {15, 549, 85, 1280, 0, 0, 0}, {12, 1062, 1536, 1088, 0, 0, 0}, {15, 1911, 20560, 0, 0, 0, 0}, {8352, 10280, 0, 0, 0, 0, 0}, {3, 277, 4352, 0, 0, 0, 0}, {554, 8704, 0, 0, 0, 0, 0}, {3, 4176, 5140, 0, 0, 0, 0}, {12, 8224, 1088, 0, 0, 0, 0}, {15, 546, 85, 1280, 0, 0, 0}, {12, 1058, 1536, 1092, 0, 0, 0}, {15, 1904, 20560, 0, 0, 0, 0}, {2048, 48, 4096, 0, 0, 0, 0}, {51, 514, 85, 4369, 0, 0, 0}, {90, 48, 514, 4112, 0, 0, 0}, {51, 4864, 17408, 0, 0, 0, 0}, {60, 13364, 5188, 0, 0, 0, 0}, {522, 565, 85, 5376, 0, 0, 0}, {5130, 5174, 5632, 5200, 0, 0, 0}, {5960, 6007, 16448, 0, 0, 0, 0}, {2056, 48, 4160, 0, 0, 0, 0}, {522, 51, 85, 4352, 0, 0, 0}, {4106, 48, 4608, 4176, 0, 0, 0}, {4940, 51, 17476, 0, 0, 0, 0}, {60, 8192, 5120, 0, 0, 0, 0}, {63, 514, 85, 5397, 0, 0, 0}, {90, 102, 514, 5140, 0, 0, 0}, {63, 5888, 16384, 0, 0, 0, 0}, {192, 2112, 8256, 16448, 0, 0, 0}, {15, 51, 532, 85, 1285, 4369, 0}, {106, 578, 16384, 0, 0, 0, 0}, {15, 51, 4931, 5120, 0, 0, 0}, {204, 2116, 8192, 17476, 0, 0, 0}, {15, 48, 528, 85, 1285, 4112, 0}, {102, 582, 17408, 0, 0, 0, 0}, {15, 48, 1863, 4096, 0, 0, 0}, {192, 2120, 8192, 16384, 0, 0, 0}, {15, 51, 531, 85, 1285, 4352, 0}, {586, 544, 16448, 0, 0, 0, 0}, {15, 51, 4864, 5188, 0, 0, 0}, {8268, 17408, 0, 0, 0, 0, 0}, {48, 4626, 4101, 0, 0, 0, 0}, {590, 102, 17476, 0, 0, 0, 0}, {15, 48, 5888, 4160, 0, 0, 0}, {240, 2048, 8272, 20560, 0, 0, 0}, {12, 51, 516, 85, 1028, 4369, 0}, {90, 594, 20480, 0, 0, 0, 0}, {12, 51, 4947, 1024, 0, 0, 0}, {12, 48, 1028, 4112, 0, 0, 0}, {512, 85, 0, 0, 0, 0, 0}, {86, 1024, 4096, 0, 0, 0, 0}, {255, 22359, 0, 0, 0, 0, 0}, {240, 2056, 8224, 20560, 0, 0, 0}, {12, 51, 512, 85, 1024, 4352, 0}, {90, 512, 20480, 0, 0, 0, 0}, {12, 51, 4883, 1028, 0, 0, 0}, {12, 48, 4176, 1024, 0, 0, 0}, {520, 8738, 85, 0, 0, 0, 0}, {4118, 4160, 1028, 0, 0, 0, 0}, {22367, 30464, 0, 0, 0, 0, 0}, {192, 2048, 8288, 16384, 0, 0, 0}, {15, 51, 519, 85, 1280, 4369, 0}, {520, 610, 16448, 0, 0, 0, 0}, {15, 51, 1792, 5200, 0, 0, 0}, {204, 2056, 8224, 17476, 0, 0, 0}, {15, 48, 512, 85, 1280, 4096, 0}, {102, 512, 17408, 0, 0, 0, 0}, {15, 48, 1799, 4112, 0, 0, 0}, {192, 2056, 8224, 16448, 0, 0, 0}, {15, 51, 512, 85, 1280, 4352, 0}, {106, 512, 16384, 0, 0, 0, 0}, {15, 51, 4883, 5140, 0, 0, 0}, {8300, 17408, 0, 0, 0, 0, 0}, {48, 4626, 4117, 0, 0, 0, 0}, {520, 102, 17476, 0, 0, 0, 0}, {15, 48, 1792, 4176, 0, 0, 0}, {240, 2160, 8304, 20480, 0, 0, 0}, {12, 51, 535, 85, 1041, 4369, 0}, {90, 626, 20560, 0, 0, 0, 0}, {12, 51, 5888, 1088, 0, 0, 0}, {12, 48, 1092, 4096, 0, 0, 0}, {2570, 544, 85, 0, 0, 0, 0}, {1046, 1088, 4112, 0, 0, 0, 0}, {24320, 22391, 0, 0, 0, 0, 0}, {240, 2168, 8192, 20480, 0, 0, 0}, {12, 51, 531, 85, 1045, 4352, 0}, {90, 544, 20560, 0, 0, 0, 0}, {12, 51, 4864, 1092, 0, 0, 0}, {12, 48, 4160, 5120, 0, 0, 0}, {552, 8738, 85, 0, 0, 0, 0}, {4102, 4176, 5140, 0, 0, 0, 0}, {22399, 30464, 0, 0, 0, 0, 0}, {8320, 10240, 0, 0, 0, 0, 0}, {3, 276, 4369, 0, 0, 0, 0}, {552, 8738, 0, 0, 0, 0, 0}, {3, 4160, 5120, 0, 0, 0, 0}, {12, 8192, 1092, 0, 0, 0, 0}, {15, 544, 85, 1285, 0, 0, 0}, {12, 1062, 1542, 1088, 0, 0, 0}, {15, 1911, 20480, 0, 0, 0, 0}, {2184, 8192, 0, 0, 0, 0, 0}, {3, 1285, 272, 0, 0, 0, 0}, {2570, 544, 0, 0, 0, 0, 0}, {3, 1092, 4096, 0, 0, 0, 0}, {12, 9216, 1088, 0, 0, 0, 0}, {15, 551, 85, 1285, 0, 0, 0}, {12, 1058, 1542, 1092, 0, 0, 0}, {15, 1904, 20480, 0, 0, 0, 0}, {2048, 48, 4176, 0, 0, 0, 0}, {520, 51, 85, 4369, 0, 0, 0}, {4122, 48, 4626, 4160, 0, 0, 0}, {4959, 51, 17408, 0, 0, 0, 0}, {60, 8224, 5140, 0, 0, 0, 0}, {63, 512, 85, 5376, 0, 0, 0}, {90, 102, 512, 5120, 0, 0, 0}, {63, 5911, 16448, 0, 0, 0, 0}, {2056, 48, 4112, 0, 0, 0, 0}, {51, 512, 85, 4352, 0, 0, 0}, {90, 48, 512, 4096, 0, 0, 0}, {51, 4883, 17476, 0, 0, 0, 0}, {60, 13312, 5200, 0, 0, 0, 0}, {520, 567, 85, 5397, 0, 0, 0}, {5150, 5154, 5654, 5188, 0, 0, 0}, {5983, 5984, 16384, 0, 0, 0, 0}, {8352, 2048, 0, 0, 0, 0, 0}, {3, 260, 4369, 0, 0, 0, 0}, {520, 8738, 0, 0, 0, 0, 0}, {3, 4176, 1024, 0, 0, 0, 0}, {12, 8224, 1028, 0, 0, 0, 0}, {15, 512, 85, 1280, 0, 0, 0}, {12, 102, 512, 1024, 0, 0, 0}, {15, 1799, 20560, 0, 0, 0, 0}, {2056, 8224, 0, 0, 0, 0, 0}, {3, 85, 256, 0, 0, 0, 0}, {170, 512, 0, 0, 0, 0, 0}, {3, 1028, 4112, 0, 0, 0, 0}, {12, 8288, 1024, 0, 0, 0, 0}, {15, 519, 85, 1280, 0, 0, 0}, {12, 102, 516, 1028, 0, 0, 0}, {15, 1792, 20560, 0, 0, 0, 0}, {6144, 48, 4160, 0, 0, 0, 0}, {539, 51, 85, 4369, 0, 0, 0}, {4106, 48, 4626, 4176, 0, 0, 0}, {4940, 51, 17408, 0, 0, 0, 0}, {60, 8192, 5188, 0, 0, 0, 0}, {543, 544, 85, 5397, 0, 0, 0}, {5130, 5174, 5654, 5200, 0, 0, 0}, {5960, 6007, 16384, 0, 0, 0, 0}, {2120, 48, 4096, 0, 0, 0, 0}, {51, 531, 85, 4352, 0, 0, 0}, {90, 48, 528, 4112, 0, 0, 0}, {51, 4864, 17476, 0, 0, 0, 0}, {60, 8304, 5120, 0, 0, 0, 0}, {63, 535, 85, 5376, 0, 0, 0}, {90, 102, 532, 5140, 0, 0, 0}, {63, 5888, 16448, 0, 0, 0, 0}, {192, 2048, 8192, 16384, 0, 0, 0}, {15, 51, 514, 85, 1285, 4369, 0}, {106, 514, 16448, 0, 0, 0, 0}, {15, 51, 4864, 5120, 0, 0, 0}, {8268, 17476, 0, 0, 0, 0, 0}, {48, 4608, 4101, 0, 0, 0, 0}, {522, 102, 17408, 0, 0, 0, 0}, {15, 48, 1799, 4160, 0, 0, 0}, {192, 2056, 8256, 16448, 0, 0, 0}, {15, 51, 517, 85, 1285, 4352, 0}, {522, 608, 16384, 0, 0, 0, 0}, {15, 51, 1799, 5188, 0, 0, 0}, {204, 2048, 8192, 17408, 0, 0, 0}, {15, 48, 514, 85, 1285, 4112, 0}, {102, 514, 17476, 0, 0, 0, 0}, {15, 48, 1792, 4096, 0, 0, 0}, {240, 2160, 8224, 20560, 0, 0, 0}, {12, 51, 529, 85, 1041, 4369, 0}, {90, 546, 20480, 0, 0, 0, 0}, {12, 51, 4883, 1088, 0, 0, 0}, {12, 48, 4176, 5140, 0, 0, 0}, {554, 8704, 85, 0, 0, 0, 0}, {4118, 4160, 5120, 0, 0, 0, 0}, {22312, 30583, 0, 0, 0, 0, 0}, {240, 2168, 8272, 20560, 0, 0, 0}, {12, 51, 533, 85, 1045, 4352, 0}, {90, 624, 20480, 0, 0, 0, 0}, {12, 51, 5911, 1092, 0, 0, 0}, {12, 48, 1088, 4112, 0, 0, 0}, {2560, 546, 85, 0, 0, 0, 0}, {1042, 1092, 4096, 0, 0, 0, 0}, {24415, 22304, 0, 0, 0, 0, 0}, {192, 2112, 8224, 16448, 0, 0, 0}, {15, 51, 529, 85, 1280, 4369, 0}, {584, 546, 16384, 0, 0, 0, 0}, {15, 51, 4883, 5200, 0, 0, 0}, {8300, 17476, 0, 0, 0, 0, 0}, {48, 4608, 4117, 0, 0, 0, 0}, {588, 102, 17408, 0, 0, 0, 0}, {15, 48, 5911, 4176, 0, 0, 0}, {192, 2120, 8288, 16384, 0, 0, 0}, {15, 51, 534, 85, 1280, 4352, 0}, {106, 576, 16448, 0, 0, 0, 0}, {15, 51, 4944, 5140, 0, 0, 0}, {204, 2124, 8224, 17408, 0, 0, 0}, {15, 48, 530, 85, 1280, 4096, 0}, {102, 580, 17476, 0, 0, 0, 0}, {15, 48, 1856, 4112, 0, 0, 0}, {240, 2048, 8192, 20480, 0, 0, 0}, {12, 51, 514, 85, 1028, 4369, 0}, {90, 514, 20560, 0, 0, 0, 0}, {12, 51, 4864, 1024, 0, 0, 0}, {12, 48, 4160, 1028, 0, 0, 0}, {522, 8704, 85, 0, 0, 0, 0}, {4102, 4176, 1024, 0, 0, 0, 0}, {22280, 30583, 0, 0, 0, 0, 0}, {240, 2056, 8304, 20480, 0, 0, 0}, {12, 51, 518, 85, 1024, 4352, 0}, {90, 592, 20560, 0, 0, 0, 0}, {12, 51, 4928, 1028, 0, 0, 0}, {12, 48, 1024, 4096, 0, 0, 0}, {514, 85, 0, 0, 0, 0, 0}, {86, 1028, 4112, 0, 0, 0, 0}, {255, 22272, 0, 0, 0, 0, 0}, {768, 21760, 0, 0, 0, 0, 0}, {8, 32, 257, 0, 0, 0, 0}, {258, 1024, 4096, 0, 0, 0, 0}, {22015, 771, 0, 0, 0, 0, 0}, {8, 772, 4420, 1028, 0, 0, 0}, {783, 12368, 1285, 0, 0, 0, 0}, {1290, 1542, 20480, 0, 0, 0, 0}, {8, 4471, 775, 1024, 0, 0, 0}, {8, 768, 1024, 4352, 0, 0, 0}, {160, 771, 1285, 0, 0, 0, 0}, {1290, 768, 20480, 0, 0, 0, 0}, {8, 4403, 771, 1028, 0, 0, 0}, {780, 21760, 0, 0, 0, 0, 0}, {32, 514, 261, 0, 0, 0, 0}, {262, 4160, 1028, 0, 0, 0, 0}, {783, 26112, 0, 0, 0, 0, 0}, {32, 784, 1360, 4112, 0, 0, 0}, {3140, 819, 4369, 0, 0, 0, 0}, {4386, 4626, 17408, 0, 0, 0, 0}, {1375, 32, 787, 4096, 0, 0, 0}, {40, 788, 4420, 5140, 0, 0, 0}, {831, 12352, 5397, 0, 0, 0, 0}, {5418, 5654, 16384, 0, 0, 0, 0}, {4447, 4471, 791, 5120, 0, 0, 0}, {792, 816, 1360, 4352, 0, 0, 0}, {6425, 819, 5461, 0, 0, 0, 0}, {5722, 816, 16448, 0, 0, 0, 0}, {4379, 4403, 4608, 5188, 0, 0, 0}, {796, 32, 4176, 5376, 0, 0, 0}, {831, 8738, 4437, 0, 0, 0, 0}, {4698, 4454, 17476, 0, 0, 0, 0}, {5407, 32, 5632, 4160, 0, 0, 0}, {32, 768, 1280, 4096, 0, 0, 0}, {136, 771, 4369, 0, 0, 0, 0}, {4386, 768, 17408, 0, 0, 0, 0}, {1295, 32, 771, 4112, 0, 0, 0}, {780, 804, 4420, 1280, 0, 0, 0}, {783, 9509, 5461, 0, 0, 0, 0}, {780, 5734, 16448, 0, 0, 0, 0}, {1295, 1319, 1536, 5200, 0, 0, 0}, {40, 768, 1280, 4352, 0, 0, 0}, {128, 771, 5397, 0, 0, 0, 0}, {5418, 768, 16384, 0, 0, 0, 0}, {4379, 4403, 771, 5140, 0, 0, 0}, {780, 32, 4160, 1280, 0, 0, 0}, {783, 8738, 4437, 0, 0, 0, 0}, {780, 4454, 17476, 0, 0, 0, 0}, {1295, 32, 1536, 4176, 0, 0, 0}, {816, 21760, 0, 0, 0, 0, 0}, {8, 514, 273, 0, 0, 0, 0}, {274, 1088, 4112, 0, 0, 0, 0}, {23040, 819, 0, 0, 0, 0, 0}, {8, 820, 4420, 5376, 0, 0, 0}, {831, 13621, 1365, 0, 0, 0, 0}, {1370, 1638, 20560, 0, 0, 0, 0}, {8, 5431, 5632, 1088, 0, 0, 0}, {8, 816, 1088, 4352, 0, 0, 0}, {2570, 819, 1365, 0, 0, 0, 0}, {1370, 816, 20560, 0, 0, 0, 0}, {8, 4403, 4608, 1092, 0, 0, 0}, {828, 21760, 0, 0, 0, 0, 0}, {32, 514, 277, 0, 0, 0, 0}, {278, 4176, 5140, 0, 0, 0, 0}, {831, 26112, 0, 0, 0, 0, 0}, {5632, 5440, 0, 0, 0, 0, 0}, {843, 867, 1285, 4369, 0, 0, 0}, {4362, 4386, 4674, 5120, 0, 0, 0}, {5503, 835, 16384, 0, 0, 0, 0}, {4608, 4420, 0, 0, 0, 0, 0}, {847, 32, 1285, 4112, 0, 0, 0}, {1290, 32, 1606, 4096, 0, 0, 0}, {4471, 839, 17408, 0, 0, 0, 0}, {840, 4352, 0, 0, 0, 0, 0}, {32, 4883, 4176, 1285, 0, 0, 0}, {1290, 32, 4864, 4160, 0, 0, 0}, {843, 4403, 17476, 0, 0, 0, 0}, {844, 12288, 5376, 0, 0, 0, 0}, {40, 4626, 4437, 1285, 0, 0, 0}, {1290, 1314, 5888, 5188, 0, 0, 0}, {847, 5744, 16448, 0, 0, 0, 0}, {1536, 1360, 0, 0, 0, 0, 0}, {8, 883, 1028, 4369, 0, 0, 0}, {8, 4386, 4690, 1024, 0, 0, 0}, {1375, 851, 20480, 0, 0, 0, 0}, {8, 32, 512, 340, 1028, 4112, 0}, {1023, 3072, 12288, 21845, 0, 0, 0}, {21930, 22102, 0, 0, 0, 0, 0}, {343, 1024, 4096, 0, 0, 0, 0}, {8, 32, 512, 336, 1024, 4352, 0}, {1011, 3084, 13107, 21845, 0, 0, 0}, {22106, 13056, 0, 0, 0, 0, 0}, {4371, 4160, 1028, 0, 0, 0, 0}, {1548, 12336, 1360, 0, 0, 0, 0}, {8, 4642, 4437, 1024, 0, 0, 0}, {8, 4454, 4626, 1028, 0, 0, 0}, {1375, 1536, 20480, 0, 0, 0, 0}, {864, 1280, 0, 0, 0, 0, 0}, {8, 1799, 1092, 4369, 0, 0, 0}, {8, 4386, 1792, 1088, 0, 0, 0}, {1295, 867, 20560, 0, 0, 0, 0}, {8, 32, 512, 324, 1280, 4096, 0}, {975, 3855, 12336, 21845, 0, 0, 0}, {3840, 22118, 0, 0, 0, 0, 0}, {1287, 1088, 4112, 0, 0, 0, 0}, {8, 32, 512, 320, 1280, 4352, 0}, {963, 3855, 13107, 21845, 0, 0, 0}, {22122, 13056, 0, 0, 0, 0, 0}, {4371, 4176, 5140, 0, 0, 0, 0}, {876, 12288, 1280, 0, 0, 0, 0}, {8, 4626, 4437, 5397, 0, 0, 0}, {8, 5410, 1792, 1092, 0, 0, 0}, {1295, 1632, 20560, 0, 0, 0, 0}, {880, 5376, 0, 0, 0, 0, 0}, {40, 1542, 1365, 4369, 0, 0, 0}, {4362, 4386, 5888, 5200, 0, 0, 0}, {5708, 883, 16448, 0, 0, 0, 0}, {3084, 4656, 4420, 0, 0, 0, 0}, {1546, 32, 1365, 4096, 0, 0, 0}, {1370, 32, 1542, 4112, 0, 0, 0}, {4471, 4608, 17408, 0, 0, 0, 0}, {888, 4352, 0, 0, 0, 0, 0}, {32, 4883, 4160, 5397, 0, 0, 0}, {5386, 32, 4864, 4176, 0, 0, 0}, {4680, 4403, 17476, 0, 0, 0, 0}, {5692, 12336, 5440, 0, 0, 0, 0}, {4618, 4642, 4437, 5120, 0, 0, 0}, {4430, 4454, 4626, 5140, 0, 0, 0}, {5503, 5632, 16384, 0, 0, 0, 0}, {128, 768, 5376, 0, 0, 0, 0}, {40, 771, 1285, 4369, 0, 0, 0}, {4362, 4386, 768, 5120, 0, 0, 0}, {5439, 771, 16448, 0, 0, 0, 0}, {780, 8704, 4420, 0, 0, 0, 0}, {783, 32, 4176, 1285, 0, 0, 0}, {1290, 32, 1542, 4160, 0, 0, 0}, {783, 4471, 17408, 0, 0, 0, 0}, {136, 768, 4352, 0, 0, 0, 0}, {32, 771, 1285, 4112, 0, 0, 0}, {1290, 32, 768, 4096, 0, 0, 0}, {4403, 771, 17476, 0, 0, 0, 0}, {780, 9472, 5440, 0, 0, 0, 0}, {783, 807, 4437, 1285, 0, 0, 0}, {1290, 1314, 1542, 5188, 0, 0, 0}, {783, 5744, 16384, 0, 0, 0, 0}, {2560, 816, 1360, 0, 0, 0, 0}, {8, 819, 1092, 4369, 0, 0, 0}, {8, 4386, 4626, 1088, 0, 0, 0}, {1375, 819, 20480, 0, 0, 0, 0}, {32, 512, 276, 0, 0, 0, 0}, {831, 21845, 0, 0, 0, 0, 0}, {828, 26214, 0, 0, 0, 0, 0}, {279, 4160, 5120, 0, 0, 0, 0}, {8, 512, 272, 0, 0, 0, 0}, {819, 21845, 0, 0, 0, 0, 0}, {23130, 816, 0, 0, 0, 0, 0}, {275, 1092, 4096, 0, 0, 0, 0}, {828, 13568, 1360, 0, 0, 0, 0}, {8, 823, 4437, 5397, 0, 0, 0}, {8, 5410, 5654, 1092, 0, 0, 0}, {1375, 1632, 20480, 0, 0, 0, 0}, {160, 768, 1280, 0, 0, 0, 0}, {8, 771, 1028, 4369, 0, 0, 0}, {8, 4386, 768, 1024, 0, 0, 0}, {1295, 771, 20560, 0, 0, 0, 0}, {32, 512, 260, 0, 0, 0, 0}, {783, 21845, 0, 0, 0, 0, 0}, {780, 26214, 0, 0, 0, 0, 0}, {263, 4176, 1024, 0, 0, 0, 0}, {8, 32, 256, 0, 0, 0, 0}, {771, 21845, 0, 0, 0, 0, 0}, {21930, 768, 0, 0, 0, 0, 0}, {259, 1028, 4112, 0, 0, 0, 0}, {780, 12384, 1280, 0, 0, 0, 0}, {8, 775, 4437, 1024, 0, 0, 0}, {8, 4454, 772, 1028, 0, 0, 0}, {1295, 1536, 20560, 0, 0, 0, 0}, {6400, 816, 5440, 0, 0, 0, 0}, {795, 819, 1365, 4369, 0, 0, 0}, {4362, 4386, 4626, 5200, 0, 0, 0}, {5708, 819, 16384, 0, 0, 0, 0}, {828, 8704, 4420, 0, 0, 0, 0}, {799, 32, 4160, 5397, 0, 0, 0}, {5386, 32, 5654, 4176, 0, 0, 0}, {4680, 4471, 17408, 0, 0, 0, 0}, {3144, 816, 4352, 0, 0, 0, 0}, {32, 787, 1365, 4096, 0, 0, 0}, {1370, 32, 784, 4112, 0, 0, 0}, {4403, 4608, 17476, 0, 0, 0, 0}, {828, 12400, 5376, 0, 0, 0, 0}, {40, 791, 4437, 5120, 0, 0, 0}, {4430, 4454, 788, 5140, 0, 0, 0}, {5439, 5632, 16448, 0, 0, 0, 0}, {960, 3840, 13056, 21760, 0, 0, 0}, {8, 32, 514, 321, 1285, 4369, 0}, {4354, 4160, 5120, 0, 0, 0, 0}, {22076, 13107, 0, 0, 0, 0, 0}, {8, 4608, 4420, 5376, 0, 0, 0}, {879, 12336, 1285, 0, 0, 0, 0}, {1290, 1638, 20480, 0, 0, 0, 0}, {8, 5431, 1799, 1088, 0, 0, 0}, {8, 1792, 1088, 4352, 0, 0, 0}, {867, 1285, 0, 0, 0, 0, 0}, {1290, 864, 20480, 0, 0, 0, 0}, {8, 4403, 1799, 1092, 0, 0, 0}, {972, 3840, 12288, 21760, 0, 0, 0}, {8, 32, 514, 325, 1285, 4112, 0}, {1282, 1092, 4096, 0, 0, 0, 0}, {3855, 22064, 0, 0, 0, 0, 0}, {32, 4864, 4176, 5376, 0, 0, 0}, {891, 4369, 0, 0, 0, 0, 0}, {4698, 4386, 17408, 0, 0, 0, 0}, {5407, 32, 4883, 4160, 0, 0, 0}, {4632, 4656, 4420, 5140, 0, 0, 0}, {5674, 12288, 5461, 0, 0, 0, 0}, {5482, 5654, 16448, 0, 0, 0, 0}, {4447, 4471, 4608, 5120, 0, 0, 0}, {40, 1536, 1360, 4352, 0, 0, 0}, {883, 5397, 0, 0, 0, 0, 0}, {5722, 880, 16384, 0, 0, 0, 0}, {4379, 4403, 5911, 5188, 0, 0, 0}, {1548, 32, 1360, 4112, 0, 0, 0}, {3072, 4642, 4437, 0, 0, 0, 0}, {4454, 4626, 17476, 0, 0, 0, 0}, {1375, 32, 1536, 4096, 0, 0, 0}, {32, 4864, 4160, 1280, 0, 0, 0}, {843, 4369, 0, 0, 0, 0, 0}, {840, 4386, 17408, 0, 0, 0, 0}, {1295, 32, 4883, 4176, 0, 0, 0}, {40, 4608, 4420, 1280, 0, 0, 0}, {847, 12336, 5397, 0, 0, 0, 0}, {844, 5734, 16384, 0, 0, 0, 0}, {1295, 1319, 5911, 5200, 0, 0, 0}, {840, 864, 1280, 4352, 0, 0, 0}, {5654, 5461, 0, 0, 0, 0, 0}, {5482, 832, 16448, 0, 0, 0, 0}, {4379, 4403, 4688, 5140, 0, 0, 0}, {844, 32, 1280, 4096, 0, 0, 0}, {4626, 4437, 0, 0, 0, 0, 0}, {4454, 836, 17476, 0, 0, 0, 0}, {1295, 32, 1600, 4112, 0, 0, 0}, {1008, 3072, 13056, 21760, 0, 0, 0}, {8, 32, 514, 337, 1028, 4369, 0}, {4354, 4176, 1024, 0, 0, 0, 0}, {22028, 13107, 0, 0, 0, 0, 0}, {8, 4656, 4420, 1028, 0, 0, 0}, {1546, 12288, 1365, 0, 0, 0, 0}, {1370, 1542, 20560, 0, 0, 0, 0}, {8, 4471, 4608, 1024, 0, 0, 0}, {8, 880, 1024, 4352, 0, 0, 0}, {1542, 1365, 0, 0, 0, 0, 0}, {1370, 848, 20560, 0, 0, 0, 0}, {8, 4403, 4672, 1028, 0, 0, 0}, {1020, 3084, 12336, 21760, 0, 0, 0}, {8, 32, 514, 341, 1024, 4096, 0}, {342, 1028, 4112, 0, 0, 0, 0}, {22015, 22016, 0, 0, 0, 0, 0}, {43520, 0, 0, 0, 0, 0, 0}, {3, 4, 16, 257, 0, 0, 0}, {8, 32, 514, 0, 0, 0, 0}, {3, 21760, 0, 0, 0, 0, 0}, {8704, 4, 0, 0, 0, 0, 0}, {15, 80, 1285, 0, 0, 0, 0}, {12, 96, 1542, 0, 0, 0, 0}, {7, 21760, 0, 0, 0, 0, 0}, {8, 8704, 0, 0, 0, 0, 0}, {3, 80, 1285, 0, 0, 0, 0}, {160, 2570, 0, 0, 0, 0, 0}, {3, 4, 4352, 0, 0, 0, 0}, {12, 26112, 0, 0, 0, 0, 0}, {7, 80, 1285, 0, 0, 0, 0}, {32, 514, 4, 0, 0, 0, 0}, {15, 21760, 0, 0, 0, 0, 0}, {2560, 16, 0, 0, 0, 0, 0}, {51, 68, 4369, 0, 0, 0, 0}, {72, 48, 4626, 0, 0, 0, 0}, {19, 21760, 0, 0, 0, 0, 0}, {8704, 20, 0, 0, 0, 0, 0}, {63, 64, 5397, 0, 0, 0, 0}, {76, 112, 5654, 0, 0, 0, 0}, {23, 21760, 0, 0, 0, 0, 0}, {24, 48, 4608, 80, 0, 0, 0}, {76, 51, 21845, 0, 0, 0, 0}, {6682, 48, 64, 0, 0, 0, 0}, {27, 51, 68, 4352, 0, 0, 0}, {28, 32, 5632, 80, 0, 0, 0}, {72, 119, 21845, 0, 0, 0, 0}, {60, 8738, 68, 0, 0, 0, 0}, {31, 32, 64, 5376, 0, 0, 0}, {2560, 32, 0, 0, 0, 0, 0}, {3, 68, 4369, 0, 0, 0, 0}, {136, 8738, 0, 0, 0, 0, 0}, {3, 1280, 16, 0, 0, 0, 0}, {12, 36, 1536, 68, 0, 0, 0}, {15, 112, 21845, 0, 0, 0, 0}, {12, 9766, 64, 0, 0, 0, 0}, {15, 39, 80, 1280, 0, 0, 0}, {40, 8704, 0, 0, 0, 0, 0}, {3, 64, 5397, 0, 0, 0, 0}, {128, 10794, 0, 0, 0, 0, 0}, {3, 20, 4352, 0, 0, 0, 0}, {12, 32, 1536, 64, 0, 0, 0}, {15, 119, 21845, 0, 0, 0, 0}, {12, 8738, 68, 0, 0, 0, 0}, {15, 32, 80, 1280, 0, 0, 0}, {23040, 48, 0, 0, 0, 0, 0}, {19, 68, 4369, 0, 0, 0, 0}, {8, 514, 16, 0, 0, 0, 0}, {51, 21760, 0, 0, 0, 0, 0}, {8, 52, 5632, 68, 0, 0, 0}, {95, 96, 21845, 0, 0, 0, 0}, {60, 13878, 80, 0, 0, 0, 0}, {8, 55, 64, 5376, 0, 0, 0}, {8, 48, 4608, 64, 0, 0, 0}, {95, 51, 21845, 0, 0, 0, 0}, {2570, 48, 80, 0, 0, 0, 0}, {8, 51, 68, 4352, 0, 0, 0}, {60, 26112, 0, 0, 0, 0, 0}, {23, 64, 5397, 0, 0, 0, 0}, {32, 514, 20, 0, 0, 0, 0}, {63, 21760, 0, 0, 0, 0, 0}, {10752, 64, 0, 0, 0, 0, 0}, {51, 20, 4369, 0, 0, 0, 0}, {72, 96, 16962, 0, 0, 0, 0}, {67, 21760, 0, 0, 0, 0, 0}, {8704, 68, 0, 0, 0, 0, 0}, {15, 1285, 16, 0, 0, 0, 0}, {76, 32, 17990, 0, 0, 0, 0}, {71, 21760, 0, 0, 0, 0, 0}, {72, 8704, 0, 0, 0, 0, 0}, {19, 80, 1285, 0, 0, 0, 0}, {2570, 32, 64, 0, 0, 0, 0}, {15, 51, 68, 4352, 0, 0, 0}, {76, 26112, 0, 0, 0, 0, 0}, {23, 80, 1285, 0, 0, 0, 0}, {40, 8738, 68, 0, 0, 0, 0}, {15, 48, 64, 5376, 0, 0, 0}, {2560, 80, 0, 0, 0, 0, 0}, {51, 4, 4369, 0, 0, 0, 0}, {8, 112, 21074, 0, 0, 0, 0}, {83, 21760, 0, 0, 0, 0, 0}, {512, 4, 16, 0, 0, 0, 0}, {255, 21845, 0, 0, 0, 0, 0}, {12, 48, 22102, 0, 0, 0, 0}, {87, 21760, 0, 0, 0, 0, 0}, {8, 32, 512, 80, 0, 0, 0}, {12, 51, 21845, 0, 0, 0, 0}, {240, 23130, 0, 0, 0, 0, 0}, {19, 4, 4352, 0, 0, 0, 0}, {12, 48, 1536, 80, 0, 0, 0}, {8, 119, 21845, 0, 0, 0, 0}, {48, 4626, 4, 0, 0, 0, 0}, {95, 21760, 0, 0, 0, 0, 0}, {2560, 96, 0, 0, 0, 0, 0}, {7, 68, 4369, 0, 0, 0, 0}, {8, 8738, 64, 0, 0, 0, 0}, {15, 51, 80, 1280, 0, 0, 0}, {8, 32, 512, 68, 0, 0, 0}, {15, 48, 21845, 0, 0, 0, 0}, {204, 26214, 0, 0, 0, 0, 0}, {7, 1280, 16, 0, 0, 0, 0}, {8, 32, 512, 64, 0, 0, 0}, {15, 51, 21845, 0, 0, 0, 0}, {192, 27242, 0, 0, 0, 0, 0}, {19, 20, 4352, 0, 0, 0, 0}, {108, 26112, 0, 0, 0, 0, 0}, {7, 64, 5397, 0, 0, 0, 0}, {8, 8738, 68, 0, 0, 0, 0}, {15, 48, 80, 1280, 0, 0, 0}, {23040, 112, 0, 0, 0, 0, 0}, {23, 68, 4369, 0, 0, 0, 0}, {40, 8738, 80, 0, 0, 0, 0}, {12, 51, 64, 5376, 0, 0, 0}, {12, 48, 4608, 68, 0, 0, 0}, {95, 32, 21845, 0, 0, 0, 0}, {12, 1542, 16, 0, 0, 0, 0}, {119, 21760, 0, 0, 0, 0, 0}, {120, 8704, 0, 0, 0, 0, 0}, {19, 64, 5397, 0, 0, 0, 0}, {2570, 32, 80, 0, 0, 0, 0}, {12, 51, 68, 4352, 0, 0, 0}, {12, 48, 5632, 64, 0, 0, 0}, {95, 119, 21845, 0, 0, 0, 0}, {48, 4626, 20, 0, 0, 0, 0}, {127, 21760, 0, 0, 0, 0, 0}, {128, 10752, 0, 0, 0, 0, 0}, {3, 20, 4369, 0, 0, 0, 0}, {40, 8738, 0, 0, 0, 0, 0}, {3, 64, 5376, 0, 0, 0, 0}, {12, 8704, 68, 0, 0, 0, 0}, {15, 32, 80, 1285, 0, 0, 0}, {12, 32, 1542, 64, 0, 0, 0}, {15, 119, 21760, 0, 0, 0, 0}, {136, 8704, 0, 0, 0, 0, 0}, {3, 1285, 16, 0, 0, 0, 0}, {2570, 32, 0, 0, 0, 0, 0}, {3, 68, 4352, 0, 0, 0, 0}, {12, 9728, 64, 0, 0, 0, 0}, {15, 39, 80, 1285, 0, 0, 0}, {12, 36, 1542, 68, 0, 0, 0}, {15, 112, 21760, 0, 0, 0, 0}, {2560, 48, 80, 0, 0, 0, 0}, {8, 51, 68, 4369, 0, 0, 0}, {8, 48, 4626, 64, 0, 0, 0}, {95, 51, 21760, 0, 0, 0, 0}, {32, 512, 20, 0, 0, 0, 0}, {63, 21845, 0, 0, 0, 0, 0}, {60, 26214, 0, 0, 0, 0, 0}, {23, 64, 5376, 0, 0, 0, 0}, {8, 512, 16, 0, 0, 0, 0}, {51, 21845, 0, 0, 0, 0, 0}, {23130, 48, 0, 0, 0, 0, 0}, {19, 68, 4352, 0, 0, 0, 0}, {60, 13824, 80, 0, 0, 0, 0}, {8, 55, 64, 5397, 0, 0, 0}, {8, 52, 5654, 68, 0, 0, 0}, {95, 96, 21760, 0, 0, 0, 0}, {160, 2560, 0, 0, 0, 0, 0}, {3, 4, 4369, 0, 0, 0, 0}, {8, 8738, 0, 0, 0, 0, 0}, {3, 80, 1280, 0, 0, 0, 0}, {32, 512, 4, 0, 0, 0, 0}, {15, 21845, 0, 0, 0, 0, 0}, {12, 26214, 0, 0, 0, 0, 0}, {7, 80, 1280, 0, 0, 0, 0}, {8, 32, 512, 0, 0, 0, 0}, {3, 21845, 0, 0, 0, 0, 0}, {43690, 0, 0, 0, 0, 0, 0}, {3, 4, 16, 256, 0, 0, 0}, {12, 96, 1536, 0, 0, 0, 0}, {7, 21845, 0, 0, 0, 0, 0}, {8738, 4, 0, 0, 0, 0, 0}, {15, 80, 1280, 0, 0, 0, 0}, {6656, 48, 64, 0, 0, 0, 0}, {27, 51, 68, 4369, 0, 0, 0}, {24, 48, 4626, 80, 0, 0, 0}, {76, 51, 21760, 0, 0, 0, 0}, {60, 8704, 68, 0, 0, 0, 0}, {31, 32, 64, 5397, 0, 0, 0}, {28, 32, 5654, 80, 0, 0, 0}, {72, 119, 21760, 0, 0, 0, 0}, {72, 48, 4608, 0, 0, 0, 0}, {19, 21845, 0, 0, 0, 0, 0}, {2570, 16, 0, 0, 0, 0, 0}, {51, 68, 4352, 0, 0, 0, 0}, {76, 112, 5632, 0, 0, 0, 0}, {23, 21845, 0, 0, 0, 0, 0}, {8738, 20, 0, 0, 0, 0, 0}, {63, 64, 5376, 0, 0, 0, 0}, {192, 27136, 0, 0, 0, 0, 0}, {19, 20, 4369, 0, 0, 0, 0}, {8, 32, 514, 64, 0, 0, 0}, {15, 51, 21760, 0, 0, 0, 0}, {8, 8704, 68, 0, 0, 0, 0}, {15, 48, 80, 1285, 0, 0, 0}, {108, 26214, 0, 0, 0, 0, 0}, {7, 64, 5376, 0, 0, 0, 0}, {8, 8704, 64, 0, 0, 0, 0}, {15, 51, 80, 1285, 0, 0, 0}, {2570, 96, 0, 0, 0, 0, 0}, {7, 68, 4352, 0, 0, 0, 0}, {204, 26112, 0, 0, 0, 0, 0}, {7, 1285, 16, 0, 0, 0, 0}, {8, 32, 514, 68, 0, 0, 0}, {15, 48, 21760, 0, 0, 0, 0}, {2560, 32, 80, 0, 0, 0, 0}, {12, 51, 68, 4369, 0, 0, 0}, {120, 8738, 0, 0, 0, 0, 0}, {19, 64, 5376, 0, 0, 0, 0}, {48, 4608, 20, 0, 0, 0, 0}, {127, 21845, 0, 0, 0, 0, 0}, {12, 48, 5654, 64, 0, 0, 0}, {95, 119, 21760, 0, 0, 0, 0}, {40, 8704, 80, 0, 0, 0, 0}, {12, 51, 64, 5397, 0, 0, 0}, {23130, 112, 0, 0, 0, 0, 0}, {23, 68, 4352, 0, 0, 0, 0}, {12, 1536, 16, 0, 0, 0, 0}, {119, 21845, 0, 0, 0, 0, 0}, {12, 48, 4626, 68, 0, 0, 0}, {95, 32, 21760, 0, 0, 0, 0}, {2560, 32, 64, 0, 0, 0, 0}, {15, 51, 68, 4369, 0, 0, 0}, {72, 8738, 0, 0, 0, 0, 0}, {19, 80, 1280, 0, 0, 0, 0}, {40, 8704, 68, 0, 0, 0, 0}, {15, 48, 64, 5397, 0, 0, 0}, {76, 26214, 0, 0, 0, 0, 0}, {23, 80, 1280, 0, 0, 0, 0}, {72, 96, 16896, 0, 0, 0, 0}, {67, 21845, 0, 0, 0, 0, 0}, {10794, 64, 0, 0, 0, 0, 0}, {51, 20, 4352, 0, 0, 0, 0}, {76, 32, 17920, 0, 0, 0, 0}, {71, 21845, 0, 0, 0, 0, 0}, {8738, 68, 0, 0, 0, 0, 0}, {15, 1280, 16, 0, 0, 0, 0}, {240, 23040, 0, 0, 0, 0, 0}, {19, 4, 4369, 0, 0, 0, 0}, {8, 32, 514, 80, 0, 0, 0}, {12, 51, 21760, 0, 0, 0, 0}, {48, 4608, 4, 0, 0, 0, 0}, {95, 21845, 0, 0, 0, 0, 0}, {12, 48, 1542, 80, 0, 0, 0}, {8, 119, 21760, 0, 0, 0, 0}, {8, 112, 20992, 0, 0, 0, 0}, {83, 21845, 0, 0, 0, 0, 0}, {2570, 80, 0, 0, 0, 0, 0}, {51, 4, 4352, 0, 0, 0, 0}, {12, 48, 22016, 0, 0, 0, 0}, {87, 21845, 0, 0, 0, 0, 0}, {514, 4, 16, 0, 0, 0, 0}, {255, 21760, 0, 0, 0, 0, 0}, {768, 1024, 4096, 0, 0, 0, 0}, {170, 257, 0, 0, 0, 0, 0}, {258, 21760, 0, 0, 0, 0, 0}, {1036, 4144, 771, 0, 0, 0, 0}, {780, 4160, 1028, 0, 0, 0, 0}, {8704, 261, 0, 0, 0, 0, 0}, {262, 21760, 0, 0, 0, 0, 0}, {1032, 4208, 1799, 0, 0, 0, 0}, {1032, 768, 20480, 0, 0, 0, 0}, {265, 4403, 771, 1285, 0, 0, 0}, {266, 768, 1024, 4352, 0, 0, 0}, {4272, 771, 1028, 0, 0, 0, 0}, {1036, 1792, 20480, 0, 0, 0, 0}, {269, 4471, 514, 1285, 0, 0, 0}, {270, 514, 4420, 1028, 0, 0, 0}, {783, 8192, 1024, 0, 0, 0, 0}, {816, 1088, 4112, 0, 0, 0, 0}, {2560, 273, 0, 0, 0, 0, 0}, {274, 21760, 0, 0, 0, 0, 0}, {1100, 4128, 4883, 0, 0, 0, 0}, {828, 4176, 5140, 0, 0, 0, 0}, {8704, 277, 0, 0, 0, 0, 0}, {278, 21760, 0, 0, 0, 0, 0}, {1096, 4192, 5911, 0, 0, 0, 0}, {1096, 816, 20560, 0, 0, 0, 0}, {281, 4403, 4608, 1365, 0, 0, 0}, {282, 816, 1088, 4352, 0, 0, 0}, {6939, 819, 1092, 0, 0, 0, 0}, {1100, 1904, 20560, 0, 0, 0, 0}, {285, 5154, 5632, 1365, 0, 0, 0}, {286, 546, 4420, 5376, 0, 0, 0}, {831, 8224, 1088, 0, 0, 0, 0}, {4128, 768, 17408, 0, 0, 0, 0}, {1295, 289, 771, 4369, 0, 0, 0}, {290, 768, 1280, 4096, 0, 0, 0}, {1164, 771, 4112, 0, 0, 0, 0}, {780, 4192, 17476, 0, 0, 0, 0}, {1295, 293, 1536, 4437, 0, 0, 0}, {780, 294, 4160, 1280, 0, 0, 0}, {783, 10023, 4176, 0, 0, 0, 0}, {5160, 768, 16384, 0, 0, 0, 0}, {4122, 4403, 771, 5397, 0, 0, 0}, {298, 768, 1280, 4352, 0, 0, 0}, {4240, 771, 5140, 0, 0, 0, 0}, {780, 5984, 16448, 0, 0, 0, 0}, {1295, 1058, 1536, 5461, 0, 0, 0}, {780, 546, 4420, 1280, 0, 0, 0}, {783, 8224, 5200, 0, 0, 0, 0}, {4144, 4864, 17408, 0, 0, 0, 0}, {1375, 305, 514, 4369, 0, 0, 0}, {306, 514, 1360, 4112, 0, 0, 0}, {2048, 819, 4096, 0, 0, 0, 0}, {4940, 4208, 17476, 0, 0, 0, 0}, {5130, 309, 5632, 4437, 0, 0, 0}, {522, 310, 4176, 5376, 0, 0, 0}, {831, 14135, 4160, 0, 0, 0, 0}, {5960, 816, 16448, 0, 0, 0, 0}, {4106, 4403, 4608, 5461, 0, 0, 0}, {522, 816, 1360, 4352, 0, 0, 0}, {2056, 819, 5188, 0, 0, 0, 0}, {5180, 5888, 16384, 0, 0, 0, 0}, {4170, 4471, 514, 5397, 0, 0, 0}, {318, 514, 4420, 5140, 0, 0, 0}, {831, 8192, 5120, 0, 0, 0, 0}, {13056, 4160, 5120, 0, 0, 0, 0}, {552, 321, 1285, 4369, 0, 0, 0}, {322, 21760, 0, 0, 0, 0, 0}, {1100, 4208, 17219, 0, 0, 0, 0}, {3840, 1092, 4096, 0, 0, 0, 0}, {544, 325, 1285, 4112, 0, 0, 0}, {326, 21760, 0, 0, 0, 0, 0}, {1096, 4144, 18247, 0, 0, 0, 0}, {1096, 4864, 20480, 0, 0, 0, 0}, {329, 4403, 4883, 1285, 0, 0, 0}, {1290, 544, 1088, 4352, 0, 0, 0}, {3855, 4915, 1092, 0, 0, 0, 0}, {1100, 5888, 20480, 0, 0, 0, 0}, {333, 4471, 4626, 1285, 0, 0, 0}, {4106, 4642, 4420, 5376, 0, 0, 0}, {5951, 12336, 1088, 0, 0, 0, 0}, {13056, 4176, 1024, 0, 0, 0, 0}, {520, 337, 1028, 4369, 0, 0, 0}, {338, 21760, 0, 0, 0, 0, 0}, {1036, 4192, 21331, 0, 0, 0, 0}, {1020, 1028, 4112, 0, 0, 0, 0}, {512, 341, 1024, 4096, 0, 0, 0}, {342, 21760, 0, 0, 0, 0, 0}, {1032, 4128, 22359, 0, 0, 0, 0}, {1032, 4896, 20560, 0, 0, 0, 0}, {1036, 4403, 512, 1365, 0, 0, 0}, {346, 512, 1024, 4352, 0, 0, 0}, {4320, 4883, 1028, 0, 0, 0, 0}, {1036, 5984, 20560, 0, 0, 0, 0}, {1032, 5154, 1536, 1365, 0, 0, 0}, {4122, 4626, 4420, 1028, 0, 0, 0}, {4959, 12288, 1024, 0, 0, 0, 0}, {4192, 1792, 17408, 0, 0, 0, 0}, {1295, 353, 1799, 4369, 0, 0, 0}, {520, 4386, 4160, 1280, 0, 0, 0}, {1807, 13107, 4176, 0, 0, 0, 0}, {1800, 4128, 17476, 0, 0, 0, 0}, {1295, 4144, 512, 4437, 0, 0, 0}, {358, 512, 1280, 4096, 0, 0, 0}, {1224, 1799, 4112, 0, 0, 0, 0}, {1800, 4896, 16448, 0, 0, 0, 0}, {1295, 4403, 512, 5461, 0, 0, 0}, {362, 512, 1280, 4352, 0, 0, 0}, {4304, 4883, 5140, 0, 0, 0, 0}, {5228, 1792, 16384, 0, 0, 0, 0}, {4122, 4471, 4626, 5397, 0, 0, 0}, {520, 4642, 4420, 1280, 0, 0, 0}, {1807, 12336, 5200, 0, 0, 0, 0}, {4208, 5888, 17408, 0, 0, 0, 0}, {1375, 369, 1542, 4369, 0, 0, 0}, {4874, 4386, 4176, 5376, 0, 0, 0}, {5951, 13107, 4160, 0, 0, 0, 0}, {5960, 4144, 17476, 0, 0, 0, 0}, {5130, 4128, 4608, 4437, 0, 0, 0}, {1062, 1542, 1360, 4112, 0, 0, 0}, {3072, 1911, 4096, 0, 0, 0, 0}, {5240, 4864, 16384, 0, 0, 0, 0}, {4170, 4403, 4883, 5397, 0, 0, 0}, {1546, 544, 1360, 4352, 0, 0, 0}, {3084, 4915, 5188, 0, 0, 0, 0}, {4940, 1904, 16448, 0, 0, 0, 0}, {4106, 1058, 5632, 5461, 0, 0, 0}, {4154, 4626, 4420, 5140, 0, 0, 0}, {4991, 12288, 5120, 0, 0, 0, 0}, {4224, 768, 5120, 0, 0, 0, 0}, {299, 771, 1285, 4369, 0, 0, 0}, {4106, 4386, 768, 5376, 0, 0, 0}, {5180, 771, 16448, 0, 0, 0, 0}, {780, 8192, 5188, 0, 0, 0, 0}, {783, 544, 4437, 1285, 0, 0, 0}, {1290, 1062, 1542, 5440, 0, 0, 0}, {783, 6007, 16384, 0, 0, 0, 0}, {1160, 768, 4096, 0, 0, 0, 0}, {291, 771, 1285, 4112, 0, 0, 0}, {1290, 288, 768, 4352, 0, 0, 0}, {4144, 771, 17476, 0, 0, 0, 0}, {780, 9984, 4160, 0, 0, 0, 0}, {783, 295, 4176, 1285, 0, 0, 0}, {1290, 292, 1542, 4420, 0, 0, 0}, {783, 4208, 17408, 0, 0, 0, 0}, {2048, 816, 5200, 0, 0, 0, 0}, {520, 819, 1365, 4369, 0, 0, 0}, {4122, 4386, 4626, 5440, 0, 0, 0}, {5983, 819, 16384, 0, 0, 0, 0}, {828, 8224, 5140, 0, 0, 0, 0}, {319, 512, 4437, 5120, 0, 0, 0}, {4186, 4454, 512, 5376, 0, 0, 0}, {5160, 5911, 16448, 0, 0, 0, 0}, {2056, 816, 4112, 0, 0, 0, 0}, {307, 512, 1365, 4096, 0, 0, 0}, {1370, 304, 512, 4352, 0, 0, 0}, {4128, 4883, 17476, 0, 0, 0, 0}, {828, 14080, 4176, 0, 0, 0, 0}, {520, 311, 4160, 5397, 0, 0, 0}, {5150, 308, 5654, 4420, 0, 0, 0}, {4959, 4192, 17408, 0, 0, 0, 0}, {4256, 768, 1024, 0, 0, 0, 0}, {267, 771, 1028, 4369, 0, 0, 0}, {264, 4386, 768, 1280, 0, 0, 0}, {1036, 771, 20560, 0, 0, 0, 0}, {780, 8224, 1028, 0, 0, 0, 0}, {271, 512, 4437, 1024, 0, 0, 0}, {268, 4454, 512, 1280, 0, 0, 0}, {1032, 1799, 20560, 0, 0, 0, 0}, {1032, 4128, 768, 0, 0, 0, 0}, {259, 21845, 0, 0, 0, 0, 0}, {170, 256, 0, 0, 0, 0, 0}, {771, 1028, 4112, 0, 0, 0, 0}, {1036, 4192, 1792, 0, 0, 0, 0}, {263, 21845, 0, 0, 0, 0, 0}, {8738, 260, 0, 0, 0, 0, 0}, {783, 4176, 1024, 0, 0, 0, 0}, {6912, 816, 1088, 0, 0, 0, 0}, {283, 819, 1092, 4369, 0, 0, 0}, {280, 4386, 4626, 1360, 0, 0, 0}, {1100, 819, 20480, 0, 0, 0, 0}, {828, 8192, 1092, 0, 0, 0, 0}, {287, 544, 4437, 5397, 0, 0, 0}, {284, 5174, 5654, 1360, 0, 0, 0}, {1096, 1911, 20480, 0, 0, 0, 0}, {1096, 4144, 4864, 0, 0, 0, 0}, {275, 21845, 0, 0, 0, 0, 0}, {2570, 272, 0, 0, 0, 0, 0}, {819, 1092, 4096, 0, 0, 0, 0}, {1100, 4208, 5888, 0, 0, 0, 0}, {279, 21845, 0, 0, 0, 0, 0}, {8738, 276, 0, 0, 0, 0, 0}, {831, 4160, 5120, 0, 0, 0, 0}, {4288, 4864, 5120, 0, 0, 0, 0}, {363, 514, 1285, 4369, 0, 0, 0}, {1290, 4386, 514, 5440, 0, 0, 0}, {1807, 4915, 16384, 0, 0, 0, 0}, {1800, 12288, 5188, 0, 0, 0, 0}, {522, 4656, 4437, 1285, 0, 0, 0}, {4106, 4454, 4608, 5376, 0, 0, 0}, {5240, 1799, 16448, 0, 0, 0, 0}, {1800, 13056, 4160, 0, 0, 0, 0}, {522, 4403, 4176, 1285, 0, 0, 0}, {1290, 352, 1792, 4352, 0, 0, 0}, {4208, 1799, 17476, 0, 0, 0, 0}, {1228, 1792, 4096, 0, 0, 0, 0}, {359, 514, 1285, 4112, 0, 0, 0}, {1290, 4128, 514, 4420, 0, 0, 0}, {1807, 4144, 17408, 0, 0, 0, 0}, {3072, 4896, 5200, 0, 0, 0, 0}, {1548, 546, 1365, 4369, 0, 0, 0}, {4186, 4386, 4864, 5376, 0, 0, 0}, {5228, 4883, 16448, 0, 0, 0, 0}, {4972, 12336, 5140, 0, 0, 0, 0}, {4138, 4608, 4437, 5120, 0, 0, 0}, {4122, 1062, 5654, 5440, 0, 0, 0}, {4959, 1911, 16384, 0, 0, 0, 0}, {5928, 13056, 4176, 0, 0, 0, 0}, {4889, 4403, 4160, 5397, 0, 0, 0}, {1370, 368, 1536, 4352, 0, 0, 0}, {4192, 5911, 17476, 0, 0, 0, 0}, {3084, 1904, 4112, 0, 0, 0, 0}, {1058, 1536, 1365, 4096, 0, 0, 0}, {5150, 4144, 4626, 4420, 0, 0, 0}, {5983, 4128, 17408, 0, 0, 0, 0}, {3840, 4896, 1088, 0, 0, 0, 0}, {1295, 546, 1092, 4369, 0, 0, 0}, {328, 4386, 4864, 1280, 0, 0, 0}, {1100, 4883, 20560, 0, 0, 0, 0}, {5928, 12288, 1092, 0, 0, 0, 0}, {4122, 4656, 4437, 5397, 0, 0, 0}, {332, 4454, 4608, 1280, 0, 0, 0}, {1096, 5911, 20560, 0, 0, 0, 0}, {1096, 4192, 17152, 0, 0, 0, 0}, {323, 21845, 0, 0, 0, 0, 0}, {554, 320, 1280, 4352, 0, 0, 0}, {13107, 4176, 5140, 0, 0, 0, 0}, {1100, 4128, 18176, 0, 0, 0, 0}, {327, 21845, 0, 0, 0, 0, 0}, {546, 324, 1280, 4096, 0, 0, 0}, {3855, 1088, 4112, 0, 0, 0, 0}, {4336, 4864, 1024, 0, 0, 0, 0}, {347, 514, 1028, 4369, 0, 0, 0}, {1032, 4386, 514, 1360, 0, 0, 0}, {1036, 4915, 20480, 0, 0, 0, 0}, {4940, 12336, 1028, 0, 0, 0, 0}, {4106, 4608, 4437, 1024, 0, 0, 0}, {1036, 5174, 1542, 1360, 0, 0, 0}, {1032, 6007, 20480, 0, 0, 0, 0}, {1032, 4208, 21248, 0, 0, 0, 0}, {339, 21845, 0, 0, 0, 0, 0}, {522, 336, 1024, 4352, 0, 0, 0}, {13107, 4160, 1028, 0, 0, 0, 0}, {1036, 4144, 22272, 0, 0, 0, 0}, {343, 21845, 0, 0, 0, 0, 0}, {514, 340, 1028, 4112, 0, 0, 0}, {1023, 1024, 4096, 0, 0, 0, 0}, {3072, 24576, 0, 0, 0, 0, 0}, {7, 85, 257, 0, 0, 0, 0}, {8, 34, 514, 1024, 0, 0, 0}, {15, 771, 20480, 0, 0, 0, 0}, {8, 8192, 1028, 0, 0, 0, 0}, {15, 768, 85, 1285, 0, 0, 0}, {170, 1542, 0, 0, 0, 0, 0}, {7, 1024, 4096, 0, 0, 0, 0}, {8, 8192, 1024, 0, 0, 0, 0}, {15, 771, 85, 1285, 0, 0, 0}, {1546, 26112, 0, 0, 0, 0, 0}, {7, 4160, 1028, 0, 0, 0, 0}, {24768, 3084, 0, 0, 0, 0, 0}, {258, 261, 4352, 0, 0, 0, 0}, {8, 34, 514, 1028, 0, 0, 0}, {15, 768, 20480, 0, 0, 0, 0}, {3136, 112, 4112, 0, 0, 0, 0}, {34, 1553, 85, 4369, 0, 0, 0}, {90, 34, 4626, 5120, 0, 0, 0}, {127, 4883, 16384, 0, 0, 0, 0}, {120, 12288, 5140, 0, 0, 0, 0}, {42, 4864, 85, 5397, 0, 0, 0}, {90, 112, 1558, 4096, 0, 0, 0}, {119, 5911, 17408, 0, 0, 0, 0}, {5160, 12336, 5200, 0, 0, 0, 0}, {4889, 4915, 85, 5376, 0, 0, 0}, {4122, 4144, 5632, 4160, 0, 0, 0}, {5983, 119, 17476, 0, 0, 0, 0}, {7196, 4128, 4176, 0, 0, 0, 0}, {1565, 34, 85, 4352, 0, 0, 0}, {5150, 34, 4608, 5188, 0, 0, 0}, {4959, 4896, 16448, 0, 0, 0, 0}, {128, 3072, 8224, 16384, 0, 0, 0}, {15, 34, 771, 85, 1280, 4369, 0}, {34, 1536, 17408, 0, 0, 0, 0}, {15, 112, 771, 4112, 0, 0, 0}, {136, 3084, 9252, 17476, 0, 0, 0}, {15, 37, 768, 85, 1280, 4096, 0}, {1548, 1574, 16448, 0, 0, 0, 0}, {15, 5159, 768, 5200, 0, 0, 0}, {9256, 17408, 0, 0, 0, 0, 0}, {4144, 771, 4117, 0, 0, 0, 0}, {42, 1536, 16384, 0, 0, 0, 0}, {15, 119, 771, 5140, 0, 0, 0}, {128, 3084, 8224, 16448, 0, 0, 0}, {15, 34, 768, 85, 1280, 4352, 0}, {1548, 34, 17476, 0, 0, 0, 0}, {15, 4128, 768, 4176, 0, 0, 0}, {240, 3120, 12336, 20480, 0, 0, 0}, {8, 34, 514, 85, 1041, 4369, 0}, {1042, 1088, 4112, 0, 0, 0, 0}, {24320, 21299, 0, 0, 0, 0, 0}, {8, 1076, 1092, 4096, 0, 0, 0}, {2570, 1589, 85, 0, 0, 0, 0}, {90, 1590, 20560, 0, 0, 0, 0}, {8, 1079, 4864, 1088, 0, 0, 0}, {8, 4144, 4160, 5120, 0, 0, 0}, {1593, 13107, 85, 0, 0, 0, 0}, {90, 1632, 20560, 0, 0, 0, 0}, {8, 1075, 5888, 1092, 0, 0, 0}, {240, 3132, 12288, 20480, 0, 0, 0}, {8, 34, 514, 85, 1045, 4352, 0}, {4098, 4176, 5140, 0, 0, 0, 0}, {21311, 13056, 0, 0, 0, 0, 0}, {128, 3136, 8192, 16448, 0, 0, 0}, {15, 34, 785, 85, 1285, 4369, 0}, {34, 1602, 17408, 0, 0, 0, 0}, {15, 112, 835, 4096, 0, 0, 0}, {136, 3140, 9284, 17476, 0, 0, 0}, {15, 37, 789, 85, 1285, 4112, 0}, {42, 1606, 16384, 0, 0, 0, 0}, {15, 119, 839, 5120, 0, 0, 0}, {9288, 17408, 0, 0, 0, 0, 0}, {4128, 4883, 4101, 0, 0, 0, 0}, {1610, 1632, 16448, 0, 0, 0, 0}, {15, 5171, 5888, 5188, 0, 0, 0}, {128, 3148, 8192, 16384, 0, 0, 0}, {15, 34, 786, 85, 1285, 4352, 0}, {1614, 34, 17476, 0, 0, 0, 0}, {15, 4144, 4864, 4160, 0, 0, 0}, {240, 3072, 12288, 20560, 0, 0, 0}, {8, 34, 512, 85, 1028, 4369, 0}, {82, 1024, 4096, 0, 0, 0, 0}, {255, 21331, 0, 0, 0, 0, 0}, {8, 112, 1028, 4112, 0, 0, 0}, {1536, 85, 0, 0, 0, 0, 0}, {90, 1622, 20480, 0, 0, 0, 0}, {8, 119, 4951, 1024, 0, 0, 0}, {8, 4128, 4176, 1024, 0, 0, 0}, {1548, 13107, 85, 0, 0, 0, 0}, {90, 1536, 20480, 0, 0, 0, 0}, {8, 119, 4883, 1028, 0, 0, 0}, {240, 3084, 12336, 20560, 0, 0, 0}, {8, 34, 512, 85, 1024, 4352, 0}, {4114, 4160, 1028, 0, 0, 0, 0}, {21343, 13056, 0, 0, 0, 0, 0}, {3264, 24672, 0, 0, 0, 0, 0}, {7, 1280, 273, 0, 0, 0, 0}, {8, 34, 512, 1088, 0, 0, 0}, {15, 819, 20560, 0, 0, 0, 0}, {8, 8224, 1092, 0, 0, 0, 0}, {15, 816, 85, 1280, 0, 0, 0}, {2560, 1638, 0, 0, 0, 0, 0}, {7, 1088, 4112, 0, 0, 0, 0}, {8, 8224, 1088, 0, 0, 0, 0}, {15, 819, 85, 1280, 0, 0, 0}, {1642, 26112, 0, 0, 0, 0, 0}, {7, 4176, 5140, 0, 0, 0, 0}, {24736, 27756, 0, 0, 0, 0, 0}, {274, 277, 4352, 0, 0, 0, 0}, {8, 34, 512, 1092, 0, 0, 0}, {15, 816, 20560, 0, 0, 0, 0}, {3072, 112, 4096, 0, 0, 0, 0}, {34, 1542, 85, 4369, 0, 0, 0}, {5130, 34, 4608, 5200, 0, 0, 0}, {4940, 4915, 16448, 0, 0, 0, 0}, {5180, 12336, 5188, 0, 0, 0, 0}, {4874, 4896, 85, 5376, 0, 0, 0}, {90, 112, 1542, 4112, 0, 0, 0}, {119, 5888, 17408, 0, 0, 0, 0}, {120, 12288, 5120, 0, 0, 0, 0}, {42, 4883, 85, 5397, 0, 0, 0}, {4106, 4128, 5632, 4176, 0, 0, 0}, {5960, 119, 17476, 0, 0, 0, 0}, {3084, 4144, 4160, 0, 0, 0, 0}, {1546, 34, 85, 4352, 0, 0, 0}, {90, 34, 4626, 5140, 0, 0, 0}, {127, 4864, 16384, 0, 0, 0, 0}, {128, 3072, 8192, 16384, 0, 0, 0}, {15, 34, 771, 85, 1285, 4369, 0}, {1546, 34, 17408, 0, 0, 0, 0}, {15, 4144, 771, 4160, 0, 0, 0}, {9228, 17476, 0, 0, 0, 0, 0}, {4128, 768, 4101, 0, 0, 0, 0}, {42, 1542, 16448, 0, 0, 0, 0}, {15, 119, 768, 5120, 0, 0, 0}, {136, 3072, 9216, 17408, 0, 0, 0}, {15, 37, 771, 85, 1285, 4112, 0}, {1546, 1568, 16384, 0, 0, 0, 0}, {15, 5171, 771, 5188, 0, 0, 0}, {128, 3084, 8192, 16448, 0, 0, 0}, {15, 34, 768, 85, 1285, 4352, 0}, {34, 1542, 17476, 0, 0, 0, 0}, {15, 112, 768, 4096, 0, 0, 0}, {240, 3120, 12336, 20560, 0, 0, 0}, {8, 34, 512, 85, 1041, 4369, 0}, {4114, 4160, 5120, 0, 0, 0, 0}, {21356, 13107, 0, 0, 0, 0, 0}, {8, 4128, 4176, 5140, 0, 0, 0}, {1599, 13056, 85, 0, 0, 0, 0}, {90, 1638, 20480, 0, 0, 0, 0}, {8, 1079, 5911, 1088, 0, 0, 0}, {8, 1072, 1088, 4112, 0, 0, 0}, {2560, 1587, 85, 0, 0, 0, 0}, {90, 1584, 20480, 0, 0, 0, 0}, {8, 1075, 4883, 1092, 0, 0, 0}, {240, 3132, 12288, 20560, 0, 0, 0}, {8, 34, 512, 85, 1045, 4352, 0}, {1046, 1092, 4096, 0, 0, 0, 0}, {24415, 21344, 0, 0, 0, 0, 0}, {24736, 3072, 0, 0, 0, 0, 0}, {259, 260, 4369, 0, 0, 0, 0}, {8, 34, 512, 1024, 0, 0, 0}, {15, 771, 20560, 0, 0, 0, 0}, {8, 8224, 1028, 0, 0, 0, 0}, {15, 768, 85, 1280, 0, 0, 0}, {1548, 26214, 0, 0, 0, 0, 0}, {7, 4176, 1024, 0, 0, 0, 0}, {8, 8224, 1024, 0, 0, 0, 0}, {15, 771, 85, 1280, 0, 0, 0}, {170, 1536, 0, 0, 0, 0, 0}, {7, 1028, 4112, 0, 0, 0, 0}, {3084, 24672, 0, 0, 0, 0, 0}, {7, 85, 256, 0, 0, 0, 0}, {8, 34, 512, 1028, 0, 0, 0}, {15, 768, 20560, 0, 0, 0, 0}, {7168, 4144, 4160, 0, 0, 0, 0}, {1563, 34, 85, 4369, 0, 0, 0}, {5130, 34, 4626, 5200, 0, 0, 0}, {4940, 4915, 16384, 0, 0, 0, 0}, {5180, 12288, 5188, 0, 0, 0, 0}, {4874, 4896, 85, 5397, 0, 0, 0}, {4106, 4128, 5654, 4176, 0, 0, 0}, {5960, 119, 17408, 0, 0, 0, 0}, {120, 12336, 5120, 0, 0, 0, 0}, {42, 4883, 85, 5376, 0, 0, 0}, {90, 112, 1552, 4112, 0, 0, 0}, {119, 5888, 17476, 0, 0, 0, 0}, {3148, 112, 4096, 0, 0, 0, 0}, {34, 1559, 85, 4352, 0, 0, 0}, {90, 34, 4608, 5140, 0, 0, 0}, {127, 4864, 16448, 0, 0, 0, 0}, {24768, 27648, 0, 0, 0, 0, 0}, {275, 276, 4369, 0, 0, 0, 0}, {8, 34, 514, 1088, 0, 0, 0}, {15, 819, 20480, 0, 0, 0, 0}, {8, 8192, 1092, 0, 0, 0, 0}, {15, 816, 85, 1285, 0, 0, 0}, {1644, 26214, 0, 0, 0, 0, 0}, {7, 4160, 5120, 0, 0, 0, 0}, {8, 8192, 1088, 0, 0, 0, 0}, {15, 819, 85, 1285, 0, 0, 0}, {2570, 1632, 0, 0, 0, 0, 0}, {7, 1092, 4096, 0, 0, 0, 0}, {3276, 24576, 0, 0, 0, 0, 0}, {7, 1285, 272, 0, 0, 0, 0}, {8, 34, 514, 1092, 0, 0, 0}, {15, 816, 20480, 0, 0, 0, 0}, {3072, 4128, 4176, 0, 0, 0, 0}, {1548, 34, 85, 4369, 0, 0, 0}, {90, 34, 4608, 5120, 0, 0, 0}, {127, 4883, 16448, 0, 0, 0, 0}, {120, 12336, 5140, 0, 0, 0, 0}, {42, 4864, 85, 5376, 0, 0, 0}, {4122, 4144, 5654, 4160, 0, 0, 0}, {5983, 119, 17408, 0, 0, 0, 0}, {5160, 12288, 5200, 0, 0, 0, 0}, {4889, 4915, 85, 5397, 0, 0, 0}, {90, 112, 1536, 4096, 0, 0, 0}, {119, 5911, 17476, 0, 0, 0, 0}, {3084, 112, 4112, 0, 0, 0, 0}, {34, 1536, 85, 4352, 0, 0, 0}, {5150, 34, 4626, 5188, 0, 0, 0}, {4959, 4896, 16384, 0, 0, 0, 0}, {128, 3136, 8224, 16448, 0, 0, 0}, {15, 34, 785, 85, 1280, 4369, 0}, {1608, 34, 17408, 0, 0, 0, 0}, {15, 4128, 4883, 4176, 0, 0, 0}, {9324, 17476, 0, 0, 0, 0, 0}, {4144, 4864, 4117, 0, 0, 0, 0}, {1612, 1638, 16384, 0, 0, 0, 0}, {15, 5159, 5911, 5200, 0, 0, 0}, {136, 3144, 9312, 17408, 0, 0, 0}, {15, 37, 790, 85, 1280, 4096, 0}, {42, 1600, 16448, 0, 0, 0, 0}, {15, 119, 836, 5140, 0, 0, 0}, {128, 3148, 8224, 16384, 0, 0, 0}, {15, 34, 786, 85, 1280, 4352, 0}, {34, 1604, 17476, 0, 0, 0, 0}, {15, 112, 832, 4112, 0, 0, 0}, {240, 3072, 12288, 20480, 0, 0, 0}, {8, 34, 514, 85, 1028, 4369, 0}, {4098, 4176, 1024, 0, 0, 0, 0}, {21260, 13107, 0, 0, 0, 0, 0}, {8, 4144, 4160, 1028, 0, 0, 0}, {1546, 13056, 85, 0, 0, 0, 0}, {90, 1542, 20560, 0, 0, 0, 0}, {8, 119, 4864, 1024, 0, 0, 0}, {8, 112, 1024, 4096, 0, 0, 0}, {1542, 85, 0, 0, 0, 0, 0}, {90, 1616, 20560, 0, 0, 0, 0}, {8, 119, 4932, 1028, 0, 0, 0}, {240, 3084, 12336, 20480, 0, 0, 0}, {8, 34, 514, 85, 1024, 4352, 0}, {82, 1028, 4112, 0, 0, 0, 0}, {255, 21248, 0, 0, 0, 0, 0}, {1792, 21760, 0, 0, 0, 0, 0}, {12, 96, 257, 0, 0, 0, 0}, {1290, 514, 20480, 0, 0, 0, 0}, {12, 4403, 771, 1024, 0, 0, 0}, {12, 768, 4420, 1028, 0, 0, 0}, {522, 8192, 1285, 0, 0, 0, 0}, {262, 1024, 4096, 0, 0, 0, 0}, {22015, 1799, 0, 0, 0, 0, 0}, {1800, 21760, 0, 0, 0, 0, 0}, {4144, 771, 261, 0, 0, 0, 0}, {1290, 1792, 20480, 0, 0, 0, 0}, {12, 4471, 771, 1028, 0, 0, 0}, {12, 768, 1024, 4352, 0, 0, 0}, {160, 514, 1285, 0, 0, 0, 0}, {258, 4160, 1028, 0, 0, 0, 0}, {1807, 8704, 0, 0, 0, 0, 0}, {1328, 1808, 1360, 4112, 0, 0, 0}, {2116, 1911, 4369, 0, 0, 0, 0}, {5482, 4626, 16384, 0, 0, 0, 0}, {4447, 4403, 4883, 5120, 0, 0, 0}, {4392, 4864, 4420, 5140, 0, 0, 0}, {4714, 12288, 5397, 0, 0, 0, 0}, {4454, 5654, 17408, 0, 0, 0, 0}, {1375, 96, 1815, 4096, 0, 0, 0}, {4632, 4144, 4176, 5376, 0, 0, 0}, {5674, 13107, 4437, 0, 0, 0, 0}, {4698, 1904, 16448, 0, 0, 0, 0}, {4379, 1331, 5632, 5188, 0, 0, 0}, {1820, 544, 1360, 4352, 0, 0, 0}, {7453, 4642, 5461, 0, 0, 0, 0}, {5722, 4386, 17476, 0, 0, 0, 0}, {5407, 4128, 4608, 4160, 0, 0, 0}, {544, 1280, 0, 0, 0, 0, 0}, {12, 771, 1092, 4369, 0, 0, 0}, {3840, 21026, 0, 0, 0, 0, 0}, {1283, 1088, 4112, 0, 0, 0, 0}, {12, 292, 768, 324, 1280, 4096, 0}, {1935, 3855, 9509, 21845, 0, 0, 0}, {12, 5414, 768, 1088, 0, 0, 0}, {1295, 1831, 20560, 0, 0, 0, 0}, {552, 8192, 1280, 0, 0, 0, 0}, {12, 771, 4437, 5397, 0, 0, 0}, {21034, 30464, 0, 0, 0, 0, 0}, {4375, 4176, 5140, 0, 0, 0, 0}, {12, 288, 768, 320, 1280, 4352, 0}, {1927, 3855, 8738, 21845, 0, 0, 0}, {12, 4386, 768, 1092, 0, 0, 0}, {1295, 544, 20560, 0, 0, 0, 0}, {4656, 5376, 0, 0, 0, 0, 0}, {1337, 514, 1365, 4369, 0, 0, 0}, {1370, 96, 514, 4112, 0, 0, 0}, {4403, 5632, 17408, 0, 0, 0, 0}, {2056, 1844, 4420, 0, 0, 0, 0}, {522, 1333, 1365, 4096, 0, 0, 0}, {4362, 1334, 4864, 5200, 0, 0, 0}, {4680, 1847, 16448, 0, 0, 0, 0}, {1848, 12336, 5440, 0, 0, 0, 0}, {522, 4915, 4437, 5120, 0, 0, 0}, {5386, 4144, 5888, 4176, 0, 0, 0}, {5708, 4471, 17476, 0, 0, 0, 0}, {1852, 4352, 0, 0, 0, 0, 0}, {4128, 514, 4160, 5397, 0, 0, 0}, {4430, 4386, 514, 5140, 0, 0, 0}, {5439, 4608, 16384, 0, 0, 0, 0}, {4608, 5440, 0, 0, 0, 0, 0}, {590, 546, 1285, 4369, 0, 0, 0}, {1290, 96, 578, 4096, 0, 0, 0}, {4403, 1859, 17408, 0, 0, 0, 0}, {5632, 4420, 0, 0, 0, 0, 0}, {586, 96, 1285, 4112, 0, 0, 0}, {4362, 4454, 582, 5120, 0, 0, 0}, {5439, 1863, 16384, 0, 0, 0, 0}, {4680, 12288, 5376, 0, 0, 0, 0}, {4409, 4883, 4437, 1285, 0, 0, 0}, {1290, 4128, 5888, 4160, 0, 0, 0}, {1867, 4471, 17476, 0, 0, 0, 0}, {1868, 4352, 0, 0, 0, 0, 0}, {4144, 4626, 4176, 1285, 0, 0, 0}, {1290, 4386, 4864, 5188, 0, 0, 0}, {1871, 4656, 16448, 0, 0, 0, 0}, {512, 1360, 0, 0, 0, 0, 0}, {12, 819, 1028, 4369, 0, 0, 0}, {21930, 21074, 0, 0, 0, 0, 0}, {339, 1024, 4096, 0, 0, 0, 0}, {12, 308, 516, 340, 1028, 4112, 0}, {2047, 2048, 9557, 21845, 0, 0, 0}, {12, 4454, 4694, 1024, 0, 0, 0}, {1375, 1879, 20480, 0, 0, 0, 0}, {520, 8224, 1360, 0, 0, 0, 0}, {12, 819, 4437, 1024, 0, 0, 0}, {21082, 30464, 0, 0, 0, 0, 0}, {4375, 4160, 1028, 0, 0, 0, 0}, {12, 304, 512, 336, 1024, 4352, 0}, {2039, 2056, 8738, 21845, 0, 0, 0}, {12, 4386, 4626, 1028, 0, 0, 0}, {1375, 512, 20480, 0, 0, 0, 0}, {96, 512, 1280, 4096, 0, 0, 0}, {204, 1799, 4369, 0, 0, 0, 0}, {1800, 4642, 16448, 0, 0, 0, 0}, {1295, 4403, 512, 5200, 0, 0, 0}, {520, 4896, 4420, 1280, 0, 0, 0}, {1807, 12336, 5461, 0, 0, 0, 0}, {4454, 1792, 17408, 0, 0, 0, 0}, {1295, 96, 1799, 4112, 0, 0, 0}, {520, 4128, 4160, 1280, 0, 0, 0}, {1807, 13107, 4437, 0, 0, 0, 0}, {5482, 1792, 16384, 0, 0, 0, 0}, {4379, 4471, 4883, 5140, 0, 0, 0}, {108, 512, 1280, 4352, 0, 0, 0}, {192, 4626, 5397, 0, 0, 0, 0}, {1800, 4386, 17476, 0, 0, 0, 0}, {1295, 4144, 512, 4176, 0, 0, 0}, {1904, 21760, 0, 0, 0, 0, 0}, {12, 1542, 273, 0, 0, 0, 0}, {1370, 546, 20560, 0, 0, 0, 0}, {12, 4403, 4608, 1088, 0, 0, 0}, {12, 816, 4420, 5376, 0, 0, 0}, {554, 8224, 1365, 0, 0, 0, 0}, {278, 1088, 4112, 0, 0, 0, 0}, {23040, 1911, 0, 0, 0, 0, 0}, {1912, 21760, 0, 0, 0, 0, 0}, {4128, 4883, 277, 0, 0, 0, 0}, {1370, 1904, 20560, 0, 0, 0, 0}, {12, 5427, 5632, 1092, 0, 0, 0}, {12, 816, 1088, 4352, 0, 0, 0}, {2570, 546, 1365, 0, 0, 0, 0}, {274, 4176, 5140, 0, 0, 0, 0}, {1919, 8704, 0, 0, 0, 0, 0}, {1920, 3840, 8704, 21760, 0, 0, 0}, {12, 289, 771, 321, 1285, 4369, 0}, {1290, 546, 20480, 0, 0, 0, 0}, {12, 4403, 771, 1088, 0, 0, 0}, {12, 768, 4420, 5376, 0, 0, 0}, {554, 8224, 1285, 0, 0, 0, 0}, {4358, 4160, 5120, 0, 0, 0, 0}, {21112, 30583, 0, 0, 0, 0, 0}, {1928, 3840, 9472, 21760, 0, 0, 0}, {12, 293, 771, 325, 1285, 4112, 0}, {1290, 1824, 20480, 0, 0, 0, 0}, {12, 5427, 771, 1092, 0, 0, 0}, {12, 768, 1088, 4352, 0, 0, 0}, {546, 1285, 0, 0, 0, 0, 0}, {1286, 1092, 4096, 0, 0, 0, 0}, {3855, 21104, 0, 0, 0, 0, 0}, {4144, 512, 4176, 5376, 0, 0, 0}, {1851, 4369, 0, 0, 0, 0, 0}, {5418, 4626, 16448, 0, 0, 0, 0}, {4447, 4403, 512, 5120, 0, 0, 0}, {520, 4896, 4420, 5140, 0, 0, 0}, {1855, 12288, 5461, 0, 0, 0, 0}, {5722, 4454, 17408, 0, 0, 0, 0}, {5407, 4128, 5911, 4160, 0, 0, 0}, {520, 1328, 1360, 4112, 0, 0, 0}, {2048, 1843, 4437, 0, 0, 0, 0}, {4698, 1840, 16384, 0, 0, 0, 0}, {4379, 1331, 4883, 5188, 0, 0, 0}, {1340, 512, 1360, 4352, 0, 0, 0}, {4642, 5397, 0, 0, 0, 0, 0}, {4386, 5654, 17476, 0, 0, 0, 0}, {1375, 96, 512, 4096, 0, 0, 0}, {160, 512, 1280, 0, 0, 0, 0}, {12, 771, 1028, 4369, 0, 0, 0}, {1800, 8738, 0, 0, 0, 0, 0}, {259, 4176, 1024, 0, 0, 0, 0}, {4128, 768, 260, 0, 0, 0, 0}, {1807, 21845, 0, 0, 0, 0, 0}, {12, 4454, 768, 1024, 0, 0, 0}, {1295, 1799, 20560, 0, 0, 0, 0}, {520, 8224, 1280, 0, 0, 0, 0}, {12, 771, 4437, 1024, 0, 0, 0}, {21930, 1792, 0, 0, 0, 0, 0}, {263, 1028, 4112, 0, 0, 0, 0}, {12, 96, 256, 0, 0, 0, 0}, {1799, 21845, 0, 0, 0, 0, 0}, {12, 4386, 768, 1028, 0, 0, 0}, {1295, 512, 20560, 0, 0, 0, 0}, {7424, 4656, 5440, 0, 0, 0, 0}, {1819, 546, 1365, 4369, 0, 0, 0}, {5386, 4144, 4626, 4176, 0, 0, 0}, {5708, 4403, 17408, 0, 0, 0, 0}, {5692, 13056, 4420, 0, 0, 0, 0}, {4618, 4128, 4160, 5397, 0, 0, 0}, {4362, 1334, 5654, 5200, 0, 0, 0}, {4680, 1911, 16384, 0, 0, 0, 0}, {4728, 12336, 5376, 0, 0, 0, 0}, {4409, 4883, 4437, 5120, 0, 0, 0}, {1370, 96, 1808, 4112, 0, 0, 0}, {4471, 5632, 17476, 0, 0, 0, 0}, {2124, 1904, 4352, 0, 0, 0, 0}, {1333, 1815, 1365, 4096, 0, 0, 0}, {4430, 4386, 4864, 5140, 0, 0, 0}, {5503, 4608, 16448, 0, 0, 0, 0}, {192, 4608, 5376, 0, 0, 0, 0}, {108, 514, 1285, 4369, 0, 0, 0}, {1290, 4128, 514, 4160, 0, 0, 0}, {1807, 4403, 17408, 0, 0, 0, 0}, {1800, 13056, 4420, 0, 0, 0, 0}, {522, 4144, 4176, 1285, 0, 0, 0}, {4362, 4454, 4864, 5120, 0, 0, 0}, {5503, 1799, 16448, 0, 0, 0, 0}, {1800, 12288, 5440, 0, 0, 0, 0}, {522, 4915, 4437, 1285, 0, 0, 0}, {1290, 96, 1792, 4096, 0, 0, 0}, {4471, 1799, 17476, 0, 0, 0, 0}, {204, 1792, 4352, 0, 0, 0, 0}, {96, 514, 1285, 4112, 0, 0, 0}, {1290, 4386, 514, 5188, 0, 0, 0}, {1807, 4656, 16384, 0, 0, 0, 0}, {2560, 544, 1360, 0, 0, 0, 0}, {12, 819, 1092, 4369, 0, 0, 0}, {1912, 8738, 0, 0, 0, 0, 0}, {275, 4160, 5120, 0, 0, 0, 0}, {4144, 4864, 276, 0, 0, 0, 0}, {1919, 21845, 0, 0, 0, 0, 0}, {12, 5414, 5654, 1088, 0, 0, 0}, {1375, 1911, 20480, 0, 0, 0, 0}, {552, 8192, 1360, 0, 0, 0, 0}, {12, 819, 4437, 5397, 0, 0, 0}, {23130, 1904, 0, 0, 0, 0, 0}, {279, 1092, 4096, 0, 0, 0, 0}, {12, 1536, 272, 0, 0, 0, 0}, {1911, 21845, 0, 0, 0, 0, 0}, {12, 4386, 4626, 1092, 0, 0, 0}, {1375, 544, 20480, 0, 0, 0, 0}, {4128, 4608, 4160, 1280, 0, 0, 0}, {1867, 4369, 0, 0, 0, 0, 0}, {1864, 4642, 16384, 0, 0, 0, 0}, {1295, 4403, 4883, 5200, 0, 0, 0}, {4392, 4864, 4420, 1280, 0, 0, 0}, {4698, 12336, 5397, 0, 0, 0, 0}, {1868, 4454, 17408, 0, 0, 0, 0}, {1295, 4144, 5911, 4176, 0, 0, 0}, {584, 96, 1280, 4096, 0, 0, 0}, {5654, 4437, 0, 0, 0, 0, 0}, {5418, 1856, 16448, 0, 0, 0, 0}, {4379, 4471, 580, 5140, 0, 0, 0}, {588, 544, 1280, 4352, 0, 0, 0}, {4626, 5461, 0, 0, 0, 0, 0}, {4386, 1860, 17476, 0, 0, 0, 0}, {1295, 96, 576, 4112, 0, 0, 0}, {2032, 2048, 8704, 21760, 0, 0, 0}, {12, 305, 514, 337, 1028, 4369, 0}, {1370, 514, 20560, 0, 0, 0, 0}, {12, 4403, 4608, 1024, 0, 0, 0}, {12, 816, 4420, 1028, 0, 0, 0}, {522, 8192, 1365, 0, 0, 0, 0}, {4358, 4176, 1024, 0, 0, 0, 0}, {21000, 30583, 0, 0, 0, 0, 0}, {2040, 2056, 9584, 21760, 0, 0, 0}, {12, 309, 518, 341, 1024, 4096, 0}, {1370, 1872, 20560, 0, 0, 0, 0}, {12, 4471, 4676, 1028, 0, 0, 0}, {12, 816, 1024, 4352, 0, 0, 0}, {514, 1365, 0, 0, 0, 0, 0}, {338, 1028, 4112, 0, 0, 0, 0}, {22015, 20992, 0, 0, 0, 0, 0}, {8704, 1024, 0, 0, 0, 0, 0}, {15, 80, 257, 0, 0, 0, 0}, {1032, 16416, 514, 0, 0, 0, 0}, {1027, 21760, 0, 0, 0, 0, 0}, {8840, 1028, 0, 0, 0, 0, 0}, {768, 261, 4096, 0, 0, 0, 0}, {1036, 16480, 1542, 0, 0, 0, 0}, {1031, 21760, 0, 0, 0, 0, 0}, {1032, 26112, 0, 0, 0, 0, 0}, {262, 80, 1285, 0, 0, 0, 0}, {522, 8192, 1024, 0, 0, 0, 0}, {15, 771, 4420, 1028, 0, 0, 0}, {1036, 8704, 0, 0, 0, 0, 0}, {258, 80, 1285, 0, 0, 0, 0}, {160, 514, 1028, 0, 0, 0, 0}, {15, 768, 1024, 4352, 0, 0, 0}, {544, 80, 1040, 4112, 0, 0, 0}, {3123, 1092, 4369, 0, 0, 0, 0}, {1096, 16432, 4626, 0, 0, 0, 0}, {1043, 21760, 0, 0, 0, 0, 0}, {552, 80, 1044, 4096, 0, 0, 0}, {13056, 4437, 5397, 0, 0, 0, 0}, {1100, 16496, 5654, 0, 0, 0, 0}, {1047, 21760, 0, 0, 0, 0, 0}, {1048, 4144, 5632, 80, 0, 0, 0}, {1100, 4454, 21845, 0, 0, 0, 0}, {5674, 12336, 1088, 0, 0, 0, 0}, {4379, 4915, 4420, 5376, 0, 0, 0}, {1052, 4128, 4608, 80, 0, 0, 0}, {1096, 4386, 21845, 0, 0, 0, 0}, {7710, 4642, 1092, 0, 0, 0, 0}, {1055, 544, 1088, 4352, 0, 0, 0}, {1056, 1536, 17408, 0, 0, 0, 0}, {15, 1140, 771, 4369, 0, 0, 0}, {1160, 3072, 8738, 16384, 0, 0, 0}, {15, 291, 771, 80, 1280, 4112, 0}, {1548, 1060, 17476, 0, 0, 0, 0}, {15, 5413, 768, 4437, 0, 0, 0}, {1164, 3084, 9766, 16448, 0, 0, 0}, {15, 295, 768, 80, 1280, 4096, 0}, {1064, 1536, 16384, 0, 0, 0, 0}, {15, 4454, 771, 5397, 0, 0, 0}, {9770, 17408, 0, 0, 0, 0, 0}, {4144, 771, 4372, 0, 0, 0, 0}, {1548, 544, 16448, 0, 0, 0, 0}, {15, 4386, 768, 5461, 0, 0, 0}, {1156, 3084, 8738, 17476, 0, 0, 0}, {15, 288, 768, 80, 1280, 4352, 0}, {1072, 5632, 17408, 0, 0, 0, 0}, {95, 1124, 514, 4369, 0, 0, 0}, {1080, 514, 80, 4112, 0, 0, 0}, {4403, 5376, 0, 0, 0, 0, 0}, {5708, 1076, 17476, 0, 0, 0, 0}, {4362, 5429, 4864, 4437, 0, 0, 0}, {522, 1590, 80, 4096, 0, 0, 0}, {2056, 1079, 5440, 0, 0, 0, 0}, {4680, 5744, 16448, 0, 0, 0, 0}, {5386, 1075, 5888, 5461, 0, 0, 0}, {522, 4144, 80, 5120, 0, 0, 0}, {1083, 13107, 4420, 0, 0, 0, 0}, {1084, 4608, 16384, 0, 0, 0, 0}, {95, 4386, 514, 5397, 0, 0, 0}, {4128, 514, 80, 5140, 0, 0, 0}, {1087, 4352, 0, 0, 0, 0, 0}, {8704, 1088, 0, 0, 0, 0, 0}, {15, 1285, 273, 0, 0, 0, 0}, {1096, 16480, 16962, 0, 0, 0, 0}, {1091, 21760, 0, 0, 0, 0, 0}, {10752, 1092, 0, 0, 0, 0, 0}, {816, 277, 4112, 0, 0, 0, 0}, {1100, 16416, 17990, 0, 0, 0, 0}, {1095, 21760, 0, 0, 0, 0, 0}, {1096, 26112, 0, 0, 0, 0, 0}, {278, 80, 1285, 0, 0, 0, 0}, {554, 8224, 1088, 0, 0, 0, 0}, {15, 819, 4420, 5376, 0, 0, 0}, {1100, 8704, 0, 0, 0, 0, 0}, {274, 80, 1285, 0, 0, 0, 0}, {2570, 546, 1092, 0, 0, 0, 0}, {15, 816, 1088, 4352, 0, 0, 0}, {512, 80, 1024, 4096, 0, 0, 0}, {255, 1028, 4369, 0, 0, 0, 0}, {1032, 16496, 21074, 0, 0, 0, 0}, {1107, 21760, 0, 0, 0, 0, 0}, {520, 80, 1028, 4112, 0, 0, 0}, {13056, 4437, 1024, 0, 0, 0, 0}, {1036, 16432, 22102, 0, 0, 0, 0}, {1111, 21760, 0, 0, 0, 0, 0}, {1032, 4128, 1536, 80, 0, 0, 0}, {1036, 4454, 21845, 0, 0, 0, 0}, {4698, 12288, 1024, 0, 0, 0, 0}, {4379, 4883, 4420, 1028, 0, 0, 0}, {1036, 4144, 512, 80, 0, 0, 0}, {1032, 4386, 21845, 0, 0, 0, 0}, {240, 4626, 1028, 0, 0, 0, 0}, {95, 512, 1024, 4352, 0, 0, 0}, {1120, 512, 17408, 0, 0, 0, 0}, {15, 1076, 1799, 4369, 0, 0, 0}, {1224, 2056, 8738, 16448, 0, 0, 0}, {15, 307, 512, 80, 1280, 4096, 0}, {520, 1124, 17476, 0, 0, 0, 0}, {15, 1072, 1792, 4437, 0, 0, 0}, {1228, 2048, 9830, 16384, 0, 0, 0}, {15, 311, 519, 80, 1280, 4112, 0}, {520, 1632, 16448, 0, 0, 0, 0}, {15, 1075, 1792, 5461, 0, 0, 0}, {9834, 17408, 0, 0, 0, 0, 0}, {4128, 4883, 4372, 0, 0, 0, 0}, {1132, 512, 16384, 0, 0, 0, 0}, {15, 4386, 4626, 5397, 0, 0, 0}, {1220, 2056, 8738, 17476, 0, 0, 0}, {15, 304, 512, 80, 1280, 4352, 0}, {1136, 4608, 17408, 0, 0, 0, 0}, {95, 1060, 1542, 4369, 0, 0, 0}, {1546, 546, 80, 4096, 0, 0, 0}, {3084, 4403, 5440, 0, 0, 0, 0}, {4680, 1140, 17476, 0, 0, 0, 0}, {4362, 1056, 5888, 4437, 0, 0, 0}, {1068, 1542, 80, 4112, 0, 0, 0}, {4471, 5376, 0, 0, 0, 0, 0}, {1144, 5632, 16384, 0, 0, 0, 0}, {95, 4454, 4883, 5397, 0, 0, 0}, {4618, 4128, 80, 5120, 0, 0, 0}, {5439, 13107, 4420, 0, 0, 0, 0}, {5708, 4656, 16448, 0, 0, 0, 0}, {5386, 4386, 4864, 5461, 0, 0, 0}, {4144, 4626, 80, 5140, 0, 0, 0}, {1151, 4352, 0, 0, 0, 0, 0}, {1152, 3072, 8704, 17408, 0, 0, 0}, {15, 289, 771, 80, 1285, 4369, 0}, {1546, 546, 16384, 0, 0, 0, 0}, {15, 4403, 771, 5440, 0, 0, 0}, {9740, 17476, 0, 0, 0, 0, 0}, {4128, 768, 4357, 0, 0, 0, 0}, {1068, 1542, 16448, 0, 0, 0, 0}, {15, 4471, 768, 5376, 0, 0, 0}, {1160, 3072, 9728, 16384, 0, 0, 0}, {15, 294, 771, 80, 1285, 4112, 0}, {1546, 1056, 17408, 0, 0, 0, 0}, {15, 5424, 771, 4420, 0, 0, 0}, {1164, 3084, 8704, 16448, 0, 0, 0}, {15, 290, 768, 80, 1285, 4096, 0}, {1060, 1542, 17476, 0, 0, 0, 0}, {15, 1136, 768, 4352, 0, 0, 0}, {4144, 512, 80, 5120, 0, 0, 0}, {1083, 4369, 0, 0, 0, 0, 0}, {1080, 4626, 16448, 0, 0, 0, 0}, {95, 4403, 512, 5376, 0, 0, 0}, {520, 4128, 80, 5140, 0, 0, 0}, {1087, 13056, 4437, 0, 0, 0, 0}, {4698, 5734, 16384, 0, 0, 0, 0}, {5407, 1079, 5911, 5440, 0, 0, 0}, {520, 1584, 80, 4112, 0, 0, 0}, {2048, 1075, 5461, 0, 0, 0, 0}, {5722, 1072, 17408, 0, 0, 0, 0}, {4379, 5408, 4883, 4420, 0, 0, 0}, {1084, 512, 80, 4096, 0, 0, 0}, {4386, 5397, 0, 0, 0, 0, 0}, {1076, 5654, 17476, 0, 0, 0, 0}, {95, 1120, 512, 4352, 0, 0, 0}, {160, 512, 1024, 0, 0, 0, 0}, {15, 771, 1028, 4369, 0, 0, 0}, {1032, 8738, 0, 0, 0, 0, 0}, {259, 80, 1280, 0, 0, 0, 0}, {520, 8224, 1028, 0, 0, 0, 0}, {15, 768, 4437, 1024, 0, 0, 0}, {1036, 26214, 0, 0, 0, 0, 0}, {263, 80, 1280, 0, 0, 0, 0}, {1032, 16416, 1536, 0, 0, 0, 0}, {1027, 21845, 0, 0, 0, 0, 0}, {8874, 1024, 0, 0, 0, 0, 0}, {771, 260, 4112, 0, 0, 0, 0}, {1036, 16480, 512, 0, 0, 0, 0}, {1031, 21845, 0, 0, 0, 0, 0}, {8738, 1028, 0, 0, 0, 0, 0}, {15, 80, 256, 0, 0, 0, 0}, {7680, 4656, 1088, 0, 0, 0, 0}, {1051, 546, 1092, 4369, 0, 0, 0}, {1048, 4144, 4626, 80, 0, 0, 0}, {1100, 4403, 21760, 0, 0, 0, 0}, {5692, 12288, 1092, 0, 0, 0, 0}, {4362, 4896, 4437, 5397, 0, 0, 0}, {1052, 4128, 5654, 80, 0, 0, 0}, {1096, 4471, 21760, 0, 0, 0, 0}, {1096, 16432, 5632, 0, 0, 0, 0}, {1043, 21845, 0, 0, 0, 0, 0}, {554, 80, 1040, 4112, 0, 0, 0}, {13107, 4420, 5376, 0, 0, 0, 0}, {1100, 16496, 4608, 0, 0, 0, 0}, {1047, 21845, 0, 0, 0, 0, 0}, {546, 80, 1044, 4096, 0, 0, 0}, {3135, 1088, 4352, 0, 0, 0, 0}, {1216, 2048, 8704, 17408, 0, 0, 0}, {15, 305, 514, 80, 1285, 4369, 0}, {1128, 514, 16448, 0, 0, 0, 0}, {15, 4403, 4608, 5376, 0, 0, 0}, {9804, 17476, 0, 0, 0, 0, 0}, {4144, 4864, 4357, 0, 0, 0, 0}, {522, 1638, 16384, 0, 0, 0, 0}, {15, 1079, 1799, 5440, 0, 0, 0}, {1224, 2056, 9792, 16448, 0, 0, 0}, {15, 310, 517, 80, 1285, 4096, 0}, {522, 1120, 17408, 0, 0, 0, 0}, {15, 1076, 1799, 4420, 0, 0, 0}, {1228, 2048, 8704, 16384, 0, 0, 0}, {15, 306, 514, 80, 1285, 4112, 0}, {1124, 514, 17476, 0, 0, 0, 0}, {15, 1072, 1792, 4352, 0, 0, 0}, {4128, 4608, 80, 5120, 0, 0, 0}, {1147, 4369, 0, 0, 0, 0, 0}, {5722, 4642, 16384, 0, 0, 0, 0}, {5407, 4403, 4883, 5440, 0, 0, 0}, {4632, 4144, 80, 5140, 0, 0, 0}, {5418, 13056, 4437, 0, 0, 0, 0}, {1148, 5654, 16448, 0, 0, 0, 0}, {95, 4471, 4864, 5376, 0, 0, 0}, {1064, 1536, 80, 4096, 0, 0, 0}, {4454, 5397, 0, 0, 0, 0, 0}, {4698, 1136, 17408, 0, 0, 0, 0}, {4379, 1060, 5911, 4420, 0, 0, 0}, {1548, 544, 80, 4112, 0, 0, 0}, {3072, 4386, 5461, 0, 0, 0, 0}, {1140, 4626, 17476, 0, 0, 0, 0}, {95, 1056, 1536, 4352, 0, 0, 0}, {2560, 544, 1088, 0, 0, 0, 0}, {15, 819, 1092, 4369, 0, 0, 0}, {1096, 8738, 0, 0, 0, 0, 0}, {275, 80, 1280, 0, 0, 0, 0}, {552, 8192, 1092, 0, 0, 0, 0}, {15, 816, 4437, 5397, 0, 0, 0}, {1100, 26214, 0, 0, 0, 0, 0}, {279, 80, 1280, 0, 0, 0, 0}, {1096, 16480, 17920, 0, 0, 0, 0}, {1091, 21845, 0, 0, 0, 0, 0}, {10794, 1088, 0, 0, 0, 0, 0}, {819, 276, 4096, 0, 0, 0, 0}, {1100, 16416, 16896, 0, 0, 0, 0}, {1095, 21845, 0, 0, 0, 0, 0}, {8738, 1092, 0, 0, 0, 0, 0}, {15, 1280, 272, 0, 0, 0, 0}, {240, 4608, 1024, 0, 0, 0, 0}, {95, 514, 1028, 4369, 0, 0, 0}, {1032, 4128, 514, 80, 0, 0, 0}, {1036, 4403, 21760, 0, 0, 0, 0}, {4680, 12336, 1028, 0, 0, 0, 0}, {4362, 4864, 4437, 1024, 0, 0, 0}, {1036, 4144, 1542, 80, 0, 0, 0}, {1032, 4471, 21760, 0, 0, 0, 0}, {1032, 16496, 22016, 0, 0, 0, 0}, {1107, 21845, 0, 0, 0, 0, 0}, {522, 80, 1024, 4096, 0, 0, 0}, {13107, 4420, 1028, 0, 0, 0, 0}, {1036, 16432, 20992, 0, 0, 0, 0}, {1111, 21845, 0, 0, 0, 0, 0}, {514, 80, 1028, 4112, 0, 0, 0}, {255, 1024, 4352, 0, 0, 0, 0}, {3840, 20480, 0, 0, 0, 0, 0}, {34, 4, 257, 0, 0, 0, 0}, {1282, 21760, 0, 0, 0, 0, 0}, {12, 20528, 771, 0, 0, 0, 0}, {768, 4, 4096, 0, 0, 0, 0}, {170, 1285, 0, 0, 0, 0, 0}, {1286, 21760, 0, 0, 0, 0, 0}, {8, 20592, 1799, 0, 0, 0, 0}, {8, 1792, 20480, 0, 0, 0, 0}, {12, 102, 771, 1285, 0, 0, 0}, {1290, 21760, 0, 0, 0, 0, 0}, {4144, 771, 4, 0, 0, 0, 0}, {12, 768, 20480, 0, 0, 0, 0}, {8, 34, 514, 1285, 0, 0, 0}, {258, 4, 4352, 0, 0, 0, 0}, {20720, 3855, 0, 0, 0, 0, 0}, {3888, 64, 4112, 0, 0, 0, 0}, {34, 68, 1297, 4369, 0, 0, 0}, {1298, 21760, 0, 0, 0, 0, 0}, {76, 20512, 4883, 0, 0, 0, 0}, {13056, 68, 5140, 0, 0, 0, 0}, {42, 64, 1301, 4096, 0, 0, 0}, {1302, 21760, 0, 0, 0, 0, 0}, {72, 20576, 5911, 0, 0, 0, 0}, {72, 5984, 20560, 0, 0, 0, 0}, {1305, 1331, 5632, 1365, 0, 0, 0}, {4122, 4144, 64, 5376, 0, 0, 0}, {5160, 13107, 68, 0, 0, 0, 0}, {76, 4896, 20560, 0, 0, 0, 0}, {1309, 34, 4608, 1365, 0, 0, 0}, {1310, 34, 68, 4352, 0, 0, 0}, {7967, 4128, 64, 0, 0, 0, 0}, {3840, 20512, 0, 0, 0, 0, 0}, {1283, 68, 4369, 0, 0, 0, 0}, {34, 1280, 0, 0, 0, 0, 0}, {12, 771, 64, 4112, 0, 0, 0}, {12, 5156, 768, 68, 0, 0, 0}, {1295, 1317, 21845, 0, 0, 0, 0}, {12, 38, 768, 64, 1280, 4096, 0}, {136, 3855, 10023, 20560, 0, 0, 0}, {20520, 30464, 0, 0, 0, 0, 0}, {4118, 64, 5397, 0, 0, 0, 0}, {42, 8192, 1280, 0, 0, 0, 0}, {12, 771, 68, 5140, 0, 0, 0}, {12, 4128, 768, 64, 0, 0, 0}, {1295, 34, 21845, 0, 0, 0, 0}, {12, 34, 768, 68, 1280, 4352, 0}, {128, 3855, 8224, 20560, 0, 0, 0}, {24320, 20528, 0, 0, 0, 0, 0}, {1299, 68, 4369, 0, 0, 0, 0}, {8, 34, 514, 64, 1296, 4112, 0}, {204, 3891, 13107, 20480, 0, 0, 0}, {8, 5172, 4864, 68, 0, 0, 0}, {1375, 1333, 21845, 0, 0, 0, 0}, {2570, 1334, 1360, 0, 0, 0, 0}, {8, 1847, 64, 4096, 0, 0, 0}, {8, 4144, 5888, 64, 0, 0, 0}, {1375, 102, 21845, 0, 0, 0, 0}, {1338, 12336, 1360, 0, 0, 0, 0}, {8, 4915, 68, 5120, 0, 0, 0}, {20540, 13056, 0, 0, 0, 0, 0}, {4098, 64, 5397, 0, 0, 0, 0}, {8, 34, 514, 68, 1300, 4352, 0}, {192, 3903, 12288, 20480, 0, 0, 0}, {3840, 64, 4096, 0, 0, 0, 0}, {34, 68, 1285, 4369, 0, 0, 0}, {1346, 21760, 0, 0, 0, 0, 0}, {76, 20592, 17219, 0, 0, 0, 0}, {13056, 68, 5120, 0, 0, 0, 0}, {42, 64, 1285, 4112, 0, 0, 0}, {1350, 21760, 0, 0, 0, 0, 0}, {72, 20528, 18247, 0, 0, 0, 0}, {72, 5888, 20480, 0, 0, 0, 0}, {76, 102, 4883, 1285, 0, 0, 0}, {4106, 4128, 64, 5376, 0, 0, 0}, {5180, 13107, 68, 0, 0, 0, 0}, {76, 4864, 20480, 0, 0, 0, 0}, {72, 34, 4626, 1285, 0, 0, 0}, {1290, 34, 68, 4352, 0, 0, 0}, {3855, 4144, 64, 0, 0, 0, 0}, {4080, 20560, 0, 0, 0, 0, 0}, {512, 4, 273, 0, 0, 0, 0}, {1362, 21760, 0, 0, 0, 0, 0}, {12, 20576, 21331, 0, 0, 0, 0}, {816, 4, 4112, 0, 0, 0, 0}, {2560, 1365, 0, 0, 0, 0, 0}, {1366, 21760, 0, 0, 0, 0, 0}, {8, 20512, 22359, 0, 0, 0, 0}, {8, 1904, 20560, 0, 0, 0, 0}, {12, 1331, 1536, 1365, 0, 0, 0}, {1370, 21760, 0, 0, 0, 0, 0}, {4128, 4883, 4, 0, 0, 0, 0}, {12, 816, 20560, 0, 0, 0, 0}, {8, 34, 512, 1365, 0, 0, 0}, {274, 4, 4352, 0, 0, 0, 0}, {20640, 24415, 0, 0, 0, 0, 0}, {3840, 20576, 0, 0, 0, 0, 0}, {1287, 68, 4369, 0, 0, 0, 0}, {8, 34, 512, 64, 1280, 4096, 0}, {204, 3855, 13107, 20560, 0, 0, 0}, {8, 5152, 1792, 68, 0, 0, 0}, {1295, 1381, 21845, 0, 0, 0, 0}, {102, 1280, 0, 0, 0, 0, 0}, {8, 1799, 64, 4112, 0, 0, 0}, {8, 4128, 1792, 64, 0, 0, 0}, {1295, 102, 21845, 0, 0, 0, 0}, {106, 12288, 1280, 0, 0, 0, 0}, {8, 4883, 68, 5140, 0, 0, 0}, {20588, 13056, 0, 0, 0, 0, 0}, {4114, 64, 5397, 0, 0, 0, 0}, {8, 34, 512, 68, 1280, 4352, 0}, {192, 3855, 12336, 20560, 0, 0, 0}, {24320, 20592, 0, 0, 0, 0, 0}, {1303, 68, 4369, 0, 0, 0, 0}, {2570, 34, 1360, 0, 0, 0, 0}, {12, 819, 64, 4096, 0, 0, 0}, {12, 5168, 5888, 68, 0, 0, 0}, {1375, 1397, 21845, 0, 0, 0, 0}, {12, 38, 790, 64, 1296, 4112, 0}, {136, 3959, 10103, 20480, 0, 0, 0}, {20600, 30464, 0, 0, 0, 0, 0}, {4102, 64, 5397, 0, 0, 0, 0}, {42, 8224, 1360, 0, 0, 0, 0}, {12, 819, 68, 5120, 0, 0, 0}, {12, 4144, 4864, 64, 0, 0, 0}, {1375, 34, 21845, 0, 0, 0, 0}, {12, 34, 786, 68, 1300, 4352, 0}, {128, 3967, 8192, 20480, 0, 0, 0}, {128, 3840, 8192, 20480, 0, 0, 0}, {12, 34, 771, 68, 1285, 4369, 0}, {1290, 34, 21760, 0, 0, 0, 0}, {12, 4144, 771, 64, 0, 0, 0}, {12, 768, 68, 5120, 0, 0, 0}, {42, 8224, 1285, 0, 0, 0, 0}, {4102, 64, 5376, 0, 0, 0, 0}, {20600, 30583, 0, 0, 0, 0, 0}, {136, 3840, 9984, 20480, 0, 0, 0}, {12, 38, 771, 64, 1285, 4112, 0}, {1290, 1312, 21760, 0, 0, 0, 0}, {12, 5168, 771, 68, 0, 0, 0}, {12, 768, 64, 4096, 0, 0, 0}, {34, 1285, 0, 0, 0, 0, 0}, {1286, 68, 4352, 0, 0, 0, 0}, {3855, 20592, 0, 0, 0, 0, 0}, {192, 3888, 12336, 20560, 0, 0, 0}, {8, 34, 512, 68, 1297, 4369, 0}, {4114, 64, 5376, 0, 0, 0, 0}, {20588, 13107, 0, 0, 0, 0, 0}, {8, 4896, 68, 5140, 0, 0, 0}, {1343, 12288, 1365, 0, 0, 0, 0}, {1370, 102, 21760, 0, 0, 0, 0}, {8, 4128, 5911, 64, 0, 0, 0}, {8, 1840, 64, 4112, 0, 0, 0}, {2560, 1331, 1365, 0, 0, 0, 0}, {1370, 1328, 21760, 0, 0, 0, 0}, {8, 5152, 4883, 68, 0, 0, 0}, {204, 3900, 13056, 20560, 0, 0, 0}, {8, 34, 512, 64, 1301, 4096, 0}, {1302, 68, 4352, 0, 0, 0, 0}, {24415, 20576, 0, 0, 0, 0, 0}, {20640, 3840, 0, 0, 0, 0, 0}, {259, 4, 4369, 0, 0, 0, 0}, {8, 34, 512, 1280, 0, 0, 0}, {12, 771, 20560, 0, 0, 0, 0}, {4128, 768, 4, 0, 0, 0, 0}, {1295, 21845, 0, 0, 0, 0, 0}, {12, 102, 768, 1280, 0, 0, 0}, {8, 1799, 20560, 0, 0, 0, 0}, {8, 20512, 1792, 0, 0, 0, 0}, {1283, 21845, 0, 0, 0, 0, 0}, {170, 1280, 0, 0, 0, 0, 0}, {771, 4, 4112, 0, 0, 0, 0}, {12, 20576, 768, 0, 0, 0, 0}, {1287, 21845, 0, 0, 0, 0, 0}, {34, 4, 256, 0, 0, 0, 0}, {3855, 20560, 0, 0, 0, 0, 0}, {7936, 4144, 64, 0, 0, 0, 0}, {1307, 34, 68, 4369, 0, 0, 0}, {1304, 34, 4626, 1360, 0, 0, 0}, {76, 4915, 20480, 0, 0, 0, 0}, {5180, 13056, 68, 0, 0, 0, 0}, {4106, 4128, 64, 5397, 0, 0, 0}, {1308, 1334, 5654, 1360, 0, 0, 0}, {72, 6007, 20480, 0, 0, 0, 0}, {72, 20528, 5888, 0, 0, 0, 0}, {1299, 21845, 0, 0, 0, 0, 0}, {42, 64, 1296, 4112, 0, 0, 0}, {13107, 68, 5120, 0, 0, 0, 0}, {76, 20592, 4864, 0, 0, 0, 0}, {1303, 21845, 0, 0, 0, 0, 0}, {34, 68, 1300, 4352, 0, 0, 0}, {3903, 64, 4096, 0, 0, 0, 0}, {192, 3840, 12288, 20480, 0, 0, 0}, {8, 34, 514, 68, 1285, 4369, 0}, {4098, 64, 5376, 0, 0, 0, 0}, {20540, 13107, 0, 0, 0, 0, 0}, {8, 4864, 68, 5120, 0, 0, 0}, {106, 12336, 1285, 0, 0, 0, 0}, {1290, 102, 21760, 0, 0, 0, 0}, {8, 4144, 1799, 64, 0, 0, 0}, {8, 1792, 64, 4096, 0, 0, 0}, {102, 1285, 0, 0, 0, 0, 0}, {1290, 1376, 21760, 0, 0, 0, 0}, {8, 5172, 1799, 68, 0, 0, 0}, {204, 3840, 13056, 20480, 0, 0, 0}, {8, 34, 514, 64, 1285, 4112, 0}, {1282, 68, 4352, 0, 0, 0, 0}, {3855, 20528, 0, 0, 0, 0, 0}, {128, 3952, 8224, 20560, 0, 0, 0}, {12, 34, 785, 68, 1297, 4369, 0}, {1370, 34, 21760, 0, 0, 0, 0}, {12, 4128, 4883, 64, 0, 0, 0}, {12, 816, 68, 5140, 0, 0, 0}, {42, 8192, 1365, 0, 0, 0, 0}, {4118, 64, 5376, 0, 0, 0, 0}, {20520, 30583, 0, 0, 0, 0, 0}, {136, 3960, 10064, 20560, 0, 0, 0}, {12, 38, 789, 64, 1301, 4096, 0}, {1370, 1392, 21760, 0, 0, 0, 0}, {12, 5156, 5911, 68, 0, 0, 0}, {12, 816, 64, 4112, 0, 0, 0}, {2560, 34, 1365, 0, 0, 0, 0}, {1298, 68, 4352, 0, 0, 0, 0}, {24415, 20512, 0, 0, 0, 0, 0}, {3840, 4128, 64, 0, 0, 0, 0}, {1295, 34, 68, 4369, 0, 0, 0}, {72, 34, 4608, 1280, 0, 0, 0}, {76, 4883, 20560, 0, 0, 0, 0}, {5160, 13056, 68, 0, 0, 0, 0}, {4122, 4144, 64, 5397, 0, 0, 0}, {76, 102, 4864, 1280, 0, 0, 0}, {72, 5911, 20560, 0, 0, 0, 0}, {72, 20576, 18176, 0, 0, 0, 0}, {1347, 21845, 0, 0, 0, 0, 0}, {42, 64, 1280, 4096, 0, 0, 0}, {13107, 68, 5140, 0, 0, 0, 0}, {76, 20512, 17152, 0, 0, 0, 0}, {1351, 21845, 0, 0, 0, 0, 0}, {34, 68, 1280, 4352, 0, 0, 0}, {3855, 64, 4112, 0, 0, 0, 0}, {20720, 24320, 0, 0, 0, 0, 0}, {275, 4, 4369, 0, 0, 0, 0}, {8, 34, 514, 1360, 0, 0, 0}, {12, 819, 20480, 0, 0, 0, 0}, {4144, 4864, 4, 0, 0, 0, 0}, {1375, 21845, 0, 0, 0, 0, 0}, {12, 1334, 1542, 1360, 0, 0, 0}, {8, 1911, 20480, 0, 0, 0, 0}, {8, 20592, 22272, 0, 0, 0, 0}, {1363, 21845, 0, 0, 0, 0, 0}, {2570, 1360, 0, 0, 0, 0, 0}, {819, 4, 4096, 0, 0, 0, 0}, {12, 20528, 21248, 0, 0, 0, 0}, {1367, 21845, 0, 0, 0, 0, 0}, {514, 4, 272, 0, 0, 0, 0}, {4095, 20480, 0, 0, 0, 0, 0}, {12288, 16384, 0, 0, 0, 0, 0}, {10, 17, 257, 0, 0, 0, 0}, {4098, 20480, 0, 0, 0, 0, 0}, {16396, 51, 771, 0, 0, 0, 0}, {12300, 68, 1028, 0, 0, 0, 0}, {8192, 4101, 0, 0, 0, 0, 0}, {4102, 20480, 0, 0, 0, 0, 0}, {16392, 119, 1799, 0, 0, 0, 0}, {16392, 12288, 0, 0, 0, 0, 0}, {4099, 85, 1285, 0, 0, 0, 0}, {10, 4096, 0, 0, 0, 0, 0}, {51, 771, 68, 1028, 0, 0, 0}, {16396, 28672, 0, 0, 0, 0, 0}, {4103, 85, 1285, 0, 0, 0, 0}, {34, 514, 4100, 0, 0, 0, 0}, {12303, 16384, 0, 0, 0, 0, 0}, {160, 4112, 0, 0, 0, 0, 0}, {768, 1024, 17, 0, 0, 0, 0}, {16456, 34, 4626, 0, 0, 0, 0}, {4115, 20480, 0, 0, 0, 0, 0}, {8192, 4116, 0, 0, 0, 0, 0}, {12351, 85, 5397, 0, 0, 0, 0}, {16460, 102, 5654, 0, 0, 0, 0}, {4119, 20480, 0, 0, 0, 0, 0}, {4120, 4144, 20560, 0, 0, 0, 0}, {5401, 51, 768, 85, 0, 0, 0}, {170, 6682, 12336, 16448, 0, 0, 0}, {27, 51, 768, 68, 1024, 4096, 0}, {4124, 4208, 20560, 0, 0, 0, 0}, {5405, 34, 1792, 85, 0, 0, 0}, {4638, 34, 68, 1024, 0, 0, 0}, {4127, 8224, 4160, 0, 0, 0, 0}, {4128, 20480, 0, 0, 0, 0, 0}, {1036, 771, 17, 0, 0, 0, 0}, {34, 4608, 16384, 0, 0, 0, 0}, {95, 51, 771, 4112, 0, 0, 0}, {4108, 4132, 68, 5120, 0, 0, 0}, {5418, 9509, 85, 0, 0, 0, 0}, {5708, 102, 16448, 0, 0, 0, 0}, {4111, 4135, 5888, 4176, 0, 0, 0}, {40, 4096, 0, 0, 0, 0, 0}, {51, 771, 85, 5397, 0, 0, 0}, {16426, 12288, 0, 0, 0, 0, 0}, {4099, 68, 5140, 0, 0, 0, 0}, {4140, 8224, 4160, 0, 0, 0, 0}, {4623, 34, 85, 5376, 0, 0, 0}, {1036, 34, 5632, 68, 0, 0, 0}, {95, 4208, 20560, 0, 0, 0, 0}, {16576, 12336, 0, 0, 0, 0, 0}, {258, 1280, 17, 0, 0, 0, 0}, {10, 34, 514, 4112, 0, 0, 0}, {51, 768, 16384, 0, 0, 0, 0}, {1032, 13364, 68, 0, 0, 0, 0}, {10, 4149, 85, 1280, 0, 0, 0}, {10, 4150, 1536, 4176, 0, 0, 0}, {1800, 119, 16448, 0, 0, 0, 0}, {136, 2056, 12336, 16448, 0, 0, 0}, {10, 51, 768, 85, 1280, 4096, 0}, {10, 4144, 20560, 0, 0, 0, 0}, {1032, 51, 768, 68, 0, 0, 0}, {12348, 16384, 0, 0, 0, 0, 0}, {34, 514, 4117, 0, 0, 0, 0}, {4118, 68, 5140, 0, 0, 0, 0}, {16447, 28672, 0, 0, 0, 0, 0}, {12480, 16448, 0, 0, 0, 0, 0}, {512, 261, 17, 0, 0, 0, 0}, {4162, 20480, 0, 0, 0, 0, 0}, {16460, 51, 17219, 0, 0, 0, 0}, {12288, 68, 1024, 0, 0, 0, 0}, {10, 85, 1285, 4112, 0, 0, 0}, {4166, 20480, 0, 0, 0, 0, 0}, {16456, 119, 18247, 0, 0, 0, 0}, {16456, 28672, 0, 0, 0, 0, 0}, {4118, 85, 1285, 0, 0, 0, 0}, {10, 8224, 4160, 0, 0, 0, 0}, {783, 51, 68, 1024, 0, 0, 0}, {16460, 12288, 0, 0, 0, 0, 0}, {4114, 85, 1285, 0, 0, 0, 0}, {10, 34, 512, 68, 1024, 4096, 0}, {255, 3855, 12336, 16448, 0, 0, 0}, {8192, 4176, 0, 0, 0, 0, 0}, {780, 1028, 17, 0, 0, 0, 0}, {16392, 34, 21074, 0, 0, 0, 0}, {4179, 20480, 0, 0, 0, 0, 0}, {40, 68, 1028, 4112, 0, 0, 0}, {12288, 85, 5376, 0, 0, 0, 0}, {16396, 102, 22102, 0, 0, 0, 0}, {4183, 20480, 0, 0, 0, 0, 0}, {4184, 4208, 20560, 0, 0, 0, 0}, {5388, 51, 5632, 85, 0, 0, 0}, {12378, 16384, 0, 0, 0, 0, 0}, {51, 4883, 4100, 0, 0, 0, 0}, {4188, 4144, 20560, 0, 0, 0, 0}, {5384, 34, 4608, 85, 0, 0, 0}, {34, 4626, 68, 1028, 0, 0, 0}, {95, 4096, 0, 0, 0, 0, 0}, {4192, 20480, 0, 0, 0, 0, 0}, {1032, 1799, 17, 0, 0, 0, 0}, {4680, 34, 16448, 0, 0, 0, 0}, {4111, 51, 4864, 4176, 0, 0, 0}, {4104, 4128, 68, 5120, 0, 0, 0}, {5439, 12336, 85, 0, 0, 0, 0}, {102, 5632, 16384, 0, 0, 0, 0}, {95, 119, 1799, 4112, 0, 0, 0}, {40, 8224, 4160, 0, 0, 0, 0}, {783, 51, 85, 5376, 0, 0, 0}, {16490, 28672, 0, 0, 0, 0, 0}, {4103, 68, 5140, 0, 0, 0, 0}, {108, 4096, 0, 0, 0, 0, 0}, {34, 4626, 85, 5397, 0, 0, 0}, {1032, 34, 4608, 68, 0, 0, 0}, {95, 4144, 20560, 0, 0, 0, 0}, {16512, 28784, 0, 0, 0, 0, 0}, {262, 1280, 17, 0, 0, 0, 0}, {10, 34, 512, 4176, 0, 0, 0}, {780, 51, 16448, 0, 0, 0, 0}, {1036, 12336, 68, 0, 0, 0, 0}, {10, 4128, 85, 1280, 0, 0, 0}, {10, 102, 1542, 4112, 0, 0, 0}, {119, 1792, 16384, 0, 0, 0, 0}, {12408, 16384, 0, 0, 0, 0, 0}, {51, 4883, 4117, 0, 0, 0, 0}, {10, 4208, 20560, 0, 0, 0, 0}, {1036, 51, 1792, 68, 0, 0, 0}, {204, 3084, 12336, 16448, 0, 0, 0}, {10, 34, 512, 85, 1280, 4096, 0}, {4114, 68, 5140, 0, 0, 0, 0}, {16511, 12288, 0, 0, 0, 0, 0}, {16512, 12288, 0, 0, 0, 0, 0}, {259, 1285, 17, 0, 0, 0, 0}, {10, 34, 512, 4096, 0, 0, 0}, {51, 771, 16448, 0, 0, 0, 0}, {1036, 13312, 68, 0, 0, 0, 0}, {10, 4133, 85, 1285, 0, 0, 0}, {10, 4134, 1542, 4160, 0, 0, 0}, {1807, 119, 16384, 0, 0, 0, 0}, {136, 2048, 12288, 16384, 0, 0, 0}, {10, 51, 771, 85, 1285, 4112, 0}, {10, 4128, 20480, 0, 0, 0, 0}, {1036, 51, 771, 68, 0, 0, 0}, {12300, 16448, 0, 0, 0, 0, 0}, {34, 512, 4101, 0, 0, 0, 0}, {4102, 68, 5120, 0, 0, 0, 0}, {16511, 28784, 0, 0, 0, 0, 0}, {4144, 20560, 0, 0, 0, 0, 0}, {1032, 768, 17, 0, 0, 0, 0}, {34, 4626, 16448, 0, 0, 0, 0}, {95, 51, 768, 4096, 0, 0, 0}, {4124, 4148, 68, 5140, 0, 0, 0}, {5439, 9472, 85, 0, 0, 0, 0}, {5722, 102, 16384, 0, 0, 0, 0}, {4127, 4151, 5911, 4160, 0, 0, 0}, {40, 4112, 0, 0, 0, 0, 0}, {51, 768, 85, 5376, 0, 0, 0}, {16490, 12336, 0, 0, 0, 0, 0}, {4115, 68, 5120, 0, 0, 0, 0}, {4156, 8192, 4176, 0, 0, 0, 0}, {4637, 34, 85, 5397, 0, 0, 0}, {1032, 34, 5654, 68, 0, 0, 0}, {95, 4192, 20480, 0, 0, 0, 0}, {160, 4096, 0, 0, 0, 0, 0}, {771, 1028, 17, 0, 0, 0, 0}, {16392, 34, 4608, 0, 0, 0, 0}, {4099, 20560, 0, 0, 0, 0, 0}, {8224, 4100, 0, 0, 0, 0, 0}, {12303, 85, 5376, 0, 0, 0, 0}, {16396, 102, 5632, 0, 0, 0, 0}, {4103, 20560, 0, 0, 0, 0, 0}, {4104, 4128, 20480, 0, 0, 0, 0}, {5388, 51, 771, 85, 0, 0, 0}, {170, 6656, 12288, 16384, 0, 0, 0}, {27, 51, 771, 68, 1028, 4112, 0}, {4108, 4192, 20480, 0, 0, 0, 0}, {5384, 34, 1799, 85, 0, 0, 0}, {4620, 34, 68, 1028, 0, 0, 0}, {4111, 8192, 4176, 0, 0, 0, 0}, {12336, 16448, 0, 0, 0, 0, 0}, {10, 17, 256, 0, 0, 0, 0}, {4114, 20560, 0, 0, 0, 0, 0}, {16460, 51, 768, 0, 0, 0, 0}, {12348, 68, 1024, 0, 0, 0, 0}, {8224, 4117, 0, 0, 0, 0, 0}, {4118, 20560, 0, 0, 0, 0, 0}, {16456, 119, 1792, 0, 0, 0, 0}, {16456, 12336, 0, 0, 0, 0, 0}, {4115, 85, 1280, 0, 0, 0, 0}, {10, 4112, 0, 0, 0, 0, 0}, {51, 768, 68, 1024, 0, 0, 0}, {16460, 28784, 0, 0, 0, 0, 0}, {4119, 85, 1280, 0, 0, 0, 0}, {34, 512, 4116, 0, 0, 0, 0}, {12351, 16448, 0, 0, 0, 0, 0}, {16576, 28672, 0, 0, 0, 0, 0}, {263, 1285, 17, 0, 0, 0, 0}, {10, 34, 514, 4160, 0, 0, 0}, {783, 51, 16384, 0, 0, 0, 0}, {1032, 12288, 68, 0, 0, 0, 0}, {10, 4144, 85, 1285, 0, 0, 0}, {10, 102, 1536, 4096, 0, 0, 0}, {119, 1799, 16448, 0, 0, 0, 0}, {12360, 16448, 0, 0, 0, 0, 0}, {51, 4864, 4101, 0, 0, 0, 0}, {10, 4192, 20480, 0, 0, 0, 0}, {1032, 51, 1799, 68, 0, 0, 0}, {204, 3072, 12288, 16384, 0, 0, 0}, {10, 34, 514, 85, 1285, 4112, 0}, {4098, 68, 5120, 0, 0, 0, 0}, {16447, 12336, 0, 0, 0, 0, 0}, {4208, 20560, 0, 0, 0, 0, 0}, {1036, 1792, 17, 0, 0, 0, 0}, {4698, 34, 16384, 0, 0, 0, 0}, {4127, 51, 4883, 4160, 0, 0, 0}, {4120, 4144, 68, 5140, 0, 0, 0}, {5418, 12288, 85, 0, 0, 0, 0}, {102, 5654, 16448, 0, 0, 0, 0}, {95, 119, 1792, 4096, 0, 0, 0}, {40, 8192, 4176, 0, 0, 0, 0}, {780, 51, 85, 5397, 0, 0, 0}, {16426, 28784, 0, 0, 0, 0, 0}, {4119, 68, 5120, 0, 0, 0, 0}, {108, 4112, 0, 0, 0, 0, 0}, {34, 4608, 85, 5376, 0, 0, 0}, {1036, 34, 4626, 68, 0, 0, 0}, {95, 4128, 20480, 0, 0, 0, 0}, {8224, 4160, 0, 0, 0, 0, 0}, {783, 1024, 17, 0, 0, 0, 0}, {16456, 34, 20992, 0, 0, 0, 0}, {4163, 20560, 0, 0, 0, 0, 0}, {40, 68, 1024, 4096, 0, 0, 0}, {12336, 85, 5397, 0, 0, 0, 0}, {16460, 102, 22016, 0, 0, 0, 0}, {4167, 20560, 0, 0, 0, 0, 0}, {4168, 4192, 20480, 0, 0, 0, 0}, {5401, 51, 5654, 85, 0, 0, 0}, {12394, 16448, 0, 0, 0, 0, 0}, {51, 4864, 4116, 0, 0, 0, 0}, {4172, 4128, 20480, 0, 0, 0, 0}, {5405, 34, 4626, 85, 0, 0, 0}, {34, 4608, 68, 1024, 0, 0, 0}, {95, 4112, 0, 0, 0, 0, 0}, {12528, 16384, 0, 0, 0, 0, 0}, {514, 260, 17, 0, 0, 0, 0}, {4178, 20560, 0, 0, 0, 0, 0}, {16396, 51, 17152, 0, 0, 0, 0}, {12336, 68, 1028, 0, 0, 0, 0}, {10, 85, 1280, 4096, 0, 0, 0}, {4182, 20560, 0, 0, 0, 0, 0}, {16392, 119, 18176, 0, 0, 0, 0}, {16392, 28784, 0, 0, 0, 0, 0}, {4102, 85, 1280, 0, 0, 0, 0}, {10, 8192, 4176, 0, 0, 0, 0}, {780, 51, 68, 1028, 0, 0, 0}, {16396, 12336, 0, 0, 0, 0, 0}, {4098, 85, 1280, 0, 0, 0, 0}, {10, 34, 514, 68, 1028, 4112, 0}, {255, 3840, 12288, 16384, 0, 0, 0}, {2560, 4352, 0, 0, 0, 0, 0}, {48, 64, 257, 0, 0, 0, 0}, {17416, 4386, 514, 0, 0, 0, 0}, {4355, 20480, 0, 0, 0, 0, 0}, {8192, 4356, 0, 0, 0, 0, 0}, {13071, 4437, 1285, 0, 0, 0, 0}, {17420, 4454, 1542, 0, 0, 0, 0}, {4359, 20480, 0, 0, 0, 0, 0}, {4360, 4864, 21760, 0, 0, 0, 0}, {4441, 48, 771, 1285, 0, 0, 0}, {4522, 2570, 13056, 17408, 0, 0, 0}, {267, 48, 771, 64, 1028, 4096, 0}, {4364, 5888, 21760, 0, 0, 0, 0}, {4445, 112, 514, 1285, 0, 0, 0}, {4398, 514, 64, 1028, 0, 0, 0}, {4367, 8704, 5120, 0, 0, 0, 0}, {768, 1024, 272, 0, 0, 0, 0}, {2730, 4369, 0, 0, 0, 0, 0}, {4370, 20480, 0, 0, 0, 0, 0}, {17484, 4403, 4883, 0, 0, 0, 0}, {13116, 4420, 5140, 0, 0, 0, 0}, {8192, 4373, 0, 0, 0, 0, 0}, {4374, 20480, 0, 0, 0, 0, 0}, {17480, 4471, 5911, 0, 0, 0, 0}, {5144, 48, 768, 1360, 0, 0, 0}, {4377, 4915, 21845, 0, 0, 0, 0}, {282, 48, 768, 64, 1024, 4096, 0}, {4539, 6939, 13107, 17476, 0, 0, 0}, {5148, 1312, 1792, 1360, 0, 0, 0}, {4381, 6007, 21845, 0, 0, 0, 0}, {4382, 8738, 5188, 0, 0, 0, 0}, {4895, 544, 64, 1024, 0, 0, 0}, {2048, 544, 4352, 0, 0, 0, 0}, {48, 771, 1365, 4369, 0, 0, 0}, {24320, 4386, 0, 0, 0, 0, 0}, {275, 64, 4112, 0, 0, 0, 0}, {5928, 9252, 4420, 0, 0, 0, 0}, {4879, 4389, 4437, 5120, 0, 0, 0}, {1036, 4390, 5888, 64, 0, 0, 0}, {1375, 4471, 20560, 0, 0, 0, 0}, {4488, 6952, 13056, 21760, 0, 0, 0}, {281, 48, 771, 64, 1301, 4096, 0}, {4394, 4864, 17408, 0, 0, 0, 0}, {4427, 48, 771, 5140, 0, 0, 0}, {4364, 544, 64, 5376, 0, 0, 0}, {4397, 8738, 1365, 0, 0, 0, 0}, {5960, 1638, 17476, 0, 0, 0, 0}, {4367, 5152, 5632, 5200, 0, 0, 0}, {48, 768, 1280, 4352, 0, 0, 0}, {128, 514, 4369, 0, 0, 0, 0}, {258, 64, 4112, 0, 0, 0, 0}, {2560, 4403, 0, 0, 0, 0, 0}, {520, 4404, 4420, 1280, 0, 0, 0}, {1546, 13621, 4437, 0, 0, 0, 0}, {1290, 4454, 20560, 0, 0, 0, 0}, {1032, 4407, 1536, 64, 0, 0, 0}, {264, 48, 768, 64, 1280, 4096, 0}, {4505, 2570, 13107, 21845, 0, 0, 0}, {1290, 48, 768, 5200, 0, 0, 0}, {520, 4915, 17476, 0, 0, 0, 0}, {4412, 8704, 1280, 0, 0, 0, 0}, {4381, 514, 64, 5397, 0, 0, 0}, {4382, 112, 514, 5140, 0, 0, 0}, {4415, 1536, 17408, 0, 0, 0, 0}, {512, 64, 1024, 4352, 0, 0, 0}, {240, 1285, 4369, 0, 0, 0, 0}, {17480, 4386, 16962, 0, 0, 0, 0}, {4419, 20480, 0, 0, 0, 0, 0}, {2560, 4420, 0, 0, 0, 0, 0}, {48, 261, 4112, 0, 0, 0, 0}, {17484, 4454, 17990, 0, 0, 0, 0}, {4423, 20480, 0, 0, 0, 0, 0}, {4424, 1536, 21760, 0, 0, 0, 0}, {4377, 112, 4883, 1285, 0, 0, 0}, {522, 4896, 64, 1024, 0, 0, 0}, {1295, 13107, 5188, 0, 0, 0, 0}, {4428, 512, 21760, 0, 0, 0, 0}, {4381, 48, 4626, 1285, 0, 0, 0}, {4590, 2570, 8738, 17476, 0, 0, 0}, {271, 48, 512, 64, 1024, 4096, 0}, {3840, 1360, 4352, 0, 0, 0, 0}, {546, 64, 1028, 4369, 0, 0, 0}, {4434, 20480, 0, 0, 0, 0, 0}, {17420, 4403, 21331, 0, 0, 0, 0}, {48, 276, 4112, 0, 0, 0, 0}, {10240, 4437, 0, 0, 0, 0, 0}, {4438, 20480, 0, 0, 0, 0, 0}, {17416, 4471, 22359, 0, 0, 0, 0}, {4360, 1312, 5632, 1360, 0, 0, 0}, {4441, 1638, 21845, 0, 0, 0, 0}, {4442, 13056, 5120, 0, 0, 0, 0}, {4411, 4883, 64, 1028, 0, 0, 0}, {4364, 48, 4608, 1360, 0, 0, 0}, {4445, 546, 21845, 0, 0, 0, 0}, {286, 48, 530, 64, 1028, 4096, 0}, {4607, 7007, 8704, 17408, 0, 0, 0}, {3072, 1632, 4352, 0, 0, 0, 0}, {1317, 1799, 1365, 4369, 0, 0, 0}, {1032, 4386, 4864, 64, 0, 0, 0}, {1375, 4403, 20560, 0, 0, 0, 0}, {552, 8224, 4420, 0, 0, 0, 0}, {783, 48, 4437, 5120, 0, 0, 0}, {24320, 4454, 0, 0, 0, 0, 0}, {279, 64, 4112, 0, 0, 0, 0}, {4360, 4896, 64, 5376, 0, 0, 0}, {5180, 13107, 1365, 0, 0, 0, 0}, {4458, 5888, 17408, 0, 0, 0, 0}, {4427, 112, 4883, 5140, 0, 0, 0}, {4556, 7020, 8704, 21760, 0, 0, 0}, {285, 48, 530, 64, 1301, 4096, 0}, {4940, 546, 17476, 0, 0, 0, 0}, {4367, 48, 4608, 5200, 0, 0, 0}, {112, 512, 1280, 4352, 0, 0, 0}, {192, 1542, 4369, 0, 0, 0, 0}, {1290, 4386, 20560, 0, 0, 0, 0}, {1036, 4403, 512, 64, 0, 0, 0}, {780, 48, 4420, 1280, 0, 0, 0}, {522, 8224, 4437, 0, 0, 0, 0}, {262, 64, 4112, 0, 0, 0, 0}, {2560, 4471, 0, 0, 0, 0, 0}, {4472, 13056, 1280, 0, 0, 0, 0}, {4377, 4883, 64, 5397, 0, 0, 0}, {1290, 5152, 1792, 5200, 0, 0, 0}, {1548, 6007, 17476, 0, 0, 0, 0}, {268, 48, 512, 64, 1280, 4096, 0}, {4573, 2570, 8738, 21845, 0, 0, 0}, {4382, 48, 4626, 5140, 0, 0, 0}, {4479, 512, 17408, 0, 0, 0, 0}, {128, 512, 4352, 0, 0, 0, 0}, {48, 771, 1285, 4369, 0, 0, 0}, {2570, 4386, 0, 0, 0, 0, 0}, {259, 64, 4096, 0, 0, 0, 0}, {1548, 13568, 4420, 0, 0, 0, 0}, {522, 4389, 4437, 1285, 0, 0, 0}, {1036, 4390, 1542, 64, 0, 0, 0}, {1295, 4471, 20480, 0, 0, 0, 0}, {4488, 2560, 13056, 21760, 0, 0, 0}, {265, 48, 771, 64, 1285, 4112, 0}, {522, 4896, 17408, 0, 0, 0, 0}, {1295, 48, 771, 5188, 0, 0, 0}, {4364, 512, 64, 5376, 0, 0, 0}, {4397, 8738, 1285, 0, 0, 0, 0}, {4398, 1542, 17476, 0, 0, 0, 0}, {4367, 112, 512, 5120, 0, 0, 0}, {48, 768, 1360, 4352, 0, 0, 0}, {2056, 546, 4369, 0, 0, 0, 0}, {274, 64, 4096, 0, 0, 0, 0}, {24415, 4403, 0, 0, 0, 0, 0}, {4892, 4404, 4420, 5140, 0, 0, 0}, {5951, 9216, 4437, 0, 0, 0, 0}, {1370, 4454, 20480, 0, 0, 0, 0}, {1032, 4407, 5911, 64, 0, 0, 0}, {280, 48, 768, 64, 1296, 4112, 0}, {4505, 6963, 13107, 21845, 0, 0, 0}, {4442, 48, 768, 5120, 0, 0, 0}, {4411, 4883, 17476, 0, 0, 0, 0}, {4412, 8704, 1360, 0, 0, 0, 0}, {4381, 546, 64, 5397, 0, 0, 0}, {4382, 5172, 5654, 5188, 0, 0, 0}, {5983, 1632, 17408, 0, 0, 0, 0}, {2720, 4352, 0, 0, 0, 0, 0}, {771, 1028, 273, 0, 0, 0, 0}, {17416, 4386, 4864, 0, 0, 0, 0}, {4355, 20560, 0, 0, 0, 0, 0}, {8224, 4356, 0, 0, 0, 0, 0}, {13071, 4437, 5120, 0, 0, 0, 0}, {17420, 4454, 5888, 0, 0, 0, 0}, {4359, 20560, 0, 0, 0, 0, 0}, {4360, 4896, 21760, 0, 0, 0, 0}, {5132, 48, 771, 1365, 0, 0, 0}, {4522, 6912, 13056, 17408, 0, 0, 0}, {283, 48, 771, 64, 1028, 4112, 0}, {4364, 5984, 21760, 0, 0, 0, 0}, {5128, 1317, 1799, 1365, 0, 0, 0}, {4876, 546, 64, 1028, 0, 0, 0}, {4367, 8704, 5200, 0, 0, 0, 0}, {48, 64, 256, 0, 0, 0, 0}, {2570, 4369, 0, 0, 0, 0, 0}, {4370, 20560, 0, 0, 0, 0, 0}, {17484, 4403, 512, 0, 0, 0, 0}, {13116, 4420, 1280, 0, 0, 0, 0}, {8224, 4373, 0, 0, 0, 0, 0}, {4374, 20560, 0, 0, 0, 0, 0}, {17480, 4471, 1536, 0, 0, 0, 0}, {4424, 48, 768, 1280, 0, 0, 0}, {4377, 4883, 21845, 0, 0, 0, 0}, {266, 48, 768, 64, 1024, 4112, 0}, {4539, 2560, 13107, 17476, 0, 0, 0}, {4428, 112, 512, 1280, 0, 0, 0}, {4381, 5911, 21845, 0, 0, 0, 0}, {4382, 8738, 5140, 0, 0, 0, 0}, {4415, 512, 64, 1024, 0, 0, 0}, {192, 1536, 4352, 0, 0, 0, 0}, {112, 514, 1285, 4369, 0, 0, 0}, {1032, 4386, 514, 64, 0, 0, 0}, {1295, 4403, 20480, 0, 0, 0, 0}, {520, 8192, 4420, 0, 0, 0, 0}, {783, 48, 4437, 1285, 0, 0, 0}, {2570, 4454, 0, 0, 0, 0, 0}, {263, 64, 4096, 0, 0, 0, 0}, {4360, 4864, 64, 5376, 0, 0, 0}, {4457, 13107, 1285, 0, 0, 0, 0}, {1546, 5984, 17408, 0, 0, 0, 0}, {1295, 5172, 1799, 5188, 0, 0, 0}, {4556, 2560, 8704, 21760, 0, 0, 0}, {269, 48, 514, 64, 1285, 4112, 0}, {4462, 514, 17476, 0, 0, 0, 0}, {4367, 48, 4608, 5120, 0, 0, 0}, {1312, 1792, 1360, 4352, 0, 0, 0}, {3084, 1638, 4369, 0, 0, 0, 0}, {1370, 4386, 20480, 0, 0, 0, 0}, {1036, 4403, 4883, 64, 0, 0, 0}, {780, 48, 4420, 5140, 0, 0, 0}, {554, 8192, 4437, 0, 0, 0, 0}, {278, 64, 4096, 0, 0, 0, 0}, {24415, 4471, 0, 0, 0, 0, 0}, {5160, 13056, 1360, 0, 0, 0, 0}, {4377, 4915, 64, 5397, 0, 0, 0}, {4442, 112, 4864, 5120, 0, 0, 0}, {4475, 5911, 17476, 0, 0, 0, 0}, {284, 48, 528, 64, 1296, 4112, 0}, {4573, 7031, 8738, 21845, 0, 0, 0}, {4382, 48, 4626, 5188, 0, 0, 0}, {4959, 544, 17408, 0, 0, 0, 0}, {544, 64, 1024, 4352, 0, 0, 0}, {3855, 1365, 4369, 0, 0, 0, 0}, {17480, 4386, 21248, 0, 0, 0, 0}, {4419, 20560, 0, 0, 0, 0, 0}, {10280, 4420, 0, 0, 0, 0, 0}, {48, 277, 4096, 0, 0, 0, 0}, {17484, 4454, 22272, 0, 0, 0, 0}, {4423, 20560, 0, 0, 0, 0, 0}, {4424, 1632, 21760, 0, 0, 0, 0}, {4377, 1317, 5654, 1365, 0, 0, 0}, {4394, 4864, 64, 1024, 0, 0, 0}, {4427, 13107, 5140, 0, 0, 0, 0}, {4428, 544, 21760, 0, 0, 0, 0}, {4381, 48, 4626, 1365, 0, 0, 0}, {4590, 6980, 8738, 17476, 0, 0, 0}, {287, 48, 528, 64, 1024, 4112, 0}, {240, 1280, 4352, 0, 0, 0, 0}, {514, 64, 1028, 4369, 0, 0, 0}, {4434, 20560, 0, 0, 0, 0, 0}, {17420, 4403, 16896, 0, 0, 0, 0}, {48, 260, 4096, 0, 0, 0, 0}, {2570, 4437, 0, 0, 0, 0, 0}, {4438, 20560, 0, 0, 0, 0, 0}, {17416, 4471, 17920, 0, 0, 0, 0}, {4360, 112, 4864, 1280, 0, 0, 0}, {4441, 1542, 21845, 0, 0, 0, 0}, {1290, 13056, 5200, 0, 0, 0, 0}, {520, 4915, 64, 1028, 0, 0, 0}, {4364, 48, 4608, 1280, 0, 0, 0}, {4445, 514, 21845, 0, 0, 0, 0}, {270, 48, 514, 64, 1028, 4112, 0}, {4607, 2560, 8704, 17408, 0, 0, 0}, {4608, 20480, 0, 0, 0, 0, 0}, {76, 51, 257, 0, 0, 0, 0}, {4128, 514, 16384, 0, 0, 0, 0}, {1295, 51, 771, 4352, 0, 0, 0}, {4108, 4612, 4160, 1028, 0, 0, 0}, {4698, 8789, 1285, 0, 0, 0, 0}, {5228, 1542, 17408, 0, 0, 0, 0}, {4111, 4208, 4615, 5376, 0, 0, 0}, {520, 4096, 0, 0, 0, 0, 0}, {51, 771, 4437, 1285, 0, 0, 0}, {16906, 12288, 0, 0, 0, 0, 0}, {4099, 4420, 1028, 0, 0, 0, 0}, {4620, 8704, 5120, 0, 0, 0, 0}, {4143, 514, 4176, 1285, 0, 0, 0}, {76, 4192, 514, 1028, 0, 0, 0}, {1295, 5888, 21760, 0, 0, 0, 0}, {2048, 544, 4112, 0, 0, 0, 0}, {51, 768, 1365, 4369, 0, 0, 0}, {20720, 4626, 0, 0, 0, 0, 0}, {275, 1024, 4352, 0, 0, 0, 0}, {4728, 8772, 5140, 0, 0, 0, 0}, {4159, 4629, 4160, 5397, 0, 0, 0}, {76, 4208, 4630, 1024, 0, 0, 0}, {1375, 5911, 21760, 0, 0, 0, 0}, {4792, 6168, 12336, 20560, 0, 0, 0}, {281, 51, 768, 341, 1024, 4096, 0}, {4634, 4144, 16448, 0, 0, 0, 0}, {5147, 51, 768, 4420, 0, 0, 0}, {4124, 544, 4176, 1024, 0, 0, 0}, {4637, 8738, 1365, 0, 0, 0, 0}, {4638, 1638, 17476, 0, 0, 0, 0}, {4127, 1312, 1792, 5440, 0, 0, 0}, {4128, 4608, 16384, 0, 0, 0, 0}, {1370, 51, 771, 4369, 0, 0, 0}, {4642, 20480, 0, 0, 0, 0, 0}, {1036, 771, 272, 0, 0, 0, 0}, {4680, 1632, 17476, 0, 0, 0, 0}, {4111, 1317, 5888, 5461, 0, 0, 0}, {4108, 4646, 4160, 5120, 0, 0, 0}, {5928, 10023, 1360, 0, 0, 0, 0}, {16936, 12288, 0, 0, 0, 0, 0}, {4099, 4437, 5397, 0, 0, 0, 0}, {554, 4096, 0, 0, 0, 0, 0}, {51, 771, 4420, 5140, 0, 0, 0}, {1036, 5152, 5632, 1088, 0, 0, 0}, {1370, 6007, 21845, 0, 0, 0, 0}, {4654, 8738, 5188, 0, 0, 0, 0}, {4623, 544, 4176, 5376, 0, 0, 0}, {2560, 4656, 0, 0, 0, 0, 0}, {258, 1092, 4369, 0, 0, 0, 0}, {128, 514, 4112, 0, 0, 0, 0}, {51, 768, 1280, 4352, 0, 0, 0}, {1032, 5172, 1536, 1092, 0, 0, 0}, {1290, 5984, 21845, 0, 0, 0, 0}, {1546, 13878, 5200, 0, 0, 0, 0}, {520, 4663, 4160, 1280, 0, 0, 0}, {520, 4144, 16448, 0, 0, 0, 0}, {1290, 51, 768, 4437, 0, 0, 0}, {4762, 2570, 12336, 20560, 0, 0, 0}, {264, 51, 768, 324, 1280, 4096, 0}, {5180, 1536, 17408, 0, 0, 0, 0}, {4127, 4192, 514, 5397, 0, 0, 0}, {4124, 514, 4176, 5140, 0, 0, 0}, {4671, 8704, 1280, 0, 0, 0, 0}, {512, 4160, 0, 0, 0, 0, 0}, {783, 51, 1285, 4369, 0, 0, 0}, {20640, 16962, 0, 0, 0, 0, 0}, {323, 1024, 4352, 0, 0, 0, 0}, {1536, 5188, 0, 0, 0, 0, 0}, {522, 629, 1285, 4112, 0, 0, 0}, {76, 4128, 582, 1024, 0, 0, 0}, {1295, 4679, 21760, 0, 0, 0, 0}, {4680, 20480, 0, 0, 0, 0, 0}, {51, 4883, 261, 0, 0, 0, 0}, {522, 4192, 16448, 0, 0, 0, 0}, {1295, 51, 1536, 4420, 0, 0, 0}, {76, 512, 1024, 4096, 0, 0, 0}, {255, 4626, 1285, 0, 0, 0, 0}, {1546, 4642, 17476, 0, 0, 0, 0}, {1295, 4144, 512, 5440, 0, 0, 0}, {4848, 6224, 8704, 20560, 0, 0, 0}, {285, 51, 529, 337, 1028, 4369, 0}, {4208, 4690, 16384, 0, 0, 0, 0}, {1375, 51, 1619, 4352, 0, 0, 0}, {76, 612, 1028, 4112, 0, 0, 0}, {5888, 1365, 0, 0, 0, 0, 0}, {5180, 4694, 17408, 0, 0, 0, 0}, {4191, 4128, 599, 5376, 0, 0, 0}, {552, 8224, 4176, 0, 0, 0, 0}, {780, 51, 4437, 5120, 0, 0, 0}, {4698, 24576, 0, 0, 0, 0, 0}, {279, 4420, 1028, 0, 0, 0, 0}, {3084, 4656, 5200, 0, 0, 0, 0}, {1800, 546, 1365, 4096, 0, 0, 0}, {76, 4144, 4626, 1028, 0, 0, 0}, {1375, 4608, 21760, 0, 0, 0, 0}, {23040, 16992, 0, 0, 0, 0, 0}, {1302, 1092, 4369, 0, 0, 0, 0}, {2056, 546, 4160, 0, 0, 0, 0}, {783, 51, 1360, 4352, 0, 0, 0}, {1032, 4128, 5632, 1092, 0, 0, 0}, {1370, 4709, 21845, 0, 0, 0, 0}, {4710, 5120, 0, 0, 0, 0, 0}, {1327, 1799, 1360, 4112, 0, 0, 0}, {4680, 4192, 16448, 0, 0, 0, 0}, {5135, 51, 5888, 4437, 0, 0, 0}, {4714, 20480, 0, 0, 0, 0, 0}, {51, 4883, 276, 0, 0, 0, 0}, {5228, 4608, 17408, 0, 0, 0, 0}, {4175, 4144, 4626, 5397, 0, 0, 0}, {1032, 546, 1092, 4096, 0, 0, 0}, {3855, 4656, 1360, 0, 0, 0, 0}, {4208, 512, 16384, 0, 0, 0, 0}, {1290, 51, 1542, 4369, 0, 0, 0}, {4818, 2570, 8738, 20560, 0, 0, 0}, {268, 51, 512, 320, 1280, 4352, 0}, {1548, 4724, 17476, 0, 0, 0, 0}, {1290, 4128, 1792, 5461, 0, 0, 0}, {1036, 1542, 1088, 4112, 0, 0, 0}, {4727, 1280, 0, 0, 0, 0, 0}, {4728, 24576, 0, 0, 0, 0, 0}, {262, 4437, 5397, 0, 0, 0, 0}, {522, 8224, 4176, 0, 0, 0, 0}, {780, 51, 4420, 1280, 0, 0, 0}, {1036, 4144, 512, 1088, 0, 0, 0}, {1290, 4642, 21845, 0, 0, 0, 0}, {204, 4626, 5140, 0, 0, 0, 0}, {127, 512, 1280, 4096, 0, 0, 0}, {128, 512, 4096, 0, 0, 0, 0}, {51, 771, 1285, 4369, 0, 0, 0}, {2570, 4642, 0, 0, 0, 0, 0}, {259, 1088, 4352, 0, 0, 0, 0}, {1548, 13824, 5188, 0, 0, 0, 0}, {522, 4645, 4176, 1285, 0, 0, 0}, {1036, 5152, 1542, 1088, 0, 0, 0}, {1295, 6007, 21760, 0, 0, 0, 0}, {4744, 2560, 12288, 20480, 0, 0, 0}, {265, 51, 771, 325, 1285, 4112, 0}, {522, 4128, 16384, 0, 0, 0, 0}, {1295, 51, 771, 4420, 0, 0, 0}, {4108, 512, 4160, 5120, 0, 0, 0}, {4653, 8738, 1285, 0, 0, 0, 0}, {5160, 1542, 17476, 0, 0, 0, 0}, {4111, 4208, 512, 5376, 0, 0, 0}, {4656, 20560, 0, 0, 0, 0, 0}, {1032, 768, 273, 0, 0, 0, 0}, {4144, 4626, 16448, 0, 0, 0, 0}, {1375, 51, 768, 4352, 0, 0, 0}, {4124, 4660, 4176, 5140, 0, 0, 0}, {5951, 9984, 1365, 0, 0, 0, 0}, {4698, 1638, 17408, 0, 0, 0, 0}, {4127, 1312, 5911, 5440, 0, 0, 0}, {552, 4112, 0, 0, 0, 0, 0}, {51, 768, 4437, 5120, 0, 0, 0}, {17002, 12336, 0, 0, 0, 0, 0}, {4115, 4420, 5376, 0, 0, 0, 0}, {4668, 8704, 5200, 0, 0, 0, 0}, {4637, 546, 4160, 5397, 0, 0, 0}, {1032, 5172, 5654, 1092, 0, 0, 0}, {1375, 5984, 21760, 0, 0, 0, 0}, {20640, 4608, 0, 0, 0, 0, 0}, {274, 1028, 4369, 0, 0, 0, 0}, {2056, 546, 4096, 0, 0, 0, 0}, {51, 771, 1360, 4352, 0, 0, 0}, {76, 4192, 4612, 1028, 0, 0, 0}, {1370, 5888, 21845, 0, 0, 0, 0}, {4714, 8806, 5120, 0, 0, 0, 0}, {4143, 4615, 4176, 5376, 0, 0, 0}, {4616, 4128, 16384, 0, 0, 0, 0}, {5135, 51, 771, 4437, 0, 0, 0}, {4778, 6144, 12288, 20480, 0, 0, 0}, {280, 51, 771, 340, 1028, 4112, 0}, {4620, 1632, 17408, 0, 0, 0, 0}, {4111, 1317, 1799, 5461, 0, 0, 0}, {4108, 546, 4160, 1028, 0, 0, 0}, {4623, 8704, 1360, 0, 0, 0, 0}, {4144, 512, 16448, 0, 0, 0, 0}, {1290, 51, 768, 4369, 0, 0, 0}, {4626, 20560, 0, 0, 0, 0, 0}, {76, 51, 256, 0, 0, 0, 0}, {5240, 1536, 17476, 0, 0, 0, 0}, {4127, 4192, 4629, 5397, 0, 0, 0}, {4124, 4630, 4176, 1024, 0, 0, 0}, {4680, 8823, 1280, 0, 0, 0, 0}, {16968, 12336, 0, 0, 0, 0, 0}, {4115, 4437, 1024, 0, 0, 0, 0}, {522, 4112, 0, 0, 0, 0, 0}, {51, 768, 4420, 1280, 0, 0, 0}, {76, 4208, 512, 1024, 0, 0, 0}, {1290, 5911, 21845, 0, 0, 0, 0}, {4638, 8738, 5140, 0, 0, 0, 0}, {4159, 512, 4160, 1280, 0, 0, 0}, {4800, 2560, 8704, 20480, 0, 0, 0}, {269, 51, 514, 321, 1285, 4369, 0}, {4192, 514, 16448, 0, 0, 0, 0}, {1295, 51, 1536, 4352, 0, 0, 0}, {1032, 1536, 1092, 4096, 0, 0, 0}, {4709, 1285, 0, 0, 0, 0, 0}, {1546, 4710, 17408, 0, 0, 0, 0}, {1295, 4144, 1799, 5440, 0, 0, 0}, {520, 8192, 4160, 0, 0, 0, 0}, {783, 51, 4437, 1285, 0, 0, 0}, {4714, 24672, 0, 0, 0, 0, 0}, {263, 4420, 5376, 0, 0, 0, 0}, {204, 4608, 5120, 0, 0, 0, 0}, {127, 514, 1285, 4112, 0, 0, 0}, {1032, 4128, 514, 1092, 0, 0, 0}, {1295, 4656, 21760, 0, 0, 0, 0}, {2048, 544, 4176, 0, 0, 0, 0}, {780, 51, 1365, 4369, 0, 0, 0}, {23130, 16930, 0, 0, 0, 0, 0}, {1299, 1088, 4352, 0, 0, 0, 0}, {4724, 5140, 0, 0, 0, 0, 0}, {1322, 1792, 1365, 4096, 0, 0, 0}, {1036, 4144, 5654, 1088, 0, 0, 0}, {1375, 4727, 21760, 0, 0, 0, 0}, {4728, 20560, 0, 0, 0, 0, 0}, {51, 4864, 277, 0, 0, 0, 0}, {4698, 4208, 16384, 0, 0, 0, 0}, {5147, 51, 5911, 4420, 0, 0, 0}, {1036, 544, 1088, 4112, 0, 0, 0}, {3840, 4642, 1365, 0, 0, 0, 0}, {5240, 4626, 17476, 0, 0, 0, 0}, {4191, 4128, 4608, 5376, 0, 0, 0}, {4192, 4672, 16448, 0, 0, 0, 0}, {1370, 51, 1621, 4369, 0, 0, 0}, {4834, 6216, 8738, 20480, 0, 0, 0}, {284, 51, 531, 336, 1024, 4352, 0}, {5160, 4676, 17476, 0, 0, 0, 0}, {4175, 4144, 597, 5397, 0, 0, 0}, {76, 614, 1024, 4096, 0, 0, 0}, {5911, 1360, 0, 0, 0, 0, 0}, {4680, 24672, 0, 0, 0, 0, 0}, {278, 4437, 1024, 0, 0, 0, 0}, {554, 8192, 4160, 0, 0, 0, 0}, {783, 51, 4420, 5140, 0, 0, 0}, {76, 4128, 4608, 1024, 0, 0, 0}, {1370, 4626, 21845, 0, 0, 0, 0}, {3072, 4642, 5188, 0, 0, 0, 0}, {1807, 544, 1360, 4112, 0, 0, 0}, {20720, 16896, 0, 0, 0, 0, 0}, {322, 1028, 4369, 0, 0, 0, 0}, {514, 4176, 0, 0, 0, 0, 0}, {780, 51, 1280, 4352, 0, 0, 0}, {76, 4144, 580, 1028, 0, 0, 0}, {1290, 4693, 21845, 0, 0, 0, 0}, {1542, 5200, 0, 0, 0, 0, 0}, {520, 631, 1280, 4096, 0, 0, 0}, {520, 4208, 16384, 0, 0, 0, 0}, {1290, 51, 1542, 4437, 0, 0, 0}, {4698, 20560, 0, 0, 0, 0, 0}, {51, 4864, 260, 0, 0, 0, 0}, {1548, 4656, 17408, 0, 0, 0, 0}, {1290, 4128, 514, 5461, 0, 0, 0}, {76, 514, 1028, 4112, 0, 0, 0}, {255, 4608, 1280, 0, 0, 0, 0}, {19456, 13056, 0, 0, 0, 0, 0}, {18, 80, 257, 0, 0, 0, 0}, {10, 34, 514, 4352, 0, 0, 0}, {48, 771, 16384, 0, 0, 0, 0}, {72, 13124, 1028, 0, 0, 0, 0}, {10, 4869, 80, 1285, 0, 0, 0}, {10, 96, 4870, 5376, 0, 0, 0}, {120, 1799, 17408, 0, 0, 0, 0}, {136, 2056, 13056, 17408, 0, 0, 0}, {10, 48, 771, 80, 1285, 4096, 0}, {10, 4864, 21760, 0, 0, 0, 0}, {72, 48, 771, 1028, 0, 0, 0}, {13068, 16384, 0, 0, 0, 0, 0}, {34, 514, 4357, 0, 0, 0, 0}, {4358, 4420, 1028, 0, 0, 0, 0}, {17167, 28672, 0, 0, 0, 0, 0}, {48, 768, 80, 4112, 0, 0, 0}, {2048, 34, 4369, 0, 0, 0, 0}, {18, 1024, 4352, 0, 0, 0, 0}, {160, 4883, 0, 0, 0, 0, 0}, {40, 4884, 80, 5140, 0, 0, 0}, {106, 13141, 5397, 0, 0, 0, 0}, {90, 5654, 21760, 0, 0, 0, 0}, {72, 96, 4887, 1024, 0, 0, 0}, {24, 48, 768, 80, 1024, 4096, 0}, {170, 6425, 13107, 21845, 0, 0, 0}, {5402, 48, 768, 5440, 0, 0, 0}, {4891, 4915, 17476, 0, 0, 0, 0}, {4892, 8224, 80, 0, 0, 0, 0}, {4381, 34, 4437, 1024, 0, 0, 0}, {4382, 34, 1792, 4420, 0, 0, 0}, {4895, 96, 16448, 0, 0, 0, 0}, {24320, 4896, 0, 0, 0, 0, 0}, {18, 1092, 4369, 0, 0, 0, 0}, {2048, 34, 4352, 0, 0, 0, 0}, {48, 771, 80, 4112, 0, 0, 0}, {1036, 1060, 5888, 1092, 0, 0, 0}, {90, 5744, 21845, 0, 0, 0, 0}, {5418, 9766, 5440, 0, 0, 0, 0}, {4879, 4903, 80, 5120, 0, 0, 0}, {40, 4864, 17408, 0, 0, 0, 0}, {90, 48, 771, 5397, 0, 0, 0}, {170, 6442, 13056, 21760, 0, 0, 0}, {24, 48, 771, 80, 1044, 4096, 0}, {4940, 96, 16448, 0, 0, 0, 0}, {4367, 34, 5632, 4437, 0, 0, 0}, {4364, 34, 4420, 5376, 0, 0, 0}, {4911, 8224, 80, 0, 0, 0, 0}, {48, 768, 16384, 0, 0, 0, 0}, {10, 34, 514, 4369, 0, 0, 0}, {258, 1280, 272, 0, 0, 0, 0}, {19660, 13107, 0, 0, 0, 0, 0}, {1800, 1904, 17476, 0, 0, 0, 0}, {10, 5429, 1536, 5461, 0, 0, 0}, {10, 4918, 80, 1280, 0, 0, 0}, {1032, 14135, 1088, 0, 0, 0, 0}, {1032, 48, 768, 1088, 0, 0, 0}, {10, 4915, 21845, 0, 0, 0, 0}, {10, 48, 768, 80, 1280, 4096, 0}, {136, 2056, 13107, 17476, 0, 0, 0}, {17212, 28672, 0, 0, 0, 0, 0}, {4375, 4437, 5397, 0, 0, 0, 0}, {34, 514, 4372, 0, 0, 0, 0}, {13119, 16384, 0, 0, 0, 0, 0}, {192, 3072, 13056, 16448, 0, 0, 0}, {10, 34, 512, 80, 1285, 4369, 0}, {66, 1024, 4352, 0, 0, 0, 0}, {240, 17219, 0, 0, 0, 0, 0}, {136, 2048, 13124, 17476, 0, 0, 0}, {10, 48, 773, 80, 1285, 4112, 0}, {10, 4934, 21760, 0, 0, 0, 0}, {72, 48, 839, 1024, 0, 0, 0}, {72, 13056, 1024, 0, 0, 0, 0}, {10, 4883, 80, 1285, 0, 0, 0}, {10, 5408, 1536, 5440, 0, 0, 0}, {1807, 1911, 17476, 0, 0, 0, 0}, {13260, 19532, 0, 0, 0, 0, 0}, {18, 261, 4096, 0, 0, 0, 0}, {10, 34, 512, 4420, 0, 0, 0}, {783, 48, 16448, 0, 0, 0, 0}, {4864, 80, 0, 0, 0, 0, 0}, {72, 34, 1028, 4369, 0, 0, 0}, {90, 34, 1874, 4352, 0, 0, 0}, {96, 4947, 16384, 0, 0, 0, 0}, {24, 48, 788, 80, 1028, 4112, 0}, {170, 6485, 13141, 21845, 0, 0, 0}, {90, 48, 854, 5376, 0, 0, 0}, {40, 4951, 17408, 0, 0, 0, 0}, {4872, 4896, 80, 5120, 0, 0, 0}, {5439, 13107, 5461, 0, 0, 0, 0}, {90, 5632, 21760, 0, 0, 0, 0}, {72, 96, 4883, 1028, 0, 0, 0}, {780, 48, 80, 4096, 0, 0, 0}, {2056, 34, 4437, 0, 0, 0, 0}, {18, 4420, 1028, 0, 0, 0, 0}, {4959, 8192, 0, 0, 0, 0, 0}, {96, 4864, 16384, 0, 0, 0, 0}, {90, 34, 1799, 4369, 0, 0, 0}, {1032, 34, 1088, 4352, 0, 0, 0}, {3855, 4915, 80, 0, 0, 0, 0}, {4940, 4964, 17476, 0, 0, 0, 0}, {5391, 48, 5632, 5461, 0, 0, 0}, {170, 6502, 13158, 21760, 0, 0, 0}, {24, 48, 791, 80, 1040, 4112, 0}, {1032, 1056, 5888, 1088, 0, 0, 0}, {90, 5734, 21845, 0, 0, 0, 0}, {106, 13056, 5376, 0, 0, 0, 0}, {40, 4883, 80, 5140, 0, 0, 0}, {4972, 8192, 0, 0, 0, 0, 0}, {18, 4437, 5397, 0, 0, 0, 0}, {2056, 34, 4420, 0, 0, 0, 0}, {783, 48, 80, 4096, 0, 0, 0}, {3840, 17264, 0, 0, 0, 0, 0}, {1030, 1092, 4369, 0, 0, 0, 0}, {10, 34, 512, 80, 1280, 4352, 0}, {192, 3084, 13107, 16448, 0, 0, 0}, {1036, 48, 1792, 1092, 0, 0, 0}, {10, 4981, 21845, 0, 0, 0, 0}, {10, 48, 774, 80, 1280, 4112, 0}, {136, 2048, 13175, 17408, 0, 0, 0}, {120, 1792, 17408, 0, 0, 0, 0}, {10, 96, 4883, 5397, 0, 0, 0}, {10, 4896, 80, 1280, 0, 0, 0}, {1036, 13107, 1092, 0, 0, 0, 0}, {780, 48, 16448, 0, 0, 0, 0}, {10, 34, 512, 4437, 0, 0, 0}, {18, 276, 4096, 0, 0, 0, 0}, {13311, 32639, 0, 0, 0, 0, 0}, {19584, 13056, 0, 0, 0, 0, 0}, {259, 1285, 273, 0, 0, 0, 0}, {10, 34, 512, 4352, 0, 0, 0}, {48, 771, 16448, 0, 0, 0, 0}, {1036, 14080, 1092, 0, 0, 0, 0}, {10, 4901, 80, 1285, 0, 0, 0}, {10, 5408, 1542, 5440, 0, 0, 0}, {1807, 1911, 17408, 0, 0, 0, 0}, {136, 2048, 13056, 17408, 0, 0, 0}, {10, 48, 771, 80, 1285, 4112, 0}, {10, 4896, 21760, 0, 0, 0, 0}, {1036, 48, 771, 1092, 0, 0, 0}, {13068, 16448, 0, 0, 0, 0, 0}, {34, 512, 4357, 0, 0, 0, 0}, {4358, 4420, 5376, 0, 0, 0, 0}, {17279, 28784, 0, 0, 0, 0, 0}, {48, 768, 80, 4096, 0, 0, 0}, {2056, 34, 4369, 0, 0, 0, 0}, {18, 1088, 4352, 0, 0, 0, 0}, {24415, 4915, 0, 0, 0, 0, 0}, {4892, 4916, 80, 5140, 0, 0, 0}, {5439, 9728, 5461, 0, 0, 0, 0}, {90, 5734, 21760, 0, 0, 0, 0}, {1032, 1056, 5911, 1088, 0, 0, 0}, {24, 48, 768, 80, 1040, 4112, 0}, {170, 6451, 13107, 21845, 0, 0, 0}, {90, 48, 768, 5376, 0, 0, 0}, {40, 4883, 17476, 0, 0, 0, 0}, {4924, 8192, 80, 0, 0, 0, 0}, {4381, 34, 4437, 5397, 0, 0, 0}, {4382, 34, 5654, 4420, 0, 0, 0}, {4959, 96, 16384, 0, 0, 0, 0}, {160, 4864, 0, 0, 0, 0, 0}, {18, 1028, 4369, 0, 0, 0, 0}, {2056, 34, 4352, 0, 0, 0, 0}, {48, 771, 80, 4096, 0, 0, 0}, {72, 96, 4868, 1028, 0, 0, 0}, {90, 5632, 21845, 0, 0, 0, 0}, {106, 13158, 5376, 0, 0, 0, 0}, {40, 4871, 80, 5120, 0, 0, 0}, {4872, 4896, 17408, 0, 0, 0, 0}, {5391, 48, 771, 5461, 0, 0, 0}, {170, 6400, 13056, 21760, 0, 0, 0}, {24, 48, 771, 80, 1028, 4112, 0}, {4876, 96, 16384, 0, 0, 0, 0}, {4367, 34, 1799, 4437, 0, 0, 0}, {4364, 34, 4420, 1028, 0, 0, 0}, {4879, 8192, 80, 0, 0, 0, 0}, {48, 768, 16448, 0, 0, 0, 0}, {10, 34, 512, 4369, 0, 0, 0}, {18, 80, 256, 0, 0, 0, 0}, {19532, 13107, 0, 0, 0, 0, 0}, {120, 1792, 17476, 0, 0, 0, 0}, {10, 96, 4885, 5397, 0, 0, 0}, {10, 4886, 80, 1280, 0, 0, 0}, {72, 13175, 1024, 0, 0, 0, 0}, {72, 48, 768, 1024, 0, 0, 0}, {10, 4883, 21845, 0, 0, 0, 0}, {10, 48, 768, 80, 1280, 4112, 0}, {136, 2048, 13107, 17476, 0, 0, 0}, {17228, 28784, 0, 0, 0, 0, 0}, {4375, 4437, 1024, 0, 0, 0, 0}, {34, 512, 4372, 0, 0, 0, 0}, {13119, 16448, 0, 0, 0, 0, 0}, {192, 3072, 13056, 16384, 0, 0, 0}, {10, 34, 514, 80, 1285, 4369, 0}, {1026, 1088, 4352, 0, 0, 0, 0}, {3855, 17203, 0, 0, 0, 0, 0}, {136, 2056, 13124, 17476, 0, 0, 0}, {10, 48, 773, 80, 1285, 4096, 0}, {10, 4966, 21760, 0, 0, 0, 0}, {1032, 48, 1799, 1088, 0, 0, 0}, {1032, 13056, 1088, 0, 0, 0, 0}, {10, 4915, 80, 1285, 0, 0, 0}, {10, 96, 4864, 5376, 0, 0, 0}, {120, 1799, 17476, 0, 0, 0, 0}, {13260, 32512, 0, 0, 0, 0, 0}, {18, 277, 4112, 0, 0, 0, 0}, {10, 34, 514, 4420, 0, 0, 0}, {783, 48, 16384, 0, 0, 0, 0}, {3840, 4896, 80, 0, 0, 0, 0}, {1036, 34, 1092, 4369, 0, 0, 0}, {90, 34, 1792, 4352, 0, 0, 0}, {96, 4883, 16448, 0, 0, 0, 0}, {24, 48, 788, 80, 1044, 4096, 0}, {170, 6527, 13141, 21845, 0, 0, 0}, {5402, 48, 5654, 5440, 0, 0, 0}, {4959, 4983, 17408, 0, 0, 0, 0}, {40, 4864, 80, 5120, 0, 0, 0}, {106, 13107, 5397, 0, 0, 0, 0}, {90, 5744, 21760, 0, 0, 0, 0}, {1036, 1060, 5911, 1092, 0, 0, 0}, {780, 48, 80, 4112, 0, 0, 0}, {2048, 34, 4437, 0, 0, 0, 0}, {18, 4420, 5376, 0, 0, 0, 0}, {4991, 8224, 0, 0, 0, 0, 0}, {96, 4928, 16448, 0, 0, 0, 0}, {90, 34, 1877, 4369, 0, 0, 0}, {72, 34, 1024, 4352, 0, 0, 0}, {4883, 80, 0, 0, 0, 0, 0}, {40, 4932, 17476, 0, 0, 0, 0}, {90, 48, 853, 5397, 0, 0, 0}, {170, 6476, 13158, 21760, 0, 0, 0}, {24, 48, 791, 80, 1024, 4096, 0}, {72, 96, 4864, 1024, 0, 0, 0}, {90, 5654, 21845, 0, 0, 0, 0}, {5418, 13056, 5440, 0, 0, 0, 0}, {4891, 4915, 80, 5140, 0, 0, 0}, {4940, 8224, 0, 0, 0, 0, 0}, {18, 4437, 1024, 0, 0, 0, 0}, {2048, 34, 4420, 0, 0, 0, 0}, {783, 48, 80, 4112, 0, 0, 0}, {240, 17152, 0, 0, 0, 0, 0}, {66, 1028, 4369, 0, 0, 0, 0}, {10, 34, 514, 80, 1280, 4352, 0}, {192, 3084, 13107, 16384, 0, 0, 0}, {72, 48, 836, 1028, 0, 0, 0}, {10, 4949, 21845, 0, 0, 0, 0}, {10, 48, 774, 80, 1280, 4096, 0}, {136, 2056, 13175, 17408, 0, 0, 0}, {1800, 1904, 17408, 0, 0, 0, 0}, {10, 5429, 1542, 5461, 0, 0, 0}, {10, 4864, 80, 1280, 0, 0, 0}, {72, 13107, 1028, 0, 0, 0, 0}, {780, 48, 16384, 0, 0, 0, 0}, {10, 34, 514, 4437, 0, 0, 0}, {18, 260, 4112, 0, 0, 0, 0}, {13311, 19456, 0, 0, 0, 0, 0}, {15360, 17408, 0, 0, 0, 0, 0}, {32, 21, 257, 0, 0, 0, 0}, {5122, 20480, 0, 0, 0, 0, 0}, {17420, 17459, 771, 0, 0, 0, 0}, {12288, 64, 1028, 0, 0, 0, 0}, {10, 85, 1285, 4352, 0, 0, 0}, {5126, 20480, 0, 0, 0, 0, 0}, {17416, 17527, 1799, 0, 0, 0, 0}, {17416, 28672, 0, 0, 0, 0, 0}, {4358, 85, 1285, 0, 0, 0, 0}, {10, 8704, 5120, 0, 0, 0, 0}, {63, 771, 64, 1028, 0, 0, 0}, {17420, 12288, 0, 0, 0, 0, 0}, {4354, 85, 1285, 0, 0, 0, 0}, {10, 32, 514, 64, 1028, 4096, 0}, {255, 3855, 13056, 17408, 0, 0, 0}, {32, 64, 1024, 4112, 0, 0, 0}, {3840, 85, 4369, 0, 0, 0, 0}, {17480, 17442, 4626, 0, 0, 0, 0}, {5139, 20480, 0, 0, 0, 0, 0}, {160, 5140, 0, 0, 0, 0, 0}, {768, 21, 4352, 0, 0, 0, 0}, {17484, 17510, 5654, 0, 0, 0, 0}, {5143, 20480, 0, 0, 0, 0, 0}, {5144, 96, 20560, 0, 0, 0, 0}, {4377, 4403, 1792, 85, 0, 0, 0}, {4634, 4656, 64, 1024, 0, 0, 0}, {5147, 13107, 5188, 0, 0, 0, 0}, {5148, 32, 20560, 0, 0, 0, 0}, {4381, 4386, 768, 85, 0, 0, 0}, {170, 7710, 8738, 17476, 0, 0, 0}, {31, 32, 768, 64, 1024, 4096, 0}, {32, 5120, 0, 0, 0, 0, 0}, {63, 771, 85, 4369, 0, 0, 0}, {23040, 17442, 0, 0, 0, 0, 0}, {1043, 64, 4112, 0, 0, 0, 0}, {3084, 5156, 5188, 0, 0, 0, 0}, {1807, 1829, 85, 4352, 0, 0, 0}, {1036, 1062, 4608, 64, 0, 0, 0}, {95, 5159, 20560, 0, 0, 0, 0}, {5160, 20480, 0, 0, 0, 0, 0}, {4403, 771, 21, 0, 0, 0, 0}, {42, 5632, 17408, 0, 0, 0, 0}, {95, 96, 771, 5140, 0, 0, 0}, {1036, 32, 64, 4096, 0, 0, 0}, {3855, 4386, 85, 0, 0, 0, 0}, {4680, 4642, 17476, 0, 0, 0, 0}, {5135, 32, 4864, 5200, 0, 0, 0}, {192, 3072, 12336, 17408, 0, 0, 0}, {10, 32, 514, 85, 1280, 4369, 0}, {1026, 64, 4112, 0, 0, 0, 0}, {3840, 17459, 0, 0, 0, 0, 0}, {128, 2056, 13364, 17476, 0, 0, 0}, {10, 53, 768, 85, 1280, 4352, 0}, {10, 5174, 20560, 0, 0, 0, 0}, {1032, 1079, 768, 64, 0, 0, 0}, {1032, 12336, 64, 0, 0, 0, 0}, {10, 4403, 85, 1280, 0, 0, 0}, {10, 5168, 1536, 5200, 0, 0, 0}, {1800, 1911, 17476, 0, 0, 0, 0}, {17612, 15420, 0, 0, 0, 0, 0}, {258, 21, 4096, 0, 0, 0, 0}, {10, 32, 514, 5140, 0, 0, 0}, {63, 768, 17408, 0, 0, 0, 0}, {12288, 64, 1024, 0, 0, 0, 0}, {10, 85, 1285, 4369, 0, 0, 0}, {5186, 20480, 0, 0, 0, 0, 0}, {17484, 17459, 17219, 0, 0, 0, 0}, {15564, 17476, 0, 0, 0, 0, 0}, {512, 261, 272, 0, 0, 0, 0}, {5190, 20480, 0, 0, 0, 0, 0}, {17480, 17527, 18247, 0, 0, 0, 0}, {17480, 12288, 0, 0, 0, 0, 0}, {4371, 85, 1285, 0, 0, 0, 0}, {10, 32, 512, 64, 1024, 4096, 0}, {255, 3855, 13107, 17476, 0, 0, 0}, {17484, 28672, 0, 0, 0, 0, 0}, {4375, 85, 1285, 0, 0, 0, 0}, {10, 8738, 5188, 0, 0, 0, 0}, {783, 816, 64, 1024, 0, 0, 0}, {10240, 5200, 0, 0, 0, 0, 0}, {819, 21, 4369, 0, 0, 0, 0}, {17416, 17442, 21074, 0, 0, 0, 0}, {5203, 20480, 0, 0, 0, 0, 0}, {32, 64, 1028, 4112, 0, 0, 0}, {3840, 85, 4352, 0, 0, 0, 0}, {17420, 17510, 22102, 0, 0, 0, 0}, {5207, 20480, 0, 0, 0, 0, 0}, {5208, 32, 20560, 0, 0, 0, 0}, {4364, 4403, 4608, 85, 0, 0, 0}, {170, 7770, 8704, 17408, 0, 0, 0}, {31, 32, 787, 64, 1028, 4096, 0}, {5212, 96, 20560, 0, 0, 0, 0}, {4360, 4386, 5632, 85, 0, 0, 0}, {42, 4626, 64, 1028, 0, 0, 0}, {95, 13056, 5120, 0, 0, 0, 0}, {96, 5120, 0, 0, 0, 0, 0}, {42, 1799, 85, 4369, 0, 0, 0}, {1032, 1058, 5632, 64, 0, 0, 0}, {95, 5219, 20560, 0, 0, 0, 0}, {2056, 32, 5188, 0, 0, 0, 0}, {783, 816, 85, 4352, 0, 0, 0}, {23040, 17510, 0, 0, 0, 0, 0}, {1047, 64, 4112, 0, 0, 0, 0}, {1032, 32, 64, 4096, 0, 0, 0}, {3855, 4403, 85, 0, 0, 0, 0}, {106, 4608, 17408, 0, 0, 0, 0}, {95, 32, 4883, 5140, 0, 0, 0}, {5228, 20480, 0, 0, 0, 0, 0}, {4386, 4626, 21, 0, 0, 0, 0}, {5708, 5734, 17476, 0, 0, 0, 0}, {5135, 5168, 5888, 5200, 0, 0, 0}, {128, 2048, 13424, 17408, 0, 0, 0}, {10, 53, 774, 85, 1280, 4369, 0}, {10, 5234, 20560, 0, 0, 0, 0}, {1036, 1075, 1792, 64, 0, 0, 0}, {192, 3084, 12336, 17476, 0, 0, 0}, {10, 32, 512, 85, 1280, 4352, 0}, {1030, 64, 4112, 0, 0, 0, 0}, {3840, 17527, 0, 0, 0, 0, 0}, {17544, 30840, 0, 0, 0, 0, 0}, {275, 21, 4096, 0, 0, 0, 0}, {10, 32, 512, 5200, 0, 0, 0}, {780, 819, 17476, 0, 0, 0, 0}, {1036, 12336, 64, 0, 0, 0, 0}, {10, 4386, 85, 1280, 0, 0, 0}, {10, 96, 4626, 5140, 0, 0, 0}, {127, 1792, 17408, 0, 0, 0, 0}, {128, 2048, 13312, 17408, 0, 0, 0}, {10, 53, 771, 85, 1285, 4369, 0}, {10, 5154, 20480, 0, 0, 0, 0}, {1036, 1075, 771, 64, 0, 0, 0}, {192, 3084, 12288, 17476, 0, 0, 0}, {10, 32, 512, 85, 1285, 4352, 0}, {1030, 64, 4096, 0, 0, 0, 0}, {3855, 17527, 0, 0, 0, 0, 0}, {17544, 15360, 0, 0, 0, 0, 0}, {259, 21, 4112, 0, 0, 0, 0}, {10, 32, 512, 5120, 0, 0, 0}, {63, 771, 17476, 0, 0, 0, 0}, {1036, 12288, 64, 0, 0, 0, 0}, {10, 4386, 85, 1285, 0, 0, 0}, {10, 5156, 1542, 5188, 0, 0, 0}, {1807, 1904, 17408, 0, 0, 0, 0}, {3072, 5168, 5200, 0, 0, 0, 0}, {1800, 1826, 85, 4369, 0, 0, 0}, {1032, 1058, 4626, 64, 0, 0, 0}, {95, 5171, 20480, 0, 0, 0, 0}, {32, 5140, 0, 0, 0, 0, 0}, {63, 768, 85, 4352, 0, 0, 0}, {23130, 17510, 0, 0, 0, 0, 0}, {1047, 64, 4096, 0, 0, 0, 0}, {1032, 32, 64, 4112, 0, 0, 0}, {3840, 4403, 85, 0, 0, 0, 0}, {4698, 4656, 17408, 0, 0, 0, 0}, {5147, 32, 4883, 5188, 0, 0, 0}, {5180, 20560, 0, 0, 0, 0, 0}, {4386, 768, 21, 0, 0, 0, 0}, {42, 5654, 17476, 0, 0, 0, 0}, {95, 96, 768, 5120, 0, 0, 0}, {160, 5120, 0, 0, 0, 0, 0}, {771, 21, 4369, 0, 0, 0, 0}, {17416, 17442, 5632, 0, 0, 0, 0}, {5123, 20560, 0, 0, 0, 0, 0}, {32, 64, 1028, 4096, 0, 0, 0}, {3855, 85, 4352, 0, 0, 0, 0}, {17420, 17510, 4608, 0, 0, 0, 0}, {5127, 20560, 0, 0, 0, 0, 0}, {5128, 32, 20480, 0, 0, 0, 0}, {4364, 4403, 771, 85, 0, 0, 0}, {170, 7680, 8704, 17408, 0, 0, 0}, {31, 32, 771, 64, 1028, 4112, 0}, {5132, 96, 20480, 0, 0, 0, 0}, {4360, 4386, 1799, 85, 0, 0, 0}, {4616, 4642, 64, 1028, 0, 0, 0}, {5135, 13056, 5200, 0, 0, 0, 0}, {12336, 64, 1024, 0, 0, 0, 0}, {10, 85, 1280, 4369, 0, 0, 0}, {5138, 20560, 0, 0, 0, 0, 0}, {17484, 17459, 1792, 0, 0, 0, 0}, {15420, 17476, 0, 0, 0, 0, 0}, {32, 21, 256, 0, 0, 0, 0}, {5142, 20560, 0, 0, 0, 0, 0}, {17480, 17527, 768, 0, 0, 0, 0}, {17480, 12336, 0, 0, 0, 0, 0}, {4371, 85, 1280, 0, 0, 0, 0}, {10, 32, 512, 64, 1024, 4112, 0}, {255, 3840, 13107, 17476, 0, 0, 0}, {17484, 28784, 0, 0, 0, 0, 0}, {4375, 85, 1280, 0, 0, 0, 0}, {10, 8738, 5140, 0, 0, 0, 0}, {63, 768, 64, 1024, 0, 0, 0}, {192, 3072, 12288, 17408, 0, 0, 0}, {10, 32, 514, 85, 1285, 4369, 0}, {1026, 64, 4096, 0, 0, 0, 0}, {3855, 17459, 0, 0, 0, 0, 0}, {128, 2056, 13380, 17476, 0, 0, 0}, {10, 53, 773, 85, 1285, 4352, 0}, {10, 5222, 20480, 0, 0, 0, 0}, {1032, 1079, 1799, 64, 0, 0, 0}, {1032, 12288, 64, 0, 0, 0, 0}, {10, 4403, 85, 1285, 0, 0, 0}, {10, 96, 4608, 5120, 0, 0, 0}, {127, 1799, 17476, 0, 0, 0, 0}, {17612, 30720, 0, 0, 0, 0, 0}, {274, 21, 4112, 0, 0, 0, 0}, {10, 32, 514, 5188, 0, 0, 0}, {783, 816, 17408, 0, 0, 0, 0}, {2048, 32, 5200, 0, 0, 0, 0}, {780, 819, 85, 4369, 0, 0, 0}, {23130, 17442, 0, 0, 0, 0, 0}, {1043, 64, 4096, 0, 0, 0, 0}, {96, 5140, 0, 0, 0, 0, 0}, {42, 1792, 85, 4352, 0, 0, 0}, {1036, 1062, 5654, 64, 0, 0, 0}, {95, 5239, 20480, 0, 0, 0, 0}, {5240, 20560, 0, 0, 0, 0, 0}, {4403, 4608, 21, 0, 0, 0, 0}, {5722, 5744, 17408, 0, 0, 0, 0}, {5147, 5156, 5911, 5188, 0, 0, 0}, {1036, 32, 64, 4112, 0, 0, 0}, {3840, 4386, 85, 0, 0, 0, 0}, {106, 4626, 17476, 0, 0, 0, 0}, {95, 32, 4864, 5120, 0, 0, 0}, {32, 64, 1024, 4096, 0, 0, 0}, {3855, 85, 4369, 0, 0, 0, 0}, {17480, 17442, 22016, 0, 0, 0, 0}, {5187, 20560, 0, 0, 0, 0, 0}, {10280, 5188, 0, 0, 0, 0, 0}, {816, 21, 4352, 0, 0, 0, 0}, {17484, 17510, 20992, 0, 0, 0, 0}, {5191, 20560, 0, 0, 0, 0, 0}, {5192, 96, 20480, 0, 0, 0, 0}, {4377, 4403, 5654, 85, 0, 0, 0}, {42, 4608, 64, 1024, 0, 0, 0}, {95, 13107, 5140, 0, 0, 0, 0}, {5196, 32, 20480, 0, 0, 0, 0}, {4381, 4386, 4626, 85, 0, 0, 0}, {170, 7748, 8738, 17476, 0, 0, 0}, {31, 32, 784, 64, 1024, 4112, 0}, {15600, 17408, 0, 0, 0, 0, 0}, {514, 260, 273, 0, 0, 0, 0}, {5202, 20560, 0, 0, 0, 0, 0}, {17420, 17459, 18176, 0, 0, 0, 0}, {12336, 64, 1028, 0, 0, 0, 0}, {10, 85, 1280, 4352, 0, 0, 0}, {5206, 20560, 0, 0, 0, 0, 0}, {17416, 17527, 17152, 0, 0, 0, 0}, {17416, 28784, 0, 0, 0, 0, 0}, {4358, 85, 1280, 0, 0, 0, 0}, {10, 8704, 5200, 0, 0, 0, 0}, {780, 819, 64, 1028, 0, 0, 0}, {17420, 12336, 0, 0, 0, 0, 0}, {4354, 85, 1280, 0, 0, 0, 0}, {10, 32, 514, 64, 1028, 4112, 0}, {255, 3840, 13056, 17408, 0, 0, 0}, {8192, 5376, 0, 0, 0, 0, 0}, {60, 68, 257, 0, 0, 0, 0}, {16392, 21794, 514, 0, 0, 0, 0}, {5379, 20480, 0, 0, 0, 0, 0}, {520, 68, 1028, 4352, 0, 0, 0}, {12288, 4176, 1285, 0, 0, 0, 0}, {16396, 21862, 1542, 0, 0, 0, 0}, {5383, 20480, 0, 0, 0, 0, 0}, {5384, 5888, 21760, 0, 0, 0, 0}, {4188, 4192, 771, 1285, 0, 0, 0}, {13578, 16384, 0, 0, 0, 0, 0}, {4403, 771, 4100, 0, 0, 0, 0}, {5388, 4864, 21760, 0, 0, 0, 0}, {4184, 4128, 514, 1285, 0, 0, 0}, {4386, 514, 68, 1028, 0, 0, 0}, {1295, 4096, 0, 0, 0, 0, 0}, {3840, 1360, 4112, 0, 0, 0, 0}, {546, 68, 1024, 4369, 0, 0, 0}, {5394, 20480, 0, 0, 0, 0, 0}, {16460, 21811, 4883, 0, 0, 0, 0}, {768, 276, 4352, 0, 0, 0, 0}, {8320, 5397, 0, 0, 0, 0, 0}, {5398, 20480, 0, 0, 0, 0, 0}, {16456, 21879, 5911, 0, 0, 0, 0}, {4120, 5424, 1792, 1360, 0, 0, 0}, {5401, 1638, 21845, 0, 0, 0, 0}, {5402, 12336, 4160, 0, 0, 0, 0}, {4891, 4403, 68, 1024, 0, 0, 0}, {4124, 4128, 768, 1360, 0, 0, 0}, {5405, 546, 21845, 0, 0, 0, 0}, {286, 290, 768, 68, 1024, 4096, 0}, {5567, 7967, 8224, 16448, 0, 0, 0}, {5504, 7968, 8224, 21760, 0, 0, 0}, {285, 289, 771, 68, 1297, 4369, 0}, {5410, 5888, 16384, 0, 0, 0, 0}, {1375, 1379, 771, 4112, 0, 0, 0}, {1036, 1572, 68, 4352, 0, 0, 0}, {3855, 5413, 1365, 0, 0, 0, 0}, {4940, 5414, 16448, 0, 0, 0, 0}, {5391, 1319, 4608, 4176, 0, 0, 0}, {552, 8704, 5376, 0, 0, 0, 0}, {60, 771, 4160, 5397, 0, 0, 0}, {5418, 24576, 0, 0, 0, 0, 0}, {279, 68, 5140, 0, 0, 0, 0}, {3084, 4896, 5440, 0, 0, 0, 0}, {1807, 546, 1365, 4096, 0, 0, 0}, {1036, 4386, 4864, 68, 0, 0, 0}, {1375, 4128, 20560, 0, 0, 0, 0}, {4144, 1280, 0, 0, 0, 0, 0}, {1032, 514, 68, 4369, 0, 0, 0}, {1290, 1394, 514, 4112, 0, 0, 0}, {5427, 1536, 16384, 0, 0, 0, 0}, {264, 308, 768, 68, 1280, 4352, 0}, {5525, 2570, 13621, 21845, 0, 0, 0}, {1290, 1334, 768, 4176, 0, 0, 0}, {520, 5431, 16448, 0, 0, 0, 0}, {520, 4656, 4160, 1280, 0, 0, 0}, {1546, 13107, 5461, 0, 0, 0, 0}, {1290, 4192, 20560, 0, 0, 0, 0}, {1032, 4403, 1536, 68, 0, 0, 0}, {60, 768, 1280, 4096, 0, 0, 0}, {136, 514, 5397, 0, 0, 0, 0}, {258, 68, 5140, 0, 0, 0, 0}, {5439, 8192, 0, 0, 0, 0, 0}, {2560, 5440, 0, 0, 0, 0, 0}, {819, 261, 4369, 0, 0, 0, 0}, {16456, 21794, 16962, 0, 0, 0, 0}, {5443, 20480, 0, 0, 0, 0, 0}, {512, 68, 1024, 4352, 0, 0, 0}, {240, 1285, 4112, 0, 0, 0, 0}, {16460, 21862, 17990, 0, 0, 0, 0}, {5447, 20480, 0, 0, 0, 0, 0}, {5448, 512, 21760, 0, 0, 0, 0}, {4124, 4128, 4883, 1285, 0, 0, 0}, {5610, 2570, 8224, 16448, 0, 0, 0}, {271, 307, 512, 68, 1024, 4096, 0}, {5452, 1536, 21760, 0, 0, 0, 0}, {4120, 4192, 4626, 1285, 0, 0, 0}, {522, 4386, 68, 1024, 0, 0, 0}, {1295, 12336, 4160, 0, 0, 0, 0}, {12288, 4176, 5376, 0, 0, 0, 0}, {554, 68, 1028, 4369, 0, 0, 0}, {5458, 20480, 0, 0, 0, 0, 0}, {16396, 21811, 21331, 0, 0, 0, 0}, {780, 1028, 272, 0, 0, 0, 0}, {8192, 5461, 0, 0, 0, 0, 0}, {5462, 20480, 0, 0, 0, 0, 0}, {16392, 21879, 22359, 0, 0, 0, 0}, {5384, 4128, 4608, 1360, 0, 0, 0}, {5465, 4915, 21845, 0, 0, 0, 0}, {1370, 4096, 0, 0, 0, 0, 0}, {4403, 4883, 68, 1028, 0, 0, 0}, {5388, 5424, 5632, 1360, 0, 0, 0}, {5469, 6007, 21845, 0, 0, 0, 0}, {4386, 4626, 4100, 0, 0, 0, 0}, {13663, 16384, 0, 0, 0, 0, 0}, {5568, 8032, 13664, 21760, 0, 0, 0}, {281, 293, 534, 68, 1297, 4369, 0}, {5960, 5474, 16448, 0, 0, 0, 0}, {5391, 5427, 5632, 4176, 0, 0, 0}, {1032, 544, 68, 4352, 0, 0, 0}, {3855, 4144, 1365, 0, 0, 0, 0}, {5478, 4864, 16384, 0, 0, 0, 0}, {1375, 1319, 1799, 4112, 0, 0, 0}, {2056, 544, 5440, 0, 0, 0, 0}, {783, 819, 1365, 4096, 0, 0, 0}, {5482, 8192, 0, 0, 0, 0, 0}, {275, 68, 5140, 0, 0, 0, 0}, {4972, 13056, 5376, 0, 0, 0, 0}, {4152, 4626, 4160, 5397, 0, 0, 0}, {1032, 4386, 5888, 68, 0, 0, 0}, {1375, 4192, 20560, 0, 0, 0, 0}, {4208, 1280, 0, 0, 0, 0, 0}, {1036, 1542, 68, 4369, 0, 0, 0}, {1290, 5410, 1792, 4176, 0, 0, 0}, {1548, 5491, 16448, 0, 0, 0, 0}, {268, 304, 512, 68, 1280, 4352, 0}, {5589, 2570, 8224, 21845, 0, 0, 0}, {1290, 1334, 1542, 4112, 0, 0, 0}, {5495, 512, 16384, 0, 0, 0, 0}, {120, 512, 1280, 4096, 0, 0, 0}, {204, 4883, 5397, 0, 0, 0, 0}, {1290, 4128, 20560, 0, 0, 0, 0}, {1036, 4403, 512, 68, 0, 0, 0}, {780, 816, 4160, 1280, 0, 0, 0}, {522, 8738, 5461, 0, 0, 0, 0}, {262, 68, 5140, 0, 0, 0, 0}, {5503, 24576, 0, 0, 0, 0, 0}, {5504, 2560, 13568, 21760, 0, 0, 0}, {265, 309, 771, 68, 1285, 4369, 0}, {522, 5410, 16384, 0, 0, 0, 0}, {1295, 1331, 771, 4160, 0, 0, 0}, {1036, 512, 68, 4352, 0, 0, 0}, {4128, 1285, 0, 0, 0, 0, 0}, {5414, 1542, 16448, 0, 0, 0, 0}, {1295, 1399, 512, 4096, 0, 0, 0}, {136, 512, 5376, 0, 0, 0, 0}, {60, 771, 1285, 4112, 0, 0, 0}, {5418, 8224, 0, 0, 0, 0, 0}, {259, 68, 5120, 0, 0, 0, 0}, {1548, 13056, 5440, 0, 0, 0, 0}, {522, 4642, 4176, 1285, 0, 0, 0}, {1036, 4386, 1542, 68, 0, 0, 0}, {1295, 4208, 20480, 0, 0, 0, 0}, {3840, 5424, 1360, 0, 0, 0, 0}, {1032, 1570, 68, 4369, 0, 0, 0}, {5402, 1314, 4626, 4160, 0, 0, 0}, {4959, 5427, 16384, 0, 0, 0, 0}, {284, 288, 768, 68, 1300, 4352, 0}, {5525, 7999, 8192, 21845, 0, 0, 0}, {1370, 1382, 768, 4096, 0, 0, 0}, {5431, 5911, 16448, 0, 0, 0, 0}, {1800, 544, 1360, 4112, 0, 0, 0}, {3072, 4915, 5461, 0, 0, 0, 0}, {1370, 4144, 20480, 0, 0, 0, 0}, {1032, 4403, 4883, 68, 0, 0, 0}, {60, 768, 4176, 5376, 0, 0, 0}, {554, 8738, 5397, 0, 0, 0, 0}, {278, 68, 5120, 0, 0, 0, 0}, {5439, 24672, 0, 0, 0, 0, 0}, {8352, 5376, 0, 0, 0, 0, 0}, {771, 277, 4369, 0, 0, 0, 0}, {16392, 21794, 5888, 0, 0, 0, 0}, {5379, 20560, 0, 0, 0, 0, 0}, {544, 68, 1028, 4352, 0, 0, 0}, {3855, 1365, 4096, 0, 0, 0, 0}, {16396, 21862, 4864, 0, 0, 0, 0}, {5383, 20560, 0, 0, 0, 0, 0}, {5384, 544, 21760, 0, 0, 0, 0}, {4108, 4144, 771, 1365, 0, 0, 0}, {5546, 7936, 8192, 16384, 0, 0, 0}, {287, 291, 771, 68, 1028, 4112, 0}, {5388, 1632, 21760, 0, 0, 0, 0}, {4104, 5413, 1799, 1365, 0, 0, 0}, {4872, 4386, 68, 1028, 0, 0, 0}, {5391, 12288, 4176, 0, 0, 0, 0}, {12336, 4160, 1280, 0, 0, 0, 0}, {522, 68, 1024, 4369, 0, 0, 0}, {5394, 20560, 0, 0, 0, 0, 0}, {16460, 21811, 1536, 0, 0, 0, 0}, {60, 68, 256, 0, 0, 0, 0}, {8224, 5397, 0, 0, 0, 0, 0}, {5398, 20560, 0, 0, 0, 0, 0}, {16456, 21879, 512, 0, 0, 0, 0}, {4168, 4144, 512, 1280, 0, 0, 0}, {5401, 4883, 21845, 0, 0, 0, 0}, {1290, 4112, 0, 0, 0, 0, 0}, {4403, 512, 68, 1024, 0, 0, 0}, {4172, 4208, 768, 1280, 0, 0, 0}, {5405, 5911, 21845, 0, 0, 0, 0}, {4386, 768, 4116, 0, 0, 0, 0}, {13631, 16448, 0, 0, 0, 0, 0}, {5568, 2560, 8192, 21760, 0, 0, 0}, {269, 305, 514, 68, 1285, 4369, 0}, {5474, 514, 16448, 0, 0, 0, 0}, {1295, 1331, 1536, 4096, 0, 0, 0}, {1032, 1536, 68, 4352, 0, 0, 0}, {4192, 1285, 0, 0, 0, 0, 0}, {1546, 5478, 16384, 0, 0, 0, 0}, {1295, 5431, 1799, 4160, 0, 0, 0}, {520, 8704, 5440, 0, 0, 0, 0}, {783, 819, 4176, 1285, 0, 0, 0}, {5482, 24672, 0, 0, 0, 0, 0}, {263, 68, 5120, 0, 0, 0, 0}, {204, 4864, 5376, 0, 0, 0, 0}, {120, 514, 1285, 4112, 0, 0, 0}, {1032, 4386, 514, 68, 0, 0, 0}, {1295, 4144, 20480, 0, 0, 0, 0}, {3840, 4128, 1360, 0, 0, 0, 0}, {1036, 546, 68, 4369, 0, 0, 0}, {1370, 1314, 1792, 4096, 0, 0, 0}, {5491, 4883, 16448, 0, 0, 0, 0}, {280, 292, 532, 68, 1300, 4352, 0}, {5589, 8063, 13653, 21845, 0, 0, 0}, {5402, 5414, 5654, 4160, 0, 0, 0}, {5983, 5495, 16384, 0, 0, 0, 0}, {4136, 4608, 4176, 5376, 0, 0, 0}, {4991, 13107, 5397, 0, 0, 0, 0}, {1370, 4208, 20480, 0, 0, 0, 0}, {1036, 4403, 5911, 68, 0, 0, 0}, {780, 816, 1360, 4112, 0, 0, 0}, {2048, 546, 5461, 0, 0, 0, 0}, {274, 68, 5120, 0, 0, 0, 0}, {5503, 8224, 0, 0, 0, 0, 0}, {8224, 5440, 0, 0, 0, 0, 0}, {783, 1024, 273, 0, 0, 0, 0}, {16456, 21794, 22272, 0, 0, 0, 0}, {5443, 20560, 0, 0, 0, 0, 0}, {552, 68, 1024, 4352, 0, 0, 0}, {12336, 4160, 5397, 0, 0, 0, 0}, {16460, 21862, 21248, 0, 0, 0, 0}, {5447, 20560, 0, 0, 0, 0, 0}, {5448, 5984, 21760, 0, 0, 0, 0}, {5401, 5413, 5654, 1365, 0, 0, 0}, {13674, 16448, 0, 0, 0, 0, 0}, {4403, 4608, 4116, 0, 0, 0, 0}, {5452, 4896, 21760, 0, 0, 0, 0}, {5405, 4144, 4626, 1365, 0, 0, 0}, {4386, 4864, 68, 1024, 0, 0, 0}, {1375, 4112, 0, 0, 0, 0, 0}, {240, 1280, 4096, 0, 0, 0, 0}, {514, 68, 1028, 4369, 0, 0, 0}, {5458, 20560, 0, 0, 0, 0, 0}, {16396, 21811, 17920, 0, 0, 0, 0}, {816, 260, 4352, 0, 0, 0, 0}, {2570, 5461, 0, 0, 0, 0, 0}, {5462, 20560, 0, 0, 0, 0, 0}, {16392, 21879, 16896, 0, 0, 0, 0}, {4104, 4208, 4608, 1280, 0, 0, 0}, {5465, 1542, 21845, 0, 0, 0, 0}, {1290, 12288, 4176, 0, 0, 0, 0}, {520, 4403, 68, 1028, 0, 0, 0}, {4108, 4144, 4864, 1280, 0, 0, 0}, {5469, 514, 21845, 0, 0, 0, 0}, {270, 306, 514, 68, 1028, 4112, 0}, {5631, 2560, 8192, 16384, 0, 0, 0}, {5632, 20480, 0, 0, 0, 0, 0}, {72, 119, 257, 0, 0, 0, 0}, {5160, 514, 17408, 0, 0, 0, 0}, {4111, 4144, 771, 5376, 0, 0, 0}, {4104, 4608, 4160, 1028, 0, 0, 0}, {4959, 13056, 1285, 0, 0, 0, 0}, {4192, 1542, 16384, 0, 0, 0, 0}, {1295, 119, 1799, 4352, 0, 0, 0}, {520, 8704, 5120, 0, 0, 0, 0}, {63, 771, 4176, 1285, 0, 0, 0}, {17930, 28672, 0, 0, 0, 0, 0}, {4103, 4420, 1028, 0, 0, 0, 0}, {1548, 4096, 0, 0, 0, 0, 0}, {4386, 514, 4437, 1285, 0, 0, 0}, {72, 4128, 514, 1028, 0, 0, 0}, {1295, 4864, 21760, 0, 0, 0, 0}, {3072, 1632, 4112, 0, 0, 0, 0}, {1314, 1792, 1365, 4369, 0, 0, 0}, {72, 4144, 4626, 1024, 0, 0, 0}, {1375, 4883, 21760, 0, 0, 0, 0}, {552, 8704, 5140, 0, 0, 0, 0}, {63, 768, 4160, 5397, 0, 0, 0}, {20720, 5654, 0, 0, 0, 0, 0}, {279, 1024, 4352, 0, 0, 0, 0}, {4120, 4656, 4176, 1024, 0, 0, 0}, {5657, 13107, 1365, 0, 0, 0, 0}, {5658, 4208, 16448, 0, 0, 0, 0}, {5147, 4403, 1792, 4420, 0, 0, 0}, {5820, 7196, 8224, 20560, 0, 0, 0}, {285, 290, 768, 341, 1024, 4096, 0}, {5662, 546, 17476, 0, 0, 0, 0}, {4127, 4128, 768, 5440, 0, 0, 0}, {23040, 17952, 0, 0, 0, 0, 0}, {1298, 1092, 4369, 0, 0, 0, 0}, {546, 5120, 0, 0, 0, 0, 0}, {63, 771, 1360, 4112, 0, 0, 0}, {1036, 5156, 4608, 1092, 0, 0, 0}, {1370, 5669, 21845, 0, 0, 0, 0}, {3084, 5670, 4160, 0, 0, 0, 0}, {1807, 1319, 1360, 4352, 0, 0, 0}, {5160, 5632, 17408, 0, 0, 0, 0}, {4175, 4208, 771, 5397, 0, 0, 0}, {5674, 20480, 0, 0, 0, 0, 0}, {4403, 771, 276, 0, 0, 0, 0}, {5708, 4128, 16448, 0, 0, 0, 0}, {5135, 4386, 4864, 4437, 0, 0, 0}, {1036, 546, 1092, 4096, 0, 0, 0}, {3855, 4896, 1360, 0, 0, 0, 0}, {4144, 1536, 16384, 0, 0, 0, 0}, {1290, 119, 514, 4369, 0, 0, 0}, {1032, 514, 1088, 4112, 0, 0, 0}, {4915, 1280, 0, 0, 0, 0, 0}, {520, 5684, 17476, 0, 0, 0, 0}, {1290, 1333, 768, 5461, 0, 0, 0}, {5782, 2570, 13878, 20560, 0, 0, 0}, {264, 311, 768, 320, 1280, 4352, 0}, {1032, 5168, 1536, 1088, 0, 0, 0}, {1290, 5734, 21845, 0, 0, 0, 0}, {1546, 12336, 4176, 0, 0, 0, 0}, {520, 4403, 4420, 1280, 0, 0, 0}, {5692, 8192, 0, 0, 0, 0, 0}, {258, 4437, 5397, 0, 0, 0, 0}, {136, 514, 5140, 0, 0, 0, 0}, {63, 768, 1280, 4096, 0, 0, 0}, {1536, 4160, 0, 0, 0, 0, 0}, {522, 119, 1285, 4369, 0, 0, 0}, {72, 4192, 578, 1024, 0, 0, 0}, {1295, 5699, 21760, 0, 0, 0, 0}, {512, 5188, 0, 0, 0, 0, 0}, {783, 816, 1285, 4112, 0, 0, 0}, {20640, 17990, 0, 0, 0, 0, 0}, {327, 1024, 4352, 0, 0, 0, 0}, {72, 512, 1024, 4096, 0, 0, 0}, {255, 4883, 1285, 0, 0, 0, 0}, {1546, 4128, 16448, 0, 0, 0, 0}, {1295, 4403, 512, 4420, 0, 0, 0}, {5708, 20480, 0, 0, 0, 0, 0}, {4386, 4626, 261, 0, 0, 0, 0}, {522, 5734, 17476, 0, 0, 0, 0}, {1295, 1328, 1536, 5440, 0, 0, 0}, {5872, 7248, 13904, 20560, 0, 0, 0}, {281, 294, 533, 337, 1028, 4369, 0}, {5240, 5714, 17408, 0, 0, 0, 0}, {4191, 4192, 4947, 5376, 0, 0, 0}, {72, 544, 1028, 4112, 0, 0, 0}, {4864, 1365, 0, 0, 0, 0, 0}, {4144, 5718, 16384, 0, 0, 0, 0}, {1375, 119, 599, 4352, 0, 0, 0}, {2056, 544, 5200, 0, 0, 0, 0}, {780, 819, 1365, 4096, 0, 0, 0}, {5722, 8192, 0, 0, 0, 0, 0}, {275, 4420, 1028, 0, 0, 0, 0}, {5692, 12336, 4176, 0, 0, 0, 0}, {4872, 4386, 4437, 5120, 0, 0, 0}, {72, 4208, 4626, 1028, 0, 0, 0}, {1375, 5632, 21760, 0, 0, 0, 0}, {4192, 5632, 16384, 0, 0, 0, 0}, {1370, 119, 1799, 4369, 0, 0, 0}, {4104, 4642, 4160, 5120, 0, 0, 0}, {5692, 13107, 1360, 0, 0, 0, 0}, {5708, 544, 17476, 0, 0, 0, 0}, {4111, 4144, 4864, 5461, 0, 0, 0}, {5734, 20480, 0, 0, 0, 0, 0}, {1032, 1799, 272, 0, 0, 0, 0}, {1032, 4128, 4608, 1088, 0, 0, 0}, {1370, 4915, 21845, 0, 0, 0, 0}, {1642, 4096, 0, 0, 0, 0, 0}, {4403, 4883, 4420, 5140, 0, 0, 0}, {18028, 28672, 0, 0, 0, 0, 0}, {4103, 4437, 5397, 0, 0, 0, 0}, {554, 8738, 5188, 0, 0, 0, 0}, {783, 816, 4176, 5376, 0, 0, 0}, {2560, 5744, 0, 0, 0, 0, 0}, {262, 1092, 4369, 0, 0, 0, 0}, {522, 8738, 5200, 0, 0, 0, 0}, {780, 819, 4160, 1280, 0, 0, 0}, {1036, 4144, 512, 1092, 0, 0, 0}, {1290, 4896, 21845, 0, 0, 0, 0}, {192, 1542, 4112, 0, 0, 0, 0}, {119, 512, 1280, 4352, 0, 0, 0}, {5240, 512, 17408, 0, 0, 0, 0}, {4127, 4128, 4883, 5397, 0, 0, 0}, {5850, 2570, 8224, 20560, 0, 0, 0}, {268, 307, 512, 324, 1280, 4096, 0}, {1548, 4208, 16448, 0, 0, 0, 0}, {1290, 4386, 1792, 4437, 0, 0, 0}, {4120, 4626, 4176, 5140, 0, 0, 0}, {4991, 13056, 1280, 0, 0, 0, 0}, {5760, 2560, 13824, 20480, 0, 0, 0}, {265, 310, 771, 321, 1285, 4369, 0}, {522, 5666, 17408, 0, 0, 0, 0}, {1295, 1328, 771, 5440, 0, 0, 0}, {1036, 512, 1092, 4096, 0, 0, 0}, {4896, 1285, 0, 0, 0, 0, 0}, {4128, 1542, 16448, 0, 0, 0, 0}, {1295, 119, 512, 4352, 0, 0, 0}, {136, 512, 5120, 0, 0, 0, 0}, {63, 771, 1285, 4112, 0, 0, 0}, {5674, 8224, 0, 0, 0, 0, 0}, {259, 4420, 5376, 0, 0, 0, 0}, {1548, 12288, 4160, 0, 0, 0, 0}, {522, 4386, 4437, 1285, 0, 0, 0}, {1036, 5156, 1542, 1092, 0, 0, 0}, {1295, 5744, 21760, 0, 0, 0, 0}, {3072, 5680, 4176, 0, 0, 0, 0}, {1800, 1314, 1365, 4369, 0, 0, 0}, {1032, 5168, 4626, 1088, 0, 0, 0}, {1375, 5683, 21760, 0, 0, 0, 0}, {544, 5140, 0, 0, 0, 0, 0}, {63, 768, 1365, 4096, 0, 0, 0}, {23130, 18022, 0, 0, 0, 0, 0}, {1303, 1088, 4352, 0, 0, 0, 0}, {1032, 544, 1088, 4112, 0, 0, 0}, {3840, 4915, 1365, 0, 0, 0, 0}, {5722, 4144, 16384, 0, 0, 0, 0}, {5147, 4403, 4883, 4420, 0, 0, 0}, {5692, 20560, 0, 0, 0, 0, 0}, {4386, 768, 277, 0, 0, 0, 0}, {5180, 5654, 17476, 0, 0, 0, 0}, {4191, 4192, 768, 5376, 0, 0, 0}, {20640, 5632, 0, 0, 0, 0, 0}, {278, 1028, 4369, 0, 0, 0, 0}, {554, 8738, 5120, 0, 0, 0, 0}, {63, 771, 4176, 5376, 0, 0, 0}, {72, 4128, 4608, 1028, 0, 0, 0}, {1370, 4864, 21845, 0, 0, 0, 0}, {3084, 1638, 4096, 0, 0, 0, 0}, {1319, 1799, 1360, 4352, 0, 0, 0}, {5640, 544, 17408, 0, 0, 0, 0}, {4111, 4144, 771, 5461, 0, 0, 0}, {5802, 7168, 8192, 20480, 0, 0, 0}, {284, 291, 771, 340, 1028, 4112, 0}, {5644, 4192, 16384, 0, 0, 0, 0}, {5135, 4386, 1799, 4437, 0, 0, 0}, {4104, 4642, 4160, 1028, 0, 0, 0}, {5647, 13056, 1360, 0, 0, 0, 0}, {4208, 1536, 16448, 0, 0, 0, 0}, {1290, 119, 1792, 4369, 0, 0, 0}, {4120, 4626, 4176, 1024, 0, 0, 0}, {4940, 13107, 1280, 0, 0, 0, 0}, {5180, 512, 17476, 0, 0, 0, 0}, {4127, 4128, 768, 5397, 0, 0, 0}, {5654, 20560, 0, 0, 0, 0, 0}, {72, 119, 256, 0, 0, 0, 0}, {72, 4144, 512, 1024, 0, 0, 0}, {1290, 4883, 21845, 0, 0, 0, 0}, {1546, 4112, 0, 0, 0, 0, 0}, {4403, 512, 4420, 1280, 0, 0, 0}, {17996, 28784, 0, 0, 0, 0, 0}, {4119, 4437, 1024, 0, 0, 0, 0}, {522, 8738, 5140, 0, 0, 0, 0}, {63, 768, 4160, 1280, 0, 0, 0}, {192, 1536, 4096, 0, 0, 0, 0}, {119, 514, 1285, 4369, 0, 0, 0}, {1032, 4128, 514, 1088, 0, 0, 0}, {1295, 4915, 21760, 0, 0, 0, 0}, {520, 8704, 5188, 0, 0, 0, 0}, {783, 816, 4176, 1285, 0, 0, 0}, {2570, 5734, 0, 0, 0, 0, 0}, {263, 1088, 4352, 0, 0, 0, 0}, {4104, 4608, 4160, 5120, 0, 0, 0}, {4972, 13107, 1285, 0, 0, 0, 0}, {1546, 4192, 16384, 0, 0, 0, 0}, {1295, 4403, 1799, 4420, 0, 0, 0}, {5836, 2560, 8192, 20480, 0, 0, 0}, {269, 306, 514, 325, 1285, 4112, 0}, {5228, 514, 17476, 0, 0, 0, 0}, {4111, 4144, 4864, 5376, 0, 0, 0}, {5744, 20560, 0, 0, 0, 0, 0}, {1036, 1792, 273, 0, 0, 0, 0}, {5722, 546, 17408, 0, 0, 0, 0}, {4127, 4128, 4883, 5440, 0, 0, 0}, {4120, 4656, 4176, 5140, 0, 0, 0}, {5674, 13056, 1365, 0, 0, 0, 0}, {4208, 5654, 16448, 0, 0, 0, 0}, {1375, 119, 1792, 4352, 0, 0, 0}, {552, 8704, 5200, 0, 0, 0, 0}, {780, 819, 4160, 5397, 0, 0, 0}, {17962, 28784, 0, 0, 0, 0, 0}, {4119, 4420, 5376, 0, 0, 0, 0}, {1644, 4112, 0, 0, 0, 0, 0}, {4386, 4864, 4437, 5120, 0, 0, 0}, {1036, 4144, 4626, 1092, 0, 0, 0}, {1375, 4896, 21760, 0, 0, 0, 0}, {4128, 5696, 16448, 0, 0, 0, 0}, {1370, 119, 597, 4369, 0, 0, 0}, {72, 546, 1024, 4096, 0, 0, 0}, {4883, 1360, 0, 0, 0, 0, 0}, {5228, 5700, 17476, 0, 0, 0, 0}, {4175, 4208, 4928, 5397, 0, 0, 0}, {5862, 7244, 13926, 20480, 0, 0, 0}, {280, 295, 535, 336, 1024, 4352, 0}, {72, 4192, 4608, 1024, 0, 0, 0}, {1370, 5654, 21845, 0, 0, 0, 0}, {5674, 12288, 4160, 0, 0, 0, 0}, {4891, 4403, 4420, 5140, 0, 0, 0}, {5708, 8224, 0, 0, 0, 0, 0}, {274, 4437, 1024, 0, 0, 0, 0}, {2048, 546, 5188, 0, 0, 0, 0}, {783, 816, 1360, 4112, 0, 0, 0}, {20720, 17920, 0, 0, 0, 0, 0}, {326, 1028, 4369, 0, 0, 0, 0}, {514, 5200, 0, 0, 0, 0, 0}, {780, 819, 1280, 4096, 0, 0, 0}, {72, 4208, 576, 1028, 0, 0, 0}, {1290, 5717, 21845, 0, 0, 0, 0}, {1542, 4176, 0, 0, 0, 0, 0}, {520, 119, 1280, 4352, 0, 0, 0}, {520, 5744, 17408, 0, 0, 0, 0}, {1290, 1333, 1542, 5461, 0, 0, 0}, {5722, 20560, 0, 0, 0, 0, 0}, {4403, 4608, 260, 0, 0, 0, 0}, {1548, 4144, 16384, 0, 0, 0, 0}, {1290, 4386, 514, 4437, 0, 0, 0}, {72, 514, 1028, 4112, 0, 0, 0}, {255, 4864, 1280, 0, 0, 0, 0}, {18432, 30464, 0, 0, 0, 0, 0}, {22, 80, 257, 0, 0, 0, 0}, {10, 32, 514, 5376, 0, 0, 0}, {60, 771, 17408, 0, 0, 0, 0}, {76, 13056, 1028, 0, 0, 0, 0}, {10, 4608, 80, 1285, 0, 0, 0}, {10, 102, 1542, 4352, 0, 0, 0}, {112, 1799, 16384, 0, 0, 0, 0}, {14088, 16384, 0, 0, 0, 0, 0}, {4403, 771, 4357, 0, 0, 0, 0}, {10, 5888, 21760, 0, 0, 0, 0}, {76, 112, 771, 1028, 0, 0, 0}, {204, 3084, 13056, 17408, 0, 0, 0}, {10, 32, 514, 80, 1285, 4096, 0}, {4354, 4420, 1028, 0, 0, 0, 0}, {18191, 12288, 0, 0, 0, 0, 0}, {32, 1792, 80, 4112, 0, 0, 0}, {3072, 102, 4369, 0, 0, 0, 0}, {90, 4626, 21760, 0, 0, 0, 0}, {76, 32, 4883, 1024, 0, 0, 0}, {60, 768, 80, 5140, 0, 0, 0}, {42, 8704, 5397, 0, 0, 0, 0}, {22, 1024, 4352, 0, 0, 0, 0}, {160, 5911, 0, 0, 0, 0, 0}, {5912, 12336, 80, 0, 0, 0, 0}, {4377, 4403, 4437, 1024, 0, 0, 0}, {5402, 5424, 1792, 5440, 0, 0, 0}, {5915, 6007, 17476, 0, 0, 0, 0}, {28, 32, 768, 80, 1024, 4096, 0}, {170, 7453, 8738, 21845, 0, 0, 0}, {4382, 4386, 768, 4420, 0, 0, 0}, {5919, 32, 16448, 0, 0, 0, 0}, {32, 5888, 16384, 0, 0, 0, 0}, {90, 102, 771, 4369, 0, 0, 0}, {170, 7458, 8738, 21760, 0, 0, 0}, {28, 32, 771, 80, 1040, 4112, 0}, {5960, 5924, 17476, 0, 0, 0, 0}, {5391, 5413, 4608, 5461, 0, 0, 0}, {1036, 1062, 1088, 4352, 0, 0, 0}, {3855, 5927, 80, 0, 0, 0, 0}, {5928, 24576, 0, 0, 0, 0, 0}, {22, 4437, 5397, 0, 0, 0, 0}, {42, 8704, 5376, 0, 0, 0, 0}, {60, 771, 80, 5140, 0, 0, 0}, {1036, 32, 4864, 1088, 0, 0, 0}, {90, 4642, 21845, 0, 0, 0, 0}, {3084, 4386, 4420, 0, 0, 0, 0}, {1807, 32, 80, 4096, 0, 0, 0}, {3840, 18224, 0, 0, 0, 0, 0}, {1026, 1092, 4369, 0, 0, 0, 0}, {10, 32, 514, 80, 1280, 4112, 0}, {204, 3072, 13107, 17408, 0, 0, 0}, {1032, 1076, 768, 1092, 0, 0, 0}, {10, 5941, 21845, 0, 0, 0, 0}, {10, 54, 768, 80, 1280, 4352, 0}, {128, 2056, 14135, 16448, 0, 0, 0}, {1800, 112, 16448, 0, 0, 0, 0}, {10, 4403, 1536, 4437, 0, 0, 0}, {10, 4656, 80, 1280, 0, 0, 0}, {1032, 13107, 1092, 0, 0, 0, 0}, {60, 768, 17408, 0, 0, 0, 0}, {10, 32, 514, 5397, 0, 0, 0}, {258, 276, 4096, 0, 0, 0, 0}, {30719, 16191, 0, 0, 0, 0, 0}, {128, 2048, 14144, 16448, 0, 0, 0}, {10, 54, 773, 80, 1285, 4369, 0}, {10, 5954, 21760, 0, 0, 0, 0}, {76, 112, 835, 1024, 0, 0, 0}, {204, 3072, 13056, 17476, 0, 0, 0}, {10, 32, 512, 80, 1285, 4112, 0}, {70, 1024, 4352, 0, 0, 0, 0}, {240, 18247, 0, 0, 0, 0, 0}, {30600, 18504, 0, 0, 0, 0, 0}, {275, 261, 4096, 0, 0, 0, 0}, {10, 32, 512, 5440, 0, 0, 0}, {783, 819, 17476, 0, 0, 0, 0}, {76, 13056, 1024, 0, 0, 0, 0}, {10, 4626, 80, 1285, 0, 0, 0}, {10, 4386, 1536, 4420, 0, 0, 0}, {1807, 112, 16448, 0, 0, 0, 0}, {5888, 80, 0, 0, 0, 0, 0}, {76, 102, 1028, 4369, 0, 0, 0}, {90, 112, 4690, 5376, 0, 0, 0}, {108, 5971, 17408, 0, 0, 0, 0}, {28, 32, 784, 80, 1028, 4112, 0}, {170, 7509, 8704, 21845, 0, 0, 0}, {90, 102, 854, 4352, 0, 0, 0}, {32, 5975, 16384, 0, 0, 0, 0}, {1800, 32, 80, 4096, 0, 0, 0}, {3084, 4403, 4437, 0, 0, 0, 0}, {90, 4608, 21760, 0, 0, 0, 0}, {76, 32, 4883, 1028, 0, 0, 0}, {780, 816, 80, 5120, 0, 0, 0}, {42, 8738, 5461, 0, 0, 0, 0}, {22, 4420, 1028, 0, 0, 0, 0}, {5983, 24576, 0, 0, 0, 0, 0}, {24320, 5984, 0, 0, 0, 0, 0}, {22, 1092, 4369, 0, 0, 0, 0}, {42, 8738, 5440, 0, 0, 0, 0}, {783, 819, 80, 5120, 0, 0, 0}, {1032, 32, 4864, 1092, 0, 0, 0}, {90, 4656, 21845, 0, 0, 0, 0}, {3072, 102, 4352, 0, 0, 0, 0}, {32, 1799, 80, 4112, 0, 0, 0}, {5960, 32, 16448, 0, 0, 0, 0}, {4367, 4403, 4608, 4437, 0, 0, 0}, {170, 7530, 8704, 21760, 0, 0, 0}, {28, 32, 787, 80, 1044, 4096, 0}, {108, 5888, 17408, 0, 0, 0, 0}, {90, 112, 4626, 5397, 0, 0, 0}, {4360, 4386, 4420, 5376, 0, 0, 0}, {5951, 12336, 80, 0, 0, 0, 0}, {112, 1792, 16384, 0, 0, 0, 0}, {10, 102, 1542, 4369, 0, 0, 0}, {10, 4642, 80, 1280, 0, 0, 0}, {1036, 13107, 1088, 0, 0, 0, 0}, {780, 816, 17476, 0, 0, 0, 0}, {10, 32, 512, 5461, 0, 0, 0}, {262, 1280, 272, 0, 0, 0, 0}, {18568, 30583, 0, 0, 0, 0, 0}, {18296, 12288, 0, 0, 0, 0, 0}, {4371, 4437, 5397, 0, 0, 0, 0}, {10, 32, 512, 80, 1280, 4096, 0}, {204, 3084, 13107, 17476, 0, 0, 0}, {1036, 1072, 1792, 1088, 0, 0, 0}, {10, 6007, 21845, 0, 0, 0, 0}, {4386, 4626, 4372, 0, 0, 0, 0}, {14207, 16384, 0, 0, 0, 0, 0}, {128, 2048, 14080, 16384, 0, 0, 0}, {10, 54, 771, 80, 1285, 4369, 0}, {10, 5922, 21760, 0, 0, 0, 0}, {1036, 1072, 771, 1088, 0, 0, 0}, {204, 3084, 13056, 17476, 0, 0, 0}, {10, 32, 512, 80, 1285, 4096, 0}, {1030, 1088, 4352, 0, 0, 0, 0}, {3855, 18295, 0, 0, 0, 0, 0}, {30600, 16128, 0, 0, 0, 0, 0}, {259, 277, 4112, 0, 0, 0, 0}, {10, 32, 512, 5376, 0, 0, 0}, {60, 771, 17476, 0, 0, 0, 0}, {1036, 13056, 1088, 0, 0, 0, 0}, {10, 4642, 80, 1285, 0, 0, 0}, {10, 4386, 1542, 4420, 0, 0, 0}, {1807, 112, 16384, 0, 0, 0, 0}, {3840, 5936, 80, 0, 0, 0, 0}, {1032, 1058, 1092, 4369, 0, 0, 0}, {5402, 5424, 4626, 5440, 0, 0, 0}, {5983, 5939, 17408, 0, 0, 0, 0}, {28, 32, 768, 80, 1044, 4096, 0}, {170, 7487, 8704, 21845, 0, 0, 0}, {90, 102, 768, 4352, 0, 0, 0}, {32, 5911, 16448, 0, 0, 0, 0}, {1800, 32, 80, 4112, 0, 0, 0}, {3072, 4403, 4437, 0, 0, 0, 0}, {90, 4656, 21760, 0, 0, 0, 0}, {1032, 32, 4883, 1092, 0, 0, 0}, {60, 768, 80, 5120, 0, 0, 0}, {42, 8738, 5397, 0, 0, 0, 0}, {22, 4420, 5376, 0, 0, 0, 0}, {5951, 24672, 0, 0, 0, 0, 0}, {160, 5888, 0, 0, 0, 0, 0}, {22, 1028, 4369, 0, 0, 0, 0}, {42, 8738, 5376, 0, 0, 0, 0}, {60, 771, 80, 5120, 0, 0, 0}, {76, 32, 4864, 1028, 0, 0, 0}, {90, 4608, 21845, 0, 0, 0, 0}, {3084, 102, 4352, 0, 0, 0, 0}, {32, 1799, 80, 4096, 0, 0, 0}, {5896, 32, 16384, 0, 0, 0, 0}, {4367, 4403, 771, 4437, 0, 0, 0}, {170, 7424, 8704, 21760, 0, 0, 0}, {28, 32, 771, 80, 1028, 4112, 0}, {5900, 5984, 17408, 0, 0, 0, 0}, {5391, 5413, 1799, 5461, 0, 0, 0}, {4360, 4386, 4420, 1028, 0, 0, 0}, {5903, 12288, 80, 0, 0, 0, 0}, {112, 1792, 16448, 0, 0, 0, 0}, {10, 102, 1536, 4369, 0, 0, 0}, {10, 4626, 80, 1280, 0, 0, 0}, {76, 13107, 1024, 0, 0, 0, 0}, {60, 768, 17476, 0, 0, 0, 0}, {10, 32, 512, 5397, 0, 0, 0}, {22, 80, 256, 0, 0, 0, 0}, {18504, 30583, 0, 0, 0, 0, 0}, {18248, 12336, 0, 0, 0, 0, 0}, {4371, 4437, 1024, 0, 0, 0, 0}, {10, 32, 512, 80, 1280, 4112, 0}, {204, 3072, 13107, 17476, 0, 0, 0}, {76, 112, 768, 1024, 0, 0, 0}, {10, 5911, 21845, 0, 0, 0, 0}, {4386, 768, 4372, 0, 0, 0, 0}, {14143, 16448, 0, 0, 0, 0, 0}, {18624, 30464, 0, 0, 0, 0, 0}, {263, 1285, 273, 0, 0, 0, 0}, {10, 32, 514, 5440, 0, 0, 0}, {783, 819, 17408, 0, 0, 0, 0}, {1032, 13056, 1092, 0, 0, 0, 0}, {10, 4656, 80, 1285, 0, 0, 0}, {10, 102, 1536, 4352, 0, 0, 0}, {112, 1799, 16448, 0, 0, 0, 0}, {14152, 16448, 0, 0, 0, 0, 0}, {4403, 4608, 4357, 0, 0, 0, 0}, {10, 5984, 21760, 0, 0, 0, 0}, {1032, 1076, 1799, 1092, 0, 0, 0}, {204, 3072, 13056, 17408, 0, 0, 0}, {10, 32, 514, 80, 1285, 4112, 0}, {4354, 4420, 5376, 0, 0, 0, 0}, {18239, 12336, 0, 0, 0, 0, 0}, {32, 1792, 80, 4096, 0, 0, 0}, {3084, 102, 4369, 0, 0, 0, 0}, {90, 4642, 21760, 0, 0, 0, 0}, {1036, 32, 4883, 1088, 0, 0, 0}, {780, 816, 80, 5140, 0, 0, 0}, {42, 8704, 5461, 0, 0, 0, 0}, {22, 1088, 4352, 0, 0, 0, 0}, {24415, 6007, 0, 0, 0, 0, 0}, {5928, 12288, 80, 0, 0, 0, 0}, {4377, 4403, 4437, 5397, 0, 0, 0}, {90, 112, 4608, 5376, 0, 0, 0}, {108, 5911, 17476, 0, 0, 0, 0}, {28, 32, 784, 80, 1040, 4112, 0}, {170, 7543, 8738, 21845, 0, 0, 0}, {4382, 4386, 4626, 4420, 0, 0, 0}, {5983, 32, 16384, 0, 0, 0, 0}, {32, 5952, 16448, 0, 0, 0, 0}, {90, 102, 853, 4369, 0, 0, 0}, {170, 7496, 8738, 21760, 0, 0, 0}, {28, 32, 787, 80, 1024, 4096, 0}, {108, 5956, 17476, 0, 0, 0, 0}, {90, 112, 4672, 5397, 0, 0, 0}, {76, 102, 1024, 4352, 0, 0, 0}, {5911, 80, 0, 0, 0, 0, 0}, {5960, 24672, 0, 0, 0, 0, 0}, {22, 4437, 1024, 0, 0, 0, 0}, {42, 8704, 5440, 0, 0, 0, 0}, {783, 819, 80, 5140, 0, 0, 0}, {76, 32, 4864, 1024, 0, 0, 0}, {90, 4626, 21845, 0, 0, 0, 0}, {3072, 4386, 4420, 0, 0, 0, 0}, {1807, 32, 80, 4112, 0, 0, 0}, {240, 18176, 0, 0, 0, 0, 0}, {70, 1028, 4369, 0, 0, 0, 0}, {10, 32, 514, 80, 1280, 4096, 0}, {204, 3084, 13107, 17408, 0, 0, 0}, {76, 112, 832, 1028, 0, 0, 0}, {10, 5973, 21845, 0, 0, 0, 0}, {10, 54, 774, 80, 1280, 4352, 0}, {128, 2056, 14199, 16384, 0, 0, 0}, {1800, 112, 16384, 0, 0, 0, 0}, {10, 4403, 1542, 4437, 0, 0, 0}, {10, 4608, 80, 1280, 0, 0, 0}, {76, 13107, 1028, 0, 0, 0, 0}, {780, 816, 17408, 0, 0, 0, 0}, {10, 32, 514, 5461, 0, 0, 0}, {274, 260, 4112, 0, 0, 0, 0}, {30719, 18432, 0, 0, 0, 0, 0}, {18432, 12288, 0, 0, 0, 0, 0}, {19, 85, 257, 0, 0, 0, 0}, {10, 32, 514, 4096, 0, 0, 0}, {51, 771, 17408, 0, 0, 0, 0}, {76, 12352, 1028, 0, 0, 0, 0}, {10, 4613, 85, 1285, 0, 0, 0}, {10, 102, 4614, 5120, 0, 0, 0}, {127, 1799, 16384, 0, 0, 0, 0}, {128, 2056, 12288, 16384, 0, 0, 0}, {10, 51, 771, 85, 1285, 4352, 0}, {10, 4608, 20480, 0, 0, 0, 0}, {76, 51, 771, 1028, 0, 0, 0}, {12300, 17408, 0, 0, 0, 0, 0}, {32, 514, 4101, 0, 0, 0, 0}, {4102, 4160, 1028, 0, 0, 0, 0}, {18191, 30464, 0, 0, 0, 0, 0}, {2048, 32, 4112, 0, 0, 0, 0}, {51, 768, 85, 4369, 0, 0, 0}, {170, 4626, 0, 0, 0, 0, 0}, {19, 1024, 4096, 0, 0, 0, 0}, {108, 12368, 5140, 0, 0, 0, 0}, {42, 4629, 85, 5397, 0, 0, 0}, {76, 102, 4630, 1024, 0, 0, 0}, {95, 5911, 20480, 0, 0, 0, 0}, {160, 6168, 12336, 20560, 0, 0, 0}, {25, 51, 768, 85, 1024, 4352, 0}, {4634, 4656, 16448, 0, 0, 0, 0}, {5147, 51, 768, 5188, 0, 0, 0}, {4124, 32, 4176, 1024, 0, 0, 0}, {4637, 8738, 85, 0, 0, 0, 0}, {4638, 102, 17476, 0, 0, 0, 0}, {4127, 32, 1792, 4160, 0, 0, 0}, {2048, 32, 4096, 0, 0, 0, 0}, {51, 771, 85, 4369, 0, 0, 0}, {23040, 4642, 0, 0, 0, 0, 0}, {19, 1088, 4112, 0, 0, 0, 0}, {5160, 9252, 5188, 0, 0, 0, 0}, {4623, 4645, 85, 5376, 0, 0, 0}, {1036, 1062, 5632, 1088, 0, 0, 0}, {95, 6007, 20560, 0, 0, 0, 0}, {160, 6184, 12288, 20480, 0, 0, 0}, {25, 51, 771, 85, 1045, 4352, 0}, {42, 4608, 16384, 0, 0, 0, 0}, {95, 51, 771, 5140, 0, 0, 0}, {4108, 32, 4160, 5120, 0, 0, 0}, {4653, 8738, 85, 0, 0, 0, 0}, {4680, 102, 17476, 0, 0, 0, 0}, {4111, 32, 5888, 4176, 0, 0, 0}, {18624, 12336, 0, 0, 0, 0, 0}, {258, 1280, 273, 0, 0, 0, 0}, {10, 32, 514, 4112, 0, 0, 0}, {51, 768, 17408, 0, 0, 0, 0}, {1032, 13364, 1092, 0, 0, 0, 0}, {10, 4661, 85, 1280, 0, 0, 0}, {10, 5174, 1536, 5200, 0, 0, 0}, {1800, 1911, 16448, 0, 0, 0, 0}, {128, 2056, 12336, 16448, 0, 0, 0}, {10, 51, 768, 85, 1280, 4352, 0}, {10, 4656, 20560, 0, 0, 0, 0}, {1032, 51, 768, 1092, 0, 0, 0}, {12348, 17408, 0, 0, 0, 0, 0}, {32, 514, 4117, 0, 0, 0, 0}, {4118, 4176, 5140, 0, 0, 0, 0}, {18239, 30464, 0, 0, 0, 0, 0}, {128, 2048, 12352, 16448, 0, 0, 0}, {10, 51, 773, 85, 1285, 4369, 0}, {10, 4674, 20480, 0, 0, 0, 0}, {76, 51, 835, 1024, 0, 0, 0}, {204, 3072, 12288, 17476, 0, 0, 0}, {10, 32, 512, 85, 1285, 4112, 0}, {70, 1024, 4096, 0, 0, 0, 0}, {255, 18247, 0, 0, 0, 0, 0}, {12480, 18504, 0, 0, 0, 0, 0}, {19, 261, 4352, 0, 0, 0, 0}, {10, 32, 512, 4160, 0, 0, 0}, {783, 51, 17476, 0, 0, 0, 0}, {76, 12288, 1024, 0, 0, 0, 0}, {10, 4626, 85, 1285, 0, 0, 0}, {10, 5154, 1536, 5188, 0, 0, 0}, {1807, 1904, 16448, 0, 0, 0, 0}, {160, 6224, 12368, 20560, 0, 0, 0}, {25, 51, 789, 85, 1028, 4369, 0}, {42, 4690, 16384, 0, 0, 0, 0}, {95, 51, 851, 5120, 0, 0, 0}, {76, 32, 1028, 4112, 0, 0, 0}, {4608, 85, 0, 0, 0, 0, 0}, {102, 4694, 17408, 0, 0, 0, 0}, {95, 32, 1879, 4096, 0, 0, 0}, {2056, 32, 4176, 0, 0, 0, 0}, {780, 51, 85, 4352, 0, 0, 0}, {4698, 8704, 0, 0, 0, 0, 0}, {19, 4160, 1028, 0, 0, 0, 0}, {5180, 12336, 5200, 0, 0, 0, 0}, {4616, 4642, 85, 5376, 0, 0, 0}, {76, 102, 4626, 1028, 0, 0, 0}, {95, 5888, 20480, 0, 0, 0, 0}, {160, 6240, 12384, 20480, 0, 0, 0}, {25, 51, 790, 85, 1041, 4369, 0}, {4680, 4706, 16448, 0, 0, 0, 0}, {5135, 51, 5888, 5200, 0, 0, 0}, {1032, 32, 1092, 4096, 0, 0, 0}, {3855, 4656, 85, 0, 0, 0, 0}, {102, 4608, 17408, 0, 0, 0, 0}, {95, 32, 1799, 4112, 0, 0, 0}, {2056, 32, 4160, 0, 0, 0, 0}, {783, 51, 85, 4352, 0, 0, 0}, {4714, 8704, 0, 0, 0, 0, 0}, {19, 4176, 5140, 0, 0, 0, 0}, {108, 12288, 5120, 0, 0, 0, 0}, {42, 4626, 85, 5397, 0, 0, 0}, {1032, 1058, 5632, 1092, 0, 0, 0}, {95, 5984, 20560, 0, 0, 0, 0}, {128, 2048, 12400, 16384, 0, 0, 0}, {10, 51, 774, 85, 1280, 4369, 0}, {10, 4722, 20560, 0, 0, 0, 0}, {1036, 51, 1792, 1088, 0, 0, 0}, {204, 3084, 12336, 17476, 0, 0, 0}, {10, 32, 512, 85, 1280, 4096, 0}, {1030, 1088, 4112, 0, 0, 0, 0}, {3840, 18295, 0, 0, 0, 0, 0}, {12528, 30840, 0, 0, 0, 0, 0}, {19, 277, 4352, 0, 0, 0, 0}, {10, 32, 512, 4176, 0, 0, 0}, {780, 51, 17476, 0, 0, 0, 0}, {1036, 12336, 1088, 0, 0, 0, 0}, {10, 4642, 85, 1280, 0, 0, 0}, {10, 102, 4626, 5140, 0, 0, 0}, {127, 1792, 16384, 0, 0, 0, 0}, {128, 2048, 12288, 16384, 0, 0, 0}, {10, 51, 771, 85, 1285, 4369, 0}, {10, 4642, 20480, 0, 0, 0, 0}, {1036, 51, 771, 1088, 0, 0, 0}, {12300, 17476, 0, 0, 0, 0, 0}, {32, 512, 4101, 0, 0, 0, 0}, {4102, 4160, 5120, 0, 0, 0, 0}, {18296, 30583, 0, 0, 0, 0, 0}, {18568, 12288, 0, 0, 0, 0, 0}, {259, 1285, 272, 0, 0, 0, 0}, {10, 32, 512, 4096, 0, 0, 0}, {51, 771, 17476, 0, 0, 0, 0}, {1036, 13312, 1088, 0, 0, 0, 0}, {10, 4647, 85, 1285, 0, 0, 0}, {10, 5154, 1542, 5188, 0, 0, 0}, {1807, 1904, 16384, 0, 0, 0, 0}, {160, 6192, 12336, 20560, 0, 0, 0}, {25, 51, 768, 85, 1041, 4369, 0}, {42, 4626, 16448, 0, 0, 0, 0}, {95, 51, 768, 5120, 0, 0, 0}, {4124, 32, 4176, 5140, 0, 0, 0}, {4671, 8704, 85, 0, 0, 0, 0}, {4698, 102, 17408, 0, 0, 0, 0}, {4127, 32, 5911, 4160, 0, 0, 0}, {2056, 32, 4112, 0, 0, 0, 0}, {51, 768, 85, 4352, 0, 0, 0}, {23130, 4656, 0, 0, 0, 0, 0}, {19, 1092, 4096, 0, 0, 0, 0}, {5180, 9216, 5200, 0, 0, 0, 0}, {4637, 4663, 85, 5397, 0, 0, 0}, {1032, 1058, 5654, 1092, 0, 0, 0}, {95, 5984, 20480, 0, 0, 0, 0}, {160, 6144, 12288, 20480, 0, 0, 0}, {25, 51, 771, 85, 1028, 4369, 0}, {4616, 4642, 16384, 0, 0, 0, 0}, {5135, 51, 771, 5200, 0, 0, 0}, {4108, 32, 4160, 1028, 0, 0, 0}, {4623, 8704, 85, 0, 0, 0, 0}, {4620, 102, 17408, 0, 0, 0, 0}, {4111, 32, 1799, 4176, 0, 0, 0}, {2056, 32, 4096, 0, 0, 0, 0}, {51, 771, 85, 4352, 0, 0, 0}, {170, 4608, 0, 0, 0, 0, 0}, {19, 1028, 4112, 0, 0, 0, 0}, {108, 12384, 5120, 0, 0, 0, 0}, {42, 4615, 85, 5376, 0, 0, 0}, {76, 102, 4612, 1028, 0, 0, 0}, {95, 5888, 20560, 0, 0, 0, 0}, {128, 2048, 12336, 16448, 0, 0, 0}, {10, 51, 768, 85, 1280, 4369, 0}, {10, 4626, 20560, 0, 0, 0, 0}, {76, 51, 768, 1024, 0, 0, 0}, {12348, 17476, 0, 0, 0, 0, 0}, {32, 512, 4117, 0, 0, 0, 0}, {4118, 4176, 1024, 0, 0, 0, 0}, {18248, 30583, 0, 0, 0, 0, 0}, {18504, 12336, 0, 0, 0, 0, 0}, {19, 85, 256, 0, 0, 0, 0}, {10, 32, 512, 4112, 0, 0, 0}, {51, 768, 17476, 0, 0, 0, 0}, {76, 12400, 1024, 0, 0, 0, 0}, {10, 4631, 85, 1280, 0, 0, 0}, {10, 102, 4628, 5140, 0, 0, 0}, {127, 1792, 16448, 0, 0, 0, 0}, {12480, 30720, 0, 0, 0, 0, 0}, {19, 276, 4369, 0, 0, 0, 0}, {10, 32, 514, 4160, 0, 0, 0}, {783, 51, 17408, 0, 0, 0, 0}, {1032, 12288, 1092, 0, 0, 0, 0}, {10, 4656, 85, 1285, 0, 0, 0}, {10, 102, 4608, 5120, 0, 0, 0}, {127, 1799, 16448, 0, 0, 0, 0}, {128, 2056, 12352, 16448, 0, 0, 0}, {10, 51, 773, 85, 1285, 4352, 0}, {10, 4704, 20480, 0, 0, 0, 0}, {1032, 51, 1799, 1092, 0, 0, 0}, {204, 3072, 12288, 17408, 0, 0, 0}, {10, 32, 514, 85, 1285, 4112, 0}, {1026, 1092, 4096, 0, 0, 0, 0}, {3855, 18224, 0, 0, 0, 0, 0}, {2048, 32, 4176, 0, 0, 0, 0}, {780, 51, 85, 4369, 0, 0, 0}, {4728, 8738, 0, 0, 0, 0, 0}, {19, 4160, 5120, 0, 0, 0, 0}, {108, 12336, 5140, 0, 0, 0, 0}, {42, 4608, 85, 5376, 0, 0, 0}, {1036, 1062, 5654, 1088, 0, 0, 0}, {95, 6007, 20480, 0, 0, 0, 0}, {160, 6264, 12368, 20560, 0, 0, 0}, {25, 51, 789, 85, 1045, 4352, 0}, {4698, 4720, 16384, 0, 0, 0, 0}, {5147, 51, 5911, 5188, 0, 0, 0}, {1036, 32, 1088, 4112, 0, 0, 0}, {3840, 4642, 85, 0, 0, 0, 0}, {102, 4626, 17476, 0, 0, 0, 0}, {95, 32, 1792, 4096, 0, 0, 0}, {2048, 32, 4160, 0, 0, 0, 0}, {783, 51, 85, 4369, 0, 0, 0}, {4680, 8738, 0, 0, 0, 0, 0}, {19, 4176, 1024, 0, 0, 0, 0}, {5160, 12288, 5188, 0, 0, 0, 0}, {4634, 4656, 85, 5397, 0, 0, 0}, {76, 102, 4608, 1024, 0, 0, 0}, {95, 5911, 20560, 0, 0, 0, 0}, {160, 6216, 12384, 20480, 0, 0, 0}, {25, 51, 790, 85, 1024, 4352, 0}, {42, 4672, 16448, 0, 0, 0, 0}, {95, 51, 848, 5140, 0, 0, 0}, {76, 32, 1024, 4096, 0, 0, 0}, {4626, 85, 0, 0, 0, 0, 0}, {102, 4676, 17476, 0, 0, 0, 0}, {95, 32, 1872, 4112, 0, 0, 0}, {12528, 18432, 0, 0, 0, 0, 0}, {19, 260, 4369, 0, 0, 0, 0}, {10, 32, 514, 4176, 0, 0, 0}, {780, 51, 17408, 0, 0, 0, 0}, {76, 12336, 1028, 0, 0, 0, 0}, {10, 4608, 85, 1280, 0, 0, 0}, {10, 5174, 1542, 5200, 0, 0, 0}, {1800, 1911, 16384, 0, 0, 0, 0}, {128, 2056, 12400, 16384, 0, 0, 0}, {10, 51, 774, 85, 1280, 4352, 0}, {10, 4688, 20560, 0, 0, 0, 0}, {76, 51, 832, 1028, 0, 0, 0}, {204, 3084, 12336, 17408, 0, 0, 0}, {10, 32, 514, 85, 1280, 4096, 0}, {70, 1028, 4112, 0, 0, 0, 0}, {255, 18176, 0, 0, 0, 0, 0}, {4864, 21760, 0, 0, 0, 0, 0}, {72, 48, 257, 0, 0, 0, 0}, {4386, 514, 17408, 0, 0, 0, 0}, {1295, 48, 771, 4096, 0, 0, 0}, {4364, 4868, 4420, 1028, 0, 0, 0}, {4959, 8272, 1285, 0, 0, 0, 0}, {5482, 1542, 16384, 0, 0, 0, 0}, {4367, 4471, 4871, 5120, 0, 0, 0}, {520, 4352, 0, 0, 0, 0, 0}, {48, 771, 4176, 1285, 0, 0, 0}, {17930, 13056, 0, 0, 0, 0, 0}, {4355, 4160, 1028, 0, 0, 0, 0}, {4876, 8192, 5376, 0, 0, 0, 0}, {4397, 514, 4437, 1285, 0, 0, 0}, {72, 4454, 514, 1028, 0, 0, 0}, {1295, 5632, 20480, 0, 0, 0, 0}, {48, 768, 1360, 4112, 0, 0, 0}, {2048, 546, 4369, 0, 0, 0, 0}, {274, 1024, 4096, 0, 0, 0, 0}, {22015, 4883, 0, 0, 0, 0, 0}, {4412, 4884, 4420, 5140, 0, 0, 0}, {4991, 8256, 5397, 0, 0, 0, 0}, {1370, 5654, 20480, 0, 0, 0, 0}, {72, 4471, 4887, 1024, 0, 0, 0}, {280, 48, 768, 336, 1024, 4352, 0}, {5043, 6425, 13107, 21845, 0, 0, 0}, {5402, 48, 768, 4160, 0, 0, 0}, {4891, 4403, 17476, 0, 0, 0, 0}, {4892, 8224, 1360, 0, 0, 0, 0}, {4381, 546, 4437, 1024, 0, 0, 0}, {4382, 1314, 1792, 5188, 0, 0, 0}, {4895, 1632, 16448, 0, 0, 0, 0}, {4896, 21760, 0, 0, 0, 0, 0}, {1036, 771, 273, 0, 0, 0, 0}, {4386, 4864, 17408, 0, 0, 0, 0}, {1375, 48, 771, 4112, 0, 0, 0}, {4364, 4900, 4420, 5376, 0, 0, 0}, {5674, 9509, 1365, 0, 0, 0, 0}, {4940, 1638, 16448, 0, 0, 0, 0}, {4367, 1319, 5632, 5200, 0, 0, 0}, {552, 4352, 0, 0, 0, 0, 0}, {48, 771, 4160, 5397, 0, 0, 0}, {17962, 13056, 0, 0, 0, 0, 0}, {4355, 4176, 5140, 0, 0, 0, 0}, {4908, 8224, 5440, 0, 0, 0, 0}, {4879, 546, 4437, 5120, 0, 0, 0}, {1036, 5410, 5888, 1092, 0, 0, 0}, {1375, 5744, 20560, 0, 0, 0, 0}, {48, 768, 1280, 4096, 0, 0, 0}, {136, 514, 4369, 0, 0, 0, 0}, {258, 1088, 4112, 0, 0, 0, 0}, {2560, 4915, 0, 0, 0, 0, 0}, {520, 4916, 4420, 1280, 0, 0, 0}, {1546, 13621, 5461, 0, 0, 0, 0}, {1290, 5734, 20560, 0, 0, 0, 0}, {1032, 5431, 1536, 1088, 0, 0, 0}, {264, 48, 768, 320, 1280, 4352, 0}, {5011, 2570, 13107, 21845, 0, 0, 0}, {1290, 48, 768, 4176, 0, 0, 0}, {520, 4403, 17476, 0, 0, 0, 0}, {4924, 8192, 1280, 0, 0, 0, 0}, {4381, 514, 4437, 5397, 0, 0, 0}, {4382, 4454, 514, 5140, 0, 0, 0}, {5439, 1536, 16384, 0, 0, 0, 0}, {1536, 5440, 0, 0, 0, 0, 0}, {522, 626, 1285, 4369, 0, 0, 0}, {72, 4386, 578, 1024, 0, 0, 0}, {1295, 4931, 20480, 0, 0, 0, 0}, {512, 4420, 0, 0, 0, 0, 0}, {783, 48, 1285, 4112, 0, 0, 0}, {21930, 17990, 0, 0, 0, 0, 0}, {327, 1024, 4096, 0, 0, 0, 0}, {72, 512, 1024, 4352, 0, 0, 0}, {240, 4883, 1285, 0, 0, 0, 0}, {1546, 4896, 16448, 0, 0, 0, 0}, {1295, 4403, 512, 5188, 0, 0, 0}, {4940, 21760, 0, 0, 0, 0, 0}, {48, 4626, 261, 0, 0, 0, 0}, {522, 4454, 17476, 0, 0, 0, 0}, {1295, 48, 1536, 4160, 0, 0, 0}, {5632, 1360, 0, 0, 0, 0, 0}, {72, 610, 1028, 4369, 0, 0, 0}, {4442, 4386, 594, 5120, 0, 0, 0}, {5439, 4947, 16384, 0, 0, 0, 0}, {284, 48, 528, 340, 1028, 4112, 0}, {5119, 6485, 8192, 21845, 0, 0, 0}, {1370, 48, 1622, 4096, 0, 0, 0}, {4471, 4951, 17408, 0, 0, 0, 0}, {1800, 544, 1360, 4352, 0, 0, 0}, {3084, 4915, 5461, 0, 0, 0, 0}, {1370, 4864, 20480, 0, 0, 0, 0}, {72, 4403, 4883, 1028, 0, 0, 0}, {780, 48, 4176, 5376, 0, 0, 0}, {554, 8738, 4437, 0, 0, 0, 0}, {278, 4160, 1028, 0, 0, 0, 0}, {4959, 26112, 0, 0, 0, 0, 0}, {4960, 5376, 0, 0, 0, 0, 0}, {1325, 1799, 1365, 4369, 0, 0, 0}, {1032, 4386, 5888, 1088, 0, 0, 0}, {1375, 4963, 20560, 0, 0, 0, 0}, {2056, 544, 4420, 0, 0, 0, 0}, {783, 48, 1365, 4096, 0, 0, 0}, {24320, 18022, 0, 0, 0, 0, 0}, {1303, 1088, 4112, 0, 0, 0, 0}, {1032, 544, 1088, 4352, 0, 0, 0}, {3855, 4915, 1365, 0, 0, 0, 0}, {5482, 4864, 16384, 0, 0, 0, 0}, {4427, 4403, 4883, 5140, 0, 0, 0}, {4972, 21760, 0, 0, 0, 0, 0}, {48, 4626, 277, 0, 0, 0, 0}, {4940, 4454, 17476, 0, 0, 0, 0}, {5391, 48, 5632, 4176, 0, 0, 0}, {4976, 1280, 0, 0, 0, 0, 0}, {1036, 1542, 1092, 4369, 0, 0, 0}, {1290, 4386, 1792, 5200, 0, 0, 0}, {1548, 4979, 16448, 0, 0, 0, 0}, {268, 48, 512, 324, 1280, 4096, 0}, {5087, 2570, 8224, 21845, 0, 0, 0}, {1290, 48, 1542, 4112, 0, 0, 0}, {4471, 512, 17408, 0, 0, 0, 0}, {120, 512, 1280, 4352, 0, 0, 0}, {192, 4883, 5397, 0, 0, 0, 0}, {1290, 4896, 20560, 0, 0, 0, 0}, {1036, 4403, 512, 1092, 0, 0, 0}, {780, 48, 4160, 1280, 0, 0, 0}, {522, 8738, 4437, 0, 0, 0, 0}, {262, 4176, 5140, 0, 0, 0, 0}, {4991, 26112, 0, 0, 0, 0, 0}, {4992, 2560, 13056, 21760, 0, 0, 0}, {265, 48, 771, 321, 1285, 4369, 0}, {522, 4386, 17408, 0, 0, 0, 0}, {1295, 48, 771, 4160, 0, 0, 0}, {4364, 512, 4420, 5376, 0, 0, 0}, {4911, 8224, 1285, 0, 0, 0, 0}, {5418, 1542, 16448, 0, 0, 0, 0}, {4367, 4471, 512, 5120, 0, 0, 0}, {136, 512, 4352, 0, 0, 0, 0}, {48, 771, 1285, 4112, 0, 0, 0}, {2570, 4896, 0, 0, 0, 0, 0}, {259, 1092, 4096, 0, 0, 0, 0}, {1548, 13568, 5440, 0, 0, 0, 0}, {522, 4903, 4437, 1285, 0, 0, 0}, {1036, 5410, 1542, 1092, 0, 0, 0}, {1295, 5744, 20480, 0, 0, 0, 0}, {48, 768, 4176, 5376, 0, 0, 0}, {554, 4369, 0, 0, 0, 0, 0}, {4370, 4160, 5120, 0, 0, 0, 0}, {18028, 13107, 0, 0, 0, 0, 0}, {4892, 544, 4420, 5140, 0, 0, 0}, {4927, 8192, 5461, 0, 0, 0, 0}, {1370, 5734, 20480, 0, 0, 0, 0}, {1032, 5431, 5911, 1088, 0, 0, 0}, {1032, 768, 272, 0, 0, 0, 0}, {4915, 21845, 0, 0, 0, 0, 0}, {1370, 48, 768, 4096, 0, 0, 0}, {4403, 4883, 17476, 0, 0, 0, 0}, {5692, 9472, 1360, 0, 0, 0, 0}, {4381, 4919, 4437, 5397, 0, 0, 0}, {4382, 1314, 5654, 5188, 0, 0, 0}, {4959, 1632, 16384, 0, 0, 0, 0}, {5024, 6400, 13056, 21760, 0, 0, 0}, {281, 48, 771, 337, 1028, 4369, 0}, {4872, 4386, 17408, 0, 0, 0, 0}, {5391, 48, 771, 4176, 0, 0, 0}, {4364, 544, 4420, 1028, 0, 0, 0}, {4879, 8192, 1365, 0, 0, 0, 0}, {4876, 1638, 16384, 0, 0, 0, 0}, {4367, 1319, 1799, 5200, 0, 0, 0}, {2056, 544, 4352, 0, 0, 0, 0}, {48, 771, 1365, 4096, 0, 0, 0}, {21930, 4864, 0, 0, 0, 0, 0}, {275, 1028, 4112, 0, 0, 0, 0}, {4972, 8288, 5376, 0, 0, 0, 0}, {4397, 4871, 4437, 5120, 0, 0, 0}, {72, 4454, 4868, 1028, 0, 0, 0}, {1375, 5632, 20560, 0, 0, 0, 0}, {48, 768, 4160, 1280, 0, 0, 0}, {522, 4369, 0, 0, 0, 0, 0}, {4370, 4176, 1024, 0, 0, 0, 0}, {17996, 13107, 0, 0, 0, 0, 0}, {4412, 512, 4420, 1280, 0, 0, 0}, {4895, 8224, 5397, 0, 0, 0, 0}, {1290, 5654, 20560, 0, 0, 0, 0}, {72, 4471, 512, 1024, 0, 0, 0}, {72, 48, 256, 0, 0, 0, 0}, {4883, 21845, 0, 0, 0, 0, 0}, {1290, 48, 768, 4112, 0, 0, 0}, {4403, 512, 17476, 0, 0, 0, 0}, {4940, 8304, 1280, 0, 0, 0, 0}, {4381, 4887, 4437, 1024, 0, 0, 0}, {4382, 4454, 4884, 5140, 0, 0, 0}, {5503, 1536, 16448, 0, 0, 0, 0}, {192, 4864, 5376, 0, 0, 0, 0}, {120, 514, 1285, 4369, 0, 0, 0}, {1032, 4386, 514, 1088, 0, 0, 0}, {1295, 4915, 20480, 0, 0, 0, 0}, {520, 8704, 4420, 0, 0, 0, 0}, {783, 48, 4176, 1285, 0, 0, 0}, {4972, 26214, 0, 0, 0, 0, 0}, {263, 4160, 5120, 0, 0, 0, 0}, {1032, 1536, 1088, 4352, 0, 0, 0}, {4963, 1285, 0, 0, 0, 0, 0}, {1546, 4960, 16384, 0, 0, 0, 0}, {1295, 4403, 1799, 5188, 0, 0, 0}, {5068, 2560, 8192, 21760, 0, 0, 0}, {269, 48, 514, 325, 1285, 4112, 0}, {4454, 514, 17476, 0, 0, 0, 0}, {1295, 48, 1536, 4096, 0, 0, 0}, {3840, 4896, 1360, 0, 0, 0, 0}, {1036, 546, 1092, 4369, 0, 0, 0}, {4442, 4386, 4864, 5120, 0, 0, 0}, {5503, 4883, 16448, 0, 0, 0, 0}, {48, 4608, 276, 0, 0, 0, 0}, {4991, 21845, 0, 0, 0, 0, 0}, {5402, 48, 5654, 4160, 0, 0, 0}, {4959, 4471, 17408, 0, 0, 0, 0}, {1320, 1792, 1360, 4352, 0, 0, 0}, {4979, 5397, 0, 0, 0, 0, 0}, {1370, 4976, 20480, 0, 0, 0, 0}, {1036, 4403, 5911, 1092, 0, 0, 0}, {780, 48, 1360, 4112, 0, 0, 0}, {2048, 546, 4437, 0, 0, 0, 0}, {1298, 1092, 4096, 0, 0, 0, 0}, {24415, 17952, 0, 0, 0, 0, 0}, {3072, 4896, 5440, 0, 0, 0, 0}, {1807, 546, 1365, 4369, 0, 0, 0}, {72, 4386, 4864, 1024, 0, 0, 0}, {1375, 4883, 20560, 0, 0, 0, 0}, {552, 8704, 4420, 0, 0, 0, 0}, {783, 48, 4160, 5397, 0, 0, 0}, {4940, 26214, 0, 0, 0, 0, 0}, {279, 4176, 1024, 0, 0, 0, 0}, {72, 608, 1024, 4352, 0, 0, 0}, {5654, 1365, 0, 0, 0, 0, 0}, {5418, 4928, 16448, 0, 0, 0, 0}, {4427, 4403, 592, 5140, 0, 0, 0}, {5100, 6476, 8224, 21760, 0, 0, 0}, {285, 48, 530, 341, 1024, 4096, 0}, {4454, 4932, 17476, 0, 0, 0, 0}, {1375, 48, 1616, 4112, 0, 0, 0}, {240, 4864, 1280, 0, 0, 0, 0}, {72, 514, 1028, 4369, 0, 0, 0}, {1290, 4386, 514, 5200, 0, 0, 0}, {1548, 4915, 16384, 0, 0, 0, 0}, {48, 4608, 260, 0, 0, 0, 0}, {4959, 21845, 0, 0, 0, 0, 0}, {1290, 48, 1542, 4176, 0, 0, 0}, {520, 4471, 17408, 0, 0, 0, 0}, {520, 624, 1280, 4352, 0, 0, 0}, {1542, 5461, 0, 0, 0, 0, 0}, {1290, 4944, 20560, 0, 0, 0, 0}, {72, 4403, 576, 1028, 0, 0, 0}, {780, 48, 1280, 4096, 0, 0, 0}, {514, 4437, 0, 0, 0, 0, 0}, {326, 1028, 4112, 0, 0, 0, 0}, {22015, 17920, 0, 0, 0, 0, 0}, {2560, 4096, 0, 0, 0, 0, 0}, {51, 68, 257, 0, 0, 0, 0}, {16392, 4128, 514, 0, 0, 0, 0}, {4099, 21760, 0, 0, 0, 0, 0}, {8704, 4100, 0, 0, 0, 0, 0}, {12303, 4176, 1285, 0, 0, 0, 0}, {16396, 4192, 1542, 0, 0, 0, 0}, {4103, 21760, 0, 0, 0, 0, 0}, {4104, 4608, 20480, 0, 0, 0, 0}, {4188, 51, 771, 1285, 0, 0, 0}, {4256, 2570, 12288, 16384, 0, 0, 0}, {267, 51, 771, 68, 1028, 4352, 0}, {4108, 5632, 20480, 0, 0, 0, 0}, {4184, 119, 514, 1285, 0, 0, 0}, {4140, 514, 68, 1028, 0, 0, 0}, {4111, 8192, 5376, 0, 0, 0, 0}, {2720, 4112, 0, 0, 0, 0, 0}, {768, 1024, 273, 0, 0, 0, 0}, {16456, 4144, 4626, 0, 0, 0, 0}, {4115, 21760, 0, 0, 0, 0, 0}, {8704, 4116, 0, 0, 0, 0, 0}, {12351, 4160, 5397, 0, 0, 0, 0}, {16460, 4208, 5654, 0, 0, 0, 0}, {4119, 21760, 0, 0, 0, 0, 0}, {4120, 4656, 20560, 0, 0, 0, 0}, {5401, 51, 768, 1365, 0, 0, 0}, {4272, 6682, 12336, 16448, 0, 0, 0}, {283, 51, 768, 68, 1024, 4352, 0}, {4124, 5744, 20560, 0, 0, 0, 0}, {5405, 1314, 1792, 1365, 0, 0, 0}, {4638, 546, 68, 1024, 0, 0, 0}, {4127, 8224, 5440, 0, 0, 0, 0}, {23040, 4128, 0, 0, 0, 0, 0}, {274, 68, 4369, 0, 0, 0, 0}, {2048, 546, 4096, 0, 0, 0, 0}, {51, 771, 1360, 4112, 0, 0, 0}, {1036, 4132, 5632, 68, 0, 0, 0}, {1370, 4208, 21845, 0, 0, 0, 0}, {5674, 9766, 4160, 0, 0, 0, 0}, {4623, 4135, 4176, 5376, 0, 0, 0}, {4136, 4608, 16384, 0, 0, 0, 0}, {4175, 51, 771, 5397, 0, 0, 0}, {4224, 6698, 12288, 20480, 0, 0, 0}, {280, 51, 771, 68, 1300, 4352, 0}, {5708, 1632, 16448, 0, 0, 0, 0}, {4111, 5410, 5888, 5461, 0, 0, 0}, {4108, 546, 68, 5120, 0, 0, 0}, {4143, 8224, 1360, 0, 0, 0, 0}, {2560, 4144, 0, 0, 0, 0, 0}, {258, 68, 4369, 0, 0, 0, 0}, {136, 514, 4112, 0, 0, 0, 0}, {51, 768, 1280, 4096, 0, 0, 0}, {1032, 4148, 1536, 68, 0, 0, 0}, {1290, 4192, 21845, 0, 0, 0, 0}, {1546, 13878, 4176, 0, 0, 0, 0}, {520, 4151, 4160, 1280, 0, 0, 0}, {520, 4656, 16448, 0, 0, 0, 0}, {1290, 51, 768, 5461, 0, 0, 0}, {4240, 2570, 12336, 20560, 0, 0, 0}, {264, 51, 768, 68, 1280, 4352, 0}, {4156, 1536, 16384, 0, 0, 0, 0}, {4127, 119, 514, 5397, 0, 0, 0}, {4124, 514, 68, 5140, 0, 0, 0}, {4159, 8192, 1280, 0, 0, 0, 0}, {2560, 4160, 0, 0, 0, 0, 0}, {51, 261, 4369, 0, 0, 0, 0}, {16456, 4192, 16962, 0, 0, 0, 0}, {4163, 21760, 0, 0, 0, 0, 0}, {512, 68, 1024, 4096, 0, 0, 0}, {255, 1285, 4112, 0, 0, 0, 0}, {16460, 4128, 17990, 0, 0, 0, 0}, {4167, 21760, 0, 0, 0, 0, 0}, {4168, 512, 20480, 0, 0, 0, 0}, {4124, 51, 4883, 1285, 0, 0, 0}, {4320, 2570, 8224, 16448, 0, 0, 0}, {271, 51, 512, 68, 1024, 4352, 0}, {4172, 1536, 20480, 0, 0, 0, 0}, {4120, 119, 4626, 1285, 0, 0, 0}, {522, 4642, 68, 1024, 0, 0, 0}, {1295, 12336, 5440, 0, 0, 0, 0}, {10752, 4176, 0, 0, 0, 0, 0}, {51, 277, 4369, 0, 0, 0, 0}, {16392, 4208, 21074, 0, 0, 0, 0}, {4179, 21760, 0, 0, 0, 0, 0}, {544, 68, 1028, 4112, 0, 0, 0}, {3840, 1365, 4096, 0, 0, 0, 0}, {16396, 4144, 22102, 0, 0, 0, 0}, {4183, 21760, 0, 0, 0, 0, 0}, {4184, 544, 20560, 0, 0, 0, 0}, {4108, 51, 4864, 1365, 0, 0, 0}, {4336, 6746, 8192, 16384, 0, 0, 0}, {287, 51, 531, 68, 1028, 4352, 0}, {4188, 1632, 20560, 0, 0, 0, 0}, {4104, 1314, 5888, 1365, 0, 0, 0}, {4152, 4626, 68, 1028, 0, 0, 0}, {4191, 12288, 5376, 0, 0, 0, 0}, {23040, 4192, 0, 0, 0, 0, 0}, {278, 68, 4369, 0, 0, 0, 0}, {554, 8738, 4160, 0, 0, 0, 0}, {783, 51, 4176, 5376, 0, 0, 0}, {1032, 4128, 4608, 68, 0, 0, 0}, {1370, 4144, 21845, 0, 0, 0, 0}, {3072, 1638, 4096, 0, 0, 0, 0}, {1319, 1799, 1360, 4112, 0, 0, 0}, {4680, 544, 16448, 0, 0, 0, 0}, {4111, 51, 4864, 5461, 0, 0, 0}, {4288, 6762, 8192, 20480, 0, 0, 0}, {284, 51, 531, 68, 1300, 4352, 0}, {4204, 5632, 16384, 0, 0, 0, 0}, {4175, 119, 4626, 5397, 0, 0, 0}, {4104, 4642, 68, 5120, 0, 0, 0}, {5439, 12336, 1360, 0, 0, 0, 0}, {2560, 4208, 0, 0, 0, 0, 0}, {262, 68, 4369, 0, 0, 0, 0}, {522, 8738, 4176, 0, 0, 0, 0}, {780, 51, 4160, 1280, 0, 0, 0}, {1036, 4144, 512, 68, 0, 0, 0}, {1290, 4128, 21845, 0, 0, 0, 0}, {204, 1542, 4112, 0, 0, 0, 0}, {119, 512, 1280, 4096, 0, 0, 0}, {4216, 512, 16384, 0, 0, 0, 0}, {4127, 51, 4883, 5397, 0, 0, 0}, {4304, 2570, 8224, 20560, 0, 0, 0}, {268, 51, 512, 68, 1280, 4352, 0}, {1548, 5744, 16448, 0, 0, 0, 0}, {1290, 5410, 1792, 5461, 0, 0, 0}, {4120, 4626, 68, 5140, 0, 0, 0}, {4223, 12288, 1280, 0, 0, 0, 0}, {4224, 2560, 12288, 20480, 0, 0, 0}, {265, 51, 771, 68, 1285, 4369, 0}, {522, 4642, 16384, 0, 0, 0, 0}, {1295, 51, 771, 5440, 0, 0, 0}, {4108, 512, 68, 5120, 0, 0, 0}, {4143, 8224, 1285, 0, 0, 0, 0}, {4140, 1542, 16448, 0, 0, 0, 0}, {4111, 119, 512, 5376, 0, 0, 0}, {136, 512, 4096, 0, 0, 0, 0}, {51, 771, 1285, 4112, 0, 0, 0}, {2570, 4128, 0, 0, 0, 0, 0}, {259, 68, 4352, 0, 0, 0, 0}, {1548, 13824, 4160, 0, 0, 0, 0}, {522, 4135, 4176, 1285, 0, 0, 0}, {1036, 4132, 1542, 68, 0, 0, 0}, {1295, 4208, 21760, 0, 0, 0, 0}, {4240, 6704, 12336, 20560, 0, 0, 0}, {281, 51, 768, 68, 1297, 4369, 0}, {4152, 4626, 16448, 0, 0, 0, 0}, {4191, 51, 768, 5376, 0, 0, 0}, {4124, 544, 68, 5140, 0, 0, 0}, {4159, 8192, 1365, 0, 0, 0, 0}, {5722, 1638, 16384, 0, 0, 0, 0}, {4127, 5431, 5911, 5440, 0, 0, 0}, {2056, 544, 4112, 0, 0, 0, 0}, {51, 768, 1365, 4096, 0, 0, 0}, {23130, 4144, 0, 0, 0, 0, 0}, {275, 68, 4352, 0, 0, 0, 0}, {5692, 9728, 4176, 0, 0, 0, 0}, {4637, 4151, 4160, 5397, 0, 0, 0}, {1032, 4148, 5654, 68, 0, 0, 0}, {1375, 4192, 21760, 0, 0, 0, 0}, {4256, 6656, 12288, 16384, 0, 0, 0}, {282, 51, 771, 68, 1028, 4369, 0}, {4104, 4642, 20480, 0, 0, 0, 0}, {5388, 51, 771, 1360, 0, 0, 0}, {4620, 544, 68, 1028, 0, 0, 0}, {4111, 8192, 5461, 0, 0, 0, 0}, {4108, 5734, 20480, 0, 0, 0, 0}, {5384, 1319, 1799, 1360, 0, 0, 0}, {16392, 4128, 4608, 0, 0, 0, 0}, {4099, 21845, 0, 0, 0, 0, 0}, {2730, 4096, 0, 0, 0, 0, 0}, {771, 1028, 272, 0, 0, 0, 0}, {16396, 4192, 5632, 0, 0, 0, 0}, {4103, 21845, 0, 0, 0, 0, 0}, {8738, 4100, 0, 0, 0, 0, 0}, {12303, 4176, 5376, 0, 0, 0, 0}, {4272, 2560, 12336, 16448, 0, 0, 0}, {266, 51, 768, 68, 1024, 4369, 0}, {4120, 4626, 20560, 0, 0, 0, 0}, {4172, 51, 768, 1280, 0, 0, 0}, {4156, 512, 68, 1024, 0, 0, 0}, {4127, 8224, 5397, 0, 0, 0, 0}, {4124, 5654, 20560, 0, 0, 0, 0}, {4168, 119, 512, 1280, 0, 0, 0}, {16456, 4144, 512, 0, 0, 0, 0}, {4115, 21845, 0, 0, 0, 0, 0}, {2570, 4112, 0, 0, 0, 0, 0}, {51, 68, 256, 0, 0, 0, 0}, {16460, 4208, 1536, 0, 0, 0, 0}, {4119, 21845, 0, 0, 0, 0, 0}, {8738, 4116, 0, 0, 0, 0, 0}, {12351, 4160, 1280, 0, 0, 0, 0}, {4288, 2560, 8192, 20480, 0, 0, 0}, {269, 51, 514, 68, 1285, 4369, 0}, {4200, 514, 16448, 0, 0, 0, 0}, {4111, 51, 4864, 5376, 0, 0, 0}, {4104, 4608, 68, 5120, 0, 0, 0}, {4207, 12336, 1285, 0, 0, 0, 0}, {1546, 5734, 16384, 0, 0, 0, 0}, {1295, 5431, 1799, 5440, 0, 0, 0}, {520, 8704, 4160, 0, 0, 0, 0}, {783, 51, 4176, 1285, 0, 0, 0}, {2570, 4192, 0, 0, 0, 0, 0}, {263, 68, 4352, 0, 0, 0, 0}, {204, 1536, 4096, 0, 0, 0, 0}, {119, 514, 1285, 4112, 0, 0, 0}, {1032, 4128, 514, 68, 0, 0, 0}, {1295, 4144, 21760, 0, 0, 0, 0}, {4304, 6768, 8224, 20560, 0, 0, 0}, {285, 51, 529, 68, 1297, 4369, 0}, {4698, 546, 16384, 0, 0, 0, 0}, {4127, 51, 4883, 5440, 0, 0, 0}, {4120, 4656, 68, 5140, 0, 0, 0}, {5418, 12288, 1365, 0, 0, 0, 0}, {4220, 5654, 16448, 0, 0, 0, 0}, {4191, 119, 4608, 5376, 0, 0, 0}, {552, 8704, 4176, 0, 0, 0, 0}, {780, 51, 4160, 5397, 0, 0, 0}, {23130, 4208, 0, 0, 0, 0, 0}, {279, 68, 4352, 0, 0, 0, 0}, {3084, 1632, 4112, 0, 0, 0, 0}, {1314, 1792, 1365, 4096, 0, 0, 0}, {1036, 4144, 4626, 68, 0, 0, 0}, {1375, 4128, 21760, 0, 0, 0, 0}, {4320, 6720, 8224, 16448, 0, 0, 0}, {286, 51, 529, 68, 1024, 4369, 0}, {4168, 546, 20480, 0, 0, 0, 0}, {4124, 51, 4883, 1360, 0, 0, 0}, {4136, 4608, 68, 1024, 0, 0, 0}, {4175, 12336, 5397, 0, 0, 0, 0}, {4172, 1638, 20480, 0, 0, 0, 0}, {4120, 1319, 5911, 1360, 0, 0, 0}, {16456, 4192, 20992, 0, 0, 0, 0}, {4163, 21845, 0, 0, 0, 0, 0}, {10794, 4160, 0, 0, 0, 0, 0}, {51, 276, 4352, 0, 0, 0, 0}, {16460, 4128, 22016, 0, 0, 0, 0}, {4167, 21845, 0, 0, 0, 0, 0}, {546, 68, 1024, 4096, 0, 0, 0}, {3855, 1360, 4112, 0, 0, 0, 0}, {4336, 2560, 8192, 16384, 0, 0, 0}, {270, 51, 514, 68, 1028, 4369, 0}, {4184, 514, 20560, 0, 0, 0, 0}, {4108, 51, 4864, 1280, 0, 0, 0}, {520, 4656, 68, 1028, 0, 0, 0}, {1290, 12288, 5461, 0, 0, 0, 0}, {4188, 1542, 20560, 0, 0, 0, 0}, {4104, 119, 4608, 1280, 0, 0, 0}, {16392, 4208, 16896, 0, 0, 0, 0}, {4179, 21845, 0, 0, 0, 0, 0}, {2570, 4176, 0, 0, 0, 0, 0}, {51, 260, 4352, 0, 0, 0, 0}, {16396, 4144, 17920, 0, 0, 0, 0}, {4183, 21845, 0, 0, 0, 0, 0}, {514, 68, 1028, 4112, 0, 0, 0}, {255, 1280, 4096, 0, 0, 0, 0}, {13056, 17408, 0, 0, 0, 0, 0}, {10, 16, 257, 0, 0, 0, 0}, {4354, 21760, 0, 0, 0, 0, 0}, {17420, 48, 771, 0, 0, 0, 0}, {13068, 64, 1028, 0, 0, 0, 0}, {8704, 4357, 0, 0, 0, 0, 0}, {4358, 21760, 0, 0, 0, 0, 0}, {17416, 112, 1799, 0, 0, 0, 0}, {17416, 13056, 0, 0, 0, 0, 0}, {4355, 80, 1285, 0, 0, 0, 0}, {10, 4352, 0, 0, 0, 0, 0}, {48, 771, 64, 1028, 0, 0, 0}, {17420, 30464, 0, 0, 0, 0, 0}, {4359, 80, 1285, 0, 0, 0, 0}, {32, 514, 4356, 0, 0, 0, 0}, {13071, 17408, 0, 0, 0, 0, 0}, {768, 1024, 16, 0, 0, 0, 0}, {170, 4369, 0, 0, 0, 0, 0}, {4370, 21760, 0, 0, 0, 0, 0}, {17484, 32, 4883, 0, 0, 0, 0}, {13116, 80, 5140, 0, 0, 0, 0}, {8704, 4373, 0, 0, 0, 0, 0}, {4374, 21760, 0, 0, 0, 0, 0}, {17480, 96, 5911, 0, 0, 0, 0}, {5144, 48, 768, 80, 0, 0, 0}, {4377, 4403, 21845, 0, 0, 0, 0}, {26, 48, 768, 64, 1024, 4352, 0}, {160, 6939, 13107, 17476, 0, 0, 0}, {5148, 32, 1792, 80, 0, 0, 0}, {4381, 4471, 21845, 0, 0, 0, 0}, {4382, 8738, 4420, 0, 0, 0, 0}, {4895, 32, 64, 1024, 0, 0, 0}, {32, 4864, 17408, 0, 0, 0, 0}, {90, 48, 771, 4369, 0, 0, 0}, {4386, 21760, 0, 0, 0, 0, 0}, {1036, 771, 16, 0, 0, 0, 0}, {5960, 96, 17476, 0, 0, 0, 0}, {4367, 4389, 5632, 4437, 0, 0, 0}, {4364, 4390, 64, 5376, 0, 0, 0}, {5160, 10023, 80, 0, 0, 0, 0}, {17448, 13056, 0, 0, 0, 0, 0}, {4355, 64, 5397, 0, 0, 0, 0}, {42, 4352, 0, 0, 0, 0, 0}, {48, 771, 80, 5140, 0, 0, 0}, {1036, 32, 5888, 64, 0, 0, 0}, {90, 4471, 21845, 0, 0, 0, 0}, {4398, 8738, 4420, 0, 0, 0, 0}, {4879, 32, 80, 5120, 0, 0, 0}, {48, 768, 17408, 0, 0, 0, 0}, {10, 32, 514, 4369, 0, 0, 0}, {258, 1280, 16, 0, 0, 0, 0}, {17612, 13107, 0, 0, 0, 0, 0}, {1800, 112, 17476, 0, 0, 0, 0}, {10, 4405, 1536, 4437, 0, 0, 0}, {10, 4406, 80, 1280, 0, 0, 0}, {1032, 14135, 64, 0, 0, 0, 0}, {1032, 48, 768, 64, 0, 0, 0}, {10, 4403, 21845, 0, 0, 0, 0}, {10, 48, 768, 80, 1280, 4352, 0}, {128, 2056, 13107, 17476, 0, 0, 0}, {17468, 30464, 0, 0, 0, 0, 0}, {4375, 64, 5397, 0, 0, 0, 0}, {32, 514, 4372, 0, 0, 0, 0}, {13119, 17408, 0, 0, 0, 0, 0}, {13056, 64, 1024, 0, 0, 0, 0}, {10, 80, 1285, 4369, 0, 0, 0}, {4418, 21760, 0, 0, 0, 0, 0}, {17484, 112, 17219, 0, 0, 0, 0}, {13260, 17476, 0, 0, 0, 0, 0}, {512, 261, 16, 0, 0, 0, 0}, {4422, 21760, 0, 0, 0, 0, 0}, {17480, 48, 18247, 0, 0, 0, 0}, {17480, 13056, 0, 0, 0, 0, 0}, {4371, 80, 1285, 0, 0, 0, 0}, {10, 32, 512, 64, 1024, 4352, 0}, {240, 3855, 13107, 17476, 0, 0, 0}, {17484, 30464, 0, 0, 0, 0, 0}, {4375, 80, 1285, 0, 0, 0, 0}, {10, 8738, 4420, 0, 0, 0, 0}, {783, 48, 64, 1024, 0, 0, 0}, {13056, 80, 5120, 0, 0, 0, 0}, {42, 64, 1028, 4369, 0, 0, 0}, {4434, 21760, 0, 0, 0, 0, 0}, {17420, 96, 21331, 0, 0, 0, 0}, {780, 1028, 16, 0, 0, 0, 0}, {8704, 4437, 0, 0, 0, 0, 0}, {4438, 21760, 0, 0, 0, 0, 0}, {17416, 32, 22359, 0, 0, 0, 0}, {5128, 32, 4864, 80, 0, 0, 0}, {4441, 4403, 21845, 0, 0, 0, 0}, {90, 4352, 0, 0, 0, 0, 0}, {32, 4883, 64, 1028, 0, 0, 0}, {5132, 48, 5888, 80, 0, 0, 0}, {4445, 4471, 21845, 0, 0, 0, 0}, {48, 4626, 4356, 0, 0, 0, 0}, {13151, 17408, 0, 0, 0, 0, 0}, {96, 5888, 17408, 0, 0, 0, 0}, {90, 112, 1799, 4369, 0, 0, 0}, {4360, 4386, 64, 5376, 0, 0, 0}, {5180, 13107, 80, 0, 0, 0, 0}, {4940, 32, 17476, 0, 0, 0, 0}, {4367, 48, 4608, 4437, 0, 0, 0}, {4454, 21760, 0, 0, 0, 0, 0}, {1032, 1799, 16, 0, 0, 0, 0}, {1032, 32, 4864, 64, 0, 0, 0}, {90, 4403, 21845, 0, 0, 0, 0}, {106, 4352, 0, 0, 0, 0, 0}, {32, 4883, 80, 5140, 0, 0, 0}, {17516, 30464, 0, 0, 0, 0, 0}, {4359, 64, 5397, 0, 0, 0, 0}, {42, 8738, 4420, 0, 0, 0, 0}, {783, 48, 80, 5120, 0, 0, 0}, {112, 1792, 17408, 0, 0, 0, 0}, {10, 96, 1542, 4369, 0, 0, 0}, {10, 4386, 80, 1280, 0, 0, 0}, {1036, 13107, 64, 0, 0, 0, 0}, {780, 48, 17476, 0, 0, 0, 0}, {10, 32, 512, 4437, 0, 0, 0}, {262, 1280, 16, 0, 0, 0, 0}, {17544, 30583, 0, 0, 0, 0, 0}, {17528, 13056, 0, 0, 0, 0, 0}, {4371, 64, 5397, 0, 0, 0, 0}, {10, 32, 512, 80, 1280, 4352, 0}, {192, 3084, 13107, 17476, 0, 0, 0}, {1036, 48, 1792, 64, 0, 0, 0}, {10, 4471, 21845, 0, 0, 0, 0}, {48, 4626, 4372, 0, 0, 0, 0}, {13183, 17408, 0, 0, 0, 0, 0}, {128, 2048, 13056, 17408, 0, 0, 0}, {10, 48, 771, 80, 1285, 4369, 0}, {10, 4386, 21760, 0, 0, 0, 0}, {1036, 48, 771, 64, 0, 0, 0}, {13068, 17476, 0, 0, 0, 0, 0}, {32, 512, 4357, 0, 0, 0, 0}, {4358, 64, 5376, 0, 0, 0, 0}, {17528, 30583, 0, 0, 0, 0, 0}, {17544, 13056, 0, 0, 0, 0, 0}, {259, 1285, 16, 0, 0, 0, 0}, {10, 32, 512, 4352, 0, 0, 0}, {48, 771, 17476, 0, 0, 0, 0}, {1036, 14080, 64, 0, 0, 0, 0}, {10, 4391, 80, 1285, 0, 0, 0}, {10, 4388, 1542, 4420, 0, 0, 0}, {1807, 112, 17408, 0, 0, 0, 0}, {48, 768, 80, 5120, 0, 0, 0}, {42, 4369, 0, 0, 0, 0, 0}, {4370, 64, 5376, 0, 0, 0, 0}, {17516, 13107, 0, 0, 0, 0, 0}, {4892, 32, 80, 5140, 0, 0, 0}, {4415, 8704, 4437, 0, 0, 0, 0}, {90, 4454, 21760, 0, 0, 0, 0}, {1032, 32, 5911, 64, 0, 0, 0}, {1032, 768, 16, 0, 0, 0, 0}, {4403, 21845, 0, 0, 0, 0, 0}, {90, 48, 768, 4352, 0, 0, 0}, {32, 4883, 17476, 0, 0, 0, 0}, {5180, 9984, 80, 0, 0, 0, 0}, {4381, 4407, 64, 5397, 0, 0, 0}, {4382, 4404, 5654, 4420, 0, 0, 0}, {5983, 96, 17408, 0, 0, 0, 0}, {160, 6912, 13056, 17408, 0, 0, 0}, {26, 48, 771, 64, 1028, 4369, 0}, {4360, 4386, 21760, 0, 0, 0, 0}, {5132, 48, 771, 80, 0, 0, 0}, {4876, 32, 64, 1028, 0, 0, 0}, {4367, 8704, 4437, 0, 0, 0, 0}, {4364, 4454, 21760, 0, 0, 0, 0}, {5128, 32, 1799, 80, 0, 0, 0}, {17416, 32, 4864, 0, 0, 0, 0}, {4355, 21845, 0, 0, 0, 0, 0}, {170, 4352, 0, 0, 0, 0, 0}, {771, 1028, 16, 0, 0, 0, 0}, {17420, 96, 5888, 0, 0, 0, 0}, {4359, 21845, 0, 0, 0, 0, 0}, {8738, 4356, 0, 0, 0, 0, 0}, {13071, 80, 5120, 0, 0, 0, 0}, {48, 768, 64, 1024, 0, 0, 0}, {10, 4369, 0, 0, 0, 0, 0}, {4370, 80, 1280, 0, 0, 0, 0}, {17484, 13107, 0, 0, 0, 0, 0}, {13116, 17476, 0, 0, 0, 0, 0}, {32, 512, 4373, 0, 0, 0, 0}, {4374, 80, 1280, 0, 0, 0, 0}, {17480, 30583, 0, 0, 0, 0, 0}, {17480, 48, 768, 0, 0, 0, 0}, {4371, 21845, 0, 0, 0, 0, 0}, {10, 16, 256, 0, 0, 0, 0}, {13107, 17476, 0, 0, 0, 0, 0}, {17484, 112, 1792, 0, 0, 0, 0}, {4375, 21845, 0, 0, 0, 0, 0}, {8738, 4372, 0, 0, 0, 0, 0}, {13119, 64, 1024, 0, 0, 0, 0}, {192, 3072, 13056, 17408, 0, 0, 0}, {10, 32, 514, 80, 1285, 4369, 0}, {4354, 64, 5376, 0, 0, 0, 0}, {17468, 13107, 0, 0, 0, 0, 0}, {13132, 17476, 0, 0, 0, 0, 0}, {48, 4608, 4357, 0, 0, 0, 0}, {10, 4454, 21760, 0, 0, 0, 0}, {1032, 48, 1799, 64, 0, 0, 0}, {1032, 13056, 64, 0, 0, 0, 0}, {10, 4403, 80, 1285, 0, 0, 0}, {10, 96, 1536, 4352, 0, 0, 0}, {112, 1799, 17476, 0, 0, 0, 0}, {17612, 30464, 0, 0, 0, 0, 0}, {263, 1285, 16, 0, 0, 0, 0}, {10, 32, 514, 4420, 0, 0, 0}, {783, 48, 17408, 0, 0, 0, 0}, {32, 4864, 80, 5120, 0, 0, 0}, {106, 4369, 0, 0, 0, 0, 0}, {90, 4386, 21760, 0, 0, 0, 0}, {1036, 32, 4883, 64, 0, 0, 0}, {780, 48, 80, 5140, 0, 0, 0}, {42, 8704, 4437, 0, 0, 0, 0}, {4374, 64, 5376, 0, 0, 0, 0}, {17448, 30583, 0, 0, 0, 0, 0}, {5160, 13056, 80, 0, 0, 0, 0}, {4377, 4403, 64, 5397, 0, 0, 0}, {90, 112, 1792, 4352, 0, 0, 0}, {96, 5911, 17476, 0, 0, 0, 0}, {1036, 1792, 16, 0, 0, 0, 0}, {4471, 21845, 0, 0, 0, 0, 0}, {4382, 48, 4626, 4420, 0, 0, 0}, {4959, 32, 17408, 0, 0, 0, 0}, {32, 4864, 64, 1024, 0, 0, 0}, {90, 4369, 0, 0, 0, 0, 0}, {4424, 4386, 21760, 0, 0, 0, 0}, {5148, 32, 4883, 80, 0, 0, 0}, {13164, 17476, 0, 0, 0, 0, 0}, {48, 4608, 4373, 0, 0, 0, 0}, {4428, 4454, 21760, 0, 0, 0, 0}, {5144, 48, 5911, 80, 0, 0, 0}, {17480, 96, 21248, 0, 0, 0, 0}, {4419, 21845, 0, 0, 0, 0, 0}, {42, 64, 1024, 4352, 0, 0, 0}, {13107, 80, 5140, 0, 0, 0, 0}, {17484, 32, 22272, 0, 0, 0, 0}, {4423, 21845, 0, 0, 0, 0, 0}, {8738, 4420, 0, 0, 0, 0, 0}, {783, 1024, 16, 0, 0, 0, 0}, {240, 3840, 13056, 17408, 0, 0, 0}, {10, 32, 514, 64, 1028, 4369, 0}, {4354, 80, 1280, 0, 0, 0, 0}, {17420, 13107, 0, 0, 0, 0, 0}, {780, 48, 64, 1028, 0, 0, 0}, {10, 8704, 4437, 0, 0, 0, 0}, {4358, 80, 1280, 0, 0, 0, 0}, {17416, 30583, 0, 0, 0, 0, 0}, {17416, 112, 17152, 0, 0, 0, 0}, {4435, 21845, 0, 0, 0, 0, 0}, {10, 80, 1280, 4352, 0, 0, 0}, {13107, 64, 1028, 0, 0, 0, 0}, {17420, 48, 18176, 0, 0, 0, 0}, {4439, 21845, 0, 0, 0, 0, 0}, {514, 260, 16, 0, 0, 0, 0}, {13311, 17408, 0, 0, 0, 0, 0}, {19456, 28672, 0, 0, 0, 0, 0}, {23, 85, 257, 0, 0, 0, 0}, {10, 34, 514, 5120, 0, 0, 0}, {63, 771, 16384, 0, 0, 0, 0}, {72, 12288, 1028, 0, 0, 0, 0}, {10, 4864, 85, 1285, 0, 0, 0}, {10, 96, 1542, 4096, 0, 0, 0}, {119, 1799, 17408, 0, 0, 0, 0}, {13320, 17408, 0, 0, 0, 0, 0}, {4144, 771, 4101, 0, 0, 0, 0}, {10, 5632, 20480, 0, 0, 0, 0}, {72, 119, 771, 1028, 0, 0, 0}, {192, 3084, 12288, 16384, 0, 0, 0}, {10, 34, 514, 85, 1285, 4352, 0}, {4098, 4160, 1028, 0, 0, 0, 0}, {17167, 13056, 0, 0, 0, 0, 0}, {3072, 96, 4112, 0, 0, 0, 0}, {34, 1792, 85, 4369, 0, 0, 0}, {72, 34, 4626, 1024, 0, 0, 0}, {95, 4883, 20480, 0, 0, 0, 0}, {40, 8192, 5140, 0, 0, 0, 0}, {63, 768, 85, 5397, 0, 0, 0}, {170, 5654, 0, 0, 0, 0, 0}, {23, 1024, 4096, 0, 0, 0, 0}, {4120, 4144, 4176, 1024, 0, 0, 0}, {5657, 13107, 85, 0, 0, 0, 0}, {5658, 5744, 16448, 0, 0, 0, 0}, {5147, 5171, 1792, 5188, 0, 0, 0}, {160, 7196, 8224, 20560, 0, 0, 0}, {29, 34, 768, 85, 1024, 4352, 0}, {5662, 34, 17476, 0, 0, 0, 0}, {4127, 4128, 768, 4160, 0, 0, 0}, {160, 7200, 8224, 20480, 0, 0, 0}, {29, 34, 771, 85, 1041, 4369, 0}, {34, 5632, 17408, 0, 0, 0, 0}, {95, 96, 771, 4112, 0, 0, 0}, {1036, 1060, 1092, 4096, 0, 0, 0}, {3855, 5669, 85, 0, 0, 0, 0}, {5708, 5670, 16448, 0, 0, 0, 0}, {5135, 5159, 4864, 5200, 0, 0, 0}, {40, 8192, 5120, 0, 0, 0, 0}, {63, 771, 85, 5397, 0, 0, 0}, {5674, 26112, 0, 0, 0, 0, 0}, {23, 4176, 5140, 0, 0, 0, 0}, {3084, 4128, 4160, 0, 0, 0, 0}, {1807, 34, 85, 4352, 0, 0, 0}, {1036, 34, 4608, 1092, 0, 0, 0}, {95, 4896, 20560, 0, 0, 0, 0}, {192, 3072, 12336, 16384, 0, 0, 0}, {10, 34, 514, 85, 1280, 4369, 0}, {1026, 1088, 4112, 0, 0, 0, 0}, {3840, 17203, 0, 0, 0, 0, 0}, {136, 2056, 13364, 17476, 0, 0, 0}, {10, 53, 768, 85, 1280, 4096, 0}, {10, 5686, 20560, 0, 0, 0, 0}, {1032, 1079, 768, 1088, 0, 0, 0}, {1032, 12336, 1088, 0, 0, 0, 0}, {10, 4915, 85, 1280, 0, 0, 0}, {10, 4144, 1536, 4176, 0, 0, 0}, {1800, 119, 17476, 0, 0, 0, 0}, {28912, 15420, 0, 0, 0, 0, 0}, {258, 277, 4352, 0, 0, 0, 0}, {10, 34, 514, 5140, 0, 0, 0}, {63, 768, 16384, 0, 0, 0, 0}, {192, 3072, 12288, 16448, 0, 0, 0}, {10, 34, 512, 85, 1285, 4369, 0}, {66, 1024, 4096, 0, 0, 0, 0}, {255, 17219, 0, 0, 0, 0, 0}, {136, 2048, 13380, 17476, 0, 0, 0}, {10, 53, 773, 85, 1285, 4112, 0}, {10, 5702, 20480, 0, 0, 0, 0}, {72, 119, 839, 1024, 0, 0, 0}, {72, 12288, 1024, 0, 0, 0, 0}, {10, 4883, 85, 1285, 0, 0, 0}, {10, 4128, 1536, 4160, 0, 0, 0}, {1807, 119, 17476, 0, 0, 0, 0}, {28800, 19532, 0, 0, 0, 0, 0}, {274, 261, 4352, 0, 0, 0, 0}, {10, 34, 512, 5188, 0, 0, 0}, {783, 816, 16448, 0, 0, 0, 0}, {160, 7248, 8192, 20560, 0, 0, 0}, {29, 34, 785, 85, 1028, 4369, 0}, {34, 5714, 17408, 0, 0, 0, 0}, {95, 96, 851, 4096, 0, 0, 0}, {72, 96, 1028, 4112, 0, 0, 0}, {5632, 85, 0, 0, 0, 0, 0}, {106, 5718, 16384, 0, 0, 0, 0}, {95, 119, 4951, 5120, 0, 0, 0}, {40, 8224, 5200, 0, 0, 0, 0}, {780, 819, 85, 5376, 0, 0, 0}, {5722, 26112, 0, 0, 0, 0, 0}, {23, 4160, 1028, 0, 0, 0, 0}, {3084, 4144, 4176, 0, 0, 0, 0}, {1800, 34, 85, 4352, 0, 0, 0}, {72, 34, 4626, 1028, 0, 0, 0}, {95, 4864, 20480, 0, 0, 0, 0}, {3072, 96, 4096, 0, 0, 0, 0}, {34, 1799, 85, 4369, 0, 0, 0}, {1032, 34, 4608, 1088, 0, 0, 0}, {95, 4915, 20560, 0, 0, 0, 0}, {40, 8224, 5188, 0, 0, 0, 0}, {783, 816, 85, 5376, 0, 0, 0}, {23040, 5734, 0, 0, 0, 0, 0}, {23, 1088, 4112, 0, 0, 0, 0}, {4104, 4128, 4160, 5120, 0, 0, 0}, {5692, 13107, 85, 0, 0, 0, 0}, {106, 5632, 16384, 0, 0, 0, 0}, {95, 119, 4883, 5140, 0, 0, 0}, {160, 7276, 8192, 20480, 0, 0, 0}, {29, 34, 786, 85, 1045, 4352, 0}, {5708, 34, 17476, 0, 0, 0, 0}, {4111, 4144, 4864, 4176, 0, 0, 0}, {19584, 28784, 0, 0, 0, 0, 0}, {262, 1280, 273, 0, 0, 0, 0}, {10, 34, 512, 5200, 0, 0, 0}, {780, 819, 16448, 0, 0, 0, 0}, {1036, 12336, 1092, 0, 0, 0, 0}, {10, 4896, 85, 1280, 0, 0, 0}, {10, 96, 1542, 4112, 0, 0, 0}, {119, 1792, 17408, 0, 0, 0, 0}, {13432, 17408, 0, 0, 0, 0, 0}, {4128, 4883, 4117, 0, 0, 0, 0}, {10, 5744, 20560, 0, 0, 0, 0}, {1036, 1075, 1792, 1092, 0, 0, 0}, {192, 3084, 12336, 16448, 0, 0, 0}, {10, 34, 512, 85, 1280, 4352, 0}, {4114, 4176, 5140, 0, 0, 0, 0}, {17279, 13056, 0, 0, 0, 0, 0}, {28800, 15360, 0, 0, 0, 0, 0}, {259, 276, 4369, 0, 0, 0, 0}, {10, 34, 512, 5120, 0, 0, 0}, {63, 771, 16448, 0, 0, 0, 0}, {1036, 12288, 1092, 0, 0, 0, 0}, {10, 4896, 85, 1285, 0, 0, 0}, {10, 4128, 1542, 4160, 0, 0, 0}, {1807, 119, 17408, 0, 0, 0, 0}, {136, 2048, 13312, 17408, 0, 0, 0}, {10, 53, 771, 85, 1285, 4112, 0}, {10, 5664, 20480, 0, 0, 0, 0}, {1036, 1075, 771, 1092, 0, 0, 0}, {192, 3084, 12288, 16448, 0, 0, 0}, {10, 34, 512, 85, 1285, 4352, 0}, {1030, 1092, 4096, 0, 0, 0, 0}, {3855, 17264, 0, 0, 0, 0, 0}, {3072, 4144, 4176, 0, 0, 0, 0}, {1800, 34, 85, 4369, 0, 0, 0}, {1032, 34, 4626, 1088, 0, 0, 0}, {95, 4915, 20480, 0, 0, 0, 0}, {40, 8224, 5140, 0, 0, 0, 0}, {63, 768, 85, 5376, 0, 0, 0}, {5692, 26214, 0, 0, 0, 0, 0}, {23, 4160, 5120, 0, 0, 0, 0}, {1032, 1056, 1088, 4112, 0, 0, 0}, {3840, 5683, 85, 0, 0, 0, 0}, {5722, 5680, 16384, 0, 0, 0, 0}, {5147, 5171, 4883, 5188, 0, 0, 0}, {160, 7228, 8192, 20560, 0, 0, 0}, {29, 34, 768, 85, 1045, 4352, 0}, {34, 5654, 17476, 0, 0, 0, 0}, {95, 96, 768, 4096, 0, 0, 0}, {160, 7168, 8192, 20480, 0, 0, 0}, {29, 34, 771, 85, 1028, 4369, 0}, {5640, 34, 17408, 0, 0, 0, 0}, {4111, 4144, 771, 4176, 0, 0, 0}, {4104, 4128, 4160, 1028, 0, 0, 0}, {5647, 13056, 85, 0, 0, 0, 0}, {5644, 5734, 16384, 0, 0, 0, 0}, {5135, 5159, 1799, 5200, 0, 0, 0}, {40, 8224, 5120, 0, 0, 0, 0}, {63, 771, 85, 5376, 0, 0, 0}, {170, 5632, 0, 0, 0, 0, 0}, {23, 1028, 4112, 0, 0, 0, 0}, {3084, 96, 4096, 0, 0, 0, 0}, {34, 1799, 85, 4352, 0, 0, 0}, {72, 34, 4608, 1028, 0, 0, 0}, {95, 4864, 20560, 0, 0, 0, 0}, {192, 3072, 12336, 16448, 0, 0, 0}, {10, 34, 512, 85, 1280, 4369, 0}, {4114, 4176, 1024, 0, 0, 0, 0}, {17228, 13107, 0, 0, 0, 0, 0}, {13372, 17476, 0, 0, 0, 0, 0}, {4128, 768, 4117, 0, 0, 0, 0}, {10, 5654, 20560, 0, 0, 0, 0}, {72, 119, 768, 1024, 0, 0, 0}, {72, 12336, 1024, 0, 0, 0, 0}, {10, 4883, 85, 1280, 0, 0, 0}, {10, 96, 1536, 4112, 0, 0, 0}, {119, 1792, 17476, 0, 0, 0, 0}, {19532, 28784, 0, 0, 0, 0, 0}, {23, 85, 256, 0, 0, 0, 0}, {10, 34, 512, 5140, 0, 0, 0}, {63, 768, 16448, 0, 0, 0, 0}, {192, 3072, 12288, 16384, 0, 0, 0}, {10, 34, 514, 85, 1285, 4369, 0}, {4098, 4160, 5120, 0, 0, 0, 0}, {17212, 13107, 0, 0, 0, 0, 0}, {13388, 17476, 0, 0, 0, 0, 0}, {4144, 4864, 4101, 0, 0, 0, 0}, {10, 5734, 20480, 0, 0, 0, 0}, {1032, 1079, 1799, 1088, 0, 0, 0}, {1032, 12288, 1088, 0, 0, 0, 0}, {10, 4915, 85, 1285, 0, 0, 0}, {10, 96, 1536, 4096, 0, 0, 0}, {119, 1799, 17476, 0, 0, 0, 0}, {19660, 28672, 0, 0, 0, 0, 0}, {263, 1285, 272, 0, 0, 0, 0}, {10, 34, 514, 5188, 0, 0, 0}, {783, 816, 16384, 0, 0, 0, 0}, {160, 7280, 8224, 20560, 0, 0, 0}, {29, 34, 785, 85, 1041, 4369, 0}, {5722, 34, 17408, 0, 0, 0, 0}, {4127, 4128, 4883, 4160, 0, 0, 0}, {4120, 4144, 4176, 5140, 0, 0, 0}, {5674, 13056, 85, 0, 0, 0, 0}, {106, 5654, 16448, 0, 0, 0, 0}, {95, 119, 4864, 5120, 0, 0, 0}, {40, 8192, 5200, 0, 0, 0, 0}, {780, 819, 85, 5397, 0, 0, 0}, {23130, 5744, 0, 0, 0, 0, 0}, {23, 1092, 4096, 0, 0, 0, 0}, {3084, 96, 4112, 0, 0, 0, 0}, {34, 1792, 85, 4352, 0, 0, 0}, {1036, 34, 4626, 1092, 0, 0, 0}, {95, 4896, 20480, 0, 0, 0, 0}, {3072, 4128, 4160, 0, 0, 0, 0}, {1807, 34, 85, 4369, 0, 0, 0}, {72, 34, 4608, 1024, 0, 0, 0}, {95, 4883, 20560, 0, 0, 0, 0}, {40, 8192, 5188, 0, 0, 0, 0}, {783, 816, 85, 5397, 0, 0, 0}, {5708, 26214, 0, 0, 0, 0, 0}, {23, 4176, 1024, 0, 0, 0, 0}, {72, 96, 1024, 4096, 0, 0, 0}, {5654, 85, 0, 0, 0, 0, 0}, {106, 5696, 16448, 0, 0, 0, 0}, {95, 119, 4932, 5140, 0, 0, 0}, {160, 7244, 8224, 20480, 0, 0, 0}, {29, 34, 786, 85, 1024, 4352, 0}, {34, 5700, 17476, 0, 0, 0, 0}, {95, 96, 848, 4112, 0, 0, 0}, {28912, 19456, 0, 0, 0, 0, 0}, {275, 260, 4369, 0, 0, 0, 0}, {10, 34, 514, 5200, 0, 0, 0}, {780, 819, 16384, 0, 0, 0, 0}, {72, 12336, 1028, 0, 0, 0, 0}, {10, 4864, 85, 1280, 0, 0, 0}, {10, 4144, 1542, 4176, 0, 0, 0}, {1800, 119, 17408, 0, 0, 0, 0}, {136, 2056, 13424, 17408, 0, 0, 0}, {10, 53, 774, 85, 1280, 4096, 0}, {10, 5712, 20560, 0, 0, 0, 0}, {72, 119, 836, 1028, 0, 0, 0}, {192, 3084, 12336, 16384, 0, 0, 0}, {10, 34, 514, 85, 1280, 4352, 0}, {66, 1028, 4112, 0, 0, 0, 0}, {255, 17152, 0, 0, 0, 0, 0}, {5888, 21760, 0, 0, 0, 0, 0}, {76, 112, 257, 0, 0, 0, 0}, {5418, 514, 16384, 0, 0, 0, 0}, {4367, 4403, 771, 5120, 0, 0, 0}, {4360, 4864, 4420, 1028, 0, 0, 0}, {4698, 12288, 1285, 0, 0, 0, 0}, {4454, 1542, 17408, 0, 0, 0, 0}, {1295, 112, 1799, 4096, 0, 0, 0}, {520, 8192, 5376, 0, 0, 0, 0}, {60, 771, 4437, 1285, 0, 0, 0}, {16906, 30464, 0, 0, 0, 0, 0}, {4359, 4160, 1028, 0, 0, 0, 0}, {1548, 4352, 0, 0, 0, 0, 0}, {4128, 514, 4176, 1285, 0, 0, 0}, {76, 4386, 514, 1028, 0, 0, 0}, {1295, 4608, 20480, 0, 0, 0, 0}, {1312, 1792, 1360, 4112, 0, 0, 0}, {3072, 1638, 4369, 0, 0, 0, 0}, {1370, 4626, 20480, 0, 0, 0, 0}, {76, 4403, 4883, 1024, 0, 0, 0}, {60, 768, 4420, 5140, 0, 0, 0}, {554, 8192, 5397, 0, 0, 0, 0}, {278, 1024, 4096, 0, 0, 0, 0}, {22015, 5911, 0, 0, 0, 0, 0}, {5912, 12336, 1360, 0, 0, 0, 0}, {4377, 4915, 4437, 1024, 0, 0, 0}, {5402, 4144, 1792, 4160, 0, 0, 0}, {5915, 4471, 17476, 0, 0, 0, 0}, {284, 288, 768, 336, 1024, 4352, 0}, {6071, 7453, 8738, 21845, 0, 0, 0}, {4382, 4386, 768, 5188, 0, 0, 0}, {5919, 544, 16448, 0, 0, 0, 0}, {544, 5376, 0, 0, 0, 0, 0}, {60, 771, 1365, 4369, 0, 0, 0}, {24320, 16930, 0, 0, 0, 0, 0}, {1299, 1088, 4112, 0, 0, 0, 0}, {3084, 5924, 4420, 0, 0, 0, 0}, {1807, 1317, 1365, 4096, 0, 0, 0}, {1036, 5414, 4864, 1088, 0, 0, 0}, {1375, 5927, 20560, 0, 0, 0, 0}, {5928, 21760, 0, 0, 0, 0, 0}, {4144, 771, 277, 0, 0, 0, 0}, {5418, 5888, 16384, 0, 0, 0, 0}, {4427, 4471, 771, 5140, 0, 0, 0}, {1036, 544, 1088, 4352, 0, 0, 0}, {3855, 4642, 1365, 0, 0, 0, 0}, {5960, 4386, 17476, 0, 0, 0, 0}, {5391, 4128, 4608, 4176, 0, 0, 0}, {4656, 1280, 0, 0, 0, 0, 0}, {1032, 514, 1092, 4369, 0, 0, 0}, {1290, 112, 514, 4112, 0, 0, 0}, {4403, 1536, 17408, 0, 0, 0, 0}, {264, 308, 768, 324, 1280, 4096, 0}, {6047, 2570, 13621, 21845, 0, 0, 0}, {1290, 1334, 768, 5200, 0, 0, 0}, {520, 5943, 16448, 0, 0, 0, 0}, {520, 4144, 4160, 1280, 0, 0, 0}, {1546, 13107, 4437, 0, 0, 0, 0}, {1290, 5984, 20560, 0, 0, 0, 0}, {1032, 5427, 1536, 1092, 0, 0, 0}, {60, 768, 1280, 4352, 0, 0, 0}, {128, 514, 5397, 0, 0, 0, 0}, {258, 4176, 5140, 0, 0, 0, 0}, {5951, 8704, 0, 0, 0, 0, 0}, {512, 5440, 0, 0, 0, 0, 0}, {783, 819, 1285, 4369, 0, 0, 0}, {21930, 16962, 0, 0, 0, 0, 0}, {323, 1024, 4096, 0, 0, 0, 0}, {1536, 4420, 0, 0, 0, 0, 0}, {522, 112, 1285, 4112, 0, 0, 0}, {76, 4454, 582, 1024, 0, 0, 0}, {1295, 5959, 20480, 0, 0, 0, 0}, {5960, 21760, 0, 0, 0, 0, 0}, {4128, 4883, 261, 0, 0, 0, 0}, {522, 5984, 16448, 0, 0, 0, 0}, {1295, 1331, 1536, 5188, 0, 0, 0}, {76, 512, 1024, 4352, 0, 0, 0}, {240, 4626, 1285, 0, 0, 0, 0}, {1546, 4386, 17476, 0, 0, 0, 0}, {1295, 4144, 512, 4160, 0, 0, 0}, {4608, 1360, 0, 0, 0, 0, 0}, {76, 546, 1028, 4369, 0, 0, 0}, {1370, 112, 594, 4096, 0, 0, 0}, {4403, 5971, 17408, 0, 0, 0, 0}, {280, 292, 532, 340, 1028, 4112, 0}, {6143, 7509, 13653, 21845, 0, 0, 0}, {4442, 4454, 4694, 5120, 0, 0, 0}, {5503, 5975, 16384, 0, 0, 0, 0}, {4616, 4128, 4176, 5376, 0, 0, 0}, {5951, 13107, 4437, 0, 0, 0, 0}, {1370, 5888, 20480, 0, 0, 0, 0}, {76, 4471, 4883, 1028, 0, 0, 0}, {780, 816, 1360, 4352, 0, 0, 0}, {2056, 546, 5461, 0, 0, 0, 0}, {274, 4160, 1028, 0, 0, 0, 0}, {5983, 8704, 0, 0, 0, 0, 0}, {5984, 21760, 0, 0, 0, 0, 0}, {1032, 1799, 273, 0, 0, 0, 0}, {5960, 546, 16448, 0, 0, 0, 0}, {4367, 4403, 4608, 5200, 0, 0, 0}, {4360, 4896, 4420, 5376, 0, 0, 0}, {5951, 12336, 1365, 0, 0, 0, 0}, {4454, 5888, 17408, 0, 0, 0, 0}, {1375, 112, 1799, 4112, 0, 0, 0}, {552, 8224, 5440, 0, 0, 0, 0}, {783, 819, 4437, 5120, 0, 0, 0}, {17002, 30464, 0, 0, 0, 0, 0}, {4359, 4176, 5140, 0, 0, 0, 0}, {1644, 4352, 0, 0, 0, 0, 0}, {4144, 4626, 4160, 5397, 0, 0, 0}, {1032, 4386, 4864, 1092, 0, 0, 0}, {1375, 4656, 20560, 0, 0, 0, 0}, {112, 512, 1280, 4096, 0, 0, 0}, {204, 1542, 4369, 0, 0, 0, 0}, {1290, 4642, 20560, 0, 0, 0, 0}, {1036, 4403, 512, 1088, 0, 0, 0}, {780, 816, 4420, 1280, 0, 0, 0}, {522, 8224, 5461, 0, 0, 0, 0}, {262, 1088, 4112, 0, 0, 0, 0}, {2560, 6007, 0, 0, 0, 0, 0}, {4728, 12288, 1280, 0, 0, 0, 0}, {4377, 4883, 4437, 5397, 0, 0, 0}, {1290, 4128, 1792, 4176, 0, 0, 0}, {1548, 4471, 17476, 0, 0, 0, 0}, {268, 304, 512, 320, 1280, 4352, 0}, {6103, 2570, 8738, 21845, 0, 0, 0}, {4382, 4386, 4626, 5140, 0, 0, 0}, {5503, 512, 16384, 0, 0, 0, 0}, {128, 512, 5376, 0, 0, 0, 0}, {60, 771, 1285, 4369, 0, 0, 0}, {5928, 8738, 0, 0, 0, 0, 0}, {259, 4160, 5120, 0, 0, 0, 0}, {1548, 13056, 4420, 0, 0, 0, 0}, {522, 4128, 4176, 1285, 0, 0, 0}, {1036, 5414, 1542, 1088, 0, 0, 0}, {1295, 6007, 20480, 0, 0, 0, 0}, {6024, 2560, 13568, 21760, 0, 0, 0}, {265, 309, 771, 325, 1285, 4112, 0}, {522, 5920, 16384, 0, 0, 0, 0}, {1295, 1331, 771, 5188, 0, 0, 0}, {1036, 512, 1088, 4352, 0, 0, 0}, {4642, 1285, 0, 0, 0, 0, 0}, {4386, 1542, 17476, 0, 0, 0, 0}, {1295, 112, 512, 4096, 0, 0, 0}, {3840, 4656, 1360, 0, 0, 0, 0}, {1032, 546, 1092, 4369, 0, 0, 0}, {5402, 4144, 4626, 4160, 0, 0, 0}, {5983, 4403, 17408, 0, 0, 0, 0}, {4128, 768, 276, 0, 0, 0, 0}, {5951, 21845, 0, 0, 0, 0, 0}, {4442, 4454, 768, 5120, 0, 0, 0}, {5439, 5911, 16448, 0, 0, 0, 0}, {1800, 1312, 1360, 4112, 0, 0, 0}, {3072, 5939, 4437, 0, 0, 0, 0}, {1370, 5936, 20480, 0, 0, 0, 0}, {1032, 5427, 4883, 1092, 0, 0, 0}, {60, 768, 1360, 4352, 0, 0, 0}, {546, 5397, 0, 0, 0, 0, 0}, {1302, 1092, 4096, 0, 0, 0, 0}, {24415, 16992, 0, 0, 0, 0, 0}, {6048, 7424, 8704, 21760, 0, 0, 0}, {285, 289, 771, 337, 1028, 4369, 0}, {5896, 546, 16384, 0, 0, 0, 0}, {4367, 4403, 771, 5200, 0, 0, 0}, {4360, 4896, 4420, 1028, 0, 0, 0}, {5903, 12288, 1365, 0, 0, 0, 0}, {5900, 4454, 17408, 0, 0, 0, 0}, {5391, 4128, 1799, 4176, 0, 0, 0}, {552, 8224, 5376, 0, 0, 0, 0}, {60, 771, 4437, 5120, 0, 0, 0}, {21930, 5888, 0, 0, 0, 0, 0}, {279, 1028, 4112, 0, 0, 0, 0}, {3084, 1632, 4352, 0, 0, 0, 0}, {1317, 1799, 1365, 4096, 0, 0, 0}, {76, 4386, 4864, 1028, 0, 0, 0}, {1375, 4608, 20560, 0, 0, 0, 0}, {4144, 512, 4160, 1280, 0, 0, 0}, {1546, 4369, 0, 0, 0, 0, 0}, {1290, 4626, 20560, 0, 0, 0, 0}, {76, 4403, 512, 1024, 0, 0, 0}, {60, 768, 4420, 1280, 0, 0, 0}, {522, 8224, 5397, 0, 0, 0, 0}, {4374, 4176, 1024, 0, 0, 0, 0}, {16968, 30583, 0, 0, 0, 0, 0}, {4680, 12336, 1280, 0, 0, 0, 0}, {4377, 4883, 4437, 1024, 0, 0, 0}, {1290, 112, 1792, 4112, 0, 0, 0}, {4471, 1536, 17476, 0, 0, 0, 0}, {76, 112, 256, 0, 0, 0, 0}, {5911, 21845, 0, 0, 0, 0, 0}, {4382, 4386, 768, 5140, 0, 0, 0}, {5439, 512, 16448, 0, 0, 0, 0}, {6080, 2560, 8704, 21760, 0, 0, 0}, {269, 305, 514, 321, 1285, 4369, 0}, {5482, 514, 16448, 0, 0, 0, 0}, {4367, 4403, 4608, 5120, 0, 0, 0}, {4360, 4864, 4420, 5376, 0, 0, 0}, {4714, 12336, 1285, 0, 0, 0, 0}, {1546, 4454, 17408, 0, 0, 0, 0}, {1295, 4144, 1799, 4160, 0, 0, 0}, {520, 8192, 5440, 0, 0, 0, 0}, {783, 819, 4437, 1285, 0, 0, 0}, {2570, 5984, 0, 0, 0, 0, 0}, {263, 1092, 4096, 0, 0, 0, 0}, {204, 1536, 4352, 0, 0, 0, 0}, {112, 514, 1285, 4112, 0, 0, 0}, {1032, 4386, 514, 1092, 0, 0, 0}, {1295, 4656, 20480, 0, 0, 0, 0}, {4128, 4608, 4176, 5376, 0, 0, 0}, {1642, 4369, 0, 0, 0, 0, 0}, {1370, 4642, 20480, 0, 0, 0, 0}, {1036, 4403, 4883, 1088, 0, 0, 0}, {780, 816, 4420, 5140, 0, 0, 0}, {554, 8192, 5461, 0, 0, 0, 0}, {4374, 4160, 5120, 0, 0, 0, 0}, {16936, 30583, 0, 0, 0, 0, 0}, {5928, 12288, 1360, 0, 0, 0, 0}, {4377, 4915, 4437, 5397, 0, 0, 0}, {1370, 112, 1792, 4096, 0, 0, 0}, {4471, 5911, 17476, 0, 0, 0, 0}, {1036, 1792, 272, 0, 0, 0, 0}, {6007, 21845, 0, 0, 0, 0, 0}, {4382, 4386, 4626, 5188, 0, 0, 0}, {5983, 544, 16384, 0, 0, 0, 0}, {2048, 544, 5440, 0, 0, 0, 0}, {783, 819, 1365, 4369, 0, 0, 0}, {5960, 8738, 0, 0, 0, 0, 0}, {275, 4176, 1024, 0, 0, 0, 0}, {5928, 13056, 4420, 0, 0, 0, 0}, {4634, 4144, 4160, 5397, 0, 0, 0}, {76, 4454, 4864, 1024, 0, 0, 0}, {1375, 5911, 20560, 0, 0, 0, 0}, {6120, 7496, 13664, 21760, 0, 0, 0}, {281, 293, 534, 341, 1024, 4096, 0}, {5482, 5952, 16448, 0, 0, 0, 0}, {4427, 4471, 4676, 5140, 0, 0, 0}, {76, 544, 1024, 4352, 0, 0, 0}, {4626, 1365, 0, 0, 0, 0, 0}, {4386, 5956, 17476, 0, 0, 0, 0}, {1375, 112, 592, 4112, 0, 0, 0}, {240, 4608, 1280, 0, 0, 0, 0}, {76, 514, 1028, 4369, 0, 0, 0}, {1290, 4128, 514, 4176, 0, 0, 0}, {1548, 4403, 17408, 0, 0, 0, 0}, {4144, 4864, 260, 0, 0, 0, 0}, {5983, 21845, 0, 0, 0, 0, 0}, {1290, 1334, 1542, 5200, 0, 0, 0}, {520, 6007, 16384, 0, 0, 0, 0}, {520, 112, 1280, 4096, 0, 0, 0}, {1542, 4437, 0, 0, 0, 0, 0}, {1290, 5968, 20560, 0, 0, 0, 0}, {76, 4471, 580, 1028, 0, 0, 0}, {780, 816, 1280, 4352, 0, 0, 0}, {514, 5461, 0, 0, 0, 0, 0}, {322, 1028, 4112, 0, 0, 0, 0}, {22015, 16896, 0, 0, 0, 0, 0}, {8704, 5120, 0, 0, 0, 0, 0}, {63, 64, 257, 0, 0, 0, 0}, {17416, 20512, 514, 0, 0, 0, 0}, {5123, 21760, 0, 0, 0, 0, 0}, {520, 64, 1028, 4096, 0, 0, 0}, {13056, 4437, 1285, 0, 0, 0, 0}, {17420, 20576, 1542, 0, 0, 0, 0}, {5127, 21760, 0, 0, 0, 0, 0}, {5128, 5632, 20480, 0, 0, 0, 0}, {4441, 4454, 771, 1285, 0, 0, 0}, {13834, 17408, 0, 0, 0, 0, 0}, {4144, 771, 4356, 0, 0, 0, 0}, {5132, 4608, 20480, 0, 0, 0, 0}, {4445, 4386, 514, 1285, 0, 0, 0}, {4128, 514, 64, 1028, 0, 0, 0}, {1295, 4352, 0, 0, 0, 0, 0}, {544, 64, 1024, 4112, 0, 0, 0}, {3840, 1365, 4369, 0, 0, 0, 0}, {17480, 20528, 4626, 0, 0, 0, 0}, {5139, 21760, 0, 0, 0, 0, 0}, {8840, 5140, 0, 0, 0, 0, 0}, {768, 277, 4096, 0, 0, 0, 0}, {17484, 20592, 5654, 0, 0, 0, 0}, {5143, 21760, 0, 0, 0, 0, 0}, {5144, 1632, 20560, 0, 0, 0, 0}, {4377, 5171, 1792, 1365, 0, 0, 0}, {4634, 4144, 64, 1024, 0, 0, 0}, {5147, 13107, 4420, 0, 0, 0, 0}, {5148, 544, 20560, 0, 0, 0, 0}, {4381, 4386, 768, 1365, 0, 0, 0}, {5300, 7710, 8738, 17476, 0, 0, 0}, {287, 288, 768, 64, 1024, 4352, 0}, {5152, 5632, 17408, 0, 0, 0, 0}, {1370, 1381, 771, 4369, 0, 0, 0}, {5256, 7714, 8738, 20480, 0, 0, 0}, {284, 291, 771, 64, 1296, 4112, 0}, {4680, 5156, 17476, 0, 0, 0, 0}, {5135, 1317, 4864, 4437, 0, 0, 0}, {1036, 1574, 64, 4096, 0, 0, 0}, {3855, 5159, 1360, 0, 0, 0, 0}, {5160, 26112, 0, 0, 0, 0, 0}, {278, 64, 5397, 0, 0, 0, 0}, {554, 8192, 5120, 0, 0, 0, 0}, {63, 771, 4420, 5140, 0, 0, 0}, {1036, 4128, 4608, 64, 0, 0, 0}, {1370, 4386, 21845, 0, 0, 0, 0}, {3084, 4642, 5188, 0, 0, 0, 0}, {1807, 544, 1360, 4352, 0, 0, 0}, {5168, 1536, 17408, 0, 0, 0, 0}, {1290, 1397, 514, 4369, 0, 0, 0}, {1032, 514, 64, 4112, 0, 0, 0}, {4403, 1280, 0, 0, 0, 0, 0}, {520, 5172, 17476, 0, 0, 0, 0}, {1290, 1333, 768, 4437, 0, 0, 0}, {5276, 2570, 13878, 20560, 0, 0, 0}, {264, 311, 768, 64, 1280, 4096, 0}, {1032, 4144, 1536, 64, 0, 0, 0}, {1290, 4454, 21845, 0, 0, 0, 0}, {1546, 12336, 5200, 0, 0, 0, 0}, {520, 4915, 4420, 1280, 0, 0, 0}, {5180, 8704, 0, 0, 0, 0, 0}, {258, 64, 5397, 0, 0, 0, 0}, {128, 514, 5140, 0, 0, 0, 0}, {63, 768, 1280, 4352, 0, 0, 0}, {512, 64, 1024, 4096, 0, 0, 0}, {255, 1285, 4369, 0, 0, 0, 0}, {17480, 20576, 16962, 0, 0, 0, 0}, {5187, 21760, 0, 0, 0, 0, 0}, {2560, 5188, 0, 0, 0, 0, 0}, {816, 261, 4112, 0, 0, 0, 0}, {17484, 20512, 17990, 0, 0, 0, 0}, {5191, 21760, 0, 0, 0, 0, 0}, {5192, 1536, 20480, 0, 0, 0, 0}, {4377, 4454, 4883, 1285, 0, 0, 0}, {522, 4128, 64, 1024, 0, 0, 0}, {1295, 13107, 4420, 0, 0, 0, 0}, {5196, 512, 20480, 0, 0, 0, 0}, {4381, 4386, 4626, 1285, 0, 0, 0}, {5348, 2570, 8738, 17476, 0, 0, 0}, {271, 304, 512, 64, 1024, 4352, 0}, {8704, 5200, 0, 0, 0, 0, 0}, {780, 1028, 273, 0, 0, 0, 0}, {17416, 20592, 21074, 0, 0, 0, 0}, {5203, 21760, 0, 0, 0, 0, 0}, {552, 64, 1028, 4112, 0, 0, 0}, {13056, 4437, 5120, 0, 0, 0, 0}, {17420, 20528, 22102, 0, 0, 0, 0}, {5207, 21760, 0, 0, 0, 0, 0}, {5208, 5744, 20560, 0, 0, 0, 0}, {5132, 5171, 5888, 1365, 0, 0, 0}, {13914, 17408, 0, 0, 0, 0, 0}, {4128, 4883, 4356, 0, 0, 0, 0}, {5212, 4656, 20560, 0, 0, 0, 0}, {5128, 4386, 4864, 1365, 0, 0, 0}, {4144, 4626, 64, 1028, 0, 0, 0}, {1375, 4352, 0, 0, 0, 0, 0}, {5216, 4608, 17408, 0, 0, 0, 0}, {1370, 1317, 1799, 4369, 0, 0, 0}, {1032, 546, 64, 4096, 0, 0, 0}, {3855, 4403, 1360, 0, 0, 0, 0}, {5708, 5220, 17476, 0, 0, 0, 0}, {5135, 5168, 5888, 4437, 0, 0, 0}, {5324, 7782, 13926, 20480, 0, 0, 0}, {280, 295, 535, 64, 1296, 4112, 0}, {1032, 4128, 5632, 64, 0, 0, 0}, {1370, 4454, 21845, 0, 0, 0, 0}, {4714, 12288, 5120, 0, 0, 0, 0}, {4411, 4883, 4420, 5140, 0, 0, 0}, {5228, 8704, 0, 0, 0, 0, 0}, {274, 64, 5397, 0, 0, 0, 0}, {2056, 546, 5188, 0, 0, 0, 0}, {783, 816, 1360, 4352, 0, 0, 0}, {5232, 512, 17408, 0, 0, 0, 0}, {1290, 1333, 1542, 4369, 0, 0, 0}, {5336, 2570, 8738, 20560, 0, 0, 0}, {268, 307, 512, 64, 1280, 4096, 0}, {1548, 5236, 17476, 0, 0, 0, 0}, {1290, 5152, 1792, 4437, 0, 0, 0}, {1036, 1542, 64, 4112, 0, 0, 0}, {4471, 1280, 0, 0, 0, 0, 0}, {5240, 26112, 0, 0, 0, 0, 0}, {262, 64, 5397, 0, 0, 0, 0}, {522, 8224, 5200, 0, 0, 0, 0}, {780, 819, 4420, 1280, 0, 0, 0}, {1036, 4144, 512, 64, 0, 0, 0}, {1290, 4386, 21845, 0, 0, 0, 0}, {192, 4626, 5140, 0, 0, 0, 0}, {127, 512, 1280, 4352, 0, 0, 0}, {128, 512, 5120, 0, 0, 0, 0}, {63, 771, 1285, 4369, 0, 0, 0}, {5160, 8738, 0, 0, 0, 0, 0}, {259, 64, 5376, 0, 0, 0, 0}, {1548, 12288, 5188, 0, 0, 0, 0}, {522, 4896, 4437, 1285, 0, 0, 0}, {1036, 4128, 1542, 64, 0, 0, 0}, {1295, 4471, 21760, 0, 0, 0, 0}, {5256, 2560, 13824, 20480, 0, 0, 0}, {265, 310, 771, 64, 1285, 4112, 0}, {522, 5152, 17408, 0, 0, 0, 0}, {1295, 1328, 771, 4420, 0, 0, 0}, {1036, 512, 64, 4096, 0, 0, 0}, {4386, 1285, 0, 0, 0, 0, 0}, {5156, 1542, 17476, 0, 0, 0, 0}, {1295, 1392, 512, 4352, 0, 0, 0}, {3072, 4656, 5200, 0, 0, 0, 0}, {1800, 546, 1365, 4369, 0, 0, 0}, {1032, 4144, 4626, 64, 0, 0, 0}, {1375, 4403, 21760, 0, 0, 0, 0}, {552, 8224, 5140, 0, 0, 0, 0}, {63, 768, 4437, 5120, 0, 0, 0}, {5180, 26214, 0, 0, 0, 0, 0}, {279, 64, 5376, 0, 0, 0, 0}, {1032, 1568, 64, 4112, 0, 0, 0}, {3840, 5171, 1365, 0, 0, 0, 0}, {4698, 5168, 17408, 0, 0, 0, 0}, {5147, 1312, 4883, 4420, 0, 0, 0}, {5276, 7740, 8704, 20560, 0, 0, 0}, {285, 290, 768, 64, 1301, 4096, 0}, {5172, 5654, 17476, 0, 0, 0, 0}, {1375, 1376, 768, 4352, 0, 0, 0}, {5280, 7680, 8704, 17408, 0, 0, 0}, {286, 289, 771, 64, 1028, 4369, 0}, {5128, 546, 20480, 0, 0, 0, 0}, {4364, 4403, 771, 1360, 0, 0, 0}, {4616, 4128, 64, 1028, 0, 0, 0}, {5135, 13056, 4437, 0, 0, 0, 0}, {5132, 1638, 20480, 0, 0, 0, 0}, {4360, 5159, 1799, 1360, 0, 0, 0}, {17416, 20512, 5632, 0, 0, 0, 0}, {5123, 21845, 0, 0, 0, 0, 0}, {8874, 5120, 0, 0, 0, 0, 0}, {771, 276, 4112, 0, 0, 0, 0}, {17420, 20576, 4608, 0, 0, 0, 0}, {5127, 21845, 0, 0, 0, 0, 0}, {546, 64, 1028, 4096, 0, 0, 0}, {3855, 1360, 4352, 0, 0, 0, 0}, {4144, 512, 64, 1024, 0, 0, 0}, {1290, 4369, 0, 0, 0, 0, 0}, {5144, 4626, 20560, 0, 0, 0, 0}, {4428, 4403, 512, 1280, 0, 0, 0}, {13884, 17476, 0, 0, 0, 0, 0}, {4128, 768, 4373, 0, 0, 0, 0}, {5148, 5654, 20560, 0, 0, 0, 0}, {4424, 4471, 768, 1280, 0, 0, 0}, {17480, 20528, 1536, 0, 0, 0, 0}, {5139, 21845, 0, 0, 0, 0, 0}, {522, 64, 1024, 4112, 0, 0, 0}, {13107, 4420, 1280, 0, 0, 0, 0}, {17484, 20592, 512, 0, 0, 0, 0}, {5143, 21845, 0, 0, 0, 0, 0}, {8738, 5140, 0, 0, 0, 0, 0}, {63, 64, 256, 0, 0, 0, 0}, {192, 4608, 5120, 0, 0, 0, 0}, {127, 514, 1285, 4369, 0, 0, 0}, {1032, 4128, 514, 64, 0, 0, 0}, {1295, 4403, 21760, 0, 0, 0, 0}, {520, 8192, 5188, 0, 0, 0, 0}, {783, 816, 4437, 1285, 0, 0, 0}, {5228, 26214, 0, 0, 0, 0, 0}, {263, 64, 5376, 0, 0, 0, 0}, {1032, 1536, 64, 4096, 0, 0, 0}, {4454, 1285, 0, 0, 0, 0, 0}, {1546, 5216, 17408, 0, 0, 0, 0}, {1295, 5172, 1799, 4420, 0, 0, 0}, {5324, 2560, 8704, 20480, 0, 0, 0}, {269, 306, 514, 64, 1285, 4112, 0}, {5220, 514, 17476, 0, 0, 0, 0}, {1295, 1328, 1536, 4352, 0, 0, 0}, {2048, 544, 5200, 0, 0, 0, 0}, {780, 819, 1365, 4369, 0, 0, 0}, {5240, 8738, 0, 0, 0, 0, 0}, {275, 64, 5376, 0, 0, 0, 0}, {4728, 12336, 5140, 0, 0, 0, 0}, {4394, 4864, 4437, 5120, 0, 0, 0}, {1036, 4144, 5654, 64, 0, 0, 0}, {1375, 4471, 21760, 0, 0, 0, 0}, {5336, 7800, 13904, 20560, 0, 0, 0}, {281, 294, 533, 64, 1301, 4096, 0}, {5722, 5232, 17408, 0, 0, 0, 0}, {5147, 5156, 5911, 4420, 0, 0, 0}, {1036, 544, 64, 4112, 0, 0, 0}, {3840, 4386, 1365, 0, 0, 0, 0}, {5236, 4626, 17476, 0, 0, 0, 0}, {1375, 1312, 1792, 4352, 0, 0, 0}, {4128, 4608, 64, 1024, 0, 0, 0}, {1370, 4369, 0, 0, 0, 0, 0}, {5192, 4642, 20480, 0, 0, 0, 0}, {5148, 4403, 4883, 1360, 0, 0, 0}, {13932, 17476, 0, 0, 0, 0, 0}, {4144, 4864, 4373, 0, 0, 0, 0}, {5196, 5734, 20480, 0, 0, 0, 0}, {5144, 5159, 5911, 1360, 0, 0, 0}, {17480, 20576, 22016, 0, 0, 0, 0}, {5187, 21845, 0, 0, 0, 0, 0}, {554, 64, 1024, 4096, 0, 0, 0}, {13107, 4420, 5140, 0, 0, 0, 0}, {17484, 20512, 20992, 0, 0, 0, 0}, {5191, 21845, 0, 0, 0, 0, 0}, {8738, 5188, 0, 0, 0, 0, 0}, {783, 1024, 272, 0, 0, 0, 0}, {5360, 2560, 8704, 17408, 0, 0, 0}, {270, 305, 514, 64, 1028, 4369, 0}, {5208, 514, 20560, 0, 0, 0, 0}, {4364, 4403, 4608, 1280, 0, 0, 0}, {520, 4144, 64, 1028, 0, 0, 0}, {1290, 13056, 4437, 0, 0, 0, 0}, {5212, 1542, 20560, 0, 0, 0, 0}, {4360, 4471, 4864, 1280, 0, 0, 0}, {17416, 20592, 17920, 0, 0, 0, 0}, {5203, 21845, 0, 0, 0, 0, 0}, {2570, 5200, 0, 0, 0, 0, 0}, {819, 260, 4096, 0, 0, 0, 0}, {17420, 20528, 16896, 0, 0, 0, 0}, {5207, 21845, 0, 0, 0, 0, 0}, {514, 64, 1028, 4112, 0, 0, 0}, {255, 1280, 4352, 0, 0, 0, 0}, {16128, 16384, 0, 0, 0, 0, 0}, {34, 20, 257, 0, 0, 0, 0}, {5378, 21760, 0, 0, 0, 0, 0}, {16396, 16432, 771, 0, 0, 0, 0}, {13056, 68, 1028, 0, 0, 0, 0}, {10, 80, 1285, 4096, 0, 0, 0}, {5382, 21760, 0, 0, 0, 0, 0}, {16392, 16496, 1799, 0, 0, 0, 0}, {16392, 30464, 0, 0, 0, 0, 0}, {4102, 80, 1285, 0, 0, 0, 0}, {10, 8192, 5376, 0, 0, 0, 0}, {60, 771, 68, 1028, 0, 0, 0}, {16396, 13056, 0, 0, 0, 0, 0}, {4098, 80, 1285, 0, 0, 0, 0}, {10, 34, 514, 68, 1028, 4352, 0}, {240, 3855, 12288, 16384, 0, 0, 0}, {3840, 80, 4112, 0, 0, 0, 0}, {34, 68, 1024, 4369, 0, 0, 0}, {5394, 21760, 0, 0, 0, 0, 0}, {16460, 16416, 4883, 0, 0, 0, 0}, {768, 20, 4096, 0, 0, 0, 0}, {170, 5397, 0, 0, 0, 0, 0}, {5398, 21760, 0, 0, 0, 0, 0}, {16456, 16480, 5911, 0, 0, 0, 0}, {4120, 4144, 1792, 80, 0, 0, 0}, {5401, 102, 21845, 0, 0, 0, 0}, {5402, 12336, 5440, 0, 0, 0, 0}, {4891, 4915, 68, 1024, 0, 0, 0}, {4124, 4128, 768, 80, 0, 0, 0}, {5405, 34, 21845, 0, 0, 0, 0}, {30, 34, 768, 68, 1024, 4352, 0}, {160, 7967, 8224, 16448, 0, 0, 0}, {24320, 16416, 0, 0, 0, 0, 0}, {1042, 68, 4369, 0, 0, 0, 0}, {34, 5376, 0, 0, 0, 0, 0}, {60, 771, 80, 4112, 0, 0, 0}, {1036, 1060, 4864, 68, 0, 0, 0}, {90, 5413, 21845, 0, 0, 0, 0}, {3084, 5414, 5440, 0, 0, 0, 0}, {1807, 1831, 80, 4096, 0, 0, 0}, {40, 5888, 16384, 0, 0, 0, 0}, {90, 102, 771, 5397, 0, 0, 0}, {5418, 21760, 0, 0, 0, 0, 0}, {4144, 771, 20, 0, 0, 0, 0}, {4940, 4896, 16448, 0, 0, 0, 0}, {5391, 34, 4608, 5461, 0, 0, 0}, {1036, 34, 68, 4352, 0, 0, 0}, {3855, 4128, 80, 0, 0, 0, 0}, {3840, 16432, 0, 0, 0, 0, 0}, {1026, 68, 4369, 0, 0, 0, 0}, {10, 34, 514, 80, 1280, 4112, 0}, {204, 3072, 13107, 16384, 0, 0, 0}, {1032, 1076, 768, 68, 0, 0, 0}, {10, 5429, 21845, 0, 0, 0, 0}, {10, 54, 768, 80, 1280, 4096, 0}, {136, 2056, 14135, 16448, 0, 0, 0}, {1800, 1904, 16448, 0, 0, 0, 0}, {10, 5427, 1536, 5461, 0, 0, 0}, {10, 4144, 80, 1280, 0, 0, 0}, {1032, 13107, 68, 0, 0, 0, 0}, {60, 768, 16384, 0, 0, 0, 0}, {10, 34, 514, 5397, 0, 0, 0}, {258, 20, 4352, 0, 0, 0, 0}, {16576, 16191, 0, 0, 0, 0, 0}, {16320, 16448, 0, 0, 0, 0, 0}, {512, 261, 273, 0, 0, 0, 0}, {5442, 21760, 0, 0, 0, 0, 0}, {16460, 16496, 17219, 0, 0, 0, 0}, {13056, 68, 1024, 0, 0, 0, 0}, {10, 80, 1285, 4112, 0, 0, 0}, {5446, 21760, 0, 0, 0, 0, 0}, {16456, 16432, 18247, 0, 0, 0, 0}, {16456, 30464, 0, 0, 0, 0, 0}, {4118, 80, 1285, 0, 0, 0, 0}, {10, 8224, 5440, 0, 0, 0, 0}, {783, 819, 68, 1024, 0, 0, 0}, {16460, 13056, 0, 0, 0, 0, 0}, {4114, 80, 1285, 0, 0, 0, 0}, {10, 34, 512, 68, 1024, 4352, 0}, {240, 3855, 12336, 16448, 0, 0, 0}, {3840, 80, 4096, 0, 0, 0, 0}, {34, 68, 1028, 4369, 0, 0, 0}, {5458, 21760, 0, 0, 0, 0, 0}, {16396, 16480, 21331, 0, 0, 0, 0}, {816, 20, 4112, 0, 0, 0, 0}, {10752, 5461, 0, 0, 0, 0, 0}, {5462, 21760, 0, 0, 0, 0, 0}, {16392, 16416, 22359, 0, 0, 0, 0}, {4104, 4128, 5888, 80, 0, 0, 0}, {5465, 102, 21845, 0, 0, 0, 0}, {90, 12288, 5376, 0, 0, 0, 0}, {40, 4883, 68, 1028, 0, 0, 0}, {4108, 4144, 4864, 80, 0, 0, 0}, {5469, 34, 21845, 0, 0, 0, 0}, {30, 34, 786, 68, 1028, 4352, 0}, {160, 8031, 8192, 16384, 0, 0, 0}, {24320, 16480, 0, 0, 0, 0, 0}, {1046, 68, 4369, 0, 0, 0, 0}, {2056, 34, 5440, 0, 0, 0, 0}, {783, 819, 80, 4096, 0, 0, 0}, {1032, 1056, 5888, 68, 0, 0, 0}, {90, 5477, 21845, 0, 0, 0, 0}, {102, 5376, 0, 0, 0, 0, 0}, {40, 1799, 80, 4112, 0, 0, 0}, {5960, 5984, 16448, 0, 0, 0, 0}, {5391, 5427, 5632, 5461, 0, 0, 0}, {5482, 21760, 0, 0, 0, 0, 0}, {4128, 4883, 20, 0, 0, 0, 0}, {108, 4864, 16384, 0, 0, 0, 0}, {90, 34, 4626, 5397, 0, 0, 0}, {1032, 34, 68, 4352, 0, 0, 0}, {3855, 4144, 80, 0, 0, 0, 0}, {3840, 16496, 0, 0, 0, 0, 0}, {1030, 68, 4369, 0, 0, 0, 0}, {10, 34, 512, 80, 1280, 4096, 0}, {204, 3084, 13107, 16448, 0, 0, 0}, {1036, 1072, 1792, 68, 0, 0, 0}, {10, 5493, 21845, 0, 0, 0, 0}, {10, 54, 774, 80, 1280, 4112, 0}, {136, 2048, 14199, 16384, 0, 0, 0}, {120, 1792, 16384, 0, 0, 0, 0}, {10, 102, 4883, 5397, 0, 0, 0}, {10, 4128, 80, 1280, 0, 0, 0}, {1036, 13107, 68, 0, 0, 0, 0}, {780, 816, 16448, 0, 0, 0, 0}, {10, 34, 512, 5461, 0, 0, 0}, {274, 20, 4352, 0, 0, 0, 0}, {16512, 32639, 0, 0, 0, 0, 0}, {16512, 16128, 0, 0, 0, 0, 0}, {259, 20, 4369, 0, 0, 0, 0}, {10, 34, 512, 5376, 0, 0, 0}, {60, 771, 16448, 0, 0, 0, 0}, {1036, 13056, 68, 0, 0, 0, 0}, {10, 4128, 80, 1285, 0, 0, 0}, {10, 5414, 1542, 5440, 0, 0, 0}, {1807, 1911, 16384, 0, 0, 0, 0}, {136, 2048, 14080, 16384, 0, 0, 0}, {10, 54, 771, 80, 1285, 4112, 0}, {10, 5408, 21760, 0, 0, 0, 0}, {1036, 1072, 771, 68, 0, 0, 0}, {204, 3084, 13056, 16448, 0, 0, 0}, {10, 34, 512, 80, 1285, 4096, 0}, {1030, 68, 4352, 0, 0, 0, 0}, {3855, 16496, 0, 0, 0, 0, 0}, {3840, 4144, 80, 0, 0, 0, 0}, {1032, 34, 68, 4369, 0, 0, 0}, {5402, 34, 4626, 5440, 0, 0, 0}, {4959, 4915, 16384, 0, 0, 0, 0}, {4128, 768, 20, 0, 0, 0, 0}, {5439, 21845, 0, 0, 0, 0, 0}, {90, 102, 768, 5376, 0, 0, 0}, {40, 5911, 16448, 0, 0, 0, 0}, {1800, 1824, 80, 4112, 0, 0, 0}, {3072, 5427, 5461, 0, 0, 0, 0}, {90, 5424, 21760, 0, 0, 0, 0}, {1032, 1056, 4883, 68, 0, 0, 0}, {60, 768, 80, 4096, 0, 0, 0}, {34, 5397, 0, 0, 0, 0, 0}, {1046, 68, 4352, 0, 0, 0, 0}, {24415, 16480, 0, 0, 0, 0, 0}, {160, 7936, 8192, 16384, 0, 0, 0}, {30, 34, 771, 68, 1028, 4369, 0}, {5384, 34, 21760, 0, 0, 0, 0}, {4108, 4144, 771, 80, 0, 0, 0}, {4872, 4896, 68, 1028, 0, 0, 0}, {5391, 12288, 5461, 0, 0, 0, 0}, {5388, 102, 21760, 0, 0, 0, 0}, {4104, 4128, 1799, 80, 0, 0, 0}, {16392, 16416, 5888, 0, 0, 0, 0}, {5379, 21845, 0, 0, 0, 0, 0}, {170, 5376, 0, 0, 0, 0, 0}, {771, 20, 4112, 0, 0, 0, 0}, {16396, 16480, 4864, 0, 0, 0, 0}, {5383, 21845, 0, 0, 0, 0, 0}, {34, 68, 1028, 4352, 0, 0, 0}, {3855, 80, 4096, 0, 0, 0, 0}, {240, 3840, 12336, 16448, 0, 0, 0}, {10, 34, 512, 68, 1024, 4369, 0}, {4114, 80, 1280, 0, 0, 0, 0}, {16460, 13107, 0, 0, 0, 0, 0}, {60, 768, 68, 1024, 0, 0, 0}, {10, 8224, 5397, 0, 0, 0, 0}, {4118, 80, 1280, 0, 0, 0, 0}, {16456, 30583, 0, 0, 0, 0, 0}, {16456, 16432, 1792, 0, 0, 0, 0}, {5395, 21845, 0, 0, 0, 0, 0}, {10, 80, 1280, 4112, 0, 0, 0}, {13107, 68, 1024, 0, 0, 0, 0}, {16460, 16496, 768, 0, 0, 0, 0}, {5399, 21845, 0, 0, 0, 0, 0}, {34, 20, 256, 0, 0, 0, 0}, {16191, 16448, 0, 0, 0, 0, 0}, {16576, 32512, 0, 0, 0, 0, 0}, {275, 20, 4369, 0, 0, 0, 0}, {10, 34, 514, 5440, 0, 0, 0}, {783, 819, 16384, 0, 0, 0, 0}, {1032, 13056, 68, 0, 0, 0, 0}, {10, 4144, 80, 1285, 0, 0, 0}, {10, 102, 4864, 5376, 0, 0, 0}, {120, 1799, 16448, 0, 0, 0, 0}, {136, 2056, 14144, 16448, 0, 0, 0}, {10, 54, 773, 80, 1285, 4096, 0}, {10, 5472, 21760, 0, 0, 0, 0}, {1032, 1076, 1799, 68, 0, 0, 0}, {204, 3072, 13056, 16384, 0, 0, 0}, {10, 34, 514, 80, 1285, 4112, 0}, {1026, 68, 4352, 0, 0, 0, 0}, {3855, 16432, 0, 0, 0, 0, 0}, {3840, 4128, 80, 0, 0, 0, 0}, {1036, 34, 68, 4369, 0, 0, 0}, {90, 34, 4608, 5376, 0, 0, 0}, {108, 4883, 16448, 0, 0, 0, 0}, {4144, 4864, 20, 0, 0, 0, 0}, {5503, 21845, 0, 0, 0, 0, 0}, {5402, 5414, 5654, 5440, 0, 0, 0}, {5983, 6007, 16384, 0, 0, 0, 0}, {40, 1792, 80, 4096, 0, 0, 0}, {102, 5397, 0, 0, 0, 0, 0}, {90, 5488, 21760, 0, 0, 0, 0}, {1036, 1060, 5911, 68, 0, 0, 0}, {780, 816, 80, 4112, 0, 0, 0}, {2048, 34, 5461, 0, 0, 0, 0}, {1042, 68, 4352, 0, 0, 0, 0}, {24415, 16416, 0, 0, 0, 0, 0}, {160, 8000, 8224, 16448, 0, 0, 0}, {30, 34, 785, 68, 1024, 4369, 0}, {5448, 34, 21760, 0, 0, 0, 0}, {4124, 4128, 4883, 80, 0, 0, 0}, {40, 4864, 68, 1024, 0, 0, 0}, {90, 12336, 5397, 0, 0, 0, 0}, {5452, 102, 21760, 0, 0, 0, 0}, {4120, 4144, 5911, 80, 0, 0, 0}, {16456, 16480, 22272, 0, 0, 0, 0}, {5443, 21845, 0, 0, 0, 0, 0}, {10794, 5440, 0, 0, 0, 0, 0}, {819, 20, 4096, 0, 0, 0, 0}, {16460, 16416, 21248, 0, 0, 0, 0}, {5447, 21845, 0, 0, 0, 0, 0}, {34, 68, 1024, 4352, 0, 0, 0}, {3855, 80, 4112, 0, 0, 0, 0}, {240, 3840, 12288, 16384, 0, 0, 0}, {10, 34, 514, 68, 1028, 4369, 0}, {4098, 80, 1280, 0, 0, 0, 0}, {16396, 13107, 0, 0, 0, 0, 0}, {780, 816, 68, 1028, 0, 0, 0}, {10, 8192, 5461, 0, 0, 0, 0}, {4102, 80, 1280, 0, 0, 0, 0}, {16392, 30583, 0, 0, 0, 0, 0}, {16392, 16496, 18176, 0, 0, 0, 0}, {5459, 21845, 0, 0, 0, 0, 0}, {10, 80, 1280, 4096, 0, 0, 0}, {13107, 68, 1028, 0, 0, 0, 0}, {16396, 16432, 17152, 0, 0, 0, 0}, {5463, 21845, 0, 0, 0, 0, 0}, {514, 260, 272, 0, 0, 0, 0}, {16383, 16384, 0, 0, 0, 0, 0}, {49152, 0, 0, 0, 0, 0, 0}, {2, 5, 17, 257, 0, 0, 0}, {2, 16384, 0, 0, 0, 0, 0}, {15, 51, 771, 0, 0, 0, 0}, {8, 68, 1028, 0, 0, 0, 0}, {12288, 5, 0, 0, 0, 0, 0}, {10, 102, 1542, 0, 0, 0, 0}, {7, 16384, 0, 0, 0, 0, 0}, {8, 16384, 0, 0, 0, 0, 0}, {51, 771, 5, 0, 0, 0, 0}, {10, 24576, 0, 0, 0, 0, 0}, {7, 68, 1028, 0, 0, 0, 0}, {204, 3084, 0, 0, 0, 0, 0}, {2, 5, 4096, 0, 0, 0, 0}, {2, 68, 1028, 0, 0, 0, 0}, {15, 12288, 0, 0, 0, 0, 0}, {32, 80, 4112, 0, 0, 0, 0}, {3072, 17, 0, 0, 0, 0, 0}, {90, 34, 4626, 0, 0, 0, 0}, {19, 16384, 0, 0, 0, 0, 0}, {12288, 20, 0, 0, 0, 0, 0}, {42, 85, 5397, 0, 0, 0, 0}, {22, 16384, 0, 0, 0, 0, 0}, {95, 119, 5911, 0, 0, 0, 0}, {40, 12336, 80, 0, 0, 0, 0}, {25, 51, 85, 5376, 0, 0, 0}, {90, 112, 16448, 0, 0, 0, 0}, {27, 51, 5888, 68, 0, 0, 0}, {28, 32, 80, 4096, 0, 0, 0}, {7453, 34, 85, 0, 0, 0, 0}, {30, 34, 4608, 68, 0, 0, 0}, {95, 32, 16448, 0, 0, 0, 0}, {32, 16384, 0, 0, 0, 0, 0}, {15, 771, 17, 0, 0, 0, 0}, {18432, 34, 0, 0, 0, 0, 0}, {19, 80, 4112, 0, 0, 0, 0}, {40, 9252, 68, 0, 0, 0, 0}, {15, 37, 85, 5376, 0, 0, 0}, {76, 102, 16448, 0, 0, 0, 0}, {15, 39, 5888, 80, 0, 0, 0}, {40, 24576, 0, 0, 0, 0, 0}, {22, 85, 5397, 0, 0, 0, 0}, {42, 16384, 0, 0, 0, 0, 0}, {51, 771, 20, 0, 0, 0, 0}, {76, 32, 16448, 0, 0, 0, 0}, {15, 34, 4608, 85, 0, 0, 0}, {3084, 34, 68, 0, 0, 0, 0}, {15, 32, 80, 4096, 0, 0, 0}, {240, 12336, 0, 0, 0, 0, 0}, {2, 1024, 17, 0, 0, 0, 0}, {2, 80, 4112, 0, 0, 0, 0}, {3072, 51, 0, 0, 0, 0, 0}, {8, 52, 68, 1024, 0, 0, 0}, {10, 13621, 85, 0, 0, 0, 0}, {10, 54, 1536, 80, 0, 0, 0}, {8, 119, 16448, 0, 0, 0, 0}, {8, 112, 16448, 0, 0, 0, 0}, {10, 51, 1536, 85, 0, 0, 0}, {10, 12336, 80, 0, 0, 0, 0}, {8, 51, 68, 1024, 0, 0, 0}, {60, 12288, 0, 0, 0, 0, 0}, {2, 85, 5397, 0, 0, 0, 0}, {2, 20, 4096, 0, 0, 0, 0}, {255, 16191, 0, 0, 0, 0, 0}, {128, 16448, 0, 0, 0, 0, 0}, {768, 5, 17, 0, 0, 0, 0}, {10, 34, 16962, 0, 0, 0, 0}, {67, 16384, 0, 0, 0, 0, 0}, {3072, 68, 0, 0, 0, 0, 0}, {32, 5, 4112, 0, 0, 0, 0}, {70, 16384, 0, 0, 0, 0, 0}, {15, 119, 18247, 0, 0, 0, 0}, {136, 18504, 0, 0, 0, 0, 0}, {19, 5, 4096, 0, 0, 0, 0}, {10, 32, 16448, 0, 0, 0, 0}, {15, 51, 768, 68, 0, 0, 0}, {76, 16384, 0, 0, 0, 0, 0}, {34, 4626, 5, 0, 0, 0, 0}, {10, 34, 1536, 68, 0, 0, 0}, {15, 112, 16448, 0, 0, 0, 0}, {12288, 80, 0, 0, 0, 0, 0}, {8, 1028, 17, 0, 0, 0, 0}, {82, 16384, 0, 0, 0, 0, 0}, {95, 51, 21331, 0, 0, 0, 0}, {32, 20, 4112, 0, 0, 0, 0}, {16128, 85, 0, 0, 0, 0, 0}, {90, 102, 22102, 0, 0, 0, 0}, {87, 16384, 0, 0, 0, 0, 0}, {8, 32, 80, 4096, 0, 0, 0}, {3084, 51, 85, 0, 0, 0, 0}, {90, 12288, 0, 0, 0, 0, 0}, {19, 68, 1028, 0, 0, 0, 0}, {60, 12336, 80, 0, 0, 0, 0}, {8, 34, 85, 5376, 0, 0, 0}, {22, 68, 1028, 0, 0, 0, 0}, {95, 24576, 0, 0, 0, 0, 0}, {160, 24672, 0, 0, 0, 0, 0}, {7, 1024, 17, 0, 0, 0, 0}, {8, 34, 16448, 0, 0, 0, 0}, {15, 51, 768, 80, 0, 0, 0}, {8, 32, 68, 1024, 0, 0, 0}, {15, 12336, 85, 0, 0, 0, 0}, {3072, 102, 0, 0, 0, 0, 0}, {7, 80, 4112, 0, 0, 0, 0}, {8, 32, 16448, 0, 0, 0, 0}, {15, 51, 768, 85, 0, 0, 0}, {170, 27242, 0, 0, 0, 0, 0}, {19, 20, 4096, 0, 0, 0, 0}, {108, 24576, 0, 0, 0, 0, 0}, {7, 85, 5397, 0, 0, 0, 0}, {8, 34, 68, 1024, 0, 0, 0}, {15, 12336, 80, 0, 0, 0, 0}, {112, 16384, 0, 0, 0, 0, 0}, {10, 1542, 17, 0, 0, 0, 0}, {10, 34, 4608, 80, 0, 0, 0}, {76, 51, 16448, 0, 0, 0, 0}, {60, 12336, 68, 0, 0, 0, 0}, {10, 32, 85, 5376, 0, 0, 0}, {22, 80, 4112, 0, 0, 0, 0}, {18432, 119, 0, 0, 0, 0, 0}, {120, 12288, 0, 0, 0, 0, 0}, {19, 85, 5397, 0, 0, 0, 0}, {10, 32, 80, 4096, 0, 0, 0}, {3084, 51, 68, 0, 0, 0, 0}, {76, 112, 16448, 0, 0, 0, 0}, {10, 34, 5888, 85, 0, 0, 0}, {34, 4626, 20, 0, 0, 0, 0}, {127, 16384, 0, 0, 0, 0, 0}, {128, 16384, 0, 0, 0, 0, 0}, {771, 5, 17, 0, 0, 0, 0}, {10, 34, 16896, 0, 0, 0, 0}, {67, 16448, 0, 0, 0, 0, 0}, {3084, 68, 0, 0, 0, 0, 0}, {32, 5, 4096, 0, 0, 0, 0}, {70, 16448, 0, 0, 0, 0, 0}, {15, 119, 18176, 0, 0, 0, 0}, {136, 18432, 0, 0, 0, 0, 0}, {19, 5, 4112, 0, 0, 0, 0}, {10, 32, 16384, 0, 0, 0, 0}, {15, 51, 771, 68, 0, 0, 0}, {76, 16448, 0, 0, 0, 0, 0}, {34, 4608, 5, 0, 0, 0, 0}, {10, 34, 1542, 68, 0, 0, 0}, {15, 112, 16384, 0, 0, 0, 0}, {12336, 80, 0, 0, 0, 0, 0}, {8, 1024, 17, 0, 0, 0, 0}, {82, 16448, 0, 0, 0, 0, 0}, {95, 51, 21248, 0, 0, 0, 0}, {32, 20, 4096, 0, 0, 0, 0}, {16191, 85, 0, 0, 0, 0, 0}, {90, 102, 22016, 0, 0, 0, 0}, {87, 16448, 0, 0, 0, 0, 0}, {8, 32, 80, 4112, 0, 0, 0}, {3072, 51, 85, 0, 0, 0, 0}, {90, 12336, 0, 0, 0, 0, 0}, {19, 68, 1024, 0, 0, 0, 0}, {60, 12288, 80, 0, 0, 0, 0}, {8, 34, 85, 5397, 0, 0, 0}, {22, 68, 1024, 0, 0, 0, 0}, {95, 24672, 0, 0, 0, 0, 0}, {160, 24576, 0, 0, 0, 0, 0}, {7, 1028, 17, 0, 0, 0, 0}, {8, 34, 16384, 0, 0, 0, 0}, {15, 51, 771, 80, 0, 0, 0}, {8, 32, 68, 1028, 0, 0, 0}, {15, 12288, 85, 0, 0, 0, 0}, {3084, 102, 0, 0, 0, 0, 0}, {7, 80, 4096, 0, 0, 0, 0}, {8, 32, 16384, 0, 0, 0, 0}, {15, 51, 771, 85, 0, 0, 0}, {170, 27136, 0, 0, 0, 0, 0}, {19, 20, 4112, 0, 0, 0, 0}, {108, 24672, 0, 0, 0, 0, 0}, {7, 85, 5376, 0, 0, 0, 0}, {8, 34, 68, 1028, 0, 0, 0}, {15, 12288, 80, 0, 0, 0, 0}, {112, 16448, 0, 0, 0, 0, 0}, {10, 1536, 17, 0, 0, 0, 0}, {10, 34, 4626, 80, 0, 0, 0}, {76, 51, 16384, 0, 0, 0, 0}, {60, 12288, 68, 0, 0, 0, 0}, {10, 32, 85, 5397, 0, 0, 0}, {22, 80, 4096, 0, 0, 0, 0}, {18504, 119, 0, 0, 0, 0, 0}, {120, 12336, 0, 0, 0, 0, 0}, {19, 85, 5376, 0, 0, 0, 0}, {10, 32, 80, 4112, 0, 0, 0}, {3072, 51, 68, 0, 0, 0, 0}, {76, 112, 16384, 0, 0, 0, 0}, {10, 34, 5911, 85, 0, 0, 0}, {34, 4608, 20, 0, 0, 0, 0}, {127, 16448, 0, 0, 0, 0, 0}, {49344, 0, 0, 0, 0, 0, 0}, {2, 5, 17, 256, 0, 0, 0}, {2, 16448, 0, 0, 0, 0, 0}, {15, 51, 768, 0, 0, 0, 0}, {8, 68, 1024, 0, 0, 0, 0}, {12336, 5, 0, 0, 0, 0, 0}, {10, 102, 1536, 0, 0, 0, 0}, {7, 16448, 0, 0, 0, 0, 0}, {8, 16448, 0, 0, 0, 0, 0}, {51, 768, 5, 0, 0, 0, 0}, {10, 24672, 0, 0, 0, 0, 0}, {7, 68, 1024, 0, 0, 0, 0}, {204, 3072, 0, 0, 0, 0, 0}, {2, 5, 4112, 0, 0, 0, 0}, {2, 68, 1024, 0, 0, 0, 0}, {15, 12336, 0, 0, 0, 0, 0}, {32, 80, 4096, 0, 0, 0, 0}, {3084, 17, 0, 0, 0, 0, 0}, {90, 34, 4608, 0, 0, 0, 0}, {19, 16448, 0, 0, 0, 0, 0}, {12336, 20, 0, 0, 0, 0, 0}, {42, 85, 5376, 0, 0, 0, 0}, {22, 16448, 0, 0, 0, 0, 0}, {95, 119, 5888, 0, 0, 0, 0}, {40, 12288, 80, 0, 0, 0, 0}, {25, 51, 85, 5397, 0, 0, 0}, {90, 112, 16384, 0, 0, 0, 0}, {27, 51, 5911, 68, 0, 0, 0}, {28, 32, 80, 4112, 0, 0, 0}, {7424, 34, 85, 0, 0, 0, 0}, {30, 34, 4626, 68, 0, 0, 0}, {95, 32, 16384, 0, 0, 0, 0}, {32, 16448, 0, 0, 0, 0, 0}, {15, 768, 17, 0, 0, 0, 0}, {18504, 34, 0, 0, 0, 0, 0}, {19, 80, 4096, 0, 0, 0, 0}, {40, 9216, 68, 0, 0, 0, 0}, {15, 37, 85, 5397, 0, 0, 0}, {76, 102, 16384, 0, 0, 0, 0}, {15, 39, 5911, 80, 0, 0, 0}, {40, 24672, 0, 0, 0, 0, 0}, {22, 85, 5376, 0, 0, 0, 0}, {42, 16448, 0, 0, 0, 0, 0}, {51, 768, 20, 0, 0, 0, 0}, {76, 32, 16384, 0, 0, 0, 0}, {15, 34, 4626, 85, 0, 0, 0}, {3072, 34, 68, 0, 0, 0, 0}, {15, 32, 80, 4112, 0, 0, 0}, {240, 12288, 0, 0, 0, 0, 0}, {2, 1028, 17, 0, 0, 0, 0}, {2, 80, 4096, 0, 0, 0, 0}, {3084, 51, 0, 0, 0, 0, 0}, {8, 52, 68, 1028, 0, 0, 0}, {10, 13568, 85, 0, 0, 0, 0}, {10, 54, 1542, 80, 0, 0, 0}, {8, 119, 16384, 0, 0, 0, 0}, {8, 112, 16384, 0, 0, 0, 0}, {10, 51, 1542, 85, 0, 0, 0}, {10, 12288, 80, 0, 0, 0, 0}, {8, 51, 68, 1028, 0, 0, 0}, {60, 12336, 0, 0, 0, 0, 0}, {2, 85, 5376, 0, 0, 0, 0}, {2, 20, 4112, 0, 0, 0, 0}, {255, 16128, 0, 0, 0, 0, 0}, {512, 1280, 4352, 0, 0, 0, 0}, {192, 257, 0, 0, 0, 0, 0}, {1290, 4386, 514, 0, 0, 0, 0}, {259, 16384, 0, 0, 0, 0, 0}, {12288, 260, 0, 0, 0, 0, 0}, {522, 4437, 1285, 0, 0, 0, 0}, {262, 16384, 0, 0, 0, 0, 0}, {1295, 4471, 1799, 0, 0, 0, 0}, {520, 13056, 1280, 0, 0, 0, 0}, {265, 771, 4176, 1285, 0, 0, 0}, {1290, 1792, 17408, 0, 0, 0, 0}, {267, 4208, 771, 1028, 0, 0, 0}, {268, 512, 1280, 4096, 0, 0, 0}, {4573, 514, 1285, 0, 0, 0, 0}, {270, 4128, 514, 1028, 0, 0, 0}, {1295, 512, 17408, 0, 0, 0, 0}, {3072, 272, 0, 0, 0, 0, 0}, {546, 1365, 4369, 0, 0, 0, 0}, {274, 16384, 0, 0, 0, 0, 0}, {1375, 4403, 4883, 0, 0, 0, 0}, {552, 4420, 5140, 0, 0, 0, 0}, {12288, 277, 0, 0, 0, 0, 0}, {1370, 4454, 5654, 0, 0, 0, 0}, {279, 16384, 0, 0, 0, 0, 0}, {280, 816, 4176, 5376, 0, 0, 0}, {554, 13107, 1365, 0, 0, 0, 0}, {282, 5168, 5888, 1088, 0, 0, 0}, {1375, 1911, 17476, 0, 0, 0, 0}, {7196, 544, 1360, 0, 0, 0, 0}, {285, 546, 1365, 4096, 0, 0, 0}, {1370, 546, 17476, 0, 0, 0, 0}, {287, 4128, 4608, 1088, 0, 0, 0}, {3840, 544, 4352, 0, 0, 0, 0}, {289, 771, 1092, 4369, 0, 0, 0}, {4386, 4864, 20480, 0, 0, 0, 0}, {1100, 291, 771, 4112, 0, 0, 0}, {780, 292, 4420, 5376, 0, 0, 0}, {554, 9509, 4437, 0, 0, 0, 0}, {5132, 294, 5888, 4160, 0, 0, 0}, {4959, 4471, 20560, 0, 0, 0, 0}, {5160, 5632, 21760, 0, 0, 0, 0}, {4441, 4208, 771, 5397, 0, 0, 0}, {554, 13056, 5120, 0, 0, 0, 0}, {299, 771, 4176, 5140, 0, 0, 0}, {4364, 4128, 4608, 5440, 0, 0, 0}, {5722, 546, 21845, 0, 0, 0, 0}, {780, 546, 1092, 4096, 0, 0, 0}, {3855, 544, 5200, 0, 0, 0, 0}, {304, 512, 1024, 4352, 0, 0, 0}, {1525, 514, 4369, 0, 0, 0, 0}, {1032, 306, 514, 4112, 0, 0, 0}, {4403, 512, 20480, 0, 0, 0, 0}, {520, 13364, 4420, 0, 0, 0, 0}, {522, 309, 4437, 1024, 0, 0, 0}, {522, 4454, 20560, 0, 0, 0, 0}, {1032, 311, 1536, 4160, 0, 0, 0}, {1032, 1328, 1536, 5440, 0, 0, 0}, {522, 5734, 21845, 0, 0, 0, 0}, {522, 816, 4176, 1024, 0, 0, 0}, {520, 13107, 5188, 0, 0, 0, 0}, {5180, 512, 21760, 0, 0, 0, 0}, {4381, 4128, 514, 5397, 0, 0, 0}, {4590, 514, 5140, 0, 0, 0, 0}, {319, 512, 1024, 4096, 0, 0, 0}, {768, 320, 1280, 4352, 0, 0, 0}, {642, 1285, 4369, 0, 0, 0, 0}, {322, 16384, 0, 0, 0, 0, 0}, {1295, 4403, 17219, 0, 0, 0, 0}, {8192, 4420, 1280, 0, 0, 0, 0}, {783, 325, 1285, 4112, 0, 0, 0}, {1290, 4454, 17990, 0, 0, 0, 0}, {327, 16384, 0, 0, 0, 0, 0}, {328, 768, 1280, 4096, 0, 0, 0}, {4505, 4883, 1285, 0, 0, 0, 0}, {1290, 4128, 768, 1088, 0, 0, 0}, {1295, 4915, 17476, 0, 0, 0, 0}, {4940, 8704, 1280, 0, 0, 0, 0}, {4381, 4626, 4176, 1285, 0, 0, 0}, {1290, 5734, 17476, 0, 0, 0, 0}, {1295, 5168, 1536, 1088, 0, 0, 0}, {2048, 1360, 4352, 0, 0, 0, 0}, {819, 337, 1028, 4369, 0, 0, 0}, {1370, 4386, 21074, 0, 0, 0, 0}, {339, 16384, 0, 0, 0, 0, 0}, {828, 340, 1028, 4112, 0, 0, 0}, {8192, 4437, 5120, 0, 0, 0, 0}, {342, 16384, 0, 0, 0, 0, 0}, {1375, 4471, 22359, 0, 0, 0, 0}, {2056, 4896, 1360, 0, 0, 0, 0}, {1036, 819, 1365, 4096, 0, 0, 0}, {1370, 4864, 17408, 0, 0, 0, 0}, {347, 4128, 4883, 1028, 0, 0, 0}, {4364, 4656, 4176, 5376, 0, 0, 0}, {5674, 8738, 1365, 0, 0, 0, 0}, {350, 4208, 4626, 1028, 0, 0, 0}, {1375, 5632, 17408, 0, 0, 0, 0}, {352, 768, 1024, 4352, 0, 0, 0}, {1445, 1799, 4369, 0, 0, 0, 0}, {1032, 4386, 768, 4160, 0, 0, 0}, {1807, 4403, 20560, 0, 0, 0, 0}, {1800, 8224, 4420, 0, 0, 0, 0}, {783, 4144, 4437, 1024, 0, 0, 0}, {4454, 1792, 20480, 0, 0, 0, 0}, {1032, 359, 1799, 4112, 0, 0, 0}, {1032, 4128, 768, 5440, 0, 0, 0}, {1807, 4915, 21845, 0, 0, 0, 0}, {362, 768, 1024, 4096, 0, 0, 0}, {4539, 4883, 5140, 0, 0, 0, 0}, {5228, 1792, 21760, 0, 0, 0, 0}, {4381, 4208, 4626, 5397, 0, 0, 0}, {1800, 8738, 5188, 0, 0, 0, 0}, {783, 4656, 4176, 1024, 0, 0, 0}, {2560, 1904, 4352, 0, 0, 0, 0}, {1333, 1542, 1092, 4369, 0, 0, 0}, {5722, 4386, 20560, 0, 0, 0, 0}, {5132, 4403, 4608, 4160, 0, 0, 0}, {4876, 4144, 4420, 5376, 0, 0, 0}, {5674, 8224, 4437, 0, 0, 0, 0}, {1100, 374, 1542, 4112, 0, 0, 0}, {4471, 5632, 20480, 0, 0, 0, 0}, {5240, 4864, 21760, 0, 0, 0, 0}, {4441, 4128, 4883, 5397, 0, 0, 0}, {2570, 4896, 5200, 0, 0, 0, 0}, {1548, 819, 1092, 4096, 0, 0, 0}, {4364, 1328, 5888, 5440, 0, 0, 0}, {4959, 1911, 21845, 0, 0, 0, 0}, {4398, 4626, 4176, 5140, 0, 0, 0}, {4991, 8704, 5120, 0, 0, 0, 0}, {640, 1280, 4352, 0, 0, 0, 0}, {771, 321, 1285, 4369, 0, 0, 0}, {1290, 4386, 17152, 0, 0, 0, 0}, {323, 16448, 0, 0, 0, 0, 0}, {780, 324, 1280, 4096, 0, 0, 0}, {8224, 4437, 1285, 0, 0, 0, 0}, {326, 16448, 0, 0, 0, 0, 0}, {1295, 4471, 17920, 0, 0, 0, 0}, {4488, 4864, 1280, 0, 0, 0, 0}, {329, 771, 1285, 4112, 0, 0, 0}, {1290, 4896, 17408, 0, 0, 0, 0}, {1295, 4144, 771, 1092, 0, 0, 0}, {4364, 4608, 4160, 1280, 0, 0, 0}, {4959, 8738, 1285, 0, 0, 0, 0}, {1290, 5156, 1542, 1092, 0, 0, 0}, {1295, 5744, 17408, 0, 0, 0, 0}, {816, 336, 1024, 4352, 0, 0, 0}, {2056, 1365, 4369, 0, 0, 0, 0}, {338, 16448, 0, 0, 0, 0, 0}, {1375, 4403, 20992, 0, 0, 0, 0}, {8224, 4420, 5140, 0, 0, 0, 0}, {831, 341, 1024, 4096, 0, 0, 0}, {1370, 4454, 22272, 0, 0, 0, 0}, {343, 16448, 0, 0, 0, 0, 0}, {1032, 816, 1360, 4112, 0, 0, 0}, {2048, 4915, 1365, 0, 0, 0, 0}, {346, 4144, 4864, 1024, 0, 0, 0}, {1375, 4883, 17476, 0, 0, 0, 0}, {5692, 8704, 1360, 0, 0, 0, 0}, {4381, 4642, 4160, 5397, 0, 0, 0}, {1370, 5654, 17476, 0, 0, 0, 0}, {351, 4192, 4608, 1024, 0, 0, 0}, {1440, 1792, 4352, 0, 0, 0, 0}, {353, 771, 1028, 4369, 0, 0, 0}, {1800, 4386, 20480, 0, 0, 0, 0}, {1036, 4403, 771, 4176, 0, 0, 0}, {780, 4128, 4420, 1028, 0, 0, 0}, {1807, 8192, 4437, 0, 0, 0, 0}, {1036, 358, 1792, 4096, 0, 0, 0}, {4471, 1799, 20560, 0, 0, 0, 0}, {1800, 4896, 21760, 0, 0, 0, 0}, {1036, 4144, 771, 5461, 0, 0, 0}, {4522, 4864, 5120, 0, 0, 0, 0}, {363, 771, 1028, 4112, 0, 0, 0}, {4364, 4192, 4608, 5376, 0, 0, 0}, {5240, 1799, 21845, 0, 0, 0, 0}, {780, 4642, 4160, 1028, 0, 0, 0}, {1807, 8704, 5200, 0, 0, 0, 0}, {1328, 1536, 1088, 4352, 0, 0, 0}, {2570, 1911, 4369, 0, 0, 0, 0}, {5144, 4386, 4626, 4176, 0, 0, 0}, {5708, 4403, 20480, 0, 0, 0, 0}, {5692, 8192, 4420, 0, 0, 0, 0}, {4895, 4128, 4437, 5397, 0, 0, 0}, {4454, 5654, 20560, 0, 0, 0, 0}, {1096, 375, 1536, 4096, 0, 0, 0}, {4424, 4144, 4864, 5376, 0, 0, 0}, {5228, 4883, 21845, 0, 0, 0, 0}, {1546, 816, 1088, 4112, 0, 0, 0}, {2560, 4915, 5188, 0, 0, 0, 0}, {4940, 1904, 21760, 0, 0, 0, 0}, {4381, 1333, 5911, 5461, 0, 0, 0}, {4972, 8738, 5140, 0, 0, 0, 0}, {4415, 4608, 4160, 5120, 0, 0, 0}, {192, 256, 0, 0, 0, 0, 0}, {514, 1285, 4369, 0, 0, 0, 0}, {258, 16448, 0, 0, 0, 0, 0}, {1295, 4403, 512, 0, 0, 0, 0}, {520, 4420, 1280, 0, 0, 0, 0}, {12336, 261, 0, 0, 0, 0, 0}, {1290, 4454, 1792, 0, 0, 0, 0}, {263, 16448, 0, 0, 0, 0, 0}, {264, 768, 4160, 1280, 0, 0, 0}, {522, 13107, 1285, 0, 0, 0, 0}, {266, 4192, 768, 1024, 0, 0, 0}, {1295, 1799, 17476, 0, 0, 0, 0}, {4556, 512, 1280, 0, 0, 0, 0}, {269, 514, 1285, 4112, 0, 0, 0}, {1290, 514, 17476, 0, 0, 0, 0}, {271, 4144, 512, 1024, 0, 0, 0}, {544, 1360, 4352, 0, 0, 0, 0}, {3084, 273, 0, 0, 0, 0, 0}, {1370, 4386, 4864, 0, 0, 0, 0}, {275, 16448, 0, 0, 0, 0, 0}, {12336, 276, 0, 0, 0, 0, 0}, {554, 4437, 5120, 0, 0, 0, 0}, {278, 16448, 0, 0, 0, 0, 0}, {1375, 4471, 5632, 0, 0, 0, 0}, {552, 13056, 1360, 0, 0, 0, 0}, {281, 819, 4160, 5397, 0, 0, 0}, {1370, 1904, 17408, 0, 0, 0, 0}, {283, 5156, 5911, 1092, 0, 0, 0}, {284, 544, 1360, 4112, 0, 0, 0}, {7168, 546, 1365, 0, 0, 0, 0}, {286, 4144, 4626, 1092, 0, 0, 0}, {1375, 544, 17408, 0, 0, 0, 0}, {288, 768, 1088, 4352, 0, 0, 0}, {3855, 546, 4369, 0, 0, 0, 0}, {1096, 290, 768, 4096, 0, 0, 0}, {4403, 4883, 20560, 0, 0, 0, 0}, {552, 9472, 4420, 0, 0, 0, 0}, {783, 293, 4437, 5397, 0, 0, 0}, {4940, 4454, 20480, 0, 0, 0, 0}, {5144, 295, 5911, 4176, 0, 0, 0}, {4424, 4192, 768, 5376, 0, 0, 0}, {5180, 5654, 21845, 0, 0, 0, 0}, {298, 768, 4160, 5120, 0, 0, 0}, {552, 13107, 5140, 0, 0, 0, 0}, {5708, 544, 21760, 0, 0, 0, 0}, {4381, 4144, 4626, 5461, 0, 0, 0}, {3840, 546, 5188, 0, 0, 0, 0}, {783, 544, 1088, 4112, 0, 0, 0}, {1520, 512, 4352, 0, 0, 0, 0}, {305, 514, 1028, 4369, 0, 0, 0}, {4386, 514, 20560, 0, 0, 0, 0}, {1036, 307, 512, 4096, 0, 0, 0}, {520, 308, 4420, 1028, 0, 0, 0}, {522, 13312, 4437, 0, 0, 0, 0}, {1036, 310, 1542, 4176, 0, 0, 0}, {520, 4471, 20480, 0, 0, 0, 0}, {520, 5744, 21760, 0, 0, 0, 0}, {1036, 1333, 1542, 5461, 0, 0, 0}, {522, 13056, 5200, 0, 0, 0, 0}, {520, 819, 4160, 1028, 0, 0, 0}, {4364, 4144, 512, 5376, 0, 0, 0}, {5160, 514, 21845, 0, 0, 0, 0}, {318, 514, 1028, 4112, 0, 0, 0}, {4607, 512, 5120, 0, 0, 0, 0}, {512, 16384, 0, 0, 0, 0, 0}, {15, 51, 257, 0, 0, 0, 0}, {16512, 514, 0, 0, 0, 0, 0}, {259, 1280, 4352, 0, 0, 0, 0}, {520, 8772, 1028, 0, 0, 0, 0}, {15, 517, 4176, 1285, 0, 0, 0}, {1036, 1542, 17408, 0, 0, 0, 0}, {15, 4208, 519, 1280, 0, 0, 0}, {520, 24576, 0, 0, 0, 0, 0}, {262, 4437, 1285, 0, 0, 0, 0}, {522, 16384, 0, 0, 0, 0, 0}, {51, 771, 260, 0, 0, 0, 0}, {1036, 512, 17408, 0, 0, 0, 0}, {15, 4128, 514, 1285, 0, 0, 0}, {204, 514, 1028, 0, 0, 0, 0}, {15, 512, 1280, 4096, 0, 0, 0}, {2640, 544, 4112, 0, 0, 0, 0}, {51, 529, 1092, 4369, 0, 0, 0}, {4144, 4626, 20480, 0, 0, 0, 0}, {1100, 51, 531, 4352, 0, 0, 0}, {60, 532, 4176, 5140, 0, 0, 0}, {554, 8789, 5397, 0, 0, 0, 0}, {4172, 4208, 534, 5120, 0, 0, 0}, {5439, 5911, 21760, 0, 0, 0, 0}, {4680, 4192, 20560, 0, 0, 0, 0}, {5401, 51, 5888, 4437, 0, 0, 0}, {554, 12336, 4160, 0, 0, 0, 0}, {539, 51, 4420, 5376, 0, 0, 0}, {4124, 4128, 4608, 5200, 0, 0, 0}, {5960, 546, 21845, 0, 0, 0, 0}, {542, 546, 1092, 4096, 0, 0, 0}, {7967, 544, 5440, 0, 0, 0, 0}, {18432, 544, 0, 0, 0, 0, 0}, {274, 1365, 4369, 0, 0, 0, 0}, {546, 16384, 0, 0, 0, 0, 0}, {15, 771, 272, 0, 0, 0, 0}, {1096, 1632, 17476, 0, 0, 0, 0}, {15, 5413, 5888, 1365, 0, 0, 0}, {554, 9766, 1088, 0, 0, 0, 0}, {15, 551, 4176, 5376, 0, 0, 0}, {552, 16384, 0, 0, 0, 0, 0}, {51, 771, 277, 0, 0, 0, 0}, {554, 24576, 0, 0, 0, 0, 0}, {279, 4420, 5140, 0, 0, 0, 0}, {3084, 544, 1088, 0, 0, 0, 0}, {15, 546, 1365, 4096, 0, 0, 0}, {1096, 546, 17476, 0, 0, 0, 0}, {15, 4128, 4608, 1360, 0, 0, 0}, {4144, 512, 20480, 0, 0, 0, 0}, {1032, 51, 514, 4369, 0, 0, 0}, {240, 514, 4112, 0, 0, 0, 0}, {51, 512, 1024, 4352, 0, 0, 0}, {1032, 1076, 1536, 5188, 0, 0, 0}, {522, 5984, 21845, 0, 0, 0, 0}, {522, 566, 4176, 1024, 0, 0, 0}, {520, 14135, 5440, 0, 0, 0, 0}, {520, 12336, 4160, 0, 0, 0, 0}, {522, 51, 4437, 1024, 0, 0, 0}, {522, 4192, 20560, 0, 0, 0, 0}, {1032, 51, 1536, 4420, 0, 0, 0}, {60, 512, 1024, 4096, 0, 0, 0}, {255, 514, 5397, 0, 0, 0, 0}, {4124, 4128, 514, 5140, 0, 0, 0}, {5439, 512, 21760, 0, 0, 0, 0}, {640, 2560, 8704, 16448, 0, 0, 0}, {15, 51, 768, 321, 1285, 4369, 0}, {16576, 16962, 0, 0, 0, 0, 0}, {323, 1280, 4352, 0, 0, 0, 0}, {1536, 1092, 0, 0, 0, 0, 0}, {15, 629, 1285, 4112, 0, 0, 0}, {1100, 582, 17408, 0, 0, 0, 0}, {15, 4144, 4679, 1280, 0, 0, 0}, {16968, 8192, 0, 0, 0, 0, 0}, {4115, 4437, 1285, 0, 0, 0, 0}, {650, 2570, 8224, 16448, 0, 0, 0}, {15, 51, 768, 324, 1280, 4096, 0}, {1100, 1536, 17408, 0, 0, 0, 0}, {15, 4192, 4626, 1285, 0, 0, 0}, {1546, 8738, 1092, 0, 0, 0, 0}, {15, 4656, 4160, 1280, 0, 0, 0}, {4608, 4176, 0, 0, 0, 0, 0}, {605, 51, 1028, 4369, 0, 0, 0}, {4208, 594, 20480, 0, 0, 0, 0}, {1036, 51, 1619, 4352, 0, 0, 0}, {600, 612, 1028, 4112, 0, 0, 0}, {5888, 5461, 0, 0, 0, 0, 0}, {4108, 4144, 4694, 5120, 0, 0, 0}, {5503, 599, 21760, 0, 0, 0, 0}, {600, 4128, 20560, 0, 0, 0, 0}, {1036, 51, 4864, 4437, 0, 0, 0}, {602, 4096, 0, 0, 0, 0, 0}, {51, 4883, 4420, 1028, 0, 0, 0}, {1036, 1072, 5632, 5200, 0, 0, 0}, {605, 6007, 21845, 0, 0, 0, 0}, {60, 4626, 4160, 1028, 0, 0, 0}, {607, 8704, 5376, 0, 0, 0, 0}, {2048, 16992, 0, 0, 0, 0, 0}, {1031, 1365, 4369, 0, 0, 0, 0}, {674, 2056, 8738, 16448, 0, 0, 0}, {15, 51, 768, 336, 1024, 4352, 0}, {1032, 612, 17476, 0, 0, 0, 0}, {15, 4144, 1792, 1365, 0, 0, 0}, {614, 1024, 0, 0, 0, 0, 0}, {15, 1799, 1360, 4112, 0, 0, 0}, {680, 2056, 8224, 16448, 0, 0, 0}, {15, 51, 768, 341, 1024, 4096, 0}, {17002, 8192, 0, 0, 0, 0, 0}, {4115, 4420, 5140, 0, 0, 0, 0}, {620, 8704, 1024, 0, 0, 0, 0}, {15, 4626, 4160, 5397, 0, 0, 0}, {1032, 1638, 17476, 0, 0, 0, 0}, {15, 5424, 1792, 1360, 0, 0, 0}, {4208, 4608, 20480, 0, 0, 0, 0}, {1096, 51, 1542, 4369, 0, 0, 0}, {2570, 4642, 4176, 0, 0, 0, 0}, {1548, 51, 1088, 4352, 0, 0, 0}, {4108, 4144, 5632, 5188, 0, 0, 0}, {5983, 629, 21845, 0, 0, 0, 0}, {60, 1542, 1088, 4112, 0, 0, 0}, {631, 5376, 0, 0, 0, 0, 0}, {632, 4096, 0, 0, 0, 0, 0}, {51, 4883, 4437, 5397, 0, 0, 0}, {4698, 4128, 20560, 0, 0, 0, 0}, {5388, 51, 4864, 4420, 0, 0, 0}, {4620, 4656, 4160, 5120, 0, 0, 0}, {5928, 8738, 5461, 0, 0, 0, 0}, {4188, 4192, 4626, 5140, 0, 0, 0}, {5503, 5888, 21760, 0, 0, 0, 0}, {16512, 16896, 0, 0, 0, 0, 0}, {322, 1285, 4369, 0, 0, 0, 0}, {642, 2570, 8738, 16384, 0, 0, 0}, {15, 51, 771, 320, 1280, 4352, 0}, {1096, 580, 17476, 0, 0, 0, 0}, {15, 4128, 4693, 1285, 0, 0, 0}, {1542, 1088, 0, 0, 0, 0, 0}, {15, 631, 1280, 4096, 0, 0, 0}, {648, 2560, 8192, 16384, 0, 0, 0}, {15, 51, 771, 325, 1285, 4112, 0}, {16906, 8224, 0, 0, 0, 0, 0}, {4099, 4420, 1280, 0, 0, 0, 0}, {1548, 8704, 1088, 0, 0, 0, 0}, {15, 4642, 4176, 1285, 0, 0, 0}, {1096, 1542, 17476, 0, 0, 0, 0}, {15, 4208, 4608, 1280, 0, 0, 0}, {4192, 592, 20560, 0, 0, 0, 0}, {1032, 51, 1621, 4369, 0, 0, 0}, {4626, 4160, 0, 0, 0, 0, 0}, {607, 51, 1024, 4352, 0, 0, 0}, {4124, 4128, 4676, 5140, 0, 0, 0}, {5482, 597, 21845, 0, 0, 0, 0}, {602, 614, 1024, 4096, 0, 0, 0}, {5911, 5440, 0, 0, 0, 0, 0}, {600, 4112, 0, 0, 0, 0, 0}, {51, 4864, 4437, 1024, 0, 0, 0}, {602, 4144, 20480, 0, 0, 0, 0}, {1032, 51, 4883, 4420, 0, 0, 0}, {60, 4608, 4176, 1024, 0, 0, 0}, {605, 8738, 5397, 0, 0, 0, 0}, {1032, 1076, 5654, 5188, 0, 0, 0}, {607, 5984, 21760, 0, 0, 0, 0}, {672, 2048, 8704, 16384, 0, 0, 0}, {15, 51, 771, 337, 1028, 4369, 0}, {2056, 16930, 0, 0, 0, 0, 0}, {1027, 1360, 4352, 0, 0, 0, 0}, {612, 1028, 0, 0, 0, 0, 0}, {15, 1792, 1365, 4096, 0, 0, 0}, {1036, 614, 17408, 0, 0, 0, 0}, {15, 4128, 1799, 1360, 0, 0, 0}, {16936, 8224, 0, 0, 0, 0, 0}, {4099, 4437, 5120, 0, 0, 0, 0}, {682, 2048, 8192, 16384, 0, 0, 0}, {15, 51, 771, 340, 1028, 4112, 0}, {1036, 1632, 17408, 0, 0, 0, 0}, {15, 5413, 1799, 1365, 0, 0, 0}, {622, 8738, 1028, 0, 0, 0, 0}, {15, 4608, 4176, 5376, 0, 0, 0}, {2560, 4656, 4160, 0, 0, 0, 0}, {1546, 51, 1092, 4369, 0, 0, 0}, {4192, 4626, 20560, 0, 0, 0, 0}, {1100, 51, 1536, 4352, 0, 0, 0}, {60, 1536, 1092, 4096, 0, 0, 0}, {629, 5397, 0, 0, 0, 0, 0}, {4124, 4128, 5654, 5200, 0, 0, 0}, {5960, 631, 21760, 0, 0, 0, 0}, {4680, 4144, 20480, 0, 0, 0, 0}, {5401, 51, 4883, 4437, 0, 0, 0}, {634, 4112, 0, 0, 0, 0, 0}, {51, 4864, 4420, 5376, 0, 0, 0}, {4172, 4208, 4608, 5120, 0, 0, 0}, {5482, 5911, 21845, 0, 0, 0, 0}, {4638, 4642, 4176, 5140, 0, 0, 0}, {5951, 8704, 5440, 0, 0, 0, 0}, {16576, 512, 0, 0, 0, 0, 0}, {258, 1285, 4369, 0, 0, 0, 0}, {514, 16448, 0, 0, 0, 0, 0}, {15, 51, 256, 0, 0, 0, 0}, {1032, 1536, 17476, 0, 0, 0, 0}, {15, 4192, 517, 1285, 0, 0, 0}, {522, 8806, 1024, 0, 0, 0, 0}, {15, 519, 4160, 1280, 0, 0, 0}, {520, 16448, 0, 0, 0, 0, 0}, {51, 768, 261, 0, 0, 0, 0}, {522, 24672, 0, 0, 0, 0, 0}, {263, 4420, 1280, 0, 0, 0, 0}, {204, 512, 1024, 0, 0, 0, 0}, {15, 514, 1285, 4112, 0, 0, 0}, {1032, 514, 17476, 0, 0, 0, 0}, {15, 4144, 512, 1280, 0, 0, 0}, {4128, 4608, 20560, 0, 0, 0, 0}, {1096, 51, 529, 4369, 0, 0, 0}, {2650, 546, 4096, 0, 0, 0, 0}, {51, 531, 1088, 4352, 0, 0, 0}, {4188, 4192, 532, 5140, 0, 0, 0}, {5418, 5888, 21845, 0, 0, 0, 0}, {60, 534, 4160, 5120, 0, 0, 0}, {552, 8823, 5376, 0, 0, 0, 0}, {552, 12288, 4176, 0, 0, 0, 0}, {537, 51, 4437, 5397, 0, 0, 0}, {4698, 4208, 20480, 0, 0, 0, 0}, {5388, 51, 5911, 4420, 0, 0, 0}, {540, 544, 1088, 4112, 0, 0, 0}, {7936, 546, 5461, 0, 0, 0, 0}, {4108, 4144, 4626, 5188, 0, 0, 0}, {5983, 544, 21760, 0, 0, 0, 0}, {544, 16448, 0, 0, 0, 0, 0}, {15, 768, 273, 0, 0, 0, 0}, {18504, 546, 0, 0, 0, 0, 0}, {275, 1360, 4352, 0, 0, 0, 0}, {552, 9728, 1092, 0, 0, 0, 0}, {15, 549, 4160, 5397, 0, 0, 0}, {1100, 1638, 17408, 0, 0, 0, 0}, {15, 5424, 5911, 1360, 0, 0, 0}, {552, 24672, 0, 0, 0, 0, 0}, {278, 4437, 5120, 0, 0, 0, 0}, {554, 16448, 0, 0, 0, 0, 0}, {51, 768, 276, 0, 0, 0, 0}, {1100, 544, 17408, 0, 0, 0, 0}, {15, 4144, 4626, 1365, 0, 0, 0}, {3072, 546, 1092, 0, 0, 0, 0}, {15, 544, 1360, 4112, 0, 0, 0}, {240, 512, 4096, 0, 0, 0, 0}, {51, 514, 1028, 4369, 0, 0, 0}, {4128, 514, 20560, 0, 0, 0, 0}, {1036, 51, 512, 4352, 0, 0, 0}, {520, 564, 4160, 1028, 0, 0, 0}, {522, 14080, 5461, 0, 0, 0, 0}, {1036, 1072, 1542, 5200, 0, 0, 0}, {520, 6007, 21760, 0, 0, 0, 0}, {520, 4208, 20480, 0, 0, 0, 0}, {1036, 51, 1542, 4437, 0, 0, 0}, {522, 12288, 4176, 0, 0, 0, 0}, {520, 51, 4420, 1028, 0, 0, 0}, {4108, 4144, 512, 5120, 0, 0, 0}, {5418, 514, 21845, 0, 0, 0, 0}, {60, 514, 1028, 4112, 0, 0, 0}, {255, 512, 5376, 0, 0, 0, 0}, {3840, 13056, 0, 0, 0, 0, 0}, {2, 64, 257, 0, 0, 0, 0}, {2, 1280, 4352, 0, 0, 0, 0}, {192, 771, 0, 0, 0, 0, 0}, {8, 772, 64, 1028, 0, 0, 0}, {10, 13141, 1285, 0, 0, 0, 0}, {10, 96, 774, 1280, 0, 0, 0}, {8, 1799, 17408, 0, 0, 0, 0}, {8, 1792, 17408, 0, 0, 0, 0}, {10, 96, 771, 1285, 0, 0, 0}, {10, 13056, 1280, 0, 0, 0, 0}, {8, 771, 64, 1028, 0, 0, 0}, {780, 12288, 0, 0, 0, 0, 0}, {2, 4437, 1285, 0, 0, 0, 0}, {2, 260, 4096, 0, 0, 0, 0}, {13311, 3855, 0, 0, 0, 0, 0}, {32, 784, 64, 4112, 0, 0, 0}, {3925, 34, 4369, 0, 0, 0, 0}, {72, 34, 786, 4352, 0, 0, 0}, {32, 4883, 20480, 0, 0, 0, 0}, {40, 13124, 5140, 0, 0, 0, 0}, {42, 789, 64, 5397, 0, 0, 0}, {42, 5654, 21760, 0, 0, 0, 0}, {72, 96, 791, 5120, 0, 0, 0}, {5144, 5168, 5888, 5200, 0, 0, 0}, {5708, 5734, 21845, 0, 0, 0, 0}, {794, 816, 64, 5376, 0, 0, 0}, {40, 13107, 5188, 0, 0, 0, 0}, {4940, 32, 20560, 0, 0, 0, 0}, {4381, 34, 4608, 4437, 0, 0, 0}, {7710, 34, 4420, 0, 0, 0, 0}, {799, 32, 64, 4096, 0, 0, 0}, {32, 4864, 20480, 0, 0, 0, 0}, {72, 34, 771, 4369, 0, 0, 0}, {3840, 34, 4352, 0, 0, 0, 0}, {32, 771, 64, 4112, 0, 0, 0}, {5132, 5156, 5888, 5188, 0, 0, 0}, {5722, 5744, 21845, 0, 0, 0, 0}, {780, 806, 64, 5376, 0, 0, 0}, {40, 10023, 5200, 0, 0, 0, 0}, {40, 13056, 5120, 0, 0, 0, 0}, {42, 771, 64, 5397, 0, 0, 0}, {42, 5632, 21760, 0, 0, 0, 0}, {72, 96, 771, 5140, 0, 0, 0}, {780, 32, 64, 4096, 0, 0, 0}, {3855, 34, 4437, 0, 0, 0, 0}, {4364, 34, 4608, 4420, 0, 0, 0}, {4959, 32, 20560, 0, 0, 0, 0}, {3072, 816, 0, 0, 0, 0, 0}, {2, 1365, 4369, 0, 0, 0, 0}, {2, 1024, 272, 0, 0, 0, 0}, {4095, 13107, 0, 0, 0, 0, 0}, {8, 1904, 17476, 0, 0, 0, 0}, {10, 1333, 1536, 1365, 0, 0, 0}, {10, 13878, 1360, 0, 0, 0, 0}, {8, 823, 64, 1024, 0, 0, 0}, {8, 816, 64, 1024, 0, 0, 0}, {10, 13107, 1365, 0, 0, 0, 0}, {10, 1328, 1536, 1360, 0, 0, 0}, {8, 1911, 17476, 0, 0, 0, 0}, {13260, 15420, 0, 0, 0, 0, 0}, {2, 277, 4096, 0, 0, 0, 0}, {2, 4420, 5140, 0, 0, 0, 0}, {831, 12288, 0, 0, 0, 0, 0}, {768, 64, 0, 0, 0, 0, 0}, {10, 34, 1285, 4369, 0, 0, 0}, {66, 1280, 4352, 0, 0, 0, 0}, {128, 17219, 0, 0, 0, 0, 0}, {136, 3840, 13124, 17476, 0, 0, 0}, {10, 32, 773, 64, 1285, 4112, 0}, {10, 32, 4934, 1280, 0, 0, 0}, {72, 839, 17408, 0, 0, 0, 0}, {72, 768, 17408, 0, 0, 0, 0}, {10, 32, 4883, 1285, 0, 0, 0}, {10, 32, 768, 64, 1280, 4096, 0}, {136, 3855, 13107, 17476, 0, 0, 0}, {17228, 28672, 0, 0, 0, 0, 0}, {4375, 4437, 1285, 0, 0, 0, 0}, {10, 34, 4420, 1280, 0, 0, 0}, {783, 12336, 64, 0, 0, 0, 0}, {160, 3920, 13056, 20560, 0, 0, 0}, {8, 34, 785, 64, 1028, 4369, 0}, {8, 34, 1874, 4352, 0, 0, 0}, {96, 851, 20480, 0, 0, 0, 0}, {8, 32, 788, 64, 1028, 4112, 0}, {170, 3925, 13141, 21845, 0, 0, 0}, {106, 854, 21760, 0, 0, 0, 0}, {8, 32, 4951, 5120, 0, 0, 0}, {8, 32, 4864, 5200, 0, 0, 0}, {857, 819, 21845, 0, 0, 0, 0}, {170, 3930, 13056, 21760, 0, 0, 0}, {8, 32, 787, 64, 1028, 4096, 0}, {860, 96, 20560, 0, 0, 0, 0}, {8, 34, 5632, 4437, 0, 0, 0}, {34, 4626, 4356, 0, 0, 0, 0}, {13151, 20480, 0, 0, 0, 0, 0}, {96, 768, 20480, 0, 0, 0, 0}, {8, 34, 1799, 4369, 0, 0, 0}, {8, 34, 768, 64, 1024, 4352, 0}, {160, 3855, 13107, 20560, 0, 0, 0}, {8, 32, 1792, 5188, 0, 0, 0}, {783, 869, 21845, 0, 0, 0, 0}, {170, 3840, 13158, 21760, 0, 0, 0}, {8, 32, 775, 64, 1024, 4112, 0}, {8, 32, 768, 64, 1024, 4096, 0}, {170, 3855, 13107, 21845, 0, 0, 0}, {106, 768, 21760, 0, 0, 0, 0}, {8, 32, 4883, 5140, 0, 0, 0}, {13164, 20480, 0, 0, 0, 0, 0}, {34, 4626, 4373, 0, 0, 0, 0}, {8, 34, 1792, 4420, 0, 0, 0}, {783, 96, 20560, 0, 0, 0, 0}, {19456, 17264, 0, 0, 0, 0, 0}, {1303, 1365, 4369, 0, 0, 0, 0}, {10, 34, 1360, 4352, 0, 0, 0}, {3084, 819, 64, 0, 0, 0, 0}, {72, 884, 17476, 0, 0, 0, 0}, {10, 32, 5632, 1365, 0, 0, 0}, {10, 32, 790, 64, 1296, 4112, 0}, {136, 3959, 13175, 17408, 0, 0, 0}, {136, 3960, 13056, 17408, 0, 0, 0}, {10, 32, 787, 64, 1301, 4096, 0}, {10, 32, 4864, 1360, 0, 0, 0}, {72, 819, 17476, 0, 0, 0, 0}, {828, 12336, 64, 0, 0, 0, 0}, {10, 34, 4437, 5120, 0, 0, 0}, {4358, 4420, 5140, 0, 0, 0, 0}, {17279, 28672, 0, 0, 0, 0, 0}, {128, 17152, 0, 0, 0, 0, 0}, {66, 1285, 4369, 0, 0, 0, 0}, {10, 34, 1280, 4352, 0, 0, 0}, {771, 64, 0, 0, 0, 0, 0}, {72, 836, 17476, 0, 0, 0, 0}, {10, 32, 4949, 1285, 0, 0, 0}, {10, 32, 774, 64, 1280, 4096, 0}, {136, 3855, 13175, 17408, 0, 0, 0}, {136, 3840, 13056, 17408, 0, 0, 0}, {10, 32, 771, 64, 1285, 4112, 0}, {10, 32, 4864, 1280, 0, 0, 0}, {72, 771, 17476, 0, 0, 0, 0}, {780, 12288, 64, 0, 0, 0, 0}, {10, 34, 4437, 1285, 0, 0, 0}, {4358, 4420, 1280, 0, 0, 0, 0}, {17167, 28784, 0, 0, 0, 0, 0}, {96, 848, 20560, 0, 0, 0, 0}, {8, 34, 1877, 4369, 0, 0, 0}, {8, 34, 786, 64, 1024, 4352, 0}, {160, 3935, 13107, 20480, 0, 0, 0}, {8, 32, 4932, 5140, 0, 0, 0}, {106, 853, 21845, 0, 0, 0, 0}, {170, 3930, 13158, 21760, 0, 0, 0}, {8, 32, 791, 64, 1024, 4096, 0}, {8, 32, 784, 64, 1024, 4112, 0}, {170, 3925, 13107, 21845, 0, 0, 0}, {858, 816, 21760, 0, 0, 0, 0}, {8, 32, 4883, 5188, 0, 0, 0}, {13164, 20560, 0, 0, 0, 0, 0}, {34, 4608, 4373, 0, 0, 0, 0}, {8, 34, 5654, 4420, 0, 0, 0}, {863, 96, 20480, 0, 0, 0, 0}, {160, 3840, 13056, 20480, 0, 0, 0}, {8, 34, 771, 64, 1028, 4369, 0}, {8, 34, 1792, 4352, 0, 0, 0}, {96, 771, 20560, 0, 0, 0, 0}, {8, 32, 772, 64, 1028, 4096, 0}, {170, 3855, 13141, 21845, 0, 0, 0}, {780, 870, 21760, 0, 0, 0, 0}, {8, 32, 1799, 5200, 0, 0, 0}, {8, 32, 4864, 5120, 0, 0, 0}, {106, 771, 21845, 0, 0, 0, 0}, {170, 3840, 13056, 21760, 0, 0, 0}, {8, 32, 771, 64, 1028, 4112, 0}, {780, 96, 20480, 0, 0, 0, 0}, {8, 34, 1799, 4437, 0, 0, 0}, {34, 4608, 4356, 0, 0, 0, 0}, {13151, 20560, 0, 0, 0, 0, 0}, {3072, 816, 64, 0, 0, 0, 0}, {10, 34, 1365, 4369, 0, 0, 0}, {1298, 1360, 4352, 0, 0, 0, 0}, {19532, 17203, 0, 0, 0, 0, 0}, {136, 3960, 13124, 17476, 0, 0, 0}, {10, 32, 789, 64, 1301, 4096, 0}, {10, 32, 5654, 1360, 0, 0, 0}, {72, 887, 17408, 0, 0, 0, 0}, {72, 816, 17408, 0, 0, 0, 0}, {10, 32, 4883, 1365, 0, 0, 0}, {10, 32, 784, 64, 1296, 4112, 0}, {136, 3959, 13107, 17476, 0, 0, 0}, {17212, 28784, 0, 0, 0, 0, 0}, {4375, 4437, 5120, 0, 0, 0, 0}, {10, 34, 4420, 5140, 0, 0, 0}, {831, 12288, 64, 0, 0, 0, 0}, {192, 768, 0, 0, 0, 0, 0}, {2, 1285, 4369, 0, 0, 0, 0}, {2, 64, 256, 0, 0, 0, 0}, {3855, 13107, 0, 0, 0, 0, 0}, {8, 1792, 17476, 0, 0, 0, 0}, {10, 96, 773, 1285, 0, 0, 0}, {10, 13158, 1280, 0, 0, 0, 0}, {8, 775, 64, 1024, 0, 0, 0}, {8, 768, 64, 1024, 0, 0, 0}, {10, 13107, 1285, 0, 0, 0, 0}, {10, 96, 768, 1280, 0, 0, 0}, {8, 1799, 17476, 0, 0, 0, 0}, {13260, 3840, 0, 0, 0, 0, 0}, {2, 261, 4112, 0, 0, 0, 0}, {2, 4420, 1280, 0, 0, 0, 0}, {783, 12336, 0, 0, 0, 0, 0}, {32, 4864, 20560, 0, 0, 0, 0}, {72, 34, 785, 4369, 0, 0, 0}, {3930, 34, 4352, 0, 0, 0, 0}, {32, 787, 64, 4096, 0, 0, 0}, {72, 96, 788, 5140, 0, 0, 0}, {42, 5632, 21845, 0, 0, 0, 0}, {42, 790, 64, 5376, 0, 0, 0}, {40, 13175, 5120, 0, 0, 0, 0}, {40, 13056, 5200, 0, 0, 0, 0}, {793, 819, 64, 5397, 0, 0, 0}, {5722, 5744, 21760, 0, 0, 0, 0}, {5132, 5156, 5911, 5188, 0, 0, 0}, {796, 32, 64, 4112, 0, 0, 0}, {7680, 34, 4437, 0, 0, 0, 0}, {4364, 34, 4626, 4420, 0, 0, 0}, {4959, 32, 20480, 0, 0, 0, 0}, {32, 768, 64, 4096, 0, 0, 0}, {3855, 34, 4369, 0, 0, 0, 0}, {72, 34, 768, 4352, 0, 0, 0}, {32, 4883, 20560, 0, 0, 0, 0}, {40, 9984, 5188, 0, 0, 0, 0}, {783, 805, 64, 5397, 0, 0, 0}, {5708, 5734, 21760, 0, 0, 0, 0}, {5144, 5168, 5911, 5200, 0, 0, 0}, {72, 96, 768, 5120, 0, 0, 0}, {42, 5654, 21845, 0, 0, 0, 0}, {42, 768, 64, 5376, 0, 0, 0}, {40, 13107, 5140, 0, 0, 0, 0}, {4940, 32, 20480, 0, 0, 0, 0}, {4381, 34, 4626, 4437, 0, 0, 0}, {3840, 34, 4420, 0, 0, 0, 0}, {783, 32, 64, 4112, 0, 0, 0}, {4080, 13056, 0, 0, 0, 0, 0}, {2, 1028, 273, 0, 0, 0, 0}, {2, 1360, 4352, 0, 0, 0, 0}, {3084, 819, 0, 0, 0, 0, 0}, {8, 820, 64, 1028, 0, 0, 0}, {10, 13824, 1365, 0, 0, 0, 0}, {10, 1328, 1542, 1360, 0, 0, 0}, {8, 1911, 17408, 0, 0, 0, 0}, {8, 1904, 17408, 0, 0, 0, 0}, {10, 1333, 1542, 1365, 0, 0, 0}, {10, 13056, 1360, 0, 0, 0, 0}, {8, 819, 64, 1028, 0, 0, 0}, {828, 12336, 0, 0, 0, 0, 0}, {2, 4437, 5120, 0, 0, 0, 0}, {2, 276, 4112, 0, 0, 0, 0}, {13311, 15360, 0, 0, 0, 0, 0}, {2048, 17408, 0, 0, 0, 0, 0}, {48, 5, 257, 0, 0, 0, 0}, {10, 17442, 514, 0, 0, 0, 0}, {1027, 16384, 0, 0, 0, 0, 0}, {192, 1028, 0, 0, 0, 0, 0}, {512, 5, 4352, 0, 0, 0, 0}, {1030, 16384, 0, 0, 0, 0, 0}, {15, 17527, 1799, 0, 0, 0, 0}, {17544, 2056, 0, 0, 0, 0, 0}, {259, 5, 4096, 0, 0, 0, 0}, {10, 512, 17408, 0, 0, 0, 0}, {15, 48, 771, 1028, 0, 0, 0}, {1036, 16384, 0, 0, 0, 0, 0}, {4386, 514, 5, 0, 0, 0, 0}, {10, 96, 514, 1028, 0, 0, 0}, {15, 1792, 17408, 0, 0, 0, 0}, {48, 80, 1040, 4112, 0, 0, 0}, {2082, 85, 4369, 0, 0, 0, 0}, {1042, 16384, 0, 0, 0, 0, 0}, {95, 17459, 4883, 0, 0, 0, 0}, {8192, 80, 5140, 0, 0, 0, 0}, {63, 85, 1045, 4352, 0, 0, 0}, {90, 17510, 5654, 0, 0, 0, 0}, {1047, 16384, 0, 0, 0, 0, 0}, {1048, 48, 80, 4096, 0, 0, 0}, {6425, 4403, 85, 0, 0, 0, 0}, {1050, 48, 4608, 1088, 0, 0, 0}, {95, 4915, 17476, 0, 0, 0, 0}, {5180, 8224, 80, 0, 0, 0, 0}, {4381, 4386, 85, 5376, 0, 0, 0}, {90, 5734, 17476, 0, 0, 0, 0}, {1055, 1056, 5888, 1088, 0, 0, 0}, {160, 2080, 8224, 17408, 0, 0, 0}, {15, 48, 771, 85, 1041, 4369, 0}, {19456, 17442, 0, 0, 0, 0, 0}, {1043, 80, 4112, 0, 0, 0, 0}, {3084, 1060, 1092, 0, 0, 0, 0}, {15, 1829, 85, 4352, 0, 0, 0}, {1100, 1062, 16448, 0, 0, 0, 0}, {15, 5159, 4864, 80, 0, 0, 0}, {17448, 8192, 0, 0, 0, 0, 0}, {4355, 85, 5397, 0, 0, 0, 0}, {170, 2090, 8704, 17408, 0, 0, 0}, {15, 48, 771, 80, 1044, 4096, 0}, {1100, 96, 16448, 0, 0, 0, 0}, {15, 4386, 5632, 85, 0, 0, 0}, {1070, 8738, 1092, 0, 0, 0, 0}, {15, 4896, 80, 5120, 0, 0, 0}, {48, 1024, 0, 0, 0, 0, 0}, {10, 514, 85, 4369, 0, 0, 0}, {1026, 80, 4112, 0, 0, 0, 0}, {2048, 17459, 0, 0, 0, 0, 0}, {240, 2056, 13364, 17476, 0, 0, 0}, {10, 53, 512, 85, 1024, 4352, 0}, {10, 5174, 512, 80, 0, 0, 0}, {1032, 1079, 16448, 0, 0, 0, 0}, {1032, 48, 16448, 0, 0, 0, 0}, {10, 4403, 512, 85, 0, 0, 0}, {10, 48, 512, 80, 1024, 4096, 0}, {255, 2056, 13107, 17476, 0, 0, 0}, {17468, 28672, 0, 0, 0, 0, 0}, {4375, 85, 5397, 0, 0, 0, 0}, {10, 514, 80, 5140, 0, 0, 0}, {63, 13056, 1024, 0, 0, 0, 0}, {3072, 1088, 0, 0, 0, 0, 0}, {546, 5, 4369, 0, 0, 0, 0}, {1090, 16384, 0, 0, 0, 0, 0}, {15, 17459, 17219, 0, 0, 0, 0}, {2184, 17476, 0, 0, 0, 0, 0}, {768, 5, 272, 0, 0, 0, 0}, {10, 17510, 17990, 0, 0, 0, 0}, {1095, 16384, 0, 0, 0, 0, 0}, {1096, 16384, 0, 0, 0, 0, 0}, {4403, 4883, 5, 0, 0, 0, 0}, {10, 1056, 1536, 1088, 0, 0, 0}, {15, 1911, 17476, 0, 0, 0, 0}, {17612, 19532, 0, 0, 0, 0, 0}, {274, 5, 4096, 0, 0, 0, 0}, {10, 546, 17476, 0, 0, 0, 0}, {15, 48, 768, 1088, 0, 0, 0}, {8192, 80, 5120, 0, 0, 0, 0}, {63, 85, 1028, 4369, 0, 0, 0}, {90, 17442, 21074, 0, 0, 0, 0}, {1107, 16384, 0, 0, 0, 0, 0}, {48, 80, 1028, 4112, 0, 0, 0}, {2048, 85, 4352, 0, 0, 0, 0}, {1110, 16384, 0, 0, 0, 0, 0}, {95, 17527, 22359, 0, 0, 0, 0}, {5160, 8224, 80, 0, 0, 0, 0}, {4364, 4403, 85, 5376, 0, 0, 0}, {90, 5632, 17408, 0, 0, 0, 0}, {95, 96, 4883, 1028, 0, 0, 0}, {1036, 48, 80, 4096, 0, 0, 0}, {2056, 4386, 85, 0, 0, 0, 0}, {90, 48, 4626, 1028, 0, 0, 0}, {95, 4864, 17408, 0, 0, 0, 0}, {96, 1024, 0, 0, 0, 0, 0}, {15, 1799, 85, 4369, 0, 0, 0}, {1032, 1122, 16448, 0, 0, 0, 0}, {15, 5171, 1792, 80, 0, 0, 0}, {160, 2056, 8224, 17476, 0, 0, 0}, {15, 48, 768, 85, 1024, 4352, 0}, {2048, 17510, 0, 0, 0, 0, 0}, {1031, 80, 4112, 0, 0, 0, 0}, {1032, 96, 16448, 0, 0, 0, 0}, {15, 4403, 1792, 85, 0, 0, 0}, {106, 8704, 1024, 0, 0, 0, 0}, {15, 4883, 80, 5140, 0, 0, 0}, {17516, 8192, 0, 0, 0, 0, 0}, {4370, 85, 5397, 0, 0, 0, 0}, {170, 2056, 8738, 17476, 0, 0, 0}, {15, 48, 768, 80, 1024, 4096, 0}, {240, 2160, 13424, 17408, 0, 0, 0}, {10, 53, 535, 85, 1041, 4369, 0}, {10, 5154, 5632, 80, 0, 0, 0}, {1100, 1139, 16448, 0, 0, 0, 0}, {3084, 48, 1092, 0, 0, 0, 0}, {10, 544, 85, 4352, 0, 0, 0}, {1046, 80, 4112, 0, 0, 0, 0}, {19456, 17527, 0, 0, 0, 0, 0}, {17528, 28672, 0, 0, 0, 0, 0}, {4358, 85, 5397, 0, 0, 0, 0}, {10, 544, 80, 5120, 0, 0, 0}, {63, 13107, 1092, 0, 0, 0, 0}, {1100, 48, 16448, 0, 0, 0, 0}, {10, 4386, 4864, 85, 0, 0, 0}, {10, 48, 530, 80, 1044, 4096, 0}, {255, 2175, 13056, 17408, 0, 0, 0}, {2176, 17408, 0, 0, 0, 0, 0}, {771, 5, 273, 0, 0, 0, 0}, {10, 17442, 17920, 0, 0, 0, 0}, {1091, 16448, 0, 0, 0, 0, 0}, {3084, 1092, 0, 0, 0, 0, 0}, {544, 5, 4352, 0, 0, 0, 0}, {1094, 16448, 0, 0, 0, 0, 0}, {15, 17527, 17152, 0, 0, 0, 0}, {17544, 19456, 0, 0, 0, 0, 0}, {275, 5, 4112, 0, 0, 0, 0}, {10, 544, 17408, 0, 0, 0, 0}, {15, 48, 771, 1092, 0, 0, 0}, {1100, 16448, 0, 0, 0, 0, 0}, {4386, 4864, 5, 0, 0, 0, 0}, {10, 1060, 1542, 1092, 0, 0, 0}, {15, 1904, 17408, 0, 0, 0, 0}, {48, 80, 1024, 4096, 0, 0, 0}, {2056, 85, 4369, 0, 0, 0, 0}, {1106, 16448, 0, 0, 0, 0, 0}, {95, 17459, 22272, 0, 0, 0, 0}, {8224, 80, 5140, 0, 0, 0, 0}, {63, 85, 1024, 4352, 0, 0, 0}, {90, 17510, 20992, 0, 0, 0, 0}, {1111, 16448, 0, 0, 0, 0, 0}, {1032, 48, 80, 4112, 0, 0, 0}, {2048, 4403, 85, 0, 0, 0, 0}, {90, 48, 4608, 1024, 0, 0, 0}, {95, 4883, 17476, 0, 0, 0, 0}, {5180, 8192, 80, 0, 0, 0, 0}, {4381, 4386, 85, 5397, 0, 0, 0}, {90, 5654, 17476, 0, 0, 0, 0}, {95, 96, 4864, 1024, 0, 0, 0}, {160, 2048, 8192, 17408, 0, 0, 0}, {15, 48, 771, 85, 1028, 4369, 0}, {2056, 17442, 0, 0, 0, 0, 0}, {1027, 80, 4096, 0, 0, 0, 0}, {96, 1028, 0, 0, 0, 0, 0}, {15, 1792, 85, 4352, 0, 0, 0}, {1036, 1126, 16384, 0, 0, 0, 0}, {15, 5159, 1799, 80, 0, 0, 0}, {17448, 8224, 0, 0, 0, 0, 0}, {4355, 85, 5376, 0, 0, 0, 0}, {170, 2048, 8704, 17408, 0, 0, 0}, {15, 48, 771, 80, 1028, 4112, 0}, {1036, 96, 16384, 0, 0, 0, 0}, {15, 4386, 1799, 85, 0, 0, 0}, {106, 8738, 1028, 0, 0, 0, 0}, {15, 4864, 80, 5120, 0, 0, 0}, {3072, 48, 1088, 0, 0, 0, 0}, {10, 546, 85, 4369, 0, 0, 0}, {1042, 80, 4096, 0, 0, 0, 0}, {19532, 17459, 0, 0, 0, 0, 0}, {240, 2168, 13380, 17476, 0, 0, 0}, {10, 53, 533, 85, 1045, 4352, 0}, {10, 5174, 5654, 80, 0, 0, 0}, {1096, 1143, 16384, 0, 0, 0, 0}, {1096, 48, 16384, 0, 0, 0, 0}, {10, 4403, 4883, 85, 0, 0, 0}, {10, 48, 528, 80, 1040, 4112, 0}, {255, 2167, 13107, 17476, 0, 0, 0}, {17468, 28784, 0, 0, 0, 0, 0}, {4375, 85, 5376, 0, 0, 0, 0}, {10, 546, 80, 5140, 0, 0, 0}, {63, 13056, 1088, 0, 0, 0, 0}, {192, 1024, 0, 0, 0, 0, 0}, {514, 5, 4369, 0, 0, 0, 0}, {1026, 16448, 0, 0, 0, 0, 0}, {15, 17459, 1792, 0, 0, 0, 0}, {2056, 17476, 0, 0, 0, 0, 0}, {48, 5, 256, 0, 0, 0, 0}, {10, 17510, 512, 0, 0, 0, 0}, {1031, 16448, 0, 0, 0, 0, 0}, {1032, 16448, 0, 0, 0, 0, 0}, {4403, 512, 5, 0, 0, 0, 0}, {10, 96, 512, 1024, 0, 0, 0}, {15, 1799, 17476, 0, 0, 0, 0}, {17612, 2048, 0, 0, 0, 0, 0}, {258, 5, 4112, 0, 0, 0, 0}, {10, 514, 17476, 0, 0, 0, 0}, {15, 48, 768, 1024, 0, 0, 0}, {8224, 80, 5120, 0, 0, 0, 0}, {63, 85, 1041, 4369, 0, 0, 0}, {90, 17442, 5632, 0, 0, 0, 0}, {1043, 16448, 0, 0, 0, 0, 0}, {48, 80, 1044, 4096, 0, 0, 0}, {2090, 85, 4352, 0, 0, 0, 0}, {1046, 16448, 0, 0, 0, 0, 0}, {95, 17527, 4864, 0, 0, 0, 0}, {5160, 8192, 80, 0, 0, 0, 0}, {4364, 4403, 85, 5397, 0, 0, 0}, {90, 5744, 17408, 0, 0, 0, 0}, {1051, 1060, 5911, 1092, 0, 0, 0}, {1052, 48, 80, 4112, 0, 0, 0}, {6400, 4386, 85, 0, 0, 0, 0}, {1054, 48, 4626, 1092, 0, 0, 0}, {95, 4896, 17408, 0, 0, 0, 0}, {3072, 1056, 1088, 0, 0, 0, 0}, {15, 1826, 85, 4369, 0, 0, 0}, {1096, 1058, 16384, 0, 0, 0, 0}, {15, 5171, 4883, 80, 0, 0, 0}, {160, 2088, 8192, 17476, 0, 0, 0}, {15, 48, 768, 85, 1045, 4352, 0}, {19532, 17510, 0, 0, 0, 0, 0}, {1047, 80, 4096, 0, 0, 0, 0}, {1096, 96, 16384, 0, 0, 0, 0}, {15, 4403, 5654, 85, 0, 0, 0}, {1066, 8704, 1088, 0, 0, 0, 0}, {15, 4915, 80, 5140, 0, 0, 0}, {17516, 8224, 0, 0, 0, 0, 0}, {4370, 85, 5376, 0, 0, 0, 0}, {170, 2082, 8738, 17476, 0, 0, 0}, {15, 48, 768, 80, 1040, 4112, 0}, {240, 2048, 13312, 17408, 0, 0, 0}, {10, 53, 514, 85, 1028, 4369, 0}, {10, 5154, 514, 80, 0, 0, 0}, {1036, 1075, 16384, 0, 0, 0, 0}, {48, 1028, 0, 0, 0, 0, 0}, {10, 512, 85, 4352, 0, 0, 0}, {1030, 80, 4096, 0, 0, 0, 0}, {2056, 17527, 0, 0, 0, 0, 0}, {17528, 28784, 0, 0, 0, 0, 0}, {4358, 85, 5376, 0, 0, 0, 0}, {10, 512, 80, 5120, 0, 0, 0}, {63, 13107, 1028, 0, 0, 0, 0}, {1036, 48, 16384, 0, 0, 0, 0}, {10, 4386, 514, 85, 0, 0, 0}, {10, 48, 514, 80, 1028, 4112, 0}, {255, 2048, 13056, 17408, 0, 0, 0}, {12288, 1280, 0, 0, 0, 0, 0}, {8, 68, 257, 0, 0, 0, 0}, {1282, 16384, 0, 0, 0, 0, 0}, {1295, 21811, 771, 0, 0, 0, 0}, {512, 260, 4352, 0, 0, 0, 0}, {12528, 1285, 0, 0, 0, 0, 0}, {1290, 21862, 1542, 0, 0, 0, 0}, {1287, 16384, 0, 0, 0, 0, 0}, {8, 512, 1280, 4096, 0, 0, 0}, {204, 771, 1285, 0, 0, 0, 0}, {1290, 12288, 0, 0, 0, 0, 0}, {259, 68, 1028, 0, 0, 0, 0}, {780, 13056, 1280, 0, 0, 0, 0}, {8, 514, 4176, 1285, 0, 0, 0}, {262, 68, 1028, 0, 0, 0, 0}, {1295, 24576, 0, 0, 0, 0, 0}, {2592, 1360, 4112, 0, 0, 0, 0}, {819, 68, 1297, 4369, 0, 0, 0}, {1370, 21794, 4626, 0, 0, 0, 0}, {1299, 16384, 0, 0, 0, 0, 0}, {828, 68, 1300, 4352, 0, 0, 0}, {8192, 4160, 5397, 0, 0, 0, 0}, {1302, 16384, 0, 0, 0, 0, 0}, {1375, 21879, 5911, 0, 0, 0, 0}, {6168, 4656, 1360, 0, 0, 0, 0}, {1305, 819, 1365, 4096, 0, 0, 0}, {1370, 4144, 16448, 0, 0, 0, 0}, {1307, 4403, 4608, 68, 0, 0, 0}, {4124, 4896, 4176, 5376, 0, 0, 0}, {5951, 8738, 1365, 0, 0, 0, 0}, {1310, 4386, 5888, 68, 0, 0, 0}, {1375, 4192, 16448, 0, 0, 0, 0}, {4128, 5376, 0, 0, 0, 0, 0}, {1325, 771, 68, 4369, 0, 0, 0}, {1314, 5888, 20480, 0, 0, 0, 0}, {76, 1379, 771, 4112, 0, 0, 0}, {780, 1572, 68, 4352, 0, 0, 0}, {3855, 1317, 5461, 0, 0, 0, 0}, {4108, 5414, 4864, 4160, 0, 0, 0}, {5983, 1319, 20560, 0, 0, 0, 0}, {1320, 4608, 21760, 0, 0, 0, 0}, {76, 4144, 771, 5397, 0, 0, 0}, {1322, 4096, 0, 0, 0, 0, 0}, {4403, 771, 68, 5140, 0, 0, 0}, {5388, 1312, 5632, 5440, 0, 0, 0}, {4698, 6007, 21845, 0, 0, 0, 0}, {780, 4386, 68, 5120, 0, 0, 0}, {1327, 8224, 4176, 0, 0, 0, 0}, {1520, 2560, 12336, 21760, 0, 0, 0}, {8, 305, 514, 68, 1024, 4369, 0}, {8, 1394, 514, 4112, 0, 0, 0}, {1331, 1536, 20480, 0, 0, 0, 0}, {8, 308, 512, 68, 1024, 4352, 0}, {1525, 2570, 13621, 21845, 0, 0, 0}, {1546, 1334, 20560, 0, 0, 0, 0}, {8, 5431, 512, 4160, 0, 0, 0}, {8, 4144, 512, 5440, 0, 0, 0}, {1546, 819, 21845, 0, 0, 0, 0}, {1530, 2570, 12336, 20560, 0, 0, 0}, {8, 307, 512, 68, 1024, 4096, 0}, {1340, 1536, 21760, 0, 0, 0, 0}, {8, 4192, 514, 5397, 0, 0, 0}, {4386, 514, 4116, 0, 0, 0, 0}, {13631, 20480, 0, 0, 0, 0, 0}, {8192, 4160, 1280, 0, 0, 0, 0}, {783, 68, 1285, 4369, 0, 0, 0}, {1290, 21794, 16962, 0, 0, 0, 0}, {1347, 16384, 0, 0, 0, 0, 0}, {768, 68, 1280, 4352, 0, 0, 0}, {128, 1285, 4112, 0, 0, 0, 0}, {1350, 16384, 0, 0, 0, 0, 0}, {1295, 21879, 18247, 0, 0, 0, 0}, {4680, 8704, 1280, 0, 0, 0, 0}, {4124, 4883, 4176, 1285, 0, 0, 0}, {1290, 4192, 16448, 0, 0, 0, 0}, {1295, 4403, 1536, 68, 0, 0, 0}, {76, 768, 1280, 4096, 0, 0, 0}, {136, 4626, 1285, 0, 0, 0, 0}, {1290, 4386, 768, 68, 0, 0, 0}, {1295, 4144, 16448, 0, 0, 0, 0}, {16128, 1360, 0, 0, 0, 0, 0}, {546, 277, 4369, 0, 0, 0, 0}, {1362, 16384, 0, 0, 0, 0, 0}, {1375, 21811, 21331, 0, 0, 0, 0}, {8, 1028, 272, 0, 0, 0, 0}, {12288, 1365, 0, 0, 0, 0, 0}, {1370, 21862, 22102, 0, 0, 0, 0}, {1367, 16384, 0, 0, 0, 0, 0}, {8, 544, 4176, 5376, 0, 0, 0}, {831, 13107, 1365, 0, 0, 0, 0}, {1370, 24576, 0, 0, 0, 0, 0}, {279, 68, 1028, 0, 0, 0, 0}, {3084, 816, 1360, 0, 0, 0, 0}, {8, 546, 1365, 4096, 0, 0, 0}, {274, 68, 1028, 0, 0, 0, 0}, {1375, 12288, 0, 0, 0, 0, 0}, {1440, 3840, 13664, 21760, 0, 0, 0}, {8, 293, 775, 68, 1024, 4369, 0}, {8, 1314, 1792, 4160, 0, 0, 0}, {783, 1379, 20560, 0, 0, 0, 0}, {8, 288, 768, 68, 1024, 4352, 0}, {1445, 3855, 12336, 21845, 0, 0, 0}, {1382, 768, 20480, 0, 0, 0, 0}, {8, 1319, 1799, 4112, 0, 0, 0}, {8, 1312, 1792, 5440, 0, 0, 0}, {783, 1638, 21845, 0, 0, 0, 0}, {13674, 20480, 0, 0, 0, 0, 0}, {4403, 4883, 4116, 0, 0, 0, 0}, {1388, 768, 21760, 0, 0, 0, 0}, {8, 4144, 4626, 5397, 0, 0, 0}, {8, 290, 768, 68, 1024, 4096, 0}, {1455, 3855, 12336, 20560, 0, 0, 0}, {4208, 5376, 0, 0, 0, 0, 0}, {1337, 1542, 68, 4369, 0, 0, 0}, {4698, 1394, 20560, 0, 0, 0, 0}, {4108, 1331, 5632, 4160, 0, 0, 0}, {1548, 816, 68, 4352, 0, 0, 0}, {2570, 4128, 5461, 0, 0, 0, 0}, {76, 1334, 1542, 4112, 0, 0, 0}, {1399, 4608, 20480, 0, 0, 0, 0}, {1400, 5888, 21760, 0, 0, 0, 0}, {76, 4192, 4883, 5397, 0, 0, 0}, {5418, 8224, 4176, 0, 0, 0, 0}, {4620, 4403, 68, 5120, 0, 0, 0}, {5388, 4144, 4864, 5440, 0, 0, 0}, {5983, 4642, 21845, 0, 0, 0, 0}, {4386, 4626, 68, 5140, 0, 0, 0}, {1407, 4096, 0, 0, 0, 0, 0}, {128, 1280, 4096, 0, 0, 0, 0}, {771, 68, 1285, 4369, 0, 0, 0}, {1290, 21794, 18176, 0, 0, 0, 0}, {1347, 16448, 0, 0, 0, 0, 0}, {780, 68, 1280, 4352, 0, 0, 0}, {8224, 4176, 1285, 0, 0, 0, 0}, {1350, 16448, 0, 0, 0, 0, 0}, {1295, 21879, 16896, 0, 0, 0, 0}, {136, 4608, 1280, 0, 0, 0, 0}, {76, 771, 1285, 4112, 0, 0, 0}, {1290, 4128, 16384, 0, 0, 0, 0}, {1295, 4403, 771, 68, 0, 0, 0}, {4108, 4864, 4160, 1280, 0, 0, 0}, {4698, 8738, 1285, 0, 0, 0, 0}, {1290, 4386, 1542, 68, 0, 0, 0}, {1295, 4208, 16384, 0, 0, 0, 0}, {12336, 1360, 0, 0, 0, 0, 0}, {8, 1024, 273, 0, 0, 0, 0}, {1362, 16448, 0, 0, 0, 0, 0}, {1375, 21811, 22016, 0, 0, 0, 0}, {544, 276, 4352, 0, 0, 0, 0}, {16191, 1365, 0, 0, 0, 0, 0}, {1370, 21862, 21248, 0, 0, 0, 0}, {1367, 16448, 0, 0, 0, 0, 0}, {8, 544, 1360, 4112, 0, 0, 0}, {3072, 819, 1365, 0, 0, 0, 0}, {1370, 12336, 0, 0, 0, 0, 0}, {275, 68, 1024, 0, 0, 0, 0}, {828, 13056, 1360, 0, 0, 0, 0}, {8, 546, 4160, 5397, 0, 0, 0}, {278, 68, 1024, 0, 0, 0, 0}, {1375, 24672, 0, 0, 0, 0, 0}, {1440, 3840, 12288, 21760, 0, 0, 0}, {8, 289, 771, 68, 1028, 4369, 0}, {8, 1314, 1792, 4096, 0, 0, 0}, {1379, 771, 20560, 0, 0, 0, 0}, {8, 292, 772, 68, 1028, 4352, 0}, {1445, 3855, 13653, 21845, 0, 0, 0}, {780, 1382, 20480, 0, 0, 0, 0}, {8, 1319, 1799, 4176, 0, 0, 0}, {8, 4128, 4608, 5376, 0, 0, 0}, {1385, 771, 21845, 0, 0, 0, 0}, {1450, 3840, 12288, 20480, 0, 0, 0}, {8, 291, 771, 68, 1028, 4112, 0}, {780, 1632, 21760, 0, 0, 0, 0}, {8, 1317, 1799, 5461, 0, 0, 0}, {4386, 4864, 4100, 0, 0, 0, 0}, {13663, 20560, 0, 0, 0, 0, 0}, {2560, 4144, 5440, 0, 0, 0, 0}, {1546, 819, 68, 4369, 0, 0, 0}, {1394, 4626, 20560, 0, 0, 0, 0}, {76, 1331, 1536, 4096, 0, 0, 0}, {1340, 1536, 68, 4352, 0, 0, 0}, {4192, 5397, 0, 0, 0, 0, 0}, {4124, 1334, 5654, 4176, 0, 0, 0}, {4680, 1399, 20480, 0, 0, 0, 0}, {5960, 4656, 21760, 0, 0, 0, 0}, {5401, 4128, 4883, 5461, 0, 0, 0}, {1402, 4112, 0, 0, 0, 0, 0}, {4403, 4608, 68, 5120, 0, 0, 0}, {76, 4208, 4864, 5376, 0, 0, 0}, {1405, 5911, 21845, 0, 0, 0, 0}, {4638, 4386, 68, 5140, 0, 0, 0}, {5439, 8192, 4160, 0, 0, 0, 0}, {12480, 1280, 0, 0, 0, 0, 0}, {514, 261, 4369, 0, 0, 0, 0}, {1282, 16448, 0, 0, 0, 0, 0}, {1295, 21811, 1536, 0, 0, 0, 0}, {8, 68, 256, 0, 0, 0, 0}, {12336, 1285, 0, 0, 0, 0, 0}, {1290, 21862, 768, 0, 0, 0, 0}, {1287, 16448, 0, 0, 0, 0, 0}, {8, 512, 4160, 1280, 0, 0, 0}, {783, 13107, 1285, 0, 0, 0, 0}, {1290, 24672, 0, 0, 0, 0, 0}, {263, 68, 1024, 0, 0, 0, 0}, {204, 768, 1280, 0, 0, 0, 0}, {8, 514, 1285, 4112, 0, 0, 0}, {258, 68, 1024, 0, 0, 0, 0}, {1295, 12336, 0, 0, 0, 0, 0}, {8224, 4176, 5376, 0, 0, 0, 0}, {831, 68, 1297, 4369, 0, 0, 0}, {1370, 21794, 5888, 0, 0, 0, 0}, {1299, 16448, 0, 0, 0, 0, 0}, {816, 68, 1300, 4352, 0, 0, 0}, {2602, 1365, 4096, 0, 0, 0, 0}, {1302, 16448, 0, 0, 0, 0, 0}, {1375, 21879, 4608, 0, 0, 0, 0}, {5928, 8704, 1360, 0, 0, 0, 0}, {4108, 4915, 4160, 5397, 0, 0, 0}, {1370, 4208, 16384, 0, 0, 0, 0}, {1307, 4403, 5911, 68, 0, 0, 0}, {1308, 816, 1360, 4112, 0, 0, 0}, {6144, 4642, 1365, 0, 0, 0, 0}, {1310, 4386, 4626, 68, 0, 0, 0}, {1375, 4128, 16384, 0, 0, 0, 0}, {3840, 1312, 5440, 0, 0, 0, 0}, {783, 1570, 68, 4369, 0, 0, 0}, {5960, 1314, 20480, 0, 0, 0, 0}, {4124, 5427, 4883, 4176, 0, 0, 0}, {1320, 768, 68, 4352, 0, 0, 0}, {4144, 5397, 0, 0, 0, 0, 0}, {76, 1382, 768, 4096, 0, 0, 0}, {1319, 5911, 20560, 0, 0, 0, 0}, {4680, 5984, 21760, 0, 0, 0, 0}, {5401, 1317, 5654, 5461, 0, 0, 0}, {1322, 8192, 4160, 0, 0, 0, 0}, {783, 4403, 68, 5140, 0, 0, 0}, {76, 4128, 768, 5376, 0, 0, 0}, {1325, 4626, 21845, 0, 0, 0, 0}, {4386, 768, 68, 5120, 0, 0, 0}, {1327, 4112, 0, 0, 0, 0, 0}, {1520, 2560, 13568, 21760, 0, 0, 0}, {8, 309, 514, 68, 1028, 4369, 0}, {8, 5410, 514, 4176, 0, 0, 0}, {1548, 1331, 20480, 0, 0, 0, 0}, {8, 304, 512, 68, 1028, 4352, 0}, {1525, 2570, 12288, 21845, 0, 0, 0}, {1334, 1542, 20560, 0, 0, 0, 0}, {8, 1399, 512, 4096, 0, 0, 0}, {8, 4208, 512, 5376, 0, 0, 0}, {1337, 1542, 21845, 0, 0, 0, 0}, {13578, 20560, 0, 0, 0, 0, 0}, {4403, 512, 4100, 0, 0, 0, 0}, {1548, 816, 21760, 0, 0, 0, 0}, {8, 4128, 514, 5461, 0, 0, 0}, {8, 306, 514, 68, 1028, 4112, 0}, {1535, 2560, 12288, 20480, 0, 0, 0}, {2560, 26112, 0, 0, 0, 0, 0}, {7, 64, 257, 0, 0, 0, 0}, {8, 514, 17408, 0, 0, 0, 0}, {15, 48, 771, 1280, 0, 0, 0}, {8, 512, 64, 1028, 0, 0, 0}, {15, 13056, 1285, 0, 0, 0, 0}, {192, 1542, 0, 0, 0, 0, 0}, {7, 1280, 4352, 0, 0, 0, 0}, {8, 512, 17408, 0, 0, 0, 0}, {15, 48, 771, 1285, 0, 0, 0}, {26282, 2570, 0, 0, 0, 0, 0}, {259, 260, 4096, 0, 0, 0, 0}, {1548, 24576, 0, 0, 0, 0, 0}, {7, 4437, 1285, 0, 0, 0, 0}, {8, 514, 64, 1028, 0, 0, 0}, {15, 13056, 1280, 0, 0, 0, 0}, {48, 1552, 64, 4112, 0, 0, 0}, {2645, 119, 4369, 0, 0, 0, 0}, {72, 48, 4626, 5120, 0, 0, 0}, {127, 4883, 21760, 0, 0, 0, 0}, {120, 8704, 5140, 0, 0, 0, 0}, {63, 4864, 64, 5397, 0, 0, 0}, {112, 5654, 20480, 0, 0, 0, 0}, {72, 119, 1559, 4352, 0, 0, 0}, {5144, 48, 4608, 5200, 0, 0, 0}, {4940, 4915, 21845, 0, 0, 0, 0}, {1562, 48, 64, 4096, 0, 0, 0}, {6939, 4403, 4420, 0, 0, 0, 0}, {5708, 112, 20560, 0, 0, 0, 0}, {4381, 4386, 5888, 4437, 0, 0, 0}, {5180, 8738, 5188, 0, 0, 0, 0}, {4895, 4896, 64, 5376, 0, 0, 0}, {19456, 17952, 0, 0, 0, 0, 0}, {1298, 1365, 4369, 0, 0, 0, 0}, {136, 2594, 8738, 17408, 0, 0, 0}, {15, 48, 771, 64, 1296, 4112, 0}, {72, 1572, 17476, 0, 0, 0, 0}, {15, 1317, 4864, 1365, 0, 0, 0}, {3084, 1574, 64, 0, 0, 0, 0}, {15, 1319, 1360, 4352, 0, 0, 0}, {136, 2600, 8704, 17408, 0, 0, 0}, {15, 48, 771, 64, 1301, 4096, 0}, {17962, 8192, 0, 0, 0, 0, 0}, {4355, 4420, 5140, 0, 0, 0, 0}, {1580, 8224, 64, 0, 0, 0, 0}, {15, 4386, 4437, 5120, 0, 0, 0}, {72, 1638, 17476, 0, 0, 0, 0}, {15, 1312, 5632, 1360, 0, 0, 0}, {48, 1536, 20480, 0, 0, 0, 0}, {8, 119, 514, 4369, 0, 0, 0}, {8, 48, 514, 64, 1024, 4112, 0}, {255, 2560, 13107, 21760, 0, 0, 0}, {8, 5172, 512, 5188, 0, 0, 0}, {1546, 1589, 21845, 0, 0, 0, 0}, {240, 2570, 13878, 20560, 0, 0, 0}, {8, 55, 512, 64, 1024, 4352, 0}, {8, 48, 512, 64, 1024, 4096, 0}, {255, 2570, 13107, 21845, 0, 0, 0}, {1546, 48, 20560, 0, 0, 0, 0}, {8, 4403, 512, 4420, 0, 0, 0}, {13884, 20480, 0, 0, 0, 0, 0}, {4386, 514, 4373, 0, 0, 0, 0}, {8, 112, 514, 5140, 0, 0, 0}, {63, 1536, 21760, 0, 0, 0, 0}, {1536, 64, 0, 0, 0, 0, 0}, {15, 119, 1285, 4369, 0, 0, 0}, {72, 1602, 17408, 0, 0, 0, 0}, {15, 112, 4931, 1280, 0, 0, 0}, {136, 2560, 8704, 17476, 0, 0, 0}, {15, 48, 768, 64, 1285, 4112, 0}, {128, 17990, 0, 0, 0, 0, 0}, {71, 1280, 4352, 0, 0, 0, 0}, {72, 1536, 17408, 0, 0, 0, 0}, {15, 112, 4883, 1285, 0, 0, 0}, {1546, 8224, 64, 0, 0, 0, 0}, {15, 4403, 4420, 1280, 0, 0, 0}, {17996, 8192, 0, 0, 0, 0, 0}, {4370, 4437, 1285, 0, 0, 0, 0}, {136, 2570, 8738, 17476, 0, 0, 0}, {15, 48, 768, 64, 1280, 4096, 0}, {240, 2640, 13904, 20560, 0, 0, 0}, {8, 55, 533, 64, 1028, 4369, 0}, {8, 112, 594, 5120, 0, 0, 0}, {63, 1619, 21760, 0, 0, 0, 0}, {8, 48, 528, 64, 1028, 4112, 0}, {255, 2645, 13056, 21845, 0, 0, 0}, {48, 1622, 20480, 0, 0, 0, 0}, {8, 119, 599, 4352, 0, 0, 0}, {8, 5152, 5632, 5200, 0, 0, 0}, {1625, 1638, 21845, 0, 0, 0, 0}, {13914, 20480, 0, 0, 0, 0, 0}, {4403, 4883, 4356, 0, 0, 0, 0}, {1628, 48, 20560, 0, 0, 0, 0}, {8, 4386, 4864, 4437, 0, 0, 0}, {8, 48, 530, 64, 1028, 4096, 0}, {255, 2655, 13056, 21760, 0, 0, 0}, {3072, 1632, 0, 0, 0, 0, 0}, {7, 1365, 4369, 0, 0, 0, 0}, {8, 546, 64, 1024, 0, 0, 0}, {15, 13107, 1360, 0, 0, 0, 0}, {8, 544, 17476, 0, 0, 0, 0}, {15, 48, 768, 1365, 0, 0, 0}, {2730, 26214, 0, 0, 0, 0, 0}, {7, 1024, 272, 0, 0, 0, 0}, {8, 544, 64, 1024, 0, 0, 0}, {15, 13107, 1365, 0, 0, 0, 0}, {1642, 24576, 0, 0, 0, 0, 0}, {7, 4420, 5140, 0, 0, 0, 0}, {26316, 27756, 0, 0, 0, 0, 0}, {274, 277, 4096, 0, 0, 0, 0}, {8, 546, 17476, 0, 0, 0, 0}, {15, 48, 768, 1360, 0, 0, 0}, {112, 5632, 20480, 0, 0, 0, 0}, {72, 119, 1542, 4369, 0, 0, 0}, {5160, 8738, 5200, 0, 0, 0, 0}, {4876, 4915, 64, 5376, 0, 0, 0}, {5132, 48, 4608, 5188, 0, 0, 0}, {4959, 4896, 21845, 0, 0, 0, 0}, {48, 1542, 64, 4112, 0, 0, 0}, {2560, 119, 4352, 0, 0, 0, 0}, {120, 8704, 5120, 0, 0, 0, 0}, {63, 4883, 64, 5397, 0, 0, 0}, {5722, 112, 20560, 0, 0, 0, 0}, {4364, 4403, 5888, 4420, 0, 0, 0}, {1548, 48, 64, 4096, 0, 0, 0}, {2570, 4386, 4437, 0, 0, 0, 0}, {72, 48, 4626, 5140, 0, 0, 0}, {127, 4864, 21760, 0, 0, 0, 0}, {128, 17920, 0, 0, 0, 0, 0}, {71, 1285, 4369, 0, 0, 0, 0}, {136, 2570, 8738, 17408, 0, 0, 0}, {15, 48, 771, 64, 1280, 4096, 0}, {72, 1604, 17476, 0, 0, 0, 0}, {15, 112, 4944, 1285, 0, 0, 0}, {1542, 64, 0, 0, 0, 0, 0}, {15, 119, 1280, 4352, 0, 0, 0}, {136, 2560, 8704, 17408, 0, 0, 0}, {15, 48, 771, 64, 1285, 4112, 0}, {17930, 8224, 0, 0, 0, 0, 0}, {4355, 4420, 1280, 0, 0, 0, 0}, {1548, 8192, 64, 0, 0, 0, 0}, {15, 4386, 4437, 1285, 0, 0, 0}, {72, 1542, 17476, 0, 0, 0, 0}, {15, 112, 4864, 1280, 0, 0, 0}, {48, 1616, 20560, 0, 0, 0, 0}, {8, 119, 597, 4369, 0, 0, 0}, {8, 48, 530, 64, 1024, 4096, 0}, {255, 2655, 13107, 21760, 0, 0, 0}, {8, 112, 592, 5140, 0, 0, 0}, {63, 1621, 21845, 0, 0, 0, 0}, {240, 2650, 13926, 20480, 0, 0, 0}, {8, 55, 535, 64, 1024, 4352, 0}, {8, 48, 528, 64, 1024, 4112, 0}, {255, 2645, 13107, 21845, 0, 0, 0}, {1626, 48, 20480, 0, 0, 0, 0}, {8, 4403, 4883, 4420, 0, 0, 0}, {13932, 20560, 0, 0, 0, 0, 0}, {4386, 4864, 4373, 0, 0, 0, 0}, {8, 5172, 5654, 5188, 0, 0, 0}, {1631, 1632, 21760, 0, 0, 0, 0}, {2720, 26112, 0, 0, 0, 0, 0}, {7, 1028, 273, 0, 0, 0, 0}, {8, 546, 17408, 0, 0, 0, 0}, {15, 48, 771, 1360, 0, 0, 0}, {8, 544, 64, 1028, 0, 0, 0}, {15, 13056, 1365, 0, 0, 0, 0}, {3084, 1638, 0, 0, 0, 0, 0}, {7, 1360, 4352, 0, 0, 0, 0}, {8, 544, 17408, 0, 0, 0, 0}, {15, 48, 771, 1365, 0, 0, 0}, {26282, 27648, 0, 0, 0, 0, 0}, {275, 276, 4112, 0, 0, 0, 0}, {1644, 24672, 0, 0, 0, 0, 0}, {7, 4437, 5120, 0, 0, 0, 0}, {8, 546, 64, 1028, 0, 0, 0}, {15, 13056, 1360, 0, 0, 0, 0}, {48, 1536, 64, 4096, 0, 0, 0}, {2570, 119, 4369, 0, 0, 0, 0}, {5144, 48, 4626, 5200, 0, 0, 0}, {4940, 4915, 21760, 0, 0, 0, 0}, {5180, 8704, 5188, 0, 0, 0, 0}, {4895, 4896, 64, 5397, 0, 0, 0}, {112, 5654, 20560, 0, 0, 0, 0}, {72, 119, 1536, 4352, 0, 0, 0}, {72, 48, 4608, 5120, 0, 0, 0}, {127, 4883, 21845, 0, 0, 0, 0}, {1546, 48, 64, 4112, 0, 0, 0}, {2560, 4403, 4420, 0, 0, 0, 0}, {5708, 112, 20480, 0, 0, 0, 0}, {4381, 4386, 5911, 4437, 0, 0, 0}, {120, 8738, 5140, 0, 0, 0, 0}, {63, 4864, 64, 5376, 0, 0, 0}, {192, 1536, 0, 0, 0, 0, 0}, {7, 1285, 4369, 0, 0, 0, 0}, {8, 514, 64, 1024, 0, 0, 0}, {15, 13107, 1280, 0, 0, 0, 0}, {8, 512, 17476, 0, 0, 0, 0}, {15, 48, 768, 1285, 0, 0, 0}, {2570, 26214, 0, 0, 0, 0, 0}, {7, 64, 256, 0, 0, 0, 0}, {8, 512, 64, 1024, 0, 0, 0}, {15, 13107, 1285, 0, 0, 0, 0}, {1546, 24672, 0, 0, 0, 0, 0}, {7, 4420, 1280, 0, 0, 0, 0}, {26316, 2560, 0, 0, 0, 0, 0}, {258, 261, 4112, 0, 0, 0, 0}, {8, 514, 17476, 0, 0, 0, 0}, {15, 48, 768, 1280, 0, 0, 0}, {112, 5632, 20560, 0, 0, 0, 0}, {72, 119, 1553, 4369, 0, 0, 0}, {120, 8738, 5120, 0, 0, 0, 0}, {63, 4883, 64, 5376, 0, 0, 0}, {72, 48, 4608, 5140, 0, 0, 0}, {127, 4864, 21845, 0, 0, 0, 0}, {48, 1558, 64, 4096, 0, 0, 0}, {2655, 119, 4352, 0, 0, 0, 0}, {5160, 8704, 5200, 0, 0, 0, 0}, {4876, 4915, 64, 5397, 0, 0, 0}, {5722, 112, 20480, 0, 0, 0, 0}, {4364, 4403, 5911, 4420, 0, 0, 0}, {1564, 48, 64, 4112, 0, 0, 0}, {6912, 4386, 4437, 0, 0, 0, 0}, {5132, 48, 4626, 5188, 0, 0, 0}, {4959, 4896, 21760, 0, 0, 0, 0}, {3072, 1568, 64, 0, 0, 0, 0}, {15, 1314, 1365, 4369, 0, 0, 0}, {72, 1570, 17408, 0, 0, 0, 0}, {15, 1312, 4883, 1360, 0, 0, 0}, {136, 2600, 8704, 17476, 0, 0, 0}, {15, 48, 768, 64, 1301, 4096, 0}, {19532, 18022, 0, 0, 0, 0, 0}, {1303, 1360, 4352, 0, 0, 0, 0}, {72, 1632, 17408, 0, 0, 0, 0}, {15, 1317, 5654, 1365, 0, 0, 0}, {1578, 8192, 64, 0, 0, 0, 0}, {15, 4403, 4420, 5140, 0, 0, 0}, {18028, 8224, 0, 0, 0, 0, 0}, {4370, 4437, 5120, 0, 0, 0, 0}, {136, 2594, 8738, 17476, 0, 0, 0}, {15, 48, 768, 64, 1296, 4112, 0}, {240, 2560, 13824, 20480, 0, 0, 0}, {8, 55, 514, 64, 1028, 4369, 0}, {8, 5152, 514, 5200, 0, 0, 0}, {1548, 1587, 21760, 0, 0, 0, 0}, {8, 48, 512, 64, 1028, 4096, 0}, {255, 2570, 13056, 21845, 0, 0, 0}, {48, 1542, 20560, 0, 0, 0, 0}, {8, 119, 512, 4352, 0, 0, 0}, {8, 112, 512, 5120, 0, 0, 0}, {63, 1542, 21845, 0, 0, 0, 0}, {13834, 20560, 0, 0, 0, 0, 0}, {4403, 512, 4356, 0, 0, 0, 0}, {1548, 48, 20480, 0, 0, 0, 0}, {8, 4386, 514, 4437, 0, 0, 0}, {8, 48, 514, 64, 1028, 4112, 0}, {255, 2560, 13056, 21760, 0, 0, 0}, {1792, 16384, 0, 0, 0, 0, 0}, {10, 102, 257, 0, 0, 0, 0}, {10, 4128, 514, 1280, 0, 0, 0}, {1036, 771, 17408, 0, 0, 0, 0}, {780, 13056, 1028, 0, 0, 0, 0}, {10, 512, 4176, 1285, 0, 0, 0}, {262, 1280, 4352, 0, 0, 0, 0}, {16512, 1799, 0, 0, 0, 0, 0}, {1800, 12288, 0, 0, 0, 0, 0}, {259, 4437, 1285, 0, 0, 0, 0}, {10, 512, 1280, 4096, 0, 0, 0}, {204, 771, 1028, 0, 0, 0, 0}, {1036, 1792, 17408, 0, 0, 0, 0}, {10, 4208, 514, 1285, 0, 0, 0}, {4386, 514, 260, 0, 0, 0, 0}, {1807, 16384, 0, 0, 0, 0, 0}, {3920, 1904, 4112, 0, 0, 0, 0}, {1058, 1809, 1092, 4369, 0, 0, 0}, {5482, 4626, 21760, 0, 0, 0, 0}, {4172, 4128, 4883, 5120, 0, 0, 0}, {4156, 4864, 4176, 5140, 0, 0, 0}, {4714, 8704, 5397, 0, 0, 0, 0}, {1100, 102, 1814, 4352, 0, 0, 0}, {4192, 5911, 20480, 0, 0, 0, 0}, {5960, 4144, 20560, 0, 0, 0, 0}, {5401, 4403, 4608, 4437, 0, 0, 0}, {6682, 4656, 5440, 0, 0, 0, 0}, {1819, 819, 1092, 4096, 0, 0, 0}, {4124, 1056, 5888, 5200, 0, 0, 0}, {4680, 1911, 21845, 0, 0, 0, 0}, {4638, 4386, 4420, 5376, 0, 0, 0}, {5951, 8224, 4160, 0, 0, 0, 0}, {4128, 5888, 20480, 0, 0, 0, 0}, {1096, 102, 771, 4369, 0, 0, 0}, {4642, 5376, 0, 0, 0, 0, 0}, {1068, 771, 1088, 4112, 0, 0, 0}, {4108, 1060, 4864, 5188, 0, 0, 0}, {4698, 1829, 21845, 0, 0, 0, 0}, {780, 1062, 1088, 4352, 0, 0, 0}, {3855, 1831, 4176, 0, 0, 0, 0}, {1832, 4096, 0, 0, 0, 0, 0}, {4403, 771, 4437, 5397, 0, 0, 0}, {5418, 4608, 21760, 0, 0, 0, 0}, {4188, 4144, 771, 5140, 0, 0, 0}, {780, 4896, 4160, 5120, 0, 0, 0}, {1837, 8738, 5461, 0, 0, 0, 0}, {5388, 4386, 5632, 4420, 0, 0, 0}, {5983, 4208, 20560, 0, 0, 0, 0}, {2048, 18224, 0, 0, 0, 0, 0}, {1026, 1365, 4369, 0, 0, 0, 0}, {10, 514, 1360, 4112, 0, 0, 0}, {819, 1024, 0, 0, 0, 0, 0}, {1032, 1844, 17476, 0, 0, 0, 0}, {10, 5429, 512, 1365, 0, 0, 0}, {10, 310, 512, 336, 1024, 4352, 0}, {2039, 2056, 14135, 16448, 0, 0, 0}, {2040, 2056, 12336, 16448, 0, 0, 0}, {10, 307, 512, 341, 1024, 4096, 0}, {10, 4144, 512, 1360, 0, 0, 0}, {1032, 819, 17476, 0, 0, 0, 0}, {828, 13056, 1024, 0, 0, 0, 0}, {10, 514, 4160, 5397, 0, 0, 0}, {4118, 4420, 5140, 0, 0, 0, 0}, {18239, 28672, 0, 0, 0, 0, 0}, {1920, 3840, 14144, 16448, 0, 0, 0}, {10, 295, 773, 321, 1285, 4369, 0}, {10, 4192, 4674, 1280, 0, 0, 0}, {1100, 1859, 17408, 0, 0, 0, 0}, {768, 1092, 0, 0, 0, 0, 0}, {10, 544, 1285, 4112, 0, 0, 0}, {326, 1280, 4352, 0, 0, 0, 0}, {16576, 18247, 0, 0, 0, 0, 0}, {18248, 28672, 0, 0, 0, 0, 0}, {4118, 4437, 1285, 0, 0, 0, 0}, {10, 544, 4160, 1280, 0, 0, 0}, {783, 13107, 1092, 0, 0, 0, 0}, {1100, 768, 17408, 0, 0, 0, 0}, {10, 4144, 4626, 1285, 0, 0, 0}, {10, 290, 768, 324, 1280, 4096, 0}, {1935, 3855, 12336, 16448, 0, 0, 0}, {5888, 4176, 0, 0, 0, 0, 0}, {857, 102, 1028, 4369, 0, 0, 0}, {5418, 1874, 21760, 0, 0, 0, 0}, {4108, 4192, 851, 5120, 0, 0, 0}, {860, 816, 1028, 4112, 0, 0, 0}, {4608, 5461, 0, 0, 0, 0, 0}, {1036, 102, 854, 4352, 0, 0, 0}, {4128, 1879, 20480, 0, 0, 0, 0}, {1880, 4208, 20560, 0, 0, 0, 0}, {1036, 4403, 5632, 4437, 0, 0, 0}, {4698, 8704, 5376, 0, 0, 0, 0}, {4140, 4883, 4160, 1028, 0, 0, 0}, {1036, 4144, 4864, 5200, 0, 0, 0}, {1885, 4642, 21845, 0, 0, 0, 0}, {4386, 4626, 4420, 1028, 0, 0, 0}, {1887, 4096, 0, 0, 0, 0, 0}, {4192, 1792, 20480, 0, 0, 0, 0}, {1032, 102, 1799, 4369, 0, 0, 0}, {1800, 8738, 5440, 0, 0, 0, 0}, {783, 4915, 4176, 1024, 0, 0, 0}, {1032, 4128, 768, 5188, 0, 0, 0}, {1807, 4656, 21845, 0, 0, 0, 0}, {102, 768, 1024, 4352, 0, 0, 0}, {160, 1799, 4112, 0, 0, 0, 0}, {1800, 8224, 4160, 0, 0, 0, 0}, {783, 4403, 4437, 1024, 0, 0, 0}, {5482, 1792, 21760, 0, 0, 0, 0}, {4124, 4208, 4883, 5140, 0, 0, 0}, {108, 768, 1024, 4096, 0, 0, 0}, {170, 4626, 5397, 0, 0, 0, 0}, {1032, 4386, 768, 4420, 0, 0, 0}, {1807, 4144, 20560, 0, 0, 0, 0}, {18432, 1904, 0, 0, 0, 0, 0}, {279, 1365, 4369, 0, 0, 0, 0}, {10, 546, 4176, 5376, 0, 0, 0}, {831, 13107, 1088, 0, 0, 0, 0}, {1096, 816, 17476, 0, 0, 0, 0}, {10, 4128, 4608, 1365, 0, 0, 0}, {10, 1542, 272, 0, 0, 0, 0}, {1911, 16384, 0, 0, 0, 0, 0}, {1912, 16384, 0, 0, 0, 0, 0}, {4403, 4883, 277, 0, 0, 0, 0}, {10, 5408, 5888, 1360, 0, 0, 0}, {1096, 1911, 17476, 0, 0, 0, 0}, {3084, 816, 1088, 0, 0, 0, 0}, {10, 546, 1365, 4096, 0, 0, 0}, {274, 4420, 5140, 0, 0, 0, 0}, {1919, 12288, 0, 0, 0, 0, 0}, {16512, 18176, 0, 0, 0, 0, 0}, {327, 1285, 4369, 0, 0, 0, 0}, {10, 546, 1280, 4096, 0, 0, 0}, {771, 1088, 0, 0, 0, 0, 0}, {1096, 1860, 17476, 0, 0, 0, 0}, {10, 4208, 4688, 1285, 0, 0, 0}, {10, 294, 774, 320, 1280, 4352, 0}, {1927, 3855, 14199, 16384, 0, 0, 0}, {1928, 3840, 12288, 16384, 0, 0, 0}, {10, 291, 771, 325, 1285, 4112, 0}, {10, 4128, 4608, 1280, 0, 0, 0}, {1096, 771, 17476, 0, 0, 0, 0}, {780, 13056, 1088, 0, 0, 0, 0}, {10, 546, 4176, 1285, 0, 0, 0}, {4102, 4420, 1280, 0, 0, 0, 0}, {18191, 28784, 0, 0, 0, 0, 0}, {4144, 1872, 20560, 0, 0, 0, 0}, {1032, 102, 853, 4369, 0, 0, 0}, {4626, 5440, 0, 0, 0, 0, 0}, {863, 819, 1024, 4096, 0, 0, 0}, {4124, 4208, 848, 5140, 0, 0, 0}, {5439, 1877, 21845, 0, 0, 0, 0}, {858, 102, 1024, 4352, 0, 0, 0}, {5911, 4160, 0, 0, 0, 0, 0}, {1880, 4112, 0, 0, 0, 0, 0}, {4403, 4608, 4437, 1024, 0, 0, 0}, {1882, 4656, 21760, 0, 0, 0, 0}, {1032, 4128, 4883, 5188, 0, 0, 0}, {4156, 4864, 4176, 1024, 0, 0, 0}, {4680, 8738, 5397, 0, 0, 0, 0}, {1032, 4386, 5654, 4420, 0, 0, 0}, {1887, 4192, 20480, 0, 0, 0, 0}, {160, 1792, 4096, 0, 0, 0, 0}, {102, 771, 1028, 4369, 0, 0, 0}, {1800, 4642, 21760, 0, 0, 0, 0}, {1036, 4144, 771, 5200, 0, 0, 0}, {780, 4896, 4160, 1028, 0, 0, 0}, {1807, 8704, 5461, 0, 0, 0, 0}, {1036, 102, 1792, 4352, 0, 0, 0}, {4208, 1799, 20560, 0, 0, 0, 0}, {1800, 4128, 20480, 0, 0, 0, 0}, {1036, 4403, 771, 4437, 0, 0, 0}, {170, 4608, 5376, 0, 0, 0, 0}, {108, 771, 1028, 4112, 0, 0, 0}, {4108, 4192, 4864, 5120, 0, 0, 0}, {5503, 1799, 21845, 0, 0, 0, 0}, {780, 4386, 4420, 1028, 0, 0, 0}, {1807, 8192, 4176, 0, 0, 0, 0}, {1904, 16448, 0, 0, 0, 0, 0}, {10, 1536, 273, 0, 0, 0, 0}, {10, 4144, 4626, 1360, 0, 0, 0}, {1100, 819, 17408, 0, 0, 0, 0}, {828, 13056, 1092, 0, 0, 0, 0}, {10, 544, 4160, 5397, 0, 0, 0}, {278, 1360, 4352, 0, 0, 0, 0}, {18504, 1911, 0, 0, 0, 0, 0}, {1912, 12336, 0, 0, 0, 0, 0}, {275, 4437, 5120, 0, 0, 0, 0}, {10, 544, 1360, 4112, 0, 0, 0}, {3072, 819, 1092, 0, 0, 0, 0}, {1100, 1904, 17408, 0, 0, 0, 0}, {10, 5429, 5911, 1365, 0, 0, 0}, {4386, 4864, 276, 0, 0, 0, 0}, {1919, 16448, 0, 0, 0, 0, 0}, {16576, 1792, 0, 0, 0, 0, 0}, {263, 1285, 4369, 0, 0, 0, 0}, {10, 514, 4160, 1280, 0, 0, 0}, {783, 13107, 1024, 0, 0, 0, 0}, {1032, 768, 17476, 0, 0, 0, 0}, {10, 4144, 512, 1285, 0, 0, 0}, {10, 102, 256, 0, 0, 0, 0}, {1799, 16448, 0, 0, 0, 0, 0}, {1800, 16448, 0, 0, 0, 0, 0}, {4403, 512, 261, 0, 0, 0, 0}, {10, 4192, 512, 1280, 0, 0, 0}, {1032, 1799, 17476, 0, 0, 0, 0}, {204, 768, 1024, 0, 0, 0, 0}, {10, 514, 1285, 4112, 0, 0, 0}, {258, 4420, 1280, 0, 0, 0, 0}, {1807, 12336, 0, 0, 0, 0, 0}, {4208, 5888, 20560, 0, 0, 0, 0}, {1096, 102, 1809, 4369, 0, 0, 0}, {4728, 8738, 5376, 0, 0, 0, 0}, {4140, 4883, 4160, 5120, 0, 0, 0}, {4188, 4144, 4864, 5140, 0, 0, 0}, {5503, 4608, 21845, 0, 0, 0, 0}, {1062, 1814, 1088, 4352, 0, 0, 0}, {3935, 1911, 4096, 0, 0, 0, 0}, {5928, 8192, 4176, 0, 0, 0, 0}, {4620, 4403, 4437, 5397, 0, 0, 0}, {4698, 1904, 21760, 0, 0, 0, 0}, {4108, 1060, 5911, 5188, 0, 0, 0}, {1820, 816, 1088, 4112, 0, 0, 0}, {6656, 4642, 5461, 0, 0, 0, 0}, {5388, 4386, 4626, 4420, 0, 0, 0}, {5983, 4128, 20480, 0, 0, 0, 0}, {3840, 1824, 4160, 0, 0, 0, 0}, {783, 1058, 1092, 4369, 0, 0, 0}, {4680, 1826, 21760, 0, 0, 0, 0}, {4124, 1056, 4883, 5200, 0, 0, 0}, {1064, 768, 1092, 4096, 0, 0, 0}, {4656, 5397, 0, 0, 0, 0, 0}, {1100, 102, 768, 4352, 0, 0, 0}, {4144, 5911, 20560, 0, 0, 0, 0}, {5960, 4192, 20480, 0, 0, 0, 0}, {5401, 4403, 5654, 4437, 0, 0, 0}, {1834, 8704, 5440, 0, 0, 0, 0}, {783, 4915, 4176, 5140, 0, 0, 0}, {4172, 4128, 768, 5120, 0, 0, 0}, {5439, 4626, 21845, 0, 0, 0, 0}, {4386, 768, 4420, 5376, 0, 0, 0}, {1839, 4112, 0, 0, 0, 0, 0}, {2032, 2048, 14080, 16384, 0, 0, 0}, {10, 311, 514, 337, 1028, 4369, 0}, {10, 5408, 514, 1360, 0, 0, 0}, {1036, 1843, 17408, 0, 0, 0, 0}, {816, 1028, 0, 0, 0, 0, 0}, {10, 512, 1365, 4096, 0, 0, 0}, {1030, 1360, 4352, 0, 0, 0, 0}, {2056, 18295, 0, 0, 0, 0, 0}, {18296, 28784, 0, 0, 0, 0, 0}, {4102, 4437, 5120, 0, 0, 0, 0}, {10, 512, 4176, 5376, 0, 0, 0}, {831, 13107, 1028, 0, 0, 0, 0}, {1036, 816, 17408, 0, 0, 0, 0}, {10, 4128, 514, 1365, 0, 0, 0}, {10, 306, 514, 340, 1028, 4112, 0}, {2047, 2048, 12288, 16384, 0, 0, 0}, {2048, 16384, 0, 0, 0, 0, 0}, {51, 5, 257, 0, 0, 0, 0}, {10, 16416, 514, 0, 0, 0, 0}, {1027, 17408, 0, 0, 0, 0, 0}, {204, 1028, 0, 0, 0, 0, 0}, {512, 5, 4096, 0, 0, 0, 0}, {1030, 17408, 0, 0, 0, 0, 0}, {15, 16496, 1799, 0, 0, 0, 0}, {16512, 2056, 0, 0, 0, 0, 0}, {259, 5, 4352, 0, 0, 0, 0}, {10, 512, 16384, 0, 0, 0, 0}, {15, 51, 771, 1028, 0, 0, 0}, {1036, 17408, 0, 0, 0, 0, 0}, {4128, 514, 5, 0, 0, 0, 0}, {10, 102, 514, 1028, 0, 0, 0}, {15, 1792, 16384, 0, 0, 0, 0}, {2080, 80, 4112, 0, 0, 0, 0}, {51, 85, 1041, 4369, 0, 0, 0}, {90, 16432, 4626, 0, 0, 0, 0}, {1043, 17408, 0, 0, 0, 0, 0}, {60, 80, 1044, 4096, 0, 0, 0}, {8704, 85, 5397, 0, 0, 0, 0}, {1046, 17408, 0, 0, 0, 0, 0}, {95, 16480, 5911, 0, 0, 0, 0}, {6168, 4144, 80, 0, 0, 0, 0}, {1049, 51, 85, 4352, 0, 0, 0}, {90, 4656, 16448, 0, 0, 0, 0}, {1051, 51, 4864, 1092, 0, 0, 0}, {4124, 4128, 80, 5120, 0, 0, 0}, {5439, 8738, 85, 0, 0, 0, 0}, {1054, 1058, 5632, 1092, 0, 0, 0}, {95, 5984, 16448, 0, 0, 0, 0}, {18432, 16416, 0, 0, 0, 0, 0}, {1042, 85, 4369, 0, 0, 0, 0}, {170, 2082, 8738, 16384, 0, 0, 0}, {15, 51, 771, 80, 1040, 4112, 0}, {1096, 1060, 17476, 0, 0, 0, 0}, {15, 5413, 4608, 85, 0, 0, 0}, {3084, 1062, 1088, 0, 0, 0, 0}, {15, 1831, 80, 4096, 0, 0, 0}, {160, 2088, 8192, 16384, 0, 0, 0}, {15, 51, 771, 85, 1045, 4352, 0}, {16426, 8704, 0, 0, 0, 0, 0}, {4099, 80, 5140, 0, 0, 0, 0}, {1068, 8224, 1088, 0, 0, 0, 0}, {15, 4642, 85, 5376, 0, 0, 0}, {1096, 102, 17476, 0, 0, 0, 0}, {15, 4128, 5888, 80, 0, 0, 0}, {2048, 16432, 0, 0, 0, 0, 0}, {1026, 85, 4369, 0, 0, 0, 0}, {10, 514, 80, 4112, 0, 0, 0}, {51, 1024, 0, 0, 0, 0, 0}, {1032, 1076, 17476, 0, 0, 0, 0}, {10, 5429, 512, 85, 0, 0, 0}, {10, 54, 512, 80, 1024, 4096, 0}, {255, 2056, 14135, 16448, 0, 0, 0}, {240, 2056, 12336, 16448, 0, 0, 0}, {10, 51, 512, 85, 1024, 4352, 0}, {10, 4144, 512, 80, 0, 0, 0}, {1032, 51, 17476, 0, 0, 0, 0}, {60, 12288, 1024, 0, 0, 0, 0}, {10, 514, 85, 5397, 0, 0, 0}, {4118, 80, 5140, 0, 0, 0, 0}, {16447, 30464, 0, 0, 0, 0, 0}, {2176, 16448, 0, 0, 0, 0, 0}, {768, 5, 273, 0, 0, 0, 0}, {10, 16480, 16962, 0, 0, 0, 0}, {1091, 17408, 0, 0, 0, 0, 0}, {3072, 1092, 0, 0, 0, 0, 0}, {544, 5, 4112, 0, 0, 0, 0}, {1094, 17408, 0, 0, 0, 0, 0}, {15, 16432, 18247, 0, 0, 0, 0}, {16576, 18504, 0, 0, 0, 0, 0}, {275, 5, 4352, 0, 0, 0, 0}, {10, 544, 16448, 0, 0, 0, 0}, {15, 51, 768, 1092, 0, 0, 0}, {1100, 17408, 0, 0, 0, 0, 0}, {4144, 4626, 5, 0, 0, 0, 0}, {10, 1058, 1536, 1092, 0, 0, 0}, {15, 1904, 16448, 0, 0, 0, 0}, {2048, 80, 4096, 0, 0, 0, 0}, {51, 85, 1028, 4369, 0, 0, 0}, {90, 16496, 21074, 0, 0, 0, 0}, {1107, 17408, 0, 0, 0, 0, 0}, {60, 80, 1028, 4112, 0, 0, 0}, {8704, 85, 5376, 0, 0, 0, 0}, {1110, 17408, 0, 0, 0, 0, 0}, {95, 16416, 22359, 0, 0, 0, 0}, {2056, 4128, 80, 0, 0, 0, 0}, {1036, 51, 85, 4352, 0, 0, 0}, {90, 4608, 16384, 0, 0, 0, 0}, {95, 51, 4883, 1028, 0, 0, 0}, {4108, 4144, 80, 5120, 0, 0, 0}, {5418, 8738, 85, 0, 0, 0, 0}, {90, 102, 4626, 1028, 0, 0, 0}, {95, 5888, 16384, 0, 0, 0, 0}, {2048, 16480, 0, 0, 0, 0, 0}, {1031, 85, 4369, 0, 0, 0, 0}, {170, 2056, 8738, 16448, 0, 0, 0}, {15, 51, 768, 80, 1024, 4096, 0}, {1032, 1124, 17476, 0, 0, 0, 0}, {15, 5424, 1792, 85, 0, 0, 0}, {102, 1024, 0, 0, 0, 0, 0}, {15, 1799, 80, 4112, 0, 0, 0}, {160, 2056, 8224, 16448, 0, 0, 0}, {15, 51, 768, 85, 1024, 4352, 0}, {16490, 8704, 0, 0, 0, 0, 0}, {4115, 80, 5140, 0, 0, 0, 0}, {108, 8192, 1024, 0, 0, 0, 0}, {15, 4626, 85, 5397, 0, 0, 0}, {1032, 102, 17476, 0, 0, 0, 0}, {15, 4144, 1792, 80, 0, 0, 0}, {18432, 16496, 0, 0, 0, 0, 0}, {1047, 85, 4369, 0, 0, 0, 0}, {10, 546, 80, 4096, 0, 0, 0}, {3084, 51, 1088, 0, 0, 0, 0}, {1096, 1140, 17476, 0, 0, 0, 0}, {10, 5408, 5888, 85, 0, 0, 0}, {10, 54, 534, 80, 1040, 4112, 0}, {255, 2167, 14199, 16384, 0, 0, 0}, {240, 2168, 12288, 16384, 0, 0, 0}, {10, 51, 531, 85, 1045, 4352, 0}, {10, 4128, 4608, 80, 0, 0, 0}, {1096, 51, 17476, 0, 0, 0, 0}, {60, 12336, 1088, 0, 0, 0, 0}, {10, 546, 85, 5376, 0, 0, 0}, {4102, 80, 5140, 0, 0, 0, 0}, {16511, 30464, 0, 0, 0, 0, 0}, {16512, 18432, 0, 0, 0, 0, 0}, {274, 5, 4369, 0, 0, 0, 0}, {10, 546, 16384, 0, 0, 0, 0}, {15, 51, 771, 1088, 0, 0, 0}, {1096, 17476, 0, 0, 0, 0, 0}, {4128, 4608, 5, 0, 0, 0, 0}, {10, 1062, 1542, 1088, 0, 0, 0}, {15, 1911, 16384, 0, 0, 0, 0}, {2184, 16384, 0, 0, 0, 0, 0}, {771, 5, 272, 0, 0, 0, 0}, {10, 16416, 16896, 0, 0, 0, 0}, {1095, 17476, 0, 0, 0, 0, 0}, {3084, 1088, 0, 0, 0, 0, 0}, {546, 5, 4096, 0, 0, 0, 0}, {1090, 17476, 0, 0, 0, 0, 0}, {15, 16496, 18176, 0, 0, 0, 0}, {2048, 4144, 80, 0, 0, 0, 0}, {1032, 51, 85, 4369, 0, 0, 0}, {90, 4626, 16448, 0, 0, 0, 0}, {95, 51, 4864, 1024, 0, 0, 0}, {4124, 4128, 80, 5140, 0, 0, 0}, {5439, 8704, 85, 0, 0, 0, 0}, {90, 102, 4608, 1024, 0, 0, 0}, {95, 5911, 16448, 0, 0, 0, 0}, {2056, 80, 4112, 0, 0, 0, 0}, {51, 85, 1024, 4352, 0, 0, 0}, {90, 16432, 20992, 0, 0, 0, 0}, {1111, 17476, 0, 0, 0, 0, 0}, {60, 80, 1024, 4096, 0, 0, 0}, {8738, 85, 5397, 0, 0, 0, 0}, {1106, 17476, 0, 0, 0, 0, 0}, {95, 16480, 22272, 0, 0, 0, 0}, {160, 2048, 8192, 16384, 0, 0, 0}, {15, 51, 771, 85, 1028, 4369, 0}, {16426, 8738, 0, 0, 0, 0, 0}, {4099, 80, 5120, 0, 0, 0, 0}, {108, 8224, 1028, 0, 0, 0, 0}, {15, 4608, 85, 5376, 0, 0, 0}, {1036, 102, 17408, 0, 0, 0, 0}, {15, 4128, 1799, 80, 0, 0, 0}, {2056, 16416, 0, 0, 0, 0, 0}, {1027, 85, 4352, 0, 0, 0, 0}, {170, 2048, 8704, 16384, 0, 0, 0}, {15, 51, 771, 80, 1028, 4112, 0}, {1036, 1120, 17408, 0, 0, 0, 0}, {15, 5413, 1799, 85, 0, 0, 0}, {102, 1028, 0, 0, 0, 0, 0}, {15, 1792, 80, 4096, 0, 0, 0}, {240, 2160, 12336, 16448, 0, 0, 0}, {10, 51, 529, 85, 1041, 4369, 0}, {10, 4144, 4626, 80, 0, 0, 0}, {1100, 51, 17408, 0, 0, 0, 0}, {60, 12288, 1092, 0, 0, 0, 0}, {10, 544, 85, 5397, 0, 0, 0}, {4118, 80, 5120, 0, 0, 0, 0}, {16447, 30583, 0, 0, 0, 0, 0}, {18504, 16432, 0, 0, 0, 0, 0}, {1043, 85, 4352, 0, 0, 0, 0}, {10, 544, 80, 4112, 0, 0, 0}, {3072, 51, 1092, 0, 0, 0, 0}, {1100, 1136, 17408, 0, 0, 0, 0}, {10, 5429, 5911, 85, 0, 0, 0}, {10, 54, 532, 80, 1044, 4096, 0}, {255, 2175, 14144, 16448, 0, 0, 0}, {16576, 2048, 0, 0, 0, 0, 0}, {258, 5, 4369, 0, 0, 0, 0}, {10, 514, 16448, 0, 0, 0, 0}, {15, 51, 768, 1024, 0, 0, 0}, {1032, 17476, 0, 0, 0, 0, 0}, {4144, 512, 5, 0, 0, 0, 0}, {10, 102, 512, 1024, 0, 0, 0}, {15, 1799, 16448, 0, 0, 0, 0}, {2056, 16448, 0, 0, 0, 0, 0}, {51, 5, 256, 0, 0, 0, 0}, {10, 16480, 512, 0, 0, 0, 0}, {1031, 17476, 0, 0, 0, 0, 0}, {204, 1024, 0, 0, 0, 0, 0}, {514, 5, 4112, 0, 0, 0, 0}, {1026, 17476, 0, 0, 0, 0, 0}, {15, 16432, 1792, 0, 0, 0, 0}, {6144, 4128, 80, 0, 0, 0, 0}, {1053, 51, 85, 4369, 0, 0, 0}, {90, 4642, 16384, 0, 0, 0, 0}, {1055, 51, 4883, 1088, 0, 0, 0}, {4108, 4144, 80, 5140, 0, 0, 0}, {5418, 8704, 85, 0, 0, 0, 0}, {1050, 1062, 5654, 1088, 0, 0, 0}, {95, 6007, 16384, 0, 0, 0, 0}, {2088, 80, 4096, 0, 0, 0, 0}, {51, 85, 1045, 4352, 0, 0, 0}, {90, 16496, 4608, 0, 0, 0, 0}, {1047, 17476, 0, 0, 0, 0, 0}, {60, 80, 1040, 4112, 0, 0, 0}, {8738, 85, 5376, 0, 0, 0, 0}, {1042, 17476, 0, 0, 0, 0, 0}, {95, 16416, 5888, 0, 0, 0, 0}, {160, 2080, 8224, 16448, 0, 0, 0}, {15, 51, 768, 85, 1041, 4369, 0}, {16490, 8738, 0, 0, 0, 0, 0}, {4115, 80, 5120, 0, 0, 0, 0}, {1064, 8192, 1092, 0, 0, 0, 0}, {15, 4656, 85, 5397, 0, 0, 0}, {1100, 102, 17408, 0, 0, 0, 0}, {15, 4144, 5911, 80, 0, 0, 0}, {18504, 16480, 0, 0, 0, 0, 0}, {1046, 85, 4352, 0, 0, 0, 0}, {170, 2090, 8704, 16448, 0, 0, 0}, {15, 51, 768, 80, 1044, 4096, 0}, {1100, 1056, 17408, 0, 0, 0, 0}, {15, 5424, 4626, 85, 0, 0, 0}, {3072, 1058, 1092, 0, 0, 0, 0}, {15, 1824, 80, 4112, 0, 0, 0}, {240, 2048, 12288, 16384, 0, 0, 0}, {10, 51, 514, 85, 1028, 4369, 0}, {10, 4128, 514, 80, 0, 0, 0}, {1036, 51, 17408, 0, 0, 0, 0}, {60, 12336, 1028, 0, 0, 0, 0}, {10, 512, 85, 5376, 0, 0, 0}, {4102, 80, 5120, 0, 0, 0, 0}, {16511, 30583, 0, 0, 0, 0, 0}, {2056, 16496, 0, 0, 0, 0, 0}, {1030, 85, 4352, 0, 0, 0, 0}, {10, 512, 80, 4096, 0, 0, 0}, {51, 1028, 0, 0, 0, 0, 0}, {1036, 1072, 17408, 0, 0, 0, 0}, {10, 5408, 514, 85, 0, 0, 0}, {10, 54, 514, 80, 1028, 4112, 0}, {255, 2048, 14080, 16384, 0, 0, 0}, {13056, 1280, 0, 0, 0, 0, 0}, {8, 64, 257, 0, 0, 0, 0}, {1282, 17408, 0, 0, 0, 0, 0}, {1295, 20528, 771, 0, 0, 0, 0}, {512, 260, 4096, 0, 0, 0, 0}, {13311, 1285, 0, 0, 0, 0, 0}, {1290, 20576, 1542, 0, 0, 0, 0}, {1287, 17408, 0, 0, 0, 0, 0}, {8, 512, 1280, 4352, 0, 0, 0}, {192, 771, 1285, 0, 0, 0, 0}, {1290, 13056, 0, 0, 0, 0, 0}, {259, 64, 1028, 0, 0, 0, 0}, {780, 12288, 1280, 0, 0, 0, 0}, {8, 514, 4437, 1285, 0, 0, 0}, {262, 64, 1028, 0, 0, 0, 0}, {1295, 26112, 0, 0, 0, 0, 0}, {816, 64, 1296, 4112, 0, 0, 0}, {2594, 1365, 4369, 0, 0, 0, 0}, {1298, 17408, 0, 0, 0, 0, 0}, {1375, 20512, 4883, 0, 0, 0, 0}, {8704, 4420, 5140, 0, 0, 0, 0}, {831, 64, 1301, 4096, 0, 0, 0}, {1370, 20592, 5654, 0, 0, 0, 0}, {1303, 17408, 0, 0, 0, 0, 0}, {1304, 816, 1360, 4352, 0, 0, 0}, {6425, 4915, 1365, 0, 0, 0, 0}, {1306, 4144, 4864, 64, 0, 0, 0}, {1375, 4403, 17476, 0, 0, 0, 0}, {5692, 8224, 1360, 0, 0, 0, 0}, {4381, 4642, 4437, 5120, 0, 0, 0}, {1370, 4454, 17476, 0, 0, 0, 0}, {1311, 4128, 5632, 64, 0, 0, 0}, {1312, 5632, 21760, 0, 0, 0, 0}, {72, 1381, 771, 4369, 0, 0, 0}, {4386, 5120, 0, 0, 0, 0, 0}, {1327, 771, 64, 4112, 0, 0, 0}, {4364, 5156, 4608, 4420, 0, 0, 0}, {5722, 1317, 21845, 0, 0, 0, 0}, {780, 1574, 64, 4096, 0, 0, 0}, {3855, 1319, 5200, 0, 0, 0, 0}, {1320, 4352, 0, 0, 0, 0, 0}, {4144, 771, 64, 5397, 0, 0, 0}, {1322, 4864, 20480, 0, 0, 0, 0}, {72, 4403, 771, 5140, 0, 0, 0}, {780, 4128, 64, 5376, 0, 0, 0}, {1325, 8738, 4437, 0, 0, 0, 0}, {5132, 1314, 5888, 5188, 0, 0, 0}, {4959, 5744, 20560, 0, 0, 0, 0}, {1328, 1536, 21760, 0, 0, 0, 0}, {8, 1397, 514, 4369, 0, 0, 0}, {8, 306, 514, 64, 1024, 4112, 0}, {1535, 2560, 13107, 20480, 0, 0, 0}, {8, 5172, 512, 4420, 0, 0, 0}, {1546, 1333, 21845, 0, 0, 0, 0}, {1530, 2570, 13878, 20560, 0, 0, 0}, {8, 311, 512, 64, 1024, 4096, 0}, {8, 304, 512, 64, 1024, 4352, 0}, {1525, 2570, 13107, 21845, 0, 0, 0}, {1546, 816, 20560, 0, 0, 0, 0}, {8, 4403, 512, 5188, 0, 0, 0}, {13884, 21760, 0, 0, 0, 0, 0}, {4128, 514, 4373, 0, 0, 0, 0}, {8, 4454, 514, 5140, 0, 0, 0}, {1343, 1536, 20480, 0, 0, 0, 0}, {768, 64, 1280, 4096, 0, 0, 0}, {136, 1285, 4369, 0, 0, 0, 0}, {1346, 17408, 0, 0, 0, 0, 0}, {1295, 20592, 17219, 0, 0, 0, 0}, {8704, 4420, 1280, 0, 0, 0, 0}, {783, 64, 1285, 4112, 0, 0, 0}, {1290, 20512, 17990, 0, 0, 0, 0}, {1351, 17408, 0, 0, 0, 0, 0}, {72, 768, 1280, 4352, 0, 0, 0}, {128, 4883, 1285, 0, 0, 0, 0}, {1290, 4128, 768, 64, 0, 0, 0}, {1295, 4403, 17476, 0, 0, 0, 0}, {4940, 8192, 1280, 0, 0, 0, 0}, {4381, 4626, 4437, 1285, 0, 0, 0}, {1290, 4454, 17476, 0, 0, 0, 0}, {1295, 4144, 1536, 64, 0, 0, 0}, {13056, 1360, 0, 0, 0, 0, 0}, {8, 1028, 273, 0, 0, 0, 0}, {1362, 17408, 0, 0, 0, 0, 0}, {1375, 20576, 21331, 0, 0, 0, 0}, {544, 276, 4112, 0, 0, 0, 0}, {15360, 1365, 0, 0, 0, 0, 0}, {1370, 20528, 22102, 0, 0, 0, 0}, {1367, 17408, 0, 0, 0, 0, 0}, {8, 544, 1360, 4352, 0, 0, 0}, {3084, 819, 1365, 0, 0, 0, 0}, {1370, 13056, 0, 0, 0, 0, 0}, {275, 64, 1028, 0, 0, 0, 0}, {828, 12336, 1360, 0, 0, 0, 0}, {8, 546, 4437, 5120, 0, 0, 0}, {278, 64, 1028, 0, 0, 0, 0}, {1375, 26112, 0, 0, 0, 0, 0}, {1376, 768, 21760, 0, 0, 0, 0}, {8, 1317, 1799, 4369, 0, 0, 0}, {8, 290, 768, 64, 1024, 4096, 0}, {1455, 3855, 13107, 20560, 0, 0, 0}, {8, 1312, 1792, 4420, 0, 0, 0}, {783, 1381, 21845, 0, 0, 0, 0}, {1450, 3840, 13926, 20480, 0, 0, 0}, {8, 295, 775, 64, 1024, 4112, 0}, {8, 288, 768, 64, 1024, 4352, 0}, {1445, 3855, 13107, 21845, 0, 0, 0}, {1386, 768, 20480, 0, 0, 0, 0}, {8, 4403, 4883, 5140, 0, 0, 0}, {13932, 21760, 0, 0, 0, 0, 0}, {4144, 4626, 4373, 0, 0, 0, 0}, {8, 1314, 1792, 5188, 0, 0, 0}, {783, 1632, 20560, 0, 0, 0, 0}, {1392, 4864, 21760, 0, 0, 0, 0}, {72, 1333, 1542, 4369, 0, 0, 0}, {2570, 4386, 5200, 0, 0, 0, 0}, {1548, 819, 64, 4096, 0, 0, 0}, {4364, 1328, 5888, 4420, 0, 0, 0}, {4959, 1397, 21845, 0, 0, 0, 0}, {1338, 1542, 64, 4112, 0, 0, 0}, {4471, 5120, 0, 0, 0, 0, 0}, {1400, 4352, 0, 0, 0, 0, 0}, {4128, 4883, 64, 5397, 0, 0, 0}, {5722, 4896, 20560, 0, 0, 0, 0}, {5132, 4403, 4608, 5188, 0, 0, 0}, {4876, 4144, 64, 5376, 0, 0, 0}, {5160, 8738, 4437, 0, 0, 0, 0}, {72, 4454, 4626, 5140, 0, 0, 0}, {1407, 5632, 20480, 0, 0, 0, 0}, {128, 4864, 1280, 0, 0, 0, 0}, {72, 771, 1285, 4369, 0, 0, 0}, {1290, 4386, 17408, 0, 0, 0, 0}, {1295, 4144, 771, 64, 0, 0, 0}, {4364, 4608, 4420, 1280, 0, 0, 0}, {4959, 8224, 1285, 0, 0, 0, 0}, {1290, 4128, 1542, 64, 0, 0, 0}, {1295, 4471, 17408, 0, 0, 0, 0}, {136, 1280, 4352, 0, 0, 0, 0}, {771, 64, 1285, 4112, 0, 0, 0}, {1290, 20512, 17152, 0, 0, 0, 0}, {1351, 17476, 0, 0, 0, 0, 0}, {780, 64, 1280, 4096, 0, 0, 0}, {8738, 4437, 1285, 0, 0, 0, 0}, {1346, 17476, 0, 0, 0, 0, 0}, {1295, 20592, 17920, 0, 0, 0, 0}, {3072, 816, 1360, 0, 0, 0, 0}, {8, 546, 1365, 4369, 0, 0, 0}, {274, 64, 1024, 0, 0, 0, 0}, {1375, 13107, 0, 0, 0, 0, 0}, {8, 544, 4420, 5140, 0, 0, 0}, {831, 12288, 1365, 0, 0, 0, 0}, {1370, 26214, 0, 0, 0, 0, 0}, {279, 64, 1024, 0, 0, 0, 0}, {8, 1024, 272, 0, 0, 0, 0}, {13107, 1365, 0, 0, 0, 0, 0}, {1370, 20528, 21248, 0, 0, 0, 0}, {1367, 17476, 0, 0, 0, 0, 0}, {15420, 1360, 0, 0, 0, 0, 0}, {546, 277, 4096, 0, 0, 0, 0}, {1362, 17476, 0, 0, 0, 0, 0}, {1375, 20576, 22016, 0, 0, 0, 0}, {1440, 3840, 13056, 21760, 0, 0, 0}, {8, 289, 771, 64, 1028, 4369, 0}, {8, 4386, 4864, 5120, 0, 0, 0}, {1391, 771, 20560, 0, 0, 0, 0}, {4128, 4608, 4356, 0, 0, 0, 0}, {13914, 21845, 0, 0, 0, 0, 0}, {780, 1638, 20480, 0, 0, 0, 0}, {8, 1319, 1799, 5200, 0, 0, 0}, {8, 1312, 1792, 4352, 0, 0, 0}, {1381, 771, 21845, 0, 0, 0, 0}, {1450, 3840, 13056, 20480, 0, 0, 0}, {8, 291, 771, 64, 1028, 4112, 0}, {780, 1376, 21760, 0, 0, 0, 0}, {8, 1317, 1799, 4437, 0, 0, 0}, {8, 294, 772, 64, 1028, 4096, 0}, {1455, 3855, 13904, 20560, 0, 0, 0}, {4144, 4864, 64, 5376, 0, 0, 0}, {1405, 4369, 0, 0, 0, 0, 0}, {5144, 4386, 4626, 5200, 0, 0, 0}, {5708, 4915, 20480, 0, 0, 0, 0}, {5180, 8704, 4420, 0, 0, 0, 0}, {4895, 4128, 64, 5397, 0, 0, 0}, {1402, 5654, 20560, 0, 0, 0, 0}, {72, 4471, 4608, 5120, 0, 0, 0}, {72, 1328, 1536, 4352, 0, 0, 0}, {1397, 4883, 21845, 0, 0, 0, 0}, {1546, 816, 64, 4112, 0, 0, 0}, {2560, 4403, 5188, 0, 0, 0, 0}, {4940, 1392, 21760, 0, 0, 0, 0}, {4381, 1333, 5911, 4437, 0, 0, 0}, {4454, 5140, 0, 0, 0, 0, 0}, {1343, 1536, 64, 4096, 0, 0, 0}, {192, 768, 1280, 0, 0, 0, 0}, {8, 514, 1285, 4369, 0, 0, 0}, {258, 64, 1024, 0, 0, 0, 0}, {1295, 13107, 0, 0, 0, 0, 0}, {8, 512, 4420, 1280, 0, 0, 0}, {783, 12336, 1285, 0, 0, 0, 0}, {1290, 26214, 0, 0, 0, 0, 0}, {263, 64, 1024, 0, 0, 0, 0}, {8, 64, 256, 0, 0, 0, 0}, {13107, 1285, 0, 0, 0, 0, 0}, {1290, 20576, 768, 0, 0, 0, 0}, {1287, 17476, 0, 0, 0, 0, 0}, {13260, 1280, 0, 0, 0, 0, 0}, {514, 261, 4112, 0, 0, 0, 0}, {1282, 17476, 0, 0, 0, 0, 0}, {1295, 20528, 1536, 0, 0, 0, 0}, {6400, 4896, 1360, 0, 0, 0, 0}, {1309, 819, 1365, 4369, 0, 0, 0}, {1370, 4386, 17408, 0, 0, 0, 0}, {1311, 4128, 4883, 64, 0, 0, 0}, {4364, 4656, 4420, 5140, 0, 0, 0}, {5674, 8192, 1365, 0, 0, 0, 0}, {1306, 4144, 5654, 64, 0, 0, 0}, {1375, 4471, 17408, 0, 0, 0, 0}, {2600, 1360, 4352, 0, 0, 0, 0}, {819, 64, 1301, 4096, 0, 0, 0}, {1370, 20592, 4864, 0, 0, 0, 0}, {1303, 17476, 0, 0, 0, 0, 0}, {828, 64, 1296, 4112, 0, 0, 0}, {8738, 4437, 5120, 0, 0, 0, 0}, {1298, 17476, 0, 0, 0, 0, 0}, {1375, 20512, 5632, 0, 0, 0, 0}, {4128, 768, 64, 5376, 0, 0, 0}, {1325, 4369, 0, 0, 0, 0, 0}, {72, 4386, 768, 5120, 0, 0, 0}, {1327, 4883, 20560, 0, 0, 0, 0}, {1320, 8704, 4420, 0, 0, 0, 0}, {783, 4144, 64, 5397, 0, 0, 0}, {4940, 5734, 20480, 0, 0, 0, 0}, {5144, 1319, 5911, 5200, 0, 0, 0}, {72, 1376, 768, 4352, 0, 0, 0}, {1317, 5654, 21845, 0, 0, 0, 0}, {1322, 768, 64, 4096, 0, 0, 0}, {4403, 5140, 0, 0, 0, 0, 0}, {5708, 1312, 21760, 0, 0, 0, 0}, {4381, 5168, 4626, 4437, 0, 0, 0}, {3840, 1314, 5188, 0, 0, 0, 0}, {783, 1568, 64, 4112, 0, 0, 0}, {1520, 2560, 13056, 21760, 0, 0, 0}, {8, 305, 514, 64, 1028, 4369, 0}, {8, 4386, 514, 5200, 0, 0, 0}, {1548, 819, 20480, 0, 0, 0, 0}, {4144, 512, 4356, 0, 0, 0, 0}, {13834, 21845, 0, 0, 0, 0, 0}, {1338, 1542, 20560, 0, 0, 0, 0}, {8, 4471, 512, 5120, 0, 0, 0}, {8, 1392, 512, 4352, 0, 0, 0}, {1333, 1542, 21845, 0, 0, 0, 0}, {1530, 2570, 13056, 20560, 0, 0, 0}, {8, 307, 512, 64, 1028, 4096, 0}, {1548, 1328, 21760, 0, 0, 0, 0}, {8, 5152, 514, 4437, 0, 0, 0}, {8, 310, 514, 64, 1028, 4112, 0}, {1535, 2560, 13824, 20480, 0, 0, 0}, {2560, 24576, 0, 0, 0, 0, 0}, {7, 68, 257, 0, 0, 0, 0}, {8, 514, 16384, 0, 0, 0, 0}, {15, 51, 771, 1280, 0, 0, 0}, {8, 512, 68, 1028, 0, 0, 0}, {15, 12288, 1285, 0, 0, 0, 0}, {204, 1542, 0, 0, 0, 0, 0}, {7, 1280, 4096, 0, 0, 0, 0}, {8, 512, 16384, 0, 0, 0, 0}, {15, 51, 771, 1285, 0, 0, 0}, {24736, 2570, 0, 0, 0, 0, 0}, {259, 260, 4352, 0, 0, 0, 0}, {1548, 26112, 0, 0, 0, 0, 0}, {7, 4176, 1285, 0, 0, 0, 0}, {8, 514, 68, 1028, 0, 0, 0}, {15, 12288, 1280, 0, 0, 0, 0}, {2640, 112, 4112, 0, 0, 0, 0}, {51, 1553, 68, 4369, 0, 0, 0}, {120, 4626, 20480, 0, 0, 0, 0}, {76, 51, 4883, 5376, 0, 0, 0}, {60, 4608, 68, 5140, 0, 0, 0}, {127, 8192, 5397, 0, 0, 0, 0}, {76, 112, 1558, 4096, 0, 0, 0}, {119, 5911, 21760, 0, 0, 0, 0}, {4680, 4656, 20560, 0, 0, 0, 0}, {5401, 51, 4864, 5461, 0, 0, 0}, {6682, 4144, 4160, 0, 0, 0, 0}, {1563, 51, 68, 4352, 0, 0, 0}, {4124, 4128, 5632, 4176, 0, 0, 0}, {5960, 119, 21845, 0, 0, 0, 0}, {4638, 4642, 68, 5120, 0, 0, 0}, {5439, 8224, 5440, 0, 0, 0, 0}, {128, 2592, 8224, 16384, 0, 0, 0}, {15, 51, 771, 68, 1297, 4369, 0}, {18432, 16930, 0, 0, 0, 0, 0}, {1299, 1360, 4112, 0, 0, 0, 0}, {3084, 1572, 68, 0, 0, 0, 0}, {15, 1317, 1365, 4096, 0, 0, 0}, {76, 1574, 16448, 0, 0, 0, 0}, {15, 1319, 4608, 1360, 0, 0, 0}, {16936, 8704, 0, 0, 0, 0, 0}, {4099, 4160, 5397, 0, 0, 0, 0}, {128, 2602, 8192, 16384, 0, 0, 0}, {15, 51, 771, 68, 1300, 4352, 0}, {76, 1632, 16448, 0, 0, 0, 0}, {15, 1314, 5888, 1365, 0, 0, 0}, {1582, 8738, 68, 0, 0, 0, 0}, {15, 4128, 4176, 5376, 0, 0, 0}, {240, 2560, 12336, 20480, 0, 0, 0}, {8, 51, 514, 68, 1024, 4369, 0}, {8, 112, 514, 4112, 0, 0, 0}, {51, 1536, 21760, 0, 0, 0, 0}, {8, 52, 512, 68, 1024, 4096, 0}, {255, 2570, 13621, 21845, 0, 0, 0}, {1546, 1590, 20560, 0, 0, 0, 0}, {8, 5431, 512, 5440, 0, 0, 0}, {8, 4144, 512, 4160, 0, 0, 0}, {1546, 51, 21845, 0, 0, 0, 0}, {240, 2570, 12336, 20560, 0, 0, 0}, {8, 51, 512, 68, 1024, 4352, 0}, {60, 1536, 20480, 0, 0, 0, 0}, {8, 119, 514, 5397, 0, 0, 0}, {4128, 514, 4116, 0, 0, 0, 0}, {13631, 21760, 0, 0, 0, 0, 0}, {128, 2560, 8192, 16448, 0, 0, 0}, {15, 51, 768, 68, 1285, 4369, 0}, {136, 16962, 0, 0, 0, 0, 0}, {67, 1280, 4096, 0, 0, 0, 0}, {1536, 68, 0, 0, 0, 0, 0}, {15, 112, 1285, 4112, 0, 0, 0}, {76, 1606, 16384, 0, 0, 0, 0}, {15, 119, 4679, 1280, 0, 0, 0}, {16968, 8704, 0, 0, 0, 0, 0}, {4115, 4176, 1285, 0, 0, 0, 0}, {128, 2570, 8224, 16448, 0, 0, 0}, {15, 51, 768, 68, 1280, 4352, 0}, {76, 1536, 16384, 0, 0, 0, 0}, {15, 119, 4626, 1285, 0, 0, 0}, {1546, 8738, 68, 0, 0, 0, 0}, {15, 4144, 4160, 1280, 0, 0, 0}, {240, 2640, 12288, 20560, 0, 0, 0}, {8, 51, 529, 68, 1028, 4369, 0}, {8, 112, 594, 4096, 0, 0, 0}, {51, 1619, 21760, 0, 0, 0, 0}, {8, 52, 532, 68, 1028, 4112, 0}, {255, 2645, 13653, 21845, 0, 0, 0}, {60, 1622, 20480, 0, 0, 0, 0}, {8, 119, 599, 5376, 0, 0, 0}, {8, 4128, 4608, 4176, 0, 0, 0}, {1625, 51, 21845, 0, 0, 0, 0}, {240, 2650, 12288, 20480, 0, 0, 0}, {8, 51, 531, 68, 1028, 4352, 0}, {1628, 1632, 20560, 0, 0, 0, 0}, {8, 5410, 5888, 5461, 0, 0, 0}, {4144, 4626, 4100, 0, 0, 0, 0}, {13663, 21760, 0, 0, 0, 0, 0}, {2720, 24672, 0, 0, 0, 0, 0}, {7, 1024, 273, 0, 0, 0, 0}, {8, 546, 16448, 0, 0, 0, 0}, {15, 51, 768, 1360, 0, 0, 0}, {8, 544, 68, 1024, 0, 0, 0}, {15, 12336, 1365, 0, 0, 0, 0}, {3072, 1638, 0, 0, 0, 0, 0}, {7, 1360, 4112, 0, 0, 0, 0}, {8, 544, 16448, 0, 0, 0, 0}, {15, 51, 768, 1365, 0, 0, 0}, {24768, 27242, 0, 0, 0, 0, 0}, {275, 276, 4352, 0, 0, 0, 0}, {1644, 26112, 0, 0, 0, 0, 0}, {7, 4160, 5397, 0, 0, 0, 0}, {8, 546, 68, 1024, 0, 0, 0}, {15, 12336, 1360, 0, 0, 0, 0}, {2560, 112, 4096, 0, 0, 0, 0}, {51, 1542, 68, 4369, 0, 0, 0}, {4698, 4642, 20560, 0, 0, 0, 0}, {5388, 51, 4864, 5440, 0, 0, 0}, {4620, 4656, 68, 5120, 0, 0, 0}, {5418, 8224, 5461, 0, 0, 0, 0}, {76, 112, 1542, 4112, 0, 0, 0}, {119, 5888, 21760, 0, 0, 0, 0}, {120, 4608, 20480, 0, 0, 0, 0}, {76, 51, 4883, 5397, 0, 0, 0}, {2570, 4128, 4176, 0, 0, 0, 0}, {1548, 51, 68, 4352, 0, 0, 0}, {4108, 4144, 5632, 4160, 0, 0, 0}, {5983, 119, 21845, 0, 0, 0, 0}, {60, 4626, 68, 5140, 0, 0, 0}, {127, 8192, 5376, 0, 0, 0, 0}, {128, 2560, 8192, 16384, 0, 0, 0}, {15, 51, 771, 68, 1285, 4369, 0}, {16906, 8738, 0, 0, 0, 0, 0}, {4099, 4160, 1280, 0, 0, 0, 0}, {1548, 8704, 68, 0, 0, 0, 0}, {15, 4128, 4176, 1285, 0, 0, 0}, {76, 1542, 16448, 0, 0, 0, 0}, {15, 119, 4608, 1280, 0, 0, 0}, {136, 16896, 0, 0, 0, 0, 0}, {67, 1285, 4112, 0, 0, 0, 0}, {128, 2570, 8224, 16384, 0, 0, 0}, {15, 51, 771, 68, 1280, 4352, 0}, {76, 1600, 16448, 0, 0, 0, 0}, {15, 119, 4693, 1285, 0, 0, 0}, {1542, 68, 0, 0, 0, 0, 0}, {15, 112, 1280, 4096, 0, 0, 0}, {240, 2640, 12336, 20560, 0, 0, 0}, {8, 51, 529, 68, 1024, 4369, 0}, {8, 4144, 4626, 4160, 0, 0, 0}, {1631, 51, 21760, 0, 0, 0, 0}, {4128, 4608, 4116, 0, 0, 0, 0}, {13674, 21845, 0, 0, 0, 0, 0}, {1626, 1638, 20480, 0, 0, 0, 0}, {8, 5431, 5911, 5440, 0, 0, 0}, {8, 112, 592, 4112, 0, 0, 0}, {51, 1621, 21845, 0, 0, 0, 0}, {240, 2650, 12336, 20480, 0, 0, 0}, {8, 51, 531, 68, 1024, 4352, 0}, {60, 1616, 20560, 0, 0, 0, 0}, {8, 119, 597, 5397, 0, 0, 0}, {8, 52, 534, 68, 1024, 4096, 0}, {255, 2655, 13664, 21760, 0, 0, 0}, {24736, 27136, 0, 0, 0, 0, 0}, {274, 277, 4369, 0, 0, 0, 0}, {8, 546, 16384, 0, 0, 0, 0}, {15, 51, 771, 1360, 0, 0, 0}, {8, 544, 68, 1028, 0, 0, 0}, {15, 12288, 1365, 0, 0, 0, 0}, {1642, 26214, 0, 0, 0, 0, 0}, {7, 4176, 5376, 0, 0, 0, 0}, {8, 544, 16384, 0, 0, 0, 0}, {15, 51, 771, 1365, 0, 0, 0}, {2730, 24576, 0, 0, 0, 0, 0}, {7, 1028, 272, 0, 0, 0, 0}, {3084, 1632, 0, 0, 0, 0, 0}, {7, 1365, 4096, 0, 0, 0, 0}, {8, 546, 68, 1028, 0, 0, 0}, {15, 12288, 1360, 0, 0, 0, 0}, {2560, 4144, 4160, 0, 0, 0, 0}, {1546, 51, 68, 4369, 0, 0, 0}, {120, 4626, 20560, 0, 0, 0, 0}, {76, 51, 4864, 5376, 0, 0, 0}, {60, 4608, 68, 5120, 0, 0, 0}, {127, 8224, 5397, 0, 0, 0, 0}, {4124, 4128, 5654, 4176, 0, 0, 0}, {5960, 119, 21760, 0, 0, 0, 0}, {4680, 4656, 20480, 0, 0, 0, 0}, {5401, 51, 4883, 5461, 0, 0, 0}, {2570, 112, 4112, 0, 0, 0, 0}, {51, 1536, 68, 4352, 0, 0, 0}, {76, 112, 1536, 4096, 0, 0, 0}, {119, 5911, 21845, 0, 0, 0, 0}, {4638, 4642, 68, 5140, 0, 0, 0}, {5439, 8192, 5440, 0, 0, 0, 0}, {24768, 2560, 0, 0, 0, 0, 0}, {258, 261, 4369, 0, 0, 0, 0}, {8, 514, 16448, 0, 0, 0, 0}, {15, 51, 768, 1280, 0, 0, 0}, {8, 512, 68, 1024, 0, 0, 0}, {15, 12336, 1285, 0, 0, 0, 0}, {1546, 26214, 0, 0, 0, 0, 0}, {7, 4160, 1280, 0, 0, 0, 0}, {8, 512, 16448, 0, 0, 0, 0}, {15, 51, 768, 1285, 0, 0, 0}, {2570, 24672, 0, 0, 0, 0, 0}, {7, 68, 256, 0, 0, 0, 0}, {204, 1536, 0, 0, 0, 0, 0}, {7, 1285, 4112, 0, 0, 0, 0}, {8, 514, 68, 1024, 0, 0, 0}, {15, 12336, 1280, 0, 0, 0, 0}, {6656, 4128, 4176, 0, 0, 0, 0}, {1565, 51, 68, 4369, 0, 0, 0}, {4698, 4642, 20480, 0, 0, 0, 0}, {5388, 51, 4883, 5440, 0, 0, 0}, {4620, 4656, 68, 5140, 0, 0, 0}, {5418, 8192, 5461, 0, 0, 0, 0}, {4108, 4144, 5654, 4160, 0, 0, 0}, {5983, 119, 21760, 0, 0, 0, 0}, {120, 4608, 20560, 0, 0, 0, 0}, {76, 51, 4864, 5397, 0, 0, 0}, {2650, 112, 4096, 0, 0, 0, 0}, {51, 1559, 68, 4352, 0, 0, 0}, {76, 112, 1552, 4112, 0, 0, 0}, {119, 5888, 21845, 0, 0, 0, 0}, {60, 4626, 68, 5120, 0, 0, 0}, {127, 8224, 5376, 0, 0, 0, 0}, {128, 2592, 8224, 16448, 0, 0, 0}, {15, 51, 768, 68, 1297, 4369, 0}, {17002, 8738, 0, 0, 0, 0, 0}, {4115, 4176, 5376, 0, 0, 0, 0}, {1576, 8704, 68, 0, 0, 0, 0}, {15, 4144, 4160, 5397, 0, 0, 0}, {76, 1638, 16384, 0, 0, 0, 0}, {15, 1319, 5911, 1360, 0, 0, 0}, {18504, 16992, 0, 0, 0, 0, 0}, {1302, 1365, 4096, 0, 0, 0, 0}, {128, 2602, 8192, 16448, 0, 0, 0}, {15, 51, 768, 68, 1300, 4352, 0}, {76, 1568, 16384, 0, 0, 0, 0}, {15, 1314, 4626, 1365, 0, 0, 0}, {3072, 1570, 68, 0, 0, 0, 0}, {15, 1312, 1360, 4112, 0, 0, 0}, {240, 2560, 12288, 20480, 0, 0, 0}, {8, 51, 514, 68, 1028, 4369, 0}, {8, 4128, 514, 4176, 0, 0, 0}, {1548, 51, 21760, 0, 0, 0, 0}, {4144, 512, 4100, 0, 0, 0, 0}, {13578, 21845, 0, 0, 0, 0, 0}, {60, 1542, 20560, 0, 0, 0, 0}, {8, 119, 512, 5376, 0, 0, 0}, {8, 112, 512, 4096, 0, 0, 0}, {51, 1542, 21845, 0, 0, 0, 0}, {240, 2570, 12288, 20560, 0, 0, 0}, {8, 51, 512, 68, 1028, 4352, 0}, {1548, 1584, 20480, 0, 0, 0, 0}, {8, 5410, 514, 5461, 0, 0, 0}, {8, 52, 514, 68, 1028, 4112, 0}, {255, 2560, 13568, 21760, 0, 0, 0}, {1792, 17408, 0, 0, 0, 0, 0}, {10, 96, 257, 0, 0, 0, 0}, {10, 4386, 514, 1280, 0, 0, 0}, {1036, 771, 16384, 0, 0, 0, 0}, {780, 12288, 1028, 0, 0, 0, 0}, {10, 512, 4437, 1285, 0, 0, 0}, {262, 1280, 4096, 0, 0, 0, 0}, {17544, 1799, 0, 0, 0, 0, 0}, {1800, 13056, 0, 0, 0, 0, 0}, {259, 4176, 1285, 0, 0, 0, 0}, {10, 512, 1280, 4352, 0, 0, 0}, {192, 771, 1028, 0, 0, 0, 0}, {1036, 1792, 16384, 0, 0, 0, 0}, {10, 4471, 514, 1285, 0, 0, 0}, {4128, 514, 260, 0, 0, 0, 0}, {1807, 17408, 0, 0, 0, 0, 0}, {1056, 1808, 1088, 4112, 0, 0, 0}, {3925, 1911, 4369, 0, 0, 0, 0}, {4424, 4386, 4626, 5376, 0, 0, 0}, {5228, 4883, 20480, 0, 0, 0, 0}, {4972, 8192, 5140, 0, 0, 0, 0}, {4415, 4608, 4437, 5397, 0, 0, 0}, {4454, 5654, 21760, 0, 0, 0, 0}, {1096, 96, 1815, 4096, 0, 0, 0}, {5144, 4144, 4864, 4176, 0, 0, 0}, {5708, 4403, 21845, 0, 0, 0, 0}, {1818, 816, 1088, 4352, 0, 0, 0}, {6939, 4915, 5188, 0, 0, 0, 0}, {4940, 1904, 20560, 0, 0, 0, 0}, {4381, 1058, 5632, 5461, 0, 0, 0}, {5692, 8738, 4420, 0, 0, 0, 0}, {4895, 4128, 4160, 5120, 0, 0, 0}, {4896, 5120, 0, 0, 0, 0, 0}, {1070, 771, 1092, 4369, 0, 0, 0}, {4386, 5632, 21760, 0, 0, 0, 0}, {1100, 96, 771, 4112, 0, 0, 0}, {780, 1060, 1092, 4096, 0, 0, 0}, {3855, 1829, 4437, 0, 0, 0, 0}, {4364, 1062, 4608, 5440, 0, 0, 0}, {4959, 1831, 20560, 0, 0, 0, 0}, {5160, 4864, 20480, 0, 0, 0, 0}, {4441, 4403, 771, 5397, 0, 0, 0}, {1834, 4352, 0, 0, 0, 0, 0}, {4144, 771, 4176, 5140, 0, 0, 0}, {5132, 4128, 5888, 4160, 0, 0, 0}, {5722, 4471, 21845, 0, 0, 0, 0}, {780, 4642, 4420, 5376, 0, 0, 0}, {1839, 8224, 5200, 0, 0, 0, 0}, {816, 1024, 0, 0, 0, 0, 0}, {10, 514, 1365, 4369, 0, 0, 0}, {1026, 1360, 4112, 0, 0, 0, 0}, {2048, 17203, 0, 0, 0, 0, 0}, {2040, 2056, 13364, 17476, 0, 0, 0}, {10, 309, 512, 341, 1024, 4096, 0}, {10, 5174, 512, 1360, 0, 0, 0}, {1032, 1847, 16448, 0, 0, 0, 0}, {1032, 816, 16448, 0, 0, 0, 0}, {10, 4403, 512, 1365, 0, 0, 0}, {10, 304, 512, 336, 1024, 4352, 0}, {2039, 2056, 13107, 17476, 0, 0, 0}, {17212, 30464, 0, 0, 0, 0, 0}, {4375, 4160, 5397, 0, 0, 0, 0}, {10, 514, 4420, 5140, 0, 0, 0}, {831, 12288, 1024, 0, 0, 0, 0}, {768, 1088, 0, 0, 0, 0, 0}, {10, 546, 1285, 4369, 0, 0, 0}, {322, 1280, 4096, 0, 0, 0, 0}, {17612, 17219, 0, 0, 0, 0, 0}, {1928, 3840, 13380, 17476, 0, 0, 0}, {10, 293, 773, 325, 1285, 4112, 0}, {10, 4454, 4934, 1280, 0, 0, 0}, {1096, 1863, 16384, 0, 0, 0, 0}, {1096, 768, 16384, 0, 0, 0, 0}, {10, 4403, 4883, 1285, 0, 0, 0}, {10, 288, 768, 320, 1280, 4352, 0}, {1927, 3855, 13107, 17476, 0, 0, 0}, {17228, 30464, 0, 0, 0, 0, 0}, {4375, 4176, 1285, 0, 0, 0, 0}, {10, 546, 4420, 1280, 0, 0, 0}, {783, 12336, 1088, 0, 0, 0, 0}, {4864, 5200, 0, 0, 0, 0, 0}, {857, 819, 1028, 4369, 0, 0, 0}, {4386, 1874, 21760, 0, 0, 0, 0}, {1036, 96, 851, 4096, 0, 0, 0}, {860, 96, 1028, 4112, 0, 0, 0}, {5632, 4437, 0, 0, 0, 0, 0}, {4364, 4454, 854, 5376, 0, 0, 0}, {5160, 1879, 20480, 0, 0, 0, 0}, {1880, 4896, 20560, 0, 0, 0, 0}, {1036, 4403, 4608, 5461, 0, 0, 0}, {1882, 4352, 0, 0, 0, 0, 0}, {4128, 4883, 4160, 1028, 0, 0, 0}, {1036, 4144, 5888, 4176, 0, 0, 0}, {1885, 4471, 21845, 0, 0, 0, 0}, {4398, 4626, 4420, 1028, 0, 0, 0}, {4959, 8192, 5120, 0, 0, 0, 0}, {96, 768, 1024, 4096, 0, 0, 0}, {170, 1799, 4369, 0, 0, 0, 0}, {1032, 4386, 768, 5440, 0, 0, 0}, {1807, 4915, 20560, 0, 0, 0, 0}, {1800, 8224, 5188, 0, 0, 0, 0}, {783, 4656, 4437, 1024, 0, 0, 0}, {4454, 1792, 21760, 0, 0, 0, 0}, {1032, 96, 1799, 4112, 0, 0, 0}, {1032, 4128, 768, 4160, 0, 0, 0}, {1807, 4403, 21845, 0, 0, 0, 0}, {106, 768, 1024, 4352, 0, 0, 0}, {160, 4883, 5140, 0, 0, 0, 0}, {5228, 1792, 20480, 0, 0, 0, 0}, {4381, 4471, 4626, 5397, 0, 0, 0}, {1800, 8738, 4420, 0, 0, 0, 0}, {783, 4144, 4176, 1024, 0, 0, 0}, {1904, 17408, 0, 0, 0, 0, 0}, {10, 1542, 273, 0, 0, 0, 0}, {10, 4386, 4864, 1360, 0, 0, 0}, {1100, 819, 16448, 0, 0, 0, 0}, {828, 12336, 1092, 0, 0, 0, 0}, {10, 544, 4437, 5120, 0, 0, 0}, {278, 1360, 4112, 0, 0, 0, 0}, {19456, 1911, 0, 0, 0, 0, 0}, {1912, 13056, 0, 0, 0, 0, 0}, {275, 4160, 5397, 0, 0, 0, 0}, {10, 544, 1360, 4352, 0, 0, 0}, {3084, 819, 1092, 0, 0, 0, 0}, {1100, 1904, 16448, 0, 0, 0, 0}, {10, 5154, 5632, 1365, 0, 0, 0}, {4144, 4626, 276, 0, 0, 0, 0}, {1919, 17408, 0, 0, 0, 0, 0}, {1920, 3840, 13056, 17408, 0, 0, 0}, {10, 289, 771, 321, 1285, 4369, 0}, {10, 4386, 4864, 1280, 0, 0, 0}, {1100, 771, 16448, 0, 0, 0, 0}, {780, 12288, 1092, 0, 0, 0, 0}, {10, 544, 4437, 1285, 0, 0, 0}, {4358, 4160, 1280, 0, 0, 0, 0}, {17167, 30583, 0, 0, 0, 0, 0}, {17544, 17152, 0, 0, 0, 0, 0}, {323, 1285, 4112, 0, 0, 0, 0}, {10, 544, 1280, 4352, 0, 0, 0}, {771, 1092, 0, 0, 0, 0, 0}, {1100, 1856, 16448, 0, 0, 0, 0}, {10, 4471, 4949, 1285, 0, 0, 0}, {10, 292, 774, 324, 1280, 4096, 0}, {1935, 3855, 13424, 17408, 0, 0, 0}, {4144, 4864, 4176, 1024, 0, 0, 0}, {1885, 4369, 0, 0, 0, 0, 0}, {1032, 4386, 4626, 5440, 0, 0, 0}, {1887, 4915, 20480, 0, 0, 0, 0}, {4940, 8224, 5140, 0, 0, 0, 0}, {4415, 4608, 4437, 1024, 0, 0, 0}, {1882, 4454, 21760, 0, 0, 0, 0}, {1032, 4128, 5911, 4160, 0, 0, 0}, {1032, 96, 848, 4112, 0, 0, 0}, {4403, 1877, 21845, 0, 0, 0, 0}, {858, 816, 1024, 4352, 0, 0, 0}, {4883, 5188, 0, 0, 0, 0, 0}, {5180, 1872, 20560, 0, 0, 0, 0}, {4381, 4471, 853, 5397, 0, 0, 0}, {5654, 4420, 0, 0, 0, 0, 0}, {863, 96, 1024, 4096, 0, 0, 0}, {160, 4864, 5120, 0, 0, 0, 0}, {106, 771, 1028, 4369, 0, 0, 0}, {1800, 4386, 21760, 0, 0, 0, 0}, {1036, 4144, 771, 4176, 0, 0, 0}, {780, 4128, 4160, 1028, 0, 0, 0}, {1807, 8704, 4437, 0, 0, 0, 0}, {4364, 4454, 4608, 5376, 0, 0, 0}, {5240, 1799, 20560, 0, 0, 0, 0}, {1800, 4896, 20480, 0, 0, 0, 0}, {1036, 4403, 771, 5461, 0, 0, 0}, {170, 1792, 4352, 0, 0, 0, 0}, {96, 771, 1028, 4112, 0, 0, 0}, {1036, 96, 1792, 4096, 0, 0, 0}, {4471, 1799, 21845, 0, 0, 0, 0}, {780, 4642, 4420, 1028, 0, 0, 0}, {1807, 8192, 5200, 0, 0, 0, 0}, {3072, 816, 1088, 0, 0, 0, 0}, {10, 546, 1365, 4369, 0, 0, 0}, {274, 4176, 5376, 0, 0, 0, 0}, {1919, 13107, 0, 0, 0, 0, 0}, {1912, 17476, 0, 0, 0, 0, 0}, {4128, 4608, 277, 0, 0, 0, 0}, {10, 5174, 5654, 1360, 0, 0, 0}, {1096, 1911, 16384, 0, 0, 0, 0}, {1096, 816, 16384, 0, 0, 0, 0}, {10, 4403, 4883, 1365, 0, 0, 0}, {10, 1536, 272, 0, 0, 0, 0}, {1911, 17476, 0, 0, 0, 0, 0}, {19532, 1904, 0, 0, 0, 0, 0}, {279, 1365, 4096, 0, 0, 0, 0}, {10, 546, 4420, 5140, 0, 0, 0}, {831, 12288, 1088, 0, 0, 0, 0}, {192, 768, 1024, 0, 0, 0, 0}, {10, 514, 1285, 4369, 0, 0, 0}, {258, 4160, 1280, 0, 0, 0, 0}, {1807, 13107, 0, 0, 0, 0, 0}, {1800, 17476, 0, 0, 0, 0, 0}, {4144, 512, 261, 0, 0, 0, 0}, {10, 4454, 512, 1280, 0, 0, 0}, {1032, 1799, 16448, 0, 0, 0, 0}, {1032, 768, 16448, 0, 0, 0, 0}, {10, 4403, 512, 1285, 0, 0, 0}, {10, 96, 256, 0, 0, 0, 0}, {1799, 17476, 0, 0, 0, 0, 0}, {17612, 1792, 0, 0, 0, 0, 0}, {263, 1285, 4112, 0, 0, 0, 0}, {10, 514, 4420, 1280, 0, 0, 0}, {783, 12336, 1024, 0, 0, 0, 0}, {6912, 4896, 5200, 0, 0, 0, 0}, {1821, 819, 1092, 4369, 0, 0, 0}, {5722, 4386, 21760, 0, 0, 0, 0}, {5132, 4128, 4883, 4160, 0, 0, 0}, {4876, 4144, 4176, 5140, 0, 0, 0}, {5674, 8704, 4437, 0, 0, 0, 0}, {4364, 1062, 5654, 5440, 0, 0, 0}, {4959, 1911, 20480, 0, 0, 0, 0}, {5240, 4864, 20560, 0, 0, 0, 0}, {4441, 4403, 4608, 5397, 0, 0, 0}, {3930, 1904, 4352, 0, 0, 0, 0}, {1060, 1815, 1092, 4096, 0, 0, 0}, {1100, 96, 1808, 4112, 0, 0, 0}, {4471, 5632, 21845, 0, 0, 0, 0}, {4398, 4626, 4420, 5376, 0, 0, 0}, {4991, 8224, 5120, 0, 0, 0, 0}, {4128, 768, 4160, 5120, 0, 0, 0}, {1837, 4369, 0, 0, 0, 0, 0}, {4424, 4386, 768, 5376, 0, 0, 0}, {5180, 4883, 20560, 0, 0, 0, 0}, {1832, 8192, 5188, 0, 0, 0, 0}, {783, 4656, 4437, 5397, 0, 0, 0}, {5708, 4454, 21760, 0, 0, 0, 0}, {5144, 4144, 5911, 4176, 0, 0, 0}, {1096, 96, 768, 4096, 0, 0, 0}, {4403, 5654, 21845, 0, 0, 0, 0}, {1066, 768, 1088, 4352, 0, 0, 0}, {4915, 5140, 0, 0, 0, 0, 0}, {4940, 1824, 20480, 0, 0, 0, 0}, {4381, 1058, 4626, 5461, 0, 0, 0}, {3840, 1826, 4420, 0, 0, 0, 0}, {783, 1056, 1088, 4112, 0, 0, 0}, {2032, 2048, 13056, 17408, 0, 0, 0}, {10, 305, 514, 337, 1028, 4369, 0}, {10, 4386, 514, 1360, 0, 0, 0}, {1036, 819, 16384, 0, 0, 0, 0}, {828, 12336, 1028, 0, 0, 0, 0}, {10, 512, 4437, 5120, 0, 0, 0}, {4358, 4176, 5376, 0, 0, 0, 0}, {17279, 30583, 0, 0, 0, 0, 0}, {2056, 17264, 0, 0, 0, 0, 0}, {1030, 1365, 4096, 0, 0, 0, 0}, {10, 512, 1360, 4352, 0, 0, 0}, {819, 1028, 0, 0, 0, 0, 0}, {1036, 1840, 16384, 0, 0, 0, 0}, {10, 5154, 514, 1365, 0, 0, 0}, {10, 308, 514, 340, 1028, 4112, 0}, {2047, 2048, 13312, 17408, 0, 0, 0}, {52224, 0, 0, 0, 0, 0, 0}, {2, 5, 16, 257, 0, 0, 0}, {2, 17408, 0, 0, 0, 0, 0}, {15, 48, 771, 0, 0, 0, 0}, {8, 64, 1028, 0, 0, 0, 0}, {13056, 5, 0, 0, 0, 0, 0}, {10, 96, 1542, 0, 0, 0, 0}, {7, 17408, 0, 0, 0, 0, 0}, {8, 17408, 0, 0, 0, 0, 0}, {48, 771, 5, 0, 0, 0, 0}, {10, 26112, 0, 0, 0, 0, 0}, {7, 64, 1028, 0, 0, 0, 0}, {192, 3084, 0, 0, 0, 0, 0}, {2, 5, 4352, 0, 0, 0, 0}, {2, 64, 1028, 0, 0, 0, 0}, {15, 13056, 0, 0, 0, 0, 0}, {3072, 16, 0, 0, 0, 0, 0}, {34, 85, 4369, 0, 0, 0, 0}, {18, 17408, 0, 0, 0, 0, 0}, {95, 32, 4883, 0, 0, 0, 0}, {40, 80, 5140, 0, 0, 0, 0}, {13056, 21, 0, 0, 0, 0, 0}, {90, 112, 5654, 0, 0, 0, 0}, {23, 17408, 0, 0, 0, 0, 0}, {24, 48, 80, 5120, 0, 0, 0}, {42, 13107, 85, 0, 0, 0, 0}, {26, 48, 5632, 64, 0, 0, 0}, {95, 119, 17476, 0, 0, 0, 0}, {7196, 32, 80, 0, 0, 0, 0}, {29, 34, 85, 4352, 0, 0, 0}, {90, 34, 17476, 0, 0, 0, 0}, {31, 32, 4864, 64, 0, 0, 0}, {19456, 32, 0, 0, 0, 0, 0}, {18, 85, 4369, 0, 0, 0, 0}, {34, 17408, 0, 0, 0, 0, 0}, {15, 771, 16, 0, 0, 0, 0}, {72, 96, 17476, 0, 0, 0, 0}, {15, 37, 5632, 85, 0, 0, 0}, {42, 9766, 64, 0, 0, 0, 0}, {15, 39, 80, 5120, 0, 0, 0}, {40, 17408, 0, 0, 0, 0, 0}, {48, 771, 21, 0, 0, 0, 0}, {42, 26112, 0, 0, 0, 0, 0}, {23, 80, 5140, 0, 0, 0, 0}, {3084, 32, 64, 0, 0, 0, 0}, {15, 34, 85, 4352, 0, 0, 0}, {72, 34, 17476, 0, 0, 0, 0}, {15, 32, 4864, 80, 0, 0, 0}, {3072, 48, 0, 0, 0, 0, 0}, {2, 85, 4369, 0, 0, 0, 0}, {2, 1024, 16, 0, 0, 0, 0}, {255, 13107, 0, 0, 0, 0, 0}, {8, 112, 17476, 0, 0, 0, 0}, {10, 53, 1536, 85, 0, 0, 0}, {10, 13878, 80, 0, 0, 0, 0}, {8, 55, 64, 1024, 0, 0, 0}, {8, 48, 64, 1024, 0, 0, 0}, {10, 13107, 85, 0, 0, 0, 0}, {10, 48, 1536, 80, 0, 0, 0}, {8, 119, 17476, 0, 0, 0, 0}, {240, 15420, 0, 0, 0, 0, 0}, {2, 21, 4352, 0, 0, 0, 0}, {2, 80, 5140, 0, 0, 0, 0}, {63, 13056, 0, 0, 0, 0, 0}, {3072, 64, 0, 0, 0, 0, 0}, {34, 5, 4369, 0, 0, 0, 0}, {66, 17408, 0, 0, 0, 0, 0}, {15, 112, 17219, 0, 0, 0, 0}, {136, 17476, 0, 0, 0, 0, 0}, {768, 5, 16, 0, 0, 0, 0}, {10, 32, 17990, 0, 0, 0, 0}, {71, 17408, 0, 0, 0, 0, 0}, {72, 17408, 0, 0, 0, 0, 0}, {32, 4883, 5, 0, 0, 0, 0}, {10, 32, 1536, 64, 0, 0, 0}, {15, 119, 17476, 0, 0, 0, 0}, {128, 19532, 0, 0, 0, 0, 0}, {18, 5, 4352, 0, 0, 0, 0}, {10, 34, 17476, 0, 0, 0, 0}, {15, 48, 768, 64, 0, 0, 0}, {15360, 80, 0, 0, 0, 0, 0}, {34, 21, 4369, 0, 0, 0, 0}, {82, 17408, 0, 0, 0, 0, 0}, {95, 96, 21331, 0, 0, 0, 0}, {8, 1028, 16, 0, 0, 0, 0}, {13056, 85, 0, 0, 0, 0, 0}, {90, 48, 22102, 0, 0, 0, 0}, {87, 17408, 0, 0, 0, 0, 0}, {8, 32, 80, 5120, 0, 0, 0}, {63, 13107, 85, 0, 0, 0, 0}, {90, 26112, 0, 0, 0, 0, 0}, {23, 64, 1028, 0, 0, 0, 0}, {3084, 48, 80, 0, 0, 0, 0}, {8, 34, 85, 4352, 0, 0, 0}, {18, 64, 1028, 0, 0, 0, 0}, {95, 13056, 0, 0, 0, 0, 0}, {3072, 96, 0, 0, 0, 0, 0}, {7, 85, 4369, 0, 0, 0, 0}, {8, 34, 64, 1024, 0, 0, 0}, {15, 13107, 80, 0, 0, 0, 0}, {8, 32, 17476, 0, 0, 0, 0}, {15, 48, 768, 85, 0, 0, 0}, {170, 26214, 0, 0, 0, 0, 0}, {7, 1024, 16, 0, 0, 0, 0}, {8, 32, 64, 1024, 0, 0, 0}, {15, 13107, 85, 0, 0, 0, 0}, {106, 26112, 0, 0, 0, 0, 0}, {7, 80, 5140, 0, 0, 0, 0}, {160, 27756, 0, 0, 0, 0, 0}, {18, 21, 4352, 0, 0, 0, 0}, {8, 34, 17476, 0, 0, 0, 0}, {15, 48, 768, 80, 0, 0, 0}, {19456, 112, 0, 0, 0, 0, 0}, {23, 85, 4369, 0, 0, 0, 0}, {10, 34, 80, 5120, 0, 0, 0}, {63, 13107, 64, 0, 0, 0, 0}, {72, 48, 17476, 0, 0, 0, 0}, {10, 32, 4864, 85, 0, 0, 0}, {10, 1542, 16, 0, 0, 0, 0}, {119, 17408, 0, 0, 0, 0, 0}, {120, 17408, 0, 0, 0, 0, 0}, {32, 4883, 21, 0, 0, 0, 0}, {10, 32, 5632, 80, 0, 0, 0}, {72, 119, 17476, 0, 0, 0, 0}, {3084, 48, 64, 0, 0, 0, 0}, {10, 34, 85, 4352, 0, 0, 0}, {18, 80, 5140, 0, 0, 0, 0}, {127, 13056, 0, 0, 0, 0, 0}, {128, 19456, 0, 0, 0, 0, 0}, {18, 5, 4369, 0, 0, 0, 0}, {10, 34, 17408, 0, 0, 0, 0}, {15, 48, 771, 64, 0, 0, 0}, {72, 17476, 0, 0, 0, 0, 0}, {32, 4864, 5, 0, 0, 0, 0}, {10, 32, 1542, 64, 0, 0, 0}, {15, 119, 17408, 0, 0, 0, 0}, {136, 17408, 0, 0, 0, 0, 0}, {771, 5, 16, 0, 0, 0, 0}, {10, 32, 17920, 0, 0, 0, 0}, {71, 17476, 0, 0, 0, 0, 0}, {3084, 64, 0, 0, 0, 0, 0}, {34, 5, 4352, 0, 0, 0, 0}, {66, 17476, 0, 0, 0, 0, 0}, {15, 112, 17152, 0, 0, 0, 0}, {3072, 48, 80, 0, 0, 0, 0}, {8, 34, 85, 4369, 0, 0, 0}, {18, 64, 1024, 0, 0, 0, 0}, {95, 13107, 0, 0, 0, 0, 0}, {8, 32, 80, 5140, 0, 0, 0}, {63, 13056, 85, 0, 0, 0, 0}, {90, 26214, 0, 0, 0, 0, 0}, {23, 64, 1024, 0, 0, 0, 0}, {8, 1024, 16, 0, 0, 0, 0}, {13107, 85, 0, 0, 0, 0, 0}, {90, 48, 22016, 0, 0, 0, 0}, {87, 17476, 0, 0, 0, 0, 0}, {15420, 80, 0, 0, 0, 0, 0}, {34, 21, 4352, 0, 0, 0, 0}, {82, 17476, 0, 0, 0, 0, 0}, {95, 96, 21248, 0, 0, 0, 0}, {160, 27648, 0, 0, 0, 0, 0}, {18, 21, 4369, 0, 0, 0, 0}, {8, 34, 17408, 0, 0, 0, 0}, {15, 48, 771, 80, 0, 0, 0}, {8, 32, 64, 1028, 0, 0, 0}, {15, 13056, 85, 0, 0, 0, 0}, {106, 26214, 0, 0, 0, 0, 0}, {7, 80, 5120, 0, 0, 0, 0}, {8, 32, 17408, 0, 0, 0, 0}, {15, 48, 771, 85, 0, 0, 0}, {170, 26112, 0, 0, 0, 0, 0}, {7, 1028, 16, 0, 0, 0, 0}, {3084, 96, 0, 0, 0, 0, 0}, {7, 85, 4352, 0, 0, 0, 0}, {8, 34, 64, 1028, 0, 0, 0}, {15, 13056, 80, 0, 0, 0, 0}, {3072, 48, 64, 0, 0, 0, 0}, {10, 34, 85, 4369, 0, 0, 0}, {18, 80, 5120, 0, 0, 0, 0}, {127, 13107, 0, 0, 0, 0, 0}, {120, 17476, 0, 0, 0, 0, 0}, {32, 4864, 21, 0, 0, 0, 0}, {10, 32, 5654, 80, 0, 0, 0}, {72, 119, 17408, 0, 0, 0, 0}, {72, 48, 17408, 0, 0, 0, 0}, {10, 32, 4883, 85, 0, 0, 0}, {10, 1536, 16, 0, 0, 0, 0}, {119, 17476, 0, 0, 0, 0, 0}, {19532, 112, 0, 0, 0, 0, 0}, {23, 85, 4352, 0, 0, 0, 0}, {10, 34, 80, 5140, 0, 0, 0}, {63, 13056, 64, 0, 0, 0, 0}, {192, 3072, 0, 0, 0, 0, 0}, {2, 5, 4369, 0, 0, 0, 0}, {2, 64, 1024, 0, 0, 0, 0}, {15, 13107, 0, 0, 0, 0, 0}, {8, 17476, 0, 0, 0, 0, 0}, {48, 768, 5, 0, 0, 0, 0}, {10, 26214, 0, 0, 0, 0, 0}, {7, 64, 1024, 0, 0, 0, 0}, {8, 64, 1024, 0, 0, 0, 0}, {13107, 5, 0, 0, 0, 0, 0}, {10, 96, 1536, 0, 0, 0, 0}, {7, 17476, 0, 0, 0, 0, 0}, {52428, 0, 0, 0, 0, 0, 0}, {2, 5, 16, 256, 0, 0, 0}, {2, 17476, 0, 0, 0, 0, 0}, {15, 48, 768, 0, 0, 0, 0}, {7168, 32, 80, 0, 0, 0, 0}, {29, 34, 85, 4369, 0, 0, 0}, {90, 34, 17408, 0, 0, 0, 0}, {31, 32, 4883, 64, 0, 0, 0}, {24, 48, 80, 5140, 0, 0, 0}, {42, 13056, 85, 0, 0, 0, 0}, {26, 48, 5654, 64, 0, 0, 0}, {95, 119, 17408, 0, 0, 0, 0}, {40, 80, 5120, 0, 0, 0, 0}, {13107, 21, 0, 0, 0, 0, 0}, {90, 112, 5632, 0, 0, 0, 0}, {23, 17476, 0, 0, 0, 0, 0}, {3084, 16, 0, 0, 0, 0, 0}, {34, 85, 4352, 0, 0, 0, 0}, {18, 17476, 0, 0, 0, 0, 0}, {95, 32, 4864, 0, 0, 0, 0}, {3072, 32, 64, 0, 0, 0, 0}, {15, 34, 85, 4369, 0, 0, 0}, {72, 34, 17408, 0, 0, 0, 0}, {15, 32, 4883, 80, 0, 0, 0}, {40, 17476, 0, 0, 0, 0, 0}, {48, 768, 21, 0, 0, 0, 0}, {42, 26214, 0, 0, 0, 0, 0}, {23, 80, 5120, 0, 0, 0, 0}, {72, 96, 17408, 0, 0, 0, 0}, {15, 37, 5654, 85, 0, 0, 0}, {42, 9728, 64, 0, 0, 0, 0}, {15, 39, 80, 5140, 0, 0, 0}, {19532, 32, 0, 0, 0, 0, 0}, {18, 85, 4352, 0, 0, 0, 0}, {34, 17476, 0, 0, 0, 0, 0}, {15, 768, 16, 0, 0, 0, 0}, {240, 15360, 0, 0, 0, 0, 0}, {2, 21, 4369, 0, 0, 0, 0}, {2, 80, 5120, 0, 0, 0, 0}, {63, 13107, 0, 0, 0, 0, 0}, {8, 48, 64, 1028, 0, 0, 0}, {10, 13056, 85, 0, 0, 0, 0}, {10, 48, 1542, 80, 0, 0, 0}, {8, 119, 17408, 0, 0, 0, 0}, {8, 112, 17408, 0, 0, 0, 0}, {10, 53, 1542, 85, 0, 0, 0}, {10, 13824, 80, 0, 0, 0, 0}, {8, 55, 64, 1028, 0, 0, 0}, {3084, 48, 0, 0, 0, 0, 0}, {2, 85, 4352, 0, 0, 0, 0}, {2, 1028, 16, 0, 0, 0, 0}, {255, 13056, 0, 0, 0, 0, 0}, {512, 1280, 4096, 0, 0, 0, 0}, {204, 257, 0, 0, 0, 0, 0}, {1290, 4128, 514, 0, 0, 0, 0}, {259, 17408, 0, 0, 0, 0, 0}, {13056, 260, 0, 0, 0, 0, 0}, {522, 4176, 1285, 0, 0, 0, 0}, {262, 17408, 0, 0, 0, 0, 0}, {1295, 4208, 1799, 0, 0, 0, 0}, {520, 12288, 1280, 0, 0, 0, 0}, {265, 771, 4437, 1285, 0, 0, 0}, {1290, 1792, 16384, 0, 0, 0, 0}, {267, 4471, 771, 1028, 0, 0, 0}, {268, 512, 1280, 4352, 0, 0, 0}, {4304, 514, 1285, 0, 0, 0, 0}, {270, 4386, 514, 1028, 0, 0, 0}, {1295, 512, 16384, 0, 0, 0, 0}, {544, 1360, 4112, 0, 0, 0, 0}, {3072, 273, 0, 0, 0, 0, 0}, {1370, 4144, 4626, 0, 0, 0, 0}, {275, 17408, 0, 0, 0, 0, 0}, {13056, 276, 0, 0, 0, 0, 0}, {554, 4160, 5397, 0, 0, 0, 0}, {278, 17408, 0, 0, 0, 0, 0}, {1375, 4192, 5911, 0, 0, 0, 0}, {552, 12336, 1360, 0, 0, 0, 0}, {281, 819, 4437, 5120, 0, 0, 0}, {1370, 1904, 16448, 0, 0, 0, 0}, {283, 5427, 5632, 1092, 0, 0, 0}, {284, 544, 1360, 4352, 0, 0, 0}, {7453, 546, 1365, 0, 0, 0, 0}, {286, 4386, 4864, 1092, 0, 0, 0}, {1375, 544, 16448, 0, 0, 0, 0}, {4128, 4608, 21760, 0, 0, 0, 0}, {1096, 289, 771, 4369, 0, 0, 0}, {3840, 546, 4096, 0, 0, 0, 0}, {291, 771, 1088, 4112, 0, 0, 0}, {5388, 292, 5632, 4420, 0, 0, 0}, {4698, 4208, 21845, 0, 0, 0, 0}, {780, 294, 4160, 5120, 0, 0, 0}, {552, 10023, 4176, 0, 0, 0, 0}, {552, 12288, 5376, 0, 0, 0, 0}, {297, 771, 4437, 5397, 0, 0, 0}, {5418, 5888, 20480, 0, 0, 0, 0}, {4188, 4471, 771, 5140, 0, 0, 0}, {780, 544, 1088, 4352, 0, 0, 0}, {3855, 546, 5461, 0, 0, 0, 0}, {4108, 4386, 4864, 5188, 0, 0, 0}, {5983, 544, 20560, 0, 0, 0, 0}, {4144, 512, 21760, 0, 0, 0, 0}, {1032, 305, 514, 4369, 0, 0, 0}, {1530, 514, 4112, 0, 0, 0, 0}, {307, 512, 1024, 4096, 0, 0, 0}, {1032, 308, 1536, 4420, 0, 0, 0}, {522, 4192, 21845, 0, 0, 0, 0}, {522, 310, 4176, 1024, 0, 0, 0}, {520, 14135, 4160, 0, 0, 0, 0}, {520, 12336, 5440, 0, 0, 0, 0}, {522, 819, 4437, 1024, 0, 0, 0}, {522, 5984, 20560, 0, 0, 0, 0}, {1032, 1331, 1536, 5188, 0, 0, 0}, {316, 512, 1024, 4352, 0, 0, 0}, {4320, 514, 5397, 0, 0, 0, 0}, {4124, 4386, 514, 5140, 0, 0, 0}, {5439, 512, 20480, 0, 0, 0, 0}, {8704, 4160, 1280, 0, 0, 0, 0}, {783, 321, 1285, 4369, 0, 0, 0}, {1290, 4192, 16962, 0, 0, 0, 0}, {323, 17408, 0, 0, 0, 0, 0}, {768, 324, 1280, 4096, 0, 0, 0}, {650, 1285, 4112, 0, 0, 0, 0}, {326, 17408, 0, 0, 0, 0, 0}, {1295, 4144, 18247, 0, 0, 0, 0}, {4680, 8192, 1280, 0, 0, 0, 0}, {4124, 4883, 4437, 1285, 0, 0, 0}, {1290, 5984, 16448, 0, 0, 0, 0}, {1295, 5427, 1536, 1092, 0, 0, 0}, {332, 768, 1280, 4352, 0, 0, 0}, {4240, 4626, 1285, 0, 0, 0, 0}, {1290, 4386, 768, 1092, 0, 0, 0}, {1295, 4656, 16448, 0, 0, 0, 0}, {8704, 4176, 5376, 0, 0, 0, 0}, {831, 337, 1028, 4369, 0, 0, 0}, {1370, 4208, 21074, 0, 0, 0, 0}, {339, 17408, 0, 0, 0, 0, 0}, {816, 340, 1028, 4112, 0, 0, 0}, {2048, 1365, 4096, 0, 0, 0, 0}, {342, 17408, 0, 0, 0, 0, 0}, {1375, 4128, 22359, 0, 0, 0, 0}, {5928, 8224, 1360, 0, 0, 0, 0}, {4108, 4915, 4437, 5120, 0, 0, 0}, {1370, 5888, 16384, 0, 0, 0, 0}, {347, 4471, 4883, 1028, 0, 0, 0}, {1036, 816, 1360, 4352, 0, 0, 0}, {2056, 4642, 1365, 0, 0, 0, 0}, {350, 4386, 4626, 1028, 0, 0, 0}, {1375, 4608, 16384, 0, 0, 0, 0}, {4192, 1792, 21760, 0, 0, 0, 0}, {1032, 353, 1799, 4369, 0, 0, 0}, {1800, 8738, 4160, 0, 0, 0, 0}, {783, 4403, 4176, 1024, 0, 0, 0}, {1032, 4128, 768, 4420, 0, 0, 0}, {1807, 4144, 21845, 0, 0, 0, 0}, {358, 768, 1024, 4096, 0, 0, 0}, {1455, 1799, 4112, 0, 0, 0, 0}, {1800, 8224, 5440, 0, 0, 0, 0}, {783, 4915, 4437, 1024, 0, 0, 0}, {5482, 1792, 20480, 0, 0, 0, 0}, {4124, 4471, 4883, 5140, 0, 0, 0}, {364, 768, 1024, 4352, 0, 0, 0}, {4272, 4626, 5397, 0, 0, 0, 0}, {1032, 4386, 768, 5188, 0, 0, 0}, {1807, 4656, 20560, 0, 0, 0, 0}, {4208, 5888, 21760, 0, 0, 0, 0}, {1096, 369, 1542, 4369, 0, 0, 0}, {5928, 8738, 4176, 0, 0, 0, 0}, {4620, 4403, 4160, 5120, 0, 0, 0}, {5388, 4144, 4864, 4420, 0, 0, 0}, {5983, 4128, 21845, 0, 0, 0, 0}, {1334, 1542, 1088, 4112, 0, 0, 0}, {2560, 1911, 4096, 0, 0, 0, 0}, {4728, 8192, 5376, 0, 0, 0, 0}, {4140, 4883, 4437, 5397, 0, 0, 0}, {4698, 1904, 20560, 0, 0, 0, 0}, {4108, 1331, 5632, 5188, 0, 0, 0}, {1548, 816, 1088, 4352, 0, 0, 0}, {2570, 4642, 5461, 0, 0, 0, 0}, {4188, 4386, 4626, 5140, 0, 0, 0}, {5503, 4608, 20480, 0, 0, 0, 0}, {4224, 4608, 1280, 0, 0, 0, 0}, {333, 771, 1285, 4369, 0, 0, 0}, {1290, 4642, 16384, 0, 0, 0, 0}, {1295, 4403, 771, 1088, 0, 0, 0}, {4108, 4864, 4420, 1280, 0, 0, 0}, {4698, 8224, 1285, 0, 0, 0, 0}, {1290, 5414, 1542, 1088, 0, 0, 0}, {1295, 6007, 16384, 0, 0, 0, 0}, {648, 1280, 4096, 0, 0, 0, 0}, {771, 325, 1285, 4112, 0, 0, 0}, {1290, 4128, 18176, 0, 0, 0, 0}, {327, 17476, 0, 0, 0, 0, 0}, {780, 320, 1280, 4352, 0, 0, 0}, {8738, 4176, 1285, 0, 0, 0, 0}, {322, 17476, 0, 0, 0, 0, 0}, {1295, 4208, 16896, 0, 0, 0, 0}, {2048, 4656, 1360, 0, 0, 0, 0}, {1032, 819, 1365, 4369, 0, 0, 0}, {1370, 4626, 16448, 0, 0, 0, 0}, {351, 4403, 4608, 1024, 0, 0, 0}, {4124, 4896, 4420, 5140, 0, 0, 0}, {5951, 8192, 1365, 0, 0, 0, 0}, {346, 4454, 4864, 1024, 0, 0, 0}, {1375, 5911, 16448, 0, 0, 0, 0}, {2056, 1360, 4112, 0, 0, 0, 0}, {819, 341, 1024, 4096, 0, 0, 0}, {1370, 4144, 22272, 0, 0, 0, 0}, {343, 17476, 0, 0, 0, 0, 0}, {828, 336, 1024, 4352, 0, 0, 0}, {8738, 4160, 5397, 0, 0, 0, 0}, {338, 17476, 0, 0, 0, 0, 0}, {1375, 4192, 20992, 0, 0, 0, 0}, {4256, 4608, 5376, 0, 0, 0, 0}, {365, 771, 1028, 4369, 0, 0, 0}, {1800, 4642, 20480, 0, 0, 0, 0}, {1036, 4403, 771, 5200, 0, 0, 0}, {780, 4896, 4420, 1028, 0, 0, 0}, {1807, 8192, 5461, 0, 0, 0, 0}, {4108, 4454, 4864, 5120, 0, 0, 0}, {5503, 1799, 20560, 0, 0, 0, 0}, {1800, 4128, 21760, 0, 0, 0, 0}, {1036, 4144, 771, 4437, 0, 0, 0}, {1450, 1792, 4096, 0, 0, 0, 0}, {359, 771, 1028, 4112, 0, 0, 0}, {1036, 352, 1792, 4352, 0, 0, 0}, {4208, 1799, 21845, 0, 0, 0, 0}, {780, 4386, 4160, 1028, 0, 0, 0}, {1807, 8704, 4176, 0, 0, 0, 0}, {2560, 4656, 5440, 0, 0, 0, 0}, {1546, 819, 1092, 4369, 0, 0, 0}, {5482, 4626, 20560, 0, 0, 0, 0}, {4172, 4403, 4608, 5120, 0, 0, 0}, {4156, 4864, 4420, 5376, 0, 0, 0}, {4714, 8224, 5397, 0, 0, 0, 0}, {4124, 1334, 5654, 5200, 0, 0, 0}, {4680, 1911, 20480, 0, 0, 0, 0}, {5960, 4144, 21760, 0, 0, 0, 0}, {5401, 4128, 4883, 4437, 0, 0, 0}, {2570, 1904, 4112, 0, 0, 0, 0}, {1331, 1536, 1092, 4096, 0, 0, 0}, {1100, 368, 1536, 4352, 0, 0, 0}, {4192, 5911, 21845, 0, 0, 0, 0}, {4638, 4386, 4176, 5140, 0, 0, 0}, {5951, 8704, 4160, 0, 0, 0, 0}, {4288, 512, 1280, 0, 0, 0, 0}, {269, 514, 1285, 4369, 0, 0, 0}, {1290, 514, 16448, 0, 0, 0, 0}, {271, 4403, 512, 1024, 0, 0, 0}, {264, 768, 4420, 1280, 0, 0, 0}, {522, 12336, 1285, 0, 0, 0, 0}, {266, 4454, 768, 1024, 0, 0, 0}, {1295, 1799, 16448, 0, 0, 0, 0}, {520, 4160, 1280, 0, 0, 0, 0}, {13107, 261, 0, 0, 0, 0, 0}, {1290, 4192, 1792, 0, 0, 0, 0}, {263, 17476, 0, 0, 0, 0, 0}, {204, 256, 0, 0, 0, 0, 0}, {514, 1285, 4112, 0, 0, 0, 0}, {258, 17476, 0, 0, 0, 0, 0}, {1295, 4144, 512, 0, 0, 0, 0}, {7424, 544, 1360, 0, 0, 0, 0}, {285, 546, 1365, 4369, 0, 0, 0}, {1370, 546, 16384, 0, 0, 0, 0}, {287, 4403, 4883, 1088, 0, 0, 0}, {280, 816, 4420, 5140, 0, 0, 0}, {554, 12288, 1365, 0, 0, 0, 0}, {282, 5414, 5654, 1088, 0, 0, 0}, {1375, 1911, 16384, 0, 0, 0, 0}, {552, 4176, 5376, 0, 0, 0, 0}, {13107, 277, 0, 0, 0, 0, 0}, {1370, 4208, 5888, 0, 0, 0, 0}, {279, 17476, 0, 0, 0, 0, 0}, {3084, 272, 0, 0, 0, 0, 0}, {546, 1365, 4096, 0, 0, 0, 0}, {274, 17476, 0, 0, 0, 0, 0}, {1375, 4128, 4608, 0, 0, 0, 0}, {3840, 544, 5440, 0, 0, 0, 0}, {783, 546, 1092, 4369, 0, 0, 0}, {5960, 546, 20480, 0, 0, 0, 0}, {4124, 4403, 4883, 5200, 0, 0, 0}, {296, 768, 4420, 5376, 0, 0, 0}, {554, 12336, 5397, 0, 0, 0, 0}, {4172, 4454, 768, 5120, 0, 0, 0}, {5439, 5911, 20560, 0, 0, 0, 0}, {4680, 4192, 21760, 0, 0, 0, 0}, {5401, 293, 5654, 4437, 0, 0, 0}, {554, 9984, 4160, 0, 0, 0, 0}, {783, 295, 4176, 5140, 0, 0, 0}, {1100, 288, 768, 4352, 0, 0, 0}, {4144, 4626, 21845, 0, 0, 0, 0}, {290, 768, 1092, 4096, 0, 0, 0}, {3855, 544, 4112, 0, 0, 0, 0}, {4336, 512, 5376, 0, 0, 0, 0}, {317, 514, 1028, 4369, 0, 0, 0}, {5418, 514, 20560, 0, 0, 0, 0}, {4108, 4403, 512, 5120, 0, 0, 0}, {520, 816, 4420, 1028, 0, 0, 0}, {522, 12288, 5461, 0, 0, 0, 0}, {1036, 1334, 1542, 5200, 0, 0, 0}, {520, 6007, 20480, 0, 0, 0, 0}, {520, 4208, 21760, 0, 0, 0, 0}, {1036, 309, 1542, 4437, 0, 0, 0}, {522, 14080, 4176, 0, 0, 0, 0}, {520, 311, 4160, 1028, 0, 0, 0}, {1036, 304, 512, 4352, 0, 0, 0}, {4128, 514, 21845, 0, 0, 0, 0}, {306, 514, 1028, 4112, 0, 0, 0}, {1535, 512, 4096, 0, 0, 0, 0}, {512, 17408, 0, 0, 0, 0, 0}, {15, 48, 257, 0, 0, 0, 0}, {17544, 514, 0, 0, 0, 0, 0}, {259, 1280, 4096, 0, 0, 0, 0}, {520, 8256, 1028, 0, 0, 0, 0}, {15, 517, 4437, 1285, 0, 0, 0}, {1036, 1542, 16384, 0, 0, 0, 0}, {15, 4471, 519, 1280, 0, 0, 0}, {520, 26112, 0, 0, 0, 0, 0}, {262, 4176, 1285, 0, 0, 0, 0}, {522, 17408, 0, 0, 0, 0, 0}, {48, 771, 260, 0, 0, 0, 0}, {1036, 512, 16384, 0, 0, 0, 0}, {15, 4386, 514, 1285, 0, 0, 0}, {192, 514, 1028, 0, 0, 0, 0}, {15, 512, 1280, 4352, 0, 0, 0}, {48, 528, 1088, 4112, 0, 0, 0}, {2645, 546, 4369, 0, 0, 0, 0}, {1096, 48, 530, 4096, 0, 0, 0}, {4403, 4883, 21760, 0, 0, 0, 0}, {552, 8272, 5140, 0, 0, 0, 0}, {63, 533, 4437, 5397, 0, 0, 0}, {5180, 5654, 20480, 0, 0, 0, 0}, {4424, 4471, 535, 5376, 0, 0, 0}, {5144, 48, 5632, 4176, 0, 0, 0}, {4940, 4454, 21845, 0, 0, 0, 0}, {538, 48, 4160, 5120, 0, 0, 0}, {552, 13107, 4420, 0, 0, 0, 0}, {5708, 544, 20560, 0, 0, 0, 0}, {4381, 4386, 4864, 5461, 0, 0, 0}, {7710, 546, 5188, 0, 0, 0, 0}, {543, 544, 1088, 4352, 0, 0, 0}, {544, 17408, 0, 0, 0, 0, 0}, {15, 771, 273, 0, 0, 0, 0}, {19456, 546, 0, 0, 0, 0, 0}, {275, 1360, 4112, 0, 0, 0, 0}, {552, 9252, 1092, 0, 0, 0, 0}, {15, 549, 4437, 5120, 0, 0, 0}, {1100, 1638, 16448, 0, 0, 0, 0}, {15, 5159, 5632, 1360, 0, 0, 0}, {552, 26112, 0, 0, 0, 0, 0}, {278, 4160, 5397, 0, 0, 0, 0}, {554, 17408, 0, 0, 0, 0, 0}, {48, 771, 276, 0, 0, 0, 0}, {1100, 544, 16448, 0, 0, 0, 0}, {15, 4386, 4864, 1365, 0, 0, 0}, {3084, 546, 1092, 0, 0, 0, 0}, {15, 544, 1360, 4352, 0, 0, 0}, {48, 512, 1024, 4096, 0, 0, 0}, {255, 514, 4369, 0, 0, 0, 0}, {1032, 48, 514, 4112, 0, 0, 0}, {4403, 512, 21760, 0, 0, 0, 0}, {520, 13364, 5188, 0, 0, 0, 0}, {522, 565, 4437, 1024, 0, 0, 0}, {522, 5734, 20560, 0, 0, 0, 0}, {1032, 1079, 1536, 5440, 0, 0, 0}, {1032, 48, 1536, 4160, 0, 0, 0}, {522, 4454, 21845, 0, 0, 0, 0}, {522, 48, 4176, 1024, 0, 0, 0}, {520, 13107, 4420, 0, 0, 0, 0}, {5180, 512, 20480, 0, 0, 0, 0}, {4381, 4386, 514, 5397, 0, 0, 0}, {240, 514, 5140, 0, 0, 0, 0}, {63, 512, 1024, 4352, 0, 0, 0}, {1536, 1088, 0, 0, 0, 0, 0}, {15, 626, 1285, 4369, 0, 0, 0}, {1096, 578, 16384, 0, 0, 0, 0}, {15, 4403, 4931, 1280, 0, 0, 0}, {648, 2560, 8192, 17476, 0, 0, 0}, {15, 48, 768, 325, 1285, 4112, 0}, {17612, 17990, 0, 0, 0, 0, 0}, {327, 1280, 4096, 0, 0, 0, 0}, {1096, 1536, 16384, 0, 0, 0, 0}, {15, 4454, 4883, 1285, 0, 0, 0}, {1546, 8224, 1088, 0, 0, 0, 0}, {15, 4915, 4420, 1280, 0, 0, 0}, {17996, 8704, 0, 0, 0, 0, 0}, {4370, 4176, 1285, 0, 0, 0, 0}, {642, 2570, 8738, 17476, 0, 0, 0}, {15, 48, 768, 320, 1280, 4352, 0}, {5632, 5200, 0, 0, 0, 0, 0}, {605, 610, 1028, 4369, 0, 0, 0}, {5240, 594, 20480, 0, 0, 0, 0}, {4364, 4403, 4947, 5376, 0, 0, 0}, {600, 48, 1028, 4112, 0, 0, 0}, {4864, 4437, 0, 0, 0, 0, 0}, {1036, 48, 1622, 4096, 0, 0, 0}, {4471, 599, 21760, 0, 0, 0, 0}, {600, 5744, 20560, 0, 0, 0, 0}, {1036, 1075, 5888, 5461, 0, 0, 0}, {602, 8192, 5120, 0, 0, 0, 0}, {63, 4883, 4420, 1028, 0, 0, 0}, {1036, 48, 4608, 4176, 0, 0, 0}, {605, 4386, 21845, 0, 0, 0, 0}, {48, 4626, 4160, 1028, 0, 0, 0}, {607, 4352, 0, 0, 0, 0, 0}, {608, 1024, 0, 0, 0, 0, 0}, {15, 1799, 1365, 4369, 0, 0, 0}, {1032, 610, 16448, 0, 0, 0, 0}, {15, 4403, 1792, 1360, 0, 0, 0}, {680, 2056, 8224, 17476, 0, 0, 0}, {15, 48, 768, 341, 1024, 4096, 0}, {2048, 18022, 0, 0, 0, 0, 0}, {1031, 1360, 4112, 0, 0, 0, 0}, {1032, 1632, 16448, 0, 0, 0, 0}, {15, 5171, 1792, 1365, 0, 0, 0}, {618, 8192, 1024, 0, 0, 0, 0}, {15, 4883, 4420, 5140, 0, 0, 0}, {18028, 8704, 0, 0, 0, 0, 0}, {4370, 4160, 5397, 0, 0, 0, 0}, {674, 2056, 8738, 17476, 0, 0, 0}, {15, 48, 768, 336, 1024, 4352, 0}, {624, 5120, 0, 0, 0, 0, 0}, {63, 1542, 1092, 4369, 0, 0, 0}, {5722, 626, 20560, 0, 0, 0, 0}, {4364, 4403, 5888, 5440, 0, 0, 0}, {1548, 48, 1092, 4096, 0, 0, 0}, {2570, 4896, 4437, 0, 0, 0, 0}, {1100, 48, 1542, 4112, 0, 0, 0}, {4471, 4864, 21760, 0, 0, 0, 0}, {5240, 5632, 20480, 0, 0, 0, 0}, {4441, 4454, 4883, 5397, 0, 0, 0}, {5674, 8224, 5200, 0, 0, 0, 0}, {4876, 4915, 4420, 5376, 0, 0, 0}, {5132, 48, 4608, 4160, 0, 0, 0}, {4959, 4386, 21845, 0, 0, 0, 0}, {48, 4626, 4176, 5140, 0, 0, 0}, {639, 4352, 0, 0, 0, 0, 0}, {640, 2560, 8704, 17408, 0, 0, 0}, {15, 48, 771, 321, 1285, 4369, 0}, {17930, 8738, 0, 0, 0, 0, 0}, {4355, 4160, 1280, 0, 0, 0, 0}, {1548, 8192, 1092, 0, 0, 0, 0}, {15, 4896, 4437, 1285, 0, 0, 0}, {1100, 1542, 16448, 0, 0, 0, 0}, {15, 4471, 4864, 1280, 0, 0, 0}, {17544, 17920, 0, 0, 0, 0, 0}, {326, 1285, 4112, 0, 0, 0, 0}, {650, 2570, 8224, 17408, 0, 0, 0}, {15, 48, 771, 324, 1280, 4096, 0}, {1100, 576, 16448, 0, 0, 0, 0}, {15, 4386, 4944, 1285, 0, 0, 0}, {1542, 1092, 0, 0, 0, 0, 0}, {15, 624, 1280, 4352, 0, 0, 0}, {48, 4608, 4176, 1024, 0, 0, 0}, {605, 4369, 0, 0, 0, 0, 0}, {1032, 48, 4626, 4160, 0, 0, 0}, {607, 4403, 21760, 0, 0, 0, 0}, {600, 8224, 5140, 0, 0, 0, 0}, {63, 4864, 4437, 1024, 0, 0, 0}, {602, 5734, 20480, 0, 0, 0, 0}, {1032, 1079, 5911, 5440, 0, 0, 0}, {1032, 48, 1616, 4112, 0, 0, 0}, {4454, 597, 21845, 0, 0, 0, 0}, {602, 48, 1024, 4096, 0, 0, 0}, {4883, 4420, 0, 0, 0, 0, 0}, {5228, 592, 20560, 0, 0, 0, 0}, {4381, 4386, 4928, 5397, 0, 0, 0}, {5654, 5188, 0, 0, 0, 0, 0}, {607, 608, 1024, 4352, 0, 0, 0}, {672, 2048, 8704, 17408, 0, 0, 0}, {15, 48, 771, 337, 1028, 4369, 0}, {17962, 8738, 0, 0, 0, 0, 0}, {4355, 4176, 5376, 0, 0, 0, 0}, {616, 8224, 1028, 0, 0, 0, 0}, {15, 4864, 4437, 5120, 0, 0, 0}, {1036, 1638, 16384, 0, 0, 0, 0}, {15, 5159, 1799, 1360, 0, 0, 0}, {2056, 17952, 0, 0, 0, 0, 0}, {1027, 1365, 4096, 0, 0, 0, 0}, {682, 2048, 8192, 17408, 0, 0, 0}, {15, 48, 771, 340, 1028, 4112, 0}, {1036, 608, 16384, 0, 0, 0, 0}, {15, 4386, 1799, 1365, 0, 0, 0}, {610, 1028, 0, 0, 0, 0, 0}, {15, 1792, 1360, 4352, 0, 0, 0}, {48, 4608, 4160, 5120, 0, 0, 0}, {637, 4369, 0, 0, 0, 0, 0}, {5144, 48, 4626, 4176, 0, 0, 0}, {4940, 4403, 21760, 0, 0, 0, 0}, {5692, 8192, 5188, 0, 0, 0, 0}, {4895, 4896, 4437, 5397, 0, 0, 0}, {5228, 5654, 20560, 0, 0, 0, 0}, {4424, 4471, 4864, 5376, 0, 0, 0}, {1096, 48, 1536, 4096, 0, 0, 0}, {4454, 4883, 21845, 0, 0, 0, 0}, {1546, 48, 1088, 4112, 0, 0, 0}, {2560, 4915, 4420, 0, 0, 0, 0}, {5708, 624, 20480, 0, 0, 0, 0}, {4381, 4386, 5911, 5461, 0, 0, 0}, {626, 5140, 0, 0, 0, 0, 0}, {63, 1536, 1088, 4352, 0, 0, 0}, {192, 512, 1024, 0, 0, 0, 0}, {15, 514, 1285, 4369, 0, 0, 0}, {1032, 514, 16448, 0, 0, 0, 0}, {15, 4403, 512, 1280, 0, 0, 0}, {520, 17476, 0, 0, 0, 0, 0}, {48, 768, 261, 0, 0, 0, 0}, {522, 26214, 0, 0, 0, 0, 0}, {263, 4160, 1280, 0, 0, 0, 0}, {1032, 1536, 16448, 0, 0, 0, 0}, {15, 4454, 517, 1285, 0, 0, 0}, {522, 8288, 1024, 0, 0, 0, 0}, {15, 519, 4420, 1280, 0, 0, 0}, {17612, 512, 0, 0, 0, 0, 0}, {258, 1285, 4112, 0, 0, 0, 0}, {514, 17476, 0, 0, 0, 0, 0}, {15, 48, 256, 0, 0, 0, 0}, {7680, 544, 5200, 0, 0, 0, 0}, {541, 546, 1092, 4369, 0, 0, 0}, {5722, 546, 20480, 0, 0, 0, 0}, {4364, 4403, 4883, 5440, 0, 0, 0}, {536, 48, 4176, 5140, 0, 0, 0}, {554, 13056, 4437, 0, 0, 0, 0}, {5132, 48, 5654, 4160, 0, 0, 0}, {4959, 4471, 21760, 0, 0, 0, 0}, {5160, 5632, 20560, 0, 0, 0, 0}, {4441, 4454, 533, 5397, 0, 0, 0}, {554, 8304, 5120, 0, 0, 0, 0}, {63, 535, 4420, 5376, 0, 0, 0}, {1100, 48, 528, 4112, 0, 0, 0}, {4386, 4864, 21845, 0, 0, 0, 0}, {48, 530, 1092, 4096, 0, 0, 0}, {2655, 544, 4352, 0, 0, 0, 0}, {3072, 544, 1088, 0, 0, 0, 0}, {15, 546, 1365, 4369, 0, 0, 0}, {1096, 546, 16384, 0, 0, 0, 0}, {15, 4403, 4883, 1360, 0, 0, 0}, {552, 17476, 0, 0, 0, 0, 0}, {48, 768, 277, 0, 0, 0, 0}, {554, 26214, 0, 0, 0, 0, 0}, {279, 4176, 5376, 0, 0, 0, 0}, {1096, 1632, 16384, 0, 0, 0, 0}, {15, 5171, 5654, 1365, 0, 0, 0}, {554, 9216, 1088, 0, 0, 0, 0}, {15, 551, 4420, 5140, 0, 0, 0}, {19532, 544, 0, 0, 0, 0, 0}, {274, 1365, 4096, 0, 0, 0, 0}, {546, 17476, 0, 0, 0, 0, 0}, {15, 768, 272, 0, 0, 0, 0}, {240, 512, 5120, 0, 0, 0, 0}, {63, 514, 1028, 4369, 0, 0, 0}, {5160, 514, 20560, 0, 0, 0, 0}, {4364, 4403, 512, 5376, 0, 0, 0}, {520, 48, 4160, 1028, 0, 0, 0}, {522, 13056, 4437, 0, 0, 0, 0}, {1036, 48, 1542, 4176, 0, 0, 0}, {520, 4471, 21760, 0, 0, 0, 0}, {520, 5744, 20480, 0, 0, 0, 0}, {1036, 1075, 1542, 5461, 0, 0, 0}, {522, 13312, 5200, 0, 0, 0, 0}, {520, 567, 4420, 1028, 0, 0, 0}, {1036, 48, 512, 4096, 0, 0, 0}, {4386, 514, 21845, 0, 0, 0, 0}, {48, 514, 1028, 4112, 0, 0, 0}, {255, 512, 4352, 0, 0, 0, 0}, {3840, 12288, 0, 0, 0, 0, 0}, {2, 68, 257, 0, 0, 0, 0}, {2, 1280, 4096, 0, 0, 0, 0}, {204, 771, 0, 0, 0, 0, 0}, {8, 772, 68, 1028, 0, 0, 0}, {10, 12368, 1285, 0, 0, 0, 0}, {10, 102, 774, 1280, 0, 0, 0}, {8, 1799, 16384, 0, 0, 0, 0}, {8, 1792, 16384, 0, 0, 0, 0}, {10, 102, 771, 1285, 0, 0, 0}, {10, 12288, 1280, 0, 0, 0, 0}, {8, 771, 68, 1028, 0, 0, 0}, {780, 13056, 0, 0, 0, 0, 0}, {2, 4176, 1285, 0, 0, 0, 0}, {2, 260, 4352, 0, 0, 0, 0}, {12528, 3855, 0, 0, 0, 0, 0}, {3920, 32, 4112, 0, 0, 0, 0}, {34, 785, 68, 4369, 0, 0, 0}, {34, 4626, 21760, 0, 0, 0, 0}, {76, 32, 787, 4096, 0, 0, 0}, {40, 788, 68, 5140, 0, 0, 0}, {42, 12352, 5397, 0, 0, 0, 0}, {76, 102, 790, 5376, 0, 0, 0}, {40, 5911, 20480, 0, 0, 0, 0}, {5960, 5984, 20560, 0, 0, 0, 0}, {5401, 5427, 5632, 5461, 0, 0, 0}, {42, 12336, 5440, 0, 0, 0, 0}, {795, 819, 68, 5120, 0, 0, 0}, {4124, 32, 4864, 4176, 0, 0, 0}, {4680, 34, 21845, 0, 0, 0, 0}, {798, 34, 68, 4352, 0, 0, 0}, {7967, 32, 4160, 0, 0, 0, 0}, {3840, 32, 4096, 0, 0, 0, 0}, {34, 771, 68, 4369, 0, 0, 0}, {34, 4608, 21760, 0, 0, 0, 0}, {76, 32, 771, 4112, 0, 0, 0}, {780, 804, 68, 5120, 0, 0, 0}, {42, 9509, 5461, 0, 0, 0, 0}, {5388, 5414, 5632, 5440, 0, 0, 0}, {5983, 6007, 20560, 0, 0, 0, 0}, {40, 5888, 20480, 0, 0, 0, 0}, {76, 102, 771, 5397, 0, 0, 0}, {42, 12288, 5376, 0, 0, 0, 0}, {40, 771, 68, 5140, 0, 0, 0}, {4108, 32, 4864, 4160, 0, 0, 0}, {4698, 34, 21845, 0, 0, 0, 0}, {780, 34, 68, 4352, 0, 0, 0}, {3855, 32, 4176, 0, 0, 0, 0}, {4080, 12336, 0, 0, 0, 0, 0}, {2, 1024, 273, 0, 0, 0, 0}, {2, 1360, 4112, 0, 0, 0, 0}, {3072, 819, 0, 0, 0, 0, 0}, {8, 820, 68, 1024, 0, 0, 0}, {10, 13621, 1365, 0, 0, 0, 0}, {10, 1334, 1536, 1360, 0, 0, 0}, {8, 1911, 16448, 0, 0, 0, 0}, {8, 1904, 16448, 0, 0, 0, 0}, {10, 1331, 1536, 1365, 0, 0, 0}, {10, 12336, 1360, 0, 0, 0, 0}, {8, 819, 68, 1024, 0, 0, 0}, {828, 13056, 0, 0, 0, 0, 0}, {2, 4160, 5397, 0, 0, 0, 0}, {2, 276, 4352, 0, 0, 0, 0}, {12480, 16191, 0, 0, 0, 0, 0}, {128, 3840, 12352, 16448, 0, 0, 0}, {10, 34, 773, 68, 1285, 4369, 0}, {10, 34, 4674, 1280, 0, 0, 0}, {76, 835, 16384, 0, 0, 0, 0}, {768, 68, 0, 0, 0, 0, 0}, {10, 32, 1285, 4112, 0, 0, 0}, {70, 1280, 4096, 0, 0, 0, 0}, {136, 18247, 0, 0, 0, 0, 0}, {18248, 30464, 0, 0, 0, 0, 0}, {4118, 4176, 1285, 0, 0, 0, 0}, {10, 32, 4160, 1280, 0, 0, 0}, {783, 13107, 68, 0, 0, 0, 0}, {76, 768, 16384, 0, 0, 0, 0}, {10, 34, 4626, 1285, 0, 0, 0}, {10, 34, 768, 68, 1280, 4352, 0}, {128, 3855, 12336, 16448, 0, 0, 0}, {160, 3920, 12368, 20560, 0, 0, 0}, {8, 34, 789, 68, 1028, 4369, 0}, {8, 34, 4690, 5376, 0, 0, 0}, {108, 851, 20480, 0, 0, 0, 0}, {8, 32, 784, 68, 1028, 4112, 0}, {170, 3925, 12288, 21845, 0, 0, 0}, {102, 854, 21760, 0, 0, 0, 0}, {8, 32, 1879, 4096, 0, 0, 0}, {8, 32, 5888, 4176, 0, 0, 0}, {857, 102, 21845, 0, 0, 0, 0}, {12378, 21760, 0, 0, 0, 0, 0}, {32, 4883, 4100, 0, 0, 0, 0}, {860, 816, 20560, 0, 0, 0, 0}, {8, 34, 4608, 5461, 0, 0, 0}, {8, 34, 786, 68, 1028, 4352, 0}, {160, 3935, 12288, 20480, 0, 0, 0}, {160, 3840, 12384, 20480, 0, 0, 0}, {8, 34, 775, 68, 1024, 4369, 0}, {8, 34, 1792, 5440, 0, 0, 0}, {783, 867, 20560, 0, 0, 0, 0}, {8, 32, 768, 68, 1024, 4096, 0}, {170, 3855, 12336, 21845, 0, 0, 0}, {102, 768, 21760, 0, 0, 0, 0}, {8, 32, 1799, 4112, 0, 0, 0}, {8, 32, 1792, 4160, 0, 0, 0}, {783, 102, 21845, 0, 0, 0, 0}, {12394, 21760, 0, 0, 0, 0, 0}, {32, 4883, 4116, 0, 0, 0, 0}, {108, 768, 20480, 0, 0, 0, 0}, {8, 34, 4626, 5397, 0, 0, 0}, {8, 34, 768, 68, 1024, 4352, 0}, {160, 3855, 12336, 20560, 0, 0, 0}, {128, 3952, 12400, 16384, 0, 0, 0}, {10, 34, 791, 68, 1297, 4369, 0}, {10, 34, 5888, 1360, 0, 0, 0}, {76, 883, 16448, 0, 0, 0, 0}, {3084, 816, 68, 0, 0, 0, 0}, {10, 32, 1365, 4096, 0, 0, 0}, {1302, 1360, 4112, 0, 0, 0, 0}, {18432, 18295, 0, 0, 0, 0, 0}, {18296, 30464, 0, 0, 0, 0, 0}, {4102, 4160, 5397, 0, 0, 0, 0}, {10, 32, 4176, 5376, 0, 0, 0}, {831, 13107, 68, 0, 0, 0, 0}, {76, 816, 16448, 0, 0, 0, 0}, {10, 34, 4608, 1365, 0, 0, 0}, {10, 34, 786, 68, 1300, 4352, 0}, {128, 3967, 12288, 16384, 0, 0, 0}, {128, 3840, 12288, 16384, 0, 0, 0}, {10, 34, 771, 68, 1285, 4369, 0}, {10, 34, 4608, 1280, 0, 0, 0}, {76, 771, 16448, 0, 0, 0, 0}, {780, 13056, 68, 0, 0, 0, 0}, {10, 32, 4176, 1285, 0, 0, 0}, {4102, 4160, 1280, 0, 0, 0, 0}, {18191, 30583, 0, 0, 0, 0, 0}, {136, 18176, 0, 0, 0, 0, 0}, {70, 1285, 4112, 0, 0, 0, 0}, {10, 32, 1280, 4096, 0, 0, 0}, {771, 68, 0, 0, 0, 0, 0}, {76, 832, 16448, 0, 0, 0, 0}, {10, 34, 4688, 1285, 0, 0, 0}, {10, 34, 774, 68, 1280, 4352, 0}, {128, 3855, 12400, 16384, 0, 0, 0}, {160, 3920, 12336, 20560, 0, 0, 0}, {8, 34, 785, 68, 1024, 4369, 0}, {8, 34, 4626, 5440, 0, 0, 0}, {863, 819, 20480, 0, 0, 0, 0}, {32, 4864, 4116, 0, 0, 0, 0}, {12394, 21845, 0, 0, 0, 0, 0}, {858, 102, 21760, 0, 0, 0, 0}, {8, 32, 5911, 4160, 0, 0, 0}, {8, 32, 1872, 4112, 0, 0, 0}, {102, 853, 21845, 0, 0, 0, 0}, {170, 3930, 12336, 21760, 0, 0, 0}, {8, 32, 787, 68, 1024, 4096, 0}, {108, 848, 20560, 0, 0, 0, 0}, {8, 34, 4672, 5397, 0, 0, 0}, {8, 34, 790, 68, 1024, 4352, 0}, {160, 3935, 12384, 20480, 0, 0, 0}, {160, 3840, 12288, 20480, 0, 0, 0}, {8, 34, 771, 68, 1028, 4369, 0}, {8, 34, 4608, 5376, 0, 0, 0}, {108, 771, 20560, 0, 0, 0, 0}, {32, 4864, 4100, 0, 0, 0, 0}, {12378, 21845, 0, 0, 0, 0, 0}, {780, 102, 21760, 0, 0, 0, 0}, {8, 32, 1799, 4176, 0, 0, 0}, {8, 32, 1792, 4096, 0, 0, 0}, {102, 771, 21845, 0, 0, 0, 0}, {170, 3840, 12288, 21760, 0, 0, 0}, {8, 32, 771, 68, 1028, 4112, 0}, {780, 864, 20480, 0, 0, 0, 0}, {8, 34, 1799, 5461, 0, 0, 0}, {8, 34, 772, 68, 1028, 4352, 0}, {160, 3855, 12368, 20560, 0, 0, 0}, {128, 3952, 12336, 16448, 0, 0, 0}, {10, 34, 785, 68, 1297, 4369, 0}, {10, 34, 4626, 1360, 0, 0, 0}, {76, 819, 16384, 0, 0, 0, 0}, {828, 13056, 68, 0, 0, 0, 0}, {10, 32, 4160, 5397, 0, 0, 0}, {4118, 4176, 5376, 0, 0, 0, 0}, {18239, 30583, 0, 0, 0, 0, 0}, {18504, 18224, 0, 0, 0, 0, 0}, {1299, 1365, 4096, 0, 0, 0, 0}, {10, 32, 1360, 4112, 0, 0, 0}, {3072, 819, 68, 0, 0, 0, 0}, {76, 880, 16384, 0, 0, 0, 0}, {10, 34, 5911, 1365, 0, 0, 0}, {10, 34, 788, 68, 1300, 4352, 0}, {128, 3967, 12352, 16448, 0, 0, 0}, {12480, 3840, 0, 0, 0, 0, 0}, {2, 261, 4369, 0, 0, 0, 0}, {2, 4160, 1280, 0, 0, 0, 0}, {783, 13107, 0, 0, 0, 0, 0}, {8, 768, 68, 1024, 0, 0, 0}, {10, 12336, 1285, 0, 0, 0, 0}, {10, 102, 768, 1280, 0, 0, 0}, {8, 1799, 16448, 0, 0, 0, 0}, {8, 1792, 16448, 0, 0, 0, 0}, {10, 102, 773, 1285, 0, 0, 0}, {10, 12384, 1280, 0, 0, 0, 0}, {8, 775, 68, 1024, 0, 0, 0}, {204, 768, 0, 0, 0, 0, 0}, {2, 1285, 4112, 0, 0, 0, 0}, {2, 68, 256, 0, 0, 0, 0}, {3855, 12336, 0, 0, 0, 0, 0}, {7936, 32, 4176, 0, 0, 0, 0}, {797, 34, 68, 4369, 0, 0, 0}, {4698, 34, 21760, 0, 0, 0, 0}, {4108, 32, 4883, 4160, 0, 0, 0}, {792, 816, 68, 5140, 0, 0, 0}, {42, 12288, 5461, 0, 0, 0, 0}, {5388, 5414, 5654, 5440, 0, 0, 0}, {5983, 6007, 20480, 0, 0, 0, 0}, {40, 5888, 20560, 0, 0, 0, 0}, {76, 102, 789, 5397, 0, 0, 0}, {42, 12400, 5376, 0, 0, 0, 0}, {40, 791, 68, 5120, 0, 0, 0}, {76, 32, 784, 4112, 0, 0, 0}, {34, 4608, 21845, 0, 0, 0, 0}, {34, 786, 68, 4352, 0, 0, 0}, {3935, 32, 4096, 0, 0, 0, 0}, {3840, 32, 4160, 0, 0, 0, 0}, {783, 34, 68, 4369, 0, 0, 0}, {4680, 34, 21760, 0, 0, 0, 0}, {4124, 32, 4883, 4176, 0, 0, 0}, {40, 768, 68, 5120, 0, 0, 0}, {42, 12336, 5397, 0, 0, 0, 0}, {76, 102, 768, 5376, 0, 0, 0}, {40, 5911, 20560, 0, 0, 0, 0}, {5960, 5984, 20480, 0, 0, 0, 0}, {5401, 5427, 5654, 5461, 0, 0, 0}, {42, 9472, 5440, 0, 0, 0, 0}, {783, 807, 68, 5140, 0, 0, 0}, {76, 32, 768, 4096, 0, 0, 0}, {34, 4626, 21845, 0, 0, 0, 0}, {34, 768, 68, 4352, 0, 0, 0}, {3855, 32, 4112, 0, 0, 0, 0}, {12528, 16128, 0, 0, 0, 0, 0}, {2, 277, 4369, 0, 0, 0, 0}, {2, 4176, 5376, 0, 0, 0, 0}, {831, 13107, 0, 0, 0, 0, 0}, {8, 816, 68, 1028, 0, 0, 0}, {10, 12288, 1365, 0, 0, 0, 0}, {10, 1334, 1542, 1360, 0, 0, 0}, {8, 1911, 16384, 0, 0, 0, 0}, {8, 1904, 16384, 0, 0, 0, 0}, {10, 1331, 1542, 1365, 0, 0, 0}, {10, 13568, 1360, 0, 0, 0, 0}, {8, 823, 68, 1028, 0, 0, 0}, {3084, 816, 0, 0, 0, 0, 0}, {2, 1365, 4096, 0, 0, 0, 0}, {2, 1028, 272, 0, 0, 0, 0}, {4095, 12288, 0, 0, 0, 0, 0}, {8192, 20480, 0, 0, 0, 0, 0}, {12, 17, 257, 0, 0, 0, 0}, {20490, 34, 514, 0, 0, 0, 0}, {4099, 16384, 0, 0, 0, 0, 0}, {12288, 4100, 0, 0, 0, 0, 0}, {8202, 85, 1285, 0, 0, 0, 0}, {4102, 16384, 0, 0, 0, 0, 0}, {20495, 119, 1799, 0, 0, 0, 0}, {8200, 20480, 0, 0, 0, 0, 0}, {51, 771, 4101, 0, 0, 0, 0}, {20490, 28672, 0, 0, 0, 0, 0}, {4103, 68, 1028, 0, 0, 0, 0}, {12, 4096, 0, 0, 0, 0, 0}, {34, 514, 85, 1285, 0, 0, 0}, {4098, 68, 1028, 0, 0, 0, 0}, {20495, 8192, 0, 0, 0, 0, 0}, {192, 4112, 0, 0, 0, 0, 0}, {512, 1280, 17, 0, 0, 0, 0}, {4114, 16384, 0, 0, 0, 0, 0}, {20575, 51, 4883, 0, 0, 0, 0}, {8232, 68, 5140, 0, 0, 0, 0}, {12288, 4117, 0, 0, 0, 0, 0}, {20570, 102, 5654, 0, 0, 0, 0}, {4119, 16384, 0, 0, 0, 0, 0}, {4120, 12336, 4176, 0, 0, 0, 0}, {4889, 51, 85, 1280, 0, 0, 0}, {4122, 4208, 16448, 0, 0, 0, 0}, {5147, 51, 1792, 68, 0, 0, 0}, {204, 7196, 8224, 20560, 0, 0, 0}, {29, 34, 512, 85, 1280, 4096, 0}, {5150, 34, 512, 68, 0, 0, 0}, {4127, 4128, 16448, 0, 0, 0, 0}, {20640, 8224, 0, 0, 0, 0, 0}, {259, 1024, 17, 0, 0, 0, 0}, {34, 512, 20480, 0, 0, 0, 0}, {12, 51, 771, 4112, 0, 0, 0}, {12, 4132, 68, 1024, 0, 0, 0}, {1295, 9509, 85, 0, 0, 0, 0}, {12, 4134, 1536, 4160, 0, 0, 0}, {1807, 119, 20560, 0, 0, 0, 0}, {20520, 28672, 0, 0, 0, 0, 0}, {4118, 85, 5397, 0, 0, 0, 0}, {8234, 20480, 0, 0, 0, 0, 0}, {51, 771, 4116, 0, 0, 0, 0}, {12, 4128, 16448, 0, 0, 0, 0}, {1295, 34, 512, 85, 0, 0, 0}, {12, 34, 512, 68, 1024, 4096, 0}, {255, 3855, 8224, 20560, 0, 0, 0}, {4144, 16384, 0, 0, 0, 0, 0}, {1290, 514, 17, 0, 0, 0, 0}, {72, 34, 514, 4112, 0, 0, 0}, {51, 4864, 20480, 0, 0, 0, 0}, {5180, 13364, 68, 0, 0, 0, 0}, {4106, 4149, 85, 5376, 0, 0, 0}, {5722, 102, 20560, 0, 0, 0, 0}, {4104, 4151, 5888, 4160, 0, 0, 0}, {72, 4208, 16448, 0, 0, 0, 0}, {1290, 51, 5632, 85, 0, 0, 0}, {4154, 12336, 4176, 0, 0, 0, 0}, {4872, 51, 68, 5120, 0, 0, 0}, {20540, 8192, 0, 0, 0, 0, 0}, {4098, 85, 5397, 0, 0, 0, 0}, {34, 514, 68, 5140, 0, 0, 0}, {63, 4096, 0, 0, 0, 0, 0}, {12288, 4160, 0, 0, 0, 0, 0}, {522, 1285, 17, 0, 0, 0, 0}, {4162, 16384, 0, 0, 0, 0, 0}, {20495, 51, 17219, 0, 0, 0, 0}, {8192, 68, 5120, 0, 0, 0, 0}, {63, 85, 1285, 4112, 0, 0, 0}, {20490, 102, 17990, 0, 0, 0, 0}, {4167, 16384, 0, 0, 0, 0, 0}, {72, 4096, 0, 0, 0, 0, 0}, {51, 4883, 85, 1285, 0, 0, 0}, {4170, 4128, 16448, 0, 0, 0, 0}, {5135, 51, 4864, 68, 0, 0, 0}, {8268, 20480, 0, 0, 0, 0, 0}, {34, 4626, 4101, 0, 0, 0, 0}, {5130, 34, 5632, 68, 0, 0, 0}, {4175, 4208, 16448, 0, 0, 0, 0}, {8352, 20560, 0, 0, 0, 0, 0}, {768, 260, 17, 0, 0, 0, 0}, {20570, 34, 21074, 0, 0, 0, 0}, {4179, 16384, 0, 0, 0, 0, 0}, {12, 68, 1028, 4112, 0, 0, 0}, {8192, 85, 1280, 0, 0, 0, 0}, {4182, 16384, 0, 0, 0, 0, 0}, {20575, 119, 22359, 0, 0, 0, 0}, {136, 2056, 8224, 20560, 0, 0, 0}, {12, 51, 768, 85, 1280, 4096, 0}, {20570, 8192, 0, 0, 0, 0, 0}, {4115, 68, 1028, 0, 0, 0, 0}, {12, 12336, 4176, 0, 0, 0, 0}, {520, 34, 85, 1280, 0, 0, 0}, {4118, 68, 1028, 0, 0, 0, 0}, {20575, 28672, 0, 0, 0, 0, 0}, {4192, 16384, 0, 0, 0, 0, 0}, {1295, 1799, 17, 0, 0, 0, 0}, {4104, 34, 4608, 4160, 0, 0, 0}, {4959, 51, 20560, 0, 0, 0, 0}, {5160, 8224, 68, 0, 0, 0, 0}, {4111, 4144, 85, 5376, 0, 0, 0}, {102, 5632, 20480, 0, 0, 0, 0}, {72, 119, 1799, 4112, 0, 0, 0}, {72, 4128, 16448, 0, 0, 0, 0}, {1295, 51, 4864, 85, 0, 0, 0}, {106, 4096, 0, 0, 0, 0, 0}, {51, 4883, 68, 5140, 0, 0, 0}, {20588, 28672, 0, 0, 0, 0, 0}, {4103, 85, 5397, 0, 0, 0, 0}, {520, 34, 68, 5120, 0, 0, 0}, {63, 12336, 4176, 0, 0, 0, 0}, {20720, 28784, 0, 0, 0, 0, 0}, {262, 1024, 17, 0, 0, 0, 0}, {522, 34, 20560, 0, 0, 0, 0}, {12, 51, 768, 4160, 0, 0, 0}, {12, 4144, 68, 1024, 0, 0, 0}, {1290, 8224, 85, 0, 0, 0, 0}, {12, 102, 1542, 4112, 0, 0, 0}, {119, 1792, 20480, 0, 0, 0, 0}, {20600, 8192, 0, 0, 0, 0, 0}, {4115, 85, 5397, 0, 0, 0, 0}, {170, 2570, 8224, 20560, 0, 0, 0}, {12, 51, 768, 68, 1024, 4096, 0}, {12, 4208, 16448, 0, 0, 0, 0}, {1290, 34, 1792, 85, 0, 0, 0}, {34, 4626, 4116, 0, 0, 0, 0}, {8319, 20480, 0, 0, 0, 0, 0}, {8320, 20480, 0, 0, 0, 0, 0}, {771, 261, 17, 0, 0, 0, 0}, {20490, 34, 20992, 0, 0, 0, 0}, {4163, 16448, 0, 0, 0, 0, 0}, {12, 68, 1024, 4096, 0, 0, 0}, {8224, 85, 1285, 0, 0, 0, 0}, {4166, 16448, 0, 0, 0, 0, 0}, {20495, 119, 22272, 0, 0, 0, 0}, {136, 2048, 8192, 20480, 0, 0, 0}, {12, 51, 771, 85, 1285, 4112, 0}, {20490, 8224, 0, 0, 0, 0, 0}, {4099, 68, 1024, 0, 0, 0, 0}, {12, 12288, 4160, 0, 0, 0, 0}, {522, 34, 85, 1285, 0, 0, 0}, {4102, 68, 1024, 0, 0, 0, 0}, {20495, 28784, 0, 0, 0, 0, 0}, {12336, 4176, 0, 0, 0, 0, 0}, {520, 1280, 17, 0, 0, 0, 0}, {4178, 16448, 0, 0, 0, 0, 0}, {20575, 51, 17152, 0, 0, 0, 0}, {8224, 68, 5140, 0, 0, 0, 0}, {63, 85, 1280, 4096, 0, 0, 0}, {20570, 102, 17920, 0, 0, 0, 0}, {4183, 16448, 0, 0, 0, 0, 0}, {72, 4112, 0, 0, 0, 0, 0}, {51, 4864, 85, 1280, 0, 0, 0}, {4186, 4144, 16384, 0, 0, 0, 0}, {5147, 51, 4883, 68, 0, 0, 0}, {8300, 20560, 0, 0, 0, 0, 0}, {34, 4608, 4117, 0, 0, 0, 0}, {5150, 34, 5654, 68, 0, 0, 0}, {4191, 4192, 16384, 0, 0, 0, 0}, {20640, 28672, 0, 0, 0, 0, 0}, {263, 1028, 17, 0, 0, 0, 0}, {520, 34, 20480, 0, 0, 0, 0}, {12, 51, 771, 4176, 0, 0, 0}, {12, 4128, 68, 1028, 0, 0, 0}, {1295, 8192, 85, 0, 0, 0, 0}, {12, 102, 1536, 4096, 0, 0, 0}, {119, 1799, 20560, 0, 0, 0, 0}, {20520, 8224, 0, 0, 0, 0, 0}, {4099, 85, 5376, 0, 0, 0, 0}, {170, 2560, 8192, 20480, 0, 0, 0}, {12, 51, 771, 68, 1028, 4112, 0}, {12, 4192, 16384, 0, 0, 0, 0}, {1295, 34, 1799, 85, 0, 0, 0}, {34, 4608, 4100, 0, 0, 0, 0}, {8287, 20560, 0, 0, 0, 0, 0}, {4208, 16448, 0, 0, 0, 0, 0}, {1290, 1792, 17, 0, 0, 0, 0}, {4120, 34, 4626, 4176, 0, 0, 0}, {4940, 51, 20480, 0, 0, 0, 0}, {5180, 8192, 68, 0, 0, 0, 0}, {4127, 4128, 85, 5397, 0, 0, 0}, {102, 5654, 20560, 0, 0, 0, 0}, {72, 119, 1792, 4096, 0, 0, 0}, {72, 4144, 16384, 0, 0, 0, 0}, {1290, 51, 4883, 85, 0, 0, 0}, {106, 4112, 0, 0, 0, 0, 0}, {51, 4864, 68, 5120, 0, 0, 0}, {20540, 28784, 0, 0, 0, 0, 0}, {4119, 85, 5376, 0, 0, 0, 0}, {522, 34, 68, 5140, 0, 0, 0}, {63, 12288, 4160, 0, 0, 0, 0}, {192, 4096, 0, 0, 0, 0, 0}, {514, 1285, 17, 0, 0, 0, 0}, {4098, 16448, 0, 0, 0, 0, 0}, {20495, 51, 4864, 0, 0, 0, 0}, {8200, 68, 5120, 0, 0, 0, 0}, {12336, 4101, 0, 0, 0, 0, 0}, {20490, 102, 5632, 0, 0, 0, 0}, {4103, 16448, 0, 0, 0, 0, 0}, {4104, 12288, 4160, 0, 0, 0, 0}, {4874, 51, 85, 1285, 0, 0, 0}, {4106, 4192, 16384, 0, 0, 0, 0}, {5135, 51, 1799, 68, 0, 0, 0}, {204, 7168, 8192, 20480, 0, 0, 0}, {29, 34, 514, 85, 1285, 4112, 0}, {5130, 34, 514, 68, 0, 0, 0}, {4111, 4144, 16384, 0, 0, 0, 0}, {8224, 20560, 0, 0, 0, 0, 0}, {12, 17, 256, 0, 0, 0, 0}, {20570, 34, 512, 0, 0, 0, 0}, {4115, 16448, 0, 0, 0, 0, 0}, {12336, 4116, 0, 0, 0, 0, 0}, {8234, 85, 1280, 0, 0, 0, 0}, {4118, 16448, 0, 0, 0, 0, 0}, {20575, 119, 1792, 0, 0, 0, 0}, {8232, 20560, 0, 0, 0, 0, 0}, {51, 768, 4117, 0, 0, 0, 0}, {20570, 28784, 0, 0, 0, 0, 0}, {4119, 68, 1024, 0, 0, 0, 0}, {12, 4112, 0, 0, 0, 0, 0}, {34, 512, 85, 1280, 0, 0, 0}, {4114, 68, 1024, 0, 0, 0, 0}, {20575, 8224, 0, 0, 0, 0, 0}, {4128, 16448, 0, 0, 0, 0, 0}, {1295, 512, 17, 0, 0, 0, 0}, {72, 34, 512, 4096, 0, 0, 0}, {51, 4883, 20560, 0, 0, 0, 0}, {5160, 13312, 68, 0, 0, 0, 0}, {4122, 4133, 85, 5397, 0, 0, 0}, {5708, 102, 20480, 0, 0, 0, 0}, {4120, 4135, 5911, 4176, 0, 0, 0}, {72, 4192, 16384, 0, 0, 0, 0}, {1295, 51, 5654, 85, 0, 0, 0}, {4138, 12288, 4160, 0, 0, 0, 0}, {4891, 51, 68, 5140, 0, 0, 0}, {20588, 8224, 0, 0, 0, 0, 0}, {4114, 85, 5376, 0, 0, 0, 0}, {34, 512, 68, 5120, 0, 0, 0}, {63, 4112, 0, 0, 0, 0, 0}, {20720, 8192, 0, 0, 0, 0, 0}, {258, 1028, 17, 0, 0, 0, 0}, {34, 514, 20560, 0, 0, 0, 0}, {12, 51, 768, 4096, 0, 0, 0}, {12, 4148, 68, 1028, 0, 0, 0}, {1290, 9472, 85, 0, 0, 0, 0}, {12, 4150, 1542, 4176, 0, 0, 0}, {1800, 119, 20480, 0, 0, 0, 0}, {20600, 28784, 0, 0, 0, 0, 0}, {4102, 85, 5376, 0, 0, 0, 0}, {8202, 20560, 0, 0, 0, 0, 0}, {51, 768, 4100, 0, 0, 0, 0}, {12, 4144, 16384, 0, 0, 0, 0}, {1290, 34, 514, 85, 0, 0, 0}, {12, 34, 514, 68, 1028, 4112, 0}, {255, 3840, 8192, 20480, 0, 0, 0}, {3072, 4352, 0, 0, 0, 0, 0}, {32, 80, 257, 0, 0, 0, 0}, {4354, 16384, 0, 0, 0, 0, 0}, {21775, 4403, 771, 0, 0, 0, 0}, {8712, 4420, 1028, 0, 0, 0, 0}, {12288, 4357, 0, 0, 0, 0, 0}, {21770, 4454, 1542, 0, 0, 0, 0}, {4359, 16384, 0, 0, 0, 0, 0}, {4360, 13056, 5376, 0, 0, 0, 0}, {4409, 771, 80, 1285, 0, 0, 0}, {4362, 5888, 17408, 0, 0, 0, 0}, {4427, 112, 771, 1028, 0, 0, 0}, {4556, 3084, 8704, 21760, 0, 0, 0}, {269, 32, 514, 80, 1285, 4096, 0}, {4430, 32, 514, 1028, 0, 0, 0}, {4367, 4608, 17408, 0, 0, 0, 0}, {512, 1280, 272, 0, 0, 0, 0}, {3276, 4369, 0, 0, 0, 0, 0}, {21850, 4386, 4626, 0, 0, 0, 0}, {4371, 16384, 0, 0, 0, 0, 0}, {12288, 4372, 0, 0, 0, 0, 0}, {8746, 4437, 5397, 0, 0, 0, 0}, {4374, 16384, 0, 0, 0, 0, 0}, {21855, 4471, 5911, 0, 0, 0, 0}, {4632, 816, 80, 1280, 0, 0, 0}, {4377, 13107, 5461, 0, 0, 0, 0}, {5402, 1072, 1792, 1088, 0, 0, 0}, {4379, 6007, 17476, 0, 0, 0, 0}, {284, 32, 512, 80, 1280, 4096, 0}, {4573, 7453, 8738, 21845, 0, 0, 0}, {4382, 4642, 17476, 0, 0, 0, 0}, {5407, 32, 512, 1088, 0, 0, 0}, {32, 512, 1024, 4352, 0, 0, 0}, {240, 771, 4369, 0, 0, 0, 0}, {3072, 4386, 0, 0, 0, 0, 0}, {259, 80, 4112, 0, 0, 0, 0}, {1548, 9252, 4420, 0, 0, 0, 0}, {783, 4389, 4437, 1024, 0, 0, 0}, {1036, 4454, 16448, 0, 0, 0, 0}, {1295, 4391, 1536, 80, 0, 0, 0}, {4392, 1536, 21760, 0, 0, 0, 0}, {4377, 112, 771, 5397, 0, 0, 0}, {4394, 13056, 1024, 0, 0, 0, 0}, {4379, 771, 80, 5140, 0, 0, 0}, {1036, 32, 512, 5440, 0, 0, 0}, {783, 4642, 21845, 0, 0, 0, 0}, {4590, 3084, 8738, 17476, 0, 0, 0}, {271, 32, 512, 80, 1024, 4096, 0}, {3840, 816, 4352, 0, 0, 0, 0}, {32, 514, 1092, 4369, 0, 0, 0}, {274, 80, 4112, 0, 0, 0, 0}, {18432, 4403, 0, 0, 0, 0, 0}, {4616, 4404, 4420, 5376, 0, 0, 0}, {5951, 13621, 4437, 0, 0, 0, 0}, {1290, 4406, 5888, 80, 0, 0, 0}, {1096, 4471, 16448, 0, 0, 0, 0}, {4360, 5424, 5632, 5440, 0, 0, 0}, {5983, 1638, 21845, 0, 0, 0, 0}, {4362, 816, 80, 5120, 0, 0, 0}, {4411, 13107, 1092, 0, 0, 0, 0}, {4412, 4608, 21760, 0, 0, 0, 0}, {4445, 32, 514, 5397, 0, 0, 0}, {286, 32, 514, 80, 1044, 4096, 0}, {4607, 7487, 8704, 17408, 0, 0, 0}, {2048, 1088, 4352, 0, 0, 0, 0}, {819, 80, 1285, 4369, 0, 0, 0}, {21770, 4386, 16962, 0, 0, 0, 0}, {4419, 16384, 0, 0, 0, 0, 0}, {16128, 4420, 0, 0, 0, 0, 0}, {32, 277, 4112, 0, 0, 0, 0}, {4422, 16384, 0, 0, 0, 0, 0}, {21775, 4471, 18247, 0, 0, 0, 0}, {4488, 7496, 13056, 21760, 0, 0, 0}, {281, 32, 787, 80, 1285, 4096, 0}, {4362, 32, 4864, 1088, 0, 0, 0}, {4427, 819, 17476, 0, 0, 0, 0}, {4428, 8704, 5376, 0, 0, 0, 0}, {4397, 4626, 80, 1285, 0, 0, 0}, {4430, 1638, 17476, 0, 0, 0, 0}, {4367, 1072, 5632, 1088, 0, 0, 0}, {768, 80, 1280, 4352, 0, 0, 0}, {128, 1028, 4369, 0, 0, 0, 0}, {4434, 16384, 0, 0, 0, 0, 0}, {21855, 4403, 21331, 0, 0, 0, 0}, {32, 260, 4112, 0, 0, 0, 0}, {3072, 4437, 0, 0, 0, 0, 0}, {21850, 4454, 22102, 0, 0, 0, 0}, {4439, 16384, 0, 0, 0, 0, 0}, {264, 32, 768, 80, 1280, 4096, 0}, {4505, 3084, 13107, 21845, 0, 0, 0}, {4442, 768, 17408, 0, 0, 0, 0}, {4379, 32, 4883, 1028, 0, 0, 0}, {780, 4656, 80, 1280, 0, 0, 0}, {1032, 8738, 5461, 0, 0, 0, 0}, {4382, 112, 4626, 1028, 0, 0, 0}, {4447, 1536, 17408, 0, 0, 0, 0}, {2560, 1632, 4352, 0, 0, 0, 0}, {1076, 1799, 1092, 4369, 0, 0, 0}, {1096, 4386, 16448, 0, 0, 0, 0}, {1295, 4403, 4608, 80, 0, 0, 0}, {520, 32, 4420, 5376, 0, 0, 0}, {831, 12336, 4437, 0, 0, 0, 0}, {18432, 4454, 0, 0, 0, 0, 0}, {279, 80, 4112, 0, 0, 0, 0}, {4360, 32, 4864, 5440, 0, 0, 0}, {4698, 819, 21845, 0, 0, 0, 0}, {4522, 7530, 13056, 17408, 0, 0, 0}, {283, 32, 787, 80, 1044, 4096, 0}, {4460, 5888, 21760, 0, 0, 0, 0}, {4445, 112, 4626, 5397, 0, 0, 0}, {5418, 8738, 1092, 0, 0, 0, 0}, {4367, 4656, 80, 5120, 0, 0, 0}, {112, 768, 1024, 4352, 0, 0, 0}, {160, 1542, 4369, 0, 0, 0, 0}, {1290, 4386, 768, 80, 0, 0, 0}, {1036, 4403, 16448, 0, 0, 0, 0}, {780, 12336, 4420, 0, 0, 0, 0}, {522, 32, 4437, 1024, 0, 0, 0}, {262, 80, 4112, 0, 0, 0, 0}, {3072, 4471, 0, 0, 0, 0, 0}, {4472, 768, 21760, 0, 0, 0, 0}, {4377, 32, 4883, 5397, 0, 0, 0}, {266, 32, 768, 80, 1024, 4096, 0}, {4539, 3084, 13107, 17476, 0, 0, 0}, {1036, 5424, 1792, 5440, 0, 0, 0}, {1546, 6007, 21845, 0, 0, 0, 0}, {4382, 4626, 80, 5140, 0, 0, 0}, {4479, 8704, 1024, 0, 0, 0, 0}, {128, 1024, 4352, 0, 0, 0, 0}, {771, 80, 1285, 4369, 0, 0, 0}, {21770, 4386, 21248, 0, 0, 0, 0}, {4419, 16448, 0, 0, 0, 0, 0}, {3084, 4420, 0, 0, 0, 0, 0}, {32, 261, 4096, 0, 0, 0, 0}, {4422, 16448, 0, 0, 0, 0, 0}, {21775, 4471, 22016, 0, 0, 0, 0}, {4488, 3072, 13056, 21760, 0, 0, 0}, {265, 32, 771, 80, 1285, 4112, 0}, {4362, 32, 4864, 1024, 0, 0, 0}, {4427, 771, 17476, 0, 0, 0, 0}, {1036, 8704, 5440, 0, 0, 0, 0}, {783, 4642, 80, 1285, 0, 0, 0}, {4430, 1542, 17476, 0, 0, 0, 0}, {4367, 112, 4608, 1024, 0, 0, 0}, {816, 80, 1280, 4352, 0, 0, 0}, {2056, 1092, 4369, 0, 0, 0, 0}, {4434, 16448, 0, 0, 0, 0, 0}, {21855, 4403, 16896, 0, 0, 0, 0}, {32, 276, 4096, 0, 0, 0, 0}, {16191, 4437, 0, 0, 0, 0, 0}, {21850, 4454, 18176, 0, 0, 0, 0}, {4439, 16448, 0, 0, 0, 0, 0}, {280, 32, 784, 80, 1280, 4112, 0}, {4505, 7509, 13107, 21845, 0, 0, 0}, {4442, 816, 17408, 0, 0, 0, 0}, {4379, 32, 4883, 1092, 0, 0, 0}, {4412, 4608, 80, 1280, 0, 0, 0}, {4445, 8738, 5397, 0, 0, 0, 0}, {4382, 1076, 5654, 1092, 0, 0, 0}, {4447, 1632, 17408, 0, 0, 0, 0}, {160, 1536, 4352, 0, 0, 0, 0}, {112, 771, 1028, 4369, 0, 0, 0}, {1032, 4386, 16384, 0, 0, 0, 0}, {1295, 4403, 771, 80, 0, 0, 0}, {520, 32, 4420, 1028, 0, 0, 0}, {783, 12288, 4437, 0, 0, 0, 0}, {3084, 4454, 0, 0, 0, 0, 0}, {263, 80, 4096, 0, 0, 0, 0}, {4360, 32, 4864, 5376, 0, 0, 0}, {4457, 771, 21845, 0, 0, 0, 0}, {4522, 3072, 13056, 17408, 0, 0, 0}, {267, 32, 771, 80, 1028, 4112, 0}, {1548, 5984, 21760, 0, 0, 0, 0}, {1032, 5413, 1799, 5461, 0, 0, 0}, {4462, 8738, 1028, 0, 0, 0, 0}, {4367, 4608, 80, 5120, 0, 0, 0}, {1072, 1792, 1088, 4352, 0, 0, 0}, {2570, 1638, 4369, 0, 0, 0, 0}, {1290, 4386, 4626, 80, 0, 0, 0}, {1100, 4403, 16384, 0, 0, 0, 0}, {828, 12288, 4420, 0, 0, 0, 0}, {522, 32, 4437, 5397, 0, 0, 0}, {278, 80, 4096, 0, 0, 0, 0}, {18504, 4471, 0, 0, 0, 0, 0}, {4680, 816, 21760, 0, 0, 0, 0}, {4377, 32, 4883, 5461, 0, 0, 0}, {282, 32, 784, 80, 1040, 4112, 0}, {4539, 7543, 13107, 17476, 0, 0, 0}, {4428, 112, 4608, 5376, 0, 0, 0}, {4477, 5911, 21845, 0, 0, 0, 0}, {4382, 4642, 80, 5140, 0, 0, 0}, {5439, 8704, 1088, 0, 0, 0, 0}, {3264, 4352, 0, 0, 0, 0, 0}, {514, 1285, 273, 0, 0, 0, 0}, {4354, 16448, 0, 0, 0, 0, 0}, {21775, 4403, 4608, 0, 0, 0, 0}, {8712, 4420, 5376, 0, 0, 0, 0}, {12336, 4357, 0, 0, 0, 0, 0}, {21770, 4454, 5888, 0, 0, 0, 0}, {4359, 16448, 0, 0, 0, 0, 0}, {4360, 13056, 5440, 0, 0, 0, 0}, {4618, 819, 80, 1285, 0, 0, 0}, {4362, 5984, 17408, 0, 0, 0, 0}, {5391, 1076, 1799, 1092, 0, 0, 0}, {4556, 7424, 8704, 21760, 0, 0, 0}, {285, 32, 514, 80, 1285, 4112, 0}, {5386, 32, 514, 1092, 0, 0, 0}, {4367, 4656, 17408, 0, 0, 0, 0}, {32, 80, 256, 0, 0, 0, 0}, {3084, 4369, 0, 0, 0, 0, 0}, {21850, 4386, 768, 0, 0, 0, 0}, {4371, 16448, 0, 0, 0, 0, 0}, {12336, 4372, 0, 0, 0, 0, 0}, {8746, 4437, 1024, 0, 0, 0, 0}, {4374, 16448, 0, 0, 0, 0, 0}, {21855, 4471, 1536, 0, 0, 0, 0}, {4392, 768, 80, 1280, 0, 0, 0}, {4377, 13107, 5397, 0, 0, 0, 0}, {4442, 112, 768, 1024, 0, 0, 0}, {4379, 5911, 17476, 0, 0, 0, 0}, {268, 32, 512, 80, 1280, 4112, 0}, {4573, 3072, 8738, 21845, 0, 0, 0}, {4382, 4626, 17476, 0, 0, 0, 0}, {4447, 32, 512, 1024, 0, 0, 0}, {32, 512, 1088, 4352, 0, 0, 0}, {3855, 819, 4369, 0, 0, 0, 0}, {18504, 4386, 0, 0, 0, 0, 0}, {275, 80, 4096, 0, 0, 0, 0}, {5928, 13568, 4420, 0, 0, 0, 0}, {4634, 4389, 4437, 5397, 0, 0, 0}, {1100, 4454, 16384, 0, 0, 0, 0}, {1295, 4391, 5911, 80, 0, 0, 0}, {5960, 1632, 21760, 0, 0, 0, 0}, {4377, 5413, 5654, 5461, 0, 0, 0}, {4394, 13056, 1088, 0, 0, 0, 0}, {4379, 819, 80, 5140, 0, 0, 0}, {4428, 32, 512, 5376, 0, 0, 0}, {4397, 4626, 21845, 0, 0, 0, 0}, {4590, 7458, 8738, 17476, 0, 0, 0}, {287, 32, 512, 80, 1040, 4112, 0}, {240, 768, 4352, 0, 0, 0, 0}, {32, 514, 1028, 4369, 0, 0, 0}, {258, 80, 4096, 0, 0, 0, 0}, {3084, 4403, 0, 0, 0, 0, 0}, {780, 4404, 4420, 1028, 0, 0, 0}, {1546, 9216, 4437, 0, 0, 0, 0}, {1290, 4406, 1542, 80, 0, 0, 0}, {1032, 4471, 16384, 0, 0, 0, 0}, {4360, 112, 768, 5376, 0, 0, 0}, {4409, 1542, 21845, 0, 0, 0, 0}, {4362, 768, 80, 5120, 0, 0, 0}, {4411, 13107, 1028, 0, 0, 0, 0}, {780, 4656, 21760, 0, 0, 0, 0}, {1032, 32, 514, 5461, 0, 0, 0}, {270, 32, 514, 80, 1028, 4112, 0}, {4607, 3072, 8704, 17408, 0, 0, 0}, {23040, 8704, 0, 0, 0, 0, 0}, {19, 64, 257, 0, 0, 0, 0}, {32, 514, 20480, 0, 0, 0, 0}, {12, 51, 771, 4352, 0, 0, 0}, {12, 4612, 64, 1028, 0, 0, 0}, {95, 8789, 1285, 0, 0, 0, 0}, {12, 96, 4614, 5120, 0, 0, 0}, {127, 1799, 21760, 0, 0, 0, 0}, {21000, 28672, 0, 0, 0, 0, 0}, {4358, 4437, 1285, 0, 0, 0, 0}, {8714, 20480, 0, 0, 0, 0, 0}, {51, 771, 4356, 0, 0, 0, 0}, {12, 4608, 17408, 0, 0, 0, 0}, {95, 32, 514, 1285, 0, 0, 0}, {12, 32, 514, 64, 1028, 4096, 0}, {255, 3855, 8704, 21760, 0, 0, 0}, {32, 512, 64, 4112, 0, 0, 0}, {3840, 51, 4369, 0, 0, 0, 0}, {192, 4626, 0, 0, 0, 0, 0}, {19, 1280, 4352, 0, 0, 0, 0}, {108, 8772, 5140, 0, 0, 0, 0}, {63, 4629, 64, 5397, 0, 0, 0}, {76, 5654, 17408, 0, 0, 0, 0}, {95, 96, 4631, 1280, 0, 0, 0}, {4632, 96, 20560, 0, 0, 0, 0}, {4377, 51, 1792, 4437, 0, 0, 0}, {4634, 12336, 64, 0, 0, 0, 0}, {4379, 51, 4420, 1280, 0, 0, 0}, {5148, 32, 512, 5200, 0, 0, 0}, {4637, 4642, 21845, 0, 0, 0, 0}, {204, 7710, 8738, 17476, 0, 0, 0}, {31, 32, 512, 64, 1280, 4096, 0}, {32, 512, 20480, 0, 0, 0, 0}, {12, 51, 771, 4369, 0, 0, 0}, {23210, 8738, 0, 0, 0, 0, 0}, {259, 1024, 272, 0, 0, 0, 0}, {12, 5156, 1536, 5188, 0, 0, 0}, {1807, 1904, 21845, 0, 0, 0, 0}, {12, 4646, 64, 1024, 0, 0, 0}, {1295, 10023, 1360, 0, 0, 0, 0}, {8744, 20480, 0, 0, 0, 0, 0}, {51, 771, 4373, 0, 0, 0, 0}, {21034, 28672, 0, 0, 0, 0, 0}, {4375, 4420, 5140, 0, 0, 0, 0}, {12, 32, 512, 64, 1024, 4096, 0}, {255, 3855, 8738, 21845, 0, 0, 0}, {12, 4642, 17476, 0, 0, 0, 0}, {1295, 32, 512, 1360, 0, 0, 0}, {18432, 4656, 0, 0, 0, 0, 0}, {19, 1365, 4369, 0, 0, 0, 0}, {32, 514, 64, 4112, 0, 0, 0}, {3840, 51, 4352, 0, 0, 0, 0}, {76, 5744, 17476, 0, 0, 0, 0}, {1290, 1333, 5888, 1365, 0, 0, 0}, {5180, 13878, 5200, 0, 0, 0, 0}, {4616, 4663, 64, 5376, 0, 0, 0}, {4664, 12336, 64, 0, 0, 0, 0}, {4362, 51, 4437, 5120, 0, 0, 0}, {4698, 96, 20560, 0, 0, 0, 0}, {4360, 51, 5632, 4420, 0, 0, 0}, {204, 7740, 8704, 17408, 0, 0, 0}, {31, 32, 514, 64, 1301, 4096, 0}, {76, 32, 514, 5140, 0, 0, 0}, {63, 4608, 21760, 0, 0, 0, 0}, {4608, 64, 0, 0, 0, 0, 0}, {95, 51, 1285, 4369, 0, 0, 0}, {96, 4674, 20480, 0, 0, 0, 0}, {76, 51, 1859, 4352, 0, 0, 0}, {204, 7748, 8772, 17476, 0, 0, 0}, {31, 32, 533, 64, 1285, 4112, 0}, {76, 32, 582, 5120, 0, 0, 0}, {63, 4679, 21760, 0, 0, 0, 0}, {4680, 12288, 0, 0, 0, 0, 0}, {19, 4437, 1285, 0, 0, 0, 0}, {522, 32, 64, 4096, 0, 0, 0}, {3855, 51, 4420, 0, 0, 0, 0}, {76, 5632, 17408, 0, 0, 0, 0}, {95, 96, 4626, 1285, 0, 0, 0}, {5160, 8738, 5188, 0, 0, 0, 0}, {4623, 4656, 64, 5376, 0, 0, 0}, {160, 2560, 8704, 20560, 0, 0, 0}, {12, 51, 768, 64, 1028, 4369, 0}, {128, 21074, 0, 0, 0, 0, 0}, {83, 1280, 4352, 0, 0, 0, 0}, {12, 32, 516, 64, 1028, 4112, 0}, {255, 3840, 8789, 21845, 0, 0, 0}, {12, 4694, 17408, 0, 0, 0, 0}, {95, 32, 599, 1280, 0, 0, 0}, {520, 32, 20560, 0, 0, 0, 0}, {12, 51, 768, 4437, 0, 0, 0}, {8874, 23130, 0, 0, 0, 0, 0}, {19, 260, 4096, 0, 0, 0, 0}, {12, 5168, 1536, 5200, 0, 0, 0}, {1800, 1911, 21845, 0, 0, 0, 0}, {12, 4626, 64, 1028, 0, 0, 0}, {95, 8704, 1280, 0, 0, 0, 0}, {96, 4608, 20480, 0, 0, 0, 0}, {76, 51, 1799, 4369, 0, 0, 0}, {2056, 4642, 64, 0, 0, 0, 0}, {1295, 51, 1360, 4352, 0, 0, 0}, {5128, 32, 5632, 5188, 0, 0, 0}, {4698, 4709, 21845, 0, 0, 0, 0}, {204, 7782, 8806, 17408, 0, 0, 0}, {31, 32, 535, 64, 1296, 4112, 0}, {520, 32, 64, 4096, 0, 0, 0}, {3855, 51, 4437, 0, 0, 0, 0}, {4714, 12288, 0, 0, 0, 0, 0}, {19, 4420, 5140, 0, 0, 0, 0}, {108, 8704, 5120, 0, 0, 0, 0}, {63, 4626, 64, 5397, 0, 0, 0}, {76, 5734, 17476, 0, 0, 0, 0}, {1295, 1328, 5888, 1360, 0, 0, 0}, {2048, 21104, 0, 0, 0, 0, 0}, {1286, 1365, 4369, 0, 0, 0, 0}, {160, 2570, 8738, 20560, 0, 0, 0}, {12, 51, 768, 64, 1024, 4352, 0}, {12, 4724, 17476, 0, 0, 0, 0}, {1290, 32, 1792, 1365, 0, 0, 0}, {12, 32, 518, 64, 1024, 4112, 0}, {255, 3840, 8823, 21760, 0, 0, 0}, {8840, 30840, 0, 0, 0, 0, 0}, {19, 277, 4096, 0, 0, 0, 0}, {522, 32, 20560, 0, 0, 0, 0}, {12, 51, 768, 4420, 0, 0, 0}, {12, 4656, 64, 1024, 0, 0, 0}, {1290, 8738, 1365, 0, 0, 0, 0}, {12, 96, 4626, 5140, 0, 0, 0}, {127, 1792, 21760, 0, 0, 0, 0}, {128, 20992, 0, 0, 0, 0, 0}, {83, 1285, 4369, 0, 0, 0, 0}, {160, 2570, 8738, 20480, 0, 0, 0}, {12, 51, 771, 64, 1024, 4352, 0}, {12, 4676, 17476, 0, 0, 0, 0}, {95, 32, 597, 1285, 0, 0, 0}, {12, 32, 518, 64, 1024, 4096, 0}, {255, 3855, 8823, 21760, 0, 0, 0}, {8840, 23040, 0, 0, 0, 0, 0}, {19, 261, 4112, 0, 0, 0, 0}, {522, 32, 20480, 0, 0, 0, 0}, {12, 51, 771, 4420, 0, 0, 0}, {12, 4608, 64, 1024, 0, 0, 0}, {95, 8738, 1285, 0, 0, 0, 0}, {12, 5156, 1542, 5188, 0, 0, 0}, {1807, 1904, 21760, 0, 0, 0, 0}, {96, 4688, 20560, 0, 0, 0, 0}, {76, 51, 1860, 4369, 0, 0, 0}, {4626, 64, 0, 0, 0, 0, 0}, {95, 51, 1280, 4352, 0, 0, 0}, {76, 32, 580, 5140, 0, 0, 0}, {63, 4693, 21845, 0, 0, 0, 0}, {204, 7770, 8806, 17408, 0, 0, 0}, {31, 32, 535, 64, 1280, 4096, 0}, {520, 32, 64, 4112, 0, 0, 0}, {3840, 51, 4437, 0, 0, 0, 0}, {4698, 12336, 0, 0, 0, 0, 0}, {19, 4420, 1280, 0, 0, 0, 0}, {5180, 8704, 5200, 0, 0, 0, 0}, {4637, 4642, 64, 5397, 0, 0, 0}, {76, 5654, 17476, 0, 0, 0, 0}, {95, 96, 4608, 1280, 0, 0, 0}, {160, 2560, 8704, 20480, 0, 0, 0}, {12, 51, 771, 64, 1028, 4369, 0}, {2056, 21026, 0, 0, 0, 0, 0}, {1283, 1360, 4352, 0, 0, 0, 0}, {12, 32, 516, 64, 1028, 4096, 0}, {255, 3855, 8789, 21845, 0, 0, 0}, {12, 4710, 17408, 0, 0, 0, 0}, {1295, 32, 1799, 1360, 0, 0, 0}, {520, 32, 20480, 0, 0, 0, 0}, {12, 51, 771, 4437, 0, 0, 0}, {8874, 30720, 0, 0, 0, 0, 0}, {19, 276, 4112, 0, 0, 0, 0}, {12, 96, 4608, 5120, 0, 0, 0}, {127, 1799, 21845, 0, 0, 0, 0}, {12, 4642, 64, 1028, 0, 0, 0}, {1295, 8704, 1360, 0, 0, 0, 0}, {2048, 4656, 64, 0, 0, 0, 0}, {1290, 51, 1365, 4369, 0, 0, 0}, {96, 4626, 20560, 0, 0, 0, 0}, {76, 51, 1792, 4352, 0, 0, 0}, {204, 7800, 8772, 17476, 0, 0, 0}, {31, 32, 533, 64, 1301, 4096, 0}, {5148, 32, 5654, 5200, 0, 0, 0}, {4680, 4727, 21760, 0, 0, 0, 0}, {4728, 12336, 0, 0, 0, 0, 0}, {19, 4437, 5120, 0, 0, 0, 0}, {522, 32, 64, 4112, 0, 0, 0}, {3840, 51, 4420, 0, 0, 0, 0}, {76, 5744, 17408, 0, 0, 0, 0}, {1290, 1333, 5911, 1365, 0, 0, 0}, {108, 8738, 5140, 0, 0, 0, 0}, {63, 4608, 64, 5376, 0, 0, 0}, {192, 4608, 0, 0, 0, 0, 0}, {19, 1285, 4369, 0, 0, 0, 0}, {32, 514, 64, 4096, 0, 0, 0}, {3855, 51, 4352, 0, 0, 0, 0}, {76, 5632, 17476, 0, 0, 0, 0}, {95, 96, 4613, 1285, 0, 0, 0}, {108, 8806, 5120, 0, 0, 0, 0}, {63, 4615, 64, 5376, 0, 0, 0}, {4616, 12288, 64, 0, 0, 0, 0}, {4362, 51, 4437, 1285, 0, 0, 0}, {4618, 96, 20480, 0, 0, 0, 0}, {4360, 51, 1799, 4420, 0, 0, 0}, {204, 7680, 8704, 17408, 0, 0, 0}, {31, 32, 514, 64, 1285, 4112, 0}, {5128, 32, 514, 5188, 0, 0, 0}, {4623, 4656, 21760, 0, 0, 0, 0}, {32, 512, 20560, 0, 0, 0, 0}, {12, 51, 768, 4369, 0, 0, 0}, {23130, 8738, 0, 0, 0, 0, 0}, {19, 64, 256, 0, 0, 0, 0}, {12, 96, 4628, 5140, 0, 0, 0}, {127, 1792, 21845, 0, 0, 0, 0}, {12, 4630, 64, 1024, 0, 0, 0}, {95, 8823, 1280, 0, 0, 0, 0}, {8744, 20560, 0, 0, 0, 0, 0}, {51, 768, 4373, 0, 0, 0, 0}, {21082, 28784, 0, 0, 0, 0, 0}, {4375, 4420, 1280, 0, 0, 0, 0}, {12, 32, 512, 64, 1024, 4112, 0}, {255, 3840, 8738, 21845, 0, 0, 0}, {12, 4626, 17476, 0, 0, 0, 0}, {95, 32, 512, 1280, 0, 0, 0}, {32, 512, 64, 4096, 0, 0, 0}, {3855, 51, 4369, 0, 0, 0, 0}, {18504, 4642, 0, 0, 0, 0, 0}, {19, 1360, 4352, 0, 0, 0, 0}, {5160, 13824, 5188, 0, 0, 0, 0}, {4634, 4645, 64, 5397, 0, 0, 0}, {76, 5734, 17408, 0, 0, 0, 0}, {1295, 1328, 5911, 1360, 0, 0, 0}, {4680, 96, 20480, 0, 0, 0, 0}, {4377, 51, 5654, 4437, 0, 0, 0}, {4650, 12288, 64, 0, 0, 0, 0}, {4379, 51, 4420, 5140, 0, 0, 0}, {76, 32, 512, 5120, 0, 0, 0}, {63, 4626, 21845, 0, 0, 0, 0}, {204, 7714, 8738, 17476, 0, 0, 0}, {31, 32, 512, 64, 1296, 4112, 0}, {23280, 8704, 0, 0, 0, 0, 0}, {258, 1028, 273, 0, 0, 0, 0}, {32, 514, 20560, 0, 0, 0, 0}, {12, 51, 768, 4352, 0, 0, 0}, {12, 4660, 64, 1028, 0, 0, 0}, {1290, 9984, 1365, 0, 0, 0, 0}, {12, 5168, 1542, 5200, 0, 0, 0}, {1800, 1911, 21760, 0, 0, 0, 0}, {21112, 28784, 0, 0, 0, 0, 0}, {4358, 4437, 5120, 0, 0, 0, 0}, {8714, 20560, 0, 0, 0, 0, 0}, {51, 768, 4356, 0, 0, 0, 0}, {12, 4656, 17408, 0, 0, 0, 0}, {1290, 32, 514, 1365, 0, 0, 0}, {12, 32, 514, 64, 1028, 4112, 0}, {255, 3840, 8704, 21760, 0, 0, 0}, {4864, 16384, 0, 0, 0, 0, 0}, {90, 34, 257, 0, 0, 0, 0}, {1032, 34, 514, 4352, 0, 0, 0}, {4144, 771, 20480, 0, 0, 0, 0}, {4940, 13124, 1028, 0, 0, 0, 0}, {4106, 4869, 4176, 1285, 0, 0, 0}, {5482, 1542, 21760, 0, 0, 0, 0}, {4104, 4208, 4871, 5120, 0, 0, 0}, {1032, 5888, 17408, 0, 0, 0, 0}, {90, 4192, 771, 1285, 0, 0, 0}, {4874, 13056, 5376, 0, 0, 0, 0}, {4152, 771, 4160, 1028, 0, 0, 0}, {21260, 8192, 0, 0, 0, 0, 0}, {4098, 4437, 1285, 0, 0, 0, 0}, {34, 514, 4420, 1028, 0, 0, 0}, {783, 4096, 0, 0, 0, 0, 0}, {3840, 816, 4112, 0, 0, 0, 0}, {34, 512, 1092, 4369, 0, 0, 0}, {274, 1280, 4352, 0, 0, 0, 0}, {16512, 4883, 0, 0, 0, 0, 0}, {4136, 4884, 4176, 5140, 0, 0, 0}, {4991, 13141, 5397, 0, 0, 0, 0}, {90, 4208, 4886, 1280, 0, 0, 0}, {1096, 5911, 17408, 0, 0, 0, 0}, {4120, 1072, 1792, 5200, 0, 0, 0}, {4889, 1638, 21845, 0, 0, 0, 0}, {4122, 816, 4160, 1280, 0, 0, 0}, {4891, 13107, 1092, 0, 0, 0, 0}, {4892, 4128, 20560, 0, 0, 0, 0}, {5405, 34, 512, 4437, 0, 0, 0}, {286, 34, 512, 324, 1280, 4096, 0}, {5087, 7967, 8224, 16448, 0, 0, 0}, {3072, 4896, 0, 0, 0, 0, 0}, {259, 1365, 4369, 0, 0, 0, 0}, {34, 512, 1024, 4352, 0, 0, 0}, {240, 771, 4112, 0, 0, 0, 0}, {1036, 5984, 17476, 0, 0, 0, 0}, {1295, 5413, 1536, 1365, 0, 0, 0}, {1548, 9766, 5440, 0, 0, 0, 0}, {783, 4903, 4176, 1024, 0, 0, 0}, {4904, 13056, 1024, 0, 0, 0, 0}, {4122, 771, 4160, 5397, 0, 0, 0}, {5418, 1536, 21760, 0, 0, 0, 0}, {4120, 4192, 771, 5140, 0, 0, 0}, {5100, 3084, 8224, 16448, 0, 0, 0}, {271, 34, 512, 341, 1024, 4096, 0}, {1036, 34, 512, 4420, 0, 0, 0}, {783, 4128, 20560, 0, 0, 0, 0}, {4144, 4864, 20480, 0, 0, 0, 0}, {1100, 34, 514, 4369, 0, 0, 0}, {1290, 514, 272, 0, 0, 0, 0}, {4915, 16384, 0, 0, 0, 0, 0}, {4104, 1076, 5888, 5188, 0, 0, 0}, {4959, 1632, 21845, 0, 0, 0, 0}, {4106, 4918, 4176, 5376, 0, 0, 0}, {5951, 14135, 1088, 0, 0, 0, 0}, {4872, 816, 4160, 5120, 0, 0, 0}, {4921, 13107, 5461, 0, 0, 0, 0}, {1290, 5424, 5632, 1360, 0, 0, 0}, {1100, 6007, 17476, 0, 0, 0, 0}, {828, 4096, 0, 0, 0, 0, 0}, {34, 514, 4437, 5397, 0, 0, 0}, {4098, 4420, 5140, 0, 0, 0, 0}, {21311, 8192, 0, 0, 0, 0, 0}, {4992, 8000, 13056, 16448, 0, 0, 0}, {283, 34, 785, 321, 1285, 4369, 0}, {1096, 34, 1602, 4352, 0, 0, 0}, {4208, 4931, 20480, 0, 0, 0, 0}, {5888, 1092, 0, 0, 0, 0, 0}, {90, 869, 1285, 4112, 0, 0, 0}, {5418, 4934, 21760, 0, 0, 0, 0}, {4168, 4144, 839, 5120, 0, 0, 0}, {1096, 4864, 17408, 0, 0, 0, 0}, {90, 4128, 4883, 1285, 0, 0, 0}, {2570, 4896, 5440, 0, 0, 0, 0}, {1807, 819, 1092, 4096, 0, 0, 0}, {4940, 24576, 0, 0, 0, 0, 0}, {279, 4437, 1285, 0, 0, 0, 0}, {522, 34, 4420, 5376, 0, 0, 0}, {831, 12336, 4160, 0, 0, 0, 0}, {768, 4176, 0, 0, 0, 0, 0}, {520, 34, 1028, 4369, 0, 0, 0}, {338, 1280, 4352, 0, 0, 0, 0}, {16576, 21331, 0, 0, 0, 0, 0}, {780, 884, 1028, 4112, 0, 0, 0}, {1536, 5461, 0, 0, 0, 0, 0}, {90, 4144, 854, 1280, 0, 0, 0}, {1032, 4951, 17408, 0, 0, 0, 0}, {1032, 4128, 768, 5200, 0, 0, 0}, {1548, 4915, 21845, 0, 0, 0, 0}, {90, 768, 1280, 4096, 0, 0, 0}, {136, 4883, 1028, 0, 0, 0, 0}, {780, 4192, 20560, 0, 0, 0, 0}, {1032, 34, 1536, 4437, 0, 0, 0}, {34, 4626, 260, 0, 0, 0, 0}, {4959, 16384, 0, 0, 0, 0, 0}, {19456, 21344, 0, 0, 0, 0, 0}, {1046, 1365, 4369, 0, 0, 0, 0}, {520, 34, 1088, 4352, 0, 0, 0}, {3855, 819, 4176, 0, 0, 0, 0}, {1100, 4964, 17476, 0, 0, 0, 0}, {1295, 4144, 5632, 1365, 0, 0, 0}, {4966, 5376, 0, 0, 0, 0, 0}, {1080, 1799, 1088, 4112, 0, 0, 0}, {2056, 4896, 1088, 0, 0, 0, 0}, {1295, 819, 1365, 4096, 0, 0, 0}, {5482, 4864, 21760, 0, 0, 0, 0}, {4184, 4128, 4883, 5140, 0, 0, 0}, {4972, 16384, 0, 0, 0, 0, 0}, {34, 4626, 277, 0, 0, 0, 0}, {5384, 34, 5888, 4420, 0, 0, 0}, {4959, 4192, 20560, 0, 0, 0, 0}, {4208, 768, 20480, 0, 0, 0, 0}, {1036, 34, 1542, 4369, 0, 0, 0}, {266, 34, 768, 336, 1024, 4352, 0}, {5043, 3084, 13107, 16448, 0, 0, 0}, {1036, 4144, 1792, 5188, 0, 0, 0}, {1546, 4981, 21845, 0, 0, 0, 0}, {1290, 1542, 1360, 4112, 0, 0, 0}, {4983, 1024, 0, 0, 0, 0, 0}, {120, 768, 1024, 4096, 0, 0, 0}, {170, 4883, 5397, 0, 0, 0, 0}, {1290, 4128, 768, 1360, 0, 0, 0}, {1036, 4915, 17476, 0, 0, 0, 0}, {780, 12336, 4160, 0, 0, 0, 0}, {522, 34, 4437, 1024, 0, 0, 0}, {262, 4420, 5140, 0, 0, 0, 0}, {4991, 24576, 0, 0, 0, 0, 0}, {16512, 21248, 0, 0, 0, 0, 0}, {339, 1285, 4369, 0, 0, 0, 0}, {522, 34, 1024, 4352, 0, 0, 0}, {771, 4160, 0, 0, 0, 0, 0}, {1036, 4932, 17476, 0, 0, 0, 0}, {90, 4128, 853, 1285, 0, 0, 0}, {1542, 5440, 0, 0, 0, 0, 0}, {783, 887, 1024, 4096, 0, 0, 0}, {136, 4864, 1024, 0, 0, 0, 0}, {90, 771, 1285, 4112, 0, 0, 0}, {1546, 4896, 21760, 0, 0, 0, 0}, {1036, 4144, 771, 5188, 0, 0, 0}, {4940, 16448, 0, 0, 0, 0, 0}, {34, 4608, 261, 0, 0, 0, 0}, {1036, 34, 1542, 4420, 0, 0, 0}, {783, 4208, 20480, 0, 0, 0, 0}, {4192, 4944, 20560, 0, 0, 0, 0}, {1100, 34, 1604, 4369, 0, 0, 0}, {282, 34, 786, 320, 1280, 4352, 0}, {5011, 8031, 13107, 16384, 0, 0, 0}, {4184, 4128, 836, 5140, 0, 0, 0}, {5439, 4949, 21845, 0, 0, 0, 0}, {90, 870, 1280, 4096, 0, 0, 0}, {5911, 1088, 0, 0, 0, 0, 0}, {1800, 816, 1088, 4112, 0, 0, 0}, {2560, 4915, 5461, 0, 0, 0, 0}, {90, 4144, 4864, 1280, 0, 0, 0}, {1100, 4883, 17476, 0, 0, 0, 0}, {828, 12288, 4176, 0, 0, 0, 0}, {520, 34, 4437, 5397, 0, 0, 0}, {278, 4420, 1280, 0, 0, 0, 0}, {4959, 24672, 0, 0, 0, 0, 0}, {5024, 3072, 13056, 16384, 0, 0, 0}, {267, 34, 771, 337, 1028, 4369, 0}, {1032, 34, 1536, 4352, 0, 0, 0}, {4192, 771, 20560, 0, 0, 0, 0}, {4964, 1028, 0, 0, 0, 0, 0}, {1295, 1536, 1365, 4096, 0, 0, 0}, {1548, 4966, 21760, 0, 0, 0, 0}, {1032, 4128, 1799, 5200, 0, 0, 0}, {1032, 4896, 17408, 0, 0, 0, 0}, {1295, 4144, 771, 1365, 0, 0, 0}, {170, 4864, 5376, 0, 0, 0, 0}, {120, 771, 1028, 4112, 0, 0, 0}, {4972, 24672, 0, 0, 0, 0, 0}, {263, 4437, 5120, 0, 0, 0, 0}, {520, 34, 4420, 1028, 0, 0, 0}, {783, 12288, 4176, 0, 0, 0, 0}, {3840, 816, 4160, 0, 0, 0, 0}, {522, 34, 1092, 4369, 0, 0, 0}, {1042, 1360, 4352, 0, 0, 0, 0}, {19532, 21299, 0, 0, 0, 0, 0}, {1084, 1792, 1092, 4096, 0, 0, 0}, {4981, 5397, 0, 0, 0, 0, 0}, {1290, 4128, 5654, 1360, 0, 0, 0}, {1096, 4983, 17408, 0, 0, 0, 0}, {4168, 4144, 4864, 5120, 0, 0, 0}, {5503, 4883, 21845, 0, 0, 0, 0}, {1290, 816, 1360, 4112, 0, 0, 0}, {2048, 4915, 1092, 0, 0, 0, 0}, {4940, 4208, 20480, 0, 0, 0, 0}, {5405, 34, 5911, 4437, 0, 0, 0}, {34, 4608, 276, 0, 0, 0, 0}, {4991, 16448, 0, 0, 0, 0, 0}, {16576, 4864, 0, 0, 0, 0, 0}, {275, 1285, 4369, 0, 0, 0, 0}, {34, 514, 1088, 4352, 0, 0, 0}, {3855, 819, 4096, 0, 0, 0, 0}, {1100, 5888, 17476, 0, 0, 0, 0}, {90, 4192, 4869, 1285, 0, 0, 0}, {4972, 13158, 5376, 0, 0, 0, 0}, {4152, 4871, 4160, 5120, 0, 0, 0}, {4872, 13056, 1088, 0, 0, 0, 0}, {4106, 819, 4176, 1285, 0, 0, 0}, {4874, 1632, 21760, 0, 0, 0, 0}, {4104, 1076, 1799, 5188, 0, 0, 0}, {5068, 7936, 8192, 16384, 0, 0, 0}, {287, 34, 514, 325, 1285, 4112, 0}, {5384, 34, 514, 4420, 0, 0, 0}, {4879, 4144, 20480, 0, 0, 0, 0}, {4128, 768, 20560, 0, 0, 0, 0}, {1036, 34, 512, 4369, 0, 0, 0}, {90, 34, 256, 0, 0, 0, 0}, {4883, 16448, 0, 0, 0, 0, 0}, {4120, 4192, 4884, 5140, 0, 0, 0}, {5503, 1536, 21845, 0, 0, 0, 0}, {4122, 4886, 4160, 1280, 0, 0, 0}, {4959, 13175, 1024, 0, 0, 0, 0}, {4136, 768, 4176, 1024, 0, 0, 0}, {4889, 13107, 5397, 0, 0, 0, 0}, {90, 4208, 768, 1280, 0, 0, 0}, {1036, 5911, 17476, 0, 0, 0, 0}, {780, 4112, 0, 0, 0, 0, 0}, {34, 512, 4437, 1024, 0, 0, 0}, {4114, 4420, 1280, 0, 0, 0, 0}, {21343, 8224, 0, 0, 0, 0, 0}, {4896, 16448, 0, 0, 0, 0, 0}, {1295, 512, 273, 0, 0, 0, 0}, {1096, 34, 512, 4352, 0, 0, 0}, {4128, 4883, 20560, 0, 0, 0, 0}, {5928, 14080, 1092, 0, 0, 0, 0}, {4122, 4901, 4160, 5397, 0, 0, 0}, {4940, 1638, 21760, 0, 0, 0, 0}, {4120, 1072, 5911, 5200, 0, 0, 0}, {1096, 5984, 17408, 0, 0, 0, 0}, {1295, 5413, 5654, 1365, 0, 0, 0}, {4906, 13056, 5440, 0, 0, 0, 0}, {4891, 819, 4176, 5140, 0, 0, 0}, {21356, 8224, 0, 0, 0, 0, 0}, {4114, 4437, 5120, 0, 0, 0, 0}, {34, 512, 4420, 5376, 0, 0, 0}, {831, 4112, 0, 0, 0, 0, 0}, {240, 768, 4096, 0, 0, 0, 0}, {34, 514, 1028, 4369, 0, 0, 0}, {258, 1360, 4352, 0, 0, 0, 0}, {3084, 4915, 0, 0, 0, 0, 0}, {780, 4916, 4160, 1028, 0, 0, 0}, {1546, 9728, 5461, 0, 0, 0, 0}, {1290, 5424, 1542, 1360, 0, 0, 0}, {1032, 6007, 17408, 0, 0, 0, 0}, {4104, 4208, 768, 5120, 0, 0, 0}, {5439, 1542, 21845, 0, 0, 0, 0}, {4106, 768, 4176, 5376, 0, 0, 0}, {4923, 13107, 1028, 0, 0, 0, 0}, {780, 4144, 20480, 0, 0, 0, 0}, {1032, 34, 514, 4437, 0, 0, 0}, {270, 34, 514, 340, 1028, 4112, 0}, {5119, 3072, 8192, 16384, 0, 0, 0}, {12288, 5120, 0, 0, 0, 0, 0}, {42, 85, 257, 0, 0, 0, 0}, {5122, 16384, 0, 0, 0, 0, 0}, {20495, 17459, 771, 0, 0, 0, 0}, {8192, 4160, 1028, 0, 0, 0, 0}, {783, 85, 1285, 4352, 0, 0, 0}, {20490, 17510, 1542, 0, 0, 0, 0}, {5127, 16384, 0, 0, 0, 0, 0}, {1032, 4096, 0, 0, 0, 0, 0}, {4403, 771, 85, 1285, 0, 0, 0}, {5130, 4608, 17408, 0, 0, 0, 0}, {4175, 4144, 771, 1028, 0, 0, 0}, {9228, 20480, 0, 0, 0, 0, 0}, {4386, 514, 4101, 0, 0, 0, 0}, {4170, 4192, 514, 1028, 0, 0, 0}, {5135, 5888, 17408, 0, 0, 0, 0}, {2048, 1088, 4112, 0, 0, 0, 0}, {819, 85, 1280, 4369, 0, 0, 0}, {20570, 17442, 4626, 0, 0, 0, 0}, {5139, 16384, 0, 0, 0, 0, 0}, {12528, 5140, 0, 0, 0, 0, 0}, {512, 277, 4352, 0, 0, 0, 0}, {5142, 16384, 0, 0, 0, 0, 0}, {20575, 17527, 5911, 0, 0, 0, 0}, {5336, 6168, 12336, 20560, 0, 0, 0}, {281, 307, 512, 85, 1280, 4096, 0}, {4122, 4144, 512, 1088, 0, 0, 0}, {5147, 819, 17476, 0, 0, 0, 0}, {5148, 8224, 4176, 0, 0, 0, 0}, {4637, 4386, 85, 1280, 0, 0, 0}, {5150, 1638, 17476, 0, 0, 0, 0}, {4127, 5152, 1792, 1088, 0, 0, 0}, {4128, 1024, 0, 0, 0, 0, 0}, {1295, 771, 85, 4369, 0, 0, 0}, {5154, 1536, 20480, 0, 0, 0, 0}, {1036, 1139, 771, 4112, 0, 0, 0}, {5348, 3084, 9252, 17476, 0, 0, 0}, {271, 293, 512, 85, 1024, 4352, 0}, {1036, 1062, 512, 4160, 0, 0, 0}, {783, 5159, 20560, 0, 0, 0, 0}, {5160, 12288, 0, 0, 0, 0, 0}, {259, 85, 5397, 0, 0, 0, 0}, {42, 512, 1024, 4096, 0, 0, 0}, {255, 771, 5140, 0, 0, 0, 0}, {1036, 4192, 16448, 0, 0, 0, 0}, {1295, 4386, 1536, 85, 0, 0, 0}, {1548, 8738, 5188, 0, 0, 0, 0}, {783, 4896, 4176, 1024, 0, 0, 0}, {5360, 6192, 12336, 17408, 0, 0, 0}, {283, 305, 514, 85, 1041, 4369, 0}, {1096, 1122, 514, 4112, 0, 0, 0}, {5171, 5888, 20480, 0, 0, 0, 0}, {2056, 5172, 1092, 0, 0, 0, 0}, {1290, 1589, 85, 4352, 0, 0, 0}, {4698, 5174, 20560, 0, 0, 0, 0}, {5128, 1079, 4864, 4160, 0, 0, 0}, {1096, 4144, 16448, 0, 0, 0, 0}, {1290, 4403, 4608, 85, 0, 0, 0}, {2570, 4656, 5200, 0, 0, 0, 0}, {1800, 819, 1092, 4096, 0, 0, 0}, {5180, 24576, 0, 0, 0, 0, 0}, {279, 85, 5397, 0, 0, 0, 0}, {42, 514, 4176, 5140, 0, 0, 0}, {831, 13056, 5120, 0, 0, 0, 0}, {8192, 4160, 5120, 0, 0, 0, 0}, {828, 85, 1285, 4369, 0, 0, 0}, {20490, 17442, 16962, 0, 0, 0, 0}, {5187, 16384, 0, 0, 0, 0, 0}, {12288, 5188, 0, 0, 0, 0, 0}, {522, 1285, 272, 0, 0, 0, 0}, {5190, 16384, 0, 0, 0, 0, 0}, {20495, 17527, 18247, 0, 0, 0, 0}, {9288, 20480, 0, 0, 0, 0, 0}, {4403, 4883, 4101, 0, 0, 0, 0}, {5130, 5152, 5632, 1088, 0, 0, 0}, {5195, 6007, 17476, 0, 0, 0, 0}, {1100, 4096, 0, 0, 0, 0, 0}, {4386, 4626, 85, 1285, 0, 0, 0}, {5198, 4642, 17476, 0, 0, 0, 0}, {5135, 4144, 4864, 1088, 0, 0, 0}, {3072, 5200, 0, 0, 0, 0, 0}, {546, 260, 4369, 0, 0, 0, 0}, {5202, 16384, 0, 0, 0, 0, 0}, {20575, 17459, 21331, 0, 0, 0, 0}, {128, 1028, 4112, 0, 0, 0, 0}, {768, 85, 1280, 4352, 0, 0, 0}, {20570, 17510, 22102, 0, 0, 0, 0}, {5207, 16384, 0, 0, 0, 0, 0}, {1032, 8224, 4176, 0, 0, 0, 0}, {780, 4403, 85, 1280, 0, 0, 0}, {5210, 1536, 17408, 0, 0, 0, 0}, {4127, 4192, 4883, 1028, 0, 0, 0}, {5276, 3084, 12336, 20560, 0, 0, 0}, {264, 290, 768, 85, 1280, 4096, 0}, {4122, 4144, 4626, 1028, 0, 0, 0}, {5215, 768, 17408, 0, 0, 0, 0}, {5280, 6240, 9312, 17408, 0, 0, 0}, {286, 308, 790, 85, 1041, 4369, 0}, {5128, 5154, 5632, 4160, 0, 0, 0}, {5983, 5219, 20560, 0, 0, 0, 0}, {2056, 4128, 1092, 0, 0, 0, 0}, {1295, 816, 85, 4352, 0, 0, 0}, {5222, 4608, 20480, 0, 0, 0, 0}, {1096, 1079, 1799, 4112, 0, 0, 0}, {1096, 4192, 16448, 0, 0, 0, 0}, {1295, 4403, 5888, 85, 0, 0, 0}, {4714, 8704, 5120, 0, 0, 0, 0}, {4143, 4883, 4176, 5140, 0, 0, 0}, {5228, 12288, 0, 0, 0, 0, 0}, {274, 85, 5397, 0, 0, 0, 0}, {520, 546, 1092, 4096, 0, 0, 0}, {3855, 816, 5200, 0, 0, 0, 0}, {4208, 1024, 0, 0, 0, 0, 0}, {1290, 1542, 85, 4369, 0, 0, 0}, {1546, 5234, 20560, 0, 0, 0, 0}, {1036, 5171, 1792, 4160, 0, 0, 0}, {5300, 3084, 12336, 17476, 0, 0, 0}, {266, 288, 768, 85, 1024, 4352, 0}, {1036, 1062, 1542, 4112, 0, 0, 0}, {5239, 768, 20480, 0, 0, 0, 0}, {5240, 24576, 0, 0, 0, 0, 0}, {262, 85, 5397, 0, 0, 0, 0}, {522, 544, 4176, 1024, 0, 0, 0}, {780, 13107, 5188, 0, 0, 0, 0}, {1036, 4144, 16448, 0, 0, 0, 0}, {1290, 4386, 768, 85, 0, 0, 0}, {170, 4626, 5140, 0, 0, 0, 0}, {127, 768, 1024, 4096, 0, 0, 0}, {128, 1024, 4096, 0, 0, 0, 0}, {771, 85, 1285, 4369, 0, 0, 0}, {20490, 17442, 22016, 0, 0, 0, 0}, {5187, 16448, 0, 0, 0, 0, 0}, {3084, 5188, 0, 0, 0, 0, 0}, {544, 261, 4352, 0, 0, 0, 0}, {5190, 16448, 0, 0, 0, 0, 0}, {20495, 17527, 21248, 0, 0, 0, 0}, {5256, 3072, 12288, 20480, 0, 0, 0}, {265, 291, 771, 85, 1285, 4112, 0}, {4106, 4128, 4608, 1024, 0, 0, 0}, {5195, 771, 17476, 0, 0, 0, 0}, {1036, 8192, 4160, 0, 0, 0, 0}, {783, 4386, 85, 1285, 0, 0, 0}, {5198, 1542, 17476, 0, 0, 0, 0}, {4111, 4208, 4864, 1024, 0, 0, 0}, {12336, 5200, 0, 0, 0, 0, 0}, {520, 1280, 273, 0, 0, 0, 0}, {5202, 16448, 0, 0, 0, 0, 0}, {20575, 17459, 18176, 0, 0, 0, 0}, {8224, 4176, 5140, 0, 0, 0, 0}, {831, 85, 1280, 4352, 0, 0, 0}, {20570, 17510, 16896, 0, 0, 0, 0}, {5207, 16448, 0, 0, 0, 0, 0}, {1096, 4112, 0, 0, 0, 0, 0}, {4403, 4608, 85, 1280, 0, 0, 0}, {5210, 4656, 17408, 0, 0, 0, 0}, {5147, 4128, 4883, 1092, 0, 0, 0}, {9324, 20560, 0, 0, 0, 0, 0}, {4386, 4864, 4117, 0, 0, 0, 0}, {5150, 5172, 5654, 1092, 0, 0, 0}, {5215, 5984, 17408, 0, 0, 0, 0}, {5280, 3072, 12288, 17408, 0, 0, 0}, {267, 289, 771, 85, 1028, 4369, 0}, {1032, 1058, 1536, 4096, 0, 0, 0}, {5219, 771, 20560, 0, 0, 0, 0}, {4192, 1028, 0, 0, 0, 0, 0}, {1295, 1536, 85, 4352, 0, 0, 0}, {1548, 5222, 20480, 0, 0, 0, 0}, {1032, 5159, 1799, 4176, 0, 0, 0}, {1032, 4128, 16384, 0, 0, 0, 0}, {1295, 4403, 771, 85, 0, 0, 0}, {170, 4608, 5120, 0, 0, 0, 0}, {127, 771, 1028, 4112, 0, 0, 0}, {5228, 24672, 0, 0, 0, 0, 0}, {263, 85, 5376, 0, 0, 0, 0}, {520, 546, 4160, 1028, 0, 0, 0}, {783, 13056, 5200, 0, 0, 0, 0}, {2048, 4144, 1088, 0, 0, 0, 0}, {1290, 819, 85, 4369, 0, 0, 0}, {5234, 4626, 20560, 0, 0, 0, 0}, {1100, 1075, 1792, 4096, 0, 0, 0}, {5300, 6264, 9284, 17476, 0, 0, 0}, {287, 309, 789, 85, 1045, 4352, 0}, {5148, 5174, 5654, 4176, 0, 0, 0}, {5960, 5239, 20480, 0, 0, 0, 0}, {5240, 12336, 0, 0, 0, 0, 0}, {275, 85, 5376, 0, 0, 0, 0}, {522, 544, 1088, 4112, 0, 0, 0}, {3840, 819, 5188, 0, 0, 0, 0}, {1100, 4208, 16384, 0, 0, 0, 0}, {1290, 4386, 5911, 85, 0, 0, 0}, {4728, 8738, 5140, 0, 0, 0, 0}, {4159, 4864, 4160, 5120, 0, 0, 0}, {12480, 5120, 0, 0, 0, 0, 0}, {514, 276, 4369, 0, 0, 0, 0}, {5122, 16448, 0, 0, 0, 0, 0}, {20495, 17459, 5888, 0, 0, 0, 0}, {2056, 1092, 4096, 0, 0, 0, 0}, {816, 85, 1285, 4352, 0, 0, 0}, {20490, 17510, 4608, 0, 0, 0, 0}, {5127, 16448, 0, 0, 0, 0, 0}, {5128, 8192, 4160, 0, 0, 0, 0}, {4623, 4403, 85, 1285, 0, 0, 0}, {5130, 1632, 17408, 0, 0, 0, 0}, {4111, 5172, 1799, 1092, 0, 0, 0}, {5324, 6144, 12288, 20480, 0, 0, 0}, {280, 306, 514, 85, 1285, 4112, 0}, {4106, 4128, 514, 1092, 0, 0, 0}, {5135, 816, 17408, 0, 0, 0, 0}, {8224, 4176, 1024, 0, 0, 0, 0}, {780, 85, 1280, 4369, 0, 0, 0}, {20570, 17442, 1536, 0, 0, 0, 0}, {5139, 16448, 0, 0, 0, 0, 0}, {12336, 5140, 0, 0, 0, 0, 0}, {42, 85, 256, 0, 0, 0, 0}, {5142, 16448, 0, 0, 0, 0, 0}, {20575, 17527, 768, 0, 0, 0, 0}, {9256, 20560, 0, 0, 0, 0, 0}, {4403, 512, 4117, 0, 0, 0, 0}, {4186, 4208, 512, 1024, 0, 0, 0}, {5147, 5911, 17476, 0, 0, 0, 0}, {1036, 4112, 0, 0, 0, 0, 0}, {4386, 768, 85, 1280, 0, 0, 0}, {5150, 4626, 17476, 0, 0, 0, 0}, {4191, 4128, 768, 1024, 0, 0, 0}, {2048, 5152, 1088, 0, 0, 0, 0}, {1295, 1587, 85, 4369, 0, 0, 0}, {4680, 5154, 20480, 0, 0, 0, 0}, {5148, 1075, 4883, 4176, 0, 0, 0}, {5348, 6184, 12288, 17476, 0, 0, 0}, {282, 304, 512, 85, 1045, 4352, 0}, {1100, 1126, 512, 4096, 0, 0, 0}, {5159, 5911, 20560, 0, 0, 0, 0}, {5160, 24672, 0, 0, 0, 0, 0}, {278, 85, 5376, 0, 0, 0, 0}, {42, 512, 4160, 5120, 0, 0, 0}, {828, 13107, 5140, 0, 0, 0, 0}, {1100, 4128, 16384, 0, 0, 0, 0}, {1295, 4386, 4626, 85, 0, 0, 0}, {2560, 4642, 5188, 0, 0, 0, 0}, {1807, 816, 1088, 4112, 0, 0, 0}, {5360, 3072, 9216, 17408, 0, 0, 0}, {270, 292, 514, 85, 1028, 4369, 0}, {1032, 1058, 514, 4176, 0, 0, 0}, {780, 5171, 20480, 0, 0, 0, 0}, {4144, 1028, 0, 0, 0, 0, 0}, {1290, 768, 85, 4352, 0, 0, 0}, {5174, 1542, 20560, 0, 0, 0, 0}, {1032, 1143, 768, 4096, 0, 0, 0}, {1032, 4208, 16384, 0, 0, 0, 0}, {1290, 4403, 1542, 85, 0, 0, 0}, {1546, 8704, 5200, 0, 0, 0, 0}, {780, 4915, 4160, 1028, 0, 0, 0}, {5180, 12336, 0, 0, 0, 0, 0}, {258, 85, 5376, 0, 0, 0, 0}, {42, 514, 1028, 4112, 0, 0, 0}, {255, 768, 5120, 0, 0, 0, 0}, {10752, 21760, 0, 0, 0, 0, 0}, {48, 20, 257, 0, 0, 0, 0}, {21770, 21794, 514, 0, 0, 0, 0}, {5379, 16384, 0, 0, 0, 0, 0}, {12, 68, 1028, 4352, 0, 0, 0}, {8192, 80, 1285, 0, 0, 0, 0}, {5382, 16384, 0, 0, 0, 0, 0}, {21775, 21879, 1799, 0, 0, 0, 0}, {136, 2056, 8704, 21760, 0, 0, 0}, {12, 48, 771, 80, 1285, 4096, 0}, {21770, 8192, 0, 0, 0, 0, 0}, {4355, 68, 1028, 0, 0, 0, 0}, {12, 13056, 5376, 0, 0, 0, 0}, {40, 514, 80, 1285, 0, 0, 0}, {4358, 68, 1028, 0, 0, 0, 0}, {21775, 28672, 0, 0, 0, 0, 0}, {48, 80, 1280, 4112, 0, 0, 0}, {2048, 68, 4369, 0, 0, 0, 0}, {5394, 16384, 0, 0, 0, 0, 0}, {21855, 21811, 4883, 0, 0, 0, 0}, {512, 20, 4352, 0, 0, 0, 0}, {192, 5397, 0, 0, 0, 0, 0}, {21850, 21862, 5654, 0, 0, 0, 0}, {5399, 16384, 0, 0, 0, 0, 0}, {24, 48, 512, 80, 1280, 4096, 0}, {204, 6425, 13107, 21845, 0, 0, 0}, {5402, 48, 16448, 0, 0, 0, 0}, {4379, 4403, 512, 68, 0, 0, 0}, {4892, 4896, 80, 1280, 0, 0, 0}, {5405, 8738, 5461, 0, 0, 0, 0}, {4382, 4386, 1792, 68, 0, 0, 0}, {5407, 96, 16448, 0, 0, 0, 0}, {160, 2560, 8224, 21760, 0, 0, 0}, {12, 48, 771, 68, 1024, 4369, 0}, {2048, 21794, 0, 0, 0, 0, 0}, {1283, 80, 4112, 0, 0, 0, 0}, {12, 36, 512, 68, 1024, 4352, 0}, {240, 3855, 9509, 21845, 0, 0, 0}, {12, 5414, 16448, 0, 0, 0, 0}, {1295, 1319, 512, 80, 0, 0, 0}, {40, 512, 21760, 0, 0, 0, 0}, {12, 48, 771, 5397, 0, 0, 0}, {21930, 10794, 0, 0, 0, 0, 0}, {259, 20, 4096, 0, 0, 0, 0}, {12, 5408, 1536, 5440, 0, 0, 0}, {1807, 1911, 21845, 0, 0, 0, 0}, {12, 4386, 68, 1024, 0, 0, 0}, {1295, 8224, 80, 0, 0, 0, 0}, {48, 5376, 0, 0, 0, 0, 0}, {40, 514, 68, 4369, 0, 0, 0}, {1298, 80, 4112, 0, 0, 0, 0}, {19456, 21811, 0, 0, 0, 0, 0}, {1800, 1844, 68, 4352, 0, 0, 0}, {2570, 5429, 5461, 0, 0, 0, 0}, {1290, 1334, 4864, 80, 0, 0, 0}, {72, 5431, 16448, 0, 0, 0, 0}, {5384, 48, 4608, 5440, 0, 0, 0}, {4959, 4915, 21845, 0, 0, 0, 0}, {1290, 48, 80, 4096, 0, 0, 0}, {2056, 4403, 68, 0, 0, 0, 0}, {60, 5632, 21760, 0, 0, 0, 0}, {72, 96, 514, 5397, 0, 0, 0}, {4386, 514, 20, 0, 0, 0, 0}, {5439, 16384, 0, 0, 0, 0, 0}, {16128, 5440, 0, 0, 0, 0, 0}, {546, 20, 4369, 0, 0, 0, 0}, {5442, 16384, 0, 0, 0, 0, 0}, {21775, 21811, 17219, 0, 0, 0, 0}, {2048, 68, 4352, 0, 0, 0, 0}, {48, 80, 1285, 4112, 0, 0, 0}, {21770, 21862, 17990, 0, 0, 0, 0}, {5447, 16384, 0, 0, 0, 0, 0}, {72, 8704, 5376, 0, 0, 0, 0}, {60, 4883, 80, 1285, 0, 0, 0}, {5450, 96, 16448, 0, 0, 0, 0}, {4367, 4403, 5632, 68, 0, 0, 0}, {204, 6476, 13056, 21760, 0, 0, 0}, {24, 48, 530, 80, 1285, 4096, 0}, {4362, 4386, 4864, 68, 0, 0, 0}, {5455, 48, 16448, 0, 0, 0, 0}, {8192, 80, 1280, 0, 0, 0, 0}, {12, 68, 1028, 4369, 0, 0, 0}, {21850, 21794, 21074, 0, 0, 0, 0}, {5459, 16384, 0, 0, 0, 0, 0}, {768, 260, 272, 0, 0, 0, 0}, {10922, 21845, 0, 0, 0, 0, 0}, {5462, 16384, 0, 0, 0, 0, 0}, {21855, 21879, 22359, 0, 0, 0, 0}, {520, 544, 80, 1280, 0, 0, 0}, {12, 13107, 5461, 0, 0, 0, 0}, {21850, 28672, 0, 0, 0, 0, 0}, {4375, 68, 1028, 0, 0, 0, 0}, {12, 48, 768, 80, 1280, 4096, 0}, {136, 2056, 8738, 21845, 0, 0, 0}, {4370, 68, 1028, 0, 0, 0, 0}, {21855, 8192, 0, 0, 0, 0, 0}, {96, 5376, 0, 0, 0, 0, 0}, {60, 1799, 68, 4369, 0, 0, 0}, {72, 5474, 16448, 0, 0, 0, 0}, {1295, 1331, 5632, 80, 0, 0, 0}, {520, 544, 68, 4352, 0, 0, 0}, {3855, 48, 5461, 0, 0, 0, 0}, {19456, 21862, 0, 0, 0, 0, 0}, {1303, 80, 4112, 0, 0, 0, 0}, {5384, 5408, 5888, 5440, 0, 0, 0}, {5722, 5734, 21845, 0, 0, 0, 0}, {5482, 16384, 0, 0, 0, 0, 0}, {4403, 4883, 20, 0, 0, 0, 0}, {108, 4864, 21760, 0, 0, 0, 0}, {72, 48, 4626, 5397, 0, 0, 0}, {2056, 4386, 68, 0, 0, 0, 0}, {1295, 48, 80, 4096, 0, 0, 0}, {240, 3840, 9584, 21760, 0, 0, 0}, {12, 36, 518, 68, 1024, 4369, 0}, {1290, 1314, 1792, 80, 0, 0, 0}, {12, 5491, 16448, 0, 0, 0, 0}, {12, 48, 768, 68, 1024, 4352, 0}, {160, 2570, 8224, 21845, 0, 0, 0}, {1286, 80, 4112, 0, 0, 0, 0}, {2048, 21879, 0, 0, 0, 0, 0}, {120, 1792, 21760, 0, 0, 0, 0}, {12, 96, 4883, 5397, 0, 0, 0}, {1290, 8224, 80, 0, 0, 0, 0}, {12, 4403, 68, 1024, 0, 0, 0}, {12, 48, 768, 5440, 0, 0, 0}, {522, 546, 21845, 0, 0, 0, 0}, {274, 20, 4096, 0, 0, 0, 0}, {22015, 32639, 0, 0, 0, 0, 0}, {10880, 21760, 0, 0, 0, 0, 0}, {771, 261, 273, 0, 0, 0, 0}, {21770, 21794, 22272, 0, 0, 0, 0}, {5443, 16448, 0, 0, 0, 0, 0}, {12, 68, 1024, 4352, 0, 0, 0}, {8224, 80, 1285, 0, 0, 0, 0}, {5446, 16448, 0, 0, 0, 0, 0}, {21775, 21879, 20992, 0, 0, 0, 0}, {136, 2048, 8704, 21760, 0, 0, 0}, {12, 48, 771, 80, 1285, 4112, 0}, {21770, 8224, 0, 0, 0, 0, 0}, {4355, 68, 1024, 0, 0, 0, 0}, {12, 13056, 5440, 0, 0, 0, 0}, {522, 546, 80, 1285, 0, 0, 0}, {4358, 68, 1024, 0, 0, 0, 0}, {21775, 28784, 0, 0, 0, 0, 0}, {48, 80, 1280, 4096, 0, 0, 0}, {2056, 68, 4369, 0, 0, 0, 0}, {5458, 16448, 0, 0, 0, 0, 0}, {21855, 21811, 17920, 0, 0, 0, 0}, {544, 20, 4352, 0, 0, 0, 0}, {16191, 5461, 0, 0, 0, 0, 0}, {21850, 21862, 17152, 0, 0, 0, 0}, {5463, 16448, 0, 0, 0, 0, 0}, {24, 48, 528, 80, 1280, 4112, 0}, {204, 6485, 13107, 21845, 0, 0, 0}, {5466, 48, 16384, 0, 0, 0, 0}, {4379, 4403, 4883, 68, 0, 0, 0}, {60, 4864, 80, 1280, 0, 0, 0}, {72, 8738, 5397, 0, 0, 0, 0}, {4382, 4386, 5654, 68, 0, 0, 0}, {5471, 96, 16384, 0, 0, 0, 0}, {160, 2560, 8192, 21760, 0, 0, 0}, {12, 48, 771, 68, 1028, 4369, 0}, {2056, 21794, 0, 0, 0, 0, 0}, {1283, 80, 4096, 0, 0, 0, 0}, {12, 36, 516, 68, 1028, 4352, 0}, {240, 3855, 9557, 21845, 0, 0, 0}, {12, 5478, 16384, 0, 0, 0, 0}, {1295, 1319, 1799, 80, 0, 0, 0}, {520, 544, 21760, 0, 0, 0, 0}, {12, 48, 771, 5461, 0, 0, 0}, {21930, 32512, 0, 0, 0, 0, 0}, {275, 20, 4112, 0, 0, 0, 0}, {12, 96, 4864, 5376, 0, 0, 0}, {120, 1799, 21845, 0, 0, 0, 0}, {12, 4386, 68, 1028, 0, 0, 0}, {1295, 8192, 80, 0, 0, 0, 0}, {3840, 48, 5440, 0, 0, 0, 0}, {522, 546, 68, 4369, 0, 0, 0}, {1298, 80, 4096, 0, 0, 0, 0}, {19532, 21811, 0, 0, 0, 0, 0}, {60, 1792, 68, 4352, 0, 0, 0}, {96, 5397, 0, 0, 0, 0, 0}, {1290, 1334, 5654, 80, 0, 0, 0}, {72, 5495, 16384, 0, 0, 0, 0}, {72, 48, 4608, 5376, 0, 0, 0}, {108, 4883, 21845, 0, 0, 0, 0}, {1290, 48, 80, 4112, 0, 0, 0}, {2048, 4403, 68, 0, 0, 0, 0}, {5708, 5744, 21760, 0, 0, 0, 0}, {5405, 5429, 5911, 5461, 0, 0, 0}, {4386, 4864, 20, 0, 0, 0, 0}, {5503, 16448, 0, 0, 0, 0, 0}, {192, 5376, 0, 0, 0, 0, 0}, {514, 20, 4369, 0, 0, 0, 0}, {5378, 16448, 0, 0, 0, 0, 0}, {21775, 21811, 5632, 0, 0, 0, 0}, {2056, 68, 4352, 0, 0, 0, 0}, {48, 80, 1285, 4096, 0, 0, 0}, {21770, 21862, 4864, 0, 0, 0, 0}, {5383, 16448, 0, 0, 0, 0, 0}, {5384, 8704, 5440, 0, 0, 0, 0}, {4879, 4915, 80, 1285, 0, 0, 0}, {5386, 96, 16384, 0, 0, 0, 0}, {4367, 4403, 1799, 68, 0, 0, 0}, {204, 6400, 13056, 21760, 0, 0, 0}, {24, 48, 514, 80, 1285, 4112, 0}, {4362, 4386, 514, 68, 0, 0, 0}, {5391, 48, 16384, 0, 0, 0, 0}, {8224, 80, 1280, 0, 0, 0, 0}, {12, 68, 1024, 4369, 0, 0, 0}, {21850, 21794, 1792, 0, 0, 0, 0}, {5395, 16448, 0, 0, 0, 0, 0}, {48, 20, 256, 0, 0, 0, 0}, {10794, 21845, 0, 0, 0, 0, 0}, {5398, 16448, 0, 0, 0, 0, 0}, {21855, 21879, 512, 0, 0, 0, 0}, {40, 512, 80, 1280, 0, 0, 0}, {12, 13107, 5397, 0, 0, 0, 0}, {21850, 28784, 0, 0, 0, 0, 0}, {4375, 68, 1024, 0, 0, 0, 0}, {12, 48, 768, 80, 1280, 4112, 0}, {136, 2048, 8738, 21845, 0, 0, 0}, {4370, 68, 1024, 0, 0, 0, 0}, {21855, 8224, 0, 0, 0, 0, 0}, {2560, 5408, 5440, 0, 0, 0, 0}, {1807, 1843, 68, 4369, 0, 0, 0}, {72, 5410, 16384, 0, 0, 0, 0}, {1295, 1331, 4883, 80, 0, 0, 0}, {40, 512, 68, 4352, 0, 0, 0}, {48, 5397, 0, 0, 0, 0, 0}, {19532, 21862, 0, 0, 0, 0, 0}, {1303, 80, 4096, 0, 0, 0, 0}, {72, 96, 512, 5376, 0, 0, 0}, {60, 5654, 21845, 0, 0, 0, 0}, {5418, 16448, 0, 0, 0, 0, 0}, {4403, 512, 20, 0, 0, 0, 0}, {4940, 4896, 21760, 0, 0, 0, 0}, {5405, 48, 4626, 5461, 0, 0, 0}, {2048, 4386, 68, 0, 0, 0, 0}, {1295, 48, 80, 4112, 0, 0, 0}, {240, 3840, 9472, 21760, 0, 0, 0}, {12, 36, 514, 68, 1028, 4369, 0}, {1290, 1314, 514, 80, 0, 0, 0}, {12, 5427, 16384, 0, 0, 0, 0}, {12, 48, 768, 68, 1028, 4352, 0}, {160, 2570, 8192, 21845, 0, 0, 0}, {1286, 80, 4096, 0, 0, 0, 0}, {2056, 21879, 0, 0, 0, 0, 0}, {1800, 1904, 21760, 0, 0, 0, 0}, {12, 5429, 1542, 5461, 0, 0, 0}, {1290, 8192, 80, 0, 0, 0, 0}, {12, 4403, 68, 1028, 0, 0, 0}, {12, 48, 768, 5376, 0, 0, 0}, {40, 514, 21845, 0, 0, 0, 0}, {258, 20, 4112, 0, 0, 0, 0}, {22015, 10752, 0, 0, 0, 0, 0}, {5632, 16384, 0, 0, 0, 0, 0}, {95, 119, 257, 0, 0, 0, 0}, {4104, 4128, 514, 5120, 0, 0, 0}, {5439, 771, 21760, 0, 0, 0, 0}, {4680, 8704, 1028, 0, 0, 0, 0}, {4111, 4864, 4176, 1285, 0, 0, 0}, {4192, 1542, 20480, 0, 0, 0, 0}, {1032, 119, 1799, 4352, 0, 0, 0}, {1032, 4608, 17408, 0, 0, 0, 0}, {95, 4144, 771, 1285, 0, 0, 0}, {1546, 4096, 0, 0, 0, 0, 0}, {4403, 771, 4420, 1028, 0, 0, 0}, {22028, 28672, 0, 0, 0, 0, 0}, {4103, 4437, 1285, 0, 0, 0, 0}, {40, 514, 4160, 1028, 0, 0, 0}, {783, 13056, 5376, 0, 0, 0, 0}, {2560, 1632, 4112, 0, 0, 0, 0}, {1075, 1792, 1092, 4369, 0, 0, 0}, {1096, 4626, 17408, 0, 0, 0, 0}, {95, 4128, 4883, 1280, 0, 0, 0}, {40, 512, 4176, 5140, 0, 0, 0}, {831, 13056, 5397, 0, 0, 0, 0}, {16512, 5654, 0, 0, 0, 0, 0}, {279, 1280, 4352, 0, 0, 0, 0}, {4120, 4144, 512, 5200, 0, 0, 0}, {5657, 819, 21845, 0, 0, 0, 0}, {5850, 6682, 12336, 16448, 0, 0, 0}, {283, 307, 512, 324, 1280, 4096, 0}, {5660, 4208, 20560, 0, 0, 0, 0}, {5405, 4386, 1792, 4437, 0, 0, 0}, {5662, 8738, 1092, 0, 0, 0, 0}, {4127, 4896, 4160, 1280, 0, 0, 0}, {4128, 1536, 20480, 0, 0, 0, 0}, {1036, 119, 771, 4369, 0, 0, 0}, {4642, 1024, 0, 0, 0, 0, 0}, {1295, 771, 1360, 4112, 0, 0, 0}, {1036, 1060, 512, 5188, 0, 0, 0}, {783, 5669, 21845, 0, 0, 0, 0}, {5862, 3084, 9766, 16448, 0, 0, 0}, {271, 295, 512, 336, 1024, 4352, 0}, {40, 512, 1024, 4096, 0, 0, 0}, {255, 771, 5397, 0, 0, 0, 0}, {5674, 12288, 0, 0, 0, 0, 0}, {259, 4420, 5140, 0, 0, 0, 0}, {1548, 8224, 4160, 0, 0, 0, 0}, {783, 4386, 4437, 1024, 0, 0, 0}, {1036, 5734, 17476, 0, 0, 0, 0}, {1295, 5408, 1536, 1360, 0, 0, 0}, {19456, 22064, 0, 0, 0, 0, 0}, {1043, 1365, 4369, 0, 0, 0, 0}, {40, 514, 1088, 4112, 0, 0, 0}, {819, 5376, 0, 0, 0, 0, 0}, {1100, 5684, 17476, 0, 0, 0, 0}, {1290, 5429, 4864, 1365, 0, 0, 0}, {2570, 5686, 4176, 0, 0, 0, 0}, {1800, 1079, 1088, 4352, 0, 0, 0}, {2056, 4656, 1088, 0, 0, 0, 0}, {1290, 819, 1365, 4096, 0, 0, 0}, {5722, 4144, 20560, 0, 0, 0, 0}, {5384, 4403, 4608, 4420, 0, 0, 0}, {5692, 16384, 0, 0, 0, 0, 0}, {4386, 514, 277, 0, 0, 0, 0}, {4184, 4208, 514, 5140, 0, 0, 0}, {5439, 5632, 21760, 0, 0, 0, 0}, {5760, 6720, 9792, 16448, 0, 0, 0}, {286, 310, 788, 321, 1285, 4369, 0}, {4168, 4192, 4674, 5120, 0, 0, 0}, {5503, 5699, 21760, 0, 0, 0, 0}, {4608, 1092, 0, 0, 0, 0, 0}, {95, 816, 1285, 4112, 0, 0, 0}, {4128, 5702, 20480, 0, 0, 0, 0}, {1096, 119, 839, 4352, 0, 0, 0}, {1096, 5632, 17408, 0, 0, 0, 0}, {95, 4208, 4883, 1285, 0, 0, 0}, {5674, 8224, 4160, 0, 0, 0, 0}, {4623, 4403, 4420, 5376, 0, 0, 0}, {5708, 12288, 0, 0, 0, 0, 0}, {274, 4437, 1285, 0, 0, 0, 0}, {522, 546, 1092, 4096, 0, 0, 0}, {3855, 816, 5440, 0, 0, 0, 0}, {1536, 4176, 0, 0, 0, 0, 0}, {780, 119, 1028, 4369, 0, 0, 0}, {1032, 5714, 17408, 0, 0, 0, 0}, {95, 4192, 851, 1280, 0, 0, 0}, {520, 544, 1028, 4112, 0, 0, 0}, {768, 5461, 0, 0, 0, 0, 0}, {16576, 22102, 0, 0, 0, 0, 0}, {343, 1280, 4352, 0, 0, 0, 0}, {1032, 1056, 1536, 5200, 0, 0, 0}, {780, 5734, 21845, 0, 0, 0, 0}, {5722, 16384, 0, 0, 0, 0, 0}, {4403, 4883, 260, 0, 0, 0, 0}, {1548, 4144, 20560, 0, 0, 0, 0}, {1032, 4386, 768, 4437, 0, 0, 0}, {136, 4626, 1028, 0, 0, 0, 0}, {95, 768, 1280, 4096, 0, 0, 0}, {4192, 5632, 20480, 0, 0, 0, 0}, {1100, 119, 1799, 4369, 0, 0, 0}, {5674, 8738, 1088, 0, 0, 0, 0}, {4111, 4915, 4176, 5376, 0, 0, 0}, {4104, 4128, 4608, 5188, 0, 0, 0}, {5722, 816, 21845, 0, 0, 0, 0}, {5734, 16384, 0, 0, 0, 0, 0}, {1295, 1799, 272, 0, 0, 0, 0}, {520, 544, 4160, 5120, 0, 0, 0}, {828, 13107, 5461, 0, 0, 0, 0}, {22122, 28672, 0, 0, 0, 0, 0}, {4103, 4420, 5140, 0, 0, 0, 0}, {1644, 4096, 0, 0, 0, 0, 0}, {4386, 4626, 4437, 5397, 0, 0, 0}, {1100, 4642, 17476, 0, 0, 0, 0}, {1295, 4144, 4864, 1360, 0, 0, 0}, {3072, 5744, 0, 0, 0, 0, 0}, {262, 1365, 4369, 0, 0, 0, 0}, {522, 546, 4176, 1024, 0, 0, 0}, {780, 13107, 5440, 0, 0, 0, 0}, {1036, 4656, 17476, 0, 0, 0, 0}, {1290, 4128, 768, 1365, 0, 0, 0}, {160, 1542, 4112, 0, 0, 0, 0}, {119, 768, 1024, 4352, 0, 0, 0}, {4728, 8704, 1024, 0, 0, 0, 0}, {4127, 4883, 4160, 5397, 0, 0, 0}, {1546, 4208, 20560, 0, 0, 0, 0}, {1036, 4403, 1792, 4420, 0, 0, 0}, {5820, 3084, 12336, 16448, 0, 0, 0}, {266, 290, 768, 341, 1024, 4096, 0}, {4120, 4144, 4626, 5140, 0, 0, 0}, {5503, 768, 21760, 0, 0, 0, 0}, {16512, 22016, 0, 0, 0, 0, 0}, {342, 1285, 4369, 0, 0, 0, 0}, {522, 546, 1024, 4096, 0, 0, 0}, {771, 5440, 0, 0, 0, 0, 0}, {1036, 5700, 17476, 0, 0, 0, 0}, {95, 4208, 848, 1285, 0, 0, 0}, {1542, 4160, 0, 0, 0, 0, 0}, {783, 119, 1024, 4352, 0, 0, 0}, {136, 4608, 1024, 0, 0, 0, 0}, {95, 771, 1285, 4112, 0, 0, 0}, {1546, 4128, 20480, 0, 0, 0, 0}, {1036, 4403, 771, 4420, 0, 0, 0}, {5708, 16448, 0, 0, 0, 0, 0}, {4386, 4864, 261, 0, 0, 0, 0}, {1036, 1060, 1542, 5188, 0, 0, 0}, {783, 5744, 21760, 0, 0, 0, 0}, {4144, 5712, 20560, 0, 0, 0, 0}, {1100, 119, 836, 4369, 0, 0, 0}, {4626, 1088, 0, 0, 0, 0, 0}, {95, 819, 1280, 4096, 0, 0, 0}, {4184, 4208, 4688, 5140, 0, 0, 0}, {5482, 5717, 21845, 0, 0, 0, 0}, {5782, 6746, 9830, 16384, 0, 0, 0}, {287, 311, 791, 320, 1280, 4352, 0}, {520, 544, 1088, 4112, 0, 0, 0}, {3840, 819, 5461, 0, 0, 0, 0}, {5722, 12336, 0, 0, 0, 0, 0}, {275, 4420, 1280, 0, 0, 0, 0}, {5692, 8192, 4176, 0, 0, 0, 0}, {4637, 4386, 4437, 5397, 0, 0, 0}, {1100, 5654, 17476, 0, 0, 0, 0}, {95, 4192, 4864, 1280, 0, 0, 0}, {160, 1536, 4096, 0, 0, 0, 0}, {119, 771, 1028, 4369, 0, 0, 0}, {1032, 4642, 17408, 0, 0, 0, 0}, {1295, 4144, 771, 1360, 0, 0, 0}, {520, 544, 4160, 1028, 0, 0, 0}, {783, 13056, 5461, 0, 0, 0, 0}, {3084, 5734, 0, 0, 0, 0, 0}, {263, 1360, 4352, 0, 0, 0, 0}, {4104, 4128, 4608, 5120, 0, 0, 0}, {5482, 771, 21845, 0, 0, 0, 0}, {5802, 3072, 12288, 16384, 0, 0, 0}, {267, 291, 771, 340, 1028, 4112, 0}, {1548, 4192, 20480, 0, 0, 0, 0}, {1032, 4386, 1799, 4437, 0, 0, 0}, {4714, 8738, 1028, 0, 0, 0, 0}, {4111, 4864, 4176, 5376, 0, 0, 0}, {5744, 16448, 0, 0, 0, 0, 0}, {1290, 1792, 273, 0, 0, 0, 0}, {4120, 4144, 4626, 5200, 0, 0, 0}, {5708, 819, 21760, 0, 0, 0, 0}, {5692, 8704, 1092, 0, 0, 0, 0}, {4127, 4896, 4160, 5397, 0, 0, 0}, {4208, 5654, 20560, 0, 0, 0, 0}, {1096, 119, 1792, 4352, 0, 0, 0}, {1096, 4656, 17408, 0, 0, 0, 0}, {1290, 4128, 4883, 1365, 0, 0, 0}, {1642, 4112, 0, 0, 0, 0, 0}, {4403, 4608, 4420, 5376, 0, 0, 0}, {22076, 28784, 0, 0, 0, 0, 0}, {4119, 4437, 5120, 0, 0, 0, 0}, {522, 546, 4176, 5140, 0, 0, 0}, {831, 13056, 5440, 0, 0, 0, 0}, {16576, 5632, 0, 0, 0, 0, 0}, {278, 1285, 4369, 0, 0, 0, 0}, {40, 514, 4160, 5120, 0, 0, 0}, {828, 13107, 5376, 0, 0, 0, 0}, {1100, 4608, 17476, 0, 0, 0, 0}, {95, 4144, 4864, 1285, 0, 0, 0}, {2570, 1638, 4096, 0, 0, 0, 0}, {1079, 1799, 1088, 4352, 0, 0, 0}, {5640, 8704, 1088, 0, 0, 0, 0}, {4111, 4915, 4176, 1285, 0, 0, 0}, {5642, 4192, 20480, 0, 0, 0, 0}, {5384, 4403, 1799, 4420, 0, 0, 0}, {5836, 6656, 12288, 16384, 0, 0, 0}, {282, 306, 514, 325, 1285, 4112, 0}, {4104, 4128, 514, 5188, 0, 0, 0}, {5647, 816, 21760, 0, 0, 0, 0}, {4208, 1536, 20560, 0, 0, 0, 0}, {1036, 119, 1792, 4369, 0, 0, 0}, {4698, 8738, 1024, 0, 0, 0, 0}, {4127, 4883, 4160, 1280, 0, 0, 0}, {4120, 4144, 512, 5140, 0, 0, 0}, {5418, 768, 21845, 0, 0, 0, 0}, {5654, 16448, 0, 0, 0, 0, 0}, {95, 119, 256, 0, 0, 0, 0}, {40, 512, 4176, 1024, 0, 0, 0}, {780, 13107, 5397, 0, 0, 0, 0}, {22106, 28784, 0, 0, 0, 0, 0}, {4119, 4420, 1280, 0, 0, 0, 0}, {1548, 4112, 0, 0, 0, 0, 0}, {4386, 768, 4437, 1024, 0, 0, 0}, {1036, 4626, 17476, 0, 0, 0, 0}, {95, 4128, 768, 1280, 0, 0, 0}, {2560, 5664, 4160, 0, 0, 0, 0}, {1807, 1075, 1092, 4369, 0, 0, 0}, {1096, 5666, 17408, 0, 0, 0, 0}, {1295, 5408, 4883, 1360, 0, 0, 0}, {40, 512, 1092, 4096, 0, 0, 0}, {816, 5397, 0, 0, 0, 0, 0}, {19532, 22118, 0, 0, 0, 0, 0}, {1047, 1360, 4352, 0, 0, 0, 0}, {4168, 4192, 512, 5120, 0, 0, 0}, {5418, 5654, 21845, 0, 0, 0, 0}, {5674, 16448, 0, 0, 0, 0, 0}, {4403, 512, 276, 0, 0, 0, 0}, {5708, 4128, 20480, 0, 0, 0, 0}, {5405, 4386, 4626, 4437, 0, 0, 0}, {2048, 4642, 1092, 0, 0, 0, 0}, {1295, 816, 1360, 4112, 0, 0, 0}, {5872, 3072, 9728, 16384, 0, 0, 0}, {270, 294, 514, 337, 1028, 4369, 0}, {1032, 1056, 514, 5200, 0, 0, 0}, {780, 5683, 21760, 0, 0, 0, 0}, {4656, 1028, 0, 0, 0, 0, 0}, {1290, 768, 1365, 4096, 0, 0, 0}, {4144, 1542, 20560, 0, 0, 0, 0}, {1032, 119, 768, 4352, 0, 0, 0}, {1032, 5744, 17408, 0, 0, 0, 0}, {1290, 5429, 1542, 1365, 0, 0, 0}, {1546, 8192, 4176, 0, 0, 0, 0}, {780, 4403, 4420, 1028, 0, 0, 0}, {5692, 12336, 0, 0, 0, 0, 0}, {258, 4437, 5120, 0, 0, 0, 0}, {40, 514, 1028, 4112, 0, 0, 0}, {255, 768, 5376, 0, 0, 0, 0}, {24320, 30464, 0, 0, 0, 0, 0}, {22, 64, 257, 0, 0, 0, 0}, {42, 514, 21760, 0, 0, 0, 0}, {12, 48, 771, 5120, 0, 0, 0}, {12, 4864, 64, 1028, 0, 0, 0}, {90, 8704, 1285, 0, 0, 0, 0}, {12, 102, 1542, 4352, 0, 0, 0}, {112, 1799, 20480, 0, 0, 0, 0}, {22280, 8192, 0, 0, 0, 0, 0}, {4355, 4437, 1285, 0, 0, 0, 0}, {170, 2570, 8704, 21760, 0, 0, 0}, {12, 48, 771, 64, 1028, 4096, 0}, {12, 5888, 17408, 0, 0, 0, 0}, {90, 112, 514, 1285, 0, 0, 0}, {4386, 514, 4356, 0, 0, 0, 0}, {9999, 20480, 0, 0, 0, 0, 0}, {48, 1792, 64, 4112, 0, 0, 0}, {2560, 102, 4369, 0, 0, 0, 0}, {90, 48, 4626, 1280, 0, 0, 0}, {76, 4883, 17408, 0, 0, 0, 0}, {60, 13056, 5140, 0, 0, 0, 0}, {42, 512, 64, 5397, 0, 0, 0}, {22, 1280, 4352, 0, 0, 0, 0}, {192, 5911, 0, 0, 0, 0, 0}, {5912, 48, 20560, 0, 0, 0, 0}, {4377, 4403, 512, 4437, 0, 0, 0}, {26, 48, 512, 64, 1280, 4096, 0}, {204, 6939, 13107, 17476, 0, 0, 0}, {5148, 5152, 1792, 5200, 0, 0, 0}, {5917, 6007, 21845, 0, 0, 0, 0}, {4382, 4386, 4420, 1280, 0, 0, 0}, {5919, 8224, 64, 0, 0, 0, 0}, {2048, 22304, 0, 0, 0, 0, 0}, {1283, 1365, 4369, 0, 0, 0, 0}, {170, 2560, 8738, 21760, 0, 0, 0}, {12, 48, 771, 64, 1024, 4112, 0}, {12, 5924, 17476, 0, 0, 0, 0}, {1295, 1317, 512, 1365, 0, 0, 0}, {12, 38, 512, 64, 1024, 4352, 0}, {240, 3855, 10023, 20560, 0, 0, 0}, {30600, 10280, 0, 0, 0, 0, 0}, {259, 277, 4096, 0, 0, 0, 0}, {42, 512, 21760, 0, 0, 0, 0}, {12, 48, 771, 5140, 0, 0, 0}, {12, 4896, 64, 1024, 0, 0, 0}, {1295, 8738, 1365, 0, 0, 0, 0}, {12, 4386, 1536, 4420, 0, 0, 0}, {1807, 112, 20560, 0, 0, 0, 0}, {48, 5888, 20480, 0, 0, 0, 0}, {76, 102, 514, 4369, 0, 0, 0}, {26, 48, 514, 64, 1296, 4112, 0}, {204, 6963, 13107, 17408, 0, 0, 0}, {5128, 5172, 4864, 5188, 0, 0, 0}, {5983, 5941, 21845, 0, 0, 0, 0}, {1290, 1334, 1360, 4352, 0, 0, 0}, {2056, 5943, 64, 0, 0, 0, 0}, {1800, 48, 64, 4096, 0, 0, 0}, {2570, 4403, 4437, 0, 0, 0, 0}, {1290, 48, 4608, 1360, 0, 0, 0}, {76, 4915, 17476, 0, 0, 0, 0}, {60, 13056, 5120, 0, 0, 0, 0}, {42, 514, 64, 5397, 0, 0, 0}, {22, 4420, 5140, 0, 0, 0, 0}, {5951, 24576, 0, 0, 0, 0, 0}, {5888, 64, 0, 0, 0, 0, 0}, {90, 102, 1285, 4369, 0, 0, 0}, {106, 5954, 21760, 0, 0, 0, 0}, {76, 112, 4931, 5120, 0, 0, 0}, {204, 6980, 13056, 17476, 0, 0, 0}, {26, 48, 528, 64, 1285, 4112, 0}, {76, 102, 582, 4352, 0, 0, 0}, {48, 5959, 20480, 0, 0, 0, 0}, {5960, 24576, 0, 0, 0, 0, 0}, {22, 4437, 1285, 0, 0, 0, 0}, {522, 544, 64, 5376, 0, 0, 0}, {60, 13107, 5188, 0, 0, 0, 0}, {76, 4864, 17408, 0, 0, 0, 0}, {90, 48, 4626, 1285, 0, 0, 0}, {2570, 4386, 4420, 0, 0, 0, 0}, {1807, 48, 64, 4096, 0, 0, 0}, {240, 3840, 10064, 20560, 0, 0, 0}, {12, 38, 516, 64, 1028, 4369, 0}, {90, 112, 594, 1280, 0, 0, 0}, {12, 5971, 17408, 0, 0, 0, 0}, {12, 48, 768, 64, 1028, 4112, 0}, {170, 2560, 8704, 21845, 0, 0, 0}, {86, 1280, 4352, 0, 0, 0, 0}, {128, 22359, 0, 0, 0, 0, 0}, {1800, 112, 20560, 0, 0, 0, 0}, {12, 4403, 1536, 4437, 0, 0, 0}, {90, 8704, 1280, 0, 0, 0, 0}, {12, 4883, 64, 1028, 0, 0, 0}, {12, 48, 768, 5200, 0, 0, 0}, {520, 546, 21845, 0, 0, 0, 0}, {274, 260, 4096, 0, 0, 0, 0}, {30719, 24415, 0, 0, 0, 0, 0}, {18432, 5984, 0, 0, 0, 0, 0}, {22, 1365, 4369, 0, 0, 0, 0}, {520, 546, 64, 5376, 0, 0, 0}, {60, 13107, 5200, 0, 0, 0, 0}, {76, 4896, 17476, 0, 0, 0, 0}, {1295, 48, 4608, 1365, 0, 0, 0}, {2560, 102, 4352, 0, 0, 0, 0}, {48, 1799, 64, 4112, 0, 0, 0}, {5928, 8224, 64, 0, 0, 0, 0}, {4367, 4403, 4437, 5120, 0, 0, 0}, {106, 5888, 21760, 0, 0, 0, 0}, {76, 112, 4883, 5140, 0, 0, 0}, {204, 7020, 13056, 17408, 0, 0, 0}, {26, 48, 530, 64, 1301, 4096, 0}, {4360, 4386, 4864, 4420, 0, 0, 0}, {5983, 48, 20560, 0, 0, 0, 0}, {112, 1792, 20480, 0, 0, 0, 0}, {12, 102, 1542, 4369, 0, 0, 0}, {1290, 8738, 1360, 0, 0, 0, 0}, {12, 4915, 64, 1024, 0, 0, 0}, {12, 48, 768, 5188, 0, 0, 0}, {522, 544, 21845, 0, 0, 0, 0}, {262, 1024, 272, 0, 0, 0, 0}, {24575, 30583, 0, 0, 0, 0, 0}, {10104, 20480, 0, 0, 0, 0, 0}, {4403, 4883, 4373, 0, 0, 0, 0}, {1290, 1312, 1792, 1360, 0, 0, 0}, {12, 6007, 17476, 0, 0, 0, 0}, {12, 48, 768, 64, 1024, 4096, 0}, {170, 2570, 8738, 21845, 0, 0, 0}, {4370, 4420, 5140, 0, 0, 0, 0}, {22399, 8192, 0, 0, 0, 0, 0}, {128, 22272, 0, 0, 0, 0, 0}, {86, 1285, 4369, 0, 0, 0, 0}, {170, 2570, 8738, 21760, 0, 0, 0}, {12, 48, 771, 64, 1024, 4096, 0}, {12, 5956, 17476, 0, 0, 0, 0}, {90, 112, 592, 1285, 0, 0, 0}, {12, 38, 518, 64, 1024, 4352, 0}, {240, 3855, 10103, 20480, 0, 0, 0}, {30600, 24320, 0, 0, 0, 0, 0}, {275, 261, 4112, 0, 0, 0, 0}, {522, 544, 21760, 0, 0, 0, 0}, {12, 48, 771, 5188, 0, 0, 0}, {12, 4864, 64, 1024, 0, 0, 0}, {90, 8738, 1285, 0, 0, 0, 0}, {12, 4386, 1542, 4420, 0, 0, 0}, {1807, 112, 20480, 0, 0, 0, 0}, {48, 5968, 20560, 0, 0, 0, 0}, {76, 102, 580, 4369, 0, 0, 0}, {26, 48, 530, 64, 1280, 4096, 0}, {204, 7007, 13107, 17408, 0, 0, 0}, {76, 112, 4944, 5140, 0, 0, 0}, {106, 5973, 21845, 0, 0, 0, 0}, {90, 102, 1280, 4352, 0, 0, 0}, {5911, 64, 0, 0, 0, 0, 0}, {1800, 48, 64, 4112, 0, 0, 0}, {2560, 4403, 4437, 0, 0, 0, 0}, {90, 48, 4608, 1280, 0, 0, 0}, {76, 4883, 17476, 0, 0, 0, 0}, {60, 13056, 5200, 0, 0, 0, 0}, {520, 546, 64, 5397, 0, 0, 0}, {22, 4420, 1280, 0, 0, 0, 0}, {5983, 24672, 0, 0, 0, 0, 0}, {24480, 30464, 0, 0, 0, 0, 0}, {263, 1028, 273, 0, 0, 0, 0}, {520, 546, 21760, 0, 0, 0, 0}, {12, 48, 771, 5200, 0, 0, 0}, {12, 4896, 64, 1028, 0, 0, 0}, {1295, 8704, 1365, 0, 0, 0, 0}, {12, 102, 1536, 4352, 0, 0, 0}, {112, 1799, 20560, 0, 0, 0, 0}, {22312, 8224, 0, 0, 0, 0, 0}, {4355, 4437, 5120, 0, 0, 0, 0}, {170, 2560, 8704, 21760, 0, 0, 0}, {12, 48, 771, 64, 1028, 4112, 0}, {12, 5984, 17408, 0, 0, 0, 0}, {1295, 1317, 1799, 1365, 0, 0, 0}, {4386, 4864, 4356, 0, 0, 0, 0}, {10079, 20560, 0, 0, 0, 0, 0}, {48, 1792, 64, 4096, 0, 0, 0}, {2570, 102, 4369, 0, 0, 0, 0}, {1290, 48, 4626, 1360, 0, 0, 0}, {76, 4915, 17408, 0, 0, 0, 0}, {60, 13056, 5188, 0, 0, 0, 0}, {522, 544, 64, 5397, 0, 0, 0}, {22, 1360, 4352, 0, 0, 0, 0}, {18504, 6007, 0, 0, 0, 0, 0}, {5960, 48, 20480, 0, 0, 0, 0}, {4377, 4403, 4883, 4437, 0, 0, 0}, {26, 48, 528, 64, 1296, 4112, 0}, {204, 7031, 13107, 17476, 0, 0, 0}, {76, 112, 4864, 5120, 0, 0, 0}, {106, 5911, 21845, 0, 0, 0, 0}, {4382, 4386, 4420, 5140, 0, 0, 0}, {5951, 8192, 64, 0, 0, 0, 0}, {192, 5888, 0, 0, 0, 0, 0}, {22, 1285, 4369, 0, 0, 0, 0}, {42, 514, 64, 5376, 0, 0, 0}, {60, 13107, 5120, 0, 0, 0, 0}, {76, 4864, 17476, 0, 0, 0, 0}, {90, 48, 4608, 1285, 0, 0, 0}, {2570, 102, 4352, 0, 0, 0, 0}, {48, 1799, 64, 4096, 0, 0, 0}, {5896, 8192, 64, 0, 0, 0, 0}, {4367, 4403, 4437, 1285, 0, 0, 0}, {5898, 5984, 21760, 0, 0, 0, 0}, {5128, 5172, 1799, 5188, 0, 0, 0}, {204, 6912, 13056, 17408, 0, 0, 0}, {26, 48, 514, 64, 1285, 4112, 0}, {4360, 4386, 514, 4420, 0, 0, 0}, {5903, 48, 20480, 0, 0, 0, 0}, {112, 1792, 20560, 0, 0, 0, 0}, {12, 102, 1536, 4369, 0, 0, 0}, {90, 8738, 1280, 0, 0, 0, 0}, {12, 4883, 64, 1024, 0, 0, 0}, {12, 48, 768, 5140, 0, 0, 0}, {42, 512, 21845, 0, 0, 0, 0}, {22, 64, 256, 0, 0, 0, 0}, {24415, 30583, 0, 0, 0, 0, 0}, {10024, 20560, 0, 0, 0, 0, 0}, {4403, 512, 4373, 0, 0, 0, 0}, {90, 112, 512, 1280, 0, 0, 0}, {12, 5911, 17476, 0, 0, 0, 0}, {12, 48, 768, 64, 1024, 4112, 0}, {170, 2560, 8738, 21845, 0, 0, 0}, {4370, 4420, 1280, 0, 0, 0, 0}, {22367, 8224, 0, 0, 0, 0, 0}, {2048, 5920, 64, 0, 0, 0, 0}, {1295, 1331, 1365, 4369, 0, 0, 0}, {5960, 5922, 21760, 0, 0, 0, 0}, {5148, 5152, 4883, 5200, 0, 0, 0}, {204, 6952, 13056, 17476, 0, 0, 0}, {26, 48, 512, 64, 1301, 4096, 0}, {76, 102, 512, 4352, 0, 0, 0}, {48, 5911, 20560, 0, 0, 0, 0}, {5928, 24672, 0, 0, 0, 0, 0}, {22, 4437, 5120, 0, 0, 0, 0}, {42, 512, 64, 5376, 0, 0, 0}, {60, 13107, 5140, 0, 0, 0, 0}, {76, 4896, 17408, 0, 0, 0, 0}, {1295, 48, 4626, 1365, 0, 0, 0}, {2560, 4386, 4420, 0, 0, 0, 0}, {1807, 48, 64, 4112, 0, 0, 0}, {240, 3840, 9984, 20480, 0, 0, 0}, {12, 38, 514, 64, 1028, 4369, 0}, {1290, 1312, 514, 1360, 0, 0, 0}, {12, 5939, 17408, 0, 0, 0, 0}, {12, 48, 768, 64, 1028, 4096, 0}, {170, 2570, 8704, 21845, 0, 0, 0}, {1286, 1360, 4352, 0, 0, 0, 0}, {2056, 22391, 0, 0, 0, 0, 0}, {1800, 112, 20480, 0, 0, 0, 0}, {12, 4403, 1542, 4437, 0, 0, 0}, {1290, 8704, 1360, 0, 0, 0, 0}, {12, 4915, 64, 1028, 0, 0, 0}, {12, 48, 768, 5120, 0, 0, 0}, {42, 514, 21845, 0, 0, 0, 0}, {258, 276, 4112, 0, 0, 0, 0}, {30719, 10240, 0, 0, 0, 0, 0}, {10240, 20480, 0, 0, 0, 0, 0}, {51, 21, 257, 0, 0, 0, 0}, {20490, 20512, 514, 0, 0, 0, 0}, {5123, 17408, 0, 0, 0, 0, 0}, {12, 64, 1028, 4096, 0, 0, 0}, {8704, 85, 1285, 0, 0, 0, 0}, {5126, 17408, 0, 0, 0, 0, 0}, {20495, 20592, 1799, 0, 0, 0, 0}, {128, 2056, 8192, 20480, 0, 0, 0}, {12, 51, 771, 85, 1285, 4352, 0}, {20490, 8704, 0, 0, 0, 0, 0}, {4099, 64, 1028, 0, 0, 0, 0}, {12, 12288, 5120, 0, 0, 0, 0}, {42, 514, 85, 1285, 0, 0, 0}, {4102, 64, 1028, 0, 0, 0, 0}, {20495, 30464, 0, 0, 0, 0, 0}, {2048, 64, 4112, 0, 0, 0, 0}, {51, 85, 1280, 4369, 0, 0, 0}, {20570, 20528, 4626, 0, 0, 0, 0}, {5139, 17408, 0, 0, 0, 0, 0}, {204, 5140, 0, 0, 0, 0, 0}, {512, 21, 4096, 0, 0, 0, 0}, {5142, 17408, 0, 0, 0, 0, 0}, {20575, 20576, 5911, 0, 0, 0, 0}, {192, 6168, 12336, 20560, 0, 0, 0}, {25, 51, 512, 85, 1280, 4352, 0}, {4122, 4144, 512, 64, 0, 0, 0}, {5147, 51, 17476, 0, 0, 0, 0}, {5148, 8224, 5200, 0, 0, 0, 0}, {4637, 4642, 85, 1280, 0, 0, 0}, {5150, 102, 17476, 0, 0, 0, 0}, {4127, 4128, 1792, 64, 0, 0, 0}, {2048, 20512, 0, 0, 0, 0, 0}, {1283, 85, 4369, 0, 0, 0, 0}, {170, 2560, 8738, 20480, 0, 0, 0}, {12, 51, 771, 64, 1024, 4112, 0}, {12, 5156, 17476, 0, 0, 0, 0}, {1295, 1317, 512, 85, 0, 0, 0}, {12, 38, 512, 64, 1024, 4096, 0}, {255, 3855, 10023, 20560, 0, 0, 0}, {20640, 10280, 0, 0, 0, 0, 0}, {259, 21, 4352, 0, 0, 0, 0}, {42, 512, 20480, 0, 0, 0, 0}, {12, 51, 771, 5140, 0, 0, 0}, {12, 4128, 64, 1024, 0, 0, 0}, {1295, 8738, 85, 0, 0, 0, 0}, {12, 5154, 1536, 5188, 0, 0, 0}, {1807, 1904, 20560, 0, 0, 0, 0}, {18432, 20528, 0, 0, 0, 0, 0}, {1299, 85, 4369, 0, 0, 0, 0}, {42, 514, 64, 4112, 0, 0, 0}, {51, 5120, 0, 0, 0, 0, 0}, {76, 5172, 17476, 0, 0, 0, 0}, {1290, 1333, 4608, 85, 0, 0, 0}, {2570, 5174, 5200, 0, 0, 0, 0}, {1800, 1847, 64, 4096, 0, 0, 0}, {2056, 4144, 64, 0, 0, 0, 0}, {1290, 51, 85, 4352, 0, 0, 0}, {4698, 4656, 20560, 0, 0, 0, 0}, {5128, 51, 4864, 5188, 0, 0, 0}, {5180, 17408, 0, 0, 0, 0, 0}, {4128, 514, 21, 0, 0, 0, 0}, {76, 102, 514, 5140, 0, 0, 0}, {63, 5888, 20480, 0, 0, 0, 0}, {2048, 64, 4096, 0, 0, 0, 0}, {51, 85, 1285, 4369, 0, 0, 0}, {20490, 20576, 16962, 0, 0, 0, 0}, {5187, 17408, 0, 0, 0, 0, 0}, {15360, 5188, 0, 0, 0, 0, 0}, {544, 21, 4112, 0, 0, 0, 0}, {5190, 17408, 0, 0, 0, 0, 0}, {20495, 20528, 18247, 0, 0, 0, 0}, {192, 6216, 12288, 20480, 0, 0, 0}, {25, 51, 531, 85, 1285, 4352, 0}, {4106, 4128, 4608, 64, 0, 0, 0}, {5195, 51, 17476, 0, 0, 0, 0}, {76, 8192, 5120, 0, 0, 0, 0}, {63, 4626, 85, 1285, 0, 0, 0}, {5198, 102, 17476, 0, 0, 0, 0}, {4111, 4144, 5888, 64, 0, 0, 0}, {10400, 20560, 0, 0, 0, 0, 0}, {768, 260, 273, 0, 0, 0, 0}, {20570, 20592, 21074, 0, 0, 0, 0}, {5203, 17408, 0, 0, 0, 0, 0}, {12, 64, 1028, 4112, 0, 0, 0}, {8704, 85, 1280, 0, 0, 0, 0}, {5206, 17408, 0, 0, 0, 0, 0}, {20575, 20512, 22359, 0, 0, 0, 0}, {128, 2056, 8224, 20560, 0, 0, 0}, {12, 51, 768, 85, 1280, 4352, 0}, {20570, 8704, 0, 0, 0, 0, 0}, {4115, 64, 1028, 0, 0, 0, 0}, {12, 12336, 5200, 0, 0, 0, 0}, {520, 546, 85, 1280, 0, 0, 0}, {4118, 64, 1028, 0, 0, 0, 0}, {20575, 30464, 0, 0, 0, 0, 0}, {18432, 20576, 0, 0, 0, 0, 0}, {1302, 85, 4369, 0, 0, 0, 0}, {520, 546, 64, 4096, 0, 0, 0}, {3855, 51, 5200, 0, 0, 0, 0}, {76, 5220, 17476, 0, 0, 0, 0}, {1295, 1328, 5888, 85, 0, 0, 0}, {102, 5120, 0, 0, 0, 0, 0}, {63, 1799, 64, 4112, 0, 0, 0}, {2056, 4128, 64, 0, 0, 0, 0}, {1295, 51, 85, 4352, 0, 0, 0}, {106, 4608, 20480, 0, 0, 0, 0}, {76, 51, 4883, 5140, 0, 0, 0}, {5228, 17408, 0, 0, 0, 0, 0}, {4144, 4626, 21, 0, 0, 0, 0}, {5128, 5154, 5632, 5188, 0, 0, 0}, {5983, 5984, 20560, 0, 0, 0, 0}, {2048, 20592, 0, 0, 0, 0, 0}, {1286, 85, 4369, 0, 0, 0, 0}, {170, 2570, 8738, 20560, 0, 0, 0}, {12, 51, 768, 64, 1024, 4096, 0}, {12, 5236, 17476, 0, 0, 0, 0}, {1290, 1312, 1792, 85, 0, 0, 0}, {12, 38, 518, 64, 1024, 4112, 0}, {255, 3840, 10103, 20480, 0, 0, 0}, {20720, 30840, 0, 0, 0, 0, 0}, {275, 21, 4352, 0, 0, 0, 0}, {522, 544, 20560, 0, 0, 0, 0}, {12, 51, 768, 5188, 0, 0, 0}, {12, 4144, 64, 1024, 0, 0, 0}, {1290, 8738, 85, 0, 0, 0, 0}, {12, 102, 4626, 5140, 0, 0, 0}, {127, 1792, 20480, 0, 0, 0, 0}, {128, 2048, 8192, 20480, 0, 0, 0}, {12, 51, 771, 85, 1285, 4369, 0}, {20490, 8738, 0, 0, 0, 0, 0}, {4099, 64, 1024, 0, 0, 0, 0}, {12, 12288, 5188, 0, 0, 0, 0}, {522, 544, 85, 1285, 0, 0, 0}, {4102, 64, 1024, 0, 0, 0, 0}, {20495, 30583, 0, 0, 0, 0, 0}, {10376, 20480, 0, 0, 0, 0, 0}, {771, 261, 272, 0, 0, 0, 0}, {20490, 20512, 20992, 0, 0, 0, 0}, {5191, 17476, 0, 0, 0, 0, 0}, {12, 64, 1024, 4096, 0, 0, 0}, {8738, 85, 1285, 0, 0, 0, 0}, {5186, 17476, 0, 0, 0, 0, 0}, {20495, 20592, 22272, 0, 0, 0, 0}, {192, 6224, 12336, 20560, 0, 0, 0}, {25, 51, 529, 85, 1280, 4369, 0}, {4122, 4144, 4626, 64, 0, 0, 0}, {5215, 51, 17408, 0, 0, 0, 0}, {76, 8224, 5140, 0, 0, 0, 0}, {63, 4608, 85, 1280, 0, 0, 0}, {5210, 102, 17408, 0, 0, 0, 0}, {4127, 4128, 5911, 64, 0, 0, 0}, {2056, 64, 4112, 0, 0, 0, 0}, {51, 85, 1280, 4352, 0, 0, 0}, {20570, 20528, 16896, 0, 0, 0, 0}, {5207, 17476, 0, 0, 0, 0, 0}, {15420, 5200, 0, 0, 0, 0, 0}, {546, 21, 4096, 0, 0, 0, 0}, {5202, 17476, 0, 0, 0, 0, 0}, {20575, 20576, 18176, 0, 0, 0, 0}, {20640, 30720, 0, 0, 0, 0, 0}, {274, 21, 4369, 0, 0, 0, 0}, {520, 546, 20480, 0, 0, 0, 0}, {12, 51, 771, 5200, 0, 0, 0}, {12, 4128, 64, 1028, 0, 0, 0}, {1295, 8704, 85, 0, 0, 0, 0}, {12, 102, 4608, 5120, 0, 0, 0}, {127, 1799, 20560, 0, 0, 0, 0}, {2056, 20512, 0, 0, 0, 0, 0}, {1283, 85, 4352, 0, 0, 0, 0}, {170, 2560, 8704, 20480, 0, 0, 0}, {12, 51, 771, 64, 1028, 4112, 0}, {12, 5216, 17408, 0, 0, 0, 0}, {1295, 1317, 1799, 85, 0, 0, 0}, {12, 38, 516, 64, 1028, 4096, 0}, {255, 3855, 10064, 20560, 0, 0, 0}, {2048, 4144, 64, 0, 0, 0, 0}, {1290, 51, 85, 4369, 0, 0, 0}, {106, 4626, 20560, 0, 0, 0, 0}, {76, 51, 4864, 5120, 0, 0, 0}, {5240, 17476, 0, 0, 0, 0, 0}, {4128, 4608, 21, 0, 0, 0, 0}, {5148, 5174, 5654, 5200, 0, 0, 0}, {5960, 6007, 20480, 0, 0, 0, 0}, {18504, 20528, 0, 0, 0, 0, 0}, {1299, 85, 4352, 0, 0, 0, 0}, {522, 544, 64, 4112, 0, 0, 0}, {3840, 51, 5188, 0, 0, 0, 0}, {76, 5232, 17408, 0, 0, 0, 0}, {1290, 1333, 5911, 85, 0, 0, 0}, {102, 5140, 0, 0, 0, 0, 0}, {63, 1792, 64, 4096, 0, 0, 0}, {192, 6144, 12288, 20480, 0, 0, 0}, {25, 51, 514, 85, 1285, 4369, 0}, {4106, 4128, 514, 64, 0, 0, 0}, {5135, 51, 17408, 0, 0, 0, 0}, {5128, 8192, 5188, 0, 0, 0, 0}, {4623, 4656, 85, 1285, 0, 0, 0}, {5130, 102, 17408, 0, 0, 0, 0}, {4111, 4144, 1799, 64, 0, 0, 0}, {2056, 64, 4096, 0, 0, 0, 0}, {51, 85, 1285, 4352, 0, 0, 0}, {20490, 20576, 4608, 0, 0, 0, 0}, {5127, 17476, 0, 0, 0, 0, 0}, {204, 5120, 0, 0, 0, 0, 0}, {514, 21, 4112, 0, 0, 0, 0}, {5122, 17476, 0, 0, 0, 0, 0}, {20495, 20528, 5888, 0, 0, 0, 0}, {128, 2048, 8224, 20560, 0, 0, 0}, {12, 51, 768, 85, 1280, 4369, 0}, {20570, 8738, 0, 0, 0, 0, 0}, {4115, 64, 1024, 0, 0, 0, 0}, {12, 12336, 5140, 0, 0, 0, 0}, {42, 512, 85, 1280, 0, 0, 0}, {4118, 64, 1024, 0, 0, 0, 0}, {20575, 30583, 0, 0, 0, 0, 0}, {10280, 20560, 0, 0, 0, 0, 0}, {51, 21, 256, 0, 0, 0, 0}, {20570, 20592, 512, 0, 0, 0, 0}, {5143, 17476, 0, 0, 0, 0, 0}, {12, 64, 1024, 4112, 0, 0, 0}, {8738, 85, 1280, 0, 0, 0, 0}, {5138, 17476, 0, 0, 0, 0, 0}, {20575, 20512, 1792, 0, 0, 0, 0}, {2048, 4128, 64, 0, 0, 0, 0}, {1295, 51, 85, 4369, 0, 0, 0}, {4680, 4642, 20480, 0, 0, 0, 0}, {5148, 51, 4883, 5200, 0, 0, 0}, {5160, 17476, 0, 0, 0, 0, 0}, {4144, 512, 21, 0, 0, 0, 0}, {76, 102, 512, 5120, 0, 0, 0}, {63, 5911, 20560, 0, 0, 0, 0}, {18504, 20576, 0, 0, 0, 0, 0}, {1302, 85, 4352, 0, 0, 0, 0}, {42, 512, 64, 4096, 0, 0, 0}, {51, 5140, 0, 0, 0, 0, 0}, {76, 5152, 17408, 0, 0, 0, 0}, {1295, 1328, 4626, 85, 0, 0, 0}, {2560, 5154, 5188, 0, 0, 0, 0}, {1807, 1840, 64, 4112, 0, 0, 0}, {20720, 10240, 0, 0, 0, 0, 0}, {258, 21, 4369, 0, 0, 0, 0}, {42, 514, 20560, 0, 0, 0, 0}, {12, 51, 768, 5120, 0, 0, 0}, {12, 4144, 64, 1028, 0, 0, 0}, {1290, 8704, 85, 0, 0, 0, 0}, {12, 5174, 1542, 5200, 0, 0, 0}, {1800, 1911, 20480, 0, 0, 0, 0}, {2056, 20592, 0, 0, 0, 0, 0}, {1286, 85, 4352, 0, 0, 0, 0}, {170, 2570, 8704, 20560, 0, 0, 0}, {12, 51, 768, 64, 1028, 4096, 0}, {12, 5168, 17408, 0, 0, 0, 0}, {1290, 1312, 514, 85, 0, 0, 0}, {12, 38, 514, 64, 1028, 4112, 0}, {255, 3840, 9984, 20480, 0, 0, 0}, {13056, 5376, 0, 0, 0, 0, 0}, {40, 80, 257, 0, 0, 0, 0}, {5378, 17408, 0, 0, 0, 0, 0}, {21775, 16432, 771, 0, 0, 0, 0}, {8704, 4420, 1028, 0, 0, 0, 0}, {783, 80, 1285, 4096, 0, 0, 0}, {21770, 16480, 1542, 0, 0, 0, 0}, {5383, 17408, 0, 0, 0, 0, 0}, {1032, 4352, 0, 0, 0, 0, 0}, {4144, 771, 80, 1285, 0, 0, 0}, {5386, 4864, 16384, 0, 0, 0, 0}, {4427, 4403, 771, 1028, 0, 0, 0}, {9740, 21760, 0, 0, 0, 0, 0}, {4128, 514, 4357, 0, 0, 0, 0}, {4430, 4454, 514, 1028, 0, 0, 0}, {5391, 5632, 16384, 0, 0, 0, 0}, {816, 80, 1280, 4112, 0, 0, 0}, {2048, 1092, 4369, 0, 0, 0, 0}, {5394, 17408, 0, 0, 0, 0, 0}, {21855, 16416, 4883, 0, 0, 0, 0}, {512, 276, 4096, 0, 0, 0, 0}, {13311, 5397, 0, 0, 0, 0, 0}, {21850, 16496, 5654, 0, 0, 0, 0}, {5399, 17408, 0, 0, 0, 0, 0}, {280, 304, 512, 80, 1280, 4352, 0}, {5589, 6425, 13107, 21845, 0, 0, 0}, {5402, 816, 16448, 0, 0, 0, 0}, {4379, 4403, 512, 1092, 0, 0, 0}, {4892, 4128, 80, 1280, 0, 0, 0}, {5405, 8738, 4437, 0, 0, 0, 0}, {4382, 5410, 1792, 1092, 0, 0, 0}, {5407, 1632, 16448, 0, 0, 0, 0}, {5408, 1536, 21760, 0, 0, 0, 0}, {1036, 1140, 771, 4369, 0, 0, 0}, {4386, 1024, 0, 0, 0, 0, 0}, {1295, 771, 80, 4112, 0, 0, 0}, {1036, 1060, 512, 4420, 0, 0, 0}, {783, 5413, 21845, 0, 0, 0, 0}, {5610, 3084, 9766, 16448, 0, 0, 0}, {271, 295, 512, 80, 1024, 4096, 0}, {40, 512, 1024, 4352, 0, 0, 0}, {240, 771, 5397, 0, 0, 0, 0}, {5418, 13056, 0, 0, 0, 0, 0}, {259, 80, 5140, 0, 0, 0, 0}, {1548, 8224, 5440, 0, 0, 0, 0}, {783, 4642, 4437, 1024, 0, 0, 0}, {1036, 4454, 17476, 0, 0, 0, 0}, {1295, 4128, 1536, 80, 0, 0, 0}, {5424, 5632, 21760, 0, 0, 0, 0}, {1100, 1124, 514, 4369, 0, 0, 0}, {282, 306, 514, 80, 1040, 4112, 0}, {5631, 6451, 13107, 16384, 0, 0, 0}, {5384, 1076, 4608, 4420, 0, 0, 0}, {4959, 5429, 21845, 0, 0, 0, 0}, {1290, 1590, 80, 4096, 0, 0, 0}, {2056, 5431, 1088, 0, 0, 0, 0}, {1800, 816, 1088, 4352, 0, 0, 0}, {2570, 4915, 5461, 0, 0, 0, 0}, {1290, 4144, 4864, 80, 0, 0, 0}, {1100, 4403, 17476, 0, 0, 0, 0}, {828, 12288, 5376, 0, 0, 0, 0}, {40, 514, 4437, 5397, 0, 0, 0}, {278, 80, 5140, 0, 0, 0, 0}, {5439, 26112, 0, 0, 0, 0, 0}, {13056, 5440, 0, 0, 0, 0, 0}, {522, 1285, 273, 0, 0, 0, 0}, {5442, 17408, 0, 0, 0, 0, 0}, {21775, 16496, 17219, 0, 0, 0, 0}, {8704, 4420, 5376, 0, 0, 0, 0}, {831, 80, 1285, 4112, 0, 0, 0}, {21770, 16416, 17990, 0, 0, 0, 0}, {5447, 17408, 0, 0, 0, 0, 0}, {1096, 4352, 0, 0, 0, 0, 0}, {4128, 4883, 80, 1285, 0, 0, 0}, {5450, 4896, 16448, 0, 0, 0, 0}, {5391, 4403, 4608, 1092, 0, 0, 0}, {9804, 21760, 0, 0, 0, 0, 0}, {4144, 4626, 4357, 0, 0, 0, 0}, {5386, 5410, 5888, 1092, 0, 0, 0}, {5455, 5744, 16448, 0, 0, 0, 0}, {768, 80, 1280, 4096, 0, 0, 0}, {136, 1028, 4369, 0, 0, 0, 0}, {5458, 17408, 0, 0, 0, 0, 0}, {21855, 16480, 21331, 0, 0, 0, 0}, {544, 260, 4112, 0, 0, 0, 0}, {3072, 5461, 0, 0, 0, 0, 0}, {21850, 16432, 22102, 0, 0, 0, 0}, {5463, 17408, 0, 0, 0, 0, 0}, {264, 288, 768, 80, 1280, 4352, 0}, {5525, 3084, 13107, 21845, 0, 0, 0}, {5466, 768, 16384, 0, 0, 0, 0}, {4379, 4403, 4883, 1028, 0, 0, 0}, {780, 4144, 80, 1280, 0, 0, 0}, {1032, 8738, 4437, 0, 0, 0, 0}, {4382, 4454, 4626, 1028, 0, 0, 0}, {5471, 1536, 16384, 0, 0, 0, 0}, {5472, 4864, 21760, 0, 0, 0, 0}, {1100, 1076, 1799, 4369, 0, 0, 0}, {2056, 4386, 1088, 0, 0, 0, 0}, {1295, 819, 80, 4096, 0, 0, 0}, {5384, 5408, 5888, 4420, 0, 0, 0}, {5722, 5477, 21845, 0, 0, 0, 0}, {5546, 6502, 9830, 16384, 0, 0, 0}, {287, 311, 791, 80, 1040, 4112, 0}, {520, 544, 1088, 4352, 0, 0, 0}, {3855, 819, 5461, 0, 0, 0, 0}, {5482, 13056, 0, 0, 0, 0, 0}, {275, 80, 5140, 0, 0, 0, 0}, {4972, 8192, 5376, 0, 0, 0, 0}, {4397, 4626, 4437, 5397, 0, 0, 0}, {1100, 4454, 17476, 0, 0, 0, 0}, {1295, 4144, 5632, 80, 0, 0, 0}, {5488, 768, 21760, 0, 0, 0, 0}, {1036, 1060, 1542, 4369, 0, 0, 0}, {266, 290, 768, 80, 1024, 4096, 0}, {5567, 3084, 13107, 16448, 0, 0, 0}, {1036, 5424, 1792, 4420, 0, 0, 0}, {1546, 5493, 21845, 0, 0, 0, 0}, {1290, 1542, 80, 4112, 0, 0, 0}, {4471, 1024, 0, 0, 0, 0, 0}, {120, 768, 1024, 4352, 0, 0, 0}, {160, 4883, 5397, 0, 0, 0, 0}, {1290, 4128, 768, 80, 0, 0, 0}, {1036, 4403, 17476, 0, 0, 0, 0}, {780, 12336, 5440, 0, 0, 0, 0}, {522, 546, 4437, 1024, 0, 0, 0}, {262, 80, 5140, 0, 0, 0, 0}, {5503, 26112, 0, 0, 0, 0, 0}, {5504, 3072, 13056, 21760, 0, 0, 0}, {265, 289, 771, 80, 1285, 4369, 0}, {4362, 4386, 4864, 1024, 0, 0, 0}, {5455, 771, 16448, 0, 0, 0, 0}, {1036, 8704, 4420, 0, 0, 0, 0}, {783, 4128, 80, 1285, 0, 0, 0}, {5450, 1542, 16448, 0, 0, 0, 0}, {4367, 4471, 4608, 1024, 0, 0, 0}, {136, 1024, 4352, 0, 0, 0, 0}, {771, 80, 1285, 4112, 0, 0, 0}, {21770, 16416, 21248, 0, 0, 0, 0}, {5447, 17476, 0, 0, 0, 0, 0}, {3084, 5440, 0, 0, 0, 0, 0}, {546, 261, 4096, 0, 0, 0, 0}, {5442, 17476, 0, 0, 0, 0, 0}, {21775, 16496, 22016, 0, 0, 0, 0}, {4144, 4864, 80, 1280, 0, 0, 0}, {1100, 4369, 0, 0, 0, 0, 0}, {5402, 4386, 4626, 1088, 0, 0, 0}, {5471, 4915, 16384, 0, 0, 0, 0}, {4128, 4608, 4372, 0, 0, 0, 0}, {9834, 21845, 0, 0, 0, 0, 0}, {5466, 5734, 16384, 0, 0, 0, 0}, {5407, 5431, 5911, 1088, 0, 0, 0}, {520, 1280, 272, 0, 0, 0, 0}, {13107, 5461, 0, 0, 0, 0, 0}, {21850, 16432, 17152, 0, 0, 0, 0}, {5463, 17476, 0, 0, 0, 0, 0}, {828, 80, 1280, 4096, 0, 0, 0}, {8738, 4437, 5397, 0, 0, 0, 0}, {5458, 17476, 0, 0, 0, 0, 0}, {21855, 16480, 17920, 0, 0, 0, 0}, {160, 4864, 5376, 0, 0, 0, 0}, {120, 771, 1028, 4369, 0, 0, 0}, {1032, 4386, 17408, 0, 0, 0, 0}, {1295, 4144, 771, 80, 0, 0, 0}, {520, 544, 4420, 1028, 0, 0, 0}, {783, 12288, 5461, 0, 0, 0, 0}, {5482, 26214, 0, 0, 0, 0, 0}, {263, 80, 5120, 0, 0, 0, 0}, {1032, 1056, 1536, 4352, 0, 0, 0}, {5477, 771, 21845, 0, 0, 0, 0}, {5546, 3072, 13056, 16384, 0, 0, 0}, {267, 291, 771, 80, 1028, 4112, 0}, {1548, 5472, 21760, 0, 0, 0, 0}, {1032, 5413, 1799, 4437, 0, 0, 0}, {4454, 1028, 0, 0, 0, 0, 0}, {1295, 1536, 80, 4096, 0, 0, 0}, {3840, 816, 5440, 0, 0, 0, 0}, {522, 546, 1092, 4369, 0, 0, 0}, {274, 80, 5120, 0, 0, 0, 0}, {5503, 13107, 0, 0, 0, 0, 0}, {4412, 4608, 4420, 5376, 0, 0, 0}, {4991, 8224, 5397, 0, 0, 0, 0}, {1290, 4128, 5654, 80, 0, 0, 0}, {1096, 4471, 17408, 0, 0, 0, 0}, {1096, 1072, 1792, 4352, 0, 0, 0}, {5493, 4883, 21845, 0, 0, 0, 0}, {1290, 816, 80, 4112, 0, 0, 0}, {2048, 4403, 1092, 0, 0, 0, 0}, {5708, 5488, 21760, 0, 0, 0, 0}, {5405, 5429, 5911, 4437, 0, 0, 0}, {286, 310, 788, 80, 1044, 4096, 0}, {5567, 6527, 9792, 16448, 0, 0, 0}, {5568, 6400, 13056, 21760, 0, 0, 0}, {281, 305, 514, 80, 1285, 4369, 0}, {4362, 4386, 514, 1088, 0, 0, 0}, {5391, 819, 16384, 0, 0, 0, 0}, {5384, 8704, 4420, 0, 0, 0, 0}, {4879, 4144, 80, 1285, 0, 0, 0}, {5386, 1638, 16384, 0, 0, 0, 0}, {4367, 5431, 1799, 1088, 0, 0, 0}, {2056, 1088, 4352, 0, 0, 0, 0}, {819, 80, 1285, 4096, 0, 0, 0}, {21770, 16480, 4864, 0, 0, 0, 0}, {5383, 17476, 0, 0, 0, 0, 0}, {13260, 5376, 0, 0, 0, 0, 0}, {514, 277, 4112, 0, 0, 0, 0}, {5378, 17476, 0, 0, 0, 0, 0}, {21775, 16432, 5632, 0, 0, 0, 0}, {4128, 768, 80, 1280, 0, 0, 0}, {1036, 4369, 0, 0, 0, 0, 0}, {4442, 4386, 768, 1024, 0, 0, 0}, {5407, 4883, 16448, 0, 0, 0, 0}, {4144, 512, 4372, 0, 0, 0, 0}, {9770, 21845, 0, 0, 0, 0, 0}, {5402, 5654, 16448, 0, 0, 0, 0}, {4447, 4471, 512, 1024, 0, 0, 0}, {40, 80, 256, 0, 0, 0, 0}, {13107, 5397, 0, 0, 0, 0, 0}, {21850, 16496, 768, 0, 0, 0, 0}, {5399, 17476, 0, 0, 0, 0, 0}, {780, 80, 1280, 4112, 0, 0, 0}, {8738, 4437, 1024, 0, 0, 0, 0}, {5394, 17476, 0, 0, 0, 0, 0}, {21855, 16416, 1536, 0, 0, 0, 0}, {2560, 4896, 5440, 0, 0, 0, 0}, {1807, 819, 1092, 4369, 0, 0, 0}, {1096, 4386, 17408, 0, 0, 0, 0}, {1295, 4128, 4883, 80, 0, 0, 0}, {40, 512, 4420, 5376, 0, 0, 0}, {831, 12336, 5397, 0, 0, 0, 0}, {5418, 26214, 0, 0, 0, 0, 0}, {279, 80, 5120, 0, 0, 0, 0}, {1096, 1120, 512, 4352, 0, 0, 0}, {5413, 5654, 21845, 0, 0, 0, 0}, {5610, 6442, 13056, 16448, 0, 0, 0}, {283, 307, 512, 80, 1044, 4096, 0}, {4940, 5408, 21760, 0, 0, 0, 0}, {5405, 1072, 4626, 4437, 0, 0, 0}, {2048, 5410, 1092, 0, 0, 0, 0}, {1295, 1584, 80, 4112, 0, 0, 0}, {240, 768, 5376, 0, 0, 0, 0}, {40, 514, 1028, 4369, 0, 0, 0}, {258, 80, 5120, 0, 0, 0, 0}, {5439, 13107, 0, 0, 0, 0, 0}, {780, 4656, 4420, 1028, 0, 0, 0}, {1546, 8192, 5461, 0, 0, 0, 0}, {1290, 4144, 1542, 80, 0, 0, 0}, {1032, 4471, 17408, 0, 0, 0, 0}, {1032, 1136, 768, 4352, 0, 0, 0}, {5429, 1542, 21845, 0, 0, 0, 0}, {1290, 768, 80, 4096, 0, 0, 0}, {4403, 1028, 0, 0, 0, 0, 0}, {780, 5424, 21760, 0, 0, 0, 0}, {1032, 1056, 514, 4437, 0, 0, 0}, {270, 294, 514, 80, 1028, 4112, 0}, {5631, 3072, 9728, 16384, 0, 0, 0}, {23040, 28672, 0, 0, 0, 0, 0}, {23, 68, 257, 0, 0, 0, 0}, {40, 514, 20480, 0, 0, 0, 0}, {12, 51, 771, 5376, 0, 0, 0}, {12, 4608, 68, 1028, 0, 0, 0}, {95, 8192, 1285, 0, 0, 0, 0}, {12, 96, 1542, 4096, 0, 0, 0}, {119, 1799, 21760, 0, 0, 0, 0}, {21000, 8704, 0, 0, 0, 0, 0}, {4099, 4176, 1285, 0, 0, 0, 0}, {160, 2570, 8192, 20480, 0, 0, 0}, {12, 51, 771, 68, 1028, 4352, 0}, {12, 5632, 16384, 0, 0, 0, 0}, {95, 119, 514, 1285, 0, 0, 0}, {4128, 514, 4100, 0, 0, 0, 0}, {9487, 21760, 0, 0, 0, 0, 0}, {2560, 96, 4112, 0, 0, 0, 0}, {51, 1792, 68, 4369, 0, 0, 0}, {72, 4626, 16384, 0, 0, 0, 0}, {95, 51, 4883, 1280, 0, 0, 0}, {40, 512, 68, 5140, 0, 0, 0}, {63, 12288, 5397, 0, 0, 0, 0}, {204, 5654, 0, 0, 0, 0, 0}, {23, 1280, 4096, 0, 0, 0, 0}, {4120, 4144, 512, 4176, 0, 0, 0}, {5657, 51, 21845, 0, 0, 0, 0}, {192, 6682, 12336, 16448, 0, 0, 0}, {27, 51, 512, 68, 1280, 4352, 0}, {5660, 5744, 20560, 0, 0, 0, 0}, {5405, 5410, 1792, 5461, 0, 0, 0}, {5662, 8738, 68, 0, 0, 0, 0}, {4127, 4128, 4160, 1280, 0, 0, 0}, {160, 2560, 8224, 20480, 0, 0, 0}, {12, 51, 771, 68, 1024, 4369, 0}, {2048, 21026, 0, 0, 0, 0, 0}, {1283, 1360, 4112, 0, 0, 0, 0}, {12, 36, 512, 68, 1024, 4096, 0}, {255, 3855, 9509, 21845, 0, 0, 0}, {12, 5670, 16448, 0, 0, 0, 0}, {1295, 1319, 512, 1360, 0, 0, 0}, {40, 512, 20480, 0, 0, 0, 0}, {12, 51, 771, 5397, 0, 0, 0}, {28800, 10794, 0, 0, 0, 0, 0}, {259, 276, 4352, 0, 0, 0, 0}, {12, 4128, 1536, 4160, 0, 0, 0}, {1807, 119, 21845, 0, 0, 0, 0}, {12, 4642, 68, 1024, 0, 0, 0}, {1295, 8224, 1360, 0, 0, 0, 0}, {192, 6704, 12336, 16384, 0, 0, 0}, {27, 51, 514, 68, 1297, 4369, 0}, {72, 96, 514, 4112, 0, 0, 0}, {51, 5632, 21760, 0, 0, 0, 0}, {2056, 5684, 68, 0, 0, 0, 0}, {1290, 1333, 1365, 4096, 0, 0, 0}, {5722, 5686, 20560, 0, 0, 0, 0}, {5384, 5431, 4608, 5440, 0, 0, 0}, {72, 4656, 16448, 0, 0, 0, 0}, {1290, 51, 4864, 1365, 0, 0, 0}, {2570, 4144, 4176, 0, 0, 0, 0}, {1800, 51, 68, 4352, 0, 0, 0}, {5692, 26112, 0, 0, 0, 0, 0}, {23, 4160, 5397, 0, 0, 0, 0}, {40, 514, 68, 5140, 0, 0, 0}, {63, 12288, 5376, 0, 0, 0, 0}, {192, 6720, 12288, 16448, 0, 0, 0}, {27, 51, 529, 68, 1285, 4369, 0}, {72, 96, 578, 4096, 0, 0, 0}, {51, 5699, 21760, 0, 0, 0, 0}, {5632, 68, 0, 0, 0, 0, 0}, {95, 96, 1285, 4112, 0, 0, 0}, {108, 5702, 20480, 0, 0, 0, 0}, {72, 119, 4679, 5376, 0, 0, 0}, {72, 4608, 16384, 0, 0, 0, 0}, {95, 51, 4883, 1285, 0, 0, 0}, {2570, 4128, 4160, 0, 0, 0, 0}, {1807, 51, 68, 4352, 0, 0, 0}, {5708, 26112, 0, 0, 0, 0, 0}, {23, 4176, 1285, 0, 0, 0, 0}, {522, 546, 68, 5120, 0, 0, 0}, {63, 12336, 5440, 0, 0, 0, 0}, {160, 2560, 8192, 20560, 0, 0, 0}, {12, 51, 768, 68, 1028, 4369, 0}, {136, 21074, 0, 0, 0, 0, 0}, {83, 1280, 4096, 0, 0, 0, 0}, {12, 36, 516, 68, 1028, 4112, 0}, {255, 3840, 9557, 21845, 0, 0, 0}, {12, 5718, 16384, 0, 0, 0, 0}, {95, 119, 599, 1280, 0, 0, 0}, {520, 544, 20560, 0, 0, 0, 0}, {12, 51, 768, 5461, 0, 0, 0}, {28912, 23130, 0, 0, 0, 0, 0}, {275, 260, 4352, 0, 0, 0, 0}, {12, 4144, 1536, 4176, 0, 0, 0}, {1800, 119, 21845, 0, 0, 0, 0}, {12, 4626, 68, 1028, 0, 0, 0}, {95, 8192, 1280, 0, 0, 0, 0}, {2560, 96, 4096, 0, 0, 0, 0}, {51, 1799, 68, 4369, 0, 0, 0}, {72, 4642, 16448, 0, 0, 0, 0}, {1295, 51, 4864, 1360, 0, 0, 0}, {520, 544, 68, 5120, 0, 0, 0}, {63, 12336, 5461, 0, 0, 0, 0}, {19456, 5734, 0, 0, 0, 0, 0}, {23, 1360, 4112, 0, 0, 0, 0}, {4104, 4128, 4608, 4160, 0, 0, 0}, {5722, 51, 21845, 0, 0, 0, 0}, {192, 6762, 12288, 16384, 0, 0, 0}, {27, 51, 531, 68, 1300, 4352, 0}, {108, 5632, 20480, 0, 0, 0, 0}, {72, 119, 4626, 5397, 0, 0, 0}, {5674, 8738, 68, 0, 0, 0, 0}, {4111, 4144, 4176, 5376, 0, 0, 0}, {23280, 28784, 0, 0, 0, 0, 0}, {262, 1024, 273, 0, 0, 0, 0}, {522, 546, 20560, 0, 0, 0, 0}, {12, 51, 768, 5440, 0, 0, 0}, {12, 4656, 68, 1024, 0, 0, 0}, {1290, 8224, 1365, 0, 0, 0, 0}, {12, 96, 1542, 4112, 0, 0, 0}, {119, 1792, 21760, 0, 0, 0, 0}, {21112, 8704, 0, 0, 0, 0, 0}, {4115, 4160, 5397, 0, 0, 0, 0}, {160, 2570, 8224, 20560, 0, 0, 0}, {12, 51, 768, 68, 1024, 4352, 0}, {12, 5744, 16448, 0, 0, 0, 0}, {1290, 1314, 1792, 1365, 0, 0, 0}, {4144, 4626, 4116, 0, 0, 0, 0}, {9599, 21760, 0, 0, 0, 0, 0}, {28800, 23040, 0, 0, 0, 0, 0}, {274, 261, 4369, 0, 0, 0, 0}, {522, 546, 20480, 0, 0, 0, 0}, {12, 51, 771, 5440, 0, 0, 0}, {12, 4608, 68, 1024, 0, 0, 0}, {95, 8224, 1285, 0, 0, 0, 0}, {12, 4128, 1542, 4160, 0, 0, 0}, {1807, 119, 21760, 0, 0, 0, 0}, {136, 20992, 0, 0, 0, 0, 0}, {83, 1285, 4112, 0, 0, 0, 0}, {160, 2570, 8224, 20480, 0, 0, 0}, {12, 51, 771, 68, 1024, 4352, 0}, {12, 5696, 16448, 0, 0, 0, 0}, {95, 119, 597, 1285, 0, 0, 0}, {12, 36, 518, 68, 1024, 4096, 0}, {255, 3855, 9584, 21760, 0, 0, 0}, {2560, 4144, 4176, 0, 0, 0, 0}, {1800, 51, 68, 4369, 0, 0, 0}, {72, 4626, 16448, 0, 0, 0, 0}, {95, 51, 4864, 1280, 0, 0, 0}, {520, 544, 68, 5140, 0, 0, 0}, {63, 12288, 5461, 0, 0, 0, 0}, {5722, 26214, 0, 0, 0, 0, 0}, {23, 4160, 1280, 0, 0, 0, 0}, {72, 96, 576, 4112, 0, 0, 0}, {51, 5717, 21845, 0, 0, 0, 0}, {192, 6746, 12336, 16384, 0, 0, 0}, {27, 51, 531, 68, 1280, 4352, 0}, {108, 5712, 20560, 0, 0, 0, 0}, {72, 119, 4693, 5397, 0, 0, 0}, {5654, 68, 0, 0, 0, 0, 0}, {95, 96, 1280, 4096, 0, 0, 0}, {160, 2560, 8192, 20480, 0, 0, 0}, {12, 51, 771, 68, 1028, 4369, 0}, {21034, 8738, 0, 0, 0, 0, 0}, {4099, 4176, 5376, 0, 0, 0, 0}, {4128, 4608, 4100, 0, 0, 0, 0}, {9562, 21845, 0, 0, 0, 0, 0}, {12, 5734, 16384, 0, 0, 0, 0}, {1295, 1319, 1799, 1360, 0, 0, 0}, {520, 544, 20480, 0, 0, 0, 0}, {12, 51, 771, 5461, 0, 0, 0}, {23210, 28672, 0, 0, 0, 0, 0}, {263, 1028, 272, 0, 0, 0, 0}, {12, 96, 1536, 4096, 0, 0, 0}, {119, 1799, 21845, 0, 0, 0, 0}, {12, 4642, 68, 1028, 0, 0, 0}, {1295, 8192, 1360, 0, 0, 0, 0}, {192, 6768, 12336, 16448, 0, 0, 0}, {27, 51, 529, 68, 1297, 4369, 0}, {4120, 4144, 4626, 4176, 0, 0, 0}, {5708, 51, 21760, 0, 0, 0, 0}, {5692, 8704, 68, 0, 0, 0, 0}, {4127, 4128, 4160, 5397, 0, 0, 0}, {108, 5654, 20560, 0, 0, 0, 0}, {72, 119, 4608, 5376, 0, 0, 0}, {72, 4656, 16384, 0, 0, 0, 0}, {1290, 51, 4883, 1365, 0, 0, 0}, {2570, 96, 4112, 0, 0, 0, 0}, {51, 1792, 68, 4352, 0, 0, 0}, {19532, 5744, 0, 0, 0, 0, 0}, {23, 1365, 4096, 0, 0, 0, 0}, {522, 546, 68, 5140, 0, 0, 0}, {63, 12288, 5440, 0, 0, 0, 0}, {192, 6656, 12288, 16384, 0, 0, 0}, {27, 51, 514, 68, 1285, 4369, 0}, {4104, 4128, 514, 4160, 0, 0, 0}, {5647, 51, 21760, 0, 0, 0, 0}, {5640, 8704, 68, 0, 0, 0, 0}, {4111, 4144, 4176, 1285, 0, 0, 0}, {5642, 5734, 20480, 0, 0, 0, 0}, {5384, 5431, 1799, 5440, 0, 0, 0}, {72, 4608, 16448, 0, 0, 0, 0}, {95, 51, 4864, 1285, 0, 0, 0}, {2570, 96, 4096, 0, 0, 0, 0}, {51, 1799, 68, 4352, 0, 0, 0}, {204, 5632, 0, 0, 0, 0, 0}, {23, 1285, 4112, 0, 0, 0, 0}, {40, 514, 68, 5120, 0, 0, 0}, {63, 12336, 5376, 0, 0, 0, 0}, {160, 2560, 8224, 20560, 0, 0, 0}, {12, 51, 768, 68, 1024, 4369, 0}, {21082, 8738, 0, 0, 0, 0, 0}, {4115, 4160, 1280, 0, 0, 0, 0}, {4144, 512, 4116, 0, 0, 0, 0}, {9514, 21845, 0, 0, 0, 0, 0}, {12, 5654, 16448, 0, 0, 0, 0}, {95, 119, 512, 1280, 0, 0, 0}, {40, 512, 20560, 0, 0, 0, 0}, {12, 51, 768, 5397, 0, 0, 0}, {23130, 28784, 0, 0, 0, 0, 0}, {23, 68, 256, 0, 0, 0, 0}, {12, 96, 1536, 4112, 0, 0, 0}, {119, 1792, 21845, 0, 0, 0, 0}, {12, 4626, 68, 1024, 0, 0, 0}, {95, 8224, 1280, 0, 0, 0, 0}, {2560, 4128, 4160, 0, 0, 0, 0}, {1807, 51, 68, 4369, 0, 0, 0}, {72, 4642, 16384, 0, 0, 0, 0}, {1295, 51, 4883, 1360, 0, 0, 0}, {40, 512, 68, 5120, 0, 0, 0}, {63, 12336, 5397, 0, 0, 0, 0}, {5674, 26214, 0, 0, 0, 0, 0}, {23, 4176, 5376, 0, 0, 0, 0}, {72, 96, 512, 4096, 0, 0, 0}, {51, 5654, 21845, 0, 0, 0, 0}, {192, 6698, 12288, 16448, 0, 0, 0}, {27, 51, 512, 68, 1300, 4352, 0}, {5708, 5664, 20480, 0, 0, 0, 0}, {5405, 5410, 4626, 5461, 0, 0, 0}, {2048, 5666, 68, 0, 0, 0, 0}, {1295, 1328, 1360, 4112, 0, 0, 0}, {28912, 10752, 0, 0, 0, 0, 0}, {258, 277, 4369, 0, 0, 0, 0}, {40, 514, 20560, 0, 0, 0, 0}, {12, 51, 768, 5376, 0, 0, 0}, {12, 4656, 68, 1028, 0, 0, 0}, {1290, 8192, 1365, 0, 0, 0, 0}, {12, 4144, 1542, 4176, 0, 0, 0}, {1800, 119, 21760, 0, 0, 0, 0}, {2056, 21104, 0, 0, 0, 0, 0}, {1286, 1365, 4096, 0, 0, 0, 0}, {160, 2570, 8192, 20560, 0, 0, 0}, {12, 51, 768, 68, 1028, 4352, 0}, {12, 5680, 16384, 0, 0, 0, 0}, {1290, 1314, 514, 1365, 0, 0, 0}, {12, 36, 514, 68, 1028, 4112, 0}, {255, 3840, 9472, 21760, 0, 0, 0}, {5888, 17408, 0, 0, 0, 0, 0}, {90, 112, 257, 0, 0, 0, 0}, {4360, 4386, 514, 5376, 0, 0, 0}, {5180, 771, 20480, 0, 0, 0, 0}, {4940, 8192, 1028, 0, 0, 0, 0}, {4367, 4608, 4437, 1285, 0, 0, 0}, {4454, 1542, 21760, 0, 0, 0, 0}, {1032, 112, 1799, 4096, 0, 0, 0}, {1032, 4864, 16384, 0, 0, 0, 0}, {90, 4403, 771, 1285, 0, 0, 0}, {1546, 4352, 0, 0, 0, 0, 0}, {4144, 771, 4160, 1028, 0, 0, 0}, {21260, 30464, 0, 0, 0, 0, 0}, {4359, 4176, 1285, 0, 0, 0, 0}, {42, 514, 4420, 1028, 0, 0, 0}, {783, 12288, 5120, 0, 0, 0, 0}, {1072, 1792, 1088, 4112, 0, 0, 0}, {2560, 1638, 4369, 0, 0, 0, 0}, {90, 4386, 4626, 1280, 0, 0, 0}, {1100, 4883, 16384, 0, 0, 0, 0}, {828, 12288, 5140, 0, 0, 0, 0}, {42, 512, 4437, 5397, 0, 0, 0}, {278, 1280, 4096, 0, 0, 0, 0}, {17544, 5911, 0, 0, 0, 0, 0}, {5912, 816, 20560, 0, 0, 0, 0}, {4377, 4403, 512, 5461, 0, 0, 0}, {282, 304, 512, 320, 1280, 4352, 0}, {6103, 6939, 13107, 17476, 0, 0, 0}, {5148, 4128, 1792, 4176, 0, 0, 0}, {5917, 4471, 21845, 0, 0, 0, 0}, {4382, 4642, 4420, 1280, 0, 0, 0}, {5919, 8224, 1088, 0, 0, 0, 0}, {4896, 1024, 0, 0, 0, 0, 0}, {1295, 771, 1365, 4369, 0, 0, 0}, {4386, 1536, 21760, 0, 0, 0, 0}, {1036, 112, 771, 4112, 0, 0, 0}, {6120, 3084, 9252, 17476, 0, 0, 0}, {271, 293, 512, 341, 1024, 4096, 0}, {1036, 1062, 512, 5440, 0, 0, 0}, {783, 5927, 20560, 0, 0, 0, 0}, {5928, 13056, 0, 0, 0, 0, 0}, {259, 4160, 5397, 0, 0, 0, 0}, {42, 512, 1024, 4352, 0, 0, 0}, {240, 771, 5140, 0, 0, 0, 0}, {1036, 5984, 16448, 0, 0, 0, 0}, {1295, 5154, 1536, 1365, 0, 0, 0}, {1548, 8738, 4420, 0, 0, 0, 0}, {783, 4128, 4176, 1024, 0, 0, 0}, {816, 5120, 0, 0, 0, 0, 0}, {42, 514, 1092, 4369, 0, 0, 0}, {1042, 1360, 4112, 0, 0, 0, 0}, {18432, 21299, 0, 0, 0, 0, 0}, {1800, 1076, 1092, 4096, 0, 0, 0}, {2570, 5941, 4437, 0, 0, 0, 0}, {1290, 5174, 4608, 1360, 0, 0, 0}, {1096, 5943, 16448, 0, 0, 0, 0}, {5128, 4144, 4864, 4160, 0, 0, 0}, {5983, 4403, 21845, 0, 0, 0, 0}, {1290, 816, 1360, 4352, 0, 0, 0}, {2056, 4915, 1092, 0, 0, 0, 0}, {5180, 5888, 20480, 0, 0, 0, 0}, {4445, 4471, 514, 5397, 0, 0, 0}, {4128, 514, 276, 0, 0, 0, 0}, {5951, 17408, 0, 0, 0, 0, 0}, {4864, 1088, 0, 0, 0, 0, 0}, {90, 819, 1285, 4369, 0, 0, 0}, {4386, 5954, 21760, 0, 0, 0, 0}, {1100, 112, 835, 4096, 0, 0, 0}, {6024, 6980, 9284, 17476, 0, 0, 0}, {287, 309, 789, 325, 1285, 4112, 0}, {4428, 4454, 4934, 5376, 0, 0, 0}, {5240, 5959, 20480, 0, 0, 0, 0}, {5960, 13056, 0, 0, 0, 0, 0}, {275, 4176, 1285, 0, 0, 0, 0}, {522, 544, 1088, 4352, 0, 0, 0}, {3855, 819, 5188, 0, 0, 0, 0}, {1100, 5888, 16384, 0, 0, 0, 0}, {90, 4471, 4626, 1285, 0, 0, 0}, {5928, 8738, 4420, 0, 0, 0, 0}, {4879, 4144, 4160, 5120, 0, 0, 0}, {768, 5200, 0, 0, 0, 0, 0}, {520, 546, 1028, 4369, 0, 0, 0}, {338, 1280, 4096, 0, 0, 0, 0}, {17612, 21331, 0, 0, 0, 0, 0}, {780, 112, 1028, 4112, 0, 0, 0}, {1536, 4437, 0, 0, 0, 0, 0}, {90, 4454, 854, 1280, 0, 0, 0}, {1032, 5975, 16384, 0, 0, 0, 0}, {1032, 4128, 768, 4176, 0, 0, 0}, {1548, 4403, 21845, 0, 0, 0, 0}, {90, 768, 1280, 4352, 0, 0, 0}, {128, 4883, 1028, 0, 0, 0, 0}, {780, 5984, 20560, 0, 0, 0, 0}, {1032, 1058, 1536, 5461, 0, 0, 0}, {4144, 4626, 260, 0, 0, 0, 0}, {5983, 17408, 0, 0, 0, 0, 0}, {5984, 17408, 0, 0, 0, 0, 0}, {1295, 1799, 273, 0, 0, 0, 0}, {4360, 4386, 4864, 5440, 0, 0, 0}, {5983, 819, 20560, 0, 0, 0, 0}, {5928, 8224, 1092, 0, 0, 0, 0}, {4367, 4656, 4437, 5120, 0, 0, 0}, {4454, 5888, 21760, 0, 0, 0, 0}, {1096, 112, 1799, 4112, 0, 0, 0}, {1096, 4896, 16448, 0, 0, 0, 0}, {1295, 4403, 4608, 1365, 0, 0, 0}, {1642, 4352, 0, 0, 0, 0, 0}, {4128, 4883, 4176, 5140, 0, 0, 0}, {21356, 30464, 0, 0, 0, 0, 0}, {4359, 4160, 5397, 0, 0, 0, 0}, {520, 546, 4420, 5376, 0, 0, 0}, {831, 12336, 5200, 0, 0, 0, 0}, {112, 768, 1024, 4096, 0, 0, 0}, {170, 1542, 4369, 0, 0, 0, 0}, {1290, 4386, 768, 1360, 0, 0, 0}, {1036, 4915, 16448, 0, 0, 0, 0}, {780, 12336, 5188, 0, 0, 0, 0}, {522, 544, 4437, 1024, 0, 0, 0}, {262, 1360, 4112, 0, 0, 0, 0}, {3072, 6007, 0, 0, 0, 0, 0}, {5240, 768, 20480, 0, 0, 0, 0}, {4377, 4403, 4883, 5397, 0, 0, 0}, {266, 288, 768, 336, 1024, 4352, 0}, {6071, 3084, 13107, 17476, 0, 0, 0}, {1036, 4144, 1792, 4160, 0, 0, 0}, {1546, 4471, 21845, 0, 0, 0, 0}, {4382, 4626, 4420, 5140, 0, 0, 0}, {4991, 8192, 1024, 0, 0, 0, 0}, {128, 4864, 1024, 0, 0, 0, 0}, {90, 771, 1285, 4369, 0, 0, 0}, {1546, 4386, 21760, 0, 0, 0, 0}, {1036, 4144, 771, 4160, 0, 0, 0}, {5960, 17476, 0, 0, 0, 0, 0}, {4128, 4608, 261, 0, 0, 0, 0}, {1036, 1062, 1542, 5440, 0, 0, 0}, {783, 6007, 20480, 0, 0, 0, 0}, {17544, 21248, 0, 0, 0, 0, 0}, {339, 1285, 4112, 0, 0, 0, 0}, {522, 544, 1024, 4352, 0, 0, 0}, {771, 5188, 0, 0, 0, 0, 0}, {1036, 5952, 16448, 0, 0, 0, 0}, {90, 4471, 853, 1285, 0, 0, 0}, {1542, 4420, 0, 0, 0, 0, 0}, {783, 112, 1024, 4096, 0, 0, 0}, {3840, 816, 5200, 0, 0, 0, 0}, {520, 546, 1092, 4369, 0, 0, 0}, {274, 4160, 1280, 0, 0, 0, 0}, {5983, 13107, 0, 0, 0, 0, 0}, {4892, 4128, 4176, 5140, 0, 0, 0}, {5951, 8704, 4437, 0, 0, 0, 0}, {90, 4454, 4608, 1280, 0, 0, 0}, {1096, 5911, 16448, 0, 0, 0, 0}, {1096, 112, 832, 4112, 0, 0, 0}, {4403, 5973, 21845, 0, 0, 0, 0}, {90, 816, 1280, 4352, 0, 0, 0}, {4883, 1092, 0, 0, 0, 0, 0}, {5228, 5968, 20560, 0, 0, 0, 0}, {4445, 4471, 4949, 5397, 0, 0, 0}, {286, 308, 790, 324, 1280, 4096, 0}, {6047, 7007, 9312, 17408, 0, 0, 0}, {6048, 3072, 13056, 17408, 0, 0, 0}, {267, 289, 771, 337, 1028, 4369, 0}, {4360, 4386, 4864, 5376, 0, 0, 0}, {5228, 771, 20560, 0, 0, 0, 0}, {4972, 8224, 1028, 0, 0, 0, 0}, {4367, 4608, 4437, 5120, 0, 0, 0}, {1548, 4454, 21760, 0, 0, 0, 0}, {1032, 4128, 1799, 4176, 0, 0, 0}, {1032, 4896, 16384, 0, 0, 0, 0}, {1295, 4403, 771, 1365, 0, 0, 0}, {170, 1536, 4352, 0, 0, 0, 0}, {112, 771, 1028, 4112, 0, 0, 0}, {3084, 5984, 0, 0, 0, 0, 0}, {263, 1365, 4096, 0, 0, 0, 0}, {520, 546, 4420, 1028, 0, 0, 0}, {783, 12288, 5200, 0, 0, 0, 0}, {4144, 4864, 4160, 5120, 0, 0, 0}, {1644, 4369, 0, 0, 0, 0, 0}, {1290, 4386, 4626, 1360, 0, 0, 0}, {1100, 4915, 16384, 0, 0, 0, 0}, {828, 12288, 5188, 0, 0, 0, 0}, {522, 544, 4437, 5397, 0, 0, 0}, {4374, 4176, 5376, 0, 0, 0, 0}, {21311, 30583, 0, 0, 0, 0, 0}, {5960, 816, 20480, 0, 0, 0, 0}, {4377, 4403, 4883, 5461, 0, 0, 0}, {1290, 1792, 272, 0, 0, 0, 0}, {6007, 17476, 0, 0, 0, 0, 0}, {1100, 112, 1792, 4096, 0, 0, 0}, {4471, 5911, 21845, 0, 0, 0, 0}, {4382, 4642, 4420, 5140, 0, 0, 0}, {5951, 8192, 1088, 0, 0, 0, 0}, {6080, 6912, 13056, 17408, 0, 0, 0}, {283, 305, 514, 321, 1285, 4369, 0}, {4360, 4386, 514, 5440, 0, 0, 0}, {5903, 819, 20480, 0, 0, 0, 0}, {5896, 8192, 1092, 0, 0, 0, 0}, {4367, 4656, 4437, 1285, 0, 0, 0}, {5898, 4454, 21760, 0, 0, 0, 0}, {5128, 4144, 1799, 4160, 0, 0, 0}, {1096, 4864, 16448, 0, 0, 0, 0}, {90, 4403, 4608, 1285, 0, 0, 0}, {2570, 1632, 4352, 0, 0, 0, 0}, {1076, 1799, 1092, 4096, 0, 0, 0}, {17612, 5888, 0, 0, 0, 0, 0}, {279, 1285, 4112, 0, 0, 0, 0}, {42, 514, 4420, 5376, 0, 0, 0}, {831, 12336, 5120, 0, 0, 0, 0}, {4128, 768, 4176, 1024, 0, 0, 0}, {1548, 4369, 0, 0, 0, 0, 0}, {90, 4386, 768, 1280, 0, 0, 0}, {1036, 4883, 16448, 0, 0, 0, 0}, {780, 12336, 5140, 0, 0, 0, 0}, {42, 512, 4437, 1024, 0, 0, 0}, {4374, 4160, 1280, 0, 0, 0, 0}, {21343, 30583, 0, 0, 0, 0, 0}, {5160, 768, 20560, 0, 0, 0, 0}, {4377, 4403, 512, 5397, 0, 0, 0}, {90, 112, 256, 0, 0, 0, 0}, {5911, 17476, 0, 0, 0, 0, 0}, {1036, 112, 1792, 4112, 0, 0, 0}, {4471, 1536, 21845, 0, 0, 0, 0}, {4382, 4626, 4420, 1280, 0, 0, 0}, {4959, 8224, 1024, 0, 0, 0, 0}, {2048, 4896, 1088, 0, 0, 0, 0}, {1295, 819, 1365, 4369, 0, 0, 0}, {5960, 4386, 21760, 0, 0, 0, 0}, {5148, 4128, 4883, 4176, 0, 0, 0}, {5928, 17476, 0, 0, 0, 0, 0}, {4144, 512, 277, 0, 0, 0, 0}, {4428, 4454, 512, 5376, 0, 0, 0}, {5160, 5911, 20560, 0, 0, 0, 0}, {18504, 21344, 0, 0, 0, 0, 0}, {1046, 1365, 4096, 0, 0, 0, 0}, {42, 512, 1088, 4352, 0, 0, 0}, {819, 5140, 0, 0, 0, 0, 0}, {1100, 5920, 16384, 0, 0, 0, 0}, {1295, 5154, 4626, 1365, 0, 0, 0}, {2560, 5922, 4420, 0, 0, 0, 0}, {1807, 1072, 1088, 4112, 0, 0, 0}, {240, 768, 5120, 0, 0, 0, 0}, {42, 514, 1028, 4369, 0, 0, 0}, {258, 4176, 5376, 0, 0, 0, 0}, {5951, 13107, 0, 0, 0, 0, 0}, {780, 4144, 4160, 1028, 0, 0, 0}, {1546, 8704, 4437, 0, 0, 0, 0}, {1290, 5174, 1542, 1360, 0, 0, 0}, {1032, 6007, 16384, 0, 0, 0, 0}, {1032, 112, 768, 4096, 0, 0, 0}, {4403, 1542, 21845, 0, 0, 0, 0}, {1290, 768, 1360, 4352, 0, 0, 0}, {4915, 1028, 0, 0, 0, 0, 0}, {780, 5936, 20480, 0, 0, 0, 0}, {1032, 1058, 514, 5461, 0, 0, 0}, {270, 292, 514, 340, 1028, 4112, 0}, {6143, 3072, 9216, 17408, 0, 0, 0}, {3072, 4096, 0, 0, 0, 0, 0}, {34, 85, 257, 0, 0, 0, 0}, {4098, 17408, 0, 0, 0, 0, 0}, {20495, 4144, 771, 0, 0, 0, 0}, {8200, 4160, 1028, 0, 0, 0, 0}, {13056, 4101, 0, 0, 0, 0, 0}, {20490, 4192, 1542, 0, 0, 0, 0}, {4103, 17408, 0, 0, 0, 0, 0}, {4104, 12288, 5120, 0, 0, 0, 0}, {4154, 771, 85, 1285, 0, 0, 0}, {4106, 5632, 16384, 0, 0, 0, 0}, {4175, 119, 771, 1028, 0, 0, 0}, {4288, 3084, 8192, 20480, 0, 0, 0}, {269, 34, 514, 85, 1285, 4352, 0}, {4170, 34, 514, 1028, 0, 0, 0}, {4111, 4864, 16384, 0, 0, 0, 0}, {3264, 4112, 0, 0, 0, 0, 0}, {512, 1280, 273, 0, 0, 0, 0}, {4114, 17408, 0, 0, 0, 0, 0}, {20575, 4128, 4883, 0, 0, 0, 0}, {8232, 4176, 5140, 0, 0, 0, 0}, {13056, 4117, 0, 0, 0, 0, 0}, {20570, 4208, 5654, 0, 0, 0, 0}, {4119, 17408, 0, 0, 0, 0, 0}, {4120, 12336, 5200, 0, 0, 0, 0}, {4889, 819, 85, 1280, 0, 0, 0}, {4122, 5744, 16448, 0, 0, 0, 0}, {5147, 1075, 1792, 1092, 0, 0, 0}, {4304, 7196, 8224, 20560, 0, 0, 0}, {285, 34, 512, 85, 1280, 4352, 0}, {5150, 34, 512, 1092, 0, 0, 0}, {4127, 4896, 16448, 0, 0, 0, 0}, {3072, 4128, 0, 0, 0, 0, 0}, {259, 85, 4369, 0, 0, 0, 0}, {34, 512, 1024, 4096, 0, 0, 0}, {255, 771, 4112, 0, 0, 0, 0}, {1036, 4192, 17476, 0, 0, 0, 0}, {1295, 4133, 1536, 85, 0, 0, 0}, {1548, 9766, 4160, 0, 0, 0, 0}, {783, 4135, 4176, 1024, 0, 0, 0}, {4136, 12288, 1024, 0, 0, 0, 0}, {4122, 771, 85, 5397, 0, 0, 0}, {4138, 1536, 20480, 0, 0, 0, 0}, {4120, 119, 771, 5140, 0, 0, 0}, {4320, 3084, 8224, 16448, 0, 0, 0}, {271, 34, 512, 85, 1024, 4352, 0}, {1036, 34, 512, 5188, 0, 0, 0}, {783, 4896, 20560, 0, 0, 0, 0}, {19456, 4144, 0, 0, 0, 0, 0}, {275, 85, 4369, 0, 0, 0, 0}, {34, 514, 1088, 4112, 0, 0, 0}, {3840, 819, 4096, 0, 0, 0, 0}, {1100, 4208, 17476, 0, 0, 0, 0}, {1290, 4149, 5632, 85, 0, 0, 0}, {5692, 13878, 4176, 0, 0, 0, 0}, {4872, 4151, 4160, 5120, 0, 0, 0}, {4152, 12336, 1088, 0, 0, 0, 0}, {4106, 819, 85, 5376, 0, 0, 0}, {5722, 1632, 20560, 0, 0, 0, 0}, {4104, 5171, 5888, 5188, 0, 0, 0}, {4336, 7228, 8192, 16384, 0, 0, 0}, {287, 34, 514, 85, 1045, 4352, 0}, {4184, 34, 514, 5140, 0, 0, 0}, {4159, 4864, 20480, 0, 0, 0, 0}, {15360, 4160, 0, 0, 0, 0, 0}, {34, 276, 4369, 0, 0, 0, 0}, {4162, 17408, 0, 0, 0, 0, 0}, {20495, 4208, 17219, 0, 0, 0, 0}, {2048, 1092, 4096, 0, 0, 0, 0}, {816, 85, 1285, 4112, 0, 0, 0}, {20490, 4128, 17990, 0, 0, 0, 0}, {4167, 17408, 0, 0, 0, 0, 0}, {4168, 8192, 5120, 0, 0, 0, 0}, {4143, 4883, 85, 1285, 0, 0, 0}, {4170, 1632, 16448, 0, 0, 0, 0}, {4111, 1075, 5888, 1092, 0, 0, 0}, {4224, 7244, 12288, 20480, 0, 0, 0}, {280, 34, 786, 85, 1285, 4352, 0}, {4106, 34, 4608, 1092, 0, 0, 0}, {4175, 816, 16448, 0, 0, 0, 0}, {3072, 4176, 0, 0, 0, 0, 0}, {34, 260, 4369, 0, 0, 0, 0}, {4178, 17408, 0, 0, 0, 0, 0}, {20575, 4192, 21331, 0, 0, 0, 0}, {136, 1028, 4112, 0, 0, 0, 0}, {768, 85, 1280, 4096, 0, 0, 0}, {20570, 4144, 22102, 0, 0, 0, 0}, {4183, 17408, 0, 0, 0, 0, 0}, {1032, 8224, 5200, 0, 0, 0, 0}, {780, 4915, 85, 1280, 0, 0, 0}, {4186, 1536, 16384, 0, 0, 0, 0}, {4127, 119, 4883, 1028, 0, 0, 0}, {4240, 3084, 12336, 20560, 0, 0, 0}, {264, 34, 768, 85, 1280, 4352, 0}, {4122, 34, 4626, 1028, 0, 0, 0}, {4191, 768, 16384, 0, 0, 0, 0}, {19456, 4192, 0, 0, 0, 0, 0}, {278, 85, 4369, 0, 0, 0, 0}, {520, 34, 4160, 5120, 0, 0, 0}, {828, 13107, 4176, 0, 0, 0, 0}, {1100, 4128, 17476, 0, 0, 0, 0}, {1295, 4144, 4864, 85, 0, 0, 0}, {2560, 1638, 4096, 0, 0, 0, 0}, {1079, 1799, 1088, 4112, 0, 0, 0}, {5160, 8224, 1088, 0, 0, 0, 0}, {4111, 4915, 85, 5376, 0, 0, 0}, {4202, 5632, 20480, 0, 0, 0, 0}, {4184, 119, 4883, 5140, 0, 0, 0}, {4256, 7276, 12288, 16384, 0, 0, 0}, {282, 34, 786, 85, 1045, 4352, 0}, {4104, 34, 4608, 5188, 0, 0, 0}, {4959, 816, 20560, 0, 0, 0, 0}, {3072, 4208, 0, 0, 0, 0, 0}, {262, 85, 4369, 0, 0, 0, 0}, {522, 34, 4176, 1024, 0, 0, 0}, {780, 13107, 4160, 0, 0, 0, 0}, {1036, 4144, 17476, 0, 0, 0, 0}, {1290, 4128, 768, 85, 0, 0, 0}, {170, 1542, 4112, 0, 0, 0, 0}, {119, 768, 1024, 4096, 0, 0, 0}, {4216, 8192, 1024, 0, 0, 0, 0}, {4127, 4883, 85, 5397, 0, 0, 0}, {1546, 5744, 20560, 0, 0, 0, 0}, {1036, 5171, 1792, 5188, 0, 0, 0}, {4272, 3084, 12336, 16448, 0, 0, 0}, {266, 34, 768, 85, 1024, 4352, 0}, {4120, 34, 4626, 5140, 0, 0, 0}, {4223, 768, 20480, 0, 0, 0, 0}, {4224, 3072, 12288, 20480, 0, 0, 0}, {265, 34, 771, 85, 1285, 4369, 0}, {4106, 34, 4608, 1024, 0, 0, 0}, {4175, 771, 16448, 0, 0, 0, 0}, {1036, 8192, 5188, 0, 0, 0, 0}, {783, 4896, 85, 1285, 0, 0, 0}, {4170, 1542, 16448, 0, 0, 0, 0}, {4111, 119, 4864, 1024, 0, 0, 0}, {136, 1024, 4096, 0, 0, 0, 0}, {771, 85, 1285, 4112, 0, 0, 0}, {20490, 4128, 22016, 0, 0, 0, 0}, {4167, 17476, 0, 0, 0, 0, 0}, {3084, 4160, 0, 0, 0, 0, 0}, {34, 261, 4352, 0, 0, 0, 0}, {4162, 17476, 0, 0, 0, 0, 0}, {20495, 4208, 21248, 0, 0, 0, 0}, {4240, 7248, 12336, 20560, 0, 0, 0}, {281, 34, 785, 85, 1280, 4369, 0}, {4122, 34, 4626, 1088, 0, 0, 0}, {4191, 819, 16384, 0, 0, 0, 0}, {4184, 8224, 5140, 0, 0, 0, 0}, {4159, 4864, 85, 1280, 0, 0, 0}, {4186, 1638, 16384, 0, 0, 0, 0}, {4127, 1079, 5911, 1088, 0, 0, 0}, {2056, 1088, 4112, 0, 0, 0, 0}, {819, 85, 1280, 4096, 0, 0, 0}, {20570, 4144, 17920, 0, 0, 0, 0}, {4183, 17476, 0, 0, 0, 0, 0}, {15420, 4176, 0, 0, 0, 0, 0}, {34, 277, 4352, 0, 0, 0, 0}, {4178, 17476, 0, 0, 0, 0, 0}, {20575, 4192, 17152, 0, 0, 0, 0}, {4256, 3072, 12288, 16384, 0, 0, 0}, {267, 34, 771, 85, 1028, 4369, 0}, {4104, 34, 4608, 5120, 0, 0, 0}, {4207, 771, 20560, 0, 0, 0, 0}, {4200, 8224, 1028, 0, 0, 0, 0}, {4111, 4864, 85, 5376, 0, 0, 0}, {1548, 5734, 20480, 0, 0, 0, 0}, {1032, 5159, 1799, 5200, 0, 0, 0}, {1032, 4128, 17408, 0, 0, 0, 0}, {1295, 4144, 771, 85, 0, 0, 0}, {170, 1536, 4096, 0, 0, 0, 0}, {119, 771, 1028, 4112, 0, 0, 0}, {3084, 4192, 0, 0, 0, 0, 0}, {263, 85, 4352, 0, 0, 0, 0}, {520, 34, 4160, 1028, 0, 0, 0}, {783, 13056, 4176, 0, 0, 0, 0}, {4272, 7280, 12336, 16448, 0, 0, 0}, {283, 34, 785, 85, 1041, 4369, 0}, {4120, 34, 4626, 5200, 0, 0, 0}, {4940, 819, 20480, 0, 0, 0, 0}, {5180, 8192, 1092, 0, 0, 0, 0}, {4127, 4896, 85, 5397, 0, 0, 0}, {4218, 5654, 20560, 0, 0, 0, 0}, {4168, 119, 4864, 5120, 0, 0, 0}, {1096, 4144, 17408, 0, 0, 0, 0}, {1290, 4128, 4883, 85, 0, 0, 0}, {2570, 1632, 4112, 0, 0, 0, 0}, {1075, 1792, 1092, 4096, 0, 0, 0}, {19532, 4208, 0, 0, 0, 0, 0}, {279, 85, 4352, 0, 0, 0, 0}, {522, 34, 4176, 5140, 0, 0, 0}, {831, 13056, 4160, 0, 0, 0, 0}, {4288, 7168, 8192, 20480, 0, 0, 0}, {284, 34, 514, 85, 1285, 4369, 0}, {5130, 34, 514, 1088, 0, 0, 0}, {4111, 4915, 16384, 0, 0, 0, 0}, {4104, 12288, 5188, 0, 0, 0, 0}, {4874, 816, 85, 1285, 0, 0, 0}, {4106, 5734, 16384, 0, 0, 0, 0}, {5135, 1079, 1799, 1088, 0, 0, 0}, {8200, 4160, 5120, 0, 0, 0, 0}, {13107, 4101, 0, 0, 0, 0, 0}, {20490, 4192, 5632, 0, 0, 0, 0}, {4103, 17476, 0, 0, 0, 0, 0}, {3276, 4096, 0, 0, 0, 0, 0}, {514, 1285, 272, 0, 0, 0, 0}, {4098, 17476, 0, 0, 0, 0, 0}, {20495, 4144, 4864, 0, 0, 0, 0}, {4304, 3072, 8224, 20560, 0, 0, 0}, {268, 34, 512, 85, 1280, 4369, 0}, {4186, 34, 512, 1024, 0, 0, 0}, {4127, 4883, 16448, 0, 0, 0, 0}, {4120, 12336, 5140, 0, 0, 0, 0}, {4138, 768, 85, 1280, 0, 0, 0}, {4122, 5654, 16448, 0, 0, 0, 0}, {4191, 119, 768, 1024, 0, 0, 0}, {8232, 4176, 1024, 0, 0, 0, 0}, {13107, 4117, 0, 0, 0, 0, 0}, {20570, 4208, 1536, 0, 0, 0, 0}, {4119, 17476, 0, 0, 0, 0, 0}, {3084, 4112, 0, 0, 0, 0, 0}, {34, 85, 256, 0, 0, 0, 0}, {4114, 17476, 0, 0, 0, 0, 0}, {20575, 4128, 768, 0, 0, 0, 0}, {4320, 7200, 8224, 16448, 0, 0, 0}, {286, 34, 512, 85, 1041, 4369, 0}, {4168, 34, 512, 5120, 0, 0, 0}, {4143, 4883, 20560, 0, 0, 0, 0}, {4136, 12288, 1092, 0, 0, 0, 0}, {4122, 816, 85, 5397, 0, 0, 0}, {5708, 1638, 20480, 0, 0, 0, 0}, {4120, 5159, 5911, 5200, 0, 0, 0}, {1096, 4192, 17408, 0, 0, 0, 0}, {1295, 4133, 5654, 85, 0, 0, 0}, {5674, 13824, 4160, 0, 0, 0, 0}, {4891, 4135, 4176, 5140, 0, 0, 0}, {19532, 4128, 0, 0, 0, 0, 0}, {274, 85, 4352, 0, 0, 0, 0}, {34, 512, 1092, 4096, 0, 0, 0}, {3855, 816, 4112, 0, 0, 0, 0}, {4336, 3072, 8192, 16384, 0, 0, 0}, {270, 34, 514, 85, 1028, 4369, 0}, {1032, 34, 514, 5200, 0, 0, 0}, {780, 4915, 20480, 0, 0, 0, 0}, {4152, 12336, 1028, 0, 0, 0, 0}, {4106, 768, 85, 5376, 0, 0, 0}, {4154, 1542, 20560, 0, 0, 0, 0}, {4104, 119, 768, 5120, 0, 0, 0}, {1032, 4208, 17408, 0, 0, 0, 0}, {1290, 4149, 1542, 85, 0, 0, 0}, {1546, 9728, 4176, 0, 0, 0, 0}, {780, 4151, 4160, 1028, 0, 0, 0}, {3084, 4144, 0, 0, 0, 0, 0}, {258, 85, 4352, 0, 0, 0, 0}, {34, 514, 1028, 4112, 0, 0, 0}, {255, 768, 4096, 0, 0, 0, 0}, {8704, 21760, 0, 0, 0, 0, 0}, {12, 16, 257, 0, 0, 0, 0}, {21770, 32, 514, 0, 0, 0, 0}, {4355, 17408, 0, 0, 0, 0, 0}, {13056, 4356, 0, 0, 0, 0, 0}, {8714, 80, 1285, 0, 0, 0, 0}, {4358, 17408, 0, 0, 0, 0, 0}, {21775, 112, 1799, 0, 0, 0, 0}, {8712, 21760, 0, 0, 0, 0, 0}, {48, 771, 4357, 0, 0, 0, 0}, {21770, 30464, 0, 0, 0, 0, 0}, {4359, 64, 1028, 0, 0, 0, 0}, {12, 4352, 0, 0, 0, 0, 0}, {32, 514, 80, 1285, 0, 0, 0}, {4354, 64, 1028, 0, 0, 0, 0}, {21775, 8704, 0, 0, 0, 0, 0}, {512, 1280, 16, 0, 0, 0, 0}, {204, 4369, 0, 0, 0, 0, 0}, {21850, 48, 4626, 0, 0, 0, 0}, {4371, 17408, 0, 0, 0, 0, 0}, {13056, 4372, 0, 0, 0, 0, 0}, {8746, 64, 5397, 0, 0, 0, 0}, {4374, 17408, 0, 0, 0, 0, 0}, {21855, 96, 5911, 0, 0, 0, 0}, {4632, 48, 80, 1280, 0, 0, 0}, {4377, 13107, 4437, 0, 0, 0, 0}, {5402, 48, 1792, 64, 0, 0, 0}, {4379, 4471, 17476, 0, 0, 0, 0}, {28, 32, 512, 80, 1280, 4352, 0}, {192, 7453, 8738, 21845, 0, 0, 0}, {4382, 4386, 17476, 0, 0, 0, 0}, {5407, 32, 512, 64, 0, 0, 0}, {32, 512, 21760, 0, 0, 0, 0}, {12, 48, 771, 4369, 0, 0, 0}, {21930, 8738, 0, 0, 0, 0, 0}, {259, 1024, 16, 0, 0, 0, 0}, {12, 4388, 1536, 4420, 0, 0, 0}, {1807, 112, 21845, 0, 0, 0, 0}, {12, 4390, 64, 1024, 0, 0, 0}, {1295, 10023, 80, 0, 0, 0, 0}, {8744, 21760, 0, 0, 0, 0, 0}, {48, 771, 4373, 0, 0, 0, 0}, {21802, 30464, 0, 0, 0, 0, 0}, {4375, 80, 5140, 0, 0, 0, 0}, {12, 32, 512, 64, 1024, 4352, 0}, {240, 3855, 8738, 21845, 0, 0, 0}, {12, 4386, 17476, 0, 0, 0, 0}, {1295, 32, 512, 80, 0, 0, 0}, {48, 4608, 21760, 0, 0, 0, 0}, {76, 32, 514, 4369, 0, 0, 0}, {1290, 514, 16, 0, 0, 0, 0}, {4403, 17408, 0, 0, 0, 0, 0}, {4360, 4404, 5632, 4420, 0, 0, 0}, {5983, 96, 21845, 0, 0, 0, 0}, {4362, 4406, 80, 5120, 0, 0, 0}, {5439, 14135, 64, 0, 0, 0, 0}, {4616, 48, 64, 5376, 0, 0, 0}, {4409, 13107, 4437, 0, 0, 0, 0}, {1290, 48, 5888, 80, 0, 0, 0}, {76, 4471, 17476, 0, 0, 0, 0}, {60, 4352, 0, 0, 0, 0, 0}, {32, 514, 64, 5397, 0, 0, 0}, {4354, 80, 5140, 0, 0, 0, 0}, {21823, 8704, 0, 0, 0, 0, 0}, {8704, 64, 5376, 0, 0, 0, 0}, {60, 80, 1285, 4369, 0, 0, 0}, {21770, 96, 16962, 0, 0, 0, 0}, {4419, 17408, 0, 0, 0, 0, 0}, {13056, 4420, 0, 0, 0, 0, 0}, {522, 1285, 16, 0, 0, 0, 0}, {4422, 17408, 0, 0, 0, 0, 0}, {21775, 48, 18247, 0, 0, 0, 0}, {8776, 21760, 0, 0, 0, 0, 0}, {32, 4883, 4357, 0, 0, 0, 0}, {5386, 32, 5888, 64, 0, 0, 0}, {4427, 4471, 17476, 0, 0, 0, 0}, {76, 4352, 0, 0, 0, 0, 0}, {48, 4626, 80, 1285, 0, 0, 0}, {4430, 4386, 17476, 0, 0, 0, 0}, {5391, 48, 4608, 64, 0, 0, 0}, {8704, 80, 1280, 0, 0, 0, 0}, {12, 64, 1028, 4369, 0, 0, 0}, {21850, 112, 21074, 0, 0, 0, 0}, {4435, 17408, 0, 0, 0, 0, 0}, {768, 260, 16, 0, 0, 0, 0}, {8874, 21845, 0, 0, 0, 0, 0}, {4438, 17408, 0, 0, 0, 0, 0}, {21855, 32, 22359, 0, 0, 0, 0}, {520, 32, 80, 1280, 0, 0, 0}, {12, 13107, 4437, 0, 0, 0, 0}, {21850, 30464, 0, 0, 0, 0, 0}, {4375, 64, 1028, 0, 0, 0, 0}, {12, 48, 768, 80, 1280, 4352, 0}, {128, 2056, 8738, 21845, 0, 0, 0}, {4370, 64, 1028, 0, 0, 0, 0}, {21855, 8704, 0, 0, 0, 0, 0}, {96, 5888, 21760, 0, 0, 0, 0}, {76, 112, 1799, 4369, 0, 0, 0}, {5418, 8738, 64, 0, 0, 0, 0}, {4367, 4403, 80, 5120, 0, 0, 0}, {4360, 32, 4864, 4420, 0, 0, 0}, {4698, 48, 21845, 0, 0, 0, 0}, {4454, 17408, 0, 0, 0, 0, 0}, {1295, 1799, 16, 0, 0, 0, 0}, {520, 32, 64, 5376, 0, 0, 0}, {60, 13107, 4437, 0, 0, 0, 0}, {21866, 30464, 0, 0, 0, 0, 0}, {4359, 80, 5140, 0, 0, 0, 0}, {108, 4352, 0, 0, 0, 0, 0}, {48, 4626, 64, 5397, 0, 0, 0}, {76, 4386, 17476, 0, 0, 0, 0}, {1295, 48, 4608, 80, 0, 0, 0}, {112, 1792, 21760, 0, 0, 0, 0}, {12, 96, 1542, 4369, 0, 0, 0}, {1290, 8738, 80, 0, 0, 0, 0}, {12, 4403, 64, 1024, 0, 0, 0}, {12, 48, 768, 4420, 0, 0, 0}, {522, 32, 21845, 0, 0, 0, 0}, {262, 1024, 16, 0, 0, 0, 0}, {22015, 30583, 0, 0, 0, 0, 0}, {8824, 21760, 0, 0, 0, 0, 0}, {32, 4883, 4373, 0, 0, 0, 0}, {1290, 32, 1792, 80, 0, 0, 0}, {12, 4471, 17476, 0, 0, 0, 0}, {12, 48, 768, 64, 1024, 4352, 0}, {160, 2570, 8738, 21845, 0, 0, 0}, {4370, 80, 5140, 0, 0, 0, 0}, {21887, 8704, 0, 0, 0, 0, 0}, {128, 2048, 8704, 21760, 0, 0, 0}, {12, 48, 771, 80, 1285, 4369, 0}, {21770, 8738, 0, 0, 0, 0, 0}, {4355, 64, 1024, 0, 0, 0, 0}, {12, 13056, 4420, 0, 0, 0, 0}, {522, 32, 80, 1285, 0, 0, 0}, {4358, 64, 1024, 0, 0, 0, 0}, {21775, 30583, 0, 0, 0, 0, 0}, {8840, 21760, 0, 0, 0, 0, 0}, {771, 261, 16, 0, 0, 0, 0}, {21770, 32, 22272, 0, 0, 0, 0}, {4423, 17476, 0, 0, 0, 0, 0}, {12, 64, 1024, 4352, 0, 0, 0}, {8738, 80, 1285, 0, 0, 0, 0}, {4418, 17476, 0, 0, 0, 0, 0}, {21775, 112, 20992, 0, 0, 0, 0}, {48, 4608, 80, 1280, 0, 0, 0}, {76, 4369, 0, 0, 0, 0, 0}, {5402, 48, 4626, 64, 0, 0, 0}, {4447, 4403, 17408, 0, 0, 0, 0}, {32, 4864, 4372, 0, 0, 0, 0}, {8810, 21845, 0, 0, 0, 0, 0}, {4442, 4454, 17408, 0, 0, 0, 0}, {5407, 32, 5911, 64, 0, 0, 0}, {520, 1280, 16, 0, 0, 0, 0}, {13107, 4437, 0, 0, 0, 0, 0}, {21850, 48, 18176, 0, 0, 0, 0}, {4439, 17476, 0, 0, 0, 0, 0}, {60, 80, 1280, 4352, 0, 0, 0}, {8738, 64, 5397, 0, 0, 0, 0}, {4434, 17476, 0, 0, 0, 0, 0}, {21855, 96, 16896, 0, 0, 0, 0}, {160, 2560, 8704, 21760, 0, 0, 0}, {12, 48, 771, 64, 1028, 4369, 0}, {21802, 8738, 0, 0, 0, 0, 0}, {4355, 80, 5120, 0, 0, 0, 0}, {32, 4864, 4356, 0, 0, 0, 0}, {8794, 21845, 0, 0, 0, 0, 0}, {12, 4454, 17408, 0, 0, 0, 0}, {1295, 32, 1799, 80, 0, 0, 0}, {520, 32, 21760, 0, 0, 0, 0}, {12, 48, 771, 4437, 0, 0, 0}, {21930, 30464, 0, 0, 0, 0, 0}, {263, 1028, 16, 0, 0, 0, 0}, {12, 96, 1536, 4352, 0, 0, 0}, {112, 1799, 21845, 0, 0, 0, 0}, {12, 4386, 64, 1028, 0, 0, 0}, {1295, 8704, 80, 0, 0, 0, 0}, {48, 4608, 64, 5376, 0, 0, 0}, {108, 4369, 0, 0, 0, 0, 0}, {1290, 48, 4626, 80, 0, 0, 0}, {76, 4403, 17408, 0, 0, 0, 0}, {60, 13056, 4420, 0, 0, 0, 0}, {522, 32, 64, 5397, 0, 0, 0}, {4374, 80, 5120, 0, 0, 0, 0}, {21823, 30583, 0, 0, 0, 0, 0}, {4680, 48, 21760, 0, 0, 0, 0}, {4377, 32, 4883, 4437, 0, 0, 0}, {1290, 1792, 16, 0, 0, 0, 0}, {4471, 17476, 0, 0, 0, 0, 0}, {76, 112, 1792, 4352, 0, 0, 0}, {96, 5911, 21845, 0, 0, 0, 0}, {4382, 4386, 80, 5140, 0, 0, 0}, {5439, 8704, 64, 0, 0, 0, 0}, {192, 7424, 8704, 21760, 0, 0, 0}, {28, 32, 514, 80, 1285, 4369, 0}, {5386, 32, 514, 64, 0, 0, 0}, {4367, 4403, 17408, 0, 0, 0, 0}, {4360, 13056, 4420, 0, 0, 0, 0}, {4618, 48, 80, 1285, 0, 0, 0}, {4362, 4454, 17408, 0, 0, 0, 0}, {5391, 48, 1799, 64, 0, 0, 0}, {8712, 64, 5376, 0, 0, 0, 0}, {13107, 4357, 0, 0, 0, 0, 0}, {21770, 96, 5888, 0, 0, 0, 0}, {4359, 17476, 0, 0, 0, 0, 0}, {204, 4352, 0, 0, 0, 0, 0}, {514, 1285, 16, 0, 0, 0, 0}, {4354, 17476, 0, 0, 0, 0, 0}, {21775, 48, 4608, 0, 0, 0, 0}, {32, 512, 80, 1280, 0, 0, 0}, {12, 4369, 0, 0, 0, 0, 0}, {21850, 8738, 0, 0, 0, 0, 0}, {4371, 64, 1024, 0, 0, 0, 0}, {48, 768, 4372, 0, 0, 0, 0}, {8746, 21845, 0, 0, 0, 0, 0}, {4374, 64, 1024, 0, 0, 0, 0}, {21855, 30583, 0, 0, 0, 0, 0}, {8744, 80, 1280, 0, 0, 0, 0}, {13107, 4373, 0, 0, 0, 0, 0}, {21850, 112, 1792, 0, 0, 0, 0}, {4375, 17476, 0, 0, 0, 0, 0}, {12, 16, 256, 0, 0, 0, 0}, {8738, 21845, 0, 0, 0, 0, 0}, {4370, 17476, 0, 0, 0, 0, 0}, {21855, 32, 512, 0, 0, 0, 0}, {32, 512, 64, 5376, 0, 0, 0}, {60, 4369, 0, 0, 0, 0, 0}, {21866, 8738, 0, 0, 0, 0, 0}, {4371, 80, 5120, 0, 0, 0, 0}, {4392, 13056, 4420, 0, 0, 0, 0}, {4634, 48, 64, 5397, 0, 0, 0}, {76, 4454, 17408, 0, 0, 0, 0}, {1295, 48, 5911, 80, 0, 0, 0}, {5960, 96, 21760, 0, 0, 0, 0}, {4377, 4389, 5654, 4437, 0, 0, 0}, {5418, 14080, 64, 0, 0, 0, 0}, {4379, 4391, 80, 5140, 0, 0, 0}, {76, 32, 512, 4352, 0, 0, 0}, {48, 4626, 21845, 0, 0, 0, 0}, {4386, 17476, 0, 0, 0, 0, 0}, {1295, 512, 16, 0, 0, 0, 0}, {240, 3840, 8704, 21760, 0, 0, 0}, {12, 32, 514, 64, 1028, 4369, 0}, {1290, 32, 514, 80, 0, 0, 0}, {12, 4403, 17408, 0, 0, 0, 0}, {48, 768, 4356, 0, 0, 0, 0}, {8714, 21845, 0, 0, 0, 0, 0}, {4358, 80, 5120, 0, 0, 0, 0}, {21887, 30583, 0, 0, 0, 0, 0}, {1800, 112, 21760, 0, 0, 0, 0}, {12, 4405, 1542, 4437, 0, 0, 0}, {1290, 9984, 80, 0, 0, 0, 0}, {12, 4407, 64, 1028, 0, 0, 0}, {12, 48, 768, 4352, 0, 0, 0}, {32, 514, 21845, 0, 0, 0, 0}, {258, 1028, 16, 0, 0, 0, 0}, {22015, 8704, 0, 0, 0, 0, 0}, {4608, 17408, 0, 0, 0, 0, 0}, {95, 32, 257, 0, 0, 0, 0}, {1032, 32, 514, 4096, 0, 0, 0}, {4403, 771, 21760, 0, 0, 0, 0}, {4680, 12352, 1028, 0, 0, 0, 0}, {4362, 4613, 4437, 1285, 0, 0, 0}, {5228, 1542, 20480, 0, 0, 0, 0}, {4360, 4471, 4615, 5376, 0, 0, 0}, {1032, 5632, 16384, 0, 0, 0, 0}, {95, 4454, 771, 1285, 0, 0, 0}, {4618, 12288, 5120, 0, 0, 0, 0}, {4411, 771, 4420, 1028, 0, 0, 0}, {22028, 8704, 0, 0, 0, 0, 0}, {4354, 4176, 1285, 0, 0, 0, 0}, {32, 514, 4160, 1028, 0, 0, 0}, {783, 4352, 0, 0, 0, 0, 0}, {32, 512, 1088, 4112, 0, 0, 0}, {3840, 819, 4369, 0, 0, 0, 0}, {17544, 4626, 0, 0, 0, 0, 0}, {275, 1280, 4096, 0, 0, 0, 0}, {4728, 12368, 5140, 0, 0, 0, 0}, {4394, 4629, 4437, 5397, 0, 0, 0}, {1100, 5654, 16384, 0, 0, 0, 0}, {95, 4471, 4631, 1280, 0, 0, 0}, {4632, 1632, 20560, 0, 0, 0, 0}, {4377, 1075, 1792, 5461, 0, 0, 0}, {4634, 12336, 1088, 0, 0, 0, 0}, {4379, 819, 4420, 1280, 0, 0, 0}, {5148, 32, 512, 4176, 0, 0, 0}, {4637, 4386, 21845, 0, 0, 0, 0}, {4818, 7710, 8738, 17476, 0, 0, 0}, {287, 32, 512, 320, 1280, 4352, 0}, {32, 512, 1024, 4096, 0, 0, 0}, {255, 771, 4369, 0, 0, 0, 0}, {3072, 4642, 0, 0, 0, 0, 0}, {259, 1360, 4112, 0, 0, 0, 0}, {1548, 9252, 5188, 0, 0, 0, 0}, {783, 4645, 4437, 1024, 0, 0, 0}, {1036, 5734, 16448, 0, 0, 0, 0}, {1295, 5159, 1536, 1360, 0, 0, 0}, {5160, 1536, 20480, 0, 0, 0, 0}, {4377, 4454, 771, 5397, 0, 0, 0}, {4650, 12288, 1024, 0, 0, 0, 0}, {4379, 771, 4420, 5140, 0, 0, 0}, {1036, 32, 512, 4160, 0, 0, 0}, {783, 4386, 21845, 0, 0, 0, 0}, {4834, 3084, 8738, 17476, 0, 0, 0}, {271, 32, 512, 336, 1024, 4352, 0}, {4656, 17408, 0, 0, 0, 0, 0}, {1290, 514, 273, 0, 0, 0, 0}, {1096, 32, 514, 4112, 0, 0, 0}, {4403, 4608, 21760, 0, 0, 0, 0}, {5692, 13364, 1092, 0, 0, 0, 0}, {4362, 4661, 4437, 5120, 0, 0, 0}, {4698, 1638, 20560, 0, 0, 0, 0}, {4360, 1079, 5632, 5440, 0, 0, 0}, {1096, 5744, 16448, 0, 0, 0, 0}, {1290, 5171, 5888, 1365, 0, 0, 0}, {4666, 12336, 5200, 0, 0, 0, 0}, {4616, 819, 4420, 5376, 0, 0, 0}, {22076, 8704, 0, 0, 0, 0, 0}, {4354, 4160, 5397, 0, 0, 0, 0}, {32, 514, 4176, 5140, 0, 0, 0}, {831, 4352, 0, 0, 0, 0, 0}, {5632, 1088, 0, 0, 0, 0, 0}, {95, 867, 1285, 4369, 0, 0, 0}, {5160, 4674, 20480, 0, 0, 0, 0}, {4428, 4403, 835, 5376, 0, 0, 0}, {4744, 7748, 12288, 17476, 0, 0, 0}, {282, 32, 784, 325, 1285, 4112, 0}, {1100, 32, 1606, 4096, 0, 0, 0}, {4471, 4679, 21760, 0, 0, 0, 0}, {4680, 26112, 0, 0, 0, 0, 0}, {278, 4176, 1285, 0, 0, 0, 0}, {522, 32, 4160, 5120, 0, 0, 0}, {828, 13107, 4420, 0, 0, 0, 0}, {1100, 4608, 16384, 0, 0, 0, 0}, {95, 4386, 4626, 1285, 0, 0, 0}, {2570, 4642, 5188, 0, 0, 0, 0}, {1807, 816, 1088, 4352, 0, 0, 0}, {1536, 5200, 0, 0, 0, 0, 0}, {780, 883, 1028, 4369, 0, 0, 0}, {1032, 4690, 16384, 0, 0, 0, 0}, {95, 4403, 851, 1280, 0, 0, 0}, {520, 32, 1028, 4112, 0, 0, 0}, {768, 4437, 0, 0, 0, 0, 0}, {17612, 22102, 0, 0, 0, 0, 0}, {343, 1280, 4096, 0, 0, 0, 0}, {1032, 32, 1536, 4176, 0, 0, 0}, {780, 4454, 21845, 0, 0, 0, 0}, {4698, 17408, 0, 0, 0, 0, 0}, {32, 4883, 260, 0, 0, 0, 0}, {1548, 4656, 20560, 0, 0, 0, 0}, {1032, 4386, 768, 5461, 0, 0, 0}, {128, 4626, 1028, 0, 0, 0, 0}, {95, 768, 1280, 4352, 0, 0, 0}, {4704, 5120, 0, 0, 0, 0, 0}, {1083, 1799, 1092, 4369, 0, 0, 0}, {1096, 4706, 16448, 0, 0, 0, 0}, {1295, 4403, 5888, 1360, 0, 0, 0}, {520, 32, 1092, 4096, 0, 0, 0}, {3855, 816, 4437, 0, 0, 0, 0}, {18432, 22118, 0, 0, 0, 0, 0}, {1047, 1360, 4112, 0, 0, 0, 0}, {5128, 32, 5632, 4160, 0, 0, 0}, {4698, 4454, 21845, 0, 0, 0, 0}, {4714, 17408, 0, 0, 0, 0, 0}, {32, 4883, 276, 0, 0, 0, 0}, {5228, 4608, 20480, 0, 0, 0, 0}, {4445, 4386, 4626, 5397, 0, 0, 0}, {2056, 4642, 1092, 0, 0, 0, 0}, {1295, 816, 1360, 4352, 0, 0, 0}, {4720, 1024, 0, 0, 0, 0, 0}, {1290, 1542, 1365, 4369, 0, 0, 0}, {1546, 4722, 20560, 0, 0, 0, 0}, {1036, 4403, 1792, 5440, 0, 0, 0}, {4792, 3084, 12336, 17476, 0, 0, 0}, {266, 32, 768, 341, 1024, 4096, 0}, {1036, 32, 1542, 4112, 0, 0, 0}, {4471, 768, 21760, 0, 0, 0, 0}, {4728, 26112, 0, 0, 0, 0, 0}, {262, 4160, 5397, 0, 0, 0, 0}, {522, 32, 4176, 1024, 0, 0, 0}, {780, 13107, 4420, 0, 0, 0, 0}, {1036, 4656, 16448, 0, 0, 0, 0}, {1290, 4386, 768, 1365, 0, 0, 0}, {160, 4626, 5140, 0, 0, 0, 0}, {127, 768, 1024, 4352, 0, 0, 0}, {128, 4608, 1024, 0, 0, 0, 0}, {95, 771, 1285, 4369, 0, 0, 0}, {1546, 4642, 20480, 0, 0, 0, 0}, {1036, 4403, 771, 5440, 0, 0, 0}, {4680, 17476, 0, 0, 0, 0, 0}, {32, 4864, 261, 0, 0, 0, 0}, {1036, 32, 1542, 4160, 0, 0, 0}, {783, 4471, 21760, 0, 0, 0, 0}, {17544, 22016, 0, 0, 0, 0, 0}, {342, 1285, 4112, 0, 0, 0, 0}, {522, 32, 1024, 4096, 0, 0, 0}, {771, 4420, 0, 0, 0, 0, 0}, {1036, 4672, 16448, 0, 0, 0, 0}, {95, 4386, 848, 1285, 0, 0, 0}, {1542, 5188, 0, 0, 0, 0, 0}, {783, 880, 1024, 4352, 0, 0, 0}, {2560, 4656, 5200, 0, 0, 0, 0}, {1800, 819, 1092, 4369, 0, 0, 0}, {1096, 4626, 16448, 0, 0, 0, 0}, {95, 4403, 4608, 1280, 0, 0, 0}, {520, 32, 4176, 5140, 0, 0, 0}, {831, 13056, 4437, 0, 0, 0, 0}, {4698, 26214, 0, 0, 0, 0, 0}, {279, 4160, 1280, 0, 0, 0, 0}, {1096, 32, 1600, 4112, 0, 0, 0}, {4454, 4693, 21845, 0, 0, 0, 0}, {4762, 7770, 12336, 17408, 0, 0, 0}, {283, 32, 787, 324, 1280, 4096, 0}, {5180, 4688, 20560, 0, 0, 0, 0}, {4445, 4386, 832, 5397, 0, 0, 0}, {5654, 1092, 0, 0, 0, 0, 0}, {95, 864, 1280, 4352, 0, 0, 0}, {160, 4608, 5120, 0, 0, 0, 0}, {127, 771, 1028, 4369, 0, 0, 0}, {1032, 4642, 16384, 0, 0, 0, 0}, {1295, 4403, 771, 1360, 0, 0, 0}, {520, 32, 4160, 1028, 0, 0, 0}, {783, 13056, 4437, 0, 0, 0, 0}, {4714, 26214, 0, 0, 0, 0, 0}, {263, 4176, 5376, 0, 0, 0, 0}, {1032, 32, 1536, 4096, 0, 0, 0}, {4454, 771, 21845, 0, 0, 0, 0}, {4778, 3072, 12288, 17408, 0, 0, 0}, {267, 32, 771, 340, 1028, 4112, 0}, {1548, 4704, 20480, 0, 0, 0, 0}, {1032, 4386, 1799, 5461, 0, 0, 0}, {4706, 1028, 0, 0, 0, 0, 0}, {1295, 1536, 1360, 4352, 0, 0, 0}, {2048, 4656, 1088, 0, 0, 0, 0}, {1290, 819, 1365, 4369, 0, 0, 0}, {5240, 4626, 20560, 0, 0, 0, 0}, {4428, 4403, 4608, 5376, 0, 0, 0}, {4728, 17476, 0, 0, 0, 0, 0}, {32, 4864, 277, 0, 0, 0, 0}, {5148, 32, 5654, 4176, 0, 0, 0}, {4680, 4471, 21760, 0, 0, 0, 0}, {18504, 22064, 0, 0, 0, 0, 0}, {1043, 1365, 4096, 0, 0, 0, 0}, {522, 32, 1088, 4112, 0, 0, 0}, {3840, 819, 4420, 0, 0, 0, 0}, {1100, 4720, 16384, 0, 0, 0, 0}, {1290, 4386, 5911, 1365, 0, 0, 0}, {4722, 5140, 0, 0, 0, 0, 0}, {1087, 1792, 1088, 4352, 0, 0, 0}, {4800, 7680, 8704, 17408, 0, 0, 0}, {286, 32, 514, 321, 1285, 4369, 0}, {5128, 32, 514, 4160, 0, 0, 0}, {4623, 4403, 21760, 0, 0, 0, 0}, {4616, 12288, 1092, 0, 0, 0, 0}, {4362, 816, 4437, 1285, 0, 0, 0}, {4618, 1638, 20480, 0, 0, 0, 0}, {4360, 1079, 1799, 5440, 0, 0, 0}, {1096, 5632, 16448, 0, 0, 0, 0}, {95, 4454, 4613, 1285, 0, 0, 0}, {4714, 12384, 5120, 0, 0, 0, 0}, {4411, 4615, 4420, 5376, 0, 0, 0}, {17612, 4608, 0, 0, 0, 0, 0}, {274, 1285, 4112, 0, 0, 0, 0}, {32, 514, 1092, 4096, 0, 0, 0}, {3855, 816, 4352, 0, 0, 0, 0}, {32, 512, 4176, 1024, 0, 0, 0}, {780, 4369, 0, 0, 0, 0, 0}, {22106, 8738, 0, 0, 0, 0, 0}, {4371, 4160, 1280, 0, 0, 0, 0}, {4632, 12336, 5140, 0, 0, 0, 0}, {4394, 768, 4437, 1024, 0, 0, 0}, {1036, 5654, 16448, 0, 0, 0, 0}, {95, 4471, 768, 1280, 0, 0, 0}, {5240, 1536, 20560, 0, 0, 0, 0}, {4377, 4454, 4629, 5397, 0, 0, 0}, {4698, 12400, 1024, 0, 0, 0, 0}, {4379, 4631, 4420, 1280, 0, 0, 0}, {1036, 32, 512, 4112, 0, 0, 0}, {4386, 768, 21845, 0, 0, 0, 0}, {4626, 17476, 0, 0, 0, 0, 0}, {95, 32, 256, 0, 0, 0, 0}, {32, 512, 4160, 5120, 0, 0, 0}, {828, 4369, 0, 0, 0, 0, 0}, {22122, 8738, 0, 0, 0, 0, 0}, {4371, 4176, 5376, 0, 0, 0, 0}, {4648, 12288, 5188, 0, 0, 0, 0}, {4634, 816, 4437, 5397, 0, 0, 0}, {1100, 5734, 16384, 0, 0, 0, 0}, {1295, 5159, 5911, 1360, 0, 0, 0}, {4680, 1632, 20480, 0, 0, 0, 0}, {4377, 1075, 5654, 5461, 0, 0, 0}, {5674, 13312, 1088, 0, 0, 0, 0}, {4379, 4647, 4420, 5140, 0, 0, 0}, {1100, 32, 512, 4096, 0, 0, 0}, {4386, 4626, 21845, 0, 0, 0, 0}, {4642, 17476, 0, 0, 0, 0, 0}, {1295, 512, 272, 0, 0, 0, 0}, {4848, 3072, 8704, 17408, 0, 0, 0}, {270, 32, 514, 337, 1028, 4369, 0}, {1032, 32, 514, 4176, 0, 0, 0}, {780, 4403, 21760, 0, 0, 0, 0}, {4664, 12336, 1028, 0, 0, 0, 0}, {4362, 768, 4437, 5120, 0, 0, 0}, {5180, 1542, 20560, 0, 0, 0, 0}, {4360, 4471, 768, 5376, 0, 0, 0}, {1032, 5744, 16384, 0, 0, 0, 0}, {1290, 5171, 1542, 1365, 0, 0, 0}, {1546, 9216, 5200, 0, 0, 0, 0}, {780, 4663, 4420, 1028, 0, 0, 0}, {3084, 4656, 0, 0, 0, 0, 0}, {258, 1365, 4096, 0, 0, 0, 0}, {32, 514, 1028, 4112, 0, 0, 0}, {255, 768, 4352, 0, 0, 0, 0}, {24320, 8192, 0, 0, 0, 0, 0}, {18, 68, 257, 0, 0, 0, 0}, {34, 514, 21760, 0, 0, 0, 0}, {12, 48, 771, 4096, 0, 0, 0}, {12, 4868, 68, 1028, 0, 0, 0}, {90, 8272, 1285, 0, 0, 0, 0}, {12, 102, 4870, 5376, 0, 0, 0}, {120, 1799, 20480, 0, 0, 0, 0}, {22280, 30464, 0, 0, 0, 0, 0}, {4102, 4176, 1285, 0, 0, 0, 0}, {8202, 21760, 0, 0, 0, 0, 0}, {48, 771, 4100, 0, 0, 0, 0}, {12, 4864, 16384, 0, 0, 0, 0}, {90, 34, 514, 1285, 0, 0, 0}, {12, 34, 514, 68, 1028, 4352, 0}, {240, 3855, 8192, 20480, 0, 0, 0}, {3840, 48, 4112, 0, 0, 0, 0}, {34, 512, 68, 4369, 0, 0, 0}, {18, 1280, 4096, 0, 0, 0, 0}, {204, 4883, 0, 0, 0, 0, 0}, {60, 4884, 68, 5140, 0, 0, 0}, {106, 8256, 5397, 0, 0, 0, 0}, {90, 102, 4886, 1280, 0, 0, 0}, {72, 5911, 16384, 0, 0, 0, 0}, {4120, 48, 1792, 4176, 0, 0, 0}, {4889, 102, 21845, 0, 0, 0, 0}, {4122, 48, 4160, 1280, 0, 0, 0}, {4891, 13107, 68, 0, 0, 0, 0}, {4892, 4896, 20560, 0, 0, 0, 0}, {5405, 34, 512, 5461, 0, 0, 0}, {30, 34, 512, 68, 1280, 4352, 0}, {192, 7967, 8224, 16448, 0, 0, 0}, {24480, 8224, 0, 0, 0, 0, 0}, {259, 1024, 273, 0, 0, 0, 0}, {34, 512, 21760, 0, 0, 0, 0}, {12, 48, 771, 4112, 0, 0, 0}, {12, 4900, 68, 1024, 0, 0, 0}, {1295, 9509, 1365, 0, 0, 0, 0}, {12, 5414, 1536, 5440, 0, 0, 0}, {1807, 1911, 20560, 0, 0, 0, 0}, {22312, 30464, 0, 0, 0, 0, 0}, {4118, 4160, 5397, 0, 0, 0, 0}, {8234, 21760, 0, 0, 0, 0, 0}, {48, 771, 4116, 0, 0, 0, 0}, {12, 4896, 16448, 0, 0, 0, 0}, {1295, 34, 512, 1365, 0, 0, 0}, {12, 34, 512, 68, 1024, 4352, 0}, {240, 3855, 8224, 20560, 0, 0, 0}, {3840, 48, 4096, 0, 0, 0, 0}, {34, 514, 68, 4369, 0, 0, 0}, {18, 1360, 4112, 0, 0, 0, 0}, {19456, 4915, 0, 0, 0, 0, 0}, {4872, 4916, 68, 5120, 0, 0, 0}, {5439, 13621, 5461, 0, 0, 0, 0}, {1290, 1334, 5632, 1360, 0, 0, 0}, {72, 6007, 16448, 0, 0, 0, 0}, {4104, 48, 5888, 4160, 0, 0, 0}, {4959, 102, 21845, 0, 0, 0, 0}, {4106, 48, 4176, 5376, 0, 0, 0}, {4923, 13107, 68, 0, 0, 0, 0}, {60, 4864, 20480, 0, 0, 0, 0}, {72, 34, 514, 5397, 0, 0, 0}, {30, 34, 514, 68, 1300, 4352, 0}, {192, 7999, 8192, 16384, 0, 0, 0}, {192, 8000, 8256, 16448, 0, 0, 0}, {30, 34, 532, 68, 1285, 4369, 0}, {72, 34, 578, 5376, 0, 0, 0}, {60, 4931, 20480, 0, 0, 0, 0}, {4864, 68, 0, 0, 0, 0, 0}, {90, 48, 1285, 4112, 0, 0, 0}, {102, 4934, 21760, 0, 0, 0, 0}, {72, 48, 1863, 4096, 0, 0, 0}, {72, 5888, 16384, 0, 0, 0, 0}, {90, 102, 4883, 1285, 0, 0, 0}, {5418, 8224, 5440, 0, 0, 0, 0}, {4879, 4915, 68, 5120, 0, 0, 0}, {4940, 13056, 0, 0, 0, 0, 0}, {18, 4176, 1285, 0, 0, 0, 0}, {522, 34, 68, 4352, 0, 0, 0}, {3855, 48, 4160, 0, 0, 0, 0}, {240, 3840, 8272, 20560, 0, 0, 0}, {12, 34, 516, 68, 1028, 4369, 0}, {90, 34, 594, 1280, 0, 0, 0}, {12, 4947, 16384, 0, 0, 0, 0}, {12, 48, 768, 68, 1028, 4112, 0}, {170, 2560, 8192, 21845, 0, 0, 0}, {86, 1280, 4096, 0, 0, 0, 0}, {136, 22359, 0, 0, 0, 0, 0}, {1800, 1904, 20560, 0, 0, 0, 0}, {12, 5427, 1536, 5461, 0, 0, 0}, {90, 8192, 1280, 0, 0, 0, 0}, {12, 4883, 68, 1028, 0, 0, 0}, {12, 48, 768, 4176, 0, 0, 0}, {520, 34, 21845, 0, 0, 0, 0}, {18, 260, 4352, 0, 0, 0, 0}, {8352, 24415, 0, 0, 0, 0, 0}, {192, 8032, 8288, 16384, 0, 0, 0}, {30, 34, 534, 68, 1297, 4369, 0}, {5384, 34, 5888, 5440, 0, 0, 0}, {4959, 4963, 20560, 0, 0, 0, 0}, {2056, 4896, 68, 0, 0, 0, 0}, {1295, 48, 1365, 4096, 0, 0, 0}, {102, 4864, 21760, 0, 0, 0, 0}, {72, 48, 1799, 4112, 0, 0, 0}, {72, 5984, 16448, 0, 0, 0, 0}, {1295, 1331, 5632, 1365, 0, 0, 0}, {106, 8192, 5376, 0, 0, 0, 0}, {60, 4883, 68, 5140, 0, 0, 0}, {4972, 13056, 0, 0, 0, 0, 0}, {18, 4160, 5397, 0, 0, 0, 0}, {520, 34, 68, 4352, 0, 0, 0}, {3855, 48, 4176, 0, 0, 0, 0}, {240, 3840, 8304, 20480, 0, 0, 0}, {12, 34, 518, 68, 1024, 4369, 0}, {1290, 34, 1792, 1360, 0, 0, 0}, {12, 4979, 16448, 0, 0, 0, 0}, {12, 48, 768, 68, 1024, 4096, 0}, {170, 2570, 8224, 21845, 0, 0, 0}, {1286, 1360, 4112, 0, 0, 0, 0}, {2048, 22391, 0, 0, 0, 0, 0}, {120, 1792, 20480, 0, 0, 0, 0}, {12, 102, 4883, 5397, 0, 0, 0}, {1290, 8224, 1360, 0, 0, 0, 0}, {12, 4915, 68, 1024, 0, 0, 0}, {12, 48, 768, 4160, 0, 0, 0}, {522, 34, 21845, 0, 0, 0, 0}, {18, 276, 4352, 0, 0, 0, 0}, {8320, 32639, 0, 0, 0, 0, 0}, {8320, 24320, 0, 0, 0, 0, 0}, {18, 261, 4369, 0, 0, 0, 0}, {522, 34, 21760, 0, 0, 0, 0}, {12, 48, 771, 4160, 0, 0, 0}, {12, 4864, 68, 1024, 0, 0, 0}, {90, 8224, 1285, 0, 0, 0, 0}, {12, 5414, 1542, 5440, 0, 0, 0}, {1807, 1911, 20480, 0, 0, 0, 0}, {136, 22272, 0, 0, 0, 0, 0}, {86, 1285, 4112, 0, 0, 0, 0}, {170, 2570, 8224, 21760, 0, 0, 0}, {12, 48, 771, 68, 1024, 4096, 0}, {12, 4928, 16448, 0, 0, 0, 0}, {90, 34, 592, 1285, 0, 0, 0}, {12, 34, 518, 68, 1024, 4352, 0}, {240, 3855, 8304, 20480, 0, 0, 0}, {3840, 48, 4176, 0, 0, 0, 0}, {520, 34, 68, 4369, 0, 0, 0}, {18, 4160, 1280, 0, 0, 0, 0}, {4959, 13107, 0, 0, 0, 0, 0}, {4892, 4896, 68, 5140, 0, 0, 0}, {5439, 8192, 5461, 0, 0, 0, 0}, {90, 102, 4864, 1280, 0, 0, 0}, {72, 5911, 16448, 0, 0, 0, 0}, {72, 48, 1856, 4112, 0, 0, 0}, {102, 4949, 21845, 0, 0, 0, 0}, {90, 48, 1280, 4096, 0, 0, 0}, {4883, 68, 0, 0, 0, 0, 0}, {60, 4944, 20560, 0, 0, 0, 0}, {72, 34, 576, 5397, 0, 0, 0}, {30, 34, 534, 68, 1280, 4352, 0}, {192, 8031, 8288, 16384, 0, 0, 0}, {8352, 32512, 0, 0, 0, 0, 0}, {18, 277, 4369, 0, 0, 0, 0}, {520, 34, 21760, 0, 0, 0, 0}, {12, 48, 771, 4176, 0, 0, 0}, {12, 4896, 68, 1028, 0, 0, 0}, {1295, 8192, 1365, 0, 0, 0, 0}, {12, 102, 4864, 5376, 0, 0, 0}, {120, 1799, 20560, 0, 0, 0, 0}, {2056, 22304, 0, 0, 0, 0, 0}, {1283, 1365, 4096, 0, 0, 0, 0}, {170, 2560, 8192, 21760, 0, 0, 0}, {12, 48, 771, 68, 1028, 4112, 0}, {12, 4960, 16384, 0, 0, 0, 0}, {1295, 34, 1799, 1365, 0, 0, 0}, {12, 34, 516, 68, 1028, 4352, 0}, {240, 3855, 8272, 20560, 0, 0, 0}, {3840, 48, 4160, 0, 0, 0, 0}, {522, 34, 68, 4369, 0, 0, 0}, {18, 4176, 5376, 0, 0, 0, 0}, {4991, 13107, 0, 0, 0, 0, 0}, {60, 4864, 68, 5120, 0, 0, 0}, {106, 8224, 5397, 0, 0, 0, 0}, {1290, 1334, 5654, 1360, 0, 0, 0}, {72, 6007, 16384, 0, 0, 0, 0}, {72, 48, 1792, 4096, 0, 0, 0}, {102, 4883, 21845, 0, 0, 0, 0}, {1290, 48, 1360, 4112, 0, 0, 0}, {2048, 4915, 68, 0, 0, 0, 0}, {4940, 4976, 20480, 0, 0, 0, 0}, {5405, 34, 5911, 5461, 0, 0, 0}, {30, 34, 532, 68, 1300, 4352, 0}, {192, 8063, 8256, 16448, 0, 0, 0}, {192, 7936, 8192, 16384, 0, 0, 0}, {30, 34, 514, 68, 1285, 4369, 0}, {5384, 34, 514, 5440, 0, 0, 0}, {4879, 4915, 20480, 0, 0, 0, 0}, {4872, 13056, 68, 0, 0, 0, 0}, {4106, 48, 4176, 1285, 0, 0, 0}, {4874, 102, 21760, 0, 0, 0, 0}, {4104, 48, 1799, 4160, 0, 0, 0}, {72, 5888, 16448, 0, 0, 0, 0}, {90, 102, 4869, 1285, 0, 0, 0}, {106, 8288, 5376, 0, 0, 0, 0}, {60, 4871, 68, 5120, 0, 0, 0}, {204, 4864, 0, 0, 0, 0, 0}, {18, 1285, 4112, 0, 0, 0, 0}, {34, 514, 68, 4352, 0, 0, 0}, {3855, 48, 4096, 0, 0, 0, 0}, {240, 3840, 8224, 20560, 0, 0, 0}, {12, 34, 512, 68, 1024, 4369, 0}, {90, 34, 512, 1280, 0, 0, 0}, {12, 4883, 16448, 0, 0, 0, 0}, {48, 768, 4116, 0, 0, 0, 0}, {8234, 21845, 0, 0, 0, 0, 0}, {4118, 4160, 1280, 0, 0, 0, 0}, {22367, 30583, 0, 0, 0, 0, 0}, {120, 1792, 20560, 0, 0, 0, 0}, {12, 102, 4885, 5397, 0, 0, 0}, {90, 8304, 1280, 0, 0, 0, 0}, {12, 4887, 68, 1024, 0, 0, 0}, {12, 48, 768, 4112, 0, 0, 0}, {34, 512, 21845, 0, 0, 0, 0}, {18, 68, 256, 0, 0, 0, 0}, {24415, 8224, 0, 0, 0, 0, 0}, {192, 7968, 8224, 16448, 0, 0, 0}, {30, 34, 512, 68, 1297, 4369, 0}, {72, 34, 512, 5376, 0, 0, 0}, {60, 4883, 20560, 0, 0, 0, 0}, {4904, 13056, 68, 0, 0, 0, 0}, {4122, 48, 4160, 5397, 0, 0, 0}, {4940, 102, 21760, 0, 0, 0, 0}, {4120, 48, 5911, 4176, 0, 0, 0}, {72, 5984, 16384, 0, 0, 0, 0}, {1295, 1331, 5654, 1365, 0, 0, 0}, {5418, 13568, 5440, 0, 0, 0, 0}, {4891, 4903, 68, 5140, 0, 0, 0}, {19532, 4896, 0, 0, 0, 0, 0}, {18, 1365, 4096, 0, 0, 0, 0}, {34, 512, 68, 4352, 0, 0, 0}, {3855, 48, 4112, 0, 0, 0, 0}, {240, 3840, 8192, 20480, 0, 0, 0}, {12, 34, 514, 68, 1028, 4369, 0}, {1290, 34, 514, 1360, 0, 0, 0}, {12, 4915, 16384, 0, 0, 0, 0}, {48, 768, 4100, 0, 0, 0, 0}, {8202, 21845, 0, 0, 0, 0, 0}, {4102, 4176, 5376, 0, 0, 0, 0}, {22399, 30583, 0, 0, 0, 0, 0}, {1800, 1904, 20480, 0, 0, 0, 0}, {12, 5427, 1542, 5461, 0, 0, 0}, {1290, 9472, 1360, 0, 0, 0, 0}, {12, 4919, 68, 1028, 0, 0, 0}, {12, 48, 768, 4096, 0, 0, 0}, {34, 514, 21845, 0, 0, 0, 0}, {258, 1028, 272, 0, 0, 0, 0}, {24575, 8192, 0, 0, 0, 0, 0}, {8192, 16384, 0, 0, 0, 0, 0}, {15, 17, 257, 0, 0, 0, 0}, {16392, 34, 514, 0, 0, 0, 0}, {4099, 20480, 0, 0, 0, 0, 0}, {8200, 68, 1028, 0, 0, 0, 0}, {12288, 4101, 0, 0, 0, 0, 0}, {16396, 102, 1542, 0, 0, 0, 0}, {4103, 20480, 0, 0, 0, 0, 0}, {16392, 24576, 0, 0, 0, 0, 0}, {4102, 85, 1285, 0, 0, 0, 0}, {8202, 16384, 0, 0, 0, 0, 0}, {51, 771, 4100, 0, 0, 0, 0}, {16396, 8192, 0, 0, 0, 0, 0}, {4098, 85, 1285, 0, 0, 0, 0}, {34, 514, 68, 1028, 0, 0, 0}, {15, 4096, 0, 0, 0, 0, 0}, {240, 4112, 0, 0, 0, 0, 0}, {512, 1024, 17, 0, 0, 0, 0}, {4114, 20480, 0, 0, 0, 0, 0}, {16460, 51, 4883, 0, 0, 0, 0}, {12288, 4116, 0, 0, 0, 0, 0}, {8234, 85, 5397, 0, 0, 0, 0}, {4118, 20480, 0, 0, 0, 0, 0}, {16456, 119, 5911, 0, 0, 0, 0}, {4120, 4192, 20560, 0, 0, 0, 0}, {5401, 51, 1536, 85, 0, 0, 0}, {4122, 12336, 4160, 0, 0, 0, 0}, {4891, 51, 68, 1024, 0, 0, 0}, {4124, 4128, 20560, 0, 0, 0, 0}, {5405, 34, 512, 85, 0, 0, 0}, {30, 34, 512, 68, 1024, 4096, 0}, {255, 7967, 8224, 16448, 0, 0, 0}, {16512, 8224, 0, 0, 0, 0, 0}, {259, 1280, 17, 0, 0, 0, 0}, {34, 512, 16384, 0, 0, 0, 0}, {15, 51, 771, 4112, 0, 0, 0}, {1036, 9252, 68, 0, 0, 0, 0}, {15, 4133, 85, 1280, 0, 0, 0}, {1548, 102, 16448, 0, 0, 0, 0}, {15, 4135, 1792, 4176, 0, 0, 0}, {8232, 16384, 0, 0, 0, 0, 0}, {51, 771, 4117, 0, 0, 0, 0}, {16426, 24576, 0, 0, 0, 0, 0}, {4119, 68, 5140, 0, 0, 0, 0}, {204, 3084, 8224, 16448, 0, 0, 0}, {15, 34, 512, 85, 1280, 4096, 0}, {1036, 34, 512, 68, 0, 0, 0}, {15, 4128, 20560, 0, 0, 0, 0}, {4144, 20480, 0, 0, 0, 0, 0}, {1032, 514, 17, 0, 0, 0, 0}, {90, 34, 514, 4112, 0, 0, 0}, {51, 4864, 16384, 0, 0, 0, 0}, {4104, 4148, 68, 5120, 0, 0, 0}, {5439, 13621, 85, 0, 0, 0, 0}, {4106, 4150, 5632, 4176, 0, 0, 0}, {5960, 119, 16448, 0, 0, 0, 0}, {4152, 12336, 4160, 0, 0, 0, 0}, {4874, 51, 85, 5376, 0, 0, 0}, {90, 4192, 20560, 0, 0, 0, 0}, {1032, 51, 5888, 68, 0, 0, 0}, {60, 4096, 0, 0, 0, 0, 0}, {34, 514, 85, 5397, 0, 0, 0}, {4098, 68, 5140, 0, 0, 0, 0}, {16447, 8192, 0, 0, 0, 0, 0}, {8320, 16448, 0, 0, 0, 0, 0}, {768, 261, 17, 0, 0, 0, 0}, {16456, 34, 16962, 0, 0, 0, 0}, {4163, 20480, 0, 0, 0, 0, 0}, {8192, 68, 1024, 0, 0, 0, 0}, {15, 85, 1285, 4112, 0, 0, 0}, {16460, 102, 17990, 0, 0, 0, 0}, {4167, 20480, 0, 0, 0, 0, 0}, {16456, 8192, 0, 0, 0, 0, 0}, {4115, 85, 1285, 0, 0, 0, 0}, {170, 2570, 8224, 16448, 0, 0, 0}, {15, 51, 768, 68, 1024, 4096, 0}, {16460, 24576, 0, 0, 0, 0, 0}, {4119, 85, 1285, 0, 0, 0, 0}, {522, 34, 68, 1024, 0, 0, 0}, {15, 12336, 4160, 0, 0, 0, 0}, {12288, 4176, 0, 0, 0, 0, 0}, {520, 1028, 17, 0, 0, 0, 0}, {4178, 20480, 0, 0, 0, 0, 0}, {16396, 51, 21331, 0, 0, 0, 0}, {60, 68, 1028, 4112, 0, 0, 0}, {8192, 85, 5376, 0, 0, 0, 0}, {4182, 20480, 0, 0, 0, 0, 0}, {16392, 119, 22359, 0, 0, 0, 0}, {4184, 4128, 20560, 0, 0, 0, 0}, {5388, 51, 4864, 85, 0, 0, 0}, {90, 4096, 0, 0, 0, 0, 0}, {51, 4883, 68, 1028, 0, 0, 0}, {4188, 4192, 20560, 0, 0, 0, 0}, {5384, 34, 5888, 85, 0, 0, 0}, {34, 4626, 4100, 0, 0, 0, 0}, {8287, 16384, 0, 0, 0, 0, 0}, {16576, 24672, 0, 0, 0, 0, 0}, {263, 1280, 17, 0, 0, 0, 0}, {520, 34, 16448, 0, 0, 0, 0}, {15, 51, 768, 4176, 0, 0, 0}, {1032, 8224, 68, 0, 0, 0, 0}, {15, 4144, 85, 1280, 0, 0, 0}, {102, 1536, 16384, 0, 0, 0, 0}, {15, 119, 1799, 4112, 0, 0, 0}, {136, 2056, 8224, 16448, 0, 0, 0}, {15, 51, 768, 85, 1280, 4096, 0}, {16490, 8192, 0, 0, 0, 0, 0}, {4115, 68, 5140, 0, 0, 0, 0}, {8300, 16384, 0, 0, 0, 0, 0}, {34, 4626, 4117, 0, 0, 0, 0}, {1032, 34, 1536, 68, 0, 0, 0}, {15, 4192, 20560, 0, 0, 0, 0}, {4208, 20480, 0, 0, 0, 0, 0}, {1036, 1542, 17, 0, 0, 0, 0}, {4106, 34, 4608, 4176, 0, 0, 0}, {4940, 51, 16448, 0, 0, 0, 0}, {4108, 4144, 68, 5120, 0, 0, 0}, {5418, 8224, 85, 0, 0, 0, 0}, {90, 102, 1542, 4112, 0, 0, 0}, {119, 5888, 16384, 0, 0, 0, 0}, {120, 4096, 0, 0, 0, 0, 0}, {51, 4883, 85, 5397, 0, 0, 0}, {90, 4128, 20560, 0, 0, 0, 0}, {1036, 51, 4864, 68, 0, 0, 0}, {60, 12336, 4160, 0, 0, 0, 0}, {522, 34, 85, 5376, 0, 0, 0}, {4102, 68, 5140, 0, 0, 0, 0}, {16511, 24576, 0, 0, 0, 0, 0}, {16512, 24576, 0, 0, 0, 0, 0}, {262, 1285, 17, 0, 0, 0, 0}, {522, 34, 16384, 0, 0, 0, 0}, {15, 51, 771, 4160, 0, 0, 0}, {1036, 8192, 68, 0, 0, 0, 0}, {15, 4128, 85, 1285, 0, 0, 0}, {102, 1542, 16448, 0, 0, 0, 0}, {15, 119, 1792, 4096, 0, 0, 0}, {136, 2048, 8192, 16384, 0, 0, 0}, {15, 51, 771, 85, 1285, 4112, 0}, {16426, 8224, 0, 0, 0, 0, 0}, {4099, 68, 5120, 0, 0, 0, 0}, {8268, 16448, 0, 0, 0, 0, 0}, {34, 4608, 4101, 0, 0, 0, 0}, {1036, 34, 1542, 68, 0, 0, 0}, {15, 4208, 20480, 0, 0, 0, 0}, {4192, 20560, 0, 0, 0, 0, 0}, {1032, 1536, 17, 0, 0, 0, 0}, {4122, 34, 4626, 4160, 0, 0, 0}, {4959, 51, 16384, 0, 0, 0, 0}, {4124, 4128, 68, 5140, 0, 0, 0}, {5439, 8192, 85, 0, 0, 0, 0}, {90, 102, 1536, 4096, 0, 0, 0}, {119, 5911, 16448, 0, 0, 0, 0}, {120, 4112, 0, 0, 0, 0, 0}, {51, 4864, 85, 5376, 0, 0, 0}, {90, 4144, 20480, 0, 0, 0, 0}, {1032, 51, 4883, 68, 0, 0, 0}, {60, 12288, 4176, 0, 0, 0, 0}, {520, 34, 85, 5397, 0, 0, 0}, {4118, 68, 5120, 0, 0, 0, 0}, {16447, 24672, 0, 0, 0, 0, 0}, {8352, 16384, 0, 0, 0, 0, 0}, {771, 260, 17, 0, 0, 0, 0}, {16392, 34, 16896, 0, 0, 0, 0}, {4179, 20560, 0, 0, 0, 0, 0}, {8224, 68, 1028, 0, 0, 0, 0}, {15, 85, 1280, 4096, 0, 0, 0}, {16396, 102, 17920, 0, 0, 0, 0}, {4183, 20560, 0, 0, 0, 0, 0}, {16392, 8224, 0, 0, 0, 0, 0}, {4099, 85, 1280, 0, 0, 0, 0}, {170, 2560, 8192, 16384, 0, 0, 0}, {15, 51, 771, 68, 1028, 4112, 0}, {16396, 24672, 0, 0, 0, 0, 0}, {4103, 85, 1280, 0, 0, 0, 0}, {520, 34, 68, 1028, 0, 0, 0}, {15, 12288, 4176, 0, 0, 0, 0}, {12336, 4160, 0, 0, 0, 0, 0}, {522, 1024, 17, 0, 0, 0, 0}, {4162, 20560, 0, 0, 0, 0, 0}, {16460, 51, 21248, 0, 0, 0, 0}, {60, 68, 1024, 4096, 0, 0, 0}, {8224, 85, 5397, 0, 0, 0, 0}, {4166, 20560, 0, 0, 0, 0, 0}, {16456, 119, 22272, 0, 0, 0, 0}, {4168, 4144, 20480, 0, 0, 0, 0}, {5401, 51, 4883, 85, 0, 0, 0}, {90, 4112, 0, 0, 0, 0, 0}, {51, 4864, 68, 1024, 0, 0, 0}, {4172, 4208, 20480, 0, 0, 0, 0}, {5405, 34, 5911, 85, 0, 0, 0}, {34, 4608, 4116, 0, 0, 0, 0}, {8319, 16448, 0, 0, 0, 0, 0}, {16576, 8192, 0, 0, 0, 0, 0}, {258, 1285, 17, 0, 0, 0, 0}, {34, 514, 16448, 0, 0, 0, 0}, {15, 51, 768, 4096, 0, 0, 0}, {1032, 9216, 68, 0, 0, 0, 0}, {15, 4149, 85, 1285, 0, 0, 0}, {1546, 102, 16384, 0, 0, 0, 0}, {15, 4151, 1799, 4160, 0, 0, 0}, {8200, 16448, 0, 0, 0, 0, 0}, {51, 768, 4101, 0, 0, 0, 0}, {16490, 24672, 0, 0, 0, 0, 0}, {4103, 68, 5120, 0, 0, 0, 0}, {204, 3072, 8192, 16384, 0, 0, 0}, {15, 34, 514, 85, 1285, 4112, 0}, {1032, 34, 514, 68, 0, 0, 0}, {15, 4144, 20480, 0, 0, 0, 0}, {4128, 20560, 0, 0, 0, 0, 0}, {1036, 512, 17, 0, 0, 0, 0}, {90, 34, 512, 4096, 0, 0, 0}, {51, 4883, 16448, 0, 0, 0, 0}, {4120, 4132, 68, 5140, 0, 0, 0}, {5418, 13568, 85, 0, 0, 0, 0}, {4122, 4134, 5654, 4160, 0, 0, 0}, {5983, 119, 16384, 0, 0, 0, 0}, {4136, 12288, 4176, 0, 0, 0, 0}, {4889, 51, 85, 5397, 0, 0, 0}, {90, 4208, 20480, 0, 0, 0, 0}, {1036, 51, 5911, 68, 0, 0, 0}, {60, 4112, 0, 0, 0, 0, 0}, {34, 512, 85, 5376, 0, 0, 0}, {4114, 68, 5120, 0, 0, 0, 0}, {16511, 8224, 0, 0, 0, 0, 0}, {8224, 16448, 0, 0, 0, 0, 0}, {15, 17, 256, 0, 0, 0, 0}, {16456, 34, 512, 0, 0, 0, 0}, {4115, 20560, 0, 0, 0, 0, 0}, {8232, 68, 1024, 0, 0, 0, 0}, {12336, 4117, 0, 0, 0, 0, 0}, {16460, 102, 1536, 0, 0, 0, 0}, {4119, 20560, 0, 0, 0, 0, 0}, {16456, 24672, 0, 0, 0, 0, 0}, {4118, 85, 1280, 0, 0, 0, 0}, {8234, 16448, 0, 0, 0, 0, 0}, {51, 768, 4116, 0, 0, 0, 0}, {16460, 8224, 0, 0, 0, 0, 0}, {4114, 85, 1280, 0, 0, 0, 0}, {34, 512, 68, 1024, 0, 0, 0}, {15, 4112, 0, 0, 0, 0, 0}, {240, 4096, 0, 0, 0, 0, 0}, {514, 1028, 17, 0, 0, 0, 0}, {4098, 20560, 0, 0, 0, 0, 0}, {16396, 51, 4864, 0, 0, 0, 0}, {12336, 4100, 0, 0, 0, 0, 0}, {8202, 85, 5376, 0, 0, 0, 0}, {4102, 20560, 0, 0, 0, 0, 0}, {16392, 119, 5888, 0, 0, 0, 0}, {4104, 4208, 20480, 0, 0, 0, 0}, {5388, 51, 1542, 85, 0, 0, 0}, {4106, 12288, 4176, 0, 0, 0, 0}, {4872, 51, 68, 1028, 0, 0, 0}, {4108, 4144, 20480, 0, 0, 0, 0}, {5384, 34, 514, 85, 0, 0, 0}, {30, 34, 514, 68, 1028, 4112, 0}, {255, 7936, 8192, 16384, 0, 0, 0}, {3840, 4352, 0, 0, 0, 0, 0}, {32, 64, 257, 0, 0, 0, 0}, {4354, 20480, 0, 0, 0, 0, 0}, {17420, 4403, 771, 0, 0, 0, 0}, {12288, 4356, 0, 0, 0, 0, 0}, {8714, 4437, 1285, 0, 0, 0, 0}, {4358, 20480, 0, 0, 0, 0, 0}, {17416, 4471, 1799, 0, 0, 0, 0}, {4360, 5632, 21760, 0, 0, 0, 0}, {4441, 96, 771, 1285, 0, 0, 0}, {4362, 13056, 5120, 0, 0, 0, 0}, {4411, 771, 64, 1028, 0, 0, 0}, {4364, 4608, 21760, 0, 0, 0, 0}, {4445, 32, 514, 1285, 0, 0, 0}, {270, 32, 514, 64, 1028, 4096, 0}, {4607, 3855, 8704, 17408, 0, 0, 0}, {512, 1024, 272, 0, 0, 0, 0}, {4095, 4369, 0, 0, 0, 0, 0}, {17480, 4386, 4626, 0, 0, 0, 0}, {4371, 20480, 0, 0, 0, 0, 0}, {8744, 4420, 5140, 0, 0, 0, 0}, {12288, 4373, 0, 0, 0, 0, 0}, {17484, 4454, 5654, 0, 0, 0, 0}, {4375, 20480, 0, 0, 0, 0, 0}, {5144, 1328, 1536, 1360, 0, 0, 0}, {4377, 5734, 21845, 0, 0, 0, 0}, {4634, 816, 64, 1024, 0, 0, 0}, {4379, 13107, 5188, 0, 0, 0, 0}, {5148, 32, 512, 1360, 0, 0, 0}, {4381, 4642, 21845, 0, 0, 0, 0}, {4590, 7710, 8738, 17476, 0, 0, 0}, {287, 32, 512, 64, 1024, 4096, 0}, {32, 512, 1280, 4352, 0, 0, 0}, {192, 771, 4369, 0, 0, 0, 0}, {3840, 4386, 0, 0, 0, 0, 0}, {259, 64, 4112, 0, 0, 0, 0}, {780, 4388, 4420, 1280, 0, 0, 0}, {1807, 9509, 4437, 0, 0, 0, 0}, {1036, 4390, 1792, 64, 0, 0, 0}, {1295, 4471, 20560, 0, 0, 0, 0}, {4392, 13056, 1280, 0, 0, 0, 0}, {4377, 771, 64, 5397, 0, 0, 0}, {4394, 1792, 17408, 0, 0, 0, 0}, {4379, 96, 771, 5140, 0, 0, 0}, {268, 32, 512, 64, 1280, 4096, 0}, {4573, 3855, 8738, 21845, 0, 0, 0}, {780, 4642, 17476, 0, 0, 0, 0}, {1295, 32, 512, 5200, 0, 0, 0}, {3072, 816, 4352, 0, 0, 0, 0}, {32, 514, 1365, 4369, 0, 0, 0}, {274, 64, 4112, 0, 0, 0, 0}, {23040, 4403, 0, 0, 0, 0, 0}, {5692, 13364, 4420, 0, 0, 0, 0}, {4618, 4405, 4437, 5120, 0, 0, 0}, {1370, 4454, 20560, 0, 0, 0, 0}, {1032, 4407, 5632, 64, 0, 0, 0}, {4360, 816, 64, 5376, 0, 0, 0}, {4409, 13107, 1365, 0, 0, 0, 0}, {4362, 5168, 5888, 5200, 0, 0, 0}, {5708, 1911, 17476, 0, 0, 0, 0}, {4556, 7740, 8704, 21760, 0, 0, 0}, {285, 32, 514, 64, 1301, 4096, 0}, {4430, 32, 514, 5140, 0, 0, 0}, {4415, 4608, 17408, 0, 0, 0, 0}, {768, 64, 1024, 4352, 0, 0, 0}, {160, 1285, 4369, 0, 0, 0, 0}, {4418, 20480, 0, 0, 0, 0, 0}, {17484, 4403, 17219, 0, 0, 0, 0}, {3840, 4420, 0, 0, 0, 0, 0}, {32, 261, 4112, 0, 0, 0, 0}, {4422, 20480, 0, 0, 0, 0, 0}, {17480, 4471, 18247, 0, 0, 0, 0}, {4424, 768, 21760, 0, 0, 0, 0}, {4377, 32, 4883, 1285, 0, 0, 0}, {266, 32, 768, 64, 1024, 4096, 0}, {4539, 3855, 13107, 17476, 0, 0, 0}, {4428, 1792, 21760, 0, 0, 0, 0}, {4381, 96, 4626, 1285, 0, 0, 0}, {1290, 8738, 5188, 0, 0, 0, 0}, {783, 4656, 64, 1024, 0, 0, 0}, {2560, 1360, 4352, 0, 0, 0, 0}, {819, 64, 1028, 4369, 0, 0, 0}, {17416, 4386, 21074, 0, 0, 0, 0}, {4435, 20480, 0, 0, 0, 0, 0}, {32, 276, 4112, 0, 0, 0, 0}, {15360, 4437, 0, 0, 0, 0, 0}, {17420, 4454, 22102, 0, 0, 0, 0}, {4439, 20480, 0, 0, 0, 0, 0}, {4360, 32, 4864, 1360, 0, 0, 0}, {4441, 819, 21845, 0, 0, 0, 0}, {4522, 7770, 13056, 17408, 0, 0, 0}, {283, 32, 787, 64, 1028, 4096, 0}, {4364, 1328, 5888, 1360, 0, 0, 0}, {4445, 1911, 21845, 0, 0, 0, 0}, {4398, 4626, 64, 1028, 0, 0, 0}, {4447, 8704, 5120, 0, 0, 0, 0}, {96, 768, 1280, 4352, 0, 0, 0}, {128, 1799, 4369, 0, 0, 0, 0}, {1032, 4386, 768, 64, 0, 0, 0}, {1295, 4403, 20560, 0, 0, 0, 0}, {520, 32, 4420, 1280, 0, 0, 0}, {783, 12336, 4437, 0, 0, 0, 0}, {3840, 4454, 0, 0, 0, 0, 0}, {263, 64, 4112, 0, 0, 0, 0}, {264, 32, 768, 64, 1280, 4096, 0}, {4505, 3855, 13107, 21845, 0, 0, 0}, {4458, 768, 17408, 0, 0, 0, 0}, {4379, 32, 4883, 5140, 0, 0, 0}, {4460, 8704, 1280, 0, 0, 0, 0}, {4381, 4626, 64, 5397, 0, 0, 0}, {1800, 5734, 17476, 0, 0, 0, 0}, {1295, 5168, 1536, 5200, 0, 0, 0}, {2048, 1904, 4352, 0, 0, 0, 0}, {1333, 1542, 1365, 4369, 0, 0, 0}, {1370, 4386, 20560, 0, 0, 0, 0}, {1036, 4403, 4608, 64, 0, 0, 0}, {828, 12336, 4420, 0, 0, 0, 0}, {522, 32, 4437, 5120, 0, 0, 0}, {278, 64, 4112, 0, 0, 0, 0}, {23040, 4471, 0, 0, 0, 0, 0}, {4488, 7800, 13056, 21760, 0, 0, 0}, {281, 32, 787, 64, 1301, 4096, 0}, {4362, 32, 4864, 5200, 0, 0, 0}, {4680, 819, 17476, 0, 0, 0, 0}, {4364, 4656, 64, 5376, 0, 0, 0}, {5160, 8738, 1365, 0, 0, 0, 0}, {4430, 96, 4626, 5140, 0, 0, 0}, {4479, 5632, 17408, 0, 0, 0, 0}, {128, 1792, 4352, 0, 0, 0, 0}, {96, 771, 1285, 4369, 0, 0, 0}, {1290, 4386, 20480, 0, 0, 0, 0}, {1036, 4403, 771, 64, 0, 0, 0}, {780, 12288, 4420, 0, 0, 0, 0}, {522, 32, 4437, 1285, 0, 0, 0}, {262, 64, 4096, 0, 0, 0, 0}, {3855, 4471, 0, 0, 0, 0, 0}, {4488, 3840, 13056, 21760, 0, 0, 0}, {265, 32, 771, 64, 1285, 4112, 0}, {4362, 32, 4864, 5120, 0, 0, 0}, {4475, 771, 17476, 0, 0, 0, 0}, {4364, 4608, 64, 5376, 0, 0, 0}, {4477, 8738, 1285, 0, 0, 0, 0}, {1290, 5156, 1542, 5188, 0, 0, 0}, {1807, 5744, 17408, 0, 0, 0, 0}, {1328, 1536, 1360, 4352, 0, 0, 0}, {2056, 1911, 4369, 0, 0, 0, 0}, {1032, 4386, 4626, 64, 0, 0, 0}, {1375, 4403, 20480, 0, 0, 0, 0}, {520, 32, 4420, 5140, 0, 0, 0}, {831, 12288, 4437, 0, 0, 0, 0}, {23130, 4454, 0, 0, 0, 0, 0}, {279, 64, 4096, 0, 0, 0, 0}, {280, 32, 784, 64, 1296, 4112, 0}, {4505, 7782, 13107, 21845, 0, 0, 0}, {4698, 816, 17408, 0, 0, 0, 0}, {4379, 32, 4883, 5188, 0, 0, 0}, {5180, 8704, 1360, 0, 0, 0, 0}, {4381, 4642, 64, 5397, 0, 0, 0}, {4462, 5654, 17476, 0, 0, 0, 0}, {4447, 96, 4608, 5120, 0, 0, 0}, {160, 1280, 4352, 0, 0, 0, 0}, {771, 64, 1028, 4369, 0, 0, 0}, {17416, 4386, 17152, 0, 0, 0, 0}, {4435, 20560, 0, 0, 0, 0, 0}, {32, 260, 4096, 0, 0, 0, 0}, {3855, 4437, 0, 0, 0, 0, 0}, {17420, 4454, 18176, 0, 0, 0, 0}, {4439, 20560, 0, 0, 0, 0, 0}, {4360, 32, 4864, 1280, 0, 0, 0}, {4441, 771, 21845, 0, 0, 0, 0}, {4522, 3840, 13056, 17408, 0, 0, 0}, {267, 32, 771, 64, 1028, 4112, 0}, {4364, 96, 4608, 1280, 0, 0, 0}, {4445, 1799, 21845, 0, 0, 0, 0}, {780, 4642, 64, 1028, 0, 0, 0}, {1295, 8704, 5200, 0, 0, 0, 0}, {816, 64, 1024, 4352, 0, 0, 0}, {2570, 1365, 4369, 0, 0, 0, 0}, {4418, 20560, 0, 0, 0, 0, 0}, {17484, 4403, 20992, 0, 0, 0, 0}, {15420, 4420, 0, 0, 0, 0, 0}, {32, 277, 4096, 0, 0, 0, 0}, {4422, 20560, 0, 0, 0, 0, 0}, {17480, 4471, 22016, 0, 0, 0, 0}, {4424, 816, 21760, 0, 0, 0, 0}, {4377, 32, 4883, 1365, 0, 0, 0}, {282, 32, 784, 64, 1024, 4112, 0}, {4539, 7748, 13107, 17476, 0, 0, 0}, {4428, 1904, 21760, 0, 0, 0, 0}, {4381, 1333, 5911, 1365, 0, 0, 0}, {4430, 8738, 5140, 0, 0, 0, 0}, {4415, 4608, 64, 1024, 0, 0, 0}, {192, 768, 4352, 0, 0, 0, 0}, {32, 514, 1285, 4369, 0, 0, 0}, {258, 64, 4096, 0, 0, 0, 0}, {3855, 4403, 0, 0, 0, 0, 0}, {1800, 9472, 4420, 0, 0, 0, 0}, {783, 4405, 4437, 1285, 0, 0, 0}, {1290, 4454, 20480, 0, 0, 0, 0}, {1032, 4407, 1799, 64, 0, 0, 0}, {4360, 768, 64, 5376, 0, 0, 0}, {4409, 13107, 1285, 0, 0, 0, 0}, {4362, 96, 768, 5120, 0, 0, 0}, {4411, 1799, 17476, 0, 0, 0, 0}, {4556, 3840, 8704, 21760, 0, 0, 0}, {269, 32, 514, 64, 1285, 4112, 0}, {1290, 32, 514, 5188, 0, 0, 0}, {783, 4656, 17408, 0, 0, 0, 0}, {32, 512, 1360, 4352, 0, 0, 0}, {3084, 819, 4369, 0, 0, 0, 0}, {23130, 4386, 0, 0, 0, 0, 0}, {275, 64, 4096, 0, 0, 0, 0}, {4632, 4388, 4420, 5140, 0, 0, 0}, {5674, 13312, 4437, 0, 0, 0, 0}, {1036, 4390, 5654, 64, 0, 0, 0}, {1375, 4471, 20480, 0, 0, 0, 0}, {4392, 13056, 1360, 0, 0, 0, 0}, {4377, 819, 64, 5397, 0, 0, 0}, {5722, 1904, 17408, 0, 0, 0, 0}, {4379, 5156, 5911, 5188, 0, 0, 0}, {284, 32, 512, 64, 1296, 4112, 0}, {4573, 7714, 8738, 21845, 0, 0, 0}, {4398, 4626, 17476, 0, 0, 0, 0}, {4447, 32, 512, 5120, 0, 0, 0}, {32, 64, 256, 0, 0, 0, 0}, {3855, 4369, 0, 0, 0, 0, 0}, {17480, 4386, 768, 0, 0, 0, 0}, {4371, 20560, 0, 0, 0, 0, 0}, {8744, 4420, 1280, 0, 0, 0, 0}, {12336, 4373, 0, 0, 0, 0, 0}, {17484, 4454, 1792, 0, 0, 0, 0}, {4375, 20560, 0, 0, 0, 0, 0}, {4424, 96, 768, 1280, 0, 0, 0}, {4377, 5654, 21845, 0, 0, 0, 0}, {4394, 768, 64, 1024, 0, 0, 0}, {4379, 13107, 5140, 0, 0, 0, 0}, {4428, 32, 512, 1280, 0, 0, 0}, {4381, 4626, 21845, 0, 0, 0, 0}, {4590, 3840, 8738, 17476, 0, 0, 0}, {271, 32, 512, 64, 1024, 4112, 0}, {4080, 4352, 0, 0, 0, 0, 0}, {514, 1028, 273, 0, 0, 0, 0}, {4354, 20560, 0, 0, 0, 0, 0}, {17420, 4403, 4608, 0, 0, 0, 0}, {12336, 4356, 0, 0, 0, 0, 0}, {8714, 4437, 5120, 0, 0, 0, 0}, {4358, 20560, 0, 0, 0, 0, 0}, {17416, 4471, 5632, 0, 0, 0, 0}, {4360, 5744, 21760, 0, 0, 0, 0}, {5132, 1333, 1542, 1365, 0, 0, 0}, {4362, 13056, 5200, 0, 0, 0, 0}, {4616, 819, 64, 1028, 0, 0, 0}, {4364, 4656, 21760, 0, 0, 0, 0}, {5128, 32, 514, 1365, 0, 0, 0}, {286, 32, 514, 64, 1028, 4112, 0}, {4607, 7680, 8704, 17408, 0, 0, 0}, {18432, 8704, 0, 0, 0, 0, 0}, {19, 80, 257, 0, 0, 0, 0}, {32, 514, 16384, 0, 0, 0, 0}, {15, 51, 771, 4352, 0, 0, 0}, {76, 8772, 1028, 0, 0, 0, 0}, {15, 4613, 80, 1285, 0, 0, 0}, {108, 1542, 17408, 0, 0, 0, 0}, {15, 112, 4615, 5376, 0, 0, 0}, {8712, 16384, 0, 0, 0, 0, 0}, {51, 771, 4357, 0, 0, 0, 0}, {16906, 24576, 0, 0, 0, 0, 0}, {4359, 4420, 1028, 0, 0, 0, 0}, {204, 3084, 8704, 17408, 0, 0, 0}, {15, 32, 514, 80, 1285, 4096, 0}, {76, 32, 514, 1028, 0, 0, 0}, {15, 4608, 21760, 0, 0, 0, 0}, {32, 512, 80, 4112, 0, 0, 0}, {3072, 51, 4369, 0, 0, 0, 0}, {240, 4626, 0, 0, 0, 0, 0}, {19, 1024, 4352, 0, 0, 0, 0}, {60, 4628, 80, 5140, 0, 0, 0}, {127, 8789, 5397, 0, 0, 0, 0}, {76, 112, 4630, 1024, 0, 0, 0}, {95, 5911, 21760, 0, 0, 0, 0}, {4632, 12336, 80, 0, 0, 0, 0}, {4377, 51, 4437, 1024, 0, 0, 0}, {4634, 112, 16448, 0, 0, 0, 0}, {4379, 51, 1536, 4420, 0, 0, 0}, {28, 32, 512, 80, 1024, 4096, 0}, {255, 7453, 8738, 21845, 0, 0, 0}, {4638, 4642, 17476, 0, 0, 0, 0}, {5407, 32, 512, 5440, 0, 0, 0}, {32, 512, 16384, 0, 0, 0, 0}, {15, 51, 771, 4369, 0, 0, 0}, {18568, 8738, 0, 0, 0, 0, 0}, {259, 1280, 272, 0, 0, 0, 0}, {1548, 1632, 17476, 0, 0, 0, 0}, {15, 5413, 1792, 5461, 0, 0, 0}, {1036, 9766, 1088, 0, 0, 0, 0}, {15, 4647, 80, 1280, 0, 0, 0}, {16936, 24576, 0, 0, 0, 0, 0}, {4374, 4437, 5397, 0, 0, 0, 0}, {8746, 16384, 0, 0, 0, 0, 0}, {51, 771, 4372, 0, 0, 0, 0}, {1036, 32, 512, 1088, 0, 0, 0}, {15, 4642, 21845, 0, 0, 0, 0}, {204, 3084, 8738, 17476, 0, 0, 0}, {15, 32, 512, 80, 1280, 4096, 0}, {23040, 4656, 0, 0, 0, 0, 0}, {19, 1092, 4369, 0, 0, 0, 0}, {32, 514, 80, 4112, 0, 0, 0}, {3072, 51, 4352, 0, 0, 0, 0}, {1032, 1076, 5632, 1092, 0, 0, 0}, {95, 5984, 21845, 0, 0, 0, 0}, {4618, 4662, 80, 5120, 0, 0, 0}, {5439, 14135, 5440, 0, 0, 0, 0}, {4680, 112, 16448, 0, 0, 0, 0}, {4362, 51, 5888, 4437, 0, 0, 0}, {4666, 12336, 80, 0, 0, 0, 0}, {4360, 51, 4420, 5376, 0, 0, 0}, {60, 4608, 17408, 0, 0, 0, 0}, {95, 32, 514, 5397, 0, 0, 0}, {28, 32, 514, 80, 1044, 4096, 0}, {255, 7487, 8704, 21760, 0, 0, 0}, {128, 2048, 8704, 16448, 0, 0, 0}, {15, 51, 768, 80, 1285, 4369, 0}, {160, 16962, 0, 0, 0, 0, 0}, {67, 1024, 4352, 0, 0, 0, 0}, {204, 3072, 8772, 17476, 0, 0, 0}, {15, 32, 517, 80, 1285, 4112, 0}, {76, 32, 582, 1024, 0, 0, 0}, {15, 4679, 21760, 0, 0, 0, 0}, {8840, 18504, 0, 0, 0, 0, 0}, {19, 261, 4096, 0, 0, 0, 0}, {522, 32, 16448, 0, 0, 0, 0}, {15, 51, 768, 4420, 0, 0, 0}, {76, 8704, 1024, 0, 0, 0, 0}, {15, 4626, 80, 1285, 0, 0, 0}, {1546, 1638, 17476, 0, 0, 0, 0}, {15, 5424, 1792, 5440, 0, 0, 0}, {4608, 80, 0, 0, 0, 0, 0}, {76, 51, 1028, 4369, 0, 0, 0}, {112, 4690, 16384, 0, 0, 0, 0}, {95, 51, 1619, 4352, 0, 0, 0}, {28, 32, 532, 80, 1028, 4112, 0}, {255, 7509, 8789, 21845, 0, 0, 0}, {60, 4694, 17408, 0, 0, 0, 0}, {95, 32, 599, 5376, 0, 0, 0}, {520, 32, 80, 4096, 0, 0, 0}, {3084, 51, 4437, 0, 0, 0, 0}, {4698, 12288, 0, 0, 0, 0, 0}, {19, 4420, 1028, 0, 0, 0, 0}, {4620, 4656, 80, 5120, 0, 0, 0}, {5418, 8738, 5461, 0, 0, 0, 0}, {76, 112, 4626, 1028, 0, 0, 0}, {95, 5888, 21760, 0, 0, 0, 0}, {2560, 16992, 0, 0, 0, 0, 0}, {1031, 1092, 4369, 0, 0, 0, 0}, {128, 2056, 8738, 16448, 0, 0, 0}, {15, 51, 768, 80, 1280, 4352, 0}, {1032, 32, 1536, 1092, 0, 0, 0}, {15, 4709, 21845, 0, 0, 0, 0}, {204, 3072, 8806, 17408, 0, 0, 0}, {15, 32, 519, 80, 1280, 4112, 0}, {520, 32, 16448, 0, 0, 0, 0}, {15, 51, 768, 4437, 0, 0, 0}, {8874, 27242, 0, 0, 0, 0, 0}, {19, 276, 4096, 0, 0, 0, 0}, {108, 1536, 17408, 0, 0, 0, 0}, {15, 112, 4626, 5397, 0, 0, 0}, {1032, 8738, 1092, 0, 0, 0, 0}, {15, 4656, 80, 1280, 0, 0, 0}, {112, 4608, 16384, 0, 0, 0, 0}, {95, 51, 1542, 4369, 0, 0, 0}, {2570, 4642, 80, 0, 0, 0, 0}, {1036, 51, 1088, 4352, 0, 0, 0}, {4680, 4724, 17476, 0, 0, 0, 0}, {5386, 32, 5888, 5461, 0, 0, 0}, {28, 32, 534, 80, 1040, 4112, 0}, {255, 7543, 8823, 21760, 0, 0, 0}, {4728, 12288, 0, 0, 0, 0, 0}, {19, 4437, 5397, 0, 0, 0, 0}, {522, 32, 80, 4096, 0, 0, 0}, {3084, 51, 4420, 0, 0, 0, 0}, {1036, 1072, 5632, 1088, 0, 0, 0}, {95, 6007, 21845, 0, 0, 0, 0}, {60, 4626, 80, 5140, 0, 0, 0}, {127, 8704, 5376, 0, 0, 0, 0}, {128, 2048, 8704, 16384, 0, 0, 0}, {15, 51, 771, 80, 1285, 4369, 0}, {2570, 16930, 0, 0, 0, 0, 0}, {1027, 1088, 4352, 0, 0, 0, 0}, {204, 3084, 8772, 17476, 0, 0, 0}, {15, 32, 517, 80, 1285, 4096, 0}, {1036, 32, 1542, 1088, 0, 0, 0}, {15, 4727, 21760, 0, 0, 0, 0}, {8840, 27136, 0, 0, 0, 0, 0}, {19, 277, 4112, 0, 0, 0, 0}, {522, 32, 16384, 0, 0, 0, 0}, {15, 51, 771, 4420, 0, 0, 0}, {1036, 8704, 1088, 0, 0, 0, 0}, {15, 4642, 80, 1285, 0, 0, 0}, {108, 1542, 17476, 0, 0, 0, 0}, {15, 112, 4608, 5376, 0, 0, 0}, {2560, 4656, 80, 0, 0, 0, 0}, {1032, 51, 1092, 4369, 0, 0, 0}, {112, 4626, 16448, 0, 0, 0, 0}, {95, 51, 1536, 4352, 0, 0, 0}, {28, 32, 532, 80, 1044, 4096, 0}, {255, 7530, 8789, 21845, 0, 0, 0}, {4698, 4710, 17408, 0, 0, 0, 0}, {5407, 32, 5911, 5440, 0, 0, 0}, {520, 32, 80, 4112, 0, 0, 0}, {3072, 51, 4437, 0, 0, 0, 0}, {4714, 12336, 0, 0, 0, 0, 0}, {19, 4420, 5376, 0, 0, 0, 0}, {60, 4608, 80, 5120, 0, 0, 0}, {127, 8738, 5397, 0, 0, 0, 0}, {1032, 1076, 5654, 1092, 0, 0, 0}, {95, 5984, 21760, 0, 0, 0, 0}, {160, 16896, 0, 0, 0, 0, 0}, {67, 1028, 4369, 0, 0, 0, 0}, {128, 2056, 8738, 16384, 0, 0, 0}, {15, 51, 771, 80, 1280, 4352, 0}, {76, 32, 580, 1028, 0, 0, 0}, {15, 4693, 21845, 0, 0, 0, 0}, {204, 3084, 8806, 17408, 0, 0, 0}, {15, 32, 519, 80, 1280, 4096, 0}, {520, 32, 16384, 0, 0, 0, 0}, {15, 51, 771, 4437, 0, 0, 0}, {8874, 18432, 0, 0, 0, 0, 0}, {19, 260, 4112, 0, 0, 0, 0}, {1548, 1632, 17408, 0, 0, 0, 0}, {15, 5413, 1799, 5461, 0, 0, 0}, {76, 8738, 1028, 0, 0, 0, 0}, {15, 4608, 80, 1280, 0, 0, 0}, {112, 4672, 16448, 0, 0, 0, 0}, {95, 51, 1621, 4369, 0, 0, 0}, {4626, 80, 0, 0, 0, 0, 0}, {76, 51, 1024, 4352, 0, 0, 0}, {60, 4676, 17476, 0, 0, 0, 0}, {95, 32, 597, 5397, 0, 0, 0}, {28, 32, 534, 80, 1024, 4096, 0}, {255, 7496, 8823, 21760, 0, 0, 0}, {4680, 12336, 0, 0, 0, 0, 0}, {19, 4437, 1024, 0, 0, 0, 0}, {522, 32, 80, 4112, 0, 0, 0}, {3072, 51, 4420, 0, 0, 0, 0}, {76, 112, 4608, 1024, 0, 0, 0}, {95, 5911, 21845, 0, 0, 0, 0}, {4638, 4642, 80, 5140, 0, 0, 0}, {5439, 8704, 5440, 0, 0, 0, 0}, {18624, 8704, 0, 0, 0, 0, 0}, {258, 1285, 273, 0, 0, 0, 0}, {32, 514, 16448, 0, 0, 0, 0}, {15, 51, 768, 4352, 0, 0, 0}, {1032, 9728, 1092, 0, 0, 0, 0}, {15, 4661, 80, 1285, 0, 0, 0}, {1546, 1638, 17408, 0, 0, 0, 0}, {15, 5424, 1799, 5440, 0, 0, 0}, {8712, 16448, 0, 0, 0, 0, 0}, {51, 768, 4357, 0, 0, 0, 0}, {17002, 24672, 0, 0, 0, 0, 0}, {4359, 4420, 5376, 0, 0, 0, 0}, {204, 3072, 8704, 17408, 0, 0, 0}, {15, 32, 514, 80, 1285, 4112, 0}, {1032, 32, 514, 1092, 0, 0, 0}, {15, 4656, 21760, 0, 0, 0, 0}, {32, 512, 80, 4096, 0, 0, 0}, {3084, 51, 4369, 0, 0, 0, 0}, {23130, 4642, 0, 0, 0, 0, 0}, {19, 1088, 4352, 0, 0, 0, 0}, {4632, 4644, 80, 5140, 0, 0, 0}, {5418, 14080, 5461, 0, 0, 0, 0}, {1036, 1072, 5654, 1088, 0, 0, 0}, {95, 6007, 21760, 0, 0, 0, 0}, {4648, 12288, 80, 0, 0, 0, 0}, {4377, 51, 4437, 5397, 0, 0, 0}, {4698, 112, 16384, 0, 0, 0, 0}, {4379, 51, 5911, 4420, 0, 0, 0}, {28, 32, 512, 80, 1040, 4112, 0}, {255, 7458, 8738, 21845, 0, 0, 0}, {60, 4626, 17476, 0, 0, 0, 0}, {95, 32, 512, 5376, 0, 0, 0}, {32, 512, 16448, 0, 0, 0, 0}, {15, 51, 768, 4369, 0, 0, 0}, {18504, 8738, 0, 0, 0, 0, 0}, {19, 80, 256, 0, 0, 0, 0}, {108, 1536, 17476, 0, 0, 0, 0}, {15, 112, 4629, 5397, 0, 0, 0}, {76, 8806, 1024, 0, 0, 0, 0}, {15, 4631, 80, 1280, 0, 0, 0}, {16968, 24672, 0, 0, 0, 0, 0}, {4374, 4437, 1024, 0, 0, 0, 0}, {8746, 16448, 0, 0, 0, 0, 0}, {51, 768, 4372, 0, 0, 0, 0}, {76, 32, 512, 1024, 0, 0, 0}, {15, 4626, 21845, 0, 0, 0, 0}, {204, 3072, 8738, 17476, 0, 0, 0}, {15, 32, 512, 80, 1280, 4112, 0}, {240, 4608, 0, 0, 0, 0, 0}, {19, 1028, 4369, 0, 0, 0, 0}, {32, 514, 80, 4096, 0, 0, 0}, {3084, 51, 4352, 0, 0, 0, 0}, {76, 112, 4612, 1028, 0, 0, 0}, {95, 5888, 21845, 0, 0, 0, 0}, {60, 4614, 80, 5120, 0, 0, 0}, {127, 8823, 5376, 0, 0, 0, 0}, {4616, 112, 16384, 0, 0, 0, 0}, {4362, 51, 1542, 4437, 0, 0, 0}, {4618, 12288, 80, 0, 0, 0, 0}, {4360, 51, 4420, 1028, 0, 0, 0}, {4620, 4656, 17408, 0, 0, 0, 0}, {5386, 32, 514, 5461, 0, 0, 0}, {28, 32, 514, 80, 1028, 4112, 0}, {255, 7424, 8704, 21760, 0, 0, 0}, {4864, 20480, 0, 0, 0, 0, 0}, {72, 34, 257, 0, 0, 0, 0}, {1290, 34, 514, 4352, 0, 0, 0}, {4144, 771, 16384, 0, 0, 0, 0}, {4104, 4868, 4160, 1028, 0, 0, 0}, {4959, 13141, 1285, 0, 0, 0, 0}, {4106, 4192, 4870, 5376, 0, 0, 0}, {5240, 1799, 17408, 0, 0, 0, 0}, {4872, 13056, 5120, 0, 0, 0, 0}, {4154, 771, 4176, 1285, 0, 0, 0}, {1290, 5632, 21760, 0, 0, 0, 0}, {72, 4208, 771, 1028, 0, 0, 0}, {780, 4096, 0, 0, 0, 0, 0}, {34, 514, 4437, 1285, 0, 0, 0}, {4098, 4420, 1028, 0, 0, 0, 0}, {17167, 8192, 0, 0, 0, 0, 0}, {3072, 816, 4112, 0, 0, 0, 0}, {34, 512, 1365, 4369, 0, 0, 0}, {274, 1024, 4352, 0, 0, 0, 0}, {20640, 4883, 0, 0, 0, 0, 0}, {4972, 13124, 5140, 0, 0, 0, 0}, {4138, 4885, 4160, 5397, 0, 0, 0}, {1370, 5654, 21760, 0, 0, 0, 0}, {72, 4192, 4887, 1024, 0, 0, 0}, {4120, 816, 4176, 1024, 0, 0, 0}, {4889, 13107, 1365, 0, 0, 0, 0}, {4122, 1328, 1536, 5440, 0, 0, 0}, {4891, 1911, 17476, 0, 0, 0, 0}, {5100, 7196, 8224, 20560, 0, 0, 0}, {285, 34, 512, 341, 1024, 4096, 0}, {5150, 34, 512, 4420, 0, 0, 0}, {4895, 4128, 16448, 0, 0, 0, 0}, {3840, 4896, 0, 0, 0, 0, 0}, {259, 1092, 4369, 0, 0, 0, 0}, {34, 512, 1280, 4352, 0, 0, 0}, {192, 771, 4112, 0, 0, 0, 0}, {1036, 5156, 1792, 1092, 0, 0, 0}, {1295, 5744, 21845, 0, 0, 0, 0}, {780, 4902, 4160, 1280, 0, 0, 0}, {1807, 10023, 5200, 0, 0, 0, 0}, {5160, 1792, 17408, 0, 0, 0, 0}, {4122, 4208, 771, 5397, 0, 0, 0}, {4906, 13056, 1280, 0, 0, 0, 0}, {4120, 771, 4176, 5140, 0, 0, 0}, {780, 4128, 16448, 0, 0, 0, 0}, {1295, 34, 512, 4437, 0, 0, 0}, {268, 34, 512, 324, 1280, 4096, 0}, {5087, 3855, 8224, 20560, 0, 0, 0}, {4144, 4864, 16384, 0, 0, 0, 0}, {1375, 34, 514, 4369, 0, 0, 0}, {1032, 514, 272, 0, 0, 0, 0}, {4915, 20480, 0, 0, 0, 0, 0}, {4940, 1904, 17476, 0, 0, 0, 0}, {4106, 1333, 5632, 5461, 0, 0, 0}, {5692, 13878, 1360, 0, 0, 0, 0}, {4104, 4919, 4160, 5120, 0, 0, 0}, {1032, 5168, 5888, 1088, 0, 0, 0}, {1375, 5734, 21845, 0, 0, 0, 0}, {4874, 816, 4176, 5376, 0, 0, 0}, {4923, 13107, 5188, 0, 0, 0, 0}, {17212, 8192, 0, 0, 0, 0, 0}, {4098, 4437, 5397, 0, 0, 0, 0}, {34, 514, 4420, 5140, 0, 0, 0}, {831, 4096, 0, 0, 0, 0, 0}, {768, 4160, 0, 0, 0, 0, 0}, {522, 34, 1285, 4369, 0, 0, 0}, {322, 1024, 4352, 0, 0, 0, 0}, {20720, 17219, 0, 0, 0, 0, 0}, {1792, 5188, 0, 0, 0, 0, 0}, {783, 869, 1285, 4112, 0, 0, 0}, {1290, 4934, 21760, 0, 0, 0, 0}, {72, 4144, 839, 1024, 0, 0, 0}, {72, 768, 1024, 4096, 0, 0, 0}, {170, 4883, 1285, 0, 0, 0, 0}, {1290, 4128, 768, 5440, 0, 0, 0}, {1807, 4915, 17476, 0, 0, 0, 0}, {4940, 20480, 0, 0, 0, 0, 0}, {34, 4626, 261, 0, 0, 0, 0}, {1290, 34, 1792, 4420, 0, 0, 0}, {783, 4208, 16448, 0, 0, 0, 0}, {5024, 7248, 13056, 20560, 0, 0, 0}, {281, 34, 785, 337, 1028, 4369, 0}, {1370, 34, 1874, 4352, 0, 0, 0}, {4192, 4947, 16384, 0, 0, 0, 0}, {72, 884, 1028, 4112, 0, 0, 0}, {5632, 1365, 0, 0, 0, 0, 0}, {4186, 4144, 854, 5376, 0, 0, 0}, {5160, 4951, 17408, 0, 0, 0, 0}, {2056, 4896, 5200, 0, 0, 0, 0}, {1548, 819, 1365, 4096, 0, 0, 0}, {1370, 4864, 21760, 0, 0, 0, 0}, {72, 4128, 4883, 1028, 0, 0, 0}, {828, 12336, 4176, 0, 0, 0, 0}, {520, 34, 4437, 5120, 0, 0, 0}, {278, 4420, 1028, 0, 0, 0, 0}, {4959, 28672, 0, 0, 0, 0, 0}, {4192, 768, 16384, 0, 0, 0, 0}, {1295, 34, 1799, 4369, 0, 0, 0}, {264, 34, 768, 320, 1280, 4352, 0}, {5011, 3855, 13107, 20560, 0, 0, 0}, {1800, 4964, 17476, 0, 0, 0, 0}, {1295, 4144, 1536, 5461, 0, 0, 0}, {4966, 1280, 0, 0, 0, 0, 0}, {1032, 1799, 1088, 4112, 0, 0, 0}, {1032, 4128, 768, 1088, 0, 0, 0}, {1295, 4915, 21845, 0, 0, 0, 0}, {106, 768, 1280, 4096, 0, 0, 0}, {136, 4883, 5140, 0, 0, 0, 0}, {4972, 28672, 0, 0, 0, 0, 0}, {263, 4437, 5397, 0, 0, 0, 0}, {520, 34, 4420, 1280, 0, 0, 0}, {783, 12336, 4176, 0, 0, 0, 0}, {24320, 17264, 0, 0, 0, 0, 0}, {1303, 1092, 4369, 0, 0, 0, 0}, {522, 34, 1360, 4352, 0, 0, 0}, {3084, 819, 4160, 0, 0, 0, 0}, {1036, 4144, 5888, 1092, 0, 0, 0}, {1375, 4981, 21845, 0, 0, 0, 0}, {1338, 1542, 1360, 4112, 0, 0, 0}, {4983, 5120, 0, 0, 0, 0, 0}, {5240, 4864, 17408, 0, 0, 0, 0}, {4170, 4128, 4883, 5397, 0, 0, 0}, {2570, 4896, 1360, 0, 0, 0, 0}, {1036, 819, 1092, 4096, 0, 0, 0}, {4940, 4208, 16448, 0, 0, 0, 0}, {5130, 34, 5632, 4437, 0, 0, 0}, {34, 4626, 276, 0, 0, 0, 0}, {4991, 20480, 0, 0, 0, 0, 0}, {4992, 3840, 13056, 20480, 0, 0, 0}, {265, 34, 771, 321, 1285, 4369, 0}, {1290, 34, 1792, 4352, 0, 0, 0}, {4208, 771, 16448, 0, 0, 0, 0}, {1036, 1792, 1092, 4096, 0, 0, 0}, {4981, 1285, 0, 0, 0, 0, 0}, {1290, 4128, 1542, 5440, 0, 0, 0}, {1807, 4983, 17408, 0, 0, 0, 0}, {136, 4864, 5120, 0, 0, 0, 0}, {106, 771, 1285, 4112, 0, 0, 0}, {1290, 4896, 21760, 0, 0, 0, 0}, {1036, 4144, 771, 1092, 0, 0, 0}, {780, 12288, 4160, 0, 0, 0, 0}, {522, 34, 4437, 1285, 0, 0, 0}, {262, 4420, 5376, 0, 0, 0, 0}, {4991, 28784, 0, 0, 0, 0, 0}, {3072, 816, 4176, 0, 0, 0, 0}, {520, 34, 1365, 4369, 0, 0, 0}, {1298, 1088, 4352, 0, 0, 0, 0}, {24415, 17203, 0, 0, 0, 0, 0}, {4964, 5140, 0, 0, 0, 0, 0}, {1343, 1536, 1365, 4096, 0, 0, 0}, {1370, 4966, 21760, 0, 0, 0, 0}, {1032, 4128, 5911, 1088, 0, 0, 0}, {1032, 816, 1088, 4112, 0, 0, 0}, {2560, 4915, 1365, 0, 0, 0, 0}, {4186, 4144, 4864, 5376, 0, 0, 0}, {5228, 4883, 17476, 0, 0, 0, 0}, {4972, 20560, 0, 0, 0, 0, 0}, {34, 4608, 277, 0, 0, 0, 0}, {5150, 34, 5654, 4420, 0, 0, 0}, {4959, 4192, 16384, 0, 0, 0, 0}, {20640, 17152, 0, 0, 0, 0, 0}, {323, 1028, 4369, 0, 0, 0, 0}, {520, 34, 1280, 4352, 0, 0, 0}, {771, 4176, 0, 0, 0, 0, 0}, {72, 4128, 836, 1028, 0, 0, 0}, {1295, 4949, 21845, 0, 0, 0, 0}, {780, 870, 1280, 4096, 0, 0, 0}, {1799, 5200, 0, 0, 0, 0, 0}, {1800, 4896, 17408, 0, 0, 0, 0}, {1295, 4144, 771, 5461, 0, 0, 0}, {170, 4864, 1280, 0, 0, 0, 0}, {72, 771, 1028, 4112, 0, 0, 0}, {780, 4192, 16384, 0, 0, 0, 0}, {1295, 34, 1799, 4437, 0, 0, 0}, {34, 4608, 260, 0, 0, 0, 0}, {4959, 20560, 0, 0, 0, 0, 0}, {4208, 4928, 16448, 0, 0, 0, 0}, {1375, 34, 1877, 4369, 0, 0, 0}, {280, 34, 786, 336, 1024, 4352, 0}, {5043, 7244, 13107, 20480, 0, 0, 0}, {5180, 4932, 17476, 0, 0, 0, 0}, {4170, 4128, 853, 5397, 0, 0, 0}, {5654, 1360, 0, 0, 0, 0, 0}, {72, 887, 1024, 4096, 0, 0, 0}, {72, 4144, 4864, 1024, 0, 0, 0}, {1375, 4883, 21845, 0, 0, 0, 0}, {1546, 816, 1360, 4112, 0, 0, 0}, {2048, 4915, 5188, 0, 0, 0, 0}, {4940, 28784, 0, 0, 0, 0, 0}, {279, 4437, 1024, 0, 0, 0, 0}, {522, 34, 4420, 5140, 0, 0, 0}, {831, 12288, 4160, 0, 0, 0, 0}, {192, 768, 4096, 0, 0, 0, 0}, {34, 514, 1285, 4369, 0, 0, 0}, {258, 1088, 4352, 0, 0, 0, 0}, {3855, 4915, 0, 0, 0, 0, 0}, {1800, 9984, 5188, 0, 0, 0, 0}, {783, 4917, 4176, 1285, 0, 0, 0}, {1290, 5734, 21760, 0, 0, 0, 0}, {1032, 5168, 1799, 1088, 0, 0, 0}, {4104, 768, 4160, 5120, 0, 0, 0}, {4921, 13107, 1285, 0, 0, 0, 0}, {4106, 4192, 768, 5376, 0, 0, 0}, {5180, 1799, 17476, 0, 0, 0, 0}, {5068, 3840, 8192, 20480, 0, 0, 0}, {269, 34, 514, 325, 1285, 4112, 0}, {1290, 34, 514, 4420, 0, 0, 0}, {783, 4144, 16384, 0, 0, 0, 0}, {4896, 20560, 0, 0, 0, 0, 0}, {1036, 512, 273, 0, 0, 0, 0}, {1370, 34, 512, 4352, 0, 0, 0}, {4128, 4883, 16448, 0, 0, 0, 0}, {4120, 4900, 4176, 5140, 0, 0, 0}, {5674, 13824, 1365, 0, 0, 0, 0}, {4122, 1328, 5654, 5440, 0, 0, 0}, {4959, 1911, 17408, 0, 0, 0, 0}, {4904, 13056, 5200, 0, 0, 0, 0}, {4889, 819, 4160, 5397, 0, 0, 0}, {1370, 5744, 21760, 0, 0, 0, 0}, {1036, 5156, 5911, 1092, 0, 0, 0}, {828, 4112, 0, 0, 0, 0, 0}, {34, 512, 4437, 5120, 0, 0, 0}, {4114, 4420, 5376, 0, 0, 0, 0}, {17279, 8224, 0, 0, 0, 0, 0}, {4128, 768, 16448, 0, 0, 0, 0}, {1295, 34, 512, 4369, 0, 0, 0}, {72, 34, 256, 0, 0, 0, 0}, {4883, 20560, 0, 0, 0, 0, 0}, {5228, 1792, 17476, 0, 0, 0, 0}, {4122, 4208, 4885, 5397, 0, 0, 0}, {4940, 13158, 1280, 0, 0, 0, 0}, {4120, 4887, 4176, 1024, 0, 0, 0}, {72, 4192, 768, 1024, 0, 0, 0}, {1295, 5654, 21845, 0, 0, 0, 0}, {4138, 768, 4160, 1280, 0, 0, 0}, {4891, 13107, 5140, 0, 0, 0, 0}, {17228, 8224, 0, 0, 0, 0, 0}, {4114, 4437, 1024, 0, 0, 0, 0}, {34, 512, 4420, 1280, 0, 0, 0}, {783, 4112, 0, 0, 0, 0, 0}, {20720, 4864, 0, 0, 0, 0, 0}, {275, 1028, 4369, 0, 0, 0, 0}, {34, 514, 1360, 4352, 0, 0, 0}, {3084, 819, 4096, 0, 0, 0, 0}, {72, 4208, 4868, 1028, 0, 0, 0}, {1375, 5632, 21845, 0, 0, 0, 0}, {4154, 4870, 4176, 5376, 0, 0, 0}, {4991, 13175, 5120, 0, 0, 0, 0}, {4872, 1904, 17408, 0, 0, 0, 0}, {4106, 1333, 1542, 5461, 0, 0, 0}, {4874, 13056, 1360, 0, 0, 0, 0}, {4104, 819, 4160, 1028, 0, 0, 0}, {4876, 4144, 16384, 0, 0, 0, 0}, {5130, 34, 514, 4437, 0, 0, 0}, {284, 34, 514, 340, 1028, 4112, 0}, {5119, 7168, 8192, 20480, 0, 0, 0}, {10240, 17408, 0, 0, 0, 0, 0}, {48, 21, 257, 0, 0, 0, 0}, {17416, 17442, 514, 0, 0, 0, 0}, {5123, 20480, 0, 0, 0, 0, 0}, {8192, 64, 1028, 0, 0, 0, 0}, {15, 85, 1285, 4352, 0, 0, 0}, {17420, 17510, 1542, 0, 0, 0, 0}, {5127, 20480, 0, 0, 0, 0, 0}, {17416, 8192, 0, 0, 0, 0, 0}, {4355, 85, 1285, 0, 0, 0, 0}, {170, 2570, 8704, 17408, 0, 0, 0}, {15, 48, 771, 64, 1028, 4096, 0}, {17420, 24576, 0, 0, 0, 0, 0}, {4359, 85, 1285, 0, 0, 0, 0}, {42, 514, 64, 1028, 0, 0, 0}, {15, 13056, 5120, 0, 0, 0, 0}, {48, 64, 1024, 4112, 0, 0, 0}, {2560, 85, 4369, 0, 0, 0, 0}, {5138, 20480, 0, 0, 0, 0, 0}, {17484, 17459, 4883, 0, 0, 0, 0}, {240, 5140, 0, 0, 0, 0, 0}, {512, 21, 4352, 0, 0, 0, 0}, {5142, 20480, 0, 0, 0, 0, 0}, {17480, 17527, 5911, 0, 0, 0, 0}, {5144, 48, 20560, 0, 0, 0, 0}, {4377, 4403, 512, 85, 0, 0, 0}, {26, 48, 512, 64, 1024, 4096, 0}, {255, 6939, 13107, 17476, 0, 0, 0}, {5148, 112, 20560, 0, 0, 0, 0}, {4381, 4386, 1536, 85, 0, 0, 0}, {5150, 8738, 5188, 0, 0, 0, 0}, {4895, 4896, 64, 1024, 0, 0, 0}, {128, 2048, 8224, 17408, 0, 0, 0}, {15, 48, 771, 85, 1280, 4369, 0}, {2560, 17442, 0, 0, 0, 0, 0}, {1027, 64, 4112, 0, 0, 0, 0}, {192, 3084, 9252, 17476, 0, 0, 0}, {15, 37, 512, 85, 1280, 4352, 0}, {1036, 1062, 512, 64, 0, 0, 0}, {15, 5159, 20560, 0, 0, 0, 0}, {17544, 10280, 0, 0, 0, 0, 0}, {259, 21, 4096, 0, 0, 0, 0}, {42, 512, 17408, 0, 0, 0, 0}, {15, 48, 771, 5140, 0, 0, 0}, {1036, 8224, 64, 0, 0, 0, 0}, {15, 4386, 85, 1280, 0, 0, 0}, {1548, 1638, 17476, 0, 0, 0, 0}, {15, 5152, 1792, 5200, 0, 0, 0}, {48, 5120, 0, 0, 0, 0, 0}, {42, 514, 85, 4369, 0, 0, 0}, {1042, 64, 4112, 0, 0, 0, 0}, {24320, 17459, 0, 0, 0, 0, 0}, {2056, 5172, 5188, 0, 0, 0, 0}, {1546, 1589, 85, 4352, 0, 0, 0}, {90, 5174, 20560, 0, 0, 0, 0}, {1032, 1079, 4864, 64, 0, 0, 0}, {1032, 48, 64, 4096, 0, 0, 0}, {2570, 4403, 85, 0, 0, 0, 0}, {5130, 48, 4608, 5200, 0, 0, 0}, {4940, 4915, 17476, 0, 0, 0, 0}, {5180, 20480, 0, 0, 0, 0, 0}, {4386, 514, 21, 0, 0, 0, 0}, {90, 112, 514, 5140, 0, 0, 0}, {63, 5888, 17408, 0, 0, 0, 0}, {8192, 64, 1024, 0, 0, 0, 0}, {15, 85, 1285, 4369, 0, 0, 0}, {17480, 17442, 16962, 0, 0, 0, 0}, {5187, 20480, 0, 0, 0, 0, 0}, {10376, 17476, 0, 0, 0, 0, 0}, {768, 261, 272, 0, 0, 0, 0}, {17484, 17510, 17990, 0, 0, 0, 0}, {5191, 20480, 0, 0, 0, 0, 0}, {17480, 24576, 0, 0, 0, 0, 0}, {4374, 85, 1285, 0, 0, 0, 0}, {522, 544, 64, 1024, 0, 0, 0}, {15, 13107, 5188, 0, 0, 0, 0}, {17484, 8192, 0, 0, 0, 0, 0}, {4370, 85, 1285, 0, 0, 0, 0}, {170, 2570, 8738, 17476, 0, 0, 0}, {15, 48, 768, 64, 1024, 4096, 0}, {15360, 5200, 0, 0, 0, 0, 0}, {546, 21, 4369, 0, 0, 0, 0}, {5202, 20480, 0, 0, 0, 0, 0}, {17420, 17459, 21331, 0, 0, 0, 0}, {48, 64, 1028, 4112, 0, 0, 0}, {2560, 85, 4352, 0, 0, 0, 0}, {5206, 20480, 0, 0, 0, 0, 0}, {17416, 17527, 22359, 0, 0, 0, 0}, {5208, 112, 20560, 0, 0, 0, 0}, {4364, 4403, 5888, 85, 0, 0, 0}, {90, 8704, 5120, 0, 0, 0, 0}, {63, 4883, 64, 1028, 0, 0, 0}, {5212, 48, 20560, 0, 0, 0, 0}, {4360, 4386, 4864, 85, 0, 0, 0}, {26, 48, 530, 64, 1028, 4096, 0}, {255, 7007, 13056, 17408, 0, 0, 0}, {192, 3072, 9312, 17408, 0, 0, 0}, {15, 37, 519, 85, 1280, 4369, 0}, {1032, 1058, 1536, 64, 0, 0, 0}, {15, 5219, 20560, 0, 0, 0, 0}, {128, 2056, 8224, 17476, 0, 0, 0}, {15, 48, 768, 85, 1280, 4352, 0}, {2560, 17510, 0, 0, 0, 0, 0}, {1031, 64, 4112, 0, 0, 0, 0}, {1032, 8224, 64, 0, 0, 0, 0}, {15, 4403, 85, 1280, 0, 0, 0}, {106, 1536, 17408, 0, 0, 0, 0}, {15, 112, 4883, 5140, 0, 0, 0}, {17612, 27756, 0, 0, 0, 0, 0}, {274, 21, 4096, 0, 0, 0, 0}, {520, 546, 17476, 0, 0, 0, 0}, {15, 48, 768, 5200, 0, 0, 0}, {112, 5120, 0, 0, 0, 0, 0}, {63, 1542, 85, 4369, 0, 0, 0}, {90, 5234, 20560, 0, 0, 0, 0}, {1036, 1075, 5888, 64, 0, 0, 0}, {3084, 48, 5188, 0, 0, 0, 0}, {522, 544, 85, 4352, 0, 0, 0}, {1046, 64, 4112, 0, 0, 0, 0}, {24320, 17527, 0, 0, 0, 0, 0}, {5240, 20480, 0, 0, 0, 0, 0}, {4403, 4883, 21, 0, 0, 0, 0}, {5130, 5152, 5632, 5200, 0, 0, 0}, {5960, 6007, 17476, 0, 0, 0, 0}, {1036, 48, 64, 4096, 0, 0, 0}, {2570, 4386, 85, 0, 0, 0, 0}, {90, 48, 4626, 5140, 0, 0, 0}, {127, 4864, 17408, 0, 0, 0, 0}, {128, 2048, 8192, 17408, 0, 0, 0}, {15, 48, 771, 85, 1285, 4369, 0}, {2570, 17442, 0, 0, 0, 0, 0}, {1027, 64, 4096, 0, 0, 0, 0}, {192, 3084, 9284, 17476, 0, 0, 0}, {15, 37, 517, 85, 1285, 4352, 0}, {1036, 1062, 1542, 64, 0, 0, 0}, {15, 5239, 20480, 0, 0, 0, 0}, {17544, 27648, 0, 0, 0, 0, 0}, {275, 21, 4112, 0, 0, 0, 0}, {522, 544, 17408, 0, 0, 0, 0}, {15, 48, 771, 5188, 0, 0, 0}, {1036, 8192, 64, 0, 0, 0, 0}, {15, 4386, 85, 1285, 0, 0, 0}, {106, 1542, 17476, 0, 0, 0, 0}, {15, 112, 4864, 5120, 0, 0, 0}, {3072, 48, 5200, 0, 0, 0, 0}, {520, 546, 85, 4369, 0, 0, 0}, {1042, 64, 4096, 0, 0, 0, 0}, {24415, 17459, 0, 0, 0, 0, 0}, {112, 5140, 0, 0, 0, 0, 0}, {63, 1536, 85, 4352, 0, 0, 0}, {90, 5222, 20480, 0, 0, 0, 0}, {1032, 1079, 5911, 64, 0, 0, 0}, {1032, 48, 64, 4112, 0, 0, 0}, {2560, 4403, 85, 0, 0, 0, 0}, {90, 48, 4608, 5120, 0, 0, 0}, {127, 4883, 17476, 0, 0, 0, 0}, {5228, 20560, 0, 0, 0, 0, 0}, {4386, 4864, 21, 0, 0, 0, 0}, {5150, 5172, 5654, 5188, 0, 0, 0}, {5983, 5984, 17408, 0, 0, 0, 0}, {10400, 17408, 0, 0, 0, 0, 0}, {771, 260, 273, 0, 0, 0, 0}, {17416, 17442, 17920, 0, 0, 0, 0}, {5203, 20560, 0, 0, 0, 0, 0}, {8224, 64, 1028, 0, 0, 0, 0}, {15, 85, 1280, 4352, 0, 0, 0}, {17420, 17510, 16896, 0, 0, 0, 0}, {5207, 20560, 0, 0, 0, 0, 0}, {17416, 8224, 0, 0, 0, 0, 0}, {4355, 85, 1280, 0, 0, 0, 0}, {170, 2560, 8704, 17408, 0, 0, 0}, {15, 48, 771, 64, 1028, 4112, 0}, {17420, 24672, 0, 0, 0, 0, 0}, {4359, 85, 1280, 0, 0, 0, 0}, {520, 546, 64, 1028, 0, 0, 0}, {15, 13056, 5200, 0, 0, 0, 0}, {48, 64, 1024, 4096, 0, 0, 0}, {2570, 85, 4369, 0, 0, 0, 0}, {5186, 20560, 0, 0, 0, 0, 0}, {17484, 17459, 22272, 0, 0, 0, 0}, {15420, 5188, 0, 0, 0, 0, 0}, {544, 21, 4352, 0, 0, 0, 0}, {5190, 20560, 0, 0, 0, 0, 0}, {17480, 17527, 21248, 0, 0, 0, 0}, {5192, 48, 20480, 0, 0, 0, 0}, {4377, 4403, 4883, 85, 0, 0, 0}, {26, 48, 528, 64, 1024, 4112, 0}, {255, 6980, 13107, 17476, 0, 0, 0}, {5196, 112, 20480, 0, 0, 0, 0}, {4381, 4386, 5911, 85, 0, 0, 0}, {90, 8738, 5140, 0, 0, 0, 0}, {63, 4864, 64, 1024, 0, 0, 0}, {192, 3072, 9216, 17408, 0, 0, 0}, {15, 37, 514, 85, 1285, 4369, 0}, {1032, 1058, 514, 64, 0, 0, 0}, {15, 5171, 20480, 0, 0, 0, 0}, {128, 2056, 8192, 17476, 0, 0, 0}, {15, 48, 768, 85, 1285, 4352, 0}, {2570, 17510, 0, 0, 0, 0, 0}, {1031, 64, 4096, 0, 0, 0, 0}, {1032, 8192, 64, 0, 0, 0, 0}, {15, 4403, 85, 1285, 0, 0, 0}, {1546, 1632, 17408, 0, 0, 0, 0}, {15, 5172, 1799, 5188, 0, 0, 0}, {17612, 10240, 0, 0, 0, 0, 0}, {258, 21, 4112, 0, 0, 0, 0}, {42, 514, 17476, 0, 0, 0, 0}, {15, 48, 768, 5120, 0, 0, 0}, {2048, 5152, 5200, 0, 0, 0, 0}, {1548, 1587, 85, 4369, 0, 0, 0}, {90, 5154, 20480, 0, 0, 0, 0}, {1036, 1075, 4883, 64, 0, 0, 0}, {48, 5140, 0, 0, 0, 0, 0}, {42, 512, 85, 4352, 0, 0, 0}, {1046, 64, 4096, 0, 0, 0, 0}, {24415, 17527, 0, 0, 0, 0, 0}, {5160, 20560, 0, 0, 0, 0, 0}, {4403, 512, 21, 0, 0, 0, 0}, {90, 112, 512, 5120, 0, 0, 0}, {63, 5911, 17476, 0, 0, 0, 0}, {1036, 48, 64, 4112, 0, 0, 0}, {2560, 4386, 85, 0, 0, 0, 0}, {5150, 48, 4626, 5188, 0, 0, 0}, {4959, 4896, 17408, 0, 0, 0, 0}, {8224, 64, 1024, 0, 0, 0, 0}, {15, 85, 1280, 4369, 0, 0, 0}, {17480, 17442, 1536, 0, 0, 0, 0}, {5139, 20560, 0, 0, 0, 0, 0}, {10280, 17476, 0, 0, 0, 0, 0}, {48, 21, 256, 0, 0, 0, 0}, {17484, 17510, 512, 0, 0, 0, 0}, {5143, 20560, 0, 0, 0, 0, 0}, {17480, 24672, 0, 0, 0, 0, 0}, {4374, 85, 1280, 0, 0, 0, 0}, {42, 512, 64, 1024, 0, 0, 0}, {15, 13107, 5140, 0, 0, 0, 0}, {17484, 8224, 0, 0, 0, 0, 0}, {4370, 85, 1280, 0, 0, 0, 0}, {170, 2560, 8738, 17476, 0, 0, 0}, {15, 48, 768, 64, 1024, 4112, 0}, {240, 5120, 0, 0, 0, 0, 0}, {514, 21, 4369, 0, 0, 0, 0}, {5122, 20560, 0, 0, 0, 0, 0}, {17420, 17459, 5888, 0, 0, 0, 0}, {48, 64, 1028, 4096, 0, 0, 0}, {2570, 85, 4352, 0, 0, 0, 0}, {5126, 20560, 0, 0, 0, 0, 0}, {17416, 17527, 4864, 0, 0, 0, 0}, {5128, 112, 20480, 0, 0, 0, 0}, {4364, 4403, 1542, 85, 0, 0, 0}, {5130, 8704, 5200, 0, 0, 0, 0}, {4876, 4915, 64, 1028, 0, 0, 0}, {5132, 48, 20480, 0, 0, 0, 0}, {4360, 4386, 514, 85, 0, 0, 0}, {26, 48, 514, 64, 1028, 4112, 0}, {255, 6912, 13056, 17408, 0, 0, 0}, {12288, 5376, 0, 0, 0, 0, 0}, {40, 68, 257, 0, 0, 0, 0}, {5378, 20480, 0, 0, 0, 0, 0}, {16396, 21811, 771, 0, 0, 0, 0}, {780, 68, 1028, 4352, 0, 0, 0}, {8192, 4176, 1285, 0, 0, 0, 0}, {5382, 20480, 0, 0, 0, 0, 0}, {16392, 21879, 1799, 0, 0, 0, 0}, {5384, 4608, 21760, 0, 0, 0, 0}, {4188, 4144, 771, 1285, 0, 0, 0}, {1290, 4096, 0, 0, 0, 0, 0}, {4403, 771, 68, 1028, 0, 0, 0}, {5388, 5632, 21760, 0, 0, 0, 0}, {4184, 4208, 514, 1285, 0, 0, 0}, {4386, 514, 4100, 0, 0, 0, 0}, {9487, 16384, 0, 0, 0, 0, 0}, {2560, 1360, 4112, 0, 0, 0, 0}, {819, 68, 1024, 4369, 0, 0, 0}, {16456, 21794, 4626, 0, 0, 0, 0}, {5395, 20480, 0, 0, 0, 0, 0}, {512, 276, 4352, 0, 0, 0, 0}, {12480, 5397, 0, 0, 0, 0, 0}, {16460, 21862, 5654, 0, 0, 0, 0}, {5399, 20480, 0, 0, 0, 0, 0}, {4120, 4144, 512, 1360, 0, 0, 0}, {5401, 819, 21845, 0, 0, 0, 0}, {5610, 6682, 12336, 16448, 0, 0, 0}, {283, 307, 512, 68, 1024, 4096, 0}, {4124, 5408, 1536, 1360, 0, 0, 0}, {5405, 1911, 21845, 0, 0, 0, 0}, {4638, 4386, 68, 1024, 0, 0, 0}, {5407, 8224, 4160, 0, 0, 0, 0}, {4128, 1280, 0, 0, 0, 0, 0}, {1036, 771, 68, 4369, 0, 0, 0}, {5410, 1792, 16384, 0, 0, 0, 0}, {1295, 1379, 771, 4112, 0, 0, 0}, {268, 292, 512, 68, 1280, 4352, 0}, {5589, 3855, 9509, 21845, 0, 0, 0}, {780, 5414, 16448, 0, 0, 0, 0}, {1295, 1319, 512, 4176, 0, 0, 0}, {40, 512, 1280, 4096, 0, 0, 0}, {204, 771, 5397, 0, 0, 0, 0}, {5418, 12288, 0, 0, 0, 0, 0}, {259, 68, 5140, 0, 0, 0, 0}, {780, 4896, 4160, 1280, 0, 0, 0}, {1807, 8738, 5461, 0, 0, 0, 0}, {1036, 4386, 1792, 68, 0, 0, 0}, {1295, 4208, 20560, 0, 0, 0, 0}, {5568, 6704, 12336, 21760, 0, 0, 0}, {281, 305, 514, 68, 1297, 4369, 0}, {1370, 1394, 514, 4112, 0, 0, 0}, {5427, 5632, 16384, 0, 0, 0, 0}, {1032, 1844, 68, 4352, 0, 0, 0}, {2570, 5429, 1365, 0, 0, 0, 0}, {5386, 1334, 4864, 4176, 0, 0, 0}, {4680, 5431, 16448, 0, 0, 0, 0}, {2056, 4656, 5440, 0, 0, 0, 0}, {1546, 819, 1365, 4096, 0, 0, 0}, {1370, 4144, 20560, 0, 0, 0, 0}, {1032, 4403, 4608, 68, 0, 0, 0}, {828, 13056, 5376, 0, 0, 0, 0}, {40, 514, 4160, 5397, 0, 0, 0}, {278, 68, 5140, 0, 0, 0, 0}, {5439, 28672, 0, 0, 0, 0, 0}, {3840, 5440, 0, 0, 0, 0, 0}, {546, 261, 4369, 0, 0, 0, 0}, {5442, 20480, 0, 0, 0, 0, 0}, {16460, 21811, 17219, 0, 0, 0, 0}, {768, 68, 1024, 4352, 0, 0, 0}, {160, 1285, 4112, 0, 0, 0, 0}, {5446, 20480, 0, 0, 0, 0, 0}, {16456, 21879, 18247, 0, 0, 0, 0}, {5448, 1792, 21760, 0, 0, 0, 0}, {4124, 4208, 4883, 1285, 0, 0, 0}, {1290, 8224, 4160, 0, 0, 0, 0}, {783, 4403, 68, 1024, 0, 0, 0}, {5452, 768, 21760, 0, 0, 0, 0}, {4120, 4144, 4626, 1285, 0, 0, 0}, {266, 290, 768, 68, 1024, 4096, 0}, {5567, 3855, 12336, 16448, 0, 0, 0}, {8192, 4176, 5376, 0, 0, 0, 0}, {831, 68, 1028, 4369, 0, 0, 0}, {16392, 21794, 21074, 0, 0, 0, 0}, {5459, 20480, 0, 0, 0, 0, 0}, {520, 1028, 272, 0, 0, 0, 0}, {12288, 5461, 0, 0, 0, 0, 0}, {16396, 21862, 22102, 0, 0, 0, 0}, {5463, 20480, 0, 0, 0, 0, 0}, {5384, 5408, 5888, 1360, 0, 0, 0}, {5465, 5734, 21845, 0, 0, 0, 0}, {9562, 16384, 0, 0, 0, 0, 0}, {4403, 4883, 4100, 0, 0, 0, 0}, {5388, 4144, 4864, 1360, 0, 0, 0}, {5469, 4642, 21845, 0, 0, 0, 0}, {4386, 4626, 68, 1028, 0, 0, 0}, {1375, 4096, 0, 0, 0, 0, 0}, {4192, 1280, 0, 0, 0, 0, 0}, {1032, 1799, 68, 4369, 0, 0, 0}, {1800, 5474, 16448, 0, 0, 0, 0}, {1295, 5427, 1536, 4176, 0, 0, 0}, {264, 288, 768, 68, 1280, 4352, 0}, {5525, 3855, 12336, 21845, 0, 0, 0}, {5478, 768, 16384, 0, 0, 0, 0}, {1295, 1319, 1799, 4112, 0, 0, 0}, {520, 544, 4160, 1280, 0, 0, 0}, {783, 13107, 5461, 0, 0, 0, 0}, {5482, 28672, 0, 0, 0, 0, 0}, {263, 68, 5140, 0, 0, 0, 0}, {108, 768, 1280, 4096, 0, 0, 0}, {136, 4626, 5397, 0, 0, 0, 0}, {1032, 4386, 768, 68, 0, 0, 0}, {1295, 4144, 20560, 0, 0, 0, 0}, {5504, 6768, 9584, 21760, 0, 0, 0}, {285, 309, 791, 68, 1297, 4369, 0}, {5386, 5410, 5888, 4176, 0, 0, 0}, {5708, 5491, 16448, 0, 0, 0, 0}, {1036, 816, 68, 4352, 0, 0, 0}, {2570, 4128, 1365, 0, 0, 0, 0}, {1370, 1334, 1542, 4112, 0, 0, 0}, {5495, 4608, 16384, 0, 0, 0, 0}, {4728, 8704, 5376, 0, 0, 0, 0}, {4140, 4883, 4160, 5397, 0, 0, 0}, {1370, 4208, 20560, 0, 0, 0, 0}, {1036, 4403, 5632, 68, 0, 0, 0}, {3084, 816, 5440, 0, 0, 0, 0}, {522, 546, 1365, 4096, 0, 0, 0}, {274, 68, 5140, 0, 0, 0, 0}, {5503, 12288, 0, 0, 0, 0, 0}, {5504, 3840, 12288, 21760, 0, 0, 0}, {265, 289, 771, 68, 1285, 4369, 0}, {1290, 1314, 1792, 4096, 0, 0, 0}, {5491, 771, 16448, 0, 0, 0, 0}, {1036, 1792, 68, 4352, 0, 0, 0}, {4208, 1285, 0, 0, 0, 0, 0}, {1290, 5414, 1542, 4160, 0, 0, 0}, {1807, 5495, 16384, 0, 0, 0, 0}, {136, 4608, 5376, 0, 0, 0, 0}, {108, 771, 1285, 4112, 0, 0, 0}, {1290, 4128, 20480, 0, 0, 0, 0}, {1036, 4403, 771, 68, 0, 0, 0}, {780, 13056, 5440, 0, 0, 0, 0}, {522, 546, 4176, 1285, 0, 0, 0}, {262, 68, 5120, 0, 0, 0, 0}, {5503, 28784, 0, 0, 0, 0, 0}, {2560, 4144, 1360, 0, 0, 0, 0}, {1032, 819, 68, 4369, 0, 0, 0}, {5474, 4626, 16448, 0, 0, 0, 0}, {1375, 1331, 1536, 4096, 0, 0, 0}, {284, 308, 788, 68, 1300, 4352, 0}, {5525, 6762, 9557, 21845, 0, 0, 0}, {5722, 5478, 16384, 0, 0, 0, 0}, {5407, 5431, 5911, 4160, 0, 0, 0}, {520, 544, 1360, 4112, 0, 0, 0}, {3072, 819, 5461, 0, 0, 0, 0}, {5482, 12336, 0, 0, 0, 0, 0}, {275, 68, 5120, 0, 0, 0, 0}, {4156, 4864, 4176, 5376, 0, 0, 0}, {4714, 8738, 5397, 0, 0, 0, 0}, {1032, 4386, 5654, 68, 0, 0, 0}, {1375, 4192, 20480, 0, 0, 0, 0}, {160, 1280, 4096, 0, 0, 0, 0}, {771, 68, 1028, 4369, 0, 0, 0}, {16392, 21794, 18176, 0, 0, 0, 0}, {5459, 20560, 0, 0, 0, 0, 0}, {544, 260, 4352, 0, 0, 0, 0}, {3855, 5461, 0, 0, 0, 0, 0}, {16396, 21862, 17152, 0, 0, 0, 0}, {5463, 20560, 0, 0, 0, 0, 0}, {4104, 4128, 4608, 1280, 0, 0, 0}, {5465, 771, 21845, 0, 0, 0, 0}, {5546, 3840, 12288, 16384, 0, 0, 0}, {267, 291, 771, 68, 1028, 4112, 0}, {4108, 4192, 4864, 1280, 0, 0, 0}, {5469, 1799, 21845, 0, 0, 0, 0}, {780, 4386, 68, 1028, 0, 0, 0}, {1295, 8192, 4176, 0, 0, 0, 0}, {12336, 5440, 0, 0, 0, 0, 0}, {522, 1024, 273, 0, 0, 0, 0}, {5442, 20560, 0, 0, 0, 0, 0}, {16460, 21811, 22016, 0, 0, 0, 0}, {828, 68, 1024, 4352, 0, 0, 0}, {8224, 4160, 5397, 0, 0, 0, 0}, {5446, 20560, 0, 0, 0, 0, 0}, {16456, 21879, 20992, 0, 0, 0, 0}, {5448, 4656, 21760, 0, 0, 0, 0}, {5401, 4128, 4883, 1365, 0, 0, 0}, {1370, 4112, 0, 0, 0, 0, 0}, {4403, 4608, 68, 1024, 0, 0, 0}, {5452, 5744, 21760, 0, 0, 0, 0}, {5405, 5429, 5911, 1365, 0, 0, 0}, {4386, 4864, 4116, 0, 0, 0, 0}, {9599, 16448, 0, 0, 0, 0, 0}, {5568, 3840, 9472, 21760, 0, 0, 0}, {269, 293, 514, 68, 1285, 4369, 0}, {1290, 1314, 514, 4160, 0, 0, 0}, {783, 5427, 16384, 0, 0, 0, 0}, {1032, 768, 68, 4352, 0, 0, 0}, {4144, 1285, 0, 0, 0, 0, 0}, {1290, 1382, 768, 4096, 0, 0, 0}, {5431, 1799, 16448, 0, 0, 0, 0}, {1800, 8704, 5440, 0, 0, 0, 0}, {783, 4915, 4176, 1285, 0, 0, 0}, {1290, 4192, 20480, 0, 0, 0, 0}, {1032, 4403, 1799, 68, 0, 0, 0}, {204, 768, 5376, 0, 0, 0, 0}, {40, 514, 1285, 4112, 0, 0, 0}, {258, 68, 5120, 0, 0, 0, 0}, {5439, 12336, 0, 0, 0, 0, 0}, {2560, 5408, 1360, 0, 0, 0, 0}, {1036, 1843, 68, 4369, 0, 0, 0}, {4698, 5410, 16384, 0, 0, 0, 0}, {5407, 1331, 4883, 4160, 0, 0, 0}, {280, 304, 512, 68, 1300, 4352, 0}, {5589, 6698, 12288, 21845, 0, 0, 0}, {5414, 5654, 16448, 0, 0, 0, 0}, {1375, 1399, 512, 4096, 0, 0, 0}, {40, 512, 4176, 5376, 0, 0, 0}, {831, 13107, 5397, 0, 0, 0, 0}, {5418, 28784, 0, 0, 0, 0, 0}, {279, 68, 5120, 0, 0, 0, 0}, {1548, 816, 1360, 4112, 0, 0, 0}, {2048, 4642, 5461, 0, 0, 0, 0}, {1036, 4386, 4626, 68, 0, 0, 0}, {1375, 4128, 20480, 0, 0, 0, 0}, {8224, 4160, 1280, 0, 0, 0, 0}, {783, 68, 1024, 4369, 0, 0, 0}, {16456, 21794, 1792, 0, 0, 0, 0}, {5395, 20560, 0, 0, 0, 0, 0}, {40, 68, 256, 0, 0, 0, 0}, {12336, 5397, 0, 0, 0, 0, 0}, {16460, 21862, 768, 0, 0, 0, 0}, {5399, 20560, 0, 0, 0, 0, 0}, {4168, 4192, 512, 1280, 0, 0, 0}, {5401, 5654, 21845, 0, 0, 0, 0}, {9514, 16448, 0, 0, 0, 0, 0}, {4403, 512, 4116, 0, 0, 0, 0}, {4172, 4128, 768, 1280, 0, 0, 0}, {5405, 4626, 21845, 0, 0, 0, 0}, {4386, 768, 68, 1024, 0, 0, 0}, {1295, 4112, 0, 0, 0, 0, 0}, {12528, 5376, 0, 0, 0, 0, 0}, {514, 277, 4369, 0, 0, 0, 0}, {5378, 20560, 0, 0, 0, 0, 0}, {16396, 21811, 5632, 0, 0, 0, 0}, {816, 68, 1028, 4352, 0, 0, 0}, {2570, 1365, 4096, 0, 0, 0, 0}, {5382, 20560, 0, 0, 0, 0, 0}, {16392, 21879, 4608, 0, 0, 0, 0}, {5384, 1904, 21760, 0, 0, 0, 0}, {4108, 5429, 1542, 1365, 0, 0, 0}, {5386, 8192, 4176, 0, 0, 0, 0}, {4620, 4403, 68, 1028, 0, 0, 0}, {5388, 816, 21760, 0, 0, 0, 0}, {4104, 4128, 514, 1365, 0, 0, 0}, {282, 306, 514, 68, 1028, 4112, 0}, {5631, 6656, 12288, 16384, 0, 0, 0}, {19456, 26112, 0, 0, 0, 0, 0}, {23, 80, 257, 0, 0, 0, 0}, {40, 514, 17408, 0, 0, 0, 0}, {15, 48, 771, 5376, 0, 0, 0}, {72, 8704, 1028, 0, 0, 0, 0}, {15, 4864, 80, 1285, 0, 0, 0}, {96, 1542, 16384, 0, 0, 0, 0}, {15, 119, 1799, 4352, 0, 0, 0}, {136, 2056, 8704, 17408, 0, 0, 0}, {15, 48, 771, 80, 1285, 4096, 0}, {17930, 8192, 0, 0, 0, 0, 0}, {4355, 4420, 1028, 0, 0, 0, 0}, {9740, 16384, 0, 0, 0, 0, 0}, {4386, 514, 4357, 0, 0, 0, 0}, {72, 96, 514, 1028, 0, 0, 0}, {15, 5632, 21760, 0, 0, 0, 0}, {48, 1536, 80, 4112, 0, 0, 0}, {2048, 119, 4369, 0, 0, 0, 0}, {72, 48, 4626, 1024, 0, 0, 0}, {95, 4883, 21760, 0, 0, 0, 0}, {40, 512, 80, 5140, 0, 0, 0}, {63, 13056, 5397, 0, 0, 0, 0}, {240, 5654, 0, 0, 0, 0, 0}, {23, 1024, 4352, 0, 0, 0, 0}, {24, 48, 512, 80, 1024, 4096, 0}, {255, 6425, 13107, 21845, 0, 0, 0}, {5658, 48, 16448, 0, 0, 0, 0}, {4379, 4403, 512, 4420, 0, 0, 0}, {5660, 8224, 80, 0, 0, 0, 0}, {4381, 4386, 4437, 1024, 0, 0, 0}, {5662, 5734, 17476, 0, 0, 0, 0}, {5407, 5408, 1536, 5440, 0, 0, 0}, {2560, 17952, 0, 0, 0, 0, 0}, {1027, 1092, 4369, 0, 0, 0, 0}, {136, 2048, 8738, 17408, 0, 0, 0}, {15, 48, 771, 80, 1280, 4112, 0}, {1036, 1060, 512, 1092, 0, 0, 0}, {15, 5669, 21845, 0, 0, 0, 0}, {192, 3084, 9766, 16448, 0, 0, 0}, {15, 39, 512, 80, 1280, 4352, 0}, {40, 512, 17408, 0, 0, 0, 0}, {15, 48, 771, 5397, 0, 0, 0}, {26282, 10794, 0, 0, 0, 0, 0}, {259, 276, 4096, 0, 0, 0, 0}, {1548, 96, 16448, 0, 0, 0, 0}, {15, 4386, 1792, 4437, 0, 0, 0}, {1036, 8738, 1092, 0, 0, 0, 0}, {15, 4896, 80, 1280, 0, 0, 0}, {48, 5632, 16384, 0, 0, 0, 0}, {95, 119, 514, 4369, 0, 0, 0}, {24, 48, 514, 80, 1040, 4112, 0}, {255, 6451, 13107, 21760, 0, 0, 0}, {5708, 5684, 17476, 0, 0, 0, 0}, {5386, 5429, 4864, 5461, 0, 0, 0}, {2570, 5686, 80, 0, 0, 0, 0}, {1032, 1079, 1088, 4352, 0, 0, 0}, {1032, 48, 4608, 1088, 0, 0, 0}, {95, 4915, 21845, 0, 0, 0, 0}, {1546, 48, 80, 4096, 0, 0, 0}, {2056, 4403, 4420, 0, 0, 0, 0}, {5692, 28672, 0, 0, 0, 0, 0}, {23, 4437, 5397, 0, 0, 0, 0}, {40, 514, 80, 5140, 0, 0, 0}, {63, 13056, 5376, 0, 0, 0, 0}, {192, 3072, 9792, 16448, 0, 0, 0}, {15, 39, 517, 80, 1285, 4369, 0}, {72, 96, 578, 1024, 0, 0, 0}, {15, 5699, 21760, 0, 0, 0, 0}, {136, 2048, 8704, 17476, 0, 0, 0}, {15, 48, 768, 80, 1285, 4112, 0}, {160, 17990, 0, 0, 0, 0, 0}, {71, 1024, 4352, 0, 0, 0, 0}, {72, 8704, 1024, 0, 0, 0, 0}, {15, 4883, 80, 1285, 0, 0, 0}, {1546, 96, 16448, 0, 0, 0, 0}, {15, 4403, 1792, 4420, 0, 0, 0}, {26316, 19532, 0, 0, 0, 0, 0}, {274, 261, 4096, 0, 0, 0, 0}, {522, 546, 17476, 0, 0, 0, 0}, {15, 48, 768, 5440, 0, 0, 0}, {5632, 80, 0, 0, 0, 0, 0}, {72, 119, 1028, 4369, 0, 0, 0}, {120, 5714, 17408, 0, 0, 0, 0}, {95, 96, 4947, 5376, 0, 0, 0}, {24, 48, 528, 80, 1028, 4112, 0}, {255, 6485, 13056, 21845, 0, 0, 0}, {48, 5718, 16384, 0, 0, 0, 0}, {95, 119, 599, 4352, 0, 0, 0}, {520, 544, 80, 5120, 0, 0, 0}, {63, 13107, 5461, 0, 0, 0, 0}, {5722, 28672, 0, 0, 0, 0, 0}, {23, 4420, 1028, 0, 0, 0, 0}, {1548, 48, 80, 4096, 0, 0, 0}, {2056, 4386, 4437, 0, 0, 0, 0}, {72, 48, 4626, 1028, 0, 0, 0}, {95, 4864, 21760, 0, 0, 0, 0}, {96, 1536, 16384, 0, 0, 0, 0}, {15, 119, 1799, 4369, 0, 0, 0}, {1032, 8738, 1088, 0, 0, 0, 0}, {15, 4915, 80, 1280, 0, 0, 0}, {520, 544, 17476, 0, 0, 0, 0}, {15, 48, 768, 5461, 0, 0, 0}, {19660, 26214, 0, 0, 0, 0, 0}, {263, 1280, 272, 0, 0, 0, 0}, {1032, 1056, 1536, 1088, 0, 0, 0}, {15, 5734, 21845, 0, 0, 0, 0}, {9834, 16384, 0, 0, 0, 0, 0}, {4403, 4883, 4372, 0, 0, 0, 0}, {18028, 8192, 0, 0, 0, 0, 0}, {4370, 4437, 5397, 0, 0, 0, 0}, {136, 2056, 8738, 17476, 0, 0, 0}, {15, 48, 768, 80, 1280, 4096, 0}, {23040, 5744, 0, 0, 0, 0, 0}, {23, 1092, 4369, 0, 0, 0, 0}, {522, 546, 80, 5120, 0, 0, 0}, {63, 13107, 5440, 0, 0, 0, 0}, {1036, 48, 4608, 1092, 0, 0, 0}, {95, 4896, 21845, 0, 0, 0, 0}, {48, 1542, 80, 4112, 0, 0, 0}, {2048, 119, 4352, 0, 0, 0, 0}, {120, 5632, 17408, 0, 0, 0, 0}, {95, 96, 4883, 5397, 0, 0, 0}, {5674, 8224, 80, 0, 0, 0, 0}, {4364, 4403, 4420, 5376, 0, 0, 0}, {5708, 48, 16448, 0, 0, 0, 0}, {4362, 4386, 4864, 4437, 0, 0, 0}, {24, 48, 530, 80, 1044, 4096, 0}, {255, 6527, 13056, 21760, 0, 0, 0}, {19584, 26112, 0, 0, 0, 0, 0}, {262, 1285, 273, 0, 0, 0, 0}, {522, 546, 17408, 0, 0, 0, 0}, {15, 48, 771, 5440, 0, 0, 0}, {1036, 8704, 1092, 0, 0, 0, 0}, {15, 4896, 80, 1285, 0, 0, 0}, {96, 1542, 16448, 0, 0, 0, 0}, {15, 119, 1792, 4352, 0, 0, 0}, {136, 2048, 8704, 17408, 0, 0, 0}, {15, 48, 771, 80, 1285, 4112, 0}, {17962, 8224, 0, 0, 0, 0, 0}, {4355, 4420, 5376, 0, 0, 0, 0}, {9804, 16448, 0, 0, 0, 0, 0}, {4386, 4864, 4357, 0, 0, 0, 0}, {1036, 1060, 1542, 1092, 0, 0, 0}, {15, 5744, 21760, 0, 0, 0, 0}, {48, 1536, 80, 4096, 0, 0, 0}, {2056, 119, 4369, 0, 0, 0, 0}, {1032, 48, 4626, 1088, 0, 0, 0}, {95, 4915, 21760, 0, 0, 0, 0}, {520, 544, 80, 5140, 0, 0, 0}, {63, 13056, 5461, 0, 0, 0, 0}, {23130, 5734, 0, 0, 0, 0, 0}, {23, 1088, 4352, 0, 0, 0, 0}, {24, 48, 528, 80, 1040, 4112, 0}, {255, 6502, 13107, 21845, 0, 0, 0}, {5722, 48, 16384, 0, 0, 0, 0}, {4379, 4403, 4883, 4420, 0, 0, 0}, {5692, 8192, 80, 0, 0, 0, 0}, {4381, 4386, 4437, 5397, 0, 0, 0}, {120, 5654, 17476, 0, 0, 0, 0}, {95, 96, 4864, 5376, 0, 0, 0}, {160, 17920, 0, 0, 0, 0, 0}, {71, 1028, 4369, 0, 0, 0, 0}, {136, 2056, 8738, 17408, 0, 0, 0}, {15, 48, 771, 80, 1280, 4096, 0}, {72, 96, 576, 1028, 0, 0, 0}, {15, 5717, 21845, 0, 0, 0, 0}, {192, 3084, 9830, 16384, 0, 0, 0}, {15, 39, 519, 80, 1280, 4352, 0}, {520, 544, 17408, 0, 0, 0, 0}, {15, 48, 771, 5461, 0, 0, 0}, {26282, 19456, 0, 0, 0, 0, 0}, {275, 260, 4112, 0, 0, 0, 0}, {1548, 96, 16384, 0, 0, 0, 0}, {15, 4386, 1799, 4437, 0, 0, 0}, {72, 8738, 1028, 0, 0, 0, 0}, {15, 4864, 80, 1280, 0, 0, 0}, {48, 5696, 16448, 0, 0, 0, 0}, {95, 119, 597, 4369, 0, 0, 0}, {24, 48, 530, 80, 1024, 4096, 0}, {255, 6476, 13107, 21760, 0, 0, 0}, {120, 5700, 17476, 0, 0, 0, 0}, {95, 96, 4928, 5397, 0, 0, 0}, {5654, 80, 0, 0, 0, 0, 0}, {72, 119, 1024, 4352, 0, 0, 0}, {72, 48, 4608, 1024, 0, 0, 0}, {95, 4883, 21845, 0, 0, 0, 0}, {1546, 48, 80, 4112, 0, 0, 0}, {2048, 4403, 4420, 0, 0, 0, 0}, {5708, 28784, 0, 0, 0, 0, 0}, {23, 4437, 1024, 0, 0, 0, 0}, {522, 546, 80, 5140, 0, 0, 0}, {63, 13056, 5440, 0, 0, 0, 0}, {192, 3072, 9728, 16384, 0, 0, 0}, {15, 39, 514, 80, 1285, 4369, 0}, {1032, 1056, 514, 1088, 0, 0, 0}, {15, 5683, 21760, 0, 0, 0, 0}, {136, 2056, 8704, 17476, 0, 0, 0}, {15, 48, 768, 80, 1285, 4096, 0}, {2570, 18022, 0, 0, 0, 0, 0}, {1031, 1088, 4352, 0, 0, 0, 0}, {1032, 8704, 1088, 0, 0, 0, 0}, {15, 4915, 80, 1285, 0, 0, 0}, {1546, 96, 16384, 0, 0, 0, 0}, {15, 4403, 1799, 4420, 0, 0, 0}, {26316, 10752, 0, 0, 0, 0, 0}, {258, 277, 4112, 0, 0, 0, 0}, {40, 514, 17476, 0, 0, 0, 0}, {15, 48, 768, 5376, 0, 0, 0}, {2560, 5664, 80, 0, 0, 0, 0}, {1036, 1075, 1092, 4369, 0, 0, 0}, {5722, 5666, 17408, 0, 0, 0, 0}, {5407, 5408, 4883, 5440, 0, 0, 0}, {24, 48, 512, 80, 1044, 4096, 0}, {255, 6442, 13056, 21845, 0, 0, 0}, {48, 5654, 16448, 0, 0, 0, 0}, {95, 119, 512, 4352, 0, 0, 0}, {40, 512, 80, 5120, 0, 0, 0}, {63, 13107, 5397, 0, 0, 0, 0}, {5674, 28784, 0, 0, 0, 0, 0}, {23, 4420, 5376, 0, 0, 0, 0}, {1548, 48, 80, 4112, 0, 0, 0}, {2048, 4386, 4437, 0, 0, 0, 0}, {1036, 48, 4626, 1092, 0, 0, 0}, {95, 4896, 21760, 0, 0, 0, 0}, {96, 1536, 16448, 0, 0, 0, 0}, {15, 119, 1792, 4369, 0, 0, 0}, {72, 8738, 1024, 0, 0, 0, 0}, {15, 4883, 80, 1280, 0, 0, 0}, {40, 512, 17476, 0, 0, 0, 0}, {15, 48, 768, 5397, 0, 0, 0}, {19532, 26214, 0, 0, 0, 0, 0}, {23, 80, 256, 0, 0, 0, 0}, {72, 96, 512, 1024, 0, 0, 0}, {15, 5654, 21845, 0, 0, 0, 0}, {9770, 16448, 0, 0, 0, 0, 0}, {4403, 512, 4372, 0, 0, 0, 0}, {17996, 8224, 0, 0, 0, 0, 0}, {4370, 4437, 1024, 0, 0, 0, 0}, {136, 2048, 8738, 17476, 0, 0, 0}, {15, 48, 768, 80, 1280, 4112, 0}, {240, 5632, 0, 0, 0, 0, 0}, {23, 1028, 4369, 0, 0, 0, 0}, {40, 514, 80, 5120, 0, 0, 0}, {63, 13107, 5376, 0, 0, 0, 0}, {72, 48, 4608, 1028, 0, 0, 0}, {95, 4864, 21845, 0, 0, 0, 0}, {48, 1542, 80, 4096, 0, 0, 0}, {2056, 119, 4352, 0, 0, 0, 0}, {5640, 5744, 17408, 0, 0, 0, 0}, {5386, 5429, 1542, 5461, 0, 0, 0}, {5642, 8192, 80, 0, 0, 0, 0}, {4364, 4403, 4420, 1028, 0, 0, 0}, {5644, 48, 16384, 0, 0, 0, 0}, {4362, 4386, 514, 4437, 0, 0, 0}, {24, 48, 514, 80, 1028, 4112, 0}, {255, 6400, 13056, 21760, 0, 0, 0}, {5888, 20480, 0, 0, 0, 0, 0}, {76, 102, 257, 0, 0, 0, 0}, {4106, 4128, 514, 5376, 0, 0, 0}, {5180, 771, 17408, 0, 0, 0, 0}, {4108, 4864, 4160, 1028, 0, 0, 0}, {4698, 8704, 1285, 0, 0, 0, 0}, {1290, 102, 1542, 4352, 0, 0, 0}, {4208, 1799, 16384, 0, 0, 0, 0}, {1800, 4096, 0, 0, 0, 0, 0}, {4403, 771, 4437, 1285, 0, 0, 0}, {1290, 4608, 21760, 0, 0, 0, 0}, {76, 4144, 771, 1028, 0, 0, 0}, {780, 13056, 5120, 0, 0, 0, 0}, {42, 514, 4176, 1285, 0, 0, 0}, {4102, 4420, 1028, 0, 0, 0, 0}, {18191, 24576, 0, 0, 0, 0, 0}, {2048, 1904, 4112, 0, 0, 0, 0}, {1331, 1536, 1365, 4369, 0, 0, 0}, {1370, 4626, 21760, 0, 0, 0, 0}, {76, 4128, 4883, 1024, 0, 0, 0}, {828, 13056, 5140, 0, 0, 0, 0}, {42, 512, 4160, 5397, 0, 0, 0}, {278, 1024, 4352, 0, 0, 0, 0}, {20640, 5911, 0, 0, 0, 0, 0}, {6120, 6168, 12336, 20560, 0, 0, 0}, {281, 307, 512, 341, 1024, 4096, 0}, {4122, 4144, 512, 5440, 0, 0, 0}, {5915, 819, 17476, 0, 0, 0, 0}, {4124, 4896, 4176, 1024, 0, 0, 0}, {5917, 8738, 1365, 0, 0, 0, 0}, {5150, 4386, 1536, 4420, 0, 0, 0}, {5919, 4192, 16448, 0, 0, 0, 0}, {4128, 1792, 16384, 0, 0, 0, 0}, {1295, 102, 771, 4369, 0, 0, 0}, {4642, 1280, 0, 0, 0, 0, 0}, {1036, 771, 1088, 4112, 0, 0, 0}, {780, 5924, 17476, 0, 0, 0, 0}, {1295, 1317, 512, 5461, 0, 0, 0}, {268, 294, 512, 320, 1280, 4352, 0}, {6103, 3855, 10023, 20560, 0, 0, 0}, {5928, 12288, 0, 0, 0, 0, 0}, {259, 4437, 5397, 0, 0, 0, 0}, {42, 512, 1280, 4096, 0, 0, 0}, {204, 771, 5140, 0, 0, 0, 0}, {1036, 5152, 1792, 1088, 0, 0, 0}, {1295, 6007, 21845, 0, 0, 0, 0}, {780, 4386, 4420, 1280, 0, 0, 0}, {1807, 8224, 4176, 0, 0, 0, 0}, {24320, 18224, 0, 0, 0, 0, 0}, {1299, 1092, 4369, 0, 0, 0, 0}, {42, 514, 1360, 4112, 0, 0, 0}, {819, 5120, 0, 0, 0, 0, 0}, {1032, 5172, 4864, 1092, 0, 0, 0}, {1375, 5941, 21845, 0, 0, 0, 0}, {1546, 1334, 1360, 4352, 0, 0, 0}, {2056, 5943, 4160, 0, 0, 0, 0}, {5960, 4144, 16448, 0, 0, 0, 0}, {5130, 4403, 4608, 4437, 0, 0, 0}, {2570, 4656, 1360, 0, 0, 0, 0}, {1032, 819, 1092, 4096, 0, 0, 0}, {5180, 5888, 17408, 0, 0, 0, 0}, {4170, 4192, 514, 5397, 0, 0, 0}, {4386, 514, 276, 0, 0, 0, 0}, {5951, 20480, 0, 0, 0, 0, 0}, {1792, 4160, 0, 0, 0, 0, 0}, {783, 102, 1285, 4369, 0, 0, 0}, {1290, 5954, 21760, 0, 0, 0, 0}, {76, 4208, 835, 1024, 0, 0, 0}, {768, 5188, 0, 0, 0, 0, 0}, {522, 544, 1285, 4112, 0, 0, 0}, {326, 1024, 4352, 0, 0, 0, 0}, {20720, 18247, 0, 0, 0, 0, 0}, {5960, 20480, 0, 0, 0, 0, 0}, {4403, 4883, 261, 0, 0, 0, 0}, {1290, 1312, 1792, 5440, 0, 0, 0}, {783, 6007, 17476, 0, 0, 0, 0}, {76, 768, 1024, 4096, 0, 0, 0}, {170, 4626, 1285, 0, 0, 0, 0}, {1290, 4386, 768, 4420, 0, 0, 0}, {1807, 4144, 16448, 0, 0, 0, 0}, {6048, 6224, 10064, 20560, 0, 0, 0}, {285, 311, 789, 337, 1028, 4369, 0}, {4186, 4208, 4690, 5376, 0, 0, 0}, {5228, 5971, 17408, 0, 0, 0, 0}, {76, 816, 1028, 4112, 0, 0, 0}, {4608, 1365, 0, 0, 0, 0, 0}, {1370, 102, 854, 4352, 0, 0, 0}, {4128, 5975, 16384, 0, 0, 0, 0}, {5928, 8224, 4176, 0, 0, 0, 0}, {4620, 4403, 4437, 5120, 0, 0, 0}, {1370, 5888, 21760, 0, 0, 0, 0}, {76, 4192, 4883, 1028, 0, 0, 0}, {3084, 816, 5200, 0, 0, 0, 0}, {520, 546, 1365, 4096, 0, 0, 0}, {274, 4420, 1028, 0, 0, 0, 0}, {5983, 12288, 0, 0, 0, 0, 0}, {3840, 5984, 0, 0, 0, 0, 0}, {263, 1092, 4369, 0, 0, 0, 0}, {520, 546, 4160, 1280, 0, 0, 0}, {783, 13107, 5200, 0, 0, 0, 0}, {1032, 4128, 768, 1092, 0, 0, 0}, {1295, 4656, 21845, 0, 0, 0, 0}, {102, 768, 1280, 4352, 0, 0, 0}, {128, 1799, 4112, 0, 0, 0, 0}, {1800, 4192, 16448, 0, 0, 0, 0}, {1295, 4403, 1536, 4437, 0, 0, 0}, {4714, 8704, 1280, 0, 0, 0, 0}, {4124, 4883, 4176, 5140, 0, 0, 0}, {5228, 768, 17408, 0, 0, 0, 0}, {4122, 4144, 4626, 5397, 0, 0, 0}, {264, 290, 768, 324, 1280, 4096, 0}, {6047, 3855, 12336, 20560, 0, 0, 0}, {4208, 5888, 16384, 0, 0, 0, 0}, {1375, 102, 1542, 4369, 0, 0, 0}, {5928, 8738, 1360, 0, 0, 0, 0}, {4108, 4915, 4160, 5120, 0, 0, 0}, {5960, 816, 17476, 0, 0, 0, 0}, {4106, 4128, 4608, 5461, 0, 0, 0}, {1036, 1542, 272, 0, 0, 0, 0}, {6007, 20480, 0, 0, 0, 0, 0}, {18296, 24576, 0, 0, 0, 0, 0}, {4102, 4437, 5397, 0, 0, 0, 0}, {522, 544, 4176, 5376, 0, 0, 0}, {831, 13107, 5188, 0, 0, 0, 0}, {1036, 4144, 4864, 1088, 0, 0, 0}, {1375, 4642, 21845, 0, 0, 0, 0}, {4386, 4626, 4420, 5140, 0, 0, 0}, {1919, 4096, 0, 0, 0, 0, 0}, {128, 1792, 4096, 0, 0, 0, 0}, {102, 771, 1285, 4369, 0, 0, 0}, {1290, 4642, 21760, 0, 0, 0, 0}, {1036, 4144, 771, 1088, 0, 0, 0}, {780, 13056, 5188, 0, 0, 0, 0}, {522, 544, 4176, 1285, 0, 0, 0}, {262, 1088, 4352, 0, 0, 0, 0}, {3855, 6007, 0, 0, 0, 0, 0}, {6024, 3840, 12288, 20480, 0, 0, 0}, {265, 291, 771, 325, 1285, 4112, 0}, {4106, 4128, 4608, 5376, 0, 0, 0}, {5240, 771, 17476, 0, 0, 0, 0}, {4108, 4864, 4160, 5120, 0, 0, 0}, {4728, 8738, 1285, 0, 0, 0, 0}, {1290, 4386, 1542, 4420, 0, 0, 0}, {1807, 4208, 16384, 0, 0, 0, 0}, {5984, 20560, 0, 0, 0, 0, 0}, {1032, 1536, 273, 0, 0, 0, 0}, {4122, 4144, 4626, 5440, 0, 0, 0}, {5983, 819, 17408, 0, 0, 0, 0}, {4124, 4896, 4176, 5140, 0, 0, 0}, {5951, 8704, 1365, 0, 0, 0, 0}, {1370, 102, 1536, 4352, 0, 0, 0}, {4192, 5911, 16448, 0, 0, 0, 0}, {1912, 4112, 0, 0, 0, 0, 0}, {4403, 4608, 4437, 5120, 0, 0, 0}, {1370, 4656, 21760, 0, 0, 0, 0}, {1032, 4128, 4883, 1092, 0, 0, 0}, {828, 13056, 5200, 0, 0, 0, 0}, {520, 546, 4160, 5397, 0, 0, 0}, {4118, 4420, 5376, 0, 0, 0, 0}, {18239, 24672, 0, 0, 0, 0, 0}, {20640, 18176, 0, 0, 0, 0, 0}, {327, 1028, 4369, 0, 0, 0, 0}, {520, 546, 1280, 4096, 0, 0, 0}, {771, 5200, 0, 0, 0, 0, 0}, {76, 4192, 832, 1028, 0, 0, 0}, {1295, 5973, 21845, 0, 0, 0, 0}, {780, 102, 1280, 4352, 0, 0, 0}, {1799, 4176, 0, 0, 0, 0, 0}, {1800, 4128, 16384, 0, 0, 0, 0}, {1295, 4403, 771, 4437, 0, 0, 0}, {170, 4608, 1280, 0, 0, 0, 0}, {76, 771, 1028, 4112, 0, 0, 0}, {780, 5984, 17408, 0, 0, 0, 0}, {1295, 1317, 1799, 5461, 0, 0, 0}, {4386, 4864, 260, 0, 0, 0, 0}, {5983, 20560, 0, 0, 0, 0, 0}, {4144, 5952, 16448, 0, 0, 0, 0}, {1375, 102, 853, 4369, 0, 0, 0}, {4626, 1360, 0, 0, 0, 0, 0}, {76, 819, 1024, 4096, 0, 0, 0}, {5240, 5956, 17476, 0, 0, 0, 0}, {4170, 4192, 4672, 5397, 0, 0, 0}, {284, 310, 790, 336, 1024, 4352, 0}, {6071, 6216, 10103, 20480, 0, 0, 0}, {5960, 12336, 0, 0, 0, 0, 0}, {275, 4437, 1024, 0, 0, 0, 0}, {522, 544, 1360, 4112, 0, 0, 0}, {3072, 819, 5188, 0, 0, 0, 0}, {76, 4208, 4864, 1024, 0, 0, 0}, {1375, 5911, 21845, 0, 0, 0, 0}, {4638, 4386, 4420, 5140, 0, 0, 0}, {5951, 8192, 4160, 0, 0, 0, 0}, {6080, 3840, 9984, 20480, 0, 0, 0}, {269, 295, 514, 321, 1285, 4369, 0}, {1290, 1312, 514, 5440, 0, 0, 0}, {783, 5939, 17408, 0, 0, 0, 0}, {1032, 768, 1092, 4096, 0, 0, 0}, {4656, 1285, 0, 0, 0, 0, 0}, {1290, 102, 768, 4352, 0, 0, 0}, {4144, 1799, 16448, 0, 0, 0, 0}, {1800, 8192, 4160, 0, 0, 0, 0}, {783, 4403, 4437, 1285, 0, 0, 0}, {1290, 5984, 21760, 0, 0, 0, 0}, {1032, 5172, 1799, 1092, 0, 0, 0}, {204, 768, 5120, 0, 0, 0, 0}, {42, 514, 1285, 4112, 0, 0, 0}, {258, 4420, 5376, 0, 0, 0, 0}, {5951, 12336, 0, 0, 0, 0, 0}, {2048, 5920, 4176, 0, 0, 0, 0}, {1548, 1331, 1365, 4369, 0, 0, 0}, {1370, 5922, 21760, 0, 0, 0, 0}, {1036, 5152, 4883, 1088, 0, 0, 0}, {816, 5140, 0, 0, 0, 0, 0}, {42, 512, 1365, 4096, 0, 0, 0}, {1302, 1088, 4352, 0, 0, 0, 0}, {24415, 18295, 0, 0, 0, 0, 0}, {5928, 20560, 0, 0, 0, 0, 0}, {4403, 512, 277, 0, 0, 0, 0}, {4186, 4208, 512, 5376, 0, 0, 0}, {5160, 5911, 17476, 0, 0, 0, 0}, {1036, 816, 1088, 4112, 0, 0, 0}, {2560, 4642, 1365, 0, 0, 0, 0}, {5150, 4386, 4626, 4420, 0, 0, 0}, {5983, 4128, 16384, 0, 0, 0, 0}, {4192, 1792, 16448, 0, 0, 0, 0}, {1295, 102, 1536, 4369, 0, 0, 0}, {4680, 8738, 1280, 0, 0, 0, 0}, {4124, 4883, 4176, 1024, 0, 0, 0}, {5160, 768, 17476, 0, 0, 0, 0}, {4122, 4144, 512, 5397, 0, 0, 0}, {76, 102, 256, 0, 0, 0, 0}, {5911, 20560, 0, 0, 0, 0, 0}, {18248, 24672, 0, 0, 0, 0, 0}, {4118, 4437, 1024, 0, 0, 0, 0}, {42, 512, 4160, 1280, 0, 0, 0}, {783, 13107, 5140, 0, 0, 0, 0}, {76, 4128, 768, 1024, 0, 0, 0}, {1295, 4626, 21845, 0, 0, 0, 0}, {4386, 768, 4420, 1280, 0, 0, 0}, {1807, 4112, 0, 0, 0, 0, 0}, {20720, 5888, 0, 0, 0, 0, 0}, {279, 1028, 4369, 0, 0, 0, 0}, {42, 514, 4176, 5376, 0, 0, 0}, {831, 13107, 5120, 0, 0, 0, 0}, {76, 4144, 4864, 1028, 0, 0, 0}, {1375, 4608, 21845, 0, 0, 0, 0}, {1334, 1542, 1360, 4352, 0, 0, 0}, {2056, 1911, 4096, 0, 0, 0, 0}, {5896, 4208, 16384, 0, 0, 0, 0}, {5130, 4403, 1542, 4437, 0, 0, 0}, {5898, 8704, 1360, 0, 0, 0, 0}, {4108, 4915, 4160, 1028, 0, 0, 0}, {5900, 816, 17408, 0, 0, 0, 0}, {4106, 4128, 514, 5461, 0, 0, 0}, {280, 306, 514, 340, 1028, 4112, 0}, {6143, 6144, 12288, 20480, 0, 0, 0}, {18432, 24576, 0, 0, 0, 0, 0}, {22, 85, 257, 0, 0, 0, 0}, {42, 514, 16384, 0, 0, 0, 0}, {15, 51, 771, 5120, 0, 0, 0}, {76, 8192, 1028, 0, 0, 0, 0}, {15, 4608, 85, 1285, 0, 0, 0}, {102, 1542, 17408, 0, 0, 0, 0}, {15, 112, 1799, 4096, 0, 0, 0}, {128, 2056, 8192, 16384, 0, 0, 0}, {15, 51, 771, 85, 1285, 4352, 0}, {16906, 8704, 0, 0, 0, 0, 0}, {4099, 4160, 1028, 0, 0, 0, 0}, {9228, 17408, 0, 0, 0, 0, 0}, {4128, 514, 4101, 0, 0, 0, 0}, {76, 102, 514, 1028, 0, 0, 0}, {15, 5888, 20480, 0, 0, 0, 0}, {2048, 112, 4112, 0, 0, 0, 0}, {51, 1536, 85, 4369, 0, 0, 0}, {90, 4626, 20480, 0, 0, 0, 0}, {76, 51, 4883, 1024, 0, 0, 0}, {60, 12288, 5140, 0, 0, 0, 0}, {42, 512, 85, 5397, 0, 0, 0}, {22, 1024, 4096, 0, 0, 0, 0}, {255, 5911, 0, 0, 0, 0, 0}, {240, 6168, 12336, 20560, 0, 0, 0}, {25, 51, 512, 85, 1024, 4352, 0}, {4122, 4144, 512, 4160, 0, 0, 0}, {5915, 51, 17476, 0, 0, 0, 0}, {4124, 4128, 4176, 1024, 0, 0, 0}, {5917, 8738, 85, 0, 0, 0, 0}, {5150, 5154, 1536, 5188, 0, 0, 0}, {5919, 5984, 16448, 0, 0, 0, 0}, {128, 2048, 8224, 16384, 0, 0, 0}, {15, 51, 771, 85, 1280, 4369, 0}, {2560, 16930, 0, 0, 0, 0, 0}, {1027, 1088, 4112, 0, 0, 0, 0}, {204, 3084, 9252, 17476, 0, 0, 0}, {15, 37, 512, 85, 1280, 4096, 0}, {1036, 1062, 512, 1088, 0, 0, 0}, {15, 5927, 20560, 0, 0, 0, 0}, {24736, 10280, 0, 0, 0, 0, 0}, {259, 277, 4352, 0, 0, 0, 0}, {42, 512, 16384, 0, 0, 0, 0}, {15, 51, 771, 5140, 0, 0, 0}, {1036, 8224, 1088, 0, 0, 0, 0}, {15, 4642, 85, 1280, 0, 0, 0}, {1548, 102, 17476, 0, 0, 0, 0}, {15, 4128, 1792, 4176, 0, 0, 0}, {240, 6192, 12336, 20480, 0, 0, 0}, {25, 51, 514, 85, 1041, 4369, 0}, {90, 112, 514, 4112, 0, 0, 0}, {51, 5888, 17408, 0, 0, 0, 0}, {1032, 1076, 1092, 4096, 0, 0, 0}, {2570, 5941, 85, 0, 0, 0, 0}, {5130, 5174, 4608, 5200, 0, 0, 0}, {5960, 5943, 16448, 0, 0, 0, 0}, {2056, 4144, 4160, 0, 0, 0, 0}, {1546, 51, 85, 4352, 0, 0, 0}, {90, 4656, 20560, 0, 0, 0, 0}, {1032, 51, 4864, 1092, 0, 0, 0}, {60, 12288, 5120, 0, 0, 0, 0}, {42, 514, 85, 5397, 0, 0, 0}, {22, 4176, 5140, 0, 0, 0, 0}, {5951, 30464, 0, 0, 0, 0, 0}, {128, 2048, 8192, 16448, 0, 0, 0}, {15, 51, 768, 85, 1285, 4369, 0}, {170, 16962, 0, 0, 0, 0, 0}, {67, 1024, 4096, 0, 0, 0, 0}, {204, 3072, 9284, 17476, 0, 0, 0}, {15, 37, 517, 85, 1285, 4112, 0}, {76, 102, 582, 1024, 0, 0, 0}, {15, 5959, 20480, 0, 0, 0, 0}, {24768, 18504, 0, 0, 0, 0, 0}, {275, 261, 4352, 0, 0, 0, 0}, {522, 544, 16448, 0, 0, 0, 0}, {15, 51, 768, 5188, 0, 0, 0}, {76, 8192, 1024, 0, 0, 0, 0}, {15, 4626, 85, 1285, 0, 0, 0}, {1546, 102, 17476, 0, 0, 0, 0}, {15, 4144, 1792, 4160, 0, 0, 0}, {240, 6224, 12288, 20560, 0, 0, 0}, {25, 51, 529, 85, 1028, 4369, 0}, {90, 112, 594, 4096, 0, 0, 0}, {51, 5971, 17408, 0, 0, 0, 0}, {76, 112, 1028, 4112, 0, 0, 0}, {5888, 85, 0, 0, 0, 0, 0}, {90, 102, 4694, 5120, 0, 0, 0}, {127, 5975, 16384, 0, 0, 0, 0}, {2056, 4128, 4176, 0, 0, 0, 0}, {1548, 51, 85, 4352, 0, 0, 0}, {90, 4608, 20480, 0, 0, 0, 0}, {76, 51, 4883, 1028, 0, 0, 0}, {60, 12336, 5200, 0, 0, 0, 0}, {520, 546, 85, 5376, 0, 0, 0}, {22, 4160, 1028, 0, 0, 0, 0}, {5983, 30464, 0, 0, 0, 0, 0}, {18624, 24672, 0, 0, 0, 0, 0}, {263, 1280, 273, 0, 0, 0, 0}, {520, 546, 16448, 0, 0, 0, 0}, {15, 51, 768, 5200, 0, 0, 0}, {1032, 8224, 1092, 0, 0, 0, 0}, {15, 4656, 85, 1280, 0, 0, 0}, {102, 1536, 17408, 0, 0, 0, 0}, {15, 112, 1799, 4112, 0, 0, 0}, {128, 2056, 8224, 16448, 0, 0, 0}, {15, 51, 768, 85, 1280, 4352, 0}, {17002, 8704, 0, 0, 0, 0, 0}, {4115, 4176, 5140, 0, 0, 0, 0}, {9324, 17408, 0, 0, 0, 0, 0}, {4144, 4626, 4117, 0, 0, 0, 0}, {1032, 1058, 1536, 1092, 0, 0, 0}, {15, 5984, 20560, 0, 0, 0, 0}, {2048, 112, 4096, 0, 0, 0, 0}, {51, 1542, 85, 4369, 0, 0, 0}, {90, 4642, 20560, 0, 0, 0, 0}, {1036, 51, 4864, 1088, 0, 0, 0}, {60, 12336, 5188, 0, 0, 0, 0}, {522, 544, 85, 5376, 0, 0, 0}, {22, 1088, 4112, 0, 0, 0, 0}, {24320, 6007, 0, 0, 0, 0, 0}, {240, 6264, 12288, 20480, 0, 0, 0}, {25, 51, 531, 85, 1045, 4352, 0}, {4106, 4128, 4608, 4176, 0, 0, 0}, {5960, 51, 17476, 0, 0, 0, 0}, {4108, 4144, 4160, 5120, 0, 0, 0}, {5928, 8738, 85, 0, 0, 0, 0}, {90, 102, 4626, 5140, 0, 0, 0}, {127, 5888, 16384, 0, 0, 0, 0}, {128, 2048, 8192, 16384, 0, 0, 0}, {15, 51, 771, 85, 1285, 4369, 0}, {16936, 8738, 0, 0, 0, 0, 0}, {4099, 4160, 5120, 0, 0, 0, 0}, {9288, 17476, 0, 0, 0, 0, 0}, {4128, 4608, 4101, 0, 0, 0, 0}, {1036, 1062, 1542, 1088, 0, 0, 0}, {15, 6007, 20480, 0, 0, 0, 0}, {18568, 24576, 0, 0, 0, 0, 0}, {262, 1285, 272, 0, 0, 0, 0}, {522, 544, 16384, 0, 0, 0, 0}, {15, 51, 771, 5188, 0, 0, 0}, {1036, 8192, 1088, 0, 0, 0, 0}, {15, 4642, 85, 1285, 0, 0, 0}, {102, 1542, 17476, 0, 0, 0, 0}, {15, 112, 1792, 4096, 0, 0, 0}, {240, 6240, 12336, 20560, 0, 0, 0}, {25, 51, 529, 85, 1041, 4369, 0}, {4122, 4144, 4626, 4160, 0, 0, 0}, {5983, 51, 17408, 0, 0, 0, 0}, {4124, 4128, 4176, 5140, 0, 0, 0}, {5951, 8704, 85, 0, 0, 0, 0}, {90, 102, 4608, 5120, 0, 0, 0}, {127, 5911, 16448, 0, 0, 0, 0}, {2056, 112, 4112, 0, 0, 0, 0}, {51, 1536, 85, 4352, 0, 0, 0}, {90, 4656, 20480, 0, 0, 0, 0}, {1032, 51, 4883, 1092, 0, 0, 0}, {60, 12288, 5200, 0, 0, 0, 0}, {520, 546, 85, 5397, 0, 0, 0}, {22, 1092, 4096, 0, 0, 0, 0}, {24415, 5984, 0, 0, 0, 0, 0}, {24736, 18432, 0, 0, 0, 0, 0}, {274, 260, 4369, 0, 0, 0, 0}, {520, 546, 16384, 0, 0, 0, 0}, {15, 51, 771, 5200, 0, 0, 0}, {76, 8224, 1028, 0, 0, 0, 0}, {15, 4608, 85, 1280, 0, 0, 0}, {1548, 102, 17408, 0, 0, 0, 0}, {15, 4128, 1799, 4176, 0, 0, 0}, {128, 2056, 8224, 16384, 0, 0, 0}, {15, 51, 771, 85, 1280, 4352, 0}, {170, 16896, 0, 0, 0, 0, 0}, {67, 1028, 4112, 0, 0, 0, 0}, {204, 3084, 9312, 17408, 0, 0, 0}, {15, 37, 519, 85, 1280, 4096, 0}, {76, 102, 580, 1028, 0, 0, 0}, {15, 5968, 20560, 0, 0, 0, 0}, {2048, 4144, 4160, 0, 0, 0, 0}, {1546, 51, 85, 4369, 0, 0, 0}, {90, 4626, 20560, 0, 0, 0, 0}, {76, 51, 4864, 1024, 0, 0, 0}, {60, 12288, 5188, 0, 0, 0, 0}, {522, 544, 85, 5397, 0, 0, 0}, {22, 4176, 1024, 0, 0, 0, 0}, {5960, 30583, 0, 0, 0, 0, 0}, {240, 6216, 12336, 20480, 0, 0, 0}, {25, 51, 531, 85, 1024, 4352, 0}, {90, 112, 592, 4112, 0, 0, 0}, {51, 5956, 17476, 0, 0, 0, 0}, {76, 112, 1024, 4096, 0, 0, 0}, {5911, 85, 0, 0, 0, 0, 0}, {90, 102, 4676, 5140, 0, 0, 0}, {127, 5952, 16448, 0, 0, 0, 0}, {24768, 10240, 0, 0, 0, 0, 0}, {258, 276, 4369, 0, 0, 0, 0}, {42, 514, 16448, 0, 0, 0, 0}, {15, 51, 768, 5120, 0, 0, 0}, {1032, 8192, 1092, 0, 0, 0, 0}, {15, 4656, 85, 1285, 0, 0, 0}, {1546, 102, 17408, 0, 0, 0, 0}, {15, 4144, 1799, 4160, 0, 0, 0}, {128, 2056, 8192, 16448, 0, 0, 0}, {15, 51, 768, 85, 1285, 4352, 0}, {2570, 16992, 0, 0, 0, 0, 0}, {1031, 1092, 4096, 0, 0, 0, 0}, {204, 3072, 9216, 17408, 0, 0, 0}, {15, 37, 514, 85, 1285, 4112, 0}, {1032, 1058, 514, 1092, 0, 0, 0}, {15, 5936, 20480, 0, 0, 0, 0}, {2048, 4128, 4176, 0, 0, 0, 0}, {1548, 51, 85, 4369, 0, 0, 0}, {90, 4642, 20480, 0, 0, 0, 0}, {1036, 51, 4883, 1088, 0, 0, 0}, {60, 12336, 5140, 0, 0, 0, 0}, {42, 512, 85, 5376, 0, 0, 0}, {22, 4160, 5120, 0, 0, 0, 0}, {5928, 30583, 0, 0, 0, 0, 0}, {240, 6184, 12288, 20560, 0, 0, 0}, {25, 51, 512, 85, 1045, 4352, 0}, {90, 112, 512, 4096, 0, 0, 0}, {51, 5911, 17476, 0, 0, 0, 0}, {1036, 1072, 1088, 4112, 0, 0, 0}, {2560, 5922, 85, 0, 0, 0, 0}, {5150, 5154, 4626, 5188, 0, 0, 0}, {5983, 5920, 16384, 0, 0, 0, 0}, {128, 2048, 8224, 16448, 0, 0, 0}, {15, 51, 768, 85, 1280, 4369, 0}, {16968, 8738, 0, 0, 0, 0, 0}, {4115, 4176, 1024, 0, 0, 0, 0}, {9256, 17476, 0, 0, 0, 0, 0}, {4144, 512, 4117, 0, 0, 0, 0}, {76, 102, 512, 1024, 0, 0, 0}, {15, 5911, 20560, 0, 0, 0, 0}, {18504, 24672, 0, 0, 0, 0, 0}, {22, 85, 256, 0, 0, 0, 0}, {42, 512, 16448, 0, 0, 0, 0}, {15, 51, 768, 5140, 0, 0, 0}, {76, 8224, 1024, 0, 0, 0, 0}, {15, 4626, 85, 1280, 0, 0, 0}, {102, 1536, 17476, 0, 0, 0, 0}, {15, 112, 1792, 4112, 0, 0, 0}, {240, 6144, 12288, 20480, 0, 0, 0}, {25, 51, 514, 85, 1028, 4369, 0}, {4106, 4128, 514, 4176, 0, 0, 0}, {5900, 51, 17408, 0, 0, 0, 0}, {4108, 4144, 4160, 1028, 0, 0, 0}, {5898, 8704, 85, 0, 0, 0, 0}, {5130, 5174, 1542, 5200, 0, 0, 0}, {5896, 6007, 16384, 0, 0, 0, 0}, {2056, 112, 4096, 0, 0, 0, 0}, {51, 1542, 85, 4352, 0, 0, 0}, {90, 4608, 20560, 0, 0, 0, 0}, {76, 51, 4864, 1028, 0, 0, 0}, {60, 12336, 5120, 0, 0, 0, 0}, {42, 514, 85, 5376, 0, 0, 0}, {22, 1028, 4112, 0, 0, 0, 0}, {255, 5888, 0, 0, 0, 0, 0}, {5632, 21760, 0, 0, 0, 0, 0}, {72, 96, 257, 0, 0, 0, 0}, {4362, 4386, 514, 5120, 0, 0, 0}, {5439, 771, 16384, 0, 0, 0, 0}, {4364, 4608, 4420, 1028, 0, 0, 0}, {4959, 8192, 1285, 0, 0, 0, 0}, {1290, 96, 1542, 4096, 0, 0, 0}, {4471, 1799, 17408, 0, 0, 0, 0}, {1800, 4352, 0, 0, 0, 0, 0}, {4144, 771, 4176, 1285, 0, 0, 0}, {1290, 4864, 20480, 0, 0, 0, 0}, {72, 4403, 771, 1028, 0, 0, 0}, {780, 12288, 5376, 0, 0, 0, 0}, {40, 514, 4437, 1285, 0, 0, 0}, {4358, 4160, 1028, 0, 0, 0, 0}, {17167, 26112, 0, 0, 0, 0, 0}, {1328, 1536, 1360, 4112, 0, 0, 0}, {2048, 1911, 4369, 0, 0, 0, 0}, {72, 4386, 4626, 1024, 0, 0, 0}, {1375, 4883, 20480, 0, 0, 0, 0}, {40, 512, 4420, 5140, 0, 0, 0}, {831, 12288, 5397, 0, 0, 0, 0}, {21930, 5654, 0, 0, 0, 0, 0}, {279, 1024, 4096, 0, 0, 0, 0}, {280, 304, 512, 336, 1024, 4352, 0}, {5862, 6425, 13107, 21845, 0, 0, 0}, {5658, 816, 16448, 0, 0, 0, 0}, {4379, 4403, 512, 5188, 0, 0, 0}, {5660, 8224, 1360, 0, 0, 0, 0}, {4381, 4642, 4437, 1024, 0, 0, 0}, {5662, 4454, 17476, 0, 0, 0, 0}, {5407, 4128, 1536, 4160, 0, 0, 0}, {4896, 1280, 0, 0, 0, 0, 0}, {1036, 771, 1092, 4369, 0, 0, 0}, {4386, 1792, 17408, 0, 0, 0, 0}, {1295, 96, 771, 4112, 0, 0, 0}, {268, 292, 512, 324, 1280, 4096, 0}, {5850, 3855, 9509, 21845, 0, 0, 0}, {780, 5670, 16448, 0, 0, 0, 0}, {1295, 1319, 512, 5200, 0, 0, 0}, {40, 512, 1280, 4352, 0, 0, 0}, {192, 771, 5397, 0, 0, 0, 0}, {5674, 13056, 0, 0, 0, 0, 0}, {259, 4176, 5140, 0, 0, 0, 0}, {780, 4128, 4160, 1280, 0, 0, 0}, {1807, 8738, 4437, 0, 0, 0, 0}, {1036, 5410, 1792, 1092, 0, 0, 0}, {1295, 5744, 20560, 0, 0, 0, 0}, {816, 5376, 0, 0, 0, 0, 0}, {40, 514, 1365, 4369, 0, 0, 0}, {1298, 1088, 4112, 0, 0, 0, 0}, {23040, 17203, 0, 0, 0, 0, 0}, {2056, 5684, 4420, 0, 0, 0, 0}, {1546, 1333, 1365, 4096, 0, 0, 0}, {1370, 5686, 20560, 0, 0, 0, 0}, {1032, 5431, 4608, 1088, 0, 0, 0}, {1032, 816, 1088, 4352, 0, 0, 0}, {2570, 4915, 1365, 0, 0, 0, 0}, {5386, 4144, 4864, 4176, 0, 0, 0}, {5708, 4403, 17476, 0, 0, 0, 0}, {5692, 21760, 0, 0, 0, 0, 0}, {4128, 514, 277, 0, 0, 0, 0}, {4430, 4454, 514, 5140, 0, 0, 0}, {5439, 5632, 16384, 0, 0, 0, 0}, {768, 5440, 0, 0, 0, 0, 0}, {522, 546, 1285, 4369, 0, 0, 0}, {322, 1024, 4096, 0, 0, 0, 0}, {22015, 17219, 0, 0, 0, 0, 0}, {1792, 4420, 0, 0, 0, 0, 0}, {783, 96, 1285, 4112, 0, 0, 0}, {1290, 5702, 20480, 0, 0, 0, 0}, {72, 4471, 839, 1024, 0, 0, 0}, {72, 768, 1024, 4352, 0, 0, 0}, {160, 4883, 1285, 0, 0, 0, 0}, {1290, 4128, 768, 4160, 0, 0, 0}, {1807, 4403, 17476, 0, 0, 0, 0}, {5708, 21760, 0, 0, 0, 0, 0}, {4144, 4626, 261, 0, 0, 0, 0}, {1290, 1314, 1792, 5188, 0, 0, 0}, {783, 5744, 16448, 0, 0, 0, 0}, {4864, 1360, 0, 0, 0, 0, 0}, {72, 819, 1028, 4369, 0, 0, 0}, {4386, 5714, 17408, 0, 0, 0, 0}, {1375, 96, 851, 4096, 0, 0, 0}, {284, 308, 788, 340, 1028, 4112, 0}, {5802, 6485, 9557, 21845, 0, 0, 0}, {5482, 5718, 16384, 0, 0, 0, 0}, {4447, 4471, 4951, 5120, 0, 0, 0}, {520, 544, 1360, 4352, 0, 0, 0}, {3084, 819, 5461, 0, 0, 0, 0}, {5722, 13056, 0, 0, 0, 0, 0}, {275, 4160, 1028, 0, 0, 0, 0}, {4876, 4144, 4176, 5376, 0, 0, 0}, {5674, 8738, 4437, 0, 0, 0, 0}, {72, 4454, 4626, 1028, 0, 0, 0}, {1375, 5632, 20480, 0, 0, 0, 0}, {96, 768, 1280, 4096, 0, 0, 0}, {136, 1799, 4369, 0, 0, 0, 0}, {1032, 4386, 768, 1088, 0, 0, 0}, {1295, 4915, 20560, 0, 0, 0, 0}, {520, 544, 4420, 1280, 0, 0, 0}, {783, 12336, 5461, 0, 0, 0, 0}, {3840, 5734, 0, 0, 0, 0, 0}, {263, 1088, 4112, 0, 0, 0, 0}, {264, 288, 768, 320, 1280, 4352, 0}, {5782, 3855, 13107, 21845, 0, 0, 0}, {5482, 768, 16384, 0, 0, 0, 0}, {4379, 4403, 4883, 5140, 0, 0, 0}, {4972, 8192, 1280, 0, 0, 0, 0}, {4381, 4626, 4437, 5397, 0, 0, 0}, {1800, 4454, 17476, 0, 0, 0, 0}, {1295, 4144, 1536, 4176, 0, 0, 0}, {5744, 21760, 0, 0, 0, 0, 0}, {1036, 1542, 273, 0, 0, 0, 0}, {4362, 4386, 4864, 5200, 0, 0, 0}, {5708, 819, 16448, 0, 0, 0, 0}, {4364, 4656, 4420, 5376, 0, 0, 0}, {5674, 8224, 1365, 0, 0, 0, 0}, {1370, 96, 1542, 4112, 0, 0, 0}, {4471, 5632, 17408, 0, 0, 0, 0}, {1912, 4352, 0, 0, 0, 0, 0}, {4128, 4883, 4160, 5397, 0, 0, 0}, {1370, 4896, 20560, 0, 0, 0, 0}, {1036, 4403, 4608, 1092, 0, 0, 0}, {828, 12336, 5440, 0, 0, 0, 0}, {522, 546, 4437, 5120, 0, 0, 0}, {4358, 4176, 5140, 0, 0, 0, 0}, {17279, 26112, 0, 0, 0, 0, 0}, {5760, 3840, 13056, 21760, 0, 0, 0}, {265, 289, 771, 321, 1285, 4369, 0}, {4362, 4386, 4864, 5120, 0, 0, 0}, {5503, 771, 16448, 0, 0, 0, 0}, {4364, 4608, 4420, 5376, 0, 0, 0}, {4991, 8224, 1285, 0, 0, 0, 0}, {1290, 4128, 1542, 4160, 0, 0, 0}, {1807, 4471, 17408, 0, 0, 0, 0}, {136, 1792, 4352, 0, 0, 0, 0}, {96, 771, 1285, 4112, 0, 0, 0}, {1290, 4896, 20480, 0, 0, 0, 0}, {1036, 4403, 771, 1092, 0, 0, 0}, {780, 12288, 5440, 0, 0, 0, 0}, {522, 546, 4437, 1285, 0, 0, 0}, {262, 1092, 4096, 0, 0, 0, 0}, {3855, 5744, 0, 0, 0, 0, 0}, {4144, 4864, 4176, 5376, 0, 0, 0}, {1919, 4369, 0, 0, 0, 0, 0}, {1032, 4386, 4626, 1088, 0, 0, 0}, {1375, 4915, 20480, 0, 0, 0, 0}, {520, 544, 4420, 5140, 0, 0, 0}, {831, 12288, 5461, 0, 0, 0, 0}, {17212, 26214, 0, 0, 0, 0, 0}, {4375, 4160, 5120, 0, 0, 0, 0}, {1032, 1536, 272, 0, 0, 0, 0}, {5734, 21845, 0, 0, 0, 0, 0}, {5722, 816, 16384, 0, 0, 0, 0}, {4379, 4403, 4883, 5188, 0, 0, 0}, {5692, 8192, 1360, 0, 0, 0, 0}, {4381, 4642, 4437, 5397, 0, 0, 0}, {4454, 5654, 17476, 0, 0, 0, 0}, {1375, 96, 1536, 4096, 0, 0, 0}, {160, 4864, 1280, 0, 0, 0, 0}, {72, 771, 1028, 4369, 0, 0, 0}, {1800, 4386, 17408, 0, 0, 0, 0}, {1295, 4144, 771, 4176, 0, 0, 0}, {4128, 4608, 260, 0, 0, 0, 0}, {5722, 21845, 0, 0, 0, 0, 0}, {780, 5734, 16384, 0, 0, 0, 0}, {1295, 1319, 1799, 5200, 0, 0, 0}, {520, 544, 1280, 4352, 0, 0, 0}, {771, 5461, 0, 0, 0, 0, 0}, {21930, 17152, 0, 0, 0, 0, 0}, {323, 1028, 4112, 0, 0, 0, 0}, {780, 96, 1280, 4096, 0, 0, 0}, {1799, 4437, 0, 0, 0, 0, 0}, {72, 4454, 836, 1028, 0, 0, 0}, {1295, 5712, 20560, 0, 0, 0, 0}, {3072, 816, 5440, 0, 0, 0, 0}, {522, 546, 1365, 4369, 0, 0, 0}, {274, 4176, 1024, 0, 0, 0, 0}, {5708, 13107, 0, 0, 0, 0, 0}, {5692, 8704, 4420, 0, 0, 0, 0}, {4895, 4128, 4160, 5397, 0, 0, 0}, {1370, 5654, 20560, 0, 0, 0, 0}, {72, 4471, 4608, 1024, 0, 0, 0}, {72, 816, 1024, 4352, 0, 0, 0}, {4883, 1365, 0, 0, 0, 0, 0}, {1370, 96, 848, 4112, 0, 0, 0}, {4403, 5700, 17476, 0, 0, 0, 0}, {5820, 6476, 9584, 21760, 0, 0, 0}, {285, 309, 791, 341, 1024, 4096, 0}, {4430, 4454, 4932, 5140, 0, 0, 0}, {5503, 5696, 16448, 0, 0, 0, 0}, {192, 768, 5376, 0, 0, 0, 0}, {40, 514, 1285, 4369, 0, 0, 0}, {258, 4160, 5120, 0, 0, 0, 0}, {5692, 13107, 0, 0, 0, 0, 0}, {1800, 8704, 4420, 0, 0, 0, 0}, {783, 4144, 4176, 1285, 0, 0, 0}, {1290, 5734, 20480, 0, 0, 0, 0}, {1032, 5431, 1799, 1088, 0, 0, 0}, {1032, 768, 1088, 4352, 0, 0, 0}, {4915, 1285, 0, 0, 0, 0, 0}, {1290, 96, 768, 4096, 0, 0, 0}, {4403, 1799, 17476, 0, 0, 0, 0}, {5836, 3840, 9472, 21760, 0, 0, 0}, {269, 293, 514, 325, 1285, 4112, 0}, {1290, 1314, 514, 5188, 0, 0, 0}, {783, 5680, 16384, 0, 0, 0, 0}, {2560, 4896, 1360, 0, 0, 0, 0}, {1036, 819, 1092, 4369, 0, 0, 0}, {5722, 4386, 17408, 0, 0, 0, 0}, {5407, 4128, 4883, 4160, 0, 0, 0}, {4144, 512, 276, 0, 0, 0, 0}, {5674, 21845, 0, 0, 0, 0, 0}, {5418, 5654, 16448, 0, 0, 0, 0}, {4447, 4471, 512, 5120, 0, 0, 0}, {40, 512, 1360, 4352, 0, 0, 0}, {819, 5397, 0, 0, 0, 0, 0}, {23130, 17264, 0, 0, 0, 0, 0}, {1303, 1092, 4096, 0, 0, 0, 0}, {1548, 1328, 1360, 4112, 0, 0, 0}, {2048, 5666, 4437, 0, 0, 0, 0}, {1036, 5410, 4626, 1092, 0, 0, 0}, {1375, 5664, 20480, 0, 0, 0, 0}, {4128, 768, 4160, 1280, 0, 0, 0}, {1807, 4369, 0, 0, 0, 0, 0}, {72, 4386, 768, 1024, 0, 0, 0}, {1295, 4883, 20560, 0, 0, 0, 0}, {40, 512, 4420, 1280, 0, 0, 0}, {783, 12336, 5397, 0, 0, 0, 0}, {17228, 26214, 0, 0, 0, 0, 0}, {4375, 4176, 1024, 0, 0, 0, 0}, {72, 96, 256, 0, 0, 0, 0}, {5654, 21845, 0, 0, 0, 0, 0}, {5418, 768, 16448, 0, 0, 0, 0}, {4379, 4403, 512, 5140, 0, 0, 0}, {4940, 8224, 1280, 0, 0, 0, 0}, {4381, 4626, 4437, 1024, 0, 0, 0}, {4454, 1792, 17476, 0, 0, 0, 0}, {1295, 96, 1536, 4112, 0, 0, 0}, {5872, 6400, 13056, 21760, 0, 0, 0}, {281, 305, 514, 337, 1028, 4369, 0}, {4362, 4386, 514, 5200, 0, 0, 0}, {5644, 819, 16384, 0, 0, 0, 0}, {4364, 4656, 4420, 1028, 0, 0, 0}, {5642, 8192, 1365, 0, 0, 0, 0}, {5386, 4144, 1542, 4176, 0, 0, 0}, {5640, 4471, 17408, 0, 0, 0, 0}, {2056, 1904, 4352, 0, 0, 0, 0}, {1333, 1542, 1365, 4096, 0, 0, 0}, {1370, 4864, 20560, 0, 0, 0, 0}, {72, 4403, 4608, 1028, 0, 0, 0}, {828, 12336, 5376, 0, 0, 0, 0}, {40, 514, 4437, 5120, 0, 0, 0}, {278, 1028, 4112, 0, 0, 0, 0}, {22015, 5632, 0, 0, 0, 0, 0}, {10752, 16384, 0, 0, 0, 0, 0}, {51, 20, 257, 0, 0, 0, 0}, {16392, 16416, 514, 0, 0, 0, 0}, {5379, 21760, 0, 0, 0, 0, 0}, {8704, 68, 1028, 0, 0, 0, 0}, {15, 80, 1285, 4096, 0, 0, 0}, {16396, 16480, 1542, 0, 0, 0, 0}, {5383, 21760, 0, 0, 0, 0, 0}, {16392, 8704, 0, 0, 0, 0, 0}, {4099, 80, 1285, 0, 0, 0, 0}, {160, 2570, 8192, 16384, 0, 0, 0}, {15, 51, 771, 68, 1028, 4352, 0}, {16396, 26112, 0, 0, 0, 0, 0}, {4103, 80, 1285, 0, 0, 0, 0}, {40, 514, 68, 1028, 0, 0, 0}, {15, 12288, 5376, 0, 0, 0, 0}, {2560, 80, 4112, 0, 0, 0, 0}, {51, 68, 1024, 4369, 0, 0, 0}, {16456, 16432, 4626, 0, 0, 0, 0}, {5395, 21760, 0, 0, 0, 0, 0}, {512, 20, 4096, 0, 0, 0, 0}, {255, 5397, 0, 0, 0, 0, 0}, {16460, 16496, 5654, 0, 0, 0, 0}, {5399, 21760, 0, 0, 0, 0, 0}, {4120, 4144, 512, 80, 0, 0, 0}, {5401, 51, 21845, 0, 0, 0, 0}, {240, 6682, 12336, 16448, 0, 0, 0}, {27, 51, 512, 68, 1024, 4352, 0}, {4124, 4128, 1536, 80, 0, 0, 0}, {5405, 119, 21845, 0, 0, 0, 0}, {4638, 4642, 68, 1024, 0, 0, 0}, {5407, 8224, 5440, 0, 0, 0, 0}, {2560, 16416, 0, 0, 0, 0, 0}, {1027, 68, 4369, 0, 0, 0, 0}, {136, 2048, 8738, 16384, 0, 0, 0}, {15, 51, 771, 80, 1280, 4112, 0}, {1036, 1060, 512, 68, 0, 0, 0}, {15, 5413, 21845, 0, 0, 0, 0}, {204, 3084, 9766, 16448, 0, 0, 0}, {15, 39, 512, 80, 1280, 4096, 0}, {40, 512, 16384, 0, 0, 0, 0}, {15, 51, 771, 5397, 0, 0, 0}, {16512, 10794, 0, 0, 0, 0, 0}, {259, 20, 4352, 0, 0, 0, 0}, {1548, 1632, 16448, 0, 0, 0, 0}, {15, 5410, 1792, 5461, 0, 0, 0}, {1036, 8738, 68, 0, 0, 0, 0}, {15, 4128, 80, 1280, 0, 0, 0}, {23040, 16432, 0, 0, 0, 0, 0}, {1043, 68, 4369, 0, 0, 0, 0}, {40, 514, 80, 4112, 0, 0, 0}, {51, 5376, 0, 0, 0, 0, 0}, {1032, 1076, 4608, 68, 0, 0, 0}, {95, 5429, 21845, 0, 0, 0, 0}, {1546, 1590, 80, 4096, 0, 0, 0}, {2056, 5431, 5440, 0, 0, 0, 0}, {4680, 4656, 16448, 0, 0, 0, 0}, {5386, 51, 4864, 5461, 0, 0, 0}, {2570, 4144, 80, 0, 0, 0, 0}, {1032, 51, 68, 4352, 0, 0, 0}, {60, 5632, 16384, 0, 0, 0, 0}, {95, 119, 514, 5397, 0, 0, 0}, {4128, 514, 20, 0, 0, 0, 0}, {5439, 21760, 0, 0, 0, 0, 0}, {10880, 16448, 0, 0, 0, 0, 0}, {768, 261, 273, 0, 0, 0, 0}, {16456, 16480, 16962, 0, 0, 0, 0}, {5443, 21760, 0, 0, 0, 0, 0}, {8704, 68, 1024, 0, 0, 0, 0}, {15, 80, 1285, 4112, 0, 0, 0}, {16460, 16416, 17990, 0, 0, 0, 0}, {5447, 21760, 0, 0, 0, 0, 0}, {16456, 8704, 0, 0, 0, 0, 0}, {4115, 80, 1285, 0, 0, 0, 0}, {160, 2570, 8224, 16448, 0, 0, 0}, {15, 51, 768, 68, 1024, 4352, 0}, {16460, 26112, 0, 0, 0, 0, 0}, {4119, 80, 1285, 0, 0, 0, 0}, {522, 546, 68, 1024, 0, 0, 0}, {15, 12336, 5440, 0, 0, 0, 0}, {2560, 80, 4096, 0, 0, 0, 0}, {51, 68, 1028, 4369, 0, 0, 0}, {16392, 16496, 21074, 0, 0, 0, 0}, {5459, 21760, 0, 0, 0, 0, 0}, {544, 20, 4112, 0, 0, 0, 0}, {16128, 5461, 0, 0, 0, 0, 0}, {16396, 16432, 22102, 0, 0, 0, 0}, {5463, 21760, 0, 0, 0, 0, 0}, {4104, 4128, 4608, 80, 0, 0, 0}, {5465, 51, 21845, 0, 0, 0, 0}, {240, 6746, 12288, 16384, 0, 0, 0}, {27, 51, 531, 68, 1028, 4352, 0}, {4108, 4144, 5632, 80, 0, 0, 0}, {5469, 119, 21845, 0, 0, 0, 0}, {60, 4626, 68, 1028, 0, 0, 0}, {95, 8192, 5376, 0, 0, 0, 0}, {2560, 16480, 0, 0, 0, 0, 0}, {1031, 68, 4369, 0, 0, 0, 0}, {136, 2056, 8738, 16448, 0, 0, 0}, {15, 51, 768, 80, 1280, 4096, 0}, {1032, 1056, 1536, 68, 0, 0, 0}, {15, 5477, 21845, 0, 0, 0, 0}, {204, 3072, 9830, 16384, 0, 0, 0}, {15, 39, 519, 80, 1280, 4112, 0}, {520, 544, 16448, 0, 0, 0, 0}, {15, 51, 768, 5461, 0, 0, 0}, {16576, 27242, 0, 0, 0, 0, 0}, {275, 20, 4352, 0, 0, 0, 0}, {108, 1536, 16384, 0, 0, 0, 0}, {15, 119, 4626, 5397, 0, 0, 0}, {1032, 8738, 68, 0, 0, 0, 0}, {15, 4144, 80, 1280, 0, 0, 0}, {23040, 16496, 0, 0, 0, 0, 0}, {1047, 68, 4369, 0, 0, 0, 0}, {522, 546, 80, 4096, 0, 0, 0}, {3084, 51, 5440, 0, 0, 0, 0}, {1036, 1072, 5632, 68, 0, 0, 0}, {95, 5493, 21845, 0, 0, 0, 0}, {60, 1542, 80, 4112, 0, 0, 0}, {119, 5376, 0, 0, 0, 0, 0}, {120, 4608, 16384, 0, 0, 0, 0}, {95, 51, 4883, 5397, 0, 0, 0}, {2570, 4128, 80, 0, 0, 0, 0}, {1036, 51, 68, 4352, 0, 0, 0}, {5708, 5744, 16448, 0, 0, 0, 0}, {5386, 5410, 5888, 5461, 0, 0, 0}, {4144, 4626, 20, 0, 0, 0, 0}, {5503, 21760, 0, 0, 0, 0, 0}, {16512, 27136, 0, 0, 0, 0, 0}, {274, 20, 4369, 0, 0, 0, 0}, {522, 546, 16384, 0, 0, 0, 0}, {15, 51, 771, 5440, 0, 0, 0}, {1036, 8704, 68, 0, 0, 0, 0}, {15, 4128, 80, 1285, 0, 0, 0}, {108, 1542, 16448, 0, 0, 0, 0}, {15, 119, 4608, 5376, 0, 0, 0}, {136, 2048, 8704, 16384, 0, 0, 0}, {15, 51, 771, 80, 1285, 4112, 0}, {2570, 16416, 0, 0, 0, 0, 0}, {1027, 68, 4352, 0, 0, 0, 0}, {204, 3084, 9792, 16448, 0, 0, 0}, {15, 39, 517, 80, 1285, 4096, 0}, {1036, 1060, 1542, 68, 0, 0, 0}, {15, 5488, 21760, 0, 0, 0, 0}, {2560, 4144, 80, 0, 0, 0, 0}, {1032, 51, 68, 4369, 0, 0, 0}, {120, 4626, 16448, 0, 0, 0, 0}, {95, 51, 4864, 5376, 0, 0, 0}, {4128, 4608, 20, 0, 0, 0, 0}, {5482, 21845, 0, 0, 0, 0, 0}, {5722, 5734, 16384, 0, 0, 0, 0}, {5407, 5431, 5911, 5440, 0, 0, 0}, {520, 544, 80, 4112, 0, 0, 0}, {3072, 51, 5461, 0, 0, 0, 0}, {23130, 16432, 0, 0, 0, 0, 0}, {1043, 68, 4352, 0, 0, 0, 0}, {60, 1536, 80, 4096, 0, 0, 0}, {119, 5397, 0, 0, 0, 0, 0}, {1032, 1076, 5654, 68, 0, 0, 0}, {95, 5472, 21760, 0, 0, 0, 0}, {160, 2560, 8192, 16384, 0, 0, 0}, {15, 51, 771, 68, 1028, 4369, 0}, {16392, 8738, 0, 0, 0, 0, 0}, {4099, 80, 1280, 0, 0, 0, 0}, {520, 544, 68, 1028, 0, 0, 0}, {15, 12288, 5461, 0, 0, 0, 0}, {16396, 26214, 0, 0, 0, 0, 0}, {4103, 80, 1280, 0, 0, 0, 0}, {16392, 16416, 16896, 0, 0, 0, 0}, {5462, 21845, 0, 0, 0, 0, 0}, {10922, 16384, 0, 0, 0, 0, 0}, {771, 260, 272, 0, 0, 0, 0}, {16396, 16480, 17920, 0, 0, 0, 0}, {5458, 21845, 0, 0, 0, 0, 0}, {8738, 68, 1028, 0, 0, 0, 0}, {15, 80, 1280, 4096, 0, 0, 0}, {240, 6720, 12336, 16448, 0, 0, 0}, {27, 51, 529, 68, 1024, 4369, 0}, {4120, 4144, 4626, 80, 0, 0, 0}, {5452, 51, 21760, 0, 0, 0, 0}, {60, 4608, 68, 1024, 0, 0, 0}, {95, 8224, 5397, 0, 0, 0, 0}, {4124, 4128, 5654, 80, 0, 0, 0}, {5448, 119, 21760, 0, 0, 0, 0}, {16456, 16432, 20992, 0, 0, 0, 0}, {5446, 21845, 0, 0, 0, 0, 0}, {2570, 80, 4112, 0, 0, 0, 0}, {51, 68, 1024, 4352, 0, 0, 0}, {16460, 16496, 22016, 0, 0, 0, 0}, {5442, 21845, 0, 0, 0, 0, 0}, {546, 20, 4096, 0, 0, 0, 0}, {16191, 5440, 0, 0, 0, 0, 0}, {16576, 10752, 0, 0, 0, 0, 0}, {258, 20, 4369, 0, 0, 0, 0}, {40, 514, 16448, 0, 0, 0, 0}, {15, 51, 768, 5376, 0, 0, 0}, {1032, 8704, 68, 0, 0, 0, 0}, {15, 4144, 80, 1285, 0, 0, 0}, {1546, 1638, 16384, 0, 0, 0, 0}, {15, 5431, 1799, 5440, 0, 0, 0}, {136, 2056, 8704, 16448, 0, 0, 0}, {15, 51, 768, 80, 1285, 4096, 0}, {2570, 16480, 0, 0, 0, 0, 0}, {1031, 68, 4352, 0, 0, 0, 0}, {204, 3072, 9728, 16384, 0, 0, 0}, {15, 39, 514, 80, 1285, 4112, 0}, {1032, 1056, 514, 68, 0, 0, 0}, {15, 5424, 21760, 0, 0, 0, 0}, {2560, 4128, 80, 0, 0, 0, 0}, {1036, 51, 68, 4369, 0, 0, 0}, {4698, 4642, 16384, 0, 0, 0, 0}, {5407, 51, 4883, 5440, 0, 0, 0}, {4144, 512, 20, 0, 0, 0, 0}, {5418, 21845, 0, 0, 0, 0, 0}, {60, 5654, 16448, 0, 0, 0, 0}, {95, 119, 512, 5376, 0, 0, 0}, {40, 512, 80, 4096, 0, 0, 0}, {51, 5397, 0, 0, 0, 0, 0}, {23130, 16496, 0, 0, 0, 0, 0}, {1047, 68, 4352, 0, 0, 0, 0}, {1548, 1584, 80, 4112, 0, 0, 0}, {2048, 5410, 5461, 0, 0, 0, 0}, {1036, 1072, 4626, 68, 0, 0, 0}, {95, 5408, 21760, 0, 0, 0, 0}, {160, 2560, 8224, 16448, 0, 0, 0}, {15, 51, 768, 68, 1024, 4369, 0}, {16456, 8738, 0, 0, 0, 0, 0}, {4115, 80, 1280, 0, 0, 0, 0}, {40, 512, 68, 1024, 0, 0, 0}, {15, 12336, 5397, 0, 0, 0, 0}, {16460, 26214, 0, 0, 0, 0, 0}, {4119, 80, 1280, 0, 0, 0, 0}, {16456, 16480, 512, 0, 0, 0, 0}, {5398, 21845, 0, 0, 0, 0, 0}, {10794, 16448, 0, 0, 0, 0, 0}, {51, 20, 256, 0, 0, 0, 0}, {16460, 16416, 1536, 0, 0, 0, 0}, {5394, 21845, 0, 0, 0, 0, 0}, {8738, 68, 1024, 0, 0, 0, 0}, {15, 80, 1280, 4112, 0, 0, 0}, {240, 6656, 12288, 16384, 0, 0, 0}, {27, 51, 514, 68, 1028, 4369, 0}, {4104, 4128, 514, 80, 0, 0, 0}, {5388, 51, 21760, 0, 0, 0, 0}, {4620, 4656, 68, 1028, 0, 0, 0}, {5386, 8192, 5461, 0, 0, 0, 0}, {4108, 4144, 1542, 80, 0, 0, 0}, {5384, 119, 21760, 0, 0, 0, 0}, {16392, 16496, 4608, 0, 0, 0, 0}, {5382, 21845, 0, 0, 0, 0, 0}, {2570, 80, 4096, 0, 0, 0, 0}, {51, 68, 1028, 4352, 0, 0, 0}, {16396, 16432, 5632, 0, 0, 0, 0}, {5378, 21845, 0, 0, 0, 0, 0}, {514, 20, 4112, 0, 0, 0, 0}, {255, 5376, 0, 0, 0, 0, 0}, {13056, 5120, 0, 0, 0, 0, 0}, {42, 64, 257, 0, 0, 0, 0}, {5122, 21760, 0, 0, 0, 0, 0}, {17420, 20528, 771, 0, 0, 0, 0}, {780, 64, 1028, 4096, 0, 0, 0}, {8704, 4437, 1285, 0, 0, 0, 0}, {5126, 21760, 0, 0, 0, 0, 0}, {17416, 20592, 1799, 0, 0, 0, 0}, {5128, 4864, 20480, 0, 0, 0, 0}, {4441, 4403, 771, 1285, 0, 0, 0}, {1290, 4352, 0, 0, 0, 0, 0}, {4144, 771, 64, 1028, 0, 0, 0}, {5132, 5888, 20480, 0, 0, 0, 0}, {4445, 4471, 514, 1285, 0, 0, 0}, {4128, 514, 4356, 0, 0, 0, 0}, {9999, 17408, 0, 0, 0, 0, 0}, {816, 64, 1024, 4112, 0, 0, 0}, {2560, 1365, 4369, 0, 0, 0, 0}, {5138, 21760, 0, 0, 0, 0, 0}, {17484, 20512, 4883, 0, 0, 0, 0}, {13260, 5140, 0, 0, 0, 0, 0}, {512, 277, 4096, 0, 0, 0, 0}, {5142, 21760, 0, 0, 0, 0, 0}, {17480, 20576, 5911, 0, 0, 0, 0}, {5144, 816, 20560, 0, 0, 0, 0}, {4377, 4403, 512, 1365, 0, 0, 0}, {282, 304, 512, 64, 1024, 4352, 0}, {5348, 6939, 13107, 17476, 0, 0, 0}, {5148, 1904, 20560, 0, 0, 0, 0}, {4381, 5154, 1536, 1365, 0, 0, 0}, {5150, 8738, 4420, 0, 0, 0, 0}, {4895, 4128, 64, 1024, 0, 0, 0}, {5152, 1792, 17408, 0, 0, 0, 0}, {1295, 1381, 771, 4369, 0, 0, 0}, {4386, 1280, 0, 0, 0, 0, 0}, {1036, 771, 64, 4112, 0, 0, 0}, {780, 5156, 17476, 0, 0, 0, 0}, {1295, 1317, 512, 4437, 0, 0, 0}, {268, 294, 512, 64, 1280, 4096, 0}, {5336, 3855, 10023, 20560, 0, 0, 0}, {5160, 13056, 0, 0, 0, 0, 0}, {259, 64, 5397, 0, 0, 0, 0}, {42, 512, 1280, 4352, 0, 0, 0}, {192, 771, 5140, 0, 0, 0, 0}, {1036, 4128, 1792, 64, 0, 0, 0}, {1295, 4471, 21845, 0, 0, 0, 0}, {780, 4642, 4420, 1280, 0, 0, 0}, {1807, 8224, 5200, 0, 0, 0, 0}, {5168, 5888, 17408, 0, 0, 0, 0}, {1375, 1397, 514, 4369, 0, 0, 0}, {280, 306, 514, 64, 1296, 4112, 0}, {5324, 6963, 13107, 20480, 0, 0, 0}, {4940, 5172, 17476, 0, 0, 0, 0}, {5130, 1333, 4608, 4437, 0, 0, 0}, {2570, 5174, 1360, 0, 0, 0, 0}, {1032, 1847, 64, 4096, 0, 0, 0}, {1032, 4144, 4864, 64, 0, 0, 0}, {1375, 4403, 21845, 0, 0, 0, 0}, {1546, 816, 1360, 4352, 0, 0, 0}, {2056, 4915, 5188, 0, 0, 0, 0}, {5180, 30464, 0, 0, 0, 0, 0}, {279, 64, 5397, 0, 0, 0, 0}, {42, 514, 4420, 5140, 0, 0, 0}, {831, 12288, 5120, 0, 0, 0, 0}, {768, 64, 1024, 4096, 0, 0, 0}, {170, 1285, 4369, 0, 0, 0, 0}, {5186, 21760, 0, 0, 0, 0, 0}, {17484, 20592, 17219, 0, 0, 0, 0}, {3840, 5188, 0, 0, 0, 0, 0}, {544, 261, 4112, 0, 0, 0, 0}, {5190, 21760, 0, 0, 0, 0, 0}, {17480, 20528, 18247, 0, 0, 0, 0}, {5192, 768, 20480, 0, 0, 0, 0}, {4377, 4403, 4883, 1285, 0, 0, 0}, {266, 288, 768, 64, 1024, 4352, 0}, {5300, 3855, 13107, 17476, 0, 0, 0}, {5196, 1792, 20480, 0, 0, 0, 0}, {4381, 4471, 4626, 1285, 0, 0, 0}, {1290, 8738, 4420, 0, 0, 0, 0}, {783, 4144, 64, 1024, 0, 0, 0}, {13056, 5200, 0, 0, 0, 0, 0}, {520, 1028, 273, 0, 0, 0, 0}, {5202, 21760, 0, 0, 0, 0, 0}, {17420, 20576, 21331, 0, 0, 0, 0}, {828, 64, 1028, 4112, 0, 0, 0}, {8704, 4437, 5120, 0, 0, 0, 0}, {5206, 21760, 0, 0, 0, 0, 0}, {17416, 20512, 22359, 0, 0, 0, 0}, {5208, 4896, 20560, 0, 0, 0, 0}, {5132, 4403, 4608, 1365, 0, 0, 0}, {1370, 4352, 0, 0, 0, 0, 0}, {4128, 4883, 64, 1028, 0, 0, 0}, {5212, 5984, 20560, 0, 0, 0, 0}, {5128, 5154, 5632, 1365, 0, 0, 0}, {4144, 4626, 4356, 0, 0, 0, 0}, {10079, 17408, 0, 0, 0, 0, 0}, {5216, 768, 17408, 0, 0, 0, 0}, {1295, 1317, 1799, 4369, 0, 0, 0}, {264, 290, 768, 64, 1280, 4096, 0}, {5276, 3855, 13107, 20560, 0, 0, 0}, {1800, 5220, 17476, 0, 0, 0, 0}, {1295, 5168, 1536, 4437, 0, 0, 0}, {4454, 1280, 0, 0, 0, 0, 0}, {1032, 1799, 64, 4112, 0, 0, 0}, {1032, 4128, 768, 64, 0, 0, 0}, {1295, 4403, 21845, 0, 0, 0, 0}, {106, 768, 1280, 4352, 0, 0, 0}, {128, 4883, 5140, 0, 0, 0, 0}, {5228, 30464, 0, 0, 0, 0, 0}, {263, 64, 5397, 0, 0, 0, 0}, {520, 546, 4420, 1280, 0, 0, 0}, {783, 12336, 5200, 0, 0, 0, 0}, {5232, 4864, 17408, 0, 0, 0, 0}, {1375, 1333, 1542, 4369, 0, 0, 0}, {2570, 4386, 1360, 0, 0, 0, 0}, {1036, 819, 64, 4096, 0, 0, 0}, {5960, 5236, 17476, 0, 0, 0, 0}, {5130, 5152, 5632, 4437, 0, 0, 0}, {284, 310, 790, 64, 1296, 4112, 0}, {5256, 7031, 10103, 20480, 0, 0, 0}, {5240, 13056, 0, 0, 0, 0, 0}, {275, 64, 5397, 0, 0, 0, 0}, {522, 544, 1360, 4352, 0, 0, 0}, {3084, 819, 5188, 0, 0, 0, 0}, {1036, 4144, 5888, 64, 0, 0, 0}, {1375, 4471, 21845, 0, 0, 0, 0}, {4398, 4626, 4420, 5140, 0, 0, 0}, {4991, 8192, 5120, 0, 0, 0, 0}, {128, 4864, 5120, 0, 0, 0, 0}, {106, 771, 1285, 4369, 0, 0, 0}, {1290, 4386, 21760, 0, 0, 0, 0}, {1036, 4144, 771, 64, 0, 0, 0}, {780, 12288, 5188, 0, 0, 0, 0}, {522, 544, 4437, 1285, 0, 0, 0}, {262, 64, 5376, 0, 0, 0, 0}, {5240, 30583, 0, 0, 0, 0, 0}, {5256, 3840, 13056, 20480, 0, 0, 0}, {265, 291, 771, 64, 1285, 4112, 0}, {1290, 1312, 1792, 4352, 0, 0, 0}, {5236, 771, 17476, 0, 0, 0, 0}, {1036, 1792, 64, 4096, 0, 0, 0}, {4471, 1285, 0, 0, 0, 0, 0}, {1290, 5156, 1542, 4420, 0, 0, 0}, {1807, 5232, 17408, 0, 0, 0, 0}, {3072, 816, 5200, 0, 0, 0, 0}, {520, 546, 1365, 4369, 0, 0, 0}, {274, 64, 5376, 0, 0, 0, 0}, {5228, 13107, 0, 0, 0, 0, 0}, {4972, 8224, 5140, 0, 0, 0, 0}, {4415, 4608, 4437, 5120, 0, 0, 0}, {1370, 4454, 21760, 0, 0, 0, 0}, {1032, 4128, 5911, 64, 0, 0, 0}, {1032, 816, 64, 4112, 0, 0, 0}, {2560, 4403, 1365, 0, 0, 0, 0}, {1370, 1328, 1536, 4352, 0, 0, 0}, {5220, 4883, 17476, 0, 0, 0, 0}, {5276, 7020, 10064, 20560, 0, 0, 0}, {285, 311, 789, 64, 1301, 4096, 0}, {5150, 5172, 5654, 4420, 0, 0, 0}, {5983, 5216, 17408, 0, 0, 0, 0}, {5280, 3840, 13056, 17408, 0, 0, 0}, {267, 289, 771, 64, 1028, 4369, 0}, {4360, 4386, 4864, 1280, 0, 0, 0}, {5212, 771, 20560, 0, 0, 0, 0}, {780, 4128, 64, 1028, 0, 0, 0}, {1295, 8704, 4437, 0, 0, 0, 0}, {4364, 4454, 4608, 1280, 0, 0, 0}, {5208, 1799, 20560, 0, 0, 0, 0}, {17416, 20512, 17152, 0, 0, 0, 0}, {5206, 21845, 0, 0, 0, 0, 0}, {170, 1280, 4352, 0, 0, 0, 0}, {771, 64, 1028, 4112, 0, 0, 0}, {17420, 20576, 18176, 0, 0, 0, 0}, {5202, 21845, 0, 0, 0, 0, 0}, {546, 260, 4096, 0, 0, 0, 0}, {3855, 5200, 0, 0, 0, 0, 0}, {4144, 4864, 64, 1024, 0, 0, 0}, {1375, 4369, 0, 0, 0, 0, 0}, {5144, 4386, 4626, 1360, 0, 0, 0}, {5196, 4915, 20480, 0, 0, 0, 0}, {10104, 17476, 0, 0, 0, 0, 0}, {4128, 4608, 4373, 0, 0, 0, 0}, {5148, 5174, 5654, 1360, 0, 0, 0}, {5192, 6007, 20480, 0, 0, 0, 0}, {17480, 20528, 21248, 0, 0, 0, 0}, {5190, 21845, 0, 0, 0, 0, 0}, {522, 1024, 272, 0, 0, 0, 0}, {13107, 5188, 0, 0, 0, 0, 0}, {17484, 20592, 22272, 0, 0, 0, 0}, {5186, 21845, 0, 0, 0, 0, 0}, {8738, 4420, 5140, 0, 0, 0, 0}, {831, 64, 1024, 4096, 0, 0, 0}, {192, 768, 5120, 0, 0, 0, 0}, {42, 514, 1285, 4369, 0, 0, 0}, {258, 64, 5376, 0, 0, 0, 0}, {5180, 13107, 0, 0, 0, 0, 0}, {1800, 8192, 5188, 0, 0, 0, 0}, {783, 4656, 4437, 1285, 0, 0, 0}, {1290, 4454, 21760, 0, 0, 0, 0}, {1032, 4144, 1799, 64, 0, 0, 0}, {1032, 768, 64, 4096, 0, 0, 0}, {4403, 1285, 0, 0, 0, 0, 0}, {1290, 1376, 768, 4352, 0, 0, 0}, {5172, 1799, 17476, 0, 0, 0, 0}, {5324, 3840, 9984, 20480, 0, 0, 0}, {269, 295, 514, 64, 1285, 4112, 0}, {1290, 1312, 514, 4420, 0, 0, 0}, {783, 5168, 17408, 0, 0, 0, 0}, {2048, 4896, 5200, 0, 0, 0, 0}, {1548, 819, 1365, 4369, 0, 0, 0}, {1370, 4386, 21760, 0, 0, 0, 0}, {1036, 4128, 4883, 64, 0, 0, 0}, {828, 12336, 5140, 0, 0, 0, 0}, {42, 512, 4437, 5120, 0, 0, 0}, {278, 64, 5376, 0, 0, 0, 0}, {5160, 30583, 0, 0, 0, 0, 0}, {5336, 6952, 13056, 20560, 0, 0, 0}, {281, 307, 512, 64, 1301, 4096, 0}, {1370, 1392, 512, 4352, 0, 0, 0}, {5156, 5911, 17476, 0, 0, 0, 0}, {1036, 1840, 64, 4112, 0, 0, 0}, {2560, 5154, 1365, 0, 0, 0, 0}, {5150, 1328, 4626, 4420, 0, 0, 0}, {4959, 5152, 17408, 0, 0, 0, 0}, {4128, 768, 64, 1024, 0, 0, 0}, {1295, 4369, 0, 0, 0, 0, 0}, {4424, 4386, 768, 1280, 0, 0, 0}, {5148, 4883, 20560, 0, 0, 0, 0}, {10024, 17476, 0, 0, 0, 0, 0}, {4144, 512, 4373, 0, 0, 0, 0}, {4428, 4454, 512, 1280, 0, 0, 0}, {5144, 5911, 20560, 0, 0, 0, 0}, {17480, 20576, 768, 0, 0, 0, 0}, {5142, 21845, 0, 0, 0, 0, 0}, {42, 64, 256, 0, 0, 0, 0}, {13107, 5140, 0, 0, 0, 0, 0}, {17484, 20512, 1792, 0, 0, 0, 0}, {5138, 21845, 0, 0, 0, 0, 0}, {8738, 4420, 1280, 0, 0, 0, 0}, {783, 64, 1024, 4112, 0, 0, 0}, {5360, 6912, 13056, 17408, 0, 0, 0}, {283, 305, 514, 64, 1028, 4369, 0}, {4360, 4386, 514, 1360, 0, 0, 0}, {5132, 819, 20480, 0, 0, 0, 0}, {4876, 4144, 64, 1028, 0, 0, 0}, {5130, 8704, 4437, 0, 0, 0, 0}, {4364, 5174, 1542, 1360, 0, 0, 0}, {5128, 1911, 20480, 0, 0, 0, 0}, {17416, 20592, 4864, 0, 0, 0, 0}, {5126, 21845, 0, 0, 0, 0, 0}, {2570, 1360, 4352, 0, 0, 0, 0}, {819, 64, 1028, 4096, 0, 0, 0}, {17420, 20528, 5888, 0, 0, 0, 0}, {5122, 21845, 0, 0, 0, 0, 0}, {514, 276, 4112, 0, 0, 0, 0}, {13311, 5120, 0, 0, 0, 0, 0}, {19456, 8192, 0, 0, 0, 0, 0}, {18, 85, 257, 0, 0, 0, 0}, {34, 514, 17408, 0, 0, 0, 0}, {15, 48, 771, 4096, 0, 0, 0}, {72, 8256, 1028, 0, 0, 0, 0}, {15, 4869, 85, 1285, 0, 0, 0}, {106, 1542, 16384, 0, 0, 0, 0}, {15, 119, 4871, 5120, 0, 0, 0}, {8200, 17408, 0, 0, 0, 0, 0}, {48, 771, 4101, 0, 0, 0, 0}, {17930, 26112, 0, 0, 0, 0, 0}, {4103, 4160, 1028, 0, 0, 0, 0}, {192, 3084, 8192, 16384, 0, 0, 0}, {15, 34, 514, 85, 1285, 4352, 0}, {72, 34, 514, 1028, 0, 0, 0}, {15, 4864, 20480, 0, 0, 0, 0}, {3072, 48, 4112, 0, 0, 0, 0}, {34, 512, 85, 4369, 0, 0, 0}, {18, 1024, 4096, 0, 0, 0, 0}, {255, 4883, 0, 0, 0, 0, 0}, {120, 8272, 5140, 0, 0, 0, 0}, {63, 4885, 85, 5397, 0, 0, 0}, {90, 5654, 20480, 0, 0, 0, 0}, {72, 119, 4887, 1024, 0, 0, 0}, {4120, 48, 4176, 1024, 0, 0, 0}, {4889, 13107, 85, 0, 0, 0, 0}, {4122, 48, 1536, 4160, 0, 0, 0}, {4891, 119, 17476, 0, 0, 0, 0}, {240, 7196, 8224, 20560, 0, 0, 0}, {29, 34, 512, 85, 1024, 4352, 0}, {5150, 34, 512, 5188, 0, 0, 0}, {4895, 4896, 16448, 0, 0, 0, 0}, {19584, 8224, 0, 0, 0, 0, 0}, {259, 1280, 273, 0, 0, 0, 0}, {34, 512, 17408, 0, 0, 0, 0}, {15, 48, 771, 4112, 0, 0, 0}, {1036, 9252, 1092, 0, 0, 0, 0}, {15, 4901, 85, 1280, 0, 0, 0}, {1548, 1638, 16448, 0, 0, 0, 0}, {15, 5159, 1792, 5200, 0, 0, 0}, {8232, 17408, 0, 0, 0, 0, 0}, {48, 771, 4117, 0, 0, 0, 0}, {17962, 26112, 0, 0, 0, 0, 0}, {4119, 4176, 5140, 0, 0, 0, 0}, {192, 3084, 8224, 16448, 0, 0, 0}, {15, 34, 512, 85, 1280, 4352, 0}, {1036, 34, 512, 1092, 0, 0, 0}, {15, 4896, 20560, 0, 0, 0, 0}, {3072, 48, 4096, 0, 0, 0, 0}, {34, 514, 85, 4369, 0, 0, 0}, {18, 1088, 4112, 0, 0, 0, 0}, {24320, 4915, 0, 0, 0, 0, 0}, {5180, 13364, 5188, 0, 0, 0, 0}, {4874, 4917, 85, 5376, 0, 0, 0}, {90, 5734, 20560, 0, 0, 0, 0}, {1032, 1079, 5888, 1088, 0, 0, 0}, {4104, 48, 4160, 5120, 0, 0, 0}, {4921, 13107, 85, 0, 0, 0, 0}, {4106, 48, 5632, 4176, 0, 0, 0}, {4940, 119, 17476, 0, 0, 0, 0}, {240, 7228, 8192, 20480, 0, 0, 0}, {29, 34, 514, 85, 1045, 4352, 0}, {90, 34, 514, 5140, 0, 0, 0}, {63, 4864, 16384, 0, 0, 0, 0}, {192, 3072, 8256, 16448, 0, 0, 0}, {15, 34, 517, 85, 1285, 4369, 0}, {72, 34, 578, 1024, 0, 0, 0}, {15, 4931, 20480, 0, 0, 0, 0}, {136, 2048, 8192, 17476, 0, 0, 0}, {15, 48, 768, 85, 1285, 4112, 0}, {170, 17990, 0, 0, 0, 0, 0}, {71, 1024, 4096, 0, 0, 0, 0}, {72, 8192, 1024, 0, 0, 0, 0}, {15, 4883, 85, 1285, 0, 0, 0}, {1546, 1632, 16448, 0, 0, 0, 0}, {15, 5171, 1792, 5188, 0, 0, 0}, {8320, 19532, 0, 0, 0, 0, 0}, {18, 261, 4352, 0, 0, 0, 0}, {522, 34, 17476, 0, 0, 0, 0}, {15, 48, 768, 4160, 0, 0, 0}, {240, 7248, 8272, 20560, 0, 0, 0}, {29, 34, 533, 85, 1028, 4369, 0}, {90, 34, 594, 5120, 0, 0, 0}, {63, 4947, 16384, 0, 0, 0, 0}, {72, 48, 1028, 4112, 0, 0, 0}, {4864, 85, 0, 0, 0, 0, 0}, {90, 48, 1622, 4096, 0, 0, 0}, {119, 4951, 17408, 0, 0, 0, 0}, {5160, 8224, 5200, 0, 0, 0, 0}, {4876, 4915, 85, 5376, 0, 0, 0}, {90, 5632, 20480, 0, 0, 0, 0}, {72, 119, 4883, 1028, 0, 0, 0}, {3084, 48, 4176, 0, 0, 0, 0}, {520, 34, 85, 4352, 0, 0, 0}, {18, 4160, 1028, 0, 0, 0, 0}, {4959, 13056, 0, 0, 0, 0, 0}, {192, 3072, 8288, 16384, 0, 0, 0}, {15, 34, 519, 85, 1280, 4369, 0}, {1032, 34, 1536, 1088, 0, 0, 0}, {15, 4963, 20560, 0, 0, 0, 0}, {136, 2056, 8224, 17476, 0, 0, 0}, {15, 48, 768, 85, 1280, 4096, 0}, {2560, 18022, 0, 0, 0, 0, 0}, {1031, 1088, 4112, 0, 0, 0, 0}, {1032, 8224, 1088, 0, 0, 0, 0}, {15, 4915, 85, 1280, 0, 0, 0}, {106, 1536, 16384, 0, 0, 0, 0}, {15, 119, 4883, 5140, 0, 0, 0}, {8352, 27756, 0, 0, 0, 0, 0}, {18, 277, 4352, 0, 0, 0, 0}, {520, 34, 17476, 0, 0, 0, 0}, {15, 48, 768, 4176, 0, 0, 0}, {240, 7280, 8304, 20480, 0, 0, 0}, {29, 34, 535, 85, 1041, 4369, 0}, {5130, 34, 5632, 5200, 0, 0, 0}, {4940, 4979, 16448, 0, 0, 0, 0}, {1036, 48, 1092, 4096, 0, 0, 0}, {2570, 4896, 85, 0, 0, 0, 0}, {90, 48, 1542, 4112, 0, 0, 0}, {119, 4864, 17408, 0, 0, 0, 0}, {120, 8192, 5120, 0, 0, 0, 0}, {63, 4883, 85, 5397, 0, 0, 0}, {90, 5744, 20560, 0, 0, 0, 0}, {1036, 1075, 5888, 1092, 0, 0, 0}, {3084, 48, 4160, 0, 0, 0, 0}, {522, 34, 85, 4352, 0, 0, 0}, {18, 4176, 5140, 0, 0, 0, 0}, {4991, 13056, 0, 0, 0, 0, 0}, {8320, 27648, 0, 0, 0, 0, 0}, {18, 276, 4369, 0, 0, 0, 0}, {522, 34, 17408, 0, 0, 0, 0}, {15, 48, 771, 4160, 0, 0, 0}, {1036, 8192, 1092, 0, 0, 0, 0}, {15, 4896, 85, 1285, 0, 0, 0}, {106, 1542, 16448, 0, 0, 0, 0}, {15, 119, 4864, 5120, 0, 0, 0}, {136, 2048, 8192, 17408, 0, 0, 0}, {15, 48, 771, 85, 1285, 4112, 0}, {2570, 17952, 0, 0, 0, 0, 0}, {1027, 1092, 4096, 0, 0, 0, 0}, {192, 3084, 8256, 16448, 0, 0, 0}, {15, 34, 517, 85, 1285, 4352, 0}, {1036, 34, 1542, 1092, 0, 0, 0}, {15, 4976, 20480, 0, 0, 0, 0}, {3072, 48, 4176, 0, 0, 0, 0}, {520, 34, 85, 4369, 0, 0, 0}, {18, 4160, 5120, 0, 0, 0, 0}, {4972, 13107, 0, 0, 0, 0, 0}, {120, 8224, 5140, 0, 0, 0, 0}, {63, 4864, 85, 5376, 0, 0, 0}, {90, 5734, 20480, 0, 0, 0, 0}, {1032, 1079, 5911, 1088, 0, 0, 0}, {1032, 48, 1088, 4112, 0, 0, 0}, {2560, 4915, 85, 0, 0, 0, 0}, {90, 48, 1536, 4096, 0, 0, 0}, {119, 4883, 17476, 0, 0, 0, 0}, {240, 7276, 8272, 20560, 0, 0, 0}, {29, 34, 533, 85, 1045, 4352, 0}, {5150, 34, 5654, 5188, 0, 0, 0}, {4959, 4960, 16384, 0, 0, 0, 0}, {8352, 19456, 0, 0, 0, 0, 0}, {18, 260, 4369, 0, 0, 0, 0}, {520, 34, 17408, 0, 0, 0, 0}, {15, 48, 771, 4176, 0, 0, 0}, {72, 8224, 1028, 0, 0, 0, 0}, {15, 4864, 85, 1280, 0, 0, 0}, {1548, 1638, 16384, 0, 0, 0, 0}, {15, 5159, 1799, 5200, 0, 0, 0}, {136, 2056, 8224, 17408, 0, 0, 0}, {15, 48, 771, 85, 1280, 4096, 0}, {170, 17920, 0, 0, 0, 0, 0}, {71, 1028, 4112, 0, 0, 0, 0}, {192, 3084, 8288, 16384, 0, 0, 0}, {15, 34, 519, 85, 1280, 4352, 0}, {72, 34, 576, 1028, 0, 0, 0}, {15, 4944, 20560, 0, 0, 0, 0}, {3072, 48, 4160, 0, 0, 0, 0}, {522, 34, 85, 4369, 0, 0, 0}, {18, 4176, 1024, 0, 0, 0, 0}, {4940, 13107, 0, 0, 0, 0, 0}, {5180, 8192, 5188, 0, 0, 0, 0}, {4895, 4896, 85, 5397, 0, 0, 0}, {90, 5654, 20560, 0, 0, 0, 0}, {72, 119, 4864, 1024, 0, 0, 0}, {72, 48, 1024, 4096, 0, 0, 0}, {4883, 85, 0, 0, 0, 0, 0}, {90, 48, 1616, 4112, 0, 0, 0}, {119, 4932, 17476, 0, 0, 0, 0}, {240, 7244, 8304, 20480, 0, 0, 0}, {29, 34, 535, 85, 1024, 4352, 0}, {90, 34, 592, 5140, 0, 0, 0}, {63, 4928, 16448, 0, 0, 0, 0}, {192, 3072, 8192, 16384, 0, 0, 0}, {15, 34, 514, 85, 1285, 4369, 0}, {1032, 34, 514, 1088, 0, 0, 0}, {15, 4915, 20480, 0, 0, 0, 0}, {8200, 17476, 0, 0, 0, 0, 0}, {48, 768, 4101, 0, 0, 0, 0}, {18028, 26214, 0, 0, 0, 0, 0}, {4103, 4160, 5120, 0, 0, 0, 0}, {1032, 9216, 1088, 0, 0, 0, 0}, {15, 4918, 85, 1285, 0, 0, 0}, {1546, 1632, 16384, 0, 0, 0, 0}, {15, 5171, 1799, 5188, 0, 0, 0}, {19660, 8192, 0, 0, 0, 0, 0}, {258, 1285, 272, 0, 0, 0, 0}, {34, 514, 17476, 0, 0, 0, 0}, {15, 48, 768, 4096, 0, 0, 0}, {240, 7200, 8224, 20560, 0, 0, 0}, {29, 34, 512, 85, 1041, 4369, 0}, {90, 34, 512, 5120, 0, 0, 0}, {63, 4883, 16448, 0, 0, 0, 0}, {4120, 48, 4176, 5140, 0, 0, 0}, {4906, 13056, 85, 0, 0, 0, 0}, {4122, 48, 5654, 4160, 0, 0, 0}, {4959, 119, 17408, 0, 0, 0, 0}, {5160, 13312, 5200, 0, 0, 0, 0}, {4889, 4902, 85, 5397, 0, 0, 0}, {90, 5744, 20480, 0, 0, 0, 0}, {1036, 1075, 5911, 1092, 0, 0, 0}, {3084, 48, 4112, 0, 0, 0, 0}, {34, 512, 85, 4352, 0, 0, 0}, {18, 1092, 4096, 0, 0, 0, 0}, {24415, 4896, 0, 0, 0, 0, 0}, {192, 3072, 8224, 16448, 0, 0, 0}, {15, 34, 512, 85, 1280, 4369, 0}, {72, 34, 512, 1024, 0, 0, 0}, {15, 4883, 20560, 0, 0, 0, 0}, {8232, 17476, 0, 0, 0, 0, 0}, {48, 768, 4117, 0, 0, 0, 0}, {17996, 26214, 0, 0, 0, 0, 0}, {4119, 4176, 1024, 0, 0, 0, 0}, {72, 8288, 1024, 0, 0, 0, 0}, {15, 4886, 85, 1280, 0, 0, 0}, {106, 1536, 16448, 0, 0, 0, 0}, {15, 119, 4884, 5140, 0, 0, 0}, {19532, 8224, 0, 0, 0, 0, 0}, {18, 85, 256, 0, 0, 0, 0}, {34, 512, 17476, 0, 0, 0, 0}, {15, 48, 768, 4112, 0, 0, 0}, {240, 7168, 8192, 20480, 0, 0, 0}, {29, 34, 514, 85, 1028, 4369, 0}, {5130, 34, 514, 5200, 0, 0, 0}, {4876, 4915, 16384, 0, 0, 0, 0}, {4104, 48, 4160, 1028, 0, 0, 0}, {4874, 13056, 85, 0, 0, 0, 0}, {4106, 48, 1542, 4176, 0, 0, 0}, {4872, 119, 17408, 0, 0, 0, 0}, {120, 8304, 5120, 0, 0, 0, 0}, {63, 4870, 85, 5376, 0, 0, 0}, {90, 5632, 20560, 0, 0, 0, 0}, {72, 119, 4868, 1028, 0, 0, 0}, {3084, 48, 4096, 0, 0, 0, 0}, {34, 514, 85, 4352, 0, 0, 0}, {18, 1028, 4112, 0, 0, 0, 0}, {255, 4864, 0, 0, 0, 0, 0}, {4608, 21760, 0, 0, 0, 0, 0}, {76, 32, 257, 0, 0, 0, 0}, {1290, 32, 514, 4096, 0, 0, 0}, {4403, 771, 17408, 0, 0, 0, 0}, {4360, 4612, 4420, 1028, 0, 0, 0}, {4698, 12368, 1285, 0, 0, 0, 0}, {4362, 4454, 4614, 5120, 0, 0, 0}, {5503, 1799, 16384, 0, 0, 0, 0}, {4616, 12288, 5376, 0, 0, 0, 0}, {4409, 771, 4437, 1285, 0, 0, 0}, {1290, 5888, 20480, 0, 0, 0, 0}, {76, 4471, 771, 1028, 0, 0, 0}, {780, 4352, 0, 0, 0, 0, 0}, {32, 514, 4176, 1285, 0, 0, 0}, {4354, 4160, 1028, 0, 0, 0, 0}, {18191, 8704, 0, 0, 0, 0, 0}, {32, 512, 1360, 4112, 0, 0, 0}, {3072, 819, 4369, 0, 0, 0, 0}, {21930, 4626, 0, 0, 0, 0, 0}, {275, 1024, 4096, 0, 0, 0, 0}, {4392, 4628, 4420, 5140, 0, 0, 0}, {4714, 12352, 5397, 0, 0, 0, 0}, {76, 4454, 4630, 1024, 0, 0, 0}, {1375, 5911, 20480, 0, 0, 0, 0}, {4632, 12336, 1360, 0, 0, 0, 0}, {4377, 819, 4437, 1024, 0, 0, 0}, {4634, 1904, 16448, 0, 0, 0, 0}, {4379, 1331, 1536, 5188, 0, 0, 0}, {284, 32, 512, 336, 1024, 4352, 0}, {4834, 7453, 8738, 21845, 0, 0, 0}, {4638, 4386, 17476, 0, 0, 0, 0}, {5407, 32, 512, 4160, 0, 0, 0}, {32, 512, 1280, 4096, 0, 0, 0}, {204, 771, 4369, 0, 0, 0, 0}, {3840, 4642, 0, 0, 0, 0, 0}, {259, 1088, 4112, 0, 0, 0, 0}, {780, 4644, 4420, 1280, 0, 0, 0}, {1807, 9509, 5461, 0, 0, 0, 0}, {1036, 5414, 1792, 1088, 0, 0, 0}, {1295, 6007, 20560, 0, 0, 0, 0}, {4648, 12288, 1280, 0, 0, 0, 0}, {4377, 771, 4437, 5397, 0, 0, 0}, {5418, 1792, 16384, 0, 0, 0, 0}, {4379, 4471, 771, 5140, 0, 0, 0}, {268, 32, 512, 320, 1280, 4352, 0}, {4818, 3855, 8738, 21845, 0, 0, 0}, {780, 4386, 17476, 0, 0, 0, 0}, {1295, 32, 512, 4176, 0, 0, 0}, {4656, 21760, 0, 0, 0, 0, 0}, {1032, 514, 273, 0, 0, 0, 0}, {1370, 32, 514, 4112, 0, 0, 0}, {4403, 4608, 17408, 0, 0, 0, 0}, {4360, 4660, 4420, 5376, 0, 0, 0}, {5951, 13621, 1365, 0, 0, 0, 0}, {4362, 1334, 5888, 5200, 0, 0, 0}, {4680, 1911, 16448, 0, 0, 0, 0}, {4664, 12336, 5440, 0, 0, 0, 0}, {4618, 819, 4437, 5120, 0, 0, 0}, {1370, 5984, 20560, 0, 0, 0, 0}, {1032, 5427, 5632, 1092, 0, 0, 0}, {828, 4352, 0, 0, 0, 0, 0}, {32, 514, 4160, 5397, 0, 0, 0}, {4354, 4176, 5140, 0, 0, 0, 0}, {18239, 8704, 0, 0, 0, 0, 0}, {1792, 5440, 0, 0, 0, 0, 0}, {783, 867, 1285, 4369, 0, 0, 0}, {1290, 4674, 20480, 0, 0, 0, 0}, {76, 4403, 835, 1024, 0, 0, 0}, {768, 4420, 0, 0, 0, 0, 0}, {522, 32, 1285, 4112, 0, 0, 0}, {326, 1024, 4096, 0, 0, 0, 0}, {22015, 18247, 0, 0, 0, 0, 0}, {4680, 21760, 0, 0, 0, 0, 0}, {32, 4883, 261, 0, 0, 0, 0}, {1290, 32, 1792, 4160, 0, 0, 0}, {783, 4471, 17476, 0, 0, 0, 0}, {76, 768, 1024, 4352, 0, 0, 0}, {160, 4626, 1285, 0, 0, 0, 0}, {1290, 4386, 768, 5188, 0, 0, 0}, {1807, 4656, 16448, 0, 0, 0, 0}, {5888, 1360, 0, 0, 0, 0, 0}, {76, 883, 1028, 4369, 0, 0, 0}, {5418, 4690, 16384, 0, 0, 0, 0}, {4447, 4403, 851, 5120, 0, 0, 0}, {280, 32, 784, 340, 1028, 4112, 0}, {4778, 7509, 12288, 21845, 0, 0, 0}, {4454, 4694, 17408, 0, 0, 0, 0}, {1375, 32, 1879, 4096, 0, 0, 0}, {520, 32, 4176, 5376, 0, 0, 0}, {831, 13107, 4437, 0, 0, 0, 0}, {4698, 30464, 0, 0, 0, 0, 0}, {279, 4160, 1028, 0, 0, 0, 0}, {1548, 816, 1360, 4352, 0, 0, 0}, {2056, 4642, 5461, 0, 0, 0, 0}, {76, 4386, 4626, 1028, 0, 0, 0}, {1375, 4608, 20480, 0, 0, 0, 0}, {4704, 1280, 0, 0, 0, 0, 0}, {1032, 1799, 1092, 4369, 0, 0, 0}, {1800, 4706, 16448, 0, 0, 0, 0}, {1295, 4403, 1536, 5200, 0, 0, 0}, {264, 32, 768, 324, 1280, 4096, 0}, {4762, 3855, 12336, 21845, 0, 0, 0}, {4454, 768, 17408, 0, 0, 0, 0}, {1295, 32, 1799, 4112, 0, 0, 0}, {520, 32, 4160, 1280, 0, 0, 0}, {783, 13107, 4437, 0, 0, 0, 0}, {4714, 30464, 0, 0, 0, 0, 0}, {263, 4176, 5140, 0, 0, 0, 0}, {108, 768, 1280, 4352, 0, 0, 0}, {128, 4626, 5397, 0, 0, 0, 0}, {1032, 4386, 768, 1092, 0, 0, 0}, {1295, 4656, 20560, 0, 0, 0, 0}, {4720, 5376, 0, 0, 0, 0, 0}, {1337, 1542, 1365, 4369, 0, 0, 0}, {1370, 4722, 20560, 0, 0, 0, 0}, {1036, 4403, 5632, 1088, 0, 0, 0}, {3084, 816, 4420, 0, 0, 0, 0}, {522, 32, 1365, 4096, 0, 0, 0}, {1302, 1088, 4112, 0, 0, 0, 0}, {23040, 18295, 0, 0, 0, 0, 0}, {4728, 21760, 0, 0, 0, 0, 0}, {32, 4883, 277, 0, 0, 0, 0}, {5386, 32, 5888, 4176, 0, 0, 0}, {4680, 4471, 17476, 0, 0, 0, 0}, {1036, 816, 1088, 4352, 0, 0, 0}, {2570, 4642, 1365, 0, 0, 0, 0}, {4430, 4386, 4626, 5140, 0, 0, 0}, {5503, 4608, 16384, 0, 0, 0, 0}, {128, 4608, 5376, 0, 0, 0, 0}, {108, 771, 1285, 4369, 0, 0, 0}, {1290, 4642, 20480, 0, 0, 0, 0}, {1036, 4403, 771, 1088, 0, 0, 0}, {780, 13056, 4420, 0, 0, 0, 0}, {522, 32, 4176, 1285, 0, 0, 0}, {262, 4160, 5120, 0, 0, 0, 0}, {4728, 30583, 0, 0, 0, 0, 0}, {4744, 3840, 12288, 21760, 0, 0, 0}, {265, 32, 771, 325, 1285, 4112, 0}, {1290, 32, 1792, 4096, 0, 0, 0}, {4471, 771, 17476, 0, 0, 0, 0}, {1036, 1792, 1088, 4352, 0, 0, 0}, {4722, 1285, 0, 0, 0, 0, 0}, {1290, 4386, 1542, 5188, 0, 0, 0}, {1807, 4720, 16384, 0, 0, 0, 0}, {2560, 4656, 1360, 0, 0, 0, 0}, {1032, 819, 1092, 4369, 0, 0, 0}, {5482, 4626, 16448, 0, 0, 0, 0}, {4447, 4403, 4608, 5120, 0, 0, 0}, {32, 4864, 276, 0, 0, 0, 0}, {4714, 21845, 0, 0, 0, 0, 0}, {4698, 4454, 17408, 0, 0, 0, 0}, {5407, 32, 5911, 4160, 0, 0, 0}, {520, 32, 1360, 4112, 0, 0, 0}, {3072, 819, 4437, 0, 0, 0, 0}, {23130, 18224, 0, 0, 0, 0, 0}, {1299, 1092, 4096, 0, 0, 0, 0}, {1340, 1536, 1360, 4352, 0, 0, 0}, {4706, 5397, 0, 0, 0, 0, 0}, {1032, 4386, 5654, 1092, 0, 0, 0}, {1375, 4704, 20480, 0, 0, 0, 0}, {160, 4608, 1280, 0, 0, 0, 0}, {76, 771, 1028, 4369, 0, 0, 0}, {1800, 4642, 16384, 0, 0, 0, 0}, {1295, 4403, 771, 5200, 0, 0, 0}, {32, 4864, 260, 0, 0, 0, 0}, {4698, 21845, 0, 0, 0, 0, 0}, {780, 4454, 17408, 0, 0, 0, 0}, {1295, 32, 1799, 4176, 0, 0, 0}, {520, 32, 1280, 4096, 0, 0, 0}, {771, 4437, 0, 0, 0, 0, 0}, {21930, 18176, 0, 0, 0, 0, 0}, {327, 1028, 4112, 0, 0, 0, 0}, {780, 864, 1280, 4352, 0, 0, 0}, {1799, 5461, 0, 0, 0, 0, 0}, {76, 4386, 832, 1028, 0, 0, 0}, {1295, 4688, 20560, 0, 0, 0, 0}, {2048, 4656, 5440, 0, 0, 0, 0}, {1546, 819, 1365, 4369, 0, 0, 0}, {1370, 4626, 20560, 0, 0, 0, 0}, {76, 4403, 4608, 1024, 0, 0, 0}, {828, 13056, 4420, 0, 0, 0, 0}, {522, 32, 4160, 5397, 0, 0, 0}, {278, 4176, 1024, 0, 0, 0, 0}, {4680, 30583, 0, 0, 0, 0, 0}, {4792, 7496, 12336, 21760, 0, 0, 0}, {281, 32, 787, 341, 1024, 4096, 0}, {1370, 32, 1872, 4112, 0, 0, 0}, {4471, 4676, 17476, 0, 0, 0, 0}, {76, 880, 1024, 4352, 0, 0, 0}, {5911, 1365, 0, 0, 0, 0, 0}, {4430, 4386, 848, 5140, 0, 0, 0}, {5439, 4672, 16448, 0, 0, 0, 0}, {4800, 3840, 8704, 21760, 0, 0, 0}, {269, 32, 514, 321, 1285, 4369, 0}, {1290, 32, 514, 4160, 0, 0, 0}, {783, 4403, 17408, 0, 0, 0, 0}, {4360, 768, 4420, 5376, 0, 0, 0}, {4666, 12336, 1285, 0, 0, 0, 0}, {4362, 4454, 768, 5120, 0, 0, 0}, {5439, 1799, 16448, 0, 0, 0, 0}, {1800, 9472, 5440, 0, 0, 0, 0}, {783, 4662, 4437, 1285, 0, 0, 0}, {1290, 5984, 20480, 0, 0, 0, 0}, {1032, 5427, 1799, 1092, 0, 0, 0}, {204, 768, 4352, 0, 0, 0, 0}, {32, 514, 1285, 4112, 0, 0, 0}, {258, 1092, 4096, 0, 0, 0, 0}, {3855, 4656, 0, 0, 0, 0, 0}, {32, 512, 4176, 5376, 0, 0, 0}, {831, 4369, 0, 0, 0, 0, 0}, {18296, 8738, 0, 0, 0, 0, 0}, {4371, 4160, 5120, 0, 0, 0, 0}, {4632, 816, 4420, 5140, 0, 0, 0}, {4650, 12288, 5461, 0, 0, 0, 0}, {1036, 5414, 5654, 1088, 0, 0, 0}, {1375, 6007, 20480, 0, 0, 0, 0}, {5928, 13568, 1360, 0, 0, 0, 0}, {4377, 4646, 4437, 5397, 0, 0, 0}, {4698, 1904, 16384, 0, 0, 0, 0}, {4379, 1331, 5911, 5188, 0, 0, 0}, {1036, 512, 272, 0, 0, 0, 0}, {4642, 21845, 0, 0, 0, 0, 0}, {4386, 4626, 17476, 0, 0, 0, 0}, {1375, 32, 512, 4096, 0, 0, 0}, {32, 512, 4160, 1280, 0, 0, 0}, {783, 4369, 0, 0, 0, 0, 0}, {18248, 8738, 0, 0, 0, 0, 0}, {4371, 4176, 1024, 0, 0, 0, 0}, {4392, 768, 4420, 1280, 0, 0, 0}, {4634, 12336, 5397, 0, 0, 0, 0}, {76, 4454, 768, 1024, 0, 0, 0}, {1295, 5911, 20560, 0, 0, 0, 0}, {4680, 12384, 1280, 0, 0, 0, 0}, {4377, 4630, 4437, 1024, 0, 0, 0}, {5482, 1792, 16448, 0, 0, 0, 0}, {4379, 4471, 4628, 5140, 0, 0, 0}, {76, 32, 256, 0, 0, 0, 0}, {4626, 21845, 0, 0, 0, 0, 0}, {4386, 768, 17476, 0, 0, 0, 0}, {1295, 32, 512, 4112, 0, 0, 0}, {4848, 7424, 8704, 21760, 0, 0, 0}, {285, 32, 514, 337, 1028, 4369, 0}, {5386, 32, 514, 4176, 0, 0, 0}, {4620, 4403, 17408, 0, 0, 0, 0}, {4360, 816, 4420, 1028, 0, 0, 0}, {4618, 12288, 1365, 0, 0, 0, 0}, {4362, 1334, 1542, 5200, 0, 0, 0}, {4616, 1911, 16384, 0, 0, 0, 0}, {4728, 12400, 5376, 0, 0, 0, 0}, {4409, 4614, 4437, 5120, 0, 0, 0}, {1370, 5888, 20560, 0, 0, 0, 0}, {76, 4471, 4612, 1028, 0, 0, 0}, {3084, 816, 4352, 0, 0, 0, 0}, {32, 514, 1365, 4096, 0, 0, 0}, {274, 1028, 4112, 0, 0, 0, 0}, {22015, 4608, 0, 0, 0, 0, 0}, {8704, 17408, 0, 0, 0, 0, 0}, {15, 16, 257, 0, 0, 0, 0}, {17416, 32, 514, 0, 0, 0, 0}, {4355, 21760, 0, 0, 0, 0, 0}, {8712, 64, 1028, 0, 0, 0, 0}, {13056, 4357, 0, 0, 0, 0, 0}, {17420, 96, 1542, 0, 0, 0, 0}, {4359, 21760, 0, 0, 0, 0, 0}, {17416, 26112, 0, 0, 0, 0, 0}, {4358, 80, 1285, 0, 0, 0, 0}, {8714, 17408, 0, 0, 0, 0, 0}, {48, 771, 4356, 0, 0, 0, 0}, {17420, 8704, 0, 0, 0, 0, 0}, {4354, 80, 1285, 0, 0, 0, 0}, {32, 514, 64, 1028, 0, 0, 0}, {15, 4352, 0, 0, 0, 0, 0}, {512, 1024, 16, 0, 0, 0, 0}, {255, 4369, 0, 0, 0, 0, 0}, {17480, 48, 4626, 0, 0, 0, 0}, {4371, 21760, 0, 0, 0, 0, 0}, {8744, 80, 5140, 0, 0, 0, 0}, {13056, 4373, 0, 0, 0, 0, 0}, {17484, 112, 5654, 0, 0, 0, 0}, {4375, 21760, 0, 0, 0, 0, 0}, {5144, 48, 1536, 80, 0, 0, 0}, {4377, 4454, 21845, 0, 0, 0, 0}, {4634, 48, 64, 1024, 0, 0, 0}, {4379, 13107, 4420, 0, 0, 0, 0}, {5148, 32, 512, 80, 0, 0, 0}, {4381, 4386, 21845, 0, 0, 0, 0}, {240, 7710, 8738, 17476, 0, 0, 0}, {31, 32, 512, 64, 1024, 4352, 0}, {32, 512, 17408, 0, 0, 0, 0}, {15, 48, 771, 4369, 0, 0, 0}, {17544, 8738, 0, 0, 0, 0, 0}, {259, 1280, 16, 0, 0, 0, 0}, {1548, 96, 17476, 0, 0, 0, 0}, {15, 4389, 1792, 4437, 0, 0, 0}, {1036, 9766, 64, 0, 0, 0, 0}, {15, 4391, 80, 1280, 0, 0, 0}, {17448, 26112, 0, 0, 0, 0, 0}, {4374, 64, 5397, 0, 0, 0, 0}, {8746, 17408, 0, 0, 0, 0, 0}, {48, 771, 4372, 0, 0, 0, 0}, {1036, 32, 512, 64, 0, 0, 0}, {15, 4386, 21845, 0, 0, 0, 0}, {192, 3084, 8738, 17476, 0, 0, 0}, {15, 32, 512, 80, 1280, 4352, 0}, {48, 4608, 17408, 0, 0, 0, 0}, {95, 32, 514, 4369, 0, 0, 0}, {1032, 514, 16, 0, 0, 0, 0}, {4403, 21760, 0, 0, 0, 0, 0}, {5708, 112, 17476, 0, 0, 0, 0}, {4362, 4405, 5888, 4437, 0, 0, 0}, {5180, 13878, 80, 0, 0, 0, 0}, {4360, 4407, 64, 5376, 0, 0, 0}, {1032, 48, 5632, 64, 0, 0, 0}, {95, 4454, 21845, 0, 0, 0, 0}, {4618, 48, 80, 5120, 0, 0, 0}, {4411, 13107, 4420, 0, 0, 0, 0}, {17468, 8704, 0, 0, 0, 0, 0}, {4354, 64, 5397, 0, 0, 0, 0}, {32, 514, 80, 5140, 0, 0, 0}, {63, 4352, 0, 0, 0, 0, 0}, {8704, 64, 1024, 0, 0, 0, 0}, {15, 80, 1285, 4369, 0, 0, 0}, {17480, 96, 16962, 0, 0, 0, 0}, {4419, 21760, 0, 0, 0, 0, 0}, {8840, 17476, 0, 0, 0, 0, 0}, {768, 261, 16, 0, 0, 0, 0}, {17484, 32, 17990, 0, 0, 0, 0}, {4423, 21760, 0, 0, 0, 0, 0}, {17480, 26112, 0, 0, 0, 0, 0}, {4374, 80, 1285, 0, 0, 0, 0}, {522, 32, 64, 1024, 0, 0, 0}, {15, 13107, 4420, 0, 0, 0, 0}, {17484, 8704, 0, 0, 0, 0, 0}, {4370, 80, 1285, 0, 0, 0, 0}, {160, 2570, 8738, 17476, 0, 0, 0}, {15, 48, 768, 64, 1024, 4352, 0}, {8704, 80, 5120, 0, 0, 0, 0}, {63, 64, 1028, 4369, 0, 0, 0}, {17416, 112, 21074, 0, 0, 0, 0}, {4435, 21760, 0, 0, 0, 0, 0}, {520, 1028, 16, 0, 0, 0, 0}, {13056, 4437, 0, 0, 0, 0, 0}, {17420, 48, 22102, 0, 0, 0, 0}, {4439, 21760, 0, 0, 0, 0, 0}, {5128, 32, 5632, 80, 0, 0, 0}, {4441, 4454, 21845, 0, 0, 0, 0}, {8794, 17408, 0, 0, 0, 0, 0}, {32, 4883, 4356, 0, 0, 0, 0}, {5132, 48, 4608, 80, 0, 0, 0}, {4445, 4386, 21845, 0, 0, 0, 0}, {48, 4626, 64, 1028, 0, 0, 0}, {95, 4352, 0, 0, 0, 0, 0}, {96, 1536, 17408, 0, 0, 0, 0}, {15, 112, 1799, 4369, 0, 0, 0}, {1032, 8738, 64, 0, 0, 0, 0}, {15, 4403, 80, 1280, 0, 0, 0}, {520, 32, 17476, 0, 0, 0, 0}, {15, 48, 768, 4437, 0, 0, 0}, {17612, 26214, 0, 0, 0, 0, 0}, {263, 1280, 16, 0, 0, 0, 0}, {1032, 32, 1536, 64, 0, 0, 0}, {15, 4454, 21845, 0, 0, 0, 0}, {8810, 17408, 0, 0, 0, 0, 0}, {32, 4883, 4372, 0, 0, 0, 0}, {17516, 8704, 0, 0, 0, 0, 0}, {4370, 64, 5397, 0, 0, 0, 0}, {128, 2056, 8738, 17476, 0, 0, 0}, {15, 48, 768, 80, 1280, 4352, 0}, {112, 5632, 17408, 0, 0, 0, 0}, {95, 96, 1542, 4369, 0, 0, 0}, {5160, 8738, 80, 0, 0, 0, 0}, {4364, 4403, 64, 5376, 0, 0, 0}, {4680, 48, 17476, 0, 0, 0, 0}, {4362, 32, 4864, 4437, 0, 0, 0}, {1036, 1542, 16, 0, 0, 0, 0}, {4471, 21760, 0, 0, 0, 0, 0}, {17528, 26112, 0, 0, 0, 0, 0}, {4358, 64, 5397, 0, 0, 0, 0}, {522, 32, 80, 5120, 0, 0, 0}, {63, 13107, 4420, 0, 0, 0, 0}, {1036, 48, 4608, 64, 0, 0, 0}, {95, 4386, 21845, 0, 0, 0, 0}, {48, 4626, 80, 5140, 0, 0, 0}, {127, 4352, 0, 0, 0, 0, 0}, {128, 2048, 8704, 17408, 0, 0, 0}, {15, 48, 771, 80, 1285, 4369, 0}, {17448, 8738, 0, 0, 0, 0, 0}, {4355, 64, 5376, 0, 0, 0, 0}, {8776, 17476, 0, 0, 0, 0, 0}, {32, 4864, 4357, 0, 0, 0, 0}, {1036, 32, 1542, 64, 0, 0, 0}, {15, 4471, 21760, 0, 0, 0, 0}, {17544, 26112, 0, 0, 0, 0, 0}, {262, 1285, 16, 0, 0, 0, 0}, {522, 32, 17408, 0, 0, 0, 0}, {15, 48, 771, 4420, 0, 0, 0}, {1036, 8704, 64, 0, 0, 0, 0}, {15, 4386, 80, 1285, 0, 0, 0}, {96, 1542, 17476, 0, 0, 0, 0}, {15, 112, 1792, 4352, 0, 0, 0}, {48, 4608, 80, 5120, 0, 0, 0}, {127, 4369, 0, 0, 0, 0, 0}, {1032, 48, 4626, 64, 0, 0, 0}, {95, 4403, 21760, 0, 0, 0, 0}, {520, 32, 80, 5140, 0, 0, 0}, {63, 13056, 4437, 0, 0, 0, 0}, {17468, 26214, 0, 0, 0, 0, 0}, {4375, 64, 5376, 0, 0, 0, 0}, {1032, 1536, 16, 0, 0, 0, 0}, {4454, 21845, 0, 0, 0, 0, 0}, {4698, 48, 17408, 0, 0, 0, 0}, {4379, 32, 4883, 4420, 0, 0, 0}, {5180, 8704, 80, 0, 0, 0, 0}, {4381, 4386, 64, 5397, 0, 0, 0}, {112, 5654, 17476, 0, 0, 0, 0}, {95, 96, 1536, 4352, 0, 0, 0}, {160, 2560, 8704, 17408, 0, 0, 0}, {15, 48, 771, 64, 1028, 4369, 0}, {17416, 8738, 0, 0, 0, 0, 0}, {4355, 80, 1280, 0, 0, 0, 0}, {520, 32, 64, 1028, 0, 0, 0}, {15, 13056, 4437, 0, 0, 0, 0}, {17420, 26214, 0, 0, 0, 0, 0}, {4359, 80, 1280, 0, 0, 0, 0}, {17416, 32, 17920, 0, 0, 0, 0}, {4438, 21845, 0, 0, 0, 0, 0}, {8874, 17408, 0, 0, 0, 0, 0}, {771, 260, 16, 0, 0, 0, 0}, {17420, 96, 16896, 0, 0, 0, 0}, {4434, 21845, 0, 0, 0, 0, 0}, {8738, 64, 1028, 0, 0, 0, 0}, {15, 80, 1280, 4352, 0, 0, 0}, {48, 4608, 64, 1024, 0, 0, 0}, {95, 4369, 0, 0, 0, 0, 0}, {5144, 48, 4626, 80, 0, 0, 0}, {4428, 4403, 21760, 0, 0, 0, 0}, {8824, 17476, 0, 0, 0, 0, 0}, {32, 4864, 4373, 0, 0, 0, 0}, {5148, 32, 5654, 80, 0, 0, 0}, {4424, 4471, 21760, 0, 0, 0, 0}, {17480, 48, 22016, 0, 0, 0, 0}, {4422, 21845, 0, 0, 0, 0, 0}, {522, 1024, 16, 0, 0, 0, 0}, {13107, 4420, 0, 0, 0, 0, 0}, {17484, 112, 20992, 0, 0, 0, 0}, {4418, 21845, 0, 0, 0, 0, 0}, {8738, 80, 5140, 0, 0, 0, 0}, {63, 64, 1024, 4352, 0, 0, 0}, {192, 3072, 8704, 17408, 0, 0, 0}, {15, 32, 514, 80, 1285, 4369, 0}, {1032, 32, 514, 64, 0, 0, 0}, {15, 4403, 21760, 0, 0, 0, 0}, {8712, 17476, 0, 0, 0, 0, 0}, {48, 768, 4357, 0, 0, 0, 0}, {17516, 26214, 0, 0, 0, 0, 0}, {4359, 64, 5376, 0, 0, 0, 0}, {1032, 9728, 64, 0, 0, 0, 0}, {15, 4406, 80, 1285, 0, 0, 0}, {1546, 96, 17408, 0, 0, 0, 0}, {15, 4404, 1799, 4420, 0, 0, 0}, {17612, 8704, 0, 0, 0, 0, 0}, {258, 1285, 16, 0, 0, 0, 0}, {32, 514, 17476, 0, 0, 0, 0}, {15, 48, 768, 4352, 0, 0, 0}, {32, 512, 80, 5120, 0, 0, 0}, {63, 4369, 0, 0, 0, 0, 0}, {17528, 8738, 0, 0, 0, 0, 0}, {4371, 64, 5376, 0, 0, 0, 0}, {4632, 48, 80, 5140, 0, 0, 0}, {4394, 13056, 4437, 0, 0, 0, 0}, {1036, 48, 5654, 64, 0, 0, 0}, {95, 4471, 21760, 0, 0, 0, 0}, {5160, 13824, 80, 0, 0, 0, 0}, {4377, 4390, 64, 5397, 0, 0, 0}, {5722, 112, 17408, 0, 0, 0, 0}, {4379, 4388, 5911, 4420, 0, 0, 0}, {1036, 512, 16, 0, 0, 0, 0}, {4386, 21845, 0, 0, 0, 0, 0}, {48, 4626, 17476, 0, 0, 0, 0}, {95, 32, 512, 4352, 0, 0, 0}, {32, 512, 64, 1024, 0, 0, 0}, {15, 4369, 0, 0, 0, 0, 0}, {17480, 8738, 0, 0, 0, 0, 0}, {4371, 80, 1280, 0, 0, 0, 0}, {8744, 17476, 0, 0, 0, 0, 0}, {48, 768, 4373, 0, 0, 0, 0}, {17484, 26214, 0, 0, 0, 0, 0}, {4375, 80, 1280, 0, 0, 0, 0}, {17480, 96, 1536, 0, 0, 0, 0}, {4374, 21845, 0, 0, 0, 0, 0}, {8746, 64, 1024, 0, 0, 0, 0}, {13107, 4372, 0, 0, 0, 0, 0}, {17484, 32, 512, 0, 0, 0, 0}, {4370, 21845, 0, 0, 0, 0, 0}, {8738, 17476, 0, 0, 0, 0, 0}, {15, 16, 256, 0, 0, 0, 0}, {240, 7680, 8704, 17408, 0, 0, 0}, {31, 32, 514, 64, 1028, 4369, 0}, {5128, 32, 514, 80, 0, 0, 0}, {4364, 4403, 21760, 0, 0, 0, 0}, {4616, 48, 64, 1028, 0, 0, 0}, {4362, 13056, 4437, 0, 0, 0, 0}, {5132, 48, 1542, 80, 0, 0, 0}, {4360, 4471, 21760, 0, 0, 0, 0}, {17416, 112, 5632, 0, 0, 0, 0}, {4358, 21845, 0, 0, 0, 0, 0}, {8714, 80, 5120, 0, 0, 0, 0}, {13107, 4356, 0, 0, 0, 0, 0}, {17420, 48, 4608, 0, 0, 0, 0}, {4354, 21845, 0, 0, 0, 0, 0}, {514, 1028, 16, 0, 0, 0, 0}, {255, 4352, 0, 0, 0, 0, 0}, {3840, 4096, 0, 0, 0, 0, 0}, {34, 68, 257, 0, 0, 0, 0}, {4098, 21760, 0, 0, 0, 0, 0}, {16396, 4144, 771, 0, 0, 0, 0}, {13056, 4100, 0, 0, 0, 0, 0}, {8202, 4176, 1285, 0, 0, 0, 0}, {4102, 21760, 0, 0, 0, 0, 0}, {16392, 4208, 1799, 0, 0, 0, 0}, {4104, 5888, 20480, 0, 0, 0, 0}, {4188, 102, 771, 1285, 0, 0, 0}, {4106, 12288, 5376, 0, 0, 0, 0}, {4152, 771, 68, 1028, 0, 0, 0}, {4108, 4864, 20480, 0, 0, 0, 0}, {4184, 34, 514, 1285, 0, 0, 0}, {270, 34, 514, 68, 1028, 4352, 0}, {4336, 3855, 8192, 16384, 0, 0, 0}, {4080, 4112, 0, 0, 0, 0, 0}, {512, 1024, 273, 0, 0, 0, 0}, {4114, 21760, 0, 0, 0, 0, 0}, {16460, 4128, 4883, 0, 0, 0, 0}, {13056, 4116, 0, 0, 0, 0, 0}, {8234, 4160, 5397, 0, 0, 0, 0}, {4118, 21760, 0, 0, 0, 0, 0}, {16456, 4192, 5911, 0, 0, 0, 0}, {4120, 5984, 20560, 0, 0, 0, 0}, {5401, 1331, 1536, 1365, 0, 0, 0}, {4122, 12336, 5440, 0, 0, 0, 0}, {4891, 819, 68, 1024, 0, 0, 0}, {4124, 4896, 20560, 0, 0, 0, 0}, {5405, 34, 512, 1365, 0, 0, 0}, {286, 34, 512, 68, 1024, 4352, 0}, {4320, 7967, 8224, 16448, 0, 0, 0}, {3840, 4128, 0, 0, 0, 0, 0}, {259, 68, 4369, 0, 0, 0, 0}, {34, 512, 1280, 4096, 0, 0, 0}, {204, 771, 4112, 0, 0, 0, 0}, {1036, 4132, 1792, 68, 0, 0, 0}, {1295, 4208, 21845, 0, 0, 0, 0}, {780, 4134, 4160, 1280, 0, 0, 0}, {1807, 10023, 4176, 0, 0, 0, 0}, {4136, 1792, 16384, 0, 0, 0, 0}, {4122, 102, 771, 5397, 0, 0, 0}, {4138, 12288, 1280, 0, 0, 0, 0}, {4120, 771, 68, 5140, 0, 0, 0}, {780, 4896, 16448, 0, 0, 0, 0}, {1295, 34, 512, 5461, 0, 0, 0}, {268, 34, 512, 68, 1280, 4352, 0}, {4304, 3855, 8224, 20560, 0, 0, 0}, {24320, 4144, 0, 0, 0, 0, 0}, {275, 68, 4369, 0, 0, 0, 0}, {34, 514, 1360, 4112, 0, 0, 0}, {3072, 819, 4096, 0, 0, 0, 0}, {1032, 4148, 5888, 68, 0, 0, 0}, {1375, 4192, 21845, 0, 0, 0, 0}, {4874, 4150, 4176, 5376, 0, 0, 0}, {5951, 14135, 4160, 0, 0, 0, 0}, {5960, 1904, 16448, 0, 0, 0, 0}, {4106, 5427, 5632, 5461, 0, 0, 0}, {4154, 12336, 1360, 0, 0, 0, 0}, {4104, 819, 68, 5120, 0, 0, 0}, {4156, 4864, 16384, 0, 0, 0, 0}, {4170, 34, 514, 5397, 0, 0, 0}, {284, 34, 514, 68, 1300, 4352, 0}, {4288, 7999, 8192, 20480, 0, 0, 0}, {3840, 4160, 0, 0, 0, 0, 0}, {34, 261, 4369, 0, 0, 0, 0}, {4162, 21760, 0, 0, 0, 0, 0}, {16460, 4208, 17219, 0, 0, 0, 0}, {768, 68, 1024, 4096, 0, 0, 0}, {170, 1285, 4112, 0, 0, 0, 0}, {4166, 21760, 0, 0, 0, 0, 0}, {16456, 4144, 18247, 0, 0, 0, 0}, {4168, 1792, 20480, 0, 0, 0, 0}, {4124, 102, 4883, 1285, 0, 0, 0}, {1290, 8224, 5440, 0, 0, 0, 0}, {783, 4915, 68, 1024, 0, 0, 0}, {4172, 768, 20480, 0, 0, 0, 0}, {4120, 34, 4626, 1285, 0, 0, 0}, {266, 34, 768, 68, 1024, 4352, 0}, {4272, 3855, 12336, 16448, 0, 0, 0}, {16128, 4176, 0, 0, 0, 0, 0}, {34, 277, 4369, 0, 0, 0, 0}, {4178, 21760, 0, 0, 0, 0, 0}, {16396, 4192, 21331, 0, 0, 0, 0}, {816, 68, 1028, 4112, 0, 0, 0}, {2560, 1365, 4096, 0, 0, 0, 0}, {4182, 21760, 0, 0, 0, 0, 0}, {16392, 4128, 22359, 0, 0, 0, 0}, {4184, 1904, 20560, 0, 0, 0, 0}, {4108, 1331, 5632, 1365, 0, 0, 0}, {4186, 8192, 5376, 0, 0, 0, 0}, {4140, 4883, 68, 1028, 0, 0, 0}, {4188, 816, 20560, 0, 0, 0, 0}, {4104, 34, 4608, 1365, 0, 0, 0}, {282, 34, 786, 68, 1028, 4352, 0}, {4256, 8031, 12288, 16384, 0, 0, 0}, {3840, 4192, 0, 0, 0, 0, 0}, {263, 68, 4369, 0, 0, 0, 0}, {520, 34, 4160, 1280, 0, 0, 0}, {783, 13107, 4176, 0, 0, 0, 0}, {1032, 4128, 768, 68, 0, 0, 0}, {1295, 4144, 21845, 0, 0, 0, 0}, {102, 768, 1280, 4096, 0, 0, 0}, {136, 1799, 4112, 0, 0, 0, 0}, {1800, 5984, 16448, 0, 0, 0, 0}, {1295, 5427, 1536, 5461, 0, 0, 0}, {4202, 8192, 1280, 0, 0, 0, 0}, {4124, 4883, 68, 5140, 0, 0, 0}, {4204, 768, 16384, 0, 0, 0, 0}, {4122, 34, 4626, 5397, 0, 0, 0}, {264, 34, 768, 68, 1280, 4352, 0}, {4240, 3855, 12336, 20560, 0, 0, 0}, {24320, 4208, 0, 0, 0, 0, 0}, {279, 68, 4369, 0, 0, 0, 0}, {522, 34, 4176, 5376, 0, 0, 0}, {831, 13107, 4160, 0, 0, 0, 0}, {1036, 4144, 4864, 68, 0, 0, 0}, {1375, 4128, 21845, 0, 0, 0, 0}, {1334, 1542, 1360, 4112, 0, 0, 0}, {2048, 1911, 4096, 0, 0, 0, 0}, {4216, 5888, 16384, 0, 0, 0, 0}, {4170, 102, 4883, 5397, 0, 0, 0}, {5418, 8224, 1360, 0, 0, 0, 0}, {4108, 4915, 68, 5120, 0, 0, 0}, {4940, 816, 16448, 0, 0, 0, 0}, {4106, 34, 4608, 5461, 0, 0, 0}, {280, 34, 786, 68, 1300, 4352, 0}, {4224, 8063, 12288, 20480, 0, 0, 0}, {4224, 3840, 12288, 20480, 0, 0, 0}, {265, 34, 771, 68, 1285, 4369, 0}, {4106, 34, 4608, 5376, 0, 0, 0}, {4220, 771, 16448, 0, 0, 0, 0}, {4108, 4864, 68, 5120, 0, 0, 0}, {4218, 8224, 1285, 0, 0, 0, 0}, {1290, 5414, 1542, 5440, 0, 0, 0}, {1807, 6007, 16384, 0, 0, 0, 0}, {136, 1792, 4096, 0, 0, 0, 0}, {102, 771, 1285, 4112, 0, 0, 0}, {1290, 4128, 21760, 0, 0, 0, 0}, {1036, 4144, 771, 68, 0, 0, 0}, {780, 13056, 4160, 0, 0, 0, 0}, {522, 34, 4176, 1285, 0, 0, 0}, {262, 68, 4352, 0, 0, 0, 0}, {3855, 4208, 0, 0, 0, 0, 0}, {4240, 8032, 12336, 20560, 0, 0, 0}, {281, 34, 785, 68, 1297, 4369, 0}, {4122, 34, 4626, 5440, 0, 0, 0}, {4959, 819, 16384, 0, 0, 0, 0}, {4124, 4896, 68, 5140, 0, 0, 0}, {5439, 8192, 1365, 0, 0, 0, 0}, {4186, 102, 4864, 5376, 0, 0, 0}, {4200, 5911, 16448, 0, 0, 0, 0}, {2056, 1904, 4112, 0, 0, 0, 0}, {1331, 1536, 1365, 4096, 0, 0, 0}, {1370, 4144, 21760, 0, 0, 0, 0}, {1032, 4128, 4883, 68, 0, 0, 0}, {828, 13056, 4176, 0, 0, 0, 0}, {520, 34, 4160, 5397, 0, 0, 0}, {278, 68, 4352, 0, 0, 0, 0}, {24415, 4192, 0, 0, 0, 0, 0}, {4256, 3840, 12288, 16384, 0, 0, 0}, {267, 34, 771, 68, 1028, 4369, 0}, {4104, 34, 4608, 1280, 0, 0, 0}, {4188, 771, 20560, 0, 0, 0, 0}, {780, 4896, 68, 1028, 0, 0, 0}, {1295, 8192, 5461, 0, 0, 0, 0}, {4108, 102, 4864, 1280, 0, 0, 0}, {4184, 1799, 20560, 0, 0, 0, 0}, {16392, 4128, 18176, 0, 0, 0, 0}, {4182, 21845, 0, 0, 0, 0, 0}, {170, 1280, 4096, 0, 0, 0, 0}, {771, 68, 1028, 4112, 0, 0, 0}, {16396, 4192, 17152, 0, 0, 0, 0}, {4178, 21845, 0, 0, 0, 0, 0}, {34, 260, 4352, 0, 0, 0, 0}, {3855, 4176, 0, 0, 0, 0, 0}, {4272, 8000, 12336, 16448, 0, 0, 0}, {283, 34, 785, 68, 1024, 4369, 0}, {4120, 34, 4626, 1360, 0, 0, 0}, {4172, 819, 20480, 0, 0, 0, 0}, {4156, 4864, 68, 1024, 0, 0, 0}, {4170, 8224, 5397, 0, 0, 0, 0}, {4124, 1334, 5654, 1360, 0, 0, 0}, {4168, 1911, 20480, 0, 0, 0, 0}, {16456, 4144, 22272, 0, 0, 0, 0}, {4166, 21845, 0, 0, 0, 0, 0}, {2570, 1360, 4112, 0, 0, 0, 0}, {819, 68, 1024, 4096, 0, 0, 0}, {16460, 4208, 21248, 0, 0, 0, 0}, {4162, 21845, 0, 0, 0, 0, 0}, {34, 276, 4352, 0, 0, 0, 0}, {16191, 4160, 0, 0, 0, 0, 0}, {4288, 3840, 8192, 20480, 0, 0, 0}, {269, 34, 514, 68, 1285, 4369, 0}, {1290, 34, 514, 5440, 0, 0, 0}, {783, 4915, 16384, 0, 0, 0, 0}, {4104, 768, 68, 5120, 0, 0, 0}, {4154, 12336, 1285, 0, 0, 0, 0}, {4106, 102, 768, 5376, 0, 0, 0}, {4152, 1799, 16448, 0, 0, 0, 0}, {1800, 9984, 4160, 0, 0, 0, 0}, {783, 4150, 4176, 1285, 0, 0, 0}, {1290, 4192, 21760, 0, 0, 0, 0}, {1032, 4148, 1799, 68, 0, 0, 0}, {204, 768, 4096, 0, 0, 0, 0}, {34, 514, 1285, 4112, 0, 0, 0}, {258, 68, 4352, 0, 0, 0, 0}, {3855, 4144, 0, 0, 0, 0, 0}, {4304, 7968, 8224, 20560, 0, 0, 0}, {285, 34, 512, 68, 1297, 4369, 0}, {4186, 34, 512, 5376, 0, 0, 0}, {4140, 4883, 16448, 0, 0, 0, 0}, {4120, 816, 68, 5140, 0, 0, 0}, {4138, 12288, 1365, 0, 0, 0, 0}, {4122, 5414, 5654, 5440, 0, 0, 0}, {5983, 1911, 16384, 0, 0, 0, 0}, {5928, 14080, 4176, 0, 0, 0, 0}, {4889, 4134, 4160, 5397, 0, 0, 0}, {1370, 4208, 21760, 0, 0, 0, 0}, {1036, 4132, 5911, 68, 0, 0, 0}, {3084, 816, 4112, 0, 0, 0, 0}, {34, 512, 1365, 4096, 0, 0, 0}, {274, 68, 4352, 0, 0, 0, 0}, {24415, 4128, 0, 0, 0, 0, 0}, {4320, 3840, 8224, 16448, 0, 0, 0}, {271, 34, 512, 68, 1024, 4369, 0}, {4168, 34, 512, 1280, 0, 0, 0}, {4124, 4883, 20560, 0, 0, 0, 0}, {4136, 768, 68, 1024, 0, 0, 0}, {4122, 12336, 5397, 0, 0, 0, 0}, {4172, 102, 768, 1280, 0, 0, 0}, {4120, 5911, 20560, 0, 0, 0, 0}, {16456, 4192, 1792, 0, 0, 0, 0}, {4118, 21845, 0, 0, 0, 0, 0}, {8234, 4160, 1280, 0, 0, 0, 0}, {13107, 4116, 0, 0, 0, 0, 0}, {16460, 4128, 768, 0, 0, 0, 0}, {4114, 21845, 0, 0, 0, 0, 0}, {34, 68, 256, 0, 0, 0, 0}, {3855, 4112, 0, 0, 0, 0, 0}, {4336, 7936, 8192, 16384, 0, 0, 0}, {287, 34, 514, 68, 1028, 4369, 0}, {5384, 34, 514, 1360, 0, 0, 0}, {4108, 4915, 20480, 0, 0, 0, 0}, {4872, 816, 68, 1028, 0, 0, 0}, {4106, 12288, 5461, 0, 0, 0, 0}, {5388, 1334, 1542, 1360, 0, 0, 0}, {4104, 6007, 20480, 0, 0, 0, 0}, {16392, 4208, 5888, 0, 0, 0, 0}, {4102, 21845, 0, 0, 0, 0, 0}, {8202, 4176, 5376, 0, 0, 0, 0}, {13107, 4100, 0, 0, 0, 0, 0}, {16396, 4144, 4864, 0, 0, 0, 0}, {4098, 21845, 0, 0, 0, 0, 0}, {514, 1028, 272, 0, 0, 0, 0}, {4095, 4096, 0, 0, 0, 0, 0}, {61440, 0, 0, 0, 0, 0, 0}, {2, 4, 17, 257, 0, 0, 0}, {2, 20480, 0, 0, 0, 0, 0}, {12, 51, 771, 0, 0, 0, 0}, {12288, 4, 0, 0, 0, 0, 0}, {10, 85, 1285, 0, 0, 0, 0}, {6, 20480, 0, 0, 0, 0, 0}, {8, 119, 1799, 0, 0, 0, 0}, {8, 28672, 0, 0, 0, 0, 0}, {6, 85, 1285, 0, 0, 0, 0}, {10, 20480, 0, 0, 0, 0, 0}, {51, 771, 4, 0, 0, 0, 0}, {12, 12288, 0, 0, 0, 0, 0}, {2, 85, 1285, 0, 0, 0, 0}, {2, 4, 4096, 0, 0, 0, 0}, {255, 3855, 0, 0, 0, 0, 0}, {32, 64, 4112, 0, 0, 0, 0}, {3840, 17, 0, 0, 0, 0, 0}, {72, 34, 4626, 0, 0, 0, 0}, {19, 20480, 0, 0, 0, 0, 0}, {40, 68, 5140, 0, 0, 0, 0}, {12288, 21, 0, 0, 0, 0, 0}, {76, 102, 5654, 0, 0, 0, 0}, {23, 20480, 0, 0, 0, 0, 0}, {72, 96, 20560, 0, 0, 0, 0}, {25, 51, 5632, 85, 0, 0, 0}, {42, 12336, 64, 0, 0, 0, 0}, {27, 51, 68, 5120, 0, 0, 0}, {76, 32, 20560, 0, 0, 0, 0}, {29, 34, 4608, 85, 0, 0, 0}, {7710, 34, 68, 0, 0, 0, 0}, {31, 32, 64, 4096, 0, 0, 0}, {32, 20480, 0, 0, 0, 0, 0}, {12, 771, 17, 0, 0, 0, 0}, {23040, 34, 0, 0, 0, 0, 0}, {19, 64, 4112, 0, 0, 0, 0}, {12, 36, 68, 5120, 0, 0, 0}, {42, 9509, 85, 0, 0, 0, 0}, {12, 38, 5632, 64, 0, 0, 0}, {95, 119, 20560, 0, 0, 0, 0}, {40, 20480, 0, 0, 0, 0, 0}, {51, 771, 21, 0, 0, 0, 0}, {42, 28672, 0, 0, 0, 0, 0}, {23, 68, 5140, 0, 0, 0, 0}, {12, 32, 64, 4096, 0, 0, 0}, {3855, 34, 85, 0, 0, 0, 0}, {12, 34, 4608, 68, 0, 0, 0}, {95, 32, 20560, 0, 0, 0, 0}, {192, 12336, 0, 0, 0, 0, 0}, {2, 1280, 17, 0, 0, 0, 0}, {2, 64, 4112, 0, 0, 0, 0}, {3840, 51, 0, 0, 0, 0, 0}, {8, 13364, 68, 0, 0, 0, 0}, {10, 53, 85, 1280, 0, 0, 0}, {10, 102, 20560, 0, 0, 0, 0}, {8, 55, 1792, 64, 0, 0, 0}, {8, 12336, 64, 0, 0, 0, 0}, {10, 51, 85, 1280, 0, 0, 0}, {10, 96, 20560, 0, 0, 0, 0}, {8, 51, 1792, 68, 0, 0, 0}, {204, 15420, 0, 0, 0, 0, 0}, {2, 21, 4096, 0, 0, 0, 0}, {2, 68, 5140, 0, 0, 0, 0}, {63, 12288, 0, 0, 0, 0, 0}, {12288, 64, 0, 0, 0, 0, 0}, {10, 1285, 17, 0, 0, 0, 0}, {66, 20480, 0, 0, 0, 0, 0}, {76, 51, 17219, 0, 0, 0, 0}, {15360, 68, 0, 0, 0, 0, 0}, {32, 21, 4112, 0, 0, 0, 0}, {70, 20480, 0, 0, 0, 0, 0}, {72, 119, 18247, 0, 0, 0, 0}, {72, 12288, 0, 0, 0, 0, 0}, {19, 85, 1285, 0, 0, 0, 0}, {10, 32, 64, 4096, 0, 0, 0}, {3855, 51, 68, 0, 0, 0, 0}, {76, 28672, 0, 0, 0, 0, 0}, {23, 85, 1285, 0, 0, 0, 0}, {10, 34, 68, 5120, 0, 0, 0}, {63, 12336, 64, 0, 0, 0, 0}, {160, 20560, 0, 0, 0, 0, 0}, {768, 4, 17, 0, 0, 0, 0}, {8, 34, 21074, 0, 0, 0, 0}, {83, 20480, 0, 0, 0, 0, 0}, {32, 4, 4112, 0, 0, 0, 0}, {3840, 85, 0, 0, 0, 0, 0}, {12, 102, 22102, 0, 0, 0, 0}, {87, 20480, 0, 0, 0, 0, 0}, {8, 32, 20560, 0, 0, 0, 0}, {12, 51, 768, 85, 0, 0, 0}, {170, 23130, 0, 0, 0, 0, 0}, {19, 4, 4096, 0, 0, 0, 0}, {12, 96, 20560, 0, 0, 0, 0}, {8, 34, 1792, 85, 0, 0, 0}, {34, 4626, 4, 0, 0, 0, 0}, {95, 20480, 0, 0, 0, 0, 0}, {96, 20480, 0, 0, 0, 0, 0}, {8, 1799, 17, 0, 0, 0, 0}, {8, 34, 4608, 64, 0, 0, 0}, {95, 51, 20560, 0, 0, 0, 0}, {8, 32, 68, 5120, 0, 0, 0}, {63, 12336, 85, 0, 0, 0, 0}, {23040, 102, 0, 0, 0, 0, 0}, {23, 64, 4112, 0, 0, 0, 0}, {8, 32, 64, 4096, 0, 0, 0}, {3855, 51, 85, 0, 0, 0, 0}, {106, 12288, 0, 0, 0, 0, 0}, {19, 68, 5140, 0, 0, 0, 0}, {108, 20480, 0, 0, 0, 0, 0}, {34, 4626, 21, 0, 0, 0, 0}, {8, 34, 5632, 68, 0, 0, 0}, {95, 96, 20560, 0, 0, 0, 0}, {128, 28784, 0, 0, 0, 0, 0}, {6, 1280, 17, 0, 0, 0, 0}, {10, 34, 20560, 0, 0, 0, 0}, {12, 51, 768, 64, 0, 0, 0}, {12, 12336, 68, 0, 0, 0, 0}, {10, 32, 85, 1280, 0, 0, 0}, {6, 64, 4112, 0, 0, 0, 0}, {3840, 119, 0, 0, 0, 0, 0}, {136, 30840, 0, 0, 0, 0, 0}, {19, 21, 4096, 0, 0, 0, 0}, {10, 32, 20560, 0, 0, 0, 0}, {12, 51, 768, 68, 0, 0, 0}, {12, 12336, 64, 0, 0, 0, 0}, {10, 34, 85, 1280, 0, 0, 0}, {6, 68, 5140, 0, 0, 0, 0}, {127, 28672, 0, 0, 0, 0, 0}, {128, 28672, 0, 0, 0, 0, 0}, {6, 1285, 17, 0, 0, 0, 0}, {10, 34, 20480, 0, 0, 0, 0}, {12, 51, 771, 64, 0, 0, 0}, {12, 12288, 68, 0, 0, 0, 0}, {10, 32, 85, 1285, 0, 0, 0}, {6, 64, 4096, 0, 0, 0, 0}, {3855, 119, 0, 0, 0, 0, 0}, {136, 30720, 0, 0, 0, 0, 0}, {19, 21, 4112, 0, 0, 0, 0}, {10, 32, 20480, 0, 0, 0, 0}, {12, 51, 771, 68, 0, 0, 0}, {12, 12288, 64, 0, 0, 0, 0}, {10, 34, 85, 1285, 0, 0, 0}, {6, 68, 5120, 0, 0, 0, 0}, {127, 28784, 0, 0, 0, 0, 0}, {96, 20560, 0, 0, 0, 0, 0}, {8, 1792, 17, 0, 0, 0, 0}, {8, 34, 4626, 64, 0, 0, 0}, {95, 51, 20480, 0, 0, 0, 0}, {8, 32, 68, 5140, 0, 0, 0}, {63, 12288, 85, 0, 0, 0, 0}, {23130, 102, 0, 0, 0, 0, 0}, {23, 64, 4096, 0, 0, 0, 0}, {8, 32, 64, 4112, 0, 0, 0}, {3840, 51, 85, 0, 0, 0, 0}, {106, 12336, 0, 0, 0, 0, 0}, {19, 68, 5120, 0, 0, 0, 0}, {108, 20560, 0, 0, 0, 0, 0}, {34, 4608, 21, 0, 0, 0, 0}, {8, 34, 5654, 68, 0, 0, 0}, {95, 96, 20480, 0, 0, 0, 0}, {160, 20480, 0, 0, 0, 0, 0}, {771, 4, 17, 0, 0, 0, 0}, {8, 34, 20992, 0, 0, 0, 0}, {83, 20560, 0, 0, 0, 0, 0}, {32, 4, 4096, 0, 0, 0, 0}, {3855, 85, 0, 0, 0, 0, 0}, {12, 102, 22016, 0, 0, 0, 0}, {87, 20560, 0, 0, 0, 0, 0}, {8, 32, 20480, 0, 0, 0, 0}, {12, 51, 771, 85, 0, 0, 0}, {170, 23040, 0, 0, 0, 0, 0}, {19, 4, 4112, 0, 0, 0, 0}, {12, 96, 20480, 0, 0, 0, 0}, {8, 34, 1799, 85, 0, 0, 0}, {34, 4608, 4, 0, 0, 0, 0}, {95, 20560, 0, 0, 0, 0, 0}, {12336, 64, 0, 0, 0, 0, 0}, {10, 1280, 17, 0, 0, 0, 0}, {66, 20560, 0, 0, 0, 0, 0}, {76, 51, 17152, 0, 0, 0, 0}, {15420, 68, 0, 0, 0, 0, 0}, {32, 21, 4096, 0, 0, 0, 0}, {70, 20560, 0, 0, 0, 0, 0}, {72, 119, 18176, 0, 0, 0, 0}, {72, 12336, 0, 0, 0, 0, 0}, {19, 85, 1280, 0, 0, 0, 0}, {10, 32, 64, 4112, 0, 0, 0}, {3840, 51, 68, 0, 0, 0, 0}, {76, 28784, 0, 0, 0, 0, 0}, {23, 85, 1280, 0, 0, 0, 0}, {10, 34, 68, 5140, 0, 0, 0}, {63, 12288, 64, 0, 0, 0, 0}, {192, 12288, 0, 0, 0, 0, 0}, {2, 1285, 17, 0, 0, 0, 0}, {2, 64, 4096, 0, 0, 0, 0}, {3855, 51, 0, 0, 0, 0, 0}, {8, 13312, 68, 0, 0, 0, 0}, {10, 53, 85, 1285, 0, 0, 0}, {10, 102, 20480, 0, 0, 0, 0}, {8, 55, 1799, 64, 0, 0, 0}, {8, 12288, 64, 0, 0, 0, 0}, {10, 51, 85, 1285, 0, 0, 0}, {10, 96, 20480, 0, 0, 0, 0}, {8, 51, 1799, 68, 0, 0, 0}, {204, 15360, 0, 0, 0, 0, 0}, {2, 21, 4112, 0, 0, 0, 0}, {2, 68, 5120, 0, 0, 0, 0}, {63, 12336, 0, 0, 0, 0, 0}, {32, 20560, 0, 0, 0, 0, 0}, {12, 768, 17, 0, 0, 0, 0}, {23130, 34, 0, 0, 0, 0, 0}, {19, 64, 4096, 0, 0, 0, 0}, {12, 36, 68, 5140, 0, 0, 0}, {42, 9472, 85, 0, 0, 0, 0}, {12, 38, 5654, 64, 0, 0, 0}, {95, 119, 20480, 0, 0, 0, 0}, {40, 20560, 0, 0, 0, 0, 0}, {51, 768, 21, 0, 0, 0, 0}, {42, 28784, 0, 0, 0, 0, 0}, {23, 68, 5120, 0, 0, 0, 0}, {12, 32, 64, 4112, 0, 0, 0}, {3840, 34, 85, 0, 0, 0, 0}, {12, 34, 4626, 68, 0, 0, 0}, {95, 32, 20480, 0, 0, 0, 0}, {32, 64, 4096, 0, 0, 0, 0}, {3855, 17, 0, 0, 0, 0, 0}, {72, 34, 4608, 0, 0, 0, 0}, {19, 20560, 0, 0, 0, 0, 0}, {40, 68, 5120, 0, 0, 0, 0}, {12336, 21, 0, 0, 0, 0, 0}, {76, 102, 5632, 0, 0, 0, 0}, {23, 20560, 0, 0, 0, 0, 0}, {72, 96, 20480, 0, 0, 0, 0}, {25, 51, 5654, 85, 0, 0, 0}, {42, 12288, 64, 0, 0, 0, 0}, {27, 51, 68, 5140, 0, 0, 0}, {76, 32, 20480, 0, 0, 0, 0}, {29, 34, 4626, 85, 0, 0, 0}, {7680, 34, 68, 0, 0, 0, 0}, {31, 32, 64, 4112, 0, 0, 0}, {61680, 0, 0, 0, 0, 0, 0}, {2, 4, 17, 256, 0, 0, 0}, {2, 20560, 0, 0, 0, 0, 0}, {12, 51, 768, 0, 0, 0, 0}, {12336, 4, 0, 0, 0, 0, 0}, {10, 85, 1280, 0, 0, 0, 0}, {6, 20560, 0, 0, 0, 0, 0}, {8, 119, 1792, 0, 0, 0, 0}, {8, 28784, 0, 0, 0, 0, 0}, {6, 85, 1280, 0, 0, 0, 0}, {10, 20560, 0, 0, 0, 0, 0}, {51, 768, 4, 0, 0, 0, 0}, {12, 12336, 0, 0, 0, 0, 0}, {2, 85, 1280, 0, 0, 0, 0}, {2, 4, 4112, 0, 0, 0, 0}, {255, 3840, 0, 0, 0, 0, 0}, {512, 1024, 4352, 0, 0, 0, 0}, {240, 257, 0, 0, 0, 0, 0}, {1032, 4386, 514, 0, 0, 0, 0}, {259, 20480, 0, 0, 0, 0, 0}, {520, 4420, 1028, 0, 0, 0, 0}, {12288, 261, 0, 0, 0, 0, 0}, {1036, 4454, 1542, 0, 0, 0, 0}, {263, 20480, 0, 0, 0, 0, 0}, {1032, 1536, 21760, 0, 0, 0, 0}, {265, 4192, 771, 1285, 0, 0, 0}, {522, 13056, 1024, 0, 0, 0, 0}, {267, 771, 4160, 1028, 0, 0, 0}, {1036, 512, 21760, 0, 0, 0, 0}, {269, 4128, 514, 1285, 0, 0, 0}, {4590, 514, 1028, 0, 0, 0, 0}, {271, 512, 1024, 4096, 0, 0, 0}, {3840, 272, 0, 0, 0, 0, 0}, {546, 1092, 4369, 0, 0, 0, 0}, {274, 20480, 0, 0, 0, 0, 0}, {1100, 4403, 4883, 0, 0, 0, 0}, {12288, 276, 0, 0, 0, 0, 0}, {554, 4437, 5397, 0, 0, 0, 0}, {278, 20480, 0, 0, 0, 0, 0}, {1096, 4471, 5911, 0, 0, 0, 0}, {280, 5424, 5632, 1360, 0, 0, 0}, {1100, 1638, 21845, 0, 0, 0, 0}, {282, 816, 4160, 5120, 0, 0, 0}, {552, 13107, 1092, 0, 0, 0, 0}, {284, 4128, 4608, 1360, 0, 0, 0}, {1096, 546, 21845, 0, 0, 0, 0}, {286, 546, 1092, 4096, 0, 0, 0}, {7967, 544, 1088, 0, 0, 0, 0}, {3072, 544, 4352, 0, 0, 0, 0}, {289, 771, 1365, 4369, 0, 0, 0}, {4386, 4864, 16384, 0, 0, 0, 0}, {1375, 291, 771, 4112, 0, 0, 0}, {552, 9252, 4420, 0, 0, 0, 0}, {783, 293, 4437, 5120, 0, 0, 0}, {4940, 4454, 16448, 0, 0, 0, 0}, {5391, 295, 5632, 4176, 0, 0, 0}, {552, 13056, 5376, 0, 0, 0, 0}, {297, 771, 4160, 5397, 0, 0, 0}, {5418, 5888, 17408, 0, 0, 0, 0}, {4427, 4192, 771, 5140, 0, 0, 0}, {3084, 544, 5440, 0, 0, 0, 0}, {783, 546, 1365, 4096, 0, 0, 0}, {5960, 546, 17476, 0, 0, 0, 0}, {4367, 4128, 4608, 5200, 0, 0, 0}, {304, 512, 1280, 4352, 0, 0, 0}, {1220, 514, 4369, 0, 0, 0, 0}, {1290, 306, 514, 4112, 0, 0, 0}, {4403, 512, 16384, 0, 0, 0, 0}, {520, 308, 4420, 1280, 0, 0, 0}, {522, 13621, 4437, 0, 0, 0, 0}, {1290, 310, 1792, 4176, 0, 0, 0}, {520, 4471, 16448, 0, 0, 0, 0}, {520, 816, 4160, 1280, 0, 0, 0}, {522, 13107, 5461, 0, 0, 0, 0}, {1290, 1072, 1792, 5200, 0, 0, 0}, {520, 6007, 17476, 0, 0, 0, 0}, {316, 512, 1280, 4096, 0, 0, 0}, {4573, 514, 5397, 0, 0, 0, 0}, {4382, 4128, 514, 5140, 0, 0, 0}, {5439, 512, 17408, 0, 0, 0, 0}, {2560, 1088, 4352, 0, 0, 0, 0}, {819, 321, 1285, 4369, 0, 0, 0}, {1096, 4386, 16962, 0, 0, 0, 0}, {323, 20480, 0, 0, 0, 0, 0}, {8192, 4420, 5376, 0, 0, 0, 0}, {831, 325, 1285, 4112, 0, 0, 0}, {1100, 4454, 17990, 0, 0, 0, 0}, {327, 20480, 0, 0, 0, 0, 0}, {1096, 4864, 21760, 0, 0, 0, 0}, {329, 4128, 4883, 1285, 0, 0, 0}, {2570, 4896, 1088, 0, 0, 0, 0}, {1295, 819, 1092, 4096, 0, 0, 0}, {1100, 5888, 21760, 0, 0, 0, 0}, {333, 4192, 4626, 1285, 0, 0, 0}, {5928, 8738, 1092, 0, 0, 0, 0}, {4367, 4656, 4160, 5120, 0, 0, 0}, {768, 336, 1024, 4352, 0, 0, 0}, {674, 1028, 4369, 0, 0, 0, 0}, {338, 20480, 0, 0, 0, 0, 0}, {1036, 4403, 21331, 0, 0, 0, 0}, {780, 340, 1028, 4112, 0, 0, 0}, {8192, 4437, 1024, 0, 0, 0, 0}, {342, 20480, 0, 0, 0, 0, 0}, {1032, 4471, 22359, 0, 0, 0, 0}, {1032, 4128, 768, 1360, 0, 0, 0}, {1036, 4915, 21845, 0, 0, 0, 0}, {346, 768, 1024, 4096, 0, 0, 0}, {4539, 4883, 1028, 0, 0, 0, 0}, {1036, 5424, 1792, 1360, 0, 0, 0}, {1032, 6007, 21845, 0, 0, 0, 0}, {4382, 4626, 4160, 1028, 0, 0, 0}, {4959, 8704, 1024, 0, 0, 0, 0}, {2048, 1632, 4352, 0, 0, 0, 0}, {1076, 1799, 1365, 4369, 0, 0, 0}, {5960, 4386, 16448, 0, 0, 0, 0}, {5391, 4403, 4608, 4176, 0, 0, 0}, {5928, 8224, 4420, 0, 0, 0, 0}, {4879, 4144, 4437, 5120, 0, 0, 0}, {4454, 5888, 16384, 0, 0, 0, 0}, {1375, 359, 1799, 4112, 0, 0, 0}, {2056, 4896, 5440, 0, 0, 0, 0}, {1807, 819, 1365, 4096, 0, 0, 0}, {5482, 4864, 17408, 0, 0, 0, 0}, {4427, 4128, 4883, 5140, 0, 0, 0}, {4972, 8704, 5376, 0, 0, 0, 0}, {4397, 4626, 4160, 5397, 0, 0, 0}, {4940, 1638, 17476, 0, 0, 0, 0}, {4367, 1072, 5632, 5200, 0, 0, 0}, {368, 768, 1280, 4352, 0, 0, 0}, {1156, 1542, 4369, 0, 0, 0, 0}, {1290, 4386, 768, 4176, 0, 0, 0}, {1548, 4403, 16448, 0, 0, 0, 0}, {780, 4144, 4420, 1280, 0, 0, 0}, {1546, 8224, 4437, 0, 0, 0, 0}, {1290, 374, 1542, 4112, 0, 0, 0}, {4471, 1536, 16384, 0, 0, 0, 0}, {376, 768, 1280, 4096, 0, 0, 0}, {4505, 4883, 5397, 0, 0, 0, 0}, {1290, 4128, 768, 5200, 0, 0, 0}, {1548, 4915, 17476, 0, 0, 0, 0}, {780, 4656, 4160, 1280, 0, 0, 0}, {1546, 8738, 5461, 0, 0, 0, 0}, {4382, 4192, 4626, 5140, 0, 0, 0}, {5503, 1536, 17408, 0, 0, 0, 0}, {1152, 1536, 4352, 0, 0, 0, 0}, {369, 771, 1285, 4369, 0, 0, 0}, {1546, 4386, 16384, 0, 0, 0, 0}, {1295, 4403, 771, 4160, 0, 0, 0}, {1548, 8192, 4420, 0, 0, 0, 0}, {783, 4128, 4437, 1285, 0, 0, 0}, {4454, 1542, 16448, 0, 0, 0, 0}, {1295, 375, 1536, 4096, 0, 0, 0}, {4488, 4864, 5376, 0, 0, 0, 0}, {377, 771, 1285, 4112, 0, 0, 0}, {1546, 4896, 17408, 0, 0, 0, 0}, {1295, 4144, 771, 5188, 0, 0, 0}, {1548, 8704, 5440, 0, 0, 0, 0}, {783, 4642, 4176, 1285, 0, 0, 0}, {5482, 1542, 17476, 0, 0, 0, 0}, {4367, 4208, 4608, 5120, 0, 0, 0}, {1072, 1792, 1360, 4352, 0, 0, 0}, {2056, 1638, 4369, 0, 0, 0, 0}, {5402, 4386, 4626, 4160, 0, 0, 0}, {5983, 4403, 16384, 0, 0, 0, 0}, {4892, 4128, 4420, 5140, 0, 0, 0}, {5951, 8192, 4437, 0, 0, 0, 0}, {1370, 358, 1792, 4096, 0, 0, 0}, {4471, 5911, 16448, 0, 0, 0, 0}, {1800, 816, 1360, 4112, 0, 0, 0}, {2048, 4915, 5461, 0, 0, 0, 0}, {4442, 4144, 4864, 5120, 0, 0, 0}, {5503, 4883, 17476, 0, 0, 0, 0}, {4412, 4608, 4176, 5376, 0, 0, 0}, {4991, 8738, 5397, 0, 0, 0, 0}, {4382, 1076, 5654, 5188, 0, 0, 0}, {4959, 1632, 17408, 0, 0, 0, 0}, {672, 1024, 4352, 0, 0, 0, 0}, {771, 337, 1028, 4369, 0, 0, 0}, {1032, 4386, 21248, 0, 0, 0, 0}, {339, 20560, 0, 0, 0, 0, 0}, {8224, 4420, 1028, 0, 0, 0, 0}, {783, 341, 1024, 4096, 0, 0, 0}, {1036, 4454, 22272, 0, 0, 0, 0}, {343, 20560, 0, 0, 0, 0, 0}, {1032, 4896, 21760, 0, 0, 0, 0}, {1036, 4144, 771, 1365, 0, 0, 0}, {4522, 4864, 1024, 0, 0, 0, 0}, {347, 771, 1028, 4112, 0, 0, 0}, {1036, 5984, 21760, 0, 0, 0, 0}, {1032, 5413, 1799, 1365, 0, 0, 0}, {4940, 8738, 1028, 0, 0, 0, 0}, {4367, 4608, 4176, 1024, 0, 0, 0}, {816, 320, 1280, 4352, 0, 0, 0}, {2570, 1092, 4369, 0, 0, 0, 0}, {322, 20560, 0, 0, 0, 0, 0}, {1100, 4403, 16896, 0, 0, 0, 0}, {828, 324, 1280, 4096, 0, 0, 0}, {8224, 4437, 5397, 0, 0, 0, 0}, {326, 20560, 0, 0, 0, 0, 0}, {1096, 4471, 17920, 0, 0, 0, 0}, {328, 4144, 4864, 1280, 0, 0, 0}, {1100, 4883, 21845, 0, 0, 0, 0}, {1290, 816, 1088, 4112, 0, 0, 0}, {2560, 4915, 1092, 0, 0, 0, 0}, {332, 4208, 4608, 1280, 0, 0, 0}, {1096, 5911, 21845, 0, 0, 0, 0}, {4382, 4642, 4176, 5140, 0, 0, 0}, {5951, 8704, 1088, 0, 0, 0, 0}, {1216, 512, 4352, 0, 0, 0, 0}, {305, 514, 1285, 4369, 0, 0, 0}, {4386, 514, 16448, 0, 0, 0, 0}, {1295, 307, 512, 4096, 0, 0, 0}, {520, 13568, 4420, 0, 0, 0, 0}, {522, 309, 4437, 1285, 0, 0, 0}, {522, 4454, 16384, 0, 0, 0, 0}, {1295, 311, 1799, 4160, 0, 0, 0}, {520, 13056, 5440, 0, 0, 0, 0}, {522, 819, 4176, 1285, 0, 0, 0}, {522, 5984, 17408, 0, 0, 0, 0}, {1295, 1076, 1799, 5188, 0, 0, 0}, {4556, 512, 5376, 0, 0, 0, 0}, {317, 514, 1285, 4112, 0, 0, 0}, {5418, 514, 17476, 0, 0, 0, 0}, {4367, 4144, 512, 5120, 0, 0, 0}, {288, 768, 1360, 4352, 0, 0, 0}, {3084, 546, 4369, 0, 0, 0, 0}, {1370, 290, 768, 4096, 0, 0, 0}, {4403, 4883, 16448, 0, 0, 0, 0}, {780, 292, 4420, 5140, 0, 0, 0}, {554, 9216, 4437, 0, 0, 0, 0}, {5402, 294, 5654, 4160, 0, 0, 0}, {4959, 4471, 16384, 0, 0, 0, 0}, {296, 768, 4176, 5376, 0, 0, 0}, {554, 13107, 5397, 0, 0, 0, 0}, {4442, 4208, 768, 5120, 0, 0, 0}, {5439, 5911, 17476, 0, 0, 0, 0}, {780, 544, 1360, 4112, 0, 0, 0}, {3072, 546, 5461, 0, 0, 0, 0}, {4382, 4144, 4626, 5188, 0, 0, 0}, {5983, 544, 17408, 0, 0, 0, 0}, {544, 1088, 4352, 0, 0, 0, 0}, {3855, 273, 0, 0, 0, 0, 0}, {1096, 4386, 4864, 0, 0, 0, 0}, {275, 20560, 0, 0, 0, 0, 0}, {552, 4420, 5376, 0, 0, 0, 0}, {12336, 277, 0, 0, 0, 0, 0}, {1100, 4454, 5888, 0, 0, 0, 0}, {279, 20560, 0, 0, 0, 0, 0}, {1096, 1632, 21760, 0, 0, 0, 0}, {281, 5413, 5654, 1365, 0, 0, 0}, {554, 13056, 1088, 0, 0, 0, 0}, {283, 819, 4176, 5140, 0, 0, 0}, {1100, 544, 21760, 0, 0, 0, 0}, {285, 4144, 4626, 1365, 0, 0, 0}, {7936, 546, 1092, 0, 0, 0, 0}, {287, 544, 1088, 4112, 0, 0, 0}, {240, 256, 0, 0, 0, 0, 0}, {514, 1028, 4369, 0, 0, 0, 0}, {258, 20560, 0, 0, 0, 0, 0}, {1036, 4403, 512, 0, 0, 0, 0}, {12336, 260, 0, 0, 0, 0, 0}, {522, 4437, 1024, 0, 0, 0, 0}, {262, 20560, 0, 0, 0, 0, 0}, {1032, 4471, 1536, 0, 0, 0, 0}, {264, 4208, 768, 1280, 0, 0, 0}, {1036, 1542, 21845, 0, 0, 0, 0}, {266, 768, 4176, 1024, 0, 0, 0}, {520, 13107, 1028, 0, 0, 0, 0}, {268, 4144, 512, 1280, 0, 0, 0}, {1032, 514, 21845, 0, 0, 0, 0}, {270, 514, 1028, 4112, 0, 0, 0}, {4607, 512, 1024, 0, 0, 0, 0}, {512, 20480, 0, 0, 0, 0, 0}, {12, 51, 257, 0, 0, 0, 0}, {20640, 514, 0, 0, 0, 0, 0}, {259, 1024, 4352, 0, 0, 0, 0}, {12, 516, 4160, 1028, 0, 0, 0}, {522, 8789, 1285, 0, 0, 0, 0}, {12, 4192, 518, 1024, 0, 0, 0}, {1295, 1799, 21760, 0, 0, 0, 0}, {520, 20480, 0, 0, 0, 0, 0}, {51, 771, 261, 0, 0, 0, 0}, {522, 28672, 0, 0, 0, 0, 0}, {263, 4420, 1028, 0, 0, 0, 0}, {12, 512, 1024, 4096, 0, 0, 0}, {255, 514, 1285, 0, 0, 0, 0}, {12, 4128, 514, 1028, 0, 0, 0}, {1295, 512, 21760, 0, 0, 0, 0}, {2112, 544, 4112, 0, 0, 0, 0}, {51, 529, 1365, 4369, 0, 0, 0}, {4144, 4626, 16384, 0, 0, 0, 0}, {1375, 51, 531, 4352, 0, 0, 0}, {552, 8772, 5140, 0, 0, 0, 0}, {63, 533, 4160, 5397, 0, 0, 0}, {5180, 5654, 17408, 0, 0, 0, 0}, {4191, 4192, 535, 5376, 0, 0, 0}, {552, 12336, 4176, 0, 0, 0, 0}, {537, 51, 4437, 5120, 0, 0, 0}, {4698, 4208, 16448, 0, 0, 0, 0}, {5147, 51, 5632, 4420, 0, 0, 0}, {7196, 544, 5200, 0, 0, 0, 0}, {541, 546, 1365, 4096, 0, 0, 0}, {5722, 546, 17476, 0, 0, 0, 0}, {4127, 4128, 4608, 5440, 0, 0, 0}, {23040, 544, 0, 0, 0, 0, 0}, {274, 1092, 4369, 0, 0, 0, 0}, {546, 20480, 0, 0, 0, 0, 0}, {12, 771, 272, 0, 0, 0, 0}, {12, 5156, 5632, 1092, 0, 0, 0}, {1370, 1904, 21845, 0, 0, 0, 0}, {12, 550, 4160, 5120, 0, 0, 0}, {552, 10023, 1360, 0, 0, 0, 0}, {552, 28672, 0, 0, 0, 0, 0}, {278, 4437, 5397, 0, 0, 0, 0}, {554, 20480, 0, 0, 0, 0, 0}, {51, 771, 276, 0, 0, 0, 0}, {12, 4128, 4608, 1088, 0, 0, 0}, {1370, 546, 21845, 0, 0, 0, 0}, {12, 546, 1092, 4096, 0, 0, 0}, {3855, 544, 1360, 0, 0, 0, 0}, {4144, 512, 16384, 0, 0, 0, 0}, {1290, 51, 514, 4369, 0, 0, 0}, {192, 514, 4112, 0, 0, 0, 0}, {51, 512, 1280, 4352, 0, 0, 0}, {520, 5744, 17476, 0, 0, 0, 0}, {1290, 1333, 1792, 5461, 0, 0, 0}, {522, 13878, 5200, 0, 0, 0, 0}, {520, 567, 4160, 1280, 0, 0, 0}, {520, 4208, 16448, 0, 0, 0, 0}, {1290, 51, 1792, 4437, 0, 0, 0}, {522, 12336, 4176, 0, 0, 0, 0}, {520, 51, 4420, 1280, 0, 0, 0}, {5180, 512, 17408, 0, 0, 0, 0}, {4127, 4128, 514, 5397, 0, 0, 0}, {204, 514, 5140, 0, 0, 0, 0}, {63, 512, 1280, 4096, 0, 0, 0}, {4608, 4160, 0, 0, 0, 0, 0}, {590, 51, 1285, 4369, 0, 0, 0}, {4192, 578, 16384, 0, 0, 0, 0}, {1295, 51, 1859, 4352, 0, 0, 0}, {5632, 5188, 0, 0, 0, 0, 0}, {586, 629, 1285, 4112, 0, 0, 0}, {5228, 582, 17408, 0, 0, 0, 0}, {4111, 4144, 4679, 5376, 0, 0, 0}, {584, 4096, 0, 0, 0, 0, 0}, {51, 4883, 4437, 1285, 0, 0, 0}, {586, 4128, 16448, 0, 0, 0, 0}, {1295, 51, 4864, 4420, 0, 0, 0}, {588, 8704, 5120, 0, 0, 0, 0}, {63, 4626, 4176, 1285, 0, 0, 0}, {590, 5734, 17476, 0, 0, 0, 0}, {1295, 1328, 5888, 5440, 0, 0, 0}, {672, 2048, 8704, 20560, 0, 0, 0}, {12, 51, 768, 337, 1028, 4369, 0}, {20720, 21074, 0, 0, 0, 0, 0}, {339, 1024, 4352, 0, 0, 0, 0}, {12, 612, 1028, 4112, 0, 0, 0}, {1792, 1365, 0, 0, 0, 0, 0}, {12, 4144, 4694, 1024, 0, 0, 0}, {1375, 599, 21760, 0, 0, 0, 0}, {680, 2056, 8224, 20560, 0, 0, 0}, {12, 51, 768, 341, 1024, 4096, 0}, {21082, 8192, 0, 0, 0, 0, 0}, {4115, 4420, 1028, 0, 0, 0, 0}, {12, 4656, 4176, 1024, 0, 0, 0}, {1800, 8738, 1365, 0, 0, 0, 0}, {12, 4208, 4626, 1028, 0, 0, 0}, {1375, 1792, 21760, 0, 0, 0, 0}, {4192, 4608, 16384, 0, 0, 0, 0}, {1370, 51, 1799, 4369, 0, 0, 0}, {2056, 4642, 4160, 0, 0, 0, 0}, {1807, 51, 1360, 4352, 0, 0, 0}, {5708, 612, 17476, 0, 0, 0, 0}, {4111, 4144, 5888, 5461, 0, 0, 0}, {614, 5120, 0, 0, 0, 0, 0}, {63, 1799, 1360, 4112, 0, 0, 0}, {4680, 4128, 16448, 0, 0, 0, 0}, {5135, 51, 4864, 4437, 0, 0, 0}, {618, 4096, 0, 0, 0, 0, 0}, {51, 4883, 4420, 5140, 0, 0, 0}, {5228, 5632, 17408, 0, 0, 0, 0}, {4175, 4208, 4626, 5397, 0, 0, 0}, {5674, 8738, 5188, 0, 0, 0, 0}, {4623, 4656, 4176, 5376, 0, 0, 0}, {2560, 21104, 0, 0, 0, 0, 0}, {1286, 1092, 4369, 0, 0, 0, 0}, {642, 2570, 8738, 20560, 0, 0, 0}, {12, 51, 768, 320, 1280, 4352, 0}, {12, 4144, 1536, 1092, 0, 0, 0}, {1290, 629, 21845, 0, 0, 0, 0}, {12, 1542, 1088, 4112, 0, 0, 0}, {631, 1280, 0, 0, 0, 0, 0}, {21112, 8192, 0, 0, 0, 0, 0}, {4115, 4437, 5397, 0, 0, 0, 0}, {650, 2570, 8224, 20560, 0, 0, 0}, {12, 51, 768, 324, 1280, 4096, 0}, {12, 5168, 1536, 1088, 0, 0, 0}, {1290, 1911, 21845, 0, 0, 0, 0}, {12, 4626, 4176, 5140, 0, 0, 0}, {639, 8704, 1280, 0, 0, 0, 0}, {640, 2560, 8704, 20480, 0, 0, 0}, {12, 51, 771, 321, 1285, 4369, 0}, {2570, 21026, 0, 0, 0, 0, 0}, {1283, 1088, 4352, 0, 0, 0, 0}, {12, 1536, 1092, 4096, 0, 0, 0}, {629, 1285, 0, 0, 0, 0, 0}, {12, 4128, 1542, 1088, 0, 0, 0}, {1295, 631, 21760, 0, 0, 0, 0}, {648, 2560, 8192, 20480, 0, 0, 0}, {12, 51, 771, 325, 1285, 4112, 0}, {21034, 8224, 0, 0, 0, 0, 0}, {4099, 4420, 5376, 0, 0, 0, 0}, {12, 4608, 4160, 5120, 0, 0, 0}, {637, 8738, 1285, 0, 0, 0, 0}, {12, 5156, 1542, 1092, 0, 0, 0}, {1295, 1904, 21760, 0, 0, 0, 0}, {2048, 4656, 4176, 0, 0, 0, 0}, {1800, 51, 1365, 4369, 0, 0, 0}, {4208, 4626, 16448, 0, 0, 0, 0}, {1375, 51, 1792, 4352, 0, 0, 0}, {612, 5140, 0, 0, 0, 0, 0}, {63, 1792, 1365, 4096, 0, 0, 0}, {5722, 614, 17408, 0, 0, 0, 0}, {4127, 4128, 5911, 5440, 0, 0, 0}, {616, 4112, 0, 0, 0, 0, 0}, {51, 4864, 4437, 5120, 0, 0, 0}, {4698, 4144, 16384, 0, 0, 0, 0}, {5147, 51, 4883, 4420, 0, 0, 0}, {5692, 8704, 5200, 0, 0, 0, 0}, {4637, 4642, 4160, 5397, 0, 0, 0}, {5240, 5654, 17476, 0, 0, 0, 0}, {4191, 4192, 4608, 5376, 0, 0, 0}, {20640, 20992, 0, 0, 0, 0, 0}, {338, 1028, 4369, 0, 0, 0, 0}, {674, 2056, 8738, 20480, 0, 0, 0}, {12, 51, 771, 336, 1024, 4352, 0}, {12, 4128, 4676, 1028, 0, 0, 0}, {1370, 597, 21845, 0, 0, 0, 0}, {12, 614, 1024, 4096, 0, 0, 0}, {1799, 1360, 0, 0, 0, 0, 0}, {21000, 8224, 0, 0, 0, 0, 0}, {4099, 4437, 1024, 0, 0, 0, 0}, {682, 2048, 8192, 20480, 0, 0, 0}, {12, 51, 771, 340, 1028, 4112, 0}, {12, 4192, 4608, 1024, 0, 0, 0}, {1370, 1799, 21845, 0, 0, 0, 0}, {12, 4642, 4160, 1028, 0, 0, 0}, {1807, 8704, 1360, 0, 0, 0, 0}, {4208, 576, 16448, 0, 0, 0, 0}, {1290, 51, 1860, 4369, 0, 0, 0}, {4626, 4176, 0, 0, 0, 0, 0}, {588, 51, 1280, 4352, 0, 0, 0}, {5240, 580, 17476, 0, 0, 0, 0}, {4127, 4128, 4693, 5397, 0, 0, 0}, {5654, 5200, 0, 0, 0, 0, 0}, {584, 631, 1280, 4096, 0, 0, 0}, {584, 4144, 16384, 0, 0, 0, 0}, {1290, 51, 4883, 4437, 0, 0, 0}, {586, 4112, 0, 0, 0, 0, 0}, {51, 4864, 4420, 1280, 0, 0, 0}, {588, 5744, 17408, 0, 0, 0, 0}, {1290, 1333, 5911, 5461, 0, 0, 0}, {590, 8738, 5140, 0, 0, 0, 0}, {63, 4608, 4160, 1280, 0, 0, 0}, {192, 512, 4096, 0, 0, 0, 0}, {51, 514, 1285, 4369, 0, 0, 0}, {4128, 514, 16448, 0, 0, 0, 0}, {1295, 51, 512, 4352, 0, 0, 0}, {520, 13824, 5188, 0, 0, 0, 0}, {522, 565, 4176, 1285, 0, 0, 0}, {522, 5734, 17408, 0, 0, 0, 0}, {1295, 1328, 1799, 5440, 0, 0, 0}, {520, 12288, 4160, 0, 0, 0, 0}, {522, 51, 4437, 1285, 0, 0, 0}, {522, 4192, 16384, 0, 0, 0, 0}, {1295, 51, 1799, 4420, 0, 0, 0}, {204, 512, 5120, 0, 0, 0, 0}, {63, 514, 1285, 4112, 0, 0, 0}, {5160, 514, 17476, 0, 0, 0, 0}, {4111, 4144, 512, 5376, 0, 0, 0}, {544, 20560, 0, 0, 0, 0, 0}, {12, 768, 273, 0, 0, 0, 0}, {23130, 546, 0, 0, 0, 0, 0}, {275, 1088, 4352, 0, 0, 0, 0}, {12, 548, 4176, 5140, 0, 0, 0}, {554, 9984, 1365, 0, 0, 0, 0}, {12, 5168, 5654, 1088, 0, 0, 0}, {1375, 1911, 21760, 0, 0, 0, 0}, {552, 20560, 0, 0, 0, 0, 0}, {51, 768, 277, 0, 0, 0, 0}, {554, 28784, 0, 0, 0, 0, 0}, {279, 4420, 5376, 0, 0, 0, 0}, {12, 544, 1088, 4112, 0, 0, 0}, {3840, 546, 1365, 0, 0, 0, 0}, {12, 4144, 4626, 1092, 0, 0, 0}, {1375, 544, 21760, 0, 0, 0, 0}, {4128, 4608, 16448, 0, 0, 0, 0}, {1370, 51, 529, 4369, 0, 0, 0}, {2120, 546, 4096, 0, 0, 0, 0}, {51, 531, 1360, 4352, 0, 0, 0}, {5160, 5632, 17476, 0, 0, 0, 0}, {4175, 4208, 533, 5397, 0, 0, 0}, {554, 8806, 5120, 0, 0, 0, 0}, {63, 535, 4176, 5376, 0, 0, 0}, {4680, 4192, 16384, 0, 0, 0, 0}, {5135, 51, 5654, 4437, 0, 0, 0}, {554, 12288, 4160, 0, 0, 0, 0}, {539, 51, 4420, 5140, 0, 0, 0}, {5708, 544, 17408, 0, 0, 0, 0}, {4111, 4144, 4626, 5461, 0, 0, 0}, {7168, 546, 5188, 0, 0, 0, 0}, {543, 544, 1360, 4112, 0, 0, 0}, {20720, 512, 0, 0, 0, 0, 0}, {258, 1028, 4369, 0, 0, 0, 0}, {514, 20560, 0, 0, 0, 0, 0}, {12, 51, 256, 0, 0, 0, 0}, {12, 4208, 516, 1028, 0, 0, 0}, {1290, 1792, 21845, 0, 0, 0, 0}, {12, 518, 4176, 1024, 0, 0, 0}, {520, 8823, 1280, 0, 0, 0, 0}, {520, 28784, 0, 0, 0, 0, 0}, {262, 4437, 1024, 0, 0, 0, 0}, {522, 20560, 0, 0, 0, 0, 0}, {51, 768, 260, 0, 0, 0, 0}, {12, 4144, 512, 1024, 0, 0, 0}, {1290, 514, 21845, 0, 0, 0, 0}, {12, 514, 1028, 4112, 0, 0, 0}, {255, 512, 1280, 0, 0, 0, 0}, {3072, 13056, 0, 0, 0, 0, 0}, {2, 80, 257, 0, 0, 0, 0}, {2, 1024, 4352, 0, 0, 0, 0}, {240, 771, 0, 0, 0, 0, 0}, {8, 13124, 1028, 0, 0, 0, 0}, {10, 773, 80, 1285, 0, 0, 0}, {10, 1542, 21760, 0, 0, 0, 0}, {8, 112, 775, 1024, 0, 0, 0}, {8, 13056, 1024, 0, 0, 0, 0}, {10, 771, 80, 1285, 0, 0, 0}, {10, 1536, 21760, 0, 0, 0, 0}, {8, 112, 771, 1028, 0, 0, 0}, {13260, 3084, 0, 0, 0, 0, 0}, {2, 261, 4096, 0, 0, 0, 0}, {2, 4420, 1028, 0, 0, 0, 0}, {783, 12288, 0, 0, 0, 0, 0}, {32, 784, 80, 4112, 0, 0, 0}, {3140, 34, 4369, 0, 0, 0, 0}, {90, 34, 786, 4352, 0, 0, 0}, {32, 4883, 16384, 0, 0, 0, 0}, {40, 788, 80, 5140, 0, 0, 0}, {42, 13141, 5397, 0, 0, 0, 0}, {90, 112, 790, 5376, 0, 0, 0}, {40, 5911, 17408, 0, 0, 0, 0}, {792, 816, 80, 5120, 0, 0, 0}, {42, 13107, 5461, 0, 0, 0, 0}, {5402, 5424, 5632, 5440, 0, 0, 0}, {5983, 6007, 17476, 0, 0, 0, 0}, {796, 32, 80, 4096, 0, 0, 0}, {7453, 34, 4437, 0, 0, 0, 0}, {4382, 34, 4608, 4420, 0, 0, 0}, {4959, 32, 16448, 0, 0, 0, 0}, {32, 4864, 16384, 0, 0, 0, 0}, {90, 34, 771, 4369, 0, 0, 0}, {3072, 34, 4352, 0, 0, 0, 0}, {32, 771, 80, 4112, 0, 0, 0}, {5960, 5984, 17476, 0, 0, 0, 0}, {5391, 5413, 5632, 5461, 0, 0, 0}, {42, 9766, 5440, 0, 0, 0, 0}, {783, 807, 80, 5120, 0, 0, 0}, {40, 5888, 17408, 0, 0, 0, 0}, {90, 112, 771, 5397, 0, 0, 0}, {42, 13056, 5376, 0, 0, 0, 0}, {40, 771, 80, 5140, 0, 0, 0}, {4940, 32, 16448, 0, 0, 0, 0}, {4367, 34, 4608, 4437, 0, 0, 0}, {3084, 34, 4420, 0, 0, 0, 0}, {783, 32, 80, 4096, 0, 0, 0}, {3840, 816, 0, 0, 0, 0, 0}, {2, 1092, 4369, 0, 0, 0, 0}, {2, 1280, 272, 0, 0, 0, 0}, {3276, 13107, 0, 0, 0, 0, 0}, {8, 1076, 1792, 1092, 0, 0, 0}, {10, 1632, 21845, 0, 0, 0, 0}, {10, 822, 80, 1280, 0, 0, 0}, {8, 14135, 1088, 0, 0, 0, 0}, {8, 1072, 1792, 1088, 0, 0, 0}, {10, 1638, 21845, 0, 0, 0, 0}, {10, 816, 80, 1280, 0, 0, 0}, {8, 13107, 1092, 0, 0, 0, 0}, {828, 12288, 0, 0, 0, 0, 0}, {2, 4437, 5397, 0, 0, 0, 0}, {2, 276, 4096, 0, 0, 0, 0}, {13311, 16191, 0, 0, 0, 0, 0}, {128, 3136, 13056, 16448, 0, 0, 0}, {10, 34, 785, 80, 1285, 4369, 0}, {10, 34, 1602, 4352, 0, 0, 0}, {112, 835, 16384, 0, 0, 0, 0}, {136, 3140, 13124, 17476, 0, 0, 0}, {10, 32, 789, 80, 1285, 4112, 0}, {10, 32, 4934, 5376, 0, 0, 0}, {120, 839, 17408, 0, 0, 0, 0}, {136, 3144, 13056, 17408, 0, 0, 0}, {10, 32, 787, 80, 1285, 4096, 0}, {10, 32, 4864, 5440, 0, 0, 0}, {843, 819, 17476, 0, 0, 0, 0}, {13132, 16384, 0, 0, 0, 0, 0}, {34, 4626, 4357, 0, 0, 0, 0}, {10, 34, 5888, 4420, 0, 0, 0}, {847, 112, 16448, 0, 0, 0, 0}, {768, 80, 0, 0, 0, 0, 0}, {8, 34, 1028, 4369, 0, 0, 0}, {82, 1024, 4352, 0, 0, 0, 0}, {160, 21331, 0, 0, 0, 0, 0}, {8, 32, 772, 80, 1028, 4112, 0}, {170, 3072, 13141, 21845, 0, 0, 0}, {90, 854, 21760, 0, 0, 0, 0}, {8, 32, 4951, 1024, 0, 0, 0}, {8, 32, 768, 80, 1024, 4096, 0}, {170, 3084, 13107, 21845, 0, 0, 0}, {90, 768, 21760, 0, 0, 0, 0}, {8, 32, 4883, 1028, 0, 0, 0}, {780, 12336, 80, 0, 0, 0, 0}, {8, 34, 4437, 1024, 0, 0, 0}, {4374, 4420, 1028, 0, 0, 0, 0}, {21343, 24576, 0, 0, 0, 0, 0}, {24320, 21344, 0, 0, 0, 0, 0}, {1046, 1092, 4369, 0, 0, 0, 0}, {8, 34, 1088, 4352, 0, 0, 0}, {3855, 819, 80, 0, 0, 0, 0}, {8, 32, 5888, 1092, 0, 0, 0}, {90, 869, 21845, 0, 0, 0, 0}, {170, 3174, 13158, 21760, 0, 0, 0}, {8, 32, 791, 80, 1040, 4112, 0}, {8, 32, 4864, 1088, 0, 0, 0}, {90, 819, 21845, 0, 0, 0, 0}, {170, 3178, 13056, 21760, 0, 0, 0}, {8, 32, 787, 80, 1044, 4096, 0}, {21356, 24576, 0, 0, 0, 0, 0}, {4359, 4437, 5397, 0, 0, 0, 0}, {8, 34, 4420, 5376, 0, 0, 0}, {831, 12336, 80, 0, 0, 0, 0}, {112, 768, 16384, 0, 0, 0, 0}, {10, 34, 1542, 4369, 0, 0, 0}, {10, 34, 768, 80, 1280, 4352, 0}, {128, 3084, 13107, 16448, 0, 0, 0}, {780, 884, 17476, 0, 0, 0, 0}, {10, 32, 1536, 5461, 0, 0, 0}, {10, 32, 774, 80, 1280, 4112, 0}, {136, 3072, 13175, 17408, 0, 0, 0}, {120, 768, 17408, 0, 0, 0, 0}, {10, 32, 4883, 5397, 0, 0, 0}, {10, 32, 768, 80, 1280, 4096, 0}, {136, 3084, 13107, 17476, 0, 0, 0}, {780, 112, 16448, 0, 0, 0, 0}, {10, 34, 1536, 4437, 0, 0, 0}, {34, 4626, 4372, 0, 0, 0, 0}, {13183, 16384, 0, 0, 0, 0, 0}, {128, 3072, 13056, 16384, 0, 0, 0}, {10, 34, 771, 80, 1285, 4369, 0}, {10, 34, 1536, 4352, 0, 0, 0}, {112, 771, 16448, 0, 0, 0, 0}, {136, 3084, 13124, 17476, 0, 0, 0}, {10, 32, 773, 80, 1285, 4096, 0}, {10, 32, 1542, 5440, 0, 0, 0}, {783, 887, 17408, 0, 0, 0, 0}, {136, 3072, 13056, 17408, 0, 0, 0}, {10, 32, 771, 80, 1285, 4112, 0}, {10, 32, 4864, 5376, 0, 0, 0}, {120, 771, 17476, 0, 0, 0, 0}, {13132, 16448, 0, 0, 0, 0, 0}, {34, 4608, 4357, 0, 0, 0, 0}, {10, 34, 1542, 4420, 0, 0, 0}, {783, 112, 16384, 0, 0, 0, 0}, {3840, 816, 80, 0, 0, 0, 0}, {8, 34, 1092, 4369, 0, 0, 0}, {1042, 1088, 4352, 0, 0, 0, 0}, {24415, 21299, 0, 0, 0, 0, 0}, {8, 32, 788, 80, 1044, 4096, 0}, {170, 3178, 13141, 21845, 0, 0, 0}, {90, 870, 21760, 0, 0, 0, 0}, {8, 32, 5911, 1088, 0, 0, 0}, {8, 32, 784, 80, 1040, 4112, 0}, {170, 3174, 13107, 21845, 0, 0, 0}, {90, 816, 21760, 0, 0, 0, 0}, {8, 32, 4883, 1092, 0, 0, 0}, {828, 12288, 80, 0, 0, 0, 0}, {8, 34, 4437, 5397, 0, 0, 0}, {4374, 4420, 5376, 0, 0, 0, 0}, {21311, 24672, 0, 0, 0, 0, 0}, {160, 21248, 0, 0, 0, 0, 0}, {82, 1028, 4369, 0, 0, 0, 0}, {8, 34, 1024, 4352, 0, 0, 0}, {771, 80, 0, 0, 0, 0, 0}, {8, 32, 4932, 1028, 0, 0, 0}, {90, 853, 21845, 0, 0, 0, 0}, {170, 3084, 13158, 21760, 0, 0, 0}, {8, 32, 775, 80, 1024, 4096, 0}, {8, 32, 4864, 1024, 0, 0, 0}, {90, 771, 21845, 0, 0, 0, 0}, {170, 3072, 13056, 21760, 0, 0, 0}, {8, 32, 771, 80, 1028, 4112, 0}, {21260, 24672, 0, 0, 0, 0, 0}, {4359, 4437, 1024, 0, 0, 0, 0}, {8, 34, 4420, 1028, 0, 0, 0}, {783, 12288, 80, 0, 0, 0, 0}, {112, 832, 16448, 0, 0, 0, 0}, {10, 34, 1604, 4369, 0, 0, 0}, {10, 34, 786, 80, 1280, 4352, 0}, {128, 3148, 13107, 16384, 0, 0, 0}, {120, 836, 17476, 0, 0, 0, 0}, {10, 32, 4949, 5397, 0, 0, 0}, {10, 32, 790, 80, 1280, 4096, 0}, {136, 3144, 13175, 17408, 0, 0, 0}, {840, 816, 17408, 0, 0, 0, 0}, {10, 32, 4883, 5461, 0, 0, 0}, {10, 32, 784, 80, 1280, 4112, 0}, {136, 3140, 13107, 17476, 0, 0, 0}, {844, 112, 16384, 0, 0, 0, 0}, {10, 34, 5911, 4437, 0, 0, 0}, {34, 4608, 4372, 0, 0, 0, 0}, {13183, 16448, 0, 0, 0, 0, 0}, {3264, 13056, 0, 0, 0, 0, 0}, {2, 1285, 273, 0, 0, 0, 0}, {2, 1088, 4352, 0, 0, 0, 0}, {3855, 819, 0, 0, 0, 0, 0}, {8, 14080, 1092, 0, 0, 0, 0}, {10, 821, 80, 1285, 0, 0, 0}, {10, 1638, 21760, 0, 0, 0, 0}, {8, 1072, 1799, 1088, 0, 0, 0}, {8, 13056, 1088, 0, 0, 0, 0}, {10, 819, 80, 1285, 0, 0, 0}, {10, 1632, 21760, 0, 0, 0, 0}, {8, 1076, 1799, 1092, 0, 0, 0}, {13260, 16128, 0, 0, 0, 0, 0}, {2, 277, 4112, 0, 0, 0, 0}, {2, 4420, 5376, 0, 0, 0, 0}, {831, 12336, 0, 0, 0, 0, 0}, {32, 768, 80, 4096, 0, 0, 0}, {3084, 34, 4369, 0, 0, 0, 0}, {90, 34, 768, 4352, 0, 0, 0}, {32, 4883, 16448, 0, 0, 0, 0}, {780, 804, 80, 5140, 0, 0, 0}, {42, 9728, 5461, 0, 0, 0, 0}, {5402, 5424, 5654, 5440, 0, 0, 0}, {5983, 6007, 17408, 0, 0, 0, 0}, {40, 768, 80, 5120, 0, 0, 0}, {42, 13107, 5397, 0, 0, 0, 0}, {90, 112, 768, 5376, 0, 0, 0}, {40, 5911, 17476, 0, 0, 0, 0}, {780, 32, 80, 4112, 0, 0, 0}, {3072, 34, 4437, 0, 0, 0, 0}, {4382, 34, 4626, 4420, 0, 0, 0}, {4959, 32, 16384, 0, 0, 0, 0}, {32, 4864, 16448, 0, 0, 0, 0}, {90, 34, 785, 4369, 0, 0, 0}, {3144, 34, 4352, 0, 0, 0, 0}, {32, 787, 80, 4096, 0, 0, 0}, {40, 5888, 17476, 0, 0, 0, 0}, {90, 112, 789, 5397, 0, 0, 0}, {42, 13158, 5376, 0, 0, 0, 0}, {40, 791, 80, 5120, 0, 0, 0}, {5960, 5984, 17408, 0, 0, 0, 0}, {5391, 5413, 5654, 5461, 0, 0, 0}, {42, 13056, 5440, 0, 0, 0, 0}, {795, 819, 80, 5140, 0, 0, 0}, {4940, 32, 16384, 0, 0, 0, 0}, {4367, 34, 4626, 4437, 0, 0, 0}, {7424, 34, 4420, 0, 0, 0, 0}, {799, 32, 80, 4112, 0, 0, 0}, {240, 768, 0, 0, 0, 0, 0}, {2, 1028, 4369, 0, 0, 0, 0}, {2, 80, 256, 0, 0, 0, 0}, {3084, 13107, 0, 0, 0, 0, 0}, {8, 112, 772, 1028, 0, 0, 0}, {10, 1536, 21845, 0, 0, 0, 0}, {10, 774, 80, 1280, 0, 0, 0}, {8, 13175, 1024, 0, 0, 0, 0}, {8, 112, 768, 1024, 0, 0, 0}, {10, 1542, 21845, 0, 0, 0, 0}, {10, 768, 80, 1280, 0, 0, 0}, {8, 13107, 1028, 0, 0, 0, 0}, {780, 12336, 0, 0, 0, 0, 0}, {2, 4437, 1024, 0, 0, 0, 0}, {2, 260, 4112, 0, 0, 0, 0}, {13311, 3072, 0, 0, 0, 0, 0}, {12288, 1024, 0, 0, 0, 0, 0}, {10, 85, 257, 0, 0, 0, 0}, {1026, 20480, 0, 0, 0, 0, 0}, {1036, 17459, 771, 0, 0, 0, 0}, {12480, 1028, 0, 0, 0, 0, 0}, {512, 261, 4352, 0, 0, 0, 0}, {1030, 20480, 0, 0, 0, 0, 0}, {1032, 17527, 1799, 0, 0, 0, 0}, {1032, 12288, 0, 0, 0, 0, 0}, {259, 85, 1285, 0, 0, 0, 0}, {10, 512, 1024, 4096, 0, 0, 0}, {255, 771, 1028, 0, 0, 0, 0}, {1036, 28672, 0, 0, 0, 0, 0}, {263, 85, 1285, 0, 0, 0, 0}, {10, 514, 4160, 1028, 0, 0, 0}, {783, 13056, 1024, 0, 0, 0, 0}, {2080, 1088, 4112, 0, 0, 0, 0}, {819, 85, 1041, 4369, 0, 0, 0}, {1096, 17442, 4626, 0, 0, 0, 0}, {1043, 20480, 0, 0, 0, 0, 0}, {8192, 4176, 5140, 0, 0, 0, 0}, {831, 85, 1045, 4352, 0, 0, 0}, {1100, 17510, 5654, 0, 0, 0, 0}, {1047, 20480, 0, 0, 0, 0, 0}, {1096, 4144, 20560, 0, 0, 0, 0}, {1049, 4403, 4608, 85, 0, 0, 0}, {6682, 4656, 1088, 0, 0, 0, 0}, {1051, 819, 1092, 4096, 0, 0, 0}, {1100, 4208, 20560, 0, 0, 0, 0}, {1053, 4386, 5632, 85, 0, 0, 0}, {5692, 8738, 1092, 0, 0, 0, 0}, {4127, 4896, 4160, 5120, 0, 0, 0}, {4128, 5120, 0, 0, 0, 0, 0}, {1070, 771, 85, 4369, 0, 0, 0}, {1058, 5632, 16384, 0, 0, 0, 0}, {95, 1139, 771, 4112, 0, 0, 0}, {3084, 1060, 5188, 0, 0, 0, 0}, {783, 1829, 85, 4352, 0, 0, 0}, {5708, 1062, 16448, 0, 0, 0, 0}, {4111, 5159, 4864, 4176, 0, 0, 0}, {1064, 4096, 0, 0, 0, 0, 0}, {4403, 771, 85, 5397, 0, 0, 0}, {1066, 4608, 17408, 0, 0, 0, 0}, {95, 4144, 771, 5140, 0, 0, 0}, {1068, 8224, 4160, 0, 0, 0, 0}, {783, 4386, 85, 5376, 0, 0, 0}, {4680, 5734, 17476, 0, 0, 0, 0}, {5135, 1056, 5888, 5200, 0, 0, 0}, {1216, 2048, 12336, 17408, 0, 0, 0}, {10, 305, 514, 85, 1280, 4369, 0}, {10, 1122, 514, 4112, 0, 0, 0}, {1075, 1792, 16384, 0, 0, 0, 0}, {1220, 2056, 13364, 17476, 0, 0, 0}, {10, 309, 512, 85, 1280, 4352, 0}, {10, 5174, 512, 4176, 0, 0, 0}, {1800, 1079, 16448, 0, 0, 0, 0}, {1224, 2056, 12336, 16448, 0, 0, 0}, {10, 307, 512, 85, 1280, 4096, 0}, {10, 4144, 512, 5200, 0, 0, 0}, {1800, 819, 17476, 0, 0, 0, 0}, {13372, 16384, 0, 0, 0, 0, 0}, {4386, 514, 4117, 0, 0, 0, 0}, {10, 4208, 514, 5140, 0, 0, 0}, {1087, 1792, 17408, 0, 0, 0, 0}, {15360, 1088, 0, 0, 0, 0, 0}, {546, 276, 4369, 0, 0, 0, 0}, {1090, 20480, 0, 0, 0, 0, 0}, {1100, 17459, 17219, 0, 0, 0, 0}, {12288, 1092, 0, 0, 0, 0, 0}, {10, 1285, 272, 0, 0, 0, 0}, {1094, 20480, 0, 0, 0, 0, 0}, {1096, 17527, 18247, 0, 0, 0, 0}, {1096, 28672, 0, 0, 0, 0, 0}, {278, 85, 1285, 0, 0, 0, 0}, {10, 544, 4160, 5120, 0, 0, 0}, {828, 13107, 1092, 0, 0, 0, 0}, {1100, 12288, 0, 0, 0, 0, 0}, {274, 85, 1285, 0, 0, 0, 0}, {10, 546, 1092, 4096, 0, 0, 0}, {3855, 816, 1088, 0, 0, 0, 0}, {8192, 4176, 1024, 0, 0, 0, 0}, {780, 85, 1028, 4369, 0, 0, 0}, {1032, 17442, 21074, 0, 0, 0, 0}, {1107, 20480, 0, 0, 0, 0, 0}, {160, 1028, 4112, 0, 0, 0, 0}, {768, 85, 1024, 4352, 0, 0, 0}, {1036, 17510, 22102, 0, 0, 0, 0}, {1111, 20480, 0, 0, 0, 0, 0}, {1032, 4208, 20560, 0, 0, 0, 0}, {1036, 4403, 1792, 85, 0, 0, 0}, {4698, 8704, 1024, 0, 0, 0, 0}, {4127, 4883, 4160, 1028, 0, 0, 0}, {1036, 4144, 20560, 0, 0, 0, 0}, {1032, 4386, 768, 85, 0, 0, 0}, {170, 4626, 1028, 0, 0, 0, 0}, {95, 768, 1024, 4096, 0, 0, 0}, {4192, 5120, 0, 0, 0, 0, 0}, {1083, 1799, 85, 4369, 0, 0, 0}, {4680, 1122, 16448, 0, 0, 0, 0}, {4111, 1075, 5888, 4176, 0, 0, 0}, {2056, 4128, 5188, 0, 0, 0, 0}, {1807, 816, 85, 4352, 0, 0, 0}, {1126, 4608, 16384, 0, 0, 0, 0}, {95, 1079, 1799, 4112, 0, 0, 0}, {5160, 8224, 4160, 0, 0, 0, 0}, {4623, 4403, 85, 5376, 0, 0, 0}, {1130, 5632, 17408, 0, 0, 0, 0}, {95, 4208, 4883, 5140, 0, 0, 0}, {1132, 4096, 0, 0, 0, 0, 0}, {4386, 4626, 85, 5397, 0, 0, 0}, {5708, 4642, 17476, 0, 0, 0, 0}, {5135, 4144, 4864, 5200, 0, 0, 0}, {1152, 3072, 13424, 17408, 0, 0, 0}, {10, 292, 774, 85, 1280, 4369, 0}, {10, 1058, 1536, 4176, 0, 0, 0}, {780, 1139, 16448, 0, 0, 0, 0}, {1156, 3084, 12336, 17476, 0, 0, 0}, {10, 288, 768, 85, 1280, 4352, 0}, {10, 1062, 1542, 4112, 0, 0, 0}, {1143, 768, 16384, 0, 0, 0, 0}, {13432, 16384, 0, 0, 0, 0, 0}, {4403, 4883, 4117, 0, 0, 0, 0}, {10, 1056, 1536, 5200, 0, 0, 0}, {780, 1911, 17476, 0, 0, 0, 0}, {1164, 3084, 12336, 16448, 0, 0, 0}, {10, 290, 768, 85, 1280, 4096, 0}, {10, 4144, 4626, 5140, 0, 0, 0}, {1151, 768, 17408, 0, 0, 0, 0}, {1152, 3072, 12288, 17408, 0, 0, 0}, {10, 289, 771, 85, 1285, 4369, 0}, {10, 1058, 1536, 4096, 0, 0, 0}, {1139, 771, 16448, 0, 0, 0, 0}, {1156, 3084, 13380, 17476, 0, 0, 0}, {10, 293, 773, 85, 1285, 4352, 0}, {10, 1062, 1542, 4160, 0, 0, 0}, {783, 1143, 16384, 0, 0, 0, 0}, {1160, 3072, 12288, 16384, 0, 0, 0}, {10, 291, 771, 85, 1285, 4112, 0}, {10, 4128, 4608, 5120, 0, 0, 0}, {1147, 771, 17476, 0, 0, 0, 0}, {13388, 16448, 0, 0, 0, 0, 0}, {4386, 4864, 4101, 0, 0, 0, 0}, {10, 1060, 1542, 5188, 0, 0, 0}, {783, 1904, 17408, 0, 0, 0, 0}, {2048, 4144, 5200, 0, 0, 0, 0}, {1800, 819, 85, 4369, 0, 0, 0}, {1122, 4626, 16448, 0, 0, 0, 0}, {95, 1075, 1792, 4096, 0, 0, 0}, {4208, 5140, 0, 0, 0, 0, 0}, {1087, 1792, 85, 4352, 0, 0, 0}, {4698, 1126, 16384, 0, 0, 0, 0}, {4127, 1079, 5911, 4160, 0, 0, 0}, {1128, 4112, 0, 0, 0, 0, 0}, {4403, 4608, 85, 5376, 0, 0, 0}, {5722, 4656, 17408, 0, 0, 0, 0}, {5147, 4128, 4883, 5188, 0, 0, 0}, {5180, 8192, 4176, 0, 0, 0, 0}, {4637, 4386, 85, 5397, 0, 0, 0}, {1134, 5654, 17476, 0, 0, 0, 0}, {95, 4192, 4864, 5120, 0, 0, 0}, {160, 1024, 4096, 0, 0, 0, 0}, {771, 85, 1028, 4369, 0, 0, 0}, {1032, 17442, 22016, 0, 0, 0, 0}, {1107, 20560, 0, 0, 0, 0, 0}, {8224, 4160, 1028, 0, 0, 0, 0}, {783, 85, 1024, 4352, 0, 0, 0}, {1036, 17510, 20992, 0, 0, 0, 0}, {1111, 20560, 0, 0, 0, 0, 0}, {1032, 4128, 20480, 0, 0, 0, 0}, {1036, 4403, 771, 85, 0, 0, 0}, {170, 4608, 1024, 0, 0, 0, 0}, {95, 771, 1028, 4112, 0, 0, 0}, {1036, 4192, 20480, 0, 0, 0, 0}, {1032, 4386, 1799, 85, 0, 0, 0}, {4680, 8738, 1028, 0, 0, 0, 0}, {4111, 4864, 4176, 1024, 0, 0, 0}, {12336, 1088, 0, 0, 0, 0, 0}, {10, 1280, 273, 0, 0, 0, 0}, {1090, 20560, 0, 0, 0, 0, 0}, {1100, 17459, 18176, 0, 0, 0, 0}, {15420, 1092, 0, 0, 0, 0, 0}, {544, 277, 4352, 0, 0, 0, 0}, {1094, 20560, 0, 0, 0, 0, 0}, {1096, 17527, 17152, 0, 0, 0, 0}, {1096, 12336, 0, 0, 0, 0, 0}, {275, 85, 1280, 0, 0, 0, 0}, {10, 544, 1088, 4112, 0, 0, 0}, {3840, 819, 1092, 0, 0, 0, 0}, {1100, 28784, 0, 0, 0, 0, 0}, {279, 85, 1280, 0, 0, 0, 0}, {10, 546, 4176, 5140, 0, 0, 0}, {831, 13056, 1088, 0, 0, 0, 0}, {1216, 2048, 13312, 17408, 0, 0, 0}, {10, 308, 514, 85, 1285, 4369, 0}, {10, 5154, 514, 4160, 0, 0, 0}, {1807, 1075, 16384, 0, 0, 0, 0}, {1220, 2056, 12288, 17476, 0, 0, 0}, {10, 304, 512, 85, 1285, 4352, 0}, {10, 1126, 512, 4096, 0, 0, 0}, {1079, 1799, 16448, 0, 0, 0, 0}, {13320, 16448, 0, 0, 0, 0, 0}, {4403, 512, 4101, 0, 0, 0, 0}, {10, 4192, 512, 5120, 0, 0, 0}, {1083, 1799, 17476, 0, 0, 0, 0}, {1228, 2048, 12288, 16384, 0, 0, 0}, {10, 306, 514, 85, 1285, 4112, 0}, {10, 4128, 514, 5188, 0, 0, 0}, {1807, 816, 17408, 0, 0, 0, 0}, {3072, 1056, 5200, 0, 0, 0, 0}, {780, 1826, 85, 4369, 0, 0, 0}, {5722, 1058, 16384, 0, 0, 0, 0}, {4127, 5171, 4883, 4160, 0, 0, 0}, {4144, 5140, 0, 0, 0, 0, 0}, {1066, 768, 85, 4352, 0, 0, 0}, {1062, 5654, 16448, 0, 0, 0, 0}, {95, 1143, 768, 4096, 0, 0, 0}, {1064, 8192, 4176, 0, 0, 0, 0}, {780, 4403, 85, 5397, 0, 0, 0}, {4698, 5744, 17408, 0, 0, 0, 0}, {5147, 1060, 5911, 5188, 0, 0, 0}, {1068, 4112, 0, 0, 0, 0, 0}, {4386, 768, 85, 5376, 0, 0, 0}, {1070, 4626, 17476, 0, 0, 0, 0}, {95, 4128, 768, 5120, 0, 0, 0}, {8224, 4160, 5120, 0, 0, 0, 0}, {828, 85, 1041, 4369, 0, 0, 0}, {1096, 17442, 5632, 0, 0, 0, 0}, {1043, 20560, 0, 0, 0, 0, 0}, {2088, 1092, 4096, 0, 0, 0, 0}, {816, 85, 1045, 4352, 0, 0, 0}, {1100, 17510, 4608, 0, 0, 0, 0}, {1047, 20560, 0, 0, 0, 0, 0}, {1096, 4192, 20480, 0, 0, 0, 0}, {1049, 4403, 5654, 85, 0, 0, 0}, {5674, 8704, 1088, 0, 0, 0, 0}, {4111, 4915, 4176, 5140, 0, 0, 0}, {1100, 4128, 20480, 0, 0, 0, 0}, {1053, 4386, 4626, 85, 0, 0, 0}, {6656, 4642, 1092, 0, 0, 0, 0}, {1055, 816, 1088, 4112, 0, 0, 0}, {12528, 1024, 0, 0, 0, 0, 0}, {514, 260, 4369, 0, 0, 0, 0}, {1026, 20560, 0, 0, 0, 0, 0}, {1036, 17459, 1792, 0, 0, 0, 0}, {12336, 1028, 0, 0, 0, 0, 0}, {10, 85, 256, 0, 0, 0, 0}, {1030, 20560, 0, 0, 0, 0, 0}, {1032, 17527, 768, 0, 0, 0, 0}, {1032, 28784, 0, 0, 0, 0, 0}, {262, 85, 1280, 0, 0, 0, 0}, {10, 512, 4176, 1024, 0, 0, 0}, {780, 13107, 1028, 0, 0, 0, 0}, {1036, 12336, 0, 0, 0, 0, 0}, {258, 85, 1280, 0, 0, 0, 0}, {10, 514, 1028, 4112, 0, 0, 0}, {255, 768, 1024, 0, 0, 0, 0}, {2560, 21760, 0, 0, 0, 0, 0}, {48, 4, 257, 0, 0, 0, 0}, {8, 21794, 514, 0, 0, 0, 0}, {1283, 20480, 0, 0, 0, 0, 0}, {512, 4, 4352, 0, 0, 0, 0}, {240, 1285, 0, 0, 0, 0, 0}, {12, 21862, 1542, 0, 0, 0, 0}, {1287, 20480, 0, 0, 0, 0, 0}, {8, 512, 21760, 0, 0, 0, 0}, {12, 48, 771, 1285, 0, 0, 0}, {21930, 2570, 0, 0, 0, 0, 0}, {259, 4, 4096, 0, 0, 0, 0}, {12, 1536, 21760, 0, 0, 0, 0}, {8, 112, 514, 1285, 0, 0, 0}, {4386, 514, 4, 0, 0, 0, 0}, {1295, 20480, 0, 0, 0, 0, 0}, {48, 64, 1296, 4112, 0, 0, 0}, {2594, 68, 4369, 0, 0, 0, 0}, {1298, 20480, 0, 0, 0, 0, 0}, {76, 21811, 4883, 0, 0, 0, 0}, {60, 68, 1300, 4352, 0, 0, 0}, {8192, 64, 5397, 0, 0, 0, 0}, {1302, 20480, 0, 0, 0, 0, 0}, {72, 21879, 5911, 0, 0, 0, 0}, {1304, 48, 4608, 1360, 0, 0, 0}, {76, 4915, 21845, 0, 0, 0, 0}, {1306, 48, 64, 4096, 0, 0, 0}, {6939, 4403, 68, 0, 0, 0, 0}, {1308, 1312, 5632, 1360, 0, 0, 0}, {72, 6007, 21845, 0, 0, 0, 0}, {4382, 4386, 68, 5120, 0, 0, 0}, {5439, 8224, 64, 0, 0, 0, 0}, {128, 2592, 8224, 21760, 0, 0, 0}, {12, 48, 771, 68, 1297, 4369, 0}, {24320, 21794, 0, 0, 0, 0, 0}, {1299, 64, 4112, 0, 0, 0, 0}, {12, 1572, 68, 4352, 0, 0, 0}, {3855, 1317, 1365, 0, 0, 0, 0}, {12, 5414, 4864, 64, 0, 0, 0}, {1375, 1319, 20560, 0, 0, 0, 0}, {136, 2600, 8704, 21760, 0, 0, 0}, {12, 48, 771, 64, 1301, 4096, 0}, {21802, 8192, 0, 0, 0, 0, 0}, {4355, 68, 5140, 0, 0, 0, 0}, {12, 4896, 64, 5376, 0, 0, 0}, {1325, 8738, 1365, 0, 0, 0, 0}, {12, 4386, 5888, 68, 0, 0, 0}, {1375, 112, 20560, 0, 0, 0, 0}, {48, 1280, 0, 0, 0, 0, 0}, {8, 514, 68, 4369, 0, 0, 0}, {1282, 64, 4112, 0, 0, 0, 0}, {2560, 21811, 0, 0, 0, 0, 0}, {8, 52, 512, 68, 1280, 4352, 0}, {192, 2570, 13621, 21845, 0, 0, 0}, {1290, 1334, 20560, 0, 0, 0, 0}, {8, 5431, 512, 64, 0, 0, 0}, {8, 48, 512, 64, 1280, 4096, 0}, {204, 2570, 13107, 21845, 0, 0, 0}, {1290, 48, 20560, 0, 0, 0, 0}, {8, 4403, 512, 68, 0, 0, 0}, {60, 13056, 1280, 0, 0, 0, 0}, {8, 514, 64, 5397, 0, 0, 0}, {4374, 68, 5140, 0, 0, 0, 0}, {21823, 24576, 0, 0, 0, 0, 0}, {8192, 64, 5376, 0, 0, 0, 0}, {60, 68, 1285, 4369, 0, 0, 0}, {72, 21794, 16962, 0, 0, 0, 0}, {1347, 20480, 0, 0, 0, 0, 0}, {2560, 68, 4352, 0, 0, 0, 0}, {48, 64, 1285, 4112, 0, 0, 0}, {76, 21862, 17990, 0, 0, 0, 0}, {1351, 20480, 0, 0, 0, 0, 0}, {72, 5888, 21760, 0, 0, 0, 0}, {76, 112, 4883, 1285, 0, 0, 0}, {5418, 8224, 64, 0, 0, 0, 0}, {4367, 4403, 68, 5120, 0, 0, 0}, {76, 4864, 21760, 0, 0, 0, 0}, {72, 48, 4626, 1285, 0, 0, 0}, {2570, 4386, 68, 0, 0, 0, 0}, {1295, 48, 64, 4096, 0, 0, 0}, {3840, 1360, 0, 0, 0, 0, 0}, {546, 4, 4369, 0, 0, 0, 0}, {1362, 20480, 0, 0, 0, 0, 0}, {12, 21811, 21331, 0, 0, 0, 0}, {768, 4, 272, 0, 0, 0, 0}, {2730, 21845, 0, 0, 0, 0, 0}, {1366, 20480, 0, 0, 0, 0, 0}, {8, 21879, 22359, 0, 0, 0, 0}, {8, 1312, 1792, 1360, 0, 0, 0}, {12, 1638, 21845, 0, 0, 0, 0}, {1370, 20480, 0, 0, 0, 0, 0}, {4403, 4883, 4, 0, 0, 0, 0}, {12, 48, 768, 1360, 0, 0, 0}, {8, 546, 21845, 0, 0, 0, 0}, {274, 4, 4096, 0, 0, 0, 0}, {22015, 24415, 0, 0, 0, 0, 0}, {192, 2656, 13664, 21760, 0, 0, 0}, {8, 52, 534, 68, 1297, 4369, 0}, {8, 5410, 5888, 64, 0, 0, 0}, {1375, 1379, 20560, 0, 0, 0, 0}, {8, 544, 68, 4352, 0, 0, 0}, {3855, 48, 1365, 0, 0, 0, 0}, {24320, 21862, 0, 0, 0, 0, 0}, {1303, 64, 4112, 0, 0, 0, 0}, {8, 544, 64, 5376, 0, 0, 0}, {60, 13107, 1365, 0, 0, 0, 0}, {21866, 24576, 0, 0, 0, 0, 0}, {4359, 68, 5140, 0, 0, 0, 0}, {204, 2668, 13056, 21760, 0, 0, 0}, {8, 48, 530, 64, 1301, 4096, 0}, {8, 4386, 4864, 68, 0, 0, 0}, {1375, 48, 20560, 0, 0, 0, 0}, {112, 1280, 0, 0, 0, 0, 0}, {12, 1542, 68, 4369, 0, 0, 0}, {1290, 1394, 20560, 0, 0, 0, 0}, {12, 5427, 1536, 64, 0, 0, 0}, {12, 48, 768, 68, 1280, 4352, 0}, {128, 2570, 8224, 21845, 0, 0, 0}, {1286, 64, 4112, 0, 0, 0, 0}, {2560, 21879, 0, 0, 0, 0, 0}, {120, 8704, 1280, 0, 0, 0, 0}, {12, 4883, 64, 5397, 0, 0, 0}, {1290, 112, 20560, 0, 0, 0, 0}, {12, 4403, 1536, 68, 0, 0, 0}, {12, 48, 768, 64, 1280, 4096, 0}, {136, 2570, 8738, 21845, 0, 0, 0}, {4370, 68, 5140, 0, 0, 0, 0}, {21887, 8192, 0, 0, 0, 0, 0}, {128, 2560, 8192, 21760, 0, 0, 0}, {12, 48, 771, 68, 1285, 4369, 0}, {2570, 21794, 0, 0, 0, 0, 0}, {1283, 64, 4096, 0, 0, 0, 0}, {12, 1536, 68, 4352, 0, 0, 0}, {112, 1285, 0, 0, 0, 0, 0}, {12, 5414, 1542, 64, 0, 0, 0}, {1295, 1399, 20480, 0, 0, 0, 0}, {136, 2560, 8704, 21760, 0, 0, 0}, {12, 48, 771, 64, 1285, 4112, 0}, {21802, 8224, 0, 0, 0, 0, 0}, {4355, 68, 5120, 0, 0, 0, 0}, {12, 4864, 64, 5376, 0, 0, 0}, {120, 8738, 1285, 0, 0, 0, 0}, {12, 4386, 1542, 68, 0, 0, 0}, {1295, 112, 20480, 0, 0, 0, 0}, {3840, 48, 1360, 0, 0, 0, 0}, {8, 546, 68, 4369, 0, 0, 0}, {1298, 64, 4096, 0, 0, 0, 0}, {24415, 21811, 0, 0, 0, 0, 0}, {8, 52, 532, 68, 1300, 4352, 0}, {192, 2666, 13653, 21845, 0, 0, 0}, {1370, 1382, 20480, 0, 0, 0, 0}, {8, 5431, 5911, 64, 0, 0, 0}, {8, 48, 528, 64, 1296, 4112, 0}, {204, 2662, 13107, 21845, 0, 0, 0}, {1370, 48, 20480, 0, 0, 0, 0}, {8, 4403, 4883, 68, 0, 0, 0}, {60, 13056, 1360, 0, 0, 0, 0}, {8, 546, 64, 5397, 0, 0, 0}, {4374, 68, 5120, 0, 0, 0, 0}, {21823, 24672, 0, 0, 0, 0, 0}, {2720, 21760, 0, 0, 0, 0, 0}, {771, 4, 273, 0, 0, 0, 0}, {8, 21794, 22272, 0, 0, 0, 0}, {1363, 20560, 0, 0, 0, 0, 0}, {544, 4, 4352, 0, 0, 0, 0}, {3855, 1365, 0, 0, 0, 0, 0}, {12, 21862, 21248, 0, 0, 0, 0}, {1367, 20560, 0, 0, 0, 0, 0}, {8, 544, 21760, 0, 0, 0, 0}, {12, 48, 771, 1365, 0, 0, 0}, {21930, 24320, 0, 0, 0, 0, 0}, {275, 4, 4112, 0, 0, 0, 0}, {12, 1632, 21760, 0, 0, 0, 0}, {8, 1317, 1799, 1365, 0, 0, 0}, {4386, 4864, 4, 0, 0, 0, 0}, {1375, 20560, 0, 0, 0, 0, 0}, {48, 64, 1280, 4096, 0, 0, 0}, {2570, 68, 4369, 0, 0, 0, 0}, {1346, 20560, 0, 0, 0, 0, 0}, {76, 21811, 17920, 0, 0, 0, 0}, {60, 68, 1280, 4352, 0, 0, 0}, {8224, 64, 5397, 0, 0, 0, 0}, {1350, 20560, 0, 0, 0, 0, 0}, {72, 21879, 16896, 0, 0, 0, 0}, {72, 48, 4608, 1280, 0, 0, 0}, {76, 4883, 21845, 0, 0, 0, 0}, {1290, 48, 64, 4112, 0, 0, 0}, {2560, 4403, 68, 0, 0, 0, 0}, {76, 112, 4864, 1280, 0, 0, 0}, {72, 5911, 21845, 0, 0, 0, 0}, {4382, 4386, 68, 5140, 0, 0, 0}, {5439, 8192, 64, 0, 0, 0, 0}, {192, 2560, 13568, 21760, 0, 0, 0}, {8, 52, 514, 68, 1285, 4369, 0}, {8, 5410, 514, 64, 0, 0, 0}, {1295, 1331, 20480, 0, 0, 0, 0}, {8, 512, 68, 4352, 0, 0, 0}, {48, 1285, 0, 0, 0, 0, 0}, {2570, 21862, 0, 0, 0, 0, 0}, {1287, 64, 4096, 0, 0, 0, 0}, {8, 512, 64, 5376, 0, 0, 0}, {60, 13107, 1285, 0, 0, 0, 0}, {21866, 24672, 0, 0, 0, 0, 0}, {4359, 68, 5120, 0, 0, 0, 0}, {204, 2560, 13056, 21760, 0, 0, 0}, {8, 48, 514, 64, 1285, 4112, 0}, {8, 4386, 514, 68, 0, 0, 0}, {1295, 48, 20480, 0, 0, 0, 0}, {3840, 1312, 1360, 0, 0, 0, 0}, {12, 1570, 68, 4369, 0, 0, 0}, {1370, 1314, 20480, 0, 0, 0, 0}, {12, 5427, 4883, 64, 0, 0, 0}, {12, 48, 768, 68, 1300, 4352, 0}, {128, 2602, 8192, 21845, 0, 0, 0}, {1302, 64, 4096, 0, 0, 0, 0}, {24415, 21879, 0, 0, 0, 0, 0}, {1320, 8704, 1360, 0, 0, 0, 0}, {12, 4915, 64, 5397, 0, 0, 0}, {1370, 112, 20480, 0, 0, 0, 0}, {12, 4403, 5911, 68, 0, 0, 0}, {12, 48, 768, 64, 1296, 4112, 0}, {136, 2594, 8738, 21845, 0, 0, 0}, {4370, 68, 5120, 0, 0, 0, 0}, {21887, 8224, 0, 0, 0, 0, 0}, {8224, 64, 5376, 0, 0, 0, 0}, {60, 68, 1297, 4369, 0, 0, 0}, {72, 21794, 5888, 0, 0, 0, 0}, {1299, 20560, 0, 0, 0, 0, 0}, {2600, 68, 4352, 0, 0, 0, 0}, {48, 64, 1301, 4096, 0, 0, 0}, {76, 21862, 4864, 0, 0, 0, 0}, {1303, 20560, 0, 0, 0, 0, 0}, {72, 5984, 21760, 0, 0, 0, 0}, {1305, 1317, 5654, 1365, 0, 0, 0}, {5418, 8192, 64, 0, 0, 0, 0}, {4367, 4403, 68, 5140, 0, 0, 0}, {76, 4896, 21760, 0, 0, 0, 0}, {1309, 48, 4626, 1365, 0, 0, 0}, {6912, 4386, 68, 0, 0, 0, 0}, {1311, 48, 64, 4112, 0, 0, 0}, {240, 1280, 0, 0, 0, 0, 0}, {514, 4, 4369, 0, 0, 0, 0}, {1282, 20560, 0, 0, 0, 0, 0}, {12, 21811, 1536, 0, 0, 0, 0}, {48, 4, 256, 0, 0, 0, 0}, {2570, 21845, 0, 0, 0, 0, 0}, {1286, 20560, 0, 0, 0, 0, 0}, {8, 21879, 512, 0, 0, 0, 0}, {8, 112, 512, 1280, 0, 0, 0}, {12, 1542, 21845, 0, 0, 0, 0}, {1290, 20560, 0, 0, 0, 0, 0}, {4403, 512, 4, 0, 0, 0, 0}, {12, 48, 768, 1280, 0, 0, 0}, {8, 514, 21845, 0, 0, 0, 0}, {258, 4, 4112, 0, 0, 0, 0}, {22015, 2560, 0, 0, 0, 0, 0}, {1536, 20480, 0, 0, 0, 0, 0}, {8, 119, 257, 0, 0, 0, 0}, {8, 4128, 514, 1024, 0, 0, 0}, {1295, 771, 21760, 0, 0, 0, 0}, {8, 512, 4160, 1028, 0, 0, 0}, {783, 13056, 1285, 0, 0, 0, 0}, {20640, 1542, 0, 0, 0, 0, 0}, {263, 1024, 4352, 0, 0, 0, 0}, {8, 512, 1024, 4096, 0, 0, 0}, {255, 771, 1285, 0, 0, 0, 0}, {1546, 12288, 0, 0, 0, 0, 0}, {259, 4420, 1028, 0, 0, 0, 0}, {1548, 20480, 0, 0, 0, 0, 0}, {4386, 514, 261, 0, 0, 0, 0}, {8, 4192, 514, 1028, 0, 0, 0}, {1295, 1536, 21760, 0, 0, 0, 0}, {3136, 1632, 4112, 0, 0, 0, 0}, {1314, 1553, 1365, 4369, 0, 0, 0}, {5240, 4626, 17408, 0, 0, 0, 0}, {4191, 4128, 4883, 5376, 0, 0, 0}, {4728, 8704, 5140, 0, 0, 0, 0}, {4159, 4864, 4160, 5397, 0, 0, 0}, {4208, 5654, 16384, 0, 0, 0, 0}, {1375, 119, 1559, 4352, 0, 0, 0}, {6168, 4656, 5200, 0, 0, 0, 0}, {1561, 819, 1365, 4096, 0, 0, 0}, {5722, 4144, 16448, 0, 0, 0, 0}, {5147, 4403, 4608, 4420, 0, 0, 0}, {5692, 8224, 4176, 0, 0, 0, 0}, {4637, 4386, 4437, 5120, 0, 0, 0}, {4698, 1638, 17476, 0, 0, 0, 0}, {4127, 1312, 5632, 5440, 0, 0, 0}, {4128, 5632, 16384, 0, 0, 0, 0}, {1370, 119, 771, 4369, 0, 0, 0}, {4642, 5120, 0, 0, 0, 0, 0}, {1327, 771, 1360, 4112, 0, 0, 0}, {4680, 1572, 17476, 0, 0, 0, 0}, {4111, 1317, 4864, 5461, 0, 0, 0}, {3084, 1574, 4160, 0, 0, 0, 0}, {783, 1319, 1360, 4352, 0, 0, 0}, {5160, 4608, 17408, 0, 0, 0, 0}, {4175, 4144, 771, 5397, 0, 0, 0}, {1578, 4096, 0, 0, 0, 0, 0}, {4403, 771, 4420, 5140, 0, 0, 0}, {5708, 4192, 16448, 0, 0, 0, 0}, {5135, 4386, 5888, 4437, 0, 0, 0}, {1582, 8738, 5188, 0, 0, 0, 0}, {783, 4896, 4176, 5376, 0, 0, 0}, {2560, 22064, 0, 0, 0, 0, 0}, {1282, 1092, 4369, 0, 0, 0, 0}, {8, 514, 1088, 4112, 0, 0, 0}, {819, 1280, 0, 0, 0, 0, 0}, {8, 5172, 512, 1092, 0, 0, 0}, {1290, 1589, 21845, 0, 0, 0, 0}, {1734, 2570, 13878, 20560, 0, 0, 0}, {8, 311, 512, 320, 1280, 4352, 0}, {8, 4144, 512, 1088, 0, 0, 0}, {1290, 819, 21845, 0, 0, 0, 0}, {1738, 2570, 12336, 20560, 0, 0, 0}, {8, 307, 512, 324, 1280, 4096, 0}, {22076, 24576, 0, 0, 0, 0, 0}, {4119, 4437, 5397, 0, 0, 0, 0}, {8, 514, 4176, 5140, 0, 0, 0}, {831, 13056, 1280, 0, 0, 0, 0}, {5632, 4160, 0, 0, 0, 0, 0}, {843, 119, 1285, 4369, 0, 0, 0}, {5160, 1602, 17408, 0, 0, 0, 0}, {4111, 4208, 835, 5376, 0, 0, 0}, {4608, 5188, 0, 0, 0, 0, 0}, {847, 816, 1285, 4112, 0, 0, 0}, {4128, 1606, 16384, 0, 0, 0, 0}, {1295, 119, 839, 4352, 0, 0, 0}, {4680, 8704, 5120, 0, 0, 0, 0}, {4143, 4883, 4176, 1285, 0, 0, 0}, {1610, 4192, 16448, 0, 0, 0, 0}, {1295, 4403, 5888, 4420, 0, 0, 0}, {1612, 4096, 0, 0, 0, 0, 0}, {4386, 4626, 4437, 1285, 0, 0, 0}, {1614, 4642, 17476, 0, 0, 0, 0}, {1295, 4144, 4864, 5440, 0, 0, 0}, {1696, 3072, 13904, 20560, 0, 0, 0}, {8, 294, 772, 337, 1028, 4369, 0}, {8, 4208, 4690, 1024, 0, 0, 0}, {1375, 1619, 21760, 0, 0, 0, 0}, {8, 544, 1028, 4112, 0, 0, 0}, {768, 1365, 0, 0, 0, 0, 0}, {20720, 22102, 0, 0, 0, 0, 0}, {343, 1024, 4352, 0, 0, 0, 0}, {8, 544, 4176, 1024, 0, 0, 0}, {780, 13107, 1365, 0, 0, 0, 0}, {22106, 24576, 0, 0, 0, 0, 0}, {4119, 4420, 1028, 0, 0, 0, 0}, {1708, 3084, 12336, 20560, 0, 0, 0}, {8, 290, 768, 341, 1024, 4096, 0}, {8, 4144, 4626, 1028, 0, 0, 0}, {1375, 768, 21760, 0, 0, 0, 0}, {23040, 1632, 0, 0, 0, 0, 0}, {278, 1092, 4369, 0, 0, 0, 0}, {8, 546, 4160, 5120, 0, 0, 0}, {828, 13107, 1360, 0, 0, 0, 0}, {8, 4128, 4608, 1092, 0, 0, 0}, {1370, 816, 21845, 0, 0, 0, 0}, {1638, 20480, 0, 0, 0, 0, 0}, {8, 1799, 272, 0, 0, 0, 0}, {8, 5152, 5632, 1088, 0, 0, 0}, {1370, 1638, 21845, 0, 0, 0, 0}, {1642, 20480, 0, 0, 0, 0, 0}, {4403, 4883, 276, 0, 0, 0, 0}, {1644, 12288, 0, 0, 0, 0, 0}, {274, 4437, 5397, 0, 0, 0, 0}, {8, 546, 1092, 4096, 0, 0, 0}, {3855, 816, 1360, 0, 0, 0, 0}, {4208, 1536, 16384, 0, 0, 0, 0}, {1290, 119, 1542, 4369, 0, 0, 0}, {1546, 8738, 5200, 0, 0, 0, 0}, {780, 4915, 4160, 1280, 0, 0, 0}, {1548, 4656, 17476, 0, 0, 0, 0}, {1290, 4128, 768, 5461, 0, 0, 0}, {128, 1542, 4112, 0, 0, 0, 0}, {119, 768, 1280, 4352, 0, 0, 0}, {5240, 1536, 17408, 0, 0, 0, 0}, {4127, 4192, 4883, 5397, 0, 0, 0}, {1546, 8224, 4176, 0, 0, 0, 0}, {780, 4403, 4420, 1280, 0, 0, 0}, {1548, 4144, 16448, 0, 0, 0, 0}, {1290, 4386, 768, 4437, 0, 0, 0}, {136, 4626, 5140, 0, 0, 0, 0}, {127, 768, 1280, 4096, 0, 0, 0}, {128, 1536, 4096, 0, 0, 0, 0}, {119, 771, 1285, 4369, 0, 0, 0}, {1546, 4642, 17408, 0, 0, 0, 0}, {1295, 4144, 771, 5440, 0, 0, 0}, {1548, 8704, 5188, 0, 0, 0, 0}, {783, 4896, 4176, 1285, 0, 0, 0}, {4192, 1542, 16448, 0, 0, 0, 0}, {1295, 119, 1536, 4352, 0, 0, 0}, {136, 4608, 5120, 0, 0, 0, 0}, {127, 771, 1285, 4112, 0, 0, 0}, {1546, 4128, 16384, 0, 0, 0, 0}, {1295, 4403, 771, 4420, 0, 0, 0}, {1548, 8192, 4160, 0, 0, 0, 0}, {783, 4386, 4437, 1285, 0, 0, 0}, {5228, 1542, 17476, 0, 0, 0, 0}, {4111, 4208, 4864, 5376, 0, 0, 0}, {1632, 20560, 0, 0, 0, 0, 0}, {8, 1792, 273, 0, 0, 0, 0}, {8, 4144, 4626, 1088, 0, 0, 0}, {1375, 819, 21760, 0, 0, 0, 0}, {8, 544, 4176, 5140, 0, 0, 0}, {831, 13056, 1365, 0, 0, 0, 0}, {23130, 1638, 0, 0, 0, 0, 0}, {279, 1088, 4352, 0, 0, 0, 0}, {8, 544, 1088, 4112, 0, 0, 0}, {3840, 819, 1365, 0, 0, 0, 0}, {1642, 12336, 0, 0, 0, 0, 0}, {275, 4420, 5376, 0, 0, 0, 0}, {1644, 20560, 0, 0, 0, 0, 0}, {4386, 4864, 277, 0, 0, 0, 0}, {8, 5172, 5654, 1092, 0, 0, 0}, {1375, 1632, 21760, 0, 0, 0, 0}, {20640, 22016, 0, 0, 0, 0, 0}, {342, 1028, 4369, 0, 0, 0, 0}, {8, 546, 1024, 4096, 0, 0, 0}, {771, 1360, 0, 0, 0, 0, 0}, {8, 4192, 4672, 1028, 0, 0, 0}, {1370, 1621, 21845, 0, 0, 0, 0}, {1702, 3084, 13926, 20480, 0, 0, 0}, {8, 295, 775, 336, 1024, 4352, 0}, {8, 4128, 4608, 1024, 0, 0, 0}, {1370, 771, 21845, 0, 0, 0, 0}, {1706, 3072, 12288, 20480, 0, 0, 0}, {8, 291, 771, 340, 1028, 4112, 0}, {22028, 24672, 0, 0, 0, 0, 0}, {4103, 4437, 1024, 0, 0, 0, 0}, {8, 546, 4160, 1028, 0, 0, 0}, {783, 13056, 1360, 0, 0, 0, 0}, {4144, 1600, 16448, 0, 0, 0, 0}, {1290, 119, 836, 4369, 0, 0, 0}, {4626, 5200, 0, 0, 0, 0, 0}, {844, 819, 1280, 4096, 0, 0, 0}, {5180, 1604, 17476, 0, 0, 0, 0}, {4127, 4192, 832, 5397, 0, 0, 0}, {5654, 4176, 0, 0, 0, 0, 0}, {840, 119, 1280, 4352, 0, 0, 0}, {1608, 4656, 17408, 0, 0, 0, 0}, {1290, 4128, 4883, 5461, 0, 0, 0}, {1610, 4112, 0, 0, 0, 0, 0}, {4403, 4608, 4420, 1280, 0, 0, 0}, {1612, 4208, 16384, 0, 0, 0, 0}, {1290, 4386, 5911, 4437, 0, 0, 0}, {4698, 8738, 5140, 0, 0, 0, 0}, {4159, 4864, 4160, 1280, 0, 0, 0}, {1728, 2560, 13824, 20480, 0, 0, 0}, {8, 310, 514, 321, 1285, 4369, 0}, {8, 5152, 514, 1088, 0, 0, 0}, {1295, 1587, 21760, 0, 0, 0, 0}, {8, 512, 1092, 4096, 0, 0, 0}, {816, 1285, 0, 0, 0, 0, 0}, {2570, 22118, 0, 0, 0, 0, 0}, {1287, 1088, 4352, 0, 0, 0, 0}, {8, 512, 4160, 5120, 0, 0, 0}, {828, 13107, 1285, 0, 0, 0, 0}, {22122, 24672, 0, 0, 0, 0, 0}, {4103, 4420, 5376, 0, 0, 0, 0}, {1740, 2560, 12288, 20480, 0, 0, 0}, {8, 306, 514, 325, 1285, 4112, 0}, {8, 4128, 514, 1092, 0, 0, 0}, {1295, 816, 21760, 0, 0, 0, 0}, {3072, 1568, 4176, 0, 0, 0, 0}, {780, 1314, 1365, 4369, 0, 0, 0}, {4698, 1570, 17408, 0, 0, 0, 0}, {4127, 1312, 4883, 5440, 0, 0, 0}, {4656, 5140, 0, 0, 0, 0, 0}, {1322, 768, 1365, 4096, 0, 0, 0}, {4144, 5654, 16448, 0, 0, 0, 0}, {1375, 119, 768, 4352, 0, 0, 0}, {1576, 8704, 5200, 0, 0, 0, 0}, {780, 4915, 4160, 5397, 0, 0, 0}, {5722, 4208, 16384, 0, 0, 0, 0}, {5147, 4403, 5911, 4420, 0, 0, 0}, {1580, 4112, 0, 0, 0, 0, 0}, {4386, 768, 4437, 5120, 0, 0, 0}, {5180, 4626, 17476, 0, 0, 0, 0}, {4191, 4128, 768, 5376, 0, 0, 0}, {4192, 5632, 16448, 0, 0, 0, 0}, {1370, 119, 1553, 4369, 0, 0, 0}, {4714, 8738, 5120, 0, 0, 0, 0}, {4143, 4883, 4176, 5376, 0, 0, 0}, {5228, 4608, 17476, 0, 0, 0, 0}, {4175, 4144, 4864, 5397, 0, 0, 0}, {3148, 1638, 4096, 0, 0, 0, 0}, {1319, 1559, 1360, 4352, 0, 0, 0}, {4680, 1632, 17408, 0, 0, 0, 0}, {4111, 1317, 5654, 5461, 0, 0, 0}, {5674, 8192, 4160, 0, 0, 0, 0}, {4623, 4403, 4420, 5140, 0, 0, 0}, {5708, 4128, 16384, 0, 0, 0, 0}, {5135, 4386, 4626, 4437, 0, 0, 0}, {6144, 4642, 5188, 0, 0, 0, 0}, {1567, 816, 1360, 4112, 0, 0, 0}, {20720, 1536, 0, 0, 0, 0, 0}, {262, 1028, 4369, 0, 0, 0, 0}, {8, 514, 4176, 1024, 0, 0, 0}, {780, 13107, 1280, 0, 0, 0, 0}, {8, 4144, 512, 1028, 0, 0, 0}, {1290, 768, 21845, 0, 0, 0, 0}, {1542, 20560, 0, 0, 0, 0, 0}, {8, 119, 256, 0, 0, 0, 0}, {8, 4208, 512, 1024, 0, 0, 0}, {1290, 1542, 21845, 0, 0, 0, 0}, {1546, 20560, 0, 0, 0, 0, 0}, {4403, 512, 260, 0, 0, 0, 0}, {1548, 12336, 0, 0, 0, 0, 0}, {258, 4437, 1024, 0, 0, 0, 0}, {8, 514, 1028, 4112, 0, 0, 0}, {255, 768, 1280, 0, 0, 0, 0}, {2048, 30464, 0, 0, 0, 0, 0}, {6, 80, 257, 0, 0, 0, 0}, {10, 514, 21760, 0, 0, 0, 0}, {12, 48, 771, 1024, 0, 0, 0}, {12, 13056, 1028, 0, 0, 0, 0}, {10, 512, 80, 1285, 0, 0, 0}, {6, 1024, 4352, 0, 0, 0, 0}, {240, 1799, 0, 0, 0, 0, 0}, {30600, 2056, 0, 0, 0, 0, 0}, {259, 261, 4096, 0, 0, 0, 0}, {10, 512, 21760, 0, 0, 0, 0}, {12, 48, 771, 1028, 0, 0, 0}, {12, 13056, 1024, 0, 0, 0, 0}, {10, 514, 80, 1285, 0, 0, 0}, {6, 4420, 1028, 0, 0, 0, 0}, {1807, 28672, 0, 0, 0, 0, 0}, {48, 1808, 80, 4112, 0, 0, 0}, {2116, 102, 4369, 0, 0, 0, 0}, {90, 48, 4626, 5376, 0, 0, 0}, {108, 4883, 17408, 0, 0, 0, 0}, {60, 4864, 80, 5140, 0, 0, 0}, {106, 8704, 5397, 0, 0, 0, 0}, {90, 102, 1814, 4352, 0, 0, 0}, {96, 5911, 16384, 0, 0, 0, 0}, {1816, 48, 80, 4096, 0, 0, 0}, {6425, 4403, 4437, 0, 0, 0, 0}, {5402, 48, 4608, 5440, 0, 0, 0}, {4959, 4915, 17476, 0, 0, 0, 0}, {4892, 4896, 80, 5120, 0, 0, 0}, {5439, 8738, 5461, 0, 0, 0, 0}, {4382, 4386, 5632, 4420, 0, 0, 0}, {5983, 96, 16448, 0, 0, 0, 0}, {24320, 22304, 0, 0, 0, 0, 0}, {1042, 1092, 4369, 0, 0, 0, 0}, {170, 2082, 8738, 21760, 0, 0, 0}, {12, 48, 771, 80, 1040, 4112, 0}, {12, 1060, 4864, 1092, 0, 0, 0}, {90, 1829, 21845, 0, 0, 0, 0}, {12, 1062, 1088, 4352, 0, 0, 0}, {3855, 1831, 80, 0, 0, 0, 0}, {22312, 8192, 0, 0, 0, 0, 0}, {4355, 4437, 5397, 0, 0, 0, 0}, {170, 2090, 8704, 21760, 0, 0, 0}, {12, 48, 771, 80, 1044, 4096, 0}, {12, 1056, 5888, 1088, 0, 0, 0}, {90, 1911, 21845, 0, 0, 0, 0}, {12, 4386, 4420, 5376, 0, 0, 0}, {1839, 8224, 80, 0, 0, 0, 0}, {48, 1792, 16384, 0, 0, 0, 0}, {10, 102, 514, 4369, 0, 0, 0}, {10, 48, 514, 80, 1280, 4112, 0}, {204, 2048, 13107, 17408, 0, 0, 0}, {1800, 1844, 17476, 0, 0, 0, 0}, {10, 5429, 512, 5461, 0, 0, 0}, {10, 54, 512, 80, 1280, 4352, 0}, {192, 2056, 14135, 16448, 0, 0, 0}, {1800, 48, 16448, 0, 0, 0, 0}, {10, 4403, 512, 4437, 0, 0, 0}, {10, 48, 512, 80, 1280, 4096, 0}, {204, 2056, 13107, 17476, 0, 0, 0}, {60, 1792, 17408, 0, 0, 0, 0}, {10, 96, 514, 5397, 0, 0, 0}, {4386, 514, 4372, 0, 0, 0, 0}, {14143, 16384, 0, 0, 0, 0, 0}, {192, 2112, 14144, 16448, 0, 0, 0}, {10, 54, 532, 80, 1285, 4369, 0}, {10, 96, 578, 5376, 0, 0, 0}, {60, 1859, 17408, 0, 0, 0, 0}, {204, 2116, 13056, 17476, 0, 0, 0}, {10, 48, 528, 80, 1285, 4112, 0}, {10, 102, 582, 4352, 0, 0, 0}, {48, 1863, 16384, 0, 0, 0, 0}, {14152, 16384, 0, 0, 0, 0, 0}, {4403, 4883, 4357, 0, 0, 0, 0}, {10, 5408, 5888, 5440, 0, 0, 0}, {1867, 1911, 17476, 0, 0, 0, 0}, {204, 2124, 13056, 17408, 0, 0, 0}, {10, 48, 530, 80, 1285, 4096, 0}, {10, 4386, 4864, 4420, 0, 0, 0}, {1871, 48, 16448, 0, 0, 0, 0}, {1792, 80, 0, 0, 0, 0, 0}, {12, 102, 1028, 4369, 0, 0, 0}, {90, 1874, 21760, 0, 0, 0, 0}, {12, 96, 4947, 1024, 0, 0, 0}, {12, 48, 768, 80, 1028, 4112, 0}, {170, 2048, 8704, 21845, 0, 0, 0}, {86, 1024, 4352, 0, 0, 0, 0}, {160, 22359, 0, 0, 0, 0, 0}, {1800, 8224, 80, 0, 0, 0, 0}, {12, 4403, 4437, 1024, 0, 0, 0}, {90, 1792, 21760, 0, 0, 0, 0}, {12, 96, 4883, 1028, 0, 0, 0}, {12, 48, 768, 80, 1024, 4096, 0}, {170, 2056, 8738, 21845, 0, 0, 0}, {4370, 4420, 1028, 0, 0, 0, 0}, {22367, 8192, 0, 0, 0, 0, 0}, {96, 5888, 16384, 0, 0, 0, 0}, {90, 102, 1799, 4369, 0, 0, 0}, {5418, 8738, 5440, 0, 0, 0, 0}, {4879, 4915, 80, 5120, 0, 0, 0}, {4940, 4896, 17476, 0, 0, 0, 0}, {5391, 48, 4608, 5461, 0, 0, 0}, {2048, 102, 4352, 0, 0, 0, 0}, {48, 1799, 80, 4112, 0, 0, 0}, {5960, 96, 16448, 0, 0, 0, 0}, {4367, 4403, 5632, 4437, 0, 0, 0}, {106, 8704, 5376, 0, 0, 0, 0}, {60, 4883, 80, 5140, 0, 0, 0}, {108, 4864, 17408, 0, 0, 0, 0}, {90, 48, 4626, 5397, 0, 0, 0}, {2056, 4386, 4420, 0, 0, 0, 0}, {1807, 48, 80, 4096, 0, 0, 0}, {3840, 1904, 0, 0, 0, 0, 0}, {6, 1092, 4369, 0, 0, 0, 0}, {10, 546, 80, 1280, 0, 0, 0}, {12, 13107, 1088, 0, 0, 0, 0}, {12, 48, 768, 1092, 0, 0, 0}, {10, 544, 21845, 0, 0, 0, 0}, {6, 1280, 272, 0, 0, 0, 0}, {2184, 30583, 0, 0, 0, 0, 0}, {1912, 28672, 0, 0, 0, 0, 0}, {6, 4437, 5397, 0, 0, 0, 0}, {10, 544, 80, 1280, 0, 0, 0}, {12, 13107, 1092, 0, 0, 0, 0}, {12, 48, 768, 1088, 0, 0, 0}, {10, 546, 21845, 0, 0, 0, 0}, {274, 276, 4096, 0, 0, 0, 0}, {30719, 32639, 0, 0, 0, 0, 0}, {2176, 30464, 0, 0, 0, 0, 0}, {6, 1285, 273, 0, 0, 0, 0}, {10, 546, 21760, 0, 0, 0, 0}, {12, 48, 771, 1088, 0, 0, 0}, {12, 13056, 1092, 0, 0, 0, 0}, {10, 544, 80, 1285, 0, 0, 0}, {6, 1088, 4352, 0, 0, 0, 0}, {3855, 1911, 0, 0, 0, 0, 0}, {30600, 32512, 0, 0, 0, 0, 0}, {275, 277, 4112, 0, 0, 0, 0}, {10, 544, 21760, 0, 0, 0, 0}, {12, 48, 771, 1092, 0, 0, 0}, {12, 13056, 1088, 0, 0, 0, 0}, {10, 546, 80, 1285, 0, 0, 0}, {6, 4420, 5376, 0, 0, 0, 0}, {1919, 28784, 0, 0, 0, 0, 0}, {48, 1792, 80, 4096, 0, 0, 0}, {2056, 102, 4369, 0, 0, 0, 0}, {5402, 48, 4626, 5440, 0, 0, 0}, {4959, 4915, 17408, 0, 0, 0, 0}, {4892, 4896, 80, 5140, 0, 0, 0}, {5439, 8704, 5461, 0, 0, 0, 0}, {90, 102, 1792, 4352, 0, 0, 0}, {96, 5911, 16448, 0, 0, 0, 0}, {1800, 48, 80, 4112, 0, 0, 0}, {2048, 4403, 4437, 0, 0, 0, 0}, {90, 48, 4608, 5376, 0, 0, 0}, {108, 4883, 17476, 0, 0, 0, 0}, {60, 4864, 80, 5120, 0, 0, 0}, {106, 8738, 5397, 0, 0, 0, 0}, {4382, 4386, 5654, 4420, 0, 0, 0}, {5983, 96, 16384, 0, 0, 0, 0}, {160, 22272, 0, 0, 0, 0, 0}, {86, 1028, 4369, 0, 0, 0, 0}, {170, 2056, 8738, 21760, 0, 0, 0}, {12, 48, 771, 80, 1024, 4096, 0}, {12, 96, 4928, 1028, 0, 0, 0}, {90, 1877, 21845, 0, 0, 0, 0}, {12, 102, 1024, 4352, 0, 0, 0}, {1799, 80, 0, 0, 0, 0, 0}, {22280, 8224, 0, 0, 0, 0, 0}, {4355, 4437, 1024, 0, 0, 0, 0}, {170, 2048, 8704, 21760, 0, 0, 0}, {12, 48, 771, 80, 1028, 4112, 0}, {12, 96, 4864, 1024, 0, 0, 0}, {90, 1799, 21845, 0, 0, 0, 0}, {12, 4386, 4420, 1028, 0, 0, 0}, {1807, 8192, 80, 0, 0, 0, 0}, {48, 1856, 16448, 0, 0, 0, 0}, {10, 102, 580, 4369, 0, 0, 0}, {10, 48, 530, 80, 1280, 4096, 0}, {204, 2124, 13107, 17408, 0, 0, 0}, {60, 1860, 17476, 0, 0, 0, 0}, {10, 96, 576, 5397, 0, 0, 0}, {10, 54, 534, 80, 1280, 4352, 0}, {192, 2120, 14199, 16384, 0, 0, 0}, {1864, 48, 16384, 0, 0, 0, 0}, {10, 4403, 4883, 4437, 0, 0, 0}, {10, 48, 528, 80, 1280, 4112, 0}, {204, 2116, 13107, 17476, 0, 0, 0}, {1868, 1904, 17408, 0, 0, 0, 0}, {10, 5429, 5911, 5461, 0, 0, 0}, {4386, 4864, 4372, 0, 0, 0, 0}, {14207, 16448, 0, 0, 0, 0, 0}, {192, 2048, 14080, 16384, 0, 0, 0}, {10, 54, 514, 80, 1285, 4369, 0}, {10, 5408, 514, 5440, 0, 0, 0}, {1807, 1843, 17408, 0, 0, 0, 0}, {204, 2056, 13056, 17476, 0, 0, 0}, {10, 48, 512, 80, 1285, 4096, 0}, {10, 102, 512, 4352, 0, 0, 0}, {48, 1799, 16448, 0, 0, 0, 0}, {14088, 16448, 0, 0, 0, 0, 0}, {4403, 512, 4357, 0, 0, 0, 0}, {10, 96, 512, 5376, 0, 0, 0}, {60, 1799, 17476, 0, 0, 0, 0}, {204, 2048, 13056, 17408, 0, 0, 0}, {10, 48, 514, 80, 1285, 4112, 0}, {10, 4386, 514, 4420, 0, 0, 0}, {1807, 48, 16384, 0, 0, 0, 0}, {3840, 1824, 80, 0, 0, 0, 0}, {12, 1058, 1092, 4369, 0, 0, 0}, {90, 1826, 21760, 0, 0, 0, 0}, {12, 1056, 4883, 1088, 0, 0, 0}, {12, 48, 768, 80, 1044, 4096, 0}, {170, 2090, 8704, 21845, 0, 0, 0}, {1046, 1088, 4352, 0, 0, 0, 0}, {24415, 22391, 0, 0, 0, 0, 0}, {1832, 8192, 80, 0, 0, 0, 0}, {12, 4403, 4437, 5397, 0, 0, 0}, {90, 1904, 21760, 0, 0, 0, 0}, {12, 1060, 5911, 1092, 0, 0, 0}, {12, 48, 768, 80, 1040, 4112, 0}, {170, 2082, 8738, 21845, 0, 0, 0}, {4370, 4420, 5376, 0, 0, 0, 0}, {22399, 8224, 0, 0, 0, 0, 0}, {96, 5888, 16448, 0, 0, 0, 0}, {90, 102, 1809, 4369, 0, 0, 0}, {106, 8738, 5376, 0, 0, 0, 0}, {60, 4883, 80, 5120, 0, 0, 0}, {108, 4864, 17476, 0, 0, 0, 0}, {90, 48, 4608, 5397, 0, 0, 0}, {2124, 102, 4352, 0, 0, 0, 0}, {48, 1815, 80, 4096, 0, 0, 0}, {5960, 96, 16384, 0, 0, 0, 0}, {4367, 4403, 5654, 4437, 0, 0, 0}, {5418, 8704, 5440, 0, 0, 0, 0}, {4879, 4915, 80, 5140, 0, 0, 0}, {4940, 4896, 17408, 0, 0, 0, 0}, {5391, 48, 4626, 5461, 0, 0, 0}, {6400, 4386, 4420, 0, 0, 0, 0}, {1823, 48, 80, 4112, 0, 0, 0}, {240, 1792, 0, 0, 0, 0, 0}, {6, 1028, 4369, 0, 0, 0, 0}, {10, 514, 80, 1280, 0, 0, 0}, {12, 13107, 1024, 0, 0, 0, 0}, {12, 48, 768, 1028, 0, 0, 0}, {10, 512, 21845, 0, 0, 0, 0}, {6, 80, 256, 0, 0, 0, 0}, {2056, 30583, 0, 0, 0, 0, 0}, {1800, 28784, 0, 0, 0, 0, 0}, {6, 4437, 1024, 0, 0, 0, 0}, {10, 512, 80, 1280, 0, 0, 0}, {12, 13107, 1028, 0, 0, 0, 0}, {12, 48, 768, 1024, 0, 0, 0}, {10, 514, 21845, 0, 0, 0, 0}, {258, 260, 4112, 0, 0, 0, 0}, {30719, 2048, 0, 0, 0, 0, 0}, {2048, 28672, 0, 0, 0, 0, 0}, {6, 85, 257, 0, 0, 0, 0}, {10, 514, 20480, 0, 0, 0, 0}, {12, 51, 771, 1024, 0, 0, 0}, {12, 12288, 1028, 0, 0, 0, 0}, {10, 512, 85, 1285, 0, 0, 0}, {6, 1024, 4096, 0, 0, 0, 0}, {255, 1799, 0, 0, 0, 0, 0}, {28800, 2056, 0, 0, 0, 0, 0}, {259, 261, 4352, 0, 0, 0, 0}, {10, 512, 20480, 0, 0, 0, 0}, {12, 51, 771, 1028, 0, 0, 0}, {12, 12288, 1024, 0, 0, 0, 0}, {10, 514, 85, 1285, 0, 0, 0}, {6, 4160, 1028, 0, 0, 0, 0}, {1807, 30464, 0, 0, 0, 0, 0}, {2112, 96, 4112, 0, 0, 0, 0}, {51, 1809, 85, 4369, 0, 0, 0}, {106, 4626, 16384, 0, 0, 0, 0}, {95, 51, 4883, 5120, 0, 0, 0}, {108, 8192, 5140, 0, 0, 0, 0}, {63, 4608, 85, 5397, 0, 0, 0}, {102, 5654, 17408, 0, 0, 0, 0}, {95, 96, 1815, 4096, 0, 0, 0}, {6168, 4144, 4176, 0, 0, 0, 0}, {1817, 51, 85, 4352, 0, 0, 0}, {4698, 4656, 16448, 0, 0, 0, 0}, {5147, 51, 4864, 5188, 0, 0, 0}, {5180, 8224, 5200, 0, 0, 0, 0}, {4637, 4642, 85, 5376, 0, 0, 0}, {5722, 102, 17476, 0, 0, 0, 0}, {4127, 4128, 5888, 4160, 0, 0, 0}, {160, 2080, 8224, 20480, 0, 0, 0}, {12, 51, 771, 85, 1041, 4369, 0}, {23040, 21026, 0, 0, 0, 0, 0}, {1043, 1088, 4112, 0, 0, 0, 0}, {12, 1060, 1092, 4096, 0, 0, 0}, {3855, 1829, 85, 0, 0, 0, 0}, {12, 1062, 4608, 1088, 0, 0, 0}, {95, 1831, 20560, 0, 0, 0, 0}, {160, 2088, 8192, 20480, 0, 0, 0}, {12, 51, 771, 85, 1045, 4352, 0}, {21034, 8704, 0, 0, 0, 0, 0}, {4099, 4176, 5140, 0, 0, 0, 0}, {12, 4128, 4160, 5120, 0, 0, 0}, {1837, 8738, 85, 0, 0, 0, 0}, {12, 1058, 5632, 1092, 0, 0, 0}, {95, 1904, 20560, 0, 0, 0, 0}, {192, 2048, 12336, 16384, 0, 0, 0}, {10, 51, 514, 85, 1280, 4369, 0}, {10, 96, 514, 4112, 0, 0, 0}, {51, 1792, 17408, 0, 0, 0, 0}, {204, 2056, 13364, 17476, 0, 0, 0}, {10, 53, 512, 85, 1280, 4096, 0}, {10, 5174, 512, 5200, 0, 0, 0}, {1800, 1847, 16448, 0, 0, 0, 0}, {192, 2056, 12336, 16448, 0, 0, 0}, {10, 51, 512, 85, 1280, 4352, 0}, {10, 4144, 512, 4176, 0, 0, 0}, {1800, 51, 17476, 0, 0, 0, 0}, {13372, 17408, 0, 0, 0, 0, 0}, {4128, 514, 4117, 0, 0, 0, 0}, {10, 102, 514, 5140, 0, 0, 0}, {63, 1792, 16384, 0, 0, 0, 0}, {192, 2112, 12288, 16448, 0, 0, 0}, {10, 51, 529, 85, 1285, 4369, 0}, {10, 96, 578, 4096, 0, 0, 0}, {51, 1859, 17408, 0, 0, 0, 0}, {204, 2116, 13380, 17476, 0, 0, 0}, {10, 53, 533, 85, 1285, 4112, 0}, {10, 102, 582, 5120, 0, 0, 0}, {63, 1863, 16384, 0, 0, 0, 0}, {192, 2120, 12288, 16384, 0, 0, 0}, {10, 51, 531, 85, 1285, 4352, 0}, {10, 4128, 4608, 4160, 0, 0, 0}, {1867, 51, 17476, 0, 0, 0, 0}, {13388, 17408, 0, 0, 0, 0, 0}, {4144, 4626, 4101, 0, 0, 0, 0}, {10, 5154, 5632, 5188, 0, 0, 0}, {1871, 1904, 16448, 0, 0, 0, 0}, {160, 2048, 8192, 20560, 0, 0, 0}, {12, 51, 768, 85, 1028, 4369, 0}, {170, 21074, 0, 0, 0, 0, 0}, {83, 1024, 4096, 0, 0, 0, 0}, {12, 96, 1028, 4112, 0, 0, 0}, {1792, 85, 0, 0, 0, 0, 0}, {12, 102, 4694, 1024, 0, 0, 0}, {95, 1879, 20480, 0, 0, 0, 0}, {160, 2056, 8224, 20560, 0, 0, 0}, {12, 51, 768, 85, 1024, 4352, 0}, {21082, 8704, 0, 0, 0, 0, 0}, {4115, 4160, 1028, 0, 0, 0, 0}, {12, 4144, 4176, 1024, 0, 0, 0}, {1800, 8738, 85, 0, 0, 0, 0}, {12, 102, 4626, 1028, 0, 0, 0}, {95, 1792, 20480, 0, 0, 0, 0}, {2048, 96, 4096, 0, 0, 0, 0}, {51, 1799, 85, 4369, 0, 0, 0}, {4680, 4642, 16448, 0, 0, 0, 0}, {5135, 51, 4864, 5200, 0, 0, 0}, {5160, 8224, 5188, 0, 0, 0, 0}, {4623, 4656, 85, 5376, 0, 0, 0}, {102, 5632, 17408, 0, 0, 0, 0}, {95, 96, 1799, 4112, 0, 0, 0}, {2056, 4128, 4160, 0, 0, 0, 0}, {1807, 51, 85, 4352, 0, 0, 0}, {106, 4608, 16384, 0, 0, 0, 0}, {95, 51, 4883, 5140, 0, 0, 0}, {108, 8192, 5120, 0, 0, 0, 0}, {63, 4626, 85, 5397, 0, 0, 0}, {5708, 102, 17476, 0, 0, 0, 0}, {4111, 4144, 5888, 4176, 0, 0, 0}, {2176, 28784, 0, 0, 0, 0, 0}, {6, 1280, 273, 0, 0, 0, 0}, {10, 546, 20560, 0, 0, 0, 0}, {12, 51, 768, 1088, 0, 0, 0}, {12, 12336, 1092, 0, 0, 0, 0}, {10, 544, 85, 1280, 0, 0, 0}, {6, 1088, 4112, 0, 0, 0, 0}, {3840, 1911, 0, 0, 0, 0, 0}, {28912, 30840, 0, 0, 0, 0, 0}, {275, 277, 4352, 0, 0, 0, 0}, {10, 544, 20560, 0, 0, 0, 0}, {12, 51, 768, 1092, 0, 0, 0}, {12, 12336, 1088, 0, 0, 0, 0}, {10, 546, 85, 1280, 0, 0, 0}, {6, 4176, 5140, 0, 0, 0, 0}, {1919, 30464, 0, 0, 0, 0, 0}, {28800, 30720, 0, 0, 0, 0, 0}, {274, 276, 4369, 0, 0, 0, 0}, {10, 546, 20480, 0, 0, 0, 0}, {12, 51, 771, 1088, 0, 0, 0}, {12, 12288, 1092, 0, 0, 0, 0}, {10, 544, 85, 1285, 0, 0, 0}, {6, 4160, 5120, 0, 0, 0, 0}, {1912, 30583, 0, 0, 0, 0, 0}, {2184, 28672, 0, 0, 0, 0, 0}, {6, 1285, 272, 0, 0, 0, 0}, {10, 544, 20480, 0, 0, 0, 0}, {12, 51, 771, 1092, 0, 0, 0}, {12, 12288, 1088, 0, 0, 0, 0}, {10, 546, 85, 1285, 0, 0, 0}, {6, 1092, 4096, 0, 0, 0, 0}, {3855, 1904, 0, 0, 0, 0, 0}, {2048, 4144, 4176, 0, 0, 0, 0}, {1800, 51, 85, 4369, 0, 0, 0}, {106, 4626, 16448, 0, 0, 0, 0}, {95, 51, 4864, 5120, 0, 0, 0}, {108, 8224, 5140, 0, 0, 0, 0}, {63, 4608, 85, 5376, 0, 0, 0}, {5722, 102, 17408, 0, 0, 0, 0}, {4127, 4128, 5911, 4160, 0, 0, 0}, {2056, 96, 4112, 0, 0, 0, 0}, {51, 1792, 85, 4352, 0, 0, 0}, {4698, 4656, 16384, 0, 0, 0, 0}, {5147, 51, 4883, 5188, 0, 0, 0}, {5180, 8192, 5200, 0, 0, 0, 0}, {4637, 4642, 85, 5397, 0, 0, 0}, {102, 5654, 17476, 0, 0, 0, 0}, {95, 96, 1792, 4096, 0, 0, 0}, {160, 2048, 8192, 20480, 0, 0, 0}, {12, 51, 771, 85, 1028, 4369, 0}, {21000, 8738, 0, 0, 0, 0, 0}, {4099, 4176, 1024, 0, 0, 0, 0}, {12, 4128, 4160, 1028, 0, 0, 0}, {1807, 8704, 85, 0, 0, 0, 0}, {12, 102, 4608, 1024, 0, 0, 0}, {95, 1799, 20560, 0, 0, 0, 0}, {160, 2056, 8224, 20480, 0, 0, 0}, {12, 51, 771, 85, 1024, 4352, 0}, {170, 20992, 0, 0, 0, 0, 0}, {83, 1028, 4112, 0, 0, 0, 0}, {12, 96, 1024, 4096, 0, 0, 0}, {1799, 85, 0, 0, 0, 0, 0}, {12, 102, 4676, 1028, 0, 0, 0}, {95, 1872, 20560, 0, 0, 0, 0}, {192, 2112, 12336, 16448, 0, 0, 0}, {10, 51, 529, 85, 1280, 4369, 0}, {10, 4144, 4626, 4176, 0, 0, 0}, {1868, 51, 17408, 0, 0, 0, 0}, {13432, 17476, 0, 0, 0, 0, 0}, {4128, 4608, 4117, 0, 0, 0, 0}, {10, 5174, 5654, 5200, 0, 0, 0}, {1864, 1911, 16384, 0, 0, 0, 0}, {192, 2120, 12336, 16384, 0, 0, 0}, {10, 51, 531, 85, 1280, 4352, 0}, {10, 96, 576, 4112, 0, 0, 0}, {51, 1860, 17476, 0, 0, 0, 0}, {204, 2124, 13424, 17408, 0, 0, 0}, {10, 53, 535, 85, 1280, 4096, 0}, {10, 102, 580, 5140, 0, 0, 0}, {63, 1856, 16448, 0, 0, 0, 0}, {192, 2048, 12288, 16384, 0, 0, 0}, {10, 51, 514, 85, 1285, 4369, 0}, {10, 4128, 514, 4160, 0, 0, 0}, {1807, 51, 17408, 0, 0, 0, 0}, {13320, 17476, 0, 0, 0, 0, 0}, {4144, 512, 4101, 0, 0, 0, 0}, {10, 102, 512, 5120, 0, 0, 0}, {63, 1799, 16448, 0, 0, 0, 0}, {192, 2056, 12288, 16448, 0, 0, 0}, {10, 51, 512, 85, 1285, 4352, 0}, {10, 96, 512, 4096, 0, 0, 0}, {51, 1799, 17476, 0, 0, 0, 0}, {204, 2048, 13312, 17408, 0, 0, 0}, {10, 53, 514, 85, 1285, 4112, 0}, {10, 5154, 514, 5188, 0, 0, 0}, {1807, 1840, 16384, 0, 0, 0, 0}, {160, 2080, 8224, 20560, 0, 0, 0}, {12, 51, 768, 85, 1041, 4369, 0}, {21112, 8738, 0, 0, 0, 0, 0}, {4115, 4160, 5120, 0, 0, 0, 0}, {12, 4144, 4176, 5140, 0, 0, 0}, {1834, 8704, 85, 0, 0, 0, 0}, {12, 1062, 5654, 1088, 0, 0, 0}, {95, 1911, 20480, 0, 0, 0, 0}, {160, 2088, 8192, 20560, 0, 0, 0}, {12, 51, 768, 85, 1045, 4352, 0}, {23130, 21104, 0, 0, 0, 0, 0}, {1047, 1092, 4096, 0, 0, 0, 0}, {12, 1056, 1088, 4112, 0, 0, 0}, {3840, 1826, 85, 0, 0, 0, 0}, {12, 1058, 4626, 1092, 0, 0, 0}, {95, 1824, 20480, 0, 0, 0, 0}, {6144, 4128, 4160, 0, 0, 0, 0}, {1822, 51, 85, 4369, 0, 0, 0}, {4680, 4642, 16384, 0, 0, 0, 0}, {5135, 51, 4883, 5200, 0, 0, 0}, {5160, 8192, 5188, 0, 0, 0, 0}, {4623, 4656, 85, 5397, 0, 0, 0}, {5708, 102, 17408, 0, 0, 0, 0}, {4111, 4144, 5911, 4176, 0, 0, 0}, {2120, 96, 4096, 0, 0, 0, 0}, {51, 1814, 85, 4352, 0, 0, 0}, {106, 4608, 16448, 0, 0, 0, 0}, {95, 51, 4864, 5140, 0, 0, 0}, {108, 8224, 5120, 0, 0, 0, 0}, {63, 4626, 85, 5376, 0, 0, 0}, {102, 5632, 17476, 0, 0, 0, 0}, {95, 96, 1808, 4112, 0, 0, 0}, {28912, 2048, 0, 0, 0, 0, 0}, {258, 260, 4369, 0, 0, 0, 0}, {10, 514, 20560, 0, 0, 0, 0}, {12, 51, 768, 1024, 0, 0, 0}, {12, 12336, 1028, 0, 0, 0, 0}, {10, 512, 85, 1280, 0, 0, 0}, {6, 4176, 1024, 0, 0, 0, 0}, {1800, 30583, 0, 0, 0, 0, 0}, {2056, 28784, 0, 0, 0, 0, 0}, {6, 85, 256, 0, 0, 0, 0}, {10, 512, 20560, 0, 0, 0, 0}, {12, 51, 768, 1028, 0, 0, 0}, {12, 12336, 1024, 0, 0, 0, 0}, {10, 514, 85, 1280, 0, 0, 0}, {6, 1028, 4112, 0, 0, 0, 0}, {255, 1792, 0, 0, 0, 0, 0}, {1536, 21760, 0, 0, 0, 0, 0}, {8, 112, 257, 0, 0, 0, 0}, {8, 4386, 514, 1024, 0, 0, 0}, {1295, 771, 20480, 0, 0, 0, 0}, {8, 512, 4420, 1028, 0, 0, 0}, {783, 12288, 1285, 0, 0, 0, 0}, {21930, 1542, 0, 0, 0, 0, 0}, {263, 1024, 4096, 0, 0, 0, 0}, {8, 512, 1024, 4352, 0, 0, 0}, {240, 771, 1285, 0, 0, 0, 0}, {1546, 13056, 0, 0, 0, 0, 0}, {259, 4160, 1028, 0, 0, 0, 0}, {1548, 21760, 0, 0, 0, 0, 0}, {4128, 514, 261, 0, 0, 0, 0}, {8, 4454, 514, 1028, 0, 0, 0}, {1295, 1536, 20480, 0, 0, 0, 0}, {1312, 1552, 1360, 4112, 0, 0, 0}, {3140, 1638, 4369, 0, 0, 0, 0}, {4442, 4386, 4626, 5120, 0, 0, 0}, {5503, 4883, 16384, 0, 0, 0, 0}, {4412, 4608, 4420, 5140, 0, 0, 0}, {4991, 8192, 5397, 0, 0, 0, 0}, {1370, 112, 1558, 4096, 0, 0, 0}, {4471, 5911, 17408, 0, 0, 0, 0}, {1560, 816, 1360, 4352, 0, 0, 0}, {6425, 4915, 5461, 0, 0, 0, 0}, {5402, 4144, 4864, 4160, 0, 0, 0}, {5983, 4403, 17476, 0, 0, 0, 0}, {4892, 4128, 4176, 5376, 0, 0, 0}, {5951, 8738, 4437, 0, 0, 0, 0}, {4382, 1314, 5888, 5188, 0, 0, 0}, {4959, 1632, 16448, 0, 0, 0, 0}, {4896, 5376, 0, 0, 0, 0, 0}, {1325, 771, 1365, 4369, 0, 0, 0}, {4386, 5888, 17408, 0, 0, 0, 0}, {1375, 112, 771, 4112, 0, 0, 0}, {3084, 1572, 4420, 0, 0, 0, 0}, {783, 1317, 1365, 4096, 0, 0, 0}, {4940, 1574, 16448, 0, 0, 0, 0}, {4367, 1319, 4608, 5200, 0, 0, 0}, {1576, 4352, 0, 0, 0, 0, 0}, {4144, 771, 4160, 5397, 0, 0, 0}, {5418, 4864, 16384, 0, 0, 0, 0}, {4427, 4403, 771, 5140, 0, 0, 0}, {1580, 8224, 5440, 0, 0, 0, 0}, {783, 4642, 4437, 5120, 0, 0, 0}, {5960, 4454, 17476, 0, 0, 0, 0}, {5391, 4128, 5632, 4176, 0, 0, 0}, {816, 1280, 0, 0, 0, 0, 0}, {8, 514, 1092, 4369, 0, 0, 0}, {1282, 1088, 4112, 0, 0, 0, 0}, {2560, 21299, 0, 0, 0, 0, 0}, {8, 308, 512, 324, 1280, 4096, 0}, {1738, 2570, 13621, 21845, 0, 0, 0}, {1290, 1590, 20560, 0, 0, 0, 0}, {8, 5431, 512, 1088, 0, 0, 0}, {8, 304, 512, 320, 1280, 4352, 0}, {1734, 2570, 13107, 21845, 0, 0, 0}, {1290, 816, 20560, 0, 0, 0, 0}, {8, 4403, 512, 1092, 0, 0, 0}, {828, 12288, 1280, 0, 0, 0, 0}, {8, 514, 4437, 5397, 0, 0, 0}, {4374, 4176, 5140, 0, 0, 0, 0}, {21311, 26112, 0, 0, 0, 0, 0}, {4864, 5440, 0, 0, 0, 0, 0}, {843, 819, 1285, 4369, 0, 0, 0}, {4386, 1602, 17408, 0, 0, 0, 0}, {1295, 112, 835, 4096, 0, 0, 0}, {5888, 4420, 0, 0, 0, 0, 0}, {847, 112, 1285, 4112, 0, 0, 0}, {5418, 1606, 16384, 0, 0, 0, 0}, {4367, 4471, 839, 5120, 0, 0, 0}, {1608, 4352, 0, 0, 0, 0, 0}, {4128, 4883, 4176, 1285, 0, 0, 0}, {1610, 4896, 16448, 0, 0, 0, 0}, {1295, 4403, 4608, 5188, 0, 0, 0}, {4940, 8192, 5376, 0, 0, 0, 0}, {4397, 4626, 4437, 1285, 0, 0, 0}, {1614, 4454, 17476, 0, 0, 0, 0}, {1295, 4144, 5632, 4160, 0, 0, 0}, {768, 1360, 0, 0, 0, 0, 0}, {8, 546, 1028, 4369, 0, 0, 0}, {338, 1024, 4096, 0, 0, 0, 0}, {22015, 21331, 0, 0, 0, 0, 0}, {8, 292, 772, 340, 1028, 4112, 0}, {1706, 3072, 13653, 21845, 0, 0, 0}, {1370, 1622, 20480, 0, 0, 0, 0}, {8, 4471, 4951, 1024, 0, 0, 0}, {8, 288, 768, 336, 1024, 4352, 0}, {1702, 3084, 13107, 21845, 0, 0, 0}, {1370, 768, 20480, 0, 0, 0, 0}, {8, 4403, 4883, 1028, 0, 0, 0}, {780, 12336, 1360, 0, 0, 0, 0}, {8, 546, 4437, 1024, 0, 0, 0}, {4374, 4160, 1028, 0, 0, 0, 0}, {21343, 26112, 0, 0, 0, 0, 0}, {1632, 21760, 0, 0, 0, 0, 0}, {8, 1799, 273, 0, 0, 0, 0}, {8, 4386, 4864, 1088, 0, 0, 0}, {1375, 819, 20560, 0, 0, 0, 0}, {8, 544, 4420, 5376, 0, 0, 0}, {831, 12336, 1365, 0, 0, 0, 0}, {24320, 1638, 0, 0, 0, 0, 0}, {279, 1088, 4112, 0, 0, 0, 0}, {8, 544, 1088, 4352, 0, 0, 0}, {3855, 819, 1365, 0, 0, 0, 0}, {1642, 13056, 0, 0, 0, 0, 0}, {275, 4176, 5140, 0, 0, 0, 0}, {1644, 21760, 0, 0, 0, 0, 0}, {4144, 4626, 277, 0, 0, 0, 0}, {8, 5410, 5888, 1092, 0, 0, 0}, {1375, 1632, 20560, 0, 0, 0, 0}, {112, 768, 1280, 4096, 0, 0, 0}, {136, 1542, 4369, 0, 0, 0, 0}, {1290, 4386, 768, 5200, 0, 0, 0}, {1548, 4915, 16448, 0, 0, 0, 0}, {780, 4656, 4420, 1280, 0, 0, 0}, {1546, 8224, 5461, 0, 0, 0, 0}, {1290, 112, 1542, 4112, 0, 0, 0}, {4471, 1536, 17408, 0, 0, 0, 0}, {120, 768, 1280, 4352, 0, 0, 0}, {128, 4883, 5397, 0, 0, 0, 0}, {1290, 4128, 768, 4176, 0, 0, 0}, {1548, 4403, 17476, 0, 0, 0, 0}, {780, 4144, 4160, 1280, 0, 0, 0}, {1546, 8738, 4437, 0, 0, 0, 0}, {4382, 4454, 4626, 5140, 0, 0, 0}, {5503, 1536, 16384, 0, 0, 0, 0}, {128, 4864, 5376, 0, 0, 0, 0}, {120, 771, 1285, 4369, 0, 0, 0}, {1546, 4386, 17408, 0, 0, 0, 0}, {1295, 4144, 771, 4160, 0, 0, 0}, {1548, 8704, 4420, 0, 0, 0, 0}, {783, 4128, 4176, 1285, 0, 0, 0}, {5482, 1542, 16448, 0, 0, 0, 0}, {4367, 4471, 4608, 5120, 0, 0, 0}, {136, 1536, 4352, 0, 0, 0, 0}, {112, 771, 1285, 4112, 0, 0, 0}, {1546, 4896, 16384, 0, 0, 0, 0}, {1295, 4403, 771, 5188, 0, 0, 0}, {1548, 8192, 5440, 0, 0, 0, 0}, {783, 4642, 4437, 1285, 0, 0, 0}, {4454, 1542, 17476, 0, 0, 0, 0}, {1295, 112, 1536, 4096, 0, 0, 0}, {3840, 816, 1360, 0, 0, 0, 0}, {8, 546, 1092, 4369, 0, 0, 0}, {274, 4160, 5120, 0, 0, 0, 0}, {1644, 13107, 0, 0, 0, 0, 0}, {4128, 4608, 276, 0, 0, 0, 0}, {1642, 21845, 0, 0, 0, 0, 0}, {1370, 1638, 20480, 0, 0, 0, 0}, {8, 5431, 5911, 1088, 0, 0, 0}, {8, 1792, 272, 0, 0, 0, 0}, {1638, 21845, 0, 0, 0, 0, 0}, {1370, 816, 20480, 0, 0, 0, 0}, {8, 4403, 4883, 1092, 0, 0, 0}, {828, 12288, 1360, 0, 0, 0, 0}, {8, 546, 4437, 5397, 0, 0, 0}, {278, 1092, 4096, 0, 0, 0, 0}, {24415, 1632, 0, 0, 0, 0, 0}, {1696, 3072, 13056, 21760, 0, 0, 0}, {8, 289, 771, 337, 1028, 4369, 0}, {8, 4386, 4864, 1024, 0, 0, 0}, {1375, 771, 20560, 0, 0, 0, 0}, {8, 544, 4420, 1028, 0, 0, 0}, {783, 12288, 1365, 0, 0, 0, 0}, {21260, 26214, 0, 0, 0, 0, 0}, {4359, 4176, 1024, 0, 0, 0, 0}, {8, 544, 1024, 4352, 0, 0, 0}, {771, 1365, 0, 0, 0, 0, 0}, {21930, 21248, 0, 0, 0, 0, 0}, {339, 1028, 4112, 0, 0, 0, 0}, {1708, 3084, 13664, 21760, 0, 0, 0}, {8, 293, 775, 341, 1024, 4096, 0}, {8, 4454, 4932, 1028, 0, 0, 0}, {1375, 1616, 20560, 0, 0, 0, 0}, {4144, 4864, 4160, 1280, 0, 0, 0}, {1614, 4369, 0, 0, 0, 0, 0}, {1290, 4386, 4626, 5200, 0, 0, 0}, {1612, 4915, 16384, 0, 0, 0, 0}, {4412, 4608, 4420, 1280, 0, 0, 0}, {4959, 8224, 5397, 0, 0, 0, 0}, {1290, 4128, 5654, 4176, 0, 0, 0}, {1608, 4471, 17408, 0, 0, 0, 0}, {840, 816, 1280, 4352, 0, 0, 0}, {4883, 5461, 0, 0, 0, 0, 0}, {1290, 112, 832, 4112, 0, 0, 0}, {4403, 1604, 17476, 0, 0, 0, 0}, {844, 112, 1280, 4096, 0, 0, 0}, {5911, 4437, 0, 0, 0, 0, 0}, {4382, 4454, 836, 5140, 0, 0, 0}, {5439, 1600, 16448, 0, 0, 0, 0}, {1728, 2560, 13056, 21760, 0, 0, 0}, {8, 305, 514, 321, 1285, 4369, 0}, {8, 4386, 514, 1088, 0, 0, 0}, {1295, 819, 20480, 0, 0, 0, 0}, {8, 512, 4420, 5376, 0, 0, 0}, {831, 12336, 1285, 0, 0, 0, 0}, {21356, 26214, 0, 0, 0, 0, 0}, {4359, 4160, 5120, 0, 0, 0, 0}, {8, 512, 1088, 4352, 0, 0, 0}, {819, 1285, 0, 0, 0, 0, 0}, {2570, 21344, 0, 0, 0, 0, 0}, {1287, 1092, 4096, 0, 0, 0, 0}, {1740, 2560, 13568, 21760, 0, 0, 0}, {8, 309, 514, 325, 1285, 4112, 0}, {8, 5410, 514, 1092, 0, 0, 0}, {1295, 1584, 20480, 0, 0, 0, 0}, {4128, 768, 4176, 5376, 0, 0, 0}, {1582, 4369, 0, 0, 0, 0, 0}, {4442, 4386, 768, 5120, 0, 0, 0}, {5439, 4883, 16448, 0, 0, 0, 0}, {780, 4656, 4420, 5140, 0, 0, 0}, {1578, 8192, 5461, 0, 0, 0, 0}, {5402, 4144, 5654, 4160, 0, 0, 0}, {5983, 4471, 17408, 0, 0, 0, 0}, {1320, 768, 1360, 4352, 0, 0, 0}, {4915, 5397, 0, 0, 0, 0, 0}, {1370, 112, 768, 4096, 0, 0, 0}, {4403, 5911, 17476, 0, 0, 0, 0}, {780, 1312, 1360, 4112, 0, 0, 0}, {3072, 1570, 4437, 0, 0, 0, 0}, {4382, 1314, 4626, 5188, 0, 0, 0}, {4959, 1568, 16384, 0, 0, 0, 0}, {6400, 4896, 5440, 0, 0, 0, 0}, {1566, 819, 1365, 4369, 0, 0, 0}, {5960, 4386, 17408, 0, 0, 0, 0}, {5391, 4128, 4883, 4176, 0, 0, 0}, {5928, 8704, 4420, 0, 0, 0, 0}, {4879, 4144, 4160, 5397, 0, 0, 0}, {4940, 1638, 16384, 0, 0, 0, 0}, {4367, 1319, 5911, 5200, 0, 0, 0}, {3144, 1632, 4352, 0, 0, 0, 0}, {1317, 1558, 1365, 4096, 0, 0, 0}, {5482, 4864, 16448, 0, 0, 0, 0}, {4427, 4403, 4608, 5140, 0, 0, 0}, {4972, 8224, 5376, 0, 0, 0, 0}, {4397, 4626, 4437, 5120, 0, 0, 0}, {4454, 5888, 17476, 0, 0, 0, 0}, {1375, 112, 1552, 4112, 0, 0, 0}, {240, 768, 1280, 0, 0, 0, 0}, {8, 514, 1028, 4369, 0, 0, 0}, {258, 4176, 1024, 0, 0, 0, 0}, {1548, 13107, 0, 0, 0, 0, 0}, {4144, 512, 260, 0, 0, 0, 0}, {1546, 21845, 0, 0, 0, 0, 0}, {1290, 1542, 20560, 0, 0, 0, 0}, {8, 4471, 512, 1024, 0, 0, 0}, {8, 112, 256, 0, 0, 0, 0}, {1542, 21845, 0, 0, 0, 0, 0}, {1290, 768, 20560, 0, 0, 0, 0}, {8, 4403, 512, 1028, 0, 0, 0}, {780, 12336, 1280, 0, 0, 0, 0}, {8, 514, 4437, 1024, 0, 0, 0}, {262, 1028, 4112, 0, 0, 0, 0}, {22015, 1536, 0, 0, 0, 0, 0}, {2560, 20480, 0, 0, 0, 0, 0}, {51, 4, 257, 0, 0, 0, 0}, {8, 20512, 514, 0, 0, 0, 0}, {1283, 21760, 0, 0, 0, 0, 0}, {512, 4, 4096, 0, 0, 0, 0}, {255, 1285, 0, 0, 0, 0, 0}, {12, 20576, 1542, 0, 0, 0, 0}, {1287, 21760, 0, 0, 0, 0, 0}, {8, 512, 20480, 0, 0, 0, 0}, {12, 51, 771, 1285, 0, 0, 0}, {20640, 2570, 0, 0, 0, 0, 0}, {259, 4, 4352, 0, 0, 0, 0}, {12, 1536, 20480, 0, 0, 0, 0}, {8, 119, 514, 1285, 0, 0, 0}, {4128, 514, 4, 0, 0, 0, 0}, {1295, 21760, 0, 0, 0, 0, 0}, {2592, 64, 4112, 0, 0, 0, 0}, {51, 68, 1297, 4369, 0, 0, 0}, {72, 20528, 4626, 0, 0, 0, 0}, {1299, 21760, 0, 0, 0, 0, 0}, {8704, 68, 5140, 0, 0, 0, 0}, {63, 64, 1301, 4096, 0, 0, 0}, {76, 20592, 5654, 0, 0, 0, 0}, {1303, 21760, 0, 0, 0, 0, 0}, {72, 4656, 20560, 0, 0, 0, 0}, {1305, 51, 4864, 1365, 0, 0, 0}, {6682, 4144, 64, 0, 0, 0, 0}, {1307, 51, 68, 4352, 0, 0, 0}, {76, 5744, 20560, 0, 0, 0, 0}, {1309, 1314, 5888, 1365, 0, 0, 0}, {5180, 8738, 68, 0, 0, 0, 0}, {4127, 4128, 64, 5376, 0, 0, 0}, {23040, 20512, 0, 0, 0, 0, 0}, {1298, 68, 4369, 0, 0, 0, 0}, {136, 2594, 8738, 20480, 0, 0, 0}, {12, 51, 771, 64, 1296, 4112, 0}, {12, 5156, 4608, 68, 0, 0, 0}, {1370, 1317, 21845, 0, 0, 0, 0}, {12, 1574, 64, 4096, 0, 0, 0}, {3855, 1319, 1360, 0, 0, 0, 0}, {20520, 8704, 0, 0, 0, 0, 0}, {4099, 64, 5397, 0, 0, 0, 0}, {128, 2602, 8192, 20480, 0, 0, 0}, {12, 51, 771, 68, 1300, 4352, 0}, {12, 4128, 5632, 64, 0, 0, 0}, {1370, 119, 21845, 0, 0, 0, 0}, {12, 4642, 68, 5120, 0, 0, 0}, {1327, 8224, 1360, 0, 0, 0, 0}, {2560, 20528, 0, 0, 0, 0, 0}, {1282, 68, 4369, 0, 0, 0, 0}, {8, 514, 64, 4112, 0, 0, 0}, {51, 1280, 0, 0, 0, 0, 0}, {8, 5172, 512, 68, 0, 0, 0}, {1290, 1333, 21845, 0, 0, 0, 0}, {204, 2570, 13878, 20560, 0, 0, 0}, {8, 55, 512, 64, 1280, 4096, 0}, {8, 4144, 512, 64, 0, 0, 0}, {1290, 51, 21845, 0, 0, 0, 0}, {192, 2570, 12336, 20560, 0, 0, 0}, {8, 51, 512, 68, 1280, 4352, 0}, {20540, 26112, 0, 0, 0, 0, 0}, {4119, 64, 5397, 0, 0, 0, 0}, {8, 514, 68, 5140, 0, 0, 0}, {63, 12288, 1280, 0, 0, 0, 0}, {2560, 64, 4096, 0, 0, 0, 0}, {51, 68, 1285, 4369, 0, 0, 0}, {72, 20576, 16962, 0, 0, 0, 0}, {1347, 21760, 0, 0, 0, 0, 0}, {8704, 68, 5120, 0, 0, 0, 0}, {63, 64, 1285, 4112, 0, 0, 0}, {76, 20512, 17990, 0, 0, 0, 0}, {1351, 21760, 0, 0, 0, 0, 0}, {72, 4608, 20480, 0, 0, 0, 0}, {76, 51, 4883, 1285, 0, 0, 0}, {2570, 4128, 64, 0, 0, 0, 0}, {1295, 51, 68, 4352, 0, 0, 0}, {76, 5632, 20480, 0, 0, 0, 0}, {72, 119, 4626, 1285, 0, 0, 0}, {5160, 8738, 68, 0, 0, 0, 0}, {4111, 4144, 64, 5376, 0, 0, 0}, {2720, 20560, 0, 0, 0, 0, 0}, {768, 4, 273, 0, 0, 0, 0}, {8, 20592, 21074, 0, 0, 0, 0}, {1363, 21760, 0, 0, 0, 0, 0}, {544, 4, 4112, 0, 0, 0, 0}, {3840, 1365, 0, 0, 0, 0, 0}, {12, 20528, 22102, 0, 0, 0, 0}, {1367, 21760, 0, 0, 0, 0, 0}, {8, 544, 20560, 0, 0, 0, 0}, {12, 51, 768, 1365, 0, 0, 0}, {20720, 23130, 0, 0, 0, 0, 0}, {275, 4, 4352, 0, 0, 0, 0}, {12, 1632, 20560, 0, 0, 0, 0}, {8, 1314, 1792, 1365, 0, 0, 0}, {4144, 4626, 4, 0, 0, 0, 0}, {1375, 21760, 0, 0, 0, 0, 0}, {23040, 20576, 0, 0, 0, 0, 0}, {1302, 68, 4369, 0, 0, 0, 0}, {8, 546, 64, 4096, 0, 0, 0}, {3855, 51, 1360, 0, 0, 0, 0}, {8, 5152, 5632, 68, 0, 0, 0}, {1370, 1381, 21845, 0, 0, 0, 0}, {204, 2662, 13926, 20480, 0, 0, 0}, {8, 55, 535, 64, 1296, 4112, 0}, {8, 4128, 4608, 64, 0, 0, 0}, {1370, 51, 21845, 0, 0, 0, 0}, {192, 2666, 12288, 20480, 0, 0, 0}, {8, 51, 531, 68, 1300, 4352, 0}, {20588, 26112, 0, 0, 0, 0, 0}, {4103, 64, 5397, 0, 0, 0, 0}, {8, 546, 68, 5120, 0, 0, 0}, {63, 12336, 1360, 0, 0, 0, 0}, {2560, 20592, 0, 0, 0, 0, 0}, {1286, 68, 4369, 0, 0, 0, 0}, {136, 2570, 8738, 20560, 0, 0, 0}, {12, 51, 768, 64, 1280, 4096, 0}, {12, 5168, 1536, 68, 0, 0, 0}, {1290, 1397, 21845, 0, 0, 0, 0}, {12, 1542, 64, 4112, 0, 0, 0}, {119, 1280, 0, 0, 0, 0, 0}, {20600, 8704, 0, 0, 0, 0, 0}, {4115, 64, 5397, 0, 0, 0, 0}, {128, 2570, 8224, 20560, 0, 0, 0}, {12, 51, 768, 68, 1280, 4352, 0}, {12, 4144, 1536, 64, 0, 0, 0}, {1290, 119, 21845, 0, 0, 0, 0}, {12, 4626, 68, 5140, 0, 0, 0}, {127, 8192, 1280, 0, 0, 0, 0}, {128, 2560, 8192, 20480, 0, 0, 0}, {12, 51, 771, 68, 1285, 4369, 0}, {20520, 8738, 0, 0, 0, 0, 0}, {4099, 64, 5376, 0, 0, 0, 0}, {12, 4608, 68, 5120, 0, 0, 0}, {127, 8224, 1285, 0, 0, 0, 0}, {12, 4128, 1542, 64, 0, 0, 0}, {1295, 119, 21760, 0, 0, 0, 0}, {136, 2560, 8704, 20480, 0, 0, 0}, {12, 51, 771, 64, 1285, 4112, 0}, {2570, 20512, 0, 0, 0, 0, 0}, {1283, 68, 4352, 0, 0, 0, 0}, {12, 1536, 64, 4096, 0, 0, 0}, {119, 1285, 0, 0, 0, 0, 0}, {12, 5156, 1542, 68, 0, 0, 0}, {1295, 1392, 21760, 0, 0, 0, 0}, {192, 2656, 12336, 20560, 0, 0, 0}, {8, 51, 529, 68, 1297, 4369, 0}, {8, 4144, 4626, 64, 0, 0, 0}, {1375, 51, 21760, 0, 0, 0, 0}, {8, 544, 68, 5140, 0, 0, 0}, {63, 12288, 1365, 0, 0, 0, 0}, {20540, 26214, 0, 0, 0, 0, 0}, {4119, 64, 5376, 0, 0, 0, 0}, {8, 544, 64, 4112, 0, 0, 0}, {3840, 51, 1365, 0, 0, 0, 0}, {23130, 20528, 0, 0, 0, 0, 0}, {1299, 68, 4352, 0, 0, 0, 0}, {204, 2668, 13904, 20560, 0, 0, 0}, {8, 55, 533, 64, 1301, 4096, 0}, {8, 5172, 5654, 68, 0, 0, 0}, {1375, 1376, 21760, 0, 0, 0, 0}, {20640, 23040, 0, 0, 0, 0, 0}, {274, 4, 4369, 0, 0, 0, 0}, {8, 546, 20480, 0, 0, 0, 0}, {12, 51, 771, 1360, 0, 0, 0}, {4128, 4608, 4, 0, 0, 0, 0}, {1370, 21845, 0, 0, 0, 0, 0}, {12, 1638, 20480, 0, 0, 0, 0}, {8, 1319, 1799, 1360, 0, 0, 0}, {8, 20512, 20992, 0, 0, 0, 0}, {1366, 21845, 0, 0, 0, 0, 0}, {2730, 20480, 0, 0, 0, 0, 0}, {771, 4, 272, 0, 0, 0, 0}, {12, 20576, 22016, 0, 0, 0, 0}, {1362, 21845, 0, 0, 0, 0, 0}, {546, 4, 4096, 0, 0, 0, 0}, {3855, 1360, 0, 0, 0, 0, 0}, {2560, 4144, 64, 0, 0, 0, 0}, {1290, 51, 68, 4369, 0, 0, 0}, {72, 4626, 20560, 0, 0, 0, 0}, {76, 51, 4864, 1280, 0, 0, 0}, {5180, 8704, 68, 0, 0, 0, 0}, {4127, 4128, 64, 5397, 0, 0, 0}, {76, 5654, 20560, 0, 0, 0, 0}, {72, 119, 4608, 1280, 0, 0, 0}, {72, 20528, 16896, 0, 0, 0, 0}, {1350, 21845, 0, 0, 0, 0, 0}, {2570, 64, 4112, 0, 0, 0, 0}, {51, 68, 1280, 4352, 0, 0, 0}, {76, 20592, 17920, 0, 0, 0, 0}, {1346, 21845, 0, 0, 0, 0, 0}, {8738, 68, 5140, 0, 0, 0, 0}, {63, 64, 1280, 4096, 0, 0, 0}, {192, 2560, 12288, 20480, 0, 0, 0}, {8, 51, 514, 68, 1285, 4369, 0}, {8, 4128, 514, 64, 0, 0, 0}, {1295, 51, 21760, 0, 0, 0, 0}, {8, 512, 68, 5120, 0, 0, 0}, {63, 12336, 1285, 0, 0, 0, 0}, {20588, 26214, 0, 0, 0, 0, 0}, {4103, 64, 5376, 0, 0, 0, 0}, {8, 512, 64, 4096, 0, 0, 0}, {51, 1285, 0, 0, 0, 0, 0}, {2570, 20576, 0, 0, 0, 0, 0}, {1287, 68, 4352, 0, 0, 0, 0}, {204, 2560, 13824, 20480, 0, 0, 0}, {8, 55, 514, 64, 1285, 4112, 0}, {8, 5152, 514, 68, 0, 0, 0}, {1295, 1328, 21760, 0, 0, 0, 0}, {128, 2592, 8224, 20560, 0, 0, 0}, {12, 51, 768, 68, 1297, 4369, 0}, {20600, 8738, 0, 0, 0, 0, 0}, {4115, 64, 5376, 0, 0, 0, 0}, {12, 4656, 68, 5140, 0, 0, 0}, {1322, 8192, 1365, 0, 0, 0, 0}, {12, 4144, 5654, 64, 0, 0, 0}, {1375, 119, 21760, 0, 0, 0, 0}, {136, 2600, 8704, 20560, 0, 0, 0}, {12, 51, 768, 64, 1301, 4096, 0}, {23130, 20592, 0, 0, 0, 0, 0}, {1303, 68, 4352, 0, 0, 0, 0}, {12, 1568, 64, 4112, 0, 0, 0}, {3840, 1314, 1365, 0, 0, 0, 0}, {12, 5168, 4626, 68, 0, 0, 0}, {1375, 1312, 21760, 0, 0, 0, 0}, {6656, 4128, 64, 0, 0, 0, 0}, {1310, 51, 68, 4369, 0, 0, 0}, {72, 4642, 20480, 0, 0, 0, 0}, {1308, 51, 4883, 1360, 0, 0, 0}, {5160, 8704, 68, 0, 0, 0, 0}, {4111, 4144, 64, 5397, 0, 0, 0}, {76, 5734, 20480, 0, 0, 0, 0}, {1304, 1319, 5911, 1360, 0, 0, 0}, {72, 20576, 4608, 0, 0, 0, 0}, {1302, 21845, 0, 0, 0, 0, 0}, {2602, 64, 4096, 0, 0, 0, 0}, {51, 68, 1300, 4352, 0, 0, 0}, {76, 20512, 5632, 0, 0, 0, 0}, {1298, 21845, 0, 0, 0, 0, 0}, {8738, 68, 5120, 0, 0, 0, 0}, {63, 64, 1296, 4112, 0, 0, 0}, {20720, 2560, 0, 0, 0, 0, 0}, {258, 4, 4369, 0, 0, 0, 0}, {8, 514, 20560, 0, 0, 0, 0}, {12, 51, 768, 1280, 0, 0, 0}, {4144, 512, 4, 0, 0, 0, 0}, {1290, 21845, 0, 0, 0, 0, 0}, {12, 1542, 20560, 0, 0, 0, 0}, {8, 119, 512, 1280, 0, 0, 0}, {8, 20592, 512, 0, 0, 0, 0}, {1286, 21845, 0, 0, 0, 0, 0}, {2570, 20560, 0, 0, 0, 0, 0}, {51, 4, 256, 0, 0, 0, 0}, {12, 20528, 1536, 0, 0, 0, 0}, {1282, 21845, 0, 0, 0, 0, 0}, {514, 4, 4112, 0, 0, 0, 0}, {255, 1280, 0, 0, 0, 0, 0}, {13056, 1024, 0, 0, 0, 0, 0}, {10, 80, 257, 0, 0, 0, 0}, {1026, 21760, 0, 0, 0, 0, 0}, {1036, 16432, 771, 0, 0, 0, 0}, {13260, 1028, 0, 0, 0, 0, 0}, {512, 261, 4096, 0, 0, 0, 0}, {1030, 21760, 0, 0, 0, 0, 0}, {1032, 16496, 1799, 0, 0, 0, 0}, {1032, 13056, 0, 0, 0, 0, 0}, {259, 80, 1285, 0, 0, 0, 0}, {10, 512, 1024, 4352, 0, 0, 0}, {240, 771, 1028, 0, 0, 0, 0}, {1036, 30464, 0, 0, 0, 0, 0}, {263, 80, 1285, 0, 0, 0, 0}, {10, 514, 4420, 1028, 0, 0, 0}, {783, 12288, 1024, 0, 0, 0, 0}, {816, 80, 1040, 4112, 0, 0, 0}, {2082, 1092, 4369, 0, 0, 0, 0}, {1042, 21760, 0, 0, 0, 0, 0}, {1100, 16416, 4883, 0, 0, 0, 0}, {828, 80, 1044, 4096, 0, 0, 0}, {8704, 4437, 5397, 0, 0, 0, 0}, {1046, 21760, 0, 0, 0, 0, 0}, {1096, 16480, 5911, 0, 0, 0, 0}, {1048, 4144, 4864, 80, 0, 0, 0}, {1100, 4403, 21845, 0, 0, 0, 0}, {1050, 816, 1088, 4352, 0, 0, 0}, {6939, 4915, 1092, 0, 0, 0, 0}, {1052, 4128, 5888, 80, 0, 0, 0}, {1096, 4471, 21845, 0, 0, 0, 0}, {4382, 4642, 4420, 5376, 0, 0, 0}, {5951, 8224, 1088, 0, 0, 0, 0}, {1056, 5888, 17408, 0, 0, 0, 0}, {90, 1140, 771, 4369, 0, 0, 0}, {4386, 5376, 0, 0, 0, 0, 0}, {1068, 771, 80, 4112, 0, 0, 0}, {5960, 1060, 17476, 0, 0, 0, 0}, {4367, 5413, 4608, 4437, 0, 0, 0}, {3084, 1062, 5440, 0, 0, 0, 0}, {783, 1831, 80, 4096, 0, 0, 0}, {1064, 4864, 16384, 0, 0, 0, 0}, {90, 4403, 771, 5397, 0, 0, 0}, {1066, 4352, 0, 0, 0, 0, 0}, {4144, 771, 80, 5140, 0, 0, 0}, {4940, 5984, 16448, 0, 0, 0, 0}, {5391, 1058, 5632, 5461, 0, 0, 0}, {1070, 8738, 4420, 0, 0, 0, 0}, {783, 4128, 80, 5120, 0, 0, 0}, {1072, 1792, 17408, 0, 0, 0, 0}, {10, 1124, 514, 4369, 0, 0, 0}, {10, 306, 514, 80, 1280, 4112, 0}, {1228, 2048, 13107, 16384, 0, 0, 0}, {1800, 1076, 17476, 0, 0, 0, 0}, {10, 5429, 512, 4437, 0, 0, 0}, {10, 310, 512, 80, 1280, 4096, 0}, {1224, 2056, 14135, 16448, 0, 0, 0}, {1800, 816, 16448, 0, 0, 0, 0}, {10, 4403, 512, 5461, 0, 0, 0}, {10, 304, 512, 80, 1280, 4352, 0}, {1220, 2056, 13107, 17476, 0, 0, 0}, {1084, 1792, 16384, 0, 0, 0, 0}, {10, 4471, 514, 5397, 0, 0, 0}, {4128, 514, 4372, 0, 0, 0, 0}, {14143, 17408, 0, 0, 0, 0, 0}, {13056, 1088, 0, 0, 0, 0, 0}, {10, 1285, 273, 0, 0, 0, 0}, {1090, 21760, 0, 0, 0, 0, 0}, {1100, 16496, 17219, 0, 0, 0, 0}, {16128, 1092, 0, 0, 0, 0, 0}, {544, 277, 4112, 0, 0, 0, 0}, {1094, 21760, 0, 0, 0, 0, 0}, {1096, 16432, 18247, 0, 0, 0, 0}, {1096, 13056, 0, 0, 0, 0, 0}, {275, 80, 1285, 0, 0, 0, 0}, {10, 544, 1088, 4352, 0, 0, 0}, {3855, 819, 1092, 0, 0, 0, 0}, {1100, 30464, 0, 0, 0, 0, 0}, {279, 80, 1285, 0, 0, 0, 0}, {10, 546, 4420, 5376, 0, 0, 0}, {831, 12336, 1088, 0, 0, 0, 0}, {768, 80, 1024, 4096, 0, 0, 0}, {170, 1028, 4369, 0, 0, 0, 0}, {1106, 21760, 0, 0, 0, 0, 0}, {1036, 16480, 21331, 0, 0, 0, 0}, {780, 80, 1028, 4112, 0, 0, 0}, {8704, 4437, 1024, 0, 0, 0, 0}, {1110, 21760, 0, 0, 0, 0, 0}, {1032, 16416, 22359, 0, 0, 0, 0}, {1032, 4128, 768, 80, 0, 0, 0}, {1036, 4403, 21845, 0, 0, 0, 0}, {90, 768, 1024, 4352, 0, 0, 0}, {160, 4883, 1028, 0, 0, 0, 0}, {1036, 4144, 1792, 80, 0, 0, 0}, {1032, 4471, 21845, 0, 0, 0, 0}, {4382, 4626, 4420, 1028, 0, 0, 0}, {4959, 8192, 1024, 0, 0, 0, 0}, {1120, 4864, 17408, 0, 0, 0, 0}, {90, 1076, 1799, 4369, 0, 0, 0}, {2056, 4386, 5440, 0, 0, 0, 0}, {1807, 819, 80, 4096, 0, 0, 0}, {4940, 1124, 17476, 0, 0, 0, 0}, {4367, 1072, 5632, 4437, 0, 0, 0}, {4454, 5376, 0, 0, 0, 0, 0}, {1080, 1799, 80, 4112, 0, 0, 0}, {5960, 4896, 16448, 0, 0, 0, 0}, {5391, 4403, 4608, 5461, 0, 0, 0}, {1130, 4352, 0, 0, 0, 0, 0}, {4128, 4883, 80, 5140, 0, 0, 0}, {1132, 5888, 16384, 0, 0, 0, 0}, {90, 4471, 4626, 5397, 0, 0, 0}, {5418, 8738, 4420, 0, 0, 0, 0}, {4879, 4144, 80, 5120, 0, 0, 0}, {1136, 768, 17408, 0, 0, 0, 0}, {10, 1060, 1542, 4369, 0, 0, 0}, {10, 290, 768, 80, 1280, 4096, 0}, {1164, 3084, 13107, 16448, 0, 0, 0}, {780, 1140, 17476, 0, 0, 0, 0}, {10, 1056, 1536, 4437, 0, 0, 0}, {10, 294, 774, 80, 1280, 4112, 0}, {1160, 3072, 14199, 16384, 0, 0, 0}, {1144, 768, 16384, 0, 0, 0, 0}, {10, 4403, 4883, 5397, 0, 0, 0}, {10, 288, 768, 80, 1280, 4352, 0}, {1156, 3084, 13107, 17476, 0, 0, 0}, {780, 1904, 16448, 0, 0, 0, 0}, {10, 1058, 1536, 5461, 0, 0, 0}, {4144, 4626, 4372, 0, 0, 0, 0}, {14207, 17408, 0, 0, 0, 0, 0}, {1152, 3072, 13056, 17408, 0, 0, 0}, {10, 289, 771, 80, 1285, 4369, 0}, {10, 4386, 4864, 5376, 0, 0, 0}, {1148, 771, 16448, 0, 0, 0, 0}, {14152, 17476, 0, 0, 0, 0, 0}, {4128, 4608, 4357, 0, 0, 0, 0}, {10, 1062, 1542, 5440, 0, 0, 0}, {783, 1911, 16384, 0, 0, 0, 0}, {1160, 3072, 13056, 16384, 0, 0, 0}, {10, 291, 771, 80, 1285, 4112, 0}, {10, 1056, 1536, 4352, 0, 0, 0}, {1140, 771, 17476, 0, 0, 0, 0}, {1164, 3084, 14144, 16448, 0, 0, 0}, {10, 295, 773, 80, 1285, 4096, 0}, {10, 1060, 1542, 4420, 0, 0, 0}, {783, 1136, 17408, 0, 0, 0, 0}, {4144, 4864, 80, 5120, 0, 0, 0}, {1134, 4369, 0, 0, 0, 0, 0}, {5402, 4386, 4626, 5440, 0, 0, 0}, {5983, 4915, 16384, 0, 0, 0, 0}, {4892, 4128, 80, 5140, 0, 0, 0}, {5439, 8704, 4437, 0, 0, 0, 0}, {90, 4454, 4608, 5376, 0, 0, 0}, {1128, 5911, 16448, 0, 0, 0, 0}, {1800, 816, 80, 4112, 0, 0, 0}, {2048, 4403, 5461, 0, 0, 0, 0}, {90, 1072, 1792, 4352, 0, 0, 0}, {1124, 4883, 17476, 0, 0, 0, 0}, {1084, 1792, 80, 4096, 0, 0, 0}, {4471, 5397, 0, 0, 0, 0, 0}, {4382, 1076, 5654, 4420, 0, 0, 0}, {4959, 1120, 17408, 0, 0, 0, 0}, {160, 4864, 1024, 0, 0, 0, 0}, {90, 771, 1028, 4369, 0, 0, 0}, {1032, 4386, 21760, 0, 0, 0, 0}, {1036, 4144, 771, 80, 0, 0, 0}, {4940, 8224, 1028, 0, 0, 0, 0}, {4367, 4608, 4437, 1024, 0, 0, 0}, {1036, 4454, 21760, 0, 0, 0, 0}, {1032, 4128, 1799, 80, 0, 0, 0}, {1032, 16416, 21248, 0, 0, 0, 0}, {1110, 21845, 0, 0, 0, 0, 0}, {170, 1024, 4352, 0, 0, 0, 0}, {771, 80, 1028, 4112, 0, 0, 0}, {1036, 16480, 22272, 0, 0, 0, 0}, {1106, 21845, 0, 0, 0, 0, 0}, {8738, 4420, 1028, 0, 0, 0, 0}, {783, 80, 1024, 4096, 0, 0, 0}, {3840, 816, 1088, 0, 0, 0, 0}, {10, 546, 1092, 4369, 0, 0, 0}, {274, 80, 1280, 0, 0, 0, 0}, {1100, 13107, 0, 0, 0, 0, 0}, {828, 12288, 1092, 0, 0, 0, 0}, {10, 544, 4437, 5397, 0, 0, 0}, {278, 80, 1280, 0, 0, 0, 0}, {1096, 30583, 0, 0, 0, 0, 0}, {1096, 16432, 17152, 0, 0, 0, 0}, {1094, 21845, 0, 0, 0, 0, 0}, {10, 1280, 272, 0, 0, 0, 0}, {13107, 1092, 0, 0, 0, 0, 0}, {1100, 16496, 18176, 0, 0, 0, 0}, {1090, 21845, 0, 0, 0, 0, 0}, {546, 276, 4096, 0, 0, 0, 0}, {16191, 1088, 0, 0, 0, 0, 0}, {1216, 2048, 13056, 17408, 0, 0, 0}, {10, 305, 514, 80, 1285, 4369, 0}, {10, 4386, 514, 5440, 0, 0, 0}, {1807, 819, 16384, 0, 0, 0, 0}, {14088, 17476, 0, 0, 0, 0, 0}, {4144, 512, 4357, 0, 0, 0, 0}, {10, 4454, 512, 5376, 0, 0, 0}, {1080, 1799, 16448, 0, 0, 0, 0}, {1224, 2056, 13056, 16448, 0, 0, 0}, {10, 307, 512, 80, 1285, 4096, 0}, {10, 1120, 512, 4352, 0, 0, 0}, {1076, 1799, 17476, 0, 0, 0, 0}, {1228, 2048, 14080, 16384, 0, 0, 0}, {10, 311, 514, 80, 1285, 4112, 0}, {10, 5408, 514, 4420, 0, 0, 0}, {1807, 1072, 17408, 0, 0, 0, 0}, {4128, 768, 80, 5120, 0, 0, 0}, {1070, 4369, 0, 0, 0, 0, 0}, {90, 4386, 768, 5376, 0, 0, 0}, {1068, 4883, 16448, 0, 0, 0, 0}, {780, 4144, 80, 5140, 0, 0, 0}, {1066, 8704, 4437, 0, 0, 0, 0}, {5402, 1062, 5654, 5440, 0, 0, 0}, {4959, 6007, 16384, 0, 0, 0, 0}, {1064, 768, 80, 4096, 0, 0, 0}, {4403, 5397, 0, 0, 0, 0, 0}, {90, 1136, 768, 4352, 0, 0, 0}, {1060, 5911, 17476, 0, 0, 0, 0}, {780, 1824, 80, 4112, 0, 0, 0}, {3072, 1058, 5461, 0, 0, 0, 0}, {4382, 5424, 4626, 4420, 0, 0, 0}, {5983, 1056, 17408, 0, 0, 0, 0}, {6912, 4896, 1088, 0, 0, 0, 0}, {1054, 819, 1092, 4369, 0, 0, 0}, {1096, 4386, 21760, 0, 0, 0, 0}, {1052, 4128, 4883, 80, 0, 0, 0}, {5928, 8192, 1092, 0, 0, 0, 0}, {4367, 4656, 4437, 5397, 0, 0, 0}, {1100, 4454, 21760, 0, 0, 0, 0}, {1048, 4144, 5911, 80, 0, 0, 0}, {1096, 16480, 4864, 0, 0, 0, 0}, {1046, 21845, 0, 0, 0, 0, 0}, {2090, 1088, 4352, 0, 0, 0, 0}, {819, 80, 1044, 4096, 0, 0, 0}, {1100, 16416, 5888, 0, 0, 0, 0}, {1042, 21845, 0, 0, 0, 0, 0}, {8738, 4420, 5376, 0, 0, 0, 0}, {831, 80, 1040, 4112, 0, 0, 0}, {240, 768, 1024, 0, 0, 0, 0}, {10, 514, 1028, 4369, 0, 0, 0}, {258, 80, 1280, 0, 0, 0, 0}, {1036, 13107, 0, 0, 0, 0, 0}, {780, 12336, 1028, 0, 0, 0, 0}, {10, 512, 4437, 1024, 0, 0, 0}, {262, 80, 1280, 0, 0, 0, 0}, {1032, 30583, 0, 0, 0, 0, 0}, {1032, 16496, 768, 0, 0, 0, 0}, {1030, 21845, 0, 0, 0, 0, 0}, {10, 80, 256, 0, 0, 0, 0}, {13107, 1028, 0, 0, 0, 0, 0}, {1036, 16432, 1792, 0, 0, 0, 0}, {1026, 21845, 0, 0, 0, 0, 0}, {514, 260, 4112, 0, 0, 0, 0}, {13311, 1024, 0, 0, 0, 0, 0}, {3072, 12288, 0, 0, 0, 0, 0}, {2, 85, 257, 0, 0, 0, 0}, {2, 1024, 4096, 0, 0, 0, 0}, {255, 771, 0, 0, 0, 0, 0}, {8, 12352, 1028, 0, 0, 0, 0}, {10, 773, 85, 1285, 0, 0, 0}, {10, 1542, 20480, 0, 0, 0, 0}, {8, 119, 775, 1024, 0, 0, 0}, {8, 12288, 1024, 0, 0, 0, 0}, {10, 771, 85, 1285, 0, 0, 0}, {10, 1536, 20480, 0, 0, 0, 0}, {8, 119, 771, 1028, 0, 0, 0}, {12480, 3084, 0, 0, 0, 0, 0}, {2, 261, 4352, 0, 0, 0, 0}, {2, 4160, 1028, 0, 0, 0, 0}, {783, 13056, 0, 0, 0, 0, 0}, {3136, 32, 4112, 0, 0, 0, 0}, {34, 785, 85, 4369, 0, 0, 0}, {34, 4626, 17408, 0, 0, 0, 0}, {95, 32, 787, 4096, 0, 0, 0}, {40, 12368, 5140, 0, 0, 0, 0}, {42, 789, 85, 5397, 0, 0, 0}, {42, 5654, 16384, 0, 0, 0, 0}, {95, 119, 791, 5120, 0, 0, 0}, {40, 12336, 5200, 0, 0, 0, 0}, {793, 819, 85, 5376, 0, 0, 0}, {5722, 5744, 16448, 0, 0, 0, 0}, {5147, 5171, 5888, 5188, 0, 0, 0}, {7196, 32, 4176, 0, 0, 0, 0}, {797, 34, 85, 4352, 0, 0, 0}, {4698, 34, 17476, 0, 0, 0, 0}, {4127, 32, 4864, 4160, 0, 0, 0}, {3072, 32, 4096, 0, 0, 0, 0}, {34, 771, 85, 4369, 0, 0, 0}, {34, 4608, 17408, 0, 0, 0, 0}, {95, 32, 771, 4112, 0, 0, 0}, {40, 9252, 5188, 0, 0, 0, 0}, {783, 805, 85, 5376, 0, 0, 0}, {5708, 5734, 16448, 0, 0, 0, 0}, {5135, 5159, 5888, 5200, 0, 0, 0}, {40, 12288, 5120, 0, 0, 0, 0}, {42, 771, 85, 5397, 0, 0, 0}, {42, 5632, 16384, 0, 0, 0, 0}, {95, 119, 771, 5140, 0, 0, 0}, {3084, 32, 4160, 0, 0, 0, 0}, {783, 34, 85, 4352, 0, 0, 0}, {4680, 34, 17476, 0, 0, 0, 0}, {4111, 32, 4864, 4176, 0, 0, 0}, {3264, 12336, 0, 0, 0, 0, 0}, {2, 1280, 273, 0, 0, 0, 0}, {2, 1088, 4112, 0, 0, 0, 0}, {3840, 819, 0, 0, 0, 0, 0}, {8, 13364, 1092, 0, 0, 0, 0}, {10, 821, 85, 1280, 0, 0, 0}, {10, 1638, 20560, 0, 0, 0, 0}, {8, 1079, 1792, 1088, 0, 0, 0}, {8, 12336, 1088, 0, 0, 0, 0}, {10, 819, 85, 1280, 0, 0, 0}, {10, 1632, 20560, 0, 0, 0, 0}, {8, 1075, 1792, 1092, 0, 0, 0}, {12528, 15420, 0, 0, 0, 0, 0}, {2, 277, 4352, 0, 0, 0, 0}, {2, 4176, 5140, 0, 0, 0, 0}, {831, 13056, 0, 0, 0, 0, 0}, {128, 3136, 12352, 16448, 0, 0, 0}, {10, 34, 788, 85, 1285, 4369, 0}, {10, 34, 4674, 5120, 0, 0, 0}, {127, 835, 16384, 0, 0, 0, 0}, {136, 3140, 12288, 17476, 0, 0, 0}, {10, 32, 784, 85, 1285, 4112, 0}, {10, 32, 1606, 4096, 0, 0, 0}, {119, 839, 17408, 0, 0, 0, 0}, {12360, 17408, 0, 0, 0, 0, 0}, {32, 4883, 4101, 0, 0, 0, 0}, {10, 32, 5632, 4160, 0, 0, 0}, {843, 119, 17476, 0, 0, 0, 0}, {128, 3148, 12288, 16384, 0, 0, 0}, {10, 34, 786, 85, 1285, 4352, 0}, {10, 34, 4608, 5188, 0, 0, 0}, {847, 816, 16448, 0, 0, 0, 0}, {160, 3072, 12368, 20560, 0, 0, 0}, {8, 34, 772, 85, 1028, 4369, 0}, {8, 34, 4690, 1024, 0, 0, 0}, {95, 851, 20480, 0, 0, 0, 0}, {8, 32, 1028, 4112, 0, 0, 0}, {768, 85, 0, 0, 0, 0, 0}, {170, 22102, 0, 0, 0, 0, 0}, {87, 1024, 4096, 0, 0, 0, 0}, {8, 32, 4176, 1024, 0, 0, 0}, {780, 13107, 85, 0, 0, 0, 0}, {22106, 26112, 0, 0, 0, 0, 0}, {4119, 4160, 1028, 0, 0, 0, 0}, {160, 3084, 12336, 20560, 0, 0, 0}, {8, 34, 768, 85, 1024, 4352, 0}, {8, 34, 4626, 1028, 0, 0, 0}, {95, 768, 20480, 0, 0, 0, 0}, {160, 3168, 12384, 20480, 0, 0, 0}, {8, 34, 790, 85, 1041, 4369, 0}, {8, 34, 5632, 1088, 0, 0, 0}, {95, 867, 20560, 0, 0, 0, 0}, {8, 32, 1092, 4096, 0, 0, 0}, {3855, 816, 85, 0, 0, 0, 0}, {23040, 22118, 0, 0, 0, 0, 0}, {1047, 1088, 4112, 0, 0, 0, 0}, {8, 32, 4160, 5120, 0, 0, 0}, {828, 13107, 85, 0, 0, 0, 0}, {22122, 26112, 0, 0, 0, 0, 0}, {4103, 4176, 5140, 0, 0, 0, 0}, {160, 3180, 12288, 20480, 0, 0, 0}, {8, 34, 786, 85, 1045, 4352, 0}, {8, 34, 4608, 1092, 0, 0, 0}, {95, 816, 20560, 0, 0, 0, 0}, {128, 3072, 12400, 16384, 0, 0, 0}, {10, 34, 774, 85, 1280, 4369, 0}, {10, 34, 1536, 5200, 0, 0, 0}, {780, 883, 16448, 0, 0, 0, 0}, {136, 3084, 12336, 17476, 0, 0, 0}, {10, 32, 768, 85, 1280, 4096, 0}, {10, 32, 1542, 4112, 0, 0, 0}, {119, 768, 17408, 0, 0, 0, 0}, {12408, 17408, 0, 0, 0, 0, 0}, {32, 4883, 4117, 0, 0, 0, 0}, {10, 32, 1536, 4176, 0, 0, 0}, {780, 119, 17476, 0, 0, 0, 0}, {128, 3084, 12336, 16448, 0, 0, 0}, {10, 34, 768, 85, 1280, 4352, 0}, {10, 34, 4626, 5140, 0, 0, 0}, {127, 768, 16384, 0, 0, 0, 0}, {128, 3072, 12288, 16384, 0, 0, 0}, {10, 34, 771, 85, 1285, 4369, 0}, {10, 34, 4608, 5120, 0, 0, 0}, {127, 771, 16448, 0, 0, 0, 0}, {12360, 17476, 0, 0, 0, 0, 0}, {32, 4864, 4101, 0, 0, 0, 0}, {10, 32, 1542, 4160, 0, 0, 0}, {783, 119, 17408, 0, 0, 0, 0}, {136, 3072, 12288, 17408, 0, 0, 0}, {10, 32, 771, 85, 1285, 4112, 0}, {10, 32, 1536, 4096, 0, 0, 0}, {119, 771, 17476, 0, 0, 0, 0}, {128, 3084, 12352, 16448, 0, 0, 0}, {10, 34, 773, 85, 1285, 4352, 0}, {10, 34, 1542, 5188, 0, 0, 0}, {783, 880, 16384, 0, 0, 0, 0}, {160, 3168, 12336, 20560, 0, 0, 0}, {8, 34, 785, 85, 1041, 4369, 0}, {8, 34, 4626, 1088, 0, 0, 0}, {95, 819, 20480, 0, 0, 0, 0}, {8, 32, 4176, 5140, 0, 0, 0}, {831, 13056, 85, 0, 0, 0, 0}, {22076, 26214, 0, 0, 0, 0, 0}, {4119, 4160, 5120, 0, 0, 0, 0}, {8, 32, 1088, 4112, 0, 0, 0}, {3840, 819, 85, 0, 0, 0, 0}, {23130, 22064, 0, 0, 0, 0, 0}, {1043, 1092, 4096, 0, 0, 0, 0}, {160, 3180, 12368, 20560, 0, 0, 0}, {8, 34, 789, 85, 1045, 4352, 0}, {8, 34, 5654, 1092, 0, 0, 0}, {95, 864, 20480, 0, 0, 0, 0}, {160, 3072, 12288, 20480, 0, 0, 0}, {8, 34, 771, 85, 1028, 4369, 0}, {8, 34, 4608, 1024, 0, 0, 0}, {95, 771, 20560, 0, 0, 0, 0}, {8, 32, 4160, 1028, 0, 0, 0}, {783, 13056, 85, 0, 0, 0, 0}, {22028, 26214, 0, 0, 0, 0, 0}, {4103, 4176, 1024, 0, 0, 0, 0}, {8, 32, 1024, 4096, 0, 0, 0}, {771, 85, 0, 0, 0, 0, 0}, {170, 22016, 0, 0, 0, 0, 0}, {87, 1028, 4112, 0, 0, 0, 0}, {160, 3084, 12384, 20480, 0, 0, 0}, {8, 34, 775, 85, 1024, 4352, 0}, {8, 34, 4672, 1028, 0, 0, 0}, {95, 848, 20560, 0, 0, 0, 0}, {128, 3136, 12336, 16448, 0, 0, 0}, {10, 34, 785, 85, 1280, 4369, 0}, {10, 34, 4626, 5200, 0, 0, 0}, {844, 819, 16384, 0, 0, 0, 0}, {12408, 17476, 0, 0, 0, 0, 0}, {32, 4864, 4117, 0, 0, 0, 0}, {10, 32, 5654, 4176, 0, 0, 0}, {840, 119, 17408, 0, 0, 0, 0}, {136, 3144, 12336, 17408, 0, 0, 0}, {10, 32, 787, 85, 1280, 4096, 0}, {10, 32, 1600, 4112, 0, 0, 0}, {119, 836, 17476, 0, 0, 0, 0}, {128, 3148, 12400, 16384, 0, 0, 0}, {10, 34, 791, 85, 1280, 4352, 0}, {10, 34, 4688, 5140, 0, 0, 0}, {127, 832, 16448, 0, 0, 0, 0}, {12480, 15360, 0, 0, 0, 0, 0}, {2, 276, 4369, 0, 0, 0, 0}, {2, 4160, 5120, 0, 0, 0, 0}, {828, 13107, 0, 0, 0, 0, 0}, {8, 12288, 1092, 0, 0, 0, 0}, {10, 816, 85, 1285, 0, 0, 0}, {10, 1638, 20480, 0, 0, 0, 0}, {8, 1079, 1799, 1088, 0, 0, 0}, {8, 13312, 1088, 0, 0, 0, 0}, {10, 822, 85, 1285, 0, 0, 0}, {10, 1632, 20480, 0, 0, 0, 0}, {8, 1075, 1799, 1092, 0, 0, 0}, {3276, 12288, 0, 0, 0, 0, 0}, {2, 1285, 272, 0, 0, 0, 0}, {2, 1092, 4096, 0, 0, 0, 0}, {3855, 816, 0, 0, 0, 0, 0}, {3072, 32, 4176, 0, 0, 0, 0}, {780, 34, 85, 4369, 0, 0, 0}, {4698, 34, 17408, 0, 0, 0, 0}, {4127, 32, 4883, 4160, 0, 0, 0}, {40, 12336, 5140, 0, 0, 0, 0}, {42, 768, 85, 5376, 0, 0, 0}, {42, 5654, 16448, 0, 0, 0, 0}, {95, 119, 768, 5120, 0, 0, 0}, {40, 9216, 5200, 0, 0, 0, 0}, {780, 806, 85, 5397, 0, 0, 0}, {5722, 5744, 16384, 0, 0, 0, 0}, {5147, 5171, 5911, 5188, 0, 0, 0}, {3084, 32, 4112, 0, 0, 0, 0}, {34, 768, 85, 4352, 0, 0, 0}, {34, 4626, 17476, 0, 0, 0, 0}, {95, 32, 768, 4096, 0, 0, 0}, {7168, 32, 4160, 0, 0, 0, 0}, {798, 34, 85, 4369, 0, 0, 0}, {4680, 34, 17408, 0, 0, 0, 0}, {4111, 32, 4883, 4176, 0, 0, 0}, {40, 12288, 5188, 0, 0, 0, 0}, {794, 816, 85, 5397, 0, 0, 0}, {5708, 5734, 16384, 0, 0, 0, 0}, {5135, 5159, 5911, 5200, 0, 0, 0}, {40, 12384, 5120, 0, 0, 0, 0}, {42, 790, 85, 5376, 0, 0, 0}, {42, 5632, 16448, 0, 0, 0, 0}, {95, 119, 788, 5140, 0, 0, 0}, {3148, 32, 4096, 0, 0, 0, 0}, {34, 786, 85, 4352, 0, 0, 0}, {34, 4608, 17476, 0, 0, 0, 0}, {95, 32, 784, 4112, 0, 0, 0}, {12528, 3072, 0, 0, 0, 0, 0}, {2, 260, 4369, 0, 0, 0, 0}, {2, 4176, 1024, 0, 0, 0, 0}, {780, 13107, 0, 0, 0, 0, 0}, {8, 12336, 1028, 0, 0, 0, 0}, {10, 768, 85, 1280, 0, 0, 0}, {10, 1542, 20560, 0, 0, 0, 0}, {8, 119, 768, 1024, 0, 0, 0}, {8, 12400, 1024, 0, 0, 0, 0}, {10, 774, 85, 1280, 0, 0, 0}, {10, 1536, 20560, 0, 0, 0, 0}, {8, 119, 772, 1028, 0, 0, 0}, {3084, 12336, 0, 0, 0, 0, 0}, {2, 85, 256, 0, 0, 0, 0}, {2, 1028, 4112, 0, 0, 0, 0}, {255, 768, 0, 0, 0, 0, 0}, {512, 21760, 0, 0, 0, 0, 0}, {12, 48, 257, 0, 0, 0, 0}, {21930, 514, 0, 0, 0, 0, 0}, {259, 1024, 4096, 0, 0, 0, 0}, {12, 516, 4420, 1028, 0, 0, 0}, {522, 8272, 1285, 0, 0, 0, 0}, {12, 4454, 518, 1024, 0, 0, 0}, {1295, 1799, 20480, 0, 0, 0, 0}, {520, 21760, 0, 0, 0, 0, 0}, {48, 771, 261, 0, 0, 0, 0}, {522, 30464, 0, 0, 0, 0, 0}, {263, 4160, 1028, 0, 0, 0, 0}, {12, 512, 1024, 4352, 0, 0, 0}, {240, 514, 1285, 0, 0, 0, 0}, {12, 4386, 514, 1028, 0, 0, 0}, {1295, 512, 20480, 0, 0, 0, 0}, {48, 528, 1360, 4112, 0, 0, 0}, {2116, 546, 4369, 0, 0, 0, 0}, {1370, 48, 530, 4096, 0, 0, 0}, {4403, 4883, 17408, 0, 0, 0, 0}, {60, 532, 4420, 5140, 0, 0, 0}, {554, 8256, 5397, 0, 0, 0, 0}, {4442, 4454, 534, 5120, 0, 0, 0}, {5439, 5911, 16384, 0, 0, 0, 0}, {536, 48, 4176, 5376, 0, 0, 0}, {554, 13107, 4437, 0, 0, 0, 0}, {5402, 48, 5888, 4160, 0, 0, 0}, {4959, 4471, 17476, 0, 0, 0, 0}, {540, 544, 1360, 4352, 0, 0, 0}, {7453, 546, 5461, 0, 0, 0, 0}, {4382, 4386, 4864, 5188, 0, 0, 0}, {5983, 544, 16448, 0, 0, 0, 0}, {544, 21760, 0, 0, 0, 0, 0}, {12, 771, 273, 0, 0, 0, 0}, {24320, 546, 0, 0, 0, 0, 0}, {275, 1088, 4112, 0, 0, 0, 0}, {12, 548, 4420, 5376, 0, 0, 0}, {554, 9509, 1365, 0, 0, 0, 0}, {12, 5414, 5888, 1088, 0, 0, 0}, {1375, 1911, 20560, 0, 0, 0, 0}, {552, 21760, 0, 0, 0, 0, 0}, {48, 771, 277, 0, 0, 0, 0}, {554, 30464, 0, 0, 0, 0, 0}, {279, 4176, 5140, 0, 0, 0, 0}, {12, 544, 1088, 4352, 0, 0, 0}, {3855, 546, 1365, 0, 0, 0, 0}, {12, 4386, 4864, 1092, 0, 0, 0}, {1375, 544, 20560, 0, 0, 0, 0}, {48, 512, 1280, 4096, 0, 0, 0}, {204, 514, 4369, 0, 0, 0, 0}, {1290, 48, 514, 4112, 0, 0, 0}, {4403, 512, 17408, 0, 0, 0, 0}, {520, 564, 4420, 1280, 0, 0, 0}, {522, 13621, 5461, 0, 0, 0, 0}, {1290, 1334, 1792, 5200, 0, 0, 0}, {520, 6007, 16448, 0, 0, 0, 0}, {520, 48, 4160, 1280, 0, 0, 0}, {522, 13107, 4437, 0, 0, 0, 0}, {1290, 48, 1792, 4176, 0, 0, 0}, {520, 4471, 17476, 0, 0, 0, 0}, {60, 512, 1280, 4352, 0, 0, 0}, {192, 514, 5397, 0, 0, 0, 0}, {4382, 4386, 514, 5140, 0, 0, 0}, {5439, 512, 16384, 0, 0, 0, 0}, {5888, 5440, 0, 0, 0, 0, 0}, {590, 626, 1285, 4369, 0, 0, 0}, {5482, 578, 16384, 0, 0, 0, 0}, {4367, 4403, 4931, 5120, 0, 0, 0}, {4864, 4420, 0, 0, 0, 0, 0}, {586, 48, 1285, 4112, 0, 0, 0}, {4454, 582, 17408, 0, 0, 0, 0}, {1295, 48, 1863, 4096, 0, 0, 0}, {584, 8192, 5376, 0, 0, 0, 0}, {60, 4883, 4437, 1285, 0, 0, 0}, {586, 5984, 16448, 0, 0, 0, 0}, {1295, 1331, 5632, 5188, 0, 0, 0}, {588, 4352, 0, 0, 0, 0, 0}, {48, 4626, 4176, 1285, 0, 0, 0}, {590, 4386, 17476, 0, 0, 0, 0}, {1295, 48, 4608, 4160, 0, 0, 0}, {1792, 1360, 0, 0, 0, 0, 0}, {12, 610, 1028, 4369, 0, 0, 0}, {1370, 594, 20480, 0, 0, 0, 0}, {12, 4403, 4947, 1024, 0, 0, 0}, {12, 48, 768, 340, 1028, 4112, 0}, {682, 2048, 8192, 21845, 0, 0, 0}, {342, 1024, 4096, 0, 0, 0, 0}, {22015, 22359, 0, 0, 0, 0, 0}, {1800, 8224, 1360, 0, 0, 0, 0}, {12, 4915, 4437, 1024, 0, 0, 0}, {1370, 1792, 20480, 0, 0, 0, 0}, {12, 4471, 4883, 1028, 0, 0, 0}, {12, 48, 768, 336, 1024, 4352, 0}, {674, 2056, 8738, 21845, 0, 0, 0}, {4370, 4160, 1028, 0, 0, 0, 0}, {22367, 8704, 0, 0, 0, 0, 0}, {608, 5376, 0, 0, 0, 0, 0}, {60, 1799, 1365, 4369, 0, 0, 0}, {5960, 610, 16448, 0, 0, 0, 0}, {4367, 4403, 5632, 5200, 0, 0, 0}, {2056, 4896, 4420, 0, 0, 0, 0}, {1807, 48, 1365, 4096, 0, 0, 0}, {4454, 4864, 17408, 0, 0, 0, 0}, {1375, 48, 1799, 4112, 0, 0, 0}, {5928, 8224, 5440, 0, 0, 0, 0}, {4879, 4915, 4437, 5120, 0, 0, 0}, {5482, 5888, 16384, 0, 0, 0, 0}, {4427, 4471, 4883, 5140, 0, 0, 0}, {620, 4352, 0, 0, 0, 0, 0}, {48, 4626, 4160, 5397, 0, 0, 0}, {4940, 4386, 17476, 0, 0, 0, 0}, {5391, 48, 4608, 4176, 0, 0, 0}, {624, 1280, 0, 0, 0, 0, 0}, {12, 1542, 1092, 4369, 0, 0, 0}, {1290, 626, 20560, 0, 0, 0, 0}, {12, 4403, 1536, 1088, 0, 0, 0}, {12, 48, 768, 324, 1280, 4096, 0}, {650, 2570, 8224, 21845, 0, 0, 0}, {1286, 1088, 4112, 0, 0, 0, 0}, {2560, 22391, 0, 0, 0, 0, 0}, {632, 8192, 1280, 0, 0, 0, 0}, {12, 4883, 4437, 5397, 0, 0, 0}, {1290, 1904, 20560, 0, 0, 0, 0}, {12, 5427, 1536, 1092, 0, 0, 0}, {12, 48, 768, 320, 1280, 4352, 0}, {642, 2570, 8738, 21845, 0, 0, 0}, {4370, 4176, 5140, 0, 0, 0, 0}, {22399, 8704, 0, 0, 0, 0, 0}, {640, 2560, 8704, 21760, 0, 0, 0}, {12, 48, 771, 321, 1285, 4369, 0}, {22312, 8738, 0, 0, 0, 0, 0}, {4355, 4160, 5120, 0, 0, 0, 0}, {12, 4864, 4420, 5376, 0, 0, 0}, {634, 8224, 1285, 0, 0, 0, 0}, {12, 5414, 1542, 1088, 0, 0, 0}, {1295, 1911, 20480, 0, 0, 0, 0}, {648, 2560, 8192, 21760, 0, 0, 0}, {12, 48, 771, 325, 1285, 4112, 0}, {2570, 22304, 0, 0, 0, 0, 0}, {1283, 1092, 4096, 0, 0, 0, 0}, {12, 1536, 1088, 4352, 0, 0, 0}, {626, 1285, 0, 0, 0, 0, 0}, {12, 4386, 1542, 1092, 0, 0, 0}, {1295, 624, 20480, 0, 0, 0, 0}, {48, 4608, 4176, 5376, 0, 0, 0}, {622, 4369, 0, 0, 0, 0, 0}, {5402, 48, 4626, 4160, 0, 0, 0}, {4959, 4403, 17408, 0, 0, 0, 0}, {4892, 4896, 4420, 5140, 0, 0, 0}, {5951, 8192, 5461, 0, 0, 0, 0}, {4442, 4454, 4864, 5120, 0, 0, 0}, {5503, 5911, 16448, 0, 0, 0, 0}, {1800, 48, 1360, 4112, 0, 0, 0}, {2048, 4915, 4437, 0, 0, 0, 0}, {1370, 48, 1792, 4096, 0, 0, 0}, {4471, 4883, 17476, 0, 0, 0, 0}, {60, 1792, 1360, 4352, 0, 0, 0}, {610, 5397, 0, 0, 0, 0, 0}, {4382, 4386, 5654, 5188, 0, 0, 0}, {5983, 608, 16384, 0, 0, 0, 0}, {672, 2048, 8704, 21760, 0, 0, 0}, {12, 48, 771, 337, 1028, 4369, 0}, {22280, 8738, 0, 0, 0, 0, 0}, {4355, 4176, 1024, 0, 0, 0, 0}, {12, 4896, 4420, 1028, 0, 0, 0}, {1807, 8192, 1365, 0, 0, 0, 0}, {12, 4454, 4864, 1024, 0, 0, 0}, {1375, 1799, 20560, 0, 0, 0, 0}, {680, 2056, 8224, 21760, 0, 0, 0}, {12, 48, 771, 341, 1024, 4096, 0}, {21930, 22272, 0, 0, 0, 0, 0}, {343, 1028, 4112, 0, 0, 0, 0}, {12, 608, 1024, 4352, 0, 0, 0}, {1799, 1365, 0, 0, 0, 0, 0}, {12, 4386, 4928, 1028, 0, 0, 0}, {1375, 592, 20560, 0, 0, 0, 0}, {48, 4608, 4160, 1280, 0, 0, 0}, {590, 4369, 0, 0, 0, 0, 0}, {1290, 48, 4626, 4176, 0, 0, 0}, {588, 4403, 17408, 0, 0, 0, 0}, {60, 4864, 4420, 1280, 0, 0, 0}, {586, 8224, 5397, 0, 0, 0, 0}, {1290, 1334, 5654, 5200, 0, 0, 0}, {584, 6007, 16384, 0, 0, 0, 0}, {584, 48, 1280, 4096, 0, 0, 0}, {4883, 4437, 0, 0, 0, 0, 0}, {1290, 48, 1856, 4112, 0, 0, 0}, {4471, 580, 17476, 0, 0, 0, 0}, {588, 624, 1280, 4352, 0, 0, 0}, {5911, 5461, 0, 0, 0, 0, 0}, {4382, 4386, 4944, 5140, 0, 0, 0}, {5503, 576, 16448, 0, 0, 0, 0}, {192, 512, 5376, 0, 0, 0, 0}, {60, 514, 1285, 4369, 0, 0, 0}, {5418, 514, 16448, 0, 0, 0, 0}, {4367, 4403, 512, 5120, 0, 0, 0}, {520, 13056, 4420, 0, 0, 0, 0}, {522, 48, 4176, 1285, 0, 0, 0}, {522, 4454, 17408, 0, 0, 0, 0}, {1295, 48, 1799, 4160, 0, 0, 0}, {520, 13568, 5440, 0, 0, 0, 0}, {522, 566, 4437, 1285, 0, 0, 0}, {522, 5984, 16384, 0, 0, 0, 0}, {1295, 1331, 1799, 5188, 0, 0, 0}, {204, 512, 4352, 0, 0, 0, 0}, {48, 514, 1285, 4112, 0, 0, 0}, {4386, 514, 17476, 0, 0, 0, 0}, {1295, 48, 512, 4096, 0, 0, 0}, {3840, 544, 1360, 0, 0, 0, 0}, {12, 546, 1092, 4369, 0, 0, 0}, {1370, 546, 20480, 0, 0, 0, 0}, {12, 4403, 4883, 1088, 0, 0, 0}, {48, 768, 276, 0, 0, 0, 0}, {554, 21845, 0, 0, 0, 0, 0}, {278, 4160, 5120, 0, 0, 0, 0}, {552, 30583, 0, 0, 0, 0, 0}, {552, 9472, 1360, 0, 0, 0, 0}, {12, 550, 4437, 5397, 0, 0, 0}, {1370, 1904, 20480, 0, 0, 0, 0}, {12, 5427, 5911, 1092, 0, 0, 0}, {12, 768, 272, 0, 0, 0, 0}, {546, 21845, 0, 0, 0, 0, 0}, {274, 1092, 4096, 0, 0, 0, 0}, {24415, 544, 0, 0, 0, 0, 0}, {7424, 544, 5440, 0, 0, 0, 0}, {542, 546, 1365, 4369, 0, 0, 0}, {5960, 546, 16384, 0, 0, 0, 0}, {4367, 4403, 4883, 5200, 0, 0, 0}, {552, 13056, 4420, 0, 0, 0, 0}, {538, 48, 4160, 5397, 0, 0, 0}, {4940, 4454, 17408, 0, 0, 0, 0}, {5391, 48, 5911, 4176, 0, 0, 0}, {552, 8288, 5376, 0, 0, 0, 0}, {60, 534, 4437, 5120, 0, 0, 0}, {5418, 5888, 16448, 0, 0, 0, 0}, {4427, 4471, 532, 5140, 0, 0, 0}, {2124, 544, 4352, 0, 0, 0, 0}, {48, 530, 1365, 4096, 0, 0, 0}, {4386, 4864, 17476, 0, 0, 0, 0}, {1375, 48, 528, 4112, 0, 0, 0}, {240, 512, 1280, 0, 0, 0, 0}, {12, 514, 1028, 4369, 0, 0, 0}, {1290, 514, 20560, 0, 0, 0, 0}, {12, 4403, 512, 1024, 0, 0, 0}, {48, 768, 260, 0, 0, 0, 0}, {522, 21845, 0, 0, 0, 0, 0}, {262, 4176, 1024, 0, 0, 0, 0}, {520, 30583, 0, 0, 0, 0, 0}, {520, 8304, 1280, 0, 0, 0, 0}, {12, 518, 4437, 1024, 0, 0, 0}, {1290, 1792, 20560, 0, 0, 0, 0}, {12, 4471, 516, 1028, 0, 0, 0}, {12, 48, 256, 0, 0, 0, 0}, {514, 21845, 0, 0, 0, 0, 0}, {258, 1028, 4112, 0, 0, 0, 0}, {22015, 512, 0, 0, 0, 0, 0}, {512, 1024, 4096, 0, 0, 0, 0}, {255, 257, 0, 0, 0, 0, 0}, {1032, 4128, 514, 0, 0, 0, 0}, {259, 21760, 0, 0, 0, 0, 0}, {520, 4160, 1028, 0, 0, 0, 0}, {13056, 261, 0, 0, 0, 0, 0}, {1036, 4192, 1542, 0, 0, 0, 0}, {263, 21760, 0, 0, 0, 0, 0}, {1032, 1536, 20480, 0, 0, 0, 0}, {265, 4454, 771, 1285, 0, 0, 0}, {522, 12288, 1024, 0, 0, 0, 0}, {267, 771, 4420, 1028, 0, 0, 0}, {1036, 512, 20480, 0, 0, 0, 0}, {269, 4386, 514, 1285, 0, 0, 0}, {4320, 514, 1028, 0, 0, 0, 0}, {271, 512, 1024, 4352, 0, 0, 0}, {544, 1088, 4112, 0, 0, 0, 0}, {3840, 273, 0, 0, 0, 0, 0}, {1096, 4144, 4626, 0, 0, 0, 0}, {275, 21760, 0, 0, 0, 0, 0}, {552, 4176, 5140, 0, 0, 0, 0}, {13056, 277, 0, 0, 0, 0, 0}, {1100, 4208, 5654, 0, 0, 0, 0}, {279, 21760, 0, 0, 0, 0, 0}, {1096, 1632, 20560, 0, 0, 0, 0}, {281, 5171, 5888, 1365, 0, 0, 0}, {554, 12336, 1088, 0, 0, 0, 0}, {283, 819, 4420, 5376, 0, 0, 0}, {1100, 544, 20560, 0, 0, 0, 0}, {285, 4386, 4864, 1365, 0, 0, 0}, {7710, 546, 1092, 0, 0, 0, 0}, {287, 544, 1088, 4352, 0, 0, 0}, {4128, 4608, 17408, 0, 0, 0, 0}, {1370, 289, 771, 4369, 0, 0, 0}, {3072, 546, 4096, 0, 0, 0, 0}, {291, 771, 1360, 4112, 0, 0, 0}, {4680, 4192, 17476, 0, 0, 0, 0}, {5135, 293, 5888, 4437, 0, 0, 0}, {554, 9766, 4160, 0, 0, 0, 0}, {783, 295, 4176, 5376, 0, 0, 0}, {5160, 5632, 16384, 0, 0, 0, 0}, {4175, 4454, 771, 5397, 0, 0, 0}, {554, 12288, 5120, 0, 0, 0, 0}, {299, 771, 4420, 5140, 0, 0, 0}, {5708, 544, 16448, 0, 0, 0, 0}, {4111, 4386, 4864, 5461, 0, 0, 0}, {3084, 546, 5188, 0, 0, 0, 0}, {783, 544, 1360, 4352, 0, 0, 0}, {4144, 512, 17408, 0, 0, 0, 0}, {1290, 305, 514, 4369, 0, 0, 0}, {1224, 514, 4112, 0, 0, 0, 0}, {307, 512, 1280, 4096, 0, 0, 0}, {520, 4208, 17476, 0, 0, 0, 0}, {1290, 309, 1792, 4437, 0, 0, 0}, {522, 13878, 4176, 0, 0, 0, 0}, {520, 311, 4160, 1280, 0, 0, 0}, {520, 5744, 16448, 0, 0, 0, 0}, {1290, 1075, 1792, 5461, 0, 0, 0}, {522, 12336, 5200, 0, 0, 0, 0}, {520, 819, 4420, 1280, 0, 0, 0}, {5180, 512, 16384, 0, 0, 0, 0}, {4127, 4386, 514, 5397, 0, 0, 0}, {4304, 514, 5140, 0, 0, 0, 0}, {319, 512, 1280, 4352, 0, 0, 0}, {8704, 4160, 5120, 0, 0, 0, 0}, {828, 321, 1285, 4369, 0, 0, 0}, {1096, 4192, 16962, 0, 0, 0, 0}, {323, 21760, 0, 0, 0, 0, 0}, {2560, 1092, 4096, 0, 0, 0, 0}, {816, 325, 1285, 4112, 0, 0, 0}, {1100, 4128, 17990, 0, 0, 0, 0}, {327, 21760, 0, 0, 0, 0, 0}, {1096, 5632, 20480, 0, 0, 0, 0}, {329, 4454, 4883, 1285, 0, 0, 0}, {5674, 8224, 1088, 0, 0, 0, 0}, {4111, 4915, 4420, 5376, 0, 0, 0}, {1100, 4608, 20480, 0, 0, 0, 0}, {333, 4386, 4626, 1285, 0, 0, 0}, {2570, 4642, 1092, 0, 0, 0, 0}, {1295, 816, 1088, 4352, 0, 0, 0}, {8704, 4176, 1024, 0, 0, 0, 0}, {780, 337, 1028, 4369, 0, 0, 0}, {1032, 4208, 21074, 0, 0, 0, 0}, {339, 21760, 0, 0, 0, 0, 0}, {680, 1028, 4112, 0, 0, 0, 0}, {768, 341, 1024, 4096, 0, 0, 0}, {1036, 4144, 22102, 0, 0, 0, 0}, {343, 21760, 0, 0, 0, 0, 0}, {1032, 5744, 20560, 0, 0, 0, 0}, {1036, 5171, 1792, 1365, 0, 0, 0}, {4698, 8192, 1024, 0, 0, 0, 0}, {4127, 4883, 4420, 1028, 0, 0, 0}, {1036, 4656, 20560, 0, 0, 0, 0}, {1032, 4386, 768, 1365, 0, 0, 0}, {4272, 4626, 1028, 0, 0, 0, 0}, {351, 768, 1024, 4352, 0, 0, 0}, {4192, 5632, 17408, 0, 0, 0, 0}, {1370, 353, 1799, 4369, 0, 0, 0}, {5674, 8738, 4160, 0, 0, 0, 0}, {4623, 4403, 4176, 5376, 0, 0, 0}, {5708, 4128, 17476, 0, 0, 0, 0}, {5135, 4144, 4864, 4437, 0, 0, 0}, {2048, 1638, 4096, 0, 0, 0, 0}, {1079, 1799, 1360, 4112, 0, 0, 0}, {4680, 1632, 16448, 0, 0, 0, 0}, {4111, 1075, 5888, 5461, 0, 0, 0}, {4714, 8192, 5120, 0, 0, 0, 0}, {4143, 4883, 4420, 5140, 0, 0, 0}, {5228, 4608, 16384, 0, 0, 0, 0}, {4175, 4386, 4626, 5397, 0, 0, 0}, {2056, 4642, 5188, 0, 0, 0, 0}, {1807, 816, 1360, 4352, 0, 0, 0}, {4208, 1536, 17408, 0, 0, 0, 0}, {1290, 369, 1542, 4369, 0, 0, 0}, {1546, 8738, 4176, 0, 0, 0, 0}, {780, 4403, 4160, 1280, 0, 0, 0}, {1548, 4144, 17476, 0, 0, 0, 0}, {1290, 4128, 768, 4437, 0, 0, 0}, {1164, 1542, 4112, 0, 0, 0, 0}, {375, 768, 1280, 4096, 0, 0, 0}, {5240, 1536, 16384, 0, 0, 0, 0}, {4127, 4454, 4883, 5397, 0, 0, 0}, {1546, 8224, 5200, 0, 0, 0, 0}, {780, 4915, 4420, 1280, 0, 0, 0}, {1548, 4656, 16448, 0, 0, 0, 0}, {1290, 4386, 768, 5461, 0, 0, 0}, {4240, 4626, 5140, 0, 0, 0, 0}, {383, 768, 1280, 4352, 0, 0, 0}, {4224, 4608, 5120, 0, 0, 0, 0}, {382, 771, 1285, 4369, 0, 0, 0}, {1546, 4642, 16384, 0, 0, 0, 0}, {1295, 4403, 771, 5440, 0, 0, 0}, {1548, 8192, 5188, 0, 0, 0, 0}, {783, 4896, 4437, 1285, 0, 0, 0}, {5228, 1542, 16448, 0, 0, 0, 0}, {4111, 4471, 4864, 5376, 0, 0, 0}, {1160, 1536, 4096, 0, 0, 0, 0}, {374, 771, 1285, 4112, 0, 0, 0}, {1546, 4128, 17408, 0, 0, 0, 0}, {1295, 4144, 771, 4420, 0, 0, 0}, {1548, 8704, 4160, 0, 0, 0, 0}, {783, 4386, 4176, 1285, 0, 0, 0}, {4192, 1542, 17476, 0, 0, 0, 0}, {1295, 368, 1536, 4352, 0, 0, 0}, {2048, 4656, 5200, 0, 0, 0, 0}, {1800, 819, 1365, 4369, 0, 0, 0}, {5240, 4626, 16448, 0, 0, 0, 0}, {4191, 4403, 4608, 5376, 0, 0, 0}, {4728, 8224, 5140, 0, 0, 0, 0}, {4159, 4864, 4437, 5120, 0, 0, 0}, {4698, 1638, 16384, 0, 0, 0, 0}, {4127, 1079, 5911, 5440, 0, 0, 0}, {2056, 1632, 4112, 0, 0, 0, 0}, {1075, 1792, 1365, 4096, 0, 0, 0}, {5722, 4144, 17408, 0, 0, 0, 0}, {5147, 4128, 4883, 4420, 0, 0, 0}, {5692, 8704, 4176, 0, 0, 0, 0}, {4637, 4386, 4160, 5397, 0, 0, 0}, {4208, 5654, 17476, 0, 0, 0, 0}, {1375, 352, 1792, 4352, 0, 0, 0}, {4256, 4608, 1024, 0, 0, 0, 0}, {350, 771, 1028, 4369, 0, 0, 0}, {1032, 4642, 20480, 0, 0, 0, 0}, {1036, 4403, 771, 1360, 0, 0, 0}, {4680, 8224, 1028, 0, 0, 0, 0}, {4111, 4864, 4437, 1024, 0, 0, 0}, {1036, 5734, 20480, 0, 0, 0, 0}, {1032, 5159, 1799, 1360, 0, 0, 0}, {1032, 4128, 22016, 0, 0, 0, 0}, {342, 21845, 0, 0, 0, 0, 0}, {682, 1024, 4096, 0, 0, 0, 0}, {771, 340, 1028, 4112, 0, 0, 0}, {1036, 4192, 20992, 0, 0, 0, 0}, {338, 21845, 0, 0, 0, 0, 0}, {8738, 4160, 1028, 0, 0, 0, 0}, {783, 336, 1024, 4352, 0, 0, 0}, {2560, 4656, 1088, 0, 0, 0, 0}, {1290, 819, 1092, 4369, 0, 0, 0}, {1096, 4626, 20560, 0, 0, 0, 0}, {332, 4403, 4608, 1280, 0, 0, 0}, {5692, 8192, 1092, 0, 0, 0, 0}, {4127, 4896, 4437, 5397, 0, 0, 0}, {1100, 5654, 20560, 0, 0, 0, 0}, {328, 4471, 4864, 1280, 0, 0, 0}, {1096, 4144, 17920, 0, 0, 0, 0}, {326, 21845, 0, 0, 0, 0, 0}, {2570, 1088, 4112, 0, 0, 0, 0}, {819, 324, 1280, 4096, 0, 0, 0}, {1100, 4208, 16896, 0, 0, 0, 0}, {322, 21845, 0, 0, 0, 0, 0}, {8738, 4176, 5140, 0, 0, 0, 0}, {831, 320, 1280, 4352, 0, 0, 0}, {4288, 512, 5120, 0, 0, 0, 0}, {318, 514, 1285, 4369, 0, 0, 0}, {5160, 514, 16448, 0, 0, 0, 0}, {4111, 4403, 512, 5376, 0, 0, 0}, {520, 12288, 5188, 0, 0, 0, 0}, {522, 816, 4437, 1285, 0, 0, 0}, {522, 5734, 16384, 0, 0, 0, 0}, {1295, 1079, 1799, 5440, 0, 0, 0}, {520, 13824, 4160, 0, 0, 0, 0}, {522, 310, 4176, 1285, 0, 0, 0}, {522, 4192, 17408, 0, 0, 0, 0}, {1295, 308, 1799, 4420, 0, 0, 0}, {1228, 512, 4096, 0, 0, 0, 0}, {306, 514, 1285, 4112, 0, 0, 0}, {4128, 514, 17476, 0, 0, 0, 0}, {1295, 304, 512, 4352, 0, 0, 0}, {3072, 544, 5200, 0, 0, 0, 0}, {780, 546, 1365, 4369, 0, 0, 0}, {5722, 546, 16384, 0, 0, 0, 0}, {4127, 4403, 4883, 5440, 0, 0, 0}, {552, 12336, 5140, 0, 0, 0, 0}, {298, 768, 4437, 5120, 0, 0, 0}, {5180, 5654, 16448, 0, 0, 0, 0}, {4191, 4471, 768, 5376, 0, 0, 0}, {552, 9728, 4176, 0, 0, 0, 0}, {780, 294, 4160, 5397, 0, 0, 0}, {4698, 4208, 17408, 0, 0, 0, 0}, {5147, 292, 5911, 4420, 0, 0, 0}, {3084, 544, 4112, 0, 0, 0, 0}, {290, 768, 1365, 4096, 0, 0, 0}, {4144, 4626, 17476, 0, 0, 0, 0}, {1375, 288, 768, 4352, 0, 0, 0}, {7680, 544, 1088, 0, 0, 0, 0}, {286, 546, 1092, 4369, 0, 0, 0}, {1096, 546, 20480, 0, 0, 0, 0}, {284, 4403, 4883, 1360, 0, 0, 0}, {552, 12288, 1092, 0, 0, 0, 0}, {282, 816, 4437, 5397, 0, 0, 0}, {1100, 1638, 20480, 0, 0, 0, 0}, {280, 5159, 5911, 1360, 0, 0, 0}, {1096, 4192, 5632, 0, 0, 0, 0}, {278, 21845, 0, 0, 0, 0, 0}, {554, 4160, 5120, 0, 0, 0, 0}, {13107, 276, 0, 0, 0, 0, 0}, {1100, 4128, 4608, 0, 0, 0, 0}, {274, 21845, 0, 0, 0, 0, 0}, {546, 1092, 4096, 0, 0, 0, 0}, {3855, 272, 0, 0, 0, 0, 0}, {4336, 512, 1024, 0, 0, 0, 0}, {270, 514, 1028, 4369, 0, 0, 0}, {1032, 514, 20560, 0, 0, 0, 0}, {268, 4403, 512, 1280, 0, 0, 0}, {520, 12336, 1028, 0, 0, 0, 0}, {266, 768, 4437, 1024, 0, 0, 0}, {1036, 1542, 20560, 0, 0, 0, 0}, {264, 4471, 768, 1280, 0, 0, 0}, {1032, 4208, 1536, 0, 0, 0, 0}, {262, 21845, 0, 0, 0, 0, 0}, {522, 4176, 1024, 0, 0, 0, 0}, {13107, 260, 0, 0, 0, 0, 0}, {1036, 4144, 512, 0, 0, 0, 0}, {258, 21845, 0, 0, 0, 0, 0}, {514, 1028, 4112, 0, 0, 0, 0}, {255, 256, 0, 0, 0, 0, 0}, {65280, 0, 0, 0, 0, 0, 0}, {2, 4, 16, 257, 0, 0, 0}, {2, 21760, 0, 0, 0, 0, 0}, {12, 48, 771, 0, 0, 0, 0}, {13056, 4, 0, 0, 0, 0, 0}, {10, 80, 1285, 0, 0, 0, 0}, {6, 21760, 0, 0, 0, 0, 0}, {8, 112, 1799, 0, 0, 0, 0}, {8, 30464, 0, 0, 0, 0, 0}, {6, 80, 1285, 0, 0, 0, 0}, {10, 21760, 0, 0, 0, 0, 0}, {48, 771, 4, 0, 0, 0, 0}, {12, 13056, 0, 0, 0, 0, 0}, {2, 80, 1285, 0, 0, 0, 0}, {2, 4, 4352, 0, 0, 0, 0}, {240, 3855, 0, 0, 0, 0, 0}, {3840, 16, 0, 0, 0, 0, 0}, {34, 68, 4369, 0, 0, 0, 0}, {18, 21760, 0, 0, 0, 0, 0}, {76, 32, 4883, 0, 0, 0, 0}, {13056, 20, 0, 0, 0, 0, 0}, {42, 64, 5397, 0, 0, 0, 0}, {22, 21760, 0, 0, 0, 0, 0}, {72, 96, 5911, 0, 0, 0, 0}, {24, 48, 5888, 80, 0, 0, 0}, {76, 102, 21845, 0, 0, 0, 0}, {26, 48, 64, 5376, 0, 0, 0}, {40, 13107, 68, 0, 0, 0, 0}, {28, 32, 4864, 80, 0, 0, 0}, {72, 34, 21845, 0, 0, 0, 0}, {30, 34, 68, 4352, 0, 0, 0}, {7967, 32, 64, 0, 0, 0, 0}, {24320, 32, 0, 0, 0, 0, 0}, {18, 68, 4369, 0, 0, 0, 0}, {34, 21760, 0, 0, 0, 0, 0}, {12, 771, 16, 0, 0, 0, 0}, {12, 36, 5888, 68, 0, 0, 0}, {90, 112, 21845, 0, 0, 0, 0}, {12, 38, 64, 5376, 0, 0, 0}, {40, 10023, 80, 0, 0, 0, 0}, {40, 30464, 0, 0, 0, 0, 0}, {22, 64, 5397, 0, 0, 0, 0}, {42, 21760, 0, 0, 0, 0, 0}, {48, 771, 20, 0, 0, 0, 0}, {12, 32, 4864, 64, 0, 0, 0}, {90, 34, 21845, 0, 0, 0, 0}, {12, 34, 68, 4352, 0, 0, 0}, {3855, 32, 80, 0, 0, 0, 0}, {3840, 48, 0, 0, 0, 0, 0}, {2, 68, 4369, 0, 0, 0, 0}, {2, 1280, 16, 0, 0, 0, 0}, {204, 13107, 0, 0, 0, 0, 0}, {8, 52, 1792, 68, 0, 0, 0}, {10, 96, 21845, 0, 0, 0, 0}, {10, 54, 80, 1280, 0, 0, 0}, {8, 14135, 64, 0, 0, 0, 0}, {8, 48, 1792, 64, 0, 0, 0}, {10, 102, 21845, 0, 0, 0, 0}, {10, 48, 80, 1280, 0, 0, 0}, {8, 13107, 68, 0, 0, 0, 0}, {60, 13056, 0, 0, 0, 0, 0}, {2, 64, 5397, 0, 0, 0, 0}, {2, 20, 4352, 0, 0, 0, 0}, {192, 16191, 0, 0, 0, 0, 0}, {16128, 64, 0, 0, 0, 0, 0}, {34, 20, 4369, 0, 0, 0, 0}, {66, 21760, 0, 0, 0, 0, 0}, {76, 112, 17219, 0, 0, 0, 0}, {13056, 68, 0, 0, 0, 0, 0}, {10, 1285, 16, 0, 0, 0, 0}, {70, 21760, 0, 0, 0, 0, 0}, {72, 48, 18247, 0, 0, 0, 0}, {72, 30464, 0, 0, 0, 0, 0}, {22, 80, 1285, 0, 0, 0, 0}, {10, 32, 64, 5376, 0, 0, 0}, {60, 13107, 68, 0, 0, 0, 0}, {76, 13056, 0, 0, 0, 0, 0}, {18, 80, 1285, 0, 0, 0, 0}, {10, 34, 68, 4352, 0, 0, 0}, {3855, 48, 64, 0, 0, 0, 0}, {3840, 80, 0, 0, 0, 0, 0}, {34, 4, 4369, 0, 0, 0, 0}, {82, 21760, 0, 0, 0, 0, 0}, {12, 96, 21331, 0, 0, 0, 0}, {768, 4, 16, 0, 0, 0, 0}, {170, 21845, 0, 0, 0, 0, 0}, {86, 21760, 0, 0, 0, 0, 0}, {8, 32, 22359, 0, 0, 0, 0}, {8, 32, 1792, 80, 0, 0, 0}, {12, 102, 21845, 0, 0, 0, 0}, {90, 21760, 0, 0, 0, 0, 0}, {32, 4883, 4, 0, 0, 0, 0}, {12, 48, 768, 80, 0, 0, 0}, {8, 34, 21845, 0, 0, 0, 0}, {18, 4, 4352, 0, 0, 0, 0}, {160, 24415, 0, 0, 0, 0, 0}, {24320, 96, 0, 0, 0, 0, 0}, {22, 68, 4369, 0, 0, 0, 0}, {8, 34, 64, 5376, 0, 0, 0}, {60, 13107, 80, 0, 0, 0, 0}, {8, 32, 4864, 68, 0, 0, 0}, {90, 48, 21845, 0, 0, 0, 0}, {102, 21760, 0, 0, 0, 0, 0}, {8, 1799, 16, 0, 0, 0, 0}, {8, 32, 5888, 64, 0, 0, 0}, {90, 102, 21845, 0, 0, 0, 0}, {106, 21760, 0, 0, 0, 0, 0}, {32, 4883, 20, 0, 0, 0, 0}, {108, 13056, 0, 0, 0, 0, 0}, {18, 64, 5397, 0, 0, 0, 0}, {8, 34, 68, 4352, 0, 0, 0}, {3855, 48, 80, 0, 0, 0, 0}, {3840, 112, 0, 0, 0, 0, 0}, {6, 68, 4369, 0, 0, 0, 0}, {10, 34, 80, 1280, 0, 0, 0}, {12, 13107, 64, 0, 0, 0, 0}, {12, 48, 768, 68, 0, 0, 0}, {10, 32, 21845, 0, 0, 0, 0}, {6, 1280, 16, 0, 0, 0, 0}, {136, 30583, 0, 0, 0, 0, 0}, {120, 30464, 0, 0, 0, 0, 0}, {6, 64, 5397, 0, 0, 0, 0}, {10, 32, 80, 1280, 0, 0, 0}, {12, 13107, 68, 0, 0, 0, 0}, {12, 48, 768, 64, 0, 0, 0}, {10, 34, 21845, 0, 0, 0, 0}, {18, 20, 4352, 0, 0, 0, 0}, {128, 32639, 0, 0, 0, 0, 0}, {128, 32512, 0, 0, 0, 0, 0}, {18, 20, 4369, 0, 0, 0, 0}, {10, 34, 21760, 0, 0, 0, 0}, {12, 48, 771, 64, 0, 0, 0}, {12, 13056, 68, 0, 0, 0, 0}, {10, 32, 80, 1285, 0, 0, 0}, {6, 64, 5376, 0, 0, 0, 0}, {120, 30583, 0, 0, 0, 0, 0}, {136, 30464, 0, 0, 0, 0, 0}, {6, 1285, 16, 0, 0, 0, 0}, {10, 32, 21760, 0, 0, 0, 0}, {12, 48, 771, 68, 0, 0, 0}, {12, 13056, 64, 0, 0, 0, 0}, {10, 34, 80, 1285, 0, 0, 0}, {6, 68, 4352, 0, 0, 0, 0}, {3855, 112, 0, 0, 0, 0, 0}, {3840, 48, 80, 0, 0, 0, 0}, {8, 34, 68, 4369, 0, 0, 0}, {18, 64, 5376, 0, 0, 0, 0}, {108, 13107, 0, 0, 0, 0, 0}, {32, 4864, 20, 0, 0, 0, 0}, {106, 21845, 0, 0, 0, 0, 0}, {90, 102, 21760, 0, 0, 0, 0}, {8, 32, 5911, 64, 0, 0, 0}, {8, 1792, 16, 0, 0, 0, 0}, {102, 21845, 0, 0, 0, 0, 0}, {90, 48, 21760, 0, 0, 0, 0}, {8, 32, 4883, 68, 0, 0, 0}, {60, 13056, 80, 0, 0, 0, 0}, {8, 34, 64, 5397, 0, 0, 0}, {22, 68, 4352, 0, 0, 0, 0}, {24415, 96, 0, 0, 0, 0, 0}, {160, 24320, 0, 0, 0, 0, 0}, {18, 4, 4369, 0, 0, 0, 0}, {8, 34, 21760, 0, 0, 0, 0}, {12, 48, 771, 80, 0, 0, 0}, {32, 4864, 4, 0, 0, 0, 0}, {90, 21845, 0, 0, 0, 0, 0}, {12, 102, 21760, 0, 0, 0, 0}, {8, 32, 1799, 80, 0, 0, 0}, {8, 32, 22272, 0, 0, 0, 0}, {86, 21845, 0, 0, 0, 0, 0}, {170, 21760, 0, 0, 0, 0, 0}, {771, 4, 16, 0, 0, 0, 0}, {12, 96, 21248, 0, 0, 0, 0}, {82, 21845, 0, 0, 0, 0, 0}, {34, 4, 4352, 0, 0, 0, 0}, {3855, 80, 0, 0, 0, 0, 0}, {3840, 48, 64, 0, 0, 0, 0}, {10, 34, 68, 4369, 0, 0, 0}, {18, 80, 1280, 0, 0, 0, 0}, {76, 13107, 0, 0, 0, 0, 0}, {60, 13056, 68, 0, 0, 0, 0}, {10, 32, 64, 5397, 0, 0, 0}, {22, 80, 1280, 0, 0, 0, 0}, {72, 30583, 0, 0, 0, 0, 0}, {72, 48, 18176, 0, 0, 0, 0}, {70, 21845, 0, 0, 0, 0, 0}, {10, 1280, 16, 0, 0, 0, 0}, {13107, 68, 0, 0, 0, 0, 0}, {76, 112, 17152, 0, 0, 0, 0}, {66, 21845, 0, 0, 0, 0, 0}, {34, 20, 4352, 0, 0, 0, 0}, {16191, 64, 0, 0, 0, 0, 0}, {192, 16128, 0, 0, 0, 0, 0}, {2, 20, 4369, 0, 0, 0, 0}, {2, 64, 5376, 0, 0, 0, 0}, {60, 13107, 0, 0, 0, 0, 0}, {8, 13056, 68, 0, 0, 0, 0}, {10, 48, 80, 1285, 0, 0, 0}, {10, 102, 21760, 0, 0, 0, 0}, {8, 48, 1799, 64, 0, 0, 0}, {8, 14080, 64, 0, 0, 0, 0}, {10, 54, 80, 1285, 0, 0, 0}, {10, 96, 21760, 0, 0, 0, 0}, {8, 52, 1799, 68, 0, 0, 0}, {204, 13056, 0, 0, 0, 0, 0}, {2, 1285, 16, 0, 0, 0, 0}, {2, 68, 4352, 0, 0, 0, 0}, {3855, 48, 0, 0, 0, 0, 0}, {3840, 32, 80, 0, 0, 0, 0}, {12, 34, 68, 4369, 0, 0, 0}, {90, 34, 21760, 0, 0, 0, 0}, {12, 32, 4883, 64, 0, 0, 0}, {48, 768, 20, 0, 0, 0, 0}, {42, 21845, 0, 0, 0, 0, 0}, {22, 64, 5376, 0, 0, 0, 0}, {40, 30583, 0, 0, 0, 0, 0}, {40, 9984, 80, 0, 0, 0, 0}, {12, 38, 64, 5397, 0, 0, 0}, {90, 112, 21760, 0, 0, 0, 0}, {12, 36, 5911, 68, 0, 0, 0}, {12, 768, 16, 0, 0, 0, 0}, {34, 21845, 0, 0, 0, 0, 0}, {18, 68, 4352, 0, 0, 0, 0}, {24415, 32, 0, 0, 0, 0, 0}, {7936, 32, 64, 0, 0, 0, 0}, {30, 34, 68, 4369, 0, 0, 0}, {72, 34, 21760, 0, 0, 0, 0}, {28, 32, 4883, 80, 0, 0, 0}, {40, 13056, 68, 0, 0, 0, 0}, {26, 48, 64, 5397, 0, 0, 0}, {76, 102, 21760, 0, 0, 0, 0}, {24, 48, 5911, 80, 0, 0, 0}, {72, 96, 5888, 0, 0, 0, 0}, {22, 21845, 0, 0, 0, 0, 0}, {42, 64, 5376, 0, 0, 0, 0}, {13107, 20, 0, 0, 0, 0, 0}, {76, 32, 4864, 0, 0, 0, 0}, {18, 21845, 0, 0, 0, 0, 0}, {34, 68, 4352, 0, 0, 0, 0}, {3855, 16, 0, 0, 0, 0, 0}, {240, 3840, 0, 0, 0, 0, 0}, {2, 4, 4369, 0, 0, 0, 0}, {2, 80, 1280, 0, 0, 0, 0}, {12, 13107, 0, 0, 0, 0, 0}, {48, 768, 4, 0, 0, 0, 0}, {10, 21845, 0, 0, 0, 0, 0}, {6, 80, 1280, 0, 0, 0, 0}, {8, 30583, 0, 0, 0, 0, 0}, {8, 112, 1792, 0, 0, 0, 0}, {6, 21845, 0, 0, 0, 0, 0}, {10, 80, 1280, 0, 0, 0, 0}, {13107, 4, 0, 0, 0, 0, 0}, {12, 48, 768, 0, 0, 0, 0}, {2, 21845, 0, 0, 0, 0, 0}, {2, 4, 16, 256, 0, 0, 0}, {65535, 0, 0, 0, 0, 0, 0}, }; END_NAMESPACE_PBORIGB BRiAl-1.2.12/groebner/src/nf.cc000066400000000000000000000646371436062512100160520ustar00rootroot00000000000000/* * nf.cc * PolyBoRi * * Created by Michael Brickenstein on 25.04.06. * Copyright 2006 The PolyBoRi Team. See LICENSE file. * */ #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using std::cout; using std::endl; BEGIN_NAMESPACE_PBORIGB // static int log2_floor(int n){ // unsigned i = 0; // for(;__M4RI_TWOPOW(i)<=(unsigned)n;i++){} // return i-1; // } // static int optimal_k_for_multiplication(int a,int b,int c,const GroebnerStrategy& strat){ // int res=std::min(M4RI_MAXKAY,std::max(1,log2_floor(b))); // if PBORI_UNLIKELY(strat.enabledLog) // std::cout<<"optimal k for multiplication:"<=0){ PBORI_ASSERT(index=0){ PBORI_ASSERT(index=0){ PBORI_ASSERT(index=0){ PBORI_ASSERT(index=0){ PBORI_ASSERT(index=0){ // Polynomial* g=&strat.generators[index].p; // if (g->nNodes()==1){ // idx_type v=*(g->navigation()); // if (g->length()==1) // { // p=Polynomial(p.diagram().subset0(v)); // } else { // Polynomial p2=Polynomial(p.diagram().subset1(v)); // p=Polynomial(p.diagram().subset0(v))+p2; // } // } else { // if ((first==true) ||(strat.generators[index].weightedLength<= FARE_WORSE*initial)) // p=spoly(p,*g); // else { // strat.addGeneratorDelayed(p); // strat.log("Delay"); // return Polynomial(false); // } // } // first=false; // } // return p; // } // static Polynomial exchange(GroebnerStrategy& strat , int i, const Polynomial & p){ // PBORI_ASSERT(p.lead() == strat.generators[i].lead); // PolyEntry e(p); // e.vPairCalculated=strat.generators[i].vPairCalculated; // Polynomial res=spoly(strat.generators[i].p,p); // strat.generators.exchange(i, e); // return res; // } static Polynomial exchange_with_promise(GroebnerStrategy& strat , int i, const Polynomial & p){ PBORI_ASSERT(p.lead()==strat.generators[i].lead); //PolyEntry e(p); //e.vPairCalculated=strat.generators[i].vPairCalculated; Polynomial res=strat.generators[i].p; strat.generators.exchange(i,p); //strat.generators[i].minimal=false; if ((strat.generators[i].minimal)&&(strat.generators[i].length==2)) //if ((strat.generators[i].length==2)) strat.addNonTrivialImplicationsDelayed(strat.generators[i]); if (strat.generators[i].leadDeg==1) strat.propagate(strat.generators[i]); return res; } // Polynomial nf_delaying_exchanging(GroebnerStrategy& strat, Polynomial p){ // //parameter by value, so I can modify it // wlen_type initial=p.eliminationLength(); // int index; // bool first=true; // while((index=select1(strat,p))>=0){ // Polynomial* g=&strat.generators[index].p; // if (g->nNodes()==1){ // idx_type v=*(g->navigation()); // if (g->length()==1) // { // p=Polynomial(p.diagram().subset0(v)); // } else { // Polynomial p2=Polynomial(p.diagram().subset1(v)); // p=Polynomial(p.diagram().subset0(v))+p2; // } // } else { // if ((p.lead()==strat.generators[index].lead) && (p.eliminationLength()& curr, std::vector& result, const BooleMonomial& lm, int index, GroebnerStrategy& strat){ int s=curr.size(); if ((strat.generators[index].length>2)||(lm==strat.generators[index].lead)){ if //((strat.generators[index].deg==1)&&(lm!=strat.generators[index].lead)){ (((strat.generators.optBrutalReductions) && (lm!=strat.generators[index].lead)) || ((strat.generators[index].length<4) &&(strat.generators[index].ecart()==0) && (lm!=strat.generators[index].lead))){ //implies lmDeg==1, ecart=0 //cout<<"REDUCE_COMPLETE\n"; //PBORI_ASSERT(strat.generators[index].ecart()==0); //PBORI_ASSERT(strat.generators[index].leadDeg==1); //p=reduce_complete(p,strat.generators[index].p); for(int i=0;i& curr, std::vector& result, const BooleMonomial& lm, int index, GroebnerStrategy& strat){ int s=curr.size(); int found; wlen_type pivot_el; found=0; pivot_el=//curr[0].value().nNodes(); curr[0].eliminationLength(); for (int i=1;i=curr[found].value().deg()); PBORI_ASSERT(curr[found].value().lead()==lm); wlen_type old_length=strat.generators[index].length; deg_type old_deg=strat.generators[index].deg; curr[found]=PolynomialSugar(exchange_with_promise(strat, index, curr[found].value()),old_deg,old_length); strat.log("Exchange"); } #endif deg_type deg_high=strat.generators[index].ecart()+lm.deg(); curr[found].add((lm/strat.generators[index].lead)*strat.generators[index].p, deg_high,strat.generators[index].length); //PBORI_ASSERT(!(curr[found].value().isZero())); } else step_S(curr,result,lm, index,strat); } static void step_T_simple(std::vector& curr, std::vector& result, const BooleMonomial& lm,GroebnerStrategy& strat){ int s=curr.size(); Polynomial reductor(lm.ring()); int found; wlen_type pivot_el; found=0; pivot_el=curr[0].eliminationLength(); int i; for (i=1;i& curr, std::vector& result, const BooleMonomial& lm,GroebnerStrategy& strat){ // std::sort(curr.begin(), curr.end(), PSCompareByEl()); // const int max_cans=5; // int s=curr.size(); // Polynomial reductor(lm.ring()); // wlen_type pivot_el; // pivot_el=curr[0].eliminationLength(); // int i,j; // for (i=s-1;i>0;i--){ // int found=0; // MonomialSet as_set(curr[i].value()); // int c_size=sum_size(as_set, MonomialSet(curr[0].value())); // for (j=1;j& curr, std::vector& result, const BooleMonomial& lm,GroebnerStrategy& strat){ // int s=curr.size(); // if (s>2) return step_T_complex(curr,result, lm, strat); // else // step_T_complex(curr,result, lm, strat); // } std::vector parallel_reduce(std::vector inp, GroebnerStrategy& strat, int average_steps, double delay_f){ std::vector result; if (inp.empty()) return result; std::size_t s=inp.size(); int max_steps=average_steps*s; int steps=0; std::priority_queue, LMLessComparePS> to_reduce; deg_type max_sugar=0; /// Polynomial::size_type max_length=0; for(std::size_t i=0;i curr; curr.push_back(to_reduce.top()); to_reduce.pop(); Monomial lm=curr[0].lead(); if (strat.optLinearAlgebraInLastBlock){ if (!(lm.deg()==0)){ if((*(lm.begin()))>=last_block_start){ strat.log("switching to la\n"); std::vector la; la.push_back(curr[0].value()); while(!(to_reduce.empty())){ la.push_back(to_reduce.top().value()); to_reduce.pop(); } la=strat.faugereStepDense(la); //result.insert(result.size(),la.begin(),la.end()); for(std::size_t i=0;i=0){ steps=steps+curr.size(); if ((strat.optExchange) && (curr.size()>1)){ if (strat.generators[index].leadDeg==lm.deg()) step_S_T(curr,result,lm, index,strat); else step_S(curr,result,lm, index,strat); } else{ step_S(curr,result,lm, index,strat); } } else { //simly take the first, not so clever std::size_t s = curr.size(); if (s>1){ steps+=curr.size()-1; step_T_simple(curr,result,lm,strat); } else{ PBORI_ASSERT(s==1); if (!(curr[0].isZero())) result.push_back(curr[0].value()); curr.clear(); } } //after each loop push back s=curr.size(); for(std::size_t i=0; i < s; i++){ if (!(curr[i].isZero())){ if (((!strat.optLazy) ||((curr[i].getSugar()<=max_sugar) ))||(curr[i].isOne())){ if (curr[i].isOne()){ result.clear(); result.push_back(curr[i].value()); return result; } to_reduce.push(curr[i]); } else { strat.log("Delaying"); cout.flush(); strat.addGeneratorDelayed(curr[i].value()); } } } curr.clear(); if ((strat.optStepBounded) &&(steps>max_steps)){ strat.log("Too many steps\n"); while (!(to_reduce.empty())){ PBORI_ASSERT(!(to_reduce.top().isZero())); Monomial lm=to_reduce.top().lead(); if (strat.generators.select1(lm)>=0){ while((!(to_reduce.empty()))&&(to_reduce.top().lead()==lm)){ strat.addGeneratorDelayed(to_reduce.top().value()); to_reduce.pop(); } }else { std::vector this_lm; while((!(to_reduce.empty()))&&(to_reduce.top().lead()==lm)){ this_lm.push_back(to_reduce.top()); to_reduce.pop(); } std::vector::iterator for_basis=std::min_element(this_lm.begin(),this_lm.end(),PSCompareByEl()); for(std::size_t i=0;ivalue()){ strat.addGeneratorDelayed(this_lm[i].value()); } } PBORI_ASSERT(!(for_basis->value().isZero())); result.push_back((*for_basis).value()); } } return result; } } return result; } // Doxygen problems with the following syntax, so skip during docs generation int select_no_deg_growth(const ReductionStrategy& strat, const Monomial& m){ MonomialSet ms=strat.leadingTerms.divisorsOf(m); if (ms.isZero()) return -1; else { //Monomial min=*(std::min_element(ms.begin(),ms.end(), LessWeightedLengthInStrat(strat))); //Exponent min=*(std::min_element(ms.expBegin(),ms.expEnd(), StratComparerForSelect(strat))); int selected=-1; wlen_type selected_wlen=-1; MonomialSet::exp_iterator it=ms.expBegin(); MonomialSet::exp_iterator end=ms.expEnd(); while(it!=end){ Exponent curr=*it; int index=strat.index(curr); if (strat[index].ecart()==0){ if (selected<0){ selected=index; selected_wlen=wlen_literal_exceptioned(strat[index]); } else { if (wlen_literal_exceptioned(strat[index])=0){ // PBORI_ASSERT(index*m_nav){ PBORI_ASSERT(!(m_nav.isConstant())); m_nav.incrementElse(); } PBORI_ASSERT (p_index==*p_nav); typedef PBORI::CacheManager cache_mgr_type; cache_mgr_type cache_mgr(p.ring()); MonomialSet::navigator cached = cache_mgr.find(p_nav,m_nav); if (cached.isValid()) return cache_mgr.generate(cached); MonomialSet res(p.ring()); if (p_index==*m_nav){ MonomialSet m1(cache_mgr.generate(m_nav.thenBranch())); MonomialSet m0(cache_mgr.generate(m_nav.elseBranch())); MonomialSet p1(cache_mgr.generate(p_nav.thenBranch())); MonomialSet p1_irr_s1=mod_mon_set(p1,m1); MonomialSet p1_red_s1=p1.diff(p1_irr_s1); MonomialSet p0=cache_mgr.generate(p_nav.elseBranch()); Polynomial res0=do_plug_1(p1_red_s1,m1)+do_plug_1(p0,m0); Polynomial res1=do_plug_1(p1_irr_s1,m0); res=MonomialSet(p_index,res1.diagram(),res0.diagram()); } else { PBORI_ASSERT(p_index<*m_nav); res=MonomialSet(p_index,do_plug_1(cache_mgr.generate(p_nav.thenBranch()),m_plus_ones).diagram(),do_plug_1(cache_mgr.generate(p_nav.elseBranch()),m_plus_ones).diagram()); } cache_mgr.insert(p_nav,m_nav,res.navigation()); return res; } Polynomial plug_1_top(const Polynomial& p, const MonomialSet& m_plus_ones){ Polynomial irr=mod_mon_set(p.diagram(),m_plus_ones); Polynomial red=p.diagram().diff(irr); return irr+do_plug_1(red,m_plus_ones); } Polynomial plug_1(const Polynomial& p, const MonomialSet& m_plus_ones){ Polynomial p1(p),p2(plug_1_top(p1,m_plus_ones)); while(p1!=p2){ Polynomial h=p2; p2=plug_1_top(p1,m_plus_ones); p1=h; } return p2; } Polynomial cheap_reductions(const ReductionStrategy& strat, Polynomial p){ Polynomial p_bak(p.ring()); while(!(p.isZero())){ p_bak=p; //res+=lm; p=mod_mon_set(p.diagram(),strat.monomials); p=plug_1(p,strat.monomials_plus_one); if (strat.optLL){ p=ll_red_nf(p,strat.llReductor); if (p_bak!=p){ p=mod_mon_set(p.diagram(),strat.monomials); } } if (p.isZero()) break; if (p_bak==p) return p; } return p; } MonomialSet mod_mon_set(const MonomialSet& as, const MonomialSet &vs){ typedef PBORI::CacheManager cache_mgr_type; cache_mgr_type cache_mgr(as.ring()); return dd_modulo_monomials(cache_mgr, as.navigation(), vs.navigation(), MonomialSet(as.ring())); } END_NAMESPACE_PBORIGB BRiAl-1.2.12/groebner/src/pairs.cc000066400000000000000000000003571436062512100165520ustar00rootroot00000000000000/* * pairs.cc * PolyBoRi * * Created by Michael Brickenstein on 19.04.06. * Copyright 2006 The PolyBoRi Team. See LICENSE file. * */ #include BEGIN_NAMESPACE_PBORIGB // nothing END_NAMESPACE_PBORIGB BRiAl-1.2.12/groebner/src/polynomial_properties.cc000066400000000000000000000067501436062512100220760ustar00rootroot00000000000000// // untitled // // Created by on 2008-04-16. // Copyright (c) 2008 The PolyBoRi Team. See LICENSE file. // PolyBoRi Project #include #include #include using namespace std; BEGIN_NAMESPACE_PBORIGB Polynomial do_is_rewriteable(const Polynomial& p, const MonomialSet& leading_terms){ //don't change ordering if (p.isZero()) return p.ring().zero(); if (leading_terms.ownsOne()) return p.ring().one(); //case leading terms contains one is checked MonomialSet::navigator l_nav=leading_terms.navigation(); Polynomial::navigator p_nav=p.navigation(); idx_type p_i=*p_nav; idx_type l_i=*l_nav; bool changed=true; while (changed){ changed=false; while ((l_i=(*l_nav)) cache_mgr_type_mod_mon_set; cache_mgr_type_mod_mon_set cache_mgr_mod_mon_set(p.ring()); typedef PBORI::CacheManager cache_mgr_type; cache_mgr_type cache_mgr(p.ring()); PBORI_ASSERT(!(p.isZero())); PBORI_ASSERT(!(p_nav.isEmpty())); if (cache_mgr.generate(l_nav).ownsOne()){ return cache_mgr.one(); } PBORI_ASSERT(!(cache_mgr.generate(l_nav).ownsOne())); if (p_nav.isTerminated()){ return cache_mgr.zero(); } if (l_nav.isEmpty()){ return cache_mgr.zero(); } PBORI_ASSERT(!(p_nav.isConstant())); Polynomial::navigator cached= cache_mgr.find(p_nav,l_nav); if (cached.isValid()) { return Polynomial(cache_mgr.generate(cached)); } MonomialSet::navigator cached_mod_mon_set= cache_mgr.find(p_nav,l_nav); if (cached_mod_mon_set.isValid()){ return (cached_mod_mon_set==p_nav)?cache_mgr.zero():cache_mgr.one(); } PBORI_ASSERT (!(l_nav.isConstant())); Polynomial p0=cache_mgr.generate(p_nav.elseBranch()); Polynomial p1=cache_mgr.generate(p_nav.thenBranch()); Polynomial res(p.ring()); if (l_i>p_i){ MonomialSet l_curr=cache_mgr.generate(l_nav); if (((do_is_rewriteable(p0,l_curr)).isOne())||(do_is_rewriteable(p1,l_curr).isOne())){ res=cache_mgr.one(); }else{ res= cache_mgr.zero(); } } else{ PBORI_ASSERT(l_i==p_i); MonomialSet l0=cache_mgr.generate(l_nav.elseBranch()); MonomialSet l1=cache_mgr.generate(l_nav.thenBranch()); if ((do_is_rewriteable(p0,l0).isOne())||(do_is_rewriteable(p1,l1).isOne())||(do_is_rewriteable(p1,l0).isOne())){ res=cache_mgr.one(); } else{ res= cache_mgr.zero(); } } cache_mgr.insert(p_nav,l_nav,res.navigation()); return res; } bool is_rewriteable(const Polynomial& p, const MonomialSet& leading_terms){ return (do_is_rewriteable(p,leading_terms).isOne())?true:false; } END_NAMESPACE_PBORIGB BRiAl-1.2.12/groebner/src/randomset.cc000066400000000000000000000027241436062512100174300ustar00rootroot00000000000000// // untitled // // Created by on 2007-12-13. // Copyright (c) 2007 The PolyBoRi Team. See LICENSE file. // PolyBoRi Project #include #include #include #include #include #include BEGIN_NAMESPACE_PBORIGB static base_generator_type generator(static_cast(std::time(0))); void set_random_seed(unsigned int seed){ generator=base_generator_type(seed); } MonomialSet random_set_using_generator(const Monomial& variables, unsigned int len, bool_gen_type& bit_gen){ Exponent var_exp=variables.exp(); std::set exponents; while(exponents.size() exponents_vec(exponents.size()); std::copy(exponents.begin(),exponents.end(),exponents_vec.begin()); Polynomial p=add_up_exponents(exponents_vec, variables.ring().zero()); return p.diagram(); } MonomialSet random_set(const Monomial& variables, unsigned int len){ bool_gen_type bit_gen(generator,distribution_type(0,1)); return random_set_using_generator(variables,len,bit_gen); } END_NAMESPACE_PBORIGB BRiAl-1.2.12/libbrial/000077500000000000000000000000001436062512100143065ustar00rootroot00000000000000BRiAl-1.2.12/libbrial/Makefile.am000066400000000000000000000000261436062512100163400ustar00rootroot00000000000000SUBDIRS = src include BRiAl-1.2.12/libbrial/include/000077500000000000000000000000001436062512100157315ustar00rootroot00000000000000BRiAl-1.2.12/libbrial/include/Makefile.am000066400000000000000000000055601436062512100177730ustar00rootroot00000000000000nobase_include_HEADERS = \ polybori/BlockDegLexOrder.h \ polybori/BlockDegRevLexAscOrder.h \ polybori/BooleConstant.h \ polybori/BooleEnv.h \ polybori/BooleExponent.h \ polybori/BooleMonomial.h \ polybori/BoolePolynomial.h \ polybori/BoolePolyRing.h \ polybori/BooleSet.h \ polybori/BooleSetSequence.h \ polybori/BooleVariable.h \ polybori/cache/CacheManager.h \ polybori/cache/CCacheManagement.h \ polybori/cache/CDegreeCache.h \ polybori/common/CCheckedIdx.h \ polybori/common/CExtrusivePtr.h \ polybori/common/CWeakPtr.h \ polybori/common/CWeakPtrFacade.h \ polybori/common/tags.h \ polybori/common/traits.h \ polybori/common/TransformedSequence.h \ polybori/config.h \ polybori/cudd/prefix.h \ polybori/cudd/prefix_internal.h \ polybori/DegLexOrder.h \ polybori/DegRevLexAscOrder.h \ polybori/diagram/CApplyNodeFacade.h \ polybori/diagram/CCuddDDFacade.h \ polybori/diagram/CDDOperations.h \ polybori/diagram/CNodeCounter.h \ polybori/except/CErrorInfo.h \ polybori/except/PBoRiError.h \ polybori/except/PBoRiGenericError.h \ polybori/factories/CFactoryBase.h \ polybori/factories/MonomialFactory.h \ polybori/factories/PolynomialFactory.h \ polybori/factories/SetFactory.h \ polybori/factories/VariableBlock.h \ polybori/factories/VariableFactory.h \ polybori/iterators/CBidirectTermIter.h \ polybori/iterators/CCuddFirstIter.h \ polybori/iterators/CCuddLastIter.h \ polybori/iterators/CCuddNavigator.h \ polybori/iterators/CExpIter.h \ polybori/iterators/CGenericIter.h \ polybori/iterators/COrderedIter.h \ polybori/iterators/CStackSelector.h \ polybori/iterators/CTermGenerator.h \ polybori/iterators/CTermIter.h \ polybori/iterators/CTermStack.h \ polybori/iterators/CVariableIter.h \ polybori/iterators/PBoRiOutIter.h \ polybori/iterators/TransformedIterator.h \ polybori/LexOrder.h \ polybori/literals/CLiteralCodes.h \ polybori/literals/CStringLiteral.h \ polybori/orderings/CBlockOrderingFacade.h \ polybori/orderings/COrderingBase.h \ polybori/orderings/COrderingFacade.h \ polybori/orderings/COrderingTags.h \ polybori/orderings/order_tags.h \ polybori/orderings/order_traits.h \ polybori/orderings/pbori_order.h \ polybori/pbori_defs.h \ polybori/polybori.h \ polybori/ring/CCallbackWrapper.h \ polybori/ring/CCuddCore.h \ polybori/ring/CCuddInterface.h \ polybori/ring/CMemberFunctionTraits.h \ polybori/ring/CVariableNames.h \ polybori/ring/WeakRingPtr.h \ polybori/routines/pbori_algo.h \ polybori/routines/pbori_algo_int.h \ polybori/routines/pbori_algorithms.h \ polybori/routines/pbori_func.h \ polybori/routines/pbori_routines.h \ polybori/routines/pbori_routines_cuddext.h \ polybori/routines/pbori_routines_dd.h \ polybori/routines/pbori_routines_hash.h \ polybori/routines/pbori_routines_misc.h \ polybori/routines/pbori_routines_order.h \ polybori.h noinst_HEADERS = \ polybori/cudd/cudd.h \ polybori/cudd/cuddInt.h BRiAl-1.2.12/libbrial/include/polybori.h000066400000000000000000000010051436062512100177350ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file include/polybori.h * * @author Alexander Dreyer * @date 2006-03-06 * * This file includes all header files, which are necessary * for using the polybori lib. * * @par Copyright: * (c) 2006 by The PolyBoRi Team **/ //***************************************************************************** #ifndef polybori_h_ #define polybori_h_ #include #endif // of #ifndef polybori_h_ BRiAl-1.2.12/libbrial/include/polybori/000077500000000000000000000000001436062512100175705ustar00rootroot00000000000000BRiAl-1.2.12/libbrial/include/polybori/BlockDegLexOrder.h000066400000000000000000000030521436062512100230600ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file BlockDegLexOrder.h * * @author Alexander Dreyer * @date 2006-05-18 * * Defining Block Degree-lexicographical ordering. * * @par Copyright: * (c) 2007 by The PolyBoRi Team **/ //***************************************************************************** #ifndef polybori_BlockDegLexOrder_h_ #define polybori_BlockDegLexOrder_h_ // include basic definitions #include // include base order definitions #include #include BEGIN_NAMESPACE_PBORI /** @class BlockDegLexOrder * @brief This class defines ordering related functions. * * **/ class BlockDegLexOrder: public CBlockOrderingFacade { /// generic access to current type typedef BlockDegLexOrder self; public: /// Define binary predicate for index comparision typedef std::less idx_comparer_type; /// Default Constructor BlockDegLexOrder(): base() {}; /// Copy Constructor BlockDegLexOrder(const self& rhs): base(rhs) {}; /// Destructor ~BlockDegLexOrder() {}; /// Comparison of indices corresponding to variables comp_type compare(idx_type, idx_type) const; /// Comparison of monomials comp_type compare(const monom_type&, const monom_type&) const; /// Comparison of exponent vectors comp_type compare(const exp_type&, const exp_type&) const; }; END_NAMESPACE_PBORI #endif // polybori_BlockDegLexOrder_h_ BRiAl-1.2.12/libbrial/include/polybori/BlockDegRevLexAscOrder.h000066400000000000000000000031671436062512100241730ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file BlockDegRevLexAscOrder.h * * @author Alexander Dreyer * @date 2006-05-18 * * Defining Block Degree-lexicographical ordering. * * @par Copyright: * (c) 2007-2010 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_BlockDegRevLexAscOrder_h_ #define polybori_BlockDegRevLexAscOrder_h_ // include basic definitions #include // include base order definitions #include #include BEGIN_NAMESPACE_PBORI /** @class BlockDegRevLexAscOrder * @brief This class defines ordering related functions. * * **/ class BlockDegRevLexAscOrder: public CBlockOrderingFacade { /// generic access to current type typedef BlockDegRevLexAscOrder self; public: /// Define binary predicate for index comparision typedef std::greater idx_comparer_type; /// Default Constructor BlockDegRevLexAscOrder(): base() {}; /// Copy Constructor BlockDegRevLexAscOrder(const self& rhs): base(rhs) {}; /// Destructor ~BlockDegRevLexAscOrder() {}; /// Comparison of indices corresponding to variables comp_type compare(idx_type, idx_type) const; /// Comparison of monomials comp_type compare(const monom_type&, const monom_type&) const; /// Comparison of exponent vectors comp_type compare(const exp_type&, const exp_type&) const; }; END_NAMESPACE_PBORI #endif // polybori_BlockDegRevLexAscOrder_h_ BRiAl-1.2.12/libbrial/include/polybori/BooleConstant.h000066400000000000000000000073141436062512100225200ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file BooleConstant.h * * @author Alexander Dreyer * @date 2008-03-05 * * This file defines an intermediate class for handling bool and int values, * which were not converted to Boolean polynomials or monomials yet. * * @par Copyright: * (c) 2008-2011 by The PolyBoRi Team **/ //***************************************************************************** #ifndef polybori_BooleConstant_h_ #define polybori_BooleConstant_h_ // include basic definitions #include BEGIN_NAMESPACE_PBORI /** @class BooleConstant * @brief This class wraps a bool value, which was not converted to a boolean * polynomial or monomial yet. * * This is mostly equivalent to the built-in type @c bool. Only conversion * from integer values to @c BooleConstant is nontrivial, as it involves the * modulo 2 operation. * * The class partially implements the interfaces of @c BoolePolynomial and * @c BooleMonomial. * * @note Since BooleConstant(1) may be interpreted as monomial as well as * polynomial, we skip member functions, that have different meanings for * polynomials and monomials (like begin() and end()). **/ class BooleConstant: public CTypes { typedef BooleConstant self; public: /// Define dummy iterator typedef const self* const_iterator; /// Default constructor BooleConstant(): m_value(false) {} /// constructor for bool values BooleConstant(bool value): m_value(value) {} /// Constructor for short integer values (nontrivial conversion) BooleConstant(short value): m_value(value % 2) {} /// Constructor for unsigned shoer integer values (nontrivial conversion) BooleConstant(unsigned short value): m_value(value % 2) {} /// Constructor for integer values (nontrivial conversion) BooleConstant(int value): m_value(value % 2) {} /// Constructor for unsigned integer values (nontrivial conversion) BooleConstant(unsigned int value): m_value(value % 2) {} /// Constructor for long integer values (nontrivial conversion) BooleConstant(long value): m_value(value % 2) {} /// Constructor for unsigned long integer values (nontrivial conversion) BooleConstant(unsigned long value): m_value(value % 2) {} /// Convert to bool value operator bool() const { return m_value; } /// Negation operation BooleConstant operator!() const { return !m_value; } /// Get constant degree deg_type deg() const { return (m_value? 0: -1); } /// Start polynomial-style iterations const_iterator orderedBegin() const { return this; } /// Finish polynomial-style iterations const_iterator orderedEnd() const { return this + (m_value? 1: 0); } /// Start empty monomial iteration const_iterator variableBegin() const { return this; } /// Finish empty monomial iteration const_iterator variableEnd() const { return variableBegin(); } /// Mimic constant monomial or polynmomial term //@{ bool isOne() const { return m_value; } bool isZero() const { return !m_value; } bool isConstant() const { return true; } bool hasConstantPart() const { return isOne(); } //@} protected: /// Boolean value is stored as simple bool bool m_value; }; /// Stream output operator inline CTypes::ostream_type& operator<<(CTypes::ostream_type& os, const BooleConstant& rhs) { return (os << (int) rhs); } inline BooleConstant operator+(const BooleConstant& lhs, const BooleConstant& rhs) { return lhs ^ rhs; } inline BooleConstant operator-(const BooleConstant& lhs, const BooleConstant& rhs) { return lhs + rhs; } inline BooleConstant operator*(const BooleConstant& lhs, const BooleConstant& rhs) { return lhs && rhs; } END_NAMESPACE_PBORI #endif // polybori_BooleConstant_h_ BRiAl-1.2.12/libbrial/include/polybori/BooleEnv.h000066400000000000000000000105771436062512100214640ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file BooleEnv.h * * @author Alexander Dreyer * @date 2006-03-06 * * This file the class BooleEnv, where handles global (static) strucutres of * PolyBoRi. * * @par Copyright: * (c) 2007 by The PolyBoRi Team **/ //***************************************************************************** #ifndef polybori_BooleEnv_h_ #define polybori_BooleEnv_h_ // load PolyBoRi settings # include #include #include // Obey stricter dependence of Sun Studio compiler // todo: resolve dependency #if defined(__SUNPRO_C) || defined(__SUNPRO_CC) # define PBORI_ENV_RING_NOTINLINED #endif BEGIN_NAMESPACE_PBORI class BoolePolyRing; //extern BoolePolyRing active_ring; class COrderingBase; /** @class BooleEnv * @brief This class is just a wrapper accessing global structures. * * **/ class BooleEnv: public CTypes::orderenums_type, public CTypes::compenums_type, public CTypes::auxtypes_type { public: //------------------------------------------------------------------------- // types definitions //------------------------------------------------------------------------- /// generic access to current type typedef BooleEnv self; /// generic access to base type typedef CTypes::orderenums_type base; /// @name adopt global type definitions //@{ typedef CTypes::ordercode_type ordercode_type; typedef BoolePolyRing::dd_type dd_type; typedef BoolePolyRing::var_type var_type; typedef CTypes::vartext_type vartext_type; //@} /// Type for block indices typedef std::vector block_idx_type; /// Type for block iterators typedef block_idx_type::const_iterator block_iterator; //------------------------------------------------------------------------- // constructors and destructor //------------------------------------------------------------------------- /// Explicitely mention ordercodes' enumeration using base::ordercodes; // /// Access idx-th variable of the active ring // static var_type variable(idx_type idx); // /// Get numerical code for current ordering // static ordercode_type getOrderCode(); // /// Get numerical code for current base ordering // /// (the same for non-block orderings) // static ordercode_type getBaseOrderCode(); // /// Get empty decision diagram // static dd_type zero(); // /// Get decision diagram with all variables negated // static dd_type one(); // /// Get number of ring variables the of active ring // static size_type nVariables(); typedef BoolePolyRing ring_type; typedef COrderingBase order_type; // private: // #ifdef PBORI_ENV_RING_NOTINLINED // static ring_type& ring(); // #else // static ring_type& ring() { // static BooleEnv::ring_type active_ring(1000, CTypes::lp, false); // return active_ring; // } // #endif // // static manager_type& manager(); // static order_type& ordering(); // public: // /// Set name of variable with index idx // static void setVariableName(idx_type idx, vartext_type varname); // /// Get name of variable with index idx // static vartext_type getVariableName(idx_type idx); // /// @name interface for block orderings, if the vcurrent orderins is a block ordering // //@{ // /// Returns iterator over the indices, where the (next) block starts. // /// (The first one implicitely starts at zero.) // static block_iterator blockBegin(); // /// Returns end marker of iteration // static block_iterator blockEnd(); // /// Add index where the next block starts // static void appendBlock(idx_type idx); // /// Reset block-related data // static void clearBlocks(); // /// Index where the last blocks starts // static idx_type lastBlockStart(); // //@} // /// Change order of current ring // static void changeOrdering(ordercode_type code); // /// Print low-level information // static ostream_type& print(ostream_type&); // /// Activate given ring // static void set(ring_type& theRing); }; ///please use BooleEnv::ring() /// Extract block data without exposing ordering stuff BooleEnv::block_iterator block_begin(const BooleEnv::ring_type& ring); /// Extract block data without exposing ordering stuff BooleEnv::block_iterator block_end(const BooleEnv::ring_type& ring); END_NAMESPACE_PBORI #endif // of #ifndef polybori_BooleEnv_h_ BRiAl-1.2.12/libbrial/include/polybori/BooleExponent.h000066400000000000000000000215621436062512100225300ustar00rootroot00000000000000 // -*- c++ -*- //***************************************************************************** /** @file BooleExponent.h * * @author Alexander Dreyer * @date 2006-08-23 * * This file carries the definition of class @c BooleExponent, which can be used * as interim storage for boolean monomials. * * @par Copyright: * (c) 2006 by The PolyBoRi Team **/ //***************************************************************************** #ifndef polybori_BooleExponent_h_ #define polybori_BooleExponent_h_ // include basic definitions #include // get definition of BoolePolynomial, BooleMonomial, and BooleVariable #include #include BEGIN_NAMESPACE_PBORI /// Less than comparison (and sortability) of exponents template class MapComparator { public: // Auxiliary sort order for exponents as required by std::map // // Implemented as template since we cannot forward declare // BooleExponent::bool_type, but will only be used with T == // BooleExponent. typename T::bool_type operator()(const T& lhs, const T& rhs) const { typename T::const_iterator li = lhs.begin(); typename T::const_iterator ri = rhs.begin(); while (true) { if (li == lhs.end()) return true; if (ri == rhs.end()) return false; if (*li < *ri) return true; li++, ri++; }; return false; } }; /** @class BooleExponent * @brief This class is just a wrapper for using variables for storing indices * as interim data structure for BooleMonomial * **/ class BooleExponent: public CAuxTypes { public: //------------------------------------------------------------------------- // types definitions //------------------------------------------------------------------------- /// Define the underlying data structure typedef std::vector data_type; /// Generic access to actual data typedef data_type::value_type value_type; /// @name Generic access to iterator types //@{ typedef data_type::iterator iterator; typedef data_type::const_iterator const_iterator; typedef data_type::reverse_iterator reverse_iterator; typedef data_type::const_reverse_iterator const_reverse_iterator; //@} /// Generic access to current type typedef BooleExponent self; /// Type of Boolean polynomials typedef BoolePolynomial poly_type; /// Type of Boolean variables typedef poly_type::ring_type ring_type; /// Type of Boolean variables typedef poly_type::var_type var_type; /// Type of Boolean variables typedef poly_type::monom_type monom_type; /// Type of sets of Boolean variables typedef poly_type::set_type set_type; /// Type for index maps typedef generate_index_map >::type idx_map_type; /// This type has no easy equality check typedef invalid_tag easy_equality_property; /// Default Constructor BooleExponent(); /// Copy constructor BooleExponent(const self&); // explicit BooleExponent(bool); /// Construct from Boolean monomial self& get(const monom_type&); explicit BooleExponent(const monom_type& rhs); /// Destructor ~BooleExponent(); /// Start iteration over indices (constant access) const_iterator begin() const { return m_data.begin(); } /// Finish iteration over indices (constant access) const_iterator end() const { return m_data.end(); } /// Start reverse iteration over indices (constant access) const_reverse_iterator rbegin() const { return m_data.rbegin(); } /// Finish reverse iteration over indices (constant access) const_reverse_iterator rend() const { return m_data.rend(); } /// Degree of the corresponding monomial size_type size() const { return m_data.size(); } /// Prepare memory for exponents void reserve(size_type nsize) { m_data.reserve(nsize); } /// Drop compoents from the nsize-th element on void resize(size_type nsize) { m_data.resize(nsize); } /// Degree of the corresponding monomial deg_type deg() const { return size(); } /// Divisors of the monomial set_type divisors(const ring_type&) const; /// multiples of the monomial wrt. given monomial (both given as exponents) set_type multiples(const self&, const ring_type&) const; /// multiples of the monomial wrt. given monomial set_type multiples(const monom_type&) const; /// Hash value for the exponent hash_type stableHash() const { return stable_term_hash(begin(), end()); } /// For the exponent we only have one type of hashes hash_type hash() const { return stableHash(); } /// Insert a given index, if it is not there, remove otherwise; assign the result self& changeAssign(idx_type); /// Insert a given index, if it is not there, remove otherwise; return the result self change(idx_type) const; /// Insert variable with index idx in exponent vector self& insert(idx_type); /// Insert variable with index idx in exponent vector (trying end first) self& push_back(idx_type idx); /// Remove variable with index idx in exponent vector self& remove(idx_type); /// Insert variable with index idx in exponent vector self insertConst(idx_type) const; /// Remove variable with index idx in exponent vector self removeConst(idx_type) const; /// Corresponds to division of monomials self divide(const self&) const; self divideByIndex(const idx_type& rhs) const { return (reducibleBy(rhs)? removeConst(rhs) : self() ); } self divide(const var_type& rhs) const { return divideByIndex(rhs.index()); } self divide(const monom_type&) const; /// Corresponds to multiplication of monomials self multiply(const self&) const; self multiply(const idx_type& rhs) const { return insertConst(rhs); } self multiply(const var_type& rhs) const { return multiply(rhs.index()); } self multiply(const monom_type&) const; self multiplyFirst(const set_type&) const; // /// @name Arithmetical operations // //@{ // self& operator*=(const self&); // self& operator/=(const self&); // self& operator*=(const var_type&); // self& operator/=(const var_type&); // //@} /// @name Logical operations //@{ bool_type operator==(const self& rhs) const { return m_data == rhs.m_data; } bool_type operator!=(const self& rhs) const { return m_data != rhs.m_data; } //@} /// Assignment operation self& operator=(const self& rhs) { m_data = rhs.m_data; return *this; } self& operator=(const monom_type& rhs) { m_data.resize(rhs.size()); std::copy(rhs.begin(), rhs.end(), internalBegin()); return *this; } /// Test for reducibility bool_type reducibleBy(const self& rhs) const; bool_type reducibleBy(const monom_type& rhs) const; bool_type reducibleBy(const idx_type& rhs) const; bool_type reducibleBy(const var_type& rhs) const { return reducibleBy(rhs.index()); } // /// Test for reducibility wrt. to a given variable // bool_type reducibleBy(const var_type& rhs) const; /// Degree of the least common multiple deg_type LCMDeg(const self&) const; /// Compute theleast common multiple and assign /// self& LCMAssign(const self&); /// Compute the greatest common divisor self LCM(const self&) const; /// Compute the greatest common divisor and assign //self& GCDAssign(const self&); /// Compute the greatest common divisor self GCD(const self&) const; /// Removes the first index from exponent self& popFirst() { if(!m_data.empty()) m_data.erase(m_data.begin()); return *this; } /// Print current polynomial to output stream ostream_type& print(ostream_type&) const; protected: /// Start iteration over indices (constant access) iterator internalBegin() { return m_data.begin(); } /// Finish iteration over indices (constant access) iterator internalEnd() { return m_data.end(); } /// Start reverse iteration over indices (constant access) reverse_iterator rInternalBegin() { return m_data.rbegin(); } /// Finish reverse iteration over indices (constant access) reverse_iterator rInternalEnd() { return m_data.rend(); } /// The actual exponent indices data_type m_data; }; /// Multiplication of monomials template inline BooleExponent operator+(const BooleExponent& lhs, const RHSType& rhs) { return lhs.multiply(rhs); } /// Division of monomials template inline BooleExponent operator-(const BooleExponent& lhs, const RHSType& rhs) { return lhs.divide(rhs); } /// Compute the greatest common divisor of two monomials inline BooleExponent GCD(const BooleExponent& lhs, const BooleExponent& rhs ){ return lhs.GCD(rhs); } /// Compute the greatest common divisor of two monomials inline BooleExponent LCM(const BooleExponent& lhs, const BooleExponent& rhs ){ return lhs.LCM(rhs); } /// Stream output operator inline BooleExponent::ostream_type& operator<<(BooleExponent::ostream_type& os, const BooleExponent& rhs) { return rhs.print(os); } END_NAMESPACE_PBORI #endif // of polybori_BooleExponent_h_ BRiAl-1.2.12/libbrial/include/polybori/BooleMonomial.h000066400000000000000000000257761436062512100225160ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file: BooleMonomial.h * * @author Alexander Dreyer * @date 2006-04-19 * * This file carries the definition of class @c BooleMonomial, which can be used * to access the boolean monomials of the currently active Boolean polynomial * ring. * * @par Copyright: * (c) 2006-2010 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_BooleMonomial_h_ #define polybori_BooleMonomial_h_ // include basic definitions #include // get definition of BoolePolynomial and BooleVariable #include #include // get standard map functionality #include // get variable iterator #include // get variable iterator #include BEGIN_NAMESPACE_PBORI class BooleVariable; class BooleExponent; template class CDDOperations; /** @class BooleMonomial * @brief This class is just a wrapper for using variables from @c cudd's * decicion diagram. * * @note @c BooleMonomial is actually a specialization of @c BoolePolynomial * with a special constructor. * **/ class BooleMonomial: public CAuxTypes { /// Generic access to current type typedef BooleMonomial self; public: template friend class CDDOperations; friend class COrderingBase; template friend class CTermGeneratorBase; template friend class CTermGeneratorBase__; /// Type of Boolean polynomials typedef BoolePolynomial poly_type; /// @name Adopt global type definitions //@{ typedef poly_type::dd_type dd_type; typedef poly_type::integer_type integer_type; typedef poly_type::ostream_type ostream_type; //@} /// Type of Boolean variables typedef poly_type::var_type var_type; /// Type of Boolean constants typedef poly_type::constant_type constant_type; /// Type of sets of Boolean variables typedef poly_type::set_type set_type; /// Type of exponent vector typedef poly_type::exp_type exp_type; /// Type for Boolean polynomial rings (without ordering) typedef poly_type::ring_type ring_type; /// Access to iterator over indices typedef poly_type::first_iterator const_iterator; /// Access to iterator over variables typedef CVariableIter variable_iterator; /// Type for index maps // typedef generate_index_map::type idx_map_type; typedef std::map, navigates > > idx_map_type; /// The property whether the equality check is easy is inherited from dd_type typedef dd_type::easy_equality_property easy_equality_property; /// Copy constructor BooleMonomial(const self& rhs): m_poly(rhs.m_poly) {} /// Construct from Boolean variable BooleMonomial(const var_type& rhs); // not inlined to avoid dependency loop // (both depend on poly_type) /// Construct from exponent vector BooleMonomial(const exp_type& rhs, const ring_type& ring): m_poly(rhs, ring) { } /// Construct from given ring BooleMonomial(const ring_type& ring): m_poly(ring.one()) {} /// Destructor ~BooleMonomial() {} /// Casting operator operator const BoolePolynomial&() const { return m_poly; } /// Get exponent vector exp_type exp() const; /// Start iteration over indices const_iterator begin() const { return m_poly.firstBegin(); } /// Finish iteration over indices const_iterator end() const { return m_poly.firstEnd(); } /// Start iteration over variables variable_iterator variableBegin() const { return variable_iterator(begin(), ring()); } /// Finish iteration over variables variable_iterator variableEnd() const { return variable_iterator(end(), ring()); } /// Degree of the monomial deg_type deg() const { return std::distance(m_poly.firstBegin(),m_poly.firstEnd()); } /// Size of the exponents size_type size() const { return (size_type)deg(); } // always nonnegative /// Divisors of the monomial set_type divisors() const { return m_poly.leadDivisors(); } /// multiples of the monomial wrt. given monomial set_type multiples(const self&) const; /// Hash value of the monomial hash_type stableHash() const { return stable_first_hash_range(m_poly.navigation()); } /// Get unique hash value (valid only per runtime) hash_type hash() const { return m_poly.hash(); } /// Substitute variable with index idx by its complement self change(idx_type) const; /// @name Arithmetical operations //@{ self& operator*=(const self&); self& operator/=(const self&); self& operator*=(const var_type&); self& operator/=(const var_type&); //@} /// @name Logical operations //@{ bool_type operator==(const self& rhs) const { return m_poly == rhs.m_poly; } bool_type operator!=(const self& rhs) const { return m_poly != rhs.m_poly; } bool_type operator==(constant_type rhs) const { return m_poly == rhs; } bool_type operator!=(constant_type rhs) const { return m_poly != rhs; } bool_type isOne() const { return m_poly.isOne(); } bool_type isConstant() const { return m_poly.isConstant(); } //@} /// Test for reducibility bool_type reducibleBy(const self& rhs) const { return m_poly.firstReducibleBy(rhs); } bool_type reducibleBy(const var_type& rhs) const; /// Compare with rhs monomial and return comparision code comp_type compare(const self&) const; /// Degree of the least common multiple deg_type LCMDeg(const self&) const; /// Compute the least common multiple and assign self& LCMAssign(const self&); /// Compute the least common multiple self LCM(const self&) const; /// Compute the greatest common divisor and assign self& GCDAssign(const self&); /// Compute the greatest common divisor self GCD(const self&) const; /// Read-only access to internal decision diagramm structure const dd_type& diagram() const { return m_poly.diagram(); } /// Get corresponding subset of of the powerset over all variables set_type set() const { return m_poly.set(); } /// Removes the first variables from monomial self& popFirst() { PBORI_ASSERT(!m_poly.isConstant()); return *this = set_type( dd_type(m_poly.ring(), m_poly.navigation().thenBranch()) ); } /// Get first variable in monomial var_type firstVariable() const; /// Get first index in monomial /// @note return out-of-range integer for polynomial one idx_type firstIndex() const { return *m_poly.navigation(); } /// Access ring, where this belongs to const ring_type& ring() const { return m_poly.ring(); } protected: /// Access to internal decision diagramm structure dd_type& internalDiagram() { return m_poly.internalDiagram(); } /// Construct from decision diagram BooleMonomial(const set_type& rhs): m_poly(rhs.diagram()) { PBORI_ASSERT(!m_poly.isZero()); } private: BoolePolynomial m_poly; }; /// Multiplication of monomials inline BooleMonomial operator*(const BooleMonomial& lhs, const BooleMonomial& rhs) { return BooleMonomial(lhs) *= rhs; } /// Multiplication of monomials inline BooleMonomial operator*(const BooleMonomial& lhs, const BooleVariable& rhs) { return BooleMonomial(lhs) *= rhs; } /// Multiplication of monomials inline BoolePolynomial operator*(const BooleMonomial& lhs, BooleConstant rhs) { return BoolePolynomial(lhs) *= rhs; } /// Multiplication of monomials inline BoolePolynomial operator*(BooleConstant lhs, const BooleMonomial& rhs) { return rhs * lhs; } /// Division of monomials inline BooleMonomial operator/(const BooleMonomial& lhs, const BooleMonomial& rhs) { return BooleMonomial(lhs) /= rhs; } /// Division of monomials inline BooleMonomial operator/(const BooleMonomial& lhs, const BooleVariable& rhs) { return lhs / BooleMonomial(rhs); } /// Less than comparision inline BooleMonomial::bool_type operator<(const BooleMonomial& lhs, const BooleMonomial& rhs) { return (lhs.compare(rhs) == CTypes::less_than); } /// Greater than comparision inline BooleMonomial::bool_type operator>(const BooleMonomial& lhs, const BooleMonomial& rhs) { return (lhs.compare(rhs) == CTypes::greater_than); } /// Less or equal than comparision inline BooleMonomial::bool_type operator<=(const BooleMonomial& lhs, const BooleMonomial& rhs) { return (lhs.compare(rhs) <= CTypes::less_or_equal_max); } /// Greater or equal than comparision inline BooleMonomial::bool_type operator>=(const BooleMonomial& lhs, const BooleMonomial& rhs) { return (lhs.compare(rhs) >= CTypes::greater_or_equal_min); } /// Compute the greatest common divisor of two monomials inline BooleMonomial GCD(const BooleMonomial& lhs, const BooleMonomial& rhs ){ return lhs.GCD(rhs); } /// Compute the greatest common divisor of two monomials inline BooleMonomial LCM(const BooleMonomial& lhs, const BooleMonomial& rhs ){ return lhs.LCM(rhs); } // Anyone need this? /// @fn greater_variable(BooleMonomial::idx_type lhs, BooleMonomial::idx_type rhs); /// @brief Checks whether BooleVariable(lhs) > BooleVariable(rhs) // BooleMonomial::bool_type // greater_variable(BooleMonomial::idx_type lhs, BooleMonomial::idx_type rhs); /// Multiplication of variables by a 0 or 1 inline BoolePolynomial operator*(const BooleVariable& lhs, const BooleConstant& rhs){ return BooleMonomial(lhs) * rhs; } /// Multiplication of 0 or 1 by a Variable inline BoolePolynomial operator*(const BooleConstant& lhs, const BooleVariable& rhs){ return rhs * lhs; } /// Multiplication of variables by a polynomial inline BoolePolynomial operator*(const BooleVariable& lhs, const BoolePolynomial& rhs){ return BoolePolynomial(rhs) *= BooleMonomial(lhs); } /// Multiplication of variables by a monomial inline BooleMonomial operator*(const BooleVariable& lhs, const BooleMonomial& rhs){ return BooleMonomial(lhs) * rhs; } /// Multiplication of a polynomial by a variable with assignment inline BoolePolynomial& operator*=(BoolePolynomial& lhs, const BooleVariable& rhs){ return lhs *= BooleMonomial(rhs); } /// Multiplication of monomials by a polynomial inline BooleMonomial operator*(const BooleVariable& lhs, const BooleVariable& rhs){ return BooleMonomial(lhs) *= BooleMonomial(rhs); } /// Multiplication of a polynomial by a variable inline BoolePolynomial operator*(const BoolePolynomial& lhs, const BooleVariable& rhs){ return BoolePolynomial(lhs) *= BooleMonomial(rhs); } /// Division of a polynomial by a variable (forcing monomial variant) inline BoolePolynomial operator/(const BoolePolynomial& lhs, const BooleVariable& rhs){ return lhs / BooleMonomial(rhs); } /// Remainder of division of a polynomial by a variable inline BoolePolynomial operator%(const BoolePolynomial& lhs, const BooleVariable& rhs){ return lhs % BooleMonomial(rhs); } END_NAMESPACE_PBORI #endif // of polybori_BooleMonomial_h_ BRiAl-1.2.12/libbrial/include/polybori/BoolePolyRing.h000066400000000000000000000134151436062512100224710ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file BoolePolyRing.h * * @author Alexander Dreyer * @date 2006-03-06 * * This file the class BoolePolyRing, where carries the definition of a * polynomial ring over Booleans. * * @par Copyright: * (c) 2006 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_BoolePolyRing_h_ #define polybori_BoolePolyRing_h_ // load PolyBoRi settings # include // include basic decision diagram manager interface #include "ring/CCuddCore.h" #include "except/PBoRiError.h" #include "common/CCheckedIdx.h" #include #include "common/CWeakPtr.h" #include BEGIN_NAMESPACE_PBORI class WeakRingPtr; // forward declaration /** @class BoolePolyRing * @brief This class reinterprets decicion diagram managers as Boolean * polynomial rings, adds an ordering and variable names. * **/ class BoolePolyRing: public CTypes::orderenums_type, public CTypes::compenums_type, public CTypes::auxtypes_type { /// generic access to current type typedef BoolePolyRing self; public: /// The weak pointer needs access to data structure friend class WeakRingPtr; /// define exponent type typedef class BooleExponent exp_type; /// set monomial type typedef class BooleMonomial monom_type; /// set variables type typedef class BooleVariable var_type; /// set decision diagram type typedef class BooleSet dd_type; /// set polynomial type typedef class BoolePolynomial poly_type; /// @name adopt global type definitions //@{ typedef CTypes::ordercode_type ordercode_type; typedef CTypes::vartext_type vartext_type; //@} /// Check indices bevor using typedef CCheckedIdx checked_idx_type; /// Type of actual data typedef CCuddCore core_type; typedef core_type::const_varname_reference const_varname_reference; /// Smart pointer to core typedef boost::intrusive_ptr core_ptr; /// Type for handling mterm orderings typedef core_type::order_type order_type; /// Smart pointer for handling mterm orderings typedef core_type::order_ptr order_ptr; /// Reference for handling mterm orderings typedef order_type& order_reference; typedef DdManager mgr_type; /// Explicitely mention ordercodes' enumeration using CTypes::orderenums_type::ordercodes; /// Type for block indices typedef std::vector block_idx_type; /// Type for block iterators typedef block_idx_type::const_iterator block_iterator; protected: /// Support for shallow copy (clone) /// @note May generate invalid ring, hence @c protected BoolePolyRing(const core_ptr& rhs): p_core(rhs) {} /// Get strong reference from weak pointer (used by @c WeakRingPtr) explicit BoolePolyRing(const CWeakPtr& rhs): p_core(rhs.operator->()) { PBORI_ASSERT(p_core != NULL); } public: /// Constructor for @em nvars variables and order code explicit BoolePolyRing(size_type nvars = 1, ordercode_type order = lp); /// Constructor for @em nvars variables (and given pointer to ordering) BoolePolyRing(size_type nvars, const order_ptr& order): p_core(new core_type(nvars, order)) {} /// Copy constructor (cheap) BoolePolyRing(const self& rhs): p_core(rhs.p_core) {} /// Destructor ~BoolePolyRing() {} /// Get number of ring variables size_type nVariables() const { return p_core->m_mgr.nVariables(); } /// Get name of variable with index idx vartext_type getVariableName(checked_idx_type idx) const { return p_core->m_names[idx]; } /// Set name of variable with index idx void setVariableName(checked_idx_type idx, vartext_type varname) { p_core->m_names.set(idx, varname); } /// Clears the function cache void clearCache() { p_core->m_mgr.cacheFlush(); } /// Print out statistics and settings for current ring to output stream ostream_type& print(ostream_type&) const; /// Get unique identifier for manager of *this hash_type hash() const { return static_cast(reinterpret_cast(getManager())); } /// Get unique identifier for this ring hash_type id() const { return static_cast(reinterpret_cast(p_core.operator->())); } /// Access ordering of *this order_reference ordering() const { return *(p_core->pOrder); } /// Get plain decision diagram manager mgr_type* getManager() const { return p_core->m_mgr.getManager(); } /// Construct ring with similiar properties (deep copy) self clone() const { return self(core_ptr(new core_type(*p_core))); } /// Change order of current ring void changeOrdering(ordercode_type); /// Map polynomial to this ring, if possible poly_type coerce(const poly_type& rhs) const; /// Map monomial to this ring, if possible monom_type coerce(const monom_type& rhs) const; /// Map variable to this ring var_type coerce(const var_type& rhs) const; /// Access nvar-th ring variable as diagram dd_type variableDiagram(checked_idx_type nvar) const; /// Access nvar-th ring variable as diagram var_type variable(checked_idx_type nvar) const; /// Get empty decision diagram dd_type zero() const; /// Get decision diagram with all variables negated dd_type one() const; /// Get constant one or zero dd_type constant(bool is_one) const; protected: /// Access to actual data (via ->) core_ptr core() const { return p_core; }; /// Smart pointer to actual data core_ptr p_core; }; /// Stream output operator inline BoolePolyRing::ostream_type& operator<<(BoolePolyRing::ostream_type& os, const BoolePolyRing& ring) { return ring.print(os); } END_NAMESPACE_PBORI #endif // of #ifndef polybori_BoolePolyRing_h_ BRiAl-1.2.12/libbrial/include/polybori/BoolePolynomial.h000066400000000000000000000437611436062512100230600ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file BoolePolynomial.h * * @author Alexander Dreyer * @date 2006-03-10 * * This file carries the definition of class @c BoolePolynomial, which can be * used to access the boolean polynomials with respect to the polynomial ring, * which was active on initialization time. * * @par Copyright: * (c) 2006-2010 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_BoolePolynomial_h_ #define polybori_BoolePolynomial_h_ // include standard definitions #include // get standard map functionality #include // get standard algorithmic functionalites #include #include // include definition of sets of Boolean variables #include #include #include #include #include #include #include BEGIN_NAMESPACE_PBORI // forward declarations class LexOrder; class DegLexOrder; class DegRevLexAscOrder; class BlockDegLexOrder; class BlockDegRevLexAscOrder; class BooleMonomial; class BooleVariable; class BooleExponent; template class CIndirectIter; template class COrderedIter; //template class CGenericIter; template class CDelayedTermIter; template class CGenericIter; template class CExpIter; /** @class BoolePolynomial * @brief This class wraps the underlying decicion diagram type and defines the * necessary operations. * **/ class BoolePolynomial; BoolePolynomial operator+(const BoolePolynomial& lhs, const BoolePolynomial& rhs); class BoolePolynomial: public CAuxTypes{ public: /// Let BooleMonomial access protected and private members friend class BooleMonomial; //------------------------------------------------------------------------- // types definitions //------------------------------------------------------------------------- /// Generic access to current type typedef BoolePolynomial self; /// @name Adopt global type definitions //@{ typedef BooleSet dd_type; typedef CTypes::ostream_type ostream_type; //@} /// Iterator type for iterating over indices of the leading term typedef dd_type::first_iterator first_iterator; /// Iterator-like type for navigating through diagram structure typedef dd_type::navigator navigator; /// @todo A more sophisticated treatment for monomials is needed. /// Fix type for treatment of monomials typedef BooleMonomial monom_type; /// Fix type for treatment of monomials typedef BooleVariable var_type; /// Fix type for treatment of exponent vectors typedef BooleExponent exp_type; /// Type for wrapping integer and bool values typedef BooleConstant constant_type; /// Type for Boolean polynomial rings (without ordering) typedef BoolePolyRing ring_type; /// Type for result of polynomial comparisons typedef CTypes::comp_type comp_type; /// Incrementation functional type typedef binary_composition< std::plus, project_ith<1>, integral_constant > increment_type; /// Decrementation functional type typedef binary_composition< std::minus, project_ith<1>, integral_constant > decrement_type; /// Iterator type for iterating over all exponents in ordering order // typedef COrderedIter ordered_exp_iterator; typedef COrderedIter ordered_exp_iterator; /// Iterator type for iterating over all monomials in ordering order // typedef COrderedIter ordered_iterator; typedef COrderedIter ordered_iterator; /// @name Generic iterators for various orderings //@{ typedef CGenericIter lex_iterator; //// typedef CGenericIter lex_iterator; typedef CGenericIter dlex_iterator; typedef CGenericIter dp_asc_iterator; typedef CGenericIter block_dlex_iterator; typedef CGenericIter block_dp_asc_iterator; typedef CGenericIter lex_exp_iterator; typedef CGenericIter dlex_exp_iterator; typedef CGenericIter dp_asc_exp_iterator; typedef CGenericIter block_dlex_exp_iterator; typedef CGenericIter block_dp_asc_exp_iterator; //@} /// Iterator type for iterating over all monomials typedef lex_iterator const_iterator; /// Iterator type for iterating all exponent vectors typedef CExpIter exp_iterator; /// Iterator type for iterating all monomials (dereferencing to degree) typedef CGenericIter deg_iterator; /// Type for lists of terms typedef std::vector termlist_type; /// The property whether the equality check is easy is inherited from dd_type typedef dd_type::easy_equality_property easy_equality_property; /// Type for sets of Boolean variables typedef BooleSet set_type; /// Type for index maps typedef std::map, navigates > > idx_map_type; typedef std::map, symmetric_composition< std::less, navigates > > poly_vec_map_type; //------------------------------------------------------------------------- // constructors and destructor //------------------------------------------------------------------------- /// Default constructor // BoolePolynomial(); /// Construct polynomial from a constant value 0 or 1 // explicit BoolePolynomial(constant_type); /// Construct zero polynomial BoolePolynomial(const ring_type& ring): m_dd(ring.zero() ) { } /// Construct polynomial in given @c ring from a constant value 0 or 1 BoolePolynomial(constant_type isOne, const ring_type& ring): m_dd(isOne? ring.one(): ring.zero() ) { } /// Construct polynomial from decision diagram BoolePolynomial(const dd_type& rhs): m_dd(rhs) {} /// Construct polynomial from a subset of the powerset over all variables // BoolePolynomial(const set_type& rhs): m_dd(rhs.diagram()) {} /// Construct polynomial from exponent vector BoolePolynomial(const exp_type&, const ring_type&); /// Construct polynomial from navigator BoolePolynomial(const navigator& rhs, const ring_type& ring): m_dd(ring, rhs) { PBORI_ASSERT(rhs.isValid()); } /// Destructor ~BoolePolynomial() {} //------------------------------------------------------------------------- // operators and member functions //------------------------------------------------------------------------- // self& operator=(const self& rhs) { // return m_dd = rhs.m_dd; // } self& operator=(constant_type rhs) { return (*this) = self(rhs, ring()); } /// @name Arithmetical operations //@{ const self& operator-() const { return *this; } self& operator+=(const self&); self& operator+=(constant_type rhs) { //return *this = (self(*this) + (rhs).generate(*this)); if (rhs) (*this) = (*this + ring().one()); return *this; } template self& operator-=(const RHSType& rhs) { return operator+=(rhs); } self& operator*=(const monom_type&); self& operator*=(const exp_type&); self& operator*=(const self&); self& operator*=(constant_type rhs) { if (!rhs) *this = ring().zero(); return *this; } self& operator/=(const var_type&); self& operator/=(const monom_type&); self& operator/=(const exp_type&); self& operator/=(const self& rhs); self& operator/=(constant_type rhs); self& operator%=(const var_type&); self& operator%=(const monom_type&); self& operator%=(const self& rhs) { return (*this) -= (self(rhs) *= (self(*this) /= rhs)); } self& operator%=(constant_type rhs) { return (*this) /= (!rhs); } //@} /// @name Logical operations //@{ bool_type operator==(const self& rhs) const { return (m_dd == rhs.m_dd); } bool_type operator!=(const self& rhs) const { return (m_dd != rhs.m_dd); } bool_type operator==(constant_type rhs) const { return ( rhs? isOne(): isZero() ); } bool_type operator!=(constant_type rhs) const { //return ( rhs? (!(isOne())): (!(isZero())) ); return (!(*this==rhs)); } //@} /// Check whether polynomial is constant zero bool_type isZero() const { return m_dd.isZero(); } /// Check whether polynomial is constant one bool_type isOne() const { return m_dd.isOne(); } /// Check whether polynomial is zero or one bool_type isConstant() const { return m_dd.isConstant(); } /// Check whether polynomial has term one bool_type hasConstantPart() const { return m_dd.ownsOne(); } /// Tests whether polynomial can be reduced by right-hand side bool_type firstReducibleBy(const self&) const; /// Get leading term monom_type lead() const; /// Get leading term w.r.t. lexicographical order monom_type lexLead() const; /// Get leading term (using upper bound of the polynomial degree) /** @note Implementation note: for degree orderings (dlex, dp_asc) * returns the lead of the sub-polynomial of degree 'bound', * falls back to @c lead for all other orderings (lp, block_*) */ monom_type boundedLead(deg_type bound) const; /// Get leading term exp_type leadExp() const; /// Get leading term (using upper bound of the polynomial degree) /// @note See implementation notes of @c boundedLead exp_type boundedLeadExp(deg_type bound) const; /// Get all divisors of the leading term set_type leadDivisors() const { return leadFirst().firstDivisors(); }; /// Get unique hash value (may change from run to run) hash_type hash() const { return m_dd.hash(); } /// Get hash value, which is reproducible hash_type stableHash() const { return m_dd.stableHash(); } /// Hash value of the leading term hash_type leadStableHash() const; /// Maximal degree of the polynomial deg_type deg() const; /// Degree of the leading term deg_type leadDeg() const; /// Degree of the leading term w.r.t. lexicographical ordering deg_type lexLeadDeg() const; /// Total maximal degree of the polynomial deg_type totalDeg() const; /// Total degree of the leading term deg_type leadTotalDeg() const; /// Get part of given degree self gradedPart(deg_type deg) const; /// Number of nodes in the decision diagram size_type nNodes() const; /// Number of variables of the polynomial size_type nUsedVariables() const; /// Set of variables of the polynomial monom_type usedVariables() const; /// Exponent vector of all of variables of the polynomial exp_type usedVariablesExp() const; /// Returns number of terms size_type length() const; /// Print current polynomial to output stream ostream_type& print(ostream_type&) const; /// Start of iteration over monomials const_iterator begin() const; /// Finish of iteration over monomials const_iterator end() const; /// Start of iteration over exponent vectors exp_iterator expBegin() const; /// Finish of iteration over exponent vectors exp_iterator expEnd() const; /// Start of first term first_iterator firstBegin() const; /// Finish of first term first_iterator firstEnd() const; /// Get of first lexicographic term monom_type firstTerm() const; /// Start of degrees deg_iterator degBegin() const; /// Finish of degrees deg_iterator degEnd() const; /// Start of ordering respecting iterator ordered_iterator orderedBegin() const; /// Finish of ordering respecting iterator ordered_iterator orderedEnd() const; /// Start of ordering respecting exponent iterator ordered_exp_iterator orderedExpBegin() const; /// Finish of ordering respecting exponent iterator ordered_exp_iterator orderedExpEnd() const; /// @name Compile-time access to generic iterators //@{ lex_iterator genericBegin(lex_tag) const; lex_iterator genericEnd(lex_tag) const; dlex_iterator genericBegin(dlex_tag) const; dlex_iterator genericEnd(dlex_tag) const; dp_asc_iterator genericBegin(dp_asc_tag) const; dp_asc_iterator genericEnd(dp_asc_tag) const; block_dlex_iterator genericBegin(block_dlex_tag) const; block_dlex_iterator genericEnd(block_dlex_tag) const; block_dp_asc_iterator genericBegin(block_dp_asc_tag) const; block_dp_asc_iterator genericEnd(block_dp_asc_tag) const; lex_exp_iterator genericExpBegin(lex_tag) const; lex_exp_iterator genericExpEnd(lex_tag) const; dlex_exp_iterator genericExpBegin(dlex_tag) const; dlex_exp_iterator genericExpEnd(dlex_tag) const; dp_asc_exp_iterator genericExpBegin(dp_asc_tag) const; dp_asc_exp_iterator genericExpEnd(dp_asc_tag) const; block_dlex_exp_iterator genericExpBegin(block_dlex_tag) const; block_dlex_exp_iterator genericExpEnd(block_dlex_tag) const; block_dp_asc_exp_iterator genericExpBegin(block_dp_asc_tag) const; block_dp_asc_exp_iterator genericExpEnd(block_dp_asc_tag) const; //@} /// Navigate through structure navigator navigation() const { return m_dd.navigation(); } /// End of navigation marker navigator endOfNavigation() const { return navigator(); } /// gives a copy of the diagram dd_type copyDiagram(){ return diagram(); } /// Casting operator to Boolean set operator set_type() const { return set(); }; size_type eliminationLength() const; size_type eliminationLengthWithDegBound(deg_type garantied_deg_bound) const; /// Get list of all terms void fetchTerms(termlist_type&) const; /// Return of all terms termlist_type terms() const; /// Read-only access to internal decision diagramm structure const dd_type& diagram() const { return m_dd; } /// Get corresponding subset of of the powerset over all variables set_type set() const { return m_dd; } /// Test, whether we have one term only bool_type isSingleton() const { return dd_is_singleton(navigation()); } /// Test, whether we have one or two terms only bool_type isSingletonOrPair() const { return dd_is_singleton_or_pair(navigation()); } /// Test, whether we have two terms only bool_type isPair() const { return dd_is_pair(navigation()); } /// Access ring, where this belongs to const ring_type& ring() const { return m_dd.ring(); } /// Compare with right-hand side and return comparision code comp_type compare(const self&) const; /// Check whether all variables are in one variable block bool_type inSingleBlock() const; protected: /// Access to internal decision diagramm structure dd_type& internalDiagram() { return m_dd; } /// Generate a polynomial, whose first term is the leading term self leadFirst() const; /// Get all divisors of the first term set_type firstDivisors() const; private: /// The actual decision diagramm dd_type m_dd; }; /// Addition operation inline BoolePolynomial operator+(const BoolePolynomial& lhs, const BoolePolynomial& rhs) { return BoolePolynomial(lhs) += rhs; } /// Addition operation inline BoolePolynomial operator+(const BoolePolynomial& lhs, BooleConstant rhs) { return BoolePolynomial(lhs) += (rhs); //return BoolePolynomial(lhs) += BoolePolynomial(rhs); } /// Addition operation inline BoolePolynomial operator+(BooleConstant lhs, const BoolePolynomial& rhs) { return BoolePolynomial(rhs) += (lhs); } /// Subtraction operation template inline BoolePolynomial operator-(const BoolePolynomial& lhs, const RHSType& rhs) { return BoolePolynomial(lhs) -= rhs; } /// Subtraction operation with constant right-hand-side inline BoolePolynomial operator-(const BooleConstant& lhs, const BoolePolynomial& rhs) { return -(BoolePolynomial(rhs) -= lhs); } /// Multiplication with other left-hand side type #define PBORI_RHS_MULT(type) inline BoolePolynomial \ operator*(const BoolePolynomial& lhs, const type& rhs) { \ return BoolePolynomial(lhs) *= rhs; } PBORI_RHS_MULT(BoolePolynomial) PBORI_RHS_MULT(BooleMonomial) PBORI_RHS_MULT(BooleExponent) PBORI_RHS_MULT(BooleConstant) #undef PBORI_RHS_MULT /// Multiplication with other left-hand side type #define PBORI_LHS_MULT(type) inline BoolePolynomial \ operator*(const type& lhs, const BoolePolynomial& rhs) { return rhs * lhs; } PBORI_LHS_MULT(BooleMonomial) PBORI_LHS_MULT(BooleExponent) PBORI_LHS_MULT(BooleConstant) #undef PBORI_LHS_MULT /// Division by monomial (skipping remainder) template inline BoolePolynomial operator/(const BoolePolynomial& lhs, const RHSType& rhs){ return BoolePolynomial(lhs) /= rhs; } /// Modulus monomial (division remainder) template inline BoolePolynomial operator%(const BoolePolynomial& lhs, const RHSType& rhs){ return BoolePolynomial(lhs) %= rhs; } /// Equality check (with constant lhs) inline BoolePolynomial::bool_type operator==(BoolePolynomial::bool_type lhs, const BoolePolynomial& rhs) { return (rhs == lhs); } /// Nonquality check (with constant lhs) inline BoolePolynomial::bool_type operator!=(BoolePolynomial::bool_type lhs, const BoolePolynomial& rhs) { return (rhs != lhs); } /// Stream output operator BoolePolynomial::ostream_type& operator<<(BoolePolynomial::ostream_type&, const BoolePolynomial&); // tests whether polynomial can be reduced by rhs inline BoolePolynomial::bool_type BoolePolynomial::firstReducibleBy(const self& rhs) const { if( rhs.isOne() ) return true; if( isZero() ) return rhs.isZero(); return std::includes(firstBegin(), firstEnd(), rhs.firstBegin(), rhs.firstEnd()); } END_NAMESPACE_PBORI #endif // of polybori_BoolePolynomial_h_ BRiAl-1.2.12/libbrial/include/polybori/BooleSet.h000066400000000000000000000201171436062512100214560ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file BooleSet.h * * @author Alexander Dreyer * @date 2006-04-20 * * This file defines the class BooleSet, which is currently just a typedef. * * @par Copyright: * (c) 2006-2010 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_BooleSet_h_ #define polybori_BooleSet_h_ // include basic definitions #include // include polybori functionals #include #include #include "BoolePolyRing.h" BEGIN_NAMESPACE_PBORI /// Forward declaration of monomial type class BooleMonomial; class BooleExponent; template class CGenericIter; // temporarily class LexOrder; template class CReverseIter; #define PBORI_CONST_DDFUNCS(func) \ self func(const self& rhs) const { return self(base::func(rhs.diagram())); } #define PBORI_DDFUNCS(func) \ self& func(const self& rhs) { base::func(rhs.diagram()); return *this; } #define PBORI_CONST_DDFUNCS_IDX(func) \ self func(idx_type idx) const { return self(base::func(idx)); } #define PBORI_DDFUNCS_IDX(func) \ self& func(idx_type idx) { base::func(idx); return *this; } class BooleSet: public CCuddDDFacade { /// Generic access to type of *this typedef BooleSet self; public: /// Generic access to type of *this typedef self dd_type; /// Generic access to base type typedef CCuddDDFacade base; /// Type of terms typedef BooleMonomial term_type; /// Fix type for treatment of exponent vectors typedef BooleExponent exp_type; /// Type for Boolean polynomial rings (without ordering) typedef BoolePolyRing ring_type; /// Iterator type for iterating all monomials typedef CGenericIter const_iterator; /// Iterator type for iterating all exponent vectors typedef CGenericIter exp_iterator; /// Iterator type for iterating all exponent vectors typedef CReverseIter reverse_exp_iterator; /// Iterator type for iterating all monomials typedef CReverseIter const_reverse_iterator; public: /// Copy constructor BooleSet(const self& rhs): base(rhs) {} /// Copy constructor BooleSet(const base& rhs): base(rhs) {} /// Construct new node BooleSet(idx_type idx, const self& first, const self& second): base(idx, first, second) { } /// Construct new node (using navigator nodes) BooleSet(idx_type idx, navigator first, navigator second, const ring_type& ring): base(ring, idx, first, second) { } /// Construct new node (using nodes) BooleSet(const ring_type& ring, node_ptr node): base(ring, node) { } /// Construct new node (using navigator nodes) BooleSet(const ring_type& ring, navigator navi): base(ring, navi.getNode()) { } /// Construct empty set in ring BooleSet(const ring_type& ring): base(ring.zero()) { }; /// Construct new node (using navigator for then and else-branches) BooleSet(idx_type idx, const self& rhs): base(idx, rhs, rhs) { } /// Construct from navigator node BooleSet(navigator navi, const ring_type& ring): base(ring, navi) { } /// Destructor ~BooleSet() {} /// Start of iteration over terms const_iterator begin() const; /// Finish of iteration over terms const_iterator end() const; /// Start of backward iteration over terms const_reverse_iterator rbegin() const; /// Finish of backward iteration over terms const_reverse_iterator rend() const; /// Start of backward exponent iteration over terms reverse_exp_iterator rExpBegin() const; /// Finish of backward iteration over terms reverse_exp_iterator rExpEnd() const; /// Start of iteration over exponent vectors exp_iterator expBegin() const; /// Finish of iteration over exponent vectors exp_iterator expEnd() const; /// Get unique hash value (valid only per runtime) hash_type hash() const { return static_cast(reinterpret_cast(getNode())); } /// Get stable hash value, which is reproducible hash_type stableHash() const { return stable_hash_range(navigation()); } /// Set of variables of the whole set term_type usedVariables() const; /// Exponent vector of variables of the whole set exp_type usedVariablesExp() const; self change(idx_type idx) const { if PBORI_UNLIKELY(size_type(idx) >= ring().nVariables()) throw PBoRiError(CTypes::out_of_bounds); return base::change(idx); } /// Add given monomial to sets self add(const term_type& rhs) const; // Check whether rhs is included in *this bool_type owns(const term_type& rhs) const; /// Check whether rhs is included in *this bool_type owns(const exp_type&) const; /// Get last term (wrt. lexicographical order) term_type lastLexicographicalTerm() const; /// Compute intersection with divisors of rhs self divisorsOf(const term_type& rhs) const; /// Compute intersection with divisors of rhs self divisorsOf(const exp_type& rhs) const; /// Intersection with divisors of first (lexicographical) term of rhs self firstDivisorsOf(const self& rhs) const; /// Compute intersection with multiples of rhs self multiplesOf(const term_type& rhs) const; /// Division by given term self divide(const term_type& rhs) const; /// Check for empty intersection with divisors of rhs, i.e. test whether there /// are terms made of the given variables. bool_type hasTermOfVariables(const term_type& rhs) const; /// Get minimal elements wrt. inclusion self minimalElements() const; /// Test whether the empty set is included bool_type ownsOne() const { return owns_one(navigation()); } /// Test, whether we have one term only bool_type isSingleton() const { return dd_is_singleton(navigation()); } /// Test, whether we have one or two terms only bool_type isSingletonOrPair() const { return dd_is_singleton_or_pair(navigation()); } /// Test, whether we have two terms only bool_type isPair() const { return dd_is_pair(navigation()); } /// Compute existential abstraction: /// Given a diagram @c F, and a set of variables @c S, remove all occurrences /// of each @c s in @c S from any subset in @c F. This can be implemented by /// cofactoring @c F w.r.t. @c s = 1 and @c s = 0, then forming their union self existAbstract(const term_type& rhs) const; /// Access internal decision diagram const self& diagram() const { return *this; } // to be removed /// Cartesean product self cartesianProduct(const self& rhs) const { return unateProduct(rhs); }; /// Test containment bool_type contains(const self& rhs) const { return rhs.implies(*this); } /// Returns number of terms size_type size() const { return count(); } /// Returns number of terms (deprecated) size_type length() const { return size(); } /// Returns number of variables in manager size_type nVariables() const { return ring().nVariables(); } /// Approximation of number of terms double sizeDouble() const { return countDouble(); } /// Print current set to output stream ostream_type& print(ostream_type&) const; /// Get corresponding zero element (may be removed in the future) self emptyElement() const { return ring().zero(); } /// Count terms containing BooleVariable(idx) size_type countIndex(idx_type idx) const; /// Count many terms containing BooleVariable(idx) double countIndexDouble(idx_type idx) const ; /// Test whether, all divisors of degree -1 of term rhs are contained in this bool_type containsDivisorsOfDecDeg(const term_type& rhs) const; /// Test for term corresponding to exponent rhs bool_type containsDivisorsOfDecDeg(const exp_type& rhs) const; }; /// Stream output operator inline BooleSet::ostream_type& operator<<( BooleSet::ostream_type& os, const BooleSet& bset ) { return bset.print(os); } END_NAMESPACE_PBORI #endif BRiAl-1.2.12/libbrial/include/polybori/BooleSetSequence.h000066400000000000000000000034121436062512100231460ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file BooleSetSequence.h * * @author Alexander Dreyer * @date 2012-01-19 * * This file includes the definition of the class @c BooleSetSequence. * * @par Copyright: * (c) 2012 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_BooleSetSequence_h_ #define polybori_BooleSetSequence_h_ // include basic definitions #include #include #include #include BEGIN_NAMESPACE_PBORI /** @class BooleSetSequence * @brief This class converts a @c BooleSet to a sequence-like structure. * **/ class BooleSetSequence { public: typedef std::vector vector_type; typedef vector_type::const_iterator const_iterator; typedef vector_type::const_reverse_iterator const_reverse_iterator; /// Standard constructor yields an empty set BooleSetSequence(): m_termsets() { } /// Construct sequence from a set of terms and an unary conversion function template BooleSetSequence(const SetType& terms, const Operator& func): m_termsets(terms.size(), terms.ring()) { std::transform(terms.begin(), terms.end(), m_termsets.begin(), func); } /// Sequence-like interface //@{ const_iterator begin() const { return m_termsets.begin(); } const_iterator end() const { return m_termsets.end(); } const_reverse_iterator rbegin() const { return m_termsets.rbegin(); } const_reverse_iterator rend() const { return m_termsets.rend(); } bool empty() const { return m_termsets.empty(); } //@} private: vector_type m_termsets; }; END_NAMESPACE_PBORI #endif /* polybori_BooleSetSequence_h_ */ BRiAl-1.2.12/libbrial/include/polybori/BooleVariable.h000066400000000000000000000056311436062512100224540ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file BooleVariable.h * * @author Alexander Dreyer * @date 2006-03-10 * * This file carries the definition of class @c BooleVariable, which can be used * to access the boolean variables of the currently active Boolean polynomial * ring. * * @par Copyright: * (c) 2006-2010 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_BooleVariable_h_ #define polybori_BooleVariable_h_ // include basic definitions #include // get BoolePolynomial's definition #include #include #include BEGIN_NAMESPACE_PBORI /** @class BooleVariable * @brief This class is just a wrapper for using variables from @c cudd's * decicion diagram. * * @note @c BooleVariable is actually a specialization of @c BoolePolynomial * with a special constructor. * **/ class BooleVariable: public CAuxTypes { /// Generic access to current type typedef BooleVariable self; public: /// Type of sets of Boolean variables typedef BooleSet set_type; /// Type for Boolean polynomial rings (without ordering) typedef BoolePolyRing ring_type; /// Constructor idx-th variable of active ring /** explicit BooleVariable(idx_type idx = 0): m_poly( BooleEnv::ring().variable(idx) ) {} **/ /// Construct idx-th variable of a given ring BooleVariable(idx_type idx, const ring_type& ring): m_poly( ring.variableDiagram(idx) ) {} /// Construct first variable of a given ring BooleVariable(const ring_type& ring): m_poly( ring.variableDiagram(0) ) {} /// Copy constructor BooleVariable(const self& rhs): m_poly(rhs.m_poly) {} /// Cast to polynomial type operator const BoolePolynomial&() const { return m_poly; } /// Get index of the variable idx_type index() const { return *m_poly.firstBegin(); } /// Equality check bool operator== (const self& other) const{ return m_poly==other.m_poly; } // Nonequality check bool operator!= (const self& other) const{ return m_poly!=other.m_poly; } /// Hash value of the variable hash_type stableHash() const{ return m_poly.stableHash(); } /// Get unique hash value (valid only per runtime) hash_type hash() const { return m_poly.hash(); } /// Convert to Boolean set set_type set() const { return m_poly.set(); } /// Access ring, where this belongs to const ring_type& ring() const { return m_poly.ring(); } private: friend class BoolePolyRing; BooleVariable(const BoolePolynomial& poly):m_poly(poly){} BoolePolynomial m_poly; }; /// Division inline BoolePolynomial operator/(const BooleVariable& lhs, const BooleVariable& rhs) { return BoolePolynomial(BooleConstant(lhs == rhs), lhs.ring()); } END_NAMESPACE_PBORI #endif // of polybori_BooleVariable_h_ BRiAl-1.2.12/libbrial/include/polybori/DegLexOrder.h000066400000000000000000000037461436062512100221170ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file DegLexOrder.h * * @author Alexander Dreyer * @date 2006-05-18 * * Defining Degree-lexicographical ordering. * * @par Copyright: * (c) 2006-2010 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_DegLexOrder_h_ #define polybori_DegLexOrder_h_ // include basic definitions #include // include base order definitions #include #include BEGIN_NAMESPACE_PBORI /** @class DegLexOrder * @brief This class defines ordering related functions. * * **/ class DegLexOrder: public COrderingFacade { /// generic access to current type typedef DegLexOrder self; public: /// Define binary predicate for index comparision typedef std::less idx_comparer_type; /// Default Constructor DegLexOrder(): base() {}; /// Copy Constructor DegLexOrder(const self& rhs): base(rhs) {}; /// Destructor ~DegLexOrder() {}; /// Comparison of indices corresponding to variables comp_type compare(idx_type, idx_type) const; /// Comparison of monomials comp_type compare(const monom_type&, const monom_type&) const; /// Comparison of exponent vectors comp_type compare(const exp_type&, const exp_type&) const; /// Get leading term monom_type lead(const poly_type&) const; /// Get leading term (using upper bound of the polynomial degree) /// @note returns @c lead of the sub-polynomial of degree @c bound monom_type lead(const poly_type& poly, deg_type bound) const; /// Get leading exponent exp_type leadExp(const poly_type&) const; /// Get leading exponent (using an upper bound of the polynomial degree) /// @note See note of the bounded @c lead exp_type leadExp(const poly_type&, deg_type) const; }; END_NAMESPACE_PBORI #endif // polybori_DegLexOrder_h_ BRiAl-1.2.12/libbrial/include/polybori/DegRevLexAscOrder.h000066400000000000000000000040651436062512100232160ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file DegRevLexAscOrder.h * * @author Alexander Dreyer * @date 2006-05-18 * * Defining Degree-reverse lexicographical ordering. * * @par Copyright: * (c) 2006-2010 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_DegRevLexAscOrder_h_ #define polybori_DegRevLexAscOrder_h_ // include basic definitions #include // include base order definitions #include #include BEGIN_NAMESPACE_PBORI /** @class DegRevLexAscOrder * @brief This class defines ordering related functions. * * **/ class DegRevLexAscOrder: public COrderingFacade { /// generic access to current type typedef DegRevLexAscOrder self; public: /// Define binary predicate for index comparision typedef std::greater idx_comparer_type; /// Default Constructor DegRevLexAscOrder(): base() {}; /// Copy Constructor DegRevLexAscOrder(const self& rhs): base(rhs) {}; /// Destructor ~DegRevLexAscOrder() {}; /// Comparison of indices corresponding to variables comp_type compare(idx_type, idx_type) const; /// Comparison of monomials comp_type compare(const monom_type&, const monom_type&) const; /// Comparison of exponent vectors comp_type compare(const exp_type&, const exp_type&) const; /// Get leading term monom_type lead(const poly_type&) const; /// Get leading term (using upper bound of the polynomial degree) /// @note returns @c lead of the sub-polynomial of degree @c bound monom_type lead(const poly_type& poly, deg_type bound) const; /// Get leading exponent exp_type leadExp(const poly_type&) const; /// Get leading exponent (using an upper bound of the polynomial degree) /// @note See note of the bounded @c lead exp_type leadExp(const poly_type&, deg_type) const; }; END_NAMESPACE_PBORI #endif // polybori_DegRevLexAscOrder_h_ BRiAl-1.2.12/libbrial/include/polybori/LexOrder.h000066400000000000000000000040021436062512100214610ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file LexOrder.h * * @author Alexander Dreyer * @date 2006-05-18 * * Defining lexicographical ordering. * * @par Copyright: * (c) 2006-2010 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_LexOrder_h_ #define polybori_LexOrder_h_ // include basic definitions #include // include base order definitions #include #include BEGIN_NAMESPACE_PBORI /** @class LexOrder * @brief This class defines ordering related functions. * * **/ class LexOrder: public COrderingFacade { /// generic access to current type typedef LexOrder self; public: /// Define binary predicate for index comparision typedef std::less idx_comparer_type; /// Default Constructor LexOrder(): base() {}; /// Copy Constructor LexOrder(const self& rhs): base(rhs) {}; /// Destructor ~LexOrder() {}; /// Comparison of indices corresponding to variables comp_type compare(idx_type, idx_type) const; /// Comparison of monomials comp_type compare(const monom_type&, const monom_type&) const; /// Comparison of exponent vectors comp_type compare(const exp_type&, const exp_type&) const; /// Get leading term monom_type lead(const poly_type&) const; /// Leading monomial with bound (just the ordinary leading monomial) /// @note falls back to @c leadExp, ignores second argument monom_type lead(const poly_type& poly, deg_type) const { return lead(poly); } /// Get leading exponent exp_type leadExp(const poly_type&) const; /// Leading exponent with bound (just the ordinary leading monomial) /// @note falls back to @c leadExp, ignores second argument exp_type leadExp(const poly_type& poly, deg_type) const { return leadExp(poly); } }; END_NAMESPACE_PBORI #endif // polybori_LexOrder_h_ BRiAl-1.2.12/libbrial/include/polybori/cache/000077500000000000000000000000001436062512100206335ustar00rootroot00000000000000BRiAl-1.2.12/libbrial/include/polybori/cache/CCacheManagement.h000066400000000000000000000403561436062512100241170ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file CCacheManagement.h * * @author Alexander Dreyer * @date 2006-10-23 * * This file * * @par Copyright: * (c) 2006-2010 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_cache_CCacheManagement_h_ #define polybori_cache_CCacheManagement_h_ // include basic definitions #include // get DD navigation #include #include #include // get standard functionality #include BEGIN_NAMESPACE_PBORI class CCacheTypes { public: struct no_cache_tag { enum { nargs = 0 }; }; struct unary_cache_tag { enum { nargs = 1 }; }; struct binary_cache_tag { enum { nargs = 2 }; }; struct ternary_cache_tag { enum { nargs = 3 }; }; template struct lead_tag: public binary_cache_tag {}; // user functions struct no_cache: public no_cache_tag { }; struct union_xor: public binary_cache_tag { }; struct multiply_recursive: public binary_cache_tag { }; struct divide: public binary_cache_tag { }; struct minimal_mod: public binary_cache_tag { }; struct minimal_elements: public unary_cache_tag { }; struct multiplesof: public binary_cache_tag { }; struct divisorsof: public binary_cache_tag { }; struct ll_red_nf: public binary_cache_tag { }; struct plug_1: public binary_cache_tag { }; struct exist_abstract: public binary_cache_tag { }; struct degree: public unary_cache_tag { }; struct has_factor_x: public binary_cache_tag { }; struct has_factor_x_plus_one: public binary_cache_tag { }; struct mod_varset: public binary_cache_tag { }; struct interpolate: public binary_cache_tag { }; struct zeros: public binary_cache_tag { }; struct interpolate_smallest_lex: public binary_cache_tag { }; struct include_divisors: public unary_cache_tag { }; //struct mod_deg2_set: public binary_cache_tag { }; typedef mod_varset mod_deg2_set; typedef mod_varset mod_mon_set; struct contained_deg2: public unary_cache_tag { }; struct contained_variables: public unary_cache_tag { }; struct map_every_x_to_x_plus_one: public unary_cache_tag { }; struct lex_lead: public unary_cache_tag {}; typedef lead_tag dlex_lead; typedef lead_tag dp_asc_lead; typedef lead_tag block_dlex_lead; typedef lead_tag block_dp_asc_lead; struct divisorsof_fixedpath: public ternary_cache_tag { }; struct testwise_ternary: public ternary_cache_tag { }; struct used_variables: public unary_cache_tag { }; struct block_degree: public binary_cache_tag { }; struct has_factor_x_plus_y: public ternary_cache_tag { }; struct left_equals_right_x_branch_and_r_has_fac_x: public ternary_cache_tag { }; struct graded_part: public binary_cache_tag { }; struct mapping: public binary_cache_tag { }; struct is_rewriteable: public binary_cache_tag{}; }; // Reserve integer Numbers for Ternary operations (for cudd) template struct count_tags; template<> struct count_tags{ enum { value = 0 }; }; template struct increment_count_tags { enum{ value = count_tags::value + 1 }; }; template<> class count_tags: public increment_count_tags{ }; template<> class count_tags: public increment_count_tags{ }; template<> class count_tags: public increment_count_tags{ }; // generate tag number (special pattern with 4 usable bits) // 18 bits are already used template class cudd_tag_number { public: enum { value = ( ((Counted + Offset) & 0x3 ) << 2) | ( ((Counted + Offset) & 0x1C ) << 3) | 0x2 }; }; /** @class CCuddLikeMgrStorage * * This template defines how to used the Cudd-like decision diagram managers * like Cudd and CCuddInterface. **/ template class CCuddLikeMgrStorage { public: /// Set manager type typedef MgrType manager_type; /// Set type of Cudd's internal manager type typedef DdManager* internal_manager_type; /// Set type of Cudd's nodes typedef DdNode* node_type; /// Type of navigators typedef CCuddNavigator navigator; // typedef CTypes::dd_base dd_base; // typedef typename manager_type::mgrcore_ptr mgrcore_ptr; /// Type of Boolean rings typedef BoolePolyRing ring_type; /// Get high-level decision diagram type typedef typename ring_type::dd_type dd_type; /// Constructor CCuddLikeMgrStorage(const manager_type& mgr): m_mgr(mgr) {} // CCuddLikeMgrStorage(const mgrcore_ptr& mgr): // m_mgr(mgr) {} /// Accessing manager manager_type manager() const { return m_mgr; } /// Re-generate valid decision diagram from navigator dd_type generate(navigator navi) const { return dd_type(m_mgr, navi); } /// Get constant one dd_type one() const { return ring_type(m_mgr).one();//dd_type(m_mgr, DD_ONE(m_mgr->manager()));//manager().zddOne(); } /// Get constant zero dd_type zero() const { return ring_type(m_mgr).zero();//dd_base(m_mgr, PBORI_PREFIX(Cudd_ReadZero)(m_mgr->manager()));//manager().zddZero(); } ring_type ring() const { return ring_type(manager()); } protected: /// Accessing Cudd-internal decision diagram manager internal_manager_type internalManager() const { return m_mgr.getManager(); // return manager().getManager(); } private: /// Store (pointer) to internal manager manager_type m_mgr; // typename manager_type::mgrcore_ptr m_mgr; }; /** @class CCacheManBase * * @brief This template forms the base for CCacheManagement. It implements * routines for finding and inserting results into the cache. * * Template arguments: ManagerType, CacheType, nArgs * * @note We have template specializations for nArgs = 1, 2, 3 corresponding to * unary, binary and ternary funtions to be cached. In addition, nArgs = 0 is * used, when no cache is used. **/ template class CCacheManBase; // Fixing base type for Cudd-Like type CCuddInterface template struct pbori_base > { typedef CCuddLikeMgrStorage type; }; // Fixing base type for Cudd-Like type CCuddInterface template struct pbori_base > { typedef CCuddLikeMgrStorage type; }; // Fixing base type for Cudd-Like type CCuddInterface template struct pbori_base, CacheType, ArgumentLength> > { typedef CCuddLikeMgrStorage > type; }; // Dummy variant for generating empty cache managers, e.g. for using generate() template class CCacheManBase : public pbori_base >::type { public: /// Set this type typedef CCacheManBase self; /// Set base type typedef typename pbori_base::type base; /// @name Extracting inherited types //@{ typedef typename base::node_type node_type; typedef typename base::navigator navigator; typedef typename base::manager_type manager_type; //@} /// Constructor CCacheManBase(const manager_type& mgr): base(mgr) {} /// @name Dummy functions //@{ navigator find(navigator, ...) const { return navigator(); } node_type find(node_type, ...) const { return NULL; } void insert(...) const {} //@} }; // Variant for unary functions template class CCacheManBase : public pbori_base >::type { public: /// Set this type typedef CCacheManBase self; /// Set base type typedef typename pbori_base::type base; /// @name Extracting inherited types //@{ typedef typename base::node_type node_type; typedef typename base::navigator navigator; typedef typename base::manager_type manager_type; //@} /// Constructor CCacheManBase(const manager_type& mgr): base(mgr) {} /// Find cached value wrt. given node node_type find(node_type node) const { return PBORI_PREFIX(cuddCacheLookup1Zdd)(internalManager(), cache_dummy, node); } /// Find cached value wrt. given node (for navigator type) navigator find(navigator node) const { return explicit_navigator_cast(find(node.getNode())); } /// Store cached value wrt. given node void insert(node_type node, node_type result) const { PBORI_PREFIX(Cudd_Ref)(result); PBORI_PREFIX(cuddCacheInsert1)(internalManager(), cache_dummy, node, result); PBORI_PREFIX(Cudd_Deref)(result); } /// Store cached value wrt. given node void insert(navigator node, navigator result) const { insert(node.getNode(), result.getNode()); } protected: /// Access manager used for caching using base::internalManager; private: /// Define unique static function, as marker for Cudd cache static node_type cache_dummy(typename base::internal_manager_type,node_type){ // LCOV_EXCL_LINE return NULL; // LCOV_EXCL_LINE } }; // Variant for binary functions template class CCacheManBase : public pbori_base >::type { public: /// Set this type typedef CCacheManBase self; /// Set base type typedef typename pbori_base::type base; /// @name Extracting inherited types //@{ typedef typename base::node_type node_type; typedef typename base::navigator navigator; typedef typename base::manager_type manager_type; //@} /// Constructor CCacheManBase(const manager_type& mgr): base(mgr) {} /// Find cached value wrt. given node node_type find(node_type first, node_type second) const { return PBORI_PREFIX(cuddCacheLookup2Zdd)(internalManager(), cache_dummy, first, second); } /// Find cached value wrt. given node (for navigator type) navigator find(navigator first, navigator second) const { return explicit_navigator_cast(find(first.getNode(), second.getNode())); } /// Store cached value wrt. given node void insert(node_type first, node_type second, node_type result) const { PBORI_PREFIX(Cudd_Ref)(result); PBORI_PREFIX(cuddCacheInsert2)(internalManager(), cache_dummy, first, second, result); PBORI_PREFIX(Cudd_Deref)(result); } /// Store cached value wrt. given node void insert(navigator first, navigator second, navigator result) const { insert(first.getNode(), second.getNode(), result.getNode()); } protected: /// Access manager used for caching using base::internalManager; private: /// Define unique static function, as marker for Cudd cache static node_type cache_dummy(typename base::internal_manager_type, // LCOV_EXCL_LINE node_type, node_type){ // LCOV_EXCL_LINE return NULL; // LCOV_EXCL_LINE } }; // Variant for ternary functions template class CCacheManBase : public pbori_base >::type { public: /// Set this type typedef CCacheManBase self; /// Set base type typedef typename pbori_base::type base; /// @name Extracting inherited types //@{ typedef typename base::node_type node_type; typedef typename base::navigator navigator; typedef typename base::manager_type manager_type; //@} /// Constructor CCacheManBase(const manager_type& mgr): base(mgr) {} /// Find cached value wrt. given node node_type find(node_type first, node_type second, node_type third) const { return PBORI_PREFIX(cuddCacheLookupZdd)(internalManager(), (ptruint)GENERIC_DD_TAG, first, second, third); } /// Find cached value wrt. given node (for navigator type) navigator find(navigator first, navigator second, navigator third) const { return explicit_navigator_cast(find(first.getNode(), second.getNode(), third.getNode())); } /// Store cached value wrt. given node void insert(node_type first, node_type second, node_type third, node_type result) const { PBORI_PREFIX(Cudd_Ref)(result); PBORI_PREFIX(cuddCacheInsert)(internalManager(), (ptruint)GENERIC_DD_TAG, first, second, third, result); PBORI_PREFIX(Cudd_Deref)(result); } /// Store cached value wrt. given node void insert(navigator first, navigator second, navigator third, navigator result) const { insert(first.getNode(), second.getNode(), third.getNode(), result.getNode()); } protected: /// Access manager used for caching using base::internalManager; private: enum { GENERIC_DD_TAG = cudd_tag_number::value>::value }; }; /** @class CCacheManagement * * @brief This template class forms the base for CCommutativeCacheManagement and * CacheManager. It is an interface defining find and insert on decision diagram * cache. * * It it mainly a wrapper for the template specialization of CCacheManBase, * which allows a simple call of CCacheManagement, if CacheType is * inherited from unary_cache_tag, binary_cache_tag, and ternary_cache_tag. * It also fixes the ManagerType to CTypes::manager_base. * **/ template class CCacheManagement: public CCacheManBase { public: /// @name Get template parameters and global types //@{ typedef ManagerType manager_type; typedef typename manager_type::deg_type deg_type; typedef typename manager_type::size_type size_type; typedef typename manager_type::idx_type idx_type; typedef CacheType cache_type; enum { nargs = ArgumentLength }; //@} /// Name base type typedef CCacheManBase base; /// Extracting inherited node type typedef typename base::node_type node_type; /// Constructor and default constructor CCacheManagement(const manager_type& mgr): base(mgr) {} using base::find; using base::insert; }; /** @class CCommutativeCacheManagement * This is the variant for cache management of binary commutative functions. **/ template class CCommutativeCacheManagement: public CCacheManagement { public: /// @name Get template parameters //@{ typedef ManagerType manager_type; typedef CacheType cache_type; //@} /// Name base type typedef CCacheManagement base; /// Define node type typedef typename base::node_type node_type; typedef typename base::navigator navigator; /// Constructor and default constructor CCommutativeCacheManagement(const typename base::manager_type& mgr): base(mgr) {} /// Find cached value wrt. given node node_type find(node_type first, node_type second) const { if ( std::less()(first, second) ) return base::find(first, second); else return base::find(second, first); } /// Find cached value wrt. given node (for navigator type) navigator find(navigator first, navigator second) const { return explicit_navigator_cast(find(first.getNode(), second.getNode())); } /// Store cached value wrt. given node void insert(node_type first, node_type second, node_type result) const { if ( std::less()(first, second) ) base::insert(first, second, result); else base::insert(second, first, result); } /// Store cached value wrt. given node (for navigator type) void insert(navigator first, navigator second, navigator result) const { insert(first.getNode(), second.getNode(), result.getNode()); } }; END_NAMESPACE_PBORI #endif BRiAl-1.2.12/libbrial/include/polybori/cache/CDegreeCache.h000066400000000000000000000236361436062512100232400ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file CDegreeCache.h * * @author Alexander Dreyer * @date 2006-09-21 * * This file contains declaration and template specilizations for the class * template CDegreeCache. * * @par Copyright: * (c) 2006 by The PolyBoRi Team **/ //***************************************************************************** #ifndef polybori_cache_CDegreeCache_h_ #define polybori_cache_CDegreeCache_h_ // include basic definitions #include #include #include "CCacheManagement.h" BEGIN_NAMESPACE_PBORI //class BoolePolyRing; /** @class CIndexHandle * @brief This class defines an uses an navigator-like type for storing integer * values from 0 upto nmax (number of currently active ring variables). **/ template class CIndexHandle { public: enum { invalid = CTypes::max_idx }; /// Set actual storage type typedef NaviType navigator; /// Define type base typedef navigator base; /// Plain Boolean type typedef typename navigator::bool_type bool_type; /// Type for representing indices typedef typename CTypes::idx_type idx_type; /// Type for representing size typedef typename CTypes::size_type size_type; /// Type of decision diagram manager typedef BoolePolyRing manager_type; /// Construct from index CIndexHandle(idx_type idx): m_idx(idx) {} /// Construct from given navigator explicit CIndexHandle(navigator navi, const manager_type& mgr): m_idx(fromNode(navi, mgr)) {} /// Dereference to get stored index idx_type operator*() const { return m_idx; } bool isValid() const { return (m_idx != invalid); } protected: /// Dereference to get stored index idx_type fromNode(navigator navi, const manager_type& mgr) const { if (!navi.isValid()) return invalid; if PBORI_UNLIKELY(navi.isConstant()) return mgr.nVariables(); else return *navi; } idx_type m_idx; }; template class CIndexCacheHandle { public: /// Set actual storage type typedef NaviType navigator; /// Define type base // typedef navigator base; /// Plain Boolean type typedef typename navigator::bool_type bool_type; /// Type for representing indices typedef typename navigator::value_type idx_type; /// Type for representing size typedef typename navigator::size_type size_type; /// Type of decision diagram manager typedef BoolePolyRing manager_type; /// Construct from index CIndexCacheHandle(idx_type idx, const manager_type& mgr): m_navi( toNode(idx, mgr) ) {} /// Construct from given navigator explicit CIndexCacheHandle(navigator navi): m_navi(navi) {} operator navigator() const { return m_navi; } protected: /// Convert plain number to navigation type navigator toNode(idx_type idx, const manager_type& mgr) const { if PBORI_LIKELY((size_type)idx < mgr.nVariables()) return mgr.variable(idx).set().navigation(); return mgr.zero().navigation(); } /// Actual navigator, which is stored navigator m_navi; }; template class CDegreeCache: public CCacheManagement { typedef CDegreeCache self; public: /// @name Define generic access to data types //@{ typedef DDType dd_type; typedef typename CCacheTypes::degree tag_type; typedef CCacheManagement base; //@} /// @name Adopt type definitions //@{ typedef typename base::node_type input_node_type; typedef typename base::manager_type manager_type; typedef typename dd_type::navigator navi_type; typedef CIndexHandle node_type; typedef CIndexCacheHandle node_cache_type; //@} /// Constructor CDegreeCache(const manager_type& mgr): base(mgr) {} /// Copy Constructor CDegreeCache(const self& rhs): base(rhs) {} /// Destructor ~CDegreeCache() {} /// Find cached degree wrt. given navigator node_type find(input_node_type navi) const{ return node_type(base::find(navi), base::manager()); } node_type find(navi_type navi) const{ return node_type(base::find(navi), base::manager()); } /// Store cached degree wrt. given navigator void insert(input_node_type navi, deg_type deg) const { base::insert(navi, node_cache_type(deg, base::manager())); } /// Store cached degree wrt. given navigator void insert(navi_type navi, deg_type deg) const { base::insert(navi, node_cache_type(deg, base::manager())); } /// Find cached degree wrt. given navigator (ignoring bound as second argument) node_type find(input_node_type navi, deg_type) const { return self::find(navi); } node_type find(navi_type navi, deg_type) const{ return self::find(navi); } /// Store cached degree wrt. given navigator (ignoring bound as second argument) void insert(input_node_type navi, deg_type, deg_type deg) const { self::insert(navi, deg); } /// Store cached degree wrt. given navigator void insert(navi_type navi, deg_type, deg_type deg) const { self::insert(navi, deg); } }; template class CBoundedDegreeCache: public CCacheManagement { typedef CBoundedDegreeCache self; public: /// @name Define generic access to data types //@{ typedef DDType dd_type; typedef typename CCacheTypes::degree tag_type; typedef CCacheManagement base; //@} /// @name Adopt type definitions //@{ typedef typename base::node_type input_node_type; typedef typename base::manager_type manager_type; typedef typename dd_type::navigator navi_type; typedef CIndexHandle node_type; typedef CIndexCacheHandle node_cache_type; //@} /// Constructor CBoundedDegreeCache(const manager_type& mgr): base(mgr) {} /// Copy Constructor CBoundedDegreeCache(const self& rhs): base(rhs) {} /// Destructor ~CBoundedDegreeCache() {} /// Find cached degree wrt. given navigator node_type find(input_node_type navi, deg_type upper_bound) const{ return node_type(base::find(navi, node_cache_type(upper_bound, base::manager())), base::manager()); } node_type find(navi_type navi, deg_type upper_bound) const{ return node_type(base::find(navi, node_cache_type(upper_bound, base::manager())), base::manager()); } /// Store cached degree wrt. given navigator void insert(input_node_type navi, deg_type upper_bound, deg_type deg) const { base::insert(navi, node_cache_type(upper_bound, base::manager()), node_cache_type(deg, base::manager())); } /// Store cached degree wrt. given navigator void insert(navi_type navi, deg_type upper_bound, deg_type deg) const { base::insert(navi, node_cache_type(upper_bound, base::manager()), node_cache_type(deg, base::manager())); } }; template class CBlockDegreeCache: public CCacheManagement { public: /// @name Define generic access to data types //@{ typedef DDType dd_type; typedef typename CCacheTypes::block_degree tag_type; typedef CCacheManagement base; typedef CBlockDegreeCache self; //@} /// @name Adopt type definitions //@{ typedef typename base::node_type input_node_type; typedef typename base::manager_type manager_type; typedef typename dd_type::navigator navi_type; typedef CIndexHandle node_type; typedef CIndexCacheHandle node_cache_type; //@} /// Constructor CBlockDegreeCache(const manager_type& mgr): base(mgr) {} /// Copy Constructor CBlockDegreeCache(const self& rhs): base(rhs) {} /// Destructor ~CBlockDegreeCache() {} /// Find cached degree wrt. given navigator node_type find(input_node_type navi, idx_type idx) const{ return node_type(base::find(navi, node_cache_type(idx, base::manager())), base::manager()); } node_type find(navi_type navi, idx_type idx) const{ return node_type(base::find(navi, node_cache_type(idx, base::manager())), base::manager()); } /// Store cached degree wrt. given navigator void insert(input_node_type navi, idx_type idx, size_type deg) const { base::insert(navi, node_cache_type(idx, base::manager()), node_cache_type(deg, base::manager())); } /// Store cached degree wrt. given navigator void insert(navi_type navi, idx_type idx, size_type deg) const { base::insert(navi, node_cache_type(idx, base::manager()), node_cache_type(deg, base::manager())); } }; template class CDegreeArgumentCache: public CCacheManagement, public CAuxTypes { public: /// @name Define generic access to data types //@{ typedef DDType dd_type; typedef TagType tag_type; typedef CCacheManagement base; typedef CDegreeArgumentCache self; //@} /// @name Adopt type definitions //@{ typedef typename base::node_type node_type; typedef typename base::manager_type manager_type; typedef typename dd_type::navigator navi_type; typedef CIndexCacheHandle degree_node_type; //@} /// Constructor CDegreeArgumentCache(const manager_type& mgr): base(mgr) {} /// Copy Constructor CDegreeArgumentCache(const self& rhs): base(rhs) {} /// Destructor ~CDegreeArgumentCache() {} /// Find cached degree wrt. given navigator navi_type find(navi_type navi, size_type deg) const{ return base::find(navi, degree_node_type(deg, base::manager())); } /// Store cached degree wrt. given navigator void insert(navi_type navi, size_type deg, navi_type result) const { base::insert(navi, degree_node_type(deg, base::manager()), result); } }; END_NAMESPACE_PBORI #endif BRiAl-1.2.12/libbrial/include/polybori/cache/CacheManager.h000066400000000000000000000030351436062512100233030ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file CacheManager.h * * @author Alexander Dreyer * @date 2006-11-22 * * This file contains the user variant for the (internal) CCacheManagement, * which can find the active ring. * * @par Copyright: * (c) 2006 by The PolyBoRi Team **/ //***************************************************************************** #ifndef polybori_cache_CacheManager_h_ #define polybori_cache_CacheManager_h_ // include basic definitions #include // get internal cache management classes #include "CCacheManagement.h" #include BEGIN_NAMESPACE_PBORI class BooleEnv; template class CacheManager: public CCacheManagement { public: /// Define base type typedef CCacheManagement base; typedef typename base::manager_type manager_type; /// Constructor CacheManager(const manager_type& mgr): base(mgr) {} /// Destructor ~CacheManager() {} }; template class CommutativeCacheManager: public CCommutativeCacheManagement { public: /// Define base type typedef CCommutativeCacheManagement base; typedef typename base::manager_type manager_type; /// Constructor CommutativeCacheManager(const manager_type& mgr): base(mgr) {} /// Destructor ~CommutativeCacheManager() {} }; END_NAMESPACE_PBORI #endif BRiAl-1.2.12/libbrial/include/polybori/common/000077500000000000000000000000001436062512100210605ustar00rootroot00000000000000BRiAl-1.2.12/libbrial/include/polybori/common/CCheckedIdx.h000066400000000000000000000017361436062512100233360ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file CCheckedIdx.h * * @author * @date * * * * @par Copyright: * (c) by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_common_CCheckedIdx_h_ #define polybori_common_CCheckedIdx_h_ // include basic definitions #include BEGIN_NAMESPACE_PBORI /** @class CCheckedIdx * @brief This class defines CCheckedIdx. * * It checks the the range of CTypes::idx_type; **/ class CCheckedIdx: public CTypes::auxtypes_type { /// Type of *this typedef CCheckedIdx self; public: CCheckedIdx(idx_type idx): m_idx(idx) { if PBORI_UNLIKELY(idx < 0) handle_error(); } CCheckedIdx(const self& rhs): m_idx(rhs.m_idx) { } ~CCheckedIdx() {} operator idx_type() const { return m_idx; } private: void handle_error() const; idx_type m_idx; }; END_NAMESPACE_PBORI #endif BRiAl-1.2.12/libbrial/include/polybori/common/CExtrusivePtr.h000066400000000000000000000102121436062512100240140ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file CExtrusivePtr.h * * @author Alexander Dreyer * @date 2010-08-24 * * This is essentially a reimplementation of the interface from * boost:intrusive_ptr, but with an additional field for storing data, which * might be used . * * @par Copyright: * (c) 2010 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_common_CExtrusivePtr_h_ #define polybori_common_CExtrusivePtr_h_ // include basic definitions #include #include // std::swap BEGIN_NAMESPACE_PBORI /** @class CExtrusivePtr * @brief This template class defines a reimplementation of the interface from * boost:intrusive_ptr, but with an additional data field. * * The data field can be used as a helper for the incrementing and decrementing * reference counts. Very much like in boost::intrusive_ptr, the following * functions have to be defined: * * @code void extrusive_ptr_release(const DataType&, ValueType*); void extrusive_ptr_add_ref(const DataType&, ValueType*) * @endcode * If @c DataType is ignored, this is essentially * @c boost::intrusive_ptr, while something like DataType = int* could be used * to implement something like @c boost::shared_ptr. **/ template class CExtrusivePtr { /// Name type of *this typedef CExtrusivePtr self; public: /// Type for additional data storange typedef DataType data_type; /// Value type typedef ValueType value_type; /// Construct managed pointer with additional data CExtrusivePtr(const data_type& data, value_type* ptr): m_data(data), p_ptr(ptr) { lock(); } /// Copy constructor CExtrusivePtr(const self& rhs): m_data(rhs.m_data), p_ptr(rhs.p_ptr) { lock(); } CExtrusivePtr(): m_data(), p_ptr(NULL) { } /// Destructor ~CExtrusivePtr() { release(); } /// Assignment self& operator=(const self& rhs) { self(rhs).swap(*this); return *this; } /// Accessing helpter data const data_type& data() const { return m_data; } /// Get actual pointer value_type* get() const { return p_ptr; } /// Constant dereferencing const value_type & operator*() const { PBORI_ASSERT(p_ptr != NULL); return *p_ptr; } /// Nonconstant dereference value_type & operator*() { PBORI_ASSERT(p_ptr != NULL); return *p_ptr; } /// Pointer operator value_type* operator->() const { PBORI_ASSERT(p_ptr != NULL); return p_ptr; } /// Swap void swap(self & rhs) { std::swap(m_data, rhs.m_data); std::swap(p_ptr, rhs.p_ptr); } protected: void lock() { extrusive_ptr_add_ref(data(), get()); } void release() { extrusive_ptr_release(data(), get()); } /// Store helper data data_type m_data; /// Store actual pointer value_type* p_ptr; }; /// Equality check template inline bool operator==(const CExtrusivePtr & lhs, const CExtrusivePtr & rhs) { return lhs.get() == rhs.get(); } /// Nonequality check template inline bool operator!=(const CExtrusivePtr & lhs, const CExtrusivePtr & rhs) { return lhs.get() != rhs.get(); } /// Equality check wrt. pointer template inline bool operator==(const CExtrusivePtr & lhs, Type2 * rhs) { return lhs.get() == rhs; } /// Nonequality check wrt. pointer template inline bool operator!=(const CExtrusivePtr & lhs, Type2* rhs) { return lhs.get() != rhs; } /// Equality check from a pointer template inline bool operator==(Type1* lhs, const CExtrusivePtr & rhs) { return lhs == rhs.get(); } /// Nonequality check from a pointer template inline bool operator!=(Type1* lhs, const CExtrusivePtr & rhs) { return lhs != rhs.get(); } END_NAMESPACE_PBORI #endif BRiAl-1.2.12/libbrial/include/polybori/common/CWeakPtr.h000066400000000000000000000030531436062512100227120ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file CWeakPtr.h * * @author Alexander Dreyer * @date 2011-06-14 * * This file includes the definition of the class @c CWeakPtr. * * @par Copyright: * (c) by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_CWeakPtr_h_ #define polybori_CWeakPtr_h_ // include basic definitions #include #include "CWeakPtrFacade.h" BEGIN_NAMESPACE_PBORI /** @class CWeakPtr * @brief This class defines CWeakPtr. * **/ template class CWeakPtr { typedef CWeakPtr self; public: typedef ValueType value_type; typedef value_type* data_type; typedef std::shared_ptr ptr_type; /// Construct from something, which supports weak pointers explicit CWeakPtr(const CWeakPtrFacade& val): m_data(val.m_data) { PBORI_ASSERT(m_data);} /// Copy constructor CWeakPtr(const self& rhs): m_data(rhs.m_data) {} /// Destructor ~CWeakPtr() {} /// Dereferencing generates strong-referenced instance const value_type& operator*() const { return *(operator->()); } /// Dereferencing generates strong-referenced instance value_type* operator->() const { if (!*m_data) throw std::runtime_error("Outdated weak pointer dereferenced."); return (*m_data); } /// Validity test operator bool() const { return *m_data; } private: ptr_type m_data; }; END_NAMESPACE_PBORI #endif /* polybori_CWeakPtr_h_ */ BRiAl-1.2.12/libbrial/include/polybori/common/CWeakPtrFacade.h000066400000000000000000000027701436062512100240030ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file CWeakPtrFacade.h * * @author Alexander Dreyer * @date 2011-06-14 * * This file includes the definition of the class @c CWeakPtrFacade. * * @par Copyright: * (c) by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_CWeakPtrFacade_h_ #define polybori_CWeakPtrFacade_h_ // include basic definitions #include #include BEGIN_NAMESPACE_PBORI /// Forward declaration of friend template class CWeakPtr; /** @class CWeakPtrFacade * @brief This class defines CWeakPtrFacade. * * It should be the inheritance base for all classes supporting @c CWeakPtr. **/ template class CWeakPtrFacade { /// Type of *this typedef CWeakPtrFacade self; public: typedef ValueType value_type; typedef value_type* data_type; typedef std::shared_ptr ptr_type; friend class CWeakPtr; /// Default constructor (only data is the pointer to here) CWeakPtrFacade(): m_data(new data_type(static_cast(this))) {} /// Copy constructor (constructs new facade) CWeakPtrFacade(const self& rhs): m_data(new data_type(static_cast(this))) {} /// Destructor (invalidates pointer to here) ~CWeakPtrFacade() { (*m_data) = NULL; } protected: ptr_type m_data; }; END_NAMESPACE_PBORI #endif /* polybori_CWeakPtrFacade_h_ */ BRiAl-1.2.12/libbrial/include/polybori/common/TransformedSequence.h000066400000000000000000000031441436062512100252100ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file TransformedSequence.h * * @author Alexander Dreyer * @date 2012-01-19 * * This file includes the definition of the class @c TransformedSequence. * * @par Copyright: * (c) 2012 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_TransformedSequence_h_ #define polybori_TransformedSequence_h_ // include basic definitions #include #include #include #include BEGIN_NAMESPACE_PBORI /** @class TransformedSequence * @brief This class converts a sequence-like structure when iterating. * **/ template class TransformedSequence { public: typedef SequenceType sequence_type; typedef typename sequence_type::const_iterator sequence_iterator; typedef OperatorType operator_type; typedef TransformedIterator const_iterator; /// Construct sequence from a set of terms and an unary conversion function TransformedSequence(const sequence_type& seq, const operator_type& func): m_sequence(seq), m_func(func) { } /// Sequence-like interface //@{ const_iterator begin() const { return const_iterator(m_sequence.begin(), m_func); } const_iterator end() const { return const_iterator(m_sequence.end(), m_func); } //@} private: sequence_type m_sequence; operator_type m_func; }; END_NAMESPACE_PBORI #endif /* polybori_TransformedSequence_h_ */ BRiAl-1.2.12/libbrial/include/polybori/common/tags.h000066400000000000000000000032561436062512100221750ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file tags.h * * @author Alexander Dreyer * @date 2006-07-20 * * Decribes properties of polybori ordering classes * * @par Copyright: * (c) 2006 by The PolyBoRi Team **/ //***************************************************************************** #ifndef polybori_common_common_tags_h_ #define polybori_common_common_tags_h_ // include basic definitions #include #include BEGIN_NAMESPACE_PBORI /** @class invalid_tag * @brief This class shows, whether a property of an order is invalid. **/ struct invalid_tag { }; /** @class valid_tag * @brief This class shows, whether a property of an order is valid. **/ struct valid_tag { }; /** @class invert_tag * @brief Changes valid_tag -> invalid_tag and vice versa. **/ template struct invert_tag; template <> struct invert_tag { typedef invalid_tag type; }; template <> struct invert_tag { typedef valid_tag type; }; /** @class and_tag * @brief and_tag -> valid_tag, otherwise invalid_tag. **/ template struct and_tag { typedef invalid_tag type; }; template <> struct and_tag { typedef valid_tag type; }; /** @class navigator_tag * @brief for iterator_category **/ struct navigator_tag {}; /** @class easy_equality_property * @brief defines generic base for properties **/ template class equality_property { public: /// Set marker for validity typedef ValidityTag easy_equality_property; }; END_NAMESPACE_PBORI #endif // order_tags_h_ BRiAl-1.2.12/libbrial/include/polybori/common/traits.h000066400000000000000000000135751436062512100225520ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file traits.h * * @author Alexander Dreyer * @date 2006-04-24 * * This file defines properties of built-in an polybori types. * * @par Copyright: * (c) 2006-2010 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_common_common_traits_h_ #define polybori_common_common_traits_h_ #include #include // include basic definitions #include #include #include #include #include #include BEGIN_NAMESPACE_PBORI typedef PBORI_PREFIX(DdManager) DdManager; /** @class pbori_traits * @brief This class contains property definitions to be used in polybori * classes * **/ template class pbori_traits { public: //------------------------------------------------------------------------- // types for treatment of decision diagrams //------------------------------------------------------------------------- typedef ValueType value_type; //------------------------------------------------------------------------- // types for several purposes //------------------------------------------------------------------------- /// Type for standard true/false statements typedef typename value_type::bool_type bool_type; /// Type for lengths, dimensions, etc. typedef typename value_type::size_type size_type; /// Type for integer numbers typedef typename value_type::integer_type integer_type; /// Type for indices typedef typename value_type::idx_type idx_type; /// Type for comparisons typedef typename value_type::comp_type comp_type; /// Type for hashing typedef typename value_type::hash_type hash_type; /// Type for out-stream typedef typename value_type::ostream_type ostream_type; /// The property whether the equality check is easy typedef typename value_type::easy_equality_property easy_equality_property; }; // Built-in types inherit global definitions template <> class pbori_traits: public CTypes, public equality_property { }; template <> class pbori_traits: public CTypes, public equality_property { }; template <> class pbori_traits: public CTypes, public equality_property { }; template <> class pbori_traits: public CTypes, public equality_property { }; template class pbori_traits< std::set >: public CTypes, public equality_property { }; template class pbori_traits< std::vector >: public CTypes, public equality_property { }; /** @class pbori_binary_traits * @brief This class contains property definitions related to two types * to be used in polybori classes. * **/ template class pbori_binary_traits; template class pbori_binary_traits { public: typedef typename OnlyType::easy_equality_property easy_equality_property; }; template class pbori_binary_traits: public equality_property{ }; template struct manager_traits; template struct manager_traits { typedef unsigned long large_size_type; typedef long int refcount_type; typedef CTypes::idx_type idx_type; typedef CTypes::size_type size_type; typedef DdNode* node_type; typedef DdManager* mgrcore_type; typedef node_type (*unary_int_function)(mgrcore_type, int); typedef node_type (*void_function)(mgrcore_type); typedef node_type (*binary_int_function)(mgrcore_type, node_type, int); typedef node_type (*ternary_function)(mgrcore_type, node_type, node_type, node_type); typedef int (*int_unary_function)(mgrcore_type, node_type); }; #define PB_DECLARE_CUDD_TYPES(fromspace) \ typedef fromspace::errorfunc_type errorfunc_type; \ typedef fromspace::large_size_type large_size_type; \ typedef fromspace::refcount_type refcount_type; \ typedef fromspace::node_type node_type; \ typedef fromspace::mgrcore_type mgrcore_type; \ typedef fromspace::unary_int_function unary_int_function; \ typedef fromspace::void_function void_function; \ typedef fromspace::binary_int_function binary_int_function; \ typedef fromspace::ternary_function ternary_function; \ typedef fromspace::int_unary_function int_unary_function; \ typedef fromspace::size_type size_type;\ typedef fromspace::idx_type idx_type; #define PB_BINARY_FUNC_CALL(count, funcname, arg_pair) \ BOOST_PP_EXPAND(funcname(BOOST_PP_SEQ_HEAD(arg_pair), \ BOOST_PP_SEQ_HEAD(BOOST_PP_SEQ_TAIL(arg_pair)))) template struct cudd_error_traits { typedef const char* result_type; result_type operator()() const; }; #define PB_CUDD_ERROR_TRAITS(errcode, errstr) \ template<> inline cudd_error_traits::result_type \ cudd_error_traits::operator()() const { \ return BOOST_PP_STRINGIZE(errstr); } BOOST_PP_SEQ_FOR_EACH( PB_BINARY_FUNC_CALL, PB_CUDD_ERROR_TRAITS, ((CUDD_MEMORY_OUT)(Out of memory.)) ((CUDD_TOO_MANY_NODES)(Too many nodes.)) ((CUDD_MAX_MEM_EXCEEDED)(Maximum memory exceeded.)) ((CUDD_INVALID_ARG)(Invalid argument.)) ((CUDD_INTERNAL_ERROR)(Internal error.)) ((CUDD_NO_ERROR)(Unexpected error.)) ) #undef PB_CUDD_ERROR_TRAITS END_NAMESPACE_PBORI #endif BRiAl-1.2.12/libbrial/include/polybori/config.h.in000066400000000000000000000012711436062512100216140ustar00rootroot00000000000000/* has gd png support */ #undef PBORI_HAVE_GD /* has m4ri support */ #undef PBORI_HAVE_M4RI /* has m4ri png support */ #undef PBORI_HAVE_M4RI_PNG /* The size of `int', as computed by sizeof. */ #undef SIZEOF_INT /* The size of `long', as computed by sizeof. */ #undef SIZEOF_LONG /* The size of `void *', as computed by sizeof. */ #undef SIZEOF_VOID_P /* Name of package */ #undef PACKAGE /* Define to the full name of this package. */ #undef PACKAGE_NAME /* Define to the full name and version of this package. */ #undef PACKAGE_STRING /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME /* Define to the version of this package. */ #undef PACKAGE_VERSION BRiAl-1.2.12/libbrial/include/polybori/cudd/000077500000000000000000000000001436062512100205075ustar00rootroot00000000000000BRiAl-1.2.12/libbrial/include/polybori/cudd/cudd.h000066400000000000000000000007571436062512100216100ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file cudd.h * * @author Alexander Dreyer * @date 2001-07-13 * * Forwarding header for cudd.h * (PolyBoRi needs a specific version of Cudd.) * * @par Copyright: * (c) 2011 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_cudd_cudd_h_ #define polybori_cudd_cudd_h_ #include "../../../../cudd/cudd.h" #endif BRiAl-1.2.12/libbrial/include/polybori/cudd/cuddInt.h000066400000000000000000000007731436062512100222610ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file cudd.h * * @author Alexander Dreyer * @date 2001-07-13 * * Forwarding header for cuddInt.h * (PolyBoRi needs a specific version of Cudd.) * * @par Copyright: * (c) 2011 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_cudd_cuddInt_h_ #define polybori_cudd_cuddInt_h_ #include "../../../../cudd/cuddInt.h" #endif BRiAl-1.2.12/libbrial/include/polybori/cudd/prefix.h000066400000000000000000000015061436062512100221570ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file prefix.h * * @author Alexander Dreyer * @date 2012-02-15 * * This file includes some macro definitions * * @note It is intended to be included by the header files of the CUDD fork * coming with PolyBoRi. It defines macros, which can be used to CUDD's symbols * with @c pbori_ to avoid name clashing and errorous linking of third party * code to @c libpolybori (instead of @c libcudd). * * @par Copyright: * (c) 2012 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_cudd_prefix_h_ #define polybori_cudd_prefix_h_ #ifdef PBORI_USE_ORIGINAL_CUDD #define PBORI_PREFIX(name) name #else #define PBORI_PREFIX(name) pbori_ ## name #endif #endif BRiAl-1.2.12/libbrial/include/polybori/cudd/prefix_internal.h000066400000000000000000000312161436062512100240540ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file prefix_internal.h * * @author Alexander Dreyer * @date 2012-02-15 * * This file includes some macro definitions * * @note It is intended to be included by the @c .c files of the CUDD fork * coming with PolyBoRi only. It prefixes CUDD's symbols with @c pbori_ to avoid * name clashing and errorous linking of third party code to @c libpolybori * (instead of @c libcudd). * * @par Copyright: * (c) 2012 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_cudd_prefix_internal_h_ #define polybori_cudd_prefix_internal_h_ #ifndef PBORI_USE_ORIGINAL_CUDD #define Cudd_IsNonConstant pbori_Cudd_IsNonConstant #define Cudd_ReadStartTime pbori_Cudd_ReadStartTime #define Cudd_SetStartTime pbori_Cudd_SetStartTime #define Cudd_ReadTimeLimit pbori_Cudd_ReadTimeLimit #define Cudd_SetTimeLimit pbori_Cudd_SetTimeLimit #define Cudd_IncreaseTimeLimit pbori_Cudd_IncreaseTimeLimit #define Cudd_UnsetTimeLimit pbori_Cudd_UnsetTimeLimit #define Cudd_TimeLimited pbori_Cudd_TimeLimited #define Cudd_AutodynDisable pbori_Cudd_AutodynDisable #define Cudd_ReorderingStatus pbori_Cudd_ReorderingStatus #define Cudd_AutodynEnableZdd pbori_Cudd_AutodynEnableZdd #define Cudd_AutodynDisableZdd pbori_Cudd_AutodynDisableZdd #define Cudd_ReorderingStatusZdd pbori_Cudd_ReorderingStatusZdd #define Cudd_zddRealignmentEnabled pbori_Cudd_zddRealignmentEnabled #define Cudd_zddRealignEnable pbori_Cudd_zddRealignEnable #define Cudd_zddRealignDisable pbori_Cudd_zddRealignDisable #define Cudd_bddRealignmentEnabled pbori_Cudd_bddRealignmentEnabled #define Cudd_bddRealignEnable pbori_Cudd_bddRealignEnable #define Cudd_bddRealignDisable pbori_Cudd_bddRealignDisable #define Cudd_ReadOne pbori_Cudd_ReadOne #define Cudd_ReadZddOne pbori_Cudd_ReadZddOne #define Cudd_ReadZero pbori_Cudd_ReadZero #define Cudd_ReadLogicZero pbori_Cudd_ReadLogicZero #define Cudd_ReadPlusInfinity pbori_Cudd_ReadPlusInfinity #define Cudd_ReadMinusInfinity pbori_Cudd_ReadMinusInfinity #define Cudd_ReadBackground pbori_Cudd_ReadBackground #define Cudd_SetBackground pbori_Cudd_SetBackground #define Cudd_ReadCacheSlots pbori_Cudd_ReadCacheSlots #define Cudd_ReadCacheUsedSlots pbori_Cudd_ReadCacheUsedSlots #define Cudd_ReadCacheLookUps pbori_Cudd_ReadCacheLookUps #define Cudd_ReadCacheHits pbori_Cudd_ReadCacheHits #define Cudd_ReadRecursiveCalls pbori_Cudd_ReadRecursiveCalls #define Cudd_ReadMinHit pbori_Cudd_ReadMinHit #define Cudd_SetMinHit pbori_Cudd_SetMinHit #define Cudd_ReadLooseUpTo pbori_Cudd_ReadLooseUpTo #define Cudd_SetLooseUpTo pbori_Cudd_SetLooseUpTo #define Cudd_ReadMaxCache pbori_Cudd_ReadMaxCache #define Cudd_ReadMaxCacheHard pbori_Cudd_ReadMaxCacheHard #define Cudd_SetMaxCacheHard pbori_Cudd_SetMaxCacheHard #define Cudd_ReadSize pbori_Cudd_ReadSize #define Cudd_ReadZddSize pbori_Cudd_ReadZddSize #define Cudd_ReadSlots pbori_Cudd_ReadSlots #define Cudd_ReadUsedSlots pbori_Cudd_ReadUsedSlots #define Cudd_ReadKeys pbori_Cudd_ReadKeys #define Cudd_ReadDead pbori_Cudd_ReadDead #define Cudd_ReadMinDead pbori_Cudd_ReadMinDead #define Cudd_ReadReorderings pbori_Cudd_ReadReorderings #define Cudd_ReadMaxReorderings pbori_Cudd_ReadMaxReorderings #define Cudd_SetMaxReorderings pbori_Cudd_SetMaxReorderings #define Cudd_ReadReorderingTime pbori_Cudd_ReadReorderingTime #define Cudd_ReadGarbageCollections pbori_Cudd_ReadGarbageCollections #define Cudd_ReadGarbageCollectionTime pbori_Cudd_ReadGarbageCollectionTime #define Cudd_ReadNodesFreed pbori_Cudd_ReadNodesFreed #define Cudd_ReadNodesDropped pbori_Cudd_ReadNodesDropped #define Cudd_ReadUniqueLookUps pbori_Cudd_ReadUniqueLookUps #define Cudd_ReadUniqueLinks pbori_Cudd_ReadUniqueLinks #define Cudd_ReadSiftMaxVar pbori_Cudd_ReadSiftMaxVar #define Cudd_SetSiftMaxVar pbori_Cudd_SetSiftMaxVar #define Cudd_ReadSiftMaxSwap pbori_Cudd_ReadSiftMaxSwap #define Cudd_SetSiftMaxSwap pbori_Cudd_SetSiftMaxSwap #define Cudd_ReadMaxGrowth pbori_Cudd_ReadMaxGrowth #define Cudd_SetMaxGrowth pbori_Cudd_SetMaxGrowth #define Cudd_ReadMaxGrowthAlternate pbori_Cudd_ReadMaxGrowthAlternate #define Cudd_SetMaxGrowthAlternate pbori_Cudd_SetMaxGrowthAlternate #define Cudd_ReadReorderingCycle pbori_Cudd_ReadReorderingCycle #define Cudd_SetReorderingCycle pbori_Cudd_SetReorderingCycle #define Cudd_NodeReadIndex pbori_Cudd_NodeReadIndex #define Cudd_ReadPerm pbori_Cudd_ReadPerm #define Cudd_ReadPermZdd pbori_Cudd_ReadPermZdd #define Cudd_ReadInvPerm pbori_Cudd_ReadInvPerm #define Cudd_ReadInvPermZdd pbori_Cudd_ReadInvPermZdd #define Cudd_ReadVars pbori_Cudd_ReadVars #define Cudd_ReadEpsilon pbori_Cudd_ReadEpsilon #define Cudd_SetEpsilon pbori_Cudd_SetEpsilon #define Cudd_ReadGroupcheck pbori_Cudd_ReadGroupcheck #define Cudd_SetGroupcheck pbori_Cudd_SetGroupcheck #define Cudd_GarbageCollectionEnabled pbori_Cudd_GarbageCollectionEnabled #define Cudd_EnableGarbageCollection pbori_Cudd_EnableGarbageCollection #define Cudd_DisableGarbageCollection pbori_Cudd_DisableGarbageCollection #define Cudd_DeadAreCounted pbori_Cudd_DeadAreCounted #define Cudd_TurnOnCountDead pbori_Cudd_TurnOnCountDead #define Cudd_TurnOffCountDead pbori_Cudd_TurnOffCountDead #define Cudd_ReadRecomb pbori_Cudd_ReadRecomb #define Cudd_SetRecomb pbori_Cudd_SetRecomb #define Cudd_ReadSymmviolation pbori_Cudd_ReadSymmviolation #define Cudd_SetSymmviolation pbori_Cudd_SetSymmviolation #define Cudd_ReadArcviolation pbori_Cudd_ReadArcviolation #define Cudd_SetArcviolation pbori_Cudd_SetArcviolation #define Cudd_ReadPopulationSize pbori_Cudd_ReadPopulationSize #define Cudd_SetPopulationSize pbori_Cudd_SetPopulationSize #define Cudd_ReadNumberXovers pbori_Cudd_ReadNumberXovers #define Cudd_SetNumberXovers pbori_Cudd_SetNumberXovers #define Cudd_ReadOrderRandomization pbori_Cudd_ReadOrderRandomization #define Cudd_SetOrderRandomization pbori_Cudd_SetOrderRandomization #define Cudd_ReadMemoryInUse pbori_Cudd_ReadMemoryInUse #define Cudd_ReadPeakNodeCount pbori_Cudd_ReadPeakNodeCount #define Cudd_ReadPeakLiveNodeCount pbori_Cudd_ReadPeakLiveNodeCount #define Cudd_zddReadNodeCount pbori_Cudd_zddReadNodeCount #define Cudd_IsInHook pbori_Cudd_IsInHook #define Cudd_ReorderingReporting pbori_Cudd_ReorderingReporting #define Cudd_StdPreReordHook pbori_Cudd_StdPreReordHook #define Cudd_ReadErrorCode pbori_Cudd_ReadErrorCode #define Cudd_ClearErrorCode pbori_Cudd_ClearErrorCode #define Cudd_ReadStdout pbori_Cudd_ReadStdout #define Cudd_SetStdout pbori_Cudd_SetStdout #define Cudd_ReadStderr pbori_Cudd_ReadStderr #define Cudd_SetStderr pbori_Cudd_SetStderr #define Cudd_ReadNextReordering pbori_Cudd_ReadNextReordering #define Cudd_SetNextReordering pbori_Cudd_SetNextReordering #define Cudd_ReadSwapSteps pbori_Cudd_ReadSwapSteps #define Cudd_ReadMaxLive pbori_Cudd_ReadMaxLive #define Cudd_SetMaxLive pbori_Cudd_SetMaxLive #define Cudd_ReadMaxMemory pbori_Cudd_ReadMaxMemory #define Cudd_SetMaxMemory pbori_Cudd_SetMaxMemory #define Cudd_UpdateTimeLimit pbori_Cudd_UpdateTimeLimit #define Cudd_RemoveHook pbori_Cudd_RemoveHook #define Cudd_DisableReorderingReporting pbori_Cudd_DisableReorderingReporting #define Cudd_StdPostReordHook pbori_Cudd_StdPostReordHook #define Cudd_ReadNodeCount pbori_Cudd_ReadNodeCount #define Cudd_ExpectedUsedSlots pbori_Cudd_ExpectedUsedSlots #define Cudd_PrintInfo pbori_Cudd_PrintInfo #define Cudd_AutodynEnable pbori_Cudd_AutodynEnable #define Cudd_addConst pbori_Cudd_addConst #define Cudd_zddIthVar pbori_Cudd_zddIthVar #define Cudd_RecursiveDerefZdd pbori_Cudd_RecursiveDerefZdd #define Cudd_ResetStartTime pbori_Cudd_ResetStartTime #define Cudd_ReadElapsedTime pbori_Cudd_ReadElapsedTime #define Cudd_AddHook pbori_Cudd_AddHook #define Cudd_EnableReorderingReporting pbori_Cudd_EnableReorderingReporting #define Cudd_Quit pbori_Cudd_Quit #define Cudd_Init pbori_Cudd_Init #define Cudd_RecursiveDeref pbori_Cudd_RecursiveDeref #define Cudd_Ref pbori_Cudd_Ref #define Cudd_IterDerefBdd pbori_Cudd_IterDerefBdd #define Cudd_DelayedDerefBdd pbori_Cudd_DelayedDerefBdd #define Cudd_Deref pbori_Cudd_Deref #define Cudd_CheckZeroRef pbori_Cudd_CheckZeroRef #define Cudd_Prime pbori_Cudd_Prime #define Cudd_zddDivideF pbori_Cudd_zddDivideF #define Cudd_zddDivide pbori_Cudd_zddDivide #define Cudd_zddWeakDiv pbori_Cudd_zddWeakDiv #define Cudd_zddWeakDivF pbori_Cudd_zddWeakDivF #define Cudd_zddUnateProduct pbori_Cudd_zddUnateProduct #define Cudd_zddProduct pbori_Cudd_zddProduct #define Cudd_zddSubset0 pbori_Cudd_zddSubset0 #define Cudd_zddSubset1 pbori_Cudd_zddSubset1 #define Cudd_zddChange pbori_Cudd_zddChange #define Cudd_zddDiff pbori_Cudd_zddDiff #define Cudd_zddIntersect pbori_Cudd_zddIntersect #define Cudd_zddUnion pbori_Cudd_zddUnion #define Cudd_zddDiffConst pbori_Cudd_zddDiffConst #define Cudd_zddIte pbori_Cudd_zddIte #define cuddClearDeathRow pbori_cuddClearDeathRow #define cuddCacheProfile pbori_cuddCacheProfile #define cuddUniqueConst pbori_cuddUniqueConst #define cuddUniqueInterZdd pbori_cuddUniqueInterZdd #define cuddCacheInsert pbori_cuddCacheInsert #define cuddCacheInsert2 pbori_cuddCacheInsert2 #define cuddCacheInsert1 pbori_cuddCacheInsert1 #define cuddCacheFlush pbori_cuddCacheFlush #define cuddComputeFloorLog2 pbori_cuddComputeFloorLog2 #define cuddCacheResize pbori_cuddCacheResize #define cuddConstantLookup pbori_cuddConstantLookup #define cuddCacheLookup1Zdd pbori_cuddCacheLookup1Zdd #define cuddReclaimZdd pbori_cuddReclaimZdd #define cuddCacheLookup2Zdd pbori_cuddCacheLookup2Zdd #define cuddCacheLookupZdd pbori_cuddCacheLookupZdd #define cuddCacheLookup1 pbori_cuddCacheLookup1 #define cuddReclaim pbori_cuddReclaim #define cuddCacheLookup2 pbori_cuddCacheLookup2 #define cuddCacheLookup pbori_cuddCacheLookup #define cuddInitCache pbori_cuddInitCache #define cuddZddFreeUniv pbori_cuddZddFreeUniv #define cuddFreeTable pbori_cuddFreeTable #define cuddZddInitUniv pbori_cuddZddInitUniv #define cuddInitTable pbori_cuddInitTable #define cuddUniqueInter pbori_cuddUniqueInter #define cuddLocalCacheClearDead pbori_cuddLocalCacheClearDead #define cuddHashTableLookup pbori_cuddHashTableLookup #define cuddHashTableLookup1 pbori_cuddHashTableLookup1 #define cuddHashTableGenericLookup pbori_cuddHashTableGenericLookup #define cuddHashTableLookup2 pbori_cuddHashTableLookup2 #define cuddHashTableLookup3 pbori_cuddHashTableLookup3 #define cuddLocalCacheClearAll pbori_cuddLocalCacheClearAll #define cuddHashTableGenericQuit pbori_cuddHashTableGenericQuit #define cuddLocalCacheQuit pbori_cuddLocalCacheQuit #define cuddHashTableQuit pbori_cuddHashTableQuit #define cuddLocalCacheInsert pbori_cuddLocalCacheInsert #define cuddLocalCacheLookup pbori_cuddLocalCacheLookup #define cuddHashTableInsert pbori_cuddHashTableInsert #define cuddHashTableInit pbori_cuddHashTableInit #define cuddLocalCacheInit pbori_cuddLocalCacheInit #define cuddHashTableInsert3 pbori_cuddHashTableInsert3 #define cuddHashTableInsert2 pbori_cuddHashTableInsert2 #define cuddHashTableGenericInsert pbori_cuddHashTableGenericInsert #define cuddHashTableInsert1 pbori_cuddHashTableInsert1 #define cuddIsInDeathRow pbori_cuddIsInDeathRow #define cuddTimesInDeathRow pbori_cuddTimesInDeathRow #define cuddShrinkDeathRow pbori_cuddShrinkDeathRow #define cuddSlowTableGrowth pbori_cuddSlowTableGrowth #define cuddResizeTableZdd pbori_cuddResizeTableZdd #define cuddGarbageCollect pbori_cuddGarbageCollect #define cuddRehash pbori_cuddRehash #define cuddAllocNode pbori_cuddAllocNode #define cuddZddGetPosVarIndex pbori_cuddZddGetPosVarIndex #define cuddZddGetNode pbori_cuddZddGetNode #define cuddZddGetNegVarIndex pbori_cuddZddGetNegVarIndex #define cuddZddGetPosVarLevel pbori_cuddZddGetPosVarLevel #define cuddZddGetNegVarLevel pbori_cuddZddGetNegVarLevel #define cuddZddGetCofactors2 pbori_cuddZddGetCofactors2 #define cuddZddSubset1 pbori_cuddZddSubset1 #define cuddZddSubset0 pbori_cuddZddSubset0 #define cuddZddGetCofactors3 pbori_cuddZddGetCofactors3 #define cuddZddDivideF pbori_cuddZddDivideF #define cuddZddIntersect pbori_cuddZddIntersect #define cuddZddDivide pbori_cuddZddDivide #define cuddZddWeakDiv pbori_cuddZddWeakDiv #define cuddZddWeakDivF pbori_cuddZddWeakDivF #define cuddZddUnateProduct pbori_cuddZddUnateProduct #define cuddZddUnion pbori_cuddZddUnion #define cuddZddProduct pbori_cuddZddProduct #define cuddZddChangeAux pbori_cuddZddChangeAux #define cuddZddChange pbori_cuddZddChange #define cuddZddDiff pbori_cuddZddDiff #define cuddZddIte pbori_cuddZddIte #define cuddHashTableResize pbori_cuddHashTableResize #define zdd_subset0_aux pbori_zdd_subset0_aux #define zdd_subset1_aux pbori_zdd_subset1_aux #define MMalloc pbori_MMalloc #define MMrealloc pbori_MMrealloc #define MMfree pbori_MMfree #define MMoutOfMemory pbori_MMoutOfMemory #define MMout_of_memory pbori_MMout_of_memory #define DdManager pbori_DdManager #endif #endif /* polybori_cudd_prefix_internal_h_ */ BRiAl-1.2.12/libbrial/include/polybori/diagram/000077500000000000000000000000001436062512100211745ustar00rootroot00000000000000BRiAl-1.2.12/libbrial/include/polybori/diagram/CApplyNodeFacade.h000066400000000000000000000074261436062512100244400ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file CApplyNodeFacade.h * * @author Alexander Dreyer * @date 2007-07-16 * * This files defines a facade as a C++ interface for applying * C-style functions to C-style pointers, wher represent decision diagrams. * * @par Copyright: * (c) 2007-2010 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_diagram_CApplyNodeFacade_h #define polybori_diagram_CApplyNodeFacade_h // include basic definitions #include #include BEGIN_NAMESPACE_PBORI /** @class CApplyNodeFacade * @brief This template class defines a facade as a C++ interface for applying * C-style functions to C-style structs, which represent decision diagrams. * It is used to wrapp functions calls to raw pointers of the nodes and the * context to an C++-style object. * * @attention We assume that the @c DiagramType owns member functions @c ring(), @c * getNode() and @c getManager(). * * @note This template class is a facade and hence it is intented for * internal use only, e.g. as a base class for BooleSet. **/ template class CApplyNodeFacade { /// Name type of *this typedef CApplyNodeFacade self; public: /// @name Template arguments //@{ typedef DiagramType diagram_type; typedef NodePtr node_ptr; //@} /// @name Logical operations //@{ /// Equality bool operator==(const diagram_type& rhs) const { return rhs.getNode() == *this; } /// Nonequality bool operator!=(const diagram_type& rhs) const { return !(*this == rhs); } //@} protected: /// Test, whether both operands void checkSameManager(const diagram_type& other) const { if PBORI_UNLIKELY(my().getManager() != other.getManager()) { throw std::runtime_error("Operands come from different manager."); } } /// @name Apply C-style procedures to nodes //@{ /// Unary function template diagram_type apply(node_ptr (*func)(MgrType, node_ptr)) const { return diagram(func(get(), *this)); } /// Binary function (two diagrams) template diagram_type apply(node_ptr (*func)(MgrType, node_ptr, node_ptr), const diagram_type& rhs) const { checkSameManager(rhs); return diagram(func(get(), *this, rhs)); } /// Ternary function (three diagrams) template diagram_type apply(node_ptr (*func)(MgrType, node_ptr, node_ptr, node_ptr), const diagram_type& first, const diagram_type& second) const { checkSameManager(first); checkSameManager(second); return diagram(func(get(), *this, first, second)); } /// Binary functions with non-diagram right-hand side template diagram_type apply(node_ptr(*func)(MgrType, node_ptr, Type), Type value) const { return diagram(func(get(), *this, value)); } /// Unary functions with non-diagram result value template ResultType apply(ResultType(*func)(MgrType, node_ptr)) const { return func(get(), *this); } // @} /// Get diagram of the same context diagram_type diagram(node_ptr node) const { return diagram_type(my().ring(), node); } private: /// Accessing the actual type, for which this facade is inteded to be used for const diagram_type& my() const { return static_cast(*this); } /// Accessing raw manager template MgrType get() const { return my().getManager(); } /// This (and only this) class may automatically convert *this to raw pointer operator node_ptr() const { return my().getNode(); } }; END_NAMESPACE_PBORI #endif BRiAl-1.2.12/libbrial/include/polybori/diagram/CCuddDDFacade.h000066400000000000000000000341131436062512100236250ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file CCuddDDFacade.h * * @author Alexander Dreyer * @date 2010-08-25 * * This file defines a facade for decision diagrams * * @par Copyright: * (c) by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_diagram_CCuddDDFacade_h #define polybori_diagram_CCuddDDFacade_h // include basic definitions #include #include #include #include "CApplyNodeFacade.h" #include "CNodeCounter.h" #include #include // Getting iterator type for navigating through Cudd's ZDDs structure #include // Getting iterator type for retrieving first term from Cudd's ZDDs #include // Getting iterator type for retrieving last term from Cudd's ZDDs #include // Getting output iterator functionality #include // Getting error coe functionality #include // test input idx_type #include #include #include #include #include #include #include #include #include #include #include BEGIN_NAMESPACE_PBORI /// Releasing raw pointers to decision diagrams here template inline void extrusive_ptr_release(const DataType& data, DdNode* ptr) { if (ptr != NULL) { PBORI_PREFIX(Cudd_RecursiveDerefZdd)(data.getManager(), ptr); } } /// Incrememting reference counts to raw pointers to decision diagrams template inline void extrusive_ptr_add_ref(const DataType&, DdNode* ptr) { if (ptr) PBORI_PREFIX(Cudd_Ref)(ptr); } /** @class CCuddDDFacade * @brief This template class defines a facade for decision diagrams. * **/ #define PBORI_NAME_Product product #define PBORI_NAME_UnateProduct unateProduct #define PBORI_NAME_WeakDiv weakDivide #define PBORI_NAME_Divide divide #define PBORI_NAME_WeakDivF weakDivF #define PBORI_NAME_DivideF divideF #define PBORI_NAME_Union unite #define PBORI_NAME_Intersect intersect #define PBORI_NAME_Diff diff #define PBORI_NAME_Subset1 subset1 #define PBORI_NAME_Subset0 subset0 #define PBORI_NAME_Change change #define PB_ZDD_APPLY(count, data, funcname) \ diagram_type BOOST_PP_CAT(PBORI_NAME_, funcname)(data rhs) const { \ return apply(BOOST_PP_CAT(PBORI_PREFIX(Cudd_zdd), funcname), \ rhs); } template class CCuddDDFacade: public CApplyNodeFacade, public CAuxTypes { /// Type of *this typedef CCuddDDFacade self; public: /// Type for output streams typedef CTypes::ostream_type ostream_type; /// Type for diagrams typedef RingType ring_type; /// Type for diagrams typedef DiagramType diagram_type; /// Type for C-style struct typedef DdNode node_type; /// Pointer type for nodes typedef node_type* node_ptr; /// Type this is inherited from the following typedef CApplyNodeFacade base; /// Iterator type for retrieving first term from Cudd's ZDDs typedef CCuddFirstIter first_iterator; /// Iterator type for retrieving last term from Cudd's ZDDs typedef CCuddLastIter last_iterator; /// Iterator type for navigation throught Cudd's ZDDs structure typedef CCuddNavigator navigator; /// This type has an easy equality check typedef valid_tag easy_equality_property; /// Raw context typedef typename ring_type::mgr_type mgr_type; /// Cudd's index type typedef int cudd_idx_type; /// Cudd's index type typedef CCheckedIdx checked_idx_type; /// Construct diagram from ring and node CCuddDDFacade(const ring_type& ring, node_ptr node): p_node(ring, node) { checkAssumption(node != NULL); } /// Construct from Manager and navigator CCuddDDFacade(const ring_type& ring, const navigator& navi): p_node(ring, navi.getNode()) { checkAssumption(navi.isValid()); } /// Construct new node from manager, index, and navigators CCuddDDFacade(const ring_type& ring, idx_type idx, navigator thenNavi, navigator elseNavi): p_node(ring, getNewNode(ring, idx, thenNavi, elseNavi)) { } /// Construct new node from manager, index, and common navigator for then and /// else-branches CCuddDDFacade(const ring_type& ring, idx_type idx, navigator navi): p_node(ring, getNewNode(ring, idx, navi, navi)) { } /// Construct new node CCuddDDFacade(idx_type idx, const self& thenDD, const self& elseDD): p_node(thenDD.ring(), getNewNode(idx, thenDD, elseDD)) { } /// Default constructor private: CCuddDDFacade(): p_node() {} /// @todo NULL? public: /// Copy constructor CCuddDDFacade(const self &from): p_node(from.p_node) {} /// Destructor ~CCuddDDFacade() {} /// Assignment operator diagram_type& operator=(const diagram_type& rhs) { p_node = rhs.p_node; return static_cast(*this); } /// @note Preprocessor generated members /// @code BOOST_PP_SEQ_FOR_EACH(PB_ZDD_APPLY, const diagram_type&, (Product)(UnateProduct)(WeakDiv)(Divide)(WeakDivF)(DivideF) (Union)(Intersect)(Diff)) BOOST_PP_SEQ_FOR_EACH(PB_ZDD_APPLY, int, (Subset1)(Subset0)(Change)) /** @endcode */ /// Performs the inclusion test for ZDDs bool implies(const self& rhs) const { return PBORI_PREFIX(Cudd_zddDiffConst)(getManager(), getNode(), rhs.getNode()) == PBORI_PREFIX(Cudd_ReadZero)(getManager()); } /// @name Functions for print useful information //@{ std::ostream& printIntern(std::ostream& os) const { os << getNode() <<": "; if (isZero()) os << "empty"; else os << nNodes() << " nodes " << count() << "terms"; return os; } void PrintMinterm() const { checkAssumption(apply(PBORI_PREFIX(Cudd_zddPrintMinterm)) == 1); } //@} /// Determine the number of terms size_type count() const { return dd_long_count(navigation()); } /// Appriximate the number of terms double countDouble() const { return dd_long_count(navigation()); } /// Get index of curent node size_type rootIndex() const { return PBORI_PREFIX(Cudd_NodeReadIndex)(getNode()); } /// Number of nodes in the current decision diagram size_type nNodes() const { return CNodeCounter()(navigation()); } /// Number of references pointing here size_type refCount() const { PBORI_ASSERT(getNode() != NULL); return PBORI_PREFIX(Cudd_Regular)(getNode())->ref; } /// Test whether diagram represents the empty set bool isZero() const { return getNode() == PBORI_PREFIX(Cudd_ReadZero)(getManager()); } /// Test whether diagram represents the empty set bool isOne() const { return getNode() == DD_ONE(getManager()); } /// Get reference to ring const ring_type& ring() const { return p_node.data(); } /// Get raw node structure node_ptr getNode() const { return p_node.get(); } /// Get raw decision diagram manager mgr_type* getManager() const { return p_node.data().getManager(); } protected: /// Apply C-style function to diagram using base::apply; template ResultType memApply(ResultType (*func)(mgr_type *, node_ptr)) const { ResultType result = apply(func); checkAssumption(result != (ResultType) CUDD_OUT_OF_MEM); return result; } /// Check whether previous decision diagram operation for validity void checkAssumption(bool isValid) const { if PBORI_UNLIKELY(!isValid) throw std::runtime_error(error_text(getManager())); } /// temporarily (needs to be more generic) (similar fct in pbori_algo.h) template diagram_type cudd_generate_multiples(const ManagerType& mgr, ReverseIterator start, ReverseIterator finish, MultReverseIterator multStart, MultReverseIterator multFinish) const { // signed case while ((multStart != multFinish) && (*multStart > CTypes::max_idx)) ++multStart; // unsigned case while ((multStart != multFinish) && (*multStart < 0)) --multFinish; DdNode* prev( (getManager())->one ); DdNode* zeroNode( (getManager())->zero ); PBORI_PREFIX(Cudd_Ref)(prev); while(start != finish) { while((multStart != multFinish) && (*start < *multStart)) { DdNode* result = PBORI_PREFIX(cuddUniqueInterZdd)( getManager(), *multStart, prev, prev ); PBORI_PREFIX(Cudd_Ref)(result); PBORI_PREFIX(Cudd_RecursiveDerefZdd)(getManager(), prev); prev = result; ++multStart; }; DdNode* result = PBORI_PREFIX(cuddUniqueInterZdd)( getManager(), *start, prev, zeroNode ); PBORI_PREFIX(Cudd_Ref)(result); PBORI_PREFIX(Cudd_RecursiveDerefZdd)(getManager(), prev); prev = result; if((multStart != multFinish) && (*start == *multStart)) ++multStart; ++start; } while(multStart != multFinish) { DdNode* result = PBORI_PREFIX(cuddUniqueInterZdd)( getManager(), *multStart, prev, prev ); PBORI_PREFIX(Cudd_Ref)(result); PBORI_PREFIX(Cudd_RecursiveDerefZdd)(getManager(), prev); prev = result; ++multStart; }; PBORI_PREFIX(Cudd_Deref)(prev); return diagram_type(mgr, prev); } /// temporarily (needs to be more generic) (similar fct in pbori_algo.h) template diagram_type cudd_generate_divisors(const ManagerType& mgr, ReverseIterator start, ReverseIterator finish) const { DdNode* prev= (getManager())->one; PBORI_PREFIX(Cudd_Ref)(prev); while(start != finish) { DdNode* result = PBORI_PREFIX(cuddUniqueInterZdd)( getManager(), *start, prev, prev); PBORI_PREFIX(Cudd_Ref)(result); PBORI_PREFIX(Cudd_RecursiveDerefZdd)(getManager(), prev); prev = result; ++start; } PBORI_PREFIX(Cudd_Deref)(prev); ///@todo Next line needs generalization return diagram_type(mgr, prev); } public: /// Union Xor diagram_type Xor(const diagram_type& rhs) const { if (rhs.isZero()) return *this; // return apply(pboriPBORI_PREFIX(Cudd_zddUnionXor), rhs); base::checkSameManager(rhs); return diagram_type(ring(), pboriCudd_zddUnionXor(getManager(), getNode(), rhs.getNode()) ); } /// Division with first term of right-hand side diagram_type divideFirst(const diagram_type& rhs) const { diagram_type result(*this); PBoRiOutIter > outiter(result); std::copy(rhs.firstBegin(), rhs.firstEnd(), outiter); return result; } /// Get number of nodes in decision diagram ostream_type& print(ostream_type& os) const { printIntern(os) << std::endl;; PrintMinterm(); return os; } /// Get numbers of used variables // size_type nSupport() const { return apply(PBORI_PREFIX(PBORI_PREFIX(Cudd_SupportSize));) } /// Start of first term first_iterator firstBegin() const { return first_iterator(navigation()); } /// Finish of first term first_iterator firstEnd() const { return first_iterator(); } /// Start of first term last_iterator lastBegin() const { return last_iterator(getNode()); } /// Finish of first term last_iterator lastEnd() const { return last_iterator(); } /// Get decison diagram representing the multiples of the first term diagram_type firstMultiples(const std::vector& input_multipliers) const { std::set multipliers(input_multipliers.begin(), input_multipliers.end()); std::vector indices( std::distance(firstBegin(), firstEnd()) ); std::copy( firstBegin(), firstEnd(), indices.begin() ); return cudd_generate_multiples( ring(), indices.rbegin(), indices.rend(), multipliers.rbegin(), multipliers.rend() ); } /// Get decison diagram representing the divisors of the first term diagram_type firstDivisors() const { std::vector indices( std::distance(firstBegin(), firstEnd()) ); std::copy( firstBegin(), firstEnd(), indices.begin() ); return cudd_generate_divisors(ring(), indices.rbegin(), indices.rend()); } /// Navigate through ZDD by incrementThen(), incrementElse(), and terminated() navigator navigation() const { return navigator(getNode()); } /// Checks whether the the diagram corresponds to {} or {{}} (polynomial 0 or 1) bool_type isConstant() const { return (getNode()) && PBORI_PREFIX(Cudd_IsConstant)(getNode()); } private: /// Save variant for generating fast ite operation (when idx < root index) static node_ptr getNewNode(const ring_type& ring, checked_idx_type idx, navigator thenNavi, navigator elseNavi) { if ((idx >= *thenNavi) || (idx >= *elseNavi)) throw PBoRiGenericError(); return PBORI_PREFIX(cuddZddGetNode)(ring.getManager(), idx, thenNavi.getNode(), elseNavi.getNode()); } /// Convenience version for diagrams static node_ptr getNewNode(idx_type idx, const self& thenDD, const self& elseDD) { thenDD.checkSameManager(elseDD); return getNewNode(thenDD.ring(), idx, thenDD.navigation(), elseDD.navigation()); } private: /// Smart pointer, which uses the ring for deallocating the node CExtrusivePtr p_node; }; #undef PB_ZDD_APPLY END_NAMESPACE_PBORI #endif BRiAl-1.2.12/libbrial/include/polybori/diagram/CDDOperations.h000066400000000000000000000025421436062512100240060ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file CDDOperations.h * * @author Alexander Dreyer * @date 2006-08-29 * * This file implements an internal template class for geenric CDDOperations; * * @par Copyright: * (c) 2006 by The PolyBoRi Team **/ //***************************************************************************** #ifndef polybori_diagram_CDDOperations_h_ #define polybori_diagram_CDDOperations_h_ // include basic definitions #include // Get Cudd definitions #include #include #include #include BEGIN_NAMESPACE_PBORI /// @class CDDOperation /// @brief Generic class containing decision diagram operations template class CDDOperations { public: // This is only a work-around, since a monomial should not be generated from // a dd. MonomType getMonomial(const DDType& dd) const { return MonomType(dd); } MonomType usedVariables(const DDType& dd){ CCacheManagement cache_mgr((BoolePolyRing)dd.ring()); return cached_used_vars(cache_mgr, dd.navigation(), MonomType(cache_mgr.one())); } }; END_NAMESPACE_PBORI #endif BRiAl-1.2.12/libbrial/include/polybori/diagram/CNodeCounter.h000066400000000000000000000024661436062512100237050ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file CNodeCounter.h * * @author Alexander Dreyer * @date 2011-04-29 * * This file defines the class CNodeCounter which can be used to determine the * number of nodes in a decision diagrm (represented by a navigator). * * @par Copyright: * (c) 2011 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_diagram_CNodeCounter_h_ #define polybori_diagram_CNodeCounter_h_ // include basic definitions #include BEGIN_NAMESPACE_PBORI /** @class CNodeCounter * @brief This class defines CNodeCounter. * **/ template class CNodeCounter { typedef CNodeCounter self; public: typedef NaviType navigator; typedef typename NaviType::size_type size_type; CNodeCounter(): m_visited() {} CNodeCounter(const self& rhs): m_visited(rhs.m_visited) {} ~CNodeCounter() {} size_type operator()(navigator navi) { if (navi.isConstant() || m_visited.count(navi)) return 0; m_visited.insert(navi); return (1 + operator()(navi.thenBranch()) + operator()(navi.elseBranch())); } private: std::set m_visited; }; END_NAMESPACE_PBORI #endif /* polybori_diagram_CNodeCounter_h_ */ BRiAl-1.2.12/libbrial/include/polybori/except/000077500000000000000000000000001436062512100210605ustar00rootroot00000000000000BRiAl-1.2.12/libbrial/include/polybori/except/CErrorInfo.h000066400000000000000000000021521436062512100232410ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file CErrorInfo.h * * @author Alexander Dreyer * @date 2006-03-06 * * This file includes all header files, which are necessary * for using the polybori lib. * * @par Copyright: * (c) 2006 by The PolyBoRi Team **/ //***************************************************************************** #ifndef polybori_error_CErrorInfo_h_ #define polybori_error_CErrorInfo_h_ #include BEGIN_NAMESPACE_PBORI /** @internal @class CErrorInfo * @brief Converts error codes to meaningful text. **/ class CErrorInfo { public: /// adopt global error code enumeration typedef CTypes::errornum_type errornum_type; /// adopt global error text type typedef CTypes::errortext_type errortext_type; /// default constructor (call once for text initialization) CErrorInfo(); /// convert error code to description text static errortext_type text(errornum_type); protected: /// table of error messages in readable form static errortext_type pErrorText[]; }; END_NAMESPACE_PBORI #endif BRiAl-1.2.12/libbrial/include/polybori/except/PBoRiError.h000066400000000000000000000030001436062512100232070ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file PBoRiError.h * * @author Alexander Dreyer * @date 2006-03-06 * * This file defines the class PBoriError, which is used for polybori's * exception handling. * * @par Copyright: * (c) 2006 by The PolyBoRi Team **/ //***************************************************************************** #ifndef polybori_error_PBoRiError_h_ #define polybori_error_PBoRiError_h_ // load PolyBoRi settings #include #include BEGIN_NAMESPACE_PBORI /** @class PBoRiError * @brief This class is used for polybori's exception handling. * * It's mainly a class wrapper for CTypes::errorcode. * **/ class PBoRiError: public std::exception, public CTypes { public: /// adopt global error code enumeration typedef CTypes::errornum_type errornum_type; /// adopt global error text type typedef CTypes::errortext_type errortext_type; /// generic access to type of @c *this typedef PBoRiError self; /// construct instance from error code PBoRiError(errornum_type err = CTypes::alright); /// copy constructor PBoRiError(const self&); /// destructor ~PBoRiError() throw(); /// get error code errornum_type code() const; /// get error text errortext_type text() const; /// std::exception compatible interface const char* what() const throw() { return text(); } protected: errornum_type error; }; END_NAMESPACE_PBORI #endif // of #ifndef PBoRiError_h_ BRiAl-1.2.12/libbrial/include/polybori/except/PBoRiGenericError.h000066400000000000000000000024471436062512100245220ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file PBoRiGenericError.h * * @author Alexander Dreyer * @date 2008-03-11 * * This file defines the template class PBoriError, which is used for polybori's * exception handling. * * @par Copyright: * (c) 2008 by The PolyBoRi Team **/ //***************************************************************************** #ifndef polybori_error_PBoRiGenericError_h_ #define polybori_error_PBoRiGenericError_h_ // load PolyBoRi settings #include // Get runtime-definable error type #include "PBoRiError.h" BEGIN_NAMESPACE_PBORI /** @class PBoRiGenericError * @brief This template class is used for polybori's exception handling. * * It's mainly a wrapper for PBoRiError, which allows compile-time distinction * of errors. * **/ template class PBoRiGenericError: public PBoRiError { public: /// adopt global error code enumeration typedef CTypes::errornum_type errornum_type; /// adopt global error text type typedef CTypes::errortext_type errortext_type; enum { error_code = ErrorCode }; /// Default constructor PBoRiGenericError(): PBoRiError(error_code) {} }; END_NAMESPACE_PBORI #endif // of #ifndef PBoRiGenericError_h_ BRiAl-1.2.12/libbrial/include/polybori/factories/000077500000000000000000000000001436062512100215475ustar00rootroot00000000000000BRiAl-1.2.12/libbrial/include/polybori/factories/CFactoryBase.h000066400000000000000000000026421436062512100242310ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file CFactoryBase.h * * @author Alexander Dreyer * @date 2011-05-05 * * This file defines the base class CFactoryBase which is used for @em currying * other constructors with a BoolePolyRing. * * @par Copyright: * (c) by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_factories_CFactoryBase_h_ #define polybori_factories_CFactoryBase_h_ // include basic definitions #include #include BEGIN_NAMESPACE_PBORI /** @class CFactoryBase * @brief This base class CFactoryBase is used for @em currying * other constructors with a BoolePolyRing. * * We generate pseudo constructors that a ring to be provided, because the * latter is stored in the factory. **/ class CFactoryBase { /// Type of *this typedef CFactoryBase self; public: /// Type of parent typedef BoolePolyRing parent_type; /// Default constructor CFactoryBase(const parent_type& parent): m_parent(parent) {} /// Copy constructor CFactoryBase(const self& rhs): m_parent(rhs.m_parent) {} /// Destructor ~CFactoryBase() {} /// Access delayed data const parent_type& parent() const { return m_parent; } private: parent_type m_parent; }; END_NAMESPACE_PBORI #endif /* polybori_factories_CFactoryBase_h_ */ BRiAl-1.2.12/libbrial/include/polybori/factories/MonomialFactory.h000066400000000000000000000044301436062512100250240ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file MonomialFactory.h * * @author Alexander Dreyer * @date 2011-05-05 * * This file defines the base class MonomialFactory which is used for * @em currying the constructors of @c BooleMonomial with a BoolePolyRing. * * @par Copyright: * (c) by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_factories_MonomialFactory_h_ #define polybori_factories_MonomialFactory_h_ // include basic definitions #include #include #include BEGIN_NAMESPACE_PBORI /** @class MonomialFactory * @brief This base class MonomialFactory is used for @em currying * monomial constructors with a BoolePolyRing. * **/ class MonomialFactory: public CFactoryBase { /// Type of *this typedef MonomialFactory self; /// We inherit from the following type typedef CFactoryBase base; public: /// Type of parent typedef base::parent_type parent_type; /// We construct element of this type typedef BooleMonomial value_type; /// Construct from given ring MonomialFactory(const parent_type& ring): base(ring) {} /// Copy constructor MonomialFactory(const self& rhs): base(rhs) {} /// Destructor ~MonomialFactory() {} /// Get first variable of the ring value_type operator()() const { return value_type(parent()); } /// Get first variable of explicit ring value_type operator()(const value_type::ring_type& ring) const { return value_type(ring); } /// Indirect copy constructor value_type operator()(const value_type& rhs) const { return rhs; } /// Construct from Boolean variable (does not need ring) value_type operator()(value_type::var_type var) const { return value_type(var); } /// Construct from exponent vector value_type operator()(const value_type::exp_type& rhs) const { return value_type(rhs, parent()); } /// Construct from exponent vector and explicit ring value_type operator()(const value_type::exp_type& rhs, const value_type::ring_type& ring) const { return value_type(rhs, ring); } }; END_NAMESPACE_PBORI #endif /* polybori_factories_MonomialFactory_h_ */ BRiAl-1.2.12/libbrial/include/polybori/factories/PolynomialFactory.h000066400000000000000000000066041436062512100254010ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file PolynomialFactory.h * * @author Alexander Dreyer * @date 2011-05-056 * * This file defines the base class PolynomialFactory which is used for * @em currying the constructors of @c BoolePolynomial with a BoolePolyRing. * * @par Copyright: * (c) by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_factories_PolynomialFactory_h_ #define polybori_factories_PolynomialFactory_h_ // include basic definitions #include #include #include #include BEGIN_NAMESPACE_PBORI /** @class PolynomialFactory * @brief This base class PolynomialFactory is used for @em currying * polynomial constructors with a BoolePolyRing. * **/ class PolynomialFactory: public CFactoryBase { /// Type of *this typedef PolynomialFactory self; /// We inherit from the following type typedef CFactoryBase base; public: /// Type of parent typedef base::parent_type parent_type; /// We construct element of this type typedef BoolePolynomial value_type; /// Construct from given ring PolynomialFactory(const parent_type& ring): base(ring) {} /// Copy constructor PolynomialFactory(const self& rhs): base(rhs) {} /// Destructor ~PolynomialFactory() {} /// Get zero polynomial of the ring value_type operator()() const { return value_type(parent()); } /// Indirect copy constructor value_type operator()(const value_type& rhs) const { return rhs; } /// Get first variable of explicit ring value_type operator()(const value_type::ring_type& ring) const { return value_type(ring); } /// Construct from Boolean variable (does not need ring) value_type operator()(const value_type::var_type& var) const { return value_type::monom_type(var); } /// Construct from Boolean monomial (does not need ring) value_type operator()(const value_type::monom_type& monom) const { return value_type(monom); } /// Construct from exponent vector value_type operator()(const value_type::exp_type& rhs) const { return value_type(rhs, parent()); } /// Construct from exponent vector and explicit ring value_type operator()(const value_type::exp_type& rhs, const value_type::ring_type& ring) const { return value_type(rhs, ring); } /// Construct polynomial from a constant value 0 or 1 and explicit ring value_type operator()(value_type::constant_type isOne, const value_type::ring_type& ring) const { return value_type(isOne, ring); } /// Construct polynomial from a constant value 0 or 1 value_type operator()(value_type::constant_type isOne) const { return value_type(isOne, parent()); } /// Construct polynomial from decision diagram value_type operator()(const value_type::dd_type& rhs) const { return value_type(rhs); } /// Construct polynomial from navigator and explicit ring value_type operator()(const value_type::navigator& rhs, const value_type::ring_type& ring) const{ return value_type(rhs, ring); } /// Construct polynomial from navigator value_type operator()(const value_type::navigator& rhs) const{ return value_type(rhs, parent()); } }; END_NAMESPACE_PBORI #endif /* polybori_factories_PolynomialFactory_h_ */ BRiAl-1.2.12/libbrial/include/polybori/factories/SetFactory.h000066400000000000000000000053471436062512100240140ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file SetFactory.h * * @author Alexander Dreyer * @date 2011-05-056 * * This file defines the base class SetFactory which is used for * @em currying the constructors of @c BooleSet with a BoolePolyRing. * * @par Copyright: * (c) by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_SetFactory_h_ #define polybori_SetFactory_h_ // include basic definitions #include #include #include #include BEGIN_NAMESPACE_PBORI /** @class SetFactory * @brief This base class SetFactory is used for @em currying * set constructors with a BoolePolyRing. * **/ class SetFactory: public CFactoryBase { /// Type of *this typedef SetFactory self; /// We inherit from the following type typedef CFactoryBase base; public: /// Type of parent typedef base::parent_type parent_type; /// We construct element of this type typedef BooleSet value_type; /// Construct from given ring SetFactory(const parent_type& ring): base(ring) {} /// Copy constructor SetFactory(const self& rhs): base(rhs) {} /// Destructor ~SetFactory() {} /// Get empty set of the ring value_type operator()() const { return value_type(parent()); } /// Indirect copy constructor value_type operator()(const value_type& rhs) const { return rhs; } /// Get first variable of explicit ring value_type operator()(const value_type::ring_type& ring) const { return value_type(ring); } /// Construct new node value_type operator()(value_type::idx_type idx, const value_type& first, const value_type& second) const { return value_type(idx, first, second); } /// Construct new node (using navigator nodes) value_type operator()(value_type::idx_type idx, value_type::navigator first, value_type::navigator second) const { return value_type(idx, first, second, parent()); } /// Construct new node (using navigator nodes and explicit ring) value_type operator()(value_type::idx_type idx, value_type::navigator first, value_type::navigator second, value_type::ring_type& ring) const { return value_type(idx, first, second, ring); } /// Construct new node from navigator (using explicit ring) value_type operator()(value_type::navigator navi, value_type::ring_type& ring) const { return value_type(navi, ring); } /// Construct new node from navigator value_type operator()(value_type::navigator navi) const { return value_type(navi, parent()); } }; END_NAMESPACE_PBORI #endif /* polybori_SetFactory_h_ */ BRiAl-1.2.12/libbrial/include/polybori/factories/VariableBlock.h000066400000000000000000000041531436062512100244230ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file VariableBlock.h * * @author Michael Brickenstein (original PyPolyBoRi class), Alexander Dreyer * @date 2011-05-05 * * This file defines the class VariableBlock. * * @par Copyright: * (c) 2005-2011 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_factories_VariableBlock_h_ #define polybori_factories_VariableBlock_h_ // include basic definitions #include #include BEGIN_NAMESPACE_PBORI class VariableIndexException{ }; /** @class VariableBlock * @brief This class defines a VariableBlock. * * We break down the two-argumented class @c BooleVariables(idx, ring) to a one argumented * call over a functional object @c var(idx) which knows about the ring ("currying"). **/ class VariableBlock: protected VariableFactory{ /// Type of *this typedef VariableBlock self; public: typedef VariableFactory base; typedef base::value_type var_type; typedef var_type::ring_type ring_type; typedef var_type::idx_type idx_type; /// Construct block VariableBlock(idx_type size, idx_type start_index, idx_type offset, bool reverse, const ring_type& ring): base(ring), m_start_index(start_index), m_last (start_index + size - 1), m_offset(offset), m_reverse(reverse) { } /// Copy constructor VariableBlock(const self& rhs): base(rhs), m_start_index(rhs.m_start_index), m_last(rhs.m_last), m_offset(rhs.m_offset), m_reverse(rhs.m_reverse) { } /// Destructor ~VariableBlock() {} /// We may easily var_type operator()(idx_type i){ if PBORI_UNLIKELY( (i > m_last) || (i < m_start_index) ){ throw VariableIndexException(); } return base::operator()(m_offset + (m_reverse? m_last - i: i - m_start_index)); } protected: const idx_type m_start_index; const idx_type m_last; const idx_type m_offset; const bool m_reverse; }; END_NAMESPACE_PBORI #endif /* polybori_factories_VariableBlock_h_*/ BRiAl-1.2.12/libbrial/include/polybori/factories/VariableFactory.h000066400000000000000000000041501436062512100247750ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file VariableFactory.h * * @author Alexander Dreyer * @date 2011-05-05 * * This file defines the base class VariableFactory which is used for * @em currying the constructors of @c BooleVariable with a BoolePolyRing. * * @par Copyright: * (c) by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_factories_VariableFactory_h_ #define polybori_factories_VariableFactory_h_ // include basic definitions #include #include #include BEGIN_NAMESPACE_PBORI /** @class VariableFactory * @brief This base class VariableFactory is used for @em currying * variable constructors with a BoolePolyRing. * **/ class VariableFactory: public CFactoryBase { /// Type of *this typedef VariableFactory self; /// We inherit from the following type typedef CFactoryBase base; public: /// Type of parent typedef base::parent_type parent_type; /// We construct element of this type typedef BooleVariable value_type; /// Construct from given ring VariableFactory(const parent_type& ring): base(ring) {} /// Copy constructor VariableFactory(const self& rhs): base(rhs) {} /// Destructor ~VariableFactory() {} /// Get first variable of the ring value_type operator()() const { return value_type(0, parent()); } /// Indirect copy constructor value_type operator()(const value_type& rhs) const { return rhs; } /// Get first variable of explicit ring value_type operator()(const value_type::ring_type& ring) const { return value_type(0, ring); } /// Construct i-th variable for explit ring value_type operator()(value_type::idx_type idx, const value_type::ring_type& ring) const { return value_type(idx, ring); } /// Construct i-th variable value_type operator()(value_type::idx_type idx) const { return value_type(idx, parent()); } }; END_NAMESPACE_PBORI #endif /* polybori_factories_VariableFactory_h_ */ BRiAl-1.2.12/libbrial/include/polybori/iterators/000077500000000000000000000000001436062512100216045ustar00rootroot00000000000000BRiAl-1.2.12/libbrial/include/polybori/iterators/CBidirectTermIter.h000066400000000000000000000112011436062512100252540ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file CBidirectTermIter.h * * @author Alexander Dreyer * @date 2006-04-21 * * * * @par Copyright: * (c) 2006 by The PolyBoRi Team **/ //***************************************************************************** #ifndef polybori_iterators_CBidirectTermIter_h_ #define polybori_iterators_CBidirectTermIter_h_ // get standard header #include #include // include basic definitions #include // Get forward term iterator #include "CTermIter.h" BEGIN_NAMESPACE_PBORI template class handle_else : public std::deque { public: typedef NavigatorType navigator_type; typedef std::deque base; void operator()(const navigator_type& navi) { while(!base::empty() && (*top() >= *navi) ) base::pop_back(); base::push_back(navi); } void push(const navigator_type& navi) { base::push_back(navi); } void pop() { base::pop_back(); } const navigator_type& top() const { return base::back(); }; void append(const handle_else& rhs) { PBORI_ASSERT(base::empty() || rhs.empty() || ((**rhs.begin()) > (*top())) ); base::insert(base::end(), rhs.begin(), rhs.end()); } }; #if 0 /** @class CBidirectTermIter * @brief This class defines an iterator for the monomials in a Boolean * polynomial. * **/ template > class CBidirectTermIter: public CTermIter >{ public: /// Type for boolean results typedef TermType term_type; /// Get type of navigators typedef NavigatorType navigator_type; /// Get operational, which changes the current term on forward steps typedef ForwardOp forwardop_type; /// Get operational, which changes the current term on backward steps typedef BackwardOp backwardop_type; /// Get operational, which generates terminal value corresponding to Boolean typedef TerminalValueOp termvalop_type; /// Type, which stacks else banches. typedef handle_else elsehandle_type; /// Get type of *this typedef CBidirectTermIter self; /// Generic access to base type; typedef CTermIter base; /// @name Interface types for standard iterator access //@{ typedef std::bidirectional_iterator_tag iterator_category; typedef typename base::difference_type difference_type; typedef typename base::pointer pointer; typedef typename base::reference reference; //@} /// Generic access to member using base::handleElse; /// Default constructor CBidirectTermIter(): base() {} /// Construct from initial navigator CBidirectTermIter(navigator_type navi, forwardop_type fop_ = forwardop_type(), backwardop_type bop_ = backwardop_type(), termvalop_type tvop_ = termvalop_type() ): base(navi, fop_, bop_, tvop_) {} /// Construct last term from initial navigator CBidirectTermIter(navigator_type navi, dummy_iterator): base() { if(navi.isValid()) { followElse(navi); terminate(navi); } } /// Copy Constructor CBidirectTermIter(const self& rhs): base(rhs) {}; /// Destructor ~CBidirectTermIter() {}; /// Prefix increment operator self& operator++() { base::operator++(); return *this; } /// Postfix increment operator self operator++(int dummy) { return base::operator++(dummy); }; /// Prefix decrement operator self& operator--() { if (!handleElse.empty()){ navigator_type navi = handleElse.top(); base::popToIndex(*navi); handleElse.pop(); base::nextThen(navi); followElse(navi); } else base::clear(); return *this; } /// Postfix decrement operator self operator--(int) { self tmp(*this); operator--(); return tmp; }; protected: void followElse(navigator_type& navi) { while( !navi.isConstant() ) { // if still in interior of a path if(!navi.elseBranch().isEmpty()) { handleElse.push(navi); navi.incrementElse(); // go in direction of last term, if possible } else base::nextThen(navi); } } }; #endif END_NAMESPACE_PBORI #endif BRiAl-1.2.12/libbrial/include/polybori/iterators/CCuddFirstIter.h000066400000000000000000000045151436062512100246000ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file CCuddFirstIter.h * * @author Alexander Dreyer * @date 2006-03-26 * * This file defines an stl-like iterator for accessing the nonzero indices of * the leading (first) minimal term of Cudd decision diagrams. * * @note: Tested for Cudd's ZDDs only. * * @par Copyright: * (c) 2006 by The PolyBoRi Team **/ //***************************************************************************** #ifndef polybori_iterators_CCuddFirstIter_h_ #define polybori_iterators_CCuddFirstIter_h_ // include basic definitions #include "CCuddNavigator.h" // include boost's interator facade #include BEGIN_NAMESPACE_PBORI /** @class CCuddFirstIter * @brief This class defines an iterator over the first minimal term of a given * ZDD node. * **/ class CCuddFirstIter : public boost::iterator_facade< CCuddFirstIter, CCuddNavigator::value_type, std::forward_iterator_tag, CCuddNavigator::reference > { public: /// Interface type for standard iterator access typedef std::forward_iterator_tag iterator_category; /// Get type of *this typedef CCuddFirstIter self; /// Get navigator type typedef CCuddNavigator navigator; /// Type for constantly accessing node pointer typedef navigator::const_access_type const_access_type; /// Type for boolean values typedef navigator::bool_type bool_type; /// Default constructor CCuddFirstIter(): m_navi() {} /// Construct from navigator over nodes CCuddFirstIter(navigator rhs): m_navi(rhs) { terminateConstant(); } /// Destructor ~CCuddFirstIter() {} /// Incrementation operation void increment() { m_navi.incrementThen(); terminateConstant(); } /// Equality test bool_type equal (const self& rhs) const { return (m_navi == rhs.m_navi); } /// Dereferencing of the iterator navigator::reference dereference() const { return *m_navi; } /// Check, whether end of iteration is reached bool_type isEnd() const { return !m_navi.isValid(); } protected: /// Constant nodes are marked as the end of a path void terminateConstant() { if (m_navi.isConstant()) *this = self(); // mark end of path reached } /// Use navigator to access diagram nodes navigator m_navi; }; END_NAMESPACE_PBORI #endif BRiAl-1.2.12/libbrial/include/polybori/iterators/CCuddLastIter.h000066400000000000000000000027601436062512100244140ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file CCuddLastIter.h * * @author Alexander Dreyer * @date 2006-03-26 * * This file defines an stl-like iterator for accessing the nonzero indices of * the leading (last) minimal term of Cudd decision diagrams. * * @note: Tested for Cudd's ZDDs only. * * @par Copyright: * (c) 2006 by The PolyBoRi Team **/ //***************************************************************************** #ifndef polybori_iterators_CCuddLastIter_h_ #define polybori_iterators_CCuddLastIter_h_ // include basic definitions #include "CCuddNavigator.h" BEGIN_NAMESPACE_PBORI /** @class CCuddLastIter * @brief This class defines an iterator over the last minimal term of a given * ZDD node. * **/ class CCuddLastIter : public CCuddNavigator { public: /// Interface type for standard iterator access typedef std::forward_iterator_tag iterator_category; /// Get type of *this typedef CCuddLastIter self; /// Get base type typedef CCuddNavigator base; /// Default constructor and construct from node pointer CCuddLastIter(): base() {} CCuddLastIter(pointer_type ptr); /// Copy Constructor CCuddLastIter(const self&); /// Destructor ~CCuddLastIter(); /// Prefix increment operator self& operator++(); /// Postfix increment operator self operator++(int); protected: /// Constant nodes are marked as the end of a path void terminateConstant(); }; END_NAMESPACE_PBORI #endif BRiAl-1.2.12/libbrial/include/polybori/iterators/CCuddNavigator.h000066400000000000000000000134421436062512100246160ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file CCuddNavigator.h * * @author Alexander Dreyer * @date 2006-03-26 * * This file defines an iterator for navigating through then and else branches * of Cudd decision diagrams. * * @note: Tested for Cudd's ZDDs only. * * @par Copyright: * (c) 2006 by The PolyBoRi Team **/ //***************************************************************************** #ifndef polybori_iterators_CCuddNavigator_h_ #define polybori_iterators_CCuddNavigator_h_ #include // include basic definitions #include #include #include BEGIN_NAMESPACE_PBORI /** @class CCuddNavigator * @brief This class defines an iterator for navigating through then and else branches * of ZDDs. * **/ class CCuddNavigator { public: /// Cudd's node pointer typedef DdNode* pointer_type; /// Type for constantly accessing node pointer typedef const pointer_type const_access_type; /// Type for indices typedef CTypes::idx_type idx_type; /// Type for indices typedef CTypes::size_type size_type; /// Type for degrees typedef CTypes::deg_type deg_type; /// Type for hashing typedef CTypes::hash_type hash_type; /// Type for boolean results typedef CTypes::bool_type bool_type; /// Return type of dereferencing operator typedef idx_type value_type; /// Get type of *this typedef CCuddNavigator self; /// @name Interface types for standard iterator access //@{ typedef navigator_tag iterator_category; typedef std::iterator_traits::difference_type difference_type; typedef void pointer; typedef value_type reference; //@} /// Default constructor CCuddNavigator(): pNode(NULL) {} /// Construct from node pointer explicit CCuddNavigator(pointer_type ptr): pNode(ptr) { PBORI_ASSERT(isValid()); } /// Copy Constructor CCuddNavigator(const self& rhs): pNode(rhs.pNode) {} /// Destructor ~CCuddNavigator() {} /// Increment in @c then direction self& incrementThen(); // inlined below /// Increment in @c then direction self thenBranch() const { return self(*this).incrementThen(); } /// Increment in @c else direction self& incrementElse(); // inlined below /// Increment in @c else direction self elseBranch() const { return self(*this).incrementElse(); } /// Constant dereference operator reference operator*() const; // inlined below /// Constant pointer access operator const_access_type operator->() const { return pNode; } /// Constant pointer access operator const_access_type getNode() const { return pNode; } /// Constant pointer access operator hash_type hash() const { return reinterpret_cast(pNode); } /// Equality test bool_type operator==(const self& rhs) const { return (pNode == rhs.pNode); } /// Nonequality test bool_type operator!=(const self& rhs) const { return (pNode != rhs.pNode); } /// Check whether constant node was reached bool_type isConstant() const; // inlined below /// Check whether terminal node marks end of path bool_type terminalValue() const; // inlined below /// Check whether *this is not the default iterator self() (NULL pointer) bool_type isValid() const { return (pNode != NULL); } /// Check whether end of path was reached bool_type isTerminated() const { return isConstant() && terminalValue(); } /// Check whether dead end was reached bool_type isEmpty() const { return isConstant() && !terminalValue(); } /// @name Pointer-like comparision operations //@{ bool_type operator<(const self& rhs) const { return (pNode < rhs.pNode); } bool_type operator<=(const self& rhs) const { return (pNode <= rhs.pNode); } bool_type operator>(const self& rhs) const { return (pNode > rhs.pNode); } bool_type operator>=(const self& rhs) const { return (pNode >= rhs.pNode); } //@} /// Force incrementation of reference count void incRef() const { PBORI_ASSERT(isValid()); PBORI_PREFIX(Cudd_Ref)(pNode); } /// Force decrementation of reference count void decRef() const { PBORI_ASSERT(isValid()); PBORI_PREFIX(Cudd_Deref)(pNode); } /// Force recursive decrementation of reference count template void recursiveDecRef(const MgrType& mgr) const { PBORI_ASSERT(isValid()); PBORI_PREFIX(Cudd_RecursiveDerefZdd)(mgr, pNode); } private: /// Store node pointer pointer_type pNode; }; // Inlined member functions // constant pointer access operator inline CCuddNavigator::value_type CCuddNavigator::operator*() const { PBORI_TRACE_FUNC( "CCuddNavigator::operator*() const" ); PBORI_ASSERT(isValid()); return Cudd_Regular(pNode)->index; } // whether constant node was reached inline CCuddNavigator::bool_type CCuddNavigator::isConstant() const { PBORI_TRACE_FUNC( "CCuddNavigator::isConstant() const" ); PBORI_ASSERT(isValid()); return Cudd_IsConstant(pNode); } // constant node value inline CCuddNavigator::bool_type CCuddNavigator::terminalValue() const { PBORI_TRACE_FUNC( "CCuddNavigator::terminalValue() const" ); PBORI_ASSERT(isConstant()); return Cudd_V(pNode); } // increment in then direction inline CCuddNavigator& CCuddNavigator::incrementThen() { PBORI_TRACE_FUNC( "CCuddNavigator::incrementThen()" ); PBORI_ASSERT(isValid()); pNode = Cudd_T(pNode); return *this; } // increment in else direction inline CCuddNavigator& CCuddNavigator::incrementElse() { PBORI_TRACE_FUNC( "CCuddNavigator::incrementElse()" ); PBORI_ASSERT(isValid()); pNode = Cudd_E(pNode); return *this; } inline CCuddNavigator explicit_navigator_cast(CCuddNavigator::pointer_type ptr) { #ifndef PBORI_NDEBUG if (ptr == NULL) return CCuddNavigator(); else #endif return CCuddNavigator(ptr); } END_NAMESPACE_PBORI #endif BRiAl-1.2.12/libbrial/include/polybori/iterators/CExpIter.h000066400000000000000000000062701436062512100234450ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file CExpIter.h * * @author Alexander Dreyer * @date 2007-05-03 * * This file defines a variant for the natural (lexicographical) iterator, which * iterator over all exponent vectors of a polynomial. * * @par Copyright: * (c) 2007 by The PolyBoRi Team **/ //***************************************************************************** #ifndef polybori_iterators_CExpIter_h_ #define polybori_iterators_CExpIter_h_ // include basic definitions #include // get stuff for term iteration #include "CTermStack.h" #include "CTermIter.h" BEGIN_NAMESPACE_PBORI template class CExpGenerator { public: typedef ExpType value_type; typedef const value_type& result_type; typedef typename value_type::size_type size_type; /// Default constructor CExpGenerator(): m_result() {} /// Return currently stored results template result_type operator()(const SequenceType&) const{ return m_result; } /// Take the first nlen elements of the exponent vector only void resize(size_type nlen) { m_result.resize(nlen); } /// Prepare space for nlen elements void reserve(size_type nlen) { m_result.reserve(nlen); } /// Get current size size_type size() const { return m_result.size(); } /// Append elements to exponent vector template void append(Iterator start, Iterator finish) { while (start != finish){ m_result.push_back(*start); ++start; } } private: value_type m_result; }; template struct pbori_base > { typedef CTermStack stack_type; typedef CTermIter > type; }; template class CExpIter : public pbori_base >::type { public: /// Name type of *this typedef CExpIter self; /// Get base type typedef typename pbori_base::type base; /// Construct iteraor from navigator over decision diagram structure CExpIter(NaviType navi): base(navi, typename base::term_generator() ) { base::m_getTerm.reserve(base::m_stack.size()); base::m_getTerm.append(base::begin(), base::end()); } /// Incrementation operation core void increment() { PBORI_ASSERT(!base::m_stack.empty()); if (base::m_stack.markedOne()) { base::m_stack.clearOne(); } else { base::m_stack.next(); base::m_getTerm.resize( base::m_stack.size() == 0 ? 0: base::m_stack.size() - 1); if (!base::m_stack.empty()) { base::m_stack.followThen(); base::m_stack.terminate(); } } base::m_getTerm.reserve(base::m_stack.size()); base::m_getTerm.append(base::begin() + base::m_getTerm.size(), base::end()); } /// Prefix incrementation operation self& operator++() { increment(); return *this; } /// Postfix incrementation operation self operator++(int) { self copy(*this); increment(); return copy; } }; END_NAMESPACE_PBORI #endif BRiAl-1.2.12/libbrial/include/polybori/iterators/CGenericIter.h000066400000000000000000000047741436062512100242740ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file CGenericIter.h * * @author Alexander Dreyer * @date 2006-09-06 * * This file defines a degree lexicographic iterator. * * @par Copyright: * (c) 2006 by The PolyBoRi Team **/ //***************************************************************************** #ifndef polybori_iterators_CGenericIter_h_ #define polybori_iterators_CGenericIter_h_ // include basic definitions #include #include // get stuff for term iteration #include "CStackSelector.h" #include "CTermIter.h" #include "CTermGenerator.h" BEGIN_NAMESPACE_PBORI template struct pbori_base > { typedef typename CStackSelector::type stack_type; typedef CTermIter > type; }; template class CGenericIter: public pbori_base >::type { public: typedef typename pbori_base::type base; typedef typename base::term_generator term_generator; template CGenericIter(NaviType navi, const MgrType& mgr): base(navi, mgr) {} // CGenericIter(): base() {} }; #if 0 template class CGenericIter: public pbori_base >::type { public: typedef typename pbori_base::type base; typedef typename base::term_generator term_generator; template CGenericIter(NaviType navi, const MgrType& mgr): base(navi, mgr) {} // CGenericIter(): base() {} }; #endif /////////////// template struct pbori_base > { typedef CReverseTermStack stack_type; typedef CTermIter > type; }; template class CReverseIter: public pbori_base >::type { public: typedef typename pbori_base::type base; typedef typename base::term_generator term_generator; template CReverseIter(NaviType navi, const MgrType& mgr): base(navi, mgr) {} // CReverseIter(): base() {} }; END_NAMESPACE_PBORI #endif BRiAl-1.2.12/libbrial/include/polybori/iterators/COrderedIter.h000066400000000000000000000156211436062512100242750ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file COrderedIter.h * * @author Alexander Dreyer * @date 2006-09-06 * * This file defines an iterator, which respects the current ordering. * * @par Copyright: * (c) 2006 by The PolyBoRi Team **/ //***************************************************************************** #ifndef polybori_iterators_COrderedIter_h_ #define polybori_iterators_COrderedIter_h_ // include basic definitions #include #include #include #include "CBidirectTermIter.h" #include #include "CStackSelector.h" #include "CTermGenerator.h" BEGIN_NAMESPACE_PBORI template class CAbstractStackBase { public: typedef NavigatorType navigator; typedef CAbstractStackBase self; typedef CTermStackBase iterator_core; typedef std::shared_ptr core_pointer; virtual void increment() = 0; virtual core_pointer copy() const = 0; virtual ~CAbstractStackBase() {} }; template class CWrappedStack: public StackType { public: typedef StackType base; typedef CWrappedStack self; typedef typename base::navigator navigator; typedef typename base::iterator_core iterator_core; typedef std::shared_ptr core_pointer; template CWrappedStack(navigator navi, const MgrType& mgr): base(navi, mgr) { base::init(); } // CWrappedStack(): base() {} CWrappedStack(const self& rhs): base(rhs) {} core_pointer copy() const { return core_pointer(new self(*this)); } }; // template // void get_term(BooleMonomial& monom, const SequenceType& seq) { // typename SequenceType::const_reverse_iterator start(seq.rbegin()), // finish(seq.rend()); // while (start != finish){ // monom.changeAssign(*start); // ++start; // } // } // template // void get_term(BooleExponent& termexp, const SequenceType& seq) { // termexp.reserve(seq.deg()); // typename SequenceType::const_iterator start(seq.begin()), // finish(seq.end()); // while (start != finish){ // termexp.push_back(*start); // ++start; // } // } // template // void get_term(typename CTypes::size_type& termdeg, const SequenceType& seq) { // termdeg = seq.deg(); // } template class COrderedIter: public boost::iterator_facade< COrderedIter, MonomType, std::forward_iterator_tag, MonomType > { public: typedef COrderedIter self; typedef CAbstractStackBase stack_base; typedef CTermStackBase iterator_core; /// Type for functional, which generates actual term, for current path typedef CTermGenerator term_generator; typedef typename iterator_core::const_iterator const_iterator; typedef typename iterator_core::const_reverse_iterator const_reverse_iterator; typedef typename iterator_core::size_type size_type; typedef typename iterator_core::deg_type deg_type; typedef typename iterator_core::idx_type idx_type; /// Fix type of direct iterator typedef NavigatorType navigator; // Store shared pointer of iterator typedef std::shared_ptr core_pointer; /// Extract plain Boolean type typedef bool bool_type; // Constructor COrderedIter(core_pointer rhs, const term_generator & getTerm): m_getTerm(getTerm), p_iter(rhs) {} // Destructor ~COrderedIter() {} bool equal(const self& rhs) const { return p_iter->equal(*rhs.p_iter); } /// Incrementation void increment() { if (!p_iter.unique()) { core_pointer tmp(p_iter->copy()); p_iter = tmp; } p_iter->increment(); } /// Determine whether term is one (without explicit constructing) bool_type isOne() const { return p_iter->isOne(); } /// Determine whether term is zero (without explicit constructing) bool_type isZero() const { return p_iter->isZero(); } /// Check, whether end of iteration is reached bool_type isEnd() const { return isZero(); } /// Dereferencing operation MonomType dereference() const { return m_getTerm(*p_iter); } const_iterator begin() const { return p_iter->begin(); } const_iterator end() const { return p_iter->end(); } const_reverse_iterator rbegin() const { return p_iter->rbegin(); } const_reverse_iterator rend() const { return p_iter->rend(); } deg_type deg() const { return p_iter->deg(); } idx_type firstIndex() const { return *begin(); } /// Get navigator of term start navigator navigation() const { return p_iter->navigation(); } protected: /// The functional which defines the dereferecing operation term_generator m_getTerm; /// A shared pointer to the stack, which carries the current path core_pointer p_iter; }; template class CGenericOrderedIter: public COrderedIter { public: typedef CAbstractStackBase stack_base; typedef typename CStackSelector::type ordered_iter_base; typedef CWrappedStack ordered_iter_type; typedef COrderedIter base; typedef typename base::iterator_core iterator_core; typedef typename base::core_pointer core_pointer; typedef typename base::term_generator term_generator; template CGenericOrderedIter(NavigatorType navi, const MgrType& gen): base( core_pointer(new ordered_iter_type(navi, gen) ), gen) {} // CGenericOrderedIter(): base( core_pointer(new ordered_iter_type()), // term_generator() ) {} CGenericOrderedIter(const CGenericOrderedIter& rhs): base(rhs) {} }; template class CGenericOrderedIter : public COrderedIter { public: typedef CAbstractStackBase stack_base; typedef typename CStackSelector::type ordered_iter_base; typedef CWrappedStack ordered_iter_type; typedef COrderedIter base; typedef typename base::iterator_core iterator_core; typedef typename base::core_pointer core_pointer; typedef typename base::term_generator term_generator; template CGenericOrderedIter(NavigatorType navi, const MgrType& mgr): base( core_pointer(new ordered_iter_type(navi, mgr)), term_generator() ) {} // CGenericOrderedIter(): base( core_pointer(new ordered_iter_type()), // term_generator() ) {} CGenericOrderedIter(const CGenericOrderedIter& rhs): base(rhs) {} }; END_NAMESPACE_PBORI #endif BRiAl-1.2.12/libbrial/include/polybori/iterators/CStackSelector.h000066400000000000000000000042241436062512100246300ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file CStackSelector.h * * @author Alexander Dreyer * @date 2007-05-03 * * This file defines the template class CStackSelector, whose only use is to * generate the correct (term-)stack type for a given ordering. * * @par Copyright: * (c) 2007 by The PolyBoRi Team **/ //***************************************************************************** #ifndef polybori_iterators_CStackSelector_h_ #define polybori_iterators_CStackSelector_h_ // include basic definitions #include // include polybori's functionals #include // get stack types, which are used to store and handle paths of current terms #include "CTermStack.h" // include standard iterator functionality #include #include BEGIN_NAMESPACE_PBORI /** @class CStackSelector * **/ template class CStackSelector { /// @name Abbreviations for internal types and tags //@{ typedef BaseType base; typedef NaviType navigator; typedef COrderingTags orderings_tags; typedef typename orderings_tags::descending_property descending; typedef typename orderings_tags::degorder_property deg_prop; typedef typename orderings_tags::blockorder_property block_prop; //@} /// Natural and lexicographical iterator's stack typedef CTermStack lex_type; /// Iterator's stack for degree-orderings typedef CDegTermStack deg_type; /// Iterator's stack for block-orderings typedef CBlockTermStack block_type; /// Abbreviation for non-block orderings typedef typename on_same_type::type nonblock_type; public: /// The resulting type for iterator's stack typedef typename on_same_type::type type; }; END_NAMESPACE_PBORI #endif BRiAl-1.2.12/libbrial/include/polybori/iterators/CTermGenerator.h000066400000000000000000000106401436062512100246370ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file CTermGenerator.h * * @author Alexander Dreyer * @date 2007-05-03 * * Defines the template class CTermGenerator, which is a functional for * generation of from from a sequence of indices. * * @par Copyright: * (c) 2007-2010 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_iterators_CTermGenerator_h_ #define polybori_iterators_CTermGenerator_h_ // include basic definitions #include // include polybori functionals #include //#include BEGIN_NAMESPACE_PBORI template class CTermGeneratorBase__; class BooleExponent; template class CTermGeneratorBase__ > { public: typedef TermType value_type; typedef value_type result_type; template result_type operator()(const SequenceType& seq) const{ value_type result; result.reserve(seq.deg()); typename SequenceType::const_iterator start(seq.begin()), finish(seq.end()); while (start != finish){ result.push_back(*start); ++start; } return result; } }; template class CTermGeneratorBase__ > { public: typedef TermType value_type; typedef value_type result_type; template result_type operator()(const SequenceType& seq) const{ return seq.deg(); } }; template class CTermGeneratorBase__ > { public: typedef TermType value_type; typedef value_type result_type; template result_type operator()(const SequenceType& seq) const{ return seq.deg(); } }; ///////// template class CTermGeneratorBase__ >{ public: typedef TermType value_type; typedef value_type result_type; // typedef CTypes::manager_base manager_base; typedef BoolePolyRing data_type; typedef data_type::dd_type dd_type; // typedef CTypes::manager_base data_type; data_type m_data; ///CCuddCore * m_data; // non-save variant CTermGeneratorBase__(const data_type& data): m_data(data) {} CTermGeneratorBase__(): m_data() {} template result_type operator()(const SequenceType& seq) const { /// PBORI_ASSERT(m_data != data_type()); // todo??? // Do not dereference empty sequence (corresponds to end()) PBORI_ASSERT(!seq.isZero()); // @todo: avoid using manager_base here typedef typename value_type::ring_type ring_type; /// typedef typename ring_type::manager_type manager_type; // value_type result((ring_type)manager_type(m_data)); value_type result((ring_type)(m_data)); typename SequenceType::stack_reverse_iterator start(seq.stackRBegin()), finish(seq.stackREnd()); #ifndef PBORI_NO_TERMS_BY_TAIL typename BooleSet::navigator navi(result.diagram().navigation()); PBORI_ASSERT((start == finish) || !start->isConstant()); while((start != finish) && (start->elseBranch().isEmpty()) && (start->thenBranch() == navi) ) { navi = *start; ++start; } result = value_type(dd_type(m_data, navi)); #endif while (start != finish){ result = result.change(**start); ++start; } return result; } }; template class CTermGeneratorBase: public CTermGeneratorBase__ > { }; template class CTermGenerator: public CTermGeneratorBase { public: typedef CTermGeneratorBase base; typedef BoolePolyRing data_type; CTermGenerator(const data_type&): base() {} CTermGenerator(const CTermGenerator& rhs): base(rhs) {} CTermGenerator(): base() {} }; template <> class CTermGenerator: public CTermGeneratorBase__ > { public: typedef BooleMonomial term_type; typedef CTermGeneratorBase__ > base; //typedef CTermGeneratorBase base; typedef base::data_type data_type; CTermGenerator(const data_type& data): base(data) {} CTermGenerator(const CTermGenerator& rhs): base(rhs) {} // CTermGenerator(): base() {} }; END_NAMESPACE_PBORI #endif BRiAl-1.2.12/libbrial/include/polybori/iterators/CTermIter.h000066400000000000000000000075641436062512100236270ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file CTermIter.h * * @author Alexander Dreyer * @date 2006-04-21 * * * * @par Copyright: * (c) 2006 by The PolyBoRi Team **/ //***************************************************************************** #ifndef polybori_iterators_CTermIter_h_ #define polybori_iterators_CTermIter_h_ // include basic definitions #include // include polybori functionals #include // include polybori properties #include // include boost's interator facade #include #include BEGIN_NAMESPACE_PBORI /** @class CTermIter * @brief This class defines an iterator for the monomials in a Boolean * polynomial. * **/ template class CTermIter: public boost::iterator_facade< CTermIter, typename TermGeneratorType::value_type, typename StackType::iterator_category, typename TermGeneratorType::result_type > { public: /// Define type for storing current path (term) in stack of nodes typedef StackType stack_type; /// Get type of navigators typedef typename stack_type::navigator navigator; /// Type for indices typedef typename navigator::idx_type idx_type; /// Type for Boolean results typedef typename navigator::bool_type bool_type; /// Type for lengths typedef typename navigator::size_type size_type; /// Type for degrees typedef typename navigator::deg_type deg_type; /// Type for functional, which generates actual term, for current path typedef TermGeneratorType term_generator; /// @name Iterators over current term (without explicite construction) //@{ typedef typename stack_type::const_iterator const_iterator; typedef typename stack_type::const_reverse_iterator const_reverse_iterator; //@} /// Copy constructor CTermIter(const CTermIter& rhs): m_getTerm(rhs.m_getTerm), m_stack(rhs.m_stack) { } /// Construct from navigator over decision diagram template CTermIter(navigator navi, const MgrType& mgr): m_getTerm(mgr), m_stack(navi, mgr) { m_stack.init(); } /// Destructor ~CTermIter() {} /// Incrementation operation void increment() { m_stack.increment(); } /// Decrementation operation void decrement() { m_stack.decrement(); } /// Equality test bool_type equal (const CTermIter& rhs) const { return m_stack.equal(rhs.m_stack); } /// Dereferencing of the iterator typename term_generator::result_type dereference() const { return m_getTerm(m_stack); } /// @name Interface for iteration over term without constructing //@{ const_iterator begin() const { return m_stack.begin(); } const_iterator end() const { return m_stack.end(); } const_reverse_iterator rbegin() const { return m_stack.rbegin(); } const_reverse_iterator rend() const { return m_stack.rend(); } //@} /// Determine whether term is one (without explicit constructing) bool_type isOne() const { return m_stack.isOne(); } /// Determine whether term is zero (without explicit constructing) bool_type isZero() const { return m_stack.isZero(); } /// Check, whether end of iteration is reached bool_type isEnd() const { return isZero(); } /// Get degree of current term deg_type deg() const { return m_stack.deg(); } /// Get first index of current term idx_type firstIndex() const { PBORI_ASSERT(!m_stack.empty()); return *begin(); } /// Get navigator of term start navigator navigation() const { return m_stack.navigation(); } protected: /// The functional which defines the dereferecing operation term_generator m_getTerm; /// The stack, which carries the current path stack_type m_stack; }; END_NAMESPACE_PBORI #endif BRiAl-1.2.12/libbrial/include/polybori/iterators/CTermStack.h000066400000000000000000000566611436062512100237730ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file CTermStack.h * * @author Alexander Dreyer * @date 2006-04-21 * * * * @par Copyright: * (c) 2007-2010 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_iterators_CTermStack_h_ #define polybori_iterators_CTermStack_h_ // get standard header #include #include #include // for std::pair // include basic definitions #include // include polybori functionals #include // include polybori properties #include #include // include boost's indirect iterator facilities #include #include #include #include #include "CBidirectTermIter.h" #include BEGIN_NAMESPACE_PBORI ////////////////////////////////////////////////////////// template struct cached_deg { typedef CDegreeCache cache_type; typedef typename cache_type::manager_type manager_type; cached_deg(const manager_type & mgr): m_deg_cache(mgr) {} typename NavigatorType::deg_type operator()(NavigatorType navi) const { return dd_cached_degree(m_deg_cache, navi); } cache_type m_deg_cache; }; ////////////////////////////////////////////////////////// template class cached_block_deg { public: typedef typename NavigatorType::idx_type idx_type; typedef cached_block_deg self; /// Type for block indices typedef std::vector block_idx_type; /// Type for block iterators typedef typename block_idx_type::const_iterator block_iterator; typedef CBlockDegreeCache cache_type; typedef typename cache_type::manager_type manager_type; cached_block_deg(const manager_type& mgr): m_current_block(block_begin(mgr)), m_deg_cache(mgr) { } typename NavigatorType::size_type operator()(NavigatorType navi) const { return dd_cached_block_degree(m_deg_cache, navi, max()); } idx_type min() const { PBORI_ASSERT(*m_current_block != 0); // assuming first element to be zero return *(m_current_block - 1); } idx_type max() const { return *m_current_block; } self& operator++(){ PBORI_ASSERT(max() != CTypes::max_idx); ++m_current_block; return *this; } self& operator--(){ PBORI_ASSERT(min() != 0); --m_current_block; return *this; } private: // block_iterator m_indices; block_iterator m_current_block; cache_type m_deg_cache; }; /** @class CTermStackBase * @brief This class defines an iterator for the monomials in a Boolean * polynomial. * **/ template class CTermStackBase: public BaseType { public: template friend class CTermStackBase; typedef CTermStackBase self; /// Get type of navigators typedef NavigatorType navigator; /// Type for indices typedef typename navigator::idx_type idx_type; /// Type for lengths typedef typename navigator::size_type size_type; typedef typename navigator::deg_type deg_type; typedef typename navigator::bool_type bool_type; /// Define type for stacking typedef std::deque stack_type; typedef typename stack_type::reference reference; typedef typename stack_type::const_reference const_reference; typedef boost::indirect_iterator const_iterator; typedef typename stack_type::const_iterator stack_iterator; typedef typename stack_type::const_reverse_iterator stack_reverse_iterator; typedef boost::indirect_iterator const_reverse_iterator; private: void pop() { m_stack.pop_back(); } protected: void push(navigator __x) { m_stack.push_back(__x); } void clear() { m_stack.clear(); } public: bool_type empty() const { return m_stack.empty(); } const_reference top() const { PBORI_ASSERT(!empty()); return m_stack.back(); } idx_type index() const { return *top(); } size_type size() const { return m_stack.size(); } const_iterator begin() const { return stackBegin(); } const_iterator end() const { return stackEnd(); } const_reverse_iterator rbegin() const { return stackRBegin(); } const_reverse_iterator rend() const { return stackREnd(); } /// Get navigator of stack start navigator navigation() const { PBORI_ASSERT(m_stack.begin() != m_stack.end()); return *m_stack.begin(); } /// result type of top() typedef typename stack_type::value_type top_type; /// Default constructor CTermStackBase(): BaseType(), m_stack() { } /// Construct from initial navigator CTermStackBase(navigator navi): BaseType(), m_stack() { if (navi.isValid()) push(navi); } /// Copy constructor CTermStackBase(const CTermStackBase& rhs): BaseType(rhs), m_stack(rhs.m_stack) { } /// Equality test (assume iterators from same instance) bool_type equal(const self& rhs) const { if(empty() || rhs.empty()) return (empty() && rhs.empty()); else return (m_stack == rhs.m_stack); } void incrementThen() { PBORI_ASSERT(!top().isConstant()); push(top()); m_stack.back().incrementThen(); } void incrementElse() { PBORI_ASSERT(!isConstant()); m_stack.back().incrementElse(); } void decrementNode() { PBORI_ASSERT(!empty()); pop(); } bool_type isConstant() const { PBORI_ASSERT(!empty()); return top().isConstant(); } bool_type isTerminated() const { PBORI_ASSERT(!empty()); return top().isTerminated(); } bool_type isInvalid() const { PBORI_ASSERT(!empty()); return top().isEmpty(); } void followThen() { PBORI_ASSERT(!empty()); while(!isConstant()) incrementThen(); } void markOne() { PBORI_ASSERT(empty()); push(navigator()); } bool_type markedOne() const { if PBORI_UNLIKELY(empty()) return false; else return !m_stack.front().isValid(); } void clearOne() { pop(); PBORI_ASSERT(empty()); } deg_type deg() const { return (markedOne()? 0: (deg_type)size()); } void restart(navigator navi) { PBORI_ASSERT(empty()); push(navi); } bool isOne() const { return markedOne(); } bool isZero() const { return empty(); } bool atBegin() const { return empty(); } bool atEnd() const { return atEnd(top()); } bool atEnd(navigator navi) const { return navi.isConstant(); } bool validEnd() const { return validEnd(top()); } bool validEnd(navigator navi) const { while(!navi.isConstant()) { navi.incrementElse(); } return navi.terminalValue(); } void print() const{ std::cout <<"("; std::copy(begin(), end(), std::ostream_iterator(std::cout, ", ")); std::cout <<")"; } stack_iterator stackBegin() const { if (markedOne()) return m_stack.end(); else return m_stack.begin(); } stack_iterator stackEnd() const { return m_stack.end(); } stack_reverse_iterator stackRBegin() const { if (markedOne()) return m_stack.rend(); else return m_stack.rbegin(); } stack_reverse_iterator stackREnd() const { return m_stack.rend(); } protected: template void append(const TermStack& rhs) { PBORI_ASSERT(empty() || rhs.empty() || ((*rhs.begin()) > (*top())) ); m_stack.insert(m_stack.end(), rhs.m_stack.begin(), rhs.m_stack.end()); } private: stack_type m_stack; navigator m_zero; }; /** @class CTermStack * @brief This class defines an iterator for the monomials in a Boolean * polynomial. * **/ template class CTermStack: public CTermStackBase { public: typedef CTermStackBase base; typedef CTermStack self; /// Defining a type for simple stacking of term elements typedef CTermStack purestack_type; typedef Category iterator_category; typedef typename base::navigator navigator; typedef typename on_same_type, handle_else >::type else_handler; else_handler handleElse; using base::incrementThen; using base::followThen; /// Default constructor CTermStack(): base() { } /// Construct from initial navigator CTermStack(navigator navi): base(navi) { } /// Copy constructor CTermStack(const CTermStack& rhs): base(rhs), handleElse(rhs.handleElse) { } /// Construct from initial navigator, third argument is just for having the /// same interface with block and degree-stacks template CTermStack(navigator navi, const Dummy&): base(navi) { } void init() { if (!base::empty()){ followThen(); terminate(); } } void initLast() { if (!base::empty()){ followElse(); terminate(); } } void incrementElse() { handleElse(base::top()); base::incrementElse(); } void next() { bool invalid = true; while (!base::empty() && invalid) { incrementElse(); if ((invalid = base::isInvalid())) base::decrementNode(); } } void previous() { previous(Category()); } void increment() { PBORI_ASSERT(!base::empty()); if PBORI_UNLIKELY(base::markedOne()) { base::clearOne(); return; } next(); if PBORI_UNLIKELY(!base::empty()) { followThen(); terminate(); } } void decrement() { if PBORI_UNLIKELY(base::markedOne()) { base::clearOne(); } previous(); if PBORI_UNLIKELY(!base::empty()){ followElse(); base::decrementNode(); } } void terminate() { PBORI_ASSERT(!base::empty()); bool isZero = base::isInvalid(); base::decrementNode(); if PBORI_UNLIKELY(base::empty() && !isZero) base::markOne(); } void followElse() { while( !base::isConstant() ) // if still in interior of a path incrementValidElse(); } void incrementValidElse() { PBORI_ASSERT(!base::empty() && !base::isConstant()); if(!base::top().elseBranch().isEmpty()) incrementElse(); // go in direction of last term, if possible else incrementThen(); } protected: template void append(const TermStack& rhs) { base::append(rhs); append(rhs, Category()); } private: void previous(std::forward_iterator_tag); void previous(std::bidirectional_iterator_tag); template void append(const TermStack&, std::forward_iterator_tag){} template void append(const TermStack& rhs, std::bidirectional_iterator_tag){ handleElse.append(rhs.handleElse); } }; template inline void CTermStack::previous( std::forward_iterator_tag) { } template inline void CTermStack::previous( std::bidirectional_iterator_tag) { if(handleElse.empty()) { base::clear(); return; } navigator navi = handleElse.top(); PBORI_ASSERT(base::empty() || base::top().isValid()); while(!base::empty() && (base::index() >= *navi) ) { base::decrementNode(); } handleElse.pop(); base::push(navi); incrementThen(); } /** @class CReverseTermStack * @brief This class defines an iterator for the monomials in a Boolean * polynomial in reversed lexicographicxal order. * **/ template class CReverseTermStack: public CTermStack { public: typedef NavigatorType navigator; typedef CTermStack base; /// Default constructor CReverseTermStack(): base() { } /// Construct from initial navigator CReverseTermStack(navigator navi): base(navi) { } /// Copy constructor CReverseTermStack(const CReverseTermStack& rhs): base(rhs) { } /// Construct from initial navigator, second argument is just for having the /// same interface with block and degree-stacks template CReverseTermStack(navigator navi, const Dummy&): base(navi) { } void init() { base::initLast(); } void initLast() { base::init(); } void increment() { base::decrement(); } void decrement() { base::increment(); } }; template class CDegStackCore; /// @brief for pure degree stacks template class CDegStackCore: public CTermStack { public: typedef CTermStack base; typedef NavigatorType navigator; typedef typename cached_deg::manager_type manager_type; // CDegStackCore(): base(), getDeg(manager_type()) {} CDegStackCore(navigator navi, const manager_type& mgr): base(navi), getDeg(mgr) {} CDegStackCore(const CDegStackCore& rhs): base(rhs), getDeg(rhs.getDeg) {} void gotoEnd() { PBORI_ASSERT(!base::empty()); while(!base::isConstant()) { base::incrementElse(); } } cached_deg getDeg; }; /// @brief for block stacks template class CDegStackCore : public CTermStack { public: typedef CTermStack base; typedef NavigatorType navigator; typedef typename base::idx_type idx_type; typedef typename base::deg_type deg_type; typedef typename base::size_type size_type; typedef typename cached_block_deg::manager_type manager_type; // CDegStackCore(): base(), block(manager_type()) {} CDegStackCore(navigator navi, const manager_type& mgr): base(navi), block(mgr) {} CDegStackCore(const CDegStackCore& rhs): base(rhs), block(rhs.block) {} deg_type getDeg(navigator navi) const { return block(navi); } bool atBegin() const { return base::empty() || (base::index() < block.min()); } bool atEnd() const { return atEnd(base::top()); } bool atEnd(navigator navi) const { return navi.isConstant() || (*navi >= block.max()); } bool validEnd() const{ return validEnd(base::top()); } bool validEnd(navigator navi) const { while(!atEnd(navi)) navi.incrementElse(); return (navi.isConstant()? navi.terminalValue(): *navi >= block.max()); } void next() { bool invalid = true; while (!atBegin() && invalid) { PBORI_ASSERT(!base::isConstant()); base::incrementElse(); if ((invalid = base::isInvalid())) base::decrementNode(); } } void previous() { if( base::handleElse.empty() || (*base::handleElse.top() < block.min()) ) { while(!atBegin()) base::decrementNode(); return; } navigator navi = base::handleElse.top(); PBORI_ASSERT(base::top().isValid()); while(!atBegin() && (base::index() >= *navi) ) { base::decrementNode(); } if (base::empty() || (base::index() < *navi)) { base::handleElse.pop(); base::push(navi); } base::incrementThen(); } void gotoEnd() { PBORI_ASSERT(!base::empty()); while( (!base::isConstant()) && (base::index() < block.max()) ) { base::incrementElse(); } } protected: cached_block_deg block; }; template class CDegStackBase; template class CDegStackBase: public CDegStackCore { public: typedef CDegStackCore base; typedef typename base::size_type size_type; typedef typename base::deg_type deg_type; typedef std::greater size_comparer; typedef typename base::manager_type manager_type; // CDegStackBase(): base() {} CDegStackBase(NavigatorType navi, const manager_type& mgr): base(navi, mgr) {} CDegStackBase(const CDegStackBase& rhs): base(rhs) {} integral_constant takeLast; void proximate() { base::next(); } void incrementBranch() { base::incrementThen(); } bool maxOnThen(deg_type deg) const { return (base::getDeg(base::top().thenBranch()) + 1 == deg); } }; template class CDegStackBase: public CDegStackCore { public: typedef CDegStackCore base; typedef typename base::size_type size_type; typedef typename base::deg_type deg_type; typedef std::greater_equal size_comparer; typedef typename base::manager_type manager_type; // CDegStackBase(): base() {} CDegStackBase(NavigatorType navi, const manager_type& mgr): base(navi, mgr) {} CDegStackBase(const CDegStackBase& rhs): base(rhs) {} integral_constant takeLast; void proximate() { base::previous(); } void incrementBranch() { base::incrementValidElse(); } bool maxOnThen(deg_type deg) const { return !(base::getDeg(base::top().elseBranch()) == deg); } }; template class CDegTermStack: public CDegStackBase { public: typedef CDegStackBase base; typedef CDegTermStack self; typedef typename base::navigator navigator; typedef typename navigator::size_type size_type; typedef typename navigator::deg_type deg_type; typedef typename base::manager_type manager_type; // CDegTermStack(): base(), m_start() {} CDegTermStack(navigator navi, const manager_type& mgr): base(navi, mgr), m_start(navi), m_zero(mgr.zero().navigation()) {} CDegTermStack(const CDegTermStack& rhs): base(rhs), m_start(rhs.m_start), m_zero(rhs.m_zero) {} void init() { if (!base::empty()) { followDeg(); base::terminate(); } } void followDeg() { PBORI_ASSERT(!base::empty()); deg_type deg = base::getDeg(base::top()); while (deg > 0) { if ( base::maxOnThen(deg) ) { --deg; base::incrementThen(); } else base::incrementElse(); } } void increment() { PBORI_ASSERT(!base::empty()); if (base::markedOne()) { base::clearOne(); return; } size_type upperbound = base::size(); degTerm(); if(base::empty()) { restart(); findTerm(upperbound); } if(!base::empty()) base::terminate(); } void degTerm() { size_type size = base::size() + 1; PBORI_ASSERT(!base::isConstant()); bool doloop; do { PBORI_ASSERT(!base::empty()); base::proximate(); if (base::atBegin()) return; while (!base::atEnd() && (base::size() < size) ) { base::incrementBranch(); } base::gotoEnd(); if ((doloop = (base::isInvalid() || (base::size() != size)) ) ) base::decrementNode(); } while (!base::empty() && doloop); } void decrement() {} void findTerm(size_type upperbound) { PBORI_ASSERT(!base::empty()); typename base::purestack_type max_elt, current(base::top()); base::decrementNode(); typename base::size_comparer comp; while (!current.empty() && (base::takeLast() || (max_elt.size() != upperbound)) ) { while (!base::atEnd(current.top()) && (current.size() < upperbound) ) current.incrementThen(); if (base::validEnd(current.top())) { if (comp(current.size(), max_elt.size())) max_elt = current; current.decrementNode(); } current.next(); } base::append(max_elt); if(max_elt.empty()) invalidate(); } void restart() { base::restart(m_start); } void invalidate() { PBORI_ASSERT(m_zero.isValid()); PBORI_ASSERT(m_zero.isEmpty()); base::push(m_zero); } private: navigator m_start, m_zero; }; ////////////////////////////////////////////////////////// template class CBlockTermStack: public CDegTermStack { public: typedef CDegTermStack base; typedef CBlockTermStack self; typedef typename base::navigator navigator; typedef typename navigator::size_type size_type; typedef typename navigator::idx_type idx_type; typedef typename base::manager_type manager_type; /// Construct stack from navigator CBlockTermStack(navigator navi, const manager_type& mgr): base(navi, mgr) { } /// Copy constructor CBlockTermStack(const CBlockTermStack& rhs): base(rhs) { } void init() { if (!base::empty()) { followDeg(); base::terminate(); } } void increment() { PBORI_ASSERT(!base::empty()); if (base::markedOne()) { base::clearOne(); return; } navigator current = base::top(); while (*current < base::block.min()) --base::block; incrementBlock(); while ( (base::size() > 1 ) && base::isInvalid() ) { --base::block; base::decrementNode(); incrementBlock(); } followDeg(); PBORI_ASSERT(!base::empty()); base::terminate(); } void followBlockDeg() { base::followDeg(); } void followDeg() { PBORI_ASSERT(base::top().isValid()); if (!base::isConstant() ) followBlockDeg(); while (!base::isConstant() ) { ++base::block; followBlockDeg(); } } void incrementBlock() { PBORI_ASSERT(!base::empty()); size_type size = base::size() + 1; if (base::index() < base::block.min()) { base::invalidate(); return; } base::degTerm(); if (base::size() == size) return; if (base::empty()) base::restart(); else { PBORI_ASSERT(base::index() < base::block.min()); base::incrementThen(); } while (!base::isConstant() && (base::index() < base::block.min())) base::incrementElse(); PBORI_ASSERT(size > base::size()); base::findTerm(size - base::size()); base::gotoEnd(); } }; END_NAMESPACE_PBORI #endif BRiAl-1.2.12/libbrial/include/polybori/iterators/CVariableIter.h000066400000000000000000000040731436062512100244350ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file CVariableIter.h * * @author Alexander Dreyer * @date 2008-03-05 * * This file defines an stl-like iterator for accessing the variables of monomial. * * @par Copyright: * (c) 2008 by The PolyBoRi Team **/ //***************************************************************************** #ifndef polybori_iterators_CVariableIter_h_ #define polybori_iterators_CVariableIter_h_ // include basic definitions #include BEGIN_NAMESPACE_PBORI /** @class CVariableIter * @brief This template class defines an iterator for monomial types. * * It uses a given iterator, and converts indices to Boolean variables (via a * given ring). **/ template class CVariableIter : public boost::iterator_facade< CVariableIter, VariableType, typename Iterator::iterator_category, VariableType > { public: /// Fixing Iterator type to be extended typedef Iterator iterator_type; /// Fixing variables, which is used for dereferencing typedef VariableType var_type; /// Fixing ring, which is used to generate variables typedef typename var_type::ring_type ring_type; /// Get type of *this typedef CVariableIter self; /// Default constructor CVariableIter(): m_iter(), m_ring() {} /// Constructor for given iterator (and ring) CVariableIter(const iterator_type& rhs, const ring_type& ring): m_iter(rhs), m_ring(ring) {} /// Check, whether end of iteration is reached bool isEnd() const { return m_iter.isEnd(); } /// Increment operation void increment() { ++m_iter; } /// Constant dereference operator var_type dereference() const { return var_type(*m_iter, m_ring); } /// Equality check bool equal(const self& rhs) const { return m_iter == rhs.m_iter; } private: /// The actual iterator iterator_type m_iter; /// The ring, we take the variables from ring_type m_ring; }; END_NAMESPACE_PBORI #endif // CVariableIter_h_ BRiAl-1.2.12/libbrial/include/polybori/iterators/PBoRiOutIter.h000066400000000000000000000042031436062512100242430ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file PBoRiOutIter.h * * @author Alexander Dreyer * @date 2006-04-21 * * This file contains the definition of the class PBoRiOutIter * * @par Copyright: * (c) 2006 by The PolyBoRi Team **/ //***************************************************************************** #ifndef polybori_iterators_PBoRiOutIter_h_ #define polybori_iterators_PBoRiOutIter_h_ // include basic definitions #include BEGIN_NAMESPACE_PBORI /** @class PBoRiOutIter * @brief This template class defines an output iterator * which interprets assignments of indices as a change of given data wrt. a * given binary operation. * **/ template class PBoRiOutIter { public: /// Data type typedef DataType data_type; /// Type of right-hand side typedef RhsType rhs_type; /// Type of binary operation used to transform data and rhs typedef BinOp op_type; /// Type of *this typedef PBoRiOutIter self; /// @name Interface types for standard iterator access //@{ typedef std::output_iterator_tag iterator_category; typedef void difference_type; typedef void pointer; typedef void reference; typedef void value_type; //@} /// Constructor PBoRiOutIter(data_type& data_, op_type op_ = op_type()): data(data_), op(op_) {} /// Copy constructor PBoRiOutIter(const self& rhs): data(rhs.data), op(rhs.op) {} /// Destructor ~PBoRiOutIter() {} /// Dereference operator /// @note *this is used as proxy reference self& operator*() { return *this; } /// Assignment self& operator=(const self& rhs) { data = rhs.data; op = rhs.op; return *this; } /// Assignment of index calls for change of that index in the monomial self& operator=(rhs_type rhs){ op(data, rhs); return *this; } /// Prefix increment operator self& operator++() { return *this; } /// Postfix increment operator self operator++(int) { return *this; } protected: data_type& data; op_type op; }; END_NAMESPACE_PBORI #endif BRiAl-1.2.12/libbrial/include/polybori/iterators/TransformedIterator.h000066400000000000000000000043121436062512100257530ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file TransformedIterator.h * * @author Alexander Dreyer * @date 2012-01-19 * * This file includes the definition of the class @c TransformedSequence. * * @par Copyright: * (c) 2012 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_iterators_TransformedIterator_h_ #define polybori_iterators_TransformedIterator_h_ // include basic definitions #include #include #include BEGIN_NAMESPACE_PBORI template class UnaryOperatorTraits { public: typedef typename UnaryFunc::result_type result_type; typedef typename UnaryFunc::argument_type argument_type; }; template class UnaryOperatorTraits { public: typedef ResultType result_type; typedef ArgType argument_type; }; /** @class TransformedIterator * @brief This class defines the iterator of Trnasformed sequence. * * It store changes a given iterator by transforming the dereference value * using a unary functional. **/ template class TransformedIterator: public boost::iterator_facade< TransformedIterator, typename UnaryOperatorTraits::result_type, std::forward_iterator_tag, typename UnaryOperatorTraits::result_type > { typedef IteratorType iterator; typedef TransformedIterator self; public: typedef OperatorType operator_type; typedef typename operator_type::result_type result_type; /// Construct from given iterator and unary functional TransformedIterator(iterator iter, const operator_type& func): m_iter(iter), m_func(func) { } /// Increment operation void increment() { ++m_iter; } /// Constant dereference operator result_type dereference() const { return m_func(*m_iter); } /// Equality check bool equal(const self& rhs) const { return m_iter == rhs.m_iter; } private: iterator m_iter; const operator_type& m_func; }; END_NAMESPACE_PBORI #endif /* polybori_TransformedIterator_h_ */ BRiAl-1.2.12/libbrial/include/polybori/literals/000077500000000000000000000000001436062512100214075ustar00rootroot00000000000000BRiAl-1.2.12/libbrial/include/polybori/literals/CLiteralCodes.h000066400000000000000000000020761436062512100242420ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file CLiteralCodes.h * * @author Alexander Dreyer * @date 2006-07-04 * * This file contains a class for codes representing string literals. * * @par Copyright: * (c) 2006 by The PolyBoRi Team **/ //***************************************************************************** #ifndef polybori_literals_CLiteralCodes_h_ #define polybori_literals_CLiteralCodes_h_ // include basic definitions #include BEGIN_NAMESPACE_PBORI /** @class CLiteralCodes * @brief This template class defines enumerative codes for the string literals * defined by the CStringLiterals class. **/ class CLiteralCodes { public: /// Define codes representing string literals enum literal_codes { first_code = 0, empty = first_code, space, plus, term_separator, times, comma, list_separator, default_variable_name, variable_head, variable_tail, between_list_separator, last_code }; }; END_NAMESPACE_PBORI #endif BRiAl-1.2.12/libbrial/include/polybori/literals/CStringLiteral.h000066400000000000000000000035371436062512100244560ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file CStringLiteral.h * * @author Alexander Dreyer * @date 2006-07-04 * * This file contains a template class for accessing predefined string literals. * * @par Copyright: * (c) 2006 by The PolyBoRi Team **/ //***************************************************************************** #ifndef polybori_literals_CStringLiteral_h_ #define polybori_literals_CStringLiteral_h_ // include basic definitions #include // get standard string capability #include // get literal codes (enumeration) #include "CLiteralCodes.h" BEGIN_NAMESPACE_PBORI /** @class CStringLiteral * @brief This template class defines string literals corresponding to the codes * enumerated in the class CLiteralCodes. * **/ template class CStringLiteral { public: /// Type for string literals typedef std::string literal_type; /// Default constructor CStringLiteral() {}; /// Destructor ~CStringLiteral() {}; /// Return string literal depending on LitCode literal_type operator()() const; }; #define GENERATE_CSTRINGLITERAL(CODE, STRING) \ template <> inline CStringLiteral<>::literal_type \ CStringLiteral::operator()() const{ return STRING; } GENERATE_CSTRINGLITERAL(empty, "") GENERATE_CSTRINGLITERAL(space, " ") GENERATE_CSTRINGLITERAL(plus, "+") GENERATE_CSTRINGLITERAL(term_separator, " + ") GENERATE_CSTRINGLITERAL(times, "*") GENERATE_CSTRINGLITERAL(comma, ",") GENERATE_CSTRINGLITERAL(list_separator, ", ") GENERATE_CSTRINGLITERAL(default_variable_name, "x") GENERATE_CSTRINGLITERAL(variable_head, "(") GENERATE_CSTRINGLITERAL(variable_tail, ")") GENERATE_CSTRINGLITERAL(between_list_separator, "}, {") #undef GENERATE_CSTRINGLITERAL END_NAMESPACE_PBORI #endif BRiAl-1.2.12/libbrial/include/polybori/orderings/000077500000000000000000000000001436062512100215645ustar00rootroot00000000000000BRiAl-1.2.12/libbrial/include/polybori/orderings/CBlockOrderingFacade.h000066400000000000000000000103371436062512100256540ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file CBlockOrderingFacade.h * * @author Ket Shcherbakova, Alexander Dreyer * @date 2011-01-11 * * Defines generic classes for block ordering management for polynomial rings. * * @par Copyright: * (c) 2006-2010 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_orderings_CBlockOrderingFacade_h_ #define polybori_orderings_CBlockOrderingFacade_h_ #include "COrderingFacade.h" BEGIN_NAMESPACE_PBORI /** @class CBlockOrderingFacade * @brief This class implements block orderings for COrderingFacade. * OrderType must inherit from COrderingFacade. */ template class CBlockOrderingFacade: public COrderingFacade { typedef CBlockOrderingFacade self; typedef COrderingFacade base_type; public: /// *this is to be used as base for @c OrderType only typedef self base; /// @name Declare template argument-dependent types //@{ typedef typename base_type::order_lead_tag order_lead_tag; typedef typename base_type::poly_type poly_type; typedef typename base_type::monom_type monom_type; typedef typename base_type::exp_type exp_type; typedef typename base_type::deg_type deg_type; typedef typename base_type::set_type set_type; typedef typename base_type::comp_type comp_type; //@} /// Default Constructor CBlockOrderingFacade(): base_type(), m_indices() { m_indices.push_back(0); m_indices.push_back(CTypes::max_index()); }; /// Copy Constructor CBlockOrderingFacade(const self& rhs): base_type(rhs), m_indices(rhs.m_indices) {}; /// Destructor ~CBlockOrderingFacade() = 0; /// @name interface for block orderings //@{ COrderingBase::block_iterator blockBegin() const { return m_indices.begin() + 1; } COrderingBase::block_iterator blockEnd() const { return m_indices.end(); } void appendBlock(COrderingBase::checked_idx_type idx) { // by checked_idx_type idx should always be <= max(int) (== blockEnd() - 1) PBORI_ASSERT(idx <= *(blockEnd() - 1)); if PBORI_UNLIKELY((idx >= CTypes::max_index()) || (idx <= *(blockEnd() - 2))) throw std::runtime_error("Blocks must be positive and have to be " "added in a strictly increasing order."); m_indices.back() = idx; m_indices.push_back(CTypes::max_index()); } void clearBlocks() { m_indices.clear(); m_indices.push_back(0); m_indices.push_back(CTypes::max_index()); } //@} /// generic block lead monom_type lead(const poly_type& poly) const { CBlockDegreeCache blockDegCache(poly.ring()); CacheManager cache_mgr(poly.ring()); typename base_type::descending_property descending; return base_type::monom( dd_block_degree_lead(cache_mgr, blockDegCache, poly.navigation(), m_indices.begin(), set_type(poly.ring()), descending) ); } /// Leading monomial with bound (just the ordinary leading monomial) /// @note falls back to @c lead, ignores second argument monom_type lead(const poly_type& poly, deg_type) const { return lead(poly); } /// Extraction of leading exponent - just using lead exp_type leadExp(const poly_type& poly) const { return lead(poly).exp(); } /// Leading exponent with bound (just the ordinary leading monomial) /// @note falls back to @c leadExp, ignores second argument exp_type leadExp(const poly_type& poly, deg_type) const { return leadExp(poly); } protected: /// Comparison of monomials/expoinents template template comp_type compare_terms(const TermType& lhs, const TermType& rhs, const BinOpType& idx_comparer) const { return block_dlex_compare(lhs.begin(), lhs.end(),rhs.begin(), rhs.end(), blockBegin(), blockEnd(), idx_comparer); } /// index data COrderingBase::block_idx_type m_indices; }; template inline CBlockOrderingFacade::~CBlockOrderingFacade() {} END_NAMESPACE_PBORI #endif BRiAl-1.2.12/libbrial/include/polybori/orderings/COrderingBase.h000066400000000000000000000125011436062512100244030ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file COrderingBase.h * * @author Alexander Dreyer * @date 2006-05-23 * * Defines base class for ordering management for polynomial rings. * * @par Copyright: * (c) 2006-2010 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_orderings_COrderingBase_h_ #define polybori_orderings_COrderingBase_h_ // include basic definitions #include #include #include #include #include #include #include #include BEGIN_NAMESPACE_PBORI class BoolePolynomial; class BooleMonomial; class BooleExponent; class CCuddNavigator; /** @class COrderingBase * This class is the base of all PolyBoRi orderings. * * It can be used as an abstract base for runtime-selectable orderings. **/ class COrderingBase: public CTypes::auxtypes_type { /// Type of *this typedef COrderingBase self; // an empty vector to be able to return valid iterators in the implementation of blockBegin()/blockEnd() static const std::vector empty; public: /// @name Adopt polynomial type definitions //@{ typedef BoolePolynomial poly_type; typedef BooleMonomial monom_type; typedef CCuddNavigator navigator; typedef BooleExponent exp_type; typedef COrderedIter ordered_iterator; typedef COrderedIter ordered_exp_iterator; //@} /// Check index on input typedef CCheckedIdx checked_idx_type; /// Type for block indices typedef std::vector block_idx_type; /// Type for block iterators typedef block_idx_type::const_iterator block_iterator; /// Type of Boolean sets typedef BooleSet set_type; /// Default constructor COrderingBase() { } // Destructor virtual ~COrderingBase() = 0; /// Comparison of monomials virtual comp_type compare(idx_type, idx_type) const = 0; virtual comp_type compare(const monom_type&, const monom_type&) const = 0; virtual comp_type compare(const exp_type&, const exp_type&) const = 0; /// Get leading term virtual monom_type lead(const poly_type&) const = 0; /// Get leading term (using upper bound) virtual monom_type lead(const poly_type&, deg_type) const = 0; /// Get leading exponent virtual exp_type leadExp(const poly_type&) const = 0; /// Get leading exponent (using upper bound) virtual exp_type leadExp(const poly_type&, deg_type) const = 0; /// Generates polynomial with leading term first (other terms may be skipped) virtual poly_type leadFirst(const poly_type&) const = 0; /// Check whether ring is lexicographical virtual bool_type isLexicographical() const = 0; /// Test whether iterators respect order virtual bool_type orderedStandardIteration() const = 0; /// Test whether variable pertubation do not change the order virtual bool_type isSymmetric() const = 0; /// Test whether we deal with a degree-ordering virtual bool_type isDegreeOrder() const = 0; /// Test whether we deal with a block-ordering virtual bool_type isBlockOrder() const = 0; /// Test whether we deal with a total degree-ordering virtual bool_type isTotalDegreeOrder() const = 0; /// Test whether variables are in ascending order virtual bool_type ascendingVariables() const = 0; /// Test whether variables are in descending order virtual bool_type descendingVariables() const = 0; /// Test whether ordering is deg-rev-lex ordering virtual bool_type isDegreeReverseLexicographical() const = 0; /// Initialize iterator corresponding to leading term virtual ordered_iterator leadIteratorBegin(const poly_type&) const = 0; /// End marker for iterator corresponding to leading term virtual ordered_iterator leadIteratorEnd(const poly_type&) const = 0; /// Initialize exponent iterator corresponding to leading term virtual ordered_exp_iterator leadExpIteratorBegin(const poly_type&) const = 0; /// End marker for exponent iterator corresponding to leading term virtual ordered_exp_iterator leadExpIteratorEnd(const poly_type&) const = 0; /// Get numerical code for ordering virtual ordercode_type getOrderCode() const = 0; /// Get numerical code for base ordering (the same for non-block orderings) virtual ordercode_type getBaseOrderCode() const = 0 ; /// @name interface for block orderings //@{ virtual block_iterator blockBegin() const { return empty.begin(); } virtual block_iterator blockEnd() const { return empty.end(); } virtual void appendBlock(checked_idx_type) {} virtual void clearBlocks() {} //@} /// Check, whether two indices are in the same block /// (true for nonblock orderings) virtual bool_type lieInSameBlock(idx_type, idx_type) const = 0; /// Generic procedure to get index, where last block starts virtual idx_type lastBlockStart() const = 0; protected: /// Get monomial from set of subsets of Boolean variables (internal use only) monom_type monom(const set_type& rhs) const { if PBORI_UNLIKELY(rhs.isZero()) throw PBoRiGenericError(); return monom_type(rhs); } }; inline COrderingBase::~COrderingBase() { } END_NAMESPACE_PBORI #endif BRiAl-1.2.12/libbrial/include/polybori/orderings/COrderingFacade.h000066400000000000000000000142301436062512100246750ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file COrderingFacade.h * * @author Alexander Dreyer * @date 2006-05-23 * * Defines generic classes for ordering management for polynomial rings. * * @par Copyright: * (c) 2006-2010 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_orderings_COrderingFacade_h_ #define polybori_orderings_COrderingFacade_h_ // include basic definitions #include #include #include #include #include "COrderingBase.h" #include "COrderingTags.h" #include // include ordering tags #include #include "order_traits.h" // include polybori functionals #include BEGIN_NAMESPACE_PBORI /** @class COrderingFacade * @brief This class initialize the interface for orderings of * CDynamicOrderBase for a given OrderType. OrderType must inherit from * COrderingFacade. */ template class COrderingFacade: public COrderingBase, public COrderingTags, public order_traits { /// Name type of *this typedef COrderingFacade self; /// Actual base type typedef COrderingBase base_type; public: /// *this is to be used as base for @c OrderType only typedef self base; /// Variable ordering definiton functional type typedef OrderType order_type; /// Tag for for leading monomial cache typedef CCacheTypes::lead_tag order_lead_tag; typedef COrderingTags ordering_tags; /// Construct new decision diagramm manager COrderingFacade(): base_type() { } /// Construct new decision diagramm manager COrderingFacade(const self& rhs): base_type(rhs) { } /// Destructor ~COrderingFacade() { } /// Generates polynomial with leading term first (other terms may be skipped) poly_type leadFirst(const poly_type& poly) const { if(orderedStandardIteration()) return poly; else return lead(poly); } /// Check whether ring is lexicographical bool_type isLexicographical() const { return is_valid::result; } /// Test whether iterators respect order bool_type orderedStandardIteration() const { return is_valid::result; } /// Test whether variable pertubation do not change the order bool_type isSymmetric() const { return is_valid::result; } /// Test whether we deal with a degree-ordering bool_type isDegreeOrder() const { return is_valid::result; } /// Test whether we deal with a degree-ordering bool_type isBlockOrder() const { return is_valid::result; } /// Test whether we deal with a total degree-ordering bool_type isTotalDegreeOrder() const { return is_valid::result; } /// Test whether ordering is deg-rev-lex ordering bool_type isDegreeReverseLexicographical() const { return is_valid::result; } /// Test whether variables are in ascending order bool_type ascendingVariables() const { return is_valid::result; } /// Test whether variables are in descending order bool_type descendingVariables() const { return is_valid::result; } /// Get numerical code for ordering ordercode_type getOrderCode() const { return order_traits::order_code; } /// Get numerical code for base ordering (the same for non-block orderings) ordercode_type getBaseOrderCode() const { return order_traits::baseorder_code; } /// Check, whether two indices are in the same block /// (true for nonblock orderings) bool_type lieInSameBlock(idx_type first, idx_type second) const { return inSameBlockInternal(first, second, typename ordering_tags::blockorder_property()); } /// Generic procedure to get index, where last block starts idx_type lastBlockStart() const { if (isBlockOrder()) { return *(blockEnd() - 2); } else if (isLexicographical()) { return CTypes::max_idx; } return 0; } // Initialize iterator corresponding to leading term ordered_iterator leadIteratorBegin(const poly_type& poly) const { return CGenericOrderedIter(poly.navigation(), poly.ring()); } ordered_iterator leadIteratorEnd(const poly_type& poly) const { return CGenericOrderedIter(navigator(), poly.ring()); } // Initialize iterator corresponding to leading term ordered_exp_iterator leadExpIteratorBegin(const poly_type& poly) const { return CGenericOrderedIter(poly.navigation(), poly.ring()); } ordered_exp_iterator leadExpIteratorEnd(const poly_type& poly) const { return CGenericOrderedIter(navigator(), poly.ring()); } protected: /// trivial case for non-block orderings bool_type inSameBlockInternal(idx_type, idx_type, invalid_tag) const { // not a block order return true; } /// complicated case for block orderings bool_type inSameBlockInternal(idx_type first, idx_type second, valid_tag) const { // is block order // todo: throw here if first,second >=CTypes::max_idx if(PBORI_UNLIKELY(first > CTypes::max_idx || second > CTypes::max_idx || first < 0 || second < 0)) throw std::runtime_error("Variable index out of range."); if (second < first) std::swap(first, second); block_iterator upper(blockBegin()); while (first >= *upper) // Note: convention, last element is max_idx ++upper; return (second < *upper); } }; END_NAMESPACE_PBORI #endif BRiAl-1.2.12/libbrial/include/polybori/orderings/COrderingTags.h000066400000000000000000000051721436062512100244350ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file COrderingTags.h * * @author Alexander Dreyer * @date 2010-08-10 * * Template class, which is a base for classes, which define ordering tags and * properties. * * @par Copyright: * (c) 2010 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_orderings_COrderingTags_h_ #define polybori_orderings_COrderingTags_h_ // include basic definitions #include // include basic definitions for tags #include #include "order_tags.h" BEGIN_NAMESPACE_PBORI /** @class COrderingTags * @brief This tempalte class is base for classes which define ordering tags and * properties. * **/ template ::type > class COrderingTagsBase { public: typedef OrderTag order_tag; typedef LexProp lex_property; typedef OrderedProp ordered_property; typedef SymmetryProp symmetry_property; typedef DegOrderProp degorder_property; typedef BlockOrderProp blockorder_property; typedef TotelDegOrderProp totaldegorder_property; typedef typename invert_tag::type ascending_property; typedef typename and_tag::type degrevlexorder_property; typedef DescendingProp descending_property; }; template class CDegreeOrderingTags: public COrderingTagsBase { }; template class CBlockDegreeOrderingTags: public COrderingTagsBase { }; template class COrderingTags; template <> class COrderingTags: public COrderingTagsBase { }; template <> class COrderingTags: public CDegreeOrderingTags { }; template <> class COrderingTags: public CDegreeOrderingTags { }; template <> class COrderingTags: public CBlockDegreeOrderingTags { }; template <> class COrderingTags: public CBlockDegreeOrderingTags { }; END_NAMESPACE_PBORI #endif BRiAl-1.2.12/libbrial/include/polybori/orderings/order_tags.h000066400000000000000000000021651436062512100240720ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file order_tags.h * * @author Alexander Dreyer * @date 2006-07-20 * * Decribes properties of polybori ordering classes * * @par Copyright: * (c) 2006 by The PolyBoRi Team **/ //***************************************************************************** #ifndef polybori_orderings_order_tags_h_ #define polybori_orderings_order_tags_h_ // include basic definitions #include BEGIN_NAMESPACE_PBORI /**@class lex_tag * @brief Marker for lex ordering. **/ struct lex_tag {}; /**@class dlex_tag * @brief Marker for deg-lex ordering. **/ struct dlex_tag {}; /**@class dp_asc_tag * @brief Marker for ascending deg-rev-lex ordering. **/ struct dp_asc_tag {}; /**@class block_tag * @brief Marker for block orderings. **/ template struct block_tag {}; /// Marker for block deg-lex ordering. typedef block_tag block_dlex_tag; /// Marker for ascending block deg-rev-lex ordering. typedef block_tag block_dp_asc_tag; END_NAMESPACE_PBORI #endif // order_tags_h_ BRiAl-1.2.12/libbrial/include/polybori/orderings/order_traits.h000066400000000000000000000030671436062512100244440ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file order_traits.h * * @author Alexander Dreyer * @date 2006-07-20 * * File retired, but kept for future use. * * @par Copyright: * (c) 2006 by The PolyBoRi Team **/ //***************************************************************************** #ifndef polybori_orderings_order_traits_h_ #define polybori_orderings_order_traits_h_ // include basic definitions #include // include ordering tags #include "order_tags.h" BEGIN_NAMESPACE_PBORI template struct order_traits_code; template <> struct order_traits_code { enum {order_code = CTypes::lp}; }; template <> struct order_traits_code { enum {order_code = CTypes::dlex}; }; template <> struct order_traits_code { enum {order_code = CTypes::dp_asc}; }; template <> struct order_traits_code { enum {order_code = CTypes::block_dlex}; }; template <> struct order_traits_code { enum {order_code = CTypes::block_dp_asc}; }; template class order_traits; template class order_traits > { public: enum { order_code = order_traits_code >::order_code, baseorder_code = order_traits_code::order_code }; }; template class order_traits { public: enum { order_code = order_traits_code::order_code, baseorder_code = order_code }; }; END_NAMESPACE_PBORI #endif // order_traits_h_ BRiAl-1.2.12/libbrial/include/polybori/orderings/pbori_order.h000066400000000000000000000036411436062512100242470ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file pbori_order.h * * @author Alexander Dreyer * @date 2006-05-23 * * * * @par Copyright: * (c) 2006 by The PolyBoRi Team **/ //***************************************************************************** #ifndef polybori_orderings_pbori_order_h_ #define polybori_orderings_pbori_order_h_ // include basic definitions #include // Get infrastructure for dynamic orderings #include "COrderingBase.h" // get all available orderings #include #include #include #include #include BEGIN_NAMESPACE_PBORI inline std::shared_ptr get_ordering(CTypes::ordercode_type order) { typedef std::shared_ptr order_ptr; if(order == CTypes::lp) return order_ptr(new LexOrder); else if(order == CTypes::dlex) return order_ptr(new DegLexOrder); else if(order == CTypes::dp_asc) return order_ptr(new DegRevLexAscOrder); else if(order == CTypes::block_dlex) return order_ptr(new BlockDegLexOrder); else if(order == CTypes::block_dp_asc) return order_ptr(new BlockDegRevLexAscOrder); // default is lex order return order_ptr(new LexOrder); } /// @class lex_compare_predicate /// @brief defines lexicographic comparison functor template class lex_compare_predicate { public: /// Constructor lex_compare_predicate(const BinaryPredicate& comp): m_comp(comp) {} /// Functor operation bool operator()(const LhsType& lhs, const RhsType& rhs) const { return std::lexicographical_compare(lhs.begin(), lhs.end(), rhs.begin(), rhs.end(), m_comp); } private: BinaryPredicate m_comp; }; END_NAMESPACE_PBORI #endif BRiAl-1.2.12/libbrial/include/polybori/pbori_defs.h000066400000000000000000000167271436062512100220720ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file pbori_defs.h * * @author Alexander Dreyer * @date 2006-03-06 * * This file defines some types, macros and other settings to be used with * the polybori library. * * @note Uses c++ namespace if @c PBORI_NO_NAMESPACES is undefined. * * @par Copyright: * (c) 2006-2010 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_pbori_defs_h_ #define polybori_pbori_defs_h_ #include #include /// @note PolyBoRi comes with a special copy of Cudd #include #include "config.h" #ifndef PBORI_UNIQUE_SLOTS # define PBORI_UNIQUE_SLOTS CUDD_UNIQUE_SLOTS // initial size of subtables #endif #ifndef PBORI_CACHE_SLOTS # define PBORI_CACHE_SLOTS CUDD_CACHE_SLOTS // default size of the cache #endif #ifndef PBORI_MAX_MEMORY # define PBORI_MAX_MEMORY 0 // target maximum memory occupation // if PBORI_MAX_MEMORY == 0 then // guess based on the available memory #endif /// For optimizing if-branches #ifdef __GNUC__ #ifndef PBORI_LIKELY #define PBORI_LIKELY(expression) (__builtin_expect(!!(expression), 1)) #endif #ifndef PBORI_UNLIKELY #define PBORI_UNLIKELY(expression) (__builtin_expect(!!(expression), 0)) #endif #else #ifndef PBORI_LIKELY #define PBORI_LIKELY(expression) (expression) #endif #ifndef PBORI_UNLIKELY #define PBORI_UNLIKELY(expression) (expression) #endif #endif /// Name the project #define PBORINAME polybori /// Define deverloper's mode #ifndef PBORI_NO_DEVELOPER # define PBORI_DEVELOPER #endif #ifndef PBORI_NO_NAMESPACES /// Start project's namespace # define BEGIN_NAMESPACE_PBORI namespace PBORINAME { /// Finish project's namespace # define END_NAMESPACE_PBORI } // end of namespace /// Use project's namespace # define USING_NAMESPACE_PBORI using namespace PBORINAME; /// Access something in project's namespace using PBORI:: # define PBORI PBORINAME /// Using something from project's namespace # define USING_PBORI using PBORI /// Start some namespace # define PBORI_BEGIN_NAMESPACE( sub_space ) namespace sub_space { /// Finish some namespace # define PBORI_END_NAMESPACE } #else # define BEGIN_NAMESPACE_PBORI # define END_NAMESPACE_PBORI # define USING_NAMESPACE_PBORI # define PBORI # define USING_PBORI # define PBORI_BEGIN_NAMESPACE( sub_space ) # define PBORI_END_NAMESPACE #endif // PBORI_NO_NAMESPACES /// Generate trace function if debugging #ifdef PBORI_DEBUG_TRACE # include # define PBORI_TRACE_FUNC(text) std::cerr << text << std::endl; #else # define PBORI_TRACE_FUNC(text) #endif // @todo force assertIon of PBORI_DEBUG #if defined(PBORI_NDEBUG) #define PBORI_ASSERT(arg) (static_cast(0)) #else #define PBORI_ASSERT(arg) assert(arg) #endif /// Get output stream type #ifndef PBORI_NO_STDSTREAMS # include # define PBORI_OSTREAM std::ostream #else BEGIN_NAMESPACE_PBORI /// @struct Dummy structure if std::ostream is not available struct PBORI_OSTREAM {}; template PBORI_OSTREAM& operator<<(PBORI_OSTREAM& dummy, const StreamedType&) { return dummy; }; END_NAMESPACE_PBORI #endif // of #ifndef PBORI_NO_STDSTREAMS BEGIN_NAMESPACE_PBORI /** @class COrderEnums * @brief This struct contains type definitions and enumerations to be used for * order codes. * **/ struct COrderEnums { /// Codes For orderings enum ordercodes { lp, dlex, dp_asc, block_dlex, block_dp_asc }; }; /** @class CErrorEnums * @brief This struct contains type definitions and enumerations to be used for * error codes. * **/ struct CErrorEnums { /// Error codes enumeration enum errorcodes { alright = 0, failed, no_ring, invalid, out_of_bounds, io_error, monomial_zero, illegal_on_zero, division_by_zero, invalid_ite, not_implemented, matrix_size_exceeded, last_error }; }; /** @class CCompareEnums * @brief This struct contains type definitions and enumerations to be used for * comparisons. * **/ struct CCompareEnums { /// Comparision codes enumeration enum comparecodes { less_than = -1, equality = 0, greater_than = +1, less_or_equal_max = 0, greater_or_equal_min = 0 }; enum { max_idx = CUDD_MAXINDEX }; }; /** @class CAuxTypes * @brief This struct contains auxiliary type definitions. * **/ struct CAuxTypes { //------------------------------------------------------------------------- // types for several purposes //------------------------------------------------------------------------- /// Type for standard true/false statements typedef bool bool_type; /// Type for lengths, dimensions, etc. typedef std::size_t size_type; /// Type for polynomial degrees (ranges from -1 to maxint) typedef int deg_type; /// Type for integer numbers typedef int integer_type; /// Type for indices typedef int idx_type; /// Type for hashing typedef std::size_t hash_type; /// Type used to store error codes typedef unsigned int errornum_type; /// Type for comparisons typedef short int comp_type; /// Type for ordering codes typedef int ordercode_type; /// Type used to verbose error information typedef const char* errortext_type; /// Type for out-stream typedef PBORI_OSTREAM ostream_type; /// Type for setting/getting names of variables typedef const char* vartext_type; /// large size_type (necessary?) typedef unsigned long large_size_type; /// Type for counting references typedef std::size_t refcount_type; }; class BooleSet; class BoolePolyRing; /** @class CTypes * @brief This struct contains type definitions to be used in library classes * * It mainly consists of definitions for * - the type of decicion diagrams (chosen from the @c cudd library), * - built-in types to be used consistently all over the library * **/ struct CTypes: public COrderEnums, public CErrorEnums, public CCompareEnums, public CAuxTypes { //------------------------------------------------------------------------- // types for treatment of decision diagrams //------------------------------------------------------------------------- /// @name get enumeration base definitions //@{ typedef COrderEnums orderenums_type; typedef CErrorEnums errorenums_type; typedef CCompareEnums compenums_type; typedef CAuxTypes auxtypes_type; //@} /// Type of interface to binary decicion diagrams // typedef BooleSet dd_type; /// Fix type and value of maximal index static idx_type max_index() { return max_idx; } }; END_NAMESPACE_PBORI #ifdef PBORI_DEVELOPER # define PBORI_NOT_IMPLEMENTED \ throw PBORI::PBoRiError(PBORI::CTypes::not_implemented); #else # define PBORI_NOT_IMPLEMENTED #endif // Set default addition method #if defined(PBORI_ADD_BY_ITE) || defined(PBORI_ADD_BY_OR) \ || defined(PBORI_ADD_BY_UNION) || defined(PBORI_ADD_BY_EXTRA_XOR) \ || defined(PBORI_ADD_BY_XOR) #else # define PBORI_ADD_BY_XOR #endif // Set default union-xor method #ifdef PBORI_ADD_BY_XOR # define PBORI_LOWLEVEL_XOR #endif // Set default method for getting all used variables #if defined(PBORI_USEDVARS_BY_IDX) || defined(PBORI_USEDVARS_BY_TRANSFORM) \ || defined(PBORI_USEDVARS_HIGHLEVEL)|| defined(PBORI_USEDVARS_BY_SUPPORT)\ || defined(PBORI_USEDVARS_EXTRA) #else # define PBORI_USEDVARS_BY_IDX //PBORI_USEDVARS_EXTRA #endif #endif // of #ifndef polybori_pbori_defs_h_ BRiAl-1.2.12/libbrial/include/polybori/polybori.h000066400000000000000000000022261436062512100216020ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file include/polybori/polybori.h * * @author Alexander Dreyer * @date 2006-03-06 * * This file includes all header files, which are necessary * for using the polybori lib. * * @par Copyright: * (c) 2006 by The PolyBoRi Team **/ //***************************************************************************** #ifndef polybori_polybori_h_ #define polybori_polybori_h_ #include "BooleSet.h" #include "BoolePolyRing.h" #include "BooleEnv.h" #include "BoolePolynomial.h" #include "BooleMonomial.h" #include "BooleVariable.h" #include "BooleExponent.h" #include "ring/WeakRingPtr.h" #include "except/PBoRiError.h" #include "except/PBoRiGenericError.h" #include "iterators/CGenericIter.h" #include "iterators/CExpIter.h" #include "routines/pbori_algorithms.h" #include "orderings/pbori_order.h" #include "orderings/pbori_order.h" #include "factories/MonomialFactory.h" #include "factories/PolynomialFactory.h" #include "factories/SetFactory.h" #include "factories/VariableBlock.h" #include "factories/VariableFactory.h" #endif // of #ifndef polybori_polybori_h_ BRiAl-1.2.12/libbrial/include/polybori/ring/000077500000000000000000000000001436062512100205275ustar00rootroot00000000000000BRiAl-1.2.12/libbrial/include/polybori/ring/CCallbackWrapper.h000066400000000000000000000060001436062512100240340ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file CCallbackWrapper.h * * @author Alexander Dreyer * @date 2010-08-30 * * This file define a functional, which wraps the callback operator .*, by * managing member function pointers and the corresponding object. * * @par Copyright: * (c) 2010 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_ring_CCallback_Wrapper_h_ #define polybori_ring_CCallback_Wrapper_h_ // include basic definitions #include #include "CMemberFunctionTraits.h" BEGIN_NAMESPACE_PBORI /** @class CCallbackFacade * @brief This template class defines a facade for applying operator @c .* in * @c operator() . * * If applies a stored member function pointer (together with a stored object * reference) to the argument of operator(). * * It is to be used as a face of @c Type, e. g. for @c CCallbackWrapper below. * * @note Specialized variant to void member functions * @attention Currently, the class supports unary functions only. **/ /// Variant for constant non-void member functions template class CCallbackFacade { public: /// Apply member function pointer to argument ResultType operator()(ArgType arg) const { return (static_cast(*this).object .* static_cast(*this).function)(arg); } }; /// Specialized variant for constant void member functions template class CCallbackFacade { public: /// Apply member function pointer to argument (avoid returning @c void()) void operator()(ArgType arg) const { (static_cast(*this).object .* static_cast(*this).function)(arg); } }; /** @class CCallbackWrapper * @brief This template class defines a functional, which wraps operator .*, * which is the callback of a dynamic member function wrt. a given object. * * A reference of a given object is stored as well as the function pointer. @c * operator() does the actual application. * **/ template class CCallbackWrapper: public CCallbackFacade< CCallbackWrapper, typename CMemberFunctionTraits::result_type, typename CMemberFunctionTraits::argument_type> { /// Type of *this typedef CCallbackWrapper self; public: /// Related types typedef CMemberFunctionTraits traits; /// Facade which defines @c operator() needs to access private members friend class CCallbackFacade; /// Reference to object typedef typename traits::object_reference reference; /// Constructor CCallbackWrapper(reference value, MemberFuncPtr ptr): object(value), function(ptr) { } private: reference object; MemberFuncPtr function; }; END_NAMESPACE_PBORI #endif BRiAl-1.2.12/libbrial/include/polybori/ring/CCuddCore.h000066400000000000000000000063431436062512100225010ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file CCuddCore.h * * @author Alexander Dreyer * @date 2007-07-19 * * This files defines a * * @par Copyright: * (c) 2007-2010by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_ring_CCuddCore_h #define polybori_ring_CCuddCore_h // include basic definitions #include #include "CCuddInterface.h" #include "CVariableNames.h" // get PolyBoRi routines and functionals #include #include // intrisive (shared) pointer functionality #include #include #include BEGIN_NAMESPACE_PBORI class COrderingBase; /** @class CCuddCore * @brief This class prepares the CUDD's raw decision diagram manager structure * for the use with instrinsive pointers. * * The purpose of this wrapper is mainly to provide the necessary functionality * for application of intrisive pointers (refernce counting). In addition, some * global settings are stored within. * * @attention This class is intented for internal use only. See CCuddDD, * CCuddZDD, and CCuddInterface. **/ class CCuddCore: public CTypes::orderenums_type, public CAuxTypes, public CWeakPtrFacade { public: /// Fix type of *this typedef CCuddCore self; /// Define type for storing names of variables typedef CVariableNames variable_names_type; /// Define type for getting names of variables typedef variable_names_type::const_reference const_varname_reference; /// Current decision diagram management CCuddInterface m_mgr; /// Type for handling mterm orderings typedef COrderingBase order_type; /// Smart pointer for handling mterm orderings typedef std::shared_ptr order_ptr; /// Reference for handling mterm orderings typedef order_type& order_reference; /// Enum for ordering codes typedef CTypes::ordercode_type ordercode_type; /// Count instances pointing here refcount_type ref; /// Stores names of variables variable_names_type m_names; /// *Ordering of *this order_ptr pOrder; /// Initialize raw decision diagram management CCuddCore(size_type numVarsZ, const order_ptr& order): m_mgr(0, numVarsZ), ref(0), m_names(numVarsZ), pOrder(order) { } /// Copy Constructor (nearly deep copy, but shallow copy of manager, names and /// ordering) CCuddCore(const self& rhs): m_mgr(rhs.m_mgr), ref(0), m_names(rhs.m_names), pOrder(rhs.pOrder) { } /// Destructor ~CCuddCore(){ } /// Increment reference count void addRef(){ ++ref; } /// Release this by decrementing reference counting refcount_type release() { return (--ref); } void change_ordering(const order_ptr& newOrder) { pOrder = newOrder; } }; /// @name Prepare for the application of intrinsive pointers //@{ /// Increment reference count inline void intrusive_ptr_add_ref(CCuddCore* pCore){ pCore->addRef(); } /// Release current pointer by decrementing reference counting inline void intrusive_ptr_release(CCuddCore* pCore) { if (!(pCore->release())) { delete pCore; } } //@} END_NAMESPACE_PBORI #endif BRiAl-1.2.12/libbrial/include/polybori/ring/CCuddInterface.h000066400000000000000000000314001436062512100235010ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file CCuddInterface.h * * @author Alexander Dreyer * @date 2007-07-05 * * This files defines a replacement for the decision diagram manager of CUDD's * C++ interface. * * @par Copyright: * (c) 2007-2010 by The PolyBoRi Team **/ //***************************************************************************** #ifndef polybori_ring_CCuddInterface_h_ #define polybori_ring_CCuddInterface_h_ // include basic definitions #include #include #include #include // handle_error #include "CCallbackWrapper.h" #include #include #include #include #include #include #include #include #include #include #include // get PBORI_PREFIX(cudd error) texts inline const char* error_text(PBORI_PREFIX(DdManager)* mgr) { switch (PBORI_PREFIX(Cudd_ReadErrorCode)(mgr)) { case CUDD_MEMORY_OUT: return("Out of memory."); case CUDD_TOO_MANY_NODES: return("To many nodes."); case CUDD_MAX_MEM_EXCEEDED: return("Maximum memory exceeded."); case CUDD_INVALID_ARG: return("Invalid argument."); case CUDD_INTERNAL_ERROR: return("Internal error."); case CUDD_TIMEOUT_EXPIRED: return("Timed out."); case CUDD_NO_ERROR: return("No error. (Should not reach here!)"); } return("Unexpected error."); } /** * Reference counting abuses ptr->hooks field, a char*, that the * underlying CUDD happens to have. The problem is that the compiler * is free to (and gcc9 will) ignore a statement like * * --pointer == NULL * * C++11 Standard 5.7.5 says that pointer arithmetic on a pointer that * is not pointing into an element of an array is undefined * behavior. So in particular the compiler is free to assume that * --pointer cannot be NULL, since you can't have allocated an array * that starts at 0x1. * * This why we need to reinterpret_cast<> the pointer first to an * integer type before it can be used to count. */ /// Initialize the reference count to zero inline void intrusive_ptr_zero(PBORI_PREFIX(DdManager)* ptr){ ptr->hooks = reinterpret_cast(0); } /// Increment reference count (called by boost::intrusive_ptr) inline void intrusive_ptr_add_ref(PBORI_PREFIX(DdManager)* ptr){ intptr_t counter = reinterpret_cast(ptr->hooks); counter ++; ptr->hooks = reinterpret_cast(counter); } /// Release current pointer by decrementing reference counting (called by boost::intrusive_ptr) inline void intrusive_ptr_release(PBORI_PREFIX(DdManager)* ptr) { intptr_t counter = reinterpret_cast(ptr->hooks); counter--; ptr->hooks = reinterpret_cast(counter); if (!counter) { PBORI_ASSERT(PBORI_PREFIX(Cudd_CheckZeroRef)(ptr) == 0); PBORI_PREFIX(Cudd_Quit)(ptr); } } BEGIN_NAMESPACE_PBORI typedef PBORI_PREFIX(DdManager) DdManager; /// @name Define templates for generating member functions from CUDD procedures //@{ #define PB_CUDDMGR_READ(count, data, funcname) data funcname() const { \ return BOOST_PP_CAT(PBORI_PREFIX(Cudd_), funcname)(*this); } #define PB_CUDDMGR_SWITCH(count, data, funcname) void funcname() { \ BOOST_PP_CAT(PBORI_PREFIX(Cudd_), funcname)(*this); } #define PB_CUDDMGR_SET(count, data, funcname) void funcname(data arg) { \ BOOST_PP_CAT(PBORI_PREFIX(Cudd_), funcname)(*this, arg); } //@} /** @class CCuddInterface * @brief This class defines a C++ interface to @c CUDD's decicion diagram * manager. * * The purpose of this wrapper is just to provide an efficient and save way of * handling the decision diagram management. It corrects some short-comings of * CUDD's built-in interface. * * @attention This class is intented for internal use only. * Use the highlevel classes CDDManager or BoolePolyRing * instead. **/ class CCuddInterface: public CTypes::auxtypes_type { /// Type of *this typedef CCuddInterface self; public: /// Type of Cudd's decision diagrams typedef DdNode* node_ptr; /// Type of Cudd decision diagram manager typedef DdManager mgr_type; typedef int cudd_idx_type; typedef node_ptr (*unary_int_function)(mgr_type*, cudd_idx_type); typedef node_ptr (*void_function)(mgr_type*); /// Smart pointer to Cudd manager typedef boost::intrusive_ptr mgr_ptr; /// Initialize CUDD-like decision diagram manager CCuddInterface(size_type numVars, size_type numVarsZ, size_type numSlots = PBORI_UNIQUE_SLOTS, size_type cacheSize = PBORI_CACHE_SLOTS, unsigned long maxMemory = PBORI_MAX_MEMORY): p_mgr(init(numVars, numVarsZ, numSlots, cacheSize, maxMemory)), m_vars(numVarsZ) { for (idx_type idx = 0; size_type(idx) < numVarsZ; ++idx) initVar(m_vars[idx], idx); } /// Copy constructor CCuddInterface(const self& rhs): p_mgr(rhs.p_mgr), m_vars(rhs.m_vars) { std::for_each(m_vars.begin(), m_vars.end(), PBORI_PREFIX(Cudd_Ref)); } /// Destructor ~CCuddInterface() { std::for_each(m_vars.begin(), m_vars.end(), callBack(&self::recursiveDeref)); } /// Get pure CUDD structure mgr_type* getManager() const { return p_mgr.operator->(); } /// Get (shared) pointer to initialized manager mgr_ptr pManager() const { return p_mgr; } /// Assignment operation self& operator=(const self & right) { p_mgr = right.p_mgr; return *this; } /// Get ZDD variable node_ptr zddVar(idx_type idx) const { return apply(PBORI_PREFIX(Cudd_zddIthVar), idx); } /// Get 1-terminal for ZDDs node_ptr zddOne(idx_type iMax) const { return apply(PBORI_PREFIX(Cudd_ReadZddOne), iMax); } /// Get 0-terminal for ZDDs node_ptr zddZero() const { return apply(PBORI_PREFIX(Cudd_ReadZero)); } /// Get 1-terminal for ZDDs node_ptr zddOne() const { return checkedResult(DD_ONE(getManager())); } #ifdef CUDD_ORIGINAL_INCLUSION /// @name Member functions mimicking/interfacing with CUDD procedures /// @note See preprocessor generated members below //@{ int ReorderingStatusZdd(PBORI_PREFIX(Cudd_ReorderingType) * method) const { return PBORI_PREFIX(Cudd_ReorderingStatusZdd)(*this, method); } /// @note unused (do not use permutations if the variables) idx_type ReadPermZdd(idx_type idx) const { return PBORI_PREFIX(Cudd_ReadPermZdd)(*this, idx); } /// @note unused (do not use permutations if the variables) idx_type ReadInvPermZdd(idx_type idx) const { return PBORI_PREFIX(Cudd_ReadInvPermZdd)(*this, idx); } void AddHook(DD_HFP f, PBORI_PREFIX(Cudd_HookType) where) { checkedResult(PBORI_PREFIX(Cudd_AddHook)(*this, f, where)); } void RemoveHook(DD_HFP f, PBORI_PREFIX(Cudd_HookType) where) { checkedResult(PBORI_PREFIX(Cudd_RemoveHook)(*this, f, where)); } int IsInHook(DD_HFP f, PBORI_PREFIX(Cudd_HookType) where) const { return PBORI_PREFIX(Cudd_IsInHook)(*this, f, where); } void EnableReorderingReporting() { checkedResult(PBORI_PREFIX(Cudd_EnableReorderingReporting)(*this)); } void DisableReorderingReporting() { checkedResult(PBORI_PREFIX(Cudd_DisableReorderingReporting)(*this)); } void DebugCheck(){ checkedResult(PBORI_PREFIX(Cudd_DebugCheck)(*this)); } void CheckKeys(){ checkedResult(PBORI_PREFIX(Cudd_CheckKeys)(*this)); } void PrintLinear() { checkedResult(PBORI_PREFIX(Cudd_PrintLinear)(*this)); } int ReadLinear(int x, int y) { return PBORI_PREFIX(Cudd_ReadLinear)(*this, x, y); } size_type Prime(size_type pr) const { return PBORI_PREFIX(Cudd_Prime)(pr); } void PrintVersion(FILE * fp) const { std::cout.flush(); PBORI_PREFIX(Cudd_PrintVersion)(fp); } void zddPrintSubtable() const{ std::cout.flush(); PBORI_PREFIX(Cudd_zddPrintSubtable)(*this); } void zddReduceHeap(PBORI_PREFIX(Cudd_ReorderingType) heuristic, int minsize) { checkedResult(PBORI_PREFIX(Cudd_zddReduceHeap)(*this, heuristic, minsize)); } void zddShuffleHeap(int * permutation) { checkedResult(PBORI_PREFIX(Cudd_zddShuffleHeap)(*this, permutation)); } void zddSymmProfile(int lower, int upper) const { PBORI_PREFIX(Cudd_zddSymmProfile)(*this, lower, upper); } /// @note Preprocessor generated members /// @code BOOST_PP_SEQ_FOR_EACH(PB_CUDDMGR_SET, size_type, (SetMinHit)(SetLooseUpTo)(SetMaxCacheHard)(SetMaxLive) ) BOOST_PP_SEQ_FOR_EACH(PB_CUDDMGR_SET, int, (SetSiftMaxVar)(SetSiftMaxSwap)(SetRecomb)(SetSymmviolation) (SetArcviolation)(SetPopulationSize)(SetNumberXovers) ) BOOST_PP_SEQ_FOR_EACH(PB_CUDDMGR_SET, FILE*, (SetStdout)(SetStderr)) BOOST_PP_SEQ_FOR_EACH(PB_CUDDMGR_SWITCH, BOOST_PP_NIL, (zddRealignEnable)(zddRealignDisable) (AutodynDisableZdd) (EnableGarbageCollection)(DisableGarbageCollection) (TurnOnCountDead)(TurnOffCountDead)(ClearErrorCode) ) BOOST_PP_SEQ_FOR_EACH(PB_CUDDMGR_READ, double, (ReadCacheUsedSlots)(ReadCacheLookUps)(ReadCacheHits) (ReadSwapSteps)(ReadMaxGrowth)(AverageDistance) ) BOOST_PP_SEQ_FOR_EACH(PB_CUDDMGR_READ, size_type, (ReadCacheSlots)(ReadMinHit)(ReadLooseUpTo)(ReadMaxCache) (ReadMaxCacheHard)(ReadSlots)(ReadKeys)(ReadDead)(ReadMinDead) (ReadNextReordering)(ReadMaxLive) ) BOOST_PP_SEQ_FOR_EACH(PB_CUDDMGR_READ, int, (zddRealignmentEnabled)(ReadZddSize)(ReadReorderings)(ReadSiftMaxVar) (ReadSiftMaxSwap)(ReadGarbageCollections)(GarbageCollectionEnabled) (DeadAreCounted)(ReadRecomb) (ReadPopulationSize)(ReadSymmviolation)(ReadArcviolation) (ReadNumberXovers)(ReorderingReporting)(ReadErrorCode) ) BOOST_PP_SEQ_FOR_EACH(PB_CUDDMGR_READ, long, (ReadReorderingTime)(ReadGarbageCollectionTime) (ReadPeakNodeCount)(zddReadNodeCount) ) BOOST_PP_SEQ_FOR_EACH(PB_CUDDMGR_READ, large_size_type, (ReadMemoryInUse)(ReadMaxMemory) ) BOOST_PP_SEQ_FOR_EACH(PB_CUDDMGR_READ, FILE*, (ReadStdout)(ReadStderr)) PB_CUDDMGR_SET(BOOST_PP_NIL, PBORI_PREFIX(Cudd_ReorderingType), AutodynEnableZdd) PB_CUDDMGR_SET(BOOST_PP_NIL, unsigned long, SetMaxMemory) PB_CUDDMGR_SET(BOOST_PP_NIL, double, SetMaxGrowth) /** @endcode */ /// //@} #else BOOST_PP_SEQ_FOR_EACH(PB_CUDDMGR_READ, int,(ReadZddSize)) #endif node_ptr getVar(idx_type idx) const { if PBORI_UNLIKELY(size_type(idx) >= m_vars.size()) throw PBoRiError(CTypes::out_of_bounds); return m_vars[idx]; } /// Get number of managed variables size_type nVariables() const { return (size_type)ReadZddSize(); } /// clear all temporarily stored data void cacheFlush() { PBORI_PREFIX(cuddCacheFlush)(*this); } protected: /// initialized CUDD decision diagrma manager, check it and start reference counting mgr_ptr init(size_type numVars,size_type numVarsZ, size_type numSlots, size_type cacheSize, large_size_type maxMemory) { DdManager* ptr = PBORI_PREFIX(Cudd_Init)(numVars, numVarsZ, numSlots, cacheSize, maxMemory); if PBORI_UNLIKELY(ptr==NULL) throw PBoRiError(CTypes::failed); intrusive_ptr_zero(ptr); return ptr; } /// Generate check result of previous node operation and convert node_ptr checkedResult(node_ptr result) const { checkedResult(int(result != NULL)); return result; } /// Generate check numerical result of previous operation void checkedResult(int result) const { if PBORI_UNLIKELY(result == 0) { throw std::runtime_error(error_text(*this)); } } /// Apply function to given index node_ptr apply(unary_int_function func, idx_type idx) const { return checkedResult(func(*this, idx) ); } /// Call function node_ptr apply(void_function func) const { return checkedResult(func(*this) ); } protected: /// Dereferencing of diagram node void recursiveDeref(node_ptr node) const { PBORI_PREFIX(Cudd_RecursiveDerefZdd)(*this, node); } /// Generate raw variable void initVar(node_ptr& node, idx_type idx) const { PBORI_PREFIX(Cudd_Ref)(node = PBORI_PREFIX(cuddUniqueInterZdd)(*this, idx, zddOne(), zddZero())); } /// Wrapping memeber function as functional template CCallbackWrapper callBack(MemberFuncPtr ptr) { return CCallbackWrapper(*this, ptr); } private: /// Implicit cast to pure CUDD structure (only accesible here) operator mgr_type*() const { return getManager(); } /// Smart pointer to Cudd maanger mgr_ptr p_mgr; /// Variable cache std::vector m_vars; }; // CCuddInterface #undef PB_CUDDMGR_READ #undef PB_CUDDMGR_SWITCH #undef PB_CUDDMGR_SET END_NAMESPACE_PBORI #endif BRiAl-1.2.12/libbrial/include/polybori/ring/CMemberFunctionTraits.h000066400000000000000000000047521436062512100251170ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file CMemberFunctionTraits.h * * @author Alexander Dreyer * @date 2010-08-30 * * This file define a template, which extracts related types from a member * function pointer. * * We use the notation of boost::function_traits as much as possible. * * @par Copyright: * (c) 2010 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_ring_CMemberFunctionTraits_h_ #define polybori_ring_CMemberFunctionTraits_h_ // include basic definitions #include BEGIN_NAMESPACE_PBORI /** @class CMemberFunctionTraits * @brief This template class defines related types for member function pointer. * * @note Currently, the class supports functions with up to one argument only. **/ template class CMemberFunctionTraits; /// Axuiliary class template class CMemberFunctionTraitsBase { public: typedef ResultType result_type; typedef ArgType argument_type; typedef Type object_type; typedef ObjRef object_reference; }; template class CMemberFunctionTraits: public CMemberFunctionTraitsBase { }; template class CMemberFunctionTraits: public CMemberFunctionTraitsBase { }; template class CMemberFunctionTraits: public CMemberFunctionTraitsBase { }; template class CMemberFunctionTraits: public CMemberFunctionTraitsBase { }; template class MemberFunctionOperator { typedef CMemberFunctionTraits traits; public: MemberFunctionOperator(MemberFct func): m_func(func) {} typename traits::result_type operator()(typename traits::object_reference obj, typename traits::argument_type arg) { return (obj .* m_func)(arg); } private: MemberFct m_func; }; template MemberFunctionOperator member_function_operator(MemberFct func) { return MemberFunctionOperator(func); } END_NAMESPACE_PBORI #endif BRiAl-1.2.12/libbrial/include/polybori/ring/CVariableNames.h000066400000000000000000000047201436062512100235170ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file CVariableNames.h * * @author Alexander Dreyer * @date 2006-24-10 * * This file defines an array-like type for storing variables names by index. * * @par Copyright: * (c) 2006 by The PolyBoRi Team **/ //***************************************************************************** #ifndef polybori_ring_CVariableNames_h_ #define polybori_ring_CVariableNames_h_ // include basic definitions #include // get standard vector functionality #include // get standard string functionalities #include #include BEGIN_NAMESPACE_PBORI class CVariableNames { public: /// @name adopt global type definitions //@{ typedef CTypes::size_type size_type; typedef CTypes::idx_type idx_type; //@} /// Define type for setting/getting names of variables typedef CTypes::vartext_type vartext_type; /// Define type for storing names of variables typedef std::string varname_type; /// Define type for storing names of variables typedef std::vector storage_type; /// Define type for write accessing elements typedef storage_type::reference reference; /// Define type for outputing variable names typedef vartext_type const_reference; /// Define type of *this typedef CVariableNames self; /// Constructor CVariableNames(size_type nvars): m_data(nvars) { reset(); } /// Copy Constructor CVariableNames(const self& rhs): m_data(rhs.m_data) { } /// Set default variable names void reset(idx_type idx = 0); /// Get name of variable with index idx const_reference operator[](idx_type idx) const { if PBORI_UNLIKELY(size_type(idx) >= m_data.size()) return undefName(); return m_data[idx].c_str(); } /// Get writable reference to name of variable with index idx void set(idx_type idx, const varname_type& varname) { size_type nlen = m_data.size(); if PBORI_UNLIKELY((size_type)idx >= nlen) { m_data.resize((size_type)idx + 1); reset((idx_type)nlen); } m_data[idx] = varname; } protected: static const_reference undefName() { return "UNDEF"; } private: storage_type m_data; }; inline void CVariableNames::reset(idx_type idx) { idx_type nlen = (idx_type)m_data.size(); for (; idx < nlen; ++idx){ std::ostringstream sstrg; sstrg << "x(" << idx << ')'; m_data[idx] = sstrg.str(); } } END_NAMESPACE_PBORI #endif BRiAl-1.2.12/libbrial/include/polybori/ring/WeakRingPtr.h000066400000000000000000000026021436062512100230750ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file WeakRingPtr.h * * @author Alexander Dreyer * @date 2011-06-14 * * This file includes the definition of the class @c WeakRingPtr. * * @par Copyright: * (c) 2011 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_WeakRingPtr_h_ #define polybori_WeakRingPtr_h_ // include basic definitions #include #include #include BEGIN_NAMESPACE_PBORI /** @class WeakRingPtr * @brief This class defines WeakRingPtr. * * This is just a wrapper for @c CWeakPtr. * For aceesing such internals it is good @c friend with @c BoolePolyRing. **/ class WeakRingPtr { /// Type of *this typedef WeakRingPtr self; public: typedef BoolePolyRing value_type; /// Default constructor WeakRingPtr(const value_type& data): m_data(*data.core()) {} /// Copy constructor WeakRingPtr(const self& rhs): m_data(rhs.m_data) {} /// Destructor ~WeakRingPtr() {} /// Dereferencing value_type operator*() const { return value_type(m_data); } /// Validity check operator bool() const { return m_data; } private: CWeakPtr m_data; }; END_NAMESPACE_PBORI #endif /* polybori_WeakRingPtr_h_ */ BRiAl-1.2.12/libbrial/include/polybori/routines/000077500000000000000000000000001436062512100214405ustar00rootroot00000000000000BRiAl-1.2.12/libbrial/include/polybori/routines/pbori_algo.h000066400000000000000000000603551436062512100237370ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file pbori_algo.h * * @author Alexander Dreyer * @date 2006-04-07 * * This file includes some templates of simple transformations and similar * procedures. * * @note This file carries pure template routines. Algorithms, which make * explicite use of PolyBoRi classes can be found in pbori_algorithms.h * * @par Copyright: * (c) 2006 by The PolyBoRi Team **/ //***************************************************************************** #ifndef polybori_routines_pbori_algo_h_ #define polybori_routines_pbori_algo_h_ // include polybori's definitions #include // get polybori's functionals #include "pbori_func.h" #include // temporarily #include #include BEGIN_NAMESPACE_PBORI /// Function templates for transforming decision diagrams template< class NaviType, class TermType, class TernaryOperator, class TerminalOperator > TermType dd_backward_transform( NaviType navi, TermType init, TernaryOperator newNode, TerminalOperator terminate ) { TermType result = init; if (navi.isConstant()) { // Reached end of path if (navi.terminalValue()){ // Case of a valid path result = terminate(); } } else { result = dd_backward_transform(navi.thenBranch(), init, newNode, terminate); result = newNode(*navi, result, dd_backward_transform(navi.elseBranch(), init, newNode, terminate) ); } return result; } /// Function templates for transforming decision diagrams template< class NaviType, class TermType, class OutIterator, class ThenBinaryOperator, class ElseBinaryOperator, class TerminalOperator > OutIterator dd_transform( NaviType navi, TermType init, OutIterator result, ThenBinaryOperator then_binop, ElseBinaryOperator else_binop, TerminalOperator terminate ) { if (navi.isConstant()) { // Reached end of path if (navi.terminalValue()){ // Case of a valid path *result = terminate(init); ++result; } } else { result = dd_transform(navi.thenBranch(), then_binop(init, *navi), result, then_binop, else_binop, terminate); result = dd_transform(navi.elseBranch(), else_binop(init, *navi), result, then_binop, else_binop, terminate); } return result; } /// Function templates for transforming decision diagrams /// with special treatment of the leading term template< class NaviType, class TermType, class OutIterator, class ThenBinaryOperator, class ElseBinaryOperator, class TerminalOperator, class FirstTermOp > OutIterator dd_transform( NaviType navi, TermType init, OutIterator result, ThenBinaryOperator then_binop, ElseBinaryOperator else_binop, TerminalOperator terminate, FirstTermOp terminate_first ) { if (navi.isConstant()) { // Reached end of path if (navi.terminalValue()){ // Case of a valid path - here leading term *result = terminate_first(init); ++result; } } else { result = dd_transform(navi.thenBranch(), then_binop(init, *navi), result, then_binop, else_binop, terminate, terminate_first); result = dd_transform(navi.elseBranch(), else_binop(init, *navi), result, then_binop, else_binop, terminate); } return result; } /// Function templates for transforming decision diagrams template< class NaviType, class TermType, class OutIterator, class ThenBinaryOperator, class ElseBinaryOperator > void dd_transform( const NaviType& navi, const TermType& init, const OutIterator& result, const ThenBinaryOperator& then_binop, const ElseBinaryOperator& else_binop ) { dd_transform(navi, init, result, then_binop, else_binop, project_ith<1>() ); } /// Function templates for transforming decision diagrams template< class NaviType, class TermType, class OutIterator, class ThenBinaryOperator > void dd_transform( const NaviType& navi, const TermType& init, const OutIterator& result, const ThenBinaryOperator& then_binop ) { dd_transform(navi, init, result, then_binop, project_ith<1, 2>(), project_ith<1>() ); } template OutputIterator special_first_transform(InputIterator first, InputIterator last, OutputIterator result, UnaryFunction op, FirstFunction firstop) { InputIterator second(first); if (second != last) { ++second; result = std::transform(first, second, result, firstop); } return std::transform(second, last, result, op); } /// Function templates doing a reversed copy using intermediate storage template OutputIterator reversed_inter_copy( InputIterator start, InputIterator finish, Intermediate& inter, OutputIterator output ) { std::copy(start, finish, inter.begin()); // force constant return std::copy( const_cast(inter).rbegin(), const_cast(inter).rend(), output ); } /// Function templates for checking whether a given decision diagram node is on /// path template bool dd_on_path(NaviType navi) { if (navi.isConstant()) return navi.terminalValue(); return dd_on_path(navi.thenBranch()) || dd_on_path(navi.elseBranch()); } /// Function templates for checking whether a given decision diagram contains /// paths with indices only in range [start, finish) template bool dd_owns_term_of_indices(NaviType navi, OrderedIterator start, OrderedIterator finish) { if (!navi.isConstant()) { // Not at end of path bool not_at_end; while( (not_at_end = (start != finish)) && (*start < *navi) ) ++start; NaviType elsenode = navi.elseBranch(); if (elsenode.isConstant() && elsenode.terminalValue()) return true; if (not_at_end){ if ( (*start == *navi) && dd_owns_term_of_indices(navi.thenBranch(), start, finish)) return true; else return dd_owns_term_of_indices(elsenode, start, finish); } else { while(!elsenode.isConstant()) elsenode.incrementElse(); return elsenode.terminalValue(); } } return navi.terminalValue(); } /// Function templates extracting the terms of a given decision diagram contain /// which contains only indices from the range [start, finish) /// Note: Returns incremented node template NaviType dd_intersect_some_index(NaviType navi, OrderedIterator start, OrderedIterator finish, NodeOperation newNode ) { if (!navi.isConstant()) { // Not at end of path bool not_at_end; while( (not_at_end = (start != finish)) && (*start < *navi) ) ++start; if (not_at_end) { NaviType elseNode = dd_intersect_some_index(navi.elseBranch(), start, finish, newNode); if (*start == *navi) { NaviType thenNode = dd_intersect_some_index(navi.thenBranch(), start, finish, newNode); return newNode(*start, navi, thenNode, elseNode); } else return elseNode; } else { // if the start == finish, we only check // validity of the else-only branch while(!navi.isConstant()) navi = navi.elseBranch(); return newNode(navi); } } return newNode(navi); } /// Function templates for debugging, prints dd indices and reference counts template void dd_print(NaviType navi) { if (!navi.isConstant()) { // Not at end of path std::cout << std::endl<< "idx " << *navi <<" addr "<< ((DdNode*)navi)<<" ref "<< int(PBORI_PREFIX(Cudd_Regular)((DdNode*)navi)->ref) << std::endl; dd_print(navi.thenBranch()); dd_print(navi.elseBranch()); } else { std::cout << "const isvalid? "<ref)< SizeType limited_distance(IteratorType start, IteratorType finish, SizeType limit) { SizeType result = 0; while ((result < limit) && (start != finish)) { ++start, ++result; } return result; } #if 0 // Forward declaration of CTermIter template template class CTermIter; // Determinine the minimum of the number of terms and limit template SizeType limited_length(NaviType navi, SizeType limit) { typedef CTermIter, project_ith<1>, project_ith<1, 2>, project_ith<1> > iterator; return limited_distance(iterator(navi), iterator(), limit); } #endif /// Test whether the empty set is included template bool owns_one(NaviType navi) { while (!navi.isConstant() ) navi.incrementElse(); return navi.terminalValue(); } template SetType dd_modulo_monomials(const CacheMgr& cache_mgr, NaviType navi, NaviType rhs, const SetType& init){ // Managing trivial cases if (owns_one(rhs)) return cache_mgr.zero(); if (navi.isConstant()) return cache_mgr.generate(navi); typename SetType::idx_type index = *navi; while(*rhs < index ) rhs.incrementElse(); if (rhs.isConstant()) return cache_mgr.generate(navi); if (rhs == navi) return cache_mgr.zero(); // Cache look-up NaviType cached = cache_mgr.find(navi, rhs); if (cached.isValid()) return cache_mgr.generate(cached); // Actual computations SetType result(cache_mgr.zero()); if (index == *rhs){ NaviType rhselse = rhs.elseBranch(); SetType thenres = dd_modulo_monomials(cache_mgr, navi.thenBranch(), rhs.thenBranch(), init); result = SetType(index, dd_modulo_monomials(cache_mgr, thenres.navigation(), rhselse, init), dd_modulo_monomials(cache_mgr, navi.elseBranch(), rhselse, init) ); } else { PBORI_ASSERT(*rhs > index); result = SetType(index, dd_modulo_monomials(cache_mgr, navi.thenBranch(), rhs, init), dd_modulo_monomials(cache_mgr, navi.elseBranch(), rhs, init) ); } cache_mgr.insert(navi, rhs, result.navigation()); return result; } /// Get minimal elements with respect to inclusion template SetType dd_minimal_elements(const CacheMgr& cache_mgr, const ModMonCacheMgr& modmon_mgr, NaviType navi, const SetType& init){ // Trivial Cases if (navi.isEmpty()) return cache_mgr.generate(navi); if (owns_one(navi)) return cache_mgr.one(); NaviType ms0 = navi.elseBranch(); NaviType ms1 = navi.thenBranch(); // Cache look-up NaviType cached = cache_mgr.find(navi); if (cached.isValid()) return cache_mgr.generate(cached); SetType minimal_else = dd_minimal_elements(cache_mgr, modmon_mgr, ms0, init); SetType minimal_then = dd_minimal_elements(cache_mgr, modmon_mgr, dd_modulo_monomials(modmon_mgr, ms1, minimal_else.navigation(), init).navigation(), init); SetType result(cache_mgr.zero()); if ( (minimal_else.navigation() == ms0) && (minimal_then.navigation() == ms1) ) result = cache_mgr.generate(navi); else result = SetType(*navi, minimal_then, minimal_else); cache_mgr.insert(navi, result.navigation()); return result; } /// A first version /// Function templates extracting minimal elements of dd wrt. inclusion /// Assumption, navi is navigator of dd template DDType dd_minimal_elements(NaviType navi, DDType dd, DDType& multiples) { if (!navi.isConstant()) { // Not at end of path DDType elsedd = dd.subset0(*navi); DDType elseMultiples; elsedd = dd_minimal_elements(navi.elseBranch(), elsedd, elseMultiples); // short cut if else and then branche equal or else contains 1 if((navi.elseBranch() == navi.thenBranch()) || elsedd.blankness()){ multiples = elseMultiples; return elsedd; } NaviType elseNavi = elseMultiples.navigation(); int nmax; if (elseNavi.isConstant()){ if (elseNavi.terminalValue()) nmax = dd.nVariables(); else nmax = *navi; } else nmax = *elseNavi; for(int i = nmax-1; i > *navi; --i){ elseMultiples.uniteAssign(elseMultiples.change(i)); } DDType thendd = dd.subset1(*navi); thendd = thendd.diff(elseMultiples); DDType thenMultiples; thendd = dd_minimal_elements(navi.thenBranch(), thendd, thenMultiples); NaviType thenNavi = thenMultiples.navigation(); if (thenNavi.isConstant()){ if (thenNavi.terminalValue()) nmax = dd.nVariables(); else nmax = *navi; } else nmax = *thenNavi; for(int i = nmax-1; i > *navi; --i){ thenMultiples.uniteAssign(thenMultiples.change(i)); } thenMultiples = thenMultiples.unite(elseMultiples); thenMultiples = thenMultiples.change(*navi); multiples = thenMultiples.unite(elseMultiples); thendd = thendd.change(*navi); DDType result = thendd.unite(elsedd); return result; } multiples = dd; return dd; } template inline const MgrType& get_mgr_core(const MgrType& rhs) { return rhs; } ///@todo merge with extract_manager // inline CCuddInterface::mgrcore_ptr // get_mgr_core(const CCuddInterface& mgr) { // return mgr.managerCore(); // } /// temporarily (needs to be more generic) (similar fct in CCuddDDFacade.h) template inline DDBase cudd_generate_multiples(const ManagerType& mgr, ReverseIterator start, ReverseIterator finish, MultReverseIterator multStart, MultReverseIterator multFinish, type_tag ) { DdNode* prev( (mgr.getManager())->one ); DdNode* zeroNode( (mgr.getManager())->zero ); PBORI_PREFIX(Cudd_Ref)(prev); while(start != finish) { while((multStart != multFinish) && (*start < *multStart)) { DdNode* result = PBORI_PREFIX(cuddUniqueInterZdd)( mgr.getManager(), *multStart, prev, prev ); PBORI_PREFIX(Cudd_Ref)(result); PBORI_PREFIX(Cudd_RecursiveDerefZdd)(mgr.getManager(), prev); prev = result; ++multStart; }; DdNode* result = PBORI_PREFIX(cuddUniqueInterZdd)( mgr.getManager(), *start, prev, zeroNode ); PBORI_PREFIX(Cudd_Ref)(result); PBORI_PREFIX(Cudd_RecursiveDerefZdd)(mgr.getManager(), prev); prev = result; if((multStart != multFinish) && (*start == *multStart)) ++multStart; ++start; } while(multStart != multFinish) { DdNode* result = PBORI_PREFIX(cuddUniqueInterZdd)( mgr.getManager(), *multStart, prev, prev ); PBORI_PREFIX(Cudd_Ref)(result); PBORI_PREFIX(Cudd_RecursiveDerefZdd)(mgr.getManager(), prev); prev = result; ++multStart; }; PBORI_PREFIX(Cudd_Deref)(prev); typedef DDBase dd_base; return dd_base(mgr, prev); } /// temporarily (needs to be more generic) (similar fct in CCuddDDFacade.h) template DDBase cudd_generate_divisors(const ManagerType& mgr, ReverseIterator start, ReverseIterator finish, type_tag) { DdNode* prev= (mgr.getManager())->one; PBORI_PREFIX(Cudd_Ref)(prev); while(start != finish) { DdNode* result = PBORI_PREFIX(cuddUniqueInterZdd)( mgr.getManager(), *start, prev, prev); PBORI_PREFIX(Cudd_Ref)(result); PBORI_PREFIX(Cudd_RecursiveDerefZdd)(mgr.getManager(), prev); prev = result; ++start; } PBORI_PREFIX(Cudd_Deref)(prev); ///@todo Next line needs generalization return DDBase(mgr, prev); } template Iterator bounded_max_element(Iterator start, Iterator finish, SizeType bound){ if (*start >= bound) return start; Iterator result(start); if (start != finish) ++start; while (start != finish) { if(*start >= bound) return start; if(*start > *result) result = start; ++start; } return result; } /// defines lexicographic comparison for variable indices template CTypes::comp_type generic_compare_3way(const LhsType& lhs, const RhsType& rhs, BinaryPredicate comp) { if (lhs == rhs) return CTypes::equality; return (comp(lhs, rhs)? CTypes::greater_than: CTypes::less_than); } template IteratorLike increment_iteratorlike(IteratorLike iter, ForwardIteratorTag) { return ++iter; } template IteratorLike increment_iteratorlike(IteratorLike iter, navigator_tag) { return iter.thenBranch(); } template IteratorLike increment_iteratorlike(IteratorLike iter) { typedef typename std::iterator_traits::iterator_category iterator_category; return increment_iteratorlike(iter, iterator_category()); } #ifdef PBORI_LOWLEVEL_XOR // dummy for PBORI_PREFIX(cuddcache) (implemented in pbori_routines.cc) DdNode* pboriCuddZddUnionXor__(DdManager *, DdNode *, DdNode *); /// The following should be made more generic /// @todo This is still Cudd-like style, should be rewritten with PolyBoRi's /// cache wrapper, which would the dependency on PBORI_PREFIX(cuddInt.h) template NodeType pboriCuddZddUnionXor(MgrType zdd, NodeType P, NodeType Q) { int p_top, q_top; NodeType empty = DD_ZERO(zdd), t, e, res; MgrType table = zdd; statLine(zdd); if (P == empty) return(Q); if (Q == empty) return(P); if (P == Q) return(empty); /* Check cache */ res = PBORI_PREFIX(cuddCacheLookup2Zdd)(table, pboriCuddZddUnionXor__, P, Q); if (res != NULL) return(res); if (PBORI_PREFIX(cuddIsConstant)(P)) p_top = P->index; else p_top = P->index;/* zdd->permZ[P->index]; */ if (PBORI_PREFIX(cuddIsConstant)(Q)) q_top = Q->index; else q_top = Q->index; /* zdd->permZ[Q->index]; */ if (p_top < q_top) { e = pboriCuddZddUnionXor(zdd, PBORI_PREFIX(cuddE)(P), Q); if (e == NULL) return (NULL); PBORI_PREFIX(Cudd_Ref)(e); res = PBORI_PREFIX(cuddZddGetNode)(zdd, P->index, PBORI_PREFIX(cuddT)(P), e); if (res == NULL) { PBORI_PREFIX(Cudd_RecursiveDerefZdd)(table, e); return(NULL); } PBORI_PREFIX(Cudd_Deref)(e); } else if (p_top > q_top) { e = pboriCuddZddUnionXor(zdd, P, PBORI_PREFIX(cuddE)(Q)); if (e == NULL) return(NULL); PBORI_PREFIX(Cudd_Ref)(e); res = PBORI_PREFIX(cuddZddGetNode)(zdd, Q->index, PBORI_PREFIX(cuddT)(Q), e); if (res == NULL) { PBORI_PREFIX(Cudd_RecursiveDerefZdd)(table, e); return(NULL); } PBORI_PREFIX(Cudd_Deref)(e); } else { t = pboriCuddZddUnionXor(zdd, PBORI_PREFIX(cuddT)(P), PBORI_PREFIX(cuddT)(Q)); if (t == NULL) return(NULL); PBORI_PREFIX(Cudd_Ref)(t); e = pboriCuddZddUnionXor(zdd, PBORI_PREFIX(cuddE)(P), PBORI_PREFIX(cuddE)(Q)); if (e == NULL) { PBORI_PREFIX(Cudd_RecursiveDerefZdd)(table, t); return(NULL); } PBORI_PREFIX(Cudd_Ref)(e); res = PBORI_PREFIX(cuddZddGetNode)(zdd, P->index, t, e); if (res == NULL) { PBORI_PREFIX(Cudd_RecursiveDerefZdd)(table, t); PBORI_PREFIX(Cudd_RecursiveDerefZdd)(table, e); return(NULL); } PBORI_PREFIX(Cudd_Deref)(t); PBORI_PREFIX(Cudd_Deref)(e); } PBORI_PREFIX(cuddCacheInsert2)(table, pboriCuddZddUnionXor__, P, Q, res); return(res); } /* end of pboriCuddZddUnionXor */ template NodeType pboriCudd_zddUnionXor(MgrType dd, NodeType P, NodeType Q) { NodeType res; do { dd->reordered = 0; res = pboriCuddZddUnionXor(dd, P, Q); } while (dd->reordered == 1); return(res); } #endif // PBORI_LOWLEVEL_XOR template bool dd_is_singleton(NaviType navi) { while(!navi.isConstant()) { if (!navi.elseBranch().isEmpty()) return false; navi.incrementThen(); } return true; } template BooleConstant dd_pair_check(NaviType navi, BooleConstant allowSingleton) { while(!navi.isConstant()) { if (!navi.elseBranch().isEmpty()) return dd_is_singleton(navi.elseBranch()) && dd_is_singleton(navi.thenBranch()); navi.incrementThen(); } return allowSingleton;//(); } template bool dd_is_singleton_or_pair(NaviType navi) { return dd_pair_check(navi, true); } template bool dd_is_pair(NaviType navi) { return dd_pair_check(navi, false); } template void combine_sizes(const SetType& bset, double& init) { init += bset.sizeDouble(); } template void combine_sizes(const SetType& bset, typename SetType::size_type& init) { init += bset.size(); } template SizeType& count_index(SizeType& size, IdxType idx, NaviType navi, const SetType& init) { if (*navi == idx) combine_sizes(SetType(navi.incrementThen(), init.ring()), size); if (*navi < idx) { count_index(size, idx, navi.thenBranch(), init); count_index(size, idx, navi.elseBranch(), init); } return size; } template SizeType& count_index(SizeType& size, IdxType idx, const SetType& bset) { return count_index(size, idx, bset.navigation(), SetType(bset.ring())); } template inline OutIter transform(InIter start, InIter finish, OutIter result, Object& obj, MemberFuncPtr func) { for(; start != finish; ++start, ++result) *result = (obj .* func)(*start); } template inline void for_each(InIter start, InIter finish, Object& obj, MemberFuncPtr func) { for(; start != finish; ++start) (obj .* func)(*start); } template inline void for_each(InIter start, InIter finish, const Object& obj, MemberFuncPtr func) { for(; start != finish; ++start) (obj .* func)(*start); } template const Type& which(bool condition, const Type1& value1, const Type& value) { if (condition) return value1; return value; } template const Type& which(bool cond1, const Type1& value1, bool cond2, const Type2& value2, const Type& value) { return which(cond1, value1, which(cond2, value2, value) ); } template const Type& which(bool cond1, const Type1& value1, bool cond2, const Type2& value2, bool cond3, const Type3& value3, const Type& value ) { return which(cond1, value1, cond2, value2, which(cond3, value3, value) ); } template bool same_rings(const IDType& id, Iterator start, Iterator finish) { while ((start != finish) && (start->ring().id() == id)) { ++start; } return (start == finish); } template bool same_rings(Iterator start, Iterator finish) { return (start == finish) || same_rings(start->ring().id(), start, finish); } END_NAMESPACE_PBORI #endif BRiAl-1.2.12/libbrial/include/polybori/routines/pbori_algo_int.h000066400000000000000000000472741436062512100246160ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file pbori_algo_int.h * * @author Alexander Dreyer * @date 2006-04-07 * * This file includes some templates of simple transformations and similar * procedures. * * @par Copyright: * (c) 2006 by The PolyBoRi Team **/ //***************************************************************************** #ifndef polybori_routines_pbori_algo_int_h_ #define polybori_routines_pbori_algo_int_h_ // include polybori's definitions #include // get polybori's functionals #include "pbori_func.h" #include #include BEGIN_NAMESPACE_PBORI inline void inc_ref(DdNode* node) { PBORI_PREFIX(Cudd_Ref)(node); } template inline void inc_ref(const NaviType & navi) { navi.incRef(); } inline void dec_ref(DdNode* node) { PBORI_PREFIX(Cudd_Deref)(node); } template inline void dec_ref(const NaviType & navi) { navi.decRef(); } inline DdNode* do_get_node(DdNode* node) { return node; } template inline DdNode* do_get_node(const NaviType & navi) { return navi.getNode(); } template inline void recursive_dec_ref(const MgrType& mgr, DdNode* node) { PBORI_PREFIX(Cudd_RecursiveDerefZdd)(mgr, node); } template inline void recursive_dec_ref(const MgrType& mgr, const NaviType & navi) { navi.recursiveDecRef(mgr); } // template // NaviType // multiples_of_one_term(NaviType navi, SizeType nmax, ManagerType& man){ // std::vector indices (PBORI_PREFIX(Cudd_SupportSize)(man,navi)); // std::vector::iterator iter(indices.begin()); // NaviType multiples = navi; // while(!multiples.isConstant()) { // *iter = *multiples; // multiples.incrementThen(); // ++iter; // } // std::vector::const_reverse_iterator start(indices.rbegin()), // finish(indices.rend()); // // int nmax = dd.nVariables(); // PBORI_PREFIX(Cudd_Ref)(multiples); // NaviType emptyset = navi.elseBranch(); // NaviType tmp; // SizeType i = nmax-1; // while(start != finish){ // while ((idxStart != idxFinish) && (*idxStart > *start)) // // while(i > *start) { // tmp = cuddZddGetNode(man, i, multiples, multiples); // PBORI_PREFIX(Cudd_Ref)(tmp); // PBORI_PREFIX(Cudd_Deref)(multiples); // multiples = tmp; // --i; // } // tmp = cuddZddGetNode(man, i, multiples, emptyset); // PBORI_PREFIX(Cudd_Ref)(tmp); // PBORI_PREFIX(Cudd_Deref)(multiples); // multiples = tmp; // --i; // ++start; // } // return multiples; // } template NaviType indexed_term_multiples(NaviType navi, ReverseIterator idxStart, ReverseIterator idxFinish, const DDOperations& apply){ typedef typename NaviType::value_type idx_type; typedef typename std::vector vector_type; typedef typename vector_type::iterator iterator; typedef typename vector_type::const_reverse_iterator const_reverse_iterator; vector_type indices(apply.nSupport(navi)); iterator iter(indices.begin()); NaviType multiples = navi; while(!multiples.isConstant()) { *iter = *multiples; multiples.incrementThen(); ++iter; } const_reverse_iterator start(indices.rbegin()), finish(indices.rend()); inc_ref(multiples); while(start != finish){ while( (idxStart != idxFinish) && (*idxStart > *start) ) { apply.multiplesAssign(multiples, *idxStart); ++idxStart; } apply.productAssign(multiples, *start); if(idxStart != idxFinish) ++idxStart; ++start; } return multiples; } template bool is_reducible_by(NaviType first, NaviType second){ while(!second.isConstant()){ while( (!first.isConstant()) && (*first < *second)) first.incrementThen(); if(*first != *second) return false; second.incrementThen(); } return true; } template NaviType minimal_of_two_terms(NaviType navi, NaviType& multiples, ReverseIterator idxStart, ReverseIterator idxFinish, const DDOperations& apply){ typedef typename NaviType::value_type idx_type; typedef typename std::vector vector_type; typedef typename vector_type::size_type size_type; typedef typename vector_type::const_reverse_iterator const_reverse_iterator; // std::cout <<"2s "; size_type nmax = apply.nSupport(navi); vector_type thenIdx(nmax), elseIdx(nmax); thenIdx.resize(0); elseIdx.resize(0); NaviType thenNavi = navi; NaviType elseNavi = navi; // See CCuddLastIterator NaviType tmp(elseNavi); elseNavi.incrementElse(); while(!elseNavi.isConstant()){ tmp = elseNavi; elseNavi.incrementElse(); } if(elseNavi.isEmpty()) elseNavi = tmp; // std::cout <<"TH "<<*thenNavi <<" "<<*elseNavi<< ":"; bool isReducible = true; while (isReducible && !thenNavi.isConstant() && !elseNavi.isConstant()){ while( !thenNavi.isConstant() && (*thenNavi < *elseNavi)) { // std::cout <<"th "<<*thenNavi <<" "<<*elseNavi<< ":"; // apply.print(thenNavi); // apply.print(elseNavi); thenIdx.push_back(*thenNavi); thenNavi.incrementThen(); } if(!thenNavi.isConstant() && (*thenNavi == *elseNavi) ){ thenIdx.push_back(*thenNavi); thenNavi.incrementThen(); } else isReducible = false; // std::cout <<""<ref; // std::cout << ((DdNode*)elseNavi)->ref <= *elseMult) ) ++idxIter; while(start != finish){ while((idxIter != idxFinish) && (*idxIter > *start) ) { apply.multiplesAssign(elseMult, *idxIter); ++idxIter; } apply.productAssign(elseMult, *start); if (isReducible) apply.productAssign(elseTail, *start); if(idxIter != idxFinish) ++idxIter; ++start; } // std::cerr<< "h3"<= *thenMult) ) ++idxIter; // std::cerr<< "h6"< *start2) ) { // std::cout<< *idxIter <<" ? "; apply.multiplesAssign(thenMult, *idxIter); ++idxIter; } apply.productAssign(thenMult, *start2); // apply.productAssign(thenTail, *start); if(idxIter != idxFinish) ++idxIter; ++start2; } apply.replacingUnite(multiples, elseMult, thenMult); // std::cerr<< "h7"<ref< NaviType prepend_multiples_wrt_indices(NaviType navi, SizeType minIdx, ReverseIterator start, ReverseIterator finish, const DDOperations& apply) { if (navi.isConstant()){ if (!navi.terminalValue()) return navi; } else while ( (start != finish) && (*start >= *navi) ) ++start; while( (start != finish) && (*start > minIdx) ){ apply.multiplesAssign(navi, *start); ++start; } return navi; } template void apply_assign_cudd_function(FunctionType func, ManagerType& mgr, NodeType& first, const NodeType& second) { NodeType newNode(func(mgr, do_get_node(first), do_get_node(second))); inc_ref(newNode); recursive_dec_ref(mgr, first); first = newNode; } template void apply_replacing_cudd_function(FunctionType func, ManagerType& mgr, ResultType& newNode, const NodeType& first, const NodeType& second) { newNode = NodeType(func(mgr, do_get_node(first), do_get_node(second))); inc_ref(newNode); recursive_dec_ref(mgr, first); recursive_dec_ref(mgr, second); } template NodeType apply_cudd_function(FunctionType func, ManagerType& mgr, const NodeType& first, const NodeType& second) { NodeType newNode; newNode = NodeType(func(mgr, do_get_node(first), do_get_node(second))); inc_ref(newNode); return newNode; } template class dd_operations; template<> class dd_operations: public CAuxTypes { public: typedef DdManager* manager_type; typedef CCuddNavigator navigator; dd_operations(manager_type man): mgr(man) {} void replacingUnite(navigator& newNode, const navigator& first, const navigator& second) const { apply_replacing_cudd_function(PBORI_PREFIX(Cudd_zddUnion), mgr, newNode, first, second); } void uniteAssign(navigator& first, const navigator& second) const { apply_assign_cudd_function(PBORI_PREFIX(Cudd_zddUnion), mgr, first, second); } void diffAssign(navigator& first, const navigator& second) const { apply_assign_cudd_function(PBORI_PREFIX(Cudd_zddDiff), mgr, first, second); } navigator diff(const navigator& first, const navigator& second) const { return apply_cudd_function(PBORI_PREFIX(Cudd_zddDiff), mgr, first, second); } void replacingNode(navigator& newNode, idx_type idx, navigator& first, navigator& second) const { newNode = navigator(PBORI_PREFIX(cuddZddGetNode)(mgr, idx, first.getNode(), second.getNode())); newNode.incRef(); recursive_dec_ref(mgr, first); recursive_dec_ref(mgr, second); } void newNodeAssign(idx_type idx, navigator& thenNode, const navigator& elseNode) const { navigator newNode = navigator(PBORI_PREFIX(cuddZddGetNode)(mgr, idx, thenNode.getNode(), elseNode.getNode())); newNode.incRef(); //PBORI_PREFIX(Cudd_Deref)(thenNode); recursive_dec_ref(mgr, thenNode); thenNode = newNode; } void multiplesAssign(navigator& node, idx_type idx) const { newNodeAssign(idx, node, node); } void productAssign(navigator& node, idx_type idx) const { navigator emptyset = navigator(PBORI_PREFIX(Cudd_ReadZero)(mgr)); newNodeAssign(idx, node, emptyset); } void assign(navigator& first, const navigator& second) const { first = second; first.incRef(); } void replace(navigator& first, const navigator& second) const { recursive_dec_ref(mgr, first); first = second; } size_type nSupport(const navigator& node) const { return PBORI_PREFIX(Cudd_SupportSize)(mgr, node.getNode()); } size_type length(const navigator& node) const { return PBORI_PREFIX(Cudd_zddCount)(mgr, node.getNode()); } navigator& newNode(navigator& node) const { node.incRef(); return node; } void kill(navigator& node) const { recursive_dec_ref(mgr, node); } protected: manager_type mgr; }; /// A first version /// Function templates extracting minimal elements of dd wrt. inclusion /// Assumption, navi is navigator of dd template //DDType NaviType dd_minimal_elements(NaviType navi,DDType2& multiples, ReverseIterator idxStart, ReverseIterator idxEnd, const DDOperations& apply) { if (!navi.isConstant()) { // Not at end of path int nlen = apply.length(navi); if(false&&(nlen == 2)) { // std::cerr << "hier"< indices (apply.nSupport(navi)); std::vector::iterator iter(indices.begin()), iend(indices.end()); bool is_reducible = true; bool reducible_tested = false; int used = 0; NaviType thenBr; NaviType elseBr; while( is_reducible&&(!multiples.isConstant())) { *iter = *multiples; used++; thenBr = multiples.thenBranch(); elseBr = multiples.elseBranch(); if((elseBr.isConstant() && elseBr.terminalValue())) { --iter; --used; multiples = elseBr; } else if (elseBr.isConstant() && !elseBr.terminalValue()) multiples = thenBr; else { if (!reducible_tested){ reducible_tested == true; is_reducible = is_reducible_by(thenBr, elseBr); } if(is_reducible){ --iter; --used; } multiples = elseBr; } ++iter; } indices.resize(used); if (is_reducible) { std::vector::const_reverse_iterator start(indices.rbegin()), finish(indices.rend()); // int nmax = dd.nVariables(); inc_ref(multiples); NaviType tmp,tmpnavi; apply.assign(tmpnavi, multiples); ReverseIterator idxIter = idxStart; while(start != finish){ while((idxIter != idxEnd) && (*idxIter > *start) ) { apply.multiplesAssign(multiples, *idxIter); ++idxIter; } apply.productAssign(multiples, *start); apply.productAssign(tmpnavi, *start); if(idxIter != idxEnd) ++idxIter; ++start; } navi = tmpnavi; return navi; } // else { // Subcase: two proper terms // thenBr = indexed_term_multiples(thenBr, idxStart, idxEnd, apply); // elseBr = indexed_term_multiples(elseBr, idxStart, idxEnd, apply); // } #endif } if(nlen == 1) { // Special case of only one term // PBORI_PREFIX(Cudd_Ref)(navi); multiples = indexed_term_multiples(navi, idxStart, idxEnd, apply); return apply.newNode(navi); } // treat else branch NaviType elseMult; NaviType elsedd = dd_minimal_elements(navi.elseBranch(), elseMult, idxStart, idxEnd, apply); elseMult = prepend_multiples_wrt_indices(elseMult, *navi, idxStart, idxEnd, apply); // short cut for obvious inclusion if( (navi.elseBranch() == navi.thenBranch()) || (elsedd.isConstant() && elsedd.terminalValue()) ){ multiples = elseMult; return elsedd; } // remove already treated branches NaviType thenNavi(apply.diff(navi.thenBranch(), elseMult)); // treat remaining parts of then branch NaviType thenMult; apply.replace(thenNavi, dd_minimal_elements(thenNavi, thenMult, idxStart, idxEnd, apply)); thenMult = prepend_multiples_wrt_indices(thenMult, *navi, idxStart, idxEnd, apply); // generate node consisting of all multiples apply.uniteAssign(thenMult, elseMult); apply.replacingNode(multiples, *navi, thenMult, elseMult); // generate result from minimal elements of then and else brach NaviType result; apply.replacingNode(result, *navi, thenNavi, elsedd); return result; } apply.assign(multiples, navi); return apply.newNode(navi); } END_NAMESPACE_PBORI #endif BRiAl-1.2.12/libbrial/include/polybori/routines/pbori_algorithms.h000066400000000000000000000213411436062512100251560ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file pbori_algorithms.h * * @author Alexander Dreyer * @date 2007-05-11 * * This file contains algorithmic procedures, which can be used together with * PolyBoRi classes. * @note This file depends on several PolyBoRi classes, so it should * not be included by PolyBoRi headers (excl. polybori.h), because this would * lead to curious dependencies. Several templates, which do not depend on * PolyBoRi classes can be found in pbori_algo.h. * * @par Copyright: * (c) 2007 by The PolyBoRi Team **/ //***************************************************************************** #ifndef polybori_routines_pbori_algorithms_h_ #define polybori_routines_pbori_algorithms_h_ // include standard headers #include // include basic definitions #include // include PolyBoRi algorithm, which do not depend on PolyBoRi classes #include "pbori_algo.h" // include PolyBoRi class definitions, which are used here #include #include #include BEGIN_NAMESPACE_PBORI /// Compute spoly of two polynomials inline BoolePolynomial spoly(const BoolePolynomial& first, const BoolePolynomial& second){ BooleMonomial lead1(first.lead()), lead2(second.lead()); BooleMonomial prod = lead1; prod *= lead2; return ( first * (prod / lead1) ) + ( second * (prod / lead2) ); } template ValueType lower_term_accumulate(NaviType navi, LowerIterator lstart, LowerIterator lfinish, ValueType init) { PBORI_ASSERT(init.isZero()); /// @todo Maybe recursive caching is efficient here. if (lstart == lfinish){ return init; } if (navi.isConstant()) return (navi.terminalValue()? (ValueType)init.ring().one(): init); PBORI_ASSERT(*lstart >= *navi); ValueType result(init.ring()); if (*lstart > *navi) { ValueType reselse = lower_term_accumulate(navi.elseBranch(), lstart, lfinish, init); // if(reselse.isZero()) // return BooleSet(navi.thenBranch()).change(*navi); // Note: result == BooleSet(navi) holds only in trivial cases, so testing // reselse.navigation() == navi.elseBranch() is almost always false // Hence, checking reselse.navigation() == navi.elseBranch() for returning // navi, instead of result yields too much overhead. result = BooleSet(*navi, navi.thenBranch(), reselse.navigation(), init.ring()); } else { PBORI_ASSERT(*lstart == *navi); ++lstart; BooleSet resthen = lower_term_accumulate(navi.thenBranch(), lstart, lfinish, init).diagram(); result = resthen.change(*navi); } return result; } template ValueType upper_term_accumulate(UpperIterator ustart, UpperIterator ufinish, NaviType navi, ValueType init) { // Note: Recursive caching, wrt. a navigator representing the term // corresponding to ustart .. ufinish cannot be efficient here, because // dereferencing the term is as expensive as this procedure in whole. (Maybe // the generation of the BooleSet in the final line could be cached somehow.) // assuming (ustart .. ufinish) never means zero if (ustart == ufinish) return init.ring().one(); while (*navi < *ustart) navi.incrementElse(); ++ustart; NaviType navithen = navi.thenBranch(); ValueType resthen = upper_term_accumulate(ustart, ufinish, navithen, init); // The following condition holds quite often, so computation time may be saved if (navithen == resthen.navigation()) return BooleSet(navi, init.ring()); return BooleSet(*navi, resthen.navigation(), navi.elseBranch(), init.ring()); } // assuming lstart .. lfinish *not* marking the term one template ValueType term_accumulate(UpperIterator ustart, UpperIterator ufinish, NaviType navi, LowerIterator lstart, LowerIterator lfinish, ValueType init) { if (lstart == lfinish) return upper_term_accumulate(ustart, ufinish, navi, init); if (ustart == ufinish) return init.ring().one(); while (*navi < *ustart) navi.incrementElse(); ++ustart; if (navi.isConstant()) return BooleSet(navi, init.ring()); PBORI_ASSERT(*lstart >= *navi); ValueType result(init.ring()); if (*lstart > *navi) { ValueType resthen = upper_term_accumulate(ustart, ufinish, navi.thenBranch(), init); ValueType reselse = lower_term_accumulate(navi.elseBranch(), lstart, lfinish, init); result = BooleSet(*navi, resthen.navigation(), reselse.navigation(), init.ring()); } else { PBORI_ASSERT(*lstart == *navi); ++lstart; BooleSet resthen = term_accumulate(ustart, ufinish, navi.thenBranch(), lstart, lfinish, init).diagram(); result = resthen.change(*navi); } return result; } /// Routine for adding all terms given by iterators template ValueType term_accumulate(InputIterator first, InputIterator last, ValueType init) { #ifdef PBORI_ALT_TERM_ACCUMULATE if(last.isOne()) return upper_term_accumulate(first.begin(), first.end(), first.navigation(), init) + ValueType(1); ValueType result = term_accumulate(first.begin(), first.end(), first.navigation(), last.begin(), last.end(), init); // alternative /* ValueType result = upper_term_accumulate(first.begin(), first.end(), first.navigation(), init); result = lower_term_accumulate(result.navigation(), last.begin(), last.end(), init); */ // test for non-lex more complicated (see testsuite) PBORI_ASSERT((init.ring().ordering().isLexicographical()? result == std::accumulate(first, last, init): true) ); return result; #else /// @note: This line always uses the active manager! /// @todo: check correct manager if(first.isZero()) return typename ValueType::dd_type(init.ring(), first.navigation()); ValueType result = upper_term_accumulate(first.begin(), first.end(), first.navigation(), init); if(!last.isZero()) result += upper_term_accumulate(last.begin(), last.end(), last.navigation(), init); // test for non-lex more complicated (see testsuite) PBORI_ASSERT((init.ring().ordering().isLexicographical()? result == std::accumulate(first, last, init): true) ); return result; #endif } // determine the part of a polynomials of a given degree template SetType dd_mapping(const CacheType& cache, NaviType navi, NaviType map, SetType init) { if (navi.isConstant()) return cache.generate(navi); while (*map < *navi) { PBORI_ASSERT(!map.isConstant()); map.incrementThen(); } PBORI_ASSERT(*navi == *map); NaviType cached = cache.find(navi, map); // look whether computation was done before if (cached.isValid()) return SetType(cached, cache.ring()); SetType result = SetType(*(map.elseBranch()), dd_mapping(cache, navi.thenBranch(), map.thenBranch(), init), dd_mapping(cache, navi.elseBranch(), map.thenBranch(), init) ); // store result for later reuse cache.insert(navi, map, result.navigation()); return result; } template PolyType apply_mapping(const PolyType& poly, const MapType& map) { CCacheManagement cache(poly.ring()); return dd_mapping(cache, poly.navigation(), map.navigation(), typename PolyType::set_type(poly.ring())); } template PolyType generate_mapping(MonomType& fromVars, MonomType& toVars, PolyType init) { if(fromVars.isConstant()) { PBORI_ASSERT(fromVars.isOne() && toVars.isOne()); return fromVars; } MonomType varFrom = fromVars.firstVariable(); MonomType varTo = toVars.firstVariable(); fromVars.popFirst(); toVars.popFirst(); return (varFrom * generate_mapping(fromVars, toVars, init)) + varTo; } template PolyType mapping(PolyType poly, MonomType fromVars, MonomType toVars) { return apply_mapping(poly, generate_mapping(fromVars, toVars, PolyType(poly.ring())) ); } END_NAMESPACE_PBORI #endif // pbori_algorithms_h_ BRiAl-1.2.12/libbrial/include/polybori/routines/pbori_func.h000066400000000000000000000474241436062512100237520ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file pbori_func.h * * @author Alexander Dreyer * @date 2006-04-07 * * This file includes some functional templates templates. * * @par Copyright: * (c) 2006 by The PolyBoRi Team **/ //***************************************************************************** #ifndef polybori_routines_pbori_func_h_ #define polybori_routines_pbori_func_h_ // get polybori definitions #include // get polybori properties #include // get standard string and string stream functionality #include #include #include BEGIN_NAMESPACE_PBORI /// @class push_back /// @brief Accessing .push_back() template class push_back { public: ListType operator()(ListType theList, const ValueType& elt) const { theList.push_back(elt); return theList; } }; /// @class change /// @brief Accessing .change() template class change_idx { public: RhsType operator() (const RhsType& rhs, const LhsType& lhs) const { return (rhs.change(lhs)); } }; /// @class change_assign /// @brief Accessing .changeAssign() template ::idx_type > class change_assign; // default variant template class change_assign { public: RhsType& operator() (RhsType& rhs, const LhsType& lhs) const { return (rhs = rhs.change(lhs)); } }; // template specialization template<> class change_assign::idx_type> { public: template RhsType& operator() (RhsType& rhs, const LhsType& lhs) const { return (rhs = rhs.change(lhs)); } }; /// @class subset1_assign /// @brief Accessing .subset1Assign() template class subset1_assign { public: RhsType& operator() (RhsType& rhs, const LhsType& lhs) const { rhs = rhs.subset1(lhs); return rhs; } }; /// @class subset0_assign /// @brief Accessing .subset1Assign() template class subset0_assign { public: RhsType& operator() (RhsType& rhs, const LhsType& lhs) const { return (rhs = rhs.subset0(lhs)); } }; /// @class unite_assign /// @brief Accessing .uniteAssign() template ::idx_type > class unite_assign { public: RhsType& operator() (RhsType& rhs, const LhsType& lhs) const { return (rhs = rhs.unite(lhs)); } }; // @class project_ith /// @brief Accessing ith of n arguments /// (ITH = 0 returns default value of first type) /// /// @note The argument NLEN is not necessary, but is may be used to indicate the /// argument length for documentation reasons. template class project_ith; /// @class project_ith /// @brief Virtually does nothing with the given arguments template class project_ith<0, NLEN> { public: /// Functional operator template void operator() (const ValueType&, ...) const { } }; /// @class project_ith /// @brief Is the identity functional or projection to first argument template class project_ith<1, NLEN> { public: /// Constant functional operator template template const ValueType& operator() (const ValueType& value, ...) const { return value; } /// Functional operator template template ValueType& operator() (ValueType& value, ...) const { return value; } }; /// @class project_ith /// @brief Project to the second of all given arguments template class project_ith<2, NLEN> { public: /// Constant functional operator template template const ValueType& operator() (const FirstType&, const ValueType& value, ...) const { return value; } /// Functional operator template template ValueType& operator() (const FirstType&, ValueType& value, ...) const { return value; } }; /// @class project_ith /// @brief Project to the third of all given arguments template class project_ith<3, NLEN> { public: /// Functional operator template template const ValueType& operator() (const FirstType&, const SecondType&, const ValueType& value, ...) const { return value; } /// Constant functional operator template template ValueType& operator() (const FirstType&, const SecondType&, ValueType& value, ...) const { return value; } }; /* class print_all { public: print_all(std::ostream& os_):os(os_){} template Type& operator()(Type& val){ std::copy(val.begin(), val.end(), std::ostream_iterator(os, ", ")); return val; } std::ostream& os; }; */ /// @class dummy_iterator /// @brief An iterator which virtually does nothing. class dummy_iterator { public: /// Type of *this typedef dummy_iterator self; template const self& operator=(const Type&) const { return *this;} const self& operator*() const { return *this;} const self& operator++() const { return *this;} const self& operator++(int) const { return *this;} }; template <> class pbori_traits: public CTypes { }; /// @class integral_constant /// @brief integral_constant()() returns NUM of int_type, instead /// of possibly arguments. /// integral_constant()() returns conversion of /// NUM of int_type to other_type. template struct integral_constant { typedef ResultType result_type; enum { result = INTCONST }; result_type operator()(...) const { return result; } }; /// @class binary_composition /// @brief Compose a binary function with two default constructable unary /// functions. template class binary_composition: public BinaryOp { public: /// Define types corresponding to template arguments //@{ typedef BinaryOp base; typedef FirstOp first_op_type; typedef SecondOp second_op_type; //@} // Constructor binary_composition(const base& binop = base(), const first_op_type& unop1 = first_op_type(), const second_op_type& unop2 = second_op_type() ): base(binop), first_op(unop1), second_op(unop2) {} /// Getting inherited types typedef typename base::result_type result_type; /// The composed operation for constant arguments template result_type operator()(const FirstType& first, const SecondType& second) const { return base::operator()(first_op(first), second_op(second)); } /// The composed operation for constant second argument template result_type operator()(FirstType& first, const SecondType& second) const { return base::operator()(first_op(first), second_op(second)); } /// The composed operation for constant first argument template result_type operator()(const FirstType& first, SecondType& second) const { return base::operator()(first_op(first), second_op(second)); } protected: first_op_type first_op; second_op_type second_op; }; /// @class symmetric_composition /// @brief Compose a binary function with a default constructable unary /// function for both arguments. template class symmetric_composition: public binary_composition { public: /// Define types corresponding to template arguments //@{ typedef BinaryOp binary_op_type; typedef UnaryOperation unary_op_type; typedef binary_composition base; //@} // Constructor symmetric_composition(const binary_op_type& binop = binary_op_type(), const unary_op_type& unop = unary_op_type() ): base(binop, unop, unop) {} }; /// @class maximum_iteration /// @brief Returns maximun of given argument and previous calls template class maximum_iteration { public: maximum_iteration(ValueType & init) : max(init){} ValueType& operator()(const ValueType& val) const { return max = std::max(max, val); } private: ValueType & max; }; /// @class dd_add_assign /// @brief Defines addition operation with assignment for decision diagrams. template class dd_add_assign { public: DDType& operator()(DDType& lhs, const DDType& rhs) const { // several possible implementations return #if defined(PBORI_ADD_BY_OR) (lhs = (lhs.diff(rhs)).unite(rhs.diff(lhs))); # elif defined(PBORI_ADD_BY_UNION) (lhs = lhs.unite(rhs).diff( lhs.intersect(rhs) ) ); # elif defined(PBORI_ADD_BY_EXTRA_XOR) || defined(PBORI_ADD_BY_XOR) (lhs = lhs.Xor(rhs)); #endif } }; /// @class times_indexed_var /// @brief Defines multiplication operation with the idx-th variable template class times_indexed_var { public: DDType& operator()(DDType& lhs, IdxType idx) const { // get all terms not containing the variable with index idx DDType tmp( lhs.subset0(idx) ); // get the complementary terms lhs = lhs.diff(tmp); // construct polynomial terms dd_add_assign()(lhs, tmp.change(idx)); return lhs; } }; /// @class append_indexed_divisor /// @brief Defines multiplication (with assignment) with the idx-th variable template class append_indexed_divisor { public: DDType& operator()(DDType& lhs, IdxType idx) const { lhs = lhs.unite( lhs.change(idx) ); return lhs; } }; /// @class inserts /// @brief Accessing .insert() // template // class inserts: // public std::binary_function { // public: // RhsType& operator() (RhsType& rhs, const LhsType& lhs) const { // rhs.insert(lhs); // return rhs; // } // }; /// @class insert /// @brief Accessing .insert() template ::idx_type > class inserts; template class inserts { public: RhsType& operator() (RhsType& rhs, const LhsType& lhs) const { rhs.insert(lhs); return rhs; } }; template <> class inserts::idx_type> { public: template RhsType& operator() (RhsType& rhs, const LhsType& lhs) const { rhs.insert(lhs); return rhs; } }; /// @class insert_assign /// @brief Accessing .insertAssign() template ::idx_type > class insert_assign; template class insert_assign { public: RhsType& operator() (RhsType& rhs, const LhsType& lhs) const { rhs.insertAssign(lhs); return rhs; } }; template <> class insert_assign::idx_type> { public: template RhsType& operator() (RhsType& rhs, const LhsType& lhs) const { rhs.insertAssign(lhs); return rhs; } }; /// @class removes /// @brief Accessing .remove() template ::idx_type > class removes; template class removes { public: RhsType& operator() (RhsType& rhs, const LhsType& lhs) const { rhs.remove(lhs); return rhs; } }; template <> class removes::idx_type> { public: template RhsType& operator() (RhsType& rhs, const LhsType& lhs) const { rhs.remove(lhs); return rhs; } }; /// @class remove_assign /// @brief Accessing .removeAssign() template ::idx_type > class remove_assign; template class remove_assign { public: RhsType& operator() (RhsType& rhs, const LhsType& lhs) const { rhs.removeAssign(lhs); return rhs; } }; template <> class remove_assign::idx_type> { public: template RhsType& operator() (RhsType& rhs, const LhsType& lhs) const { rhs.removeAssign(lhs); return rhs; } }; /// @class insert_second_to_list /// @brief Insert second argument to a given list template class insert_second_to_list { public: insert_second_to_list(ListType& theList__): theList(theList__) {}; RhsType& operator() (RhsType& rhs, const LhsType& lhs) const { theList.insert(lhs); return rhs; } private: ListType& theList; }; /** @class is_same_type * @brief This class tests whether two types equal **/ template class is_same_type; template class is_same_type: public integral_constant {}; template class is_same_type: public integral_constant {}; template class is_valid: public is_same_type {}; /** @class on_same_type * @brief This class switches betweem two types, depending on equality of types **/ template class on_same_type; template class on_same_type { public: typedef ThenType type; }; template class on_same_type { public: typedef ElseType type; }; /** @class internal_tag * @brief This class marks an internal part of a procedure **/ struct internal_tag {}; /** @class type_tag * @brief This class marks a given type **/ template struct type_tag {}; template class hashes { public: typedef typename Type::hash_type hash_type; hash_type operator() (const Type& rhs) const{ return rhs.hash(); } }; template class generate_index_map { typedef typename Type::idx_type idx_type; public: /// Type for index maps typedef std::unordered_map > type; }; /** @class sizes_less * @brief A functional for size comparisons. **/ template class sizes_less { public: bool operator()(const ListType& lhs, const ListType& rhs) const { return (lhs.size() < rhs.size()); } }; /** @class reversed_iteration * @brief Interchanges operator++ and operator-- of a given iterator. **/ template class reversed_iteration_adaptor { public: /// The iterator type to be reversed typedef BiIterator iterator; /// Generic access to type of *this typedef reversed_iteration_adaptor self; /// @name Interface types for standard iterator access //@{ typedef std::bidirectional_iterator_tag iterator_category; typedef typename std::iterator_traits::difference_type difference_type; typedef typename std::iterator_traits::pointer pointer; typedef typename std::iterator_traits::reference reference; typedef typename std::iterator_traits::value_type value_type; //@} /// Constructor reversed_iteration_adaptor(const iterator& iter): m_iter(iter) {} /// Dereferecing operation reference operator*() const { return *m_iter; } /// Prefix increment operator self& operator++() { --m_iter; return *this; } /// Prefix decrement operator self& operator--() { ++m_iter; return *this; } bool operator==(const self& rhs) const { return m_iter == rhs.m_iter; } bool operator!=(const self& rhs) const { return m_iter != rhs.m_iter; } iterator get() const { return m_iter; } protected: iterator m_iter; }; template class navigates { public: /// Type of decision diagram typedef DDType dd_type; /// Type for navigation through diagram typedef typename DDType::navigator navigator; /// Generic access to base type (replaced from unary_function) class base { public: typedef dd_type argument_type; typedef navigator result_type; }; /// The actual operation typename base::result_type operator()(const dd_type& rhs) const{ return rhs.navigation(); } }; template class default_value { public: typedef ValueType value_type; value_type operator()(...) const{ return value_type(); } }; // /** @class property_owner // * @brief defines generic base for properties // **/ // template // class property_owner { // public: // /// Set marker for validity // typedef typename // on_same_type::type property; // /// Generate Boolean member function // is_same_type hasProperty; // }; /** @class variable_name * @brief Defines generic access to variable names **/ template class variable_name { public: typedef ManagerType manager_type; typedef IdxType idx_type; typedef VarNameType varname_type; /// Constructor variable_name(const manager_type& mgr): m_mgr(mgr) {} /// Funtional operator varname_type operator()(idx_type idx) const{ return m_mgr.getVariableName(idx); } protected: /// Store reference to manager const manager_type& m_mgr; }; template class mapped_new_node { public: typedef MapType map_type; typedef NodeType node_type; typedef typename node_type::idx_type idx_type; mapped_new_node(const map_type& the_map): m_map(the_map) {} NodeType operator()(idx_type idx, const node_type& first, const node_type& second) const{ return ((TermType)VariableType(m_map[idx]))*first + second; } private: const map_type& m_map; }; /** @class get_base * @brief Declaration, which can be used to define base classes for * inheritance of classes in advance. **/ template struct pbori_base; template class get_node { public: typename DDType::node_type operator()(const DDType& rhs) const { return rhs.getNode(); } }; // template // struct handle_error { // typedef mgrcore_traits::errorfunc_type errorfunc_type; // handle_error(errorfunc_type errfunc): m_errfunc(errfunc) {} // bool found(unsigned err) const { // if PBORI_UNLIKELY(err == ErrorNumber) { // m_errfunc(cudd_error_traits()()); // return true; // } // return false; // } // void operator()(unsigned err) const { // if PBORI_UNLIKELY(err == ErrorNumber) // m_errfunc(cudd_error_traits()()); // else // reinterpret_cast&>(*this)(err); // } // protected: // const errorfunc_type m_errfunc; // }; // template<> // struct handle_error<0> { // typedef mgrcore_traits::errorfunc_type errorfunc_type; // handle_error(errorfunc_type errfunc): m_errfunc(errfunc) {} // void operator()(unsigned err) const { // if PBORI_LIKELY(err == 0) // m_errfunc(cudd_error_traits<0>()()); // } // protected: // errorfunc_type m_errfunc; // }; END_NAMESPACE_PBORI #endif BRiAl-1.2.12/libbrial/include/polybori/routines/pbori_routines.h000066400000000000000000000020471436062512100246570ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file pbori_routines.h * * @author Alexander Dreyer * @date 2006-08-23 * * This file includes files, which define function templates for internal use * in the polybori library. * * @par Copyright: * (c) 2006 by The PolyBoRi Team **/ //***************************************************************************** #ifndef polybori_routines_pbori_routines_h_ #define polybori_routines_pbori_routines_h_ // include basic definitions #include // include polybori algorithms and functionals #include "pbori_algo.h" #include "pbori_func.h" // Get routines, which add features related to decision diagrams #include "pbori_routines_dd.h" // Get routines, which add features related to Cudd library #include "pbori_routines_cuddext.h" // Get additional routines #include "pbori_routines_misc.h" // Get order-related routines #include "pbori_routines_order.h" // Get hash-related routines #include "pbori_routines_hash.h" #endif BRiAl-1.2.12/libbrial/include/polybori/routines/pbori_routines_cuddext.h000066400000000000000000000033531436062512100264000ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file pbori_routines_cuddext.h * * @author Alexander Dreyer * @date 2006-08-23 * * This file includes files, which define function templates related to * decision diagrams. It should be loaded from pbori_routines.h only * * @par Copyright: * (c) 2006-2010 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_routines_pbori_routines_cuddext_h_ #define polybori_routines_pbori_routines_cuddext_h_ // include basic definitions #include #include BEGIN_NAMESPACE_PBORI /// Other routines currently at external public header file pbori_algo.h /// Function template template inline typename MapType::mapped_type dd_long_count_step(MapType& cache, NaviType navi) { if(navi.isConstant()) return navi.terminalValue(); { typename MapType::iterator iter = cache.find(navi); if (iter != cache.end()) return iter->second; } return cache[navi] = dd_long_count_step(cache, navi.thenBranch()) + dd_long_count_step(cache, navi.elseBranch()); } /// Function template for generically computing number of terms template inline IntType dd_long_count(NaviType navi) { std::map local_cache; return dd_long_count_step(local_cache, navi); } template inline IntType dd_long_count_without_cache(NaviType navi) { if(navi.isConstant()) return navi.terminalValue(); return dd_long_count(navi.thenBranch()) + dd_long_count(navi.elseBranch()); } END_NAMESPACE_PBORI #endif BRiAl-1.2.12/libbrial/include/polybori/routines/pbori_routines_dd.h000066400000000000000000000031501436062512100253220ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file pbori_routines_dd.h * * @author Alexander Dreyer * @date 2006-08-23 * * This file includes files, which define function templates related to * decision diagrams. It should be loaded from pbori_routines.h only * * @par Copyright: * (c) 2006 by The PolyBoRi Team **/ //***************************************************************************** #ifndef polybori_routines_pbori_routines_dd_h_ #define polybori_routines_pbori_routines_dd_h_ // include basic definitions #include // get addition definitions #include #include #include #include BEGIN_NAMESPACE_PBORI /// Get last term (wrt. lexicographical order). template OutputType dd_last_lexicographical_term(const DDType& dd, type_tag) { typedef typename DDType::idx_type idx_type; typedef typename DDType::size_type size_type; typedef OutputType term_type; term_type result(dd.ring()); PBORI_ASSERT(!dd.isZero()); size_type nlen = std::distance(dd.lastBegin(), dd.lastEnd()); // store indices in list std::vector indices(nlen); // iterator, which uses changeAssign to insert variable // wrt. given indices to a monomial PBoRiOutIter > outiter(result); // insert backward (for efficiency reasons) reversed_inter_copy(dd.lastBegin(), dd.lastEnd(), indices, outiter); return result; } END_NAMESPACE_PBORI #endif BRiAl-1.2.12/libbrial/include/polybori/routines/pbori_routines_hash.h000066400000000000000000000040301436062512100256540ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file pbori_routines_hash.h * * @author Alexander Dreyer * @date 2006-08-23 * * This file includes files, which defines miscellaneous function templates. * * @par Copyright: * (c) 2006 by The PolyBoRi Team **/ //***************************************************************************** #ifndef polybori_routines_pbori_routines_hash_h_ #define polybori_routines_pbori_routines_hash_h_ // include basic definitions #include #include BEGIN_NAMESPACE_PBORI template void stable_hash_range(HashType& seed, NaviType navi) { if (navi.isConstant()) { if (navi.terminalValue()) boost::hash_combine(seed, CTypes::max_index()); return; } boost::hash_combine(seed, *navi); stable_hash_range(seed, navi.thenBranch()); stable_hash_range(seed, navi.elseBranch()); } template std::size_t stable_hash_range(NaviType navi) { std::size_t seed = 0; stable_hash_range(seed, navi); return seed; } template void finalize_term_hash(HashType& seed) { boost::hash_combine(seed, CTypes::max_index()); } template void stable_first_hash_range(HashType& seed, NaviType navi) { while (!navi.isConstant()) { boost::hash_combine(seed, *navi); navi.incrementThen(); } if (navi.terminalValue()) finalize_term_hash(seed); } template std::size_t stable_first_hash_range(NaviType navi) { std::size_t seed = 0; stable_first_hash_range(seed, navi); return seed; } template void stable_term_hash(HashType& seed, Iterator start, Iterator finish) { boost::hash_range(seed, start, finish); finalize_term_hash(seed); } template std::size_t stable_term_hash(Iterator start, Iterator finish) { std::size_t seed(0); stable_term_hash(seed, start, finish); return seed; } END_NAMESPACE_PBORI #endif BRiAl-1.2.12/libbrial/include/polybori/routines/pbori_routines_misc.h000066400000000000000000000704221436062512100256740ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file pbori_routines_misc.h * * @author Alexander Dreyer * @date 2006-08-23 * * This file includes files, which defines miscellaneous function templates. * * @par Copyright: * (c) 2006 by The PolyBoRi Team **/ //***************************************************************************** #ifndef polybori_routines_pbori_routines_misc_h_ #define polybori_routines_pbori_routines_misc_h_ // include basic definitions #include // temprarily #include #include BEGIN_NAMESPACE_PBORI template typename Iterator::value_type index_vector_hash(Iterator start, Iterator finish){ typedef typename Iterator::value_type value_type; value_type vars = 0; value_type sum = 0; while (start != finish){ vars++; sum += ((*start)+1) * ((*start)+1); ++start; } return sum * vars; } /// Function templates for determining the degree of a decision diagram /// with the help of cache (e. g. CDegreeCache) template typename NaviType::deg_type dd_cached_degree(const DegreeCacher& cache, NaviType navi) { typedef typename NaviType::deg_type deg_type; if (navi.isConstant()){ // No need for caching of constant nodes' degrees if (navi.terminalValue()) return 0; else return -1; } // Look whether result was cached before typename DegreeCacher::node_type result = cache.find(navi); if (result.isValid()) return (*result); // Get degree of then branch (contains at least one valid path)... deg_type deg = dd_cached_degree(cache, navi.thenBranch()) + 1; // ... combine with degree of else branch deg = std::max(deg, dd_cached_degree(cache, navi.elseBranch()) ); // Write result to cache cache.insert(navi, deg); return deg; } /// Function templates for determining the degree of a decision diagram /// with the help of cache (e. g. CDegreeCache) /// Variant *with* given upper bound /// Assumming that the bound is valid! template typename NaviType::deg_type dd_cached_degree(const DegreeCacher& cache, NaviType navi, SizeType bound) { typedef typename NaviType::deg_type deg_type; if (bound < 0) { return -1; } // No need for caching of constant nodes' degrees if (bound == 0) { while(!navi.isConstant()) navi.incrementElse(); } if (navi.isConstant()) return (navi.terminalValue()? 0: -1); // Look whether result was cached before typename DegreeCacher::node_type result = cache.find(navi, bound); if (result.isValid()) return *result; // Get degree of then branch (contains at least one valid path)... deg_type deg = dd_cached_degree(cache, navi.thenBranch(), bound - 1); if (deg >= 0) ++deg; // ... combine with degree of else branch if (bound > deg) // if deg <= bound, we are already finished deg = std::max(deg, dd_cached_degree(cache, navi.elseBranch(), bound) ); // Write result to cache if (deg >= 0) { PBORI_ASSERT(bound >= 0); cache.insert(navi, bound, deg); } return deg; } template void dd_print_term(Iterator start, Iterator finish, const NameGenerator& get_name, const Separator& sep, const EmptySetType& emptyset, OStreamType& os){ if (start != finish){ os << get_name(*start); ++start; } else os << emptyset(); while (start != finish){ os << sep() << get_name(*start); ++start; } } template void dd_print_term(const TermType& term, const NameGenerator& get_name, const Separator& sep, const EmptySetType& emptyset, OStreamType& os){ dd_print_term(term.begin(), term.end(), get_name, sep, emptyset, os); } template void dd_print_terms(Iterator start, Iterator finish, const NameGenerator& get_name, const Separator& sep, const InnerSeparator& innersep, const EmptySetType& emptyset, OStreamType& os) { if (start != finish){ dd_print_term(*start, get_name, innersep, emptyset, os); ++start; } while (start != finish){ os << sep(); dd_print_term(*start, get_name, innersep, emptyset, os); ++start; } } template PolyType dd_multiply(const CacheType& cache_mgr, NaviType firstNavi, NaviType secondNavi, PolyType init){ // Extract subtypes typedef typename PolyType::dd_type dd_type; typedef typename NaviType::idx_type idx_type; typedef NaviType navigator; if (firstNavi.isConstant()) { if(firstNavi.terminalValue()) return cache_mgr.generate(secondNavi); else return cache_mgr.zero(); } if (secondNavi.isConstant()) { if(secondNavi.terminalValue()) return cache_mgr.generate(firstNavi); else return cache_mgr.zero(); } if (firstNavi == secondNavi) return cache_mgr.generate(firstNavi); // Look up, whether operation was already used navigator cached = cache_mgr.find(firstNavi, secondNavi); PolyType result(cache_mgr.zero()); if (cached.isValid()) { // Cache lookup sucessful return cache_mgr.generate(cached); } else { // Cache lookup not sucessful // Get top variable's index if (*secondNavi < *firstNavi) std::swap(firstNavi, secondNavi); idx_type index = *firstNavi; // Get then- and else-branches wrt. current indexed variable navigator as0 = firstNavi.elseBranch(); navigator as1 = firstNavi.thenBranch(); navigator bs0; navigator bs1; if (*secondNavi == index) { bs0 = secondNavi.elseBranch(); bs1 = secondNavi.thenBranch(); } else { bs0 = secondNavi; bs1 = cache_mgr.zero().navigation(); } PolyType result0 = dd_multiply(cache_mgr, as0, bs0, init); PolyType result1(cache_mgr.zero()); // use fast multiplication if (use_fast && (*firstNavi == *secondNavi)) { PolyType res10 = PolyType(cache_mgr.generate(as1)) + PolyType(cache_mgr.generate(as0)); PolyType res01 = PolyType(cache_mgr.generate(bs0)) + PolyType(cache_mgr.generate(bs1)); result1 = dd_multiply(cache_mgr, res10.navigation(), res01.navigation(), init) - result0; } // not using fast multiplication else if (as0 == as1) { result1 = dd_multiply(cache_mgr, bs0, as1, init); } else { result1 = dd_multiply(cache_mgr, as0, bs1, init); if (bs0 != bs1){ PolyType bs01 = PolyType(cache_mgr.generate(bs0)) + PolyType(cache_mgr.generate(bs1)); result1 += dd_multiply(cache_mgr, bs01.navigation(), as1, init); } } result = dd_type(index, result1.diagram(), result0.diagram()); // Insert in cache cache_mgr.insert(firstNavi, secondNavi, result.navigation()); } // end of Cache lookup not sucessful return result; } template PolyType dd_multiply_recursively(const CacheType& cache_mgr, NaviType firstNavi, NaviType secondNavi, PolyType init){ enum { use_fast = #ifdef PBORI_FAST_MULTIPLICATION true #else false #endif }; return dd_multiply(cache_mgr, firstNavi, secondNavi, init); } template PolyType dd_multiply_recursively_monom(const CacheType& cache_mgr, NaviType monomNavi, NaviType navi, PolyType init){ // Extract subtypes typedef typename PolyType::dd_type dd_type; typedef typename NaviType::idx_type idx_type; typedef NaviType navigator; if (monomNavi.isConstant()) { if(monomNavi.terminalValue()) return cache_mgr.generate(navi); else return cache_mgr.zero(); } PBORI_ASSERT(monomNavi.elseBranch().isEmpty()); if (navi.isConstant()) { if(navi.terminalValue()) return cache_mgr.generate(monomNavi); else return cache_mgr.zero(); } if (monomNavi == navi) return cache_mgr.generate(monomNavi); // Look up, whether operation was already used navigator cached = cache_mgr.find(monomNavi, navi); if (cached.isValid()) { // Cache lookup sucessful return cache_mgr.generate(cached); } // Cache lookup not sucessful // Get top variables' index idx_type index = *navi; idx_type monomIndex = *monomNavi; if (monomIndex < index) { // Case: index may occure within monom init = dd_multiply_recursively_monom(cache_mgr, monomNavi.thenBranch(), navi, init).diagram().change(monomIndex); } else if (monomIndex == index) { // Case: monom and poly start with same index // Increment navigators navigator monomThen = monomNavi.thenBranch(); navigator naviThen = navi.thenBranch(); navigator naviElse = navi.elseBranch(); if (naviThen != naviElse) init = (dd_multiply_recursively_monom(cache_mgr, monomThen, naviThen, init) + dd_multiply_recursively_monom(cache_mgr, monomThen, naviElse, init)).diagram().change(index); } else { // Case: var(index) not part of monomial init = dd_type(index, dd_multiply_recursively_monom(cache_mgr, monomNavi, navi.thenBranch(), init).diagram(), dd_multiply_recursively_monom(cache_mgr, monomNavi, navi.elseBranch(), init).diagram() ); } // Insert in cache cache_mgr.insert(monomNavi, navi, init.navigation()); return init; } template PolyType dd_multiply_recursively_exp(const DDGenerator& ddgen, Iterator start, Iterator finish, NaviType navi, PolyType init){ // Extract subtypes typedef typename NaviType::idx_type idx_type; typedef typename PolyType::dd_type dd_type; typedef NaviType navigator; if (start == finish) return ddgen.generate(navi); PolyType result(ddgen.zero()); if (navi.isConstant()) { if(navi.terminalValue()) { std::reverse_iterator rstart(finish), rfinish(start); result = ddgen.generate(navi); while (rstart != rfinish) { result = result.diagram().change(*rstart); ++rstart; } } else return ddgen.zero(); return result; } // Cache lookup not sucessful // Get top variables' index idx_type index = *navi; idx_type monomIndex = *start; if (monomIndex < index) { // Case: index may occure within monom Iterator next(start); while( (next != finish) && (*next < index) ) ++next; result = dd_multiply_recursively_exp(ddgen, next, finish, navi, init); std::reverse_iterator rstart(next), rfinish(start); while (rstart != rfinish) { result = result.diagram().change(*rstart); ++rstart; } } else if (monomIndex == index) { // Case: monom and poly start with same index // Increment navigators ++start; navigator naviThen = navi.thenBranch(); navigator naviElse = navi.elseBranch(); if (naviThen != naviElse) result =(dd_multiply_recursively_exp(ddgen, start, finish, naviThen, init) + dd_multiply_recursively_exp(ddgen, start, finish, naviElse, init)).diagram().change(index); } else { // Case: var(index) not part of monomial result = dd_type(index, dd_multiply_recursively_exp(ddgen, start, finish, navi.thenBranch(), init).diagram(), dd_multiply_recursively_exp(ddgen, start, finish, navi.elseBranch(), init).diagram() ); } return result; } template bool max_degree_on_then(const DegCacheMgr& deg_mgr, NaviType navi, SizeType degree, valid_tag is_descending) { navi.incrementThen(); return ((dd_cached_degree(deg_mgr, navi, degree - 1) + 1) == degree); } template bool max_degree_on_then(const DegCacheMgr& deg_mgr, NaviType navi, SizeType degree, invalid_tag non_descending) { navi.incrementElse(); return (dd_cached_degree(deg_mgr, navi, degree) != degree); } template NaviType dd_get_constant(NaviType navi) { while(!navi.isConstant()) { navi.incrementElse(); } return navi; } template class CIndexCacheHandle; // with degree bound template TermType dd_recursive_degree_lead(const CacheType& cache_mgr, const DegCacheMgr& deg_mgr, NaviType navi, TermType init, SizeType degree, DescendingProperty prop) { typedef CIndexCacheHandle deg2node; if PBORI_UNLIKELY(degree < 0) return cache_mgr.zero(); if (navi.isConstant()) return cache_mgr.generate(navi); if (degree == 0) return cache_mgr.generate(dd_get_constant(navi)); // Check cache for previous results NaviType cached = cache_mgr.find(navi, deg2node(degree, cache_mgr.manager())); if (cached.isValid()) return cache_mgr.generate(cached); // Go to next branch if ( max_degree_on_then(deg_mgr, navi, degree, prop) ) { NaviType then_branch = navi.thenBranch(); init = dd_recursive_degree_lead(cache_mgr, deg_mgr, then_branch, init, degree - 1, prop); if ((navi.elseBranch().isEmpty()) && (init.navigation()==then_branch)) init = cache_mgr.generate(navi); else init = init.change(*navi); } else { init = dd_recursive_degree_lead(cache_mgr, deg_mgr, navi.elseBranch(), init, degree, prop); } /// caching deactivated - wrong results might pollute the cache @todo fix NaviType resultNavi(init.navigation()); cache_mgr.insert(navi, deg2node(degree, cache_mgr.manager()), resultNavi); // if (!cache_mgr.find(resultNavi).isValid()) // deg_mgr.insert(resultNavi, degree, degree); return init; } template TermType dd_recursive_degree_lead(const CacheType& cache_mgr, const DegCacheMgr& deg_mgr, NaviType navi, TermType init, DescendingProperty prop){ // if (navi.isConstant()) // return cache_mgr.generate(dd_get_constant(navi)); return dd_recursive_degree_lead(cache_mgr, deg_mgr, navi, init, dd_cached_degree(deg_mgr, navi), prop); } template TermType& dd_recursive_degree_leadexp(const CacheType& cache_mgr, const DegCacheMgr& deg_mgr, NaviType navi, TermType& result, SizeType degree, DescendingProperty prop) { typedef CIndexCacheHandle deg2node; if PBORI_UNLIKELY(degree < 0) { result.resize(0); return result; } if (navi.isConstant()) return result; if (degree == 0) { while (!navi.isConstant()) navi.incrementElse(); if (!navi.terminalValue()) result.resize(0); return result; } // Check cache for previous result NaviType cached = cache_mgr.find(navi, deg2node(degree, cache_mgr.manager())); if (cached.isValid()) return result = result.multiplyFirst(cache_mgr.generate(cached)); // Prepare next branch if ( max_degree_on_then(deg_mgr, navi, degree, prop) ) { result.push_back(*navi); navi.incrementThen(); --degree; } else navi.incrementElse(); return dd_recursive_degree_leadexp(cache_mgr, deg_mgr, navi, result, degree, prop); } template TermType& dd_recursive_degree_leadexp(const CacheType& cache_mgr, const DegCacheMgr& deg_mgr, NaviType navi, TermType& result, DescendingProperty prop) { if (navi.isConstant()) return result; return dd_recursive_degree_leadexp(cache_mgr, deg_mgr, navi, result, dd_cached_degree(deg_mgr, navi), prop); } // Existential Abstraction. Given a ZDD F, and a set of variables // S, remove all occurrences of s in S from any subset in F. This can // be implemented by cofactoring F with respect to s = 1 and s = 0, // then forming the union of these results. template TermType dd_existential_abstraction(const CacheType& cache_mgr, NaviType varsNavi, NaviType navi, TermType init){ typedef typename TermType::dd_type dd_type; typedef typename TermType::idx_type idx_type; if (navi.isConstant()) return cache_mgr.generate(navi); idx_type index(*navi); while (!varsNavi.isConstant() && ((*varsNavi) < index)) varsNavi.incrementThen(); if (varsNavi.isConstant()) return cache_mgr.generate(navi); // Check cache for previous result NaviType cached = cache_mgr.find(varsNavi, navi); if (cached.isValid()) return cache_mgr.generate(cached); NaviType thenNavi(navi.thenBranch()), elseNavi(navi.elseBranch()); TermType thenResult = dd_existential_abstraction(cache_mgr, varsNavi, thenNavi, init); TermType elseResult = dd_existential_abstraction(cache_mgr, varsNavi, elseNavi, init); if ((*varsNavi) == index) init = thenResult.unite(elseResult); else if ( (thenResult.navigation() == thenNavi) && (elseResult.navigation() == elseNavi) ) init = cache_mgr.generate(navi); else init = dd_type(index, thenResult, elseResult); // Insert result to cache cache_mgr.insert(varsNavi, navi, init.navigation()); return init; } template PolyType dd_divide_recursively(const CacheType& cache_mgr, NaviType navi, NaviType monomNavi, PolyType init){ // Extract subtypes typedef typename NaviType::idx_type idx_type; typedef NaviType navigator; typedef typename PolyType::dd_type dd_type; if (monomNavi.isConstant()) { PBORI_ASSERT(monomNavi.terminalValue() == true); return cache_mgr.generate(navi); } PBORI_ASSERT(monomNavi.elseBranch().isEmpty()); if (navi.isConstant()) return cache_mgr.zero(); if (monomNavi == navi) return cache_mgr.one(); // Look up, whether operation was already used navigator cached = cache_mgr.find(navi, monomNavi); if (cached.isValid()) { // Cache lookup sucessful return cache_mgr.generate(cached); } // Cache lookup not sucessful // Get top variables' index idx_type index = *navi; idx_type monomIndex = *monomNavi; if (monomIndex == index) { // Case: monom and poly start with same index // Increment navigators navigator monomThen = monomNavi.thenBranch(); navigator naviThen = navi.thenBranch(); init = dd_divide_recursively(cache_mgr, naviThen, monomThen, init); } else if (monomIndex > index) { // Case: monomIndex may occure within poly init = dd_type(index, dd_divide_recursively(cache_mgr, navi.thenBranch(), monomNavi, init).diagram(), dd_divide_recursively(cache_mgr, navi.elseBranch(), monomNavi, init).diagram() ); } // Insert in cache cache_mgr.insert(navi, monomNavi, init.navigation()); return init; } template PolyType dd_divide_recursively_exp(const DDGenerator& ddgen, NaviType navi, Iterator start, Iterator finish, PolyType init){ // Extract subtypes typedef typename NaviType::idx_type idx_type; typedef typename PolyType::dd_type dd_type; typedef NaviType navigator; if (start == finish) return ddgen.generate(navi); if (navi.isConstant()) return ddgen.zero(); // Cache lookup not sucessful // Get top variables' index idx_type index = *navi; idx_type monomIndex = *start; PolyType result(ddgen.zero()); if (monomIndex == index) { // Case: monom and poly start with same index // Increment navigators ++start; navigator naviThen = navi.thenBranch(); result = dd_divide_recursively_exp(ddgen, naviThen, start, finish, init); } else if (monomIndex > index) { // Case: monomIndex may occure within poly result = dd_type(index, dd_divide_recursively_exp(ddgen, navi.thenBranch(), start, finish, init).diagram(), dd_divide_recursively_exp(ddgen, navi.elseBranch(), start, finish, init).diagram() ); } else result = ddgen.zero(); return result; } /// Function templates for determining the used variables of a decision diagram /// with the help of cache template MonomType cached_used_vars(const CacheType& cache, NaviType navi, MonomType init) { if (navi.isConstant()) // No need for caching of constant nodes' degrees return init; // Look whether result was cached before NaviType cached_result = cache.find(navi); if (cached_result.isValid()) return CDDOperations().getMonomial(cache.generate(cached_result)); MonomType result = cached_used_vars(cache, navi.thenBranch(), init); result *= cached_used_vars(cache, navi.elseBranch(), init); result = result.change(*navi); // Write result to cache cache.insert(navi, result.diagram().navigation()); return result; } template bool dd_owns(NaviType navi, Iterator start, Iterator finish) { if (start == finish) { while(!navi.isConstant()) navi.incrementElse(); return navi.terminalValue(); } while(!navi.isConstant() && (*start > *navi) ) navi.incrementElse(); if (navi.isConstant() || (*start != *navi)) return false; return dd_owns(navi.thenBranch(), ++start, finish); } /// Test whether a set of monomials contains all divisors of degree - 1 of a /// given monomial template bool dd_contains_divs_of_dec_deg(NaviType navi, MonomIterator start, MonomIterator finish) { // Managing trivial cases if (start == finish) // divisors of monomial 1 is the empty set, // which is always contained return true; if (navi.isConstant()) { // set is empty or owns 1 only if (navi.terminalValue()) // set == {1} return (++start == finish); // whether monom is of degree one else // empty set contains no divisors return false; } // Actual computations if (*navi < *start) return dd_contains_divs_of_dec_deg(navi.elseBranch(), start, finish); if (*navi > *start) { if (++start == finish) // if monom is of degree one return owns_one(navi); else return false; } // (*navi == *start) here ++start; return dd_owns(navi.elseBranch(), start, finish) && dd_contains_divs_of_dec_deg(navi.thenBranch(), start, finish); } // determine the part of a polynomials of a given degree template SetType dd_graded_part(const CacheType& cache, NaviType navi, DegType deg, SetType init) { if (deg == 0) { while(!navi.isConstant()) navi.incrementElse(); return cache.generate(navi); } if(navi.isConstant()) return cache.zero(); // Look whether result was cached before NaviType cached = cache.find(navi, deg); if (cached.isValid()) return cache.generate(cached); SetType result = SetType(*navi, dd_graded_part(cache, navi.thenBranch(), deg - 1, init), dd_graded_part(cache, navi.elseBranch(), deg, init) ); // store result for later reuse cache.insert(navi, deg, result.navigation()); return result; } /// Function templates extracting the terms of a given decision diagram contain /// which contains only indices from first lexicographical path in /// Note: Replacement for dd_intersect_some_index template SetType dd_first_divisors_of(CacheManager cache_mgr, NaviType navi, NaviType rhsNavi, SetType init ) { typedef typename SetType::dd_type dd_type; while( (!navi.isConstant()) && (*rhsNavi != *navi) ) { if ( (*rhsNavi < *navi) && (!rhsNavi.isConstant()) ) rhsNavi.incrementThen(); else navi.incrementElse(); } if (navi.isConstant()) // At end of path return cache_mgr.generate(navi); // Look up, whether operation was already used NaviType result = cache_mgr.find(navi, rhsNavi); if (result.isValid()) // Cache lookup sucessful return cache_mgr.generate(result); PBORI_ASSERT(*rhsNavi == *navi); // Compute new result init = dd_type(*rhsNavi, dd_first_divisors_of(cache_mgr, navi.thenBranch(), rhsNavi, init).diagram(), dd_first_divisors_of(cache_mgr, navi.elseBranch(), rhsNavi, init).diagram() ); // Insert result to cache cache_mgr.insert(navi, rhsNavi, init.navigation()); return init; } template SetType dd_first_multiples_of(const CacheType& cache_mgr, NaviType navi, NaviType rhsNavi, SetType init){ typedef typename SetType::dd_type dd_type; if(rhsNavi.isConstant()) { PBORI_ASSERT(rhsNavi.terminalValue() == true); return cache_mgr.generate(navi); } if (navi.isConstant() || (*navi > *rhsNavi)) return cache_mgr.zero(); if (*navi == *rhsNavi) return dd_first_multiples_of(cache_mgr, navi.thenBranch(), rhsNavi.thenBranch(), init).change(*navi); // Look up old result - if any NaviType result = cache_mgr.find(navi, rhsNavi); if (result.isValid()) return cache_mgr.generate(result); // Compute new result init = dd_type(*navi, dd_first_multiples_of(cache_mgr, navi.thenBranch(), rhsNavi, init).diagram(), dd_first_multiples_of(cache_mgr, navi.elseBranch(), rhsNavi, init).diagram() ); // Insert new result in cache cache_mgr.insert(navi, rhsNavi, init.navigation()); return init; } /// Internal variant: Maps a polynomial from one ring to another, using a given /// map old_index -> new_polynomial template PolyType substitute_variables__(const RingType& ring, const MapType& idx2poly, NaviType navi) { if (navi.isConstant()) return ring.constant(navi.terminalValue()); //typename MapType::const_reference var(idx2poly[*navi]); // PBORI_ASSERT(var.ring() == ring); return (idx2poly[*navi] * substitute_variables__(ring, idx2poly, navi.thenBranch())) + substitute_variables__(ring, idx2poly, navi.elseBranch()); } /// Maps a polynomial from one ring to another, using a given map /// old_index -> new_polynomial template PolyType substitute_variables(const RingType& ring, const MapType& idx2poly, const PolyType& poly) { return substitute_variables__(ring, idx2poly, poly.navigation()); } END_NAMESPACE_PBORI #endif BRiAl-1.2.12/libbrial/include/polybori/routines/pbori_routines_order.h000066400000000000000000000327151436062512100260570ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file pbori_routines_order.h * * @author Alexander Dreyer * @date 2006-08-23 * * This file includes files, which defines ordering-related function templates. * * @par Copyright: * (c) 2006 by The PolyBoRi Team * **/ //***************************************************************************** #ifndef polybori_routines_pbori_routines_order_h_ #define polybori_routines_pbori_routines_order_h_ // include basic definitions #include #include "pbori_algo.h" #include BEGIN_NAMESPACE_PBORI template CTypes::comp_type lex_compare_3way(FirstIterator start, FirstIterator finish, SecondIterator rhs_start, SecondIterator rhs_finish, BinaryPredicate idx_comp) { while ( (start != finish) && (rhs_start != rhs_finish) && (*start == *rhs_start) ) { ++start; ++rhs_start; } if (start == finish) { if (rhs_start == rhs_finish) return CTypes::equality; return CTypes::less_than; } if (rhs_start == rhs_finish) return CTypes::greater_than; return (idx_comp(*start, *rhs_start)? CTypes::greater_than: CTypes::less_than); } /// defines lexicographic comparison template CTypes::comp_type lex_compare(const LhsType& lhs, const RhsType& rhs, BinaryPredicate idx_comp, valid_tag has_easy_equality_test) { if (lhs == rhs) return CTypes::equality; return lex_compare_3way(lhs.begin(), lhs.end(), rhs.begin(), rhs.end(), idx_comp); //typedef lex_compare_predicate comp_type; //return generic_compare_3way(lhs, rhs, comp_type(idx_comp)); } /// defines lexicographic comparison template CTypes::comp_type lex_compare(const LhsType& lhs, const RhsType& rhs, BinaryPredicate idx_comp, invalid_tag has_no_easy_equality_test) { return lex_compare_3way(lhs.begin(), lhs.end(), rhs.begin(), rhs.end(), idx_comp); } /// defines lexicographic comparison template CTypes::comp_type lex_compare(const LhsType& lhs, const RhsType& rhs, BinaryPredicate idx_comp) { typedef typename pbori_binary_traits::easy_equality_property equality_property; return lex_compare(lhs, rhs, idx_comp, equality_property()); } /// defines degree-lexicographic comparison template CTypes::comp_type deg_lex_compare(const LhsType& lhs, const RhsType& rhs, BinaryPredicate idx_comp) { typedef typename LhsType::size_type size_type; CTypes::comp_type result = generic_compare_3way( lhs.size(), rhs.size(), std::greater() ); return (result == CTypes::equality? lex_compare(lhs, rhs, idx_comp): result); } template class generic_iteration; template class dummy_data_type { public: dummy_data_type(const DummyType&) {} dummy_data_type(DummyType&) {} dummy_data_type() {} }; ////////////////////// template void dummy_append(StackType& stack, Iterator start, Iterator finish) { while (start != finish) { stack.push(*start); ++start; } } template class bounded_restricted_term { public: typedef NaviType navigator; typedef DescendingProperty descending_property; typedef bounded_restricted_term self; typedef std::vector stack_type; typedef unsigned size_type; typedef unsigned idx_type; bounded_restricted_term (): m_stack(), m_max_idx(0), m_upperbound(0), m_next() {} is_same_type descendingVariables; bounded_restricted_term (navigator navi, size_type upperbound, idx_type max_idx): m_stack(), m_upperbound(upperbound), m_max_idx(max_idx), m_next(navi) { m_stack.reserve(upperbound); followThen(); while (!is_path_end() && !empty() ) increment(); } size_type operator*() const { return m_stack.size(); } const navigator& next() const { return m_next; } typename stack_type::const_iterator begin() const { return m_stack.begin(); } typename stack_type::const_iterator end() const { return m_stack.end(); } self& operator++() { PBORI_ASSERT(!empty()); // if upperbound was already found we're done // (should be optimized away for ascending variables) if (descendingVariables() && (m_stack.size() == m_upperbound) ) return *this = self(); do { increment(); } while (!empty() && !is_path_end()); return *this; } void print() const { typename stack_type::const_iterator start(m_stack.begin()), finish(m_stack.end()); std::cout <<'('; while (start != finish) { std::cout << *(*start) << ", " ; ++start; } std::cout <<')'; } bool operator==(const self& rhs) const { if (rhs.empty()) return empty(); if (empty()) return rhs.empty(); else (m_stack == rhs.m_stack); } bool operator!=(const self& rhs) const { return !(*this == rhs); } protected: void followThen() { while (within_degree() && !at_end()) nextThen(); } void increment() { PBORI_ASSERT(!empty()); m_next = top(); m_next.incrementElse(); m_stack.pop_back(); followThen(); } bool empty() const{ return m_stack.empty(); } navigator top() const{ return m_stack.back(); } bool is_path_end() { path_end(); return (!m_next.isConstant() && (*m_next >= m_max_idx)) || m_next.terminalValue(); } void path_end() { while (!at_end()) { m_next.incrementElse(); } } void nextThen() { PBORI_ASSERT(!m_next.isConstant()); m_stack.push_back(m_next); m_next.incrementThen(); } bool within_degree() const { return (*(*this) < m_upperbound); } bool at_end() const { return m_next.isConstant() || (*m_next >= m_max_idx); } private: stack_type m_stack; idx_type m_max_idx; size_type m_upperbound; navigator m_next; }; /// Function templates for determining the degree of a decision diagram /// with the help of cache (e. g. CDegreeCache) template typename NaviType::deg_type dd_cached_block_degree(const DegreeCacher& cache, NaviType navi, IdxType nextBlock) { typedef typename NaviType::deg_type deg_type; if( navi.isConstant() || (*navi >= nextBlock) ) // end of block reached return 0; // Look whether result was cached before typename DegreeCacher::node_type result = cache.find(navi, nextBlock); if (result.isValid()) return *result; // Get degree of then branch (contains at least one valid path)... deg_type deg = dd_cached_block_degree(cache, navi.thenBranch(), nextBlock) + 1; // ... combine with degree of else branch deg = std::max(deg, dd_cached_block_degree(cache, navi.elseBranch(), nextBlock) ); // Write result to cache cache.insert(navi, nextBlock, deg); return deg; } template bool max_block_degree_on_then(const DegCacheMgr& deg_mgr, NaviType navi, IdxType next_block, SizeType degree, valid_tag is_descending) { navi.incrementThen(); return ((dd_cached_block_degree(deg_mgr, navi, next_block/*,degree - 1*/) + 1) == degree); } template bool max_block_degree_on_then(const DegCacheMgr& deg_mgr, NaviType navi, IdxType next_block, SizeType degree, invalid_tag non_descending) { navi.incrementElse(); return (dd_cached_block_degree(deg_mgr, navi, next_block/*, degree*/) != degree); } // with degree bound template TermType dd_block_degree_lead(const CacheType& cache_mgr, const DegCacheMgr& deg_mgr, NaviType navi, Iterator block_iter, TermType init, SizeType degree, DescendingProperty prop) { if (navi.isConstant()) return cache_mgr.generate(navi); while( (*navi >= *block_iter) && (*block_iter != CUDD_MAXINDEX)) { ++block_iter; degree = dd_cached_block_degree(deg_mgr, navi, *block_iter); } // Check cache for previous results - Wrong in general, bounds may have changed! // NaviType cached = cache_mgr.find(navi); // if (cached.isValid()) // return cache_mgr.generate(cached); // Go to next branch if ( max_block_degree_on_then(deg_mgr, navi, *block_iter, degree, prop) ) { init = dd_block_degree_lead(cache_mgr, deg_mgr, navi.thenBranch(), block_iter, init, degree - 1, prop).change(*navi); } else { init = dd_block_degree_lead(cache_mgr, deg_mgr, navi.elseBranch(), block_iter, init, degree, prop); } NaviType resultNavi(init.navigation()); // cache_mgr.insert(navi, resultNavi); deg_mgr.insert(resultNavi, *block_iter, degree); return init; } template TermType dd_block_degree_lead(const CacheType& cache_mgr, const DegCacheMgr& deg_mgr, NaviType navi, Iterator block_iter, TermType init, DescendingProperty prop){ if (navi.isConstant()) return cache_mgr.generate(navi); return dd_block_degree_lead(cache_mgr, deg_mgr, navi,block_iter, init, dd_cached_block_degree(deg_mgr, navi, *block_iter), prop); } template CTypes::comp_type restricted_lex_compare_3way(FirstIterator start, FirstIterator finish, SecondIterator rhs_start, SecondIterator rhs_finish, IdxType max_index, BinaryPredicate idx_comp) { while ( (start != finish) && (*start < max_index) && (rhs_start != rhs_finish) && (*rhs_start < max_index) && (*start == *rhs_start) ) { ++start; ++rhs_start; } if ( (start == finish) || (*start >= max_index) ) { if ( (rhs_start == rhs_finish) || (*rhs_start >= max_index) ) return CTypes::equality; return CTypes::less_than; } if ( (rhs_start == rhs_finish) || (*rhs_start >= max_index) ) return CTypes::greater_than; return (idx_comp(*start, *rhs_start)? CTypes::greater_than: CTypes::less_than); } template CTypes::comp_type block_dlex_compare(LhsIterator lhsStart, LhsIterator lhsFinish, RhsIterator rhsStart, RhsIterator rhsFinish, Iterator start, Iterator finish, BinaryPredicate idx_comp) { // unsigned lhsdeg = 0, rhsdeg = 0; CTypes::comp_type result = CTypes::equality; while ( (start != finish) && (result == CTypes::equality) ) { CTypes::deg_type lhsdeg = 0, rhsdeg = 0; LhsIterator oldLhs(lhsStart); // maybe one can save this and do both RhsIterator oldRhs(rhsStart); // comparisons at once. // maybe one can save while( (lhsStart != lhsFinish) && (*lhsStart < *start) ) { ++lhsStart; ++lhsdeg; } while( (rhsStart != rhsFinish) && (*rhsStart < *start) ) { ++rhsStart; ++rhsdeg; } result = generic_compare_3way(lhsdeg, rhsdeg, std::greater() ); if (result == CTypes::equality) { result = restricted_lex_compare_3way(oldLhs, lhsFinish, oldRhs, rhsFinish, *start, idx_comp); } ++start; } return result; } ///@note: no necessary for block_dlex, only for block_dp_asc template CTypes::comp_type block_deg_lex_idx_compare(IdxType lhs, IdxType rhs, Iterator start, Iterator finish, BinaryPredicate idx_comp) { if (lhs == rhs) return CTypes::equality; Iterator lhsend = std::find_if(start, finish, std::bind(std::greater(), std::placeholders::_1, lhs)); Iterator rhsend = std::find_if(start, finish, std::bind(std::greater(), std::placeholders::_1, rhs)); CTypes::comp_type result = CTypes::equality; if PBORI_UNLIKELY( (rhsend == finish) && (lhsend != finish) ) result = CTypes::less_than; else if PBORI_UNLIKELY(lhsend == finish) result = CTypes::greater_than; else { PBORI_ASSERT((lhsend != finish) && (rhsend != finish)); result = generic_compare_3way( *lhsend, *rhsend, std::less() ); } return ( result == CTypes::equality? generic_compare_3way(lhs, rhs, idx_comp): result ); } END_NAMESPACE_PBORI #endif BRiAl-1.2.12/libbrial/src/000077500000000000000000000000001436062512100150755ustar00rootroot00000000000000BRiAl-1.2.12/libbrial/src/BlockDegLexOrder.cc000066400000000000000000000025341436062512100205270ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file BlockDegLexOrder.cc * * @author Alexander Dreyer * @date 2006-05-18 * * Defining Degree-lexicographical ordering. * * @par Copyright: * (c) 2007 by The PolyBoRi Team **/ //***************************************************************************** // include definitions #include #include #include // get internal routines #include #include #include BEGIN_NAMESPACE_PBORI // Comparison of monomials BlockDegLexOrder::comp_type BlockDegLexOrder::compare(const monom_type& lhs, const monom_type& rhs) const { return compare_terms(lhs, rhs, idx_comparer_type()); } // Comparison of monomials BlockDegLexOrder::comp_type BlockDegLexOrder::compare(const exp_type& lhs, const exp_type& rhs) const { return compare_terms(lhs, rhs, idx_comparer_type()); } // Comparison of monomials BlockDegLexOrder::comp_type BlockDegLexOrder::compare(idx_type lhs, idx_type rhs) const { PBORI_TRACE_FUNC( "BlockDegLexOrder::compare(monom_type, monom_type) const)" ); return generic_compare_3way(lhs, rhs, idx_comparer_type()); } END_NAMESPACE_PBORI BRiAl-1.2.12/libbrial/src/BlockDegRevLexAscOrder.cc000066400000000000000000000027301436062512100216310ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file BlockDegRevLexAscOrder.cc * * @author Alexander Dreyer * @date 2006-05-18 * * Defining Degree-lexicographical ordering. * * @par Copyright: * (c) 2007 by The PolyBoRi Team **/ //***************************************************************************** // include definitions #include #include #include // get internal routines #include #include #include BEGIN_NAMESPACE_PBORI // Comparison of monomials BlockDegRevLexAscOrder::comp_type BlockDegRevLexAscOrder::compare(const monom_type& lhs, const monom_type& rhs) const { return compare_terms(lhs, rhs, idx_comparer_type()); } // Comparison of monomials BlockDegRevLexAscOrder::comp_type BlockDegRevLexAscOrder::compare(const exp_type& lhs, const exp_type& rhs) const { return compare_terms(lhs, rhs, idx_comparer_type()); } // Comparison of monomials BlockDegRevLexAscOrder::comp_type BlockDegRevLexAscOrder::compare(idx_type lhs, idx_type rhs) const { PBORI_TRACE_FUNC( "BlockDegRevLexAscOrder::compare(monom_type, monom_type) const)" ); return block_deg_lex_idx_compare( lhs, rhs, blockBegin(), blockEnd(), idx_comparer_type() ); } END_NAMESPACE_PBORI BRiAl-1.2.12/libbrial/src/BooleEnv.cc000066400000000000000000000065001436062512100171160ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file BooleEnv.cc * * @author Alexander Dreyer * @date 2006-03-06 * * This file implements the class BooleEnv, which hold global structures. * a polynomial ring over Booleans. * * @par Copyright: * (c) 2007 by The PolyBoRi Team **/ //***************************************************************************** // load header file #include #include #include BEGIN_NAMESPACE_PBORI //BooleEnv::ring_type active_ring(1000, CTypes::lp, false); // /// @todo needs inlining!!! // #ifdef PBORI_ENV_RING_NOTINLINED // BooleEnv::ring_type& BooleEnv::ring() { // static BooleEnv::ring_type active_ring(1000, CTypes::lp, false); // return active_ring; // } // #endif // BooleEnv::block_iterator // BooleEnv::blockBegin() { // return ordering().blockBegin(); // } // BooleEnv::block_iterator // BooleEnv::blockEnd() { // return ordering().blockEnd(); // } // void BooleEnv::appendBlock(idx_type idx) { // ordering().appendBlock(idx); // } // void BooleEnv::clearBlocks() { // ordering().clearBlocks(); // } // BooleEnv::idx_type // BooleEnv::lastBlockStart() { // return ring().ordering().lastBlockStart(); // } // // BooleEnv::manager_type& BooleEnv::manager() { // // return ring().manager(); } // BooleEnv::order_type& BooleEnv::ordering() { // return ring().ordering(); } // /// Get empty decision diagram // BooleEnv::dd_type BooleEnv::zero() { return ring().zero(); } // /// Get decision diagram with all variables negated // BooleEnv::dd_type BooleEnv::one() { return ring().one(); } // /// Get number of ring variables the of active ring // BooleEnv::size_type BooleEnv::nVariables() { // return ring().nVariables(); // } // /// Set name of variable with index idx // void // BooleEnv::setVariableName(idx_type idx, vartext_type varname) { // ring().setVariableName(idx, varname); // } // /// Get name of variable with index idx // BooleEnv::vartext_type // BooleEnv::getVariableName(idx_type idx){ // return ring().getVariableName(idx); // } // /// Change order of current ring // void // BooleEnv::changeOrdering(ordercode_type code) { // ring().changeOrdering(code); // } // /// Get numerical code for current ordering // BooleEnv::ordercode_type BooleEnv::getOrderCode() { // return ordering().getOrderCode(); // } // /// Get numerical code for current base ordering // /// (the same for non-block orderings) // BooleEnv::ordercode_type BooleEnv::getBaseOrderCode() { // return ordering().getBaseOrderCode(); // } // /// Access idx-th variable of the active ring // BooleEnv::var_type BooleEnv::variable(idx_type idx) { // return ring().variable(idx); // } // BooleEnv::ostream_type& // BooleEnv::print(ostream_type& os) { // return ring().print(os); // } //void BooleEnv::set(ring_type& theRing) { ring() = theRing; } /// Extract block data without exposing ordering stuff BooleEnv::block_iterator block_begin(const BooleEnv::ring_type& ring) { return ring.ordering().blockBegin(); } /// Extract block data without exposing ordering stuff BooleEnv::block_iterator block_end(const BooleEnv::ring_type& ring) { return ring.ordering().blockEnd(); } END_NAMESPACE_PBORI BRiAl-1.2.12/libbrial/src/BooleExponent.cc000066400000000000000000000245731436062512100202000ustar00rootroot00000000000000 // -*- c++ -*- //***************************************************************************** /** @file BooleExponent.cc * * @author Alexander Dreyer * @date 2006-04-19 * * This file implements the class BoolePolymials, where carries the definition * of monomials over Booleans. * * @par Copyright: * (c) 2006 by The PolyBoRi Team * **/ //***************************************************************************** // load header files #include #include // get ring definitions #include #include #include #include #include #include BEGIN_NAMESPACE_PBORI //------------------------------------------------------------------------- // Constructors and destructor //------------------------------------------------------------------------ // Default constructor BooleExponent::BooleExponent(): m_data() { PBORI_TRACE_FUNC( "BooleExponent()" ); } // Default constructor // BooleExponent::BooleExponent(bool): // m_data() { // PBORI_TRACE_FUNC( "BooleExponent(bool)" ); // } // Construct from Boolean monomial BooleExponent& BooleExponent::get(const monom_type& rhs) { PBORI_TRACE_FUNC( "BooleExponent::get(const monom_type&)" ); m_data.resize(rhs.size()); std::copy(rhs.begin(), rhs.end(), m_data.begin()); return *this; } // Construct from Boolean monomial BooleExponent::BooleExponent(const monom_type& rhs): m_data(rhs.size()) { PBORI_TRACE_FUNC( "BooleExponent(const monom_type&)" ); std::copy(rhs.begin(), rhs.end(), m_data.begin()); } // Copy constructor BooleExponent::BooleExponent(const self& rhs) : m_data(rhs.m_data) { PBORI_TRACE_FUNC( "BooleExponent(const self&)" ); } // Destructor BooleExponent::~BooleExponent() { PBORI_TRACE_FUNC( "~BooleExponent()" ); } // Reducibility test BooleExponent::bool_type BooleExponent::reducibleBy(const self& rhs) const { PBORI_TRACE_FUNC( "BooleExponent::reducibleBy(const self&) const" ); return std::includes(begin(), end(), rhs.begin(), rhs.end()); } // Reducibility test BooleExponent::bool_type BooleExponent::reducibleBy(const monom_type& rhs) const { PBORI_TRACE_FUNC( "BooleExponent::reducibleBy(const monom_type&) const" ); return std::includes(begin(), end(), rhs.begin(), rhs.end()); } // Reducibility test BooleExponent::bool_type BooleExponent::reducibleBy(const idx_type& rhs) const { PBORI_TRACE_FUNC( "BooleExponent::reducibleBy(const idx_type&) const" ); return (std::find(begin(), end(), rhs) != end()); } // Substitute variable with index idx by its complement and assign BooleExponent& BooleExponent::changeAssign(idx_type idx) { PBORI_TRACE_FUNC( "BooleExponent::changeAssign(idx_type)" ); const_iterator pos = std::find(begin(), end(), idx); if (pos == end()) insert(idx); else remove(idx); return *this; } // Substitute variable with index idx by its complement BooleExponent BooleExponent::change(idx_type idx) const { PBORI_TRACE_FUNC( "BooleExponent::change(idx_type) const " ); return self(*this).changeAssign(idx); } // Insert variable with index idx in exponent vector BooleExponent BooleExponent::insertConst(idx_type idx) const { PBORI_TRACE_FUNC( "BooleExponent::insertConst(idx_type) const " ); const_iterator pos = std::find_if(begin(), end(), std::bind(std::greater_equal(), std::placeholders::_1, idx)); self result; result.m_data.resize(size() + 1); data_type::iterator result_pos = std::copy(begin(), pos, result.m_data.begin()); if (pos == end()) *result_pos = idx; else if (*pos != idx) { *result_pos = idx; ++result_pos; } else result.m_data.pop_back(); std::copy(pos, end(), result_pos); return result; } // Insert variable with index idx in exponent vector BooleExponent& BooleExponent::insert(idx_type idx) { PBORI_TRACE_FUNC( "BooleExponent::insertAssign(idx_type) " ); iterator pos = std::find_if(internalBegin(), internalEnd(), std::bind(std::greater_equal(), std::placeholders::_1, idx)); if (pos == end()) m_data.push_back(idx); else if (*pos != idx) m_data.insert(pos, idx); return *this; } // Insert variable with index idx in exponent vector (checking end first) BooleExponent& BooleExponent::push_back(idx_type idx) { PBORI_TRACE_FUNC( "BooleExponent::push_back(idx_type) " ); if(m_data.empty()) m_data.push_back(idx); else { idx_type lastIdx = m_data.back(); if (lastIdx < idx) m_data.push_back(idx); else if (lastIdx > idx) { iterator pos = std::find_if(internalBegin(), internalEnd(), std::bind(std::greater_equal(), std::placeholders::_1, idx)); if (*pos != idx) m_data.insert(pos, idx); } } return *this; } // Remove variable with index idx in exponent vector BooleExponent BooleExponent::removeConst(idx_type idx) const { PBORI_TRACE_FUNC( "BooleExponent::removeConst(idx_type) const " ); const_iterator pos = std::find(begin(), end(), idx); self result; result.m_data.resize(size()); data_type::iterator result_pos = std::copy(begin(), pos, result.m_data.begin()); if(pos != end()){ ++pos; std::copy(pos, end(), result_pos); result.m_data.pop_back(); } return result; } // Remove variable with index idx in exponent vector BooleExponent& BooleExponent::remove(idx_type idx) { PBORI_TRACE_FUNC( "BooleExponent::deleteAssign(idx_type) " ); iterator pos = std::find(internalBegin(), internalEnd(), idx); if (pos != end()) m_data.erase(pos); return *this; } template void exp_divide(const ExpType& lhs, const RhsType& rhs, ResultType& result) { typedef ResultType data_type; if (lhs.reducibleBy(rhs)) { result.reserve(lhs.size()); std::back_insert_iterator outiter(result); std::set_difference(lhs.begin(), lhs.end(), rhs.begin(), rhs.end(), outiter); } } // Division BooleExponent BooleExponent::divide(const self& rhs) const { PBORI_TRACE_FUNC( "BooleExponent::divide(const self&) const " ); self result; exp_divide(*this, rhs, result.m_data); return result; } // Division BooleExponent BooleExponent::divide(const monom_type& rhs) const { PBORI_TRACE_FUNC( "BooleExponent::divide(const monom_type&) const " ); self result; exp_divide(*this, rhs, result.m_data); return result; } // Degree of the lcm BooleExponent::deg_type BooleExponent::LCMDeg(const self& rhs) const { PBORI_TRACE_FUNC( "BooleExponent::LCMDeg(const self&) const" ); // temporary definition return LCM(rhs).size(); } // gcd BooleExponent BooleExponent::GCD(const self& rhs) const { PBORI_TRACE_FUNC( "BooleExponent::GCD(const self&) const" ); self result; result.m_data.reserve(std::min(size(), rhs.size())); std::back_insert_iterator outiter(result.m_data); std::set_intersection(begin(), end(), rhs.begin(), rhs.end(), outiter); return result; } // lcm BooleExponent BooleExponent::LCM(const self& rhs) const { PBORI_TRACE_FUNC( "BooleExponent::GCD(const self&) const" ); return multiply(rhs); } template void exp_multiply(const ExpType& lhs, RhsIterator start, RhsIterator finish, SizeType nlen, ResultType& result) { typedef ResultType data_type; result.reserve(lhs.size() + nlen); std::back_insert_iterator outiter(result); std::set_union(lhs.begin(), lhs.end(), start, finish, outiter); } template void exp_multiply(const ExpType& lhs, const RhsType& rhs, ResultType& result) { exp_multiply(lhs, rhs.begin(), rhs.end(), rhs.size(), result); } // multiplication BooleExponent BooleExponent::multiply(const self& rhs) const { PBORI_TRACE_FUNC( "BooleExponent::multiply(const self&) const" ); self result; exp_multiply(*this, rhs, result.m_data); return result; } // multiplication BooleExponent BooleExponent::multiply(const monom_type& rhs) const { PBORI_TRACE_FUNC( "BooleExponent::multiply(const monom_type&) const" ); self result; exp_multiply(*this, rhs, result.m_data); return result; } // multiplication BooleExponent BooleExponent::multiplyFirst(const set_type& rhs) const { PBORI_TRACE_FUNC( "BooleExponent::multiplyFirst(const set_type&) const" ); self result; exp_multiply(*this, rhs.firstBegin(), rhs.firstEnd(), std::distance(rhs.firstBegin(), rhs.firstEnd()), result.m_data); return result; } // Multiples wrt. given monom BooleExponent::set_type BooleExponent::multiples(const self& multipliers, const ring_type& ring) const { PBORI_TRACE_FUNC( "BooleExponent::multiples(const self&, const ring_type&) const" ); set_type result = cudd_generate_multiples(ring, m_data.rbegin(), m_data.rend(), multipliers.rbegin(), multipliers.rend(),type_tag()); return result; } // Multiples wrt. given monom BooleExponent::set_type BooleExponent::multiples(const monom_type& mult) const { PBORI_TRACE_FUNC( "BooleExponent::multiples(const monom_type&) const" ); self multipliers(mult); set_type result = cudd_generate_multiples(mult.ring(), m_data.rbegin(), m_data.rend(), multipliers.rbegin(), multipliers.rend(),type_tag()); return result; } // Divisors BooleExponent::set_type BooleExponent::divisors(const ring_type& ring) const { PBORI_TRACE_FUNC( "BooleExponent::divisors() const" ); set_type result = cudd_generate_divisors(ring, m_data.rbegin(), m_data.rend() ,type_tag()); return result; } // Print current polynomial to output stream BooleExponent::ostream_type& BooleExponent::print(ostream_type& os) const { PBORI_TRACE_FUNC( "BooleExponent::print(ostream_type&) const" ); const_iterator start(begin()), finish(end()); os << '('; if (start != finish) { --finish; std::copy(start, finish, std::ostream_iterator(os, ", ")); os << *finish; } os <<')'; return os; } END_NAMESPACE_PBORI BRiAl-1.2.12/libbrial/src/BooleMonomial.cc000066400000000000000000000142071436062512100201440ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file BooleMonomial.cc * * @author Alexander Dreyer * @date 2006-04-19 * * This file implements the class BoolePolymials, where carries the definition * of monomials over Booleans. * * @par Copyright: * (c) 2006 by The PolyBoRi Team **/ //***************************************************************************** // load header files #include #include #include // get ring definitions #include #include BEGIN_NAMESPACE_PBORI //------------------------------------------------------------------------- // Constructors and destructor //------------------------------------------------------------------------ // Construct from Boolean variable // not inlined to avoid dependency loop! // (both depend on poly_type) BooleMonomial::BooleMonomial(const var_type& rhs) : m_poly(rhs) { PBORI_TRACE_FUNC( "BooleMonomial(const var_type&)" ); } // Reducibility test BooleMonomial::bool_type BooleMonomial::reducibleBy(const var_type& rhs) const { PBORI_TRACE_FUNC( "BooleMonomial::reducibleBy(const var_type&) const" ); return m_poly.firstReducibleBy(rhs); } // Substitute variable with index idx by its complement BooleMonomial BooleMonomial::change(idx_type idx) const { PBORI_TRACE_FUNC( "BooleMonomial::change(idx_type) const " ); return set_type(diagram().change(idx)); } // Multiplication with assignment BooleMonomial& BooleMonomial::operator*=(const self& rhs) { PBORI_TRACE_FUNC( "BooleMonomial::operator*=(const self&)" ); m_poly = m_poly.internalDiagram().unateProduct(rhs.m_poly.diagram()); return *this; } // Division with assignment // Note: inlining seems to be inefficient, when throwing errors BooleMonomial& BooleMonomial::operator/=(const self& rhs) { PBORI_TRACE_FUNC( "BooleMonomial::operator*=(const self&)" ); m_poly /= rhs;//.m_poly; if PBORI_UNLIKELY(m_poly.isZero()) throw PBoRiError(CTypes::monomial_zero); return *this; } // Multiplication with assignment (with variable) BooleMonomial& BooleMonomial::operator*=(const var_type& rhs) { PBORI_TRACE_FUNC( "BooleMonomial::operator*=(const var_type&)" ); if (!reducibleBy(rhs)) m_poly = internalDiagram().change(rhs.index()); return *this; } // Division with assignment (with variable) // Note: inlining seems to be inefficient, when throwing errors BooleMonomial& BooleMonomial::operator/=(const var_type& rhs) { PBORI_TRACE_FUNC( "BooleMonomial::operator/=(const var_type&)" ); m_poly = internalDiagram().subset1(rhs.index()); if PBORI_UNLIKELY(m_poly.isZero()) throw PBoRiError(CTypes::monomial_zero); return *this; } // Comparision BooleMonomial::comp_type BooleMonomial::compare(const self& rhs) const { PBORI_TRACE_FUNC( "BooleMonomial::compare(const self& rhs) const" ); return ring().ordering().compare(*this, rhs); } // Degree of the lcm BooleMonomial::deg_type BooleMonomial::LCMDeg(const self& rhs) const { PBORI_TRACE_FUNC( "BooleMonomial::LCMDeg(const self&) const" ); if ( m_poly.isZero() || ( (const BoolePolynomial&)rhs).isZero() ) return 0; if ( (*this == rhs) || ( (const BoolePolynomial&)rhs).isOne() ) return deg(); if ( m_poly.isOne() ) return rhs.deg(); deg_type result = 0; const_iterator start(begin()), finish(end()), rhs_start(rhs.begin()), rhs_finish(rhs.end()); while ( (start != finish) && (rhs_start != rhs_finish) ) { idx_type last_idx(*start); if (last_idx <= *rhs_start) ++start; if (last_idx >= *rhs_start) ++rhs_start; ++result; } while (start != finish) { ++start; ++result; } while (rhs_start != rhs_finish) { ++rhs_start; ++result; } return result; } // gcd BooleMonomial BooleMonomial::GCD(const self& rhs) const { PBORI_TRACE_FUNC( "BooleMonomial::GCD(const self&) const" ); return self(*this).GCDAssign(rhs); } // gcd with assignment BooleMonomial& BooleMonomial::GCDAssign(const self& rhs) { PBORI_TRACE_FUNC( "BooleMonomial::GCDAssign(const self&)" ); if ((*this == rhs) || m_poly.isZero() || m_poly.isOne() ) return *this; if ( ( (const BoolePolynomial&)rhs).isOne() || ( (const BoolePolynomial&)rhs).isZero() ) return (*this = rhs); const_iterator start(begin()), finish(end()), rhs_start(rhs.begin()), rhs_finish(rhs.end()); while ( (start != finish) && (rhs_start != rhs_finish) ) { // delete variable not on rhs if (*start < *rhs_start) { *this = change(*start); ++start; } else { // keep common variables if (*start == *rhs_start) ++start; // proceed with next rhs ++rhs_start; } } // delete remaining variables in *this while (start != finish) { *this = change(*start); ++start; } return *this; } // lcm BooleMonomial BooleMonomial::LCM(const self& rhs) const { PBORI_TRACE_FUNC( "BooleMonomial::GCD(const self&) const" ); return self(*this).LCMAssign(rhs); } // lcm with assignment BooleMonomial& BooleMonomial::LCMAssign(const self& rhs) { PBORI_TRACE_FUNC( "BooleMonomial::GCDAssign(const self&)" ); return (*this *= rhs); } // Multiples wrt. given monom BooleMonomial::set_type BooleMonomial::multiples(const self& monom) const { PBORI_TRACE_FUNC( "BooleMonomial::multiples(const self&) const" ); #ifdef PBORI_MULTIPLES_HIGHLEVEL return monom.divisors().unateProduct(m_poly.diagram()); #else // PBORI_MULTIPLES_LOWLEVEL std::vector indices(monom.deg()); std::copy(monom.begin(), monom.end(), indices.begin()); return set_type(diagram().firstMultiples(indices)); #endif } // Get exponent vector BooleMonomial::exp_type BooleMonomial::exp() const { PBORI_TRACE_FUNC( "BooleMonomial::exp() const" ); return exp_type().get(*this); } // Get first variable BooleMonomial::var_type BooleMonomial::firstVariable() const { PBORI_TRACE_FUNC( "BooleMonomial::firstVariable() const" ); if PBORI_UNLIKELY(m_poly.isConstant()) throw PBoRiError(CTypes::out_of_bounds); return var_type(firstIndex(), ring()); } END_NAMESPACE_PBORI BRiAl-1.2.12/libbrial/src/BoolePolyRing.cc000066400000000000000000000065361436062512100201420ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file BoolePolyRing.cc * * @author Alexander Dreyer * @date 2006-03-06 * * This file implements the class BoolePolyRing, where carries the definition of * a polynomial ring over Booleans. * * @par Copyright: * (c) 2006-2010 by The PolyBoRi Team * **/ //***************************************************************************** // load header file #include #include // get error types #include #include #include #include #include // LINE_MAX #include // just for tmpfile() #include //#include BEGIN_NAMESPACE_PBORI /// Get empty decision diagram BoolePolyRing::dd_type BoolePolyRing::zero() const { return dd_type(*this, p_core->m_mgr.zddZero()); } /// Get decision diagram with all variables negated BoolePolyRing::dd_type BoolePolyRing::one() const { return dd_type(*this, p_core->m_mgr.zddOne()); } /// Get constant one or zero BoolePolyRing::dd_type BoolePolyRing::constant(bool is_one) const { return (is_one? one(): zero()); } BoolePolyRing::dd_type BoolePolyRing::variableDiagram(checked_idx_type nvar) const { return dd_type(*this, p_core->m_mgr.getVar(nvar)); } /// Constructor for @em nvars variables //BooleRing::BooleRing(size_type nvars): // p_core(new core_type(nvars, get_ordering(lp)) ) { } // interface with cudd's variable management BoolePolyRing::BoolePolyRing(size_type nvars, ordercode_type order) : p_core(new core_type(nvars, get_ordering(order))) { PBORI_TRACE_FUNC( "BoolePolyRing(size_type)" ); } void BoolePolyRing::changeOrdering(ordercode_type order) { PBORI_TRACE_FUNC( "changeOrdering(ordercode_type)" ); p_core->change_ordering(get_ordering(order)); } /// Map polynomial to this ring, if possible BoolePolyRing::poly_type BoolePolyRing::coerce(const poly_type& rhs) const { if (getManager() == rhs.ring().getManager()) return poly_type(rhs.navigation(), *this); throw PBoRiError(CTypes::invalid); } /// Map monomial to this ring, if possible BoolePolyRing::monom_type BoolePolyRing::coerce(const monom_type& rhs) const { return CDDOperations().getMonomial(coerce(poly_type(rhs)).set()); } /// Map variable to this ring BoolePolyRing::var_type BoolePolyRing::coerce(const var_type& rhs) const { return var_type(rhs.index(), *this); } BoolePolyRing::var_type BoolePolyRing::variable(checked_idx_type nvar) const { return var_type(nvar, *this); } #if !defined(__GNUC__) && !defined(fmemopen) FILE *fmemopen (void *buf, size_t size, const char *opentype) { FILE *f; PBORI_ASSERT(strcmp(opentype, "r") == 0); f = tmpfile(); fwrite(buf, 1, size, f); rewind(f); return f; } #endif BoolePolyRing::ostream_type& BoolePolyRing::print(ostream_type& os) const { FILE* out = tmpfile(); bool no_error = false; if (out) no_error = PBORI_PREFIX(Cudd_PrintInfo)(getManager(), out); if (no_error) { rewind(out); char str_buf[LINE_MAX]; while( fgets(str_buf, LINE_MAX, out) ) os <<"## "<< str_buf; } else os << "## No ring info available" << std::endl; fclose(out); return os; } END_NAMESPACE_PBORI BRiAl-1.2.12/libbrial/src/BoolePolynomial.cc000066400000000000000000000561041436062512100205160ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file * * @author Alexander Dreyer * @date 2006-03-06 * * This file implements the class BoolePolymials, where carries the definition * of polynomials over Booleans. * * @par Copyright: * (c) 2006 by The PolyBoRi Team **/ //***************************************************************************** #include #include #include #include #include #include #define PBORI_USE_CCUDDFIRSTITER // load header file #include #include #include #include // get polynomial ring definition #include #include // get error types # include // get transformation algorithms # include // get functionals # include // include definition of output iterator over monomials //# include "OutMonomIter.h" # include # include // include definition of generic string literals # include // get internal routines # include # include # include #include #include #include BEGIN_NAMESPACE_PBORI //------------------------------------------------------------------------- // Constructors and destructor //------------------------------------------------------------------------ // Constructor polynomial from exponent vector BoolePolynomial::BoolePolynomial(const exp_type& rhs, const ring_type& ring): m_dd( ring.one() ) { PBORI_TRACE_FUNC( "BoolePolynomial(const exp_type&)" ); exp_type::const_reverse_iterator start(rhs.rbegin()), finish(rhs.rend()); while(start != finish) { m_dd = m_dd.change(*start); ++start; } } //------------------------------------------------------------------------- // operators and member functions //------------------------------------------------------------------------ // Addition BoolePolynomial& BoolePolynomial::operator+=(const self& rhs) { PBORI_TRACE_FUNC( "BoolePolynomial::operator+=(const self&)" ); dd_add_assign()(m_dd, rhs.m_dd); return *this; } // Multiplication BoolePolynomial& BoolePolynomial::operator*=(const monom_type& rhs) { PBORI_TRACE_FUNC( "BoolePolynomial::operator*=(const monom_type&)" ); typedef CommutativeCacheManager cache_mgr_type; self result = dd_multiply_recursively_monom(cache_mgr_type(ring()), rhs.diagram().navigation(), navigation(), self(ring())); return (*this = result); } // Multiplication BoolePolynomial& BoolePolynomial::operator*=(const exp_type& rhs) { PBORI_TRACE_FUNC( "BoolePolynomial::operator*=(const exp_type&)" ); typedef CCacheManagement cache_mgr_type; self result = dd_multiply_recursively_exp(cache_mgr_type(ring()), rhs.begin(), rhs.end(), navigation(), self(ring()) ); return (*this = result);; } // Multiplication BoolePolynomial& BoolePolynomial::operator*=(const self& rhs) { PBORI_TRACE_FUNC( "BoolePolynomial::operator*=(const self&)" ); //return *this = dd_multiply_recursively(*this, rhs); // self result = dd_multiply_recursively(*this, rhs); typedef CommutativeCacheManager cache_mgr_type; self result = dd_multiply_recursively(cache_mgr_type(ring()), navigation(), rhs.navigation(), self(ring())); return (*this = result); } // Division BoolePolynomial& BoolePolynomial::operator/=(const var_type& rhs) { PBORI_TRACE_FUNC( "BoolePolynomial::operator/=(const var_type&)" ); return operator/=(monom_type(rhs)); } // Division BoolePolynomial& BoolePolynomial::operator/=(const monom_type& rhs) { PBORI_TRACE_FUNC( "BoolePolynomial::operator/=(const monom_type&)" ); return (*this = m_dd.divide(rhs)); } // Division BoolePolynomial& BoolePolynomial::operator/=(const exp_type& rhs) { PBORI_TRACE_FUNC( "BoolePolynomial::operator/=(const exp_type&)" ); typedef CCacheManagement cache_mgr_type; return (*this = dd_divide_recursively_exp(cache_mgr_type(ring()), navigation(), rhs.begin(),rhs.end(), self(ring()))); } // Polynomial Division BoolePolynomial& BoolePolynomial::operator/=(const self& rhs) { PBORI_TRACE_FUNC( "BoolePolynomial::operator/=(const self&)" ); if PBORI_UNLIKELY(rhs.isZero()) { throw PBoRiGenericError(); } return operator/=(rhs.firstTerm()); } BoolePolynomial& BoolePolynomial::operator/=(constant_type rhs) { PBORI_TRACE_FUNC( "BoolePolynomial::operator/=(constant_type)" ); if PBORI_UNLIKELY(!rhs) { throw PBoRiGenericError(); } return *this; } // Modulus BoolePolynomial& BoolePolynomial::operator%=(const monom_type& rhs) { PBORI_TRACE_FUNC( "BoolePolynomial::operator%=(const monom_type&)" ); monom_type allvars(ring()); for(idx_type nvar = ring().nVariables(); nvar != 0;) allvars = allvars.change(--nvar); m_dd = m_dd.diff( rhs.multiples(allvars) ); return *this; } // Modulus BoolePolynomial& BoolePolynomial::operator%=(const var_type& rhs) { PBORI_TRACE_FUNC( "BoolePolynomial::operator%=(const var_type&)" ); return operator%=(monom_type(rhs)); } // Leading term BoolePolynomial::monom_type BoolePolynomial::lead() const { PBORI_TRACE_FUNC( "BoolePolynomial::lead() const" ); //if PBORI_UNLIKELY(isZero()) // throw PBoRiGenericError(); return ring().ordering().lead(*this); } // Leading term w.r.t. lex BoolePolynomial::monom_type BoolePolynomial::lexLead() const { PBORI_TRACE_FUNC( "BoolePolynomial::lexLead() const" ); //if PBORI_UNLIKELY(isZero()) // throw PBoRiGenericError(); return LexOrder().lead(*this); } // Leading term (bound) BoolePolynomial::monom_type BoolePolynomial::boundedLead(deg_type bound) const { PBORI_TRACE_FUNC( "BoolePolynomial::lead(deg_type) const" ); //if PBORI_UNLIKELY(isZero()) // throw PBoRiGenericError(); return ring().ordering().lead(*this, bound); } // Leading exponent BoolePolynomial::exp_type BoolePolynomial::leadExp() const { PBORI_TRACE_FUNC( "BoolePolynomial::leadExp() const" ); //if PBORI_UNLIKELY(isZero()) // throw PBoRiGenericError(); return ring().ordering().leadExp(*this); } // Leading exponent (bound) BoolePolynomial::exp_type BoolePolynomial::boundedLeadExp(deg_type bound) const { PBORI_TRACE_FUNC( "BoolePolynomial::leadExp(deg_type) const" ); //if PBORI_UNLIKELY(isZero()) // throw PBoRiGenericError(); return ring().ordering().leadExp(*this, bound); } // all dividers BoolePolynomial::set_type BoolePolynomial::firstDivisors() const { PBORI_TRACE_FUNC( "BoolePolynomial::firstDivisors() const" ); return m_dd.firstDivisors(); } // hash value of lead BoolePolynomial::hash_type BoolePolynomial::leadStableHash() const { PBORI_TRACE_FUNC( "BoolePolynomial::leadStableHash() const" ); self ld1st(leadFirst()); return stable_first_hash_range(ld1st.navigation()); } // Maximal degree of the polynomial BoolePolynomial::deg_type BoolePolynomial::deg() const { PBORI_TRACE_FUNC( "BoolePolynomial::deg() const" ); /// @todo: This is currently just brute force + caching, /// more efficient search may be needed. #ifndef PBORI_NO_DEGCACHE return dd_cached_degree(CDegreeCache(ring()), navigation()); #else return ( isConstant() ? (deg_type) 0 : *std::max_element(degBegin(), degEnd()) ); #endif } // Degree of the leading term BoolePolynomial::deg_type BoolePolynomial::leadDeg() const { PBORI_TRACE_FUNC( "BoolePolynomial::leadDeg() const" ); if (PBORI_UNLIKELY(isZero())) return -1; #ifndef PBORI_USE_CCUDDFIRSTITER // Equals number of nodes for monomials return lead().nNodes(); #else self ld1st(leadFirst()); return ld1st.lexLeadDeg(); #endif } // Degree of the leading term BoolePolynomial::deg_type BoolePolynomial::lexLeadDeg() const { PBORI_TRACE_FUNC( "BoolePolynomial::lexLeadDeg() const" ); if (PBORI_UNLIKELY(isZero())) return -1; return std::distance(firstBegin(), firstEnd()); } // Total (weighted) maximal degree of the polynomial BoolePolynomial::deg_type BoolePolynomial::totalDeg() const { PBORI_TRACE_FUNC( "BoolePolynomial::totalDeg() const" ); // No weighted degrees yet, so map to non-weighted variant return deg(); } // Total (weighted) degree of the leading term BoolePolynomial::deg_type BoolePolynomial::leadTotalDeg() const { PBORI_TRACE_FUNC( "BoolePolynomial::leadTotalDeg() const" ); // No weighted degrees yet, so map to non-weighted variant return leadDeg(); } // Get part of of given degree BoolePolynomial BoolePolynomial::gradedPart(deg_type deg) const { PBORI_TRACE_FUNC( "BoolePolynomial::gradedPart(deg_type) const" ); typedef CDegreeArgumentCache cache_type; return dd_graded_part(cache_type(ring()), navigation(), deg, set_type(ring())); } // Number of nodes in the decision diagram BoolePolynomial::size_type BoolePolynomial::nNodes() const { PBORI_TRACE_FUNC( "BoolePolynomial::nNodes() const" ); return m_dd.nNodes(); } // Number of variables of the polynomial BoolePolynomial::size_type BoolePolynomial::nUsedVariables() const { PBORI_TRACE_FUNC( "BoolePolynomial::nUsedVariables() const" ); return usedVariables().size(); } // Set of variables of the polynomial BoolePolynomial::monom_type BoolePolynomial::usedVariables() const { PBORI_TRACE_FUNC( "BoolePolynomial::usedVariables() const" ); monom_type result (CDDOperations().usedVariables(diagram())); self result2 (result); return CDDOperations().getMonomial(self(result2.navigation(), ring()).set()); } // Exponent vector of variables of the polynomial BoolePolynomial::exp_type BoolePolynomial::usedVariablesExp() const { PBORI_TRACE_FUNC( "BoolePolynomial::usedVariablesExp() const" ); return m_dd.usedVariablesExp(); } /// Returns number of terms BoolePolynomial::size_type BoolePolynomial::length() const { PBORI_TRACE_FUNC( "BoolePolynomial::length() const" ); return m_dd.length(); } // Print current polynomial to output stream BoolePolynomial::ostream_type& BoolePolynomial::print(ostream_type& os) const { PBORI_TRACE_FUNC( "BoolePolynomial::print() const" ); // defining literal variable products typedef CStringLiteral times_as_separator; // defining literal for term separators typedef CStringLiteral sep_literal_type; if( isZero() ) os << 0; else if( isOne() ) os << 1; else dd_print_terms(orderedExpBegin(), orderedExpEnd(), variable_name(ring()), sep_literal_type(), times_as_separator(), integral_constant(), os); return os; } // Start of leading term BoolePolynomial::first_iterator BoolePolynomial::firstBegin() const { PBORI_TRACE_FUNC( "BoolePolynomial::firstBegin() const" ); return m_dd.firstBegin(); } // Finish of leading term BoolePolynomial::first_iterator BoolePolynomial::firstEnd() const { PBORI_TRACE_FUNC( "BoolePolynomial::firstEnd() const" ); return m_dd.firstEnd(); } // Lexicographical leading term BoolePolynomial::monom_type BoolePolynomial::firstTerm() const { PBORI_TRACE_FUNC( "BoolePolynomial::firstTerm() const" ); return LexOrder().lead(*this); } // Start of degrees BoolePolynomial::deg_iterator BoolePolynomial::degBegin() const { PBORI_TRACE_FUNC( "BoolePolynomial::degBegin() const" ); return deg_iterator(navigation(), ring()); } // Finish of leading term BoolePolynomial::deg_iterator BoolePolynomial::degEnd() const { PBORI_TRACE_FUNC( "BoolePolynomial::degEnd() const" ); return deg_iterator(navigator(), ring()); } // Start of degrees BoolePolynomial::ordered_iterator BoolePolynomial::orderedBegin() const { PBORI_TRACE_FUNC( "BoolePolynomial::orderedBegin() const" ); return ring().ordering().leadIteratorBegin(*this); } // Finish of leading term BoolePolynomial::ordered_iterator BoolePolynomial::orderedEnd() const { PBORI_TRACE_FUNC( "BoolePolynomial::orderedEnd() const" ); return ring().ordering().leadIteratorEnd(*this); } // Start of degrees BoolePolynomial::ordered_exp_iterator BoolePolynomial::orderedExpBegin() const { PBORI_TRACE_FUNC( "BoolePolynomial::orderedExpBegin() const" ); return ring().ordering().leadExpIteratorBegin(*this);//*this; } // Finish of leading term BoolePolynomial::ordered_exp_iterator BoolePolynomial::orderedExpEnd() const { PBORI_TRACE_FUNC( "BoolePolynomial::orderedExpEnd() const" ); return ring().ordering().leadExpIteratorEnd(*this);//ordered_exp_iterator(); } // Start of iteration over monomials BoolePolynomial::const_iterator BoolePolynomial::begin() const { PBORI_TRACE_FUNC( "BoolePolynomial::begin() const" ); return const_iterator(navigation(), ring() ); } // Finish of iteration over monomials BoolePolynomial::const_iterator BoolePolynomial::end() const { PBORI_TRACE_FUNC( "BoolePolynomial::end() const" ); return const_iterator(navigator(), ring()); } // Start of iteration over exponent vectors BoolePolynomial::exp_iterator BoolePolynomial::expBegin() const { PBORI_TRACE_FUNC( "BoolePolynomial::exp_begin() const" ); return navigation(); } // Finish of iteration over monomials BoolePolynomial::exp_iterator BoolePolynomial::expEnd() const { PBORI_TRACE_FUNC( "BoolePolynomial::exp_end() const" ); return exp_iterator(navigator()); } // Start of iteration over monomials in lex ordering BoolePolynomial::lex_iterator BoolePolynomial::genericBegin(lex_tag) const { PBORI_TRACE_FUNC( "BoolePolynomial::genericBegin(lex_tag) const" ); return lex_iterator(navigation(), ring()); } // Finish of iteration over monomials in lex ordering BoolePolynomial::lex_iterator BoolePolynomial::genericEnd(lex_tag) const { PBORI_TRACE_FUNC( "BoolePolynomial::genericEnd(lex_tag) const" ); return lex_iterator(navigator(), ring()); } // Start of iteration over monomials in deg-lex ordering BoolePolynomial::dlex_iterator BoolePolynomial::genericBegin(dlex_tag) const { PBORI_TRACE_FUNC( "BoolePolynomial::genericBegin(dlex_tag) const" ); return dlex_iterator(navigation(), ring()); } // Finish of iteration over monomials in deg-lex ordering BoolePolynomial::dlex_iterator BoolePolynomial::genericEnd(dlex_tag) const { PBORI_TRACE_FUNC( "BoolePolynomial::genericEnd(dlex_tag) const" ); return dlex_iterator(navigator(), ring()); } // Start of iteration over monomials in ascending deg-rev-lex ordering BoolePolynomial::dp_asc_iterator BoolePolynomial::genericBegin(dp_asc_tag) const { PBORI_TRACE_FUNC( "BoolePolynomial::genericBegin(sd_asc_tag) const" ); return dp_asc_iterator(navigation(), ring()); } // Finish of iteration over monomials in ascending deg-rev-lex ordering BoolePolynomial::dp_asc_iterator BoolePolynomial::genericEnd(dp_asc_tag) const { PBORI_TRACE_FUNC( "BoolePolynomial::genericEnd(dp_asc_tag) const" ); return dp_asc_iterator(navigator(), ring()); } // Start of iteration over monomials in block deg-lex ordering BoolePolynomial::block_dlex_iterator BoolePolynomial::genericBegin(block_dlex_tag) const { PBORI_TRACE_FUNC( "BoolePolynomial::genericBegin(block_dlex_tag) const" ); return block_dlex_iterator(navigation(), ring()); } // Finish of iteration over monomials in block deg-lex ordering BoolePolynomial::block_dlex_iterator BoolePolynomial::genericEnd(block_dlex_tag) const { PBORI_TRACE_FUNC( "BoolePolynomial::genericEnd(block_dlex_tag) const" ); return block_dlex_iterator(navigator(), ring()); } BoolePolynomial::block_dp_asc_iterator BoolePolynomial::genericBegin(block_dp_asc_tag) const { PBORI_TRACE_FUNC( "BoolePolynomial::genericBegin(block_dp_asc_tag) const" ); return block_dp_asc_iterator(navigation(), ring()); } BoolePolynomial::block_dp_asc_iterator BoolePolynomial::genericEnd(block_dp_asc_tag) const { PBORI_TRACE_FUNC( "BoolePolynomial::genericEnd(block_dp_asc_tag) const" ); return block_dp_asc_iterator(navigator(), ring()); } // Start of iteration over monomials in lex ordering BoolePolynomial::lex_exp_iterator BoolePolynomial::genericExpBegin(lex_tag) const { PBORI_TRACE_FUNC( "BoolePolynomial::genericExpBegin(lex_tag) const" ); return lex_exp_iterator(navigation(), ring()); } // Finish of iteration over monomials in lex ordering BoolePolynomial::lex_exp_iterator BoolePolynomial::genericExpEnd(lex_tag) const { PBORI_TRACE_FUNC( "BoolePolynomial::genericExpEnd(lex_tag) const" ); return lex_exp_iterator(navigator(), ring()); } // Start of iteration over monomials in deg-lex ordering BoolePolynomial::dlex_exp_iterator BoolePolynomial::genericExpBegin(dlex_tag) const { PBORI_TRACE_FUNC( "BoolePolynomial::genericExpBegin(dlex_tag) const" ); return dlex_exp_iterator(navigation(), ring()); } // Finish of iteration over monomials in deg-lex ordering BoolePolynomial::dlex_exp_iterator BoolePolynomial::genericExpEnd(dlex_tag) const { PBORI_TRACE_FUNC( "BoolePolynomial::genericExpEnd(dlex_tag) const" ); return dlex_exp_iterator(navigator(), ring()); } // Start of iteration over monomials in ascending deg-rev-lex ordering BoolePolynomial::dp_asc_exp_iterator BoolePolynomial::genericExpBegin(dp_asc_tag) const { PBORI_TRACE_FUNC( "BoolePolynomial::genericExpBegin(sd_asc_tag) const" ); return dp_asc_exp_iterator(navigation(), ring()); } // Finish of iteration over monomials in ascending deg-rev-lex ordering BoolePolynomial::dp_asc_exp_iterator BoolePolynomial::genericExpEnd(dp_asc_tag) const { PBORI_TRACE_FUNC( "BoolePolynomial::genericExpEnd(dp_asc_tag) const" ); return dp_asc_exp_iterator(navigator(), ring()); } // Start of iteration over monomials in block deg-lex ordering BoolePolynomial::block_dlex_exp_iterator BoolePolynomial::genericExpBegin(block_dlex_tag) const { PBORI_TRACE_FUNC( "BoolePolynomial::genericExpBegin(block_dlex_tag) const" ); return block_dlex_exp_iterator(navigation(), ring()); } // Finish of iteration over monomials in block deg-lex ordering BoolePolynomial::block_dlex_exp_iterator BoolePolynomial::genericExpEnd(block_dlex_tag) const { PBORI_TRACE_FUNC( "BoolePolynomial::genericExpEnd(block_dlex_tag) const" ); return block_dlex_exp_iterator(navigator(), ring()); } // Start of iteration over monomials in block deg-lex ordering BoolePolynomial::block_dp_asc_exp_iterator BoolePolynomial::genericExpBegin(block_dp_asc_tag) const { PBORI_TRACE_FUNC( "BoolePolynomial::genericExpBegin(block_dp_asc_tag) const" ); return block_dp_asc_exp_iterator(navigation(), ring()); } // Finish of iteration over monomials in block deg-lex ordering BoolePolynomial::block_dp_asc_exp_iterator BoolePolynomial::genericExpEnd(block_dp_asc_tag) const { PBORI_TRACE_FUNC( "BoolePolynomial::genericExpEnd(block_dp_asc_tag) const" ); return block_dp_asc_exp_iterator(navigator(), ring()); } // fetch list of terms void BoolePolynomial::fetchTerms(termlist_type& theOutputList) const { PBORI_TRACE_FUNC("BoolePolynomial:fetchTerms(const termlist_type&)"); theOutputList.resize(length(), ring()); std::copy(begin(), end(), theOutputList.begin()); } // return list of terms BoolePolynomial::termlist_type BoolePolynomial::terms() const { PBORI_TRACE_FUNC("BoolePolynomial::terms() const" ); termlist_type theList; fetchTerms(theList); return theList; } // generate a polynomial, whose first term is the leading term BoolePolynomial BoolePolynomial::leadFirst() const { PBORI_TRACE_FUNC("BoolePolynomial::leadFirst() const" ); return ring().ordering().leadFirst(*this); } // Stream output for Boolean polynomials BoolePolynomial::ostream_type& operator<<(BoolePolynomial::ostream_type& os, const BoolePolynomial& source) { return source.print(os); } static int len_cheated; template class EliminationDegreeAdder{ public: int min; int sum; EliminationDegreeAdder(int min){ this->min=min; sum=0; } void operator() (const ExponentVectorType& ev){ int s=ev.size(); sum++; if(s>min) sum+=s-min; len_cheated=sum; } }; template class AddEliminationDegree { public: typedef SizeType size_type; //typedef std::binary_function base; AddEliminationDegree(size_type min): m_min(min) {} size_type& operator()(size_type& rhs, size_type lhs) { ++rhs; if (lhs > m_min) rhs += (lhs - m_min); return rhs; } private: const size_type m_min; }; BoolePolynomial::size_type BoolePolynomial::eliminationLength() const{ if (isZero()) return 0; if (ring().ordering().isTotalDegreeOrder()) return this->length(); deg_type deg=this->deg(); if (deg==this->leadDeg()){ return this->length(); } // BoolePolynomial::navigator navi = navigation(); // std::list > allLists; // dd_transform( navi, std::list(), // std::back_inserter(allLists), // push_back >() ); // int deg=(*allLists.begin()).size(); // EliminationDegreeAdder > sum_up(deg); // for_each(allLists.begin(), allLists.end(), sum_up); // //return sum_up.sum; // return len_cheated; return std::accumulate( degBegin(), degEnd(), size_type(0), AddEliminationDegree(leadDeg()) ); } BoolePolynomial::size_type BoolePolynomial::eliminationLengthWithDegBound(deg_type garantied_deg_bound) const { PBORI_ASSERT(garantied_deg_bound>=this->deg()); if (ring().ordering().isTotalDegreeOrder()) return this->length(); if (this->leadDeg()==garantied_deg_bound) return this->length(); else return this->eliminationLength(); } // Comparision // @todo more sophisticated procedure needed BoolePolynomial::comp_type BoolePolynomial::compare(const self& rhs) const { PBORI_TRACE_FUNC( "BoolePolynomial::compare(const self& rhs) const" ); if (operator==(rhs)) return 0; if (isZero()) return -1; if (rhs.isZero()) return 1; monom_type lhs_lead(lead()), rhs_lead(rhs.lead()); if (lhs_lead == rhs_lead) return (*this - lhs_lead).compare(rhs - rhs_lead); return (lhs_lead < rhs_lead? -1 : 1); } BoolePolynomial::bool_type BoolePolynomial::inSingleBlock() const{ if (isConstant()) return true; monom_type vars(usedVariables()); return ring().ordering().lieInSameBlock(*vars.begin(), *std::max_element(vars.begin(), vars.end())); } END_NAMESPACE_PBORI BRiAl-1.2.12/libbrial/src/BooleSet.cc000066400000000000000000000205341436062512100171240ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file BooleSet.cc * * @author Alexander Dreyer * @date 2006-04-19 * * This file implements the class BooleSet, where carries the definition * of sets of Boolean variables. * * @par Copyright: * (c) 2006-2010 by The PolyBoRi Team * **/ //***************************************************************************** // load header files # include # include # include # include # include # include # include #include // get internal routines # include # include # include // include polybori iterator #include #include #include BEGIN_NAMESPACE_PBORI // Add given monomial to sets BooleSet BooleSet::add(const term_type& rhs) const { PBORI_TRACE_FUNC( "BooleSet::add(const term_type&) const" ); return unite(rhs.set()); } // Check whether rhs is included in *this BooleSet::bool_type BooleSet::owns(const term_type& rhs) const { PBORI_TRACE_FUNC( "BooleSet::owns(const term_type&) const" ); return !(intersect(rhs.set()).isZero()); } // Check whether rhs is included in *this BooleSet::bool_type BooleSet::owns(const exp_type& rhs) const { PBORI_TRACE_FUNC( "BooleSet::owns(const exp_type&) const" ); return dd_owns(navigation(), rhs.begin(), rhs.end()); } // Start of iteration over monomials BooleSet::const_iterator BooleSet::begin() const { PBORI_TRACE_FUNC( "BooleSet::begin() const" ); return const_iterator(navigation(), ring()); } // Finish of iteration over monomials BooleSet::const_iterator BooleSet::end() const { PBORI_TRACE_FUNC( "BooleSet::end() const" ); return const_iterator(navigator(), ring()); } // Start of iteration over monomials BooleSet::const_reverse_iterator BooleSet::rbegin() const { PBORI_TRACE_FUNC( "BooleSet::rbegin() const" ); return const_reverse_iterator(navigation(), ring()); } // Finish of iteration over monomials BooleSet::const_reverse_iterator BooleSet::rend() const { PBORI_TRACE_FUNC( "BooleSet::rend() const" ); return const_reverse_iterator(navigator(), ring()); } // Start of iteration over exponent vectors BooleSet::exp_iterator BooleSet::expBegin() const { PBORI_TRACE_FUNC( "BooleSet::exp_begin() const" ); return exp_iterator(base::navigation(), base::ring()); } // Finish of iteration over monomials BooleSet::exp_iterator BooleSet::expEnd() const { PBORI_TRACE_FUNC( "BooleSet::exp_end() const" ); return exp_iterator(navigator(), ring()); } // Start of iteration over exponent vectors BooleSet::reverse_exp_iterator BooleSet::rExpBegin() const { PBORI_TRACE_FUNC( "BooleSet::rExpBegin() const" ); return reverse_exp_iterator(base::navigation(), base::ring()); } // Finish of iteration over monomials BooleSet::reverse_exp_iterator BooleSet::rExpEnd() const { PBORI_TRACE_FUNC( "BooleSet::rExpEnd() const" ); return reverse_exp_iterator(navigator(), ring()); } // Get last term (wrt. lexicographical order) BooleSet::term_type BooleSet::lastLexicographicalTerm() const { PBORI_TRACE_FUNC( "BooleSet::lastTerm() const" ); if PBORI_UNLIKELY(isZero()) throw PBoRiError(CTypes::illegal_on_zero); return dd_last_lexicographical_term(*this, type_tag()); } BooleSet BooleSet::firstDivisorsOf(const self& rhs) const { PBORI_TRACE_FUNC( "BooleSet::divisorsOf(const term_type&) const" ); typedef CCacheManagement cache_type; return dd_first_divisors_of( cache_type(ring()), navigation(), rhs.navigation(), self(ring()) ); } // compute intersection with divisors of rhs BooleSet BooleSet::divisorsOf(const term_type& rhs) const { PBORI_TRACE_FUNC( "BooleSet::divisorsOf(const term_type&) const" ); return firstDivisorsOf(rhs.diagram()); } // compute intersection with divisors of rhs BooleSet BooleSet::divisorsOf(const exp_type& rhs) const { PBORI_TRACE_FUNC( "BooleSet::divisorsOf(const exp_type&) const" ); return firstDivisorsOf(term_type(rhs, ring()).diagram()); } BooleSet BooleSet::multiplesOf(const term_type& rhs) const{ typedef CCacheManagement cache_type; return dd_first_multiples_of( cache_type(ring()), navigation(), rhs.diagram().navigation(), self(ring()) ); } // check whether the intersection with divisors of rhs is non-empty BooleSet::bool_type BooleSet::hasTermOfVariables(const term_type& rhs) const { PBORI_TRACE_FUNC( "BooleSet::EmptyDivisorsOf(const term_type&) const" ); #ifdef PBORI_HASTERMOFVARIABLES_HIGHLEVEL bool_type result =!divisorsOf(rhs).isZero(); #else bool_type result = dd_owns_term_of_indices(navigation(), rhs.begin(), rhs.end()); PBORI_ASSERT(result == !divisorsOf(rhs).isZero()); #endif return result; } BooleSet BooleSet::minimalElements() const { typedef CacheManager cache_mgr_type; typedef CacheManager modmon_mgr_type; return dd_minimal_elements(cache_mgr_type(ring()), modmon_mgr_type(ring()), base::navigation(), self(ring())); } // Division by given term BooleSet BooleSet::divide(const term_type& rhs) const { typedef CCacheManagement cache_mgr_type; return dd_divide_recursively(cache_mgr_type(ring()), navigation(), rhs.set().navigation(), self(ring())); } // Set of variables of the set BooleSet::term_type BooleSet::usedVariables() const { PBORI_TRACE_FUNC( "BooleSet::usedVariables() const" ); // return dd_used_variables(*this, type_tag()); return CDDOperations().usedVariables(*this); } // Exponent vector of variables of the set BooleSet::exp_type BooleSet::usedVariablesExp() const { PBORI_TRACE_FUNC( "BooleSet::usedVariablesExp() const" ); return usedVariables().exp(); } // Computes existential abstraction wrt to the variables in the first // lexicographical term of rhs BooleSet BooleSet::existAbstract(const term_type& rhs) const { PBORI_TRACE_FUNC( "BooleSet::existAbstract(const term_type&) const" ); typedef CCacheManagement cache_mgr_type; return dd_existential_abstraction(cache_mgr_type(ring()), rhs.diagram().navigation(), base::navigation(), self(ring())); } // Print current polynomial to output stream BooleSet::ostream_type& BooleSet::print(ostream_type& os) const { PBORI_TRACE_FUNC( "BooleSet::print() const" ); // defining literal variable products typedef CStringLiteral comma_as_separator; // defining literal for term separators typedef CStringLiteral sep_literal_type; typedef CStringLiteral empty_type; if( base::isZero() ) os << "{}"; else { os << "{{"; dd_print_terms(begin(), end(), variable_name(ring()), sep_literal_type(), comma_as_separator(), empty_type(), os); os << "}}"; } return os; } // Count terms containing BooleVariable(idx) BooleSet::size_type BooleSet::countIndex(idx_type idx) const { size_type size(0); return count_index(size, idx, *this); } // Count terms containing BooleVariable(idx) double BooleSet::countIndexDouble(idx_type idx) const { double size(0); return count_index(size, idx, *this); } // Test whether, all divisors of degree -1 of term rhs are contained in this BooleSet::bool_type BooleSet::containsDivisorsOfDecDeg(const term_type& rhs) const { return dd_contains_divs_of_dec_deg(navigation(), rhs.begin(), rhs.end()); } // Test for term corresponding to exponent rhs BooleSet::bool_type BooleSet::containsDivisorsOfDecDeg(const exp_type& rhs) const { return dd_contains_divs_of_dec_deg(navigation(), rhs.begin(), rhs.end()); } END_NAMESPACE_PBORI BRiAl-1.2.12/libbrial/src/BooleVariable.cc000066400000000000000000000014211436062512100201100ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file * * @author Alexander Dreyer * @date 2006-03-06 * * This file implements the class BoolePolymials, where carries the definition * of variables over Booleans. * * @par Copyright: * (c) 2006 by The PolyBoRi Team **/ //***************************************************************************** // load header file #include // get ring definitions //#include BEGIN_NAMESPACE_PBORI //------------------------------------------------------------------------- // Constructors and destructor //------------------------------------------------------------------------ // everything inlined END_NAMESPACE_PBORI BRiAl-1.2.12/libbrial/src/CCheckedIdx.cc000066400000000000000000000012521436062512100175020ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file CCheckedIdx.cc * * @author Alexander Dreyer * @date 2011-02-31 * * * * @par Copyright: * (c) by The PolyBoRi Team * **/ //***************************************************************************** // include basic definitions #include #include #include BEGIN_NAMESPACE_PBORI /** @class CCheckedIdx * @brief This class defines CCheckedIdx. * **/ void CCheckedIdx::handle_error() const { throw PBoRiGenericError(); } END_NAMESPACE_PBORI BRiAl-1.2.12/libbrial/src/CCuddFirstIter.cc000066400000000000000000000012361436062512100202240ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file CCuddFirstIter.cc * * @author Alexander Dreyer * @date 2006-03-26 * * This file implements an stl-like iterator for accessing the nonzero indices * of the leading (first) minimal term of Cudd decision diagrams. * * @note: Tested for Cudd's ZDDs only. * * @par Copyright: * (c) 2006 by The PolyBoRi Team **/ //***************************************************************************** // include basic definitions #include BEGIN_NAMESPACE_PBORI // moved everything to inline functions END_NAMESPACE_PBORI BRiAl-1.2.12/libbrial/src/CCuddLastIter.cc000066400000000000000000000045701436062512100200440ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file CCuddLastIter.cc * * @author Alexander Dreyer * @date 2006-03-26 * * This file implements an stl-like iterator for accessing the nonzero indices * of the lexicographical-minimal (last) term of Cudd decision diagrams. * * @note: Tested for Cudd's ZDDs only. * * @par Copyright: * (c) 2006 by The PolyBoRi Team **/ //***************************************************************************** // include basic definitions #include BEGIN_NAMESPACE_PBORI // constructor CCuddLastIter::CCuddLastIter(pointer_type ptr): base(ptr) { PBORI_TRACE_FUNC( "CCuddLastIter::CCuddLastIter(pointer_type)" ); self tmp(*this); if(isValid()){ // go in the direction of last term if(!isConstant()) incrementElse(); while(!isConstant()){ tmp = *this; incrementElse(); } if(isConstant() && !terminalValue()) *this = tmp; terminateConstant(); } } // copy constructor CCuddLastIter::CCuddLastIter(const self& rhs): base(rhs) { PBORI_TRACE_FUNC( "CCuddLastIter::CCuddLastIter(const self&)" ); } // destructor CCuddLastIter::~CCuddLastIter() { PBORI_TRACE_FUNC( "CCuddLastIter::~CCuddLastIter()" ); // does nothing, because everything is managed in base } // prefix increment operator CCuddLastIter& CCuddLastIter::operator++() { PBORI_TRACE_FUNC( "CCuddLastIter::operator++()" ); if(isValid()) { // this node is done; go to next possible node PBORI_ASSERT(!isConstant()); incrementThen(); if( !isConstant() ) { // if still in interior of a path self prev(*this); // store copy of *this incrementElse(); // go in direction of last term, if possible // restore previous value, of else branch was invalid if( isConstant() && !terminalValue() ) *this = prev; } terminateConstant(); } return *this; } // postfix increment operator CCuddLastIter CCuddLastIter::operator++(int) { PBORI_TRACE_FUNC( "CCuddLastIter::operator++(int)" ); self tmp(*this); operator++(); return tmp; } // go to valid node void CCuddLastIter::terminateConstant() { PBORI_TRACE_FUNC( "CCuddLastIter::terminateConstant()" ); if (isConstant()) *this = self(); // mark end of path reached } END_NAMESPACE_PBORI BRiAl-1.2.12/libbrial/src/CErrorInfo.cc000066400000000000000000000036461436062512100174250ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file: CErrorInfo.cc * * @author Alexander Dreyer * @date 2006-03-06 * * This file defines the class CErrorInfo, which to conver error coedes to * meaningful text. * * @par Copyright: * (c) 2006 by The PolyBoRi Team **/ //***************************************************************************** // load header file #include BEGIN_NAMESPACE_PBORI CErrorInfo::errortext_type CErrorInfo::pErrorText[CTypes::last_error]; // default constructor (call once for text initialization) CErrorInfo::CErrorInfo() { PBORI_TRACE_FUNC( "CErrorInfo()" ); pErrorText[CTypes::alright] = "No error."; pErrorText[CTypes::failed] = "Unspecified error."; pErrorText[CTypes::no_ring] = "No polynomial ring structure defined."; pErrorText[CTypes::invalid] = "Invalid operation called."; pErrorText[CTypes::out_of_bounds] = "Variable index out of bounds."; pErrorText[CTypes::io_error] = "I/O error."; pErrorText[CTypes::monomial_zero] = "Monomial operation resulted in zero."; pErrorText[CTypes::illegal_on_zero] = "Illegal operation on zero diagram or (sub-)polynomial."; pErrorText[CTypes::division_by_zero] = "Division by zero."; pErrorText[CTypes::invalid_ite] = "Node index must be smaller than top indices of then- and else-branch."; pErrorText[CTypes::not_implemented] = "Sorry! Functionality not implemented yet."; pErrorText[CTypes::matrix_size_exceeded] = "Built-in matrix-size exceeded!"; } // convert error code to description text CErrorInfo::errortext_type CErrorInfo::text(errornum_type num) { PBORI_TRACE_FUNC( "CErrorInfo::text(errornum_type) const" ); if PBORI_UNLIKELY(num < 0 || num >= CTypes::last_error) return "Unknown error occured."; return pErrorText[num]; } // initialize array of error names static CErrorInfo init_error_info; END_NAMESPACE_PBORI BRiAl-1.2.12/libbrial/src/COrderingBase.cc000066400000000000000000000007501436062512100200550ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file COrderingBase.cc * * @author Julian Rüth * @date 2018-03-11 * * Initializes the members of COrderingBase. * * @par Copyright: * (c) 2018 Julian Rüth **/ //***************************************************************************** #include BEGIN_NAMESPACE_PBORI const std::vector COrderingBase::empty; END_NAMESPACE_PBORI BRiAl-1.2.12/libbrial/src/DegLexOrder.cc000066400000000000000000000063261436062512100175570ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file DegLexOrder.cc * * @author Alexander Dreyer * @date 2006-05-18 * * Defining Degree-lexicographical ordering. * * @par Copyright: * (c) 2006 by The PolyBoRi Team **/ //***************************************************************************** // include definitions #include #include #include // get internal routines #include #include #include BEGIN_NAMESPACE_PBORI // Comparison of monomials DegLexOrder::comp_type DegLexOrder::compare(const monom_type& lhs, const monom_type& rhs) const { PBORI_TRACE_FUNC( "DegLexOrder::compare(const monom_type&, const monom_type&) const)" ); return deg_lex_compare(lhs, rhs, idx_comparer_type()); } // Comparison of monomials DegLexOrder::comp_type DegLexOrder::compare(const exp_type& lhs, const exp_type& rhs) const { PBORI_TRACE_FUNC( "DegLexOrder::compare(const exp_type&, const exp_type&) const)" ); return deg_lex_compare(lhs, rhs, idx_comparer_type()); } // Comparison of monomials DegLexOrder::comp_type DegLexOrder::compare(idx_type lhs, idx_type rhs) const { PBORI_TRACE_FUNC( "DegLexOrder::compare(monom_type, monom_type) const)" ); return generic_compare_3way(lhs, rhs, idx_comparer_type()); } // Extraction of leading term DegLexOrder::monom_type DegLexOrder::lead(const poly_type& poly) const { PBORI_TRACE_FUNC( "DegLexOrder::lead(const poly_type&) const)" ); return self::lead(poly, poly.deg()); } // Extraction of leading term ///@todo: more accurate explanation (comments) DegLexOrder::monom_type DegLexOrder::lead(const poly_type& poly, deg_type bound) const { PBORI_TRACE_FUNC( "DegLexOrder::lead(const poly_type&, deg_type) const)" ); CacheManager cache_mgr(poly.ring()); CBoundedDegreeCache deg_mgr(poly.ring()); poly_type::navigator navi(poly.navigation()); deg_type deg(dd_cached_degree(deg_mgr, navi, bound)); return monom( dd_recursive_degree_lead(cache_mgr, deg_mgr, navi, set_type(poly.ring()), deg, descending_property()) ); } // maybe common template here // Extraction of leading exponent DegLexOrder::exp_type DegLexOrder::leadExp(const poly_type& poly) const { PBORI_TRACE_FUNC( "DegLexOrder::leadexp(const poly_type&) const)" ); return self::leadExp(poly, poly.deg()); } // maybe common template here // Extraction of leading exponent DegLexOrder::exp_type DegLexOrder::leadExp(const poly_type& poly, deg_type bound) const { PBORI_TRACE_FUNC( "DegLexOrder::leadexp(const poly_type&, deg_type) const)"); CacheManager cache_mgr(poly.ring()); CBoundedDegreeCache deg_mgr(poly.ring()); poly_type::navigator navi(poly.navigation()); deg_type deg(dd_cached_degree(deg_mgr, navi, bound)); exp_type result; result.reserve(std::max(deg, 0)); return dd_recursive_degree_leadexp(cache_mgr, deg_mgr, navi, result, deg, descending_property()); } END_NAMESPACE_PBORI BRiAl-1.2.12/libbrial/src/DegRevLexAscOrder.cc000066400000000000000000000067161436062512100206660ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file DegRevLexAscOrder.cc * * @author Alexander Dreyer * @date 2006-05-18 * * Defining Degree-reverse lexicographical ordering. * * @par Copyright: * (c) 2006 by The PolyBoRi Team **/ //***************************************************************************** // include definitions #include #include #include // get internal routines #include #include BEGIN_NAMESPACE_PBORI // Comparison of monomials DegRevLexAscOrder::comp_type DegRevLexAscOrder::compare(const monom_type& lhs, const monom_type& rhs) const { PBORI_TRACE_FUNC( "DegRevLexAscOrder::compare(const monom_type&, const monom_type&) const)" ); return deg_lex_compare(lhs, rhs, idx_comparer_type()); } // Comparison of monomials DegRevLexAscOrder::comp_type DegRevLexAscOrder::compare(const exp_type& lhs, const exp_type& rhs) const { PBORI_TRACE_FUNC( "DegRevLexAscOrder::compare(const exp_type&, const exp_type&) const)" ); return deg_lex_compare(lhs, rhs, idx_comparer_type()); } // Comparison of monomials DegRevLexAscOrder::comp_type DegRevLexAscOrder::compare(idx_type lhs, idx_type rhs) const { PBORI_TRACE_FUNC( "DegRevLexAscOrder::compare(monom_type, monom_type) const)" ); return generic_compare_3way(lhs, rhs, idx_comparer_type()); } // Extraction of leading term DegRevLexAscOrder::monom_type DegRevLexAscOrder::lead(const poly_type& poly) const { PBORI_TRACE_FUNC( "DegRevLexAscOrder::lead(const poly_type&) const)" ); return self::lead(poly, poly.deg()); } // maybe common template here // Extraction of leading exponent DegRevLexAscOrder::exp_type DegRevLexAscOrder::leadExp(const poly_type& poly) const { PBORI_TRACE_FUNC( "DegRevLexAscOrder::leadexp(const poly_type&) const)" ); // if PBORI_UNLIKELY(poly.isZero()) // throw PBoRiGenericError(); return self::leadExp(poly, poly.deg()); } // Extraction of leading exponent DegRevLexAscOrder::exp_type DegRevLexAscOrder::leadExp(const poly_type& poly, deg_type bound) const { PBORI_TRACE_FUNC( "DegRevLexAscOrder::leadexp(const poly_type&, deg_type) const)" ); // if PBORI_UNLIKELY(poly.isZero()) // throw PBoRiGenericError(); CacheManager cache_mgr(poly.ring()); CBoundedDegreeCache deg_mgr(poly.ring()); poly_type::navigator navi(poly.navigation()); deg_type deg(dd_cached_degree(deg_mgr, navi, bound)); exp_type result; result.reserve(std::max(deg, 0)); return dd_recursive_degree_leadexp(cache_mgr, deg_mgr, navi, result, deg, descending_property()); } // Extraction of leading term DegRevLexAscOrder::monom_type DegRevLexAscOrder::lead(const poly_type& poly, deg_type bound) const { PBORI_TRACE_FUNC( "DegRevLexAscOrder::lead(const poly_type&, deg_type) const)" ); CacheManager cache_mgr(poly.ring()); CBoundedDegreeCache deg_mgr(poly.ring()); poly_type::navigator navi(poly.navigation()); deg_type deg(dd_cached_degree(deg_mgr, navi, bound)); return monom( dd_recursive_degree_lead(cache_mgr, deg_mgr, navi, set_type(poly.ring()), deg, descending_property()) ); } END_NAMESPACE_PBORI BRiAl-1.2.12/libbrial/src/LexOrder.cc000066400000000000000000000070621436062512100171350ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file LexOrder.cc * * @author Alexander Dreyer * @date 2006-05-18 * * Defining lexicographical ordering. * * @par Copyright: * (c) 2006 by The PolyBoRi Team **/ //***************************************************************************** // include definitions #include #include #include #include // get internal routines #include BEGIN_NAMESPACE_PBORI // // todo: move to some header // template // typename Order::comp_type // lex_compare(FirstIterator start, FirstIterator finish, // SecondIterator rhs_start, SecondIterator rhs_finish, // Order order) { // while ( (start != finish) && (rhs_start != rhs_finish) && // (*start == *rhs_start) ) { // ++start; ++rhs_start; // } // if (start == finish) // return CTypes::less_than; // if (rhs_start == rhs_finish) // return CTypes::greater_than; // return order.compare(*start, *rhs_start); // } // // todo: move to some header // template // typename Order::comp_type // lex_compare(const LhsType& lhs, const RhsType& rhs, Order order) { // if (lhs == rhs) // return CTypes::equality; // return lex_compare(lhs.begin(), lhs.end(), rhs.begin(), rhs.end(), order); // } // Comparison of monomials LexOrder::comp_type LexOrder::compare(const monom_type& lhs, const monom_type& rhs) const { PBORI_TRACE_FUNC( "LexOrder::compare(const monom_type&, const monom_type&) const)" ); return lex_compare(lhs, rhs, idx_comparer_type()); } // Comparison of monomials LexOrder::comp_type LexOrder::compare(const exp_type& lhs, const exp_type& rhs) const { PBORI_TRACE_FUNC( "LexOrder::compare(const exp_type&, const exp_type&) const)" ); return lex_compare(lhs, rhs, idx_comparer_type()); } // Comparison of monomials LexOrder::comp_type LexOrder::compare(idx_type lhs, idx_type rhs) const { PBORI_TRACE_FUNC( "LexOrder::compare(monom_type, monom_type) const)" ); return generic_compare_3way(lhs, rhs, idx_comparer_type()); } template DDType dd_lex_lead(const CacheType& cache, NaviType navi, const DDType& init) { if (navi.isConstant()) return cache.generate(navi); NaviType cached = cache.find(navi); if (cached.isValid()) return cache.generate(cached); DDType result = dd_lex_lead(cache, navi.thenBranch(), init).change(*navi); cache.insert(navi, result.navigation()); return result; } // Extraction of leading term LexOrder::monom_type LexOrder::lead(const poly_type& poly) const { PBORI_TRACE_FUNC( "LexOrder::lead(const poly_type& poly) const" ); CacheManager cache(poly.ring()); return monom(dd_lex_lead(cache, poly.navigation(), set_type(poly.ring()))); } // maybe common template here // Extraction of leading exponent LexOrder::exp_type LexOrder::leadExp(const poly_type& poly) const { PBORI_TRACE_FUNC( "LexOrder::leadExp(const poly_type& poly) const" ); exp_type leadterm; if (!poly.isConstant()) { leadterm.reserve(poly.lexLeadDeg()); // wrt. given indices to a monomial PBoRiOutIter > outiter(leadterm) ; std::copy(poly.firstBegin(), poly.firstEnd(), outiter); } return leadterm; } END_NAMESPACE_PBORI BRiAl-1.2.12/libbrial/src/Makefile.am000066400000000000000000000007321436062512100171330ustar00rootroot00000000000000include $(top_srcdir)/common.mk noinst_LTLIBRARIES = libbrial_base.la libbrial_base_la_SOURCES = \ BlockDegLexOrder.cc \ BlockDegRevLexAscOrder.cc \ BooleEnv.cc \ BooleExponent.cc \ BooleMonomial.cc \ BoolePolynomial.cc \ BoolePolyRing.cc \ BooleSet.cc \ BooleVariable.cc \ CCheckedIdx.cc \ CCuddFirstIter.cc \ CCuddLastIter.cc \ CErrorInfo.cc \ COrderingBase.cc \ DegLexOrder.cc \ DegRevLexAscOrder.cc \ LexOrder.cc \ pbori_routines.cc \ PBoRiError.cc BRiAl-1.2.12/libbrial/src/PBoRiError.cc000066400000000000000000000021411436062512100173670ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file: PBoRiError.cc * * @author Alexander Dreyer * @date 2006-03-06 * * This file defines the class PBoriError, which is used for polybori's * exception handling. * * @par Copyright: * (c) 2006 by The PolyBoRi Team **/ // load header file #include #include BEGIN_NAMESPACE_PBORI // usual constructor PBoRiError::PBoRiError(errornum_type err): error(err) { PBORI_TRACE_FUNC( "PBoRiError(errorcode)" ); } // destructor PBoRiError::~PBoRiError() throw() { PBORI_TRACE_FUNC( "~PBoRiError()" ); } // copy constructor PBoRiError::PBoRiError(const self& rhs): error(rhs.error) { PBORI_TRACE_FUNC( "PBoRiError(const self&)" ); } // get error code PBoRiError::errornum_type PBoRiError::code() const { PBORI_TRACE_FUNC( "PBoRiError::code() const" ); return error; } PBoRiError::errortext_type PBoRiError::text() const { PBORI_TRACE_FUNC( "PBoRiError::info() const" ); return CErrorInfo::text(error); } END_NAMESPACE_PBORI BRiAl-1.2.12/libbrial/src/pbori_routines.cc000066400000000000000000000012371436062512100204520ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file pbori_routines.cc * * @author Alexander Dreyer * @date 2006-10-26 * * This file includes some compiled routines. * * @par Copyright: * (c) 2006 by The PolyBoRi Team **/ //***************************************************************************** // include basic definitions #include #include #include BEGIN_NAMESPACE_PBORI // dummy for cuddcache DdNode* pboriCuddZddUnionXor__(DdManager *, DdNode *, DdNode *){ return NULL; } // LCOV_EXCL_LINE END_NAMESPACE_PBORI BRiAl-1.2.12/m4/000077500000000000000000000000001436062512100130465ustar00rootroot00000000000000BRiAl-1.2.12/m4/ax_boost_base.m4000066400000000000000000000330121436062512100161170ustar00rootroot00000000000000# =========================================================================== # https://www.gnu.org/software/autoconf-archive/ax_boost_base.html # =========================================================================== # # SYNOPSIS # # AX_BOOST_BASE([MINIMUM-VERSION], [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) # # DESCRIPTION # # Test for the Boost C++ libraries of a particular version (or newer) # # If no path to the installed boost library is given the macro searchs # under /usr, /usr/local, /opt and /opt/local and evaluates the # $BOOST_ROOT environment variable. Further documentation is available at # . # # This macro calls: # # AC_SUBST(BOOST_CPPFLAGS) / AC_SUBST(BOOST_LDFLAGS) # # And sets: # # HAVE_BOOST # # LICENSE # # Copyright (c) 2008 Thomas Porschberg # Copyright (c) 2009 Peter Adolphs # # Copying and distribution of this file, with or without modification, are # permitted in any medium without royalty provided the copyright notice # and this notice are preserved. This file is offered as-is, without any # warranty. #serial 49 # example boost program (need to pass version) m4_define([_AX_BOOST_BASE_PROGRAM], [AC_LANG_PROGRAM([[ #include ]],[[ (void) ((void)sizeof(char[1 - 2*!!((BOOST_VERSION) < ($1))])); ]])]) AC_DEFUN([AX_BOOST_BASE], [ AC_ARG_WITH([boost], [AS_HELP_STRING([--with-boost@<:@=ARG@:>@], [use Boost library from a standard location (ARG=yes), from the specified location (ARG=), or disable it (ARG=no) @<:@ARG=yes@:>@ ])], [ AS_CASE([$withval], [no],[want_boost="no";_AX_BOOST_BASE_boost_path=""], [yes],[want_boost="yes";_AX_BOOST_BASE_boost_path=""], [want_boost="yes";_AX_BOOST_BASE_boost_path="$withval"]) ], [want_boost="yes"]) AC_ARG_WITH([boost-libdir], [AS_HELP_STRING([--with-boost-libdir=LIB_DIR], [Force given directory for boost libraries. Note that this will override library path detection, so use this parameter only if default library detection fails and you know exactly where your boost libraries are located.])], [ AS_IF([test -d "$withval"], [_AX_BOOST_BASE_boost_lib_path="$withval"], [AC_MSG_ERROR([--with-boost-libdir expected directory name])]) ], [_AX_BOOST_BASE_boost_lib_path=""]) BOOST_LDFLAGS="" BOOST_CPPFLAGS="" AS_IF([test "x$want_boost" = "xyes"], [_AX_BOOST_BASE_RUNDETECT([$1],[$2],[$3])]) AC_SUBST(BOOST_CPPFLAGS) AC_SUBST(BOOST_LDFLAGS) ]) # convert a version string in $2 to numeric and affect to polymorphic var $1 AC_DEFUN([_AX_BOOST_BASE_TONUMERICVERSION],[ AS_IF([test "x$2" = "x"],[_AX_BOOST_BASE_TONUMERICVERSION_req="1.20.0"],[_AX_BOOST_BASE_TONUMERICVERSION_req="$2"]) _AX_BOOST_BASE_TONUMERICVERSION_req_shorten=`expr $_AX_BOOST_BASE_TONUMERICVERSION_req : '\([[0-9]]*\.[[0-9]]*\)'` _AX_BOOST_BASE_TONUMERICVERSION_req_major=`expr $_AX_BOOST_BASE_TONUMERICVERSION_req : '\([[0-9]]*\)'` AS_IF([test "x$_AX_BOOST_BASE_TONUMERICVERSION_req_major" = "x"], [AC_MSG_ERROR([You should at least specify libboost major version])]) _AX_BOOST_BASE_TONUMERICVERSION_req_minor=`expr $_AX_BOOST_BASE_TONUMERICVERSION_req : '[[0-9]]*\.\([[0-9]]*\)'` AS_IF([test "x$_AX_BOOST_BASE_TONUMERICVERSION_req_minor" = "x"], [_AX_BOOST_BASE_TONUMERICVERSION_req_minor="0"]) _AX_BOOST_BASE_TONUMERICVERSION_req_sub_minor=`expr $_AX_BOOST_BASE_TONUMERICVERSION_req : '[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)'` AS_IF([test "X$_AX_BOOST_BASE_TONUMERICVERSION_req_sub_minor" = "X"], [_AX_BOOST_BASE_TONUMERICVERSION_req_sub_minor="0"]) _AX_BOOST_BASE_TONUMERICVERSION_RET=`expr $_AX_BOOST_BASE_TONUMERICVERSION_req_major \* 100000 \+ $_AX_BOOST_BASE_TONUMERICVERSION_req_minor \* 100 \+ $_AX_BOOST_BASE_TONUMERICVERSION_req_sub_minor` AS_VAR_SET($1,$_AX_BOOST_BASE_TONUMERICVERSION_RET) ]) dnl Run the detection of boost should be run only if $want_boost AC_DEFUN([_AX_BOOST_BASE_RUNDETECT],[ _AX_BOOST_BASE_TONUMERICVERSION(WANT_BOOST_VERSION,[$1]) succeeded=no AC_REQUIRE([AC_CANONICAL_HOST]) dnl On 64-bit systems check for system libraries in both lib64 and lib. dnl The former is specified by FHS, but e.g. Debian does not adhere to dnl this (as it rises problems for generic multi-arch support). dnl The last entry in the list is chosen by default when no libraries dnl are found, e.g. when only header-only libraries are installed! AS_CASE([${host_cpu}], [x86_64],[libsubdirs="lib64 libx32 lib lib64"], [mips*64*],[libsubdirs="lib64 lib32 lib lib64"], [ppc64|powerpc64|s390x|sparc64|aarch64|ppc64le|powerpc64le|riscv64|e2k],[libsubdirs="lib64 lib lib64"], [libsubdirs="lib"] ) dnl allow for real multi-arch paths e.g. /usr/lib/x86_64-linux-gnu. Give dnl them priority over the other paths since, if libs are found there, they dnl are almost assuredly the ones desired. AS_CASE([${host_cpu}], [i?86],[multiarch_libsubdir="lib/i386-${host_os}"], [armv7l],[multiarch_libsubdir="lib/arm-${host_os}"], [multiarch_libsubdir="lib/${host_cpu}-${host_os}"] ) dnl first we check the system location for boost libraries dnl this location ist chosen if boost libraries are installed with the --layout=system option dnl or if you install boost with RPM AS_IF([test "x$_AX_BOOST_BASE_boost_path" != "x"],[ AC_MSG_CHECKING([for boostlib >= $1 ($WANT_BOOST_VERSION) includes in "$_AX_BOOST_BASE_boost_path/include"]) AS_IF([test -d "$_AX_BOOST_BASE_boost_path/include" && test -r "$_AX_BOOST_BASE_boost_path/include"],[ AC_MSG_RESULT([yes]) BOOST_CPPFLAGS="-I$_AX_BOOST_BASE_boost_path/include" for _AX_BOOST_BASE_boost_path_tmp in $multiarch_libsubdir $libsubdirs; do AC_MSG_CHECKING([for boostlib >= $1 ($WANT_BOOST_VERSION) lib path in "$_AX_BOOST_BASE_boost_path/$_AX_BOOST_BASE_boost_path_tmp"]) AS_IF([test -d "$_AX_BOOST_BASE_boost_path/$_AX_BOOST_BASE_boost_path_tmp" && test -r "$_AX_BOOST_BASE_boost_path/$_AX_BOOST_BASE_boost_path_tmp" ],[ AC_MSG_RESULT([yes]) BOOST_LDFLAGS="-L$_AX_BOOST_BASE_boost_path/$_AX_BOOST_BASE_boost_path_tmp"; break; ], [AC_MSG_RESULT([no])]) done],[ AC_MSG_RESULT([no])]) ],[ if test X"$cross_compiling" = Xyes; then search_libsubdirs=$multiarch_libsubdir else search_libsubdirs="$multiarch_libsubdir $libsubdirs" fi for _AX_BOOST_BASE_boost_path_tmp in /usr /usr/local /opt /opt/local ; do if test -d "$_AX_BOOST_BASE_boost_path_tmp/include/boost" && test -r "$_AX_BOOST_BASE_boost_path_tmp/include/boost" ; then for libsubdir in $search_libsubdirs ; do if ls "$_AX_BOOST_BASE_boost_path_tmp/$libsubdir/libboost_"* >/dev/null 2>&1 ; then break; fi done BOOST_LDFLAGS="-L$_AX_BOOST_BASE_boost_path_tmp/$libsubdir" BOOST_CPPFLAGS="-I$_AX_BOOST_BASE_boost_path_tmp/include" break; fi done ]) dnl overwrite ld flags if we have required special directory with dnl --with-boost-libdir parameter AS_IF([test "x$_AX_BOOST_BASE_boost_lib_path" != "x"], [BOOST_LDFLAGS="-L$_AX_BOOST_BASE_boost_lib_path"]) AC_MSG_CHECKING([for boostlib >= $1 ($WANT_BOOST_VERSION)]) CPPFLAGS_SAVED="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" export CPPFLAGS LDFLAGS_SAVED="$LDFLAGS" LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" export LDFLAGS AC_REQUIRE([AC_PROG_CXX]) AC_LANG_PUSH(C++) AC_COMPILE_IFELSE([_AX_BOOST_BASE_PROGRAM($WANT_BOOST_VERSION)],[ AC_MSG_RESULT(yes) succeeded=yes found_system=yes ],[ ]) AC_LANG_POP([C++]) dnl if we found no boost with system layout we search for boost libraries dnl built and installed without the --layout=system option or for a staged(not installed) version if test "x$succeeded" != "xyes" ; then CPPFLAGS="$CPPFLAGS_SAVED" LDFLAGS="$LDFLAGS_SAVED" BOOST_CPPFLAGS= if test -z "$_AX_BOOST_BASE_boost_lib_path" ; then BOOST_LDFLAGS= fi _version=0 if test -n "$_AX_BOOST_BASE_boost_path" ; then if test -d "$_AX_BOOST_BASE_boost_path" && test -r "$_AX_BOOST_BASE_boost_path"; then for i in `ls -d $_AX_BOOST_BASE_boost_path/include/boost-* 2>/dev/null`; do _version_tmp=`echo $i | sed "s#$_AX_BOOST_BASE_boost_path##" | sed 's/\/include\/boost-//' | sed 's/_/./'` V_CHECK=`expr $_version_tmp \> $_version` if test "x$V_CHECK" = "x1" ; then _version=$_version_tmp fi VERSION_UNDERSCORE=`echo $_version | sed 's/\./_/'` BOOST_CPPFLAGS="-I$_AX_BOOST_BASE_boost_path/include/boost-$VERSION_UNDERSCORE" done dnl if nothing found search for layout used in Windows distributions if test -z "$BOOST_CPPFLAGS"; then if test -d "$_AX_BOOST_BASE_boost_path/boost" && test -r "$_AX_BOOST_BASE_boost_path/boost"; then BOOST_CPPFLAGS="-I$_AX_BOOST_BASE_boost_path" fi fi dnl if we found something and BOOST_LDFLAGS was unset before dnl (because "$_AX_BOOST_BASE_boost_lib_path" = ""), set it here. if test -n "$BOOST_CPPFLAGS" && test -z "$BOOST_LDFLAGS"; then for libsubdir in $libsubdirs ; do if ls "$_AX_BOOST_BASE_boost_path/$libsubdir/libboost_"* >/dev/null 2>&1 ; then break; fi done BOOST_LDFLAGS="-L$_AX_BOOST_BASE_boost_path/$libsubdir" fi fi else if test "x$cross_compiling" != "xyes" ; then for _AX_BOOST_BASE_boost_path in /usr /usr/local /opt /opt/local ; do if test -d "$_AX_BOOST_BASE_boost_path" && test -r "$_AX_BOOST_BASE_boost_path" ; then for i in `ls -d $_AX_BOOST_BASE_boost_path/include/boost-* 2>/dev/null`; do _version_tmp=`echo $i | sed "s#$_AX_BOOST_BASE_boost_path##" | sed 's/\/include\/boost-//' | sed 's/_/./'` V_CHECK=`expr $_version_tmp \> $_version` if test "x$V_CHECK" = "x1" ; then _version=$_version_tmp best_path=$_AX_BOOST_BASE_boost_path fi done fi done VERSION_UNDERSCORE=`echo $_version | sed 's/\./_/'` BOOST_CPPFLAGS="-I$best_path/include/boost-$VERSION_UNDERSCORE" if test -z "$_AX_BOOST_BASE_boost_lib_path" ; then for libsubdir in $libsubdirs ; do if ls "$best_path/$libsubdir/libboost_"* >/dev/null 2>&1 ; then break; fi done BOOST_LDFLAGS="-L$best_path/$libsubdir" fi fi if test -n "$BOOST_ROOT" ; then for libsubdir in $libsubdirs ; do if ls "$BOOST_ROOT/stage/$libsubdir/libboost_"* >/dev/null 2>&1 ; then break; fi done if test -d "$BOOST_ROOT" && test -r "$BOOST_ROOT" && test -d "$BOOST_ROOT/stage/$libsubdir" && test -r "$BOOST_ROOT/stage/$libsubdir"; then version_dir=`expr //$BOOST_ROOT : '.*/\(.*\)'` stage_version=`echo $version_dir | sed 's/boost_//' | sed 's/_/./g'` stage_version_shorten=`expr $stage_version : '\([[0-9]]*\.[[0-9]]*\)'` V_CHECK=`expr $stage_version_shorten \>\= $_version` if test "x$V_CHECK" = "x1" && test -z "$_AX_BOOST_BASE_boost_lib_path" ; then AC_MSG_NOTICE(We will use a staged boost library from $BOOST_ROOT) BOOST_CPPFLAGS="-I$BOOST_ROOT" BOOST_LDFLAGS="-L$BOOST_ROOT/stage/$libsubdir" fi fi fi fi CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" export CPPFLAGS LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" export LDFLAGS AC_LANG_PUSH(C++) AC_COMPILE_IFELSE([_AX_BOOST_BASE_PROGRAM($WANT_BOOST_VERSION)],[ AC_MSG_RESULT(yes) succeeded=yes found_system=yes ],[ ]) AC_LANG_POP([C++]) fi if test "x$succeeded" != "xyes" ; then if test "x$_version" = "x0" ; then AC_MSG_NOTICE([[We could not detect the boost libraries (version $1 or higher). If you have a staged boost library (still not installed) please specify \$BOOST_ROOT in your environment and do not give a PATH to --with-boost option. If you are sure you have boost installed, then check your version number looking in . See http://randspringer.de/boost for more documentation.]]) else AC_MSG_NOTICE([Your boost libraries seems to old (version $_version).]) fi # execute ACTION-IF-NOT-FOUND (if present): ifelse([$3], , :, [$3]) else AC_DEFINE(HAVE_BOOST,,[define if the Boost library is available]) # execute ACTION-IF-FOUND (if present): ifelse([$2], , :, [$2]) fi CPPFLAGS="$CPPFLAGS_SAVED" LDFLAGS="$LDFLAGS_SAVED" ]) BRiAl-1.2.12/m4/ax_boost_unit_test_framework.m4000066400000000000000000000135501436062512100213050ustar00rootroot00000000000000# ================================================================================= # https://www.gnu.org/software/autoconf-archive/ax_boost_unit_test_framework.html # ================================================================================= # # SYNOPSIS # # AX_BOOST_UNIT_TEST_FRAMEWORK # # DESCRIPTION # # Test for Unit_Test_Framework library from the Boost C++ libraries. The # macro requires a preceding call to AX_BOOST_BASE. Further documentation # is available at . # # This macro calls: # # AC_SUBST(BOOST_UNIT_TEST_FRAMEWORK_LIB) # # And sets: # # HAVE_BOOST_UNIT_TEST_FRAMEWORK # # LICENSE # # Copyright (c) 2008 Thomas Porschberg # # Copying and distribution of this file, with or without modification, are # permitted in any medium without royalty provided the copyright notice # and this notice are preserved. This file is offered as-is, without any # warranty. #serial 22 AC_DEFUN([AX_BOOST_UNIT_TEST_FRAMEWORK], [ AC_ARG_WITH([boost-unit-test-framework], AS_HELP_STRING([--with-boost-unit-test-framework@<:@=special-lib@:>@], [use the Unit_Test_Framework library from boost - it is possible to specify a certain library for the linker e.g. --with-boost-unit-test-framework=boost_unit_test_framework-gcc ]), [ if test "$withval" = "no"; then want_boost="no" elif test "$withval" = "yes"; then want_boost="yes" ax_boost_user_unit_test_framework_lib="" else want_boost="yes" ax_boost_user_unit_test_framework_lib="$withval" fi ], [want_boost="yes"] ) if test "x$want_boost" = "xyes"; then AC_REQUIRE([AC_PROG_CC]) CPPFLAGS_SAVED="$CPPFLAGS" CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS" export CPPFLAGS LDFLAGS_SAVED="$LDFLAGS" LDFLAGS="$LDFLAGS $BOOST_LDFLAGS" export LDFLAGS AC_CACHE_CHECK(whether the Boost::Unit_Test_Framework library is available, ax_cv_boost_unit_test_framework, [AC_LANG_PUSH([C++]) AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[@%:@include ]], [[using boost::unit_test::test_suite; test_suite* test= BOOST_TEST_SUITE( "Unit test example 1" ); if (test == NULL) { return 1; } else { return 0; }]])], ax_cv_boost_unit_test_framework=yes, ax_cv_boost_unit_test_framework=no) AC_LANG_POP([C++]) ]) if test "x$ax_cv_boost_unit_test_framework" = "xyes"; then AC_DEFINE(HAVE_BOOST_UNIT_TEST_FRAMEWORK,,[define if the Boost::Unit_Test_Framework library is available]) BOOSTLIBDIR=`echo $BOOST_LDFLAGS | sed -e 's/@<:@^\/@:>@*//'` if test "x$ax_boost_user_unit_test_framework_lib" = "x"; then saved_ldflags="${LDFLAGS}" for monitor_library in `ls $BOOSTLIBDIR/libboost_unit_test_framework*.so* $BOOSTLIBDIR/libboost_unit_test_framework*.dylib* $BOOSTLIBDIR/libboost_unit_test_framework*.a* 2>/dev/null` ; do if test -r $monitor_library ; then libextension=`echo $monitor_library | sed 's,.*/,,' | sed -e 's;^lib\(boost_unit_test_framework.*\)\.so.*$;\1;' -e 's;^lib\(boost_unit_test_framework.*\)\.dylib.*$;\1;' -e 's;^lib\(boost_unit_test_framework.*\)\.a.*$;\1;'` ax_lib=${libextension} link_unit_test_framework="yes" else link_unit_test_framework="no" fi if test "x$link_unit_test_framework" = "xyes"; then BOOST_UNIT_TEST_FRAMEWORK_LIB="-l$ax_lib" AC_SUBST(BOOST_UNIT_TEST_FRAMEWORK_LIB) break fi done if test "x$link_unit_test_framework" != "xyes"; then for libextension in `ls $BOOSTLIBDIR/boost_unit_test_framework*.dll* $BOOSTLIBDIR/boost_unit_test_framework*.a* 2>/dev/null | sed 's,.*/,,' | sed -e 's;^\(boost_unit_test_framework.*\)\.dll.*$;\1;' -e 's;^\(boost_unit_test_framework.*\)\.a.*$;\1;'` ; do ax_lib=${libextension} AC_CHECK_LIB($ax_lib, exit, [BOOST_UNIT_TEST_FRAMEWORK_LIB="-l$ax_lib"; AC_SUBST(BOOST_UNIT_TEST_FRAMEWORK_LIB) link_unit_test_framework="yes"; break], [link_unit_test_framework="no"]) done fi else link_unit_test_framework="no" saved_ldflags="${LDFLAGS}" for ax_lib in boost_unit_test_framework-$ax_boost_user_unit_test_framework_lib $ax_boost_user_unit_test_framework_lib ; do if test "x$link_unit_test_framework" = "xyes"; then break; fi for unittest_library in `ls $BOOSTLIBDIR/lib${ax_lib}.so* $BOOSTLIBDIR/lib${ax_lib}.a* 2>/dev/null` ; do if test -r $unittest_library ; then libextension=`echo $unittest_library | sed 's,.*/,,' | sed -e 's;^lib\(boost_unit_test_framework.*\)\.so.*$;\1;' -e 's;^lib\(boost_unit_test_framework.*\)\.a*$;\1;'` ax_lib=${libextension} link_unit_test_framework="yes" else link_unit_test_framework="no" fi if test "x$link_unit_test_framework" = "xyes"; then BOOST_UNIT_TEST_FRAMEWORK_LIB="-l$ax_lib" AC_SUBST(BOOST_UNIT_TEST_FRAMEWORK_LIB) break fi done done fi if test "x$ax_lib" = "x"; then AC_MSG_ERROR(Could not find a version of the Boost::Unit_Test_Framework library!) fi if test "x$link_unit_test_framework" != "xyes"; then AC_MSG_ERROR(Could not link against $ax_lib !) fi fi CPPFLAGS="$CPPFLAGS_SAVED" LDFLAGS="$LDFLAGS_SAVED" fi ]) BRiAl-1.2.12/m4/ax_cxx_compile_stdcxx.m4000066400000000000000000000504151436062512100177140ustar00rootroot00000000000000# =========================================================================== # https://www.gnu.org/software/autoconf-archive/ax_cxx_compile_stdcxx.html # =========================================================================== # # SYNOPSIS # # AX_CXX_COMPILE_STDCXX(VERSION, [ext|noext], [mandatory|optional]) # # DESCRIPTION # # Check for baseline language coverage in the compiler for the specified # version of the C++ standard. If necessary, add switches to CXX and # CXXCPP to enable support. VERSION may be '11', '14', '17', or '20' for # the respective C++ standard version. # # The second argument, if specified, indicates whether you insist on an # extended mode (e.g. -std=gnu++11) or a strict conformance mode (e.g. # -std=c++11). If neither is specified, you get whatever works, with # preference for no added switch, and then for an extended mode. # # The third argument, if specified 'mandatory' or if left unspecified, # indicates that baseline support for the specified C++ standard is # required and that the macro should error out if no mode with that # support is found. If specified 'optional', then configuration proceeds # regardless, after defining HAVE_CXX${VERSION} if and only if a # supporting mode is found. # # LICENSE # # Copyright (c) 2008 Benjamin Kosnik # Copyright (c) 2012 Zack Weinberg # Copyright (c) 2013 Roy Stogner # Copyright (c) 2014, 2015 Google Inc.; contributed by Alexey Sokolov # Copyright (c) 2015 Paul Norman # Copyright (c) 2015 Moritz Klammler # Copyright (c) 2016, 2018 Krzesimir Nowak # Copyright (c) 2019 Enji Cooper # Copyright (c) 2020 Jason Merrill # Copyright (c) 2021 Jörn Heusipp # # Copying and distribution of this file, with or without modification, are # permitted in any medium without royalty provided the copyright notice # and this notice are preserved. This file is offered as-is, without any # warranty. #serial 14 dnl This macro is based on the code from the AX_CXX_COMPILE_STDCXX_11 macro dnl (serial version number 13). AC_DEFUN([AX_CXX_COMPILE_STDCXX], [dnl m4_if([$1], [11], [ax_cxx_compile_alternatives="11 0x"], [$1], [14], [ax_cxx_compile_alternatives="14 1y"], [$1], [17], [ax_cxx_compile_alternatives="17 1z"], [$1], [20], [ax_cxx_compile_alternatives="20"], [m4_fatal([invalid first argument `$1' to AX_CXX_COMPILE_STDCXX])])dnl m4_if([$2], [], [], [$2], [ext], [], [$2], [noext], [], [m4_fatal([invalid second argument `$2' to AX_CXX_COMPILE_STDCXX])])dnl m4_if([$3], [], [ax_cxx_compile_cxx$1_required=true], [$3], [mandatory], [ax_cxx_compile_cxx$1_required=true], [$3], [optional], [ax_cxx_compile_cxx$1_required=false], [m4_fatal([invalid third argument `$3' to AX_CXX_COMPILE_STDCXX])]) AC_LANG_PUSH([C++])dnl ac_success=no m4_if([$2], [], [dnl AC_CACHE_CHECK(whether $CXX supports C++$1 features by default, ax_cv_cxx_compile_cxx$1, [AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])], [ax_cv_cxx_compile_cxx$1=yes], [ax_cv_cxx_compile_cxx$1=no])]) if test x$ax_cv_cxx_compile_cxx$1 = xyes; then ac_success=yes fi]) m4_if([$2], [noext], [], [dnl if test x$ac_success = xno; then for alternative in ${ax_cxx_compile_alternatives}; do switch="-std=gnu++${alternative}" cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_$switch]) AC_CACHE_CHECK(whether $CXX supports C++$1 features with $switch, $cachevar, [ac_save_CXX="$CXX" CXX="$CXX $switch" AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])], [eval $cachevar=yes], [eval $cachevar=no]) CXX="$ac_save_CXX"]) if eval test x\$$cachevar = xyes; then CXX="$CXX $switch" if test -n "$CXXCPP" ; then CXXCPP="$CXXCPP $switch" fi ac_success=yes break fi done fi]) m4_if([$2], [ext], [], [dnl if test x$ac_success = xno; then dnl HP's aCC needs +std=c++11 according to: dnl http://h21007.www2.hp.com/portal/download/files/unprot/aCxx/PDF_Release_Notes/769149-001.pdf dnl Cray's crayCC needs "-h std=c++11" for alternative in ${ax_cxx_compile_alternatives}; do for switch in -std=c++${alternative} +std=c++${alternative} "-h std=c++${alternative}"; do cachevar=AS_TR_SH([ax_cv_cxx_compile_cxx$1_$switch]) AC_CACHE_CHECK(whether $CXX supports C++$1 features with $switch, $cachevar, [ac_save_CXX="$CXX" CXX="$CXX $switch" AC_COMPILE_IFELSE([AC_LANG_SOURCE([_AX_CXX_COMPILE_STDCXX_testbody_$1])], [eval $cachevar=yes], [eval $cachevar=no]) CXX="$ac_save_CXX"]) if eval test x\$$cachevar = xyes; then CXX="$CXX $switch" if test -n "$CXXCPP" ; then CXXCPP="$CXXCPP $switch" fi ac_success=yes break fi done if test x$ac_success = xyes; then break fi done fi]) AC_LANG_POP([C++]) if test x$ax_cxx_compile_cxx$1_required = xtrue; then if test x$ac_success = xno; then AC_MSG_ERROR([*** A compiler with support for C++$1 language features is required.]) fi fi if test x$ac_success = xno; then HAVE_CXX$1=0 AC_MSG_NOTICE([No compiler with C++$1 support was found]) else HAVE_CXX$1=1 AC_DEFINE(HAVE_CXX$1,1, [define if the compiler supports basic C++$1 syntax]) fi AC_SUBST(HAVE_CXX$1) ]) dnl Test body for checking C++11 support m4_define([_AX_CXX_COMPILE_STDCXX_testbody_11], _AX_CXX_COMPILE_STDCXX_testbody_new_in_11 ) dnl Test body for checking C++14 support m4_define([_AX_CXX_COMPILE_STDCXX_testbody_14], _AX_CXX_COMPILE_STDCXX_testbody_new_in_11 _AX_CXX_COMPILE_STDCXX_testbody_new_in_14 ) dnl Test body for checking C++17 support m4_define([_AX_CXX_COMPILE_STDCXX_testbody_17], _AX_CXX_COMPILE_STDCXX_testbody_new_in_11 _AX_CXX_COMPILE_STDCXX_testbody_new_in_14 _AX_CXX_COMPILE_STDCXX_testbody_new_in_17 ) dnl Test body for checking C++20 support m4_define([_AX_CXX_COMPILE_STDCXX_testbody_20], _AX_CXX_COMPILE_STDCXX_testbody_new_in_11 _AX_CXX_COMPILE_STDCXX_testbody_new_in_14 _AX_CXX_COMPILE_STDCXX_testbody_new_in_17 _AX_CXX_COMPILE_STDCXX_testbody_new_in_20 ) dnl Tests for new features in C++11 m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_11], [[ // If the compiler admits that it is not ready for C++11, why torture it? // Hopefully, this will speed up the test. #ifndef __cplusplus #error "This is not a C++ compiler" #elif __cplusplus < 201103L #error "This is not a C++11 compiler" #else namespace cxx11 { namespace test_static_assert { template struct check { static_assert(sizeof(int) <= sizeof(T), "not big enough"); }; } namespace test_final_override { struct Base { virtual ~Base() {} virtual void f() {} }; struct Derived : public Base { virtual ~Derived() override {} virtual void f() override {} }; } namespace test_double_right_angle_brackets { template < typename T > struct check {}; typedef check single_type; typedef check> double_type; typedef check>> triple_type; typedef check>>> quadruple_type; } namespace test_decltype { int f() { int a = 1; decltype(a) b = 2; return a + b; } } namespace test_type_deduction { template < typename T1, typename T2 > struct is_same { static const bool value = false; }; template < typename T > struct is_same { static const bool value = true; }; template < typename T1, typename T2 > auto add(T1 a1, T2 a2) -> decltype(a1 + a2) { return a1 + a2; } int test(const int c, volatile int v) { static_assert(is_same::value == true, ""); static_assert(is_same::value == false, ""); static_assert(is_same::value == false, ""); auto ac = c; auto av = v; auto sumi = ac + av + 'x'; auto sumf = ac + av + 1.0; static_assert(is_same::value == true, ""); static_assert(is_same::value == true, ""); static_assert(is_same::value == true, ""); static_assert(is_same::value == false, ""); static_assert(is_same::value == true, ""); return (sumf > 0.0) ? sumi : add(c, v); } } namespace test_noexcept { int f() { return 0; } int g() noexcept { return 0; } static_assert(noexcept(f()) == false, ""); static_assert(noexcept(g()) == true, ""); } namespace test_constexpr { template < typename CharT > unsigned long constexpr strlen_c_r(const CharT *const s, const unsigned long acc) noexcept { return *s ? strlen_c_r(s + 1, acc + 1) : acc; } template < typename CharT > unsigned long constexpr strlen_c(const CharT *const s) noexcept { return strlen_c_r(s, 0UL); } static_assert(strlen_c("") == 0UL, ""); static_assert(strlen_c("1") == 1UL, ""); static_assert(strlen_c("example") == 7UL, ""); static_assert(strlen_c("another\0example") == 7UL, ""); } namespace test_rvalue_references { template < int N > struct answer { static constexpr int value = N; }; answer<1> f(int&) { return answer<1>(); } answer<2> f(const int&) { return answer<2>(); } answer<3> f(int&&) { return answer<3>(); } void test() { int i = 0; const int c = 0; static_assert(decltype(f(i))::value == 1, ""); static_assert(decltype(f(c))::value == 2, ""); static_assert(decltype(f(0))::value == 3, ""); } } namespace test_uniform_initialization { struct test { static const int zero {}; static const int one {1}; }; static_assert(test::zero == 0, ""); static_assert(test::one == 1, ""); } namespace test_lambdas { void test1() { auto lambda1 = [](){}; auto lambda2 = lambda1; lambda1(); lambda2(); } int test2() { auto a = [](int i, int j){ return i + j; }(1, 2); auto b = []() -> int { return '0'; }(); auto c = [=](){ return a + b; }(); auto d = [&](){ return c; }(); auto e = [a, &b](int x) mutable { const auto identity = [](int y){ return y; }; for (auto i = 0; i < a; ++i) a += b--; return x + identity(a + b); }(0); return a + b + c + d + e; } int test3() { const auto nullary = [](){ return 0; }; const auto unary = [](int x){ return x; }; using nullary_t = decltype(nullary); using unary_t = decltype(unary); const auto higher1st = [](nullary_t f){ return f(); }; const auto higher2nd = [unary](nullary_t f1){ return [unary, f1](unary_t f2){ return f2(unary(f1())); }; }; return higher1st(nullary) + higher2nd(nullary)(unary); } } namespace test_variadic_templates { template struct sum; template struct sum { static constexpr auto value = N0 + sum::value; }; template <> struct sum<> { static constexpr auto value = 0; }; static_assert(sum<>::value == 0, ""); static_assert(sum<1>::value == 1, ""); static_assert(sum<23>::value == 23, ""); static_assert(sum<1, 2>::value == 3, ""); static_assert(sum<5, 5, 11>::value == 21, ""); static_assert(sum<2, 3, 5, 7, 11, 13>::value == 41, ""); } // http://stackoverflow.com/questions/13728184/template-aliases-and-sfinae // Clang 3.1 fails with headers of libstd++ 4.8.3 when using std::function // because of this. namespace test_template_alias_sfinae { struct foo {}; template using member = typename T::member_type; template void func(...) {} template void func(member*) {} void test(); void test() { func(0); } } } // namespace cxx11 #endif // __cplusplus >= 201103L ]]) dnl Tests for new features in C++14 m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_14], [[ // If the compiler admits that it is not ready for C++14, why torture it? // Hopefully, this will speed up the test. #ifndef __cplusplus #error "This is not a C++ compiler" #elif __cplusplus < 201402L #error "This is not a C++14 compiler" #else namespace cxx14 { namespace test_polymorphic_lambdas { int test() { const auto lambda = [](auto&&... args){ const auto istiny = [](auto x){ return (sizeof(x) == 1UL) ? 1 : 0; }; const int aretiny[] = { istiny(args)... }; return aretiny[0]; }; return lambda(1, 1L, 1.0f, '1'); } } namespace test_binary_literals { constexpr auto ivii = 0b0000000000101010; static_assert(ivii == 42, "wrong value"); } namespace test_generalized_constexpr { template < typename CharT > constexpr unsigned long strlen_c(const CharT *const s) noexcept { auto length = 0UL; for (auto p = s; *p; ++p) ++length; return length; } static_assert(strlen_c("") == 0UL, ""); static_assert(strlen_c("x") == 1UL, ""); static_assert(strlen_c("test") == 4UL, ""); static_assert(strlen_c("another\0test") == 7UL, ""); } namespace test_lambda_init_capture { int test() { auto x = 0; const auto lambda1 = [a = x](int b){ return a + b; }; const auto lambda2 = [a = lambda1(x)](){ return a; }; return lambda2(); } } namespace test_digit_separators { constexpr auto ten_million = 100'000'000; static_assert(ten_million == 100000000, ""); } namespace test_return_type_deduction { auto f(int& x) { return x; } decltype(auto) g(int& x) { return x; } template < typename T1, typename T2 > struct is_same { static constexpr auto value = false; }; template < typename T > struct is_same { static constexpr auto value = true; }; int test() { auto x = 0; static_assert(is_same::value, ""); static_assert(is_same::value, ""); return x; } } } // namespace cxx14 #endif // __cplusplus >= 201402L ]]) dnl Tests for new features in C++17 m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_17], [[ // If the compiler admits that it is not ready for C++17, why torture it? // Hopefully, this will speed up the test. #ifndef __cplusplus #error "This is not a C++ compiler" #elif __cplusplus < 201703L #error "This is not a C++17 compiler" #else #include #include #include namespace cxx17 { namespace test_constexpr_lambdas { constexpr int foo = [](){return 42;}(); } namespace test::nested_namespace::definitions { } namespace test_fold_expression { template int multiply(Args... args) { return (args * ... * 1); } template bool all(Args... args) { return (args && ...); } } namespace test_extended_static_assert { static_assert (true); } namespace test_auto_brace_init_list { auto foo = {5}; auto bar {5}; static_assert(std::is_same, decltype(foo)>::value); static_assert(std::is_same::value); } namespace test_typename_in_template_template_parameter { template typename X> struct D; } namespace test_fallthrough_nodiscard_maybe_unused_attributes { int f1() { return 42; } [[nodiscard]] int f2() { [[maybe_unused]] auto unused = f1(); switch (f1()) { case 17: f1(); [[fallthrough]]; case 42: f1(); } return f1(); } } namespace test_extended_aggregate_initialization { struct base1 { int b1, b2 = 42; }; struct base2 { base2() { b3 = 42; } int b3; }; struct derived : base1, base2 { int d; }; derived d1 {{1, 2}, {}, 4}; // full initialization derived d2 {{}, {}, 4}; // value-initialized bases } namespace test_general_range_based_for_loop { struct iter { int i; int& operator* () { return i; } const int& operator* () const { return i; } iter& operator++() { ++i; return *this; } }; struct sentinel { int i; }; bool operator== (const iter& i, const sentinel& s) { return i.i == s.i; } bool operator!= (const iter& i, const sentinel& s) { return !(i == s); } struct range { iter begin() const { return {0}; } sentinel end() const { return {5}; } }; void f() { range r {}; for (auto i : r) { [[maybe_unused]] auto v = i; } } } namespace test_lambda_capture_asterisk_this_by_value { struct t { int i; int foo() { return [*this]() { return i; }(); } }; } namespace test_enum_class_construction { enum class byte : unsigned char {}; byte foo {42}; } namespace test_constexpr_if { template int f () { if constexpr(cond) { return 13; } else { return 42; } } } namespace test_selection_statement_with_initializer { int f() { return 13; } int f2() { if (auto i = f(); i > 0) { return 3; } switch (auto i = f(); i + 4) { case 17: return 2; default: return 1; } } } namespace test_template_argument_deduction_for_class_templates { template struct pair { pair (T1 p1, T2 p2) : m1 {p1}, m2 {p2} {} T1 m1; T2 m2; }; void f() { [[maybe_unused]] auto p = pair{13, 42u}; } } namespace test_non_type_auto_template_parameters { template struct B {}; B<5> b1; B<'a'> b2; } namespace test_structured_bindings { int arr[2] = { 1, 2 }; std::pair pr = { 1, 2 }; auto f1() -> int(&)[2] { return arr; } auto f2() -> std::pair& { return pr; } struct S { int x1 : 2; volatile double y1; }; S f3() { return {}; } auto [ x1, y1 ] = f1(); auto& [ xr1, yr1 ] = f1(); auto [ x2, y2 ] = f2(); auto& [ xr2, yr2 ] = f2(); const auto [ x3, y3 ] = f3(); } namespace test_exception_spec_type_system { struct Good {}; struct Bad {}; void g1() noexcept; void g2(); template Bad f(T*, T*); template Good f(T1*, T2*); static_assert (std::is_same_v); } namespace test_inline_variables { template void f(T) {} template inline T g(T) { return T{}; } template<> inline void f<>(int) {} template<> int g<>(int) { return 5; } } } // namespace cxx17 #endif // __cplusplus < 201703L ]]) dnl Tests for new features in C++20 m4_define([_AX_CXX_COMPILE_STDCXX_testbody_new_in_20], [[ #ifndef __cplusplus #error "This is not a C++ compiler" #elif __cplusplus < 202002L #error "This is not a C++20 compiler" #else #include namespace cxx20 { // As C++20 supports feature test macros in the standard, there is no // immediate need to actually test for feature availability on the // Autoconf side. } // namespace cxx20 #endif // __cplusplus < 202002L ]]) BRiAl-1.2.12/m4/ax_m4ri_flags.m4000066400000000000000000000022741436062512100160340ustar00rootroot00000000000000# SYNOPSIS # # AX_M4RI_CFLAGS # # DESCRIPTION # # Defines M4RI_CFLAGS which contains the CFLAGS used for building # the copy of M4RI we're linking against. # # LAST MODIFICATION # # 2011-10-03 # # COPYLEFT # # Copyright (c) 2009,2010 Martin Albrecht # # Copying and distribution of this file, with or without modification, are # permitted in any medium without royalty provided the copyright notice # and this notice are preserved. AC_DEFUN([AX_M4RI_CFLAGS], [ AC_PREREQ(2.59) AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_PROG_SED]) save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS $M4RIE_M4RI_CFLAGS" AC_CACHE_CHECK(for M4RI CFLAGS, ax_cv_m4ri_cflags, [AC_RUN_IFELSE([AC_LANG_PROGRAM([[ #include #include ]], [[ FILE *f; f = fopen("conftest_m4ri_cflags", "w"); if (!f) return 1; fprintf(f,"%s %s",__M4RI_SIMD_CFLAGS, __M4RI_OPENMP_CFLAGS); fclose(f); return 0; ]])], [ax_cv_m4ri_cflags=`cat conftest_m4ri_cflags`; rm -f conftest_m4ri_cflags; CFLAGS="$save_CFLAGS"], [ax_cv_m4ri_cflags=""; rm -f conftest_m4ri_cflags; CFLAGS="$save_CFLAGS"], [ax_cv_m4ri_cflags=""; CFLAGS="$save_CFLAGS"])])]) ]) BRiAl-1.2.12/sage-brial/000077500000000000000000000000001436062512100145345ustar00rootroot00000000000000BRiAl-1.2.12/sage-brial/README.md000066400000000000000000000002551436062512100160150ustar00rootroot00000000000000BRiAl is the legacy version of PolyBoRi maintained by sagemath developers. sage-BRiAl is the python implementation of BRiAl that relies on sage to interface with libbrial. BRiAl-1.2.12/sage-brial/brial/000077500000000000000000000000001436062512100156255ustar00rootroot00000000000000BRiAl-1.2.12/sage-brial/brial/PyPolyBoRi.py000066400000000000000000000054051436062512100202130ustar00rootroot00000000000000"""PolyBoRi's interface to libpolybori* This file makes interfaces to PolyBoRi's runtime libraries available in Python via sage. AUTHOR: The PolyBoRi Team, 2007-2012 Examples: >>> from brial.frontend import * >>> r=declare_ring(["x0","x1","x2","y0","y1","y2"], globals()) >>> x0>x1 True >>> x0>x1*x2 True >>> y0>y1 True >>> y0>y1*y2 True >>> r = r.clone(ordering=dlex) >>> r(x0) > r(x1) True >>> r(x0) > r(x1*x2) False >>> r = r.clone(ordering=dp_asc) >>> r(x0) > r(x1) False >>> r(x0) > r(x1*x2) False >>> r = r.clone(ordering=block_dlex, blocks=[3]) >>> r(x0) > r(x1) True >>> r(x0) > r(x1*x2) False >>> r(x0) > r(y0*y1*y2) True >>> r = r.clone(ordering=block_dp_asc) >>> r(x0) > r(x1) False >>> r(x0) > r(y0) False >>> r(x0) > r(x1*x2) False >>> r = r.clone(ordering=block_dp_asc, blocks=[3]) >>> r(x0) > r(y0) True >>> r(x0) > r(y0*y1) True >>> r = r.clone(names=["z17", "z7"]) >>> [r.variable(idx) for idx in xrange(3)] [z17, z7, x2] >>> r = r.clone(names="abcde") >>> [r.variable(idx) for idx in xrange(6)] [a, b, c, d, e, y2] """ from sage import all from sage.rings.polynomial.pbori import * import weakref OrderCode = type('OrderCode', (object,), order_dict) def Ring(n, order='lp', names=None, blocks=[]): pbnames = names if pbnames is None: pbnames = ['x(' + str(idx) + ')' for idx in range(n)] order = TermOrder_from_pb_order(n, order, blocks) R = BooleanPolynomialRing(n, names=pbnames, order=order) return R BoolePolynomialVector = BooleanPolynomialVector #todo: PolyBoRi's original interface uses its WeakRingPtr here def WeakRingRef(ring): return weakref.weakref(ring) Monomial = MonomialFactory() Polynomial = PolynomialFactory() Variable = VariableFactory() _add_up_polynomials = add_up_polynomials def add_up_polynomials(polys, init): """ Adds up the polynomials in polys (which should be a BoolePolynomialVector or a sequence of ??? """ if not isinstance(polys, BoolePolynomialVector): vec = BoolePolynomialVector for p in polys: vec.append(p) polys = vec return _add_up_polynomials(polys, init) _gauss_on_polys = gauss_on_polys def gauss_on_polys(l): vec = BoolePolynomialVector(l) return list(_gauss_on_polys(vec)) BRiAl-1.2.12/sage-brial/brial/__init__.py000066400000000000000000000037101436062512100177370ustar00rootroot00000000000000"""The PolyBoRi package implements a framework for computations with Polynomials in Boolean Ring. The core of PolyBoRi is a C++ library, which provides high-level data types for Boolean polynomials and monomials, exponent vectors, as well as for the underlying polynomial rings and subsets of the powerset of the Boolean variables. The description of the latter can be found in the description of the 'dynamic' submodule, as well as in the doxygen-based documentation. As a unique approach, binary decision diagrams are used as internal storage type for polynomial structures. On top of this C++-library we provide a Python interface. This allows parsing of complex polynomial systems, as well as sophisticated and extendable strategies for Groebner base computation. PolyBoRi features a powerful reference implementation for Groebner basis computation. AUTHOR: The PolyBoRi Team, 2007-2011 REFERENCES: M. Brickenstein, A. Dreyer, G. Greuel, M. Wedler, O. Wienand, New developments in the theory of Groebner bases and applications to formal Verification, Preprint at http://arxiv.org/abs/0801.1177 M. Brickenstein, A. Dreyer, PolyBoRi: A Groebner Basis Framework for Boolean Polynomials, Reports of Fraunhofer ITWM, No. 122, Kaiserslautern, Germany, 2007. http://www.itwm.fraunhofer.de/zentral/download/berichte/bericht122.pdf M. Brickenstein, A. Dreyer, PolyBoRi: A framework for Groebner basis computations with Boolean polynomials, Electronic Proceedings of the MEGA 2007 - Effective Methods in Algebraic Geometry, Strobl, Austria, June 2007. http://www.ricam.oeaw.ac.at/mega2007/electronic/electronic.html """ from .PyPolyBoRi import * # Get all-inclusive groebner routine from .gbcore import groebner_basis from .nf import normal_form # Import some high-level modelling functionality from .blocks import declare_ring from .blocks import HigherOrderBlock, AlternatingBlock, Block from .gbrefs import load_file from .specialsets import * def plist(a, b): return [a, b] BRiAl-1.2.12/sage-brial/brial/addition.py000066400000000000000000000122461436062512100177770ustar00rootroot00000000000000from .PyPolyBoRi import Polynomial, BooleSet, BooleConstant from .partial import PartialFunction from .specialsets import all_monomials_of_degree_d, power_set from .ll import ll_encode, ll_red_nf_redsb def add_bits_old(bits): """Adds n bits >>> from brial import * >>> r=Ring(10) >>> add_bits_old([r.variable(i) for i in xrange(3)]) [x(0) + x(1) + x(2), x(0)*x(1) + x(0)*x(2) + x(1)*x(2)] >>> add_bits_old([r.variable(i) for i in xrange(4)]) [x(0) + x(1) + x(2) + x(3), x(0)*x(1) + x(0)*x(2) + x(0)*x(3) + x(1)*x(2) + x(1)*x(3) + x(2)*x(3)] """ bits = list(bits) n = len(bits) deg_d_monomials = [Polynomial(all_monomials_of_degree_d(i, bits)) for i in range(n + 1)] full = power_set(bits) bits_expr = [] # [sum(bits)] step = 0 while n > 2 ** step: to_one = sum([deg_d_monomials[i] for i in range(n + 1) if i & 2 ** step]) to_one = Polynomial(to_one) fun = PartialFunction(ones=to_one, zeros=full.diff(to_one)) poly = fun.interpolate_smallest_lex() bits_expr.append(poly) step = step + 1 return bits_expr def add_bits(bits): """Adds n bit variables, by Lucas theorem >>> from brial import * >>> r=Ring(10) >>> add_bits([r.variable(i) for i in xrange(3)]) [x(0) + x(1) + x(2), x(0)*x(1) + x(0)*x(2) + x(1)*x(2)] >>> add_bits([r.variable(i) for i in xrange(4)]) [x(0) + x(1) + x(2) + x(3), x(0)*x(1) + x(0)*x(2) + x(0)*x(3) + x(1)*x(2) + x(1)*x(3) + x(2)*x(3), x(0)*x(1)*x(2)*x(3)] >>> add_bits([r.variable(0)]) [x(0)] """ bits = list(bits) if len(bits) < 2: return bits n = len(bits) bits_expr = [] # [sum(bits)] step = 0 while n >= 2 ** step: bits_expr.append(Polynomial(all_monomials_of_degree_d(2 ** step, bits) )) step = step + 1 return bits_expr def add_bit_expressions(bit_expressions): """Adds n bits, which can be arbitrary expressions, the first n variables of the ring are reversed for usage in this function. >>> from brial import * >>> r=Ring(20) >>> add_bit_expressions([r.variable(i) for i in xrange(10,13)]) [x(10) + x(11) + x(12), x(10)*x(11) + x(10)*x(12) + x(11)*x(12)] >>> add_bit_expressions([r.variable(i) for i in xrange(10,13)]) [x(10) + x(11) + x(12), x(10)*x(11) + x(10)*x(12) + x(11)*x(12)] >>> add_bit_expressions([r.variable(11), r.variable(11)]) [0, x(11)] >>> add_bit_expressions([r.variable(11),r.variable(12),r.variable(13)]) [x(11) + x(12) + x(13), x(11)*x(12) + x(11)*x(13) + x(12)*x(13)] """ bit_variables = [] if bit_expressions: ring = bit_expressions[0].ring() bit_variables = [ring.variable(i) for i in range(len(bit_expressions) )] for expr in bit_expressions: assert BooleSet(expr).navigation().value() >= len(bit_variables) mapping = ll_encode([b + expr for (b, expr) in zip(bit_variables, bit_expressions)]) return [ll_red_nf_redsb(p, mapping) for p in add_bits(bit_variables)] def add_words(words): """def adds n words, this words are supposed to consists of list of their bits. >>> from brial import * >>> r=Ring(1000) >>> add_words([[r.variable(100+i*3+j) for i in xrange(2)] for j in xrange(3)]) [x(100) + x(101) + x(102), x(100)*x(101) + x(100)*x(102) + x(101)*x(102) + x(103) + x(104) + x(105), x(100)*x(101)*x(103) + x(100)*x(101)*x(104) + x(100)*x(101)*x(105) + x(100)*x(102)*x(103) + x(100)*x(102)*x(104) + x(100)*x(102)*x(105) + x(101)*x(102)*x(103) + x(101)*x(102)*x(104) + x(101)*x(102)*x(105) + x(103)*x(104) + x(103)*x(105) + x(104)*x(105), x(100)*x(101)*x(103)*x(104)*x(105) + x(100)*x(102)*x(103)*x(104)*x(105) + x(101)*x(102)*x(103)*x(104)*x(105)] >>> res=add_words([[r.variable(100+i*9+j) for i in xrange(4)] for j in xrange(9)]) >>> [len(p) for p in res] [9, 45, 495, 12870, 735462, 70285482, 1891358892, 6435] >>> [p.deg() for p in res] [1, 2, 4, 8, 12, 18, 25, 33] >>> [p.n_nodes() for p in res] [9, 25, 54, 100, 153, 211, 249, 100] """ max_word_length = max((len(w) for w in words)) res = [] while len(words) > 0: words = [w for w in words if len(w) > 0] bits = add_bit_expressions([w[0] for w in words]) words = [w[1:] for w in words] if len(bits) > 0: res.append(bits[0]) words.append(bits[1:]) return res def multiply_by_addition(word_a, word_b): """Multiply two words >>> from brial import Ring >>> r=Ring(1000) >>> x = r.variable >>> n=7 >>> res=multiply_by_addition([x(200+2*i) for i in xrange(n)], [x(200+2*i+1) for i in xrange(n)]) >>> [p.n_nodes() for p in res] [2, 4, 7, 17, 38, 85, 222, 630, 1358, 1702, 1713, 1430, 875, 214, 0] """ word_a = list(word_a) word_b = list(word_b) summands = [] if word_a: zero = word_a[0].ring().zero() elif word_b: zero = word_b[0].ring().zero() else: zero = BooleConstant(0) for (i, a) in enumerate(word_a): summands.append(i * [zero] + [a * b for b in word_b]) return add_words(summands) def _test(): import doctest doctest.testmod() if __name__ == "__main__": _test() BRiAl-1.2.12/sage-brial/brial/blocks.py000066400000000000000000000346111436062512100174610ustar00rootroot00000000000000from __future__ import print_function import sys if __name__ == '__main__': import pathadjuster from .PyPolyBoRi import Ring, VariableBlock, Polynomial from .PyPolyBoRi import VariableFactory, MonomialFactory from itertools import chain, islice #class BlockEndException(object): #pass #def __init__(self, arg): # self.arg = arg # pass class Block(object): """The block class represents a block of variables (start_index,...,start_index+size-1), it is the preferred block type for simple one-dimensional variable sets""" def __init__(self, var_name, size, start_index=0, reverse=False): indices = range(start_index, start_index + size) if reverse: indices = reversed(indices) #self.index2pos=dict([(v,k) for (k,v) in enumerate(indices)]) self.names = [var_name + "(" + str(i) + ")" for i in indices] self.var_name = var_name self.start_index = start_index self.reverse = reverse self.size = size def __iter__(self): return iter(self.names) def __getitem__(self, i): return self.names[i] def __len__(self): return self.size def register(self, start, context): #def var_func(i): # return Variable(self.index2pos[i]+start) ring_context = context while isinstance(ring_context, PrefixedDictProxy): ring_context = ring_context.wrapped ring = ring_context['r'] var_func = VariableBlock(self.size, self.start_index, start, self. reverse, ring) var_func.__name__ = self.var_name context[self.var_name] = var_func class AlternatingBlock(object): """The Alternating Block class is used for doing tricky variable schemes,where base names vary, e.g. a(0),b(0),a(1),b(1),a(2),b(2)""" def __init__(self, var_names, size_per_variable, start_index=0, reverse=False): self.var_names = var_names self.size_per_variable = size_per_variable self.reverse = reverse indices = range(start_index, start_index + size_per_variable) if reverse: indices = reversed(indices) names = [] for i in indices: for n in var_names: names.append(n + "(" + str(i) + ")") self.indices = indices self.index2pos = dict([(v, k) for (k, v) in enumerate(indices)]) self.names = names def __len__(self): return self.size_per_variable * len(self.var_names) def __iter__(self): return iter(self.names) def __getitem__(self, i): return self.names[i] def register(self, start, context): def gen_var_func(var_pos): class var_factory(object): def __init__(self, ring, index2pos, size): self.ring = ring self.index2pos = index2pos self.size = size def __call__(self, idx): return self.ring.variable(self.index2pos[idx] * self.size + var_pos + start) ring_context = context while isinstance(ring_context, PrefixedDictProxy): ring_context = ring_context.wrapped ring = ring_context['r'] return var_factory(ring, self.index2pos, len(self.var_names)) for (var_pos, n) in enumerate(self.var_names): var_func = gen_var_func(var_pos) var_func.__name__ = n context[n] = var_func def shift(f, i): def g(j): return f(i + j) g.__name__ = f.__name__ return g class AdderBlock(AlternatingBlock): def __init__(self, adder_bits, sums="s", carries="c", input1="a", input2="b", start_index=0): AlternatingBlock.__init__(self, (sums, carries, input1, input2), adder_bits, start_index=start_index, reverse=True) self.input1 = input1 self.input2 = input2 self.sums = sums self.carries = carries self.start_index = start_index self.adder_bits = adder_bits def register(self, start, context): super(AdderBlock, self).register(start, context) a = context[self.input1] b = context[self.input2] self.s = shift(context[self.sums], self.start_index) self.c = shift(context[self.carries], self.start_index) a = shift(a, self.start_index) b = shift(b, self.start_index) carries = [Polynomial(a(0).ring().zero())] for i in range(self.adder_bits): #print i, ":" c = 1 + (1 + a(i) * b(i)) * (1 + carries[-1] * a(i)) * (1 + carries[-1] * b(i)) carries.append(c) self.add_results = [a(i) + b(i) + carries[i] for i in range(self. adder_bits)] self.carries_polys = carries[1:] #def s(i): # return self.add_results[i-self.start_index] #def c(i): # return self.carries_polys[i-self.start_index] #context[self.sums]=s #context[self.carries]=c def implement(self, equations): for i in range(self.adder_bits): equations.append(self.s(i) + self.add_results[i]) equations.append(self.c(i) + self.carries_polys[i]) pass class HigherOrderBlock(object): """HigherOrderBlocks are multidimensional blocks of variables, for each dimension a seperate start_index and size can be specified var_name : variables will be called (multiindex), where multiindex is a tuple of the size size_tuple : specifies the sizes of the ranges of each component of the multi-indices start_index_tuple : the multi-indices will be of the form start_index_tuple + a, where a is a multi-index with non-negative components """ def __init__(self, var_name, size_tuple, start_index_tuple=None, reverse=False): if start_index_tuple is None: start_index_tuple = len(size_tuple) * (0, ) cart = [()] assert len(size_tuple) == len(start_index_tuple) outer_indices = reversed(range(len(size_tuple))) for i in outer_indices: s_i = start_index_tuple[i] s = size_tuple[i] #print "cart", cart cart = [(j, ) + c for j in range(s_i, s_i + s) for c in cart] if reverse: cart.reverse() self.cart = cart self.cart2index = dict([(v, k) for (k, v) in enumerate(cart)]) self.var_name = var_name self.names = [var_name + str(c) for c in cart] pass def __getitem__(self, i): return self.names[i] def __iter__(self): return iter(self.names) def __len__(self): return len(self.names) def register(self, start, context): def var_func(*indices): return Variable(self.cart2index[indices] + start) var_func.__name__ = self.var_name context[self.var_name] = var_func class InOutBlock(object): def __init__(self, out_size, in_size, output="out", input="in", in_start_index=0, out_start_index=0, out_reverse=False, in_reverse=False): self.output = Block(var_name=output, start_index=out_start_index, size=out_size, reverse=out_reverse) self.input = Block(var_name=input, start_index=in_start_index, size=in_size, reverse=in_reverse) self.out_start_index = out_start_index self.in_start_index = in_start_index def __iter__(self): return chain(self.output, self.input) def __getitem__(self, i): if (i < len(self.output)): return self.output[i] else: return self.input[i - len(self.output)] def __len__(self): return len(self.output) + len(self.input) def register(self, start, context): self.output.register(start, context) self.input.register(start + len(self.output), context) self.out_vars = shift(context[self.output.var_name], self. out_start_index) self.in_vars = shift(context[self.input.var_name], self.in_start_index) pass class MultiBlock(object): def __init__(self, sizes=[], var_names=["v"], start_indices=[], reverses=[ ]): self.start_indices = start_indices + [0] * (len(var_names) - len( start_indices)) reverses += [False] * (len(var_names) - len(reverses)) sizes += [1] * (len(var_names) - len(sizes)) self.blocks = [Block(var_name=var_names[idx], size=sizes[idx], start_index=self.start_indices[idx], reverse=reverses[idx]) for idx in range(len(var_names))] def __iter__(self): return chain(*self.blocks) def __getitem__(self, i): return next(islice(chain(*self.blocks), i, i + 1)) # sum([bl.names for bl in self.blocks])[i] def __len__(self): return sum((len(bl) for bl in self.blocks)) def register(self, start, context): offset = 0 for bl in self.blocks: bl.register(start + offset, context) offset += len(bl) self.vars = [shift(context[self.blocks[idx].var_name], self. start_indices[idx]) for idx in range(len(self.blocks))] class PrefixedDictProxy(object): """docstring for PrefixedDictProxy""" def __init__(self, wrapped, prefix): super(PrefixedDictProxy, self).__init__() self.wrapped = wrapped self.prefix = prefix def __getitem__(self, k): try: return self.wrapped[self.prefix + k] except KeyError: print(self.prefix, k, list(self.wrapped)) raise KeyError def __setitem__(self, k, v): self.wrapped[self.prefix + k] = v class MacroBlock(object): def __init__(self, prefix): self.prefix = prefix self.blocks = [] self.combinations = [] self.connections = [] def declare(self, blocks): self.blocks = blocks def connect(self, combinations): self.combinations = combinations def __iter__(self): return (self.prefix + "_" + n for n in chain(*self.blocks)) def __getitem__(self, i): return self.prefix + "_" + next(islice(chain(*self.blocks), i, i + 1)) #for bl in self.blocks: # if i >= len(bl): # i -= len(bl) # else: # return bl[i] def __len__(self): return sum((len(bl) for bl in self.blocks)) def resolve(self, localname): return self.prefix + "_" + localname def register(self, start, context): context = PrefixedDictProxy(context, self.prefix + "_") offset = 0 for bl in self.blocks: bl.register(start + offset, context) offset += len(bl) for ((con1, indices1), (con2, indices2)) in self.combinations: for idx in range(min(len(indices1), len(indices2))): self.connections += [context[con1](indices1[idx]) + context[ con2](indices2[idx])] def implement(self, equations): for bl in self.blocks: if hasattr(bl, "implement"): bl.implement(equations) equations += self.connections class IfThen(object): def __init__(self, ifpart, thenpart, supposed_to_be_valid=True): self.ifpart = [Polynomial(p) for p in ifpart] self.thenpart = [Polynomial(p) for p in thenpart] self.supposedToBeValid = supposed_to_be_valid def __str__(self): return ("If(AND(" + ", ".join([str(p) + " == 0" for p in self.ifpart]) + ")), THEN " + ", ".join([str(p) + " == 0" for p in self.thenpart ])) def if_then(i, t, supposed_to_be_valid=True): return IfThen(i, t, supposed_to_be_valid) def declare_ring(blocks, context=None): """Declare Ring is the preferred function to create a ring and declare a variable scheme, the number of variables is automatically determined, usually you pass globals() as context argument to store the ring and the variable mapping. Example declare_ring([Block("x",10),Block("y",5)],globals()) gives a ring with x(0..9),y(0..4) and registers the ring as r, and the variable blocks x and y in the context dictionary globals(), which consists of the global variables of the python module """ if context is None: context = sys.modules['__main__'].__dict__ def canonicalize(blocks): for elt in blocks: if isinstance(elt, str): yield elt else: for subelt in elt: yield subelt blocks = list(blocks) n = 0 for b in blocks: if isinstance(b, str): n = n + 1 else: n = n + len(b) r = Ring(n, names=canonicalize(blocks)) context["internalVariable"] = VariableFactory(r) # context["Monomial"] = MonomialFactory(r) context["r"] = r declare_block_scheme(blocks, context) return r def declare_block_scheme(blocks, context): start = 0 block_starts = [] ring = context["r"] for b in blocks: if start != 0: block_starts.append(start) if isinstance(b, str): context[b] = context["internalVariable"](start) #_cpp_set_variable_name(ring, start, b) start = start + 1 else: b.register(start, context) #for (pos,name) in enumerate(b): # _cpp_set_variable_name(ring, start+pos, name) start = start + len(b) context["block_start_hints"] = block_starts context["number_of_declared_vars"] = start def main(): r = Ring(1000) ablock = AlternatingBlock(["a", "b", "c"], 100) declare_block_scheme([ablock], globals()) for i in range(10): print(r.variable(i)) print(list(ablock)) declare_block_scheme([ Block(var_name="x", size=100), HigherOrderBlock("y", (3, 4, 11, 2)), AlternatingBlock(["a", "b", "c"], 100)], globals()) for i in range(10): print(x(i)) print(y(0, 0, 0, 0)) print(y(0, 0, 0, 1)) print(y(0, 0, 1, 0)) print(y(0, 0, 1, 1)) print(a(0), a(1), a(2), b(0), b(1), c(0)) declare_block_scheme([ Block(var_name="x", size=100, reverse=True), HigherOrderBlock("y", (3, 4, 11, 2), reverse=True), AlternatingBlock(["a", "b", "c"], 100, reverse=True)], globals()) for i in range(10): print(x(i)) print(y(0, 0, 0, 0)) print(y(0, 0, 0, 1)) print(y(0, 0, 1, 0)) print(y(0, 0, 1, 1)) print(a(0), a(1), a(2), b(0), b(1), c(0)) declare_block_scheme(["a", "b", "c"], globals()) print(a, b, c) if __name__ == '__main__': main() BRiAl-1.2.12/sage-brial/brial/check_claims.py000066400000000000000000000124511436062512100206070ustar00rootroot00000000000000# encoding: utf-8 """ untitled.py Created by Michael Brickenstein on 2007-03-05. Copyright (c) 2007 The PolyBoRi Team. See LICENSE file. """ from __future__ import print_function import sys from optparse import OptionParser #if __name__ == "__main__": # import pathadjuster from .PyPolyBoRi import Polynomial, Monomial, BooleConstant, BooleSet from .PyPolyBoRi import recursively_insert from .gbrefs import my_import, load_data, clean_data, load_file from .blocks import IfThen from copy import copy from .ll import ll_encode, ll_red_nf_noredsb, ll_red_nf_redsb def find_one(p, res=None): def zero_nav(n): return n.constant() and (not n.terminal_one()) try: p = p.navigation() except AttributeError: pass if res is None: res = dict() if zero_nav(p): raise ValueError if p.terminal_one(): return res else_branch = p.else_branch() if zero_nav(else_branch): res[Monomial(Variable(p.value()))] = 1 find_one(p.then_branch(), res) else: res[Monomial(Variable(p.value()))] = 0 find_one(else_branch, res) return res parser = OptionParser() NF3 = "nf3" LINEAR_LEAD_NOREDSB = "ll" parser.add_option("--method", action="store", dest="method", type="choice", choices=["nf3", "linear-lead-redsb", LINEAR_LEAD_NOREDSB], default="linear-lead-redsb", help="select method") def my_red_nf(p, strat): if p.is_zero(): return p hr = nf3(strat.reduction_strategy, p, p.lead()) if hr.is_zero(): return hr return red_tail(strat, hr) def gen_strat(polys): polys = [Polynomial(p) for p in polys] polys = [p for p in polys if not p.is_zero()] assert len(set([p.lead() for p in polys])) == len(polys) assert polys strat = GroebnerStrategy(polys[0].ring()) for p in polys: print("Adding") strat.add_generator(p) print("finished") return strat def logicaland(l): res = BooleConstant(0) for p in l: res = 1 + (res + 1) * (p + 1) return res def logicalor(l): res = BooleConstant(1) for p in l: res = res * p return res def proof(ifthen, strat): ip = ifthen.ifpart it = ifthen.thenpart print("proofing:", ifthen) c = logicalor([1 + logicaland(ip), logicaland(it)]) if c.is_zero(): print("TRUE (trivial)") return else: c = nf3(strat.reduction_strategy, c, c.lead()) if c.is_zero(): print("TRUE") return else: print("FALSE") def proofll(ifthen, reductors, redsb=True, prot=True): if prot and (not ifthen.supposedToBeValid): print("THIS THEOREM IS NOT SUPPOSED TO BE VALID") ip_pre = ifthen.ifpart ip = [] for p in ip_pre: p = Polynomial(p) if p.is_zero(): continue li = list(p.lead().variables()) if len(li) == 1 and (not (li[0] in list(Polynomial(reductors).lead(). variables()))): assert not Polynomial(reductors).is_zero() lead_index = li[0] if redsb: p = ll_red_nf_redsb(p, reductors) reductors = ll_red_nf_redsb(Polynomial(reductors), BooleSet(p. set())) p_nav = p.navigation() reductors = recursively_insert(p_nav.else_branch(), p_nav.value(), reductors) else: ip.append(p) it = ifthen.thenpart if prot: print("proofing:", ifthen) ip = logicaland(ip) for c in it: if prot: print("proofing part:", c) c = logicalor([BooleConstant(1) + ip, c]) if c.is_zero(): if prot: print("TRUE (trivial)") return True else: c_orig = c if redsb: c = ll_red_nf_redsb(c, reductors) else: c = ll_red_nf_noredsb(c, reductors) if c.is_zero(): if prot: print("TRUE") return True else: if prot: print("FAILED") print("can construct COUNTER EXAMPLE with:", find_one(c)) return False def to_if_then(p): if isinstance(p, IfThen): return p else: return IfThen([], [p]) def main(argv=None): (opts, args) = parser.parse_args() mydata = load_file(args[0]) claims = mydata.claims if opts.method == NF3: strat = gen_strat(mydata.ideal) for c in claims: proof(to_if_then(c), strat) del strat try: del c except NameError: pass else: if opts.method == LINEAR_LEAD_NOREDSB: reductors = ll_encode(mydata.ideal) for c in claims: proofll(to_if_then(c), reductors, redsb=False) del reductors try: del c except NameError: pass else: reductors = ll_encode(mydata.ideal, reduce=True) for c in claims: proofll(to_if_then(c), reductors) del reductors try: del c except NameError: pass return 0 if __name__ == "__main__": sys.exit(main()) BRiAl-1.2.12/sage-brial/brial/cluster.py000066400000000000000000000076251436062512100176720ustar00rootroot00000000000000# -*- python -*- # encoding: utf-8 """ cluster.py Created by Michael Brickenstein on 2011-08-05. Copyright 2011 The PolyBoRi Team. See LICENSE file. """ import sys import os from .statistics import used_vars, used_vars_set from .PyPolyBoRi import Variable def main(): pass class ClusterAlgorithmFailed(Exception): pass class ClusterAlgorithm(object): def __init__(self, ideal, determination_modifier=1): if len(ideal) == 0: raise ValueError('ideal generators list should be non empty') self.ideal = ideal self.determination_modifier = determination_modifier self.used_variables_ideal = used_vars_set(ideal) self.number_of_used_variables_in_ideal = len(self.used_variables_ideal) self.used_variables_of_polynomial = dict( [(p, set(p.vars_as_monomial().variables())) for p in ideal]) self.variables_introduction_mapping = dict() self.cluster = set() self.used_variables_cluster = set() self.build_variables_usage() self.initialize_variables_introduction_mapping() def build_variables_usage(self): self.variables_usage = dict() for (p, variables) in self.used_variables_of_polynomial.items(): for v in variables: self.variables_usage.setdefault(v, []).append(p) def initialize_variables_introduction_mapping(self): self._build_variables_introduction_mapping() def _build_variables_introduction_mapping(self): def var_set_to_tuple(s): return tuple(sorted(s, key=Variable.index)) self.variables_introduction_mapping.clear() for (p, var_set) in self.used_variables_of_polynomial.items(): if p in self.cluster: continue as_tuple = var_set_to_tuple(var_set.difference(self. used_variables_cluster)) self.variables_introduction_mapping.setdefault( as_tuple, []).append(p) def adjust_variables_introduction_mapping(self, introduced_variables): self._build_variables_introduction_mapping() def determined_enough(self): return (self.number_of_used_variables_in_cluster + self. determination_modifier <= len(self.cluster)) def find_cluster(self): p = self.initial_choice() self.cluster = set() self.add_polynomial_to_cluster(p) while not self.determined_enough(): self.increase_cluster() return list(self.cluster) def add_polynomial_to_cluster(self, p): self.cluster.add(p) self.used_variables_cluster = set(used_vars_set(self.cluster). variables()) self.number_of_used_variables_in_cluster = len(self. used_variables_cluster) self.adjust_variables_introduction_mapping(self. used_variables_of_polynomial[p]) def initial_choice(self): def max_key(entry): (entry_variable, entry_polynomials) = entry return len(entry_polynomials) (variable, polynomials) = max(self.variables_usage.items(), key=max_key) def min_key(p): return len(self.used_variables_of_polynomial[p]) return min(polynomials, key=min_key) def increase_cluster(self): introduced_variables_possibilities = (list(self. variables_introduction_mapping.keys())) introduced_variables = min(introduced_variables_possibilities, key=len) polynomials = self.variables_introduction_mapping[introduced_variables] assert len(polynomials) > 0 for p in polynomials: self.add_polynomial_to_cluster(p) if len(self.cluster) == len(self.ideal): raise ClusterAlgorithmFailed self.adjust_variables_introduction_mapping(introduced_variables) def find_cluster(ideal): algorithm = ClusterAlgorithm(ideal) return algorithm.find_cluster() if __name__ == '__main__': main() BRiAl-1.2.12/sage-brial/brial/cnf.py000066400000000000000000000210471436062512100167510ustar00rootroot00000000000000from random import Random from .PyPolyBoRi import (Monomial, BooleSet, Polynomial, if_then_else as ite, lp, gauss_on_polys, ll_red_nf_redsb) from .ll import ll_encode from .statistics import used_vars_set class CNFEncoder(object): def __init__(self, r, random_seed=16): self.random_generator = Random(random_seed) self.one_set = r.one().set() self.empty_set = r.zero().set() self.r = r def zero_blocks(self, f): """divides the zero set of f into blocks >>> from brial import * >>> r = declare_ring(["x", "y", "z"], dict()) >>> e = CNFEncoder(r) >>> e.zero_blocks(r.variable(0)*r.variable(1)*r.variable(2)) [{y: 0}, {z: 0}, {x: 0}] """ f = Polynomial(f) variables = f.vars_as_monomial() space = variables.divisors() variables = list(variables.variables()) zeros = f.zeros_in(space) rest = zeros res = list() def choose_old(s): return next(iter(rest)) # somewhat #inefficient compared to polynomials lex_lead def choose(s): indices = [] assert not s.empty() nav = s.navigation() while not nav.constant(): e = nav.else_branch() t = nav.then_branch() if e.constant() and not e.terminal_one(): indices.append(nav.value()) nav = t else: if self.random_generator.randint(0, 1): indices.append(nav.value()) nav = t else: nav = e assert nav.terminal_one() res = self.one_set for i in reversed(indices): res = ite(i, res, self.empty_set) return next(iter(res)) while not rest.empty(): l = choose(rest) l_variables = set(l.variables()) def get_val(var): if var in l_variables: return 1 return 0 block_dict = dict([(v, get_val(v)) for v in variables]) l = l.set() self.random_generator.shuffle(variables) for v in variables: candidate = l.change(v.index()) if candidate.diff(zeros).empty(): l = l.union(candidate) del block_dict[v] rest = rest.diff(l) res.append(block_dict) return res def clauses(self, f): """ >>> from brial import * >>> r = declare_ring(["x", "y", "z"], dict()) >>> e = CNFEncoder(r) >>> e.clauses(r.variable(0)*r.variable(1)*r.variable(2)) # doctest:+ELLIPSIS [{...x: 0...}] >>> e.clauses(r.variable(1)+r.variable(0)) # doctest:+ELLIPSIS [{...x: 1...}, {...y: 1...}] >>> [sorted(c.iteritems()) for c in e.clauses(r.variable(0)*r.variable(1)*r.variable(2))] [[(z, 0), (y, 0), (x, 0)]] >>> [sorted(c.iteritems()) for c in e.clauses(r.variable(1)+r.variable(0))] [[(y, 1), (x, 0)], [(y, 0), (x, 1)]] """ f_plus_one = f + 1 blocks = self.zero_blocks(f + 1) negated_blocks = [dict([(variable, 1 - value) for (variable, value) in b.items()]) for b in blocks] # we form an expression for a var configuration *not* lying in the # block it is evaluated to 0 by f, iff it is not lying in any zero # block of f+1 return negated_blocks def polynomial_clauses(self, f): """ >>> from brial import * >>> r = declare_ring(["x", "y", "z"], dict()) >>> e = CNFEncoder(r) >>> e.polynomial_clauses(r.variable(0)*r.variable(1)*r.variable(2)) [x*y*z] >>> v = r.variable >>> p = v(1)*v(2)+v(2)*v(0)+1 >>> groebner_basis([p], heuristic = False)==groebner_basis(e.polynomial_clauses(p), heuristic = False) True """ def product(l): res = l[0] for p in l[1:]: res = res * p # please care about the order of these multiplications for # performance return res return [product([variable + value for (variable, value) in b.items()]) for b in self.clauses(f)] def to_dimacs_index(self, v): return v.index() + 1 def dimacs_encode_clause(self, c): def get_sign(val): if value == 1: return 1 return -1 items = sorted(c.items(), reverse=True) return " ".join( [str(v) for v in [ get_sign(value) * self.to_dimacs_index(variable) for (variable, value) in items] + [0]]) def dimacs_encode_polynomial(self, p): """ >>> from brial import * >>> d=dict() >>> r = declare_ring(["x", "y", "z"], d) >>> e = CNFEncoder(r) >>> e.dimacs_encode_polynomial(d["x"]+d["y"]+d["z"]) ['1 2 -3 0', '1 -2 3 0', '-1 -2 -3 0', '-1 2 3 0'] """ clauses = self.clauses(p) res = [] for c in clauses: res.append(self.dimacs_encode_clause(c)) return res def dimacs_cnf(self, polynomial_system): r""" >>> from brial import * >>> r = declare_ring(["x", "y", "z"], dict()) >>> e = CNFEncoder(r) >>> e.dimacs_cnf([r.variable(0)*r.variable(1)*r.variable(2)]) 'c cnf generated by PolyBoRi\np cnf 3 1\n-1 -2 -3 0' >>> e.dimacs_cnf([r.variable(1)+r.variable(0)]) 'c cnf generated by PolyBoRi\np cnf 3 2\n1 -2 0\n-1 2 0' >>> e.dimacs_cnf([r.variable(0)*r.variable(1)*r.variable(2), r.variable(1)+r.variable(0)]) 'c cnf generated by PolyBoRi\np cnf 3 3\n-1 -2 -3 0\n-1 2 0\n1 -2 0' """ clauses_list = [c for p in polynomial_system for c in self. dimacs_encode_polynomial(p)] res = ["c cnf generated by PolyBoRi"] r = polynomial_system[0].ring() n_variables = r.n_variables() res.append("p cnf %s %s" % (n_variables, len(clauses_list))) for c in clauses_list: res.append(c) return "\n".join(res) class CryptoMiniSatEncoder(CNFEncoder): group_counter = 0 def dimacs_encode_polynomial(self, p): r""" >>> from brial import * >>> d=dict() >>> r = declare_ring(["x", "y", "z"], d) >>> e = CryptoMiniSatEncoder(r) >>> p = d["x"]+d["y"]+d["z"] >>> p.deg() 1 >>> len(p) 3 >>> e.dimacs_encode_polynomial(p) ['x1 2 3 0\nc g 1 x + y + z'] >>> e.dimacs_encode_polynomial(p+1) ['x1 2 -3 0\nc g 2 x + y + z + 1'] """ if p.deg() != 1 or len(p) <= 1: res = super(CryptoMiniSatEncoder, self).dimacs_encode_polynomial(p) else: if p.has_constant_part(): invert_last = True else: invert_last = False variables = list(p.vars_as_monomial().variables()) indices = [self.to_dimacs_index(v) for v in variables] if invert_last: indices[-1] = -indices[-1] indices.append(0) res = ["x" + " ".join([str(v) for v in indices])] self.group_counter = self.group_counter + 1 group_comment = "\nc g %s %s" % (self.group_counter, str(p)[:30]) return [c + group_comment for c in res] def dimacs_cnf(self, polynomial_system): r""" >>> from brial import * >>> r = declare_ring(["x", "y", "z"], dict()) >>> e = CryptoMiniSatEncoder(r) >>> e.dimacs_cnf([r.variable(0)*r.variable(1)*r.variable(2)]) 'c cnf generated by PolyBoRi\np cnf 3 1\n-1 -2 -3 0\nc g 1 x*y*z\nc v 1 x\nc v 2 y\nc v 3 z' >>> e.dimacs_cnf([r.variable(1)+r.variable(0)]) 'c cnf generated by PolyBoRi\np cnf 3 1\nx1 2 0\nc g 2 x + y\nc v 1 x\nc v 2 y' >>> e.dimacs_cnf([r.variable(0)*r.variable(1)*r.variable(2), r.variable(1)+r.variable(0)]) 'c cnf generated by PolyBoRi\np cnf 3 2\n-1 -2 -3 0\nc g 3 x*y*z\nx1 2 0\nc g 4 x + y\nc v 1 x\nc v 2 y\nc v 3 z' """ uv = list(used_vars_set(polynomial_system).variables()) res = super(CryptoMiniSatEncoder, self).dimacs_cnf(polynomial_system) res = res + "\n" + "\n".join(["c v %s %s" % (self.to_dimacs_index(v), v) for v in uv]) return res def _test(): import doctest doctest.testmod() if __name__ == "__main__": _test() BRiAl-1.2.12/sage-brial/brial/coding.py000066400000000000000000000052421436062512100174450ustar00rootroot00000000000000from __future__ import print_function from .PyPolyBoRi import Polynomial from .nf import symmGB_F2_C from .ll import ll_encode try: from itertools import ifilter as filter except ImportError: pass class OccCounter(object): def __init__(self): self.impl = dict() def __getitem__(self, k): try: return self.impl[k] except KeyError: return 0 def increase(self, k): try: self.impl[k] = self.impl[k] + 1 except KeyError: self.impl[k] = 1 def uniques(self): def filter_fun(k): return self.impl[k] == 1 return filter(filter_fun, self.impl.keys()) def preprocess(I, prot=True): def min_gb(I): strat = symmGB_F2_C(I, opt_lazy=False, opt_exchange=False, prot=prot, selection_size=10000, opt_red_tail=True) return list(strat.minimalize_and_tail_reduce()) I = [Polynomial(p) for p in I] lin = [p for p in I if p.deg() == 1] # lin_strat=symmGB_F2_C(lin, opt_lazy=False,opt_exchange=False,prot=prot,sele # ction_size=10000,opt_red_tail=True) lin = min_gb(lin) # list(lin_strat.minimalize_and_tail_reduce()) for m in sorted([p.lead() for p in lin]): print(m) lin_ll = ll_encode(lin) square = [p.lead() for p in I if p.deg() == 2 and len(p) == 1] assert(len(lin) + len(square) == len(I)) res = list(lin) counter = OccCounter() def unique_index(s): for idx in s: if counter[idx] == 1: return idx never_come_here = False assert never_come_here for m in square: for idx in m: counter.increase(idx) systems = dict(((idx, []) for idx in counter.uniques())) for m in square: u_index = unique_index(m) systems[u_index].append(ll_red_nf(m / Variable(u_index), lin_ll)) rewritings = dict() u_var = Variable(u) u_im = ll_red_nf(u_var, lin_ll) if not u_im.isConstant(): if u_im != u_var: r = u_im.navigation().value() else: pass for u in counter.uniques(): #print u u_var = Variable(u) u_im = ll_red_nf(u_var, lin_ll) if not u_im.isConstant(): if u_im != u_var: r = u_im.navigation().value() else: pass for u in systems.keys(): u_var = Variable(u) u_im = ll_red_nf(u_var, lin_ll) res.extend([u_im * p for p in min_gb(systems[u])]) #print [u_im*p for p in min_gb(systems[u])] print("lin:", len(lin), "res:", len(res), "square:", len(square)) res = [p for p in (Polynomial(p) for p in res) if not p.is_zero()] return res BRiAl-1.2.12/sage-brial/brial/context.py000066400000000000000000000056051436062512100176710ustar00rootroot00000000000000if __name__ == '__main__': from sys import path as search_path from os import path as file_path search_path.append(file_path.join(file_path.dirname(__file__), '..')) def _exists(): """PolyBoRi convention: checking optional components for prerequisites here >>> _exists() True """ from distutils.sysconfig import get_python_version return float(get_python_version()) > 2.4 from .PyPolyBoRi import Ring, VariableFactory, MonomialFactory from .PyPolyBoRi import PolynomialFactory, SetFactory from .PyPolyBoRi import Variable, Monomial, Polynomial, BooleSet import polybori class FactoryContext(object): """Temporarily exchange the constructor of a given type with a compatible callable object. It is useful together with the with statement. Example: >>> r = Ring(1000) >>> from brial import Variable >>> def var(idx): return Variable(idx, r) >>> with FactoryContext(Variable, var): ... print Variable(17) x(17) >>> try: ... print Variable(17) ... except: ... print "caught expected exception" caught expected exception """ def __init__(self, original, factory): self.original = original self.factory = factory def __enter__(self): self.fallback = self.original.__init__ def func(orig, *args): try: self.fallback(orig, self.factory(*args)) except: self.fallback(orig, *args) self.original.__init__ = func return self def __exit__(self, type, value, traceback): self.original.__init__ = self.fallback return False class RingContext(object): """Temporarily fix the ring for constructors of some ring-dependent types like Variable and Monomial to a given ring. It is useful together with the with statement. Example: >>> r = Ring(1000) >>> from brial import Variable >>> print Variable(17, r) x(17) >>> with RingContext(r): ... print Variable(17), Monomial(), Polynomial(0), BooleSet() x(17) 1 0 {} >>> try: ... print Variable(17) ... except: ... print "caught expected exception" caught expected exception """ def __init__(self, ring): self.contexts = (FactoryContext(Variable, VariableFactory(ring)), FactoryContext(Monomial, MonomialFactory(ring)), FactoryContext(Polynomial, PolynomialFactory(ring)), FactoryContext(BooleSet, SetFactory(ring))) def __enter__(self): for elt in self.contexts: elt.__enter__() return self def __exit__(self, type, value, traceback): result = False for elt in reversed(self.contexts): result = result or elt.__exit__(type, value, traceback) return result if __name__ == '__main__': import doctest doctest.testmod() BRiAl-1.2.12/sage-brial/brial/easy_polynomials.py000066400000000000000000000030421436062512100215650ustar00rootroot00000000000000from .interpolate import variety_lex_leading_terms, nf_lex_points from .PyPolyBoRi import easy_linear_factors def easy_linear_polynomials(p): """ Get linear polynomials implied by given polynomial. >>> from brial.frontend import * >>> easy_linear_polynomials(x(1)*x(2) + 1) [x(1) + 1, x(2) + 1] >>> easy_linear_polynomials(x(1)*x(2) + 0) [] >>> easy_linear_polynomials(x(0)*x(1) + x(0)*x(2) + 1) [x(0) + 1, x(1) + x(2) + 1] """ res = [] if p.deg() >= 2: if p.vars_as_monomial().deg() > 8: opp = p + 1 for q in easy_linear_factors(opp): res.append(q + 1) else: res = easy_linear_polynomials_via_interpolation(p) return res def easy_linear_polynomials_via_interpolation(p): """ Get linear polynomials implied by given polynomial using interpolation of the variety. >>> from brial.frontend import * >>> easy_linear_polynomials_via_interpolation(x(1)*x(2) + 1) [x(1) + 1, x(2) + 1] >>> easy_linear_polynomials_via_interpolation(x(1)*x(2) + 0) [] >>> easy_linear_polynomials_via_interpolation(x(0)*x(1) + x(0)*x(2) + 1) [x(0) + 1, x(1) + x(2) + 1] """ res = [] p_vars = p.vars_as_monomial() space = p_vars.divisors() zeros = p.zeros_in(space) lex_leads = variety_lex_leading_terms(zeros, p_vars) for m in lex_leads: if m.deg() == 1: red = m + nf_lex_points(m, zeros) if red.lead_deg() == 1: # normal ordering res.append(red) return res BRiAl-1.2.12/sage-brial/brial/fglm.py000066400000000000000000000050371436062512100171310ustar00rootroot00000000000000if __name__ == "__main__": import os import sys sys.path.insert(0, os.path.join(os.path.dirname(__file__), os.pardir)) def _test(): import doctest doctest.testmod() from .PyPolyBoRi import BooleSet, Polynomial, BoolePolynomialVector, \ FGLMStrategy, Monomial, Ring from .blocks import declare_ring def _fglm(I, from_ring, to_ring): """Unchecked variant of fglm""" vec = BoolePolynomialVector(I) return FGLMStrategy(from_ring, to_ring, vec).main() def fglm(I, from_ring, to_ring): """ converts *reduced* Groebner Basis in from_ring to a GroebnerBasis in to_ring. It acts independend of the global ring, which is restored at the end of the computation, >>> from brial.PyPolyBoRi import OrderCode >>> dp_asc = OrderCode.dp_asc >>> r=declare_ring(['x','y','z'],dict()) >>> old_ring = r >>> new_ring = old_ring.clone(ordering=dp_asc) >>> (x,y,z) = [old_ring.variable(i) for i in xrange(3)] >>> ideal=[x+z, y+z]# lp Groebner basis >>> list(fglm(ideal, old_ring, new_ring)) [y + x, z + x] """ for poly in I: if poly.ring().id() != from_ring.id(): raise ValueError("Ideal I must be from the first ring argument") return _fglm(I, from_ring, to_ring) def vars_real_divisors(monomial, monomial_set): """ returns all elements of of monomial_set, which result multiplied by a variable in monomial. >>> from brial.PyPolyBoRi import OrderCode >>> dp_asc = OrderCode.dp_asc >>> from brial.PyPolyBoRi import Ring >>> r=Ring(1000) >>> x = r.variable >>> b=BooleSet([x(1)*x(2),x(2)]) >>> vars_real_divisors(x(1)*x(2)*x(3),b) {{x(1),x(2)}} """ return BooleSet(Polynomial(monomial_set.divisors_of(monomial)). \ graded_part(monomial.deg() - 1)) def m_k_plus_one(completed_elements, variables): """ calculates $m_{k+1}$ from the FGLM algorithm as described in Wichmanns diploma thesis It would be nice to be able to efficiently extract the smallest term of a polynomial >>> from brial.PyPolyBoRi import OrderCode >>> dp_asc = OrderCode.dp_asc >>> r=Ring(1000) >>> x = r.variable >>> s=BooleSet([x(1)*x(2),x(1),x(2),Monomial(r),x(3)]) >>> variables=BooleSet([x(1),x(2),x(3)]) >>> m_k_plus_one(s,variables) x(2)*x(3) >>> r2 = r.clone(ordering=dp_asc) >>> m_k_plus_one(r2(s).set(),r2(variables).set()) x(1)*x(3) """ return sorted(completed_elements.cartesian_product(variables).diff( completed_elements))[0] if __name__ == "__main__": _test() BRiAl-1.2.12/sage-brial/brial/frontend.py000066400000000000000000000045651436062512100200300ustar00rootroot00000000000000# Import basic functionality r""" This module defines an initial ring, and patches the declare_ring to use a given context. >>> x(0) x(0) >>> x(0)*x(0) x(0) >>> x(0) + x(0) 0 >>> x(9999) x(9999) >>> x(9999)*x(9999) x(9999) >>> x(9999) + x(9999) 0 >>> from brial.frontend import * >>> context = dict(globals()) >>> polybori_start(context) # doctest: +ELLIPSIS ipbori... >>> r = context['declare_ring']('abc') >>> context['a'] a >>> r.variable(0) a """ from __future__ import print_function from . import * from .blocks import declare_ring as orig_declare_ring from os import environ as env, path as os_path def block_scheme_names(blocks): """Helper for Singular interface.""" context = dict() from .blocks import declare_block_scheme declare_block_scheme(blocks, context) return list(context.keys()) ipbname = 'ipbori' def polybori_copyright(): print("""Copyright (c) 2007-2011 by The PolyBoRi Team. Michael Brickenstein (MFO) brickenstein@mfo.de Alexander Dreyer (ITWM) alexander.dreyer@itwm.fraunhofer.de The PolyBoRi Team is a joint project of Mathematisches Forschungsinstitut Oberwolfach (MFO), Germany Department of Mathematics, University of Kaiserslautern, Germany, and Fraunhofer Institute for Industrial Mathematics (ITWM), Kaiserslautern, Germany. PolyBoRi incorporates the following works: The CU Decision Diagrams Package Release 2.4.1 (CUDD) by Fabio Somenzi, Copyright (c) 1995-2004, Regents of the University of Colorado. All Rights Reserved. The M4RI Library - http://m4ri.sagemath.org Copyright (C) 2007-2010, Martin Albrecht, Gregory Bard, and The M4RI Team""") def polybori_license(): print("""ipbori and the PolyBoRi framework are licensed under the terms of the GNU General Public License (GPL) version 2 or later. See http://www.gnu.org/licenses/ for details.""") def polybori_start(global_context): def declare_ring(blocks, context=None): if context is None: context = global_context return orig_declare_ring(blocks, context) declare_ring.__doc__ = orig_declare_ring.__doc__ global_context["declare_ring"] = declare_ring print(ipbname + """ -- The interactive command line tool of PolyBoRi %s Type "polybori_copyright()" or "polybori_license()" for more information. """ % global_context.get("polybori_version", '')) # Here come the defaults r = Ring(10000) x = VariableFactory(r) BRiAl-1.2.12/sage-brial/brial/gbcore.py000066400000000000000000000477701436062512100174570ustar00rootroot00000000000000from __future__ import print_function from .nf import * from .PyPolyBoRi import * from .ll import eliminate, ll_encode from time import time from copy import copy from itertools import chain from inspect import getargspec from .statistics import used_vars, used_vars_set from .heuristics import dense_system, gauss_on_linear from .easy_polynomials import easy_linear_polynomials from itertools import chain from .interpolate import lex_groebner_basis_for_polynomial_via_variety from .fglm import _fglm try: from inspect import getfullargspec as getargspec except ImportError: from inspect import getargspec def get_options_from_function(f): (argnames, varargs, varopts, defaults) = getargspec(f)[:4] return dict( zip( argnames[-len(defaults):], defaults)) def filter_oldstyle_options(**options): filtered = dict() for key in options.keys(): newkey = key for prefix in ['', 'use_', 'opt_allow_', 'opt_']: newkey = newkey.replace(prefix, '') filtered[newkey] = options[key] return filtered def filter_newstyle_options(func, **options): allowed = get_options_from_function(func).keys() filtered = dict() for key in options.keys(): for prefix in ['', 'use_', 'opt_', 'opt_allow_']: if prefix + key in allowed: filtered[prefix + key] = options[key] return filtered def owns_one_constant(I): """Determines whether I contains the constant one polynomial.""" for p in I: if p.is_one(): return True return False def want_interpolation_gb(G): if not G: return False if G[0].ring().get_order_code() != OrderCode.lp: return False if len(G) != 1: return False p = Polynomial(G[0]) if p.lead_deg() <= 1: return False if p.set().n_nodes() > 1000: return False return True def ll_is_good(I): lex_lead = set() for p in I: if not p.is_zero(): m = p.lex_lead() if m.deg() == 1: lex_lead.add(next(iter(m.variables())).index()) if len(lex_lead) >= 0.8 * len(I): uv = used_vars_set(I).deg() # don't use len here, which will yield 1 if len(lex_lead) > 0.9 * uv: if uv - len(lex_lead) > 16: return "llfirstonthefly" else: return "llfirst" return False def ll_heuristic(d): d = copy(d) I = d["I"] if (not "llfirstonthefly" in d) and (not "llfirst" in d): hint = ll_is_good(I) if hint: d[hint] = True return d def change_order_heuristic(d): d_orig = d d = copy(d) I = d["I"] if not I: return d switch_table = {OrderCode.lp: OrderCode.dp_asc, OrderCode.dlex: OrderCode. dp_asc} if not "other_ordering_first" in d: # TODO after ll situation might look much different, so heuristic is on # wrong place code = next(iter(I)).ring().get_order_code() if code in switch_table: max_non_linear = len(I) // 2 non_linear = 0 if code == OrderCode.lp: for p in I: if p.lead_deg() > 1: non_linear = non_linear + 1 if non_linear > max_non_linear: break if (non_linear > max_non_linear) or (code != OrderCode.lp): other_ordering_opts = copy(d_orig) other_ordering_opts["switch_to"] = switch_table[code] d["other_ordering_first"] = other_ordering_opts return d def interpolation_gb_heuristic(d): d = copy(d) I = d["I"] if not d.get("other_ordering_opts", False) and want_interpolation_gb(I): d["interpolation_gb"] = True d["other_ordering_first"] = False return d def linear_algebra_heuristic(d): d_orig = d d = copy(d) I = d["I"] def want_la(): if not I: return False n_used_vars = None bound = None if next(iter(I)).ring().has_degree_order(): new_bound = 200 n_used_vars = used_vars_set(I, bound=new_bound).deg() if n_used_vars < new_bound: return True bound = new_bound if dense_system(I): new_bound = 100 if not (bound and new_bound < bound): n_used_vars = used_vars_set(I, bound=new_bound).deg() bound = new_bound if n_used_vars < bound: return True return False if not (("faugere" in d and (not d["faugere"])) or ("noro" in d and d[ "noro"])): if ("faugere" in d and d["faugere"]) or want_la(): d["faugere"] = True if not "red_tail" in d: d["red_tail"] = False if not "selection_size" in d: d["selection_size"] = 10000 if not ("ll" in d): d["ll"] = True return d def trivial_heuristic(d): return d class HeuristicalFunction(object): def __call__(self, *args, **kwds): complete_dict = copy(kwds) heuristic = True try: heuristic = complete_dict["heuristic"] except KeyError: pass for (k, v) in zip(self.argnames, args): complete_dict[k] = v if heuristic: complete_dict = self.heuristicFunction(complete_dict) return self.f(**complete_dict) def __init__(self, f, heuristic_function): (self.argnames, self.varargs, self.varopts, self.defaults) = ( getargspec(f)[:4]) if hasattr(f, "options"): self.options = f.options else: self.options = dict(zip(self.argnames[-len(self.defaults):], self. defaults)) self.heuristicFunction = heuristic_function self.f = f self.__doc__ = f.__doc__ def with_heuristic(heuristic_function): def make_wrapper(f): wrapped = HeuristicalFunction(f, heuristic_function) wrapped.__name__ = f.__name__ return wrapped return make_wrapper def clean_polys(I): I = list(set((Polynomial(p) for p in I if not Polynomial(p).is_zero()))) return I def clean_polys_pre(I): return (clean_polys(I), None) def gb_with_pre_post_option( option, pre=None, post=None, if_not_option=tuple(), default=False): def make_wrapper(f): def wrapper(I, **kwds): prot = kwds.get("prot", False) for o in if_not_option: if (o in kwds and kwds[o]) or (o not in kwds and groebner_basis.options[o]): option_set = False if not "option_set" in locals(): if option in kwds: option_set = kwds[option] else: option_set = default kwds = dict(((o, kwds[o]) for o in kwds if o != option)) state = None if option_set: if pre: pre_args = getargspec(pre)[0] if prot: print("preprocessing for option:", option) local_symbols = copy(locals()) (I, state) = pre(**dict([(k, v) for (k, v) in local_symbols.items() if k in pre_args])) I = f(I, **kwds) if option_set: if post: post_args = getargspec(post)[0] if prot: print("postprocessing for option:", option) local_symbols = copy(locals()) I = post(**dict([(k, v) for (k, v) \ in local_symbols.items() if k in post_args])) return I wrapper.__name__ = f.__name__ wrapper.__doc__ = f.__doc__ if hasattr(f, "options"): wrapper.options = copy(f.options) else: wrapper.options = get_options_from_function(f) wrapper.options[option] = default return wrapper return make_wrapper def redsb_post(I, state): if I == []: return [] else: return I.minimalize_and_tail_reduce() def minsb_post(I, state): if I == []: return [] else: return I.minimalize() def invert_all(I): return [p.map_every_x_to_x_plus_one() for p in I] def invert_all_pre(I): return (invert_all(I), None) def invert_all_post(I, state): return invert_all(I) def llfirst_pre(I, prot): (eliminated, llnf, I) = eliminate(I, on_the_fly=False, prot=prot) return (I, eliminated) def ll_constants_pre(I): ll_res = [] while len([p for p in I if p.lex_lead_deg() == 1 and (p + p.lex_lead()).constant()]) > 0: I_new = [] ll = [] leads = set() for p in I: if p.lex_lead_deg() == 1: l = p.lead() if not (l in leads) and p.is_singleton_or_pair(): tail = p + l if tail.deg() <= 0: ll.append(p) leads.add(l) continue I_new.append(p) encoded = ll_encode(ll) reduced = [] for p in I_new: p = ll_red_nf_redsb(p, encoded) if not p.is_zero(): reduced.append(p) I = reduced ll_res.extend(ll) return (I, ll_res) def variety_size_from_gb(I): """ >>> r=Ring(100) >>> x = r.variable >>> variety_size_from_gb([]) 1 >>> variety_size_from_gb([Polynomial(0, r)]) 1 >>> variety_size_from_gb([Polynomial(1, r)]) 0.0 >>> variety_size_from_gb([x(1)]) 1.0 >>> variety_size_from_gb([x(1), x(2)]) 1.0 >>> variety_size_from_gb([x(1), x(2)*x(3)]) 3.0 >>> variety_size_from_gb([x(1), x(1)*x(4), x(2)*x(3)]) 6.0 >>> variety_size_from_gb([x(1)*x(2), x(2)*x(3)]) 5.0 >>> mons = [Monomial([r.variable(i) for i in xrange(100) if i!=j])\ for j in xrange(100)] >>> variety_size_from_gb(mons) 1.2676506002282294e+30 """ I = [Polynomial(p) for p in I] I = [p for p in I if not p.is_zero()] if len(I) == 0: return 1 ## # TODO Here's something wrong! See the example with 5 solutions. ## # (reverting for now) ## number_of_used_vars = used_vars_set(I).deg() ## leads = set([p.lead() for p in I]) ## minimal_leads = BooleSet(leads).minimal_elements() ## number_of_used_vars_minimal_leads =\ ## minimal_leads.vars().deg() ## standard_monomials =\ ## minimal_leads.include_divisors().diff(minimal_leads) ## return standard_monomials.size_double()*\ ## 2**(number_of_used_vars-number_of_used_vars_minimal_leads) sm = Monomial(used_vars_set(I)).divisors() for p in I: m = p.lead() sm = sm.diff(sm.multiples_of(m)) return sm.size_double() def other_ordering_pre(I, option_set, kwds): """ >>> from brial.blocks import declare_ring >>> r = declare_ring(['x0', 'x1', 'x2', 'x3', 'x4'], globals()) >>> id = [x1*x3 + x1 + x2*x3 + x3 + x4, x0*x3 + x0 + x1*x2 + x2 + 1, x1*x3 + x1*x4 + x3*x4 + x4 + 1, x0*x2 + x0*x4 + x1 + x3 + x4] >>> groebner_basis(id) [1] """ if not I: return (I, None) main_kwds = kwds options = option_set old_ring = next(iter(I)).ring() ocode = old_ring.get_order_code() try: new_ring = old_ring.clone(ordering=options["switch_to"]) kwds = dict((k, options[k]) for k in options if not (k in ( "other_ordering_first", "switch_to", "I"))) kwds["redsb"] = True I_orig = I I = groebner_basis([new_ring(poly) for poly in I], **kwds) variety_size = variety_size_from_gb(I) fglm_bound = options.get("fglm_bound") or groebner_basis.options["fglm_bound"] if variety_size < fglm_bound: main_kwds["convert_with_fglm_from_ring"] = new_ring main_kwds["convert_with_fglm_to_ring"] = old_ring else: I = [old_ring(poly) for poly in I] finally: pass return (I, None) def llfirstonthefly_pre(I, prot): (eliminated, llnf, I) = eliminate(I, on_the_fly=True) return (I, eliminated) def gauss_on_linear_pre(I, prot): return (gauss_on_linear(I), None) def easy_linear_polynomials_pre(I): res = [] for p in I: res.append(p) res.extend(easy_linear_polynomials(p)) return (list(set(res)), None) def llfirst_post(I, state, prot, kwds): eliminated = state for p in I: if p.is_one(): return [p] else: if len(eliminated) > 0: I = list(chain(I, eliminated)) #redsb just for safety, as don't know how option is set kwds = copy(kwds) kwds.update( dict(llfirst=False, llfirstonthefly=False, ll_constants=False, deg_bound=False, other_ordering_first=False, eliminate_identical_variables=False, redsb=True)) I = groebner_basis( I, **kwds ) return I def ll_constants_post(I, state): eliminated = state for p in I: if p.is_one(): return [p] else: if len(eliminated) > 0: I = list(chain(I, eliminated)) #redsb just for safety, as don't know how option is set return I def result_to_list_post(I, state): return list(I) def fix_deg_bound_post(I, state): if isinstance(I, GroebnerStrategy): return I.all_generators() else: return I def incremental_pre(I, prot, kwds): def sort_key(p): p = Polynomial(p) return (p.navigation().value(), -p.deg()) I = sorted(I, key=sort_key) inc_sys = [] kwds = copy(kwds) kwds['incremental'] = False for p in I[:-1]: inc_sys.append(p) inc_sys = groebner_basis(inc_sys, **kwds) if prot: print("incrementally calculating GB, adding generator:", p) inc_sys.append(I[:-1]) return (inc_sys, None) def eliminate_identical_variables_pre(I, prot): changed = True ll_system = [] treated_linears = set() while changed: changed = False rules = dict() for p in I: t = p + p.lead() if p.lead_deg() == 1: l = p.lead() if l in treated_linears: continue else: treated_linears.add(l) if t.deg() > 0: rules.setdefault(t, []) leads = rules[t] leads.append(l) def my_sort_key(l): return l.navigation().value() for (t, leads) in rules.items(): if len(leads) > 1: changed = True leads = sorted(leads, key=my_sort_key, reverse=True) chosen = leads[0] for v in leads[1:]: ll_system.append(chosen + v) if len(ll_system) > 0: ll_encoded = ll_encode(ll_system, reduce=True) I = set([ll_red_nf_redsb(p, ll_encoded) for p in I]) return (I, ll_system) @gb_with_pre_post_option("clean_arguments", pre=clean_polys_pre, default=True) @gb_with_pre_post_option("easy_linear_polynomials", pre=easy_linear_polynomials_pre, default=True) @gb_with_pre_post_option("result_to_list", post=result_to_list_post, default=True) @with_heuristic(interpolation_gb_heuristic) @gb_with_pre_post_option("invert", pre=invert_all_pre, post=invert_all_post, default=False) @gb_with_pre_post_option("gauss_on_linear", pre=gauss_on_linear_pre, default=True) @gb_with_pre_post_option("ll_constants", pre=ll_constants_pre, post=ll_constants_post, default=True) @gb_with_pre_post_option("eliminate_identical_variables", pre=eliminate_identical_variables_pre, post=llfirst_post, default=True) @with_heuristic(ll_heuristic) @gb_with_pre_post_option("llfirst", if_not_option=["llfirstonthefly"], pre=llfirst_pre, post=llfirst_post, default=False) @gb_with_pre_post_option("llfirstonthefly", pre=llfirstonthefly_pre, post=llfirst_post, default=False) @gb_with_pre_post_option("incremental", pre=incremental_pre) @with_heuristic(change_order_heuristic) @gb_with_pre_post_option("other_ordering_first", if_not_option=[ "interpolation_gb"], pre=other_ordering_pre, default=False) @with_heuristic(linear_algebra_heuristic) @gb_with_pre_post_option("fix_deg_bound", if_not_option=["interpolation_gb"], post=fix_deg_bound_post, default=True) @gb_with_pre_post_option("minsb", post=minsb_post, if_not_option=["redsb", "deg_bound", "interpolation_gb", "convert_with_fglm_from_ring"], default=True) @gb_with_pre_post_option("redsb", post=redsb_post, if_not_option=["deg_bound", "interpolation_gb", "convert_with_fglm_from_ring"], default=True) def groebner_basis(I, heuristic=True, unique_ideal_generator=False, interpolation_gb=False, clean_and_restart_algorithm=False, convert_with_fglm_from_ring=None, convert_with_fglm_to_ring=None, fglm_bound=40000, modified_linear_algebra=True, preprocessor=None, deg_bound=False, implementation="Python", full_prot=False, prot=False, draw_matrices=False, preprocess_only=False, **impl_options): """Computes a Groebner basis of a given ideal I, w.r.t options.""" if not I: return I if full_prot: prot = True if prot: print("number of passed generators:", len(I)) if not convert_with_fglm_from_ring is None: from_ring = convert_with_fglm_from_ring to_ring = convert_with_fglm_to_ring return _fglm(I, from_ring, to_ring) if interpolation_gb: first = next(iter(I)) if len(I) != 1 or first.ring().get_order_code() != OrderCode.lp: raise ValueError return lex_groebner_basis_for_polynomial_via_variety(first) if deg_bound is False: deg_bound = 100000000 I = [Polynomial(p) for p in I if not p.is_zero()] if unique_ideal_generator and I: prod = 1 for p in I: prod = (p + 1) * prod I = [prod + 1] if implementation == "Python": implementation = symmGB_F2_python else: implementation = symmGB_F2_C # custom preprocessing if preprocessor: I = preprocessor(I) if preprocess_only: for p in I: print(p) import sys sys.exit(0) def call_algorithm(I, max_generators=None): return implementation(I, deg_bound=deg_bound, full_prot=full_prot, prot=prot, max_generators=max_generators, draw_matrices=draw_matrices, **filter_newstyle_options(implementation, **impl_options)) if clean_and_restart_algorithm: for max_generators in [1000, 10000, 50000, 100000, 200000, 300000, 400000, None]: try: return call_algorithm(I, max_generators=max_generators) except GeneratorLimitExceeded as e: I = list(e.strat.all_generators()) del e.strat if prot: print("generator limit exceeded:", max_generators, "restarting algorithm") else: return call_algorithm(I) def build_groebner_basis_doc_string(): additional_options_from_buchberger = filter_oldstyle_options(** get_options_from_function(symmGB_F2_python)) for k in list(additional_options_from_buchberger): if k in groebner_basis.options: del additional_options_from_buchberger[k] groebner_basis.__doc__ = (groebner_basis.__doc__ + "\nOptions are:\n" + "\n".join((k + " : " + repr(groebner_basis.options[k]) for k in groebner_basis.options)) + """ Turn off heuristic by setting heuristic=False Additional options come from the actual buchberger implementation. In case of our standard Python implementation these are the following: """ + "\n".join((k + " : " + repr(additional_options_from_buchberger[k]) for k in additional_options_from_buchberger))) build_groebner_basis_doc_string() def _test(): import doctest doctest.testmod() if __name__ == "__main__": _test() BRiAl-1.2.12/sage-brial/brial/gbrefs.py000066400000000000000000000103001436062512100174410ustar00rootroot00000000000000from re import sub import gzip try: from StringIO import StringIO except ImportError: from io import StringIO import uu import re from types import ModuleType from .PyPolyBoRi import * AUTO = "auto" SINGLE = "single" #def ref_file_name(f): # name=re.sub("data/","",f) # name=sub(r"\.py","",name) # l=name.split("/")[:-1] def reencode_blocks(block_str): return str(block_str).replace(",", "_") def parse_blocks(block_str, data): if block_str == AUTO: #print "block starts:",data.block_start_hints return data.block_start_hints if block_str == SINGLE: return [] return [int(i) for i in block_str.split(",")] def load_ref_raw(s): s = sub("data/", "", s) s = sub(r"data\.", "", s) s = sub(r"\.py", "", s) s = sub(r"\.", "/", s) ref_file = "ref/" + s + ".ref" #print "loading:", ref_file res_f = open(ref_file) res = res_f.read() res_f.close() return res def load_ref(s, ordering="lp", blocks=SINGLE): return load_ref_gz_uu(s, ordering, blocks) def ordering_suffix(o, blocks=None): if o == "lp": return "" else: if re.match("block", o): return "." + o + "_" + reencode_blocks(blocks) else: return "." + o def number_of_declared_vars(data): try: return data.number_of_declared_vars except: return data.r.ngens() def load_ref_gz_uu(s, o, b): s = sub("data/", "", s) s = sub(r"data\.", "", s) s = sub(r"\.py", "", s) s = sub(r"\.", "/", s) ref_file = "ref/" + s + ordering_suffix(o, b) + ".ref.gz.uu" #print "loading:", ref_file res = StringIO() uu.decode(ref_file, res) res = res.getvalue() res = StringIO(res) res = gzip.GzipFile(fileobj=res, mode="r").read() res = res.replace(" ", "") #res_f=open(ref_file) #res=res_f.read() #res_f.close() #print "returning" return res #def load_ref(s): # return load_ref_raw(s) def convert_refs(ref_file_orig): content = open(ref_file_orig).read() #buf=StringIO(content) buf_out = StringIO() # zipped = gzip.GzipFile(filename=ref_file_orig, mode="w", fileobj=buf_out) zipped.write(content) zipped.close() val = buf_out.getvalue() out = open(ref_file_orig + ".gz.uu", "w") #print val uu.encode(out_file=out, in_file=StringIO(val)) out.close() def my_import(name, globals=None, locals=None): if globals is None: globals = {} if locals is None: locals = {} #print name #print locals, globals mod = __import__(name) #print dir(mod) components = name.split('.') for comp in components[1:]: mod = getattr(mod, comp) return mod def dyn_generate(content, name): module = ModuleType(name) import_header = """from .PyPolyBoRi import Variable,Monomial, Polynomial, Ring, OrderCode from itertools import chain from .blocks import AlternatingBlock,Block,AdderBlock,if_then,HigherOrderBlock,declare_ring as orig_declare_ring,declare_block_scheme,MacroBlock\n def declare_ring(blocks, context=None): if context is None: context=globals() return orig_declare_ring(blocks,context) """ exec(import_header + content, module.__dict__) if hasattr(module, "ideal"): module.ideal = [Polynomial(p) for p in module.ideal] return module def clean_data(data): r = data.r for a in dir(data): if a != "r": delattr(data, a) #del data.r #del r def load_data(file_name, base_dir="./"): in_file = file_name #in_file=sub(r"\.py$","",in_file) #in_file=sub(r"/",".", in_file) #if not re.match("^data",in_file): # in_file="data."+in_file #def x(i): # return Monomial(Variable(i)) if not re.match("^data", in_file): in_file = "data/" + in_file in_file = sub(r".py$", "", in_file) module_name = sub("/", r"\.", in_file) in_file = sub(r"\.", "/", in_file) in_file = in_file + ".py" #print in_file in_file = open(base_dir + in_file).read() #print in_file #return my_import(in_file) return dyn_generate(in_file, "pb_data") def load_file(file_name): in_file = file_name in_file = open(in_file).read() return dyn_generate(in_file, "pb_data") BRiAl-1.2.12/sage-brial/brial/general_boolean_polynomial.py000066400000000000000000000454061436062512100235670ustar00rootroot00000000000000# -*- python -*- from __future__ import print_function import sys import resource from .gbcore import * from .memusage import * from time import time, clock from .PyPolyBoRi import * from .blocks import declare_ring, Block from math import sqrt from .parallel import groebner_basis_first_finished from optparse import OptionParser from .interred import interred # Just for debugging def print_matrix(A): res = "" for i in range(len(A)): for j in range(len(A[i])): res += str(A[i][j]) + " " res += "\n" return res # TODO: Implement constructor to convert Polynomials to # GeneralBooleanPolynomial (with e_1 + ... + e_k as coefficient) class GeneralBooleanPolynomial: """ Class to represent Boolean polynomials over F_2^k """ def __init__(self, k, coeff, polynomial): """ Construct a GeneralBooleanPolynomial given by coeff * polynomial Arguments: k : Number of factors of F_2 coeff : Array containing natural numbers in {0, ..., k-1} representing an element of F_2^k as a set polynomial : Polynomial """ #print "type of polynomials", type(polynomial) #print "polynomials is int?", isinstance(polynomial, int) assert isinstance(polynomial, Polynomial) or isinstance(polynomial, Monomial) or isinstance(polynomial, Variable) or isinstance( polynomial, int) self.polys = [] self.k = k self.ring = polynomial.ring() for i in range(k): if i in coeff: self.polys.append(polynomial) else: self.polys.append(Polynomial(0, self.ring)) def __len__(self): """ Returns the number of factors k in the product of the underlying ring F_2^k """ return self.k def __getitem__(self, k): """ Return the k-th component (i.e. the projection to the k-th factor) """ return self.polys[k] def __setitem__(self, k, value): """ Sets the k-th component (i.e. the projection to the k-th factor) """ self.polys[k] = value def __eq__(self, other): """ Tests equality by testing that - both objects are defined over the same ring (i.e. the number of factors is the same) - the objects are equal in each component """ if not len(self) == len(other): return False for i in range(len(self)): if self[i] != other[i]: return False return True def __ne__(self, other): return not self == other def __str__(self): """ Returns a representation of the polynomial as string """ res = "" # Build a list of all terms occurring terms = set([]) for i in range(self.k): if not isinstance(self.polys[i], Polynomial): assert isinstance(self.polys[i], Monomial) or isinstance(self. polys[i], Variable) self[i] = Polynomial(self[i]) terms = terms.union(set(self[i].terms())) # Sort the terms terms = list(terms) terms.sort() # Determine the coefficient for each term and build up the string for t in terms: comps = [j for j in range(self.k) if t in set(Polynomial(self[j]) .terms())] if len(comps) == self.k: # We use this simplified notation of the coefficient it 1 res += str(t) + " + " else: res += str(comps) + " * " + str(t) + " + " res = res[0:len(res) - 3] if res == "": return "0" else: return res def __add__(self, other): """ Addition of two GeneralBooleanPolynomial """ if not len(self) == len(other): print("Cannot add polynomials defined over different rings") print("Len(self)=", len(self)) print("Len(other)=", len(other)) assert len(self) == len(other) sum = GeneralBooleanPolynomial(self.k, [], Polynomial(0, self.ring)) for i in range(self.k): sum[i] = self[i] + other[i] return sum def __mul__(self, other): """ Multiplication of two GeneralBooleanPolynomial """ if not len(self) == len(other): print("Cannot multiply polynomials defined over different rings") print("Len(self)=", len(self)) print("Len(other)=", len(other)) assert len(self) == len(other) prod = GeneralBooleanPolynomial(self.k, [], Polynomial(0, self.ring)) for i in range(self.k): prod[i] = Polynomial(self[i]) * Polynomial(other[i]) return prod def __sub__(self, other): """ Subtraction of two GeneralBooleanPolynomial """ if not len(self) == len(other): print("Cannot subtract polynomials defined over different rings") print("Len(self)=", len(self)) print("Len(other)=", len(other)) assert len(self) == len(other) sub = GeneralBooleanPolynomial(self.k, [], Polynomial(1, self.ring)) for i in range(self.k): sub[i] = self[i] - other[i] return sub def lc(self): """ Returns leading coefficient as constant GeneralBooleanPolynomial """ return GeneralBooleanPolynomial(self.k, self.lc_as_set(), Polynomial(1, self.ring)) def lc_as_set_array(self): """ Returns leading coefficient as array containing the indices of the non-zero components of the leading coefficient. """ max_term = 1 for i in range(len(self)): if not self[i].is_zero(): if self[i].lead() > max_term: max_term = self[i].lead() comps = [j for j in range(len(self)) if max_term in set(self[j].terms())] return comps def lc_as_set(self): """ Returns leading coefficient as set containing the indices of the non-zero components of the leading coefficient. """ return set(self.lc_as_set_array()) def lc_binary(self): """ Returns leading coefficient as array containing the integers 0 or 1 representing the leading coefficient in a binary form. """ lc_set = self.lc_as_set() lc_binary = [0] * len(self) for i in range(len(self)): if i in lc_set: lc_binary[i] = 1 return lc_binary def lt(self): """ Leading term in form of a GeneralBooleanPolynomial """ max_term = 1 for i in range(self.k): if not self[i].is_zero(): if self[i].lead() > max_term: max_term = self[i].lead() comps = [j for j in range(self.k) if max_term in set(self[j].terms())] return GeneralBooleanPolynomial(self.k, comps, max_term) def lm(self): """ Leading monomial in form of a GeneralBooleanPolynomial """ max_term = 1 contains_non_zero_term = False for i in range(len(self)): if not self[i].is_zero(): contains_non_zero_term = True if self[i].lead() > max_term: max_term = self[i].lead() if not contains_non_zero_term: raise ValueError("lm of zero polynomial is not defined") return GeneralBooleanPolynomial(self.k, [i for i in range(self.k)], max_term) def constant_part_binary(self): """ Constant part as binary tuple indicading which coefficients are non-zero """ comps = [] for i in range(len(self)): if self[i].has_constant_part(): comps.append(1) else: comps.append(0) return comps def constant_part_as_set_array(self): """ Constant part as array containing the indices of the non-zero coefficients of the constant part (sorted increasingly) """ res = [] for i in range(len(self)): if self[i].has_constant_part(): res.append(i) return res def constant_part_as_set(self): """ Constant part as set containing the indices of the non-zero coefficients of the constant part """ return set(self.constant_part_as_set_array()) def constant_part(self): """ Constant part as GeneralBoolenPolynomial """ res = GeneralBooleanPolynomial(len(self), [], Polynomial(0, self.ring)) for i in range(len(self)): if self[i].has_constant_part(): res[i] = Polynomial(1, self.ring) else: res[i] = Polynomial(0, self.ring) return res def to_expanded_polynomial_ring(self, new_variables): """ Returns a representation in form of a Polynomial over a ring with additional variables, one for each factor in the product of fields F_2^k """ assert self.k == len(new_variables) return sum(new_variables[i] * self.polys[i] for i in range(self.k)) def is_monomial(self): """ Test if self is a Monomial """ # Build a list of all terms occurring terms = set([]) for i in range(self.k): if not isinstance(self.polys[i], Polynomial): assert isinstance(self.polys[i], Monomial) or isinstance(self. polys[i], Variable) self[i] = Polynomial(self[i]) terms = terms.union(set(self[i].terms())) if len(terms) > 1: return False else: return True def is_zero(self): """ Tests if self is zero """ for i in range(len(self)): if self[i] != 0: return False return True def monomial(self): """ Returns a PolyBoRi Monomial representing the leading monomial of self, where self should be a monomial """ assert self.is_monomial() for i in range(self.k): if self.polys[i] != Polynomial(0, self.ring): return self.polys[i].lead() return Polynomial(0, self.ring) def divides(self, other): """ Tests if self divides other """ assert len(self) == len(other) assert (self.is_monomial() and other.is_monomial()) self_divides_other = True for i in range(len(self)): if self[i] == 0: if other[i] != 0: return False else: continue if self[i] == 1: continue else: if other[i] == 1: return False if other[i] == 0: continue assert other[i] == other[i].lead() other[i] = other[i].lead() if not other[i] in (Polynomial(self.polys[i]).lead()).divisors(): return False return True # Simple Gaus algorithm # Should really be replaced by something faster (maybe from PolyBoRi) def triangulate_over_F2(A, b): assert len(A) == len(b) n = len(b) m = len(A[0]) print("n: ", n, "m: ", m) print("A, b", A, b) for i in range(0, min(n, m)): # Row print("i", i) if A[i][i] == 0: # permutate rows changed = False for l in range(i, n): if A[l][i] != 0: for k in range(n): A[l][k], A[i][k] = A[i][k], A[l][k] b[l], b[i] = b[i], b[l] changed = True if not changed: return -1 for j in range(0, i): if A[i][j] != 0: for k in range(j, n): A[i][k] += A[i - 1][k] b[i] += b[i - 1] res_A = [[A[i][j] % 2 for j in range(m)] for i in range(n)] res_b = [b[i] % 2 for i in range(n)] return (res_A, res_b) def projection_of_expanded_polynomial(f, e, e_vars): """ Compute the projection of the expanded polynomial f to the component corresponding to the variable e (which is part of e_vars) """ for v in e_vars: if v == e: # Substitute v by 1 f = Polynomial(f.set().subset0(v.index())) + Polynomial(f.set(). subset1(v.index())) else: # Substitute v by 0 f = Polynomial(f.set().subset0(v.index())) return f def expanded_polynomial2general_polynomial(polynomial, new_variables, ring): """ Returns a GeneralBooleanPolynomial associated to a Polynomial (polynomial) in additional variables (new_variables), where the GeneralBooleanPolynomial in obtained from the projections of polynomial to the factors of F_2^k (by specialization of the additional variables) """ comps = [projection_of_expanded_polynomial(polynomial, e, new_variables) for e in new_variables] sum2 = GeneralBooleanPolynomial(len(new_variables), [0] * len( new_variables), Polynomial(0, ring)) for i in range(len(new_variables)): sum2[i] = comps[i] return sum2 def reduce_general_boolean_polynomial(F, polynomial): """ Computes the reduction of polynomial via the ideal given by F """ r = polynomial s = len(F) k = len(polynomial) h = [GeneralBooleanPolynomial(len(polynomial), [0] * len(polynomial), Polynomial(0, self.ring))] * s # Indices i where leading monomial of F[i] divided leading monomial of r def calc_Is(): ret = [] for i in range(s): if (F[i].is_zero() and not r.is_zero()): continue if (F[i].lm()).divides(r.lm()): ret.append(i) return ret def calc_X(): ret = [] for i in range(len(Is)): ret.append((r.lm()).monomial() / (F[Is[i]].lm()).monomial()) return ret def included(i, set): if i in set: return 1 else: return 0 Is = calc_Is() X = calc_X() for f in F: assert len(f) == len(polynomial) lm_polynomial = (polynomial.lm()).monomial() lc_polynomial_binary = polynomial.lc_binary() while len(Is) != 0: exp = [F[i].lm() for i in range(s)] matrix = [[included(i, F[j].lc_as_set()) for j in Is] for i in range( k)] # Compute solution coeff = [[0] * len(Is) for j in range(k)] for j in range(k): if lc_polynomial_binary[j]: coeff[j][0] = 1 sum = GeneralBooleanPolynomial(k, [0] * k, Polynomial(0, self.ring)) for i in range(len(Is)): c = [coeff[l][i] for l in range(k)] c_set = [l for l in range(k) if coeff[l][i] == 1] poly1 = GeneralBooleanPolynomial(k, c_set, X[i]) sum += GeneralBooleanPolynomial(k, c_set, X[i]) * F[Is[i]].lt() if polynomial.lt() == sum: r -= sum else: break if r.is_zero(): return r Is = calc_Is() X = calc_X() return r def stratified(I): """ Tests if I does no contain two polynomials with the same leading monomials """ leading_monomials = [] for p in I: if p.is_zero(): continue lm = p.lm() if lm in leading_monomials: return False leading_monomials.append(lm) return True def build_dict_from_array_of_extended_polynomials(A, e_vars): new_dict = {} for p in A: new_dict[p] = expanded_polynomial2general_polynomial(p, e_vars) return new_dict def stratify_dict_I_gb_I(dict, e_vars, debug=0): """ Wrapper (calls either stratify_dict_I_gb_I_our_alg or stratify_dict_I_gb_I_Inoue """ #return stratify_dict_I_gb_I_Inoue(dict, e_vars, debug) return stratify_dict_I_gb_I_our_alg(dict, e_vars, debug) def stratify_dict_I_gb_I_our_alg(dict, e_vars, debug=0): """ Build a stratified Groebner bases for dict """ # Ideal for the polynomials of the new basis A = [] # and their leading monomials LMs = [] new_dict = {} while len(dict) > 0: # We copy the keys of dict into I in order to sort them. # This way the elements are traversed in a unique order. I = sorted(dict.keys()) p = I[0] p_gb = dict[p] del dict[p] if debug > 1: print("Processing p", p) print("A before proceeding", A) if p_gb.is_zero(): LMs.append(Polynomial(0, self.ring)) A.append(p) if debug > 1: print("Adding p that becomes zero") continue p_gb_lm = p_gb.lm() # If the leading monomial of p does not coincide with any of # polynomials already in A, then add p to A if not p_gb_lm in LMs: A.append(p) LMs.append(p_gb_lm) if debug > 1: print("Appending", p, "since its lm is not contained in A yet") continue # Index of p_gb_lm in LMs i = LMs.index(p_gb_lm) # Polynomial in A with the same lm as p b = A[i] # The Polynomial we want to add to A while keeping A stratified r = p b_gb = expanded_polynomial2general_polynomial(b, e_vars) r_gb = expanded_polynomial2general_polynomial(r, e_vars) # Leading coefficients as GeneralBooleanPolynomial lc_b_gb = b_gb.lc() lc_r_gb = r_gb.lc() unit = GeneralBooleanPolynomial(len(e_vars), [o for o in range(len( e_vars))], Polynomial(1, p.ring())) b1_gb = b_gb * (unit + lc_r_gb) + r_gb r2_gb = r_gb * (unit + lc_r_gb + lc_r_gb * lc_b_gb) + lc_r_gb * b_gb b1 = b1_gb.to_expanded_polynomial_ring(e_vars) r2 = r2_gb.to_expanded_polynomial_ring(e_vars) A[i] = b1 if debug > 1: print("New polynomial in A (replaced)", A[i]) if r2 != 0 and r2 not in A: dict[r2] = r2_gb return build_dict_from_array_of_extended_polynomials(A, e_vars) def stratify_dict_I_gb_I_Inoue(dict, e_vars, debug=0): """ Reimplementation of a simple algorithm of Inoue from BGSet """ # Ideal for the polynomials of the new basis A = [] new_dict = {} while len(dict) > 0: p = dict.keys()[0] p_gb = dict[p] del dict[p] if p_gb.is_zero(): A.append(p) continue p_gb_lm = p_gb.lm() for f in dict.keys(): f_gb = dict[f] if f_gb.is_zero(): continue if p_gb_lm == f_gb.lm(): p = p + f del dict[f] A.append(p) return build_dict_from_array_of_extended_polynomials(A, e_vars) BRiAl-1.2.12/sage-brial/brial/heuristics.py000066400000000000000000000016011436062512100203570ustar00rootroot00000000000000from .PyPolyBoRi import Polynomial, gauss_on_polys from .nf import symmGB_F2_python from .interpolate import variety_lex_leading_terms, nf_lex_points def dense_system(I): I = (Polynomial(p) for p in I) I = (p for p in I if not p.is_zero()) for p in I: d = p.deg() if p.deg() == 1: continue else: try: if len(p) > 2 ** d + 5: return True except OverflowError: return True return False def gauss_on_linear(I): I = (Polynomial(p) for p in I) linear = [] non_linear = [] for p in I: if p.is_zero(): continue if p.deg() <= 1: linear.append(p) else: non_linear.append(p) if len(linear) == 0: return non_linear linear = list(gauss_on_polys(linear)) return linear + non_linear BRiAl-1.2.12/sage-brial/brial/interpolate.py000066400000000000000000000077471436062512100205440ustar00rootroot00000000000000# Copyright (c) 2005-2007 by The PolyBoRi Team from __future__ import print_function import sys from .PyPolyBoRi import * from .randompoly import gen_random_poly from random import Random try: from time import process_time as clock except ImportError: from time import clock generator = Random() def add_up_poly_list(l, init): v = BoolePolynomialVector() for p in l: v.append(p) return add_up_polynomials(v, init) def bench_interpolate(degree, nvariables, points): d = degree v = nvariables c = points h = len(points) / 2 terms = set(c.terms()) part1 = generator.sample(terms, h) part1 = add_up_poly_list(part1, Polynomial(c.ring().zero())) part2 = c + part1 p = part1 q = part2 assert part1.set().intersect(part2).empty() c1 = clock() res2 = interpolate_smallest_lex(p, q) c2 = clock() print("finished interpolate_smallest_lex(p,q),len:", len(res2), "time", c2 - c1) c1 = clock() res1 = interpolate(p, q) c2 = clock() print("finished interpolate(p,q)" + len("_smallest_lex") * " " + ",len:", res1.set().size_double(), "time:", c2 - c1) return res2 def nf_lex_points(f, p): f = Polynomial(f) p = BooleSet(p) z = f.zeros_in(p) return interpolate_smallest_lex(z, p.diff(z)) def gen_random_monomial(): d = generator.randrange(min(6, v + 1)) variables = generator.sample(range(v), d) variables = sorted(variables, key=top_index, reverse=True) m = variables[0] for x in variables[1:]: m = x * m return m def gen_random_polynomial(ring, max_len=50): vec = BoolePolynomialVector() for i in range(max_len): vec.append(gen_random_monomial(ring)) return add_up_polynomials(vec, Polynomial(ring.zero())) def gen_random_o_z(points, points_p): k = generator.randrange(len(points) + 1) ones = generator.sample(points, k) vec = BoolePolynomialVector() for p in ones: vec.append(p) ones = add_up_polynomials(vec, Polynomial(points_p.ring().zero())) return interpolate_smallest_lex(points_p.set().diff(ones), ones) def variety_lex_leading_terms(points, variables): ring = variables.ring() standards = BooleSet(ring.zero()) assert type(points) == BooleSet, "Points needs to be a BooleSet" points_tuple = tuple(points) myvars_div = variables.divisors() myvars_iter = iter(myvars_div) if points != myvars_div: standards = BooleSet(ring.one()) len_standards = len(standards) standards_old = standards while len_standards < len(points): standards = standards.union(gen_random_o_z(points_tuple, points)) if standards_old != standards: standards = BooleSet(standards).include_divisors() len_standards = len(standards) standards_old = standards leading_terms = BooleSet(myvars_div.diff(standards)).minimal_elements() return leading_terms def lex_groebner_basis_points(points, variables): leads = variety_lex_leading_terms(points, variables) return [nf_lex_points(l, points) + l for l in leads] def lex_groebner_basis_for_polynomial_via_variety(p): variables = p.vars_as_monomial() return lex_groebner_basis_points(p.zeros_in(variables.divisors()), variables) if __name__ == '__main__': nvariables = 100 r = declare_ring([Block("x", nvariables)]) for number_of_points in (100, 500, 1000, 2000, 3000, 4000, 5000, 10000, 20000, 50000, 100000): print("----------") print("number_of_points:", number_of_points) print("generate points") points = gen_random_poly(number_of_points, nvariables, [Variable(i) for i in range(nvariables)]) print("points generated") bench_interpolate(nvariables, nvariables, points) vars_mon = Monomial(r) for i in reversed(range(nvariables)): vars_mon = vars_mon * Variable(i, r) print(len(variety_lex_leading_terms(points, vars_mon)), "elements in groebner basis") BRiAl-1.2.12/sage-brial/brial/interred.py000066400000000000000000000016111436062512100200120ustar00rootroot00000000000000from .PyPolyBoRi import GroebnerStrategy, Polynomial, ReductionStrategy def interred(l, completely=False): """computes a new generating system (g1, ...,gn), spanning the same ideal modulo field equations. The system is interreduced: For i!=j: gi.lead() does not divide any leading term of gj. If completely is set to True, then also terms in the tail are not reducible by other polynomials. """ l = [Polynomial(p) for p in l if not p == 0] if not l: return [] ring = l[0].ring() l_old = None l = tuple(l) while l_old != l: l_old = l l = sorted(l, key=Polynomial.lead) g = ReductionStrategy(ring) if completely: g.opt_red_tail = True for p in l: p = g.nf(p) if not p.is_zero(): g.add_generator(p) l = tuple([e.p for e in g]) return list(l) BRiAl-1.2.12/sage-brial/brial/intersect.py000066400000000000000000000025121436062512100201770ustar00rootroot00000000000000# # intersect.py # PolyBoRi # # Created by Michael Brickenstein on 2008-09-24. # Copyright 2008 The PolyBoRi Team # from .gbcore import groebner_basis from .statistics import used_vars_set from itertools import chain def intersect(i, j, **gb_opts): """ This functions intersects two ideals. The first ring variable is used as helper variable for this intersection. It is assumed, that it doesn't occur in the ideals, and that we have an elimination ordering for this variables. Both assumptions are checked. >>> from brial.frontend import declare_ring >>> from brial import Block >>> r=declare_ring(Block("x", 1000), globals()) >>> x = r.variable >>> intersect([x(1),x(2)+1],[x(1),x(2)]) [x(1)] """ if not i or not j: return [] uv = used_vars_set(i) * used_vars_set(j) t = next(iter(i)).ring().variable(0) if uv.reducible_by(t): raise ValueError("First ring variable has to be reserved as helper variable t") if not t > uv: raise ValueError("need elimination ordering for first ring variable") gb = groebner_basis(list(chain((t * p for p in i), ((1 + t) * p for p in j ))), **gb_opts) return [p for p in gb if p.navigation().value() > t.index()] def _test(): import doctest doctest.testmod() if __name__ == "__main__": _test() BRiAl-1.2.12/sage-brial/brial/intpolys.py000066400000000000000000000051361436062512100200650ustar00rootroot00000000000000if __name__ == '__main__': from sys import path as search_path from os import path as file_path search_path.append(file_path.join(file_path.dirname(__file__), '..')) from .PyPolyBoRi import Monomial, Polynomial, BooleSet, BooleConstant from .PyPolyBoRi import Variable as VariableType class IntegerPolynomial(object): """Polynomial with positive integer coefficients""" def __init__(self, boolean_polys): super(IntegerPolynomial, self).__init__() if not isinstance(boolean_polys, dict): boolean_polys = dict([(0, Polynomial(boolean_polys))]) self.boolean_polys = boolean_polys def __coerce__(self, other): #TODO handle long if isinstance(other, int) and other >= 0: i = 0 res = [] while 2 ** i <= other: and_ = 2 ** i & other if and_: res.append(i) return (self, IntegerPolynomial(dict([(i, BooleConstant(1)) for i in res]))) if not isinstance(other, IntegerPolynomial): other = Polynomial(other) return (self, IntegerPolynomial(dict([(0, other)]))) def __add__(self, other): """ >>> from brial import * >>> r= declare_ring([Block("x",1000)], globals()) # doctest: +ELLIPSIS >>> p=IntegerPolynomial(x(1)) >>> p {0: x(1)} >>> p=p+p;p {1: x(1)} >>> p=p+x(2); p {0: x(2), 1: x(1)} >>> p+p {1: x(2), 2: x(1)} """ if not isinstance(other, IntegerPolynomial): (self, other) = coerce(self, other) return self + other assert isinstance(other, IntegerPolynomial) def add_simple_poly(p, i): p = Polynomial(p) if p.is_zero(): return res_p = Polynomial(res.get(i, Polynomial(0, p.ring()))) res[i] = res_p + p if res[i].is_zero(): del res[i] inter = BooleSet(res_p).intersect(BooleSet(p)) add_simple_poly(inter, i + 1) return res = dict(self.boolean_polys.items()) for (k, p) in other.boolean_polys.items(): add_simple_poly(p=p, i=k) return IntegerPolynomial(res) def __unicode__(self): return unicode(self.boolean_polys) def __str__(self): return str(self.boolean_polys) def __repr__(self): try: return unicode(self) except NameError: return str(self) def _test(): import doctest doctest.testmod() if __name__ == "__main__": _test() BRiAl-1.2.12/sage-brial/brial/ll.py000066400000000000000000000224251436062512100166130ustar00rootroot00000000000000from __future__ import print_function from .PyPolyBoRi import * from .statistics import used_vars_set from .rank import rank from functools import reduce lead_index = top_index #(p): # return iter(p.lex_lead()).next().index()#first index def combine(reductors, p, reduce=None): p_nav = p.navigation() assert p_nav.value() < reductors.navigation().value() p_else = BooleSet(p_nav.else_branch(), p.ring()) if reduce: p_else = reduce(p_else, reductors) return if_then_else(p_nav.value(), reductors, p_else) def llredsb_Cudd_style(polys): if polys: reductors = Polynomial(polys[0].ring().one()).set() else: reductors = None linear_lead = sorted(polys, key=lead_index, reverse=True) assert len(set([p.lex_lead() for p in linear_lead])) == len(polys) assert len([p for p in polys if p.constant()]) == 0 assert len([p for p in polys if p.lex_lead_deg() == 1]) == len(polys) assert len(set([p.navigation().value() for p in polys])) == len(polys) for p in linear_lead: reductors = combine(reductors, p, reduce=ll_red_nf_redsb) return reductors def ll_encode(polys, reduce=False, prot=False, reduce_by_linear=True): polys = [Polynomial(p) for p in polys] linear_lead = sorted(polys, key=lead_index, reverse=True) assert len(set([p.lex_lead() for p in linear_lead])) == len(polys) assert len([p for p in polys if p.constant()]) == 0 assert len([p for p in polys if p.lex_lead_deg() == 1]) == len(polys) assert len(set([p.navigation().value() for p in polys])) == len(polys) if (not reduce) and reduce_by_linear: linear_polys = [p for p in polys if p.deg() == 1] if linear_polys: linear_ll = ll_encode(linear_polys, reduce=True, reduce_by_linear=False) polys = [p.lex_lead() + ll_red_nf_redsb(p + p.lex_lead(), linear_ll) for p in polys] if reduce: reduce = ll_red_nf_redsb else: reduce = None if polys: reductors = Polynomial(polys[0].ring().one()).set() else: reductors = None last = None counter = 0 for p in linear_lead: if prot: counter = counter + 1 progress = (counter * 100) / len(linear_lead) if last != progress: print(str(progress) + "%") last = progress reductors = combine(reductors, p, reduce=reduce) return reductors def eliminate(polys, on_the_fly=False, prot=False, reduction_function=None, optimized=True): """There exists an optimized variant, which reorders the variable in a different ring. """ polys = [Polynomial(p) for p in polys] rest = [] linear_leads = [] linear_leading_monomials = set() for p in polys: if p.is_zero(): continue lm = p.lex_lead() if lm.deg() == 1: if not (lm in linear_leading_monomials): linear_leading_monomials.add(lm) linear_leads.append(p) else: rest.append(p) else: rest.append(p) if len(linear_leads) == 0: def identity(p): return p return (linear_leads, identity, rest) if reduction_function is None: if on_the_fly: if optimized: reduction_function = ll_red_nf_noredsb_single_recursive_call else: reduction_function = ll_red_nf_noredsb else: reduction_function = ll_red_nf_redsb def llnf(p): return reduction_function(p, reductors) reduced_list = [] if optimized: (llnf, reduced_list) = eliminate_ll_ranked( linear_leads, rest, reduction_function=reduction_function, reduce_ll_system=(not on_the_fly), prot=prot) else: reductors = ll_encode(linear_leads, reduce=(not on_the_fly), prot=prot) for p in rest: p = reduction_function(p, reductors) if p.is_one(): reduced_list = [p] break else: reduced_list.append(p) return (linear_leads, llnf, reduced_list) def construct_map_by_indices(to_ring, idx_mapping): v = BoolePolynomialVector((max(idx_mapping.keys()) + 1) * [to_ring.zero()]) for (from_idx, to_idx) in idx_mapping.items(): val = to_ring.variable(to_idx) v[from_idx] = val return v def eliminate_ll_ranked(ll_system, to_reduce, reduction_function=ll_red_nf_noredsb, reduce_ll_system=False, prot=False): assert(ll_system) from_ring = ll_system[0].ring() ll_ranks = rank(ll_system) add_vars = set(used_vars_set(to_reduce).variables()).difference(ll_ranks. keys()) for v in add_vars: ll_ranks[v] = -1 #pushing variables ignored by ll to the front means, #that the routines will quickly eliminate them #and they won't give any overhead def sort_key(v): return (ll_ranks[v], v.index()) sorted_vars = sorted(ll_ranks.keys(), key=sort_key) def var_index(v): return next(iter(Monomial(v).variables())).index() #sorted_var_indices=[var_index(v) for v in sorted_vars] to_ring = Ring(len(sorted_vars)) map_back_indices = dict([(i, var_index(v)) for (i, v) in enumerate( sorted_vars)]) map_from_indices = dict([(var_index(v), i) for (i, v) in enumerate( sorted_vars)]) #dict([(v,k) for (k,v) in enumerate(sorted_var_indices)]) var_names = [str(v) for v in sorted_vars] try: for (i, v) in enumerate(sorted_vars): assert var_names[i] == str(v), (var_names[i], v, var_index(v), i) # _set_variable_name(to_ring, i, var_names[i] + "TO") finally: pass try: map_from_vec = construct_map_by_indices(to_ring, map_from_indices) finally: pass map_back_vec = construct_map_by_indices(from_ring, map_back_indices) def map_from(p): res = substitute_variables(to_ring, map_from_vec, p) # assert str(p)==str(res), (str(p), str(res), list(map_from_vec), # list(map_back_vec)) return res def map_back(p): return substitute_variables(from_ring, map_back_vec, p) try: ll_opt_encoded = ll_encode([map_from(p) for p in ll_system], prot=False, reduce=reduce_ll_system) def llnf(p): return map_back(reduction_function(map_from(p), ll_opt_encoded)) opt_eliminated = [llnf(p) for p in to_reduce] finally: pass return (llnf, opt_eliminated) class RingMap(object): """Define a mapping between two rings by common variable names. >>> from brial.frontend import * >>> to_ring = declare_ring([Block("x", 10)], globals()) >>> from_ring = declare_ring([Block("y", 5), Block("x", 10)], globals()) >>> mapping = RingMap(to_ring, from_ring) >>> (x(1)+1).navigation().value() 6 >>> mapping(x(1)+1) x(1) + 1 >>> mapping(x(1)+1).navigation().value() 1 >>> mapping.invert(mapping(x(1)+1)) x(1) + 1 >>> mapping.invert(mapping(x(1)+1)).navigation().value() 6 >>> mapping(y(1)+1) Traceback (most recent call last): ... RuntimeError: Operands come from different manager. """ def __init__(self, to_ring, from_ring): """Initialize map by two given rings. >>> from brial.frontend import * >>> to_ring = declare_ring([Block("x", 10)], globals()) >>> from_ring = declare_ring([Block("y", 5), Block("x", 10)], globals()) >>> mapping = RingMap(to_ring, from_ring) >>> mapping(x(1)+1) x(1) + 1 """ def vars(ring): return [ring.variable(i) for i in range(ring.n_variables())] def indices(vars): return dict([(str(v), idx) for (idx, v) in enumerate(vars)]) self.to_ring = to_ring self.from_ring = from_ring to_vars = vars(to_ring) from_vars = vars(from_ring) to_indices = indices(to_vars) from_indices = indices(from_vars) common = list(set(to_indices.keys()) & set(from_indices.keys())) to_map = list(from_vars) for elt in common: to_map[from_indices[elt]] = to_vars[to_indices[elt]] from_map = list(to_vars) for elt in common: from_map[to_indices[elt]] = from_vars[from_indices[elt]] self.to_map = BoolePolynomialVector(to_map) self.from_map = BoolePolynomialVector(from_map) def __call__(self, poly): """Execute the map to change rings. >>> from brial.frontend import * >>> to_ring = declare_ring([Block("x", 10)], globals()) >>> from_ring = declare_ring([Block("y", 5), Block("x", 10)], globals()) >>> mapping = RingMap(to_ring, from_ring) >>> mapping(x(1)+1) x(1) + 1 """ return substitute_variables(self.to_ring, self.to_map, poly) def invert(self, poly): """Inverted map to initial ring. >>> from brial.frontend import * >>> to_ring = declare_ring([Block("x", 10)], globals()) >>> from_ring = declare_ring([Block("y", 5), Block("x", 10)], globals()) >>> mapping = RingMap(to_ring, from_ring) >>> mapping.invert(mapping(x(1)+1)) x(1) + 1 """ return substitute_variables(self.from_ring, self.from_map, poly) BRiAl-1.2.12/sage-brial/brial/memusage.py000066400000000000000000000027351436062512100200110ustar00rootroot00000000000000import os _proc_status = '/proc/%d/status' % os.getpid() #_scale = {'kB': 1024.0, 'mB': 1024.0*1024.0, # 'KB': 1024.0, 'MB': 1024.0*1024.0} _scale = {'kB': 1, 'mB': 1024, 'gB': 1024 * 1024, 'KB': 1, 'MB': 1024, 'GB': 1024 * 1024} def _VmB(VmKey): '''Private. ''' global _proc_status, _scale # get pseudo file /proc//status try: t = open(_proc_status) v = t.read() t.close() except: return float('nan') # non-Linux? # get VmKey line e.g. 'VmRSS: 9999 kB\n ...' i = v.index(VmKey) v = v[i:].split(None, 3) # whitespace if len(v) < 3: return float('nan') # invalid format? # convert Vm value to bytes # return float(v[1]) * _scale[v[2]] return int(v[1]) * _scale[v[2]] def memory(since=0): '''Return memory usage in kilobytes. ''' return _VmB('VmSize:') - since def resident(since=0): '''Return resident memory usage in kilobytes. ''' return _VmB('VmRSS:') - since def memorypeak(since=0): '''Return memory usage peak in kilobytes. ''' try: return _VmB('VmPeak:') - since except: return float('nan') # old Linux? def residentpeak(since=0): '''Return resident memory usage peak in kilobytes. ''' try: return _VmB('VmHWM:') - since except: return float('nan') # old Linux? def stacksize(since=0): '''Return stack size in kilobytes. ''' return _VmB('VmStk:') - since BRiAl-1.2.12/sage-brial/brial/ncf.py000066400000000000000000000022121436062512100167420ustar00rootroot00000000000000from . import Polynomial def get_splitting(f, variables): ring = s.ring() s = f.set() for var_index in variables: s1 = Polynomial(s.subset1(var_index)) s0 = Polynomial(s.subset0(var_index)) f1 = s0 + s1 f0 = s0 var = ring.variable(var_index) if f1.constant(): return dict(b=f1, a=Polynomial(1, ring), x=var, g=f0) if f0.constant(): return dict(b=f0, a=Polynomial(0, ring), x=var, g=f1) return None def nested_canalyzing_function(f, variables=None): f = Polynomial(f) if variables is None: variables = f.vars_as_monomial() if not variables.reducible_by(f.vars_as_monomial()): raise ValueError if variables != f.vars_as_monomial(): return False if len(variables) == 0: return True splitting = get_splitting(f, variables) if splitting is None: return False rec = nested_canalyzing_function(splitting["g"], variables / splitting["x" ]) if rec: if rec is True: return (splitting, ) else: return (splitting, rec) else: return False BRiAl-1.2.12/sage-brial/brial/nf.py000066400000000000000000000532301436062512100166050ustar00rootroot00000000000000from __future__ import print_function from .PyPolyBoRi import * from .easy_polynomials import (easy_linear_polynomials as easy_linear_polynomials_func) from .statistics import used_vars_set from random import Random from warnings import warn import copy import os import sys class GeneratorLimitExceeded(Exception): """docstring for GeneratorLimitExceeded""" def __init__(self, strat): #super(GeneratorLimitExceeded, self).__init__() self.strat = strat #used_polynomials=list() def pkey(p): return (p[0], len(p)) mat_counter = 0 def build_and_print_matrices(v, strat): """old solution using PIL, the currently used implementation is done in C++ and plots the same matrices, as being calculated""" treated = BooleSet() v = list(v) rows = 0 polys_in_mat = [] if len(v) == 0: return while(len(v) > 0): rows = rows + 1 p = v[0] v = v[1:] #used_polynomials.append(p) for m in list(p.terms()): m = Monomial(m) if not m in BooleSet(treated): i = strat.select(m) if i >= 0: p2 = strat[i] p2 = p2 * (m // p2.lead()) v.append(p2) polys_in_mat.append(p) treated = treated.union(p.set()) m2i = dict([(v, k) for (k, v) in enumerate(list(Polynomial(BooleSet( treated)).terms()))]) #print polys_in_mat polys_in_mat.sort(key=Polynomial.lead, reverse=True) polys_in_mat = [[m2i[t] for t in p.terms()] for p in polys_in_mat] global mat_counter mat_counter = mat_counter + 1 from PIL import Image from PIL import ImageDraw rows = len(polys_in_mat) cols = len(m2i) #print cols,rows im = Image.new("1", (cols, rows), "white") #im=Image.new("1",(,10000),"white") for i in range(len(polys_in_mat)): p = polys_in_mat[i] for j in p: assert i < rows assert j < cols im.putpixel((j, i), 0) file_name = matrix_prefix + str(mat_counter) + ".png" if os.path.exists(file_name): os.remove(file_name) im.save(file_name) del im print("MATRIX_SIZE:", rows, "x", cols) def multiply_polynomials(l, ring): """ >>> r=Ring(1000) >>> x=r.variable >>> multiply_polynomials([x(3), x(2)+x(5)*x(6), x(0), x(0)+1], r) 0 """ l = [Polynomial(p) for p in l] def sort_key(p): return p.navigation().value() l = sorted(l, key=sort_key) res = Polynomial(ring.one()) for p in l: res = p * res return res def build_and_print_matrices_deg_colored(v, strat): """old PIL solution using a different color for each degree""" if len(v) == 0: return treated = BooleSet() v = list(v) rows = 0 polys_in_mat = [] while(len(v) > 0): rows = rows + 1 p = v[0] v = v[1:] for m in list(p.terms()): m = Monomial(m) if not m in BooleSet(treated): i = strat.select(m) if i >= 0: p2 = strat[i] p2 = p2 * (m // p2.lead()) v.append(p2) polys_in_mat.append(p) treated = treated.union(p.set()) m2i = dict([(v, k) for (k, v) in enumerate(BooleSet(treated))]) max_deg = max([m.deg() for m in BooleSet(treated)]) if max_deg == 0: max_deg = 1 i2deg = dict([(m2i[m], m.deg()) for m in BooleSet(treated)]) polys_in_mat = [[m2i[t] for t in p.terms()] for p in polys_in_mat] polys_in_mat.sort(key=pkey) global mat_counter mat_counter = mat_counter + 1 from PIL import Image from PIL import ImageDraw from PIL import ImageColor rows = len(polys_in_mat) cols = len(m2i) im = Image.new("RGB", (cols, rows), "white") for i in range(len(polys_in_mat)): p = polys_in_mat[i] for j in p: assert i < rows assert j < cols im.putpixel((j, i), ImageColor.getrgb("hsl(" + str(270 - (270 * i2deg[j]) / max_deg) + ",100%,50%)")) file_name = matrix_prefix + str(mat_counter) + ".png" if os.path.exists(file_name): os.remove(file_name) im.save(file_name) del im print("MATRIX_SIZE:", rows, "x", cols) def high_probability_polynomials_trick(p, strat): lead_deg = p.lead_deg() if lead_deg <= 4: return ring = p.ring() factor = multiply_polynomials(easy_linear_factors(p), ring) p = p / factor #again, do it twice, it's cheap lead_deg = p.lead_deg() if lead_deg <= 3: return if lead_deg > 9: return uv = p.vars_as_monomial() candidates = [] if uv.deg() <= 4: return if not uv.deg() <= lead_deg + 1: return space = uv.divisors() lead = p.lead() for v in lead.variables(): variable_selection = lead // v vars_reversed = reversed(list(variable_selection.variables())) #it's just a way to loop over the cartesian product for assignment in variable_selection.divisors(): c_p = assignment for v in vars_reversed: if not assignment.reducible_by(v): c_p = (v + 1) * c_p points = (c_p + 1).zeros_in(space) if p.zeros_in(points).empty(): candidates.append(c_p * factor) #there many more combinations depending on plugged in values for c in candidates: strat.add_as_you_wish(c) def symmGB_F2_python(G, deg_bound=1000000000000, over_deg_bound=0, use_faugere=False, use_noro=False, opt_lazy=True, opt_red_tail=True, max_growth=2.0, step_factor=1.0, implications=False, prot=False, full_prot=False, selection_size=1000, opt_exchange=True, opt_allow_recursion=False, ll=False, opt_linear_algebra_in_last_block=True, max_generators=None, red_tail_deg_growth=True, matrix_prefix='mat', modified_linear_algebra=True, draw_matrices=False, easy_linear_polynomials=True): if use_noro and use_faugere: raise ValueError('both use_noro and use_faugere specified') def add_to_basis(strat, p): if p.is_zero(): if prot: print("-") else: if prot: if full_prot: print(p) print("Result: ", "deg:", p.deg(), "lm: ", p.lead(), "el: ", p .elength()) if easy_linear_polynomials and p.lead_deg() > 2: lin = easy_linear_polynomials_func(p) for q in lin: strat.add_generator_delayed(q) old_len = len(strat) strat.add_as_you_wish(p) new_len = len(strat) if new_len == 1 + old_len: high_probability_polynomials_trick(p, strat) if prot: print("#Generators:", len(strat)) if (isinstance(G, list)): if len(G) == 0: return [] G = [Polynomial(g) for g in G] current_ring = G[0].ring() strat = GroebnerStrategy(current_ring) strat.reduction_strategy.opt_red_tail = opt_red_tail strat.opt_lazy = opt_lazy strat.opt_exchange = opt_exchange strat.opt_allow_recursion = opt_allow_recursion strat.enabled_log = prot strat.reduction_strategy.opt_ll = ll strat.opt_modified_linear_algebra = modified_linear_algebra strat.opt_linear_algebra_in_last_block = ( opt_linear_algebra_in_last_block) strat.opt_red_by_reduced = False # True strat.reduction_strategy.opt_red_tail_deg_growth = red_tail_deg_growth strat.opt_draw_matrices = draw_matrices strat.matrix_prefix = matrix_prefix for g in G: if not g.is_zero(): strat.add_generator_delayed(g) else: strat = G if prot: print("added delayed") i = 0 try: while strat.npairs() > 0: if max_generators and len(strat) > max_generators: raise GeneratorLimitExceeded(strat) i = i + 1 if prot: print("Current Degree:", strat.top_sugar()) if (strat.top_sugar() > deg_bound) and (over_deg_bound <= 0): return strat if (strat.top_sugar() > deg_bound): ps = strat.some_spolys_in_next_degree(over_deg_bound) over_deg_bound -= len(ps) else: ps = strat.some_spolys_in_next_degree(selection_size) if ps and ps[0].ring().has_degree_order(): ps = [strat.reduction_strategy.cheap_reductions(p) for p in ps] ps = [p for p in ps if not p.is_zero()] if len(ps) > 0: min_deg = min((p.deg() for p in ps)) new_ps = [] for p in ps: if p.deg() <= min_deg: new_ps.append(p) else: strat.add_generator_delayed(p) ps = new_ps if prot: print("(", strat.npairs(), ")") if prot: print("start reducing") print("Chain Crit. : ", strat.chain_criterions, "VC:", strat. variable_chain_criterions, "EASYP", strat. easy_product_criterions, "EXTP", strat. extended_product_criterions) print(len(ps), "spolys added") if use_noro or use_faugere: v = BoolePolynomialVector() for p in ps: if not p.is_zero(): v.append(p) if use_noro: res = strat.noro_step(v) else: res = strat.faugere_step_dense(v) else: v = BoolePolynomialVector() for p in ps: p = Polynomial( mod_mon_set( BooleSet(p.set()), strat.reduction_strategy.monomials)) if not p.is_zero(): v.append(p) if len(v) > 100: res = parallel_reduce(v, strat, int(step_factor * 10), max_growth) else: if len(v) > 10: res = parallel_reduce(v, strat, int(step_factor * 30), max_growth) else: res = parallel_reduce(v, strat, int(step_factor * 100 ), max_growth) if prot: print("end reducing") if len(res) > 0 and res[0].ring().has_degree_order(): res_min_deg = min([p.deg() for p in res]) new_res = [] for p in res: if p.deg() == res_min_deg: new_res.append(p) else: strat.add_generator_delayed(p) res = new_res def sort_key(p): return p.lead() res_cp = sorted(res, key=sort_key) for p in res_cp: old_len = len(strat) add_to_basis(strat, p) if implications and old_len == len(strat) - 1: strat.implications(len(strat) - 1) if p.is_one(): if prot: print("GB is 1") return strat if prot: print("(", strat.npairs(), ")") strat.clean_top_by_chain_criterion() return strat except KeyboardInterrupt: #return strat raise def GPS(G, vars_start, vars_end): def step(strat, trace, var, val): print("plugin: ", var, val) print("npairs", strat.npairs()) strat = GroebnerStrategy(strat) print("npairs", strat.npairs()) strat.add_generator_delayed(Polynomial(Monomial(Variable(var, strat.r) ) + val)) strat = symmGB_F2_python(strat, prot=True, deg_bound=2, over_deg_bound=10) if var <= vars_start: strat = symmGB_F2_python(strat, prot=True, opt_lazy=False, redTail=False) if strat.containsOne(): pass else: if var <= vars_start: #bug: may contain Delayed polynomials print("!!!!!!! SOLUTION", trace) raise Exception #yield trace else: branch(strat, trace + [(var, val)], var - 1) def branch(strat, trace, var): while(strat.variableHasValue(var)): #remember to add value to trace var = var - 1 step(strat, trace, var, 0) step(strat, trace, var, 1) if G: strat = GroebnerStrategy(G[0].ring()) #strat.add_generator(G[0]) for g in G[:]: strat.add_generator_delayed(g) branch(strat, [], vars_end - 1) def GPS_with_proof_path(G, proof_path, deg_bound, over_deg_bound): def step(strat, trace, proof_path, pos, val): print(proof_path) print("plugin: ", pos, val, proof_path[pos]) print("npairs", strat.npairs()) strat = GroebnerStrategy(strat) print("npairs", strat.npairs()) print("npairs", strat.npairs()) plug_p = Polynomial(proof_path[pos]) + val plug_p_lead = plug_p.lead() if len(plug_p) == 2 and (plug_p + plug_p_lead).deg() == 0: for v in plug_p_lead: strat.add_generator_delayed(v + 1) else: strat.add_generator_delayed(plug_p) print("npairs", strat.npairs()) print("pos:", pos) strat = symmGB_F2_python(strat, deg_bound=deg_bound, opt_lazy=False, over_deg_bound=over_deg_bound, prot=True) print("npairs", strat.npairs()) pos = pos + 1 if pos >= len(proof_path): print("OVER") strat = symmGB_F2_python(strat, prot=True) if strat.containsOne(): pass else: if pos >= len(proof_path): print("npairs", strat.npairs()) print("minimized:") for p in strat.minimalize_and_tail_reduce(): print(p) #bug: may contain Delayed polynomials print("!!!!!!! SOLUTION", trace) raise Exception #yield trace else: branch(strat, trace + [(pos, val)], proof_path, pos) def branch(strat, trace, proof_path, pos): step(strat, trace, proof_path, pos, 0) step(strat, trace, proof_path, pos, 1) strat = GroebnerStrategy(G[0].ring()) strat.add_generator(Polynomial(G[0])) for g in G[1:]: strat.add_generator_delayed(Polynomial(g)) branch(strat, [], proof_path, 0) def GPS_with_suggestions(G, deg_bound, over_deg_bound, opt_lazy=True, opt_red_tail=True, initial_bb=True): def step(strat, trace, var, val): print(trace) plug_p = val + var print("plugin: ", len(trace), plug_p) trace = trace + [plug_p] strat = GroebnerStrategy(strat) strat.add_generator_delayed(plug_p) print("npairs", strat.npairs()) strat = symmGB_F2_python(strat, deg_bound=deg_bound, opt_lazy=opt_lazy, over_deg_bound=over_deg_bound, prot=True) #pos=pos+1 if not strat.containsOne(): branch(strat, trace) def branch(strat, trace): print("branching") index = strat.suggestPluginVariable() if index < 0: uv = set(used_vars_set(strat)) lv = set([next(iter(p.lead())).index() for p in strat if p. lead_deg() == 1]) candidates = uv.difference(lv) if len(candidates) > 0: index = next(iter(candidates)).index() if index >= 0: print("chosen index:", index) step(strat, trace, Polynomial(Monomial(Variable(index))), 0) step(strat, trace, Polynomial(Monomial(Variable(index))), 1) else: print("FINAL!!!", index) strat = symmGB_F2_python(strat, prot=True) if not strat.containsOne(): print("TRACE", trace) print("SOLUTION") for p in strat.minimalize_and_tail_reduce(): print(p) raise Exception def sort_crit(p): #return (p.deg(),p.lead(),p.elength()) return (p.lead(), p.deg(), p.elength()) if not G: return strat = GroebnerStrategy(G[0].ring()) strat.reduction_strategy.opt_red_tail = opt_red_tail # True strat.opt_exchange = False strat.opt_allow_recursion = False #strat.opt_red_tail_deg_growth=False strat.opt_lazy = opt_lazy #strat.opt_lazy=True first_deg_bound = 1 G = [Polynomial(p) for p in G] G.sort(key=sort_crit) higher_deg = {} if initial_bb: for g in G: print(g) index = strat.select(g.lead()) if p.deg() == 1: # (index<0): strat.add_as_you_wish(g) else: first_deg_bound = max(first_deg_bound, g.deg()) strat.add_generator_delayed(g) print(g, len(strat)) else: for g in G: strat.add_as_you_wish(g) if initial_bb: strat = symmGB_F2_python(strat, deg_bound=max(deg_bound, first_deg_bound), opt_lazy=opt_lazy, over_deg_bound=0, prot=True) strat.opt_lazy = opt_lazy print("INITIALIZED") branch(strat, []) def GPS_with_non_binary_proof_path(G, proof_path, deg_bound, over_deg_bound): def step(strat, trace, proof_path, pos, choice): print(proof_path) print("plugin: ", pos) print("npairs", strat.npairs()) strat = GroebnerStrategy(strat) print("npairs", strat.npairs()) print("npairs", strat.npairs()) for p in proof_path[pos][choice]: print(p) strat.add_generator_delayed(Polynomial(p)) print("npairs", strat.npairs()) print("pos:", pos) strat = symmGB_F2_python(strat, deg_bound=deg_bound, over_deg_bound=over_deg_bound, prot=True) print("npairs", strat.npairs()) pos = pos + 1 if pos >= len(proof_path): print("OVER") strat = symmGB_F2_python(strat) if strat.containsOne(): pass else: if pos >= len(proof_path): print("npairs", strat.npairs()) #strat.to_std_out() l = [p for p in strat] strat2 = symmGB_F2_python(l) #strat2.to_std_out() #bug: may contain Delayed polynomials print("!!!!!!! SOLUTION", trace) raise Exception #yield trace else: branch(strat, trace + [(pos, choice)], proof_path, pos) #workaround because of stack depth #step(strat,trace+[(var,val)],var-1, 0) #step(strat,trace+[(var,val)],var-1, 1) def branch(strat, trace, proof_path, pos): for i in range(len(proof_path[pos])): step(strat, trace, proof_path, pos, i) strat = GroebnerStrategy(G[0].ring()) strat.add_generator(G[0]) for g in G[1:]: strat.add_generator_delayed(g) branch(strat, [], proof_path, 0) def symmGB_F2_C(G, opt_exchange=True, deg_bound=1000000000000, opt_lazy=False, over_deg_bound=0, opt_red_tail=True, max_growth=2.0, step_factor=1.0, implications=False, prot=False, full_prot=False, selection_size=1000, opt_allow_recursion=False, use_noro=False, use_faugere=False, ll=False, opt_linear_algebra_in_last_block=True, max_generators=None, red_tail_deg_growth=True, modified_linear_algebra=True, matrix_prefix="", draw_matrices=False): #print implications if use_noro: raise NotImplementedError("noro not implemented for symmgb") if (isinstance(G, list)): if len(G) == 0: return [] G = [Polynomial(g) for g in G] strat = GroebnerStrategy(G[0].ring()) strat.reduction_strategy.opt_red_tail = opt_red_tail strat.enabled_log = prot strat.opt_lazy = opt_lazy strat.opt_exchange = opt_exchange strat.reduction_strategy.opt_ll = ll strat.opt_allow_recursion = opt_allow_recursion strat.opt_linear_algebra_in_last_block = ( opt_linear_algebra_in_last_block) strat.enabled_log = prot strat.opt_modified_linear_algebra = modified_linear_algebra strat.matrix_prefix = matrix_prefix strat.opt_draw_matrices = draw_matrices strat.reduction_strategy.opt_red_tail_deg_growth = red_tail_deg_growth #strat.add_generator(G[0]) strat.redByReduced = False # True #if PROT: # print "added first" for g in G: # [1:]: if not g.is_zero(): strat.add_generator_delayed(g) strat.symmGB_F2() return strat def normal_form(poly, ideal, reduced=True): """ Simple normal form computation of a polynomial against an ideal. >>> from brial import declare_ring, normal_form >>> r=declare_ring(['x','y'], globals()) >>> normal_form(x+y, [y],reduced=True) x >>> normal_form(x+y,[x,y]) 0 """ ring = poly.ring() strat = ReductionStrategy(ring) strat.opt_red_tail = reduced ideal = [Polynomial(p) for p in ideal if p != 0] ideal = sorted(ideal, key=Polynomial.lead) last = None for p in ideal: if p.lead() != last: strat.add_generator(p) else: warn("%s will not used for reductions" % p) last = p.lead() return strat.nf(poly) def _test(): import doctest doctest.testmod() if __name__ == "__main__": _test() BRiAl-1.2.12/sage-brial/brial/parallel.py000066400000000000000000000210011436062512100177650ustar00rootroot00000000000000# -*- python -*- # coding=utf-8 # parallel.py # PolyBoRi # # Created by Michael Brickenstein on 2008-10-31. # Copyright 2008 The PolyBoRi Team # from .PyPolyBoRi import if_then_else, CCuddNavigator, BooleSet from .PyPolyBoRi import (Polynomial, Ring, WeakRingRef, Monomial, Variable) from .gbcore import groebner_basis from zlib import compress, decompress try: import copy_reg as copyreg except ImportError: import copyreg def to_fast_pickable(l): """ to_fast_pickable(l) converts a list of polynomials into a builtin Python value, which is fast pickable and compact. INPUT: - a list of Boolean polynomials OUTPUT: It is converted to a tuple consisting of - codes referring to the polynomials - list of conversions of nodes. The nodes are sorted, that n occurs before n.else_branch(), n.then_branch() Nodes are only listed, if they are not constant. A node is converted in this way: 0 -> 0 1 -> 1 if_then_else(v,t,e) -> (v, index of then branch +2, index of else branch +2) The shift of +2 is for the constant values implicitly contained in the list. Each code c refers to the c-2-th position in the conversion list, if c >=2, else to the corresponding Boolean constant if c in {0, 1} EXAMPLES: >>> from brial.PyPolyBoRi import Ring >>> r=Ring(1000) >>> x=r.variable >>> to_fast_pickable([Polynomial(1, r)]) [[1], []] >>> to_fast_pickable([Polynomial(0, r)]) [[0], []] >>> to_fast_pickable([x(0)]) [[2], [(0, 1, 0)]] >>> to_fast_pickable([x(0)*x(1)+x(1)]) [[2], [(0, 3, 3), (1, 1, 0)]] >>> to_fast_pickable([x(1)]) [[2], [(1, 1, 0)]] >>> to_fast_pickable([x(0)+1]) [[2], [(0, 1, 1)]] >>> to_fast_pickable([x(0)*x(1)]) [[2], [(0, 3, 0), (1, 1, 0)]] >>> to_fast_pickable([x(0)*x(1)+x(1)]) [[2], [(0, 3, 3), (1, 1, 0)]] >>> to_fast_pickable([x(0)*x(1)+x(2)]) [[2], [(0, 3, 4), (1, 1, 0), (2, 1, 0)]] >>> p=x(5)*x(23) + x(5)*x(24)*x(59) + x(5) + x(6)*x(23)*x(89) + x(6)*x(60)*x(89) + x(23) + x(24)*x(89) + x(24) + x(60)*x(89) + x(89) + 1 >>> from_fast_pickable(to_fast_pickable([p]), r)==[p] True >>> to_fast_pickable([x(0)*x(1), Polynomial(0, r), Polynomial(1, r), x(3)]) [[2, 0, 1, 4], [(0, 3, 0), (1, 1, 0), (3, 1, 0)]] """ if len(l) == 0: return [[], []] f = l[0] f = f.set() r = f.ring() one = r.one().navigation() zero = r.zero().navigation() nodes = set() def find_navs(nav): if not nav in nodes and not nav.constant(): nodes.add(nav) find_navs(nav.then_branch()) find_navs(nav.else_branch()) for f in l: f_nav = f.set().navigation() find_navs(f_nav) nodes_sorted = sorted(nodes, key=CCuddNavigator.value) nodes2i = {one: 1, zero: 0} for (i, n) in enumerate(nodes_sorted): nodes2i[n] = i + 2 for i in range(len(nodes_sorted)): n = nodes_sorted[i] t = nodes2i[n.then_branch()] e = nodes2i[n.else_branch()] nodes_sorted[i] = (n.value(), t, e) return [[nodes2i[f.set().navigation()] for f in l], nodes_sorted] def from_fast_pickable(l, r): """from_fast_pickable(l, ring) undoes the operation to_fast_pickable. The first argument is an object created by to_fast_pickable. For the specified format, see the documentation of to_fast_pickable. The second argument is ring, in which this polynomial should be created. INPUT: see OUTPUT of to_fast_pickable OUTPUT: a list of Boolean polynomials EXAMPLES: >>> from brial.PyPolyBoRi import Ring >>> r=Ring(1000) >>> x = r.variable >>> from_fast_pickable([[1], []], r) [1] >>> from_fast_pickable([[0], []], r) [0] >>> from_fast_pickable([[2], [(0, 1, 0)]], r) [x(0)] >>> from_fast_pickable([[2], [(1, 1, 0)]], r) [x(1)] >>> from_fast_pickable([[2], [(0, 1, 1)]], r) [x(0) + 1] >>> from_fast_pickable([[2], [(0, 3, 0), (1, 1, 0)]], r) [x(0)*x(1)] >>> from_fast_pickable([[2], [(0, 3, 3), (1, 1, 0)]], r) [x(0)*x(1) + x(1)] >>> from_fast_pickable([[2], [(0, 3, 4), (1, 1, 0), (2, 1, 0)]], r) [x(0)*x(1) + x(2)] >>> from_fast_pickable([[2, 0, 1, 4], [(0, 3, 0), (1, 1, 0), (3, 1, 0)]], r) [x(0)*x(1), 0, 1, x(3)] """ i2poly = {0: r.zero(), 1: r.one()} (indices, terms) = l for i in reversed(range(len(terms))): (v, t, e) = terms[i] t = i2poly[t] e = i2poly[e] terms[i] = if_then_else(v, t, e) i2poly[i + 2] = terms[i] return [Polynomial(i2poly[i]) for i in indices] def _calculate_gb_with_keywords(args): (I, kwds_as_single_arg) = args import traceback try: return groebner_basis(I, **kwds_as_single_arg) except: raise ValueError(traceback.format_exc()) def _decode_polynomial(code): return from_fast_pickable(*code)[0] def _encode_polynomial(poly): return (to_fast_pickable([poly]), poly.ring()) def pickle_polynomial(self): return (_decode_polynomial, (_encode_polynomial(self), )) copyreg.pickle(Polynomial, pickle_polynomial) def pickle_bset(self): return (BooleSet, (Polynomial(self), )) copyreg.pickle(BooleSet, pickle_bset) def pickle_monom(self): return (Monomial, ([var for var in self.variables()], )) copyreg.pickle(Monomial, pickle_monom) def pickle_var(self): return (Variable, (self.index(), self.ring())) copyreg.pickle(Variable, pickle_var) def _decode_ring(code): import os (identifier, data, varnames, blocks) = code global _polybori_parallel_rings try: _polybori_parallel_rings except NameError: _polybori_parallel_rings = dict() for key in [key for key in _polybori_parallel_rings if not _polybori_parallel_rings[key][0]()]: del _polybori_parallel_rings[key] if identifier in _polybori_parallel_rings: ring = _polybori_parallel_rings[identifier][0]() else: ring = None if not ring: varnames = decompress(varnames).split('\n') (nvars, ordercode) = data ring = Ring(nvars, ordercode, names=varnames, blocks=blocks) storage_data = (WeakRingRef(ring), code) _polybori_parallel_rings[identifier] = storage_data _polybori_parallel_rings[(ring.id(), os.getpid())] = storage_data return ring def _encode_ring(ring): import os identifier = (ring.id(), os.getpid()) global _polybori_parallel_rings try: _polybori_parallel_rings except NameError: _polybori_parallel_rings = dict() for key in [key for key in _polybori_parallel_rings if not _polybori_parallel_rings[key][0]()]: del _polybori_parallel_rings[key] if identifier in _polybori_parallel_rings: code = _polybori_parallel_rings[identifier][1] else: nvars = ring.n_variables() data = (nvars, ring.get_order_code()) varnames = '\n'.join([str(ring.variable(idx)) for idx in range(nvars) ]) blocks = list(ring.blocks()) code = (identifier, data, compress(varnames), blocks[:-1]) _polybori_parallel_rings[identifier] = (WeakRingRef(ring), code) return code def pickle_ring(self): return (_decode_ring, (_encode_ring(self), )) copyreg.pickle(Ring, pickle_ring) def groebner_basis_first_finished(I, *l): """ INPUT: - I ideal - l: keyword dictionaries, which will be keyword arguments to groebner_basis. OUTPUT: - tries to compute groebner_basis(I, **kwd) for kwd in l - returns the result of the first terminated computation EXAMPLES: >>> from brial.PyPolyBoRi import Ring >>> r=Ring(1000) >>> ideal = [r.variable(1)*r.variable(2)+r.variable(2)+r.variable(1)] >>> #groebner_basis_first_finished(ideal, dict(heuristic=True), dict(heuristic=False)) [x(1), x(2)] """ if not I: return [] try: from multiprocessing import Pool except: from processing import Pool pool = Pool(processes=len(l)) it = pool.imap_unordered(_calculate_gb_with_keywords, [(I, kwds) for kwds in l]) res = next(it) pool.terminate() return res def _test(): import doctest doctest.testmod() if __name__ == "__main__": _test() BRiAl-1.2.12/sage-brial/brial/parsegat.py000066400000000000000000000437071436062512100200200ustar00rootroot00000000000000from __future__ import print_function #import pathadjuster if __name__ == '__main__': from sys import path as search_path from os import path as file_path search_path.append(file_path.join(file_path.dirname(__file__), '..')) def _exists(): """PolyBoRi convention: checking optional components for prerequisites here >>> _exists() True """ try: import pyparsing except ImportError: return False return True #from .gbrefs import declare_ring from . import * from .ll import ll_encode from optparse import OptionParser from .statistics import used_vars_set from itertools import chain try: from cStringIO import StringIO except ImportError: from io import StringIO from sys import stderr parser = OptionParser() gat_max = 20000 next_max = 2000 output_max = 2000 inter_max = 20000 input_max = 2000 state_max = 2000 # declare_ring([Block("x",gat_max),Block("xnext",next_max,reverse = # True),Block("xoutput",output_max,reverse = # True),Block("xinter",inter_max,reverse = # True),Block("xinput",input_max,reverse = # True),Block("xstate",state_max,reverse = True)],globals()) input order is # antitopological we reverse, when mapping to final variables parser.add_option("--forward-iteration", action="store_true", dest="forward", default=True, help="switch between forward and backward iteration") parser.add_option("--backward-iteration", action="store_false", dest="forward", default=True, help="switch between forward and backward iteration") parser.add_option("--include-outputs", action="store_true", dest="include_outputs", default=True, help="include circuit outputs") parser.add_option("--initialize-state", action="store", dest="initialize", default="noinit", type="choice", choices=["noinit", "random", "zero"], help="initialize state variables/only useful with forward iteration") def parse_identifier(str, log, tokens): return int(tokens[0]) def throw_away(str, log, tokens): return "None" assigned = set() from random import Random def add_negated(str, log, tokens): p = tokens[1] l = p.lead() if not l in assigned and r.randint(0, 200) == 0: assigned.add(l) print("NEG", p + 1) return p + 1 else: return "NONE" class FamiliarityException(Exception): """docstring for FamiliarityException""" def __init__(self): super(FamiliarityException, self).__init__() def fix_symbol_name(str, log, tokens): return (tokens[0].replace("-", "_").replace("]", "").replace("[", ""). replace("/", "_")) class DeterminingEquation(object): """docstring for DeterminingEquation""" def __init__(self, variable, mapped_to): super(DeterminingEquation, self).__init__() self.variable = variable self.mapped_to = mapped_to def _get_equation(self): return self.variable + self.mapped_to equation = property(_get_equation) # be careful: for next state/output we directly generate mapped_to + value # instead of introducing a variable and mapping it later class VariableManager(object): """docstring for VariableManager""" def __init__(self, ring, prefix="", initialize="noinit", **kwd): super(VariableManager, self).__init__() self.ring = ring self.output = [] self.input = [] self.state = [] self.next = [] self.deletion_candidates = [] self.intermediate = [] self.next_state_equations = [] self.intermediate_equations = [] self.__map = dict() self.prefix = prefix self.initialize = initialize self.ands = dict() self.xors = dict() self.tails = [] for (k, v) in kwd.items(): setattr(self, k, v) def gauss(self, determining_equations): l = [] res = [] output_set = set(self.output) for p in determining_equations: eq = p.equation if not p.variable in output_set and eq.deg() == 1: assert eq.lead() == p.variable l.append(eq) self.deletion_candidates.append(p.variable) else: res.append(p) l = gauss_on_polys(l) for p in l: res.append(DeterminingEquation(p.lead(), p + p.lead())) return res def ideals(self): def sort_key(p): return p.navigation().value() def my_sort(l): return sorted(l, key=sort_key) #self.intermediate_equations = self.gauss(self.intermediate_equations) tail_variables = set(used_vars_set([e.mapped_to for e in chain(self. next_state_equations, self.intermediate_equations)]).variables()) to_delete = [] for v in self.deletion_candidates: if not v in tail_variables: to_delete.append(v) to_delete = set(to_delete) self.intermediate_equations = [e for e in self.intermediate_equations if not e.variable in to_delete] # we don't delete the variable itself, as we will confuse # gluemultipliers,that looks on the lengths of self.intermediate... def equations(determining_equations): return [e.equation for e in determining_equations] ideal_state = [] ideal_next_state = equations(self.next_state_equations) ideal_intermediate = equations(self.intermediate_equations) if self.initialize != "noinit": if self.initialize == "zero": initializer = zero_fun else: initializer = random_bit for v in variables: if str(v)[:1] == "s": ideal_state.append(v + initializer()) return [ my_sort(self.apply_map(i)) for i in (ideal_state, ideal_intermediate, ideal_next_state)] def set_variable_name(self, i, name): _set_variable_name(self.ring, i, self.prefix + name) def parse_output_action(self, str, log, tokens): p = Polynomial(tokens[1]) #self.output.append(p) #mapped_to = xoutput(len(self.output)-1) mapped_to = self.xoutput(len(self.output)) self.output.append(mapped_to) self.set_variable_name(mapped_to.index(), "out_" + tokens[2]) self.tails.append(p) if self.include_outputs: self.intermediate_equations.append(DeterminingEquation(mapped_to, p)) return mapped_to + p else: return "NONE" def parse_buffer_action(self, str, log, tokens): return "NONE" def parse_next_state_action(self, str, log, tokens): p = Polynomial(tokens[1]) #self.next.append(p) #mapped_to = xnext(len(self.next)-1) mapped_to = self.xnext(len(self.next)) self.next.append(mapped_to) self.set_variable_name(mapped_to.index(), "nstate_" + tokens[2]) self.next_state_equations.append(DeterminingEquation(mapped_to, p)) self.tails.append(p) return mapped_to + p def parse_state_action(self, str, log, tokens): p = self.x(tokens[0]) #self.state.append(p) #mapped_to = xstate(len(self.state)-1) mapped_to = self.xstate(len(self.state)) self.state.append(mapped_to) self.set_variable_name(mapped_to.index(), "state_" + tokens[2]) self.map(p, mapped_to) return "NONE" def parse_input_action(self, str, log, tokens): p = self.x(tokens[0]) #self.input.append(p) #mapped_to = xinput(len(self.input)-1) mapped_to = self.xinput(len(self.input)) self.input.append(mapped_to) self.set_variable_name(mapped_to.index(), "in_" + tokens[2]) self.map(p, mapped_to) return "NONE" def evaluates_to_variables(self, signal): ands = self.ands[signal] return list( used_vars_set(ands).variables()) def eval_and_gat(self, lit, inputs=None): if inputs is None: inputs = self.ands[lit.lex_lead()] assert len(inputs) > 0 res = inputs[0] for i in inputs[1:]: res = res * i if lit.has_constant_part(): res = res + 1 return res def simplified_product(self, out, op1, op2): if op1.deg() == 1 and op2.deg() == 1: op1v = op1.lex_lead() op2v = op2.lex_lead() if op1v not in self.xors \ and op2v not in self.xors \ and op1v in self.ands \ and op2v in self.ands: mapped_to = [p for p in chain(self.ands[op1v], self.ands[op2v])] for p in mapped_to: if p.deg() != 1: return op1 * op2 mapped_to = set([p.lex_lead() for p in mapped_to]) #print >>stderr, op1, op2, mapped_to if len(mapped_to) <= 2: #xor pattern self.deletion_candidates.extend([op1v, op2v]) assert op1.vars_as_monomial().deg() == 1 assert op2.vars_as_monomial().deg() == 1 op1 = self.eval_and_gat(op1) op2 = self.eval_and_gat(op2) outer_res = self.eval_and_gat(out, [op1, op2]) self.xors[out] = outer_res else: try: for (op1, op1v, op2, op2v) in \ [(op1, op1v, op2, op2v), (op2, op2v, op1, op1v)]: (op1e, op2e) = [ self.evaluates_to_variables(left_parent) for left_parent in (op1v, op2v)] for (i, s) in enumerate(op2e): if s in self.xors or s not in self.ands: continue if self.evaluates_to_variables(s) == op1e: raise FamiliarityException() except FamiliarityException: op1 = self.eval_and_gat(op1) op2_inputs = list(self.ands[op2v]) for (i, s2) in enumerate(op2_inputs): if s2.lex_lead() == s: op2_inputs[i] = self.eval_and_gat(s2) op2 = self.eval_and_gat(op2, inputs=op2_inputs) self.deletion_candidates.extend((s, op1v, op2v)) else: # pattern # 34 AND ~16 ~15 # 35 AND 14 34 # 36 AND 16 15 # 37 AND ~14 36 # 38 AND ~37 ~35 try: (op1a, op2a) = [self.ands.get(v) for v in (op1v, op2v)] assert len(op1a) == 2 assert len(op2a) == 2 print("+", file=stderr) for op1a in [[op1a[0], op1a[1]], op1a]: for op2a in [[op2a[0], op2a[1]], op2a]: print(op1a[0], op2a[0], file=stderr) if op1a[0] == op2a[0] + 1: print("-", file=stderr) if op1a[1] in self.ands and \ op2a[1] in self.ands and \ op1a[1] not in self.xors \ and op2a[1] not in self.xors: if set(self.ands[op1a[1]]) == set([1 + s for s in self.ands[op2a[1]]]): raise FamiliarityException except FamiliarityException: self.deletion_candidates.extend([op1v, op2v, op2a[1]. lex_lead(), op1a[1].lex_lead()]) for group in (op2a, op1a): group[1] = self.eval_and_gat(group[1]) (op1, op2) = [ self.eval_and_gat(op, inputs) for (op, inputs) in [(op1, op1a), (op2, op2a)]] return op1 * op2 def parse_and_action(self, string, log, tokens): inter = self.x(tokens[0]) op1 = tokens[2] op2 = tokens[3] #self.intermediate.append(inter) #mapped_to = xinter(len(self.intermediate)-1) mapped_to = self.xinter(len(self.intermediate)) self.ands[inter] = (op1, op2) self.intermediate.append(mapped_to) self.set_variable_name(mapped_to.index(), "y" + str(tokens[0])) self.map(inter, mapped_to) tail = self.simplified_product(inter, op1, op2) self.tails.append(tail) eq = inter + tail self.intermediate_equations.append(DeterminingEquation(inter, tail)) return eq def map(self, from_, to): self.__map[from_] = to def apply_map(self, eq): encoded = ll_encode((k + v for (k, v) in self.__map.items())) return [ll_red_nf_noredsb(p, encoded) for p in eq] def parse_sign(self, str, log, tokens): if list(tokens) != [0]: return [1] else: return tokens def parse_idenfifier_ref(self, str, log, tokens): if tokens[1] in (0, 1): #from sys import stderr #stderr.write("TOKENS:"+repr(tokens)) #stderr.flush() return Polynomial(tokens[0] + tokens[1]) return tokens[0] + self.x(tokens[1]) def generate_gat_bnf(manager): from pyparsing import (Literal, CaselessLiteral, Word, Combine, Group, Optional, ZeroOrMore, Forward, nums, alphas, Or, restOfLine, OneOrMore, restOfLine, alphanums) identifier = Word(nums).setParseAction(parse_identifier) symbolic_name = (Word(alphanums + "_-[]/", alphanums + "_-[]/")). \ setParseAction(fix_symbol_name) meta = ZeroOrMore( Or( [ CaselessLiteral("WRITER"), CaselessLiteral("DESIGN"), CaselessLiteral("ORIGIN")]) + restOfLine) end = CaselessLiteral("END") and_ = CaselessLiteral("AND") input_ = CaselessLiteral("INPUT") state = CaselessLiteral("STATE") nstate = CaselessLiteral("NSTATE") output = CaselessLiteral("OUTPUT") buffer_ = CaselessLiteral("BUFFER") identifier_ref = \ (Optional(Literal("~"), default=0).setParseAction( manager.parse_sign) + identifier).setParseAction( manager.parse_idenfifier_ref) input_line = (identifier + input_ + symbolic_name).setParseAction(manager. parse_input_action) and_line = (identifier + and_ + identifier_ref + identifier_ref). \ setParseAction(manager.parse_and_action) buffer_line = (buffer_ + identifier_ref + symbolic_name).setParseAction( manager.parse_buffer_action) output_line = (output + identifier_ref + symbolic_name).setParseAction( manager.parse_output_action) state_line = (identifier + state + symbolic_name).setParseAction(manager. \ parse_state_action) nstate_line = (nstate + identifier_ref + symbolic_name).setParseAction( manager.parse_next_state_action) assignment = Or([output_line, and_line, input_line, state_line, nstate_line, buffer_line]) gat = meta + OneOrMore(assignment) + end return gat generator = Random(123) def parse(f, manager): f = open(f) content = f.read() bnf = generate_gat_bnf(manager) parsed = bnf.parseString(content) f.close() def zero_fun(): return 0 def random_bit(): return generator.randint(0, 1) def format_grouped(l, group_size=10, indent=0): s = StringIO() s.write("[") last = len(l) - 1 for (i, e) in enumerate(l): if i % group_size == 0: s.write("\n" + indent * " ") s.write(e) if i != last: s.write(", ") s.write("]") return s.getvalue() def generate_three_ideal_output(ideal_state, ideal_intermediate, ideal_next_state, variables): print("declare_ring(" + format_grouped([repr(str(v)) for v in variables], indent=4) + ")") print("block_start_hints=" + repr(block_starts)) print("ideal_intermediate=[") print(",\n".join((str(p) for p in ideal_intermediate))) print("]") print("ideal_state=[") print(",\n".join((str(p) for p in ideal_state))) print("]") print("ideal_next_state=[") print(",\n".join((str(p) for p in ideal_next_state))) print("]") print("ideal = ideal_state+ideal_next_state+ideal_intermediate") if __name__ == '__main__': (options, args) = parser.parse_args() kwd_args = dict() ring = declare_ring([ "t", Block("x", gat_max, reverse=True), Block("xnext", next_max, reverse=True), Block("xoutput", output_max, reverse=True), Block("xinter", inter_max, reverse=True), Block("xinput", input_max, reverse=True), Block("xstate", state_max, reverse=True)], kwd_args) manager = VariableManager(ring=ring, include_outputs=options. include_outputs, initialize=options.initialize, **kwd_args) from sys import argv f = args[0] parse(f, manager) (ideal_state, ideal_intermediate, ideal_next_state) = manager.ideals() ideal = ideal_state + ideal_intermediate + ideal_next_state variables = [] used_vars = set(used_vars_set(ideal).variables()) if not options.forward: variables = list(chain(reversed(manager.next), reversed(manager.output ), reversed(manager.intermediate), reversed(manager.input), reversed(manager.state))) else: variables = list( chain(reversed(manager.output), reversed(manager.intermediate), reversed(manager.input), reversed(manager.state), reversed(manager.next))) variables = ["t"] + variables beginnings = [str(v)[:1] for v in variables] block_starts = [] last = beginnings[0] for (i, s) in enumerate(beginnings): if s != last: block_starts.append(i) last = s generate_three_ideal_output(ideal_state, ideal_intermediate, ideal_next_state, variables) BRiAl-1.2.12/sage-brial/brial/partial.py000066400000000000000000000027361436062512100176430ustar00rootroot00000000000000from . import BooleSet, interpolate_smallest_lex class PartialFunction(object): """docstring for PartialFunction""" def __init__(self, zeros, ones): super(PartialFunction, self).__init__() self.zeros = zeros.set() self.ones = ones.set() def interpolate_smallest_lex(self): return interpolate_smallest_lex(self.zeros, self.ones) def __str__(self): return "PartialFunction(zeros=" + str(self.zeros) + ", ones=" + str( self.ones) + ")" def definedOn(self): return self.zeros.union(self.ones) def __add__(self, other): domain = self.definedOn().intersect(other.definedOn()) zeros = self.zeros.intersect(other.zeros).union(self.ones.intersect( other.ones)) ones = self.zeros.intersect(other.ones).union(self.ones.intersect( other.zeros)) assert zeros.diff(domain).empty() assert ones.diff(domain).empty() return PartialFunction(zeros, ones) def __repr__(self): return str(self) def __mul__(self, other): zeros = self.zeros.union(other.zeros) ones = self.ones.intersect(other.ones) return PartialFunction(zeros, ones) def __or__(self, other): zeros = self.zeros.intersect(other.zeros) ones = self.ones.union(other.ones) return PartialFunction(zeros, ones) def __xor__(self, other): return self + other def __and__(self, other): return self * other BRiAl-1.2.12/sage-brial/brial/plot.py000066400000000000000000000156321436062512100171640ustar00rootroot00000000000000# -*- python -*- # encoding: utf-8 """ plot.py Created by Michael Brickenstein on 2008-10-17. Copyright (c) 2008 The PolyBoRi Team. """ def _exists(): """PolyBoRi convention: checking optional components for prerequisites here >>> _exists() True """ try: import jinja2 except ImportError: try: import jinja except ImportError: return False try: from subprocess import Popen, PIPE from os import devnull out = open(devnull) process = Popen(["dot", "-V"], stderr=out, stdout=out) out.close() except: return False return True import sys import os from .PyPolyBoRi import Ring, Polynomial, BooleSet from subprocess import Popen, PIPE graph_template = """ digraph polynomial{ graph [ ordering="out" #if highlight_monomial , label = "${display_monomial(highlight_monomial)}" #end , fontsize=${fontsize} ]; #for n in nodes ${identifier(n)}[label="${label(n)}", shape="${shape(n)}"]; #end #for n in non_constant_nodes ${identifier(n)} -> ${identifier(n.else_branch())} [style="dashed", color="${color_else}", arrowhead="vee", penwidth="${penwidth_else(n)}"]; ${identifier(n)} -> ${identifier(n.then_branch())} [color="${color_then}", arrowhead="vee", penwidth="${penwidth_then(n)}"]; #end } """ graph_template_jinja = """ digraph polynomial{ {% if landscape %} rankdir=LR; {% endif %} graph [ ordering="out" {% if highlight_monomial %} , label = "{{display_monomial(highlight_monomial)}}" {% endif %} , fontsize={{fontsize}} ]; {% for n in nodes %} {{identifier(n)}}[label="{{label(n)}}", shape="{{shape(n)}}"]; {% endfor %} {% for n in non_constant_nodes %} {{identifier(n)}} -> {{identifier(n.else_branch())}} [style="dashed", color="{{color_else}}", arrowhead="vee", penwidth="{{penwidth_else(n)}}"]; {{identifier(n)}} -> {{identifier(n.then_branch())}} [color="{{color_then}}", arrowhead="vee", penwidth="{{penwidth_then(n)}}"]; {% endfor %} } """ ELSE = "else" THEN = "then" def render_genshi(data_dict): from genshi.template import TextTemplate tmpl = TextTemplate(graph_template) stream = tmpl.generate(**data_dict) return str(stream) def render_jinja(data_dict): try: from jinja2 import Environment except: from jinja import Environment env = Environment() tmpl = env.from_string(graph_template_jinja) return tmpl.render(**data_dict) def monomial_path_in_zdd(mon, graph): res = [] if not mon in BooleSet(graph): raise ValueError graph_nav = BooleSet(graph).navigation() mon_nav = BooleSet(mon).navigation() while not mon_nav.constant(): while graph_nav.value() < mon_nav.value(): res.append((graph_nav, ELSE)) graph_nav = graph_nav.else_branch() assert mon_nav.value() == graph_nav.value() res.append((graph_nav, THEN)) mon_nav = mon_nav.then_branch() graph_nav = graph_nav.then_branch() while not graph_nav.constant(): res.append((graph_nav, ELSE)) graph_nav = graph_nav.else_branch() return dict(res) def plot(p, filename, colored=True, format="png", highlight_monomial=None, fontsize=14, template_engine='jinja', landscape=False ): """plots ZDD structure to in format EXAMPLES: >>> r=Ring(1000) >>> x = r.variable >>> plot(x(1)+x(0),"/dev/null", colored=True) >>> plot(x(1)+x(0),"/dev/null", colored=False) """ THICK_PEN = 5 highlight_path = dict() if highlight_monomial: highlight_path = monomial_path_in_zdd(highlight_monomial, p) def display_monomial(m): try: return unicode(m).replace(u"*", u".") except NameError: return str(m).replace("*", "⋅") def penwidth_else(n): if n in highlight_path and highlight_path[n] == ELSE: return THICK_PEN return 1 def penwidth_then(n): if n in highlight_path and highlight_path[n] == THEN: return THICK_PEN return 1 if not colored: color_then = "black" color_else = "black" else: color_then = "red" color_else = "blue" def find_navs(nav): if not nav in nodes: nodes.add(nav) if not nav.constant(): find_navs(nav.then_branch()) find_navs(nav.else_branch()) p = Polynomial(p) nodes = set() nav = p.navigation() find_navs(nav) non_constant_nodes = [n for n in nodes if not n.constant()] node_to_int = dict([(n, i) for (i, n) in enumerate(nodes)]) r = p.ring() def identifier(n): return "n" + str(node_to_int[n]) def label(n): if n.constant(): if n.terminal_one(): return "1" else: return "0" else: return str(r.variable(n.value())) def shape(n): if n.constant(): return "box" else: return "ellipse" renderers = dict(genshi=render_genshi, jinja=render_jinja) dot_input = renderers[template_engine](locals()) if not isinstance(dot_input, bytes): dot_input = dot_input.encode('utf-8') process = Popen(["dot", "-T" + format, "-o", filename], stdin=PIPE, stdout=PIPE) process.stdin.write(dot_input) process.stdin.close() process.wait() def main(): r = Ring(1000) x = Variable = VariableFactory(r) from os import system from .specialsets import all_monomials_of_degree_d, power_set full_set = list(power_set([Variable(i) for i in range(15)])) from random import Random generator = Random(123) random_set = sum(generator.sample(full_set, 30)) full_polynomial = list(all_monomials_of_degree_d(3, [Variable(i) for i in range(30)])) random_poly = sum(generator.sample(full_polynomial, 30)) polynomials = [ x(1) * x(2) + x(3), (x(1) + 1) * (x(2) + x(3)), (x(1) + 1) * (x(2) + 1) * (x(3) + 1), x(1) * x(2) + x(2) * x(3) + x(1) * x(3) + x(1), x(0) + x(1) + x(2) + x(3) + x(4) + x(5), all_monomials_of_degree_d(3, [x(i) for i in range(10)]), power_set([x(i) for i in range(10)]), random_poly, random_set, Polynomial(all_monomials_of_degree_d(3, [x(i) for i in range(10)])) + Polynomial(power_set([x(i) for i in range(10)])), Polynomial(power_set([x(i) for i in range(10)])) + 1 ] for colored in [True, False]: if colored: colored_suffix = "_colored" else: colored_suffix = "" for format in ["png", "svg"]: for (i, p) in enumerate(polynomials): #dot_file=str(i) +colored_suffix+".dot" #f=open(dot_file, "w") #f.write(dot) #f.close() out_file = str(i) + colored_suffix + "." + format plot(p, out_file, colored=colored, format=format) #system("dot -Tpng -o "+png_file+" " + dot_file) if __name__ == '__main__': main() BRiAl-1.2.12/sage-brial/brial/randompoly.py000066400000000000000000000065061436062512100203720ustar00rootroot00000000000000from .PyPolyBoRi import Monomial, random_set, Polynomial, \ set_random_seed, Ring, ll_red_nf_redsb, Variable from .ll import ll_encode from random import Random from pprint import pprint, pformat from .blocks import declare_ring def gen_random_poly(ring, l, deg, vars_set, seed=123): myrange = vars_set r = Random(seed) def helper(samples): if samples == 0: return Polynomial(ring.zero()) if samples == 1: d = r.randint(0, deg) variables = r.sample(myrange, d) m = Monomial(ring) for v in sorted(set(variables), reverse=True): m = m * Variable(v, ring) return Polynomial(m) assert samples >= 2 return helper(samples / 2) + helper(samples - samples / 2) p = Polynomial(ring.zero()) while(len(p) < l): p = Polynomial(p.set().union(helper(l - len(p)).set())) return p def sparse_random_system(ring, number_of_polynomials, variables_per_polynomial, degree, random_seed=None): """ generates a system, which is sparse in the sense, that each polynomial contains only a small subset of variables. In each variable that occurrs in a polynomial it is dense in the terms up to the given degree (every term occurs with probability 1/2). The system will be satisfiable by at least one solution. >>> from brial import * >>> r=Ring(10) >>> s=sparse_random_system(r, number_of_polynomials = 20, variables_per_polynomial = 3, degree=2, random_seed=123) >>> [p.deg() for p in s] [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2] >>> sorted(groebner_basis(s), reverse=True) [x(0), x(1), x(2), x(3), x(4) + 1, x(5), x(6) + 1, x(7), x(8) + 1, x(9)] """ if random_seed is not None: set_random_seed(random_seed) random_generator = Random(random_seed) solutions = [] variables = [ring.variable(i) for i in range(ring.n_variables())] for v in variables: solutions.append(v + random_generator.randint(0, 1)) solutions = ll_encode(solutions) res = [] while len(res) < number_of_polynomials: variables_as_monomial = Monomial( random_generator.sample( variables, variables_per_polynomial) ) p = Polynomial(random_set(variables_as_monomial, 2 ** ( variables_per_polynomial - 1))) p = sum([p.graded_part(i) for i in range(degree + 1)]) if p.deg() == degree: res.append(p) res = [p + ll_red_nf_redsb(p, solutions) for p in res] # evaluate it to guarantee a solution return res def sparse_random_system_data_file_content( number_of_variables, **kwds): r""" >>> sparse_random_system_data_file_content(10, number_of_polynomials = 5, variables_per_polynomial = 3, degree=2, random_seed=123) # doctest: +ELLIPSIS "declare_ring(['x'+str(i) for in xrange(10)])\nideal=\\\n[...]\n\n" """ dummy_dict = dict() r = declare_ring(['x' + str(i) for i in range(number_of_variables)], dummy_dict) polynomials = sparse_random_system(r, **kwds) polynomials = pformat(polynomials) res = "declare_ring(['x'+str(i) for in xrange(%s)])\nideal=\\\n%s\n\n" % ( number_of_variables, polynomials) return res def _test(): import doctest doctest.testmod() if __name__ == "__main__": _test() BRiAl-1.2.12/sage-brial/brial/rank.py000066400000000000000000000012161436062512100171320ustar00rootroot00000000000000def input_signals(p): return list((p + p.lex_lead()).vars_as_monomial().variables()) def output_signal(p): return next(iter(p.lex_lead().variables())) def rank(data): parents = dict() res = dict() for p in data: # print p, output_signal(p) out = output_signal(p) parents.setdefault(out, []) for v in input_signals(p): parents.setdefault(v, []).append(out) def do_rank(v): if v in res: return res[v] my_res = res[v] = max([do_rank(p) + 1 for p in parents[v]] + [0]) return my_res for v in parents.keys(): do_rank(v) return res BRiAl-1.2.12/sage-brial/brial/simplebb.py000066400000000000000000000041201436062512100177710ustar00rootroot00000000000000from .PyPolyBoRi import * from .interred import interred def buchberger(l): "calculates a (non minimal) Groebner basis" l = interred(l) #for making sure, that every polynomial has a different leading term #needed for add_generator if not l: return [] g = GroebnerStrategy(l[0].ring()) for p in l: g.add_generator(p) while g.npairs() > 0: g.clean_top_by_chain_criterion() p = g.next_spoly() p = g.nf(p) if not p.is_zero(): g.add_generator(p) return list(g) def less_than_n_solutions(ideal, n): l = interred(ideal) if not l: return False g = GroebnerStrategy(l[0].ring()) all_monomials = Monomial([Variable(i) for i in range(number_of_variables())]).divisors() monomials_not_in_leading_ideal = all_monomials for p in l: g.add_generator(p) while g.npairs() > 0: monomials_not_in_leading_ideal = monomials_not_in_leading_ideal \ % g.reduction_strategy.minimal_leading_terms if len(monomials_not_in_leading_ideal) < n: return True g.clean_top_by_chain_criterion() p = g.next_spoly() p = g.nf(p) if not p.is_zero(): g.add_generator(p) monomials_not_in_leading_ideal = monomials_not_in_leading_ideal \ % g.reduction_strategy.minimal_leading_terms if len(monomials_not_in_leading_ideal) < n: return True else: return False def gauss(matrix): """Toy Gaussian elimination. Example: gauss([[0,1],[1,1]]) """ from .gbcore import groebner_basis def get_num(idx, vars): if idx in [var.index() for var in vars.variables()]: return 1 return 0 nrows = len(matrix) ncols = len(matrix[0]) eqs = [sum([matrix[row][col] * Variable(col) for col in range(ncols)]) for row in range(nrows)] result = groebner_basis(eqs) result = result + [BooleConstant(0)] * (nrows - len(result)) return [[get_num(idx, elt.set().vars()) for idx in range(ncols)] for elt in result] return result BRiAl-1.2.12/sage-brial/brial/specialsets.py000066400000000000000000000066561436062512100205330ustar00rootroot00000000000000from .PyPolyBoRi import (BooleSet, Polynomial, mod_mon_set, if_then_else, Monomial, top_index, BooleConstant) #def all_monomials_of_degree_d(d,variables): # res=all_monomials_of_degree_d_new(d, variables) # ref=all_monomials_of_degree_d_old(d, variables) # assert res==ref, (d, variables) # return res def all_monomials_of_degree_d_old(d, variables): if d == 0: return BooleConstant(1) if not variables: return [] variables = sorted(set(variables), reverse=True, key=top_index) m = variables[-1] for v in variables[:-1]: m = v + m m = m.set() i = 0 res = Polynomial(variables[0].ring().one()).set() while(i < d): i = i + 1 res = res.cartesian_product(m).diff(res) return res def all_monomials_of_degree_d(d, variables): variables = Monomial(variables) variables = list(variables.variables()) if not variables: assert d == 0 return BooleConstant(1) ring = variables[0].ring() if d > len(variables): return Polynomial(0, ring) if d < 0: return Polynomial(1, ring) deg_variables = variables[-d:] #this ensures sorting by indices res = Monomial(deg_variables) for i in range(1, len(variables) - d + 1): deg_variables = variables[-d - i:-i] res = Polynomial(res) nav = res.navigation() navs = [] while not nav.constant(): navs.append(BooleSet(nav, ring)) nav = nav.then_branch() acc = Polynomial(1, ring) for (nav, v) in reversed(zip(navs, deg_variables)): acc = if_then_else(v, acc, nav) res = acc return res.set() def power_set(variables): if not variables: return BooleConstant(1) variables = sorted(set(variables), reverse=True, key=top_index) res = Polynomial(1, variables[0].ring()).set() for v in variables: res = if_then_else(v, res, res) return res if __name__ == '__main__': from .blocks import declare_ring, Block r = declare_ring([Block("x", 10000)], globals()) print(list(all_monomials_of_degree_d(0, [Variable(i) for i in range(100)]))) print(list(all_monomials_of_degree_d(1, [Variable(i) for i in range(10)]))) print(list(all_monomials_of_degree_d(2, [Variable(i) for i in range(4)]))) print(list(all_monomials_of_degree_d(3, [Variable(i) for i in range(4)]))) print(list(all_monomials_of_degree_d(4, [Variable(i) for i in range(4)]))) print(list(all_monomials_of_degree_d(0, []))) print(list(all_monomials_of_degree_d(1, []))) print(list(power_set([Variable(i) for i in range(2)]))) print(list(power_set([Variable(i) for i in range(4)]))) print(list(power_set([]))) #every monomial in the first 8 var, which is at most linear in the first 5 print(list(mod_mon_set(power_set([Variable(i) for i in range(8)]), all_monomials_of_degree_d(2, [Variable(i) for i in range(5)])))) #specialized normal form computation print(Polynomial( mod_mon_set( (x(1) * x(2) + x(1) + 1).set(), all_monomials_of_degree_d(2, [Variable(i) for i in range(1000)])))) print(list(mod_mon_set(power_set([Variable(i) for i in range(50)]), all_monomials_of_degree_d(2, [Variable(i) for i in range(1000)])))) def monomial_from_indices(ring, indices): l = sorted(indices, reverse=True) res = Monomial(ring) for i in l: res = res * ring.variable(i) return res BRiAl-1.2.12/sage-brial/brial/statistics.py000066400000000000000000000013401436062512100203670ustar00rootroot00000000000000from .PyPolyBoRi import Monomial, Polynomial, top_index, BooleConstant def used_vars(l, bound=None): if not l: return BooleConstant(1) m = Monomial(Polynomial(next(iter(l))).vars_as_monomial()) for p in l[1:]: m = m * Polynomial(p).vars_as_monomial() if bound and len(m) > bound: return m return m def used_vars_set(l, bound=None): if not l: return BooleConstant(1) s = set() for p in l: s.update(Polynomial(p).vars_as_monomial().variables()) if bound and len(s) > bound: break sorted_s = sorted(list(s), key=top_index, reverse=True) m = Monomial(next(iter(l)).ring()) for v in sorted_s: m = v * m return m BRiAl-1.2.12/sage-brial/setup.py000066400000000000000000000005101436062512100162420ustar00rootroot00000000000000#!/usr/bin/env python from distutils.core import setup setup( name="brial" , version="1.0.2" , description="Python implementation of BRiAl" , long_description="BRiAl is the legacy implementation of PolyBoRi" , url="https://github.com/BRiAl/pyBRiAl" , license="GPL 2+" , packages=["brial"] ) BRiAl-1.2.12/tests/000077500000000000000000000000001436062512100136705ustar00rootroot00000000000000BRiAl-1.2.12/tests/BlockDegLexOrderTest.cc000066400000000000000000000452151436062512100201650ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file BlockDegLexOrderTest.cc * * @author Ket Shcherbakova, Alexander Dreyer * @date 2010-12-14 * * boost/test-driven unit test * * @par Copyright: * (c) 2010 by The PolyBoRi Team * **/ //***************************************************************************** #include #include #if BOOST_VERSION < 107100 #include #else #include #endif using boost::test_tools::output_test_stream; #include USING_NAMESPACE_PBORI struct Fblockdeglex { typedef BlockDegLexOrder order_type; Fblockdeglex(const BoolePolyRing& input_ring = BoolePolyRing(5, COrderEnums::lp)): ring(input_ring), x(0, input_ring), y(1, input_ring), z(2, input_ring), v(3, input_ring), w(4, input_ring) { BOOST_TEST_MESSAGE( "setup fixture" ); ring.setVariableName(0, "x"); ring.setVariableName(1, "y"); ring.setVariableName(2, "z"); ring.setVariableName(3, "v"); ring.setVariableName(4, "w"); } ~Fblockdeglex() { BOOST_TEST_MESSAGE( "teardown fixture" ); } BoolePolyRing ring; BooleVariable x, y, z, v, w; }; BOOST_FIXTURE_TEST_SUITE(BlockDegLexOrderTestSuite, Fblockdeglex ) BOOST_AUTO_TEST_CASE(test_properties) { order_type order; BOOST_TEST_MESSAGE( "isLexicographical, isSymmetric, isDegreeOrder, isBlockOrder, isTotalDegreeOrder, isDegreeReverseLexicographical, ascendingVariables, descendingVariables, orderedStandardIteration" ); BOOST_CHECK(!order.isLexicographical()); BOOST_CHECK(!order.isSymmetric()); BOOST_CHECK(!order.isDegreeOrder()); BOOST_CHECK(order.isBlockOrder()); BOOST_CHECK(!order.isTotalDegreeOrder()); BOOST_CHECK(!order.isDegreeReverseLexicographical()); BOOST_CHECK(!order.ascendingVariables()); BOOST_CHECK(order.descendingVariables()); BOOST_CHECK(!order.orderedStandardIteration()); } BOOST_AUTO_TEST_CASE(test_getters) { order_type order; BOOST_TEST_MESSAGE( "getOrderCode, getBaseOrderCode" ); BOOST_CHECK_EQUAL(order.getOrderCode(), COrderEnums::block_dlex); BOOST_CHECK_EQUAL(order.getBaseOrderCode(), COrderEnums::dlex); } BOOST_AUTO_TEST_CASE(test_compare) { order_type order; BOOST_TEST_MESSAGE( "compare" ); BooleMonomial monom1 = x; BooleMonomial monom2 = x*x; BOOST_CHECK_EQUAL(order.compare(monom1, monom2) , CTypes::equality); monom1 = x*y; monom2 = x*z*v; BOOST_CHECK_EQUAL(order.compare(monom1, monom2) , CTypes::less_than); monom1 = v*y; monom2 = x; BOOST_CHECK_EQUAL(order.compare(monom1, monom2) , CTypes::greater_than); monom1 = BooleMonomial(ring); monom2 = w; BOOST_CHECK_EQUAL(order.compare(monom1, monom2) , CTypes::less_than); monom1 = BooleMonomial(ring); monom2 = BooleMonomial(ring); BOOST_CHECK_EQUAL(order.compare(monom1, monom2) , CTypes::equality); BooleExponent exp1(x); BooleExponent exp2(x*x); BOOST_CHECK_EQUAL(order.compare(exp1, exp2) , CTypes::equality); exp1 = BooleExponent(w*x); exp2 = BooleExponent(v*x); BOOST_CHECK_EQUAL(order.compare(exp1, exp2) , CTypes::less_than); exp1 = BooleExponent(x*y*z*v*w); exp2 = BooleExponent(x*y*z*v); BOOST_CHECK_EQUAL(order.compare(exp1, exp2) , CTypes::greater_than); BOOST_CHECK_EQUAL(order.compare(0,1) , CTypes::greater_than); BOOST_CHECK_EQUAL(order.compare(2,1) , CTypes::less_than); BOOST_CHECK_EQUAL(order.compare(-1,-1) , CTypes::equality); BOOST_CHECK_EQUAL(order.compare(1,-1) , CTypes::less_than); } BOOST_AUTO_TEST_CASE(test_lead) { BOOST_TEST_MESSAGE( "lead, leadExp, leadFirst" ); order_type order; BoolePolynomial poly = x*y*z*w + x*x + x*y + y*z*v*w + 1; BOOST_CHECK_EQUAL(order.lead(poly) , BooleMonomial(x*y*z*w)); BOOST_CHECK_EQUAL(order.lead(poly,1) , BooleMonomial(x*y*z*w)); BOOST_CHECK_EQUAL(order.lead(poly,-1) , BooleMonomial(x*y*z*w)); BOOST_CHECK_EQUAL(order.leadExp(poly) , BooleExponent(x*y*z*w)); BOOST_CHECK_EQUAL(order.leadExp(poly,1) , BooleExponent(x*y*z*w)); BOOST_CHECK_EQUAL(order.leadExp(poly,-1) , BooleExponent(x*y*z*w)); BOOST_CHECK_EQUAL(order.leadFirst(poly) , BoolePolynomial(x*y*z*w)); poly = BoolePolynomial(ring); BOOST_CHECK_THROW(order.lead(poly), PBoRiGenericError); BOOST_CHECK_THROW(order.lead(poly,1),PBoRiGenericError); BOOST_CHECK_THROW(order.lead(poly),PBoRiGenericError); BOOST_CHECK_THROW(order.leadExp(poly,1),PBoRiGenericError); BOOST_CHECK_THROW(order.leadExp(poly),PBoRiGenericError); BOOST_CHECK_THROW(order.leadFirst(poly),PBoRiGenericError); poly = 1; BOOST_CHECK_EQUAL(order.lead(poly, 1), BooleMonomial(ring)); BOOST_CHECK_EQUAL(order.lead(poly), BooleMonomial(ring)); BOOST_CHECK_EQUAL(order.leadExp(poly, 1), BooleExponent()); BOOST_CHECK_EQUAL(order.leadExp(poly), BooleExponent()); BOOST_CHECK_EQUAL(order.leadFirst(poly), poly); poly = x*w + x*z + w*v*y; BOOST_CHECK_EQUAL(order.lead(poly, 0) , BooleMonomial(w*v*y)); BOOST_CHECK_EQUAL(order.leadExp(poly, 0) , BooleExponent(w*v*y)); } BOOST_AUTO_TEST_CASE(test_blocks) { BOOST_TEST_MESSAGE( "blockBegin, blockEnd, appendBlock, clearBlocks, lastBlockStart, lieInSameBlock" ); order_type order; output_test_stream output; output_test_stream output_test; int intmax = CUDD_MAXINDEX; BoolePolyRing::block_iterator start(order.blockBegin()),finish(order.blockEnd()); order.clearBlocks(); start = order.blockBegin(); finish = order.blockEnd(); while (start != finish) { output << *start <<", "; ++start; } output_test.str(""); output_test << intmax << ", "; BOOST_CHECK(output.is_equal(output_test.str())); // std::cout << "fin " << *finish << " fin-1 " << *(finish-1) << " fin-2 " << *(finish-2);; BOOST_CHECK_THROW(order.appendBlock(-1), std::exception); BOOST_CHECK_THROW(order.appendBlock(0), std::runtime_error); order.appendBlock(2); BOOST_CHECK_THROW(order.appendBlock(1), std::runtime_error); order.appendBlock(6); BOOST_CHECK_THROW(order.appendBlock(6), std::runtime_error); BOOST_CHECK_THROW(order.appendBlock(intmax), std::runtime_error); start = order.blockBegin(); finish = order.blockEnd(); while (start != finish) { output << *start <<", "; ++start; } output_test.str(""); output_test << "2, 6, " << intmax << ", "; BOOST_CHECK(output.is_equal(output_test.str())); BOOST_CHECK(order.lieInSameBlock(0,1)); BOOST_CHECK(!order.lieInSameBlock(1,2)); BOOST_CHECK(order.lieInSameBlock(3,2)); BOOST_CHECK(order.lieInSameBlock(4,3)); BOOST_CHECK(order.lieInSameBlock(4,5)); BOOST_CHECK(!order.lieInSameBlock(5,6)); BOOST_CHECK(order.lieInSameBlock(6,7)); BOOST_CHECK(!order.lieInSameBlock(7,intmax)); BOOST_CHECK_THROW(!order.lieInSameBlock(-1,3), std::runtime_error); BOOST_CHECK_THROW(!order.lieInSameBlock(-1,intmax), std::runtime_error); BOOST_CHECK_THROW(!order.lieInSameBlock(-1,-1), std::runtime_error); BOOST_CHECK_EQUAL(order.lastBlockStart(), 6); } BOOST_AUTO_TEST_CASE(test_compare_blocks) { BOOST_TEST_MESSAGE( "compare with appended blocks" ); order_type blockorder;//(x,y)(z,v,w)(5-intmax) order_type order; blockorder.appendBlock(2); blockorder.appendBlock(6); // Variable comparison -> variables in different blocks dont follow the ascending order BooleMonomial monom1 = x; BooleMonomial monom2 = y; BooleExponent exp1(monom1); BooleExponent exp2(monom2); BOOST_CHECK_EQUAL(blockorder.compare(monom1, monom2) , CTypes::greater_than); BOOST_CHECK_EQUAL(order.compare(monom1, monom2) , blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(blockorder.compare(exp1, exp2) , blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(order.compare(exp1, exp2) , blockorder.compare(exp1, exp2)); monom1 = x; monom2 = v; exp1 = monom1; exp2 = monom2; BOOST_CHECK_EQUAL(blockorder.compare(monom1, monom2) , CTypes::greater_than); BOOST_CHECK_EQUAL(order.compare(monom1, monom2) , blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(blockorder.compare(exp1, exp2) , blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(order.compare(exp1, exp2) , blockorder.compare(exp1, exp2)); monom1 = z; monom2 = v; exp1 = monom1; exp2 = monom2; BOOST_CHECK_EQUAL(blockorder.compare(monom1, monom2) , CTypes::greater_than); BOOST_CHECK_EQUAL(order.compare(monom1, monom2) , blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(blockorder.compare(exp1, exp2) , blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(order.compare(exp1, exp2) , blockorder.compare(exp1, exp2)); monom1 = x; monom2 = x*x; exp1 = monom1; exp2 = monom2; BOOST_CHECK_EQUAL(blockorder.compare(monom1, monom2) , CTypes::equality); BOOST_CHECK_EQUAL(order.compare(monom1, monom2) , blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(blockorder.compare(exp1, exp2) , blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(order.compare(exp1, exp2) , blockorder.compare(exp1, exp2)); monom1 = z; monom2 = z*z; exp1 = monom1; exp2 = monom2; BOOST_CHECK_EQUAL(blockorder.compare(monom1, monom2) , CTypes::equality); BOOST_CHECK_EQUAL(order.compare(monom1, monom2) , blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(blockorder.compare(exp1, exp2) , blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(order.compare(exp1, exp2) , blockorder.compare(exp1, exp2)); monom1 = x; monom2 = BooleMonomial(ring); exp1 = monom1; exp2 = monom2; BOOST_CHECK_EQUAL(blockorder.compare(monom1, monom2) , CTypes::greater_than); BOOST_CHECK_EQUAL(order.compare(monom1, monom2) , blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(blockorder.compare(exp1, exp2) , blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(order.compare(exp1, exp2) , blockorder.compare(exp1, exp2)); monom1 = BooleMonomial(ring); monom2 = BooleMonomial(ring); exp1 = monom1; exp2 = monom2; BOOST_CHECK_EQUAL(blockorder.compare(monom1, monom2) , CTypes::equality); BOOST_CHECK_EQUAL(order.compare(monom1, monom2) , blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(blockorder.compare(exp1, exp2) , blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(order.compare(exp1, exp2) , blockorder.compare(exp1, exp2)); // Different first blocks -> blockorder result may differ from order monom1 = x*y; monom2 = y*z; exp1 = monom1; exp2 = monom2; BOOST_CHECK_EQUAL(blockorder.compare(monom1, monom2) , CTypes::greater_than); BOOST_CHECK_EQUAL(order.compare(monom1, monom2) , blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(blockorder.compare(exp1, exp2) , blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(order.compare(exp1, exp2) , blockorder.compare(exp1, exp2)); monom1 = x*y; monom2 = y*z*v*w; exp1 = monom1; exp2 = monom2; BOOST_CHECK_EQUAL(blockorder.compare(monom1, monom2) , CTypes::greater_than); BOOST_CHECK_NE(order.compare(monom1, monom2) , blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(blockorder.compare(exp1, exp2) , blockorder.compare(monom1, monom2)); BOOST_CHECK_NE(order.compare(exp1, exp2) , blockorder.compare(exp1, exp2)); monom1 = y*v*w; monom2 = x*v*w; exp1 = monom1; exp2 = monom2; BOOST_CHECK_EQUAL(blockorder.compare(monom1, monom2) , CTypes::less_than); BOOST_CHECK_EQUAL(order.compare(monom1, monom2) , blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(blockorder.compare(exp1, exp2) , blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(order.compare(exp1, exp2) , blockorder.compare(exp1, exp2)); monom1 = x*y*v*w; monom2 = y*v*w; exp1 = monom1; exp2 = monom2; BOOST_CHECK_EQUAL(blockorder.compare(monom1, monom2) , CTypes::greater_than); BOOST_CHECK_EQUAL(order.compare(monom1, monom2) , blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(blockorder.compare(exp1, exp2) , blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(order.compare(exp1, exp2) , blockorder.compare(exp1, exp2)); monom1 = BooleMonomial(ring); monom2 = y*v*w; exp1 = monom1; exp2 = monom2; BOOST_CHECK_EQUAL(blockorder.compare(monom1, monom2) , CTypes::less_than); BOOST_CHECK_EQUAL(order.compare(monom1, monom2) , blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(blockorder.compare(exp1, exp2) , blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(order.compare(exp1, exp2) , blockorder.compare(exp1, exp2)); // Same first blocks -> blockorder=order monom1 = x*v; monom2 = x*w; exp1 = monom1; exp2 = monom2; BOOST_CHECK_EQUAL(blockorder.compare(monom1, monom2) , CTypes::greater_than); BOOST_CHECK_EQUAL(order.compare(monom1, monom2) , blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(blockorder.compare(exp1, exp2) , blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(order.compare(exp1, exp2) , blockorder.compare(exp1, exp2)); monom1 = x*z*v; monom2 = x*w; exp1 = monom1; exp2 = monom2; BOOST_CHECK_EQUAL(blockorder.compare(monom1, monom2) , CTypes::greater_than); BOOST_CHECK_EQUAL(order.compare(monom1, monom2) , blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(blockorder.compare(exp1, exp2) , blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(order.compare(exp1, exp2) , blockorder.compare(exp1, exp2)); monom1 = y*v; monom2 = y*z*v; exp1 = monom1; exp2 = monom2; BOOST_CHECK_EQUAL(blockorder.compare(monom1, monom2) , CTypes::less_than); BOOST_CHECK_EQUAL(order.compare(monom1, monom2) , blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(blockorder.compare(exp1, exp2) , blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(order.compare(exp1, exp2) , blockorder.compare(exp1, exp2)); monom1 = x*y*v; monom2 = x*y*w; exp1 = monom1; exp2 = monom2; BOOST_CHECK_EQUAL(blockorder.compare(monom1, monom2) , CTypes::greater_than); BOOST_CHECK_EQUAL(order.compare(monom1, monom2) , blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(blockorder.compare(exp1, exp2) , blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(order.compare(exp1, exp2) , blockorder.compare(exp1, exp2)); monom1 = x*y; monom2 = x*y*w; exp1 = monom1; exp2 = monom2; BOOST_CHECK_EQUAL(blockorder.compare(monom1, monom2) , CTypes::less_than); BOOST_CHECK_EQUAL(order.compare(monom1, monom2) , blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(blockorder.compare(exp1, exp2) , blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(order.compare(exp1, exp2) , blockorder.compare(exp1, exp2)); monom1 = x*y*w; monom2 = x*y*w; exp1 = monom1; exp2 = monom2; BOOST_CHECK_EQUAL(blockorder.compare(monom1, monom2) , CTypes::equality); BOOST_CHECK_EQUAL(order.compare(monom1, monom2) , blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(blockorder.compare(exp1, exp2) , blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(order.compare(exp1, exp2) , blockorder.compare(exp1, exp2)); BOOST_CHECK_EQUAL(blockorder.compare(0,1) , CTypes::greater_than); BOOST_CHECK_EQUAL(order.compare(0,1) , blockorder.compare(0,1)); BOOST_CHECK_EQUAL(blockorder.compare(1,2) , CTypes::greater_than); BOOST_CHECK_EQUAL(order.compare(1,2) , blockorder.compare(1,2)); BOOST_CHECK_EQUAL(blockorder.compare(2,3) , CTypes::greater_than); BOOST_CHECK_EQUAL(order.compare(2,3) , blockorder.compare(2,3)); BOOST_CHECK_EQUAL(blockorder.compare(3,4) , CTypes::greater_than); BOOST_CHECK_EQUAL(order.compare(3,4) , blockorder.compare(3,4)); BOOST_CHECK_EQUAL(blockorder.compare(4,5) , CTypes::greater_than); BOOST_CHECK_EQUAL(order.compare(4,5) , blockorder.compare(4,5)); BOOST_CHECK_EQUAL(blockorder.compare(5,6) , CTypes::greater_than); BOOST_CHECK_EQUAL(order.compare(5,6) , blockorder.compare(5,6)); BOOST_CHECK_EQUAL(blockorder.compare(6,7) , CTypes::greater_than); BOOST_CHECK_EQUAL(order.compare(6,7) , blockorder.compare(6,7)); BOOST_CHECK_EQUAL(blockorder.compare(7,-1) , CTypes::less_than); // note: no need to have order.compare(7,-1) == blockorder.compare(7,-1) BOOST_CHECK_EQUAL(blockorder.compare(1,1) , CTypes::equality); BOOST_CHECK_EQUAL(order.compare(1,1) , blockorder.compare(1,1)); BOOST_CHECK_EQUAL(blockorder.compare(3,3) , CTypes::equality); BOOST_CHECK_EQUAL(order.compare(3,3) , blockorder.compare(3,3)); BOOST_CHECK_EQUAL(blockorder.compare(7,7) , CTypes::equality); BOOST_CHECK_EQUAL(order.compare(7,7) , blockorder.compare(7,7)); BOOST_CHECK_EQUAL(blockorder.compare(-1,-1) , CTypes::equality); BOOST_CHECK_EQUAL(order.compare(-1,-1) , blockorder.compare(-1,-1)); } BOOST_AUTO_TEST_CASE(test_lead_blocks) { BOOST_TEST_MESSAGE( "lead with appended blocks" ); order_type blockorder;//(x,y)(z,v,w)(5-intmax) order_type order; blockorder.appendBlock(2); blockorder.appendBlock(6); BoolePolynomial poly = BoolePolynomial(ring); output_test_stream output; BOOST_CHECK_THROW(blockorder.lead(poly), PBoRiGenericError); BOOST_CHECK_THROW(blockorder.lead(poly,1),PBoRiGenericError); BOOST_CHECK_THROW(blockorder.lead(poly),PBoRiGenericError); BOOST_CHECK_THROW(blockorder.leadExp(poly,1),PBoRiGenericError); BOOST_CHECK_THROW(blockorder.leadExp(poly),PBoRiGenericError); BOOST_CHECK_THROW(blockorder.leadFirst(poly),PBoRiGenericError); /// Check, that order.lead(poly) doesn't pollute the cache! poly = 1; BOOST_CHECK_EQUAL(blockorder.lead(poly, 1), BooleMonomial(ring)); BOOST_CHECK_EQUAL(blockorder.lead(poly), BooleMonomial(ring)); BOOST_CHECK_EQUAL(blockorder.leadExp(poly,1), BooleExponent()); BOOST_CHECK_EQUAL(blockorder.leadExp(poly), BooleExponent()); BOOST_CHECK_EQUAL(blockorder.leadFirst(poly), poly); poly = y*x + y*z*v*w + v*w + z*w + w*w;// y*x > y*z*v*w for blockorder BOOST_CHECK_EQUAL(order.lead(poly) , BooleMonomial(y*z*v*w)); BOOST_CHECK_EQUAL(blockorder.lead(poly, 0) , BooleMonomial(x*y)); BOOST_CHECK_NE(blockorder.lead(poly, 0), order.lead(poly, 0)); BOOST_CHECK_EQUAL(blockorder.leadExp(poly, 0) , BooleExponent(x*y)); BOOST_CHECK_NE(blockorder.leadExp(poly, 0), order.leadExp(poly, 0)); } BOOST_AUTO_TEST_CASE(test_cover_constructors_and_destructors) { int order_code = CTypes::block_dlex; BoolePolyRing block_ring(5, order_code); BOOST_CHECK_EQUAL(block_ring.ordering().getOrderCode(), order_code); class Inherited: public order_type {}; Inherited dummy; BOOST_CHECK_EQUAL(dummy.getOrderCode(), order_code); order_type self; BOOST_CHECK_EQUAL(self.getOrderCode(), order_code); order_type* pSelf = new order_type; BOOST_CHECK_EQUAL(pSelf->getOrderCode(), order_code); delete pSelf; pSelf = new Inherited; BOOST_CHECK_EQUAL(pSelf->getOrderCode(), order_code); delete pSelf; Inherited* pDummy = new Inherited; BOOST_CHECK_EQUAL(pDummy->getOrderCode(), order_code); delete pDummy; } BOOST_AUTO_TEST_SUITE_END() BRiAl-1.2.12/tests/BlockDegRevLexAscOrderTest.cc000066400000000000000000000465671436062512100213040ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file BlockDegRevLexAscOrderTest.cc * * @author Ket Shcherbakova, Alexander Dreyer * @date 2010-12-14 * * boost/test-driven unit test * * @par Copyright: * (c) 2010 by The PolyBoRi Team * **/ //***************************************************************************** #include #include #if BOOST_VERSION < 107100 #include #else #include #endif using boost::test_tools::output_test_stream; #include #include USING_NAMESPACE_PBORI struct Fblockdegrevlex { typedef BlockDegRevLexAscOrder order_type; typedef DegRevLexAscOrder base_order_type; Fblockdegrevlex(const BoolePolyRing& input_ring = BoolePolyRing(5, COrderEnums::dlex)): ring(input_ring), x(0, input_ring), y(1, input_ring), z(2, input_ring), v(3, input_ring), w(4, input_ring) { BOOST_TEST_MESSAGE( "setup fixture" ); ring.setVariableName(0, "x"); ring.setVariableName(1, "y"); ring.setVariableName(2, "z"); ring.setVariableName(3, "v"); ring.setVariableName(4, "w"); } ~Fblockdegrevlex() { BOOST_TEST_MESSAGE( "teardown fixture" ); } BoolePolyRing ring; BooleVariable x, y, z, v, w; }; BOOST_FIXTURE_TEST_SUITE(BlockDegRevLexOrderTestSuite, Fblockdegrevlex ) BOOST_AUTO_TEST_CASE(test_properties) { order_type order; BOOST_TEST_MESSAGE( "isLexicographical, isSymmetric, isDegreeOrder, isBlockOrder, isTotalDegreeOrder, isDegreeReverseLexicographical, ascendingVariables, descendingVariables, orderedStandardIteration" ); BOOST_CHECK(!order.isLexicographical()); BOOST_CHECK(!order.isSymmetric()); BOOST_CHECK(!order.isDegreeOrder()); BOOST_CHECK(order.isBlockOrder()); BOOST_CHECK(!order.isTotalDegreeOrder()); BOOST_CHECK(!order.isDegreeReverseLexicographical()); BOOST_CHECK(order.ascendingVariables()); BOOST_CHECK(!order.descendingVariables()); BOOST_CHECK(!order.orderedStandardIteration()); } BOOST_AUTO_TEST_CASE(test_getters) { order_type order; BOOST_TEST_MESSAGE( "getOrderCode, getBaseOrderCode" ); BOOST_CHECK_EQUAL(order.getOrderCode(), COrderEnums::block_dp_asc); BOOST_CHECK_EQUAL(order.getBaseOrderCode(), COrderEnums::dp_asc); } BOOST_AUTO_TEST_CASE(test_compare) { order_type order; base_order_type baseorder; BOOST_TEST_MESSAGE( "compare" ); BooleMonomial monom1 = x; BooleMonomial monom2 = x*x; BOOST_CHECK_EQUAL(order.compare(monom1, monom2), CTypes::equality); BOOST_CHECK_EQUAL(order.compare(monom1,monom2), baseorder.compare(monom1,monom2)); monom1 = x*y; monom2 = x*z*v; BOOST_CHECK_EQUAL(order.compare(monom1, monom2), CTypes::less_than); BOOST_CHECK_EQUAL(order.compare(monom1,monom2), baseorder.compare(monom1,monom2)); monom1 = v*y; monom2 = x; BOOST_CHECK_EQUAL(order.compare(monom1, monom2), CTypes::greater_than); BOOST_CHECK_EQUAL(order.compare(monom1,monom2), baseorder.compare(monom1,monom2)); monom1 = BooleMonomial(ring); monom2 = w; BOOST_CHECK_EQUAL(order.compare(monom1, monom2), CTypes::less_than); BOOST_CHECK_EQUAL(order.compare(monom1,monom2), baseorder.compare(monom1,monom2)); monom1 = BooleMonomial(ring); monom2 = BooleMonomial(ring); BOOST_CHECK_EQUAL(order.compare(monom1, monom2), CTypes::equality); BOOST_CHECK_EQUAL(order.compare(monom1,monom2), baseorder.compare(monom1,monom2)); BooleExponent exp1(x); BooleExponent exp2(x*x); BOOST_CHECK_EQUAL(order.compare(exp1, exp2), CTypes::equality); BOOST_CHECK_EQUAL(order.compare(exp1,exp2), baseorder.compare(exp1,exp2)); exp1 = BooleExponent(w*x); exp2 = BooleExponent(v*x); BOOST_CHECK_EQUAL(order.compare(exp1, exp2), CTypes::greater_than); BOOST_CHECK_EQUAL(order.compare(exp1,exp2), baseorder.compare(exp1,exp2)); exp1 = BooleExponent(x*y*z*v*w); exp2 = BooleExponent(x*y*z*v); BOOST_CHECK_EQUAL(order.compare(exp1, exp2), CTypes::greater_than); BOOST_CHECK_EQUAL(order.compare(exp1,exp2), baseorder.compare(exp1,exp2)); BOOST_CHECK_EQUAL(order.compare(0,1), CTypes::less_than); BOOST_CHECK_EQUAL(order.compare(0,1), baseorder.compare(0,1)); BOOST_CHECK_EQUAL(order.compare(2,1), CTypes::greater_than); BOOST_CHECK_EQUAL(order.compare(2,1), baseorder.compare(2,1)); BOOST_CHECK_EQUAL(order.compare(-1,-1), CTypes::equality); BOOST_CHECK_EQUAL(order.compare(-1,-1), baseorder.compare(-1,-1)); BOOST_CHECK_EQUAL(order.compare(1,-1), CTypes::greater_than); BOOST_CHECK_EQUAL(order.compare(-1,-1), baseorder.compare(-1,-1)); } BOOST_AUTO_TEST_CASE(test_lead) { BOOST_TEST_MESSAGE( "lead, leadExp, leadFirst" ); order_type order; BoolePolynomial poly = x*y*z*w + x*x + x*y + y*z*v*w + 1; BOOST_CHECK_EQUAL(order.lead(poly) , BooleMonomial(y*z*v*w)); BOOST_CHECK_EQUAL(order.lead(poly,1) , BooleMonomial(y*z*v*w)); BOOST_CHECK_EQUAL(order.lead(poly,-1), BooleMonomial(y*z*v*w)); BOOST_CHECK_EQUAL(order.leadExp(poly) , BooleExponent(y*z*v*w)); BOOST_CHECK_EQUAL(order.leadExp(poly,1) , BooleExponent(y*z*v*w)); BOOST_CHECK_EQUAL(order.leadExp(poly,-1), BooleExponent(y*z*v*w)); BOOST_CHECK_EQUAL(order.leadFirst(poly) , BoolePolynomial(y*z*v*w)); poly = BoolePolynomial(ring); BOOST_CHECK_THROW(order.lead(poly), PBoRiGenericError); BOOST_CHECK_THROW(order.lead(poly,1),PBoRiGenericError); BOOST_CHECK_THROW(order.lead(poly),PBoRiGenericError); BOOST_CHECK_THROW(order.leadExp(poly,1),PBoRiGenericError); BOOST_CHECK_THROW(order.leadExp(poly),PBoRiGenericError); BOOST_CHECK_THROW(order.leadFirst(poly),PBoRiGenericError); poly = 1; BOOST_CHECK_EQUAL(order.lead(poly, 1), BooleMonomial(ring)); BOOST_CHECK_EQUAL(order.lead(poly), BooleMonomial(ring)); BOOST_CHECK_EQUAL(order.leadExp(poly,1), BooleExponent()); BOOST_CHECK_EQUAL(order.leadExp(poly), BooleExponent()); BOOST_CHECK_EQUAL(order.leadFirst(poly), poly); poly = x*w + x*z + w*v*y; BOOST_CHECK_EQUAL(order.lead(poly, 0), BooleMonomial(w*v*y)); BOOST_CHECK_EQUAL(order.leadExp(poly, 0), BooleExponent(w*v*y)); } BOOST_AUTO_TEST_CASE(test_blocks) { BOOST_TEST_MESSAGE( "blockBegin, blockEnd, appendBlock, clearBlocks, lastBlockStart, lieInSameBlock" ); order_type order; output_test_stream output; output_test_stream output_test; int intmax = CUDD_MAXINDEX; BoolePolyRing::block_iterator start(order.blockBegin()),finish(order.blockEnd()); order.clearBlocks(); start = order.blockBegin(); finish = order.blockEnd(); while (start != finish) { output << *start <<", "; ++start; } output_test.str(""); output_test << intmax << ", "; BOOST_CHECK(output.is_equal(output_test.str())); // std::cout << "fin " << *finish << " fin-1 " << *(finish-1) << " fin-2 " << *(finish-2);; BOOST_CHECK_THROW(order.appendBlock(-1), std::exception); BOOST_CHECK_THROW(order.appendBlock(0), std::runtime_error); order.appendBlock(2); BOOST_CHECK_THROW(order.appendBlock(1), std::runtime_error); order.appendBlock(6); BOOST_CHECK_THROW(order.appendBlock(6), std::runtime_error); BOOST_CHECK_THROW(order.appendBlock(intmax), std::runtime_error); start = order.blockBegin(); finish = order.blockEnd(); while (start != finish) { output << *start <<", "; ++start; } output_test.str(""); output_test << "2, 6, " << intmax << ", "; BOOST_CHECK(output.is_equal(output_test.str())); BOOST_CHECK(order.lieInSameBlock(0,1)); BOOST_CHECK(!order.lieInSameBlock(1,2)); BOOST_CHECK(order.lieInSameBlock(3,2)); BOOST_CHECK(order.lieInSameBlock(4,3)); BOOST_CHECK(order.lieInSameBlock(4,5)); BOOST_CHECK(!order.lieInSameBlock(5,6)); BOOST_CHECK(order.lieInSameBlock(6,7)); BOOST_CHECK(!order.lieInSameBlock(7,intmax)); BOOST_CHECK_THROW(order.lieInSameBlock(-1,3), std::runtime_error); BOOST_CHECK_THROW(order.lieInSameBlock(-1,intmax), std::runtime_error); BOOST_CHECK_THROW(order.lieInSameBlock(-1,-1), std::runtime_error); BOOST_CHECK_EQUAL(order.lastBlockStart(), 6); } BOOST_AUTO_TEST_CASE(test_compare_blocks) { BOOST_TEST_MESSAGE( "compare with appended blocks" ); order_type blockorder;//(x,y)(z,v,w)(5-intmax) order_type order; blockorder.appendBlock(2); blockorder.appendBlock(6); // Variable comparison -> variables in different blocks dont follow the ascending order BooleMonomial monom1 = x; BooleMonomial monom2 = y; BooleExponent exp1(monom1); BooleExponent exp2(monom2); BOOST_CHECK_EQUAL(blockorder.compare(monom1, monom2), CTypes::less_than); BOOST_CHECK_EQUAL(order.compare(monom1, monom2), blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(blockorder.compare(exp1, exp2), blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(order.compare(exp1, exp2), blockorder.compare(exp1, exp2)); monom1 = x; monom2 = v; exp1 = monom1; exp2 = monom2; BOOST_CHECK_EQUAL(blockorder.compare(monom1, monom2), CTypes::greater_than); BOOST_CHECK_NE(order.compare(monom1, monom2), blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(blockorder.compare(exp1, exp2), blockorder.compare(monom1, monom2)); BOOST_CHECK_NE(order.compare(exp1, exp2), blockorder.compare(exp1, exp2)); monom1 = z; monom2 = v; exp1 = monom1; exp2 = monom2; BOOST_CHECK_EQUAL(blockorder.compare(monom1, monom2), CTypes::less_than); BOOST_CHECK_EQUAL(order.compare(monom1, monom2), blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(blockorder.compare(exp1, exp2), blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(order.compare(exp1, exp2), blockorder.compare(exp1, exp2)); monom1 = x; monom2 = x*x; exp1 = monom1; exp2 = monom2; BOOST_CHECK_EQUAL(blockorder.compare(monom1, monom2), CTypes::equality); BOOST_CHECK_EQUAL(order.compare(monom1, monom2), blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(blockorder.compare(exp1, exp2), blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(order.compare(exp1, exp2), blockorder.compare(exp1, exp2)); monom1 = z; monom2 = z*z; exp1 = monom1; exp2 = monom2; BOOST_CHECK_EQUAL(blockorder.compare(monom1, monom2), CTypes::equality); BOOST_CHECK_EQUAL(order.compare(monom1, monom2), blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(blockorder.compare(exp1, exp2), blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(order.compare(exp1, exp2), blockorder.compare(exp1, exp2)); monom1 = x; monom2 = BooleMonomial(ring); exp1 = monom1; exp2 = monom2; BOOST_CHECK_EQUAL(blockorder.compare(monom1, monom2), CTypes::greater_than); BOOST_CHECK_EQUAL(order.compare(monom1, monom2), blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(blockorder.compare(exp1, exp2), blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(order.compare(exp1, exp2), blockorder.compare(exp1, exp2)); monom1 = BooleMonomial(ring); monom2 = BooleMonomial(ring); exp1 = monom1; exp2 = monom2; BOOST_CHECK_EQUAL(blockorder.compare(monom1, monom2), CTypes::equality); BOOST_CHECK_EQUAL(order.compare(monom1, monom2), blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(blockorder.compare(exp1, exp2), blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(order.compare(exp1, exp2), blockorder.compare(exp1, exp2)); // Different first blocks -> blockorder result may differ from order monom1 = x*y; monom2 = y*z; exp1 = monom1; exp2 = monom2; BOOST_CHECK_EQUAL(blockorder.compare(monom1, monom2), CTypes::greater_than); BOOST_CHECK_NE(order.compare(monom1, monom2), blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(blockorder.compare(exp1, exp2), blockorder.compare(monom1, monom2)); BOOST_CHECK_NE(order.compare(exp1, exp2), blockorder.compare(exp1, exp2)); monom1 = x*y; monom2 = y*z*v*w; exp1 = monom1; exp2 = monom2; BOOST_CHECK_EQUAL(blockorder.compare(monom1, monom2), CTypes::greater_than); BOOST_CHECK_NE(order.compare(monom1, monom2), blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(blockorder.compare(exp1, exp2), blockorder.compare(monom1, monom2)); BOOST_CHECK_NE(order.compare(exp1, exp2), blockorder.compare(exp1, exp2)); monom1 = y*v*w; monom2 = x*v*w; exp1 = monom1; exp2 = monom2; BOOST_CHECK_EQUAL(blockorder.compare(monom1, monom2), CTypes::greater_than); BOOST_CHECK_EQUAL(order.compare(monom1, monom2), blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(blockorder.compare(exp1, exp2), blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(order.compare(exp1, exp2), blockorder.compare(exp1, exp2)); monom1 = x*y*v*w; monom2 = y*v*w; exp1 = monom1; exp2 = monom2; BOOST_CHECK_EQUAL(blockorder.compare(monom1, monom2), CTypes::greater_than); BOOST_CHECK_EQUAL(order.compare(monom1, monom2), blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(blockorder.compare(exp1, exp2), blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(order.compare(exp1, exp2), blockorder.compare(exp1, exp2)); monom1 = BooleMonomial(ring); monom2 = y*v*w; exp1 = monom1; exp2 = monom2; BOOST_CHECK_EQUAL(blockorder.compare(monom1, monom2), CTypes::less_than); BOOST_CHECK_EQUAL(order.compare(monom1, monom2), blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(blockorder.compare(exp1, exp2), blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(order.compare(exp1, exp2), blockorder.compare(exp1, exp2)); // Same first blocks -> blockorder=order monom1 = x*v; monom2 = x*w; exp1 = monom1; exp2 = monom2; BOOST_CHECK_EQUAL(blockorder.compare(monom1, monom2), CTypes::less_than); BOOST_CHECK_EQUAL(order.compare(monom1, monom2), blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(blockorder.compare(exp1, exp2), blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(order.compare(exp1, exp2), blockorder.compare(exp1, exp2)); monom1 = x*z*v; monom2 = x*w; exp1 = monom1; exp2 = monom2; BOOST_CHECK_EQUAL(blockorder.compare(monom1, monom2), CTypes::greater_than); BOOST_CHECK_EQUAL(order.compare(monom1, monom2), blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(blockorder.compare(exp1, exp2), blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(order.compare(exp1, exp2), blockorder.compare(exp1, exp2)); monom1 = y*v; monom2 = y*z*v; exp1 = monom1; exp2 = monom2; BOOST_CHECK_EQUAL(blockorder.compare(monom1, monom2), CTypes::less_than); BOOST_CHECK_EQUAL(order.compare(monom1, monom2), blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(blockorder.compare(exp1, exp2), blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(order.compare(exp1, exp2), blockorder.compare(exp1, exp2)); monom1 = x*y*v; monom2 = x*y*w; exp1 = monom1; exp2 = monom2; BOOST_CHECK_EQUAL(blockorder.compare(monom1, monom2), CTypes::less_than); BOOST_CHECK_EQUAL(order.compare(monom1, monom2), blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(blockorder.compare(exp1, exp2), blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(order.compare(exp1, exp2), blockorder.compare(exp1, exp2)); monom1 = x*y; monom2 = x*y*w; exp1 = monom1; exp2 = monom2; BOOST_CHECK_EQUAL(blockorder.compare(monom1, monom2), CTypes::less_than); BOOST_CHECK_EQUAL(order.compare(monom1, monom2), blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(blockorder.compare(exp1, exp2), blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(order.compare(exp1, exp2), blockorder.compare(exp1, exp2)); monom1 = x*y*w; monom2 = x*y*w; exp1 = monom1; exp2 = monom2; BOOST_CHECK_EQUAL(blockorder.compare(monom1, monom2), CTypes::equality); BOOST_CHECK_EQUAL(order.compare(monom1, monom2), blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(blockorder.compare(exp1, exp2), blockorder.compare(monom1, monom2)); BOOST_CHECK_EQUAL(order.compare(exp1, exp2), blockorder.compare(exp1, exp2)); BOOST_CHECK_EQUAL(blockorder.compare(0,1), CTypes::less_than); BOOST_CHECK_EQUAL(order.compare(0,1), blockorder.compare(0,1)); BOOST_CHECK_EQUAL(blockorder.compare(1,2), CTypes::greater_than); BOOST_CHECK_NE(order.compare(1,2), blockorder.compare(1,2)); BOOST_CHECK_EQUAL(blockorder.compare(2,3), CTypes::less_than); BOOST_CHECK_EQUAL(order.compare(2,3), blockorder.compare(2,3)); BOOST_CHECK_EQUAL(blockorder.compare(3,4), CTypes::less_than); BOOST_CHECK_EQUAL(order.compare(3,4), blockorder.compare(3,4)); BOOST_CHECK_EQUAL(blockorder.compare(4,5), CTypes::less_than); BOOST_CHECK_EQUAL(order.compare(4,5), blockorder.compare(4,5)); BOOST_CHECK_EQUAL(blockorder.compare(5,6), CTypes::greater_than); BOOST_CHECK_NE(order.compare(5,6), blockorder.compare(5,6)); BOOST_CHECK_EQUAL(blockorder.compare(6,7), CTypes::less_than); BOOST_CHECK_EQUAL(order.compare(6,7), blockorder.compare(6,7)); BOOST_CHECK_EQUAL(blockorder.compare(7,-1), CTypes::less_than); // note: no need to have order.compare(7,-1) == blockorder.compare(7,-1) BOOST_CHECK_EQUAL(blockorder.compare(1,1), CTypes::equality); BOOST_CHECK_EQUAL(order.compare(1,1), blockorder.compare(1,1)); BOOST_CHECK_EQUAL(blockorder.compare(3,3), CTypes::equality); BOOST_CHECK_EQUAL(order.compare(3,3), blockorder.compare(3,3)); BOOST_CHECK_EQUAL(blockorder.compare(7,7), CTypes::equality); BOOST_CHECK_EQUAL(order.compare(7,7), blockorder.compare(7,7)); BOOST_CHECK_EQUAL(blockorder.compare(-1,-1), CTypes::equality); BOOST_CHECK_EQUAL(order.compare(-1,-1), blockorder.compare(-1,-1)); } BOOST_AUTO_TEST_CASE(test_lead_blocks) { BOOST_TEST_MESSAGE( "lead with appended blocks" ); order_type blockorder;//(x,y)(z,v,w)(5-intmax) order_type order; blockorder.appendBlock(2); blockorder.appendBlock(6); BoolePolynomial poly = BoolePolynomial(ring); BOOST_CHECK_THROW(blockorder.lead(poly,1),PBoRiGenericError); BOOST_CHECK_THROW(blockorder.lead(poly),PBoRiGenericError); BOOST_CHECK_THROW(blockorder.leadExp(poly,1),PBoRiGenericError); BOOST_CHECK_THROW(blockorder.leadExp(poly),PBoRiGenericError); BOOST_CHECK_THROW(blockorder.leadFirst(poly),PBoRiGenericError); poly = 1; BOOST_CHECK_EQUAL(blockorder.lead(poly, 1), BooleMonomial(ring)); BOOST_CHECK_EQUAL(blockorder.lead(poly), BooleMonomial(ring)); BOOST_CHECK_EQUAL(blockorder.leadExp(poly,1), BooleExponent()); BOOST_CHECK_EQUAL(blockorder.leadExp(poly), BooleExponent()); BOOST_CHECK_EQUAL(blockorder.leadFirst(poly), poly); poly = y*x + y*z*v*w + v*w + z*w + w*w; /// y*x > y*z*v*w for blockorder BOOST_CHECK_EQUAL(order.lead(poly), BooleMonomial(y*z*v*w)); BOOST_CHECK_EQUAL(blockorder.lead(poly, 0), BooleMonomial(x*y)); BOOST_CHECK_NE(blockorder.lead(poly, 0), order.lead(poly, 0)); BOOST_CHECK_EQUAL(blockorder.leadExp(poly, 0), BooleExponent(x*y)); BOOST_CHECK_NE(blockorder.leadExp(poly, 0), order.leadExp(poly, 0)); } BOOST_AUTO_TEST_CASE(test_cover_constructors_and_destructors) { int order_code = CTypes::block_dp_asc; BoolePolyRing block_ring(5, order_code); BOOST_CHECK_EQUAL(block_ring.ordering().getOrderCode(), order_code); class Inherited: public order_type {}; Inherited dummy; BOOST_CHECK_EQUAL(dummy.getOrderCode(), order_code); order_type self; BOOST_CHECK_EQUAL(self.getOrderCode(), order_code); order_type* pSelf = new order_type; BOOST_CHECK_EQUAL(pSelf->getOrderCode(), order_code); delete pSelf; pSelf = new Inherited; BOOST_CHECK_EQUAL(pSelf->getOrderCode(), order_code); delete pSelf; Inherited* pDummy = new Inherited; BOOST_CHECK_EQUAL(pDummy->getOrderCode(), order_code); delete pDummy; } BOOST_AUTO_TEST_SUITE_END() BRiAl-1.2.12/tests/BooleConstantTest.cc000066400000000000000000000040051436062512100176100ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file BooleConstantTest.cc * * @author Ket Kalda, Alexander Dreyer * @date 2010-11-02 * * boost/test-driven unit test * * @par Copyright: * (c) 2010 by The PolyBoRi Team * **/ //***************************************************************************** #include #include #if BOOST_VERSION < 107100 #include #else #include #endif using boost::test_tools::output_test_stream; #include #include USING_NAMESPACE_PBORI struct Fconst { typedef BooleConstant const_type; Fconst() { BOOST_TEST_MESSAGE( "setup fixture" ); } ~Fconst() { BOOST_TEST_MESSAGE( "teardown fixture" ); } }; BOOST_FIXTURE_TEST_SUITE(BooleConstantTestSuite, Fconst ) BOOST_AUTO_TEST_CASE(test_constructors) { BOOST_TEST_MESSAGE( "Constructors..." ); BOOST_CHECK_EQUAL(const_type(), const_type(false)); BOOST_CHECK_EQUAL((bool)const_type(false), false); BOOST_CHECK_EQUAL((bool)const_type(true), true); BOOST_CHECK_EQUAL(const_type(21), const_type(true)); BOOST_CHECK_EQUAL(const_type(-4), const_type(false)); } BOOST_AUTO_TEST_CASE(test_operators) { const_type c21(21); const_type c_4(-4); const_type ctrue(true); const_type cfalse(false); BOOST_TEST_MESSAGE( "bool, !, <<" ); BOOST_CHECK_EQUAL((bool)c21, true); BOOST_CHECK_EQUAL((bool)c_4, false); BOOST_CHECK_EQUAL((bool)ctrue, true); BOOST_CHECK_EQUAL((bool)cfalse, false); BOOST_CHECK_EQUAL(!c21, false); BOOST_CHECK_EQUAL(!c_4, true); BOOST_CHECK_EQUAL(!ctrue, false); BOOST_CHECK_EQUAL(!cfalse, true); output_test_stream output; output << c21; BOOST_CHECK(output.is_equal("1")); output << c_4; BOOST_CHECK(output.is_equal("0")); output << ctrue; BOOST_CHECK(output.is_equal("1")); output << cfalse; BOOST_CHECK(output.is_equal("0")); } BOOST_AUTO_TEST_SUITE_END() BRiAl-1.2.12/tests/BooleEnvTest.cc000066400000000000000000000157771436062512100165710ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file BooleEnvTest.cc * * @author Ket Kalda, Alexander Dreyer * @date 2010-11-02 * * boost/test-driven unit test * * @par Copyright: * (c) 2010 by The PolyBoRi Team * **/ //***************************************************************************** #if 0 #include #include #if BOOST_VERSION < 107100 #include #else #include #endif using boost::test_tools::output_test_stream; #include #include #include USING_NAMESPACE_PBORI struct Fenv { Fenv(): ring(5) { BOOST_TEST_MESSAGE( "setup fixture" ); } ~Fenv() { BOOST_TEST_MESSAGE( "teardown fixture" ); } BoolePolyRing ring; }; BOOST_FIXTURE_TEST_SUITE(BooleEnvTestSuite, Fenv ) BOOST_AUTO_TEST_CASE(test_dd_type) { BOOST_TEST_MESSAGE( "variable, zero, one" ); BOOST_CHECK_THROW(BooleEnv::variable(-1), PBoRiError); BOOST_CHECK_EQUAL(BooleEnv::variable(0), ring.variable(0)); BOOST_CHECK_EQUAL(BooleEnv::variable(1), ring.variable(1)); BOOST_CHECK_EQUAL(BooleEnv::variable(2), ring.variable(2)); BOOST_CHECK_EQUAL(BooleEnv::variable(3), ring.variable(3)); BOOST_CHECK_EQUAL(BooleEnv::variable(4), ring.variable(4)); BOOST_CHECK_THROW(BooleEnv::variable(5), PBoRiError); BOOST_CHECK_EQUAL(BooleEnv::zero(), ring.zero()); BOOST_CHECK_EQUAL(BooleEnv::one(), ring.one()); } BOOST_AUTO_TEST_CASE(test_variables) { BOOST_TEST_MESSAGE( "nVariables, setVariableName, getVariableName" ); BOOST_CHECK_EQUAL(BooleEnv::nVariables(), ring.nVariables()); BooleEnv::setVariableName(0, "x"); BOOST_CHECK_EQUAL(BooleEnv::getVariableName(0), ring.getVariableName(0)); BOOST_CHECK_EQUAL(BooleEnv::getVariableName(0), "x"); ring.setVariableName(1, "y"); BOOST_CHECK_EQUAL(BooleEnv::getVariableName(1), ring.getVariableName(1)); BOOST_CHECK_EQUAL(BooleEnv::getVariableName(1), "y"); BooleEnv::setVariableName(2, "z"); BOOST_CHECK_EQUAL(BooleEnv::getVariableName(2), ring.getVariableName(2)); BOOST_CHECK_EQUAL(BooleEnv::getVariableName(2), "z"); ring.setVariableName(3, "v"); BOOST_CHECK_EQUAL(BooleEnv::getVariableName(3), ring.getVariableName(3)); BOOST_CHECK_EQUAL(BooleEnv::getVariableName(3), "v"); BooleEnv::setVariableName(4, "w"); BOOST_CHECK_EQUAL(BooleEnv::getVariableName(4), ring.getVariableName(4)); BOOST_CHECK_EQUAL(BooleEnv::getVariableName(4), "w"); BooleEnv::setVariableName(5, "t"); BOOST_CHECK_EQUAL(BooleEnv::getVariableName(5), ring.getVariableName(5)); BOOST_CHECK_EQUAL(BooleEnv::getVariableName(5), "t"); BOOST_CHECK_THROW( BooleEnv::setVariableName(-1, "r"), std::exception); BOOST_CHECK_THROW(BooleEnv::getVariableName(-1), std::exception); BOOST_CHECK_THROW(BooleEnv::getVariableName(-1), std::exception); } BOOST_AUTO_TEST_CASE(test_ordering) { BOOST_TEST_MESSAGE( "ordering, getOrderCode, getBaseOrderCode, changeOrdering" ); // BOOST_CHECK_EQUAL(BooleEnv::ordering().getOrderCode(), ring.ordering().getOrderCode()); BOOST_CHECK_EQUAL(BooleEnv::getOrderCode(), ring.ordering().getOrderCode()); BOOST_CHECK_EQUAL(BooleEnv::getBaseOrderCode(), ring.ordering().getBaseOrderCode()); BooleEnv::changeOrdering(COrderEnums::dlex); // BOOST_CHECK_EQUAL(BooleEnv::ordering().getOrderCode(), COrderEnums::dlex); BOOST_CHECK_EQUAL(BooleEnv::getOrderCode(), ring.ordering().getOrderCode()); ring.changeOrdering(COrderEnums::dp_asc); // BOOST_CHECK_EQUAL(BooleEnv::ordering().getOrderCode(), COrderEnums::dp_asc); BOOST_CHECK_EQUAL(BooleEnv::getOrderCode(), ring.ordering().getOrderCode()); BooleEnv::changeOrdering(COrderEnums::block_dlex); // BOOST_CHECK_EQUAL(BooleEnv::ordering().getOrderCode(), COrderEnums::block_dlex); BOOST_CHECK_EQUAL(BooleEnv::getOrderCode(), ring.ordering().getOrderCode()); ring.changeOrdering(COrderEnums::block_dp_asc); // BOOST_CHECK_EQUAL(BooleEnv::ordering().getOrderCode(), COrderEnums::block_dp_asc); BOOST_CHECK_EQUAL(BooleEnv::getOrderCode(), ring.ordering().getOrderCode()); BooleEnv::changeOrdering(-1); // BOOST_CHECK_EQUAL(BooleEnv::ordering().getOrderCode(), COrderEnums::lp);//default is lp BOOST_CHECK_EQUAL(BooleEnv::getOrderCode(), ring.ordering().getOrderCode()); BooleEnv::changeOrdering(5); // BOOST_CHECK_EQUAL(BooleEnv::ordering().getOrderCode(), COrderEnums::lp);//default is lp BOOST_CHECK_EQUAL(BooleEnv::getOrderCode(), ring.ordering().getOrderCode()); } BOOST_AUTO_TEST_CASE(test_ring) { ///@todo implement == for rings? BoolePolyRing notempty(3, 1, false); BoolePolyRing empty(0,2,false); // BOOST_TEST_MESSAGE( "ring, set" ); // BOOST_CHECK_EQUAL(BooleEnv::ring().ordering().getOrderCode(), ring.ordering().getOrderCode()); // BOOST_CHECK_EQUAL(BooleEnv::ring().nVariables(), ring.nVariables()); // BooleEnv::set(notempty); // BOOST_CHECK_EQUAL(BooleEnv::ring().ordering().getOrderCode(), notempty.ordering().getOrderCode()); // BOOST_CHECK_EQUAL(BooleEnv::ring().nVariables(), notempty.nVariables()); // BooleEnv::set(empty); // BOOST_CHECK_EQUAL(BooleEnv::ring().ordering().getOrderCode(), empty.ordering().getOrderCode()); // BOOST_CHECK_EQUAL(BooleEnv::ring().nVariables(), empty.nVariables()); // BooleEnv::set(ring); // BOOST_CHECK_EQUAL(BooleEnv::ring().ordering().getOrderCode(), ring.ordering().getOrderCode()); // BOOST_CHECK_EQUAL(BooleEnv::ring().nVariables(), ring.nVariables()); } BOOST_AUTO_TEST_CASE(test_blocks) { BOOST_TEST_MESSAGE( "blockBegin, blockEnd, appendBlock, clearBlocks, lastBlockStart" ); BOOST_CHECK_EQUAL(BooleEnv::lastBlockStart(), ring.ordering().lastBlockStart()); BOOST_CHECK_EQUAL(BooleEnv::lastBlockStart(), CUDD_MAXINDEX); output_test_stream output, output_ring; BooleEnv::changeOrdering(COrderEnums::block_dlex); BOOST_CHECK_THROW(BooleEnv::appendBlock(0), std::exception); BooleEnv::appendBlock(2); BoolePolyRing::block_iterator start(BooleEnv::blockBegin()), finish(BooleEnv::blockEnd()); while (start != finish) { output << *start <<", "; ++start; } start = ring.ordering().blockBegin(); finish = ring.ordering().blockEnd(); while (start != finish) { output_ring << *start <<", "; ++start; } BOOST_CHECK_EQUAL(output.str(),output_ring.str()); output_ring.str(""); output_ring << "2, " << CUDD_MAXINDEX << ", "; BOOST_CHECK_EQUAL(output.str(), output_ring.str()); BooleEnv::clearBlocks(); start = BooleEnv::blockBegin(); finish = BooleEnv::blockEnd(); output.str(""); while (start != finish) { output << *start <<", "; ++start; } start = ring.ordering().blockBegin(); finish = ring.ordering().blockEnd(); output_ring.str(""); while (start != finish) { output_ring << *start <<", "; ++start; } BOOST_CHECK_EQUAL(output.str(), output_ring.str()); output_ring.str(""); output_ring << CUDD_MAXINDEX << ", "; BOOST_CHECK_EQUAL(output.str(), output_ring.str()); } BOOST_AUTO_TEST_SUITE_END() #endif BRiAl-1.2.12/tests/BooleExponentTest.cc000066400000000000000000000715241436062512100176310ustar00rootroot00000000000000 // -*- c++ -*- //***************************************************************************** /** @file BooleExponentTest.cc * * @author Ket Kalda, Alexander Dreyer * @date 2010-10-19 * * boost/test-driven unit test * * @par Copyright: * (c) 2010 by The PolyBoRi Team * **/ //***************************************************************************** #include #include #if BOOST_VERSION < 107100 #include #else #include #endif using boost::test_tools::output_test_stream; #include #include USING_NAMESPACE_PBORI struct Fexp { typedef BooleExponent exp_type; typedef BooleMonomial monom_type; Fexp(const BoolePolyRing& input_ring = BoolePolyRing(5)): ring(input_ring), x(0, input_ring), y(1, input_ring), z(2, input_ring), v(3, input_ring), w(4, input_ring) { BOOST_TEST_MESSAGE( "setup fixture" ); ring.setVariableName(0, "x"); ring.setVariableName(1, "y"); ring.setVariableName(2, "z"); ring.setVariableName(3, "v"); ring.setVariableName(4, "w"); } ~Fexp() { BOOST_TEST_MESSAGE( "teardown fixture" ); } BoolePolyRing ring; BooleVariable x, y, z, v, w; }; BOOST_FIXTURE_TEST_SUITE(BooleExponentTestSuite, Fexp ) BOOST_AUTO_TEST_CASE(test_constructors) { BOOST_TEST_MESSAGE( "Constant exponents..." ); // removed, because this constructor is useless and confusing // BOOST_CHECK_EQUAL(exp_type(), exp_type(true)); // BOOST_CHECK_EQUAL(exp_type(), exp_type(false)); BOOST_CHECK_EQUAL(exp_type(), exp_type().get(BooleMonomial(ring))); BOOST_TEST_MESSAGE( "Exponents from monomials" ); output_test_stream output; output << exp_type(x*y*z*z); BOOST_CHECK(output.is_equal("(0, 1, 2)")); output << exp_type().get(x); BOOST_CHECK(output.is_equal("(0)")); output << exp_type().get(BooleMonomial(ring)); BOOST_CHECK(output.is_equal("()")); BOOST_CHECK_EQUAL(exp_type().get(BooleMonomial(exp_type(), ring)), exp_type()); BOOST_CHECK_EQUAL(exp_type(x*y*z), exp_type().get(x*y*z)); BOOST_CHECK_EQUAL(exp_type(x), exp_type().get(x)); BOOST_CHECK_EQUAL(exp_type(BooleMonomial(ring)), exp_type().get(BooleMonomial(ring))); BOOST_CHECK_EQUAL(exp_type(), exp_type().get(BooleMonomial(ring))); BOOST_CHECK_EQUAL(exp_type(x*y*z).get(v*w), exp_type().get(v*w)); } BOOST_AUTO_TEST_CASE(test_size_values) { exp_type exponent = exp_type().get(x*y*z*z); exp_type empty = exp_type(); BOOST_TEST_MESSAGE( "size" ); BOOST_CHECK_EQUAL(exponent.size(),3); BOOST_CHECK_EQUAL(empty.size(),0); BOOST_TEST_MESSAGE( "deg" ); BOOST_CHECK_EQUAL(exponent.deg(),3); BOOST_CHECK_EQUAL(empty.deg(),0); } BOOST_AUTO_TEST_CASE(test_divide) { exp_type exponent = exp_type().get(x*y*z*z); exp_type empty = exp_type(); output_test_stream output; BOOST_TEST_MESSAGE( "divisors" ); output << exponent.divisors(ring); BOOST_CHECK(output.is_equal("{{x,y,z}, {x,y}, {x,z}, {x}, {y,z}, {y}, {z}, {}}")); output << empty.divisors(ring); BOOST_CHECK(output.is_equal("{{}}")); BOOST_TEST_MESSAGE( "divide" ); output << exponent.divide(exp_type().get(y*z)); BOOST_CHECK(output.is_equal("(0)")); output << exponent.divide(exp_type()); BOOST_CHECK(output.is_equal("(0, 1, 2)")); output << exponent.divideByIndex(0); BOOST_CHECK(output.is_equal("(1, 2)")); output << exponent.divideByIndex(4); BOOST_CHECK(output.is_equal("()"));// Note: Difference from BooleMonomial output << exponent.divideByIndex(5); BOOST_CHECK(output.is_equal("()"));// Difference from BooleMonomial output << exponent.divideByIndex(-5); BOOST_CHECK(output.is_equal("()"));// Difference from BooleMonomial output << exponent.divide(BooleVariable(y)); BOOST_CHECK(output.is_equal("(0, 2)")); output << exponent.divide(BooleVariable(4, ring)); BOOST_CHECK(output.is_equal("()")); output << exponent.divide(BooleVariable(ring)); BOOST_CHECK(output.is_equal("(1, 2)")); output << exponent.divide(x*y*z); BOOST_CHECK(output.is_equal("()")); output << exponent.divide(BooleMonomial(ring)); BOOST_CHECK(output.is_equal("(0, 1, 2)")); output << empty.divide(exp_type().get(y*z));// Difference from BooleMonomial for all empty.divide BOOST_CHECK(output.is_equal("()")); output << empty.divide(exp_type()); BOOST_CHECK(output.is_equal("()")); output << empty.divideByIndex(0); BOOST_CHECK(output.is_equal("()")); output << empty.divideByIndex(4); BOOST_CHECK(output.is_equal("()")); output << empty.divideByIndex(5); BOOST_CHECK(output.is_equal("()")); output << empty.divideByIndex(-5); BOOST_CHECK(output.is_equal("()")); output << empty.divide(BooleVariable(y)); BOOST_CHECK(output.is_equal("()")); output << empty.divide(BooleVariable(4, ring)); BOOST_CHECK(output.is_equal("()")); output << empty.divide(BooleVariable(ring)); BOOST_CHECK(output.is_equal("()")); output << empty.divide(x*y*z); BOOST_CHECK(output.is_equal("()")); output << empty.divide(BooleMonomial(ring)); BOOST_CHECK(output.is_equal("()")); } BOOST_AUTO_TEST_CASE(test_multiply) { exp_type exponent = exp_type().get(x*y*z*z); exp_type empty = exp_type(); output_test_stream output; BOOST_TEST_MESSAGE( "multiples" ); output << exponent.multiples(exp_type().get(z*v*w), ring); BOOST_CHECK(output.is_equal("{{x,y,z,v,w}, {x,y,z,v}, {x,y,z,w}, {x,y,z}}")); output << exponent.multiples(exp_type().get(v), ring); BOOST_CHECK(output.is_equal("{{x,y,z,v}, {x,y,z}}")); output << exponent.multiples(exp_type().get(x), ring); BOOST_CHECK(output.is_equal("{{x,y,z}}")); output << exponent.multiples(exp_type(), ring); BOOST_CHECK(output.is_equal("{{x,y,z}}")); output << empty.multiples(exp_type().get(z*v*w), ring); BOOST_CHECK(output.is_equal("{{z,v,w}, {z,v}, {z,w}, {z}, {v,w}, {v}, {w}, {}}")); output << empty.multiples(exp_type().get(v), ring); BOOST_CHECK(output.is_equal("{{v}, {}}")); output << empty.multiples(exp_type().get(x), ring); BOOST_CHECK(output.is_equal("{{x}, {}}")); output << empty.multiples(exp_type(), ring); BOOST_CHECK(output.is_equal("{{}}")); output << exponent.multiples(z*v*w); BOOST_CHECK(output.is_equal("{{x,y,z,v,w}, {x,y,z,v}, {x,y,z,w}, {x,y,z}}")); output << exponent.multiples(v); BOOST_CHECK(output.is_equal("{{x,y,z,v}, {x,y,z}}")); output << exponent.multiples(x); BOOST_CHECK(output.is_equal("{{x,y,z}}")); output << exponent.multiples(monom_type(ring)); BOOST_CHECK(output.is_equal("{{x,y,z}}")); output << empty.multiples(z*v*w); BOOST_CHECK(output.is_equal("{{z,v,w}, {z,v}, {z,w}, {z}, {v,w}, {v}, {w}, {}}")); output << empty.multiples(v); BOOST_CHECK(output.is_equal("{{v}, {}}")); output << empty.multiples(x); BOOST_CHECK(output.is_equal("{{x}, {}}")); output << empty.multiples(monom_type(ring)); BOOST_CHECK(output.is_equal("{{}}")); BOOST_TEST_MESSAGE( "multiply" ); output << exponent.multiply(exp_type().get(y*z*v*w)); BOOST_CHECK(output.is_equal("(0, 1, 2, 3, 4)")); output << exponent.multiply(exp_type()); BOOST_CHECK(output.is_equal("(0, 1, 2)")); output << exponent.multiply(0); BOOST_CHECK(output.is_equal("(0, 1, 2)")); output << exponent.multiply(4); BOOST_CHECK(output.is_equal("(0, 1, 2, 4)")); output << exponent.multiply(5); BOOST_CHECK(output.is_equal("(0, 1, 2, 5)")); output << exponent.multiply(100); BOOST_CHECK(output.is_equal("(0, 1, 2, 100)")); output << exponent.multiply(BooleVariable(v)); BOOST_CHECK(output.is_equal("(0, 1, 2, 3)")); output << exponent.multiply(BooleVariable(4, ring)); BOOST_CHECK(output.is_equal("(0, 1, 2, 4)")); output << exponent.multiply(BooleVariable(ring)); BOOST_CHECK(output.is_equal("(0, 1, 2)")); output << exponent.multiply(v*w); BOOST_CHECK(output.is_equal("(0, 1, 2, 3, 4)")); output << exponent.multiply(BooleMonomial(ring)); BOOST_CHECK(output.is_equal("(0, 1, 2)")); output << empty.multiply(exp_type().get(y*z*v*w)); BOOST_CHECK(output.is_equal("(1, 2, 3, 4)")); output << empty.multiply(exp_type()); BOOST_CHECK(output.is_equal("()")); output << empty.multiply(0); BOOST_CHECK(output.is_equal("(0)")); output << empty.multiply(4); BOOST_CHECK(output.is_equal("(4)")); output << empty.multiply(5); BOOST_CHECK(output.is_equal("(5)")); output << empty.multiply(100); BOOST_CHECK(output.is_equal("(100)")); output << empty.multiply(BooleVariable(v)); BOOST_CHECK(output.is_equal("(3)")); output << empty.multiply(BooleVariable(4, ring)); BOOST_CHECK(output.is_equal("(4)")); output << empty.multiply(BooleVariable(ring)); BOOST_CHECK(output.is_equal("(0)")); output << empty.multiply(v*w); BOOST_CHECK(output.is_equal("(3, 4)")); output << empty.multiply(BooleMonomial(ring)); BOOST_CHECK(output.is_equal("()")); BOOST_TEST_MESSAGE( "multiplyFirst" ); BooleSet set(ring); output << exponent.multiplyFirst(set); BOOST_CHECK(output.is_equal("(0, 1, 2)")); set = set.add(BooleMonomial(ring)); output << exponent.multiplyFirst(set); BOOST_CHECK(output.is_equal("(0, 1, 2)")); set = set.add(v); output << exponent.multiplyFirst(set); BOOST_CHECK(output.is_equal("(0, 1, 2, 3)")); set = set.add(v*w); output << exponent.multiplyFirst(set); BOOST_CHECK(output.is_equal("(0, 1, 2, 3, 4)")); set = set.add(w); output << exponent.multiplyFirst(set); BOOST_CHECK(output.is_equal("(0, 1, 2, 3, 4)")); set = set.add(x); output << exponent.multiplyFirst(set); BOOST_CHECK(output.is_equal("(0, 1, 2)")); set = BooleSet(ring); output << empty.multiplyFirst(set); BOOST_CHECK(output.is_equal("()")); set = set.add(BooleMonomial(ring)); output << empty.multiplyFirst(set); BOOST_CHECK(output.is_equal("()")); set = set.add(v); output << empty.multiplyFirst(set); BOOST_CHECK(output.is_equal("(3)")); set = set.add(v*w); output << empty.multiplyFirst(set); BOOST_CHECK(output.is_equal("(3, 4)")); set = set.add(w); output << empty.multiplyFirst(set); BOOST_CHECK(output.is_equal("(3, 4)")); set = set.add(x); output << empty.multiplyFirst(set); BOOST_CHECK(output.is_equal("(0)")); } BOOST_AUTO_TEST_CASE(test_LCM) { output_test_stream output; exp_type exp1; exp_type exp2; BOOST_TEST_MESSAGE( "LCM of two monomials" ); exp1 = exp_type().get(x*x*y); exp2 = exp_type().get(z*v*w); output << LCM(exp1, exp2); BOOST_CHECK(output.is_equal("(0, 1, 2, 3, 4)")); BOOST_CHECK_EQUAL(exp1, exp_type().get(x*y)); BOOST_CHECK_EQUAL(exp2, exp_type().get(z*v*w)); exp1 = exp_type().get(x*x); exp2 = exp_type().get(z*v); output << LCM(exp1, exp2); BOOST_CHECK(output.is_equal("(0, 2, 3)")); BOOST_CHECK_EQUAL(exp1, exp_type().get(x)); BOOST_CHECK_EQUAL(exp2, exp_type().get(z*v)); exp1 = exp_type().get(x*y*z*v*w); exp2 = exp_type().get(x*y*z*v*w); output << LCM(exp1, exp2); BOOST_CHECK(output.is_equal("(0, 1, 2, 3, 4)")); BOOST_CHECK_EQUAL(exp1, exp_type().get(x*y*z*v*w)); BOOST_CHECK_EQUAL(exp2, exp_type().get(x*y*z*v*w)); exp1 = exp_type().get(x*y*z*v*w); exp2 = exp_type(); output << LCM(exp1, exp2); BOOST_CHECK(output.is_equal("(0, 1, 2, 3, 4)")); BOOST_CHECK_EQUAL(exp1, exp_type().get(x*y*z*v*w)); BOOST_CHECK_EQUAL(exp2, exp_type()); exp1 = exp_type(); exp2 = exp_type().get(x*y*z*v*w); output << LCM(exp1, exp2); BOOST_CHECK(output.is_equal("(0, 1, 2, 3, 4)")); BOOST_CHECK_EQUAL(exp1, exp_type()); BOOST_CHECK_EQUAL(exp2, exp_type().get(x*y*z*v*w)); exp1 = exp_type(); exp2 = exp_type(); output << LCM(exp1, exp2); BOOST_CHECK(output.is_equal("()")); BOOST_CHECK_EQUAL(exp1, exp_type()); BOOST_CHECK_EQUAL(exp2, exp_type()); BOOST_TEST_MESSAGE( "LCM as method of one monomial" ); exp1 = exp_type().get(x*x*y); exp2 = exp_type().get(z*v*w); output << exp1.LCM(exp2); BOOST_CHECK(output.is_equal("(0, 1, 2, 3, 4)")); BOOST_CHECK_EQUAL(exp1, exp_type().get(x*y)); BOOST_CHECK_EQUAL(exp2, exp_type().get(z*v*w)); exp1 = exp_type().get(x*x); exp2 = exp_type().get(z*v); output << exp1.LCM(exp2); BOOST_CHECK(output.is_equal("(0, 2, 3)")); BOOST_CHECK_EQUAL(exp1, exp_type().get(x)); BOOST_CHECK_EQUAL(exp2, exp_type().get(z*v)); exp1 = exp_type().get(x*y*z*v*w); exp2 = exp_type().get(x*y*z*v*w); output << exp1.LCM(exp2); BOOST_CHECK(output.is_equal("(0, 1, 2, 3, 4)")); BOOST_CHECK_EQUAL(exp1, exp_type().get(x*y*z*v*w)); BOOST_CHECK_EQUAL(exp2, exp_type().get(x*y*z*v*w)); exp1 = exp_type().get(x*y*z*v*w); exp2 = exp_type(); output << exp1.LCM(exp2); BOOST_CHECK(output.is_equal("(0, 1, 2, 3, 4)")); BOOST_CHECK_EQUAL(exp1, exp_type().get(x*y*z*v*w)); BOOST_CHECK_EQUAL(exp2, exp_type()); exp1 = exp_type(); exp2 = exp_type().get(x*y*z*v*w); output << exp1.LCM(exp2); BOOST_CHECK(output.is_equal("(0, 1, 2, 3, 4)")); BOOST_CHECK_EQUAL(exp1, exp_type()); BOOST_CHECK_EQUAL(exp2, exp_type().get(x*y*z*v*w)); exp1 = exp_type(); exp2 = exp_type(); output << exp1.LCM(exp2); BOOST_CHECK(output.is_equal("()")); BOOST_CHECK_EQUAL(exp1, exp_type()); BOOST_CHECK_EQUAL(exp2, exp_type()); BOOST_TEST_MESSAGE( "LCMDeg as method of one monomial" ); exp1 = exp_type().get(x*x*y); exp2 = exp_type().get(z*v*w); output << exp1.LCMDeg(exp2); BOOST_CHECK(output.is_equal("5")); BOOST_CHECK_EQUAL(exp1, exp_type().get(x*y)); BOOST_CHECK_EQUAL(exp2, exp_type().get(z*v*w)); exp1 = exp_type().get(x*x); exp2 = exp_type().get(z*v); output << exp1.LCMDeg(exp2); BOOST_CHECK(output.is_equal("3")); BOOST_CHECK_EQUAL(exp1, exp_type().get(x)); BOOST_CHECK_EQUAL(exp2, exp_type().get(z*v)); exp1 = exp_type().get(x*y*z*v*w); exp2 = exp_type().get(x*y*z*v*w); output << exp1.LCMDeg(exp2); BOOST_CHECK(output.is_equal("5")); BOOST_CHECK_EQUAL(exp1, exp_type().get(x*y*z*v*w)); BOOST_CHECK_EQUAL(exp2, exp_type().get(x*y*z*v*w)); exp1 = exp_type().get(x*y*z*v*w); exp2 = exp_type(); output << exp1.LCMDeg(exp2); BOOST_CHECK(output.is_equal("5")); BOOST_CHECK_EQUAL(exp1, exp_type().get(x*y*z*v*w)); BOOST_CHECK_EQUAL(exp2, exp_type()); exp1 = exp_type(); exp2 = exp_type().get(x*y*z*v*w); output << exp1.LCMDeg(exp2); BOOST_CHECK(output.is_equal("5")); BOOST_CHECK_EQUAL(exp1, exp_type()); BOOST_CHECK_EQUAL(exp2, exp_type().get(x*y*z*v*w)); exp1 = exp_type(); exp2 = exp_type(); output << exp1.LCMDeg(exp2); BOOST_CHECK(output.is_equal("0")); BOOST_CHECK_EQUAL(exp1, exp_type()); BOOST_CHECK_EQUAL(exp2, exp_type()); exp1 = exp_type().get(x); exp2 = exp_type().get(x); output << exp1.LCMDeg(exp2); BOOST_CHECK(output.is_equal("1")); BOOST_CHECK_EQUAL(exp1, exp_type().get(x)); BOOST_CHECK_EQUAL(exp2, exp_type().get(x)); exp1 = exp_type().get(x); exp2 = exp_type().get(y); output << exp1.LCMDeg(exp2); BOOST_CHECK(output.is_equal("2")); BOOST_CHECK_EQUAL(exp1, exp_type().get(x)); BOOST_CHECK_EQUAL(exp2, exp_type().get(y)); } BOOST_AUTO_TEST_CASE(test_GCD) { output_test_stream output; exp_type exp1; exp_type exp2; BOOST_TEST_MESSAGE( "GCD of two monomials" ); exp1 = exp_type().get(x*x*y); exp2 = exp_type().get(z*v*w); output << GCD(exp1, exp2); BOOST_CHECK(output.is_equal("()")); BOOST_CHECK_EQUAL(exp1, exp_type().get(x*y)); BOOST_CHECK_EQUAL(exp2, exp_type().get(z*v*w)); exp1 = exp_type().get(x*y*z*v*w); exp2 = exp_type().get(x*y*z*v*w); output << GCD(exp1, exp2); BOOST_CHECK(output.is_equal("(0, 1, 2, 3, 4)")); BOOST_CHECK_EQUAL(exp1, exp_type().get(x*y*z*v*w)); BOOST_CHECK_EQUAL(exp2, exp_type().get(x*y*z*v*w)); exp1 = exp_type().get(x*y*z*v*w); exp2 = exp_type(); output << GCD(exp1, exp2); BOOST_CHECK(output.is_equal("()")); BOOST_CHECK_EQUAL(exp1, exp_type().get(x*y*z*v*w)); BOOST_CHECK_EQUAL(exp2, exp_type()); exp1 = exp_type(); exp2 = exp_type().get(x*y*z*v*w); output << GCD(exp1, exp2); BOOST_CHECK(output.is_equal("()")); BOOST_CHECK_EQUAL(exp1, exp_type()); BOOST_CHECK_EQUAL(exp2, exp_type().get(x*y*z*v*w)); exp1 = exp_type(); exp2 = exp_type(); output << GCD(exp1, exp2); BOOST_CHECK(output.is_equal("()")); BOOST_CHECK_EQUAL(exp1, exp_type()); BOOST_CHECK_EQUAL(exp2, exp_type()); BOOST_TEST_MESSAGE( "GCD as method of one monomial" ); exp1 = exp_type().get(x*x*y); exp2 = exp_type().get(z*v*w); output << exp1.GCD(exp2); BOOST_CHECK(output.is_equal("()")); BOOST_CHECK_EQUAL(exp1, exp_type().get(x*y)); BOOST_CHECK_EQUAL(exp2, exp_type().get(z*v*w)); exp1 = exp_type().get(x*y*z*v*w); exp2 = exp_type().get(x*y*z*v*w); output << exp1.GCD(exp2); BOOST_CHECK(output.is_equal("(0, 1, 2, 3, 4)")); BOOST_CHECK_EQUAL(exp1, exp_type().get(x*y*z*v*w)); BOOST_CHECK_EQUAL(exp2, exp_type().get(x*y*z*v*w)); exp1 = exp_type().get(x*y*z*v*w); exp2 = exp_type(); output << exp1.GCD(exp2); BOOST_CHECK(output.is_equal("()")); BOOST_CHECK_EQUAL(exp1, exp_type().get(x*y*z*v*w)); BOOST_CHECK_EQUAL(exp2, exp_type()); exp1 = exp_type(); exp2 = exp_type().get(x*y*z*v*w); output << exp1.GCD(exp2); BOOST_CHECK(output.is_equal("()")); BOOST_CHECK_EQUAL(exp1, exp_type()); BOOST_CHECK_EQUAL(exp2, exp_type().get(x*y*z*v*w)); exp1 = exp_type(); exp2 = exp_type(); output << exp1.GCD(exp2); BOOST_CHECK(output.is_equal("()")); BOOST_CHECK_EQUAL(exp1, exp_type()); BOOST_CHECK_EQUAL(exp2, exp_type()); } BOOST_AUTO_TEST_CASE(test_add_remove) { exp_type exponent = exp_type().get(x*y*z*z); exp_type empty = exp_type(); output_test_stream output; BOOST_TEST_MESSAGE( "insert, push_back, insertConst" ); exp_type exponent2 = exponent; exponent2.insert(0); BOOST_CHECK_EQUAL(exponent2, exp_type().get(x*y*z)); exponent2.insert(4); BOOST_CHECK_EQUAL(exponent2, exp_type().get(x*y*z*w)); exponent2.insert(3); BOOST_CHECK_EQUAL(exponent2, exp_type().get(x*y*z*v*w)); exponent2.insert(5); output << exponent2; BOOST_CHECK(output.is_equal("(0, 1, 2, 3, 4, 5)")); exponent2.insert(99); output << exponent2; BOOST_CHECK(output.is_equal("(0, 1, 2, 3, 4, 5, 99)")); BOOST_CHECK_NE(exponent2, exponent); exp_type empty2; empty2.insert(5); output << empty2; BOOST_CHECK(output.is_equal("(5)")); empty2.insert(2); output << empty2; BOOST_CHECK(output.is_equal("(2, 5)")); empty2.insert(20); output << empty2; BOOST_CHECK(output.is_equal("(2, 5, 20)")); BOOST_CHECK_NE(empty2, empty); exponent2 = exponent; exponent2.push_back(0); BOOST_CHECK_EQUAL(exponent2, exp_type().get(x*y*z)); exponent2.push_back(4); BOOST_CHECK_EQUAL(exponent2, exp_type().get(x*y*z*w)); exponent2.push_back(4); BOOST_CHECK_EQUAL(exponent2, exp_type().get(x*y*z*w)); exponent2.push_back(3); BOOST_CHECK_EQUAL(exponent2, exp_type().get(x*y*z*v*w)); exponent2.push_back(5); output << exponent2; BOOST_CHECK(output.is_equal("(0, 1, 2, 3, 4, 5)")); exponent2.push_back(99); output << exponent2; BOOST_CHECK(output.is_equal("(0, 1, 2, 3, 4, 5, 99)")); BOOST_CHECK_NE(exponent2, exponent); empty2 = empty; empty2.push_back(5); output << empty2; BOOST_CHECK(output.is_equal("(5)")); empty2.push_back(2); output << empty2; BOOST_CHECK(output.is_equal("(2, 5)")); empty2.push_back(20); output << empty2; BOOST_CHECK(output.is_equal("(2, 5, 20)")); BOOST_CHECK_NE(empty2, empty); exponent2 = exponent.insertConst(0); BOOST_CHECK_EQUAL(exponent2, exp_type().get(x*y*z)); exponent2 = exponent2.insertConst(4); BOOST_CHECK_EQUAL(exponent2, exp_type().get(x*y*z*w)); exponent2 = exponent2.insertConst(3); BOOST_CHECK_EQUAL(exponent2, exp_type().get(x*y*z*v*w)); exponent2 = exponent2.insertConst(5); output << exponent2; BOOST_CHECK(output.is_equal("(0, 1, 2, 3, 4, 5)")); exponent2 = exponent2.insertConst(99); output << exponent2; BOOST_CHECK(output.is_equal("(0, 1, 2, 3, 4, 5, 99)")); BOOST_CHECK_NE(exponent2, exponent); empty2 = empty; empty2 = empty.insertConst(5); output << empty2; BOOST_CHECK(output.is_equal("(5)")); empty2 = empty2.insertConst(2); output << empty2; BOOST_CHECK(output.is_equal("(2, 5)")); empty2 = empty2.insertConst(20); output << empty2; BOOST_CHECK(output.is_equal("(2, 5, 20)")); BOOST_CHECK_NE(empty2, empty); BOOST_TEST_MESSAGE( "remove, removeConst" ); exp_type exponent3 = exponent2; exponent3.remove(0); output << exponent3; BOOST_CHECK(output.is_equal("(1, 2, 3, 4, 5, 99)")); exponent3.remove(4); output << exponent3; BOOST_CHECK(output.is_equal("(1, 2, 3, 5, 99)")); exponent3.remove(3); output << exponent3; BOOST_CHECK(output.is_equal("(1, 2, 5, 99)")); exponent3.remove(5); output << exponent3; BOOST_CHECK(output.is_equal("(1, 2, 99)")); exponent3.remove(99); output << exponent3; BOOST_CHECK(output.is_equal("(1, 2)")); BOOST_CHECK_NE(exponent3, exponent2); exponent3.remove(100); output << exponent3; BOOST_CHECK(output.is_equal("(1, 2)")); exp_type empty3 = empty2; empty3.remove(5); output << empty3; BOOST_CHECK(output.is_equal("(2, 20)")); empty3.remove(2); output << empty3; BOOST_CHECK(output.is_equal("(20)")); empty3.remove(20); output << empty3; BOOST_CHECK(output.is_equal("()")); empty3.remove(20); output << empty3; BOOST_CHECK(output.is_equal("()")); BOOST_CHECK_NE(empty3, empty2); exponent3 = exponent2; exponent3 = exponent2.removeConst(0); output << exponent3; BOOST_CHECK(output.is_equal("(1, 2, 3, 4, 5, 99)")); exponent3 = exponent3.removeConst(4); output << exponent3; BOOST_CHECK(output.is_equal("(1, 2, 3, 5, 99)")); exponent3 = exponent3.removeConst(3); output << exponent3; BOOST_CHECK(output.is_equal("(1, 2, 5, 99)")); exponent3 = exponent3.removeConst(5); output << exponent3; BOOST_CHECK(output.is_equal("(1, 2, 99)")); exponent3 = exponent3.removeConst(99); output << exponent3; BOOST_CHECK(output.is_equal("(1, 2)")); BOOST_CHECK_NE(exponent3, exponent2); exponent3 = exponent3.removeConst(100); output << exponent3; BOOST_CHECK(output.is_equal("(1, 2)")); empty3 = empty2; empty3 = empty2.removeConst(5); output << empty3; BOOST_CHECK(output.is_equal("(2, 20)")); empty3 = empty3.removeConst(2); output << empty3; BOOST_CHECK(output.is_equal("(20)")); empty3 = empty3.removeConst(20); output << empty3; BOOST_CHECK(output.is_equal("()")); empty3 = empty3.removeConst(100); output << empty3; BOOST_CHECK(output.is_equal("()")); BOOST_CHECK_NE(empty3, empty2); } BOOST_AUTO_TEST_CASE(test_change) { exp_type exponent = exp_type().get(x*y*z*z); exp_type empty = exp_type(); output_test_stream output; BOOST_TEST_MESSAGE( "change, changeAssign" ); output << exponent.change(1); BOOST_CHECK(output.is_equal("(0, 2)")); output << exponent.change(0); BOOST_CHECK(output.is_equal("(1, 2)")); output << exponent.change(2); BOOST_CHECK(output.is_equal("(0, 1)")); output << exponent.change(3); BOOST_CHECK(output.is_equal("(0, 1, 2, 3)")); output << exponent.change(100); BOOST_CHECK(output.is_equal("(0, 1, 2, 100)")); output << empty.change(1); BOOST_CHECK(output.is_equal("(1)")); output << empty.change(99); BOOST_CHECK(output.is_equal("(99)")); output << exponent.changeAssign(1); BOOST_CHECK(output.is_equal("(0, 2)")); output << exponent.changeAssign(0); BOOST_CHECK(output.is_equal("(2)")); output << exponent.changeAssign(2); BOOST_CHECK(output.is_equal("()")); output << exponent.changeAssign(3); BOOST_CHECK(output.is_equal("(3)")); output << exponent.changeAssign(100); BOOST_CHECK(output.is_equal("(3, 100)")); output << empty.changeAssign(1); BOOST_CHECK(output.is_equal("(1)")); output << empty.changeAssign(99); BOOST_CHECK(output.is_equal("(1, 99)")); } BOOST_AUTO_TEST_CASE(test_logical_operators) { BOOST_TEST_MESSAGE( "Logical operators..." ); output_test_stream output; exp_type exp1; exp_type exp2; BOOST_TEST_MESSAGE( "== and !=" ); BOOST_CHECK_EQUAL(exp_type(), exp_type()); BOOST_CHECK(!(exp_type() !=exp_type())); } BOOST_AUTO_TEST_CASE(test_reducible) { exp_type exponent = exp_type().get(x*y*z*z); exp_type empty = exp_type(); output_test_stream output; BOOST_TEST_MESSAGE( "reducibleBy" ); BOOST_CHECK(exponent.reducibleBy(exp_type().get(x))); BOOST_CHECK(exponent.reducibleBy(exp_type().get(y))); BOOST_CHECK(exponent.reducibleBy(exp_type().get(z))); BOOST_CHECK(exponent.reducibleBy(exp_type().get(x*y))); BOOST_CHECK(exponent.reducibleBy(exp_type().get(x*z))); BOOST_CHECK(exponent.reducibleBy(exp_type().get(y*z))); BOOST_CHECK(exponent.reducibleBy(exp_type().get(y*z*x))); BOOST_CHECK(exponent.reducibleBy(exp_type())); BOOST_CHECK(!exponent.reducibleBy(exp_type().get(v))); BOOST_CHECK(!exponent.reducibleBy(exp_type().get(x*v))); BOOST_CHECK(empty.reducibleBy(exp_type())); BOOST_CHECK(!empty.reducibleBy(exp_type().get(x))); BOOST_CHECK(!empty.reducibleBy(exp_type().get(x*y))); BOOST_CHECK(exponent.reducibleBy(BooleMonomial(x))); BOOST_CHECK(exponent.reducibleBy(BooleMonomial(y))); BOOST_CHECK(exponent.reducibleBy(BooleMonomial(z))); BOOST_CHECK(exponent.reducibleBy(x*y)); BOOST_CHECK(exponent.reducibleBy(x*z)); BOOST_CHECK(exponent.reducibleBy(y*z)); BOOST_CHECK(exponent.reducibleBy(y*z*x)); BOOST_CHECK(exponent.reducibleBy(BooleMonomial(ring))); BOOST_CHECK(!exponent.reducibleBy(BooleMonomial(v))); BOOST_CHECK(!exponent.reducibleBy(x*v)); BOOST_CHECK(empty.reducibleBy(BooleMonomial(ring))); BOOST_CHECK(!empty.reducibleBy(BooleMonomial(x))); BOOST_CHECK(!empty.reducibleBy(x*y)); BOOST_CHECK(exponent.reducibleBy(x)); BOOST_CHECK(exponent.reducibleBy(y)); BOOST_CHECK(exponent.reducibleBy(z)); BOOST_CHECK(exponent.reducibleBy(BooleVariable(ring))); BOOST_CHECK(!exponent.reducibleBy(v)); BOOST_CHECK(!empty.reducibleBy(BooleVariable(ring))); // as BooleVariable() = x BOOST_CHECK(!empty.reducibleBy(x)); BOOST_CHECK(exponent.reducibleBy(0)); BOOST_CHECK(exponent.reducibleBy(1)); BOOST_CHECK(exponent.reducibleBy(2)); BOOST_CHECK(!exponent.reducibleBy(3)); BOOST_CHECK(!exponent.reducibleBy(5)); BOOST_CHECK(!exponent.reducibleBy(-5)); BOOST_CHECK(!empty.reducibleBy(0)); BOOST_CHECK(!empty.reducibleBy(-5)); } BOOST_AUTO_TEST_CASE(test_assigning_operators) { output_test_stream output; BOOST_TEST_MESSAGE( "Assignments..." ); BOOST_TEST_MESSAGE( "+" ); output << ((((exp_type().get(x) + y) + z) + v)+ w); BOOST_CHECK(output.is_equal("(0, 1, 2, 3, 4)")); output << ((((exp_type().get(x) + x) + x) + x)+ x); BOOST_CHECK(output.is_equal("(0)")); BOOST_CHECK_EQUAL(exp_type().get(x*y)+exp_type(),exp_type().get(x*y)); BOOST_CHECK_EQUAL(exp_type()+exp_type().get(x*z),exp_type().get(x*z)); BOOST_CHECK_EQUAL(exp_type()+exp_type(),exp_type()); BOOST_TEST_MESSAGE( "-" ); output << ((exp_type().get(x*y*z*v*w)- x)- v); BOOST_CHECK(output.is_equal("(1, 2, 4)")); output << (exp_type().get(x*y*z*v*w)- exp_type()); BOOST_CHECK(output.is_equal("(0, 1, 2, 3, 4)")); // The following corresponds to division of monomials BOOST_CHECK_EQUAL(exp_type()-exp_type().get(x), exp_type()); BOOST_CHECK_EQUAL(exp_type().get(y)-exp_type().get(x), exp_type()); BOOST_CHECK_EQUAL(exp_type().get(z*y)-exp_type().get(x), exp_type()); BOOST_TEST_MESSAGE( "=" ); exp_type exponent; exponent = x*y*z; BOOST_CHECK_EQUAL(exponent, exp_type().get(x*y*z)); exponent = x; BOOST_CHECK_EQUAL(exponent, exp_type().get(x)); exponent = BooleMonomial(ring); BOOST_CHECK_EQUAL(exponent, exp_type()); BooleExponent exponent2; exponent2.insert(5); exponent2.insert(11); exponent2.insert(0); output << exponent2; BOOST_CHECK(output.is_equal("(0, 5, 11)")); } BOOST_AUTO_TEST_CASE(test_popFirst) { output_test_stream output; exp_type exponent = exp_type().get(x*y*z*z); exp_type empty = exp_type(); BOOST_TEST_MESSAGE( "popFirst" ); BOOST_CHECK_EQUAL(exponent.popFirst(), exp_type().get(y*z)); BOOST_CHECK_EQUAL(exponent.popFirst(), exp_type().get(z)); BOOST_CHECK_EQUAL(exponent.popFirst(), exp_type()); BOOST_CHECK_EQUAL(exponent.popFirst(), exp_type()); } BOOST_AUTO_TEST_CASE(test_hash) { exp_type exp = exp_type().get(x*y*v); exp_type exp2; exp2.insert(0); exp2.insert(1); exp2.insert(3); exp_type exp2cpy = exp2; exp_type empty; exp_type empty2; exp_type empty2cpy = empty2; output_test_stream output; BOOST_TEST_MESSAGE( "hash" ); BOOST_CHECK_EQUAL(exp, exp2); BOOST_CHECK_EQUAL(exp.hash(), exp2.hash()); exp2.insert(2); BOOST_CHECK_NE(exp.hash(), exp2.hash()); BOOST_CHECK_EQUAL(empty, empty2); BOOST_CHECK_EQUAL(empty.hash(), empty2.hash()); empty2 = empty.insertConst(0); BOOST_CHECK_NE(empty.hash(), empty2.hash()); empty2 = empty2cpy; empty2.insert(1); BOOST_CHECK_NE(empty, empty2); BOOST_CHECK_NE(empty.hash(), empty2.hash()); exp2 = exp2cpy; empty2 = empty2cpy; BOOST_TEST_MESSAGE( "stableHash" ); BOOST_CHECK_EQUAL(exp, exp2); BOOST_CHECK_EQUAL(exp.stableHash(), exp2.stableHash()); exp2.insert(2); BOOST_CHECK_NE(exp.stableHash(), exp2.stableHash()); BOOST_CHECK_EQUAL(empty, empty2); BOOST_CHECK_EQUAL(empty.stableHash(), empty2.stableHash()); empty2 = empty.insertConst(0); BOOST_CHECK_NE(empty.stableHash(), empty2.stableHash()); empty2 = empty2cpy; empty2.insert(1); BOOST_CHECK_NE(empty, empty2); BOOST_CHECK_NE(empty.stableHash(), empty2.stableHash()); } BOOST_AUTO_TEST_SUITE_END() BRiAl-1.2.12/tests/BooleMonomialTest.cc000066400000000000000000000465511436062512100176060ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file BooleMonomialTest.cc * * @author Ket Kalda, Alexander Dreyer * @date 2010-09-16 * * boost/test-driven unit test * * @par Copyright: * (c) 2010 by The PolyBoRi Team * **/ //***************************************************************************** #include #include #if BOOST_VERSION < 107100 #include #else #include #endif using boost::test_tools::output_test_stream; #include #include #include #include #include #include USING_NAMESPACE_PBORI struct Fmonom { typedef BooleMonomial monom_type; Fmonom(const BoolePolyRing& input_ring = BoolePolyRing(5)): ring(input_ring), bset(1, ring.one(), ring.zero()), bexp(BooleExponent().change(1)), x(0, input_ring), y(1, input_ring), z(2, input_ring), v(3, input_ring), w(4, input_ring) { BOOST_TEST_MESSAGE( "setup fixture" ); bset = BooleSet(1, ring.one(), ring.zero()); // something non-trivial ring.setVariableName(0, "x"); ring.setVariableName(1, "y"); ring.setVariableName(2, "z"); ring.setVariableName(3, "v"); ring.setVariableName(4, "w"); } ~Fmonom() { BOOST_TEST_MESSAGE( "teardown fixture" ); } BoolePolyRing ring; BooleSet bset; BooleExponent bexp; BooleVariable x, y, z, v, w; }; BOOST_FIXTURE_TEST_SUITE(BooleMonomialTestSuite, Fmonom ) BOOST_AUTO_TEST_CASE(test_constructors) { BOOST_TEST_MESSAGE( "Constant monomials..." ); BOOST_CHECK_EQUAL(monom_type(ring), BooleConstant(true)); BOOST_TEST_MESSAGE( "Polynomials from other types (variables, exponents, rings)..." ); BOOST_CHECK_EQUAL(monom_type(x), x); BOOST_CHECK_EQUAL(monom_type(bexp,ring), y); BOOST_CHECK_EQUAL(monom_type(BooleExponent(),ring), BooleMonomial(ring)); BOOST_CHECK_EQUAL(monom_type(ring), BooleConstant(true)); BooleExponent exponent; exponent.insert(4); exponent.insert(0); BooleMonomial monom(exponent, ring); output_test_stream output; output << monom; BOOST_CHECK(output.is_equal("x*w")); exponent.insert(5); BOOST_CHECK_THROW(BooleMonomial(exponent, ring), PBoRiError); } BOOST_AUTO_TEST_CASE(test_assigning_operators) { BOOST_TEST_MESSAGE( "Assignments..." ); output_test_stream output; BOOST_TEST_MESSAGE( "*=" ); output << ((((monom_type(x) *= y) *= z) *= v)*= w); BOOST_CHECK(output.is_equal("x*y*z*v*w")); output << ((((monom_type(x) *= x) *= x) *= x)*= x); BOOST_CHECK(output.is_equal("x")); BOOST_CHECK_EQUAL(monom_type(x*y)*=monom_type(ring),monom_type(x*y)); BOOST_CHECK_EQUAL(monom_type(ring)*=monom_type(x*z),monom_type(x*z)); BOOST_CHECK_EQUAL(monom_type(ring)*=monom_type(ring),monom_type(ring)); BOOST_TEST_MESSAGE( "/ and /=" ); output << ((monom_type(x*y*z*v*w)/= x)/= v); BOOST_CHECK(output.is_equal("y*z*w")); output << ((monom_type(x*y*z*v*w)/= x)/= v); BOOST_CHECK(output.is_equal("y*z*w")); output << ((monom_type(x*y*z*v*w)/= monom_type(x))/= monom_type(v)); BOOST_CHECK(output.is_equal("y*z*w")); output << ((monom_type(x*y*z*v*w)/= monom_type(x))/= monom_type(v)); BOOST_CHECK(output.is_equal("y*z*w")); output << (monom_type(x*y*z*v*w)/= monom_type(ring)); BOOST_CHECK(output.is_equal("x*y*z*v*w")); output << ((monom_type(x*y*z*v*w)/ x)/ v); BOOST_CHECK(output.is_equal("y*z*w")); output << ((monom_type(x*y*z*v*w)/ x)/ v); BOOST_CHECK(output.is_equal("y*z*w")); output << ((monom_type(x*y*z*v*w)/ monom_type(x))/ monom_type(v)); BOOST_CHECK(output.is_equal("y*z*w")); output << ((monom_type(x*y*z*v*w)/ monom_type(x))/ monom_type(v)); BOOST_CHECK(output.is_equal("y*z*w")); output << (monom_type(x*y*z*v*w)/ monom_type(ring)); BOOST_CHECK(output.is_equal("x*y*z*v*w")); BOOST_CHECK_THROW(monom_type(ring)/monom_type(x), PBoRiError); BOOST_CHECK_THROW(monom_type(y)/monom_type(x), PBoRiError); BOOST_CHECK_THROW(monom_type(z*y)/monom_type(x), PBoRiError); BOOST_CHECK_THROW(monom_type(ring)/=monom_type(x), PBoRiError); BOOST_CHECK_THROW(monom_type(y)/=monom_type(x), PBoRiError); BOOST_CHECK_THROW(monom_type(z*y)/=monom_type(x), PBoRiError); BOOST_CHECK_THROW(monom_type(ring)/x, PBoRiError); BOOST_CHECK_THROW(monom_type(y)/x, PBoRiError); BOOST_CHECK_THROW(monom_type(z*y)/x, PBoRiError); BOOST_CHECK_THROW(monom_type(ring)/=x, PBoRiError); BOOST_CHECK_THROW(monom_type(y)/=x, PBoRiError); BOOST_CHECK_THROW(monom_type(z*y)/=x, PBoRiError); } BOOST_AUTO_TEST_CASE(test_properties) { BOOST_TEST_MESSAGE( "isOne, isConstant" ); BOOST_CHECK_EQUAL(monom_type(ring).isOne(), true); BOOST_CHECK_EQUAL(monom_type(ring).isConstant(), true); BOOST_CHECK_EQUAL(monom_type(x).isOne(), false); BOOST_CHECK_EQUAL(monom_type(x).isConstant(), false); BOOST_CHECK_EQUAL(monom_type(ring).isOne(), true); BOOST_CHECK_EQUAL(monom_type(ring).isConstant(), true); } BOOST_AUTO_TEST_CASE(test_methods) { BOOST_TEST_MESSAGE( "Methods..." ); output_test_stream output; monom_type monom(ring); monom_type monom2(ring); BOOST_TEST_MESSAGE( "firstVariable and firstIndex" ); BOOST_CHECK_EQUAL(monom_type(v*w*y*z*x).firstVariable(), x); output << monom_type(v*w*y*z*x).firstIndex(); BOOST_CHECK(output.is_equal("0")); BOOST_TEST_MESSAGE( "popFirst" ); monom = monom_type(y*x); output << monom.popFirst(); BOOST_CHECK(output.is_equal("y")); BOOST_CHECK_EQUAL(monom, monom_type(y)); output << monom.popFirst(); BOOST_CHECK(output.is_equal("1")); BOOST_CHECK_EQUAL(monom, monom_type(ring)); // Assertion (if debug) // output << monom.popFirst(); // BOOST_CHECK(output.is_equal("1")); BOOST_TEST_MESSAGE( "deg and size" ); monom = monom_type(v*y*x*x*z); output << monom.deg(); BOOST_CHECK(output.is_equal("4")); output << monom.size(); BOOST_CHECK(output.is_equal("4")); monom = monom_type(ring); output << monom.deg(); BOOST_CHECK(output.is_equal("0")); output << monom.size(); BOOST_CHECK(output.is_equal("0")); monom = monom_type(x*w); output << monom.deg(); BOOST_CHECK(output.is_equal("2")); output << monom.size(); BOOST_CHECK(output.is_equal("2")); BOOST_TEST_MESSAGE( "exp" ); monom = monom_type(x*w*z); output << monom.exp(); BOOST_CHECK(output.is_equal("(0, 2, 4)")); monom = monom_type(ring); output << monom.exp(); BOOST_CHECK(output.is_equal("()")); BOOST_TEST_MESSAGE( "multiples" ); monom = monom_type(x*w*z); monom2 = monom_type(x*y*z*v*w); output << monom.multiples(monom2); BOOST_CHECK(output.is_equal("{{x,y,z,v,w}, {x,y,z,w}, {x,z,v,w}, {x,z,w}}")); output << monom.multiples(monom_type(ring)); BOOST_CHECK(output.is_equal("{{x,z,w}}")); monom = monom_type(ring); monom2 = monom_type(x*y); output << monom.multiples(monom2); BOOST_CHECK(output.is_equal("{{x,y}, {x}, {y}, {}}")); monom = monom_type(ring); monom2 = monom_type(ring); output << monom.multiples(monom2); BOOST_CHECK(output.is_equal("{{}}")); } BOOST_AUTO_TEST_CASE(test_logical_operators) { BOOST_TEST_MESSAGE( "Logical operators..." ); output_test_stream output; monom_type monom1(ring); monom_type monom2(ring); BOOST_TEST_MESSAGE( "== and !=" ); BOOST_CHECK_EQUAL(monom_type(ring), monom_type(ring)); BOOST_CHECK(!(monom_type(ring)!=monom_type(ring))); BOOST_CHECK_EQUAL(monom_type(ring), BooleConstant(true)); BOOST_CHECK(!(monom_type(ring) != BooleConstant(true))); BOOST_CHECK_EQUAL(monom_type(x), x); BOOST_CHECK(!(monom_type(x) != x)); BOOST_TEST_MESSAGE( "compare as method of one monomial" ); monom1 = monom_type(ring); monom2 = monom_type(x*y*z*v*w); output << monom1.compare(monom2); BOOST_CHECK(output.is_equal("-1")); monom1 = monom_type(x); monom2 = monom_type(x*y); output << monom1.compare(monom2); BOOST_CHECK(output.is_equal("-1")); monom1 = monom_type(x*y*z); monom2 = monom_type(x*z); output << monom1.compare(monom2); BOOST_CHECK(output.is_equal("1")); monom1 = monom_type(x*y*z); monom2 = monom_type(x*y*z); output << monom1.compare(monom2); BOOST_CHECK(output.is_equal("0")); BOOST_TEST_MESSAGE( ">, <, >= and <=" ); monom1 = monom_type(ring); monom2 = monom_type(x*y*z*v*w); BOOST_CHECK_EQUAL(monom1 < monom2, true); BOOST_CHECK_EQUAL(monom1 <= monom2, true); BOOST_CHECK_EQUAL(monom1 > monom2, false); BOOST_CHECK_EQUAL(monom1 >= monom2, false); monom1 = monom_type(x); monom2 = monom_type(x*y); BOOST_CHECK_EQUAL(monom1 < monom2, true); BOOST_CHECK_EQUAL(monom1 <= monom2, true); BOOST_CHECK_EQUAL(monom1 > monom2, false); BOOST_CHECK_EQUAL(monom1 >= monom2, false); monom1 = monom_type(x*y*z); monom2 = monom_type(x*z); BOOST_CHECK_EQUAL(monom1 < monom2, false); BOOST_CHECK_EQUAL(monom1 <= monom2, false); BOOST_CHECK_EQUAL(monom1 > monom2, true); BOOST_CHECK_EQUAL(monom1 >= monom2, true); monom1 = monom_type(x*y*z); monom2 = monom_type(x*y*z); BOOST_CHECK_EQUAL(monom1 < monom2, false); BOOST_CHECK_EQUAL(monom1 <= monom2, true); BOOST_CHECK_EQUAL(monom1 > monom2, false); BOOST_CHECK_EQUAL(monom1 >= monom2, true); } BOOST_AUTO_TEST_CASE(test_LCM) { output_test_stream output; monom_type monom1(ring); monom_type monom2(ring); BOOST_TEST_MESSAGE( "LCM of two monomials" ); monom1 = monom_type(x*x*y); monom2 = monom_type(z*v*w); output << LCM(monom1, monom2); BOOST_CHECK(output.is_equal("x*y*z*v*w")); BOOST_CHECK_EQUAL(monom1, monom_type(x*y)); BOOST_CHECK_EQUAL(monom2, monom_type(z*v*w)); monom1 = monom_type(x*y*z*v*w); monom2 = monom_type(x*y*z*v*w); output << LCM(monom1, monom2); BOOST_CHECK(output.is_equal("x*y*z*v*w")); BOOST_CHECK_EQUAL(monom1, monom_type(x*y*z*v*w)); BOOST_CHECK_EQUAL(monom2, monom_type(x*y*z*v*w)); monom1 = monom_type(x*y*z*v*w); monom2 = monom_type(ring); output << LCM(monom1, monom2); BOOST_CHECK(output.is_equal("x*y*z*v*w")); BOOST_CHECK_EQUAL(monom1, monom_type(x*y*z*v*w)); BOOST_CHECK_EQUAL(monom2, monom_type(ring)); monom1 = monom_type(ring); monom2 = monom_type(x*y*z*v*w); output << LCM(monom1, monom2); BOOST_CHECK(output.is_equal("x*y*z*v*w")); BOOST_CHECK_EQUAL(monom1, monom_type(ring)); BOOST_CHECK_EQUAL(monom2, monom_type(x*y*z*v*w)); monom1 = monom_type(ring); monom2 = monom_type(ring); output << LCM(monom1, monom2); BOOST_CHECK(output.is_equal("1")); BOOST_CHECK_EQUAL(monom1, monom_type(ring)); BOOST_CHECK_EQUAL(monom2, monom_type(ring)); BOOST_TEST_MESSAGE( "LCM as method of one monomial" ); monom1 = monom_type(x*x*y); monom2 = monom_type(z*v*w); output << monom1.LCM(monom2); BOOST_CHECK(output.is_equal("x*y*z*v*w")); BOOST_CHECK_EQUAL(monom1, monom_type(x*y)); BOOST_CHECK_EQUAL(monom2, monom_type(z*v*w)); monom1 = monom_type(x*y*z*v*w); monom2 = monom_type(x*y*z*v*w); output << monom1.LCM(monom2); BOOST_CHECK(output.is_equal("x*y*z*v*w")); BOOST_CHECK_EQUAL(monom1, monom_type(x*y*z*v*w)); BOOST_CHECK_EQUAL(monom2, monom_type(x*y*z*v*w)); monom1 = monom_type(x*y*z*v*w); monom2 = monom_type(ring); output << monom1.LCM(monom2); BOOST_CHECK(output.is_equal("x*y*z*v*w")); BOOST_CHECK_EQUAL(monom1, monom_type(x*y*z*v*w)); BOOST_CHECK_EQUAL(monom2, monom_type(ring)); monom1 = monom_type(ring); monom2 = monom_type(x*y*z*v*w); output << monom1.LCM(monom2); BOOST_CHECK(output.is_equal("x*y*z*v*w")); BOOST_CHECK_EQUAL(monom1, monom_type(ring)); BOOST_CHECK_EQUAL(monom2, monom_type(x*y*z*v*w)); monom1 = monom_type(ring); monom2 = monom_type(ring); output << monom1.LCM(monom2); BOOST_CHECK(output.is_equal("1")); BOOST_CHECK_EQUAL(monom1, monom_type(ring)); BOOST_CHECK_EQUAL(monom2, monom_type(ring)); BOOST_TEST_MESSAGE( "LCM as method of one monomial with assignment" ); monom1 = monom_type(x*x*y); monom2 = monom_type(z*v*w); output << monom1.LCMAssign(monom2); BOOST_CHECK(output.is_equal("x*y*z*v*w")); BOOST_CHECK_EQUAL(monom1, monom_type(x*y*z*v*w)); BOOST_CHECK_EQUAL(monom2, monom_type(z*v*w)); monom1 = monom_type(x*y*z*v*w); monom2 = monom_type(x*y*z*v*w); output << monom1.LCMAssign(monom2); BOOST_CHECK(output.is_equal("x*y*z*v*w")); BOOST_CHECK_EQUAL(monom1, monom_type(x*y*z*v*w)); BOOST_CHECK_EQUAL(monom2, monom_type(x*y*z*v*w)); monom1 = monom_type(x*y*z*v*w); monom2 = monom_type(ring); output << monom1.LCMAssign(monom2); BOOST_CHECK(output.is_equal("x*y*z*v*w")); BOOST_CHECK_EQUAL(monom1, monom_type(x*y*z*v*w)); BOOST_CHECK_EQUAL(monom2, monom_type(ring)); monom1 = monom_type(ring); monom2 = monom_type(x*y*z*v*w); output << monom1.LCMAssign(monom2); BOOST_CHECK(output.is_equal("x*y*z*v*w")); BOOST_CHECK_EQUAL(monom1, monom_type(x*y*z*v*w)); BOOST_CHECK_EQUAL(monom2, monom_type(x*y*z*v*w)); monom1 = monom_type(ring); monom2 = monom_type(ring); output << monom1.LCMAssign(monom2); BOOST_CHECK(output.is_equal("1")); BOOST_CHECK_EQUAL(monom1, monom_type(ring)); BOOST_CHECK_EQUAL(monom2, monom_type(ring)); BOOST_TEST_MESSAGE( "LCM degree as method of one monomial" ); monom1 = monom_type(x*x*y); monom2 = monom_type(z*v*w); output << monom1.LCMDeg(monom2); BOOST_CHECK(output.is_equal("5")); BOOST_CHECK_EQUAL(monom1, monom_type(x*y)); BOOST_CHECK_EQUAL(monom2, monom_type(z*v*w)); monom1 = monom_type(z*v*w); monom2 = monom_type(x*y*z); output << monom1.LCMDeg(monom2); BOOST_CHECK(output.is_equal("5")); BOOST_CHECK_EQUAL(monom1, monom_type(z*v*w)); BOOST_CHECK_EQUAL(monom2, monom_type(x*y*z)); monom1 = monom_type(x*y*z*v*w); monom2 = monom_type(x*y*z*v*w); output << monom1.LCMDeg(monom2); BOOST_CHECK(output.is_equal("5")); BOOST_CHECK_EQUAL(monom1, monom_type(x*y*z*v*w)); BOOST_CHECK_EQUAL(monom2, monom_type(x*y*z*v*w)); monom1 = monom_type(x*y*z*v*w); monom2 = monom_type(ring); output << monom1.LCMDeg(monom2); BOOST_CHECK(output.is_equal("5")); BOOST_CHECK_EQUAL(monom1, monom_type(x*y*z*v*w)); BOOST_CHECK_EQUAL(monom2, monom_type(ring)); monom1 = monom_type(ring); monom2 = monom_type(x*y*z*v*w); output << monom1.LCMDeg(monom2); BOOST_CHECK(output.is_equal("5")); BOOST_CHECK_EQUAL(monom1, monom_type(ring)); BOOST_CHECK_EQUAL(monom2, monom_type(x*y*z*v*w)); monom1 = monom_type(ring); monom2 = monom_type(ring); output << monom1.LCMDeg(monom2); BOOST_CHECK(output.is_equal("0")); BOOST_CHECK_EQUAL(monom1, monom_type(ring)); BOOST_CHECK_EQUAL(monom2, monom_type(ring)); monom1 = monom_type(x); monom2 = monom_type(x); output << monom1.LCMDeg(monom2); BOOST_CHECK(output.is_equal("1")); BOOST_CHECK_EQUAL(monom1, monom_type(x)); BOOST_CHECK_EQUAL(monom2, monom_type(x)); monom1 = monom_type(x); monom2 = monom_type(y); output << monom1.LCMDeg(monom2); BOOST_CHECK(output.is_equal("2")); BOOST_CHECK_EQUAL(monom1, monom_type(x)); BOOST_CHECK_EQUAL(monom2, monom_type(y)); monom_type zero(ring); BOOST_CHECK_THROW(zero/=x, PBoRiError); output << zero.LCMDeg(monom2); BOOST_CHECK(output.is_equal("0")); BOOST_CHECK_EQUAL(monom2, monom_type(y)); output << monom2.LCMDeg(zero); BOOST_CHECK(output.is_equal("0")); BOOST_CHECK_EQUAL(monom2, monom_type(y)); } BOOST_AUTO_TEST_CASE(test_GCD) { output_test_stream output; monom_type monom1(ring); monom_type monom2(ring); BOOST_TEST_MESSAGE( "GCD of two monomials" ); monom1 = monom_type(x*x*y); monom2 = monom_type(z*v*w); output << GCD(monom1, monom2); BOOST_CHECK(output.is_equal("1")); BOOST_CHECK_EQUAL(monom1, monom_type(x*y)); BOOST_CHECK_EQUAL(monom2, monom_type(z*v*w)); monom1 = monom_type(x*y*z*v*w); monom2 = monom_type(x*y*z*v*w); output << GCD(monom1, monom2); BOOST_CHECK(output.is_equal("x*y*z*v*w")); BOOST_CHECK_EQUAL(monom1, monom_type(x*y*z*v*w)); BOOST_CHECK_EQUAL(monom2, monom_type(x*y*z*v*w)); monom1 = monom_type(x*y*z*v*w); monom2 = monom_type(ring); output << GCD(monom1, monom2); BOOST_CHECK(output.is_equal("1")); BOOST_CHECK_EQUAL(monom1, monom_type(x*y*z*v*w)); BOOST_CHECK_EQUAL(monom2, monom_type(ring)); monom1 = monom_type(ring); monom2 = monom_type(x*y*z*v*w); output << GCD(monom1, monom2); BOOST_CHECK(output.is_equal("1")); BOOST_CHECK_EQUAL(monom1, monom_type(ring)); BOOST_CHECK_EQUAL(monom2, monom_type(x*y*z*v*w)); monom1 = monom_type(ring); monom2 = monom_type(ring); output << GCD(monom1, monom2); BOOST_CHECK(output.is_equal("1")); BOOST_CHECK_EQUAL(monom1, monom_type(ring)); BOOST_CHECK_EQUAL(monom2, monom_type(ring)); BOOST_TEST_MESSAGE( "GCD as method of one monomial" ); monom1 = monom_type(x*x*y); monom2 = monom_type(z*v*w); output << monom1.GCD(monom2); BOOST_CHECK(output.is_equal("1")); BOOST_CHECK_EQUAL(monom1, monom_type(x*y)); BOOST_CHECK_EQUAL(monom2, monom_type(z*v*w)); monom1 = monom_type(x*y*z*v*w); monom2 = monom_type(x*y*z*v*w); output << monom1.GCD(monom2); BOOST_CHECK(output.is_equal("x*y*z*v*w")); BOOST_CHECK_EQUAL(monom1, monom_type(x*y*z*v*w)); BOOST_CHECK_EQUAL(monom2, monom_type(x*y*z*v*w)); monom1 = monom_type(x*y*z*v*w); monom2 = monom_type(ring); output << monom1.GCD(monom2); BOOST_CHECK(output.is_equal("1")); BOOST_CHECK_EQUAL(monom1, monom_type(x*y*z*v*w)); BOOST_CHECK_EQUAL(monom2, monom_type(ring)); monom1 = monom_type(ring); monom2 = monom_type(x*y*z*v*w); output << monom1.GCD(monom2); BOOST_CHECK(output.is_equal("1")); BOOST_CHECK_EQUAL(monom1, monom_type(ring)); BOOST_CHECK_EQUAL(monom2, monom_type(x*y*z*v*w)); monom1 = monom_type(ring); monom2 = monom_type(ring); output << monom1.GCD(monom2); BOOST_CHECK(output.is_equal("1")); BOOST_CHECK_EQUAL(monom1, monom_type(ring)); BOOST_CHECK_EQUAL(monom2, monom_type(ring)); BOOST_TEST_MESSAGE( "GCD as method of one monomial with assignment" ); monom1 = monom_type(x*x*y); monom2 = monom_type(z*v*w); output << monom1.GCDAssign(monom2); BOOST_CHECK(output.is_equal("1")); BOOST_CHECK_EQUAL(monom1, monom_type(ring)); BOOST_CHECK_EQUAL(monom2, monom_type(z*v*w)); monom1 = monom_type(z*v*w); monom2 = monom_type(x*y*z); output << monom1.GCDAssign(monom2); BOOST_CHECK(output.is_equal("z")); BOOST_CHECK_EQUAL(monom1, monom_type(z)); BOOST_CHECK_EQUAL(monom2, monom_type(x*y*z)); monom1 = monom_type(x*y*z*v*w); monom2 = monom_type(x*y*z*v*w); output << monom1.GCDAssign(monom2); BOOST_CHECK(output.is_equal("x*y*z*v*w")); BOOST_CHECK_EQUAL(monom1, monom_type(x*y*z*v*w)); BOOST_CHECK_EQUAL(monom2, monom_type(x*y*z*v*w)); monom1 = monom_type(x*y*z*v*w); monom2 = monom_type(ring); output << monom1.GCDAssign(monom2); BOOST_CHECK(output.is_equal("1")); BOOST_CHECK_EQUAL(monom1, monom_type(ring)); BOOST_CHECK_EQUAL(monom2, monom_type(ring)); monom1 = monom_type(ring); monom2 = monom_type(x*y*z*v*w); output << monom1.GCDAssign(monom2); BOOST_CHECK(output.is_equal("1")); BOOST_CHECK_EQUAL(monom1, monom_type(ring)); BOOST_CHECK_EQUAL(monom2, monom_type(x*y*z*v*w)); monom1 = monom_type(ring); monom2 = monom_type(ring); output << monom1.GCDAssign(monom2); BOOST_CHECK(output.is_equal("1")); BOOST_CHECK_EQUAL(monom1, monom_type(ring)); BOOST_CHECK_EQUAL(monom2, monom_type(ring)); monom_type zero(ring); BOOST_CHECK_THROW(zero/=x, PBoRiError); monom2 = monom_type(x*y); output << zero.GCDAssign(monom2); BOOST_CHECK(output.is_equal("0")); BOOST_CHECK_EQUAL(monom2, monom_type(x*y)); output << monom2.GCDAssign(zero); BOOST_CHECK(output.is_equal("0")); BOOST_CHECK_EQUAL(monom2, zero); } BOOST_AUTO_TEST_SUITE_END() BRiAl-1.2.12/tests/BoolePolyRingTest.cc000066400000000000000000000422201436062512100175630ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file BoolePolyRingTest.cc * * @author Ket Kalda, Alexander Dreyer * @date 2010-10-27 * * boost/test-driven unit test * * @par Copyright: * (c) 2010 by The PolyBoRi Team * **/ //***************************************************************************** #include #include #if BOOST_VERSION < 107100 #include #else #include #endif using boost::test_tools::output_test_stream; #include #include #include #include #include #include USING_NAMESPACE_PBORI struct Fring { typedef BoolePolyRing ring_type; Fring() { BOOST_TEST_MESSAGE( "setup fixture" ); } ~Fring() { BOOST_TEST_MESSAGE( "teardown fixture" ); } }; class InheritedFromRing: public BoolePolyRing { public: InheritedFromRing (size_type num, ordercode_type order, bool): BoolePolyRing(num, order) {} }; BOOST_FIXTURE_TEST_SUITE(BoolePolyRingTestSuite, Fring ) BOOST_AUTO_TEST_CASE(test_constructors) { BOOST_TEST_MESSAGE( "Constructors..." ); ring_type ring1(0,COrderEnums::lp); BOOST_CHECK_EQUAL(ring1.nVariables(), 0); BOOST_CHECK_EQUAL(ring1.ordering().getOrderCode(), COrderEnums::lp); ring_type ring2(1,COrderEnums::dlex); BOOST_CHECK_EQUAL(ring2.nVariables(), 1); BOOST_CHECK_EQUAL(ring2.ordering().getOrderCode(), COrderEnums::dlex); ring_type ring3(2,COrderEnums::dp_asc); BOOST_CHECK_EQUAL(ring3.nVariables(), 2); BOOST_CHECK_EQUAL(ring3.ordering().getOrderCode(), COrderEnums::dp_asc); ring_type ring4(3,COrderEnums::block_dlex); BOOST_CHECK_EQUAL(ring4.nVariables(), 3); BOOST_CHECK_EQUAL(ring4.ordering().getOrderCode(), COrderEnums::block_dlex); ring_type ring5(4,COrderEnums::block_dp_asc); BOOST_CHECK_EQUAL(ring5.nVariables(), 4); BOOST_CHECK_EQUAL(ring5.ordering().getOrderCode(), COrderEnums::block_dp_asc); ring_type ring11(0, get_ordering(COrderEnums::lp)); BOOST_CHECK_EQUAL(ring11.nVariables(), 0); BOOST_CHECK_EQUAL(ring11.ordering().getOrderCode(), COrderEnums::lp); ring_type ring12(1,get_ordering(COrderEnums::dlex)); BOOST_CHECK_EQUAL(ring12.nVariables(), 1); BOOST_CHECK_EQUAL(ring12.ordering().getOrderCode(), COrderEnums::dlex); ring_type ring13(2,get_ordering(COrderEnums::dp_asc)); BOOST_CHECK_EQUAL(ring13.nVariables(), 2); BOOST_CHECK_EQUAL(ring13.ordering().getOrderCode(), COrderEnums::dp_asc); ring_type ring14(3,get_ordering(COrderEnums::block_dlex)); BOOST_CHECK_EQUAL(ring14.nVariables(), 3); BOOST_CHECK_EQUAL(ring14.ordering().getOrderCode(), COrderEnums::block_dlex); ring_type ring15(4,get_ordering(COrderEnums::block_dp_asc)); BOOST_CHECK_EQUAL(ring15.nVariables(), 4); BOOST_CHECK_EQUAL(ring15.ordering().getOrderCode(), COrderEnums::block_dp_asc); // Mainly vor coverage InheritedFromRing alsoring(1, 2, true); InheritedFromRing alsoring2(1, 2, false); BOOST_CHECK(dynamic_cast(&alsoring) != NULL); BOOST_CHECK(dynamic_cast(&alsoring2) != NULL); } BOOST_AUTO_TEST_CASE(test_variables) { ring_type ring(3, 0); ring_type empty(0); ring_type defaultr(ring); BOOST_TEST_MESSAGE( "nVariables, getVariableName, setVariableName" ); BOOST_CHECK_THROW(ring.getVariableName(-1),PBoRiError); BOOST_CHECK_EQUAL(ring.getVariableName(0), "x(0)"); BOOST_CHECK_EQUAL(ring.getVariableName(1), "x(1)"); BOOST_CHECK_EQUAL(ring.getVariableName(2), "x(2)"); BOOST_CHECK_EQUAL(ring.getVariableName(3), "UNDEF"); BOOST_CHECK_EQUAL(ring.getVariableName(323223), "UNDEF"); BOOST_CHECK_EQUAL(ring.nVariables(), 3); BOOST_CHECK_THROW(empty.getVariableName(-1), PBoRiError); BOOST_CHECK_EQUAL(empty.getVariableName(0), "UNDEF"); BOOST_CHECK_EQUAL(empty.getVariableName(1), "UNDEF"); BOOST_CHECK_EQUAL(empty.nVariables(), 0); BOOST_CHECK_THROW(defaultr.getVariableName(-1), PBoRiError); BOOST_CHECK_EQUAL(defaultr.getVariableName(0), ring.getVariableName(0)); BOOST_CHECK_EQUAL(defaultr.getVariableName(1), ring.getVariableName(1)); BOOST_CHECK_EQUAL(defaultr.getVariableName(2), ring.getVariableName(2)); BOOST_CHECK_EQUAL(defaultr.getVariableName(3), ring.getVariableName(3)); BOOST_CHECK_EQUAL(defaultr.nVariables(), ring.nVariables()); // note: setVariableName also sets names for unused variables ring.setVariableName(0, "x"); defaultr.setVariableName(1, "y"); ring.setVariableName(3, "v"); BOOST_CHECK_THROW( defaultr.setVariableName(-1, "w"), std::exception); empty.setVariableName(0, "x"); empty.setVariableName(1, "y"); BOOST_CHECK_THROW(empty.setVariableName(-1, "z"), std::exception); BOOST_CHECK_THROW(ring.getVariableName(-1), std::exception); BOOST_CHECK_EQUAL(ring.getVariableName(0), "x"); BOOST_CHECK_EQUAL(ring.getVariableName(1), "y"); BOOST_CHECK_EQUAL(ring.getVariableName(2), "x(2)"); BOOST_CHECK_EQUAL(ring.getVariableName(3), "v"); BOOST_CHECK_EQUAL(ring.nVariables(), 3); BOOST_CHECK_THROW(defaultr.getVariableName(-1), std::exception); BOOST_CHECK_EQUAL(defaultr.getVariableName(0), ring.getVariableName(0)); BOOST_CHECK_EQUAL(defaultr.getVariableName(1), ring.getVariableName(1)); BOOST_CHECK_EQUAL(defaultr.getVariableName(2), ring.getVariableName(2)); BOOST_CHECK_EQUAL(defaultr.getVariableName(3), ring.getVariableName(3)); BOOST_CHECK_EQUAL(defaultr.nVariables(), ring.nVariables()); BOOST_CHECK_THROW(empty.getVariableName(-1), std::exception); BOOST_CHECK_EQUAL(empty.getVariableName(0), "x"); BOOST_CHECK_EQUAL(empty.getVariableName(1), "y"); BOOST_CHECK_EQUAL(empty.nVariables(), 0); defaultr.setVariableName(0, "y"); ring.setVariableName(3, "-y"); ring.setVariableName(2, "*"); defaultr.setVariableName(4, "ö"); empty.setVariableName(0, "variable"); BOOST_CHECK_THROW(ring.getVariableName(-1), std::exception); BOOST_CHECK_EQUAL(ring.getVariableName(0), "y"); BOOST_CHECK_EQUAL(ring.getVariableName(1), "y"); BOOST_CHECK_EQUAL(ring.getVariableName(2), "*"); BOOST_CHECK_EQUAL(ring.getVariableName(3), "-y"); BOOST_CHECK_EQUAL(ring.getVariableName(4), "ö"); BOOST_CHECK_EQUAL(ring.nVariables(), 3); BOOST_CHECK_THROW(defaultr.getVariableName(-1), std::exception); BOOST_CHECK_EQUAL(defaultr.getVariableName(0), ring.getVariableName(0)); BOOST_CHECK_EQUAL(defaultr.getVariableName(1), ring.getVariableName(1)); BOOST_CHECK_EQUAL(defaultr.getVariableName(2), ring.getVariableName(2)); BOOST_CHECK_EQUAL(defaultr.getVariableName(3), ring.getVariableName(3)); BOOST_CHECK_EQUAL(defaultr.getVariableName(4), ring.getVariableName(4)); BOOST_CHECK_EQUAL(defaultr.nVariables(), ring.nVariables()); BOOST_CHECK_THROW(empty.getVariableName(-1), std::exception); BOOST_CHECK_EQUAL(empty.getVariableName(0), "variable"); BOOST_CHECK_EQUAL(empty.getVariableName(1), "y"); BOOST_CHECK_EQUAL(empty.nVariables(), 0); } BOOST_AUTO_TEST_CASE(test_ordering) { ring_type ring(3, 0); ring_type empty(0); ring_type defaultr(ring); BOOST_TEST_MESSAGE( "ordering, changeOrdering" ); //change ring ring.changeOrdering(COrderEnums::lp); BOOST_CHECK_EQUAL(ring.ordering().getOrderCode(), COrderEnums::lp); BOOST_CHECK_EQUAL(defaultr.ordering().getOrderCode(), COrderEnums::lp); ring.changeOrdering(COrderEnums::dlex); BOOST_CHECK_EQUAL(ring.ordering().getOrderCode(), COrderEnums::dlex); BOOST_CHECK_EQUAL(defaultr.ordering().getOrderCode(), COrderEnums::dlex); ring.changeOrdering(COrderEnums::dp_asc); BOOST_CHECK_EQUAL(ring.ordering().getOrderCode(), COrderEnums::dp_asc); BOOST_CHECK_EQUAL(defaultr.ordering().getOrderCode(), COrderEnums::dp_asc); ring.changeOrdering(COrderEnums::block_dlex); BOOST_CHECK_EQUAL(ring.ordering().getOrderCode(), COrderEnums::block_dlex); BOOST_CHECK_EQUAL(defaultr.ordering().getOrderCode(), COrderEnums::block_dlex); ring.changeOrdering(COrderEnums::block_dp_asc); BOOST_CHECK_EQUAL(ring.ordering().getOrderCode(), COrderEnums::block_dp_asc); BOOST_CHECK_EQUAL(defaultr.ordering().getOrderCode(), COrderEnums::block_dp_asc); ring.changeOrdering(-1); BOOST_CHECK_EQUAL(ring.ordering().getOrderCode(), COrderEnums::lp);//default is lp BOOST_CHECK_EQUAL(defaultr.ordering().getOrderCode(), COrderEnums::lp); ring.changeOrdering(COrderEnums::block_dp_asc); BOOST_CHECK_EQUAL(ring.ordering().getOrderCode(), COrderEnums::block_dp_asc); ring.changeOrdering(5); BOOST_CHECK_EQUAL(ring.ordering().getOrderCode(), COrderEnums::lp);//default is lp BOOST_CHECK_EQUAL(defaultr.ordering().getOrderCode(), COrderEnums::lp); // change defaultr defaultr.changeOrdering(COrderEnums::lp); BOOST_CHECK_EQUAL(ring.ordering().getOrderCode(), COrderEnums::lp); BOOST_CHECK_EQUAL(defaultr.ordering().getOrderCode(), COrderEnums::lp); defaultr.changeOrdering(COrderEnums::dlex); BOOST_CHECK_EQUAL(ring.ordering().getOrderCode(), COrderEnums::dlex); BOOST_CHECK_EQUAL(defaultr.ordering().getOrderCode(), COrderEnums::dlex); defaultr.changeOrdering(COrderEnums::dp_asc); BOOST_CHECK_EQUAL(ring.ordering().getOrderCode(), COrderEnums::dp_asc); BOOST_CHECK_EQUAL(defaultr.ordering().getOrderCode(), COrderEnums::dp_asc); defaultr.changeOrdering(COrderEnums::block_dlex); BOOST_CHECK_EQUAL(ring.ordering().getOrderCode(), COrderEnums::block_dlex); BOOST_CHECK_EQUAL(defaultr.ordering().getOrderCode(), COrderEnums::block_dlex); defaultr.changeOrdering(COrderEnums::block_dp_asc); BOOST_CHECK_EQUAL(ring.ordering().getOrderCode(), COrderEnums::block_dp_asc); BOOST_CHECK_EQUAL(defaultr.ordering().getOrderCode(), COrderEnums::block_dp_asc); defaultr.changeOrdering(-1); BOOST_CHECK_EQUAL(ring.ordering().getOrderCode(), COrderEnums::lp);//default is lp BOOST_CHECK_EQUAL(defaultr.ordering().getOrderCode(), COrderEnums::lp); defaultr.changeOrdering(COrderEnums::block_dp_asc); BOOST_CHECK_EQUAL(ring.ordering().getOrderCode(), COrderEnums::block_dp_asc); defaultr.changeOrdering(5); BOOST_CHECK_EQUAL(ring.ordering().getOrderCode(), COrderEnums::lp);//default is lp BOOST_CHECK_EQUAL(defaultr.ordering().getOrderCode(), COrderEnums::lp); // change empty - other ring stays the same empty.changeOrdering(COrderEnums::lp); BOOST_CHECK_EQUAL(ring.ordering().getOrderCode(), COrderEnums::lp); empty.changeOrdering(COrderEnums::dlex); BOOST_CHECK_EQUAL(empty.ordering().getOrderCode(), COrderEnums::dlex); BOOST_CHECK_EQUAL(ring.ordering().getOrderCode(), COrderEnums::lp); empty.changeOrdering(COrderEnums::dp_asc); BOOST_CHECK_EQUAL(empty.ordering().getOrderCode(), COrderEnums::dp_asc); BOOST_CHECK_EQUAL(ring.ordering().getOrderCode(), COrderEnums::lp); empty.changeOrdering(COrderEnums::block_dlex); BOOST_CHECK_EQUAL(empty.ordering().getOrderCode(), COrderEnums::block_dlex); BOOST_CHECK_EQUAL(ring.ordering().getOrderCode(), COrderEnums::lp); empty.changeOrdering(COrderEnums::block_dp_asc); BOOST_CHECK_EQUAL(empty.ordering().getOrderCode(), COrderEnums::block_dp_asc); BOOST_CHECK_EQUAL(ring.ordering().getOrderCode(), COrderEnums::lp); empty.changeOrdering(-1); BOOST_CHECK_EQUAL(empty.ordering().getOrderCode(), COrderEnums::lp);//default is lp BOOST_CHECK_EQUAL(ring.ordering().getOrderCode(), COrderEnums::lp); empty.changeOrdering(COrderEnums::block_dp_asc); BOOST_CHECK_EQUAL(empty.ordering().getOrderCode(), COrderEnums::block_dp_asc); BOOST_CHECK_EQUAL(ring.ordering().getOrderCode(), COrderEnums::lp); empty.changeOrdering(5); BOOST_CHECK_EQUAL(empty.ordering().getOrderCode(), COrderEnums::lp);//default //is lp BOOST_CHECK_EQUAL(ring.ordering().getOrderCode(), COrderEnums::lp); } BOOST_AUTO_TEST_CASE(test_dd_type) { ring_type ring(3, 0); ring_type empty(0); ring_type defaultr(ring); ring.setVariableName(0, "x"); ring.setVariableName(1, "y"); ring.setVariableName(2, "z"); ring.setVariableName(3, "v"); output_test_stream output; BOOST_TEST_MESSAGE( "variable" ); output << ring.variable(0); BOOST_CHECK(output.is_equal("x")); output << ring.variable(1); BOOST_CHECK(output.is_equal("y")); output << ring.variable(2); BOOST_CHECK(output.is_equal("z")); output << ring.variableDiagram(0); BOOST_CHECK(output.is_equal("{{x}}")); output << ring.variableDiagram(1); BOOST_CHECK(output.is_equal("{{y}}")); output << ring.variableDiagram(2); BOOST_CHECK(output.is_equal("{{z}}")); BOOST_CHECK_THROW(ring.variable(3), PBoRiError); BOOST_CHECK_THROW(ring.variable(-1), PBoRiError); output << defaultr.variable(0); BOOST_CHECK(output.is_equal("x")); output << defaultr.variable(1); BOOST_CHECK(output.is_equal("y")); output << defaultr.variable(2); BOOST_CHECK(output.is_equal("z")); output << defaultr.variableDiagram(0); BOOST_CHECK(output.is_equal("{{x}}")); output << defaultr.variableDiagram(1); BOOST_CHECK(output.is_equal("{{y}}")); output << defaultr.variableDiagram(2); BOOST_CHECK(output.is_equal("{{z}}")); BOOST_CHECK_THROW(defaultr.variable(3), PBoRiError); BOOST_CHECK_THROW(defaultr.variable(-1), PBoRiError); BOOST_CHECK_THROW(empty.variable(-1), PBoRiError); BOOST_CHECK_THROW(empty.variable(0), PBoRiError); BOOST_CHECK_THROW(empty.variable(-1), PBoRiError); BOOST_TEST_MESSAGE( "zero" ); output << ring.zero(); BOOST_CHECK(output.is_equal("{}")); output << defaultr.zero(); BOOST_CHECK(output.is_equal("{}")); output << empty.zero(); BOOST_CHECK(output.is_equal("{}")); BOOST_TEST_MESSAGE( "one" ); output << ring.one(); BOOST_CHECK(output.is_equal("{{}}")); output << defaultr.one(); BOOST_CHECK(output.is_equal("{{}}")); output << empty.one(); BOOST_CHECK(output.is_equal("{{}}")); BOOST_TEST_MESSAGE( "constant" ); output << ring.constant(true); BOOST_CHECK(output.is_equal("{{}}")); BOOST_CHECK_EQUAL(ring.constant(true), ring.one()); output << ring.constant(false); BOOST_CHECK(output.is_equal("{}")); BOOST_CHECK_EQUAL(ring.constant(false), ring.zero()); output << defaultr.constant(true); BOOST_CHECK(output.is_equal("{{}}")); BOOST_CHECK_EQUAL(defaultr.constant(true), defaultr.one()); output << defaultr.constant(false); BOOST_CHECK(output.is_equal("{}")); BOOST_CHECK_EQUAL(defaultr.constant(false), defaultr.zero()); output << empty.constant(true); BOOST_CHECK(output.is_equal("{{}}")); BOOST_CHECK_EQUAL(empty.constant(true), empty.one()); output << empty.constant(false); BOOST_CHECK(output.is_equal("{}")); BOOST_CHECK_EQUAL(empty.constant(false), empty.zero()); } BOOST_AUTO_TEST_CASE(test_coerce) { ring_type empty(0); ring_type small(2,0); ring_type ring(4, 0); ring_type defaultr(ring); ring.setVariableName(0, "*"); ring.setVariableName(1, "ö"); ring.setVariableName(2, "-"); ring.setVariableName(3, "v"); ring.setVariableName(4, "a"); output_test_stream output; BooleVariable x(0, defaultr); BooleVariable y(1, defaultr); BooleVariable z(2, defaultr); BooleVariable v(3, defaultr); BoolePolynomial poly = x*y*v + y*z*v + y*v; BooleMonomial monom = x*y*z; BOOST_TEST_MESSAGE( "coerce" ); output << ring.coerce(poly); BOOST_CHECK(output.is_equal("**ö*v + ö*-*v + ö*v")); output << ring.coerce(monom); BOOST_CHECK(output.is_equal("**ö*-")); output << ring.coerce(x); BOOST_CHECK(output.is_equal("*")); output << ring.coerce(y); BOOST_CHECK(output.is_equal("ö")); output << ring.coerce(z); BOOST_CHECK(output.is_equal("-")); output << ring.coerce(v); BOOST_CHECK(output.is_equal("v")); output << defaultr.coerce(poly); BOOST_CHECK(output.is_equal("**ö*v + ö*-*v + ö*v")); output << defaultr.coerce(monom); BOOST_CHECK(output.is_equal("**ö*-")); output << defaultr.coerce(x); BOOST_CHECK(output.is_equal("*")); output << defaultr.coerce(y); BOOST_CHECK(output.is_equal("ö")); output << defaultr.coerce(z); BOOST_CHECK(output.is_equal("-")); output << defaultr.coerce(v); BOOST_CHECK(output.is_equal("v")); BOOST_CHECK_THROW(empty.coerce(poly), PBoRiError); BOOST_CHECK_THROW(empty.coerce(monom), PBoRiError); BOOST_CHECK_THROW(empty.coerce(x), PBoRiError); BOOST_CHECK_THROW(small.coerce(poly), PBoRiError); output << defaultr.coerce(monom); BOOST_CHECK(output.is_equal("**ö*-")); output << defaultr.coerce(x); BOOST_CHECK(output.is_equal("*")); output << defaultr.coerce(y); BOOST_CHECK(output.is_equal("ö")); output << defaultr.coerce(z); BOOST_CHECK(output.is_equal("-")); BOOST_CHECK_THROW(small.coerce(v), PBoRiError); } BOOST_AUTO_TEST_CASE(test_hash) { BOOST_TEST_MESSAGE( "hash" ); ring_type ring1(3, 0); ring_type ring2(3, 0); BOOST_CHECK_NE(ring1.hash(), ring2.hash()); // Not equal because different // instances (but of likewise rings) ring_type defaultr(ring2); BOOST_CHECK_NE(ring1.hash(), defaultr.hash()); defaultr = ring1; BOOST_CHECK_EQUAL(ring1.hash(), defaultr.hash()); ring_type empty1(0, 0); ring_type empty2(0, 0); BOOST_CHECK_NE(empty1.hash(), empty2.hash());// Not equal because different // instances (but of likewise rings) } BOOST_AUTO_TEST_CASE(test_print) { ring_type r(1, CTypes::lp); output_test_stream output; output << r; BOOST_CHECK(!output.is_empty()); } BOOST_AUTO_TEST_SUITE_END() BRiAl-1.2.12/tests/BoolePolynomialTest.cc000066400000000000000000001153421436062512100201510ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file BoolePolynomialTest.cc * * @author Alexander Dreyer * @date 2010-08-31 * * boost/test-driven unit test * * @par Copyright: * (c) 2010 by The PolyBoRi Team * **/ //***************************************************************************** #include #include #if BOOST_VERSION < 107100 #include #else #include #endif using boost::test_tools::output_test_stream; #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include USING_NAMESPACE_PBORI #if SIZEOF_VOID_P == 8 #define PBORI_TEST_64BITTED #endif struct Fpoly { typedef BoolePolynomial poly_type; Fpoly(const BoolePolyRing& input_ring = BoolePolyRing(100, BoolePolyRing::lp)): ring(input_ring), bset(input_ring), bexp(BooleExponent().change(1)), x(BooleVariable(0, input_ring)), y(BooleVariable(1, input_ring)), z(BooleVariable(2, input_ring)), v(BooleVariable(3, input_ring)), w(BooleVariable(4, input_ring)) { BOOST_TEST_MESSAGE( "setup fixture" ); bset = BooleSet(1, ring.one(), ring.zero()); // something non-trivial ring.setVariableName(0, "x"); ring.setVariableName(1, "y"); ring.setVariableName(2, "z"); ring.setVariableName(3, "v"); ring.setVariableName(4, "w"); } ~Fpoly() { BOOST_TEST_MESSAGE( "teardown fixture" ); } BoolePolyRing ring; BooleSet bset; BooleExponent bexp; BooleMonomial x, y, z, v, w; output_test_stream output; }; BOOST_FIXTURE_TEST_SUITE(BoolePolynomialTestSuite, Fpoly ) BOOST_AUTO_TEST_CASE(test_constructors) { BOOST_TEST_MESSAGE( "Constant polynomials..." ); BOOST_CHECK_EQUAL(BoolePolynomial(ring), ring.zero()); BOOST_CHECK_EQUAL(BoolePolynomial(true, ring), ring.one()); BOOST_CHECK_EQUAL(BoolePolynomial(false, ring), ring.zero()); BOOST_TEST_MESSAGE( "Polynomials from other types (decision diagrams, exponents)..." ); BOOST_CHECK_EQUAL(BoolePolynomial(bset).set(), bset); BOOST_CHECK_EQUAL(BoolePolynomial(bset.navigation(), ring).set(), bset); BOOST_CHECK_EQUAL(BoolePolynomial(bexp, ring), bset); } BOOST_AUTO_TEST_CASE(test_assigning_operators) { poly_type poly(ring); BOOST_TEST_MESSAGE( "Assignments..." ); BOOST_CHECK_EQUAL(poly = true, ring.one()); BOOST_CHECK_EQUAL(poly = false, ring.zero()); BOOST_CHECK_EQUAL(poly = bset, bset); BOOST_TEST_MESSAGE( "+=, -= and *=" ); BOOST_CHECK_EQUAL(BoolePolynomial(ring) *= BooleExponent(x*y), 0); BOOST_CHECK_EQUAL(BoolePolynomial(z*w) *= BooleExponent(x*y), x*y*z*w); BOOST_CHECK_EQUAL(BoolePolynomial(x) += x, 0); BOOST_CHECK_EQUAL( (BoolePolynomial(x) += y ) += x, y); output_test_stream output; output << ((poly_type(x) *= y) += z); BOOST_CHECK(output.is_equal("x*y + z")); output << (poly_type(x) += BooleConstant(0)); BOOST_CHECK(output.is_equal("x")); output << (poly_type(x) *= BooleConstant(0)); BOOST_CHECK(output.is_equal("0")); output << (poly = (((poly_type(x) *= v) += (poly_type(y) *= v) ) += z)); BOOST_CHECK(output.is_equal("x*v + y*v + z")); BOOST_CHECK_EQUAL(BoolePolynomial(x) -= x, 0); BOOST_CHECK_EQUAL( (BoolePolynomial(x) -= y ) -= x, y); output << ((poly_type(x) *= y) -= z); BOOST_CHECK(output.is_equal("x*y + z")); output << (poly = (((poly_type(x) *= v) -= (poly_type(y) *= v) ) -= z)); BOOST_CHECK(output.is_equal("x*v + y*v + z")); output << ( poly *=(poly_type(v)*=y)); BOOST_CHECK(output.is_equal("x*y*v + y*z*v + y*v")); BOOST_CHECK_EQUAL((x*z + y) *= (x*y).exp() , x*y*z +x*y); BOOST_CHECK_EQUAL((x*z + z) *= (x*y).exp() , 0); BOOST_CHECK_EQUAL((x*y) * (x*z + y), x*y*z +x*y); BOOST_CHECK_EQUAL((x*z + z) *= x*y , 0); BOOST_CHECK_EQUAL(poly_type(0, ring) *= (x*y).exp(), 0); BOOST_CHECK_EQUAL((x*y) * poly_type(0, ring), 0); BOOST_CHECK_EQUAL(poly_type(1, ring) *= (x*y).exp(), x*y); BOOST_CHECK_EQUAL((x*y) * poly_type(1, ring), x*y); BOOST_CHECK_EQUAL(poly_type(x + y) *= v*w, x*v*w + y*v*w); BOOST_CHECK_EQUAL(poly_type(x + y) *= (v*w).exp(), x*v*w + y*v*w); BOOST_CHECK_EQUAL(poly_type(v + w) *= (x*y).exp(), x*y*v + x*y*w); BOOST_CHECK_EQUAL(poly_type(v + w) *= (x*v).exp(), x*v + x*v*w); BOOST_TEST_MESSAGE( "/= and %=" ); BOOST_CHECK_THROW(BoolePolynomial(x) /= BoolePolynomial(ring), PBoRiGenericError); BOOST_CHECK_THROW(BoolePolynomial(x) /= (false), PBoRiGenericError); output << (poly = (poly_type(x*y*z + x*z*w +v) /= BooleMonomial(x*z))); BOOST_CHECK_EQUAL(poly, (y + w)); BOOST_CHECK(output.is_equal("y + w")); output << (poly = (poly_type(x*y*z + x*z*w +v) /= (((x*z)).exp()))); BOOST_CHECK_EQUAL(poly, (y + w)); BOOST_CHECK(output.is_equal("y + w")); output << (poly = (poly_type(x*y*z + x*z*w +v) /= (x*z + 1))); BOOST_CHECK_EQUAL(poly, (y + w)); BOOST_CHECK(output.is_equal("y + w")); output << (poly = (poly_type(x*y*z + x*z*w +v) /= (true))); BOOST_CHECK_EQUAL(poly, (x*y*z + x*z*w + v)); BOOST_CHECK(output.is_equal("x*y*z + x*z*w + v")); output << (poly = (poly_type(0, ring) /= (x*y))); BOOST_CHECK_EQUAL(poly, 0); BOOST_CHECK(output.is_equal("0")); output << (poly = (poly_type(1, ring) /= (x*y))); BOOST_CHECK_EQUAL(poly, 0); BOOST_CHECK(output.is_equal("0")); output << (poly = (poly_type(0, ring) /= (x*y).exp())); BOOST_CHECK_EQUAL(poly, 0); BOOST_CHECK(output.is_equal("0")); output << (poly = (poly_type(1, ring) /= (x*y).exp())); BOOST_CHECK_EQUAL(poly, 0); BOOST_CHECK(output.is_equal("0")); output << (poly = (poly_type(v+w) /= (x*y).exp())); BOOST_CHECK_EQUAL(poly, 0); BOOST_CHECK(output.is_equal("0")); output << (poly = (poly_type(v+w) /= (x*y))); BOOST_CHECK_EQUAL(poly, 0); BOOST_CHECK(output.is_equal("0")); output << (poly = (poly_type(x*v + x*w) /= (x*y).exp())); BOOST_CHECK_EQUAL(poly, 0); BOOST_CHECK(output.is_equal("0")); output << (poly = (poly_type(x*v + x*w) /= (x*y))); BOOST_CHECK_EQUAL(poly, 0); BOOST_CHECK(output.is_equal("0")); output << (poly = (poly_type(x*y*z + x*z*w +v) %= BooleMonomial(x*z))); BOOST_CHECK_EQUAL(poly, v); BOOST_CHECK(output.is_equal("v")); output << (poly = (poly_type(x+x*y*z + y*z*w +v) %= BooleMonomial(y*z))); BOOST_CHECK_EQUAL(poly, x+v); BOOST_CHECK(output.is_equal("x + v")); output << (poly = (poly_type(x+x*y*z + y*z*w +v) %= BooleVariable(1,ring))); BOOST_CHECK_EQUAL(poly, x+v); BOOST_CHECK(output.is_equal("x + v")); BOOST_CHECK_EQUAL(-(x*y*z + x*z*w +v), (x*y*z + x*z*w +v)); } BOOST_AUTO_TEST_CASE(test_logical_operators) { BOOST_CHECK_EQUAL(BoolePolynomial(bset) == BoolePolynomial(bset), true); BOOST_CHECK_EQUAL(BoolePolynomial(bset) != BoolePolynomial(bset), false); BOOST_CHECK_EQUAL(BoolePolynomial(bset) == BoolePolynomial(ring), false); BOOST_CHECK_EQUAL(BoolePolynomial(bset) != BoolePolynomial(ring), true); BOOST_CHECK_EQUAL(BoolePolynomial(bset) == true, false); BOOST_CHECK_EQUAL(BoolePolynomial(bset) == false, false); BOOST_CHECK_EQUAL(BoolePolynomial(true, ring) == true, true); BOOST_CHECK_EQUAL(BoolePolynomial(true, ring) == false, false); BOOST_CHECK_EQUAL(BoolePolynomial(false, ring) == true, false); BOOST_CHECK_EQUAL(BoolePolynomial(false, ring) == false, true); BOOST_CHECK_EQUAL(true == BoolePolynomial(true, ring), true); BOOST_CHECK_EQUAL(false == BoolePolynomial(true, ring), false); BOOST_CHECK_EQUAL(true == BoolePolynomial(false, ring), false); BOOST_CHECK_EQUAL(false ==BoolePolynomial(false, ring), true); } BOOST_AUTO_TEST_CASE(test_properties) { BOOST_TEST_MESSAGE( "isZero, isOne, isConstant, hasConstantPart" ); BOOST_CHECK_EQUAL(poly_type(ring).isZero(), true); BOOST_CHECK_EQUAL(poly_type(0, ring).isZero(), true); BOOST_CHECK_EQUAL(poly_type(1, ring).isZero(), false); BOOST_CHECK_EQUAL(poly_type(x).isZero(), false); BOOST_CHECK_EQUAL(poly_type(x*y).isZero(), false); BOOST_CHECK_EQUAL(poly_type(x*y + z).isZero(), false); BOOST_CHECK_EQUAL(poly_type(x*y + z + 1).isZero(), false); BOOST_CHECK_EQUAL(poly_type(ring).isOne(), false); BOOST_CHECK_EQUAL(poly_type(0, ring).isOne(), false); BOOST_CHECK_EQUAL(poly_type(1, ring).isOne(), true); BOOST_CHECK_EQUAL(poly_type(x).isOne(), false); BOOST_CHECK_EQUAL(poly_type(x*y).isOne(), false); BOOST_CHECK_EQUAL(poly_type(x*y + z).isOne(), false); BOOST_CHECK_EQUAL(poly_type(x*y + z + 1).isOne(), false); BOOST_CHECK_EQUAL(poly_type(ring).isConstant(), true); BOOST_CHECK_EQUAL(poly_type(0, ring).isConstant(), true); BOOST_CHECK_EQUAL(poly_type(1, ring).isConstant(), true); BOOST_CHECK_EQUAL(poly_type(x).isConstant(), false); BOOST_CHECK_EQUAL(poly_type(x*y).isConstant(), false); BOOST_CHECK_EQUAL(poly_type(x*y + z).isConstant(), false); BOOST_CHECK_EQUAL(poly_type(x*y + z + 1).isConstant(), false); BOOST_CHECK_EQUAL(poly_type(ring).hasConstantPart(), false); BOOST_CHECK_EQUAL(poly_type(0, ring).hasConstantPart(), false); BOOST_CHECK_EQUAL(poly_type(1, ring).hasConstantPart(), true); BOOST_CHECK_EQUAL(poly_type(x).hasConstantPart(), false); BOOST_CHECK_EQUAL(poly_type(x*y).hasConstantPart(), false); BOOST_CHECK_EQUAL(poly_type(x*y + z).hasConstantPart(), false); BOOST_CHECK_EQUAL(poly_type(x*y + z + 1).hasConstantPart(), true); BOOST_TEST_MESSAGE( "isSingleton, isSingletonOrPair, isPair"); BOOST_CHECK_EQUAL(poly_type(ring).isSingleton(), true); BOOST_CHECK_EQUAL(poly_type(0, ring).isSingleton(), true); BOOST_CHECK_EQUAL(poly_type(1, ring).isSingleton(), true); BOOST_CHECK_EQUAL(poly_type(x).isSingleton(), true); BOOST_CHECK_EQUAL(poly_type(x*y).isSingleton(), true); BOOST_CHECK_EQUAL(poly_type(x*y + z).isSingleton(), false); BOOST_CHECK_EQUAL(poly_type(x*y + 1).isSingleton(), false); BOOST_CHECK_EQUAL(poly_type(x*y + z + 1).isSingleton(), false); BOOST_CHECK_EQUAL(poly_type(ring).isSingletonOrPair(), true); BOOST_CHECK_EQUAL(poly_type(0, ring).isSingletonOrPair(), true); BOOST_CHECK_EQUAL(poly_type(1, ring).isSingletonOrPair(), true); BOOST_CHECK_EQUAL(poly_type(x).isSingletonOrPair(), true); BOOST_CHECK_EQUAL(poly_type(x*y).isSingletonOrPair(), true); BOOST_CHECK_EQUAL(poly_type(x*y + z).isSingletonOrPair(), true); BOOST_CHECK_EQUAL(poly_type(x*y + 1).isSingletonOrPair(), true); BOOST_CHECK_EQUAL(poly_type(x*y + z + 1).isSingletonOrPair(), false); BOOST_CHECK_EQUAL(poly_type(ring).isPair(), false); BOOST_CHECK_EQUAL(poly_type(0, ring).isPair(), false); BOOST_CHECK_EQUAL(poly_type(1, ring).isPair(), false); BOOST_CHECK_EQUAL(poly_type(x).isPair(), false); BOOST_CHECK_EQUAL(poly_type(x*y).isPair(), false); BOOST_CHECK_EQUAL(poly_type(x*y + z).isPair(), true); BOOST_CHECK_EQUAL(poly_type(x*y + 1).isPair(), true); BOOST_CHECK_EQUAL(poly_type(x*y + z + 1).isPair(), false); } BOOST_AUTO_TEST_CASE(test_ordering_independent) { BOOST_TEST_MESSAGE( "lexLead"); BOOST_CHECK_THROW(poly_type(ring).lexLead(), PBoRiError); BOOST_CHECK_THROW(poly_type(0, ring).lexLead(), PBoRiError); BOOST_CHECK_EQUAL(poly_type(1, ring).lexLead(), BooleMonomial(ring)); BOOST_CHECK_EQUAL(poly_type(x).lexLead(), x); BOOST_CHECK_EQUAL(poly_type(x*y).lexLead(), x*y); BOOST_CHECK_EQUAL(poly_type(x*y + z).lexLead(), x*y); BOOST_CHECK_EQUAL(poly_type(x*y + z + 1).lexLead(), x*y); BOOST_CHECK_EQUAL(poly_type(x*y + x + z).lexLead(), x*y); BOOST_CHECK_EQUAL(poly_type(x*y + x + z + 1).lexLead(), x*y); BOOST_CHECK_EQUAL(poly_type(ring).lexLeadDeg(), -1); BOOST_TEST_MESSAGE( "deg, TotalDeg, length, nNodes, nUsedVariables, usedVariables"); BOOST_CHECK_EQUAL(poly_type(ring).deg(), -1); BOOST_CHECK_EQUAL(poly_type(0, ring).deg(), -1); BOOST_CHECK_EQUAL(poly_type(1, ring).deg(), 0); BOOST_CHECK_EQUAL(poly_type(x).deg(), 1); BOOST_CHECK_EQUAL(poly_type(x*y).deg(), 2); BOOST_CHECK_EQUAL(poly_type(x*y + z).deg(), 2); BOOST_CHECK_EQUAL(poly_type(x*y + z + 1).deg(), 2); BOOST_CHECK_EQUAL(poly_type(x*y + x + z).deg(), 2); BOOST_CHECK_EQUAL(poly_type(x*y + x + z + 1).deg(), 2); BOOST_CHECK_EQUAL(poly_type(x + y*z + 1).deg(), 2); BOOST_CHECK_EQUAL(poly_type(x + y*z + z).deg(), 2); BOOST_CHECK_EQUAL(poly_type(x + y*z + z*v*w ).deg(), 3); // Should be the same up to now BOOST_CHECK_EQUAL(poly_type(ring).totalDeg(), -1); BOOST_CHECK_EQUAL(poly_type(0, ring).totalDeg(), -1); BOOST_CHECK_EQUAL(poly_type(1, ring).totalDeg(), 0); BOOST_CHECK_EQUAL(poly_type(x).totalDeg(), 1); BOOST_CHECK_EQUAL(poly_type(x*y).totalDeg(), 2); BOOST_CHECK_EQUAL(poly_type(x*y + z).totalDeg(), 2); BOOST_CHECK_EQUAL(poly_type(x*y + z + 1).totalDeg(), 2); BOOST_CHECK_EQUAL(poly_type(x*y + x + z).totalDeg(), 2); BOOST_CHECK_EQUAL(poly_type(x*y + x + z + 1).totalDeg(), 2); BOOST_CHECK_EQUAL(poly_type(x + y*z + 1).totalDeg(), 2); BOOST_CHECK_EQUAL(poly_type(x + y*z + z).totalDeg(), 2); BOOST_CHECK_EQUAL(poly_type(x + y*z + z*v*w ).totalDeg(), 3); BOOST_CHECK_EQUAL(poly_type(ring).leadTotalDeg(), -1); BOOST_CHECK_EQUAL(poly_type(0, ring).leadTotalDeg(), -1); BOOST_CHECK_EQUAL(poly_type(1, ring).leadTotalDeg(), 0); BOOST_CHECK_EQUAL(poly_type(x).leadTotalDeg(), 1); BOOST_CHECK_EQUAL(poly_type(x*y).leadTotalDeg(), 2); BOOST_CHECK_EQUAL(poly_type(x*y + z).leadTotalDeg(), 2); BOOST_CHECK_EQUAL(poly_type(x*y + z + 1).leadTotalDeg(), 2); BOOST_CHECK_EQUAL(poly_type(x*y + x + z).leadTotalDeg(), 2); BOOST_CHECK_EQUAL(poly_type(x*y + x + z + 1).leadTotalDeg(), 2); BOOST_CHECK_EQUAL(poly_type(x + y*z + 1).leadTotalDeg(), 1); BOOST_CHECK_EQUAL(poly_type(x + y*z + z).leadTotalDeg(), 1); BOOST_CHECK_EQUAL(poly_type(x + y*z + z*v*w ).leadTotalDeg(), 1); BOOST_CHECK(poly_type(x + y + y*v*w + v*w).firstReducibleBy(poly_type(x+y))); BOOST_CHECK(!poly_type(x + y + y*v*w + v*w).firstReducibleBy(poly_type(v+w))); BOOST_CHECK(!poly_type(ring).firstReducibleBy(poly_type(x + y + y*v*w + v*w))); BOOST_CHECK(poly_type(x + y + y*v*w + v*w).firstReducibleBy(poly_type(1, ring))); poly_type poly1(1, ring), poly2(1, ring); std::size_t len(1); BooleMonomial monom(ring); for (std::size_t idx = 0; idx < ring.nVariables(); ++idx, (len <<= 1)) { monom = monom.change(idx); BOOST_CHECK_EQUAL(poly1.length(), len); poly1 *= (poly_type(ring.variable(idx)) + 1); BOOST_CHECK_EQUAL(poly1.deg(), idx + 1); BOOST_CHECK_EQUAL(poly1.totalDeg(), idx + 1); BOOST_CHECK_EQUAL(poly1.nNodes(), idx + 1); BOOST_CHECK_EQUAL(poly1.nUsedVariables(), idx + 1); BOOST_CHECK_EQUAL(poly1.usedVariables(), monom); BOOST_CHECK_EQUAL(poly1.usedVariablesExp(), monom.exp()); if (idx > 0) { poly2 *= (ring.variable(idx) + ring.variable(0)); BOOST_CHECK_EQUAL(poly2.deg(), idx); BOOST_CHECK_EQUAL(poly2.totalDeg(), idx); BOOST_CHECK_EQUAL(poly2.length(), len); BOOST_CHECK_EQUAL(poly2.nNodes(), 3*idx-1); BOOST_CHECK_EQUAL(poly2.nUsedVariables(), idx + 1); BOOST_CHECK_EQUAL(poly2.usedVariables(), monom); BOOST_CHECK_EQUAL(poly2.usedVariablesExp(), monom.exp()); } } BOOST_TEST_MESSAGE( "hash, terms, begin*, end*, navigation"); BOOST_CHECK_NE(poly1.hash(), poly2.hash()); BOOST_CHECK_EQUAL((x + y*z + z*v*w).hash(),(x + y*z + x + z*v*w + x).hash()); poly_type::termlist_type terms; (x + y*z + z*v*w).fetchTerms(terms); BooleMonomial termsref[] = {x, y*z, z*v*w, BooleMonomial(ring)}; BOOST_CHECK_EQUAL_COLLECTIONS(terms.begin(), terms.end(), termsref, termsref + 3); terms = (x + y*z + z*v*w).terms(); BOOST_CHECK_EQUAL_COLLECTIONS(terms.begin(), terms.end(), termsref, termsref + 3); poly_type poly = (x + y*z + z*v*w); poly_type::deg_type degs[] = {1, 2, 3, 0}; poly_type::exp_type exps[] = {BooleExponent().change(0), BooleExponent().change(1).change(2), BooleExponent().change(2).change(3).change(4), BooleExponent()}; BOOST_CHECK_EQUAL_COLLECTIONS(poly.begin(), poly.end(), termsref, termsref + 3); BOOST_CHECK_EQUAL_COLLECTIONS(poly.degBegin(), poly.degEnd(), degs, degs + 3); BOOST_CHECK_EQUAL_COLLECTIONS(poly.expBegin(), poly.expEnd(), exps, exps + 3); BOOST_CHECK_EQUAL(poly_type(x*y + z*v + v*w).firstTerm(), x*y); poly = (x + y*z + z*v*w + 1); // same as the latter, but + 1 BOOST_CHECK_EQUAL_COLLECTIONS(poly.begin(), poly.end(), termsref, termsref + 4); BOOST_CHECK_EQUAL_COLLECTIONS(poly.degBegin(), poly.degEnd(), degs, degs + 4); BOOST_CHECK_EQUAL_COLLECTIONS(poly.expBegin(), poly.expEnd(), exps, exps + 4); BOOST_CHECK_EQUAL(poly_type(x*y + z*v + v*w).firstTerm(), x*y); poly = (x*y + z*v + v*w); poly_type::idx_type idxs[] = {0, 1}; BOOST_CHECK_EQUAL_COLLECTIONS(poly.firstBegin(), poly.firstEnd(), idxs, idxs + 2); BOOST_CHECK_EQUAL(*poly.navigation(), 0); BOOST_CHECK_EQUAL(*(poly.navigation().thenBranch()), 1); BOOST_CHECK_EQUAL(*(poly.navigation().elseBranch()), 2); BOOST_CHECK_EQUAL(*(poly.navigation().elseBranch().thenBranch()), 3); BOOST_CHECK_EQUAL(*(poly.navigation().elseBranch().elseBranch()), 3); BOOST_CHECK_EQUAL(*(poly.navigation().elseBranch().elseBranch().thenBranch()), 4); BOOST_TEST_MESSAGE( "gradedPArt, set, print" ); BOOST_CHECK_EQUAL(poly_type(x + z*v + z*v*w + 1).gradedPart(0), 1); BOOST_CHECK_EQUAL(poly_type(x + z*v + z*v*w + 1).gradedPart(1), x); BOOST_CHECK_EQUAL(poly_type(x + z*v + z*v*w + 1).gradedPart(2), z*v); BOOST_CHECK_EQUAL(poly_type(x + z*v + z*v*w + 1).gradedPart(3), z*v*w); // repeat for covering sucessfull cache-calls BOOST_CHECK_EQUAL(poly_type(x + z*v + z*v*w + 1).gradedPart(3), z*v*w); output << poly_type(x + z*v + z*v*w + 1).set(); BOOST_CHECK(output.is_equal("{{x}, {z,v,w}, {z,v}, {}}")); output << poly_type(x + z*v + z*v*w + 1); BOOST_CHECK(output.is_equal("x + z*v*w + z*v + 1")); } template struct OrderGenFix { typedef BoolePolynomial poly_type; typedef poly_type::ring_type ring_type; OrderGenFix(const ring_type& input_ring = ring_type(100, order)) : ring(input_ring), a(input_ring),b(input_ring),c(input_ring),d(input_ring),e(input_ring),f(input_ring),g(input_ring),h(input_ring), poly1(ring), poly2(ring) { ring.setVariableName(0, "a"); ring.setVariableName(1, "b"); ring.setVariableName(2, "c"); ring.setVariableName(3, "d"); ring.setVariableName(4, "e"); ring.setVariableName(5, "f"); ring.setVariableName(6, "g"); ring.setVariableName(7, "h"); a = BooleVariable(0, ring); b = BooleVariable(1, ring); c = BooleVariable(2, ring); d = BooleVariable(3, ring); e = BooleVariable(4, ring); f = BooleVariable(5, ring); g = BooleVariable(6, ring); h = BooleVariable(7, ring); poly1 = a + b + c*d*e + c*e*f + g*h; poly2 = a + b + c*d + e*f + g*h; } ~OrderGenFix() { BOOST_TEST_MESSAGE( "teardown fixture" ); } BoolePolyRing ring; BooleMonomial a, b, c, d, e, f, g, h; output_test_stream output; poly_type poly1, poly2; }; BOOST_FIXTURE_TEST_CASE(test_ordering_lp, OrderGenFix) { BOOST_CHECK_THROW(poly_type(ring).lead(), PBoRiError); BOOST_CHECK_THROW(poly_type(0, ring).lead(), PBoRiError); BOOST_CHECK_EQUAL(poly1.lead(), a); BOOST_CHECK_EQUAL(poly2.lead(), a); BOOST_CHECK_EQUAL(poly1.leadExp(), BooleExponent().change(0)); BOOST_CHECK_EQUAL(poly2.leadExp(), BooleExponent().change(0)); BOOST_CHECK_EQUAL(poly1.boundedLead(1), a); BOOST_CHECK_EQUAL(poly2.boundedLead(1), a); BOOST_CHECK_EQUAL(poly1.boundedLeadExp(1), BooleExponent().change(0)); BOOST_CHECK_EQUAL(poly2.boundedLeadExp(1), BooleExponent().change(0)); BOOST_CHECK_EQUAL(poly_type(ring).leadDeg(), -1); BOOST_CHECK_EQUAL(poly1.leadDeg(), 1); BOOST_CHECK_EQUAL(poly2.leadDeg(), 1); output << poly_type(a*b*d*f + a*b + a + g).leadDivisors(); BOOST_CHECK(output.is_equal("{{a,b,d,f}, {a,b,d}, {a,b,f}, {a,b}, {a,d,f}, " "{a,d}, {a,f}, {a}, {b,d,f}, {b,d}, {b,f}, {b}, " "{d,f}, {d}, {f}, {}}")); BOOST_CHECK_EQUAL(poly1.leadStableHash(), poly2.leadStableHash()); // naturally lexicographicsl BOOST_CHECK_EQUAL_COLLECTIONS(poly1.begin(), poly1.end(), poly1.orderedBegin(), poly1.orderedEnd()); BOOST_CHECK_EQUAL_COLLECTIONS(poly2.begin(), poly2.end(), poly2.orderedBegin(), poly2.orderedEnd()); BooleMonomial terms1[] = {a, b, c*d*e, c*e*f, g*h}; BooleMonomial terms2[] = {a, b, c*d, e*f, g*h}; BooleExponent exps1[] = {terms1[0].exp(), terms1[1].exp(), terms1[2].exp(), terms1[3].exp(), terms1[4].exp()}; BooleExponent exps2[] = {terms2[0].exp(), terms2[1].exp(), terms2[2].exp(), terms2[3].exp(), terms2[4].exp()}; BOOST_CHECK_EQUAL_COLLECTIONS(poly1.orderedBegin(), poly1.orderedEnd(), terms1, terms1 + 5); BOOST_CHECK_EQUAL_COLLECTIONS(poly2.orderedBegin(), poly2.orderedEnd(), terms2, terms2 + 5); BOOST_CHECK_EQUAL_COLLECTIONS(poly1.orderedExpBegin(), poly1.orderedExpEnd(), exps1, exps1 + 5); BOOST_CHECK_EQUAL_COLLECTIONS(poly2.orderedExpBegin(), poly2.orderedExpEnd(), exps2, exps2 + 5); BOOST_CHECK_EQUAL_COLLECTIONS(poly1.genericBegin(lex_tag()), poly1.genericEnd(lex_tag()), terms1, terms1 + 5); BOOST_CHECK_EQUAL_COLLECTIONS(poly2.genericBegin(lex_tag()), poly2.genericEnd(lex_tag()), terms2, terms2 + 5); BOOST_CHECK_EQUAL_COLLECTIONS(poly1.genericExpBegin(lex_tag()), poly1.genericExpEnd(lex_tag()), exps1, exps1 + 5); BOOST_CHECK_EQUAL_COLLECTIONS(poly2.genericExpBegin(lex_tag()), poly2.genericExpEnd(lex_tag()), exps2, exps2 + 5); BOOST_CHECK_EQUAL(poly_type(ring).eliminationLength(), 0); BOOST_CHECK_EQUAL(poly1.eliminationLength(), 10); BOOST_CHECK_EQUAL(poly2.eliminationLength(), 8); BOOST_CHECK_EQUAL(poly1.eliminationLengthWithDegBound(3), 10); BOOST_CHECK_EQUAL(poly2.eliminationLengthWithDegBound(2), 8); BOOST_CHECK_EQUAL(poly1.compare(poly1), CTypes::equality); BOOST_CHECK_EQUAL(poly1.compare(poly2), CTypes::greater_than); BOOST_CHECK_EQUAL(poly2.compare(poly1), CTypes::less_than); BOOST_CHECK_EQUAL(poly1.compare(poly_type(ring)), CTypes::greater_than); BOOST_CHECK_EQUAL(poly_type(ring).compare(poly2), CTypes::less_than); } BOOST_FIXTURE_TEST_CASE(test_ordering_dlex, OrderGenFix) { BOOST_CHECK_THROW(poly_type(ring).lead(), PBoRiError); BOOST_CHECK_THROW(poly_type(0, ring).lead(), PBoRiError); BOOST_CHECK_EQUAL(poly1.lead(), c*d*e); BOOST_CHECK_EQUAL(poly2.lead(), c*d); BOOST_CHECK_EQUAL(poly1.leadExp(), (c*d*e).exp()); BOOST_CHECK_EQUAL(poly2.leadExp(), (c*d).exp()); BOOST_CHECK_EQUAL(poly1.boundedLead(3), c*d*e); BOOST_CHECK_EQUAL(poly2.boundedLead(3), c*d); BOOST_CHECK_EQUAL(poly1.boundedLeadExp(3), (c*d*e).exp()); BOOST_CHECK_EQUAL(poly2.boundedLeadExp(3), (c*d).exp()); BOOST_CHECK_EQUAL(poly1.leadDeg(), 3); BOOST_CHECK_EQUAL(poly2.leadDeg(), 2); output << poly_type(a*b*d*f + a*b + a + g).leadDivisors(); BOOST_CHECK(output.is_equal("{{a,b,d,f}, {a,b,d}, {a,b,f}, {a,b}, {a,d,f}, " "{a,d}, {a,f}, {a}, {b,d,f}, {b,d}, {b,f}, {b}, " "{d,f}, {d}, {f}, {}}")); BOOST_CHECK_NE(poly1.leadStableHash(), poly2.leadStableHash()); BooleMonomial terms1[] = {c*d*e, c*e*f, g*h, a, b}; BooleMonomial terms2[] = {c*d, e*f, g*h, a, b}; BooleExponent exps1[] = {terms1[0].exp(), terms1[1].exp(), terms1[2].exp(), terms1[3].exp(), terms1[4].exp()}; BooleExponent exps2[] = {terms2[0].exp(), terms2[1].exp(), terms2[2].exp(), terms2[3].exp(), terms2[4].exp()}; BOOST_CHECK_EQUAL_COLLECTIONS(poly1.orderedBegin(), poly1.orderedEnd(), terms1, terms1 + 5); BOOST_CHECK_EQUAL_COLLECTIONS(poly2.orderedBegin(), poly2.orderedEnd(), terms2, terms2 + 5); BOOST_CHECK_EQUAL_COLLECTIONS(poly1.orderedExpBegin(), poly1.orderedExpEnd(), exps1, exps1 + 5); BOOST_CHECK_EQUAL_COLLECTIONS(poly2.orderedExpBegin(), poly2.orderedExpEnd(), exps2, exps2 + 5); BOOST_CHECK_EQUAL_COLLECTIONS(poly1.genericBegin(dlex_tag()), poly1.genericEnd(dlex_tag()), terms1, terms1 + 5); BOOST_CHECK_EQUAL_COLLECTIONS(poly2.genericBegin(dlex_tag()), poly2.genericEnd(dlex_tag()), terms2, terms2 + 5); BOOST_CHECK_EQUAL_COLLECTIONS(poly1.genericExpBegin(dlex_tag()), poly1.genericExpEnd(dlex_tag()), exps1, exps1 + 5); BOOST_CHECK_EQUAL_COLLECTIONS(poly2.genericExpBegin(dlex_tag()), poly2.genericExpEnd(dlex_tag()), exps2, exps2 + 5); BOOST_CHECK_EQUAL(poly_type(ring).eliminationLength(), 0); BOOST_CHECK_EQUAL(poly1.eliminationLength(), 5); BOOST_CHECK_EQUAL(poly2.eliminationLength(), 5); BOOST_CHECK_EQUAL(poly1.eliminationLengthWithDegBound(3), 5); BOOST_CHECK_EQUAL(poly2.eliminationLengthWithDegBound(2), 5); BOOST_CHECK_EQUAL(poly1.compare(poly1), CTypes::equality); BOOST_CHECK_EQUAL(poly1.compare(poly2), CTypes::greater_than); BOOST_CHECK_EQUAL(poly2.compare(poly1), CTypes::less_than); BOOST_CHECK_EQUAL(poly1.compare(poly_type(ring)), CTypes::greater_than); BOOST_CHECK_EQUAL(poly_type(ring).compare(poly2), CTypes::less_than); } BOOST_FIXTURE_TEST_CASE(test_ordering_dp_asc, OrderGenFix) { BOOST_CHECK_THROW(poly_type(ring).lead(), PBoRiError); BOOST_CHECK_THROW(poly_type(0, ring).lead(), PBoRiError); BOOST_CHECK_EQUAL(poly1.lead(), c*e*f); BOOST_CHECK_EQUAL(poly2.lead(), g*h); BOOST_CHECK_EQUAL(poly1.leadExp(), poly1.lead().exp()); BOOST_CHECK_EQUAL(poly2.leadExp(), poly2.lead().exp()); BOOST_CHECK_EQUAL(poly1.boundedLead(3), poly1.lead()); BOOST_CHECK_EQUAL(poly2.boundedLead(2), poly2.lead()); BOOST_CHECK_EQUAL(poly1.boundedLeadExp(3), poly1.boundedLead(3).exp()); BOOST_CHECK_EQUAL(poly2.boundedLeadExp(2), poly2.boundedLead(2).exp()); BOOST_CHECK_EQUAL(poly1.leadDeg(), 3); BOOST_CHECK_EQUAL(poly2.leadDeg(), 2); output << poly_type(a*b*d*f + a*b + a + g).leadDivisors(); BOOST_CHECK(output.is_equal("{{a,b,d,f}, {a,b,d}, {a,b,f}, {a,b}, {a,d,f}, " "{a,d}, {a,f}, {a}, {b,d,f}, {b,d}, {b,f}, {b}, " "{d,f}, {d}, {f}, {}}")); BOOST_CHECK_NE(poly1.leadStableHash(), poly2.leadStableHash()); BooleMonomial terms1[] = {c*e*f, c*d*e, g*h, b, a}; BooleMonomial terms2[] = {g*h, e*f, c*d, b, a}; BooleExponent exps1[] = {terms1[0].exp(), terms1[1].exp(), terms1[2].exp(), terms1[3].exp(), terms1[4].exp()}; BooleExponent exps2[] = {terms2[0].exp(), terms2[1].exp(), terms2[2].exp(), terms2[3].exp(), terms2[4].exp()}; BOOST_CHECK_EQUAL_COLLECTIONS(poly1.orderedBegin(), poly1.orderedEnd(), terms1, terms1 + 5); BOOST_CHECK_EQUAL_COLLECTIONS(poly2.orderedBegin(), poly2.orderedEnd(), terms2, terms2 + 5); BOOST_CHECK_EQUAL_COLLECTIONS(poly1.orderedExpBegin(), poly1.orderedExpEnd(), exps1, exps1 + 5); BOOST_CHECK_EQUAL_COLLECTIONS(poly2.orderedExpBegin(), poly2.orderedExpEnd(), exps2, exps2 + 5); BOOST_CHECK_EQUAL_COLLECTIONS(poly1.genericBegin(dp_asc_tag()), poly1.genericEnd(dp_asc_tag()), terms1, terms1 + 5); BOOST_CHECK_EQUAL_COLLECTIONS(poly2.genericBegin(dp_asc_tag()), poly2.genericEnd(dp_asc_tag()), terms2, terms2 + 5); BOOST_CHECK_EQUAL_COLLECTIONS(poly1.genericExpBegin(dp_asc_tag()), poly1.genericExpEnd(dp_asc_tag()), exps1, exps1 + 5); BOOST_CHECK_EQUAL_COLLECTIONS(poly2.genericExpBegin(dp_asc_tag()), poly2.genericExpEnd(dp_asc_tag()), exps2, exps2 + 5); BOOST_CHECK_EQUAL(poly_type(ring).eliminationLength(), 0); BOOST_CHECK_EQUAL(poly1.eliminationLength(), 5); BOOST_CHECK_EQUAL(poly2.eliminationLength(), 5); BOOST_CHECK_EQUAL(poly1.eliminationLengthWithDegBound(3), 5); BOOST_CHECK_EQUAL(poly2.eliminationLengthWithDegBound(2), 5); BOOST_CHECK_EQUAL(poly1.compare(poly1), CTypes::equality); BOOST_CHECK_EQUAL(poly1.compare(poly2), CTypes::greater_than); BOOST_CHECK_EQUAL(poly2.compare(poly1), CTypes::less_than); BOOST_CHECK_EQUAL(poly1.compare(poly_type(ring)), CTypes::greater_than); BOOST_CHECK_EQUAL(poly_type(ring).compare(poly2), CTypes::less_than); } BOOST_FIXTURE_TEST_CASE(test_ordering_block_dlex, OrderGenFix) { ring.ordering().appendBlock(3); BOOST_CHECK_THROW(poly_type(ring).lead(), PBoRiError); BOOST_CHECK_THROW(poly_type(0, ring).lead(), PBoRiError); BOOST_CHECK_EQUAL(poly1.lead(), a); BOOST_CHECK_EQUAL(poly2.lead(), a); BOOST_CHECK_EQUAL(poly1.leadExp(), BooleExponent().change(0)); BOOST_CHECK_EQUAL(poly2.leadExp(), BooleExponent().change(0)); BOOST_CHECK_EQUAL(poly1.boundedLead(3), a); BOOST_CHECK_EQUAL(poly2.boundedLead(3), a); BOOST_CHECK_EQUAL(poly1.boundedLeadExp(3), BooleExponent().change(0)); BOOST_CHECK_EQUAL(poly2.boundedLeadExp(3), BooleExponent().change(0)); BOOST_CHECK_EQUAL(poly1.leadDeg(), 1); BOOST_CHECK_EQUAL(poly2.leadDeg(), 1); output << poly_type(a*b*d*f + a*b + a + g).leadDivisors(); BOOST_CHECK(output.is_equal("{{a,b,d,f}, {a,b,d}, {a,b,f}, {a,b}, {a,d,f}, " "{a,d}, {a,f}, {a}, {b,d,f}, {b,d}, {b,f}, {b}, " "{d,f}, {d}, {f}, {}}")); BOOST_CHECK_EQUAL(poly1.leadStableHash(), poly2.leadStableHash()); BooleMonomial terms1[] = {a, b, c*d*e, c*e*f, g*h}; BooleMonomial terms2[] = {a, b, c*d, e*f, g*h}; BooleExponent exps1[] = {terms1[0].exp(), terms1[1].exp(), terms1[2].exp(), terms1[3].exp(), terms1[4].exp()}; BooleExponent exps2[] = {terms2[0].exp(), terms2[1].exp(), terms2[2].exp(), terms2[3].exp(), terms2[4].exp()}; BOOST_CHECK_EQUAL_COLLECTIONS(poly1.orderedBegin(), poly1.orderedEnd(), terms1, terms1 + 5); BOOST_CHECK_EQUAL_COLLECTIONS(poly2.orderedBegin(), poly2.orderedEnd(), terms2, terms2 + 5); BOOST_CHECK_EQUAL_COLLECTIONS(poly1.orderedExpBegin(), poly1.orderedExpEnd(), exps1, exps1 + 5); BOOST_CHECK_EQUAL_COLLECTIONS(poly2.orderedExpBegin(), poly2.orderedExpEnd(), exps2, exps2 + 5); BOOST_CHECK_EQUAL_COLLECTIONS(poly1.genericBegin(block_dlex_tag()), poly1.genericEnd(block_dlex_tag()), terms1, terms1 + 5); BOOST_CHECK_EQUAL_COLLECTIONS(poly2.genericBegin(block_dlex_tag()), poly2.genericEnd(block_dlex_tag()), terms2, terms2 + 5); BOOST_CHECK_EQUAL_COLLECTIONS(poly1.genericExpBegin(block_dlex_tag()), poly1.genericExpEnd(block_dlex_tag()), exps1, exps1 + 5); BOOST_CHECK_EQUAL_COLLECTIONS(poly2.genericExpBegin(block_dlex_tag()), poly2.genericExpEnd(block_dlex_tag()), exps2, exps2 + 5); BOOST_CHECK_EQUAL(poly_type(ring).eliminationLength(), 0); BOOST_CHECK_EQUAL(poly1.eliminationLength(), 10); BOOST_CHECK_EQUAL(poly2.eliminationLength(), 8); BOOST_CHECK_EQUAL(poly1.eliminationLengthWithDegBound(3), 10); BOOST_CHECK_EQUAL(poly2.eliminationLengthWithDegBound(2), 8); BOOST_CHECK_EQUAL(poly1.compare(poly1), CTypes::equality); BOOST_CHECK_EQUAL(poly1.compare(poly2), CTypes::greater_than); BOOST_CHECK_EQUAL(poly2.compare(poly1), CTypes::less_than); BOOST_CHECK_EQUAL(poly1.compare(poly_type(ring)), CTypes::greater_than); BOOST_CHECK_EQUAL(poly_type(ring).compare(poly2), CTypes::less_than); } BOOST_FIXTURE_TEST_CASE(test_ordering_block_dp_asc, OrderGenFix) { ring.ordering().appendBlock(3); BOOST_CHECK_THROW(poly_type(ring).lead(), PBoRiError); BOOST_CHECK_THROW(poly_type(0, ring).lead(), PBoRiError); BOOST_CHECK_EQUAL(poly1.lead(), c*e*f); BOOST_CHECK_EQUAL(poly2.lead(), c*d); BOOST_CHECK_EQUAL(poly1.leadExp(), poly1.lead().exp()); BOOST_CHECK_EQUAL(poly2.leadExp(), poly2.lead().exp()); BOOST_CHECK_EQUAL(poly1.boundedLead(3), poly1.lead()); BOOST_CHECK_EQUAL(poly2.boundedLead(2), poly2.lead()); BOOST_CHECK_EQUAL(poly1.boundedLeadExp(3), poly1.boundedLead(3).exp()); BOOST_CHECK_EQUAL(poly2.boundedLeadExp(2), poly2.boundedLead(2).exp()); BOOST_CHECK_EQUAL(poly1.leadDeg(), 3); BOOST_CHECK_EQUAL(poly2.leadDeg(), 2); output << poly_type(a*b*d*f + a*b + a + g).leadDivisors(); BOOST_CHECK(output.is_equal("{{a,b,d,f}, {a,b,d}, {a,b,f}, {a,b}, {a,d,f}, " "{a,d}, {a,f}, {a}, {b,d,f}, {b,d}, {b,f}, {b}, " "{d,f}, {d}, {f}, {}}")); BOOST_CHECK_NE(poly1.leadStableHash(), poly2.leadStableHash()); BooleMonomial terms1[] = {c*e*f, c*d*e, b, a, g*h}; BooleMonomial terms2[] = {c*d, b, a, g*h, e*f}; BooleExponent exps1[] = {terms1[0].exp(), terms1[1].exp(), terms1[2].exp(), terms1[3].exp(), terms1[4].exp()}; BooleExponent exps2[] = {terms2[0].exp(), terms2[1].exp(), terms2[2].exp(), terms2[3].exp(), terms2[4].exp()}; BOOST_CHECK_EQUAL_COLLECTIONS(poly1.orderedBegin(), poly1.orderedEnd(), terms1, terms1 + 5); BOOST_CHECK_EQUAL_COLLECTIONS(poly2.orderedBegin(), poly2.orderedEnd(), terms2, terms2 + 5); BOOST_CHECK_EQUAL_COLLECTIONS(poly1.orderedExpBegin(), poly1.orderedExpEnd(), exps1, exps1 + 5); BOOST_CHECK_EQUAL_COLLECTIONS(poly2.orderedExpBegin(), poly2.orderedExpEnd(), exps2, exps2 + 5); BOOST_CHECK_EQUAL_COLLECTIONS(poly1.genericBegin(block_dp_asc_tag()), poly1.genericEnd(block_dp_asc_tag()), terms1, terms1 + 5); BOOST_CHECK_EQUAL_COLLECTIONS(poly2.genericBegin(block_dp_asc_tag()), poly2.genericEnd(block_dp_asc_tag()), terms2, terms2 + 5); BOOST_CHECK_EQUAL_COLLECTIONS(poly1.genericExpBegin(block_dp_asc_tag()), poly1.genericExpEnd(block_dp_asc_tag()), exps1, exps1 + 5); BOOST_CHECK_EQUAL_COLLECTIONS(poly2.genericExpBegin(block_dp_asc_tag()), poly2.genericExpEnd(block_dp_asc_tag()), exps2, exps2 + 5); BOOST_CHECK_EQUAL(poly_type(ring).eliminationLength(), 0); BOOST_CHECK_EQUAL(poly1.eliminationLength(), 5); BOOST_CHECK_EQUAL(poly2.eliminationLength(), 5); BOOST_CHECK_EQUAL(poly1.eliminationLengthWithDegBound(3), 5); BOOST_CHECK_EQUAL(poly2.eliminationLengthWithDegBound(2), 5); BOOST_CHECK_EQUAL(poly1.compare(poly1), CTypes::equality); BOOST_CHECK_EQUAL(poly1.compare(poly2), CTypes::greater_than); BOOST_CHECK_EQUAL(poly2.compare(poly1), CTypes::less_than); BOOST_CHECK_EQUAL(poly1.compare(poly_type(ring)), CTypes::greater_than); BOOST_CHECK_EQUAL(poly_type(ring).compare(poly2), CTypes::less_than); } BOOST_AUTO_TEST_CASE(test_incompatible) { BOOST_TEST_MESSAGE( "Incompatible operands..." ); BoolePolyRing other_ring(5, CTypes::lp); BoolePolynomial other_poly = other_ring.variable(2); BOOST_CHECK_THROW((x*y + z) +other_poly, std::exception); } BOOST_AUTO_TEST_CASE(test_inSingleBlock) { BOOST_TEST_MESSAGE( "Testing inSingleBlock..." ); BoolePolynomial poly = x + y + z + v + w; BoolePolynomial zero(ring); BoolePolynomial one(zero + 1); BOOST_CHECK(poly.inSingleBlock()); BOOST_CHECK(zero.inSingleBlock()); BOOST_CHECK(one.inSingleBlock()); ring.changeOrdering(CTypes::block_dlex); BOOST_CHECK(poly.inSingleBlock()); BOOST_CHECK(zero.inSingleBlock()); BOOST_CHECK(one.inSingleBlock()); ring.ordering().appendBlock(3); BOOST_CHECK(!poly.inSingleBlock()); BOOST_CHECK(zero.inSingleBlock()); BOOST_CHECK(one.inSingleBlock()); ring.ordering().appendBlock(4); BOOST_CHECK(!poly.inSingleBlock()); BOOST_CHECK(zero.inSingleBlock()); BOOST_CHECK(one.inSingleBlock()); ring.changeOrdering(CTypes::block_dp_asc); BOOST_CHECK(poly.inSingleBlock()); BOOST_CHECK(zero.inSingleBlock()); BOOST_CHECK(one.inSingleBlock()); ring.ordering().appendBlock(3); BOOST_CHECK(!poly.inSingleBlock()); BOOST_CHECK(zero.inSingleBlock()); BOOST_CHECK(one.inSingleBlock()); ring.ordering().appendBlock(4); BOOST_CHECK(!poly.inSingleBlock()); BOOST_CHECK(zero.inSingleBlock()); BOOST_CHECK(one.inSingleBlock()); } // class mymap: // public std::map { // public: // mymap(const BoolePolynomial& zero): // std::map(), m_zero(zero) {} // BoolePolynomial& operator[](const key_type& idx) { // iterator iter = find(idx); // if (iter == end()) // iter = insert(value_type(idx, m_zero)).first; // return (*iter).second; // } // const BoolePolynomial& operator[](const key_type& idx) const { // const_iterator iter = find(idx); // if (iter == end()) // return m_zero; // return (*iter).second; // } // private: // BoolePolynomial m_zero; // }; // BOOST_AUTO_TEST_CASE(test_exp) { // BoolePolyRing ring(17); // typedef std::map map_type; // map_type mapping; // mapping.insert(std::make_pair(3, ring.variable(5) + ring.variable(3))); // for (unsigned int idx = 0 ; idx <10; ++idx) { // map_type::iterator iter = mapping.find(idx); // BoolePolynomial result(iter == mapping.end()? // BoolePolynomial(0,ring): iter->second); // std::cerr << idx << ": "<< result < #include #if BOOST_VERSION < 107100 #include #else #include #endif using boost::test_tools::output_test_stream; #include #include #include #include #include #include #include USING_NAMESPACE_PBORI struct Fset { typedef BooleSet set_type; Fset(const BoolePolyRing& input_ring = BoolePolyRing(5)): ring(input_ring), x(0, input_ring), y(1, input_ring), z(2, input_ring), v(3, input_ring), w(4, input_ring), poly(input_ring) { BOOST_TEST_MESSAGE( "setup fixture" ); ring.setVariableName(0, "x"); ring.setVariableName(1, "y"); ring.setVariableName(2, "z"); ring.setVariableName(3, "v"); ring.setVariableName(4, "w"); poly = x*y*z + v*z - x*v + y; } ~Fset() { BOOST_TEST_MESSAGE( "teardown fixture" ); } BoolePolyRing ring; BooleVariable x, y, z, v, w; BoolePolynomial poly; }; BOOST_FIXTURE_TEST_SUITE(BooleSetTestSuite, Fset ) BOOST_AUTO_TEST_CASE(test_constructors) { set_type set(ring); output_test_stream output; output << set; BOOST_CHECK(output.is_equal("{}")); set = set.add(x); set_type set2(ring); BOOST_CHECK_THROW(set_type(0,set,set2), PBoRiGenericError); set_type set1(ring); set1 = set1.add(y); set_type set3 = set_type(0,set1,set2); output << set3; BOOST_CHECK(output.is_equal("{{x,y}}")); set = poly.set(); output << set; BOOST_CHECK(output.is_equal("{{x,y,z}, {x,v}, {y}, {z,v}}")); } BOOST_AUTO_TEST_CASE(test_variables) { output_test_stream output; set_type set = poly.set(); set_type empty(ring); BOOST_TEST_MESSAGE( "usedVariables, usedVariablesExp" ); // BooleMonomial is used as a BooleVariable set here BOOST_CHECK_EQUAL(set.usedVariables(),x*y*z*v); BOOST_CHECK_EQUAL(empty.usedVariables(),BooleMonomial(ring)); set_type added_set = set.add(BooleMonomial(ring)); BOOST_CHECK_EQUAL(added_set.usedVariables(),x*y*z*v); BooleExponent exp = set.usedVariablesExp(); output << exp; BOOST_CHECK(output.is_equal("(0, 1, 2, 3)")); exp = empty.usedVariablesExp(); output << exp; BOOST_CHECK(output.is_equal("()")); BOOST_TEST_MESSAGE( "lastLexicographicalTerm" ); BOOST_CHECK_EQUAL(set.lastLexicographicalTerm(), BooleMonomial(v*z)); BOOST_CHECK_THROW(empty.lastLexicographicalTerm(), PBoRiError); set_type simple = empty.add(BooleMonomial(ring)); BOOST_CHECK_EQUAL(simple.lastLexicographicalTerm(), BooleMonomial(ring)); simple = empty.add(x); BOOST_CHECK_EQUAL(simple.lastLexicographicalTerm(), x); BOOST_TEST_MESSAGE( "minimalElements" ); set_type set2 = set.minimalElements(); output << set2; BOOST_CHECK(output.is_equal("{{x,v}, {y}, {z,v}}")); set2 = empty.minimalElements(); output << set2; BOOST_CHECK(output.is_equal("{}")); BOOST_CHECK_EQUAL(set2,empty); BOOST_TEST_MESSAGE( "hasTermOfVariables" );// Strange? Does this do what it is supposed to? // set: {{x,y,z}, {x,v}, {y}, {z,v}} BOOST_TEST_MESSAGE( output.str() ); BOOST_CHECK(set.hasTermOfVariables(x*v)); BOOST_CHECK(set.hasTermOfVariables(x*y*z)); BOOST_CHECK(set.hasTermOfVariables(x*z*y)); BOOST_CHECK(set.hasTermOfVariables(x*z*v)); BOOST_CHECK(set.hasTermOfVariables(y)); BOOST_CHECK(set.hasTermOfVariables(z*v)); BOOST_CHECK(!set.hasTermOfVariables(x)); BOOST_CHECK(!set.hasTermOfVariables(z)); BOOST_CHECK(!set.hasTermOfVariables(v)); BOOST_CHECK(!set.hasTermOfVariables(w)); BOOST_CHECK(set.hasTermOfVariables(x*y)); BOOST_CHECK(set.hasTermOfVariables(y*x)); BOOST_CHECK(set.hasTermOfVariables(y*z)); BOOST_CHECK(set.hasTermOfVariables(z*y)); BOOST_CHECK(!set.hasTermOfVariables(BooleMonomial(ring))); BOOST_CHECK(!empty.hasTermOfVariables(y)); BOOST_CHECK(!empty.hasTermOfVariables(x*y*z)); BOOST_CHECK(!empty.hasTermOfVariables(x*z*y)); BOOST_CHECK(!empty.hasTermOfVariables(x*z*v)); BOOST_CHECK(!empty.hasTermOfVariables(BooleMonomial(ring))); BOOST_TEST_MESSAGE( "contains" ); BOOST_CHECK(set.contains(empty)); BOOST_CHECK(set.contains(set)); BOOST_CHECK(!empty.contains(set)); BOOST_CHECK(empty.contains(empty)); BOOST_CHECK(!empty.contains(ring.one())); BOOST_CHECK(!set.contains(ring.one())); set2 = empty.add(x*y*z); BOOST_CHECK(!set2.contains(set)); BOOST_CHECK(set.contains(set2)); set2 = empty.add(x*v); BOOST_CHECK(!set2.contains(set)); BOOST_CHECK(set.contains(set2)); BOOST_CHECK(set.contains(BoolePolynomial(y).set())); set2 = empty.add(z*v); BOOST_CHECK(!set2.contains(set)); BOOST_CHECK(set.contains(set2)); set2 = empty.add(x*y*z); set2 = set2.add(x*v); BOOST_CHECK(!set2.contains(set)); BOOST_CHECK(set.contains(set2)); set2 = empty.add(x*y*z); set2 = set2.add(y); BOOST_CHECK(!set2.contains(set)); BOOST_CHECK(set.contains(set2)); set2 = empty.add(x*y*z); set2 = set2.add(z*v); BOOST_CHECK(!set2.contains(set)); BOOST_CHECK(set.contains(set2)); set2 = empty.add(x*v); set2 = set2.add(y); BOOST_CHECK(!set2.contains(set)); BOOST_CHECK(set.contains(set2)); set2 = empty.add(x*v); set2 = set2.add(z*v); BOOST_CHECK(!set2.contains(set)); BOOST_CHECK(set.contains(set2)); set2 = empty.add(y); set2 = set2.add(z*v); BOOST_CHECK(!set2.contains(set)); BOOST_CHECK(set.contains(set2)); set2 = set2.add(x*v); BOOST_CHECK(!set2.contains(set)); BOOST_CHECK(set.contains(set2)); set2 = set2.add(x*y*z); BOOST_CHECK(set2.contains(set)); BOOST_CHECK(set.contains(set2)); set2 = set2.add(x*y*v); BOOST_CHECK(set2.contains(set)); BOOST_CHECK(!set.contains(set2)); BOOST_TEST_MESSAGE( "emptyElement" ); set_type emptyEl = empty.emptyElement(); output << emptyEl; BOOST_CHECK(output.is_equal("{}")); BOOST_CHECK_EQUAL(emptyEl, empty); emptyEl = set.emptyElement(); output << emptyEl; BOOST_CHECK(output.is_equal("{}")); BOOST_CHECK_EQUAL(emptyEl, empty); BOOST_TEST_MESSAGE( "countIndex" ); BOOST_CHECK_EQUAL(set.countIndex(0),2); BOOST_CHECK_EQUAL(set.countIndex(1),2); BOOST_CHECK_EQUAL(set.countIndex(2),2); BOOST_CHECK_EQUAL(set.countIndex(3),2); BOOST_CHECK_EQUAL(set.countIndex(4),0); BOOST_CHECK_EQUAL(set.countIndex(5),0); BOOST_CHECK_EQUAL(empty.countIndex(0),0); BOOST_CHECK_EQUAL(empty.countIndex(1),0); BOOST_CHECK_EQUAL(empty.countIndex(2),0); BOOST_CHECK_EQUAL(empty.countIndex(3),0); BOOST_CHECK_EQUAL(empty.countIndex(4),0); BOOST_CHECK_EQUAL(empty.countIndex(5),0); BOOST_TEST_MESSAGE( "countIndexDouble" ); BOOST_CHECK_EQUAL(set.countIndexDouble(0),2); BOOST_CHECK_EQUAL(set.countIndexDouble(1),2); BOOST_CHECK_EQUAL(set.countIndexDouble(2),2); BOOST_CHECK_EQUAL(set.countIndexDouble(3),2); BOOST_CHECK_EQUAL(set.countIndexDouble(4),0); BOOST_CHECK_EQUAL(set.countIndexDouble(5),0); BOOST_CHECK_EQUAL(empty.countIndexDouble(0),0); BOOST_CHECK_EQUAL(empty.countIndexDouble(1),0); BOOST_CHECK_EQUAL(empty.countIndexDouble(2),0); BOOST_CHECK_EQUAL(empty.countIndexDouble(3),0); BOOST_CHECK_EQUAL(empty.countIndexDouble(4),0); BOOST_CHECK_EQUAL(empty.countIndexDouble(5),0); BOOST_TEST_MESSAGE( "containsDivisorsOfDecDeg" ); BOOST_CHECK(!set.containsDivisorsOfDecDeg(x*v)); BOOST_CHECK(!set.containsDivisorsOfDecDeg(x*y*z)); BOOST_CHECK(!set.containsDivisorsOfDecDeg(x*z*y)); BOOST_CHECK(!set.containsDivisorsOfDecDeg(y)); BOOST_CHECK(!set.containsDivisorsOfDecDeg(z*v)); BOOST_CHECK(!set.containsDivisorsOfDecDeg(x)); BOOST_CHECK(!set.containsDivisorsOfDecDeg(z)); BOOST_CHECK(!set.containsDivisorsOfDecDeg(v)); BOOST_CHECK(!set.containsDivisorsOfDecDeg(w)); BOOST_CHECK(!set.containsDivisorsOfDecDeg(x*y)); BOOST_CHECK(!set.containsDivisorsOfDecDeg(y*x)); BOOST_CHECK(!set.containsDivisorsOfDecDeg(y*z)); BOOST_CHECK(!set.containsDivisorsOfDecDeg(z*y)); BOOST_CHECK(set.containsDivisorsOfDecDeg(BooleMonomial(ring))); BOOST_CHECK(!empty.containsDivisorsOfDecDeg(x)); BOOST_CHECK(!empty.containsDivisorsOfDecDeg(x*y*z)); BOOST_CHECK(empty.containsDivisorsOfDecDeg(BooleMonomial(ring))); BOOST_CHECK(!set.containsDivisorsOfDecDeg(BooleExponent(x*v))); BOOST_CHECK(!set.containsDivisorsOfDecDeg(BooleExponent(x*y*z))); BOOST_CHECK(!set.containsDivisorsOfDecDeg(BooleExponent(x*z*y))); BOOST_CHECK(!set.containsDivisorsOfDecDeg(BooleExponent(y))); BOOST_CHECK(!set.containsDivisorsOfDecDeg(BooleExponent(z*v))); BOOST_CHECK(!set.containsDivisorsOfDecDeg(BooleExponent(x))); BOOST_CHECK(!set.containsDivisorsOfDecDeg(BooleExponent(z))); BOOST_CHECK(!set.containsDivisorsOfDecDeg(BooleExponent(v))); BOOST_CHECK(!set.containsDivisorsOfDecDeg(BooleExponent(w))); BOOST_CHECK(!set.containsDivisorsOfDecDeg(BooleExponent(x*y))); BOOST_CHECK(!set.containsDivisorsOfDecDeg(BooleExponent(y*x))); BOOST_CHECK(!set.containsDivisorsOfDecDeg(BooleExponent(y*z))); BOOST_CHECK(!set.containsDivisorsOfDecDeg(BooleExponent(z*y))); BOOST_CHECK(set.containsDivisorsOfDecDeg(BooleExponent())); BOOST_CHECK(!empty.containsDivisorsOfDecDeg(BooleExponent(x))); BOOST_CHECK(!empty.containsDivisorsOfDecDeg(BooleExponent(x*y*z))); BOOST_CHECK(empty.containsDivisorsOfDecDeg(BooleExponent())); set_type set1(ring); set1 = set1.add(x*y*z); set1 = set1.add(x*y); set1 = set1.add(x*z); set1 = set1.add(y*z); BOOST_CHECK(set1.containsDivisorsOfDecDeg(x*y*z)); BOOST_CHECK(!set1.containsDivisorsOfDecDeg(x*y)); BOOST_CHECK(!set1.containsDivisorsOfDecDeg(y*z)); BOOST_CHECK(!set1.containsDivisorsOfDecDeg(x*z)); BOOST_CHECK(set1.containsDivisorsOfDecDeg(BooleExponent(x*y*z))); BOOST_CHECK(!set1.containsDivisorsOfDecDeg(BooleExponent(x*y))); BOOST_CHECK(!set1.containsDivisorsOfDecDeg(BooleExponent(y*z))); BOOST_CHECK(!set1.containsDivisorsOfDecDeg(BooleExponent(x*z))); set1 = set1.add(x); set1 = set1.add(y); set1 = set1.add(z); BOOST_CHECK(set1.containsDivisorsOfDecDeg(x*y)); BOOST_CHECK(set1.containsDivisorsOfDecDeg(y*z)); BOOST_CHECK(set1.containsDivisorsOfDecDeg(x*z)); BOOST_CHECK(!set1.containsDivisorsOfDecDeg(x)); BOOST_CHECK(!set1.containsDivisorsOfDecDeg(y)); BOOST_CHECK(!set1.containsDivisorsOfDecDeg(z)); BOOST_CHECK(set1.containsDivisorsOfDecDeg(BooleExponent(x*y))); BOOST_CHECK(set1.containsDivisorsOfDecDeg(BooleExponent(y*z))); BOOST_CHECK(set1.containsDivisorsOfDecDeg(BooleExponent(x*z))); BOOST_CHECK(!set1.containsDivisorsOfDecDeg(BooleExponent(x))); BOOST_CHECK(!set1.containsDivisorsOfDecDeg(BooleExponent(y))); BOOST_CHECK(!set1.containsDivisorsOfDecDeg(BooleExponent(z))); set1 = set1.add(BooleMonomial(ring)); BOOST_CHECK(set1.containsDivisorsOfDecDeg(x)); BOOST_CHECK(set1.containsDivisorsOfDecDeg(y)); BOOST_CHECK(set1.containsDivisorsOfDecDeg(z)); BOOST_CHECK(set1.containsDivisorsOfDecDeg(BooleMonomial(ring))); BOOST_CHECK(set1.containsDivisorsOfDecDeg(BooleExponent(x))); BOOST_CHECK(set1.containsDivisorsOfDecDeg(BooleExponent(y))); BOOST_CHECK(set1.containsDivisorsOfDecDeg(BooleExponent(z))); BOOST_CHECK(set1.containsDivisorsOfDecDeg(BooleExponent())); } BOOST_AUTO_TEST_CASE(test_properties) { BOOST_TEST_MESSAGE( "isSingleton, isSingletonOrPair, isPair" ); set_type set = poly.set(); BOOST_CHECK(!set.isSingleton()); BOOST_CHECK(!set.isSingletonOrPair()); BOOST_CHECK(!set.isPair()); set_type empty(ring); BOOST_CHECK(empty.isSingleton()); BOOST_CHECK(empty.isSingletonOrPair()); BOOST_CHECK(!empty.isPair()); empty = empty.add(BooleMonomial(ring)); BOOST_CHECK(empty.isSingleton()); BOOST_CHECK(empty.isSingletonOrPair()); BOOST_CHECK(!empty.isPair()); set_type single(ring); single = single.add(x); BOOST_CHECK(single.isSingleton()); BOOST_CHECK(single.isSingletonOrPair()); BOOST_CHECK(!single.isPair()); single = single.add(BooleMonomial(ring)); BOOST_CHECK(!single.isSingleton()); BOOST_CHECK(single.isSingletonOrPair()); BOOST_CHECK(single.isPair()); set_type pair(ring); pair = pair.add(x); pair = pair.add(y); BOOST_CHECK(!pair.isSingleton()); BOOST_CHECK(pair.isSingletonOrPair()); BOOST_CHECK(pair.isPair()); pair = pair.add(BooleMonomial(ring)); BOOST_CHECK(!pair.isSingleton()); BOOST_CHECK(!pair.isSingletonOrPair()); BOOST_CHECK(!pair.isPair()); } BOOST_AUTO_TEST_CASE(test_add_own) { set_type set = poly.set(); set_type empty(ring); BOOST_CHECK(set.owns(x*y*z)); BOOST_CHECK(set.owns(v*z)); BOOST_CHECK(set.owns(x*v)); BOOST_CHECK(set.owns(y)); BOOST_CHECK(!set.owns(x)); BOOST_CHECK(!set.owns(z)); BOOST_CHECK(!set.owns(v)); BOOST_CHECK(!set.owns(w)); BOOST_CHECK(!set.owns(x*v*z)); BOOST_CHECK(!set.owns(BooleMonomial(ring))); BOOST_CHECK(!empty.owns(x)); BOOST_CHECK(!empty.owns(y)); BOOST_CHECK(!empty.owns(z)); BOOST_CHECK(!empty.owns(v)); BOOST_CHECK(!empty.owns(w)); BOOST_CHECK(!empty.owns(BooleMonomial(ring))); BOOST_CHECK(set.owns(BooleExponent(x*y*z))); BOOST_CHECK(set.owns(BooleExponent(v*z))); BOOST_CHECK(set.owns(BooleExponent(x*v))); BOOST_CHECK(set.owns(BooleExponent(y))); BOOST_CHECK(!set.owns(BooleExponent(x))); BOOST_CHECK(!set.owns(BooleExponent(z))); BOOST_CHECK(!set.owns(BooleExponent(v))); BOOST_CHECK(!set.owns(BooleExponent(w))); BOOST_CHECK(!set.owns(BooleExponent(x*v*z))); BOOST_CHECK(!set.owns(BooleExponent())); BOOST_CHECK(!empty.owns(BooleExponent(x))); BOOST_CHECK(!empty.owns(BooleExponent(y))); BOOST_CHECK(!empty.owns(BooleExponent(z))); BOOST_CHECK(!empty.owns(BooleExponent(v))); BOOST_CHECK(!empty.owns(BooleExponent(w))); BOOST_CHECK(!empty.owns(BooleExponent())); set_type addedset = set.add(x); addedset = addedset.add(x*v*z); BOOST_CHECK(addedset.owns(x*y*z)); BOOST_CHECK(addedset.owns(v*z)); BOOST_CHECK(addedset.owns(x*v)); BOOST_CHECK(addedset.owns(y)); BOOST_CHECK(addedset.owns(x)); BOOST_CHECK(!addedset.owns(z)); BOOST_CHECK(!addedset.owns(v)); BOOST_CHECK(!addedset.owns(w)); BOOST_CHECK(addedset.owns(BooleExponent(x*v*z))); BOOST_CHECK(addedset.owns(BooleExponent(x*y*z))); BOOST_CHECK(addedset.owns(BooleExponent(v*z))); BOOST_CHECK(addedset.owns(BooleExponent(x*v))); BOOST_CHECK(addedset.owns(BooleExponent(y))); BOOST_CHECK(addedset.owns(BooleExponent(x))); BOOST_CHECK(!addedset.owns(BooleExponent(z))); BOOST_CHECK(!addedset.owns(BooleExponent(v))); BOOST_CHECK(!addedset.owns(BooleExponent(w))); BOOST_CHECK(addedset.owns(BooleExponent(x*v*z))); addedset = empty.add(x); addedset = addedset.add(y); addedset = addedset.add(v*w); BOOST_CHECK(addedset.owns(x)); BOOST_CHECK(addedset.owns(y)); BOOST_CHECK(addedset.owns(v*w)); BOOST_CHECK(!addedset.owns(v)); BOOST_CHECK(!addedset.owns(w)); BOOST_CHECK(addedset.owns(BooleExponent(x))); BOOST_CHECK(addedset.owns(BooleExponent(y))); BOOST_CHECK(addedset.owns(BooleExponent(v*w))); BOOST_CHECK(!addedset.owns(BooleExponent(v))); BOOST_CHECK(!addedset.owns(BooleExponent(w))); set_type empty2(ring); empty2 = empty2.add(x); BOOST_CHECK(empty2.owns(x)); BOOST_CHECK(empty2.owns(BooleExponent(x))); BOOST_CHECK(!set.ownsOne()); addedset = set.add(BooleMonomial(ring)); BOOST_CHECK(addedset.ownsOne()); BOOST_CHECK(!empty.ownsOne()); addedset = empty.add(BooleMonomial(ring)); BOOST_CHECK(addedset.ownsOne()); } BOOST_AUTO_TEST_CASE(test_division) { BOOST_TEST_MESSAGE( "divisors" ); output_test_stream output; set_type set = poly.set(); set_type result = set.divisorsOf(x); output << result; BOOST_CHECK(output.is_equal("{}")); result = set.divisorsOf(BooleExponent(x)); output << result; BOOST_CHECK(output.is_equal("{}")); result = set.divisorsOf(y); output << result; BOOST_CHECK(output.is_equal("{{y}}")); result = set.divisorsOf(BooleExponent(y)); output << result; BOOST_CHECK(output.is_equal("{{y}}")); result = set.divisorsOf(z); output << result; BOOST_CHECK(output.is_equal("{}")); result = set.divisorsOf(BooleExponent(z)); output << result; BOOST_CHECK(output.is_equal("{}")); result = set.divisorsOf(v); output << result; BOOST_CHECK(output.is_equal("{}")); result = set.divisorsOf(BooleExponent(v)); output << result; BOOST_CHECK(output.is_equal("{}")); result = set.divisorsOf(w); output << result; BOOST_CHECK(output.is_equal("{}")); result = set.divisorsOf(BooleExponent(w)); output << result; BOOST_CHECK(output.is_equal("{}")); result = set.divisorsOf(x*y); output << result; BOOST_CHECK(output.is_equal("{{y}}")); result = set.divisorsOf(BooleExponent(x*y)); output << result; BOOST_CHECK(output.is_equal("{{y}}")); BOOST_TEST_MESSAGE( "divide" ); result = set.divide(x); output << result; BOOST_CHECK(output.is_equal("{{y,z}, {v}}")); result = set.divide(y); output << result; BOOST_CHECK(output.is_equal("{{x,z}, {}}")); result = set.divide(z); output << result; BOOST_CHECK(output.is_equal("{{x,y}, {v}}")); result = set.divide(v); output << result; BOOST_CHECK(output.is_equal("{{x}, {z}}")); result = set.divide(w); output << result; BOOST_CHECK(output.is_equal("{}")); result = set.divide(x*v); output << result; BOOST_CHECK(output.is_equal("{{}}")); result = set.divide(x*y); output << result; BOOST_CHECK(output.is_equal("{{z}}")); result = set.divide(x*v*y); output << result; BOOST_CHECK(output.is_equal("{}")); result = set.divide(BooleMonomial(ring)); output << result; BOOST_CHECK(output.is_equal("{{x,y,z}, {x,v}, {y}, {z,v}}")); set_type empty(ring); result = empty.divide(x*v*y); output << result; BOOST_CHECK(output.is_equal("{}")); result = empty.divide(BooleMonomial(ring)); output << result; BOOST_CHECK(output.is_equal("{}")); BOOST_TEST_MESSAGE( "firstDivisorsOf" ); BoolePolynomial poly2 = x*y*z + x; set_type set2 = poly2.set(); result = set.firstDivisorsOf(set2); output << result; BOOST_CHECK(output.is_equal("{{x,y,z}, {y}}")); } BOOST_AUTO_TEST_CASE(test_size_values) { set_type set = poly.set(); set = set.add(x); set = set.add(x*y); set_type empty(ring); set_type almost_empty(ring); almost_empty = almost_empty.add(BooleMonomial(ring)); BOOST_TEST_MESSAGE( "size" ); BOOST_CHECK_EQUAL(set.size(),6); BOOST_CHECK_EQUAL(empty.size(),0); BOOST_CHECK_EQUAL(almost_empty.size(),1); BOOST_TEST_MESSAGE( "length" ); BOOST_CHECK_EQUAL(set.length(),6); BOOST_CHECK_EQUAL(empty.length(),0); BOOST_CHECK_EQUAL(almost_empty.length(),1); BOOST_TEST_MESSAGE( "nVariables" ); BOOST_CHECK_EQUAL(set.nVariables(),5); BOOST_CHECK_EQUAL(empty.nVariables(),5); BOOST_CHECK_EQUAL(almost_empty.nVariables(),5); BOOST_TEST_MESSAGE( "sizeDouble" ); BOOST_CHECK_EQUAL(set.sizeDouble(),6); BOOST_CHECK_EQUAL(empty.sizeDouble(),0); BOOST_CHECK_EQUAL(almost_empty.sizeDouble(),1); } BOOST_AUTO_TEST_CASE(test_compute) { set_type set = poly.set(); set_type empty(ring); output_test_stream output; BOOST_TEST_MESSAGE( "multiplesOf" ); output << set.multiplesOf(x); BOOST_CHECK(output.is_equal("{{x,y,z}, {x,v}}")); output << set.multiplesOf(y); BOOST_CHECK(output.is_equal("{{x,y,z}, {y}}")); output << set.multiplesOf(z); BOOST_CHECK(output.is_equal("{{x,y,z}, {z,v}}")); output << set.multiplesOf(v); BOOST_CHECK(output.is_equal("{{x,v}, {z,v}}")); output << set.multiplesOf(x*y); BOOST_CHECK(output.is_equal("{{x,y,z}}")); output << set.multiplesOf(x*y*z); BOOST_CHECK(output.is_equal("{{x,y,z}}")); output << set.multiplesOf(x*y); BOOST_CHECK(output.is_equal("{{x,y,z}}")); output << set.multiplesOf(z*v); BOOST_CHECK(output.is_equal("{{z,v}}")); output << set.multiplesOf(y*v); BOOST_CHECK(output.is_equal("{}")); output << set.multiplesOf(w); BOOST_CHECK(output.is_equal("{}")); output << set.multiplesOf(BooleMonomial(ring)); BOOST_CHECK(output.is_equal("{{x,y,z}, {x,v}, {y}, {z,v}}")); output << empty.multiplesOf(x); BOOST_CHECK(output.is_equal("{}")); output << empty.multiplesOf(x*y); BOOST_CHECK(output.is_equal("{}")); output << empty.multiplesOf(BooleMonomial(ring)); BOOST_CHECK(output.is_equal("{}")); BOOST_TEST_MESSAGE( "existAbstract" ); output << set.existAbstract(x); BOOST_CHECK(output.is_equal("{{y,z}, {y}, {z,v}, {v}}")); output << set.existAbstract(y); BOOST_CHECK(output.is_equal("{{x,z}, {x,v}, {z,v}, {}}")); output << set.existAbstract(z); BOOST_CHECK(output.is_equal("{{x,y}, {x,v}, {y}, {v}}")); output << set.existAbstract(v); BOOST_CHECK(output.is_equal("{{x,y,z}, {x}, {y}, {z}}")); output << set.existAbstract(x*y); BOOST_CHECK(output.is_equal("{{z,v}, {z}, {v}, {}}")); output << set.existAbstract(x*z); BOOST_CHECK(output.is_equal("{{y}, {v}}")); output << set.existAbstract(x*v); BOOST_CHECK(output.is_equal("{{y,z}, {y}, {z}, {}}")); output << set.existAbstract(y*z); BOOST_CHECK(output.is_equal("{{x,v}, {x}, {v}, {}}")); output << set.existAbstract(y*v); BOOST_CHECK(output.is_equal("{{x,z}, {x}, {z}, {}}")); output << set.existAbstract(x*y*z); BOOST_CHECK(output.is_equal("{{v}, {}}")); output << set.existAbstract(x*y*v); BOOST_CHECK(output.is_equal("{{z}, {}}")); output << set.existAbstract(y*z*v); BOOST_CHECK(output.is_equal("{{x}, {}}")); output << set.existAbstract(x*y*z*v*w); BOOST_CHECK(output.is_equal("{{}}")); output << set.existAbstract(w); BOOST_CHECK(output.is_equal("{{x,y,z}, {x,v}, {y}, {z,v}}")); output << set.existAbstract(x*w); BOOST_CHECK(output.is_equal("{{y,z}, {y}, {z,v}, {v}}")); output << set.existAbstract(BooleMonomial(ring)); BOOST_CHECK(output.is_equal("{{x,y,z}, {x,v}, {y}, {z,v}}")); output << empty.existAbstract(x); BOOST_CHECK(output.is_equal("{}")); output << empty.existAbstract(x*v); BOOST_CHECK(output.is_equal("{}")); output << empty.existAbstract(BooleMonomial(ring)); BOOST_CHECK(output.is_equal("{}")); BOOST_TEST_MESSAGE( "cartesianProduct" ); set_type set1(ring); set1 = set1.add(x); set1 = set1.add(y); set_type set2(ring); set2 = set2.add(v); set2 = set2.add(w); output << set1.cartesianProduct(set2); BOOST_CHECK(output.is_equal("{{x,v}, {x,w}, {y,v}, {y,w}}")); output << set1.cartesianProduct(empty); BOOST_CHECK(output.is_equal("{}")); output << empty.cartesianProduct(set1); BOOST_CHECK(output.is_equal("{}")); output << empty.cartesianProduct(empty); BOOST_CHECK(output.is_equal("{}")); } BOOST_AUTO_TEST_CASE(test_hash) { set_type set = poly.set(); set_type set2(ring); set2 = set2.add(x*y*z); set2 = set2.add(x*v); set2 = set2.add(y); set2 = set2.add(z*v); set_type set2cpy = set2; set_type empty(ring); set_type empty2(ring); set_type empty2cpy = empty2; output_test_stream output; BOOST_TEST_MESSAGE( "hash" ); BOOST_CHECK_EQUAL(set, set2); BOOST_CHECK_EQUAL(set.hash(), set2.hash()); set2 = set2.add(z); BOOST_CHECK_NE(set.hash(), set2.hash()); BOOST_CHECK_EQUAL(empty, empty2); BOOST_CHECK_EQUAL(empty.hash(), empty2.hash()); empty2 = empty.add(x); BOOST_CHECK_NE(empty.hash(), empty2.hash()); empty2 = empty2cpy; empty2 = empty2.add(BooleMonomial(ring)); BOOST_CHECK_NE(empty, empty2); BOOST_CHECK_NE(empty.hash(), empty2.hash()); set2 = set2cpy; empty2 = empty2cpy; BOOST_TEST_MESSAGE( "stableHash" ); BOOST_CHECK_EQUAL(set, set2); BOOST_CHECK_EQUAL(set.stableHash(), set2.stableHash()); set2 = set2.add(z); BOOST_CHECK_NE(set.stableHash(), set2.stableHash()); BOOST_CHECK_EQUAL(empty, empty2); BOOST_CHECK_EQUAL(empty.stableHash(), empty2.stableHash()); empty2 = empty.add(x); BOOST_CHECK_NE(empty.stableHash(), empty2.stableHash()); empty2 = empty2cpy; empty2 = empty2.add(BooleMonomial(ring)); BOOST_CHECK_NE(empty, empty2); BOOST_CHECK_NE(empty.stableHash(), empty2.stableHash()); } BOOST_AUTO_TEST_CASE(test_change) { set_type set = poly.set(); output_test_stream output; output << set; BOOST_CHECK(output.is_equal("{{x,y,z}, {x,v}, {y}, {z,v}}")); BOOST_CHECK_THROW(set.change(-1), PBoRiError); BOOST_CHECK_THROW(set.change(5), PBoRiError); set = set.change(4); output << set; BOOST_CHECK(output.is_equal("{{x,y,z,w}, {x,v,w}, {y,w}, {z,v,w}}")); set = set.change(0); output << set; BOOST_CHECK(output.is_equal("{{x,y,w}, {x,z,v,w}, {y,z,w}, {v,w}}")); set = set.change(1); output << set; BOOST_CHECK(output.is_equal("{{x,y,z,v,w}, {x,w}, {y,v,w}, {z,w}}")); set = set.change(2); output << set; BOOST_CHECK(output.is_equal("{{x,y,v,w}, {x,z,w}, {y,z,v,w}, {w}}")); set = set.change(3); output << set; BOOST_CHECK(output.is_equal("{{x,y,w}, {x,z,v,w}, {y,z,w}, {v,w}}")); set_type empty(ring); BOOST_CHECK_THROW(empty.change(-1), PBoRiError); BOOST_CHECK_THROW(empty.change(5), PBoRiError); empty = empty.change(0); output << empty; BOOST_CHECK(output.is_equal("{}")); empty = empty.add(BooleMonomial(ring)); empty = empty.change(0); output << empty; BOOST_CHECK(output.is_equal("{{x}}")); empty = empty.add(BooleMonomial(ring)); empty = empty.change(1); output << empty; BOOST_CHECK(output.is_equal("{{x,y}, {y}}")); } BOOST_AUTO_TEST_CASE(test_iter) { set_type set(ring); set = set.add(x*z); set = set.add(y); set_type empty(ring); output_test_stream output; BOOST_TEST_MESSAGE( "iterators" ); BooleSet::const_reverse_iterator startr(set.rbegin()),finishr(set.rend()); while (startr != finishr) { output << *startr <<", "; ++startr; } BOOST_CHECK(output.is_equal("y, x*z, ")); startr = empty.rbegin(); finishr = empty.rend(); while (startr != finishr) { output << *startr <<", "; ++startr; } BOOST_CHECK(output.is_equal("")); BooleSet::const_iterator startc(set.begin()),finishc(set.end()); while (startc != finishc) { output << *startc <<", "; ++startc; } BOOST_CHECK(output.is_equal("x*z, y, ")); startc = empty.begin(); finishc = empty.end(); while (startc != finishc) { output << *startc <<", "; ++startc; } BOOST_CHECK(output.is_equal("")); BooleSet::exp_iterator starte(set.expBegin()),finishe(set.expEnd()); while (starte != finishe) { output << *starte <<", "; ++starte; } BOOST_CHECK(output.is_equal("(0, 2), (1), ")); starte = empty.expBegin(); finishe = empty.expEnd(); while (starte != finishe) { output << *starte <<", "; ++starte; } BOOST_CHECK(output.is_equal("")); } BOOST_AUTO_TEST_SUITE_END() BRiAl-1.2.12/tests/BooleVariableTest.cc000066400000000000000000000150231436062512100175460ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file BooleVariableTest.cc * * @author Ket Kalda, Alexander Dreyer * @date 2010-10-05 * * boost/test-driven unit test * * @par Copyright: * (c) 2010 by The PolyBoRi Team * **/ //***************************************************************************** #include #include #if BOOST_VERSION < 107100 #include #else #include #endif using boost::test_tools::output_test_stream; #include #include #include #include #include USING_NAMESPACE_PBORI struct Fvar { typedef BooleVariable var_type; Fvar(const BoolePolyRing& input_ring = BoolePolyRing(3)): ring(input_ring), x(0, input_ring), y(1, input_ring), z(2, input_ring), bset(1, input_ring.one(), input_ring.zero()) { BOOST_TEST_MESSAGE( "setup fixture" ); ring.setVariableName(0, "x"); ring.setVariableName(1, "y"); ring.setVariableName(2, "z"); } ~Fvar() { BOOST_TEST_MESSAGE( "teardown fixture" ); } BoolePolyRing ring; BooleVariable x, y, z; BooleSet bset; }; BOOST_FIXTURE_TEST_SUITE(BooleVariableTestSuite, Fvar ) BOOST_AUTO_TEST_CASE(test_constructors) { BOOST_TEST_MESSAGE( "Constructors..." ); BOOST_CHECK_EQUAL(var_type(ring), var_type(0, ring)); BOOST_CHECK_EQUAL(var_type(0, ring), x); BOOST_CHECK_EQUAL(var_type(1, ring), y); BOOST_CHECK_EQUAL(var_type(z), z); BOOST_CHECK_THROW(var_type(3, ring), PBoRiError); BOOST_CHECK_THROW(var_type(-1, ring), PBoRiError); } BOOST_AUTO_TEST_CASE(test_methods) { BOOST_TEST_MESSAGE( "Casting to poly_type" ); BOOST_CHECK_EQUAL((BoolePolynomial)x, BoolePolynomial(x)); BOOST_CHECK_EQUAL((BoolePolynomial)var_type(ring), BoolePolynomial(x)); BOOST_TEST_MESSAGE( "index" ); BOOST_CHECK_EQUAL(var_type(ring).index(), 0); BOOST_CHECK_EQUAL(var_type(1, ring).index(), 1); BOOST_CHECK_EQUAL(var_type(z).index(), 2); BOOST_CHECK_EQUAL(z.index(), 2); BOOST_CHECK_THROW(var_type(3, ring).index(), PBoRiError); BOOST_TEST_MESSAGE( "ring" ); BOOST_CHECK_EQUAL(x.ring().nVariables(), ring.nVariables()); BOOST_CHECK_EQUAL(x.ring().getVariableName(0), ring.getVariableName(0)); BOOST_CHECK_EQUAL(x.ring().getVariableName(1), ring.getVariableName(1)); BOOST_CHECK_EQUAL(x.ring().getVariableName(2), ring.getVariableName(2)); BOOST_CHECK_EQUAL(x.ring().getVariableName(3), ring.getVariableName(3)); BOOST_TEST_MESSAGE( "set" ); BOOST_CHECK_EQUAL(y.set(),bset); BOOST_CHECK_EQUAL(var_type(1, ring).set(),bset); BOOST_CHECK_NE(x.set(),bset); BOOST_CHECK_THROW(var_type(3, ring).set(), PBoRiError); } BOOST_AUTO_TEST_CASE(test_logical_operators) { BOOST_TEST_MESSAGE( "== and !=" ); BOOST_CHECK_EQUAL(x, x); BOOST_CHECK_EQUAL(x, var_type(ring)); BOOST_CHECK_EQUAL(var_type(ring), x); BOOST_CHECK_NE(x, y); BOOST_CHECK_NE(y, x); } BOOST_AUTO_TEST_CASE(test_assigning_operators) { BOOST_TEST_MESSAGE( "Assignments..." ); BOOST_TEST_MESSAGE( "/" ); BOOST_CHECK_EQUAL(x / y, BoolePolynomial(0, ring)); BOOST_CHECK_EQUAL((BoolePolynomial)x / (BoolePolynomial)y, BoolePolynomial(0, ring)); BOOST_CHECK_EQUAL(BoolePolynomial(x*y) / x, BoolePolynomial(y)); BOOST_CHECK_EQUAL(BoolePolynomial(x) / y, BoolePolynomial(0, ring)); BOOST_CHECK_EQUAL(BoolePolynomial(x) / x, BoolePolynomial(1, ring)); BOOST_CHECK_EQUAL((BoolePolynomial(x*y) /= x), BoolePolynomial(y)); BOOST_CHECK_EQUAL((BoolePolynomial(x) /= y), BoolePolynomial(0, ring)); BOOST_CHECK_EQUAL((BoolePolynomial(x) /= x), BoolePolynomial(1, ring)); BOOST_CHECK_EQUAL(BooleMonomial(x*y)/y, BooleMonomial(x)); BOOST_CHECK_EQUAL(BooleMonomial(x)/x, BooleMonomial(ring)); BOOST_CHECK_THROW(BooleMonomial(x)/y, PBoRiError); BOOST_CHECK_EQUAL(x / x, BoolePolynomial(1, ring)); BOOST_CHECK_EQUAL(var_type(ring) / x, BoolePolynomial(1, ring)); BOOST_CHECK_EQUAL(var_type(ring) / var_type(ring), BoolePolynomial(1, ring)); BOOST_TEST_MESSAGE( "*" ); BOOST_CHECK_EQUAL(x*y, BooleMonomial(x*y)); BOOST_CHECK_EQUAL(x*x, BooleMonomial(x*x)); BOOST_CHECK_EQUAL(BooleMonomial(x)*y, BooleMonomial(x*y)); BOOST_CHECK_EQUAL(BooleMonomial(x)*x, BooleMonomial(x*x)); BOOST_CHECK_EQUAL(x*BooleMonomial(y), BooleMonomial(x*y)); BOOST_CHECK_EQUAL(x*BooleMonomial(x), BooleMonomial(x*x)); BOOST_CHECK_EQUAL(x*BooleMonomial(ring), BooleMonomial(x)); BOOST_CHECK_EQUAL(BooleMonomial(ring)*x, BooleMonomial(x)); BOOST_CHECK_EQUAL(x*1, BoolePolynomial(x)); BOOST_CHECK_EQUAL(1*x, BoolePolynomial(x)); BOOST_CHECK_EQUAL(0*1, BoolePolynomial(ring)); BOOST_CHECK_EQUAL(1*0, BoolePolynomial(0, ring)); BOOST_CHECK_EQUAL(x*BoolePolynomial(y), BoolePolynomial(x*y)); BOOST_CHECK_EQUAL(x*BoolePolynomial(x), BoolePolynomial(x*x)); BOOST_CHECK_EQUAL(x*BoolePolynomial(0, ring), BoolePolynomial(0, ring)); BOOST_CHECK_EQUAL(x*BoolePolynomial(1, ring), BoolePolynomial(x)); BOOST_CHECK_EQUAL(BoolePolynomial(x)*x, BoolePolynomial(x*x)); BOOST_CHECK_EQUAL(BoolePolynomial(0, ring)*x, BoolePolynomial(0, ring)); BOOST_CHECK_EQUAL(BoolePolynomial(1, ring)*x, BoolePolynomial(x)); BOOST_CHECK_EQUAL(BoolePolynomial(x)*y, BoolePolynomial(x*y)); //BOOST_CHECK_EQUAL((BoolePolynomial(x)*=x), BoolePolynomial(x*x)); // Does not FIND correct operator //BOOST_CHECK_EQUAL((BoolePolynomial(0)*=x), BoolePolynomial(0)); // Does not FIND correct operator //BOOST_CHECK_EQUAL((BoolePolynomial(1)*=x), BoolePolynomial(x)); // Does not FIND correct operator //BOOST_CHECK_EQUAL((BoolePolynomial(x)*=y), BoolePolynomial(x*y)); // Does not FIND correct operator BOOST_TEST_MESSAGE( "%" ); BOOST_CHECK_EQUAL(BoolePolynomial(x)%y, BoolePolynomial(x)); BOOST_CHECK_EQUAL(BoolePolynomial(x*y)%y, BoolePolynomial(ring)); BOOST_CHECK_EQUAL(BoolePolynomial(ring)%y, BoolePolynomial(ring)); //BOOST_CHECK_EQUAL((BoolePolynomial(x)%=y), BoolePolynomial(x)); // Does not FIND correct operator //BOOST_CHECK_EQUAL((BoolePolynomial(x*y)%=y), BoolePolynomial()); // Does not FIND correct operator //BOOST_CHECK_EQUAL((BoolePolynomial()%=y), BoolePolynomial()); // Does not FIND correct operator BOOST_CHECK_EQUAL(BooleMonomial(x)%y, BooleMonomial(x)); BOOST_CHECK_EQUAL(BooleMonomial(x*y)%y, BoolePolynomial(ring)); BOOST_CHECK_EQUAL(BooleMonomial(ring)%y, BooleMonomial(ring)); BOOST_CHECK_EQUAL(x%y, BooleMonomial(x)); BOOST_CHECK_EQUAL((x*y)%y, BoolePolynomial(ring)); } BOOST_AUTO_TEST_SUITE_END() BRiAl-1.2.12/tests/CCuddDDFacadeTest.cc000066400000000000000000000523321436062512100173220ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file CCuddDDFacadeTest.cc * * @author Ket Kalda, Alexander Dreyer * @date 2010-11-09 * * boost/test-driven unit test * * @par Copyright: * (c) 2010 by The PolyBoRi Team * **/ //***************************************************************************** #include #include #if BOOST_VERSION < 107100 #include #else #include #endif using boost::test_tools::output_test_stream; #include #include #include #include #include #include #include #include BEGIN_NAMESPACE_PBORI typedef CCuddDDFacade test_dd_type; // Testing environment needs correct stream operator inline std::ostream& operator<<(std::ostream& os, const test_dd_type& diagram) { return diagram.printIntern(os); } END_NAMESPACE_PBORI USING_NAMESPACE_PBORI struct Fdd { typedef BooleSet set_type; typedef test_dd_type dd_type; Fdd(const BoolePolyRing& input_ring = BoolePolyRing(5)): ring(input_ring), x(0, input_ring), y(1, input_ring), z(2, input_ring), v(3, input_ring), w(4, input_ring), poly(input_ring) { BOOST_TEST_MESSAGE( "setup fixture" ); ring.setVariableName(0, "x"); ring.setVariableName(1, "y"); ring.setVariableName(2, "z"); ring.setVariableName(3, "v"); ring.setVariableName(4, "w"); poly = x*y*z + v*z - x*v + y + 1; } ~Fdd() { BOOST_TEST_MESSAGE( "teardown fixture" ); } BoolePolyRing ring; BooleVariable x, y, z, v, w; BoolePolynomial poly; }; BOOST_FIXTURE_TEST_SUITE(CCuddDDFacadeTestSuite, Fdd ) BOOST_AUTO_TEST_CASE(test_constructors) { dd_type diagram(poly.set()); BOOST_TEST_MESSAGE( "constructors" ); BOOST_CHECK_EQUAL(set_type(diagram), poly.set()); BOOST_CHECK(set_type(diagram) == poly.set()); BoolePolynomial poly1 = y*z + v; BoolePolynomial poly2 = v*z + y + 1; dd_type diagram1(poly1.set()); dd_type diagram2(poly2.set()); output_test_stream output; diagram = dd_type(0,diagram1,diagram2); output << set_type(diagram); BOOST_CHECK(output.is_equal("{{x,y,z}, {x,v}, {y}, {z,v}, {}}")); BOOST_CHECK_THROW(dd_type(1,diagram1,diagram2), PBoRiGenericError); BOOST_CHECK_THROW(dd_type(2,diagram1,diagram2), PBoRiGenericError); BOOST_CHECK_THROW(dd_type(-1,diagram1,diagram2), std::exception); poly1 = 0; poly2 = y*z + v; diagram1 = dd_type(poly1.set()); diagram2 = dd_type(poly2.set()); diagram = dd_type(0,diagram1,diagram2); output << set_type(diagram); BOOST_CHECK(output.is_equal("{{y,z}, {v}}")); poly1 = 1; poly2 = y*z + v; diagram1 = dd_type(poly1.set()); diagram2 = dd_type(poly2.set()); diagram = dd_type(0,diagram1,diagram2); output << set_type(diagram); BOOST_CHECK(output.is_equal("{{x}, {y,z}, {v}}")); poly1 = 1; poly2 = 0; diagram1 = dd_type(poly1.set()); diagram2 = dd_type(poly2.set()); diagram = dd_type(4,diagram1,diagram2); output << set_type(diagram); BOOST_CHECK(output.is_equal("{{w}}")); diagram = dd_type(5,diagram1,diagram2); output << set_type(diagram); BOOST_CHECK(output.is_equal("{{UNDEF}}"));/// Wanted behaviour? BOOST_CHECK_THROW(dd_type(ring, NULL), std::runtime_error); } BOOST_AUTO_TEST_CASE(test_properties) { dd_type diagram(poly.set()); set_type empty_set(poly.ring()); set_type one_set = empty_set.add(BooleMonomial(ring)); dd_type one(one_set); BOOST_TEST_MESSAGE( "isZero, isOne, isConstant" ); BOOST_CHECK(!diagram.isZero()); BOOST_CHECK(!one.isZero()); BOOST_CHECK(!diagram.isOne()); BOOST_CHECK(one.isOne()); BOOST_CHECK(!diagram.isConstant()); BOOST_CHECK(one.isConstant()); } BOOST_AUTO_TEST_CASE(test_indices) { dd_type diagram(poly.set()); set_type one_set(poly.ring()); one_set = one_set.add(BooleMonomial(ring)); dd_type one(one_set); output_test_stream output; BOOST_TEST_MESSAGE( "firstBegin, firstEnd, lastBegin, lastEnd" ); BOOST_CHECK_EQUAL(*diagram.firstBegin(), 0); dd_type::first_iterator start = diagram.firstBegin(); dd_type::first_iterator finish = diagram.firstEnd(); while (start != finish) { output<< *start <<", "; ++start; } BOOST_CHECK(output.is_equal("0, 1, 2, ")); diagram = BoolePolynomial(x*y*z + x*y).set(); dd_type::last_iterator last_start = diagram.lastBegin(); dd_type::last_iterator last_finish = diagram.lastEnd(); while (last_start != last_finish) { output << *last_start <<", "; ++last_start; } BOOST_CHECK(output.is_equal("0, 1, ")); last_start = diagram.lastBegin(); last_finish = diagram.lastEnd(); while (last_start != last_finish) { output << *last_start <<", "; last_start++; } BOOST_CHECK(output.is_equal("0, 1, ")); last_start = one.lastBegin(); last_finish = one.lastEnd(); while (last_start != last_finish) { output << *last_start <<", "; last_start++; } BOOST_CHECK(output.is_equal("")); } BOOST_AUTO_TEST_CASE(test_divide) { BoolePolynomial poly_large = x*y*z + v*z - x*v + y + 1; BoolePolynomial poly_small = x; dd_type diagram_large(poly_large.set()); dd_type diagram_small(poly_small.set()); set_type one_set(poly.ring()); one_set = one_set.add(BooleMonomial(ring)); dd_type one(one_set); output_test_stream output; BOOST_TEST_MESSAGE( "divideFirst" ); output << diagram_large.divideFirst(diagram_small); BOOST_CHECK(output.is_equal("{{y,z}, {v}}")); poly_small = y; diagram_small =dd_type(poly_small.set()); output << diagram_large.divideFirst(diagram_small); BOOST_CHECK(output.is_equal("{{x,z}, {}}")); poly_small = z; diagram_small =dd_type(poly_small.set()); output << diagram_large.divideFirst(diagram_small); BOOST_CHECK(output.is_equal("{{x,y}, {v}}")); poly_small = v; diagram_small =dd_type(poly_small.set()); output << diagram_large.divideFirst(diagram_small); BOOST_CHECK(output.is_equal("{{x}, {z}}")); poly_small = x*y; diagram_small =dd_type(poly_small.set()); output << diagram_large.divideFirst(diagram_small); BOOST_CHECK(output.is_equal("{{z}}")); poly_small = x*v; diagram_small =dd_type(poly_small.set()); output << diagram_large.divideFirst(diagram_small); BOOST_CHECK(output.is_equal("{{}}")); poly_small = z*v; diagram_small =dd_type(poly_small.set()); output << diagram_large.divideFirst(diagram_small); BOOST_CHECK(output.is_equal("{{}}")); poly_small = x*z; diagram_small =dd_type(poly_small.set()); output << diagram_large.divideFirst(diagram_small); BOOST_CHECK(output.is_equal("{{y}}")); poly_small = y*z; diagram_small =dd_type(poly_small.set()); output << diagram_large.divideFirst(diagram_small); BOOST_CHECK(output.is_equal("{{x}}")); poly_small = z*y*x; diagram_small =dd_type(poly_small.set()); output << diagram_large.divideFirst(diagram_small); BOOST_CHECK(output.is_equal("{{}}")); poly_small = 1; diagram_small =dd_type(poly_small.set()); output << diagram_large.divideFirst(diagram_small); BOOST_CHECK(output.is_equal("{{x,y,z}, {x,v}, {y}, {z,v}, {}}")); poly_small = 0; // Assuming rhs to be monomial, so this is not a valid input. // Anyway, the result must be sane, be behaving like 1 is fine diagram_small = dd_type(poly_small.set()); BOOST_CHECK_EQUAL(diagram_large.divideFirst(diagram_small), diagram_large); output << diagram_large.divideFirst(diagram_small); BOOST_CHECK(output.is_equal("{{x,y,z}, {x,v}, {y}, {z,v}, {}}")); poly_small = w;// nonexisting variable in poly_large diagram_small =dd_type(poly_small.set()); output << diagram_large.divideFirst(diagram_small); BOOST_CHECK(output.is_equal("{}")); poly_small = x*w;// nonexisting variable combination in poly_large diagram_small =dd_type(poly_small.set()); output << diagram_large.divideFirst(diagram_small); BOOST_CHECK(output.is_equal("{}")); poly_small = y*v;// nonexisting combination in poly_large diagram_small =dd_type(poly_small.set()); output << diagram_large.divideFirst(diagram_small); BOOST_CHECK(output.is_equal("{}")); BOOST_TEST_MESSAGE( "firstDivisors" ); output << diagram_large.firstDivisors(); BOOST_CHECK(output.is_equal("{{x,y,z}, {x,y}, {x,z}, {x}, {y,z}, {y}, {z}, {}}")); poly_small = x*z + x*y; diagram_small =dd_type(poly_small.set()); output << diagram_small.firstDivisors(); BOOST_CHECK(output.is_equal("{{x,y}, {x}, {y}, {}}")); poly_small = z + x -1; diagram_small =dd_type(poly_small.set()); output << diagram_small.firstDivisors(); BOOST_CHECK(output.is_equal("{{x}, {}}")); poly_small = -1; diagram_small =dd_type(poly_small.set()); output << diagram_small.firstDivisors(); BOOST_CHECK(output.is_equal("{{}}")); poly_small = 0; diagram_small =dd_type(poly_small.set()); output << diagram_small.firstDivisors(); BOOST_CHECK(output.is_equal("{{}}"));// one is always a divisor } BOOST_AUTO_TEST_CASE(test_multiples) { dd_type diagram(poly.set());//x*y*z + v*z - x*v + y + 1; output_test_stream output; BOOST_TEST_MESSAGE( "firstmultiples" ); std::vector multipliers(3); multipliers[0]= 0; multipliers[1]= 1; multipliers[2]= 2; output << diagram.firstMultiples(multipliers); BOOST_CHECK(output.is_equal("{{x,y,z}}")); multipliers[0]= 2; multipliers[1]= 1; multipliers[2]= 0; output << diagram.firstMultiples(multipliers); BOOST_CHECK(output.is_equal("{{x,y,z}}")); multipliers[0]= 2; multipliers[1]= 0; multipliers[2]= 1; output << diagram.firstMultiples(multipliers); BOOST_CHECK(output.is_equal("{{x,y,z}}")); multipliers = std::vector(2); multipliers[0]= 3; multipliers[1]= 4; output << diagram.firstMultiples(multipliers); BOOST_CHECK(output.is_equal("{{x,y,z,v,w}, {x,y,z,v}, {x,y,z,w}, {x,y,z}}")); multipliers[0]= 4; multipliers[1]= 3; output << diagram.firstMultiples(multipliers); BOOST_CHECK(output.is_equal("{{x,y,z,v,w}, {x,y,z,v}, {x,y,z,w}, {x,y,z}}")); multipliers[0]= 5; multipliers[1]= 6; output << diagram.firstMultiples(multipliers); ///@todo UNDEFs - maybe should throw BOOST_CHECK(output.is_equal("{{x,y,z,UNDEF,UNDEF}, {x,y,z,UNDEF}, {x,y,z,UNDEF}, {x,y,z}}")); multipliers[0]= 3; multipliers[1]= 3; output << diagram.firstMultiples(multipliers); BOOST_CHECK(output.is_equal("{{x,y,z,v}, {x,y,z}}")); multipliers[0]= 0; multipliers[1]= 0; output << diagram.firstMultiples(multipliers); BOOST_CHECK(output.is_equal("{{x,y,z}}")); multipliers = std::vector(3); multipliers[0]= 0; multipliers[1]= 0; multipliers[2]= 0; output << diagram.firstMultiples(multipliers); BOOST_CHECK(output.is_equal("{{x,y,z}}")); multipliers = std::vector(0); output << diagram.firstMultiples(multipliers); BOOST_CHECK(output.is_equal("{{x,y,z}}")); multipliers = std::vector(1); multipliers[0]= -1; output << diagram.firstMultiples(multipliers); BOOST_CHECK(output.is_equal("{{x,y,z}}")); } BOOST_AUTO_TEST_CASE(test_operators) { dd_type diagram(poly.set());//x*y*z + v*z - x*v + y + 1; BoolePolynomial poly_small = x*y*z + v*z - x*v + y + 1; dd_type diagram_small(poly_small.set()); output_test_stream output; BOOST_TEST_MESSAGE( "Xor" ); output << diagram.Xor(diagram_small); BOOST_CHECK(output.is_equal("{}")); poly_small = x*y*z + v*z - x*v + y; diagram_small = dd_type(poly_small.set()); output << diagram.Xor(diagram_small); BOOST_CHECK(output.is_equal("{{}}")); poly_small = v*z - x*v + y + 1; diagram_small = dd_type(poly_small.set()); output << diagram.Xor(diagram_small); BOOST_CHECK(output.is_equal("{{x,y,z}}")); poly_small = 1; diagram_small = dd_type(poly_small.set()); output << diagram.Xor(diagram_small); BOOST_CHECK(output.is_equal("{{x,y,z}, {x,v}, {y}, {z,v}}")); poly_small = 0; diagram_small = dd_type(poly_small.set()); output << diagram.Xor(diagram_small); BOOST_CHECK(output.is_equal("{{x,y,z}, {x,v}, {y}, {z,v}, {}}")); poly_small = x*y; diagram_small = dd_type(poly_small.set()); output << diagram.Xor(diagram_small); BOOST_CHECK(output.is_equal("{{x,y,z}, {x,y}, {x,v}, {y}, {z,v}, {}}")); poly_small = w*v; diagram_small = dd_type(poly_small.set()); output << diagram.Xor(diagram_small); BOOST_CHECK(output.is_equal("{{x,y,z}, {x,v}, {y}, {z,v}, {v,w}, {}}")); BOOST_TEST_MESSAGE( "implies" ); //diagram = x*y*z + v*z - x*v + y + 1 poly_small = 1; diagram_small = dd_type( poly_small.set() ); BOOST_CHECK(diagram_small.implies(diagram)); poly_small = x*y*z; diagram_small = dd_type( poly_small.set() ); BOOST_CHECK(diagram_small.implies(diagram)); poly_small = x*v; diagram_small = dd_type( poly_small.set() ); BOOST_CHECK(diagram_small.implies(diagram)); poly_small = y; diagram_small = dd_type( poly_small.set() ); BOOST_CHECK(diagram_small.implies(diagram)); poly_small = z*v; diagram_small = dd_type( poly_small.set() ); BOOST_CHECK(diagram_small.implies(diagram)); poly_small = x*y*z + y; diagram_small = dd_type( poly_small.set() ); BOOST_CHECK(diagram_small.implies(diagram)); poly_small = x*y*z + v*z; diagram_small = dd_type( poly_small.set() ); BOOST_CHECK(diagram_small.implies(diagram)); poly_small = x*y*z + x*v; diagram_small = dd_type( poly_small.set() ); BOOST_CHECK(diagram_small.implies(diagram)); poly_small = x*y*z + 1; diagram_small = dd_type( poly_small.set() ); BOOST_CHECK(diagram_small.implies(diagram)); poly_small = v*z - x*v; diagram_small = dd_type( poly_small.set() ); BOOST_CHECK(diagram_small.implies(diagram)); poly_small = v*z - y; diagram_small = dd_type( poly_small.set() ); BOOST_CHECK(diagram_small.implies(diagram)); poly_small = v*z - 1; diagram_small = dd_type( poly_small.set() ); BOOST_CHECK(diagram_small.implies(diagram)); poly_small = x*v - y; diagram_small = dd_type( poly_small.set() ); BOOST_CHECK(diagram_small.implies(diagram)); poly_small = x*v - 1; diagram_small = dd_type( poly_small.set() ); BOOST_CHECK(diagram_small.implies(diagram)); poly_small = y - 1; diagram_small = dd_type( poly_small.set() ); BOOST_CHECK(diagram_small.implies(diagram)); poly_small = x*y*z + v*z - x*v; diagram_small = dd_type( poly_small.set() ); BOOST_CHECK(diagram_small.implies(diagram)); poly_small = x*y*z + v*z + y; diagram_small = dd_type( poly_small.set() ); BOOST_CHECK(diagram_small.implies(diagram)); poly_small = x*y*z + v*z + 1; diagram_small = dd_type( poly_small.set() ); BOOST_CHECK(diagram_small.implies(diagram)); poly_small = x*y*z - x*v + y; diagram_small = dd_type( poly_small.set() ); BOOST_CHECK(diagram_small.implies(diagram)); poly_small = x*y*z + x*v + 1; diagram_small = dd_type( poly_small.set() ); BOOST_CHECK(diagram_small.implies(diagram)); poly_small = x*y*z + y + 1; diagram_small = dd_type( poly_small.set() ); BOOST_CHECK(diagram_small.implies(diagram)); poly_small = v*z - x*v + y; diagram_small = dd_type( poly_small.set() ); BOOST_CHECK(diagram_small.implies(diagram)); poly_small = v*z - x*v + 1; diagram_small = dd_type( poly_small.set() ); BOOST_CHECK(diagram_small.implies(diagram)); poly_small = v*z + y + 1; diagram_small = dd_type( poly_small.set() ); BOOST_CHECK(diagram_small.implies(diagram)); poly_small = x*v + y + 1; diagram_small = dd_type( poly_small.set() ); BOOST_CHECK(diagram_small.implies(diagram)); poly_small = x*y*z + v*z - x*v + y; diagram_small = dd_type( poly_small.set() ); BOOST_CHECK(diagram_small.implies(diagram)); poly_small = x*y*z + v*z - x*v + 1; diagram_small = dd_type( poly_small.set() ); BOOST_CHECK(diagram_small.implies(diagram)); poly_small = x*y*z + v*z + y + 1; diagram_small = dd_type( poly_small.set() ); BOOST_CHECK(diagram_small.implies(diagram)); poly_small = x*y*z - x*v + y + 1; diagram_small = dd_type( poly_small.set() ); BOOST_CHECK(diagram_small.implies(diagram)); poly_small = v*z - x*v + y + 1; diagram_small = dd_type( poly_small.set() ); BOOST_CHECK(diagram_small.implies(diagram)); BOOST_CHECK(diagram.implies(diagram)); poly_small = 0; diagram_small = dd_type( poly_small.set() ); BOOST_CHECK(diagram_small.implies(diagram)); poly_small = x*w; diagram_small = dd_type( poly_small.set() ); BOOST_CHECK(!diagram_small.implies(diagram)); poly_small = w; diagram_small = dd_type( poly_small.set() ); BOOST_CHECK(!diagram_small.implies(diagram)); poly_small = w + x*y*z; diagram_small = dd_type( poly_small.set() ); BOOST_CHECK(!diagram_small.implies(diagram)); poly_small = x*v*z; diagram_small = dd_type( poly_small.set() ); BOOST_CHECK(!diagram_small.implies(diagram)); poly_small = v; diagram_small = dd_type( poly_small.set() ); BOOST_CHECK(!diagram_small.implies(diagram)); BoolePolynomial poly_large = x; dd_type diagram_large = dd_type( poly_large.set() ); poly_small = x*y + z; diagram_small = dd_type( poly_small.set() ); BOOST_CHECK(!diagram_small.implies(diagram_large)); poly_large = 0; diagram_large = dd_type(poly_large.set()); BOOST_CHECK(!diagram_small.implies(diagram_large)); BOOST_CHECK(diagram_large.implies(diagram_large)); poly_large = w; diagram_large = dd_type(poly_large.set()); BOOST_CHECK(!diagram_small.implies(diagram_large)); poly_large = x*y; diagram_large = dd_type(poly_large.set()); BOOST_CHECK(!diagram_small.implies(diagram_large)); BOOST_TEST_MESSAGE( "==, !=" ); BoolePolynomial poly1(0, ring); BoolePolynomial poly2(0, ring); dd_type diag1(poly1.set()); dd_type diag2(poly2.set()); BOOST_CHECK(diag1 == diag2); BOOST_CHECK_EQUAL(diag1, diag2); BOOST_CHECK(!(diag1 != diag2)); poly1 = 1; diag1 = dd_type(poly1.set()); BOOST_CHECK_NE(diag1, diag2); BOOST_CHECK(diag1 != diag2); BOOST_CHECK(!(diag1 == diag2)); poly1 = x; poly2 = x; diag1 = dd_type(poly1.set()); diag2 = dd_type(poly2.set()); BOOST_CHECK_EQUAL(diag1, diag2); BOOST_CHECK(diag1 == diag2); BOOST_CHECK(!(diag1 != diag2)); poly1 = x*y; poly2 = y*x; diag1 = dd_type(poly1.set()); diag2 = dd_type(poly2.set()); BOOST_CHECK_EQUAL(diag1, diag2); BOOST_CHECK(diag1 == diag2); BOOST_CHECK(!(diag1 != diag2)); poly1 = x + 1; poly2 = x; diag1 = dd_type(poly1.set()); diag2 = dd_type(poly2.set()); BOOST_CHECK_NE(diag1, diag2); BOOST_CHECK(diag1 != diag2); BOOST_CHECK(!(diag1 == diag2)); } BOOST_AUTO_TEST_CASE(test_refcount) { BoolePolynomial count1 = x*y + z - 1; dd_type count2(count1.set()); BOOST_TEST_MESSAGE( "refCount" ); BOOST_CHECK_EQUAL(count2.refCount(), 2); dd_type count3(count1.set()); BOOST_CHECK_EQUAL(count2.refCount(), 3); BOOST_CHECK_EQUAL(count3.refCount(), 3); BOOST_CHECK(count2 == count3); BoolePolynomial count4 = count1; BOOST_CHECK_EQUAL(count2.refCount(), 4); BOOST_CHECK_EQUAL(count3.refCount(), 4); BoolePolynomial count5 = x*y + z - 1; BOOST_CHECK_EQUAL(count2.refCount(), 5); BOOST_CHECK_EQUAL(count3.refCount(), 5); count3 = count2; BOOST_CHECK_EQUAL(count2.refCount(), 5); BOOST_CHECK_EQUAL(count3.refCount(), 5); count1 = x*y + z; BOOST_CHECK_EQUAL(count2.refCount(), 4); BOOST_CHECK_EQUAL(count3.refCount(), 4); count4 = 1; BOOST_CHECK_EQUAL(count2.refCount(), 3); BOOST_CHECK_EQUAL(count3.refCount(), 3); count5 = z; BOOST_CHECK_EQUAL(count2.refCount(), 2); BOOST_CHECK_EQUAL(count3.refCount(), 2); BOOST_CHECK(count2 == count3); count3 = dd_type(count1.set()); BOOST_CHECK_EQUAL(count2.refCount(), 1); BOOST_CHECK_EQUAL(count3.refCount(), 2); BOOST_CHECK(count2 != count3); } BOOST_AUTO_TEST_CASE(test_getters) { dd_type diagram(poly.set()); BoolePolyRing other(3, 1); BoolePolyRing orig = ring; output_test_stream output; BOOST_TEST_MESSAGE( "ring" ); BOOST_CHECK_EQUAL(ring.ordering().getOrderCode(), diagram.ring().ordering().getOrderCode()); BOOST_CHECK_EQUAL(ring.nVariables(), diagram.ring().nVariables()); ring = other; BOOST_CHECK_NE(ring.ordering().getOrderCode(), diagram.ring().ordering().getOrderCode()); BOOST_CHECK_NE(ring.nVariables(), diagram.ring().nVariables()); ring = orig; } BOOST_AUTO_TEST_CASE(test_size) { dd_type diagram(poly.set()); set_type one_set(poly.ring()); one_set = one_set.add(BooleMonomial(ring)); dd_type one(one_set); BOOST_TEST_MESSAGE( "count, countDouble, nNodes, rootIndex" ); BOOST_CHECK_EQUAL(diagram.count(), 5); BOOST_CHECK_EQUAL(one.count(), 1); BOOST_CHECK_EQUAL(diagram.countDouble(), 5); BOOST_CHECK_EQUAL(one.countDouble(), 1); BOOST_CHECK_EQUAL(diagram.nNodes(), 6); BOOST_CHECK_EQUAL(one.nNodes(), 0); BOOST_CHECK_EQUAL(diagram.rootIndex(), 0); BOOST_CHECK_EQUAL(one.rootIndex(), CUDD_MAXINDEX); BoolePolynomial pol(1,ring); diagram = dd_type(pol.set()); BOOST_CHECK_EQUAL(diagram.nNodes(), 0); pol = 0; diagram = dd_type(pol.set()); BOOST_CHECK_EQUAL(diagram.nNodes(), 0); pol = y + 1; diagram = dd_type(pol.set()); BOOST_CHECK_EQUAL(diagram.nNodes(), 1); pol = x; diagram = dd_type(pol.set()); BOOST_CHECK_EQUAL(diagram.nNodes(), 1); pol = y; diagram = dd_type(pol.set()); BOOST_CHECK_EQUAL(diagram.nNodes(), 1); pol = x*y; diagram = dd_type(pol.set()); BOOST_CHECK_EQUAL(diagram.nNodes(), 2); pol = x*y + z; diagram = dd_type(pol.set()); BOOST_CHECK_EQUAL(diagram.nNodes(), 3); } BOOST_AUTO_TEST_SUITE_END() BRiAl-1.2.12/tests/CFactoryBaseTest.cc000066400000000000000000000035651436062512100173550ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file BooleEnvTest.cc * * @author Alexander Dreyer * @date 2011-05-05 * * boost/test-driven unit test * * @par Copyright: * (c) 2011 by The PolyBoRi Team * **/ //***************************************************************************** #include #include #if BOOST_VERSION < 107100 #include #else #include #endif using boost::test_tools::output_test_stream; #include #include BEGIN_NAMESPACE_PBORI // dummy class for testing inheritance class CFactoryBaseInherited: public CFactoryBase { public: CFactoryBaseInherited(const CFactoryBase::parent_type& ring): CFactoryBase(ring) {} CFactoryBaseInherited(const CFactoryBaseInherited& rhs): CFactoryBase(rhs) {} bool operator==(const CFactoryBase::parent_type& ring) const { return parent().hash() == ring.hash(); } }; END_NAMESPACE_PBORI USING_NAMESPACE_PBORI struct Ffacbase { Ffacbase(): ring(5) { BOOST_TEST_MESSAGE( "setup fixture" ); } ~Ffacbase() { BOOST_TEST_MESSAGE( "teardown fixture" ); } BoolePolyRing ring; }; BOOST_FIXTURE_TEST_SUITE(CFactoryBaseTest, Ffacbase ) BOOST_AUTO_TEST_CASE(test_constructors) { BOOST_TEST_MESSAGE( "CFactoryBase(...)" ); CFactoryBaseInherited factory(ring); BOOST_CHECK(factory == ring); CFactoryBaseInherited factory_copy(factory); BOOST_CHECK(factory_copy == ring); } BOOST_AUTO_TEST_CASE(test_parent) { BOOST_TEST_MESSAGE( "parent()" ); CFactoryBase factory(ring); BOOST_CHECK_EQUAL(factory.parent().hash(), ring.hash()); CFactoryBase factory_copy(factory); BOOST_CHECK_EQUAL(factory_copy.parent().hash(), ring.hash()); } BOOST_AUTO_TEST_SUITE_END() BRiAl-1.2.12/tests/CStringLiteralTest.cc000066400000000000000000000041531436062512100177300ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file CStringLiteralTest.cc * * @author Ket Kalda, Alexander Dreyer * @date 2011-03-15 * * boost/test-driven unit test * * @par Copyright: * (c) 2011 by The PolyBoRi Team * **/ //***************************************************************************** #include #include #if BOOST_VERSION < 107100 #include #else #include #endif using boost::test_tools::output_test_stream; # include USING_NAMESPACE_PBORI template class print_lit { public: void operator()(std::ostream& os) const { os << '"'<< CStringLiteral()() <<'"' <()(os); }; }; template <> class print_lit { public: void operator()(std::ostream& os) const { }; }; struct Fliteral { Fliteral() { BOOST_TEST_MESSAGE( "setup fixture" ); } ~Fliteral() { BOOST_TEST_MESSAGE( "teardown fixture" ); } }; BOOST_FIXTURE_TEST_SUITE(CStringLiteralTestSuite, Fliteral ) BOOST_AUTO_TEST_CASE(test_lit) { BOOST_TEST_MESSAGE("literals"); // Test all valid template arguments output_test_stream output; print_lit<>()(output); output_test_stream output2; output2 << '"'<< "" <<'"' <()(); output2 << CStringLiteral()(); BOOST_CHECK(output.is_equal(output2.str())); } BOOST_AUTO_TEST_SUITE_END() BRiAl-1.2.12/tests/DegLexOrderTest.cc000066400000000000000000000227521436062512100172130ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file DegLexOrderTest.cc * * @author Ket Shcherbakova, Alexander Dreyer * @date 2010-12-07 * * boost/test-driven unit test * * @par Copyright: * (c) 2010 by The PolyBoRi Team * **/ //***************************************************************************** #include #include #if BOOST_VERSION < 107100 #include #else #include #endif using boost::test_tools::output_test_stream; #include USING_NAMESPACE_PBORI class Fdeglex { public: typedef DegLexOrder order_type; Fdeglex(const BoolePolyRing& input_ring = BoolePolyRing(5, COrderEnums::lp)): ring(input_ring), x(0, input_ring), y(1, input_ring), z(2, input_ring), v(3, input_ring), w(4, input_ring) { BOOST_TEST_MESSAGE( "setup fixture" ); ring.setVariableName(0, "x"); ring.setVariableName(1, "y"); ring.setVariableName(2, "z"); ring.setVariableName(3, "v"); ring.setVariableName(4, "w"); } ~Fdeglex() { BOOST_TEST_MESSAGE( "teardown fixture" ); } BoolePolyRing ring; BooleVariable x, y, z, v, w; }; BOOST_FIXTURE_TEST_SUITE(DegLexOrderTestSuite, Fdeglex ) BOOST_AUTO_TEST_CASE(test_properties) { order_type order; BOOST_TEST_MESSAGE( "isLexicographical, isSymmetric, isDegreeOrder, isBlockOrder, isTotalDegreeOrder, isDegreeReverseLexicographical, ascendingVariables, descendingVariables, orderedStandardIteration" ); BOOST_CHECK(!order.isLexicographical()); BOOST_CHECK(order.isSymmetric()); BOOST_CHECK(order.isDegreeOrder()); BOOST_CHECK(!order.isBlockOrder()); BOOST_CHECK(order.isTotalDegreeOrder()); BOOST_CHECK(!order.isDegreeReverseLexicographical()); BOOST_CHECK(!order.ascendingVariables()); BOOST_CHECK(order.descendingVariables()); BOOST_CHECK(!order.orderedStandardIteration()); } BOOST_AUTO_TEST_CASE(test_getters) { order_type order; BOOST_TEST_MESSAGE( "getOrderCode, getBaseOrderCode" ); BOOST_CHECK_EQUAL(order.getOrderCode(), COrderEnums::dlex); BOOST_CHECK_EQUAL(order.getBaseOrderCode(), COrderEnums::dlex); } BOOST_AUTO_TEST_CASE(test_compare) { order_type order; BOOST_TEST_MESSAGE( "compare" ); BooleMonomial monom1 = x; BooleMonomial monom2 = x*x; BOOST_CHECK_EQUAL(order.compare(monom1, monom2) , CTypes::equality); monom1 = x*y; monom2 = x*z*v; BOOST_CHECK_EQUAL(order.compare(monom1, monom2) , CTypes::less_than); monom1 = v*y; monom2 = x; BOOST_CHECK_EQUAL(order.compare(monom1, monom2) , CTypes::greater_than); monom1 = BooleMonomial(ring); monom2 = w; BOOST_CHECK_EQUAL(order.compare(monom1, monom2) , CTypes::less_than); monom1 = BooleMonomial(ring); monom2 = BooleMonomial(ring); BOOST_CHECK_EQUAL(order.compare(monom1, monom2) , CTypes::equality); BooleExponent exp1(x); BooleExponent exp2(x*x); BOOST_CHECK_EQUAL(order.compare(exp1, exp2) , CTypes::equality); exp1 = BooleExponent(w*x); exp2 = BooleExponent(v*x); BOOST_CHECK_EQUAL(order.compare(exp1, exp2) , CTypes::less_than); exp1 = BooleExponent(x*y*z*v*w); exp2 = BooleExponent(x*y*z*v); BOOST_CHECK_EQUAL(order.compare(exp1, exp2) , CTypes::greater_than); BOOST_CHECK_EQUAL(order.compare(0,1) , CTypes::greater_than); BOOST_CHECK_EQUAL(order.compare(2,1) , CTypes::less_than); BOOST_CHECK_EQUAL(order.compare(-1,-1) , CTypes::equality); BOOST_CHECK_EQUAL(order.compare(1,-1) , CTypes::less_than); } BOOST_AUTO_TEST_CASE(test_lead) { BOOST_TEST_MESSAGE( "lead, leadExp, leadFirst" ); order_type order; BoolePolynomial poly = x + x*y + y*z*v*w + 1; // testing leadexp first, since they do not cache results (but call the cache) BOOST_CHECK_EQUAL(order.leadExp(poly) , BooleExponent(y*z*v*w)); BOOST_CHECK_EQUAL(order.leadExp(poly,-1), BooleExponent()); BOOST_CHECK_EQUAL(order.leadExp(poly,0), BooleExponent()); BOOST_CHECK_EQUAL(order.leadExp(poly-1,0), BooleExponent()); BOOST_CHECK_EQUAL(order.leadExp(poly,1), BooleExponent(x)); BOOST_CHECK_EQUAL(order.leadExp(x + y, 0), BooleExponent()); BOOST_CHECK_EQUAL(order.lead(poly) , BooleMonomial(y*z*v*w)); BOOST_CHECK_EQUAL(order.lead(poly,1), BooleMonomial(x)); BOOST_CHECK_EQUAL(order.lead(poly,0), BooleMonomial(ring)); BOOST_CHECK_THROW(order.lead(x + y, 0), PBoRiError); BOOST_CHECK_THROW(order.lead(poly,-1), PBoRiError); poly = x + x*y + y + 1; BOOST_CHECK_EQUAL(order.leadExp(poly), BooleExponent(x*y)); BOOST_CHECK_EQUAL(order.leadExp(poly,-1), BooleExponent()); BOOST_CHECK_EQUAL(order.leadExp(poly,1), BooleExponent(x)); BOOST_CHECK_EQUAL(order.lead(poly), BooleMonomial(x*y)); BOOST_CHECK_EQUAL(order.lead(poly, 1), BooleMonomial(x)); BOOST_CHECK_THROW(order.lead(poly, -1), PBoRiError); // Empty (zero) poly poly = BoolePolynomial(ring); BOOST_CHECK_THROW(order.lead(poly), PBoRiGenericError); BOOST_CHECK_THROW(order.lead(poly,1), PBoRiGenericError); BOOST_CHECK_THROW(order.lead(poly),PBoRiGenericError); BOOST_CHECK_EQUAL(order.leadExp(poly,1), BooleExponent()); BOOST_CHECK_EQUAL(order.leadExp(poly,0), BooleExponent()); BOOST_CHECK_EQUAL(order.leadExp(poly), BooleExponent()); BOOST_CHECK_THROW(order.leadFirst(poly),PBoRiGenericError); poly = 1; BOOST_CHECK_EQUAL(order.lead(poly, 1), BooleMonomial(ring)); BOOST_CHECK_EQUAL(order.lead(poly), BooleMonomial(ring)); BOOST_CHECK_EQUAL(order.leadExp(poly, 1), BooleExponent()); BOOST_CHECK_EQUAL(order.leadExp(poly), BooleExponent()); BOOST_CHECK_EQUAL(order.leadFirst(poly), poly); poly = x*w + x*z + w*v*y; BOOST_CHECK_THROW(order.lead(poly, 0), PBoRiError); BOOST_CHECK_THROW(order.lead(poly, 0), std::exception); BOOST_CHECK_EQUAL(order.leadExp(poly,0), BooleExponent()); poly=y; BOOST_CHECK_EQUAL(order.lead(poly,1), BooleMonomial(y)); BOOST_CHECK_EQUAL(order.lead(poly,2), BooleMonomial(y)); BOOST_CHECK_THROW(order.lead(poly,-1), std::exception); BOOST_CHECK_EQUAL(order.leadExp(poly,1), BooleExponent(y)); BOOST_CHECK_EQUAL(order.leadExp(poly,2), BooleExponent(y)); BOOST_CHECK_EQUAL(order.leadExp(poly,-1), BooleExponent()); BooleMonomial leadterm = z*v*w; poly = x*y + x*v + leadterm; BOOST_CHECK_EQUAL(order.lead(poly, 3), BooleMonomial(leadterm)); BOOST_CHECK_EQUAL(order.leadExp(poly,3), BooleExponent(leadterm)); BOOST_CHECK_EQUAL(poly, x*y + x*v + z*v*w); BOOST_CHECK_THROW(order.lead(poly, 1), PBoRiError); BOOST_CHECK_EQUAL(order.lead(poly, 2), x*y); BOOST_CHECK_EQUAL(order.lead(poly, 3), z*v*w); BOOST_CHECK_THROW(order.lead(poly, -1), PBoRiError); BOOST_CHECK_EQUAL(order.leadExp(poly, 1), BooleExponent()); BOOST_CHECK_EQUAL(order.leadExp(poly, 2), (x*y).exp()); BOOST_CHECK_EQUAL(order.leadExp(poly, 3), (z*v*w).exp()); BOOST_CHECK_THROW(order.lead(poly,1), std::exception); BOOST_CHECK_EQUAL(order.lead(poly,2), BooleMonomial(x*y)); BOOST_CHECK_EQUAL(order.lead(poly,3), leadterm); BOOST_CHECK_THROW(order.lead(poly,-1), std::exception); BOOST_CHECK_EQUAL(order.leadExp(poly,1), BooleExponent()); BOOST_CHECK_EQUAL(order.leadExp(poly,2), BooleExponent(x*y)); BOOST_CHECK_EQUAL(order.leadExp(poly,3), BooleExponent(leadterm)); BOOST_CHECK_EQUAL(order.leadExp(poly,-1), BooleExponent()); poly += y; BOOST_CHECK_EQUAL(order.lead(poly,1), BooleMonomial(y));// Even as valid term y exists BOOST_CHECK_EQUAL(order.lead(poly,2), BooleMonomial(x*y)); BOOST_CHECK_EQUAL(order.lead(poly,3), leadterm); BOOST_CHECK_THROW(order.lead(poly,-1), std::exception); BOOST_CHECK_EQUAL(order.leadExp(poly,1), BooleExponent(y));// Even as valid term y exists BOOST_CHECK_EQUAL(order.leadExp(poly,2), BooleExponent(x*y)); BOOST_CHECK_EQUAL(order.leadExp(poly,3), BooleExponent(leadterm)); BOOST_CHECK_EQUAL(order.leadExp(poly,-1), BooleExponent()); } BOOST_AUTO_TEST_CASE(test_blocks) { BOOST_TEST_MESSAGE( "blockBegin, blockEnd, appendBlock, clearBlocks, lastBlockStart, lieInSameBlock" ); order_type order; output_test_stream output; BoolePolyRing::block_iterator start(order.blockBegin()),finish(order.blockEnd()); while (start != finish) { output << *start <<", "; ++start; } BOOST_CHECK(output.is_equal("")); BOOST_CHECK_THROW(order.appendBlock(-1), std::exception); order.appendBlock(0); order.appendBlock(2); order.appendBlock(6); start = order.blockBegin(); finish = order.blockEnd(); while (start != finish) { output << *start <<", "; ++start; } BOOST_CHECK(output.is_equal("")); BOOST_CHECK(order.lieInSameBlock(0,1)); BOOST_CHECK(order.lieInSameBlock(-1,4)); BOOST_CHECK_EQUAL(order.lastBlockStart(), 0); order.clearBlocks(); start = order.blockBegin(); finish = order.blockEnd(); BOOST_CHECK(start==finish); } BOOST_AUTO_TEST_CASE(test_cover_constructors_and_destructors) { int order_code = CTypes::dlex; BoolePolyRing block_ring(5, order_code); BOOST_CHECK_EQUAL(block_ring.ordering().getOrderCode(), order_code); class Inherited: public order_type {}; Inherited dummy; BOOST_CHECK_EQUAL(dummy.getOrderCode(), order_code); order_type self; BOOST_CHECK_EQUAL(self.getOrderCode(), order_code); order_type* pSelf = new order_type; BOOST_CHECK_EQUAL(pSelf->getOrderCode(), order_code); delete pSelf; pSelf = new Inherited; BOOST_CHECK_EQUAL(pSelf->getOrderCode(), order_code); delete pSelf; Inherited* pDummy = new Inherited; BOOST_CHECK_EQUAL(pDummy->getOrderCode(), order_code); delete pDummy; } BOOST_AUTO_TEST_SUITE_END() BRiAl-1.2.12/tests/DegRevLexAscOrderTest.cc000066400000000000000000000200541436062512100203100ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file DegRevLexAscOrderTest.cc * * @author Ket Shcherbakova, Alexander Dreyer * @date 2010-12-14 * * boost/test-driven unit test * * @par Copyright: * (c) 2010 by The PolyBoRi Team * **/ //***************************************************************************** #include #include #if BOOST_VERSION < 107100 #include #else #include #endif using boost::test_tools::output_test_stream; #include USING_NAMESPACE_PBORI struct Fdegrevlex { typedef DegRevLexAscOrder order_type; Fdegrevlex(const BoolePolyRing& input_ring = BoolePolyRing(5, COrderEnums::lp)): ring(input_ring), x(0, input_ring), y(1, input_ring), z(2, input_ring), v(3, input_ring), w(4, input_ring) { BOOST_TEST_MESSAGE( "setup fixture" ); ring.setVariableName(0, "x"); ring.setVariableName(1, "y"); ring.setVariableName(2, "z"); ring.setVariableName(3, "v"); ring.setVariableName(4, "w"); } ~Fdegrevlex() { BOOST_TEST_MESSAGE( "teardown fixture" ); } BoolePolyRing ring; BooleVariable x, y, z, v, w; }; BOOST_FIXTURE_TEST_SUITE(DegRevLexAscOrderTestSuite, Fdegrevlex ) BOOST_AUTO_TEST_CASE(test_properties) { order_type order; BOOST_TEST_MESSAGE( "isLexicographical, isSymmetric, isDegreeOrder, isBlockOrder, isTotalDegreeOrder, isDegreeReverseLexicographical, ascendingVariables, descendingVariables, orderedStandardIteration" ); BOOST_CHECK(!order.isLexicographical()); BOOST_CHECK(order.isSymmetric()); BOOST_CHECK(order.isDegreeOrder()); BOOST_CHECK(!order.isBlockOrder()); BOOST_CHECK(order.isTotalDegreeOrder()); BOOST_CHECK(order.isDegreeReverseLexicographical()); BOOST_CHECK(order.ascendingVariables()); BOOST_CHECK(!order.descendingVariables()); BOOST_CHECK(!order.orderedStandardIteration()); } BOOST_AUTO_TEST_CASE(test_getters) { order_type order; BOOST_TEST_MESSAGE( "getOrderCode, getBaseOrderCode" ); BOOST_CHECK_EQUAL(order.getOrderCode(), COrderEnums::dp_asc); BOOST_CHECK_EQUAL(order.getBaseOrderCode(), COrderEnums::dp_asc); } BOOST_AUTO_TEST_CASE(test_compare) { order_type order; BOOST_TEST_MESSAGE( "compare" ); BooleMonomial monom1 = x; BooleMonomial monom2 = x*x; BOOST_CHECK_EQUAL(order.compare(monom1, monom2) , CTypes::equality); monom1 = x*y; monom2 = x*z*v; BOOST_CHECK_EQUAL(order.compare(monom1, monom2) , CTypes::less_than); monom1 = v*y; monom2 = x; BOOST_CHECK_EQUAL(order.compare(monom1, monom2) , CTypes::greater_than); monom1 = BooleMonomial(ring); monom2 = w; BOOST_CHECK_EQUAL(order.compare(monom1, monom2) , CTypes::less_than); monom1 = BooleMonomial(ring); monom2 = BooleMonomial(ring); BOOST_CHECK_EQUAL(order.compare(monom1, monom2) , CTypes::equality); BooleExponent exp1(x); BooleExponent exp2(x*x); BOOST_CHECK_EQUAL(order.compare(exp1, exp2) , CTypes::equality); exp1 = BooleExponent(w*x); exp2 = BooleExponent(v*x); BOOST_CHECK_EQUAL(order.compare(exp1, exp2) , CTypes::greater_than); exp1 = BooleExponent(x*y*z*v*w); exp2 = BooleExponent(x*y*z*v); BOOST_CHECK_EQUAL(order.compare(exp1, exp2) , CTypes::greater_than); BOOST_CHECK_EQUAL(order.compare(0,1) , CTypes::less_than); BOOST_CHECK_EQUAL(order.compare(2,1) , CTypes::greater_than); BOOST_CHECK_EQUAL(order.compare(-1,-1) , CTypes::equality); BOOST_CHECK_EQUAL(order.compare(1,-1) , CTypes::greater_than); } BOOST_AUTO_TEST_CASE(test_lead) { BOOST_TEST_MESSAGE( "lead, leadExp, leadFirst" ); order_type order; BoolePolynomial poly = x*y*z*w + x*x + x*y + y*z*v*w + 1; BOOST_CHECK_EQUAL(order.lead(poly) , BooleMonomial(y*z*v*w)); BOOST_CHECK_EQUAL(order.lead(poly,1), BooleMonomial(x)); BOOST_CHECK_THROW(order.lead(poly,-1), PBoRiError); BOOST_CHECK_EQUAL(order.leadExp(poly,1), BooleExponent(x)); BOOST_CHECK_EQUAL(order.leadExp(poly,-1), BooleExponent()); poly = BoolePolynomial(ring); BOOST_CHECK_THROW(order.lead(poly), PBoRiGenericError); BOOST_CHECK_THROW(order.lead(poly,1),PBoRiGenericError); BOOST_CHECK_THROW(order.lead(poly),PBoRiGenericError); BOOST_CHECK_EQUAL(order.leadExp(poly,1), BooleExponent()); BOOST_CHECK_EQUAL(order.leadExp(poly), BooleExponent()); BOOST_CHECK_THROW(order.leadFirst(poly),PBoRiGenericError); poly = 1; BOOST_CHECK_EQUAL(order.lead(poly, 1), BooleMonomial(ring)); BOOST_CHECK_EQUAL(order.lead(poly), BooleMonomial(ring)); BOOST_CHECK_EQUAL(order.leadExp(poly, 1), BooleExponent()); BOOST_CHECK_EQUAL(order.leadExp(poly), BooleExponent()); BOOST_CHECK_EQUAL(order.leadFirst(poly), poly); poly = x*w + x*z + w*v*y; BOOST_CHECK_THROW(order.lead(poly, 0), PBoRiError); BOOST_CHECK_EQUAL(order.leadExp(poly,0), BooleExponent()); BooleMonomial leadterm = z*v*w; poly = x*y + x*v + leadterm; BOOST_CHECK_EQUAL(order.lead(poly,3), BooleMonomial(leadterm)); BOOST_CHECK_EQUAL(order.leadExp(poly,3), BooleExponent(leadterm)); boost::test_tools::output_test_stream output; output << poly; BOOST_CHECK(output.is_equal("x*y + x*v + z*v*w")); BOOST_CHECK_THROW(order.lead(poly, 1), PBoRiError); BOOST_CHECK_EQUAL(order.lead(poly, 2), x*v); BOOST_CHECK_EQUAL(order.lead(poly, 3), z*v*w); BOOST_CHECK_THROW(order.lead(poly, -1), PBoRiError); BOOST_CHECK_THROW(order.lead(poly,1), std::exception); BOOST_CHECK_EQUAL(order.lead(poly,2), BooleMonomial(x*v)); BOOST_CHECK_EQUAL(order.lead(poly,3), leadterm); BOOST_CHECK_THROW(order.lead(poly,-1), std::exception); BOOST_CHECK_EQUAL(order.leadExp(poly,1), BooleExponent()); BOOST_CHECK_EQUAL(order.leadExp(poly,2), BooleExponent(x*v)); BOOST_CHECK_EQUAL(order.leadExp(poly,3), BooleExponent(leadterm)); BOOST_CHECK_EQUAL(order.leadExp(poly,-1), BooleExponent()); poly += y; BOOST_CHECK_EQUAL(order.lead(poly,1), BooleMonomial(y)); BOOST_CHECK_EQUAL(order.lead(poly,2), BooleMonomial(x*v)); BOOST_CHECK_EQUAL(order.lead(poly,3), leadterm); BOOST_CHECK_THROW(order.lead(poly,-1), std::exception); BOOST_CHECK_EQUAL(order.leadExp(poly,1), BooleExponent(y)); BOOST_CHECK_EQUAL(order.leadExp(poly, 2), BooleExponent(x*v)); BOOST_CHECK_EQUAL(order.leadExp(poly, 3), BooleExponent(z*v*w)); BOOST_CHECK_EQUAL(order.leadExp(poly, -1), BooleExponent()); } BOOST_AUTO_TEST_CASE(test_blocks) { BOOST_TEST_MESSAGE( "blockBegin, blockEnd, appendBlock, clearBlocks, lastBlockStart, lieInSameBlock" ); order_type order; output_test_stream output; BoolePolyRing::block_iterator start(order.blockBegin()),finish(order.blockEnd()); while (start != finish) { output << *start <<", "; ++start; } BOOST_CHECK(output.is_equal("")); BOOST_CHECK_THROW(order.appendBlock(-1), std::exception); order.appendBlock(0); order.appendBlock(2); order.appendBlock(6); start = order.blockBegin(); finish = order.blockEnd(); while (start != finish) { output << *start <<", "; ++start; } BOOST_CHECK(output.is_equal("")); BOOST_CHECK(order.lieInSameBlock(0,1)); BOOST_CHECK(order.lieInSameBlock(-1,4)); BOOST_CHECK_EQUAL(order.lastBlockStart(), 0); order.clearBlocks(); start = order.blockBegin(); finish = order.blockEnd(); BOOST_CHECK(start==finish); } BOOST_AUTO_TEST_CASE(test_cover_constructors_and_destructors) { int order_code = CTypes::dp_asc; BoolePolyRing block_ring(5, order_code); BOOST_CHECK_EQUAL(block_ring.ordering().getOrderCode(), order_code); class Inherited: public order_type {}; Inherited dummy; BOOST_CHECK_EQUAL(dummy.getOrderCode(), order_code); order_type self; BOOST_CHECK_EQUAL(self.getOrderCode(), order_code); order_type* pSelf = new order_type; BOOST_CHECK_EQUAL(pSelf->getOrderCode(), order_code); delete pSelf; pSelf = new Inherited; BOOST_CHECK_EQUAL(pSelf->getOrderCode(), order_code); delete pSelf; Inherited* pDummy = new Inherited; BOOST_CHECK_EQUAL(pDummy->getOrderCode(), order_code); delete pDummy; } BOOST_AUTO_TEST_SUITE_END() BRiAl-1.2.12/tests/FGLMStrategyTest.cc000066400000000000000000000056121436062512100173130ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file FGLMStrategyTest.cc * * @author Alexander Dreyer * @date 2011-08-08 * * boost/test-driven unit test * * @par Copyright: * (c) 2011 by The PolyBoRi Team * **/ //***************************************************************************** #include #include #if BOOST_VERSION < 107100 #include #else #include #endif using boost::test_tools::output_test_stream; #include #include #include USING_NAMESPACE_PBORI USING_NAMESPACE_PBORIGB struct Ffglm { Ffglm(const BoolePolyRing& input_ring = BoolePolyRing(50)): ring(input_ring), x(0, input_ring), y(1, input_ring), z(2, input_ring), v(3, input_ring), w(4, input_ring) { BOOST_TEST_MESSAGE( "setup fixture" ); ring.setVariableName(0, "x"); ring.setVariableName(1, "y"); ring.setVariableName(2, "z"); ring.setVariableName(3, "v"); ring.setVariableName(4, "w"); } ~Ffglm() { BOOST_TEST_MESSAGE( "teardown fixture" ); } BoolePolyRing ring; BooleVariable x, y, z, v, w; }; BOOST_FIXTURE_TEST_SUITE(FGLMStrategyTest, Ffglm) BOOST_AUTO_TEST_CASE(test_constructors) { BoolePolyRing other(ring.clone()); other.changeOrdering(CTypes::dp_asc); PolynomialVector ideal; ideal.push_back(x+z); ideal.push_back(y+z); FGLMStrategy strat(ring, other, ideal); ideal = strat.main(); output_test_stream output; std::copy(ideal.begin(), ideal.end(), std::ostream_iterator(output, ", ") ); BOOST_CHECK(output.is_equal("y + x, z + x, ")); } /// @note It is intended, that the following two tests do not compile! #ifdef FGLMStrategyTest_compile_all_ BOOST_AUTO_TEST_CASE(test_copy_constructor) { BoolePolyRing other(ring.clone()); other.changeOrdering(CTypes::dp_asc); PolynomialVector ideal; ideal.push_back(x+z); ideal.push_back(y+z); FGLMStrategy strat0(ring, other, ideal); FGLMStrategy strat(strat0); ideal = strat.main(); output_test_stream output; std::copy(ideal.begin(), ideal.end(), std::ostream_iterator(output, ", ") ); BOOST_CHECK(output.is_equal("y + x, z + x, ")); } BOOST_AUTO_TEST_CASE(test_assign) { BoolePolyRing empty(1); FGLMStrategy strat(empty, empty, PolynomialVector()); BoolePolyRing other(ring.clone()); other.changeOrdering(CTypes::dp_asc); PolynomialVector ideal; ideal.push_back(x+z); ideal.push_back(y+z); strat = FGLMStrategy(ring, other, ideal); ideal = strat.main(); output_test_stream output; std::copy(ideal.begin(), ideal.end(), std::ostream_iterator(output, ", ") ); BOOST_CHECK(output.is_equal("y + x, z + x, ")); } #endif BOOST_AUTO_TEST_SUITE_END() BRiAl-1.2.12/tests/GroebnerStrategyTest.cc000066400000000000000000000027361436062512100203350ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file GroebnerStrategyTest.cc * * @author Ket Kalda, Alexander Dreyer * @date 2011-03-15 * * boost/test-driven unit test * * @par Copyright: * (c) 2011 by The PolyBoRi Team * **/ //***************************************************************************** #include #include #if BOOST_VERSION < 107100 #include #else #include #endif using boost::test_tools::output_test_stream; #include USING_NAMESPACE_PBORI USING_NAMESPACE_PBORIGB struct Fstrat { Fstrat(const BoolePolyRing& input_ring = BoolePolyRing(1000)): ring(input_ring), x(0, input_ring), y(1, input_ring), z(2, input_ring), v(3, input_ring), w(4, input_ring) { BOOST_TEST_MESSAGE( "setup fixture" ); } ~Fstrat() { BOOST_TEST_MESSAGE( "teardown fixture" ); } BoolePolyRing ring; BooleVariable x, y, z, v, w; }; BOOST_FIXTURE_TEST_SUITE(GroebnerStrategyTestSuite, Fstrat ) BOOST_AUTO_TEST_CASE(test_nf) { GroebnerStrategy strat(ring); for (int i=0;i<1000;i++){ strat.addGenerator(BoolePolynomial(BooleVariable(i, ring)+BoolePolynomial(true,ring))); } ///@TODO: GroebnerStrategy needs more tests BoolePolynomial poly = x+1; BOOST_CHECK_EQUAL(strat.nf(poly), BoolePolynomial(0 ,ring)); } BOOST_AUTO_TEST_SUITE_END() BRiAl-1.2.12/tests/LexOrderTest.cc000066400000000000000000000151251436062512100165670ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file LexOrderTest.cc * * @author Ket Shcherbakova, Alexander Dreyer * @date 2010-11-30 * * boost/test-driven unit test * * @par Copyright: * (c) 2010 by The PolyBoRi Team * **/ //***************************************************************************** #include #include #if BOOST_VERSION < 107100 #include #else #include #endif using boost::test_tools::output_test_stream; #include USING_NAMESPACE_PBORI struct Flex { typedef LexOrder order_type; Flex(const BoolePolyRing& input_ring = BoolePolyRing(1000, COrderEnums::dlex)): ring(input_ring), x(0, input_ring), y(1, input_ring), z(2, input_ring), v(3, input_ring), w(4, input_ring) { BOOST_TEST_MESSAGE( "setup fixture" ); ring.setVariableName(0, "x"); ring.setVariableName(1, "y"); ring.setVariableName(2, "z"); ring.setVariableName(3, "v"); ring.setVariableName(4, "w"); } ~Flex() { BOOST_TEST_MESSAGE( "teardown fixture" ); } BoolePolyRing ring; BooleVariable x, y, z, v, w; }; BOOST_FIXTURE_TEST_SUITE(LexOrderTestSuite, Flex ) BOOST_AUTO_TEST_CASE(test_properties) { order_type order; BOOST_TEST_MESSAGE( "isLexicographical, isSymmetric, isDegreeOrder, isBlockOrder, isTotalDegreeOrder, isDegreeReverseLexicographical, ascendingVariables, descendingVariables, orderedStandardIteration" ); BOOST_CHECK(order.isLexicographical()); BOOST_CHECK(order.isSymmetric()); BOOST_CHECK(!order.isDegreeOrder()); BOOST_CHECK(!order.isBlockOrder()); BOOST_CHECK(!order.isTotalDegreeOrder()); BOOST_CHECK(!order.isDegreeReverseLexicographical()); BOOST_CHECK(!order.ascendingVariables()); BOOST_CHECK(order.descendingVariables()); BOOST_CHECK(order.orderedStandardIteration()); } BOOST_AUTO_TEST_CASE(test_getters) { order_type order; BOOST_TEST_MESSAGE( "getOrderCode, getBaseOrderCode" ); BOOST_CHECK_EQUAL(order.getOrderCode(), COrderEnums::lp); BOOST_CHECK_EQUAL(order.getBaseOrderCode(), COrderEnums::lp); } BOOST_AUTO_TEST_CASE(test_compare) { order_type order; BOOST_TEST_MESSAGE( "compare" ); BooleMonomial monom1 = x; BooleMonomial monom2 = x*x; BOOST_CHECK_EQUAL(order.compare(monom1, monom2) , CTypes::equality); monom1 = y*z*v; monom2 = x*y; BOOST_CHECK_EQUAL(order.compare(monom1, monom2) , CTypes::less_than); monom1 = x*y*z; monom2 = x*y; BOOST_CHECK_EQUAL(order.compare(monom1, monom2) , CTypes::greater_than); monom1 = BooleMonomial(ring); monom2 = w; BOOST_CHECK_EQUAL(order.compare(monom1, monom2) , CTypes::less_than); monom1 = BooleMonomial(ring); monom2 = BooleMonomial(ring); BOOST_CHECK_EQUAL(order.compare(monom1, monom2) , CTypes::equality); BooleExponent exp1(x); BooleExponent exp2(x*x); BOOST_CHECK_EQUAL(order.compare(exp1, exp2) , CTypes::equality); exp1 = BooleExponent(w*x); exp2 = BooleExponent(v*x); BOOST_CHECK_EQUAL(order.compare(exp1, exp2) , CTypes::less_than); exp1 = BooleExponent(x*y*z*v*w); exp2 = BooleExponent(x*y*z*v); BOOST_CHECK_EQUAL(order.compare(exp1, exp2) , CTypes::greater_than); BOOST_CHECK_EQUAL(order.compare(0,1) , CTypes::greater_than); BOOST_CHECK_EQUAL(order.compare(2,1) , CTypes::less_than); BOOST_CHECK_EQUAL(order.compare(-1,-1) , CTypes::equality); BOOST_CHECK_EQUAL(order.compare(1,-1) , CTypes::less_than); } BOOST_AUTO_TEST_CASE(test_lead) { BOOST_TEST_MESSAGE( "lead, leadExp, leadFirst" ); order_type order; BoolePolynomial poly = x*x + x*y + y*z*v*w + 1; BOOST_CHECK_EQUAL(order.lead(poly) , BooleMonomial(x*y)); BOOST_CHECK_EQUAL(order.lead(poly,1) , BooleMonomial(x*y)); BOOST_CHECK_EQUAL(order.lead(poly,-1) , BooleMonomial(x*y)); BOOST_CHECK_EQUAL(order.leadExp(poly) , BooleExponent(x*y)); BOOST_CHECK_EQUAL(order.leadExp(poly,1) , BooleExponent(x*y)); BOOST_CHECK_EQUAL(order.leadExp(poly,-1) , BooleExponent(x*y)); BOOST_CHECK_EQUAL(order.leadFirst(poly) , poly); poly = BoolePolynomial(ring); BOOST_CHECK_THROW(order.lead(poly), PBoRiGenericError); BOOST_CHECK_THROW(order.lead(poly,1),PBoRiGenericError); BOOST_CHECK_THROW(order.lead(poly),PBoRiGenericError); BOOST_CHECK_EQUAL(order.leadExp(poly,1), BooleExponent()); BOOST_CHECK_EQUAL(order.leadExp(poly), BooleExponent()); BOOST_CHECK_EQUAL(order.leadFirst(poly), poly); poly = 1; BOOST_CHECK_EQUAL(order.lead(poly, 1), BooleMonomial(ring)); BOOST_CHECK_EQUAL(order.lead(poly), BooleMonomial(ring)); BOOST_CHECK_EQUAL(order.leadExp(poly, 1), BooleExponent()); BOOST_CHECK_EQUAL(order.leadExp(poly), BooleExponent()); BOOST_CHECK_EQUAL(order.leadFirst(poly), poly); } BOOST_AUTO_TEST_CASE(test_lead_iter) { order_type order; BoolePolynomial poly = x*x + x*y + y*z*v*w + 1; BOOST_TEST_MESSAGE( "leadIteratorBegin" ); order_type::ordered_iterator start(order.leadIteratorBegin(poly)), finish(order.leadIteratorEnd(poly)); start.increment(); } BOOST_AUTO_TEST_CASE(test_blocks) { BOOST_TEST_MESSAGE( "blockBegin, blockEnd, appendBlock, clearBlocks, lastBlockStart, lieInSameBlock" ); order_type order; output_test_stream output; BoolePolyRing::block_iterator start(order.blockBegin()),finish(order.blockEnd()); BOOST_CHECK(start == finish); BOOST_CHECK_THROW(order.appendBlock(-1), std::exception); order.appendBlock(0); order.appendBlock(2); order.appendBlock(6); start = order.blockBegin(); finish = order.blockEnd(); BOOST_CHECK(start == finish); BOOST_CHECK(order.lieInSameBlock(0,1)); BOOST_CHECK(order.lieInSameBlock(-1,4)); BOOST_CHECK_EQUAL(order.lastBlockStart(), CUDD_MAXINDEX); order.clearBlocks(); start = order.blockBegin(); finish = order.blockEnd(); BOOST_CHECK(start==finish); } BOOST_AUTO_TEST_CASE(test_cover_constructors_and_destructors) { int order_code = CTypes::lp; BoolePolyRing block_ring(5, order_code); BOOST_CHECK_EQUAL(block_ring.ordering().getOrderCode(), order_code); class Inherited: public order_type {}; Inherited dummy; BOOST_CHECK_EQUAL(dummy.getOrderCode(), order_code); order_type self; BOOST_CHECK_EQUAL(self.getOrderCode(), order_code); order_type* pSelf = new order_type; BOOST_CHECK_EQUAL(pSelf->getOrderCode(), order_code); delete pSelf; pSelf = new Inherited; BOOST_CHECK_EQUAL(pSelf->getOrderCode(), order_code); delete pSelf; Inherited* pDummy = new Inherited; BOOST_CHECK_EQUAL(pDummy->getOrderCode(), order_code); delete pDummy; } BOOST_AUTO_TEST_SUITE_END() BRiAl-1.2.12/tests/Makefile.am000066400000000000000000000021551436062512100157270ustar00rootroot00000000000000AM_CPPFLAGS = \ -I$(top_srcdir)/groebner/include \ -I$(top_builddir)/libbrial/include \ -I$(top_srcdir)/libbrial/include \ -DBOOST_TEST_DYN_LINK AM_CXXFLAGS = -ftemplate-depth-100 AM_DEFAULT_SOURCE_EXT = .cc unittests_SOURCES = \ BlockDegLexOrderTest.cc \ BlockDegRevLexAscOrderTest.cc \ BooleConstantTest.cc \ BooleEnvTest.cc \ BooleExponentTest.cc \ BooleMonomialTest.cc \ BoolePolynomialTest.cc \ BoolePolyRingTest.cc \ BooleSetTest.cc \ BooleVariableTest.cc \ CCuddDDFacadeTest.cc \ CFactoryBaseTest.cc \ CStringLiteralTest.cc \ DegLexOrderTest.cc \ DegRevLexAscOrderTest.cc \ FGLMStrategyTest.cc \ GroebnerStrategyTest.cc \ LexOrderTest.cc \ MonomialFactoryTest.cc \ PBoRiErrorTest.cc \ PolynomialFactoryTest.cc \ PseudoLongProductTest.cc \ SetFactoryTest.cc \ spolyTest.cc \ term_accumulateTest.cc \ VariableFactoryTest.cc \ weak_pointersTest.cc \ unittests.cc AM_LDFLAGS = $(BOOST_UNIT_TEST_FRAMEWORK_LIB) LIBS = $(top_builddir)/groebner/src/libbrial_groebner.la \ $(top_builddir)/libbrial.la \ $(LIBPNG_LIBADD) \ $(M4RI_LIBS) \ $(GD_LIBS) TESTS = unittests check_PROGRAMS = unittests BRiAl-1.2.12/tests/MonomialFactoryTest.cc000066400000000000000000000053521436062512100201470ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file MonomialFactoryTest.cc * * @author Alexander Dreyer * @date 2011-05-05 * * boost/test-driven unit test * * @par Copyright: * (c) 2011 by The PolyBoRi Team * **/ //***************************************************************************** #include #include #if BOOST_VERSION < 107100 #include #else #include #endif using boost::test_tools::output_test_stream; #include #include #include #include USING_NAMESPACE_PBORI struct Fmonfac { Fmonfac(const BoolePolyRing& input_ring = BoolePolyRing(5)): ring(input_ring), bexp(BooleExponent().change(1)), x(0, input_ring), y(1, input_ring), z(2, input_ring), v(3, input_ring), w(4, input_ring) { BOOST_TEST_MESSAGE( "setup fixture" ); ring.setVariableName(0, "x"); ring.setVariableName(1, "y"); ring.setVariableName(2, "z"); ring.setVariableName(3, "v"); ring.setVariableName(4, "w"); } ~Fmonfac() { BOOST_TEST_MESSAGE( "teardown fixture" ); } BoolePolyRing ring; BooleExponent bexp; BooleVariable x, y, z, v, w; }; BOOST_FIXTURE_TEST_SUITE(MonomialFactoryTest, Fmonfac ) BOOST_AUTO_TEST_CASE(test_constructors) { MonomialFactory factory(ring); MonomialFactory factory_copy(factory); BOOST_CHECK_EQUAL(factory.parent().hash(), ring.hash()); BOOST_CHECK_EQUAL(factory_copy.parent().hash(), ring.hash()); } BOOST_AUTO_TEST_CASE(test_pseudo_constructors) { MonomialFactory factory(ring); BOOST_TEST_MESSAGE( "Constant monomials..." ); BOOST_CHECK_EQUAL(factory(), BooleConstant(true)); BOOST_TEST_MESSAGE( "Polynomials from other types (variables, exponents, rings)..." ); BOOST_CHECK_EQUAL(factory(x), x); BOOST_CHECK_EQUAL(factory(bexp, ring), y); BOOST_CHECK_EQUAL(factory(bexp), y); BOOST_CHECK_EQUAL(factory(BooleExponent(),ring), BooleMonomial(ring)); BOOST_CHECK_EQUAL(factory(BooleExponent()), BooleMonomial(ring)); BOOST_CHECK_EQUAL(factory(ring), BooleConstant(true)); BOOST_CHECK_EQUAL(factory(), BooleConstant(true)); BooleExponent exponent; exponent.insert(4); exponent.insert(0); BooleMonomial monom = factory(exponent, ring); output_test_stream output; output << monom; BOOST_CHECK(output.is_equal("x*w")); monom = factory(exponent); output << monom; BOOST_CHECK(output.is_equal("x*w")); exponent.insert(5); BOOST_CHECK_THROW(factory(exponent, ring), PBoRiError); BOOST_CHECK_THROW(factory(exponent), PBoRiError); } BOOST_AUTO_TEST_SUITE_END() BRiAl-1.2.12/tests/PBoRiErrorTest.cc000066400000000000000000000037111436062512100170260ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file PBoRiErrorTest.cc * * @author Ket Kalda, Alexander Dreyer * @date 2011-02-08 * * boost/test-driven unit test * * @par Copyright: * (c) 2011 by The PolyBoRi Team * **/ //***************************************************************************** #include #include #if BOOST_VERSION < 107100 #include #else #include #endif using boost::test_tools::output_test_stream; #include #include USING_NAMESPACE_PBORI struct Ferror { Ferror() { BOOST_TEST_MESSAGE( "setup fixture" ); } ~Ferror() { BOOST_TEST_MESSAGE( "teardown fixture" ); } }; BOOST_FIXTURE_TEST_SUITE(PBoRiErrorTestSuite, Ferror ) BOOST_AUTO_TEST_CASE(test_text) { BOOST_TEST_MESSAGE("text"); for(unsigned i=0; i<=CTypes::last_error; i++) { try { throw PBoRiError(i); } catch (PBoRiError e) { BOOST_CHECK_EQUAL(e.text(), CErrorInfo::text(i)); } } try { throw PBoRiError(-1); } catch (PBoRiError e) { BOOST_CHECK_EQUAL(e.text(), CErrorInfo::text(-1)); } } BOOST_AUTO_TEST_CASE(test_what) { BOOST_TEST_MESSAGE("what"); for(unsigned i=0; i<=CTypes::last_error; i++) { try { throw PBoRiError(i); } catch (PBoRiError e) { BOOST_CHECK_EQUAL(e.what(), CErrorInfo::text(i)); } } try { throw PBoRiError(-1); } catch (PBoRiError e) { BOOST_CHECK_EQUAL(e.what(), CErrorInfo::text(-1)); } } BOOST_AUTO_TEST_CASE(test_code) { BOOST_TEST_MESSAGE("code"); for(unsigned i=0; i<=CTypes::last_error; i++) { try { throw PBoRiError(i); } catch (PBoRiError e) { BOOST_CHECK_EQUAL(e.code(), i); } } try { throw PBoRiError(-1); } catch (PBoRiError e) { BOOST_CHECK_EQUAL(e.code(), -1); } } BOOST_AUTO_TEST_SUITE_END() BRiAl-1.2.12/tests/PolynomialFactoryTest.cc000066400000000000000000000074541436062512100205240ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file PolynomialFactoryTest.cc * * @author Alexander Dreyer * @date 2011-05-05 * * boost/test-driven unit test * * @par Copyright: * (c) 2011 by The PolyBoRi Team * **/ //***************************************************************************** #include #include #if BOOST_VERSION < 107100 #include #else #include #endif using boost::test_tools::output_test_stream; #include #include #include #include #include #include USING_NAMESPACE_PBORI struct Fpolyfac { Fpolyfac(const BoolePolyRing& input_ring = BoolePolyRing(5)): ring(input_ring), bexp(BooleExponent().change(1)), x(0, input_ring), y(1, input_ring), z(2, input_ring), v(3, input_ring), w(4, input_ring), bset(1, input_ring.one(), input_ring.zero()) { BOOST_TEST_MESSAGE( "setup fixture" ); ring.setVariableName(0, "x"); ring.setVariableName(1, "y"); ring.setVariableName(2, "z"); ring.setVariableName(3, "v"); ring.setVariableName(4, "w"); } ~Fpolyfac() { BOOST_TEST_MESSAGE( "teardown fixture" ); } BoolePolyRing ring; BooleExponent bexp; BooleVariable x, y, z, v, w; BooleSet bset; }; BOOST_FIXTURE_TEST_SUITE(PolynomialFactoryTest, Fpolyfac ) BOOST_AUTO_TEST_CASE(test_constructors) { PolynomialFactory factory(ring); PolynomialFactory factory_copy(factory); BOOST_CHECK_EQUAL(factory.parent().hash(), ring.hash()); BOOST_CHECK_EQUAL(factory_copy.parent().hash(), ring.hash()); } BOOST_AUTO_TEST_CASE(test_pseudo_constructors) { PolynomialFactory factory(ring); BOOST_TEST_MESSAGE( "Constant monomials..." ); BOOST_CHECK_EQUAL(factory(), BooleConstant(false)); BOOST_TEST_MESSAGE( "Polynomials from other types (variables, exponents, rings)..." ); BOOST_CHECK_EQUAL(factory(x), x); BOOST_CHECK_EQUAL(factory(bexp, ring), y); BOOST_CHECK_EQUAL(factory(bexp), y); BOOST_CHECK_EQUAL(factory(BooleExponent(), ring), BoolePolynomial(1, ring)); BOOST_CHECK_EQUAL(factory(BooleExponent()), BoolePolynomial(1, ring)); BOOST_CHECK_EQUAL(factory(ring), BooleConstant(false)); BOOST_CHECK_EQUAL(factory(z), BooleVariable(2, ring)); BOOST_CHECK_EQUAL(factory(0), BooleConstant(false)); BOOST_CHECK_EQUAL(factory(2), BooleConstant(false)); BOOST_CHECK_EQUAL(factory(4), BooleConstant(false)); BOOST_CHECK_EQUAL(factory(1), BooleConstant(true)); BOOST_CHECK_EQUAL(factory(3), BooleConstant(true)); BOOST_CHECK_EQUAL(factory(5), BooleConstant(true)); BOOST_CHECK_EQUAL(factory(0, ring), BooleConstant(false)); BOOST_CHECK_EQUAL(factory(2, ring), BooleConstant(false)); BOOST_CHECK_EQUAL(factory(4, ring), BooleConstant(false)); BOOST_CHECK_EQUAL(factory(1, ring), BooleConstant(true)); BOOST_CHECK_EQUAL(factory(3, ring), BooleConstant(true)); BOOST_CHECK_EQUAL(factory(5, ring), BooleConstant(true)); BOOST_CHECK_EQUAL(factory(bset), BoolePolynomial(bset)); BOOST_CHECK_EQUAL(factory(bset.navigation(), ring), BoolePolynomial(bset)); BOOST_CHECK_EQUAL(factory(bset.navigation()), BoolePolynomial(bset)); BooleExponent exponent; exponent.insert(4); exponent.insert(0); BoolePolynomial monom = factory(exponent, ring); output_test_stream output; output << monom; BOOST_CHECK(output.is_equal("x*w")); monom = factory(exponent); output << monom; BOOST_CHECK(output.is_equal("x*w")); exponent.insert(5); BOOST_CHECK_THROW(factory(exponent, ring), PBoRiError); BOOST_CHECK_THROW(factory(exponent), PBoRiError); } BOOST_AUTO_TEST_SUITE_END() BRiAl-1.2.12/tests/PseudoLongProductTest.cc000066400000000000000000000064741436062512100204720ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file PseudoLongProductTest.cc * * @author Alexander Dreyer * @date 2012-02-24 * * boost/test-driven unit test * * @par Copyright: * (c) 2012 by The PolyBoRi Team * **/ //***************************************************************************** #include #include #if BOOST_VERSION < 107100 #include #else #include #endif using boost::test_tools::output_test_stream; #include #include #include USING_NAMESPACE_PBORI USING_NAMESPACE_PBORIGB struct Fdelayedlongprod { typedef unsigned long long_type; unsigned nhalf; unsigned nbits; Fdelayedlongprod(): nhalf(sizeof(long_type)*4), nbits(sizeof(long_type)*8) { BOOST_TEST_MESSAGE( "setup fixture" ); } ~Fdelayedlongprod() { BOOST_TEST_MESSAGE( "teardown fixture" ); } }; BOOST_FIXTURE_TEST_SUITE(PseudoLongProductTest, Fdelayedlongprod) BOOST_AUTO_TEST_CASE(test_less) { BOOST_TEST_MESSAGE( "operator<..." ); BOOST_CHECK_EQUAL((PseudoLongProduct(long_type(-1), long_type(-1)) > PseudoLongLong()), false); BOOST_CHECK_EQUAL((PseudoLongProduct(long_type(-1), long_type(-1)) > PseudoLongLong()), false); BOOST_CHECK_EQUAL((PseudoLongProduct(long_type(-1), long_type(-1)) > PseudoLongLong()), true); BOOST_CHECK_EQUAL((PseudoLongProduct(long_type(2)<< nhalf, long_type(2)<< nhalf) > PseudoLongLong<3,long_type(-1)>()), true); BOOST_CHECK_EQUAL((PseudoLongProduct(long_type(2)<< nhalf , long_type(2)<< nhalf ) > PseudoLongLong<4,0>()), false); BOOST_CHECK_EQUAL((PseudoLongProduct(long_type(2)<< nhalf, long_type(2)<< nhalf )> PseudoLongLong<4,1>()), false); BOOST_CHECK_EQUAL((PseudoLongProduct(5, 7) > 34), true); BOOST_CHECK_EQUAL((PseudoLongProduct(5, 7) > 35), false); BOOST_CHECK_EQUAL((PseudoLongProduct(5, 7) > 36), false); BOOST_CHECK_EQUAL((PseudoLongProduct(long_type(5)< long_type(34)< long_type(35)< long_type(36)< long_type(34)<<(nbits - 8)), true); BOOST_CHECK_EQUAL((PseudoLongProduct(long_type(5)<<(nhalf - 4), long_type(7)<<(nhalf-4)) > long_type(35)<<(nbits - 8)), false); BOOST_CHECK_EQUAL((PseudoLongProduct(long_type(5)<<(nhalf - 4), long_type(7)<<(nhalf-4)) > long_type(36)<<(nbits - 8)), false); BOOST_CHECK_EQUAL((PseudoLongProduct(long_type(3)<<16, long_type(1)<<16) > Long64From32BitsPair<4, 0>::get()), false); BOOST_CHECK_EQUAL((PseudoLongProduct(long_type(4)<<16, long_type(1)<<16) > Long64From32BitsPair<4, 0>::get()), false); BOOST_CHECK_EQUAL((PseudoLongProduct(long_type(5)<<16, long_type(1)<<16) > Long64From32BitsPair<4, 0>::get()), true); } BOOST_AUTO_TEST_SUITE_END() BRiAl-1.2.12/tests/SetFactoryTest.cc000066400000000000000000000047371436062512100171350ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file SetFactoryTest.cc * * @author Alexander Dreyer * @date 2011-05-05 * * boost/test-driven unit test * * @par Copyright: * (c) 2011 by The PolyBoRi Team * **/ //***************************************************************************** #include #include #if BOOST_VERSION < 107100 #include #else #include #endif using boost::test_tools::output_test_stream; #include #include #include USING_NAMESPACE_PBORI struct Fsetfac { Fsetfac(const BoolePolyRing& input_ring = BoolePolyRing(5)): ring(input_ring), x(0, input_ring), y(1, input_ring), z(2, input_ring), v(3, input_ring), w(4, input_ring) { BOOST_TEST_MESSAGE( "setup fixture" ); ring.setVariableName(0, "x"); ring.setVariableName(1, "y"); ring.setVariableName(2, "z"); ring.setVariableName(3, "v"); ring.setVariableName(4, "w"); } ~Fsetfac() { BOOST_TEST_MESSAGE( "teardown fixture" ); } BoolePolyRing ring; BooleVariable x, y, z, v, w; }; BOOST_FIXTURE_TEST_SUITE(SetFactoryTest, Fsetfac ) BOOST_AUTO_TEST_CASE(test_constructors) { SetFactory factory(ring); SetFactory factory_copy(factory); BOOST_CHECK_EQUAL(factory.parent().hash(), ring.hash()); BOOST_CHECK_EQUAL(factory_copy.parent().hash(), ring.hash()); } BOOST_AUTO_TEST_CASE(test_pseudo_constructors) { SetFactory factory(ring); BOOST_TEST_MESSAGE( "Constant sets..." ); BOOST_CHECK_EQUAL(factory(), ring.zero()); BOOST_CHECK_EQUAL(factory(ring), ring.zero()); BOOST_TEST_MESSAGE( "Sets from navigators..." ); BoolePolynomial poly = y + y*z + z + v; BOOST_CHECK_EQUAL(factory(poly.navigation(), ring), poly.set()); BOOST_CHECK_EQUAL(factory(poly.navigation()), poly.set()); BOOST_CHECK_EQUAL(factory(*poly.navigation(), poly.navigation().thenBranch(), poly.navigation().elseBranch(), ring), poly.set()); BOOST_CHECK_EQUAL(factory(*poly.navigation(), poly.navigation().thenBranch(), poly.navigation().elseBranch()), poly.set()); BOOST_TEST_MESSAGE( "Combine sets..." ); BOOST_CHECK_EQUAL(factory(*poly.navigation(), poly.set().subset1(*poly.navigation()), poly.set().subset0(*poly.navigation())), poly.set()); } BOOST_AUTO_TEST_SUITE_END() BRiAl-1.2.12/tests/VariableFactoryTest.cc000066400000000000000000000040541436062512100201170ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file VariableFactoryTest.cc * * @author Alexander Dreyer * @date 2011-05-05 * * boost/test-driven unit test * * @par Copyright: * (c) 2011 by The PolyBoRi Team * **/ //***************************************************************************** #include #include #if BOOST_VERSION < 107100 #include #else #include #endif using boost::test_tools::output_test_stream; #include #include #include USING_NAMESPACE_PBORI struct Fvarfac { Fvarfac(const BoolePolyRing& input_ring = BoolePolyRing(50)): ring(input_ring), x(0, input_ring), y(1, input_ring), z(2, input_ring), v(3, input_ring), w(4, input_ring) { BOOST_TEST_MESSAGE( "setup fixture" ); ring.setVariableName(0, "x"); ring.setVariableName(1, "y"); ring.setVariableName(2, "z"); ring.setVariableName(3, "v"); ring.setVariableName(4, "w"); } ~Fvarfac() { BOOST_TEST_MESSAGE( "teardown fixture" ); } BoolePolyRing ring; BooleVariable x, y, z, v, w; }; BOOST_FIXTURE_TEST_SUITE(VariableFactoryTest, Fvarfac ) BOOST_AUTO_TEST_CASE(test_constructors) { VariableFactory factory(ring); VariableFactory factory_copy(factory); BOOST_CHECK_EQUAL(factory.parent().hash(), ring.hash()); BOOST_CHECK_EQUAL(factory_copy.parent().hash(), ring.hash()); } BOOST_AUTO_TEST_CASE(test_pseudo_constructors) { VariableFactory factory(ring); BOOST_TEST_MESSAGE( "Default Variables..." ); BOOST_CHECK_EQUAL(factory(), BooleVariable(0, ring)); BOOST_CHECK_EQUAL(factory(ring), BooleVariable(0, ring)); BOOST_TEST_MESSAGE( "i-th Variable..." ); for (int idx = 0; idx != 17; ++idx) { BOOST_CHECK_EQUAL(factory(idx), BooleVariable(idx, ring)); BOOST_CHECK_EQUAL(factory(idx, ring), BooleVariable(idx, ring)); } } BOOST_AUTO_TEST_SUITE_END() BRiAl-1.2.12/tests/spolyTest.cc000066400000000000000000000031701436062512100162060ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file spolyTest.cc * * @author Ket Kalda, Alexander Dreyer * @date 2011-03-15 * * boost/test-driven unit test * * @par Copyright: * (c) 2011 by The PolyBoRi Team * **/ //***************************************************************************** #include #include #if BOOST_VERSION < 107100 #include #else #include #endif using boost::test_tools::output_test_stream; #include USING_NAMESPACE_PBORI struct Fspoly { Fspoly(const BoolePolyRing& input_ring = BoolePolyRing(5)): ring(input_ring), x(BooleVariable(0, input_ring)), y(BooleVariable(1, input_ring)), z(BooleVariable(2, input_ring)), v(BooleVariable(3, input_ring)), w(BooleVariable(4, input_ring)) { BOOST_TEST_MESSAGE( "setup fixture" ); } ~Fspoly() { BOOST_TEST_MESSAGE( "teardown fixture" ); } BoolePolyRing ring; BooleMonomial x, y, z, v, w; }; BOOST_FIXTURE_TEST_SUITE(spolyTestSuite, Fspoly ) BOOST_AUTO_TEST_CASE(test_spoly) { BOOST_TEST_MESSAGE("term_spoly"); BoolePolynomial poly1 = x*y + x*z + y + w; BoolePolynomial poly2 = x*w + w; BoolePolynomial theSpoly = spoly(poly1, poly2); BOOST_CHECK_EQUAL(theSpoly, x*z*w + w); BOOST_CHECK_THROW(spoly(BoolePolynomial(ring), BoolePolynomial(ring)), PBoRiGenericError); BOOST_CHECK_EQUAL(spoly(BooleMonomial(ring), BooleMonomial(ring)),BoolePolynomial(ring)); } BOOST_AUTO_TEST_SUITE_END() BRiAl-1.2.12/tests/term_accumulateTest.cc000066400000000000000000000104121436062512100202070ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file term_accumulateTest.cc * * @author Ket Kalda, Alexander Dreyer * @date 2011-03-15 * * boost/test-driven unit test * * @par Copyright: * (c) 2011 by The PolyBoRi Team * **/ //***************************************************************************** #include #include #if BOOST_VERSION < 107100 #include #else #include #endif using boost::test_tools::output_test_stream; #include USING_NAMESPACE_PBORI struct Ftermaccu { Ftermaccu(): ring(5), x(ring), y(ring), z(ring), v(ring), w(ring) { BOOST_TEST_MESSAGE( "setup fixture" ); x = (BooleVariable(0, ring)); y = (BooleVariable(1, ring)); z = (BooleVariable(2, ring)); v = (BooleVariable(3, ring)); w = (BooleVariable(4, ring)); } ~Ftermaccu() { BOOST_TEST_MESSAGE( "teardown fixture" ); } BoolePolyRing ring; BooleMonomial x, y, z, v, w; }; BOOST_FIXTURE_TEST_SUITE(term_accumulateTestSuite, Ftermaccu ) BOOST_AUTO_TEST_CASE(test_termaccu) { BOOST_TEST_MESSAGE("term_accumulate"); BoolePolynomial poly = x*y +z +x*z +y*z; BoolePolynomial result = term_accumulate(poly.begin(), poly.end(), BoolePolynomial(ring)); BOOST_CHECK_EQUAL(poly, result); // Only meant to work for lexicographical ordering, so same result result = term_accumulate(poly.orderedBegin(), poly.orderedEnd(), BoolePolynomial(ring)); BOOST_CHECK_EQUAL(poly, result); // Sophisticated accumulation BoolePolynomial::ordered_iterator start(poly.orderedBegin()), start2(poly.orderedBegin()); ++start; start2 = start;++start2; ++start2; result = std::accumulate(start, start2, BoolePolynomial(0, ring)); BoolePolynomial result2 = term_accumulate(start, start2, BoolePolynomial(0, ring)); BOOST_CHECK_EQUAL(result, result2); result2 = term_accumulate(start.begin(), start.end(), start.navigation(), start2.begin(), start2.end(), BoolePolynomial(0, ring)); BOOST_CHECK_EQUAL(result, result2); // Lower summing 1) poly = x*z + x*w+ y*z + y*w + y; start = poly.orderedBegin();++start; start2 = start;++start2;++start2; result = lower_term_accumulate(start.navigation(), start2.begin(), start2.end(), BoolePolynomial(0, ring)); BOOST_CHECK_EQUAL(result, x*z + x*w+ y*z); result = term_accumulate(start, start2, BoolePolynomial(0, ring)); BOOST_CHECK_EQUAL(result, x*w+ y*z); // Lower summing 2) poly = x*y +x*z +y*z + 1; start = poly.orderedBegin();++start; start2 = start;++start2;++start2; result = term_accumulate(start, start2, BoolePolynomial(0, ring)); BOOST_CHECK_EQUAL(result, x*z +y*z); ++start2; result = term_accumulate(start, start2, BoolePolynomial(0, ring)); BOOST_CHECK_EQUAL(result, x*z +y*z + 1); } BOOST_AUTO_TEST_CASE(test_termaccu_other) { BOOST_TEST_MESSAGE("term_accumulate other orderings"); BoolePolynomial poly = x*y +z +x*z +y*z; for (unsigned ordernum = 1; ordernum <= 4; ++ordernum) { BoolePolyRing ring_other = ring.clone(); // ring_other.activate(); ring_other.changeOrdering(ordernum); BoolePolynomial init(ring_other.zero()); BoolePolynomial poly_other = ring_other.coerce(poly); BoolePolynomial result = term_accumulate(poly_other.begin(), poly_other.end(), init); BOOST_CHECK_EQUAL(poly_other, result); // Sophisticated accumulation BoolePolynomial::ordered_iterator start_other(poly_other.orderedBegin()), last_other(poly_other.orderedBegin()); ++start_other; last_other = start_other; ++last_other; ++last_other; BoolePolynomial::ordered_iterator start(poly.orderedBegin()), last(poly.orderedBegin()); while ((*start) != (*start_other) ) ++start; while ((*last) != (*last_other) ) ++last; result = term_accumulate(start_other, last_other, init); /// Term accumulate sums up in a lexicographical way BOOST_CHECK_EQUAL(result, std::accumulate(start, last, init)); } } BOOST_AUTO_TEST_SUITE_END() BRiAl-1.2.12/tests/unittests.cc000066400000000000000000000007151436062512100162440ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file unittests.cc * * @author Alexander Dreyer * @date 2010-09-24 * * boost/test-driven unit test * * @par Copyright: * (c) 2010 by The PolyBoRi Team * **/ //***************************************************************************** #define BOOST_TEST_MODULE UnitTests #include // Main(), etc automatically generated BRiAl-1.2.12/tests/weak_pointersTest.cc000066400000000000000000000076521436062512100177230ustar00rootroot00000000000000// -*- c++ -*- //***************************************************************************** /** @file CWeakPtrFacadeTest.cc * * @author Alexander Dreyer * @date 2011-06-14 * * boost/test-driven unit test * * @par Copyright: * (c) 2011 by The PolyBoRi Team * **/ //***************************************************************************** #include #include #if BOOST_VERSION < 107100 #include #else #include #endif using boost::test_tools::output_test_stream; #include #include USING_NAMESPACE_PBORI struct FWeakptrFac { FWeakptrFac() { BOOST_TEST_MESSAGE( "setup fixture" ); } ~FWeakptrFac() { BOOST_TEST_MESSAGE( "teardown fixture" ); } }; class uses_weakptr : public CWeakPtrFacade { public: uses_weakptr(int data = 17): CWeakPtrFacade(), m_data(data) {} int value() const { return m_data; } uses_weakptr* internal_ptr() const { return *CWeakPtrFacade::m_data; } private: int m_data; }; BOOST_FIXTURE_TEST_SUITE(CWeakPtrFacadeTestSuite, FWeakptrFac) BOOST_AUTO_TEST_CASE(test_construction) { BOOST_TEST_MESSAGE( "constructors/destructors..." ); uses_weakptr* ptrinstance = new uses_weakptr(11); CWeakPtr ptrbase(*ptrinstance); BOOST_CHECK_EQUAL(ptrinstance->internal_ptr(), ptrinstance); BOOST_CHECK_EQUAL(ptrbase.operator->(), ptrinstance); CWeakPtr outercopy(ptrbase); BOOST_CHECK_EQUAL(outercopy.operator->(), ptrinstance); uses_weakptr innercopy(*ptrinstance); BOOST_CHECK_EQUAL(innercopy.internal_ptr(), &innercopy); BOOST_CHECK_NE(innercopy.internal_ptr(), ptrinstance->internal_ptr()); delete ptrinstance; BOOST_CHECK_EQUAL(ptrbase, false); BOOST_CHECK_EQUAL(outercopy, false); BOOST_CHECK_THROW(ptrbase.operator->(), std::exception); BOOST_CHECK_THROW(outercopy.operator->(), std::exception); } BOOST_AUTO_TEST_CASE(test_operations) { BOOST_TEST_MESSAGE( "pointer/deref/bool operation..." ); uses_weakptr ptrinstance(19); BOOST_CHECK_EQUAL(ptrinstance.value(), 19); // check whether class does // something useful CWeakPtr ptrbase(ptrinstance); BOOST_CHECK_EQUAL(ptrbase.operator->(), &ptrinstance); uses_weakptr* ptrinst1 = new uses_weakptr(13); CWeakPtr ptrbase1(*ptrinst1); BOOST_CHECK_EQUAL(ptrbase1.operator->(), ptrinst1); BOOST_CHECK_EQUAL(ptrbase1->value(), 13); BOOST_CHECK_EQUAL(&(*ptrbase1), ptrinst1); BOOST_CHECK_EQUAL((*ptrbase1).value(), 13); delete ptrinst1; BOOST_CHECK_EQUAL(ptrbase1, false); BOOST_CHECK_THROW(ptrbase1.operator->(), std::exception); BOOST_CHECK_THROW(*ptrbase1, std::exception); ptrinst1 = new uses_weakptr(23); ptrbase1 = CWeakPtr(*ptrinst1); BOOST_CHECK_EQUAL(ptrbase1.operator->(), ptrinst1); uses_weakptr newinst(*ptrinst1); delete ptrinst1; BOOST_CHECK_EQUAL(newinst.value(), 23); } BOOST_AUTO_TEST_CASE(test_ring) { BOOST_TEST_MESSAGE( "Primary usability check..." ); BoolePolyRing ring(17); WeakRingPtr weakptr(ring); BoolePolyRing ringnew(*weakptr); BOOST_CHECK_EQUAL(ring.id(), ringnew.id()); BOOST_TEST_MESSAGE( "we can get a strong reference..." ); BoolePolyRing* pring = new BoolePolyRing(17); weakptr = WeakRingPtr(*pring); ringnew = BoolePolyRing(*weakptr); long store_id = pring->id(); BOOST_CHECK_EQUAL(store_id, ringnew.id()); delete pring; BOOST_CHECK_EQUAL(store_id, ringnew.id()); BOOST_TEST_MESSAGE( "a weak reference throws if invalid..." ); pring = new BoolePolyRing(17); weakptr = WeakRingPtr(*pring); store_id = pring->id(); BOOST_CHECK_EQUAL(store_id, BoolePolyRing(*weakptr).id()); delete pring; BOOST_CHECK_EQUAL(weakptr, false); BOOST_CHECK_THROW((*weakptr), std::exception); } BOOST_AUTO_TEST_SUITE_END()